Процессор с микропрограммным управлением
Иллюстрации
Показать всеРеферат
ОП ИКАНИЕ
Союз Советских
Социалистических
Республик (11) 525856
ИЗОБРЕТЕН ИЯ (61) Дополнительное к авт. Свид-ву (22) Заявлено 08.01.75 (21) 209489 1/24 с присоединением заявки № (23) Приоритет (51) М. Кл.
С-06 7 15/20
С 06 Р Р/1.1
Гасударственный комитет
Совета Министров СССР по делам изооретений и открытий (43) Опубликовано25.08.76,Бюллетень N 31 (53) УДК 681.325 (088.3} (45) Дата опубликования описания 23,12.76
И. К. Ростовцев, Л. П. Кондратьев, B. М. Ленкова, О. С. К.;валев, Е>. Ш, Переверзева, Л. Л. Елисеев, М. Л. Беляева, И. Г. Шандлер, И. И. Лиокумович, Л. М. Раецкий, 1. И. Ковшик и Л. М. Гриневская (72) Авторы изобретения (71) Заявитель (54) HPOIIECCOP С МИКРОПРОГРЛ. >4Мг41>1М > ГРАВЛ.-Н11 = ir
Изобретение относится к цифровой вьчислительной технике.
В большинстве моделей вычислительных систем используются процессоры с микропрограммным управлением (1) ° Эти процессоры содержат оперативную память, постоянную память, блок регистров, арифметико-..оги— ческий блок, связанные системой информационных и управляющих шин. Повышение быстродействия известных процессоров достигается обычно путем расширения разрядности устройств и информационных шин, что увеличивает объем информации, обрабать>ваемой за один машинный такт, и применения различных способов совмещения. Однако увеличение раз-д рядной сетки требует увеличения аппаратуры обработки данных, использование же совмещения значительно усложняет управление, тогда как простые методы совмещения не дают необходимого повышения быстродействия. 20
Из известных процессоров наиболее близким к данному является процессор, содержащий блок постоянной памяти, выход которого через последовательно соединенные формирователь адреса, связанный с выходом регист-25,">а переадресации, и регистр,:ОстОяний соед1п-:Оны с первым выходом ден ифратора управ-ени>я сОстОЯниЯми а Выход блока постОЯнной пах>йти соединен с входами регистра управления счотЧИКаМИ, РЕГИСтРа УПРаВЛЕНИЯ COOòîr ÍrrßÌÈ> РЕгистра управления вводом и выводом информации блока передач данных, регистра управления вь водом информации из арифметического блока, регистров управления первым и вторым коммутаторами, регистра адресации блока локальной памяти. Выходы этих блоКоВ соединены с соответствующими дешифраторами, выходы каждого из которых, кроме первых двух, соединентя соответственно с первым управляющим входом блока передач данных, BToQblMH входами узлов приема из блока передач данных и арифметическогоблока, первыми управляющими входами первого и второго коммутаторов и с первым входом адресного регистра. Выход блока псстоянной памяти соединен с входами триггера альтернативного разряда и регистра переадресации, блок оперативной памяти, вход и выход которого соединены с первыми входо а и выходом регистра данных, второй и третий вхо525 85 6 ды которого соединены соответственно с вь-ходом арифметического блока и блока передач данных и через узлы приема из ариф э= тцчэского блока к блока передач дань-,ых с первым и вторым входами блока реги тров. к
Выход этого блока соединен с первым инфор=мационным входом блока передач даннь х и с первыми информационными входами первого и второго коммутаторов, выходы которых соедичены с первыми и вторыми входами арифв метического блока, блок локальной памяти, первый вход и выход которого соединены со-ответственно с выходом и третьим информационньвл входом блока передач данных, а второй вход — с выходом адресного регистоа Я „,5
Однако неполное использование быстродействия арифметического блока и локальной памяти снижаст общее быстродействие пооцессора. 20
Цель изобретения — повышение быстродей= ствия микропрограммного процессора.
Достигается это тем, что процессор содержит блок байтов и циклов, первый и вто25 рой вь:ходы которого соединены с вторыми управляющими входами первого и второго коммутаторов, третий выход — с вторым входок<. узла приема из арифметического блока и первым управляющим входом регистра данных, =" четвертый выход — с вторым управля ощим входом блока пеоедач данных, втоОыми входами адресного регистра и узла приема из блока передач данных, регистр байтов и циклов, вход которого соединен с выходом блока постоянной памяти, а первый, второй и третий выходы соединены соответ-ственно с первым, вторым и ТрВТВНМ входами блока байтов и циклов, четвертый, пятый, шестой, седьмой и восьмой входы которого
40 соединены соответственно с первым, вторым и третьим выходами блока счетчиков номера байта, выходом счетчика длины операнда и через соответствующий дешифратор — с выходом регистра управления счетчиками; буферный запоминающий блок, первый, второй, третий и четвеотый информационные входы которого соединены соответственно с выходом блока оперативной IIBMRTH, IIcpBbIM выходом регистра данных, выходом арифметического блока и выходом блока передач данных, а первый, второй, третий, четвертый и пятый управляющие входы подключены соответственно к первому и второму выходам дешифратора управления состояниями, выходу триггера альтернативного разряда, к третьему и четвертому выходам блока байтов и циклов, выход буферного запоминающего блока соединен с вторым информационным входом блока передачи данных и вторь «и информационными входами первого и второго коммутаторов. Блок байтов и цик-!
IGB содержит первый, второй ч третий узль выбора байта, первые вы.;;-..-:. вЂ,r которых являются соответственно ..ерв-i."ë,, ьч Орым и
-,:.-тьим выходами блока байлGB; циклов, входы управления байтовым режим..ом всех трех узлов выбора байта соединены с третьим входом блока байтов и циклов, входы управления циклами функции узлов выбора байта— с первым входом блока байтов и циклов, а с входом анализа состояния третьего узла выбора байта соединен шестой вход блока байтов и циклов, узел блокировки второго цикла, с первым и вторым входами которого соединены вторые выходы первого и второго узлов выбора байта соответственно, с входом анализа состояния узла блокировкивторого цикла соединен седьмой вход блока байтов и циклов, восьмой вход которого соедичен с входом анализа модификации узлабло= кировки второго цикла, выход которого соединен с соответствующими входами первого, второго и третьего узлов выбора байта, причем с входом анализа состояния первого узла .выбора байта соединен четвертый, а с входом анализа состояния второго узла выбора байта — пятый входы блока байтов и циклов, узел циклов локальной памяти, вход которого соединен с вторым входом блока байтов и циклов, а вь. ход является четвертым выходом этого блока. Кроме того буферный запоминающий блок содержит селектор регистров, выход которого является выходом буферного запоминающего блока, многофункциональный регистр, выход которого соединен с первым информационным входом селектора регистров, вторсй информационный вход которого является вторым информационным входом буферного запоминающего блока, узлы занесения из арифметического блока, блока передач данных и блока постоянной памяти,. с управляющим входом которого соединен триггер приема, входы установки в нуль и единицу которого соединены соответственНо с первым и BTopbIM управляющими входами буфеоного запоминающего блока. Первый, второй и третий информационные входы многофункционального регистра через узлы занесения из арифметического блока, блоков передач данных и постоянной памяти соответственно соединены с третьим, четвертым и первым информационными входами буферного запоминающего блока, ".. четвертым и пятым управляющими входами оторого соединены первые управляющие входы узлов занесения из арифметического блока и блока пе= редачи данных соответственно, вторые управляющие входы которых, а также управляющий
525956 рой 55 и третий 56 выходы блока 38 байтов и циклов. Третий выход 56 блока 38 байтов и циклов соединен также с четвертым управляющим входом буферного запоминающего блока 4 и с управляющим входом регистра данных 2, а четвертый выход 57 блока 38 байтов и циклов подключен к пятому управляющему входу буферного запоминающего блока 4 и к вторым управляющим входам узла 13 приема из блока передач, адресного ц) регистра 53 и блока 10 передач данных. Выход триггера 58 однобайтной работы арифметического блока (см. фиг. 2) подключен к первым входам первого 59, второго 60 и третьего 61 узлов выбора байта. Выход триг-15 гера 62 двух циклов локальной памяти соединен с входом узла 63 циклов локальной памяти. Первые выходы первого 59 и второго 60 узлов выбора байта являются соответственно первым 54 и вторым 55 выхода-20 ми блока 38 байтов и циклов, выход третье. го узла 61 выбора байта является третьим 56 вь".ходом блока 38 байтов и циклов, а выход узла 63 циклов локальной памяти — четвертым 57 выходом блоха З8 байтов и циклов.
Выход триггера 64 двух циклов функциипод ключен к вторым входам первого 59, второго 60 и третьего 61 узлов выбора байта.
Вторые выходы первого 59 и второго 60 узлов выбора байта соединены с HepBbIM u вторым входами узла 65 блокировки второго цикла. С третьим и четвертым входами уала 65 блокировки второго цикла соединены выход 43 счетчика 45 длины операнда и выход 44 дешифратора 46 управления счетчиками. К первому, -второму и третьему входам многофункционального регистра 66 (См. фиг. 3) через узлы 67, 68 и 69 занесения из арифметического блока, блока передач и постоянной памяти соответственно подключены выходы 7, 12 и 3 этих уст ройств. K управляющему входу узла 69 занесения* из памяти подключен единичный вь:ход триггера 70 занесения из памяти, а входы установки в нуль и в единицу этого
45 триггера соединены соответственно с первым 31 и BTopblM 32 выходами дешифратора 29 управления состояниями. К первым; управляюшим входам узлов 67 и 68 зане50 сения из арифметического блока и из блока передач подключены третий 56 и четвертый 57 выходы блока 38 байтов и циклов соответственно. С первым и с вторым информационными входами селектора регистров 71 соединены соответственно выходмногофункционального регистра 66 и выход 5 регистра данных 2. К управляющему входу селектора регистров 71, а также к вторым управляющим входам узлов 67 и 68 занесе-@> ния из арифметического блока и блока передач данных подключен выход 33 триггера 19 альтернативного разряда. Выход селектора регистров 71 является выходом буферного запоминающего блока 4, В блоке оперативной памяти 1 хранятся команды программы и операнды команд кР, 7.К,RS и 53 или SS форматов. Быстродействующая локальная память 11 служит для хранения операндов фиксированной длины для команд >Р, РХ > RS форматов, базовых и индексных адресов для команд РМ,RS и SS форматов, а также промежуточных операндов и служебной информации. Выполнение каждой команды состоит из двух фаз.Первая фаза — выборка команды, в течение которой происходит считывание очередной команды иэ блока оперативной памяти 1 в четырехбайтный регистр данных 2, базировка и индексация адресов операндов, размещение основной информации о команде по узлам и блокам процессора (например, формирование кода длины команды в регистре состояний 30, занесение адресов операндов в соответствующие регистры блоха регистров 9, запись информации о длине операндов в счетчик 45 длины операндов и т.д.). Выборка и выполнение всех команд производится микропрограммами, расположенными в блоке постоянной памяти 16, В хонце фазы выборки по ходу операции каждой команды определяется anрес в блоке постоянной памяти 16, с которого начинается микропрограмма обработки операндов для данной команды.
Вторая фаза выполнения команды — обработка операндов. Перед этой фазой операнды либо уже прочитаны из блока локальной памяти 11 н занесены в блок регистров 9, либо подготовлены адреса операндов в блоке оперативной памяти 1 или блоке локальной памяти 11. Арифметический блок 6 в фазе обработки операндов осуществляет прием операндов через первый и второй двухбайч ные коммутаторы 14 и 15 и арифметическую или логическую их обработку с последующей пересылкой результата через узел 8 приема иэ арифметического блока в блок регистров 9. Затем результат через двухбайтный блок 10 передачи данных может быть записан в блок локальной памяти 11 или через регистр данных 2 — в блок. оперативной, памяти 1.
За время одного машинного тахта {см. фиг. 4) в процессоре выполняется одна микрокоманда. Ее выполнение синхронизируется четырьмя разнесенными во времени синхроимпульсами. СИ1, СИ2, СИЗ, СИ4, которые вырабатываются в течение одного машинного
525956 такта, а также импульсами первого полутакта ПТ1 и второго полутакта ПТ2.
В каждом машинном такте микрокоманда считывается из блока постоянной памяти 16 по адресу, сформированному формирователем адреса 34 из содержимого регистра 20 переадресации и регистра состояний 30 в регистр микрокоманд 17, управляющие поля этого регистра преобразуются дешифраторами 29, 46-52 в набор микроопераций, управляющий действиями в данном машинном такте. 3а один машинный такт процессор может обработать до четырех байтов информации.
Полный цикл чтения и регенерации опера- д тивной памяти 1 составляет четыре машинных такта г)- (О+5) (см. фиг. 4), при этом адрес считанного слова из четырех байтов соответствует целочисленной границе для слова (два младших разряда адреса при 20 дешифрации не учитываются). Микрооперация чтения ЧТ, вырабатываемая в данном машинном такте (и. ), вызывает считывание информации, которая принимается в регистр данных 2 в конце следующего машин- 25 ного такта (П + i ) . Микрооперация регенерации РГ запускает оперативную память 1 на запись (в такте П +2 ), что приводит к занесению информации в нее к концу такта (0+3). 30
При чтении операндов переменной длины должен адресоваться каждый байт, поэтому нужный байт информации может быть считан в любой (нулевой, первый, второй или третий) байт регистра данных 2. 35
Арифметический блок 6 имеет разрядность два байта и в течение одного машинного такта выполняет два цикла обработки операндов. При работе в режиме двух циклов функции, определяемом регистром 21 бай- 40 тов и циклов, прием информации в первый14 и второй 15 коммутаторы выполняется дважды за один машинный такт — по СИ1 и СИ3; занесение выхода арифметического блока и признаков результата обработки (перенос, переполнение, нуль результатаи т.д.) происходит также дважды — по СИ2 и СИ4. При работе в режиме одного цикла функции прием информации во входные коммутаторы происходит только по СИ1, а
50 занесение вь.хода арифметического блока 6 и признаков результата — по СИ2.
Каждая ячейка блока локальной памяти 11 содержит два байта. В течение одного машинного такта может быть выполнено одно или два обрашения к блоку локальной памяти 11 и прочитано или записано два или четыре йта данных. 60
Блок регистров содержит группу четырех байтных регистров общего назначения, используемых для хранения считанных из блока оперативной памяти 1 или блока локальной памяти 11 операндов, а также один (два) адресных регистров, используемых для хра— нения адреса команды и(или) адресов операндов. Передачей информации необходимых регистров на входные коммутаторы арифметического блока 6 блока передач 10 и приемом в них информации с выхода этих блоков управляют соответственно регистры 25,26,27 и 24,23 через дешифраторы 49,50,51 и 48, 47.
Рассмотрим работу- процессора при выполнении команд формата $Я ° Данные переменной длины могут располагаться в блоке оперативной памяти 1 с любого адреса, и обра ботка их должна вестись побайтно. Два младших разряда адреса каждого операнда определяют номер обрабатываемого байта в сло— ве блока оперативной памяти 1.
После выборки команды адреса операндов находятся в блоке регистров 9 (сх..фиг. 1), указатель длины операндов — в счетчике 45 длины операндов, а два младших разряда адресов первого и второго операндов — в блоке 42 счетчиков номера байта. Фаза обработки операндов начинается с чтения пз блока оперативной памяти 1 второго операнда в регистр данных 2. Затем содержимое регистра данных 2 пересылается в один из рабочих регистров блока регистров 9 через буферный запоминаюший блок 4, блок 10 пе— редач данных и узел 13 приема из блока передачи данных и производится чтение первого операнда. Данные переменной длины обрабатываются побайтно, но арифметичес.;й блок 6 может за один машинный такт выполнить функцию обработки дважды, поэтому в регистр 21 байтов и циклов триггер 58 однобайтной работы арифметического блока и триггера 64 двух циклов функции установлены в единичное состояние. Блок 38 байтов и и циклов, учитывая содержимое регистра 21 байтов и циклов, выдает в первый коммутатор 14 (с выхода 54) и во второй коммутатор 15 (с выхода 55) управляющие сигналы, по которым по синхроимпульсу СИ1 в младший байт первого коммутатора 14 из регистра данных 2 (он выдается на первый коммутатор по сигналу с дешифратора 49) через буферный запоминающий блок 4 передается байт данных, номер которого в слове оперативной памяти (а значит и в регистре 2 ) определяется одним из счетчиков блока 42 счетчиков номера байта (счетчиком первого входа). B младший байт второго коммутатора 15 также по синхроимпульсу СИ1 из блоll ка регистров 9 (по сигналу с выхода дешифратора 50) заносится байт второго операнда, причекл номер этого байта в слове задан сче."., ком второго входа из блока 42 счетчиков номера байта. После завершения обработки байта операндов байт результата по синхроимпульсу СИ2 передается в байт регистраданных 2, номер которого определен счетчиком выхода из блока 42 счетчиков номера байта. Затем в зависимости от напюавления обработки (от старших к младшим или наоборот) выполняется модификация всех счетчиков в блоке 42 счетчиков ноллера байта на плюс или минус единицу, а также модификация счетчика 45 длины операнда, По синхюоимпульсу СИ3 в младшие байты первого коммутатора 14 ч второго коммутатора 15 заносятся следующие байты первого и второго операндов. функция обработки повторяется еше раз и байт результата по синхроимпульсу СИ4 заносится в регистр данных2.
По завершении обработки слова (исчерпан один из счетчиков входов или оба в лес-.е) производится запись результата в оперативную память 1 v. считывание следуюшего слова второго и (или) первого операндов.
Обработка опеюандов продолжается до тех пор, пока не исчерпается счетчик 45 длины операнда. При всех передачах информации на входные коммутаторы арифметического блока 6 и при передачах результата обработки в блок регистров 9 или в юегистр данных 2 блок 38 байтов и циклов по содеюжчмому счетчиков выбиюает нужные байты первого и второго операндов и производит их передачу в младшие байты входных коммутаторов, а результат обработки пересыпает в нужный байт регистра блока регистров 9 или регистюа данных 2. При этом первый узел 59 (см. фиг. 2) выбора байта управляет занесением информации в первый коммутатор 14, второй узел 60 выбора байта управляет занесением во второй коммутатор 15, третий узел 61 выбора байта управляет занесением выхода арифметического блока 6 в регистр данных 2, в буферный запоминаюший блок 4 и в блок регистров 9. Узлы выбора байта построены однотипно (см. фиг. 5). На вход дешифратора 72 номера байта поступают сигналы с выхода блока 42 счетчиков номера байта (например, для первого „59 выбора байта это будет сигнал с выхода 39). Дешифратор 72 номера байта будет вырабатывать управляюшие сигналы толькО при наличии разрешаюшего потенциала на входе 37 управления байтовым режимом (триггер 58 однобайтной работы арифметического блока í=" фиг. 2 установл=н в единичное состояние). При использовании данного узла в качестве первого 59 или вто60 узла выбор . байта сигнал сна выходе элемента И 73 в однобайтно . режиме разрешает занесение в младший бай входного коммутатора третьего байта и.-. с. -aa данных. Сигнал на выходе элемента M 74 разрешает занесение второго байта из слова данных в младший байт входного коммутатоюа, элементов И 75 и 76 — занесение первого и нулевого байта. На вторые входы элементов И 73 — 76 подается сигнал с выхода элемента ИЛИ 77, который вырабатывается по потенциалу первого полутакта (ПТ1), поступаюшеллу на вход 78, или по потенциалу второго полутакта (ПТ2), поступаюшему на вход 79, и отсутствии сигнала блокировки второго цикла на входе 80 элемента И 81.
Сигналом блокировки второго цикла предусматривается возможное достижение границы одним из счетчиков блока 42 счетчиков номера байта или счетчиком 45 длины операнда после завершения первого цикла арифметического блока 6 при заданном двухцикловом режиме работы (т.е. когда триггер 64 двух циклов функций установлен в единичное состояние (см. фиг. 2). Потенциалы ПТ1 л ПТ2 вырабатываются блоком синхронизации процессора, не показанным на схемах.
При выполнении команд с операндамификсированной длины обработка их выполняется в двухбайтном юежиме (т.е. триггер 58 находится в нулевом состоянии). 8 первом цикле работы арифметического блока 6 (на входе 78 присутствует потенциал полутакта
ПТ1) на выходе элемента И 73 вырабатывается сигнал занесения третьего байта из слова данных в младший байт входного коммутатоюа и одновременно на выходе 82 вырабатывается сигнал нанесения второго байта из слова данных в старший байт входного коммутатора, т.е. в первом цикле по сигналу ПТ1 на входе 78 срабатывает элемент И 83, так как на входе 3 (отсутствует сигнал однобайтного режима работы. Во втором цикле срабатывает элемент И 84, на входы которого поступает сигнал двухбайтного режима работы с элемента НЕ 85, потенциал полутакта ПТ2 (по входу 79) и сигнал с триггера 64 (см. фиг. 2) двухцикловой работы (по входу 35). На выходе элемента
И 75 и на выхода 86 вырабатываются сигналы занесения первого и нулевого байтов из слова данных в младший и старший байты входного коммутатора. Управляюшие сигналы с выходов дешифратора 72 и с выходов элементов И 83 и 84 объединяются элементами ИЛИ 87 и 88. Выходы 89 и 90 у.:: Ов выбора байта подключены к входам -„-зт 55 блокировки второго цикла. Сигна!1ы н, =-"òèõ выходах появляются В -å-::. .Слу аях. ко1;а какой-либо сче1чик выходсв и блока 4 счетчиков номера байта дос-, irae.. . сания!-;:.. го значения. Узел блокиоовки —; пик .,; (см. фиг. 6,! Выдает cH! Harl з=, го цикла на выход 80 в тех ...; «И<, один из счетчиков входов дос1И; H;!Ieeo c значения (на одном из входов 89 зле; "-..-.— та ИЛИ 91 высокий потенциал!, Обр--..:,— ка операндов ведется от старши:-- к .!ïa; шим байтам. Если счетчики модифиц!;; ..ют-ся на плюс единицу, то по вхо,-,: - .< л"гер 92 модификации счеячиков у.. =..—.; В â€”;:,---.--r
В едлннчное сОстояние и срабатыв . мент И 93. Если модификацля счетч;,: выполняется на минус единицу, ТО с а ..-.ду 44 триггер 92 модификадии ч;......
УСтаНОВЛЕН В 11УЛЕВОЕ СОСТОЯНИЕ и Кг один из счетчиков принимает зна.-=- ....; ; ге ное трем,, на о!11О. .. из Вх ДОB 9; та ИJIM 94 появится cPãíàë, которь1й пр1-BeIIeT z срабатыванию элемент.- И 95, С v; налы модификации на пл1ос и ми!1ус .;"Икцы, поступаюшие .а Вход 4 =:, Выоаоат !B ются дешифраторо.и 46 управ,.::ен я счст-..— кам1л. Если обработка операндов прове!ггся с использованием счетчика 45 длин; . операнда (в командах ЬЬ "o;.:;!à- з, триггер 96 по любому сигналу (плюс и:.: минус) на входе 44 устанавливае- -.я B единичное состоя11ие и появление нг Вхо де 43 анализа состояния счетчика длинь! операнда си.-нала рг:енства нулю счетчика длины 45 приводит к,срабатыванию эле.. мснта И 9,(и Выдаче сигнала,.о;:.."л CB;Il в-орого цикла с вь хода 80:-.:ål„,e.i-r:
Узел F: (см. фиг 2} ии:.;. !:1;.-,к
ПаМЯТИ П l !ИНИЧНОМ СОСТОЯНИ!. Т1i!11 Е >а дВух цикл. i,, ioKa локально!! ria,я ! Р,!1-Дбатывает,.п..а. ляющий сигнал. р=-з!:ешаюцп=:.
ДВойное с 1итывание из блока !1!зка" !:! i . a---мяти 1" ь течение одного машин..-.го .акта, При этом В адресный регистр 53 (см. -:;.г.1 выдаелся сигал модификации г-прес а блока локальной памяти 1 1 для ..-=Ит1.ВаН 1я или. записи двух последовательных по.-.." . i B блок 10 передач данных — .Игнац р зрешения двойной в течение такта псоедг- . полу.слов данных, в буферный запохл1Н1а1О..!1й бл.:к-, и в узел 13 приема из опона пеоеНаЛ pau} ЕНIЕНИя ДВгйНОГО B Ы1Е:-и .!а ИВНС-го так . поиема данных и» бл:..ка Л и- 1е=
Дaя л а}1Н! 1Х вЂ”.luË. С:IO.
С I О B О B 1Ol—
С ;; ()! i
1 !Р. ". : 1, i ш г I ", 1. 11— 1
1!! ьн ....« -О-1.1Ш го.; Е В1,10! ъо
С,Т, ГР:! : I 1., -... i: - .1i К. .,Ы к a!.. (.:„Гl —f | „ч-. ",, - —,с .:: IIС
1. -.,- ° -,,-и
Г,-В . .
-Т
- г р
Выб:1! ДО"!
, а.= .
:ХО",! rb с
О,„.! з, -,, -,,, ы--с., ".,СВ; --. " ..«. . -l ЭТО, Уфсо!1О ЗВ11О1111Н.11О— в: 1б., коl! Bi> -"О- ° — ! . 1 Ома» и ", с11 -1 . . " ло.".а - . !;1!:! *".! JI в б .! . т ОО. е!" с:. .. 0 - .:;: "- .О - 1- : i3b! !
»l: ГIО 11 Рi111!1
В 1О.-.:: .-;., .1у1Оl
Так как чтение инфорь!ации и:- б:IОK= О ..; .. ративной памяти l происхОдит це !1-.-, :.. c-.: Вг ми, а команда состоит из одного. д:
;,1" «Г;;I c- Π—.
525 956
Время выполнения операций в предлагаемом процессоре и в модели 40 системы 360
Операция
Сложение (вычитание) с фиксированной запятой
R R — формат
$ $ — формат
7,5
11,8
2,5 — 3,5
4 — 6
Умножение с фиксированной запятой
86,4
25,5
Деление с фиксированной запятой
176,8
56,5
Сложение (вычитание) с плаваюшей запятой
27,6
259,4
130
128
42,5 фео следующего слова, При этом будет считана вся команда И Х, R Ь или S Д формата, или первое слово команды S Я формата, поэтому после завершения выполнения прель душей команды RP формата выборка слгдуюшей команды выполняется непосредственно из буфера, что дает дополнительный
Bûèãðûø во времени, так как отсутствует необходимость чтения блока опеоативной памяти 1. 10
Для расширения функциональных возможностей буферного запоминающего блока 4 в многофункциональный регистр 66 предусмотрены занесения с выхода 7 арифметическо- д —.о блока 6 и из блока 10 передач данных (по входу 12), а содержимое многофункционального регистра 66 через селектор регистров 71 может быть передано на вход олока 10 передач данных, а также на вхо- 20 ды первого 14 и второго 15 коммутаторов.
Таким образом, многофункциональный регисто 66 может быть использован при выполнении команд, требующих большего количества вспомогательных рабочих регистров.
При этом будут отсутствовать потери времени на запись (считывание) промежуточных операндов в блок локальной памяти 11 или из него, При выполнении сложных команд (например, умножение) применение 30 многофункционального регистра 66 в качестве рабочего дает возможность почти вдвое уменьшить время выполнения этих коУмножение с плавающей запятой
Деление с плаваюшей запятой манд при незначительном увеличении времени выборки команды, следующей за данной сложной командой.
При использовании многофункционального регистра 66 в качестве рабочего в регистре состояний 30 фиксируется отсутствие буферизации команды и выборка следующей команды выполняется из блока оперативнойпамяти 1. Работа с многофункциональным регистром 66 осуществляется по тем же микрооперациям, что и работа с регистром данных 2, т.е. занесение информации в эти регистры, прием информации из регистров на входные коммутаторы арифметического блока 6 и на вход блока 10 передач данных.
Выбор между тем и другим регистром определяется состоянием триггера 19 альтернативного разряда. Например, при единичном состоянии этого триггера на выход селектора регистров 71 передается содержимое многофункционального регистра 66,-при нулевом— содержимое регистра данных 2 по входу 5.
Использование небольшого объема дополнительного оборудования позволило сушественно увеличить быстродействие процессора. Предварительные расчеты и моделирование показывают, что предлагаемый процессор имеет быстродействие примерно в 2 раза выше, чем прототип при сравнимом объеме оборудования. Время выполнения основных операций в предлагаемом процессоре и в модели 40 системы 360 приведено в таблице.
Время выполнения, микро/сек
525956
Формула изобретения
1. Процессор с микропрограммным управлением, содержащий блок постоянной памяти, вход которого через последовательно соединенные формирователь адреса, связанный с выходом регистра переадресации, и регистр управления состояниями соединен с первым выходом дешифратора управления состояниями, а выход блока постоянной памяти соеди-1О неи с входами регистра управления счетчиками, регистра управления состояниями, регистра управления вводом и выводом информации блока передач данных, регистра управления выводом информации из арифмеl5 тического блока, регистров управления пер вым и вторым коммутаторами, регистра адресации блока локальной памяти, выходы которых соединены с соответствующими дешифраторами, и выходы каждого из которых, кро- ме первых двух, соединены соответственно с первым управляющим входом блока передач данных, вторыми входами узлов приема из блока передач данных и арифметического, блока, первыми управляющими,входами первоИ го и второго коммутаторов и с первым входом адресного регистра, выход блока постоянной памяти соединен с входами триггера альтернативного разряда и регистра переадресации, блок оперативной памяти, вход и выход которого соединены с первыми входом и выходом регистра данных, второй и третий входы которого соединены соответственно с выходом арифметического блока и блока передач данных и через узлы приема из арифметического блока и блока передач данных— с первым и вторым входами блока регистров, выход которого соединен с первым информационным входом блока передач данных и с первыми информационными входами первого и второго коммутаторов, выходы которых соединены с первым и вторым входами арифметического блока, блок локальной памяти, первый вход и выход которогб соединены соответственно с выходом и третьим информационным входом блока передач данных, а второй вход - с выходом адресного регистра, .отличающийся тем,что,сцелью повышения быстродействия, он содержит блок 50 байтов и циклов, первый и второй выходы которого соединены со вторыми управляющими входами первого и второго коммутаторов, третий выход - с вторым входом узла приема из арифметического блока и первым уп- И; равляюшим входом регистра данных, а четвертый выход - со вторым управляющим вхо. дом блока передач данных, вторыми входами адресного регистра и узла приема из блока передач данных, регистр байтов ицик-6О лов, вход которого соединен с выходом блцка постоянной памяти, а первый, второй и третий выходы соединены соответственно с первым, вторым и третьим входами блока байтов и циклов, четвертый, пятый, шс то седьмой и восьмой входы которого соединены соответственно с первым, вторым и третьим выходами блока счетчиков номера байта, выходом счетчика длины операнда и че, ». рез соответствующий дешифратор - с выхо+ дом регистра управления счетчиками, буфе » ный запоминающий блок, первый, второй, третий и четвертый информационные входы которого соединены соответственно с выхоjnoM блока оперативной памяти, первым выходом регистра данных, выходом арифметического блока и выходом блока передач дан -!
| ных, а первый, - второй, третий, четвертый и пятый управляющие входы подключены соответственно к первому и второму выходам де« шифратора управления состояниями, выходу триггера альтернативного разряда, к третьет му и четвертому выходам блока байтов и циклов, выход буферного запоминающего блоКа соединен со вторым информационным вхо дом блока передачи данных и вторыми информационными входами первого и второго ком.мутаторов.
2. Процессор по и. 1, о т л и ч а ю— ш и и с я тем, что блок байтов и циклов содержит первый, второй и третий узлы выбора байта, первые выходы которых являются соответственно первым, вторым и третьим выходами блока байтов и циклов, входы управления байтовым режимом всех трех узлов выбора байта соединены с третьим вхо-1 дом блока байтов и циклов, входы управления циклами функции узлов выбора байта — с первым, входом блока байтов и циклов, а со входом
1 анализа состояния третьего узла выбора бай- та соединен шестой вход блока байтов и цик лов, узел блокировки второго цикла, с пер- вым и вторым входами которого соединены вторые выходы первого- и второго узлов выбора байта соответственно, со входом анализа состояния узла блокировки второго цикла соединен седьмой вход блока байтов и циклов, восьмой вход которого соединен с входом анализа модификации узла блокировки второго цикла, выход которого соединен с соответствующими входами первого, второгО и третьего узлов выбора байта, причем со входом анализа состояния первого узла выбор ра байта соединен четвертый, а с входом анализа состояния второго узла выбора бай» та — пятый вход блока байтов и циклов, узел циклов локальной памяти, вход которого соединен со вторым входом блока байтов
525956
19 и циклов, а выход является четвертым выходом этого блока.
3. Процессор по пп. 1 и 2, о т л и ч аю и и и с я тем, что буферный запоминающий блок содержит селекторрегистров, вы- 5 ход которого является выходом буферного запоминающего блока, многофункциональный регистр, выход которого соединен с первым информационным входом селектора регистров, второй информационный вход которого явля- 10 ется вторым информационным входом буферного запоминающего блока, узлы занесения из арифметического блока, блока передач данных и блока постоянной памяти; с управляющим входом которого соединен триггер приема, входы установки в нуль и единицу которого соединены соответственно с первым и вторым управляющими входами буферного запоминающего блока, первый, второй и третий информационные входы многофункциональ- 20 ного регистра через узлы занесения из арифметического блока, блоков передач и постоянной памяти соответственно соединены с третьим, четвертым и первым информационными входами буферного запоминающего блока, с четвертым и пятым управляющими входами которого соединеныпервые управляющие входы узлов занесения из арифметического блока и блока передач соответственно, вторые управляющие входы которых, а также управляющий вход селектора регистров соединены с третьим управляющим входом буфер- . ного запоминающего блока.
Источники информации, принятые во внимание при экспертизе:
1. Патент США № 3500337, кл. 340172.5, 1970 г.
2. Хассон С. Микропрограммное управление. Вып. 2, М, 1974 r., стр. 44-143 (Процессор мод. 40 системы 1ВМ/360).
525956
Составитель И. Хазова
Редактор E. Гончар Техред А. Богдан Корректор Л. Борииская
Заказ 5 144/485 Тираж 864 Подписное
IIHHHIIH Государственного комитета Совета Министров СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская иаб., д.4/5
Филиал ППП Патент, r. Ужгород, ул. Проектная, 4