~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 1BCB7267BE28D21F98C454DF2BCCC680__1714601220 ✰
Заголовок документа оригинал.:
✰ Reduced instruction set computer - Wikipedia ✰
Заголовок документа перевод.:
✰ Компьютер с сокращенным набором команд — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Reduced_instruction_set_computer ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/1b/80/1bcb7267be28d21f98c454df2bccc680.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/1b/80/1bcb7267be28d21f98c454df2bccc680__translat.html ✰
Дата и время сохранения документа:
✰ 20.06.2024 18:07:55 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 2 May 2024, at 01:07 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Компьютер с сокращенным набором команд — Википедия Jump to content

Компьютер с сокращенным набором команд

Из Википедии, бесплатной энциклопедии

Процессор Sun Microsystems UltraSPARC представляет собой тип RISC-микропроцессора.

В электронике и информатике компьютер с сокращенным набором команд ( RISC ) — это компьютерная архитектура , предназначенная для упрощения отдельных инструкций, данных компьютеру для выполнения задач. По сравнению с инструкциями, данными компьютеру со сложным набором команд (CISC), компьютеру RISC может потребоваться больше инструкций (больше кода) для выполнения задачи, поскольку отдельные инструкции написаны в более простом коде. Цель состоит в том, чтобы компенсировать необходимость обработки большего количества инструкций за счет увеличения скорости каждой инструкции, в частности, за счет реализации конвейера команд , который может быть проще реализовать при наличии более простых инструкций. [1]

Ключевая концепция работы компьютера RISC заключается в том, что каждая инструкция выполняет только одну функцию (например, копирование значения из памяти в регистр). Компьютер RISC обычно имеет множество (16 или 32) высокоскоростных регистров общего назначения с архитектурой загрузки-хранения, в которой код инструкций регистр-регистр (для выполнения арифметических операций и тестов) отделен от инструкций, предоставляющих доступ. в основную память компьютера. Конструкция ЦП позволяет компьютерам RISC использовать несколько простых режимов адресации. [2] и предсказуемое время выполнения инструкций, что упрощает проектирование системы в целом.

Концептуальные разработки компьютерной архитектуры RISC начались с проекта IBM 801 в конце 1970-х годов, но они не были сразу внедрены в эксплуатацию. Дизайнеры из Калифорнии подхватили концепцию 801 в двух плодотворных проектах: Stanford MIPS и Berkeley RISC . Они были коммерциализированы в 1980-х годах как системы MIPS и SPARC . В конечном итоге IBM разработала проекты RISC, основанные на дальнейшей работе над концепцией 801, архитектурой IBM POWER , PowerPC и Power ISA . По мере развития проектов во многих подобных проектах, созданных в конце 1980-х и начале 1990-х годов, были созданы центральные процессоры, которые увеличили коммерческую полезность Unix рабочих станций и встроенных процессоров в лазерных принтерах , маршрутизаторах и подобных продуктах.

На рынке миникомпьютеров компании, в число которых входили Celerity Computing , Pyramid Technology и Ridge Computers, в начале 1980-х годов начали предлагать системы, разработанные в соответствии с RISC или RISC-подобными принципами. [3] [4] [5] [6] [7] Некоторые из этих проектов начинались с использования микропроцессоров RISC.

Разновидности конструкции процессора RISC включают процессор ARC , DEC Alpha , AMD Am29000 , архитектуру ARM , Atmel AVR , Blackfin , Intel i860 , Intel i960 , LoongArch , Motorola 88000 , архитектуру MIPS, PA-RISC , Power ISA, RISC-V , SuperH и SPARC. RISC-процессоры используются в суперкомпьютерах , таких как Fugaku . [8]

и развитие История

Ряд систем, начиная с 1960-х годов, считаются первой RISC-архитектурой, частично основанной на использовании подхода «загрузка-сохранение» . [9] Термин RISC был придуман Дэвидом Паттерсоном из проекта RISC в Беркли , хотя аналогичные концепции появлялись и раньше. [10]

CDC 6600 , разработанный Сеймуром Креем в 1964 году, использовал архитектуру загрузки-сохранения только с двумя режимами адресации (регистр + регистр и регистр + немедленная константа) и 74 кодами операций, при этом базовый тактовый цикл был в 10 раз быстрее, чем время доступа к памяти. . [11] говорит , что отчасти благодаря оптимизированной архитектуре загрузки-хранения CDC 6600 Джек Донгарра ее можно считать предшественником современных RISC-систем, хотя для разработки современной RISC-системы необходимо преодолеть ряд других технических препятствий. [12]

IBM 801 [ править ]

Микропроцессор IBM PowerPC 601 RISC.

Майкл Дж. Флинн рассматривает первую RISC-систему как конструкцию IBM 801 . [2] начато в 1975 году Джоном Коком и завершено в 1980 году. Модель 801 была разработана в результате попытки создать 24-битный высокоскоростной процессор, который можно было бы использовать в качестве основы для цифрового телефонного коммутатора . Чтобы достичь своей цели по переключению 1 миллиона вызовов в час (300 в секунду), они подсчитали, что процессору требуется производительность порядка 12 миллионов инструкций в секунду (MIPS). [13] по сравнению с их самым быстрым мейнфреймом того времени, 370/168 , который работал со скоростью 3,5 MIPS. [14]

Дизайн был основан на изучении обширной коллекции статистических данных IBM, полученных от их клиентов. Это продемонстрировало, что код в настройках высокой производительности широко использовал регистры процессора и что они часто заканчивались. Это предполагало, что дополнительные регистры улучшат производительность. Кроме того, они заметили, что компиляторы обычно игнорировали подавляющее большинство доступных инструкций, особенно режимы ортогональной адресации. Вместо этого они выбирали самую быструю версию любой заданной инструкции, а затем создавали с ее помощью небольшие программы. Это предполагало, что большинство инструкций можно удалить, не затрагивая результирующий код. Эти два вывода сработали согласованно; Удаление инструкций позволило бы сделать коды операций инструкций короче, освободив биты в командном слове, которые затем можно было бы использовать для выбора среди большего набора регистров. [13]

Программа телефонного коммутатора была отменена в 1975 году, но к тому времени команда продемонстрировала, что та же конструкция обеспечивает значительный прирост производительности при работе практически с любым кодом. В ходе моделирования они показали, что компилятор, настроенный на использование регистров везде, где это возможно, будет выполнять код примерно в три раза быстрее, чем традиционные конструкции. Несколько удивительно, но тот же код будет работать примерно на 50% быстрее даже на существующих машинах благодаря улучшенному использованию регистров. На практике их экспериментальный компилятор PL/8, слегка урезанная версия PL/I , последовательно создавал код, который работал гораздо быстрее на существующих мэйнфреймах. [13]

32-битная версия 801 в конечном итоге была выпущена в однокристальной форме под названием IBM ROMP в 1981 году, что расшифровывалось как «Исследовательский OPD [Подразделение офисной продукции] Микропроцессор». [15] Этот ЦП был разработан для «мини-задач» и нашел применение в периферийных интерфейсах и контроллерах каналов на более поздних компьютерах IBM. Он также использовался в качестве ЦП в ПК IBM RT в 1986 году, который оказался коммерческим провалом. [16] Хотя 801 не получил широкого распространения в своей первоначальной форме, он вдохновил множество исследовательских проектов, в том числе в IBM, которые в конечном итоге привели к созданию архитектуры IBM POWER . [17] [18]

RISC и MIPS [ править ]

К концу 1970-х годов модель 801 стала широко известна в отрасли. Это совпало с появлением новых технологий производства, которые позволили выйти на рынок более сложным чипам. В Zilog Z80 1976 года было 8000 транзисторов, а в Motorola 68000 (68k) 1979 года — 68000. Эти новые разработки обычно использовали свою вновь обретенную сложность для расширения набора команд и придания ему большей ортогонализации. Большинство из них, например 68k, использовали для этого микрокод , считывая инструкции и повторно реализуя их как последовательность более простых внутренних инструкций. В 68к полный использовалось 1/3 . Для этого микрокодирования транзисторов [19]

В 1979 году Дэвида Паттерсона отправили в творческий отпуск из Калифорнийского университета в Беркли, чтобы помочь команде западного побережья DEC улучшить микрокод VAX. Паттерсон был поражен сложностью процесса кодирования и пришел к выводу, что он несостоятелен. [20] Сначала он написал статью о способах улучшения микрокодирования, но позже передумал и решил, что проблема заключается в самом микрокоде. При финансовой поддержке программы DARPA VLSI Паттерсон начал работу над проектом RISC в Беркли . Программа, практически неизвестная сегодня, привела к огромному количеству достижений в разработке, производстве и даже компьютерной графике микросхем. Рассмотрев множество программ из своего варианта BSD Unix , команда Беркли, как и IBM, обнаружила, что большинство программ не используют большое количество инструкций в 68k. [21]

Ранние работы Паттерсона указали на важную проблему традиционного подхода «чем больше, тем лучше»; даже те инструкции, которые были критически важны для общей производительности, задерживались из-за прохождения через микрокод. Если бы микрокод был удален, программы работали бы быстрее. А поскольку микрокод в конечном итоге взял сложную инструкцию и разбил ее на этапы, не было причин, по которым компилятор не мог бы сделать это вместо этого. Эти исследования показали, что даже без каких-либо других изменений можно создать чип с 1/3 На меньше транзисторов, которые будут работать быстрее. [21] В оригинальной статье RISC-I они отметили: [22]

Пропуск этого дополнительного уровня интерпретации, по-видимому, повышает производительность при одновременном уменьшении размера чипа. [22]

Также было обнаружено, что в реализациях определенных архитектур с микрокодированием сложные операции имеют тенденцию выполняться медленнее, чем последовательность более простых операций, выполняющих то же самое. Частично это было результатом того, что многие разработки выполнялись в спешке, и у них было мало времени на оптимизацию или настройку каждой инструкции; были оптимизированы только те, которые использовались чаще всего, и последовательность этих инструкций могла быть быстрее, чем менее настроенная инструкция, выполняющая эквивалентную операцию, аналогичную этой последовательности. Одним из печально известных примеров была VAX . компания INDEX инструкция. [23]

Работа в Беркли также выявила ряд дополнительных моментов. Среди них был тот факт, что программы тратили значительное количество времени на вызовы и возвраты подпрограмм , и казалось, что существует потенциал для улучшения общей производительности за счет ускорения этих вызовов. Это побудило проектировщиков Беркли выбрать метод, известный как окна регистров , который может значительно улучшить производительность подпрограммы, хотя и за счет некоторой сложности. [22] Они также заметили, что большинство математических инструкций представляют собой простые задания; только 1/3 вычитание . из них действительно выполняли такие операции, как сложение или Но когда такие операции действительно проводились, они, как правило, были медленными. Это привело к гораздо большему вниманию к базовому блоку арифметических данных, в отличие от предыдущих разработок, в которых большая часть чипа была предназначена для управления и микрокодирования. [21]

Получившийся в результате Berkeley RISC был основан на повышении производительности за счет использования конвейерной обработки и агрессивного использования оконного управления регистрами. [23] [22] В традиционном процессоре имеется небольшое количество регистров, и программа может использовать любой регистр в любое время. В процессоре с окнами регистров имеется огромное количество регистров, например 128, но программы могут одновременно использовать только небольшое их количество, например восемь. Программа, которая ограничивает себя восемью регистрами на процедуру, может выполнять очень быстрые вызовы процедур : вызов просто перемещает окно «вниз» на восемь, к набору из восьми регистров, используемых этой процедурой, а возврат перемещает окно назад. [24] В рамках проекта RISC в Беркли в 1982 году был создан процессор RISC-I. Состоящий всего из 44 420 транзисторов (по сравнению со средним показателем около 100 000 в более новых конструкциях CISC того времени), RISC-I содержал всего 32 инструкции, но при этом полностью превосходил любой другой однопроцессорный процессор. дизайн чипа, расчетная производительность которого выше, чем у VAX. [22] В 1983 году они разработали RISC-II с 40 760 транзисторами и 39 инструкциями, который работал в три раза быстрее, чем RISC-I. [22]

Когда проект RISC стал известен в Кремниевой долине , аналогичный проект начался в Стэнфордском университете в 1981 году. Этот проект MIPS вырос из аспирантуры Джона Л. Хеннесси , создал функционирующую систему в 1983 году и мог запускать простые программы, 1984. [25] В подходе MIPS упор делался на агрессивный тактовый цикл и использование конвейера, гарантируя, что он может работать как можно «на полную мощность». [25] За системой MIPS последовала MIPS-X, и в 1984 году Хеннесси и его коллеги основали MIPS Computer Systems для коммерческого производства этой конструкции. [25] [26] В результате этого предприятия в 1985 году была создана новая архитектура, которая также называлась MIPS , и микропроцессор R2000 . [26]

Общая философия концепции RISC получила широкое понимание ко второй половине 1980-х годов, и в 1987 году разработчики MIPS -X сформулировали ее следующим образом:

Целью любого формата инструкций должно быть: 1. простое декодирование, 2. простое декодирование и 3. простое декодирование. Любые попытки улучшить плотность кода за счет производительности процессора следует высмеивать при каждой возможности. [27]

Коммерческий прорыв [ править ]

Прототип чипа RISC-V (2013 г.)

В начале 1980-х годов вокруг концепции RISC существовала значительная неопределенность. Одна из проблем заключалась в использовании памяти; одна инструкция традиционного процессора, такого как Motorola 68k, может быть записана примерно как полдюжины более простых RISC-инструкций. Теоретически это может замедлить работу системы, поскольку она будет тратить больше времени на получение инструкций из памяти. Но к середине 1980-х годов эти концепции стали достаточно зрелыми, чтобы считаться коммерчески жизнеспособными. [16] [25]

Коммерческие разработки RISC начали появляться в середине 1980-х годов. Первый MIPS R2000 появился в январе 1986 года, а вскоре после этого Hewlett-Packard компании появился PA-RISC . в некоторых компьютерах [16] Тем временем проект Беркли стал настолько известным, что в конечном итоге стал названием всей концепции. В 1987 году Sun Microsystems начала поставлять системы с процессором SPARC , непосредственно основанным на системе Berkeley RISC-II. [16] [28] Правительственный комитет США по инновациям в области вычислений и коммуникаций приписывает признание жизнеспособности концепции RISC успеху системы SPARC. [16] Успех SPARC возобновил интерес внутри IBM, которая к 1990 году выпустила новые RISC-системы, а к 1995 году RISC-процессоры стали основой серверной индустрии стоимостью 15 миллиардов долларов. [16]

К концу 1980-х новые конструкции RISC легко превосходили все традиционные конструкции с большим отрывом. В этот момент все остальные поставщики начали собственные разработки RISC. Среди них были DEC Alpha , AMD Am29000 , Intel i860 и i960 , Motorola 88000 , IBM POWER и, чуть позже, IBM/Apple/Motorola PowerPC . Многие из них с тех пор исчезли, поскольку часто не давали конкурентных преимуществ перед другими игроками той же эпохи. Те, что остались, часто используются только на нишевых рынках или как части других систем; Из разработок этих традиционных поставщиков только SPARC и POWER имеют значительный оставшийся рынок. [ нужна цитата ]

Архитектура ARM является иллюстрацией адаптации, сделанной поставщиками RISC для реагирования на меняющиеся конкурентные условия: она впервые была представлена ​​для обеспечения более высокой производительности в настольных компьютерах, таких как Acorn Archimedes , но также была внедрена во встроенные приложения, такие как обработка растровых изображений на лазерных принтерах. [29] ARM в партнерстве с Apple разработала конструкцию с низким энергопотреблением, а затем специализировалась на этом рынке, который в то время был нишей. С развитием мобильных вычислений, особенно после появления iPhone , ARM стал наиболее широко используемым процессором высокого класса на рынке. [ нужны разъяснения ]

Конкуренция между подходами RISC и традиционными CISC также была предметом теоретического анализа в начале 1980-х годов, что привело, например, к « железному закону производительности процессора» .

новая с открытым исходным кодом архитектура набора команд (ISA), RISC-V С 2010 года в Калифорнийском университете в Беркли разрабатывается ​​версия 2 пользовательского пространства ISA. , для исследовательских целей и в качестве бесплатной альтернативы проприетарным ISA. По состоянию на 2014 год исправлена [30] ISA спроектирована с возможностью расширения от базового ядра, достаточного для небольшого встроенного процессора, до суперкомпьютера и облачных вычислений со стандартными расширениями и сопроцессорами, определяемыми разработчиком микросхем. Он был протестирован в кремниевом исполнении с помощью ROCKET SoC , который также доступен в виде процессорного генератора с открытым исходным кодом на языке CHISEL.

