47601 (Микропрограммирование операций ЭВМ), страница 3
Описание файла
Документ из архива "Микропрограммирование операций ЭВМ", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47601"
Текст 3 страницы из документа "47601"
В качестве выражения V2 может использоваться двоичное условное выражение. Тогда будет три варианта расчетов.
Что касается условного выражения В, то оно похоже на двоичное простое выражение. Однако при вычислении оно может быть равно 0 или 1. Это достигается за счет включения отношений, в том числе равенства. В отличие от простого выражения дополнительно не разрешается использовать микрооперации группы сложения и составления.
Для условного выражения установлена следующая очередность выполнения отношений и микроопераций:
отношение за исключением равенства
инверсия,
логическое умножение,
логическое сложение,
сложение по модулю два,
равенство.
Естественно, что при наличии скобок вычисления должны вначале выполняться в них.
Запомнить указанную очередность также нелегко, этому может помочь искусственное ключевое слово, составленное из начальных букв отношений и микроопераций, ОИУС2Р.
В качестве примера двоичного условного выражения рассматривается следующее выражение:
В := D /\ Е \/ F = G > H I.
Для В =1, D = 0101, E = 1100, F = 0110, G = 0101, H = 111, I = 1 будет новое B = 0.
Следовательно, расчеты требуется проводить по выражению V2.
При расчетах условного выражения первой выполняется проверка отношения ">", результату проверки присваивается значение 0, так как отношение неверно.
Второй по очереди выполняется микрооперация инверсии, получается значение 1010.
Третьей реализуется микрооперация конъюнкции, имеет место значение 1000.
Четвертая очередь касается микрооперации дизъюнкции, она дает значение 1110.
Пятой выполняется микрооперация сложения по модулю два, получается значение 1.
Наконец, последняя проверка равенства дает В = 0. Следовательно, расчеты требуется проводить по выражению V2.
После вычисления микроопераций правой части указанного двоичного простого выражения (пусть V2 = А) и передачи его слову правой части получится А = 001110.
Рекомендуется под выражением с помощью фигурных скобок, развернутых острой частью вниз и размещаемых сверху вниз на разных уровнях, записывать получающиеся значения результатов микроопераций, отношений.
Для рассматриваемого примера это будет выглядеть следующим образом:
В := D /\ Е \/ F = G > H I.
Значение последней проверки (проверки равенства) и есть значение слова В левой части.
Если выполнять проверки отношений и микрооперации в сторонке и записывать значения в виде столбика, то эта практика также показывает, что почти всегда допускаются неверные результаты каких, либо микроопераций из-за ошибок списывания предыдущих результатов и др.
1.3.3. Сложные конструкции
Сложными конструкциями Ф-языка являются функциональные микропрограммы (ФМП). Их рассмотрение не обходится без использования схем алгоритмов (СА), графических схем алгоритма (ГСА), матричных схем алгоритма (МСА), систем формул перехода (СФП), которые к средствам Ф-языка не относятся и СА, ГСА, МСА, ФМП и СФП подробно описаны в [3].
1.3.3.1. Графические схемы алгоритма
Графическая схема алгоритма или граф-схема алгоритма является аналогом схемы алгоритма, отличается от последней большей формализацией, несколько другим изображением блоков начала и конца.
Поскольку ГСА предложена для алгоритмов операций ЭВМ, то в ней нет средств для отражения ввода-вывода.
Вместо блоков в ГСА используются вершины: начальные Y0 , конечные Yк, операторные вершины Y1,Y2, … , условные вершины X1,X2, … .На рис.2 показана СА классического алгоритма нахождения наибольшего общего делителя (ННОД),
где: А и С - исходные числа,
НОД - наибольший общий делитель.
Видно, что заданные числа при АС, то число А заменяется на значение
А - С. Подобные циклы повторяются до получения А= С (блоки 38), число А и будет требуемым результатом (блок 9).
Имеются отличия применительно к условным вершинам. Прежде всего,
условие (чаще всего отношение) записывается в закодированном виде.
Если оно выполняется, то результату присваивается единичное значение, в противном случае - нулевое значение. С учетом этого выходы вершины отмечаются указанными значениями вместо “да” и “нет”.
Содержательная и закодированная граф-схемы алгоритмов представлены на рис. 2 и 3 соответственно, коды микроопераций уi, микрокоманд Yi и условий XI - в табл.1.
1
2
8
3
=
9
4 >
1 0
5 >
1 1
6
7
Рис. 2. СА ННОД чисел A и С
Условия корректности ГСА похожи на условия корректности схемы алгоритма [4]:
-
у ГСА должна быть одна начальная и одна конечная вершины;
-
каждый выход соединен только с одним входом операторных вершин;
-
каждый вход соединен, по крайней мере, с одним выходом;
-
выходы условных вершин помечаются с помощью цифр “0” и “1”;
-
из начальной вершины должен быть путь к любой вершине;
-
из любой вершины должен быть путь в конечную вершину;
-
для любых наборов логических условий должен быть путь из начальной вершины в конечную вершину.
1.3.3.2. Матричные схемы алгоритма
Матричная схема алгоритма представляет собой квадратную матрицу,
строки которой соответствуют вершинам с выходами, столбцы – вершинам с входами. На пересечениях строк и столбцов записываются функции перехода. Такая функция представляет собой конъюнкцию кодов логических условий (логических переменных), переменная пишется без инверсии, если выход осуществляется по 1, в противном случае переменная пишется с инверсией. Функция перехода, равная 1, соответствует безусловному переходу.
Для указанного выше алгоритма МСА (МСА ННОД) представлена в табл.2
Таблица 1
Коды микроопераций, микрокоманд и условий
Коды | Микрооперация, условие | Коды | Микро- операция, условие | ||
микро- операции, условия | микро- команды | микро- операции, условия | микро- команды | ||
y1 y2 y3 | Y1 Y2 Y3 | НОД:=А А:=С С:=НОД | y4 X1 X2 | Y4 | A:=A-C A=C A>C |
Таблица 2
МСА ННОД | Y1 | Y2 | Y3 | Y4 | Y5 | YK |
Y0, 4 | __ __ Х1Х2 | __ Х1Х2 | Х1 | |||
Y1 | 1 | |||||
Y2 | 1 | |||||
Y3 | 1 | |||||
Y5 | 1 |
Y3
Y0
1 1 Y4
0 0
Y5
1 1
0 0
Y1 YK
Y2
Рис.3. ГСА ННОД Рис.4. Закодированная ГСА ННОД
Для МСА можно сформировать условия корректности:
-
в МСА не должно быть строки Yk;
-
в МСА не должно быть столбца Y0;
-
должны быть столбец Yk и строка Y0;
-
не должно быть пустых строк и столбцов;
-
на строке не должно быть одинаковых функций перехода;
-
на строке не должно быть сочетаний 1 и функций перехода через логические переменные;
-
в столбце могут быть одинаковые функции перехода;
-
на строке может быть только одна 1;
-
дизъюнкция всех функций переходов на строке должна быть равна единице;
10) разные строки с одинаковыми функциями переходов разрешается оформлять в одной строке с указанием всех индексов вершин старта.
По МСА можно упрощать алгоритмы и, следовательно, автоматы.
1.3.3.3. Системы формул переходов
Все переходы, соответствующие строке МСА, можно отразить в формуле переходов. Формул будет столько, сколько имеется строк в МСА. Получается система формул перехода (СФП).
Каждая формула переходов начинается с вершины, из которой рассматриваются переходы, в правой части формулы пишется дизъюнкция логических произведений вершин захода с соответствующими функциями перехода.
Между левой и правой частями формулы ставиться стрелка , которая отражает переходы от вершины левой части к одной из вершин правой части.
Переход совершается к той вершине, соответствующая функция перехода которой становится равной единице.
Для рассматриваемого алгоритма СФП включает в себя:
Y0,4 Х1Х2Y1+Х1Х2Y4+Х1Y5;