DE112005003191T5 - Verfahren, Vorrichtung und System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle - Google Patents

Verfahren, Vorrichtung und System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle Download PDF

Info

Publication number
DE112005003191T5
DE112005003191T5 DE112005003191T DE112005003191T DE112005003191T5 DE 112005003191 T5 DE112005003191 T5 DE 112005003191T5 DE 112005003191 T DE112005003191 T DE 112005003191T DE 112005003191 T DE112005003191 T DE 112005003191T DE 112005003191 T5 DE112005003191 T5 DE 112005003191T5
Authority
DE
Germany
Prior art keywords
extender
expander
relevant state
interrupt
interface
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
DE112005003191T
Other languages
English (en)
Inventor
David Beaverton Lee
Steve Portland Kulick
Sivakumar Portland Radhakrishnan
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112005003191T5 publication Critical patent/DE112005003191T5/de
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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • 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
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren, umfassend:
Kommunizieren mit einem Ein-/Ausgabe (E/A)-Erweiterer über eine serielle Schnittstelle, und
Sichern eines relevanten Zustands des E/A-Erweiterers in einem Speicher.

Description

  • GEBIET DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung betreffen im allgemeinen das Gebiet der Bauteilsignalisierung und insbesondere ein Verfahren, eine Vorrichtung und ein System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle.
  • AUSGANGSSITUATION DER ERFINDUNG
  • Unterbrechungen verwenden typischerweise Signal-Traces, um einem System oder Bauteil (zum Beispiel ein Chipsatz) zu signalisieren, daß ein peripheres Bauteil, vielleicht aufgrund einer Zustandsänderung, einen Dienst benötigt. Software-Unterbrechungsroutinen arbeiten typischerweise diese Unterbrechungen ab, indem sie die Einzelheiten des peripheren Bauteils durch Lesen von Zustandsregistern abfragen und geeignete Maßnahmen ergreifen. Gegenwärtig gibt es in der Elektronikindustrie Bestrebungen, Signal-Traces dort, wo es möglich ist, zu reduzieren, um die Kosten zu verringern und die Systemansprechzeiten mit dem Ziel der Leistungssteigerung zu verkürzen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist in den Figuren der beigefügten Zeichnungen, in denen gleiche Bezugszeichen gleiche Elemente angeben, beispielhaft und nicht einschränkend veranschaulicht. Es zeigt:
  • 1 ein Blockdiagramm eines beispielhaften elektronischen Geräts, das für die Implementierung eines Unterbrechungsagenten geeignet ist, gemäß einer beispielhaften Ausführungsform der Erfindung;
  • 2 ein Blockdiagramm einer beispielhaften Unterbrechungsagentenarchitektur gemäß einer beispielhaften Ausführungsform der Erfindung;
  • 3 ein Ablaufdiagramm eines beispielhaften Verfahrens zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle gemäß einer beispielhaften Ausführungsform der Erfindung; und
  • 4 ein Blockdiagramm eines beispielhaften Datenträgers, der einen Inhalt umfaßt, der, wenn ein Gerät auf ihn zugreift, bewirkt, daß das Gerät einen oder mehrere Aspekt/e einer oder mehrerer Ausführungsform/en der Erfindung implementiert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung sind im allgemeinen auf ein Verfahren, eine Vorrichtung und ein System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle gerichtet. In dieser Hinsicht, gemäß lediglich einer beispielhaften Implementierung der weiter gefaßten Lehre der vorliegenden Erfindung, wird ein Unterbrechungsagent eingeführt. Gemäß lediglich einer beispielhaften Ausführungsform wendet der Unterbrechungsagent ein innovatives Verfahren an, um über eine serielle Schnittstelle mit einem Ein-/Ausgabe-Erweiterer (E/A-Erweiterer) zu kommunizieren, einen relevanten Zustand des E/A-Erweiterers in einem Speicher zu sichern und den gesicherten relevanten Zustand des E/A-Erweiterers periodisch zu aktualisieren. Gemäß einem beispielhaften Verfahren kann der Unterbrechungsagent eine Unterbrechung auf der Grundlage einer Änderung des relevanten Zustands des E/A-Erweiterers ohne Verwendung eines Unterbrechungssignals des E/A-Erweiterers generieren. Gemäß einem anderen beispielhaften Verfahren kann der Unterbrechungsagent Software programmieren, um auf eine Änderung des relevanten Zustands des E/A-Erweiterers zu reagieren. Der relevante Zustand des E/A-Erweiterers kann eine Untermenge aller Zustandsregister sein, die aktive Funktionen einschließen, die überwacht werden.
  • In der folgenden Beschreibung sind zum Zwecke der Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis für die Erfindung zu schaffen. Einem Fachmann wird jedoch einleuchten, daß Ausführungsformen der Erfindung auch ohne diese spezifischen Einzelheiten ausführbar sind. In anderen Fällen sind Strukturen und Geräte in Blockdiagrammform dargestellt, um die Erfindung nicht unverständlich zu machen.
  • Überall dort, wo in dieser Patentbeschreibung auf „eine Ausführungsform" Bezug genommen wird, wird damit ausgesagt, daß ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Erfindung eingeschlossen ist. Somit beziehen sich Verwendungen der Wendung „in einer Ausführungsform" an verschiedenen Stellen dieser Patentbeschreibung nicht notwendigerweise alle auf dieselbe Ausführungsform. Außerdem sind die bestimmten Merkmale, Strukturen oder Eigenschaften auf jede geeignete Weise in einer oder mehreren Ausführungsform/en kombinierbar.
  • 1 ist ein Blockdiagramm eines beispielhaften elektronischen Geräts, das für die Implementierung eines Unterbrechungsagenten geeignet ist, gemäß einer beispielhaften Ausführungsform der Erfindung. Das elektronische Gerät 100 soll ein beliebiges Element aus einer breiten Palette von herkömmlichen und nichtherkömmlichen elektronischen Geräten, Laptops, Desktops, Mobiltelefonen, Drahtloskommunikationsteilnehmereinheiten, Infrastrukturelementen der Drahtloskommunikationstelefonie, persönlichen digitalen Assistenten (personal digital assistants), Set-Top-Boxen, oder ein beliebiges elektrisches Gerät darstellen, für das sich aus der Lehre der vorliegenden Erfindung ein Nutzen ergeben würde. Gemäß der dargestellten beispielhaften Ausführungsform kann das elektronische Gerät 100 einen oder mehrere Prozessor/en 102, einen Speicher-Controller 104, einen Unterbrechungsagenten 106, einen Systemspeicher 108, einen Ein-/Ausgabe-Erweiterer 110 und ein oder mehrere Ein-/Ausgabe-Gerät/e 112, die gemäß der Darstellung in 1 gekoppelt sind, einschließen. Der Unterbrechungsagent 106, der im folgenden ausführlicher beschrieben wird, ist durchaus in elektronischen Geräten verwendbar, die mehr oder weniger kompliziert als das in 1 gezeigte Gerät sind. Auch sind die innovativen Eigenschaften des Unterbrechungsagenten 106, die im folgenden ausführlicher beschrieben werden, in einer beliebigen Hardware-Software-Kombination darstellbar.
  • Der Prozessor bzw. die Prozessoren 102 kann bzw. können eine beliebige Steuerlogik aus einer breiten Steuerlogikpalette darstellen, einschließlich, ohne darauf beschränkt zu sein, eines Mikroprozessors und/oder einer programmierbaren Logikschaltung (PLD) und/oder eines programmierbaren logischen Felds (PLA) und/oder einer anwendungsspezifischen integrierten Schaltung (ASIC) und/oder eines Mikrokontrollers und dergleichen, auch wenn die vorliegende Erfindung nicht in dieser Hinsicht beschränkt ist.
  • Der Speicher-Controller 104 kann jede Art von Chipsatz oder Steuerlogik darstellen, die den Systemspeicher 108 an die anderen Bauteile des elektronischen Geräts 100 anschließt. In einer Ausführungsform ist es möglich, die Verbindung zwischen dem Prozessor/den Prozessoren 102 und dem Speicher-Controller 104 als Front-Side-Bus zu bezeichnen. In einer anderen Ausführungsform ist es möglich, den Speicher-Controller 104 als Northbridge oder Memory Controller Hub (MCH) zu bezeichnen.
  • Der Unterbrechungsagent 106 kann eine solche Architektur haben, wie sie ausführlicher unter Bezugnahme auf 2 beschrieben ist. Der Unterbrechungsagent 106 kann auch ein oder mehrere Verfahren zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle ausführen, zum Beispiel das Verfahren, das ausführlicher unter Bezugnahme auf 3 beschrieben ist. Zwar ist der Unterbrechungsagent 106 als Teil des Speicher-Controllers 104 dargestellt, doch kann er durchaus Teil eines anderen Bauteils sein, zum Beispiel des Prozessors/der Prozessoren 102, oder ist in Software oder einer Hardware-Software-Kombination implementierbar.
  • Der Systemspeicher 108 kann jede Art von Speicherelement bzw. Speicherelementen darstellen, die zur Speicherung von Daten und Befehlen verwendet wird, die von dem Prozessor bzw. den Prozessoren 102 eventuell verwendet worden sind oder von diesem bzw. diesen zu einem späteren Zeitpunkt verwendet werden. Typischerweise besteht der Systemspeicher 108 aus einem dynamischen Direktzugriffsspeicher (DRAM), auch wenn die Erfindung nicht in dieser Hinsicht beschränkt ist. In einer Ausführungsform kann der Systemspeicher 108 aus einem Rambus-DRAM (RDRAM) bestehen. In einer anderen Ausführungsform kann der Systemspeicher 108 aus einem synchronen DRAM mit doppelter Datenrate (DDR-SDRAM) bestehen. Die vorliegende Erfindung ist jedoch nicht auf die hierin erwähnten Speicherbeispiele beschränkt.
  • Der Ein-/Ausgabe-Erweiterer (E/A-Erweiterer) 110 kann jede Art von Chipsatz oder Steuerlogik darstellen, die das E/A-Gerät bzw. die E/A-Geräte 112 an die anderen Bauteile des elektronischen Geräts 100 anschließt. In einer Ausführungsform kann der E/A-Erweiterer 110 ein Philips PCA9555 oder ein ähnliches Bauteil sein. In einer anderen Ausführungsform kann der E/A-Erweiterer 110 einige der Funktionen ausführen, die es dem elektronischen Gerät 100 erlauben, der Peripheral Component Interconnect (PCI) Standard Hot-Plug Controller (SHPC) and Subsystem Specification, Revision 1.0, PCI Special Interest Group, herausgegeben am 20. Juni 2001, zu entsprechen. Der E/A-Erweiterer 110 kann innere Zustandsregister haben, die sich auf seinen Betrieb und den Betrieb des E/A-Geräts bzw. der E/A-Geräte 112 beziehen.
  • Das Ein-/Ausgabe-Gerät bzw. die Ein-/Ausgabe-Geräte (E/A-Gerät bzw. E/A-Geräte) 112 kann bzw. können jede Art von Gerät, Peripheriegerät oder Bauteil darstellen, die eine Eingabe in das elektronische Gerät 100 bereitstellt oder dessen Ausgabe verarbeitet. In einer Ausführungsform kann bzw. können das E/A-Gerät bzw. die E/A-Geräte 112 der PCI ExpressTM Base Specification, Revision 1.0a, PCI Special Interest Group, herausgegeben am 15. April 2003, entsprechen, auch wenn die vorliegende Erfindung nicht in dieser Hinsicht beschränkt ist.
  • 2 ist ein Blockdiagramm einer beispielhaften Unterbrechungsagentenarchitektur gemäß einer beispielhaften Ausführungsform der Erfindung. Wie zu sehen ist, kann der Unterbrechungsagent 106 eine Steuerlogik 202 und/oder einen Speicher 204 und/oder eine Erweiterungsschnittstelle 206 und/oder eine Unterbrechungsmaschine 208 einschließen, die gemäß der Darstellung in 2 gekoppelt sind. Gemäß einem Aspekt der vorliegenden Erfindung, der weiter unten noch ausführlicher dargelegt wird, kann der Unterbrechungsagent 106 eine Unterbrechungsmaschine 208 einschließen, die einen oder mehrere Dienste zur zyklischen Abfrage 210, Änderungsdienst/e (Update services) 212 und/oder Auslösedienst/e 214 umfaßt. Zwar zeigt die Figur eine Anzahl von verschiedenen Funktionsblöcken, doch versteht es sich, daß ein oder mehrere Element/e 202-214 durchaus zu einem oder mehreren Multifunktionsblock/-blöcken zusammenfaßbar ist/sind. Entsprechend ist die Unterbrechungsmaschine 208 durchaus mit einer geringeren Anzahl von Funktionsblöcken ausführbar, das heißt, nur mit Änderungsdiensten 212, ohne dabei vom Geist und Schutzbereich der vorliegenden Erfindung abzuweichen, und durchaus in Hardware, Software, Firmware oder einer beliebigen Kombination aus diesen implementierbar. In dieser Hinsicht sind der Unterbrechungsagent 106 im allgemeinen und die Unterbrechungsmaschine 208 im besonderen lediglich Veranschaulichungen einer beispielhaften Implementierung eines Aspekts der vorliegenden Erfindung. Im Sinne der vorliegenden Erfindung ist der Unterbrechungsagent 106 durchaus in Hardware, Software, Firmware und/oder einer beliebigen Kombination aus diesen darstellbar.
  • Wie oben bereits erwähnt, kann der Unterbrechungsagent 106 die Fähigkeit besitzen, über eine serielle Schnittstelle mit einem E/A-Erweiterer zu kommunizieren, einen relevanten Zustand des E/A-Erweiterers in einem Speicher zu sichern und den gesicherten relevanten Zustand des E/A-Erweiterers periodisch zu aktualisieren. In einer Ausführungsform kann der Unterbrechungsagent 106 eine Unterbrechung auf der Grundlage einer Änderung des inneren Zustands des E/A-Erweiterers ohne Verwendung eines Unterbrechungssignals des E/A-Erweiterers generieren. In einer anderen Ausführungsform kann der Unterbrechungsagent 106 Software programmieren, um auf eine Änderung des inneren Zustands des E/A-Erweiterers zu reagieren. Einem Fachmann wird einleuchten, daß der Unterbrechungsagent 106 die Unterbrechungsdienstlatenzzeit verkürzen und die Platinen-Traces reduzieren kann.
  • Im Sinne der vorliegenden Erfindung stellt die Steuerlogik 202 die logische Schnittstelle zwischen dem Unterbrechungsagenten 106 und seinem elektronischen Host-Gerät 100 bereit. In dieser Hinsicht kann die Steuerlogik 202 einen oder mehrere Aspekt/e des Unterbrechungsagenten 106 verwalten, um eine Kommunikationsschnittstelle zum elektronischen Gerät 100 bereitzustellen, zum Beispiel über den Speicher-Controller 104.
  • Gemäß einem Aspekt der vorliegenden Erfindung kann die Steuerlogik 202 die Ressource/n der Unterbrechungsmaschine 208 selektiv aufrufen, auch wenn die Ansprüche nicht in dieser Hinsicht beschränkt sind. Als Teil eines beispielhaften Verfahrens zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle, das ausführlicher unter Bezugnahme auf 3 beschrieben ist, kann die Steuerlogik 202 die Dienste zur zyklischen Abfrage 210 selektiv aufrufen, die die relevanten inneren Zustandsregister des E/A-Erweiterers 110 lesen und im Speicher 204 eine Kopie sichern können. Die Steuerlogik 202 kann auch die Änderungsdienste 212 oder die Auslösedienste 214 selektiv aufrufen, wie das ausführlicher unter Bezugnahme auf 3 beschrieben ist, um den gesicherten relevanten Zustand des E/A-Erweiterers 110 periodisch zu aktualisieren bzw. eine Software-Unterbrechung auf der Grundlage einer vorgegebenen Änderung des gesicherten relevanten Zustands des E/A-Erweiterers 110 zu initiieren. Im Sinne der vorliegenden Erfindung soll die Steuerlogik 202 eine beliebige Steuerlogik aus einer breiten Steuerlogikpalette, die auf diesem Fachgebiet bekannt ist, darstellen und ist als solche durchaus als Mikroprozessor, Mikrokontroller, feldprogrammierbares Gate-Array (FPGA), anwendungsspezifische integrierte Schaltung (ASIC), programmierbare Logikschaltung (PLD) und dergleichen implementierbar. In einigen Implementierungen soll die Steuerlogik 202 einen Inhalt (zum Beispiel Software-Befehle usw.) darstellen, der, wenn er ausgeführt wird, die hierin beschriebenen Merkmale der Steuerlogik 202 implementiert.
  • Der Speicher 204 soll ein beliebiges Element aus einer breiten Palette von Speicherelementen und/oder Speichersystemen, die auf diesem Fachgebiet bekannt sind, darstellen. Gemäß einer beispielhaften Implementierung kann der Speicher 204 durchaus flüchtige und nichtflüchtige Speicherelemente, möglicherweise Direktzugriffsspeicher (RAM) und/oder Nur-Lese-Speicher (ROM), einschließen, auch wenn die Ansprüche nicht in dieser Hinsicht beschränkt sind. Der Speicher 204 ist zum Beispiel zur Speicherung von inneren Zustandsinformationen, die aus dem E/A-Erweiterer 110 ausgelesen werden, verwendbar.
  • Die Erweiterungsschnittstelle 206 stellt einen Weg bereit, auf dem der Unterbrechungsagent 106 mit dem E/A-Erweiterer 110 kommunizieren kann. In einer Ausführungsform kann die Erweiterungsschnittstelle 206 einen beliebigen Controller aus einer breiten Palette von Controllern, die auf diesem Fachgebiet bekannt sind, darstellen. In einer Ausführungsform kann die Erweiterungsschnittstelle 206 der System Management Bus (SMBus) Specification, Version 2.0, SBS Implementers Forum, herausgegeben am 3. August 2000, entsprechen. In einer anderen Ausführungsform kann die Erweiterungsschnittstelle 206 einen I2C-Bus darstellen.
  • Wie oben bereits erwähnt, ist die Unterbrechungsmaschine 208 selektiv durch die Steuerlogik 202 aufrufbar, um den relevanten Zustand eines E/A-Erweiterers in einem Speicher zu sichern, den gesicherten relevanten Zustand des E/A-Erweiterers periodisch zu aktualisieren oder eine Unterbrechung auf der Grundlage einer vordefinierten Änderung des relevanten Zustands des E/A-Erweiterers auszulösen. Gemäß der dargestellten beispielhaften Implementierung von 2 ist die Unterbrechungsmaschine 208 so dargestellt, daß sie einen oder mehrere Dienst/e zur zyklischen Abfrage 210, Änderungsdienst/e 212 und Auslösedienst/e 214 umfaßt. Zwar zeigt die Figur eine Anzahl von verschiedenen Elementen, doch wird Fachleuten einleuchten, daß ein oder mehrere Elemente 210-214 der Unterbrechungsmaschine 208 durchaus zusammenfaßbar ist/sind, ohne dabei vom Schutzbereich und Geist der vorliegenden Erfindung abzuweichen.
  • Wie oben bereits erwähnt, können die Dienste zur zyklischen Abfrage 210 dem Unterbrechungsagenten 106 die Fähigkeit verleihen, die relevanten inneren Zustandsregister des E/A-Erweiterers 110 zu lesen und im Speicher 204 eine Kopie zu sichern. In einer beispielhaften Ausführungsform können die Dienste zur zyklischen Abfrage 210 einen SMBus verwenden, um mit dem E/A-Erweiterer 110 zu kommunizieren.
  • Wie oben bereits erwähnt, können die Änderungsdienste 212 dem Unterbrechungsagenten 106 die Fähigkeit verleihen, den gesicherten relevanten Zustand des E/A-Erweiterers 110 periodisch zu aktualisieren. In einer beispielhaften Ausführungsform können die Änderungsdienste 212 den gesicherten relevanten Zustand des E/A-Erweiterers 110 nach einem vordefinierten Zeitabschnitt aktualisieren.
  • Wie oben bereits erwähnt, können die Auslösedienste 214 dem Unterbrechungsagenten 106 die Fähigkeit verleihen, eine Unterbrechung auf der Grundlage einer vordefinierten Änderung des gesicherten relevanten Zustands auszulösen. In einer Ausführungsform können die Auslösedienste 214 auf eine Änderung des gesicherten relevanten Zustands des E/A-Erweiterers 110 reagieren, indem sie Befehle von einer anderen Speicherstelle aufrufen. In einer anderen beispielhaften Ausführungsform können die Auslösedienste 214 eine Unterbrechung über den Speicher-Controller 104 initiieren, der Befehle aufrufen kann, um auf die Änderung des Zustands des E/A-Erweiterers 110 zu reagieren.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle gemäß einer beispielhaften Ausführungsform der Erfindung. Fachleuten wird ohne weiteres einleuchten, daß die folgenden Operationen zwar als sequentieller Prozeß beschreibbar sind, viele der Operationen aber tatsächlich parallel oder gleichzeitig ausführbar sind. Außerdem ist die Reihenfolge der Operationen veränderbar, ohne dabei vom Geist der Ausführungsformen der Erfindung abzuweichen.
  • Gemäß lediglich einer beispielhaften Implementierung beginnt das Verfahren 300 damit, daß die Dienste zur zyklischen Abfrage 210 dazu aufgerufen werden, den relevanten inneren Zustand des E/A-Erweiterers 110 zu sichern (siehe 302). In einer beispielhaften Ausführungsform wird der gesamte innere Zustand des E/A-Erweiterers 110 in den Speicher 204 kopiert. In einer anderen beispielhaften Ausführungsform wird nur eine relevante Untermenge des inneren Zustands des E/A-Erweiterers 110 auf der Grundlage von vordefinierten Einstellungen oder Verwendungen kopiert.
  • Als nächstes kann die Steuerlogik 202 die Änderungsdienste 212 selektiv dazu aufrufen, den gesicherten relevanten Zustand des E/A-Erweiterers 110 periodisch zu aktualisieren (siehe 304). In einer beispielhaften Ausführungsform kann die Aktualisierungsperiode regelmäßig und vordefiniert sein. In einer anderen beispielhaften Ausführungsform kann die Aktualisierungsperiode unregelmäßig und variabel sein.
  • Als nächstes können die Auslösedienste 214 eine Unterbrechung auf der Grundlage einer vordefinierten Änderung des gesicherten relevanten Zustands des E/A-Erweiterers 110 auslösen (siehe 306). In einer Ausführungsform kann eine logische Änderung des im Speicher 204 gespeicherten relevanten Zustands des E/A-Erweiterers 110 eine Unterbrechung über die Hardware auslösen. In einer anderen Ausführungsform können die Auslösedienste 214 den im Speicher 204 gespeicherten relevanten Zustand des E/A-Erweiterers 110 periodisch mit vordefinierten Bedingungen vergleichen, unter denen eine Unterbrechung ausgelöst werden sollte.
  • 4 veranschaulicht ein Blockdiagramm eines beispielhaften Datenträgers, der einen Inhalt umfaßt, der, wenn ein Gerät auf ihn zugreift, bewirkt, daß das Gerät eine oder mehrere Ausführungsform/en der Erfindung implementiert, zum Beispiel den Unterbrechungsagenten 106 und/oder das verknüpfte Verfahren 300. In dieser Hinsicht beinhaltet der Datenträger 400 einen Inhalt 402 (zum Beispiel Befehle, Daten oder eine beliebige Kombination aus diesen) der, wenn er ausgeführt wird, bewirkt, daß das Gerät einen oder mehrere oben beschriebene/n Aspekte des Unterbrechungsagenten 106 implementiert.
  • Das maschinenlesbare Medium (Datenträger) 400 kann, ohne darauf beschränkt zu sein, Disketten, optische Platten, CD-ROM's, magnetisch-optische Platten, ROMs, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Flash-Speicher oder eine andere Art von Medium/maschinenlesbarem Medium, das für die Speicherung von elektronischen Befehlen geeignet ist, einschließen. Außerdem ist die vorliegende Erfindung auch als Rechnerprogrammprodukt herunterladbar, wobei das Programm mittels Datensignalen, die in Form einer Trägerwelle oder eines anderen Übertragungsmediums vorliegen, über ein Datenübertragungssystem (zum Beispiel Modem-, Funk- oder Netzwerkverbindung) von einem entfernten Rechner an einen anfordernden Rechner übertragbar ist.
  • In der obigen Beschreibung sind zum Zwecke der Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis für die vorliegende Erfindung zu schaffen. Einem Fachmann wird jedoch einleuchten, daß die vorliegende Erfindung auch ohne einige dieser spezifischen Einzelheiten ausführbar ist. In anderen Fällen sind wohl bekannte Strukturen und Geräte in Blockdiagrammform dargestellt.
  • Ausführungsformen der vorliegenden Erfindung sind in verschiedenen Anwendungen verwendbar. Die hierin offenbarte Erfindung ist in Mikrokontrollern, Universalmikroprozessoren, digitalen Signalprozessoren (DSPs), beim Rechnen mit reduziertem Befehlsvorrat (RISC), beim Rechnen mit komplexem Befehlsvorrat (CISC) und in anderen elektronischen Bauteilen verwendbar, auch wenn die vorliegende Erfindung nicht in dieser Hinsicht beschränkt ist. Es versteht sich jedoch, daß der Schutzbereich der vorliegenden Erfindung nicht auf diese Beispiele beschränkt ist.
  • Ausführungsformen der vorliegenden Erfindung können auch in Blöcken aus integrierten Schaltungen eingeschlossen sein, die als Kernspeicher und Cache-Speicher bezeichnet werden, oder in anderen Speicherarten, die elektronische Befehle speichern, die durch den Mikroprozessor auszuführen sind, oder Daten speichern, die in arithmetischen Operationen verwendbar sind. Es ist zu beachten, daß die Ausführungsformen in Funksysteme oder tragbare Handgeräte integrierbar sind, insbesondere dann, wenn Geräte von einem reduzierten Stromverbrauch und/oder einer reduzierten Platinenfläche abhängen. Somit sollen Laptops, zellulare Mobilfunktelefonkommunikationssysteme, Gegensprechfunkkommunikationssysteme, Einrichtungsfunkrufempfänger, Gegensprechfunkrufempfänger, persönliche Kommunikationssysteme (personal communication systems – PCSs), persönliche digitale Assistenten (personal digital assistants – PDAs), Kameras und andere Produkte im Schutzbereich der vorliegenden Erfindung eingeschlossen sein.
  • Die vorliegende Erfindung schließt verschiedene Operationen ein. Die Operationen der vorliegenden Erfindung sind durch Hardware-Bauteile ausführbar oder sind als ein durch Maschinen ausführbarer Inhalt (zum Beispiel Befehle) darstellbar, der dazu verwendbar ist, zu bewirken, daß ein Universal- oder Spezialprozessor oder Logikschaltkreise, der bzw. die mit den Befehlen programmiert ist/sind, die Operationen ausführt/ausführen. Als Alternative dazu sind die Operationen durch eine Hardware-Software-Kombination ausführbar. Außerdem wird Fachleuten einleuchten, daß, auch wenn die Erfindung im Kontext eines Rechengeräts beschrieben worden ist, solche Funktionen durchaus in einer beliebigen Ausführungsform einer Anzahl von alternativen Ausführungsformen darstellbar sind, zum Beispiel integriert in ein Kommunikationsgerät (zum Beispiel ein Mobiltelefon).
  • Viele der Verfahren sind in ihrer einfachsten Form beschrieben, jedoch sind zu jedem der Verfahren Operationen hinzufügbar oder aus diesem entfernbar und zu jeder beschriebenen Nachricht Informationen hinzufügbar oder aus dieser entfernbar, ohne dabei vom grundlegenden Schutzbereich der vorliegenden Erfindung abzuweichen. Jede beliebige Anzahl von Variationen des Erfindungskonzepts wird im voraus als dem Schutzbereich und Geist der vorliegenden Erfindung entsprechend betrachtet. In dieser Hinsicht sind die konkreten illustrierten beispielhaften Ausführungsformen nicht bereitgestellt, um die Erfindung einzuschränken, sondern um sie lediglich zu veranschaulichen. Somit soll der Schutzbereich der vorliegenden Erfindung nicht durch die oben bereitgestellten spezifischen Beispiele, sondern nur durch die klare Sprache der folgenden Ansprüche bestimmt sein.
  • Zusammenfassung
  • In einigen Ausführungsformen sind ein Verfahren, eine Vorrichtung und ein System zum Generieren einer Unterbrechung (Interrupt) durch Überwachen einer externen Schnittstelle dargestellt. In dieser Hinsicht wird ein Unterbrechungsagent eingeführt, um über eine serielle Schnittstelle mit einem Ein-/Ausgabe (E/A)-Erweiterer zu kommunizieren und einen relevanten Zustand des E/A-Erweiterers in einem Speicher zu sichern. Es sind auch andere Ausführungsformen offenbart und beansprucht.

Claims (22)

  1. Verfahren, umfassend: Kommunizieren mit einem Ein-/Ausgabe (E/A)-Erweiterer über eine serielle Schnittstelle, und Sichern eines relevanten Zustands des E/A-Erweiterers in einem Speicher.
  2. Verfahren nach Anspruch 1, ferner umfassend: periodisches Aktualisieren des gesicherten relevanten Zustands des E/A-Erweiterers.
  3. Verfahren nach Anspruch 2, ferner umfassend: Generieren einer Unterbrechung auf der Grundlage einer Änderung des relevanten Zustands des E/A-Erweiterers ohne Verwendung eines Unterbrechungssignals des E/A-Erweiterers.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß das Kommunizieren über eine serielle Schnittstelle umfaßt: Kommunizieren über eine Schnittstelle, die der System Management Bus (SMBus)-Spezifikation entspricht.
  5. Verfahren nach Anspruch 3, ferner umfassend: Generieren einer Unterbrechung entsprechend einer Peripheral Component Interconnect (PCI) Standard Hot-Plug Controller (SHPC) and Subsystem-Spezifikation.
  6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der E/A-Erweiterer ein Bauteil des Typs Philips 9555 umfaßt.
  7. Elektronisches Gerät, umfassend: einen Prozessor, einen Ein-/Ausgabe (E/A)-Erweiterer, ein E/A-Gerät, das an den E/A-Erweiterer gekoppelt ist, und eine Unterbrechungsmaschine, die an den Prozessor und den E/A-Erweiterer gekoppelt ist, wobei die Unterbrechungsmaschine mit dem E/A-Erweiterer kommunizieren, einen relevanten Zustand des E/A-Erweiterers in einem Speicher sichern und Software, um auf eine Änderung des relevanten Zustands des E/A-Erweiterers zu reagieren, programmieren soll.
  8. Elektronisches Gerät nach Anspruch 7, ferner umfassend: die Unterbrechungsmaschine, um den gesicherten relevanten Zustand des E/A-Erweiterers periodisch zu aktualisieren.
  9. Elektronisches Gerät nach Anspruch 8, ferner umfassend: die Unterbrechungsmaschine, um eine Unterbrechung auf der Grundlage einer Änderung des relevanten Zustands des E/A-Erweiterers ohne Verwendung eines Unterbrechungssignals des E/A-Erweiterers zu generieren.
  10. Elektronisches Gerät nach Anspruch 9, ferner umfassend: die Unterbrechungsmaschine, um eine Unterbrechung entsprechend einer Peripheral Component Interconnect (PCI) Standard Hot-Plug Controller (SHPC) and Subsystem-Spezifikation zu generieren.
  11. Elektronisches Gerät nach Anspruch 9, dadurch gekennzeichnet, daß der E/A-Erweiterer ein Bauteil des Typs Philips 9555 umfaßt.
  12. Datenträger, der einen Inhalt umfaßt, der, wenn er durch eine Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine über eine serielle Schnittstelle mit einem Ein-/Ausgabe (E/A)-Erweiterer kommuniziert und einen relevanten Zustand des E/A-Erweiterers in einem Speicher sichert.
  13. Datenträger nach Anspruch 12, ferner umfassend einen Inhalt, der, wenn er durch die Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine den gesicherten relevanten Zustand des E/A-Erweiterers periodisch aktualisiert.
  14. Datenträger nach Anspruch 13, ferner umfassend einen Inhalt, der, wenn er durch die Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine eine Unterbrechung auf der Grundlage einer Änderung des relevanten Zustands des E/A-Erweiterers ohne Verwendung eines Unterbrechungssignals des E/A-Erweiterers generiert.
  15. Datenträger nach Anspruch 14, dadurch gekennzeichnet, daß der Inhalt zum Kommunizieren über eine serielle Schnittstelle einen Inhalt umfaßt, der, wenn er durch die Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine über eine Schnittstelle kommuniziert, die der System Management Bus (SMBus)-Spezifikation entspricht.
  16. Datenträger nach Anspruch 15, ferner umfassend einen Inhalt, der, wenn er durch die Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine eine Unterbrechung entsprechend einer Peripheral Component Interconnect (PCI) Standard Hot-Plug Controller (SHPC) and Subsystem-Spezifikation generiert.
  17. Datenträger nach Anspruch 15, dadurch gekennzeichnet, daß der Inhalt zum Kommunizieren mit einem E/A-Erweiterer einen Inhalt umfaßt, der, wenn er durch die Zugriffsmaschine ausgeführt wird, bewirkt, daß die Zugriffsmaschine mit einem Bauteil des Typs Philips 9555 kommuniziert.
  18. Vorrichtung, umfassend: eine serielle Schnittstelle, eine Prozessorschnittstelle, und Steuerlogik, die an die serielle Schnittstelle und an die Prozessorschnittstelle gekoppelt ist, wobei die Steuerlogik über die serielle Schnittstelle mit einem Ein-/Ausgabe (E/A)-Erweiterer kommunizieren und einen relevanten Zustand des E/A-Erweiterers in einem Speicher sichern soll.
  19. Vorrichtung nach Anspruch 18, ferner umfassend Steuerlogik, um den gesicherten relevanten Zustand des E/A-Erweiterers periodisch zu aktualisieren.
  20. Vorrichtung nach Anspruch 19, ferner umfassend Steuerlogik, um eine Unterbrechung über die Prozessorschnittstelle als Reaktion auf eine Änderung des relevanten Zustands des E/A-Erweiterers zu generieren.
  21. Vorrichtung nach Anspruch 20, ferner umfassend Steuerlogik, um eine Unterbrechung entsprechend einer Peripheral Component Interconnect (PCI) Standard Hot-Plug Controller (SHPC) and Subsystem-Spezifikation zu generieren.
  22. Vorrichtung nach Anspruch 21, dadurch gekennzeichnet, daß die serielle Schnittstelle eine Schnittstelle umfaßt, die der System Management Bus (SMBus)-Spezifikation entspricht.
DE112005003191T 2004-12-28 2005-12-28 Verfahren, Vorrichtung und System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle Withdrawn DE112005003191T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/025,381 2004-12-28
US11/025,381 US7386640B2 (en) 2004-12-28 2004-12-28 Method, apparatus and system to generate an interrupt by monitoring an external interface
PCT/US2005/047276 WO2006071944A2 (en) 2004-12-28 2005-12-28 Method, apparatus and system to generate an interrupt by monitoring an external interface

Publications (1)

Publication Number Publication Date
DE112005003191T5 true DE112005003191T5 (de) 2007-11-08

Family

ID=36388250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005003191T Withdrawn DE112005003191T5 (de) 2004-12-28 2005-12-28 Verfahren, Vorrichtung und System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle

Country Status (6)

Country Link
US (1) US7386640B2 (de)
CN (1) CN101091169B (de)
DE (1) DE112005003191T5 (de)
GB (1) GB2436507B (de)
TW (1) TWI295020B (de)
WO (1) WO2006071944A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996580B2 (en) * 2007-12-10 2011-08-09 Sandisk Il Ltd. System and method for notifying a host of a service required by a slave storage device
US9069672B2 (en) * 2009-06-12 2015-06-30 Intel Corporation Extended fast memory access in a multiprocessor computer system
WO2020164819A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
TWI727607B (zh) 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
TWI759677B (zh) 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
EP3924817A1 (de) 2019-02-14 2021-12-22 International Business Machines Corporation Gerichtete unterbrechungssteuerung
TWI764082B (zh) 2019-02-14 2022-05-11 美商萬國商業機器公司 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品
BR112021016093A2 (pt) 2019-02-14 2021-10-26 International Business Machines Corporation Interrupção dirigida para virtualização de multiníveis
WO2020164935A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization with running indicator
CN111723032B (zh) * 2019-03-21 2021-09-24 杭州宏杉科技股份有限公司 一种中断管控方法及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69028462T2 (de) * 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
US5742847A (en) * 1994-10-31 1998-04-21 Intel Corporation M&A for dynamically generating and maintaining frame based polling schedules for polling isochronous and asynchronous functions that guaranty latencies and bandwidths to the isochronous functions
US6282673B1 (en) * 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6145098A (en) * 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6286060B1 (en) * 1998-06-26 2001-09-04 Sun Microsystems, Inc. Method and apparatus for providing modular I/O expansion of computing devices
US6279067B1 (en) * 1999-01-13 2001-08-21 Ati International Srl Method and apparatus for detecting interrupt requests in video graphics and other systems
US20020124007A1 (en) * 2001-03-02 2002-09-05 Wuhan P&S Electronics Company Ltd. Network server and database therein
US6792494B2 (en) * 2001-03-30 2004-09-14 Intel Corporation Apparatus and method for parallel and serial PCI hot plug signals
US20030033463A1 (en) * 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
US7673090B2 (en) * 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US20030188066A1 (en) * 2002-03-28 2003-10-02 Atul Kwatra Method and apparatus to allow an external system management controller to trigger an OS controlled shutdown of a pc system through the system management bus
US6944796B2 (en) * 2002-06-27 2005-09-13 Intel Corporation Method and system to implement a system event log for system manageability
US7200694B2 (en) * 2003-05-30 2007-04-03 American Megatrends, Inc. Servicing multiple hot-plug events utilizing a common event signal in providing hot-plug attention button support
US8417852B2 (en) * 2003-06-05 2013-04-09 Nvidia Corporation Uploading TCP frame data to user buffers and buffers in system memory

