Устройство для стековой адресации

Номер патента: 783793

Автор: Якуба

ZIP архив

Текст

(22) Заявлено 2201,79 (21) 2715033/18-24 (51) М. Кл. Союз Советских Социалистическими Республик(23) Приоритет С 06 Р 9/36 Государственный комитет СССР ио делам изобретений и открытий(71) Заявитель Ордена Ленина институт кибернетики АН Украинской ССР( 54) УСТРОЙСТВО СТЕКОВОЙ АДРЕСАЦИ)1 Изобретение относится к области вычислительной техники и предназначено для применения в запоминающих устройствах со стековой органиэацией, входящих в состав процессора. Известно устройство стековой адресации, содержащее один регистр указателя верхней позиции стека(1)Недостатком такого устройства является неполное использование объема стековой памяти или избыточные временные затраты на операции откачки и подкачки нижних позиций стека изза зафиксированного в оборудовании значения начального адреса нижней позиции стека (он равен нулю). Наиболее близким к изобретению является устройство .стековой адресации содержащее два регистра указателей, хранящих абсолютные адреса верхней и нижней, позиций области стека с достоверной информацией, две схемы сравнения для определения уровня заполнения стекового запоминающего устройства объемом М, анализирующие значения регистров указателей, и схему фиксации момента совпадения значений указателей 2,Формулы для вычисления адресови значений указателей в зависимостиот типа операции сведены в таблицу.В таблице используются следующие5 обозначения: А - абсолютный адресначала текущей позиции стека; УВПстарое значение указателя верхнейпозиции стека; УВП - модифицированное значение укаэателя верхней пози 10 ции стека; УНП - старое значение указателя нижней позиции стека; УНПмодифицированное значение указателянижней позиции стека; РПС - размерпозиции стека.15 Недостатки этого устройства состоят в том, что область примененияограничена только памятью со словной организацией и в понижении производительности при работе процессо 20 ра со стековыми данными переменнойдлины. Они возникают из-эа того,что,операцйи чтения и эиписи стековых данных производятся лишь надсловами фиксированной длины, а раз 25 мер позиции стека неизменен и заданв аппаратуре,Цель изобретения - повьыение производительности устройства.Для достижения указанной цели в30 устройство стековой адресации, со 783793держащее регистр указателя верхней позиции стека, регистр указателя нижней позиции стека, первый и второй управляющие входы которого соединены соответственно с входами подкачки и откачки устройства, выход регистра указателя нижней позиции стека соединен с перным входом узла модификации, введены адресный; сумматор, блок модификации позиции стека, блок формирования номера позиции, регистр размера позиции стека, йервый и второй узлы коррекции, причем вход данных первого узла коррекции соединен с выходом узла модификации, а выход данных первого узла коррекции - с входом данных регистра указателя нижней позиции стека. Первый вход адресного сумматора Соединен с выходом регистра указа. теля нижней позиции стека, второй вход адресного сумматора - с выходом блока формирования номера Позиции и первым входом данных блока модификации позиции стека, а выход адресного сумматора соединен через второй узел коррекции с адреснымвыходом устройства. Выход регистра указателя верхней позиции стека соединен с первым входом данных блока Формирования номера позиции и вторым входом данных блока модификации позиции стека, выход данных которого соединен с входом данных регистрауказателя верхней позиции стека. Входы генерации первого и второго узлов коррекции соединены с входом генерации устройства, вход данных которого соединен с третьим входом данных блока модификации позиции стека, вторым входом данных блокаформирования номера позиции и входом данных регистра размера позиции стека, выход которого соединен с треть им входом данных блока формирования номера позиции, вторым входом узла модификации и четвертым входом данных блока модификации позиции стека. Входы чтения блока модификации позиции стека н блока формирования номера позиции соединены с входом чтения устройства, вход откачки блока модификации позиции стека соединен с входом откачки и устройства, вход смещения блока модификации позиции стека соединен с входами смещения блока формирования номера позиции и устройства, а управляющий выход блока модификации " с упранляющим выходом устройства. Вход записи блока формирования номера позиции соединенс входом записи устройства, вход подкачки блока формирования номера позиции соединен с входом подкачки устройства.Блок формирования номера позиции содержит два элемента ИЛИ, три элемента И, два вычитателя, причем первый и второй входы первого элемента ИЛИ соединены соответственно с вхо Блок модификации позиции стекасодержит сумматор, дна коммутатора,элемент ИЛИ и узел коррекции номера, причем первый нход данных сумматора соединен с вторым входомданных блока, второй вход данныхсумматора - с выходом первого коммутатора, первый и второй входы которого соединены соответственно стретьим и четвертым входами данныхблока, Управляющий вход сумматорасоединен с выходом элемента ИЛИ,первый и второй входы которого соединены соответственно с входами чте-.ния и откачки блока, Выход сумматора соединен с выходом данных блокаи первым входом данных второго коммута ора, второй вход данных которого соединен с первым входом данныхблока, управляющий вход второго коммутатора - с входом смещения блока,а выход соединен через узел коррекции номера с управляющим выходомблокаПервый и второй узлы коррекциисодержат вычитатель, сумматор и коммутатор, причем вход левого операнда сумматора соединен с входом правого операнда нычитателя, с первым,входом коммутатора и входом данныхузла коррекции, вход левого операнда вычитателя и вход правого операнда сумматора соединены с входомгенерации узла коррекции, выход сумматора соединен с выходом данныхузла коррекции.На фиг.1 показана блок-схема устройства стековой адресации; на фиг.2 блок-схема блока номера позиции; нафиг.3 " блок-схема блока моцификации; на фиг,4 - блок-схема узла корре" ции,устройство стеконой адресации содержит регистр 1 указателя нижней позиции стека, регистр 2 указателяверхней позиции стека, узел 3 моди 25 3 О 35 45 50 55 40 65 дами чтения и записи блока, выходпервого элемента ИЛИ - с первым входом первого элемента И, второй входкоторого соединен с первым входомданных блока, а ныход первого элемента И - с первым нходом первого вычитателя, первый и второй входы второгоэлемента ИЛИ соединены соответственно с входами блока чтения и подкачки, выход второго элемента ИЛИ - спервым входом второго элемента И,второй вход которого соединен с третьим входом данных блока, а выходвторого элемента И - с вторым нходомпервого вычитателя, выход которогосоединен с первым нходом второго вычитателя, первый и второй входы третьего элемента И соединены соответственно с вторым входом данных ивходом смещения блока, а выход третьего элемента И - с вторым входомвторого нычитателя, выход которогосоединен с выходом блока.10 при отсутствии ала СМЕЩЕНИЕ; СМ) - при налиэтого сигнала; регистре 2 укации .стека;регистре 7 разУВП зателя в РПС мера поззначение рхней по значение ции стек значение сора. и 7на входе данных СМпроце фикации, адресный сумматор 4, блок 5 модификации позиции стека, блок 6 формирования номера позиции, регистр 7 размера позиции стека, первый узел 8 коррекции и второй узел 9 коррекции.Блок 6 содержит два .элемента ИЛИ 10, 11, три элемента И 12, 13, 14, два вычитателя 15, 16, вход 17 чтения, выход 18 записипервый вход 19 данных, вход 20 подкачки, третий вход 21 данных, второй вход 22 данных, вход 23 смещения, выход 24.Блок 5 содержит сумматор 25, два коммутатора 26 и 27, элемент ИЛИ 28и узел 29 коррекции номера, второйвход 30 данных, третий 31 и четвертый 32 входы данных, вход 33 чтения,вход 34 откачки, выход 35 данных,первый вход 36 данных, вход 37 смещения, управляющий выход 38,Первый и второй узлы 8, 9 коррекции содержат вычитатель 39, сумматор 40, коммутатор 41, вход 42 данных, выход 43 данных, вход 44 генерации.Работа устройства стековой адресации при формировании адреса, поступающего через адресный выход устройства к стековому блоку памяти,состоит из нескольких последовательных этапов: подготовки номера текущей позиции, подготовки абсолютного адреса текущей позиции и модификации, если это необходимо, значенийуказателей нижней и верхней поэицийстека. Эта работа управляется блоком стековых операций, который посылает в устройство стековой адресации пять управляющих сигналов,Четыре из них соответствуют типувыполняемой в стековой памяти операции - сигналы фЧтение, Запись, Подкачкаф и Откачка,пятый задает вариант исполнения первых двух операций - Чтение илиЧтение со смещением, Записьили Запись со смещением. Смещение заключается в обращении относительно указателя верхней позиции,уменьшенному на заданное число позиций., Операция в таком варианте позволяет минимизировать число действий для обращения к стековым данным, лежащим в глубине стека.СигналыЧтение,Запись,Подкачка ,ОткачкаиСмещение поступают по управляющимвходам устройства: третьему, пятому,первому, второму и четвертому соответственно,При операциях Чтение, Запись адрес текущей позиции вычисляется как сумма по модулю М адреса из регистра 1 указателя нижнейпозиции стека искорректированногопо типу операции номера позиции, к оторой происходит обращение по отношению к указателю нижней позициистека. При операциях Подкачка 1,15 20 25 30 50 55 оО 65 Откачка адрес формируется какалгебраическая сумма по модулю Мзначения из регистра 1 и значениякоррекции указателя по типу операции. Коррекция указателя во всехчетырех операциях понимается какучет положения указателя верхнейили нижней позиции стека по отношению к позиции, к которой происходит обращение: например, указательверхней позиции стека всегда установлен на начале очередной свободной позиции и для чтения последнейзанятой позиции его следует опустить на одну позицию,В тех случаях, когда при модификации значения в регистре 2 результат меньше нуля или больше значения М, формируется и посылается через управляющий выход устройства в блок стековых операций управляющий сигнал о наличии значения, адресующего за пределы области с достверной информацией,Первый этап работы устройства выполняется в блоке 6. Блок 6 вырабатывает номер текущей позйции, зависящий от значения в указателе верхней позиции стека и управляющих сигналов: при сигнале Чтение номер позиции есть (УВП -РПС), приК сигналеЗапись- УВП, при сигнале Подкачка - РПС и при сигнале Откачка значение на выходе блока 6 равно нулю. Здесь УВП - УВПсигнУВПБлок 6 работает следующим образом, Первые входы вычитателей 15, 16 и сумматора 4 есть входы для уменьшаемого значения, вторые входы - для вычитаемого значения, На первый вход вычитателя 15 при наличии хотя бы одного из сигналов Чте ние (вход 17 блока 6) или За-: пись (вход 18 блока 6) на входах элемента ИЛИ 10 через элемент И 12 пропускается значение иэ регистра 2, при остальных операциях значение на первом входе вычитателя 15 равно нулю. На второй вход вычитателя при наличии на входах элемента ИЛИ 11 хотя бы одного из сигналов Чтение или Подкачка (вход 20 блока 6) через элемент И 13 пропускается значение РПС иэ регистра 7, при остальных операциях значение на втором входе вычитателя 15 будет равно нулю.Выходное значение вычитателя 15есть номер текущей позиции при нулевом смещении. Подготовительное значение номера текущей позиции поступает на первый вход вычитателя 16, ана второй его вход через элемент И 14подается при задании варианта со смещением в операциях Чтение, Запись значение смещения (вход 22 данных от процессора) и вычитается иэподготовительного значения номераРезультат (номера текущей позиции сучетом смещения) поступает через адресный выход 24 на второй вход адресного сумматора 4,На первый вход адресного сумматора 4 постоянно подключен регистр 1указателя нижней позиции стека, который содержит абсолютный адрес хронологически первой позиции с достоверной информацией, ее номер равен нулю,ВыХодное значение адресного сумматора 4 корректируется по модулю М узлом 9 и поступает на адресный выходк стековому блоку памяти,Значение в регистре 7 размера позиции стека, которое учествует какконстанта модификации значений указателей и константа для формированияабсолютного адреса текущей позициизадается программно по входу от процессора, Изменяя значение РПС, можнодинамически менять Формат стековых 30записей,Последний этап работы устройствавыполняется на узле 3 и блоке 5,при чем для операций Чтение и Запись наличие управляющего сигналаСмещение блокирует модификациюзначения в регистре 2, т,е. в результате выполнения упомянутого вариантаэтих команд указатель верхней позиции стека остается с прежним значением. Модификация значений указателей производится одновременно узлом3 и блоком 5 и зависит от значенийуправляющих сигналов, поступающцх изблока стековых операций. Узел 3 модифицирует значение в регистре 1 укаэателя нижней позиции стека толькопри операциях Подкачка и Откачка, причем значение с выхода узла3 после коррекции по модулю М в узле8 записывается в регистр 1 по управ Оляющему сигналу записи в регистр,Коррекция по модулю И, выполняемаяузлом 8 (или 9), заключается в следующем:проверить условие А.И (или УНП 4 М);если условие не выполняется, тоалгебраически суммировать значенияадреса А и константы коррекции помодулю И, равной 21- М, где 2 п - ближайшее большее к И. Знак определяется типом выполняемой стековой операции (в частности, для второго узла9 коррекции Чтение и Записьзадают сложение УНП и константы коррекции), а Подкачка - вычитание Я константы из УНП с последующим отбрасыванием возможного переноса иэ старшего (и-го) разряда, т.е. выполняется УНПМ на п-разрядном сумматоре,Узлы 8 и 9 однотипны по структуре,Входы левого операнда вычитателя 39и вход правого операнда сумматора 40постоянно соединены с входом генерации устройства, который является выходом узла генерации значения константы, равной 2- И, Управляющиевходы, определяющие тип действий насумматоре 40 (сложение и вычитание),на Фиг,4 не показаны,На выходе вычитателя 39 формируется сигнал, указывающий выполняется лиусловие А М для узла 8 (или УНП 7 Мдля узла 9). Если этот сигнал отсутствует, то на выход 43 данных поступает через коммутатор 41 значение свхода 42 данных, В противном случаеи при наличии управляющего сигнала,Формируемого по типу операции в соответствии с таблицей, на выход 43 данных поступает значение с выхода сумматора 40. В этом случае, когда выполняемая операция не требует коррекции (на узле 8 адреса или на узле 9значения УНП) на выход 43 данных подается входное значение с входа 42данных,В блоке 5 выполняется два действия; формирование номера первой свободной позиции стека для занесенияв регистр 2 указателя верхней позиции стека и проверка, не выходит линомер текущей позиции, участвующийв Формировании стекового адреса этойпозиции, эа пределы значения М,Первое действие выполняется в соответствии со значениями управляющихсигналов на входе устройства (см, таблицу),Второе действие заключается в проверке, удовлетворяется ли соотношениеО НПМ,где номер позиции НП - либо результат выполнения первого действия в блоке 5 при отсутствующем управляющем сигнале Смещение, либо значение с выхода блока 6 при наличии указанного сигнала. Занесение значения в регистр 2 выполняется при отсутствии сигнала Смещение сигналом записи в регистр (этот сигнал на фиг,1 не показан).Блок 5 при модификации номера позиции работает следующим образом(фиг.3). Значение из регистра 2, т.е, УВП, подается через второй вход 30данных блока на первый вход сумматора 25, второй вход которого соединенс коммутатором 26, выбирающим на свойвыход либо значение РПС с входа 32блока, либо значение с входа 31 данных от процессора в качестве констан783793 Знак операции, сложение или вычитатание задается управляющими сигналами на входах чтения и откачки 33, 34блока модификации. Например, наличиесигнала Чтение от блока стековыхопераций задает уменьшение значенияуказателя, т,е. УВП - УВП - СМ. Проверка условия (1) для нового значенияУВП выполняется узлом 29 коррекции,на вход которой управляющим сигналомСмещение (вход 37 блока 5) черезкоммутатор 27 коммутируется значениеУВП с выхода сумматора 25.Использование данного устройствастековой адресации расширяет областьприменения стековой памяти - можноравной эффективностью испольэовать 20 в качестве стекового блока памяти нетолько память со сложной организацией,но и с байговой, наиболее распространеннй в настоящее время, при этомобъем памяти не ограничивается значед 5 ниями, равными 2вПрименение предложенного устройства обеспечивает полное использованиевсего объема стековой памяти как приМ в . - 2 , так и при М2", что допускаетразмещение в стековой памяти равногоили большего числа стековых позицийпо сравнению с известным устройством.Это эквивалентно увеличению объемастековой памяти, и следовательно, повышению производительности процессора из-эа значительной разницы (в 4-10раэ) в быстродействии стековой и основной памяти. Устройство Операция Адрес А УВП УНП(УНП-РПС МУВПУНП ПодкачкаОткачка Чтение (УНП+УВП+РОС)ый УВП-РПС УНП(УНП-РПС),дМ Откачка УНП Формула изобретения 1, Устройство стековой адресации,содержащее регистр указателя верхнейпозиции стека, регистр указателя ниж- Я ты модификации; управляющий вход сумматора 25 соединен с элементом ИЛИ28, объединяющий управляющие сигналыЧтение (вход 33 блока) и Откачка (вход 34 блока), наличие одногоиз них задает вычитание на сумматоре25, отсутствие обоих - сложение, Выход сумматора 25 соединен по выходу35 блока с входом регистра 2 и черезвторой коммутатор 27, на второй входкоторого от блока 6 приходит значениечерез вход 36 блока, с узлом 29 коррекции номера.Узел 29 преобразует выходное значение коммутатора 27 в значение помодулю М, появление переноса на выходе коммутатора 27 свидетельствует оналичии переполнения или исчезновения (опустошения) стека. Выбородного из входных значений коммутатором 27 задается поступающим черезвход 37 смещения блока управляющимсигналом Смещение, при наличиикоторого на вход коммутатора 27 попадает значение с входа 36 блокаУправляющий сигнал для выбора в ком"мутаторе 26 не показан,Таким образом, при задании, например, операции Запись и вариантебеэ смещения сумматор 25 суммируетзначение РПС с значением УВП, Формируя новое значение на выходе 35 длязаписи в регистр 2, а результат через коммутатор 27 попадает на узел29 коррекции, проверяющей условие(1) .Имеется возможность выполнить вблоке 5 модификацию значения указателя верхней позиции стека значением,заданным по программе, например, от процессора, по входу 31. При этом в регистр 2 (выход 35) засылается значение1 ЬЪЪЬПфби. одифицированное значение указателяУВП-РПС (УНП+РПС)щ)й ней позиции стека, первый и второйуправляющие входы которого соединенысоответственно с входами подкачки иоткачки устройства, выход регистрауказателя нижней позиции стека сое 783793 12динен с первым входом узла модификации, о т л и ч а ю щ е е с я тем,что, с целью повышения производительности устройства, в него введены адресный сумматор, блок модификациипозиции стека, блок формирования номера позиции, регистр размера позиции стека, первый и второй узлы коррекции, причем вход цанных первогоузла коррекции соединен с выходомузла модификации, а выход данных первого узла коррекции - с входом данныхрегистра указателя нижней позиции стека, первый вход адресного сумматорасоединен с выходом регистра указателя нижней позиции стека, второй входадресного сумматора - с выходом блока 15формирования номера позиции и первымвходом данных блока модификации позиции стека, а выход адресного сумматора соединен через второй узел коррекции с адресным выходом устройства,выход регистра указателя верхней позиции стека соединен с первым входомданных блока формирования номера позиции и вторым входом данных блокаглодгфикации позиции стека, выход данных которого соединен с входом данныхрегистра указателя верхней позициистека, входы генерации первого и второго узлов коррекции соединены с входом генерации устройства, вход данных которого соединен с третьим входом данных блока модификации позициистека, вторым входом данных блокаформирования номера позиции и входомданных регистра .размера позиции стека,выход которого соединен с третьим вхо дом данных блока формированиа номерапозиции, вторым входом узла модификации и четвертым входом данных блокаглодификации позиции стека, входы чтения блока модификации позиции стека 4 Ои блока формирования номера позициисоединены с входом чтения устройства,вход откачки блока модификации позиции стека соединен с входом откачкиустройства, вход смещения блока мо"дификации гозиции стека соединен свходами смещения блока формированияномера позиции и устройства, а управляющий выход блока модификации - суправляющим выходом устройства, входзаписи блока формирования номера позиции соединен с входом записи устройства, вход подкачки блока формирования номера позиции соединен свходом подкачки устройства,2. Устройство по п.1, о т л и - 55ч а ю щ е е с я тем, что блок формирования номера позиции содержит дваэлемента ИЛИ, три элемента И, двавычитателя, причем первый и второйвходы первого элемента ИЛ 4 соединенысоответственно с входами чтения и записи блока, выход первого элементаИЛИ в .с первым входом первого элемента И, второй вход которого соединен с первым входом данных блока, а выход первого элемента И - с первым входом первого выитателя, первый и второй входы второго элемента ИЛИ соединены соответственно с входами чтения и подкачки блока, выход второго элемента ИЛИ - с первым входом второго элемента И, второй вход которого соединен с третьил входом данных блока, а выход второго элемента И - с вторым входом первого вычитателя, выход которого соединен с первым входом второго вычитателя, первый и второй входь третьего элемента И соединены соответственно с вторыгл входом данных и входом смещения блока, а выход Третьсго элемента И - с вторым входом второго вычитателя, выход которого соединен с выходом блока.3. Устройство по п,1, о т л и ч а ю щ е е с я тем, что блок модификации позиции стека содержит сумматор, два коммутатора, элемент ИЛИ и узел коррекции номера, причем первый вход данных сумматора соединен с вторым входом данных блока, второй вход данных сумматора - с выходом первого коммутатора, первый и второй входы которого соединены соответственно с третьим и четвертым входами данных блока, управляющий вход сумматора соединен с выходом элемента ИЛг 1, первый и второй входь. которого соединены соответственно с входами чтения и откачки блока,выход сумматора соединен с выходом данных блока и первьп входом данных второго кОммутатора второй вход данных которого соединен с первым входом данных блока, управляющий вход второго коммутатора - с входом смещения блока, а выход второго коммутатора соединен через узел коррекции номера с управляющим выходом блока.4, устройство по п,1, о т л и ч а ю щ е е с я тем, что первый и второй узлы .(Оррекции содержат вычитатель, сумматор и коммутатор, причем вход левого операнда сумматора соединен с входом правого Операнда вычитателя, с первым входом коммутатора и входо л данных узла коррекции, вход левого операнда вычитателя и вход правого операнда сумматора-соединены с входом генерацйи узла коррекции выход сумматора соединен с вторым входом коммутатора, выход которого соединен с выходом данных узла коррекции. Источики информации,принятые ВО Внимаегие при экспертизе изобретения 1. Патент СЫ 3200379,кл, 340-172.5, 1965. 2, Патент СЖ г 3810117,кл. 340-172.5, 1974 (прототип).783793 г.Ф Составитель Г, Пономаревалова Техред Е.Гаврилешко тор Т а роши оррек 550/52 Тираж 751 ВНИИПИ Государственного комитета ССС по делам изобретений и открытий 113035, Москва, Ж, Раушская наб., Подписное илиал ППП Патент, гУжгород, ул, Проектная

Смотреть

Заявка

2715033, 22.01.1979

ОРДЕНА ЛЕНИНА ИНСТИТУТ КИБЕРНЕТИКИ АН УКРАИНСКОЙ ССР

ЯКУБА АНАТОЛИЙ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: G06F 9/36

Метки: адресации, стековой

Опубликовано: 30.11.1980

Код ссылки

<a href="https://patents.su/8-783793-ustrojjstvo-dlya-stekovojj-adresacii.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для стековой адресации</a>

Похожие патенты