Автор работы: Пользователь скрыл имя, 03 Апреля 2013 в 21:29, курсовая работа
Операционный автомат служит для выполнения действия над операндами. Управляющий автомат вырабатывает управляющие сигналы, определяющие последовательность действий операционного автомата.
Множество микроопераций, реализуемых в ОА – Y={y1,...,yn}, возбуждаются управляющими сигналами из УА – y1,y2,...,yn. Каждому управляющему сигналу соответствует определённая микрооперация.
Задание ............................................................................................. 2
Введение .......................................................................................... 4
Алгоритм выполнения заданной операции
Словесное описание алгоритма ............................................. 5
Реализация алгоритма на примере ......................................... 6
Определение погрешностей представления операндов в разрядной сетке ОА и погрешности выполнения заданной операции .................................................................................... 7
Построение микропрограммы ................................................. 8
Описание автомата на начальном языке
Построение граф-схемы алгоритма ........................................ 9
Построение логической схемы алгоритма ............................. 10
Абстрактный синтез управляющего автомата
Построение отмеченной ГСА, определение числа состояний автомата ..................................................................................... 11
Построение таблицы и графа автомата .................................. 12
Минимизация числа состояний и кодирование ..................... 13
Структурный синтез автомата
Построение структурной таблицы МПА ................................ 14
Построение системы канонических уравнений ..................... 15
Реализация схемы управляющего микропрограммного автомата на заданном комплексе интегральных микросхем и ПЛМ ... 16
Заключение ....................................................................................... 17
Литература ........................................................................................ 18
Задание
Задание ..............................
Введение ..............................
Заключение ..............................
Литература ..............................
Введение
Основные устройства ЭВМ (процессоры, каналы ввода-вывода, контроллеры, устройства управления внешними устройствами и т.п.) представляются в виде композиции операционного (ОА) и управляющего (УА) автоматов.
Операционный автомат служит для
выполнения действия над операндами.
Управляющий автомат
Множество микроопераций, реализуемых в ОА – Y={y1,...,yn}, возбуждаются управляющими сигналами из УА – y1,y2,...,yn. Каждому управляющему сигналу соответствует определённая микрооперация.
ОА также вычисляет значения логических условий, которым ставится в соответствие множество осведомительных сигналов X={x1,...,xn}, являющихся входными сигналами УА. УА задаёт порядок выполнения микрокоманд в ОА, вырабатывая последовательность управляющих сигналов в зависимости от микропрограммы и значений логических условий.
1. Алгоритм выполнения заданной операции
1.1 Словесное описание алгоритма
После сигнала S(старт) проверяем на равенство нулю числа A. Если A=0, то сумма будет равна числу B. Присваиваем CM:= B, PC:=PB.
Проверяем число B на равенство нулю. Если B=0, то сумма будет равна числу A. Присваиваем CM:= A, PC:=PA.
Проверяем равенство порядков чисел A и B. Пока PA не станет равным PB выполняем выравнивание порядков: если порядок числа A(PA) больше порядка числа B(PB), то сдвигаем вправо числа в мантиссе числа B и увеличиваем порядок PA на 1; если порядок числа A(PA) меньше или равен порядку числа B(PB), то сдвигаем вправо числа в мантиссе числа A и увеличиваем порядок PA на 1.
Присваиваем порядку результата значение порядка числа A.
Проверяем знак числа A. Если A<0, то заносим в сумматор число, обратное A. В противном случае заносим в сумматор число A.
Проверяем знак числа B. Если B>0, то прибавляем к значению, занесенному в сумматор(CM) число B. Если же число B не больше 0, то инвертируем разряды мантиссы числа B, затем прибавляем это число к значению в сумматоре(CM).
Сдвигаем вправо мантиссу результата.
Производим нормализацию результата(сравниваем первый и второй разряды мантиссы и сдвигаем всю мантиссу влево, пока эти два разряда не станут разными).
Конец сложения.
1.2 Реализация алгоритма на примере
Даны операнды в десятичной системе
счисления А=0,24 и В= -0,53. Представим
их в двоичной системе счисления
в форме представления с
А= +0,1111010*2-2; В= -0,1000011*20;
Отсюда мантиссы операндов А и В:
[mA]= 0,1111010; [mB]= 1,1000011;
Порядки А и В: [pA]=100010; [pB]=000000;
Продемонстрируем все этапы реализации алгоритма операции алгебраического сложения в обратном коде чисел А и В, представленных в форме с плавающей запятой.
Машинные изображения чисел:
[mA]Mпр=00,1111010; [mB]Mпр=11,1000011;
2. Сравниваем порядки PA и PB.
Сдвигаем A: A = 00,0111101; PA=100001;
Сдвигаем A: A = 00,0011110; PA=000000;
3. PC:=PA: PC = 000000;
4. Проверка A<0: Присваивание [CM] = 00,0011110;
5. Проверка B>0: Присваивание B=00,0111100; CM:=00,1011010
6. Проверка равенства первых двух разрядов.
7. Проверка равенства вторых двух разрядов.
8. Конец.
1.3 Определение
погрешностей представления
Операнды:
A = 0,24
B = – 0,53
Двоичный прямой код чисел:
[A]пр = 0,0011110
[B]пр = 1,1000011
Вычисление погрешностей:
[A] = 0,234375
[B] = – 0,5234375
Абсолютные погрешности представления чисел:
DA = 0,005625
DB = 0,0065625
Относительные погрешности представления чисел:
dA = 0,024
dB = 0,012537313
Абсолютная погрешность операции сложения:
D(A+B) = 0,234375*0,0065625 + (–0,52734375)* 0,005625 = 0,001428222
Относительная погрешность операции сложения:
d (A+B) = 0,005625/(0,234375– 0,5234375) + 0,0065625/(0,234375– 0,5234375) = 0,042162162
3. Описание автомата на начальном языке
3.2 Построение логической
схемы алгоритма
7 8 6
yнBX1X2y1y2w
7 6
¯w
8 1 6
¯X3y3y4w
1 9 10 2 11 3 4 12 5 13 6
¯X4y4X6y10¯X7¯y12¯X8¯X9y1
9 14 1
¯X5y5y6w
10 2
¯y9w
11 3
¯y11w
12 4
¯y13y14w
13 6
¯w
14
¯y7y8Yк
4. Абстрактный синтез управляющего автомата
4.1 Построение отмеченной ГСА, определение числа состояний автомата
Отмеченная ГСА:
То есть число внутренних состояний данного автомата равно 12.
4.2 Построение таблицы и графа автомата
am |
as |
X(am, as) |
Y(am, as) |
a1 |
a1 |
ùX1 |
0 |
a1 |
a6 |
X1ùX2ùX3ùX4ùX5 |
y7,y8 |
a1 |
a5 |
X1ùX2ùX3ùX4X5 |
y5,y6 |
a1 |
a4 |
X1ùX2ùX3X4 |
y4 |
a1 |
a3 |
X1ùX2X3 |
y3,y4 |
a1 |
a2 |
X1X2 |
y1,y2 |
a2 |
a1 |
1 |
0 |
a3 |
a1 |
1 |
0 |
a4 |
a7 |
ùX6 |
y9 |
a4 |
a8 |
X6 |
y10 |
a5 |
a6 |
ùX4ùX5 |
y7,y8 |
a5 |
a5 |
ùX4X5 |
y5,y6 |
a5 |
a4 |
X4 |
y4 |
a6 |
a6 |
ùX4ùX5 |
y7,y8 |
a6 |
a5 |
ùX4X5 |
y5,y6 |
a6 |
a4 |
X4 |
y4 |
a7 |
a9 |
ùX7 |
y11 |
a7 |
a10 |
X7 |
y12 |
a8 |
a9 |
ùX7 |
y11 |
a8 |
a10 |
X7 |
y12 |
a9 |
a10 |
1 |
y12 |
a10 |
a11 |
ùX8 |
y13,y14 |
a10 |
a1 |
X8ùX9 |
0 |
a10 |
a12 |
X8X9 |
y15,y16 |
a11 |
a11 |
ùX8 |
y13,y14 |
a11 |
a1 |
X8ùX9 |
0 |
a11 |
a12 |
X8X9 |
y15,y16 |
a12 |
a1 |
ùX9 |
0 |
a12 |
a12 |
X9 |
y15,y16 |
4.3 Минимизация числа состояний
и кодирование
Кодирование внутренних состояний:
am |
k(am) |
a1 |
0000 |
a2 |
0001 |
a3 |
0010 |
a4 |
0011 |
a5 |
0100 |
a6 |
0101 |
a7 |
0110 |
a8 |
0111 |
a9 |
1000 |
a10 |
1001 |
a11 |
1010 |
a12 |
1011 |
Минимизация кодов внутренних состояний:
am |
k(am) |
a1 |
0000 |
a2 |
0001 |
a3 |
0010 |
a4 |
0011 |
a5 |
–100 |
a6 |
–101 |
a7 |
–110 |
a8 |
–111 |
a9 |
1–00 |
a10 |
1–01 |
a11 |
1–10 |
a12 |
1–11 |
5. Структурный синтез автомата
am |
k(am) |
as |
k(as) |
X(am, as) |
Y(am, as) |
F(am, as) S/R | |
0 |
a1 |
0000 |
a1 |
0000 |
ùX1 |
0 |
- |
1 |
a1 |
0000 |
a6 |
–101 |
X1ùX2ùX3ùX4ùX5 |
y7,y8 |
S2S4 |
2 |
a1 |
0000 |
a5 |
–100 |
X1ùX2ùX3ùX4X5 |
y5,y6 |
S2 |
3 |
a1 |
0000 |
a4 |
0011 |
X1ùX2ùX3X4 |
y4 |
S3S4 |
4 |
a1 |
0000 |
a3 |
0010 |
X1ùX2X3 |
y3,y4 |
S3 |
5 |
a1 |
0000 |
a2 |
0001 |
X1X2 |
y1,y2 |
S4 |
6 |
a2 |
0001 |
a1 |
0000 |
1 |
0 |
R4 |
7 |
a3 |
0010 |
a1 |
0000 |
1 |
0 |
R3 |
8 |
a4 |
0011 |
a7 |
–110 |
ùX6 |
y9 |
S2R4 |
9 |
a4 |
0011 |
a8 |
–111 |
X6 |
y10 |
S2 |
10 |
a5 |
–100 |
a6 |
–101 |
ùX4ùX5 |
y7,y8 |
S4 |
11 |
a5 |
–100 |
a5 |
–100 |
ùX4X5 |
y5,y6 |
- |
12 |
a5 |
–100 |
a4 |
0011 |
X4 |
y4 |
S3S4R1R2 |
13 |
a6 |
–101 |
a6 |
–101 |
ùX4ùX5 |
y7,y8 |
- |
14 |
a6 |
–101 |
a5 |
–100 |
ùX4X5 |
y5,y6 |
R4 |
15 |
a6 |
–101 |
a4 |
0011 |
X4 |
y4 |
S3R1R2 |
16 |
a7 |
–110 |
a9 |
1–00 |
ùX7 |
y11 |
S1R3 |
17 |
a7 |
–110 |
a10 |
1–01 |
X7 |
y12 |
S1S4R3 |
18 |
a8 |
–111 |
a9 |
1–00 |
ùX7 |
y11 |
S1R3R4 |
19 |
a8 |
–111 |
a10 |
1–01 |
X7 |
y12 |
S1R3 |
20 |
a9 |
1–00 |
a10 |
1–01 |
1 |
y12 |
S4 |
21 |
a10 |
1–01 |
a11 |
1–10 |
ùX8 |
y13,y14 |
S3R4 |
22 |
a10 |
1–01 |
a1 |
0000 |
X8ùX9 |
0 |
R1R2R4 |
23 |
a10 |
1–01 |
a12 |
1–11 |
X8X9 |
y15,y16 |
S3 |
24 |
a11 |
1–10 |
a11 |
1–10 |
ùX8 |
y13,y14 |
- |
25 |
a11 |
1–10 |
a1 |
0000 |
X8ùX9 |
0 |
R1R2R3 |
26 |
a11 |
1–10 |
a12 |
1–11 |
X8X9 |
y15,y16 |
S4 |
27 |
a12 |
1–11 |
a1 |
0000 |
ùX9 |
0 |
R1R2R3R4 |
28 |
a12 |
1–11 |
a12 |
1–11 |
X9 |
y15,y16 |
- |
Информация о работе Синтез цифрового микропрограммного автомата