ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.12.2021

Просмотров: 5245

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Классификация архитектур системы команд

5 9

Рис.

 2.6. Архитектура вычислительной машины на базе стека

Основные узлы и информационные тракты одного из возможных вариантов

ВМ на основе стековой АСК показаны на рис. 2.6.

Информация может быть занесена в вершину стека из памяти или из АЛУ. Для

Записи в стек содержимого ячейки памяти с адресом  выполняется

 push х,

До которой информация считывается из ячейки памяти, заносится в регистр дан-

ных, а затем проталкивается в стек. Результат операции из АЛУ заносится в вер-

 стека автоматически. •'

Сохранение содержимого вершины стека в ячейке памяти с адресом

 х

 произво-

дится командой

 pop x.

 По этой команде содержимое верхней ячейки стека подает-

ся на шину, с которой и производится запись в ячейку

 х,

 после чего вся находяща-

 в стеке информация проталкивается на одну позицию вверх.
Для выполнения арифметической или логической операции на вход АЛУ по-

дается информация, считанная из двух верхних ячеек стека (при этом содержимое

стека продвигается на две позиции вверх, то есть операнды из стека удаляются).

Результат операции заталкивается в вершину стека. Возможен вариант, когда ре-

зультат сразу же переписывается в память с помощью автоматически выполняе-

мой операции

 pop x.

Верхние ячейки стековой памяти, где хранятся операнды и куда заносится ре-

 операции, как правило, делаются более быстродействующими и размеща-

ются в процессоре, в то время как остальная часть стека может располагаться в ос-

новной памяти и частично даже на магнитном диске.

К достоинствам АСК на базе стека следует отнести возможность сокращения

адресной части команд, поскольку все операции производятся через вершину сте-

 то есть адреса операндов и результата в командах арифметической и логичес-

кой обработки информации указывать не нужно. Код программы получается ком-

 Достаточно просто реализуется декодирование команд.

С другой стороны, стековая АСК по определению не предполагает произволь-

ного доступа к памяти, из-за чего компилятору трудно создать эффективный про-


background image

60 Глава 2. Архитектура системы команд

граммный код, хотя создание самих компиляторов упрощается. Кроме того,

становится «узким местом» ВМ в плане повышения производительности. В силу

упомянутых причин, данный вид АСК долгое время считался неперспективным
и встречался, главным образом, в вычислительных машинах 1960-х годов, напри-
мер в ВМ фирмы Burroughs (B5500, В6500) или фирмы Hewlett-Packard

HP 3000/70).

Последние события в области вычислительной техники свидетельствуют о воз-

рождении интереса к стековой архитектуре ВМ. Связано это с популярностью язы-
ка Java и расширением сферы применения языка Forth, семантике которых наибо-
лее близка именно стековая архитектура. Среди современных ВМ со стековой АСК
можно упомянуть машины JEM 1 и JEM 2 компании

 Systems и Clip фирмы

 Особо следует отметить стековую машину IGNITE компании Patriot

tist, которую ее авторы считают представителем нового вида АСК —

 архитекту-

рой с безоперандным набором команд.

 Для обозначения таких

 они предлагают

аббревиатуру ROSC (Removed Operand Set Computer). ROSC-архитектура зало-
жена и в некоторые российские проекты, например разработки ИТФ
Строго говоря, по своей сути

 мало отличается от традиционной архитекту-

ры на базе стека, и выделение ее в отдельный вид представляется не вполне обо-
снованным.

Аккумуляторная архитектура

Архитектура на базе аккумулятора исторически возникла одной из первых. В ней
для хранения одного из операндов арифметической или логической операции
в процессоре имеется выделенный регистр —

 аккумулятор.

 В этот же регистр зано-

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

Типичная архитектура ВМ на базе аккумулятора показана на рис. 2.7.
Для загрузки в аккумулятор содержимого ячейки

 х

 предусмотрена команда за-

грузки

 По этой команде информация считывается из ячейки памяти

 х,

 вы-

ход памяти подключается к входам аккумулятора и происходит занесение считан-
ных данных в аккумулятор.

Запись содержимого аккумулятора в ячейку

 х

 осуществляется командой со-

хранения

 store х,

 при выполнении которой выходы аккумулятора подключаются

к шине, после чего информация с шины записывается в память.

Для выполнения операции в АЛУ производится считывание одного из операн-

дов из памяти в регистр данных. Второй операнд находится в аккумуляторе. Вы-
ходы регистра данных и аккумулятора подключаются к соответствующим входам

АЛУ. По окончании предписанной операции результат с выхода АЛУ
в аккумулятор.

Достоинствами аккумуляторной АСК можно считать короткие команды и про-

стоту декодирования команд. Однако наличие всего одного регистра порождает
многократные обращения к основной памяти.


background image

Классификация архитектур системы команд 61

Рис.

 2.7. Архитектура вычислительной машины на базе аккумулятора

АСК на базе аккумулятора была популярна в ранних ВМ, таких, например, как

IBM

 DEC PDP-8, MOS 6502.

Регистровая архитектура

В машинах данного типа процессор включает в себя массив регистров (регистро-

вый файл), известных как регистры общего назначения (РОН). Эти регистры,
в каком-то смысле, можно рассматривать как явно управляемый кэш для хране-
ния недавно использовавшихся данных.

Размер регистров обычно фиксирован и совпадает с размером машинного

слова. К любому регистру можно обратиться, указав его номер. Количество РОН
в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления но-
мера конкретного регистра необходимо не более пяти разрядов, благодаря чему в
адресной части команд обработки допустимо одновременно указать номера двух,

а зачастую и трех регистров (двух регистров операндов и регистра результата).

 предполагает использование существенно большего числа РОН

(до нескольких сотен), однако типичная для таких ВМ длина команды (обычно

32 разряда) позволяет определить в команде до трех регистров.

Регистровая архитектура

 расположение операндов в одной из двух

запоминающих сред: основной памяти или регистрах. С учетом возможного раз-
мещения операндов в рамках регистровых АСК выделяют три подвида команд
обработки:
• регистр-регистр;
• регистр-память;
• память-память.

В варианте «регистр-регистр» операнды могут находиться только в регистрах.

В них же засылается и результат. Подтип «регистр-память» предполагает, что один


background image

62 Глава 2. Архитектура системы команд

из операндов размещается в регистре, а второй в основной памяти. Результат обыч-
но замещает один из операндов. В командах типа «память-память» оба операнда

хранятся в основной памяти. Результат заносится в память. Каждому из вариан-
тов свойственны свои достоинства и недостатки (табл. 2.4).

Таблица 2.4.

 Сравнительная оценка вариантов размещения операндов

Вариант

Регистр-регистр
(0,3)

Регистр-память
(1.2)

Память-память

Достоинства

Простота реализации, фиксиро-
ванная длина команд, простая
модель формирования объект-

ного кода при компиляции
программ, возможность выполне-
ния всех команд за одинаковое
количество тактов

Данные могут быть доступны без

загрузки в регистры процессора,

простота кодирования команд,

объектный код получается

достаточно компактным

Компактность объектного кода,

малая потребность в регистрах

для хранения промежуточных

данных

Недостатки

Большая длина объектного кода,

из-за фиксированной длины

команд часть разрядов

в коротких командах

не используется

Потеря одного из операндов

при записи результата, длинное

 адреса памяти в коде

команды сокращает место

под номер регистра, что

ограничивает общее число РОН.

CPI зависит от места

размещения операнда

Разнообразие форматов команд

и времени их

быстродействие из-за обращения

к памяти

В выражениях вида

 п),

 приведенных в первом столбце таблицы,

 т

 означает

количество операндов, хранящихся в основной памяти,  а и - общее число операн-
дов в команде арифметической или логической обработки.

Вариант «регистр-регистр» является основным в вычислительных машинах

типа RISC. Команды типа «регистр-память» характерны для CISC-машин. Нако-
нец, вариант «память-память» считается неэффективным, хотя и остается в наи-
более сложных моделях машин класса

Возможную структуру и информационные тракты вычислительной машины

с регистровой архитектурой системы команд иллюстрирует рис. 2.8.

Операции загрузки регистров из памяти и сохранения содержимого регистров в

памяти идентичны таким же операциям с аккумулятором. Отличие состоит в этапе
выбора нужного регистра, обеспечиваемого соответствующими селекторами.

Выполнение операции в АЛУ включает в себя:

• выбор регистра первого операнда;
• определение расположения второго операнда (память или регистр);
• подачу на вход АЛУ операндов и выполнение операции;

• выбор регистра

 и занесение в него результата операции из АЛУ.

Обратим внимание на то, что между АЛУ и регистровым файлом должны быть

 мере три шины.


background image

Классификация архитектур системы команд 63

Рис.

 2.8. Архитектура вычислительной машины на базе регистров общего назначения

К достоинствам регистровых АСК следует отнести: компактность получаемого

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

Примерами машин

 базе РОН могут служить CDC 6600,

 360/370,

все современные персональные компьютеры. Правомочно утверждать, что в наши

дни этот вид архитектуры системы команд является преобладающим.

Архитектура с выделенным доступом к памяти

В архитектуре с выделенным доступом к памяти обращение к основной памяти

возможно только с помощью двух специальных команд:

 load

 и

 store.

 В английской

транскрипции данную архитектуру называют Load/Store architecture. Команда

 load

(загрузка) обеспечивает считывание значения из основной памяти и занесение его
в регистр процессора (в

 обычно указывается адрес ячейки памяти и но-

мер регистра). Пересылка информации в противоположном направлении произ-
водится командой

 store

 (сохранение). Операнды во всех командах обработки ин-

формации могут находиться только в регистрах процессора (чаще всего в
общего назначения). Результат операции также заносится в регистр. В архитекту-
ре отсутствуют команды обработки, допускающие прямое

 к основной

памяти.

 наличие в АСК ограниченного числа команд, где операнд

является частью кода команды.

Состав и информационные тракты ВМ с выделенным доступом к памяти пока-

заны на рис. 2.9. Две из трех шин, расположенных между массивом РОН и АЛУ,


Смотрите также файлы