SU1697082A1 - Microprogramming computer processor - Google Patents

Microprogramming computer processor Download PDF

Info

Publication number
SU1697082A1
SU1697082A1 SU894721849A SU4721849A SU1697082A1 SU 1697082 A1 SU1697082 A1 SU 1697082A1 SU 894721849 A SU894721849 A SU 894721849A SU 4721849 A SU4721849 A SU 4721849A SU 1697082 A1 SU1697082 A1 SU 1697082A1
Authority
SU
USSR - Soviet Union
Prior art keywords
data
input
output
block
unit
Prior art date
Application number
SU894721849A
Other languages
Russian (ru)
Inventor
Борис Михайлович Кричевский
Валерий Федорович Любарский
Анатолий Александрович Якуба
Original Assignee
Институт кибернетики им.В.М.Глушкова
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Институт кибернетики им.В.М.Глушкова filed Critical Институт кибернетики им.В.М.Глушкова
Priority to SU894721849A priority Critical patent/SU1697082A1/en
Application granted granted Critical
Publication of SU1697082A1 publication Critical patent/SU1697082A1/en

Links

Abstract

Изобретение относитс  к вычислительной технике и может быть использовано дл  построени  ЭВМ с микропрограммным управлением , предназначенных дл  эффективной реализации микропрограммными средствами проблемно- и машинно-ориентированных  зыков высокого уровн . Цель изобретени  - повышение производительности процесса. Указанна  цель достигаетс  тем, что процессор содержит блок управлени  и синхронизации, регистр левого операнда, регистр правого операнда, блок настройки, два регистра общего назначени , блок сдвига, блок дескрипторов, блок установки переноса, блок установки типа и длины пол  данных, блок ввода-вывода, блок стековой пам ти операндов, коммутатор данных, кольцевой арифметико-логический блок и два коммутатора. В предлагаемом процессоре повышение производительности при микропрограммной реализации входных  зыков высокого уровн  с использованием стековой организаций данных достигаетс  за счет выравнивани  стековых операндов не по правому краю разр дной сетки арифметико-логического блока, а по разр дной сетке результата, помещаемого в стек. При этом значительно сокращаетс  количество действий, привод щих к тому же результату, что и в аналогичных процессорах. 1 з.п. ф-лы, 12 ил. to СThe invention relates to computing and can be used to build microprogram controlled computers for the effective implementation by the microprogram means of problem-based and machine-oriented high-level languages. The purpose of the invention is to increase the productivity of the process. This goal is achieved by the fact that the processor contains a control and synchronization unit, a left operand register, a right operand register, a setting unit, two general registers, a shift unit, a descriptor unit, a transfer installation unit, a data field type and length setting unit, an input unit output, block stack memory operands, data switch, ring arithmetic logic unit and two switches. In the proposed processor, an increase in performance in the firmware implementation of high-level input languages using stack data organizations is achieved by aligning the stack operands not at the right edge of the arithmetic logic unit, but by the result resultant stack. This significantly reduces the number of actions resulting in the same result as in similar processors. 1 hp f-ly, 12 ill. to C

Description

Изобретение относитс  к вычислительной технике и может быть использовано дл  построени  ЭВМ с микропрограммным управлением , предназначенных дл  эффективной реализации микропрограммными средствами проблемно- и машинно-ориентированных  зыков высокого уровн .The invention relates to computing and can be used to build microprogram controlled computers for the effective implementation by the microprogram means of problem-based and machine-oriented high-level languages.

Целью изобретени   вл етс  повышение производительности процессора (при микропрограммной реализации входных  зыков высокого уровн  с использованием стековой организации данных за счет выравнивани  стековых операндов не по правому краю разр дной сетки арифметико-логического блока, а по разр дной сетке результата, помещаемого в стек)The aim of the invention is to increase processor performance (when firmware implementation of high-level input languages using stack organization of data by aligning the stack operands not at the right edge of the discharge grid of the arithmetic logic unit, but according to the discharge grid of the result placed in the stack)

На фиг.1 и 2 представлена структурна  схема процессора; на фиг.З - структурна  схема кольцевого арифметико-логического блока; на фиг.4 - структурна  схема блока стековой пам ти операндов, на фиг.5 - пример выполнени  блока настройки; на фиг.6 - пример выполнени  блока ввода-вывода; на фиг.7 - структура блока дескрипторов; на фиг.8 - пример реализации блока установки переноса; на фиг,9 - пример выполнени  блока установки типа и длины пол  данных; на фиг, 10 - форматы отдельных микрокоманд процессора; на фиг.11 - варианты стековых арифметико-логических операций; на фиг.12 - пример расположени  операндов в стеке.Figure 1 and 2 presents the structural scheme of the processor; Fig. 3 is a structural diagram of a ring arithmetic logic unit; Fig. 4 is a block diagram of the stack memory unit of the operands; Fig. 5 is an example of the configuration block; 6 shows an exemplary embodiment of an I / O unit; figure 7 - the structure of the block descriptors; on Fig is an example of the implementation of the installation unit transfer; Fig. 9 illustrates an exemplary embodiment of a unit for setting the type and length of a data field; FIG. 10 shows the formats of individual processor microcommands; figure 11 - options stack arithmetic logic operations; 12 shows an example of the arrangement of operands in a stack.

Процессор микропрогрзммируемой ЭВМ содержит блок (фиг.1 и 2) 1 управлени  и синхронизации, регистр 2 левого операнда , регистр 3 правого операнда, блок 4 на- стройки, первый Б второй б регистры общего., назначени , блок 1 сдвига, блок 8 дескрипторов, блок 9 установки переноса, блок 10 установки типа и длмны пол  дан- ных, блок 11 ввода-вывода, блок 12 стековой пам ти операндов, коммутатор 13 данных, кольцевой арифметико-логический блок 14, первый 15 и второй 16 коммутаторы, входы 17 данных и выход 18 данных.The microprogrammed computer processor contains a control and synchronization block (Figs. 1 and 2) 1, the left operand register 2, the right operand register 3, the setting block 4, the first B second b registers of the general., Assignment, the shift block 1, the descriptor block 8 , transfer setting unit 9, type setting and data field setting unit 10, input / output unit 11, operand stack memory unit 12, data switch 13, ring arithmetic logic unit 14, first 15 and second 16 switches, inputs 17 data and output 18 data.

Кольцевой арифметико-логический блок 14 (фиг.З) содержит N байтовых ариф- метико-логических узлов 19 с переменной длиной пол  данных, N двухвходовых ком- мутаторов 20, М-входе.вой коммутатор 21, первую и вторую 23 группы выходных усилителей , первый 24 и второй 25 информационные входы, первый 26, второй 27 и третий 28 управл ющие входы, первый 29, второй 30 и третий 31 выходы результата.The ring arithmetic logic unit 14 (FIG. 3) contains N byte arithmetic logic nodes 19 with a variable data field length, N two-input switches 20, M-input. Your switch 21, the first and second 23 groups of output amplifiers, the first 24 and second 25 information inputs, the first 26, second 27 and third 28 control inputs, the first 29, second 30 and third 31 outputs of the result.

Блок 12 стековой пам ти операндов (фиг.4) содержит узел 32 хранени  операндов , узел 33 стековой адресации, узел 34 стековых операций, коммутатор 35, входы 36-42 данных, выходы 43-45 данных, управл ющий вход 46, первый 47 и второй 48 управл ющие выходы.The operand stack memory unit 12 (Fig. 4) contains an operand storage node 32, a stack addressing node 33, a stack operation node 34, a switch 35, data inputs 36-42, data outputs 43-45, control input 46, first 47 and second 48 control outputs.

Блок 4 настройки (фиг.5) содержит коммутаторы 49-53, регистр 54, входы 55-59, управл ющий вход 60, выходы 61 и 62 vi управл ющий выход 63.Block 4 settings (figure 5) contains switches 49-53, register 54, inputs 55-59, control input 60, outputs 61 and 62 vi control output 63.

Блок 11 ввода-вывода (фиг.6) может быть выполнен в виде коммутатора 64, регистров 65 и 66, информационных входов 17, 67-70, управл ющего входа 71, выходов 18, 72 и 73.The input-output unit 11 (Fig. 6) can be made in the form of a switch 64, registers 65 and 66, information inputs 17, 67-70, control input 71, outputs 18, 72 and 73.

Блок 8 дескрипторов (фиг.7) содержит первый 74 и второй 75 узлы буферной пам ти , узел 76 формировани  адреса пол  данных , узел 77 типа и длины пол  данных, узел 78 модификации и коммутатор 79, входы 80-82 и выходы 83-87.The descriptor block 8 (FIG. 7) contains the first 74 and second 75 nodes of the buffer memory, the node 76 of forming the data field address, the node 77 of the type and length of the data field, the modification node 78 and the switch 79, inputs 80-82 and outputs 83-87 .

Блок 9 установки переноса (фиг,8) содержит коммутатор 88 и триггер 89.The transfer installation unit 9 (FIG. 8) comprises a switch 88 and a trigger 89.

Блок 10 установки типа и длины пол  данных (фиг,9) содержит коммутатор 90, регистр 91 и элемент ИЛИ 92.Unit 10 installation type and the length of the data field (Fig, 9) contains the switch 90, the register 91 and the element OR 92.

Блок 1 управлени  и синхронизации предназначен дл  управлени  и синхронизации работы всех блоков процессора и может быть реализован в виде блока микропрограммного управлени . Через информационные вход и выход блока осуществл етс  доступ к регистрам микрокоманды и адреса микрокоманды, а также управл ющей пам ти с целью их перезагрузки или использовани  их информации дл  вычислений. Два управл ющих входаThe control and synchronization unit 1 is designed to control and synchronize the operation of all processor units and can be implemented as a firmware control unit. Through the information input and output of the block, the microcommand registers and microcommand registers are accessed, as well as the control memory for resetting them or using their information for calculations. Two control inputs

0 предназначены дл  вмешательства в ход выполнени  микропрограммы с целью организации условных переходов и выполнени  микрокоманд переменной длительности (организации их циклического выполнени  с0 are intended to intervene in the course of the microprogram execution in order to organize conditional transitions and execute microcommands of variable duration (organizing their cyclic execution with

5 выходов по условию, формируемому в исполнительных устройствах процессора). Ус- ловные переходы в процессоре реализуютс  пропуском микрокоманд безусловного перехода (превращением их в5 outputs on the condition formed in the executive devices of the processor). The conditional transitions in the processor are implemented by skipping microcommands of the unconditional transition (turning them into

0 пустые микрокоманды). Блок 1 управлени  и синхронизации реализует систему микрокоманд процессора. На управл ющие выходы блока выдаютс  сигналы управлени  записью в регистры, переключением0 empty microinstructions). The control and synchronization unit 1 implements a processor micro-command system. The control outputs of the block provide write control signals to the registers, switching

5 коммутаторов и работой функциональных блоков, а также литералы полей микрокоманд в соответствии с временными диаграммами этих микрокоманд. Дл  синхронизации внешних объектов процес0 сора и организации работы ЭВМ в целом5 switches and the operation of functional blocks, as well as literals of microcommand fields in accordance with the timing diagrams of these microcommands. To synchronize external objects of the process and organize the operation of the computer as a whole.

предназначен выход синхронизации внеш„ них объектов, выдающий опорную последовательность синхросигналов отan output of synchronization of external objects is intended, issuing a reference sequence of sync signals from

синхрогенератора.sync generator.

5 Арифметические и логические операции реализуютс  процессором в кольцевом арифметико-логическом блоке, при каждом обращении к которому на его первом и втором выходах результата, св занных соот0 ветственно с коммутатором 13 данных и с шестым входом данных блока 12 стековой пам ти операндов, вырабатываетс  значение одной из нескольких арифметических или логических функций над операндами,5 The arithmetic and logical operations are implemented by the processor in a ring arithmetic logic unit, each time it is accessed at its first and second result outputs, associated with the data switch 13 and the sixth data input of the operand stack 12, respectively, the value of one is generated of several arithmetic or logical functions on operands,

5 содержащимис  в регистрах 2 и 3 левого и правого операнда или блоке 12 стековой пам ти операндов. Этими функци ми  вл ютс  Сумма, Разность, Инверси  левого операнда, Инверси  правого5 contained in registers 2 and 3 of the left and right operand or block 12 of the stack memory of operands. These functions are Sum, Difference, Inverse of the left operand, Inverse of the right

Q операнда, Сумма по модулю 2, Конъюнкци , Маскирование левого операнда, Маскирование правого операнда, Дизъюнкци , причем кажда  из этих функций может быть задана в микрокоманде в качес стве регистра источника данных дл  операций над содержимым регистров 2 и 3 левого и правого операндов или полем микрокоманды дл  стековых операций и поступает через первый управл ющий вход от блока 1 управлени  и синхронизации. Управл юща  информаци , необходима  дл  выполнени  указанных функций и содержаща  значение переноса заема при выполнении арифметических операций, тип обрабатываемой информации (двоичный, дес тичный), а также длина обрабатываемого пол  данных поступают из блока 4 настройки через второй управл ющий вход кольцевого арифметико-логического блока 14, на третий управл ющий вход которого поступает информаци  о номере старшего и младшего битов обрабатываемой информации из блока 12 стековой пам ти операндов.Q operand, Modulo 2 sum, Conjunction, Left operand masking, Right operand masking, Disjunction, each of these functions can be specified in a microcommand as a data source register for operations on the contents of registers 2 and 3 of the left and right operands or the field microcommands for stack operations and enters via the first control input from block 1 of control and synchronization. The control information required to perform the specified functions and containing the loan transfer value when performing arithmetic operations, the type of information being processed (binary, decimal), as well as the length of the data field being processed come from setting 4 through the second control input of the ring arithmetic logic unit 14, to the third control input of which information is received about the number of the most significant and least significant bits of the information being processed from block 12 of the stack memory of operands.

Первый 5 и второй 6 регистры общего назначени  предназначены дл  работы в качестве универсальных регистров. Каждый из этих регистров разбит на отдельные 4- разр дные секции, самосто тельно адресуемые в микрокомандах. Управление записью в секции осуществл етс  блоком 1 управлени  и синхронизации через управл ющие входы регистров. На базе второго регистра 6 общего назначени  реализован блок 7 сдвига, выполн ющий циклический/ациклический сдвиг влево содержимого этого регистра на произвольное число разр дов, а также выделение пол  произвольного размера из этого регистра. Требуема  величина сдвига, а также размер выдел емого пол  задаютс  литерально в микрокоманде или блоком 4 настройки и поступают в блок 7 сдвига соответственно через его первый или второй управл ющие входы, выдел емое поле выдаетс  всегда прижатым вправо . Управление режимами сдвига производитс  блоком 1 управлени  и синхронизации через первый управл ющий вход блока 7 сдвига.The first 5 and second 6 general purpose registers are intended to operate as universal registers. Each of these registers is divided into separate 4-bit sections, independently addressed in micro instructions. The control of the recording in the section is carried out by the control and synchronization unit 1 via the control inputs of the registers. On the basis of the second general register 6, a shift block 7 is implemented that performs a cyclic / acyclic left shift of the contents of this register by an arbitrary number of bits, as well as the selection of a field of arbitrary size from this register. The required amount of shift, as well as the size of the field to be allocated, are set literally in the microcommand or by the adjustment block 4 and enter the shift block 7, respectively, through its first or second control inputs, the highlighted field is always pressed to the right. The shift modes are controlled by the control and synchronization unit 1 via the first control input of the shift unit 7.

Блок 8 дескрипторов предназначен дл  хранени , смены и модификации дескрипторов данных в основной пам ти.The descriptor block 8 is intended for storing, changing and modifying data descriptors in the main memory.

Возможна модификаци  полей дескриптора на значение текуЩей длины (вход 80) или любое другое значение с выхода коммутатора 13 данных через вход 81. Через этот же вход осуществл етс  загрузка регистров и пам тей блока. Через выходы 83, 84, 86 и 87 блока доступны значени  обоих регистров и узлов блока. Св зи внутри блока позвол ют мен ть текущий дескриптор из буферной пам ти, сохран   в ней старый дескриптор. Эта же операци  возможна дл  любой половины дескриптора , а также дл  стекового дескриптора, наход щегос  в блоке 12 стековой пам ти операндов. Последнее возможно через вход 81 и выход 83 блока. Доступ к значени м дескрипторов внутри блока возможен также через коммутатор 79,  вл ющийс  частью коммутатора данных 13. Управление записью , чтением и модификацией дескрипторов осуществл етс  через управл ющий вход 82 блоком 1 управлени  и синхронизации . Через этот же вход в блок передаютс  5 адреса чтени  и записи в буферную пам ть. Эти адреса выдел ютс  блоком 1 из пол  микрокоманды.Possible modification of the descriptor fields to the value of the current length (input 80) or any other value from the output of data switch 13 via input 81. The registers and block memories are loaded through the same input. Through the outputs 83, 84, 86 and 87 of the block, the values of both the registers and nodes of the block are available. The links inside the block allow the current descriptor to be changed from the buffer memory, keeping the old descriptor in it. The same operation is possible for either half of the descriptor, as well as for the stack descriptor, located in block 12 of the operand's stack memory. The latter is possible through input 81 and output 83 of the block. Access to the values of the descriptors inside the block is also possible through the switch 79, which is part of the data switch 13. The writing, reading and modification of the descriptors are controlled via the control input 82 by the control and synchronization unit 1. Through the same input to the block, 5 read and write addresses are transferred to the buffer memory. These addresses are allocated by block 1 from the field of the microcommand.

Значением переноса, формируемымThe value of the transfer generated

0 блоком 9 установки переноса, может быть либо значение переноса-заема, вырабатываемое кольцевым арифметико-логическим .блоком 14 и поступающее на вход данных блока 9 установки переноса, либо значение0 by the transfer setting unit 9, it can be either the transfer-borrowing value generated by the ring arithmetic logic unit 14 and arriving at the data input of the transfer setting unit 9, or

5 О. Выбор значени  осуществл етс  соответствующими управл ющими сигналами , поступающими на управл ющий вход блока 9 установки переноса от блока 1 управлени  и синхронизации.5 O. The choice of value is made by the corresponding control signals arriving at the control input of the transfer installation unit 9 from the control and synchronization unit 1.

0Исходными данными, поступающими0 Source data coming in

на входы блока 10 установки типа и длины пол  данных дл  формировани  указанных величин,  вл ютс  их текущие значени  в блоке 8 дескрипторов и блоке 4 настройки.The inputs of the unit 10 for setting the type and length of the data field to form the indicated values are their current values in the block 8 of descriptors and block 4 of the settings.

5 Управление установкой осуществл етс  блоком 1 управлени  и синхронизации в соответствии с алгоритмом выполнени  микрокоманды.5 The control of the installation is carried out by the control and synchronization unit 1 in accordance with the microcommand algorithm.

Формирование значени  длины пол Formation of the length of the floor

0 данных в блоке 4 настройки сопровождаетс  анализом этой величины на нулевое значение , в результате чего вырабатываетс  признак на управл ющем выходе блока, который поступает на второй управл ющий0 data in block 4 settings is accompanied by the analysis of this value to a zero value, as a result of which a sign is generated at the control output of the block, which is fed to the second control

5 вход блока 1 управлени  и синхронизации и используетс  дл  организации условных переходов , Длина формируетс  в результате анализа значений этого параметра в теку.- щих дескрипторах с учетом пол  длины в5 is an input of control and synchronization block 1 and is used to organize conditional transitions. The length is formed by analyzing the values of this parameter in the current descriptors taking into account the length field in

Q микрокоманде. Варианты настройки задаютс  микрокомандой. Регистр в блоке настройки содержит пол  текущих переноса, типа и длины. Управление настройкой осуществл етс  блоком 1 управлени  и синхро5 низации через управл ющий вход.Q microcommand. Customization options are specified by a microinstruction. The register in the tuner contains the fields of the current transfer, type and length. The setting control is carried out by the control and synchronization unit 1 via the control input.

Обращение к полю основной пам ти (чтение или запись) реализуетс  блоком 11 через первые вход и выход данных. Длина пол  дл  одного обращени  может быть проQ извольной в пределах разр дной сетки процессора . Она поступает на второй вход данных блока 11 из блока 4 настройки. Начальный адрес пол  данных, задаваемый с .точностью до бита, поступает из блока 9The reference to the main memory field (read or write) is implemented by block 11 through the first data input and output. The length of the field for one reference can be arbitrary within the limits of the processor grid. It comes to the second data input of block 11 from block 4 settings. The starting address of the data field, specified with a precision up to a bit, comes from block 9

е дескрипторов на третий вход данных блока 11 ввода-вывода. Обмен между основной пам тью.и блоком 11 осуществл етс  словами длиной N байт. Словами такой же длины блок 11 обмениваетс  с блоком 12 стековой пам ти операндов. Обмен данными междуe handles to the third data input of the block 11 I / o. The exchange between the main memory and block 11 is carried out by words of length N bytes. With words of the same length, block 11 is exchanged with block 12 of the stack memory of operands. Data exchange between

блоком 11 и основной пам тью осуществл етс  контроллером основной пам ти.unit 11 and the main memory is performed by the main memory controller.

Блок 12 стековой пам ти операндов,  вл ющийс  аппаратной реализацией вершины стека операндов, предназначен дл  организации безадресной обработки данных и позвол ет сократить количество обращений в основную пам ть. Он позвол ет организовать стек операндов с переменным микропрограммно устанавливаемым размером позиции (кратным байту) и осуществл ть доступ к данным как по указателю верхней позиции стека, т к и по смещении в глубину стека. Данные при обращении к стеку поступают в коммутатор 13 данных через блок 7 сдвига прижатыми к правому краю разр дной сетки процессора. Если длина позиции стека превышает разр дную сетку, то обмен данными со стеком происходит за несколько обращений, Данные в стеке хран тс  компактно, поэтому очередной операнд перед помещением в стек сдвигаетс  по месту в блоке 7 сдвига. При выполнении арифметико-логических операций над операндами, наход щимис  в стеке, результат замещает один из операндов. В этом случае выравнивание операндов происходит по замещаемому операнду Чтение и запись в блоке 12 стековой пам ти операндов происходит по маске. 3 процессоре имеетс  возможность организовать перекачку данных между аппаратной вершиной стека и его продолжением в основной пам ти под управлением одной микрокоманды Откачка/подкачка стекова , При этом объем перекачиваемых данных кратен размеру позиции стека. Данные передаютс  в блок 11, мину  блок 7 сдвига, и сдвигаютс  по месту в блоке сдвига основной пам ти. Информаци  о положении данных в стеке операндов передаетс  из блокз 12 стековой пам ти операндов через блок 4 настройки в блок 11.The operand stack memory unit 12, which is a hardware implementation of the vertex of the operand stack, is designed to provide unaddressed data processing and reduces the number of calls to the main memory. It allows you to organize a stack of operands with a variable firmware position size (multiple bytes) and access the data as indicated by the pointer of the top position of the stack, tk and by offset into the depth of the stack. When accessing the stack, the data enters the data switch 13 via the shift block 7 pressed to the right edge of the processor's low bit grid. If the stack position length exceeds the bit grid, then the data is exchanged with the stack after several calls. Data is stored compactly in the stack, so the next operand is shifted in place in the shift block 7 before being placed on the stack. When performing arithmetic logic operations on operands in the stack, the result replaces one of the operands. In this case, the alignment of the operands occurs according to the operand being replaced. Reading and writing in the block 12 of the stack memory of the operands occurs according to the mask. 3, the processor has the ability to organize data transfer between the hardware top of the stack and its continuation in the main memory under the control of one microcommand Pumping / pumping of the stack. The volume of the data being pumped is a multiple of the size of the stack position. The data is transmitted to block 11, mine block 7 of the shift, and shifted in place in the shift block of the main memory. Information on the position of the data in the operand stack is transmitted from blocks 12 of the stack memory of the operands through block 4 settings to block 11.

