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

редактировать
Процессор, выполняющий одну инструкцию за минимальные тактовые циклы

A Sun UltraSPARC, RISC микропроцессор

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

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

Множество разновидностей проектов RISC включают ARC, Alpha, Am29000, ARM, Atmel AVR, Blackfin, i860, i960, M88000, MIPS, PA-RISC, Power ISA (включая PowerPC ), RISC-V, SuperH и SPARC. Использование процессоров архитектуры ARM в смартфонах и планшетных компьютерах, таких как iPad и Android, обеспечило широкая пользовательская база для систем на базе RISC. Процессоры RISC также используются в суперкомпьютерах, таких как Fugaku, который по состоянию на июнь 2020 года является самым быстрым суперкомпьютером в мире.

Содержание
  • 1 История и развитие
  • 2 Характеристики и философия дизайна
    • 2.1 Философия набора команд
    • 2.2 Формат команд
    • 2.3 Использование оборудования
  • 3 Сравнение с другими архитектурами
  • 4 Использование архитектур RISC
    • 4.1 Младшие и мобильные системы
    • 4.2 Рабочие станции, серверы и суперкомпьютеры
  • 5 См. также
  • 6 Ссылки
  • 7 Внешние ссылки
История и развитие

Алан Тьюринг 1946 Автоматические вычисления Дизайн двигателя (ACE) имел многие характеристики архитектуры RISC. Ряд систем, восходящих к 1960-м годам, считался первой архитектурой RISC, отчасти благодаря использованию в них подхода загрузка / сохранение. Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC, хотя в некоторой степени похожие концепции появлялись и раньше.

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

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

Майкл Дж. Флинн рассматривает первую систему RISC как IBM 801, начатую в 1975 году Джоном Коке и завершенную в 1980 году. В конечном итоге модель 801 была произведена в виде однокристальной модели IBM ROMP в 1981 году, что означало «Research OPD». [Отдел офисных продуктов] Микропроцессор ». Этот ЦП был разработан для "мини" задач и также использовался в IBM RT PC в 1986 году, что оказалось коммерческим провалом. Но 801 вдохновил несколько исследовательских проектов, в том числе новые в IBM, которые в конечном итоге привели к архитектуре набора команд IBM POWER.

В середине 1970-х исследователи (в частности, Джон Кок в IBM и аналогичные проекты в других местах) продемонстрировали, что большинство комбинаций этих ортогональных режимов адресации и инструкций не использовались большинством программ, генерируемых компиляторами, доступными в то время. Во многих случаях оказалось трудным написать компилятор с более чем ограниченными возможностями, позволяющими использовать преимущества функций, предоставляемых обычными процессорами. Было также обнаружено, что в микрокодированных реализациях определенных архитектур сложные операции, как правило, медленнее, чем последовательность более простых операций, выполняющих то же самое. Частично это было следствием того, что многие разработки были торопливыми, и на оптимизацию или настройку каждой инструкции оставалось мало времени; оптимизировались только наиболее часто используемые, и последовательность этих инструкций могла быть быстрее, чем менее настроенная инструкция, выполняющая эквивалентную операцию, как эта последовательность. Одним из печально известных примеров была инструкция VAX INDEX. Как уже упоминалось в другом месте, основная память уже давно работает медленнее, чем многие конструкции ЦП. Появление полупроводниковой памяти уменьшило эту разницу, но все же было очевидно, что большее количество регистров (а позже и кешей ) позволит повысить рабочие частоты процессора. Дополнительные регистры потребовали бы значительных площадей микросхемы или платы, которые в то время (1975 г.) могли быть доступны, если была уменьшена сложность логики ЦП.

Однако наиболее публичные разработки RISC явились результатом университетских исследовательских программ, проводимых при финансировании из DARPA Программы СБИС. Программа СБИС, практически неизвестная сегодня, привела к огромному количеству достижений в разработке, производстве микросхем и даже компьютерной графике. Проект Berkeley RISC стартовал в 1980 году под руководством Дэвида Паттерсона и Карло Х. Секин.

Berkeley RISC был основан на повышении производительности за счет использования конвейерной обработки и агрессивное использование техники, известной как управление окнами регистров. В традиционном процессоре имеется небольшое количество регистров, и программа может использовать любой регистр в любое время. В ЦП с окнами регистров существует огромное количество регистров, например 128, но программы могут использовать только небольшое их количество, например восемь, одновременно. Программа, ограничивающая себя восемью регистрами на процедуру, может выполнять очень быстрые вызовы процедур : вызов просто перемещает окно «вниз» на восемь до набора из восьми регистров, используемых этой процедурой, и возврат перемещается окно назад. В 1982 году в рамках проекта Berkeley RISC был поставлен процессор RISC-I. Он состоял всего из 44 420 транзисторов (по сравнению со средним числом около 100 000 в более новых CISC конструкциях того времени). RISC-I имел только 32 инструкции, но все же полностью превосходит любую другую однокристальную конструкцию. За этим последовали транзисторы 40760, 39 инструкций RISC-II в 1983 году, которые работали в три раза быстрее, чем RISC-I.

Проект MIPS вырос из аспирантуры. Автор Джон Л. Хеннесси в Стэнфордском университете в 1981 году, в результате была создана функционирующая система в 1983 году, а к 1984 году можно было запускать простые программы. Подход MIPS подчеркивал агрессивный тактовый цикл и использование конвейера, убедившись, что он может быть запущен как можно более "полным". За системой MIPS последовала MIPS-X, и в 1984 году Хеннесси и его коллеги создали MIPS Computer Systems. Результатом коммерческого предприятия стала новая архитектура, которая также называлась MIPS и микропроцессор R2000 в 1985 году.

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

В начале В 1980-е годы концепция RISC окружала значительную неопределенность, и было неясно, может ли она иметь коммерческое будущее, но к середине 1980-х годов концепции стали достаточно зрелыми, чтобы считаться коммерчески жизнеспособными. В 1986 году Hewlett Packard начала использовать раннюю реализацию своего PA-RISC на некоторых своих компьютерах. Тем временем проект Berkeley RISC стал настолько известен, что в конечном итоге стал названием всей концепции, и в 1987 году Sun Microsystems начала поставки систем с SPARC, непосредственно основанный на системе Berkeley RISC-II.

Комитет правительства США по инновациям в вычислениях и коммуникациях считает признание жизнеспособности концепции RISC успехом системы SPARC. Успех SPARC возродил интерес в IBM, которая к 1990 году выпустила новые системы RISC, а к 1995 году процессоры RISC стали основой серверной индустрии с оборотом 15 миллиардов долларов.

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

Характеристики и философия проектирования

Философия набора команд

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

Иногда предпочтительным является термин загрузка / сохранение архитектуры.

Формат команд

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

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

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

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

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

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

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

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

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

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

Сравнение с другими архитектурами

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

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

Однако архитектура ARM RISC не распространяется на настольные ПК. широко используется в смартфонах, планшетах и ​​многих встраиваемых устройствах. Кроме того, начиная с Pentium Pro (P6), процессоры Intel x86 внутренне преобразовали инструкции CISC x86 в одну или несколько RISC-подобных микроопераций, планируя и выполняя микрооперации отдельно.

В то время как ранние проекты RISC значительно отличались от современных проектов CISC, к 2000 году наиболее производительные процессоры в линейке RISC были почти неотличимы от самых высокопроизводительных процессоров в линейке CISC.

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

Архитектуры RISC теперь используются на различных платформах, от смартфонов и планшетных компьютеров до некоторых из самых быстрых суперкомпьютеров в мире, таких как Summit, самый быстрый в списке TOP500 по состоянию на ноябрь 2018 года.

Низкие и мобильные системы

К началу 21 века большинство низкоуровневых конечные и мобильные системы опирались на архитектуры RISC. Примеры включают:

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

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-03 11:15:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте