-
TECHNISCHES GEBIET
-
Verschiedene Ausführungsformen betreffen allgemein ein Steuersystem und ein Verfahren des Speicherzugriffs.
-
HINTERGRUND
-
Eine Messvorrichtung detektiert eine Steuereinheitsvariable eines Steuereinheitsprogramms, das durch einen Steuereinheitsprozessor in einer Steuervorrichtung ausgeführt wird. Die Steuervorrichtung kann eine Motorsteuerung für ein Kraftfahrzeug, ein eingebettetes System oder dergleichen sein, die bzw. das zum Steuern von Aktoren, zum Beispiel Elektromotoren, Steuerungen oder dergleichen, verwendet werden kann. Der Steuereinheitsprozessor verwendet eine Speicherdatenverbindung mit einer Detektionseinrichtung zum Detektieren von Daten, die auf der Speicherdatenverbindung übertragen werden. Die Detektionseinrichtung ist zum Beispiel ein Temperatursensor, ein Messtransducer oder dergleichen, der mit der Steuervorrichtung verbunden ist. Der Steuereinheitsprozessor führt ein Steuerprogramm aus, um zum Beispiel den Aktor zu überwachen, Einspritzmengen eines Verbrennungsmotors zu steuern oder dergleichen.
-
Der Steuereinheitsprozessor ist mit einem Steuereinheitsspeicher der Steuereinheit verbunden, um dort zum Beispiel Steuerparameter und andere verwendete, gemessene und/oder berechnete Variablen zu speichern. Somit schreibt der Steuereinheitsprozessor die Steuereinheitsvariable in einen Steuereinheitsspeicher. Die Steuereinheitsvariable ist zum Beispiel ein gemessener Wert, ein temporärer Steuerungswert, ein Ausgabewert an einem Aktor oder dergleichen. Die Variable kann auch eine Programmvariable umfassen, die durch eine Programmfunktion verwendet wird.
-
Die Messvorrichtung weist einen Pufferspeicher auf, in den die Messvorrichtung in einem Prozess, der vorliegend auch als Aufzeichnen oder Tracing bezeichnet wird, die Daten, die in Speicherzugriffsoperationen übertragen worden sind, schreibt, d. h. wenn die Speicherdatenverbindung zur Übertragung zu einem Abbildungsspeicher, vorliegend auch als ein Spiegelspeicher bezeichnet, verwendet wird. Der Spiegelspeicher soll somit eine Speicherabbildung von zumindest einem Teil des Steuereinheitsspeichers halten.
-
Das Aufzeichnen der Speicherzugriffsoperationen des Steuereinheitsprozessors kann auf mehrere Weisen erzielt werden. Im Fall von Mikroprozessoren ohne interne Peripheriegeräte und Speicher ist es gängige Praxis, den externen Adress-/Datenbus und manche Steuersignale aufzuzeichnen. Die Voraussetzung für dieses sogenannte Bus-Trace-Verfahren ist ein physischer Zugang zur Speicherschnittstelle der Steuervorrichtung. Adapter, die die Signale entweder direkt vom Steuereinheitsprozessor oder direkt vom Speichermodul abzweigen, werden hier typischerweise verwendet. Die Signale können auch auf dem Pfad zwischen dem Steuereinheitsprozessor und dem Speicher unter Verwendung von Pressadaptern für Leiterbahnenpads oder Verbindern abgezweigt werden. Falls eine physische Verbindung auf diese Art und Weise möglich ist, können alle Speicherzugriffsoperationen aufgezeichnet werden und der Programmfluss und alle Datenzugriffsoperationen können davon bestimmt werden.
-
Es gibt Einschränkungen, falls der Steuereinheitsprozessor mit einem Cache oder internen RAM ausgestattet ist. In diesem Fall kann die Situation auftreten, bei der kein Buszyklus auf der externen Busschnittstelle für einen langen Zeitraum auftritt, da alle benötigten Daten schon im internen Speicher vorhanden sind und dort ausgeführt werden. In diesem Fall kann ein Trace-Tool nichts aufzeichnen und das Programmverhalten bleibt verborgen.
-
Jedoch haben immer höhere Integrationsdichten und Preisdruck dazu geführt, dass ein Prozessorkern, ein Cache, Peripheriegeräte, Flash- und RAM-Speicher in vielen Prozessoren in einem einzigen Gehäuse integriert werden (System-on-Chip). Diese Prozessoren weisen häufig nicht mehr eine externe Speicherschnittstelle auf. Das Bus-Trace-Verfahren kann in diesem Fall nicht verwendet werden. Daher stellen manche Prozessorarchitekturen zusätzlich zur Debug-Schnittstelle eine spezielle Trace-Schnittstelle auf dem Chip bereit. Diese Trace-Schnittstelle kann dazu verwendet werden, den Programmfluss und das Daten-Trace in komprimierter Form nach außen sichtbar zu machen.
-
Ein Trace-Bus, der eine Breite von 4, 8 oder 16 Bits aufweist und zum Übertragen von Programmflussdaten und/oder Datenzugriffsoperationen mit einer Busfrequenz von bis zu 400 MHz in komprimierter Form verwendet werden kann, wird gewöhnlich als die Trace-Schnittstelle verwendet. Andere Optionen sind serielle Hochgeschwindigkeitsschnittstellen im Gigabit/s-Bereich mit Differenzsignalgebung mit niedrigen Spannungsschwankungen. In diesem Fall werden die Informationen auf dem Adressbus/Datenbus auf die Art und Weise übertragen, bei der sie direkt im CPU-Kern mit Adress- und Datenwerten auftreten. Dies bedeutet, dass Operationen zum Zugreifen auf Peripheriegeräte, einen chipinternen Flash- oder RAM-Speicher - insbesondere auch gecachte Operationen - auch aufgezeichnet werden können.
-
Ein Nachteil dieses Trace-Verfahrens ist jedoch die hohe Bandbreite, die zum Übertragen der Trace-Daten benötigt wird. Das Problem wird in Mehrkernsystemen verstärkt, da die benötigte Bandbreite linear mit der Anzahl von Prozessoren zunimmt.
-
KURZDARSTELLUNG
-
Das Folgende präsentiert eine vereinfachte Kurzdarstellung, um ein grundlegendes Verständnis von einem oder mehr Aspekten der Erfindung zu schaffen. Diese Kurzdarstellung ist keine umfassende Übersicht über die Erfindung und soll weder Schlüsselelemente oder kritische Elemente der Erfindung identifizieren, noch den Schutzumfang von dieser abgrenzen. Vielmehr besteht der Hauptzweck der Kurzdarstellung darin, manche Konzepte der Erfindung in einer vereinfachten Form als eine Einleitung zu der ausführlicheren Beschreibung, die später präsentiert wird, zu präsentieren.
-
Bei einem Aspekt umfasst ein Verfahren Assoziieren von mindestens einem Prozessoradressregister mit einer vorbestimmten Operation, Aufrufen einer Anweisung, die eine Referenz zu einem Adressregister beinhaltet, und, falls das referenzierte Prozessoradressregister das assoziierte Prozessoradressregister ist, Durchführen der vorbestimmten Operation.
-
Bei einem Aspekt umfasst ein Steuersystem ein assoziiertes Prozessoradressregister, das mit einer vorbestimmten Operation assoziiert wird, und einen ersten Prozessor, der dazu konfiguriert ist, eine Anweisung, die eine Referenz zu einem referenzierten Prozessoradressregister beinhaltet, aufzurufen. Das Steuersystem ist dazu konfiguriert, falls das referenzierte Prozessoradressregister das assoziierte Prozessoradressregister ist, die vorbestimmte Operation durchzuführen.
-
Bei einem anderen Aspekt ist ein erster Prozessor dazu konfiguriert, zu einem zweiten Prozessor gekoppelt zu werden. Der erste Prozessor umfasst einen Zähler, der dazu konfiguriert ist, mit einer Übertragung eines Prozessdatums zum zweiten Prozessor inkrementiert zu werden. Bei einem alternativen anderen Aspekt ist ein erster Prozessor dazu konfiguriert, zu einem zweiten Prozessor gekoppelt zu werden, wobei der erste Prozessor einen Zähler umfasst, der dazu konfiguriert ist, mit einer Übertragung eines Prozessdatums zum zweiten Prozessor dekrementiert zu werden.
-
Diese Kurzdarstellung ist mit dem Verständnis vorgelegt, dass sie nicht verwendet wird, um den Schutzumfang oder die Bedeutung der Ansprüche zu interpretieren oder zu beschränken. Diese Kurzdarstellung soll weder Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstands identifizieren, noch soll sie als eine Hilfe zum Bestimmen des Schutzumfangs des beanspruchten Gegenstands verwendet werden. Andere Verfahren, Vorrichtungen und Systeme sind ebenfalls offenbart. Zusätzliche Merkmale und Vorteile werden für einen Fachmann auf dem Gebiet bei der Lektüre der folgenden ausführlichen Beschreibung und bei der Betrachtung der begleitenden Zeichnungen ersichtlich.
-
Figurenliste
-
Der beanspruchte Gegenstand ist im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben. Über die gesamte Beschreibung hinweg verweisen gleiche Ausdrücke, so wie sie vorliegend verwendet werden, auf gleiche Elemente. Die ausführliche Beschreibung nimmt auf die begleitenden Figuren Bezug. Die gleichen Zahlen können durch die Zeichnungen hinweg verwendet werden, um auf gleiche Merkmale und Komponenten Bezug zu nehmen. Es sollte angemerkt werden, dass Ansichten von Ausführungsbeispielen lediglich der Veranschaulichung ausgewählter Merkmale der Ausführungsform dienen.
- 1 stellt ein Blockdiagramm dar, das eine Vorrichtung gemäß manchen Ausführungsformen veranschaulicht.
- 2A, 2B und 2C stellen Tabellen dar, die schematisch beispielhafte Speicherabschnitte gemäß manchen Ausführungsformen veranschaulichen.
- 3 stellt ein Flussdiagramm dar, das ein beispielhaftes Verfahren gemäß manchen Ausführungsformen veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Zu Erläuterungszwecken werden zahlreiche spezielle Einzelheiten dargelegt, um ein eingehendes Verständnis des beanspruchten Gegenstands bereitzustellen. Es kann jedoch offensichtlich sein, dass der beanspruchte Gegenstand ohne diese speziellen Einzelheiten ausgeübt werden kann.
-
Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die zur Veranschaulichung spezielle Einzelheiten und Ausführungsformen zeigen, in denen die Erfindung ausgeübt werden kann. Diese Ausführungsformen werden detailliert genug beschrieben, um Fachleuten auf dem Gebiet die Ausübung der Erfindung zu ermöglichen. Andere Ausführungsformen können benutzt und strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne von dem Schutzumfang der Erfindung abzuweichen. Die verschiedenen Ausführungsformen schließen sich nicht unbedingt gegenseitig aus, da bestimmte Ausführungsformen mit einer oder mehr anderen Ausführungsformen kombiniert werden können, um neue Ausführungsformen zu bilden. Verschiedene Ausführungsformen sind in Verbindung mit Verfahren beschrieben und verschiedene Ausführungsformen sind in Verbindung mit Einrichtungen beschrieben. Es versteht sich jedoch, dass Ausführungsformen, die in Verbindung mit Verfahren beschrieben sind, gleichermaßen bei Einrichtungen gelten und umgekehrt.
-
1 stellt ein Blockdiagramm dar, das ein Messsystem einschließlich einer Vorrichtung gemäß manchen Ausführungsformen veranschaulicht. Das Messsystem umfasst ein Steuersystem 100, das zum Beispiel zum Steuern eines Motors (nicht dargestellt) konfiguriert ist. Bei einer Implementierung, lediglich als ein Beispiel einer operativen Aufgabe, die durch das Steuersystem 100 durchgeführt wird, ist das Steuersystem zum Ausführen eines computerimplementierten Anweisungscodes konfiguriert, um eine Kraftstoffeinspritzpumpe (nicht dargestellt) zu steuern. Das Steuersystem 100 umfasst einen ersten Prozessor, vorliegend als Zentralprozessor 110 bezeichnet, der dazu konfiguriert ist, Daten aus einem Messsignal abzuleiten, und einen zweiten Prozessor, vorliegend als Trace-Prozessor 120 bezeichnet, der dazu konfiguriert ist, eine Schnittstellenfunktionalität für das Steuersystem 100 zum Kommunizieren mit anderen Komponenten des Messsystems bereitzustellen, wie im Folgenden ausführlicher erläutert wird.
-
Des Weiteren umfasst das Steuersystem 100 einen Speicher, vorliegend als ein Operationen-Speicher 130 bezeichnet. Der Zentralprozessor 110 und der Trace-Prozessor 120 können durch einen Inter-Prozessor-Bus 112 kommunikativ gekoppelt sein. Des Weiteren können der Zentralprozessor 110 und der Speicher durch einen Systembus 140 kommunikativ gekoppelt sein. Bei manchen Ausführungsformen sind der Zentralprozessor 110 und der Operationen-Speicher 130 als separate Komponenten des Steuersystems 100 bereitgestellt, zum Beispiel auf separaten Leiterplatten, die durch den Systembus 140 kommunikativ gekoppelt sind. Der Inter-Prozessor-Bus 112 und/oder der Systembus 140 können Koaxialleitungsübertragungsmedien, drahtgebundene Übertragungsmedien, Übertragungsmedien mit optischer Faser, drahtlose Übertragungsmedien und andere Übertragungsmedien implementieren. Bei manchen Ausführungsformen ist das Steuersystem 100 als eine Steuereinheit oder ein Steuermodul als separate Chips auf einer Leiterplatte bereitgestellt. Bei manchen Ausführungsformen ist das Steuersystem 100 als ein System-on-Chip bereitgestellt, wobei sich der Zentralprozessor 110 und der Trace-Prozessor 120 zusammen in einer integrierten Schaltung befinden. So wie vorliegend verwendet, schließt die Formulierung „entfernt“ eine Colocation in einer einzelnen integrierten Schaltung, obgleich in unterschiedlichen Bereichen eines integrierten Schaltungschips, ein. Dennoch kann sich der Trace-Prozessor 120 entfernt vom Zentralprozessor 110 befinden. Das Steuersystem 100 umfasst einen Eingangsport 108, der zum Empfangen von Werten eines Messsignals MS konfiguriert ist, einen Steuerport 107, der zum Ausgeben von Steuersignalen zum Beispiel zu einem Motor (nicht dargestellt) konfiguriert ist, und einen Trace-Port 109, der zum Übertragen von Trace-Daten TD zum Beispiel zu einer Datenaufzeichnungseinrichtung konfiguriert ist.
-
Eine Ausführungsform des Messsystems umfasst eine Sensoreinheit 180, die zum Detektieren von Werten, die mit einer physikalischen Eigenschaft, wie etwa Druck, Temperatur oder Beschleunigung, assoziiert sind, konfiguriert ist. Im Laufe der Zeit können die detektierten Werte kontinuierlich variieren, um ein analoges Messsignal MS zu bilden. Bei einer alternativen Ausführungsform (nicht dargestellt) umfasst die Sensoreinheit 180 einen Analog-Digital-Umsetzer, der zum Bilden eines digitalen Messsignals konfiguriert ist. Die Sensoreinheit 180 kann dazu konfiguriert sein, die Werte des Messsignals MS über eine Kopplung zum Eingangsport 108 des Steuersystems 100 zu übertragen.
-
Bei manchen Ausführungsformen umfasst das Messsystem ein Trace-Tool. Das Trace-Tool kann dazu konfiguriert sein, ein Verhalten des Steuersystems aufzuzeichnen und/oder zu analysieren. Insbesondere umfasst das Trace-Tool bei manchen Ausführungsformen einen Trace-Speicher 190. Der Trace-Speicher 190 ist dazu konfiguriert, über eine Kopplung zum Trace-Port 109 des Steuersystems 100, Trace-Daten TD zu empfangen und die Trace-Daten TD zu speichern. Mindestens ein Effekt kann sein, dass der Trace-Speicher 190 als eine Aufzeichnungseinrichtung für die Trace-Daten TD verwendet werden kann. Bei manchen Ausführungsformen kann das Steuersystem 100 dazu konfiguriert sein, mit dem Trace-Tool unter der Bedingung, dass das Trace-Tool zur Kooperation validiert ist, zu kooperieren. Das Trace-Tool kann zum Beispiel ein Zertifikat umfassen und das Steuersystem ist dazu konfiguriert, das Zertifikat vom Trace-Tool zu empfangen und eine Gültigkeit des Zertifikats zu verifizieren. Falls festgestellt wird, dass das Zertifikat gültig ist, dann kooperiert das Steuersystem 100 mit dem Trace-Speicher 190, wie zum Beispiel im Folgenden beschrieben.
-
Mit Bezug auf das Steuersystem 100 umfasst der Zentralprozessor 110 einen Analog-Digital-Umsetzer ADC 111, der dazu konfiguriert ist, Werte des analogen Messsignals MS, das am Eingangsport 108 empfangen wird, zu digitalen Repräsentationen der Werte umzusetzen. Eine Sequenz von digitalen Repräsentationen, die mit der Zeit auf Basis der Werte des analogen Messsignals MS erzeugt werden, bildet somit digitale Messsignaldaten (MD), d. h. eine digitale Repräsentation des analogen Messsignals MS.
-
Der Zentralprozessor 110 ist dazu konfiguriert, unter Verwendung des Systembusses 140, die digitalen Messsignaldaten in den Operationen-Speicher 130 zu schreiben. Eine Anweisung SPEICHERN kann zum Beispiel definiert werden, die, wenn sie auf dem Zentralprozessor 110 ausgeführt wird, bewirkt, dass der Zentralprozessor 110 die digitalen Messsignaldaten in den Operationen-Speicher 130 schreibt.
-
2A stellt eine Tabelle dar, die schematisch einen beispielhaften Abschnitt des Operationen-Speichers 130 veranschaulicht. Der Veranschaulichung halber sind die Adressen und auch die Werte, die an den Adressen geschrieben sind, als Binärzahlen angegeben. Es versteht sich, dass Werte auch genauso zum Beispiel als Hexadezimalzahlen geschrieben werden können. Der veranschaulichte Abschnitt des Operationen-Speichers 130 beinhaltet einen Adressenraum mit 6-Bit-Operationen-Speicheradressen von 011110 bis 111011. Bei manchen Ausführungsformen beinhaltet der Operationen-Speicher 130 einen Block von Speicherzellen an einer Basisadresse. Im Beispiel repräsentieren vier äußerst linke Bits, d. h. die vier höchstwertigen Bits, der Adressen im Adressenraum, d. h. jeweils die Werte 0111 ... 1110, eine jeweilige Basisadresse. Die zwei äußerst rechten Bits, d. h. die zwei niedrigstwertigen Bits, der Basisadresse werden zum Beispiel mit 0 aufgefüllt. Bei manchen Ausführungsformen werden ein oder mehr der niedrigstwertigen Bits der Basisadresse, anstelle, dass sie aufgefüllt werden, zur Signalgebung verwendet. Beispielsweise kann ein 2-Bit-Code in die zwei niedrigstwertigen Bits der Basisadresse geschrieben werden. Um auf den Operationen-Speicher 130 an der Basisadresse zuzugreifen, wird der 2-Bit-Code ignoriert und/oder mit der Füllung ersetzt. Um einen signalisierten Inhalt zur Verwendung bei einer Datenverarbeitung und/oder Tracing zu bestimmen, kann der 2-Bit-Code interpretiert werden.
-
Bei einem Beispiel ist die Operationen-Speicheradresse von der Basisadresse um eine Offset-Adresse versetzt. Bei dem in 2A veranschaulichten Beispiel können die Operationen-Speicheradressen des beispielhaften Adressenraums als eine Summe der Basisadresse 011100 ... 111000 plus die Offset-Adresse in einem Bereich von 00 bis 11 repräsentiert werden. Beispielsweise, damit der Zentralprozessor 110 den Operationen-Speicher 130 adressiert, ist der Zentralprozessor 110 bei manchen Ausführungsformen dazu konfiguriert, die Operationen-Speicheradresse aus der Basisadresse 0111 ... 1110 und der Offset-Adresse 00 ... 11 zusammenzustellen. Bei manchen Ausführungsformen kann die Offset-Adresse basierend auf einer zuvor verwendeten Offset-Adresse bestimmt werden, zum Beispiel durch Inkrementieren der zuvor verwendeten Offset-Adresse oder durch Dekrementieren der zuvor verwendeten Offset-Adresse, wobei eine konstante Schrittweite verwendet werden kann, die vorbestimmt ist. Es versteht sich, dass, obwohl in dem Beispiel die Offset-Adresse ein 2-Bit-Wert ist, dies nur für Veranschaulichungszwecke ist. Bei manchen Implementierungen umfasst die Offset-Adresse ein Nibble, ein Byte oder eine beliebige andere Anzahl von Ziffern, die einer Größe eines Adressbereichs entspricht, der auf der Basisadresse basiert. Bei manchen Ausführungsformen bestimmt eine Größe eines Blocks oder eines Bereichs von Daten, die der vorbestimmten Operation unterzogen werden sollten, die Länge der Offset-Adresse. Bei manchen Implementierungen (nicht dargestellt) kann die Offset-Adresse positiv oder negativ sein. Eine Repräsentation der Offset-Adresse kann ein Bit zum Angeben eines Vorzeichens der Offset-Adresse beinhalten. Beispielsweise kann das höchstwertige Bit (MSB) der Offset-Adresse als das Vorzeichen der Offset-Adresse interpretiert werden.
-
Erneut mit Bezug auf das Steuersystem 100 umfasst der Zentralprozessor 110 einen Prozessoradressenspeicher 115, der zum Speichern einer gespeicherten Operationen-Speicher-Basisadresse konfiguriert ist. Ein Prozessoradressregister des Prozessoradressenspeichers 115 kann mit einer vorbestimmten Operation assoziiert sein.
-
2B stellt eine Tabelle dar, die schematisch einen beispielhaften Abschnitt des Prozessoradressenspeichers 115 des Zentralprozessors 110 veranschaulicht. In dem in 2B veranschaulichten Beispiel umfasst der Prozessoradressenspeicher 115 vier Register an Registeradressen 00, 01, 10 und 11. Im Beispiel sind die Basisadressen 011100, 001000, 100100 und 011000 in den Prozessoradressenspeicher 115 an den Registeradressen 00, 01, 10 bzw. 11 geschrieben.
-
Bei manchen Ausführungsformen ist mindestens ein Prozessoradressregister, d. h. die Hardware selbst, und/oder mindestens eine Adresse des Prozessoradressenspeichers 115, d. h. eine Referenz zu einem der Register im Prozessoradressenspeicher 115, mit einer vorbestimmten Operation assoziiert. Bei dem in 2B veranschaulichten Beispiel ist eines der Prozessoradressregister, das Prozessoradressregister 10, mit einer beispielhaften Operation TRACE assoziiert, während drei andere Prozessoradressregister, die Register 00, 01 und 11 mit keiner Operation assoziiert sind. Somit, während die Basisadressen 011100, 001000 und 011000 bei dem veranschaulichten Beispiel mit keiner Operation assoziiert sind, ist die Basisadresse 100100 mit der TRACE-Operation assoziiert. Bei manchen Ausführungsformen bewirkt die TRACE-Operation, dass das Steuersystem 100 ausgewählte Daten zum Trace-Port 109 schreibt. Bei manchen Ausführungsformen stellt die vorbestimmte Operation die ausgewählten Daten an das Trace-Tool 190, das mit dem Steuersystem 100 gekoppelt ist, bereit.
-
Obwohl im veranschaulichten Beispiel die Assoziation des Prozessoradressregisters mit der vorbestimmten Operation statisch ist, kann die Assoziation bei manchen Ausführungsformen konfigurierbar sein, zum Beispiel durch Einstellungen, die vor der Ausführung von Software vorgenommen wurden, und/oder durch Neukonfigurieren der Einstellungen während der Softwareausführung. Mindestens ein Effekt kann sein, dass die Software die Bedingungen der durchzuführenden vorbestimmten Operation steuern kann.
-
Im Allgemeinen kann bei manchen Ausführungsformen ein Inhalt des referenzierten Prozessoradressregisters interpretiert werden, ob die vorbestimmte Operation durchgeführt werden soll oder nicht. Die vorbestimmte Operation wird nur durchgeführt, falls ein Ergebnis des Interpretierens des Inhalts angibt, dass die vorbestimmte Operation durchgeführt werden sollte. Bei manchen Ausführungsformen (nicht dargestellt) umfasst das Interpretieren des Inhalts des referenzierten Prozessoradressregisters ein Vergleichen von mindestens einem Abschnitt des Inhalts mit einer vorbestimmten Repräsentation, die mit der vorbestimmten Operation assoziiert ist. Das Ergebnis des Interpretierens wird bestimmt, um anzugeben, dass die vorbestimmte Operation durchgeführt werden sollte, falls der Abschnitt des Inhalts gleich der vorbestimmten Repräsentation ist. Beispielsweise (nicht dargestellt) können eine oder mehr ausgewählte Basisadressen selektiv zum Tracing vorbestimmt werden. Die vorbestimmte Operation, wie etwa Tracing, wird nur durchgeführt, falls das Basisadressregister eine vorbestimmte ausgewählte Basisadresse enthält.
-
Im Allgemeinen kann bei manchen Ausführungsformen ein Steuercode in der Anweisung, die durch den ersten Prozessor aufgerufen wird, mit der Referenz zum referenzierten Prozessoradressregister enthalten sein. Der Steuercode gibt an, ob die vorbestimmte Operation durchgeführt werden soll oder nicht. Bei manchen Implementierungen findet das Durchführen der vorbestimmten Operation nur statt, falls der Steuercode angibt, dass die vorbestimmte Operation durchgeführt werden sollte. Bei manchen Implementierungen verwendet zum Beispiel der Prozessor 110 das niedrigstwertige Bit der Basisadresse, um zu steuern, dass die Anweisung einem Tracing unterzogen werden sollte. In diesem Beispiel, bei dem das Prozessoradressregister 10 mit der beispielhaften Operation TRACE assoziiert ist, wird die Operation TRACE in Abhängigkeit vom niedrigstwertigen Bit der Basisadresse aufgerufen oder nicht. Bei einer Implementierung sind alle Basisadressregister des ersten Prozessors mit der vorbestimmten Operation assoziiert. In diesem Fall wird die vorbestimmte Operation nur in Abhängigkeit davon aufgerufen, wie der Prozessor das Steuerbit festlegt.
-
Im Allgemeinen kann ein beliebiges Bit in einem Argument der Anweisung verwendet werden, um anzugeben, ob die vorbestimmte Operation durchgeführt werden soll oder nicht. Bei manchen Implementierungen (nicht dargestellt) wird das Vorzeichen des Adressenoffsets verwendet, um anzugeben, ob die vorbestimmte Operation durchgeführt werden soll oder nicht. Somit wird die vorbestimmte Operation nur durchgeführt, falls das Vorzeichen des Adressenoffsets angibt, dass die vorbestimmte Operation durchgeführt werden sollte. Bei manchen Implementierungen ist der Prozessor zum Beispiel dazu ausgelegt, ein höchstwertiges Bit einer Repräsentation des Adressenoffsets als ein Vorzeichen des Adressenoffsets zu interpretieren. Der erste Prozessor ist ferner dazu konfiguriert, das Vorzeichen des Adressenoffsets zu verwenden, um zu steuern, dass die Anweisung einem Tracing unterzogen werden sollte. In diesem Beispiel, bei dem das Prozessoradressregister mit der beispielhaften Operation TRACE assoziiert ist, wird die Operation TRACE in Abhängigkeit davon, dass das Vorzeichen des Adressenoffsets 1 oder 0 ist, aufgerufen oder nicht. Bei einer Implementierung sind alle Basisadressregister des ersten Prozessors mit der vorbestimmten Operation assoziiert. In diesem Fall, in Abwesenheit irgendeines anderen Steuerbits, um anzugeben, ob die vorbestimmte Operation durchgeführt werden soll oder nicht, wird die vorbestimmte Operation nur in Abhängigkeit davon aufgerufen, wie der Prozessor das Vorzeichenbit festlegt.
-
Obwohl die Assoziation des Prozessoradressregisters mit der vorbestimmten Operation im veranschaulichten Beispiel unbedingt ist, kann die Assoziation bei manchen Ausführungsformen von zum Beispiel einer Anweisung abhängen, die zum Zugreifen auf die Operationen-Speicheradresse aufgerufen wird. Bei einem Beispiel ist das Steuersystem 100 derart konfiguriert, dass eine Assoziation eines Prozessoradressregisters mit einer vorbestimmten Operation definiert oder gültig ist, falls die Anweisung, die einen Zugriff bei einem gewissen Prozessoradressregister bewirkt, das mit der vorbestimmten Operation assoziiert ist, eine erste Anweisung ist, zum Beispiel eine SPEICHERN-Anweisung. Die Assoziation des Prozessoradressregisters mit der vorbestimmten Operation ist jedoch nicht definiert oder ungültig, falls die Anweisung, die den Zugriff bei dem Prozessoradressregister bewirkt, das mit der vorbestimmten Operation assoziiert ist, eine zweite Anweisung ist, zum Beispiel eine LESEN-Anweisung.
-
Bei manchen Ausführungsformen ist der Zentralprozessor 110 dazu konfiguriert, die Informationen über ein ausgewähltes Prozessoradressregister, das mit einer vorbestimmten Operation assoziiert ist, vorliegend auch als Filterdaten (FD) bezeichnet, an den Trace-Prozessor 120 zur Verwendung bei der Verarbeitung der digitalen Messsignaldaten (TM) bereitzustellen. In dem oben unter Bezugnahme auf 1 und 2B besprochenen Beispiel kann der Zentralprozessor 110 unter Verwendung des Inter-Prozessor-Busses 112 die Informationen über die Basisadresse 100100, die mit der TRACE-Operation assoziiert ist, an den Trace-Prozessor 120 bereitstellen.
-
Erneut mit Bezug auf 1 wird jetzt der Trace-Prozessor 120 ausführlicher beschrieben. Wie gesehen werden wird, kann der Trace-Prozessor 120 dazu konfiguriert sein, basierend auf den Filterdaten (FD), die vom Zentralprozessor 110 empfangen werden, zu bestimmen, ob ein Zugriff auf die Operationen-Speicheradresse getracet werden sollte.
-
Des Weiteren umfasst der Trace-Prozessor 120 bei manchen Ausführungsformen ein Filtermodul 128, das dazu konfiguriert ist, die digitalen Messsignaldaten (MD) basierend auf den Filterdaten (FD), die vom Zentralprozessor 110 empfangen werden, zu filtern, damit ausgewählte Daten erhalten werden, vorliegend auch als Trace-Daten (TD) bezeichnet. Bei manchen Ausführungsformen sind die Filterdaten (FD) lediglich ein Flag, das die auszuführende vorbestimmte Operation angibt. Bei manchen Ausführungsformen ist der Trace-Prozessor 120 dazu konfiguriert, das Flag derart zu interpretieren, dass der digitale Wert, der kurz davor steht, in den Operationen-Speicher 130 geschrieben zu werden, auch als ein Operand bei der Ausführung der assoziierten Operation verwendet werden sollte.
-
Bei manchen Ausführungsformen ist das Steuersystem 100 dazu konfiguriert, das Filtermodul 128 zu überschreiben. Mindestens ein Effekt kann sein, dass die vorbestimmte Operation nicht durchgeführt wird, obgleich das Filtermodul 128 herausgefunden hat, dass die vorbestimmte Operation durchgeführt werden sollte. Das Überschreiben kann zum Beispiel mit einer Unterbrechungsroutinen(ISR)-Operation verwendet werden. Die Unterbrechungsdienste können nicht in Beziehung mit einem Fluss von Prozessen gemäß Softwareanweisungen, die durch den Zentralprozessor 110 ausgeführt werden, stehen. Dementsprechend ist es möglicherweise nicht wünschenswert, einen Zugriff eines Unterbrechungsdienstes auf das Prozessoradressregister 10, das mit der vorbestimmten Operation assoziiert ist, zu tracen. Mindestens ein Effekt des Überschreibens kann zum Beispiel sein, dass ein unerwünschtes Tracing von Unterbrechungsdienstzugriffen auf das Prozessoradressregister trotz der Assoziation des Prozessoradressregisters mit dem Tracing als die vorbestimmte Operation vermieden wird.
-
Bei manchen Ausführungsformen umfasst der erste Prozessor einen Zähler, der dazu konfiguriert ist, mit einer Übertragung eines Prozessdatums zum zweiten Prozessor inkrementiert zu werden. Der Zähler ist dazu konfiguriert, periodisch dekrementiert zu werden. Der erste Prozessor ist dazu konfiguriert, anzuhalten, falls der Zähler über einem konfigurierbaren Lastschwellenwert liegt. Bei manchen alternativen Ausführungsformen ist der Zähler dazu konfiguriert, periodisch inkrementiert zu werden. Der erste Prozessor ist dazu konfiguriert, anzuhalten, falls der Zähler unter einem konfigurierbaren Lastschwellenwert liegt. Wie im Folgenden ausführlicher beschrieben wird, kann mindestens ein Effekt sein, dass die Übertragung der Prozessdaten zum zweiten Prozessor neu geplant wird.
-
Weiterhin mit Bezug auf 1 werden jetzt weitere Aspekte des Zentralprozessors 110 gemäß einem oben dargelegten allgemeinen Aspekt ausführlicher beschrieben.
-
Bei manchen Ausführungsformen umfasst der Zentralprozessor 110 eine Modelliereinheit 117, die dazu konfiguriert ist, einen Betrieb des Trace-Prozessors 120 basierend auf den ausgewählten Daten, die vom Zentralprozessor 110 zum Trace-Prozessor 120 übertragen werden, zu modellieren. Bei manchen Ausführungsformen wird die Modelliereinheit 117 als eine Zustandsmaschine implementiert. Bei manchen Ausführungsformen ist die Modelliereinheit 117 dazu konfiguriert, einen erwarteten Laststatus, wie etwa einen Laststatus des Trace-Prozessors 120, zu bestimmen. Bei manchen Ausführungsformen ist die Modelliereinheit 117 dazu konfiguriert, wenn sie den Betrieb des Trace-Prozessors 120 modelliert, eine vorherige Bereitstellung von ausgewählten Daten zum Trace-Prozessor zu verwenden. Für ein Beispiel ist die Modelliereinheit 117 als ein Zähler bereitgestellt, der dazu konfiguriert ist, den Betrieb des Trace-Prozessors 120 zu modellieren, indem er Übertragungen von Daten vom Zentralprozessor 110 zum Trace-Prozessor 120 zählt. Bei manchen Ausführungsformen ist die Modelliereinheit 117 dazu konfiguriert, wenn sie den Betrieb des Trace-Prozessors 120 modelliert, die ausgewählten Daten, die durch den Trace-Prozessor an den Trace-Port 109 bereitgestellt werden, zu verwenden.
-
Für ein anderes Beispiel ist die Modelliereinheit 117 als ein Zähler bereitgestellt, der dazu konfiguriert ist, den Betrieb des Trace-Prozessors 120 zu modellieren, indem er Übertragungen von Daten vom Trace-Prozessor 120 zum Trace-Port 109 zählt.
-
Bei einer Ausführungsform, bei der der Puffer 124 als ein FIFO-Puffer konfiguriert ist, kann somit ein Pufferfüllpegel modelliert werden. Das Modellieren eines Betriebs des Trace-Prozessors 120 kann ein Modellieren oder Simulieren des Füllens des Datenpuffers 124 mit den ausgewählten Daten und/oder des Entfernens der ausgewählten Daten aus dem Datenpuffer 124 beinhalten.
-
Beispielsweise ist die Modelliereinheit 117 als ein Zähler bereitgestellt, der dazu konfiguriert ist, den Betrieb des Trace-Prozessors 120 zu modellieren, indem er mit jeder Übertragung von Daten vom Zentralprozessor 110 zum Trace-Prozessor 120 inkrementiert und proportional zu einer Taktzählung dekrementiert wird. Bei einer Ausführungsform überprüft die Modelliereinheit 117 kontinuierlich, ob ein Taktwert seit einer jüngsten Dekrementierung eines Übertragungszählerwerts eine Dauer, die der Trace-Prozessor 120 durchschnittlich zum Verarbeiten des Inhalts eines Registers des Puffers 124 benötigt, überschreitet. Falls dem so ist, dekrementiert die Modelliereinheit 117 den Übertragungszählerwert und setzt den Taktwert zu null zurück.
-
Bei manchen Ausführungsformen umfasst der Zentralprozessor 110 einen Scheduler 119. Der Scheduler 119 ist dazu konfiguriert, eine Übertragung oder eine andere Bereitstellung der ausgewählten Daten vom Zentralprozessor 110 zum Trace-Prozessor 120 neu zu planen, falls der erwartete Laststatus ein vorbestimmter Überlastungsstatus ist. Der Scheduler 119 kann zum Beispiel die Übertragung um eine vorbestimmte Anzahl von Taktzyklen verzögern. Bei manchen Ausführungsformen kann der Scheduler die Anzahl von Taktzyklen für die Verzögerung vorbestimmen, sodass sie einem erwarteten oder anderweitig bestimmten Überlastungspegel entspricht. Bei manchen Ausführungsformen ist der Scheduler 119 dazu konfiguriert, eine Nulloperationsanweisung NOP aufzurufen, die den Prozessor anhält. Mindestens ein Effekt kann sein, die Bereitstellung der Daten an den Trace-Prozessor 120 neu zu planen. Mindestens ein weiterer Effekt kann sein, dass der Puffer 124 des Trace-Prozessors 120 davon abgehalten wird, unter Überlauf zu leiden.
-
Bei manchen Ausführungsformen kann der Trace-Prozessor 120 als eine Zustandsmaschine bereitgestellt sein. Bei noch einer anderen Ausführungsform ist der Trace-Prozessor 120 mit dem Zentralprozessor 110 integriert. Somit liefert der Zentralprozessor 110 die Funktionalität des Trace-Prozessors 120.
-
2C stellt eine Tabelle dar, die schematisch einen beispielhaften Abschnitt eines Speichers eines Trace-Tools 190 des Steuersystems 100 veranschaulicht. Im in 2C veranschaulichten Beispiel umfasst der Speicher des Trace-Tools 190 sechs Speicherzellen an den Adressen 0000 ... 0110 und hält einen Block 192 von Trace-Daten. Wie im Folgenden erläutert wird, ist dieser Block von Daten eine Kopie oder ein ,Trace' eines Blocks 132 von digitalen Messsignaldaten, die im Operationen-Speicher 130 gespeichert werden.
-
Im Allgemeinen umfasst ein Verfahren ein Inkrementieren eines Zählers mit einer Übertragung eines Prozessdatums von einem ersten Prozessor zu einem zweiten Prozessor und ein periodisches Dekrementieren des Zählers, falls der Zähler größer als ein vorbestimmter Untergrenzenschwellenwert ist. Bei manchen Ausführungsformen umfasst das Verfahren ein Anhalten des ersten Prozessors, falls der Zähler über einem konfigurierbaren Lastschwellenwert liegt. Bei einem komplementären Aspekt umfasst ein Verfahren ein Dekrementieren eines Zählers mit einer Übertragung eines Prozessdatums von einem ersten Prozessor zu einem zweiten Prozessor und ein periodisches Inkrementieren des Zählers, falls der Zähler kleiner als ein vorbestimmter Obergrenzenschwellenwert ist. Bei manchen Ausführungsformen umfasst das Verfahren ein Anhalten des ersten Prozessors, falls der Zähler unter einem konfigurierbaren Lastschwellenwert liegt. Mindestens ein Effekt des Anhaltens kann sein, dass die Übertragung der Prozessdaten vom ersten Prozessor zum zweiten Prozessor neu geplant wird. Bei manchen Ausführungsformen umfasst das Verfahren ferner ein Verwenden des ersten Prozessors, um den Zähler zu implementieren.
-
Bei manchen Ausführungsformen ist eine Periode ein vorbestimmtes Zeitintervall, zum Beispiel eine vorbestimmte Anzahl von Takten. Bei manchen Ausführungsformen ist das vorbestimmte Zeitintervall gleich oder größer als eine durchschnittliche Zeit, die durch den zweiten Prozessor zum Verarbeiten der Prozessdaten benötigt wird. Bei manchen Ausführungsformen ist das vorbestimmte Zeitintervall größer als eine Maximalzeit, die durch den zweiten Prozessor zum Verarbeiten der Prozessdaten benötigt wird.
-
Bei manchen Ausführungsformen umfasst das Verarbeiten der Prozessdaten durch den zweiten Prozessor ein Schreiben von ausgewählten Daten zu einem Trace-Port. Bei manchen Ausführungsformen umfasst das Verarbeiten der Prozessdaten durch den zweiten Prozessor ein Filtern der Prozessdaten basierend auf einem referenzierten Prozessoradressregister, damit die ausgewählten Daten erhalten werden. Bei manchen Ausführungsformen umfasst das Verfahren ferner ein Ableiten der Prozessdaten aus einem Messsignal.
-
Im Folgenden wird ein beispielhafter Betrieb des Steuersystems 100 gemäß einem oben dargelegten allgemeinen Aspekt kurz unter Bezugnahme auf 3 beschrieben, die ein Flussdiagramm darstellt, das ein beispielhaftes Verfahren gemäß manchen Ausführungsformen veranschaulicht. Es wird auch Bezug auf die 1, 2A, 2B und 2C genommen.
-
Bei S310 wird ein Prozessoradressregister mit einer vorbestimmten Operation assoziiert. Bei dem in 2B veranschaulichten Beispiel ist die vorbestimmte Operation eine TRACE-Operation. Die TRACE-Operation wird mit dem Prozessoradressregister 10 assoziiert.
-
Bei S320 wird eine gespeicherte Operationen-Speicher-Basisadresse im Prozessoradressregister gespeichert. Bei dem in 2B veranschaulichten Beispiel ist die gespeicherte Operationen-Speicher-Basisadresse 100100.
-
Bei S330 wird eine Anweisung aufgerufen, die auf den Operationen-Speicher 130 zugreift. Die Anweisung kann zum Beispiel eine SPEICHERN-Anweisung sein, die, wenn sie ausgeführt wird, bewirkt, dass der Zentralprozessor 110 einen Wert des digitalen Messsignals in den Operationen-Speicher schreibt. Bei dem in 2A veranschaulichten Beispiel soll der digitale Messsignalwert, der durch die Bits 011101 repräsentiert wird, an der Operationen-Speicheradresse 100111 (in 2A bei Bezugsziffer 131 dargestellt) gespeichert werden. Anstatt jedoch direkt die Operationen-Speicheradresse 100111 zu adressieren, verwendet die SPEICHERN-Anweisung das Prozessoradressregister 10 und einen Adressenoffset. Die SPEICHERN-Anweisung weist zum Beispiel das Argument (Prozessoradressregister 10, Adressenoffset 11, Wert 011101) auf.
-
Bei S340 bewirkt die SPEICHERN-Anweisung, dass der Prozessor die Operationen-Speicher-Basisadresse 100100 aus dem Prozessoradressregister 10 liest.
-
Bei S350 bewirkt die SPEICHERN-Anweisung, dass der Prozessor die Operationen-Speicher-Basisadresse 100100 mit dem Adressenoffset 11 kombiniert, um die Operationen-Speicheradresse 100111 zu erhalten. Des Weiteren kann die Ausführung der SPEICHERN-Anweisung damit fortfahren, unter Verwendung des Systembusses 140 den Wert 011101 in die Speicherzelle des Operationen-Speichers 130, der die Operationen-Speicheradresse 100111 aufweist, zu schreiben, wie in 2A veranschaulicht.
-
Bei S360 bestimmt der Prozessor, ob das Prozessoradressregister 10 mit einer vorbestimmten Operation assoziiert ist. Falls keine Assoziation bestimmt wird, dann geht der Fluss bei S361 zu einem anderen Verarbeitungsschritt S399 über. Im in 2B veranschaulichten Beispiel ist das Prozessoradressregister 10 jedoch mit der Operation TRACE assoziiert und daher fährt der beispielhafte Betrieb damit fort, die vorbestimmte Operation durchzuführen.
-
Bei S370 überprüft die Modelliereinheit 117, ob der Trace-Prozessor 120 bereit ist, weitere Daten zu verarbeiten. Die Modelliereinheit 117 überprüft, ob der Übertragungszählerwert eine vorbestimmte Grenze überschreitet. Falls ein Überlauf bestimmt wird, dann verzögert der Scheduler 119 bei S380 die weitere Verarbeitung. Falls kein Überlauf bestimmt wird, dann geht der Fluss bei S371 zu einem anderen Verarbeitungsschritt S399 über. Eine Kopie des Werts 011101 wird unter Verwendung des Inter-Prozessor-Busses 112 zum Puffer 124 des Trace-Prozessors 120 übertragen und die Modelliereinheit 117 inkrementiert den Übertragungszählerwert gemäß der Übertragung.
-
Bei S390 wird die assoziierte vorbestimmte Operation durchgeführt. Im veranschaulichten Beispiel wird die TRACE-Operation durchgeführt. Im veranschaulichten Beispiel wählt das Filtermodul 128 gemäß Filterdaten FD die Binärrepräsentation 011101 aus, die als Trace-Daten (TD) bereitgestellt werden soll. Die Trace-Daten TD, d. h. die Bits 011101, werden am Trace-Port 109 ausgegeben. Wie in 2C veranschaulicht, kann die Binärrepräsentation 011101 der Trace-Daten TD dann bei manchen Ausführungsformen, bei denen das Trace-Tool 190 zum Trace-Port 109 gekoppelt ist, zum Speicher des Trace-Tools 190 an der Adresse 0100 (in 2C bei Bezugsziffer 191 dargestellt) geschrieben werden. Im in den 2A und 2C veranschaulichten Beispiel wird somit das Tracing eines Blocks 132 aus vier digitalen Messsignaldaten, die im Operationen-Speicher an der Basisadresse 100100 gespeichert sind, somit beendet. Dementsprechend wird somit ein Block 191 von Trace-Daten im Speicher des Trace-Tools 190 gespeichert, die eine Kopie oder ein Trace des Blocks 132 von Daten sind, die im Operationen-Speicher 130 gespeichert sind.
-
Bei S399 fährt der Betrieb des Steuersystems 100 mit einer anderen Verarbeitung fort.
-
Bei einem weiteren Ausführungsbeispiel umfasst ein Steuersystem einen Operationen-Speicher und einen ersten Prozessor, der zum Operationen-Speicher gekoppelt ist. Der erste Prozessor ist dazu konfiguriert, digitale Messsignaldaten aus einem Messsignal abzuleiten. Der erste Prozessor ist ferner dazu konfiguriert, die digitalen Messsignaldaten in den Operationen-Speicher an einer Operationen-Speicheradresse zu schreiben. Das Steuersystem umfasst ferner einen zweiten Prozessor, der zum ersten Prozessor gekoppelt ist und dazu konfiguriert ist, die digitalen Messsignaldaten basierend auf der Operationen-Speicheradresse zu verarbeiten, beispielsweise zu filtern und zu komprimieren, damit ausgewählte Daten erhalten werden.
-
Bei einem beispielhaften Aspekt umfasst ein Verfahren zur Verwendung bei der Bereitstellung von Daten von einem ersten Prozessor zu einem zweiten Prozessor ein Verwenden des ersten Prozessors, um einen erwarteten Laststatus des zweiten Prozessors zu bestimmen, und, falls der erwartete Laststatus ein vorbestimmter Überlastungsstatus ist, eine Bereitstellung von Daten vom ersten Prozessor zum zweiten Prozessor neu zu planen.
-
Bei einem anderen Ausführungsbeispiel ist ein erster Prozessor dazu konfiguriert, zu einem zweiten Prozessor gekoppelt zu werden, wobei der erste Prozessor einen Scheduler, der dazu konfiguriert ist, eine Übertragung von Daten zum zweiten Prozessor zu planen, und eine Modelliereinheit, die dazu konfiguriert ist, einen Betrieb des zweiten Prozessors auf Daten zu modellieren, die vom ersten Prozessor zum zweiten Prozessor übertragen werden, um einen erwarteten Laststatus zu bestimmen, umfasst. Der Scheduler ist dazu konfiguriert, eine Übertragung von Daten zum zweiten Prozessor neu zu planen, falls der erwartete Laststatus ein vorbestimmter Überlastungsstatus ist.
-
Bei noch einem anderen Ausführungsbeispielaspekt umfasst ein Steuersystem einen ersten Prozessor, der dazu konfiguriert ist, Daten aus einem Messsignal abzuleiten, und einen zweiten Prozessor, der zum ersten Prozessor gekoppelt ist und sich entfernt vom ersten Prozessor befindet. Der erste Prozessor umfasst eine Modelliereinheit, die dazu konfiguriert ist, einen Betrieb des zweiten Prozessors auf Daten zu modellieren, die vom ersten Prozessor zum zweiten Prozessor übertragen werden, um einen erwarteten Laststatus zu bestimmen.
-
Bei manchen Ausführungsformen (nicht dargestellt) umfasst das Steuersystem mehrere erste Prozessoren oder Zentralprozessoren. Die mehreren ersten Prozessoren können zu einem gemeinsamen Bus und, über den gemeinsamen Bus, zu einem gemeinsamen Operationen-Speicher gekoppelt sein. Die im Folgenden bezüglich eines Zentralprozessors dargelegten Konzepte und Prinzipien können somit mit mehr als einem Zentralprozessor implementiert werden.
-
In der obigen Beschreibung von beispielhaften Implementierungen werden zum Zwecke der Erklärung spezifische Zahlen, Materialkonfigurationen und andere Einzelheiten dargelegt, um die Erfindung, wie beansprucht, besser zu erklären. Allerdings ist einem Fachmann auf dem Gebiet bewusst, dass die beanspruchte Erfindung unter Verwendung anderer Einzelheiten als den vorliegend beschriebenen beispielhaften ausgeübt werden kann.
-
Obwohl manche Aspekte im Zusammenhang einer Vorrichtung beschrieben worden sind, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens repräsentieren, wobei ein Block oder eine Einrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts entspricht. Sinngemäß repräsentieren im Zusammenhang eines Verfahrensschritts beschriebene Aspekte auch eine Beschreibung eines entsprechenden Blocks oder Gegenstands oder Merkmals einer entsprechenden Vorrichtung.
-
Die offenbarten Anordnungen können teilweise oder vollständig in Hardware unter Verwendung von Logikschaltungen oder eines VLSI-Entwurfs implementiert werden.
-
Die vorliegenden Implementierungen sind in Bezug auf Ausführungsbeispiele beschrieben. Jedoch versteht es sich, dass einzelne Aspekte der Implementierungen separat beansprucht werden können und eines oder mehr der Merkmale der verschiedenen Ausführungsformen kombiniert werden können. In manchen Fällen sind wohl bekannte Merkmale weggelassen oder vereinfacht, um die Beschreibung der beispielhaften Implementierungen zu klären.
-
So wie es vorliegend verwendet wird, bedeutet das Wort „beispielhaft“ als ein Beispiel, ein Fall oder eine Veranschaulichung dienend. Ein beliebiger Aspekt oder eine beliebige Gestaltung, der/die vorliegend als „beispielhaft“ beschrieben ist, darf nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Gestaltungen ausgelegt werden. Vielmehr soll die Verwendung des Wortes beispielhaft Konzepte und Techniken auf eine konkrete Weise präsentieren.
-
So wie er vorliegend verwendet wird, soll der Ausdruck „oder“ vielmehr ein inklusives „oder“ als ein exklusives „oder“ bedeuten. Das heißt, dass „X setzt A oder B ein“ jegliche natürliche inklusive Permutation bedeuten soll, soweit nicht anderweitig spezifiziert oder anhand des Kontextes klar ist. Das heißt, dass, wenn X A einsetzt; X B einsetzt; oder X sowohl A als auch B einsetzt, „X setzt A oder B ein“ dann unter jeglichen der vorhergehenden Fälle erfüllt ist.
-
So wie vorliegend verwendet, sollten die Artikel „ein“ und „eine“ im Allgemeinen so aufgefasst werden, dass sie „ein oder mehr“ bedeuten, es sei denn, dies wird anders spezifiziert oder anhand des Kontextes klar auf eine Singularform gerichtet.
-
So wie vorliegend verwendet, wurden die Begriffe „gekoppelt“ und „verbunden“ möglicherweise verwendet, um zu beschreiben, wie verschiedene Elemente verknüpft werden. Soweit nicht ausdrücklich angemerkt oder zumindest anderweitig angedeutet, kann eine derart beschriebene Verknüpfung verschiedener Elemente entweder direkt oder indirekt sein.
-
So wie vorliegend verwendet, sind die Begriffe „aufweisend“, „enthaltend“, „beinhaltend“, „mit“ oder Varianten davon und ähnliche Begriffe offene Begriffe, die inklusiven Charakter haben sollen. Diese Begriffe zeigen das Vorhandensein genannter Elemente oder Merkmale an, schließen aber keine zusätzlichen Elemente oder Merkmale aus.
-
So wie vorliegend verwendet, soll das Wort „kontinuierlich“ gemäß einem implementierten zugrundeliegenden Betriebsmodus verstanden werden. Falls verstanden wird, dass ein System zum Beispiel in einem getakteten Modus arbeitet, kann die Formulierung „kontinuierlicher Betrieb“ einen Betrieb im getakteten Modus bedeuten, während die Formulierung einen Betrieb in einem anderen Modus nicht adressiert.
-
So wie vorliegend verwendet, kann sich der Begriff „Modul“ auf eine beliebige bekannte oder später entwickelte Hardware, Software, Firmware oder eine Kombination davon beziehen, die in der Lage ist, die mit diesem Element assoziierte Funktionalität durchzuführen.
-
So wie vorliegend verwendet, werden die Begriffe „bestimmen“, „berechnen“ und „errechnen“ und Variationen davon austauschbar verwendet und beinhalten eine beliebige Art von Methodik, Prozess, mathematischer Operation oder Technik.
-
Wie vorliegend verwendet, werden auch Begriffe wie „erster“, „zweiter“ und dergleichen verwendet, um verschiedene Elemente, Gebiete, Abschnitte usw. zu beschreiben, und es wird auch vorliegend nicht beabsichtigt, dass diese beschränkend sind.