DE10115885B4 - Arrangement for prioritizing an interrupt - Google Patents
Arrangement for prioritizing an interrupt Download PDFInfo
- Publication number
- DE10115885B4 DE10115885B4 DE10115885A DE10115885A DE10115885B4 DE 10115885 B4 DE10115885 B4 DE 10115885B4 DE 10115885 A DE10115885 A DE 10115885A DE 10115885 A DE10115885 A DE 10115885A DE 10115885 B4 DE10115885 B4 DE 10115885B4
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- level
- priority
- address
- int
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Abstract
Anordnung
zur Priorisierung von Interrupts, das in mehreren Ebenen (A–C) kaskadiert
aufgebaut ist, mit:
a) einer ersten Ebene (A) mit einem Prioritätsdecoder
(10), der mehrere Interrupteingänge
(int_i) aufweist, an denen mehrere Interruptquellen (Bn) angeschlossen
sind,
b) wenigstens einer weiteren Ebene (B, C) mit mehreren Prioritätsdecodern
(Bn, Cn), die die Interruptquellen für eine vorhergehende Ebene
(A, B) bilden, und mit
c) Systemeinrichtungen als ursprüngliche
Interruptquellen, die jeweils eine Interruptanforderungen senden
können,
d)
wobei ein Prioritätsdecoder
(10, Bn, Cn) einer K-ten Ebene jeweils eines an einem seiner Interrupteingänge (int_i) anliegendes
Interruptsignal von einer Interruptquelle in einen vektoriell kodierten
Teil-Interrupt-Adressvektor der entsprechenden Interruptquelle der
K + 1-ten Ebene umwandelt,
e) wobei jede Ebene (B, C) mit mehreren
Prioritätsdecodern
(Bn, Cn) mindestens ein zugehöriges
Logikgatter (13, 14, 16) aufweist, an dessen Eingänge die
Teil-Interrupt-Adressvektoren
einer Gruppe der Prioritätsdecodern (Bn,
Cn) derselben Ebene (B, C) zugeführt
sind und das einen...Arrangement for prioritizing interrupts, which is cascaded in several levels (A-C), with:
a) a first level (A) having a priority decoder (10) having a plurality of interrupt inputs (int_i) to which a plurality of interrupt sources (Bn) are connected,
b) at least one further level (B, C) with a plurality of priority decoders (Bn, Cn), which form the interrupt sources for a preceding level (A, B), and with
c) system devices as original interrupt sources, which can each send an interrupt request,
d) wherein a priority decoder (10, Bn, Cn) of a K-th plane respectively of an interrupt signal applied to one of its interrupt inputs (int_i) from an interrupt source into a vectorially encoded sub-interrupt address vector of the corresponding K + 1-th level interrupt source converts,
e) each level (B, C) having a plurality of priority decoders (Bn, Cn) having at least one associated logic gate (13, 14, 16) at the inputs of which are the sub-interrupt address vectors of a group of the priority decoders (Bn, Cn) thereof Level (B, C) are fed and the one ...
Description
Die Erfindung betrifft eine Anordnung zur Priorisierung eines Interrupts, insbesondere in einem Echtzeitsystem.The Invention relates to an arrangement for prioritizing an interrupt, especially in a real-time system.
Die Ressourcen einer Rechen- und Verarbeitungseinheit (CPU) sind üblicherweise begrenzt und müssen daher einzelnen Systemeinheiten sequentiell zur Verfügung gestellt werden. Zur Anforderung von Rechenleistung senden die Systemeinrichtungen sogenannte Interrupts an eine CPU, die daraufhin die angeforderte Aufgabe ausführt. Die Interruptsignale können eine unterschiedliche Priorität aufweisen und werden entsprechend ihrer Priorität abgearbeitet. Ein Beispiel für einen Interrupt mit hoher Priorität ist z.B. derjenige eines FIFO-Speichers, der überzulaufen droht und daher ausgelesen werden muß.The Resources of a computing and processing unit (CPU) are common limited and must Therefore, individual system units are provided sequentially become. The system devices send requests for computing power so-called interrupts to a CPU, which then requested the Task performs. The interrupt signals can a different priority and are processed according to their priority. An example for one High priority interrupt is e.g. that of a FIFO memory, to overflow threatens and therefore must be read out.
Es ist bekannt, Interruptsignale von Systemeinrichtungen an einen sogenannten Host zu übermitteln, der bei Vorliegen einer Interruptanforderung ein Register im Pollingverfahren ausliest, um die Adresse der Interruptquelle zu ermitteln. Der Host liest dabei zunächst das Register aus, ermittelt aus den ausgelesenen Daten die Adresse der Interruptquelle und löst dann eine zugehörige Prozedur aus, die von der CPU abgearbeitet wird.It is known, interrupt signals from system devices to a so-called Host to submit in the event of an interrupt request, a register in the polling procedure to read the address of the interrupt source. The host reads at first the register off, determined from the data read the address the interrupt source and triggers then an associated one Procedure that is processed by the CPU.
Dieses System hat den Nachteil, dass das Auslesen des Registers relativ aufwendig ist, was insbesondere bei einer großen Vielzahl von Interruptquellen zu einer Verlangsamung des Systems führt.This System has the disadvantage that the reading of the register relative is complex, which is especially true for a large variety of interrupt sources slows down the system.
In der WO 98/12634 A2 ist eine Datenverarbeitungsvorrichtung mit einer Interruptverwaltung beschrieben, wobei Gruppen von In terruptanfordernden Einrichtungen kettenartig miteinander verbunden sind. Eine erste Priorisierung erfolgt dabei insbesondere durch die jeweilige Stelle der Einrichtung in der Kette. Ein Interrupt-Adressvektor wird von einer dem Mikroprozessor vorgeschalteten Steuereinrichtung aus einem oberen, eine zweite Priorisierung der Interruptanfrage anzeigenden Adressteil, welcher die Steuereinrichtung erzeugt, und einem unteren von den Interrupt anfordernden Einrichtungen erzeugten Adressteil zusammengestellt. Interruptanfragen durchlaufen dabei immer die gesamte Kette.In WO 98/12634 A2 is a data processing device with a Interrupt management is described, with groups of intrusting institutions are linked together in a chain. A first prioritization takes place in particular by the respective body of the device in the chain. An interrupt address vector is supplied by a microprocessor upstream control device from an upper, a second Prioritization of the interrupt request indicating address part, which the controller generates, and a lower one of the interrupt requesting devices generated address part compiled. Interrupt requests always go through the entire chain.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Anordnung zur Priorisierung von Interruptanforderugen zu schaffen, die wesentlich einfacher funktioniert und schneller arbeitet.It is therefore the object of the present invention, an arrangement to prioritize interrupt requests that are essential works easier and works faster.
Diese Aufgabe wird durch eine Anordnung mit den Merkmalen des Patentanspruchs 1 gelöst.These The object is achieved by an arrangement having the features of the patent claim 1 solved.
Die wesentliche erfinderische Idee besteht erfindungsgemäß darin, am Ausgang des Systems unmittelbar einen Vektor (Pointer) als Interruptadresse zu liefern, der auf die Interruptquelle zeigt.The essential inventive idea consists according to the invention in at the output of the system immediately a vector (pointer) as an interrupt address to deliver pointing to the interrupt source.
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.advantageous Embodiments of the invention are the subject of the dependent claims.
Die Erfindung wird nachstehend anhand der beigefügten Figuren beispielhaft näher erläutert. Es zeigen:The The invention will be explained in more detail below with reference to the accompanying figures. Show it:
In
Der
Prioritätsdecoder
Der
Adressausgang addrh des Prioritätsdecoders
Die
Interruptquellen der zweiten Ebene B sind weitere Prioritätsdecodern
B1, B2, deren Interruptausgang int_o mit dem Interrupteingang int_i
des Prioritätsdecoders
Am
Interrupteingang int_i der Prioritätsdecoder B1, B2 der zweiten
Ebene B sind wiederum mehrere Interruptquellen angeschlossen, die
entsprechende Interruptsignale an die Prioritätsdecoder B1, B2 übermitteln
können.
Nach der Auswahl eines ggf. eintreffenden Interruptsignals gibt
ein Prioritätsdecoder
B1, B2 an seinem Adressausgang addrm einen entsprechenden binär kodierten
Adressvektor über einen
Adressbus an ein Logikgatter
Im System sollten sämtliche Adressbusse einer Ebene mit einem Gatter verknüpft sein, an dessen Adressausgang addrm_o die am Eingang addrm_i anliegende Adresse durchgeschaltet wird. Bei einem low aktiven System sollten sämtliche Adressbusse einer Ebene mit einem UND-Gatter verknüpft sein, während sie bei einem high aktiven System mit einem ODER-Gatter verknüpft sein sollten.in the System should all Address busses of a level to be linked to a gate at the address output addrm_o the address present at the input addrm_i through connected becomes. In a low active system, all address busses should be one level linked to an AND gate be while they are linked to an OR gate in a high-active system should.
Als Interruptquellen der dritten Ebene C sind mehrere Prioritätsdecoder C1–C6 vorgesehen, die jeweils einen Interrupteingang int_i und einen Interruptausgang int_o aufweisen.When Third level C interrupt sources are multiple priority decoders C1-C6 each having an interrupt input int_i and an interrupt output int_o.
Die
Adressausgänge
addrl der Prioritätsdecoder
C1–C6
sind wiederum über
entsprechende Adressbusse mit Adresseingängen addrl_i von zwei Logikgattern
An den Interrupteingängen int_i der Prioritätsdecoder C1–C6 sind jeweils mehrere Systemeinrichtungen (nicht gezeigt) angeschlossen, die mittels eines Interrupts Rechenleistung der CPU anfordern können.At the interrupt inputs int_i the priority decoder C1-C6 are each a plurality of system devices (not shown) connected, which can request computing power of the CPU by means of an interrupt.
Die
Prioritätsdecoder
C1–C6
geben wiederum einen der jeweiligen Interruptquelle entsprechenden
Adressvektor aus, wobei die Adressausgänge addrl einer ersten Gruppe
von Prioritätsdecodern C1–C3 mit
einem ersten Logikgatter
Die
Adressausgänge
addrl_o der Logikgatter
Das
Register
Jeder
Prioritätsdecoder
Der Prioritätsdecoder der ersten Ebene (A) wertet vorzugsweise zuerst seine Interrupteingänge aus, wählt einen Prioritätsdecoder der zweiten Ebene (B) aus und bestätigt dies mittels eines Acknowledge-Bits. Dieser wertet dann seine Interrupteingänge aus und wählt einen Prioritätsdecoder der dritten Ebene (C) aus usw. Die Auswertung der Interrupts erfolgt also von einer niedrigeren Ebene K in Richtung einer höheren Ebene K + 1 (von rechts nach links in der Figur).Of the priority decoder the first level (A) preferably first evaluates its interrupt inputs, chooses one priority decoder the second level (B) and confirms this by means of an acknowledge bit. This then evaluates his Interrupt inputs and selects one priority decoder the third level (C) off, etc. The evaluation of the interrupts takes place that is from a lower level K towards a higher level K + 1 (from right to left in the figure).
Der
an die CPU zu sendende Interrupt wird vorzugsweise solange zurückgehalten,
bis jeweils ein Prioritätsdecoder
Bn, Cn der Ebenen B, C seine Interrupteingänge ausgewertet hat. Im dargestellten System
mit 3 Ebenen, in dem ein Prioritätsdecoder seine
Interrupteingänge
int_i in einem Taktzyklus auswertet, dauert es 3 Taktzyklen, bis
ein Interrupt vom Prioritätsdecoder
Der
Prioritätsdecoder
prüft zunächst in Schritt
Zurück zu Schritt
Falls
Nein werden in Schritt
Falls
Ja wird in Schritt
Das
Ende der Routine ist in Schritt
Ein
vom Prioritätsdecoder
Zunächst wird
in Schritt
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10115885A DE10115885B4 (en) | 2001-03-30 | 2001-03-30 | Arrangement for prioritizing an interrupt |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10115885A DE10115885B4 (en) | 2001-03-30 | 2001-03-30 | Arrangement for prioritizing an interrupt |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10115885A1 DE10115885A1 (en) | 2002-10-17 |
DE10115885B4 true DE10115885B4 (en) | 2006-09-21 |
Family
ID=7679750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10115885A Expired - Fee Related DE10115885B4 (en) | 2001-03-30 | 2001-03-30 | Arrangement for prioritizing an interrupt |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10115885B4 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2879318A1 (en) * | 2004-12-15 | 2006-06-16 | St Microelectronics Sa | CPU activity sharing method for computing unit, involves dedicating high and low priority lines to interruptions for undertaking operations according to kernel operating system and open operating system, respectively |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275458A (en) * | 1979-12-14 | 1981-06-23 | Gte Automatic Electric Laboratories Incorporated | Interrupt expander circuit |
US5161228A (en) * | 1988-03-02 | 1992-11-03 | Ricoh Company, Ltd. | System with selectively exclusionary enablement for plural indirect address type interrupt control circuit |
US5560018A (en) * | 1994-12-16 | 1996-09-24 | International Business Machines Corporation | Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment |
US5619705A (en) * | 1993-12-16 | 1997-04-08 | Intel Corporation | System and method for cascading multiple programmable interrupt controllers utilizing separate bus for broadcasting interrupt request data packet in a multi-processor system |
WO1998012634A2 (en) * | 1996-09-20 | 1998-03-26 | Philips Electronics N.V. | Solid state data processor with versatile multisource interrupt organization |
US5745772A (en) * | 1996-08-02 | 1998-04-28 | Micron Electronics, Inc. | Advanced programmable interrupt controller |
US5828891A (en) * | 1995-12-20 | 1998-10-27 | International Business Machines Corporation | Multilevel interrupt device |
DE19731634A1 (en) * | 1997-07-23 | 1999-01-28 | Nokia Telecommunications Oy | Apparatus and method for finding an interrupt request associated with a source |
US5872982A (en) * | 1994-12-28 | 1999-02-16 | Compaq Computer Corporation | Reducing the elapsed time period between an interrupt acknowledge and an interrupt vector |
WO2000010094A1 (en) * | 1998-08-10 | 2000-02-24 | Micron Electronics, Inc. | Processor or core logic unit with internal register for peripheral status |
-
2001
- 2001-03-30 DE DE10115885A patent/DE10115885B4/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275458A (en) * | 1979-12-14 | 1981-06-23 | Gte Automatic Electric Laboratories Incorporated | Interrupt expander circuit |
US5161228A (en) * | 1988-03-02 | 1992-11-03 | Ricoh Company, Ltd. | System with selectively exclusionary enablement for plural indirect address type interrupt control circuit |
US5619705A (en) * | 1993-12-16 | 1997-04-08 | Intel Corporation | System and method for cascading multiple programmable interrupt controllers utilizing separate bus for broadcasting interrupt request data packet in a multi-processor system |
US5560018A (en) * | 1994-12-16 | 1996-09-24 | International Business Machines Corporation | Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment |
US5872982A (en) * | 1994-12-28 | 1999-02-16 | Compaq Computer Corporation | Reducing the elapsed time period between an interrupt acknowledge and an interrupt vector |
US5828891A (en) * | 1995-12-20 | 1998-10-27 | International Business Machines Corporation | Multilevel interrupt device |
US5745772A (en) * | 1996-08-02 | 1998-04-28 | Micron Electronics, Inc. | Advanced programmable interrupt controller |
WO1998012634A2 (en) * | 1996-09-20 | 1998-03-26 | Philips Electronics N.V. | Solid state data processor with versatile multisource interrupt organization |
DE19731634A1 (en) * | 1997-07-23 | 1999-01-28 | Nokia Telecommunications Oy | Apparatus and method for finding an interrupt request associated with a source |
WO2000010094A1 (en) * | 1998-08-10 | 2000-02-24 | Micron Electronics, Inc. | Processor or core logic unit with internal register for peripheral status |
Also Published As
Publication number | Publication date |
---|---|
DE10115885A1 (en) | 2002-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69628127T2 (en) | Method and device for displaying the coherence in a multiprocessor system | |
DE69932400T2 (en) | Control device for a port manager for the connection of different functional modules | |
DE4118331C2 (en) | Bus system for use with an information processing device | |
DE69839194T2 (en) | DEVICE AND METHOD OF INITIATING HARDWARE FORCE MANAGEMENT THROUGH SOFTWARE-CONTROLLED REGISTER ACCESS | |
DE2841041A1 (en) | DATA PROCESSING SYSTEM WITH AT LEAST TWO PROCESSORS EQUIPPED WITH A FAST WORKING MEMORY | |
DE3131341A1 (en) | "BUFFER STORAGE ORGANIZATION" | |
DE2702090A1 (en) | DEVICE FOR PROCESSING INTERRUPTIONS IN MICRO-PROCESSING SYSTEMS | |
DE3535436C2 (en) | ||
DE3642324A1 (en) | MULTIPROCESSOR SYSTEM WITH PROCESSOR ACCESS CONTROL | |
DE3502147A1 (en) | Data processing system with improved buffer memory control | |
DE112010005609T5 (en) | Storing data in one of a plurality of buffers in a memory controller | |
DE69726400T2 (en) | SOLID BODY DATA PROCESSOR WITH VERSATILE MULTI-SOURCE INTERRUPTION ORGANIZATION | |
EP0062141A1 (en) | Circuit arrangement for entering control commands into a microcomputer system | |
DE102004003102A1 (en) | System and method for determining a transaction timeout | |
DE10115885B4 (en) | Arrangement for prioritizing an interrupt | |
DE60209761T2 (en) | CONNECTING MULTIPLE PROCESSORS TO EXTERNAL MEMORY WITH BURST MODE | |
EP1308846B1 (en) | Data Transfer Device | |
DE3247083A1 (en) | MULTI-PROCESSOR SYSTEM | |
EP1435578B1 (en) | DMA controller updating descriptors in memory after each access | |
DE19580638B4 (en) | A computer system and method for controlling a peripheral device in a computer system | |
DE3325791C2 (en) | Circuit arrangement for peripheral units cooperating with a central control device | |
DE10155486A1 (en) | Arrangement for managing of peripheral status information by a computer processor in which additional flag register positions are created that are then set to the states of peripheral status registers, thus reducing polling | |
DE3335549A1 (en) | Monitoring device for data processing system | |
DE102020206312A1 (en) | Method of transferring data between a plurality of root complex devices | |
DE3412805A1 (en) | PROCESSOR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE |
|
R081 | Change of applicant/patentee |
Owner name: LANTIQ DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE Effective date: 20110325 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |