Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЛОВЦМ / ЛОЦВМ Учебно-методическое пособие.doc
Скачиваний:
236
Добавлен:
26.03.2015
Размер:
1.98 Mб
Скачать

2.1.4. Арифметико–логическое устройство эвм

Арифметикологическое устройство (АЛУ) служит для выполнения логических и арифметических операций.

АЛУ можно разделить на два блока:

  • управляющий (Упр. АЛУ);

  • операционный .

Операционный блок состоит из следующих типовых узлов:

  • регистры (R), служащие для хранения операндов и результатов;

  • сумматор (SM) для выполнения операции суммирования многоразрядных кодов;

  • операционные узлы (ОУ), служащие для выполнения логических операций;

  • мультиплексор (MP);

  • счетчик (Сч), обеспечивающий подсчет тактов выполнения длинных операций, таких, как умножение, деление;

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

Для передачи информации между отдельными узлами используются шины Ш1, Ш2 и Ш3. Шина Ш3 обеспечивает также связь с запоминающими устройствами (ЗУ) ЭВМ.

Управляющий блок осуществляет выработку множества управляющих сигналов Y, обеспечивающих выполнение элементарных операций («микрооперация») типовыми узлами операционного блока.

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

Ш1

к ЗУ

yR

x R

Упр. АЛУ

R1

R2

Rn

Rn

Ш2 2

ОУк

ОУ1

SM

ySM

x SM

Ш3

Y

УМР

MP

X

yRF

xRF

RF

Сч

y сч

xсч

Код операции

Рисунок 2.10. Управляющий блок АЛУ

К числу признаков, вырабатываемых регистром и посылаемых в управляющую часть, относятся:

  • «ноль регистра» (R{0 ...n} = 0) – характеризует состояние, при котором во всех разрядах регистра имеет место нулевое значение;

  • «ноль знака» (R{зн} = 0) – в знаковом разряде регистра находится значение 0;

  • «единица старшего разряда» (R{1} =1) – в старшем разряде регистра находится значение единица;

  • «единица младшего разряда» (R{n} =1) – в младшем разряде регистра находится значение единица.

К числу микроопераций, которые может выполнять регистр при поступлении соответствующего управляющего сигнала yi, относятся:

  • прием кода;

  • выдача прямого кода;

  • выдача инверсного кода;

  • установка единицы в некотором разряде регистра;

  • обнуление знакового разряда;

  • сдвиг кода влево;

  • сдвиг кода вправо;

  • обнуление регистра – во все разряды регистра устанавливается нулевое значение.

К числу признаков, вырабатываемых счетчиком и посылаемых в управляющую часть, относятся:

  • «ноль счетчика» («0»Сч) – характеризует состояние, при котором во всех разрядах регистра имеет место нулевое значение;

  • «переполнение счетчика» – при поступлении очередного счетного сигнала счетчик переходит от максимального значения к значению «0»Сч.

Счетчик может выполнять следующие операции, инициируемые по управляющим сигналам, поступающим из управляющего блока:

  1. установка нуля в счетчике;

  2. установка в счетчике некоторого начального значения;

  3. установка режима счета (обратный или прямой счет);

  4. изменение находящегося в счетчике текущего значения на единицу.

К числу признаков, вырабатываемых сумматором и посылаемых в управляющую часть, относятся следующие:

  • нулевого результата;

  • единичных значений во всех разрядах результата;

  • единицы в первом знаковом разряде результата;

  • единицы во втором знаковом разряде результата;

  • переноса из старшего разряда сумматора;

  • наличия в тетраде значения, большего «9»;

  • межтетрадного переноса.

Каждому из перечисленных состояний может соответствовать отдельный разряд (флажок) в регистре флажков.

Сумматор может выполнять следующие микрооперации, инициируемые по управляющим сигналам, поступающим из управляющего блока:

  1. прием кода двух операндов на свои входы;

  2. формирование поразрядной суммы операндов, поступающих на его входы;

  3. генерирование поразрядного переноса;

  4. распространение переносов через разряды поразрядной суммы, пропускающие перенос;

  5. прибавление единицы в младший разряд;

  6. прибавление корректирующих кодов в тетрады при сложении двоичнодесятичных кодов.

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