Наборы команд должны быть свободны: доводы за RISC-V

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

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

В ЭВМ с RISC машинным циклом называют время, в течение которого производится выборка двух операндов из регистров, выполнение операции в АЛУ и запоминание результата в регист­ре. Большинство команд в RISC являются быстрыми командами типа «регистр - регистр» и выполняются без обращений к ОП. Обращения к ОП сохраняются лишь в командах загрузки регистров из памяти и запоминания в ОП. Чтобы это было возможным, про­цессор должен содержать достаточно большое число общих регистров.

Благодаря характерным для RISC-архитектуры особенно­стям - сокращенному набору команд (обычно не более 50-100), небольшому числу (обычно 2-3) простых способов адре­сации (в основном регистровой), небольшому числу простых форматов команд с фиксированными размерами и функциональ­ным назначением их полей - упрощается управляющее устрой­ство процессора, который в этом случае обходится без микро­программного уровня управления и управляющей памяти, и его УУ может быть выполнено на «схемной логике».

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

Большое число регистров, особенно при наличии обеспечива­ющего их эффективное использование «оптимизирующего ком­пилятора», позволяет до предела сократить обращение к ОП пу­тем сохранения нарегистрах промежуточных результатов, передачи через регистры операндов из одних программ в другие программы или подпрограммы, отказа от передач на сохранение в ОП содержимого регистров при прерываниях.

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

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



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

В настоящее время за рубежом выпущен ряд микропроцессоров с RISC-архитектурой. Примером являются высокопроизводительные станции на базе микропроцессора Alpha 21264, микропроцессор для WindowsCE Intel StrongARM.

Несмотря на начавшееся использование RISC-архитектуры в выпускаемой промышленностью ЭВМ, продолжаются дискус­сии вокруг достоинств и недостатков этой архитектуры. К по­следним, в частности, относят большую длину кода программы после компиляции по сравнению с длиной кода машин обычной архитектуры. Например, при эмуляции команд x86 в среднем на каждую его команду требу­ется пять-шесть команд машины с RISC-архитектурой. Однако, как показали исследования, выигрыш в скорости выполнения команд перекрывает проигрыш от удлинения объектного кода программы.

В 1989 фирме Intel удалось на основе RISC-архитектуры создать однокри­стальный микропроцессор 80860, который практически представ­ляет собой кремниевый эквивалент суперЭВМ Gray-1.

Классификация архитектур микропроцессоров

Развитие архитектуры ЭВМ, направленное на повышение их производительности, во многих случаях идет по пути усложне­ния процессоров путем расширения системы (набора) команд, введения сложных команд, выполняющих процедуры, приближа­ющиеся к примитивам языков высокого уровня, увеличения числа используемых способов адресации и т. д.

Однако расширение и усложнение набора команд порожда­ют и ряд нежелательных побочных эффектов.

Расширение набора команд, увеличение числа способов ад­ресации, введение сложных команд сопровождаются увеличени­ем длины кода команды, в первую очередь, кода операции, что может приводить к использованию «расширяющегося кода опе­рации», увеличению числа форматов команд. Это вызывает ус­ложнение и замедление процесса дешифрации кода операции и других процедур обработки команд. Возрастающая сложность процедур обработки команд заставляет прибегать к микропрог­раммным управляющим устройствам с управляющей памятью вместо более быстродействующих УУ с «жесткой» («схемной») логикой.

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

Анализ кода программ, генерируемого компиляторами языков высокого уровня, показал, что практически используется только ограниченный набор простых команд форматов "регистр, регистр -> регистр" и "регистр <-> па­мять". Компиляторы не в состоянии эффективно использовать сложные ко­манды. Именно это наблюдение способствовало формированию концепции процес­соров с сокращенным набором команд, так называемых RISC-процессоров.

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

Однако конвейерность исполнения команд породила проблемы, свя­занные с зависимостями по данным и управлению между последовательно запускаемыми в конвейер командами. Например, если очередная команда использует результат предыдущей, то ее исполнение невозможно в тече­ние нескольких тактов, необходимых для получения этого результата. Аналогичные проблемы возникают при исполнении команд перехода по условию, когда данные, по которым производится переход, к моменту де­шифрации команды условного перехода еще не готовы.

Эти проблемы решаются либо компилятором, устанавливающим оче­редность запуска команд в конвейере и вставляющим команды "Нет опе­рации" при невозможности запуска очередной команды, либо специаль­ной аппаратурой процессора, отслеживающей зависимости между коман­дами и устраняющей конфликты.

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

Очевидно, что RISC-процессоры эффективны в тех областях примене­ния, в которых можно продуктивно использовать структурные способы уменьшения времени доступа к оперативной памяти. Если программа ге­нерирует произвольные последовательности адресов обращения к памяти и каждая единица данных используется только для выполнения одной ко­манды, то фактически производительность процессора определяется вре­менем обращения к основной памяти. В этом случае использование сокра­щенного набора команд только ухудшает эффективность, так как требует пересылки операндов между памятью и регистром вместо выполнения команд "память, память - память". Программист должен учитывать необ­ходимость локального размещения обрабатываемых данных, чтобы при пересылках между уровнями памяти по возможности все данные пересы­лаемых блоков данных принимали участие в обработке. Если программа будет написана так, что данные будут размещены хаотично и из каждого пересылаемого блока данных будет использоваться только небольшая их часть, то скорость обработки замедлится в несколько раз до скорости ра­боты основной памяти. В качестве примера приведем в таблице 1.1 ре­зультаты замеров производительности микропроцессора Alpha 21066 233 Мгц при реализации преобразования Адамара при n = 8 - 20.

Таблица 1.1 Производительность микропроцессора Alpha 2I066 при выполнении преобразования Адамара

Пример показывает, что, пока данные размещаются во внутрикристальной кэш-памяти, производительность высока. Как только объем данных превышает размер кэш-памяти и обращения в память идут в "равномер­но" распределенные по объему адреса, производительность падает более, чем в 7 раз.

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

В настоящее время на основе пионерских разработок компаний NexGen и AMD, подхваченных компанией Intel, предпринята попытка решить пробле­му повышения производительности в рамках архитектуры х86. Эти компа­нии в последних разработках, сохраняя преемственность по системе команд с CISC-микропроцессорами семейства х86, создают новые устройства с исполь­зованием элементов RISC-архитектуры. Примером такого подхода могут слу­жить микропроцессоры Nx586 (NexGen), K5, К6 (AMD), Pentium PRO, Pentium II (Intel), использующие концепцию разделенной (decoupled) архи­тектуры и RISC ядра. В микропроцессор встраивается аппаратный трансля­тор, превращающий команды х86, в команды RISC-процессора. При этом одна команда х86 может порождать до четырех команд RISC-процессора. Исполнение команд происходит как в развитом суперскалярном процессоре. Компания Intel использовала этот подход в своем микропроцессоре Pentium Pro, что весьма укрепило ее позиции на фоне достижений RISC-архитектур.

Суперскалярные процессоры

Наименование параметра Значение
Тема статьи: Особенности RISC-архитектуры
Рубрика (тематическая категория) Компьютеры

План

Архитектуры с сокращенным набором команд

1. Особенности RISC-архитектуры.

2. Регистры в RISC-процессорах.

3. Микропроцессор R10000.

Современная технология программирования нацелена на языки высокого уровня (ЯВУ), главная задача которых - облегчить процесс написания программ. Более 90% всœего процесса программирования осуществляют на ЯВУ. К сожалению, операции, характерные для ЯВУ, отличаются от операций, реализуемых машинными командами. Эта проблема получила название семантического разрыва и ведет она к недостаточно эффективному выполнению программ.

Пытаясь преодолеть семантический разрыв между языками высокого уровны (ЯВУ) и операциями, реализуемыми машинными командами, разработчики ВМ расширяют систему команд, дополняя ее командами, реализующими сложные операторы ЯВУ на аппаратном уровне, вводят дополнительные виды адресации и т.п. Архитектуру вычислительных машин, где реализованы эти средства, принято называть архитектуройы с расширенным (полным) набором команд (CISC - Complex Instruction Set Computer).

Системы с CISC- архитектурой обладают рядом недостатков. Это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. Был предпринят комплекс исследований, в результате которых обнаружились интересные закономерности:

1) реализация сложных команд, эквивалентных операторам ЯВУ, требует увеличения емкости управляющего ПЗУ в микропрограммном УУ;

