Арифметико-логический блок
Восьмиразрядный АЛБ предназначен для выполнения арифметических операций: сложение, вычитание, умножение и деление; логических операций: И, ИЛИ, исключающие ИЛИ, циклического сдвига, сброса, инвертирования и т.д. АЛБ включает в себя следующие функциональные узлы:
1. Восьмиразрядное ALU, которое позволяет выполнять арифметические и логические операции над 4 типами данных: булевскими (1 бит), цифровыми (4 бита), байтовыми (8 бит) и адресными (16 бит);
2. Аккумулятор – восьмиразрядный параллельный регистр, предназначенный для хранения одного из операндов АЛУ, приема результата арифметико-логической операции, ряда операций передачи данных. Кроме этого, операции сдвигов, проверка их на ноль, формирование флага паритета, выполняются только над содержимым Аккумулятора;
3. Регистр В – восьмиразрядный параллельный регистр, предназначенный для хранения второго операнда при выполнении операции умножения и деления. В остальных случаях может использоваться как любой другой программно доступный регистр;
4. Два восьмиразрядных, программно-недоступных, регистра временного хранения операндов Т1 и Т2;
5. Схема десятичной коррекции DCU;
6. Регистр признаков (PSW) – предназначен для хранения признаков (флагов), вырабатываемых АЛУ при выполнении многих операций. В табл.1.2 приведено мнемоническое имя, назначение и способ установки разрядов регистра PSW.
Таблица 1.2
Разряд | Имя | Назначение битов | Доступ к битам | |
PSW.7 | C | Флаг переноса. Изменяется во время выполнения некоторых арифметических и логических команд | аппаратный или программный | |
PSW.6 | AC | Флаг промежуточного переноса устанавливается/сбрасывается при возникновении/отсутствии переноса или заема в бите 3 при образовании младшего полубайта результата | аппаратный или программный | |
PSW.5 | F0 | Флаг 0. Флаг состояния определенный пользователем. | программный | |
PSW.4 | RS1 | Указатель банка рабочих регистров. | программный | |
PSW.3 | RS0 | Указатель банка рабочих регистров. | программный | |
RS1 | RS0 | |||
Банк 0 с адресами (00Н-07Н) | ||||
Банк 1 с адресами (08Н-0FН) | ||||
Банк 2 с адресами (10Н-17Н) | ||||
Банк 3 с адресами (18Н-1FН) | ||||
PSW.2 | OV | Флаг переполнения. | аппаратный или программный | |
PSW.1 | - | Резервный. Содержит триггер, который можно использовать. | программный | |
PSW.0 | P | Бит четности | аппаратный или программный |
Флаг переполнения OV устанавливается, если возник перенос в знаковый разряд, а из знакового разряда перенос отсутствует (индикатор переполнения разрядной сетки) при выполнении операций сложение/вычитание. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на ноль устанавливается. При выполнении операции умножения флаг OV аппаратно устанавливается, если результат больше 255.
Флаг Р является дополнением содержимого Аккумулятора до четности в девятиразрядном слове состоящем из восьми разрядов Аккумулятора и бита P, число один всегда четное. Если в Аккумуляторе все разряды установлены в ноль, то Р=0. Этот бит программно доступен только по чтению.
Дата добавления: 2016-11-26; просмотров: 2369;