Программа для ЭВМ это упорядоченная последовательность команд, подлежащая обработке
Скачать 1.98 Mb.
|
32.Аккумуляторная архитектура микропроцессоров.Архитектура на базе аккумулятора исторически возникла одной из первых. В ней для хранения одного из операндов арифметической или логической операции в процессоре имеется выделенный регистр — аккумулятор. В этот же регистр заносится и результат операции. Изначально оба операнда хранятся в основной памяти, и до выполнения операции один из них нужно загрузить в аккумулятор. После выполнения команды обработки результат находится в аккумуляторе и, если он не является операндом для последующей команды, его требуется сохранить в ячейке памяти. Типичная архитектура микропроцессора на базе аккумулятора показана на рис. 47. Рисунок 47 – Архитектура микропроцессора на базе аккумулятора Для загрузки в аккумулятор содержимого ячейки х предусмотрена команда загрузки loadx. По этой команде информация считывается из ячейки памяти х, выход памяти подключается ко входу аккумулятора и происходит занесение считанных данных в аккумулятор. Запись содержимого аккумулятора в ячейку х осуществляется командой сохранения storeх, при выполнении которой выход аккумулятора подключается к шине, после чего информация с шины записывается в память. Таким образом, один из операндов всегда находится в аккумуляторе. Для выполнения операции в АЛУ производится считывание второго операнда из памяти в регистр данных. Выходы регистра данных и аккумулятора подключаются к соответствующим входам АЛУ. По окончании предписанной операции результат с выхода АЛУ заносится в аккумулятор. В процессорах аккумуляторного типа возможен следующий способ передачи данных: (Акк) * (Память) --> Акк; Поскольку положение одного из операндов предопределено, в командах обработки достаточно явно указать местоположение только второго операнда, т.е. команды являются одноадреснымии имеют следующий формат (рис. 48): поле кодаоперациии поле адресаячейкипамяти. Рисунок 48 – Формат одноадресной команды Достоинствами аккумуляторной архитектуры можно считать короткие команды и простоту декодирования команд. Однако наличие всего одного регистра порождает многократные обращения к основной памяти. Рассмотренная архитектура в основном используется в 8-разрядных микропроцессорах, микроконтроллерах и специализированных микропроцессорах. 33.Регистровая архитектура микропроцессоров.Микропроцессор с архитектурой данного типа включает в себя массив регистров (регистровый файл), известных как регистрыобщегоназначения(РОН). В микропроцессоре отсутствует специальный регистр данных, выполняющий функции аккумулятора. Функции аккумулятора выполняет один из регистров общего назначения (рис. 49). Рисунок 49 – Архитектура микропроцессора на базе регистров общего назначения Размер регистров обычно фиксирован и совпадает с размером машинного слова. К любому регистру можно обратиться, указав его номер. Количество РОН в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления номера конкретного регистра необходимо не более пяти разрядов, благодаря чему в адресной части команд обработки допустимо одновременно указать номера двух регистров или номер регистра и адрес памяти. RISC-архитектура предполагает использование существенно большего числа РОН (до нескольких сотен). Однако типичная для таких микропроцессоров длина команды (обычно 32 разряда) позволяет определить в команде до трех регистров (двух регистров операндов и регистра результата). Регистровая архитектура допускает расположение операндов в одном из двух пространств: основной памяти или регистрах. С учетом возможного размещения операндов в рамках регистровых архитектур выделяют три типа команд обработки: -регистр-регистр; -регистр-память; -память-память. В варианте «регистр-регистр» операнды могут находиться только в регистрах. В них же засылается и результат. Вариант «регистр-память» предполагает, что один из операндов размещается в регистре, а второй в основной памяти. Результат обычно замещает один из операндов. В командах типа «память-память» оба операнда хранятся в основной памяти. Результат заносится в память. Вариант «регистр-регистр» является основным в микропроцессорах типа RISC. Команды типа «регистр-память» характерны для CISC-микропроцессоров. Ввариант «память-память» считается неэффективным, и в микропроцессорах не используется. Операции загрузки регистров из памяти и сохранения содержимого регистров в памяти идентичны таким же операциям с аккумулятором. Отличие состоит в этапе выбора нужного регистра, обеспечиваемого соответствующими селекторами. При этом между АЛУ и регистровым файлом должны быть, по крайней мере, три шины. Выполнение операции в АЛУ включает в себя: -выбор регистра первого операнда; -определение расположения второго операнда (память или регистр); -подачу на вход АЛУ операндов и выполнение операции; -выбор расположения результата и занесение в него результата операции из АЛУ. В качестве двух операндов, поступающих в АЛУ, могут использоваться операнды, хранящиеся в любых РОН, или одним из операндов может быть операнд, считываемый из основной памяти. Результат операции, выданный АЛУ, записывается в РОН или в основную память. При адресации в команде, выполняющей операцию в АЛУ, указываются два адреса операндов, т.е. команды являются двухадресными(рис. 50). Рисунок 50 – Формат двухадресной команды Обычно первый адрес указывает только на регистр общего назначения, а второй адрес может указывать как на регистр общего назначения, так и на основную память. Результат операции обычно записывается по первому адресу, однако более удобной считается система, позволяющая выборочно производить запись как по первому, так и по второму адресу. В этом случае возможны четыре способа передачи данных: (РОН1) * (РОН2) --> РОН1; (РОН1) * (РОН2) --> РОН2; (РОН) * (Память) --> РОН; (РОН) * (Память) --> Память. К достоинствам регистровой архитектуры следует отнести: компактность получаемого кода, высокую скорость вычислений за счет замены обращений к основной памяти на обращения к быстрым регистрам. С другой стороны, данная архитектура требует более длинных инструкций по сравнению с аккумуляторной архитектурой. В целом регистровая архитектура имеет более высокую эффективность, поэтому именно она в основном используется в современных универсальных микропроцессорах. |