Особенности архитектуры RISC-процессоров. Назначение окон при обработке информации. Особенности структуры команд в этих системах.
Развитие архитектуры ЭВМ, направленное на повышение их производительности, во многих случаях идет по пути усложнения процессоров путем расширения системы команд и их усложнения.
Однако расширение и усложнение набора команд, увеличение числа способов адресации, введение сложных команд, сопровождаются увеличением длины кода команд, что в первую очередь, относится к коду операции. Это приводит к увеличению числа форматов команд. В свою очередь это вызывает усложнение и замедление процесса дешифрации кода операции и других процедур обработки команд. Возрастающая сложность процедур обработки команд заставляет прибегать к микропрограммным управляющим устройствам с управляющей памятью вместо более быстродействующих УУ с "жесткой" логикой.
Усложнение процессора делает более трудным или даже не выполнимым реализацию его на одном кристалле интегральной микросхемы, что благодаря сокращению длин межсоединений могло бы облегчить достижение высоко производительности.
В связи с этим в последнее время сформировалось альтернативное по отношению к усложнению архитектуры процессоров направление, использующее при создании сравнительно дешевых высокопроизводительных ЭВМ архитектуру с сокращенным набором команд – RISC-архитектуры (Reduced Instruction Set Computers – ЭВМ с сокращенным набором команд).
RISC-архитектура предполагает реализацию в компьютерах сокращенного набора простейших, но часто употребляемых команд. Это позволяет упростить аппаратурные средства процессора и благодаря этому получить возможность повысить его быстродействие.
При использовании RISC-архитектуры выбор набора команд и структуры процессора направлены на то, чтобы команды набора выполнялись за один цикл процессора.
В компьютерах с RISC-архитектурой машинным циклом называют время, в течение которого производится выборка двух операндов из регистров, выполнение операции в АЛУ и запоминание результата в регистре. Большинство команд являются быстрыми командами типа "регистр–регистр" и выполняются они без обращений к ОП. Обращение к оперативной памяти сохраняется лишь в командах загрузки регистров из памяти и запоминания в ней результат. Для выполнения этих процедур процессор должен содержать достаточно большое число общих регистров.
При использовании RISC-архитектуры набор команд обычно составляет 50-100 команд, используется 2-3 простых способов адресации (в основном регистровых) и небольшое число простых форматов команд с фиксированными размерами и функциональным назначением их полей. Это приводит к упрощению управляющего устройства процессора, который в этом случае обходится без микропрограммного уровня управления и управляющей памяти, и его УУ может быть выполнено на "схемной" логике.
Большое число регистров позволяет сократить обращение к оперативной памяти путем сохранения в регистрах промежуточных результатов, передачи через регистры операндов из одних программ в другие программы или подпрограммы, отказа от передач на сохранение содержимого регистров в оперативную память или прерываниях.
Особенностью RISC-архитектуры является механизм перекрывающихся регистровых окон, предназначенный для уменьшения числа обращений к оперативной памяти, а также механизм межрегистровых передач, способствующий повышению производительности компьютера.
В этом случае процедурам динамически выделяются небольшие группы регистров фиксированной длины, т.е. регистровые окна. Окна последовательно выполняемых процедур перекрываются, благодаря чему возможна передача параметров от одной процедуры к другой. При вызове процедуры процессор переключается на работу с другим регистровым окном. При этом не возникает необходимости в передаче содержимого регистров в память.
Окно состоит из трех подгрупп регистров. Первая подгруппа содержит параметры, переданные данной процедуре от ее вызвавшей, и результаты для вызывающей процедуры при возврате в нее. Вторая подгруппа содержит локальные переменные процедуры. Третья является буфером для двустороннего обмена между данной и вызываемой следующей процедурой. При этом эта группа регистров передает следующей вызываемой процедуре параметры от данной, которая в свою очередь получает через этот буфер результаты от ее вызвавшей процедуры. Таким образом, одна и та же подгруппа для данной процедуры является регистрами временного хранения, а для следующей – регистрами параметров. Отдельное окно, доступное всем процедурам программы, является для ее глобальных переменных.
Структура команд в компьютерах с RISC-архитектурой имеет следующий вид:
Набор машинных команд для компьютеров с RISC-архитектурой значительно упрощен. Поэтому устройство управления становится очень простым, и на его долю приходится всего 6% площади кристалла. Кроме того, значительно сокращена продолжительность проектирования.
К недостаткам RISC-архитектуры относят большую длину кода программы после компиляции (объектного кода) по сравнению с длиной кода машин обычной архитектуры. Однако, выигрыш в скорости выполнения перекрывает проигрыш от удлинения объектного кода программы.