DE10017934A1 - Method for handling interrupts for a computer system with a CPU and a system bus in which a multiplexor is used to redirect address to an interrupt base address register to optimize system speed for soft or hard boot-ups - Google Patents
Method for handling interrupts for a computer system with a CPU and a system bus in which a multiplexor is used to redirect address to an interrupt base address register to optimize system speed for soft or hard boot-upsInfo
- Publication number
- DE10017934A1 DE10017934A1 DE2000117934 DE10017934A DE10017934A1 DE 10017934 A1 DE10017934 A1 DE 10017934A1 DE 2000117934 DE2000117934 DE 2000117934 DE 10017934 A DE10017934 A DE 10017934A DE 10017934 A1 DE10017934 A1 DE 10017934A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- processor
- comparator
- interrupt
- multiplexer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft eine Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface zur Ver kürzung der Bearbeitungszeit eines Interrupts und Umprogram mierbarkeit eines Interrupt-Vektors.The present invention relates to a circuit arrangement with a processor and a system bus interface for ver reduction of the processing time of an interrupt and reprogramming Interruptibility of an interrupt vector.
Datenverarbeitungseinrichtungen werden zur Bearbeitung von Daten, sowie zur Steuerung, Regelung und Analyse von Ein gangs- und Ausgangssignalen verwendet. Während des Betriebs einer Datenverarbeitungseinrichtung, die üblicherweise einen Prozessor und einen Systembus aufweist, treten sogenannte In terrupts auf. Dabei handelt es sich um Signale, die dem Pro zessor sowie eine CPU (central processing unit) ein Ereignis anzeigen. Bei den Ereignissen handelt es sich beispielsweise um Zustände, Ergebnisse oder Ereignisse, die sowohl innerhalb als auch außerhalb der CPU erzeugt werden und die Ausführung einer speziellen Routine als Reaktion auf das Ereignis erfor dern. Bei der speziellen Routine handelt es sich um die In terruptroutine, deren Startadresse als sogenannter Interrupt- Vektor an einer vorgegebenen Speicherzelle des Speichers ge speichert ist. Zusätzlich werden sogenannte Interrupt-Handler eingesetzt, bei denen es sich um kurze Programmsequenzen han delt, die nach Auslösung eines Interrupts ausgeführt werden, um z. B. die Quelle des Interrupts zu ermitteln.Data processing equipment is used to process Data, as well as for the control, regulation and analysis of A gear and output signals used. During operation a data processing device, which is usually a Has processor and a system bus, so-called In terrupts on. These are signals that the Pro processor and a CPU (central processing unit) an event Show. The events are, for example to states, results, or events that are both within as well as be generated outside of the CPU and execution a special routine in response to the event other. The special routine is the In terrroutine, whose start address as a so-called interrupt Vector ge at a predetermined memory cell of the memory stores. In addition, so-called interrupt handlers used, which are short program sequences delt, which are executed after an interrupt is triggered, at z. B. to determine the source of the interrupt.
Da Interrupt-Vektoren auch während des Kaltstarts bzw. Warm starts einer Datenverarbeitungseinrichtung gültig sein müs sen, werden sie in einem nichtflüchtigen Speicher, wie z. B. einem ROM (read only memory) abgelegt. Ein ROM hat allerdings den Nachteil, daß die Zugriffszeit auf ihn sehr lang ist, was zu erheblichen Interruptlatenzzeiten führt. Since interrupt vectors also during cold start or warm starts of a data processing device must be valid sen, they are in a non-volatile memory such. B. a ROM (read only memory). However, a ROM has the disadvantage that the access time to it is very long, what leads to significant interrupt latency.
Ein Lösungsansatz ist, in dem ROM einen Sprungbefehl zu spei chern, der auf eine feste Adresse in dem RAM (random access memory) verweist, so daß in dem RAM ein weiterer Sprungbefehl auf die eigentliche Interruptroutine programmiert werden kann. Der Nachteil bei diesem Vorgehen liegt in der Tatsache, daß mindestens ein eigentlich unnötiger Sprungbefehl ausge führt werden muß. Ein weiteres auftretendes Problem besteht darin, daß manche Betriebssysteme der Software durch vorpro grammierte Routinen eine Umprogrammierung der Interrupt- Vektoren erzwingen.One solution is to store a jump instruction in the ROM to a fixed address in RAM (random access memory), so that another jump instruction in the RAM be programmed to the actual interrupt routine can. The disadvantage of this approach lies in the fact that at least one actually unnecessary jump instruction is issued must be led. Another problem that arises in that some operating systems of the software by prepro programmed routines reprogramming the interrupt Force vectors.
Ein zweiter bekannter Lösungsansatz ist aus "ARM Training Ma terial: Technical Training 1999, Chapter 16, Chapter 19" be kannt und sieht vor, daß sogenannte Basisadreßregister vor handen sind, die die Startadresse des ROM und die Startadres se des RAM enthalten, so daß durch ihre Umprogrammierung die jeweiligen Adreßbereiche verschoben oder miteinander ver tauscht werden können. Dieser Lösungsansatz erfordert einen zusätzlichen aufwendigen Adreßcodierungsmechanismus in den Speichermodulen für RAM und ROM. Bei komplexen Modulen mit zahlreichen Speicherausbauten kann es durch die zusätzliche Komplexität dazu kommen, daß die Adreßcodierung nicht mehr innerhalb einer Taktperiode stattfinden kann. Dies führt zu einer ungewollten Begrenzung der maximalen Taktfrequenz. Wei terhin ist dieses Vorgehen problematisch, wenn zusätzlich ein Cache-Speicher vorgesehen ist, da durch das Umprogrammieren der Startadressen von Speicherbereichen eine Inkonsistenz mit den in dem Cache gespeicherten Daten entstehen kann.A second known solution is from "ARM Training Ma material: Technical Training 1999, Chapter 16, Chapter 19 "be knows and provides that so-called base address register are the start address of the ROM and the start address se of the RAM included, so that by reprogramming the respective address areas shifted or ver can be exchanged. This approach requires one additional complex address coding mechanism in the Memory modules for RAM and ROM. With complex modules with Numerous memory expansions can be added Complexity comes in that the address coding is no longer can take place within a clock period. this leads to an unwanted limitation of the maximum clock frequency. Wei furthermore, this procedure is problematic if an additional one Cache memory is provided as by reprogramming of the start addresses of memory areas with an inconsistency the data stored in the cache can arise.
Es ist die Aufgabe der Erfindung, eine Schaltung und ein Ver fahren zu ihrem Betrieb anzugeben, die eine kürzere Bearbei tungszeit eines Interrupts und die Umprogrammierbarkeit eines Interrupt-Vektors ermöglicht.It is the object of the invention, a circuit and a ver drive to their farm to indicate the shorter machining time of an interrupt and the reprogrammability of a Interrupt vector enables.
Erfindungsgemäß wird die Aufgabe durch eine Schaltungsanord
nung mit:
According to the invention the object is achieved by a circuit arrangement with:
- - einem Prozessor und - a processor and
- - einem System-Bus-Interface gelöst,- solved a system bus interface,
- - wobei der Prozessor mit einer Adreßleitung mit einem ersten Eingang eines Multiplexers verbunden ist, und ein Ausgang des Multiplexers mit dem System-Bus-Interface verbunden ist.- The processor having an address line with a first Input of a multiplexer is connected, and an output of the multiplexer connected to the system bus interface is.
Der erfindungsgemäße Multiplexer dient dazu, die von dem Pro zessor zu dem Systembus führenden Adreßleitungen auszuwählen. Der Multiplexer kann entweder die vom Prozessor generierte Adresse oder durch seine Multiplexfunktion eine andere Adres se an den Systembus weitergeben. Durch diese Anordnung ist es möglich, daß der Prozessor auf eine ursprünglich im Prozessor angegebene Adresse zugreift, diese aber durch den Multiplexer in eine andere Adresse umgewandelt wird, an der die zu bear beitende Interruptroutine abgelegt ist.The multiplexer according to the invention is used by the Pro to select address lines leading to the system bus. The multiplexer can either be the one generated by the processor Address or by its multiplex function another address pass it on to the system bus. With this arrangement it is possible that the processor was originally in the processor specified address accesses, but this by the multiplexer is converted into another address at which the bear interrupt routine is stored.
Eine weitere Ausgestaltung der erfindungsgemäßen Anordnung sieht vor, daß der Ausgang eines Interrupt-Vektor- Basisadreßregisters mit einem zweiten Eingang des Multiple xers verbunden ist. Das Interrupt-Vektor-Basisadreßregister wird beispielsweise dazu verwendet, die Adresse zu speichern, an der sich tatsächlich die Interruptroutine befindet. Übli cherweise wird dazu eine in dem RAM angeordnete Adresse aus gewählt. An dem Ausgang des Interrupt-Vektor- Basisadreßregisters liegt dann die Adresse an, die dem Multi plexer an seinem zweiten Eingang zugeführt wird, und gegebe nenfalls an den Adreßbus weitervermittelt wird.Another embodiment of the arrangement according to the invention provides that the output of an interrupt vector Base address register with a second input of the multiple xers is connected. The interrupt vector base address register is used, for example, to save the address, where the interrupt routine is actually located. Usual For this purpose, an address arranged in the RAM is selected chosen. At the output of the interrupt vector Base address register is then the address that the Multi plexer is fed at its second input, and given if necessary, is passed on to the address bus.
Eine weitere Ausgestaltung der Erfindung sieht vor, daß das Interrupt-Vektor-Basisadreßregister außerhalb des Prozessors angeordnet ist. Diese Anordnung ist dazu geeignet, auch Pro zessoren ohne integriertes Interrupt-Vektor- Basisadreßregister mit der Funktionalität eines Interrupt- Vektor-Basisadreßregisters auszustatten. Dies ist besonders vorteilhaft, da auch kostengünstige Prozessoren mit dieser Funktionalität nachgerüstet werden können. Das Interrupt- Vektor-Basisadreßregister läßt sich beispielsweise in einen Chipsatz integrieren.Another embodiment of the invention provides that Interrupt vector base address register outside the processor is arranged. This arrangement is also suitable for Pro cessors without integrated interrupt vector Base address register with the functionality of an interrupt Vector base address register. This is special advantageous, since inexpensive processors with this Functionality can be retrofitted. The interrupt Vector base address register can be, for example, in a Integrate chipset.
Weiterhin ist vorgesehen, daß ein Komparatoreingang eines Komparators mit der Adreßleitung verbunden ist und ein Kompa ratorausgang des Komparators mit einem Steuereingang des Mul tiplexers verbunden ist. Der Komparator hat dabei die Aufga be, die vom Prozessor an den Systembus übermittelte Adresse zu überprüfen, um so einen Zugriff auf den Interrupt-Vektor- bzw. Interrupt-Handlerbereich des Speichers zu detektieren und den Multiplexer entsprechend anzusteuern.It is also provided that a comparator input of a Comparator is connected to the address line and a Kompa rator output of the comparator with a control input of the Mul tiplexers is connected. The comparator has the task be, the address transmitted by the processor to the system bus check so as to access the interrupt vector or the interrupt handler area of the memory and to control the multiplexer accordingly.
In Bezug auf das Verfahren wird die gestellte Aufgabe durch
ein Verfahren zum Betrieb einer Schaltung mit folgenden
Schritten gelöst:
With regard to the method, the task is solved by a method for operating a circuit with the following steps:
- - Bereitstellen eines Prozessors und eines System-Bus- Interfaces;- Provision of a processor and a system bus Interfaces;
- - Übertragen einer ersten Adresse von dem Prozessor mittles einer Adreßleitung an einen ersten Eingang eines Multiple xers;- Transferring a first address from the processor an address line to a first input of a multiple xers;
- - Übertragen einer zweiten Adresse von einem Ausgang des Mul tiplexers an das System-Bus-Interface.- Transfer a second address from an output of the Mul tiplexers to the system bus interface.
Der Vorteil des erfindungsgemäßen Verfahrens liegt darin, daß die Adresse nicht direkt von dem Prozessor zum System-Bus- Interface übertragen wird, sondern ein Multiplexer dazwi schengeschaltet ist, der zwischen der vom Prozessor übertra genen Adresse und einer weiteren Adresse auswählen kann.The advantage of the method according to the invention is that the address is not directly from the processor to the system bus Interface is transmitted, but a multiplexer in between is switched between the one transferred by the processor gen address and another address.
Ein weiterer Verfahrensschritt des erfindungsgemäßen Verfah rens sieht vor, daß eine dritte Adresse von einem Ausgang ei nes Interrupt-Vektor-Basisadreßregisters an einen zweiten Eingang des Multiplexers übertragen wird. Das Interrupt- Vektor-Basisadreßregister dient in diesem Fall dazu, eine Adresse zu speichern, die anstelle der vom Prozessor gesende ten Adresse an den Systembus übertragen wird. Zur Auswahl zwischen der vom Prozessor gesendeten Adresse und der in dem Interrupt-Vektor-Basisadreßregister gespeicherten Adresse wird der Multiplexer verwendet.Another process step of the inventive method rens provides that a third address from an exit interrupt vector base address register to a second Input of the multiplexer is transmitted. The interrupt In this case, vector base address register is used to create a To store the address instead of the one sent by the processor th address is transferred to the system bus. To select between the address sent by the processor and that in the Interrupt vector base address register stored address the multiplexer is used.
Eine weitere Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, daß die erste Adresse an einen Komparatoreingang eines Komparators übertragen wird. Der Komparator hat die Aufgabe, die vom Prozessor gesendete erste Adresse zu analy sieren und einen Speicherzugriff auf den Interrupt-Vektor- Bereich zu detektieren.Another embodiment of the method according to the invention provides that the first address to a comparator input a comparator is transmitted. The comparator has that Task to analyze the first address sent by the processor and a memory access to the interrupt vector Detect area.
Das erfindungsgemäße Verfahren sieht ferner den Schritt vor, daß der Komparator die erste Adresse mit einer Referenzadres se vergleicht und ein Komparatorausgangssignal an einem Kom paratorausgang erzeugt, das an einen Steuereingang des Multi plexers übertragen wird. Der Vergleich mit der Referenzadres se dient dazu, einen Zugriff auf den Interrupt-Vektor-Bereich des Speichers festzustellen. Der Komparator steuert nun mit seinem Ausgangssignal den Multiplexer, der entsprechend zwi schen der vom Prozessor übertragenen Adresse und der von dem Interrupt-Vektor-Basisadreßregister übertragenen Adresse aus wählt, und diese ausgewählte Adresse an das System-Bus- Interface überträgt. Durch die Steuerung des Multiplexers wird gewährleistet, daß entweder die von dem Prozessor oder die aus dem Interrupt-Vektor-Basisadreßregister stammende Adresse an das System-Bus-Interface weiterübertragen wird.The method according to the invention also provides the step of that the comparator has the first address with a reference address se compares and a comparator output signal on a Kom generated parator output that to a control input of the Multi plexers is transmitted. The comparison with the reference address This is used to access the interrupt vector area of memory. The comparator now also controls its output signal the multiplexer, which accordingly between the address transmitted by the processor and by the Interrupt vector base address register transferred address dials, and this selected address to the system bus Interface transmits. By controlling the multiplexer it is ensured that either that of the processor or the one originating from the interrupt vector base address register Address is passed on to the system bus interface.
Weitere Ausgestaltungen der Erfindung sind in den entspre chenden abhängigen Ansprüchen angegeben.Further refinements of the invention are in the corresponding corresponding dependent claims.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen dargestellt und erläutert.Exemplary embodiments of the invention are described below of the drawings shown and explained.
In den Figuren zeigen:The figures show:
Fig. 1 eine erfindungsgemäße Schaltungsanordnung mit Pro zessor und System-Bus-Interface; Figure 1 shows an inventive circuit arrangement with a processor and system bus interface.
Fig. 2 einen Speicher mit einem ersten und einem zweiten Speicherbereich; Figure 2 is a memory having a first and a second memory area.
Fig. 3a einen Speicher mit einem Interrupt-Vektor- Speicherbereich; FIG. 3a shows a memory having an interrupt vector storage area;
Fig. 3b einen weiteren Speicher mit einem Interrupt-Vektor- Speicherbereich; FIG. 3b shows a further memory with an interrupt vector storage area;
Fig. 4 einen Speicher, in dem ein erster und ein zweiter Interrupt-Vektor-Speicherbereich angeordnet ist, die einer ersten und einer zweiten CPU zugeordnet sind. Fig. 4 is a memory that is disposed in the first and second interrupt vector memory area associated with a first and a second CPU.
In Fig. 1 ist eine erfindungsgemäße Schaltungsanordnung dar gestellt, die einen Prozessor 1 und ein System-Bus-Interface 2 umfaßt, wobei das System-Bus-Interface 2 mit einem System bus 3 verbunden ist. Weiterhin ist der Prozessor 1 mit dem System-Bus-Interface 2 durch Steuerleitungen 15 verbunden, die z. B. Kontrolleitungen wie ein Datenlese- und ein Daten schreibsignal umfassen. Ferner ist eine Reset-Kontrolle 14 angeordnet, die mit dem Prozessor 1 verbunden ist. Eine Adreßleitung 4 verbindet den Prozessor 1 mit einem ersten Eingang 6 eines Multiplexers 5. Der zweite Eingang 9 des Mul tiplexers 5 ist mit einem Interrupt-Vektor-Basisadreßregister 8 verbunden. Der Multiplexer 5 weist einen Ausgang 7 auf, der mit dem System-Bus-Interface 2 verbunden ist. Darüber hinaus ist an der Adreßleitung 4 über einen Komparatoreingang 11 ein Komparator 10 verbunden, wobei ein Komparatorausgang 12 mit einem Steuereingang 13 des Multiplexers 5 verbunden ist.In Fig. 1, a circuit arrangement according to the invention is provided, which comprises a processor 1 and a system bus interface 2 , wherein the system bus interface 2 is connected to a system bus 3 . Furthermore, the processor 1 is connected to the system bus interface 2 by control lines 15 , which, for. B. Control lines such as a data read and a data write signal. Furthermore, a reset control 14 is arranged, which is connected to the processor 1 . An address line 4 connects the processor 1 to a first input 6 of a multiplexer 5 . The second input 9 of the Mul tiplexers 5 is connected to an interrupt vector base address register 8 . The multiplexer 5 has an output 7 which is connected to the system bus interface 2 . In addition, a comparator 10 is connected to the address line 4 via a comparator input 11, a comparator output 12 being connected to a control input 13 of the multiplexer 5 .
Herkömmlicherweise ist der Multiplexer 5 und der Komparator 10 nicht zwischen den Prozessor 1 und das System-Bus- Interface 2 geschaltet. Für diesen Fall wird die vom Prozes sor generierte Adresse direkt an das System-Bus-Interface 2 übertragen. Conventionally, the multiplexer 5 and the comparator 10 are not connected between the processor 1 and the system bus interface 2 . In this case, the address generated by the processor is transferred directly to the system bus interface 2 .
Für die vorliegende Erfindung ist der Multiplexer 5 und der Komparator 10 ein extrem einfacher und schneller Adreßde coder, den den oberen Teil der von dem Prozessor übertragenen Adresse decodiert.For the present invention, the multiplexer 5 and the comparator 10 is an extremely simple and fast address decoder which decodes the upper part of the address transmitted by the processor.
Die Decodierfunktion wird dabei von dem Komparator 10 vorge nommen, der mit der Adreßleitung 4 verbunden ist. Ist z. B. der gesamte obere Adreßteil identisch null, so ist dies ein Zeichen dafür, daß der Prozessor auf den Interrupt-Vektor- Bereich des Speichers zugreift. In diesem Fall wird der Mul tiplexer so geschaltet, daß die oberen Adreßbits des Prozes sors durch vorher festgelegte Adreßbits, die in dem Inter rupt-Vektor-Basisadreßregister 8 gespeichert sind, ersetzt werden. Für alle anderen Adressen liefert der Komparator 10 ein Ausgangssignal an den Komparatorausgang 12, das den Steu ereingang 13 des Multiplexers 5 so steuert, daß die von dem Prozessor 1 generierte Adresse über den Multiplexer 5 und den Ausgang 7 des Multiplexers 5 an das System-Bus-Interface 2 übertragen wird. Die Anzahl der in dem Komparator 10 ausge werteten Adreßbits ist dabei variabel.The decoding function is taken by the comparator 10 , which is connected to the address line 4 . Is z. B. the entire upper address part is identical to zero, this is a sign that the processor is accessing the interrupt vector area of the memory. In this case, the multiplexer is switched so that the upper address bits of the processor are replaced by predetermined address bits which are stored in the interrupt vector base address register 8 . For all other addresses, the comparator 10 supplies an output signal to the comparator output 12 which controls the control input 13 of the multiplexer 5 so that the address generated by the processor 1 via the multiplexer 5 and the output 7 of the multiplexer 5 to the system bus -Interface 2 is transferred. The number of address bits evaluated in the comparator 10 is variable.
Bei einem Kaltstart der Datenverarbeitungseinrichtung greift der Prozessor auf eine Startroutine zu, deren Adresse in ei nem ROM-Speicher abgespeichert ist. Dazu befindet sich bei dem Kaltstart in dem Interrupt-Vektor-Basisadreßregister 8 die entsprechende Adresse. Bei einem Warmstart muß das Inter rupt-Vektor-Basisadreßregister 8 nicht notwendigerweise rück gesetzt werden, so daß auch ein anderer Startcode ausgeführt werden kann. Während der Laufzeit der Datenverarbeitungsein richtung wird die in dem Interrupt-Vektor-Basisadreßregister gespeicherte Adresse dahingehend geändert, daß ein anderer Bereich des Speichers zur Speicherung der Interrupt-Vektoren und Interrupt-Handler verwendet werden kann.When the data processing device is cold started, the processor accesses a start routine, the address of which is stored in a ROM memory. For this purpose, the corresponding address is located in the interrupt vector base address register 8 during the cold start. In the case of a warm start, the interrupt vector base address register 8 does not necessarily have to be reset, so that another start code can also be executed. During the runtime of the Datenververarbeitungein direction, the address stored in the interrupt vector base address register is changed so that another area of the memory can be used to store the interrupt vectors and interrupt handlers.
In Fig. 2 ist ein Beispiel eines Speichers 16 für eine Da tenverarbeitungseinrichtung gezeigt. Der Speicher 16 weist einen ersten Speicherbereich 17, der in diesem Ausführungs beispiel als RAM ausgebildet ist, und einen zweiten Speicher bereich 18 auf, der als ROM ausgebildet ist. In dem zweiten Speicherbereich 18 befindet sich ein Interrupt-Vektor-ROM- Speicherbereich 19, der beispielsweise ab der Adresse Oxff00_0000 beginnt. An dieser Speicherstelle endet das RAM, der an der Speicheradresse 0x0000_0000 beginnt. Beim System start ist in dem Prozessor hinterlegt, daß in dem ROM des zweiten Speicherbereichs 18 die Interrupt-Vektoren gespei chert sind. Das Interrupt-Vektor-Basisadreßregister 8 ist bei einem Neustart bzw. einem Reset-Signal auf einen entsprechen den Adresswert programmiert, der auf den Beginn des Inter rupt-Vektor-ROM-Speicherbereichs 19 zeigt. FIG. 2 shows an example of a memory 16 for a data processing device. The memory 16 has a first memory area 17 , which in this embodiment is designed as RAM, and a second memory area 18 , which is designed as a ROM. In the second memory area 18 there is an interrupt vector ROM memory area 19 which begins, for example, from the address Oxff00_0000. The RAM ends at this memory location and starts at memory address 0x0000_0000. When the system starts, it is stored in the processor that the interrupt vectors are stored in the ROM of the second memory area 18 . The interrupt vector base address register 8 is programmed at a restart or a reset signal to a corresponding address value, which points to the beginning of the interrupt vector ROM memory area 19 .
Während der Laufzeit der Datenverarbeitungseinrichtung kann das Interrupt-Vektor-Basisadreßregister umprogrammiert wer den, so daß es auf eine andere Speicheradresse verweist.During the runtime of the data processing device the interrupt vector base address register is reprogrammed so that it points to a different memory address.
Mit Bezug auf Fig. 3a, 3b wird die Änderung des Interrupt- Vektor-Basisadreßregisters 8 und die damit verbundene Verle gung des Interrupt-Vektor-Speicherbereichs beschrieben. Mit Bezug auf Fig. 3a wird zunächst in dem ersten Speicherbe reich 17 an der Adresse 0x0000_0000 eine Kopie des Interrupt- Vektor-ROM-Speicherbereichs 19 erstellt. Anschließend wird der Inhalt des Interrupt-Vektor-Basisadreßregisters 8 auf die neue Adresse 0x0000_0000 geändert. Dadurch wird ab dem näch sten Interruptaufruf die in dem Interrupt-Vektor-RAM- Speicherbereich 20 gespeicherten Interruptroutinen und Inter rupt-Handler aufgerufen. Darüber hinaus ist es nun möglich, die in dem Interrupt-Vektor-RAM-Speicherbereich 20 gespei cherten Interrupt-Vektoren und -Routinen zu ändern, um so die Funktionalität eines Interruptablaufs zu verändern.With reference to Fig. 3a, 3b, the change of the interrupt vector base address register 8 and the associated Verle is described supply of the interrupt vector memory area. With reference to Fig. 3a is first rich created a copy of the interrupt vector ROM storage area 19 at the address 0x0000_0000 17 in the first Speicherbe. The content of the interrupt vector base address register 8 is then changed to the new address 0x0000_0000. As a result, the interrupt routines and interrupt handlers stored in the interrupt vector RAM memory area 20 are called from the next interrupt call. In addition, it is now possible to change the interrupt vectors and routines stored in the interrupt vector RAM memory area 20 so as to change the functionality of an interrupt process.
Mit Bezug auf Fig. 3b ist es ebenfalls möglich, den Inter rupt-Vektor-RAM-Speicherbereich 20 an eine andere Speicher adresse als 0x0000_0000 zu verlegen. With reference to FIG. 3b, it is also possible to relocate the interrupt vector RAM memory area 20 to a memory address other than 0x0000_0000.
Durch diese Anordnung ist es möglich, eine schnelle Ausfüh rung von Interruptaufrufen zu gewährleisten, da diese nun im RAM ausgeführt werden. Darüber hinaus ist es möglich, die zur Bearbeitung eines Interrupts aufgerufenen Routinen zu modifi zieren und an die Gegebenheiten der Datenverarbeitungsein richtung anzupassen.With this arrangement, it is possible to perform quickly interrupt calls, since these are now in the RAM are running. In addition, it is possible to use the Processing of an interrupt called routine to modifi and adhere to the conditions of data processing to adjust direction.
Mit Bezug auf Fig. 4 wird ein Ausführungsbeispiel für ein Multiprozessorsystem erläutert. Das Multiprozessorsystem ist dazu ausgelegt, auf einem Speicher 16 zu arbeiten. Der Spei cher 16 weist dabei einen ersten Speicherbereich 17, der als RAM ausgebildet ist, und einen zweiten Speicherbereich 18 auf, der als ROM gebildet ist. In dem zweiten Speicherbereich 18 ist ein Interrupt-Vektor-ROM-Speicherbereich 19 angeord net. Sowohl der erste Prozessor CPU1 als auch der zweite Pro zessor CPU2 arbeiten mit dem ersten Speicherbereich 17 und dem zweiten Speicherbereich 18 und verwenden beide zunächst den Interrupt-Vektor-ROM-Speicherbereich 19. Durch die erfin dungsgemäße Anordnung eines Multiplexers 5 und eines Kompara tors 10 sowie eines Interrupt-Vektor-Basisadreßregisters 8 zu jedem der Prozessoren CPU1, CPU2 wird ermöglicht, einen er sten Interrupt-Vektor-RAM-Bereich 21 für den ersten Prozessor CPU1 sowie einen zweiten davon getrennten Interrupt-Vektor- RAM-Bereich 22 für den zweiten Prozessor CPU2 in dem ersten Speicherbereich 17 anzuordnen. Durch diese Anordnung ist es möglich, jedem der beiden Prozessoren eine eigene Interrupt- Vektor-Tabelle und Interrupt-Vektor-Handler zuzuordnen, die von anderen Prozessoren unabhängig ist. Diese Anordnung ist nicht auf zwei Prozessoren beschränkt, sondern kann für be liebig viele Prozessoren ausgeführt werden. An exemplary embodiment of a multiprocessor system is explained with reference to FIG. 4. The multiprocessor system is designed to work on a memory 16 . The memory 16 has a first memory area 17 , which is designed as RAM, and a second memory area 18 , which is formed as ROM. An interrupt vector ROM memory area 19 is arranged in the second memory area 18 . Both the first processor CPU1 and the second processor CPU2 work with the first memory area 17 and the second memory area 18 and both first use the interrupt vector ROM memory area 19 . The inventive arrangement of a multiplexer 5 and a comparator 10 and an interrupt vector base address register 8 for each of the processors CPU1, CPU2 enables a first interrupt vector RAM area 21 for the first processor CPU1 and a second separate interrupt vector RAM area 22 for the second processor CPU2 in the first memory area 17 . This arrangement makes it possible to assign each of the two processors their own interrupt vector table and interrupt vector handler, which is independent of other processors. This arrangement is not limited to two processors, but can be carried out for any number of processors.
11
Prozessor
processor
22
System-Bus-Interface
System bus interface
33rd
Systembus
System bus
44
Adreßleitung
Address line
55
Multiplexer
multiplexer
66
Erster Eingang
First entrance
77
Ausgang
output
88th
Interrupt-Vektor-Basisadreßregister
Interrupt vector base address register
99
Zweiter Eingang
Second entrance
1010th
Komparator
Comparator
1111
Komparatoreingang
Comparator input
1212th
Komparatorausgang
Comparator output
1313
Steuereingang
Control input
1414
Reset-Kontrolle
Reset control
1515
Steuerleitungen
Control lines
1616
Speicher
Storage
1717th
Erster Speicherbereich
First storage area
1818th
Zweiter Speicherbereich
Second storage area
1919th
Interrupt-Vektor-ROM-Speicherbereich
Interrupt vector ROM memory area
2020th
Interrupt-Vektor-RAM-Speicherbereich
Interrupt vector RAM memory area
2121
Erster Interrupt-Vektor-RAM-Bereich
First interrupt vector RAM area
2222
Zweiter Interrupt-Vektor-RAM-Bereich
CPU 1 Erster Prozessor
CPU 2 Zweiter Prozessor
Second interrupt vector RAM area
CPU 1 First processor
CPU 2 Second processor
Claims (9)
- - einem Prozessor (1);
- - einem System-Bus-Interface (2);
- - a processor ( 1 );
- - a system bus interface ( 2 );
- - Bereitstellen eines Prozessors (1) und eines System-Bus- Interface (2);
- - Übertragen einer ersten Adresse von dem Prozessor (1) mittles einer Adreßleitung (4) an einen ersten Eingang (6) eines Multiplexers (5);
- - Übertragen einer zweiten Adresse von einem Ausgang (7) des Multiplexers (5) an das System-Bus-Interface (2).
- - Providing a processor ( 1 ) and a system bus interface ( 2 );
- - Transferring a first address from the processor ( 1 ) by means of an address line ( 4 ) to a first input ( 6 ) of a multiplexer ( 5 );
- - Transfer a second address from an output ( 7 ) of the multiplexer ( 5 ) to the system bus interface ( 2 ).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000117934 DE10017934A1 (en) | 2000-04-11 | 2000-04-11 | Method for handling interrupts for a computer system with a CPU and a system bus in which a multiplexor is used to redirect address to an interrupt base address register to optimize system speed for soft or hard boot-ups |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000117934 DE10017934A1 (en) | 2000-04-11 | 2000-04-11 | Method for handling interrupts for a computer system with a CPU and a system bus in which a multiplexor is used to redirect address to an interrupt base address register to optimize system speed for soft or hard boot-ups |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10017934A1 true DE10017934A1 (en) | 2001-08-09 |
Family
ID=7638331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2000117934 Withdrawn DE10017934A1 (en) | 2000-04-11 | 2000-04-11 | Method for handling interrupts for a computer system with a CPU and a system bus in which a multiplexor is used to redirect address to an interrupt base address register to optimize system speed for soft or hard boot-ups |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10017934A1 (en) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0343836A (en) * | 1989-07-11 | 1991-02-25 | Nec Ibaraki Ltd | Vectored interruption control system |
JPH0351921A (en) * | 1989-07-19 | 1991-03-06 | Toshiba Corp | Runaway preventing device for cpu system |
EP0479427A2 (en) * | 1990-10-01 | 1992-04-08 | International Business Machines Corporation | Apparatus and method for loading BIOS into a computer system |
JPH04169937A (en) * | 1990-11-02 | 1992-06-17 | Nec Corp | Microprocessor |
JPH04296938A (en) * | 1991-03-14 | 1992-10-21 | Mitsubishi Electric Corp | Computer device |
DE4331703A1 (en) * | 1992-09-18 | 1994-04-21 | Sony Corp | Electronic unit, e.g. for microcontrol of camcorder - has CPU, ROM and RAM integrated to control operation of electronic device, and has correction data memory |
JPH06124212A (en) * | 1992-10-14 | 1994-05-06 | Nec Corp | Interruption vector table management system |
JPH06139076A (en) * | 1992-10-29 | 1994-05-20 | Ricoh Co Ltd | Interruption processor |
JPH06161780A (en) * | 1992-11-18 | 1994-06-10 | Kokusai Electric Co Ltd | Memory and its control system |
JPH06348478A (en) * | 1993-06-01 | 1994-12-22 | Fuji Facom Corp | Information processor |
JPH0991130A (en) * | 1995-09-28 | 1997-04-04 | Matsushita Electric Ind Co Ltd | One-chip microcomputer |
JPH0997176A (en) * | 1995-09-29 | 1997-04-08 | Sanyo Electric Co Ltd | Interrupt handling device for microcomputer |
JPH09114678A (en) * | 1995-10-17 | 1997-05-02 | Sanyo Electric Co Ltd | Interrupt processor for microcomputer |
JPH1165856A (en) * | 1997-08-11 | 1999-03-09 | Mitsubishi Electric Corp | Microcomputer and its interruption processing method |
JPH11134201A (en) * | 1997-10-30 | 1999-05-21 | Denso Corp | Interruption vector address generation device and micro computer |
JPH11219299A (en) * | 1998-02-02 | 1999-08-10 | Mitsubishi Electric Corp | Microcomputer |
US6018808A (en) * | 1994-06-03 | 2000-01-25 | Advanced Micro Devices, Inc. | Method and apparatus for testing hardware interrupt service routines in a microprocessor |
-
2000
- 2000-04-11 DE DE2000117934 patent/DE10017934A1/en not_active Withdrawn
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0343836A (en) * | 1989-07-11 | 1991-02-25 | Nec Ibaraki Ltd | Vectored interruption control system |
JPH0351921A (en) * | 1989-07-19 | 1991-03-06 | Toshiba Corp | Runaway preventing device for cpu system |
EP0479427A2 (en) * | 1990-10-01 | 1992-04-08 | International Business Machines Corporation | Apparatus and method for loading BIOS into a computer system |
JPH04169937A (en) * | 1990-11-02 | 1992-06-17 | Nec Corp | Microprocessor |
JPH04296938A (en) * | 1991-03-14 | 1992-10-21 | Mitsubishi Electric Corp | Computer device |
DE4331703A1 (en) * | 1992-09-18 | 1994-04-21 | Sony Corp | Electronic unit, e.g. for microcontrol of camcorder - has CPU, ROM and RAM integrated to control operation of electronic device, and has correction data memory |
JPH06124212A (en) * | 1992-10-14 | 1994-05-06 | Nec Corp | Interruption vector table management system |
JPH06139076A (en) * | 1992-10-29 | 1994-05-20 | Ricoh Co Ltd | Interruption processor |
JPH06161780A (en) * | 1992-11-18 | 1994-06-10 | Kokusai Electric Co Ltd | Memory and its control system |
JPH06348478A (en) * | 1993-06-01 | 1994-12-22 | Fuji Facom Corp | Information processor |
US6018808A (en) * | 1994-06-03 | 2000-01-25 | Advanced Micro Devices, Inc. | Method and apparatus for testing hardware interrupt service routines in a microprocessor |
JPH0991130A (en) * | 1995-09-28 | 1997-04-04 | Matsushita Electric Ind Co Ltd | One-chip microcomputer |
JPH0997176A (en) * | 1995-09-29 | 1997-04-08 | Sanyo Electric Co Ltd | Interrupt handling device for microcomputer |
JPH09114678A (en) * | 1995-10-17 | 1997-05-02 | Sanyo Electric Co Ltd | Interrupt processor for microcomputer |
JPH1165856A (en) * | 1997-08-11 | 1999-03-09 | Mitsubishi Electric Corp | Microcomputer and its interruption processing method |
JPH11134201A (en) * | 1997-10-30 | 1999-05-21 | Denso Corp | Interruption vector address generation device and micro computer |
JPH11219299A (en) * | 1998-02-02 | 1999-08-10 | Mitsubishi Electric Corp | Microcomputer |
Non-Patent Citations (1)
Title |
---|
ARM Training Material: Technical Training 1999, Kapitel 16 und 19 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69023018T2 (en) | Processor interrupt control. | |
DE69930614T2 (en) | METHOD AND DEVICE FOR HANDLING multiple flank and state induced interruptions | |
DE68918754T2 (en) | Data processing device with selective command prefetch. | |
DE69926365T2 (en) | SOFTWARE CONFIGURABLE TECHNIQUE TO PRIORIZE INTERRUPTIONS IN A SYSTEM BASED ON A MICROPROCESSOR | |
DE3685863T2 (en) | COMPUTER SYSTEM FOR CONTROLLING VIRTUAL MACHINES. | |
DE69130630T2 (en) | Synchronous process and device for processors | |
DE69228380T2 (en) | METHOD FOR INCREASING THE DATA PROCESSING SPEED IN A COMPUTER SYSTEM | |
DE68927492T2 (en) | Method and device for the simultaneous distribution of commands to several functional units | |
DE3751164T2 (en) | Data processor with various types of interrupt processing. | |
EP0011685B1 (en) | Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement | |
DE3752017T2 (en) | Microcomputer with accessibility to an internal memory with the desired variable access time | |
DE69030931T2 (en) | Multiple sequence processor system | |
DE69130757T2 (en) | Execution device for conditional branch instructions | |
DE4207148A1 (en) | Microprocessor super-scaler for parallel processing - uses by=pass line to interconnect pipelines and transfers data from one pipeline for subsequent processing by another | |
DE68924719T2 (en) | Device and method for executing a subroutine in a data processing system with block switching. | |
DE3687893T2 (en) | CONTROL SYSTEM FOR PROGRAM JUMP OPERATION. | |
DE68922545T2 (en) | Assigned service processor with transmission options between channels. | |
DE2533737A1 (en) | DATA PROCESSOR | |
DE69033031T2 (en) | Programmable control unit | |
DE4134392C2 (en) | Method and apparatus for invalidating commands in devices with parallel processing | |
EP3080668A1 (en) | Method for manipulating a control program of a control device | |
EP0799441B1 (en) | System for controlling technical processes | |
DE19824289A1 (en) | pipeline data processing system | |
DE3307194C2 (en) | ||
DE2906685C2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAV | Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1 | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |