Устройство переменного приоритета
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
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