ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5245
Скачиваний: 8
Классификация архитектур системы команд
5 9
Рис.
2.6. Архитектура вычислительной машины на базе стека
Основные узлы и информационные тракты одного из возможных вариантов
ВМ на основе стековой АСК показаны на рис. 2.6.
Информация может быть занесена в вершину стека из памяти или из АЛУ. Для
Записи в стек содержимого ячейки памяти с адресом выполняется
push х,
До которой информация считывается из ячейки памяти, заносится в регистр дан-
ных, а затем проталкивается в стек. Результат операции из АЛУ заносится в вер-
стека автоматически. •'
Сохранение содержимого вершины стека в ячейке памяти с адресом
х
произво-
дится командой
pop x.
По этой команде содержимое верхней ячейки стека подает-
ся на шину, с которой и производится запись в ячейку
х,
после чего вся находяща-
в стеке информация проталкивается на одну позицию вверх.
Для выполнения арифметической или логической операции на вход АЛУ по-
дается информация, считанная из двух верхних ячеек стека (при этом содержимое
стека продвигается на две позиции вверх, то есть операнды из стека удаляются).
Результат операции заталкивается в вершину стека. Возможен вариант, когда ре-
зультат сразу же переписывается в память с помощью автоматически выполняе-
мой операции
pop x.
Верхние ячейки стековой памяти, где хранятся операнды и куда заносится ре-
операции, как правило, делаются более быстродействующими и размеща-
ются в процессоре, в то время как остальная часть стека может располагаться в ос-
новной памяти и частично даже на магнитном диске.
К достоинствам АСК на базе стека следует отнести возможность сокращения
адресной части команд, поскольку все операции производятся через вершину сте-
то есть адреса операндов и результата в командах арифметической и логичес-
кой обработки информации указывать не нужно. Код программы получается ком-
Достаточно просто реализуется декодирование команд.
С другой стороны, стековая АСК по определению не предполагает произволь-
ного доступа к памяти, из-за чего компилятору трудно создать эффективный про-
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 х,
при выполнении которой выходы аккумулятора подключаются
к шине, после чего информация с шины записывается в память.
Для выполнения операции в АЛУ производится считывание одного из операн-
дов из памяти в регистр данных. Второй операнд находится в аккумуляторе. Вы-
ходы регистра данных и аккумулятора подключаются к соответствующим входам
АЛУ. По окончании предписанной операции результат с выхода АЛУ
в аккумулятор.
Достоинствами аккумуляторной АСК можно считать короткие команды и про-
стоту декодирования команд. Однако наличие всего одного регистра порождает
многократные обращения к основной памяти.
Классификация архитектур системы команд 61
Рис.
2.7. Архитектура вычислительной машины на базе аккумулятора
АСК на базе аккумулятора была популярна в ранних ВМ, таких, например, как
IBM
DEC PDP-8, MOS 6502.
Регистровая архитектура
В машинах данного типа процессор включает в себя массив регистров (регистро-
вый файл), известных как регистры общего назначения (РОН). Эти регистры,
в каком-то смысле, можно рассматривать как явно управляемый кэш для хране-
ния недавно использовавшихся данных.
Размер регистров обычно фиксирован и совпадает с размером машинного
слова. К любому регистру можно обратиться, указав его номер. Количество РОН
в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления но-
мера конкретного регистра необходимо не более пяти разрядов, благодаря чему в
адресной части команд обработки допустимо одновременно указать номера двух,
а зачастую и трех регистров (двух регистров операндов и регистра результата).
предполагает использование существенно большего числа РОН
(до нескольких сотен), однако типичная для таких ВМ длина команды (обычно
32 разряда) позволяет определить в команде до трех регистров.
Регистровая архитектура
расположение операндов в одной из двух
запоминающих сред: основной памяти или регистрах. С учетом возможного раз-
мещения операндов в рамках регистровых АСК выделяют три подвида команд
обработки:
• регистр-регистр;
• регистр-память;
• память-память.
В варианте «регистр-регистр» операнды могут находиться только в регистрах.
В них же засылается и результат. Подтип «регистр-память» предполагает, что один
62 Глава 2. Архитектура системы команд
из операндов размещается в регистре, а второй в основной памяти. Результат обыч-
но замещает один из операндов. В командах типа «память-память» оба операнда
хранятся в основной памяти. Результат заносится в память. Каждому из вариан-
тов свойственны свои достоинства и недостатки (табл. 2.4).
Таблица 2.4.
Сравнительная оценка вариантов размещения операндов
Вариант
Регистр-регистр
(0,3)
Регистр-память
(1.2)
Память-память
Достоинства
Простота реализации, фиксиро-
ванная длина команд, простая
модель формирования объект-
ного кода при компиляции
программ, возможность выполне-
ния всех команд за одинаковое
количество тактов
Данные могут быть доступны без
загрузки в регистры процессора,
простота кодирования команд,
объектный код получается
достаточно компактным
Компактность объектного кода,
малая потребность в регистрах
для хранения промежуточных
данных
Недостатки
Большая длина объектного кода,
из-за фиксированной длины
команд часть разрядов
в коротких командах
не используется
Потеря одного из операндов
при записи результата, длинное
адреса памяти в коде
команды сокращает место
под номер регистра, что
ограничивает общее число РОН.
CPI зависит от места
размещения операнда
Разнообразие форматов команд
и времени их
быстродействие из-за обращения
к памяти
В выражениях вида
п),
приведенных в первом столбце таблицы,
т
означает
количество операндов, хранящихся в основной памяти, а и - общее число операн-
дов в команде арифметической или логической обработки.
Вариант «регистр-регистр» является основным в вычислительных машинах
типа RISC. Команды типа «регистр-память» характерны для CISC-машин. Нако-
нец, вариант «память-память» считается неэффективным, хотя и остается в наи-
более сложных моделях машин класса
Возможную структуру и информационные тракты вычислительной машины
с регистровой архитектурой системы команд иллюстрирует рис. 2.8.
Операции загрузки регистров из памяти и сохранения содержимого регистров в
памяти идентичны таким же операциям с аккумулятором. Отличие состоит в этапе
выбора нужного регистра, обеспечиваемого соответствующими селекторами.
Выполнение операции в АЛУ включает в себя:
• выбор регистра первого операнда;
• определение расположения второго операнда (память или регистр);
• подачу на вход АЛУ операндов и выполнение операции;
• выбор регистра
и занесение в него результата операции из АЛУ.
Обратим внимание на то, что между АЛУ и регистровым файлом должны быть
мере три шины.
Классификация архитектур системы команд 63
Рис.
2.8. Архитектура вычислительной машины на базе регистров общего назначения
К достоинствам регистровых АСК следует отнести: компактность получаемого
кода, высокую скорость вычислений за счет замены обращений к основной памя-
ти на обращения к быстрым регистрам. С другой стороны, данная архитектура тре-
бует более длинных инструкций по сравнению с аккумуляторной архитектурой.
Примерами машин
базе РОН могут служить CDC 6600,
360/370,
все современные персональные компьютеры. Правомочно утверждать, что в наши
дни этот вид архитектуры системы команд является преобладающим.
Архитектура с выделенным доступом к памяти
В архитектуре с выделенным доступом к памяти обращение к основной памяти
возможно только с помощью двух специальных команд:
load
и
store.
В английской
транскрипции данную архитектуру называют Load/Store architecture. Команда
load
(загрузка) обеспечивает считывание значения из основной памяти и занесение его
в регистр процессора (в
обычно указывается адрес ячейки памяти и но-
мер регистра). Пересылка информации в противоположном направлении произ-
водится командой
store
(сохранение). Операнды во всех командах обработки ин-
формации могут находиться только в регистрах процессора (чаще всего в
общего назначения). Результат операции также заносится в регистр. В архитекту-
ре отсутствуют команды обработки, допускающие прямое
к основной
памяти.
наличие в АСК ограниченного числа команд, где операнд
является частью кода команды.
Состав и информационные тракты ВМ с выделенным доступом к памяти пока-
заны на рис. 2.9. Две из трех шин, расположенных между массивом РОН и АЛУ,