Современные RISC-архитектуры
Рассмотрим 2 группы RISC-процессоров. Первые относятся в основном к десктопно-серверным архитектурам:
Вторая группа представляет собой RISC-процессоры для встраиваемых применений:
Характеристики процессоров приведены в табл. 1 и табл. 2:
Табл. 1. Характеристики десктопно-серверных процессоров.
Табл. 2. Характеристики процессоров для встраиваемых применений.
Отметим, что встраиваемые процессоры имели в основном 8-16 регистров, тогда как десктопные 32, длина инструкций в встраиваемых процессорах была равна 16 или 32 бит, тогда как в десктопных - 32 бита.
Режимы адресации данных
Табл. 3. Режимы адресации в десктопно-серсерных процессорах.
У PA-RISC есть также версия с малым смещением при адресации со смещением. MIPS V имеет индексную адресацию для загрузки и сохранения значений с плавающей запятой.
Табл. 4. Методы адресации в встраиваемых процессорах.
SuperH и M32R имеет раздельные косвенную адресацию по регистру и адресацию по регистру со смещением, вместо того, чтобы просто записать в поле смещения при адресации. Это позволяет увеличить отношение 16-битных команд в M32R и даёт большой выбор режимов адресации для инструкций перемещения данных в SuperH. Для расширения набора режимов адресации, ARM и Thumb сдвигают смещение влево на 1 или 2 бита, если размер загружаемых данных - слово и полуслово.
В отличие от десктопных МП, встраиваемые МП не резервируют первый регистр под нулевое значение.
Форматы инструкций для RISC-архитектур.
Табл. 5. Десктопно-серверные архитектуры. Форматы команд.
Эти четыре формата есть во всех пяти архитектурах. Верхний индекс обозначает ширину поля в битах. Хотя ссылки на регистры находятся практически в тех же частях инструкции, порядок расположения отличается.
Op - код операции, Opx - расширение кода операции, Rd - регистр назначения, Rs1, Rs2 - регистры-операнды, Const - константа. В отличие от других архитектур, Alpha имеет формат для непосредственных значений в арифметико-логических операций от команд перемещения данных, показанных здесь. Используется 8-битовое значение в битах от 20 до 13 формата RR, а биты 12-5 остаются для расширения кода операции.
Табл. 6. Встраиваемые архитектуры. Форматы команд.
Эти шесть есть во всех пяти архитектурах. Обозначения аналогичны таблице 5. Отметим сходство команд переходов, условных переходов, вызовов, и разницу в командах регистр-регистр, регистр-непосредственное значение и перемещения данных. Отличия обусловлены использованием в МП 8 или 16 регистров, 2-х или 3-х регистрового фрмата команд и длины инструкции в 16 или 32 бита.
Сводка старых архитектур
Наконец, для полноты обзора, рассмотрим четыре архитектуры, появившиеся в конце 70-х годов (табл. 7). В отличие от рассмотренных выше архитектур, между следующими четырьмя наблюдается незначительная корреляция.
Табл. 7. Сводка архитектур 1970-х годов.
Форматы инструкций развиваются, стареют, увеличиваются. Следующие 2 рисунка показывают генеалогию этих наборов инструкций, и какие особенности были привнесены или удалены из множеств команд.
Как видно, все RISC-архитектуры развились до 64-битных достаточно безболезненно. Только одна архитектура - IA-32 осталась 32-битной, но в 1999 года получила продолжение в виде EPIC/IA-64.
С полной заменой архитектуры IA-32 архитектурой IA-64 архитектуры 70-х годов уйдут в историю...
Рис. 1. Генеалогическое дерево ранних архитектур.
Коммерческие машины на рисунке показаны обычным текстом, исследовательские проекты выделены жирном шрифтом. CDC-6600 и Cray-1 были машинами класса load-store с регистром 0 зафиксированном в 0, и отдельными регистрами целых чисел и чисел с плавающей запятой. Инструкции не пересекали границу слова. Ранняя исследовательская машина IBM переросла в исследовательские проекты 801 и America, 801 переросла в неуспешный проект RT/PC, а America переросла в успешную архитектуру Power. Инженеры, работавшие над 801 позднее присоединились к Hewlett Packard для работы над PA-RISC. Два университетских проекта были базой архитектур MIPS и SPARC machines. Согласно Фюрберу, проект Berkeley RISC дал толчок для появления архитектуры ARM. Если ARM1, ARM2, и ARM3 были названиями как архитектуры, так и чипа, ARM версии 4 - название архитектуры, использованной в ARM7, ARM8, и StrongARM чипах. (Не существует чипов ARMv4 и ARM5, но ARM6 и ранние ARM7 были построены на архитектуре ARM3.) DEC разработал RISC-микропроцессор в 1988 году, но не представил его. Вместо этого DEC комплектовал рабочие станции процессорами MIPS в течении трёх лет до разработки собственной архитектуры RISC - Alpha 21064, которая очень похожа на MIPS III и PRISM. Архитектура Alpha имела небольшие расширения, но они не отражались номерами версий, мы используем версию 3, так как это версия руководства по архитектуре. В чипе Alpha 21164A появились инструкции загрузки и сохранения байтов и полуслов, архитектура Alpha 21264 включала мультимедийные MAX инструкции и инструкции подсчёта бит. Внутри компании Digital именовала чипы согласно технологии изготовления: EV4 (21064), EV45 (21064A), EV5 (21164), EV56 (21164A), and EV6 (21264). "EV" обозначает "extended VAX."
Рис. 2. Расширения архитектур.