SU1737456A1 - Стековое запоминающее устройство - Google Patents
Стековое запоминающее устройство Download PDFInfo
- Publication number
- SU1737456A1 SU1737456A1 SU874336898A SU4336898A SU1737456A1 SU 1737456 A1 SU1737456 A1 SU 1737456A1 SU 874336898 A SU874336898 A SU 874336898A SU 4336898 A SU4336898 A SU 4336898A SU 1737456 A1 SU1737456 A1 SU 1737456A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- stack
- multiplexer
- memory
- register
- inputs
- Prior art date
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Изобретение относитс к цифровой вычислительной технике. Цель изобретени - повышение производительности вычислени за счет сокращени числа обращений в оперативную пам ть. Изобретение можно использовать в устройстве обработки данных . Содержит блок 1 управлени , блок 2 регистров, арифметико-логическое устройство 3 реверсивные счетчики 4 и 8, первый и второй формирователи 5 и 6 адреса к мультиплексор 7. 2 ил., 1 табл.
Description
(Л
С
XJ СА
N ел о
Изобретение относитс к цифровой вычислительной технике и может быть использовано дл создани устройств обработки данных, выполн ющих операции в стековом режиме (обратной польской записи).
Цель изобретени - повышение производительности вычислений за счет сокращени числа обращений в оперативную пам ть.
На фиг. 1 представлен пример использовани изобретени в устройстве дл обработки данных; на фиг. 2 - пример обработки выражени в польсксй инверсной записи.
Устройство обработки данных содержит блок 1 управлени , блок 2 регистров (стек), арифметико-логическое устройство 3, первый реверсивный счетчик 4, первый 5 и второй 6 формирователи адреса, мультиплексор 7 и второй реверсивный счетчик 8.
Блок 1 состоит из коммутатора управлени счетчиками 4 и 8, выполненного на элементах И 9-12 и элементе НЕ 13.
Устройство обработки данных работает следующим образом.
Машинные команды, работающие с предлагаемым устройством, имеюттри формата . Первый формат содержит только поле кода операции (КОП ).В этом формате задаютс соответствующие арифметические или логические операции над одним или двум регистрами на вершине стека.
Второй формат содержит поле КОП и поле адреса операнда (АД) в пам ти. Этот формат используетс дл загрузки стека данными из пам ти и выгрузки из него.
Третий формат содержит поле КОП и поле адреса регистра (Н4), в котором задаетс номер любого регистра внутри стека относительно его вершины. Регистр на вершине стека считаетс 0, регистр первого уровн под вершиной стека имеет относительный номер 1 и т.д. Команды этого формата позвол ют осуществл ть доступ к любому регистру в глубине стека.
Типовые команды, управл ющие работой предлагаемого устройства, приведены в таблице. Дл определенности глубина регистрового стека выбрана равной 16.
Работа устройства начинаетс с сброса в ноль счетчиков 4 и 3. Различают два режима обмена данными с оперативной пам тью: одиночный и групповой. В одиночном режиме выполн етс обмен данными между вершиной стека и оперативной пам тью. Люба загрузка в стек в этом режиме увеличивает на 1 содержимое счетчика 4, а выгрузка из стека уменьшает на 1 содержимое счетчика 4. Групповой режим отличаетс от одиночного тем, что обмен
данными с пам тью выполн етс от дна стека , на который указывает счетчик 8. В этом режиме загрузка или выгрузка соответственно увеличивает или уменьшает на 1 содержимое счетчика 8.
5В качестве примера рассмотрим счет по
формуле
а + (с - b x a) x (a + d).
10В обратной польской записи она имеет
вид
acbdx - tad + x +.
15 Использу команды из таблицы, вычисление этого выражени может быть запрограммировано следующим образом:
20
, , , 4p, x, -, , 4p, +, х, +,
где - адреса операндов а d в
пам ти ЦВМ.
Состо ние стека при выполнении этой последовательности команд на фиг. 2.
Таким образом, структура предлагаемого устройства позвол ет хранить многократно используемые или промежуточные значени непосредственно на регистрах стека. Это экономит число обращений к оперативной пам ти. В случае обычной адресации стека требуетс два дополнительных обращени в пам ть.
Если прин ть, что коды команд и адреса операндов в пам ти дл первого и второго
случаев занимают по 1 байту, то длина командного кода дл обоих случаев составл ет 17 байтов. Если адреса операндов в пам ти занимают по 2 байта(что наиболее реально), то командный код дл предлагаемого устройства короче на 2 байта. Следовательно, предлагаемое устройство позвол ет сократить врем счета и длину командного кода. Рассмотрим пример использовани предлагаемого устройства дл организации
циклов.
Пусть i - переменна цикла, N - верхний предел. При входе в цикл на вершину стека помещают значение С, на следующий нижний уровень - N. При каждом повторении
цикла, i увеличиваетс на единицу и , если К N , то управление передаетс на начало цикла , в противном случае со стека снимают две верхние позиции, а управление передаетс на следующую команду. При организации
вложенных циклов на вершине стека располагаютс i и N внутреннего цикла, а в глубине стека - параметры внешнего цикла,
В чисто стековых операционных устройствах с доступом только к вершине стека
переменные цикла хран тьс в пам ти и доступ к ним требует дополнительных временных затрат.
В любом операционном устройстве, имеющем регистровую пам ть (с вным за- данием номера регистра или стекового вида ), возникает проблема запоминани и восстановлени этих регистров при выходе процедуры. Наиболее распространенное решение - выгрузка в оперативную пам ть всех регистров.
В то же врем в случае использовани статических зыков высокого уровн (ЯВУ) (типа Ада, Алгол 68, Модула 2) уже на этапе трансл ции известно, сколько регистров по- требует процедура дл своей работы, т.е. каков ее аппетит. Зна аппетит процедуры и след за заполненностью регистровой пам ти, можно выгружать в оперативную пам ть только часть регист- ров. Если свободных регистров больше, чем требуетс процедуре, то выгрузка вообще может не производитьс . Это позвол ет экономить врем вызова процедуры и возврата . С этой целью предлагаемое устройст- во содержит счетчик 8. Зна содержимое счетчиков 4 и 8, можно судить о заполненности стека. Если требуетс выгрузка стека при вызове процедуры, то требуемое количество регистров выгружаетс от дна стека. При выгрузке каждого регистра состо ни счетчика 8 увеличиваетс на единицу, а при загрузке (при возврате из процедуры) уменьшаетс на единицу. На выход мультиплексора 7 в том случае поступает содержи-
Читать на стек значение из пам ти
Читать на стек значение кэ регистра Писать в пам ть значение из стека
Писатр из стека значение а регистр
Разность
Произведение (бинарные , стековые операции )
Инвертирование знака но псрши с (группа унарных стековых операций)
Регистрова сумма целых, результат о регистр
Л:-.хB:- SP+1КЗ АД
A:- SP- IBl-Sr-MKl| (Й
A:«SPB:-XK8 АД
A:-SP :-SP-llK12 Hii
S: SPB: SP-1K8
A:-SP H:-sr
КЗ
SJ : sr-1A: SP B:-SP-H K12 H I
ри
и е и а н и e. Kk, к8, К12 - число битов s коде оп-рации; SP - казатель с-зкл. Формируемый счотч клми it и 8; (н) - н0,-..ер реги- с.ра отеюсительно текущей вершины стека; X - э ачсние безразличие .; ЛД - поле адресации.
мое счетчика 8. Состо ние счетчика 4 при этом не мен етс .
Введение подвижного дна стека позвол ет выгружать из него наименее часто используемые переменные, так как именно они лежат в глубине стека. Так в приведенном примере организации вложенных циклов на вершине стека лежат переменные внутреннего цикла, т.е. наиболее часто используемые объекты.
Claims (1)
- Формула изобретени Стековое запоминающее устройство, содержащее блок регистров, информационный вход и выход которого вл ютс информационным входом и выходом устройства, два реверсивных счетчика, мультиплексор и блок управлени , соответствующие выходы которого соединены с суммирующими и вычитающими входами первого и второго реверсивных счетчиков и с управл ющим входом мультиплексора .отличающеес тем, что, с целью повышени производительности вычислений за счет сокращени числа обращений в оперативную пам ть, в него введены первый и второй формирователи адреса, выходы которых соединены с первым и вторым адресными входами блока регистров, выходы первого и второго реверсивных счетчиков соединены с первым и вторым информационными входами мультиплексора , выход которого соединен с первыми информационными входами первого и второго формирователей адреса, вторые информационные входы которых соединены с входом смещени адреса устройства.Л:-.хB:- SP+1КЗ АДA:- SP- IBl-Sr-MKl| (ЙA:«SPB:-XK8 АДA:-SP :-SP-llK12 HiiS: SPB: SP-1K8A:-SP H:-srКЗa+ c-8a}x(a+d} acBa -+ad+x+.4PnSoufnобращений $ пам ть 4
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU874336898A SU1737456A1 (ru) | 1987-10-26 | 1987-10-26 | Стековое запоминающее устройство |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU874336898A SU1737456A1 (ru) | 1987-10-26 | 1987-10-26 | Стековое запоминающее устройство |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1737456A1 true SU1737456A1 (ru) | 1992-05-30 |
Family
ID=21339607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU874336898A SU1737456A1 (ru) | 1987-10-26 | 1987-10-26 | Стековое запоминающее устройство |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1737456A1 (ru) |
-
1987
- 1987-10-26 SU SU874336898A patent/SU1737456A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР Ms 752484, кл. G 11 С 19/00, 1978. Авторское свидетельство СССР № 1304078, кл. G 11 С 19/00, 1985. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4212076A (en) | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former | |
US4594682A (en) | Vector processing | |
US4675809A (en) | Data processing system for floating point data having a variable length exponent part | |
US3328768A (en) | Storage protection systems | |
US3161763A (en) | Electronic digital computer with word field selection | |
US3909797A (en) | Data processing system utilizing control store unit and push down stack for nested subroutines | |
EP0185215A2 (en) | Forth-like language microprocessor | |
JPS60151761A (ja) | 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ− | |
JPS5918737B2 (ja) | デ−タ処理システム | |
US4005391A (en) | Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets | |
Blaauw et al. | The structure of SYSTEM/360: Part I—Outline of the logical structure | |
US3302183A (en) | Micro-program digital computer | |
US4346437A (en) | Microcomputer using a double opcode instruction | |
US4179738A (en) | Programmable control latch mechanism for a data processing system | |
EP0264048B1 (en) | Thirty-two bit bit-slice | |
US4424563A (en) | Data processor including a multiple word processing method and device | |
US4799181A (en) | BCD arithmetic using binary arithmetic and logical operations | |
GB1192371A (en) | Improvements in or relating to Data Processing Devices | |
US3394350A (en) | Digital processor implementation of transfer and translate operation | |
US3001708A (en) | Central control circuit for computers | |
GB1003921A (en) | Computer cycling and control system | |
SU1737456A1 (ru) | Стековое запоминающее устройство | |
JPH034936B2 (ru) | ||
US4175284A (en) | Multi-mode process control computer with bit processing | |
US3400380A (en) | Digital computer having an address controller operation |