Смекни!
smekni.com

Арифметико-логическое устройство (АЛУ). Регистр PSW (стр. 1 из 2)

Арифметико-логическое устройство (АЛУ). Регистр PSW


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

АЛУ состоит из регистра аккумулятора, регистра временного хранения, ПЗУ констант, сумматора, дополнительного регистра (регистра В), аккумулятора, регистра состояния программы.

Регистр аккумулятора и регистр временного хранения — восьмиразрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Программно не доступны.

ПЗУ констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при битовых операциях и кода констант.

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

Регистр В — восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный сверхоперативный регистр.

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

Регистр состояния программы (PSW) предназначен для хранения информации о состоянии АЛУ при выполнении программы. Обозначение разрядов регистра PSW и назначение разрядов приведены соответственно в таблицах 1, 2.

Флаг переноса CY может устанавливаться и сбрасываться как аппаратными, так и программными средствами. Флаг CY может быть программно прочитан. Аппаратными средствами флаг CY устанавливается, если в старшем бите результата возникает перенос или заем. При выполнении операций умножения и деления флаг CY сбрасывается. Кроме того, флаг CY выполняет функции "булева аккумулятора" в командах, работающих с битами.

Флаг дополнительного переноса АС программно доступен по записи ("0" и "1") и чтению.

Флаги F0, RS1, RS0 программно доступны по записи ("0" и "1") и чтению.

Флаг переполнения OV программно доступен по записи ("0" и "1") и чтению. Устанавливается аппаратно, если результат операции сложения/вычитания не укладывается в семи битах и старший (восьмой) бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV аппаратно устанавливается, если результат больше 255.

Флаг Р является дополнением содержимого аккумулятора до четности. В 9-разрядном слове, состоящем из 8 разрядов аккумулятора и бита Р, всегда содержится четное число единичных битов. В случае, если в аккумуляторе все разряды установлены в "0", флаг Р примет нулевое значение. Программно доступен только по чтению.

Таймеры/счетчики (Т/С) предназначены для подсчета внешних событий, для получения программно управляемых временных задержек и выполнения времязадающих функций ОМЭВМ.

В состав блока Т/С входят:

1) два 16-разрядных регистра Т/С 0 и Т/С 1;

2) восьмиразрядный регистр режимов Т/С (TMOD);

3) восьмиразрядный регистр управления (TCON);

4) схема инкремента;


Таблица 1

Биты 7 6 5 4 3 2 1 0
Обозначе-ние CY AC F0 RSI RS0 0V - P

Таблица 2

Биты Наиме-нов. Назначение битов Доступ к биту
7 CY Флаг переноса. Изменяется во время выполнения некоторых арифметических и логических инструкций. аппаратно или программно
6 AC Флаг дополнительного переноса. Аппаратно устанавливается /сбрасывается во время выполнения инструкций сложения или вычитания для указания переноса или заёма в бите 3 при образовании младшего полубайта результата (D0-D3). аппаратно или программно
5 F0 Флаг 0. Флаг состояния определяемый пользователем. программно
4 RSI Указатель банка рабочих регистров программно
3 RS0 Указатель банка рабочих регистров программно
RSI RS0
0 0 Банк 0 с адресами (00Н - 07Н)
0 1 Банк 1 с адресами (08Н - 0FH)
1 0 Банк 2 с адресами (10Н - 17Н)
1 1 Банк 3 с адресами (18Н - IFH)
2 OV Флаг переполнения. Аппаратно устанавливается/сбрасывается во время выполнения арифметических инструкций для указания состояния переполнения аппаратно или программно
1 Резервный. Содержит триггер, доступный по записи ("0" и "1") и чтению, который можно использовать
0 P Бит четности. Аппаратно сбрасывается/устанавливается в каждом цикле инструкций для указания четного/нечетного количества разрядов аккумулятора, находящихся в состоянии "1". аппаратно или программно

5) схема фиксации INT0, INT1, Т0, Т1;

6) схема управления флагами;

7) логика управления Т/С.

Два 16-разрядных регистра Т/С 0 и Т/С 1 выполняют функцию хранения содержимого счета. Каждый из них состоит из пары восьмиразрядных регистров, соответственно ТН0, TL0 и TH1, TL1. Причем регистры ТН0, ТН1 — старшие, а регистры TL0, TL1 — младшие 8 разрядов. Каждый из восьмиразрядных регистров имеет свой адрес и может быть использован как РОН, если Т/С не используются (бит TR0 для Т/С 0 и бит TR1 для Т/С 1 в регистре управления TCON равны "0").