дизайна философия Характеристики и

Путаница вокруг определения RISC, возникшая из-за формулировки этого термина, а также тенденция оппортунистически классифицировать процессорные архитектуры с относительно небольшим количеством инструкций (или групп инструкций) как RISC-архитектуры, привели к попыткам определить RISC как философию проектирования. Одна из попыток сделать это выражалась в следующем:

RISC-процессор имеет набор команд, предназначенный для эффективного выполнения конвейерным процессором и генерации кода оптимизирующим компилятором.

Майкл Слейтер, Отчет о микропроцессоре [31]

Философия набора команд [ править ]

Распространенное неправильное понимание фразы «компьютер с сокращенным набором команд» заключается в том, что инструкции просто удаляются, в результате чего получается меньший набор инструкций. [32] Фактически, с течением времени наборы инструкций RISC увеличивались в размерах, и сегодня многие из них имеют больший набор инструкций, чем многие ЦП CISC. [33] [34] CISC IBM System/370 Некоторые RISC-процессоры, такие как PowerPC, имеют наборы команд такого же размера, как, например, ; и наоборот, DEC PDP-8 — очевидно, ЦП CISC, поскольку многие из его инструкций требуют многократного доступа к памяти — имеет только 8 основных инструкций и несколько расширенных инструкций. [35] Термин «сокращенный» в этой фразе был предназначен для описания того факта, что объем работы, выполняемой каждой отдельной инструкцией, сокращается — максимум на один цикл памяти данных — по сравнению со «сложными инструкциями» ЦП CISC, которые могут требовать десятки данных. циклов памяти для выполнения одной инструкции. [36]

термин « архитектура загрузки-хранения» Иногда предпочитают использовать .

Другой способ взглянуть на дебаты RISC/CISC — рассмотреть, что именно становится доступным компилятору. В процессоре CISC аппаратное обеспечение может внутренне использовать регистры и бит флага для реализации одной сложной команды, такой как STRING MOVE, но скройте эти детали от компилятора. Внутренние операции RISC-процессора «открываются для компилятора», что привело к появлению бэкронима «Передать интересные вещи компилятору». [37] [38]

Формат инструкции [ править ]

Большинство RISC-архитектур имеют инструкции фиксированной длины и простое кодирование, что значительно упрощает логику выборки, декодирования и выдачи. Это одна из основных целей подхода RISC. [22]

Частично это возможно только благодаря современному переходу на 32-битные форматы. Например, в типичной программе более 30% всех числовых констант имеют значения 0 или 1, 95% умещаются в один байт, а 99% — в 16-битное значение. [39] Когда компьютеры основывались на 8- или 16-битных словах, было бы сложно немедленно объединить код операции с кодом операции в одном слове памяти, хотя некоторые инструкции, такие как увеличение и уменьшение, делали это неявно, используя другой код операции. Напротив, 32-битная машина имеет достаточно места для кодирования непосредственного значения, и это позволяет избежать необходимости выполнять второе чтение памяти, чтобы получить значение. Вот почему многие RISC-процессоры позволяют кодировать 12- или 13-битную константу непосредственно в командное слово. [22]

Если предположить, что постоянная область составляет 13 бит, как в случае с конструкциями MIPS и RISC, для кодирования команд доступны еще 19 бит. Это оставляет достаточно места для указания как кода операции, так и одного или двух регистров. Операции между регистрами, в основном математические и логические, требуют достаточного количества битов для кодирования двух или трех используемых регистров. Большинство процессоров используют формат трех операндов вида A = B + C, и в этом случае необходимы три номера регистров. Если в процессоре 32 регистра, для каждого требуется 5-битное число, то есть 15 бит. Если один из этих регистров заменяется непосредственным, остается достаточно места для кодирования двух оставшихся регистров и кода операции. Общие инструкции, встречающиеся в системах из нескольких слов, например INC и DEC, которые уменьшают количество слов, которые необходимо прочитать перед выполнением инструкции, в RISC не нужны, поскольку их можно выполнить с помощью одного регистра и непосредственного значения 1. [22]

Исходный формат RISC-I остается каноническим примером этой концепции. Он использует 7 бит для кода операции и 1-битный флаг для условных кодов, следующие 5 бит для регистра назначения и следующие пять бит для первого операнда. Остается 14 бит, первый из которых указывает, содержат ли следующие 13 непосредственное значение или используются только пять из них для обозначения регистра для второго операнда. [22] Более сложным примером является кодировка MIPS, в которой для кода операции использовалось только 6 бит, за которыми следовали два 5-битных регистра. Оставшиеся 16 бит можно использовать двумя способами: один — как 16-битное непосредственное значение или как 5-битное значение сдвига (используется только в операциях сдвига, в противном случае — ноль), а остальные 6 бит — как расширение кода операции. В случае арифметических операций между регистрами код операции был равен 0, а последние 6 битов содержали фактический код; те, которые использовали немедленное значение, использовали обычное поле кода операции спереди. [40]

Одним из недостатков 32-битных инструкций является пониженная плотность кода, что является более неблагоприятной характеристикой для встраиваемых вычислений, чем для рынков рабочих станций и серверов, для которых изначально были разработаны RISC-архитектуры. Чтобы решить эту проблему, некоторые архитектуры, такие как ARM , Power ISA , MIPS , RISC-V и Adapteva Epiphany , имеют дополнительный короткий набор сжатых команд с ограниченным набором функций . Как правило, эти инструкции предоставляют меньшее количество регистров и меньше битов для непосредственных значений и часто используют формат двух инструкций, чтобы исключить один номер регистра из инструкций. Формат с двумя операндами в системе с 16 регистрами требует 8 бит для номеров регистров, оставляя еще 8 для кода операции или других целей. SH5 также следует этому шаблону, хотя и развивается в противоположном направлении, добавляя более длинные 32-битные инструкции к исходной 16-битной кодировке.

