Содержание
Задание
Введение
1. Разработка микропрограммы
1.1. Пример
1.2. Определение структуры операционного автомата
1.3. Разработка граф схемы алгоритма
2. Синтез микропрограммного автомата
2.1. Кодирование граф схемы алгоритма
2.2. Составление таблицы переходов для микропрограммного автомата
2.3. Составление структурной таблицы микропрограммного автомата
2.4. Составление функций возбуждения и выхода
2.5. Разработка функциональной схемы
Заключение
Список литературы
По функциональному назначению основные устройства ЭВМ можно условно разделить на две категории: операционные устройства (ОУ) и управляющие устройства (УУ). Отдельные части операционного устройства функционируют в зависимости от алгоритма выполняемой операции. Управляющее устройство по сигналу операции вырабатывает необходимые сигналы, по которым запускается выполнение заданной микрооперации. Совокупность микроопераций, объединенных алгоритмом операции, составляет микропрограмму операции, которая, в свою очередь, является связующим звеном между командой (кодом операции) и операционным устройством (аппаратными средствами), предназначенным для преобразования информации.
Управляющее устройство состоит из отдельных логических схем, вырабатывающих управляющие сигналы в заданной последовательности. Такое управляющее устройство можно рассматривать как управляющий автомат типа Мура или Мили.
В данной курсовой работе нами будет синтезирован блок управляющего устройства для выполнения операции умножения со сдвигом множимого вперед. Данная работа покажет уровень полученных нами знаний по курсу «Прикладная теория цифровых автоматов».
Выполнить синтез управляющего автомата операции умножения младшими разрядами вперед со сдвигом множимого над числами в форме с фиксированной точкой в формате {1,8}в прямом коде двоичной системы счисления. Разработать микропрограмму и выполнить синтез управляющего автомата используя синхронный автомат Мура, используя логический элемент «ИЛИ-НЕ» (стрелка Пирса) и элемент памяти на RS-триггере
1. Разработка алгоритма операции умножения младшими разрядами вперед со сдвигом множимого.
1.1 Контрольный пример
Рассмотрим на примере двух двоичных чисел сам процесс умножения
1) Возьмем любых два двоичных числа:
Решение примера будем производить в двоичной системе исчисления с указанием чисел находящихся в регистрах и производимыми в них операциями:
010101100000 | L(1)Рг1 |
001010110000 | L(1)Рг1 |
000101011000 | L(1)Рг1 |
000010101100 | L(1)Рг1 |
000001010110 | L(1)Рг1 |
Рг1 | ||
111011 | Рг2 | |
|
См | ||
000000101011 | Рг1 | |
|
См | ||
000001010110 | Рг1 | |
|
См | ||
000101011000 | Рг1 | |
|
См | ||
001010110000 | Рг1 | |
|
См | ||
010101100000 | Рг1 | |
100111101001 | См |
№ блока | Описание |
1 | в Рг1 заносим множимое, в Рг2 заносим множитель, сумматор См обнуляем, а счетчику Сч присваиваем значение 8. |
2 | определяем знак произведения путем сложения знаковых разрядов множимого и множителя по модулю два. |
3 | Младший разряд Рг2 (множитель) сравниваем с нулем. Если младший разряд равен единице то идем к блоку 4, если же разряд равен нулю то переходим к блоку 5 |
4 | Производим операцию сложение, к См прибавляем Рг1 в прямом коде. |
5 | Происходит сдвиг множимого Рг2 на один разряд влево. Регистр Рг2 сдвигается на один разряд вправо. из счетчика вычитаем 1. |
6 | Производится сравнение счетчик Сч с нулем. Если Сч = 0, то прекращаем умножение и идем к блоку 7. Если Сч неравен нулю, то продолжаем операцию умножение, переходим в блок 3. |
7 | Итоговую сумму полученную в сумматоре См выводим как результат Z. |
2 Синтез микропрограммного автомата
2.1 Кодирование граф схемы алгоритма
Синтез микропрограммного автомата
У | МК |
Ук | Начало |
У1 | Рг2(1¸8):=У(2¸8) |
У2 | Рг1(1¸8):=8 |
У3 | Рг1(9¸16):=Х(2¸9) |
У4 | См(1¸16):=0 |
У5 | Сч:=8 |
У6 | Z(1):=X(1)ÅУ(1) |
У7 | См:=См+Рг1 |
У8 | Рг1:=L(1)Рг1 |
У9 | Рг2:= R(1)Рг2 |
У10 | Сч:=Сч-1 |
У11 | Z(2¸9):=См(1¸8) |
Х1 | Рг2(8) |
Х2 | Сч=0 |
Ук | Конец |
2.2 Составление таблицы переходов для микропрограммного автомата
для синтеза автомата Мура необходимо сделать разметку кодированной ГСА: каждой операторной вершине приписать символ состояния bi, а также для заданного типа автомата необходимо построить прямую таблицу переходов, в которую вписываются пути перехода между соседними отметками
bm | bs(y) | X(bm, bs) |
b1 | b2(y1, y2, y3, y4, y5) | 1 |
b2 | b3(y6) | 1 |
b3 | b4(y6) | х1 |
b5(y8, y9, y10) | ||
b4 | b5(y8, y9, y10) | 1 |
b5 | b4(y6) | |
b5(y8, y9, y10) | ||
b6(y11) | х2 | |
b6 | b1(yк) | 1 |
2.3 Составление структурной таблицы микропрограммного автомата