- •Глава 1
- •1.1. Понятие абстрактного автомата
- •1.2. Преобразование абстрактных автоматов
- •1.3. Соединение (композиция) автоматов
- •1.4. Тестирование абстрактных автоматов
- •2. Начальные языки описания абстрактных автоматов
- •2.1. Язык Граф-Схем Алгоритмов
- •2.2. Язык регулярных выражений
- •2.3. Формальные грамматики и языки
- •2.4. Автоматы и грамматики [ 7 ]
- •2.5. Машина тьюринга [ 5, 8 ]
- •3. Структурный синтез автоматов и кодирование информации
- •3. 3. ПредставЛение символьной информации
- •4.1 Машинное изображение чисел
- •4.2. Выполнение арифметических и логических операций
- •4.3. Микропрограммирование
- •5 Математический аппарат синтеза комбинационных автоматов
- •5.1 Элементная база построения комбинационных автоматов
- •5.2. Переключательные функции (логика высказываний)
- •7. Структурный синтез автоматов с памятью, асинхронные автоматы и сети петри
- •7.1. Канонический метод синтеза автоматов с памятью
- •7.3 Моделирование дискретных асинхронных процессов и сети Петри
- •Свойства сетей Петри
4.3. Микропрограммирование
Идею микропрограммирования [1] рассмотрим на примере микропрограммы умножения. Для построения устройства умножения, алгоритм операции умножения представляется в виде программы, выражающей эту операцию через так называемые микрооперации – сложение кодов, сдвиг кода, пересылка кода и т.д.
Схема операционной части устройства умножения приведена
на рис. 23.
Рис.23
На этом рисунке PrA служит для хранения множимого, в регистр PrB помещается множитель, а регистр CM – сумматор – во время выполнения микропрограммы хранит сумму частичных произведений, а при завершении микропрограммы в нём образуется произведение.
Это устройство служит для перемножения n-разрядных положительных чисел, меньших единицы, поэтому регистры PrA и PrB имеют по n разрядов. Произведение имеет 2n разрядов, причём регистр СМ имеет 2n+1 разряд (дополнительный разряд слева служит для размещения разряда переполнения промежуточных сумм частичных произведений). Регистры PrB и Cm осуществляют микрооперацию сдвига вправо, а регистр СМ также суммирование кодов. Устройство умножения имеет также счётчик СЧ, подсчитывающий число выполненных тактов. Умножение начинается с младших разрядов множителя.
Микропрограмма умножения представлена на рис.24, а. В этой микропрограмме используются следующие микрооперации:
у1) СМ:=0 - обнуление регистра СМ;
у2) СМ:=0 - обнуление счётчика;
у3) СМ:=СМ+PrA – суммирование кодов в регистрах СМ и PrA;
у4) PrB:=R(1,CM) – сдвиг содержимого регистра PrB вправо на один разряд;
у5) СМ:=R(1,CM) – сдвиг содержимого сумматора вправо на один разряд
у6) СЧ:=СЧ+1 – увеличение содержимого счётчика на 1.
Для уменьшения общего времени выполнения умножения микрооперации у1 и у2 выполняются параллельно (одновременно). Также параллельно выполняются микрооперацииу4, у5 и у6. В процессе выполнения микропрограммы проверяется истинность следующих логических условий:
p1) PrB[n]=1 – очередная цифра множителя равна 1;
p2) СЧ=n – содержимое счётчика равно n, т.е. выполнено n тактов.
а) б)
Рис.24
Устройство умножения состоит из двух частей: операционной части и управляющей части (рис.25). Управляющая часть задаёт требуемую последовательность микроопераций в соответствии с микропрограммой умножения. На рис. 25 использованы обозначения : Н – сигнал запуска устройства умножения; К – сигнал окончания выполнения микропрограммы умножения; у1, …, у6 – управляющие сигналы инициирующие микрооперации; р1, р2 – сигналы обратной выражающие значение логическихусловий.
множимое
множитель произведение
Рис. 25
Управляющая часть может быть построена в виде конечного автомата. Функции переходов и выходов управляющего автомата Мили определяются по граф-схеме микропрограммы следующим образом.
С использованием введённых обозначений микроопераций и логических условий представим микропрограмму умножения в виде граф-схемы так, как показано на рис.24 б. Выход вершины НАЧАЛО и вход вершины КОНЕЦ пометим символом начального состояния автомата S0. Выходы операторных вершин граф-схемы микропрограммы пометим состояниями S1, S2, и S3, как показано на рис. 24,б. Под действием сигнала запуска Н изи состояния S0 автомат переходит в состояние S1 с одновременной выдачей управляющих сигналов y1 и y2. Из состояния S1 при Р1=1 автомат переходит в S2 с выдачей y3, при Р1=0 переходит в S3, с выдачей y4, y5, y6. Из состояния S2 под действием тактирующего сигнала “-“ (пустого входного символа) автомат переходит в S3 с выдачей y4, y5, y6 и т.д.
Граф управляющего автомата выражающий его функции переходов и выходов, показан на рис. 26.
Рис. 26
