SU907550A1 - Контроллер с переменным приоритетом - Google Patents

Контроллер с переменным приоритетом Download PDF

Info

Publication number
SU907550A1
SU907550A1 SU802972199A SU2972199A SU907550A1 SU 907550 A1 SU907550 A1 SU 907550A1 SU 802972199 A SU802972199 A SU 802972199A SU 2972199 A SU2972199 A SU 2972199A SU 907550 A1 SU907550 A1 SU 907550A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
controller
trigger
register
Prior art date
Application number
SU802972199A
Other languages
English (en)
Inventor
Элина Павловна Овсянникова-Панченко
Людмила Михайловна Петрова
Борис Владимирович Шевкопляс
Original Assignee
Предприятие П/Я Р-6429
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Предприятие П/Я Р-6429 filed Critical Предприятие П/Я Р-6429
Priority to SU802972199A priority Critical patent/SU907550A1/ru
Application granted granted Critical
Publication of SU907550A1 publication Critical patent/SU907550A1/ru

Links

Description

(S) КОНТРОЛЛЕР С ПЕРЕМЕННЫМ ПРИОРИТЕТОМ
I
Изобретение относитс  к цифровой вычислительной технике .и может быть использовано в вычислительных системах , построенных по принципу общей шины, с развитой периферийной частью.
В таких системах центральный процессор периодически прерывает выполнение основной программы дл . обслуживани  периферийных устройств, от которых поступают за вки на обслуживание . Если интенсивность поступлени  за вок велика, то возможно образование очереди, в этом случае дл  ее ликвидации принимаетс  та или j ина  дисциплина обслуживани .
Известна вычислительна  система, содержаща  параллельно соединенные двунаправленными и однонаправленными св з ми процессор, и р д контроллеров , объединенных между собой дополнительными двунаправленными св з ми , причем каждый контроллер содержит первичные и вторичные адресные переключатели, первичный и вторичный блоки сравнени , а также два блока приемопередатчиков, соединен- иых с входами соответствующих блоков сравнени , включенных последовательно и подключенных к соответствующим адресным переключател м ,1 J.
В процессе работы системы осуществл етс  автоматический выбор наиболее приоритетного контроллера ( из числа требующих обслуживани ) без вмешательства процессора в акт выбораЧарбитража ). Эта процедура оказываетс  возможной благодар  оперативному обмену информацией между всеми контроллерами через дополнительные двунаправленные св зи, вследствие чего каждый контроллер знает о состо нии всех остальных контроллеров системы и самосто тельно оценивает исход конкурентной борьбы. В случае успеха победивший контроллер обмениваетс  информацией с процессором. Недостатки этой системы - жесткость приоритетной структуры, повышенна  сложность контроллеров, наличие дополнительной информационной магистрали. Наиболее близким по технической сущности к предлагаемому  вл етс  контроллер, содержащий триггер запроса , соединенный с входом кабельного усилител , выход которого параллельно соединен с выходами аналогичных кабельных усилителей остал ных контроллеров и с одним из входо процессора посредством одной из одн направленных св зей, регистр приори тета и блок формировани  максимального кода, группа входов блока форм ровани  максимального кода соединен с группой выходов регистра приорите та, группа входов-выходов блока фор мировани  максимального кода параллельно , соединена с аналогичными гру пами входов-выходов блоков формировани  максимального кода остальных контроллеров и с соответствующей гру пой входов-выходов процессора посредством указанных двунаправленных св зей, причем один из выходов процессора параллельно соединен с входами разрешени  работы всех контрол леров посредством другой однонаправ ленной св зи f2. Иде  построени  известного устройства состоит в децентрализации функций арбитража, т.е. идентификации источника прерывани , имеющего максимальный приоритет. Арбитр как таковой в системе отсутствует, его функции выполн ютс  совокупностью блоков формировани  максимального кода, объединенных общей магистраль Запросы на обслуживание поступают от периферийных устройств через соответствующие контроллеры в общую линию запросов. При наличии сигнала на этой линии процессор посылает си нал разрешени  работы параллельно всем контроллерам. Одновременно с этим процессор приостанавливает выполнение текущей программы и запоми нает слово состо ни  программы ( параметры возврата). К этому времени в результате одновременной и f.osместной работы всех контроллеров, п сылавших запросы, на шине данных .. устанавливаетс  код, равный коду пр оритета одного из устройств, посылавших запрос, а именно, того устр ойства , чей код приоритета максимален . Процессор считывает этот код (вектор прерывани )с шины данных и, как обычно, использует его в качестве косвенного адреса начала подпрограммы обслуживани  соответствующего периферийного устройства. После завершени  выполнени  этой подпрограммы процессор переходит к выполнению основной программы с прерванного места. Основной недостаток известного контроллера состоит в том, что при перегрузках вычислительной системы, св занных с интенсивными потоками запросов от различных периферийных устройств (каналов), может ©казатьс , что некоторые низкопри®ритетные конТ|эоллеры в течение нек®т®рого времени вообще не получат обслуживани , так как они посто нно оттесн ютс  более приоритетными контроллерами, что не всегда допустимо. Этот недостаток может быть компенсирован за счет снижени  производительности системы и резкого увеличени  времени реакции на прерывание. В этом случае на программное обеспечение возлагаютс  функции динамического перераспределени  приоритетов каналов путем записи кодов в регистры приоритетов контроллеров и соответствующего динамического изменени  таблицы начальных адресов подпрограмм обслуживани  каналов. В процессе такой перестройки прерывани  обрабатыватьс  не .могут, так как. возможна неоднозначна  идентификаци  источника прерывани . Указанна  перестройка должна выполн тьс  по возможности чаще , чтобы дисциплина обслуживани  каналов была более демократичной. Однако с увеличением частоты перестройки в конечном счете окажетс , что эта перестройка стала самоцелью и у процессора не остаетс  времени на выполнение основной (фоновой задачи. Таким образом, недостатком контроллера  вл етс  большое врем  обслуживани  при работе с высокоинтенсивными источниками запросных сигналов . Цель изобретени  - сокращение времени обслуживани . Указанна  цель достигаетс  тем, что в контроллер с переменным приоритетом , содержащий триггер запроса, регистр приоритета, блок формировани  максимального кода, выход три1 repd запроса соединен с выходом Запроса контроллера, выход блока формировани  максимального кода подключен к информационному входу-выходу контроллера, введены генератор стробирующих импульс, триггер режима регистр кода веро тности, регистр кода режима, блок выработки векторов прерывани , триггер выбора вектора прерывани ,дешифратори элемент И, причем выход элемента И подключен к разрешающему входу блока формировани  максимального кода, вход которого соединен с выходом блока выработки векторов прерывани , первый инфор мационный вход которого соединен с выходом регистра приоритета, вход которого соединен с информационным входом-выходом контроллера и входом регистра кода веро тности, выход которого подключен к генератору стробирующих импульсов, выход которого соединен с информационным входом три гера выбора вектора прерывани , выход которого подключен ко входу пере ключени  вектора блока выработки век торов прерывани , вход синхронизации триггера выбора вектора прерывани  подключен к первому входу элемента И, входу синхронизации триггера режима и входу синхронизации контроллера , выход триггера режима соединен со вторым входом элемента И, информационный вход триггера режима соединен с выходом триггера запроса, вход регистра кода режима подключен к информационному входу-выходу контроллера , выход регистра кода режима соединен со вторым информационным входом блока выработки векторов прерывани , информационный вход дешифратора подключен к адресному входу контроллера, выходы дешифратора подключены к управл ю1цим входам регистра кода режима, регистра приоритета регистра кода веро тности и к входу сбросатриггера режима, разрешающий вход дешифратора соединен с разрешающим входом контроллера. Кроме того, блок выработки векторов прерывани  содержит последовательно соединенные группу двухвходовых элементов И и группу двухвходовых элементов ИСКЛОЧАЮЩЕЕ ИЛИ, выходы которых подключены к выходу бло ка выработки векторов прерываний, а первые входы - к первому информационному входу этого блока, первые входы двухвходовых элементов И объединены и подключены к входу переклю чени  вектора блока, вторые входы двухвходовых элементов И подключены ко второму информационному входу блока , выходы элементов И соединены со вторыми входами соответствующих эле ментов ИСКЛЮЧАЮЩЕЕ ИЛИ. Благодар  новым признакам обеспечиваетс  веро тностный выбор одного из конкурирующих каналов, в результате чего низкоприоритетные каналы периодически реализуют шансы на обслуживание { без дополнительных потерь времени), а не грубо оттесн ют с  более приоритетными каналами. На фиг. 1 представлена структурна  схема типовой вычислительной системы; на фиг. 2 - структурна  схема контроллера; на фиг. 3 - структурна  схема блока формировани  максимального кода; на фиг. k - структурна  схема блока выработки векторов прерывани ; на фиг. 5 - структурна  схема соединенных между собой генератора стробирующих импульсов и регистра кода веро тности; на фиг. 6-8 - диа:- ра.чк.ы колебаний векторов прерывани , соответствующие различным кодам регистра кода режима;на фиг. 9 временные диаграммы работы генератора стробирующих импульсов. Вычислительна  система построена по общеприн той схеме (фиг.1) и содержит процессор 1 и р д контроллеров 2, 22, ...,2л, объединенные общей магистралью 3, представл ющей собой набор однонаправленных и двунаправленных св зей. Каждый контроллер 2, 2,..., соединен с одним или несколькими периферийными устройствами (на фиг.1 не показаны). Контроллер 2, (фиг.2) содержит триггер запроса, выход которого соединен с входом кабельного усилител  5 и с D - входом триггера 6 режима. Выход кабельного усилител  5 параллельно соединен с выходами аналогичных кабельных усилителей остальных контроллеров и с одним из входов процессора посредством однонаправленной св зи 7, вход щей в состав магистрали 3. Термин однонаправленна  св зь используетс  в том смь1сле , что источником сигнала логической единицы может быть любой контроллер или группа контроллеров, а приемником - лишь процессор. Синхронизирующий вход С триггера 6 соединен с синхронизирующим входом С триггера 8 выбора вектора прерывани  с. первым входом элемента И 9 и с общей дл  всех контроллеров однонаправленной св зью 10, вход щей в магистраль 3 и предназначенной дл  передачи сигнала разрешени  работы из процессора одновременно во все контроллеры.Выход элемента И9 соединен с управл ющим входом 11 блока 12 формировани  максимального кода. Группа входов-выходов блока 12 параллельно соединена с аналогичными группами входоввыходов блоков формировани  максималь ного кода остальных контроллеров и с соответствующей группой входов-выходов процессора посредством двунаправленных св зей 13, представл ющих собой общую шину данных. К этой же шине 13 в каждом контроллере подключена группа входов регистра 1 кода веро тности, группа входов регистра 15 приоритета и группа входов регистра 1б кода режима. Группа вы:ходов регистра И соединена с, группой входов генератора 17 стробирующих импульсов, выход которого соединен с D-ВХОДОМ триггера 8. Группа входов блока 12 формировани  максимального кода соединена с группой выходов блока 18 выработки векторов прерывани , перва  группа входов которого соединена с группой выходов регистра 15 а втора  группа входов - с группой выходов регистра 16. Выход триггера b соединен с вторым входом элемента И9, выход триггера 8 соединен с входом 19 блока 18. Вход 20 сброса триг гера 6, а входы 21, 22 и 23 синхронизации регистров 1, 15 и 16 соответст-зенно соединены с выходами дешифратора 2, группа адресных входов которого соединена с группой однонаправленных св зей 25 (или с шиной адреса) магистрали 3. Вход 2б разрешени  работы дешифратора 2k соединен с однонаправленной св зью 27, вход щей в состав магистрали 3 и предназначенной дл  передачи признака интенсивности адерса, установив шегос  на шине 23 адреса. Входы 28 и 29 триггера i предназначены соответственно дл  установки и сброса этого триггера. Сигналы на эти входы поступают от периферийного устрой ства (на фиг.2 не показано). Блок 12 формировани  максимального кода (фиг.З) содержит три однотипные логические  чейки 30, 30 и а также кабельный усилитель 30ц , элемент И31. Логическа   чейка 30,, содержит кабельный усилитель - элемент И32, инвертор 33, элемент ИЛИ , и элемент И35. Блок 18 выработки векторов прерывани  (фиг.l ) содержит элементы изб, 37, 38, 39 и элементы ИСКЛЮЧАЮЩЕЕ ИЛИ kO, ft1, k2, k3, выходы которых  вл ютс  группой выходов блока 18 и соединены с входами блока 12. Генератор 17 импульсов (фиг. 5/) содержит инверторы , конденсатор 7, резистор 48, ij-x разр дный счетчик 9, элемент И-ИЛИ 50 и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 51. Расс/Ютрим принцип действи  отдельных составных частей контроллера 2: . Триггеры 6 и 8 принимают информацию с входов О под действием положительного фронта сигнала на линии 10 и хран т ее вплоть до поступлени  очередного положительного фронта си|- нала на входы С. Сброс триггера 6 производитс  при поступлении сигнала логической единицы на вход 20 с соответствующего выхода дешифратора 2. Регистры 1, 15 и 16 принимают информацию с магистрали данных по положительнь1м фронтам сигналогц соответственно-на .входах 21, 22 и 23. Дешифратор 24 открываетс  при наличии логической единицы на входе 26. При наличии определенных кодовых комбинаций на адресной шине 25 на одном из выходов дешифратора формируетс  сигнал логической единицы. Эти кодовые комбинации (адреса) различны дл  разных контроллеров и задаютс  на этапе технического проектировани  конкретной вычислительной системы . Таким образом, регистры , 15 и 1б  вл ютс  программно-доступными по записи, а лриггёр 6 может быть сброшен программным путем. В качестве дешифратора может быть использована программируема  логическа  матрица, посто нное или полупосто нное запоминающее устройство, вентильна  схема и т.п. Блок 12 формировани  максимального кода функционирует при наличии логической единицы на входе 11 (при нуле на этом входе блок 12 отключен от шины данных). Далее предполагаетс , что кажда  из линий реализует функцию проводное ИЛИ по отношению к сигналам логических единиц. Други 907
ми словами, логическа  единица, сформированна  например элементом И32 , передаетс  в линию независимо от состо ни  выходов аналогичных элементов И, расположенных в других контроллерах или в процессоре. Така  функци  может быть реализована на элементах с открытым эмиттером с общим эмиттерным резистором, в отличие от магистрали, реализующей функцию проводное И, и реализованной на элементах с открытым коллектором и общим коллекторным резистром. Указанное отличие не  вл етс  принципиальным - магистраль типа проводное ИЛИ прин та за основу, как и в известном контроллере дл  упрощени  описани .
Совокупность блоков 12, объединенных шиной данных, представл ет собой, по существу распределенное приоритетное устройство. В результате взаимодействи  блоков, у которых на входы 11 подана логическа  единица, на шине данных устанавливаетс  код, равный коду на шинах одного из блоков 12 а именно, того блока, у которого этот код максимален. Пусть, например, коды на лини х трех различных контроллеров посто нны и имеют следующий вид: 0101, 1001, 1011 (коды представлены в двоичной форме). После подачи сигналов на входы 11 соответствующих блоков , спуст  врем  успокоени  системы (заранее известное и подсчитанное по наихудшему случаю при проектировании ), на шине 13 установитс  код 1G1I, который может быть прочитан процессором.
Формирование кода на шине -13 дэнных происходит последовательно, начина  со старшего разр да. Если в старшем разр де кода на шинах какоголибо контроллера присутствует гюгическа  единица, то срабатывает соответствующий элемент 32, в результате чего в линию выдаетс  единица. Таким образом, в эту линию выдают единицы все те блоки 12, у которых на входе старшего разр да присутствует логическа  единица. Блоки 12, у которых на входах присутствуют логические нули, не выдерживают конкурентной борьбы и отключаютс  от магистрали, так как сигнал логической единицы от чужих блоков инвертируетс  элементом 33/f, на выходе элемента ИЛИ ЗЧ формируетс  логический нуль, закрывающий через элемент И 35 последующие разр дные  чейки 3(, 30 3
10
и элемент И31. Если ни один из бло ков 12 не получил на вход сигнала логической единицы, то в старшем разр де результирующего кода будет сформирован логический О. В этом случае сигнал логического нул  с этой линии, пройд  через инвектор 33 в виде логической единицы проходит через элемент ИЛИ и совместно с сигналом на входе 11 открывает вход запуска следующего разр да. Запуск  чейки 302 осуществл етс  также и при наличии единицы на входе по цепи: 3kj Таким образом, при равных услови х в старшем разр де борьба переноситс  в следующий разр д . При этом в линию выдают сигналы логических единиц все те блоки 12, которые выдержали первый тур отбора (по старшему разр ду) и, кроме того, имен5т единицы на входах. Подобные операции выполн ютс  последовательно во всех остальных разр дах;
Блок 18 выполн ет функцию передач кода .b2. выходы (коц, ( о, С/)-без инвертировани  или с инвертированием отдельных разр дов, или одновременно всех разр дов. Сигнал разрешает инвертирование, а единичные позиции кодаС(4СЛ-3|С1, определ ют гюзиции разр дов кода Ъ }Ъ%Ь/гЬ подлежащие инвертированию. Например,
при ,,b4t),b2tefl001
на выходе блока 18 будет сформирован код СА. С С 2.-0010, так как остаетс  неизменным лишь значение третьего разр да входного кода ЬА. остальные разр ды инверторируютс . Таким образом, любое число из диапазона to - 153 можно превратить в любое число из этого же диапазона, инвертиру  некоторые (или все) его разр ды . В приведенном выше примере число °ijQ превращаетс  в число 2 .
В общем лиде С, (3 V б ) Л Ъ V
VCdftai)Ab, i 1,2,3,.
Генератор стробирующих импульсов (фиг.5) вырабатывает последовательности импульсов, приведенные на фиг. 9. Частота генератора F определ етс  в основном емкостью конденса тора ij. Частоты Fp генераторов разных контроллеров выбираютс  различными , например, из р да: 10 мГц, 6,2 мГц, 2,1 мГц и т.д.; допуски на стабильность частоты могут быть достаточно большими, например i:20%. Эта свобода св зана с тем, что каждый генератор используетс  как датчих случайного одноразр дного двоим него числа. В произвольные моменты времени выход генератора опрашиваетс  сигналом, поступающим из про цессора по линии 10, и результат опроса запоминаетс  в триггере 8. Веро тность (Е) обнаружени  логичес кой единицы на выходе генератора оп редел етс  степенью заполнени  диаграммы положительными импульсами Е - S tr / Т . t6T / {обозначени  приведены на фиг.9). Из рассмотренных диаграмм, привзедеиных а фиг.9, следует, что дл  данного примера реализации генератора веро тность обнаружени  логической единицы на выходе генератора зависит от кода в регистре 1 и может принимать дев ть различны значений в диапазоне от О до 1. Рассмотрим основную идею построени  предлагаемой вычислительной системЬ. Функционирование контроллера осу ществл етс  следующим образом. Каждый контроллер, многократно участву  в конкурентной борьбе за право получени  обслуживани  со стороны процессора, случайным образом измен ет свой приоритет или вектор прерывани  (эти пон ти применительно к данной системе можно считать иден тичными). Это, однако, не приводит к неоднозначному выбору одного из контроллеров, так как процессор зна ет спектры изменени  векторов прерываний всех контроллеров, вход щих в систему, а сами эти спектры не пе ресекаютс . Спектры векторов и веро тности выбора каждого вектора за даютс  при предварительной настройке контроллеров загрузкой соответст вующей информации в программно-доступные регистры всех контроллеров системы. Такой подход к проектированию вычислительной системы обеспечивает реализацию разнообразных демократичных дгсциплин обслуживани , при которых все без исключени  периферийные устройства так или ина че получают обслуживание, а не оттесн ютс  более сильными. Рассмотрим вопрос о выборе непересекающихс  множеств спектров векторов прерывани . Дл  определенност будем считать, что имеютс  восемь контролеров, каждый из которых може генерировать лишь два различных век тора; Так как в этом случае суммарное число различных векторов составл ет , то разр дность кода, отображающего эту величину, должна быть равна i или превышать k - в последнем случае открываютс  дополнительные возможности по формированию спектров. Далее предполагаетс , что разр дность равна , Исходна  информаци  дл  построени  спектров с учетом прин тых ограничений приведена в таблице. Все коды представлены в виде дес тичных чисел. Таблица позвол ет определить дополнительный веткор по известному основному вектору, записанному в регистр приоритета, и содержимому регистра режима. Пусть, например, в регистр 15 приоритета одного из контроллеров записан код 1, а в регистр 1б режима этого контроллера вод . Выбира  элемент таблицы на пересечении соответствующей строки и столбца, получим код 9. Это означает , что при такой настройке данный контроллер способен генерировать два вектора - И и 9.Заметим,что те же векторы генерируютс  и при записи кода 9 в регистр приоритета с сохранением кода 7 в регистре режимаПолученна  пара векторов 9 и I закрепл етс  за данным контроллером и не может быть использована в других контроллерах в силу необходимости соблюдени  ус:лови  однозначной идентификации периферийного устройства. Далее дл  простоты предполагаетс , что во всех контроллерах системы в регистры режима всегда записан один и тот же код - в данном примере код 7. Использование разных кодов приводит к значительному увеличению числа способов задани  спектров и поэтому в рамках данного описани  не рассматриваетс . Указанное ограничение закрепл ет столбец, соответствующий коду 7 в регистре режима. При этом дл  оставшихс  контроллеров выдел ютс  следующие пары векторов: О и 7; 1 и 6; 2 и 5; 3 и it; 8 и 13; 10 и 13; П и 12. Диаграммы, показанные на фиг,6-8 дают нагл дное представление о распределении пар векторов между конт-, роллерами. Каждому контроллеру соответствует дуга, соедин юща  основной и дополнительный векторы, представленные дес тичными .числами, размещенными в пор дке возрастани  на числовой оси. Рассмотренному примеру дл  соответствует диаграмма, показанна  на фиг.Уа, Из этой диаграммы видно, чтовсе восемь контроллеров дел тс  на две одинаковые группы - верхнюю и нижнюю. Контроллеры верхней группы обладают безусловным приоритетом над контроллерами нижней группы, а внутри группы (при равноверо тном вы боре из двух векторов в каждом контроллере ) наибольшим приоритетом обладает контроллер с наибольшей дугой . Пусть контроллеры К., К„ и К, генерируют , соответственно следующие векторы: О и 9; 3 и Ю; 6 и 15 (согласно ФИГ.УВ). При отработке прерывани  каждый контроллер фиксирует одно из двух случайнь1х положений вектора и поддерживает его неизменным до окончани  процедуры арбитража Пусть в интересующий нас проме)(уток времени контроллер К. выбрал вектор 9, контроллер К2 - вектор 3, контроллер К - вектор 6, а процессор выполн ет команду, выбранную из  чейки пам ти с адресом 2110 (все коды и адреса привод тс  в дес тичной записи). Получив сигнал запроса на обслуживание одновременно от трех контроллеров, процессор приостанавливает выполнение основной программы и запускает эти контроллеры в режиме распределенного арбитра, в результате чего на шине данных устанавливаетс  максимальных код - 9. После запуска контроллеров процессор упр тывает в пам ть информацию, необходимую дл  последующего продолжени  выполнени  программы с адреса 2111, а затем считывает с шины данIных код Э. Рассматрива  этот код как :адрес  чейки пам ти, проффесор извле кает из нее код OOtlZ, который в свою очередь, рассматриваетс  как адрес начала подпрограммы обслуживани  контроллера К« . Таким образом процессор переходит к выполнению последовательности команд, начина  с команды, записанной в  чейке пам ти с адресом . Эта последовательность завершаетс  командой ВЫХОД ИЗ ПРЕРЫВАНИЯ, котора  записана в  чейке пам ти с адресом 698. При выполнении этой команды ранее упр танна  в пам ть информаци  помещаетс  в соответствующие регистры процессора, и он пе9 0Н рггходит к выполнению последовательности команд, начина  с команды в  чейке 2111. Контроллеры К и К,, не получив обслуживани , продолжают формирование сигнала запроса. Процессор, обнаружив , что запрос не сн т, повтор ет описанную ранее процедуру и обслуживает один из контроллеров К или К,( именно - зависит от тоГО , в каком сочетании выпали пары чисел на этот раз: 3-15; 10-6 или 10-15) Загрузка регистров k, 15 и 16 производитс  последовательно. Дл  загрузки одного из трех регистров процессор выставл ет на шине 13 данных нужный код, а на адресной шине 25 - адрес, присвоенный соотеетствующему регистру. Спуст  врем , достаточное дл  окончани  переходных процессоров в адресной шине и дл  дешифрации адреса, процессор формирует сигнал истинности адреса на линии 27, который открывает выходы дешифратора, в результате чего информаци  с шины данных записываетс  в соответствующий регистр. Пусть в исходном состо нии за вки на обслуживание не поступают, а процессор выполн ет основную программу. В каждом контроллере триггер находитс  в сброшенном состо нии, кабельный усилитель 5 выключен, в лини х 7 и 10 сигналы логических О триггер 6 сброшен, в триггере 8 хранитс  -О или 1 в зависимости от предыстории(предыстори  не учитываетс ), регистры 1ч, 15 и 1б хран т информацию о настройке системы, на выходе блока 18 основной или дополнительный векторы 8 зависимости от состо ни  триггера В, блок 12 включен от магистрали, так как на вход 11 подан логический О с выхода закрытого элемента И9. Рассмотрим сналача случай, при котором лишь один контроллер требует обслуживани . Сигнал с периферийного устройства поступает на вход 28, устанавливает в единицу триггер k и в виде логической единицы передаетс  кабельным усилителем 5 по линии 7 запроса в процессор. Процессор, как было описано выше, прерывает выполнение текущей программы и выдает сигнал разрешени  по линии 10. По этому сигналу состо ние триггера А переписываетс 
в триггер 6 во всех контроллерах системы . В тех контроллерах, у которых триггер t не был установлен в единицу , триггер 6 также остаетс  в . сброшенном состо нии, закрыва  через элемент ИЗ блок 12 формировани  максимального кода, т.е. сохран   отключенное состо ние этого блока. В контроллере, у которого триггер 1 был установлен в единицу, при получении сигнала по линии 10 и после срабатывани  триггера 6 открываетс  элемент И9 и блок 12 подключаетс  к магистрали. В то же врем  триггер 8 фиксирует случайное значе4ние си1- нала (О или 1), снимаемого с выхода генератора 17 в момент прихода фронта разрешающего импульса по линии 10. В зависимости от значени  этого сигнала с выходов блока 18 на входы блока 12 передаетс  либо основной ( при нулевом сигнале),либо дополнительный вектор прерывани . Так как в данном случае конкуренты на магистрали отсутствуют, соответствующий вектор передаетс  через блок 12 в шину 13 данных. После окончани  переходных процессоров в цепи: 10-8-19 l8-12-13 процессор опрашивает шину 13 данных и, как показано выше, переходит на соответствующую подпрограмму через одну из двух  чеек пам ти , отведенных данному контроллеру . После выхода на эту подпрограмму процессор программным путем сбрасывает триггер 6 через дешифратор 2 и приступает к обслуживанию периферийного устройства ,которое заключаетс , например, в перемотке ленты, сн тию информации с датчиков, выдаче кода на цифро-аналоговые преобразователи и т.п.. Если периферийное
устройство удовлетворено обслуживанием и если в процессе обслуживани  в этом устройстве не сложились ситуации , требующие повторного вмешательства со стороны процессора, то на вход 29 триггера с -периферийного устройства поступает сигнал сброса, в результате чего усилитель 5 выключаетс . Сигнал разрешени  снимаетс  процессором с линии 10 после считывани  вектора с иины 13 данных . При этом контроллеры ( в данном случае - один контроллер) отключаютс  от шины данных. Заметим,что переход к подпрограмме через нулевой вектор возможен лишь при отсуствии конкурирующих контроллеров.
В случае, если к моменту запуска контроллеров по линии 10 сигналом разрешени  в системе имеютс  несколько контроллеров, требующих обслуживани  в этих контроллерах триггеры k установлены в единицу), все процессы, описанные ранее дл  одного контроллера, протекают параллельно в -каждом контроллере и завершаютс  процедурой формировани  максимального вектора на шине 13 данных. Эта процедура рассмотрена при описании работы блока 12.
Эффективность использовани  предлагаемого контроллера зависит от его архитектурных и структурных особенностей , определ емых на стадии технического проектировани . Выигрыш в производительности за счет перераспределени  функций между программным обеспечением и аппаратурой оцениваетс  дл  каждой конкретной системы с использованием приведенных выше количественных характеристик и может достигать .

Claims (2)

17 Формула изобретени  1. Контроллер с переменным приоритетом , содержащий триггер запроса , регистр приоритета, блок фор мировани  максимального кода, выход триггера запроса соединен с выходом запроса контроллера, выход блока формировани  максимального ко да подключен к информационному вход выходу контроллера, о т л и ч а юд и и с   тем, что, с целью сокращени  времени обслуживани , в него введены генератор стробирующих импульсов , триггер режима, регистр ко да веро тности, регистр кода режима блок выработки векторов прерывани , триггер выбора вектора прерывани , дешифратор и элемент И, причем выхо элемента И подключен к разрешающему входу блока формировани  максимального кода, вход которого соединен с выходом блока выработки векторов
18
907550 Продолжение таблицы прерывани , первый информационный вход которого соединен с выходом регистра приоритета, вход которого соединен с информационным входом-выходом контроллера и входом регистра кода веро тности, выход которого подключен к генератору стробирующих импульсов , выход которого соединен с информационным входом триггера выбора вектора прерывани , выход которого подключен ко входу переключени  вектора блока выработки векторов прерывани , вход синхронизации триггера выбора вектора прерывани  подключен к первому входу элемента И, входу синхронизации триггера режима и входу синхронизации контроллера , выход триггера режима соединен со вторым входом элемента И, информационный вход триггера режима соединен с выходом триггера запроса, вход регистра кода режима подключен к информационному входу-выходу контроллера , выход регистра кода режима соедине со вторым информационны входом блока выработки векторов пре рывани , информационный вход дешифратора подключен к адресному входу контроллера, выходы дешифратора ,подключены к управл ющим входам регистра кода режима, регистра приоритета регистра кода веро тности и к входу сброса триггера режима, разрешающий вхот дешифратора соединен с разрешающим входом контроллера . 2. Контроллер по п.1, о т л и чающийс  тем, что блок выра ботки векторов прерывани  содержит последовательно соединенные группу двухвходовых элементов И и группу двухвходовых элементов ИСК/ЮЧЛЮЩЕЕ 9 20 ИЛИ, выходы которых подключены к выходу блока выработки векторов прерываний , а первые входы - к первому информационному входу этого блока, первые входы двухвходовых элементов И объединены и подключены к входу переключени  вектора блока, вторыевходы двухвходовых элементов И подключены ко второму информационному входу блока, выходы элементов И соединены с вторыми входами соответствующих элементов ИСКЛОЧАЮЩЕЕ ИЛИ. Источники информации, прин тые во вни |ание при экспертизе 1.Патент США № 3983550, кл, ЗЛО-172.5, опублик. 1976.
2.Патент Великобритании № 150885, кл. б lA, опублик, 1978.
Л
b,d
ь/,
)
Сч
W
J
1
37
38
|55Фиг.}
f
di
аз
Ог
ац
/7
li
f
A2
С Д {С Д c Д jc Д I с p
7 V /V / / / / 4/
X
Xy
Фиг. 5
а
Фиг. 6
Щ
П Т2
П W 3 0 7 6
5 i 3 Z
SU802972199A 1980-05-23 1980-05-23 Контроллер с переменным приоритетом SU907550A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU802972199A SU907550A1 (ru) 1980-05-23 1980-05-23 Контроллер с переменным приоритетом

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU802972199A SU907550A1 (ru) 1980-05-23 1980-05-23 Контроллер с переменным приоритетом

Publications (1)

Publication Number Publication Date
SU907550A1 true SU907550A1 (ru) 1982-02-23

Family

ID=20914140

Family Applications (1)

Application Number Title Priority Date Filing Date
SU802972199A SU907550A1 (ru) 1980-05-23 1980-05-23 Контроллер с переменным приоритетом

Country Status (1)

Country Link
SU (1) SU907550A1 (ru)

Similar Documents

Publication Publication Date Title
US4451881A (en) Data processing system bus for multiple independent users
US3983540A (en) Rapid bus priority resolution
US3818447A (en) Priority data handling system and method
US5218703A (en) Circuit configuration and method for priority selection of interrupts for a microprocessor
US3470542A (en) Modular system design
US4152764A (en) Floating-priority storage control for processors in a multi-processor system
US4591981A (en) Multimicroprocessor system
EP0848332B1 (en) Unit for arbitration of access to a bus of a multiprocessor system with retry ability
US4675812A (en) Priority circuit for channel subsystem having components with diverse and changing requirement for system resources
US3766526A (en) Multi-microprogrammed input-output processor
EP0327203B1 (en) NxM arbitrating non-blocking high bandwidth switch
US4535453A (en) Signaling input/output processing module for a telecommunication system
US5526496A (en) Method and apparatus for priority arbitration among devices in a computer system
SU907550A1 (ru) Контроллер с переменным приоритетом
US4065639A (en) Synchronous transmission control system
EP0118670B1 (en) Priority system for channel subsystem
US5692136A (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
US5170483A (en) System having constant number of total input and output shift registers stages for each processor to access different memory modules
US4467413A (en) Microprocessor apparatus for data exchange
SU1128257A1 (ru) Многоканальное устройство дл приоритетного подключени источников информации к общей магистрали
SU1144099A1 (ru) Микропрограммное устройство дл ввода-вывода информации
RU1837316C (ru) Устройство дл распределени задач в вычислительной системе
SU1451713A1 (ru) Адаптивна система обработки данных
SU1621029A1 (ru) Электронна вычислительна машина дл ускоренной обработки запросов прерываний
SU1539787A1 (ru) Микропрограммное устройство дл сопр жени процессора с абонентами