Кольцевой арифметико-логический блок 14 работает следующим образом.Ring arithmetic logic unit 14 operates as follows.

На первый 24 и второй 25 информационные входы блока 14 поступают соответственно значени  левого и правого операндов, а на первый управл ющий вход 26 - код операции от блока управлени  и синхронизации, Нэ второй управл ющий вход 27 поступает указание на тип обрабатываемой информации (двоична  или дес тична ), длина пол  и значение входного переноса от блока 4 настройки, на третий управл ющий вход 28 - номера позиций старшего и младшего бит ов пол  обработки. Операци  над операндами осуществл етс  побайтно в байтовых арифметико-логических узлах (АЛУ) 19 с переменной длинойThe first 24 and second 25 information inputs of block 14 receive the values of the left and right operands, respectively, and the first control input 26 receives the operation code from the control and synchronization unit, Ne the second control input 27 receives an indication of the type of information being processed (binary or decimal) is accurate), the field length and the value of the input transfer from tuning block 4, to the third control input 28 are the position numbers of the high and low bits of the processing field. Operation on operands is performed byte-by-byte in variable-byte arithmetic logic nodes (ALU) 19

пол  данных. Механизм ограничени  длины пол  обработки включаетс  лишь в АЛУ, обрабатывающем старший байт.floor data. A field length limiting mechanism is included only in the ALU processing the high byte.

Все младшие байты обрабатываютс  поAll low bytes are processed by

полной длине, Выходной перенос формируетс  на выходе 31 N-входовым коммутатором 21, который выбирает выходной перенос старшего байтового АЛУ. Поскольку размер позиции стека всегда кратен бай0 ту, а операнды при нестековой операции всегда прижаты к правому краю разр дной сетки, входной перенос всегда подаетс  в нулевой разр д соответствующего байта. Коммутаци  входных переносов осуществ5 л етс  двухвходовыми коммутаторами 20. На вход младшего байтового АЛУ поступает входной перенос, а на входы остальных - переносы от предыдущих АЛУ. Результат операции передаетс  на первый выход 29full length, the Output Transport is formed at output 31 by an N-input switch 21, which selects the output transport of the high byte ALU. Since the size of the stack position is always a multiple of the byte, and the operands are always pressed to the right edge of the bit grid during nonshtek operations, the input carry is always fed to the zero byte of the corresponding byte. The input carries are switched by two-input switches 20. The input byte enters the input of the low byte ALU, and the inputs from the previous ALUs arrive at the inputs of the others. The result of the operation is transmitted to the first output 29.

0 (ЬИ)-разр дное слово дл  нестековых операций ) и второй выход 30 (N-разр дное слово дл  стековых операций).0 (bb) is a bit word for non-stack operations) and the second output is 30 (n-bit word for stack operations).

Узел 32 хранени  операндов представл ет собой ОЗУ с байтовой организацией,The operand storage unit 32 is a byte-organized RAM.

5 причем доступ к нему осуществл етс  одновременно по М байтам (где М п/8 + 1, п - размер разр дной сетки процессора). При этом выбранна  последовательность байтов выдел етс  в М-байтное слово. Номер j-ro5 and access to it is carried out simultaneously in M bytes (where M is n / 8 + 1, and n is the size of the processor grid). In this case, the selected sequence of bytes is allocated in the M-byte word. J-ro number

0 байта в этом слове определ етс  его адресом в ОЗУ Aj mod M. Считанна  из узла 32 . хранени  операндов информаци  поступает на выход 43 блока 12 стековой пам ти операндов . Записываема  информаци  посту5 пает в узел 32 хранени  операндов с выхода коммутатора 35, Операнд в стековой пам ти хранитс  в позиции стека, представл ющей участок байтовой пам ти со смежными адресами байтов. Размер позиции стека, крат0 ный байту, задаетс  программно настройкой узла 33 стековой адресации, в котором формируютс  адреса обращени  к байтам узла 32 хранени  операндов. Здесь же осуществл етс  контроль за правильно5 стью такого обращени  и вырабатываютс  сигналы, индицирующие пересечение позиции стека при обращении, переполнение или опустошение стека. Исходна  информаци  дл  настройки и выработки адресовThe 0 byte in this word is determined by its address in RAM Aj mod M. Read from node 32. the storage of operands information arrives at the output 43 of the block 12 of the stack memory of operands. The recorded information is supplied to the storage node 32 of operands from the output of the switch 35. The operand in the stack memory is stored in the stack position representing the byte memory portion with the adjacent byte addresses. The size of the stack position, which is a multiple byte, is determined by the software setting of the stack addressing node 33, in which the address addresses to the bytes of the operand storage node 32 are formed. It also monitors the correctness of such handling and produces signals indicating the intersection of the stack position during handling, overflow, or emptying of the stack. Background information for setting up and generating addresses

Q поступает в узел 33 стековой адресации с входа 37 блока 12 стековой пам ти операндов , а управл юща  - от узла 34 стековых операций.Q enters the stack addressing node 33 from the input 37 of the block 12 of the operand stack memory, and the control one - from the stack operation node 34.

Адрес обращени  в стек с точностью доThe address of the stack address is accurate to

-с бита, сопровождаемый сигналом Чтение/запись , через выход данных этого узла поступает на адресный вход узла 32 хранени  операндов. Через этот же выход передаетс  информаци  о положении пол  обращени  в выделенном М-байтном слове-c bit, followed by a read / write signal, through the data output of this node enters the address input of the operand storage node 32. Information about the position of the access field in the allocated M-byte word is transmitted through the same output.

на управл ющий выход 47 блока 12 стековой пам ти операндов. Эта информаци  содержит данные о номере начального и конечного битов в слове. Она управл ет сдвигом и маскированием пол  в блоке 7 сдвига и выполнением арифметико-логических операций в кольцевом арифметико-логическом блоке 14. При нестековых операци х эта информаци  выдел ет поле длиной п бит, прижатое к правому краю разр дной сетки.to the control output 47 of the block 12 of the stack memory of operands. This information contains information about the number of the initial and final bits in a word. It manages the shift and masking of the field in the shift block 7 and the execution of arithmetic logic operations in the ring arithmetic logic unit 14. For non-flow operations, this information selects a field of length n bits pressed to the right edge of the discharge grid.

Управление выполнением микрокоманд работы со стеком операндов осуществл ет узел 34 стековых операций, который под действием сигналов от блока 1 управлени  и синхронизации, поступающих через управл ющий вход 46 блока 12 стековой пам ти операндов, вырабатывает п ть сигналов управлени  формированием адреса обращени  (Чтение из стека, Запись в стек, Чтение при откачке, Запись при подкачке и Сдвиг указател  стека), поступающих в узел 33 стековой адресации. Управление коммутатором 35 производитс  также через управл ющий вход 46 (микрокоманды подкачки/откачки, стековых операций и обычного обращени  в стек). В узле 34 стековых операций хранитс  и модифицируетс  информаци  о длине пол  обращени  к стеку и о дескрипторе стека, указывающем на длину и размещение в стеке операнда, к которому осуществл етс  доступ. Длина пол  обращени  может устанавливатьс  по информации из блока 4 настройки, блока 10 установки типа и длины пол  данных и фиксированной (нулевой)  чейки первого блока буферной пам ти в блоке 8 дескрипторов. Эти данные поступают в узел 34 стековых операций через входы 38-40 блока 12 стековой пам ти операндов. Значение текущей длины выдаетс  через выход 44 блока 12 стековой пам ти операндов. При операци х откачки/подкачки это значение содержит также номер начального бита в М-разр д- ном слове. Узел 34 стековых операций вырабатывает сигналы Текуща  длина равна нулю, Пересечение позиции стека и Пересечение границ стека, которые через управл ющий выход 48 блока 12 стековой пам ти операндов передаютс  в блок 1 управлени  и синхронизации дл  организации условных переходов и циклов. Дескриптор текущего операнда содержит три секции: смещение в глубине стека, начальный адрес в стековой позиции и длины пол  текущего операнда. Все три секции могут быть модифицированы на длину пол  обращени  и на единицу. Поле смещени  задает смещение искомой позиции стека относительно вершины в байтах. При откачке/подкачке этаThe operation of the operand stack microcommands is controlled by the stack operation node 34, which, under the action of signals from the control and synchronization unit 1, received through the control input 46 of the operand stack memory unit 12, generates five address address formation control signals (Read from the stack , Write to the stack, Read when pumping, Write when paging, and Shift the stack pointer) coming into the node 33 of the stack addressing. Switch 35 is also controlled via control input 46 (paging / pumping microcommands, stack operations and normal stack access). In stack operation node 34, information is stored and modified on the length of the access field to the stack and on the stack descriptor indicating the length and placement in the operand stack that is being accessed. The length of the access field can be set according to the information from the setting unit 4, the setting unit 10 of the type and length of the data field and the fixed (zero) cell of the first block of the buffer memory in block 8 of descriptors. This data enters the node 34 of stack operations through the inputs 38-40 of block 12 of the stack memory of operands. The value of the current length is provided via the output 44 of the block 12 of the stack memory of the operands. For pumping / paging operations, this value also contains the number of the start bit in the M-bit word. The stack operation node 34 generates Current Length signals equal to zero, the intersection of the stack position and the intersection of the stack boundaries, which are transmitted through control output 48 of block 12 of operand stack memories to control and synchronization block 1 to organize conditional jumps and cycles. The handle of the current operand contains three sections: the offset at the depth of the stack, the starting address in the stack position, and the field length of the current operand. All three sections can be modified for the length of the circulation field and for the unit. The offset field specifies the offset of the desired position of the stack relative to the vertex in bytes. When pumping / pumping this

секци  используетс  как счетчик количества передаваемых позиций. Секции начального адреса и длины операнда позвол ют обращатьс  к операнду по част м, что особенно 5 необходимо, если размер позиции стека больше разр дной сетки процессора. Начальный адрес задает смещение в битах начала пол  обращени  относительно начала позиции, а длина пол  - число битов в полеthe section is used as a counter for the number of transmitted positions. The sections of the start address and the length of the operand make it possible to refer to the operand in parts, which is especially necessary for 5 if the size of the stack position is larger than the processor grid size. The start address specifies the offset in bits of the beginning of the access field relative to the beginning of the position, and the length of the field - the number of bits in the field

10 обращени . Дескриптор хранитс  в регистре , доступном на микропрограммном уровне . Св зь этого регистра с коммутатором 13 данных осуществл етс  через вход 37 и выход 45 блока 12 стековой пам ти операндов.10 references The handle is stored in a register accessible at the firmware level. This register is connected to data switch 13 via input 37 and output 45 of block 12 of the operand stack.

5При выполнении микрокоманды Смена5When executing the microcommand Change

дескриптора стека новый дескриптор заноситс  в регистр из первого блока буферной пам ти в блоке 8 дескрипторов через вход 40 блока 12 стековой пам ти операндов, аthe stack descriptor is entered into the register from the first block of the buffer memory in block 8 of the descriptors through input 40 of the block 12 of the stack memory of operands, and

0 старый дескриптор передаетс  в узел буферной пам ти через выход 45 блока 12 стековой пам ти операндов и коммутатор 13 данных. Сигналы, индицирующие неверное обращение к стеку, передаютс  в узел 340, the old descriptor is transmitted to the buffer memory node via the output 45 of the block 12 of the operand stack memory and the data switch 13. Signals indicating incorrect access to the stack are transmitted to node 34.

5 стековых операций узла 33 стековой адресации , Они вызывают блокировку исполнени  микрокоманд работы со стеком и управл ют исполнением микрокоманды откачки/подкачки .5 stack operations of stack addressing node 33, They cause the execution of microcommands to work with the stack and control the execution of the pumping / paging microcommand.

0Коммутатор 35 предназначен дл  выбора источника информации, записываемой в узел 32 хранени  операндов. При выполнении микрокоманды откачки/подкачки выбираетс  информаци , поступающа  от. блока0 The switch 35 is designed to select the source of the information recorded in the operand storage unit 32. When executing the swapping / swapping microcommand, the information coming from is selected. block

5 11 на вход 42 блока 12 стековой пам ти операндов, при выполнении микрокоманды стековой арифметико-логической операции - информаци  из кольцевого арифметико-логического блока 14 через5 11 to the input 42 of the block 12 of the stack memory of operands, when performing the microcommand of the stack arithmetic logic operation - information from the ring arithmetic logic unit 14 through

Q 41. При исполнении других микрокоманд работы со стеком через вход 36 блока 12 стековой пам ти операндов поступает информаци  из блока 7 сдвига, сдвинута  по месту,Q 41. When executing other microcommands of working with the stack, the input 36 of the block 12 of the stack memory of operands receives information from the shift block 7, shifted in place

5 На фиг.10 представлена часть микрокоманд (в основном дл  работы со стеком). Кажда  микрокоманда состоит из 16 битов. Часть этих битов от 3 до 12 содержит код микрокоманды. Оставшиес  биты указываQ ют конкретные регистры или их адресуемые части, различные выходные функции кольцевого арифметико-логического блока, варианты исполнени  микрокоманд или длины полей.5 Figure 10 shows a portion of micro-instructions (mainly for working with a stack). Each microinstruction consists of 16 bits. A part of these bits from 3 to 12 contains the code of a microcommand. The remaining bits indicate specific registers or their addressable parts, various output functions of a ring arithmetic logic unit, versions of microcommands or field lengths.

5Перва  микрокоманда Пересылка регистрова  имеет код 0001 в старшей тетраде . Следующие шесть битов указывают источник данных (регистр или псевдорегистр , например результат арифметико-логической операции над содержимым5 First microcommand Register transfer has the code 0001 in the upper tetrad. The next six bits indicate the source of the data (register or pseudo-register, for example, the result of an arithmetic logic operation on the contents

егистров правого и левого операндов), осавшиес  шесть битов указывают регистр- приемник данных.The headers of the right and left operands), the six bits indicated indicate the data receiving register.

Микрокоманда Пересылка буферна  правл ет передачей данных между регистрами и буферной пам тью. При этом разр ды 6-11 указывают на регистр, разр ды 0-3 - адрес в буферной пам ти, разр д 4 указывает, с каким блоком (А или Б) буферной пам ти ведетс  пересылка, разр д 5 задает направление обмена.Microcommand Transfer Buffer forwards data transfer between registers and buffer memory. At that, bits 6-11 indicate the register, bits 0-3 indicate the address in the buffer memory, bit 4 indicates which block (A or B) of the buffer memory is being sent, bit 5 defines the direction of the exchange.

Микрокоманда Пересылка с ОП управл ет обменом с основной пам тью. Разр ды 0-4 задают длину пол  обмена (если их значение равно 0, длина задаетс  блоком 4 настройки), разр д 5 - направление пол , разр ды 6-7 задают регистр, участвующий в обмене (регистр левого операнда, регистр правого операнда, первый или второй регистр общего назначени ), разр д 11 указывает направление обмена, Если длина операнда превышает разр дную сетку процессора , то обмен происходит за несколько обращений к основной пам ти. При этом каждбе обращение сопровождаетс  перемещением начальной точки отсчета адреса на длину пол  обращени , т.е. модификацией дескриптора основной пам ти, расположенного в блоке дескрипторов. Варианта модификации заданы в разр дах 8-10 микрокоманды .Micro-command Transfer with OP controls exchange with main memory. Bit 0-4 sets the length of the exchange field (if their value is 0, the length is set by block 4 settings), bit 5 is the direction of the floor, bits 6-7 set the register participating in the exchange (the left operand register, the right operand register, the first or second general register), bit 11 indicates the direction of the exchange. If the length of the operand exceeds the processor's bit grid, the exchange takes place in several accesses to the main memory. In this case, each call is accompanied by moving the starting point of reference of the address by the length of the call field, i.e modification of the main memory descriptor located in the descriptor block. Modification options are specified in bits 8-10 micro-instructions.

Микрокоманда Отсчет осуществл ет модификацию дескриптора основной пам ти . При этом разр ды 5-7 задают вариант модификации, а разр ды 0-4 - константу модификации аналогично микрокоманде Пересылка с ОП.The microcommand Count performs the modification of the main memory descriptor. In this case, bits 5–7 set the modification variant, and bits 0–4, the modification constant is similar to the microcommand Shipment from OP.

Микрокоманда Переход управл ет последовательностью исполнени  микрокоманд , модифициру  значение в регистре адреса микрокоманды на величину, задаваемую в разр дах 0-11. Разр д 12 указывает на знак модификации (направление перехода ).Microcommand Transition controls the sequence of execution of microinstructions, modifying the value in the microcommand address register by the value specified in bits 0-11. Rank 12 indicates a modification sign (transition direction).

Микрокоманда Перенос устанавливает значение переноса в блоке 9 настройки по значению переноса или заема на выходе кольцевого арифметико-логического блокг) 14 либо непосредственно в О или в 1.Microinstruction Transfer sets the transfer value in block 9 settings by the value of transfer or loan at the output of the ring arithmetic logic unit 14) either directly to O or to 1.

Микрокоманда Отсчет стековый выполн ет модификацию дескриптора стека операндов, расположенного в блоке 34 стековых операций (секции начального адреса и длины операнда), на величину, задаваемую в разр дах 0-4 (при равенстве нулю этого значени  величина модификации задаетс  значением длины пол  обращени  к стеку, на которую настроен блок 34 стековых операций). Вариант модификации задаетс  разр дами 5-7 микрокоманды,The microcommand Count Stack performs a modification of the operand stack descriptor located in block 34 of stack operations (the starting address and operand section sections) by the value specified in bits 0–4 (if the value is equal to zero, the modification value is specified by the value of the length of the access field to the stack which is configured block 34 stack operations). The modification option is defined by bits 5-7 micro-instructions,

Микрокоманда Чтение стековое управл ет выборкой пол  данных из стека операндов в регистр, задаваемый разр дом 8 микрокоманды (регистр левого или правогоMicrocommand Reading a stack manages the selection of a data field from the operand stack to a register specified by the discharge of 8 microcommands (left or right register)

операнда). Длина пол  обращени  задаетс  в разр дах 0-4 (при равенстве его нулю длина задаетс  значением из блока 34 стековых операций). Разр ды 6-7 задают вариант модификации стекового дескриптора, а разр дoperand). The length of the reference field is specified in bits 0–4 (if it is equal to zero, the length is specified by the value from block 34 of stack operations). Bit 6-7 sets the modification option for the stack descriptor, and bit

5 управл ет перемещением указател  вершины стека. Если длина позиции стека превышает длину пол  обращени , то выборка операнда осуществл етс  за несколько обращений к стеку. При промежуточных обращени х , а также при обращении за операндом по смещению в глубину стека указатель вершины стека перемещать не следует.5 controls the movement of the top of the stack pointer. If the length of the stack position exceeds the length of the access field, then the operand is sampled after several calls to the stack. With intermediate calls, as well as when requesting an operand at a shift to the depth of the stack, the pointer to the top of the stack should not be moved.

Микрокоманда Запись стекова  управл ет записью пол  из первого регистра общего назначени  в одну из позиций стековой пам ти. Назначение полей в разр дах 0-7 микрокоманды аналогично микрокоманде Чтение стековое.Microcommand The Stack Record controls the recording of the field from the first general register to one of the positions in the stack memory. The assignment of fields in bits 0–7 of microcommands is analogous to the microcommand Read stack.

Микрокоманда Модификаци  указател  управл ет перемещением указател  вершины стека операндов. Разр ды 2-3 микрокоманды задают либо им  одного изMicrocommand Modify Indexer controls the movement of the pointer to the top of the operand stack. The 2-3 bits of micro-instructions set either one of them

регистров (левого или правого операндов, первого общего назначени ), значение кото- рого используетс  дл  модификации указател , либо модификацию указател  стека на одну .позицию стека. Разр д 1 задает направление модификации. Разр д 0 управл ет пропуском следующей микрокоманды при выходе указател  за пределы стека.registers (left or right operands, first general purpose), the value of which is used to modify the pointer, or modify the stack pointer by one stack position. Bit 1 sets the direction of the modification. Bit 0 controls the skip of the next micro-instruction when the pointer leaves the stack.

Микрокоманда Обмен стековый управл ет сменой стекового дескриптора в узле стековых операций. При этом новое значение дескриптора выбираетс  из бу- . ферной пам ти в блоке дескрипторов по адресу , заданному разр дами 0-3 микрокоманды, а старое значение помещаетс  в эту же пам ть по адресу, заданному разр дами 4-7.Micro-command Stack Exchange controls the change of the stack descriptor in the stack operations node. In this case, the new value of the descriptor is selected from the bu-. The ferrous memory in the block of descriptors at the address specified by bits 0-3 of the microinstruction, and the old value is placed in the same memory at the address specified by bits 4-7.

Микрокоманда Настройка стекова  управл ет настройкой узла 34 стековых операций на длину пол  обращени  к стеку поMicrocommand Stack Setup controls the configuration of a node of 34 stack operations for the length of the access field to the stack by

Q комбинаци м значений из блока 4 настройки (ДЛ), блока 8 дескрипторов (ПБ или нулева   чейка МПА) и узла 34 стековых операций (РУС). Разр ды 1-3 микрокоманды задают варианты комбинаций. Узел 34Q combinations of values from setting block 4 (DL), block 8 of descriptors (PB or null cell MPA) and node 34 of stack operations (RUS). Bit 1–3 micro-commands specify combinations. Node 34

е стековых операций настраиваетс  на длину, равную наименьшему значению в комбинации в пределах разр дной сетки процессора . Разр д 0 управл ет пропуском следующей микрокоманды, если результат настройки равен нулю.Stack operations are configured for a length equal to the smallest value in the combination within the processor's bit grid. Bit 0 controls the skip of the next micro-instruction if the result of the tuning is zero.

Микрокоманда Настройка длины упавл ет обменом значением длины обращени  к стеку операндов между узлом 34 тековых операций и одним из регистров: евого , правого операнда, первым, вторым бщего назначени  или блоком настройки. Разр ды 1-3 микрокоманды задают им  регистра , с которым происходит обмен, а разр д 0 задает направление обмена.The microcommand Length Setup controls the exchange of the length of the access to the operand stack between the node 34 of the operations and one of the registers: the right operand, the first, the second general purpose, or the tuner. Bit 1–3 microcommands set the register with which they are exchanged, and bit 0 sets the direction of the exchange.

Микрокоманда Сдвиг Т управл ет циклическим и ациклическим сдвигами влево содержимого второго регистра общего назначени  и записью сдвинутого значени  в регистр, указанный разр дами 6-11 микокоманды .Тип сдвига задаетс  разр дом , Разр ды 0-4 задают константу сдвига случае нулевого значени  этих разр дов в ачестве константы сдвига используетс  соержимое блока настройки.The Shift T microcommand controls cyclic and acyclic left shifts of the contents of the second general register and writes the shifted value to the register indicated by bits 6-11 of the microcommand. as a shear constant, the tuner of the tuner is used.

Микрокоманда Очистка регистрова  управл ет сбросом в ноль содержимого регистров левого, правого операндов, первого , второго общего назначени , блока настройки, регистров дескриптора в блокеMicrocommand Register Clearing controls to reset to zero the contents of the left, right operand registers, first, second general purpose, tuner, descriptor registers in the block

дескрипторов в произвольном наборе. Требуемый набор регистров и блоков задаетс  разр дами 0-7 микрокоманды.descriptors in an arbitrary set. The required set of registers and blocks is specified by bits 0-7 of the micro-instruction.

Микрокоманда Арифметико-логическа  операци  стекова  управл ет выполнением одной из арифметических или логических операций над операндами, хран щимис  в стеке операндов. Результат помещаетс  в верхнюю позицию стека, занимаемую одним из операндов. Разр ды 1-3 микрокоманды задают операцию согласно таблице на фиг.11. Если размер позиции стека превышает размер разр дной сетки процессора, то микрокоманда организует несколько обращений к стеку операндов с модификацией стекового дескриптора.The microcommand Arithmetic Logic Stack Operation controls the execution of one of the arithmetic or logical operations on operands stored in the operand stack. The result is placed in the top position of the stack occupied by one of the operands. Bit 1–3 micro-instructions set the operation according to the table in FIG. 11. If the size of the stack position exceeds the size of the processor's bit grid, then the microcommand organizes several calls to the stack of operands with a modification of the stack descriptor.

Микрокоманда Подкачка/откачка стекова  управл ет обменом информацией между блоком 12 стековой пам ти операндов и основной пам тью, организу  в основной пам ти продолжение стека. Разр д О микрокоманды указывает направление обмена . Объем обмениваемой информации кратен размеру позиции стека операндов. Стековый дескриптор в секции смещени  задает количество позиций, подлежащих обмену. Если размер позиции превышает разр дную сетку процессора, то позици  передаетс  за несколько обращений к блоку 12 стековой пам ти операндов и к блоку 11 с основной пам тью. После завершени  подкачки/откачки указатель вершины стека операндов сдвигаетс  вверх или вниз на количество подкачанных или откачанных позиций.The micro stack swap / rollout command controls the exchange of information between the operand stack unit 12 and the main memory, organizing the continuation of the stack in the main memory. Bit About microcommand indicates the direction of the exchange. The amount of information exchanged is a multiple of the position size of the operand stack. The stack descriptor in the offset section specifies the number of positions to be exchanged. If the position size exceeds the processor's bit grid, then the position is transmitted for several calls to block 12 of the operand stack memory and to block 11 with the main memory. After completion of the paging / pumping, the pointer of the vertex of the operands is shifted up or down by the number of pumped or pumped positions.

Исполнение микрокоманды Арифметико-логическа  операци  стекова  можетThe execution of the microcommand Arithmetic Logic Stack Operation can

00

5five

00

5five

00

5five

00

5five

00

5five

быть по снено на примере выполнени  сложени  двух операндов А и В.be explained by the example of performing the addition of two operands A and B.

Пусть разр дна  сетка процессора п 24,обьем пам ти в узле 32 хранени  операндов VCTBK 256 байт, размер позиции стека, на который настроен узел 33 стековой адресации , РПС 9 байт, доступ к стеку осуществл етс  одновременно по четырем байтам N 4. Пусть стек заполнен, например , п тью позици ми (УВ 5x9 45), операнд А находитс  в позиции стека операндов на две позиции ниже вершины, а операнд В - в позиции на вершине стека операндов. Расположение операндов в стеке относительно дна стека показано на фиг.12.Let the processor grid size be 24 bits, the memory volume in the VCTBK operand storage node 32 is 256 bytes, the size of the stack position to which the stack addressing node 33 is configured, the RAP is 9 bytes, the stack is accessed simultaneously by four bytes N 4. Let the stack for example, it is filled with five positions (HC 5x9 45), operand A is in the position of the operand stack two positions below the vertex, and operand B is in the position at the top of the operand stack. The location of the operands in the stack relative to the bottom of the stack is shown in Fig.12.

Стековый дескриптор дл  операции стекового сложени  должен иметь следующие значени  в своих позици х: смещение СМ 2x9 18, начальный адрес стековый НАС 0, длина позиции стека ДПС 72, The stack descriptor for the stack addition operation should have the following values in its positions: CM offset 2x9 18, starting address of the stack NAS 0, position length of the DPS 72 stack,

Операци  стекового сложени  выполн етс  за несколько машинных тактов. В первом такте осуществл етс  подготовка и обращение в стек за операндом А и его выборка в регистр 2 левого операнда. При п 24 длина пол  обращени  не может превышать 24 бита. Если , то длина пол  обращени  устанавливаетс  24 бита независимо от настройки узла 34 стековой адресации . Подготавливаютс  адрес позиции операнда А в узле 32 хранени  операндов и константа циклического сдвига (например, влево) выбранного слова в блоке 7 сдвига. Она равна КСДВ CM mod N 2 байта. - Затем осуществл етс  выборка операнда А (младшие 24 разр да), сдвиг его в блоке 7 сдвига и запись в регистр 2 левого операнда Через первый коммутатор 15. Во втором такте производитс  подготовка адреса обращени  за операндом В, осуществл етс  выборка операнда В, передача его через второй коммутатор 16 на второй вход кольцевого арифметико-логического блока 14, запись результата в стек по маске на место младших 24 разр дов операнда В (адреса в пам ти не измен ютс ) и модифицируетс  стековый дескриптор: НАС увеличиваетс  на 24, а ДПС уменьшаетс  на 24. Значение переноса запоминаетс  в блоке 9 установки переноса. В следующих двух тактах ( третьем и четвер- том) повтор ютс  действи  первого и второго тактов над следующим 24-разр дным полем операндов А и В . В п том и шестом тактах обрабатываютс  старшие 24 разр да операндое Л и В. Во всех тактах при изменении ДПС анализируетс  его соотношение с разр дной сеткой. ЕслиThe stack add operation is performed in several machine cycles. In the first cycle, the preparation and the call are transferred to the stack for operand A and its selection in register 2 of the left operand. With n 24, the length of the reference field cannot exceed 24 bits. If, then the length of the access field is set to 24 bits, regardless of the configuration of the stack addressing node 34. The position address of the operand A in the operand storage node 32 and the cyclic shift constant (for example, to the left) of the selected word in the shift block 7 are prepared. It is equal to CMD CM mod N 2 bytes. - Then the operand A is sampled (lower 24 bits), shifted in the shift block 7 and written to the register 2 of the left operand. Through the first switch 15. In the second cycle, the address of the operand B is prepared, the operand B is sampled, transmission it through the second switch 16 to the second input of the ring arithmetic logic unit 14, write the result on the stack according to the mask to the place of the lower 24 bits of operand B (the addresses in the memory do not change) and the stack descriptor is modified: IMS increases by 24 and DPS reduced by 24. The transfer value is stored in the transfer setting unit 9. In the next two cycles (third and fourth), the actions of the first and second cycles are repeated over the next 24-bit field of operands A and B. In the fifth and sixth cycles, the upper 24 bits of the L and B operand are processed. In all clock cycles, when changing the DPS, its ratio to the bit grid is analyzed. If a

, то длина пол  доступа устанавливаетс  равной ДПС. Микрокоманда выполн етс  до обнулени  ДПС (в данном случае 6 тактов). При обнулении ДПС узлом 33 стековой адресации вырабатываетс  сигнал, индицирующий пересечение границы позиции стека. По этому сигналу вырабатывает- сй признак окончани  стековой микрокоманды, который передаетс  через вт орой управл ющий выход блока 12 стеко- в0й пам ти операндов на первый управл ю- Щ Мй вход блока 1 управлени  и синхронизации и разрешает переход к вы- прлнению следующей микрокоманды.then the length of the access floor is set equal to the DPS. The microcommand is executed before the zeroing of the DPS (in this case, 6 cycles). When the DPS is zeroed by the stack addressing node 33, a signal is generated indicating the intersection of the stack position boundary. This signal generates an indication of the end of the stack microcommand, which is transmitted via the second control output of the block 12 of the operand memory to the first control of the control and synchronization block 1 and allows the next microcommand to go on.

Исполнение микрокоманды Подкачка/откачка стекова  можно по снить на примере откачки четырех позиций стека операндов в основную пам ть. Дл  этого в узе л 34 стековых операций должен быть помещен стековый дескриптор, имею - щий следующие значени  в своих пол х: СМ- 36, НАС О, ДПС 72.Execution of a microcommand Swap / rollout of a stack can be seen using the example of pumping four positions of the operand stack into the main memory. For this, a stack descriptor must be placed in the node 34 of the stack operations, which has the following values in its fields: CM-36, US O, DPS 72.

Откачка также выполн етс  за несколько машинных тактов. В первом такте осуществл етс  выборка младшего пол  операнда длиной 24 бита на дне стека и помещение его в блок 11 через первый выход блока 12 сгековой пам ти операндов и п тый вход блока 11. Адрес этого пол  вырабатываетс  в узле 33 стековой адресации по соответствующим сигналам от узла 34 стековых операций с использованием значени  регистра указател  дна стека. Передача выбранного пол  осуществл етс  в составе байтного слова. Поскольку размер позиции стека и Передаваемого слова кратен байтудо младшие три разр да значени  длины пол  обмена предполагаютс  равными нулю и используютс  дл  передачи в контроллер основной пам ти информации о положении младшего байта выбранного пол  в передаваемом слове. Эта информаци  передаетс  через второй выход блока 12 стековой пам - операндов в блок 4 настройки через его п тый вход и через его первый выход поступает на второй вход блока 11. Адрес пол  в основной пам ти передаетс  с четвертого выхода блока 8 дескрипторов на третий вход блока 11. Затем происходит модификаци  стекового дескриптора в узле 34 стековых операций и дескриптора основной пам ти в блоке 8 дескрипторов на длину выбранного пол  В стековом дескрипторе модифицируютс  пол  НАС и ДПС: НАС увеличиваетс , а ДПС уменьшаетс  на длину пол  (то есть на 24). Дескриптор основной пам ти модифицируетс  аналогично.Pumping is also performed in several machine cycles. In the first cycle, the low-order operand is 24 bits long at the bottom of the stack and placed in block 11 via the first output of block 12 of the operand memory and the fifth input of block 11. The address of this field is generated at the stack addressing node 33 by the corresponding signals from node 34 stack operations using the value of the register of the index of the bottom of the stack. The transfer of the selected field is made up of a byte word. Since the size of the stack position and the Word being transmitted is a multiple of bytes, the lower three bits of the length of the exchange field are assumed to be zero and are used to transfer information about the position of the low byte of the selected field in the transmitted word to the main memory controller. This information is transmitted through the second output of block 12 of the stack memory operands to the setting block 4 through its fifth input and through its first output goes to the second input of block 11. The address field in the main memory is transmitted from the fourth output of block 8 of descriptors to the third input of the block 11. Then, the stack descriptor is modified in the node 34 of the stack operations and the main memory descriptor in block 8 of descriptors for the length of the selected field. In the stack descriptor, the NAS and DPS fields are modified: the NAS increases and the DPS decreases by the floor length ( there is a 24). The main memory descriptor is modified similarly.

Во втором такте выбираетс  следующа  порци  операнда, а выбранна  порци  передаетс  в основную пам ть ДескрипторыIn the second cycle, the next portion of the operand is selected, and the selected portion is transferred to the main memory. Descriptors

00

5five

00

5five

00

5five

00

5five

также модифицируютс . В третьем такте повтор ютс  действи , описанные дл  первого и второго тактов над старшей порцией операнда.also modified. In the third cycle, the actions described for the first and second cycles over the major portion of the operand are repeated.

После модификации стекового дескриптора вырабатываетс  сигнал пересечени  границы позиции стека, по которому в стековом дескрипторе восстанавливаютс  первоначальные значени  полей НАС и ДПС, а поле СМ уменьшаетс  на длину позиции стека. При этом также осуществл етс  увеличение значени  указател  дна и уменьшение значени  указател  вершины стека на длину позиции стека. Таким образом, абсолютное значение адреса вершины стека не измен етс .After modifying the stack descriptor, a signal is generated for crossing the boundary of the stack position, by which the original values of the NAS and DPS fields are restored in the stack descriptor, and the CM field is reduced by the length of the stack position. This also increases the value of the bottom indicator and decreases the value of the stack top pointer by the length of the stack position. Thus, the absolute value of the address of the top of the stack does not change.

