-
Die
Erfindung betrifft einen Prozessor für eine Rechenmaschine, dessen
Arbeitstakt regelbar ist, sowie ein Verfahren zur Regelung eines
Taktes eines Prozessors und ein Datenverarbeitungsprogramm zur Abarbeitung
auf dem erfindungsgemäßen Prozessor.
Weiterhin betrifft die Erfindung einen Prozessor und ein Verfahren,
durch welche ein Monitoring von Zeiten zur Abarbeitung von Rechenbefehlen
ermöglicht
ist. Schließlich betrifft
die Erfindung eine programmgesteuerte Einheit und ein Verfahren
zur Verteilung von Rechenbefehlen auf Rechenwerke einer programmgesteuerten
Einheit.
-
Die
DE 100 34 459 A1 beschreibt
ein Verfahren und eine Vorrichtung zur Messung der Laufzeit einer Task
(abzuarbeitende Aufgabe) in einem Realzeitsystem. Bei diesem Verfahren
wird zu Beginn der Task, deren Laufzeit bestimmt werden soll, ein
Zeitmesser gestartet. Der Zeitmesser wird bei einer Unterbrechung
gestoppt und der Zustand des Zeitmessers gespeichert. Nach Beendigung
der Unterbrechung wird der Zeitmesser erneut gestartet. Der Zeitmesser
wird bei Beginn jeder Task gestartet und sein Zustand bei jedem
Wechsel der Prioritätsebene
gespeichert. Mit diesem Verfahren lassen sich die Nettolaufzeiten
aller Tasks im System vergleichsweise einfach messen. Ein detailliertes
Konzept zur Implementierung dieses Verfahrens sowie zur Integration
in die Rechnerarchitektur wird in dieser Druckschrift nicht aufgezeigt.
-
Im
Artikel von Lindh, L.; Stanischewski, F.: „FASTCHART – A Fast
Time Deterministic CPU and Hardware based Real-Time-Kernel" in: IEEE press,
1991, wird das Konzept für
ein hardwarebasiertes Realzeitsystem vorgestellt. Das System umfasst
eine Realzeiteinheit, welche 64 gleichzeitige Tasks unabhängig von
der CPU verwalten kann. Das Statusdiagramm der Tasks ist in Hardware
abgebildet. Eine Steuereinheit steuert die Funktionen der Realzeiteinheit
und empfängt
Synchronisationsinformationen von der CPU. Diese Lösung erfordert
einen hohen Aufwand für
die Implementierung der Realzeiteinheit und die Synchronisation
mit der CPU.
-
Im
Artikel von Siemers, C.: „Die
Welt der rekonfigurierbaren Prozessoren, Teil 2: Aktuelle Produkte
und deren Zielmärkte" in: Elektronik,
Poing, Band 54 (2005) Heft 22, S. 42–48, wird eine Übersicht über verschiedene
rekonfigurierbare Prozessortypen gegeben. Die gezeigten Prozessoren
weisen nach Einschätzung
des Autors eine höher
werdende Rechenleistung, jedoch nur eine mangelnde Echtzeitfähigkeit
auf.
-
Im
Artikel von Kailas, K.; Agrawala, A.: „An Accurate Timemanagement
Unit for Real-time Processors", University
of Maryland, 1997, wird eine Zeitverwaltungseinheit zur Steigerung
der Leistungsfähigkeit
eines Realzeitsystems vorgestellt. Die Zeitverwaltungseinheit ist
Teil der Rechnerarchitektur und in Hardware implementiert. In der
Zeitverwaltungseinheit werden eine absolute Zeit und eine Ereigniszeit
miteinander verglichen, wobei durch das Ergebnis des Vergleiches
ein Interrupt gegenüber
dem Prozessor ausgelöst
werden kann. Eine weiterführende
Beschreibung der Auswirkungen auf den Prozessor wird in dieser Druckschrift
nicht gegeben.
-
Die
US 2006/0288194 A1 offenbart
einen Realzeitprozessor mit einem Taktzähler, einen Befehlsanalysator
und einem Zeitvergleicher, durch welchen die Befehlsausführung gesteuert
werden kann. Diese Steuerung ermöglicht
insbesondere eine Blockade des aktuell abzuarbeitenden Befehles,
sodass der nächste
Befehl abgearbeitet werden kann. Dieser einfache Steu erungsmechanismus
ist jedoch nur für
ausgewählte
Realzeitanwendungen einsetzbar.
-
Die
EP 0 534 884 B1 zeigt
ein Verfahren zur Überwachung
von Tasküberlaufbedingungen
in einem festen Echtzeit-Multitasking-Programmausführungssystem. Bei diesem Verfahren
wird zunächst
ein Zählgrenzwert
für eine
bestimmte Task festgelegt. Es wird jeder Systemtaktimpuls in einem
Zählregister
gezählt, wenn
die Task ausgeführt
wird, wobei das Zählregister
mit dem Zählgrenzwert
verglichen wird. Die Zählung wird
eingestellt, sobald eine beliebige Prozessorausführungsunterbrechung auftritt.
Die Zählung
wird wieder aufgenommen, wenn die Prozessorausführungsunterbrechung für keine
Task gilt, deren Priorität
höher als
die der bestimmten Task ist. Die
EP 0 534 884 B1 zeigt im Weiteren eine entsprechende
Vorrichtung zur Überwachung
eines Taskausführungszyklus-Überlaufs.
-
Die
Unified Modeling Language (UML) gemäß Spezifikation UML 2.0 Infrastructure
Spezification PTC/03-09-15 von OMG ist eine Sprache für die Modellierung
von Software, welche mit Sequenzdiagrammen oder Aktivitätsdiagrammen
die Möglichkeit
bietet, einzelne Routinen zeitlich zueinander in Bezug zu setzen. Hierfür müssen jedoch
Schätzwerte
verwendet werden, sodass nur bei Richtigkeit der Schätzungen
Aussagen über
die Funktionalität
des Systems möglich
sind. Grundsätzlich
ist es nur bedingt möglich,
die zeitliche Funktion eines gesamten Rechensystems in allen Variationen
zu überprüfen, um
so die zeitlichen Abläufe
abschätzen
zu können.
Hierfür
müssen
stark einschränkende
Randbedingungen definiert sein. Beispielsweise ergibt die Berechnung
der maximalen Laufzeit eines Programmteils, d. h. die Ausführungszeit,
welche garantiert nicht überschritten
werden darf, für
den Fall, dass ein Mikroprozessor mit Cache eingesetzt wird, sehr
hohe Schätzwerte.
Die Ursache hierfür
liegt in dem Unvermögen,
das Verhalten des Cache für
alle Ausgangsbedingungen vorauszusagen, sodass angenommen werden
muss, dass ein Wert nie im Cache liegt. Daher stoßen softwarebasierte
Konzepte wie UML, welche die zeitlichen Abläufe berücksichtigen, schnell an ihre
Grenzen.
-
Die
Aufgabe der Erfindung besteht ausgehend von softwarebasierten Konzepten
wie UML darin, die Abarbeitung von Rechenbefehlen durch einen Prozessor
in bessere Übereinstimmung
mit den tatsächlichen zeitlichen
Abläufen
zu bringen, wofür
ein geeigneter Prozessor, entsprechende Verfahren und ein Datenverarbeitungsprogramm
bereitzustellen sind. Eine Teilaufgabe besteht außerdem darin,
diese zeitliche Übereinstimmung
auch innerhalb einer programmgesteuerten Einheit oder innerhalb
eines Mehrprozessorsystems zu verbessern, wofür eine geeignete programmgesteuerte
Einheit und ein entsprechendes Verfahren bereitzustellen sind.
-
Die
oben genannte Aufgabe wird durch Prozessoren gemäß den beigefügten Ansprüchen 1 und
2 sowie durch Verfahren gemäß den beigefügte Ansprüchen 12
und 13 sowie durch ein Datenverarbeitungsprogramm gemäß dem beigefügten Anspruch
23 gelöst.
Die genannte Teilaufgabe wird durch eine programmgesteuerte Einheit
gemäß dem beigefügten Anspruch
9 und durch ein Verfahren gemäß dem beigefügten Anspruch
20 gelöst.
-
Der
erfindungsgemäße Prozessor
weist zunächst
ein Steuerwerk zur Bereitstellung einer Abfolge von Rechenbefehlen
auf. Ein solches Steuerwerk wird auch als Leitwerk oder als Control
Unit (CU) bezeichnet und ist oft der Kern eines Mikroprozessors.
Weiterhin weist der erfindungsgemäße Prozessor ein Rechenwerk
zur Abarbeitung der Rechenbefehle auf. Ein solches Rechenwerk wird
auch als zentrale Recheneinheit, als Daten prozessor oder als Arithmetic
Logic Unit (ALU) bezeichnet. Der erfindungsgemäße Prozessor weist einen steuerbaren
Prozessortaktgeber zur Bereitstellung eines Prozessortaktes auf.
Dieser Prozessortaktgeber kann einen internen Oszillator, beispielsweise
einen Quarz-Oszillator umfassen oder er kann durch einen externen
Takt gespeist sein. Erfindungsgemäß muss der steuerbare Prozessortaktgeber
die Möglichkeit
bieten, den Prozessortakt, d. h. den Takt, mit welchem dass Rechenwerk
arbeitet, steuerbar bereitzustellen. Der erfindungsgemäße Prozessor
umfasst weiterhin eine Zeitverwaltungseinheit, welche auch als Time
Management Unit (TMU) bezeichnet wird. Die Zeitverwaltungseinheit
umfasst einen Zeittaktgeber zur Bereitstellung eines Zeittaktes.
Die Zeitverwaltungseinheit umfasst weiterhin einen Vergleicher zum
Vergleich eines zuvor festgelegten Wertes für eine zulässige Zeitdauer zur Abarbeitung
eines im Rechenwerk abzuarbeitenden Rechenbefehles mit einem Wert
für eine
durch den Zeittakt definierte seit Beginn der Abarbeitung des im
Rechenwerk abzuarbeitenden Rechenbefehles verstrichene Zeitdauer.
Folglich ist durch den Vergleicher während eines jeden Zeittaktes
bekannt, ob der im Rechenwerk abzuarbeitende Rechenbefehl bislang
eine Bearbeitungszeitdauer erforderte, die kleiner oder gleich der
zulässigen
Bearbeitungszeitdauer ist. Der Vergleicher kann auf Software- oder
auf Hardwareebene implementiert sein. Schließlich umfasst der erfindungsgemäße Prozessor
eine Koppelung der Zeitverwaltungseinheit mit dem steuerbaren Prozessortaktgeber.
Durch diese Koppelung ist es möglich,
den Prozessortakt an die tatsächlich
vom Rechenwerk benötigte
Zeitdauer zur Abarbeitung der dort befindlichen Rechenbefehle anzupassen.
Somit kann ein Regelkreis gebildet werden, in welchem der Prozessortakt
die geregelte Größe darstellt.
Ergibt der Vergleich der Zeitwerte, dass die zulässige Zeitdauer zur Abarbeitung
eines im Rechenwerk abzuarbeitenden Rechenbefehles überschritten
ist, ist der Prozessortakt zu erhöhen. Anderenfalls kann der
Prozessortakt konstant bleiben oder verringert werden.
-
Der
erfindungsgemäße Prozessor
weist den Vorteil auf, dass die zeitlichen Abläufe bei der Abarbeitung der
Rechenbefehle nicht mehr an begrenzt genaue Schätzungen gebunden sind. Ein
weiterer Vorteil besteht darin, dass während derjenigen Zeiten, in
denen keine oder nur wenige Rechenbefehle abgearbeitet werden, der
Prozessortakt deutlich gesenkt ist, wodurch eine deutliche Energieersparnis
ermöglicht
ist. Dies wirkt sich auch mindernd auf die effektive Wärmeverlustleistung
aus, womit Kühlsysteme
ggf. kleiner dimensioniert werden können.
-
Ein
weiterer erfindungsgemäßer Prozessor
weist zunächstebenfalls
ein Steuerwerk zur Bereitstellung einer Abfolge von Rechenbefehlen
und ein Rechenwerk zur Abarbeitung der Rechenbefehle auf. Der Prozessor
umfasst weiterhin eine Zeitverwaltungseinheit mit einem Zeittaktgeber
zur Bereitstellung eines Zeittaktes. Die Zeitverwaltungseinheit
umfasst weiterhin einen Vergleicher zum Vergleich eines zuvor festgelegten
Wertes für
eine zulässige
Zeitdauer zur Abarbeitung eines im Rechenwerk abzuarbeitenden Rechenbefehles
mit einem Wert für
eine durch den Zeittakt definierte seit Beginn der Abarbeitung des
im Rechenwerk abzuarbeitenden Rechenbefehles verstrichene. Zeitdauer.
Schließlich
weist die Zeitverwaltungseinheit einen Ereigniskontrollspeicher
zur Speicherung von Werten für
die zur Abarbeitung eines Rechenbefehles im Rechenwerk benötigte Zeitdauer
auf. Die im Ereigniskontrollspeicher gespeicherten Werte lassen
sich als Speicherliste (Event Memory List) auffassen. Durch den
Ereigniskontrollspeicher ist ein Monitoring der für die Abarbeitung
der Rechenbefehle im Rechenwerk benötigten Zeitdauer ermöglicht.
Dies ist insbesondere für
den Entwickler von Software von Vorteil, da er die tatsächlich zur
Abarbeitung der einzelnen Rechenbefehle benötigte Zeitdauer ermitteln kann.
-
Bei
einer einfachen Ausführungsform
der erfindungsgemäßen Prozessoren
ist der Zeittaktgeber durch die Erfassung eines externen Systemtaktes
gebildet. Bei einer bevorzugten Ausführungsform ist der Zeittaktgeber
als eine Realzeituhr ausgeführt.
Die Realzeituhr gibt eine Zeit, beispielsweise im Format hh:mm:ss:ms:μs oder auch
mit Datum aus. Der Zeittakt in Form eines einfachen Systemtaktes
oder einer Realzeit ist absolut, d. h. unabhängig von dem Prozessortakt.
-
Die
Zeitverwaltungseinheit weist bevorzugt einen Ereignisspeicher zur
Speicherung der zuvor festgelegten Werte für die jeweils zulässige Zeitdauer
der im Rechenwerk abzuarbeitenden Rechenbefehle auf. Der Inhalt
dieses Ereignisspeichers kann als eine Ereignisliste (Event List)
aufgefasst werden, welche relative Zeiten enthält. Der Ereignisspeicher ermöglicht es, dem
Vergleicher die festgelegten Werte für die jeweils zulässige Zeitdauer
der im Rechenwerk abzuarbeitenden Rechenbefehle bereitzustellen.
-
Die
Zeitverwaltungseinheit eines erfindungsgemäßen Prozessors mit einem steuerbaren
Prozessortaktgeber weist bevorzugt weiterhin einen Ereigniskontrollspeicher
zur Speicherung von Werten für
die zur Abarbeitung eines Rechenbefehles im Rechenwerk benötigte Zeitdauer
auf.
-
Die
Zeitverwaltungseinheit der erfindungsgemäßen Prozessoren weist bevorzugt
weiterhin eine Schnittstelle zur Ausgabe von Hardwaresignalen an
das Steuerwerk auf. Hierdurch ist es möglich, die Überschreitung von festlegbaren
Zeitwerten zur Erzeugung eines Hardwaresignals zu nutzen. Diese
Hardwaresignale generieren beispielsweise einen Interrupt Request
(IRQ) beim Prozessor, der als Exception (Ausnahme) behandelt wird.
Diese Exception signalisiert dem Prozessor, dass das zeitliche Gefüge des Programms
verletzt wurde, wofür
der Systemdesigner entsprechende Reaktionsmöglichkeiten vorsehen kann.
-
Der
steuerbare Prozessortaktgeber umfasst bevorzugt einen spannungsgesteuerten
Oszillator. Hierdurch lässt
sich der Prozessortakt aufwandsarm in Abhängigkeit von der angelegten
Betriebsspannung steuern. Die Kopplung der Zeitverwaltungseinheit
mit dem steuerbaren Prozessortaktgeber kann beispielsweise über eine
Regelungseinheit, in welcher der Regelungsalgorithmus implementiert
ist, und über
einen analogen Ausgang der Regelungseinheit, welchen den spannungsgesteuerten
Oszillator steuert, erfolgen.
-
Das
erfindungsgemäße Verfahren
zur Regelung eines Taktes eines Prozessors umfasst zunächst einen
Schritt zur Bereitstellung einer Abfolge von Rechenbefehlen, die
im Prozessor abgearbeitet werden. Weiterhin ist ein Zeittakt bereitzustellen.
Das erfindungsgemäße Verfahren
sieht einen wiederholten Vergleich vor, in welchem ein zuvor festgelegter
Wert für
eine zulässige
Zeitdauer zur Abarbeitung eines abzuarbeitenden Rechenbefehles mit
einem Wert für
eine durch den Zeittakt definierte seit Beginn der Abarbeitung des
abzuarbeitenden Rechenbefehles verstrichene Zeitdauer verglichen
wird. Ein Ergebnis des Vergleiches ist entsprechend bereitzustellen
und dient der Steuerung des Taktes des Prozessors, welche in Abhängigkeit
von diesem Ergebnis erfolgt. Somit kann eine Anpassung des Prozessortaktes
an die vom Rechenwerk zur Abarbeitung des jeweiligen Rechenbefehles
benötigte
Zeitdauer erfolgen. Das erfindungsgemäße Verfahren ist weitgehend unabhängig von
der zu verwendenden Rechnerarchitektur und kann teilweise oder vollständig im
Prozessor implementiert sein. Das erfindungsgemäße Verfahren ermöglicht die
Bildung eines Regelkreises, in welchem der Takt des Prozessors die
geregelte Größe darstellt.
-
Das
erfindungsgemäße Verfahren
zum Monitoring von Zeiten zur Abarbeitung von Rechenbefehlen in einem
Prozessor umfasst zunächst
einen Schritt zur Bereitstellung einer Abfolge von Rechenbefehlen,
die im Prozessor abgearbeitet werden. Weiterhin ist ein Zeittakt
bereitzustellen. Schließlich
wird eine durch den Zeittakt definierte insgesamt zur Abarbeitung
des abzuarbeitenden Rechenbefehles benötigte Zeitdauer gespeichert.
Dies geschieht dann, wenn ein aufgerufener Programmbefehl dazu auffordert,
was einem manuellen Monitoring entspricht, oder wenn die durch den
Zeittakt definierte insgesamt zur Abarbeitung des abzuarbeitenden
Rechenbefehles benötigte
Zeitdauer größer als
eine zulässige
Zeitdauer zur Abarbeitung dieses Rechenbefehles ist, was einem automatischen
Monitoring entspricht. Der gespeicherte Wert kann beispiels weise durch
den Entwickler einer Software ausgelesen werden, um hieraus Rückschlüsse über die
zeitlichen Abläufe bei
der Abarbeitung des Programms ziehen zu können. Der gespeicherte Wert
kann aber auch durch einen Programmbefehl ausgelesen werden, um
die weitere Abarbeitung des Programms in Abhängigkeit Von diesem Wert zu
beeinflussen. Das erfindungsgemäße Verfahren
ist weitgehend unabhängig
von der zu verwendenden Rechnerarchitektur und kann teilweise oder
vollständig
im Prozessor implementiert sein.
-
Bei
einer bevorzugten Ausführungsform
der erfindungsgemäßen Verfahrenen
wird der Zeittakt als Realzeit bereitgestellt, wodurch erweiterte
Vergleichsmöglichkeiten
gegeben sind.
-
Bei
einer weiteren bevorzugten Ausführungsform
der erfindungsgemäßen Verfahren
nimmt vor der Abarbeitung eines Rechenbefehles eine Variable den
Wert für
die zulässige
Zeitdauer zur Abarbeitung des Rechenbefehles an. Die Variable wird
während
der Abarbeitung des Rechenbefehles mit dem Zeittakt dekrementiert.
Der wiederholte Vergleich besteht darin, dass die Variable wiederholt
mit Null verglichen wird. Diese Ausführungsform erlaubt einen aufwandsarmen
Vergleich, da sowohl die Dekrementierung der Variablen als auch deren
Vergleich mit Null leicht in Hardware zu implementieren sind.
-
Bei
einer weiteren bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
zur Regelung des Prozessortaktes wird weiterhin eine durch den Zeittakt
definierte insgesamt zur Abarbeitung des abzuarbeitenden Rechenbefehles
benötigte
Zeitdauer gespeichert. Dies geschieht dann, wenn ein aufgerufener
Programmbefehl dazu auffordert, was einem manuellen Monitoring entspricht,
oder wenn die durch den Zeittakt definierte insgesamt zur Abarbeitung
des abzuarbeitenden Rechenbefehles benö tigte Zeitdauer größer als
die zulässige
Zeitdauer zur Abarbeitung dieses Rechenbefehles ist, was einem automatischen
Monitoring entspricht.
-
Bevorzugt
wird ein hardwarebasiertes Interrupt-Signal ausgelöst, wenn
der Wert für
die durch den Zeittakt definierte bislang zur Abarbeitung des Rechenbefehles
benötigte
Zeitdauer einen zuvor festgelegten Wert überschreitet. Dadurch ist es
einem Softwareentwickler erleichtert, entsprechende Programmbefehle
bei derartigen Überschreitungen
der festgelegten Zeitdauer vorzusehen. Es könne mehrere Interrupt-Signale
verwendet werden, die entsprechend maskiert werden können.
-
Bevorzugt
wird eine Variable zur Zählung
des Zeittaktes durch einen Programmbefehl definiert. Beispielsweise
kann ein Befehl „settim
Rx" festgelegt werden,
mit dem die Variable zur Zählung
des Zeittaktes durch den Inhalt des Registers Rx festgelegt wird.
Insofern der Zeittakt durch eine Realzeit repräsentiert wird, muss der Inhalt
des Registers Rx das Format der Realzeit aufweisen.
-
Bei
einer weiteren bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
wird der Wert der Variable zur Zählung
des Zeittaktes in einen festgelegten Speicherbereich abgelegt, wenn
ein aufgerufener Programmbefehl dazu auffordert. Beispielsweise
kann ein Befehl „gettim
Rx" definiert werden,
mit welchem der Wert der Variable zur Zählung des Zeittaktes in das
Register Rx bzw. die folgenden Register kopiert wird. Insofern der
Zeittakt durch eine Realzeit repräsentiert wird, wird der Wert
in dem entsprechenden Format in das Register kopiert.
-
Die
zuvor festgelegten Werte für
die jeweils zulässige
Zeitdauer zur Abarbeitung der abzuarbeitenden Rechenbefehle werden
bevorzugt in einem festgelegten Speicherbereich gespeichert. Diese
Werte sind als Ereignisliste (Event List) auffassbar.
-
Die
Größe einer
Variablen wird bevorzugt durch eine maximale Anzahl von Werten für die jeweils
zulässige
Zeitdauer zur Abarbeitung der abzuarbeitenden Rechenbefehle, die
in dem dafür
festgelegten Speicherbereich gespeichert werden können, definiert,
wenn ein aufgerufener Programmbefehl dazu auffordert. Diese maximale
Anzahl ist als Anzahl der möglichen
Einträge
in der Ereignisliste auffassbar. Beispielsweise ist ein Befehl „ldnelm
Rx" definierbar,
der die Variable mit dem Wert dieser Anzahl in das Register Rx kopiert.
-
Bei
einer weiteren bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
wird ein Moduswert verwendet. Der Moduswert wird zu jedem der festgelegten
Werte für
die jeweils zulässige
Zeitdauer zur Abarbeitung der abzuarbeitenden Rechenbefehle in dem
festgelegten Speicherbereich gespeichert. Somit sind für jeden
Rechenbefehl die jeweils zulässige
Zeitdauer sowie der dafür
vorgesehene Moduswert gespeichert. Durch den Moduswert ist definiert,
bei welchem Signal aus einer Gruppe vorbestimmter Signale die Bestimmung
der durch den Zeittakt definierten zur Abarbeitung des Rechenbefehles
benötigten
Zeitdauer beginnt. Somit kann beispielsweise festgelegt werden,
durch welchen Interrupt Request eine Aktivierung erfolgen kann.
-
Bevorzugt
wird eine Variable durch den Moduswert definiert, wenn ein aufgerufener
Programmbefehl dazu auffordert. In gleicher Weise wird der Moduswert
durch den Wert einer Variablen definiert, wenn ein anderer aufgerufener
Programmbefehl dazu auffordert. Beispielsweise kann ein Befehl „stemc
Rx, Ry, Rz" definiert
werden, durch welchen eine Konfiguration in dem Element der Ereignisliste
[Rx], dem Konfigurationswert in Ry und dem Moduswert in Rz gespeichert
wird. Für
den Moduswert können
beispielsweise folgende Entsprechungen definiert werden: Ist das
Bit 7 gleich 1, wird ein One Shot Mode gesetzt, wohingegen ein kontinuierlicher
Modus mit Auto Reload gesetzt wird, wenn das Bit 7 gleich 0 ist.
Ist das Bit 6 gleich 1, erfolgt die Aktivierung durch einen aktiven
Interrupt Request, wohingegen eine sofortige Aktivierung erfolgt,
wenn das Bit 6 gleich 0 ist. Die Bits 5 bis 0 entsprechen der Nummer
des Interrupt Request, falls das Bit 6 gleich 1 ist.
-
Beispielsweise
wird durch den Programmbefehl
„stemc Rx, Ry, #mode" dazu aufgefordert,
dass in dem Element der Ereignisliste [Rx], dem Konfigurationswert in
Ry und dem Moduswert in mode eine Konfiguration gespeichert wird.
Durch den Befehl „stemc
Rx, #value, #mode" wird
dazu aufgefordert, dass in dem Element der Ereignisliste [Rx], dem
Konfigurationswert in value und dem Moduswert in mode eine Konfiguration
gespeichert wird. Durch den Programmbefehl
„stemc #tim, #value, #mode" wird dazu aufgefordert,
dass in dem Element tim der Ereignisliste, dem Konfigurationswert
in value und dem Moduswert in mode eine Konfiguration gespeichert
wird. Unmittelbare Konfigurationswerte können ggf. entfallen, falls
sie das Befehlsformat überschreiten,
beispielsweise aufgrund der hohen Anzahl der zu codierenden Bits
in den Konstanten.
-
Bei
einer weiteren bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
wird ein Kontrollmoduswert verwendet. Jeweils ein Kontrollmoduswert
wird zu jedem der festgelegten Werte für die jeweils zulässige Zeitdauer
zur Abarbeitung der abzuarbeitenden Rechenbefehle gespeichert. Durch
den Kontroll moduswert ist definiert, ob die insgesamt zur Abarbeitung
des abzuarbeitenden Rechenbefehles benötigte Zeitdauer gespeichert
wird, und ob ein hardwarebasiertes Interrupt-Signal ausgelöst wird,
wenn die zulässige
Zeitdauer zur Abarbeitung des abzuarbeitenden Rechenbefehles überschritten
wurde. Der Kontrollmoduswert ermöglicht
es; die Art der Reaktion festzulegen, wenn die für einen Rechenbefehl zulässige Zeitdauer überschritten
wird.
-
Bevorzugt
wird eine Variable durch den Kontrollmoduswert definiert, wenn ein
aufgerufener Programmbefehl dazu auffordert. In gleicher Weise wird
der Kontrollmoduswert durch den Wert einer Variablen definiert,
wenn ein anderer aufgerufener Programmbefehl dazu auffordert. Beispielsweise
kann ein Programmbefehl „strcm
Rx, Ry" definiert
werden, durch welchen für
das Element [Rx] der Kontrollmoduswert [Ry] konfiguriert wird. Der
Kontrollmoduswert kann folgende Entsprechung aufweisen: Ist das
Bit 1 gleich 1, wird die insgesamt zur Abarbeitung des abzuarbeitenden
Rechenbefehles benötigte
Zeitdauer in der Ereignisspeicherliste gespeichert, wohingegen keine
Speicherung erfolgt, wenn das Bit 1 gleich 0 ist. Wenn das Bit 0
gleich 1 ist, wird ein hardwarebasiertes Interrupt-Signal ausgelöst, wohingegen
dieses nicht ausgelöst
wird, wenn das Bit 0 gleich 0 ist. Weiterhin kann ein Programmbefehl „strcm
Rx, #react mode" definiert
werden, durch welchen für das
Element [Rx] der Kontrollmoduswert react mode konfiguriert wird.
-
Weitere
mögliche
Programmbefehle sind: "ldemv", „ldemm", „ldemc" und „rstelm". Durch den Befehl „ldemv
Rx, Ry" wird der
aktuell eingestellte Wert des Elementes [Ry] in Rx geladen. Durch
den Befehl „ldemm Rx,
Ry" wird der aktuell
eingestellte Moduswert des Elementes [Ry] in Rx geladen. Durch den
Befehl „ldemc Rx,
Ry” wird
der Kontrollmoduswert des Elementes [Ry] in das Register Rx geladen.
Durch den Befehl „rstelm Rx,
Ry" wird die aktuelle Überwachung
des Elementes. [Rx] zurückgesetzt.
Ein Neustart wird je nach eingestelltem Modus ggf. durchgeführt. Die
Notation [Rx] bedeutet eine Indirektion, d. h. ein Zugriff auf den
Inhalt von Rx.
-
Im
Weiteren sind beispielsweise die Befehle „ldmv", „ldnmv" und „monit" zur Verwaltung der
Ereignisspeicherliste definierbar. Der Programmbefehl „ldmv Rx" führt dazu,
dass die Anzahl der in der Ereignisspeicherliste gespeicherten Ereignisse
geladen wird. Diese Liste kann als first-in-first-out-Speicher in
Ringpufferform aufgebaut sein. Es sind aber auch andere Organisationsformen
denkbar. Der Befehl „ldnmv
Rx" führt dazu,
dass das nächste
Ereignis in das Register Rx geladen wird. Dies könnte beispielsweise das älteste gespeicherte
Ereignis sein, welches noch nicht ausgelesen wurde, wobei die Anzahl
der verfügbaren
Einträge
um 1 dekrementiert wird. Der Befehl „monit" führt
dazu, dass der aktuelle Wert des Zeittaktes in die Ereignisspeicherliste
geschrieben wird. Hierdurch ist das Setzen von Marken in dieser
Liste ermöglicht.
-
Ein
weiterer Aspekt der Erfindung ist durch eine programmgesteuerte
Einheit gegeben. Die erfindungsgemäße programmgesteuerte Einheit
weist zumindest mehrere Rechenwerke zur Abarbeitung von Rechenbefehlen
und ein Steuerwerk zur Bereitstellung einer Abfolge von Rechenbefehlen
auf. Das Steuerwerk dient weiterhin der Verteilung der Rechenbefehle
auf die Rechenwerke. Die programmgesteuerte Einheit weist weiterhin
einen Zeittaktgeber zur Bereitstellung eines Zeittaktes auf. Jedem
Rechenwerk der programmgesteuerten Einheit ist ein Vergleicher zum
Vergleich eines zuvor festgelegten Wertes für eine zulässige Zeitdauer zur Abarbeitung
eines abzuarbeitenden Rechenbefehles mit einem Wert für eine durch
den Zeittakt definierte seit Beginn der Abarbeitung des abzuarbeitenden
Rechenbefehles verstrichene Zeitdauer zugeordnet. Die Vergleicher
sind mit dem Steuerwerk gekoppelt. Die erfindungsgemäße programmgesteuerte
Einheit erlaubt die Bildung eines Regelkreises, in welchem die Verteilung
der Rechenbefehle auf die Rechenwerke geregelt wird.
-
Bei
einer bevorzugten Ausführungsform
der erfindungsgemäßen programmgesteuerten
Einheit sind die Rechenwerke als vollständige Prozessoren ausgebildet.
Es handelt sich um ein System aus eigenständigen Prozessoren, sodass
die programmgesteuerte Einheit ein Mehrprozessorsystem darstellt.
Vorzugsweise sind die den Prozessoren zugeordneten Zeitverwaltungseinheiten
in die Prozessoren integriert. Dieses Mehrprozessorsystem erlaubt
die Bildung eines Regelkreises, in welchem die Verteilung der Rechenbefehle
auf die Prozessoren geregelt wird. Das Prinzip einer solchen Verteilung
kann durch ein Space-Time-Mapping-Verfahren gegeben sein, bei welchem
von der Ausführungsdimension
Time (Zeitsequenz) auf Space (Konfiguration von Rechenelementen
zur maximalen Parallelität)
umgeschaltet werden kann. Die Ausführung im Raum bindet wesentlich
mehr Ressourcen und wird so weitgehend vermieden. Sie besitzt aber
ein erheblich höheres
Beschleunigungspotenzial. Das Steuerwerk kann teilweise oder vollständig durch
die Prozessoren selbst gebildet sein.
-
Bei
einer besonderen Ausführungsform
der als Mehrprozessorsystem ausgebildeten programmgesteuerten Einheit
weist diese weiterhin einen steuerbaren Prozessortaktgeber zur Bereitstellung
eines Prozessortaktes auf, wobei dieser Prozessortaktgeber mit mindestens
einem der Vergleicher gekoppelt ist. Bei dieser Ausführungsform
des Mehrprozessorsystems ist eine Rege lung sowohl der Verteilung
der Rechenbefehle auf die Prozessoren als auch eine Regelung des
Prozessortaktes eines oder mehrerer Prozessoren möglich. Hierdurch
kann das Mehrprozessorsystem der Menge an abzuarbeitenden Rechenbefehlen
in einem sehr großen Dynamikbereich
angepasst werden.
-
Gemäß der vorliegenden
Erfindung wird weiterhin ein Verfahren zur Verteilung von Rechenbefehlen auf
Rechenwerke einer programmgesteuerten Einheit aufgezeigt, welches
zunächst
eine Bereitstellung einer Abfolge von Rechenbefehlen, welche in
den Rechenwerken abgearbeitet werden, vorsieht. Weiterhin wird ein Zeittakt
bereitgestellt. Es erfolgt ein wiederholter Vergleich eines zuvor
festgelegten Wertes für
eine zulässige Zeitdauer
zur Abarbeitung eines abzuarbeitenden Rechenbefehles mit einem Wert
für eine
durch den Zeittakt definierte seit Beginn der Abarbeitung dieses
Rechenbefehles verstrichene Zeitdauer. Die Ergebnisse der Vergleiche
werden bereitgestellt und dienen zur Bestimmung der Aufteilung der
abzuarbeitenden Rechenbefehle auf die Rechenwerke, welche nachfolgend
in Abhängigkeit
von diesen Ergebnissen erfolgt. Somit kann die Verteilung der Rechenbefehle
auf die Rechenwerke an die von den Rechenwerken zur Abarbeitung
des jeweiligen Rechenbefehles benötigte Zeitdauer angepasst werden.
-
Das
erfindungsgemäße Verfahren
kann ebenso zur Verteilung von Rechenbefehlen auf Prozessoren eines
Mehrprozessorsystems genutzt werden. Das erfindungsgemäße Verfahren
ist unabhängig
von der Architektur des Mehrprozessorsystems anwendbar. Ebenso ist
es weitgehend unabhängig
von der Architektur der einzelnen Prozessoren des Mehrprozessorsystems.
Diese können
beispielsweise durch Mikroprozessoren gebildet sein.
-
Gemäß der vorliegenden
Erfindung können
die Schritte des Verfahrens zur Regelung eines Taktes eines Prozessors
mit Schritten des Verfahrens zur Verteilung der Rechenbefehle innerhalb
eines Mehrprozessorsystems kombiniert werden, wodurch ein Mehrprozessorsystem
in einer großen
Variabilität
an die Menge und die Art der abzuarbeitenden Rechenbefehle angepasst
werden kann.
-
Die
oben beispielhaft genannten Programmbefehle, wie „settim", „gettim", „ldnelm „stemc", „ldemv" und „monit", sind bevorzugt
in einer Assemblersprache zu codieren. Hierdurch können sie
unmittelbar in Maschinensprache übersetzt
werden, wodurch eine hardwarenahe und effiziente Programmierung
ermöglicht
ist. Neben den genannten Beispielen für Programmbefehle sind weitere
Programmbefehle, welche insbesondere das Verhalten der Zeitverwaltungseinheit
steuern, definierbar.
-
Ein
weiterer Aspekt der Erfindung ist in einem Programm zu sehen, welches
in einer Hochsprache, beispielsweise in einer imperativen Sprache
wie C, codiert ist und nach dessen Übersetzung (Kompilierung) zur
Abarbeitung auf einem erfindungsgemäßen Prozessor vorgesehen ist.
Das Programm weist zumindest einen in der Hochsprache codierten
Programmbefehl auf, in welchem verschiedene Maschinenbefehle zur
Verwaltung der Zeitverwaltungseinheit zusammengefasst sind. Die
Programmbefehle können
als „wesentliche Kommentare" oder in Form bedingter
Kompilierung in den Quelltext eingebunden werden. Hierdurch entstehen keine
Kompatibilitätsprobleme
auf der Quelltextebene. Eine Einbindung als bedingte Kompilierung
kann wie folgt in C vorgenommen werden:
#ifdef TMU_integrated
foreveryloop
( timeValue );
#endif
-
Eine
Einbindung als wesentlicher Kommentar kann wie folgt vorgenommen
werden:
/*.@@ foreveryloop ( timeValue ); */
-
Beispielsweise
kann eine Basisfunktion:
int start_oneshot_timemonitoring(
confValue, timeValue )
definiert werden, welche einen einmaligen
Vorgang der Zeitüberwachung
an dieser Stelle startet. Der Rückgabewert
dieser Funktion ist die Nummer des Elementes in der Ereignisliste.
-
Eine
weitere mögliche
Basisfunktion ist:
int start_continuous_timemonitoring( confValue,
timeValue )
-
Durch
diese Basisfunktion wird ein permanenter Vorgang der Zeitüberwachung
an dieser Stelle gestartet. Rückgabewert
dieser Funktion ist die Nummer des Elementes in der Ereignisliste.
Weiterhin kann eine Basisfunktion:
void reset_timer( elemNumber
)
definiert werden, durch welche die durch den Zeittakt bestimmte
Zeitdauer zurückgesetzt
wird, wenn das Programm an dieser Stelle durchlaufen wird. Anderenfalls
wird eine konfigurierte Aktion ausgelöst.
-
Weiterhin
kann eine Basisfunktion:
void switch_off_timer( elemNumber
)
definiert werden, durch welche die Bestimmung einer durch
den Zeittakt bestimmten Zeitdauer deaktiviert wird. Die Basisfunktionen
können
als Funktionsaufrufe oder als Makros implementiert werden.
-
Neben
den beispielhaft genannten Basisfunktionen sind weitere Hochsprachenkonstrukte
definierbar, deren Übersetzung
in mehrere, nicht konsekutive Anweisungen erfolgen muss. Beispielsweise
ist das Hochsprachenelement:
for_every_loop( &elemNumber, confValue,
timeValue )
definierbar, welches sich auf eine Schleife bezieht,
auf deren Ebene es definiert wird. Dieses Element kann wie folgt
aufgerufen werden:
-
Dieses
gegenüber
dem Standard-C neue Hochsprachenelement wird wie folgt in in der
Norm definierte Hochsprachenanweisungen übersetzt:
-
Ein
weiteres beispielhaftes Hochsprachenelement ist:
max_react_time(
timeValue )
-
Hierdurch
wird die maximal zulässige
Reaktionszeit definiert.
-
Weitere
Vorteile, Einzelheiten und Weiterbildungen der vorliegenden Erfindung
ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen,
unter Bezugnahme auf die Zeichnung. Es zeigen:
-
1:
ein Blockdiagramm einer bevorzugten Ausführungsform des erfindungsgemäßen Prozessors; und
-
2:
ein Blockdiagramm einer in 1 gezeigten
Zeitverwaltungseinheit.
-
1 zeigt
ein Blockdiagramm einer bevorzugten Ausführungsform des erfindungsgemäßen Prozessors
einschließlich
seiner Peripherie. Das Blockdiagramm gibt die Architektur eines
erweiterten Von-Neumann-Modells wieder. Die Architektur zeigt zunächst die
Komponenten eines Von-Neumann-Modells. Hierzu gehört ein Hauptprozessor 01,
der auch als Central Processing Unit (CPU) bezeichnet wird, sowie
ein Steuerwerk 02, welches auch als Control Unit (CU) bezeichnet
wird, und ein Rechenwerk 03, welches auch als Arithmetical
Logical Unit (ALU) bezeichnet wird. Weiterhin gehören zu dem
Von-Neumann-Modell ein Speicherwerk 04, welches auch als
Memory (MEM) bezeichnet wird, sowie ein Eingabe-/Ausgabewerk 06,
das auch als Input/Output (I/O) bezeichnet wird. Ein Datenaustausch
des Hauptprozessors 01 mit dem Speicherwerk 04 und dem
Eingabe-/Ausgabewerk 06 erfolgt über ein
Bussystem 07.
-
Die
erfindungsgemäße Erweiterung
des Von-Neumann-Modells besteht darin, dass der Hauptprozessor 01 weiterhin
eine Zeitverwaltungseinheit 08 umfasst, welche auch als
Time Management Unit (TMU) bezeichnet wird. Die Zeitverwaltungseinheit 08 hat
die Aufgabe, die Zeit kontinuierlich, d. h. im Rahmen eines Zählers, zu
messen und per Programm bestimmte oder konfigurierte Zeitwerte in
einem speziell dafür
ausgelegten Speicher innerhalb der Zeitverwaltungseinheit 08 zu
sichern. Weiterhin wird der Zeitverwaltungseinheit 08 die
Aufgabe zuteil, bei Überschreitung
von konfigurierten Zeitwerten Ereignisse im Hauptprozessor 01 auszulösen.
-
2 zeigt
ein Blockdiagramm der in 1 gezeigten Zeitverwaltungseinheit 08.
Die Zeitverwaltungseinheit 08 umfasst zunächst einen
zentralen Zustandsautomaten 09, der auch als Central State
Machine (CSM) bezeichnet wird. An den zentralen Zustandsautomaten 09 ist
eine zentrale Zeiteinheit 11 angekoppelt. Die zentrale
Zeiteinheit 11, die auch als Central Timer Unit (CTU) bezeichnet
wird, umfasst vorzugsweise eine Realzeituhr und erlaubt eine kontinuierliche
Zeitmessung. Die zentrale Zeiteinheit 11 gibt das Ergebnis
der Zeitmessung permanent an den zentralen Zustandsautomaten 09 aus.
Insofern die zentrale Zeiteinheit 11 eine Realzeituhr umfasst, übergibt
sie ihr Ergebnis im Format einer Uhrzeit an den zentralen Zustandsautomaten 09.
-
Die
Zeitverwaltungseinheit 08 umfasst weiterhin einen Ereignisspeicher 12 zur
Speicherung zuvor festgelegter Werte für die jeweils zulässige Zeitdauer
eines im Rechenwerk 03 abzuarbeitenden Rechenbefehls. Der
Ereignisspeicher 12 enthält eine Ereignisliste (Event
List). Die Ereignisliste enthält
relative Zeiten, die, falls das Element der Ereignisliste aktiv
ist, dekrementiert wird. Bei Erreichen des Wertes Null wird eine Aktion
ausgelöst.
-
Die
Zeitverwaltungseinheit 08 umfasst weiterhin einen Ereigniskontrollspeicher 13 zur
Speicherung von Werten für
die zur Abarbeitung eines Rechenbefehles im Rechenwerk 08 benötigte Zeitdauer.
Der Ereigniskontrollspeicher 13 beinhaltet eine Speicherliste
(Event Memory List), welche für
ein manuelles oder automatisches Monitoring der Zeitwerte benutzt
werden kann. Beim manuellen Monitoring wird durch einen Programmbefehl
die Speicherung des aktuellen Zeitwertes der zentralen Zeiteinheit 11 im
Ereigniskontrollspeicher 13 initiiert. Das automatische
Monitoring kann so eingerichtet sein, dass jeweils bei Überschreitung
eines gesetzten Zeitwertes ein Eintrag in die Speicherliste des
Ereigniskontrollspeichers 13 erfolgt. Dieser Eintrag enthält die jeweils
gültige
absolute Zeit der zentralen Zeiteinheit 11. Die Speicherliste
des Ereigniskontrollspeichers 13 kann durch den zentralen
Zustandsautomaten 09 ausgelesen werden.
-
Die
Zeitverwaltungseinheit 08 umfasst weiterhin eine Schnittstelle 14 zum
Steuerwerk 02. Diese Schnittstelle 14 kann auch
als Interface to CU (I/CU) bezeichnet werden. Mithilfe der Schnittstelle 14 können Hardwaresignale
zur Signalisierung von Ereignissen an das Steuerwerk 02 übertragen
werden. Beispielsweise führt
die Überschreitung
von konfigurierten Zeitwerten in der Ereignisliste zur Erzeugung
eines Hardwaresignals, insofern dies konfiguriert ist. Diese Hardwaresignale
generieren beim Hauptprozessor 01 einen Interrupt Request,
der hier, weil es sich nicht um eine gewollte Unterbrechung bzw.
ein äußeres Signal
handelt, als Exception bezeichnet wird. Diese Exception signalisiert
dem Prozessor, dass das zeitliche Gefüge des Programms verletzt wurde,
und gibt dem Systemdesigner die Möglichkeit zu reagieren. Die
Rücksetzung
von Zeitwerten, beispielsweise in der Ereignisliste, zur Vermeidung
der Auslösung
einer Exception kann durch den Hauptprozessor 01 während eines
Programms erfolgen. Hierbei entspricht die Funktionalität der Zeitverwaltungseinheit 08 in
etwa dem Verhalten einer Watch-Dog-Schaltung, wobei diese eine allgemeine
Rücksetzung bei
einer Zeitüberschreitung
auslöst.
Hingegen überwacht
die Zeitverwaltungseinheit 08 das Zeitgefüge sehr feingliedrig
und die Behandlung der Exceptions kann ebenfalls sehr ausgewogene
Reaktionen enthalten und steht in der Verantwortung der Softwareentwicklung.
Die Steuerung der Zeitverwaltungseinheit 08 erfolgt ebenfalls
durch das Steuerwerk 02, wofür das Steuerwerk 02 neue
Programmbefehle unterstützen
muss. Diese Programmbefehle dienen beispielsweise dem Ein- und Auslesen
des Ereignisspeichers 12 und des Ereigniskontrollspeichers 13.
Die für
die Steuerung der Zeitverwaltungseinheit 08 erforderlichen
Programmbefehle haben wenig oder keinen Bezug zum Rechenwerk 03,
sodass das Rechenwerk 03 gegenüber einem herkömmlichen
Rechenwerk gemäß dem Von-Neumann-Modell
nicht erweitert werden muss.
-
Die
Integration der neuen Programmbefehle kann beispielsweise dadurch
erfolgen, dass diese eine entsprechende Ausführungszeit im Programm in Anspruch
nehmen. Dies ist dann möglich,
wenn sich noch Raum im Codierungsformat befindet, also noch nicht
alle Varianten zur Codierung eines Befehls ausgeschöpft sind.
Der Vorteil einer solchen Integration besteht in der universellen
Anwendbarkeit. Die Integration der weiteren Programmbefehle kann
auch dadurch erfolgen, dass sie in andere Befehle integriert werden.
Dies ist möglich,
wenn die bislang verwendeten Befehle auch noch Raum für zusätzliche
Angaben aufweisen, d. h. ungenutzte Bits im Code. Eine solche Integration
der neuen Programmbefehle weist den Vorteil auf, dass keine zusätzliche
Laufzeit benötigt
wird.
-
Prinzipiell
handelt es sich bei dem zentralen Zustandsautomaten 09 um
einen endlichen Zustandsautomaten (Finit State Machine). Der zentrale
Zustandsautomat 09 wird aus Komplexitätsgründen nicht als einfacher endlicher
Zustandsautomat, sondern in kooperierender Weise ausgeführt. Eine
Möglichkeit
der Implementierung besteht in einem kleinen Mikroprozessor mit
einer Verarbeitungsbreite von beispielsweise 8 Bit, welcher die
Eingaben seitens des Steuerwerks 02 und die Vergleiche
zwischen den von der zentralen Zeiteinheit 11 ausgegebenen
Zeitwerten und den Werten in der Ereignisliste 12 durchführt und
entsprechende Aktionen einleitet. Die Verwendung eines Mikroprozessors
für die
Realisierung der Zeitverwaltungseinheit 08 weist den Vorteil
auf, dass die Zeitverwaltungseinheit 08 sehr flexibel ist,
da sie selbst programmierbar ist. Alternativ ist die Zeitverwaltungseinheit 08 in
vorhandene Hardware zu implementieren, beispielsweise als integraler
Bestandteil eines Mikroprozessors.
-
Die
Architektur des erfindungsgemäßen erweiterten
Von-Neumann-Modells
kann beispielsweise als Grundlage dazu dienen, ein adaptives System
zu realisieren. Beispielsweise können
so Reaktionszeiten für Interrupt
Requests überwacht
werden. Eine solche Reaktionszeit, d. h. die Differenz zwischen
Auftritt eines Interrupt Requests und der finalen Reaktion, kann
bei Realzeitsystemen eine signifikante Größe sein, wobei die Überschreitung
einer vorgegebenen Grenze nicht zulässig ist. Die Messung einer
solchen Reaktionszeit zeigt in dem jeweiligen Fall die Realzeitfähigkeit
des Systems. Beispielsweise können
auch Durchlaufzeiten in Systemen mit einem zyklischen Design bestimmt
werden. In zeitgesteuerten Systemen sind Durchlaufzeiten eines Zyklus
häufig
die Größe, welche
die Realzeitfähigkeit
des Systems bestimmt. Es können
aber auch Einzellaufzeiten in Systemen in einem nichtzyklischen
Design bestimmt werden, welche zur Bewertung der Realzeitfähigkeit
herangezogen werden können.
-
Die
genannten Zeitmessungen haben nur einen sehr geringen möglichen
Einfluss auf die eigentliche Berechnung in der Zeitverwaltungseinheit 08.
Im Gegensatz zu einem Zeitmonitoring auf Softwareebene, d. h. beispielsweise
auf Betriebssystemebene, welches etwa im Millisekundenbereich einsetzt,
kann die prozessorbasierte Zeitverwaltungseinheit 08 auch
im Mikrosekundenbereich und darunter genutzt werden. Diese Eigenschaft
erlaubt die Verwendung des erfindungsgemäßen Hauptprozessors 01 beispielsweise
im Bereich der eingebetteten Systeme, wo sehr kurze Reaktionszeiten
erforderlich sind.
-
- 01
- Hauptprozessor
- 02
- Steuerwerk
- 03
- Rechenwerk
- 04
- Speicherwerk
- 05
- -
- 06
- Eingabe-/Ausgabewerk
- 07
- Bussystem
- 08
- Zeitverwaltungseinheit
- 09
- zentraler
Zustandsautomat
- 10
- -
- 11
- zentrale
Zeiteinheit
- 12
- Ereignisspeicher
- 13
- Ereigniskontrollspeicher
- 14
- Schnittstelle
zum Steuerwerk