Устройство для обработки данных

Иллюстрации

Показать все

Реферат

 

Союз Советских

Социалистических

Республик

ОП ИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

<>896625 (61) Дополнительное к авт. свид-ву (22) Заявлено 250480 (21) 2918656/18-24 с присоединением заявки ¹ (23) Приоритет

Опубликовано 07.01B2. Бюллетень Но 1

Дата опубликования описания 07. 01. 82 (51)М. К .

G 06 F 9/46

Государственный комитет

СССР но делам изобретений и открытий (53) УДК 681.З25 (088. 8) В.К.Душин, Е.З.Нисенбаум и h1.М.Пинский

1:,I I =-=-.,/ (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ДАННЫХ

Изобретение. относится к вычислительной технике и может быть исполь. зовано в системах обработки данных с несколькими уровнями выполнения программ.

Известно устройство для обработки данных. содержащее блок управления, арифметико-логический блок, блок памяти, блок командных регистров и блок, содержащий один комплект программных .регистров, содержимое которых запоминается в блоке памяти всякий раз, когда производится прерывание выполняемой программы или обращение к подпрограмме. При возврате из подпрограммы или после прерывания производится восстановление программных регистров путем переписи информации из блока памяти (1).

Недостаток данных устройств - большие затраты времени на осуществление процедур прерывания, перехода к подпрограммам и возврата, требующие многократного обращения к блоку памяти для запоминания и восстановления программных регистров, что существенно снижает производительность устройств, особенно при условии большого числа прерывания программ.

Наиболее близким к предлагаемому является устройство для обработки данных, содержащее блок управления, арифметико-логический блок, блок памяти, регистр команд, операционный регистр, блок, включающий в себя N комплектов программных регистров, блок регистра состояния с дешифратором состояния на выходе, блок прерывания программ, дешифратор кода операций и вентильные схемы на выходе дешифратора кода операций, причем выходы дешифратора кода операций соединены через вентильные схемы с первым входом блока прерывания программ, на второй вход блока прерывания программ поступают сигналы прерывания, выход блока прерывания соединен со входом блока регистра состояния, выход которого соединен с дешифратороМ . состояния, каждый выход дешифратора состояния соединен с соответствующим комплектом программных регистров.

Комплекты программных регистров — это регистры для информации, которая используется для выполнения данной инструкции программы и нужна также длЯ выполнения следующих инструкций этби программы. Каждый иэ комплектов служит для выполнения отдельной программы

896625

N комплектов программных регистров обеспечивают выполнение N программ.

Такая организация устройства для обработки позволяет осуществлять прерывание программ беэ запоминания содержимого программных регистров, путем перехода к работе с другим комп-, лектом программных регистров (1).

Недостатком известного устройства является большой объем оборудования .для реализации блока программных регистров, поскольку число комплектов дОлжно быть равно максимально возможному числу уровней прерывания. Кроме того, в устройстве отсутствуют средства, обеспечивающие использование комплектов программных регистров не только при -, прерываниях программ, но и при работе с подпрограммами, что не позволяет осуществлять преход к подпрограммам без запоминания содер химого программных регистров в блоке 20 памяти и возврат из подпрограмм без их восстановления.

Цель изобретения - снижение объема оборудования блока программных регистров при реализации многоуровневого выполнения программ.

Указанная цель достигается тем, что в устройство для обработки данных, содержащее регистр команд, бу- . ферный регистр, блок приоритета, арифметико-логический блок, блок памяти, дешифратор состояний, блок управления и блок программных регистров, управляющие входы блока программных регистров подключены к соответствующим выходам блока управления, разреша ющие входы блока программных регистров подключены к соответствующим выходам дешифратора состояний, информационный вход блока проГраммных регистров соединен с выходом блока памя-40 ти, выходом арифметико-логического . блока, входом регистра команд и входом буферного регистра, выход блока программных регистров подключен ко входу блока памяти и первому информа- 4 ционному входу арифметико-логического блока, второй информационный вход которого соединен с выходом буферного регистра и управляющим выходом регистра команд, выход кода операции которого соединен со входом дешифра« тора команд, вход блока приоритета подключен ко входу прерываний устройства, введены блок анализа условий зрерывания, реверсивный счетчик и регистр стека, причем выход регистра стека подключен ко второму информационному входу арифметико-логического блока, выход блока приоритета подключен ico входу приоритета прерываний блока:, анализа условий прерывания, ф0 входы кода операции перехода к подпрограмме и кода операции возврата которого подключены к выходам кода операции перехода к подпрограмме и кода операции возврата дешифратора 65 команд, выход кода операции которого подключен ко входу блока управления, выход синхронизации которого подключен. ко входу синхронизации блока анализа условий прерывания, выходы прямого и обратного счета которого подключен к соответствующим входам прямого и обратного счета реверсивного счетчика, вход сброса которого соединен с выходом сброса блока управления, выход управления стеком блока анализа условий прерывания подключен ко входу регистра стека и входу буферного регистра, выход признака заполнения блока программных регистров дешифратора состояний подключен ко входу признака заполнения блока программных регистров блока анализа условий прерывания.

Блок анализа условий прерывания содержит три элемента ИЛИ,, пять элементов И и два триггера, причем первый вход первого элемента ИЛИ подключен ко входу приоритета прерываний блока, а второй вход - ко входу кода операции перехода к подпрограмме, выход которого подключен к первому входу первого элемента И, третьему входу второго элемента И .и первому входу третьего элемента И, выход которого подключен к первому входу второго элемента ИЛИ, ко— второму входу которого подключен прямой выход второго триггера, инверсный выход которого подключен к третьему входу четвертого элемента

И, выход которого подключен к первому входу третьего элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен со входом кода операции возврата и вторым входом четвертого элемента И, а второй вход - с ин- версным выходом первого триггера и вторым входом первого элемента И,выход которого подключен к выходу прямого сче- . та блока, выход второго элемента И соединен с установочным входом второго триггера, прямой выход первого триггера подключен к первому входу второго элемента

И, второму входу третьего элемента и первому входу четвертого элемента

И, вход синхронизации первого триг„гера подключен ко входу синхронизации блока и второму входу второго элемента И, информационный вход первого триггера подключен ко входу признака заполнения блока программных регистров блока, выход второго элемента

ИЛИ подключен к выходу управления стеком блока, а выход третьего элемента ИЛИ подключен к выходу обратного счета блока

На фиг. 1 изображена структурная схема устройства для обработки данных для случая четырех комплектов программных регистров; на фиг. 2 — схема блока анализа условий прерывания; на фиг. 3 — структурная схема блока уп896625 равления ; на фиг. 4 - график зависимости Р от

Устройство (фиг. 1) содержит блок

1 управления, дешифратор 2 кода операции, регистр 3 команд, линии 4 для выбора регистров, блок 5 программных регистров, состоящий из четырех комплектов: 1 — с б по 9, П - с 10 по 13, lit — с 14 по 17, lу — с 18 по 21, реверсивный счетчик 22, блок 23 памяти блок 24 анализа условий прерывания, блок 25 приоритета, регистр 26 стека, буФерный регистр 27, арифметико-логический блок 28, дешифратор 29 состояний.

В общем случае в состав предлагаемого устройства для обработки данных 35 входят N комплектов программных регистров по и регистров в каждом. В соответствии с этим дешифратор 29 . состояния должен иметь N выходов, реверсивный счетчик 22 должен обеспе- 20 чить пересчет Ы состояний, а блок управления 1,должен иметь и управляющих шин .4 (вариант устройства для обработки .данных с четырьмя комплектами программных регистров по четыре 25 регистра в каждом).

В состав блока анализа условий прерывания (Фиг.2) входят триггер 30 признака работы с четвертым комплектом программных регистров 18-21, 30 триггер 31 признака занятости стека, элементы ИЛИ 32 — 34, элементы И 35«

39, вход 40 приоритета прерываний, вход 41 кода операции перехода к подпрограмме, вход 42 признака работы с четвертым комплектом программных регистров, вход 43 кода операции возврата, вход 44 сброса, вход 45 синхронизации,выходы 46 и 48 модификации счетчика и выход аг признака работы со стеком.

Микропрограммный асинхронный блок управления состоит из коммутатора

49 адреса, памяти 50 и регистра 51 микрокоманды, дешифратора 52 управляющих сигналов и узла 53 синхрони- 45 зации. На первый вход коммутатора

49 адреса микрокоманды по линии 54 поступает код команды из дешифратора кода команды. Этот вход используется для занесения начального адреса мик-. 5O ропрограммы, соответствующего коду команды. На второй вход коммутатора

49 поступает адрес следующей микрокоманды из регистра 51. Адрес микрокоманды иэ коммутатора 49 поступает в память 50, откуда считанная .микрокоманда поступает в регистр 51.

Часть микрокоманды, содержащая адрес следующей микрокоманды, поступает на второй вход коммутатора 49, остальная часть поступает в дешифратор 52 dO управляющих сигналов, который вырабатывает, в частности, сигналы обращения к программным регистрам, установки реверсивного счетчика в произвольное состояние, незанятости. стека.65

Синхронизирует работу всех узлов блока управления узел 53 синхронизации °

При инициализации устройства обработки данных блок 1 управления сбрасывает реверсивный счетчик 22 в нулевое состояние, на выходе дешифратора 29 состояния вырабатывается сигнал работы с первым комплектом программных регистров 6-9 и все время до поступления сигнала прерывания или команды перехода к подпрограмме текущая программа использует регистры б — 9 первого комплекта. Кроме того, блок 1 управления сигналом, поступаю- щим на блок 24 анализа условий прерывания по входу 44,сбрасывает триггер

3l занятости стека, сигнал, поступающий на блок 24 анализа условий прерывания по входу 42 иэ дешифратора 2 кода операций, по синхросигналу 45 устанавливает триггер 30 признака работы с четвертым комплектом программных регистров 18-21 в нулевое состояние. Если блок 25 приоритета вырабатывает сигнал прерывания программ, то он поступает на вход 40 блока 24 анализа условий прерывания и через элемент ИЛИ 32 подается на первый вход элемента И 35. Поскольку триггер

30 находится в сброшенном состоянии, то на второй вход элемента И 35 подается, разрешающий сигнал, в результате чего на выходе 46 формируется сигнал модификации счетчика состояния на плюс один. Аналогично блок 24 анализа условий прерывания работает при поступлении с дешифратора 2 кода операций на вход 41 сигнала, соответствующего коду команды перехода к подпрограмме. Далее программа работает с использованием программных регистров второго комплекта.

Если приходит сигнал прерывания или перехода, блок 24 анализа условий прерывания аналогично вырабатывает новый сигнал модификации реверсивного счетчика 22 на плюс один, определяя дальнейшую работу программы с третьим комплектом программных регистров 14 — 17.

Если наполняется команда возврата после прерывания или возврата иэ подпрограммы, то из дешифратора 2 кода операции поступает сигнал на вход 43 блока 24 анализа условий прерывания, где он через элемент И 39, на второй вход которого подается разрешающий сигнал с триггера 30, подается на вход элемента ИЛИ 34, вырабатывающего сигнал модификации реверсивного счетчика 22 на минус один. Реверсивный счетчик 22, возвращается в предшествующее состояние (в данном случае в начальное), и устройство переходит к продолжению программы, состояние которой было заполнено в первом комплекте регистров. Таким образом, работает блок анализа условий прерывания

24, если текущая программа работает

896625 с одним из первых трех комплектов блока 5 программных регистров.

Переход от третьего комплекта к четвертому характеризуется установкой триггера 30 в блоке 24 анализа .условий прерывания в единичное соотояние по совпадению двух сигналов сигнала, поступающего на вход 42 из дешифратора 29 состояния, и синхросигнала 45. Если при работе с четвер- о тым комплектом :18 †. 21, происходит прерывание или переход, то элемент

И 37 вырабатывает признак работы со стеком, выдаваемый через элемент ИЛИ

33 с выхода 47, элемент И 36 вырабатывает сигнал установки триггера 31 занятости стека, а выработка сигналов модификации блокируется триггером

30. Анализируя признак работы со стеком, блок управления организует перепись содержимого всех или части ре- 20 гистров четвертого комплекта в стек, модифицирует значение регистра ?6 стека и передает управление новой программе, которая использует регистры четвертого комплекта. При даль- 25 нейших прерываниях (переходах) содержимое регистров четвертого комплекта также запоминается в стеке блока

23 памяти с одновременной модификацией регистра 26 стека. Такая органиэация позволяет выполнять программы практически на любом числе уровней, ограничиваемом лишь объемом стека.

При выполнении команд возврата анализируется признак работы со стеком к при наличии его организуется перепись содержимого. регистров ранее прерванной программы из верхушки стека в регистры четвертого комплекта и и продолжение выполнения этой программы. В конце выполнения команды 40 возврата с участием стека анализируется равенство содержимого регистра

26 стека начальному адресу стека, и в случае равенства блок 1 управления подает на .вход 44 блока 24 анализа 4g условий прерывания сигнал, сбрасывающий триггер 31 занятости стека. Если теперь поступает сигнал прерывания или команды перехода, то, как было описано выше, блок 24 анализа условий:прерывания.формирует признак работы со стеком и блокирует выработку сигналов модификации реверсивного счетчика 22. Если же дешифратор 2 кода операции вырабатывает сигналг соответствующей команце возврата, он поступает на вход 43 блока

24 анализа условий прерывания, где через элемент И 38, открытый разрешающими сигналами с триггеров 30 и

31, поступает на элемент ИЛИ 34, 60 который формирует сигнал модификации реверсивного счетчика 22 на минус один. При этом признак работы со стеком не вырабатывается, так как триггер 31 - занятости сброшен.

Таким образом, предлагаемое те:,ническое решение по сравнению с известным позволяет в условиях многоуровневого режима выполнения программ существенно сократить объем оборудования блока программных регистров за счет некоторого увеличения времени перехода от программы к программе (при выполнении . процедур прерывания и возврата), причем технико-экономическая эффективность возрастает с увеличением общего числа программных уровней.

Формула изобретения

1. Устройство для обработки данных, содержащее регистр команд, буферный регистр, блок приоритета, арифметикологический блок, блок памяти, дешифратор состояний, блок управления и блок программных регистров, управляющие входы блока .программных регистров подключены к соответствующим выходам блока управления, разрешающие входы блока программных регистров подключены к соответствующим выходам дешифратора состояний информационный вход блока программных регистров соединен с выходом блока памяти, выходом арифметико-логическогс блока, входом регистра команд и входом буферного регистра, выход блока программных регистров подключен ко входу блока памяти и первому информационному входу арифметико-логического блока, второй информационный вход которого соединен с выходом буферного регистра и управляющим выходом регистра команд, выход кода операции которого соединен со входом дешифратора команд, вход блока приоритета подключен ко входу прерываний устройства, о т л и ч а ю щ е ес я тем, что, с целью сокращения оборудования при реализации многоуровневого режима выполнения программ, в него введены блок анализа условий прерывания, реверсивный счетчик и регистр стека, причем выход регистра стека подключен ко второму информационному входу арифметико-логического блока, выход блока приоритета подключен ко входу приоритета прерываний блока анализа условий прерывания, входы кода операции перехода к подпрограмме и кода операции возврата которого подключены к выходам кода операции перехода к подпрогреьаме и кода операции возврата дешифратора команд, выход кода операции которого подключен ко входу блока управления, выход синхронизации которого подключен ко входу синхронизации блока анализа условий прерывания, выходы прямого и обратного счета которого подключены к соответствующим входам прямого и обратного счета реверсивного счетчика, вход сброса которого соединен с выходом сброса блока управления

896625

l0 выход управления стеком блока анализа условий прерывания подключен ко входу регистра стека и входу буферного регистра, выход признака заполнения блока программных регистров дешифратора состояний подключен ко входу признака заполнения блока программных регистров блока анализа условий прерывания.

2. Устройство по и. 1, о т л и— ч а ю п е е с я тем, что блок анализа условий прерывания содержит три элемента ИЛИ, пять элементов И, и два триггера, причем первый вход первого элемента ИЛИ подключен ко входу приоритета прерываний блока, а второй вход - ко входу кода операции перехода к подпрограмме, выход которого подключен к первому входу первого элемента И, третьему входу вто" рого элемента И и первому входу третьего элемента И, выход которого под- 4 ключен к первому входу второго элемента ИЛИ, ко второму входу которого подключен прямой выход второго триггера, инверсный выход которого подключен к третьему входу четвертого 25 элемента И, выход которого подключен к первому входу третьего элемента

ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен со входом кода операции возврата и вторым входом четвертого элемента И, а второй вход — инверсным выходом первого триггера и вторым входом первого элемента И, выход которого подключен к выходу прямого счета блока, выход второго элемента И соединен с установочным входом второго триггера, прямой. выход первого триггера подключен к первому входу второго элемента И, второму входу третьего элемента И и первому входу четвертого элемента И, вход синхронизации первого триггера подключен ко входу синхронизации блока и второму входу второго элемента И, информационный вход первого триггера подключен ко входу признака заполнения блока программных регистров блока, выход второго элемента ИЛИ подключен к выходу управления стеком блока, а выход третьего элемента ИЛИ подключен к выходу обратного счета блока.

Источники информации, принятые во внимание при экспертизе

1. Каган Б.И. Электронные вычислительные машины и системы. И., Энергия, 1979, с. 300.

2. Патент США М 3373408,кл. 340

172, 1972 (прототип).

Сос тав итель Пономарев а

Редактор Л.Пчелинская ТехредС. Мигунова Корректор Г.Решетник .Заказ 11707/38 Тираж 731 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д.4/5, Филиал ППП Патент, г. Ужгород, ул. Проектная, 4