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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



● Фиксированная длина машинных инструкций и простой формат команды.

● Специализированные команды для операций с памятью — чтения или записи. Операции вида Read-Modify-Write отсутствуют.

● Большое количество регистров общего назначения (32 и более).

● Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово.

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

Архитектура ARM (AdvancedRISCMachine, Acorn RISC Machine, усовершенствованная RISC-машина) — семейство лицензируемых 32-битных и 64-битныхмикропроцессорных ядер разработки компании ARM Limited.

Архитектура ARM обладает следующими особенностями RISC:

● Архитектура загрузки/хранения

● Нет поддержки нелинейного доступа к памяти

● Равномерный 16х32-битный регистровый файл

● Фиксированная длина команд для упрощения декодирования за счет снижения плотности кода.

● Одноцикловое исполнение

● Арифметические инструкции заменяют условные коды только когда это необходимо

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

● Мощные индексированные адресные режимы

● Регистр ссылок для быстрого вызова функций листьев

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

 

Архитектура CISC

CISC (англ. Complex instruction set computing, илиангл. complexinstructionsetcomputer — компьютер с полным набором команд) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

● нефиксированное значение длины команды;

● арифметические действия кодируются в одной команде;

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

Недостатки CISC архитектуры

● высокая стоимость аппаратной части;

● сложности с распараллеливанием вычислений.

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

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

 

Архитектура MISC

MISC (англ. minimalinstructionsetcomputer — «компьютер с минимальным набором команд») — вид процессорной архитектуры.

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

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

MISC-принцип может лежать в основе микропрограммы выполнения программ Java и.Net, хотя по количеству используемых команд они нарушают принцип MISC.

 

Архитектура URISC

URISC (от англ. Ultimate RISC) — предельный случай процессора типа RISC (буквально: компьютер с сокращённым набором инструкций), в котором выполняется только один тип инструкций: обычно это «reverse-subtractandskipifborrow», что означает «вычесть и пропустить следующую инструкцию, если вычитаемое было больше уменьшаемого» соответственно. Аналогичная концепция, основанная именно на «subtractandbranchunlesspositive» — «вычесть и перейти, если результат не положительный», называется SUBLEQ.

Также возможен вариант, при котором доступна только одна инструкция — пересылка (move), а для выполнения операций используется АЛУ, размещенное в памяти.

URISC является Полным по Тьюрингу.

URISC также известен в современной литературе как OISC (англ. OneInstructionSetComputer).

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

 

 

Архитектура OISC

OpenRISC — открытыймикропроцессор архитектуры RISC с открытым исходным кодом на языке описания аппаратного обеспеченияVerilog. Проект создан сообществом OpenCores и распространяется по лицензииGNULGPL. OpenRISC воплощён аппаратно и успешно производится в виде интегральных микросхем и ПЛИС.

Набор инструкций (ORBIS32) представляет собой простой вариант RISC, схожий с MIPS, и использует трехоперандные команды фиксированной длины (32 бита). Работа с памятью возможна только с помощью операций load и store. Доступно 16 или 32 регистров общего назначения. 64-х битная и 32-х битная версии инструкций во многом схожи, основными различиями являются: увеличение размера регистров до 64 бит и изменение формата таблицы страниц.

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

 

Архитектура VLIW

VLIW (англ. verylonginstructionword — «очень длинная машинная команда») — архитектура процессоров с несколькимивычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно[1][2]. Фактически это «видимое программисту» микропрограммное управление, когда машинный код представляет собой лишь немного свёрнутый микрокод для непосредственного управления аппаратурой.

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

VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Так же, как в RISC, в инструкции явно указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128 или даже 256 бит.

Преимущества и недостатки

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 524; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.230.35.103 (0.038 с.)