го операнда и с первой группой инфор мационных входов коммутатора адреса микрокоманды, вторая группа информационных входов которого соединена с выходом первого элемента ИЛИ и с группой выходов немодифицируемой 4ac ти адреса следующей микрокоманды блока памяти микрокоманд, вход адреса которого соединен с информационным выходом регистра адреса микрокоманд, информационный вход которого соединен с выходом коммутатора адреса микрокоманды, управляющий вход которого соединен с выходом конца команды формирователя микроопераций, группа выходов управления коммутатором индексов Которого соединена с группой управляющих входов коммутатора индексов, вторая группа информационных входов которого соединена с группой входов констант устройства, группа информационных выходов группы счетчиков индексов соединена с третьей группой информационных входов коммутатора индексов, группа информационных выходов которого соединена с группами информационных входов счетчика команд группы счетчиков циклов,регистра приращений и с первой группой информационных входов коммутатора блока формирования исполнительного адреса оперативного запоминающего устройства, группа информационных выходов которого соединена с группой информационных входов регистра исполнительного адреса, группа информационных выходов которого соединена с первой группой входов сумматора и первой группой информационных входов коммутатора адреса оперативного запоминаиощего устройства , группа информационных выходов которого соединена с группой адресных входов блока оперативного запоминающего устройства, управляющие входы которого соединены с выходами коммутатора управления оперативньгм запоминающим устройством, первый управляющий вход которого соединен с управляющим входом коммутатора адреса оперативного запоминающего устройства, с первым управляющим входо 1 коммутатора данных и выходом разрешения внешнего доступа к блоку оперативного запоминающего устройства процессора и формирователя микроопераций, выход конца работы процессора которого соединен с первым входом элемента И блока пуска-останова, второй вход которого соединен со BTophiM выходом генератора тактовых импульсов, с входом синхронизации операционного блока и с первым управляющим входом формирователя микроопераций, второй управляющий вход которого соединен с первым выходом генератора тактовых импульсов, управляющий вход которого соедкНен с выходом триггера блока пуска-останова, вход установки в ноль которого соединен с выходом элемента И блока пуска-останова, вход установки в единицу триггера блока пуска-останова соединен с входом пуска процессора, группа выходов поля кода логических условий формирователя 1чикроопераций соединена с группой управляющих входов мультиплексора логических условий, группа информационных входов которого соединена с группой информационных выходов группы счетчиков циклов и группой информационных выходов операционного блока, группа адресных входов которого соединена с группами выходов первого, второго блоков элементов И и блока формирования исполнительного адреса регистров общего назначения, вьссод кода микроопераций блока памяти микрокоманд соединен с информационным входом
формирователя микроопераций, первый второй третий, четвертый и пятый выходы третьей группы управляющих выходов которого соединены соответственно с входами синхронизации регистра адресации первого операнда, регистра адресации второго операнда, с управляющим входом первого коммутатора операндов, с управлякнцим входом второго коммутатора операндов, с управляющим входом первого блока элементов И и с управлякхцим входом второго блока элементов И, первый, второй и третий выходы четвертой группы управляюгг их выходов формирователя микроопераций соединены соответственно с вторым управляющим входом коммутатора данных, с вторым управляющим входом коммутатора уп- равления оперативным запоминающим устройстЕом и с третьим управляющим входом ко а утатора управления оператив ным3 апоминающим устройством, первый, второй и третий выходы пятой группы управляющих выходов формирователя микроопераций соединены Соответственно с входом синхронизации регистра исполнительного адреса, с входом синхронизации регистра приращений и с управляющим входом коммутатора, блока формирования исполнительного адреса оперативного запоминающего устройства, вторая
группа информационных входов которого соединена с группой выходов сумматора, вторая группа входов которого соединена с группой информационных выходов регистра приращений, группа информационных выходов регистра адресации первого операнда и группа информационных выходов ре- . гистра адресации второго операнда соединены соответственно с первыми и
вторыми группами информационных входов первого и второго коммутаторов операндов, группы информационных выходов которых соединены соответственно с группой входов первого и второго блоков элементов И, группа адресных входов процессора соединена с второй группой информационных входов коммутатора адреса оперативного запоминающего устройства, один из входов группы адресных входов процессора соединен с четвертым уп равляющим входом коммутатора управления оперативным запоминающим устройством, а другой соединен с пятым управляющим входом коммутатора управления оперативным запоминающим устройством и с третьим управляющим входом коммутатора данных, первая, вторая и третья группы информационных входов-выходов которого соединены соответственно с группой информационных входов-выходов внешних данных процессора, оперативного запоминающего устройства и операционного блока, группа информационных выходов счетчика команд соединена с группой адресных ЕЕХОДОВ блока памяти команд, выход мультиплексора логических условий соединен с вторым входом первого элемента ИЛИ, группа информационных входов процессора соединена с группой информационных входов блока элементов И, выход прерывания формирователя микроопераций образует выход прерывания процессора, а выход второго элемента ИЛИ соединен с входом синхронизации счетчика команд
2. Процессор по п. 1, отличающийся тем, что формирователь микроопераций содержит регистр, первый, второй и третий дешифраторы, первый и второй элементы И, элемент ИЛИ, первый вход которого соединен .с первым выходом первого дешифратора, группа информационных входов которого соединена с первой группой выхода регистра, вторая группа выходов которого соединена с группой информационных входов второго дешифратора, управляющий вход которого соединен с управляющим входом третьего дешифратора, с первыми входами первого и второго элементов И, с входом синхронизации регистра и с первым управляющим входом формирователя, третья группа выходов регистра соединена с информационным входом третьего дешифратора, первая группа выходов которого соединена с первой группой входов элемента ИЛИ, вторая группа входов которого соединена с первой группой выходов второго дешифратора, управляющий вход первого дешифратора соединен с вторым управлякнцим входом формирователя, первый выход регистра соединен с вторым входом второго элемента И и с выходом конца команды формирователя, первая и вторая группы управляющих выходов формирователя соединены соответственно с второй группой выходов второго дешифратора., и с второй группой выходов третьего дешифратора, первый, второй, третий, четвертый и пятый выходы третьей группы управляквдих выходов формирователя соединены соответственно с выходом второго элемента И, с вторым, третьим, четвертый и пятым выходами регистра, шестой выход регистра соединен с вторым входом первого элемента И и с первым выходом четвертой группы управляющих выходов формирователя, второй и третий выходы четвертой группы управляющих выходов которого соединены соответственно с выходом первого элемента И и с седьмым выходом регистра, первый, второй и третий выходы пятой группы управляющих выходов формирователя соединены соответственно с вторым выходом первого дешифратора, с третьим выходом первого дешифратора и с восьмым выходом регистра, четвертая, пятая и шестая группы выходов которого соединены соответственно с группой выходов кода операций формирователя, с группой выходов управления коммутатором индексов формирователя и с группой выходов поля кодов логических условий формирователя, девятый и десятый выходы регистра и выход элемента ИЛИ соединены соответственно с выходом разрешения вноинего доступа к оперативному запоминающему устройству формирователя, с выходом конца работы процессора формирователя и выходом прерывания формирователя, информационный вход регист ра соединен с информационным входомформирователя,
название | год | авторы | номер документа |
---|---|---|---|
Устройство для обмена данными в многопроцессорной вычислительной системе | 1983 |
|
SU1136143A1 |
Микропрограммное устройство управления | 1983 |
|
SU1156073A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Процессор для обработки массивов данных | 1982 |
|
SU1381532A1 |
Микропрограммное устройство для управления и обмена данными | 1983 |
|
SU1129601A1 |
Процессор с совмещением операций | 1982 |
|
SU1138805A1 |
Устройство адресации многопроцессорной вычислительной машины | 1983 |
|
SU1129613A1 |
Устройство для формирования адресов процессора быстрого преобразования фурье | 1987 |
|
SU1499373A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Устройство для обмена данными между электронно-вычислительной машиной и абонентами | 1985 |
|
SU1277125A1 |
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении .
ЭВМ и вычислительных систем с микропрограммным управлением и высоким быстродействием. Известны микропрограммные процес серы, содержащие память команд, память микрокоманд, регистр адреса ми рокоманд, оперативную память, опера ционный блок и счетчик команд flj, C2J, f3J. Недостатками таких устройств являются узкая область применения и низкое быстродействие. Наиболее близким к предлагаемому по технической сущности и достигаемому положительному эффекту является микропрограммный процессор, содержащий операционный блок, оперативное запоминающее устройство, счетчик команд, блок микропрограммн го управления, постоянное запоминаю щее устройство, триггер режима, пять элементов И, дешифратор иденти фикации, триггер прерываний, два элемента ИЛИ, элемент ИЛИ-НЕ, группу элементов И, причем первые выходы блока микропрограммного управления соединены с первыми входами опе рационного блока, первые выходы которого соединены через оперативное запоминающее устройство с вторыми входами операционного блока, вторые выходы соединены с входами счетчика команд, выходы которого соединены с третьими входами операционного блока и первыми входами группы элементов И, вторые входы которой соединены с третьим выходом операционн го блока, а управляющие входы подключены к первому выходу Tt Hrrepa, режима, первый вход которого соедйнен с четвертым выходом операционнр го блока, а второй вход соединен с пятым выходом операционного блока, выходы группы элементов И соединены с входами постоянного запоминающего устройства команд операционной системы, выходы которого подключены к четвертым входам операционного блока , шестые выходы которого .соединены с первыми входами блока микропро раммного управления, а пятый вход соединен с первым выходом триггера прерываний, второй выход которого подключен к второму входу блока мик ропрограммного управления, второй вход соединен с входом устройства, а первый вход соединен с выходом пер вого элемента ИЛИ, первый вход кото рого соединен с выходом первого эле мента И, второй вход соединен с выходом второго элемента И, третий вход соединен с выходом третьего элемента И, четвертый вход соединен с выходом четвертого элемента И, а пятый вход подключен к выходу пятог элемента И, первый вход которого соединен с первым выходом триггера режима, а второй вход соединен с первым выходом постоянного запоминаю щего .устройства микрокоманд, первым входом элемента ИЛИ-НЕ и первым входом второго элемента ИЛИ, выход которого подключен к первому входу первого элемента И, второй вход которого соединен с первым выходом дешифратора идентификации, второй выход которого соединен с первым входом второго элемента И, второй вход которого соединен с выходом элемента ИЛИ-НЕ и первым входом третьегр элемента И, второй вход которого соединен с третьим выходом дешифратора идентификации, вход которого соединен с вторыми выходами блока микропрограммного управления, третьи выходы которого подключены к входу постоянного запоминающего устройства микрокоманд, вторые выходы которого соединены с третьими входами блока микропрограммного управления, а третий выход соединен с вторым входом второго элемента ИЛИ, вторым входом элемента ИЛИ-НЕ и первым входом четвертого элемента И, второй вход которого подключен к второму выходу триггера режима С4. Недостатками известного устройства являются узкая область применения и низкая производительность. Узкая область применения обусловлена недостаточной номенклатурой дисциплин формирования исполнительного адреса, Например, в данном устройстве не реализованы специальные режимы индексной адресации: с продвижением индекса, когда исполнительный адрес Aj формируется на основе значения индекса ЛР и значения смещения D в соответствии с соотношением A.rDR + D, JI JR+f, ie 1,N где N - мощность множества исполнительных адресов; с постоянным шагом Л(л 1) приращения индекса, когда исполнительный, адрес А. формируется на основе значения f И шага л по формуле Д.г| J .(2) VjE 2,N ; Л./.44,4-const I с переменным шагом 3 Д,-(г), (1 е 1,м ) приращения индекса,, когда исполнительный гщрес А.; формируется на основе значения А шага С по формуле ..(y,.,NMpA..4. Hr.ni Указанные режимы формирования адреса характерны при решении задач обработки больших массивов данных в реальном масштабе времени. Отсутствие аппаратно-микропрограммных средств реализации этих режимов приводит к существенному сужению обла ти применения известного устройств Низкая производительность устро ства обусловлена тем, что реализация специальных режимов адресации данных требует обращения к подпрог раммам формирования исполнительных адресов для этих режимов, что требует значительных затрат времени н обращения к ОЗУ ЭВМ. Формирование исполнительного ад реса в режиме индексной адресации с продвижением индекса требует вре мени Т,, которое оценивается по формуле Т 11 где t - время выборки значения ин декса из ОЗУ; -1-12 - время выполнения сложения ЛК и J) } -1Ъ - время увеличения значения индекса на 1; -14 время выдачи А: ; время запоминания в ОЗУ продвинутого индекса; - время обращения к подпрог рамме формирования исполн тельного адреса в данном режиме. На формирование исполнительного адреса в режиме индексной адресации с постоянным шагом приращения индекса требуется время f , оценив мое по формуле t 2 где t - время считывания из ОЗУ з чения А,-. ; 22 время считывания из ОЗУ з чения шага и ; 23 время сложения А -. и л t24 - время записи в ОЗУ значен i 2Г время выдачи . t2fc - время обращения к подпрог рамме формирования исполн тельного адреса в данном режиме. При использовании режима индекс ной адресации с переменным шагом приращения индекса время формирова ния исполнительного адреса Т оценивается по формуле , где tj - время записи в ОЗУ значения А ; 32 время формирования адреса шага Л ; i JJ - время считывания из ОЗУ значения д. ; 34 - время сложения А j и д } 3S время выдачи А,- ; 36 время обращения к подпрограмме формирования исполнительного адреса в данном режиме. Анализ выражений (41 - (6) показывает, что доминирующими величинами в них являются слагаемые, связанные с частыми операциями обращения к ОЗУ, что приводит к существенному снижению производительности процессора. Это особенно ощутимо при резком возрастании интенсивности использования указанных режимов адресации при обработке больших массивов данных, приводящем к снижению системной производительности за счет частых обращений к ОЗУ. Таким образом, низкая производительность известного устройства обусловлена высокой чувствительностью к изменению рабочей нагрузки при переходе к выполнению обработки больших массивов данных, доля которой превышает 50% объема алгоритмов решения таких задач. Поскольку в известном устройстве отсутствуют элементы и связи для аппаратно-микропрограммной реализации указанных режимов адресации, повышение производительности в нем невозможно. . Цель изобретения -.расширение области применения путем введения специальных режимов адресации данных и динамического изменения формата команды и повьаление производительности микропрограммного процессора. Поставленная цель достигается тем, что в микропрограммный процессор, содержащий блок памяти команд, блок памяти микрокоманд, блок оперативного запоминающего устройства, операционный блок, генератор тактовых импульсов, первый элемент ИЛИ, регистр адреса микрокоманд, счетчик команд, формирователь микроопераций, причем выход модифицируемого разряда адреса следующей микрокоманды блока памяти микрокоманд соединен с первым входом первого элемента ИЛИ, группа выходов кода операций формирователя микроопераций соединена с группой входов кода операций операционного блока, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса микрокоманд, введены блок элементов И, коммутатор адреса микрокоманду, мультиплексор логических условий, коммутатор индексов, второй, элемент ИЛИ, коммутатор адреса оперативного запоминающего устройства, коммутатор управления оперативным запоминающим устройством, коммутатор данных, блок формирования исполнительного адреса регистров общего на начения, состоящий из регистра адресации первого операнда, регистра адресации второго операнда, первого и второго коммутаторов операндов, первого и второго блоков элементов И, блок формирования исполнительного адреса оперативного запоминающего устройства/ состоящий из регистра исполнительного адреса, регистра приращений, сумматора и коммутатора блок индексных счетчиков, состоящий из группы счетчиков индексов, блок счетчиков циклов, состоящий из груп пы счетчиков циклов, блок пуска-останова, состоящий из элемента И и триггера, причем управляющий вход процессора соединен с управляющими входами блока памяти команд, блока элементов И и с первым входом второго элемента ИЛИ, выходы первой группы управляющих выходов формирователя микроопераций соединены соответственно с вторым входом второг элемента ИЛИ, со счетными входами, входами синхронизации счетчиков цик лов и со счетным входом счетчика команд, вторая группа управляющих выходов формирователя микроопераций соединена со счетными входами и вхо дами синхронизации счетчиков индексов , группа информационных входов которых соединена через шину команд с группой выходов блока памяти команд, с .группой информационных выходов блока элементов И, с первой группой информационных входов комму татора индексов, с группой информационных входов регистра адресации первого операнда и регистра адресации второго операнда и с первой группой информационных входов комму татора адреса микрокоманды, вторая группа информационных входов которо го соединена с выходом первого элемента ИЛИ и с группой выходов немодифицируемой части адреса следующей микрокоманды блока памяти микрокоманд, вход адреса которого соединен с информационным выходом регистра адреса микрокоманд, информационный вход которого соединен с в,ыходом коммутатора адреса микрокоманды, уп равляющий вход которого соединен с выходом конца команды формирователя микроопераций, группа выходов управ ления коммутатором индексов которого соединена с группой управляющих входов коммутатора индексов, вторая группа информационных входов которого соединена с группой входов кон тант устройства, группа информационных выходов группы счетчиков индексов соединена с третьей группой информационных входов коммутатора индексов , группа информационных выходов которого соединена с группами информационных входов счетчика команд группы счетчиков циклов, регистра приращений и с первой группой информационных входрв коммутатора блока формирования исполнительного адреса оперативного запоминающего устройства, группа информационных выходов которого соединена с группой информационных входов регистра исполнительного адреса, группа информационных выходов которого соединена с первой группой входов сумматора и первой группой информационных входов коммутатора адреса оперативного запоминающего устройства, группа информационных выходов которого соединена с группой адресных входов блока onepa-i тивного запоминающего устройства, управляющие входы которого соединены с выходами коммутатора управления оперативным запоминающим устройством, первый управляющий вход которого соединен с управляющим входом коммутатора адреса оперативного запоминающего устройства, с первым управляющим входом коммутатора данных и с выходом разрешения внешнего доступа к блоку оперативного запоминаиощего устройства процессора и формирователя микроопераций, выход конца работы-процессора которого соединен с первым входом элемента И блока пуска-останова, второй вход которого соединен со вторым выходом генератора тактовых импульсов, с входом-синхронизации операционного блока и с первым управляющим входом формирователя микроопераций, второй управляющий вход которого соединен с первым выходом генератора тактовых импульсов, управляющий вход которого соединен с выходом триггера блока пуска-останова, вход установки в ноль которого соединен с выходом элемента И блока пуска-останова, вход установки в единицу триггера блока пуска-останова соединен с входом пуска процессора, группа выходов поля кода логический условий формирователя микроопераций соединена с группой управляющих входов мультиплексора логических условий, группа информационных входов которого соединена с группой информационных выходов группы счетчиков циклов и группой информаг-уионных выходов операционного блока, группа адресных входов которого соединена с группами выходов первого и второго блоков элементов И блока формирования исполнительного адреса регистров общего назначения, выход кода микроопераций блока памяти микрокоманд соединен с информационным входом формирователя микроопераций, первый, второй, третий, четвертый и пятый выходы третьей группы управл5пощих выходов которого соединены соответственно с входами синхронизации регистра адресации первого операнда, регистра адресации второго операнда, с управляющим входом первого коммутатора операндов, с управляквдим входом первого блока элементов И и с управляющим входом второго блока элементов И, первый, второй и третий выходы четвертой группы управлякжцих выходов формирователя микроопераций соединены соответственно с вторым управляющим входом коммутатора данных с вторым управляющим входом коммутатора управления оперативным запоминающим устройством и с третьим управляющим входом коммутатора уп- равлёния оперативным запоминающим устройством, первый, второй и третий выходы пятой группы управляющих выходов, формирователя микроопераций соединены соответственно с входом (Синхронизации регистра исполнительного адреса, с входом синхронизации регистра приращений и с управляющим входом коммутатора, блока формирования исполнительного адреса оперативного запоминающего устройства, вторая группа информационных входов которого соединена с группой выходов сумматора, вторая группа входов которого соединена с группой информационных выходов регистра приращений , группа информационных выходов регистра адресации первого операнда и группа информационных выходов регистра адресации второго операнда соединены соответственно с первыми и вторыми группами информационных входов первого и второго коммутаторов операндов, группы информационных выходов которых соединены соответственно с группой входов первого и второго блоков элементов И, группа адресных входов процессора соединена с второй группой информационных входов коммутатора адреса оперативного запоминающего устройства, один из входов группы адресньрс входов процессора соединен с четвертым управляющим входом коммутатора управления оперативным запоминающим устройством, а другой соединен с пятым управляющим входом коммутатора управления оперативным запоминающим устройством и с третьим управляющим входом коммутатора данных, первая, вторая, и третья группы информационных входов-выходов которого соединены соответственно с группой информационных входов-выходов внешних данных процессора, оперативного запоминающего устройства и операционного блока, группа информационных выходов счетчика команд соединена с группой адресных входов блока памяти команд, выход мультиплексора логических условий соединен с вторым входом первого элемента ИЛИ, группа информационных входов процессора соединед на с группой информационных входов блока элементов и, выход прерывания формирователя микроопераций образует выход прерывания процессора, а выход второго элемента ИЛИ соединен с входом синхронизации счетчика команд.
5
Кроме того, формирователь микроопераций содержит регистр, первый, второй и третий дешифраторы, первый и второй элементы И, элемент ИЛИ, первый вход которого соединен с пер0 вым выходом первого дешифратора,
группа информационных входов которого соединена с первой группой выходов регистра, вторая группа выходов которого соединена с группой инфор5 мационных входов второго дешифратора, управляющий вход которого соединен с управляющим входом третьего дешифратора, с первыми входами первого и второго элементов И, с входом
0 синхронизации регистра и с первым . управляющим входом формирователя, третья группа выходов регистра сЪединена с информационным входом третьего дешифратора, первая группа
5 выходов которого соединена с первой группой входов элемента ИЛИ, вторая . группа входов которого соединена с первой группой выходов второго дешифратора, управляющий вход первого
Q дешифратора соединен с вторым управляющим входом формирователя, первый выход регистра соединен с вторым входом второго элемента И-и с выходом конца команды формирователя, первая и вторая группы управляющих выходов формирователя соединены соответственно с второй группой выходов второго дешифратора и с второй группой выходов третьего дешифратора, первый, второй, третий, четвер0 тый и пятый выходы третьей группы управляющих выходов формирователя соединены соответственно с выходом второго элемента И, с вторым, третьим, четвертым и пятым выходами ре5 гистра, шестой выход регистра соединен с вторым входом первого элемента И и с первым выходом четвертой группы управляющих выходов формирователя, второй и третий выходы чет0 вертой группы управляющих выходов которого соединены соответственно с выходом первого элемента И и с седьмым выходом регистра, первый, . второй и третий выходы пятой групс пы управляющих выходов формиров1ателя соединены соответственно с вторьом выходом первого дешифратора, с третьим выходом первого дешифратора и с восьмым выходом регистра, четвертая, пятая и шестая группы выходов которого соединены соответственно с группой выходов кода операций формирователя, с группой выходов управления коммутатором индексов формирователя и с группой выходов поля кодов логических условий формирователя, девятый и десятый выходы регистра и выход элемента ИЛИ соединены соответственно с выходом разрешения внешнего доступа к оперативному запоминающему устройству формирователя, с выходом конца работы процессора и выходом прерывания формирователя, информационный вход регистра соединен с информационным входом.формирователя.
На фиг. 1 приведена функциональная схема предл:агаемого микропрограммного процессора; на фиг. 2 - то же, формирователя микроопераций; на фиг. 3 - то же, коммутатора данных; на фиг.; 4 - то же, коммутатора индексов; на фиг. 5 - то же, коммутатора управления оперативным запоминающим устройством; на фиг. 6 - то же, мультиплексора логических условий v на фиг, 7 - то же, операционного блока; на фиг. 8 - 12 - схемы алгоритмов формирования исполнительного адреса второго операнда для команд форматов R XI - R Jf5 соответственно. .
Микропрограммный процессор содержит блок 1 памяти команд, блок 2 памяти микрокоманд, блок 3 оперативного запоминающего устройства, блок 4 формирования исполнительного адреса регистров общего назначения, формирователь 5 микроопераций, блок б индексных счетчиков, блок 7 счет,чиков циклов, блок 8 формирования исполнительного адреса оперативной памяти, операционный блок 9, мультиплексор 10 логических условий, коммутатор 11 адреса микрокоманд, первый коммутатор 12 операнда, второй коммутатор 13 операнда, коммутатор 14 индексов, коммутатор 15 адреса оперативной памяти, коммутатор 16 блока формирования исполнительного адреса, коммутатор 17 управления оперативным запоминающим устройством, коммутатор 18 данных, группу входов 19 константы процессора, блок 20 пуска-останова, генератор 21 тактовых импульсов, регистр 22 адресации первого операнда, регист 23 адресации второго операнда, регистр 24 адреса микрокоманд, регистр 25 исполнительного адреса, регистр 26 приращений, счетчики 27 индексов, счетчик 28 команд, счетчики 29 циклов, сумматор 30, триггер 31 блока пуска-останова, первый блок элементов И 32 и второй блок элементов И 33 блока формирования исполнительного адреса с регистров общего назначения, элемент И 34 блока пуска-останова, второй элемент ИЛИ 35, первый элемент ИЛИ 36, блок 37 элементов И, шину 38 команд, внутреннюю шину 39 дан|, ных, внешнюю шину 40 данных, информационную шину 41, управляющий вход 42 процессора, вход 43 пуска, группу информационных входов 44 процессора, группу адресных входов 45 процессора, группу информационных вхо5 дов-выходов 46 внешних данных, выход 47 разрешения внешнего доступа к оперативному запоминающему устройству, выход 48 конца работы процессора и выход 49 прерывания.
0 Выходами формирователя 5 микроопераций (фиг. 2/ являются выход 50 конца команды, вторая группа управляющих выходов 51, выход 52 управления коммутатором индексов 52, пер5 вый 53, второй 54, третий 55, четвертый 56 и пятый 57 выходы третьей группы управляющих выходов, первая группа управляющих выходов 58, первый 59, второй 60, третий 61 выходы чет0 вентой группы управляющих выходов, группа выходов 62 кода операций, первый 63, второй 64 и третий 65 выходы пятой груплы управляющих выходов, выход 66 разрешения внешнего
5 доступа к оперативному запоминающему устройству, выход 67 конца работы процессора, группа выходов 68 логических условий, второй 69 и первый 70 управляющие выходы.
0 Формирователь 5 микроопераций содержит регистр 71, третий 72, второй 73 и первый 74 дешифраторы, первый 75 и второй 76 элементы И, элемент ИЛИ 77.
с Коммутатор 18 данных (фиг. 3 .включает коммутатор 78, элемент НЕ 79, первый 80, второй 81 и третий 82 блоки элементов И.
Коммутатор 14 индексов (фиг. 4) содержит коммутатор 83, дешифратор
84 и элемент ИЛИ-НЕ 85.
Коммутатор 17 управления оперативным запоминающим устройством (фиг. 5) состоит ,из первого 86 и второго 87 одноразрядных коммутато5 ров.
Мультиплексор 10 логических условий (фиг. 6 ) включает коммутатор 88 и дешифратор 89.
Операцион;;ый блок 9 (фиг. 1) со0 держит арифметико-логический блок 90у блок 91 местного управления, блок 92 регистров общего назначения, буферный регистр 93, первый 94, второй 95, третий 96 и четвертый 97
5 мультиплексоры и блок 98 элементов и. Процессор предназначен для выполнения команд форматов регистррегистр (RR I и регистр - память (RX). Формат команды PR содержит по ля: код операции, адрес первого опе ранда IRI), адрес второго операнда IR2), а Команды RX - код операции, адрес первого операнда (R1) и сме щение {D ) . В обоих форматах адрес первого операнда R1 задает номер регистра общего назначения в блоке 92 регист ров общего назначения операционного блока 9 (фиг. 7), Смещение D за дает адрес первого числа в режимах прямой адресации (адресации с индексацией). Данные, обрабатывае 1ые процессором, храняться в блоке 3 оперативно памяти, а программа смещения, исполнительные адреса, индексы, начальные адреса подпрограмм и дополнения счетчиков циклов (до записи их в соответствующие счетчики/ - в блоке 1 памяти команд. Команды формата RX могут быть пяти типов, зависящих от режимов ад ресации Данных в памяти. В предлагаемом процессоре предус мотрено пять режимов адресации данных для RX-команд: прямая адресация, когда исполнительный сщрес данных Aj формируется на основе информации о смещении D,- , считываемой из блока 1 памяти команд по формуле A-D. , JeV , где N - метцность множества исполнительных адресов ; индексная адресация с продвижени ем индекса, когда исполнительный адрес формируется на основе значения индекса JR и смещения в соответ ствии с формулой А. JP4IJ , J(jR+-f ; индексная адресация без продвиже ния индекса, когда исполнительный адрес формируется на основе соотношения , A.JR+D ; индексная адресация с постоянным шагом приращения д ( Л 1 ) индекса когда исполнительный адрес формируется в соответствии с формулой А.Г |V. е 2,N ; А.А.4-& , 4 const; индексная адресация с переменны шагом Л,- 4 (i) ; ( i е 1, N I прираще ния индекса,когда исполнительный адрес формируется по формуле - °J ..А.,М. ,,4.{i Указанным режимам адресации соответствуют команды типов R XI - ЯХ5. Общая характеристика адресации в процессоре, состоит в следующем. При выполнении команд формата RR адреса первого (R И и второго {R 2) операндов поступают через блок 4 формирования исполнительного адреса для регистров общего назначения на группу адресных входов операционного блока 9. Кодом операции ксниандЬ определяется начальный адрес микропрограммы выполнения данной команды, при этсми код операции команды с выхода блока 1 через шину 38 команд и коммутатор 11 адреса микрокоманд записывается в регистр 24 адреса микрог команд, по которому микрокоманда выбирается из блока 2 и записывается блок 5. При выполнении команд формата RX адрес первого операнда R1 через блок 4 подается на соответствующие разряды группы адресных входов операционного блока 9. Формирование адреса второго операнда осуществляется сложнее и существенно зависит от типа команды. При выполнении команды типа RXI (фиг. 9) исполнительный адрес второго операнда задается смещением D в формате команды. Этот адрес передается через коммутаторы 14 и 16 в регистр 25 исполнительного адреса, по которому осуществляется адресация блока 3 оперативного запоминающего устройства. В блоке 3 по адресу, заданному в регистре 25, может производиться запись или считывание в соответствии с исполнительной командой и определяемые сигналами на выходах 60 и 61 формирователя 5 микроопераций. Команды типа ВХ2 предназначены для организации так называемой магазинной обработки данных, когда адрес следующего числа на единицу больший предыдущего. RX 2 - команды позволяют обрабатывать массивы данных. При этом загрузка индексов в счетчики 27 индексов производится заранее соответствующими командами из блока 1 памяти команд, в поле которых указывается загружаемый код в счетчике 27 индекса., Исполнительный адрес очередного числа массива данных в этом случае формируется следующим образом. Смещение D во время выборки командного слова в последнем цикле выполнения предыдущей команды через коммутаторы 14 и 16 с выхода блока 1 записывается в регистр 25. В следующем цикле первом цикле исполнения данной команды } индекс с выход., счетчика 27 индекса через коммутатор 14 записывается в регистр 26
приращений. Во втором цикле исполнения данной команды производится продвижение индекса в счетчике 27 индекса и одновременно просуммированное значение смещения индекса на сумматоре 30 через ког мутатор 16 поступает в регистр 25 исполнительного адреса и фиксируется в нем. В третьем цикле исполнения данной команды производится выборка числа (или запись из блока 3 по исполнительному адресу и подача (или прием его в операционный блок 9, в котором оно обрабатывается в соответствии с кодом операции, подаваемым с выхода 62 блока 5 на вход кода операции операционного блока 9. Если данная команда оказывается короткой (типа сложения), то третий цикл ее исполнения является последним, в котором производитсд выборка очередного командного слова из блока 1 памяти команд, при этом на выходе 50 конца команды блока 5 вырабатывается сигнал, определяющий конец команды и настраивающий коммутатор 11 адреса микрокоманд на прием кода операции команды в регистре 24 в качестве адреса микрокоманды. Во всех циклах, когда сигнал конца команды отсутствует, в регистре 24 адреса микрокоманды записывается адрес очередной микрокоманды с соответствующего выхода блока 2 памяти микрокоманд. Таким образом, короткая команда .в режиме RX2 выполняется за три машинных цикла. В то же время короткая команда в режиме РХ1 выполняется за один машинный цикл (фиг. 10 и 9 ). Команды типа RX3 реализуются аналогично командам Р Х2, но без продвижения индекса (фиг. 11).
Команды типа R Х4 и RX5 предназначены для обработки массивов информации ,с шагом выборки чисел большим единицы, что необходимо при решении задач классификации и сортировки.
Адрес первого числа задается аналогично описанному для команд -формата RXI. Для формирования адресов второго и последующих чисел микропрограммно из блока 1 памяти считывают значения величины шага 4 . Причем для режима R Х4 считывание выполняется один раз, а для режима RX5 значение шага считывается из блока 1 при обработке у каждого числа массива и очередной исполнительный адрес числа формируется суммированием значения предыдущего исполнительного адреса и значения 4(4 в режиме RX5I. Число слов, обрабатываемых в массиве чисел, задается дополнением до переполнения i -го (1 1, 2, ...hf счетчика 29 циклов заранее аналогично загрузке счетчиков 27 индексов и при выполнении инструкции обработки массива чисел производится проверка условия переполнения соответствующего i-ro счетчика 29 циклов в мультиплексоре 10 логических условий. При переполнении i-ro счетчика 29 циклов производится модификация адреса микрокоманды, что приводит к выходу из выполнения соответствующей инструкции при этом продвижение t-ro счетчика 29 циклов производится параллельно с выработкой А на сумматоре 30.
Таким образом, предлагаемый микропрограммный процессор обладает широкими возможностями адресации с малыми затратами времени на их реализацию, особенно для обработки массивов данных, например, в режиме RX4, для формирования исполнительных адресов для К чисел затрачивается К + 1-й машинный цикл.
Основные узлы и блоки процессора имеют следующее назначение.
Блок 1 памяти команд предназначен .для хранения программы вычислительного процесса, начальных адресов подпрограмм, значений индексов, приращений и смещений адресов. Выборка из него в режиме вычисления осуществляется по адресу, заданному в счетчике 28 команд. С выхода блока 1 информация выдается в шину 38 команд.
Кроме того, в режиме подготовки вычислений информация в шину 38 команд может поступать через блок 37 элементов И, группы информационных входов 44 процессора. В этом случае сигналом с управляющего входа 42 процессора блокируется блок 1 памяти, открывается блок 37 элементов И и разрешается передача адреса команды с группы информационных входов 44 процессора в щину 38 команд и далее через коммутатор 14 индексов в счет-чик 28 команд, управляемый.синхросигналом записи со входа 42 через элемент ИЛИ 35.
Блок 2 памяти микрокоманд предназначен для хранения микрокоманд микропрограмм управления выполнением команд вычислительного процесса.
Блок 3 оперативного запоминающего устройства предназначен для хранения данных. Обращение к нему возможно как по адресу, задаваемому в регистре 25 исполнительного адреса, так и с группы адресных входов 45 процессора в случаях разрешения внешнего доступа к оперативной памяти.
Команды программы вычислений используются в форматах регистр-регистр и регистр-память. Адреса операндов 92 регистров общего назначения операционного блока 9 (фиг. 7/ формируются блоком 4 формирования исполнительного адреса(фиг. 1 )
При выполнении команд формата регистр-регистр ( KKJ адрес первого операнда заносится в регистр 22, второго - в регистр 23. Коммутаторы 12 и 13 и блоки элементов И 32 и И 33 предназначены для динамического управления изменением командного слова. Структура их связей позволяет маскировать поля первого или второго операндов командного слова, а также производить рокировку полей. Это дает возможность осуществлять обнуление регистров в блоке 92 регистров общего назначения (фиг. 7
.в процессе или при завершении выполнения длинной команды {деления, умножения и др.J, используя только аппаратно-микропрограммные средства
без считывания из блока 1 памяти команд, специально предназначенные для выполнения обнуления регистров 91, например команды вычитания с одним и тем же адресом дэрвого и второго операндов, В данном случае обнуление выполняется соответствующей коммутацией блоком 4 регистров 22 и Z3 .микрокомандами микропрограммы выполнения длинной команды с обнулением регистров 92. Причем после соответствующей микропрограммной коммутации полей микропрограммно выполняется операция вычитания, после чего длинная .операция может продолжаться иди завершаться. При выполнении команд формата регистр-память (RX) в блок 9 передается только адрес, содержащийся в регистре 22, Зс1дак)щий адрес первого операнда.. Содержимое регистра 23 для операционного блока 9 безразлично.
Формирователь 5 микроопераций (фиг. 2) предназначен для управления, и координации работы всех элементов и узлов процессора. С выхода
50 выдается сигнал микрооперации конца команды, который является разрешающим сигналом для приема кода команды в регистр 24 адреса микрокоманды через коммутатор 11 с выхо-. да блока 1 памяти команд.
Микрооперации, поступающие со втоЕ)Ой группы управляющих выходов 51, осуществляют выдачу сигналов на синхровход илисчетный вход соответствукяцего счетчика 27 индекса в блоке 6 с целью записи в него значения индекса с выхода блока 1 памяти команд или увеличения его значения на единицу.
Кодом d выхода 52 производится управление коммутатором 14 индексов (фиг. 4). При этом в зависимости от значения сигналов микроопераций, поступающих на вход дешифратора 84, с выхода 52 формирователя 5 может осуществляться передача константы с выхода 19 (фиг. 1) в регистр 26
приращений, либо передача с выхода блока 1 кодов глубины циклов соответствующих счетчиков 29, начальных адресов подпрограмм в счетчик 28 команд, либо передача кодов в ре гистры 25 .и 26, либо передача значения индексов (приращений шага индексации) в регистр 26 приращений.
Микрооперации, поступающие с вы.ходов третьей группы управляющих выходов, осуществляют следукяцие действия: с выхода 53 синхронизируют запись в регистры 22 и 23 адресации операндов по окончании выполнения текущей команды и выборке следующей,.
5 с выхода 54 (55) разрешается подстановка значения адреса второго (первого J операнда вместо первого (второго , с выхода 56 (57 запрещается подача значения первого (второго)
0 операнда через блок элементов И 32 (331 в операционный блок 9, что соOTBteTCTByeT адресации регистра общего назначения с нулевым адресом, позволяя использовать его в качестве
5 рабочего регистра.
Микрооперации с первой группы управляющих выходов 58 осуществляют синхронизацию записи информации в соответствующий счетчик 28 (29) блоQ ка 7, либо увеличивают значение кода счетчика 28 (291 на единицу.
Микрооперации с выходов четвертой группы управляющих выходов осуществляют следующие действия: с выхода
, 59 разрешается передача информации в блок 3 оперативной памяти из операционного блока 9 через коммутатор 18 данных (фиг. 3), с выхода 60 выдается сигнал разрешения внутренней записи в блок 3 оперативной памяти
0 из операционного блока 9,i поступающий через коммутатор 17 в блок 3 .оперативной памяти, с выхода 61 разрешается внутреннее чтение информации из блока 3 памяти. С группы вы5 ходов 62 код реализуемой операции передаётся на операционный блок 9 (фиг.. 7) .
Микрооперации с выходов пятой группы управляющих выходов выполня0 ют следующие действия: с выхода
63 (64) разрешается запись в регистр
25испол.иительного адреса (регистр
26приращения ), с выхода 65 - передача из сумматора 30 или с выхода
5 коммутатора 14 в регистр 25 через коммутатор 16 в зависимости от отсутствия или наличия сигнала на выходе 65.
Микрооперация с выхода 66 являет0 ся сигналом разрешения доступа к оперативной памяти извне. Этот сигнал через выход 47 выдается во внешние устройства, а также разрешает задание адреса обращения к блоку 3 5 с группы адресных входов 45 процессора, блокирует задание адреса даниых с ре гистра 25, разрешает прохождение сигналов внешней записи и внеш него чтения через коммутатор 17 и осуществляет коммутацию шины внутренних данных с шиной внешних данных в коммутаторе 18.
G группы выходов 68 в мультиплексор 10 поступает код проверяемых логических условий (признаки переполнения счетчиков 29 и сигналы логических условий операционного блока 91.
С выхода 49 блока 5 выдается сигнал прерывания в случае появления в микропрограмме незадействованных (ошибочных )кодов номеров счетчиков в блоках 27 и 29, а также неверном задании номера регистра в блоке 8.
Блок 6 счетчиков 27 индексов предназначен для задания значений индексов в режимах индексной адресации данных. Начальные значения индексов хранятся в блоке 1 памяти и поступают в блок б через шину 38 команд.
Блок 7 предназначен для задания адреса команды в счетчике 28, а также значений счетчиков циклов в счетчиках 29, информация в которые поступают из блока 1 через коммутатор 14.
Блок 8 формирования исполнительного адреса оперативной памяти предназначен для аппаратно-микропрограммной реализации всех режимов адресации данных в процессоре для команд форматов RX.
Операционный блок 9 (фиг. 7 ) предназначен для выполнения обработки данных и может быть построен по типовой схеме, например на микропроцессорах 1в04ВС1.
Арифметико-логический блок 90 осуществляет выполнение арифметических и логических операций. Блок 91 местного управления координирует работу всех узлов блока 9. Блок 92 регистров содержит регистры общего назначения. Мультиплексоры 94 - 97 предназначены для управления направлениями передачи и сдвигами и фррма- ций в процессе обработки ее блоком 9. Блок 98 элементов И предназначен, для подключения выхода арифметикологического блока 90 к группе информационных входов-выходов данных блока 9.
Мультиплексор 10 логических условий (фиг. 6 предназначен для проверки логических условий, поступающих на его вход с выходов операционного блока 9 и счетчиков 29 циклов .;
Номер проверяемого логического условия задается кодсм, поступгиощим с выхода 68 формирователя 5 на вход дешифратора 89.
Алгоритм работы мультиплексора описывается выражением
rV е.х,
, . irV-f Y .е,Ф , ,ifj 1-1
где V - выходной сигнал мультиплексора 10;
Р; - признак .-го условия, подлежащего проверке; х - значение f-ro условия. Коммутатор 11 адреса микрокоманд предназначен для управления приемом адреса очередной микрокоманды с вы5 хода блока 1 памяти команд через шину 38 команд, задавая тем самым адрес первой микрокоманды микропрог. pajvDuttJ при наличии сигнала конца предыдущей команды с выхода 50 формирО0 вателя 5, либо с выхода блока 2 памяти микропрограммы при отсутствии сигнала на выходе 50 форктрователя 5.; . . .
Коммутатор 14 индексов (фиг. 4)
5 предназначен для управления передачей информации. С группы входов 19 констант на вторую группу входов коммутатора 14 поступает код константы. С выхода блока 1 памяти на пер0 вую группу входов, коммутатора 14
поступает; код адреса команды для записи в счетчике 28 команд, либо код числа циклов для записи в счётчики 29 циклов, либо код значения прира5 щения индекса для записи в регистр 26 приращения. С выхода блока счетчиков 27 индексов на третью группу коммутатрра 14 поступает значение кода индекса для записи в регистр 26 приращения.
Селекция информации в коммутаторе 14 осуществляется выходными сигналами дешифратора 84, который управляется кодом с выхода 52 формирователя 5.
5 При отсутствии сигналов на выходе дешифратора 84 выходным сигналом элемента ИЛИ-НЕ 85 разрешается передача информации с выхода шины 38 команд.
0 При этом в зависимости от наличия управляющего сигнала на входе 42 процессора коммутатор может передавать либо, код адреса команды с гр уппы информационных входов 44 процес5 сора, когда сигнал на входе 42 присутствует, либо код адреса команды, число циклов, значение индекса смещения или приращения в противном случае.
0 Коммутатор 15 адреса оперативной памяти предназначен для управления передачей адреса в блок 3 оперативного запоминающего устройства либо с регистра 25 исполнительного адре5 са при отсутствии сигнала разрешения внешнего доступа к оперативной памяти на выходе 66 формирователя 5, либо с группы входов 45 процессора, куда он поступает от внешнего устройства при условии разрешения внешнего доступа к блоку 3.
Коммутатор 16 исполнительного адреса предназначен для управления передачей исполнительного адреса в регистр 25 исполнительного адреса. При этом адрес передается с выходов сумматора 30 при отсутствии сигнала на выходе 65 блока 5 или в противном случае с выхода коммутатора 14 индексов.
Коммутатор 17 (фиг. 5) предназначен -для коммутации сигналов управления, (записи, считывания режимами работы блока 3 оперативного запоминающего устройства.
Коммутатор 18 данных (фиг. 31 предназначен для управления передачей информации между блоком 3, операционным блоком 9 и шиной 40 внешних данйых. Связи между этими тремя блоками устанавливаются путем соответствующего соединения между собой групп входов-выходов блока 80 элементов И внутренних данных, блока 81 элементов И внешних данных и блока 82 элементов И. Формирование Линий связи осуществляется с помощью коммутатора 78 и блоков 80 - 82 элементов И. При отсутствии сигнала на входе 66 коммутатор 78 передает данные с группы в ходов-выходов блока 80 на информационный вход коммутатора 8 , в противном случае - с группами входов-выходов блока 81. При наличии сигнала на выходе 59 коммутатора 18 передача информации разрешается на выход блока 80 (выходы блока 82 закрыты ), а при его отсутствии на выход блока 82 (выходы блока 80 закрыты ). Передача информации на выход блока 81 производится только при наличии сигнала на входе 45 коммутатора 18 данных.
Блок 20 пуска-останова предназначен для включения генератора 21 тактовых испульсов по сигналу Пуск, котовый поступает на вход 43 процессора. Останов генератора 21 осуществляется по сигналу конца работы, который формируется на выходе 67 . ормирователя 5.
Генератор 2i тактовых импульсрв, выдает тактовое импульсы на выходах 69 и 70 с постоянной частотой и смещением по фазе.
Сумматор 30 предназначен для сложения кодов, заданных в регистре 25 исполнительного адреса и регистре 26 приращения.
Элемент ИЛИ 36 предназначен для модификации адреса очередной микрокоманды в соответствии с результатами проверки логического условий мультиплексором 10.
Устройство работает следующим образом.
Процессор может функционировать в трех режимах: приема управляющей информации о выполняемой программе} обработки информации и выполнении вычисленийf. внешнего обмена.
В первом режиме триггер 31 пуска выключен и генератор 21 тактовых импульсов не выдает тактовых импульсов , а выход блока 1 памяти команд заблокирован.
По сигналу с управлякмцего входа 42 открывается блок 37 элементов 4 и с группы входов 44 адрес первой команды программы через шину 38 команд и коммутатор 14 записывается в счегчик 28 команд, запись В который осуществляется также импульсом со входа 42, поступающим на синхровход .счетчика 28 команд через элемент ИЛИ 35. После этого процессор готов к началу работы во втором режиме, в котором сигналы на управляющем входе 42 процессора отсутствуют и не вырабатываются в дальнейшем.
Во втором основном режиме работы процессора выполняется обработка данных. Исходным состоянием для него является задание в счетчике 28 адреса первой команды программы. Все остальные элементы памяти находятся в исходном состоянии, при котором на выходе 50 формирователя 5 присутствует сигнал, а остальные микрооперации отсутствуют, что соответствует выполнению холостого цикла в течение первого Машинного цикла.
По сигналу пуска со входа 43 включается триггер 31 пуска и запускается генератор 21, формирующий тактовую сетку синхронизации работы процессора.
Из блока 1 памяти команд по первому тактовому импульсу с выхода 69 генератора 21 считанная команда (код операции коман;цл) записывается в регистр 24 и адресует первую микрокоманду в блоке 2 памяти микрокоманд.
Таким образом, холостая микрокоманда позволяет процессору опреде лить тип первой команды и начальный адрес микропрограммы ее выполнения, а также произвести запись в регистры 22 и 23 содержимо1го командного слова.
Далее выполнение команды зависит от ее. формата.. j
Для команд формата RR сигналом с выхода 53 формирователя 5 производится запись значений R1 и R2 в регистры 22 и 23 соответственно. Так как сигналы на выходах 54 - 57 формирователя 5 отсутствуют, то содержимое регистров 22 и 23 передается на вход адресации регистров общего назначения фиг. 7 операционн го блока 9 без изменения. Первая микрокоманда микропрограм мы выполнения команды на группе выходов 62 формирователя 5 задает код реализуемой операции, который поступает в операционный блок 9. В зависимости от характера выполняемэй операции в счетчики 29 блока 7 может заноситься информация о кратности реализуемых циклов. В этом случае по адресу, заданному в счетчике 28, считывается информация из блока 1 памяти, которая через шину 38 команд и коммутатор 14 зано сится в соответствующий счетчик 29. Управление осуществляется микрооперациями с групп выходов 52 и 58 формирователя 5. При считывании информации из бло ка 1 памяти содержимое счетчика 28 команд продвигается путем подачи си налов на его счетный вход с соответ ствующего выхода группы выходов 58 формирователя 5. Рассмотрим режимы формирования исполнительного адреса для команд формата R X. в этом случае работа процессора аналогична описанному, но на вход операционного блока 9 передается со держимое R1, хранящееся в регистре 22. Содержимое регистра 23 в блоке 9 не воспринимается, что определяет ся кодом операции, задаваёмьии с группы выходов 62 формирователя 5. Формирование исполнительного адреса второго операнда происходит следующим образом. При выполнении команд, формата RX1 адрес второго операнда задается в формате команды в виде смещения D, значение которого (фиг. 91 через коммутаторы 14 и 16 записывается в регистр 25 исполнительного адреса и через коммутатор 15 выдается на адресный вход блока 3. Это осуществляется сигналом на выходе 63 формирователя 5 (записьв регистре 25 при отсутствии сигналов на выходе дешифратора 84 (фиг. 4) и на выходах 65 и 68 формирователя 5. По этому адресу в следующей микрокоман де осуществляют чтение или запись . в блок 3 оперативного запоминающего устройства. В режимах адресации с.индексацией происходит аапись значения смеще ния из блока 1 памяти в регистр 25 исполнительного адреса аналогично описанному для режима прямой адреса ции, а формирование исполнительного адреса второго операнда указано выш при описании режимов RX. Перед реализацией режимов адреса ции данных с индексацией ( RX2РХЗ ) производится предварительное занесение значения индекса в один из счетчиков 27 индекса, а значение глубины цикла (дополнение )- в счетчик 29. При этом адрес индекса или дополнения сетчика циклов до количества слов, обрабатываемых в массиве, в блоке 1 памяти задается счетчиком 28. По сигналам микрооперации с соответствующей группы выходов 51 разрешается запись значения индекса в нужный счетчик 27 индекса, а дополнения счетчика циклов - в счетчик 29 циклов при выполнении команд загрузки счетчиков 27 и 29. По следующим микрокомандам реализуется один из возможных режимов адресации с индексацией. В режиме РХЗ по следующей микрокоманде производится перезаписьзначения индекса из соответствующего счетчика 27 через коммутатор 14 в регистр 26 приращения. Управление осуществляется сигналами микроопераций с группы выходов 52 и с выхода 64 формирователя 5. В следующей микрокоманде по микрооперации с выхода 63 формирователя 5 осуществляется запись в регистр 25 значения исполнительного адреса, равного сумме индекса и смещения, с выхода сумматора 30 через коммутатор 16. В режиме RX2 адресации с индексацией и продвижением индекса необходимо осуществлять параллельно с выдачей исполнительного адреса числа увеличение значения индекса на единицу. В данном режиме формирование исполнительного адреса числа осуществляется аналогично режиму адресации с индексацией без продвижения индекса за исключением того, что в цикле записи исполнительного адреса с выхода сумматора 30 через коммутатор 16 в регистр 25 ,.по микрооперации с соответствуквдего выхода группы выходов 51 формирователя 5 производится увеличение значения нужнбго счетчика 27 индексов и счетчика 29 циклов на единицу, причем на мультиплексоре 10 логических условий производится проверка счетчика 29 циклов, адрес микрокоманды модифицируется и производится выход из микропрограммы. При выполнении адресации с индексацией с постоянным шагом RX4 исполнительный адрес первого числа формируется аналогично описанному для режима прямой адресации (фиг. 11. Значение величины шага по адресу, заданному в счетчике 28, считывается из блока 1 памяти и записывается через коммутатор 14, управляемый сигналом с соответствующего выхода группы выходов 52 формирователя 5,
в регистр 26 приращения по сигналу с выхода 64 формирователя 5.
По очередной микрокоманде формируется второй исполнительный адрес массива на основе сложения содержимых регистров 25 и 26 на сумматоре 30 с последующей записью в регистр
25исполнительного адреса. Аналогично второму формируются и
последующие исполнительные адреса, при этом аналогично режимам ЙХ2 и производится проверка условия переполнения j-ro счетчика 29 цикло указывающего на окончание обработки массива чисел.
В режиме адресации с перем.енным maroM{f X5) формирование первого и второго исполнительных-адресов осуществляется аналогично описанному для режима индексной адресации с постоянным шагом.
Для формирования адреса третьего и последующих чисел осуществляется считывание по даресу, заданному в счетчике 28, из блока 1 памяти значения приращения для данного числа и запись его в регистр 26 индекса, что на фиг. 12 показано с перене е,нием блока загрузки Д в регистр
26после блока проверки условия переполнения счетчика 29. По следующе микрокоманде происходит сложение на сумматоре 30 содержимого регистров 25 и 26 и запись сформированного таким образом исполнительного адреса в регистр 25.
После сформирования исполнительного адреса второго операнда операционный блок 9 может приступить к выполнению оперепдии.
Для выполнения операции, связанных со считыванием из блока 3 оперативного запоминающего устройства содержание этого блока по адресу, заданному в регистре 25, считывается через коммутатор 18 данных на информационную шину 41. После этого операционный блок 9 выполняет соответствующую операцию. При выполнении операций, связанных с записью данных в блок памяти, содержимое регистра 25 определяет адрес, по которому производится запись данных в блок 3 оперативного запоминаюи1его устройства.
Управление внутренней передачей данных между блоком 3 и операционны блоком 9 осуществляют микрооперации
с выходов 60 (внутренняя запись в блок 3), 61 (внутреннее чтение из блока 3 , 59 (управление записью формирователя 5 микроопераций.
При выполнении йекоторых операций в течение нескольких тактов работа может осуществляться операционным блоком 9 без обращения к блоку 3. С началом такого режима с выхода 66 формирователя 5 выдается сигнал микрооперации, разрешающий внешний доступ к блоку 3 оперативного запоминающего устройства, определяя третий режим работы процессора.
Этот сигнал поступает на выход 47 процессора и передается, например в процессор высшего уровня управления , а также на входы коммутаторов 15, 17 и 18. При этом коммутатор 15 пропускает адрес обращения к блоку 3 с группы входов 45 процессора, коммутатора 17 в зависимости от сигналов (записи или чтения/, поступающих с управляющих разрядов группы входов 45 (фиг. 5/, выдает в блок 3 сигнал записи или чтения, а коммутатор 18 формирует такт свяэи через внутренние 39 и внешние 40 шины данных, тем самым соединяя группу входов-выходов 46 внешних данных процессора через шину 39 внутренних . данных с группой входов-выходов блока 3.
По окончании такого режима естественного ожидания процессора сигнал с выхода 66 формирователя 5 снимается и процессор продолжает работать аналогично описанному.
В последней микрокоманде команды выполняемой процессором программы, с выхода 67 формирователя 5 выдается сигнал микрооперации окончания работы, который с выхода 48 процессора передается, например, в процессор высшего уровня управления и через элемент И 34 устанавливает триггер 31 в нулевое состояние, что приводит к отключению генератора 21 и прекращению работы процессора в целом.
Таким образом, предлагаемый микропрограммный процессор обладает широкими функциональными возможностями благодаря широкому набору режимов адресации, позволяющих обрабатывать большие массивы да1нных с более высокой производительностью, чем в известном устройстве.
ItC
Г5
fSSj
1Э
IT
0
c3
i
ca yj
v «a
t
фиг. 2
Cpui.ff
(риг. 5
tr
DC 83
g, Kl
CPUi.f
фиг. 7
Фие. ft
(
Cf 29i Cr29i+j
Ma
С конец oBpcfffom If и MacciJSa
Pr2S-Pr2Si-Pr2S
(конец cpoofKjpoeafft/й Aj j
для (poflM.Aj
Запись J3 В Рг 25
(Тоика gxoffa зля(poflft.Ajf-f j
ЗаписА i 6 fr2e
(P(J&. T2
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Па,тент Великобритании 1397253, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Сплав для отливки колец для сальниковых набивок | 1922 |
|
SU1975A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Продольный конвейер | 1987 |
|
SU1447736A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Планшайба для точной расточки лекал и выработок | 1922 |
|
SU1976A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Видоизменение прибора для получения стереоскопических впечатлений от двух изображений различного масштаба | 1919 |
|
SU54A1 |
группы счетчиков циклов, блок пуска-останова, состоящий из элемента И и триггера, причем управляющий вход процессора соединен с управляющими .входами блока памяти команд, блока элементов И и с первым входом второго элемента ИЛИ, выходы первой группы управляющих выходов формирователя микроопераций соединены соответстСП СП венно с вторым входом второго элемента ИЛИ, со счетными входами, входами синхронизации счетчиков циклов и со счетным входом счетчика команд, вторая группа управляющих выходов формирователя микроопераций соединена со счётными входами и входами синхронизации счетчиков индексов, группа информационных входов которых соединена через шину команд с группой выходов блока памяти команд, с группой информационных выходов блока элементов И, с первой группой информационных входов коммутатора индексов , с группой информационных входов регистра адресации первого операнда и регистра адресаций второ |
Авторы
Даты
1984-01-30—Публикация
1982-09-16—Подача