Also Published As

Publication number Publication date
CN101091169B (zh) 2011-01-26
GB2436507B (en) 2009-07-08
TW200636485A (en) 2006-10-16
US7386640B2 (en) 2008-06-10
WO2006071944A3 (en) 2006-09-14
US20060143351A1 (en) 2006-06-29
GB2436507A (en) 2007-09-26
TWI295020B (en) 2008-03-21
CN101091169A (zh) 2007-12-19
WO2006071944A2 (en) 2006-07-06
GB0714455D0 (en) 2007-09-05

Similar Documents

Publication Publication Date Title
DE112005003191T5 (de) Verfahren, Vorrichtung und System zum Generieren einer Unterbrechung durch Überwachen einer externen Schnittstelle
DE69231904T2 (de) Schaltungsanordnung für mobiles Telefon
DE102014101633B4 (de) Unterbrechung von Aufgaben zur Verwatlung von Chip-Komponenten
DE102007051841B4 (de) Unabhängige Energiesteuerung von Prozessorkernen
DE102009030544B4 (de) Verfahren für ein koordiniertes Link-Power-Management auf einer Computerplattform, Computer und Rechensystem
DE102004062911B4 (de) Verfahren zum Betrieb eines Prozessors und zugehöriges Prozessorsystem
DE102011102871B4 (de) Adaptive Skalierung der Speicherfrequenz
DE102009007284B4 (de) Verfahren zur Verarbeitung proaktiver Befehle für eine oder mehrere Teilnehmer-Identitäts-Karten und Stationen, die dieselben benutzen
DE102006001458B4 (de) Mobiltelefon und tragbare Speichereinrichtung, das selbiges verwendet
DE102009041723B4 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE112013006089B4 (de) System und Verfahren zum intelligenten Auswählen einer Netzwerkschnittstelle
DE3320858A1 (de) Speicher-managementanordnung fuer mikroprozessorsysteme
CN102436457B (zh) 一种分配浏览器进程的方法及其设备
DE112011105608T5 (de) System und Verfahren zum Verbessern eines Netzwerkzugriffs bei einer Maschine-zu-Maschine-Kommunikation
DE112011105672T5 (de) Verwaltung der Datennutzung einer Recheneinrichtung
WO2012113547A2 (de) Verfahren zum betrieb einer mikroprozessoreinheit, insbesondere in einem mobilen endgerät
DE112022004335T5 (de) Zugriffsverkehrsbegrenzungsverfahren und Zugriffsverkehrbegrenzungsvorrichtung, Gerät, Speichermedium und Computerprogrammprodukt
CN104808766A (zh) 一种终端
DE112013006729T5 (de) Erfassung ruhender Zelle und Berichtskonfiguration
CN104424142B (zh) 一种多核处理器系统中访问共享资源的方法与装置
CN103077081B (zh) 资源调整的方法及装置
CN115113887B (zh) 一种多安全软件兼容配置方法、装置、设备及存储介质
CN104349506A (zh) 关联管理方法、无线接入设备及系统
DE102018108884A1 (de) Alarme für ein tragbares Elektronikgerät
DE602005006420T2 (de) Verfahren und mobile Einrichtung zum Bedienen in unterschiedlichen Datenübertragungsmodi

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R006 Appeal filed
R008 Case pending at federal patent court
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee