Микропроцессор
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(56)1. РвторскоГ 746532, кл. С видетельство СССРР 15/00, 1980. офф. Вычисе биполярных тировннии рев, с англ. - 18, с,25-36 УДАРСТВЕННЫЙ КОМИТЕТ СССДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИ ОПИСАНИЕ ИЗ У СВИДЕТЕЛЬСТВ 1) 3399267/18-. 242) 22.02.826) 15.08.83. Бюл. й 30(54) (57) 1. МИКРОПРОЦЕССОР, содержащий блок обработки данных, блок мищюпрограммного управления, блок памяти и конвейерный регистр, синхровход, первый, второй и третий выходы которого соединены соответственно с синхровходом и управляющим выходом микропроцессора, входом кода микрокоманды блока обработки данных и входом дешифрации флагов блока микропрограммного управления, вход начальной установки, адресный выход вход управления переходами) вход) признаков и выход признаков блока микропрограммного управления подключены соответственно к входу начальной установки микропроцессора, адресному входу и первому выходу блока памяти, выходу переноса и входу переноса блока обработки данных, синхровход, информационный вход,ин,801035610 А формационный выход и адресный выход которого соединены соответственно с синхровходом, информационным входом, информационным выходом и адресным выходом микропроцессора, о тл и ч а ю щ и й с я тем, что,с целью повышения производительности, он содержит коммутатор, два элемента И и элемент ИЛИ, первый, второй и третий входы и выход которого подключены соответственно к выходам первого и второго элементов И, управляющему выходу блока микропрограм-, много управления и управляющему входу коммутатора, первые и вторые входы элементов И соединены соответственно с вторым выходом блока памя ти и выходом переноса блока обработки данных, при этом первый и второй информационные входы и выход коммутатора подключены соответственно к третьему выходу блока памяти, управляющему входу микропроцессора и инфор" мационному входу конвейерного регистра2. Микропроцессор по п.1, о тл и ч а ю щ и й с я тем, что блокмикропрограммного управления содержит регистр адреса, дешифратор Функций,две группы элементов И, группу триггеров, элемент ИЛИ, элемент НЕ, дешифратор переходов и группу селекторов, первые и вторые информационные входы, управляющие входы и выходы которых соединены соответственно с входом управления переходами блока, выходами. регистра адреса, выходами дешифратора переходов и информационными входами регистра адреса, синхровход, установочный ,ход и выходы регистра адреса подключены соответственно к синхровхоСоставитель ГРедактор Я.Алексеенко Техред К,Мыцьо итал рректор И. Ватруакина Подписн иал ППП "Патент", г. Ужгород,ул, Проектна осудар делам Москва Тираж 06венного комитета СССР зобретений и открытий Ж, Раушская наб., д1035610 ду, входу начальной установки и адресному выходу блока, один из выходовдешифратора переходов соединен с входом элемента НЕ, выход которого подключен к управляющему выходу блока,вход дешифратора переходов совдиненс входом управления переходами блока,информационные входы, синхровходы ивыходы триггеров грппы подключенысоответственно к входу признаков блока, выходам соответствующих элементовИ первой группы и первым входам соответствующих элементов И первой Изобретение относится к вычисли"тельной технике и может быть использовано для обработки данных в системах управления.Известен микропроцессор, содержащий 5центральный блок обработки данных,блок микропрограммного управления,блок микропрограммной памяти, конвейерный регистр, два регистра и элемент НЕ 13ОНедостатком данного устройстваявляется низкая производительность,обусловленная тем, что при выполнении каждого условного перехода непроизводительно тратится одинмикрокомандный цикл,Наиболее близким к предлагаемомупо технической сущности являетсямикропроцессор, который содержит центральный блок обработки данных, блокмикропрограммного управления, конвейерный регистр, блок микропрограммной памяти. В известном микропроцессоре используется "конвейерный"принцип выполнения микрокоманд, который заключается в том, что в одном микрокомандном цикле одновременно с выполнением текущей микрокоманды, находящейся на конвейерномрегистре, производится выборка следующей микрокоманды. При этом выборка микрокоманды опережает нацикл ее выполнение 1 21,Однако при выполнении условныхпереходов следующая после условного . 35перехода ., микрокоманда выбираетсяраньше, чем формируются логические группы и первым входам соответствующих элементов И второй группы, первые входы элементов И первой группы соединены с синхровходом блока, вход и выходы дешифратора Функций подключенысоответственно к входу дешифрации Флагов блока и вторым входам соответствующих элементов И первой и второйгруппы, входы элемента ИЛИ соединеныс одним из выходов дешифратора функций и выходами элементов И второй группы, а выход элемента ИЛИ подключен к выходу признаков блока,условия, определяющие направление перехода.Поэтому при каждом условном переходе в микропрограмме предусматривается "холостая" микрокоманда, выполняющая функцию задержки на один цикл. Наличие "холостых" циклов при выполнении микропрограмм снижает производительность данного микропроцессора. 1 сли учесть,что в реальных микропрогоаммах один условный переход приходится в среднем на 5-7 выполняемых микрокоманд,то 15-202 времени работы микропроцессора тра 1 ится непроизводительно.Цель изобретения - повышение производительности микропроцессора.Поставленная цель достигается тем, что в микропроцессор, содержащий блок обработки данных, блок микропрограммного управления, блок памяти и конвейерный регистр, синхровход, первый, второй и третий выходы которого соединены соответственно с синхровходом и управляющим выходом микропроцессора, входом кода микрокоманды блока обработки данных и входом дешифрации флагов блока микропрограммного управления, вход начальной установки, адресный выхоа, вход управления переходами, вход признаков и выход признаков блока микропрограммного управления подключены соответственно к входу начальной установки микропроцессора, адресному входу и первому выходу блока памяти, выходу переноса и входу1035 610 25 3переноса блока обработки данных, синхровход, информационный вход,информационный выход и адресный выход которого соединены соответственно с синхровходом, информационным входом, информационным выходом и адресным выходом микропроцессора, введены коммутатор, два элемента И и элемент ИЛИ, первый, второй и третий входы и выход которого подключены соответ ственно к выходам первого и второго элементов И, управляющему выходу блока микропрограммного управления и управляющему входу коммут. тора, .первые и вторые входы элементов И 15 соединены соответственно с вторым выходом блока памяти и выходом переноса блока обработки данных, приэтом первый и второ". информационные входы и выход коммутатора подключе ны соответственно к третьему выходу блока памяти, управляющему входу микропроцессора и информационному входу конвейерного регистра. При этом блок микропрограммного управления содержит регистр адреса, дешифратор Функций,две группы элементов И, группу триггеров, элемент ИЛИ, элемент НЕ, дешифратор переходов и группу селекторов, первые и вторые информационные входы,. управляющие входы и выходы которых соединены соответственно с входом управления переходамн блока, выходами регистра адреса, выходами дешиф- ратора переходов и информационными входами регистра адреса, синхровход, установочный вход и выходы регистра арреса подключены соответственно к синхровходу, входу начальной установ ки и адресному выходу блока, один из выходов дешифратора переходов соединен с входом элемента НЕ, выход которого подключен к управляющему выходу блока, вход дешифратора переходов соединен с входом управления переходами блока, информационные вхо. ды, синхровходы и выходы триггеров группы подключены соответственно к входу признаков блока, выходам со ответствующих элементов И первой группы и первым входам соответствующих элементов И второй группы, первые входы элементов И первой группы соединены с синхровходом бло ка, вход и выходы дешифратора функций подключены соответственно к входу дешифрации Флагов блока и вторым входам соответствующих элементов И первой и второй группы. входы элемента ИЛИ соединены с однимиз выходов дешифратора функций и выходами элементов И второй группы,а выход элемента ИЛИ подключен квыходу признаков блока.При таком решении микрокомандасодержит признак условия, в которомуказывается наиболее вероятноезначение логического условия, покоторому выполняется условный переход. Если реальное значение условия совпадает с указанным в призна-.ке условия, условный переход выполняется без "холостого" цикла. В слу"чае несовпадения при выполнении условного перехода "холостой" цикл присутствует. Это позволяет большинство условных переходов выполнятьбез потери производительности микропроцессора.,На фиг. 1 представлена структурная,схема микропроцессора; на фиг.2 "функциональная схема блока обработки данных; на Фиг.3 - функциональная схема блока микропрограммногоуправления; на фиг.4 - функциональ"ная схема коммутатора; йа фиг.5 - ал"горитм конкретной микропрограммы;на Фиг.6 - временные диаграммы выполнения микропрограммы. Микропроцессор содержитфиг.1) блок 1 обработки данных, информационный вход 2 которого является инФормационным входом микропроцессора а выходы 3 и 4 - соответственно адресным и информационным выходами микропроцессора, блок 5 микропрограммного управления, вход 6. начальной установки которого является одноименным входом микропроцессора, конвейерный регистр 7, выход 8 которого является управляющим выходом устройства, блок 9 памяти, коммутатор 1 О, первый информационный вход 11 которого является входом микропроцессора, элементы И 12 и 13, элемент ИЛИ 14.Вход 15 является синхровходом микропроцессора. Выход 16 переноса блока 1 соединен с входом 17 признаков блока 5, с входом элемента 12 и инверсным входом элемента 13. Выход 18 признаков лака 5 соединен с входом 19 переноса блока 1, управляющий выход 20 блока 5 - с входом элемента 14, адресный выход 21 блока 5 - с адресным входом блокв 9. ПерНа Фиг.бс 1, б даны временные диаграммы выполнения алгоритма этой микропрограммы, где показаны синхроимпульсы 68 на входе 15 микропроцессора, коды 69 микрокоманд на выходе блока 9, коды 70 микрокоманд на выходе регистра 7, сигнал 71 условия на входе 17 признаков блока 5, сигнал 72 на выходе 20 блока 5, сигнал 73 начальной установки на входе 6 микропроцессора, код НОР холостой" микрокоманды. 45Для оолее четкого понимания работы микропроцессора рассмотрим выполнение им микропрограммы, алгоритм ко" торой показан на фиг,5. Работа устройства производится в соответствии с временными диаграммами, приведенными на фиг.ба,б. Для установки микропроцессора в исходное состояние на вход б подается сигнал 73. По этому сигнал регистр 53 блока 5 устанав ливается в "0", По нулевому адресу, установленному на выходе 21 блока 5, из этого блока выбирается микрокоман 35 40 7 1035дами занесения группы триггеров 55,выходы которых соединены с входами группы элементов 57. Выходыгруппы элементов 57 соединены с входами элемента 62. Выходы регистра 53 5являются адресными выходами 21 блока5 и соединены с входами элементов 61.Коммутатор 10 ( фиг,4) содержитэлемент НЕ 64, группы элементов И 65,66 и элементов ИЛИ 67 Первые входыгруппы элементов бб представляютсобрй первую информационную группувходов 11 коммутатора 10. Вторые входы группы элементов бб соединены между собой и с выходом элемента 64.Первые входы группы элементов 65 являются второй группой информационныхвходов 23 коммутатора 10. Вторыевходы группы элементов 65 соединенымежду собой, а также с входом элемента 64 и управляющим входом 26 коммутатора 1 О. Входы каждого. элемента67 соединены поразрядно с выходамиэлементов 65 и бб, Выходы группыэлементов 67 являются выходами коммутатора 10.На фиг.5 приведен алгоритм микропрограммы, на примере выполнения которого поясняется принцип работы микропроцессора. Символами М обозначены отдельные микрокоманды, а символом А - проверяемое условие,да М 1. Каждая микрокоманда содержит операционную и адресную части, а также одноразрядный признак условия. Признак условия поступает на входы элементов 12 и 13, Операционная часть микрокоманды поступает на вход 23 коммутатора 1 О,а адресная часть - на вход 22 блока 5. Адресная часть микрокоманды состоит из двух полей- адресного поля и поля управления переходами. Сигналы, соответствующие адресному полю, поступают на входы групп элементов 60. Сйгналы,соответствующие полю управления переходами, поступают на вход дешифратора 58. В поле управления переходами адресной части микрокоманды М 1 задается безусловный переход к микрокоманде М 2. Поэтому единичный сигнал вырабатывается на одном из выходов, кро; ме первого, дешифратора 58. Этим сигналом разрешается прохождение кода адресного поля через одну из групп элементов 60 и 59 на информационные входы регистра 53. Так как на остальных выходах дегифратора 58 присутствуют нулевые сигналы, то элементы 60 остальных групп оказываются закрытыми. На информационные входы регистра 53 через группы элементов 61 и 59 передается код с выхода регистра 53, Таким образом на информационных вхо: дах регистра 53 формируетея .адрес микрокоманды М 2. Единичный сигнал 72 с выхода 20 блока 5 поступает через элемент 14 на вход 26 коммутаора 10, в результате чего на вторых входах группы элементов 65 присутствует разрешающий потенциал,а на вторых входах группы элементов 66 устанавливается запрещающий нулевой потенциал, Тогда на выход коммутора 1 О пе- редается через элементы 65 и 67 операционная часть микрокоманды М 1 с выхода блока 9.При поступлении первого синхроимупльса 68 на вход 15 производятся следующие действия.По переднему Фронту синхроимпульса 68 блок 1 начинает выполнение микрокоманды МП ( позицич 70), хранимой на регистре 7. Одновременно микрокоманла М 1 начинает заноситься. в регистр 7, однако код этой микро- команды появляется йа выходе регистра 7 через время Т, определяемое задержкой занесения инФормации в регистр 7. Ч начальный момент временика 1, Если при этом происходит перев регистре 7 хранится микрокомандаИО, код которой сФормировался неопределенным образом после включения устройства. Поэтому выполнение этоймикрокоманды не производит никакихполезных действий, Это связано с"конвейерным" принципом выполнениямикропрограммы. Так как выборка ми-крокоманды опережает на цикл ее выполнение, первая микрокоманда микропрограммы может быть выполнена только во втором микроксмандном цикле, поэтому первый микрокомандныйцикл всегда является "холостым",В зависимости от кода микроко" манды блок 1 выполняет ариФметикологические и сдвиговые Функции. Дешифратор 27 декодирует код микро- команды и вырабатывает на одном из своих выходов сигнал соответствующего микроприкаэа. АриФметико-логические операции в блоке 1 выполняются над двумя операндами, один иэ которых находится в регистре 39, а другой поступает на вход 2 микропроцессора. При этом на выходе .сумматора 28 Формируется значение ариФ- метицеской суммы слагаемых с учетом значения входоного переноса, сигнал которого поступает на вход 19 блополнение разрядной сетки сумматора28, то на выходе переноса этого сумматора вырабатывается единичный сигнал и поступает на инФормационныйвход триггера 5 1. На выходах грулпы элементов 29 Формируются конъюнкции, а на выходах группы элементов30 - дизъюнкции операндов. Крометого, на выходах группы элементов31 Формируется инверсное значениекода, содержащегося в регистре 39.По единичному сигналу с одного извыходов деаиФратора 27 значениерезультата операции поступает че,рез одну из групп элементов 32-36и группу элементов 37 на информационные входы счетчика 38 и регистра39. По переднему Фронту импульсас выхода одного из элементов40-ч 5 производятся различные операции со счетчиком 38 и регистром 39 ( установка в0", занесение, сдвиг,прибавление единицы к содержимому).По заднему Фронту синхроимпульса 68адрес микрокоманды М 2 заносится врегистр 53, Микрокоманда М 2 появляется на выходе блока 9 ( позиция 69 5 1 О 15 20 25 ЗО 35 40 45 50 55 через время 7. - определяемое време=нем занесения в регистр 53 и временем выборки иэ блока 9. В адреснойчасти микрокоманды М 2 задается безусловный переход в микрокоманду М 3,Поэтому на управляющем выходе 20блока 5 сохраняется единичный сигнал72, по которому операционная частьмикрокоманды М 2 через коммутатор 10передается на инФормационный входрегистра 7. При поступлении второгосинхроимпульса 68 блок 1 выполняетмикрокоманду И 1 ( позиция 70 ), микрокоманда И 2 заносится в регистр 7,а по ее адресной части блок 5 Форми-рует адрес . микрокоманды М 3. Поэтому адресу выбирается микрокоманда И 3 из,блока 9позиция 69 .В зависимости от выполняемой задачиодна иэ ветвей продолжения микропрограммы после условного переходаявляется более вероятной. Например,в рассматриваемом случае более вероятным является переход из микро"команды М 3 в микрокоманду Ич, т,е,равенству условия нулю, Тогда вадресной части микрокоманды М 3программируется безусловный переходв микрокоманду И 1, С приходом третьего синхроимпульса 68 блок 1 аналогицно выполйяет микрокоманду М 2( позиция 70, ) а микрокоманда М 3заносится в регистр 7, Блок 5 Форми .рует адрес микрокоманды И 1, котораявыбирается иэ блока 9 ( позиция 69 )Признак условия в микрокоманде Мчравен нулю,а в адресной цасти микрокоманды М 1 задается выполнениеусловного перехода, При этом единичный сигнал вырабатывается на первом выходе дешифратора 58 в блоке5. Этим сигналом открывается первая группа элементов 60, в результате чего адрес следующей микрокоманды Формируется с учетом значения сигнала 71. сигнал 72 на выходе20 блока 9 принимает нулевое значение. При поступлении четвертогосинхроимпульса 68 в блок 1 выполняет микрокоманду М 3 ( позиция 70 1,в результате чего формируется значение сигнала 71. Если сигнал 71,поступающий одновременно на вход17 блока 5 и входы элементов 12и 13 действительно оказываетсяравным нулю ( Фиг,ба), срабатываетэлемент 13. Единичный сигнал с еговыхода поступает через элемент 1 чПри выполнении многих операций блок 1 обращается к блоку внешней памяти или внешнему устройству, выставляя на адресный выход 3 микропроцессора соответствующий адрес. Блок внешней памяти и внешние устройства, с которыми взаимодействует микропроцессор, на Фиг.1 не показаны. Если необходимо записать информацию в блок внешней памяти или внешнее устройство, что указывается в текущей микрокоманде, на выходе 8 микропроцессора устанавливается сигнал, соответствующий режиму записи, Записываемые данные передаются на информационный выход 4 микропроцессора с выхода блока 1. При чтении информации из блока внешней памяти или внешнего 40455055 на вход 26 коммутатора 10, вследствие чего последний обеспечивает поступление на вход регистра 7 микро- команды М 4, Иикбокоманда М 4 заносится в регистр 7. 1 По адресной цасти микрокоманды М 4. и значению условия, равному нулю, блок 5 формирует адрес микрокоманды М 5, которая затем , выбирается из блока 9 (позиция 69). При поступлении пятого синхроимпуль - са 68 блок 1 выполняет микрокоманду ц 4 ( позиция 70), микрокоманда М 5 заносится в регистр 7,а по ее адресной части блок 5 Формирует адрес следующей микрокоманды этой ветви и т.п. Если сигнал 71 в результате выполнения микрокоманды М 3 по четвертому синхроимпульсу 68 принимает все же.маловероятное значение, равное "1" ( Фиг.бб ),ни один иэ элементов 12 или 13 не срабатывает. При этом на входе 26 коммутатора 10 при - сутствует нулевой сигнал, вследствие чего коммутатор 10 передает на информационный вход регистра 7 код "холостой" микрокоманды МОР с входа 11 микропроцессора. Код "холостой" микрокоманды задается на входе 11 с помощью перемычек или диодных венти - лей. 8 регистр 7 заносится "холостая"0 микрокоманда. Одновременно по адресной части микрокоманды М 4 и значению условия, равному "1", блок 5 Формирует адрес микрокоманды Мб. При поступлении пятого синхроимпульса 68 35 блок 1 выполняет "холостую" микрокоманду МОР, микрокоманда Мб заносится в регистр 7, а по ее адресной части выбирается микрокоманда М 7 и т.д. устройства на выход 8 поступает сиг нал чтения, а считываемые данные передаются в блокс входа 2 микропроцессора.. Код, поступающий с первого выхода, регистра 7 на вход 24 блока 5, определяет Функцию управления логикой Флагов, которая заключается либо в установлении выбранного Флага в соответствии со значением сигнала на входе 17 блока 5, либо в выдаче содержимого выбранного Флага или значений "0" или "1" на выход 18 блока 5.Работа блока 5 заключается в сле-. дующем.В соответствии с кодом, поступающим на вход 24 блока 5, на одном из выходов дешифратора 54 вырабатывается управляющий сигнал. Если происходит установка одного из группы триггеров 55, по единичному сигналу с выхода дешифратора открывается один из группы элементов 56. При поступлении синхроимпульса 68 на вход 15 на выходе элемента 56 вырабатывается импульс, по заднему Фронту которого в соответствующий триггер 55 зано-. сится значение сигнала на входе 17блока 5. Если значение одного из группы триггеров 55 выдается на вы ход 18 блока 5, по единичному сигналу с соответствующего выхода дешифратора 54 открывается один из группы элементов 57 и содержимое триггера 55 через элементы 57 и 62 и поступает на выход 18 блока 5,Для оценки преимуществ данного микропроцессора в качестве базового объекта выбран микропроцессор,встроенный в быстродействующий арифмети ческий процессор, который входит в состав системы обработки экспериментальных данных, построенйой на базе ЭВМ ЕС 1022, Базовый микропроцессор построен аналогично прототипу. В предлагаемом микропро-. цессоре потеря производительности за счет "холостого цикла происходит только в случае перехода по маловероятному значению условия, в отличие от базового объекта,где "холостой" цикл присутствует при выполнении каждого условного перехода. Даже при равной вероятности обоих направлений перехода в среднем данный микропроцессор даетвыигрыш в 501 слуцаев выполненияпереходов в программе. Однако вбольшинстве слуцаев вероятностипереходов не одинаковы и их несложно определить. Например, при необходимости повторения циклицескойпрограммы П раз, знацение вероятности возврата э цикл й раз выше,цем значение вероятности выхода изцикла. 8 реальных микропрограммахзкономия времени выполнения имеетместо в среднем при выполнении50-953 условных переходов. Поэтомув предлагаемом микропроцессоре потери производительности в два разанеие, цем в базовом объекте,
СмотретьЗаявка
3399267, 22.02.1982
ОСОБОЕ КОНСТРУКТОРСКОЕ БЮРО ЮЖНОГО ГОЛОВНОГО МОНТАЖНОГО УПРАВЛЕНИЯ СРЕДСТВ СВЯЗИ ЦЕНТРАЛЬНОГО НАУЧНО ПРОИЗВОДСТВЕННОГО ОБЪЕДИНЕНИЯ "КАСКАД"
МАКАРЕНКО ОЛЕГ ЮРЬЕВИЧ, ПОЛОНСКИЙ ДМИТРИЙ ВАСИЛЬЕВИЧ, СТЕПАНЦОВ ЮРИЙ ГРИГОРЬЕВИЧ, ПУШКАРЕВ ЮРИЙ ЯКОВЛЕВИЧ
МПК / Метки
МПК: G06F 15/00
Метки: микропроцессор
Опубликовано: 15.08.1983
Код ссылки
<a href="https://patents.su/10-1035610-mikroprocessor.html" target="_blank" rel="follow" title="База патентов СССР">Микропроцессор</a>
Предыдущий патент: Устройство защиты стековой памяти
Следующий патент: Устройство для моделирования процесса обслуживания заявок с различными приоритетами
Случайный патент: Раствор для удаления металлических покрытий со стали