-
Technisches Gebiet
-
Ausführungsformen der Erfindung beziehen sich auf Techniken für Kommunikation zwischen verbundenen Knoten. Insbesondere beziehen sich Ausführungsformen der Erfindung auf robuste Kommunikationstechniken, die verwendet werden können, um zuverlässige, effiziente Kommunikation von Nachrichten zu erreichen.
-
Hintergrund
-
Viele Verbindungsarchitekturen, zum Beispiel in einem Netzwerk-auf-einem-Chip (network-on-chip, NoC) eines Systems-auf-einem-Chip (system-on-chip, SoC), verlassen sich zum Verwalten des Nachrichtenverkehrs zwischen Knoten (zum Beispiel Prozessorkernen, Speicher) auf Router. Diese Router verbrauchen im Betrieb Energie und können signifikant zu dem gesamten Energieverbrauch eines SoC beitragen. Eine Strategie zum Verringern des Energieverbrauchs ist ein Verringern der Betriebsspannungen. Allerdings sind die Router bei niedrigen Spannungen anfällig für dynamische Veränderungen wie Spannungsabsenkungen oder Alterungseffekte, die potentiell zu Timingfehlern in dem Router führen können. Robustheit des Betriebs wird typischerweise durch Verwenden eines statischen Spannungsschutzbands, das zur Zeit des Entwurfs ausgewählt wird, sichergestellt. Verwenden eines statischen Spannungsschutzbands erfordert eine höhere Betriebsspannung und erhöht den Energieverbrauch.
-
Kurze Beschreibung der Zeichnungen
-
Ausführungsformen der Erfindung werden in den Figuren der beigefügten Zeichnungen anhand von Beispielen veranschaulicht und nicht zur Beschränkung, wobei sich gleiche Bezugsnummern auf ähnliche Elemente beziehen.
-
1 ist ein Blockdiagramm einer Ausführungsform einer Fehlerdetektionsschaltung, die verwendet werden kann, um robuste Kommunikationstechniken zu unterstützen.
-
2 ist ein Blockdiagramm einer Ausführungsform einer doppelabtastenden Fehlerdetektionsschaltung, die verwendet werden kann, um robuste Kommunikationstechniken zu unterstützen, ohne großen Entwurfsmehraufwand nach sich zu ziehen.
-
3 ist ein Blockdiagramm eines Routers mit Robustheit gegenüber dynamischen Veränderungen, der dafür ausgelegt ist, Daten an einen Router/Verkehrsgenerator (traffic generator, TG) zu senden.
-
4 ist ein Blockdiagramm eines empfangenden Routers (oder einer anderen Vorrichtung), der das Bitfehlersignal verwendet, um empfangene Daten zu validieren.
-
5 ist ein Blockdiagram einer Ausführungsform eines Quellenknotens mit Zurücksetzmechanismen, um Timingrobustheit zu unterstützen.
-
6 ist ein Blockdiagramm einer Ausführungsform eines elektronischen Systems.
-
Beschreibung der Ausführungsformen
-
Verschiedene Ausführungsformen von Router, die in unterschiedlichen Konfigurationen verwendet werden können, von denen einige Fehlerdetektion und -korrektur bereitstellen können. In einer Ausführungsform können eingangsgepufferte wormhole-geschaltete Routerarchitekturen (zum Beispiel für ein NoC geeignet) dafür ausgelegt sein, als Folgendes zu arbeiten: 1) ein Router mit Einzelzykluslatenz, 2) ein Router mit Zweizyklenlatenz und ohne Robustheit oder 3) ein Router mit Zweizyklenlatenz und Robustheit gegenüber dynamischen Veränderungen. Diese Betriebsmodi werden unten ausführlicher beschrieben.
-
In einer Ausführungsform werden im Zweizyklen-Modus mit Robustheit dynamische Veränderungen, die sich bei Timingfehlern im Router zeigen, unter Verwendung eines Fehlerdetektionssequenz-Mechanismus (Error Detection Sequential mechanism, EDS) detektiert, der eine Hardwareschaltung sein kann. In einer Ausführungsform beinhaltet die robuste Routerarchitektur EDS in einer Verarbeitungsstufe, die zum Schützen von Timingpfaden im Router arbeiten kann. Korrektur von Nachrichten, die im Router Timingfehlern ausgesetzt sind, kann durch Verwenden von Paketwiederholungstechniken erreicht werden.
-
In einer Ausführungsform liefert die EDS-Vorgehensweise durch Doppelabtastung nativen Schutz vor durch weiche Fehler (soft error, SER) hervorgerufenen Ereignissen. Zusätzlich kann die offenbarte Vorgehensweise vor SER-bedingten kombinatorischen Verzögerungs-Pushouts und sequenziellem Zustandsverlust schützen.
-
In einer Ausführungsform beinhaltet ein Router (oder eine Komponente) eine robustheitsverstärkte Endstufe, die zum Schutz von Timingpfaden im Router arbeitet. Zum Beispiel kann ein Router mit EDS-Mechanismen zum Schutz aller Timingpfade im Router, die von einer Ausgangwarteschlange (zum Beispiel einem FIFO) ausgehen, arbeiten. In einer Ausführungsform wird die Korrektur von Paket-(Nachrichten- oder Flit-)Fehlern, die auf Timingfehlern im Router (oder einer anderen Komponente) basieren, mittels Paketwiederholungstechniken erreicht.
-
Da der Timingfehler in der Ausgangsstufe festgestellt wird, nachdem eine Nachricht an den Empfangsknoten (zum Beispiel Router, Verkehrserzeuger) übermittelt wurde, wird ein Fehlersignal (zum Beispiel ein Bit, Flag) mit der Nachricht gesendet, das anzeigt, ob ein Timingfehler aufgetreten ist. Da das Fehlersignal metastabil sein kann, wird es in der Eingangsstufe des Empfangsknotens vor Weiterverarbeitung zwischengespeichert. Das Fehlersignal wirkt als ein Ungültigkeitssignal, das veranlasst, dass die entsprechende Nachricht durch den Empfangsknoten verworfen (oder sonstwie nicht verarbeitet oder verwendet) wird.
-
Der Sendeknoten (zum Beispiel der Router), bei dem der Timingfehler aufgetreten ist, wiederholt die fehlgeschlagene Nachricht durch Zurücksetzen seines Zustands um die notwendige Anzahl von Taktzyklen (zum Beispiel bis zu einem Testpunkt). In einer Ausführungsform sind zwei Taktzyklen ausreichend. In alternativen Ausführungsformen kann eine größere Rücksetzentfernung unterstützt werden. In einer Ausführungsform kann dies durch Isolieren des Steuer- und des Datenpfads des Sendeknotens und Behalten von Kopien kritischer Daten und von Steuerzustandselementen (zum Beispiel über Flipflop oder Latch) in dem Sendeknoten erreicht werden.
-
In einer Ausführungsform weist eine Ausgabewarteschlange (zum Beispiel ein FIFO oder ein anderer Typ einer Ausgabewarteschlange) während normalen Betriebs genügend ungenutzten Speicher auf, dass Nachrichten von vorhergehenden Zyklen noch vorhanden und nicht überschrieben sind, bevor sie, falls notwendig, für Wiederholung verwendet werden. In einer anderen Ausführungsform kann die FIFO-Tiefe erhöht werden, um zusätzlichen Nachrichtenraum für Wiederholung aufzunehmen. Zum Beispiel wird in einer Ausführungsform ein Timingfehler bestimmt und die Nachricht wird innerhalb von zwei Taktzyklen wiederholt. Der Sendeknoten wird zu einem vorhergehenden Zustand zurückgesetzt und die fehlerhafte Nachricht wird nochmal zu dem Empfangsknoten gesendet.
-
In einer Ausführungsform kann die Verwendung von Positive-Phase-Latches in dem EDS-Mechanismus dazu führen, dass die Ausgangsstufe anfällig für Haltezeitenfehler wird. Dies kann durch selektives Puffer von Minimalverzögerungs-Timingpfaden zu EDS-verbesserten Stufen und Leiten eines gepulsten Taktes zur Ausgangsstufe vermieden werden, was weiter unten ausführlicher beschrieben wird. In einer Ausführungsform empfängt die Ausgangsstufe ein Taktsignal mit konfigurierbarer Pulsweite, und andere Stufen empfangen ein Taktsignal mit einem Tastverhältnis von 50%. In einer Ausführungsform kann eine gestutzte Standardzellenbibliothek mit vergrößerten sequenziellen und kombinatorischen Logikzuständen verwendet werden, um die Auswirkung von In-Chip- und Intra-Chip-Schwankungen bei sehr niedrigen Betriebsspannungen (zum Beispiel nahe einer Schwellenspannung) zu verringern. Zusätzlich zum Wiederholen können aktuelle Quellen-/Ziel-Ports als Anzeiger für andere Ports und durch Fehleraufzeichnungslogik zum Triggern von DVFS-Programmen verwendet werden.
-
1 ist ein Blockdiagramm einer Ausführungsform einer Fehlerdetektionsschaltung, die zum Unterstützen robuster Kommunikationstechniken verwendet werden kann. Die Schaltung der 1 kann dazu verwendet werden, ein Fehlersignal zu erzeugen, das zum Wiederholen von Nachrichten (Paketen, Flits) verwendet werden kann, bei denen ein Timingfehler aufgetreten ist. In einer Ausführungsform ist die Fehlerdetektionsschaltung 100 in einer Endstufe eines Sendeknotens auf dem Pfad zu einer Verbindung zu einem Empfangsknoten angeordnet.
-
Die Fehlerdetektionsschaltung 100 empfängt ein Datenbit von einer Stufe in dem Sendeknoten. Das Datenbit wird dem High-Phase-Latch 110 und dem Flipflop 120 zugeführt. Das High-Phase-Latch 110 speichert das Datenbit zwischen, wenn ein Taktsignal (siehe 3), das der Ausgangsstufe zugeführt wird, einen High-Pegel aufweist, und das Flipflop 120 speichert das Datenbit beim Übergang vom Low- zum High-Pegel eines gepulsten Taktsignals (siehe 3).
-
Falls ein Timingfehler auftritt, werden die Ausgangssignale des High-Phase-Latch 110 und des Flipflops 120 unterschiedlich sein, was das Gatter 130 veranlassen wird, das Bitfehlersignal zu setzen. Falls kein Timingfehler auftritt, werden die Ausgangssignale vom High-Phase-Latch 110 und dem Flipflop 120 gleich sein, und das Gatter 130 wird kein Bitfehlersignal setzen.
-
2 ist ein Blockdiagramm einer Ausführungsform einer doppelabtastenden Fehlerdetektionsschaltung, die verwendet werden kann, um robuste Kommunikationstechniken zu unterstützen. Die Schaltung der 2 kann dazu verwendet werden, ein Fehlersignal zu erzeugen, das zum Wiederholen von Nachrichten (Paketen, Flits), bei denen ein Timingfehler aufgetreten ist, verwendet werden kann. In einer Ausführungsform ist die Fehlerdetektionsschaltung 200 in einer Endstufe eines Sendeknotens auf dem Pfad zu einer Verbindung zu einem Empfangsknoten angeordnet und bietet Doppelabtastung, die es ermöglicht, Pakete und andere Informationen (zum Beispiel Zustandsinformationen) für zwei Taktzyklen zu behalten, um sich von einem Timingfehler zu erholen. In alternativen Ausführungsformen können mehr als zwei Abtastungen behalten werden, zum Beispiel kann Dreifachabtastungs-Fehlerdetektion vorgesehen werden.
-
In einer Ausführungsform kann eine Fehlerdetektionsschaltung in einem der drei folgenden Modi arbeiten: 1) Modus 0, in dem sowohl das Master-Latch 230 als auch das Slave-Latch 250 offen sind; 2) Modus 1, in dem das Master-Latch 230 und das Slave-Latch 250 als ein Flipflop arbeiten und 3) Modus 2, in dem das Master-Latch 230 offen ist und Doppelabtastung durch das Slave-Latch 250 und das Flipflop 210 vorgenommen wird. Sowohl das Flipflop 210 als auch das Master-Latch 230 als auch das Slave-Latch 250 werden jeweils von einem Modus-Signal und einem Taktsignal, woran die Logikgatter 215, 220 bzw. 240 operieren, gesteuert.
-
In Modus 0 ist die Fehlerdetektionsschaltung 200 für die umgebenden Schaltungen effektiv durchsichtig. In Modus 1 arbeitet die Fehlerdetektionsschaltung 200 als ein Flipflop für das Datenbit. In Modus 2 arbeitet die Fehlerdetektionsschaltung 200 als ein Positive-Phase-Latch mit Doppelabtastung und einem Flipflop zur Timingfehlererkennung.
-
Das zu sendende Datenbit ist das Eingangssignal des Flipflops 210 und des Master-Latch 230. Das Ausgangssignal des Flipflops 210 liefert eine Eingabe für das Logikgatter 275, das das Bitfehlersignal erzeugt. Das Ausgangssignal des Master-Latch 230 ist das Eingangssignal des Slave-Latch 250. Das Ausgangssignal des Slave-Latch 250 liefert eine zweite Eingabe für das Logikgatter 275 und ist auch das zu sendende Datenbit.
-
Falls ein Timingfehler auftritt, werden sich die Ausgangssignale des Flipflops 210 und des Slave-Latch 250 unterscheiden, was das Gatter 275 veranlassen wird, das Bitfehlersignal zu setzen. Falls kein Timingfehler auftritt, werden die Signale vom Flipflop 210 und dem Slave-Latch 250 gleich sein und das Gatter 275 wird kein Bitfehlersignal setzen.
-
In einer Ausführungsform wird für jedes zu sendende Datenbit eine Fehlerdetektionsschaltung vorgesehen. Die den mehreren Datenbits entsprechenden Bitfehlersignale können kombiniert werden, um zu bestimmen, ob ein Fehler für irgendeines der Datenbits in der zu sendenden Nachricht existiert. In einer Ausführungsform wird die Nachricht wie hier beschrieben wiederholt, wenn ein Fehler für ein beliebiges Datenbit auftritt.
-
3 ist ein Blockdiagramm eines Routers mit Robustheit gegenüber dynamischen Veränderungen, der dafür ausgelegt ist, Daten an einen Router/Verkehrserzeuger (TG) zu senden. Das Beispiel der 3 kann aus zwei Routern innerhalb einer Netz-auf-dem-Chip-Architektur (NoC) bestehen; allerdings sind die Robustheitskonzepte auch auf andere Konfigurationen anwendbar.
-
Ein Senderouter 310 speichert Daten, die über Verbindung 350, die von beliebigem Verbindungstyp sein kann, zu dem Empfangsrouter 360 gesendet werden soll. Der Senderouter 310 empfängt Daten von einer Datenquelle (in 3 nicht dargestellt) und speichert die Daten vorübergehend in der Ausgabewarteschlange 320. Die Ausgabewarteschlange 320 kann zum Beispiel eine First-In/First-Out-Schlange (FIFO-Schlange) sein oder ein beliebiger Typ einer Struktur zum Sammeln von zu sendenden Daten.
-
Daten aus der Ausgabewarteschlange 320 werden über die Zwischenstufe 325 zum Crossbar (X-Bar) 330 übertragen. In einer Ausführungsform arbeitet die Ausgabewarteschlange 320 mit einem Negative-Phase-Latch, und die Zwischenstufe 325 arbeitet mit einem Positive-Phase-Latch; allerdings werden andere Latch-Konfigurationen ebenfalls unterstützt. In einer Ausführungsform arbeiten die Ausgabewarteschlange 320 und die Zwischenstufe 325 unter Verwendung eines Taktsignals mit einem Tastverhältnis von 50%; allerdings können auch andere Tastverhältnisse verwendet werden.
-
Der Crossbar 330 bewirkt, Daten von Eingangs-Ports zu Ausgangs-Ports zu leiten, um die Leitfunktionalität des Senderouters 310 zu bewerkstelligen. Der Crossbar 330 kann von einem beliebigen Typ eines Crossbar-Mechanismus sein. Der Crossbar 330 leitet zu sendende Daten über die Verbindung 350 zu einer Ausgangsstufe 355. In einer Ausführungsform arbeitet die Ausgangsstufe 335 mit einem gepulsten Taktsignal, das ein Tastverhältnis von weniger als 50% aufweist, oder weniger als das Tastverhältnis des Taktsignals, das von der Ausgabewarteschlange 320 und der Zwischenstufe 325 verwendet wird.
-
Die Ausgangsstufe 335 beinhaltet Fehlerdetektionsschaltungen, zum Beispiel die in den 1 oder 2 dargestellten Fehlerdetektionsschaltungen. Die Ausgangsstufe 335 bewirkt, die Daten von der Ausgabewarteschlange 320 zusammen mit dem Bitfehlersignal über die Verbindungen 350 an den Empfangsrouter 360 zu senden. Die Eingabewarteschlange 370 in dem Empfangsrouter 360 empfängt die Daten und das Bitfehlersignal. In einer Ausführungsform speichert die Eingabewarteschlange 370 die Daten und das Bitfehlersignal, das wie unten beschrieben verwendet werden kann.
-
4 ist ein Blockdiagramm eines Empfangsrouters (oder eines ähnlichen Geräts), der das Bitfehlersignal verwendet, um das empfangene Signal zu validieren. Der Empfangsknoten 480 kann zum Beispiel ein Router oder ein Speicher oder ein Verarbeitungskern oder ein beliebiger anderer Typ eines Logikkerns, zum Beispiel ein Kern Geistigen Eigentums, oder andere Verarbeitungsschaltungen sein. Die Nachricht 405 wird zusammen mit einem oder mehreren Fehlersignalen 410 an den Empfangsknoten 480 gesendet, das/die wie oben beschrieben zum Beispiel ein oder mehrere Bits lang sein kann/können.
-
Der Empfangsknoten 480 empfängt Nachrichten 405 und entsprechende Fehlersignale 410 und speichert diese in einem Eingabepuffer 420. Der Eingabepuffer 420 speichert mehrere Nachrichten zusammen mit den entsprechenden Fehlersignalen. In einer Ausführungsform wirkt der Eingabepuffer als eine First-In/First-Out-Schlange (FIFO-Schlange); wobei allerdings andere Strukturen ebenfalls unterstützt werden. Eine Lesezeigersteuerung 430 bewirkt, die Position eines Lesezeigers für den Eingabepuffer 420 zu steuern, der verwendet wird, um Nachrichten zur richtigen Zeit aus dem Eingabepuffer 420 zu lesen.
-
In einer Ausführungsform liest die Eingabestufe 440 wie durch den Lesezeiger angegeben eine Nachricht und ein entsprechendes Fehlersignal aus dem Eingabepuffer 420. Die Eingabestufe 440 verwendet das Fehlersignal von dem Quellenknoten, um das Ausgangssignal im Empfangsknoten 480 zu validieren. Die Ausgabedaten können auf dieselbe Weise wie die Daten in dem Quellenknoten validiert werden. In einer Ausführungsform wird der Lesezeiger nur dann weiterbewegt, wenn eine fehlerfreie Nachricht aus dem Eingabepuffer 420 ausgelesen wird. Dies ermöglicht ein Wiederholen der Nachricht solange bis eine fehlerfreie Übertragung auftritt, ohne die Notwendigkeit, den Status des Empfangsknotens 480 zurückzusetzen.
-
5 ist ein Blockdiagramm einer Ausführungsform eines Quellenknotens mit Rücksetzmechanismen, um Timingrobustheit zu unterstützen. Das Fehlersignal kann verwendet werden, um ein Rücksetzen innerhalb des Quellenknotens zu steuern, um die fehlerhafte Nachricht nochmal zu dem Empfangsknoten zu senden. Wie oben erläutert erzeugt die Ausgangsstufe ein Fehlersignal, das mit den gesendeten Daten assoziiert ist, und eine oder mehrere Stufen des Sendeknotens können gesendete Daten, zum Beispiel in einer FIFO-Schlange, speichern.
-
Eine Ausgabewarteschlange 510 empfängt die Daten von irgendeiner Datenquelle (in 5 nicht dargestellt) und speichert die Daten vorübergehend. Die Ausgabewarteschlange 510 kann zum Beispiel eine FIFO-Schlange oder ein beliebiger Typ einer Struktur zum Sammeln von zu sendenden Daten sein. Daten aus der Ausgabewarteschlange 510 werden zur Zwischenstufe 520 gesendet. In einer Ausführungsform arbeitet die Ausgabewarteschlange 510 mit einem Negative-Phase-Latch und die Zwischenstufe 520 arbeitet mit Positive-Phase-Latch; wobei allerdings auch andere Latch-Konfigurationen unterstützt werden können. In einer Ausführungsform arbeiten die Ausgabewarteschlange 510 und die Zwischenstufe 520 unter Verwendung eines Taktsignals, das weniger als 50% Tastverhältnis aufweist; allerdings können auch andere Tastverhältnisse verwendet werden.
-
Eine Lesezeigersteuerung 512 verwaltet einen Lesezeiger, der verwendet wird, um Daten aus der Ausgabewarteschlange 510 zu lesen. Die Lesezeigersteuerung 512 ändert die Position des Lesezeigers, während Daten aus der Ausgabewarteschlange 510 gelesen werden. Die Lesezeigersteuerung 512 weist assoziierte Statusinformationen (aktueller Lesezeigerzustand 514) auf, die zum Verwalten des Lesezeigers verwendet werden. In einer Ausführungsform werden auch Informationen über vorhergehende Zeigerpositionen (vorhergehender Lesezeigerzustand 516) für Rücksetzzwecke gespeichert. In der Beispielausführungsform, bei der zum Zwecke der Robustheit zwei Nachrichten behalten werden, können die zwei vorhergehenden Sätze der Zustandsinformationen behalten werden. In alternativen Ausführungsformen können mehr oder weniger Statusinformationen behalten werden.
-
Mehrere Multiplexer 560 können verwendet werden, um Daten von der Zwischenstufe 520 und/oder Daten von anderen Quellen zur Ausgangsstufe 580 zu leiten. Mit den Multiplexer 560 sind Vermittler 562 assoziiert, die den Betrieb der Multiplexer 560 steuern, um die gewünschte Schaltfunktionalität zu liefern. Die Vermittler 562 weisen mit ihnen assoziierte Statusinformationen (aktuelle Vermittlerzustände 564) auf, die verwendet werden, um den Betrieb des Vermittlers 562 zu verwalten. In einer Ausführungsform werden ebenfalls Zustandsinformationen von vorhergehenden Vermittlerzuständen (vorhergehenden Vermittlerzuständen 566) für Rücksetzzwecke gespeichert. In der Beispielausführungsform, bei der aus Robustheitsgründen zwei Nachrichten behalten werden, können die zwei vorhergehenden Sätze von Zustandsinformationen behalten werden. In alternativen Ausführungsformen können mehr oder weniger Statusinformationen behalten werden.
-
Die Ausgangsstufe 580 bewirkt, wie oben beschrieben, ein Fehlersignal zu erzeugen. Das Fehlersignal kann von dem Fehler-Latch 590, zum Beispiel einem Flipflop oder einer anderen Vorrichtung, zwischengespeichert werden. Das Fehlersignal kann dann geliefert werden, um zu veranlassen, dass vorhergehende Statusinformationen von der Lesezeigersteuerung 512 und den Vermittlern 562 verwendet werden, um zu einem vorhergehenden Zustand zurückzugehen und eine Nachricht zu wiederholen, die mit einem Fehler gesendet worden war. Diese Technik kann bewirken, Daten zu wiederholen, ohne mit dem Senden nachfolgender Daten weiterzumachen, bis die Übertragung ohne Fehler stattfindet, was Probleme mit der Reihenfolge eliminiert, die ansonsten auftreten könnten. Ferner kann eine Erholung in 1–3 Zyklen auftreten, was für einen effizienten und nahezu transparenten Fehlererholungsmechanismus sorgt.
-
6 ist ein Blockdiagramm einer Ausführungsform eines elektronischen Systems. Das in 6 veranschaulichte elektronische System ist dafür gedacht, eine Bandbreite elektronischer Systeme (entweder drahtgebunden oder drahtlos) zu repräsentieren, wie zum Beispiel Tischcomputersysteme, Laptopcomputersysteme, Mobiltelefone, Persönliche Digitale Assistente (PDAs), darunter mobilfunkfähige PDAs, Set-Top-Boxes. Alternative elektronische System können mehr, weniger und/oder verschiedene Komponenten beinhalten.
-
Ein elektronisches System 600 beinhaltet einen Bus 605 oder andere Kommunikationsvorrichtungen, um Informationen zu kommunizieren, und einen Prozessor 610, der Informationen verarbeiten kann und der mit dem Bus 605 verbunden ist. Obwohl das elektronische System 600 mit einem Einzelprozessor veranschaulicht ist, kann das elektronische System 600 mehrere Prozessoren und/oder Koprozessoren beinhalten. Das elektronische System 600 kann ferner einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichervorrichtung 620 (als Hauptspeicher bezeichnet) beinhalten, die mit dem Bus 605 verbunden ist und Informationen und Anweisungen, die von dem Prozessor 610 ausgeführt werden können, speichern kann. Der Hauptspeicher 620 kann während des Ausführens von Anweisungen durch den Prozessor 610 auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen verwendet werden.
-
Das elektronische System 600 kann auch einen Nurlesespeicher (ROM) und/oder eine andere statische Speichervorrichtung 630 beinhalten, die mit dem Bus 605 verbunden ist und die weitere statische Informationen und Anweisungen für den Prozessor 610 speichert. Eine Datenspeichervorrichtung 640 kann mit dem Bus 605 verbunden sein, um Informationen und Anweisungen zu speichern. Die Datenspeichervorrichtung 640, wie ein magnetischer oder optischer Datenträger und ein entsprechendes Laufwerk, können mit dem elektronischen System 600 verbunden sein.
-
Das elektronische System 600 kann auch über den Bus 605 an eine Anzeigevorrichtung 650, wie eine Kathodenstrahlröhre (CRT) oder Flüssigkristallanzeige (LCD), angeschlossen sein, um einen Benutzer Informationen anzuzeigen. Eine alphanumerische Eingabevorrichtung 660, einschließlich alphanumerischer und anderer Tasten, kann an den Bus 605 angeschlossen werden, um dem Prozessor 610 Informationen und Befehlsauswahlen zu kommunizieren. Ein anderer Typ von Benutzereingabevorrichtung ist die Cursorsteuerung 670, wie eine Maus, ein Trackball oder Cursorrichtungstasten, um dem Prozessor 610 Richtungsinformationen und Befehlsauswahlen zu kommunizieren und Cursorbewegungen auf der Anzeige 650 zu steuern.
-
Das elektronische System 600 kann ferner eine/mehrere Netzwerkschnittstelle(n) 680 beinhalten, um Zugriff auf ein Netzwerk wie ein lokales Netzwerk zu erhalten. Die Netzwerkschnittstelle(n) 680 kann/können zum Beispiel eine drahtlose Netzwerkschnittstelle mit einer Antenne 685 beinhalten, die eine oder mehrere Antennen repräsentieren kann. Die Netzwerkschnittstelle(n) 680 kann/können zum Beispiel auch eine verdrahtete Netzwerkschnittstelle beinhalten, um mit entfernten Vorrichtungen über ein Netzkabel 687 zu kommunizieren, das zum Beispiel ein Ethernet-Kabel, ein Koaxialkabel, ein Glasfaserkabel, ein serielles Kabel oder ein paralleles Kabel sein kann.
-
In einer Ausführungsform kann/können die Netzwerkschnittstelle(n) 680 Zugriff zu einem lokalen Netzwerk schaffen, zum Beispiel durch Erfüllen der Standards IEEE 802.11b und/oder IEEE 802.11g, und/oder die drahtlose Netzwerkschnittstelle kann Zugang zu einem persönlichen Netzwerk, zum Beispiel durch Erfüllen der Bluetooth-Standards, schaffen. Andere drahtlose Netzwerkschnittstellen und/oder -Protokolle können auch unterstützt werden.
-
IEEE 802.11b entspricht dem IEEE-Standard 802.11b-1999 mit dem Titel ”Local and Metropolitan Area Networks, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Higher-Speed Physical Layer Extension in the 2.4 GHz Band”, verabschiedet am 16. September 1999 sowie verwandten Dokumenten. IEEE 802.11g entspricht dem IEEE-Standard 802.11g-2003 mit dem Titel ”Local and Metropolitan Area Networks, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amendment 4: Further Higher Rate Extension in the 2.4 GHz Band”, verabschiedet am 27. Juni 2003 sowie verwandten Dokumenten. Bluetooth-Protokolle sind in ”Specification of the Bluetooth System: Core, Version 1.1”, veröffentlich am 22. Februar 2001 von der Bluetooth Special Interest Group, Inc., beschrieben. Assoziierte sowie frühere oder spätere Versionen des Bluetooth-Standards können auch unterstützt werden.
-
Zusätzlich zu oder anstatt von Kommunikation mit drahtlosen LAN-Standards kann/können die Netzwerkschnittstelle(n) 680 drahtlose Kommunikation bereitstellen, die zum Beispiel Zeitmultiplex-Protokolle (TDMA-Protokolle), GSM-Protokolle, Codemultiplex-Protokolle (CDMA-Protokolle) und/oder beliebige andere Typen von drahtlosen Kommunikationsprotokollen verwenden.