DE102005054081B3 - Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A - Google Patents
Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A Download PDFInfo
- Publication number
- DE102005054081B3 DE102005054081B3 DE200510054081 DE102005054081A DE102005054081B3 DE 102005054081 B3 DE102005054081 B3 DE 102005054081B3 DE 200510054081 DE200510054081 DE 200510054081 DE 102005054081 A DE102005054081 A DE 102005054081A DE 102005054081 B3 DE102005054081 B3 DE 102005054081B3
- Authority
- DE
- Germany
- Prior art keywords
- ets
- age
- value
- address
- output
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Das hier beschriebene Schaltungskonzept einer Einheit zur nahezu verzögerungsfreien, nach Altersklassen sortierten Ausgabe zuvor sequenziell zugeführter Datenwortmengen ist Bestandteil eines Echtzeitsystems für sicherheitskritische Anwendungen und somit dem technischen Gebiet sicherheitsgerichtete Programmierbare Elektronische Systeme (PES) zuzuordnen.The here described circuit concept of a unit for almost instantaneous, sorted by age group output previously sequentially supplied data word sets is part of a real-time system for safety-critical applications and thus the technical field safety-oriented programmable Assign electronic systems (PES).
Viele Echtzeitanwendungen lassen sich im laufenden Betrieb nicht oder nur mit unzumutbar hohem Aufwand kurzfristig unterbrechen. Als Beispiel sei hier die Steuerelektronik eines Flugzeugs genannt, die nur am Boden abgeschaltet werden kann. Fällt in einer redundanten Konfiguration von PES-Einheiten während einer nicht unterbrechbaren Betriebsphase eine einzelne Einheit aus, so beeinträchtigt die damit verbundene Verringerung der Redundanz die Sicherheit des Gesamtsystems. Die Behebung eines solchen Ausfalls im laufenden Betrieb ist allerdings problematisch, da PESe nicht ohne weiteres ausgetauscht oder neu gestartet werden können. So können selbst schnell behebbare Ausfallursachen bzw. kurzzeitige Störungen, die ein PES in einen fehlerhaften Zustand versetzen, zu einer wesentlich länger andauernden Beeinträchtigung der Sicherheit führen. Diese Problematik gewinnt zunehmend an Bedeutung, da mit wachsender Integrationsdichte die Empfindlichkeit von Halbleiterbauelementen gegenüber vorübergehenden Störbeeinflussungen, wie z. B. elektromagnetische Wellen oder Alpha-Teilchen, steigt.Lots Real-time applications can not be done during operation or only interrupt at short notice with unreasonably high effort. As an example here called the control electronics of an aircraft, only on the ground can be switched off. falls in a redundant configuration of PES units during an uninterruptible phase of operation a single unit so adversely affects the associated one Reducing the redundancy the security of the whole system. The Fixing such a failure during operation is however problematic because PESe not easily replaced or new can be started. So can even quickly remediable causes of failure or short-term faults, which put a PES in a faulty state, to a significant longer ongoing impairment to lead the safety. This problem is becoming increasingly important as with growing Integration density the sensitivity of semiconductor devices across from temporarily interferences, such as As electromagnetic waves or alpha particles increases.
Dieser Sicherheitsproblematik wird vielfach begegnet, indem die Anzahl verwendeter redundanter PES-Einheiten so hoch gewählt wird, dass die Wahrscheinlichkeit, mit der innerhalb einer ununterbrechbaren Betriebsphase so viele Einheiten ausfallen, dass der Betrieb nicht aufrecht erhalten werden kann, unterhalb des tolerierbaren Grenzrisikos liegt. Um die Anzahl der hierfür notwendigen PESe auf ein vertretbares Maß zu reduzieren, werden deren interne Verarbeitungsstrukturen ebenfalls redundant ausgelegt und so die Wahrscheinlichkeit des vollständigen Ausfalls einer einzelnen PES-Einheit minimiert. Die Systemverfügbarkeit lässt sich allerdings auch erhöhen, indem die PES-Einheiten einer redundanten Konfiguration so ausgelegt werden, dass ein auf Grund transienter Störungen in einen fehlerhaften Zustand gelangtes PES neu gestartet werden kann, ohne den Echtzeitbetrieb dafür unterbrechen zu müssen. Dieser Ansatz – nachfolgend mit Neuaufsetzen im laufenden Betrieb bezeichnet – deckt alle durch vorübergehende Störungen verursachten Ausfallarten ab und ermöglicht den Austausch defekter PES-Einheiten zur Laufzeit.This Security issue is often countered by the number used redundant PES units chosen so high Will that be the probability with which within an uninterruptible Operating phase so many units fail, that the operation is not can be maintained below the tolerable marginal risk lies. To the number of this to reduce necessary PESe to a justifiable measure will be their internal processing structures also redundantly designed and so the probability of complete failure of a single PES unit minimized. However, system availability can also be increased by: the PES units of a redundant configuration are designed to that due to transient disturbances in a faulty state PES can be restarted without real-time operation for interrupting to have to. This approach - below with renewed operation during operation - covers all by temporary disorders caused failure modes and allows the replacement of defective PES units at runtime.
Das hier vorgestellte Schaltungskonzept, welches zur nahezu verzögerungsfreien, nach Altersklassen sortierten Ausgabe zuvor sequenziell zugeführter Datenwortmengen dient, wurde für eine spezielle sicherheitsgerichtete PES-Architektur zur Unterstützung des Neuaufsetzens im laufenden Betrieb entwickelt. Um die Bedeutung und Funktion des Schaltungskonzeptes zu veranschaulichen, werden in diesem Abschnitt nachfolgend die mit dem Neuaufsetzen von Echtzeitsystemen verbundenen Probleme erläutert, die besonderen Merkmale der zugehörigen PES-Architektur beschrieben und der Vorgang des Neuaufsetzens erklärt.The here presented circuit concept, which is almost instantaneous, sorted by age group output previously sequentially supplied data word sets serves, was for a special safety-related PES architecture to support the Newly installed during operation. To the meaning and to illustrate the function of the circuit concept are described in This section below describes how to rebuild real-time systems explained related problems, describes the special features of the associated PES architecture and the process of reassignment explained.
1.1 Neuaufsetzen im laufenden Echtzeitbetrieb1.1 new in the current Real-time operating
Das Neuaufsetzen im laufenden Betrieb verlangt eine redundante Konfiguration mehrerer PES-Einheiten. Jede PES-Einheit muss in der Lage sein,
- • durch Vergleich der eigenen Verarbeitungsergebnisse mit denen der redundanten PES-Einheiten Verarbeitungsfehler zu erkennen,
- • im Falle eines Verarbeitungsfehlers aus dem laufenden Betrieb der redundanten Konfiguration auszutreten,
- • nach einem Neustart den internen Zustand der redundanten Einheiten zur Laufzeit zu kopieren, und
- • zu einem Zeitpunkt, an dem Zustandsäquivalenz vorliegt, wieder in den laufenden Betrieb der redundanten Konfiguration einzutreten.
- • detect processing errors by comparing their own processing results with those of the redundant PES units;
- • in the event of a processing error, withdraw from the ongoing operation of the redundant configuration,
- • after a restart, copy the internal state of the redundant units at runtime, and
- • At a time when state equivalency exists, re-enter into the ongoing operation of the redundant configuration.
Die Problematik besteht darin, dass, während ein PES seinen interner Zustand an den laufender PES-Einheiten angleicht, letztere ihren Zustand fortlaufend ändern. In vielen IT-Systemen, wie z. B. Festplatten-RAIDs, ist dieses Problem der fortlaufenden Zustandsänderung bereits gelöst, indem während des Kopiervorgangs zusätzliche Informationen über aktuelle Zustandsänderungen an die ausgetauschte Komponente übertragen werden. RAID-Controller nutzen z. B. die Pausen zwischen den Festplattenzugriffen, um die Daten einer ausgetauschten Festplatte im Hintergrund zu kopieren; fortlaufende Zustandsänderungen während des Kopiervorgangs werden berücksichtigt, indem schreibende Zugriffe unmittelbar an die ausgetauschte Festplatte übergeben werden.The Problematic is that while a PES its internal State on the running PES units equalizes, the latter theirs Change state continuously. In many IT systems, such as Hard disk RAIDs, this is a problem the continuous change of state already solved, while during the copy process additional information about current state changes transferred to the replaced component become. RAID controllers use z. For example, the pauses between disk accesses, to copy the data of a replaced hard disk in the background; continuous state changes while of the copying process are considered, by passing writes directly to the replaced hard drive become.
Einteilung der Zustandsänderungen bei Echtzeitsystemen: Unglücklicherweise ist das Kopieren des internen Systemzustandes zur Laufzeit bei rechenprozess-orientierten Echtzeitrechensystemen wesentlich komplexer, da diese in der Lage sein müssen, auf zahlreiche, nahezu zeitgleich auftretende Ereignisse zu reagieren. Bezogen auf den Auslöser lassen sich die bei rechenprozess-orientierten Echtzeitsystemen auftretenden Zustandsänderungen, die während des Kopiervorgangs berücksichtigt werden müssen, in zwei Kategorien einteilen: programmgesteuerte Zustandsänderungen (PZen) und ereignisgesteuerte Zustandsänderungen (EZen). Um zu verdeutlichen, dass der interne Zustand eines PES im wesentlichen durch die in den Speicherbaustenen abgelegten Daten bestimmt wird, wird nachfolgend auch der Begriff 'Datenänderung' alternativ zu 'Zustandsänderung' verwendet.Classification of State Changes in Real-Time Systems: Unfortunately, copying the internal system state at run-time is much more complex in real-time, computationally-oriented computing systems, as they must be able to respond to many, almost simultaneous events. Relative to the trigger, the state changes occurring in the case of computer-aided real-time systems can be taken into account during the copying process must be divided into two categories: program-controlled state changes (PZen) and event-driven state changes (EZen). In order to clarify that the internal state of a PES is determined essentially by the data stored in the memory modules, the term 'data change' is also used below as an alternative to 'state change'.
Zu den PZen zählen alle Datenänderungen, die die Anwendungs-Software während ihrer Ausführung veranlasst. Das hiermit verbundene Datenvolumen lässt sich leicht begrenzen, indem z. B. in einem vorgegebenen Zeitinterval maximal eine bestimmte Anzahl schreibender Speicherzugriffe zugelassen wird. Entsprechende Compiler-Direktiven lassen sich leicht realisieren. Die Begrenzung auf einen Wert, der eine kontinuierliche Übertragung der Datenänderungen an redundante Einheiten zulässt, schränkt zwar die Rechenleistung stark ein, mit modernen Übertragungsmedien sind allerdings Rechenleistungen realisierbar, die vielen hochsicherheitskritischen Anwendungen genügen.To count the PZen all data changes that the application software during their execution causes. The associated data volume can be slightly limiting, for example by B. in a given time interval a maximum of a certain number of write memory accesses is allowed. Appropriate compiler directives are easy to implement. The limit to a value that is a continuous transmission the data changes to redundant units, restricts Although the computing power is strong, with modern transmission media are however Computing achievable, the many highly critical Applications are sufficient.
Das mit EZen verbundene Datenvolumen lässt sich demgegenüber nicht so leicht auf einen maximal zulässigen Wert begrenzen. Da digitale Systeme stets zeitlich diskret arbeiten, können mehrere Ereignisse quasi gleichzeitig auftreten. Zudem kann ein einzelnes internes bzw. externes Ereignis – im Vergleich zum programmgesteuerten Fall – eine relativ große Anzahl an Datenänderungen binnen extrem kurzer Zeit veranlassen. Beispielsweise können durch ein einziges Ereignis prinzipiell alle Rechenprozesse der Anwendungs-Software gleichzeitig aktiviert werden. Wird in diesem Fall für jeden Rechenprozess der Aktivierungszeitpunkt gespeichert, so liegt eine große Anzahl an Datenänderungen binnen kürzester Zeit vor. Eine Begrenzung der Häufigkeit von Schreibzugriffen würde hier die minimal realisierbare Antwortzeit stark einschränken. Die Fähigkeit zur unmittelbaren Übertragung aller mit den EZen verbundenen Informationen verlangt daher entweder eine für sicherheitsrelevante Komponenten unrealistisch hohe Bandbreite oder schränkt die erreichbare Rechenleistung auf ein unzulängliches Maß ein. Daher muss in einem Echtzeit-PES, welches sowohl eine praxistaugliche Rechenleistung liefert als auch kürzeste Reaktionszeiten zu garantieren vermag, ein aufwendigeres Verfahren eingesetzt werden, um den internen Zustand eines anderen Echtzeit-PESs mit minimalem Übertragungsaufwand zur Laufzeit kopieren zu können.The By contrast, data volumes associated with eCs can not be compared so easy to a maximum Limit value. Since digital systems always work discretely, can several events occur almost simultaneously. In addition, a can single internal or external event - compared to program-controlled Case - one relatively large Number of data changes within a very short time. For example, by a single event basically all computing processes of the application software be activated simultaneously. Will in this case for everyone Arithmetic process stored the activation time, so is one size Number of data changes within a short time Time before. A limitation on the frequency of Write access would here severely limit the minimum achievable response time. The Ability to immediate transmission All information associated with the EZs therefore requires either one for safety-relevant Components unrealistically high bandwidth or limits the achievable computing power to an inadequate level. Therefore must be in one Real-time PES, which is both a practical computing power delivers as well as shortest To guarantee reaction times, a more complex procedure be used to change the internal state of another real-time PES with minimal transmission costs to copy at runtime.
Berücksichtigung des Alters einer Zustandsinformation: Bei näherer Betrachtung der durch EZen hervorgerufenen Datenmodifikationen zeigt sich, dass viele Datenworte in annähernd regelmäßigen Abständen geändert werden. Dies liegt u. a. daran, dass Rechenprozesse von technischen Echtzeitanwendungen oft periodisch aufgerufen werden. Aber auch Rechenprozesse, die durch externe Ereignisse eines technischen Prozesses gestartet werden, werden sehr oft in näherungsweise äquidistanten Zeitabständen ausgeführt. Die Änderungshäufigkeit kann allerdings sehr unterschiedlich sein. Diese Charakteristik kann genutzt werden, um den Übertragungsaufwand zu minimieren bzw. bei gleicher Übertragungsbandbreite bessere Echtzeiteigenschaften (z. B. höhere Rechenleistung, kürzere garantierte Antwortzeiten etc.) zu erzielen.consideration the age of a state information: Upon closer examination of the by EZen evoked data modifications shows that many Data words in approximate be changed at regular intervals. This is u. a. Remember that computing processes of real-time technical applications often called periodically. But also computing processes that be started by external events of a technical process, are very often in approximately equidistant intervals executed. The frequency of changes but can be very different. This characteristic Can be used to transfer costs to minimize or at the same transmission bandwidth better real-time properties (eg higher computing power, shorter guaranteed Response times etc.).
Wird – während der Zustand eines PESs kopiert wird – ein Datenwort mehrfach geändert, so ist nur die letzte Änderung von Bedeutung, die während des Kopiervorgangs auftrat. Aus diesem Grund ist es sinnvoll, die Übertragung des Systemzustandes in diskreten Übertragungszyklen zu organisieren und in jedem Zyklus eine feste Anzahl nUeberDW ältester Datenworte zu übertragen. Das bedeutet, die zu einem geänderten Datenwort gehörenden Zustandsänderungsinformationen – bestehend aus dem neuen Wert und der Adresse des Datenwortes – werden nur übertragen, wenn weniger als nUeberDW Datenworte mit älteren Werten vorhanden sind. Dieses Verfahren, bei dem die ältesten Datenworte zuerst übertragen werden, verringert den Übertragungsaufwand, da die Anzahl wiederholter Übertragungen häufig veränderter Datenworte reduziert wird.If a data word is changed several times while the state of a PES is being copied, only the last change that occurred during the copying process is of importance. For this reason, it makes sense to organize the transmission of the system state in discrete transmission cycles and to transmit a fixed number n over Dew oldest data words in each cycle. This means that the state change information associated with a changed data word - consisting of the new value and the address of the data word - are only transmitted if there are fewer than n overDW data words with older values. This method, in which the oldest data words are transmitted first, reduces the transmission overhead because the number of repeated transmissions of frequently changed data words is reduced.
Diese 'altersgesteurte' Übertragungstechnik lässt sich realisieren, indem jedem Datenwort, dessen Inhalt durch EZen verändert werden kann, eine Altersvariable zugewiesen wird, welche das Alter der gespeicherten Information angibt. Jedesmal, wenn der Wert eines Datenwortes geändert wird, wird die zugehörige Altersvariable auf Null zurückgesetzt. Solange das Datenwort nicht geändert wird, wird die zugehörige Altersvariable in zyklischen Abständen inkrementiert. Die Datenworte mit den ältesten gespeicherten Informationen besitzen somit die höchsten Alterswerte. In jedem Übertragungszyklus werden die Adresse und der Wert der jeweils nUeberDW ältesten Datenwörter übertragen. Die zugehörigen Altersvariablen werden dabei auf einen Wert gesetzt, der kennzeichnet, dass das zugehörige Datenwort bereits übertragen wurde (z. B. der maximal darstellbare Zahlenwert). Der Kopiervorgang ist abgeschlossen, sobald die Altersvariablen aller Datenwörter diesen Wert besitzen.This 'age-sensitive' transmission technique can be implemented by assigning to each data word whose content can be changed by EZen an age variable indicating the age of the stored information. Each time the value of a data word is changed, the associated age variable is reset to zero. As long as the data word is not changed, the associated age variable is incremented at cyclic intervals. The data words with the oldest stored information thus have the highest age values. In each transmission cycle , the address and the value of each n OverDW oldest data words are transmitted. The associated age variables are set to a value that indicates that the associated data word has already been transmitted (eg the maximum representable numerical value). The copying process is completed as soon as the age variables of all data words have this value.
Die maximale Dauer des Kopiervorgangs hängt von der Anzahl nUeberDW der in einem Übertragungszyklus übertragenen 'ältesten' Datenworte und der Häufigkeit von Datenwortänderungen bzw. EZen und PZen ab. Die Häufigkeit von EZen und PZen kann von den Ausführungseigenschaften der Rechenprozesse, die u.a. die maximale Ausführungszeit tMaxAusf, die maximale Antwortzeit tMaxAnt und die minimale Aktivierungsperiode tMinAkt umfassen, abgeleitet werden. Somit ist die maximale Dauer bestimmbar.The maximum duration of the copying process depends on the number n OverDW of the 'oldest' data words transmitted in a transmission cycle and the frequency of data word changes or EZen and PZen. The frequency of Ezen and can PZen from the execution characteristics of the computing processes, inter alia, the maximum execution time t MaxAusf, the maximum response time t MAXANT and the minimum activation period t include MinAkt which eclip be directed. Thus, the maximum duration is determinable.
Das hier beschriebern Schaltungskonzept einer Einheit zur nahezu verzögerungsfreien, nach Alters klassen sortierten Ausgabe zuvor sequenziell zugeführter Datenwortmengen ermöglicht eine besonders effiziente Ermittlung der mit den nUeberDW ältesten Datenwörtern verbundenen Zustandsänderungsinformationen. Es ist Bestandteil einer speziellen PES-Architektur, welche insbesondere für sicherheitskritische Anwendungen geeignet ist und im nächsten Abschnitt erläutert wird.The circuit concept described here of a unit for virtually delay-free, age-group-sorted output of previously sequentially supplied data word sets enables particularly efficient determination of the state change information associated with the n overDW oldest data words. It is part of a special PES architecture, which is particularly suitable for safety-critical applications and will be explained in the next section.
1.2 Aufbau und Arbeitsweise des PES1.2 Structure and operation of the PES
In diesem Abschnitt werden die wesentlichen Merkmale der PES-Architektur beschrieben, für die das hier vorgestellte Schaltungskonzept entwickelt wurde.In This section outlines the key features of the PES architecture described, for the circuit concept presented here was developed.
Rechenprozessverarbeitung ohne asynchrone Unterbrechungen: Die PES-Architektur basiert auf dem nachfolgend beschriebenen Konzept der Rechenprozessverarbeitung ohne asynchrone Unterbrechungen.Computing process processing without asynchronous interruptions: The PES architecture is based on the described below concept of computational processing without asynchronous interruptions.
Bei diesem Konzept sind Prozessausführung und -verwaltung strikt voneinander getrennt. Zur Prozessausführung (PA) zählt ausschließlich die Bearbeitung anwendungsspezifischen Programmcodes; die Prozessverwaltung (PV) ist verantwortlich für Prozessadministration und Prozessorzuteilung.at This concept is process execution and Administration strictly separated. Process execution (PA) counts exclusively the Processing of application-specific program codes; the process management (PV) is responsible for Process administration and processor allocation.
Die Zeit wird in diskrete, gleich lange Verarbeitungsintervalle eingeteilt, die den periodischen, synchronen Arbeitstakt der PA und der PV bestimmen. Die Verarbeitungsintervalle sind synchronisiert zum internationalen Zeitstandard UTC, d.h. die Verarbeitungsintervalle redundanter PES-Einheiten beginnen und enden zu den gleichen UTC-synchronen Zeitpunkten.The Time is divided into discrete, equally long processing intervals, which determine the periodic, synchronous working clock of the PA and the PV. The processing intervals are synchronized with the international one Time standard UTC, i. the processing intervals of redundant PES units begin and end at the same UTC synchronous times.
Prozesse setzen sich aus einer Anzahl an Prozessabschnitten zusammen, die folgende Eigenschaften besitzen:
- • Jeder Prozessabschnitt kann vollständig innerhalb eines Verarbeitungsintervalles ausgeführt werden.
- • Die Ausführung eines Prozessabschnittes ist nicht unterbrechbar.
- • Prozessabschnitte tauschen Daten über den Datenspeicher aus; der Inhalt der Prozessorregister geht am Ende eines Verarbeitungsintervalls verloren.
- • Jeder Prozessabschnitt besitzt einen Identifikator.
- • Die Abschnitte eines Prozesses müssen nicht in einer fest vorgegebenen Reihenfolge ausgeführt werden. Für jeden Prozess speichert die PV einen Abschnittszeiger, der den als nächsten auszuführenden Prozessabschnitt identifiziert.
- • Each process section can be executed completely within one processing interval.
- • The execution of a process section can not be interrupted.
- • Process sections exchange data via the data memory; the contents of the processor registers are lost at the end of a processing interval.
- • Each process section has an identifier.
- • The sections of a process do not have to be executed in a fixed order. For each process, the PV stores a section pointer that identifies the process section to be executed next.
Zu
Beginn eines jeden Verarbeitungsintervalls gibt die PV den Identifikator
des als nächsten auszuführenden
Prozessabschnittes aus. Dieser Identifikator entspricht dem gespeicherten
Abschnittszeiger des gemäß dem Prozessorzuteilungsalgorithmus
auszuführenden
Prozesses. Die PA liest den Identifikator und führt den zugehörigen Abschnitt aus.
Gegen Ende des Verarbeitungsintervalls, wenn der Abschnitt abgearbeitet
worden ist, übergibt
die PA einen Identifikator an die PV. Dieser Identifikator, welcher
den nächsten
auszuführenden
Abschnitt des soeben ausgeführten
Prozesses kennzeichnet, wird von der PV als neuer Abschnittszeiger
gespeichert. Das Flussdiagramm in
Wenn der ausgeführte Abschnitt der letzte war, d.h. der zugehörige Prozess vollständig abgearbeitet worden ist, signalisiert die PA dies der PV (z. B. durch Übergabe des Identifikatorwertes 'nil'). In diesem Fall veranlasst die PV einen Zustandsübergang, so dass sich der Prozess nicht länger im Zustand 'aktiviert' befindet. Gleichzeitig wird das Bearbeitungsende bei der Bestimmung des Identifikators des im nächsten Verarbeitungsintervall auszuführenden Prozessabschnitts berücksichtigt.If the executed one Section was the last one, i. the associated process has been completely processed the PA signals this to the PV (eg by handover the identifier value 'nil'). In this case the PV causes a state transition, so that the process no longer works in the state 'activated'. simultaneously becomes the end of processing in the determination of the identifier of the next Processing interval to be executed process section considered.
Diese Arbeitsweise kommt ohne spezielle Synchronisationsmechanismen, wie z. B. Semaphore, aus, da jeder Prozess während eines Verarbeitungsintervalls ununterbrechbaren, exklusiven Zugriff auf den Prozessor hat. Prozesse können über den Datenspeicher miteinander kommunizieren, ohne beim Schreiben von Nachrichten der Gefahr von Unterbrechungen ausgesetzt zu sein. Sich wechselseitig ausschließender Zugriff auf Systemkomponenten kann einfach mit Hilfe von Variablen im Datenspeicher implementiert werden. In ähnlicher Weise können abwechselnde Zugriffe mehrerer Prozesse realisiert werden; hierzu ist nur die programmgesteuerte Suspendierung und Fortführung von Prozessen notwendig. Die Entbehrlichkeit spezieller Synchronisationsmechanismen vereinfacht dieses PES-Konzept wesentlich.These Operation comes without special synchronization mechanisms, such as z. Semaphore, because every process during a processing interval uninterruptible, exclusive access to the processor has. processes can through the data store communicate with each other without writing the messages To be exposed to interruptions. Mutually exclusive Access to system components can be easily done with the help of variables be implemented in the data store. Similarly, alternating Accesses of several processes can be realized; this is only the program-controlled suspension and continuation of processes necessary. The dispensability of special synchronization mechanisms simplified essential to this PES concept.
Ausführbarkeit der Anwendungsprogramme: Durch die hier vorgestellte Arbeitsweise wird das Einsatzfeld nicht so stark eingeschränkt wie das rein zyklisch arbeitender PES, die auf Grund ihres besonders einfachen temporalen Verhaltens auch heute noch in hoch sicherheitskritischen Anwendungen eingesetzt werden. Ohne Gebrauch asynchroner Unterbrechungen werden beliebige, von den externen Prozessen abhängige Programmablaufpfade ermöglicht. Wie bei anderen rechenprozess-orientierten Echtzeitsystemen verlangt diese Fähigkeit zu prozessgesteuerten Programmflüssen, Anwendungsprogramme auf zeitgerechte Ausführbarkeit hin zu überprüfen.Executability of application programs: The mode of operation presented here does not limit the field of application as much as the purely cyclic PES, which due to their particularly simple temporal behavior are still used today in highly safety-critical applications. Without the use of asynchronous interrupts, any program flow paths dependent on the external processes are enabled. As with other computational-oriented real-time systems, this capability requires process-driven program flows, application programs check for timely executability.
Auch
dieses Problem ist bereits gelöst.
Die Ausführbarkeitsanalyse
vereinfacht sich, wenn bei der Auswahl des für die interne Verarbeitung
der PV verwendeten Prozesszustandsmodells die Möglichkeiten formaler Verifikationsmethoden
berücksichtigt werden.
Ein Modell, welches für
das hier beschriebene Konzept der Prozessverarbeitung besonders
geeignet ist, basiert auf drei Ausführungseigenschaften: maximale
Ausführungszeit
tMaxAusf, maximale Antwortzeit tMaxAnt und minimale Aktivierungsperiode tMinAkt. Diese Parameter erlauben, die Zeitbedingungen
einer jeden aus periodischen und sporadischen Rechenprozessen bestehenden
hybriden Prozessmenge zu spezifizieren.
Die minimale Aktivierungsperiode entspricht der minimalen Zeitdauer zwischen zwei Prozessaktivierungen; sie begrenzt die maximal hervorgerufene Prozessorlast indirekt. Nur ein sich im Zustand bekannt befindender Prozess kann aktiviert werden. Wird die Bearbeitung eines Prozesses vor Ablauf der Zeit tMinAkt abgeschlossen, so wird dieser Prozess in den Zustand unterdrückt überführt. Erst nach Ablauf von tMinAkt wird er wieder in den Zustand bekannt versetzt, wodurch eine erneute Aktivierung möglich wird. Der Zustand suspendiert dient Synchronisationszwecken.The minimum activation period corresponds to the minimum amount of time between two process activations; it limits the maximum processor load indirectly. Only a process known in the state can be activated. If the processing of a process is completed before the time t MinAkt has expired , this process is transferred to the state suppressed. Only after expiry of t MinAkt he is put back into the state known, whereby a re-activation is possible. The suspended state is for synchronization purposes.
Alle Zustandsübergänge stehen unter der Kontrolle der PV. Wird die Bearbeitung eines Prozesses abgeschlossen, so wird der Übergang beenden automatisch veranlasst. Die Übergänge suspendieren und fortführen werden zwar von der PV durchgeführt, können aber nur von einem Anwendungsprogramm veranlasst werden. Da die Anwendungsprogramme in ununterbrechbaren Intervallen ausgeführt werden, finden Zustandsübergänge nur am Ende eines Intervalls statt. Dementsprechend wird eine durch einen Prozessabschnitt veranlasste Suspendierung erst gegen Ende des auslösenden Intervalls wirksam. Ein Prozess kann nur sich selbst suspendieren, aber das Fortführen aller anderen Prozesse in die Wege leiten. In Verbindung mit der periodischen Arbeitsweise wird so die Realisierung von VorgängerNachfolger-Relationen möglich, was z. B. zur Implementierung eines abwechselnden Betriebsmittelzugriffs zwingend notwendig ist.All State transitions are under the control of PV. Will the processing of a process completed, so will the transition stop automatically initiated. The transitions will be suspended and continued while performed by the PV, can but only be initiated by an application program. Because the Application programs are run at uninterruptible intervals, find state transitions only held at the end of an interval. Accordingly, a through a process section caused suspension only towards the end of the triggering Interval effective. A process can only suspend itself, but continuing of all other processes. In conjunction with the Periodic operation is thus the realization of predecessor successor relations possible, what for. To implement alternate resource access is absolutely necessary.
Es empfiehlt sich, das Zustandsmodell so in die PV zu implementieren, dass für jeden Prozess zu jeder Zeit nur eine Instanz existieren kann. Dies erhöht die Konformität mit der Norm IEC 61508, welche die dynamische Instanziierung von Objekten in höchst sicherheitsbezogenen Applikationen verbietet (Teil 3, Tabelle B1). Bei Berücksichtigung der Beschränkung auf eine Prozessinstanz erlauben die Ausführungsparameter tMaxAusf, tMaxAnt und tMinAkt den formalen Nachweis der Ausführbarkeit einer Menge von Prozessen bzw. Anwendungsprogrammen. Geeignete Beweismethoden werden in zahlreichen Veröffentlichungen beschrieben.It is recommended to implement the state model in the PV so that only one instance can exist for each process at any time. This increases compliance with the IEC 61508 standard, which prohibits the dynamic instantiation of objects in highly safety-related applications (Part 3, Table B1). Considering the restriction to a process instance , the execution parameters t MaxAusf , t MaxAnt, and t MinAct allow the formal proof of the executability of a set of processes or application programs. Appropriate evidence is described in numerous publications.
Implementierung der Prozessverwaltung: Zur Implementierung der PV eignet sich die nachfolgend beschriebene Arbeitsweise. Das Konzept basiert auf zwei physisch voneinander getrennten Einheiten. Die Prozessausführungseinheit (PAE) führt die Prozessabschnitte der Anwendungsprogramme aus. Sie besteht im wesentlichen aus einem Prozessor ohne Unterbrechungswerk. Die Prozessverwaltungseinheit (PVE), welche zur Prozessadministration dient und die auszuführenden Prozessabschnitte bestimmt, wird durch ein digitales Schaltwerk realisiert.implementation the process management: The implementation of the PV is the following procedure. The concept is based on two physically separate units. The process execution unit (PAE) leads the Process sections of the application programs. It essentially consists from a processor without interruption work. The process management unit (PVE), which serves for the process administration and the to be executed Process sections determined by a digital rear derailleur realized.
Ein wesentlicher Bestandteil der PVE ist die Prozessliste. In der Prozessliste ist für jeden Rechenprozess ein Parametersatz bestehend aus Aktivierungsbedingungen, Ausführungseigenschaften und Zustandsinformationen abgelegt.
- • Die Aktivierungsbedingungen eines Prozesses können sowohl auf Zeitplänen basieren als auch asynchrone Meldungssignale mit einbeziehen. Es empfiehlt sich, Aktivierungspläne gemäß dem Verarbeitungskonzept der Echtzeitprogrammiersprache PEARL90 [DIN 66253-2] zu verwenden, da diese besonders allgemein gefasst sind und den Anforderung von Echtzeitsystemen bestens gerecht werden. Sie erlauben, periodische Prozessaktivierungen innerhalb gegebener Zeitfenster direkt zu spezifizieren. Die Syntax eines solchen Aktivierungsplans lautet: AT {clock-expression | [asynchronous-event-expression] + duration1} EVERY duration2 DURING duration3 ACTIVATE name-des-rechenprozesses
- • Die Ausführungseigenschaften umfassen die Parameter tMaxAusf, tMaxAnt und tMinAkt des Prozesszustandsmodells.
- • Die Zustandsinformationen beschreiben den aktuellen Zustand eines Prozesses eindeutig. Hierzu gehört unter anderem der Zeitpunkt der letzten Aktivierung, anhand dessen – in Kombination mit der Ausführungseigenschaft tMaxAnt – der nächste Fertigstellungstermin bestimmt werden kann. Der den als nächsten auszuführenden Abschnitt eines Prozesses identifizierende Abschnittszeiger gehört ebenfalls zu den Zustandsinformationen.
- • The activation conditions of a process can be based on schedules as well as include asynchronous message signals. It is advisable to use activation plans in accordance with the processing concept of the real-time programming language PEARL90 [DIN 66253-2], as these are particularly general and well suited to the requirements of real-time systems. They allow to specify periodic process activations directly within given time windows. The syntax of such an activation plan is: AT {clock-expression | [asynchronous-event-expression] + duration1} EVERY duration2 DURING duration3 ACTIVATE name-of-process
- • The execution properties include the parameters t MaxOff , t MaxAnt and t MinAct of the process state model.
- • The state information clearly describes the current state of a process. Among other things, this includes the time of the last activation, on the basis of which - in combination with the execution property t MaxAnt - the next completion date can be determined. The section pointer identifying the next portion of a process to be executed also belongs to the state information.
Alle Rechenprozesse einer Anwendung müssen bereits während der Konfigurierung des Systems in die Prozessliste eingetragen werden; dynamische Instanziierung von Prozessen (bzw. Objekten) ist gemäß den Anforderungen der IEC 61508 an Applikationen der Sicherheitsanforderungsklasse SIL 4 nicht zulässig. Lediglich die Aktivierungsbedingungen eines Prozesses können programmgesteuert verändert werden.All computational processes of an application must already be entered in the process list during the configuration of the system; Dynamic instantiation of processes (or objects) is in accordance with the requirements of IEC 61508 for applications of the safety requirement class SIL 4 not allowed. Only the activation conditions of a process can be changed programmatically.
Die
Realisierung der PVE basiert auf einer Kombination aus sequenzieller
und paralleler Verarbeitung. Die Algorithmen können so strukturiert werden,
dass alle auf einen einzelnen Prozess bezogenen Operationen parallel
durchgeführt
werden, die gesamte Prozessmenge hingegen sequenziell verarbeitet
wird.
Während der sequenziellen Prozessadministration (SPA) wird für jeden Prozess ein Drei-Phasen-Vorgang abgearbeitet:
- 1. Zunächst greift die PPV auf die Prozessliste zu und überträgt die Prozessparameter in dafür vorgesehene Eingangsregister der PZS.
- 2. Dann verarbeitet die PZS die Prozessparameter mit Hilfe einer kombinatorischen Logikschaltung innerhalb eines Taktzyklusses.
- 3. Abschließend liest die PPV die aktualisierten Prozessparameter von der PZS ein und speichert diese in der Prozessliste.
- 1. First, the PPV accesses the process list and transfers the process parameters to dedicated input registers of the PZS.
- 2. Then the PZS processes the process parameters using a combinatorial logic circuit within one clock cycle.
- 3. Finally, the PPV reads in the updated process parameters from the PZS and saves them in the process list.
Dabei erstreckt sich die Zuständigkeit der PZS auf folgende Aufgaben:
- 1. Überprüfung der Aktivierungsbedingungen,
- 2. Koordinierung von Prozesszustandsübergängen,
- 3. Generierung der aktualisierten Prozessparameter,
- 4. Berechnung der geforderten Antwortzeiten,
- 5. Bestimmung der Prozesse mit der nächsten und der übernächsten Antwortzeit,
- 6. Ausgabe des Identifikators des als nächsten auszuführenden Prozessabschnittes.
- 1. checking the activation conditions,
- 2. coordination of process state transitions,
- 3. generation of updated process parameters,
- 4. calculation of the required response times,
- 5. determination of the processes with the next and the next but one response time,
- 6. Output of the identifier of the next process section to be executed.
Die ersten vier Aufgaben können für jeden Prozess separat durchgeführt werden. Dies ermöglicht deren zeitgleiche Bearbeitung durch eine rein kombinatorische Digitalschaltung. Die fünfte Aufgabe verlangt, die Antwortzeiten aller aktivierten Prozesse zu vergleichen. Dies wird sequenziell mit den Iterationen des Drei-Phasen-Vorgangs vorgenommen, wobei nach jeder Iteration die Identifikatoren und geforderten Fertigstellungstermine der beiden am dringendsten zu verarbeitenden Prozesse zwischengespeichert werden. Es wird somit nicht nur der Prozess mit der nächsten Antwortzeit, sondern auch der mit der übernächsten Antwortzeit ermittelt. Dies ist notwendig, da die SPA durchgeführt wird, während die PAE einen Prozessabschnitt ausführt. Dadurch kann es vorkommen, dass die Bearbeitung des Prozesses, der von der SPA als der mit dem nächsten Fertigstellungstermin identifiziert wird, im laufenden Verarbeitungsintervall abgeschlossen wird, d.h. die PAE führte während der SPA den letzten Prozessabschnitt aus. In diesem Fall kann, da der Prozess mit der übernächsten Antwortzeit bereits bestimmt wurde, unmittelbar, d.h. ohne erneute Durchführung der SPA, der Identifikator des im nächsten Verarbeitungsintervall auszuführenden Abschnitts ausgegeben werden.The first four tasks can for every process carried out separately become. this makes possible their simultaneous processing by a purely combinational digital circuit. The fifth Task requires the response times of all enabled processes to to compare. This is done sequentially with the iterations of the three-phase process made after each iteration the identifiers and required completion dates of the two most urgent processing processes are cached. It will thus not just the process with the next Response time, but also determined with the next but one response time. This is necessary because the SPA is performed while the PAE is a process section performs. Thus it can happen that the processing of the process, the from the SPA as the next completion date is identified, completed in the current processing interval is, i. the PAE led while the SPA is the last part of the process. In this case, since the process with the next but one response time has already been determined, directly, i. without renewing the SPA, the identifier of the next one Processing interval to be executed Section are issued.
1.3 Neuaufsetzen im laufenden Betrieb1.3 new in the current business
Um Neuaufsetzen im laufenden Betrieb zu ermöglichen, wurde die im vorigen Abschnitt 1.2 beschriebene PES-Architektur um das Konzept serieller Datenströme (SDSe) erweitert. In einer redundanten Konfiguration mehrerer PESe gibt jedes PES einen SDS aus, der fortlaufend die interne Verarbeitung beschreibt und an alle redundanten PESe weitergeleitet wird. Ein neu gestartetes PES kann durch Beobachten der SDSe redundanter PESe seinen Zustand zur Laufzeit angleichen und sich in den laufenden Betrieb einklinken. Die SDSe sind in Übertragungszyklen organisiert, die den Verarbeitungsintervallen entsprechen, Dementsprechend beginnen und enden die Übertragungszyklen in Synchronisation mit dem internationalen Zeitstandard UTC, genauso wie die Verarbeitungsintervalle.Around To be able to reactivate on the fly, was the previous one Section 1.2 describes the PES architecture around the concept of serial data streams (SDSe) extended. In a redundant configuration of multiple PESs there Each PES issues an SDS, which continuously checks the internal processing is described and forwarded to all redundant PESe. One restarted PES can be done by observing the SDSe of redundant PESe adjust its condition at runtime and get in the running Engage operation. The SDSs are organized in transmission cycles, corresponding to the processing intervals, commence accordingly and end the transmission cycles in sync with the international time standard UTC, as well like the processing intervals.
Zu Beginn eines jeden Verarbeitungsintervalls ist der Zustand eines PES vollständig durch
- • den Inhalt des RAM-Speichers der PAE,
- • den Inhalt der in der PVE gespeicherten Prozessliste,
- • den Inhalt des Registers, in dem der Identifikator des auszuführenden Prozessabschnitts abgelegt ist, und
- • den Inhalt des Registers, in dem der Identifikator des nächsten Prozessabschnitts des zuletzt ausgeführten Rechenprozesses abgelegt ist,
- The contents of the RAM memory of the PAE,
- • the contents of the process list stored in the PVE,
- • the content of the register in which the identifier of the process section to be executed is stored, and
- The content of the register in which the identifier of the next process section of the last executed computation process is stored,
Kopieren
des RAM-Speichers der PAE via SDS: Die von der PAE durchgeführten Änderungen der
Anwendungsdaten, nachfolgend mit AnwendungsDatenModifikationen (ADM)
bezeichnet, sind stets programmgesteuert (PZ). Das mit ADM verbundene
Datenvolumen kann daher leicht auf einen im Übertragungszyklus transferierbaren
Wert begrenzt werden, indem die Anzahl der in einem Prozessabschnitt
zulässigen
Schreibzugriffe limitiert wird. Wie in
Die Begrenzung der Anzahl an Schreibzugriffen kann der Compiler während der automatischen Einteilung des Programmcodes in Prozessabschnitte vornehmen. Um die Verarbeitungseffizienz zu steigern, empfiehlt sich für Daten, die während der Ausführung eines Prozessabschnittes nur kurz zwischengespeichert werden müssen, d.h. die nach Beendigung des Prozessabschnitts nicht mehr relevant sind, ein spezieller Speicherbereich. Dieser Speicherbereich des PAE-Speichers ist für das Neuaufsetzen nicht von Bedeutung, weshalb Schreibzugriffe auf diesen unberücksichtigt bleiben können. Im nachfolgenden Text ist mit 'PAE-Speicher' bzw. 'Datenspeicher' ausschließlich der Speicherbereich gemeint, der für das Neuaufausetzen relevant ist.The The compiler can limit the number of write accesses during the automatic classification of the program code into process sections make. To increase processing efficiency, we recommend for Data that during the execution a process section must be cached only briefly, i. which are no longer relevant after the end of the process section, a special storage area. This memory area of the PAE memory is for the restart does not matter, which is why write accesses to this disregarded can stay. In the following text is with 'PAE memory' or 'data storage' exclusively the Memory area meant for the reissuing is relevant.
Um
den Datenspeicher der PAE innerhalb einer vorgegebenen Zeitspanne
via SDS vollständig
zu übertragen,
müssen
zusätzlich
die Datenworte übertragen
werden, die innerhalb der vorgegebenen Zeitspanne nicht verändert werden.
Hierzu wird der gesamte Inhalt des PAE-Speichers via SDS gestückelt übertragen.
In jedem Übertragungszyklus überträgt ein SDS
ein Teilstück
des PAE-Speichers; der gesamte Speicherinhalt wird innerhalb einer
festgelegten Anzahl an aufeinanderfolgenden Zyklen transferiert.
Die Übertragung
eines PAE-Speicher-Teilstücks kann,
wie in
Damit die SDSe redundanter Einheiten identisch sind, wird das jeweilig übertragene PAE-Speicher-Teilstück in Bezug zum internationalen Zeitstandard UTC ausgewählt. Das bedeutet, die gestückelte übertragung des PAE-Speichers beginnt mit dem ersten Teilstück zu UTC-synchronen Zeitpunkten. Diese UTC-synchronen Zeitpunkte treten in äquidistanten Abständen auf, z. B. zu Beginn einer jeden UTC-Sekunde. In den nachfolgenden Beschreibungen kennzeichnet nZyklenUTC die Anzahl an Übertragungszyklen zwischen zwei dieser Zeitpunkte und nTeilstueckgr die Anzahl der Datenworte, die ein in einem Zyklus übertragenes Teilstück umfasst. Im Idealfall ist die Größe des PAE-Speichers so auf nZyklenUTC und nTeilstueckgr abgestimmt, dass die Anzahl der Datenworte des PAE-Speichers der Multiplikation nZyklenUTC·nTeilstueckgr entspricht.So that the SDSe of redundant units are identical, the respectively transmitted PAE memory section is selected in relation to the international time standard UTC. This means that the fragmented transmission of the PAE memory begins with the first segment at UTC synchronous times. These UTC synchronous times occur at equidistant intervals, z. At the beginning of each UTC second. In the following descriptions, n cyclesUTC denotes the number of transmission cycles between two of these times, and n parts n the number of data words comprising a portion transferred in one cycle. Ideally, the size of the PAE memory is tuned to n cycles UTC and n patch size such that the number of data words of the PAE memory corresponds to the multiplication n cyclesUTC * n patch size g .
Kopieren der Prozessliste der PVE via SDS: Die Auftretensfrequenz von Änderungen der in der Prozessliste der PVE gespeicherten Parameter der Rechenprozesse – nachfolgend mit RechenprozessParameterModifikationen (RPMen) bezeichnet – hängt von der Häufigkeit von Rechenprozesszustandsänderungen ab, welche letztlich durch die Ausführungseigenschaften aller Rechenprozesse begrenzt ist. Bei RPM kann es sich sowohl um programmgesteuerte als auch um ereignisgesteuerte Zustandänderungen handeln (d.h. PZen oder EZen), weshalb die in Abschnitt 1.1 beschriebene, sich an dem Alter der gespeicherten Werte orientierende Technik zur Reduzierung des Übertragungsaufwandes eingesetzt wird.Copy PVE process list via SDS: The frequency of changes the parameters of the calculation processes stored in the process list of the PVE - below associated with computational parameter paramifications (RPMs) - depends on the frequency of computing process state changes which is ultimately limited by the execution properties of all computational processes is. RPM can be both programmatic and around event-driven state changes (ie PZen or EZen), which is why the methods described in section 1.1 technology based on the age of the stored values to reduce the transmission costs is used.
Die Prozessliste der PVE ist in Datenworten organisiert. Jedem Datenwort der Prozessliste ist eine Variable zugeordnet, die das Alter der gespeicherten Information kennzeichnet. Die Altersvariablen können ausschließlich ganzzahlige Werte größer oder gleich '0' annehmen; der maximal darstellbare Zahlenwert wird nachfolgend mit AVmax bezeichnet. Wird ein Datenwort geändert, so wird die zugehörige Altersvariable auf den Wert '0' gesetzt. Solange eine Altersvariable kleiner als (AVmax – 1) ist, wird sie zu Beginn eines jeden Verarbeitungsintervalls um eins inkrementiert. Somit identifizieren die Altersvariablen mit den höchsten Werten (ausgenommen AVmax) die 'ältesten' Datenwörter der Prozessliste. Die zu transferierende Datenmenge wird nun begrenzt, indem in jedem Übertragungszyklus eine konstante Anzahl nUeberDw ältester PVE-Datenworte übertragen und die zugehörigen Altersvariablen auf AVmax gesetzt werden. Wenn alle Altersvariablen den Wert AVmax besitzen, sind alle aktuellen RPMen übertragen worden und ein Wiedereinstiegssignal wird via SDS ausgesendet.The process list of the PVE is organized in data words. Each data word of the process list is assigned a variable which indicates the age of the stored information. The age variables can only take integer values greater than or equal to '0'; the maximum representable numerical value is hereinafter referred to as AV max . If a data word is changed, the associated age variable is set to the value '0'. As long as an age variable is less than (AV max - 1), it is incremented by one at the beginning of each processing interval. Thus, the age variables with the highest values (except AV max ) identify the 'oldest' data words of the process list. The amount of data to be transferred is now limited by a constant number n U in each transmission cycle eberDw oldest PVE data words are transmitted and the associated age variables are set to AV max . If all age variables have the value AV max , all current RPMs have been transmitted and a reentry signal is transmitted via SDS.
Wie
in
Die Übertragung aller PVE-Datenworte wird erreicht, indem allen Altersvariablen zu UTC-synchronen Zeitpunkten der Wert '0' zugewiesen wird. Der Bezug zum internationalen Zeitstandard UTC ist notwendig, damit die SDSe redundanter PESe identisch sind. Hinsichtlich eines möglichst geringen Implementierungsaufwandes ist es besonders günstig, dieselben UTC-synchronen Zeitpunkte zu verwenden, zu denen die gestückelte übertragung des PAE-Speichers mit dem ersten Teilstück beginnt.The transfer All PVE data words are achieved by all age variables Assigned the value '0' at UTC synchronous times becomes. The reference to the international time standard UTC is necessary so that the SDSe of redundant PESs are identical. Regarding one preferably low implementation effort, it is particularly cheap, the same UTC synchronous times to use the fragmented transmission of the PAE memory begins with the first section.
Vorgang des Neuaufsetzens: Im regulären Betrieb einer redundanten Konfiguration von PES-Einheiten überprüft jedes PES seine eigene Verarbeitung, indem es seinen eigenen SDS mit denen der der redundanten Einheiten vergleicht. Dabei betrachtet ein PES seine eigene interne Verarbeitung als fehlerbehaftet, sobald sein eigener SDS von dem durch Mehrheitsentscheid gewonnenen SDS abweicht. Wird ein Verarbeitungsfehler erkannt, so tritt das fehlerbehaftete PES aus dem Betrieb der redundanten Konfiguration aus und veranlasst seinen eigenen Neustart. Fortan ist der SDS dieses PES bis zum Wiedereintritt in den redundanten Betrieb als fehlerhaft (bzw. ungültig) markiert.process of re-instalation: in regular operation a redundant configuration of PES units, each PES checks its own processing, by having its own SDS with those of the redundant units compares. A PES considers its own internal processing as faulty once its own SDS by majority vote derived SDS deviates. If a processing error is detected, then occurs the faulty PES from the operation of the redundant configuration and initiates its own reboot. From now on, the SDS is this PES until re-entry into redundant operation as faulty (or invalid) marked.
Nach
dem Neustart einer PES-Einheit, welcher nicht nur durch das Erkennen
eines Verarbeitungsfehlers sondern auch durch Austausch einer PES-Einheit
veranlasst werden kann, beginnt der Vorgang des Neuaufsetzens im
laufenden Betrieb. Dabei wertet das neu gestartete PES die SDS der
redundanten PESe aus, um seinen internen Zustand anzugleichen. Der
Vorgang des Neuaufsetzens kann in zwei Phasen eingeteilt werden,
nachfolgend mit Phase I und II referenziert.
Phase I beginnt mit dem ersten Verarbeitungsintervall nach dem Neustart eines PESs. Die Phase dauert genau nZyklenUTC Übertragungszyklen, d.h. so viele Übertragungszyklen, wie beim gestückelten Transfer des PAE-Speichers zur vollständigen übertragung des Speicherinhalts notwendig sind. Nach Abschluss von Phase I ermöglicht die fortlaufende Übertragung der aktuellen ADM, Zustandsgleichheit der PAE-Speicher gegen Ende eines jeden Übertragungszyklusses zu erhalten.Phase I begins with the first processing interval after restarting a PES. The phase lasts exactly n cycleUTC transfer cycles , ie as many transfer cycles as are required in the case of fragmented transfer of the PAE memory for the complete transfer of the memory contents. Upon completion of Phase I, the ongoing transmission of the current ADM allows to obtain state equality of the PAE memory towards the end of each transmission cycle.
Phase II dauert an, bis die PVE ebenfalls am Ende eines Verarbeitungsintervalls Zustandsgleichheit erreicht. Dies ist der Fall, wenn seit dem Neustart wenigstens einer der UTC-synchronen Zeitpunkte, zu denen allen Altersvariablen der Wert '0' zugewiesen wird, aufgetreten ist und die sendenden PESe alle aktuellen RPMen via SDS übertragen haben, worüber ein spezielles Wiedereinstiegssignal informiert (Das Wiedereinstiegssignal wird gesendet, indem das Wiedereinstiegsbit, welches am Ende eines jeden SDS Übertragungszyklusses gesendet wird, gesetzt wird). Tritt ein Wiedereinstiegssignal innerhalb von Phase II auf, so ist die Angleichung des Systemzustandes abgeschlossen, und das neu gestartete PES kann mit Beginn des nächsten Verarbeitungsintervalls wieder in den Betrieb der redundanten Konfiguration einsteigen. Nur unter der Voraussetzung, dass wenigstens einer der UTC-synchronen Zeitpunkte, zu denen allen Altersvariablen der Wert '0' zugewiesen wird, seit dem Neustart aufgetreten ist, gewährleistet das Auftreten des Wiedereinstiegssignals, dass der Inhalt der Prozessliste vollständig angeglichen wurde.phase II continues until the PVE is also at the end of a processing interval Equality of state achieved. This is the case if at least since the reboot one of the UTC synchronous times, which includes all age variables the value '0' is assigned, has occurred and the sending PESe all current RPMs via Transfer SDS have, over what informs a special reentry signal (The reentry signal is sent by the reentry bit, which is at the end of a every SDS transfer cycle is sent, is set). Occurs a reentry signal within Phase II, the system state alignment is complete, and the restarted PES can begin at the beginning of the next processing interval re-enter the operation of the redundant configuration. Only on condition that at least one of the UTC synchronous Time points to which all age variables are assigned the value '0' since the reboot occurred, guaranteed the appearance of the reentry signal that the contents of the process list Completely was adjusted.
Bei dem in Abschnitt 1.2 beschriebenen System wird bereits während der SPA ein Prozessabschnitt ausgeführt. Dabei kann der parallel zur SPA ausgeführte Rechenprozess zwar den Inhalt der Prozessliste verändern, die Änderungen werden jedoch zunächst in speziellen Registern zwischengespeichert und erst im folgenden Verarbeitungsintervall in die Prozessliste eingefügt. Diese programmgesteuerten Modifikationen der Prozessliste müssen berücksichtigt werden; entweder durch zusätzlichen Aufwand bei der Bestimmung der ältesten RPMen oder, indem das Wiedereinstiegssignal nur ausgesendet wird, wenn der soeben ausgeführte Prozessabschnitt weder einen Rechenprozess suspendiert noch die Fortführung eines suspendierten Rechenprozesses veranlasst noch Ausführungsparameter der Rechenprozesse verändert hat.at The system described in section 1.2 is already being used during the SPA a process section executed. Although the arithmetic process carried out in parallel with the SPA can do the same Change the contents of the process list, The changes however, will be first cached in special registers and only in the following Processing interval inserted in the process list. These program-controlled modifications of the process list must be considered become; either by additional effort in determining the oldest RPMs or by only sending out the reentry signal, if the just performed Process section neither suspends a computational process nor the continuation of a suspended computation process still causes execution parameters of Arithmetic processes changed Has.
Optimierung der Effizienz: Von entscheidender Bedeutung sind die für Echtzeitsysteme relevanten Leistungsdaten, die mit dem beschriebenen Verfahren zum Neuaufsetzen im laufenden Betrieb erreicht werden können. Neben der zur Verfügung stehenden Rechenleistung gehört hierzu auch die minimal erreichbare Antwortzeit. Diese Leistungsdaten hängen nicht nur von der zur Verfügung stehenden Übertragungsbandbreite ab, sandern auch von der Dauer eines Übertragungszyklusses und den Zeitanteilen, die zur Übertragung eines PAE-Speicher-Teilstücks, zur Übertragung der aktuellen ADM und zur Übertragung der ältesten RPMen genutzt werden. Die minimal erreichbare Reaktionszeit hängt direkt von der Zykluszeit des Systems ab. Daher ist eine möglichst kurze Zykluszeit wünschenswert.Optimization of efficiency: The performance data relevant for real-time systems, which can be achieved with the described procedure for re-instalation during operation, are of crucial importance. In addition to the available computing power, this also includes the minimum achievable response time. These performance data not only depend on the available transmission bandwidth, but also on the duration of a transmission cycle and the timescale used to transmit a PAE memory patch, transmit the current ADM and Transmission of the oldest RPMs can be used. The minimum achievable response time depends directly on the cycle time of the system. Therefore, the shortest possible cycle time is desirable.
Wie
aus
- • dem Zeitanteil tSPA zur Durchführung der sequenziellen Prozessadministration,
- • dem Zeitanteil δV zur Bestimmung der ältesten RPMen,
- • dem Zeitanteil tRPM zur Übertragung der ältesten RPMen,
- • dem Zeitanteil tADM zur Übertragung der aktuellen ADM,
- • dem Zeitanteil tIDW zur Übertragung der Identifikatoren des auszuführenden Prozessabschnitts und des nächsten Prozessabschnitts des zuletzt ausgeführten Rechenprozesses sowie des Wiedereinstiegsbits, und aus
- • der Toleranzpause tTol
- The time share t SPA for carrying out the sequential process administration,
- The time fraction δ V for determining the oldest RPMs,
- The time component t RPM for transmission of the oldest RPMs,
- The time share t ADM for transmitting the current ADM,
- The time share t IDW for transmitting the identifiers of the process section to be executed and the next process section of the last executed computing process and the re-entry bit, and off
- • the tolerance break t Tol
Demgegenüber kann tIDW nur durch eine höhere Bandbreite verkürzt werden. Da die Prozessabschnittsidentifikatoren nur wenige Datenbits umfassen, ist tIDW im Vergleich zu tSPA und tADM vernachlässigbar kurz.In contrast, t IDW can only be shortened by a higher bandwidth. Since the process section identifiers comprise only a few bits of data, t IDW is negligibly short compared to t SPA and t ADM .
tADM hängt sowohl von der Übertragungsbandbreite als auch von der in einem Prozessabschnitt zulässigen Anzahl an Schreibzugriffen auf den PAE-Speicher ab. Diese Anzahl muss in einem sinnvollen Zusammenhang mit der in einem Prozessabschnitt ausführbaren Anzahl an Prozessorbefehlen stehen. Das bedeutet, je feiner die Granularität der in Prozessabschnitte eingeteilten Anwendungs-Software, d.h. je kürzer die Prozessabschnitte, desto geringer kann die Anzahl der in einem Zyklus zulässigen Schreibzugriffe – und damit verbunden der zu übertragenen ADM – ausfallen. Diese Aussage gilt allerdings nur in erster Näherung. Je länger die Prozessabschnitte sind, desto weniger Zwischenergebnisse müssen in den regulären PAE-Speicher abgelegt werden, da mehr Berechnungen vollständig in einem Abschnitt abgeschlossen werden können. Eine zu feine Granularität vergrößert daher den PAE-Speicherbereich, der beim Neuaufsetzen im laufenden Betrieb berücksichtigt werden muss, und vergrößert somit den Übertragungsaufwand insgesamt. Bei gleichbleibender Übertragungsbandbreite bedeutet dies, dass eine Verkürzung der Prozessabschnitte eine überproportional höhere Anzahl an Prozessabschnitten zur Folge haben kann. D.h., ein Rechenprozess, der ursprünglich in 50 Abschnitte eingeteilt worden ist, könnte bei Halbierung der Abschnittsgröße in wesentlich mehr als 100 Abschnitte eingeteilt werden. Daher ist bei der Wahl der Granularität der Anwendungs-Software ein Kompromiss zwischen einer möglichst hohen Rechenleistung und einer möglichst kurzen Zykluszeit zu finden.t ADM depends on both the transmission bandwidth and the number of write accesses to the PAE memory allowed in a process section. This number must be logically related to the number of processor instructions that can be executed in a process section. This means that the finer the granularity of the application software subdivided in process sections, ie the shorter the process sections, the lower the number of write accesses permitted in one cycle - and thus the ADM to be transmitted - can be omitted. However, this statement only applies in a first approximation. The longer the process sections, the fewer intermediate results must be placed in the regular PAE memory, since more calculations can be completed completely in one section. Too fine a granularity therefore increases the PAE memory area, which must be taken into account when re-installing during operation, and thus increases the overall transmission costs. With a constant transmission bandwidth, this means that a shortening of the process sections can result in a disproportionately higher number of process sections. That is, a calculation process that was originally divided into 50 sections could be divided into substantially more than 100 sections if the section size was halved. Therefore, when choosing the granularity of the application software, a compromise between the highest possible computing power and the shortest possible cycle time can be found.
Die Dauer tRPM hängt von der in einem Zyklus übertragenen Anzahl nUeberDW ältester Datenworte der Prozessliste ab. Diese Anzahl ist zwar prinzipiell frei wählbar, legt jedoch die Häufigkeit fest, mit der Änderungen an den in der Prozessliste gespeicherten Daten maximal auftreten dürfen, damit das Eintreten der Situation, dass die sendenden PESe alle aktuellen RPMen via SDS übertragen haben, garantiert ist. Somit muss die Anzahl nUeberDW anhand der gewünschten Leistungsdaten des PESs, wie z. B. maximale Anzahl verwalteter Rechenprozesse oder minimale geforderte Antwortzeit, festgelegt werden. Auf Grund der altersorientierten Übertragungstechnik ist allerdings ausschließlich die (mittlere) Frequenz von RPM-Übertragungen entscheidend, nicht die Anzahl nUeberDW der in einem Zyklus übertragenen RPMen. Das bedeutet, wird die Zykluszeit halbiert, so kann näherungsweise auch die Anzahl nUeberDW halbiert werden.The duration t RPM depends on the number n over Dew of oldest data words of the process list transferred in one cycle. Although this number is freely selectable in principle, it specifies the maximum frequency with which changes to the data stored in the process list may occur so that the occurrence of the situation in which the sending PESs have transmitted all current RPMs via SDS is guaranteed. Thus, the number n over DW must be calculated on the basis of the desired performance data of the PES, such. As maximum number of managed computing processes or minimum required response time can be set. However, due to the age-oriented transmission technique, only the (average) frequency of RPM transmissions is critical, not the number n over DW of the RPMs transmitted in one cycle. This means that if the cycle time is halved, then the number n over DW can also be halved approximately.
Die Dauer tPAE-Teilstck hängt von der Größe des in einem Zyklus übertragenen PAE-Speicherteilstücks ab. Diese kann prinzipiell bis hin zu einem einzelnen PAE-Datenbit pro Zyklus reduziert werden. Hierdurch würde lediglich die Dauer von Phase I des Neuaufsetzens erhöht. Da mit der Übertragung der ältesten RPMen aber erst nach Abschluss der SPA begonnen werden kann, kann die Größe eines Teilstücks so gewählt werden, dass tPAE-Teilstck = tSPA + δV.The duration t PAE slice depends on the size of the PAE memory slice transferred in one cycle. This can in principle be reduced down to a single PAE data bit per cycle. This would only increase the duration of Phase I of the relaunch. Since the transmission of the oldest RPMs can only be started after the completion of the SPA, the size of a segment can be chosen such that t PAE part = t SPA + δ V.
Anhand der vorangegangenen Betrachtungen wird ersichtlich, dass durch eine Minimierung der Zeitanteile tSPA, δV, tIDW und tTol sowohl die Zykluszeit reduziert als auch die Rechenleistung des Echtzeitsystems optimiert werden kann. Die Toleranzpause tTol kann nur verkürzt werden, indem die PESe mit präziseren UTC-synchronisierten Uhren ausgestattet werden. Die Zeit tIDW, die zur Übertragung der Identifikatoren des auszuführenden Prozessabschnitts und des nächsten Prozessabschnitts des zuletzt ausgeführten Rechenprozesses benötigt wird, kann nur durch eine höhere Bandbreite des Übertragungsmediums verkürzt werden. Um die Sequenzielle Prozess-Administration zu verkürzen, d.h. tSPA zu minimieren, wurde bereits ein spezielles Schaltungskonzept entwickelt. Dieses wird als 'Einheit zur Verwaltung von Echtzeitprozessen ohne asynchrone Unterbrechungen' bezeichnet.It can be seen from the above considerations that by minimizing the time components t SPA , δ V , t IDW and t Tol both the cycle time can be reduced and the computing power of the real-time system can be optimized. The t Tol tolerance break can only be shortened by equipping the PESs with more accurate UTC synchronized clocks. The time t IDW , which is required to transmit the identifiers of the process section to be executed and the next process section of the last executed computing process, can only be shortened by a higher bandwidth of the transmission medium. In order to shorten the sequential process administration, ie to minimize t SPA , a special circuit concept has already been developed. This is referred to as a unit for managing real-time processes without asynchronous sub refractions'.
Weiteres Optimieren der Leistungsmerkmale des Echtzeitsystems ist durch Beschleunigung der Bestimmung der ältesten Datenwörter, d.h. durch Minimieren von δV, möglich.Further optimizing the performance characteristics of the real-time system is possible by speeding up the determination of the oldest data words, ie by minimizing δ V.
2 Problem2 problem
Im Idealfall kann auf die ältesten Datenwörter der Prozessliste unmittelbar nach Abschluss der Sequenziellen Prozess-Administration (SPA), d.h. im ersten darauf folgenden Taktzyklus, zugegriffen werden. Hierfür müsste δV = 0 sein. Diese verzögerungsfreie Bestimmung der ältesten Datenwörter ist allerdings problematisch, da bis zum Abschluss der SPA Änderungen an den Datenwörtern der Prozessliste vorgenommen werden können. Bisher existiert kein zufriedenstellendes Konzept, welches
- • die nUeberDW ältesten Datenwörter der Prozessliste nahezu verzögerungsfrei (d.h. δV ≈ 0) bestimmt,
- • sich mit dem in Abschnitt 1.2 beschriebenen Konzept eines sicherheitsgerichteten Echtzeit-PESs effizient vereinen lässt, und
- • mit einem akzeptablen Aufwand realisiert werden kann.
- • the n overDW oldest data words of the process list are determined almost instantaneously (ie δ V ≈ 0),
- • Can be efficiently combined with the concept of a safety-oriented real-time PES described in Section 1.2, and
- • can be realized with an acceptable cost.
3 Lösung3 solution
Aufgabe der vorliegenden Erfindung ist es, eine Menge an Datenwörtern bereits während ihrer sequenziellen Bereitstellung nach Altersklassen zu sortieren und somit bereits zwei Taktzyklen nach der Bereitstellung des letzten Datenwortes deren nach Altersklassen sortierte, sequenzielle Ausgabe zu ermöglichen. Die Datenwörter werden hierzu jeweils gepaart mit einem dein Datenwort zugeordneten Alterswert und synchron zu einem Takt T bereit gestellt.task The present invention is to already have a lot of data words while their sequential deployment by age group and thus already two clock cycles after the provision of the last one Data word whose sequential output sorted by age group to enable. The data words are each paired with a data word assigned to you Age value and synchronous to a clock T provided.
Dabei löst die Erfindung die in Abschnitt 2 beschriebene Problematik durch ein Schaltungskonzept mit den in den Patentansprüchen 1 bis 3 aufgeführten Merkmalen. Dieses Schaltungskonzept ermöglicht die in den nachfolgenden Abschnitten 3.1 und 3.2 beschriebene Arbeitsweise und bietet so ein vertretbares Optimum aus erreichter Verzögerung δV und gerätetechnischem Aufwand.The invention solves the problem described in section 2 by a circuit concept with the features listed in the claims 1 to 3. This circuit concept allows the operation described in the following sections 3.1 and 3.2 and thus provides an acceptable optimum from the achieved delay δ V and equipment expense.
3.1 Verwaltung der Altersvariablen3.1 Management of age variables
Im
Rahmen der SPA liest die PVE alle Datenworte der Prozessliste nacheinander,
nach Rechenprozessen geordnet aus und führt sie der Prozesszustandssteuerung
(PZS) zu. Die PZS nutzt die so zugeführten Parametersätze der
einzelnen Rechenprozesse, um mit Hilfe einer Logikschaltung für jeden Rechenprozess
einen neuen Parametersatz zu bestimmen. Dieser wird anschließend wieder
in der Prozessliste abgelegt.
Nachfolgend werden die Datenworte der Prozessliste (PL) mit PL-Datenwort bezeichnet; die Adresse, unter der ein PL-Datenwort in der PL abgelegt ist, wird mit PL-Adresse bezeichnet. Die PL speichert für jeden der nRP verwalteten Rechenprozesse einen Parametersatz bestehend aus nPS PL-Datenworten. Dementsprechend sind in der PL genau nDW = nRP·nPS PL-Datenwörter abgelegt.Hereinafter, the data words of the process list (PL) will be referred to as PL data word; the address under which a PL data word is stored in the PL is called the PL address. The PL stores a parameter set consisting of n PS PL data words for each of the n RP- managed computing processes. Accordingly, exactly n DW = n RP * n PS PL data words are stored in the PL.
Die
Verwaltung der Altersvariableu wird durch das im rechten Teil von
Das Steuerwerk überträgt erst nPS PL-Datenworte an das Eingangsregister der PZS, bevor das erste aktualisierte PL-Datenwort aus dem Ausgangsregister der PZS wieder ausgelesen wird. Aus diesem Grund eilen die an die PZS übergebenen PL-Datenworte stets den aus der PZS ausgelesenen um nPS vor. Durch die FIFO-Speicherstruktur SFIFO wird diese Tatsache berücksichtigt, so dass Wertänderungen der PL-Datenworte durch einen einfachen Vergleich detektiert werden können. Die FIFO-Speicherstruktur SFIFO besitzt nPS Speicherstufen. Jedesmal, wenn das Steuerwerk die Übertragung eines PL-Datenwortes an die PZS veranlasst, wird das übertragene PL-Datenwort ebenfalls in SFIFO abgelegt. Jedesmal, wenn das Steuerwerk die Übertragung eines aktualisierten PL-Datenwortes von der PZS an die PL veranlasst, wird eines der in SFIFO abgelegten PL-Datenworte ausgelesen. Das so von SFIFO ausgegebene PL-Datenwort ist dem PL-Datenwort zugeordnet, das soeben in der PL abgelegt wurde, d.h., die beiden PL-Datenworte gehören ein und demselben Parameter eines Recheuprozesses an. Somit kann durch eine einfache Vergleichslogik V1 festgestellt werden, ob der Parameter geändert worden ist. Wird eine Änderung festgestellt, so wird der 2-auf-1-Multiplexer M1 so angesteuert, dass er den Alterswert '0' weiterleitet, welcher an seinem Eingang 1 konstant angelegt ist. Andernfalls leitet der Multiplexer M1 den an Eingang 0 anliegenden Alterswert weiter. Der Multiplexer M1 leitet den an Eingang 1 angelegten konstanten Alterswert '0' auch in dem Fall weiter, dass das aktuelle Verarbeitungsintervall das erste nach einem der UTC-synchronen Zeitpunkte ist, zu denen die Altersvariablen aller PL-Datenworte der Prozessliste auf '0' gesetzt werden sollen. Dies wird durch ein Oder-Gatter mit zwei Eingängen veranlasst, dessen Ausgang an den Steuereingang des Multiplexers M1 angelegt ist. An den ersten Eingang des Oder-Gatters ist das Ausgangssignal der Vergleichslogik V1 angeschlossen, an den zweiten Eingang ein vom Steuerwerk generiertes Signal, welches während des ersten Zyklusses nach einem der beschriebenen UTC-synchronen Zeitpunkte den logischen Wert '1' annimmt.The control unit transmits only n PS PL data words to the input register of the PZS before the first updated PL data word is read out again from the output register of the PZS. For this reason, the PL data words transferred to the PZS always hurry in front of the PS read out of the PZS. This fact is taken into account by the FIFO memory structure S FIFO , so that value changes of the PL data words can be detected by a simple comparison. The FIFO memory structure S FIFO has n PS memory stages. Each time the control unit causes the transmission of a PL data word to the PZS, the transmitted PL data word is also stored in S FIFO . Each time the control unit initiates the transmission of an updated PL data word from the PZS to the PL, one of the PL data words stored in S FIFO is read out. The thus outputted from S FIFO PL data word is associated with the PL data word that has just been stored in the PL, ie, the two PL data words belong to one and the same parameter of a Recheuprozesses. Thus it can be determined by a simple comparison logic V 1 , whether the parameter has been changed. If a change is detected, then the 2-to-1 multiplexer M 1 is controlled so that it forwards the age value '0', which is constant at its input 1. Otherwise, the multiplexer M 1 forwards the age value applied to input 0. The multiplexer M 1 forwards the constant age value '0' applied to input 1 also in the case that the current processing interval is the first one after one of the UTC synchronous times at which the age variables of all PL data words of the process list are set to '0'. should be set. This is caused by an OR gate with two inputs whose output is applied to the control input of the multiplexer M 1 . At the first input of the OR gate, the output of the comparison logic V 1 is connected to the second input a generated by the control unit signal, which assumes the logical value '1' during the first cycle after one of the described UTC synchronous times.
Die vom Steuerwerk generierte PL-Adresse, die bereits zum Speichern der von der PZS aktualisierten PL-Datenwörter in die PL verwendet wird, wird gleichzeitig zum Auslesen der dem PL-Datenwort zugehörigen Altersvariable genutzt. Die so ausgelesene Altersvariable wird einer Logikschaltung L1 zugeführt, die sie – sofern deren Wert kleiner als (AVmax – 1) ist – um eins inkrementiert und an den Eingang 0 des 2-auf-1-Multimplexers M1 weiterleitet. Andernfalls, d.h. wenn die Altersvariable größer oder gleich (AVmax – 1) ist, leitet L1 die Altersvariable unverändert an diesen Eingang von M1 weiter. Der Multiplexer M1 leitet wahlweise den von der Logikschaltung L1 ausgegebenen Alterswert oder den konstanten Alterswert '0' weiter. Der Ausgang des Multiplexers ist mit dem Eingang des Hilfsregisters HR3 verbunden. Darüber hinaus wird der Ausgang des Multiplexers M1 der zweiten Zugriffsschnittstelle des Speicherblocks SA zugeführt. Als Adresswert wird dieser Zugriffsschnittstelle der durch ein Hilfsregister HR1 um einen halben Takt verzögerte Adresswert angelegt, der bereits zum Auslesen der Altersvariablen über die Zugriffsschnittstelle 1 dient.The control unit generated PL address, which is already used to store the PL data words updated by the PZS into the PL, is simultaneously used to read out the age variable associated with the PL data word. The age variable thus read out is fed to a logic circuit L 1 , which - provided that its value is smaller than (AV max - 1) - increments by one and forwards it to the input 0 of the 2-to-1 multimplexer M 1 . Otherwise, ie if the age variable is greater than or equal to (AV max - 1), L 1 passes the age variable unchanged to this input of M 1 . The multiplexer M 1 optionally passes on the age value output by the logic circuit L 1 or the constant age value '0'. The output of the multiplexer is connected to the input of the auxiliary register HR 3 . In addition, the output of the multiplexer M 1 of the second access interface of the memory block S A is supplied. As an address value of this access interface is applied by an auxiliary register HR 1 delayed by half a clock address value, which already serves to read the age variable via the access interface 1.
Das Schaltungskonzept der EVA ist in der Lage, während der SPA den jeweils aktuellen Alterswert eines PL-Datenwortes mit einer Verzögerung von nur einem halben Taktzyklus zu bestimmen. Alle Schaltungskomponenten der PVE und der EVA verwenden ein gemeinsames Taktsignal T. Um das zeitliche Zusammenspiel von PVE und EVA zu erläutern, soll zunächst auf das Laden der Eingangsregister und das Auslesen der Ausgangsregister der PZS vertieft eingegangen werden.
- • Übertragung der PL-Datenwörter von der PL zum Eingangsregister der PZS Um ein PL-Datenwort von der PL zum Eingangsregister der PZS zu übertragen, gibt das Steuerwerk der PVE zunächst die dem PL-Datenwort zugeordnete PL-Adresse bei einer Taktflanke von T aus. Die PPV nutzt diese PL-Adresse, um auf die PL zuzugreifen, und gibt bei der nächsten Taktflanke von T das zugehörige PL-Datenwort aus. Die PZS nutzt ebenfalls die PL-Adresse, um eine weitere Taktflanke von T später das PL-Datenwort in die zugehörigen Speicherstellen des Eingangsregisters zu übernehmen. Gleichzeitig übernimmt die SFIFO das PL-Datenwort. Durch die beschriebene Synchronisation anhand der Taktflanken werden Signallaufzeiten berücksichtigt. (Anmerkung: Um mit jedem Taktzyklus ein PL-Datenwort von der PPV an die PZS zu übertragen zu können, wird die PL-Adresse in der PZS für einen halben Taktzyklus zwischengespeichert. Das Steuerwerk braucht beim PL-Datenworttransfer von PPV zu PZS die PL-Adresse somit nur für die Dauer eines Taktzyklusses auszugeben.) Nachdem der Parametersatz eines Rechenprozesses vollständig an das Eingangsregister der PZS übergeben worden ist, bestimmt die PZS den aktualisierten Parametersatz des Rechenprozesses und legt diesen im Ausgangsregister ab. Dies geschieht innerhalb eines Taktzyklusses, so dass nach einer Verzögerung von nur einem Taktzyklus mit der Übertragung des Parametersatzes des nächsten Rechenprozesses begonnen werden kann. Um die Dauer der SPA zu reduzieren, wird das Eingangsregister der PZS bereits mit dem Parametersatz des nächsten Rechenprozesses geladen, während die aktualisierten PL-Datenwörter des vorigen Rechenprozesses aus dem Ausgangsregister der PZS ausgelesen werden.
- • Übertragung der aktualisierten PL-Datenwörter von dem Ausgangsregister der PZS zur PL Um ein aktualisiertes PL-Datenwort vom Ausgangsregister der PZS zur PL zu übertragen, gibt das Steuerwerk der PVE zunächst die dem PL-Datenwort zugeordnete PL-Adresse bei einer Taktflanke von T aus. Diese Taktflanke wird nachfolgend mit TFl.a bezeichnet. Die PZS nutzt diese PL-Adresse, um die entsprechenden Datenbits des Ausgangsregisters zu adressieren, und gibt bei der nächsten Taktflanke TFl.b das zugehörige PL-Datenwort aus. Die PPV nutzt ebenfalls die PL-Adresse, um eine weitere Taktflanke später (TFl.c) schließlich das aktualisierte PL-Datenwort in der zugeordneten Speicherstelle der PL abzulegen. (Anmerkung: Um mit jedem Taktzyklus ein PL-Datenwort von der PZS an die PPV übertragen zu können, wird die PL-Adresse in der PPV für einen halben Taktzyklus zwischengespeichert. Das Steuerwerk braucht beim PL-Datenworttransfer von PZS zu PPV die PL-Adresse somit nur für die Dauer eines Taktzyklusses auszugeben.)
- • Transmission of the PL data words from the PL to the input register of the PZS In order to transmit a PL data word from the PL to the input register of the PZS, the control unit of the PVE first outputs the PL address associated with the PL data word at a clock edge of T. The PPV uses this PL address to access the PL and, at the next clock edge of T, outputs the associated PL data word. The PZS also uses the PL address to take a further clock edge of T later the PL data word into the associated memory locations of the input register. At the same time, the S FIFO takes over the PL data word. Due to the described synchronization based on the clock edges signal propagation times are taken into account. (Note: In order to be able to transfer a PL data word from the PPV to the PZS with each clock cycle, the PL address is temporarily stored in the PZS for half a clock cycle. Thus, the address is only output for the duration of one clock cycle.) After the parameter set of a computation process has been completely transferred to the input register of the PZS, the PZS determines the updated parameter set of the computation process and stores it in the output register. This is done within a clock cycle, so that after a delay of only one clock cycle with the transmission of the parameter set of the next computational process can be started. To reduce the duration of the SPA, the input register of the PZS is already loaded with the parameter set of the next computation process, while the updated PL data words of the previous computation process are read from the output register of the PZS.
- • Transmission of the updated PL data words from the output register of the PZS to the PL In order to transmit an updated PL data word from the output register of the PZS to the PL, the control unit of the PVE first outputs the PL address associated with the PL data word at a clock edge of T. , This clock edge is referred to below as T Fl.a. The PZS uses this PL address to address the corresponding data bits of the output register and outputs the associated PL data word at the next clock edge T Fl.b. The PPV also uses the PL address to eventually place the updated PL data word in the associated memory location of PL one more clock edge later (T Fl.c ). (Note: In order to be able to transfer a PL data word from the PZS to the PPV with each clock cycle, the PL address in the PPV is buffered for half a clock cycle.The control unit needs the PL address during PL data word transfer from PZS to PPV thus only for the duration of one clock cycle.)
Jedesmal, wenn das Steuerwerk der PVE eine neue PL-Adresse zur Übertragung der von der PZS aktualisierten PL-Datenwörter zur PL bei der Taktflanke TFl.a ausgibt, wird in der EVA folgende Verarbeitung iniziiert:
- • Die PL-Adresse wird zur Adressierung des Altersvariablenspeichers SA verwendet, welcher bei der folgenden Taktflanke TFl.b die zugehörige Altersvariable ausgibt.
- • Gleichzeitig wird durch die Taktflanke TFl.b die temporäre Speicherung der PL-Adresse in dem Hilfsregister HR1 veranlasst.
- • Darüber hinaus gibt die FIFO-Speicherstruktur SFIFO bei der Taktflanke TFl.b einen der gespeicherten Werte aus.
- • Anhand des von SA ausgegebenen Alterswertes, des von SFIFO ausgegebenen PL-Datenwortes und des vom Ausgangsregister der PZS (ebenfalls bei der Taktflanke TFl.b) ausgegebenen PL-Datenwortes bestimmen die Vergleichslogik V1, die Logikschaltung L1 und der Multiplexer M1 einen neuen Alterswert.
- • Dieser wird nun bei der folgenden Taktflanke TFl.c in SA gespeichert, und zwar unter der Adresse, aus der zuvor die ursprüngliche Altersvariable ausgelesen wurde. Hierzu dient die in HR1 zwischengespeicherte PL-Adresse.
- • Darüber hinaus übernehmen die Hilfsregister HR3 und HR2 bei der Taktflanke TFl.c den neuen Alterswert bzw. das zugehörige ETS-Datenwort, welches aus den aneinandergefügten Datenbits des PL-Datenwortes und dessen PL-Adresse besteht.
- • The PL address is used to address the age variable memory S A , which outputs the associated age variable at the following clock edge T Fl.b.
- At the same time, the temporary storage of the PL address in the auxiliary register HR 1 is initiated by the clock edge T Fl.b.
- In addition, the FIFO memory structure S FIFO outputs one of the stored values at the clock edge T Fl.b.
- On the basis of the age value output by S A , the PL data word output by S FIFO and the PL data word output by the output register of the PZS (also at the clock edge T Fl.b ), the comparison logic V 1 , the logic circuit L 1 and the multiplexer determine M 1 a new age value.
- • This is now stored at the next clock edge T Fl.c in S A , and at the address from which the original age variable was previously read out. The PL address cached in HR 1 is used for this purpose.
- In addition, the auxiliary registers HR 3 and HR 2 take over at the clock edge T Fl.c the new age value or the associated ETS data word, which consists of the joined data bits of the PL data word and its PL address.
Während der SPA stellen die Hilfsregister HR2 und HR3 somit die sequenziell verarbeiteten ETS-Datenworte und die zugehörigen Alterswerte bereit. Das nachfolgend beschriebene Schaltungskonzept verarbeitet die sequenziell bereitgestellten Daten und gibt anschließend, d.h. nach Abschluss der SPA, nahezu verzögerungsfrei die zugeführten ETS-Datenworte nach Altersklassen sortiert nacheinander aus.During the SPA, the auxiliary registers HR 2 and HR 3 thus provide the sequentially processed ETS data words and the associated age values. The circuit concept described below processes the data provided sequentially and then outputs the supplied ETS data words sorted by age group, one after the other, almost without delay, ie after completion of the SPA.
Bei dem in Abschnitt 1.1 beschriebenen Verfahren zum Kopieren der PL via SDS müssen die Altersvariablen, deren PL-Datenwörter in den SDS eingefügt werden, auf '0' zurück gesetzt werden. Dies geschieht mit Hilfe der Multiplexer M2 und M3. Zunächst leiten diese – wie bisher beschrieben – die von Hilfsregister HR1 um einen halben Takt verzögerte PL-Adresse bzw. den am Ausgang des Multiplexers M1 ausgegebenen Adresswert weiter (Phase A). Einen Taktzyklus nach Abschluss der SPA schalten die Multiplexer M2 und M3 jedoch um und leiten die von einer mit ETS-Ausleselogik (EAL) bezeichneten Einheit übergebenen 'ausgelesene PL-Adressen' bzw. den Alterswert '0' weiter (Phase B).In the procedure for copying the PL via SDS described in section 1.1, the age variables whose PL data words are inserted in the SDS must be reset to '0'. This is done with the help of the multiplexer M 2 and M 3 . First, these - as described so far - forward the PL address delayed by auxiliary register HR 1 by half a clock or the address value output at the output of multiplexer M 1 (phase A). One clock cycle after completion of the SPA, however, the multiplexers M 2 and M 3 switch over and pass on the 'read PL addresses' passed on by a unit designated by ETS (EAL) or the age value '0' (phase B).
3.2 Sortierung nach Altersklassen und sequenzielle Ausgabe3.2 Sorting by age group and sequential output
Das
in
Um den Schaltungsaufwand zu minimieren, ist der zulässige Wertebereich der Altersvariablen in nAK Altersklassen eingeteilt. Die Nummer einer jeden Altersklasse wird durch WAK Binärstellen repräsentiert, d.h. die Klasse der jüngsten Alterswerte besitzt die Nummer 0, die Klasse der ältesten Alterswerte die Nummer ( – 1). Die Zuordnung eines Alterswertes zu einer Altersklasse ergibt sich aus den WAK höherwertigen Binärstellen der Altersvariable. Eine Ausnahme bildet der maximal darstellbare Wert AVmax, der keiner Altersklasse zugeordnet ist. Bei der Umwandlung der Alterswerte in Altersklassennummern wird stets ein zusätzliches Informationsbit generiert; handelt es sich bei dem ursprünglichen Alterswert um AVmax, so wird dieses Bit auf logisch '1' gesetzt; bei allen anderen Alterswerten wird ihm der Wert logisch '0' zugewiesen. Das bedeutet, der Wert AVmax wird schaltungstechnisch berücksichtigt, indem jeder Altersklassennummer ein zusätzliches Informationsbit zugeordnet ist, welches bei ungültigen Altersklassennummern den Wert logisch '1' besitzt.In order to minimize the circuit complexity, the permissible value range of the age variables is divided into n AK age classes. The number of each age group is represented by W AK binary digits, ie the class of the most recent age values has the number 0, the class of the oldest age values the number ( - 1). The assignment of an age value to an age group results from the W AK higher-order binary digits of the age variable. An exception is the maximum representable value AV max , which is not assigned to any age group. When converting the age values into age-class numbers, an additional informational bit is always generated; if the original age value is AV max , this bit is set to logical '1'; for all other age values, the value is given a logical '0'. This means that the value AV max is taken into account in terms of circuitry, in that each age class number is assigned an additional information bit which has the value logical '1' for invalid age class numbers.
Um das Verständnis zu erleichtern, wird dieses Informationsbit in den nachfolgenden Erklärungen nicht separat behandelt. Stattdessen werden die Altersklassennummern in den nachfolgenden Beschreibungen und Abbildungen als Zweierkomplementzahl aufgefasst, die WAK + 1 Binärstellen umfasst. Die höchstwertige Binärstelle wird durch das beschriebene Informationsbit gebildet, die anderen Binärstellen entsprechen den WAK höherwertigen Binärstellen der ursprüngliche Altersvariable. Dem Alterswert AVmax wird somit die Altersklassennummer '–1' als Zweierkomplementzahl zugeordnet; bei allen anderen Alterswerten entspricht der dezimale Wert der zugeordneten Zweierkomplementzahl der Nummer der zugehörigen Altersklasse.To facilitate understanding, this information bit is not dealt with separately in the following explanations. Instead, the age class numbers in the following descriptions and figures are interpreted as a two's complement number which includes W AK + 1 binary digits. The most significant binary position is formed by the information bit described, the other binary points correspond to the W AK high-order binary digits of the original age variable. The age value AV max is thus assigned the age class number '-1' as a two's complement number; for all other ages, the decimal value of the associated two's complement number corresponds to the number of the associated age group.
Um die Arbeitsweise des Schaltungskonzeptes nachvollziehbar beschreiben zu können, werden nachfolgend die wesentlichen Eigenschaften der oben genannten Schaltungskomponenten beschrieben. Detailliert wird der Aufbau der Komponenten später in Abschnitt 5.1 beschrieben.
- • Zeiger-Register-Einheit
Die
ZRE enthält
für jede
Altersklasse je einen Registersatz. Jeder Registersatz umfasst je
ein Register zur Speicherung eines Aktuellen Adresszeigers (AAZ),
eines Vorherigen Adresszeigers (VAZ) und eines Informationsbits
Altersklasse Aufgetreten (IAA). Darüber hinaus beinhaltet die ZRE
einen ETS-Adresszähler
(EAZ). Nachfolgend bezeichnet EAZ den Zählerstand. Der AAZ und der
VAZ zeigen jeweils auf eine Adresse der ETS.
Das IAA zeigt
an, ob die dem Registersatz zugeordnete Altersklasse in der zuvor
verarbeiteten Sequenz an Altersvariablen aufgetreten ist. Eine aus
Multiplexern bestehende, digitale Logikschaltung bestimmt anhand
der IAA aller Registersätze für jeden
Registersatz die Nummer der nächst niedrigeren
Altersklasse (NNA). NNA zeigt auf die nächst niedrigere Altersklasse,
die in der zuvor verarbeiteten Sequenz an Altersvariablen aufgetreten
ist. Ist keine niedrigere Altersklasse aufgetreten, so besitzt NNA
den Wert '–1'. Dementsprechend
ist NNA des Registersatzes der niedriegsten Altersklasse stets '–1', da keine niedrigere Altersklasse existiert.
Aus Gründen
der Übersichtlichkeit
wird in den
7 bis10 die ZRE ohne die binären Register zur Speicherung der IAA dargestellt. Stattdessen zeigen die Abbildungen die anhand der IAA für jeden Registersatz bestimmte Nummer der nächst niedrigeren Altersklasse (NNA). Anhand der IAA aller Registersätze wird zudem die Nummer der höchsten aufgetretenen Alters klasse (HAA) bestimmt. HAA zeigt bei Abschluss der SPA die höchste Altersklasse an, die in der verarbeiteten Sequenz an Altersvariablen auftrat. In den7 bis10 ist HAA in der ZRE dargestellt. - • Einheit zur temporären Speicherung (ETS) Die ETS besteht im wesentlichen aus zwei Speicherbausteinen mit jeweils zwei voneinander unabhängigen Zugriffsschnittstellen. Über eine Zugriffsschnittstelle kann die ZRE schreibend zugreifen, über die andere die EAL lesend. Die ETS speichert jeweils einen ETS-Adresszeiger und ein ETS-Datenwort unter einer gemeinsamen Adresse – bezeichnet mit ETS-Speicheradresse – ab. Die Größe des Adressbereichs der ETS entspricht wenigstens der Größe des Adressbereichs der PL plus der Anzahl an Altersklassen minus eins (nDW + nAK – 1).
- • ETS-Ausleselogik (EAL) Die ETS-Ausleselogik liest die in der ETS temporär gespeicherten ETS-Datenworte nach Altersklassen sortiert aus. Die am Ausgang bereit gestellten Daten können direkt in den SDS zur Übertragung der ältesten RPM eingefügt werden.
- • Pointer register unit The ZRE contains a register file for each age group. Each register set includes one register each for storing a current address pointer (AAZ), a previous address pointer (VAZ), and an age-related occurrence (IAA) information bit. In addition, the ZRE includes an ETS address counter (EAZ). Subsequently, EAZ refers to the meter reading. The AAZ and the VAZ each point to an address of the ETS. The IAA indicates whether the age group associated with the register set has occurred in the previously processed sequence of age variables. A multiplexer digital logic circuit determines the number of the next lower age group (NNA) for each register set based on the IAA of all register sets. NNA points to the next lower age group that occurred in the previously processed sequence of age variables. If no lower age group has occurred, NNA has the value '-1'. Accordingly, NNA of the lowest age register set is always '-1' because there is no lower age group. For the sake of clarity, in the
7 to10 the ZRE is represented without the binary registers storing the IAA. Instead, the figures show the number of the next lower age group (NNA) determined for each register set by the IAA. Based on the IAA of all register records, the number of the highest age group (HAA) has also been determined. At the conclusion of the SPA, HAA indicates the highest age group that appeared in the processed sequence of age variables. In the7 to10 HAA is represented in the ZRE. - • Temporary Storage Unit (ETS) The ETS consists essentially of two memory modules, each with two independent access interfaces. The ZRE can write access via one access interface, while reading the EAL via the other. The ETS stores in each case an ETS address pointer and an ETS data word at a common address - denoted by ETS memory address. The size of the address range of the ETS corresponds at least to the size of the address range of the PL plus the number of age groups minus one (n DW + n AK -1).
- • ETS readout logic (EAL) The ETS readout logic reads the ETS data words temporarily stored in the ETS sorted by age group. The data provided at the output can be inserted directly into the SDS for transmission of the oldest RPM.
Phase
A: Zu Beginn von Phase A, d.h. zu Beginn eines jeden Verarbeitungsintervalls
(bzw. Übertragungsintervalls),
wird der AAZ eines jeden Registersatzes der ZRE mit der Nummer der
dem Registersatz zugeordneten Altersklasse initialisiert und die IAA
werden auf logisch '0' zurückgesetzt.
Letzteres bewirkt, dass sich sowohl für die NAA eines jeden Registersatzes
als auch für
die HAA der Wert '–1' ergibt. Gleichzeitig
wird der EAZ auf die um eins inkrementierte Nummer der höchsten Altersklasse
gesetzt (nAK + 1). Diese Situation ist in
In Phase A arbeiten die ZRE und die ETS wie folgt. Wie in Abschnitt 3.1 beschrieben, stellt die EVA während der SPA an ihren Ausgängen stets das aktuell verarbeitete ETS-Datenwort sowie den zugehörigen Alterswert bereit. Eine kombinatorische Logikschaltung bestimmt aus dem Alterswert unmittelbar die Altersklassennummer. Diese Altersklassennummer dient zur Auswahl des Registersatzes, dessen aktueller AAZ mit Hilfe eines Multiplexerbausteins an den Ausgang ETS-Speicheradresse geleitet wird. Der EAZ wird ebenfalls von der ZRE ausgegeben, und zwar am Ausgang ETS-Adresszeiger.In Phase A, the ZRE and the ETS operate as follows. As in section 3.1, the EVA will always put at their outputs during the SPA the currently processed ETS data word and the associated age value ready. A combinatorial logic circuit determines from the age value immediately the age class number. This age class number serves to select the register set, its current AAZ with the help of a Multiplexer to the output ETS memory address passed becomes. The EAZ is also issued by the ZRE on the Output ETS address pointer.
Mit der nächsten Taktflanke, d.h. einen halben Taktzyklus nachdem das aktuelle ETS-Datenwort von der EVA bereitgestellt wurde, werden im ausgewählten Registersatz der ZRE der aktuelle AAZ als neuer VAZ und der aktuelle EAZ als neuer AAZ übernommen. Darüber hinaus wird das IAA des ausgewählten Registersatzes gesetzt. Da die Register zur Speicherung von AAZ, VAZ und IAA ein retardiertes Ausgabeverhalten besitzen, werden die Änderungen allerdings erst einen weiteren halben Taktzyklus später an deren Ausgängen wirksam. Zu diesem Zeitpunkt wird darüber hinaus der EAZ um eins inkrementiert.With the next Clock edge, i. half a clock cycle after the current ETS data word provided by the EVA will be in the selected register set the ZRE the current AAZ as new VAZ and the current EAZ as new AAZ taken over. About that In addition, the IAA will be selected Register set set. Because the registers store AAZ, VAZ and IAA have a delayed output behavior, the changes are however, only another half clock cycle later at their outputs effective. In addition, the EAZ will be incremented by one at this point.
Parallel zu dieser Verarbeitung, d.h. ebenfalls einen halben Taktzyklus nachdem das aktuelle ETS-Datenwort von der EVA bereitgestellt wurde, speichert die ETS unter der Adresse, auf die die von der ZRE ausgegebene ETS-Speicheradresse zeigt, das aktuelle ETS-Datenwort und den von der ZRE ausgegebenen ETS-Adresszeiger.Parallel to this processing, i. also half a clock cycle after the current ETS data word provided by the EVA, the ETS stores at the address to which the ETS memory address issued by the ZRE points, the current ETS data word and the ETS address pointer output by the ZRE.
Die
Phase
B: Einen Taktzyklus, nachdem die SPA abgeschlossen wurde, d.h. einen
Taktzyklus, nachdem das letzte PL-Datenwort von der EVA bereitgestellt
wurde, wird zur Phase B übergegangen,
in der die zuletzt in der ETS gespeicherten ETS-Adresszeiger ersetzt
werden. Hierzu werden mit dem durch HAA indizierten Registersatz
beginnend all die Registersätze
der ZRE, deren Altersklasse in der zuvor verarbeiteten Sequenz an
ETS-Datenworten aufgetreten ist, nacheinander in abnehmender Reihenfolge
abgearbeitet. Dabei wird jeweils mit dem gespeicherten VAZ die Speicherzelle
von ETS adressiert, deren ETS-Zeigerwert durch den Wert von NNA ersetzt
wird.
Bereits
einen Taktzyklus nach Beginn von Phase B kann die EAL die in der
ETS gespeicherten ETS-Datenworte
nacheinander – nach
Altersklassen geordnet, beginnend mit der höchsten (ältesten) Altersklasse – auslesen.
Hierzu greift die EAL lesend über
die jeweils zweite Zugriffsschnittstelle der beiden Speicherbausteine
der ETS auf deren gespeicherte Daten zu. Die Nummer der höchsten auftretenden
Altersklasse (HAA) kennzeichnet die Adresse eines der ältesten
ETS-Datenworte, d.h. eines ETS-Datenwortes der höchsten Altersklasse. Diese Adresse
wird zuerst ausgelesen. Das ausgelesene ETS-Datenwort, welches sich
aus einem PL-Datenwort und dessen PL-Adresse zusammensetzt, kann direkt
dem SDS zugefügt
werden. Der ausgelesene ETS-Adresszeiger dient zur Adressierung
beim nächsten
lesenden Zugriff auf die Speicherbausteine der ETS. Dementsprechend
würde die
EAL bei dem in
In Phase B werden durch das Ersetzen der ETS-Adresszeiger die in der ETS abgelegten ETS-Datenwörter quasi zu einer Kette verbunden. Die EAL muss mit dem Auslesen der ETS allerdings nicht warten, bis das Ersetzen abgeschlossen ist. Da mit Beginn von Phase A an mit jedem Taktzylus ein ETS-Adresszeiger ersetzt wird, die EAL jedoch erst einen Taktzyklus nach Beginn von Phase B beginnt, mit jedem Taktzyklus ein ETS-Datenwort auszulesen, ist stets gewährleistet, dass eine gegebenenfalls notwendige Ersetzung bereits durchgeführt worden ist, bevor die EAL auf die zugehörige Adresse zugreift.In Phase B is replaced by replacing the ETS address pointers in the ETS stored ETS data words almost connected to a chain. The EAL must with the read out of the ETS, however, do not wait for the replacement to complete. Since with the beginning of phase A on with each Taktzylus an ETS address pointer replaced, but the EAL only one clock cycle after the beginning of Phase B begins to read an ETS data word with each clock cycle always ensured any necessary replacement has already been carried out is before the EAL on the associated Address accesses.
4 Erreichte Vorteile4 Achieved benefits
Mittels der in den Patentansprüchen 1 bis 3 aufgeführten Merkmale minimiert die Erfindung die Verzögerung δV, die sich bei herkömmlichen Verfahren bei der Bestimmung der nUeberDW ältesten Datenworte im Anschluss an die SPA ergibt, bevor die nach Alterklassen sortierte Ausgabe beginnen kann. Wie in Abschnitt 1.3 diskutiert, können durch die Minimierung von δV die Leistungsmerkmale des Echtzeitsystems optimiert werden. Die verbleibende Verzögerung δV beträgt weniger als drei Verarbeitungstakte. Da dieser Wert – im Vergleich zu den traditionellen software-basierten Sortierungsverfahren – als vernachlässigbar klein angesehen werden kann, wurde in der Bezeichung der Erfindung die Formulierung 'nahezu verzögerungsfrei' gewählt.By means of the features set forth in claims 1 to 3, the invention minimizes the delay δ V which results in the determination of the n overDW oldest data words following the SPA in conventional methods before the output sorted by age classes can begin. As discussed in Section 1.3, minimizing δ V can optimize the performance of the real-time system. The remaining delay δ V is less than three processing cycles. Since this value - compared to the traditional software-based sorting method - can be regarded as negligible, in the name of the invention, the formulation 'almost delay-free' was chosen.
5 Ausführungsbeispiel5 embodiment
Im Folgenden wird ein Ausführungsbeispiel der Erfindung näher beschrieben.in the Below is an embodiment of the Invention closer described.
5.1 Aufbau der Schaltungskomponenten5.1 Structure of the circuit components
Nachdem im vorangegangenen Abschnitt die Arbeitsweise des Schaltungskonzepts beschrieben wurde, wird in diesem Abschnitt detailliert auf den schaltungstechnischen Aufbau der Zeiger-Register-Einheit (ZRE), der Einheit zur temporären Speicherung (ETS) und der ETS-Ausleselogik (EAL) eingegangen.After this in the previous section the operation of the circuit concept is described in detail in this section on the Circuit design of the Pointer Register Unit (ZRE), the unit for temporary storage (ETS) and the ETS readout logic (EAL).
5.1.1 Steuersignale5.1.1 Control signals
Um
die nachfolgenden Erklärungen
möglichst
verständlich
gestalten zu können,
werden zunächst
einige Steuersignale erläutert.
Die hier genannten Ausrichtungen der Steuersignale (logisch '1'/'0'; positive/negative
Taktflanke) beziehen sich auf die nachfolgenden Beschreibungen;
die schaltungstechnische Realisierung der Steuersignale kann auch
invertiert arbeiten. Die Steuersignale werden zumeist vom Steuerwerk
der PVE bereit gestellt, teilweise aber auch von den verwendenden
Schaltungsteilen selbst generiert.
Alle Schaltungskomponenten verwenden das gemeinsame Taktsignal T. Als Beginn eines Taktzyklusses wird die positive Taktflanke von T betrachtet. Der Beginn eines Verarbeitungsintervalls fällt stets mit einer positiven Taktflanke von T zusammen.All circuit components use the common clock signal T. As the beginning of a clock cycle, the positive clock edge of T is considered. The beginning of a processing interval falls always with a positive clock edge of T together.
Das
Impulssignal SIntervallbeginn signalisiert
den Beginn eines Verarbeitungsintervalls (bzw. Übertragungszyklusses). Wie
aus
5.1.2 Zeiger-Register Einheit5.1.2 Pointer Register unit
Der ETS-Adresszähler: Der ETS-Adresszähler (EAZ) besteht aus einer gewöhnlichen digitalen Zählerschaltung. Der Zähler besitzt wenigstens so viele Binärstellen, dass er den Zahlenbereich von nAK bis (nDW + nAK – 1) dual darstellen kann. Ist das Eingangssignal SIntervallbeginn bei einer negativen Taktflanke von T logisch '1', so wird – unabhängig vom Eingangssignal SNeuesDatenwort – der Zähler auf den Wert nAK gesetzt. Wenn bei einer negativen Taktflanke von T das Signal SNeuesDatenwort logisch '1' ist und SIntervallbeginn logisch '0', wird der Zähler um eins inkrementiert. Wurde der Zählerstand bei einer negativen Taktflanke von T geändert, so wird der neue Zählerstand erst bei der nächsten positiven Taktflanke von T ausgegeben (retardiertes Ausgabeverhalten).The ETS address counter: The ETS address counter (EAZ) consists of a common digital counter circuit. The counter has at least as many binary digits that it can represent the numerical range from n AK to (n DW + n AK - 1) dual. If the input signal S beginning of interval at a negative clock edge of T is logic '1', the counter is set to the value n AK , regardless of the input signal S New data word . If, on a negative clock edge of T, the S new data word signal is logic '1' and S interval start logic '0', the counter is incremented by one. If the count was changed on a negative clock edge of T, the new counter reading will not be output until the next positive clock edge of T (delayed output behavior).
Der ausgegebene Zählerstand besitzt das Format eines ETS-Adresszeigers. Ein ETS-Adresszeiger besteht aus dem eigentlichen Adresswert und einem Informationsbit, welches nur bei gültigen Adresszeigern den Wert logisch '0' besitzt. Ein ETS-Adresszeiger ist gültig, wenn der zugehörige Adresswert auf eine vorhandene Speicheradresse der ETS hinweist. Der Adresswert umfasst wenigstens WEAW = ⌈log2(nDW + nAK – 1)⌉ Binärstellen. Um die Erklärungen möglichst übersichtlich zu gestalten, wird das Informationsbit im nachfolgenden Text nicht gesondert behandelt. Stattdessen werden die ETS-Adresszeiger im nachfolgenden Text als Zweierkomplemtzahl mit WEAW + 1 Binärstellen aufgefasst. Die höchstwertige Binärstelle wird durch das Informationsbit gebildet, die anderen Binärstellen entsprechen den WEAW höherwertigen Binärstellen des Adresswertes, d.h. der eigentliche Adresswert und das Informationsbit werden zu einer Zweierkomplementzahl verschmolzen. Ungültige ETS-Adresszeiger werden somit durch negative Adresswerte, z. B. '–1', repräsentiert.The output meter reading has the format of an ETS address pointer. An ETS address pointer consists of the actual address value and an information bit which has the value logical '0' only for valid address pointers. An ETS address pointer is valid if the associated address value indicates an existing memory address of the ETS. The address value comprises at least W EAW = ⌈ log 2 (n DW + n AK -1) ⌉ binary digits. In order to make the explanations as clear as possible, the information bit in the following text is not treated separately. Instead, the ETS address pointers in the following text are construed as a two's complement with W EAW + 1 binary digits. The most significant binary position is formed by the information bit, the other binary points correspond to the W EAW higher-order binary digits of the address value, ie the actual address value and the information bit are merged to a two's complement number. Invalid ETS address pointers are thus affected by negative address values, e.g. B. '-1' represented.
Die Konvertierungslogik: Die Konvertierungslogik (K1) wandelt die von der EVA an die ZRE übergebenen Alterswerte in Altersklassennummern um. Wie in Abschnitt 3.2 beschrieben, werden die Altersklassennummern durch eine Zweierkomplementzahl mit WAK + 1 Binärstellen dargestellt. Bei der Umwandlung der Alterswerte 0 bis (AVmax – 1) wird die jeweilige Altersklassennummer aus den WAK höchstwertigen Binärstellen des dual kodierten Alterswertes zuzüglich einer vorangestellten binären '0' gebildet. Der Alterswert AVmax wird in die Altersklassennummer '–1' überführt, d.h. alle Binärstellen der Zweierkomplementzahl werden auf logisch '1' gesetzt.The Conversion Logic: The conversion logic (K 1 ) converts the age values passed from the EVA to the ZRE into age class numbers. As described in section 3.2, the age class numbers are represented by a two's complement number with W AK + 1 binary digits. When converting the age values 0 to (AV max - 1), the respective age class number is formed from the W AK most significant binary digits of the dual coded age value plus a leading binary '0'. The age value AV max is transferred to the age class number '-1', ie all binary digits of the two's complement number are set to logical '1'.
Die
kaskadierten Registersätze:
Die ZRE besitzt je einen Registersatz für jede der nAK Altersklassen.
Jedem Registersatz ist eine Alterklassennummer i zugeordnet, wobei
0 ≤ i ≤ (nAK – 1).
Im nachfolgenden Text sowie in
- • eine Zugriffslogik Zi,
- • je ein Register zur Speicherung eines Aktuellen Adresszeigers (AAZi), eines Vorherigen Adresszeigers (VAZi) und eines Informationsbits Altersklasse Aufgetreten (IAAi)
- • sowie drei Multiplexer M4.i, M5.i und M6.i.
- An access logic Z i ,
- • one register each for storing a current address pointer (AAZ i ), a previous address pointer (VAZ i ) and an information bit age group Occurrence (IAA i )
- • as well as three multiplexers M 4.i , M 5.i and M 6.i.
Die Zugriffslogik Zi beinhaltet eine kombinatorische Logik zur Überprüfung von zwei Altersklassennummern auf Äquivalenz. Dieser Logik wird sowohl die von der Konvertierungslogik K1 ausgegebene Altersklassennummer als auch die Altersklassennummer i des Registersatzes zugeführt. Bei Gleichheit gibt die Logik den Wert logisch '1' aus; anderfalls ist dessen Ausgangssignal logisch '0'. Dieses binäre Signal wird mit dem Signal SNeuesDatenwort logisch Und-verknüpft, bevor es an den Ausgang der Zugriffslogik weitergeleitet wird. Das binäre Ausgangssignal der Zugriffslogik Zi ist somit nur logisch '1', wenn der von der EVA an die ZRE übergebene Alterswert der dem Registersatz zugeordneten Altersklasse angehört und gleichzeitig das Impulssignal SNeuesDatenwort logisch '1' ist.The access logic Z i includes a combinatorial logic for checking two age class numbers for equivalence. This logic is supplied both the age class number output by the conversion logic K 1 and the age class number i of the register set. If equal, the logic outputs the value logical '1'; otherwise, its output signal is logic '0'. This binary signal is logically ANDed with the signal S NewDataWord before it is passed to the output of the access logic. The binary output signal of the access logic Z i is thus only logical '1' if the age value transmitted by the EVA to the ZRE belongs to the age group assigned to the register set and at the same time the pulse signal S new data word is logical '1'.
Die Register AAZi, VAZi und IAAi besitzen jeweils vier Eingänge und einen Ausgang mit den Bezeichnungen Dateneingang (DE), Datenausgang (DA), Speichern (Sp), Vorgabewert (VW) und Rücksetzen (R). Besitzt Sp während einer negativen Taktflanke von T den Wert logisch '1', so übernimmt das Register den an DE anliegenden Wert. Wenn R während einer negativen Taktflanke von T auf logisch '1' gesetzt ist, so übernimmt das Register in jedem Fall, d.h. auch wenn an Sp ebenfalls logisch '1' angelegt ist, den an VW anliegender Wert. Wird der Registerinhalt von AAZi, VAZi oder IAAi bei einer negativen Taktflanke von T geändert, so wird der neue Inhalt erst bei der nächsten positiven Taktflanke von T am Ausgang DA ausgegeben (retardiertes Ausgabeverhalten).The registers AAZ i , VAZ i and IAA i each have four inputs and one output with the names data input (DE), data output (DA), store (Sp), default value (VW) and reset (R). If Sp has the value logical '1' during a negative clock edge of T, the register adopts the value applied to DE. If R is set to logical '1' during a negative clock edge of T, the register assumes the value applied to VW in any case, ie even if logic '1' is also applied to Sp. If the register contents of AAZ i , VAZ i or IAA i are changed on a negative clock edge of T, the new content will not be output until the next positive clock edge of T at output DA (delayed output behavior).
Das Register AAZi dient zur Speicherung von ETS-Adresszeigern und umfasst daher WEAW Binärstellen (Ein zusätzliches Informationbit, dass die Gültigkeit des ETS-Adresswerts anzeigt, muss nicht abgespeichert werden, da die übergebenen Werte stets gültig sind.). An seinem Eingang VW ist die dem Registersatz zugeordnete Altersklassennummer i angeschlossen, an den Eingang R das Signal SIntervallbeginn Dementsprechend werden zu Beginn eines jeden Verarbeitungsintervalls alle Register AAZi auf die jeweilig zugeordnete Alterklassennummber i gesetzt. Am Eingang DE liegt EAZ an und an den Eingang Sp ist das binäre Ausgangssignal der Zugriffslogik Zi angeschlossen. Folglich übernimmt das Register AAZi zum Zeitpunkt einer negativen Taktflanke von T den EAZ, wenn zu diesem Zeitpunkt der von der EVA an die ZRE übergebene Alterswert der dem Registersatz i zugeordneten Altersklasse angehört und SNeuesDatenwort den Wert logisch '1' besitzt.The register AAZ i is used to store ETS address pointers and therefore includes W EAW binary digits (An additional information bit indicating the validity of the ETS address value does not have to be stored since the values transferred are always valid.). At its input VW, the age group number i associated with the register set is connected, and at the input R the signal S Interval beginning. Accordingly, at the beginning of each processing interval , all registers AAZ i are set to the respective assigned age class number i. EAZ is present at the input DE and the binary output signal of the access logic Z i is connected to the input Sp. Consequently, at the time of a negative clock edge of T, the register AAZ i adopts the EAZ, if at this time the age value transmitted by the EVA to the ZRE belongs to the age group assigned to the register set i and S new data word has the value logical '1'.
Das
Register VAZi dient ebenfalls zur Speicherung
von ETS-Adresswerten und umfasst daher auch WEAW Binärstellen
(Ein zusätzliches
Informationbit, dass die Gültigkeit
des ETS-Adresswerts anzeigt, muss nicht abgespeichert werden, da
die übergebenen
Werte stets gültig
sind.). Da der Registerinhalt zu Intervallbeginn für die weitere
Verarbeitung belanglos sind, ist Eingang VW in
Die in Register IAAi gespeicherte binäre Information zeigt an, ob im aktuellen Verarbeitungsintervall seit dem Rücksetzen auf den Vorgabewert in den Registern AAZi und VAZi des Registersatzes i bereits neue Werte gespeichert wurden, d.h. ob die dem Registersatz zugeordnete Altersklasse in der bisher verarbeiteten Sequenz an ETS-Dateuwörtern bereits aufgetreten ist. An den Registereingang VW ist permanent logisch '0' angelegt, an den Eingang R ist das Signal SIntervallbeginn angeschlossen. Dementsprechend werden zu Beginn eines jeden Verarbeitungsintervalls alle Register IAAi auf logisch '0' zurückgesetzt. Am Eingang DE liegt permanent logisch '1' an und an den Eingang Sp ist das binäre Ausgangssignal der Zugriffslogik Zi angeschlossen. Folglich wird das Register IAAi zum Zeitpunkt einer negativen Taktflanke von T auf den Wert logisch '1' gesetzt, wenn zu diesem Zeitpunkt der von der EVA an die ZRE übergebene Alterswert der dem Registersatz i zugeordneten Altersklasse angehört und SNeuesDatenwort den Wert logisch '1' besitzt.The binary information stored in register IAA i indicates whether new values have already been stored in the registers AAZ i and VAZ i of register set i in the current processing interval since the reset to the default value, ie whether the age group assigned to the register set is in the sequence processed so far has already occurred on ETS file words. To the register input VW is permanent logic '0' applied to the input R signal S is connected interval start. Accordingly, at the beginning of each processing interval, all registers IAA i are reset to logic '0'. Logically '1' is permanently applied to the input DE and the binary output signal of the access logic Z i is connected to the input Sp. Consequently, the register IAA i is set to the logical '1' value at the time of a negative clock edge of T if at this time the age value passed from the EVA to the ZRE belongs to the age group associated with the register set i and S new data word is logical '1 owns.
Der 2-auf-1-Multiplexer M4.i wird so angesteuert, dass während Phase A sein Eingang A und während Phase B sein Eingang B weitergeleitet wird. Während Phase A leitet er den Ausgang DA von AAZi an den Eingang Ii des Ausgabemultiplexers M7 weiter, während Phase B den Ausgang DA von VAZi.The 2-to-1 multiplexer M 4.i is controlled so that its input A is forwarded during phase A and its input B during phase B. During phase A, it passes the output DA of AAZ i to the input I i of the output multiplexer M 7 , while phase B passes the output DA of VAZ i .
An den Steuereingang des 2-auf-1-Multiplexers M6.i eines jeden Registersatzes i ist der Ausgang DA des Registers IAAi angeschlossen. Wenn der Ausgang DA von IAAi logisch '1' ist, leitet M6.i die dem Registersatz zugeordnete Altersklassennummer im Format eines ETS-Adresszeigers weiter. Im anderen Fall leitet der Multiplexer M6.i das an seinem Eingang 0 anliegende Signal weiter. Bei den Registersätzen der Altersklassen 1 bis (nAK – 1) ist an Eingang 0 des Multiplexers M6.i jeweils das Ausgangssignal des Multiplexers M4.i-1, welcher dem Registersatz mit der nächst niedrigeren Altersklassennummer angehört, angeschlossen. Bei dem Registersatz der Altersklasse 0 ist an Eingang 0 des Multiplexers M6.0 die Altersklassennummer '–1' im Format eines ETS-Adresszeigers angelegt. Wie zuvor beschrieben, weist dieser als Zweierkomplement dargestellte Wert auf einen nicht gültigen ETS-Adresszeiger hin.The output DA of the register IAA i is connected to the control input of the 2-to-1 multiplexer M 6.i of each register set i. If the output DA of IAA i is logic '1', M 6.i forwards the age class number associated with the register set in the format of an ETS address pointer . In the other case, the multiplexer M 6.i forwards the signal present at its input 0. Regarding the register sets of the age groups 1 to (n AK -1), the output signal of the multiplexer M 4.i-1 , which belongs to the register set with the next lower age class number, is connected to input 0 of the multiplexer M 6.i. With the register set of age group 0, the age class number '-1' in the format of an ETS address pointer is applied to input 0 of the multiplexer M 6.0 . As previously described, this two's complement value indicates an invalid ETS address pointer.
Diese kaskadierte Verschaltung der Multiplexer M6.i bewirkt, dass jeweils am Eingang 0 der Multiplexer M6.i die Nummer der Nächst Niedrigeren Altersklasse (NNAi) anliegt. NNAi des Registersatzes i zeigt stets die nächst niedrigere Altersklasse an, die seit Intervallbeginn in der bisher verarbeiteten Sequenz an Alterswerten auftrat. Darüber hinaus bewirkt diese kaskadierte Verschaltung, dass am Ausgang des Multiplexers M6.n des Registersatzes der höchsten Altersklasse (nAK – 1) die Nummer der höchsten aufgetretenen Altersklasse (HAA) abgegriffen werden kann. Die HAA wird von der ZRE an die EAL übergeben. Dabei ist zu beachten, dass die übergebene HAA nur nach Abschluss der SPA konstant und daher nur während Phase B gültig ist.This cascaded interconnection of the multiplexer M 6.i causes each of the input 0 of the multiplexer M 6.i the number of the next lower age group (NNA i ) is present. NNA i of the register file i always indicates the next lower age group that has occurred in the previously processed sequence of age values since the beginning of the interval. In addition, this cascaded connection causes the number of the highest age group (HAA) that has occurred at the output of the multiplexer M 6.n of the register set of the highest age group (n AK -1) to be tapped. The HAA is handed over by the ZRE to the EAL. It should be noted that the transferred HAA is only valid after completion of the SPA and therefore only during phase B.
Bei jedem Registersatz wird der am Eingang 0 des Multiplexers M6.i anliegende Wert ebenfalls an einen der beiden Eingänge des Multiplexers M5.i übergeben, so dass die NNAi vom Multiplexer M5.i weitergeleitet werden kann. Der 2-auf-1-Multiplexer M5.i wird so angesteuert, dass während Phase A sein Eingang A und während Phase B sein Eingang B weitergeleitet wird. Während Phase A leitet er den EAZ an den Eingang IIi des Ausgabemultiplexers M7 weiter, während Phase B die Nummer der NNA.For each register set, the value applied to the input 0 of the multiplexer M 6.i is likewise transferred to one of the two inputs of the multiplexer M 5.i , so that the NNA i can be forwarded by the multiplexer M 5.i. The 2-to-1 multiplexer M 5.i is controlled so that its input A is forwarded during phase A and its input B during phase B. During phase A, it passes the EAZ to the input II i of the output multiplexer M 7 , while phase B forwards the number of the NNA.
Der Ausgabemultiplexer: Der Ausgabemultiplexer M7 besitzt nAK + 1 Eingangspaare bestehend jeweils aus einem Eingang Ii und einem Eingang IIi. Jedem Eingangspaar ist eine Altersklassennummer i zugeordnet, wobei –1 ≤ i ≤ n = (nAK – 1). Der Steuereingang besitzt das Format einer Altersklassennummer, d.h. an ihm wird eine Zahl in Zweierkomplementdarstellung im Zahlenbereich –1 ≤ i ≤ n angelegt. Der Ausgabemultiplexer leitet stets die beiden Eingänge des Eingangspaares an seine beiden Ausgänge I und II weiter, dessen zugeordnete Altersklassennummer dem am Steuereingang s anliegenden Wert entspricht.The output multiplexer: The output multiplexer M 7 has n AK + 1 input pairs each consisting of an input I i and an input II i . Each input pair is assigned an age class number i, where -1 ≤ i ≤ n = (n AK -1). The control input has the format of an age class number, ie a number in two's complement representation in the number range -1 ≦ i ≦ n is applied to it. The output multiplexer always forwards the two inputs of the input pair to its two outputs I and II, whose associated age class number corresponds to the value applied to the control input s.
An
den Eingangspaaren mit den Altersklassennummern 0 bis n sind jeweils
die Ausgänge
der Multiplexer M4.i und M5.i angeschlossen,
und zwar so, dass der Ausgang des Multiplexers M4.i mit
dem Eingang Ii von M7 und
der Ausgang von M5.i mit dem Eingang IIi von M7 verbunden
ist. An den Eingang II–1 des Ausgabemultiplexers
M7 ist permanent der Wert '–1' im Format eines ETS-Adresszeigers angelegt,
der auf einen ungültigen
ETS-Adresswert hinweist. Wie in
An den Steuereingang s des Ausgabemultiplexers M7 ist der Ausgang des 2-auf-1-Multiplexers M9 angeschlossen. Dieser Multiplexer wird so angesteuert, dass er während Phase A die von der Konvertierungslogik K1 ausgegebene Altersklassennummer und während Phase B den Ausgang DA des Ersetzungsregisters ER an den Steuereingang s von M7 weiterleitet.To the control input s of the output multiplexer M 7 , the output of the 2-to-1 multiplexer M 9 is connected. This multiplexer is controlled so that during phase A it passes the age class number output by the conversion logic K 1 and, during phase B, the output DA of the replacement register ER to the control input s of M 7 .
Die Ersetzungslogik Die Ersetzungslogik (EL) koordiniert das in Abschnitt 3.2 beschriebene Ersetzen der ETS-Adresszeiger, wodurch die in der ETS abgelegten ETS-Datenwörter quasi zu einer Kette verbunden werden. Kernstück der EL ist das Ersetzungsregister ER. Während des Vorgangs des Ersetzens der ETS-Adresszeiger werden die aus den Registersätzen ausgelesenen NNAi im Ersetzungsregister ER für einen Taktzyklus gespeichert.The Replacement Logic The Replacement Logic (EL) coordinates the replacement of the ETS address pointers described in Section 3.2, effectively connecting the ETS data words stored in the ETS into a chain. The core of the EL is the replacement register ER. During the process of replacing the ETS address pointer read out of the register sets NNA i are stored in the replacement register ER for one clock cycle.
Das Ersetzungsregister ER speichert Altersklassennummern im Zahlenbereich –1 ≤ i ≤ n, d.h. die ungültige Altersklassennummer '–1', erkennbar durch den logischen Wert '1' des zugeordneten Informationsbits, kann ebenfalls gespeichert werden, Es besitzt vier Eingänge und einen Ausgang mit den Bezeichnungen Dateneingang (DE), Datenausgang (DA), Speichern (Sp), Vorgabewert (VW) und Rücksetzen (R). Besitzt Sp während einer negativen Taktflanke von T den Wert logisch '1', so übernimmt das Register den an DE anliegenden Wert. Ist R während einer negativen Taktflanke auf logisch '1' gesetzt, so übernimmt das Register in jedem Fall, d.h. auch wenn an Sp ebenfalls logisch '1' angelegt ist, den an VW anliegenden Wert. Wird der Registerinhalt bei einer negativen Taktflanke von T geändert, so wird der neue Inhalt erst bei der nächsten positiven Taktflanke von T am Ausgang DA ausgegeben (retardiertes Ausgabeverhalten).The Substitution register ER stores age class numbers in the number range -1 ≤ i ≤ n, i. the invalid age class number '-1', recognizable by the logical value '1' of the associated information bit, can also be stored, It has four inputs and an output with the names Data input (DE), Data output (DA), Save (Sp), default value (VW) and reset (R). Owns Sp during one negative clock edge of T the value logical '1', so takes over the register the value attached to DE. Is R during a negative clock edge set to logical '1', so takes over the register in each case, i. even if logically '1' is also applied to Sp, the one adjacent to VW Value. If the register contents on a negative clock edge of T changed, so the new content is not until the next positive clock edge of T output at output DA (delayed output behavior).
Am Eingang VW von ER ist der konstante Wert '–1' (entspricht ungültiger Altersklassennummer) angeschlossen, an den Eingang R das Signal SIntervallbeginn, Dementsprechend wird zu Beginn eines jeden Verarbeitungsintervalls in ER die Altersklassennummer '–1' abgelegt. Der Eingang Sp ist konstant auf logisch '1' gelegt. Somit übernimmt ER bei jeder negativen Taktflanke von T den am Eingang DE anliegenden Wert, vorausgesetzt am Eingang R liegt zu diesem Zeitpunkt nicht ebenfalls logisch '1' an.At input VW of ER the constant value '-1' (equivalent invalid age class number) is connected, at the input R the signal S Interval start , accordingly at the beginning of each processing interval in ER the age class number '-1' is stored. The input Sp is constantly set to logic '1'. Thus, ER takes over the value present at the input DE at every negative clock edge of T, provided that at the input R logic '1' is not present at this time as well.
Der Ausgang DA von ER ist an einen Eingang des 2-auf-1-Multiplexers M9 angeschlossen. Darüber hinaus ist der Ausgang DA an eine Logikschaltung angeschlossen, die den ausgegebenen Wert mit der von der Konvertierungslogik K1 bereitsgestellten Altersklassennummer vergleicht und den größeren der beiden Werte an den Multiplexer M8 weiterleitet. M8 leitet diesen Wert während Phase A an den Eingang DE von ER weiter. Diese Beschaltung bewirkt, dass während Phase A in ER stets die Nummer der in der bisher verarbeiteten Sequenz an Alterswerten höchsten auftretenden Altersklasse gespeichert wird. Im ersten Taktzyklus nach Beginn von Phase B entspricht die am Ausgang DA von ER ausgegebene Altersklassennummer der HAA, welche am Ausgang von M4.n während der gesamten Phase B anliegt.The output DA of ER is connected to one input of the 2-to-1 multiplexer M 9 . In addition, the output DA is connected to a logic circuit which compares the output value with the age class number provided by the conversion logic K 1 and forwards the larger of the two values to the multiplexer M 8 . M 8 forwards this value during phase A to the input DE of ER. This wiring ensures that during phase A in ER the number of the highest age group in the previously processed sequence of age values is always stored. In the first clock cycle after the start of Phase B, the retirement class number output by ER at the output DA corresponds to the HAA present at the output of M 4.n during the entire phase B.
Während Phase B leitet der Multiplexer M9 die von ER ausgegebene Altersklassennummer an den Steuereingang von M7 weiter. Zur gleichen Zeit leitet der Multiplexer M8 die über Ausgang II des Ausgabemultiplexers M7 ausgelesenen NNAi an den Eingang DE von ER weiter. Zuvor müssen die NNAi allerdings in das Format einer Altersklassennummer (Zweierkomplementzahl mit der Wortbreite WAK + 1) gewandelt werden, da die über M7 ausgelesenen NNAi das Format von ETS-Adresszeigern (Zweierkomplementzahl mit der Wortbreite WEAW + 1) besitzen. Durch diese Beschaltung von M9 und M10 werden die NNAi all der Registersätze, deren Altersklasse in der zuvor verarbeiteten Sequenz an ETS-Datenworten aufgetreten ist, nacheinander in der Reihenfolge abnehmender Altersklassen ausgelesen und in ER zwischengespeichert: Im ersten Taktzyklus nach Beginn von Phase B wird am Ausgang II von M7 die NNA des Registersatzes der höchsten aufgetretenen Altersklasse ausgegeben. Diese wird von ER übernommen und im zweiten Taktzylus nach Beginn von Phase B ausgegeben. Folglich wird in diesem Taktzyklus am Ausgang II von M7 die NNA des Registersatzes der zweithöchsten aufgetretenen Altersklasse ausgegeben. Diese wird wiederum von ER übernommen und im dritten Taktzylus nach Beginn von Phase B ausgegeben, woraufhin am Ausgang II von M7 die nächst niedrigere NNA ausgegeben wird. Diese Verarbeitung schreitet fort, bis die NNA des Registersatzes der niedrigsten aufgetretenen Altersklasse am Ausgang II von M7 ausgegeben wird. Da diese den Wert '–1' besitzt und am Eingang II–1 von M7 konstant der Wert '–1' anliegt, verharrt das System anschließend bei der Ausgabe von '–1' am Ausgang II von M7, d.h. im Ersetzungsregister ER wird fortan der Wert '–1' gespeichert.During phase B, the multiplexer M 9 forwards the ER class retirement age number to the control input of M 7 . At the same time, the multiplexer M 8 forwards the NNA i read out via output II of the output multiplexer M 7 to the input DE of ER. First, however, the NNA must be converted i in the format of an age class number (two's with the word width W AK + 1) because the NNA read out via M 7 have the format of ETS-address pointers (two's with the word width W EAW + 1) i. Through this wiring of M 9 and M 10 , the NNAs i of all the register sets whose age class in the previously processed sequence become ETS-Da In the first clock cycle after the start of phase B, the NNA of the register record of the highest age group occurring has been output at output II of M 7 . This is taken over by ER and output in the second clock cycle after the beginning of phase B. Consequently, in this clock cycle at the output II of M 7, the NNA of the register set of the second highest age group occurred. This is in turn taken over by ER and output in the third clock cycle after the beginning of phase B, whereupon at output II of M 7 the next lower NNA is output. This processing continues until the NNA register set of the lowest encountered age group is output at the output of M II. 7 Since this value has the value '-1' and the value '-1' is constant at the input II -1 of M 7 , the system subsequently stops at the output II of M 7 when outputting '-1', ie in the replacement register ER henceforth the value '-1' is stored.
Während in Phase B am Ausgang II des Ausgabemultiplexers M7 die NNA des ausgewählten Registersatzes ausgegeben wird, wird an Ausgang I stets die gespeicherte VAZ des gleichen Registersatzes ausgegeben. Die beiden von M7 ausgegebenen Werte werden an die ETS weitergeleitet, um mit dem VAZ die ETS-Speicherzelle zu adressieren, deren ETS-Adresszeiger durch die NNA ersetzt wird.While the NNA of the selected register set is output in phase B at the output II of the output multiplexer M 7 , the stored VAZ of the same register set is always output at output I. The two values output by M 7 are forwarded to the ETS in order to address with the VAZ the ETS memory cell whose ETS address pointer is replaced by the NNA.
5.1.3 Einheit zur temporären Speicherung (ETS)5.1.3 Unit for temporary storage (ETS)
Die ETS besteht im wesentlichen aus zwei Speicherbausteinen SB und SC. Beide Speicherbausteine verfügen jeweils über zwei voneinander unabhängige Zugriffsschnittstellen. Bei beiden Speicherbausteinen wird über eine Schnittstelle – nachfolgend mit Schnittstelle A bezeichnet – ausschließlich schreibend und über die andere Schnittstelle – nachfolgend mit Schnittstelle B bezeichnet – ausschließlich lesend zugegriffen.Essentially, the ETS consists of two memory modules S B and S C. Both memory modules each have two independent access interfaces. In both memory modules via an interface - hereinafter referred to as interface A - exclusively writing and the other interface - hereinafter referred to as interface B - read only read.
Schnittstelle
A ist in
In
Speicherbaustein SB werden die von der EVA übergebenen
ETS-Datenwörter
gespeichert. Dementsprechend ist an seinem Eingang DE der Ausgang
des Hilfsregisters HR2 der EVA angeschlossen.
In Speicherbaustein SC werden die von der
ZRE übergebenen
ETS-Adresszeiger gespeichert. Dementsprechend ist an seinem Eingang
DA der Ausgang II des Ausgabemultiplexers M7 der
ZRE angeschlossen. Bei beiden Speicherbausteinen liegt an den Adresseingang
von Schnittstelle A die von der ZRE übergebene ETS-Speicheradresse
an, d.h. der Eingang Adr ist jeweils mit dem Ausgang I des Ausgabemultiplexers
M7 der ZRE verbunden. An Eingang S der Schnittstelle
A von Speicherbaustein SB liegt während Phase
A der Wert logisch '1' und während Phase
B der Wert logisch '0' an. An Eingang S der
Schnittstelle A von Speicherbaustein SC liegt
der Wert logisch '1' an, wenn die von
der ZRE übergebene
ETS-Speicheradresse – die
das Format eines ETS-Adresszeigers besitzt – gültig ist, andernfalls liegt
der Wert logisch '0' an. Dies ist in
Bei beiden Speicherbausteinen liegt an Eingang L der Schnittstelle A der Wert logisch '1' an, wenn die am Eingang Adr anliegende ETS-Leseadresse – die das Format eines ETS-Adresszeigers besitzt – gültig ist, andernfalls liegt der Wert logisch '0' an. Dementsprechend wird – solange die von der EAL bereitgestellte ETS-Leseadresse gültig ist – bei jeder positiven Taktflanke der am Ausgang DA ausgegebene Wert aktualisiert. Der von Speicherblock SB ausgegebene Wert wird als ETS-Datenwort, der von Speicherblock SC ausgegebene Wert wird als ETS-Adresszeiger an die EAL übergeben.In the case of both memory modules, input L of interface A has the value logic '1' if the ETS read address applied to input Adr - which has the format of an ETS address pointer - is valid, otherwise the value is logic '0'. Accordingly, as long as the ETS read address provided by the EAL is valid, it is updated every positive clock edge of the value output at the output DA. The value output by memory block S B is transferred as ETS data word, the value output by memory block S C is transferred to the EAL as ETS address pointer.
5.1.4 ETS-Ausleselogik (EAL)5.1.4 ETS read-out logic (EAL)
Der
in
Das Verzögerungsregister VR1 verzögert den Signalimpuls, mit dem SSPAabgeschlossen den Abschluss der SPA signalisiert, um einen Taktzyklus. Mit dem verzögerten Signalimpuls, welcher mit Beginn von Phase B beginnt und zwei Taktflanken später endet, wird der Multiplexer M11 angesteuert. Während des Impulses leitet dieser Multiplexer die von der ZRE übergebenen HAA an das Hilfsregister HR4 weiter, im anderen Fall leitet er den von der ETS übergebenen ETS-Adresszeiger weiter. Das Hilfsregister HR4, welches zur Speicherung von ETS-Adresszeigern ausgelegt ist, übernimmt bei jeder negativen Taktflanke von T den anliegenden Wert und gibt ihn unmittelbar aus.The delay register VR 1 delays the signal pulse with which S SPA completes signals completion of the SPA by one clock cycle. With the delayed signal pulse, which begins at the beginning of phase B and ends two clock edges later, the multiplexer M 11 is driven. During the pulse, this multiplexer forwards the HAA passed on by the ZRE to the auxiliary register HR 4 ; in the other case, it forwards the ETS address pointer transferred by the ETS. The auxiliary register HR 4 , which is designed to store ETS address pointers, takes over with each negative Clock edge of T the applied value and outputs it directly.
Dementsprechend übernimmt das Register bei der ersten negativen Taktflanke nach Beginn von Phase B den Wert von HAA und übergibt diesen als neue ETS-Leseadresse an die ETS. Bei allen anderen negativen Taktflanken übernimmt HR4 den von der ETS übergebenen ETS-Adresszeiger und führt ihn als neue ETS-Leseadresse an die ETS zurück.Accordingly, at the first negative clock edge after the start of phase B, the register adopts the value of HAA and transfers this to the ETS as a new ETS read address. For all other negative clock edges, HR 4 adopts the ETS address pointer transferred by the ETS and returns it as a new ETS read address to the ETS.
Auf diese Weise werden die in der ETS gespeicherten ETS-Datenworte nach Altersklassen sortiert sequenziell ausgelesen. Die ausgelesenen ETS-Datenworte werden anschließend wieder in PL-Adresse und PL-Datenwort aufgeteilt. Die PL-Adressen, die zusammen mit den zugehörigen PL-Datenworten in den SDS eingefügt werden, werden an die EVA übergeben. Die EVA nutzt die PL-Adressen, um die zugehörigen Altersvariablen auf '0' zurück zu setzen.On in this way, the ETS data words stored in the ETS become Age groups sorted sequentially. The read out ETS data words will be afterwards again divided into PL address and PL data word. The PL addresses, together with the associated PL data words inserted in the SDS will be handed over to the EVA. The EVA uses the PL addresses to return the associated age variables to '0' to put.
5.1.5 Zusammenspiel von ZRE, ETS und EAL5.1.5 Interaction of ZRE, ETS and EAL
Zusammenfassend kann das Zusammenspiel von ZRE, ETS und EAL wie folgt beschrieben werden.In summary The interaction of ZRE, ETS and EAL can be described as follows.
Zusammenspiel von ZRE und ETS: Während Phase A übergibt die ZRE an die ETS als ETS-Speicheradresse stets den AAZ des Registersatzes, dessen zugehörige Altersklasse den von der EVA bereitgestellten Alterswert einschließt. Gleichzeitig wird der aktuelle Zählerstand des EAZ als ETS-Adresszeiger übergeben. Diese Übergabewerte stehen zur Verfügung, sobald die EVA bei einer positiven Taktflanke von T ein neues ETS-Datenwort zusammen mit dem dazugehörigen Alterswert ausgibt, d.h. es müssen lediglich Signallaufzeiten berücksichtigt werden. Dementsprechend kann die ETS bereits bei der nächsten negativen Taktflanke das aktuelle ETS-Datenwort zusammen mit dem übergebenen ETS-Adresszeiger unter der übergebenen ETS-Speicheradresse speichern. Bei dieser negativen Taktflanke übernehmen die Register der ZRE die jeweils an ihren Eingängen anliegenden Werte und der ETS-Adresszähler wird inkrementiert; die neuen Registerinhalte und der neue EAZ Zählerstand werden allerdings erst bei der darauffolgenden positiven Taktflanke ausgegeben.interaction by ZRE and ETS: during Phase A passes the ZRE to the ETS as ETS memory address always the AAZ of the register set, whose age group belongs to that of the EVA provided age value. At the same time, the current meter reading of the EAZ as ETS address pointer. These transfer values are available to disposal, when the EVA on a positive clock edge of T a new ETS data word along with the associated Age value, i. to have to only signal transit times taken into account become. Accordingly, the ETS may already be negative at the next Cycle edge the current ETS data word together with the transferred ETS address pointer at the handed over Save ETS memory address. Take on this negative clock edge the registers of the ZRE indicate the respective values at their inputs and the ETS address counter becomes incremented; the new register contents and the new EAZ counter reading but only at the subsequent positive clock edge output.
Während Phase B übergibt die ZRE an die ETS als ETS-Speicheradresse nacheinander die VAZ all der Registersätze, deren Altersklasse in der zuvor verarbeiteten Sequenz an ETS-Datenworten aufgetreten ist. Gleichzeitig wird stets die zugehörige NNA als ETS-Adresszeiger an die ETS übergeben. Mit Beginn eines jeden Taktzyklusses wird ein neuer VAZ und dessen zugehöriger NNA übergeben. Dementsprechend kann die ETS bei jeder negativen Taktflanke den übergebenen ETS-Adresszeiger unter der übergebenen ETS-Speicheradresse speichern – vorausgesetzt die ETS-Speicheradresse ist gültig, d.h. größer oder gleich Null. Die VAZ wird in der Reihenfolge abnehmender Altersklassen sequenziell ausgegeben: Im ersten Taktzyklus nach Beginn von Phase B werden der VAZ und die NNA des Registersatzes der höchsten aufgetretenen Altersklasse an die ETS übergeben, im zweiten Taktzyklus werden die VAZ und die NNA des Registersatzes der zweithöchsten aufgetretenen Altersklasse übergeben usw. Nachdem die VAZ und NNA all der Registersätze aufgetretener Altersklassen ausgegeben worden sind, übergibt die ZRE konstant als ETS-Speicheradresse den Wert '–1' an die ETS. Hierdurch wird der ETS angezeigt, dass alle notwendigen Ersetzungen vorgenommen wurden und bis zum Ende von Phase B keine weiteren ETS-Adresszeiger gespeichert (bzw. ersetzt) werden.During phase B passes the ZRE to the ETS as ETS memory address successively the VAZ all the register records, their age group has occurred in the previously processed sequence of ETS data words is. At the same time, the corresponding NNA is always used as the ETS address pointer handed over to the ETS. With At the beginning of each clock cycle, a new VAZ and its associated NNA are transferred. Accordingly, the ETS can pass on each negative clock edge ETS address pointer under the transferred Save ETS memory address - provided the ETS memory address is valid, i.e. bigger or equals zero. The VAZ is in the order of decreasing age groups output sequentially: in the first clock cycle after the beginning of phase B Both the VAZ and the NNA of the Register set become the highest occurred Age group handed over to the ETS, in the second clock cycle, the VAZ and the NNA of the register set become the second highest occurred Pass age group etc. After the VAZ and NNA of all the records of past age groups have been issued, passes the ZRE constant as ETS memory address the value '-1' to the ETS. This will be the ETS indicated that all necessary substitutions have been made and no further ETS address pointers are stored until the end of phase B. (or replaced).
Zusammenspiel von ETS und EAL Die EAL beginnt bereits einen halben Taktzyklus nach Beginn von Phase B, die in der ETS gespeicherten ETS-Datenworte auszulesen. Bei der ersten negativen Taktflanke nach Beginn von Phase B übergibt die EAL die HAA als ETS-Leseadresse an die ETS. Bei der darauf folgenden positiven Taktflanke von T gibt die ETS das unter dieser Adresse gespeicherte ETS-Datenwort und den ETS-Adresszeiger aus. Bei der nächsten negativen Taktflanke von T wertet die EAL das übergebene ETS-Datenwort aus und gibt den ETS-Adresszeiger als neue ETS-Leseadresse zurück an die ETS. Diese wiederum gibt bei der darauf folgenden positiven Taktflanke von T das nächste ETS-Datenwort und den nächsten ETS-Adresszeiger aus. Diese Verarbeitung, bei der bei jeder positiven Taktflanke von T ein neues ETS-Datenwort ausgelesen wird, wird fortgeführt, bis die ETS den Wert '–1' als ETS-Adresszeiger an die EAL übergibt. Dieser ungültige ETS-Adresswert signalisiert, dass das letzte der ETS-Datenworte, deren Alterswert kleiner AVmax ist, ausgelesen worden ist. Bei der darauf folgenden positiven Taktflanke übergibt die EAL die ungültige ETS-Leseadresse '–1'. Folglich wird von da an kein weiteres ETS-Datenwort und kein weiterer ETS-Adresszeiger mehr ausgelesen.Interaction of ETS and EAL The EAL already starts to read the ETS data words stored in the ETS half a clock cycle after the start of phase B. At the first negative clock edge after the beginning of phase B, the EAL passes the HAA as ETS read address to the ETS. On the subsequent positive clock edge of T, the ETS outputs the ETS data word stored under this address and the ETS address pointer. At the next negative clock edge of T, the EAL evaluates the transferred ETS data word and returns the ETS address pointer as a new ETS read address to the ETS. This in turn outputs the next ETS data word and the next ETS address pointer on the next positive clock edge of T. This processing, in which a new ETS data word is read out at each positive clock edge of T, is continued until the ETS transfers the value '-1' as an ETS address pointer to the EAL. This invalid ETS address value signals that the last of the ETS data words whose age value is smaller than AV max has been read out. On the next positive clock edge, the EAL transfers the invalid ETS read address '-1'. Consequently, from then on, no further ETS data word and no further ETS address pointer are read out.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510054081 DE102005054081B3 (en) | 2005-11-12 | 2005-11-12 | Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510054081 DE102005054081B3 (en) | 2005-11-12 | 2005-11-12 | Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102005054081B3 true DE102005054081B3 (en) | 2007-02-01 |
Family
ID=37650608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200510054081 Expired - Fee Related DE102005054081B3 (en) | 2005-11-12 | 2005-11-12 | Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005054081B3 (en) |
-
2005
- 2005-11-12 DE DE200510054081 patent/DE102005054081B3/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
NICHTS ERMITTELT * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2722099C2 (en) | ||
DE69919632T2 (en) | Fault tolerance through N-modular software redundancy using indirect instrumentation | |
DE2856483C2 (en) | ||
DE1928202C3 (en) | Device for the creation of statistical data on the operational sequence of program-controlled data processing systems | |
DE2714805C2 (en) | ||
EP2667269B1 (en) | Method for operating a redundant automation system | |
EP0228559A1 (en) | Fault-tolerant multi-computer arrangement | |
DE2721319A1 (en) | DEVICE FOR INDEPENDENT CHANGE OF THE PROCESSOR / MEMORY CONFIGURATION | |
DE4317729A1 (en) | Programmable control unit | |
WO2005052703A1 (en) | Redundant automation system for controlling a technical device, and method for operating one such automation system | |
EP0134831B1 (en) | Arrangement in the command circuit of a pipe-line processor for instruction interrupt and report | |
EP2732347B1 (en) | Method and system for the dynamic distribution of program functions in distributed control systems | |
EP0104490A2 (en) | Method and device for the synchronization of a data processing system | |
EP1398701A1 (en) | Method for synchronizing events, in particular for fault-tolerant systems | |
EP1398700A1 (en) | Method and circuit device for synchronizing redundant processing units | |
DE3037475A1 (en) | INTERFACE CIRCUIT ARRANGEMENT FOR A DATA PROCESSING SYSTEM | |
DE102005054081B3 (en) | Data word set outputting unit for e.g. real time system, has address indicator, which is replaced in phase B, in such a manner that indicator is replaced for all age groups that are sequentially processed in phase A | |
DE19500626A1 (en) | Programmable control and procedures for changing their program recording ability | |
DE2938929A1 (en) | DV SYSTEM | |
EP1260905B1 (en) | Program-controlled unit | |
EP0584512B1 (en) | Method for time-monitoring program execution | |
DE102005039771B3 (en) | Real time process managing unit for programmable electronic system, has memory blocks to store parameter sets of parameter processes, and data busses to access register sets to write and read contents of input and output sets, respectively | |
EP1543421A2 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
EP1894066A1 (en) | Stored-program control | |
DE2014729A1 (en) | Data processing system with at least one data processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
8320 | Willingness to grant licenses declared (paragraph 23) | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |