DE102016212808A1 - Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür - Google Patents

Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102016212808A1
DE102016212808A1 DE102016212808.6A DE102016212808A DE102016212808A1 DE 102016212808 A1 DE102016212808 A1 DE 102016212808A1 DE 102016212808 A DE102016212808 A DE 102016212808A DE 102016212808 A1 DE102016212808 A1 DE 102016212808A1
Authority
DE
Germany
Prior art keywords
interrupt request
irq
request signal
interrupt
output
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.)
Pending
Application number
DE102016212808.6A
Other languages
English (en)
Inventor
Jochen Haag
Axel Aue
Eugen Becker
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016212808.6A priority Critical patent/DE102016212808A1/de
Priority to CN201710564889.XA priority patent/CN107621974B/zh
Publication of DE102016212808A1 publication Critical patent/DE102016212808A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

Die Erfindung betrifft eine Unterbrechungsanforderungs-Verteilereinrichtung (100), insbesondere für eine mindestens einen Rechenkern (202) aufweisende Recheneinheit (200), wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) wenigstens einen Eingang (102) zum Empfang von Eingangs-Unterbrechungsanforderungssignalen (irq_i) und wenigstens einen Ausgang (112) zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen (irq_o), insbesondere an die Recheneinheit (200), aufweist, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) dazu ausgebildet ist, wenigstens ein Ausgangs-Unterbrechungsanforderungssignal (irq_o) in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals (irq_i) zu bilden, dadurch gekennzeichnet, dass die Unterbrechungsanforderungs-Verteilereinrichtung (100) eine Verzögerungseinrichtung (120) aufweist, die dazu ausgebildet ist, ein Eingangs-Unterbrechungsanforderungssignal (irq_i) um eine vorgebbare Verzögerungszeit (T1) zu verzögern, um ein verzögertes Unterbrechungsanforderungssignal (irq_d) zu erhalten und das verzögerte Unterbrechungsanforderungssignal (irq_d) als Ausgangs-Unterbrechungsanforderungssignal (irq_o) an dem wenigstens einen Ausgang (112) auszugeben.

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Unterbrechungsanforderungs-Verteilereinrichtung, insbesondere für eine mindestens einen Rechenkern aufweisende Recheneinheit, wobei die Unterbrechungsanforderungs-Verteilereinrichtung wenigstens einen Eingang zum Empfang von Eingangs-Unterbrechungsanforderungssignalen und wenigstens einen Ausgang zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen, insbesondere an die Recheneinheit, aufweist, wobei die Unterbrechungsanforderungs-Verteilereinrichtung dazu ausgebildet ist, wenigstens ein Ausgangs-Unterbrechungsanforderungssignal in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals zu bilden.
  • Die Erfindung betrifft ferner ein Betriebsverfahren für eine derartige Unterbrechungsanforderungs-Verteilereinrichtung.
  • Weiter betrifft die Erfindung eine elektronische Funktionskomponente, die dazu ausgebildet ist, mindestens ein Unterbrechungsanforderungssignal für mindestens eine weitere Komponente, insbesondere einen Rechenkern einer Recheneinheit, zu erzeugen, sowie ein Betriebsverfahren für eine derartige elektronische Funktionskomponente.
  • Unterbrechungsanforderungs-Verteilereinrichtungen der vorstehend genannten Art sind bekannt und werden im englischen Sprachraum auch als "interrupt router" bezeichnet. Interrupts (Unterbrechungsanforderungen) werden z.B. verwendet, um ein momentan auf einer Recheneinheit laufendes Programm abzubrechen bzw. zu unterbrechen und andere zeitkritische/kurze Operationen durchzuführen, die in einer sog. Interrupt-Routine definiert bzw. programmiert sind. Nach der Abarbeitung der Interrupt-Routine wird das zuvor unterbrochene Programm weiter ausgeführt. Interrupts können durch eine Unterbrechungsanforderungs-Verteilereinrichtung z.B. an eine entsprechende Recheneinheit weitergereicht werden. Da durch mehrere Quellen viele verschiedene Unterbrechungsanforderungen in einem System gleichzeitig oder zeitlich kurz aufeinander folgend ausgelöst werden können, wurde vorgeschlagen, in einer Unterbrechungsanforderungs-Verteilereinrichtung jeder Unterbrechungsanforderung eine Priorisierung vorzugeben und zu konfigurieren. Dadurch können nachteilig hochpriore Unterbrechungsanforderungen niederpriore Unterbrechungsanforderungen verdrängen. Kommen bestimmte Unterbrechungsanforderungen in der vorgegebenen Zeit z.B. aufgrund einer Priorisierung nicht zur Ausführung, so können notwendige Vorgänge in der betreffenden Interrupt-Routine nicht ausgeführt werden. Dies ist besonders nachteilig, weil es bis zu einem kompletten Systemabsturz führen kann.
  • Offenbarung der Erfindung
  • Das der Erfindung zugrunde liegende Problem wird durch eine Unterbrechungsanforderungs-Verteilereinrichtung nach Anspruch 1 sowie durch ein Verfahren nach dem nebengeordneten Anspruch 10 gelöst. Weitere Aspekte des der Erfindung zugrunde liegende Problems werden durch eine elektronische Funktionskomponente nach Anspruch 8 sowie ein Verfahren nach dem nebengeordneten Anspruch 13 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Für die Erfindung wichtige Merkmale finden sich ferner in der nachfolgenden Beschreibung und in den Zeichnungen, wobei die Merkmale sowohl in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird.
  • Die Erfindung betrifft eine Unterbrechungsanforderungs-Verteilereinrichtung, insbesondere für eine mindestens einen Rechenkern aufweisende Recheneinheit, wobei die Unterbrechungsanforderungs-Verteilereinrichtung wenigstens einen Eingang zum Empfang von Eingangs-Unterbrechungsanforderungssignalen und wenigstens einen Ausgang zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen, insbesondere an die Recheneinheit, aufweist, wobei die Unterbrechungsanforderungs-Verteilereinrichtung dazu ausgebildet ist, wenigstens ein Ausgangs-Unterbrechungsanforderungssignal in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals zu bilden. Erfindungsgemäß ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung eine Verzögerungseinrichtung aufweist, die dazu ausgebildet ist, ein Eingangs-Unterbrechungsanforderungssignal um eine vorgebbare Verzögerungszeit zu verzögern, um ein verzögertes Unterbrechungsanforderungssignal zu erhalten und das verzögerte Unterbrechungsanforderungssignal als Ausgangs-Unterbrechungsanforderungssignal an dem wenigstens einen Ausgang auszugeben. Das erfindungsgemäße Prinzip ermöglicht vorteilhaft eine verbesserte zeitliche Steuerung von Unterbrechungsanforderungen und deren Ausgabe an weitere Einheiten wie z.B. Recheneinheiten. Insbesondere können unter Ausnutzung der erfindungsgemäß ermöglichten Verzögerung von Unterbrechungsanforderungssignalen Anhäufungen von Unterbrechungsanforderungen entzerrt und zeitlich besser verteilt werden, was speziell dann von Vorteil ist, wenn wenigstens ein Teil der Unterbrechungsanforderungen mit zyklisch auszuführenden Prozessen zusammenhängt, wie z.B. Tasks von Computerprogrammen, die zyklisch (z.B. in einem Raster von 10 Millisekunden oder ähnlich) auf der Recheneinheit ausgeführt werden ausgeführt werden, oder mit Kommunikationszyklen von Kommunikationsmodulen, welche alternativ oder ergänzend zu der Recheneinheit eine Quelle bzw. Senke von Unterbrechungsanforderungen darstellen können. Es ist bei manchen Ausführungsformen auch denkbar, dass die vorgebbare Verzögerungszeit Null beträgt. Generell sind vorgebbare Verzögerungszeiten im Bereich zwischen etwa 0 µs (Mikrosekunden) und etwa 100000 Sekunden (oder auch mehr) denkbar, besonders bevorzugt zwischen etwa 0 µs und etwa 1000 ms (Millisekunden), weiter besonders bevorzugt zwischen etwa 0 µs und etwa 50 Millisekunden.
  • Bei einer Ausführungsform können Ausgangs-Unterbrechungsanforderungssignale direkt an eine Recheneinheit oder an ein Kommunikationsmodul ausgegeben werden, die daraufhin z.B. entsprechende Reaktionen (Abarbeitung von Interruptroutinen, Senden von Nachrichten über einen Kommunikationsbus, usw.) einleiten. Alternativ oder ergänzend können Ausgangs-Unterbrechungsanforderungssignale auch an Multiplexereinrichtungen für Unterbrechungsanforderungen bzw. weitere Verteilereinrichtungen für Unterbrechungsanforderungen (die erfindungsgemäß oder konventionell ausgebildet sein können) ausgegeben werden, wodurch Kaskadierungen der betreffenden Komponenten möglich sind, was die Flexibilität bei der Bearbeitung von Unterbrechungsanforderungen weiter steigert.
  • Bei einer weiteren Ausführungsform kann der Schritt des Bildens des Ausgangs-Unterbrechungsanforderungssignal in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals ein einfaches Weiterleiten umfassen. D.h., das "gebildete" Unterbrechungsanforderungssignal entspricht direkt dem wenigstens eines Eingangs-Unterbrechungsanforderungssignal. Alternativ kann das Bilden auch eine weitergehende Signalverarbeitung (z.B. Pufferung und/oder Invertierung) bzw. eine (logische) Verknüpfung des Eingangs-Unterbrechungsanforderungssignals z.B. mit einem Freigabesignal oder einem Taktsignal oder dergleichen umfassen.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung m viele Eingänge zum Empfang von Eingangs-Unterbrechungsanforderungssignalen aufweist, wobei m größer 1 ist, und/oder wobei die Unterbrechungsanforderungs-Verteilereinrichtung n viele Ausgänge zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen aufweist, wobei n größer 1 ist. Weitere mögliche Varianten sind: m = 1 (nur ein Eingang), m = n (genauso viele Eingänge wie Ausgänge), m <> n (mehr oder weniger Eingänge als Ausgänge), n = 1 (nur ein Ausgang). Hierdurch kann eine flexible Verteilung von Unterbrechungsanforderungssignalen von einer oder mehreren Quellen auf eine oder mehrere Senken erfolgen, wobei die Vorteile der Verzögerung von Unterbrechungsanforderungssignalen dem erfindungsgemäßen Prinzip folgend weitere Freiheitsgrade bieten.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung mehrere Verzögerungseinrichtungen aufweist, die dazu ausgebildet sind, Eingangs-Unterbrechungsanforderungssignale um jeweils zueinander identische oder verschiedene Verzögerungszeiten zu verzögern, wodurch die Flexibilität weiter gesteigert wird und insbesondere eine effiziente Anpassung einer Verzögerung von Unterbrechungsanforderungssignalen z.B. an typische Zykluszeiten von Quellen bzw. Senken von Unterbrechungsanforderungssignale n realisierbar ist.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass wenigstens eine Zeitgebereinrichtung (englisch: timer) vorgesehen ist, um die Verzögerungszeit bzw. die Verzögerungszeiten zu ermitteln bzw. vorzugeben. Beispielsweise kann die Zeitgebereinrichtung in an sich bekannter Weise mittels eines Zählerbausteins und eines Referenztaktsignals realisiert werden. Es ist weiteren Ausführungsformen zufolge auch denkbar, für Unterbrechungsanforderungs-Verteilereinrichtung mit mehreren Verzögerungseinrichtungen ein gemeinsames Referenztaktsignal vorzusehen und individuelle Zählerbausteine für die mehreren Verzögerungseinrichtungen. Generell kann die erfindungsgemäße Verzögerungszeit z.B. mittels einer in der Unterbrechungsanforderungs-Verteilereinrichtung integrierten Zeitgeber-funktionalität (timer) ermittelt bzw. realisiert werden.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung dazu ausgebildet ist, Konfigurationsinformationen von einer externen Komponente zu empfangen und/oder Konfigurationsinformationen wenigstens zeitweise lokal zu speichern, wobei die Konfigurationsinformationen insbesondere die Verzögerungszeit bzw. eine Verzögerungszeit charakterisieren. Dadurch kann ein Betrieb der Unterbrechungsanforderungs-Verteilereinrichtung effizient von einer externen Einheit wie z.B. einer Recheneinheit oder einem Mikrocontroller gesteuert werden, insbesondere auch hinsichtlich der bereitzustellenden Verzögerungszeiten.
  • Bei einer weiteren Ausführungsform können die Konfigurationsinformationen wenigstens eine der folgenden Informationen umfassen: Verzögerungszeit(en), Information, welche (verzögerten) Eingangssignale an welche Ausgänge zu leiten sind, Prioritätsinformationen, die z.B. angeben, dass Eingangssignale mancher Eingänge bevorzugt behandelt werden gegenüber Eingangssignalen anderer Eingänge.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung dazu ausgebildet ist, eine momentan laufende Verzögerungszeit zu unterbrechen, wobei die Unterbrechungsanforderungs-Verteilereinrichtung insbesondere dazu ausgebildet ist, während einer momentan laufenden Verzögerungszeit einen Unterbrechungsbefehl zu empfangen und in Reaktion auf den Empfang des Unterbrechungsbefehls die momentan laufende Verzögerungszeit zu unterbrechen. Dadurch kann vorteilhaft eine laufende Verzögerung unterbrochen und das betreffende Unterbrechungsanforderungssignal ohne weitere Verzögerung ausgegeben werden. Im Endeffekt ergibt sich bei einer solchen Unterbrechung einer laufenden Verzögerung also eine tatsächliche Verzögerungszeit für das betreffende Unterbrechungsanforderungssignal, die kleiner ist als die ursprünglich vorgegebene Verzögerungszeit.
  • Ein derartiger Unterbrechungsbefehl kann weiteren Ausführungsformen zufolge beispielsweise durch eine der Unterbrechungsanforderungs-Verteilereinrichtung zugeordnete Quelle (z.B. Recheneinheit, Kommunikationsmodul) bzw. Senke (z.B. Recheneinheit, Kommunikationsmodul) ausgegeben werden, und/oder auch durch die Unterbrechungsanforderungs-Verteilereinrichtung selbst.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung zumindest teilweise, vorzugsweise jedoch vollständig, als Hardware-Schaltung ausgebildet ist, bevorzugt beispielsweise unter Verwendung von Halbeitertechnologien mit Strukturgrößen im Bereich von etwa 16 nm (Nanometer) und etwa 60 nm. Bei manchen Ausführungsformen kann die Unterbrechungsanforderungs-Verteilereinrichtung z.B. direkt auf einem Halbleitersubstrat einer Recheneinheit bzw. eines Kommunikationsmoduls oder dergleichen integriert sein.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren nach Anspruch 10 angegeben. Hierbei ergeben sich vergleichbare Vorteile wie bereits vorstehend zu der Unterbrechungsanforderungs-Verteilereinrichtung beschrieben.
  • Noch eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist durch eine elektronische Funktionskomponente angegeben. Die elektronische Funktionskomponente ist dazu ausgebildet, mindestens ein Unterbrechungsanforderungssignal für mindestens eine weitere Komponente, insbesondere einen Rechenkern einer Recheneinheit (oder z.B. ein Kommunikationsmodul), zu erzeugen, und ist dadurch gekennzeichnet, dass die Funktionskomponente einen Eingang zum Empfang eines Eingangssignals und eine Unterbrechungsanforderungssignalerzeugungseinrichtung aufweist, wobei die Unterbrechungsanforderungssignalerzeugungseinrichtung dazu ausgebildet ist, in Abhängigkeit des Eingangssignals wenigstens ein Unterbrechungsanforderungssignal zu erzeugen, und dass die Funktionskomponente eine Verzögerungseinrichtung aufweist, die dazu ausgebildet ist, das wenigstens eine Unterbrechungsanforderungssignal um eine vorgebbare Verzögerungszeit zu verzögern, um ein verzögertes Unterbrechungsanforderungssignal zu erhalten und das verzögerte Unterbrechungsanforderungssignal als Ausgangs-Unterbrechungsanforderungssignal an die mindestens eine weitere Komponente auszugeben.
  • Die elektronische Funktionskomponente ermöglicht somit vorteilhaft die Verzögerung von Unterbrechungsanforderungssignalen direkt lokal in der Funktionskomponente. Optional kann die elektronische Funktionskomponente auch mit der vorstehend beschriebenen Unterbrechungsanforderungs-Verteilereinrichtung kombiniert werden.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die elektronische Funktionskomponente ein Kommunikationsmodul, ein SPI, englisch "serial peripheral interface" oder MSC (microsecond bus) interface, oder eine sonstige Datenquelle ist, welche dazu ausgebildet ist, eine Übertragung von Daten oder andere Aktionen bzw. Ereignisse mittels eines Unterbrechungsanforderungssignals anzufordern bzw. zu signalisieren. Dementsprechend enthält die elektronische Funktionskomponente zusätzlich zu den vorstehend beschrieben, die Bearbeitung und Verzögerung von Unterbrechungsanforderungen betreffenden Komponenten entsprechende Kommunikationskomponenten.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente ist vorgesehen, dass wenigstens eine Zeitgebereinrichtung (z.B. vergleichbar zu der vorstehend unter Bezugnahme auf Ausführungsformen der Unterbrechungsanforderungs-Verteilereinrichtung beschrieben) vorgesehen ist, um die Verzögerungszeit zu ermitteln bzw. vorzugeben.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente ist die elektronische Funktionskomponente dazu ausgebildet, Konfigurationsinformationen von einer externen Komponente zu empfangen und/oder Konfigurationsinformationen wenigstens zeitweise lokal zu speichern, wobei die Konfigurationsinformationen insbesondere die Verzögerungszeit charakterisieren, z.B. vergleichbar zu der vorstehend unter Bezugnahme auf Ausführungsformen der Unterbrechungsanforderungs-Verteilereinrichtung beschrieben.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente ist die elektronische Funktionskomponente dazu ausgebildet, eine momentan laufende Verzögerungszeit zu unterbrechen, wobei die elektronische Funktionskomponente insbesondere dazu ausgebildet ist, während einer momentan laufenden Verzögerungszeit einen Unterbrechungsbefehl zu empfangen und in Reaktion auf den Empfang des Unterbrechungsbefehls die momentan laufende Verzögerungszeit zu unterbrechen, z.B. vergleichbar zu der vorstehend unter Bezugnahme auf Ausführungsformen der Unterbrechungsanforderungs-Verteilereinrichtung beschrieben.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente ist die elektronische Funktionskomponente zumindest teilweise, vorzugsweise jedoch vollständig, als Hardware-Schaltung ausgebildet, bevorzugt beispielsweise unter Verwendung von Halbeitertechnologien mit Strukturgrößen im Bereich von etwa 16 nm (Nanometer) und etwa 60 nm.
  • Besonders vorteilhaft kann die Unterbrechungsanforderungs-Verteilereinrichtung und/oder die elektronische Funktionskomponente in eine andere Einheit wie z.B. eine Recheneinheit, z.B. einen Mikrocontroller mit wenigstens einem Rechenkern, oder in ein Kommunikationsmodul (z.B. vom SPI- oder MSC-Typ) integriert sein, insbesondere auch auf einem selben Halbleitersubstrat wie die andere Einheit angeordnet sein.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren nach Anspruch 13 angegeben.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 schematisch ein Blockdiagramm einer ersten Ausführungsform der erfindungsgemäßen Unterbrechungsanforderungs-Verteilereinrichtung,
  • 2 schematisch ein Blockdiagramm einer zweiten Ausführungsform der erfindungsgemäßen Unterbrechungsanforderungs-Verteilereinrichtung,
  • 3 schematisch ein Zeitdiagramm einer Ausführungsform,
  • 4 schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens,
  • 5 schematisch ein Blockdiagramm einer ersten Ausführungsform der erfindungsgemäßen elektronischen Funktionskomponente,
  • 6 bis 8 schematisch weitere Ausführungsformen der Erfindung, und
  • 9 schematisch ein vereinfachtes Flussdiagramm einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens.
  • 1 zeigt schematisch ein Blockdiagramm einer ersten Ausführungsform einer erfindungsgemäßen Unterbrechungsanforderungs-Verteilereinrichtung 100, nachfolgend kurz auch "Verteilereinrichtung 100" und englisch auch als interrupt router bezeichnet. Die Verteilereinrichtung 100 weist einen Eingang 102 auf, an dem sie Eingangs-Unterbrechungsanforderungssignale irq_i von einer Quelle 10 empfangen kann und wenigstens einen Ausgang 112 zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen irq_o an eine Senke 200, bei der es sich insbesondere um eine Recheneinheit 200 wie z.B. einen Mikrocontroller mit einem Rechenkern 202 handeln kann.
  • Bei der Quelle 10 kann es sich beispielsweise um ein Kommunikationsmodul, z.B. vom SPI- oder MCS-Typ oder dergleichen handeln, das z.B. dann Eingangs-Unterbrechungsanforderungssignale irq_i an die Verteilereinrichtung 100 ausgibt, wenn das Kommunikationsmodul Daten von einer externen Einheit (nicht gezeigt) empfangen hat. Die Verteilereinrichtung 100 kann sodann ein entsprechendes Ausgangs-Unterbrechungsanforderungssignalen irq_o in Abhängigkeit des wenigstens eines Eingangs-Unterbrechungsanforderungssignals irq_i bilden und in der nachfolgend beschriebenen Weise an die Recheneinheit 200 ausgeben.
  • Erfindungsgemäß wiest die Unterbrechungsanforderungs-Verteilereinrichtung 100 eine Verzögerungseinrichtung 120 auf, die dazu ausgebildet ist, ein Eingangs-Unterbrechungsanforderungssignal irq_i um eine vorgebbare Verzögerungszeit zu verzögern, um ein verzögertes Unterbrechungsanforderungssignal irq_d zu erhalten und das verzögerte Unterbrechungsanforderungssignal irq_d als Ausgangs-Unterbrechungsanforderungssignal irq_o an dem Ausgang 112 auszugeben. Das erfindungsgemäße Prinzip ermöglicht vorteilhaft eine verbesserte zeitliche Steuerung von Unterbrechungsanforderungen irq_i und deren Ausgabe an weitere Einheiten 200. Insbesondere können unter Ausnutzung der erfindungsgemäß ermöglichten Verzögerung von Unterbrechungsanforderungssignalen Anhäufungen von Unterbrechungsanforderungen entzerrt und zeitlich besser verteilt werden, was speziell dann von Vorteil ist, wenn wenigstens ein Teil der Unterbrechungsanforderungen mit zyklisch auszuführenden Prozessen zusammenhängt, wie z.B. Tasks von Computerprogrammen, die zyklisch (z.B. in einem Raster von 10 Millisekunden oder ähnlich) auf der Recheneinheit 200 ausgeführt werden ausgeführt werden, oder mit Kommunikationszyklen von Kommunikationsmodulen 10, welche alternativ oder ergänzend zu der Recheneinheit 200 eine Quelle bzw. Senke von Unterbrechungsanforderungen darstellen können. Es ist bei manchen Ausführungsformen auch denkbar, dass die vorgebbare Verzögerungszeit Null beträgt. Generell sind vorgebbare Verzögerungszeiten im Bereich zwischen etwa 0 µs (Mikrosekunden) und etwa 100000 Sekunden (oder auch mehr) denkbar, besonders bevorzugt zwischen etwa 0 µs und etwa 1000 ms (Millisekunden), weiter besonders bevorzugt zwischen etwa 0 µs und etwa 50 Millisekunden.
  • Bei einer Ausführungsform können Ausgangs-Unterbrechungsanforderungssignale irq_o wie in 1 abgebildet und vorstehend bereits beschrieben direkt an eine Recheneinheit 200 (oder an ein Kommunikationsmodul) ausgegeben werden, die daraufhin z.B. entsprechende Reaktionen (Abarbeitung von Interruptroutinen, Senden von Nachrichten über einen Kommunikationsbus, usw.) einleiten. Alternativ oder ergänzend können Ausgangs-Unterbrechungsanforderungssignale irq_o auch an Multiplexereinrichtungen (nicht gezeigt) für Unterbrechungsanforderungen bzw. weitere Verteilereinrichtungen für Unterbrechungsanforderungen (die erfindungsgemäß oder konventionell ausgebildet sein können) ausgegeben werden, wodurch Kaskadierungen der betreffenden Komponenten möglich sind, was die Flexibilität bei der Bearbeitung von Unterbrechungsanforderungen weiter steigert.
  • 4 zeigt ein Flussdiagramm zur Veranschaulichung einer Ausführungsform des erfindungsgemäßen Verfahrens. In Schritt 400 wird das von der Quelle 10 stammende Eingangs-Unterbrechungsanforderungssignal irq_i, vgl. 1, empfangen. In Schritt 410, 4, wird das empfangene Eingangs-Unterbrechungsanforderungssignal irq_i um eine vorgebbare Verzögerungszeit verzögert, um ein verzögertes Unterbrechungsanforderungssignal irq_d zu erhalten, und in Schritt 420 wird das verzögerte Unterbrechungsanforderungssignal irq_d schließlich als Ausgangs-Unterbrechungsanforderungssignal irq_o an dem wenigstens einen Ausgang 112 ausgegeben.
  • Bei einer Ausführungsform kann das gebildete Ausgangs-Unterbrechungsanforderungssignal irq_o – bis auf die ggf. erfolgende zeitliche Verzögerung (d.h., sofern nicht ausnahmsweise eine Verzögerungszeit von Null vorgegeben ist) aus Schritt 410 – dem Eingangs-Unterbrechungsanforderungssignal irq_i entsprechen. Bei anderen Ausführungsformen kann das Bilden des Ausgangs-Unterbrechungsanforderungssignals irq_o zusätzlich zu der zeitlichen Verzögerung aus Schritt 410 auch eine weitergehende Signalverarbeitung (z.B. Pufferung (z.B. im Sinne einer Regenerierung des Signalpegels) und/oder Invertierung) bzw. eine (logische) Verknüpfung des Eingangs-Unterbrechungsanforderungssignals irq_i z.B. mit einem Freigabesignal oder einem Taktsignal oder dergleichen umfassen.
  • Bei einer weiteren Ausführungsform, die in 2 schematisch dargestellt ist, ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung 100' m viele Eingänge 102a, ..., 102d zum Empfang von Eingangs-Unterbrechungsanforderungssignalen aufweist irq_i1, ..., irq_i4, wobei m größer 1 ist, vorliegend gemäß 2 m = 4, und/oder wobei die Unterbrechungsanforderungs-Verteilereinrichtung 100' n viele Ausgänge 112a, ..., 112d zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen irq_o1, ..., irq_o4 aufweist, wobei n größer 1 ist, vorliegend gemäß 2 n = 4.
  • Weitere mögliche Varianten sind: m = 1 (nur ein Eingang), m = n (genauso viele Eingänge wie Ausgänge), vgl. 2, m <> n (mehr oder weniger Eingänge als Ausgänge), n = 1 (nur ein Ausgang). Hierdurch kann eine flexible Verteilung von Unterbrechungsanforderungssignalen irq_i, irq_i1, ..., irq_i4 von einer oder mehreren Quellen 10 (1) auf eine oder mehrere Senken 200, 200' erfolgen, wobei die Vorteile der Verzögerung von Unterbrechungsanforderungssignalen dem erfindungsgemäßen Prinzip folgend weitere Freiheitsgrade bieten.
  • Vorliegend weist die Unterbrechungsanforderungs-Verteilereinrichtung 100' wie bereits beschrieben insgesamt vier Ausgänge 112a, 112b, 112c, 112d auf, über die entsprechende Ausgangs-Unterbrechungsanforderungssignale irq_o1, ..., irq_o4 an verschiedene Rechenkerne 202a, 202b, 202c, 202d der Recheneinheit 200' ausgebbar sind.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung 100' mehrere Verzögerungseinrichtungen 120a, 120b, 120c aufweist, die dazu ausgebildet sind, Eingangs-Unterbrechungsanforderungssignale irq_i1, irq_i2, irq_i3, irq_i4 um jeweils zueinander identische oder verschiedene Verzögerungszeiten zu verzögern, wodurch die Flexibilität weiter gesteigert wird und insbesondere eine effiziente Anpassung einer Verzögerung von Unterbrechungsanforderungssignalen z.B. an typische Zykluszeiten von Quellen bzw. Senken von Unterbrechungsanforderungssignale n realisierbar ist. Bei einer Ausführungsform können die mehreren Verzögerungseinrichtungen 120a, 120b, 120c bestimmten Eingängen 102a, ..., 102d statisch zugeordnet sein. Alternativ ist auch eine dynamische Zuordnung der mehreren Verzögerungseinrichtungen 120a, 120b, 120c zu unterschiedlichen Eingängen denkbar.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass wenigstens eine Zeitgebereinrichtung (englisch: timer) 130 vorgesehen ist, um die Verzögerungszeit bzw. die Verzögerungszeiten zu ermitteln bzw. vorzugeben. Beispielsweise kann die Zeitgebereinrichtung 130 in an sich bekannter Weise mittels eines Zählerbausteins und eines Referenztaktsignals realisiert werden. Es ist weiteren Ausführungsformen zufolge auch denkbar, für Unterbrechungsanforderungs-Verteilereinrichtungen 100' mit mehreren Verzögerungseinrichtungen 120a, 120b, 120c ein gemeinsames Referenztaktsignal vorzusehen und individuelle Zählerbausteine für die mehreren Verzögerungseinrichtungen. Generell kann die erfindungsgemäße Verzögerungszeit z.B. mittels einer in der Unterbrechungsanforderungs-Verteilereinrichtung 100' integrierten Zeitgeber-funktionalität (timer) 130 ermittelt bzw. realisiert werden.
  • 3 zeigt schematisch ein Zeitdiagramm, das die erfindungsgemäße Verzögerung von Eingangs-Unterbrechungsanforderungssignalen veranschaulicht. Zu einem Zeitpunkt t0 empfängt die Verteilereinrichtung 100' gemäß 2 beispielhaft ein erstes Eingangs-Unterbrechungsanforderungssignal irq_i1 an ihrem ersten Eingang 102a. Dieses wird erfindungsgemäß mittels der ersten Verzögerungseinheit 120a um die z.B. zuvor konfigurierte erste Verzögerungszeit T1 verzögert, wodurch ein verzögertes erstes Unterbrechungsanforderungssignal erhalten wird, das sodann, nämlich nach Ablauf der ersten Verzögerungszeit T1, also zu dem Zeitpunkt t1, als erstes Ausgangs-Unterbrechungsanforderungssignal irq_o1 über den Ausgang 112a an die Recheneinheit 200' ausgegeben wird. Ein zweites zu dem Zeitpunkt t0 eingehendes Eingangs-Unterbrechungsanforderungssignal wird vermöge der zweiten Verzögerungseinheit 120b gemäß 3 um die zweite Verzögerungszeit T2 bis zu dem Zeitpunkt t2 verzögert und hiernach als zweites Ausgangs-Unterbrechungsanforderungssignal irq_o2 über den Ausgang 112b an die Recheneinheit 200' ausgegeben. Ein drittes zu dem Zeitpunkt t01 eingehendes Eingangs-Unterbrechungsanforderungssignal wird vermöge der dritten Verzögerungseinheit 120c gemäß 3 um die dritte Verzögerungszeit T3 bis zu dem Zeitpunkt t3 verzögert und hiernach als drittes Ausgangs-Unterbrechungsanforderungssignal irq_o3 über den Ausgang 112c an die Recheneinheit 200' ausgegeben.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' dazu ausgebildet ist, Konfigurationsinformationen von einer externen Komponente 10, 200, 200' zu empfangen und/oder Konfigurationsinformationen wenigstens zeitweise lokal zu speichern, vgl. Bezugszeichen 140 aus 2, wobei die Konfigurationsinformationen 140 insbesondere die Verzögerungszeit bzw. eine Verzögerungszeit charakterisieren. Dadurch kann ein Betrieb der Unterbrechungsanforderungs-Verteilereinrichtung 100' effizient von einer externen Einheit 200' wie z.B. einer Recheneinheit oder einem Mikrocontroller gesteuert werden, insbesondere auch hinsichtlich der bereitzustellenden Verzögerungszeiten T1, T2, T3.
  • Bei einer weiteren Ausführungsform können die Konfigurationsinformationen 140 wenigstens eine der folgenden Informationen umfassen: Verzögerungszeiten T1, T2, T3, Information, welche (verzögerten) Eingangssignale an welche Ausgänge 112a, 112b, 112c, 112d zu leiten sind, Prioritätsinformationen, die z.B. angeben, dass Eingangssignale mancher Eingänge 102a, 102b bevorzugt behandelt werden gegenüber Eingangssignalen anderer Eingänge 102c, 102d.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' dazu ausgebildet ist, eine momentan laufende Verzögerungszeit T1 zu unterbrechen. wobei die Unterbrechungsanforderungs-Verteilereinrichtung insbesondere dazu ausgebildet ist, während einer momentan laufenden Verzögerungszeit T1 einen Unterbrechungsbefehl HLT (2) zu empfangen und in Reaktion auf den Empfang des Unterbrechungsbefehls HLT die momentan laufende Verzögerungszeit T1 zu unterbrechen. Dadurch kann vorteilhaft eine laufende Verzögerung unterbrochen und das betreffende Unterbrechungsanforderungssignal ohne weitere Verzögerung ausgegeben werden. Im Endeffekt ergibt sich bei einer solchen Unterbrechung einer laufenden Verzögerung also eine tatsächliche Verzögerungszeit für das betreffende Unterbrechungsanforderungssignal, die kleiner ist als die ursprünglich vorgegebene Verzögerungszeit.
  • Ein derartiger Unterbrechungsbefehl kann weiteren Ausführungsformen zufolge beispielsweise durch eine der Unterbrechungsanforderungs-Verteilereinrichtung zugeordnete Quelle 10 (z.B. Recheneinheit, Kommunikationsmodul) bzw. Senke 200, 200' (z.B. Recheneinheit, Kommunikationsmodul) ausgegeben werden, und/oder auch durch die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' selbst.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' zumindest teilweise, vorzugsweise jedoch vollständig, als Hardware-Schaltung ausgebildet ist, bevorzugt beispielsweise unter Verwendung von Halbeitertechnologien mit Strukturgrößen im Bereich von etwa 16 nm (Nanometer) und etwa 60 nm. Bei manchen Ausführungsformen kann die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' z.B. direkt auf einem Halbleitersubstrat einer Recheneinheit 200, 200' bzw. eines Kommunikationsmoduls 10 oder dergleichen integriert sein.
  • 5 zeigt schematisch ein Blockdiagramm einer ersten Ausführungsform einer elektronischen Funktionskomponente 500, die einen weiteren Aspekt der vorliegenden Erfindung darstellt.
  • Die elektronische Funktionskomponente 500 ist dazu ausgebildet, mindestens ein Unterbrechungsanforderungssignal für mindestens eine weitere Komponente, insbesondere einen Rechenkern einer Recheneinheit (oder z.B. ein Kommunikationsmodul), zu erzeugen, und ist dadurch gekennzeichnet, dass die Funktionskomponente 500 einen Eingang 502 zum Empfang eines Eingangssignals i und eine Unterbrechungsanforderungssignalerzeugungseinrichtung 510 aufweist, wobei die Unterbrechungsanforderungssignalerzeugungseinrichtung 510 dazu ausgebildet ist, in Abhängigkeit des Eingangssignals i wenigstens ein Unterbrechungsanforderungssignal irq zu erzeugen, und dass die Funktionskomponente 500 eine Verzögerungseinrichtung 520 aufweist, die dazu ausgebildet ist, das wenigstens eine Unterbrechungsanforderungssignal irq um eine vorgebbare Verzögerungszeit T1 zu verzögern, um ein verzögertes Unterbrechungsanforderungssignal irq_d zu erhalten und das verzögerte Unterbrechungsanforderungssignal irq_d als Ausgangs-Unterbrechungsanforderungssignal irq_o über einen Ausgang 504 an die mindestens eine weitere Komponente 100'' auszugeben.
  • Die elektronische Funktionskomponente 500 ermöglicht somit vorteilhaft die Verzögerung von Unterbrechungsanforderungssignalen irq direkt lokal in der Funktionskomponente 500. Optional kann die elektronische Funktionskomponente 500 auch mit der vorstehend beschriebenen Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' kombiniert werden.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die elektronische Funktionskomponente 500 ein Kommunikationsmodul, ein SPI, englisch "serial peripheral interface" oder MSC (microsecond bus) interface, oder eine sonstige Datenquelle ist, welche dazu ausgebildet ist, eine Übertragung von Daten oder andere Aktionen bzw. Ereignisse mittels eines Unterbrechungsanforderungssignals anzufordern bzw. zu signalisieren. Dementsprechend enthält die elektronische Funktionskomponente 500 zusätzlich zu den vorstehend beschriebenen, die Bearbeitung und Verzögerung von Unterbrechungsanforderungen irq betreffenden Komponenten 510, 520 entsprechende Kommunikationskomponenten 530.
  • Bei einer weiteren Ausführungsform kann anstelle des von extern zuführbaren Eingangssignals auch intern in der elektronischen Funktionskomponente 500 ein "Eingangssignal" i' gebildet werden, beispielsweise durch eine Kommunikationskomponente 530 bzw. ein Modul 508, das die Erzeugung eines Unterbrechungsanforderungssignals irq auslöst. In diesen Fällen kann der Eingang 502 ggf. entfallen.
  • Beispielsweise kann nach Ausführung einer bestimmten Operation in der Kommunikationskomponente 530 ein Flag (z.B. Signalbit) in der Unterbrechungsanforderungssignalerzeugungseinrichtung 510 gesetzt werden, das das Ende der Operation signalisiert. Das Setzen des Flags starten einen mit der gewünschten Verzögerungszeit T1 konfigurierten Zeitgeber (timer) der Verzögerungseinrichtung 520, und nach Ablauf der Verzögerungszeit T1, signalisiert durch den Zeitgeber, kann beispielsweise der Schalter 506 betätigt werden, der einer Ausführungsform zufolge mit einem "interrupt on/off bit" korrespondieren kann. Erst bei schließen des Schalters 506 wird vorliegend also ein Ausgangs-Unterbrechungsanforderungssignal irq_o an die Senke 100'' ausgegeben.
  • Bei der Senke 100'' kann es sich um eine Recheneinheit oder eine andere Komponente, beispielsweise auch um eine konventionelle oder erfindungsgemäße Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' (interrupt-router) handeln.
  • Bei einer weiteren Ausführungsform kann die elektronische Funktionskomponente 500 auch in ein (bestehendes) Kommunikationsmodul 1000' integriert werden, vgl. 7, die ein SPI-Kommunikationsmodul 1000' zeigt, in das wenigstens eine elektronische Funktionskomponente 500 integriert ist. Bei dieser Konfiguration kann beispielsweise eine interne Betriebsgröße des SPI-Kommunikationsmoduls 1000' als Eingangssignal i dem Eingang 502 der Funktionskomponente 500 zugeführt werden, welche die vorstehend beschriebene Bildung des Unterbrechungsanforderungssignals irq und dessen Verzögerung bewirkt.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente 500 (5) ist vorgesehen, dass wenigstens eine Zeitgebereinrichtung (z.B. vergleichbar zu der vorstehend unter Bezugnahme auf Ausführungsformen der Unterbrechungsanforderungs-Verteilereinrichtung 100' beschrieben) vorgesehen ist, um die Verzögerungszeit T1 zu ermitteln bzw. vorzugeben.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente 500 ist die elektronische Funktionskomponente 500 dazu ausgebildet, Konfigurationsinformationen von einer externen Komponente zu empfangen und/oder Konfigurationsinformationen 540 wenigstens zeitweise lokal zu speichern, wobei die Konfigurationsinformationen insbesondere die Verzögerungszeit charakterisieren.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente 500 ist die elektronische Funktionskomponente 500 dazu ausgebildet, eine momentan laufende Verzögerungszeit zu unterbrechen, wobei die elektronische Funktionskomponente 500 insbesondere dazu ausgebildet ist, während einer momentan laufenden Verzögerungszeit einen Unterbrechungsbefehl HLT zu empfangen (vorliegend beispielhaft von der Recheneinheit 100'') und in Reaktion auf den Empfang des Unterbrechungsbefehls HLT die momentan laufende Verzögerungszeit zu unterbrechen, z.B. vergleichbar zu der vorstehend unter Bezugnahme auf Ausführungsformen der Unterbrechungsanforderungs-Verteilereinrichtung 100' beschrieben.
  • Bei einer weiteren Ausführungsform der elektronischen Funktionskomponente 500 ist die elektronische Funktionskomponente zumindest teilweise, vorzugsweise jedoch vollständig, als Hardware-Schaltung ausgebildet, bevorzugt beispielsweise unter Verwendung von Halbeitertechnologien mit Strukturgrößen im Bereich von etwa 16 nm (Nanometer) und etwa 60 nm.
  • Besonders vorteilhaft kann die Unterbrechungsanforderungs-Verteilereinrichtung 100, 100' und/oder die elektronische Funktionskomponente 500 in eine andere Einheit wie z.B. eine Recheneinheit, z.B. einen Mikrocontroller mit wenigstens einem Rechenkern, oder in ein Kommunikationsmodul (z.B. vom SPI- oder MSC-Typ) integriert sein, insbesondere auch auf einem selben Halbleitersubstrat wie die andere Einheit angeordnet sein.
  • 6 zeigt hierzu einen Mikrocontroller 1000, in den die Unterbrechungsanforderungs-Verteilereinrichtung 100 integriert ist, und 8 zeigt hierzu einen anderen Mikrocontroller 2000, in den die elektronische Funktionskomponente 500 integriert ist.
  • 9 zeigt schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des eines erfindungsgemäßen Betriebsverfahrens für die elektronische Funktionskomponente 500. In Schritt 600 wird ein Eingangssignal i (5) empfangen, in Schritt 610 (9) wird hieraus wenigstens ein Unterbrechungsanforderungssignal irq (5) erzeugt, in Schritt 620 wird das Unterbrechungsanforderungssignal irq verzögert, und in Schritt 630 wird das verzögerte Unterbrechungsanforderungssignal irq_o ausgegeben.
  • Das erfindungsgemäße Prinzip kann vorteilhaft mit beliebigen Interruptquellen und/oder Interruptsenken kombiniert werden, wie sie z.B. auf dem Gebiet der Mikrocontrollertechnik vorkommen. Durch geeignete Vorgabe der Verzögerungszeiten können vorteilhaft hohe zeitliche Raten von eingehenden Unterbrechungsanforderungen kompensiert bzw. die entsprechenden Unterbrechungsanforderungen zeitlich entzerrt werden, was mehr Freiraum bietet für laufende Anwendungen (Tasks), die auf Unterbrechungsanforderungen basieren. Ein System, das das erfindungsgemäße Prinzip ausnutzt kann besser intern zeitlich ausbalanciert werden und erhält dadurch eine erhöhte Stabilität. Insbesondere kann verhindert werden, dass sich viele zeitlich zusammenfallende Unterbrechungsanforderungen gegenseitig blockieren.
  • Das erfindungsgemäße Prinzip kann besonders vorteilhaft auch in Systemen verwendet werden, bei denen Unterbrechungsanforderungen als Trigger (Startsignal) für Speicherdirektzugriffs(direct memory access, kurz "DMA")-Übertragungen verwendet werden. Bei manchen Kommunikationsmodulen (z.B. SPI, MSC) kann eine Kommunikation externen Busteilnehmern (z.B. Slaves) in einem kontinuierlichen Zeitraster (z.B. alle 10ms) ablaufen. Dabei werden Kommunikations- bzw. Datenübertragungsaufträge durch eine Recheneinheit in einen Puffer (englisch: queue) am Anfang des Zeitrasters von z.B. 10 ms eingestellt. Alle Aufträge müssen innerhalb von 10ms übertagen werden, weil die Queue im nächsten 10ms Raster neu gefüllt wird. Die Aufträge werden vorteilhaft mit Hilfe von Unterbrechungsanforderungen (Interrupts) (z.B. vom Typ "Übertagung fertig", "neuen Auftrag starten", etc.) nach und nach durch die Recheneinheit abgearbeitet. So kann am Anfang des 10ms Rasters eine sehr hohe Interrupt-Last für das System entstehen, weil die Übertragungen quasi back-to-back (Bursts) erfolgen. Da das 10ms Raster, zeitlich gesehen, normalerweise nicht vollgefüllt ist, entstehen nach den Übertragungen relativ lange Ruhepause bis zum nächsten 10ms Zyklusanfang. Die hohe Auslastung am Beginn führt dazu, dass andere laufenden Tasks nicht rechtzeitig abgeschlossen werden können. Man spricht hier vom hohen Taskjitter, der das gesamte System instabil macht. Diese Nachteile können durch den Einsatz des erfindungsgemäßen Prinzips vermieden werden, indem z.B. gehäuft zu Beginn des Zeitrasters von 10 ms auftretende Unterbrechungsanforderungen durch geeignete Wahl unterschiedlicher Verzögerungszeiten T1, T2, T3 zeitlich entzerrt und damit gleichmäßiger über das Zeitraster verteilt werden.

Claims (13)

  1. Unterbrechungsanforderungs-Verteilereinrichtung (100), insbesondere für eine mindestens einen Rechenkern (202) aufweisende Recheneinheit (200), wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) wenigstens einen Eingang (102) zum Empfang (400) von Eingangs-Unterbrechungsanforderungssignalen (irq_i) und wenigstens einen Ausgang (112) zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen (irq_o), insbesondere an die Recheneinheit (200), aufweist, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) dazu ausgebildet ist, wenigstens ein Ausgangs-Unterbrechungsanforderungssignal (irq_o) in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals (irq_i) zu bilden, dadurch gekennzeichnet, dass die Unterbrechungsanforderungs-Verteilereinrichtung (100) eine Verzögerungseinrichtung (120) aufweist, die dazu ausgebildet ist, ein Eingangs-Unterbrechungsanforderungssignal (irq_i) um eine vorgebbare Verzögerungszeit (T1) zu verzögern (410), um ein verzögertes Unterbrechungsanforderungssignal (irq_d) zu erhalten und das verzögerte Unterbrechungsanforderungssignal (irq_d) als Ausgangs-Unterbrechungsanforderungssignal (irq_o) an dem wenigstens einen Ausgang (112) auszugeben (420).
  2. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach Anspruch 1, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) m viele Eingänge (102a, 102b, 102c, 102d) zum Empfang von Eingangs-Unterbrechungsanforderungssignalen (irq_i1, irq_i2, irq_i3, irq_i4) aufweist, wobei m größer 1 ist, und/oder wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) n viele Ausgänge (112a, 112b, 112c, 112d) zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen (irq_o) aufweist, wobei n größer 1 ist.
  3. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) mehrere Verzögerungseinrichtungen (120a, 120b, 120c) aufweist, die dazu ausgebildet sind, Eingangs-Unterbrechungsanforderungssignale (irq_i) um jeweils zueinander identische oder verschiedene Verzögerungszeiten (T1, T2, T3) zu verzögern.
  4. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach einem der vorstehenden Ansprüche, wobei wenigstens eine Zeitgebereinrichtung (130) vorgesehen ist, um die Verzögerungszeit bzw. die Verzögerungszeiten zu ermitteln bzw. vorzugeben.
  5. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) dazu ausgebildet ist, Konfigurationsinformationen von einer externen Komponente (10; 200; 200') zu empfangen und/oder Konfigurationsinformationen wenigstens zeitweise lokal zu speichern, wobei die Konfigurationsinformationen insbesondere die Verzögerungszeit (T1) bzw. eine Verzögerungszeit (T1, T2, T3) charakterisieren.
  6. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) dazu ausgebildet ist, eine momentan laufende Verzögerungszeit (T1, T2, T3) zu unterbrechen, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) insbesondere dazu ausgebildet ist, während einer momentan laufenden Verzögerungszeit (T1, T2, T3) einen Unterbrechungsbefehl (HLT) zu empfangen und in Reaktion auf den Empfang des Unterbrechungsbefehls (HLT) die momentan laufende Verzögerungszeit (T1, T2, T3) zu unterbrechen.
  7. Unterbrechungsanforderungs-Verteilereinrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) zumindest teilweise, vorzugsweise jedoch vollständig, als Hardware-Schaltung ausgebildet ist.
  8. Elektronische Funktionskomponente (500), die dazu ausgebildet ist, mindestens ein Unterbrechungsanforderungssignal (irq_o) für mindestens eine weitere Komponente (100''), insbesondere einen Rechenkern (202) einer Recheneinheit (200), zu erzeugen, dadurch gekennzeichnet, dass die Funktionskomponente (500) einen Eingang (502) zum Empfang (600) eines Eingangssignals (i) und eine Unterbrechungsanforderungssignalerzeugungseinrichtung (510) aufweist, wobei die Unterbrechungsanforderungssignalerzeugungseinrichtung (510) dazu ausgebildet ist, in Abhängigkeit des Eingangssignals (i) wenigstens ein Unterbrechungsanforderungssignal (irq) zu erzeugen (610), und dass die Funktionskomponente (500) eine Verzögerungseinrichtung (520) aufweist, die dazu ausgebildet ist, das wenigstens eine Unterbrechungsanforderungssignal (irq) um eine vorgebbare Verzögerungszeit (T1) zu verzögern (620), um ein verzögertes Unterbrechungsanforderungssignal (irq_d) zu erhalten und das verzögerte Unterbrechungsanforderungssignal (irq_d) als Ausgangs-Unterbrechungsanforderungssignal (irq_o) an die mindestens eine weitere Komponente (100''; 202) auszugeben (630).
  9. Recheneinheit (1000; 1000'; 2000), insbesondere Mikrocontroller, mit wenigstens einem Rechenkern, wobei die Recheneinheit (1000; 1000'; 2000) wenigstens eine Unterbrechungsanforderungs-Verteilereinrichtung (100; 100') und/oder wenigstens eine elektronische Funktionskomponente (500) nach einem der vorstehenden Ansprüche aufweist.
  10. Verfahren zum Betreiben einer Unterbrechungsanforderungs-Verteilereinrichtung (100), insbesondere für eine mindestens einen Rechenkern (202) aufweisende Recheneinheit (200), wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) wenigstens einen Eingang (102) zum Empfang (400) von Eingangs-Unterbrechungsanforderungssignalen (irq_i) und wenigstens einen Ausgang (112) zur Ausgabe von Ausgangs-Unterbrechungsanforderungssignalen (irq_o), insbesondere an die Recheneinheit (200), aufweist, wobei die Unterbrechungsanforderungs-Verteilereinrichtung (100) dazu ausgebildet ist, wenigstens ein Ausgangs-Unterbrechungsanforderungssignal (irq_o) in Abhängigkeit wenigstens eines Eingangs-Unterbrechungsanforderungssignals (irq_i) zu bilden, dadurch gekennzeichnet, dass die Unterbrechungsanforderungs-Verteilereinrichtung (100) ein Eingangs-Unterbrechungsanforderungssignal (irq_i) mittels einer Verzögerungseinrichtung (120) um eine vorgebbare Verzögerungszeit (T1) verzögert (410), um ein verzögertes Unterbrechungsanforderungssignal (irq_d) zu erhalten und das verzögerte Unterbrechungsanforderungssignal (irq_d) als Ausgangs-Unterbrechungsanforderungssignal (irq_o) an dem wenigstens einen Ausgang (112) ausgibt (420).
  11. Verfahren nach Anspruch 10, wobei Konfigurationsinformationen (140) von einer externen Komponente (10; 200; 200') empfangen werden und/oder Konfigurationsinformationen (140) wenigstens zeitweise lokal gespeichert werden, wobei die Konfigurationsinformationen (140) insbesondere die Verzögerungszeit (T1) bzw. eine Verzögerungszeit (T1, T2, T3) charakterisieren.
  12. Verfahren nach Anspruch 10 oder 11, wobei während einer momentan laufenden Verzögerungszeit ein Unterbrechungsbefehl (HLT) in der Unterbrechungsanforderungs-Verteilereinrichtung erzeugt wird und/oder von der Unterbrechungsanforderungs-Verteilereinrichtung empfangen wird, und wobei in Reaktion auf die Erzeugung und/oder den Empfang des Unterbrechungsbefehls (HLT) die momentan laufende Verzögerungszeit unterbrochen wird.
  13. Verfahren zum Betreiben einer elektronischen Funktionskomponente (500) die dazu ausgebildet ist, mindestens ein Unterbrechungsanforderungssignal (irq) für mindestens eine weitere Komponente (100''), insbesondere einen Rechenkern (202) einer Recheneinheit (200), zu erzeugen, dadurch gekennzeichnet, dass die Funktionskomponente (500) einen Eingang (502) zum Empfang eines Eingangssignals (i) und eine Unterbrechungsanforderungssignalerzeugungseinrichtung (510) aufweist, wobei die Unterbrechungsanforderungssignalerzeugungseinrichtung (510) in Abhängigkeit des Eingangssignals (i) wenigstens ein Unterbrechungsanforderungssignal (irq) erzeugt, und dadurch, dass die Funktionskomponente (500) eine Verzögerungseinrichtung (520) aufweist, die das wenigstens eine Unterbrechungsanforderungssignal (irq) um eine vorgebbare Verzögerungszeit (T1) verzögert, um ein verzögertes Unterbrechungsanforderungssignal (irq_d) zu erhalten, und das verzögerte Unterbrechungsanforderungssignal (irq_d) als Ausgangs-Unterbrechungsanforderungssignal (irq_o) an die mindestens eine weitere Komponente (100''; 202) ausgibt.
DE102016212808.6A 2016-07-13 2016-07-13 Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür Pending DE102016212808A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016212808.6A DE102016212808A1 (de) 2016-07-13 2016-07-13 Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür
CN201710564889.XA CN107621974B (zh) 2016-07-13 2017-07-12 中断请求分配装置和对此的运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016212808.6A DE102016212808A1 (de) 2016-07-13 2016-07-13 Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102016212808A1 true DE102016212808A1 (de) 2018-01-18

Family

ID=60782486

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016212808.6A Pending DE102016212808A1 (de) 2016-07-13 2016-07-13 Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür

Country Status (2)

Country Link
CN (1) CN107621974B (de)
DE (1) DE102016212808A1 (de)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495571A (en) * 1979-01-31 1985-01-22 Honeywell Information Systems Inc. Data processing system having synchronous bus wait/retry cycle
US5761444A (en) * 1995-09-05 1998-06-02 Intel Corporation Method and apparatus for dynamically deferring transactions
JP4219818B2 (ja) * 2002-01-24 2009-02-04 富士通株式会社 割込み遅延を動的に決定する計算機
JP2004157730A (ja) * 2002-11-06 2004-06-03 Renesas Technology Corp マイクロコンピュータ
JP3952992B2 (ja) * 2003-06-03 2007-08-01 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2006185365A (ja) * 2004-12-28 2006-07-13 Renesas Technology Corp 半導体装置およびデバッグ方法
JP4653192B2 (ja) * 2008-04-25 2011-03-16 富士通株式会社 割込み遅延を動的に決定する計算機
US8015337B2 (en) * 2009-03-23 2011-09-06 Arm Limited Power efficient interrupt detection
US8713235B2 (en) * 2011-05-02 2014-04-29 Fairchild Semiconductor Corporation Low latency interrupt collector
JP5829890B2 (ja) * 2011-11-02 2015-12-09 ルネサスエレクトロニクス株式会社 半導体データ処理装置、タイムトリガ通信システム及び通信システム
DE102012112363A1 (de) * 2012-01-30 2013-08-01 Samsung Electronics Co., Ltd. Verfahren zum Verbreiten einer Mehrzahl von Interrupts, Interrupt-Anforderungssignal-Verbreitungsschaltungen und Ein-Chip-Systeme, welche dieselben aufweisen
CN105024777B (zh) * 2015-07-29 2017-10-24 上海新时达电气股份有限公司 基于EtherCAT实时以太网的伺服驱动器同步方法

Also Published As

Publication number Publication date
CN107621974A (zh) 2018-01-23
CN107621974B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
EP0851348B1 (de) Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm
DE3300261C2 (de)
DE2731188C2 (de) Schaltungsanordnung zur Behandlung von Unterbrechungsanforderungen
DE2443579C3 (de) Asynchroner Arbiter
DE102015117511A1 (de) Effizientes Versatzzeitablaufsteuerungs-Verfahren für Leistungsfähigkeit und geringe Leistungsaufnahme einer Taktnetzanwendung
EP3224731B1 (de) Verfahren und vorrichtung zur weiterleitung von daten
DE102011007603A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit
DE102004061339A1 (de) Scheduling-Verfahren, insbesondere Kontex-Scheduling-Verfahren, und Einrichtung zur Verwendung bei einem Scheduling-Verfahren
EP1067448B1 (de) PC-System für Echtzeit- und Nicht-Echtzeitprogramme
EP2982063B1 (de) Automatisierungseinrichtung und verfahren zur reduzierung von jittern
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
DE10261768A1 (de) Schaltkreis zur Steuerung eines AC-Zeitsteuerungsparameters eines Halbleiterspeicherbauelements und zugehöriges Verfahren
DE4406094A1 (de) Verfahren und Vorrichtung zum Echtzeitbetrieb eines Prozessors
DE60032805T2 (de) Vorrichtung zur arbitrierung eines speicherressources basiert auf zuteilung von zeitschlitzen
EP1320047B1 (de) Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
DE102016212808A1 (de) Unterbrechungsanforderungs-Verteilereinrichtung und Betriebsverfahren hierfür
DE10085501B3 (de) Ein Verfahren und eine Einrichtung für einen isochronen Datentransport über einen asynchronen Bus
DE10361364A1 (de) Auf Nachrichten basierender Transportmechanismus für prioritätsabhängige Interruptereignisse
DE102019218248A1 (de) Vermittlungsvorrichtung
EP1047990B1 (de) Vorrichtung und verfahren zur steuerung von prozessen auf einem computersystem
DE3126384C2 (de) Prioritätsauswahleinrichtung
DE60103221T2 (de) Gerät und Verfahren zur Signalgruppenübertragung zwischen digitalen Signalprozessoren in einer digitalen Signalverarbeitungseinheit
WO2023138870A1 (de) Verfahren und datenverarbeitungsnetzwerk zur verarbeitung von sensordaten
DE102015104460B4 (de) Priorisieren von ereignissen, auf die ein prozessor reagieren soll
DE102016211430A1 (de) Vorrichtung für eine Anlage zur Verwendung in einem automatisierten Prozess und Verfahren für einen automatisierten Prozess

Legal Events

Date Code Title Description
R012 Request for examination validly filed