Код величины начального счета заносится в регистры Т/С программно. В процессе счета содержимое регистров Т/С инкрементируется. Признаком окончания счета, как правило, является переполнение регистра Т/С, т. е. переход его содержимого из состояния "все единицы" в состояние "все нули". Все регистры ТН0, ТН1, TL0, TLI доступны по чтению, и, при необходимости, контроль достижения требуемой величины счета может выполняться программно.

Регистр режимов Т/С (TМOD) предназначен для приема и хранения кода, определяющего:

— один из 4-х возможных режимов работы каждого Т/С;

— работу в качестве таймеров или счетчиков;

— управление Т/С от внешнего вывода.

Обозначение разрядов регистра TMOD приведено в таблице 3. Назначение разрядов регистра TMOD приведено в таблице 4.

Таблица 3

Биты 7 6 5 4 3 2 1 0
Обозн. GATE1 С/T1 Ml.l M0.1 GATE0 C/T0 M1.0 M0.0

Таблица 4

Биты Наименование Назначение битов М0-М1
0-1 М0-М1 Определяют один из 4-х режимов работы, отдельно для Т/С 1 и Т/С в Все биты устанавливаются программно; биты 0-3 определяют
4-5 М1 М0 Режим режим работы Т/С в 0
0 0 0 режим работы Т/С 1.
0 1 1
1 0 2
1 1 3
2,6 С/Т 0 Определяют работу в качестве:
С/Т 1 С/Т 0, С/Т 1 = 0 - таймера
С/Т 0, С/Т 1 = 1 - счетчика
3,7 GATE Разрешает управлять таймером от внешнего вывода (INT0 - для Т/С 0, INT1 - для Т/С 1). GATE = 0 - управление запрещено GATE = 1 - управление разрешено

При работе в качестве таймера содержимое регистра Т/С инкрементируется в каждом машинном цикле, т. е. Т/С является счетчиком машинных циклов ОМЭВМ, Поскольку машинный цикл состоит из 12 периодов частоты синхронизации ОМЭВМ fBQ, то частота счета в данном случае равна fBQ/1

При работе Т/С в качестве счетчика внешних событий содержимое регистра Т/С инкрементируется в ответ на переход из "1" в "0" сигнала на счетном входе ОМЭВМ (вывод Т0 для Т/С 0 и вывод Т1 для Т/С 1). Счетные входы аппаратно проверяются в фазе S5P2 каждого машинного цикла. Когда проверки показывают высокий уровень на счетном входе в одном машинном цикле и низкий уровень в другом машинном цикле, регистр Т/С инкрементируется. Новое (инкрементированное) значение заносится в регистр Т/С в фазе S3PI машинного цикла, непосредственно следующего за тем, в котором был обнаружен переход из "1" в "0" на счетном входе ОМЭВМ. Т. к. для распознавания такого перехода требуется два машинных цикла (24 периода частоты синхронизации ОМЭВМ fBQ), то максимальная частота счета Т/С в режиме счетчика равна fBQ/24.

Чтобы уровень сигнала на счетном входе был гарантировано зафиксирован, он должен оставаться неизменным в течение как минимум одного машинного цикла.

Регистр управления (TCON) предназначен для приема и хранения кода управляющего слова. Обозначение разрядов регистра TCON приведено в табл. 9. Назначение разрядов регистра TCQN приведено в табл. 7.

Флаги переполнения TF0 и TFI устанавливаются аппаратно при переполнении соответствующих Т/С (переход Т/С из состояния "все единицы" в состояние "все нули"). Если при этом прерывание от соответствующего Т/С разрешено, то установка флага TF вызовет прерывание. Флаги TF0 и TFI сбрасываются аппаратно при передаче управления программе обработки соответствующего прерывания.

Флаги TF0 и TFI программно доступны и могут быть установлены/сброшены программой. Используя этот механизм, прерывания по TF0 и TFI могут быть вызваны (установка TF) и отменены (сброс TF) программой.

Флаги IЕ0 и IЕ1 устанавливаются аппаратно от внешних прерываний (соответственно входы ОМЭВМ INT0 и INT1) или программно и инициируют вызов программы обработки соответствующего прерывания. Сброс этих флагов выполняется аппаратно при обслуживании прерывания только в том случае, когда прерывание было вызвано по фронту сигнала. Если прерывание было вызвано уровнем сигнала на входе INT0 (INTI), то сброс флага IЕ должна выполнять программа обслуживания прерывания, воздействуя на источник прерывания для снятия им запроса.