Компьютер с сокращенным набором команд — Reduced instruction set computer

Компьютер с сокращенным набором команд — Reduced instruction set computer

Компьютер с сокращенным набором команд или RISC ( / r ɪ s k / ) — это компьютер с небольшим, высоко оптимизированным набором инструкций , а не с более специализированным набором, который часто встречается в других типах архитектуры, например, в сложных инструкциях. установлен компьютер (CISC). Основной отличительной чертой архитектуры RISC является то, что набор команд оптимизирован с использованием большого количества регистров и очень регулярного конвейера команд , что позволяет использовать небольшое количество тактовых циклов на команду (CPI). Еще одна распространенная функция RISC — это архитектура загрузки / сохранения , в которой доступ к памяти осуществляется через определенные инструкции, а не как часть большинства инструкций в наборе.

Хотя ряд компьютеров 1960-х и 1970-х годов были определены как предшественники RISC, современная концепция восходит к 1980-м годам. В частности, два проекта в Стэнфордском университете и Калифорнийском университете в Беркли больше всего связаны с популяризацией этой концепции. Стэнфордский MIPS будет коммерциализирован как успешная архитектура MIPS , в то время как 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 Настольные и портативные компьютеры
    • 4.3 Рабочие станции, серверы и суперкомпьютеры
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

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

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

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

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

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

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

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

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

В начале 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 разрабатывается новая архитектура набора команд с открытым исходным кодом (ISA), RISC-V . По состоянию на 2014 год исправлена версия 2 ISA пользовательского пространства . ISA разработан с возможностью расширения от базового ядра, достаточного для небольшого встроенного процессора, до использования суперкомпьютеров и облачных вычислений со стандартными расширениями и сопроцессорами, определяемыми разработчиком микросхем. Он был протестирован в кремниевом исполнении с ROCKET SoC, который также доступен как генератор процессоров с открытым исходным кодом на языке CHISEL.

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

Философия набора инструкций

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

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

Формат инструкции

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

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

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

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

  • Средняя производительность процессора составляет около 1 инструкции за цикл
  • Единый формат инструкций с использованием одного слова с кодом операции в тех же битовых позициях для упрощения декодирования
  • Все регистры общего назначения могут использоваться одинаково в качестве источника / назначения во всех инструкциях, что упрощает конструкцию компилятора ( регистры с плавающей запятой часто хранятся отдельно)
  • Простые режимы адресации со сложной адресацией, выполняемой последовательностями команд
  • Несколько типов данных на оборудовании (например, без байтовойстроки или BCD )

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

Многие ранние проекты 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 на SoC собственной разработки на базе ARM64 под названием Apple Silicon ; Первые такие компьютеры, использующие процессор Apple M1 , были выпущены в ноябре 2020 года. 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 теперь используются на различных платформах, от смартфонов и планшетных компьютеров до некоторых из самых быстрых суперкомпьютеров в мире, таких как Fugaku , самый быстрый в списке TOP500 по состоянию на ноябрь 2020 года, и Summit , Sierra и Sunway TaihuLight , следующие три. в этом списке.

Младшие и мобильные системы

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

  • Архитектура ARM доминирует на рынке маломощных и недорогих встроенных систем (обычно 200–1800 МГц в 2014 г.). Он используется в ряде систем, таких как большинство систем на базе Android , Apple iPhone и iPad , Microsoft Windows Phone (ранее Windows Mobile ), устройства RIM , Nintendo Game Boy Advance , DS , 3DS и Switch , Raspberry Pi и т. Д.
  • IBM «s PowerPC был использован в GameCube , Wii , PlayStation 3 , Xbox 360 и Wii U игровых консолей.
  • Линия MIPS (когда-то использовалась во многих компьютерах SGI ) использовалась в игровых консолях PlayStation , PlayStation 2 , Nintendo 64 , PlayStation Portable и домашних шлюзах, таких как серия Linksys WRT54G .
  • Hitachi «s SuperH , первоначально широко используется в СегаСупер 32X , Saturn и Dreamcast , в настоящее время разработаны и продаются Renesas как SH4 .
  • Atmel AVR используется в различных продуктах, от портативных контроллеров Xbox и платформы микроконтроллеров с открытым исходным кодом Arduino до автомобилей BMW .
  • RISC-V , пятая RISC ISA Berkeley с открытым исходным кодом , с 32- или 64-битными адресными пространствами , небольшим базовым целочисленным набором инструкций и экспериментальной «сжатой» ISA для плотности кода, разработанная для стандартных и специальных расширений.

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

  • Главная
  • Рубрикация
  • Указатель А — Я
  • Порталы
  • Произвольно
  • Журнал
  • Редакторам
    • Ссылки сюда
    • Связанные правки
    • Загрузить файл
    • Спецстраницы
    • Версия для печати
    • Постоянная ссылка
    • Сведения о странице
    • Цитировать страницу
    • Читать
    • Просмотр
    • История

RISC (Reduced Instruction Set Computing)

Авторство
В.И. Ромашов
Согласовано: 03.04.2016

RISC (англ. Restricted (reduced) Instruction Set Computer — «компьютер с сокращённым набором команд») — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Термин «сокращённый» в названии описывает тот факт, что сокращён объём (и время) работы, выполняемый каждой отдельной инструкцией — как максимум один цикл доступа к памяти.

Широко известные семейства RISC включают в себя DEC Alpha, AMD Am29000, ARC, ARM, Atmel AVR, BlackFin, Intel i860 и i960, MIPS, Motorola 88000, PA-RISC, RISC-V, SuperH и SPARC. В 21-м веке, использование архитектуры ARM процессоров смартфонов и планшетных компьютеров , таких как IPad и Android устройств обеспечили широкую базу пользователей для систем на базе RISC. Процессоры RISC также используются в суперкомпьютерах, таких как компьютер K, самый быстрый из TOP500 в 2011 году, и четвертый в списке 2013 года.

Содержание

  • 1 Характерные особенности RISC-процессоров
  • 2 Преимущества RISC
  • 3 История RISC
    • 3.1 Начало исследований
    • 3.2 Последние разработки
  • 4 Использование RISC — архитектур
    • 4.1 Мобильные системы
    • 4.2 Суперкомпьютеры
  • 5 Характеристики
  • 6 Источники

Характерные особенности RISC-процессоров

  • Элемент маркированного списка.
  • Фиксированная длина машинных инструкций, простой формат команды.
  • Специализированные команды для операций с памятью — чтения или записи. Операции вида Read-Modify-Write («прочитать-изменить-записать») отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т.н. архитектура load-and-store).
  • Большое количество регистров общего назначения (32 и более).
  • Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
  • Отсутствие микропрограмм внутри самого процессора.

Преимущества RISC

  • Повышение производительности
  • Новый микропроцессор может быть разработан и испытан более быстро.
  • Операционная система и прикладные программисты, которые используют инструкции микропроцессора могут легче разрабатывать код с меньшим набором команд.
  • Простота RISC обеспечивает большую свободу выбора, как использовать пространство на микропроцессоре.

История RISC

Предпосылки развития RISC архитектур:

  • Обширная замена ассемблера на языки программирования высокого уровня в 1980-х годах. Даже операционные системы все чаще были написаны на языках высокого уровня.
  • Недостаток памяти для выполнения сложных оптимизаций в компиляторах.
  • Невозможность получить достаточно вычислительной мощности.

Начало исследований

Первая система, которая может быть названа системой «RISC», — суперкомпьютер «CDC 6600», который был создан в 1964 году, за десять лет до появления соответствующего термина. CDC 6600 имел архитектуру «RISC» всего с двумя режимами адресации («регистр+регистр» и «регистр+непосредственное значение») и 74 кодами команд (тогда как 8086 имел 400 кодов команд). В «CDC 6600» было 11 конвейерных устройств арифметической и логической обработки, а также пять устройств загрузки и два устройства хранения. Память была много блочной, поэтому все устройства загрузки-хранения могли работать одновременно. Базовая тактовая частота/частота выдачи команд была в 10 раз выше, чем время доступа к памяти. Джим Торнтон и Сеймур Крэй, разработчики «CDC 6600», создали для него мощный процессор, позволявший быстро обрабатывать большие объёмы цифровых данных. Главный процессор поддерживался десятью простыми периферийными процессорами, выполнявшими операции ввода-вывода и другие функции ОС. Позднее появилась шутка, что термин «RISC» на самом деле расшифровывается как «Really invented by Seymour Cray» (пер. с англ.: «на самом деле придуман Сеймуром Крэем»).

Если быть уж совсем точным, то первой компанией, начавшей разработку RISC-архитектуры, стала IBM. Еще в 1974 году стартовала разработка процессора IBM 801, которая и заложила первые основы для этой платформы. А проект Berkeley RISC окончательно сформировал архитектуру. Все х86-процессоры, решения компании Motorola и подавляющее большинство выпущенных в 1980-е годы кристаллов имели архитектуру CISC (Complex Instruction Set Computing). Совокупность всех особенностей привела к тому, что чипы стали не только сложными и дорогими в производстве, но и достигли своего потолка производительности. Для дальнейшего увеличения быстродействия требовалось наращивать количество транзисторов, однако освоенные технологические нормы не позволяли создавать более сложные решения. С этим столкнулась Intel при выпуске семейства i486. Для поднятия производительности они внесли изменения в архитектуру процессоров, добавив кэш-память, множители и конвейеры. Словом, 486-е «камни» получили некоторые «фишки» архитектуры RISC. Тем не менее к созданию RISC-платформы американская компания никакого отношения не имеет. Своим созданием архитектура обязана американскому инженеру Дэвиду Паттерсону, который руководил проектом Berkeley RISC с 1980 по 1984 годы.

Первоначальной идеей, которая затем воплотилась в столь масштабный проект Berkeley RISC, стало исследование работы Motorola 68000. В ходе наблюдений выяснилось, что программы попросту не использовали подавляющее большинство инструкций, заложенных в процессор. Например, система Unix при компиляции использовала лишь 30% команд. Поэтому в рамках проекта Berkeley RISC планировалось создать такой процессор, который бы содержал лишь самые необходимые инструкции.

Дебютными решениями стали RISC I и RISC II — детища Паттерсона и проекта Berkeley RISC. Первый содержал более чем 44 000 транзисторов и работал на частоте 4 МГц. Такой процессор при выполнении небольших программ был в среднем в два раза быстрее VAX 11/780 и примерно в четыре раза производительнее, чем «камень» Zilog Z8000. RISC II отличался от предшественника большим количеством инструкций: 39 против 32. Он был более быстрым. Его преимущество над процессором VAX достигало 200%, а Motorola 68000 в некоторых программах был медленнее примерно в четыре раза.

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

Практически в то же время, в 1981 году, Джон Хеннесси начал аналогичный проект, названный «архитектура „MIPS“» в Стэнфордском университете. Создатель «MIPS» практически полностью сфокусировался на конвейерной обработке, попытавшись «выжать всё» из этой технологии. Конвейерная обработка использовалась и в других продуктах, некоторые идеи, реализованные в MIPS, позволили разработанному чипу работать значительно быстрее аналогов. Наиболее важным было требование выполнения любой из инструкций процессора за один такт. Это требование позволило конвейеру работать на гораздо больших скоростях передачи данных и привело к значительному ускорению работы процессора. С другой стороны, исполнение этого требования имело негативный побочный эффект в виде удаления из набора инструкций таких полезных операций, как умножение или деление. В первые годы попытки развития архитектуры «RISC» были хорошо известны, однако оставались в рамках породивших их университетских исследовательских лабораторий. Многие в компьютерной индустрии считали, что преимущества процессоров «RISC» не проявятся при использовании в реальных продуктах из-за низкой эффективности использования памяти в составных инструкциях. Однако с 1986 года исследовательские проекты «RISC» начали выпускать первые работающие продукты.

Последние разработки

В 1985 году IBM начала разработку RISC-архитектуры следующего поколения. Проект получил название America Project. Разработка процессора и набора инструкций для него закончилась в 1990 году. Сам кристалл получил название POWER1 и использовался в серверах и рабочих станциях IBM. Он обладал достаточно высоким уровнем производительности, но имел многочиповую компоновку и состоял из 11 различных микросхем. В 1992 году IBM представила бюджетный вариант процессора POWER1, который умещался в одном чипе.

Как оказалось в начале 1990-х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счёт использования суперскалярного и VLIW-подхода, а также за счёт возможности серьёзного повышения тактовой частоты и упрощения кристалла с высвобождением площади под кэш, достигающий огромных ёмкостей. Также RISC-архитектуры позволили сильно снизить энергопотребление процессора за счёт уменьшения числа транзисторов. Первое время RISC-архитектуры с трудом принимались рынком из-за отсутствия программного обеспечения для них. Эта проблема была решена переносом UNIX-подобных операционных систем (SunOS) на RISC-архитектуры.

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC. После того, как процессоры архитектуры x86 были переведены на суперскалярную RISC-архитектуру, можно сказать, что большинство существующих ныне процессоров основаны на архитектуре RISC.

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

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

Мобильные системы

  • Архитектура ARM доминирует на рынке малой мощности и низкой стоимости встраиваемых систем (обычно 200-1800 МГц в 2014 году). Он используется в ряде систем, таких как большинство Android систем, в Apple, iPhone и IPad, Microsoft Windows Phone (бывший Windows Mobile ), RIM устройства, Nintendo Game Boy Advance и Nintendo DS, и т.д. (напр. Рис. 3)
  • В PlayStation, PlayStation 2, Nintendo 64, PlayStation Portable.
  • Hitachi ‘s SuperH, первоначально широко используется в Сега Супер 32X, Saturn и Dreamcast, в настоящее время разработаны и продаются Renesas как SH4.
  • Atmel AVR используется в различных продуктах, начиная от Xbox контроллеров до BMW автомобилей.
  • SPARC, с помощью Oracle (ранее Sun Microsystems ) и Fujitsu.

Суперкомпьютеры

  • IBM ‘s Power Architecture, используется во многих суперкомпьютерах, серверах среднего уровня и рабочих станций IBM.
  • Hewlett-Packard’s PA-RIS, также известный как HP-PA (снят с производства в конце 2008 года).

Характеристики

Распространенное заблуждение «компьютер с сокращенным набором команд» ошибочно наводит на мысль, что инструкции просто устранены, в результате меньшего набора инструкций. На самом деле, на протяжении многих лет, наборы команд RISC выросли в размерах, и сегодня многие из них имеют больший набор инструкций, чем многие CISC процессоры. Некоторые процессоры RISC, такие как PowerPC имеют наборы инструкций, большие, чем в CISC IBM System/370.

Термин «пониженная» в этой фразе предназначался, для описания тот факта, что объем работы какой-либо одной инструкции снижается, по сравнению со «сложными инструкциями» от CISC — процессоров, которые могут потребовать десятки данных циклов памяти, чтобы выполнить одну команду. В частности, процессоры RISC обычно имеют отдельные инструкции для ввода/вывода и обработки данных.

Процессоры также имели относительно небольшое число регистров, по нескольким причинам:

  • Увеличенное количество регистров также подразумевает больше времени сохранение и восстановление содержимого регистра в стеке машины.
  • Регистры процессора являются более дорогостоящими , чем внешние ячейки памяти; большие наборы регистров были громоздкими с ограниченными плат или интеграции микросхем.

В первые дни компьютерной индустрии, программирование было сделано в ассемблере или машинном коде, который поощрял мощные и простые в использовании инструкции. Поэтому конструкторы CPU пытались сделать инструкции, которые будут делать столько работы, сколько возможно. С появлением высокоуровневых языков, компьютерные архитекторы начали создавать специальные инструкции непосредственно реализующие определенные центральные механизмы таких языков. Еще одна общая цель состояла в том, чтобы обеспечить все возможные режим адресации для каждой команды, известной как ортогональность, чтобы облегчить реализацию компилятора. Поэтому арифметические операции могут часто имеют результаты, а также операнды непосредственно в памяти.

http://ru.qaz.wiki/wiki/Reduced_instruction_set_computer
http://ru.bmstu.wiki/RISC_(Reduced_Instruction_Set_Computing)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *