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
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
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 GmbH filed Critical Fujitsu Technology Solutions GmbH
Priority to DE2000117934 priority Critical patent/DE10017934A1/en
Publication of DE10017934A1 publication Critical patent/DE10017934A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

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

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.

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)

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.
DE2000117934 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 Withdrawn DE10017934A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (17)

* Cited by examiner, † Cited by third party
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)

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

Similar Documents

Publication Publication Date Title
DE69930614T2 (en) METHOD AND DEVICE FOR HANDLING multiple flank and state induced interruptions
DE69926365T2 (en) SOFTWARE CONFIGURABLE TECHNIQUE TO PRIORIZE INTERRUPTIONS IN A SYSTEM BASED ON A MICROPROCESSOR
EP0947049B1 (en) Reconfiguration method for programmable components during running time
DE2523372C3 (en) Input / output port controller
EP0011685B1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
DE69933515T2 (en) peripheral processor
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
DE3126878A1 (en) ADDRESS CONTROL CIRCUIT FOR MICROPROCESSORS
DE2744531A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2533737A1 (en) DATA PROCESSOR
DE19824289C2 (en) Pipeline processing machine
DE102006041444A1 (en) Circuit arrangement and method for detecting an execution time of a command in a computer system
DE4134392C2 (en) Method and apparatus for invalidating commands in devices with parallel processing
EP0799441B1 (en) System for controlling technical processes
EP3080668A1 (en) Method for manipulating a control program of a control device
DE3307194C2 (en)
DE2906685C2 (en)
EP0130269A2 (en) Stored program control
DE3700800C2 (en) Device for generating a breakpoint in a microprocessor
DE2759120C2 (en)
DE2726679A1 (en) CHANNEL CONTROL FOR DATA PROCESSING SYSTEMS AND PROCEDURES FOR YOUR BUSINESS
DE10110567B4 (en) Data processing system with adjustable clocks for divided synchronous interfaces
DE4010895C2 (en) Microprocessor with instruction decoder
DE10017934A1 (en) 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
DE2622140C3 (en) Device for controlling manual operations

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