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

 

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

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

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

Излишне напоминать, что в сокращенном списке команд должны оставаться те, которые используются наиболее часто. Исследования показали, что 80-90% времени выполнения типовых программ приходится на относительно малую часть команд (10-20%). К наиболее часто востребуемым действиям относятся пересыл­ка данных, арифметические и логические операции. Основная причина, препят­ствующая сведению всех этапов цикла команды к одному тактовому периоду, — по­тенциальная необходимость доступа к памяти для выборки операндов и/или записи результатов. Следует максимально сократить число команд, имеющих доступ к па­мяти. Это соображение добавляет к ранее упомянутым принципам RISC еще два:

· доступ к памяти во время исполнения осуществляется только командами «Чте­ние» и «Запись»;

· все операции, кроме «Чтение» и «Запись», имеют тип «регистр-регистр».

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

Суммируя сказанное, концепцию RISC-компьютера можно свести к следую­щим положениям:

· выполнение всех (или, по крайней мере, 75% команд) за один цикл;

· стандартная однословная длина всех команд, равная естественной длине слова и ширине шины данных и допускающая унифицированную поточную обработ­ку всех команд;

· малое число команд (не более 128);

· малое количество форматов команд (не более 4);

· малое число способов адресации (не более 4);

· доступ к памяти только посредством команд «Чтение» и «Запись»;

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

· устройство управления «жесткой» логикой;

· относительно большой (не менее 32) процессорный файл регистров общего назначения.