Изобретение относитс к вычислительной технике и может быть использовано дл организации прерывани при проектировании специализированных микро-ЭВМ. Цель изобретени - повышение надежности обслуживани запросов путем уменьшени веро тности их потери. На чертеже показана структурна схема устройства. Устройство содержит регистры 1 и 2, блок 3 приоритета, шифратор 4, схему 5 сравнени , группу элементов И 6, группу выходов 7 устройства, дешифратор 8, группу информационных входов 9 устройства, регистр 10, группу кодовых входов 11 устройства , элемент И 12, вход 13 чтени устройства , элемент ИЛИ 14, элемент И 15, вход 16 записи устройства, элемент ИЛИ 17, триггер 18, вход 19 запуска устройства, триггер 20, элемент И 21, тактовый вход 22 устройства, триггер 23, элемент 24 задержки , сигнальный выход 25 устройства, опросный вход 26 устройства, выход 27 прерывани устройства. Устройство работает следующим образом . В начальный момент работы (например, после включени напр жени питани ) регистры 1 и 2 должны быть обнулены, а триггер 18, служаший дл обеспечени запрета прерывани , установлен в нулевое состо ние , разрешающее прием запросов прерываний в регистр 2. Установка начальных условий в устройстве позвол ет микропроцессору начать выполн ть рабочую программу с заданной команды. В противном случае микропроцессор обрабатывает ложные сигналы прерывани , искажаетс выполнение рабочих программ. Сигнал «Запуск на входе 19 устанавливает триггер 20 в единичное состо ние. Сигнал «1 с выхода триггера 20 через элемент ИЛИ 14 открывает группу элементов И 6 и разрешает прохождение синхроимпульсов с входа 22 на управл ющий вход дешифратора 8. Единичный выход триггера 20 также разрешает установку триггера 18 в нулевое состо ние, перевод тем самым регистр 2 запросов прерываний в режим, когда состо ние выходов регистра повтор ет состо ние его входов. Таким образом, в процессе начальной установки образуетс схема, состо ща из регистров 1 и 2 запросов прерываний, блока 3 приоритета прерываний, шифратора 4, группы элементов И 6 и дешифратора 8, в которой поочередно сбрасываютс все триггеры регистра 1, причем длительность импульса сброса определ етс суммарным временем распространени в указанных блоках . Импульс сброса стробируетс импульсом синхронизации (вход 22) через элемент И 15 и дешифратор 8. В процессе начальной установки сигнал «О с нулевого выхода триггера 20, поступающий в микропроцессор по выходу 25, запрещает выполнение основной программы , перевод микропроцессор в начало микропрограммы начального запуска программы . Триггер 20 через элемент 24 задержки также запрещает прием сигналов запросов прерывани по входам 9 на регистр 1 запросов прерывани в момент запуска устройства . В микропрограмме начального запуска в одной из первых микрокоманд микропроцессор устанавливает начальный код маски в регистр 10 (вход 11) управл ющим сигналом по входу 16. После процесса начального запуска, если на входах 9 нет ни одного запроса, то элементы И 6 закрыты и сигнал прерывани (выход 27 устройства) не вырабатываетс . Программа микропроцессора выполн етс , не прерыва сь. Допустим, что по одному из входов 9 пришел запрос на прерывание. Он запоминаетс на соответствующем триггере регистра 1 и далее проходит через регистр 2 на блок 3, так как триггер 18 сброшен. Информаци с регистра 2 поступает через блок 3 приоритета прерываний и шифратор 4 на элементы И 6 и схему 5 сравнени . Код приоритета, поступивший на схему 5 сравнени , сравниваетс с кодом, записанным в регистр 10. Если код с шифратора 4 больше кода, хран щегос в регистре 10 маски, то схема 5 сравнени вырабатывает сигнал, который разрешает выработку сигнала прерывани программы. Если же код с шифратора 4 меньше или равен коду с регистра 10 маски, то схема сравнени запрешает выработку указанного сигнала. При совпадении внешнего сигнала опроса прерывани (вход 26) и сигнала синхронизации (вход 22), поступающих из микропроцессора , на выходе 27 по вл етс сигнал прерывани программы. Причем, длительность его определ етс периодом частоты синхронизации. Сигнал на выходе 27 по вл етс по переднему фронту синхроимпульса и устанавливает триггер 18 в положение, запрещающее прием новых запросов на прерывание в регистр 2. Триггер 18 также подготавливает триггер 23 к сбросу в исходное состо ние. Следующим синхроимпульсом происходит сброс триггера 23 и окончание сигнала прерывани программы. Предварительно по внешнему сигналу «Запуск (вход 19) устройство дл прерывани программ вырабатывает сигнал запрета (выход 27), поступающий в микропроцессор в блок микропрограммного управлени . По этому сигналу в микропроцессореThe invention relates to computing and can be used to organize interruptions in the design of specialized micro-computers. The purpose of the invention is to increase the reliability of service requests by reducing the likelihood of their loss. The drawing shows a block diagram of the device. The device contains the registers 1 and 2, the priority block 3, the encoder 4, the comparison circuit 5, the group of elements AND 6, the group of device outputs 7, the decoder 8, the group of information inputs 9 of the device, the register 10, the group of code inputs 11 of the device, the element 12, input 13 reading device, element OR 14, element 15, input 16 recording device, element OR 17, trigger 18, input 19 launch device, trigger 20, element And 21, clock input 22 devices, trigger 23, delay element 24, alarm device output 25, device interrogation input 26, device interrupt output 27 . The device works as follows. At the initial operation time (for example, after switching on the supply voltage), registers 1 and 2 must be reset to zero, and trigger 18, which serves to ensure the interruption is disabled, is set to zero, allowing reception of interrupt requests to register 2. Setting the initial conditions in the device allows the microprocessor to start executing the work program with a given command. Otherwise, the microprocessor processes false interrupt signals, the execution of work programs is distorted. The "Run at input 19" signal sets trigger 20 to one state. The signal "1 from the output of the trigger 20 through the OR element 14 opens a group of elements And 6 and allows the passage of clock pulses from the input 22 to the control input of the decoder 8. The single output of the trigger 20 also allows the trigger 18 to be set to the zero state, thus translating the register 2 requests interrupts to the mode when the state of the outputs of the register repeats the state of its inputs. Thus, during the initial setup, a circuit is formed consisting of registers 1 and 2 interrupt requests, interrupt priority block 3, encoder 4, AND 6 and decryptor 8 groups, in which all triggers of register 1 are alternately reset, and the reset pulse duration The total time of propagation in the indicated blocks. The reset pulse is gated with a synchronization pulse (input 22) through element 15 and decoder 8. During the initial installation, the signal "O from the zero output of the trigger 20, which enters the microprocessor at output 25, prohibits the execution of the main program, the transfer of the microprocessor to the beginning of the initial program microprocessor . Trigger 20 through delay element 24 also prohibits reception of interrupt request signals on inputs 9 to interrupt request register 1 at the time of device startup. In the start-up firmware in one of the first micro-commands, the microprocessor sets the initial mask code to register 10 (input 11) with the control signal at input 16. After the initial start process, if there are no requests at inputs 9, then And 6 elements are closed and the interrupt signal (device output 27) is not generated. The microprocessor program is executed without interruption. Suppose that one of the inputs 9 came a request for interruption. It is stored on the corresponding register trigger 1 and then passes through register 2 to block 3, since trigger 18 is reset. Information from register 2 enters through interrupt priority block 3 and encoder 4 on elements 6 and comparison circuit 5. The priority code received by comparison circuit 5 is compared with the code recorded in register 10. If the code from encoder 4 is greater than the code stored in mask register 10, then comparison circuit 5 produces a signal that permits the generation of a program interrupt signal. If the code from the encoder 4 is less than or equal to the code from register 10 of the mask, then the comparison circuit prohibits the generation of the specified signal. When the interrupt interrogation signal (input 26) and the synchronization signal (input 22) coming from the microprocessor coincide, a program interruption signal appears at output 27. Moreover, its duration is determined by the synchronization frequency period. A signal at output 27 appears on the leading edge of the sync pulse and sets trigger 18 to prohibit the reception of new interrupt requests to register 2. Trigger 18 also prepares trigger 23 to be reset. The next clock pulse resets trigger 23 and ends the program interrupt signal. Preliminarily, by an external start signal (input 19), the device for interrupting programs generates a inhibit signal (output 27), which enters the microprocessor in the firmware control unit. By this signal in the microprocessor
запрещаетс выполнение рабочей программы , и микропроцессор переходит в начало микропрограммы начального запуска. Начальна микрокоманда выполн етс до тех пор, пока сигнал запрета поступает в микропроцессор . По окончании действи сигнала запрета микропроцессор начинает выполн ть микропрограмму начального запуска. Поскольку по этому сигналу происходит обнуление устройства, то микропроцессор в микропрограмме считывает с устройства нулевой код вектора прерывани по выходам 7, используемый дл начального запуска программы .the execution of the work program is prohibited, and the microprocessor moves to the beginning of the startup program. The initial microinstruction is executed as long as the inhibit signal enters the microprocessor. At the end of the inhibit signal, the microprocessor starts executing the initial startup firmware. Since the device is reset by this signal, the microprocessor in the firmware reads from the device the zero code of the output interrupt vector 7, which is used for the initial start of the program.
Дл определени запросов на прерывание микропроцессор в конце микропрограммы почти каждой команды вырабатывает сигнал опроса прерывани (выход 25). Запрос прерывани , зафиксированный на регистре 1 и прошедший блок 3 приоритета, совместно с синхроимпульсами (вход 22) устанавливает триггер 23 в состо ние активного прерывани (на врем цикла выполнени одной микрокоманды) и триггер 18 в «1. Триггер 18 блокирует любые последуюш,ие запросы на прерывание. Сигналы запросов, поступившие во врем обработки текущего приоритета , запоминаютс на регистре 1.To determine interrupt requests, a microprocessor at the end of a microprogram almost every command generates an interrupt polling signal (output 25). The interrupt request, fixed on register 1 and past priority block 3, together with the clock pulses (input 22) sets the trigger 23 to the active interrupt state (for the cycle time of execution of one microcommand) and the trigger 18 to "1. Trigger 18 blocks any subsequent interrupt requests. The request signals received during the processing of the current priority are stored in register 1.