Устройство переменного приоритета
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
5 06 f 9/18 (22) Заявлено 04.04.78(21) 2599261/18-24 с присоединением заявки ¹â€”
Государственный комитет
СССР (23) Приоритет—
Опубликовано 07 07 80 Бюллетень №25
Дата опубликования описания 10 07 80 по делам изобретений и открытий (53} УДК 68 1.325 (088,8) (72) Автор изобретения
С. И. Самарский
Киевский ордена Трудового Красного Знамени завод электронных вычислительных и управляющих машин (?1) Заявитель (54) УСТРОЙСТВО ПЕРЕМЕННОГО ПРИОРИТЕТА
Изобретение относится к области вычислителЬной техники и может найти применение в устройствах прерывания программ ЭВМ.
В основном авт. св. Ма 506854 описано устройство переменного приоритета, содержащее регистр приоритета, кодовый выход которого соединен с кодовым входом счетчика, блок управления, соответствующие выходы которого соединены с управляющими входами регистра приоритета, циклического регистра сдвига и со счетным входом счетчика, блоканализа на нуль счетчика и блок анализа на единицу старшего разряда циклического регистра сдвига,.входы которого соединены с выходами. соответственно счетчика и циклического регистра сдвига, а выходы - с соответствующими входами блока управления.
Это устройство позволяет осуществлять программное изменение приоритетов сигналов прерывания с помощью одного регистра приоритета, в один из разрядов, которого заносится код сигнала преры» вания, имеющего в данный момент высший приоритет счетчика, блока акали за на нуль счетчика и блока анализа на единицу старшего разряда циклического
5 регистра сдвига, служащих для обнаружения приоритетного разряда прерывания и автоматического формирования адреса перехода к прерывающей программе.
Функциональные возможности этого уст»
1О ройства ограничены, поскольку количество возможных позиций приоритета устройства и каждого сигнала прерывания не превышает разрядности циклического
15 регистра сдвига.
Целью изобретения является расширение функциональных воэможностей за счет органиэации переменного порядка л обслуживания сигналов прерывания.
Поставленная цель достигается тем, что в, устройство переменного приоритета по авт. свид. N 506854 введен триггер направления сдвигов, вход установки которого соединен с четвертым выходом
46520 4
10
3 7 блока управления, блок анализа на единицу младшего разряда циклического регистра сдвига, выход Которого Соедйнен с третьим входом блока управления, а вход- - с выходом младшего разряда циклического регистра сдвига, и блок инвертирования содержимого счетчика, информационные вход и выход которого соединены соответственно с информационными выходом и входом счетчика, а управляющий вход — с пятым выходом бло-, ка управления.
Структурная схема устройства приведена на чертеже.
Оно содержит регистр 1 приоритета, счетчик 2, блок 3 анализа за нуль счетчика, циклический регистр 4 сдвига, блок
5 анализа на единицу старшего разряда циклического регистра сдвига, блок 6 управления, триггер 7 направления сдвигов, блок 8 анализа на единицу Младшего разряда циклического регистра сдвигов и блок 9 инвертирования содержимого счетчика, Устройство работает следующим образом.
Б регистр 1 программно заносится код, соответствующий номеру разряда циклического регистра 4 сигнала прерывания, имеющего в данный момент высщий приоритет. Одновременно в триггер
7 заносится код, соответствующий направлению сдвигов регистра 4 влево или вправо при поиске приоритетного разряда прерывания, т. е. код, определяющий последовательность опроса разрядов прерывания, начиная от фиксированного кодом в регистре 1 старшего по приоритету разряда влево или вправо. При этом ре,гистр 4 и счетчик 2 устанавливаются в состояние "0 .
40 вом состоянии - содержимое регистра 1 заносится в счетчик 2 прямым или обратным кодом в зависимости от состояния триггера 7. После этого в зависимости от состояния триггера 7 начинаетработать либо блок 5, либо блок 8.
В случае работы блока 5 при нулевом состоянии старшего разряда в счетчик 2 добавляется "1, и выполняется сдвиг на один разряд регистра 4 в сторону старщего разряда. Затем анализ о состоянии старшего разряда этого регистра повторяется и т. q. При единичном состоянии старшего разряда содержимое счетчика
2 используется в качестве модифицируемой части адреса перехода на соответствующую программу.
В случае работы блока 8 в счетчик 2 добавляется "1", и выполняется сдвиг содержимого регистра 4 в сторону младшего разряда. Затем анализ о состоянии младшего разряда этого регистра повторяется и т. д. При единичном состоянии младшего разряда содержимое счетчика
2 инвертируется с помощью блока 9 и используется в качестве модифицируемой части адреса перехода на соответствующую программу.
Допустим, например, разрядность регистра 1 и счетчика 2 равна четырем, а разрядность регистра 4 - тдестнадцати, При этом нулевое состояние триггера 7 вызывает передачу кода из регистра 1 в счетчик 2 обратным кодом, сдвиги содержимого регистра 4 влево, включение блока 5 и использование полученного результата в счетчике 2 в прямом коде; единичное состоянйе триггера 7 вызывает передачу кода из регистра 1 в счетчик
2 прямым кодом, сдвиги содержимого циклического регистра 4 вправо, включе45
55
При поступлении одного или нескольких сигналов прерывания соответствующие разряды регистра 4 устанавливаются в состояние "1", выполнение текущей программы прерывается, и на чинает работать блок 6. Б результате содержимое регистра 1 заносится в счетчик 2 пря. мым кодом или обратным кодом в зависимости от состояния триггера 7, к полученному "содержимому счетчика добавляется "1", а содержимое регистра 4 начинает сдвигаться влево или вправо.
Перед сдвигом, а также после каждого такта сдвига блоком 3 анализируется текущее состояние счетчика 2. При не нулевом состоянии счетчика 2 к er"о содержймому добавляется 1, при нуление блока 8 и использование результата, полученного в счетчике 2, в обратном коде.
Допустим, в регистре 1 занесен код
0101, триггер 7 находится в состоянии
"0", и поступил сигнал прерывания в третий разряд регистра 4. При этом код
0101 передается в счетчик 2 обратным кодом, а к содержимому счетчика 2 добавляется 1. В результате в счетчике будет код 1 01 0+ 1=1 01 1. Начинаются сдвиги содержимого регистра 4 влево одновременно со счетом числа сдвигов в счетчике 2 (суммированием с кодом
1011) и анализом его на нуль. После выполнения пяти сдвигов код в счетчике
2 станет 10000 (перенос иэ старшего
Устройство переменного приоритета по авт. св. М 506854, о т л и ч а ю— щ е е с я тем, что, с целью расширения функциональных возможностей за счет организации переменного порядка обслуживания запросов прерывания, в него введены триггер направления сдвигов, вход установки которого соединен с четвертым выходом блока управления, блок анализа на единицу младшего разря5 7465 разряда теряется), старший по приорите- ту пятый разряд регистра 4, определенный кодом в регистре 1, сдвигается на место старшего (нулевого) разряда регистра 4, а единица в третьем разряде передвигается в четырнадцатый разряд.
После этого код из регистра 1 заносится в счетчик 2 прямым кодом, включается блок анализа старшего разряда регист,ра 4, и начинаются сдвиги содержимого этого регистр» 4 в сторону старшего разряда с добавлением "1" в счетчик 2 после каждого такта сдвига. Если в исходном состоянии в разрядах 2, 1, О, 15, 14,... 6 регистра 4 были "0", то и после проведения первого цикла сдвигов, в разрядах с нулевого по тринадцатый соответственно будут 0". Поэтому "1" из четырнадцатого разряда в старший передвинется после осуществления 14 сдвигов, при этом срабатывает блок 5 и останавливает прохождение импульсов сдвига. Код в счетчике 2 будет:
0101+1110 -10011, При этом старший разряд суммы в счетчике 2 теряется, а содержимое счетчика соответствует номеру разряда прерывания. По этому коду формируется адрес перехода к прерывающей программе.
Таким образом, при нулевом состоянии триггера 7 и коде 0101 (5) в регистре
1 расположение сигналов прерывания в порядке их приоритетов будет следующим:
5,6,7,8,9,10,11,12,13,14,15,0,1,2, 3,4". 35
Допустим, в регистре 1 содержится код 0101, триггер 7 находится в состоя.нии 1 и поступил сигнал прерывания в третий разряд регистра 4, Содержимое регистра 1 прямым кодом rrcpenaercs в счетчик 2, и добавляется 1.
Код в счетчике 2 будет: 0101+1 =
=0110. После этого начинаются сдвиги содержимого регистра 4 вправо одновре, менно со счетом сдвигов в счетчике 2 45 (суммированием с кодом 0110) и анализом на нуль его содержимого.
После выполнения 10 сдвигов код в счетчике 2 станет «OOOO", старший по
50 приоритету разряд (пятый) регистра 4, определенный кодом в регистре 1, сдвигается на место младшего пятнадцатого разряда регистра 4, а 1 в третьеМ разряде этого регистра передвинется в
13-й разряд. Затем код из регистра 1 заносится в счетчик 2 обратным кодом, включается блок 8, и начинаются сдвиги регистра 4 в сторону младшего разряда
20. б с добавлением "1 в счетчик 2 после каждого такта сдвига. Если в исходном состоянии в четвертом и пятом разрядах регистра 4 были 0, то после первого цикла сдвигов в разрядах 14 и 15 также будут "0". При этом 1 из 13-го разряда в младщий 15-й передвинется после первых двух сдвигов вправо, после чего срабатывает блок 8 и дает команду блоку. управления 6 на прекращение сдвигов.
При этом код в счетчике 2 будет
1010+001 1 100.
Затем включается блок 9, содержимое счетчика инвертируется (получим код
0011) и используется в качестве адреса перехода к прерывающей программе„
Таким образом, при единичном состоянии триггера 7 и коде 0101 (5) в регистре 1 расположение сигналов прерывания в -порядке их приоритетов будет следующим: "5, 4, 3, 2, 1, О, 1 5, 1 4, 1 3, 1 2, 11,10 9,8,7,6 .
При программном изменении содержимого регистра 1 и триггера 7 изменяется номер разряда регистра 4, имеющего старший приоритет и порядок изменения приоритетов других сигналов.
Разряды, отстоящие от анализируемого в сторону младших при нулевом состоянии триггера 7 или отстоящие в сторону старших при единичном состоянии триггера 7, анализируются позже и имеют постепенно уменьшающийся приоритет.
Общее число позиций приоритета устройства соответствует удвоенной разряднос- . ти регистра сдвига 4.
Таким образом, устройство обеспечиI вает возможность назначения по программе не только номера старшего по приоритету сигнала прерывания, как это делается в прототипе, но и изменения уровней приоритетов остальных сигналов прерывания.
Формула изобретения
7 74652
"да циклического регистра сдвига, выход которого соединен с третьим входом бло ; ка управления, а вход - с выходом младшего разряда циклического регистра сдвига, и блок инвертирования содержимого
О 8 счетчика, информационные вход и выход которого соединены соответственно с информационными выходом и входом счетчика, а управляющий, вход с пятым выходом блока . управления.
Составитель В. Вертлиб
Редактор Л. Утехина Техред Л. Теслюк; Корректор М. Демчик
Заказ 3949/39 Тираж 751 Подписное
UHHHHH Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб„д. 4/5
Филиал ППП Патент", г. Ужгород, ул. Проектная, 4