Использование оборудования [ править ]

При любом заданном уровне общей производительности RISC-чип обычно будет иметь гораздо меньше транзисторов, предназначенных для основной логики, что изначально позволяло разработчикам увеличить размер набора регистров и повысить внутренний параллелизм. [ нужна цитата ]

Другие особенности RISC-архитектур включают в себя:

  • Одноцикловая операция, описываемая как «быстрое выполнение простых функций, которые доминируют в потоке команд компьютера», таким образом стремясь обеспечить среднюю пропускную способность, приближающуюся к одной инструкции за цикл для любого одного потока команд. [41]
  • Единый формат инструкций, использующий одно слово с кодом операции в одинаковых битовых позициях для упрощения декодирования.
  • Все регистры общего назначения могут одинаково использоваться в качестве источника/назначения во всех инструкциях, что упрощает конструкцию компилятора ( регистры с плавающей запятой часто хранятся отдельно).
  • Простые режимы адресации со сложной адресацией, выполняемой последовательностями команд.
  • Мало типов данных в аппаратном обеспечении ( нет байтовой строки или двоично-десятичного числа [BCD]). например,

RISC-проекты также с большей вероятностью будут использовать гарвардскую модель памяти , в которой поток инструкций и поток данных концептуально разделены; это означает, что изменение памяти, в которой хранится код, может не оказать никакого влияния на инструкции, выполняемые процессором (поскольку ЦП имеет отдельный кэш инструкций и данных ), по крайней мере, до тех пор, пока не будет выдана специальная инструкция синхронизации; Процессоры CISC, имеющие отдельные кэши инструкций и данных, обычно автоматически синхронизируют их для обеспечения обратной совместимости со старыми процессорами.

Многие ранние разработки RISC также имели общую характеристику наличия слота задержки ветвления — пространства команд сразу после перехода или ветвления. Инструкция в этом пространстве выполняется независимо от того, выполнен переход или нет (другими словами, эффект перехода задерживается). Эта инструкция удерживает АЛУ ЦП занятым на дополнительное время, обычно необходимое для выполнения перехода. В настоящее время слот задержки ветвления считается неудачным побочным эффектом конкретной стратегии реализации некоторых RISC-проектов, а современные RISC-проекты обычно устраняют его (например, PowerPC и более поздние версии SPARC и MIPS). [ нужна цитата ]

Некоторые аспекты, приписываемые первым проектам с маркировкой RISC примерно в 1975 году, включают наблюдения о том, что компиляторы с ограниченной памятью того времени часто были неспособны воспользоваться преимуществами функций, предназначенных для облегчения ручного ассемблерного кодирования, и что сложные режимы адресации требовали много циклов для выполнения из-за необходимые дополнительные доступы к памяти. Это утверждалось [ кем? ] что такие функции лучше выполнялись бы последовательностями более простых инструкций, если бы это могло дать реализации, достаточно маленькие, чтобы оставить место для многих регистров, уменьшая количество медленных обращений к памяти. В этих простых конструкциях большинство инструкций имеют одинаковую длину и аналогичную структуру, арифметические операции ограничены регистрами ЦП, и только отдельные инструкции загрузки и сохранения обращаются к памяти. Эти свойства позволяют лучше балансировать этапы конвейера, чем раньше, что делает конвейеры RISC значительно более эффективными и обеспечивает более высокие тактовые частоты .

Еще одним стимулом для развития RISC и других проектов стали практические измерения в реальных программах. Эндрю Таненбаум резюмировал многие из них, продемонстрировав, что процессоры часто имеют непосредственные продукты слишком большого размера. Например, он показал, что 98% всех констант в программе умещаются в 13 битах , однако во многих конструкциях ЦП для их хранения отведено 16 или 32 бита. Это предполагает, что для уменьшения количества обращений к памяти машина фиксированной длины может хранить константы в неиспользуемых битах самого командного слова, чтобы они были немедленно готовы, когда они потребуются ЦП (так же, как немедленная адресация в традиционной конструкции). . Для этого требовались небольшие коды операций, чтобы оставить место для константы разумного размера в 32-битном командном слове.

Поскольку многие реальные программы тратят большую часть своего времени на выполнение простых операций, некоторые исследователи решили сосредоточиться на том, чтобы сделать эти операции как можно быстрее. Тактовая частота ЦП ограничена временем, необходимым для выполнения самой медленной подоперации любой инструкции; уменьшение времени цикла часто ускоряет выполнение других инструкций. [42] Акцент на «сокращенных инструкциях» привел к тому, что получившуюся машину назвали «компьютером с сокращенным набором команд» (RISC). Целью было сделать инструкции настолько простыми, чтобы их можно было легко конвейеризировать, чтобы достичь пропускной способности в один такт на высоких частотах . Это контрастировало с конструкциями CISC, чьи «важнейшие арифметические операции и передача регистров» считались трудными для конвейеризации. [43]

Позже было отмечено, что одной из наиболее важных характеристик RISC-процессоров было то, что внешняя память была доступна только с помощью инструкций загрузки или сохранения . Все остальные инструкции ограничивались внутренними регистрами. Это упростило многие аспекты конструкции процессора: разрешение инструкций иметь фиксированную длину, упрощение конвейеров и изолирование логики для обработки задержки при завершении доступа к памяти (промах в кэше и т. д.) только для двух инструкций. Это привело к тому, что конструкции RISC стали называть архитектурами загрузки и хранения . [44]

Сравнение с другими архитектурами [ править ]

Некоторые процессоры были специально разработаны с очень небольшим набором инструкций, но эти конструкции сильно отличаются от классических RISC-проектов, поэтому им были даны другие названия, такие как компьютер с минимальным набором команд (MISC) или архитектура, управляемая транспортом (TTA).

Архитектуры RISC традиционно не имели большого успеха на рынках настольных ПК и обычных серверов, где платформы на базе x86 остаются доминирующей процессорной архитектурой. Однако ситуация может измениться, поскольку процессоры на базе ARM разрабатываются для более производительных систем. [45] Производители, включая Cavium , AMD и Qualcomm , выпустили серверные процессоры на базе архитектуры ARM. [46] [47] В 2017 году ARM заключила партнерское соглашение с Cray для производства суперкомпьютера на базе ARM. [48] Что касается настольных компьютеров, Microsoft объявила, что планирует поддерживать версию Windows 10 для ПК на устройствах на базе Qualcomm Snapdragon в 2017 году в рамках своего партнерства с Qualcomm. Эти устройства будут поддерживать приложения Windows, скомпилированные для 32-разрядной версии x86 с помощью эмулятора процессора x86 , который преобразует 32-разрядный код x86 в код ARM64 . [49] [50] Apple объявила, что переведет свои настольные и портативные компьютеры Mac собственной разработки на базе ARM64 с процессоров Intel на SoC под названием Apple Silicon ; первые такие компьютеры на процессоре Apple M1 были выпущены в ноябре 2020 года. [51] Компьютеры Mac с процессором Apple могут запускать двоичные файлы x86-64 с Rosetta 2 , транслятором x86-64 в ARM64. [52]

Однако за пределами настольных компьютеров архитектура ARM RISC широко используется в смартфонах, планшетах и ​​многих видах встраиваемых устройств. Хотя ранние конструкции RISC значительно отличались от современных конструкций CISC, к 2000 году самые производительные процессоры линейки RISC были почти неотличимы от самых высокопроизводительных процессоров линейки CISC. [53] [54] [55]

Использование RISC-архитектуры [ править ]

Архитектуры RISC теперь используются на самых разных платформах: от смартфонов и планшетных компьютеров до самых быстрых в мире суперкомпьютеров , таких как Fugaku , самый быстрый из списка TOP500 по состоянию на ноябрь 2020 года. и Summit , Sierra и Sunway TaihuLight , следующие три в этом списке. [56]

Бюджетные и мобильные системы [ править ]

К началу 21 века большинство недорогих и мобильных систем опирались на RISC-архитектуры. [57] Примеры включают в себя:

Настольные и портативные компьютеры [ править ]

Рабочие станции, серверы и суперкомпьютеры [ править ]

Открытый исходный код [ править ]

Архитектуры RISC стали популярными в процессорах с открытым исходным кодом и программных микропроцессорах, поскольку их относительно просто реализовать, что делает их пригодными, FPGA например, для реализации и прототипирования. Примеры включают в себя:

Награды [ править ]

В 2022 году Стив Фербер , Джон Л. Хеннесси , Дэвид А. Паттерсон и Софи М. Уилсон были награждены премией Чарльза Старка Дрейпера США от Национальной инженерной академии за вклад в изобретение, разработку и внедрение компьютера с сокращенным набором команд. (RISC) чипы. [63] [64]

См. также [ править ]

