Особенности 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 бит;

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

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

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

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

 
 

Если F1=0, то признаки результата не устанавливаются. Если F2=0, то содержимое S2 интерпретируется как непосредственный операнд.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: