Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

1.5. Функциональная схема alu

Основу ALU (рис. 1.6) составляет собственно ALU, которое выполняет арифметико-логические операции (см. п. 1.17.5) над 16-битными кодами, присутствующими на его Х- и Y- входах. Результат операции появляется на 16-битном выходе R(esult) и может быть запомнен в регистре результата AR (через мультиплексор MUX 4) или в регистре обратной связи AF (Alu Feedback).

Кроме этого ALU формирует различные признаки (флаги, см. п. 1.10) результата, в частности: флаг нуля AZ (Alu Zero), флаг отрицательного результата AN (Alu Negative), флаг переноса AC (Alu Carry), флаг переполнения AV (Alu oVerflow), флаг знака Х-операнда AS (Alu Sign), значение бита частного AQ (Alu Quotient). Все флаги сохраняются в регистре арифметического состояния ASTAT (см. п. 1.10). Для выполнения команд, использующих перенос/заем, ALU использует значение флага переноса CI, который хранится в ASTAT.

Мультиплексор MUX 2 выбирает значение Х-операнда (хор). Таковым может быть содержимое одного из АХ регистров (АХ0 или АХ1) или код, находящийся на шине результатов R BUS.

Поскольку с шиной результата связаны регистры результата всех арифметических устройств, то хор (кроме АХ0, АХ1) могут быть AR, MR0, MR1, MR2 (см. п. 1.6) и SR0, SR1 (см. п. 1.7).

АХ регистры связаны с шиной данных ПД (DMD BUS), поэтому в них может быть записан код из ПД и считан – в ПД. Система команд процессора (см. п. 1.17) позволяет чтение содержимого этих регистров в ПП, но это не прямой путь, а через BUS EXCH (см. рис. 1.2). Все АХ регистры двух портовые. Это означает, что в одном регистре находятся данные для ALU, а другой регистр одновременно взаимодействует с DMD BUS, т.е. выполнение команды может быть совмещено с чтением следующего операнда.

Мультиплексор MUX 3 выбирает значение Y-операнда (yор). Таковым может быть содержимое одного из АY регистров (АY0 или АY1) или содержимое регистра AF.

С помощью мультиплексора MUX 1 АY регистры связаны и с шиной данных ПД (DMD BUS), и с шиной данных ПП (PMD BUS). Поэтому в них может быть записан код из ПД и считан – в ПД, а также записан – из ПП. Система команд процессора (см. п. 1.17) позволяет чтение содержимого этих регистров в ПП, но это не прямой путь, а через BUS EXCH (см. рис. 1.2). Все АY регистры двух портовые.

С помощью мультиплексора MUX 4 АR регистр связан с шиной дан­ных ПД (DMD BUS), поэтому в него может быть записан код из ПД и счи­тан – в ПД. Система команд процессора (см. п. 1.17) позволяет чтение содержимого этого регистра в ПП, но это не прямой путь, а через BUS EXCH (см. рис. 1.2).

Любой регистр ALU может быть сосчитан и записан в одном и том же машинном цикле. Считывание регистра происходит в начале машинного цикла, в то время как запись – в конце. Это позволяет, например, считать из AR предыдущий результат и записать в него текущий в одном и том же машинном цикле.

ALU содержит двойной банк регистров. На рис. 1.6 это отражено тенью. В одно и то же время доступен только один банк регистров. Дополнительный банк регистров может быть использован для быстрого переключения контекста задачи, например, в обработчиках прерываний. При этом не требуется сохранение контекста путем пересылки данных в память, например, в стек, как это делается во многих видах процессоров. Выбор номера банка регистров обеспечивает бит 0 в регистре состояния процессора MSTAT (см. п. 1.10). Если этот бит сброшен, то выбран первый банк регистров, в противном случае – второй.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]