Ссылки [ править ]

  1. ^ Чен, Кристал; Новик, Грег; Шимано, Кирк. «Трубопровод» . РИСЦ Архитектура .
  2. ^ Перейти обратно: а б Флинн, Майкл Дж. (1995). Компьютерная архитектура: конвейерное и параллельное проектирование процессоров . Джонс и Бартлетт Обучение. стр. 54–56. ISBN  0867202041 .
  3. ^ Колвелл, Роберт П.; Хичкок III, Чарльз Ю.; Дженсен, Э. Дуглас; Спрант, Его Величество Бринкли; Коллар, Чарльз П. (сентябрь 1985 г.). «Наборы инструкций и не только: компьютеры, сложность и противоречия» (PDF) . Компьютер . IEEE. стр. 8–19.
  4. ^ Алетан, Сэмюэл О. (1 апреля 1992 г.). «Обзор RISC-архитектуры» . Материалы симпозиума ACM/SIGAPP 1992 года по прикладным вычислениям: технологические проблемы 1990-х годов . САК '92. Канзас-Сити, штат Миссури: Ассоциация вычислительной техники . стр. 11–20. дои : 10.1145/143559.143570 .
  5. ^ Маркофф, Джон (ноябрь 1984 г.). «Новые чипы — чипы RISC» . Байт . Том. 9, нет. 12. МакГроу-Хилл. стр. 191–206.
  6. ^ Бурсен де л'Арк, Филипп. «История вычислительной техники и Интернета» . boursinp.free.fr .
  7. ^ Мануэль, Том (3 сентября 1987 г.). «Внутренние технологии — безумный поиск большей скорости» (PDF) . Электроника . МакГроу-Хилл. стр. 59–62.
  8. ^ «Японский Fugaku завоевал титул самого быстрого суперкомпьютера в мире» . РИКЕН . Проверено 24 июня 2020 г.
  9. ^ Фишер, Джозеф А.; Фарабоски, Паоло; Янг, Клифф (2005). Встроенные вычисления: подход VLIW к архитектуре, компиляторам и инструментам . Эльзевир. п. 55 . ISBN  1558607668 .
  10. ^ Рейли, Эдвин Д. (2003). Вехи развития информатики и информационных технологий . Издательство Гринвуд. стр. 50 . ISBN  1-57356-521-0 .
  11. ^ Гришман, Ральф (1974). Программирование на языке ассемблера для управляющих данных серии 6000 и серии Cyber ​​70 . Алгоритма Пресс. п. 12. ОКЛК   425963232 .
  12. ^ Донгарра, Джек Дж.; и другие. (1987). Численная линейная алгебра на высокопроизводительных компьютерах . стр. 6 . ISBN  0-89871-428-1 .
  13. ^ Перейти обратно: а б с Кок, Джон; Маркштейн, Виктория (январь 1990 г.). «Эволюция технологии RISC в IBM» (PDF) . Журнал исследований и разработок IBM . 34 (1): 4–11. дои : 10.1147/rd.341.0004 .
  14. ^ Краткое описание системы IBM System/370 (технический отчет). ИБМ. Январь 1987 года.
  15. ^ Шилц, Юрий; Робич, Борут; Унгерер, Тео (1999). Архитектура процессора: от потока данных к суперскаляру и далее . Спрингер. стр. 33 . ISBN  3-540-64798-8 .
  16. ^ Перейти обратно: а б с д Это ж Финансирование революции: государственная поддержка компьютерных исследований Комитетом по инновациям в области вычислений и коммуникаций, 1999 г. ISBN   0-309-06278-0 стр. 239
  17. ^ Нурми, Яри (2007). Проектирование процессоров: вычисления системы на кристалле для ASIC и FPGA . Спрингер. С. 40–43 . ISBN  978-1-4020-5529-4 .
  18. ^ Хилл, Марк Дональд; Жуппи, Норман Пол ; Сохи, Гуриндар (1999). Чтения по компьютерной архитектуре . Галф Профессионал. стр. 252–4. ISBN  1-55860-539-8 .
  19. ^ Старнс, Томас (май 1983 г.). «Философия дизайна Motorola MC68000» . Байт . п. Фото 1.
  20. ^ Паттерсон, Дэвид (30 мая 2018 г.). «История РИСЦи» . ЭМ СИГАРХ .
  21. ^ Перейти обратно: а б с «Пример: Беркли RISC II» . Архивировано из оригинала 13 июня 2022 года.
  22. ^ Перейти обратно: а б с д Это ж г час я дж Паттерсон, Дэвид А.; Блестка, Карло Х. (1981). RISC I: Компьютер VLSI с сокращенным набором команд . 8-й ежегодный симпозиум по компьютерной архитектуре. Миннеаполис, Миннесота, США. стр. 443–457. дои : 10.1145/285930.285981 . В формате PDF
  23. ^ Перейти обратно: а б Паттерсон, Вашингтон ; Дитцель, Д.Р. (1980). «Дело о компьютере с сокращенным набором команд». Новости компьютерной архитектуры ACM SIGARCH . 8 (6): 25–33. CiteSeerX   10.1.1.68.9623 . дои : 10.1145/641914.641917 . S2CID   12034303 .
  24. ^ Блестка, Карло; Паттерсон, Дэвид (июль 1982 г.). Проектирование и реализация RISC I (PDF) . Продвинутый курс по архитектуре СБИС. Бристольский университет. КСД-82-106.
  25. ^ Перейти обратно: а б с д Чоу, Пол (1989). RISC-микропроцессор MIPS-X . Спрингер. стр. XIX – XX. ISBN  0-7923-9045-8 .
  26. ^ Перейти обратно: а б Нурми 2007 , стр. 52–53
  27. ^ Уивер, Винсент; Макки, Салли. Проблемы плотности кода для новых архитектур (PDF) . МКГД 2009.
  28. ^ Такер, Аллен Б. (2004). Справочник по информатике . Тейлор и Фрэнсис. стр. 100 –6. ISBN  1-58488-360-Х .
  29. ^ «Оливетти покупает карту RISC» . Пользователь Желудя . Август 1988 г. с. 7 . Проверено 24 мая 2021 г.
  30. ^ Уотерман, Эндрю; Ли, Юнсуп; Паттерсон, Дэвид А.; Асанови, Крсте. «Руководство по набору команд RISC-V, том I: базовая версия ISA 2.0 уровня пользователя» . Калифорнийский университет, Беркли. Технический отчет EECS-2014-54 . Проверено 1 марта 2022 г.
  31. ^ Слейтер, Майкл (июнь 1990 г.). «Что такое РИСК?» . IEEE микро . стр. 96–95 . Проверено 20 марта 2023 г.
  32. ^ Esponda, Margarita; Rojas, Ra'ul (September 1991). "Section 2: The confusion around the RISC concept". The RISC Concept — A Survey of Implementations. Freie Universitat Berlin. B-91-12.
  33. ^ Стоукс, Джон «Ганнибал». «RISC против CISC: эра пост-RISC» . Арс Техника .
  34. ^ Борретт, Ллойд (июнь 1991 г.). «RISC против CISC» . Австралийский персональный компьютер .
  35. ^ Джонс, Дуглас В. «Часто задаваемые вопросы о DEC PDP-8 Дуга Джонса» . Коллекция PDP-8, факультет компьютерных наук Университета Айовы .
  36. ^ Дандамуди, Шиварама П. (2005). «Глава 3: Принципы RISC». Руководство по RISC-процессорам для программистов и инженеров . Спрингер. стр. 39–44 . дои : 10.1007/0-387-27446-4_3 . ISBN  978-0-387-21017-9 . основная цель была не уменьшить количество инструкций, а усложнить
  37. ^ Уоллс, Колин (18 апреля 2016 г.). «ЦИСК и РИСЦ» .
  38. ^ Фишер, Джозеф А.; Фарабоски, Паоло; Янг, Клифф (2005). Встроенные вычисления: подход VLIW к архитектуре, компиляторам и инструментам . Эльзевир. п. 57. ИСБН  9781558607668 .
  39. ^ Александр, В. Грегг; Вортман, Дэвид (ноябрь 1975 г.). «Статические и динамические характеристики программ XPL» . IEEE-компьютер . 8 (11): 41–48. дои : 10.1109/CM.1975.218804 . S2CID   39685209 .
  40. ^ Соарес, Жуан; Роча, Рикардо. «Кодирование инструкций MIPS» (PDF) .
  41. ^ Колвелл, Роберт П.; Хичкок III, Чарльз Ю.; Дженсен, Э. Дуглас; Спрант, Его Величество Бринкли; Коллар, Чарльз П. (сентябрь 1985 г.). «Наборы инструкций и не только: компьютеры, сложность и противоречия» . Компьютер . 18 (9). Институт инженеров по электротехнике и электронике, Inc.: 8–19. дои : 10.1109/MC.1985.1663000 . S2CID   7306378 . Проверено 25 марта 2023 г.
  42. ^ «Микропроцессоры с точки зрения программиста», Эндрю Шульман, 1990 г.
  43. ^ Свитман, Доминик (1987). «Рабочая станция RISC» . Материалы конференции, состоявшейся в Computer Graphics 87, Лондон, октябрь 1987 г. Интернет-публикации. стр. 83–91. ISBN  0-86353-092-3 . Проверено 26 марта 2024 г.
  44. ^ Дауд, Кевин; Лукидес, Майкл К. (1993). Высокопроизводительные вычисления . О'Рейли. ISBN  1565920325 .
  45. ^ Винсент, Джеймс (9 марта 2017 г.). «Microsoft представляет новые конструкции серверов ARM, угрожающие доминированию Intel» . Грань . Проверено 12 мая 2017 г. .
  46. ^ Рассел, Джон (31 мая 2016 г.). «Cavium раскрывает планы ThunderX2 и сообщает, что популярность ARM растет» . Провод HPC . Проверено 8 марта 2017 г.
  47. ^ Первый процессор AMD на базе ARM, Opteron A1100, наконец-то появился , ExtremeTech, 14 января 2016 г. , получено 14 августа 2016 г.
  48. ^ Фельдман, Майкл (18 января 2017 г.). «Cray поставит суперкомпьютер на базе ARM британскому консорциуму» . Top500.org . Проверено 12 мая 2017 г. .
  49. ^ «Microsoft переносит настольные приложения Windows на мобильные процессоры ARM» . Грань . 8 декабря 2016 года . Проверено 8 декабря 2016 г.
  50. ^ «Как эмуляция x86 работает на ARM» . Документы Майкрософт . 23 октября 2023 г. Проверено 27 октября 2023 г.
  51. ^ Перейти обратно: а б «Представляем следующее поколение Mac» (пресс-релиз). Apple Inc., 10 ноября 2020 г.
  52. ^ «macOS Big Sur уже здесь» (пресс-релиз). Apple Inc., 12 ноября 2020 г.
  53. ^ Картер, Николас П. (2002). Очерк компьютерной архитектуры Шаума . МакГроу Хилл Профессионал. п. 96. ИСБН  0-07-136207-Х .
  54. ^ Джонс, Дуглас Л. (2000). «Микропроцессоры CISC, RISC и DSP» (PDF) .
  55. ^ Сингх, Амит. «История операционных систем Apple» . Архивировано из оригинала 3 апреля 2020 года. Граница между RISC и CISC с годами становится все более размытой.
  56. ^ «Список 500 лучших: ноябрь 2020 г.» . ТОП 500 . Проверено 2 января 2021 г.
  57. ^ Дандамуди 2005 , стр. 121–123
  58. ^ Беннетт, Эми (2005). «Apple переходит с PowerPC на Intel» . Компьютерный мир . Архивировано из оригинала 13 ноября 2020 года . Проверено 24 августа 2020 г.
  59. ^ Воан-Николс, Стивен Дж. «Обзор: Chromebook Samsung на базе ARM» . ЗДНет . Проверено 28 апреля 2021 г.
  60. ^ ДеАнджелис, Марк (22 июня 2020 г.). «На этой неделе Apple начинает двухлетний переход на ARM» . Engadget . Проверено 24 августа 2020 г. Apple официально объявила, что перейдет с процессоров Intel на собственные чипы серии A на базе ARM в своих компьютерах Mac.
  61. ^ Смит, Крис (16 сентября 2020 г.). «Microsoft выпустит новый Surface на базе ARM этой осенью» . Отчет о мальчиках-гениях . Проверено 20 марта 2023 г.
  62. ^ «Процессор ARM — Процессор AWS Graviton — AWS» . Amazon Веб-сервисы, Inc. Проверено 9 января 2024 г.
  63. ^ «Лауреаты премии Чарльза Старка Дрейпера в области инженерии» . наэ.еду .
  64. ^ «Премия Чарльза Старка Дрейпера в области инженерии» . наэ.еду .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 1BCB7267BE28D21F98C454DF2BCCC680__1714601220
URL1:https://en.wikipedia.org/wiki/Reduced_instruction_set_computer
Заголовок, (Title) документа по адресу, URL1:
Reduced instruction set computer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)