Claims (1)
Zastrzeżenie patentowePatent claim
Układ zmiany adresu obsługi przerwania niemaskowalnegt dla mikroprocesora ośmiobitowegt, stanowiący dodatkcwy układ współpracujący z szyną adresową, danych i sterującą mikrtktmppUera traz z szyną danych pamięci tperacyjnej, znamienny tym, że składa się z bloku wykrywania cyklu pobrania rczkazu /BrCPR/, bloku generowania ktdu rozkazu /BGKR/ i bloku blokowania pamięci tperacyjnej /BBP/, przy czym kolejne wejścia /IAO/ do /IA15/ bloku wykrywania cyklu pobrania rozkazu /BWCPR/ połączone są kolejno z liniami adresowymi, odpowiednio /AO/ do /A15/ szyny adresowej, a wejście /M1/ tego bloku połączone jest z linią stanu cyklu pobrania rozkazu /-Ml/ milu-oprocesora, zaś wyjście /RESTART/ tego bloku jest połączone Jednocześnie z wejściem blokowania /IBP/ bloku blokowania pamięci operacyjnej /B3P/ traz z wejściem bloku generowania kodu rozkazu /BGIK^R, natomiast wyjścia /003/ do /0D5/ bloku generowania kodu rozkazu /BGKR/ są połączone z liniami odpowiednio Z>3/ do /D5/ szyny danych /03/, której linie /00/ dt /D7l są połączone odpowiednio dt wyjść /GPOi do /0P7/ bltku blokowania pamięci operacyjnej /BBP/, którego wejścia /IPO/ do /IP7/ są połączone odpowiednio z liniami danych /DPO/ do /DP7/ pamięci operacyjnej.A circuit for changing the address of a non-maskable interrupt service for an eight-bit microprocessor, which is an additional circuit cooperating with the address, data and control bus of the micrtktmppUera and also with the temperature memory data bus, characterized by the fact that it consists of the command fetch cycle detection block / BrCPR /, the command generation block / BGKR / and temperature blocking block / BBP /, the subsequent inputs / IAO / to / IA15 / command download cycle detection / BWCPR / are sequentially connected to address lines, respectively / AO / to / A15 / address bus, and the input / M1 / of this block is connected to the / -Ml / milu-processor command cycle status line, and the / RESTART / output of this block is connected Simultaneously with the blocking input / IBP / working memory blocking block / B3P / also with the input of the code generation block of the command / BGIK ^ R, while the outputs / 003 / to / 0D5 / of the command code generation block / BGKR / are connected with the lines Z> 3 / to / D5 / data bus / 03 /, respectively no / 00 / dt / D7l are connected, respectively, dt outputs / GPOi to / 0P7 / blocking memory block / BBP /, whose inputs / IPO / to / IP7 / are connected to the data lines / DPO / to / DP7 / operating memory, respectively .
Przedmiotem wymalazku jest układ zmiany adresu obsługi przerwania niemaskowalnegt mikroprocesora ośmiobitowego, w szczególności mikroprocesora Z80 lub Jegt tdpcwwednika, znajdujący zastoscwanie, zwłaszcza w układach mikrokomputerów z mikroprocesorem Z80, w których komórka pamięci o adresie 66H jest wykorzystywana do przechowywania danych, a nie program.The subject of the invention is a system for changing the address of an interrupt service of a non-maskable eight-bit microprocessor, in particular the Z80 microprocessor or the Jegt tdpc, for application, especially in microcomputer systems with a Z80 microprocessor, in which the memory cell with the address 66H is used for data storage, not a program.
Mikroprocesor ośmiobitcwy, zwłaszcza Z80, posiada wejście zgłoszenia przerwania niemaskowwlnego. Pt zgłoszeniu tego przerwania mik-oprocesor automatycznie przechodzi dt realizacji programu rozpoczynającego się w komórce pamięci operacyjnej o adresie 56H. W znanych systemach mikrokomputerowych opartych na rmkroprocestrze Z80, w których Jest wykorzystywane przerwanie nie maskota lne, ktmóóki pamęci o adresach 66H, 67H i 68H zawierają początek programu obsługi przerwania lub rozkaz skoku dt tego programu. Z kolei w mikrokomputerach z mikroprocesorem Z80, pracujących pod kontrolą systemu operacyjnego CP/M, obszar pamięci obejmujący komórkę o adresie 66H Jest przeznaczony dt przechtwywania danych. Z tego względu w komórce o adresie 66H nie można umieścić rozkazu wymaganego dla poprawnej obsługi przerwania niemaskowalnego. Dlatego też w trmwóanych mi.krtktmppterach zawiera jących mikroprocesor ośmiobitowy, zwłaszcza Z80 i pracujących pod kontrolą systemu operacyjnego CF/M przerwanie niemaskowalne nie może być wykorzystywane.The eight bit microprocessor, especially the Z80, has an input for a non-masked interrupt request. When this interrupt is reported, the microprocessor automatically proceeds to execute the program starting in the main memory location with the address 56H. In known microcomputer systems based on the Z80 rmcroprocessor, a non-mascot interrupt is used, which memories with addresses 66H, 67H and 68H contain the start of an interrupt handler or a jump command dt of this program. In turn, in microcomputers with the Z80 microprocessor, working under the control of the CP / M operating system, the memory area containing the cell with the address 66H is intended for data retrieval. For this reason, the cell with the address 66H cannot contain the instruction required for the correct handling of the nonmaskable interrupt. Therefore, in the case of these shortcuts containing an eight-bit microprocessor, especially the Z80, and running under the CF / M operating system, a non-maskable interrupt cannot be used.
Układ zmiany adresu obsługi przerwania niemaskowalnego dla mikroprocesora ośmiobitowegt według wynalazku stanowiący dodatkowy układ współpracujący z szyną adresową, danych i sterującą mikrtkomppuera oraz z szyną danych pamięci operacyjnej, charakteryzuje się tym, że składa się z bltku wykrywania cyklu pobrania rozkazu, bloku generowania ktdu rozkazu i bloku blokowania pamęci operacyjnej, przy czym wejścia bltku wykrywania cyklu pobrania rozkazu są połączone kolejno z liniami adrestwymi, a wejście tego bloku połączone jest z linią stanu cyklu pobrania rozkazu mikroprocesora, Jednocześnie wyjście bloku wykrywania cyklu pobrania rozkazu jest połączone równocześnie z wejściem blokowania bloku blokowania pamęci operacyjnej traz z wejściem bloku generowania ktdu rozkazu, przy czym wejściaThe circuit for changing the address of a non-maskable interrupt service for an eight-bit microprocessor according to the invention, which is an additional circuit cooperating with the address, data and control bus of the microcomputer and with the data bus of the operating memory, is characterized by the fact that it consists of a block detection cycle of an instruction fetch, an instruction generation block and a block. blocking the operating memory, the inputs of the command fetch cycle detection block are connected sequentially with adress lines, and the input of this block is connected with the state line of the microprocessor instruction fetch cycle, At the same time, the output of the instruction fetch cycle detection block is connected simultaneously with the blocking input of the operating memory blocking block. together with the input of the command generation block, with the input
157 889 bloku blokowania pamięci połączone są odpowiednio z liniami danych pamięci operacyjnej, z kolei wyjścia bloku blokowania pamięci operacyjnej połączone są odpowiednio z liniami szyny danych mikroprocesora, natom^st wyjścia bloku generowania kodu rozkazu są połączone odpowiednio z liniami szyny danych mikroprocesora.The outputs of the latching memory block are connected to the main memory data lines, respectively, and the outputs of the main memory block are connected to the microprocessor data bus lines, respectively, while the command code generation block outputs are connected to the microprocessor data bus lines, respectively.
Blok wykrywania cyklu pobrania rozkazu analizuje stan linii adresowych i linii stanu cyklu pobrania rozkazu i w przypadku wykrycia stanu odpcoMadającego pobraniu rozkazu z komórki, uaktywnia swoje wyjście. Z kolei blok blokowania pamięci, w przypadku aktywnego stanu linii wejściowej, blokuje układ wyjściowy pamięci w taki sposób, że nie wysterowuje on linii danych mikroprocesora. Blok generowania kodu rozkazu, w przypadku aktywnego stanu linii wejściowej, wysterowuje swoje wyjścia dołączone do linii danych mikroprocesora, ustalając na nich kod rozkazu Jaki mikroprocesor pcbierze w tym cyklu. Zadaniem wygenerowanego kodu rozkazu Jest zmiana stanu licznika rożkaz<w na adres, pod którym umieszczony jest początek programu obsługi przerwania niemaskowalnego.The instruction fetch cycle detection block analyzes the state of the address lines and the instruction fetch cycle status lines and activates its output when it detects the state corresponding to fetching the instruction from the cell. In turn, the memory locking block, in the case of an active state of the input line, locks the memory output circuit in such a way that it does not drive the microprocessor data line. The command code generation block, in the case of the active state of the input line, controls its outputs connected to the microprocessor data line, setting on them the command code What microprocessor pcbie will in this cycle. The task of the generated command code is to change the state of the counter count <w to the address where the beginning of the nonmaskable interrupt handler is placed.
Frzedmiot wymalazku został bliżej objaśniony na przykładzie realizacji z mikroprocesorem Z80, przedstawionym na rysunku, na którym uwidoczniono schemt blokowy układu, z ideowym pokazaniem połączeń zewnętrznych i wewnętrznych poszczególnych bloków.The subject of the invention is explained in more detail on the example of an embodiment with a Z80 microprocessor, shown in the drawing, which shows a block diagram of the system, with a schematic presentation of external and internal connections of individual blocks.
Układ współpracuje z szynami: adresową, danych i sterującą mikroprocesora oraz z szyną danych pamięci operacyjnej. Układ składa się z bloku wykrywania cyklu pobrania rozkazu BWCFR, bloku generowania kodu rozkazu BGKR i bloku blokowania pamięci operacyjnej BBP, Wejścia IAO do IA15 bloku wykrywania cyklu pobrania rozkazu BWCPR są połączone kolejno z liniami adresowymi, odpowwednio AO i A15 szyny adresowej, a wejście IM1 tego bloku połączone jest z linią stanu cyklu pobrania rozkazu -M1 mikroprocesora Z80. Wyyście RESTART bloku BWCPR jest połączone Jednocześnie z wejściem blokowania IBP bloku blokowania pamięci operacyjnej BBP oraz z wejściem bloku generowania kodu rozkazu BGKR. Wejścia IPO do IP7 bloku blokowania pamięci BBP połączone są odpowiednio z liniami danych DPO pamięci operacyjnej. Wyyścia 0F0 do 0P7 bloku BBF połączone są odpowiednio z liniami DO do D7 szyny danych CD mikroprocesora. Wyjścia 0D3 do 0D5 bloku generowania kodu rozkazu BGKR są połączone odpowiednio z liniami D3 do D5 szyny danych DB.The system cooperates with the bus: address, data and control of the microprocessor and with the data bus of the operating memory. The system consists of the BWCFR instruction fetch cycle detection block, BGKR instruction code generation block and BBP main memory locking block, The inputs IAO to IA15 of the BWCPR instruction fetch cycle detection block are connected sequentially to the address lines, AO and A15 of the address bus, respectively, and the input IM1 of this block is connected to the status line of the download cycle of the instruction -M1 of microprocessor Z80. The RESTART output of the BWCPR block is simultaneously connected to the blocking input of the IBP of the blocking of the BBP operating memory and to the input of the instruction code generation block BGKR. The inputs IPO to IP7 of the blocking block of the BBP are connected to the data lines of the main memory DPO, respectively. The outputs 0F0 to 0P7 of the BBF are connected to lines DO through D7 of the microprocessor's CD bus, respectively. The outputs 0D3 to 0D5 of the BGKR instruction code generation block are connected to lines D3 to D5 of the DB, respectively.
Działanie układu Jest następujące. Układ PROM typu Κ565ΚΓ5, oznaczony na rysunku Jako U1, dekoduje stan linii adresowych A10 do A15, uaktywniając wrjście Q5 (sygnał -IAH) w sytuacji, gdy stan wszystkich tych linii określony jest wartością logiczną 0. Z kolei układ PROM typu K565RT5, oznaczony na rysunku jako U2, dekoduje stan linii adresowych AO do A8, uaktywniając wyjście Q6 (sygnał -IAL) w sytuacji, gdy na wejściach występują wartości logiczne odpcwwadające adresowi 66H. Sygnały wyjściowe obu układów PROM (-IAH oraz -IAL), linia adresowa A9 oraz Unia -M1 doprowadzone są do wejść AO do A3 układu komparatora 74LS85. Weeścia BO do B3 kor^^tora znajdują się w stanie określonym wartością logiczną 0.System operation is as follows. The PROM type Κ565ΚΓ5, marked as U1 in the figure, decodes the state of address lines A10 to A15, activating the Q5 input (signal -IAH) when the state of all these lines is defined with a logical value of 0. In turn, the PROM type K565RT5, marked on in the figure as U2, it decodes the state of the address lines AO to A8, activating the output Q6 (signal -IAL) in a situation when the inputs are logical values from dc to address 66H. The output signals of both PROM circuits (-IAH and -IAL), the address line A9 and the Union -M1 are connected to the inputs AO to A3 of the 74LS85 comparator system. The inputs BO to B3 cor ^^ are in the state defined by the logical value 0.
Dzięki takiemu połączeniu wyjścia A=B (sygpał RESTART) znajduje się w stanie aktywnym w czasie cyklu pobrania rozkazu z komórki pamięci o adresie 66H. Z kolei blok blokowania pamięci BBP, w przypadku aktywnego stanu linii RESTART, blokuje rejestr wyjściowy pamięci RAM. Dzięki temu rejestr wyjściowy nie wysterowuje linii danych mikroprocesora. Blok generowania kodu rozkazu BGKR zawiera trzy bramki 7406 z wyjściami typu otwarty kolektor. Do wyjść tych bramek jest doprowadzony sygnał RESTART i jeśli ma on wartość logiczną 1, to uaktywniane są linie D3, D4 i D5 szyny danych mikroprocesora, w zależności od stanu zworek Z1 do Z3. Pozostałe linie szyny danych znajdują się w stanie okreś^nym wartością logiczną 1. Taki stan szyny danych Jest równoznaczny z wygenerowaniem przez blok BGKR kodu rozkazu restartu RST o numerze zależnym od stanu z^c^i-ek Z1 do Z3. W warniku wykonania rozkazu restartu następuje zmiana stanu licznika rozkazów mikroprocesora na adres, pod którym jest umeszczony początek programu obsługi przerwania niemaskowalnego.Due to this connection, the output A = B (RESTART signal) is in the active state during the instruction download cycle from the memory location with the address 66H. In turn, the blocking of the BBP memory, in the case of the active state of the RESTART line, locks the RAM output register. As a result, the output register does not drive the microprocessor data line. The BGKR instruction code generation block includes three gates 7406 with open collector outputs. The RESTART signal is supplied to the outputs of these gates and if it has a logical value of 1, the lines D3, D4 and D5 of the microprocessor data bus are activated, depending on the state of the jumpers Z1 to Z3. The remaining lines of the data bus are in a state defined by a logical value of 1. This state of the data bus is equivalent to the generation of the RST restart command code by the BGKR block with a number depending on the state from Z1 to Z3. In the booster of the restart command execution, the microprocessor instruction counter changes to the address at which the beginning of the nonmaskable interrupt handler is written.
Stosowanie układu według wynalazku pozwala na wykorzystywanie przerwań niemaskowalnych w mikrlklmppteΓach posiadających mikroprocesor ośmiobitcwy, zwłaszcza Z80 i pracu4The use of the system according to the invention allows the use of non-maskable interrupts in microprocessors with an eight-bit microprocessor, especially Z80 and work4
157 889 jących pod kontrolą systemu operacyjnego CF/M lub Innych system<W operacyjnych zgodnych157 889 operating system CF / M or Other operating system <W compatible operating system