МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РФ
ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Т.Ф. Юминова
К.Ю.Петухов
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению курсового проекта
«Проектирование процессора ЭВМ »
по курсу «Организация ЭВМ, комплексов и систем» для
студентов дневного отделения специальности 2201
Ижевск 2001г.
ВВЕДЕНИЕ
Самостоятельная работа студентов – важнейшая часть процесса подготовки специалистов. Она активно способствует развитию творческого подхода к решению тех или иных задач, учит анализу и обоснованию принимаемых технико-экономических решений. Центральное место в самостоятельной работе студентов по курсу “Организация ЭВМ, комплексов и систем” занимает курсовой проект.
Курсовые проекты выполняются по индивидуальным заданиям, утвержденным кафедрой. Объектом проектирования является процессор ЭВМ общего назначения, предназначенный для реализации заданного набора команд из системы команд ЕС ЭВМ, отличающейся широким распространением и универсальностью.
Выполнение курсового проекта преследует цель привития навыков проектирования структуры ЭВМ в целом и отдельных ее узлов, в первую очередь процессора. В ходе проектирования возникает необходимость неформального использования знаний, полученных на лекционных, практических и лабораторных занятиях, преодоления своеобразного “психологического барьера” в виде первой достаточно сложной и самостоятельной работы по специальности.
Методические указания к выполнению курсового проекта включают в себя описание: функциональной и структурной организации проектируемого процессора, принципов адресации информации и процедур обращения к основной и регистровой памяти, а также форматов данных и команд, используемых при разработке процессора. Приведены исходные данные для проектирования. В методических указаниях дано описание системы команд ЕС ЭВМ, определены основные этапы разработки функциональных микропрограмм отдельных операций, приведены примеры микропрограмм, описана методика объединения микропрограмм, определен порядок проектирования управляющих автоматов с жесткой и программируемой логикой.
1. ТЕМАТИКА И СОДЕРЖАНИЕ КУРСОВОГО ПРОЕКТА
Целью курсового проекта является решение комплекса вопросов, связанных с проектированием процессора ЭВМ. Разработка процессора проводится в следующих аспектах: разработка функциональных микропрограмм заданных команд, объединение микропрограмм, привязка микропрограмм к структуре операционного автомата процессора, разработка структуры операционного автомата и управляющего автомата процессора.
Исходные данные для проектирования определяются номером задания и выбираются из таблицы 1.
Задание на курсовой проект содержит следующие исходные данные :
- набор команд, реализуемых проектируемым процессором (описание команд в [1]);
- емкость оперативной памяти (ОП);
- ширина выборки из ОП (длина слова ОП);
- тип управляющего автомата с жесткой логикой;
- система элементов для разработки принципиальных электрических схем;
-способ адресации микрокоманд для управляющего автомата с программируемой логикой.
1.1. Основные этапы проектирования
1. Разработка функциональных микропрограмм заданных команд. Для описания команд используется язык функционального микропрограммирования (Ф-язык), позволяющий в компактной форме отразить алгоритмы выполнения операций [1,2].
2. Объединение функциональных микропрограмм.
3. Разработка структурно-функциональной микропрограммы (в виде таблицы) и структурной схемы процессора.
4. Проектирование управляющего автомата с жесткой логикой.
5. Проектирование управляющего автомата с программируемой логикой.
1.2. Содержание пояснительной записки к курсовому проекту
В пояснительной записке (ПЗ) должны быть отражены все этапы проектирования. Оформлять ПЗ следует в соответствии с ЕСКД (ГОСТы 2.105-79, 2.106-68). Рекомендуется придерживаться следующей последовательности в изложении материала.
1. Описание функциональной организации проектируемого процессора
Для каждой операции, реализуемой процессором, приводится описание алгоритма ее выполнения [1], форматы данных и команды, особые случаи, приводящие к прерываниям, установка признака результата. При описании операций следует игнорировать аспекты, связанные с обработкой прерываний, средствами схемного контроля и защиты памяти, формированием дополнительной цифры мантиссы в командах арифметики с плавающей запятой и т.п.
На основе алгоритма для каждой операции разрабатывается блок-схема алгоритма ее выполнения, а затем функциональная микропрограмма (Ф-МП), отображающая все этапы выполнения операции: выборку команды, формирование адресов и чтение операндов из памяти, обработку операндов в соответствии с выбранным алгоритмом выполнения операции, установку признака результата (при необходимости), запись результата в память. Необходимо учитывать возможные состояния процессора: ОСТАНОВ-РАБОТА; ОЖИДАНИЕ-СЧЕТ; СУПЕРВИЗОР-ЗАДАЧА, а также фиксировать особые случаи, ведущие к прерыванию программы. Описание алгоритмов арифметических операций необходимо сопровождать примерами выполнения операций над числами уменьшенной длины (4-8 двоичных разрядов).Следует увязывать между собой Ф-МПы, т.е. однотипные действия выполнять с использованием одних и тех же внутренних слов и микроопераций.
Поясняющие текст рисунки и таблицы можно размещать в ПЗ по ходу изложения или на отдельных листах.
2. Объединение функциональных микропрограмм
Объединение Ф-МПм возможно за счет наличия в разных микропрограммах одинаковых микрокоманд или блоков (нескольких операторных и условных вершин). В результате объединения минимизируется общее количество операторных и условных вершин. Объединение производится без учета выборки команд из памяти (этап выборки команды разрабатывается сразу в объединенном варианте, т.е. с учетом всех возможных длин команд).
Исходные микропрограммы могут быть объединены с учетом формализованных принципов объединения по алгоритму С.И.Баранова [5]. Пример объединения приведен в разделе (5) методических указаний. Объединенная функциональная микропрограмма вычерчивается на отдельном листе. Описание процесса объединения приводится в ПЗ.
3. Разработка структурной схемы процессора
Структурная электрическая схема проектируемой ЭВМ должна содержать оперативную и сверхоперативную памяти, связанные через магистраль (М) с процессором (рис.1). Операционный автомат процессора разрабатывается на схеме с точностью до операционных элементов с указанием всех связей между элементами схемы, управляющих и осведомительных сигналов. Отражается связь процессора с оперативной и регистровой памятью.
Для выявления всех связей в ОА и множества управляющих и осведомительных сигналов должна быть разработана структурно-функциональная таблица. Рекомендуется использовать структуру ОА с общими микрооперациями (МО) с последовательной комбинационной частью [2]. Каждой микрокоманде объединенной Ф-МПы ставится в соответствие набор управляющих сигналов, инициирующих ее выполнение в рамках разработанной структуры (строка структурно-функциональной таблицы). При этом учитываются все особенности структуры процессора: длина слова оперативной памяти (ОП), разрядность схем комбинационной части ОА, связь ОА процессора с ОП и регистровой памятью (РП) (см. табл.1). Каждому логическому условию (ЛУ) Ф-Мпы ставится в соответствие осведомительный сигнал. В структуру ОА должны быть введены комбинационные схемы – формирователи осведомительных сигналов. Все нетривиальные решения обосновываются. Набор операционных элементов, схем формирования осведомительных сигналов и состав регистров памяти ОА должен быть минимальным.
Структурно-функциональная таблица приводится в ПЗ, а схема электрическая структурная проектируемого процессора – на отдельном листе графической части курсового проекта (лист 2).
4. Проектирование управляющего автомата с жесткой логикой
Управляющий автомат (УА) с жесткой логикой разрабатывается для фрагмента Ф-МПы, содержащего от 20 до 30 операторных вершин. Тип УА указан в задании на проект. Все этапы проектирования УА описываются в ПЗ и иллюстрируются необходимыми таблицами и рисунками. Схема электрическая принципиальная УА с жесткой логикой вычерчивается на отдельном листе графической части (лист 3) в соответствии с ЕСКД на базе заданной серии интегральных микросхем [3,4]. Перечень элементов приводится в приложении к ПЗ или на листе схемы. Рассчитываются затраты времени на формирование управляющих сигналов и переключение УА в следующее состояние (такт УА). Временные параметры микросхем определяются по справочнику [3,4] .
5. Проектирование управляющего автомата с программируемой логикой
УА с программируемой логикой проектируется для всей объединенной Ф-МПы. С учетом заданного способа адресации микрокоманд разрабатывается формат микрокоманды (МК), проводится оптимальное распределение управляющих сигналов по полям операционной части микрокоманды. Все управляющие и осведомительные сигналы кодируются. Схема электрическая функциональная УА приводится на отдельном листе графической части (лист 4). В ПЗ обосновывается выбор формата МК. Для фрагмента МПы (можно использовать исходный фрагмент для УА с жесткой логикой) проводится процедура размещения микрокоманд в памяти в соответствии с заданным способом адресации микрокоманд.
Таблица 1
Варианты исходных данных для проектирования
Номер варианта |
Коды команд |
Емкость ОП (Кбайт) |
Длина слова ОП (байт) |
Тип УА с жесткой логикой |
Серия интегральных микросхем |
Способ адресации микрокоманд |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1. 2. 3. 4. 5. |
38,5С,86 30,BE,4C 28,59,49 8F,95,1E 32,4C,46 |
256 128 512 1024 2048 |
8 4 4 2 2 |
МИЛИ |
133 134 155 176 500 |
1 |
2 |
||||||
6. 7. 8. |
14,7C,06 33,7E,45 70,3C,44 |
4096 128 256 |
4 4 8 |
МУРА |
530 531 533 |
|
3 |
||||||
Продолжение табл. 1 |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9. 10. 11. 12. 13. 14. |
31,BE,40 54,2C,87 8A,55,34 15,3A,5A 41,3E,5E 13,7A,B7 |
1024 64 128 512 1024 256 |
8 2 2 4 4 8 |
МИЛИ |
555 561 564 1500 1531 1533 |
3 |
1 |
||||||
2 |
||||||
15. 16. 17. 18. 19. 20. |
10,5D,24 89,2A,46 8B,7E,05 07,3B,5B 3E,94,59 34,4B,7B |
2048 128 64 512 2048 256 |
8 2 8 4 2 2 |
МУРА |
1561 133 134 155 176 500 |
|
3 |
||||||
1 |
||||||
21. 22. 23. 24. 25. |
12,7B,86 2B,95,4A 18,7D,19 86,BF,34 2C,BB,82 |
1024 128 4096 512 256 |
8 4 4 2 8 |
МИЛИ |
531 533 555 561 564 |
|
2 |
||||||
26. 27. 28. 29. |
10,2C,46 8D,6B,07 15,6F,98 58,5D,24 |
1024 2048 512 128 |
8 4 4 8 |
МУРА |
1500 1531 1533 1561 |
3 |
30. 31. 32. 33. 34. |
42,6C,19 78,BF,1A 6B,BA,07 22,97,5B 23,7F,87 |
256 64 2048 512 128 |
8 2 2 8 8 |
МИЛИ |
133 134 155 176 500 |
1 |
2 |
||||||
35. 36. 37. 38. 39. |
21,69,82 20,4C,5C 6C,94,1F 13,6C,96 48,3B,4B |
256 64 2048 256 512 |
4 4 2 2 8 |
МУРА |
531 533 555 561 564 |
|
3 |
||||||
40. 41. 42. 43. 44. |
24,BB,47 16,79,98 8E,29,60 14,3F,8A 16,2E,8F |
128 1024 64 128 4096 |
8 4 4 2 2 |
МИЛИ |
1500 1531 1533 1561 133 |
1 |
2 |
||||||
45. 46. 47. 48. |
15,7B,44 88,6A,1A 07,69,54 78,1C,40 |
512 1024 2048 512 |
8 8 4 4 |
МУРА |
134 155 176 500 |
|
3 |
||||||
Продолжение табл. 1 |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
49. 50. 51. 52. 53. 54. |
05,7A,90 8C,2B,45 60,90,1F 89,3A,54 48,6B,06 8E,2D,96 |
128 256 1024 64 256 512 |
2 2 8 8 4 4 |
МИЛИ |
531 533 555 561 564 1500 |
1 |
2 |
||||||
55. 56. 57. 58. 59. 60. 61. 62. 63. 64. |
3C,86,59 8A,3D,55 11,2F,97 8C,29,06 18,7C,1C 30,BA,4A 14,3D,98 8C,2A,17 56,39,92 15,7A,5A |
128 64 2048 128 256 512 1024 64 512 128 |
2 2 8 8 4 4 2 2 8 8 |
МУРА |
1531 1533 1561 133 134 155 176 500 530 531 |
3 |
1 |
||||||
2 |
||||||
65. 66. 67. 68. 69. |
44,7D,07 97,2D,47 87,2E,5E 32,5C,86 8E,30,49 |
4096 64 2048 256 512 |
4 4 2 2 8 |
МИЛИ |
533 555 561 564 1500 |
3 |
70. 71. 72. 73. 74. |
41,6D,1D 8D,6E,16 96,39,8C 68,1C,4B 46,7E,1E |
128 1024 2048 128 256 |
8 4 4 2 2 |
МУРА |
1531 1533 1561 133 134 |
1 |
75. 76. 77. 78. 79. |
12,7F,43 28,40,44 95,2F,5F 8F,2B,5B 8B,3E,91 |
512 64 1024 2048 128 |
8 8 4 4 2 |
МИЛИ |
155 176 500 530 531 |
2 |
80. 81. 82. 83. 84. |
50,3F,82 70,3A,57 58,39,87 07,6D,5D 8D,6E,1E |
4096 512 64 1024 2048 |
2 8 8 2 2 |
МУРА |
555 561 564 1500 1531 |
3 |
1 |
||||||
85. 86. 87. 88. 89. 90. |
15,7F,57 20,90,44 88,3C,5C 43,79,05 11,7E,1A 40,3F,97 |
128 256 512 64 1024 2048 |
4 4 8 8 4 8 |
МИЛИ |
1533 1561 133 134 155 176 |
2 |
3 |
||||||
Продолжение табл. 1 |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
91. 92. 93. 94. 95. |
47,3C,82 39,4A,97 8E,6C,06 70,1C,8B 15,3D,44 |
128 4096 512 128 1024 |
2 8 8 2 2 |
МУРА |
500 530 531 533 555 |
1 |
96. 97. 98. 99. 100. |
33,4B,86 40,2E,5E 50,3F,98 96,79,13 23,5D,87 |
2048 64 256 512 128 |
8 2 4 4 8 |
МИЛИ |
561 564 1500 1531 1533 |
2 |
3 |
||||||
101. 102. 103. 104. |
32,69,8A 12,3A,57 14,3E,5E 7E,1E,30 |
1024 2048 64 4096 |
2 8 8 4 |
МУРА |
1561 133 134 155 |
|
1 |
||||||
105. 106. 107. 108. 109. 110. |
2E,5F,18 10,7A,91 29,86,1E 8A,3C,5C 07,37,40 60,2F,86 |
512 128 1024 2048 64 256 |
4 2 2 8 2 4 |
МИЛИ |
176 500 530 531 533 561 |
2 |
3 |
Способы адресации микрокоманд:
1- принудительная с двумя адресами;
2- принудительная с одним адресом;
3- естественная.
2. ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ ЭВМ
2.1. Состав устройств ЭВМ
ЭВМ состоит из процессора, основной (оперативной) памяти (ОП), регистровой (сверхоперативной) памяти (РП) и средств ввода-вывода информации (рис.1).
Процессор выбирает из ОП команды и выполняет все операции за исключением операций ввода-вывода (ОВВ). ОВВ инициируются процессором и выполняются средствами ввода-вывода (на рис.1 не показаны).
ОП обеспечивает хранение байтов информации, предельное число которых (предельная емкость ОП) равна 224
=16777216 байт. Различные модели ЭВМ имеют разную емкость ОП: от 216
=64 Кбайта (1 Кбайт =210
байт=1024 байт) до 4096 Кбайт в старших моделях.
Рис. 1. Структурная схема ЭВМ
В ЭВМ адресуется каждый байт ОП. За одно обращение к ОП записываются или читаются несколько байтов информации (слово ОП): 1, 2 или 4 - в младших моделях, 4 или 8 - в старших.
РП используется для увеличения быстродействия процессора и состоит из 16 регистров общего назначения РОН[0:15](0:31), каждый из которых обеспечивает хранение 32-разрядного слова, и из четырех регистров с плавающей запятой РПЗ[к](0:63), где к=0,2,4,6, каждый из которых обеспечивает хранение 64-разрядного слова. РОН идентифицируются номерами регистров - 0,1,...,15, а РПЗ - номерами 0,2,4,6.
Каждому РОН соответствует одна ячейка РП, каждому РПЗ - две ячейки РП, т.е. РОН[0:15] = РП[0:15], РПЗ[0] = РП[16].РП[17], РПЗ[2] = РП[18].РП[19] и т.д.
РОН используются в качестве индексных регистров, базовых регистров, а также для хранения слов и полуслов, участвующих в операциях общего назначения. РПЗ хранят только числа с плавающей запятой.
2.2. Элементы информации и их адресация
В ЕС ЭВМ основным элементом информации, адресуемым и обрабатываемым как целое, является байт (рис.2).
Рис. 2. Машинные элементы информации фиксированной длины
Двоичные разряды байта нумеруются слева направо значения- ми 0,1,..,7. На основе байтов строятся полуслова (2 байта), слова (4 байта), двойные слова (8 байтов), называемые элементами информации фиксированной длины. Тип элемента информации (операнда) указывается кодом операции (КОП), который одновременно определяет и длину операндов (1,2,4 или 8 байтов).
Байты, хранимые в ОП, адресуются двоичными числами от 0 до 2К
-1, где 2К
- емкость ОП. Адрес элемента информации, состоящего из нескольких байтов, определяется адресом самого левого байта. Емкость ОП не должна превышать 224
байтов (емкость ОП указана в задании на проект). Адрес, выходящий за пределы фактической емкости ОП, (что может быть результатом ошибки в программе), рассматривается как неправильная адресация (А) и выполнение программы прекращается. Элементы информации фиксированной длины должны располагаться в ОП с адреса, кратного числу байтов в элементе (правило целочисленной границы). Из этого следует, что адрес байта может быть произвольным, адрес полуслова должен быть четным, адрес слова - кратен четырем, а адрес двойного слова - восьми (рис.3). Нарушение изложенного правила рассматривается как неправильная спецификация адреса (S) и обращение к ОП блокируется.
Рис. 3. Адресация элементов информации
2.3. Форматы данных и команд
В ЭВМ обрабатываются данные следующих типов: целые двоичные числа, числа с плавающей запятой, десятичные числа, логические значения.
Целые двоичные числа могут быть представлены в коротком и длинном форматах (рис. 4а). Нулевой разряд - знак числа. Целые числа хранятся в памяти в двоичном дополнительном коде. Числа с плавающей запятой могут быть представлены в коротком и длинном форматах (рис.4б). Нулевой разряд - знак числа. Характеристика Х(1:7) равна порядку числа, увеличенному на 64, и определяет значение порядка в диапазоне от -64 до +6З. Мантисса чисел представляется в прямом коде в шестнадцатеричной системе счисления и является числом меньше 1. Числа с плавающей запятой могут храниться в памяти ненормализованными.
Рис. 4. Форматы элементов информации:
а) целые числа;
б) числа с плавающей запятой;
в) логическая информация
Логические значения (логические величины) могут иметь длину 1, 4 или 8 байтов (рис. 4в). Логическая величина передается и обрабатывается как одно целое.
В ЕС ЭВМ команды представляются в пяти форматах: RR, RX, RS, SI, SS (рис. 5). (Формат SS здесь не рассматривается).
Рис. 5. Форматы команд ЭВМ ЕС
Первый байт команды содержит код операции КОП. Первые два разряда КОП(0:1) определяют формат команды: 00 – RR, 01 – RX, 10 – RS, 11 – SS. В зависимости от формата команды операнды выбираются из регистровой или основной памяти. Результат операции записывается обычно по адресу первого операнда. В формате SI второй операнд I2 выбирается непосредственно из команды.
Поля R1, R2 и R3 являются адресами соответственно первого, второго и третьего операндов, хранящихся в регистровой памяти (РОН или РПЗ). Поля В1, В2, D1, D2, X2 содержат информацию об адресах первого и второго операндов, хранящихся в ОП (см. “Формирование адресов операндов”).
3. СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ
Структура проектируемой ЭВМ в общем виде представлена на рис.6. Процессор состоит из операционного автомата (ОА) и управляющего автомата (УА), которые связаны с основной и регистровой памятью.
3.1. Структура процессора
ОА процессора служит для хранения слов информации, выполнения микроопераций (МО) над ними и вычисления логических условий (ЛУ), зависящих от слов.
УА обеспечивает требуемый порядок выработки наборов управляющих сигналов (следования МО) на основе заданных микропрограмм (МП).
ОА процессора рекомендуется строить на основе принципа общих микроопераций [2]. ОА разделяется на две части: память ОА и комбинационную часть (рис. 6 см. в приложении). Память ОА состоит из N регистров. Рабочие регистры РА, РВ, РС и т.д. используются для хранения операндов и внутренних слов МП. Длина их определяется длиной операндов и особенностями выполняемых команд. Длина регистра команд РК назначается исходя из максимальной длины команд заданного набора. Счетчик адреса команд (СЧАК) хранит и модифицирует адрес команды. Так как адрес команды всегда кратен полуслову, то длина СЧАК определяется емкостью ОП в полусловах, т.е. log2
Е
-1
, где Е- емкость ОП в байтах.
Буферный регистр (БР) необходим для хранения неиспользованной части слова ОП в процессе выборки команд из ОП и имеет длину 1 или 3 полуслова при 32 или 64-разрядном слове ОП соответственно.
Память ОА связана с комбинационной частью шинами А, В и С. На шины А и В посредством управляющих сигналов из множеств {a} и {b} выбираются операнды, вступающие в микрооперацию, а шина С используется для занесения результатов МО в память ОА. Операционный автомат подключен к магистрали М, связывающей его с ОП и РП через регистр Z.
Комбинационная часть ОА служит для выполнения множества МО над словами, выбранными на шины А и В, и вычисления значений ЛУ из множества X, необходимых для реализации МП. Комбинационная часть ОА содержит следующие операционные элементы комбинационного типа: формирователь кодов (ФК), сдвигатель (СДВ), комбинационный сумматор (КСМ) и формирователи осведомительных сигналов (Ф).
ФК необходим для формирования обратного кода слова, находящегося на шине В (F:=
B
), выделения поля слова (F:=В(1:31)
), формирования константы (F:=
const
). Возможна прямая передача слова с входной шины ФК на выходную (F:=В
). Все МО на ФК инициируются управляющими сигналами из множества {f}.
СДВ служит для выполнения МО сдвига слова вправо или влево на нужное количество разрядов k (S:=
L
k
(
F)
или S:=
R
k
(
F)
, где k=1,2,…) и для прямой передачи слова через СДВ (S:=
F
). МО сдвига инициируются управляющими сигналами из множества {s}. Если при выполнении МО сдвига необходимо запоминать значение спадающего разряда (оно может быть использовано в дальнейшем), то в структуру вводим дополнительный триггер. На рис.6 показан триггер L, связанный со старшим разрядом СДВ. МО сдвига в этом случае запишется: L.
S:=
L
1
(
F).
Основное назначение КСМ - выполнение МО суммирования чисел (K:=
A+
S
или K:=
A+
S+1
). Кроме этого, КСМ может выполнять логические МО (К:=А
vS
; К:=А
&S; К:=
A
ÅS
), микрооперации счета (К:=А+1; К:=
S+1
) и прямую передачу слова на шину K (K:=
A;
K:=
S
). Все МО КСМ инициируются управляющими сигналами из множества {k}. П – триггер для запоминания переноса при сложении (вводится в структуру ОА при необходимости).
Результат МО фиксируется в промежуточном регистре Z управляющим сигналом z1
на время одного такта, а затем может быть передан в память ОА по шине С (управляющие сигналы {c}), в ОП или РП через магистраль М (управляющие сигналы {m}) или в адресный регистр АР (управляющие сигналы {r}).
Например, сложная микрокоманда РА:=РВ+
R
1
() может быть реализована в предлагаемой структуре ОА следующим образом: А:=РВ; В:=РС;
F:=
;
S:=
R
1
(
F); К:=А+
S;
Z:=
K; РА:=
Z.
Хранение признаков результата, состояний процессора и режимов работы обеспечивает совокупность триггеров, образующих регистр состояний процессора (РСП). Регистр РСП представляет собой часть регистра слова состояния процессора (ССП) ЭВМ. В нем фиксируются все особые случаи выполнения команды (сигналы прерываний), устанавливаются режимы работы и состояния процессора, признак результата (см. рис.10). Если одна из заданных команд использует ССП полностью (т.е. ССП является операндом), то нет необходимости вводить в структуру регистр РСП. В этом случае СЧАК также принадлежит регистру ССП (0:63).
3.2. Оперативная память
В ОП емкостью Е байтов хранятся 16, 32 или 64- разрядные слова. Слово читается и записывается в 0П всегда целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается в регистре адреса оперативной памяти (АОП). Длина регистра АОП вычисляется как log2
ЕС
,
где ЕС
- емкость ОП в словах (ЕС
=Е/
l, где l – длина слова ОП в байтах). Слово памяти, которое записывается или читается из ОП, размещается в регистре слова ОП (РОП). Длина регистра РОП (0:l-1), где lÎ{16,32,64}.
Операция в ОП возбуждается сигналами чтения из ОП (ЧТОП) и записи в ОП (ЗПОП). Момент окончания цикла обращения к ОП отмечается сигналом занятости ОП ZОП
, так как цикл ОП имеет длительность, большую такта работы процессора. Таким образом, синхронизация работы процессора и ОП обеспечивается за счет ждущих вершин графа микропрограммы.
Рис.6. Базовая структурная схема процессора
Обмен информацией между ОА и ОП происходит через магистраль М и промежуточный регистр Z. Адрес слова, которое необходимо прочитать или записать в ОП, предварительно формируется в адресном регистре АР, связанном с АОП шиной, управляемой сигналами из множества {r}. Длина АР равна log2
E
, т.е. АР хранит адрес байта в ОП.
Обмен информацией между процессором и ОП происходит следующим образом. Пусть необходимо прочитать слово информации (команду, операнд) из ОП по адресу А, сформированному в одном из рабочих регистров памяти ОА. В первом такте адрес А передается в АР через регистр Z (рис. 7). Во втором такте А из АР загружается в регистр АОП и подается управляющий сигнал чтения ЧТОП. Нулевое значение осведомительного сигнала Zоп отмечает окончание цикла чтения ОП и, следовательно, прочитанное слово появилось в регистре слова ОП РОП. В третьем такте слово информации передается из РОП через магистраль М и регистр Z в память ОА. Функциональная микропрограмма чтения из ОП приведена на рис.7а. В дальнейшем МО передачи будут записываться укрупнено, т.е. вместо трех МО: М:=РОП, Z:=М, Слово:=Z запишем: Слово:=РОП. Функциональная микропрограмма записи слова в ОП по адресу A представлена на рис.7б.
Рис. 7. Функциональные микропрограммы: а) чтение слова из ОП;
б) запись слова в ОП по адресу А
3.3. Регистровая память
РП [0:23](0:31) является внутренней (сверхоперативной) памятью процессора. Длина регистра слова РП (РРП) - 32 разряда. Адрес регистра указывается в 5-разрядном регистре адреса РП (APП). Чтение и запись в РП инициируются сигналами ЧтРП и ЗпРП, соответственно.
При обращении к РОН с полусловом или словом любое значение адреса от 0 до 15 является допустимым. При обращении к РОН с двойным словом адрес должен быть четным, (если адрес у РОН нечетный – нарушение спецификации адреса (S)). При обращении к РПЗ со словом или двойным словом (числа с плавающей запятой) адрес РПЗ должен быть четным и меньше восьми. В ином случае фиксируется нарушение спецификации адреса РПЗ (SP).
Сопряжение ОА процессора с РП организовано через магистраль (рис. 1,6). Сигнал занятости РП отсутствует, т.к. цикл РП (чтение или запись) укладывается в такт процессора.
В формате команды под адрес РП (номер регистра) отводится четырехразрядное поле (R, B или X). Обращение к определенному виду регистров (РОН или РПЗ) зависит от кода операции в команде (типа операнда).
Для обращения к POH за целым числом, базовым адресом, индексным приращением, кодом логической величины или адресом необходимо установить старший разряд адреса АРП(1) в нуль. Для обращения к РПЗ за числом с плавающей запятой АРП(1) устанавливается в единицу. Разряды АРП(2:5) определяются полем R , В или Х в команде. Обращение к регистрам РП за двойным словом выполняется за два цикла. Функциональные микропрограммы чтения слова из POH с адресом R и записи двойного слова в РПЗ с адресом R приведены на рис. 8.
Рис. 8. Функциональные микропрограммы: а) чтение слова из РОН R;
б) запись двойного слова в РПЗ R
3.4. Функционирование ОА во времени
Такт работы процессора Т разделяется на такт управляющего автомата ТУА
и такт операционного автомата ТОА
(рис. 9). Такт ОА состоит из последовательности микротактов t1
, t2
и t3
. В каждом микротакте выполняются отдельные действия (этапы МО), определяемые структурой ОА (рис. 6).
В микротакте t1
производится выборка слов (операндов) на шины А и В и преобразование слов в комбинационной части ОА (т.е. на ФК, СДВ, КСМ). В микротакте t2
результат с выхода КСМ передается в регистр Z, а в микротакте t3
можно передавать содержимое регистра Z в память ОА, АР или через М в ОП, РП.
Длительность микротактов определяется многофазной системой синхронизирующих сигналов (рис. 9б). Сигнал СУА
синхронизирует работу УА, С1
- запоминание информации в регистре Z , а С2
- запись результата в память ОА, АР, РП, ОП. C указанными микротактами и синхросигналами следует связать все другие возможные передачи информации.
Рис.9. Временные диаграммы работы процессора
В регистре Z информация сохраняется только в течение одного такта, т.е. обновляется по каждому сигналу С1
. Для обращения к РП отводится такт процессорного времени. При этой цикл чтения из РП должен укладываться в микротакт t1
, а в микротакте t2
прочитанное слово заносится в регистр Z. Цикл записи в РП должен укладываться в микротакт t3
. Аналогично распределяются во времени действия, связанные с обращением к ОП. Длительность микротакта t1
должна быть достаточной для выдачи слов из памяти ОА на шины А и В и выполнения всех преобразований на ФК, СДВ, КСМ.
4. ПОРЯДОК ВЫПОЛНЕНИЯ ОСНОВНЫХ ОПЕРАЦИЙ
В ЕС ЭВМ
4.1. Структура микропрограммы
Алгоритм выполнения каждой заданной команды следует представить в виде функциональной микропрограммы (Ф-МП), отражающей все этапы ее выполнения.
Микропрограмма должна начинаться с выборки команды из ОП. Адрес команды задается содержимым СЧАК. Процедура выборки команды определяется длиной слова ОП и форматом выбираемой команды. Перед выборкой очередной команды необходимо проанализировать состояние процессора "РАБОТА - СТОП", так как выполнение программы процессором начинается только после нажатия кнопки "ПУСК" на инженерном пульте ЭВМ.
Порядок функционирования процессора зависит от программного состояния "ОЖИДАНИЕ-СЧЕТ". В состоянии "СЧЕТ" (ССП(14)=1) происходит обычная выборка и выполнение команд. В состоянии "ОЖИДАНИЕ" команды не выполняются, процессор ждет внешний сигнал прерывания. Это состояние указывается в регистре РСП (или в слове состояния процессора ССП).
Общая структура микропрограммы приведена на рис. 10.
Рис. 10. Структура микропрограммы
4.2. Выборка команды из ОП
Программа, представляющая собой последовательность команд различных форматов, размещается в ОП. В ЕС ЭВМ используются команды длиной 1,2 и 3 полуслова (в заданиях на проект нет команд длиной 3 полуслова).
Для того, чтобы выполнить команду, ее необходимо прочитать из ОП в регистр команд (РК). В зависимости от формата выбираемой команды и ситуации, предшествовавшей выборке данной команды, необходимо выполнить различную совокупность микроопераций для передачи команды из ОП в РК. Команды любого формата начинаются с целочисленной границы полуслова. Команды длиной в полуслово в 64-разрядной ОП могут располагаться в виде, представленном на рис. 11. Слово ОП может содержать полностью команду или только ее часть. В 8-байтовом слове ОП могут содержаться, например, две команды формата RX, или четыре команды формата RR, или два поля по полуслову, принадлежащие различным командам, и команда RS и т.д.
Структурная схема, ориентированная на реализацию выборки команд из ОП с длиной слова 64 разряда, представлена на рис. 12. Функциональная микропрограмма выборки команд приведена на рис. 11. (емкость ОП принята равной 256 Кбайтов).
Адрес выбираемой команды хранится в счётчике адреса команд. СЧАК имеет длину, равную log2
E-
l
(17 разрядов), так как адрес команды любого формата кратен полуслову. Адресный регистр основной памяти (АОП) имеет длину log2
E
(15разрядов). Значение последних двух разрядов СЧАК указывает, с какого полуслова в ячейке ОП начинается выбираемая команда.
При выполнении программы команды обычно выполняются последовательно, т.е. адрес следующей команда в СЧАК на 1 или 2 (в зависимости от длины исполняемой команды) больше адреса текущей команды. Причиной нарушения естественного порядка следования команд может явиться результат выполнения команды перехода. Для отметки порядка следования команд введем в структуру триггер перехода (ТП) - один из разрядов регистра РСП. Если команды выполняются последовательно, то ТП=0. В процессе выполнения команда перехода при занесении в СЧАК адреса перехода ТП устанавливается в 1.
В структуре ОА процессора присутствует буферный регистр (БР), который используется только на этапе выборки команды из ОП. В БР заносится часть слова ОП с целью исключения повторного чтения ячейки ОП. В приведенном примере (слово ОП 8 байтов) длина БР - 3 полуслова. При длине слова ОП 2 байта необходимости в БР не возникает. Если ТП=0, то содержимое БР используется для формирования команды в РК. Если ТП=1, управление передано команде, отсутствующей в БР и, следовательно, его содержимое не может быть использовано.
При выборке команды адресуемое полуслово (вся команда формата RR или половина команды RX,RS,SI) передается в РК (0:15) (см. рис. 11, 12 в приложении). Затем анализируется длина команды (РК(0:1)=00 для команд формата RR) и либо выборка заканчивается увеличением СЧАК на 1, либо команда в РК дополняется вторым полусловом, а СЧАК увеличивается на 2.
Наибольшую сложность представляет случай, когда команда начинается с последнего полуслова в ячейке ОП и длина ее равна слову. Из БР берется первое полуслово выбираемой команды. Это полуслово, т.е. БР (32:47), передается в регистр команд РК (0:15), СЧАК увеличивается на I и происходит повторное обращение к ОП. Из вновь прочитанного слова ОП первое полуслово передается в разряды РК (16:31), а остальные три полуслова, являющиеся новыми командами, запоминаются в БР.
В Ф-МПе следует провести разметку операторных и условных вершин: МОi
отметить управляющим сигналом уi
, МКj
(операторную вершину) – Yj
, а ЛУк
(условную вершину) - осведомительным сигналом Хк
. При этом одинаковые МО и ЛУ отмечаются одинаково во всех микропрограммах, а каждую следующую МК Yj
в одной микропрограмме отмечают с добавлением штриха (т.е. Y1
j
) (см. рис. 11, 13 в приложении).
4.3. Формирование адресов операндов
Способ формирования адресов операндов определяется форматом исполняемой команды. В формате RR оба операнда находятся или в РОН, или в РПЗ. РОН адресуются числами от 0 до 15.
РПЗ имеют адреса 0, 2, 4, 6. Адрес РПЗ может быть задан некорректно, если он отличен от вышеназванных четырех чисел. Этот случай вызывает прерывание выполнения команды и называется неправильной спецификацией с плавающей запятой (SP).
При формировании адреса РП старший разряд АРП(I), определяющий обращение к РОН или РП3, задается кодом операции, а четыре младших разряда - полем R команды.
В формате RX второй операнд находится в ОП. Исполнительный адрес в этом случае вычисляется сложением трех составляющих:
A2=D2+[POH(B2)]+[POH(X2)].
Здесь D2
- смещение, непосредственно находящееся в формате команды, а поля Х2
и В2
команды определяют номера РОН, в которых хранятся значения индексного приращения и базового адреса соответственно.
В формате RS второй операнд также находится в ОП, но, в, отличие от формата RХ, адрес А2
не индексируется и A2=[РОН(В2)]+
D2
. В формате SI первый операнд находится в ОП и его адрес А1=[РОН(В1)]+
D1
. Второй операнд I2
содержится непосредственно в формате команды в разрядах (8:15) и имеет длину 1 байт.
Если поля В1, В2
или Х2
равны нулю, то соответствующая компонента -адреса также равна нулю, т.е. базовые адреса и индексные приращения не могут размещаться в РОН(0).
4.4 Система команд ЕС ЭВМ
Операции с целыми числами
С помощью набора команд с целыми числами осуществляются операции двоичной арифметики над операндами, которые, с одной стороны, могут быть адресами, индексами и счетчиками, а с другой - представлять собой целые двоичные числа со знаком. Набор команд предусматривает загрузку, сложение, вычитание, сравнение, умножение, деление, запись в память (передачу операнда из РП в ОП) и сдвиги арифметические.
Операции двоичной арифметики выполняются как операции над целыми двоичными числами. Числа хранятся в памяти и вступают в операцию в дополнительном коде. Для выполнения операций следует использовать алгоритмы, описанные в [2,6]. Разрешается использовать алгоритмы умножения и деления в прямых кодах, для чего операнды перед началом операции следует преобразовать в прямой код, а отрицательный результат - в дополнительный код.
Операции с плавающей запятой
Эти команды служат для выполнения арифметических и посылочных операций над числами с плавающей запятой, представленными в коротком и длинном форматах. Длина операнда определяется кодом операции. Так как характеристика представляет собой целое число, а мантисса - число с фиксированной запятой, то действия над числами с плавающей запятой
Рис. 12. Структурная схема выборки команд из ОП (длина слова ОП 8 байтов)
производятся отдельно над характеристиками и мантиссами по правилам обработки целых чисел и чисел с фиксированной запятой.
При выполнении арифметических операций контролируются случаи переполнения и исчезновения порядка. Если действия над характеристиками проводятся в дополнительном модифицированном коде, то о переполнении порядка свидетельствует появление кода 01 в двух знаковых разрядах модифицированного кода, а код 11 указывает исчезновение порядка [2,6,8]. При выполнении всех операций над знаками чисел, а также в операциях сложения, вычитания и сравнения устанавливается признак результата в регистре РСП.
Логические операции
Набор команд логической обработки данных предназначен для выполнения широкого класса логических операций, в которых операнды рассматриваются как группы байтов и, за исключением команд редактирования, трактуются как нечисловая информация. Набор логических операций включает в себя пересылки, сравнение кодов, побитовые логические операции, проверки битов и сдвиги кодов.
В результате выполнения всех операций логического сравнения, поразрядных операций, а также операций проверки устанавливается признак результата.
Операции переходов
Набор команд переходов предназначен для выбора одного из двух направлений продолжения программы (ветвление программ или организация циклов). Кроме того, с помощью этих команд организуются обращения к подпрограммам (переход с возвратом). Переход реализуется путем засылки адреса перехода в качестве нового адреса команды в СЧАК.
В процессе выполнения всех операций в регистре РСП устанавливаются признаки состояния процессора и признаки перехода, такие как:
А - неправильная адресация;
S - неправильная спецификация;
SР - неправильная спецификация с плавающей запятой;
Е - переполнение порядка;
LS - потеря значимости;
U - исчезновение порядка;
FK - особый случай деления в плавающей запятой;
IF - переполнение в операции с фиксированной точкой;
IK – особый случай деления с фиксированной точкой;
ТП – значение триггера перехода;
ПрР(1:2) – признак результата.
4.5. Выполнение команд
Ф-МПа каждой отдельной команды разрабатывается на основе словесного алгоритма ее выполнения [1].
Чтение операнда из ОП и запись результата в ОП по исполнительному адресу А1
или А2
производится после проверки адреса на правильность адресации (А) и спецификации (S). При правильной а
Обмен с ОП происходит только словами ОП. Если операндом команды является часть слова ОП, то необходимо прочитать в регистр Z все слово ОП, а затем выделить его часть (байт, полуслово) в соответствии с младшими разрядами адреса. При записи в ОП единицы информации короче длины слова ОП содержимое ячейки ОП читается в регистр Z и соответствующая часть слова ОП заменяется операндом. Таким образом сформированное слово ОП записывается в ту же ячейку ОП.
Если длина операнда превышает длину слова памяти, то чтение и запись производится за несколько обращений к памяти.
В качестве примера рассмотрим выполнение команды “Сложение” (формат RX, код операции 5А). Словесный алгоритм в упрощенном виде выглядит следующим образом. Второй операнд складывается с первым операндом, и сумма помещается на место первого операнда. В сложении участвуют все 32 бита каждого операнда. Необходимо выявить переполнение, которое вызывает программное прерывание. При переполнении полученный знаковый бит суммы остается без изменения. Переполнение возникает, если при сложении положительных чисел сумма получается с отрицательным знаком, а при сложении отрицательных чисел с положительный знаком.
Признаки результата: 0 - сумма равна 0; 1 - сумма меньше 0; 2 - сумма больше 0; 3 - переполнение.
Программные прерывания: доступ (неправильное обращение к ОП, т.е. А и S); переполнение с фиксированной точкой (IF).Ф-МП выполнения операции сложения целых чисел приведена на рис. 13.
После выборки команды формата RХ из ОП в РК (см. рис. 11 в приложении) формируется исполнительный адрес второго операнда А2
путем базирования и индексирования в рабочем регистре РА памяти ОА. С учетом длины регистра РА (0:31) адрес А2
проверяется на правильность адресации и спецификации. Если адрес сформирован неверно, в регистре РСП устанавливается причина прерывания выполнения команды (А или S ).Затем производится чтение второго операнда длиной 4 байта из ОП с длиной слова 8 байтов в рабочий регистр РА. Первый операнд читается из РОНа с адресом R
1
в рабочий регистр РВ (0:31).
Операнды (целые числа со знаком) проверяются на равенство 0. Если хотя бы один из операндов равен 0, устанавливается признак результата в регистре РСП и результат записывается в РОН с номером R1
. Если операнды не равны 0, то производится их сложение и сумма формируется в регистре РА. Так как необходимо выявить переполнение, которое может возникнуть только при сложении чисел с одинаковыми знаками, в микропрограмме (рис.13 в приложении) фигурируют две микрокоманды сложения ( Y31 и Y1
31). В соответствии со значением суммы устанавливается признак результата и сумма записывается на место первого операнда.
Рис.13. Микропрограмма выполнения команды "Сложение"
(слово ОП - 8 байтов)
Продолжение рис.13.
5.ОБЬЕДИНЕНИЕ СТРУКТУРНО-ФУНКЦИОНАЛЬНЫХ МИКРОПРОГРАММ С ИСПОЛЬЗОВАНИЕМ МАТРИЧНЫХ СХЕМ АЛГОРИТМА
Исходным материалом для построения объединённой функциональной микропрограммы (Ф-МП) являются разработанные Ф-МП отдельных операций [1]. Каждая Ф-МП должна быть размечена: микрокоманды (операторные вершины) – символами из множества {Y}, логические условия – символами из множества осведомительных сигналов {x} или переменными кода операции {p}. Одинаковые микрокоманды отмечаются одними и теми же символами Yl
в разных Ф-МП. Если в одной Ф-МП встречается несколько одинаковых операторных вершин Yl,
то каждая последующая из них обозначается символом Yl
c добавлением штриха ( Yl
1
, Yl
11
и т.д.) Размеченные Ф-Мпы называются граф-схемами алгоритма (структурно-функциональными микропрограммами СФ-МП).
Алгоритм объединения СФ-МП рассмотрим на примере объединения трёх ГСА (ГСА1, ГСА2, ГСА3 ), представленных на рис.14а,b,c. Объединение выполняется в несколько этапов.
5.1. Построение матричных схем алгоритма (МСА)
Для каждой ГСА Гq
строится МСА Мq
. Мq
– квадратная матрица, строки которой отмечены операторами Y0
, Y1
,…, Yt
,
а столбцы – Y1
, …, YT
, YK
(здесь Yt
– микрокоманда (оператор) ГСА Гq
, t=1,…T; Y0
и YK
- начальный и конечный операторы, соответственно. На пересечении строки Yi
и столбца Yj
матрицы записывается функция перехода от оператора Yi
к оператору Yj
МСА М1
, М2
, М3
приведены в табл.2,3,4. Если в одной ГСА Гq
имеется несколько операторов Yi
, Yi
1
, Yi
11
и т.д., то в дальнейшем они рассматриваются как различные.
Если в некоторой строке МСА переменная xi
встречается либо только в прямом (xi
), либо только в инверсном значении (), то эта переменная определяет ждущую условную вершину ГСА.
Каждая МСА Mq
( q=1,…,Q ) кодируется вектором, длина которого N]log2
Q[.Закодируем М1
, М2
, М3
следующим образом: М1
-(00); М2
-(11); М3
-(01). Каждой МСА ставится в соответствие определяющая конъюнкция Pq
=.
В нашем примере
P1
=; Р2
=р
1
р
2
; Р3
=.
Рис.14а. Исходные граф-схемы алгоритмов(ГСА1)
Рис.14б.Исходные граф-схемы алгоритмов (ГСА2)
Таблица 2
|
Y1
|
Y2
|
Y3
|
Y4
|
Y5
|
Y6
|
YK
|
Y0
|
|
|
x1
|
||||
Y1
|
x2
|
||||||
Y2
|
|
x3
|
|||||
Y3
|
|
x3
|
|||||
Y4
|
|
x4
|
|||||
Y5
|
x4
|
||||||
Y6
|
1 |
Таблица 3
|
Y1
|
Y2
|
Y
|
Y3
|
Y4
|
Y7
|
YK
|
Y0
|
|
x7
|
|
|
|||
Y1
|
x2
|
||||||
Y2
|
|
x5
|
|||||
Y
|
1 |
||||||
Y3
|
|
x5
|
|||||
Y4
|
x4
|
||||||
Y7
|
1 |
Таблица 4
|
Y1
|
Y2
|
Y3
|
Y4
|
Y7
|
YK
|
Y0
|
|
|
x1
|
|||
Y1
|
x2
|
|||||
Y2
|
|
X5
|
||||
Y3
|
|
X5
|
||||
Y4
|
x4
|
|||||
Y7
|
1 |
5.2. Построение объединенных подматриц
Задача объединения ГСА Г1,…,
ГQ
может быть разбита на несколько независимых подзадач меньшей размерности. Для этого исходные МСА Мq
(q=1,…,Q) разбиваются на подматрицы Mq
1
,…, Mq
Tq
таким образом , что для любых двух подматриц Mq
P
и Mq
S
(p,s{1,…,Tq
}) пересечение множеств исходящих и входящих операторов пусто: Aq
P
Aq
S
=, Bq
P
Bq
S
= (где {A} –исходящие, а {B} – входящие операторы). Метод разбиения для МСА М1
иллюстрируется рис. 15. Подматрицы, полученные в результате разбиения МСА М1
, М2
, М3
, приведены на рис.18.
На множестве всех полученных таким образом подматриц (см. рис.18) введём отношение объединимости, согласно которому две подматрицы Mq
S
и Mr
f
объединимы (Mq
S
Mr
f
), если и только если пересечение множеств их исходящих или входящих операторов не пусто:
(( Aq
S
Ar
f
)( Bq
S
Br
f
))=1,
где Aq
S
(Bq
S
) и Ar
f
(Br
f
) - множества исходящих ( входящих ) операторов подматриц Mq
S
и Mr
f
соответственно . Очевидно, что это отношение рефлексивно , симметрично, но не транзитивно. Построим граф этого отношения. Каждой подматрице ставится в соответствие вершина графа. Две вершины Mq
S
и Mr
f
соединяются ребром, если Mq
S
Mr
f
(рис.16). Тогда, очевидно, для нахождения множества всех объединимых подматриц необходимо найти все компоненты связности этого графа. Подматрицы, попавшие в одну компоненту , подлежат объединению. В графе на рис. 16 четыре подграфа( подграф может состоять и из одной изолированной вершины). Значит необходимо решать 4, но существенно более простые задачи объединения следующих подматриц:
;
;
;
;
Таким образом, множество объединимых подматриц , , порождает одну объединённую подматрицу и т.д. Построение объединенных подматриц выполняется следующим образом.
1). Строки объединённой подматрицы обозначим операторами , входящими в объединение множеств исходящих операторов в подматрицах , порождающих объединенную подматрицу . Точно так же столбцы её обозначим операторами,
входящими в объединение множеств входящих операторов в порождающих подматрицах.
2).Элемент ij
(т.е. стоящий на пересечении Yi
и Yj
) объединенной подматрицы равен , где (ij
)q
-элемент МСА Мq
, стоящий на пересечении строки Yi
и столбца Yj
.
Объединенные подматрицы М0
1
, …,
М0
4
приведены на рис.19. Каждый оператор Yi
отмечает только один столбец и только одну строку во всем множестве объединенных подматриц, что вытекает из способа их построения.
5.3. Учет распределения сдвигов
Так как выбранные коды МСА являются кодами операций для каждой из реализуемых команд, ни один оператор внутри граф-схем не меняет значений переменных p1
,…,pN
(относительно этих переменных имеем пустое распределение сдвигов). В связи с этим полученные объединенные подматрицы можно упростить. Так переход к Y2
1
в подматрице М0
1
происходит всегда при р1
=р2
=1 ( в столбце Y2
1
не встречаются другие определяющие коньюнкции , кроме р1
р2
). Поэтому в строке Y2
1
(см. подматрицу М0
4
) заменяем р1
р2
на 1. Аналогичным образом просматриваются все столбцы в подматрицах М0
1
, …,
М0
4
и делаются соответствующие упрощения в строках. Удаляемые переменные и обведены кружком.
5.4. Построение системы скобочных формул перехода
Тот факт, что от любого оператора ГСА или МСА Yi
(i=0,1,…,T) возможен переход к операторам из множества {Y1
,…Yj
,…,YT
, YK
} можно описать с помощью выражения
Yi
, (1)
где -функция перехода от Yi
к Yj
; Yj
- отмеченная булева функция.
Формулы вида (1) носят название формул перехода. Множество формул перехода для всех i=0,1,…,T образует систему формул перехода . Систему формул перехода для объединенной ГСА получим в виде подсистем формул перехода для каждой из объединенных подматриц. Например, для подматрицы М0
3
имеем формулу перехода:
= . (2)
Представление формулы перехода в виде
Yi
xl
Al
B,
где xl
{x1
,…,xL
,p1
,p2
}, а A и B - подформулы перехода, не зависящие от xl
, носит название приведения (разложения) формулы перехода по переменной xl
.
Продолжая приведение подформул А и B по другим переменным до тех пор, пока во внутренних скобках не окажутся выражения вида
(xp
Yn
p
Yr
),
xp
{ x1
,…,xL
,p1
,p2
}; Yn
,Yr
{Y1
,…,YT
,YK
},
получим скобочную Формулу перехода для оператора Yi
.
Если в некоторой строке объединенной подматрицы во всех ненулевых членах некоторая переменная xp
встречается только без инверсии (xp
) или только с инверсией (p
),
этой переменной в ГСА соответствует ждущая условная вершина, и при получении скобочной формулы перехода эту переменную нужно прежде всего вынести за скобку. Получим выражение вида Yi
xp
(А) или Yi
p
(A), где А - подформула, не содержащая xp
.
При получении подсистемы скобочных формул перехода необходимо учесть их неполную определенность, которая может возникнуть в следующих случаях:
I). Если число Q объединяемых ГСА меньше 2N
, т.е. не все наборы значений переменных p1
,…,pN
используются для кодирования МСА M1
,…,MQ
, все формулы перехода не определены на неиспользуемых наборах значений переменных p1
,…,pN
.
2). Если оператор Yt
не встречается в каких-либо МСА Mq
(q=1,…,Q),то формула перехода для Yt
не определена на тех наборах значений переменных, которыми закодирована МСА Мq
. Так, выражение (2), дополненное термами, включающими в себя неиспользованный код операции
, имеет вид:
.
Это дает возможность сократить переменную p1
.
После приведения к скобочной форме формулы перехода для Y4
получим:
. (3)
Скобочной формуле перехода однозначно соответствует подграф ГСА (рис.17).
Рис. 15. Разбиение МСА М1
Рис. 16. Граф объединяемых подматриц
Рис. 17. Подграф объединенной ГСА
На основе объединенных подматриц получаем следующую систему скобочных формул перехода:
М: ((p2
() ( ())) (
(
()));
Y2
p2
(
)
(
(
))
;
()(()); (4)
M: ;
:
: ;
;
;
.
Одинаковые подформулы реализуются в подграфе только один раз. Очевидно, что искать одинаковые подформулы, которым соответствуют одинаковые подграфы, нужно только в пределах подсистемы формул перехода. Это связано с тем, что пересечение множеств исходящих и входящих операторов для любых двух объединенных подматриц пусто. Таким образом, существенно облегчается задача нахождения оптимальных систем скобочных формул с максимальным количеством одинаковых подформул, т.е. задача построения ГСА с минимизированным числом условных вершин.
M1
|
Y1
|
Y4
|
Y5
|
M1
|
Y2
|
M1
|
YK
|
Y0
|
|
|
x1
|
Y1
|
x2
|
Y5
|
x4
|
Y6
|
1 |
||||||
Y2
|
|
x3
|
|||||
M1
|
Y3
|
Y6
|
|||||
Y3
|
|
x3
|
Y4
|
|
x4
|
||
а)
M2
|
Y1
|
Y1
|
Y4
|
Y7
|
M2
|
Y2
|
M2
|
Y3
|
Y0
|
|
x7
|
|
|
Y1
|
x2
|
Y4
|
x4
|
Y2
|
|
x5
|
||||||
Y3
|
|
x5
|
M2
|
YK
|
||||
Y1
|
1 |
|||||||
б) |
Y7
|
1 |
M3
|
Y1
|
Y4
|
Y7
|
M3
|
Y2
|
M3
|
Y3
|
Y0
|
|
|
x1
|
Y1
|
x2
|
Y4
|
x4
|
Y2
|
|
x5
|
|||||
Y3
|
|
x5
|
M3
|
YK
|
|||
в) |
Y7
|
1 |
Рис. 18. Подматрицы, полученные в результате разбиения :
а)МСА М1; б)МСА М2; в)МСА М3. 5.5. Построение объединенной ГСА
Подграфы ГСА, полученные на основе скобочных формул перехода, объединяются путем совмещения одинаковых исходящих и входящих операторных вершин (рис.20).
Заменяя в объединенной ГСА операторы Y соответствующими им функциональными микрокомандами, а переменные x,р - логическими условиями, получим объединенную Ф-МП выполнения заданных операций (первый лист графической части проекта).
6.РАЗРАБОТКА СТРУКТУРНО-ФУНКЦИОНАЛЬНОЙ МИКРОПРОГРАММЫ И СТРУКТУРЫ ПРОЦЕССОРА
Структурно-функциональная микропрограмма (СФ-МП) описывает порядок функционирования процессора в терминах конкретных управляющих и осведомительных сигналов [2].
Каждому действию над словами информации (микрокоманде) Ф-МПы ставится в соответствие совокупность управляющих сигналов, инициирующих это действие с учетом базовой структурной схемы ОА процессора (рис. 6). СФ-МП представляется в виде таблицы (см.Приложение табл.9). Выявляются множества управляющих сигналов {a}, {b}, {f} и т.д. Базовая структура ОА дополняется необходимыми шинами, операционными элементами, управляющими и осведомительными сигналами, и в итоге разрабатывается структура процессора.
Для ОА с общими МО совместимыми являются МО, связанные с различными операционными элементами. Поэтому управляющие сигналы, соответствующие совместимым МО одной МК, размещаются в одной строке таблицы, но в разных столбцах (см.Приложение). Так действию Y1
)PA:=PB + РК (16:19) Ф-МП соответствует набор управляющих сигналов: a1
) A:=PB - выборка содержимого регистра РВ на шину A; b1
) В:=РК - выборка команды из РК на шину B; f1
)F:=0.B(16:31) - формирование части слова на формирователе кодов ФК с добавлением константы нуля в старшие разряды кода; s1
) S:=R12(F) - сдвиг сформированного кода на 12 разрядов вправо на сдвигателе СДВ; k1
) K:=A+ S - суммирование на комбинационном сумматоре КСМ; z1
) Z:=K - прием суммы в промежуточный регистр Z; c1
) PA:=Z- передача результата в память ОА (в регистр РА).
При заполнении таблицы учитывается, что все регистры памяти ОА, операционные элементы комбинационной части (ФК, СDВ, КСМ), регистры Z, АР, регистры ОП и РП, управляемые шины совмещены по младшим разрядам.
Условные вершины Ф-МП интерпретируются осведомительными сигналами из множества {x}, которые вырабатываются соответствующими формирователями осведомительных сигналов Ф (рис.6). Все осведомительные сигналы ОА необходимо свести в таблицу.
На основе полученных данных вычерчивается электрическая структурная схема процессора в соответствии с ЕСКД.
7.
ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕГО АВТОМАТА С ЖЕСТКОЙ ЛОГИКОЙ
7.1.
Общие сведения
Управляющий автомат (УА) предназначен для формирования последовательности управляющих сигналов Y={a}, {b}, {f}, {s}, {k}, {c}, {r}, {z}, {m}, {n}, {d}, {l
} соответствующей последовательности осведомительных сигналов onepaционного автомата и коду операции X={x}, {p}. Закон функционирования УА, задающий порядок преобразования входной последовательности X(0), X(1), …, X(t), … в выходную последовательность Y(0), Y(1), …, Y(t), предопределяется микропрограммой и типом УА (Мили или Mypa).
УА с жесткой логикой проектируется для части (фрагмента) объединенной Ф-МП. Рекомендуется выбрать сильносвязанный непрямолинейный участок, имеющий только один вход и один выход и содержащий от 2
0 до 30 операторных вершин. Для выбранного участка Ф-МП строится СФ-МП на основе табл. 1(см.Приложение).
Разработка схемы УА производится на основе прямой или обратной структурной таблицы переходов [2,5].
Выполняются следующие действия.
1). Определяется множество входных сигналов x1
, x2
, …, xL
УА и множество выходных сигналов y1
, y2
, …, yM
. В одной операторной вершине, отмеченной общим выходным сигналом Yi
, содержится несколько выходных сигналов УА из множеств {a},{b} и т.д.
2). В соответствии с заданным типом УА на графе микропрограммы отмечаются состояния УА a1
,a2
,…,aN
. Строится прямая или обратная структурная таблица переходов УА.
3). Определяется количество элементов памяти , где N -
число состояний УА. Состояния a1
,a2
,…,aN
кодируются n -
разрядными двоичными наборами l
1
, l
2
,.., l
n
.
|
Y1
|
Y1
|
Y4
|
Y5
|
Y7
|
Y0
|
|
|
|
|
|
Y2
|
|
|
|
||
Y3
|
|
|
|
|
Y2
|
|
Y3
|
Y6
|
Y1
|
|
Y4
|
|
|
|
YK
|
Y1
|
=1 |
Y5
|
x4
|
Y6
|
|
Y7
|
p1
|
Рис. 19. Объединенные подматрицы
Рис. 20. Объединенная ГСА
Структурно-функциональная таблица
Таблица.9
Микрокоманды |
М и к р о о п е р а ц и и ОА |
Действия над адресами, работа ОП и РП, магистральные передачи |
|||||||||||
Выборка на шины |
ФК(0:31) |
CDB(0:31) |
KCM(0:31) |
Прием в Z(0:31) {z} |
Запись в память ОА {c} |
Установка РСП {d} |
Работа с АР(1:18) {r} |
Управле- ние ЗП и ЧТ {l} |
Выборка на М |
Прием с М в РП и ОП |
|||
А{a} |
B{b} |
F:=f{B} |
S:=s(F) |
K:=k(A,S) |
|||||||||
Y1
|
PA:=PB+PK(16:19) |
а1
|
в1
|
f1
0.B(16:31) |
s1
R12(F) |
k1
|
z1
|
c1
|
|||||
Y2
|
АОП:=АР(1:16) ЧТОП |
r1
AP(1:16) |
l1
|
||||||||||
Y3
|
БР:=РОП(16:31) |
z2
|
c2
|
m1
РОП |
|||||||||
Y4
|
СЧАК:=СЧАК+1 ТП:=0 |
а2
|
k2
|
z1
|
c3
|
d1
:=0 |
|||||||
Y5
|
АРП:=0.АР(15:18) ЧТРП РА:=РРП |
z2
|
c1
|
r2
0.AP(15:18) |
l2
|
m2
РРП |
|||||||
Y6
|
АРП:=0.АР(15:18) РРП:=РА ЗПРП |
а3
|
k3
|
z1
|
r2
|
l3
|
m3
|
n1
|
|||||
Y7
|
РВ(6:31):=
|
в2
|
f2
|
s3
F(7:31).F(6) |
k4
|
z1
|
c4
:=Z |
||||||
Y8
|
СЧТ=24 |
f3
110002
|
s3
|
k4
|
z1
|
c5
|
|||||||
Y9
|
РРП:=РА+ +11.+1 ЗПРП |
а3
|
в2
|
f4
|
s3
|
k5
|
z1
|
l3
|
m3
|
n1
|
При разработке УА необходимо предусмотреть меры, исключающие возникновение гонок. Записываются функции возбуждения (или переходов)
и функции выходов УА, на основе которых строится комбинационная часть схемы УА.
Необходимо предусмотреть асинхронную установку памяти УА в начальное состояние a1
=A(0) в соответствии с кодом этого состояния (сигнал U)
, включение УА в работу по запускающему сигналу В
и синхронизацию моментов переключения состояний УА С (см.рис.24).
Рис. 22. Фрагмент СФ-МПы
Q1
|
Q2
|
||||
00 |
01 |
11 |
10 |
||
0 |
a1
|
a2
|
|||
1 |
Рис. 23. Карта Карно для состояний УА
сигналы возбуждения
{J,K} или {S,R}, или {D,V}
Q1
a1
{a}
{b}
. . . . .
. . . . .
. . . . .
. . . . .
Qn
aN
{m}
U С (синхр.)
(сброс) {х} {р} В(пуск)
Рис. 24. Структура УА с жесткой логикой
7.2. Порядок разработки схемы УА
c
жесткой логикой
Фрагмент Ф-МП для проектирования УА назначается руководителем проекта. В ПЗ приводится граф СФ-МП для выделенного фрагмента, построенный на основе табл.5. Пример графа СФ-МП приведен на рис. 22.
Для УА Мили совокупности конкретных управляющих сигналов (a3
k3
z1
l
3
m3
) ставится в соответствие один общий выходной сигнал – y3
и т.д. (рис. 22).
Закодированный граф МП отмечается состояниями УА Мили или Мура в соответствии с заданием (на рис.22 отмечены состояния автомата Мили).
Строится прямая или обратная структурная таблица переходов вида табл.6. Переход из начального состояния УА a1
в любое следующее должен отмечаться сигналом запуска УА В.
По количеству состояний УА рассчитывается число триггеров памяти УА. Все состояния УА кодируются двоичными наборами состояний элементов памяти запоминающей части УА {Q}. При кодировании состояний нужно стремиться к тому, чтобы при любом переходе из состояния в состояние переключалось минимальное число элементов памяти. Оптимальный вариант - соседнее кодирование состояний УА. Если имеются избыточные коды, то возможно провести минимизацию кодов состояний с помощью карт Карно (рис 23).
Bсе переходы УА размечают наборами сигналов возбуждения элементов памяти УА {R,S}, или {J,K},или {D,V}(в зависимости от типа триггеров памяти УА) (табл.6). Например, для фрагмента СФ-МП (рис.22), размеченного состояниями автомата Мили (a1
, a2
, a3
, a4
, a5
), число элементов памяти УА n=3 (выходы элементов памяти обозначим Q1
, Q2
, Q3
). Закодируем состояния УА: a1
- 000; a2
- 001; a3
- 011; a4
-101; а5
- 111. После минимизации с помощью карты Карно (рис. 23) получим: a1
- 000; a2
- 001; a3
-01X; a4
-10X; a5
-11X. Коды состояний запишем в соответствующий столбец структурной таблицы переходов (табл. 5).
Записываем функции возбуждения и обобщенные функции выходов УА.
Функции возбуждения: Функции выходов(для УА Мили):
= y1
=
S2
= y2
=
S3
= (5) y3
= (6)
R1
= y4
=
R2
= y5
=
R3
=
Так как УА должен вырабатывать не общие выходные сигналы y
, а конкретные управляющие сигналы, инициирующие микрооперации в ОА, то преобразуем систему функций (6) к следующему виду:
z1
= s1
=
c2
=
a3
= s3
= c3
=
b1
= k2
= l
1
=
b2
= k3
= l
3
= (7)
f1
= z1
= r1
=
f2
= c1
= m3
=
Общий вид схемы УА с жесткой логикой представлен на рис 24, а схема электрическая функциональная УА приведена на рис 25. Комбинационная часть УА реализована в соответствии с функциями возбуждения (5) и функциями выходов (6,7) в булевом базисе.
7.3. Разработка принципиальной электрической схемы УА
Принципиальная электрическая схема УА разрабатывается на основе полученных систем функций возбуждения (или переходов) и выходов УА с использованием указанной в задании на проект системы интегральных микросхем (ИС).
Разработка схемы заключается в выборе некоторых логических элементов d из системы ИС Д и установлении определенных связей между выходами и входами элементов и всей схемы в целом. При этом предполагается, что число различных типов элементов из Д ограничено, но не ограничено число элементов каждого типа. Состав систем ИС всех заданных типов приведен в справочниках [3,4].
Система элементов характеризуется базисом системы, коэффициентом объединения по входу J, коэффициентом объединения по выходу (коэффициентом разветвления) kРАЗ
, задержкой сигнала на элементе [8].
Прямая структурная таблица переходов автомата Мили
Таблица 5
Номер перехода |
Исходное состояние |
Код исходного состояния |
Следующее состояние |
Код следующего состояния |
Входной набор |
Выходной набор |
Сигналы возбуждения |
|
1 |
а1
|
000 |
а2
|
001 |
В |
y1
|
a1
|
S3
|
2 3 4 |
а2
|
001 |
а3
а4
а1
|
01* 10* 000 |
|
y2
y3
y4
|
a1
a3
a3
|
S2
S1
R3
|
5 6 |
а3
|
01* |
а5
а1
|
11* 000 |
|
y5
— |
r1
— |
S1
R2
|
7 |
а4
|
10* |
а1
|
000 |
— |
y4
|
a3
|
R1
|
8 |
а5
|
11* |
а3
|
01* |
— |
y2
|
a1
|
R1
|
Входные сигналы УА Память УА DC Комбинационная часть УА Выходные
сигналы УА
Рис. 25. Функциональная электрическая таблица схема УА
Конструктивно элементы в системе ИС объединяются в единые корпуса (модули). В одном корпусе может быть 1,2 и более логических элементов или элементов памяти (триггеров). При качественном проектировании схем коэффициент использования элементов в корпусе должен быть высоким.
Структура комбинационных схем зависит от коэффициентов J и kРАЗ
. Для приведения схемы к заданному коэффициенту J применяется два метода: разделение входов и схемное решение, построеннoe на основе скобочного преобразования [8]. В конкретных системах элементов для реализации элементов с J больше допустимого используются специальные типы модулей - расширители.
Для разгрузки cхем по коэффициенту разветвления существует два способа: дублирование перегруженных элементов и введение развязывающих усилителей после перегруженных элементов [8]. В конкретных системах для разгрузки элементов с ограниченным значением kРАЗ
используются специальные модули, включающие усилители сигналов.
При вычерчивании принципиальной электрической схемы УА необходимо руководствоваться требованиями ЕСКД (ГОСТ 2.701-84, 2.702-75, 2.708-81, 2.710-81, 2.710-85, 2.743-82, 2.743-93, 2.759-82). Каждому элементу схемы присваивается обязательное позиционное обозначение. К электрической принципиальной схеме составляется перечень элементов в соответствии с ГОСТ 2.701-84.
7.4. Расчет длительности такта УА с
жесткой логикой
Такт работы ОУ (процессора) складывается из такта ОА и такта УА. Длительность такта УА зависит от структуры автомата, элементной базы и закона функционирования.
Если УА находится в состоянии ai
, то спустя промежуток времени в комбинационной части автомата будет сформирован набор выходных (управляющих) сигналов, соответствующий состоянию ai
и текущим значениям входных сигналов x1
,…,xL
. Управляющие сигналы инициируют в ОА соответствующие МО различной длительности {}, в результате выполнения которых изменяется состояние ОА, и за время
формируются новые значения осведомительных сигналов x1
,…,xL
. Очевидно, что управляющие сигналы должны иметь длительность, не меньшую длительности самой продолжительной МО ОА, т.е. такт
Таблица 6
ПОЛЕ ОЧ МК |
АЧ МК |
|||||||||
А(1:3) |
В(1:4) |
F,N(1:3) |
… |
M(1:3) |
X(1:4) |
|||||
МО |
код |
МО |
код |
МО |
код |
… |
МО |
код |
x |
код |
а1
а2
а3
,
,
,
а6
|
001 010 011 . . . 110 |
b1
b2
b3
.
.
.
b9
E |
0001 0010 . . . . 1001 1010 |
f1
f2
f3
n1
n2
|
001 010 011 100 101 |
… |
m1
m2
m3
m4
|
001 010 011 100 |
p1
x1
.
.
.
x12
|
0001 0010 0011 . . . 1110 |
Таблица 7
Адрес текущей МК |
Условие перехода к следующей МК |
Адрес следующей МК |
Аy1
Аy2
Аyф1
Аy3
Аy5
Аy4
Аyк
|
x1
x2
p1
0 0 0 |
Аy2
Аy5
Аy3
Аy4
Аy2
Аyк
|
Таблица 8
Адрес МК в ПМК |
А |
B |
F,N |
… |
X |
Адрес следующей МК в ПМК |
1168
|
001 |
0000 |
000 |
… |
0011 |
1178
|
117 (y2
|
001 |
0001 |
001 |
… |
0100 |
123 |
120 (yф1
|
000 |
0000 |
000 |
… |
0001 |
121 |
121 (y3
|
011 |
0000 |
000 |
… |
0000 |
122 |
122 (y4
|
011 |
0010 |
010 |
… |
0000 |
124 |
123 (y5
|
000 |
0000 |
000 |
… |
0000 |
117 |
124 (yк
|
000 |
1010 |
000 |
… |
0000 |
000 |
ОА=max(+). Только спустя промежуток времени УА можно переключить в следующее состояние aj
, переход в которое породит следующий набор управляющих сигналов. Для переключения УА в состояние aj
должен быть сформирован набор сигналов возбуждения и триггеры переключены в новое состояние, для чего необходим промежуток времени .
Таким oбразом, такт работы УА, определяющий время пребывания УА в одном состоянии ai
равен Т= +, где =+- затраты времени на управление, зависящие от длительности переходных процессов в УА. При расчете такта УА необходимо использовать справочные данные на заданную серию ИС.
8. ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕГО АВТОМАТА С ПРОГРАММИРУЕМОЙ ЛОГИКОЙ
Проектирование УА с программируемой логикой (П-автомата) выполняется для всей объединенной функциональной микропрограммы до ypoвня электрической функциональной схемы.
8.1. Определение формата микрокоманды
Функционирование П-автомата основано на принципе программного управления, использующего операционно-адресную структуру управляющих слов (микрокоманд). Одна микрокоманда определяет порядок функционирования П-автомата в течение одного такта. Совокупность МК образует массив MK[0:P], который хранится в памяти микрокоманд (ПМК). Отдельная МК выделяется из массива посредством адреса 0, I, ..., Р
Операционная часть микрокоманды (ОЧ МК) инициирует совокупность управляющих сигналов, необходимых для выполнения одной МК (один такт работы). ОЧ МК разделяется на поля. Каждое поле объединяет некоторый набор несовместимых управляющих сигналов (МО). Например, все МО {S} СДВ несовместимы между собой. Сигнал Е (окончание работы П-автомата) можно разместить в любом поле. При поступлении сигнала Е заканчивается выборка МК из ПМК. Регистр адреса ПМК устанавливается в начальное состояние (адрес первой МК) сигналом начальной установки U.
В проекте необходимо решить задачу распределения всего набора МО по полям ОЧ МК с учетом двух условий: 1) в одно поле включаются только несовместимые МО; 2) длина ОЧ МК должна быть минимальной. Распределение МО по полям производится на основе структурно-функциональной таблицы (см. Приложение).
После того, как определено количество полей и число МО, включенных в каждое поле, определяется длина поля по формуле:
|N|=log2
(m+1),
где m - количество МО, приписанных данному полю.
МО кодируются двоичными кодами. В соответствии с длиной отдельного поля, каждой МО, относящейся к данному полю, присваивается двоичный код, начиная с кода 0...01. Код 0...0 используется как признак пустоты поля. Результаты кодирования сводятся в табл. 6, в которой каждому полю соответствуют два столбца: в первом записывается символическое обозначение МО (управляющего сигнала), а во втором - соответствующий ей двоичный код.
Длина ОЧ МК определяется как сумма длин составляющих ее полей.
Микропрограмма определяет порядок следования микрокоманд. Переход к следующей МК может осуществляться непосредственно после выполнения текущей (безусловный переход) или при выполнении некоторого логического условия — условный переход. Поэтому, независимо от способа адресации, который задает правило определения адреса следующей МК, адресная часть МК (АЧ МК) содержит поле логических условий. Обычно для всех осведомительных сигналов отводится одно поле X, хотя их может быть и несколько. [2] Длина поля Х определяется выражением log2
(L+1)
, где L - число осведомительных сигналов ОА. При этом код 0...0 определяет безусловный переход. Остальные коды присваиваются осведомительным сигналам {x,p}. Результаты кодирования сводятся в табл.6.
Различные способы адресации МК описаны в [3,4]. Длина адреса зависит от емкости ПМК. Емкость ПМК определяется количеством вершин МП и способом адресации МК. При расчете емкости ПМК следует учитывать возможные фиктивные (пустые) МК, указывающие адрес следующей МК (безусловно или по значению логического условия), но с нулевой операционной частью.
В ОА
из ОА
{a} {b} {m} {x,р}
Е
Xк
1 n 1 m 1 r 1
l
1 p
РгМК
Стоп 1
ЧТ
с 2
B(Запуск) Zоп
Уст. Анач.
(U)
Рис. 26. Структурная схема П-автомата
8.2
Разработка функциональной схемы П-автомата
П-автомат состоит из ПМК, регистра микрокоманд (РгМК), дешифраторов управляющих сигналов, дешифратора логических условий ДСХ, схемы управления ПМК и схемы формирования адреса следующей МК (рис.26). Сигналом начальной установки адреса U в адресный регистр памяти АМК заносится адрес первой МК микропрограммы. По сигналу В (запуск) синхросигнал С проходит через схему управления, формируя сигнал чтения из памяти Чт. Прочитанная МК заносится в РгМК. Управляющие сигналы, коды которых содержатся в полях А, В, …,М ОЧ МК, дешифрируются соответствующими каждому полю дешифраторами ДСА, ДСВ, …, ДСМ и поступают в ОА, инициируя определенные МО.
Содержимое поля Х поступает на ДСХ и определяет номер (код) осведомительного сигнала ОА, значение которого должно анализироваться текущей микрокомандой. Схема формирования адреса следующей МК зависит от способа адресации МК и подлежит разработке [2].
Схема управления ПМК выполняет следующие функции:
1) запуск П-автомата по сигналу «Запуск»;
2) приостановку чтения из ПМК на период обращения к ОП( Zоп
);
3) управление схемой выработки адреса следующей МК;
4) прекращение работы П-автомата при появлении в микрокоманде сигнала Е.
8.3 Размещение микрокоманд в памяти
Разработка П-автомата заканчивается составлением таблицы размещения МК в ПМК для участка СФ-МП, насчитывающего 20-30 МК (можно использовать участок СФ-МП, выбранный для разработки УА с жесткой логикой). Предварительно строится таблица вида табл.8, разработанной для СФ-МП (рис.22) и варианта принудительной адресации МК по одному ЛУ с одним адресом. Структура этой таблицы зависит от способа адресации микрокоманд.
Первую МК у1
(см. рис. 22) можно разместить в любой ячейке ПМК (в пределах емкости ПМК), т.к. взят фрагмент МП. Необходимо ввести дополнительную (фиктивную) МК уф1
, которая на рис.22 разделяет две условные вершины х1
и р1
. Микрокоманда ук
завершает выполнение микропрограммы, вырабатывая сигнал Е.
Затем на основе табл.6 и табл.7 заполняется кодированная таблица размещения микрокоманд в памяти (табл.8). Первый столбец этой таблицы содержит восьмеричный адрес МК в ПМК. В следующих столбцах записываются двоичные коды управляющих сигналов, формируемых данной МК. В столбце, соответствующем полю Х, записывается двоичный код, определяющий переход от данной МК к следующей. Если после рассматриваемой МК нет условной вершины, то поле Х заполняется нулями, что соответствует безусловному переходу. Если условие перехода от данной МК содержит несколько условных вершин, то каждая пара в такой цепочке должна разделяться фиктивной операторной вершиной, содержащей пустое поле ОЧ МК (вершина уф1
). Последний столбец табл. 8 определяет адрес следующей МК в ПМК.
СПИСОК ЛИТЕРАТУРЫ
1. Принципы работы системы IВМ/370. /Под ред. Л.Д.Райкова. - Пер. с англ. - М.: Мир, 1975.
2. Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. -Л.: Машиностроение. Ленинградское отделение, 1979.
3. Якубовский С.В. и др. Цифровые и аналоговые интегральные микросхемы. Справочник. –М.: Радио и связь, 1990.
4. Мальцев П.Л. и др. Цифровые интегральные микросхемы. Справочник. –М.: Радио и связь, 1994.
5. Баранов С.И. Синтез микропрограммных автоматов (граф-схемы и автоматы). - Л.: Энергия, 1979.
6. Савельев А.Я. Арифметические и логические основы цифровых автоматов. - М.: Высшая школа, 1980.
7. Дроздов Е.А. и др. Электронные вычислительные машины Единой системы. - М.: Машиностроение, 1981.
8. Проектирование цифровых вычислительных машин. /Под ред. С.А.Майорова. - М.: Высшая школа, 1972.
9. Каган Б.М. Электронные вычислительные машины и системы. М.: Энергоатомиздат, 1991.