SU1487036A1 - Control system microprogram module - Google Patents
Control system microprogram module Download PDFInfo
- Publication number
- SU1487036A1 SU1487036A1 SU874204255A SU4204255A SU1487036A1 SU 1487036 A1 SU1487036 A1 SU 1487036A1 SU 874204255 A SU874204255 A SU 874204255A SU 4204255 A SU4204255 A SU 4204255A SU 1487036 A1 SU1487036 A1 SU 1487036A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- address
- register
- module
- Prior art date
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
Изобретение относится к вычислительной технике и может быть использовано при построении микропрограммных устройств управления однородных микропроцессорных систем, построенных на однотипных модулях.Цель изобретения - сокращение емкости бло,ка памяти микрокоманд» Микропрограммный модуль содержит блок памяти микрокоманд, регистр адреса микрокоманд, «регистр микроопераций, регистр адреса возврата, мультиплексор адреса, мультиплексор логическйх условий,демультиплексор передачи управления, триггер возврата, триггер пуска,блок элементов ИЛИ, группу элементов ИЛИ, первый, второй и третий элементы ИЛИ, с первого по шестой элементы И, одновибратор, первый и второй элементы задержки» Новыми элементами в микропрограммном модуле, благодаря которым достигается цель, являются с первого по третий элементы ИЛИ, блок элементов ИЛИ, группа элементов ИЛИ, с четвертого по шестой элементы задержки и одновибратор. В.модуле реализована возможность многократного обращения к наиболее часто используемым подпрограммам без потери управления вызывающим модулем.The invention relates to computing and can be used to build microprogram control devices of homogeneous microprocessor systems built on the same type of modules. The purpose of the invention is to reduce the capacity of the microinstructions memory block. The microprogram module contains the microinstruction memory block, the microoperations register, the register return addresses, address multiplexer, logic conditions multiplexer, control transfer demultiplexer, return trigger, start trigger, block element OR, group of elements OR, first, second and third elements OR, first to sixth elements AND, one-shot, first and second elements of delay ”The new elements in the microprogram module, thanks to which the goal is reached, are the first to third elements OR, block OR elements, a group of OR elements, from fourth to sixth delay elements and a one-shot. V. Module implements the possibility of multiple calls to the most frequently used subroutines without losing control of the calling module.
6 ил.6 Il.
Изобретение относится к вычислительной технике и может быть использовано при построении микропрограммных устройств управления однородных микропроцессорных вычислительных систем, построенных на однотипных модулях .The invention relates to computing and can be used to build microprogram control devices of homogeneous microprocessor computing systems built on the same type of modules.
Целью изобретения является сокращение емкости блока памяти микрокоманд»The aim of the invention is to reduce the capacity of the memory of microinstructions "
На фиг.1 и 2 показана функциональная схема микропрограммнб'го модуля; на фиг.З - структурная схема включения модулей; на фиг»4 - блок-схема передачи управления между модулямиFigures 1 and 2 show the functional diagram of the firmware of the module; on fig.Z - block diagram of the inclusion of modules; Fig "4 is a block diagram of the transfer of control between modules
без возврата (а) и с возвратом (б); на фиг.5 - форматы микрокоманд; на фиг»6 - блок-схема алгоритма работы модуля.no refund (a) and refund (b); figure 5 - formats of microinstructions; Fig "6 is a block diagram of the algorithm of the module.
Модуль содержит (фиг.1, ,2) блок 1 памяти микрокоманд с выходами: поля 1»1 - микроопераций (адреса возврата), поля 1.2 - логических условий (номера МЦМ), поля 1»3 - адреса следующей команды (адреса передачи управления), 1.4 и 1»5 - первого и второго разрядов признаков для идентификации значений выходов 1.1. 1.2 1.3 - регистр 2 адреса микрокоманд.The module contains (Fig. 1, 2) block 1 of microinstructions memory with outputs: fields 1 "1 - microoperations (return addresses), fields 1.2 - logical conditions (IDC numbers), fields 1" 3 - addresses of the next command (control transfer addresses ), 1.4 and 1 "5 - the first and second digits of the signs to identify the values of outputs 1.1. 1.2 1.3 - register 2 microcommand addresses.
1487636 А11487636 A1
14870361487036
регистр 3 микроопераций, регистр 4 адреса возврата, мультиплексор 5 адреса, мультиплексор 6 логических условий, демультиплексор 7 передачи уп- $ давления, триггер 8 возврата, триггер 9 пуска; блок 10 элементов ИЛИ; группу 11.1 ...11.η элементов ИЛИ, первый 12, второй 13 и третий 14 элементы ИЛИ, третий 15, первый 16,шеетой 17, четвертый 18, пятый 19 и второй 20 элементы И, одновибратор 21, первый 22 и второй 23 элементы задержки, входы 24„1..о24„η приема управления модуля, первый 25.1 и вто- ,5 рой 25.2 входы синхронизации модуля соответственно, вход 26 останова модуля, выход 27 микрооперационного модуля, содержащий разряд 27.1 концаregister 3 micro-operations, register 4 return addresses, multiplexer 5 addresses, multiplexer 6 logical conditions, demultiplexer 7 transmission up- $ pressure, return trigger 8, trigger 9 start; block of 10 elements OR; group 11.1 ... 11.η elements OR, first 12, second 13 and third 14 elements OR, third 15, first 16, neck 17, fourth 18, fifth 19 and second 20 elements AND, one-shot 21, first 22 and second 23 delay elements, inputs 24 "1..о24" η of the module control reception, the first 25.1 and second, 5 rotary 25.2 module synchronization inputs, respectively, the module stop input 26, the output 27 of the micro-operation module containing end 27.1 discharge
работы модуля, выходы 28.1...28.η пе- 20 использованием принудительной адрередачи управления другим модулям,разряды-признаки 29.1...29.η конца подпрограмму, принимаемые вызывающим модулем, разряды 30.1...30.η группы выходов передачи управления модуля, младший разряд 31 адреса следующей микрокоманды, учитывающий логические условия при выполнении текущей микрооперации, вход 32 логических условий модуля, разряд 33 конца подпрограммы.module operation, outputs 28.1 ... 28.η using the use of forced adressing control to other modules, bits-signs 29.1 ... 29.η of the end of the subroutine received by the calling module, bits 30.1 ... 30.η of the group of control transmission outputs of the module, the low-order bit 31 of the address of the next microcommand, which takes into account the logical conditions when the current micro-op is performed, the input 32 logic conditions of the module, the discharge 33 of the end of the subroutine.
На фиг.З - 5 использованы следующие обозначения:On fig.Z - 5 the following notation is used:
КОП - код операции;KOP - opcode;
- логические условия;- logical conditions;
- стоп;- stop;
- микрооперация;- micro-operation;
ЛУLU
стst
МОMO
мпмmpm
Ф1,F1,
командteams
- микропрограммный модуль; Ф2, Ф2 , ФЗ - форматы микроестественной выборки, передачи управления без возврата, передачи управления с возвратом, окончания подпрограммы соответственно;- microprogram module; F2, F2, FZ - formats of micro-natural sampling, transfer of control without return, transfer of control with return, termination of the subroutine, respectively;
Асд ~ адрес следующей микрокоманды;Asd ~ address of the next microcommand;
«-1, *2 - разряды модификации полей микрокоманды;“-1, * 2 - digits of the modification of the microcommand fields;
Апу - адрес передачи управления;Apu - address transfer control;
№ ΜΙΙΜ - номер микропрограммного№ ΜΙΙΜ - firmware number
модуля;module;
Авз - адрес возврата;Avz - return address;
КПП - конец подпрограммы. Мультиплексор 5 адреса служитPPC - the end of the subroutine. Multiplexer 5 address serves
для выбора направления приема кода микрооперации, являющегося кодом ад" реса первой микрокоманды вызываемой · микропрограммы,, Из восьми кодовых комбинаций, обеспечиваемых трехразрядным адресным входом А1, А2, АЗ мультиплексора, использованы три,ко25for choosing the direction of reception of the micro-operation code, which is the code of the adres of the first microcommand of the microprogram called · Of the eight code combinations provided by the three-digit address input A1, A2, AZ of the multiplexer, three were used,
30thirty
3535
4040
4545
5050
5555
торые разрешают прием кода адреса микрокоманды из регистра адреса возврата, от других модулей,· из адресной части микрокоманд в соответствии с таблицей 0 The latter permit the receipt of the micro-command address code from the return address register, from other modules, · from the address part of the micro-commands in accordance with Table 0
Модуль работает в трех основных режимах: выполнение микропрограммыThe module operates in three main modes: firmware execution
сации; передача управления другим микропрограммным модулям; передача управления с последующим возвратом управления в передающий модуль.sations; transfer of control to other firmware modules; transfer of control with subsequent return of control to the transmitting module.
В исходном состоянии блок памяти микрокоманд содержит коды микрокоманд, элементы памяти находятся в нулевом состоянии. При поступлении на один из информационных входов 24.1...24оη кода команд на выходе второго элемента ИЛИ 13 появляется сигнал, который запускает модуль, устанавливая триггер пуска в единичное состояние, и совместно с сигналом с прямого выхода триггера пуска открывает информационный вход Ώ мультиплексора адреса. Код команды по синхроимпульсу с входа 25„1 записывается на регистр 2 адреса и, являясь адресом первой микрокоманды микропрограммы, выбирает из блока памяти код этой микрокоманды.In the initial state, the microinstructions memory block contains microinstructions codes, the memory elements are in the zero state. When a command code arrives at one of the information inputs 24.1 ... 24ot η at the output of the second element OR 13, a signal appears that triggers the module, setting the trigger trigger to one state, and opens the address multiplexer information input together with the signal from the direct trigger trigger output. The command code for the sync pulse from input 25 „1 is written to register 2 addresses and, being the address of the first microcommand of the microprogram, selects the code of this microcommand from the memory block.
В режиме принудительной адресации на выходе блока памяти находится микрокоманда Ф1 (см.фиг.5), которая разрядами *1 и *2 разрешает работу регистра 3 микроопераций и мультиплексора 6 логических условий, при этом код адреса следующей микрокоманды через мультиплексор 6 логических условий поступает на вход Ώ3 мультиплексора адреса, который открывается по управляющему сигналу с выхода триггера пуска. Снятие сигнала с выхода элемента 13 в этот момент происходит за счет прекращения подачи на вход модуля кода команды. По синхросигналу с входа 25.2 код микроопераций, а по следующему синхросиг1487036In the forced addressing mode at the output of the memory block is a F1 micro-command (see Fig. 5), which by bits * 1 and * 2 enables the register of micro-operations 3 and the multiplexer 6 logical conditions, while the address code of the next micro-command goes to the logical conditions 6 input Ώ 3 address multiplexer, which is opened by the control signal from the start trigger output. The removal of the signal from the output of the element 13 at this moment occurs due to the termination of the supply of the command code to the module input. The sync signal from input 25.2 is the code of micro-operations, and according to the following sync signal 1487036
налу с входа 25.1 адрес перехода заносится в регистр 2 и поступает на адресный вход блока памяти, цикл повторяется. При этом младший разряд кода адреса перехода в микрокомандах безусловного перехода, проходя через мультиплексор 6 логических условий, не изменяется, что обеспечивается нулевым кодом номера логических условий, подаваемым на адресный вход мультиплексора, В микрокомандах условного перехода код номера логических условий указывает проверяемое условие, и в зависимости от его выполнения в операционном блоке на выходе мультиплексора 6 появляется "0" или "1",On the input 25.1, the junction address is entered into register 2 and is fed to the address input of the memory block, the cycle repeats. In this case, the low order code of the transition address code in microinstructions of an unconditional transition, passing through the multiplexer 6 logical conditions, does not change, which is ensured by the zero code of the logical conditions number applied to the multiplexer address input. In the microcommands of the conditional transition, the code of the logical conditions number indicates the condition being checked, and depending on its performance in the operational unit at the output of multiplexer 6 appears "0" or "1",
.Таким образом, при выполнении условия адрес перехода не изменяется (остается четным), а при невыполнении - адрес увеличивается на единицу в младшем разряде,Thus, if the condition is met, the transition address does not change (remains even), and if it fails, the address is increased by one in the low order,
В режиме передачи управления на выходе блока 1 памяти появляется микрокоманда Ф2, которая разрядами -ί 1 и *2 включает регистр 3 микроопераций и демультиплексор передачи управления. Код номера принимающего модуля (выход 1,2 блока памяти) поступает на адресный вход демультиплексора 7 и выбирает одно из направлений передачи 28,10.,28.п, по которому передается адрес первой микрокоманды подпрограммы с выхода 1.3 блока памяти.In the transfer control mode, at the output of memory block 1, the F2 microinstruction appears, which by bits -ί 1 and * 2 includes the register of 3 micro-operations and the control transfer demultiplexer. The code of the number of the receiving module (output 1.2 of the memory block) goes to the address input of the demultiplexer 7 and selects one of the transmission directions 28.1 0. , 28.n, which is used to transmit the address of the first microcommand of the subroutine from output 1.3 of the memory block.
Этот адрес через блок 10 элементов ИЛИ поступает на вход ϋ 1 мультиплексора адреса, В свою очередь код адреса, пройдя через второй элемент ИЛИ 13, формирует сигнал, который запускает данный модуль, устанавливая триггер 9 пуска в единичное состояние, и совместно с сигналом с прямого выхода триггера пуска открывает вход ϋ 1 мультиплексора адреса. В результате код адреса микрокоманды поступает на регистр адреса, затем по синхросигналу с входа 25.1 он записывается в данный регистр, и происходит обращение к блоку 1 памяти микрокоманд, Далее алгоритм работы модуля, принявшего управление, совпадает с описанным алгоритмом режима принудительной адресации.This address through the block of 10 elements OR is fed to the input ϋ 1 of the address multiplexer. In turn, the address code, passing through the second element OR 13, generates a signal that triggers this module, setting the start trigger 9 to one state, and together with the signal from the direct trigger trigger output opens the address multiplexer input вход 1. As a result, the address code of the micro-command is sent to the address register, then it is written to the given register by the clock signal from input 25.1, and block 1 of the micro-instructions memory is accessed. Next, the algorithm of the module that takes control matches the described algorithm of forced addressing.
Режим передачи управления с возвратом отличается от описанного выше .режима тем, что одновременно с передачей управления другому модулю про10The transfer control mode with a return differs from the mode described above in that simultaneously with the transfer of control to another module 10
1515
2020
30thirty
3535
исходит фиксация адреса следующей микрокоманды и подготовка управляющего сигнала "Возврат" для приема этого адреса на вход ϋ 2 мультиплексора 5 адреса. Это обеспечивается микрокомандой Ф 2+, в которой в поле 1.1 записан адрес возврата, а разряд *1 включает демультиплексор 7 передачи управления, а метка *2 переводит триггер 8 возврата через третий элемент И 15 в единичное состояние,A fixation of the address of the next microcommand proceeds and preparation of the "Return" control signal to receive this address at the input ϋ 2 of the multiplexer 5 address. This is provided by the F 2 + microinstruction, in which the return address is written in field 1.1, and the discharge * 1 turns on the control transfer demultiplexer 7, and the label * 2 converts the return trigger 8 through the third element 15 to the one state,
Кроме того, разряд *1 по синхросигналу с входа 25,2 выключает данный модуль,переводя через четвертый элемент И 18 и третий элемент ИЛИ 14 триггер пуска в нулевое состояние, а также по сигналу с выхода первой 22 линии задержки сбрасывает в нулевое состояние регистры 2 адреса и 3 микроопераций.In addition, the discharge * 1 on the clock signal from input 25.2 turns off this module, translating through the fourth element AND 18 and the third element OR 14, the start trigger to the zero state, as well as the signal from the output of the first 22 delay lines, resets the registers 2 to the zero state addresses and 3 microoperations.
После выполнения подпрограммы на выходе блока 1 памяти ймикроопераций фиксируется микрокоманда Ф 3 воз25 врата управления, Б поле 1,1 код микрооперации, являющейся последней в подпрограмме, содержит в младшем разряде признак 33 конца подпрограммы КПП, который через вторую линию 23 задержки и группу элементов ИЛИ поступает на все связанные с данным модули, чем обеспечивается многократное обращение к данной подпрограмме всех модулей без потери управления.After the subprogram is executed, at the output of block 1 of memory and micro-operations, micro-command F 3 of the control gate is fixed, field B 1.1 of the micro-operation code, which is the last in the sub-program, contains in the low-order sign 33 of the end of the sub-program of the checkpoint, which through the second line 23 of the delay and the group of elements OR arrives at all associated with this module, which ensures that the subroutine of all modules is repeatedly accessed without loss of control.
Сигнал КПП вызывает запуск всех модулей, устанавливая через второй элемент ИЛИ 13 триггер 9 пуска в единичное состояние, и открывает входы Ώ 1 мультиплексоров всех модулей,The transmission signal causes the launch of all modules, setting the trigger 9 of the second element OR 13 into one state, and opens the inputs мульти 1 multiplexers of all modules,
40 кроме модуля, ожидающего возврата, который по переднему фронту сигнала КПП открывает через второй элемент И 17 вход ϋ 2 мультиплексора 5 адреса и по синхросигналу с входа 25.1 45 принимает адрес из регистра 4 возврата в регистр 2 адреса.40 besides the module waiting for the return, which opens the second front element AND 17 through input ϋ 2 of the address multiplexer 5 and receives the address from register 4 of input 25.1 45 from the register 4 to return to register 2 of the address.
5050
5555
После выполнения подпрограммы по сигналу КПП адрес возврата поступает через мультиплексор 5 только в том модуле, в котором был установлен в единичное состояние триггер 8, который инициировал запрос на выполнение подпрограммы. В других модулях несмотря на то, что сигналом ИЛИ 13 может осуществляться запуск триггера 9, нарушение функционирования не происходит, поскольку мультиплексор 5 зак рыт и из регистра 2 постоянно проис7After the subprogram is executed on the KPP signal, the return address enters through multiplexer 5 only in the module in which the trigger 8, which initiated the request to execute the subprogram, was set to one. In other modules, although the trigger 9 can be triggered by an OR 13 signal, a malfunction does not occur, since multiplexer 5 is closed and register 2 is constantly occurring
'1487036'1487036
8eight
ходит обращение к нулевой ячейке блока памяти, содержащей нулевой код. A reference is made to the zero cell of the memory block containing the zero code.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU874204255A SU1487036A1 (en) | 1987-01-19 | 1987-01-19 | Control system microprogram module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU874204255A SU1487036A1 (en) | 1987-01-19 | 1987-01-19 | Control system microprogram module |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1487036A1 true SU1487036A1 (en) | 1989-06-15 |
Family
ID=21288584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU874204255A SU1487036A1 (en) | 1987-01-19 | 1987-01-19 | Control system microprogram module |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1487036A1 (en) |
-
1987
- 1987-01-19 SU SU874204255A patent/SU1487036A1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5235686A (en) | Computer system having mixed macrocode and microcode | |
US4118773A (en) | Microprogram memory bank addressing system | |
US4320453A (en) | Dual sequencer microprocessor | |
US4316244A (en) | Memory apparatus for digital computer system | |
US4156925A (en) | Overlapped and interleaved control store with address modifiers | |
US4462073A (en) | Apparatus for fetching and decoding instructions | |
US3560933A (en) | Microprogram control apparatus | |
US4422144A (en) | Microinstruction substitution mechanism in a control store | |
US3786434A (en) | Full capacity small size microprogrammed control unit | |
GB2024475A (en) | Memory access controller | |
KR940011594B1 (en) | Multiprocessor controller having time shared control store | |
GB1594838A (en) | Microprogrammed system with single adressing means | |
EP0010197B1 (en) | Data processing system for interfacing a main store with a control sectron and a data processing section | |
EP0073561B1 (en) | High speed microinstruction execution apparatus | |
SU1487036A1 (en) | Control system microprogram module | |
US4447877A (en) | Memory bus interface system | |
JPH02242334A (en) | Computer apparatus to be microprogrammed and addressing of microcode sequence memory | |
DE69614561T2 (en) | COMMAND DECODER WITH DOUBLE BRANCHING IN EMULATION CODE | |
GB1578392A (en) | Carrying out microinstruction sequences | |
EP0284327B1 (en) | Shared micro-ram with micro-rom linking | |
US4218741A (en) | Paging mechanism | |
WO1987004819A1 (en) | Apparatus and method for a microprogrammed data processing system having a plurality of control stores | |
SU1177812A1 (en) | Microprogram control device | |
SU1142833A1 (en) | Microprogram control device | |
US4510582A (en) | Binary number substitution mechanism |