Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по предмету.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

Арифметико-логические устройства Структурная схема алу сложения/вычитания чисел с фиксированной запятой.

В АЛУ сложения и вычитания с фиксированной точкой оба операнда поступают с шины входа: первый операнд в Рг1, второй в РгВ при поступление на вход управляющих сигналов прием Рг 1(ПрРг1) и приём РгВ(Пр РгВ).

Если знак первого числа положительный, то осуществляется передача первого операнда из Рг1 в РгА в прямом коде (ПрРгАП). Если знак отрицательный, то в инверсном ( приём (ПрРгАИ).

С выходом регистров А и В операнды поступают на сумматор, если знак первого операнда был отрицательный, то к младшему разряду суммы прибавляется 1(единица).

Сумма поступает на регистр сумматора ( Пр Рг СМ).

По результату выполнения операции форматируются признаки результата:

00- если результат равен “0”

01- если результат отрицательный

  1. - если результат положительный

  2. - если происходит переполнение разрядной сетки

Для формирования признака результата анализируются следующие данные:

См [1-7]; перенос См в знаковый разряд Пн См [1], перенос См из знакового разряда Пн См [0], См [0] - знаковый разряд.

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

Признак результата 01 формируется по формуле: См[0] И ( НЕ (Пн См[1] М2 Пн См [0])

Признак результата 10 формируется по формуле: НЕ (См[0]) И ( НЕ (Пн См[1] М2 Пн См [0]))

Признак результата 11 формируется по формуле: Пн См [1] М2 Пн См [0]

Микропрограмма сложения

Микрокоманда

Операция

ПрРг1

Рг1:=ШиВх

ПрРгВ

РгВ :=ШиВх

ПрРгА Пр

РгА:=Рг1

См:=РгА+РгВ

ПрРгСм

РгСм:=См

ПрШиВых

ШиВых:=РгСм

Микропрограмма вычитания

Микрокоманда

Операция

ПрРг1

Рг1:=ШиВх

ПрРгВ

РгВ:=ШиВх

ПрРгА И

РгА:= НЕ(Рг1)

См:=РгА+РгВ+1

ПрРгСм

РгСм:=См

ПрШиВых

ШиВых:=РгСм

Занятие 4 (4) Структурная схема алу умножения чисел с фиксированной запятой.

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

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

Для проверки разряда множителя необходимо его сдвигать.

Умножение осуществляется по циклам, количество циклов равно количеству разрядов операндов. Для этого в схеме предусмотрен счётчик циклов (Сч.Ц.).

На Рг1 с шины входа поступает множимое, на Рг2 множитель. Их формат одинаковый.

Множитель из Рг1 в РгА может передаваться без изменений, если младший разряд множителя равен 1. Если он равен 0 , то множимое в РгА не передаётся. Анализ младшего разряда множителя осуществляется с помощью конъюнктура.

Между Рг2 и Рг2' существует косая передача со сдвигом вправо на один разряд. Из Рг2' осуществляется прямая перезапись сдвинутого множителя. В освобождающейся, при сдвиге, старший разряд в Рг2' записывается младший разряд сумматора. Т.к. в процессе умножения необходим сдвиг частичных произведений, то между сумматором и Рг См существует так же косая передача вправо на один разряд.

Умножение заканчивается , когда Сч.Ц равен нулю. Результат умножения записывается - старшая часть в Рг См, а младшая часть в РгВ.

Микропрограмма умножения

Рг 1, РгА

РгВ, См, РгСм

Рг2, Рг2’

Сч Ц

Рг1 : = 1100

РгА:=0000

РгВ:=0000

См:=0000

РгСм:=0000

Р г2: = 1010

Рг2’:=0000

СчЦ:=4

РгА:=Рг1=0000

См:=РгА+РгВ=0000+0000=

0000

РгСм:=П[ 1 ]См=0000

РгВ: = РгСм=0000

Рг2[n-1]:=0

Рг2’ [0]: = См[п-1] = 0

Рг2’:=П[1]Рг2=0101

Рг2:=Рг2’=О101

СчЦ =3

РгА:=Рг1=1100

См:=РгА+РгВ=1100 + 0000=

1100

РгСм:=П[ 1 ]См=0110 РгВ:=РгСм=0 1 10

Рг2[п-1]: = 1

Рг2’[0]:=См[п-1] = 0

Рг2’:=П[1]Рг2=0010 Рг2:=Рг2’ = 0010

СчЦ:=2

РгА:=Рг1=0000

См: = РгА+РгВ=0000+0110=

0110

РгСм:=П[ 1]См=0011

РгВ :=РгСм=001 1

Рг2[п-1]:=0

Рг2’[0]:=См[п-1]=0 Рг2’:=П[ 1 ] Р г2 = 0001 Рг2:=Рг2’ = 0001

СчЦ:= 1

РгА:=Рг1=1100

См: = РгА+РгВ=1100+0011 = 1111

РгСм:=П[1]См=0111 РгВ:=РгСм=0111

Рг2[п-1]: = 1

Рг2’[0]:=См[п-1]=1 Рг2’:=П[1]Рг2= 1000

Рг2: = Рг2’= 1 000

СчЦ:=0

Выдача результата:

РгВ:=Рг2=1000

ШИВых:=РгВ = 0111 - старшая половина

ШИВых:=РгСм=1000 - младшая половина