2) в откомпилированной программе операторы ЯВУ реализуются в виде процедур (подпрограмм), в связи с этим на операции вызова процедуры и возврата из нее приходится от 15 до 45% вычислительной нагрузки;

3) почти половину операций в ходе вычислений составляет операция присваивания, сводящаяся к пересылке данных между регистрами, ячейками памяти или регистрами и памятью.

4) подавляющее большинство команд (более 90-95%), составляющие программы, образуют сравнительно компактное подмножество из системы команд машины (20%);

5) сравнительно небольшой набор команд можно эффективно реализовать аппаратными средствами так, что каждая операция выполнялась бы за один (реже два) такта.

Детальный анализ результатов исследований привел к серьезному пересмотру традиционных архитектурных решений, следствием чего стало появление архитектуры с сокращенным набором команд (RISC - Reduced Instruction Set Computer).

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

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

Основная причина, препятствующая сведению всœех этапов цикла команды к одному тактовому периоду, - потенциальная крайне важно сть доступа к памяти для выборки операндов и/или записи результатов. Следует максимально сократить число команд, имеющих доступ к памяти. По этой причине целœесообразно доступ к памяти осуществлять только командами ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ и сделать всœе операции, кроме ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ одного типа – ʼʼрегистр-регистрʼʼ.

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

В корне RISC- процессоров лежат три принципа :

1) минимизация длительности такта;

2) завершение выполнения команды в каждом такте;

3) минимизация числа команд за счёт эффективной компиляции.

Особенности RISC-процессора:

1. Система команд включает сравнительно небольшое число простейших операций (не более 128).

2. Большинство команд выполняется за один цикл (по крайней мере, 75% команд);

3. Все команды имеют стандартную однословную длину и фиксированный формат (количество форматов команд не более 4). Это позволяет получать команду из памяти за одно обращение, а затем дешифрировать код операции за один такт.

4. Дешифрация команд реализуется аппаратными средствами.

5. Используется ограниченное число способов адресации (не более 4).

6. Система команд предусматривает команды работы с памятью, копирования и обработки.

7. Команды обработки отделœены от команд обращения к памяти. При выполнении операционных команд аргументы должны располагаться в регистровой памяти и результат также помещается в регистровую память (команды типа ʼʼрегистр-регистрʼʼ (R-команды)).

8. Доступ к памяти только посредством команд ʼʼЧтениеʼʼ и ʼʼЗаписьʼʼ;

9. Все команды, за исключением ʼʼЧтенияʼʼ и ʼʼЗаписиʼʼ, используют внутрипроцессорные межрегистровые пересылки;

10. Относительно большой процессорный файл регистров общего назначения.

11. Устройство управления с ʼʼжесткойʼʼ логикой;

Как уже отмечалось, система команд RISC- процессоров значительно меньше набора команд ЭВМ с традиционной архитектурой.

Все операционные команды (для RISC I) являются 3-х адресными R-типа, при их выполнении устанавливается определœенное значение в специальном регистре кода условия. Эти команды имеют формат, представленный на рис. 4.1, а.

Пусть длина команды составляет 32 разряда, тогда:

КОп – код операции – 7 бит;

S 1 – регистр-источник – 5 бит;

S 2 – регистр-источник – 13 бит;

Rd – регистр-приемник – 5 бит;

F 1 и F 2 – флаги признаков – по 1 биту.

В случае если F 1 =0, то признаки результата не устанавливаются. В случае если F 2 =0, то содержимое S 2 интерпретируется как непосредственный операнд.

Формат команды чтения/записи в память приведен на рис. 4.2, б. При обращении к памяти используется только один режим адресации с индексацией.

Реализуются определœенные механизмы работы с подпрограммами. При обращении к подпрограмме вместо запоминания содержимого регистров в стеке или памяти подпрограмме выделяется новый набор регистров (около 140 регистров).

Особенности RISC-архитектуры - понятие и виды. Классификация и особенности категории "Особенности RISC-архитектуры" 2017, 2018.

  • - Особенности архитектуры и скульптуры в культуре Двуречья (Месопотамии).

    Развитие искусства Древнего Египта. Египет - древнейшее государство мира, а его искусство - самый ранний вклад в историю культуры стран Древнего Востока. Шесть тысяч лет тому назад в плодородной долине Нила возникли первые рабовладельческие деспотии, объединённые в... .


  • - Особенности архитектуры Windows 2000

    Архитектура WIN 2000, установка драйверов · Вытесняющая многозадачность (по приоритетам): одновременно можно запускать несколько программ но они выполняются частями поочередно, «вытесняя» одна другую в зависимости от приоритета программы. · Многопотоковость: один... .


  • - Архитектурные принципы организации RISC-процессоров

    Как отмечается в /1, 14, 15/, список команд современного микропроцессора может содержать достаточно большое число команд. Однако не все они используются одинаково часто и регулярно. Это свойство системы команд явилось предпосылкой для развития процессоров с RISC-архитектурой.... .


  • - Особенности архитектуры процессорного ядра SHARC-процессоров второго поколения.

    ADSP-21160 – первый процессор второго поколения SHARC DSP. Процессоры этого семейства разрабатывались для решения задачи повышения производительности вычислений с возможностью сохранения максимальной совместимости кода с процессорами первого поколения SHARC DSP. Выигрыш в... .


  • - Обзор методик оптимизации кода для RISC-процессоров

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


  • Основные модели CISC и RISC-процессоров.

    1. Классическими моделями являются модели вычислительных систем IBM/360, IBM/370, IBM/390. Выпуск первых моделей относится к середине 60-х годов.

    Mainframe. В плане преемственности в 21в. IBM выпустила модель G5, поддерживающую архитектуру Mainframe’ов; поддерживающих 2 стандарта представления чисел с плавающей точкой: стандарт MFP (IBM/360) - S=16, стандарт IEEE 750 - S=2.

    Классикой считаются миникомпьютеры:

    2. PDP-11, VAX фирмы DEC (80-90гг.). (Отечественный аналог СМ ЭВМ).

    3. Семейство процессоров Intel 80x86, Pentium.

    4. Семейство фирмы AMD (Advanced Micro Device): K5, K6, K7 - Athlon/Duron, K8 – Hammer (64-разрядная арх-ра)

    o 5x86 – аналог Pentium,

    o 6x86 – аналог Pentium MMX

    o Winchip C6 – аналог Pentium MMX

    7. Motorola M68xxx

    1. Alpha DEC/HP модели.

    Выпуск моделей в последнее время прекращен, т.к. фирма переключилась на архитектуру IA-64 (1 модель Intel Itanium – VLIW- арх-ра (very long instruction word))

    2. SPARC (Scalable Processor ARChitecture) – Sun Microsystems

    Являясь разработчиком SPARC, фирма SUN предоставила лицензию на производство процессоров с предлагаемой спецификацией. Эти процессоры выпускаются компаниями TI (Texas Instrument), Фуджицу.

    К настоящему времени выпущено 4 основных вида SPARC:

    MicroSPARC – 32 разряда

    SuperSPARC – 32 р

    HyperSPARC – 32 р

    UltraSPARC – 64 разряда

    3. Power. Семейство. Фирма IBM. Performance Optimized With Enhanced RISC. Основные области применения: высокопроизводительные серверы и суперкомпьютеры (Классов MPP – Massively Parallel Processing)

    4. PA-RISC (фирма HP) – Precision Architecture

    5. MIPS (Microprocessor without Integer locked Pipeline Stage)

    8. Режимы работы ЦП: прикладной и системный - и их особенности. Реализация режимов в процессорах семейства Intel 80x86, Pentium в виде реального режима (RM) и защищенного режима (PM). Основные особенности режимов и способы их переключения.



    В целях разграничения доступа к системным ресурсам со стороны системных и прикладных программ в современных процессорах поддерживаются два основных режима функционирования: прикладной и системный .

    В системном режиме допускается использование системных ресурсов, в том числе системных регистров и системных (привилегированных) команд.

    В прикладном режиме попытка использования системных регистров и привилегированных команд пресекается выходом на обработку соответствующего прерывания.

    В простейшем виде режим работы процессора задается с помощью специального бита, находящегося в каком-либо системном регистре. Например, в процессоре системы IBM/370 бит режима находится в слове состояния программы (Program Status Word – PSW). Два альтернативных состояния в этих процессорах называются “задача (task)” и ”супервизор (supervisor)”.

    Аналогичный бит режима, называемый PS (Processor Status) имеет место в моделях миникомпьютеров VAX11. Находится в слове состояния процессора.

    В процессорах семейства Intel 80х86 разделение пользовательских и системных режимов задается специальным битом PE (Protect Enabled) в управляющем регистре CR0 (0 бит). Управляющие регистры относятся к системным. (CR0-CR4, CR1 - нету).

    PE = 0 – реальный режим работы процессора (RM - Real Mode)

    PE = 1 – защищенный режим работы процессора (PM - Protected Mode)

    Реальный режим: в RM процессор старшей модели выполняет программы, составленные для младших моделей, в том числе для базовой модели Intel 8086, с помощью этого режима поддерживается возможность выполнения большого числа программ, наработок, ранее созданных для младших моделей.

    С точки зрения программиста процессоры старших моделей в RM представляют более быстрый базовый процессор с расширением набора команд и регистров до уровня процессоров старших моделей.

    Одной из основных особенностей RM является формирование физического адреса на основе простейшей модели сегментированной памяти (как в базовой модели). – СМ. вопр. 8

    После включения питания процессоры старших моделей программой инициализации автоматически переводятся в RM. Аналогичная процедура (Переключение в RM) и по сигналу сброса Reset.

    Переход из RM в PM может осуществляться командой MOV (системной), загружающей системный регистр CR0 с новыми состояниями с установленным битом PE. Перед этим в RM должна быть произведена загрузка необходимых регистров, используемых в PM.

    Основные отличия RM от базовой модели :

    1) Возможность использования расширенной системы команд, не допускается лишь использование небольших групп команд, связанных непосредственно с PM.

    2) Возможность использования расширенного набора регистров (дополнительный сегмент регистров FS, GS)

    3) Возможность использования 32-разрядных операндов.

    Основные особенности PM :

    1) Использование разнообразных средств защиты программы и данных от несанкционированного доступа. Одним из основных видов является защита по уровням привилегий (по кольцам защиты).

    Концепция защиты:

    Обеспечение возможности доступа из внутренних колец во внешние, с пресечением попыток доступа из внешних колец во внутренние.


    Наивысший уровень привилегий PL = 0 – присваивается программам и данным ядра ОС.

    Низший – PL = 3 – уровень принадлежащий программам (присваивается пользовательским сегментам кода и данных).

    PL = 1, 2 (для обслуживающих и обрабатывающих программ ОС, в частности, драйверы ВУ PL = 1, компиляторы – PL = 2).

    Современные ОС поддерживает только два уровня привилегий: системный и пользовательский, которые имеют место при страничной организации.

    2) Поддержка виртуальной организации памяти

    3) Использование средств поддержки так называемого мультизадачного режима процессора, с помощью которого создается иллюзия параллельного выполнения программ (задач) за счет быстрого переключения с одной задачи на другую.

    9. Конвейер команд как средство реализации низкоуровневого параллелизма (ILP) и его концепции. Классический шестиступенчатый конвейер команд. Идеальные условия обеспечения максимальной производительности.

    Конвейризация (pipeline) является одним из важнейших способов реализации низкоуровневого параллелизма (уровень машинных команд, ILP instruction level parallelizm). В принципе конвейеры команд появились в компьютерах в начале шестидесятых годов. Концепции конвейера команд базируются на следующем:

    1. Разделение порядка выполнения машинной команды на ряд последовательных этапов.

    2. Разделение аппаратуры процессора в части блока управления на ряд независимых блоков, каждый из которых может выполнять один или несколько последовательных этапов команды. Количество этапов (стадий, фаз, ступеней) является важной характеристикой конвейера команд. Классический конвейер команд является шестиступенчатый.

    1) выборка команды (IF instruction fetch)

    3) формирование адресов операндов OA (operand address)

    4) выборка операндов OF (operand fetch)

    5) выполнение операции EX (executive)

    6) запись результата ST (store)

    Принято считать, что конвейер команд с числом ступеней, большим чем у классического, но меньше 10, реализует суперконвейерную обработку, а с числом ступеней больше 10-15, гиперконвейерную обработку. В современных процессорах используются конвейеры команд с числом ступеней порядка 20.

    10. Основные причины снижения производительности реальных конвейеров команд: структурные риски, риски по данным, риски по управлению - и способы устранения или уменьшения их влияния.

    В идеальном случае, N-ступенчатый конвейер команд дает увеличение производительности процессора в N раз. Идеализация определенной оценки связывается со следующими:

    · длительность всех фаз одинакова

    · время переключения конвейера с фазы на фазу пренебрежимо мало по сравнению с длительностью фаз

    · все фазы конвейера максимально загружены, что может иметь место только на линейных участках программы.

    В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.

    Замысел RISC- процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора. электронный устройство микроконтроллер процессор

    Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.

    По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%

    Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.

    Основные особенности RISC-процессоров:

    • - Сокращенный набор команд (от 80 до 150 команд).
    • - Большинство команд выполняется за 1 такт.
    • - Большое количество регистров общего назначения.
    • - Наличие жестких многоступенчатых конвейеров.
    • - Все команды имеют простой формат, и используются немногие способы адресации.
    • - Наличие вместительной раздельной кэш-памяти.
    • - Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.

    RISC-процессоры 3-го поколения

    Самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

    Все RISC-процессоры третьего поколения:

    • - являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);
    • - имеют встроенные конвейерные блоки арифметики с плавающей точкой;
    • - имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;
    • - изготавливаются по КМОП-технологии с 4 слоями металлизации.

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

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

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

    Основными преимуществами RISC-архитектуры является наличие следующих свойств:

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

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

    Аппаратные блоки в RISC-архитектуре:

    Блок загрузки инструкций включает в себя следующие составные части: блок выборки инструкций из памяти инструкций, регистр инструкций, куда помещается инструкция после ее выборки и блок декодирования инструкций. Эта ступень называется ступенью выборки инструкций.

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

    Арифметико-логическое устройство и, если в данной архитектуре реализован, аккумулятор, вместе с логикой управления, которая, исходя из содержимого регистра инструкций, определяет тип выполняемой микрооперации. Источником данных помимо регистра инструкций может быть счетчик команд, при выполнении микроопераций условного или безусловного перехода. Данная ступень называется исполнительной ступенью конвейера.

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

    Однако к моменту разработки RISC-архитектуры, промышленным стандартом микропроцессоров де-факто стала архитектура Intel x86, выполненная по принципу CISC-архитектуры. Наличие большого числа программ, написанных под архитектуру Intel x86, сделала невозможным массовый переход ЭВМ на RISC-архитектуру. По этой причине основной сферой использования RISC-архитектуры явились микроконтроллеры, благодаря тому, что они не были привязаны к существующему программному обеспечению. Кроме того некоторые производители ЭВМ во главе с IBM так же начали выпускать ЭВМ, построенные по RISC-архитектуре, однако несовместимость программного обеспечения между Intel x86 и RISC-архитектурой в значительной степени ограничивала распространение последних.

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

    Таким образом, ядра большинства современных микропроцессоров, начиная с Intel 486DX, выполнены по RISC-архитектуре с поддержкой внешнего Intel x86 интерфейса. Кроме того, подавляющее большинство микроконтроллеров, а так же некоторые микропроцессоры выпускаются по RISC-архитектуре.

    В современном RISC-процессоре используется не менее 32 регистров, часто более 100, в то время, как в классических ЦВМ обычно 8-16 регистров общего назначения. В результате процессор на 20%-30% реже обращается к оперативной памяти, что также повысило скорость обработки данных. Кроме того, наличие большого количества регистров упрощает работу компилятора по распределению регистров под переменные. Упростилась топология процессора, выполняемого в виде одной интегральной схемы, сократились сроки ее разработки, она стала дешевле.

    После появления RISC-процессоров традиционные процессоры получили обозначение CISC - то есть с полным набором команд (Complete Instruction Set Computer).

    В настоящее время RISC-процессоры получили широкое распространение. Современные RISC-процессоры характеризуются следующим:

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

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

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

    Выполнение типичной команды можно разделить на следующие этапы:

    • - выборка команды IF - по адресу, заданному счетчиком команд, из памяти извлекается команда;
    • - 2) декодирование команды ID - выяснение ее смысла, выборка операндов из регистров;
    • - 3) выполнение операции EX, при необходимости обращения к памяти - вычисление физического адреса;
    • - 4) обращение к памяти ME;
    • - 5)запоминание результата WB

    В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

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

    Рис.2

    Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.

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

    Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.

    Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. Однако гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.

    RISC-архитектура — компьютер с уменьшенным набором инструкций. Является типом микропроцессорной архитектуры, которая использует небольшой оптимизированный набор инструкций в отличие от предшестувующих типов архитектур с расширенным набором алгоритмических данных. Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC.

    Определение

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

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

    Первые проекты RISC пришли из IBM, Stanford и UC-Berkeley в 70-х и 80-х гг. ХХ века. IBM 801, Stanford MIPS и Berkeley RISC I и II были разработаны с аналогичной философией, которая стала известна как RISC. Некоторые особенности дизайна были характерны для большинства RISC-процессоров:


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

    Плюсы и минусы архитектуры RISC

    Простейший способ изучить преимущества и уязвимости архитектуры RISC - это сопоставить ее с предшествующей архитектурой CISC. Основная цель архитектуры CISC — завершить задачу за меньшее количество линий сборки. Это достигается за счет создания процессорного оборудования, способного понимать и выполнять ряд операций. Для этой конкретной задачи процессор CISC выпускается с конкретной инструкцией (MULT). При выполнении эта команда загружает два значения в отдельные регистры, умножает операнды в исполнительном модуле и затем сохраняет продукт в соответствующем регистре. Таким образом, вся задача умножения двух чисел может быть завершена одной инструкцией: MULT 2: 3, 5: 2. CISC и RISC-архитектура — предшествующее и последующее архитектурное решение.

    MULT - это то, что известно как «сложная инструкция». Команда работает непосредственно в банках памяти компьютера и не требует, чтобы программист явно вызывал любые функции загрузки или сохранения. Она очень похожа на команду на языке более высокого уровня. Например, если мы допустим, что a представляет значение 2:3, а b представляет значение 5:2, то эта команда идентична выражению C a = a * b.

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

    Подход RISC

    Процессоры RISC используют только элементарные инструкции, которые выполняются за один такт. Таким образом, описанная выше команда MULT может быть разделена на три отдельные команды: LOAD, которая перемещает данные из банка памяти в регистр PROD, который находит произведение двух операндов, расположенных внутри регистров, и STORE, который перемещает данные из регистра в банки памяти. Чтобы выполнить точный ряд шагов, описанных в подходе CISC, программисту необходимо будет закодировать четыре строки сборки:

    LOAD A, 2:3.
    LOAD B, 5:2.
    PROD A, B.
    STORE 2:3, А.

    Изначально это может показаться гораздо менее эффективным способом завершения операции, поскольку существует больше строк кода и для хранения инструкций уровня сборки требуется больше ОЗУ. Компилятор также должен выполнить больше работы, чтобы преобразовать формулировку языка высокого уровня в код этой формы.

    Сравнение CISC и RISC

    Ниже представлены сравнительные данные CISC и RISC-архитектуры:

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

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

    Характеристика процесса

    Разделение инструкций LOAD и STORE фактически уменьшает объем работы, которую должен выполнить компьютер. После выполнения команды MULT в стиле CISC процессор автоматически стирает регистры. Если один из операндов необходимо использовать для другого вычисления, процессор должен перезагрузить данные из банка памяти в регистр. В RISC операнд останется в регистре, пока на нем не будет загружено другое значение.

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

    Сложности коммерцеской реализации

    Несмотря на преимущества обработки на основе RISC, прошли десятилетия прежде, чем чипы RISK были коммерчески востребованы. Во многом это было связано с отсутствием поддержки программного обеспечения.

    Хотя линейка Power Macintosh от Apple, в которой использовались чипы на основе RISC и Windows NT, совместима с RISC, Windows 3.1 и Windows 95 были разработаны с учетом процессоров CISC. Многие компании не желали рисковать появляющейся технологией RISC. Без коммерческого интереса разработчики процессоров не смогли изготовить чипы RISC в достаточно больших объемах, чтобы сделать их цену конкурентоспособной.

    Еще одним серьезным препятствием стало присутствие Intel. Несмотря на то, что их чипы CISC стали все более громоздкими и сложными в разработке, Intel обладала ресурсами для разработки мощных процессоров. Хотя чипы RISC могли превзойти усилия Intel в определенных областях, различия не были достаточно велики, чтобы убедить покупателей менять технологии.

    Общее преимущество RISC

    Сегодня Intel x86 является единственным чипом, который сохраняет архитектуру CISC. Это связано прежде всего с продвижением в других областях компьютерной техники. Цена ОЗУ резко снизилась. В 1977 году 1 МБ DRAM стоил около 5000 долларов. К 1994 году такой же объем памяти стоит всего 6 долларов США (с учетом инфляции). Технология компилятора также стала более сложной, так что использование RISC RAM и акцент на программное обеспечение стали идеальными.

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

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

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

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

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

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

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

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

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

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

    Особенности RISC-архитектуры

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

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

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


    Практическое применение

    RISC-архитектура процессора теперь используются на большом спектре платформ: от смартфонов и планшетных ПК до некоторых из самых высокопродуктивных суперкомпьютеров, таких как компьютер K (лидер списка топ-500 в 2011 г.).

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

    • доминирует на рынке для маломощных и недорогих встроенных систем (200-1800 МГц в 2014 году). Она применяется в ряде большинства Android-систем, Apple iPhone и iPad, Microsoft Windows Phone (бывшая Windows Mobile), устройства RIM (topic.risc.архитектура), Nintendo Game Boy Advance, DS/3DS и Switch.
    • Линия MIPS (в какой-то момент используется во многих компьютерах SGI), а теперь - в PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.архитектура), игровых консолях PlayStation Portable и шлюзах для жилых помещений, таких как Linksys WRT54G .
    • Hitachi SuperH, использующийся в Sega Super 32X, Saturn и Dreamcast (viewtopic.php.risc.архитектура), теперь разработан и продан Renesas как SH4.
    • Atmel AVR используется в разных продуктовых линейках: от портативных контроллеров Xbox до автомобилей BMW .
    • RISC-V (vbulletin.risc.архитектура), пятый Berkeley RISC ISA с открытым исходным кодом, с 32-разрядным адресным пространством, небольшим ядром целочисленного набора команд, экспериментальной «сжатой» ISA для плотности кода и предназначенной для стандартных и специальных расширений.
    • Рабочие станции, серверы и суперкомпьютеры.
    • MIPS (powered.by.smf.risc.архитектура), Silicon Graphics (в 2006 году прекратила создание систем на основе MIPS).
    • SPARC, Oracle (ранее Sun Microsystems) и Fujitsu (phorum.risc.архитектура).
    • Архитектура IBM Power Architecture, применяемая в большинстве суперкомпьютеров IBM, серверах усредненного уровня и терминальных станциях.
    • PA-RISC Hewlett-Packard (phpbb.risc.архитектура), также именуемый как HP-PA (прекращен в конце 2008 года).
    • Alpha, используется в рабочих станциях, серверах и суперкомпьютерах от Digital Equipment Corporation, Compaq и HP (прекращено с 2007 года).
    • RISC-V (powered.by.phpbb.risc.архитектура), пятый Berkeley RISC ISA, с открытым исходным кодом, с 64 или 128-битными адресными пространствами и целым ядром, расширенным с плавающей точкой, атомизацией и векторной обработкой, и разработанный для расширения с инструкциями для сетей, ввода-вывода, обработки данных. 64-битный суперскалярный дизайн Rocket доступен для скачивания.

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

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

    Архитектуры RISC традиционно имели мало успехов на рынке настольных ПК и товарных серверов, где платформы на базе x86 остаются доминирующей архитектурой процессора. Однако это может измениться, поскольку процессоры на базе архитектуры ARM разрабатываются для систем с более высокой производительностью. Производители, включая Cavium, AMD и Qualcomm, выпустили на базе архитектуры ARM. ARM также сотрудничала с Cray в 2017 году, чтобы создать суперкомпьютер на базе архитектуры ARM. Компания-лидер компьютерной индустрии Microsoft объявила, что в рамках партнерства с Qualcomm в 2017 году планируется поддержка ПК-версии Windows 10 на устройствах на базе Qualcomm Snapdragon. Эти устройства будут поддерживать программное обеспечение Win32 на базе x86 с помощью эмулятора процессора x86.

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

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



    Понравилась статья? Поделиться с друзьями: