Процессор с микропрограммным управлением Советский патент 1976 года по МПК G06F15/20 G06F9/14 

Описание патента на изобретение SU525956A1

1

Изобретение относится к цифровой вычислительной технике.

В большинстве моделей вычислительных систем используются процессоры с микропрограммнь М управлением l Эти процессоры содержат оперативную память, постоянную память, блок регистров, арифметико-логический блок, связанные системой информационных и управляющих шин. Повышение быстродействия известных процессоров достигается обычно путем расширения разрядности устройств и информационных шин, что увеличивает объем информации, обрабатываемой за один машинный такт, и применения различных способов совмещения. Однако увеличение раз рядной сетки требует увеличения аппаратуры обработки данных, использование же совмещения значительно усложняет управление, тогда как простые методы совмещения не дают необходимого повышения быстродействия.

Из известных процессоров наиболее близким к данному является процессор, содержащий блок постоянной памяти, выход которого через последовательно соединенные формирователь адреса, связанный с выходом регистра переадресации, и регистр состояний соединены с первым выходом дешифратора yiipaB, состояниями, а выход блока постоянной иа.хшти сединен с входами регистра управления счетчиками, регистра управления состояниями,регистра управления вводом и БЬ-ВОДОМ информации блока передач данных, регистра управления выводом информации из арифметического блока, регистров управления первым и вторым коммутаторами, регистра адресации блока локальной памяти. Выходы этих блоков соединены с соответствующими дешифраторами, выходы каждого из которых, кроме первых двух, соединены соответственно с первым управляющим входом блока передач данных, вторыми входами уз.лов приема из блока передач данных и арифметического блока, первыми управляющими входами первого и второго коммутаторов и с первым входом адресного регистра. Выход блока постоянной памяти соединен с входами триггера альтернативного разряда и регистра переадресапии, блок оперативной памяти, вход и выход которого соед1гнень с первыми входом и выходом регистра данных, второй и третий входы которого соединены соответственно с вь ходом арифметического блока и блока передач данных и через узлы приема из тичэского блока и блока передач данных -с первым и Вторым входами блока регистро Выход этого блока соединен с первым инфор мационным входом блока передач данньгх и с первыми информационными входами первог и второго коммутаторов, выходы которых со единены с первыми и вторыми в ходами арифметического блока, блок локальной памяти, первый вход и выход которого соединены со ответственно с выходом и третьим информационным входом блока передач данных, а вт рой вход - с выходом адресного регистра 2 Однако неполное использование быстродействия арифметического блока и локально памяти снижает общее быстродействие процессора. Цель изобретения повышение быстроде ствия микропрограммного процессора. Достигается это тем, что процессор содержит блок байтов и циклов, первый и второй выходы которого соединены с вторыми управляющими входами первого и второго коммутаторов, третий выход - с вторыд 1 вхо дом узла приема из арифметического блока и первым управляющим входом регистра дан , а четвертый вы:сод - с вторым управляющим входом блока передач данных, вторыми входами адресного регистра и узла приема из блока передач данных, регистр байтов и циклов, вход которого соединен с выходом блока постоянной памяти, а первый второй и третий выходы соединены соответ-ственно с первым, вторым и третьим входами блока байтов и циклов, четвертый, пятый шестой, седьмой и восьмой входы которого соединены соответственно с первым, вторым и третьим выходами блока счетчиков номера байта, выходом счетчика длины операнда и через соответствующий дешифратор с выходом регистра управления счетчиками; буферный запоминающий блок, первый, второй, третий и четвертый информационные входы которого соединены соответственно с выходом блока оперативной памяти, первым выходом регистра данных, выходом арифметического блока и выходом блока передач данных, а первый, второй, третий, четвертый и пятый управляющие входы подключены соответственно к nepsoivty и второму выходам дешифратора управления состояниями, выходу триггера альтернативного разряда, к третьему и четвертому выходам блока байтов и циклов, выход буферного запоминающего блока соединен с вторым информационным входом блока передачи данных и вторь/ми информационными входами первого и второго коммутаторов. Б.лок байтов и циклов содержит первый, второй и третий узлы выбора байта, первые вы.;,сл:о1 которых являются соответственпо перьым вгорым и выходами блока байтов v циклов, зходы управления байтовым ре лимом всех трех узлов выбора байта соединены с третьим входом блока байтов и циклов, входы управления циклами функции узлов выбора байта с первым входом блока байтов и циклов, а с входом анализа состояния третьего узла выбора байта соединен шестой вход блока байтов и циклов, узел блокировки второго пикла, с первым и вторым входами которого соединены вторые выходы первого и второго узлов выбора байта соответственно, с входом анализа состояния узла блокировки второго цикла соединен седьмой вход блока байтов и циклов, восьмой вход которого соединен с входом анализа модификации узла блокировки второго цикла, выход которого соединен с соответствующими входами первого, второго и третьего узлов выбора байта, причем с входом анализа состояния первого узла выбора байта соединен четвертый, а с входом анализа состояния второго узла выбора байта - пятый входы блока байтов и циклов, узел циклов локальной памяти, вход которого соединен с вторым входом блока байтов и циклов, а вьгход является четвертым выходом этого блока. Кроме того буферный запоминающий блок содержит селектор регистров, выход которого является выходом буферного запоминающего блока, многофункциональный регистр, выход которого соединен с первым информационным входом селектора регистров, второй информационный вход которого является вторым информационным входом буферного запоминающего блока, узлы занесения из арифметического блока, блока передач данных и блока постоянной памяти, с управляющим входом которого соединен триггер приема, входы установки в нуль и единицу которого соединены соответственно с первым и вторым управляющими входами буферного запоминающего блока. Первый, второй и третий информационные входы многофункционального регистра через узлы занесения из арифметического блока, блоков передач данных и постоянной памяти соответственно соединены с третьим, четвертым и первым информационными входами буферного запоминающего блока, с четвертым и пятым управляющими входами которого соединены первые управляющие входы узлов занесения из арифметического блока и блока передач74 данных соответственно, вторые управляющие входы которых, а также управляющий вход селектора регистров соединены с третьим управляющим входом буферного запоминающего блока. В процессоре быстродействие повышается за счет двойного обращения к а{$ифметическому блоку и блоку локальной памяти в одном мащинном такте, а также за счет частичного совмещения выборки двух последовательно расположенных команд из блока оперативной памяти. Двухцикловая работа арифметического блока и локальной памяти факти чески вдвое увеличивает разрядную сетку процессора. На фиг. 1 изображена схема процессора с микропрограммным управлением; на фиг. 2схема блока байтов и циклов; на фиг. 3 схема буферного запоминающего блока; на фиг. 4 - временная диаграмма его работы; на фиг. 5 - схема узла выбора байта и на фиг. 6 - схема узла блокировки второгоцикла. Выход блока оперативной памяти 1 (см. фиг. 1) подключен к первому входу регистра данных 2 и к первому информационному входу 3 буферного запоминающего блока 4. Выход регистра данных 2 соединен с входом блока оперативной памяти 1 и с вторым информационным входом 5 буферного запоминающего блока 4. Выход арифметического блока 6 подключен к третьему информационном входу 7 буферного запоминающего блока 4 и к третьему входу регистра данных 2, а также через узел 8 приема из арифметичес кого блока - к первому входу блока регист ров 9. Выход блока 10 передач данных соединен с информационным входом блока локальной памяти 11, с вторым входом регистра данных 2, с четвертым информационным входом 12 буферного запоминающего блока 4 и через узел 13 приема из блока передач данных - с вторым входом блока регистров 9, выход которого подключен к первым информационным входам блока 1О передач данных, первого коммутатора 14 и второго коммутатора 15. Выход блока локальной памяти 11 соединен с вторым информационным входом блока 1О передач данных, а к третьему информационному вхо ду этого блока и к вторым информационным входам первого 14 и второго 15 коммутаторов подключен выход буферного запоминающего блока 4. Выходы первого 14 и второго 15 коммутаторов соединены с первым и с вторым входами арифметического блока 6 соответственно. Выход блока постоянной памяти 16 в регистре микрокоманд 17 подключен к входам триггеров регистра 18 управления состояниями, триггера 19 альтернативного разряда, регистра 20 переадресацни регистра 21 байтов и циклов регистра 22 управление, -. ми, регистра 23 управления выво,ао; мации из блока передач, регистра 2ления выводом информации на арнфм; го блока, регистра 25 управления ncf-r: коммутатором, регистра 26 управлекг.:-; рым коммутатором, регистра 27 упрз вводом информации в блок передач ii vienOTра 28 адресации блока локальной . В iход регистра 18 управления состояниям;: соединен с входом дешифратора 29 упрзнленпя состояниями, первый выход которого ;:олк.-очен к входу регистра состояний 30, а и третий выходы - к первому 31 и второму 32 управляющим входам буферного з-лпоминающего блока 4, к третьему упраггЛй:о:цсму входу 33 которого подключен Б1-;хо;д т;-и гера 19 альтернативного разряда. Выход ;.гистра состояний 30 соединен с nepвы : дом формирователя адреса 34, к второму входу которого подключен выход регистра 2 О переадресации. Выход формирователя адоэса соединен с входом блока постоянной памяти 16. К первому 35, втopo y 36 л третьсму 37 входам блока 38 байтов и циклоз подключены, соответственно, первый, второй л третий выходы регистра 21 байтов и . с четвертым 39, пятым 40 и шестым 41 входами блока 38 байтов и циклов сос.лннены первый, второй и третий вь;ходы блока счетчиков номера байта, а к седьмому 43 и восьмому 44 входам блока 3S байте.-: ;;i циклов подключены, соответственно, выхос счетчика 45 длины операнда и через дешисЬратор 46 управления счетчиками, вь;хсд регистра 22 управления счетчиками. Выход регистра 23 управления выводом ннформал-г г из блока передач данных через дешифратор IT управления передачами подключен к первс гу управляющему входу узла 13 приема из блока передач, выходы регистров 24-28 управления вьюодом информации из арифметического блока, первым коммутатором, вторым коммутатором, входом блокапередач данных и адресного регистра локальной памяти через дещифраторы управления выводом информации из арифметического блока, первым комг утатором, вторым коммутатором, вводом информации в блок передач и адресным регистром соответственно подключены к первым управляющим входам узла 8 приема из арифметического блока, первого коммутатора 14, второго коммутатора 15, блока 10 передач данных и адресного регистра 53 соответственно. Выход адресного регистра 53 соединен с адресным входом блока локальной памяти 11. К Вторым управляющим входам первого коммутатора 14, второго коммутатора 15 и узла 8 приема из арифметического блока подключены, соответственно, первый 54, второй 55 и третий 56 выходы блока 38 байто и циклов. Третий выход 56 блока 38 байтов и циклов соединен также с четвертым управляющим входом буферного запоминающего бло ка 4 и с управляющим входом регистра дан ных 2, а четвертый выход 57 .блока 38 байтов и циклов подключен к пятому управляющему входу буферного запоминающего блока 4 и к вторым управляющим входам узла 13 приема иа блока передач, адресного регистра 53 и блока 10 передач данных. Вы ход триггера 58 однобайтной работы арифметического блока (см. фиг. 2) подключен к первым входам первого 59, второго 6О и третьего 61 узлов выбора байта.Выход триг гера 62 двух циклов локальной памяти со- единен с входом узла 63 циклов локальной памяти. Первые выходы первого 59 и второго 60 узлов выбора байта являются соответственно первым 54 и вторым 55 выходами блока 38 байтов и циклов, выход третье. го узла 61 выбора байта является третьим 56 выходом блока 38 байтов и циклов, а выход узла 63 циклов локальной памяти - четвертым 57 выходом блоке 38 байтов и циклов. Выход триггера 64 двух циклов функции подключен к вторым входам первого 59, второ.го 60 и третьего 61 узлов выбора байта. Вторые выходы первого 59 и второго 6О узлов выбора байта соединены с первым и вторым входами узла 66 блокировки второIX цикла. С третьим и четвертым входами уала 65 блокировки второго цикла соединены выход 43 счетчика 45 длины операнда И выход 44 дешифратора 46 управления счетчиками. К первому, -второму и третьегу у входам кгаЬгофункционально1Х регистра 66 (см. фиг. 3) через узлы и 69 занесения из арифметического блока, блока передач и постоянной памяти соответственно подключены выходы 7, 12 и 3 этих уст ройств. К управляющему входу узла 69 за несения из памяти подключен единичный вь:ход триггера 7О занесения из памяти, а входы установки в нуль и в единицу этого триггера соединены соответственно с первым 31 и вторым 32 выходами дещифрато ра 29 управления состояниями. К первым ; управляющим входам узлов 67 и 68 занесения из арифметического блока и из блока передач подключены третий 56 и четвертый 57 выходы блока 38 байтов и циклов соответственно. С первым и с вторым информационными входами селектора регистров 71 соединены соответственно выход мно гофункционального регистра 66 и выход 5 югистра данных 2. К управляющему входу селектора регистров 71, а также к вторым управляющим входам узлов 67 и 68 занесе ния из арифметического блока и блока передач данных подключен выход 33 триггера 19 альтернативного.разряда. Выход селектора регистров 71 является выходом буферного запоминающего блока 4. В блоке оперативной памяти 1 хранятся команды программы и операнды команд R1,RX,RS и SJ или SS форматов. Быстродействующая локальная память 11 служит для хранения операндов фиксированной длины для команд , (ЭХ, RS форматов, базовых и индексных адресов для команд , и S S форматов, а также промежуточных операндов и служебной информации. Вьтолнение каждой команды состоит из двухфаз. Первая фаза - выборка команды, в течение которой происходит считывшше очередной команды из блока оперативной памяти 1 в четырехбайтный регистр данных 2, базировка и индексация адресов операндов, размещение основной информации о команде по узлам и блокам процессора (например, формирование кода длины команды в регистре состояний 30, занесение адресов операндов в соответствук щие регистры блока регистров 9, запись информации о длине операндов в счетчик 45 длины операндов и т.д.). Выборка и выполнение всех команд производится микропрограммами, расположенными в блоке постоянной памяти 16. В конце фазы выборки гю коду операции каждой команды определяется адрес в блоке постоянной памяти 16, с которого начинается микропрограмма обработки операндов для данной команды. Вторая фаза выполнения команды - обработка операндов. Перед этой фазой операнды либо уже прочитаны из блока локальной памяти 11 и занесены в блок регистров 9, либо подготовлены адреса операндов в блоке оперативной памяти 1 или блоке локальной памяти 11. Арифметический блок 6 в фазе обработки операндов осуществляет прием операндов через первый и второй двухбайтные коммутаторы 14 и 15 и арифметическую или логическую их обработку с последующей пересылкой результата через узел 8 приема из арифметического блока в блок рвгистров 9. Затем результат через двухбайтный блок 10 передачи данных может быть записан в блок локальной памяти 11 или через регистр данных 2 - в блок.оперативной, памяти 1..- За время одного машинного такта (см. фиг. 4) в процессоре выполняется одна микрокоманда. Ее выполнение синхронизируется четырьмя разнесенными во времени синхроимпульсами: СИ1. СИ2, СИЗ, СИ4, которые вырабатываю-гся в течение одного машинного

9 такта, а также импульсами первого полутак та ПТ1 и второго полутакта ПТ2. В каждом машинном такте микрокоманда считывается из блока постоянной памяти 16 по адресу, сформированному формирователем адреса 34 из содержимого регистра 20 переадресации и регистра состояний 30 в регистр микрокоманд 17, управляющие поля этого регистра преобразуются дешифраторами 29, 46-52 в набор микроопераций, управляющий действиями в данном мащинном такте. За один машинный такт процессор мо жет обработать до четырех байтов информации. Полный цикл чтения и регенерации опера тивной памяти 1 составляет четыре мащинных такта П-(п + 5) (см. фиг. 4), при этом адрес считанного слова из четырех байтов соответствует целочисленной границе для слова (два младщих разряда адреса при дешифрации не учитываются). Микрооперация чтения ЧТ, вырабатываемая в данном мащинном такте ( п, ), вызывает считывание информации, которая принимается в регистр данных 2 в конце следующего мащинного такта ( П 1 ). Микрооперация регенерации РГ запускает оперативную память на запись (в такте П +2), что приводит к занесению информации в нее к концу такта ( П +3). При чтении операндов переменной длины должен адресоваться каждый байт, поэтому нужный байт информации может быть считан в любой (нулевой, первый, второй или третий) байт регистра данных 2. Арифметический блок 6 имеет разрядность два байта и в течение одного машинного такта выполняет два цикла обработки операндов. При работе в режиме двух циклов функции, определяемом регистром 21 байтов и циклов, прием информации в первый и второй 15 коммутаторы выполняется дважды за один машинный такт - по СИ1 и СИЗ; занесение выхода арифметического блока и признаков результата обработки (перенос, переполнение, нуль результатаи т.д.) происходит также дважды - по СИ2 и СИ4. При работе в режиме одного цикла функции прием информации во входные коммутаторы происходит только по СИ1, а занесение выхода арифметического блока 6 и признаков результата - по СИ2. Каждая ячейка блока локальной памяти 1 содержит два байга. В течение одного маши ного такта может быть выполнено одно или два обращения к блоку локальной памяти 11 и прочитано или записано два или четыре йта данных.

10 Блок регистров содержит группу четырех байтных регистров общего назначения, используемых для хранения считанных из блока оперативной памяти 1 или блока локальной памяти 11 операндов, а также один (два) адресных регистров, используемых для хранения адреса команды и(или)адресов операндов. Передачей информации необходимых регистров на входные коммутаторы арифметического блока 6 блока передач 10 и приемом в них информации с выхода этих блоков управляют соответственно регистры 25,26,27 и 24,23 через дешифраторы 49,50,51 и 48, 47. Рассмотрим работу процессора при выполнении команд формата S S . Данные переменной длины могут располагаться в блоке оперативной памяти 1 с любого адреса, и обработка их должна вестись побайтно. Два младших разряда адреса каждого операнда определяют номер обрабатываемого байта в слове блока оперативной памяти 1. После выборки команды адреса операндов находятся в блоке регистров 9 (см.фиг. 1), указатель длины операндов - в счетчике 45 длины операндов, а два младщих разряда адресов первого и второго операндов - в блоке 42 счетчиков номера байта. Фаза обработки операндов начинается с чтения из блока оперативной памяти 1 второго операнда в регистр данных 2. Затем содержимое регистра данных 2 пересылается в один из рабочих регистров блока регистров 9 через буферный запоминающий блок 4, блок 1О передач данных и узел 13 приема из блока передачи данных и производится чтение первого операнда. Данные переменной длины обрабатываются побайтно, но арифметичес. й блок 6 может за один мащинный такт выполнить функцию обработки дважды, поэтому в регистр 21 байтов и циклов триггер 58 однобайтной работы арифметического блока и триггера 64 двух циклов функции установлены в единичное состояние. Блок 38 байтов и и циклов, учитывая содержимое регистра 21 байтов и циклов, выдает в первый коммутатор 14 (с выхода 54) и во второй коммутатор 15 (с выхода 55) управляющие сигналы, по которым по синхроимпульсу СИ1 в младший байт первого коммутатора 14 из регистра данных 2 (он вьщается на первьп коммутатор по сигналу с дещифратора 49) через буферный запоминающий блок 4 передается байт данных, номер которого в слове оперативной памяти (а значит и в регистре 2) определяется одним из счетчиков блока 42 счетчиков номера байта (счетчиком первого входа). В младший байт второго коммутатора 15 также по синхроимпульсу СИ1 из бло11ка регистров 9 {по сигналу с выхода дешиф ратора 30) заносится байт второго операнда, причем номер этого байта в слове задан счегч1.ком второго входа из блока 42 счетчико номера байта. После завершения обработки бай та операндов байт результата по синхроимпульсу СИ2 передается в байт регистра дан ных 2, номер которого определен счетчиком выхода из блока 42 счетчиков номера байта. Затем в зависимости от направления об работки (от старших к младшим или наоборот) выполняется модификация всех счетчиков в блоке 42 счетчиков номера байта на плюс или минус единицу, а также модификация счетчика 45 длины операнда. По синхр импульсу СИЗ в младшие байты первого коммутатора 14 и второго коммутатора 15 заносятся следуюш;ие байты первого и второго операндов. Функция- обработки повторяется еще раз и байт результата по синхроимпульсу СИ4 заносится в регистр данных2 По завершении обработки слова (исчерпан один из счетчиков входов или оба вместе) производится запись результата в оператив ную память 1 и считывание следуюшего слова Второго и (или) первого операндов. Обработка операндов продолжается до тех пор, пока не исчерпается счетчик 45 длины операнда. При всех передачах инфюрмации на входные коммутаторы арифметического блока 6 и при передачах результата обработки в блок регистров 9 или в регистр данных 2 блок 38 байтов и циклов по содержимому счетчиков выбирает нужные байты первого и второго операндов и производит их передачу в младшие байты входных коммутаторов, а результат обработки пересыпает в нужный байт регистра блока регистров 9 или регистра данных 2. При этом первый узел 59 (см. фиг. 2) выбора байта управляет занесением информации в первый коммутатор 14, второй узел 6О вы бора байта управляет занесением во второй коммутатор 15, третий узел 61 выбора байта управляет занесением выхода арифметического блока 6 в регистр дан ных 2, в буферньш запоминающий блок 4 и в блок регистров 9. Узлы выбора байта построены однотипно (см. фиг. 5). Ка вход дешифратора 72 номера байта поступают сигналы с выхода блока 42 счетчиков номера байта (например, для первого узла 59 выбора байта это будет сигнал с выхода 39), Дешифратор 72 номера байта будет вьфабатывать т1равляющие сигналы только при наличии разрешаюшего потенциала на входе 37 управления байтовым режимом (триггер 58 однобайтной работы арифметического

12 блока на фиг. 2 установлен в единичное состояние). При использовании данного узла в качестве первого 59 или второгО 6О узла выбора байта скгяал на выходе элемента И 73 в однобайтно;. режиме разрешает занесение в младший байг входного коммутатора третьего байта из слоза данных. Сигнал на выходе элемента И 74 разрешает занесение второго байта из слова данных в младший байт входного коммутатора, элементов И 75 и 76 занесение первого и нулевого байта. На вторые входы элементов И 73 - 76 подается сигнал с выхода элемента ИЛИ 77, который вырабатывается по потенциалу первого полутакта (ПТ1), поступающему на вход 78, иди по потенциалу второго полутакта (ПТ2), поступаюшему на вход 79, и отсутствии сигнала блокировки Второго цикла на входе 80 элемента И 81. Сигналом блокировки второго цикла предусматривается возможное достижение границы одним иа счетчиков блока 42 счетчиков номера байта или счетчиком 45 длины операнда после завершения первого цикла арифметического блока 6 при заданном двухцикловом режиме работы (т.е. когда триггер 64 двух циклов функций установлен в единичное состояние (см. фиг. 2). Потенциалы ПТ1 и ПТ2 вырабатываются блоком синхронизации процессора, не показанным на схемах. При выполнении команд с one рандами фиксированной длины обработка их выполняется в двухбайтном режиме (т.е. триггер 58 находится в нулевом состоянии). В первом цикле работы арифметического блока 6 (на входе 78 присутствует потенциал полутакта ПТ1) на выходе элемента И 73 вырабатывается сигнал занесения третьего байта из слова данных в младший байт входного коммутатора и одновременно на выходе 82 вырабатывается сигнал нанесения второго байта из слова данных в старший байт входного коммутатора, т.е. в первом цикле по сигналу ПТ1 на входе 78 срабатывает элемент И 83, так как на входе 37 отсутствует сигнал однобайтного режима работы. Во втором цикле срабатывает элемент И 84, на входы которого поступает сигнал двухбайтного режима работы с элемента НЕ 85, потенциал полутакта ПТ2 (по входу 79) и сигнал с триггера 64 (см. фиг. 2) двухцикловой работы (по входу 35). На выходе элемента И 75 и на выходе 86 вырабатываются сигналы занесения первого и нулевого байтов из слова данных в младший и старший байты входного коммутатора. Управляющие сигналы с выходов дешифратора 72 и с выходов элементов И 83 и 84 объединяются элементамк ИЛИ 87 и 88. Выходы 89 и 90 уаяоБ выбора байта подключены к входам узла G5 блокировки второго цикла. Сигналы ка этих выходах появляются в тех , кот да какой-дибо счегчик выходов из блока 42 счетчиков номера байта достигает транкчк: го значения. Узел блокировки Вт;;,,ао (см, фпГ. б) вьщает сигаал го цикла на выход 80 в тех с.иучаих. . один из счетчиков входов досгн нзпевого значения (на одном из входов 89 злег екта ИЛИ 91 высокий потенциал) и обра;-.от-ка операндов ведется от старших к чтадшим байтам. Если счетчики модифицяруктся на плюс единицу, то по Bxonv ч -niu -гер 92 модификации счетчиков усладовлен в единичное состояние и срабатыБг, . мент И 93. Если модификация счетчякг/г, выполняется на минус единицу, то п;; зуоду 44 триггер 92 модификаили оче чпк.с;:-. установлен в нулевое состояние и, кг один из счетчиков принимает значенз;, авное трем, на одном из входов ЭО чоч/елта ИЛИ 94 появится сигнал, который приведет к срабатыванию элемента И 95, Сиг налы модификации на плюс и минуг; единицы, поступающие :-:а вход 44, вырабэты&- ются дешифратором 46 управг:;ения счотчлками. Если обработка операн,поБ npoBo,i:;iT ся с использованием счетчика 45 длин;операнда (в командах SS фоу):-лата,;, триггер 96 по любому сигналу ( плюс HJ н минус) на входе 44 устанавливаэтся в единичное состояние, и появление на ЕХО де 43 анализа состояния счетчика длины операнда сигнала ревенства нулю счетчика длины 45 приводит к ,срабатыванию- эле- мента И 97 и выдаче сигнала б;1окг;ровк1 В орого цикла с выхода ВО пемечта ИГ, Р8 Узел 63 (см. фиг. 2) ци----г - чл-нмьйчч памяти пр I единичном состояниг; точггепа 62 двух цикди:;, длока локальной вырабатывает упра; ляющий сигнал, рзарешаюшкн двойное считывание из блокгд по&впьго гамяти 11 Б течение одного машинного такта, При этом в адресный регистр 53 (см. срнгЛ выдается сигнал модификации адреса блока локальной памяти 11 для с-гитГТванья за писи двух последовательных по-пу-лс: ; в блок 10 передач данных - сигна;: разрешения двойной в течение такта передачи полуслов данных, в буферный еапомкнауодднй блск4 и в узел 13 приема из блока пеоедьч - ддгнал разрешения двойного Б аченкс ;v;al.jИннO го тактд приема данных из 10 пппедач дакнг:1х. Так как чтение информации иг блоке сдк ративнчой памяти 1 происходит цельт;дд сдч-ва ми, а команда состоит из одна:гО; д,ь--:д . . ,,-,.., ... . , . ,,,-.,. ..--г. -.-Ai-ix ог;-, р, .:л-- ;: : . vn --ьо ,---о.Х -истг: ; .,,: , ,- :-;-- ,-, г.-, ic. - с--ч-- ctf -c y-A-r-r , : К - ч s J.---i со i jtij.-.j, :,:.-.-с, ,, : г: , ,,,;. , - . .--члшгь- - а,чн --ibFti v; ai:d -с - -к : icv. .-1) , ,,:-VHP .-.:- ;...-:, ,г .:.- - с.--; ; %T:xf;-i-i-j-,., .пелес: :-,; -г- с -;м,.--5 -i,- ч;о- Di.i.Gnovrj, i- j-c,;..- ;тс-. . Стую- л-ю кг..ар--;, р ,,, ,.,. ,-- , , .-TI VICI-.-M тпопагивчой ; irii- - ., : v4io-:, ,. - . ,. :-.ч,1--. ;.- .: -: ,: : - ч; - -,-; :,ir o. c i--- :ii,/--; --- - :г ;; i, ,--г-ьи: ол.:-,;,. .г, :,-.. ;, ;-;-.;- - - , , -. - -..;о-ч- ; i.:. о Koi.oi-i .гтачс : - - :; : : ,-1--, ч г -гс:- О : c fi4v-, ,.v,:,-v.; - iiv. с- т-,- Ч:, -.- . , - ч-.г; ;, ,. ,, :ич Г-,.. i.,-.,,ч-)1ч- : ..ч-чч: .,- ч- г-ччч,. : 2 ч,:1;;дую.плеП чач : ч .ч-. чч:бхч,-ч; -- , (ч;г- -1ванин поогчдх г.п,ч ;ЧВа кпччдич- дд -ч-окс олс- латйЗ - ;дч, t и-гд--j-byi -- . кл}; это no:i-;c:ici o нахчдчгтс:я д оуфсдиюм аа;гол.ашаюшo v-ччь,.- . liooeii ЕДДССДКОЙ вьаюлдяется аЕал1 Я иелД;Дчч.; содтд дддЧ 30. д р,--дд коман,-з б ..т;ч-- .;,; ч.оччч- л - /чгдс.;. 3-; ibco;-.;n-cvt,- деччх:-ч v. м;п. дч)ч; -дчмг мыбопки кг дягтд ; чч -З-чдигд лоха -2 Вниуч-чш в бь стио„еис ддд. о, -угстп от и выполлскдд гтсчехсдд. Jon ыполиеиил команд - д.:Д.едс ч ncrnriDti состоя1л :н 30 спеакодд: ч-;. ддч;д :ч-дя й:ок;- ч с--тств1Ш бусЬд-гзсдлп код-чд :. ч ччЧ-v - еыбсч-ч-: глсдл-ю L;.2: KI. ;- гч ;-1-,1ч дд дчод: дддрчтдг Hci; гчдчТ. ; . 14 под n.p/.oojie кдл:анд1Д ,,- -,-,,- -,,- . -- ,- - -- -о.- --г, Г 1УЗ ч . . ilL. .-..Lr.-,- 44 ЧД 4i . j aoblBOЧ; L Я. -..- .,,,,, ,2 -, .-г-,- к ,,;--i- т

фер следующего слова. При этом будет считана вся команда RX, RS или ЗЗ формата, или первое слово команды SS формта, поэтому после завершения выполнения предьгцущей команды RR формата выборка следующей команды выполняется непосредственно из буфера, что дает дополнительный во времени, так как отсутствует необходимость чтения блока оперативной памяти 1 .

Для расширения функпиональных возможностей буферного запоминающего блока 4 в многофункциональный регистр 66 предусмотрены занесения с выхода 7 арифметическо- го блока 6 и из блока 10 передач данных (по входу 12), а содержимое многофункционального регистра 66 через селектор регистров 71 может быть передано на вход блока 10 передач данных, а также на входы первого 14 и втооого 15 коммутаторов Таким образом, многофункциональный регистр 66 может быть использован при выполнении команд, требующих большего количества вспомогательных рабочих регистров. При этом будут отсутствовать потери времени на запись (считывание) промежуточных операндов в блок локальной памяти 11 njiH из него. При выполнении сложных команд (например, умножение) применение многофункционального регистра 66 в качестве рабочего дает возможность почти вдвое уменьшить время выполнения этих коВремя выполнения операций в предлагаемом процессоре и в модели 40 системы 360

Операция

Сложение (вычитание) с фиксированной запятой

R R - формат

S S - формат

Умножение с фиксированной запятой

Деление с фиксированной запятой

Сложение (вьиитание) с плавающей запятой

Умножение с плавающей запятой

Деление с плавающей запято

манд при незначительном увеличении времени выборки команды, следующей за данной сложной командой.

При использовании многофункционального регистра 66 в качестве рабочего в регистре состояний 30 фиксируется отсутствие буферизации команды и выборка следующей команды выполняется из блока оперативной памяти 1. Работа с многофункциональным регистром 66 осуществляется по тем же микрооперациям, что и работа с регистром данных 2, т.е. занесение информации в эти регистры, прием информации из регистров на входные коммутаторы арифметического блока 6 и на вход блока 10 передач данных. Выбор между тем и другим регистром определяется состоянием триггера 19 альтернативного разряда. Например, при единичном состоянии этого триггера на выход селектора регистров 71 передается содержимое многофункционально го регистра 6 6,-при нулевом содержимое регистра данных 2 по входу 5. Использование небольшого объема дополнительного оборудования позволило существенно увеличить быстродействие процессора. Предварительные расчеты и моделирование показывают, что предлагаемый процессор имеет быстродействие примерно в 2 раза выше, чем прототип при сравнимом объеме оборудования. Время выполнения основных операций в предлагаемом процессоре и в модели 4О системы 36О приведено в таблице.

Время выполнения, микро/сек

предлагаемый

модель 40/360 процессор

3,5

7,5 11,8 6

86,4 176,8 27,6

259,4 128 Формула изобретения 1. Процессор с микропрограммным управ лением, содержащий блок постоянной памяти вход которого через последовательно соединенные формирователь адреса, связанный с выходом регистра переадресацрш, и регистр управления состояниями соединен с первым выходом дешифратора управления состояниями, а выход блока постоянной памяти соединен с входами регистра управления счетчика ш, регистра управления состояниями, регистра управления вводом и выводом информации блока передач данных, реп1стра управления выводом информации из арифметического блока, регистров управления пер- вым и вторым коммутаторами, регистра адресации блока локальной памяти, выходы которых соединены с соответствующими дешифраторами, и выходы каждого из которых, кро ме первых двух, соединены соответственно с первым управляющим входом блока передач данных, вторыми входами узлов приема из блока передач данных и арифметического блока, первыми управляющими входами первого и второго коммутаторов и с первым входом адресного регистра, выход блока постоЗП1НОЙ памяти соединен с входами триггера альтернативного разряда и регистра переадресации, блок оперативной Памяти, вход и выход которого соединены с первыми входом и выходом регистра данных, второй и третий входы которого соединены соответственно с выходом арифметического блока и блока передач данных и через узлы приема из арифметического блока и блока передач данных с первым и вторым входами блока регистров выход которого соединен с первым информационным входом блока передач данных не первыми информационными входами первого и второго коммутаторов, выходы которых со единены с первым и вторым входами арифме тического блока, блок локальной памяти, пер- вый вход и выход KOTOpord соединены соответственно с выходом и третьим информационным входом блока передач данных, а второй вход - с выходом адресного регистра, отличающийся тем, что, с целью повышения быстродействия, он содержит блок байтов и циклов, первый и второй выходы которого соединены со вторыми управляющими входами первого и второго коммутаторов третий выход - с вторым входом узла приема из арифметического блока и первым управл5иощим входом регистра данных, а четвертый выход - со вторым управляющим входом блока передач данных, вторыми входами адресного регистра и узла приема из блока передач данных, регистр байтов ициклов, вход которого соединен с выходом блока постоянной памяти, а первый, второй и третий выходы соединены соответственно ci первым, вторым и третьим входами блока байтов и циклов, четвертый, пятый, шс,то седьмой и восьмой входы которого соединены соответственно с первым, вторым и тр тьим выходами блока счетчиков номера байта, выходом счетчика длины операнда и 4efрез соответствующий дещифратор - с выхо4дом регистра управления счетчиками, буферный запоминающий блок, первый, второй, третий и четвертый информационные входы которого соединены соответственно с выхс 1дом блока оперативной памяти, первым выходом регистра данных, выходом арифметического блока и выходом блока передач дан ных, а первый, второй, третий, четвертый и пятый управляющие входы подключены соответственно к первому и второму выходам двшифратора управления состояниями, выходу триггера альтернативного разряда, к третьвтму и четвертому выходам блока байтов и циклов, выход буферного запоминающего блока соединен со вторым информационны 1 блока передачи данных и вторыми информационными входами первого и второго ком мутаторов. : 2. Процессор по п. 1, отличаю- , щ и и с я тем, что блок байтов и циклов содержит первый, второй и третий узлы выбора байта, первые выходы которых являются соответственно первым, вторым и третьим выходами блока байтов и циклов, входы управления байтовым режимом всех трех узлов выбора байта соединены с третьим входом блока байтов и циклов, входы управления циклами функция узлов выбора байта - с первым Iвходом блока-байтов и циклов, а со входом ; анализа состояния третьего узла выбора байта соединен шестой вход блока байтов и UHij:- лов, узел блокировки второго цикла, с пер- вым и вторым входами которого соединены Вторые выходы первого и второго узлов выбора байта соответственно, со входом анализа состояния узла блокировки второго гшклч соед1шен седьмой вход блока байтов и циклов, восьмой вход которого соединен с вхо дом анализа модификации узла блокировки второго цикла, выход которого соединен с соответствующими входами первого, второго и третьего узлов выбора байта, причем со входом анализа состояния первого узла выбо ра байта соединен четвертый, а с входом анализа состояния второго узла выбора байта - пятый вход блока байтов и циклов, узел циклов локальной памяти, вход которого соединен со вторым входом блока байтов и циклов, а выход является четвертым выхо дом этого блока. 3. Процессор по пп. 1и2, отличаю ш и и с я тем, что буферный запоминающий блок содержит селектор регистров, выход которого является выходом буферного запоминающего блока, многофункциональный регистр, выход которого соединен с первым информационным входом селектора регистров второй информационный вход которого является вторым информационным входом буферного запоминающего блока, узлы занесения из арифметического блока, блока передач данных и блока постоянной памяти, с управляющим входом которого соединен триггер приема, входы установки в нуль и единицу которого соединены соответственно с первым и вторым управляющими входами буферного запоминающего блока, первый, второй и третий информационные входы многофункционального регистра через узлы занесения из арифметического блока, блоков передач и постоянной памяти соответственно соединены с третьим, четвертым и первым информационными входами буферного запоминающего блока, с четвертым и пятым управляющими входами которого соединены первые управляющие входы узлов занесения из арифметического блока и блока передач соответственно, вторые управляющие входы которых, а также управляющий вход селектора регистров соединены с третьим управляющим входом буфер- /, ного запоминающего блока. Источники информации, принятые во внимание при экспертизе: 1.Патент США № 3500337, кл. 340172.5, 1970 г. 2.Хассон С. Микропрограммное управление. Вып. 2, М, 1974 г., стр. 44-143 (Процессор мод. 40 системы 1ВМ/ЗеО).

Похожие патенты SU525956A1

название год авторы номер документа
Процессор с совмещением операций 1982
  • Елисеев Александр Александрович
  • Мацуев Виталий Иванович
  • Петушков Александр Николаевич
  • Роговская Татьяна Ивановна
SU1138805A1
Процессор 1984
  • Лопато Георгий Павлович
  • Смирнов Геннадий Дмитриевич
  • Чалайдюк Михаил Фомич
  • Пыхтин Вадим Яковлевич
  • Асцатуров Рубен Михайлович
  • Запольский Александр Петрович
  • Подгорнов Анатолий Иванович
  • Пронин Владислав Михайлович
  • Шкляр Виктор Борисович
SU1247884A1
Устройство для управления каналами 1984
  • Запольский Александр Петрович
  • Пронин Владислав Михайлович
  • Хамелянский Владимир Семенович
  • Цесин Борис Вульфович
  • Рымарчук Александр Григорьевич
SU1372329A2
Процессор 1984
  • Асцатуров Рубен Михайлович
  • Пронин Владислав Михайлович
  • Хамелянский Владимир Семенович
  • Цесин Борис Вульфович
SU1246108A1
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью 1985
  • Пронин Владислав Михайлович
  • Пыхтин Вадим Яковлевич
  • Зильбергельд Иосиф Михайлович
  • Рымарчук Александр Григорьевич
  • Хамелянский Владимир Семенович
SU1280642A2
Вычислительная система 1977
  • Бурцев В.С.
  • Рыжов В.И.
  • Хайлов И.К.
  • Бабаян Б.А.
  • Сахин Ю.Х.
  • Никитин Ю.В.
  • Лаут В.Н.
  • Горштейн В.Я.
  • Назаров Л.Н.
  • Ялунин Е.В.
  • Жеренов А.И.
  • Пентковский В.М.
SU692400A1
Мультиплексный канал 1980
  • Аверьянова Рената Михайловна
  • Верига Маргарита Андреевна
  • Погодаев Валерий Викторович
  • Яловега Алексей Григорьевич
SU964620A1
ОТКАЗОУСТОЙЧИВЫЙ ПРОЦЕССОР С КОРРЕКЦИЕЙ ОШИБОК В ДВУХ БАЙТАХ ИНФОРМАЦИИ 2021
  • Долговязов Александр Вениаминович
  • Егоров Егор Александрович
  • Лесов Алексей Николаевич
  • Михеев Александр Александрович
  • Павлов Александр Алексеевич
  • Романенко Александр Юрьевич
  • Царьков Алексей Николаевич
RU2758410C1
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью 1985
  • Пронин Владислав Михайлович
  • Асцатуров Рубен Михайлович
  • Василевский Артур Николаевич
  • Карпейчик Виктор Владимирович
  • Мазикин Борис Викторович
  • Хамелянский Владимир Семенович
SU1405063A2
Устройство центрального управления процессора 1983
  • Никитин Анатолий Иванович
  • Зак Лариса Семеновна
  • Цуканов Юрий Петрович
  • Мегель Клавдия Ивановна
  • Засоко Александр Борисович
  • Маликова Надежда Михайловна
  • Нестерова Людмила Григорьевна
  • Игнаткин Николай Александрович
SU1136177A1

Иллюстрации к изобретению SU 525 956 A1

Реферат патента 1976 года Процессор с микропрограммным управлением

Формула изобретения SU 525 956 A1

Фие.1

Фиг. г

JJ 51

п

П.

СИ1

П+З

Фие.

Фиг. 6

4

Фиг,е

SU 525 956 A1

Авторы

Ростовцев Игорь Кириллович

Кондратьев Анатолий Павлович

Ленкова Валентина Мироновна

Ковалев Олег Семенович

Переверзева Бэлла Шепселевна

Елисеев Александр Александрович

Беляева Марина Александровна

Шандлер Инесса Григорьевна

Лиокумович Ирина Исааковна

Раецкий Александр Мустафович

Ковшик Тамара Ивановна

Гриневская Лариса Михайловна

Даты

1976-08-25Публикация

1975-01-08Подача