Многоуровневая подсистема обработки прерываний
Изобретение относится к средствам вышслительной техники и может быть использовано при создании мультипроцессорных систем, R частности управляющих мультипроцессорных систем повышенной надежности. Цель изобретения - повышение быстродействия при идентификации и обслуживании экстренных запросов. Подсистема содержит контроллеры прерываний, системный блок прерываний, содержащий контроллер прерываний, мультиплексор , шифратор и блок памяти.и ретрансляторы 7, каждый из которых содержит элемент задержки, элемент И-ИЛИ, демультиплексор, дешифратор, счетчик, элемент ИЛИ и инвертор. Подсистема обработки прерываний обеспечивает обработку запросов прерываний каждого из процессоров системы, работающих в автономных режимах , и обработку запросов прерывания системы в процессоре. При этом подсистема обеспечивает идентификацию запроса в минимальное и гарантированное при любых условиях работы системы время. 3 ил. с S / с
COIG3 СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (1)g G 06 F 9/46
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСНОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
flPH ГКНТ СССР (21) 4442766,/?4 (22) 20.06.88 (46) 30.01.91. Бюл. Р" 4 (72) О.Б.Сенцов (53) 681.325(088.8) (56) Заявка Японии h 61-3>904, кл. G 06 F 15/16, 1986.
Патент CUlA Р 4644465, кл. G 06 r 9/46, 1987. (54) МНОГОУРОВНЕВАЯ ПО/(СИСТЕМА ОБРАБОТКИ ПРЕРЫВАНИЙ (57) Изобретение относится к средствам вьг»ислительной техники tt может быть использовано при создании мультипроцессорных систем, в частности управляю»»их мультипроцессорных систем повьппенной надежности. Пель изобретения — ant»» »»»tent»t»e быстро;ействия при идентификации и обслужиИзобретение относится к средствам вычислительнои техники и может быть использовано при c 11ель изобрете»»ия — >»овьп>»е»»т»е быстродействия ири идентифика»»ии и обслуживании экстре иньг. за»»рос о»» прерывания и расширения. lia фиг. 1 предста»>лена топологическая структура мульт»»процес сорной системы ре".ëüíîãî t>t>e. .ttttt::,;> гост.аBe которой функционир < т .лн >гоуровневая подсистема обраго: t t. t»t ерыва„„SU„„1624448 А 1 вании экстренньгх запросов. Подсистема содержит контроллеры прерываний, системный Г лок прерываний, содержащий контроллер прерываний, мультиплексор, шифратор и блок памяти и ретрансляторы 7, каждый из которых содержит элемент задержки, элемент И-ИЛИ, демультиплексор, дешифратор, счетчик, элемент ИЛИ и инвертор. Подсистема обработки прерываний обеспечивает обработку запросов прерь»ваний каждого из процессоров сист мы, работаю»»их в автономных режимах, и обработку запросов прерывания системы в »троцессоре. При этом подсистема обеспечивает идентификацию запроса в минимальное и гарантироват»ное при любых условиях работы системы время. 3 ил. ний, на фиг. 2 — Ayt ttttttональная схема подсистемы обработки прерываний; на фиг. 3 — функ» »»ональная схема системного блока прерываний. Мультипроцессорная система (фиг.1) содержит процессоры 1, системное запоьплнаю»»ее устройство 2 (ЗУПВ), блок 3 управления об»>лмт» ресурсами 3,системный блок 4 прерываний, г»с емную магистраль 5. Подсистема обработки прерываний (фиг.2) содержит сис гt >tt»t t»t блг к 4 прерываний, систе»»иу}> 1<»I ttc граль 5, контроллеры ирер»и иний 6, ретран1с) 244<38 слят(ры 7, клжтц,tt< iiэ которых сoj И-ИЛИ Ч, демультиплексор 1((, ден((Фрлтор 11, счетчик 1?, .>лемент ИПИ 13 5 и инвертор 14. Подсистема ссн(ержит группу вх< дов 15 подсистемы для экстренных 3;11(po сов, выход 16 »апретл смеltfl злдатчика подсистемы группы входов 17 текущих запросов ттодгистемы, ни(вы 18 данН! 1х подсистемы, входы 19 по!<твержде— ния запрося подсистемы, выходы 20 о6(него эапрогл it(i;rcitcтемы. Сис темный 6лок прерываний (Лтт г. 3) годер кит контроллер прерываний ?1, мультиплексор ?2, щифрятор ?3, 6пок 24 памяти. I;oäñèñòåìB сбработки прерываний ф нкциОни13>< pт B гОстлве мультипро gp цессорной сис гемы и Обеспечивает ее эффективную рлботу в масютл6е релль— ного времени. Мул!,типроцессорнля система (фиг.1) состоит иэ процессоров 1, ко горые в зависимости от ее конкретно- 25 гo испольэоват(ня могут быть, hëê I(eI3òðBëüíûìH процессорами, образуюн(нми вычислительнук) подсистему, так и процессорами ввода-вывода,о6разуюн(имы подсистему вводл-вывода в лю6ом c.ool ftovfettTIH cite.1 pwf«) гn эапомттнлющего угт— ройствл ? произнольной выборки, исполь.туемого в режиме коллективного дос I упл, 6чокл 3 управления общими pecypcB(!It, который выполняет функцтнт 3 ) системного арбитра и с 6еспечивлет доступ пю6ого и..» процессорон 1 к о6щегo(òîB тия гист(мы нл:та(1:< >, момент 40 !»ре "" ни, !(<3 I Opne 1«" "11 T i(If>OI,ecсо?) системным ресурслм в соответствии с установленной структурой приоритетов, системный блок 4 прерываний и магистраль 5, которля ог)ъединяет Вср устройства системы по магистрлльному (3(tint»rll. ми ф.!If«t)f,ff»(! ffr.l<»>»BBO гсB (>ост<рттяГИС 1Л (I P 13 I; P < Рl IH >1 К(> ГOPTI<. . 11 НИ ш (и(э yv)ò< . iT 11Р ои 3 >3< Il 1(i 13> НР (тм< I>H IIPI(во эпики Онешти OTtp(, « л 1!1(ь(х со6ытит! .>типо B(> внеi!Tif<. и; рел (<н-.нш! ми устройс t влми, (6() в г(и Те (но гр де сис(е((131(«t((:редствлми, о р,«.>n.t.t >in,ке ни Ой структурс:й приоритетов »л((;; >с < в иpppl, 13 с И с T e T I Í OÌ г> С! ж и. .! е т !т г) К а„ (1(Н >х O ()— V(IIX 3B itP<)< Оl» I» (1()ОЦ(< ° .C РЫ НЛ ОДЯ щиегя в Bт»тон<>м> >к ре кимах,;<осттриятие и рлгпреjT("с fir< гиги,тлов подтвер ;TpftHIT прер! и»,3 тия < т нрс>1 ессоров 1, f»l тра6от(.л и (!" 1«1 (л сре;(стнам процесc Подсистема о6ряГотки прерываний (фиг.2) i< лрхитс)ктуре ыупьтипроцгссорной сис гемы является функционально закон енным структурным элементом, обеспечивлюн(им 1!oj> Ti(ржку режимл ре ального време(и(, кс торым по cyt>(ecòBó и Определяе гся уровень упрлвляюнн х функций вгей сттг темы. Географически блоки подсистемы о6рл6отки прерь!влний рассредот<)чгны по у(.тройствам систеМы, однакс г;;ит« тно их назначения, взаимосвязи и вэлимодействие определяют их функцт(онлл(н(е и структурное единство и В< н>етт(31 I1plI ь С CTI(О(I t>pit(»Ë Ye,(.! >, 1 .r — ли6О запроса прс ры«->! <1 (еос .< о;(!<13 из 5 < >Нт ) Г)3(ЛС! Р(>В 1! Р С ;>! 1>3» !< (> )О(:(-ор c>(г 1 c l3plIopir1 тов o )< it::.(>ñ,IF с-..о(- оВ 1 тякжс,дp .T их тр< ц<3 -(; )н, претенттуюг.,< .; В;1 3 >1!Iblf! 1!<ЗЫС .Н Т и,", . <Л(т<С 3,) )((IT.. ) Р ЧЛ С T 1624448 ности, если приоритет работающего процессора ниже, то время обработки запроса прерывания увеличивается на время захвата магистрали, если вьппе— время увеличивается на неопределенную величину. Подсистема обработки прерываний позволяет обрабатывать определенные типь1 запросов на прерывание с минимальными временныии задержками. Подсистема содержит шесть активных узловконтроллеров прерываний, способных непосредственно воспринимать запросы и осуществлять их приоритетный анализ. Сигналы запросов прерываний поступают ня запросные входы 1S, 17 контроллеров. В пределах каждого контроллера приоритет запроса определяется номером запросного входа на который он поступает, самый высокий приоритет имеет первый вход, самый низкий — последниИ. Конкретное распределение этих сигналов определяется для каждой конкретной системы в соответствии с их значимостью, как это обычно принято. Однако распределение сигналов запросов по контроллерам подсистемы имеет следующие особенности. На запросные входы контроллеров 6 подключены группы запросов, которые инициируются событиями регулярного характера, кяк вс внешней управляемой среде, тяк и в системной среде. Эти запросы обрабатываются тем процессором 1, в состав которого входит контроллер 6. Обработка выполняется с внеинтерфейсным вектором, а подпрограммы обработки размещаются во внутренней памяти процессора 1. Как правило, обработка гяких запросов не требует обращения к общесистемным ресурсам, поэтому время обработки полностью определяется приоритетом запроса в контроллере 6. Если же для обработки запроса прерывания требуется доступ к общесистемным ресурсам, то и в этом случае время реакции системы ня запрос не увеличивается, тяк кяк обрабатывается прерывание с внеинтерфейсным векторои. Однако, при этом возможно увеличение времени выполнения подпрограммы обработки прерывания связанное с необходииостью выполнения процедуры захвата магистрали 5 через блок 3 управления, но поскольку ня запросные входы контроллеров 6 подключаются только яялросы регулярных сляйттлт, то это обстоятельство легко учесть при распределении приоритетов. При поступлении на вход 17 запроса контроллер 6 в соответствии с вложенной структурой приоритетов формирует на canes выходе сигнал, которыи через ретранслятор поступает ня выход 20. При поступлении с входя 19 сигнала подтверждения прерывания, который через ретранслятор 7 приходит на вхо,< контр ллеря 6,последний выставляет на шине данных вектор прерывания, приняв вектор прерывания, процессор 1 выходит на подпрограмму обработки. Ня запросные входы контроллера 21, входящего в состав системного блока 4 прерываний, подключены запросы прерываний инициируемые событиями нерегулярного характера, которые должны обрабатываться с минимально возможными задержками. Запросы иогут 25 формироваться как в системной среде, так и в среде управляемых объектов, как правило эти события идентифицируются с аварийными состояниями. В объекте управления, например, это 30 может быть критическое состояние объекта, когда необходимо с максимальной скороСтью выполнить действия, предотвращающие аварию объекта. При поступлении сигналя запрося прерывания ня соответствующий вход 15 контроллера 21 последний в соответствии с вложеш ой стр;ктурой приоритетов формирует ня своем выходе сигнал общего запрося, кото40 рый поступает ня вход чтения блока 24, на другие входы блока 24 поступают сигналы разрешения доступа к общественным ресурсам с системной магистрали 5, которые формируются в 45 блоке 3 управления общими ресурсами и определяют номер процессора 1, активного в данный момент на магистрали 5. Таким образом, в соответствии с кодовой таблицей, зашитой в блоке 24, сигнал общего запроса с входа поступает ня тот из выходов, который определен кодом на общей магистрали, одновременно ня выходе блока 24 появляется активный сигнал, который, поступая ня вход блока 3 управления общими ресурсами, блокирует на время воэможность смены активного на магистрали 5 процессора 1. Благодаря этому сигналу пск7 16?4448 8 лючяется потеря в системе запроса прерывания по причине совпадения во времени процессов обработки запрося на первой стадии и смены активного на магистрали 5 процессора 1 далее, когда активный процессор 1 примет вектор прерывания и выйдет на подпрограмму обработки, он установит монопольный режим, при котором смена активного процессора 1 невозможна в течение всего времени обработки, необходимость в сигнале запрета отпадает, С одного из выходов блока 24 сигнал общего запроса поступает через ретранслятор 7 в активный процессор 1. Последний формирует сигнал подтверждения, который поступает на соответствующий вход мультиплексора 22 в системном блоке 4 прерываниг). На адресные входы мультиплексора 22 поступает двоичный код с выхода шифратора 23, входы последнего подключены к линиям общей маги10 25 стряли, поэтому двоичный код на выходах отражает номер активного процессора 1. Таким образом, сигнал проходит на выход мультиплексора 2?, с 30 которого поступает на вход контроллера 21. По этому сигналу контроллер 21 выставляет ня г))ину данных вектор прерывания, который и воспринимаеfcH активным процессором 1, так кяк именно он подключен к магистрали 5. Ретрансляторы 7 предназначены для выбора и передачи сигналов с входов 19, распределения и передачи сигналов на выходы ?0 и обеспечения режима вло-40 женных прерываний при подключении блока 4 прерываний. Входными сигналами для каждого ретранслятора 7 являются сигналы общего запрося с системного блока 4 прерываний и с собст- 45 венного контроллера 6 прерываний, причем первый поступает через элемент 8 задержки на третий вход, я второй на первый вход элемента И-ИЛИ 9. Сигнал запроса с системногo блока 4 прерываний поступает также на вход прямого счета счетчика 1?, устанавливая его первый выход в состояние "1". В результате на выходе элемента ИЛИ также установится уровень "1", который разрешит прохождение сигналя с элемента 8 задержки через элемент И-ИЛИ 9. A уровень ""0" с выходя ин)«ерторя 14 одновременно запрет))т прохож)<ение сигналов запроса с контроллера 6. Таким обра 3oм, сигнал эя)«роса прерываний с системногo бл< к;1 4 прерываний получает пр<)орит< т ?0„ сигнал подтвержде))ин с входа 19 поступает на демульти)«лексор 10, пер,вый выход которого подключен к входу контроллера 6, а второй — к входу системного бл<«ка 4. При этом, если запрос поступил с системного блока 4, то уровень О< ня выходе инвертора 14, подключенного к упрям нющему вхо— ду демультиг«лекс<эра 10, вк«)юнит канал вход-выход ?;)емультиплексоря 10 и сигнал поступит ня системный блок 4 прерываний. Уровень "0" с 1<1)хода инверторя 14 поступает -.àêæå «!ë: ïð «âëÿ)<)ët))t вход дешифраторя 11, ряэрещян егo работу, входы которого поди.«)юче);ьt ))а пп)ну дапных процессора, 1«еши()эрятор 11 г)ястроен г)я код с<эо)г«етствую)<)ий команде око«)чан))я подпрограмм») обработки прерыг<яния. Таким образом, после обработки прерывания последняя коMBHJlà H п<эдпрограмме улянливаетсн дешифратором 11 и сигнал с его выхода поступает ня вход обратного счета с )етчикя 1?, обнуннн его выходы и, следовательно, восстя))аг))ивяя каналы контроллера 6. Счетчик 12 и элемент ИЛИ 13 позволяют обеспе )ить вложеннос fl прерываний с систе))ног<э бп< кя 4. Тяк, если во время (эбработки запроса с системного блока 4 поступает еще запрос, то код ня ных<;де c -)етчикя 12 автоматиче «,и уполичиваетсн на единицу, удерживал состояние выхода элемента ИЛИ 1 3. После о(«работки нового запрося через дешифратор 11 счетчик 12 умень)111)т код и t единицу, сохранив при это) «с«< т<эячие в< )хода элемента ИЛИ 13, и только ïoe.le обраб- тки первого -яп) о "1 оконч:<тельно сбросится, отк««ючг«в сис ) еы««ь)11 блок 4. Подсистема обработки г<рерывяний обеспечивает обр «ботку эапросон.:рерывания каждого и 1 процессоров 1 системы, работающих 11 автономных режимах и обработку запросов прерывания систе tt« l«)«pn«eccope 1, выПОЛНЯКЭЩЕМ f< ДЯ)«11)111 .!оМЕНТ t))<, НКЦИИ контроллгря сне«f . «L« t T е. ряботаюt«tee v в сис темн<эм р",1«м(1 . Г1р)) этом обеспечи влет иг(е и }1< > }клцин 3;, проса . / поступающего нл сист . 1»lilt! блок ч прерываний, в минимлль} Ре и глрлитирс— ванное при любых усси виях рлботы системы время, тлк клк запрос обс: уживается пронес:cnðnì 1, вклю .еьи}ым в данный момент на t}1I-ffc Tp17b 5 (,от— сутствуют процедуры выбора процесгора и захвата млгистрлл}}). Ф о р м у л л и и о б р е т е н и я МНОГОурОВНЕВЛ}} I .<>JIÑÈC TPÌÿ ОбрабОтJ ки прерь}вл}}ий сод(ржлг(ля гр «пп < 15 контроллерс в ITpppbtf»л Пй, группы запросных входов ка>;;дог о из кс>торь}х я}»ляются группами входов секущих 111}pncn» прерывания ItoJ ГЕМЫ, ДЛЯ Г}ОДКП}И ВХ оду С с} ЕТЧI}Л» И > Гр Г 3 >7<«»с ft 1 1(1 держки к 11(p»(}!у 1»х >д > -1»ем< и с;} И-ИЛИ, вьгход (>.1<>кл }(лмнти r l!C ге}п} г о блока !!pep! tf»H}t. и я»гtf Tpt fbi и подь}}л><> "н ь о7}} о}}м<31} }}ому Вы ход>у ши} ы vllp }3J" } Я обив}ми pf г, рСЛЛВI ПОДСИС TP«l l, . >< ПР,, Ь. 1}<>с}Е Jtf!J} !< сис гемной млгис Tp1 fIng!c»(Tpt}bl с; .- .»с:и с пс рным выходгм;}емультиl Hpêcорл с OTâåTcòвуюшеr с ре1р,.нспято},3 г(<упиы, вь}хn71«1 шифрлторл I< ги-.темном блоке прсрывлн cop;}i!lip}lbl г л}<рес}<ь}л}1}»ходлмп мультиплексора, »ыхо. 1.<.тс р..г< подключен к 1»х(;! }1(»ит}»с>р;«д<-.-".Пя прер} }в влния контро -<}ерл прерь}вл}}ий г}} .тем}<ого блок1 HpPpf;t ГОР 013 ГPУппы ".тРl < >l t»l Гх >, 1 }<(л1vJ! ь ги пп кс пра кл>к; (1. ргтр7}tcJTJ}торл l pyltt! tTc1r(KJIJ(>»: 1 м ретрли— CЛя Гоpe Гр,ип<Ь ПС(I.,I<3 с.} Ы К ШИНЕ ПЛН-. ны. общей мзгпс грал 1, выхс и д IIJHhраторл псдклю И-И.1И и <7ходу ии»(р Toð1 свo(го ретра Нс 7я1 Рр;3 } j>vt>l! I I J»l lх n < ин}»срторл соеди}}е}} с Tpo<7! Ij>i}>l< ttt. }<: (37 Iti « РОИ С,>Е}(И}l< }» Г }« }»;Р <Л}И}< .. }Ы}1 ВХ Р;(С Л< lЕ}1 }}! 1 ill<Ã}(l,< r P;l i l< I()I!!Pl <, Р< транс."}ятn;>;! }-<31 п} ы! 624440 (ос гавите{{ь, 1. ку;{рви t{ Те-.:.род 1ооре-к. (p 1. (а{ .о, j t.t;; л Редактор Л., 1опии{{ Заказ 190 Tt{ f) q;i ll ив{{с пс В1{{".. .ПИ 1 осударств{ в{«,г . ко.tttтета {{ tt <>f 1 етения{{ и открв{т:{я{{ {{р { ГК11Т СССР. 11 3,)З ., !1< сква, Ж- 35, Рауш{ как:{аб., д. {/5 Производствеипо-t{ .{{ {т:. ье t j: кокбии,{т "!1;{те{{т, г, { г род, ул. Гагарииа, 101