Movatterモバイル変換


[0]ホーム

URL:


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-ups

Info

Publication number
DE10017934A1
DE10017934A1DE2000117934DE10017934ADE10017934A1DE 10017934 A1DE10017934 A1DE 10017934A1DE 2000117934DE2000117934DE 2000117934DE 10017934 ADE10017934 ADE 10017934ADE 10017934 A1DE10017934 A1DE 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
Application number
DE2000117934
Other languages
German (de)
Inventor
Nikolaus Demharter
Andreas Knoepfle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Technology Solutions GmbH
Original Assignee
Fujitsu Technology Solutions GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Technology Solutions GmbHfiledCriticalFujitsu Technology Solutions GmbH
Priority to DE2000117934priorityCriticalpatent/DE10017934A1/en
Publication of DE10017934A1publicationCriticalpatent/DE10017934A1/en
Withdrawnlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

A system address (4) is sent from the processor (1)to a comparator (10), that controls a multiplexor (5) via its control input (13). The multiplexor now sends the system address directly, or an address that is stored in an interrupt base address register (8), to the system bus. Changing addresses stored in the interrupt base address register allows a chosen memory range to be inserted into the memory range addressed by the processor. An independent claim is made for a method for operating a processor circuit in which an address from the processor in sent to the input of a multiplexor and a second address is transferred from the multiplexor output to the system bus. The second address is the start address for an interrupt handling routine.

Description

Translated fromGerman

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 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 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 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. 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 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 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 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 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 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 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 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 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 firstInput of a multiplexer is connected, and an outputof the multiplexer connected to the system bus interfaceis.

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 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 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 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 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 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 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 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:

  • - Bereitstellen eines Prozessors und eines System-Bus-Interfaces;- Provision of a processor and a system busInterfaces;
  • - Übertragen einer ersten Adresse von dem Prozessor mittles einer Adreßleitung an einen ersten Eingang eines Multiple­xers;- Transferring a first address from the processoran address line to a first input of a multiplexers;
  • - Übertragen einer zweiten Adresse von einem Ausgang des Mul­tiplexers an das System-Bus-Interface.- Transfer a second address from an output of the Multiplexers 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 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 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 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 analy­sieren 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 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 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 entspre­chenden 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 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 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 dar­gestellt, die einen Prozessor1 und ein System-Bus-Interface2 umfaßt, wobei das System-Bus-Interface2 mit einem System­bus3 verbunden ist. Weiterhin ist der Prozessor1 mit dem System-Bus-Interface2 durch Steuerleitungen15 verbunden, die z. B. Kontrolleitungen wie ein Datenlese- und ein Daten­schreibsignal 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 Mul­tiplexers5 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 Prozes­sor 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ßde­coder, 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 vorge­nommen, 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 Mul­tiplexer so geschaltet, daß die oberen Adreßbits des Prozes­sors durch vorher festgelegte Adreßbits, die in dem Inter­rupt-Vektor-Basisadreßregister8 gespeichert sind, ersetzt werden. Für alle anderen Adressen liefert der Komparator10 ein Ausgangssignal an den Komparatorausgang12, das den Steu­ereingang13 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 ausge­werteten 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 ei­nem ROM-Speicher abgespeichert ist. Dazu befindet sich bei dem Kaltstart in dem Interrupt-Vektor-Basisadreßregister8 die entsprechende Adresse. Bei einem Warmstart muß das Inter­rupt-Vektor-Basisadreßregister8 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 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 Da­tenverarbeitungseinrichtung gezeigt. Der Speicher16 weist einen ersten Speicherbereich17, der in diesem Ausführungs­ beispiel als RAM ausgebildet ist, und einen zweiten Speicher­bereich18 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 System­start ist in dem Prozessor hinterlegt, daß in dem ROM des zweiten Speicherbereichs18 die Interrupt-Vektoren gespei­chert sind. Das Interrupt-Vektor-Basisadreßregister8 ist bei einem Neustart bzw. einem Reset-Signal auf einen entsprechen­den Adresswert programmiert, der auf den Beginn des Inter­rupt-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 wer­den, 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 Verle­gung des Interrupt-Vektor-Speicherbereichs beschrieben. Mit Bezug aufFig. 3a wird zunächst in dem ersten Speicherbe­reich17 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äch­sten Interruptaufruf die in dem Interrupt-Vektor-RAM-Speicherbereich20 gespeicherten Interruptroutinen und Inter­rupt-Handler aufgerufen. Darüber hinaus ist es nun möglich, die in dem Interrupt-Vektor-RAM-Speicherbereich20 gespei­cherten 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 Inter­rupt-Vektor-RAM-Speicherbereich20 an eine andere Speicher­adresse 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ü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 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 Spei­cher16 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 angeord­net. Sowohl der erste Prozessor CPU1 als auch der zweite Pro­zessor CPU2 arbeiten mit dem ersten Speicherbereich17 und dem zweiten Speicherbereich18 und verwenden beide zunächst den Interrupt-Vektor-ROM-Speicherbereich19. Durch die erfin­dungsgemäße Anordnung eines Multiplexers5 und eines Kompara­tors10 sowie eines Interrupt-Vektor-Basisadreßregisters8 zu jedem der Prozessoren CPU1, CPU2 wird ermöglicht, einen er­sten 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 be­liebig 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.

BezugszeichenlisteReference list

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)

Translated fromGerman
1. Schaltungsanordnung mit:
  • - einem Prozessor (1);
  • - einem System-Bus-Interface (2);
dadurch gekennzeichnet, daß der Prozessor (1) mit einer Adreßleitung (4) mit einem ersten Eingang (6) eines Multiplexers (5) verbunden ist und ein Aus­gang (7) des Multiplexers (5) mit dem System-Bus-Interface (2) verbunden ist.
1. Circuit arrangement with:
  • - a processor (1 );
  • - a system bus interface (2 );
characterized in that the processor (1 ) is connected to an address line (4 ) with a first input (6 ) of a multiplexer (5 ) and an output (7 ) of the multiplexer (5 ) with the system bus interface (2nd ) connected is.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Ausgang eines Interrupt-Vektor-Basisadreßregisters (8) mit einem zweiten Eingang (9) des Multiplexers (5) verbunden ist.2. Arrangement according to claim 1, characterized in that the output of an interrupt vector base address register (8 ) is connected to a second input (9 ) of the multiplexer (5 ).3. Anordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß das Interrupt-Vektor-Basisadreßregisters (8) außerhalb des Prozessors (1) angeordnet ist.3. Arrangement according to one of claims 1 or 2, characterized in that the interrupt vector base address register (8 ) is arranged outside the processor (1 ).4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ein Komparatoreingang (11) eines Komparators (10) mit der Adreßleitung (4) verbunden ist und ein Komparatorausgang (12) des Komparators (10) mit einem Steuereingang (13) des Multi­plexers (5) verbunden ist.4. Arrangement according to one of claims 1 to 3, characterized in that a comparator input (11 ) of a comparator (10 ) is connected to the address line (4 ) and a comparator output (12 ) of the comparator (10 ) with a control input (13 ) the multi plexer (5 ) is connected.5. Verfahren zum Betrieb einer Schaltung mit den Schritten:
  • - 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).
5. Method for operating a circuit with the steps:
  • - 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 ).
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß eine dritte Adresse von einem Ausgang eines Interrupt-Vektor-Basisadreßregisters (8) an einen zweiten Eingang (9) des Mul­tiplexers (5) übertragen wird.6. The method according to claim 5, characterized in that a third address is transmitted from an output of an interrupt vector base address register (8 ) to a second input (9 ) of the multiplexer (5 ).7. Verfahren nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, daß die erste Adresse an einen Komparatoreingang (11) eines Kom­parators (10) übertragen wird.7. The method according to any one of claims 5 or 6, characterized in that the first address is transmitted to a comparator input (11 ) of a comparator (10 ).8. Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß der Komparator die erste Adresse mit einer Referenzadresse vergleicht und ein Komparatorausgangssignal an einem Kompara­torausgang (12) erzeugt, das an einen Steuereingang (13) des Multiplexers (5) übertragen wird.8. The method according to any one of claims 5 to 7, characterized in that the comparator compares the first address with a reference address and generates a comparator output signal at a comparator gate output (12 ) which is transmitted to a control input (13 ) of the multiplexer (5 ) .9. Verfahren nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, daß der Multiplexer (5) an seinem Steuereingang (13) so gesteuert wird, daß die von dem Ausgang (7) des Multiplexers (5) über­tragene zweite Adresse entweder die erste Adresse oder die dritte Adresse ist.9. The method according to any one of claims 5 to 8, characterized in that the multiplexer (5 ) at its control input (13 ) is controlled so that the second address transmitted by the output (7 ) of the multiplexer (5 ) either the first Address or the third address is.
DE20001179342000-04-112000-04-11Method 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-upsWithdrawnDE10017934A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
DE2000117934DE10017934A1 (en)2000-04-112000-04-11Method 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 NumberPriority DateFiling DateTitle
DE2000117934DE10017934A1 (en)2000-04-112000-04-11Method 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 NumberPublication Date
DE10017934A1true DE10017934A1 (en)2001-08-09

Family

ID=7638331

Family Applications (1)

Application NumberTitlePriority DateFiling Date
DE2000117934WithdrawnDE10017934A1 (en)2000-04-112000-04-11Method 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)

CountryLink
DE (1)DE10017934A1 (en)

Citations (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH0343836A (en)*1989-07-111991-02-25Nec Ibaraki LtdVectored interruption control system
JPH0351921A (en)*1989-07-191991-03-06Toshiba CorpRunaway preventing device for cpu system
EP0479427A2 (en)*1990-10-011992-04-08International Business Machines CorporationApparatus and method for loading BIOS into a computer system
JPH04169937A (en)*1990-11-021992-06-17Nec CorpMicroprocessor
JPH04296938A (en)*1991-03-141992-10-21Mitsubishi Electric CorpComputer device
DE4331703A1 (en)*1992-09-181994-04-21Sony CorpElectronic 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-141994-05-06Nec CorpInterruption vector table management system
JPH06139076A (en)*1992-10-291994-05-20Ricoh Co LtdInterruption processor
JPH06161780A (en)*1992-11-181994-06-10Kokusai Electric Co Ltd Memory and its control method
JPH06348478A (en)*1993-06-011994-12-22Fuji Facom CorpInformation processor
JPH0991130A (en)*1995-09-281997-04-04Matsushita Electric Ind Co Ltd One-chip microcomputer
JPH0997176A (en)*1995-09-291997-04-08Sanyo Electric Co LtdInterrupt handling device for microcomputer
JPH09114678A (en)*1995-10-171997-05-02Sanyo Electric Co LtdInterrupt processor for microcomputer
JPH1165856A (en)*1997-08-111999-03-09Mitsubishi Electric CorpMicrocomputer and its interruption processing method
JPH11134201A (en)*1997-10-301999-05-21Denso CorpInterruption vector address generation device and micro computer
JPH11219299A (en)*1998-02-021999-08-10Mitsubishi Electric Corp Microcomputer
US6018808A (en)*1994-06-032000-01-25Advanced Micro Devices, Inc.Method and apparatus for testing hardware interrupt service routines in a microprocessor

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH0343836A (en)*1989-07-111991-02-25Nec Ibaraki LtdVectored interruption control system
JPH0351921A (en)*1989-07-191991-03-06Toshiba CorpRunaway preventing device for cpu system
EP0479427A2 (en)*1990-10-011992-04-08International Business Machines CorporationApparatus and method for loading BIOS into a computer system
JPH04169937A (en)*1990-11-021992-06-17Nec CorpMicroprocessor
JPH04296938A (en)*1991-03-141992-10-21Mitsubishi Electric CorpComputer device
DE4331703A1 (en)*1992-09-181994-04-21Sony CorpElectronic 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-141994-05-06Nec CorpInterruption vector table management system
JPH06139076A (en)*1992-10-291994-05-20Ricoh Co LtdInterruption processor
JPH06161780A (en)*1992-11-181994-06-10Kokusai Electric Co Ltd Memory and its control method
JPH06348478A (en)*1993-06-011994-12-22Fuji Facom CorpInformation processor
US6018808A (en)*1994-06-032000-01-25Advanced Micro Devices, Inc.Method and apparatus for testing hardware interrupt service routines in a microprocessor
JPH0991130A (en)*1995-09-281997-04-04Matsushita Electric Ind Co Ltd One-chip microcomputer
JPH0997176A (en)*1995-09-291997-04-08Sanyo Electric Co LtdInterrupt handling device for microcomputer
JPH09114678A (en)*1995-10-171997-05-02Sanyo Electric Co LtdInterrupt processor for microcomputer
JPH1165856A (en)*1997-08-111999-03-09Mitsubishi Electric CorpMicrocomputer and its interruption processing method
JPH11134201A (en)*1997-10-301999-05-21Denso CorpInterruption vector address generation device and micro computer
JPH11219299A (en)*1998-02-021999-08-10Mitsubishi Electric Corp Microcomputer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARM Training Material: Technical Training 1999, Kapitel 16 und 19*

Similar Documents

PublicationPublication DateTitle
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)

Legal Events

DateCodeTitleDescription
OAVApplicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8Request for examination as to paragraph 44 patent law
8130Withdrawal

[8]ページ先頭

©2009-2025 Movatter.jp