-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft Computersysteme, und im Besonderen
betrifft die vorliegende Erfindung die Ausführung von Echtzeitanwendungen in
einem Computersystem.
-
STAND DER
TECHNIK
-
Personalcomputer
werden zurzeit für
verschiedene Anwendungen eingesetzt, um die von einem Anwender auszuführenden
Aufgaben zu vereinfachen. Trotzdem sind herkömmliche Personalcomputer nicht
in der Lage, Echtzeitanwendungen auszuführen. Eine Echtzeitanwendung
ist eine Anwendung, bei der die Richtigkeit der von einem Computer ausgeführten Berechnungen
nicht nur von der logischen Richtigkeit der Berechnungen abhängig ist, sondern
auch von der Zeit, in der die Ergebnisse erzeugt werden. Wenn die
zeitlichen Beschränkungen nicht
erfüllt
werden, ist das System nicht erfolgreich. Zum Beispiel muss bei
einem Patriot Raketensystem ein Patriot eine ankommende Rakete auf
einem Radarerkennungssystem lokalisieren und eine Abwehrrakete abfeuern,
bevor die ankommende Rakete ihr Ziel zerstören kann.
-
Die
Ausführung
von Echtzeitoperationen in einem herkömmlichen Computersystem, das
mit allgemeinen bzw. Standardbetriebssystemen wie etwa Windows 98® oder
Windows NT® arbeitet,
ist schwierig, da die Kernel bzw. Kerne allgemeiner Betriebssysteme
nicht in der Lage sind, auf Ereignisse innerhalb bestimmter Zeitbeschränkungen
anzusprechen bzw. zu reagieren. Darüber hinaus erzeugen die Hardware-Plattformen
kennzeichnender Computersysteme keine Ereignisse innerhalb der Auflösung der
Zeit, die für
die Ausführung
erforderlich ist.
-
„L7200
Internet System Processor – DSP Enhanced", ZINK UP, April
1999 (1999-04), Seiten 1–14,
XP002226784, offenbart einen Internetsystem-Prozessor, der einen
DSP und eine CPU aufweist. Der Prozessor unterstützt ein Windows® Betriebssystem
sowie Echtzeit-Betriebssysteme.
-
„Migrating
to single chip systems" von
K. H. Peters, EMBEDDED SYSTEMS PROGRAMMING, April 1999, Miller Freeman,
USA, Band 12, Nr. 4, Seiten 30–31,
34, 36, 38, 40, 42, 44–45,
XP002226786 ISSN 1040-3272, offenbart, dass Chiphersteller in der
Lage sind, die Chipdichte in Transistoren und Gattern durch geringere
Abmessungen der Bauteile auf Silizium zu verbessern. Diese Verbesserung
ermöglicht
es Entwicklern, auf einer einzigen Halbleiterscheibe einen größeren Funktionsumfang
zu platzieren. Entwickler sind in der Lage, DSP-Kerne auf einem
einzelnen Chip zu integrieren.
-
„Tensilica
architecture adds DSP Coprozessor", von D. LAMMERS, EETIMES, [Online],
12. Juni 2000 (2000-06-12), Seiten 1–3, XP002226787, abgerufen
aus dem Internet:
URL:http//www.eetimes.com/story/OEG200006 12S0037> [abgerufen am 8.1.2003],
offenbart, dass Anbieter von CPUs zu einer Technologie mit 0,18
Mikron wechseln, wobei es schwierig ist, die immer kleiner werdenden
Prozessorkerne mit Flash- und integriertem DRAM, programmierbarer
Logik, DSP und anderen Coprozessor-Funktionen zu ergänzen, die zusätzlichen
Wert liefern.
-
„Two players
offer Bluetooth silicon",
von P. ClARKE, EETIMES, [Online] 7. Dezember 1999 (1999-12-07),
Seiten 1–2,
XP002226785, abgerufen aus dem Internet:
URL:http//www.eetimes.com/story/OEG199912 07S0087> [abgerufen am 8.1.2003],
offenbart den Einsatz von Bluetooth® Technologie.
-
In
einem Betriebssystem wie Windows 98® gibt
es keine Regeln für
die Behandlung von Ereignissen durch Anwendungstreiber. In bestimmten
Fällen
können
Treiber zum Beispiel ein empfangenes Ereignis für bis zu fünf Sekunden abschalten, bevor das
Ereignis verarbeitet wird. Es ist offensichtlich, dass eine derartige
Verzögerung
für einen
Echtzeitbetrieb nicht akzeptiert werden kann.
-
Somit
wäre es
wünschenswert,
für einen Personalcomputer
eine Echtzeitfunktion bereitzustellen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Vorgesehen
ist gemäß einem
ersten Aspekt der vorliegenden Erfindung ein Computersystem gemäß dem gegenständlichen
Anspruch 1.
-
Vorgesehen
ist gemäß einem
zweiten Aspekt der vorliegenden Erfindung ein nicht-symmetrischer
Prozessor gemäß dem gegenständlichen
Anspruch 9.
-
Die
speziellen Merkmale der Erfindung sind durch die Unteransprüche definiert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird aus der folgenden genauen Beschreibung
sowie aus den beigefügten
Zeichnungen der verschiedenen Ausführungsbeispiele der Erfindung
umfassender verständlich.
Die Zeichnungen schränken
die Erfindung jedoch nicht auf die besonderen Ausführungsbeispiele ein,
sondern dienen ausschließlich
der Erläuterung und
dem Verständnis.
Es zeigen:
-
1 ein
Blockdiagramm eines Ausführungsbeispiels
eines Computersystems; und
-
2 ein
Blockdiagramm eines Ausführungsbeispiels
eines nicht-symmetrischen Prozessors.
-
GENAUE BESCHREIBUNG
DER ERFINDUNG
-
Beschrieben
werden ein Verfahren und eine Vorrichtung zur Bereitstellung eines
Echtzeitbetriebs in einem Personalcomputersystem. In der folgenden genauen
Beschreibung der vorliegenden Erfindung sind zahlreiche besondere
Einzelheiten ausgeführt, um
ein umfassendes Verständnis
der vorliegenden Erfindung zu vermitteln. Für den Fachmann auf dem Gebiet
ist es jedoch offensichtlich, dass die vorliegende Erfindung auch
ohne diese besonderen Einzelheiten ausgeführt werden kann. In anderen
Fällen sind
allgemein bekannte Strukturen und Vorrichtungen als Blockdiagramme
dargestellt und nicht in Einzelheiten, um die vorliegende Erfindung
nicht unnötig zu
verschleiern.
-
Die
Abbildung aus 1 zeigt ein Blockdiagramm eines
Ausführungsbeispiels
eines Computersystems 100. Das Computersystem 100 weist
eine Zentraleinheit (CPU bzw. Prozessor) 105 auf, die mit dem
Prozessorbus 110 gekoppelt ist. In einem Ausführungsbeispiel
handelt es sich bei dem Prozessor 105 um einen Prozessor
mit Intel-Architektur der Familie der Pentium® Prozessoren,
zu der die Pentium® II Familie und die Prozessoren
Mobile Pentium® und Pentium® II zählen, die
von der Intel Corporation, Santa Clara, Kalifornien, USA, erhältlich sind.
Alternativ können
auch andere Prozessoren verwendet werden. Der Prozessor 105 kann
einen Level-1-Cache-Speicher (L1) aufweisen (in der Abbildung aus 1 nicht
dargestellt).
-
In
einem Ausführungsbeispiel
ist der Prozessor 105 ferner über einen dedizierten Cache-Bus 102 mit
dem Cache-Speicher 107 gekoppelt, bei dem es sich um einen
Level-2-Cache-Speicher (L2) handelt. Die L1- und L2-Cache-Speicher
können
auch auf einem einzelnen Baustein integriert werden. Der Cache-Speicher 107 ist
optional und für
das Computersystem 100 nicht erforderlich. Darüber hinaus
weist das Computersystem 100 einen nicht-symmetrischen
Prozessor (NSP) 109 auf, der mit dem Cache-Speicher 107 und
dem Prozessorbus 110 gekoppelt ist. Gemäß einem Ausführungsbeispiel
ist der NSP mit dem Prozessor 105 integriert und so implementiert,
dass er Echtzeitprotokolle an dem Computersystem 100 ausführt.
-
Der
Chipsatz 120 ist ebenfalls mit dem Prozessorbus 110 gekoppelt.
In einem Ausführungsbeispiel
handelt es sich bei dem Chipsatz 120 um den Chipsatz 440BX,
der von der Intel Corporation erhältlich ist, wobei aber auch
andere Chipsätze
eingesetzt werden können.
Der Chipsatz 120 kann eine Speichersteuereinheit zur Steuerung
eines Hauptspeichers 113 aufweisen. Ferner kann der Chipsatz 220 auch
eine Schnittstelle 320 Accelerated Graphics Port (AGP)
Specification Revision 2.0 aufweisen, die von der Intel Corporation,
Santa Clara, Kalifornien, USA, entwickelt worden ist. Die AGP-Schnittstelle 320 ist
mit einer Videovorrichtung 125 gekoppelt und bearbeitet
Videodatenanforderungen für
einen Zugriff auf den Hauptspeicher 113.
-
Der
Hauptspeicher 113 ist über
den Chipsatz 120 mit dem Prozessorbus 110 gekoppelt.
Der Hauptspeicher 113 und der Cache-Speicher 107 speichern
Befehlsfolgen, die durch den Prozessor 105 und NSP 109 ausgeführt werden.
Die durch den Prozessor 105 und NSP 109 ausgeführten Befehlsfolgen
können
aus dem Hauptspeicher 113, dem Cache-Speicher 107 oder
jedem anderen Speicherbaustein abgerufen werden. Weitere Vorrichtungen
bzw. Bausteine können
ebenfalls mit dem Prozessorbus 110 gekoppelt werden, wie
zum Beispiel mehrere Hauptspeicherbausteine. Die Videovorrichtung 125 ist
ebenfalls mit dem Chipsatz 120 gekoppelt. In einem Ausführungsbeispiel
weist die Videovorrichtung einen Videomonitor auf, wie etwa eine
Kathodenstrahlröhre
(CRT) oder eine Flüssigkristallanzeige (LCD)
sowie die zugehörigen
unterstützenden Schaltkreise.
-
Der
Prozessorbus 110 ist über
den Chipsatz 120 mit dem Systembus 130 gekoppelt.
In einem Ausführungsbeispiel
handelt es sich bei dem Systembus 130 um einen PCI-Bus
(PCI als Abkürzung von
Peripheral Component Interconnect) in Übereinstimmung mit dem Bus
der Specification Revision 2.1, entwickelt durch die PCI Specialist
Group, Portland, Oregon, USA; wobei aber auch andere Busstandards
eingesetzt werden können.
Mit dem Systembus 130 können
mehrere Vorrichtungen gekoppelt werden, wie zum Beispiel eine Audiovorrichtung 127.
Gemäß einem
Ausführungsbeispiel
ist ein Funk-Transceiver 129 mit dem Systembus 130 gekoppelt.
Der Funk-Transceiver 129 kann zur Implementierung einer
Kommunikationsschnittstelle zwischen dem Computersystem 100 und
einer entfernten Vorrichtung (nicht abgebildet) verwendet werden.
-
Die
Busbrücke 140 koppelt
den Systembus 130 mit einem sekundären Bus 150. In einem
Ausführungsbeispiel
handelt es sich bei dem sekundären Bus 150 um
einen Bus der Industry Standard Architecture (ISA) Specification
Revision 1.0a, entwickelt von International Business Machines, Armonk, New
York, USA. Es können
aber auch andere Busstandards verwendet werden, wie zum Beispiel
Extended Industry Standard Architecture (EISA) Specification Revision
3.12, entwickelt durch Compaq Computer, et al. Mit dem sekundären Bus 150 können mehrere
Vorrichtungen gekoppelt werden, wie etwa eine Festplatte 153 und
ein Diskettenlaufwerk bzw. Plattenlaufwerk 154. Andere
Vorrichtungen, wie zum Beispiel Cursor-Steuervorrichtungen (in der Abbildung
aus 1 nicht. abgebildet), können ebenfalls mit dem sekundären Bus 150 gekoppelt
werden.
-
Die
Abbildung aus 2 zeigt ein Blockdiagramm eines
Ausführungsbeispiels
des NSP 109. Der NSP 109 weist einen Ereignis-Timer 220,
einen Ereignismechanismus 230, einen digitalen Signalprozessor 240 und
einen Funkkorrelator 250 auf. Der Ereignis-Timer 220 wird
als ein Mechanismus zum Erzeugen von Timer-Unterbrechungen an dem
Ereignismechanismus 240 verwendet. Gemäß einem Ausführungsbeispiel überträgt der Timer 220 ein
Signal in vorbestimmten Intervallen zu dem Ereignismechanismus 230.
Das Signal zeit an, dass der Ereignismechanismus 230 eine
Timer-Unterbrechung erzeugt. Gemäß einem
Ausführungsbeispiel
werden alle 5 Millisekunden Timer-Unterbrechungen erzeugt. Der Durchschnittsfachmann
auf dem Gebiet erkennt jedoch, dass auch andere Zeitintervalle für die Erzeugung
von Unterbrechungen verwendet werden können.
-
Der
DSP 240 ist mit dem Ereignismechanismus 230 gekoppelt.
Gemäß einem
Ausführungsbeispiel
implementiert der NSP 109 ein Echtzeit-Betriebssystem,
das Echtzeitanwendungen ausführt. Echtzeitanwendungen
sind Anwendungen, die in Bezug auf Aspekte ihres Verhaltens zeitliche
Beschränkungen
aufweisen. Wenn die Beschränkungen
nicht eingehalten bzw. erfüllt
werden, schlägt
die Anwendung fehl oder muss sich möglichst geschickt an die Betriebsbedingungen
anpassen.
-
Der
DSP 240 ist integral auf der gleichen Halbleiterscheibe
vorgesehen wie der Prozessor 105, und er nutzt gemeinsam
Speicherressourcen des Prozessors 105. Der Prozessor 105 arbeitet
mit einem allgemeinen Betriebssystem, das keine Echtzeitanwendungen
ausführt.
Gemäß einem
Ausführungsbeispiel
arbeitet der Prozessor 105 unter Verwendung des Betriebssystems
Windows 98®,
das von der Microsoft Corporation, Redmond, Washington, USA, entwickelt
worden ist. Der Durchschnittsfachmann auf dem Gebiet erkennt jedoch,
dass das Computersystem 100 auch unter Verwendung anderer
allgemeiner bzw. Standard-Betriebssysteme implementiert werden kann.
-
Gemäß einem
weiteren Ausführungsbeispiel betrachtet
das allgemeine Betriebssystem den DSP 240 als ein Ein-Ausgabe-Teilsystem (E-A-Teilsystem).
Zum Beispiel kommuniziert das allgemeine Betriebssystem des Prozessors 105 mit
dem Echtzeit-Betriebssystem,
als wäre
das Echtzeit-Betriebssystem eine Treiberschnittstelle, die versucht,
auf Ressourcen des Prozessors 105 zuzugreifen. Folglich
stellt das allgemeine Betriebssystem einen residenten Speicher zur
Ausführung
des Echtzeit-Betriebssystems durch den NSP 109 bereit.
-
Ferner
ist das allgemeine Betriebssystem so implementiert, dass kein durch
das Computersystem 100 ausgeführter Anwendungstreiber Unterbrechungen
länger
unterbrechen kann als wie dis durch das vorbestimmte Zeitintervall
an dem Timer 220 berechnet wird. Folglich kann die Unterbrechungslatenz
des Computersystems 100 garantiert werden, was es ermöglicht,
dass das Computersystem 100 einheitlich auf Ereignisse
und Informationen in Echtzeit reagieren bzw. ansprechen kann.
-
Der
Funkkorrelator 250 empfängt
Echtzeitdaten von einer Quelle außerhalb des Computersystems 100.
Der Funkkorrelator 250 wandelt die empfangenen Daten aus
einem seriellen Format in ein paralleles Format um. Gemäß einem
Ausführungsbeispiel
handelt es sich bei dem Funkkorrelator um einen kabellosen Bluetooth-Funk,
der mit externen Vorrichtungen über
eine Bluetooth-Schnittstelle kommunizieren kann, die von der Bluetooth
Special Interest Group entwickelt worden ist. in anderen Ausführungsbeispielen
kann der Funkkorrelator 250 jedoch auch zur Implementierung
anderer Kommunikationsvorrichtungen verwendet werden (z.B. eines
Basisbandprozessors).
-
Für den Durchschnittsfachmann
auf dem Gebiet werden nach dem Lesen der vorstehenden Beschreibung
zahlreiche Abänderungen
und Modifikationen der vorliegenden Erfindung ersichtlich, wobei
hiermit festgestellt wird, dass alle zu Veranschaulichungszwecken
dargestellten und beschriebenen Ausführungsbeispiele in keiner Weise
als einschränkend
auszulegen sind. Verweise auf verschiedene Ausführungsbeispiele schränken den
Umfang der Ansprüche
somit nicht ein, welche die erfinderischen Merkmale definieren.