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