Анализ операций умножения и деления в конкретной модели АЛУ

Страница: 6/11

АЛУ

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

Структура АЛУ

На рисунке 7 показана блок-схема АЛУ.

АЛУ имеет три 16-битных регистра, доступных для программиста : X,Y -регистры операндов, а R - регистр результата. АЛУ использует входной сигнал переноса ( CI ), который означает бит переноса в регистре арифметического состояния ( ASTAT ). АЛУ генерирует шесть статусных сигналов :

· результат 0 ( AZ )

· отрицательный ( AN )

· перенос ( AC )

· переполнение результата ( AV )

· знак (AS )

· состояние частного ( AQ )

В конце цикла все сигналы арифметического статуса изменяют состояния соответствующих битов в регистре арифметического статуса ( ASTAT ).

Входной порт X может принимать данные из двух источников : из блока регистров АХ или с шины результата. Шина результатов ( R ) соединяет выходные регистры всех вычислительных устройств, позволяя им быть непосредственно операндами инструкций. Блок регистров АХ состоит из двух регистров : АХ0 и АХ1. Эти регистры читаемы и могут быть записаны через шину DMD. Выход блока регистров АХ таков, что один из них может

обеспечивать операнд для АЛУ, в то время, как другой может записываться в память через шину DMD.

Входной порт Y также может принимать данные из двух источников : из набора регистров АY или из регистра обратной связи AF. Блок регистров AY состоит из двух регистров AY0 и AY1. Эти регистры читаемы и могут быть записаны через шину DMD, а также могут быть записаны через шину PMD. Выход блока регистров AY совпадает по своим возможностям с блоком регистров АХ.

Результат работы АЛУ загружается либо в регистр обратной связи AF, либо в регистр результата AR. Регистр обратной связи - внутренний регистр АЛУ, который позволяет использовать результат непосредственно, как операнд Y. Регистр результата AR может записываться как на шину DMD, так и на шину результатов. Он также непосредственно загружаем с шины DMD.

Набор инструкций позволяет осуществить чтение этих регистров с шины PMD, но при этом нужно использовать устройство обмена между DMD-PMD шинами.

Любые регистры, связанные с АЛУ могут как читаться, так и писаться в одном цикле. Регистры читаются в начале цикла и записываются в конце. Новое значение, записанное в регистр, не может быть считано до начала следующего цикла.

АЛУ содержит два набора регистров AR, AF, АХО, АХ1, AYО, AY1. В каждый момент времени домен лишь один набор. Дополнительный набор регистров может быть сделан активным (например, при обработке прерывания) для очень быстрого переключения контекстов. Новая задача, такая, как обработка прерывания, может быть выполнена без запоминания текущего состояния регистров АЛУ.

Выбор первичного или вторичного набора регистров контролируется битом 0 в регистре режима и статуса процессора (MSTAT). Если этот бит нулевой, используется первичный набор, если же он единица, то используется вторичный набор регистров.

Стандартные функции

Вот список стандартных функций АЛУ:

R=X+Y сложение Х и Y
R=X+Y+Cl сложение Х и Y с переносом
R=X – Y вычесть Y из Х
R=X – Y – Cl – 1 вычесть Y из Х с заемом
R=Y – Х вычесть Х из Y
К=Y – X – Cl – 1 вычесть Х из Y с заемом
R= – X арифметическое отрицание Х
R= – Y арифметическое отрицание Y
R=Y+1 инкремент Y
R=Y – 1 декремент Y
R=PASS Х результат равен операнду Х
R=PASS Y результат равен операнду Y
R=O (PASS 0) очистить результат
R=ABS Х результат равен абсолютному значению Х
R=X AND Y логическое и (AND) Х и Y
R=X OR У логическое или (OR) Х и У
R=X XOR У исключающее логическое или (XOR) Х и У
R=NOT Х логическое отрицание Х
R=NOT Y логическое отрицание У

Реферат опубликован: 15/12/2009