SU783793A1 - Device for stack addressing - Google Patents

Device for stack addressing Download PDF

Info

Publication number
SU783793A1
SU783793A1 SU792715033A SU2715033A SU783793A1 SU 783793 A1 SU783793 A1 SU 783793A1 SU 792715033 A SU792715033 A SU 792715033A SU 2715033 A SU2715033 A SU 2715033A SU 783793 A1 SU783793 A1 SU 783793A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
block
stack
data
Prior art date
Application number
SU792715033A
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 SU792715033A priority Critical patent/SU783793A1/en
Application granted granted Critical
Publication of SU783793A1 publication Critical patent/SU783793A1/en

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Description

1one

Изобретение относитс  к области вычислительной техники и предназначено дл  применени  в запоминающих устройствах со стековой организацией , вход щих в состав процессора. 5The invention relates to the field of computer technology and is intended for use in storage devices with stack organization included in the processor. five

Известно устройство стековой адресации , содержащее один регистр указател  позиции стека{|1 . Недостатком такого устройства  вл - tO етс  неполное использование объема стековой пам ти или избыточные временные затраты на операции откачки и подкачки нижних позиций стека изза зафиксированного в оборудовании j значени  начального ащреса нижней позиции стека (он равен нулю).A stack addressing device is known that contains one register of the stack position indicator {| 1. The disadvantage of such a device is the incomplete use of the volume of the stack memory or the excessive time spent on pumping and swapping the lower positions of the stack because of the initial value of the lower position of the stack fixed in equipment j (it is equal to zero).

Наиболее близким к изобретению  вл етс  устройство .стековой адре- 20 сации содержащее два регистра указателей , хран щих абсолютные адреса верхней и нижней .позиций области стека с достоверной информацией, две схемы сравнени  дл  определени  25 уровн  заполнени  стекового запомина ,ющего устройства объемом М, анализирующие значени  регистров указателей , и схему фиксации момента совпадени  значений указателей 30Closest to the invention is a stack addressing device containing two registers of pointers storing the absolute addresses of the top and bottom positions of the stack area with reliable information, two comparison circuits for determining the 25 fill level of the stack memory M, analyzing the value of the register of pointers, and the scheme of fixing the moment of coincidence of the values of the pointers 30

Форму.лы дл  вычислени  адресов и значений указателей в зависимости от типа операции сведены в таблицу.Formula for calculating addresses and pointer values depending on the type of operation are summarized in a table.

В таблице используютс  следующие обозначени : А - абсолютный адрес начала текущей позиции стека; УВП старое значение указател  верхней позиции стека; модифицированное значение указател  верхней позиции стека; УНП - старое значение указател  нижней позиции стека; УНП модифицированное значение указател  нижней позиции стека; РПС - размер позиции стека.The table uses the following notation: A is the absolute address of the beginning of the current stack position; DPS old value of the index of the top position of the stack; modified value of the index of the top position of the stack; OCR - the old value of the index of the lower position of the stack; The value of the index of the lower position of the stack; RPS - the size of the position of the stack.

Недостатки этого устройства состо т в том, что область применени  ограничена только пам тью:со словной организацией и в понижении производительности при работе процессора со стековыми данными переменной длины. Они возникают из-за того, что ;операц1Ги чтени  и зиписи стековых данный производ тс  лишь над словами фиксированной длины, а размер позиции стека неизменен и задан в аппаратуре.The disadvantages of this device are that the field of application is limited only by memory: with word organization and in performance degradation when the processor is running with variable-length stack data. They arise from the fact that; the read and write operations and the stack data given are performed only over words of a fixed length, and the size of the stack position is unchanged and is set in hardware.

Цель изобретени  - повышение производительности устройства.The purpose of the invention is to improve the performance of the device.

Дл  достижени  указанной цели в устройство стековой адресации, содержащее регистр указател  верхней позиции стека, регистр указател  нижней позиции стека, первый и второй управл ющие входы которого соединены соответственно с входами подкачки и откачки устройства, выход регистра указател  нижней позиции стека соединен с первым входом узла модификации, введены адресный; сумматор , блок модификации позиции стека , блок формировани  номера позиции , регистр размера позиции стека, Первый и второй узлы коррекции, при ем вход данных первого узла коррекции соединен с выходом узла модифи ации , а выход данных первого узла «оррекции - с входом данных регистра указател  нижней пози1 и стека. Первый вход сщресного сумматора Соединен с выходом- регистра указател  нижней позиции стека, второй вход адресного сумматора - с выходом блока формировани  номера Позиции и первым входом данных блока модификации позиции стека, а выход адресного сумматора соединен через второй узел коррекции с адресным выходом устройства. Выход регистра указател  верхней позиции стека соединен с первым входом данных блока формировани  номера позиции и вторым входом данных блока модификации :Позиции стека, выход данных которо:го соединен с входом данных регистра указател  верхней позиции стека. Вхо:ды -генерации первого и второго узлов коррекции соединены с входом генерации устройства, вход данных которого соединен с третьим входом данных блока модификации позиции стека, вторым входом данных блока формировани  номера позиции и входом Сданных регистра размера позиции стека , выход которого соединен с третьч им входом данных блока формировани  номера позиции, вторым входом узла модификации и четвертым входом данных блока модификации позиции стека. Входы чтени  блока модификации позиции стека и блока формировани  номера позиции соединены с входом чтени  устройства, вход откачки блока модификации позиции стека соединен с входом откачки и устройства, вход смещени  блока модификации позиции стека соединен с входами смещени  блока формировани  номера позиции и устройства, а управл ющий выход блока модификации с управл ющим выходом устройства. Вход записи блока формировани  номера позиции соединен с входом записи устройства, вход подкачки блока формировани  номера позиции соединен с входом подкачки устройства .To achieve this goal, the stack addressing device containing the upper position pointer register, the lower position pointer register, the first and second control inputs of which are connected to the device's paging and pumping inputs, the output of the lower position pointer register is connected to the first input of the modification node entered address; adder, stack position modification unit, position number forming unit, stack position size register, the first and second correction nodes, receiving the data input of the first correction node is connected to the output of the modification node, and the data output of the first compensation node is with the pointer data input bottom position1 and stack. The first input of the adder is connected to the output register of the lower stack position indicator, the second input of the address adder is connected to the output of the Position Number Generation unit and the first data input of the stack position modification unit, and the output of the address adder is connected via the second correction node to the address output of the device. The output of the register of the pointer of the top position of the stack is connected to the first input of the data block of the formation of the position number and the second data input of the modification block: The positions of the stack, the data output of which is connected to the data input of the register of the pointer of the upper position of the stack. Input: generation dyes of the first and second correction nodes are connected to the device generation input, the data input of which is connected to the third data input of the stack position modification unit, the second data input of the position number generation unit and the input of the Sdannye register of the position size of the stack, the output of which is connected to the third the data input of the block forming the position number, the second input of the node modification and the fourth input of the block modifying the position of the stack. The read inputs of the stack position modification unit and the position number generation unit are connected to the device's read input, the rollout input input of the stack position modification unit is connected to the rollout input and device input, the offset input of the stack position modification unit is connected to the offset inputs of the position number and device generation unit, and the control the output of the modification unit with the control output of the device. The recording input of the block forming the position number is connected to the recording input of the device, the paging input of the block forming the position number is connected to the paging input of the device.

Блок формировани  номера позиции содержит два элемента ИЛИ, три элемента И, два вычитател , причем первый и второй входы первого элемента ИЛИ соединены соответственно с входами чтени  .и записи блока, выход первого элемента ИЛИ - с первым входом первого элемента И, второй вход которого соединен с первым входом данных блока, а выход первого элемента И - с первым входом первого вычитател , первый и второй входы второго элемента ИЛИ соединены соответственно с входами блока чтени  и подкачки , выход второго элемента ИЛИ - с первым входом второго элемента И,The block for forming the position number contains two OR elements, three AND elements, two subtractors, the first and second inputs of the first OR element are connected respectively to the read and write inputs of the block, the output of the first OR element to the first input of the first AND element, the second input of which is connected with the first data input of the block, and the output of the first element AND to the first input of the first subtractor, the first and second inputs of the second OR element are connected respectively to the inputs of the reading and paging unit, the output of the second OR element to the first input of the second th element and

второй вход которого соединен с третьим входом данных блока, а выход второго элемента И - с вторым входом первого вычитател , выход которого соединен с первым входом второго вычитател , первый и второй входы третьего элемента И соединены соответственно с вторым входом данных и входом смещени  блока, а выход третьего элемента И - с вторым входомthe second input of which is connected to the third data input of the block, and the output of the second element And to the second input of the first subtractor, the output of which is connected to the first input of the second subtractor, the first and second inputs of the third element And are connected respectively to the second data input and the input of the offset of the block, and the output of the third element And - with the second input

второго вычитател , выход которого соединен с выходом блока.the second subtractor, the output of which is connected to the output of the block.

Блок модификации позиции стека содержит сумматор, два коммутатора, элемент ИЛИ и узел коррекции номера , причем первый вход данных сумматора соединен с вторым входом данных блока, второй вход данных сумматора - с выходом первого коммутатора , первый и второй входы которого соединены соответственно с третьим и четвертым входами данных блока. Управл ю ций вход сумматора . соединен с выходом элемента ИЛИ, первый и второй входы которого соединены соответственно с входами чтени  и откачки блока. Выход сумматора соединен с выходом данных блока и первым входом данных второго коммутатора , второй вход данных которого соединен с первым входом данныхThe stack position modification unit contains an adder, two switches, an OR element and a number correction node, the first data input of the adder is connected to the second data input of the block, the second data input of the adder is connected to the output of the first switch, the first and second inputs of which are connected respectively to the third and fourth block data inputs. Controls input adder. connected to the output of the OR element, the first and second inputs of which are connected respectively to the reading and pumping inputs of the unit. The output of the adder is connected to the data output of the block and the first data input of the second switch, the second data input of which is connected to the first data input

блока, управл ющий вход второго коммутатора - с входом смещени  блока, а выход соединен через узел коррекции номера с управл кишм выходом блока,the block, the control input of the second switch is connected to the offset input of the block, and the output is connected through the number correction unit to the control of the block output,

Первый и второй узлы коррекции содержат вычитатель, сумматор и коммутатор , причем вход левого операнда сумматора соединен с входом правого операнда вычитател , с первым.The first and second correction nodes contain a subtractor, an adder and a switch, with the input of the left operand of the adder connected to the input of the right operand of the subtractor, with the first.

входом коммутатора и входом данных узла коррекции, вход левого операнда вычитател  и вход правого операнда сумматора соединены с входом генерации узла коррекции, выход сумматора соединен с выходом данныхthe input of the switch and the data input of the correction node, the input of the left operand of the subtractor and the input of the right operand of the adder are connected to the input of the generation of the correction node, the output of the adder is connected to the data output

узла коррекции.correction node.

На фиг.1 показана блок-схема устройства стековой адресации; на фиг.2блок-схема блока номера позиции; на фиг.З - блок-схема блока модификации; на фиг,4 - блок-схема узла корре ции .Figure 1 shows the block diagram of the device stack addressing; FIG. 2 is a block diagram of a block of a position number; FIG. 3 is a block diagram of a modification block; Fig. 4 is a block diagram of a correction node.

Устройство стековой адресации содержит регистр 1 указател  нижней позиции стека, регистр 2 указател The stack addressing device contains register 1 pointer of the lower position of the stack, register 2 pointer

верхней позиции стека, узел 3 модификации , адресный сумматор 4, блокtop stack position, node 3 modifications, address adder 4, block

5модификации позиции стека, блок5 modifications of stack position, block

6формировани  номера позиции, регистр 7 размера позиции стека, первый узел 8 коррекции и второй узел 9 коррекции.6 forming the position number, the stack position size register 7, the first correction node 8 and the second correction node 9.

Блок 6 содержит два .элемента ИЛИ 10, 11, три элемента И 12, 13, 14, два вычитател  15, 16, вход 17 чтени , выход 18 записи, .первый вход 19 данных, вход 20 подкачки, третий вход 21 данных, второй вход 22 данных , вход 23 смещени , выход 24.Block 6 contains two .OR elements 10, 11, three elements AND 12, 13, 14, two subtractors 15, 16, read input 17, write output 18, first data input 19, paging input 20, third data input 21, second data input 22, offset input 23, output 24.

Блок 5 содержит сумматор 25, два коммутатора 26 и 27, элемент ИЛИ 28 и узел 29 коррекции номера, второй вход 30 данных, третий 31 и четвертый 32 входы данных, вход 33 чтени  вход 34 откачки, выход 35 данных, первый вход 36 данных, вход 37 смещени , управл ющий выход 38.Block 5 contains an adder 25, two switches 26 and 27, an OR element 28 and a number correction unit 29, a second data input 30, a third 31 and a fourth 32 data inputs, a read input 33 of a pumping input 34, a data output 35, a first data input 36, bias input 37, control output 38.

Первый и второй узлы 8, 9 коррекции содержат вычитатель 39, суммато 40, коммутатор 41, вход 42 данных, выход 43 данных, вход 44 генерации.The first and second correction nodes 8, 9 contain the subtractor 39, total 40, switch 41, data input 42, data output 43, generation input 44.

Работа устройства стековой адресации при формировании адреса, поступающего через адресный выход устройства к стековому блоку пам ти, состоит из нескольких последовательных этапов: подготовки номера текущей позиции, подготовки абсолютного адреса текущей позиции и модификации , если-это необходимо, значений указателей нижней и верхней позиций стека. Эта работа управл етс  блоком стековых операций, который посылает в устройство стековой адресации п ть управл ющих сигналов. Четыре из них соответствуют типу выполн емой в стековой пам ти операции - сигналы ЧтениеThe operation of the stack addressing device when forming the address coming through the device’s address output to the stack memory unit consists of several successive stages: preparing the current position number, preparing the absolute address of the current position and modifying, if necessary, the values of the pointers of the lower and upper positions of the stack . This operation is controlled by a stack operation block that sends five control signals to the stack addressing device. Four of them correspond to the type of operation performed in the stack memory - signals Read

Запись , Подкачка и Откачка, п тый задает вариант исполнени  перЧтение или Write, Paging, and Pumping, the fifth sets the version of the read or

вых двух операций I Ioutput two operations I I

Чтение со смещением , ЗаписьRead with write offset

или Запись со смещением or Record with offset

щение заключаетс  в обращении относительно указател  верхней позиции, уменьшенному на заданное число позиций ., Операци  в таком варианте позвол .ет минимизировать число действий дл  обращени  к стековым данным , лежащим в глубине стека.This is a reference to the pointer of the top position, reduced by a specified number of positions. The operation in this embodiment allows minimizing the number of actions for accessing the stack data that lies deep in the stack.

Сигналы Чтение, Запись,Signals Read, Write,

Подкачка, ОткачкаPumping, Pumping

иand

щение поступают по управл ющим входам устройства: третьему, п тому первому, второму и четвертому соответственно .They are received through the control inputs of the device: the third, fifth, first, second, and fourth, respectively.

При операци х Чтение, Запись адрес текущей позиции вычисл етс  как сумма по модулю М адреса из регистра 1 указател  нижней позиции стека и скорректированного по типу операции номера позиции, к которой происходит обращение по отнощению к указателю нижней позиции стека. При операци х Подкачка,In the operations Read, Write, the address of the current position is calculated as the sum modulo M of the address from register 1 of the lower stack position index and the position number corrected by the type of operation that is referenced with respect to the index of the lower stack position. With swapping operations,

Откачка адрес формируетс  как алгебраическа  сумма по модулю М значени  из регистра 1 и значени  коррекции указател  по типу операции . Коррекци  указател  во всех четырех операци х пониг аетс  как учет положени  указател  верхней или нижней позиции стека по отношению к позиции, к которой происходит обращение: например, указатель верхней позиции стека всегда уста- The rollback address is generated as an algebraic sum modulo M of the value from register 1 and the pointer correction value by type of operation. Correction of the pointer in all four operations is understood as taking into account the position of the pointer to the top or bottom position of the stack relative to the position to which it is being accessed: for example, the pointer to the top position of the stack is always set

0 новлен на начале очередной свободной позиции и дл  чтени  последней зан той позиции его следует опустить на одну позицию.It was added at the beginning of the next free position and for reading the last position it should be lowered by one position.

5five

В тех случа х, когда при модификации значени  в регистре 2 результат меньше нул  или больше значени  М, формируетс  и посылаетс  через управл ющий выход устройст0 ва в блок стековых операций управл ющий сигнал о наличии значени , адресующего за пределы области с дост верной информацией.When modifying a value in register 2, the result is less than zero or more than the value of M, a control signal is generated and sent via the control output of the device to the stack operation unit about the presence of a value addressing outside the region with valid information.

Первый этап работы устройства выполн етс  в блоке 6. Блок 6 вы5 рабатывает номер текущей позиции, завис щий от значени  в указателе верхней позиции стека и управл ющихThe first stage of operation of the device is performed in block 6. Block 6 extracts the number of the current position, depending on the value in the index of the top position of the stack and the control

Чтение Reading

сигналов: при сигнале.signals: at the signal.

номер позиции есть (УВП - РПС), при сигнале Запись - УВП , при сигнале Подкачка - РПС и при сигнале Откачка значение на выходе блока 6 равно нулю.the position number is (UVP - RPS), with the Record signal - UVP, with the Swap signal - RPS and with the Pumping signal, the value at the output of block 6 is zero.

Здесь -ГУВП - при отсутствии сигнала СМЕЩЕНИЕ; (УВП-СМ) - при налир чии этого сигнала;Here-GWP - in the absence of a signal OFFSET; (UVP-SM) - in the presence of this signal;

УВП - значение в регистре 2 указател  верхней позиции ,.стека;OHR - value in the register 2 indexes of the top position, .stak;

РПС - значение в регистре 7 размера позиции стека;RPS - the value in register 7 of the size of the position of the stack;

СМ - значение на входе данных от процессора.CM - the value of the input data from the processor.

СмеБлок 6 работает следующим образом . Первые входы вычитателей 15, 16 и сумматора 4 есть входы дл  уменьшаемого значени , вторые входы - дл  вычитаемого значени . На первый вход вычитател  15 при наличии хот  бы одного из сигналов Чтение (вход 17 блока 6) или i3a-: Block 6 operates as follows. The first inputs of the subtractors 15, 16 and the adder 4 are the inputs for the decremented value, the second inputs for the subtracted value. At the first input of the subtractor 15 in the presence of at least one of the signals Read (input 17 of block 6) or i3a-:

Смепись ( 18 блока 6) на входах элемента ИЛИ 10 через элемент И 12 пропускаетс  значение из регистра 2, при остальных операци х значение на первом входе вычитател  15 равно нулю. На второй вход вычитател  при наличии на входах элемента ИЛИ 11 хот  бы одного из сигналов Чтение или Подкачка (вход 20 блока 6) через элемент И 13 пропускаетс  значение РПС из регистра 7, при остальных операци х значение на втором входе вычитател  15 будет равноThe jumble (18 of block 6) at the inputs of the element OR 10 through the element 12 and passes the value from register 2, with the remaining operations, the value at the first input of the subtractor 15 is zero. If the input element OR 11 has at least one of the Read or Paging signals (input 20 of block 6) is passed to the second input of the subtractor, then the CRP value from register 7 is passed through the AND 13 element. For other operations, the value at the second input of the subtractor 15 will be

нулю. Выходное значение вычитател  15 есть номер текущей позиции при нулевом смещении. Подготовительное зна чение номера текущей позиции поступа ет на первый вход вычитател  16, а на второй его вход через элемент И 1 подаетс  при задании варианта со сме Чтение щением в операци х пись значение смещени  (вход 22 да ных от процессора) и вычитаетс  из подготовительного значени  номера,. Результат (номера текущей позиции с учетом смещени ) поступает через адресный выход 24 на второй вход адрес ного сумматора 4, На первый вход адресного сумматора 4 посто нно подключен регистр 1 указател  нижней позиции стека, кото рый содержит абсолютный адрес хронологически первой пойиции с достоверной информацией, ее номер равен нулю Выходное значение адресного сумматора 4 корректируетс  по модулю М узлом 9 и поступает на адресный выход к стековому блоку пам ти. Значение в регистре 7 размера позиции стека, которое учествует как константа модификации значений указателей и константа дл  формировани  абсолютного адреса текущей позиции задаетс  программно по входу от процессора . Измен   значение РПС, можно динамически мен ть формат стековых записей. Последний этап работы устройства выполн етс  на узле 3 и блоке 5,причам дл  операций Чтение и Запись наличие управл ющего сигнала Смещение блокирует модификацию значени  в регистре 2, т.е. в резуль тате выполнени  упом нутого варианта этихкоманд указатель верхней позиции стека остаетс  с прежним значением . Модификаци  значений указателей производитс  одновременно узлом 3 и блоком 5 и зависит от значений управл ющих сигналов, поступающих из блока стековых операций. Узел 3 модифицирует значение в регистре 1 ука зател  нижней позиции стека только при операци х Подкачка и Откач ка , причем значение с выхода узла 3 после коррекции по модулю М в узле 8записываетс  в регистр 1 по управл ющему сигналу записи в регистр. Коррекци  по модулю М, выполн ема узлом 8 (.или 9) , заключаетс  в следующем: , проверить условие (или если условие не выполн етс , то алгебраически суммировать значени  адреса А и константы коррекции по модулю М, равной М, где бл жайшее большее к М, Знак определ етс  типом выполн емой стековой операции (в частности, дл второго узла 9коррекции Чтение и Запись задают сложение УНП и константы коррекции ) , а Подкачка - вычитание константы из УНП с последующим отбрасыванием возможного переноса из старшего (п-го) разр да, т.е. выполн етс  УНП М на п-разр дном сумматоре . Узлы 8 и 9 однотипны по структуре. Входы левого операнда вычитател  39 и вход правого операнда су матора 40 посто нно соединены с входом генерации устройства, который  вл етс  выходом узла генерации значени  константы , равной 2- Н. Управл ющие входы, определ ющие тип действий на сумматоре 40 (сложение и вычитание), на фиг.4 не показаны. На выходе вычитател  39 формируетс  сигнал, указываю1ций выполн етс  ли условие А7 М дл  узла 8 (или УНП7 М. дл  узла 9). Если этот сигнал отсутствует , то на выход 43 данных поступает через коммутатор 41 значение с входа 42 данных. В противном случае и при наличии управл ющего сигнала, формируемого по типу операции в соответствии с таблицей, на выход 43 данных поступает значение с выхода сумматора 40. В этом случае, когда выполн ема  операци  не требует коррекции (на узле В адреса или на узле 9 значени  УНП) на выход 43 данных подаетс  входное значение с входа 42 данных. В блоке 5 выполн етс  два действи ; формирование номера первой свободной позиции стека дл  занесени  в регистр 2 указател  верхней позиции стека и проверка, не выходит ли номер текущей позиции, участвуюдий в формировании стекового адреса этой позиции, за пределы значени  М, Первое действие выполн етс  в соответствии со значени ми управл ющих сигналов на входе устройства (см, таблицу ) , Второе действие заключаетс  в проверке , удовлетвор етс  ли соотношение О НП М, (1) где номер позиции НП либо результат выполнени  первого действи  в блоке 5 при отсутствующем управл ющем сигнале Смещение, либо значение с выхода блока б при наличии указанного сигнала. Занесение значени  в регистр 2 выполн етс  при отсутствии сигнала Смещение сигналом 3an5iси в регистр (этот сигнал на фиг.1 не показан). Блок 5 при модификации номера позиции работает следующим образом (фиг.З). Значение из регистра 2, т.е. УВП, подаетс  через второй вход 30 данных блока на первый вход сумматора 25, второй вход которого соединен с коммутатором 26, выбирающим на свой выход либо значение РПС с входа 32 блока, либо значение с входа 31 данных от процессора в .качестве константы модификации; управл ющий вход сумматора 25 соединен с элементом ИЛИ 28, объедин ющий управл ющие сигналы Чтение (вход 33 блока) и Откачка (вход 34 блока), наличие одного из них задает вычитание на сумматоре 25, отсутствие обоих - сложение. Выход сумматора 25 соединен по выходу 35 блока с входом регистра 2 и через второй коммутатор 27, на второй вход которого от блока б приходит значени через вход 36 блока, с узлом 29 коррекции номера.to zero. The output value of the subtractor 15 is the number of the current position at zero offset. The preparatory value of the current position number is fed to the first input of the subtractor 16, and to its second input through the element I 1 is supplied when defining a variant with a read in writing operations, the offset value (input 22 data from the processor) and subtracted from the preparatory value numbers, The result (numbers of the current position with regard to the offset) is fed through address output 24 to the second input of address adder 4. At the first input of address adder 4, register 1 of the lower position indicator of the stack, which contains the absolute address of the chronologically first record with reliable information, is permanently connected its number is zero. The output value of the address adder 4 is corrected modulo M by node 9 and is fed to the address output to the stack memory unit. The value in register 7 of the size of the stack position, which qualifies as a constant for modifying the values of the pointers and a constant for generating the absolute address of the current position, is set programmatically at the input from the processor. By changing the BIR value, you can dynamically change the format of the stack entries. The last stage of operation of the device is performed at node 3 and block 5; for read and write operations, the presence of a control signal Offset blocks the modification of the value in register 2, i.e. as a result of the implementation of this variant of these commands, the pointer of the top position of the stack remains with the same value. The modification of pointer values is performed simultaneously by node 3 and block 5, and depends on the values of the control signals from the block of stack operations. Node 3 modifies the value in register 1 of the lower position of the stack only during the Swapping and Pumping operations, and the value from the output of node 3 after modulo-M correction is recorded in node 8 in register 1 by the write control signal in the register. The correction modulo M, performed by node 8 (.or 9), is as follows:, check condition (or if the condition is not met, then algebraically sum the address value A and the modulus correction constant M equal to M, where the closest is greater to M, The sign is determined by the type of stack operation performed (in particular, for the second correction node 9, Read and Write specify the addition of the UNP and the correction constants), and Swap - subtract the constant from the UNP with subsequent discarding of the possible transfer from the older (nth) bit yes, i.e., the UNP M is performed on The bottom of the adder. Nodes 8 and 9 are of the same type in structure. The inputs of the left operand of the subtractor 39 and the input of the right operand of the sump 40 are permanently connected to the device generation input, which is the output of the constant value generating node of 2 N. Control inputs that determine the type of actions on adder 40 (addition and subtraction) are not shown in Figure 4. A signal is generated at the output of the subtractor 39, indicating whether the condition A7 M is fulfilled for node 8 (or UNP7 for M. 9). If this signal is missing, then the output 43 of the data comes through the switch 41 value from the input 42 of the data. Otherwise, and if there is a control signal generated by the type of operation in accordance with the table, the output 43 of the data receives the value from the output of the adder 40. In this case, when the operation is performed, it does not require correction (at the node B address or at node 9 the value of the SNP) to the output 43 of the data is supplied with the input value from the input 42 of the data. In block 5, two actions are performed; generating the number of the first free position of the stack for entering into the register 2 of the index of the top position of the stack and checking whether the number of the current position does not exceed the value of M, the first action is performed in accordance with the values of the control signals at the input of the device (see table), the second action is to check whether the ratio O NP M is satisfied, (1) where the NP position number or the result of performing the first action in block 5 with no control Signal Offset, or the value from the output of block b in the presence of the specified signal. The entry of a value into a register 2 is performed in the absence of a signal. The 3an5i shift of the signal into the register (this signal is not shown in Fig. 1). Block 5 when modifying the position number works as follows (fig.Z). The value of register 2, i.e. The CIP is supplied via the second input 30 of the block to the first input of the adder 25, the second input of which is connected to the switch 26, which selects either the PSD from the input 32 of the block or the value from the input 31 of data from the processor as a modification constant; the control input of the adder 25 is connected to the OR element 28, which combines the control signals Read (input 33 blocks) and Pumping (input 34 blocks), the presence of one of them sets the subtraction on the adder 25, the absence of both - addition. The output of the adder 25 is connected at the output 35 of the block to the input of the register 2 and through the second switch 27, to the second input of which the value comes from the block b through the input 36 of the block, to the number correction unit 29.

Узел 29 преобразует выходное значение коммутатора 27 в значение по модулю М, по вление переноса на выходе коммутатора 27 свидетельствует о наличии переполнени  или исчезнове (опустошени ) стека. ВыборThe node 29 converts the output value of the switch 27 to the value modulo M, the appearance of the transfer at the output of the switch 27 indicates the presence of an overflow or disappearance of the stack. Selection

ни neither

одного из входных значений коммутатором 27 задаетс  поступающим через вход 37 смещени  блока управл ющимсигналом Смещение, при наличии которого на вход коммутатора 27 попадает значение с входа 36 блока. Управл ющий сигнал дл  выбора в коммутаторе 26 не показ-ан.one of the input values by the switch 27 is set by the control signal coming through the input 37 of the offset of the block. If there is, the input from the switch 27 gets the value from the input 36 of the block. The control signal for selection in switch 26 is not shown.

Таким образом, при задании, например ,. операции Запись и варианте без смещени  сумматор 25 суммирует значение РПС с значением УВП, формиру  новое значение на выходе 35 дл  записи в регистр 2, а результат через коммутатор 27 попадает на узел 29 коррекции, провер ющей условие (1). Thus, when setting, for example,. Recording operations and a variant without offset, the adder 25 sums up the value of the PSD with the CWP value, generates a new value at output 35 for writing to register 2, and the result via switch 27 hits the correction node 29 that checks condition (1).

Имеетс  возможность выполнить в блоке 5 модификацию значени  указател  верхней позиции стека значением заданным по программе, например, отIt is possible to perform in block 5 a modification of the value of the pointer of the top position of the stack with the value specified by the program, for example, from

процессора, по входу 31. При этом в регистр 2 (выход 35) засылаетс  значение processor, at input 31. In this case, the register 2 (output 35) is sent the value

Jurt-vun CH.Jurt-vun CH.

Знак операции, сложение или вычитатание задаетс  управл ющими сигналами на входах чтени  и откачки 33, 34 блока модификации. Например, наличие сигнала Чтение от блока стековых операций задает уменьшение значени  указател , т.е. УВП-УВП-СМ. Проверка услови  (1) дл  нового значени  УВП выполн етс  узлом 29 коррекции, на вход которой управл ющим сигналом Смещение (вход 37 блока 5) через коммутатор 27 коммутируетс  значение The sign of the operation, addition or subtraction is specified by the control signals at the inputs of the reading and pumping 33, 34 of the modification block. For example, the presence of a signal Reading from a stack operation block causes a decrease in the value of the pointer, i.e. UVP-UVP-SM. Checking the condition (1) for the new CWP value is performed by the correction unit 29, to the input of which the control signal Offset (input 37 of block 5) switches the value 27 via the switch 27

5 УВП с выхода сумматора 25.5 UVP from the output of the adder 25.

Использование данного устройства стековой адресации расшир ет область применени  стековой пам ти - можно ;: равной эффективнодтьи идпользовать The use of this stack addressing device expands the scope of stack storage — you can;: equally effective, use

0 в качестве стекового блока пам ти не только пам ть со сложной организацией, но и с байтовой, наиболее распространенной в насто щее врем , при этом объем пам ти не ограничиваетс  значени ми , равными 2 .0 as a stack memory block is not only a memory with a complex organization, but also a byte memory, which is the most common at the present time, while the memory size is not limited to values equal to 2.

5five

Применение предложенного стройства обеспечивает полное использование всего объема стековой пам ти как при , так и при , что допускает размещение в стековой пам ти равного The application of the proposed device ensures the complete use of the entire volume of the stack memory both when and when it allows the placement in the stack memory of

0 или большего числа стековых позиций по сравнению с известным устройством. Это эквивалентно увеличению объема стековой пам ти, и следовательно, повышению производительности процессо5 ра из-за значительной разницы (в 4-10 раз) в быстродействии стековой и основной пам ти.0 or more stack positions compared to a known device. This is equivalent to an increase in the volume of the stack memory and, consequently, an increase in the performance of the processor due to the significant difference (4-10 times) in the speed of the stack and main memory.

Claims (3)

Чтение (УНП+УВП РПС)т«1М УВП-РПС Запись - (УНП+УВП : р М УВП+РПС Подкачка (УНП-РПС1 о {М УВП+РПС Откачка УНП УВП-РПС Формула изобретени  1. Устройство стековой адресации, содержащее регистр указател  верхней позиции стека, регистр указател  ниж- 65 Reading (UNP + UVP RPS) t "1M UVP-RPS Record - (UNP + UVP: p M UVP + RPM Swapping (UNP-RPS1 about {M UVP + RPS Pumping UNP UVP-RPS The formula of the invention 1. The stack addressing device containing register pointer upper position of the stack, register pointer bottom 65 УНПUNP (УНП-РПС)адоо1 (УНП+РПС)„о ней позиции стека, первый и второй управл ющие входы которого соединены соответственно с входами подкачки и откачки устройства, выход регистра указател  нижней- позиции стека соединен с первым входом узла модификации , отличайщеес   тем, что, с целью повышени  производительности устройства, S него введены адресный сумматор, блок модификации позиции стека, блок формировани  номера позиции, регистр размера позиции стека, первый и второй узлы коррекции , причем вход данных первого узла коррекции соединен с выходом уйла модификации, а выход данных первого узла коррекции с входом данных регистра указател  нижней позиции ств ка, первый вход адресного сумматора соединен с выходом регистра указател  нижней позиции стека, второй вход адресного сумматора - с выходом блока формировани  номера позиции и первым входом данных блока модификации позиции стека, а выход адресного сумматора соединен через второй узел коррек ции с адресным выходом устройства, выход регистра указател  верхней позИции стека соединен с первым входом данных блока формировани  номера позиции и вторым входом данных блока модификации позиции стека, выход данных которого соединен с входом данных регистра указател  верхней позиции , входы генерации первого и вто рого узлов коррекции соединены с вхо дом генерации устройства, вход данных которого соединен с третьим входом данных блока модификации позиции стека, вторым входом данных блока формировани  номера позиции и входом данных регистра размера позиции стек выход которого соединен с третьим вх дом данных блока формировани  номера позиции, вторым входом узла модифика ции и четвертым входом данных блока модификации позиции стека, входы чте ни  блока модификации позиции стека и блока формировани  номера позиции соединены с входом чтени  устройства вход откачки блока модификации позиции стека соединен с входом откачки устройства, вход смещени  блока модификации позиции стека соединен с входами смещени  блока фop viиpoвaни  номера .позиции и устройства, а управ л ющий выход блока модификации - с управл ю1дим выходом устройства, вход записи блока формировани  номера позиции соединен с входом записи устройства , вход подкачки блока формировани  номера позиции соединен с входом подкачки устройства. (UNP-RPS) adoo1 (UNP + RPS) “on it is the stack position, the first and second control inputs of which are connected respectively to the paging and pumping inputs of the device, the register output of the lower-position pointer is connected to the first input of the modification node that is different that, in order to improve the performance of the device, an address adder, a stack position modification unit, a position number generating unit, a stack position size register, the first and second correction nodes are entered, the data input of the first correction node is connected to the output uyla modifications, and the data output of the first correction node with the register data entry of the lower position indicator of the stem, the first input of the address adder is connected to the register output of the lower position indicator of the stack, the second input of the address accumulator - with the output of the position number generation unit and the first data input of the position modification block the output of the address adder is connected via the second correction node to the address output of the device, the register output of the top position of the stack is connected to the first data input of the unit The position window and the second data input of the stack position modification block, whose data output is connected to the data register of the upper position indicator, the generation inputs of the first and second correction nodes are connected to the device generation input, whose data input is connected to the third data input of the stack position modification block , the second data input of the block of forming the position number and the data input of the register of the position size of the stack whose output is connected to the third inlet of the data of the block of forming the position number, the second input of the mod node and the fourth data input of the stack position modification block, the inputs of the stack position modification block and the position number generation block are connected to the read input of the device the rollout input of the stack position modification block is connected to the rollout input of the device, the offset input of the stack position modify block is connected to the offset inputs the fop of the position number and device, and the control output of the modification block is controlled by the device output, the recording input of the position number forming unit is connected to the recording input device, the paging input of the block forming the position number is connected to the paging input of the device. 2. Устройство по П.1, о т л и чающеес  тем, что блок формйрбвани  номера позиции содержит дв элемента ИЛИ, три элемента И, два вычитател , причем первый и второй входы первого элемента ИЛИ соединены соответственно с входами чтени  и за писи блока, выход первого элемента ИЛИ - .с первым входом первого элемен та И, второй вход которого соединен с первым входом данных блока, а выход первого элемента И - с первым входом первого вынитател , первый и второй входы второго элемента ИЛИ соединены соответственно с входами чтени  и подкачки блока, выход второго элемента ИЛИ - с первым входом второго элемента И, второй вход которого соединен с третьим входом данных блока, а выход второго элемента И - о вторым входом первого вы штaтел , выход которого соединен с первым входом второго вычитател , первый и второй входы третьего элемента И соединены соответственно с вторыгвходом данных и входом смещени  блока , а выход Третьего элемента И - с вторыг входом второго вычитател , выход которого соединен с выходом блока, 2. The device according to claim 1, about tl and the fact that the unit for forming the position number contains two elements OR, three elements AND, two subtractors, the first and second inputs of the first element OR are connected respectively to the read and write inputs of the block, the output of the first element OR is the first input of the first element I, the second input of which is connected to the first data input of the block, and the output of the first element I to the first input of the first selector, the first and second inputs of the second element OR are connected respectively to the read and swap inputs block output wto element OR - with the first input of the second element AND, the second input of which is connected to the third data input of the block, and the output of the second element AND - about the second input of the first header, the output of which is connected to the first input of the second subtractor, the first and second inputs of the third element AND connected, respectively, with the second data input and the input offset of the block, and the output of the third element I - with the second input of the second subtractor, the output of which is connected to the output of the block, 3.Устройство по п.1, о т л и чающеес  тем, что блок модификации позиции стека содержит сум.матор , два коммутатора, элемент ИЛИ и узел коррекции номера, причем первый вход данных сумматора соединен с в торЫхМ входом данных блока, второй вход даннлх сумг-латора - с выходом первого коммутатора, первый и второй входы которого соединены cooTBeTCTBeHtio с третьим и четвертьтм входами данных блока, управл ющий вход сумматора соединен с выходок элемента ИЛИ, первый и второй входы которого соединены соответственно с входалш чтени  и откачки блока,выход сумматора соединен с выходом данных блока и первьпи входом данных второго коммутатора, второй вход данных которого соединен с первым входом данных блока, управл ющий вход второго коммутатора - с входом смещени  блока, а выход второго коммутатора соединен через узел коррек7 ции номера с управл ющим выходом блока . 4,Устройство по п.1, о т л и мающеес  тем, что первый и второй узлы коррекции содержат вычитатель , cyrvSMaTop и ког-1мутатор, причем вход левого операнда сумматора соединен с входом правого операнда вычитател , о первым входом коммутатора и входом данных узла коррекции, вход левого операнда вычитател  и вход правого операнда сумматсфа-соединены с входом генерации узла коррекции , выход cyNMaTOpa соединен с вторыг входом COMiviyTa.TOpa, выход которого соединен с выходог4 данных узла коррекции. Источники имформации, прин тые во внимание при экспертизе изобретени  1.Патент США 3200379, кл. 340-172.5, 1965. 2,Патент США If 3810117, кл. 340-172,5, 1974 (прототип).3. The device according to claim 1, that is, that the block for modifying the stack position contains a summator, two switches, an OR element and a number correction node, the first data input of the adder is connected to the top data input of the block, the second input data summer - with the output of the first switch, the first and second inputs of which are connected to the third and quarter inputs of the block, the control input of the adder is connected to the tricks of the OR element, the first and second inputs of which are connected to the input and output of the block, respectively, the output sum The controller is connected to the data output of the block and the first data input of the second switch, the second data input of which is connected to the first data input of the block, the control input of the second switch to the offset input of the block, and the output of the second switch is connected to the control output of the block . 4, The device according to claim 1, that is, that the first and second correction nodes contain a subtractor, a cyrvSMaTop and cog-1 switch, with the input of the left operand of the adder connected to the input of the right operand of the subtractor, the first input of the switch and the data of the node correction, the input of the left operand of the subtractor and the input of the right operand of the summatf are connected to the input of the generation of the correction node, the output of cyNMaTOpa is connected to the second input of COMiviyTa.TOpa, the output of which is connected to the output 4 of the data of the correction node. Sources of information taken into account in the examination of the invention 1.US Patent 3,200,379, cl. 340-172.5, 1965. 2, US Patent If 3810117, cl. 340-172,5, 1974 (prototype). Put.ZPut.Z 18ВГГг01918VGGG019
SU792715033A 1979-01-22 1979-01-22 Device for stack addressing SU783793A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU792715033A SU783793A1 (en) 1979-01-22 1979-01-22 Device for stack addressing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU792715033A SU783793A1 (en) 1979-01-22 1979-01-22 Device for stack addressing

Publications (1)

Publication Number Publication Date
SU783793A1 true SU783793A1 (en) 1980-11-30

Family

ID=20806128

Family Applications (1)

Application Number Title Priority Date Filing Date
SU792715033A SU783793A1 (en) 1979-01-22 1979-01-22 Device for stack addressing

Country Status (1)

Country Link
SU (1) SU783793A1 (en)

Similar Documents

Publication Publication Date Title
US5826057A (en) Method for managing virtual address space at improved space utilization efficiency
US4992936A (en) Address translation method and apparatus therefor
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
EP0213843A2 (en) Digital processor control
CA1066813A (en) Method of generating addresses to a paged memory
US5613151A (en) Data processor with flexible register mapping scheme
US4961135A (en) Translation lookaside buffer control system
JPS5821308B2 (en) Look-ahead control device
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPS5837883A (en) Memory addressing unit
SU783793A1 (en) Device for stack addressing
US4641277A (en) System for detecting access to storage
US4796177A (en) Address extension system
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
US4737908A (en) Buffer memory control system
US6427200B1 (en) Multiple changeable addressing mapping circuit
US6502177B1 (en) Single cycle linear address calculation for relative branch addressing
JP3300376B2 (en) Optical disk signal processing method
JPS6331809B2 (en)
EP0229253A2 (en) Data processor with virtual memory management
JPS5858752B2 (en) address translation device
JP3001464B2 (en) Microprocessor device
US7203813B1 (en) Methods, computer systems, and computer readable media for changing module pointer values upon switches between different modes of memory addressing
JPH01255933A (en) Sweeping-out control system
JPH04123149A (en) Page substituting circuit