DE102007026982A1 - Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes - Google Patents

Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes Download PDF

Info

Publication number
DE102007026982A1
DE102007026982A1 DE102007026982A DE102007026982A DE102007026982A1 DE 102007026982 A1 DE102007026982 A1 DE 102007026982A1 DE 102007026982 A DE102007026982 A DE 102007026982A DE 102007026982 A DE102007026982 A DE 102007026982A DE 102007026982 A1 DE102007026982 A1 DE 102007026982A1
Authority
DE
Germany
Prior art keywords
time
processing
arithmetic
processor
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102007026982A
Other languages
English (en)
Other versions
DE102007026982B4 (de
Inventor
Christian Prof. Dr. Siemers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fachhochschule Nordhausen
Original Assignee
Fachhochschule Nordhausen
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fachhochschule Nordhausen filed Critical Fachhochschule Nordhausen
Priority to DE200710026982 priority Critical patent/DE102007026982B4/de
Priority to PCT/EP2008/056978 priority patent/WO2008148838A1/de
Priority to EP08760556A priority patent/EP2160670A1/de
Publication of DE102007026982A1 publication Critical patent/DE102007026982A1/de
Application granted granted Critical
Publication of DE102007026982B4 publication Critical patent/DE102007026982B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Die Erfindung betrifft einen Prozessor (01) für eine Rechenmaschine, dessen Arbeitstakt regelbar ist. Der erfindungsgemäße Prozessor (01) weist ein Steuerwerk (02), ein Rechenwerk (03) zur Abarbeitung der Rechenbefehle und einen steuerbaren Prozessortaktgeber zur Bereitstellung eines Prozessortaktes auf. Der Prozessor (01) umfasst weiterhin eine Zeitverwaltungseinheit (08), welche einen Zeittaktgeber (11) zur Bereitstellung eines Zeittaktes aufweist. Die Zeitverwaltungseinheit (08) umfasst weiterhin einen Vergleicher zum Vergleich eines zuvor festgelegten Wertes für eine zulässige Zeitdauer zur Abarbeitung eines im Rechenwerk (03) abzuarbeitenden Rechenbefehles mit einem Wert für eine durch den Zeittakt definierte seit Beginn der Abarbeitung des im Rechenwerk (03) abzuarbeitenden Rechenbefehles verstrichene Zeitdauer. Schließlich umfasst der erfindungsgemäße Prozessor (01) eine Koppelung der Zeitverwaltungseinheit (08) mit dem steuerbaren Prozessortaktgeber. Durch die Kopplung kann ein Regelkreis gebildet werden, in welchem der Prozessortakt die geregelte Größe darstellt. Weiterhin betrifft die Erfindung ein Verfahren zur Regelung eines Prozessortaktes und ein Programm zur Abarbeitung auf dem Prozessor sowie ein Mehrprozessorsystem und ein Verfahren zur Verteilung von Rechenbefehlen auf Prozessoren des Mehrprozessorsystems.

Description

  • 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:
    Figure 00190001
  • Dieses gegenüber dem Standard-C neue Hochsprachenelement wird wie folgt in in der Norm definierte Hochsprachenanweisungen übersetzt:
  • Figure 00190002
  • Figure 00200001
  • 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]

