-
Die
Erfindung betrifft einen Prozessor für eine Rechenmaschine,
dessen Arbeitstakt regelbar ist, sowie ein Verfahren zur Regelung
eines Prozessortaktes und ein Datenverarbeitungsprogramm zur Abarbeitung
auf einem 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 ein Mehrprozessorsystem und ein Verfahren
zur Verteilung von Rechenbefehlen auf Prozessoren des Mehrprozessorsystems.
-
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
Unified Modeling Language (UML) gemäß Spezifikation
UML 2.0 Infrastructure Specification 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. Eine Teilaufgabe besteht außerdem
darin, diese zeitliche Übereinstimmung auch innerhalb einer
programmgesteuerten Einheit oder innerhalb eines Mehrprozessorsystems
zu verbessern.
-
Die
oben genannte Aufgabe wird durch Prozessoren gemäß den
beigefügten Ansprüchen 1 und 2 sowie durch Verfahren
gemäß den beigefügtem Ansprüchen
13 und 14 sowie durch ein Datenverarbeitungsprogramm gemäß dem
beigefügten Anspruch 24 gelöst. Die genannte Teilaufgabe
wird durch eine programmgesteuerte Einheit gemäß dem
beigefügten Anspruch 10 und durch ein Verfahren gemäß dem
beigefügten Anspruch 21 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 Datenprozessor
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ächst
ebenfalls 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 lungsowohl 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 inbindung 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
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - DE 10034459
A1 [0002]
- - US 2006/0288194 A1 [0006]
-
Zitierte Nicht-Patentliteratur
-
- - Lindh, L.;
Stanischewski, F.: „FASTCHART – A Fast Time Deterministic
CPU and Hardware based Real-Time-Kernel" in: IEEE press, 1991 [0003]
- - 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 [0004]
- - Kailas, K.; Agrawala, A.: „An Accurate Timemanagement
Unit for Real-time Processors", University of Maryland, 1997 [0005]