Die vorliegende Erfindung betrifft eine Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface zur Verkürzung der Bearbeitungszeit eines Interrupts und Umprogrammierbarkeit eines Interrupt-Vektors.The present invention relates to a circuit arrangementwith a processor and a system bus interface for verreduction of the processing time of an interrupt and reprogrammingInterruptibility of an interrupt vector.
Datenverarbeitungseinrichtungen werden zur Bearbeitung von Daten, sowie zur Steuerung, Regelung und Analyse von Eingangs- und Ausgangssignalen verwendet. Während des Betriebs einer Datenverarbeitungseinrichtung, die üblicherweise einen Prozessor und einen Systembus aufweist, treten sogenannte Interrupts auf. Dabei handelt es sich um Signale, die dem Prozessor 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 erfordern. Bei der speziellen Routine handelt es sich um die Interruptroutine, deren Startadresse als sogenannter Interrupt-Vektor an einer vorgegebenen Speicherzelle des Speichers gespeichert ist. Zusätzlich werden sogenannte Interrupt-Handler eingesetzt, bei denen es sich um kurze Programmsequenzen handelt, die nach Auslösung eines Interrupts ausgeführt werden, um z. B. die Quelle des Interrupts zu ermitteln.Data processing equipment is used to processData, as well as for the control, regulation and analysis of Agear and output signals used. During operationa data processing device, which is usually aHas processor and a system bus, so-called Interrupts on. These are signals that the Proprocessor and a CPU (central processing unit) an eventShow. The events are, for exampleto states, results, or events that are both withinas well as be generated outside of the CPU and executiona special routine in response to the eventother. The special routine is the Interrroutine, whose start address as a so-called interruptVector ge at a predetermined memory cell of the memorystores. In addition, so-called interrupt handlersused, which are short program sequencesdelt, 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. Warmstarts einer Datenverarbeitungseinrichtung gültig sein müssen, 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 warmstarts of a data processing device must be validsen, they are in a non-volatile memory such. B.a ROM (read only memory). However, a ROM hasthe disadvantage that the access time to it is very long, whatleads to significant interrupt latency.
Ein Lösungsansatz ist, in dem ROM einen Sprungbefehl zu speichern, 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 ausgeführt werden muß. Ein weiteres auftretendes Problem besteht darin, daß manche Betriebssysteme der Software durch vorprogrammierte Routinen eine Umprogrammierung der Interrupt-Vektoren erzwingen.One solution is to store a jump instruction in the ROMto a fixed address in RAM (random accessmemory), so that another jump instruction in the RAMbe programmed to the actual interrupt routinecan. The disadvantage of this approach lies in the factthat at least one actually unnecessary jump instruction is issuedmust be led. Another problem that arisesin that some operating systems of the software by preproprogrammed routines reprogramming the interruptForce vectors.
Ein zweiter bekannter Lösungsansatz ist aus "ARM Training Material: Technical Training 1999, Chapter 16, Chapter 19" bekannt und sieht vor, daß sogenannte Basisadreßregister vorhanden sind, die die Startadresse des ROM und die Startadresse des RAM enthalten, so daß durch ihre Umprogrammierung die jeweiligen Adreßbereiche verschoben oder miteinander vertauscht 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. Weiterhin 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 Mamaterial: Technical Training 1999, Chapter 16, Chapter 19 "beknows and provides that so-called base address registerare the start address of the ROM and the start addressse of the RAM included, so that by reprogramming therespective address areas shifted or vercan be exchanged. This approach requires oneadditional complex address coding mechanism in theMemory modules for RAM and ROM. With complex modules withNumerous memory expansions can be addedComplexity comes in that the address coding is no longercan take place within a clock period. this leads toan unwanted limitation of the maximum clock frequency. Weifurthermore, this procedure is problematic if an additional oneCache memory is provided as by reprogrammingof the start addresses of memory areas with an inconsistencythe data stored in the cache can arise.
Es ist die Aufgabe der Erfindung, eine Schaltung und ein Verfahren zu ihrem Betrieb anzugeben, die eine kürzere Bearbeitungszeit eines Interrupts und die Umprogrammierbarkeit eines Interrupt-Vektors ermöglicht.It is the object of the invention, a circuit and a verdrive to their farm to indicate the shorter machiningtime of an interrupt and the reprogrammability of aInterrupt vector enables.
Erfindungsgemäß wird die Aufgabe durch eine Schaltungsanordnung mit:
According to the invention the object is achieved by a circuit arrangement with:
Der erfindungsgemäße Multiplexer dient dazu, die von dem Prozessor zu dem Systembus führenden Adreßleitungen auszuwählen. Der Multiplexer kann entweder die vom Prozessor generierte Adresse oder durch seine Multiplexfunktion eine andere Adresse 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 bearbeitende Interruptroutine abgelegt ist.The multiplexer according to the invention is used by the Proto select address lines leading to the system bus.The multiplexer can either be the one generated by the processorAddress or by its multiplex function another addresspass it on to the system bus. With this arrangement it ispossible that the processor was originally in the processorspecified address accesses, but this by the multiplexeris converted into another address at which the bearinterrupt 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 Multiplexers verbunden ist. Das Interrupt-Vektor-Basisadreßregister wird beispielsweise dazu verwendet, die Adresse zu speichern, an der sich tatsächlich die Interruptroutine befindet. Üblicherweise wird dazu eine in dem RAM angeordnete Adresse ausgewählt. An dem Ausgang des Interrupt-Vektor-Basisadreßregisters liegt dann die Adresse an, die dem Multiplexer an seinem zweiten Eingang zugeführt wird, und gegebenenfalls an den Adreßbus weitervermittelt wird.Another embodiment of the arrangement according to the inventionprovides that the output of an interrupt vectorBase address register with a second input of the multiplexers is connected. The interrupt vector base address registeris used, for example, to save the address,where the interrupt routine is actually located. UsualFor this purpose, an address arranged in the RAM is selectedchosen. At the output of the interrupt vectorBase address register is then the address that the Multiplexer is fed at its second input, and givenif 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 Prozessoren 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 thatInterrupt vector base address register outside the processoris arranged. This arrangement is also suitable for Processors without integrated interrupt vectorBase address register with the functionality of an interruptVector base address register. This is specialadvantageous, since inexpensive processors with thisFunctionality can be retrofitted. The interrupt Vector base address register can be, for example, in aIntegrate chipset.
Weiterhin ist vorgesehen, daß ein Komparatoreingang eines Komparators mit der Adreßleitung verbunden ist und ein Komparatorausgang des Komparators mit einem Steuereingang des Multiplexers verbunden ist. Der Komparator hat dabei die Aufgabe, 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 aComparator is connected to the address line and a Komparator output of the comparator with a control input of the Multiplexers is connected. The comparator has the taskbe, the address transmitted by the processor to the system buscheck so as to access the interrupt vectoror the interrupt handler area of the memoryand 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:
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 dazwischengeschaltet ist, der zwischen der vom Prozessor übertragenen Adresse und einer weiteren Adresse auswählen kann.The advantage of the method according to the invention is thatthe address is not directly from the processor to the system busInterface is transmitted, but a multiplexer in betweenis switched between the one transferred by the processorgen address and another address.
Ein weiterer Verfahrensschritt des erfindungsgemäßen Verfahrens sieht vor, daß eine dritte Adresse von einem Ausgang eines 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 gesendeten 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 methodrens provides that a third address from an exitinterrupt vector base address register to a secondInput of the multiplexer is transmitted. The interruptIn this case, vector base address register is used to create aTo store the address instead of the one sent by the processorth address is transferred to the system bus. To selectbetween the address sent by the processor and that in the Interrupt vector base address register stored addressthe 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 analysieren und einen Speicherzugriff auf den Interrupt-Vektor-Bereich zu detektieren.Another embodiment of the method according to the inventionprovides that the first address to a comparator inputa comparator is transmitted. The comparator has thatTask to analyze the first address sent by the processorand a memory access to the interrupt vectorDetect area.
Das erfindungsgemäße Verfahren sieht ferner den Schritt vor, daß der Komparator die erste Adresse mit einer Referenzadresse vergleicht und ein Komparatorausgangssignal an einem Komparatorausgang erzeugt, das an einen Steuereingang des Multiplexers übertragen wird. Der Vergleich mit der Referenzadresse dient dazu, einen Zugriff auf den Interrupt-Vektor-Bereich des Speichers festzustellen. Der Komparator steuert nun mit seinem Ausgangssignal den Multiplexer, der entsprechend zwischen der vom Prozessor übertragenen Adresse und der von dem Interrupt-Vektor-Basisadreßregister übertragenen Adresse auswä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 ofthat the comparator has the first address with a reference addressse compares and a comparator output signal on a Komgenerated parator output that to a control input of the Multiplexers is transmitted. The comparison with the reference addressThis is used to access the interrupt vector areaof memory. The comparator now also controlsits output signal the multiplexer, which accordingly betweenthe address transmitted by the processor and by theInterrupt vector base address register transferred addressdials, and this selected address to the system busInterface transmits. By controlling the multiplexerit is ensured that either that of the processor orthe one originating from the interrupt vector base address registerAddress is passed on to the system bus interface.
Weitere Ausgestaltungen der Erfindung sind in den entsprechenden abhängigen Ansprüchen angegeben.Further refinements of the invention are in the correspondingcorresponding dependent claims.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen dargestellt und erläutert.Exemplary embodiments of the invention are described belowof the drawings shown and explained.
In den Figuren zeigen:The figures show:
Fig. 1 eine erfindungsgemäße Schaltungsanordnung mit Prozessor 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 memoryarea.
Fig. 3a einen Speicher mit einem Interrupt-Vektor-Speicherbereich;FIG. 3ashows a memory having an interrupt vector storage area;
Fig. 3b einen weiteren Speicher mit einem Interrupt-Vektor-Speicherbereich;FIG. 3bshows 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.
InFig. 1 ist eine erfindungsgemäße Schaltungsanordnung dargestellt, die einen Prozessor1 und ein System-Bus-Interface2 umfaßt, wobei das System-Bus-Interface2 mit einem Systembus3 verbunden ist. Weiterhin ist der Prozessor1 mit dem System-Bus-Interface2 durch Steuerleitungen15 verbunden, die z. B. Kontrolleitungen wie ein Datenlese- und ein Datenschreibsignal umfassen. Ferner ist eine Reset-Kontrolle14 angeordnet, die mit dem Prozessor1 verbunden ist. Eine Adreßleitung4 verbindet den Prozessor1 mit einem ersten Eingang6 eines Multiplexers5. Der zweite Eingang9 des Multiplexers5 ist mit einem Interrupt-Vektor-Basisadreßregister8 verbunden. Der Multiplexer5 weist einen Ausgang7 auf, der mit dem System-Bus-Interface2 verbunden ist. Darüber hinaus ist an der Adreßleitung4 über einen Komparatoreingang11 ein Komparator10 verbunden, wobei ein Komparatorausgang12 mit einem Steuereingang13 des Multiplexers5 verbunden ist.InFig. 1, a circuit arrangement according to the invention is provided, which comprises a processor1 and a system bus interface2 , wherein the system bus interface2 is connected to a system bus3 . Furthermore, the processor1 is connected to the system bus interface2 by control lines15 , which, for. B. Control lines such as a data read and a data write signal. Furthermore, a reset control14 is arranged, which is connected to the processor1 . An address line4 connects the processor1 to a first input6 of a multiplexer5 . The second input9 of the Mul tiplexers5 is connected to an interrupt vector base address register8 . The multiplexer5 has an output7 which is connected to the system bus interface2 . In addition, a comparator10 is connected to the address line4 via a comparator input11, a comparator output12 being connected to a control input13 of the multiplexer5 .
Herkömmlicherweise ist der Multiplexer5 und der Komparator10 nicht zwischen den Prozessor1 und das System-Bus-Interface2 geschaltet. Für diesen Fall wird die vom Prozessor generierte Adresse direkt an das System-Bus-Interface2 übertragen.Conventionally, the multiplexer5 and the comparator10 are not connected between the processor1 and the system bus interface2 . In this case, the address generated by the processor is transferred directly to the system bus interface2 .
Für die vorliegende Erfindung ist der Multiplexer5 und der Komparator10 ein extrem einfacher und schneller Adreßdecoder, den den oberen Teil der von dem Prozessor übertragenen Adresse decodiert.For the present invention, the multiplexer5 and the comparator10 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 Komparator10 vorgenommen, der mit der Adreßleitung4 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 Multiplexer so geschaltet, daß die oberen Adreßbits des Prozessors durch vorher festgelegte Adreßbits, die in dem Interrupt-Vektor-Basisadreßregister8 gespeichert sind, ersetzt werden. Für alle anderen Adressen liefert der Komparator10 ein Ausgangssignal an den Komparatorausgang12, das den Steuereingang13 des Multiplexers5 so steuert, daß die von dem Prozessor1 generierte Adresse über den Multiplexer5 und den Ausgang7 des Multiplexers5 an das System-Bus-Interface2 übertragen wird. Die Anzahl der in dem Komparator10 ausgewerteten Adreßbits ist dabei variabel.The decoding function is taken by the comparator10 , which is connected to the address line4 . 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 register8 . For all other addresses, the comparator10 supplies an output signal to the comparator output12 which controls the control input13 of the multiplexer5 so that the address generated by the processor1 via the multiplexer5 and the output7 of the multiplexer5 to the system bus -Interface2 is transferred. The number of address bits evaluated in the comparator10 is variable.
Bei einem Kaltstart der Datenverarbeitungseinrichtung greift der Prozessor auf eine Startroutine zu, deren Adresse in einem ROM-Speicher abgespeichert ist. Dazu befindet sich bei dem Kaltstart in dem Interrupt-Vektor-Basisadreßregister8 die entsprechende Adresse. Bei einem Warmstart muß das Interrupt-Vektor-Basisadreßregister8 nicht notwendigerweise rückgesetzt werden, so daß auch ein anderer Startcode ausgeführt werden kann. Während der Laufzeit der Datenverarbeitungseinrichtung 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 register8 during the cold start. In the case of a warm start, the interrupt vector base address register8 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.
InFig. 2 ist ein Beispiel eines Speichers16 für eine Datenverarbeitungseinrichtung gezeigt. Der Speicher16 weist einen ersten Speicherbereich17, der in diesem Ausführungs beispiel als RAM ausgebildet ist, und einen zweiten Speicherbereich18 auf, der als ROM ausgebildet ist. In dem zweiten Speicherbereich18 befindet sich ein Interrupt-Vektor-ROM-Speicherbereich19, der beispielsweise ab der Adresse Oxff00_0000 beginnt. An dieser Speicherstelle endet das RAM, der an der Speicheradresse 0x0000_0000 beginnt. Beim Systemstart ist in dem Prozessor hinterlegt, daß in dem ROM des zweiten Speicherbereichs18 die Interrupt-Vektoren gespeichert sind. Das Interrupt-Vektor-Basisadreßregister8 ist bei einem Neustart bzw. einem Reset-Signal auf einen entsprechenden Adresswert programmiert, der auf den Beginn des Interrupt-Vektor-ROM-Speicherbereichs19 zeigt.FIG. 2 shows an example of a memory16 for a data processing device. The memory16 has a first memory area17 , which in this embodiment is designed as RAM, and a second memory area18 , which is designed as a ROM. In the second memory area18 there is an interrupt vector ROM memory area19 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 area18 . The interrupt vector base address register8 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 area19 .
Während der Laufzeit der Datenverarbeitungseinrichtung kann das Interrupt-Vektor-Basisadreßregister umprogrammiert werden, so daß es auf eine andere Speicheradresse verweist.During the runtime of the data processing devicethe interrupt vector base address register is reprogrammedso that it points to a different memory address.
Mit Bezug aufFig. 3a, 3b wird die Änderung des Interrupt-Vektor-Basisadreßregisters8 und die damit verbundene Verlegung des Interrupt-Vektor-Speicherbereichs beschrieben. Mit Bezug aufFig. 3a wird zunächst in dem ersten Speicherbereich17 an der Adresse 0x0000_0000 eine Kopie des Interrupt-Vektor-ROM-Speicherbereichs19 erstellt. Anschließend wird der Inhalt des Interrupt-Vektor-Basisadreßregisters8 auf die neue Adresse 0x0000_0000 geändert. Dadurch wird ab dem nächsten Interruptaufruf die in dem Interrupt-Vektor-RAM-Speicherbereich20 gespeicherten Interruptroutinen und Interrupt-Handler aufgerufen. Darüber hinaus ist es nun möglich, die in dem Interrupt-Vektor-RAM-Speicherbereich20 gespeicherten Interrupt-Vektoren und -Routinen zu ändern, um so die Funktionalität eines Interruptablaufs zu verändern.With reference toFig. 3a, 3b, the change of the interrupt vector base address register8 and the associated Verle is described supply of the interrupt vector memory area. With reference toFig. 3a is first rich created a copy of the interrupt vector ROM storage area19 at the address 0x0000_000017 in the first Speicherbe. The content of the interrupt vector base address register8 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 area20 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 area20 so as to change the functionality of an interrupt process.
Mit Bezug aufFig. 3b ist es ebenfalls möglich, den Interrupt-Vektor-RAM-Speicherbereich20 an eine andere Speicheradresse als 0x0000_0000 zu verlegen.With reference toFIG. 3b, it is also possible to relocate the interrupt vector RAM memory area20 to a memory address other than 0x0000_0000.
Durch diese Anordnung ist es möglich, eine schnelle Ausführung 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 modifizieren und an die Gegebenheiten der Datenverarbeitungseinrichtung anzupassen.With this arrangement, it is possible to perform quicklyinterrupt calls, since these are now in theRAM are running. In addition, it is possible to use theProcessing of an interrupt called routine to modifiand adhere to the conditions of data processingto adjust direction.
Mit Bezug aufFig. 4 wird ein Ausführungsbeispiel für ein Multiprozessorsystem erläutert. Das Multiprozessorsystem ist dazu ausgelegt, auf einem Speicher16 zu arbeiten. Der Speicher16 weist dabei einen ersten Speicherbereich17, der als RAM ausgebildet ist, und einen zweiten Speicherbereich18 auf, der als ROM gebildet ist. In dem zweiten Speicherbereich18 ist ein Interrupt-Vektor-ROM-Speicherbereich19 angeordnet. Sowohl der erste Prozessor CPU1 als auch der zweite Prozessor CPU2 arbeiten mit dem ersten Speicherbereich17 und dem zweiten Speicherbereich18 und verwenden beide zunächst den Interrupt-Vektor-ROM-Speicherbereich19. Durch die erfindungsgemäße Anordnung eines Multiplexers5 und eines Komparators10 sowie eines Interrupt-Vektor-Basisadreßregisters8 zu jedem der Prozessoren CPU1, CPU2 wird ermöglicht, einen ersten Interrupt-Vektor-RAM-Bereich21 für den ersten Prozessor CPU1 sowie einen zweiten davon getrennten Interrupt-Vektor-RAM-Bereich22 für den zweiten Prozessor CPU2 in dem ersten Speicherbereich17 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 beliebig viele Prozessoren ausgeführt werden.An exemplary embodiment of a multiprocessor system is explained with reference toFIG. 4. The multiprocessor system is designed to work on a memory16 . The memory16 has a first memory area17 , which is designed as RAM, and a second memory area18 , which is formed as ROM. An interrupt vector ROM memory area19 is arranged in the second memory area18 . Both the first processor CPU1 and the second processor CPU2 work with the first memory area17 and the second memory area18 and both first use the interrupt vector ROM memory area19 . The inventive arrangement of a multiplexer5 and a comparator10 and an interrupt vector base address register8 for each of the processors CPU1, CPU2 enables a first interrupt vector RAM area21 for the first processor CPU1 and a second separate interrupt vector RAM area22 for the second processor CPU2 in the first memory area17 . 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
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE2000117934DE10017934A1 (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 |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE2000117934DE10017934A1 (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 |
| Publication Number | Publication Date |
|---|---|
| DE10017934A1true DE10017934A1 (en) | 2001-08-09 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE2000117934WithdrawnDE10017934A1 (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 | Link |
|---|---|
| DE (1) | DE10017934A1 (en) |
| 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 method |
| 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 |
| 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 method |
| 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 |
| Title |
|---|
| ARM Training Material: Technical Training 1999, Kapitel 16 und 19* |
| 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 | |
| DE69032812T2 (en) | Device and method for parallel processing | |
| 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 | |
| WO2015086357A1 (en) | Method for manipulating a control program of a control device | |
| DE69033031T2 (en) | Programmable control unit | |
| DE4134392C2 (en) | Method and apparatus for invalidating commands in devices with parallel processing | |
| EP0799441B1 (en) | System for controlling technical processes | |
| DE19824289A1 (en) | pipeline data processing system | |
| DE3307194C2 (en) |
| 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 |