Claims (24)

  1. Prozessor (01) für eine Rechenmaschine, mit: – einem steuerbaren Prozessortaktgeber zur Bereitstellung eines Prozessortaktes; – einem Steuerwerk (02) zur Bereitstellung einer Abfolge von Rechenbefehlen; – einem Rechenwerk (03) zur Abarbeitung der Rechenbefehle; – einer Zeitverwaltungseinheit (08), umfassend einen Zeittaktgeber (11) zur Bereitstellung eines Zeittaktes und einen Vergleicher (09) zum Vergleich eines vorbestimmten Wertes für eine zulässige Zeitdauer zur Abarbeitung eines im Rechenwerk (03) abzuarbeitenden Rechenbefehles mit der durch den Zeittakt definierten seit Beginn der Abarbeitung des Rechenbefehles verstrichenen Zeitdauer; dadurch gekennzeichnet, dass zwischen der Zeitverwaltungseinheit (08) und dem steuerbaren Prozessortaktgeber eine Koppelung zur Anpassung des Prozessortaktes an die vom Rechenwerk (03) zur Abarbeitung des jeweiligen Rechenbefehles benötigte Zeitdauer vorhanden ist.
  2. Prozessor (01) für eine Rechenmaschine, mit: – einem Steuerwerk (02) zur Bereitstellung einer Abfolge von Rechenbefehlen; – einem Rechenwerk (03) zur Abarbeitung der Rechenbefehle; – einer Zeitverwaltungseinheit (08), umfassend einen Zeittaktgeber (11) zur Bereitstellung eines Zeittaktes und einen Vergleicher (09) zum Vergleich eines vorbestimmten Wertes für eine zulässige Zeitdauer zur Abarbeitung eines im Rechenwerk (03) abzuarbeitenden Rechenbefehles mit der durch den Zeittakt definierten seit Beginn der Abarbeitung des Rechenbefehles verstrichenen Zeitdauer; dadurch gekennzeichnet, dass die Zeitverwaltungseinheit (08) weiterhin einen Ereigniskontrollspeicher (13) zur Speicherung der tatsächlich zur Abarbeitung eines Rechenbefehles im Rechenwerk (03) benötigten Zeitdauer umfasst.
  3. Prozessor (01) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Zeittaktgeber als eine Realzeituhr (11) ausgeführt ist.
  4. Prozessor (01) nach Anspruch 1 oder nach dem auf den Anspruch 1 rückbezogenen Anspruch 3, dadurch gekennzeichnet, dass die Zeitverwaltungseinheit (08) weiterhin einen Ereigniskontrollspeicher (13) zur Speicherung der tatsächlich zur Abarbeitung eines Rechenbefehles im Rechenwerk (03) benötigten Zeitdauer umfasst.
  5. Prozessor (01) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Zeitverwaltungseinheit (08) weiterhin einen Ereignisspeicher (12) zur Speicherung von vorbestimmten Werten für die jeweils zulässige Zeitdauer zur Abarbeitung der Rechenbefehle im Rechenwerk (03) aufweist.
  6. Prozessor (01) nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Zeitverwaltungseinheit (08) weiterhin eine Schnittstelle (14) zur Ausgabe von Hardwaresignalen an das Steuerwerk (02) aufweist.
  7. Prozessor (01) nach einem auf den Anspruch 1 rückbezogenen vorhergehenden Anspruch, dadurch gekennzeichnet, dass der steuerbare Prozessortaktgeber einen spannungsgesteuerten Oszillator umfasst.
  8. Prozessor (01) nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Prozessor (01) eine erweiterte Von-Neumann-Architektur aufweist, wobei die Erweiterung durch die Zeitverwaltungseinheit (08) gegeben ist.
  9. Prozessor nach Anspruch 8, dadurch gekennzeichnet, dass dieser als Mikroprozessor (01) ausgeführt ist und die Zeitverwaltungseinheit (08) als integraler Bestandteil des Mikroprozessors (01) ausgeführt ist.
  10. Programmgesteuerte Einheit mit zumindest mehreren Rechenwerken, mindestens einem Steuerwerk zur Bereitstellung einer Abfolge von Rechenbefehlen sowie zur Verteilung der Rechenbefehle auf die Rechenwerke und mindestens einem Zeittaktgeber zur Bereitstellung eines Zeittaktes; wobei jedem Rechenwerk ein Vergleicher zum Vergleich eines vorbestimmten Wertes einer zulässigen Zeitdauer zur Abarbeitung eines abzuarbeitenden Rechenbefehles mit der durch den Zeittakt definierten seit Beginn der Abarbeitung des Rechenbefehles verstrichenen Zeitdauer zugeordnet ist; und wobei die Vergleicher mit dem Steuerwerk gekoppelt sind, um die Verteilung der Rechenbefehle auf die Rechenwerke an die von den Rechenwerken zur Abarbeitung des jeweiligen Rechenbefehles benötigte Zeitdauer anzupassen.
  11. Programmgesteuerte Einheit nach Anspruch 10, dadurch gekennzeichnet, dass die Rechenwerke als einzelne Prozessoren ausgebildet sind, sodass die programmgesteuerte Einheit als ein Mehrprozessorsystem ausgebildet ist.
  12. Programmgesteuerte Einheit nach Anspruch 11, dadurch gekennzeichnet, dass sie weiterhin mindestens einen steuerbaren Prozessortaktgeber zur Bereitstellung eines Prozes sortaktes aufweist, wobei der Prozessortaktgeber mit mindestens einem der Vergleicher gekoppelt ist.
  13. Verfahren zur Regelung eines Taktes eines Prozessors, die folgenden Schritte umfassend: – Bereitstellung einer Abfolge von Rechenbefehlen; – Abarbeitung der Rechenbefehle im Prozessor; – Bereitstellung eines Zeittaktes; – wiederholter Vergleich eines vorbestimmten Wertes einer zulässigen Zeitdauer zur Abarbeitung eines abzuarbeitenden Rechenbefehles mit der durch den Zeittakt definierten seit Beginn der Abarbeitung des Rechenbefehles verstrichenen Zeitdauer; und – Steuerung des Taktes des Prozessors zur Anpassung des Prozessortaktes an die vom Rechenwerk zur Abarbeitung des jeweiligen Rechenbefehles benötigte Zeitdauer, in Abhängigkeit vom Ergebnis des Vergleiches.
  14. Verfahren zum Monitoring von Zeiten zur Abarbeitung von Rechenbefehlen in einem Prozessor, die folgenden Schritte umfassend: – Bereitstellung einer Abfolge von Rechenbefehlen; – Abarbeitung der Rechenbefehle im Prozessor; – Bereitstellung eines Zeittaktes; und – Speicherung des Wertes einer durch den Zeittakt definierten insgesamt zur Abarbeitung des abzuarbeitenden Rechenbefehles benötigten Zeitdauer, wenn ein aufgerufener Programmbefehl dazu auffordert 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 des abzuarbeitenden Rechenbefehles ist.
  15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass der Zeittakt als Realzeit bereitgestellt wird.
  16. Verfahren nach einem der Ansprüche 13 bis 15, dadurch gekennzeichnet, dass der wiederholte Vergleich dadurch erfolgt, dass vor der Abarbeitung eines Rechenbefehles eine Variable mit dem Wert der zulässigen Zeitdauer zur Abarbeitung dieses Rechenbefehles gleichgesetzt wird und die Variable während der Abarbeitung dieses Rechenbefehles mit dem Zeittakt dekrementiert wird, wobei die Variable während eines jeden Zeittaktes mit Null verglichen wird.
  17. Verfahren nach einem auf den Anspruch 13 rückbezogenen vorhergehenden Anspruch, dadurch gekennzeichnet, dass weiterhin der Wert einer durch den Zeittakt definierten insgesamt zur Abarbeitung des abzuarbeitenden Rechenbefehles benötigten Zeitdauer gespeichert wird, wenn: – ein aufgerufener Programmbefehl dazu auffordert; oder – die durch den Zeittakt definierte insgesamt zur Abarbeitung des abzuarbeitenden Rechenbefehles benötigte Zeitdauer größer als die zulässige Zeitdauer zur Abarbeitung des abzuarbeitenden Rechenbefehles ist.
  18. Verfahren nach einem der Ansprüche 13 bis 17, dadurch gekennzeichnet, dass ein hardwarebasiertes Interrupt-Signal ausgelöst wird, wenn der Wert der durch den Zeittakt definierten, seit Beginn der Abarbeitung des Rechenbefehles verstrichenen Zeitdauer einen vorbestimmten Wert überschreitet.
  19. Verfahren nach einem der Ansprüche 13 bis 18, dadurch gekennzeichnet, dass jeweils der vorbestimmte Wert der zulässigen Zeitdauer zur Abarbeitung eines der Rechenbefehle gemeinsam mit einem Moduswert in einem festgelegten Speicherbereich gespeichert wird, wobei durch den Moduswert definiert ist, bei welchem Signal aus einer Gruppe vorbestimmter Signale die Bestimmung der durch den Zeittakt definierten zur Abarbeitung des Rechenbefehles benötigten Zeitdauer beginnt.
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass weiterhin zu jedem der vorbestimmten Werte der jeweils zulässigen Zeitdauer zur Abarbeitung eines der Rechenbefehle ein Kontrollmoduswert in dem festgelegten Speicherbereich gespeichert wird, wobei durch den Kontrollmoduswert definiert ist, ob die insgesamt zur Abarbeitung des Rechenbefehles benötigte Zeitdauer gespeichert wird und ob ein hardwarebasiertes Interrupt-Signal ausgelöst wird, wenn die zulässige Zeitdauer zur Abarbeitung des Rechenbefehles überschritten wurde.
  21. Verfahren zur Verteilung von Rechenbefehlen auf Rechenwerke einer programmgesteuerten Einheit, die folgenden Schritte umfassend: – Bereitstellung einer Abfolge von Rechenbefehlen; – Abarbeitung der Rechenbefehle in den Rechenwerken; – Bereitstellung eines Zeittaktes; – wiederholter Vergleich eines vorbestimmten Wertes einer zulässigen Zeitdauer zur Abarbeitung eines Rechenbefehles mit dem Wert einer durch den Zeittakt definierten seit Beginn der Abarbeitung dieses Rechenbefehles verstrichenen Zeitdauer; und – Aufteilung der abzuarbeitenden Rechenbefehle auf die Prozessoren, um die Verteilung der Rechenbefehle auf die Prozessoren in Abhängigkeit vom Ergebnis des Vergleiches an die von den Rechenwerken zur Abarbeitung des jeweiligen Rechenbefehles benötigte Zeitdauer anzupassen.
  22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, dass es für die Verteilung von Rechenbefehlen auf Prozessoren eines Mehrprozessorsystems angewendet wird.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass es weiterhin sämtliche Schritte eines Verfahrens nach einem der Ansprüche 11 bis 17 umfasst.
  24. Datenverarbeitungsprogramm zur Abarbeitung auf einem Prozessor gemäß einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass es mindestens einen in einer Hochsprache codierten Programmbefehl enthält, in welchem mehrere Maschinenbefehle zur Verwaltung der Zeitverwaltungseinheit zusammengefasst sind.
DE200710026982 2007-06-07 2007-06-07 Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes Expired - Fee Related DE102007026982B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE200710026982 DE102007026982B4 (de) 2007-06-07 2007-06-07 Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes
PCT/EP2008/056978 WO2008148838A1 (de) 2007-06-07 2008-06-05 Prozessor und verfahren zu seiner ansteuerung
EP08760556A EP2160670A1 (de) 2007-06-07 2008-06-05 Prozessor und verfahren zu seiner ansteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710026982 DE102007026982B4 (de) 2007-06-07 2007-06-07 Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes

Publications (2)

Publication Number Publication Date
DE102007026982A1 true DE102007026982A1 (de) 2008-12-11
DE102007026982B4 DE102007026982B4 (de) 2009-04-02

Family

ID=39645469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200710026982 Expired - Fee Related DE102007026982B4 (de) 2007-06-07 2007-06-07 Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes

Country Status (3)

Country Link
EP (1) EP2160670A1 (de)
DE (1) DE102007026982B4 (de)
WO (1) WO2008148838A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104678820A (zh) * 2013-11-29 2015-06-03 北汽福田汽车股份有限公司 嵌入式前后台系统及其的控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3537293A1 (de) 2018-03-09 2019-09-11 Till I.D. GmbH Zeitlich deterministischer mikroprozessor und mikrocontroller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0534884B1 (de) * 1991-09-26 1998-01-28 International Business Machines Corporation Schutz gegen Überschreitung der Prozesslaufzeit in einem Vielfachprozess-Echtzeitsystem
DE10034459A1 (de) 2000-07-15 2002-01-24 Bosch Gmbh Robert Verfahren und Vorrichtung zur Messung der Laufzeit einer Task in einem Echtzeitsystem
US20060288194A1 (en) 2005-06-17 2006-12-21 Lewis Innovative Technologies Real-time processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU928360A1 (ru) * 1979-11-28 1982-05-15 Предприятие П/Я В-2655 Устройство дл контрол времени выполнени программ
JP2002358139A (ja) * 2001-06-01 2002-12-13 Ricoh Co Ltd 低消費電力プロセッサ
JP4139579B2 (ja) * 2001-06-19 2008-08-27 株式会社ルネサステクノロジ 半導体装置および半導体装置の動作モード制御方法
GB2410344B (en) * 2004-01-26 2006-03-15 Toshiba Res Europ Ltd Dynamic voltage controller
JP2006127302A (ja) * 2004-10-29 2006-05-18 Internatl Business Mach Corp <Ibm> 情報処理装置、コンパイラ、及びコンパイラプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0534884B1 (de) * 1991-09-26 1998-01-28 International Business Machines Corporation Schutz gegen Überschreitung der Prozesslaufzeit in einem Vielfachprozess-Echtzeitsystem
DE10034459A1 (de) 2000-07-15 2002-01-24 Bosch Gmbh Robert Verfahren und Vorrichtung zur Messung der Laufzeit einer Task in einem Echtzeitsystem
US20060288194A1 (en) 2005-06-17 2006-12-21 Lewis Innovative Technologies Real-time processor

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Kailas, K.; Agrawala, A.: "An Accurate Timemanagement Unit for Real-time Processors", University of Maryland, 1997
KAILAS,K., AGRAWALA,A.: "An Accurate Time- management Unit for Real-time Processors", University of Maryland, 1997
KAILAS,K., AGRAWALA,A.: "An Accurate Timemanagement Unit for Real-time Processors", University of Maryland, 1997 *
Lindh, L.; Stanischewski, F.: "FASTCHART - A Fast Time Deterministic CPU and Hardware based Real-Time-Kernel" in: IEEE press, 1991
LINDH,L., STANISCHEWSKI,F.: "FASTCHART - A Fast Time Deterministic CPU and Hardware based Real- Time-Kernel". In: IEEE press, 1991
LINDH,L., STANISCHEWSKI,F.: "FASTCHART - A Fast Time Deterministic CPU and Hardware based RealTime-Kernel". In: IEEE press, 1991 *
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
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 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104678820A (zh) * 2013-11-29 2015-06-03 北汽福田汽车股份有限公司 嵌入式前后台系统及其的控制方法

Also Published As

Publication number Publication date
DE102007026982B4 (de) 2009-04-02
WO2008148838A1 (de) 2008-12-11
EP2160670A1 (de) 2010-03-10

Similar Documents

Publication Publication Date Title
EP1402382B1 (de) Verfahren zur bearbeitung von daten
DE69126166T2 (de) Programmierbare Steuerungsvorrichtung
DE68925615T2 (de) Digitalrechnersystem mit Niederstromverbrauchmodus
DE69227664T2 (de) Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor
DE69527210T2 (de) Datenverarbeitungsschaltungen und -schnittstellen
DE69031233T2 (de) Adaptive Arbeitsfolgeplanung für Mehrfachverarbeitungssysteme
DE69228600T2 (de) Kleinleistungs-rechnerarchitektur und verfahren
DE69933515T2 (de) Peripherieprozessor
DE102018126001A1 (de) Synchronisation in einem Multi-Kachel-Verarbeitungsarray
DE112004001133T5 (de) Warteschlangen-Sperren mit Monitor-Memory-Wait
DE112013004751T5 (de) Prozessor mit mehreren Kernen, gemeinsam genutzter Kernerweiterungslogik und gemeinsam genutzten Kernerweiterungsnutzungsbefehlen
DE68924810T2 (de) Zeitgeberkanal für die Verwendung in einem Mehrkanal-Zeitsystem.
DE10297596T5 (de) Verfahren und Vorrichtung zum Suspendieren der Ausführung eines Threads, bis ein spezifizierter Speicherzugriff auftritt
DE10297597T5 (de) Suspendieren der Ausführung eines Threads in einem Mehrfach-Thread-Prozessor
DE102013214756A1 (de) Verfahren und vorrichtung zum verbessern des verarbeitungsleistungsvermögens eines mehrkernprozessors
DE102014003671A1 (de) Prozessoren, verfahren und systeme zum entspannen der synchronisation von zugriffen auf einen gemeinsam genutzten speicher
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE68919018T2 (de) Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen.
DE112012004728T5 (de) Verfahren, Programm und System zur Simulationsausführung
DE3855524T2 (de) Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator
DE102019112301A1 (de) Befehls-Cache in einem Multithread-Prozessor
DE102007051803A1 (de) Verfahren und Vorrichtung zur Datenverarbeitung
DE102014103139A1 (de) Parallelisierte Ausführung von Single-Core Steuerungssoftware auf Multi-Core Fahrzeugsteuergeräten
DE102009055752A1 (de) Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
DE69621091T2 (de) Programmierbare Steuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licences declared
8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee