Изобретение относится к цифровой вычислительной технике и может быть использовано в электронных вычислительных машинах среднего уровня производительности общего назнач-ения.
Целью изобретения является повыше .ние быстродействия процессора путем введения технических средств для аппаратной трассировки программ и микрпрограмм. .:
На фиг. 1 изображена функциональная схема процессора; на фиг. 2 - схема блока выборки команд; на фиг. 3 - схема блока микропрограммного управления; на .фиг. 4 - схема блока коммутации адреса памяти; на фиг, 5 - схема арифметико-логическог блокаJ на фиг. 6 - схема блока регистров преобразования виртуальных адресов; на фиг. 7 - схема бдока регистров динамической переадресации микрокоманд; на фиг. 8 - схема блока ускорения арифметических операций; на фиг. 9 - схема блока обработки данных переменной длины; на фиг. 10- схема блока регистров связи;, на фиг. 11 - схема блока памяти адреса страницы; на фиг. 12 - схема блока триггеров анализа конца страницы; на фиг. 13- схема блока запросов на косвенную адресацию; на фиг. 14 - схема блока памяти трассировки; на фиг. 15 - таблица занесения данных в сдвиговый регистр; на фиг. 16 - пример размещения десятичных данных в местной памяти; на фиг,- 17 - временная диаграмма входа синхронизации процессора; на фиг. 18 - структура микрокоманд процессора, на фиг. 19 - формат команды сдвига и алгоритм ее выполнения.
Процессор (фиг. 1) содержит блок 1 выборки команд, регистр 2 адреса местной памяти, первый коммутатор 3 данных, блок 4 местной памяти, второй коммутатор 5 данных, блок 6 микропрограммного управления, блок 7 коммутации адреса памяти, блок 8 основной памяти, блок 9 управляющей памяти, блок 10 оперативной памяти микропрограмм, арифметико-логический блок 11, блок 12 регистров преобразования виртуальных адресов, блок 13 регистров динамической переадресации микрокоманд, блок 14 ускорения арифметико-логических операций, блок 15 обработки данных переменной длины, блок 16 регистров связи, блок 17 ламяти адреса страницы, блок 18 триг
5
0
5
0
5
0
5
0
5
геров анализа конца страницы, блок 19 запросов- на косвенную .адресацию, блок 20 памяти трассировки, перв-ую группу элементов ИЛИ 21, третий Ком- мутатор 22 данных, вторую группу элементов ИЛИ 23, первую группу элементов И 24, вторую группу элементов И -25, триггер 26 выбора памяти, группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 27, адресный вход 28, вход данных,процессора 29, первый вход кода операции процессора 30, выход данных процессора 3-1, выход управления выбором процессора 32, выход запроса на обмен процессора 33, выход режима работы процессора 34, вход окончания обмена процессора 35, второй, третий, че р- вертый входы кода операции, профессора 36, 37 и 38 соответственно, выход запроса в канал процессора 39, пятый, шестой входы кода .операции процессора 40 и 41 соответственно, сунхровход канала процессора 42, синхровход процессора 43, вход масок канала процессора 44. ГГозиция ми 45-100 обозначены входы и выходы блоков процессора.
Первый адресньй выход блока 1 подключен к первому входу данных регис т- ра 2. Второй адресный выход бло-ка 1 . соединен с первым входом дднных блока 20, второй.вход, данных которого подключён к выходу кода операция блока 1 и первому адресному входу блока 6. Третий адресный выход блока 1 соединен с адресным входом блока 12, с первыми входами данных первого коммутатора 3 и второго коммутатора 5 и с адресным входом блока 15. Первый и второй управляющие выходы блока 1 подключены соответственно к первому управляющему входу блока 14 и установочному входу блока 13 соответственно. Управляющий вход блока 1 соединен с выходом управления выборкой команд блока 6. Вход данных блока 1 соединен с входом данных блока 4, входом данных блока 12, входом данных блока 13, первым входом блока 14, входом данных блока 15, первым входом данных блока 16, с входом данных блока 17, с третьим входом данных блока 20 и выходом данных треть его коммутатора 22.
Второй и третий входы данных регистра 2 соединены с первым адресным выходом блока 6 и адресным выходом блока 15 соответственно. Четвертый вход данных регистра 2 соединен с первым выходом данных арифметико-логического блока 11 и первым входом
данных тр етього коммутатора 22, Первый адресный выход регистра 2 гюлклю- чен к первому входу группы элементов ИСКТПОЧАЮЩЕЕ- 11ПИ 27, выход которой подключен к первому адресному входу блока 4, выход которой подключен к вторым .входам данных первого коммутатора 3 и второго коммутатора 5, выход данньк которого соединен с вторым входом данных арифметико-логического блока 11, первый вход данных которого соединен с выходом первого коммутатора 3, управляюпдий вход которого соединен с первым выходом управления коммутацией данных блока 6. Второй адрес ньй выход регистра 2 подключен к второму адресному .входу блока 4. Третий вход данных первого коммутатора 3 соединен с третьим входом данных второго коммутатора 5, входом данных блока 18 и выходом второй группы элементов ИЛИ 23, первый вход которой соединен ,с адресным выходом блока 16, адресный вход которого соединен с адресным входом 28. Четвертьш, пятый, шестой, седьмой и восьмой входы данных второго коммутатора 5 со единены соответственно с первым и вторым выходами данных блока 14, первым-и вторым выходами данных блока- 16 и с выходом даннъгх блока 20, управляющий выход которого соединен с выходом управления трассировкой блока 6. Управляющий вход второго коммутатора 5 соединен с вторым вьгхо
дом управления коммутацией данньк
блока 6. Первый и второй выходы кода операции блока 6 подключены соответственно к первому и второму входам кода операции арифметико-логического блока 11, первый выход данных которого соединен с вторым адресным входом блока 6, выход управления обработкой данных переменной длины которого соединен с управляющим входом блока 15, выход управления адресом местной памяти которого соединен с вторым входом группы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 27. Выход установки и выход сброса блока 6 соединены соответственно с установочным и сбросовым входами триггера 26, прямой и инверс- выходы которого подключены соответственно к первым входам первой группы элементов И 24 и второй группы элементов И 25, выходы которых под- ключены соответственно к первому и. второму входам первой группы элементов ИШ 21, выход которой подключен
- ю2о 25
30
5
0
5
к входу данных блока 6 и к второму входу данных третьего KOMMyTatopa 22, третий вход данных которого подключен к первому выходу данных блока 7. Выход управления коммутацией адреса блока 6 соединен с управляющим входом блока 9 и блока 10, выходы данных которых соединены соответственно с вторыми входами второй группы элементов И 25 и первой группы элементов И 24.
Выход Управления динамической переадресацией блока 6 подключен к управляющему входу блока 13, адресньш выход которого подключен к адресным входам блока 9 и блока 10, входы данных которых подключены к первому входу данных блока 7 и четвертому выходу данных арифметико-логического .блока 11. Выход управления анализом конца страницы блока 6 соединен с управляющим входом блока 18, первый вход синхронизации которого соединен с синхровходом процессора 43, входом синхронизации блока 19, входом синхронизации блока 14, управляющий выход которого соединен с третьим входом кода операции арифметико-логического блока 11, третий выход данных которог.о соединен с третьим адресным входом блока 6, вторым входом данных блока 7 и вторым входом данных блока 14. Выход управления выборкой памяти блока 6 подключен к управляющим входам блока 7 и блока 8, выход данных которой подключен к третьему входу данных блока 7, четвертый вход данных которого соединен с первым ад ресным выходом блока 12, второй адресный выход которого соединен с четвертым адресным входом блока 6, второй адресный выход которого соединен с четвертым входом данных блока 20 и с адресным входом блока 13, управляющий выход которого подключен к пятому адресному входу блока 6, выход управления быстрыми операциями которого соединен с вторым управляющим входом блока 14, третий выход данньк которого соединен с шестым адресным входом блока 6. Вькод маски и второй выход данных блока 7 соединены соответственно с входом маски и входом данньк блока 8, адресный вход которой соединен с адресным выходом блока 7, пятьй и шестой входы данных которого соединены соответственно с входом масок канала процессора 44 и выходом масок блока 16. Седьмой вход данных
блока 7 подключен к четвертому входу кода операции арифметико-логического блока 11 и к первому управляющему выходу блока 15, второй управляющий выход которого подключен к пятому входу кода операции арифметико-логического блока 11. Второй и третий входы данных блока 16 подключены соответственно к входу данных процессора 29 и первому входу кода операции процессора 30, Третий и четвертый выходы данных блока 16 подключены соответственно к выходу данных процессора 31 и управлягацему выходу ущэав- ления выводом процессора 32, Первый и второй управляющие выходы блока 16 соединены соответственно с выходом режима работы процессора 34 с выходом запроса на обмен процессора 33, а его управляющий вход с входом окончания обмена процессора 35, Выход данных блока 17 соединен с вторым входом второй группы элементов HJM23 Первый управляющий вход блока 17 под- ключен к второму входу кода операции процессора 36. Второй и третий управляющие входы блока 17 соединены соответственно с третьим и четвертым входами кода операции процессора 37 и 38, Четвертьй управляющий вход блока .17 подключен к первому управляющему выходу блока 19, третий и чет- вертьй управляющие входы которого соединены соответственно с пятым и шестым входами кода операции процессора 40 и 41, Второй управляющий вход блока 19 соединен с выходом запроса в канал процессора 39, Пятый управляющий вход блока 19 подключен к управляющему выходу блока 18, второй вход синхронизации которого подключен к синхровходу канала процессора 42,
Блок. 1 (фиг, 2) содержит первый буферньш регистр 101, второй буферный регистр 102, третий буферньй регистр 103, регистр адресов операндов 104, счетчик адреса команд 105, регистр кода операции 106, коммутатор адресов 107, дешифратор 108, регистр непосредственного байта 190, коммутатор адреса местной памяти 110.
Вход данных первого буферного регистра 101 с аединен с входом данных счетчика адреса команд 105, первым входом данных регистра адресов операн дов 104 и входом данных 53, Выход данных первого буферного регистра 101 подключен к входу данных второго бу
iO
, 25
30
40
5
50
55
ферного регистра 102, управляющий вход которого подключен к управляющему входу первого буферного регистра 101 и к первому управляюп ему выходу дешифратора 108, второй и третий управляющие выходы которого подключены соответственно к управляющим входам третьего буферного регистра 103 и коммутатора адреса местной памяти 110, выход данных которого подключен к первому адресному-выходу 88.
Первый выход данных второго буферного регистра 102 соединен входом третьего буферного регистра 103, первый и второй выходы данных которого соединены .соответственно с вторым входом данных регистра адресов операндов 104 и первым входом данных коммутатора адреса местной памяти 110. Вто рой и третий выходы данных второго буферного регистра 102 подключены соответственно к третьему входу данных регистра адресов операндов 104 и к второму входу данных коммутатора адреса местной памяти 110, третий вход данных которого подключен к выходу данных регистра непосредственно байта 109, вход данных которого подключен к третьему выходу данных третьего буферного регистра 103, четвертый выход данных которого подключен к входу данных дешифратора 108 и выходу кода операции 46. Первый и второй выходы данных регистра адресов операндов 104 соединены соответственно с первым и вторым входами группы элементов ИЛИ 107, выход которых соединен с третьим адресным выходом 49. Вькод данных счетчика адреса команд 105 подключен к второму адресному входу 45 и третьему входу группы элементов ИЛИ 107, четвертьй вход которых соединен с выходом данных дешифратора 108, первый управляющий выход которого подключен к управляющему входу счетчика адреса команды 105. Второй и третий управляющие выходы дешифратора 108 подключены соответственно к первому и второму управляющим входам 48 и 50, а управляющий вход - к управляющему входу 47.
Блок 6 (фиг. 3) содержит регистр микрокоманд 111, дещифратср 112 и коммутатор адреса микрокоманд 113, Вход данных регистра микрокоманд 111 соединен с входом данных 78. Первый, второй, третий и четвертый выходы данных регистра микрокоманд 111 соединены соответственно с первым адресным выходом 71, пятым управляющим выходом 69, первым в ходом данных дешифратора 112, первым входом данных коммутатора адреса микрокоманды 113, второй, третий, четвертый, пятый, шестой, седьмой входы данных которого соответственно с первым адресным входом 46, вторым адресным входом 68, третьим адресным входом 64, четвертым адресным входом 73, пятым адресным входом 75 и шестым адресным входом 59. Первый, второй, третий, четвер- тый, пятьй, шестой, седьмой, восьмой, девятьй, десятьй, одиннадцатый, две- надцатьй, тринадцатый и четырнадцатый управляющие выходы дешифратора 112 соединены соответственно с первым управляющим выходом 47, вторым управляющим выходом 70, третьим управляющим выходом 100, четвертым.управляющим в ыходом 52, шестым управляющим выходом 74, седьмым управляющим выходом 58, восьмым управляющим выходом 81, девятым управляюш 1м выходом 80, десятым управляющим выходом 97, одиннадцатым управляющим выходом 76, двенадцатым управляющим выходом 79, тринадцатым управляюш 1м выходом 98, четьфнадцатым управляющим вьгходом 60 и управляющим входом коммутатора адреса микрокоманды 113, выход данных которого соединен с вторым входом данных дешифратора 112 и вторым адресным выходом 72..
Блок 7 (фиг. 4) содержит регистр
-адреса 114, регистр маски 115, регистр входных данных 116, матрицу памяти индексов 117, матрицу буферной памяти 118, группу элементов сравнения 119, первую группу элементов И 120, элемент НЕ 12.1, вторую группу элементов И 122,- группу элементов ИЛИ 123 и регистр выходных данных 124.Пер вый и второй входы данных регистра
адреса 114, подключены соответственно к второму 64 и четвертому -83 входу данных, а управляющий вход к управляющему входу 98 и управляющему входу регистра маски 115, первый, второй и третий входы данных подключены соответственно к пятому входу 44, шестому входу 95 и седьмому входу 57 данных, а выход данных к входу масок матрицы буферной памяти 118 и выходу масок
85. Первый, второй, третий и четвертый выходы данных соединены соответственно с адресным входом матрицы
0
5
0
5
0
5
0
5
0
5
памяти индексов 117, адресным входом матрицы буферной памяти 118, первым входом группы элементов сравнения 119 и адресным выходом 87. Первый и второй входы данных регистра входных данных 116 подключены соответственно к первому входу 66 и третьему входу 84 данных, а выход данных подключен к второму выходу данных 86, входу данных матрицы буферной памяти 118 и первому входу второй группы элементов И 122, выход которой подключен к первому входу группы элементов ИЛИ 123, выход которой подключен к входу данных регистра выходных данных 124, выход которого соединен с первым выходом данных 82. Выход данных матри1р 1 памяти индексов 117 соединен с вторым входом группы элементов сравнения 119, выход которой соединен с управляющим входом матрицы буферной памяти. 118, первым входом первой группы элементов И 120 и входом элемента НЕ 121, выход которого соединен с вторым входом второй группы элементов И 122. Выход данных матрицы буферной памяти 118 подключен к второму входу первой группы элементов И 120, выход которой подключен к второму входу группы элементов -ИЛИ 123.
Арифметико-логический блок 11 (фиг. 5) содержит первый регистр 125, второй регистр 126, первый мультиплексор 127, второй мультиплексор 128, третий мультиплексор 129, чет- вертьй мультиплексор 130, пятый мультиплексор 131, шестой мультиплексор 132, седьмой мультиплексор 133, восьмой мультиплексор 134, узел арифметических и логических операций 135, ре - гистр состояний 136. Вх.од Данных первого регистра 125 соединен с первым входом данных 67. Выходы нулевого, первого, второго и третьего байтов первого регистра 125 соединены соответственно с первыми, вторыми, третьими и четвертыми входами дан-, ных первого, второго, третьего и чет- . вертого мультиплексоров 127-130. Управляющие входы первого, второго, третьего и четвертого мультиплексоров 127-130 соединены с управляющими вхо-. дами пятого, шестого, седьмого и восьмого мультиплексоров 13.1-134 и четвертым управляющим входом 57. Выходы данных первого, второго, третьего и четвертого мультиплексоров 127-130 подключены к первому входу данных
узла арифметических и логических операций 135 и третьему выходу данных 66 Вход данных второго регистра 126 подключен к второму входу данных 99. Выходы нулевого, первого, второго и третьего байтов второго регистра 126 соединены с первыми, вторыми, третьими и четвертыми входами даиньк пятого шестого, седьмого и восьмого мульти- плексоров 131-134 соответственно и с четвертым выходом данных 64. Выходы данных пятого, шестого, седьмого и восьмого мультиплексоров 131-134 подключены к второму входу узла арифметических и логических операций 135, первый и второй управляющие входы которого подключены соответственно к первому и второму управляющим входам 69 и 74. Первый и второй выходы данных узла арифметических и логических операций соединены соответственно с первым выходом данных 65 и входом данных регистра состояний 136, первый и второй управляющие входы ко- торого соединены соответственно с третьим и пятым управляющими входами 61 и 56. Выход данных регистра состояний 136 соединен с вторым выходом данных 68.
Блок 12 (фиг. 6) содержит первый регистр 137, второй регистр 138, третий регистр 139, четвертый регистр 140, первую группу элементов И 141, вторую группу элементов И 142, третью группу элементов И 143, четвертую группу элементов И 144,. пятый регистр 145, шестой регистр 146, седьмой ре- гистр 147, восьмой регистр 148 первую группу элементов сравнения 149, вторую группу элементов сравнения 150, третью, группу элементов сравнения 151, четвертую группу элементов сравнения 152, группу элементов ИЛИ 153, элемент ИЛИ-НЕ 154. Вход данных первого регистра 137 соединен с входами данных второго, третьего, четвертого, пятого, шестого, седьмого, восьмого регистров 138-148 и входом данных 53. Выходы данных первого, второго, третьего и четвертого реги- стров 137-140 подключены соответственно к первым входам первой, второй, третьей и четвертой группам элементов И 141-144, выходы которых подключены соответственно к первому, вто- рому, третьему и четвертому входам группы элементов ИЛИ 153, выход которой подключен к первому адресному
. . 25
30
5
выходу 83. Выходы данных пятого, шестого, седьмого и восьмого регистров 145-148 соединены соответственно с первыми входами первой, второй, третьей и четвертой групп элементов сравнения 149-152, выходы которых соединены соответственно с вторыми входами первой, второй, третьей и четвертой групп элементов И 141-144, и первым, вторым, третьим и четь- вёртым входами группы элементов ИЛИ-НЕ 154, выход которой соеди- нен с вторым адресным выходом 73. Вторые входы первой, второй, третьей и четвертой групп элементов сравнения 149-152 соединены с адресным входом 49.
Блок 13 (фиг. 7) содержит первый регистр 155, первый дешифратор 156, второй регистр 157, третий регистр 158, четвертьй регистр 159, пятый регистр 160, первую группу элементов сравнения 161, вторую группу элементов сравнения 162, третью группу элементов сравнения 163, четв-ертую гругг пу элементов сравнения 164, шестой регистр 165, седьмой регистр 166, восьмой регистр 167, девятый регистр 168, пятую группу элементов сравнения 1-69, шестую группу элементов сравнения 170, седьмую группу элементов сравнения 1.71, восьмую группу элементов сравнения 172, первый элемент И 173, второй элемент И 174, третий элемент И 175, четвертый элемент И 176, шифратор 177, элемент ИЛИ-НЕ 178, пятьш элемент И 179, шестой- элемент И 180, десятый регистр 181, второй дешифратор 182, триггер 183 и элемент ИЛИ 184.
Вход данных первого регистра 155 подключен к входам данных второго, третьего, четвертого, пятого, шестб- го, седьмого, восьмого, девятого регистров 157-7160 и 165-168 и к входу данных 53. Выход данных первого регистра 155 соединен с входом данных первого дешифратора 156, первый управляющий выход которого соединен с управляющими входами второго и шестого регистров 157 и 165, выходы данных которых соединены соответственно с первыми входами первой и пятой групп элементов сравнения 161 и 169.. Второй управляющий выход первого дешифратора 156 подключен к управляющим входам третьего и седьмого регистров 158 и 166, выходы данных которых подключены соответственно к первым входам второй и шестой групп элементов сравнения 162 и 170, Третий управляющий выход первого дешифратора 156 подклю- чей к. управляющим входам четвертого и восьмого регистров 159 и 167, выходы данных которых подключены к первым входам третьей и седьмой групп элементов сравнения 163 и 171. Четвертый управляющий выход первого дешифратора 156 подключен к управляющим входам пятого и девятого регистров 160 и 168 выходы данных которых соответственно подключены к первым входам четвертой и восьмой групп элементов сравнения 164 и 172. Вторые -входы первой, второй, третьей и четвертой групп элементов сравнения 157-160 соединены с входом данных второго дешифратора
182,первым входом шестой группы- . элементов И 180, первым входом данных десятого регистра 181 и адресным входом 72. Выходы первой, второй, третьей и четвертой групп элементов срав нения 161-164 соединены соответственно с первым, вторым, третьим и четвертым входами шифратора 177 и первыми входами первой, второй, третьей
и четвертой трупп элементов И 173-176 выходы которых соединены соответствен но с первым, вторым, третьим и четвертым входами элемента ИЛИ-НЕ 178, выход которого соединен с первым входом элемента ИЛИ 174 и управляющим выходом -75. Вторые входы пятой, шестой, седьмой и восьмой групп элементов 169-172 соединены с управляющим выходом второго дешифратора 182. Выходы пятой, шестой, седьмой и восьмой групп элементов сравнения 169-172 соединены соответственно с вторыми входами групп элементов И 173-176. Выход шифратора 177 подключен к первому входу пятой группы элементов И 179,выход которой подключен к второму входу, данных десятого регистра 181, третий вход данных которого подключен к выходу шестой группы элементов И 180, .второй вход которой подключен к инверсному выходу триггера
183,прямой выход которого подключен к второму входу пятой группы элементов И 179. Установочный вход триггера 183 соединен с установочным входом 50. Сбросовый вход триггера 183 соединен с выходом элемента ИГЩ, второй вход которого соединен с вхо дом управления 76. Выход данных де
, ,0
25
,..
5
0
5
0
сятого регистра 181 соединен с адресным выходом 77,
Блок 14 (фиг. 8) содержит первый счетчик 185, второй счетчик 186, регистр команды -187, первый регистр 188 дешифратор 189, первый коммутатор 190, второй регистр 191, элемент И 192, сдвиговый регистр 193, первый сумматор 194, третий регистр 195,второй коммутатор 196, триггер 197, второй сумматор 198, четвертый регистр 199.
Первые управляюш 1е входы первого счетчика 185, второго счетчика 186 и управляющий вход регистра команды 187 соединены с первым.управляющим входом 48. Входы данных первого счетчика 185, второго счетчика 186, регистра команд 187, первого регистра 188 и первый вход данных первого коммутатора соединены с первым входом данных 53. Входы синхронизации первого счетчика 185, второго счетчика 186, сдвигового регистра 193 соединены с выходом элемента И 192 первый вход которого соединен с вхо-г дом синхронизации процессора 43. Выходы данных первого и второго счетчиков 185 и 186 соединены с вторым выходом данных 62. Вторые управляющие входы первого и второго счетчиков 185 и 186 соединены соответственно с первым и вторыми управляющими выходами дешифратора 189, первый управляющий вход которого соединен с вто{1ым управляющим входом 60. Управляющие выходы первого и второго счетчиков 185 и 186 подключены соответств енно к второму и третьему управляющим входам дешифратора 189, первый вход данных которого подключен к выходу данных регистра команды 187. Выход данных первого регистра 188 соединен с первым входом данных первого суммато-. ра 194, второй вход данных которого соединен с выходом данных второго регистра 191 и первым входом данных сдвигового регистра 193, первый выход данных которого соединен с входом данных второго коммутатора 196, выход данных которого соединен с первым выходом данных 63. Третий уп- . равляющий выход дешифратора 189 подключен к управляющему входу первого коммутатора 190, выход данных которого подключен к второму входу данных сдвигового регистра 193, второй выход данных которого подключен к входу данных третьего регистра 195, выход данных которого подключен к входу данных второго сумматора 198, выход которого подключен к входу Данных триггера 197 и входу данных четвертого регис.тра 199, выход данных которого подключен к третьему выходу данных 59. Четвертый управляющий выход дешифратора 189 соединен с управляющим входом второго регистра 191, вход данных которого соединен с первым выходом данных первого сумматора 194, второй выход данньк которого соединен с третьим входом данных сдвигового регистра 193, третий выход которого соеди- нен с вторым входом данных первого коммутатора 190.-Пятый управляющий выход дешифратора 189 подключен к управляющему входу первого сумматора 194, третий вход данных которого подключен .к четвертому выходу данных сдвигового регистра 193, четвертый вход которого подключен к второму входу данных 64. Шестой управляющий выход и второй вход данных дешифратора 189 подключены соответственно к управляющему входу к пятому выходу данных сдвигового регистра 192. Седьмой, восьмойд девятый и десятьй управляющие выходы деш-гфратора 189 соединены соответственно с управляющим входом второго коммутатора 196, управляющим выходом 61, вторым входом элемента И 192 и управляющим входом триггера 197, выход которого соединен с входом переноса второго сумматора 198.
Блок 15 (фиг. 9) содержит регистр управления 200, первый регистр исходных длин 201, регистр исходных адресов 202, первый дешифратор 203, коммутатор длин 204, третий дешифратор 205, счетчик адреса операнда 206,, второй регистр исходных длин 207,, сумматор 208, второй дешифратор 209. Входы данньгк регистра управления 200, первого регистра исходных длин 201 и счетчика адреса операнда 206 соединены с входом данных 53. Выход данных регистра управления соединен с входом данных первого дешифратора 203, первый управляющий выход которого соединен с управляющим входом третьего це- шифратора 205, управляющий выход которого соединен с выходом управления адресом местной памяти 55. Выход данных первого регистра исходных,длин 201 подключен к первому входу данных коммутатора длин 204, второй вход
0
5
0
5
0
5
0
S
O
5
данных которого подключен к. выходу данных сумматора 208, первый вход дан; ных которого подключен к выходу данных второго регистра исходных длин 207 и первому входу данных второго деш1фратора 209, второй вход данных которого подключен к входу данных третьего дешифратора 205 и выходу данных регистра исходных адресов 202, вход данных которого подключен к адресному входу 49. Второй управляющий выход первого дешифратора 203 соединен с управляющим входом коммутатора длин 204, выход данных которого- соединен с входом данных второго регистра исходных длин 204. Третий и четвертый управляющий выходы первого дешифратора 203 соединены соответственно с первым и вторым управляющими входами второго коммутатора 209, выход данных которого соединен.с вторым входом данных сумматора 208. Пятый управляющий выход и первый управляющий вход дешифратора 203 соединены соответственно с вторым управляющим выходом 56 и первым управляющим выходом второго дешифратора 209, второй управляющий выход которого -соединен с первым управляющим выходом 57. Второй управляющий вход и шестой управляющий выход первого дешифратора 203 соединен соответственно с управляющим 58 и управляющим входом счетчика адреса операнда 205, выход данных которого соединен с адресным выходом 54.
Блок 16 (фиг. 10) содержит регистр адреса 210, регистр данных 211, регистр управления 212, триггер 213. Вход данных регистра адреса 210 соединен с адресным входом 28. Выход данных регистра адреса 210 соединен с адресным выходом 93. Вход управления занесением подключен к первому управляющему выходу регистра управления 212, первый вход данных которого соединен с первым входом данных 53 и первым входом данных регистра данных 211, первый выход данных которого соединен с первым выходом данных 96. Вторые вход и выход, данньк регистра данных 21 1 сс1единены с вторым входом данных 29 и третьим выходом данньгк 31. Первый и второй выходы, данных регистра управления 212 соединены с вторым выходом данных 94 и выходом масок 95 соответственно. Второй вход и третий выход данных соеди-;
йены с третьим уходом данных 30 и с четвертым выходом данных 32 соответственно. Второй и третий управляющие выходы регистра управления соединены соответственно с первым управляющим выходом 34 и установочным входом три гера 213, выход которого соединен с вторым управляющим выходом 33. Сбросовый вход триггера 213 соединен с управляющим входом 35.
Блок 17 -(фиг. 11) содержит три регистра 214-216, четыре группы элементов И 217-220, элемент ИЛИ 221 группу элементов ИЛИ 222. Вход данных блока 53 соединен с первыми входами группы элементов И 217, регистра 214 регистра 216. Управляющий вход блока 37 подключен к управляющему входу устройства 37 и к второму входу регистра 214. Управляющий вход блока 38 соединен с вторыми входами элемента ИЛИ 221 и регистра 216. Управляющий вход блока 91 подключен к второму входу группы элементов И 217, к второму входу группы элементов И 218 и. к первому входу элемента ИЛИ 221 . Управляющий вход блока 36 соединен с вторыми входами групп элементов И 219 и 220., выходы которых соединены с выходом данных блока 92. Выход регистра 214 подключен к первому входу группы элементов И 218, выход -которой соединен с вторым входом группы элементов ИЛИ 222, первый вход и выход которой соединен с выходом группы элементов И 217 и с первым входом регистра 215 соответственно, Второй вход и выход регистра 215 подключены к выходу группового элемента ИЛИ 22 2 и к первому входу группы элементов И 219 соответственно. Выход регистра 216 соединен с первым входом группы элементов И 220.
Блок триггеров анализа конпа страницы 18 (фиг. 12) содержит элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 222, три триггера 224-226, два элемента И 227 и 228. Вход данных блока 89 соединен с установочным входом триггера 224 и с первым входом элемента ИСКЛЮЧАЮиЩЕ ИЛИ 223. Прямой выход триггера 224 соединен с вторым входом элемента ИСКЛЮ- ЧАЮШ.ЕЕ ИЛИ ,223, выход которого подключен к установочному триггеру 225, прямой выход которого соединен с первым входом элемента И 227, выход которого подключен к установочному входу триггера 226, выход которого соедиo
5
0
5
0
5
0
5
0
5
нен с управляющим выходом блока 90. Управляюш 1й, вход блока 79 соединен с первым входом элемента И 228, выход которого подключен к сбросовым входам триггеров 224 и 225. Синхровход от процессора 43 подключен к вторым синхровходам триггеров 224 и 225, к сбросовому входу триггера 226, к третьему входу элемента И 227, к второму входу элемента И 228. Синхровход от канала 42 соединен с вторым входом элемента 227.
Блок 19 (фиг. 13) содержит пять элементов И 229-233, три триггера 234-236, элемент ИЛИ 237. Управляю- щий вход блока 38 соединен с управляющим входом устройства 38 и с первым входом элемента ИЛИ 237. УправлЯю- вход блока 37 подключен к установочному входу триггера 234. Управляющий вход блока 40 соединен с первыми входами элементов И 232 и 233. Управляющий вход блока 41 подключен к второму входу элемента И 232. Управляющий вход- блока 90 соединен с третьим входом элемента И 232, выход которого подключен к сбросовому вхо- ду триггера 236, установочный вход и инверсньш выход которого соединены с выходом элемента ИЛИ 237 и с первым входом элемента И. 230 соответственно. Синхровход блока 43 подключен к первому входу элемента И 229, тс третьему входу элемента И 230, к синхровхо- ду триггера 235, к первому входу элемента И 231. Прямой и инверсный выходы триггера 234 соединены с втор.ым входом элемента И. 230, с вторым входом элемента И 233 соответственно, Выход элемента И 230 подключен к ус- тановочному входу триггера 235, прямой выход которого соединен с управляющим выходом блока 91 и со вторыми входами элементов И 229 и 231, а ин- версньй выход которого соединен с управляющим выходом блока 91. Выход элемента И 231 соединен с вторым . входом элемента ИЛИ 237. Выход элемента И 233 подключен к управляющему выходу блока 39.
Блок 20 (фиг. 14) содержит коммутатор 238, матрицу памяти 239, регистр 240, дешифратор 241, счетчик 242.
Первый, второй и третий входы данных коммутатора 238 соединены соответственно с первым, вторым, четвертым входами данных 45, 46 и 72
соответственно. Выход данных коммутатора соединен с входом данных матрицы памяти 239, управляющий вход которой со.единен с первым управляющим выходом дешифратора 241, второй управляющий выход которого соединен с управляющим входом коммутатора 238 Адресный вход матрицы памяти 239 соединен с выходом данных .счетчика 24 2 управляющий вход которого соединен с третьим .управляющим выходом дешифратора 2415 вход данньк которого соединен с выходом данных регистра 2405 вход данных которого соединен с третьим входом данных 53, Выход данных матрицы памяти 239 соединен с выходом данных 51. Управляющий вход дешифратора 241 соединен с уп- равляющим входом 100,
Блок 1 предназначен для накопления в буферных регистрах 101, 102 Я 103 предварительно выбранных из .основной, памяти команд, формирования адресов местной памяти для адресации регистров общего назначения, содержащих базу и индекс, с помощью регистра непосредственного байта 109 и коммутатора адреса местной памяти 110, хранения кода операции в регистре кода операции 106 и его частичной дешифрации с помощью дешифратора 108 хранения адресов операндов в регистре адресов операндов 104, а также дл хранения и модификации адреса команды в счетчике адреса команды 105,Коммутатор адресов 107 предназначен для выдачи из блока выборки команд адреса обращения к основной памяти для чтения команды или операндов„
Блок 4 предназначен для хранения регистров орщего назначения, регистров с плавающей точкой;, рабочих регистров, используемых при вьшолнении операций в процессоре.
Блок б предназначен для приема из управляющей памяти или кз оперативной памяти микропрограмм микрокоманд в регистр микрокоманд 111, дешифраций микрокоманды с помощью дешифратора 112 и формирования адреса следующей микрокоманды с помощью коммутатора адреса микрокоманды 113.
Блок 7 предназначен для осуществления связи центральной обрабатывающей части процессора с блоком 8,
Блок 8 предназкачен дд1Я хранения программ и данных„
0
15
20
5
0
5
Q
5
0
5
Блок 9 предназначен для хранения основного комплекса микропрограмм.
Блок 10 предназначен для хранения микропрограмм, оперативно заменяемых в процессе работы процессора, и логически имеет сегментно страничную структуру.
Арифметико-логический блок 11 (фиг. 5) предназначен для обработки двоично-десятичной информации.
Блок 12 предназначен для преобразования виртуального (логического) адреса основной памяти в реальный в режиме работы с виртуальной.памятью.
Блок 13 (фиг, 7) предна;значен для преобразования логического адреса микрокоманды в реальный.
Блок 14 (фиг, 8) предназначен для ускорения логических и арифметических команд, использующих сдвиги при обработке данных.
Блок 15 (фиг. 9) предназначен для управления выполнением команд десятичной арифметики.
Блок 17 (фиг. 1) предназначен для хранения двадцатичетырехразрядного текущего адреса страницы и шестнадцатиразрядного начального адреса следующей страницы.
Блок 18 (фиг. 12) предназначен для определения конца обмена данными между каналами ввода-вывода и основной памятью по текущему адресу страницы.
Блок 19 (фиг. 13) предназначен для формирования запроса на косвенную адресацию, следствием которого является блок 17 начального адреса следующей страницы.
Блок 20 предназначен для накопления трассы адресов микрокоманд.
Блок содержит матрицу буферной памяти 118, в которой накапливается наиболее яасто используемая информация из основной памяти. При наличии информацииJ соответствующей адресу, поступающему в регистр адреса 114, в матрице буферной памяти информации в регистр выходных данных 214 поступает из матрицы буферной памяти 118 через группы элементов И 120 и элементов ИЛИ 123, Наличие информации в матрице буферной памяти 118 определяется путем сравнения данных, счи- тайных из матрицы памяти индексов 117 по адресу, поступающему из регистра адреса 114 с частью содержимого .этого же регистра адреса 113, рассматриваемой как индекс блока данных,
с помощью группы.элементов сравнения 119. Если соответствующая информация в матрице буферной памят и 118 отсутствует, т.е. сравнения- не произошло, то отсутствие сигнала сравнения с помощью элемента НЕ 121 и группы элементов И 122 обеспечивает поступление в регистр выходных данных 124 информации из регистра входнь1х данны 116, куда информация принимается из основной памяти 8. При записи информции в основную память 8 данные из регистра входных данных 116 передаются в основную память по шине 86 и в матрицу буферной памяти 118. Запись в матрицу буферной памяти 118 производится при наличии разрешающего сигнала из группы элементов сравнения 119 в случае положительного результата сравнения, т.е. если информация, соответствующая адресу записи, находится в матрице буферной памяти.
Запись данных производится по мае ке, которая из регистра маски 115 передается в основную память 8 по шине 85 и в матрицу буферной памяти 118. Адрес в основную память передается по шине 87 из регистра адреса 114.
Арифметико-логический блок 11 (фиг. 5) работает следующим образом. В первый и второй регистры 125 и 126 принимаются первый и второй операнды по шинам 67 и 99 соответствен- но. Их разрядность четыре байта. Из первого регистра 125 все четыре байта поступают на четыре йайтных мультиплексора 127-130, которые управляются по шине 57, а выходы мультиплексоров поступают на первый вход узла арифметических и логических операций 125 и на шину 66. Из второго регистра 126 все четыре байта поступают на четыре.байтных мультиплексора 131 - 134 и шину,64. Выходы мультиплексоро поступают на второй вход узла арифметических и логических операций 135. Работа мультиплексоров управляется двадцатичетырехразрядной шиной 57 из блока управления данными переменной длины 15 по три разряда на каждый мультиплексор. Два разряда управляют передачей соответствующего байта че
р.ез мультиплексор и один разряд бло кирует все передачи через него. Блр- кировка мультиплексоров используется только в десятичных операциях.
5.
15
20
js30
40
45
50
55
Узел арифметических и логических операций 135 выполняет все двоично- десятичные арифметические и логические операции, задаваемые кодом по шине 69, и ,за один цикл может обрабатывать четырехбайтные операции. По шине 74 задается характер управления входами (два операнда, операнд и компонента, передача одного операнда со сдвигом на 4 и т.п.) и константа. Если микрокомандой задана обработка байтов информации, то через мультиплексор 127-130 передается один и тот же байт первого операнда, указанный микрокомандой, а через мультиплексоры 131-134 один и тот же байт второго, операнда, что определяется кодами на шине 57. Одновременно код на шине 69 определяет тип операции, а код на шине 74 блокирует межбайтные переносы узла арифметических и логических операций 135, т.е. арифметико-логический блок 11 работает на четыре одинаковых однобайтных блока. Если задана обработка полуслов, то арифметико-логический блок работает как два одинаковых двухбайтных блока.
Результат операции узла арифметических и логических операций выдается на тридцатидвухразрядную шину 65.
В регистре состояний 135 фиксируются состояния результата (нулевой результат, переполнение и т.п.) и сигналы об окончании р аботы блока управления данными 15 и блока ускорения арифметических операций 14. Содержимое регистра состояний 135 по шине 68 поступает в узел микропрограммного управления 6 для формирования адреса микрокоманды.
БЛОК 12 работает следующим образом. Блок содержит m регистров для хранения логических адресов (на фиг. 6 для примера m 4) 145-148. Логический адрес основной памяти, поступающий в блок по шине 49, сравнивается одновременно со всеми регистрами содержащими логические адреса на группах элементов сравнения 149-152. Каждому регистру,-содержащему логический адрес, соответствует регистр, содержащий реальный адрес (регистры 137- 140). Если в одной из групп элементов сравнения произошло сравнение, то через соответствующую группу элементов И (группы 141-144), через группу элементов ИЛИ 153 на выход блока подается реальный адрес, соответствуютций логическому, поданному на вход блока. Если сравнение не произошло ни в одной групле элементов сравнения, то с помощью элемента ИЛИ- НЕ. 154 в узел микропрограммного ул- равления лодается сигнал об отсутствии в блоке лреобразования виртуальных адресов нужного логического адреса.
Блок 13 работает следующим образом. Логический адрес микрокоманды поступает в блок 13 по шине 72. Блок содержит п пар регистров (где п - число сегментов микропрограмм в оперативной памяти микропрограмм 10), содержащих логические адреса сегментов и информацию о наличии страниц внутри сегмента, загруженного в оперативную память- микропрограмм. На фиг. 7 показана структура блока динамической, переадресации микрокоманд для п 4. Каждая пара регистров однозначно соответствует адресной области сегмента в оперативной памяти микропрограмм. Регистры 157-160 содержат логические адреса сегментов, а регистры 165-168 содержат каждый информацию о наличии страниц в соответствующем сегменте. Число разрядов этих регистров соответствует числу страниц в сегменте. Единичное состояние любого разряда обозначает наличие соответствующей страницы в оперативной памяти микропрограмм Ю. Логический адрес микрокоманды (его часть, определяющая адрес сегмента) сравнивается с помощью групп элементов сравнения 161-164 сравнивается с содержимым регистров 157-160 При положительном результате сравнения логического.адреса с содержимым одного из регистров 157-160 разрешающий сигнал из соответствующей группы элементов сравнения поступает на вход одного из элементов И 173-176, На второй вход одного из этих элементов И поступает результат сравнения из соответствующей группы элементов сравнения 169-172. Эти группы элементов сравнения сравнивают дешифрированную с помощью второго дешифратора 182 часть логического адреса, определяющую номер старницы в сегменте, с содержимым регистров 163 168. Если на выходах элементов И 173 176 отсутствуют сигналы, то с помощь элемента ИЛИ-НЕ 178 формируется сигнал в узел микpoпpoгpaм нoгo управле0
S
0
5
0
5
0
5
0
5
ния, который свидетельствует, что микрокоманда, соответствующая логическому адресу, поступившему на вход блока, отсутствует в оперативной памяти микропрограмм. Выходы групп элементов сравнения 161-164 поступают на шифра- тор 177, которьй на выходе формирует реальный адрес сегмента. Этот адрес поступает в десятый регистр 181, являющийся регистром реального адреса, через первую группу элементов И при наличии разрешающего сигнала с прямого выхода триггера 183. Этот триггер устанавливается по шине 50 по сигналу из узла микропрограммного управления 6 при необходимости переадресации. Сброс этого триггера производится через элемент ИЛИ 184 либо из узла микропрограммного управл ения, либо при появлении сигнала на выходе элемента ИЛИ-НЕ 178, При нулевом состоянии триггера 183 в десятый регистр 181 через вторую группу элементов И 180 принимается логический адрес сегмента. Часть логического адреса, определяющая адрес микрокоманды внутри сегмента, передается в десятый регистр 181 непосредственно.с шины 72. Для записи новой информации в регистры 157-160,я 165-169 через шину 53 устанавливается адрес соответствую - шей пары регистров в первом регистре 155. С помощью дешифратора 156 вырабатывается один из разрешающих сигналов и поступает на разрешающий входы соответствующей пары регистров. Данные для записи поступают по шине 53.
Блок 14 работает следующим образом, Основу блока составляет сдвиговый регистр 193, собранный на микросхемах четырехразрядных универсальных регистров, сдвигаюш 1х за один синхроимпульс только на один разряд вправо или влево. Использование первого коммутатора 190 и второго коммутатора 196 позволило использовать сдвиговый регистр 1.93 для организации сдвигов на 1,4 и 8. Направление сдвигов задается дешифратором 189, При сдвигах на 1 информация заносится с шины 53 в сдвиговый регистр 193 через коммутатор 190, упраапяемый дешифратором 189 в нормальном порядке, как пок азано на фиг. 15. При сдвигах на 8 сдвиговый регистр 193 разбивается на 8 восьмиразрядных регистров, переносы меаду которыми блокируются дешифратором 189. Информация с шины 53 че
рез коммутатор 190 поступает на сдвиговый регистр 193 в последовательности, показанной на фиг. 15, где цифрами показаны разряды игины 53, поступающие в последовательные, разряды сдвигового регистра 193. Таким образом совокупность кр айних выходов восьмибитных регистров будет определять последовательные байты обрабатываемой информации. При поступлении синхроимпульса на восьмибитные регисры из них будут вьщвигаться последовательные восемь разрядов. Для организации сдвигов на 4 сдвиговый регистр 193 разбивается на четыре шестнадцатиразрядных регистра, пер.еносы между которыми блокируются дешифратором 189 .Информация с шины 53 через комутатор 190 записывается в сдвиговый регистр 193, в последовательности, показанной на фиг. 15. Аналогично описанному при поступлении синхроимпульса на шестнадцатиразрядные регистры, в совокупности крайних выходов пос- ледних вьщвигаются четыре последовательных бита. Второй коммутатор 196 под управлением дешифратора .189 выдает выходы сдвигового регистра 193 на шину.результата 63 в прямой последовательности для сдвигов на.1 и 8, либо преобразуя из последовательности для сдвигов на 4 в прямую. Следовательно, на шине результата 63 всегда прямая, последовательность информации. При выполнении команд сдвига количество необходимых сдвигов комбинируется из .сдвигов на 8 и сдвигов на 1. Команды сдвигов начинаются аппаратным занесением кода операции в регистр команд 187, количе.ства сдвигов на 8 во второй счетчик и количества сдвигов на 1 в первый счетчик по шинам 48 и 53. Дешифратор 189 по занесенной информации определяет направление сдвигов и характер работы первого 190 и второго 196 коммутаторов. Если второй счетчик 186 не равен О, то определяется занесение в сдвиговый регистр 193 для сдвигов на 8, в противном случае для сдвигов на 1. После занесения в сдвиговый регистр информации, что определяется кодом, полученным по шине 60, дешифратором 189 разрешается прохождение синхроимпульсов с шины 43 через эле- мент И 192, которые поступают на сдвиговый регистр 189 и второй счетчик 186. Информация по синхроимпуль
15
-25
30
0
5
0
сам в сдвиговом регистре 193. начинает сдвигаться на восемь разрядов с одновременным вычитанием 1 из второго счетчика 186. При обнулении второго счетчика 186 серия синхроимпульсов прекращается, а информация из сдвигй- вого регистра 193 через первый коммутатор 190 перезаписывается обратно в сдвиго.вый регистр 193 из последовательности для сдвигов на 8 в прямую последовательность, при этом разблокируются все переносы. Следующим этапом снова разрешается выдача синхроимпульсов через элемент И 192, по которым в сдвиговом регистре 193 организуются сдвиги на 1 с одновременным вычитанием 1 из первого счетчика 185, Этот процесс продолжается до обнуления первого счетчика 185. После обнуления первого счетчика 185 и второго счетчика 186 дешифратор 189 вьща- ет на шину 61 сигнал об окончаний сдвигов для сообщения об этом событии микропрограмме. Операции выравнивания и нормализации начинаются с занесения 53 соответствующего кода в регистр команд 187 и О для нормализации и константы количества сдвигов для выравнивания во второй счетчик 186. По коду из регистра команд дешифратор 189 настраивает первый коммутатор 190, второй коммутатор 196 и сдвиговый регистр 193 на сдвиги на 4 влево для нормализации и вправо для выравнивания. При занесении информации в сдвиговый регистр 193, что определяется КОД.ОМ на шине 60, дешифратор 189 разрешает прохождение синхроимпульсов с шины 43 на сдвиговый регистр t93 и второй счетчик 186, который увеличивается на 1 при нормализации или уменьшается на 1 при каждом сдвиге. Процесс заканчивается при обнулении счетчика 186 при выравнивании или при появлении ненулевой старшей цифры в сдвиговом регистре 193 при нормализации, посла чего дешифратор 189 выдает на шину 61 сигнал об окончании операции. Константа, по:7учен- ная во втором счетчике 186 при нормализации по шине 62, считывается для увеличения характеристики нормализуемого числа. Выполнение команд умноже НИН начинается с занесения в регистр команд 187 кода операции, а во второй счетчик 186 - числа цифр множителя с шины 53, после чего дешифратором 189 первый коммутатор 190, сдвиговый
регистр 193 и второй коммутатор 196 настраиваются на сдвиги на 4 вправо. Операции двоичного умножения выполняются- циклами, за каждый из которых обрабатывается одна шестнадцат.еричная цифра множителя. Для этого в местной памяти 4 формируются кратные множимого 1, 2 и 4. Обрабатывать двухкратные и четырехкратные значения множк - мого двоичных операндов фиксированной длины разрядная сетка арифметико-логического блока 11 не позволяет, поэтому младшая цифра множителя обраба- тьгоается отдельно в блоке ускорения арифметических операций 14. Для этого младшая шестнадцатеричная цифра множимого по шине 53 заносится в первый регистр 188. Множимое в местной памяти 4 сдвигается на четыре разряда вправо, после чего формируются соответствующие кратные. В разряды 32-63 сдвигового регистра заносится множитель по шине 53 через первый коммутатор 190, который сдвигается микрокомандой по коду на шине 60 на четыре разряда. Одновременно вьздви- нутые разряды 60-63 попадают в третий регистр 195, откуда через второй сумматор 198, который складывает вьщвинутую цифру со значением триггера 197 (в исходном состоянии триггер 197 в нуле), и результат запоминается в четвертом регистре 199, значение которого по шине 59 выдается для анализа микропрограммой. Триггер 197 устанавливается в единицу, если выдвинутая цифра больше или равна 8, для увеличения следующей выдвигаемой цифры на 1, или в ноль в противоположном случае. Цикл начинается с анализа цифры в четвертом регистре 199. По анализу цифры в четвертом регистре 199 к частичному произведению прибавляются (или вычитаются,f- если цифра больше 8) необходимые кратные, одновременно по кодам на шине 60 в каждой микрокоманде сложения (вычитания) байт, старшей тетрадой которого является второй регистр 191, а младший - биты 0-3 сдвигового регистра 193, через первый сумматор складывается (вычитается) соответствующим значением кратного, задаваемого дешифратора 189 согласно коду на шине 60. Результат каждого сложения (вычитания) возвращается во второй регистр 191 и биты 0-3 сдвигового регистра 193, Цикл заканчиваете
микрокомандой сдвига, по которой частичное произведение в местной памяти сдвигается на четыре разряда вправо, одновременно выдвинутая младшая цифра частичного произведения из арифметико-логического блока 11 по шине 64 выдвигается в разряды 32-35 сдвигового регистра 193, а вьщвигаемая
Q при этом цифра множителя поступает через третий регистр 195, второй сумматор 198 в четвертый регистр 199, как бьшо описано вьппе. Вместе с этим сдвигаются и 0-31 разряды сдвигового
регистра 192. При этом значение второго регистра 191 выдвигается в разряды 0-3 сдвигового регистра 193, а второй регистр 191 подготавливается к следующему циклу. По окончании
Q цикла из второго счетчика 186 вычитается 1. Циклы повторяются до обнуления второго счетчика 186, о чем дешифратор сообщает выдачей сигнала на шину 61. Обработав все цифры мно5 жимого, микропрограмма складывает в арифметико-логическом блоке 11 разряды 0-31 и 32-63, а получившуюся младшую часть произведения помещает в местную память 4. Старшая часть произведения также находится в местной памяти 4, где обрабатывались частичные произведения. В командах умножения чисел с плавающей запятой и умножении десятичных чисел первый регистр 188, второй, регистр 191 и первый сумматор 194 в операции не участвуют. Подготовка к циклам производится аналогично подготовке умножения чисел с фиксированной запятой. Исключение составляет блокировка работы триггера 197 при умножении десятичных данньк. В цикле при сложении .(вычитании) кратных значений множимого с частичным произведением в блоке ускорения.арифметических операций никаких действий не производится. По микрокоманде .сдвига по шине 64 в разряды 0-3 сдвигового регистра 193 выдвигаются четыре младших разряда, полученного в цикле частичного произведения, которая является очередной цифрой полного произведения. Таким образом при обнулении второго счетчика 166 в сдвиговом регистре 193 оказывается младшая половина произ
ведения, В командах двоичного деления в регистр команд 187 на шине 53 заносится код деления, по которому первый ко№ утатор 190, сдвиговый ре0
5
0
гистр 193 и .второй коммутатор 196 настраиваются на сдвиги на 1 влево. В этом случае блок ускорения арифметических операций 14 используется для сдвига частичного остатка, заносимого в сдвиговый регистр 193 на 1 . влево непосредственно в той же микрокоманде занесения, В команде десятичного деления в регистр команд 187.заносится код десятичного деления, а во второй счетчик 186 - количество цифр частного. Дешифратор 189 настраивает первый коммутатор 190, сдвиговый регистр 193 и вторлй коммутатор 196 на сдвиги на 4 влево. Деление осуществляется .попеременными циклами сложения и вычитания, в каждом из которых определяет очередную цифру частного. Количество сложений или вычитаний в цикле фиксируется в первом счетчике 185, откуда получившаяся цифра частного по шине 62 считывается в местную память 4. По окончании цикла, которое определяется по коду на шине 60 дешифратором 189, из значения второго счетчика 186 вычитается 1 , Следуюш 1й цикл начинается занесением частичного остатка в сдвиговый регистр 193 с одновременным (в той же микрокоманде) сдвигом его на 4 разряда влево и обнулением первого счетчика 185. Операция заканчивается при обнулении второго счет чика 186 с вьщачей сигнала на шину 61. На элемент И по шине 43 поступают синхроимпульсы СИ1, СИЗ, СИ5.
Блок 15 работает следующим образо В регистр управления 200 заносится код выполняемой операции, в первый регистр исходных длин 201 заносятся длины операндов, а в счетчик адреса операнда 206 адреса местной памяти 4 отведенные для размещения первого и второго операндов. Значение исходных длин операндов через коммутатор 204 под управлением первого дешифратора 203 заносятся во второй регистр исходных длин 207. При считывании операндов из памяти в регистр исходного адреса 202 записываются два младших бита адреса соответствующего операнда, определяющих положение первого байта о перанда в слове. В первой микрокоманде считывания из основной памти производятся следующие действия: считывается операнд и записывается, в соответствии с адресом, находящимся в счетчике адреса операнда 206,
0
5
0
5
0
5
0
5
0
5
помещаемым через шнну 54 в регистр адреса местной памяти 2, в местную память 4. В этой же микрокоманде адрес в счетчике адреса операнда 206 увеличивается на 1, что соответствует продвижению к следующему слову местной памяти 4. В сумматоре 208 из., значения длины операнда, находящегося во втором регистре исходных длин, вычитается количество обработанных байт, определенных вторым дешифратором 209, и результат через коммутатор длин 204 записывается во второй регистр исходных длин 207. На фиг. 16 (а) показано размещение семи- байтного операнда в основной памяти с двумя младшими битами адреса 10. На фиг. 16 (б) показан результат выполнения первого считывания в местной памяти 4. Последующие статывания выполняются аналогично, но в работу включается третий дещифратор 205, который через четьфехразрядную птину 55 и группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 27 могут инвертировать значение младшего бита адреса слова местной памяти 4 в каждом байте отдельно . Второе считывание производится аналогично пер-, вому, но будет инвертирован младший адрес третьего байта местной памяти, и третий байт операнда будет записан в слово О местной памяти 4, тогда как байт О, 1 и 2 будут записаны в слово 1 (фиг. 16(в). Таким же образом считан второй операнд. Из фиг. 16(в) видно, что операнды в местной памяти упорядочены в границах слова, но порядок байт не последовательный. Окончание считывания определяется по нулевому значению длины операнда во втором регистре исходной длины 207 вторым дешифратором 209, по сигналу которого первый дешифратор 203 выдает сигнал на шину 56 для анализа окончания считывания микропрограммной, и приводит счетчик длины в исходное состояние. выполняются микрокоманды арифметики. В микрокоманде арифметики на первый и второй регистры 125 и 126 поступают младшие слова первого и второго операндов, записанных в местную память 4, и через мультиплексоры 127- 130 и 131-134, поступают на входы узла арифметических и логических операций 135. Второй дешифратор 209 по двадцатичетьфехразрядной шине 57 управляет передачей бай.тов от первого
и второго регистров 125 и 126 через группы мультиплексоров 127-130 и 131-134. Обе группы работают одинаково, поэтому рассмотрим прохождение информации на примере, показанном на фиг. 16(в). В первой микрокоманде арифметически на первый регистр 125 считывается слово О местной памяти 4 с порядком байт 4, 5, 6, 3, а под управлением шины 57 этот порядок меняется на 3, 4, 5, 6. При второй микрокоманде арифметики на первый регистр 125 считывается слово 1. из местной памяти 4 с порядком байт О,, 1, 2, X, где X - байт, не принадлежащий операнду. Под управлением шины 57 на входы узла арифметических и логических операцир 135, операнд поступит в поряйке X, О, 1,2, причем передача байта X через первый мультиплексор 127 будет заблокирована. В нулевой байт узла арифметических и логических операций 135 вместо байта X поступает ноль, т.е. неполное слово дополняется слева нулями. Во всех этих операциях происходит модификация второго регистра исходных длин .207 и. при его обнулении по шине 56 выдается признак окончания арифметических операций. Результат арифметических операций расположен в местной памяти 4, как показано на .фиг. 16(г), где 0,1,2,3,4,5 и 6 - последовательные байты операнда, а X - байт, не принадлежащий результату Результат должен быть записан -в основную память 8 согласно фиг. 1б(а). В первой микрокоманде записи в первый регистр 125 из местной памяти 4 будет считано слово О (3,4,5 и 6 байты) код, поступающий по шине 57 из второго дешифратора, разрешит передачу через первый, второй, третий и четвер тый дешифраторы 127-130 на шину 66 в порядке 4, 5, 6, 3, причем код блокировки указанных мультиплексоров будет 1110, т.е. передача через четвертый мультиплексор 130 заблокирована. Этот же код поступает в основную память в качестве маски заггиси, по которой третий байт записываемого слова в основной памяти изменен не будет, а запишутся только байты 0,1 ,,2 - байты 4,5,6 результата. При выполнении второй микрокоманды записи в первый регистр 125 считывается первое слово местной памяти, фиг. 16(г), причем третьим дешифратором 205 через ши0
5
0
5
0
5
0
5
ну 55 и элементы ИСКЛЮЧАЮЩЕЕ ИЛИ 27 проинвертируется младший бит адреса нулевого байта (байт О будет считан из О слова)5 в последовательности 3, О, Т и 2 байтов. Код на шине 57 разрешит выдачу на шину 66 через первый, второй, третий и четвертый мультиплексоры 127-130 в последовательности 0,1,2,3, код блокировки будет 1111, обеспечит работу всех четырех мультиплексоров и, являясь одновременно маской записи, запись полного слова. При арифметических операциях и записи результата продвижения по адресам местной памяти 4 определение конца операции и вьщача сообщения об окончании аналогична описанной в операциях считывания. В каждой микрокоманде считывания и записи на второй регистр 126 из блока выборки команд 1 поступает адрес операнда в основной памяти 8,который по шине 64 поступает в регистр адреса 1 14 блока связи с Памятью 7, а через пятый, шестой, седьмой и восьмой мультиплексоры 131-134, которые кодом на шине 57 обеспечивают нормальную передачу байтов, - на вход узла арифметических и логических операций 135. В узле арифметических и логических операций-135 под управлением шин 69 и 74 производитс я уменьше- .ниа адреса на 4 и последующая запись модифицированного адреса на прежнее место. Блок регистров связи с дополнительными средствами 16 (фиг. 10) предназначен для подключения к процессору специализированных устройств, позволяющих повысить его производительность для определенных классов задач. Блок связи с дополнительными средствами работает следуюш 1м образом: в восьмибайтный регистр данных 211 по шине 53 заносится информация, требующая обработку. В регистр управления 212 по шине 53 заносится управляющая информация, представляющая команду, поступающую по шине 32 в специализированное устройство t согласно указанной команде специализированное устройство забирает по шине 31 операнды из регистра данных 211 и по шине 29 заносит обратно результат обработки, сопровождая его управляющей информацией, заносимой в регистр управления 212 по шине 30. Управляющая информация поступает по шине 94 в арифметико-логический блок 11 для анализа, по результатам которого определяется окончание, и результат обработки по шине 96 забирается в процессор. При необходимости обеспечения прямого доступа к основной памяти специализированное устройство заносит в управляющий регистр 212 по шине 30 маски записи в основ- ную память и код, обеспечивагош 1й прием по шине 28 адреса необходимой области памяти в регистр адреса 210, который по шине 93 поступает в блок связи с памятью 7, режим работы с памятью (Запись / Чтение) по шине 34, поступающей в канал, и установку триггера 213, который по шине 33 выдает в каналы ввода-вывода запрос на обмен. Маска записи по шине 5 поступает в блок связи с памятью 7.,Обмен информацией между основной памятью 8 и регистром данных 211 обеспечивается оборудованием канала по шине 35, обеспечивающей сброс триггера 213, и управлением регистром данных 211 при окончании обмена.
Блок 17 работает следующим образом. Перед выполнением в каналах ввода-вывода начальной выборки устройства по сигналам записи,1 и записи 2, которые являются результатом дешифрации-соответствутощих микрокоманд записи в каналах ввода-вывода и которые поступают из соответствующего канала ввода-вывода на 6 и 7 входы устройства, а по шинам 37 и 38 - в блок соответственно, сначала в регистр 215, а затем в регистр 214 по шинам 53 заносятся первый и второй байты адреса. Причем первый и второй байты текущего адреса страницы заносятся в регистр 215 через группы элементов -И 217 и ИЛИ 222, а в регистр 214, первый и второй байты начального адреса следующей страницы заносятся непосредственно с шин 53. Третий байт текущего адреса страницы заносится в регистр 216 непосредственно с шин 53.
После конца передачи информационного массива по текущему адресу страницы, т.е. после передачи 2048 байт между каналами ввода-вывода и основной памятью, по сигналу перезаписи, который вырабатьшается в блоке запросов на косвенную адресацию, поступающем в блок по шине 91, информация из регистра 214 через группы элементор И 218 и ИЛИ 222 заносится в регистр 215. Новая инд)ормация в регистре 215
0
5
0
5
0
5
5
0
5
и старая информация в регистре 216 становятся текущим образом С П аницы, а начальный адрес следующей страницы по сигналу из канала, поступающему в блок по шине 37, заносится с шины 53 в регистр 214. Перезапись информации из регистра 214 в регистр 215 осуществляется до тех пор, пока не будут переданы между каналом ввода вывода и основной памятью все страницы обменного массива. Чтение текущего адреса страницы выполняется по сир- налу чтения из. канала, которьш поступает на 5 вход устройства, а в блок- по шине 36. Этот сигнал стробирует группы элементов И 2t8 и 219, через которые адрес, из регистра 214 поступает на шину 92.
Блок 18 работает следующем образом. Адрес конца страницы определяется путем анализа двенадцатого разряда текущего адреса страницы (байт два бит четыре), который поступает в блок по шине 89 каждый раз до модификации текущего адреса страницы и после модификации адреса страницы, в процессе выполнения разделенного цикла, в течение которого происходит обмен единицей информации ме жду каналами ввода-вывода и основной памятью.
Сигнал с шины 89 поступает на вход триггера 224 и- элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 223. Если двенадцатьй разряд после модификации текущего адреса страницы не изменился, триггер 225 не будет установлен в единицу. Если изменение произойдет, триггер 225 установится в единицу и в разделенном цикле по синхроимпульсу, поступающему из канала по шине 42 и синх- роимпульсу от синхронизатора процессора через элемент И 227 будет взведен триггер 226, который по шине 90 выставит сигнал конца страницы .
Последовательность срабатьшания триггеров 224-226 определяется последовательностью поступления синхроимпульсов по шине 43, и в частности, по синхроимпульсам СИ1, СИ5, СИ1 со- ,ответственно, которые вьфабатываются синхронизатором последовательно друг за другом без перекрытия, семь синхроимпульсов в каждом цикле процессора. Следовательно, если в триггер 224 информация будет занесена по СИ1 очередного цикла процессора, то в триггер 226 информация будет занесена по СИ1 следующего цикла процессора. Элемент И 227 стробируется синхроимпульсом СИ7. Элемент 228 - СИ1. На вход элемента И 228 по шине 79 из блока 6 поступает сигнал установки в исходно состояние триггеров 224 и 225,
Последовательность поступления по шине 43 синхроимпульсов показана на фиг.17.
Блок 19 работает следующим образом. Перед выполнением в каналах ввода-вывода начальной выборки устройства, по сигналам записи 1 и записи 2, которые являются результатом дешифрации соответствзлющих микрокоманд записи в каналах ввода-вывода, которые по ступают из соответствукще- го канала ввода-вывода на 6 и 7 входы устройства, а по пшнам 37 и 38 в блок соответственно, устанавливаются триггеры 234 и 236. Причем сначала через элемент ИЛИ 237 устанавливается триггер 236, инверсный выход которого стробирует элемент И 236, поэтому после установки триггера 234 по сигналу записи 1, постутгающе- му в блок по шине 37, триггер 235 не-будет взведен до тех порs пока не сбросится триггер 236, триггер 235 по шине 91 инверсным выходом управляет записью информации с шииы 53 в регистр 215 блока хранения адреса страницы 17 путем стробирования труп пы элементов И 217, а прямым выходом управляет перезаписью информации из регистра 214 в регистр 215 путем стробирования группы элементов И 218 и элемента ЮТИ 221 в блоке хранения адреса страницы 17. После того, как на вход блока по шине 90 поступит сигнал конца страницы, этот сигнал через элемент И 232, который стробируетсй управляющим сигналом в виде потенциала, поступакяцего из канала ввода-вывода по шине 40, и управляющим сигналом определенной длительности, поступаюещго из канала ввода- вывода по шине 41, сбросит триггер 236 и разрешит через элемент И 230 установку триггера 235 по сигнапу от ранее установленного триггера 234 вход триггера 235 по шине 91 разрешает перезапись информации из регистра 214 в регистр 215 блока хранения адреса страницы 17, сбрасывает через элемент И 229 триггер 234 и устанавливает через элемент И 231 и элемент ИЛИ 237 триггер 236. После сброса триггера 234 этот триггер ин5
0
5
0
5
0
5
5
0
5
версным выходом разрешит через элемент И 233, стробируемый потенциалом, поступаюп{им из канала ввода-вывода по шине 40, выдачу в канал ввода-вывода сигнала запроса на косвенную адресацию. После сброса триггера 234 тригер 235 не будет сброшен, так как элемент И 230 будет запрещен инверсным выходом триггера 236. Триггер 235 будет сброшен в следующей микрокоманде по синхроимпульсу СИ1. После того, как по запросу на косвенную адресацию вьщанному в какал ввода,-вывода5 будет вьтолняться занесение в блок хранения адреса страницы 17 начального адреса следующей страницы, по сигналу записи 1, поступающему из канала ввода- вьшода в блок по шине 37, и становится триггер 234.
Стробирование элемента И 229, элемента И 230, триггера 235 и элемента И 231 выполняется по СИЗ, СИ1, СИ1 следующего цикла и СИЗ соответственно, поступающих в блок по шине 43.
С целью организации одновременной работы включенных в состав ЭВМ каналов ввода-вывода (в ЭВМ ЕС 1036 включены четыре блок-мультиплексных, канала) , что позволяет повысить быстродей ствие. процессора за счет более быстрой организации обмена массивами данных между основной памятью и каналами ввода-вывода, блок хранения адреса страницы 17 и блок 19 реализованы в процессоре для каждого канала ввода вывода отдельно. Блок 18 является общим блоком для всех каналов ввода- вывода. Информация, считьгоаемая из блока 17 по шине 92, от каждого блока 17 поступает на вторую группу элементов ИЛИ 23 (фиг. 1).
Режим работы блока 20 задается с помощью регистра 240, информация в который поступает по шине 53, и дешифратора 241, на вход которого подается из регистра 240 информация о режиме работы и по шине 50 информация из узла микропрограммйого управления 6, С выхода дешифратора 241 поступают управляющие сигналы на .управляющие входы коммутатора 238 для выбора нужной шины, поступающей на вход коммутатора, в матрицу памяти 239 для стробирования записи данных из, коммутатора 239 и на вход счетчика 242, адресуемого матрицу памяти 239. При каждой записи в матрицу памяти 239 счетчик 242 модифн1щруется на .
Процессор работает под управлением микропрограмм, хранящихся в.блоке 9 или блоке 10. В микропрограммах используется несколько типов микрокоманд, показанных на фиг. 18. Первые четыре бита микрокоманды определяют ее тип. На фиг. 10(а) показана структура микрокоманды ПЕРЕКЛЮЧЕНИЕ МОДУЛЯ. Эта микрокоманда обеспечивае переход на любую микрокоманду в управляющей памяти 9 или оперативной памяти микропрограмм 10, заданную адресом в поле модули; ветвление по четьфем направлениям, определяемым полями Источник перехода и Услови перехода. После Источник перехода определяет байт, а поле Условие перехода задает два бита из этого байта, по которым осуществляется ветвление на фиг. 18(6) показана структура микрокоманды Переход. Эта микрокоманда обеспечивает возможност устанавливать или сбрасывать биты, заданные константой в поле К, в байте, указанном в поле Источник перехода ; или осуществлять переход к любой микрокоманде и ветвление по четьфем направлениям или шестнадцати направлениям что задается полем Режим. На фиг. 18(в) показана структура микрокоманд Переход с возвратом и Возврат, которые различаются битом режим. Функция микрокоманды Переход с возвратом состоит в запоминании информации в регистре, заданном полем Регистр возврата для последующего возврата на прерванную микропрограмму, осуществляемую микрокомандой Возврат, Обе микрокоманды могут осуществлять ветвление по че- . тьфем направлениям, заданным полем Условие перехода. На фиг. 18(г) показана структура микрокоманды Пересылка . Микрокоманда Пересылка обеспечивает пересыпку слова или любых заданных байтов слова, что задается четырехбитной маской из регистра, заданного полем Источник, в регистр, заданный полем Назначение и обеспечивает ветвление по четьфем направлениям, заданным полем перехода. На фиг, 18(д) показана микрокоманда Память, которая обеспечивает обмен данными между блоком 8, адрес которой находится в регистре, указанном полем Источник адреса, и регистром, указанным полем Регистр данных и ветвление по
0
5
0
5
0
5
0
5
0
5
четьфем направлениям, заданным полем Условие перехода. Характер обмена (слово, полуслово, байт) и его направление (запись или чтение) задается кодами микрокоманды 4-7 и полем Режим, которым указывается также необходимость модификации адреса на 4 в используемом для адресации регистре. На фиг. 18(с) показана структура микрокоманды Арифметика. Код микрокоманды Арифметика 8-Г определяет различные виды обработки: работа по словам, байтами, константами, заданными полем Второй операнд ; место записи результата операции (на место первого операнда, на место второго операнда, сохранение в узле арифметических и логических операций 135). Поля первый операнд и второй операнд указывают регистры, в которых находятся соответствующее операнды. Поле Операция задает режим работы узла арифметических и логических операций 135. Полем Режим обеспечивается управление входами узла арифметических и логических операций такими, как блокировка передачи некоторых байт на обработку, Сдвиг второго операнда на 4 разряда вправо. Поле Условие перехода обеспечивает ветвление по четьфем направлениям.
Рассмотрим работу процессора на примере выполнения команды сдвига. Формат команды показан на фиг. 19(а), Биты 0-7 определяют код операции, биты 8-11 - адрес общего регистра местной 4, хранящего первый операнд. Биты 12-15 не используются. Биты 16-19 определяют адрес общего регистра местной памяти, хранящей базовый адрес второго операнда, а биты 20-31 - смещение для адреса второго операнда. Адрес второго операнда в командах сдвига не является адресом данных; 6 его млад1Ш1х битов показывают , на сколько позиций необходимо произвести сдвиг. Остальная часть адреса игнорируется. Выполнение команды делится на две фазы: выборки команды и выполнения (фиг.196) В фазе выборки команд работает блок 1.. Адрес из счетчика адреса команд 105 через схему ИЛИ 107, шину 49, блок 12 и шину 83 поступает в регистр адреса 114 блока 7. Блок 7 обеспечивает вьдачу команды из блока 8 или матрицы буферной памяти 118 через
регистр вьгходньпс данных 124, шину 82, третий коммутатор 22.и шину 53 в блок 1. Команда по шине 53 заносится в первый, второй и третий буферные регистры 101, 102 и 103, откуда код операции (биты 0-7 команды) заносится в регистр кода операции 106, биты 8-15 команды заносятся в регистр непосредственного байта 109, а биты 20- 31 - в регистр адресов операндов 104 Следующей микрокомандой будет базирование второго адреса,Эта операция осуществляется следующим обр азом. Через коммутатор адреса местной памяти 1.10 по шине 88 заносится в регистр адреса местной памяти 2 адрес общего регистра,- заданного полем В2. Слово, заданное этим адресом из блока 4 через второй коммутатор 5 и шину 67, запишется в первый регистр 125 арифметико-логического блока, 11 . Одновременно во второй регистр 126 этого блока через шину 99, первый коммутатор 3, шину 49, и схему ИЛИ 107 запишется смещение (поле Д2 команды) из регистра адресов операндов 104. По шинам 69 и 74 в узле арифметических и логических операций 135 будет задана функция сложения слов. Получившийся в результате полный адрес второго операнда по шине 65 через третий коммутатор 22 вьщается на шину 53. Этот адрес будет записан в регистр адресов операндов 104. В зТой же микрокоманде по коду операции из регистра кода операции 106 и коду, заданному по шине 47 дешифратором 112 блока 6, дешифратором 108 по.шине 48 занесется код операции в регистр команды 187 и разрешится прием битов 2,3,4 во вто рой счетчик. 186 (количество сдвигов на 8) и битов 5,6,7 в первый счетчик 185 (количество сдвигов на 1) из третьего байта адреса, находящегося на шине .53. Последней микрокомандой фазы выборки будет пересылка кода операции из регистра кода операции 106 по шине 46 на коммутатор адреса микрокоманды 113 блока 6 для формирования адреса первой микрокоманды фазы выполнения. При этом по коду операции из регистра кода операции 106 и коду на шине 47 из дешифратора 112 дешифратором 108 будет промодифициро- зан счетчик адреса команд 105. Первой микрокомандой фазы выполнения будет пересылка первого операнда из общего регистра блока 4 в блок 14. Для зто
го через коммутатор адреса.местной памяти 110 из регистра непосредственного операнда 109 по шине 88 в регистр адреса блока 2 будет занесено поле Р1 команды, являющееся адресом первого операнда в блоке 4. Указанный операнд через первый коммутатор 3, шину 99 из блока 4 запишется во второй ре гйстр 126. Код на шинах 69 и 74 определит прохождение операнда через арифметико-логический блок 1 1 б-ез изменений. Операнд через шину 65, третий коммутатор 22J шину 53 поступит на вход блока 14, где через первый коммутатор 190 будет помещен в сдвиговый регистр 193. После занесения операнда в сдвиговый регистр 193 блок 12 начнет выполнять сдвиги, как бьшо описано в описании работы блока. После за-, несения операнда процессор перейдет на микрокоманду анализа регистра сое тояния 136, в котором по шине 61 блоком 14 будет установлен признак окончания сдвигов . При анализе содержимое регистра состояний 136 по шине 68 поступает на коммутатор адреса микрокоманды 113, где под управлением дешифратора 113 адрес микрокоманды не изменяется (повторяется выполняемая микрокоманда), если отсутствует .признак окончания, или формируется адрес следующей микрокоманды в противном случае. При определении окончания сдвига происходит переход к шкрокомгнде пересылки результата сдвига в блок 4. При выполнении этой микрокоманды через коммутатор адреса местной памяти 110 из регистра непос редственного операнда 109 поле Р1 команды (адрес общего регистра с первым операндом) по шине 88 заносится в регистрадреса блока 2. Результат сдвига по шине 63 через второй коммутатор 5 и шину 67 будет занесен в первый регистр 125. Блоком 6 по шинам 69 и 74 будет .задана прямая передача первого входа узла арифметических и логических операций 135, в результате чего сдвинутый операнд будет вы.цан на шину 65. .Далее через третий коммутатор 22 и шину 53 он будет записан в блок 4 по адресу, заданному регистром адреса блока 2. Последней микрокомандой фазы выполнения будет микрокоманда перехода, по которой будет передано управление первой микрокоманде фазы выборки следующей команды. Вьтолнение каждой
микрокоманды осуществляется блоком 6, Вьтрлняемая микрокоманда находится в регистре микрокоманд 114. По соответствующим полям микрокоманды дешифратором 112 вырабатьшаютсд управляющие сигнсшы и через коммутатор адреса микрокоманды 113 определяется источник адреса следующей микрокоманды Адрес следующей микрокоманды по шине 72 через блок 13 и шину 77 поступает в блок 9, Считанная микрокоманда через вторую группу элементов И 25, первую группу элементов ИЛИ 21 и шину 78 поступает в регистр микрокоманд и ей передается управление.
Формула изобретения
1. Процессор, содержащий блок вы- борки команд, регистр адреса местной памяти, первый коммутатор данных, блок местной памяти, второй коммута- тор данных, блок микропрограммного управления, блок коммутации адреса памяти, блок управляющей памяти, блок основной памяти, арифметико-логический блок, блок регистров преобразования виртуальных адресов и третий коммутатор данных, причем управляющий вход, первый адресный и второй адрес- ный выходы блока выборки .команд соединены с выходом управления выборкой команд блока микропрограммного управ- ления, первым входом данных регистра
адреса местной памяти и адресным вхо дом блока регистров преобразования виртуальных адресов сооветственно, второй вход данных, третий вход данных, первый адресный выход регистра адреса местной памяти подключены к первому адресному выходу блока микропрограммного управления, первому выходу данных арифметико-логического блока и первому входу данных третьего коммутатора данных, первому адресному входу блока местной памяти соответственно, первый и второй входы данных, управляющий вход и выход дан- ньк первого коммутатора данных соединены с вторым адресным выходом блока выборки команд и первым входом данных второго коммутатора данных, выходом данных блока мест.ной памяти и вторым входом данных второго комму
татора данных, первым выходом управ ления коммутацией данных блока микро, .программного управления, первым входом данных арифметико-логического
Q ,,
j,. . 25 . .
35
40
45
50
55
блока соответственно, управляющий вход и выход данных второго коммутатора данных подключены к второму выходу управления коммутацией данных блока микропрограммного управления и второму входу данных арифметико- логического блока соответственно, первь1й и второй выходы кода операции и первый адресный вход блока микропрограммного управления соединены с первым и вторым входами кода операции и вторым выходом данных арифметико-логического блока соответственно, второй, третий и четвертый ад- ресные входы, выходы управления коммутацией адреса и управления выборкой памяти блока микропрограммного управления подключены к выходу кода операции блока выборки команд, третьему выходу данных арифметико-логического блока и первому входу данных блока коммутации адреса памяти, первому адресному выходу бдока регистров преобразования виртуальных .адресов, управляющему входу блока управляющей п амя- ти, управляющим входам блока коммутации адреса памяти и блока основной памяти соответственно, первый, второй выходы данных, адресньй выход, выход маски, второй, третий и четвертьш входы данных блока коммутации адреса памяти соединены с вторым входом данных третьего коммутатора данных, входом данных, адресным входом и входом маски блока основной памяти, четвертым выходом данных арифметико-логического блока и входом данных блока управляющей памяти, выходом данных блока основной памяти, вторым адресным выходом блока регистров преобразования виртуальных адресов соответственно, вход данных блока регистров преобразования виртуальных адресов соединен с входом данньк блока выборки команд и выходом третьего коммутатора данных, отличающий- с я тем, что, с целью повышения быстродействия, он содержит блок оперативной памяти микропрограмм, блок регистров динамической переадресации микрокоманд, блок ускорения арифметических операций, блок обработки дан- . ных переменной длины, блок регистров связи, блок памяти адреса страницы, блок триггеров анализа конца страницы, блок запросов на косвенную адресацию, блок памяти трассировки, первую и вторую группы элементов ИЛИ, первую
и вторую группы элементов И, триггер выборки памяти и группу элементов ИСКЛЮЧАМЦЕЕ ИЛИ, причем вход данных, управляющий, адресный входы и выход блока оперативной памяти микропрограм подключены к четвертому выходу данных арифметико-логического блока, выходу управления коммутацией адреса блока микропрограммного управления, адрес- ному выходу блока регистров динамической переадресадии микрокоманд и адресному входу блока управляющей памяти, первым входам элементов И первой группы соответственно, вход данных ус- тановочньй, управляющий, адресный входы и управляющий выход блока регистров динамической переадресации мик- рокоманд соединены с выходом данных третьего коммутатора данных, входом данных блока местной- памяти, первым входом данных блока памяти трассировки, первым входом данных блока памяти адреса страницы, первым входом данных блока регистров связи, входом данных блока обработки данных переменной длины, первым входом данных блока ускорения арифметических операций, вторым управляющим выходом.блока
выборки команд, выходом управления динамической переадресацией блока микропрограм1 1ного управления j вторым адресным выходом блока микропрограммного управления, пятым адресным входом блока микропрограммного управления соответственно, синхровход,пер- вый и второй управляющие входы, второй вход данных, управляющий вьгеод, первый, второй, третий выходь: данных блока ускорения арифметических операций подключены к синхровходу процессора н первому синхровходу бго- ка триггеров анализа конца страниць, к синхровходу блока запросов на косвенную адресацию, к первому управляющему .вькоду блока выборки команд, к вьгходу управления быстрыми операциями блока микропрограммного управле1ти; третьему вьгходу данных арифметико- логического блока, третьему входу кода операхдаи арифметико-логического блока,.четвертому входу данных второго коммутатора данных, пятому входу данных второго коммутатора дауных,, шестому адресному входу блока микропрограммного управления соответствен но, управляющий и адресный входы,первый, второй и третий управляющие выходы и адресный выход блока обработ
.
. ps
15
30
40
45
50
55
ки данных .переменной длины соединены с выходом управления обработкой данных переменной длины блока микропрограммного управления, вторым адресным выходом блока выборки коман.д, с четвертым входом кода операции арифметико-логического блока, пятым входом данных блока коммутации адреса памяти и пятым входом кода операции арифметико-логического блока, вторым входом группы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ,четвертым входом данных регистра адреса местной памяти соответственно, адресный вход, второй и третий входы дан-- ных, первый, второй, третий и четвер- гый выходы данных, первьгй и второй управляющие выходы, управляющий вход, адресный выход, выход маски блока регистров связи подключены к адресному входу, входу данных и первому входу кода операции процессора, шестому входу данных второго коммутатора данных, седьмому входу данных второго коммутатора данных, выходу данных процессора, выходу управления выводом процессора, вьгходу режима работы процессора,- вьгходу запроса на обмен процессора, входу окончания обмена-процессора, первым входам элементов ИЛИ второй группы, шестому входу данных блока коммутации адреса памяти соответственно, первый, второй, третий и четвертьм входы управления, вход данных и выход данных блока памяти адреса страницы соединены с ;вторым входом кода операции процессора, третьим входом кода операции процессора и первым управляющим входом блока запросов на косвенную адресацию, четвертым входом кода операции процессора и вторым управляющим входом блока запросов на косвенную адресацию, первым управляюш 1М выходом блока запросов на косвенную адресацию, выходом третьего коммутатора данных, вторыми входами элементов ИЛИ второй группы соответственно, второй синхровход, управляющий вход, вход данных н управляющий выход блока триггеров анализа конца страницы подключены к синхровходу канала процессора, выходу управления анализом конца страницы блока микропрограммного управления j выходам элемен-тов ИЛИ второй группы, третьему входу данных второго ког шутатора данных и третьему входу данных первого коммутатора данных, третьему управляющему входу блока
запросов на .косвенную адресацию соответственно, второй управляющий выход, четвертый и пятый управляющие входы блока запросов на косвенную адресацию соединены с выходом запроса в канал процессора, пятым входом кода операции процессора, шестым входом кода.операции процессора соответственно, второй, третий и четвертый входы данных, выход данных и управляюпщй вход блока памяти трассировки подключены к третьему адресному выходу блока выборки команд, выходу кода операции блока выборки команд, второму адресному выходу блока микропрограммного управления, восьмому входу данных второго коммутатора данных, выходу управления трассировкой блока , микропрограммного управления соответ- ственно, первые и вторые входы и выходы элементов ИЛИ первой группы соединены с выходами элементов И первой группы, выходами элементов И второй группы, входом данных блока мик- ропрограммного управления и третьим- входом данных третьего комк1утатора данных соответственно, выходы элементов ИЛИ второй группы подключены к
второму входу данных блока триггеров
.-
анализа конца страницы, вторые входы элементов И первой группы соединены с прямым выходом триггера выборки памяти соответственно, первые и вторые входы элементов И второй группы подключены к инверсному выходу тригге ра выборки памяти, вьпсоду данных блока управляющей памяти соответственно, установочный, сбр.осовый входы триггера выборки памяти подключены к выходам -установки и сброса блока микро- программного управления соответственно, второй вход, выход группы элементов ИСКЛЮЧАЩЕЕ ИЛИ соединены с вторым адресным выходом регистра адреса местной памяти и вторым адресным входом блока местной памяти соответ- ственно, седьмой вход данных блока коммутации адреса памяти подключен к входу масок канала процессора, при этом блок ускорения арифметических операций содержит первый счетчик, втс рой счетчик, регистр команды, первый регистр, дешифратор, первый коммутатор, второй регистр, элемент И, сдвиговый регистр, первый сумматор, тре- тий регистр, второй коммутатор, триггер, второй сумматор, четвертый регистр, причем первые управляющие вхо
нJQj, jn2530
35
40
, . г 45
ды первого счетчика, второго счетчика и управляющий вход регистра коман- .ды соединены с первым управляющим входом блока, входы данных первого счетчика, второго счетчика, регистра команд, первого регистра и лервый вход данных первого коммутатора соединены с первым входом данных блока, входы синхронизации первого счетчика, второго счетчика, сдвигового регистра подключены к выходу элемента И, первый вход которого соединен с входом синхронизации процессора, выходы данных первого и второго счетчиков подключены к второму выходу данных блока, вторые управляющие входы первого и второго счетчиков подключены к первому и второму йыходам дешифратора соответственно, первый управляющий вход которого соединен с вторым управляющим входом блока, управляющие выходы первого и второго счетчиков Подключены к второму и третьем упра вля- ющим входам дешифратора соответственно, первый вход данных которого соединен с выходом данных регистра команды, выход данных первого регистра соединен с первым входом данных первого сумматора, второй вход данных которого подключен к выходу данных второго регистра и первому входу данных сдвигового регистра, первый выход данных которого соединен с входом данных второго коммутатора, выход дан ных которого подключен к первому выходу данных блока, третий выход дешифратора подключен к управляющему входу первого коммутатора, выход данных которого соединен с вторым входом данных сдвигового регистра, вто- рой выход данных которого подключен к входу данных третьего регистра, выход данных которого подключен к входу данных второго сумматора, выход которого соединен с входом данных триггера и входом данных четвертого регистра, выход.данных которого подключен к третьему выходу данных блока, четвертый выход дешифратора сое- , динен с управляющим входом второго регистра, вход данных которого подключен к первому выходу данных первого сумматора, второй выход данных которого соединен с третьим входом данных сдвигового регистра, третий выход которого подключен к второму входу данных первого коммутатора, пятый выход дешифратора соединен с
управляющим входом первого сумматора, третий вход данных которого подключен к червертону выходу данных сдвигового регистра, четвертый вход которого подключен к второму входу данных блока, шестой выход и второй вход дешифратора подключены к управляющему входу и пятому выходу данных сдвигового регистра соответственно, седьмой, восьмой, девятый, десятый выходы дещифратора соединены с управляющим входом второго коммутатора, управляющим выходом блока,вторым входом элемента И, управляющим входом триггера соответственно, выход которого соединен с входом переноса второго сумматора, причем блок обработки данных переменной длины содержит регистр управления, первый регистр исходных длин, регистр исходны адресов, цервый дешифратор, коммутатор длин, второй дешифратор, счетчик адреса операнда, второй регистр исходных длин, сумматор, третий дешифратор, причем входы данных регистра управления, первого регистра исходных длин и счетчика адреса операнда соединены с входом данньк блока, выход данных регистра упра вления соединен с входом данных первого дешифратора, первый выход которого соединен с управляющим входом третьего дешифратора, выход которого подключен к выходу управления адресом мес ной памяти, выход данных первого регистра исходных длин подключен к первому входу данных кoм fyтaтopa длин, второй вход данных которого соединен с выходом данных сумтчатора,, первый вход данных которого подключен к выходу данных второго регистра исходнЫх длин и к первому входу данных второго дешифратора, второй вход данных которого соединен с входом данных третьего дешифратора и с выходом данных регистра исходных адресов, вход данных которого подключен к адресному входу блока, второй выход первого дешифратора соединен с управляющим входом коммутатора длин, выход данных которого подключен к входу данных второго регистра исходных длин, третий и четвертый выходы первого дешифратора соединены с первым и вторым управляющими входами второго коммутатора соответственно, выход данных которого соединен с вторым входом данных с умматора, пятый
выход н первый управляюиий вход первого дешифратора подключены к второму управляющему выходу блока и к первому управляющему выходу второго дешифратора, второй выход которого соединен с первым управляющим выходом блока, второй управляющий вход и шестой выход первого дешифратора соединены с управляюшд1м входом блока и управляю- шим входом счетчика адреса операнда, выход данных которого подключен к адресному выходу блока.
2. Процессор по п. 1, отличающийся тем, что блок памяти адреса страницы содержит три .регистра, четыре группы элементов И, элемент ИЛИ, группу элементов ИЛИ, причем вход данных блока соединен с первыьш входами элементов И первой группы, первого регистра и третьего регистра, второй управляющими вход блока подклю- чен к второму входу первого регистра, третий управляющий вход блока соединен с вторыми входами элемента ИЛИ и третьего регистра, четвертый управ- ляюшда вход , блока подключен к вторым входам элементов И первой группы, вторым входам элементов И второй группы и к первому входу элемента ИЛИ, первый управляющий вход блока соединен с вторыми входами элементов И третьей и четвертой групп, выходы которых соединены с выходами данных блока, выход первого рег истра подключен к первым входам элементов И второй группы, выходы которых соединены с вторыми входами элементов ИЛИ группы, первые входы и выходы которых соединены с выходаг и элементов И первой группы и первым входом второго регистра соответственно второй вход и выход второго регистра подключены к выходу элемента ИЛИ и первым входам. элементов И третьей группы соответственно, выход третьего регистра Соединен с первыми входами элементов И четвертой группы.
3, Процессор по п.
отли
чающийся reMj что блок запросов на косвенную адресацию содержит три триггера, пять элементов И, элемент ИЛИ, причем второй управляющий вход блока соединен с первым входом элемента ИЛИ, первый управляющий вход блока подключен к установочному входу первого триггера,, четвертый управ- пкютз й вход блока, соединен с первыми входами четвертого к пятого элементов и, третий управляющий вход блока подключен к второму входу четвертого элемента И, пятьш управляющий вход блока соединен с третьим входом четвертого элемента И, выход которого подключен к сбросовому входу третьего триггера, установочный вход и инверсный выход которого соединены с выходом элемента ИЛИ и с первым входом второго элемента И соответственно, синхровход блока подключен к первому входу первого элемента И, третьему входу второго элемента И, синхровходу второго триггера и первому входу третьего элемента И, прямой и инверсный выходы первого триггера соединены с вторым входом второго элемента И и вторым входом пятого элемента И- соответственно, выход второго элемента И подключен к установочному входу, второго триггера, прямой выход которого соединен с первым управляющим выходом блока и вторыми входами первого и третьего элементов И, инверсный выход триггера соединен с первым управляющим выходом блока, выход третьего элемента И соединен с вторым вкодом элемента ИЛИ,
выход пятого элемента И подключен к яторому управляющему выходу блока.
4, Процессор по п. 1, отличающийся тем, что блок памяти трассировки содержит коммутатор, матрицу памяти, регистр, дещифратор, счетчик, причем первый., второй и третий входы данных коммутатора соединены с вторым, третьим и четвертым входами данных блока соответственно, выход данных коммутатора подключен к входу данных матрицы памяти, управляющий вход которой соедивен с первым выходом дешифратора, второй выход которого подключен к управляющему входу коммут ат ора, адресный вход матрицы памяти соединен с выходом
данных счетчика, управляниций вход которого подключен к третьему выходу дешифратора, вход данн ых которого соединен с выходом.данных регистра, вход данных которого подключен к первому входу данных блока, выход данных матрицы памяти соединен с выходом данных блока, управляющий вход дешифратора подключен к управляющему входу блока.
72
Фиг.З
SIf 93 99 «5795 ff
S7
LM
lU
fiiJUJ i. liSL
ujn ГуЛ lygj I узр|ГуГ11д г I iyjl fw
ff
(put. if
Ve2
33
LMJ
lU
fiiJUJ i. liSL
I узр|ГуГ11д г I iyjl
f5 f9
фие.5
S
фие. S
73
название | год | авторы | номер документа |
---|---|---|---|
Процессор | 1984 |
|
SU1246108A1 |
Микропрограммный процессор | 1980 |
|
SU868766A1 |
Процессор с совмещением операций | 1982 |
|
SU1138805A1 |
Устройство для предварительной обработки операндов переменной длины | 1984 |
|
SU1269147A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1280642A2 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1405063A2 |
Мультиплексный канал | 1984 |
|
SU1167613A1 |
Устройство для сопряжения периферийных устройств с процессором и оперативной памятью | 1983 |
|
SU1156084A1 |
Микропрограммный процессор | 1978 |
|
SU741269A1 |
Изобретение относится к области вычислительной техники и может быть использовано в электронных вычислительных машинах среднего уровня производительности общего назначения. Целью изобретения является повышение быстродействия и -расширение функциональных возможностей процессора путем введения технических средств для. аппаратной трассировки программ и микропрограмм. С. этой целью в процессор, содержащий -блок выборки команд, регистр адреса местной памяти, первый коммутатор данных, блок местной памяти, второй коммутатор данных, блок микропрограммного управления, блок коммутации адреса памяти, блок управляющей памяти, блок основной памяти, арифметико-логический блок, блок регистров преобразования виртуальных адресов и третий коммутатс-р данных, введены блок оперативной памяти микропрограмм, блок регистров динамической переадресации микрокоманд, блок ускорения арифметических операций, блок обработки данных переменной длины, блок регистров связи, блок памяти адреса страницы,-блок триггеров анализа конца страницы, блок запросов на косвенную адресацию, блок памяти трассировки, первая и вторая группы элементов ИЛИ, первая и вторая груп- пы элементов И, триггер выборки памяти и группа элементов ИСКЛЮЧАЩЕЕ РШИ. 3 3. п. ф-лы. 19 ил. с Ф (Л ю 4 00 00 4iii
53 72
фин. 7
1(8
Фи.,9.
и 5J
53
43
5
S7фи. S S5
эз 210
28
36 - 53
-29
31
А,
9 ±
S5
k30 32 3
33 35
(. W
фиа: 11
и.Г2
дЗиг-13
itS 4S 72 NJ/ 1/л|/
23в
23S DT
П
5;
53 т
1
ZkO
I
Т
фиг. If
Искидио: расположение оперондоб Основная память
00 or Ю П 00 01 W П
1 слово
2 ело 8о
а
ПеоВое CiiumbiSaHue /Местная
CmSo О CfloSs 7
5
Второе считыбание Местнай помять
Сло8оО Сло§о 1
Результат дьтолненая
арифметических
операции
Местная панйть . С О
Ё
1
Фт.Л
Фиг, IB
Oftnam команды odSuso .
Kff/7 I
0 78 Г2 ff го 3f a
Ат ритп8шюлнения комон9ь1 (8xW
BasupoSoMuf адреса
BbiSova KQda операции
8 s/3fff мшроооограмHttoeo упроолемая 6
пересылка операнда 8 Улок ускорения арираме- TuvecKux оперокии /
cdius f(f eiffff/ cfJ7if3
WH ffUCmOO CffCrff; - /uu Ш Ъя onpeSff енияокотом cffdt/so
mst/t
OfrOHVftf
перёсшш onepOHoa t местную помят
peoavaunpatfleHwt SffOKytbfoopKu коноид f
оЩ)
S
9iui. J3
Редактор И.Рыбченко
Составитель В.Пронин
Техред Корректор Л.Пилипенко
Заказ 4127/49Тираж 671Подписное
ВНИИПИ Государственного комитета СССР
по делам изобретений и открытий 113035, MocKsaj Ж-35, Раушская наб., д„ 4/5
Производственно-полиграфическое предприятие, г.Ужгород, ул.Проектная, i
аза ftfffffflffi/ KOfiOffmt
аза Выполнения
(Анала произ6о9итс/1микроко- маноои „переключение мвауля
еонолизомдигорееистрас№:гоя- ниягзб,устт ла8оен когю7р« пему управляющему ifoyy si
Разборное колесо | 1921 |
|
SU370A1 |
IBM Corp., | |||
ПРИБОР ДЛЯ ЗАПИСИ И ВОСПРОИЗВЕДЕНИЯ ЗВУКОВ | 1923 |
|
SU1974A1 |
УСТРОЙСТВО ДЛЯ РАДИОПРИЕМА | 1925 |
|
SU4331A1 |
IBM Corp., 1979 | |||
Процессор | 1976 |
|
SU670935A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1986-07-30—Публикация
1984-04-23—Подача