В следующих дев ти тактах повтор ютс  действи , описанные дл  первых трех тактов, и откачиваютс  следующие три позиции стека. В последнем, двенадцатом такте после модификации стекового дескриптора поле СМ обнул етс , поэтому на втором управл ющем выходе блока 12 стековой пам ти операндов вырабатываетс  сигнал завершени  стековой операции, передаваемый на первый управл ющий вход блока 1 управлени  и синхронизации. Этот же сигнал может быть выработан и при опустошении стека (т.е. при обнулении указател  верхней позиции стека). Это произойдет , если значение в поле СМ больше значени  указател  верхней позиции.In the next nine cycles, the steps described for the first three cycles are repeated, and the next three stack positions are pumped out. In the last, twelfth cycle after modifying the stack descriptor, the CM field is nullified, therefore, the second control output of the operand stack unit 12 produces a stack completion signal transmitted to the first control input of the control and synchronization unit 1. The same signal can be generated when the stack is empty (that is, when the top position of the stack is reset). This will occur if the value in the CM field is greater than the value of the top position indicator.

Последн   порци  данных передаетс  в основную пам ть контроллером основной пам ти при исполнении следующей микрокоманды .The last piece of data is transmitted to the main memory by the main memory controller when the next microcommand is executed.

Операци  подкачки осуществл етс  аналогично, однако данные в составе М-бай- тного слова передаютс  с третьего выхода блока 11 на седьмой вход данных блока 12 стековой пам ти операндов сдвинутыми по месту. При подкачке модификаци  дескрипторов происходит при поступлении данных в блок 12 стековой пам ти операндов, а контролируетс  ситуаци  переполнени  стека. Во всех случа х при завершении микрокоманды Подкачка/откачка стекова  по контролю границ стека в поле СМ записано количество позиций стека, которые не удалось перекачать. Эта информаци  может быть использована при анализе результатов подкачки или откачки следующими микрокомандами .The paging operation is performed in the same way, however, the data contained in the M-byte word is transferred from the third output of block 11 to the seventh data input of block 12 of the stack memory of operands shifted in place. When paging, the modification of descriptors occurs when the data arrives at block 12 of the operand's stack, and the stack overflow situation is monitored. In all cases, at the completion of the microcommand Swapping / pumping of the stack for controlling the boundaries of the stack, the CM field contains the number of stack positions that could not be pumped. This information can be used in the analysis of the results of pumping or pumping with the following microcommands.

Фо-рмула изобретени  1. Процессор микропрограммируемой ЭВМ, содержащий блок управлени  и синхронизации , регистр левого операнда, регистр правого операнда, блок настройки, первый и второй регистры общего назначени , блок сдвига, блок дескрипторов, блок установки переноса, блок установки типа и длины пол  данных, блок ввода-вывода, блок стековой пам ти операндов, коммутатор данных, причем первый управл ющий выход блока настройки соединен с первым управл ющим входом блока сдвига, первый выход данных блока настройки соединен с первыми входами данных блока установки типа и длины пол  данных, блока дескрипторов , блока ввода-вывода и блока стековой пам ти операндов, выход второго регистра общего назначени  подключен к первому входу данных блока сдвига, первый выход данных блока дескрипторов соединен с вторым входом данных блока стековой пам ти операндов, второй выход данных блока дескрипторов соединен с вторым входом данных блока установки типа и длины пол - данных и с третьим входом данных блока стековой пам ти операндов, третий выход данных олока дескрипторов соединен с вторым входом данных блока ввода-вывода, четвертый выход данных блока дескрипторов соединен с третьим входом данных блока установки типа и длины пол  данных, управл ющий выход блока установки типа и длины пол  данных соединен с первым управл ющим входом блока управлени  и синхронизации , первый и второй выход данных блока установки типа и длины пол  данных соединены соответственно с первым и вторым входами данных блока настройки, третий вход данных блока ввода-вывода соединен с входом данных процессора, пер вый выход данных блока ввода-вывода соединен с выходом данных процессора, пер- .вый выход данных блока сдвига соединен сFormula of the invention 1. Processor microprogrammable computer containing control and synchronization unit, left operand register, right operand register, tuning unit, first and second general registers, shift unit, descriptor unit, transfer setting unit, field type and length setting unit data, input / output unit, operand stack memory unit, data switch, the first control output of the setup unit is connected to the first control input of the shift unit, the first data output of the setup unit is connected to the first input Data of the type and length of the data field, the descriptor block, the I / O block and the operand stack memory block, the output of the second general register is connected to the first data input of the shift block, the first data output of the handle block is connected to the second data input of the stack memory block these operands, the second data output of the block of descriptors is connected to the second data input of the type and length of the field — data block and the third data input of the operand stack memory, the third data output of the descriptor data is connected to the second data input of the I / O unit; the fourth data output of the descriptor block is connected to the third data input of the type setting unit and the data field length; the control output of the type setting unit and the data field length are connected to the first control input of the control and synchronization unit, the first and second the data output of the type and length of the data field setting block is connected respectively to the first and second data inputs of the tuning block; the third data input of the I / O block is connected to the data input of the processor; da output is connected to the data output of the processor, the first data output of the shift block is connected to

четвертый входом данных блока стековой пам ти операндов, первый и второй выходы i блока стековой пам ти операндов соединены соответственно с вторым и третьим входами данных блока сдвига, первый и второй управл ющие выходы блока стековой пам ти операндов соединены соответственно с 1 вторым управл ющим входом блока сдвига и вторым управл ющим, входом блока управлени  и синхронизации, выход блока установки переноса соединен с третьим входом данных блока настройки, первый выход регистра левого операнда, выход регистра правого операнда, информационный выход блока управлени  и синхронизации, выход первого регистра общего назначени , третий выход данных блока стековой пам ти операндов, п тый выход данных блока дескрипторов, второй выход данных блока настройки, второй выход данных блока ввода-вывода, выход второго регистра общего назначени  и первый выход блокаthe fourth data input of the operand stack memory unit, the first and second outputs i of the operand stack memory block i are connected to the second and third inputs of the shift block, respectively, the first and second control outputs of the operand stack memory block are connected to the second control input of the block, respectively the shift and the second control, the input of the control and synchronization unit, the output of the transfer unit is connected to the third data input of the tuning unit, the first output of the left operand register, the output of the right operand register, information output of the control and synchronization unit, the output of the first general register, the third data output of the operand stack memory block, the fifth data output of the descriptor block, the second data output of the tuner, the second data output of the I / O block, the output of the second general register and the first block output

00

5five

00

5five

00

5five

00

5five

00

5five

сдвига соединены соответственно с первого по дес тый информационными входами коммутатора данных, выход коммутатора данных соединен с информационным входом блока управлени  и синхронизации, с п тым входом данных блока стековой пам ти операндов , с первым входом данных Олока дескрипторов , с четвертыми входами данных блоков настройки и ввода-вывода и с информационными входами регистра правого операнда, первого и второго регистров общего назначени , управл ющие входы регистров левого и правого операндов, блока настройки, первого и второго регистров общего назначени , блока установки переноса , блока установки типа и длины пол  данных, блока ввода-вывода,блока стековой пам ти операндов, коммутатора данных, блока дескрипторов и третий управл ющий вход блока сдвига соединены соответственно с первого по двенадцатый управл ющими выходами блока управлени  и синхронизации, выход синхронизации которого  вл етс  выходом синхронизации внешних объектов процессора, отличающийс  тем, что, с целью повышени  производительности, в него введены кольцевой арифметико-логический блок и два коммутатора, причем второй выход регистра левого операнда соединен с первым ин- формационным входом кольцевого арифметико-логического блока, первый информационный вход первого коммутатора соединен с выходом коммутатора данныхТ выход первого коммутатора соединён с информационным входом регистра левого операнда, выход регистра правого операнда соединен с первым информационным входом второго коммутатора, выход которого подключен к второму информационному входу кольцевого арифметико-логического блока, первый выход данных блока стековой пам ти операндов соединен с вторым информационным входом второго коммутатора и с п тым входом данных блока ввода-вывода, второй выход данных блока стековой пам ти операндов подключен к п . тому входу данных блока настройки, второй выход блока сдвига соединен с вторым информационным входом первого коммутатора , первый, второй и третий выходы результата кольцевого арифметико-логического блока соединены соответственно с одиннадцатым информационным входом ко ммутатора данных, с шестым входом данных блока стековой пам ти операндов и с входом данных блока установки переноса, первый управл ющий вход кольцевого арифметико-логического блока, управл ющие входы первого и второго коммутаторовthe shift is connected to the data switch of the data switch, respectively, the data switch output is connected to the information input of the control and synchronization unit, to the fifth data input of the operand stack memory, to the first data input of the Descriptor Block, to the fourth data inputs of the setting blocks and I / O and with information inputs of the right operand register, the first and second general registers, the control inputs of the left and right operand registers, the tuner, the first and second general purpose registers, transfer unit, data type and field length setting unit, input / output unit, operand stack memory unit, data switchboard, descriptor unit and the third control input of the shift unit are connected respectively from the first to the twelfth control outputs of the unit control and synchronization, the synchronization output of which is the synchronization output of external objects of the processor, characterized in that, in order to improve performance, a ring arithmetic logic is introduced into it block and two switches, the second output of the left operand register is connected to the first information input of the ring arithmetic logic unit, the first information input of the first switch is connected to the output of the data switch; the output of the first switch is connected to the information input of the left operand register, the output of the right operand register is connected with the first information input of the second switch, the output of which is connected to the second information input of the ring arithmetic logic unit, the first data output The operand stack memory unit is connected to the second information input of the second switch and with the fifth data input of the I / O unit, the second data output of the operand stack memory block is connected to p. The second shift input is connected to the second information input of the first switch; the first, second and third outputs of the ring arithmetic logic unit are connected respectively to the eleventh information input of the data switch, and the sixth data input of the operand stack memory and with the data entry of the transfer unit, the first control input of the ring arithmetic logic unit, the control inputs of the first and second switches

соединены соответственно с тринадцатого по п тнадцатый управл ющими выходами блока управлени  и синхронизации, первый управл ющий выход блока настройки соединен с вторым управл ющим входом кольцевого арифметико-логическ.ого блока, первый управл ющий выход блока стековой пам ти операндов соединен с третьим управл ющим входом кольцевого арифмети- кр-логического блока, третий выхо д данных ввода-вывода соединен с седьмым входом данных блока стековой пам ти опе- рЬндов.connected to the thirteenth to the fifteenth control outputs of the control and synchronization block; the first control output of the tuning block is connected to the second control input of the ring arithmetic logic unit; the first control output of the stack memory operand is connected to the third control input ring arithmetic kr-logical block, the third output of the I / O data is connected to the seventh data input of the block memory of operands.

2. Процессор по п.1, о т л и ч а ю щ и й- с   тем, что кольцевой арифметико-логический блок содержит N байтовых арифметико-логических узлов с переменной длиной пол  данных, N двухвходовых коммутаторов м,М-входовый коммутатор (где N п/8 при разр дности кольцевого арифметико-логического блока, равной п), первую группу вы- х здных усилителей и вторую группу выходных усилителей , причем 1-й разр д первого входа результата кольцевого ариф- м|етико-логического блока соединен с 1-м разр дом первого информационного входа соответствующего байтового арифметико- лргического узла с переменной длиной пол  данных, 1-й разр д второго информационно- гр входа кольцевого арифметико-логическо- гр блока соединен с -м разр дом второго информационного входа соответствующего байтового арифметико-логического узла с геременной длиной пол  данных, -й разр д выхода результата соответствующего Еййтового арифметико-логического узла с2. The processor according to claim 1, about tl and h and y and d so that the ring arithmetic logic unit contains N byte arithmetic logic nodes with variable length data field, N two-input switches m, M-input switch (where N p / 8 with a ring arithmetic logic unit equal to n), the first group of output amplifiers and the second group of output amplifiers, with the 1st bit of the first input of the result of the ring arithmetic | connected to the 1st bit of the first information input of the corresponding byte arithmetic a tactical node with a variable data field length, the 1st bit of the second information-ing input of the ring arithmetic logic unit is connected to the th discharge of the second information input of the corresponding byte arithmetic logic node with the current data field length, the output of the result of the corresponding Yight arithmetic logic node with

5five

переменной длиной пол  данных подключен к i-м входам выходных усилителей первой (I f, (N ) и второй (I Т7п) групп, выходы которых  вл ютс  соответственно i-м разр дом первого и второго выходов результата кольцевого арифметико-логического блока, первый управл ющий вход кольцевого арифметико-логического блокаvariable-length data field is connected to the i-th inputs of the output amplifiers of the first (I f, (N) and second (I T7p) groups, whose outputs are respectively the i-th bit of the first and second outputs of the result of the ring arithmetic logic unit, the first control input of the ring arithmetic logic unit

соединен с первыми управл ющими входами N байтовых арифметико-логических уз,- лов с переменной длиной пол  данных, второй управл ющий вход кольцевого арифметико-логического блока боединен с первыми информационными входами N двухвходовых коммутаторов и вторыми управл ющими входами N байтовых арифметико-логических узлов с переменной длиной пол  данных, третий управл ющий вход кольцевого арифметико-логического блока сое0 Дйнен с управл ющими входами N Гдвухвходовых коммутаторов, N-входового коммутатора и третьими управл ющими входами N байтовых арифметико-логических узлов с переменной длиной пол  дан5 ных, выход переноса j-ro байтового арифметико-логического узла с переменной длиной пол  данных соединен г, вторым информационным входом k-ro двухвходового коммутатора и j-м информационным вхоо дом N-входового коммутатора (где j fTT3, k j + 1 mod N), выход J-ro двухвходового коммутатора соединен с входом переноса j-ro байтового арифметико-логического узла с переменной длиной пол  данных выход N-входового коммутатора  вл етс  третьим выходом результата кольцевбго арифметико-логического блока.connected to the first control inputs of N byte arithmetic logic nodes — variable-length data field fishing; the second control input of a ring arithmetic logic unit with the first information inputs of N two-input switches and the second control inputs of N byte arithmetic logic nodes variable-length data field, the third control input of a ring arithmetic logic unit Soyno Dienen with control inputs N Gdvtvutrovyh switches, N-input switch and the third control inputs and N byte arithmetic logic nodes with a variable length data field, the transfer output of a j-ro byte arithmetic logic node with a variable length data field is connected to r, the second information input of the k-ro two-input switch and the j-th information input of the N input the switch (where j fTT3, kj + 1 mod N), the output J-ro of the two-input switch is connected to the transfer input of the j-ro byte arithmetic logic node with a variable data field length the output of the N-input switch is the third output of the ring arithmetic logic th block.

5five

.- „ ---.- „---

7 ч I v7 h I v

fiE-CK e C.Э -оэох 5 i.ARO.i,fiE-CK e C.E.-oeoh 5 i.ARO.i,

uЈЈ-cj: v-Q-c 3«-чэо 3t г.чс1.uЈЈ-cj: v-Q-c 3 “-cao 3t gh1.

ct o,cv съ ( со сьм о Оct o, cv sd (from c o m o

ГR

СПSP

ю 1 о со гоu 1 o so go

ЈJ

Сч tXlMF tXl

У 35 W kl35 W kl

iffy 45 J7 J3 59 ДОiffy 45 J7 J3 59 TO

tf565859tf565859

Фиг, 5FIG 5

73 7273 72

7/ 57 68 69 707/57 68 69 70

/7/ 7

Фиг. бFIG. b

гg

83 8683 86

1818

8eight

80 в/ Фиг. 780 in / fig. 7

84 8784 87

Упр.Exercise

гg

О 1About 1

UU

-Н 89-N 89

L...L ...

УпрМл ПБ БПФUprMl PB FFT

гg

v v vv v v

L.L.

v v

да ,Yes ,

fЈ7«; (дгц)fЈ7 "; (dgc)

Фиг. 9FIG. 9

ПереносTransfer

Т1T1

JJ

Фиг.8Fig.8

смcm

ISIS

Стековый дескриптор Фиг. 12The stack handle of FIG. 12

Стек операндов НАСUS operands stack

МПСMPS

7272

Claims (2)

Формула изобретенияClaim 1. Процессор микропрограммируемой ЭВМ, содержащий блок управления и синхронизации, регистр левого операнда, регистр правого операнда, блок настройки, первый и второй регистры общего назначе17 ния, блок сдвига, блок дескрипторов, блок установки переноса, блок установки типа и длины поля данных, блок ввода-вывода, блок стековой памяти операндов, коммутатор данных, причем первый управляющий выход блока настройки соединен с первым управляющим входом блока сдвига, первый выход данных блока настройки соединен с первыми входами данных блока установки типа и длины поля данных, блока дескрипторов, блока ввода-вывода и блока стековой паг/йти операндов, выход второго регистра общего назначения подключен к первому входу данных блока сдвига, первый выход данных блока дескрипторов соединен с вторым входом данных блока стековой памяти операндов, второй выход данных блока дескрипторов соединен с вторым входом данных блока установки типа и длины поляданных и с третьим входом данных блока стековой памяти операндов, третий выход данных олока дескрипторов соединен с вторым входом данных блока ввода-вывода, четвертый выход данных блока дескрипторов соединен' с третьим входом данных блока установки типа и длины поля данных, управляющий выход блока установки типа и длины поля данных соединен с первым уп равляющим входом блока управления и син; хронизации, первый и второй выход данных i блока установки типа и длины поля данных : соединены соответственно с первым и вторым входами данных блока настройки, третий вход данных блока ввода-вывода соединен с входом данных процессора, пёр^ вый выход данных блока ввода-вывода соединен с выходом данных процессора, пер-вый выход данных блока сдвига соединен с четвертым входом данных блока стековой ; памяти операндов, первый и второй выходы ί блока стековой памяти операндов соединеj ны соответственно с вторым и третьим входами данных блока сдвига, первый и второй ^управляющие выходы блока стековой памяти операндов соединены соответственно с i вторым управляющим входом блока сдвига и вторым управляющим, входом блока уп, равления и синхронизации, выход блока установки переноса соединен с третьим входом данных блока настройки, первый выход регистра левого операнда, выход регистра правого операнда, информационный выход блока управления и синхронизации, выход первого регистра общего назначения, третий выход данных блока стековой памяти операндов, пятый выход данных блока дескрипторов, второй выход данных блока настройки, второй выход данных блока ввода-вывода, выход второго регистра общего назначения и первый выход блока сдвига соединены соответственно с первого по десятый информационными входами коммутатора данных, выход коммутатора данных соединен с информационным входом блока управления и синхронизации, с пятым входом данных блока стековой памяти операндов, с первым входом данных блока дескрипторов, с четвертыми входами данных блоков настройки и ввода-вывода и с информационными входами регистра правого операнда, первого и второго регистров общего назначения, управляющие входы регистров левого и правого операндов, блока настройки, первого и второго регистров общего назначения, блока установки переноса, блока установки типа и длины поля данных, блока ввода-вывода,блока стековой памяти операндов, коммутатора данных, блока дескрипторов и третий управляющий вход блока сдвига соединены соотв₽уственно с первого по двенадцатый управляющими выходами блока управления и синхронизации, выход синхронизации которого является выходом синхронизации внешних объектов процессора, отличающийся тем, что, с целью повышения производительности, в него введены кольцевой арифметико-логический блок и два коммутатора, причем второй выход регистра левого операнда соединен с первым информационным входом кольцевого арифметико-логического блока, первый информационный вход первого' коммутатора' соединен с выходом коммутатора данных? выход первого коммутатора соединён с информационным входом регистра левого операнда, выход регистра правого операнда соединен с первым информационным входом второго коммутатора, выход которого подключен к второму информационному входу кольцевого арифметико-логического блока, первый выход данных блока стековой памяти операндов соединен с вторым информационным входом второго коммутатора и с пятым входом данных блока ввода-вывода, второй выход данных блока стековой памяти операндов подключен к пя;_ тому входу данных блока настройки, второй выход блока сдвига соединен с вторым информационным входом первого коммутатора, первый, второй и третий выходы результата кольцевого арифметико-логического блока соединены соответственно с одиннадцатым информационным входом коммутатора данных, с шестым входом данных блока’стековой памяти операндов и с входом данных блока установки переноса, первый управляющий вход кольцевого арифметико-логического блока, управляющие входы первого и второго коммутаторов 1. A microprogrammable computer processor comprising a control and synchronization unit, a left operand register, a right operand register, a tuner, first and second general registers, a shift unit, a descriptor unit, a transfer setting unit, a data field type and length setting unit, a unit I / O, operand stack memory block, data switch, the first control output of the tuner connected to the first control input of the shear unit, the first data output of the tuner connected to the first data inputs of the unit The type and length of the data field, the descriptor block, the input-output block and the stack pag / go operand block, the output of the second general register is connected to the first data input of the shift block, the first data output of the descriptor block is connected to the second data input of the operand stack memory block, the second data output of the descriptor block is connected to the second data input of the installation block of the type and length of the polydata and to the third data input of the operand stack memory block, the third data output of the descriptor block is connected to the second data input of the Single Input-output, the fourth output data block descriptors connected 'to the third input data type setting unit and the data length field control output type and length field setting unit connected to the first data controlled by an input control unit and blue; synchronization, the first and second data output i of the installation unit of the type and length of the data field : connected respectively to the first and second data inputs of the tuner, the third data input of the I / O unit is connected to the processor data input, the first data output of the I / O unit is connected with processor data output, the first shift block data output is connected to the fourth stack block data input; operand memory, the first and second outputs ί of the operand stack memory block are connected respectively to the second and third inputs of the shift block data, the first and second ^ control outputs of the operand stack memory block are connected respectively to the i second control input of the shift block and the second control input of the control unit , equalization and synchronization, the output of the transfer installation block is connected to the third data input of the tuner, the first output of the register of the left operand, the output of the register of the right operand, the information output of the control unit and synchronization, the output of the first general-purpose register, the third data output of the operand stack memory block, the fifth descriptor block data output, the second tuner data output, the second input-output block data output, the second general-purpose register output and the first shift block output are connected respectively to the first to tenth information inputs of the data switch, the output of the data switch is connected to the information input of the control and synchronization unit, with the fifth data input of the stack memory block of the operands, with the data input of the descriptor block, with the fourth data inputs of the tuners and input-output blocks and with the information inputs of the register of the right operand, the first and second general registers, the control inputs of the registers of the left and right operands, the tuner, the first and second general registers, the block transfer settings, a unit for setting the type and length of a data field, an input-output unit, an operand stack memory unit, a data switch, a descriptor unit, and a third control input of the shift unit are connected respectively but from the first to the twelfth control outputs of the control and synchronization unit, the synchronization output of which is the synchronization output of external processor objects, characterized in that, in order to improve performance, a ring arithmetic-logical unit and two switches are introduced into it, the second output of the register of the left operand connected to the first information input of the ring arithmetic-logical unit, the first information input of the first "switch" is connected to the output of the data switch? the output of the first switch is connected to the information input of the register of the left operand, the output of the register of the right operand is connected to the first information input of the second switch, the output of which is connected to the second information input of the ring arithmetic-logical unit, the first data output of the stack memory block of the operands is connected to the second information input of the second switch and with the fifth data input of the I / O unit, the second data output of the operand stack memory block is connected to;; _ to the data input of the tuner, W The second output of the shift block is connected to the second information input of the first switch, the first, second, and third outputs of the result of the ring arithmetic-logic block are connected, respectively, to the eleventh information input of the data switch, to the sixth data input of the operand memory block and to the data input of the transfer setup block, the first control input of the ring arithmetic-logical unit, the control inputs of the first and second switches 19 1697082.19 1697082. соединены соответственно с тринадцатого по пятнадцатый управляющими выходами блока управления и синхронизации, первый управляющий выход блока настройки соединен с вторым управляющим входом кольцевого арифметико-логического блока, первый управляющий выход блока стековой памяти операндов соединен с третьим управляющим входом кольцевого арифметик0 логического блока, третий выхо'д данных бЬока ввода-вывода соединен с седьмым вводом данных блока стековой памяти операндов.connected from the thirteenth to fifteenth control outputs of the control and synchronization block, the first control output of the tuner is connected to the second control input of the ring arithmetic-logical block, the first control output of the stack memory block of operands is connected to the third control input of the ring arithmetic 0 of the logical block, the third output The I / O data is connected to the seventh data input of the operand stack memory block. 2. Процессор по п.1, о т л и ч а ю щ и йс я тем, что кольцевой арифметико-логический блок содержит N байтовых арифметико-логических узлов с переменной длиной прля данных, N двухвходовых коммутаторов и|1Ч-входовый коммутатор (где N = п/8 при разрядности кольцевого арифметико-логического блока, равной п), первую группу вых|одных усилителей и вторую группу выходных усилителей’, причем l-й разряд первого входа результата кольцевого арифметико-логического блока соединен с 1-м разрядом первого информационного входа соответствующего байтового арифметикологического узла с переменной длиной поля данных, i-й разряд второго информационно го входа кольцевого арифметико-логическогр блока соединен с 1-м разрядом второго Информационного входа соответствующего байтового арифметико-логического узла с переменной длиной поля данных, l-й разряд выхода результата соответствующего байтового арифметико-логического узла с переменной длиной поля данных подключен к 1-м входам выходных усилителей первой (I = ϊ, (N -1J 8) и второй (i = Τ7ή) групп, 5 выходы которых являются соответственно ϊ-м разрядом первого и второго выходов результата кольцевого арифметико-логического блока, первый управляющий вход кольцевого арифметико-логического блока соединен с первыми управляющими входами N байтовых арифметико-логических уз,лов с переменной длиной поля данных, второй управляющий вход кольцевого арифметико-логического блока боединен с первыми информационными входами N '5 двухвходовых коммутаторов и вторыми управляющими входами N байтовых арифметико-логических узлов с переменной длиной поля данных, третий управляющий вход кольцевого арифметико-логического блока сое20 дйнен с управляющими входами N Гдвухвходовых коммутаторов, N-входового коммутатора и третьими управляющими входами N байтовых арифметико-логических узлов с переменной длиной поля дан25 ных, выход переноса ]-го байтового арифметико-логического узла с переменной длиной поля данных соединен с вторым информационным входом k-го двухвходового коммутатора и j-м информационным вхо30 дом N-входового коммутатора (где J = Ϊ7Τ), к = [j + 1] mod N), выход J то двухвходового коммутатора соединен с входом переноса j-ro байтового арифметико-логического узла с переменной длиной поля данных выход 35 N-входового коммутатора является третьим выходом результата кольцевдго арифметико-логического блока.2. The processor according to claim 1, the fact that the ring arithmetic-logical unit contains N byte arithmetic-logical nodes with variable length for data, N two-input switches and | 1H-input switch ( where N = n / 8 with a bit capacity of the ring arithmetic-logic unit equal to n), the first group of output | amplifiers and the second group of output amplifiers', and the l-th bit of the first input of the result of the ring arithmetic-logical block is connected to the 1st discharge the first information input of the corresponding byte arithmetic logical node with a variable length of the data field, the i-th bit of the second information input of the ring arithmetic-logical block is connected to the 1st bit of the second Information input of the corresponding byte arithmetic-logical node with a variable length of the data field, the l-th bit of the output of the result of the corresponding byte arithmetic logic unit with a variable length data field is connected to the 1 st inputs of the output amplifiers of the first (i = ϊ, (N -1J 8) and a second (i = Τ7ή) groups 5 outputs which are respectively ϊ-m bits of the first and sec of the outputs of the result of the ring arithmetic-logical unit, the first control input of the ring arithmetic-logical unit is connected to the first control inputs of N byte arithmetic-logical nodes, a variable-length data field catch, the second control input of the ring arithmetic-logical unit is connected to the first information inputs N '5-input switches and the second control inputs of the N byte arithmetic logic units with variable length data field, a third control input of the arithmetic logic annular block 20 is connected with the control inputs of N Gdvuhvkhovkhodovyh switches, N-input switch and the third control inputs of N byte arithmetic-logical nodes with variable data field length25, the transfer output of the] byte arithmetic-logical node with variable data field length is connected to the second information input of the k-th two-input switch and j-th information input30 of the N-input switch (where J = Ϊ7Τ), k = [j + 1] mod N), the output J of the two-input switch is connected to the transfer input of the j-byte arithmetic -logical bonds A la with a variable data field length, the output 35 of the N-input switch is the third output of the result of the rings of the arithmetic-logical unit. Фиг. 5FIG. 5 Фиг. кFIG. to 5/ 52 555/52 55 55 5555 55 Фиг. 5FIG. 5 Фиг. 8FIG. 8 Упр Дп ПБ БПФUpr Dp PB BPF Фиг. 9FIG. 9 Наз8ание Title8 Разряды микрокоманды Microdischarge bits 15 14 13 15 14 13 12 12 п P 10 9 10 9 δ δ 7 δ 7 δ 5 5 3 3 2 2 1 1 0 0 Пересылка регистровая Register Forwarding 0 0 0 1 0 0 0 1 Адрес регистра источника Source Register Address Адрес регистра назначения Destination Register Address ' Пересыпка буферная '' Buffer loading 0 0 10 0 0 10 Адрес регистра истоинико/назн. Istoiniko / desig. Register Address Чт] βη Th] βη 1! 2 1! 2 Адрес буфер нойпамяти Memory buffer address Пересыпка а ;.>ОП Transfer a;.> OP 0 0 11 0 0 11 Чт/ /Зя Thu / / Za Вариант Option Дггьар обмена Dggyar exchange Длина поля Field length Отсчет Countdown 0 0 0 0 0 0 0 0 0 110 0 110 вариант option Длина Length Переход Transition 1 1 0 1 1 0 +/ + / Нонстанта переадресации Call Forwarding Constant Перенос Transfer 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 10 0 ί ί 1 1 0 0 Отсчет стековый Stack count 0 0 0 0 0 0 0 0 10 11 10 11 вариант option Длина Length Чтение стековое Stack reading 0 0 0 0 0 0 0 0 1 1 1 1 1 1 Зарианя Dawn Длина Length Запись стековая Stack record 0 0 0 0 0 0 0 0 110 1 110 1 Зареана Zareana Длина Length Модификация указателя Pointer modification 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1110 1110 Зеюсф Зонныг Seusf Sonnyg Обмен стековый Stack exchange 0 0 0 0 0 0 0 0 110 0 110 0 ЛВрес казна чения Lvres treasury /Юресис- / Juresis Настройка стековая Stack setting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 0 110 0 вариант option 1 1 Настройка длины Length setting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 1 110 1 Вариант Option 1 1 СдВиг - Т SdVig - T 10 10 10 10 Адрес регистра назначения Register Address destination Ί де Ί de величина сдвига shift amount Очистка регистровая Registry Cleanup 0 0 0 0 0 0 0 0 0 0 11 0 0 11 вар и ант var and ant Арифметика· логическая операция стековая Arithmetic 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1110 1110 Операция Operation Лодкочко/откачка стековая Boat / pumping stack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1111 1111
(Риг. 10(Riga. 10 Варианты Options Код The code Операция Operation ООО Ltd Сумма А и 8 Sum A and 8 0 0 1 0 0 1 Разность А и 8 Difference A and 8 0 1 0 0 1 0 Сумма А и В по mad? Amount A and B by mad? 0 1 1 0 1 1 Конъюнкция Айв Ive conjunction 1 0 0 100 'Дизъюнкция А и 8 '' Disjunction A and 8 1 0 1 1 0 1 Ннберсия 8 Nnbersia 8 1 1 0 1 1 0 Рересьмна А 8 В Reresmna A 8 B 1 1 1 1 1 1 Разность в и А Difference in and a
Фиг. 11FIG. eleven «5 "5 88 44 88 44 W W 86 86 85 91 85 91 S3 35 S3 35 82 39 82 39 81 ” 81 ” 55 55 39 39 55 55 32 32 5/ 5/ 30 thirty 29 29th 28 28 21 21 20 20 25 25 29 29th А5 23 A5 23 АН 22 AN 22 AJ 21 Aj 21 А2 20 A2 20 А! 19 A! 19 АО '8 JSC ' 8 1? 1? 16 16 15 fifteen 10 10 13 thirteen 12 12 11 eleven ю Yu . 9 . 9 ------Г ------ G 7 7 6 6 5 5 9 9 5 5 2 2
Стек операндов ____СМ НАС ДПС ί ' * '_____I g [ 72 1Stack of operands ____ CM NAS DPS ί '*' _____I g [72 1 Стековый дескрипторStack descriptor Фив. 12Thebes. 12
SU894721849A 1989-07-20 1989-07-20 Microprogramming computer processor SU1697082A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU894721849A SU1697082A1 (en) 1989-07-20 1989-07-20 Microprogramming computer processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU894721849A SU1697082A1 (en) 1989-07-20 1989-07-20 Microprogramming computer processor

Publications (1)

Publication Number Publication Date
SU1697082A1 true SU1697082A1 (en) 1991-12-07

Family

ID=21462306

Family Applications (1)

Application Number Title Priority Date Filing Date
SU894721849A SU1697082A1 (en) 1989-07-20 1989-07-20 Microprogramming computer processor

Country Status (1)

Country Link
SU (1) SU1697082A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999004333A1 (en) * 1997-07-15 1999-01-28 Mikhail Kirillovich Kozlov Formula processor comprising command-type logic control elements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
В1700 Series central System technical manual. Burroughs Corporation,1975, Detroit, Michigan, N 1066941, p.4-18. Авторское свидетельство СССР Мг 860077, кл. G 06 F 15/00, 1980. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999004333A1 (en) * 1997-07-15 1999-01-28 Mikhail Kirillovich Kozlov Formula processor comprising command-type logic control elements

Similar Documents

Publication Publication Date Title
US3983539A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US3949370A (en) Programmable logic array control section for data processing system
US4118773A (en) Microprogram memory bank addressing system
US3585605A (en) Associative memory data processor
US3739352A (en) Variable word width processor control
US4594682A (en) Vector processing
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
US3760369A (en) Distributed microprogram control in an information handling system
EP0185215A2 (en) Forth-like language microprocessor
NL192698C (en) Processing system for processing digital data.
US3909797A (en) Data processing system utilizing control store unit and push down stack for nested subroutines
US3988719A (en) Microprogrammed data processing systems
US4799149A (en) Hybrid associative memory composed of a non-associative basic storage and an associative surface, as well as method for searching and sorting data stored in such a hybrid associative memory
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
US4388682A (en) Microprogrammable instruction translator
EP0074479A2 (en) Data processing apparatus with intersegment call
US3771142A (en) Digital data storage system
US4240142A (en) Data processing apparatus providing autoincrementing of memory pointer registers
KR100322277B1 (en) Central processing unit having expansion instruction
US4424563A (en) Data processor including a multiple word processing method and device
JPH05108341A (en) Microprocessor
US4661925A (en) Computer control memory apparatus providing variable microinstruction length
US4414622A (en) Addressing system for a computer, including a mode register
SU1697082A1 (en) Microprogramming computer processor