DE19832060C2 - Doppelbare Prozessoreinrichtung - Google Patents
Doppelbare ProzessoreinrichtungInfo
- Publication number
- DE19832060C2 DE19832060C2 DE19832060A DE19832060A DE19832060C2 DE 19832060 C2 DE19832060 C2 DE 19832060C2 DE 19832060 A DE19832060 A DE 19832060A DE 19832060 A DE19832060 A DE 19832060A DE 19832060 C2 DE19832060 C2 DE 19832060C2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- mpu
- bus
- cross
- data
- 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1633—Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the 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
-
- 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
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- 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
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/83—Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
Description
Die Erfindung betrifft eine Prozessoreinrichtung, welche eine
Takterzeugungseinheit, eine Prozessoreinheit, einen Arbeits
speicher und einen als Daten- und Adressenbus für die Prozes
soreinheit und den Arbeitsspeicher eingerichteten Prozessor
bus aufweist.
Prozessoreinrichtungen der genannten Art werden zur Steuerung
verschiedener technischer Systeme, wie z. B. vermittlungstech
nischer Systeme eines Telefonnetzes eingesetzt. In Abhängig
keit von dem Anwendungsbereich weist die Prozessoreinrichtung
zusätzliche, anwendungsspezifische Komponenten auf, die von
der Prozessoreinrichtung gesteuert werden und gegebenenfalls
selbst wiederum andere, externe Komponenten steuern.
Bei vielen Anwendungen, so auch bei den erwähnten vermitt
lungstechnischen Systemen, wird aus sicherheitstechnischen
Gründen eine besondere Fehlersicherheit verlangt. Zur Errei
chung der Fehlersicherheit werden die wesentlichen Hardware
teile innerhalb des Prozessorsystems der Anwendungssteuerung
verdoppelt. Das Prozessorsystem enthält somit zwei gleichar
tige Ausführungen einer Prozessoreinrichtung, von denen eine
als aktive Einrichtung die Aufgaben des Prozessorsystems
ausführt, während die andere Einrichtung passiv ist und im
Leerlauf oder parallel in einem "Tandembetrieb" arbeitet. Auf
der aktiven Seite wird während des Betriebes das Auftreten
eines Fehlers überwacht. Im Falle eines Fehlers der aktiven
Einrichtung nimmt die passive Einrichtung automatisch den
Betrieb auf, wobei das Umschalten möglichst problemlos und
für den Benutzer unbemerkt ablaufen soll. Die nunmehr passive
Einrichtung kann nun gewartet oder ausgewechselt werden, ohne
daß eine Unterbrechung des Betriebs, der durch die nun aktive
Einrichtung gewährleistet wird, befürchtet werden müßte.
Wenn in besonderen Fällen die Erfordernisse der Systemsicher
heit sehr hoch sind und eine Verdoppelung nicht mehr aus
reicht, kann die Prozessoreinrichtung auch mehrfach innerhalb
des Prozessorsystems ausgeführt sein, wobei stets eine der
Einrichtungen aktiv ist, dagegen die übrigen passiv sind. Die
Überwachung und die Reihenfolge des gegenseitigen Ablösens
der Prozessoreinrichtungen kann hierbei z. B. zyklisch erfol
gen. Die Verallgemeinerung von dem gedoppelten Fall auf den
allgemeineren Fall der Vervielfachung ist für den Fachmann
ohne weiteres umsetzbar und wird der Kürze halber im folgen
den bei der Diskussion gedoppelter Systeme stets stillschwei
gend mitbehandelt, soweit nicht ausdrücklich anderes ausge
führt wird.
Bei bisher bekannten Verfahren erfolgt das Aktualisieren der
passiven Seite zum Zeitpunkt des Umschaltens. Hierbei geht
die passive Prozessoreinrichtung erst dann in den Arbeitszu
stand, wenn ein Fehler seitens der aktiven Prozessoreinrich
tung aufgetreten ist, übernimmt soweit möglich deren Status,
z. B. den Inhalt des Arbeitsspeichers, und setzt dann den
Betrieb fort. Dies ist naturgemäß mit einer deutlich spürba
ren Unterbrechung des Betriebs verbunden, und in vielen Fäl
len müssen einzelne Bereiche des Betriebs oder sogar der
gesamte Betrieb gänzlich abgebrochen und neu begonnen werden.
Dies bedeutet z. B. in einer Vermittlungseinrichtung eine
vorübergehende oder bleibende Unterbrechung einer Datenver
bindung bzw. Nachrichtenübermittlung.
In der WO 94/08292 A1 ist eine gedoppelte Prozessorsteuereinheit
beschrieben, bestehend aus zwei identischen, miteinander
verbundenen Steuereinheiten mit je einer Prozessoreinheit,
einem RAM-Datenspeicher und Peripherie-Schaltkreisen. Jede
Prozessoreinheit ist dazu eingerichtet festzustellen, ob sie
aktiv oder im Standby-Betrieb ist. Die aktive Prozessorein
heit führt die Schreibzyklen auf den RAM-Speicher synchron in
beiden gedoppelten RAM-Speichern oder in einen der beiden
RAM-Speicher durch. Die Standby-Einheit bleibt im Standby bis
sie aufgrund einer Störung der aktiven Einheit aufgerufen
wird, um die bisher aktive Einheit zu ersetzen. Die beiden
Prozessoreinheiten sind zusätzlich über einen synchronen
Kommunikationskanal verbunden, welcher mit Hilfe eigener
Bausteine realisiert ist. Dieser Kommunikationskanal wird von
der aktiven Prozessoreinheit bei der Durchführung bestimmter
Aktivitäten genutzt, die sie auf der Standby-Einheit durch
führt, z. B. Überwachungsprozesse und Fehlerdiagnoseprozesse.
Die Aktivitäten der beiden Prozessoreinheiten nach der
WO 94/08292 sind somit grundsätzlich asymmetrisch, wobei der
Kommunikationskanal zur Auslagerung von Prozessen von der
aktiven auf die Standby-Einheit verwendet wird; der Zugriff
auf periphere Komponenten einschließlich des Arbeitsspeichers
wird grundsätzlich nur von der aktiven Prozessoreinheit vor
genommen. Eine Fehlfunktion der aktiven Prozessoreinheit
führt daher, mangels eines Vergleiches mit z. B. einer paral
lellaufenden zweiten Prozessoreinheit, zu einem fehlerhaft
geschriebenen Arbeitsspeicher oder Fehlzuständen in der Peri
pherie, die nach dem Umschalten auf die bisherige Standby-
Einheit erst nachkorrigiert werden müssen.
Jede der beiden Prozessoreinheiten der WO 94/08292 ist dar
über hinaus mit zwei Mikroprozessoren ausgestattet, die in
mikrosynchronisiertem Modus arbeiten. Die Mikrosynchronität
der beiden Mikroprozessoren wird mittels eines Vergleicher
blocks überwacht, der zu jedem Zeitpunkt die Identität der
Adressen-, Daten- und Steuersignale der beiden Prozessoren
überprüft; eine Abweichung wird als Störung der betreffenden
Prozessoreinheit interpretiert. Ein Fehler im mikrosynchronen
Betrieb des Mikroprozessorpaares führt somit zu einem Inter
rupt-Signal bzw. Reset für die gesamte Prozessoreinheit. Ein
Betrieb der Prozessoreinheit basierend auf nur einer der
beiden Mikroprozessoren ist nicht möglich. Im übrigen führt
die Doppelung der Mikroprozessoren innerhalb einer Prozessor
einheit zu einer "Tandemeinheit", nicht jedoch zu an sich
eigenständigen Prozessoreinrichtungen mit jeweils eigenem
Arbeitsspeicher und Prozessorbus, welche mit einer Prozessor
einrichtung gemäß dem Gegenstand der vorliegenden Erfindung
vergleichbar wären. Zudem ist die in der WO 94/08292 offen
barte Mikrosynchronität der Mikroprozessoren auf einer gegen
über den Prozessoreinheiten gänzlich verschiedenen struktu
rellen Ebene angesiedelt.
Die DE 40 05 321 A1 lehrt ein fehlertolerantes Rechnersystem
mit zwei redundanten Rechnereinheiten. Auch in dieser Schrift
sind die Aktivitäten der beiden Rechnereinheiten asymme
trisch, da eine Rechnereinheit jeweils betriebsführend ist
und in die Arbeitsspeicher beider Einheiten schreibt, während
die andere als Ersatzschalteinheit bereitsteht. Ein mikrosyn
chroner Parallelbetrieb zwischen den Prozessoren der beiden
Rechnereinheiten ist in der DE 40 05 321 A1 ausdrücklich
ausgeschlossen.
Der Artikel von H.-J. Lohmann in Elektron. Rechenanlagen 22
(1980) S. 229-236, offenbart ein Mikrocomputersystem bestehend
aus zwei Mikrocomputern identischer Bauart zur Erzeugung von
Ausgangssignalen zur Steuerung von Eisenbahnsignalgeräten.
Die Mikrocomputer erzeugen jeweils ein Ausgangssignal; beide
Ausgangssignale werden über Umsetzer zu den Stellstromkreisen
geführt. Die Mikrocomputer-Taktsignale werden für jeden der
beiden Mikrocomputer getrennt in je einem Steuerpulsgenerator
erzeugt. Nach jedem Verarbeitungs-Taktschritt werden aufgrund
eines von den Steuerpulsgeneratoren gesendeten Überwachungs
impulses die Ausgangssignale verglichen. Die Steuerpulsgene
ratoren lösen den nächsten Taktschritt erst dann aus, wenn
jeweils die Fehlerfreimeldung ordnungsgemäß eingetroffen ist.
Auf diese Weise wird eine sichere Übereinstimmungskontrolle
nach jedem Verarbeitungsschritt erzwungen. Entsteht eine
Ungleichheit, so unterbleiben die Fehlerfreimeldungen und die
Steuerpulsgeneratoren lösen keinen Taktschritt mehr aus; in
der Folge schalten die Stellstromkreise stromlos.
Wie aus dem Gesagten hervorgeht, werden in dem System nach
H.-J. Lohmann die Ausgangssignale verglichen; eine gegensei
tige Überprüfung eines inneren Zustandes der Prozessorein
richtungen ist nicht möglich. Nachteilig ist des weiteren,
daß die Geschwindigkeit des Mikrocomputersystems dadurch, daß
vor jedem Verarbeitungsschritt eine Prüfung der Ausgangs
signale vollständig durchlaufen wird, deutlich verringert
wird. Zudem ist das Mikrocomputersystem - ähnlich dem Mikro
prozessorpaar je einer Prozessoreinheit der WO 94/08292 -
lediglich auf einen gleichzeitigen Betrieb beider Mikro
prozessoren ausgelegt. Denn ein Einzelbetrieb eines Mikrocom
puters, geschweige denn das Vorhandensein nur eines Mikrocom
puters (während der andere z. B. gewartet wird), ist nicht
vorgesehen; vielmehr ist stets das gesamte System im Betrieb
oder außer Betrieb.
Das Mikrocomputersystem nach H.-J. Lohmann kann vom Fachmann
als vorteilhaftes Ausgestaltungsbeispiel für eine Prozessor
einheit mit zwei mikrosynchronisierten Mikroprozessoren der
WO 94/08292 herangezogen werden. Durch die Realisierung einer
Mikrosynchronität innerhalb der Prozessoreinheiten würde es
darüber hinaus überflüssig erscheinen, eine Mikrosynchronität
zwischen den beiden Prozessoreinheiten einzuführen.
Es ist daher Aufgabe der Erfindung, ein Prozessorsystem mit
doppelbarer Prozessoreinrichtung zu schaffen, in dem die
beteiligten Prozessoreinrichtungen zum einen in einer mikro
synchronen Betriebsart, worin die Prozessoren der Einrichtun
gen zur selben Taktflanke dieselben Vorgänge ausführen und
dabei gegeneinander überprüft werden, betreibbar sind. Zum
anderen soll eine Prozessoreinrichtung auch eigenständig
einen vollen Betrieb ermöglichen. Insbesondere soll die Feh
lerüberwachung und Fehlerbehandlung weitestgehend ohne eine
Unterbrechung der anwendungsspezifischen Steuerung ablaufen
können.
Diese Aufgabe wird ausgehend von einer Prozessoreinrichtung
der eingangs genannten Art mittels einer in der Prozessor
einrichtung vorgesehenen Bussteuereinrichtung gelöst, welche
eine Schnittstelle für einen Kreuzbus zu zumindest einer
weiteren Prozessoreinrichtung aufweist und dazu eingerichtet
ist, während des Betriebes der Prozessoreinrichtung in einer
gemeinsam mit der zumindest einen, über den Kreuzbus verbun
denen Prozessoreinrichtung mikrosynchronen Betriebsart bei
einem Datenaustausch über den Prozessorbus, z. B. einem Daten
zugriff der Prozessoreinheit,
- - eine Signatur der ausgetauschten Daten zu berechnen oder entgegenzunehmen,
- - die Signatur mit der zumindest einen weiteren Bussteuerein richtung über den Kreuzbus auszutauschen,
- - die so erhaltene Signatur mit der eigenen Signatur zu ver gleichen und
- - im Falle einer mangelnden Übereinstimmung der Signaturen ein Fehlersignal, welches eine Fehlerbehandlung, z. B. eine Fehlerdiagnose, der Prozessoreinrichtung auslöst, auszuge ben.
Diese Lösung ermöglicht es, ohne eine Störung des Anwendungs
betriebs befürchten zu müssen, während des Betriebes die
Prozessorfunktionen zuverlässig zu überwachen und im Falle
einer Abweichung rasch eine Fehlerbehandlung einzuleiten.
Durch den Signaturenaustausch wird ein paralleler Ablauf
zweier oder mehrerer Einrichtungen im Sinne der Mikrosynchro
nität gestattet und eine Erkennung einer im Fehlerfall auf
tretenden Asynchronität nach einer Latenzzeit von wenigen
Systemtakten ermöglicht. Dadurch lassen sich Betriebsunter
brechungen im Fehlerfall, aber auch bei Wartungen, auf ein
Mindestmaß reduzieren oder sogar gänzlich vermeiden.
Im Gegensatz zu dem System nach H.-J. Lohmann werden gemäß
der Erfindung auf einem Prozessorbus liegende Daten mittels
darüber gebildeten Signaturen geprüft, was einer Überprüfung
eines inneren Zustandes der Prozessoreinrichtungen und somit
einer stärkeren Kontrolle entspricht. In den erfindungsgemä
ßen Prozessoreinrichtungen findet der Austausch der Signatu
ren bei ungestörtem Betrieb der Prozessoren statt.
In einer bevorzugten Ausführungsform der Erfindung ist zur
Unterstützung der Herstellung des mikrosynchronen Betriebs
die Takterzeugungseinheit mit einer Takterzeugungseinheit
einer zweiten, über den Kreuzbus verbundenen Prozessorein
richtung innerhalb einer vorgegebenen maximalen Synchronisa
tionstoleranz synchronisierbar, und die Prozessoreinheit auf
der Grundlage des synchronisierten Taktes der Takterzeugungs
einheit durch ein Startsignal mit einer Prozessoreinheit der
zweiten Prozessoreinrichtung innerhalb einer vorgegebenen
maximalen Taktdifferenz synchronisiert startbar. Soweit hier
bei auf eine zweite Prozessoreinrichtung Bezug genommen wird,
so ist dies nicht als Einschränkung auf lediglich zwei Ein
richtungen im Prozessorsystem zu verstehen; vielmehr ist
hiermit eine besonders ausgewählte Prozessoreinrichtung, z. B.
die zuerst anlaufende oder eine bereits aktive Prozessorein
richtung gemeint.
Für die Durchführung der Signaturenkontrolle weist die
Bussteuereinrichtung günstigerweise einen Vergleichsbaustein
auf, über dessen Eingänge die Signaturen zugeführt werden und
der zum bitweisen Vergleich der Signaturen eingerichtet ist.
Um Laufzeiten über den Kreuzbus auszugleichen, ist es zweck
mäßig, wenn die eigenen Signaturen über einen Silospeicher
zeitverzögert dem Vergleich zugeführt werden.
In einer weiteren bevorzugten Ausführungsform weist die
Bussteuereinrichtung eine Kreuzleseeinrichtung auf, welche
zum gegenseitigen Auslesen von Komponenten der Prozessorein
richtung und/oder einer zweiten, über den Kreuzbus verbunde
nen Prozessoreinrichtung über den Kreuzbus unter Freigabe der
gelesenen Daten zu einem mit der Kreuzleseeinrichtung der
zweiten Prozessoreinrichtung synchronisierten Zeitpunkt ein
gerichtet ist. Dies gestattet den Zugriff durch Komponenten,
welche über den Kreuzbus synchronisiert sind, auf nicht syn
chronisierte ("asynchrone") Komponenten.
Dabei ist günstigerweise die Kreuzleseeinrichtung dazu einge
richtet, bei einem Lesezugriff auf eine Komponente, welche
seitens der Prozessoreinrichtung zugreifbar ist, die von der
Komponente erhaltenen Daten über den Kreuzbus zu übermitteln.
Gleichermaßen ist es dabei günstig, wenn die Kreuzleseein
richtung dazu eingerichtet ist, anstelle eines Lesezugriffs
auf eine Komponente, welche seitens der zweiten Prozessorein
richtung zugreifbar ist, die entsprechenden Daten über den
Kreuzbus von der zweiten Prozessoreinrichtung zu empfangen.
Für eine Verwaltung des Zugriffes auf "asynchrone" Komponen
ten ist es nützlich, wenn die Kreuzleseeinrichtung den Zu
griff auf die Komponenten der Prozessoreinrichtung bzw. der
zweiten Prozessoreinrichtung aufgrund der Adressierung des
den betreffenden Komponenten zugeordneten Adreßbereichs steu
ert, wobei
- - ein erster Adreßbereich dem Zugriff beider Prozessorein richtungen auf die betreffende Komponente der Prozessorein richtung,
- - ein zweiter Adreßbereich dem Zugriff beider Prozessorein richtungen auf die betreffende Komponente der zweiten Pro zessoreinrichtung sowie
- - ein dritter Adreßbereich dem Zugriff der Prozessoreinrich tungen auf die jeweils eigene Komponente zugeordnet ist.
In einer weiteren bevorzugten Ausführungsform weist die
Bussteuereinrichtung eine Kreuzauffrischungs-Leiteinrichtung
auf, welche dazu eingerichtet ist, den Inhalt des Arbeits
speichers über Direktzugriffe auszulesen und gemeinsam mit
der jeweils zugehörigen Speicheradresse über den Kreuzbus zu
übermitteln. Dies ermöglicht das koordinierte Kopieren der
betreffenden Speicherinhalte.
Dabei ist es zweckmäßig, um auch an sich bereits kopierte
Bereiche auf einem aktuellen Stand zu halten, wenn die Leit
einrichtung dazu eingerichtet ist, bei Schreibzugriffen der
Prozessoreinheit auf den Arbeitsspeicher innerhalb des Adres
senbereichs der bereits übermittelten Speicherinhalte jeweils
eine Kopie der betreffenden Speicherdaten und Speicheradres
sen über den Kreuzbus zu übermitteln.
Günstigerweise enthalten die über den Kreuzbus ausgetauschten
Daten Zusatzinformationen zu den bei dem Direktzugriff gele
senen bzw. geschriebenen Daten, z. B. Kenndaten, welche den
Beginn oder das Ende eines Datenblockes anzeigen, oder eine
Adressenkennung zur Unterscheidung von Adressen und Daten.
Weiters ist es vorteilhaft, insbesondere um verschiedene
Datenübertragungsraten in der Prozessoreinrichtung und auf
dem Kreuzbus auszugleichen, wenn die Leiteinrichtung einen
Silospeicher als Pufferspeicher für die über den Kreuzbus zu
übertragenden Daten und Adressen aufweist.
Um einem Überlaufen des Silospeichers vorzubeugen, weist
zweckmäßigerweise die Leiteinrichtung einen Signalausgang
auf, welcher bei einem vorgegebenen Füllungsgrad des Silo
speichers aktiviert ist und welcher mit einem Eingang der
Prozessoreinheit verbunden ist, durch welchen Schreibzugriffe
der Prozessoreinheit auf den Arbeitsspeicher verlangsamt oder
vorübergehend aufgehalten werden.
Für das koordinierte Kopieren der Speicherinhalte ist es
weiters nützlich, wenn die Bussteuereinrichtung eine Kreuz
auffrischungs-Folgeeinrichtung aufweist, welche dazu einge
richtet ist, über den Kreuzbus gemeinsam mit der jeweils
dazugehörigen Speicheradresse empfangene Speicherinhalte in
den Arbeitsspeicher an der entsprechenden Adressenstelle zu
schreiben.
Zum Ausgleich verschiedener Datenübertragungsraten ist es
vorteilhaft, wenn die Kreuzauffrischungs-Folgeeinrichtung
einen Silospeicher als Pufferspeicher für die über den Kreuz
bus übertragenen Daten und Adressen aufweist.
Die oben gestellte Aufgabe wird ebenfalls durch ein Prozes
sorsystem bestehend aus zumindest zwei Prozessoreinrichtungen
der dargestellten Art gelöst, bei welchem erfindungsgemäß
- - die Prozessoreinrichtungen miteinander über den Kreuzbus verbunden sind,
- - die Prozessoreinheiten der Prozessoreinrichtungen auf der Grundlage eines gemeinsamen Taktes untereinander durch ein gemeinsames Startsignal innerhalb einer vorgegebenen maxi malen Taktdifferenz synchronisiert startbar sind und
- - die Bussteuereinrichtungen der Prozessoreinrichtungen dazu eingerichtet sind, bei jedem darauffolgenden Datenzugriff der Prozessoreinheiten über den jeweils zugeordneten Pro zessorbus über den Kreuzbus Signaturen betreffend den Da tenzugriff auszutauschen, hinsichtlich ihrer Übereinstim mung auszuwerten und im Falle einer mangelnden Übereinstim mung ein Fehlersignal auszugeben.
Die Vorteile dieser Lösung wurden im Zusammenhang mit der
erfindungsgemäßen Prozessoreinrichtung bereits dargestellt.
Günstigerweise ist das Prozessorsystem dazu eingerichtet,
aufgrund eines Fehlersignals zumindest in jener Prozessor
einrichtung, die das Fehlersignal ausgelöst hat, eine Fehler
behandlung, z. B. eine Fehlerdiagnose, durchzuführen und wäh
renddessen den Betrieb des Prozessorsystems auf der zumindest
einen übrigen Prozessoreinrichtung weiterzuführen. Dadurch
gelingt die "reibungslose" Weiterführung des Betriebs des
Prozessorsystems selbst im Falle des Auftretens eines Fehlers
in einer der Prozessoreinrichtungen.
Die Erfindung wird im folgenden anhand eines in den Figuren
illustrierten Ausführungsbeispieles einer Prozessorsteuerung
für eine Vermittlungsstation eines ATM-Systems ('Asynchronous
Transfer Mode System') näher erläutert. Die Figuren zeigen in
Blockdiagrammen
Fig. 1 eine Übersicht der Komponenten des Prozessorsystems
des Ausführungsbeispieles;
Fig. 2 die Überprüfung der Signaturen;
Fig. 3 die Speicherzuteilung der Adressenbereiche einer
gedoppelten Komponente;
Fig. 4 die Übermittlung von Daten/Adressen während der Her
stellung des mikrosynchronen Zustandes über den
Kreuzbus, wobei Fig. 4a den Datenfluß auf der
"aktiven" Seite zeigt und Fig. 4b den auf der
"passiven" Seite;
Es sei der Beschreibung des Ausführungsbeispieles vorausge
schickt, daß die Erfindung sich nicht in der Anwendung auf
die Steuerung einer Vermittlungsstelle eines ATM-Systems oder
eines anderen Kommunikationssystems erschöpft, sondern für
beliebige andere prozessorgesteuerte Systeme anwendbar ist,
in denen aufgrund der geforderten Fehlersicherheit eine Dop
pelung - oder allgemeiner eine Vervielfachung - der Prozes
soreinrichtung angebracht ist.
In Fig. 1 sind die wesentlichen Komponenten der Prozessor
steuerung PSR einer ATM-Vermittlungsstation nach der Erfin
dung gezeigt. Die Vermittlungssteuerung PSR weist zwei Pro
zessoreinrichtungen MPU, MPU' ('Master Processing Units')auf,
die grundsätzlich identischen Aufbau haben und deren Kompo
nenten jeweils zu einer oder mehreren Baugruppen zusammenge
faßt sein können. In dem Ausführungsbeispiel ist jede Prozes
soreinrichtung MPU, MPU' als ein Einschub in einem Einschub
gestell ausgebildet, welches insgesamt das Prozessorsystem
der ATM-Vermittlung darstellt, zwei oder mehr Einschubplätze
für die Prozessoreinrichtungen aufweist und unter Umständen
auch andere Komponenten der Anwendung, z. B. Treiberbausteine
des ATM-Netzes und Netzteile, vorsehen kann. Grundsätzlich
ist schon das Vorhandensein einer Prozessoreinrichtung in dem
Prozessorsystem PSR für die Ausführung der Aufgaben der Ver
mittlungssteuerung ausreichend, denn jede Prozessoreinrich
tung MPU, MPU' ist so ausgelegt, daß sie den vollen Betrieb
ohne das Vorhandensein einer Partnereinrichtung MPU', MPU
wahren kann. Die Verdoppelung erfüllt den Zweck, im Falle
eines Ausfalls der aktiven Prozessoreinrichtung möglichst
"unauffällig" auf die bisher passive Prozessoreinrichtung
umschalten zu können. Diese Situation tritt z. B. im - selbst
bei an sich sehr verläßlichen Systemen nie völlig auszu
schließenden - Fehlerfall oder bei der Wartung der Prozessor
einrichtung auf.
Jede Prozessoreinrichtung MPU weist eine Prozessoreinheit CPU
('Central Processing Unit') und einen Arbeitsspeicher MEM,
der z. B. als dynamischer RAM-Speicher ausgebildet ist, auf.
Weitere mögliche Komponenten sind etwa ein Permanentspeicher
ROM ('Read Only Memory'), der z. B. als EPROM-Baustein ausge
führt ist und die zum Initialisieren der Prozessoreinrichtung
MPU nötigen Programme und Daten enthält, sowie ein Festplat
tenspeicher HDD, der sich nicht unbedingt auf dem Einschub
der Prozessoreinrichtung MPU befindet, aber dieser eindeutig
zugeordnet ist. Ein Taktgeber CLK ('clock') liefert einen
Systemtakt, im Beispiel 100 MHz, der zum Takten des Prozes
sors CPU und zur Synchronisation mit den übrigen Komponenten
dient. Weiters sind gewöhnlicherweise anwendungsspezifische
Komponenten vorgesehen, im Beispiel ein ATM-Sende/Empfangs
baustein ASE, der die eigentlichen Funktionen der ATM-Ver
mittlung wahrnimmt und von dem Prozessor CPU gesteuert wird.
Schließlich ist eine Tracer-Schnittstelle HWT ('Hard-Ware
Tracer interface') vorgesehen, an die ein sogenannter Tracer
zur Ablaufverfolgung ('trace') der Prozessoreinrichtung ange
schlossen werden kann. Ein Prozessorbus PBU dient zum Aus
tausch digitaler Daten zwischen dem Prozessor CPU und anderen
Komponenten der Prozessoreinrichtung. Die Steuerung der Bus
funktionen des Prozessorbus PBU wird von einer der genannten
Komponenten oder von einer eigenen Einrichtung ausgeführt.
Die Komponenten der zweiten Prozessoreinrichtung MPU' sind
denen der ersten Prozessoreinrichtung MPU gleich und haben
somit in Fig. 1 dieselben Bezugszeichen, denen zur Unter
scheidung ein Strich (') hinzugefügt wurde.
Für den Austausch von Signalen zwischen den gedoppelten Pro
zessoreinrichtungen MPU, MPU' ist in jeder Prozessoreinrich
tung eine Bussteuereinrichtung BMI ('Bus Memory Interface')
vorgesehen. Die Bussteuereinrichtungen beider Prozessorein
richtungen sind miteinander über eine eigens für den Zweck
der Herstellung und Überwachung der Mikrosynchronität einge
richteten Schnittstelle verbunden, welche im folgenden als
Kreuzbus BXL ('Bus cross Link'; in Abkürzungen und Bezugszei
chen steht X für englisches 'cross') bezeichnet wird. In dem
Ausführungsbeispiel übernimmt die Bussteuereinrichtung BMI
günstigerweise die Funktionen zur Steuerung sowohl des Kreuz
bus als auch des Prozessorbus. Die Bussteuereinrichtung BMI
kann als eigene Einheit oder unter Verwendung verschiedener
Komponenten der Prozessoreinrichtung PSR realisiert sein;
gegebenenfalls können die Komponenten Bussteuereinrichtung
BMI auch für weitere Aufgaben vorgesehen sein.
Der Kreuzbus BXL ist ein paralleler, bidirektionaler Bus
zwischen den beiden Prozessoreinrichtungen MPU, MPU' bzw.
Bussteuereinrichtungen BMI, BMI' der Vermittlungssteuerung
PSR. Er kann als Halbduplex-16 bit-Bus oder als Vollduplex-
8 bit-Bus geschaltet werden, wobei die Einstellung dieser
Busmodi streng an den Betriebsmodus des Kreuzbus BXL gekop
pelt ist. Hierbei wird hinsichtlich des Betriebsmodus zwi
schen mikrosynchronen und nicht-mikrosynchronen Betrieb un
terschieden, wobei der nicht-mikrosynchrone Betriebsmodus
weiter aufgeteilt werden kann in die Auffrischungsphase, d. h.
die Herstellung des mikrosynchronen Betriebs, und den "ein
zelstehenden" Betrieb, worin nur eine Prozessoreinrichtung
MPU arbeitet, während die andere MPU' nicht vorhanden oder
betriebsbereit ist, etwa aufgrund eines Fehlers oder war
tungsbedingt. Die Bussteuereinrichtung BMI verwaltet im be
sonderen in Abhängigkeit von dem Betriebsmodus der Prozessor
steuerung PSR, welche Komponenten der Bussteuereinrichtung
BMI aktiviert werden. Hierfür sind weiter Steuersignale zwi
schen den Bussteuereinrichtungen BMI, BMI' über den Kreuzbus
BXL ausgekreuzt, um den Betriebsmodus hinsichtlich der betei
ligten Prozessoreinrichtungen MPU, MPU' zu koordinieren.
Zum Puffern verschiedener über den Kreuzbus BXL übertragenen
Informationen werden günstigerweise Silospeicher eingesetzt.
Silospeicher sind auch als FIFO-Speicher ('First In - First
Out'), Queues oder Warteschlangenspeicher bekannt; in einem
Silospeicher gespeicherte Daten sind nur in der Reihenfolge
ihres Eintreffens abrufbar und werden nach dem Abrufen aus
dem Silospeicher gelöscht.
Zusätzlich sind die Taktgeber CLK, CLK' der beiden Prozessor
einrichtungen synchronisierbar, und zwar sind beide Taktgeber
CLK, CLK' miteinander fest synchronisiert, solange sie sich
im fehlerfreien Zustand in der Vermittlungssteuerung PSR
befinden. Die Synchronisation erfolgt über Taktkreuzleitungen
CXL ('Clock cross Link'), die in logischer Hinsicht zum
Kreuzbus gehören, in dem Ausführungsbeispiel jedoch gesondert
ausgeführt sind. Die Synchronisation der Systemtakte erfolgt
beim Initialisieren einer Prozessoreinrichtung MPU' dadurch,
daß der Takt der ersten Prozessoreinrichtung MPU - sofern
vorhanden - von dem Taktgeber CLK' übernommen wird. Von da an
bleiben die beiden Taktgeber fest miteinander synchronisiert,
wobei die zugelassenen Synchronisationstoleranzen, z. B. eine
maximale Zeitdifferenz in Nanosekunden, in Abhängigkeit von
der Ausführungsform festgelegt sind.
Ein wesentliches Ziel der Erfindung ist es, während des
störungsfreien Betriebes die Prozessoreinrichtungen MPU, MPU'
gleichzeitig im Vollbetrieb derart betreiben zu können, daß
ihre Systemtakte miteinander synchronisiert und ihre Prozes
soren CPU, CPU' zur selben Taktflanke dieselben Vorgänge
ausführen. Diese besondere Art der Synchronität wird im fol
genden als "Mikrosynchronität" bezeichnet. Die Erfindung
befaßt sich somit mit der Herstellung, Aufrechterhaltung und
Überwachung des mikrosynchronen Betriebes gedoppelter Systeme
PSR, einschließlich des nach außen störungsfreien Umschaltens
im Fehlerfall.
Die Überwachung des mikrosynchronen Betriebes erfolgt durch
einen ständigen Austausch von Kontrollsignalen in Form von
Signaturen zwischen den Prozessoreinrichtungen MPU, MPU'.
Eine Signatur enthält Kenninformation zur Überprüfung eines
Datenaustauschs, also hier eines Datenzugriffs des Prozessors
CPU über den Prozessorbus PBU. Die Signaturen können bei
spielsweise nach Art einer Prüfsumme oder mittels eines kom
binierten Datenkompressions- und -auswahlverfahrens als Kenn
code über die relevanten Größen des Datenzugriffs, z. B. gele
sene/geschriebene Daten, Speicheradresse, Portadresse etc.,
oder einer vorbestimmten Teilmenge davon gebildet werden. Auf
diese Weise weichen im Falle einer Störung des mikrosynchro
nen Betriebs die Inhalte der ausgetauschten Signaturen von
einander ab und können so zur Störungserkennung verwendet
werden.
Dadurch wird eine Erkennung einer im Fehlerfall auftretenden
Asynchronität nach einer Latenzzeit von vier Systemtakten
möglich. Es liegt ein wesentlicher Vorteil der Erfindung
darin, daß die Fehlererkennung sofort nach einem Hardware-
oder Softwarefehler eingreifen und ein Umschalten auf die
fehlerfreie Prozessoreinrichtung bewirken kann.
Nach der Erfindung sind die Prozessorbus-Zugriffe in beiden
Prozessoreinrichtungen MPU, MPU' im mikrosynchronen Betriebs
modus miteinander synchronisiert. Die Komponenten, die über
die Prozessorbusse PBU, PBU' für die Prozessoren CPU, CPU'
zugänglich sind, unterliegen somit ebenfalls der Mikrosyn
chronität und bilden in jeder Prozessoreinrichtung MPU, MPU'
jeweils einen "mikrosynchronen Bereich" MSY, MSY', in Fig. 1
mit einer unterbrochenen Linie umrandet. Die beiden "mikro
synchronen Bereiche" sind untereinander durch den gemeinsamen
Systemtakt der Taktgeber CLK, CLK' synchronisiert, in ihnen
werden zu gleichen Taktzeiten die gleichen Vorgänge ausge
führt. Die beiden Prozessoreinrichtungen MPU, MPU' nehmen
stets die gleichen Zustände ein, solange der mikrosynchrone
Betrieb fehlerfrei läuft. Zur Überprüfung der Mikrosynchroni
tät werden über den Kreuzbus BXL Signaturen ausgetauscht. So
lange die Signaturen der Prozessoreinrichtungen gleich sind,
gilt im Sinne des Erfindungsgedankens die Mikrosynchronität
als gewahrt. Die Signaturen werden bei jedem Buszugriff vom
Prozessor CPU bestimmt und der Bussteuereinrichtung BMI über
geben. In einer Variante könnte auch die Bussteuereinrichtung
BMI selbst die Signatur über den Prozessorbus berechnen.
Eine Prozessoreinrichtung MPU kann auch Komponenten aufwei
sen, die nicht einem "mikrosynchronen Bereich" MSY zugehören.
Solche asynchronen Komponenten sind insbesondere solche, für
die ein auf den Systemtakt synchronisierter Zugriff nicht
möglich oder sinnvoll ist. Dies ist, mit Bezug auf Fig. 1,
beispielsweise für einen Festplattenspeicher HDD oder einen
Permanentspeicher ROM der Fall. Der Zugang zu diesen asyn
chronen Komponenten ist mittels eines oder mehrerer asynchro
ne Busse ABU realisiert, wobei die Bussteuereinrichtung BMI
als Schnittstelle zwischen dem bzw. den asynchronen Bus(sen)
einerseits und dem "mikrosynchronen" Prozessorbus PBU ande
rerseits dient. Der Zugriff auf asynchrone Komponenten kann
zum einen auf die jeweils eigene Komponente erfolgen, z. B.
liest auf der "aktiven" Seite der Prozessor CPU aus dem Per
manentspeicher ROM und analog der "passive" Prozessor CPU'
aus dem Permanentspeicher ROM' der "passiven" Seite. Zum
anderen kann ein asynchroner Zugriff auf eine bestimmte Kom
ponente, z. B. einer bestimmten der beiden Festplatten HDD,
HDD', erfolgen, wobei die so erhaltenen Daten zur anderen
Prozessoreinrichtung kopiert werden ('cross read' - Kreuzle
sen). Auf diese Weise ist es möglich, daß asynchrone Kompo
nenten nur einfach ausgeführt oder, auch wenn sie gedoppelt
sind, als unterschiedliche Geräte ansprechbar sind.
Zur Überprüfung des korrekten Betriebs im mikrosynchronen
Zustand werden zwischen den Prozessoreinrichtungen MPU, MPU'
Signaturen, die sich auf Daten der Prozessorbusse PBU, PBU'
beziehen, ausgetauscht und miteinander verglichen, siehe
hierzu Fig. 2. Die Signatur psg für den Prozessorbus PBU wird
durch den Prozessor CPU der Prozessoreinrichtung MPU gebil
det. Die Signatur xsg der Partnereinrichtung MPU' wird über
den Kreuzbus BXL geliefert. Hierbei wird, um Laufzeitverzöge
rungen auszugleichen, die eigene Signatur über einen Silo
speicher PFF aufgepuffert. Die beiden Signaturen werden einem
Vergleicher VGL zugeführt, der die Signaturen bitweise ver
gleicht und dessen Ausgangssignal im Falle einer Ungleichheit
zumindest eines Bits der eingehenden Signaturen aktiviert
wird; das Ausgangssignal wird über ein D-Flipflop abgetaktet
und als Signaturprüfsignal sfl an die Steuerlogik der Bus
steuereinrichtung BMI übergeben.
Für Testzwecke kann ein Signaturfehler simuliert werden.
Hierfür ist ein eigener Fehlertesteingang fti vorgesehen,
welcher eine Logik FTL aktiviert, die in der Partnersignatur
das erste Bit b0 durch das invertierte erste Bit der eigenen
Signatur ersetzt.
Solange kein Kreuzlese-Zugriff stattfindet, erfolgt der Aus
tausch von Signaturen. Günstigerweise ist hierbei der Kreuz
bus auf Vollduplex-Betrieb geschaltet, so daß die Signaturen
gleichzeitig übertragen werden können. Tritt eine Kreuzlese-
Anforderung auf, wird der Signaturenaustausch gesperrt und
die Datenpfade des Kreuzbus für das Kreuzlesen bereit ge
schaltet. Beim Umschalten in die Signaturprüfung nach Ende
des Kreuzlesevorganges bleibt das Signal zur Aktivierung des
Signaturenvergleichs noch eine festgelegte Anzahl von Takten
deaktiviert, bis wieder der Gleichlauf zwischen der eigenen
und der ausgetauschten Signatur vorliegt.
Für Testzwecke kann weiters die Signaturprüfung auch im mi
krosynchronen Modus über einen hierfür eigens vorgesehenen
Eingang abgeschaltet werden. Dies kann dazu verwendet werden,
um einer einzelnen Prozessoreinrichtung MPU für Testzwecke
einen mikrosynchronen Betrieb vorzutäuschen.
Der Start des mikrosynchronen Betriebs, ausgehend von einem
Zustand, in dem die Speicherinhalte der Arbeitsspeicher MEM,
MEM' beider Prozessoreinrichtungen MPU, MPU' übereinstimmen,
erfolgt beispielsweise über ein hierfür vorgesehenes Startsi
gnal, den Synchronisations-Reset, der bei Bedarf auch über
eine Prozessor-Unterbrechung realisiert sein kann. Aufgrund
des Synchronisations-Resets werden die beiden Prozessorein
heiten CPU, CPU' innerhalb einer vorgegebenen maximalen Takt
differenz synchronisiert gestartet und führen in der Folge
ihre Befehle mikrosynchron aus.
Aufgrund folgender Zustände oder Ereignisse:
- - Auftreten eines Signaturfehlers - Signaturprüfsignal sfl;
- - Kreuzlese-Timeout (siehe unten);
- - Auftreten anderer Fehlerunterbrechungen, z. B. aufgrund interner Fehler in der Bussteuereinrichtung BMI;
- - Systemstart oder -reset;
wird der mikrosynchrone Betrieb beendet. Im Falle eines Feh
lers arbeitet die fehlerfreie Prozessoreinrichtung weiter und
übernimmt so den Betrieb im "einzelstehenden" Modus; die
andere Prozessoreinrichtung führt, soweit dies möglich ist,
einen Selbsttest durch. Über entsprechende Anzeigen oder
Fehlermeldungen kann dann dem Wartungspersonal der Moduswech
sel angezeigt werden.
Die mit der Durchführung des Kreuzlesens befaßten Komponenten
der Bussteuereinrichtung werden hier als Kreuzleseeinrichtung
(BXR, 'Bus cross Read control') bezeichnet. Die Kreuzleseein
richtung kann als eigene Einheit der Bussteuereinrichtung BMI
oder durch verschiedene Komponenten der Bussteuereinrichtung
realisiert sein; die Komponenten der Kreuzleseeinrichtung
können auch für andere Aufgaben vorgesehen sein. Die Kreuz
leseeinrichtung dient dem gegenseitigen Auslesen von Kompo
nenten, insbesondere asynchronen Komponenten, der Prozes
soreinrichtungen MPU, MPU' über den Kreuzbus BXI; die ausge
tauschten Daten werden zu einem mit der Partner-Kreuz
leseeinrichtung synchronisierten Zeitpunkt freigegeben.
Die Steuerung des Zugriffs auf eine gedoppelte asynchrone
Komponente, z. B. der Permanentspeicher ROM, ROM', erfolgt
über die Adressierung des der Komponente zugeordneten Adreß
bereichs. Die möglichen Zugriffsarten sind wie bereits er
wähnt Zugriff auf die jeweils eigene Komponente (ROM/ROM'),
auf die Komponente (ROM) der ersten Prozessoreinrichtung MPU
oder auf die Komponente (ROM') der zweiten Prozessoreinrich
tung MPU'; im zweiten und dritten Fall findet ein Kreuzlese
vorgang zur anderen Prozessoreinrichtung statt. Um die drei
verschiedenen Zugriffe zu realisieren, ist der Adreßbereich,
der dem einer einzelnen Komponente entspricht, vorteilhafter
weise im von dem Prozessor CPU erreichbaren Adreßbereich
vervierfacht.
Ein Diagrammbeispiel der Speicherzuteilung ist in Fig. 3 für
die Adressenbereiche Adr, Adr' der Permanentspeicher ROM,
ROM' der gedoppelten Einrichtung PSR gezeigt, die jeweils
einen Adreßraum von 64 MB einnehmen; der gesamte für die
Permanentspeicher zugeteilte Adreßraum umfaßt somit 256 MB,
z. B. ab einer Basisadresse 512 MB. Bei einem Zugriff auf den
ersten Adreßbereich Adr wird auf den ersten Speicher ROM
zugegriffen: die erste Bussteuereinrichtung BMI liest die
Daten vom Speicher ROM über den entsprechenden asynchronen
Bus ASU, übermittelt die Daten über den Kreuzbus zur anderen
Einrichtung BMI' und gibt synchron die Daten auf beiden Pro
zessorbussen PBU, PBU' frei. Ein Zugriff auf den zweiten
Adreßbereich Adr' entspricht einem Zugriff auf den zweiten
Speicher ROM', bei dem anstelle eines Lesezugriffs auf den
eigenen Speicher ROM die erste Prozessoreinrichtung die Daten
über den Kreuzbus BXL von der zweiten Prozessoreinrichtung
übernimmt: analog zu dem vorigen Fall liest die zweite Bus
steuereinrichtung BMI' die Daten vom Speicher ROM' über den
entsprechenden asynchronen Bus ASU', übermittelt die Daten
über den Kreuzbus zur ersten Einrichtung BMI und gibt syn
chron die Daten auf beiden Prozessorbussen PBU, PBU' frei. Bei
einem Zugriff auf den dritten Adreßbereich Adr/Adr' erfolgt
in beiden Prozessoreinrichtungen MPU, MPU' der Zugriff auf
den jeweils eigenen Permanentspeicher ROM, ROM', der Kreuzbus
wird nicht benutzt. Der vierte Adreßbereich hat keine eigene
Bedeutung und kann beispielsweise mit derselben Funktion wie
der dritte Bereich belegt werden.
Durch den Kreuzlese-Mechanismus ist somit im mikrosynchronen
Betrieb der Zugriff beider Prozessoren CPU, CPU' auf den asyn
chronen Datenbereich MSY einer Baugruppe ermöglicht. Neben
dem Zugriff über einen asynchronen Bus ABU wird auch der
Zugriff auf interne Register der Bussteuereinrichtung BMI
derartig behandelt. Der Zugriff auf den asynchronen Bereich
bzw. interne Register der Bussteuereinrichtung wird über den
Kreuzbus BXL über jeweils eigene Anforderungssignale signali
siert, die jeweils einen gesamten Buszyklus lang aktiviert
sind. Durch ein zusätzliches Richtungssignal wird die Rich
tung des Datentransfers zwischen den Bussteuereinrichtungen
BMI, BMI' angezeigt.
Die Freigabe der kreuzgelesenen Daten auf dem Prozessorbus
PBU, PBU' erfolgt mittels eines sogenannten Ready-Signals.
Dieses Signal wird bei allen Zugriffen auf alle Komponenten
außerhalb des synchronen Bereichs verwendet, sowie für
"Dummy-Write"-Zugriffe, das sind Schreibzugriffe auf den
asynchronen Bus ABU, ABU' oder Register der Bussteuereinrich
tung, bei denen keine Daten übertragen werden und deshalb zur
Synchronisation der Prozessoren CPU, CPU' verwendbar sind.
Die Ready-Signale werden über den Kreuzbus BXL auf die Part
nereinrichtung übertragen, wenn das entsprechende Anforde
rungssignal gültig ist und die Kreuzlesefunktion aktiviert
ist; auf der Partnerseite wird das Ready-Signal zweckmäßiger
weise mit einem Timeout versehen. Falls das Timeout ohne
erfolgreiches Kreuzlesen ausläuft, wird ein Fehlersignal und
weiters ein Unterbrechungssignal ausgelöst, um eine System
blockierung zu verhindern und der mikrosynchrone Betrieb
beendet. Die Dauer des Timeout ergibt sich aus der maximalen
Dauer eines Zyklus des asynchronen Bus zuzüglich interner
Verzögerungen. Ein typischer Wert ist beispielsweise 330
Taktzyklen.
Die Auslösung des Fehlersignals im Falle des Kreuzlese-
Timeout ist notwendig, da die empfangende Einheit nicht den
Kreuzlesevorgang abbrechen kann, während die Treiber der
sendenden Einheit noch aktiv sind; es bestünde nämlich die
Gefahr einer Schädigung.
Die Kreuzlese- und "Dummy-Write"-Anforderungen können auch im
nicht-mikrosynchronen Betrieb aktiv sein, wenn auch das Rea
dy-Signal nicht über den Kreuzbus durchgeschaltet wird. Je
doch wird auch im nicht-mikrosynchronen Betrieb das Timeout
gestartet - welches sicher abläuft, da kein Ready-Signal der
Partnereinrichtung gegeben wird - und durch das damit verbun
dene Unterbrechungssignal wird die Betriebssoftware von dem
unerlaubten Zugriff auf die Partnereinrichtung im nicht-mi
krosynchronen Betrieb informiert.
Der Kreuzlesevorgang kann auch für den Zugriff anderer Kompo
nenten des mikrosynchronen Bereichs auf asynchrone Komponen
ten aktiviert werden, beispielsweise bei einem im Arbeits
speicher angelegten Speicherpuffer für eine Festplatte des
asynchronen Bereichs mit Datenaustausch zwischen Arbeits- und
Festplattenspeicher durch z. B. Direktzugriffe.
Nach der Erfindung ist die Herstellung des mikrosynchronen
Betriebs innerhalb kurzer Zeit ausgehend von einem Zustand,
worin nur eine Prozessoreinrichtung MPU aktiv (im Vollbe
triebszustand hinsichtlich des Betriebs des Prozessorsystems
PSR als Vermittlungssteuerung) ist, ohne Störung des Betriebs
möglich. Die zweite Prozessoreinrichtung MPU', die z. B. gera
de eingesteckt oder zurückgesetzt wurde und nun ihren "passi
ven" Betrieb initialisiert, wird auf den aktuellen Zustand
der aktiven Prozessoreinrichtung MPU gebracht. Diese Auffri
schung geschieht "im Hintergrund", also ohne Verzögerung der
Betriebsabläufe der Vermittlungssteuerung PSR. Ziel der Ak
tualisierung ist die Gleichheit der Speicherinhalte und gege
benenfalls Peripheriezustände, wie hier der ATM-Bausteine,
beider Prozessoreinrichtungen MPU, MPU'. Zu diesem Zweck ist
die Bussteuereinrichtung BMI erfindungsgemäß dazu eingerich
tet, im mikrosynchronen Betrieb über den Prozessorbus PBU
während einer Zugriffspause des Prozessors CPU auf Komponen
ten der Prozessoreinrichtung, im besonderen auf den Prozes
sorbus PBU, direkt zuzugreifen und über den Kreuzbus BXL
Daten auszutauschen, welche bei dem Direktzugriff gelesen
und/oder zu schreiben sind oder solche Daten betreffen.
Zur Durchführung der Auffrischung wird der Speicherinhalt des
"aktiven" Arbeitsspeichers MEM in den "passiven" MEM' ko
piert. Das Lesen des "aktiven" Arbeitsspeichers MEM erfolgt
mittels Direktzugriffen der Bussteuereinrichtung BMI über den
Prozessorbus PBU während einer Zugriffspause der aktiven
Prozessoreinheit CPU ('cross copy' - Kreuzkopieren). Die
ausgelesenen Speicherinhalte werden über den Kreuzbus BXL zur
passiven Prozessoreinrichtung gesendet. Zusätzlich wird bei
Schreibzugriffen auf den Arbeitsspeicher MEM innerhalb des
Bereichs der bereits übermittelten Speicherinhalte der Inhalt
des entsprechenden Adreßbereichs des "passiven" Speichers
MEM' fortgeschrieben ('cross update' - Kreuzfortschreibung),
indem jeweils eine Kopie der betreffenden Daten und Spei
cheradressen vom Prozessorbus PBU genommen und über den
Kreuzbus BXL übermittelt wird.
Für die Durchführung des Kreuzlesens weist die Bussteuerein
richtung BMI (selbstverständlich jeweils in beiden Prozes
soreinrichtungen) eine Kreuzauffrischungs-Leiteinrichtung
BXUM ('Bus cross Update Master') und eine Kreuzauffrischungs-
Folgeeinrichtung BXUS ('Bus cross Update Slave') auf. Die
Kreuzauffrischungs-Einrichtungen BXUM, BXUS können als eigene
Einheiten der Bussteuereinrichtung BMI, gemeinsam in einer
Kreuzauffrischungs-Einheit oder durch verschiedene Komponen
ten der Bussteuereinrichtung realisiert sein; die Komponenten
der Kreuzauffrischungs-Einrichtungen können auch für andere
Aufgaben vorgesehen sein. Im folgenden werden die Kreuzauf
frischungs-Einrichtungen der Kürze halber als Leiter BXUM
bzw. Folger BXUS bezeichnet. Während der Auffrischungsphase
ist der Leiter BXUM der aktiven Prozessoreinrichtung MPU der
Sender, welcher den Inhalt des Arbeitsspeichers MEM über
Direktzugriffe ausliest und gemeinsam mit der jeweils zugehö
rigen Speicheradresse über den Kreuzbus BXL übermittelt, und
der Folger BXUS' der passiven Prozessoreinrichtung MPU' der
Empfänger, welcher über den Kreuzbus BXL gemeinsam mit der
jeweils dazugehörigen Speicheradresse empfangene Speicherin
halte in den Arbeitsspeicher MEM' an der entsprechenden
Adressenstelle schreibt. In Fig. 4 sind die wesentlichen
Merkmale des Datenflusses bei der Kreuzauffrischung über den
Kreuzbus BXL unter Weglassung sämtlicher für das Verständnis
nicht unbedingt erforderlicher Elemente, insbesondere Steuer
leitungen und Sperrsignale der Leiteinrichtungen und des
Kreuzbus, gezeigt.
Auf einer Prozessoreinrichtung ist - ausgenommen zu Testzwec
ken - stets entweder der Leiter BXUM oder der Folger BXUS
aktiviert, nicht jedoch beide zugleich. Ebenso ist entspre
chend der Natur des Auffrischungsvorganges innerhalb des
Prozessorsystems PSR immer nur einer der Leiter der Prozes
soreinrichtungen MPU, MPU' aktiviert. Letzteres ist in den
Prozessoreinrichtungen mit Hilfe eines Kreuzauffrischungs-
Freigabesignals (BXUM enable) zur Aktivierung des jeweils
eigenen Leiters BXUM gewährleistet, welches zwischen den
Prozessoreinrichtungen MPU, MPU' derart ausgekreuzt ist, daß
es den Leiter anderer Prozessoreinrichtungen sperrt. Während
der mikrosynchronen Betriebsart - ausgenommen gegebenenfalls
zu Testzwecken - sind die Kreuzauffrischungseinrichtungen
BXUM, BXUS deaktiviert, insbesondere ist ein Schreiben des
Arbeitsspeichers durch den Folger BXUS im Vollbetriebszustand
unterbunden.
Die Kreuzauffrischungs-Leiteinrichtung BXUM weist zwei Inter
vallregister auf, die in bezug auf den Arbeitsspeicher MEM
ein Adressenintervall definieren, aus welchem der Speicherin
halt auszulesen und zur "passiven" Seite hin zu kopieren ist.
Nach erfolgtem Kopieren des Speicherinhalts des durch die
Intervallregister definierten Adressenintervalls wird das
Intervall weitergerückt, vorteilhafterweise auf ein diesem
angrenzendes Adressenintervall. Zugleich ist durch diese
Register in Verbindung mit der Basisadresse des Arbeitsspei
chers MEM der bereits kopierte Bereich definiert, welcher bei
Schreibzugriffen in den entsprechenden "passiven" Speicherbe
reich MEM' fortzuschreiben ist.
Während der Auffrischungsphase überprüft der Kreuzauffri
schungs-Leiter BXUM der aktiven Seite MPU den durch die In
tervallregister festgelegten Speicherbereich des Arbeitsspei
chers MEM auf alle Schreibzugriffe sowie auf Direktlesezu
griffe des 'cross copy'. Wird ein solcher Zugriff erkannt,
werden die Adressen und Daten des Zugriffs sowie Zusatzinfor
mation, z. B. ein Kennbit zur Unterscheidung von Adressen und
Daten und/oder ein Kennbit zur Kennzeichnung des Burstendes,
über den Kreuzbus BXL übertragen. Die Kennzeichnung des
Burstendes ist im Fall des Ausführungsbeispiel erforderlich,
da ein ganzer Datensatz der ATM-Anwendung, ein sogenannter
Burst, 20 Wortlängen umfaßt. In Abhängigkeit von der Ausfüh
rungsform können andere Zusatzinformationen über den Kreuz
bus übertragen werden.
Bei jedem Prozessorbuszyklus wird mit dem Adressengültig
keitssignal die Adresse in ein Adressvergleichsregister des
Leiters BXUM übernommen und mit den Intervallregistern ver
glichen. Das Ergebnis dieses Vergleichs wird zusammen mit dem
Schreibsignal für den Arbeitsspeicher und dem Direktzugriffs
signal der Bussteuereinrichtung BMI ausgewertet und daraus
abgeleitet, ob ein Kreuzauffrischungszyklus zur Übertragung
der Daten am Prozessorbus PBU über den Kreuzbus PBU auszufüh
ren ist. Falls nicht, wartet der Leiter BXUM auf die nächste
gültige Adresse. Wird dagegen ein Kreuzauffrischungszyklus
initiiert, werden die Daten in einen Silospeicher, der in dem
Leiter BXUM vorgesehen ist, geschrieben.
In dem Ausführungsbeispiel erscheinen während eines Burstzy
klus mit jedem Taktzyklus des Prozessorbus PBU neue Daten der
Busbreite, d. h. ein 32-Bit-Wort. Am Kreuzbus BXL mit 16 bit
Busbreite werden somit zwei Taktzyklen gebraucht. Um die
Prozessoreinrichtung MPU nicht zu bremsen, ist im Leiter BXUM
zum Entschärfen des Flaschenhalses am Kreuzbus BXL ein Silo
speicher MFF ('Master FiFo') vorgesehen. Wie im Blockschalt
bild der Fig. 4a gezeigt, erfolgt das Schreiben in den Leite-
Silospeicher MFF mit jeweils 32 bit, während das Auslesen,
d. h. die Übermittlung über den Kreuzbus BXL, jeweils 16 bit
liefert. Geschrieben wird jede Kreuzauffrischungs-pflichtige
Adresse pad und jedes Kreuzauffrischungs-pflichtige Datum
pdt. Die Adresse pad und das Datenwort pdt werden über D-Re
gister zur Steuerung der Taktlage und einen Multiplexer MUX
dem Silospeicher MFF zugeführt.
Wie bereits erwähnt, wird im Leite-Silospeicher MFF jeweils
32- bzw. 34-bitweise eingeschrieben und 16- bzw. 18-bitweise
ausgelesen. Die Adressen pad werden mit den zugehörigen Kenn
bits pkb, aber ohne die zwei höchsten Bits übertragen, um die
gesamte Adresse in 32 bit übertragen zu können. Die Übertra
gung der höchsten Bits ist im Ausführungsbeispiel entbehr
lich, da der Arbeitsspeicher MEM nur einen Teil des Adreßrau
mes belegt. Die Tiefe des Leite-Silospeichers MFF beträgt
z. B. 20 mal 34 bit, wobei die 34 bit sich aus den je 16 bit
der Adresse und des Datums zuzüglich der Zusatzinformationen
ergeben und die Zahl 20 in Übereinstimmung der Burstlänge der
ATM-Anwendung gewählt wurde. Der Leite-Silospeicher MFF ist
mit einem Folge-Silospeicher SFF ('Slave FiFo') der anderen
Prozessoreinrichtung MPU' verbunden und sendet, solange er
nicht leer ist, diesem die Adreß- und Datenwörter.
In besonderen Fällen, z. B. wenn in der aktiven Prozessorein
richtung MPU mehrere Kreuzauffrischungs-pflichtige Bursts
hintereinander auftreten und dadurch der Silospeicher seinen
Sättigungsstand erreicht, müssen die Bursts verlangsamt wer
den. Das Erreichen der Sättigung des Leite-Silospeichers MFF
wird der Steuerung des Arbeitsspeichers MEM mittels eines
eigenen Signals angezeigt, welches die Schreibzugriffe auf
den Speicher verlangsamt, z. B. indem Schreibzugriffe nur mehr
mit der halben Taktrate gestattet werden, oder vorübergehend
aufhält, bis das Signal wieder zurückgenommen wird. Das Si
gnal wird dann aktiviert, wenn der Silospeicher MFF fast voll
ist, also beispielsweise nur noch zwei Einträge frei sind,
und ein Kreuzauffrischungs-pflichtiger Buszugriff erkannt
wird. Damit wird verhindert, daß Zugriffe, die ohnehin kein
Cross Update initiieren, verlangsamt werden.
Der Folger BXUS' übernimmt die Daten, die der Leiter BXUM
über den Kreuzbus BXL sendet. Je Zyklus werden im Ausfüh
rungsbeispiel 16 bit Daten und 2 bit Steuerinformation
(Adresse/Daten-Kennbit und Burstende-Kennbit) übernommen. Wie
bereits erwähnt, weist der Folger BXUS' ebenfalls einen Si
lospeicher auf, den Folge-Silospeicher SFF, in welchen einer
seits über den Kreuzbus BXL ankommende Daten geschrieben,
andererseits die Daten ausgelesen und auf den Prozessorbus
PBU' weitergegeben werden. Wenn mindestens ein Satz aus
Adreß- und Datenwort (also mindestens zwei Einträge im Si
lospeicher) vorhanden sind, wird der Prozessorbus PBU' ange
fordert und, sobald der Prozessorbus für den Folger BXUS'
frei ist, ein Schreibzyklus auf den Arbeitsspeicher MEM'
ausgeführt; währenddessen verhindert ein Wartesignal an den
Folger BXUM den Verlust von Daten.
Wie aus dem Blockschaltbild der Fig. 4b zu ersehen ist, be
steht der Folge-Silospeicher SFF aus zwei Blöcken FF0, FF1 mit
einer Tiefe von z. B. je 36 Zellen, in die wechselweise einge
schrieben wird. Das höhere 16-bit-Wort hsw eines Langwortes
und das niedere 16-bit-Wort lsw eines Langwortes werden ja
nacheinander über den Kreuzbus BXL empfangen; ein Multiplexer
MUX führt die Verteilung der Wörter hsw, lsw sowie der Kenn
bits pkb auf die Silospeicherblöcke FF0, FF1 aus. Auf diese
Weise wird eine Umwandlung der 2 × 16 bit zu 32 Bit (34 Bit)
durchgeführt. Die Kennbits der beiden Wörter hsw, lsw sind
zueinander redundant und werden daher nur einmal pro Langwort
der Adresse pad bzw. des Datums pdt gespeichert. Daraus er
gibt sich, daß der eine Block FF0 18 bit breit und der ande
re Block FF1 16 bit breit ist. Die über den Kreuzbus BXL
kommenden Daten hsw, lsw, pkb werden abgetaktet und an einen
Bus gelegt, an dem die Eingänge der Silospeicher-Zellen FF0,
FF1 liegen. Die Steuerleitungen für die Eingänge der Blöcke
FF0, FF1 werden von einem 6-bit-Schreibzähler gesteuert,
wobei das niedrigste Bit des Schreibzählers darüber entschei
det, in welchen Silospeicherblock geschrieben wird. Die Steu
erbits pkb werden dabei nur bei Einträgen mit geradzahligen
Adressen mitgespeichert, da die Prozessorbus-Zugriffe prinzi
piell im 32-Bit-Format erfolgen.
Beim Auslesen des Folge-Silospeichers SFF wird erst die
Adresse pad in ein Adreßvergleichsregister geladen und dort
mit den Intervallregistern verglichen. Liegt die Adresse
nicht im eingestellten Bereich oder handelt es sich nicht um
eine gültige Adresse, dann nimmt sich der Folger BXUS' selbst
außer Betrieb und zeigt über einen Signalausgang diesen Feh
ler an, welcher z. B. eine Unterbrechung zur Fehlerbehandlung
auslöst. Ist die Adresse in Ordnung, wird der Prozessorbus
PBU' angefordert. Erhält der Folger BXUS' den Bus, wird ein
Schreibzyklus auf den Speicher MEM' durchgeführt. Es werden
Daten an den Prozessorbus PBU' gelegt, bis die im Silospei
cher SFF mitgespeicherte Signalisierung der Kennbits das
Burstende anzeigt.
Wie bereits beschrieben weist der Folger BXUS' einen zweige
teilten Folge-Silospeicher SFF auf, welcher getaktet betrie
ben wird und gleichzeitig beschrieben und gelesen werden
kann. Ein Eintrag im Silospeicher SFF besteht aus 34 Bit.
Davon sind 32 bit Daten pdt und Adresse pad, die beiden rest
lichen Bits sind Kennbits pkb wie weiter oben erläutert,
welche der Steuerung der Abfolge der Buszyklen dienen. Die
Übertragung der Daten am Kreuzbus BXL erfolgt jedoch immer
32bitweise, ungeachtet der Kennbits, die am Kreuzbus im
Adreßwort mitübertragen werden. Wenn im Folge-Silospeicher
SFF ein Füllstand erreicht ist, so daß weniger als 20 Lang
worte abgespeichert werden können, wird über das bereits
erwähnte Sperrsignal das Übermitteln weiterer Daten über den
Kreuzbus BSL durch den Leiter BXUM der Partnereinrichtung MPU
gesperrt.
Aus dem Leite-Silospeicher MFF werden die Adressen/Daten aus
gelesen, wenn und solange er nicht leer ist. Die Koordination
zwischen Leite- und Folge-Silospeicher MFF, SFF erfolgt im
Ausführungsbeispiel über ein Silo-Sperrsignal, welches vom
Folger BXUS' der passiven Prozessoreinrichtung stammt und
dazu dient, das Auslesen des Leite-Silospeichers MFF zu bloc
kieren. Dies kann z. B. erforderlich sein, wenn sonst ein
Überlauf des Folge-Silospeichers SFF nicht ausgeschlossen
wäre. Das ist durch eine geeignete Überwachungsschaltung wie
folgt gewährleistet. Wenn am Folger BXUS' der Silospeicher
SFF über eine voreingestellte Grenze - beispielsweise wenn
nur mehr 16 Langwörter frei sind, so daß nicht mehr ein gan
zer ATM-Burst gespeichert werden kann - hinaus gefüllt wird,
dann wird das Silo-Sperrsignal gesetzt, welches dem Folger
BXUM der Partnerseite (der aktiven Prozessoreinrichtung MPU)
zugeführt wird. Wird dieses Signal gesetzt während der Folger
BXUM aktiviert ist, so wird mittels eines inneren Blockier
signals der Folgersteuerung der Prozessorbus PBU und/oder der
Prozessor CPU blockiert, um das Senden von weiteren Daten zu
unterbinden. Außerdem wird im Folger BXUM ein Timeout von
128 Takten gestartet; bei Ablauf dieses Timeout wird das
Blockiersignal wieder aufgehoben, der Folger BXUM angehalten
und eine Fehlerbehandlung, z. B. mittels einer NMI-Unterbre
chung, ausgelöst. Dies ist eine Sicherheitsmaßnahme, welche
eine dauernde Blockierung einer Prozessoreinrichtung MPU im
Fall eines Hardware-Fehlers der Partnereinrichtung MPU' ver
meidet.
Der Mechanismus des Silo-Sperrsignals ist in allen Systemzu
ständen außer bei aktivem Kreuzauffrischungs-Leiter BXUM ge
sperrt, um eine ungewollte Blockierung des Kreuzbus BXL, z. B.
durch einen defekten Folger BXUS', zu verhindern. Das Silo-
Sperrsignal unterliegt am Eingang zum XUM einer Flankenerken
nung derart, daß das innere Blockiersignal nur dann aktiviert
wird, wenn eine fallende Flanke auftritt - das Sperrsignal
ist low-aktiv - und der Leiter BXUM aktiviert ist.
Die Kreuzauffrischung erreicht schließlich einen Zustand, in
dem die Speicherinhalte der Arbeitsspeicher MEM, MEM' beider
Prozessoreinrichtungen MPU, MPU' übereinstimmen. Wenn dies
der Fall ist, löst die Bussteuereinrichtung BMI ein Signal
aus, den Synchronisations-Reset, der den mikrosynchronen
Modus aktiviert und veranlaßt, daß beide Prozessoren CPU,
CPU' mikrosynchron die folgenden Befehle verarbeiten.
Zum Testen der Kreuzauffrischungs-Funktionalität während des
mikrosynchronen Betriebs oder auch im einzelstehenden Betrieb
einer Prozessoreinrichtung MPU ist eine Kreuzauffrischungs-
Testschleife (BXUT, 'Bus cross Update Testloop') vorgesehen,
die über eine eigene Steuerleitung aktivierbar ist. Lediglich
in diesem Testfall ist es möglich, Leiter BXUM und Folger
BXUS derselben Prozessoreinrichtung gleichzeitig zu aktivie
ren. Die Testschleife schließt den Leiter BXUM und den Folger
BXUS einer Prozessoreinrichtung miteinander kurz, deaktiviert
jedoch die Verbindung über den Kreuzbus BXL zur anderen Pro
zessoreinrichtung MPU'. Letzteres ist erforderlich, um etwai
ge Kurzschlüsse auf den Datenleitungen zu vermeiden. Bei der
internen Weitergabe der Daten vom Leiter BXUM an den Folger
BXUS werden die Adressen mit einem in einem eigenen Register
gespeicherten Offset versehen, damit der Folger BXUS die
Daten nicht an dieselbe Adressenstelle zurückschreibt.
Es sei angemerkt, daß die Realisierung der Kreuzauffrischung
an sich nicht voraussetzt, daß die beteiligten Prozessorein
richtungen in einer mikrosynchronen Betriebsart betreibbar
sind; vielmehr eignet sich der Kreuzauffrischungs-Mechanismus
für gedoppelte Prozessoreinrichtungen allgemeinerer Art, in
denen eine gegenseitige Aktualisierung z. B. des Arbeitsspei
chers gefordert ist.
Claims (17)
1. Prozessoreinrichtung (MPU), welche eine Takterzeugungs
einheit (CLK), eine Prozessoreinheit (CPU), einen Arbeits
speicher (MEM) und einen als Daten- und Adressenbus für die
Prozessoreinheit und den Arbeitsspeicher eingerichteten Pro
zessorbus (PBU) aufweist,
gekennzeichnet durch
eine Bussteuereinrichtung (BMI), welche eine Schnittstelle
für einen Kreuzbus (BXL) zu zumindest einer weiteren Prozes
soreinrichtung (MPU') aufweist und dazu eingerichtet ist,
während des Betriebes der Prozessoreinrichtung (MPU) in einer
gemeinsam mit der zumindest einen, über den Kreuzbus verbun
denen Prozessoreinrichtung (MPU') mikrosynchronen Betriebsart
bei einem Datenaustausch über den Prozessorbus (PBU), z. B.
einem Datenzugriff der Prozessoreinheit (CPU),
- - eine Signatur (psg) der ausgetauschten Daten zu berechnen oder entgegenzunehmen,
- - die Signatur mit der zumindest einen weiteren Bussteuerein richtung (BMI') über den Kreuzbus (BXL) auszutauschen,
- - die so erhaltene Signatur (xsg) mit der eigenen Signatur (psg) zu vergleichen und
- - im Falle einer mangelnden Übereinstimmung der Signaturen ein Fehlersignal (sfl), welches eine Fehlerbehandlung, z. B. eine Fehlerdiagnose, der Prozessoreinrichtung (MPU) aus löst, auszugeben.
2. Prozessoreinrichtung (MPU) nach Anspruch 1,
dadurch gekennzeichnet, daß die Takterzeugungsein
heit (CLK) mit einer Takterzeugungseinheit (CLK') einer zwei
ten, über den Kreuzbus verbundenen Prozessoreinrichtung
(MPU') innerhalb einer vorgegebenen maximalen Synchronisati
onstoleranz synchronisierbar ist und die Prozessoreinheit
(CPU) auf der Grundlage des synchronisierten Taktes der Tak
terzeugungseinheit (CLK) durch ein Startsignal mit einer
Prozessoreinheit (CPU') der zweiten Prozessoreinrichtung
(MPU') innerhalb einer vorgegebenen maximalen Taktdifferenz
synchronisiert startbar ist.
3. Prozessoreinrichtung (MPU) nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die Bussteuereinrich
tung (BMI) einen Vergleichsbaustein (VGL) aufweist, über
dessen Eingänge die Signaturen (psg, xsg) zugeführt werden
und der zum bitweisen Vergleich der Signaturen eingerichtet
ist.
4. Prozessoreinrichtung (MPU) nach einem der Ansprüche 1
bis 3,
dadurch gekennzeichnet, daß die eigenen Signaturen
(psg) über einen Silospeicher (PFF) zeitverzögert dem Ver
gleich zugeführt werden.
5. Prozessoreinrichtung (MPU) nach einem der Ansprüche 1
bis 4,
dadurch gekennzeichnet, daß die Bussteuereinrich
tung (BMI) eine Kreuzleseeinrichtung aufweist, welche zum
gegenseitigen Auslesen von Komponenten der Prozessor
einrichtung (MPU) und/oder einer zweiten, über den Kreuzbus
(BXL) verbundenen Prozessoreinrichtung (MPU') über den Kreuz
bus (BXL) unter Freigabe der gelesenen Daten zu einem mit der
Kreuzleseeinrichtung der zweiten Prozessoreinrichtung (MPU')
synchronisierten Zeitpunkt eingerichtet ist.
6. Prozessoreinrichtung (MPU) nach Anspruch 5,
dadurch gekennzeichnet, daß die Kreuzleseeinrich
tung dazu eingerichtet ist, bei einem Lesezugriff auf eine
Komponente, welche seitens der Prozessoreinrichtung (MPU)
zugreifbar ist, die von der Komponente erhaltenen Daten über
den Kreuzbus (BXL) zu übermitteln.
7. Prozessoreinrichtung (MPU) nach Anspruch 5 oder 6,
dadurch gekennzeichnet, daß die Kreuzleseeinrich
tung dazu eingerichtet ist, anstelle eines Lesezugriffs auf
eine Komponente, welche seitens der zweiten Prozessor
einrichtung (MPU') zugreifbar ist, die entsprechenden Daten
über den Kreuzbus (BXL) von der zweiten Prozessoreinrichtung
(MPU') zu empfangen.
8. Prozessoreinrichtung (MPU) nach einem der Ansprüche 5
bis 7,
dadurch gekennzeichnet, daß die Kreuzleseeinrich
tung den Zugriff auf die Komponenten der Prozessoreinrichtung
(MPU) bzw. der zweiten Prozessoreinrichtung (MPU') aufgrund
der Adressierung des den betreffenden Komponenten zugeordne
ten Adreßbereichs steuert, wobei
- - ein erster Adreßbereich dem Zugriff beider Prozessorein richtungen (MPU, MPU') auf die betreffende Komponente der Prozessoreinrichtung (MPU),
- - ein zweiter Adreßbereich dem Zugriff beider Prozessorein richtungen auf die betreffende Komponente der zweiten Pro zessoreinrichtung (MPU') sowie
- - ein dritter Adreßbereich dem Zugriff der Prozessoreinrich tungen auf die jeweils eigene Komponente zugeordnet ist.
9. Prozessoreinrichtung (MPU) nach einem der Ansprüche 1
bis 8,
dadurch gekennzeichnet, daß die Bussteuereinrich
tung (BMI) eine Kreuzauffrischungs-Leiteinrichtung (BXUM)
aufweist, welche dazu eingerichtet ist, den Inhalt des Ar
beitsspeichers (MEM) über Direktzugriffe auszulesen und ge
meinsam mit der jeweils zugehörigen Speicheradresse über den
Kreuzbus (BXL) zu übermitteln.
10. Prozessoreinrichtung (MPU) nach Anspruch 9,
dadurch gekennzeichnet, daß die Leiteinrichtung
(BXUM) dazu eingerichtet ist, bei Schreibzugriffen der Pro
zessoreinheit (CPU) auf den Arbeitsspeicher (MEM) innerhalb
des Adressenbereichs der bereits übermittelten Speicherinhal
te jeweils eine Kopie der betreffenden Speicherdaten und
Speicheradressen über den Kreuzbus (BXL) zu übermitteln.
11. Prozessoreinrichtung (MPU) nach Anspruch 9 oder 10,
dadurch gekennzeichnet, daß die über den Kreuzbus
ausgetauschten Daten Zusatzinformationen zu den bei dem Di
rektzugriff gelesenen bzw. geschriebenen Daten enthalten,
z. B. Kenndaten, welche den Beginn oder das Ende eines Daten
blockes anzeigen, oder eine Adressenkennung zur Unterschei
dung von Adressen und Daten.
12. Prozessoreinrichtung (MPU) nach einem der Ansprüche 9
bis 11,
dadurch gekennzeichnet, daß die Leiteinrichtung
(BXUM) einen Silospeicher (MFF) als Pufferspeicher für die
über den Kreuzbus zu übertragenden Daten und Adressen auf
weist.
13. Prozessoreinrichtung (MPU) nach Anspruch 12,
dadurch gekennzeichnet, daß die Leiteinrichtung
(BXUM) einen Signalausgang aufweist, welcher bei einem vorge
gebenen Füllungsgrad des Silospeichers (MFF) aktiviert ist
und welcher mit einem Eingang der Prozessoreinheit (CPU)
verbunden ist, durch welchen Schreibzugriffe der Prozes
soreinheit (CPU) auf den Arbeitsspeicher (MEM) verlangsamt
oder vorübergehend aufgehalten werden.
14. Prozessoreinrichtung (MPU) nach einem der Ansprüche 9
bis 13,
dadurch gekennzeichnet, daß die Bussteuereinrich
tung (BMI) eine Kreuzauffrischungs-Folgeeinrichtung (BXUS')
aufweist, welche dazu eingerichtet ist, über den Kreuzbus
(BXL) gemeinsam mit der jeweils dazugehörigen Speicheradresse
empfangene Speicherinhalte in den Arbeitsspeicher (MEM) an
der entsprechenden Adressenstelle zu schreiben.
15. Prozessoreinrichtung (MPU) nach Anspruch 14,
dadurch gekennzeichnet, daß die Kreuzauffrischungs-
Folgeeinrichtung einen Silospeicher (SFF) als Pufferspeicher
für die über den Kreuzbus übertragenen Daten und Adressen
aufweist.
16. Prozessorsystem (PSR), bestehend aus zumindest zwei Pro
zessoreinrichtungen (MPU, MPU') nach einem der vorhergehenden
Ansprüche,
dadurch gekennzeichnet, daß
- - die Prozessoreinrichtungen (MPU, MPU') miteinander über den Kreuzbus (BXL) verbunden sind,
- - die Prozessoreinheiten (CPU, CPU') der Prozessoreinrichtun gen (MPU, MPU') auf der Grundlage eines gemeinsamen Taktes untereinander durch ein gemeinsames Startsignal innerhalb einer vorgegebenen maximalen Taktdifferenz synchronisiert startbar sind und
- - die Bussteuereinrichtungen (BMI, BMI') der Prozessoreinrich tungen (MPU, MPU') dazu eingerichtet sind, bei jedem dar auffolgenden Datenzugriff der Prozessoreinheiten (CPU, CPU') über den jeweils zugeordneten Prozessorbus (PBU, PBU') über den Kreuzbus (BXL) Signaturen (psg, xsg) betref fend den Datenzugriff auszutauschen, hinsichtlich ihrer Übereinstimmung auszuwerten und im Falle einer mangelnden Übereinstimmung ein Fehlersignal auszugeben.
17. Prozessorsystem (PSR) nach Anspruch 16,
dadurch gekennzeichnet, daß es dazu eingerichtet
ist, aufgrund eines Fehlersignales zumindest in jener Prozes
soreinrichtung (MPU), die das Fehlersignal ausgelöst hat,
eine Fehlerbehandlung, z. B. eine Fehlerdiagnose, durchzufüh
ren und währenddessen den Betrieb des Prozessorsystems auf
der zumindest einen übrigen Prozessoreinrichtung (MPU') wei
terzuführen.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19832060A DE19832060C2 (de) | 1998-07-16 | 1998-07-16 | Doppelbare Prozessoreinrichtung |
PCT/DE1999/001917 WO2000004448A1 (de) | 1998-07-16 | 1999-07-01 | Doppelbare prozessoreinrichtung |
CNB998087203A CN1149481C (zh) | 1998-07-16 | 1999-07-01 | 可加倍的处理器设备 |
US09/761,803 US6694449B2 (en) | 1998-07-16 | 2001-01-16 | Duplicable processor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19832060A DE19832060C2 (de) | 1998-07-16 | 1998-07-16 | Doppelbare Prozessoreinrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19832060A1 DE19832060A1 (de) | 2000-01-20 |
DE19832060C2 true DE19832060C2 (de) | 2000-07-06 |
Family
ID=7874329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19832060A Expired - Fee Related DE19832060C2 (de) | 1998-07-16 | 1998-07-16 | Doppelbare Prozessoreinrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US6694449B2 (de) |
CN (1) | CN1149481C (de) |
DE (1) | DE19832060C2 (de) |
WO (1) | WO2000004448A1 (de) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243829B1 (en) * | 1998-05-27 | 2001-06-05 | Hewlett-Packard Company | Memory controller supporting redundant synchronous memories |
US6859892B2 (en) * | 2001-04-25 | 2005-02-22 | Hewlett-Packard Development Company, L.P. | Synchronous breakpoint system and method |
US7533063B2 (en) * | 2001-06-14 | 2009-05-12 | Silicon Storage Technology, Inc. | Smart memory card wallet |
EP1246033A1 (de) * | 2001-08-23 | 2002-10-02 | Siemens Aktiengesellschaft | Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen |
KR100429899B1 (ko) * | 2001-12-22 | 2004-05-03 | 한국전자통신연구원 | Fudcom에 의한 결함허용 제어장치 및 방법 |
JP2003316599A (ja) * | 2002-02-22 | 2003-11-07 | Seiko Epson Corp | 集積回路 |
KR100474704B1 (ko) * | 2002-04-29 | 2005-03-08 | 삼성전자주식회사 | 데이터의 버스트 동시쓰기가 가능한 프로세서 이중화 장치 |
CN1678315A (zh) * | 2002-06-14 | 2005-10-05 | 武田药品工业株式会社 | 用于治疗如消化性溃疡的质子泵抑制剂咪唑衍生物的前药 |
WO2004105278A1 (en) * | 2003-05-20 | 2004-12-02 | Philips Intellectual Property & Standards Gmbh | Time-triggered communication system and method for the synchronization of a dual-channel network |
JP4161276B2 (ja) * | 2004-12-17 | 2008-10-08 | 日本電気株式会社 | フォルトトレラントコンピュータ装置およびその同期化方法 |
JP4182486B2 (ja) * | 2004-12-20 | 2008-11-19 | 日本電気株式会社 | フォールト・トレラント・コンピュータ・リセット方法及びそのシステム |
JP4154610B2 (ja) * | 2004-12-21 | 2008-09-24 | 日本電気株式会社 | フォールトトレラントコンピュータ及びその制御方法 |
JP4182948B2 (ja) * | 2004-12-21 | 2008-11-19 | 日本電気株式会社 | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 |
JP2006178636A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントコンピュータ、およびその制御方法 |
JP2006178618A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントコンピュータ及びデータ送信制御方法 |
JP3897046B2 (ja) * | 2005-01-28 | 2007-03-22 | 横河電機株式会社 | 情報処理装置および情報処理方法 |
DE102006036384A1 (de) * | 2005-08-11 | 2007-03-29 | Continental Teves Ag & Co. Ohg | Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen |
TWI261657B (en) * | 2005-08-24 | 2006-09-11 | Delta Electronics Inc | Controlling apparatus having dual processors |
JP2007272358A (ja) * | 2006-03-30 | 2007-10-18 | Pioneer Electronic Corp | 情報処理装置 |
WO2008053709A1 (fr) * | 2006-11-02 | 2008-05-08 | Nec Corporation | Dispositif et procédé de test de sélection de circuit intégré semi-conducteur |
US8116314B2 (en) * | 2007-03-29 | 2012-02-14 | Nec Corporation | Apparatus for processing packets and method of doing the same |
US7886195B2 (en) * | 2008-05-05 | 2011-02-08 | Infineon Technologies Ag | Apparatus, system, and method of efficiently utilizing hardware resources for a software test |
JP5344936B2 (ja) * | 2009-01-07 | 2013-11-20 | 株式会社日立製作所 | 制御装置 |
JP2010198131A (ja) * | 2009-02-23 | 2010-09-09 | Renesas Electronics Corp | プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法 |
WO2011068177A1 (ja) * | 2009-12-02 | 2011-06-09 | 日本電気株式会社 | 二重化計算システム及び二重化計算方法 |
JP2011128821A (ja) * | 2009-12-17 | 2011-06-30 | Yokogawa Electric Corp | 二重化フィールド機器 |
EP2413208B1 (de) * | 2010-07-29 | 2015-10-07 | Rockwell Automation Limited | Prozessorkonnektivität |
WO2013011353A1 (en) * | 2011-07-20 | 2013-01-24 | Freescale Semiconductor, Inc. | Processing apparatus and method of synchronizing a first processing unit and a second processing unit |
WO2015180667A1 (en) * | 2014-05-28 | 2015-12-03 | Mediatek Inc. | Computing system with reduced data exchange overhead and related data exchange method thereof |
US10002056B2 (en) * | 2015-09-15 | 2018-06-19 | Texas Instruments Incorporated | Integrated circuit chip with cores asymmetrically oriented with respect to each other |
NL2019206B1 (en) * | 2017-07-10 | 2019-01-16 | Vialis B V | Control system for a railway crossing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4005321A1 (de) * | 1990-02-20 | 1991-08-22 | Siemens Ag | Fehlertolerantes rechnersystem |
WO1994008292A1 (en) * | 1992-09-30 | 1994-04-14 | Siemens Telecomunicazioni S.P.A. | Duplicate control and processing unit for telecommunications equipment |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5086429A (en) * | 1990-04-10 | 1992-02-04 | Honeywell Inc. | Fault-tolerant digital computing system with reduced memory redundancy |
GB2268817B (en) * | 1992-07-17 | 1996-05-01 | Integrated Micro Products Ltd | A fault-tolerant computer system |
US5748873A (en) * | 1992-09-17 | 1998-05-05 | Hitachi,Ltd. | Fault recovering system provided in highly reliable computer system having duplicated processors |
US5513338A (en) * | 1993-03-12 | 1996-04-30 | Intel Corporation | Apparatus for tracing activity on a bus of an in-circuit emulator |
US5600786A (en) * | 1993-07-30 | 1997-02-04 | Honeywell Inc. | FIFO fail-safe bus |
US5504859A (en) * | 1993-11-09 | 1996-04-02 | International Business Machines Corporation | Data processor with enhanced error recovery |
US5535405A (en) * | 1993-12-23 | 1996-07-09 | Unisys Corporation | Microsequencer bus controller system |
JP2790034B2 (ja) * | 1994-03-28 | 1998-08-27 | 日本電気株式会社 | 非運用系メモリ更新方式 |
US5630056A (en) * | 1994-09-20 | 1997-05-13 | Stratus Computer, Inc. | Digital data processing methods and apparatus for fault detection and fault tolerance |
KR0149891B1 (ko) * | 1994-12-22 | 1999-05-15 | 윤종용 | 버스상태분석기 및 그 내부버스시험방법 |
US5692121A (en) * | 1995-04-14 | 1997-11-25 | International Business Machines Corporation | Recovery unit for mirrored processors |
FR2737029B1 (fr) * | 1995-07-19 | 1997-09-26 | Sextant Avionique | Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication |
US5729678A (en) * | 1996-03-04 | 1998-03-17 | Ag Communication Systems Corporation | Bus monitor system |
US5915082A (en) * | 1996-06-07 | 1999-06-22 | Lockheed Martin Corporation | Error detection and fault isolation for lockstep processor systems |
US5799022A (en) * | 1996-07-01 | 1998-08-25 | Sun Microsystems, Inc. | Faulty module location in a fault tolerant computer system |
-
1998
- 1998-07-16 DE DE19832060A patent/DE19832060C2/de not_active Expired - Fee Related
-
1999
- 1999-07-01 CN CNB998087203A patent/CN1149481C/zh not_active Expired - Fee Related
- 1999-07-01 WO PCT/DE1999/001917 patent/WO2000004448A1/de active Application Filing
-
2001
- 2001-01-16 US US09/761,803 patent/US6694449B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4005321A1 (de) * | 1990-02-20 | 1991-08-22 | Siemens Ag | Fehlertolerantes rechnersystem |
WO1994008292A1 (en) * | 1992-09-30 | 1994-04-14 | Siemens Telecomunicazioni S.P.A. | Duplicate control and processing unit for telecommunications equipment |
Non-Patent Citations (1)
Title |
---|
Lohmann, H.-J.: Sicherheit von Mikrocomputern für die Eisenbahnsignaltechnik, In: Elektronische Rechenanlagen, 1980, H.5, S. 229-236 * |
Also Published As
Publication number | Publication date |
---|---|
US6694449B2 (en) | 2004-02-17 |
DE19832060A1 (de) | 2000-01-20 |
US20010025352A1 (en) | 2001-09-27 |
CN1309789A (zh) | 2001-08-22 |
CN1149481C (zh) | 2004-05-12 |
WO2000004448A1 (de) | 2000-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19832060C2 (de) | Doppelbare Prozessoreinrichtung | |
DE4233569C2 (de) | Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten | |
EP0057756B1 (de) | Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen | |
DE3328405C2 (de) | ||
EP2513796B1 (de) | Verfahren zum betreiben einer recheneinheit | |
EP1249744A1 (de) | Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen | |
DE4335061C2 (de) | Mehrspeichervorrichtung | |
EP1537482B1 (de) | Verfahren und schaltungsanordnung zur synchronisation synchron oder asynchron getakteter verarbeitungseinheiten | |
DE3037475A1 (de) | Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage | |
EP1226500B1 (de) | Integrierter schaltkreis mit gedoppelten synchronen und asynchronen komponenten | |
DE112019007853T5 (de) | Steuereinrichtung | |
DE2842603C3 (de) | Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems | |
EP0358785B1 (de) | Einrichtung zum Betrieb eines redundanten Mehrrechnersystems für die Steuerung eines elektronischen Stellwerkes in der Eisenbahnsignaltechnik | |
DE10297008T5 (de) | Fehlertolerante Verarbeitung | |
DE3938501A1 (de) | Verfahren zum betrieb eines mehrkanaligen failsafe-rechnersystems und einrichtung zur durchfuehrung des verfahrens | |
EP1224547B1 (de) | Integrierter elektronischer baustein mit duplizierter kernlogik und hardware-fehlereinspeisung für prüfzwecke | |
DE1966991A1 (de) | Ausfallgesicherte datenverarbeitungsanlage | |
WO1999044135A1 (de) | Synchronisations- und/oder datenaustauschverfahren für sichere, hochverfügbare rechner und hierzu geeignete einrichtung | |
DE102004038596A1 (de) | Verfahren zur Fehlerregistrierung und entsprechendes Register | |
EP3469484B1 (de) | Datenübertragung zwischen signaltechnisch sicheren recheneinheiten | |
EP1426862B1 (de) | Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems | |
EP0852864B1 (de) | Verfahren zum auslesen von fehlerstatistikdaten | |
DE102021104431A1 (de) | Datenverarbeitungssystem und Verfahren zum Speichern von Betriebsdaten in einem Fahrzeug | |
DE4143452C2 (de) | Computer mit einer Mehrzahl von Prozessormodulen und einem Speichermodul | |
DE2012052A1 (de) | Verfahren zur Fehlersuche in einem programmgesteuerten Vermittlungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE |
|
8339 | Ceased/non-payment of the annual fee |