- •Курс лекций по предмету «Микропроцессоры и микропроцессорные системы» специальности 230101 Занятие 1.(1) Введение.
- •Классификация микропроцессоров
- •Занятие 2 (2) Архитектура микропроцессорных систем
- •Арифметико-логические устройства Структурная схема алу сложения/вычитания чисел с фиксированной запятой.
- •Занятие 4 (4) Структурная схема алу умножения чисел с фиксированной запятой.
- •Занятие 6 (6) Структурная схема алу деления чисел с фиксированной запятой.
- •Занятие (7)
- •Занятие 8(8) Шинная структура мпс
- •Занятие 7(9) Состав блока регистров микропроцессора.
- •Устройство управления микропроцессора.
- •Интерфейсы ввода-вывода.
Арифметико-логические устройства Структурная схема алу сложения/вычитания чисел с фиксированной запятой.
В АЛУ сложения и вычитания с фиксированной точкой оба операнда поступают с шины входа: первый операнд в Рг1, второй в РгВ при поступление на вход управляющих сигналов прием Рг 1(ПрРг1) и приём РгВ(Пр РгВ).
Если знак первого числа положительный, то осуществляется передача первого операнда из Рг1 в РгА в прямом коде (ПрРгАП). Если знак отрицательный, то в инверсном ( приём (ПрРгАИ).
С выходом регистров А и В операнды поступают на сумматор, если знак первого операнда был отрицательный, то к младшему разряду суммы прибавляется 1(единица).
Сумма поступает на регистр сумматора ( Пр Рг СМ).
По результату выполнения операции форматируются признаки результата:
00- если результат равен “0”
01- если результат отрицательный
- если результат положительный
- если происходит переполнение разрядной сетки
Для формирования признака результата анализируются следующие данные:
См [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 - младшая половина |
|
|
