-
-
Mehrprozessorsystem
-
(beansprucht wird die Priorität der japanischen P#tentanmeldung# T
58-55728 vom 31.03.1983) Die Erfindung bezieht sich auf ein Mehrprozessorsystem,
bei dem Ü) mehrere Prozessoreinheiten jeweils über ßuszugriffsein heiten mit einem
gemeinsamen Systembus verbunden sind, b) jede Prozessoreinheit mindestens einen
Mikroprozessor, einen Festwertspeicher und einen Schreib/Lesespeicher umfaßt, und
c) am Systembus ein allen Prozessoreinheiten gemeinsamer Speicher angeschlossen
ist.
-
Derartige Systeme sind beispielsweise in der Zeitschrift Elektronik,
1982, Heft 4, Seiten 55 bis 62 beschrieben.
-
Das Programm jedes Mikroprozessors ist normalerweise in einem Festwertspeicher
(PROM) niedergelegt. Zum Ändern und Korrigieren des gespeicherten Inhalts des Festwertspeichers
muß die Datenverarbeitung des gesamten Systems unterbrochen werden. Die Leiterplatte,
auf die der Festwertspeicher befestigt ist, muß herausgezogen werden und der betreffende
Festwertspeicher durch einen anderen Festwertspeicher ersetzt werden. Hierauf kann
dann die Datenverarbeitung im gesamten System fortgesetzt werden. Dieser Austausch
von Festwertspeichern ist relativ mühsam und zeitaufwendig.
-
Figur 1 zeigt ein übliches Mehrprozessorsystem. Mit 1-0 ... l-M (die
dazwischenliegenden Bausteine sind z. r.
-
nicht dargestellt) sind Prozessoreinheiten bezeichnet, mit 2 ein gemeinsamer
Speicher, mit 3 der gemeinsame Systembus, mit 4-0 ... 4-N Peripheriesteuereinheiten
und mit 5-0 ... 5-N periphere Geräte.
-
Jede der Prozessoreinheiten 1-0 ... l-M umfaßt einen Mikroprozessor
11, einen Festwertspeicher 12, einen Schreib/Lesespeicher 13 und eine Buszugriffseinheit
14 für den Zugriff zum Systembus 3.
-
Jede der Peripheriesteuereinheiten 4-0 ... 4-N umfaßt einen Mikroprozessor
41, einen Festwertspeicher 42, einen Schreib/Lesespeicher 43, eine Buszugriffseinheit
44 und eine Koppelstelle 45 für die peripheren Geräte 5-0 ...
-
5-N.
-
Wenn es erforderlich ist, die in den Festwertspeichern 12, 42 gespeicherten
Programme zu ändern, war es bisher üblich, die betreffende Prozessoreinheit 1-0
... l-M oder eine der Steuereinheiten 4-0 ... 4-N herauszuziehen und den betreffenden
Festwertspeicher durch einen anderen Festwertspeicher zu ersetzen. Daraufhin wurde
die Einheit wieder eingebaut und das System erneut gestartet. Eine derartige Vorgehensweise
bringt einen Stillstand der Anlage von mehreren Minuten mit sich. Eine Möglichkeit
zur Verkürzung der Stillstandszeit wäre die, das Programm nicht in Festwertspeichern
zu speichern, sondern eine Disketteneinheit anzuschließen, z.B. das Peripheriegerät
5-0. Hier könnte das Programm für die Prozessoreinheit 1-0 ... l-M und die Peripheriesteuereinheiten
4-0 ... 4-N gespeichert werden. Das Programm könnte dann von der Diskette durch
die Peripheriesteuereinheit 4-0 und den gemeinsamen Speicher 2 in die Schreib/Lesespeicher
13, 43 der Prozessoreinheiten 1-0 ... l-M und der Periphericsteuereinheiten 4-0
... 4-N geladen werden. Dieses Vor-
gehen wäre jedoch unwirtschaftlich,
da der gemeinsame Speicher 2 einen großen Speicherbereich für die Programm ladung
benötigen würde. Eine derartige Anordnung wäre auch infolge der mehrfachen Datenumschichtung
zeitaufwendig. Außerdem besteht die Gefahr, daß Änderungen in der Diskette zu Störungen
im Gesamtsystem führen können, da die Änderungen üblicherweise mit Hilfe des Mehrprozessorsystems
ausgeführt würden.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Mehrprozessorsystem
anzugeben, mit dem die Programme der einzelnen Prozessoreinheiten relativ einfach
zu ändern sind.
-
Diese Aufgabe wird erfindungsgemäß durch folgende Merkmale gelöst:
d) am Systembus ist zusätzlich eine Festwertspeichereinheit mit austauschbaren Festwertspeichern
angeschlossen, wobei die Festwertspeicher die Programme der Mikroprozessoren der
Prozessoreinheiten enthalten, und e) der Festwertspeicher jeder Prozessoreinheit
steuert auf ein Auslösesignal hin über Ladebefehle die Übertragung des Programms
vom zugehörigen Festwertspeicher der Festwertspeichereinheit über den Systembus
und die jeweilige Buszugriffseinheit in den Schreib/ Lesespeicher der Prozessoreinheit
und übergibt dann die Steuerung an den Schreib/Lesespeicher.
-
Mit anderen Worten ausgedrückt, zusätzlich zu der bekannten Mehrprozessoreinheit
wird noch am Systembus eine Festwertspeichereinheit angeschlossen, deren Festwertspeicher
austauschbar sind. Die in diesen Festwertspeichern niedergelegten Programme können
durch ein Urladerprogramm, das im Festwertspeicher jeder Prozessoreinheit niedergelegt
ist, in den Schreib/Lesespeicher der betreffenden
Prozessoreinheit
zwecks Programmsteuerung übernommen -werden. Das Programm für die Mikroprozessoren
steht also dann im Schreib/Lesespeicher.
-
Anhand eines in der Zeichnung dargestellten Ausführungsbeispiels sei
die Erfindung naher beschrieben; es zeigen: Figur 2 ein Blockschaltbild eines Mehrprozessorsystems
gemäß der vorliegenden Erfindung, Figur 3 die Schritte des Ladeprogramms, Figur
4 den Aufbau des Speichers in einer Festwertspeichereinheit, Figur 5 eine perspektivische
Ansicht einer Festwertspeichereinheit, Figur 6 eine perspektivische Ansicht des
Multiprozessorsystems als Gerät, und Figur 7 eine perspektivische Ansicht des Anschlusses
einer Festwertspeichereinheit an ein Mehrprozessorsystem.
-
Die in Figur 2 dargestellte Schaltung unterscheidet sich von derjenigen
nach Figur 1 dadurch, daß eine Festwertspeichereinheit 6 zusätzlich vorgesehen ist,
in der. Programme für alle Prozessoreinheiten gespeichert sind.
-
Auf ein Startkommando hin wird ein Startsignal durch den Systembus
3 zu jedem Mikroprozessor 11 übermittelt. Auf dieses Startsignal hin greift jeder
Mikroprozessor 11 auf ein Urladerprogramm zu, das in jedem Festwertspeicher 12 niedergelegt
ist. Dieses Urladerprogramm bewirkt die Übernahme von Programmen aus der Programmspeicherein-
heit
6 über den Systembus 3 und die Buszugriffseinheit 14 in die betreffenden Schreib/Lesespeicher
13. Dieser Vorgang der Blockübertragung geschieht mit sehr hoher Geschwindigkeit.
Der zeitliche Ablauf ist in Figur 3 entsprechend den Schritten 1 bis 6 dargestellt.
Im Schritt S1 liest jeder Prozessor 11 seine eigene Prozessornummer K von einer
Einstelltafel od. dgl. in seine eigene Prozessoreinheit 1-K ein. Im zweiten Schritt
S2 liest der Prozessor 11 Daten unter den Adressen 2K + 1, wie in Figur 4 gezeigt,
und zwar einmal eine Speicherbeginnadresse AK, unter der das auszuführende Programm
PK zu finden ist. und die Programmkapazität (Anzahl der zu übertragenden Worte)
LK aus der Festwertspeichereinheit 6. Im Schritt S3 werden die Speicherbeginnadresse
AK, die Speicherkapazitätsnummer LK und die Speicherplatzbeginnummer des Schreib/Lesespeichers
13 in der Prozessoreinheit 1-K, in die das Programm übertragen wird, in die betreffende
Blocktransfereinheit der Buszugriffseinheit 14 eingesetzt. Dann beginnt die Speichertransfereinheit
mit der Übertragung des Programmes PK im Schritt 54. Der Schritt 55 umfaßt die vollständige
Übernahme des Programms P K in den Schreib/Lesespeicher 13 der betreffenden Prozessoreinheit
und eine kurze Wartezeit, bis sichergestellt ist, daß alle Mikroprozessoren ihr
Ladeprogramm abgewickelt haben. Im Schritt S6 verzweigt dann die Steuerung in eine
vorgeschriebene Adresse des Schreib/Lesespeichers 13, welche-die Startadresse für
die Programmausführung ist.
-
Damit wird das Programm ausgeführt.
-
In Figur 4 ist gezei#gt, daß in einem Indexbereich 1D die Speicherbeginnadressen
A unter geradzahligen Adressen 1, 2, 2K, 2M niedergelegt sind, welche den Prozessoreinheiten
Nr. 1-0 ... 1-K ... l-M entsprechen. Die Programmkpazität LO, L1 ... LM ist unter
ungeradzahligen Adressen 1, 3 ... 2K + 1 ... 2M + 1 gespeichert. Ein Programmspeicherteil
P enthält die Programme PO, P1 . . . P M mit entsprechenden Speicherkapazitäten
Lû ... LM, und zwar unter
Adressen, die mit den Speicherbeginnadressen
Ao A1 A k AMübereinstimmen.
-
Figur 5 zeigt einen beispielsweisen Aufbau einer Festwertspeichereinheit.
Wie ersichtlich, sind die einzelnen Festwertspeicher 6A für die einzelnen Mikroprozessoren
11 lösbar im Sockel 6E auf einer Leiterplatte 6B eingesteckt. Mit 6D sind integrierte
Schaltkreise bezeichnet, die als Hilfskreise dienen, wie sie z.B. für den Blocktransfer
erforderlich sind.
-
Figur 6 zeigt den konstruktiven Aufbau der einzelnen Einheiten in
einem Baugruppenträger. Wie ersichtlich, sind mehrere Festwertspeichereinheiten
6 vorgesehen, und zwar für den Fall, daß ein umfangreiches Gesamtprogramm abgewickelt
werden muß.
-
Falls das Programm eines Mikroprozessors 11 geändert werden muß, werden
ein oder mehrere Festwertspeicher 6A in geänderter Form vorgesehen und dann die
-Speichereinheit 6 betriebsmäßig vom System abgenommen. Eine derartige Abnahme einer
Speichereinheit ohne Störung des Gesamtsystems kann entsprechend der japanischen
Patentveröffentlichung Nr. 56-11329 vorgenommen werden. Die fraglichen Festwertspeicher
6A werden dann aus den Sockeln 6C entfernt und durch die neuen Festwertspeicher
ersetzt. Daraufhin wird die Festwertspeichereinheit 6 wieder in das System eingesetzt.
Nach diesem Wiedereinsetzen wird auf einen Steuerbefehl hin die Übertragung zu den
betreffenden Prozessoreinheiten vorgenommen.
-
Figur 7 zeigt eine geringfügige Abänderung, u#nd zwar ist hier eine
Festwertspeichereinheit 60 nicht direkt mit im Gehäuse eingebaut. Ein Teil des gemeinsamen
Speichers 2 wird dann dazu verwendet, den Festwertspeicher 60 zum Systembus 3 durchzuschalten,
und zwar über einen Frontanschluß 2A und eine Leitung 2C mit entsprechend#n Stek-
kern
2B. Diese Anordnung ist insofern vorteilhaft, als die Festwertspeicher 6A gegen
neue ausgetauscht werden können, ohne daß die Speichereinheit 60 aus dem Baugruppenträger
ausgebaut werden muß.
-
Die vorstehend beschriebenen Gesichtspunkte gelten auch hinsichtlich
der Änderung der Programme der Peripheriesteuereinheiten.
-
Die vorstehend beschriebene Anordnung hat den Vorteil, daß ein Austausch
oder eine Korrektur eines bestehenden Programmes viel schneller als bei den bisher
bekannten Anordnungen vorgenommen werden kann. Obwohl die zusätzliche Festwertspeichereinheit
die Kosten erhöht, ist diese Kostenerhöhung im Hinblick auf die Kosten eines Mehrprozessorsystems
gering.
-
2 Patentansprüche 7 Figuren
Leerseite -