DE3113188C2 - Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage - Google Patents
Vorrichtung zur Verwaltung der Informationsüberführung in einer InformationsverarbeitungsanlageInfo
- Publication number
- DE3113188C2 DE3113188C2 DE3113188A DE3113188A DE3113188C2 DE 3113188 C2 DE3113188 C2 DE 3113188C2 DE 3113188 A DE3113188 A DE 3113188A DE 3113188 A DE3113188 A DE 3113188A DE 3113188 C2 DE3113188 C2 DE 3113188C2
- Authority
- DE
- Germany
- Prior art keywords
- octets
- octet
- information
- buffer
- unit
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 47
- 230000010365 information processing Effects 0.000 title claims abstract description 7
- 239000000872 buffer Substances 0.000 claims abstract description 86
- 230000015654 memory Effects 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 8
- 239000004020 conductor Substances 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
Durch das erfindungsgemäße Verfahren und die Vorrichtung zur Durchführung des Verfahrens wird die Überprüfung von Informationen zwischen einem Speicherkomplex und den verschiedenen Verarbeitungseinheiten eines digitalen Informationsverarbeitunssystems verwaltet. Eine Schnittstelleneinheit DIM liegt zwischen dem Speicherkomplex des Systems und dem Verbindungsbus BUSA, welcher die verschiedenen Verarbeitungseinheiten des Systems verbindet. Die Einheit DIM umfaßt wenigstens drei Pufferspeicher PB, RBO, RB1, denen jeweils eine Informationsausrichtschaltung CA2, CA1 bzw. CA3 zugeordnet ist. Die Überführung von Befehls- und Dateninformationen erfolgt über diese Pufferspeicher und kann automatisch in Abhängigkeit von dem verfügbaren Platz in diesen Puffern gesteuert werden. Die Steuerung der Einordnung und der Länge erfolgt automatisch durch Mikrofunktionen, wodurch die Arbeit des Programmierers, der mit der Erstellung von Mikroprogrammen betraut ist, bedeutend vereinfacht wird, da die Informationen für diesen Programmierer oktettförmig ausgerichtet sind und eine variable Länge aufweisen. Die Erfindung eignet sich insbesondere zur Anwendung bei Systemen mit einer Vielzahl von Registern.
Description
dadurch gekennzeichnet, daß den Pufferspeichern (PB; RBQ, RB1; WB; RT; WT) zugeordnet
sind:
— ein Anzeiger (BP), der auf das nächste Oktett zeigt, das über den Verbindungsbus (BUSA) zu
einer der Verarbeitungseinheiten übertragen werden soll;
— ein Zähler (BC), der die Anzahl von verbleibenden Gktetts zählt, die noch mit dem Verbindungsbus
(BUSA)auszutauschen sind;
— ein Anzeiger (MP), der auf das nächste Oktett zeigt, das mit dem Speicherkomplex (MMU, C)
ausgetauscht werden soll;
— ein Zähler (AMC), der die Anzahl von verbleibenden Oktetts zählt, die noch mit dem Speicherkomplex
(MMU, C) ausgetauscht werden sollen.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß jedem Puffer (RB 0,RBi; PB; WB) der
Schnittstelleneinheit (DIM) eine Ausrichtschaltung (CA 1, CA 2, CA 3) zum Ausrichten der Information
zugeordnet ist, wobei die Informationen zur Übertragung auf dem Verbindungsbus (BUSA) an dessen
Wortgrenzen ausgerichtet werden, im Speicherkomplex (MMU, C) jedoch Oktett für Oktett aneinandergefügt
werden, und wobei die jeweilige Einordnung der Oktetts durch die ersten niedrigwertigen Bits
der Speicheradresse gegeben ist.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Einordnung und die Länge
der zu überführenden Informationen automatisch durch Vorbestimmte Mikrofunktionen bestimmt
sind.
4. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß jeder Puffer
(RBO, RBX; PB, WB) der Schnittstelleneinheit (DIM) eine Länge aufweist, die wenigstens einem
Doppelwort entspricht, wobei ein Wort vier Oktetts umfaßt.
Die Erfindung betrifft eine Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage
nach dem Oberbegriff des Patentanspruchs 1.
Derartige Vorrichtungen, bei denen eine Pufferung von auszutauschenden Befehlen und Daten in einer
Schnittstelleneinheit erfolgt, sind bereits aus der GB-FS
20 11 682 und der FR-PS 23 36 735 bekannt Die in einem Speicherkompiax einer digitalen Informationsverarbeitungsanlage
während der Ausführung einer Aufgabe mittels eines Prozessors des Systems auszulesenden
oder einzuschreibenden Informationen bestehen im wesentlichen aus Ketten von Oktetts beliebiger
Länge, die an einer beliebigen Adresse liegen, wobei die Adresse nach rechts oder nach links fortschreitet
Die Überführung von Informationen, sowohl bezüglich der Befehle als auch der Daten, erfolgt unter Steuerung
einer Gruppe von zuvor eingespeicherten Mikroprogrammen. Diese Mikroprogramme werden zur Ausführung
einer Aufgabe selektiv aufgerufen und ausgeführt Bei der Erstellung dieser Mikroprogramme müssen
die Struktur der Informationen, die Art und Weise ihrer Aufzeichnung in dem Speicherkomplex, ihre Länge, ihre
Einordnung usw. berücksichtigt werden. Ferner werden die Befehls- und Dateninformationen bedarfsweise nach
und nach übertragen.
Aufgabe der Erfindung ist die Vereinfachung der Erstellung von derartigen Mikroprogrammen, indem der
Programmierer weitestmöglich von Zwängen befreit wird, die von der Identifizierung der zu verarbeitenden
Informationen herrühren, und die die für die Erstellung von Mikroprogrammen anfallenden Erfordernisse automatisch
von dem System berücksichtigt und bearbeitet. Diese Aufgabe wird durch die Merkmale des Patentanspruchs
1 gelöst.
Durch die erfindungsgemäße Vorrichtung stellt sich dem Programmierer, der mit der Erstellung von Mikroprogrammen
zur Ausführung der Befehle eines Programms befaßt ist, der Speicherkomplex als eine Menge
von oktettweise aufeinanderfolgenden Informationen und von \ariabler Länge dar, und über Mikrofunktionen
werden automatisch alle Probleme gelöst, welche insbesondere die Einordnung und die Länge der zu überführenden
Informationen betreffen. Der Inhalt der verschiedenen Puffer der Schnittstelleneinheit wird über
Zähler und Anzeiger in Abhängigkeit von der Verfügbarkeit dieser Puffer verwaltet. Von der Schnittstelleneinheit
werden automatisch Aufforderungen zur autoamtischen Übertragung von Befehls- oder Dateninformationen
aus dem Speicherkomplex zu wenigstens einem als Lesepuffer bezeichneten Puffer der Schnittstelleneinheit
ausgegeben, sobald dieser Puffer ausreichend Platz zur Verfugung hat, um wenigstens einen Teil dieser
Informationen zu empfangen. Ferner werden von der Schnittstelleneinheit automatisch Aufforderungen
zur automatischen Überführung von Dateninformationen zwischen wenigstens einem als Schreibpuffer bezeichneten
Puffer der Schnittstelleneinheit und dem Speicherkomplex ausgegeben, sobald dieser Puffer wenigstens
einen Teil dieser Daten enthält. Die Ausführung eines Mikroprogrammes wird automatisch ausgesetzt,
wenn die von dem Mikroprogramm geforderten Informationen in dem der Schnittstelleneinheit zugeordneten
Puffer noch nicht verfügbar sind.
Bei der erfindungsgemäßen Vorrichtung werden automatisch Oktettketten zwischen dem Speicherkomplex
und den Verarbeitungseinheiten überführt, ohne daß der Mikroprogrammierer anfangs die Länge dieser Ket-
ten kennt, wobei das Ende einer Kette automatisch an
den Puffern erkannt wird, welche der Schnittstelleneinheit zugeordnet sind und über welche diese Oktettketten
ausgetauscht werden.
Wenn mehrere Puffer der Schnittstelleneinheit zur Informationsüberführung auffordern, so wird die Priorität
dieser Aufforderungen durch Prio.ritätsschaltung geregelt.
Gemäß einer Weiterbildung der Erfindung ist eine Informationsausrichtschaltung zwischen den Le^spuffern
der Schnittstelleneinheit und den Verbindungsbus, welcher die verschiedenen Verarbeitungseinheiten des
Untersystems miteinander verbindet, eingefügt, und eine Informationsausrichtschaltung wird ebenfalls zwischen
diesen seiben Verbindungsbus und den Schreibpuffer der Schnittstelleneinheit eingefügt, wobei diese
Ausrichtschaliungen automatisch anhand der ersten niederwertigen Bits der Speicheradressen der Informationen
die Einordnung dieser Informationen derart steuert, daß sie zur Übertragung auf dem Verbindungsbus
an dessen Wortgrenzen ausgerichtet werden, obwohl sie im Speicherkomplex Oktett für Oktett aneinandergefügt
werden.
Ein wesentlicher Vorteil, der durch die Erfindung erreicht wird, ist, daß die Aufgabe eines Programmierers,
der mit der Erstellung von Mikroprogrammen zur Ausführung von Befehlen befaßt ist, wesentlich vereinfacht
wird, weil er insbesondere Probleme hinsichtlich der Einordnung von Informationen aus der Ansprechzeiten
des Speicherkomplexes außer Acht lassen darf. Alle diese Probleme werden nämlich durch die Schnittst^lleneinheit
gelöst, die ferner für eine vollkommene Synchronisation zwischen der Ausführung der Mikroprogramme
und den Informationsübertragungen zwischen dem Speicherkomplex und den Verarbeitungseinheiten des
Systems sorgt. Dem Programmierer wird ein besonderes Bild vom Speicherkomplex des Systems vermittelt,
nämlich ein Bild, das oktettweise ausgerichtet ist und eine variable Länge aufweist, ohne ihn mit Problemen
wie die Einordnung der Informationen und die Berücksichtigung der Ansprechzeit des Speicherkomplexes zu
belasten, wobei ferner die Anzahl von Zugriffen auf den Speicherkomplex auf ein Minimum vermindert wird, um
für die Ausführung einer Aufgabe Zeit zu gewinnen.
Einzelheiten der Erfindungen ergeben sich aus der folgenden Beschreibung von Ausführungsbeispielen unter
Bezugnahme auf die beigefügte Zeichnung. In der Zeichnung zeigen:
F i g. 1 eine schematische Übersicht der lnformationsverarbeitungsanlage
mit den Merkmalen der Erfindung;
F i g. 2 eine vereinfachte Darstellung der wesentlichen Elemente, aus denen die in F i g. 1 gezeigte Schnittstelleneinheit
DIM gebildet ist;
F i g. 3 einen Programmpuffer der Schnittsteüeneinheit
DIM für den Fall der Übertragung von Informationen, die zu einem Befehl eines auszuführenden Programmes
gehören;
F i g. 4 eine Tabelle, welche die Überführungsweise der verschiedenen Oktetts des genannten auszuführenden
Befehls zwischen dem Programmpuffer und der Verarbeitungseinheit des Systems, das mit der Decodierung
dieses Befehls befaßt ist, angibt;
Fig.5 eine Darstellung einer Kette von Oktetts, die
in dem Register des Systemprozessors gespeichert sind, wobei diese Oktettkette in eine der Verarbeitungseinheiten
des Systems übertragen werden soll;
Fig.6 in Form eines Diagramms die verschiedenen
Phasen der Überführung der in F i g. 5 gezeigten Oktettkette;
F i g. 7 und 8 ein weiteres Beispiel für die Überführung einer Oktettkette zwischen dem Register des Prozessors
und einer der Verarbeitungseinheiten des Systems;
F i g. 9 eine Darstellung einer Oktettkette, die aus einer der Verarbeitungseinheiten des Systems zu seinem
Speicherkomplex übertragen werden soll; und
Fig. 10 in Form eines Diagramms die verschiedenen
Phasen der Überführung der in F i g. 9 gezeigten Oktettkette.
Vor der detaillierten Beschreibung der Erfindung unter Bezugnahme auf die Zeichnung wird darauf hingewiesen,
daß die verschiedenen Einheiten, Register, Signale und Puffer des beschriebenen Systems durch die
üblichen angelsächsischen Abkürzungen bezeichnet sind, die dem Fachmann vertraut sind. Nachstehend sind
diese Abkürzungen mit ihrer Bedeutung in englischer Sprache aufgeführt:
ACM Adress Computation Machine
ALM Arithmetic and Logic Machine
CSS Central Sub-System
CSU Control Store Unit
DIM Data and Instruction Machine
IOC Input — Output Controller
MMU Main Memory Unit
PIM Pilot Machine
SCM Scientific Computation Machine
PB BUSA Pointer
BC BUSA Counter
MP Memory Pointer
AMP Advanced Memory Pointer
AMC Advanced Memory Counter
DIRQ DIM Request
ACRQ ACM Request
RQA Request Accepted
DTA Data Available
BP-DT Bus Processor - Data
WB Write Buffer
RBO Read Buffer Nr. 0
RB 1 Read Buffer Nr. 1
PB Program Buffer
RT Read Trap Buffer
WT Write Trap Buffer
Die in Fig. 1 dargestellte digitale Informationsverarbeitungsanlage
enthält wenigstens:
— eine Hauptspeichereinheit MMU,
— einen Prozessor P, dem ein Register C bzw. ein
Speicher geringer Kapazität und kurzer Zugriffszeit zugeordnet ist, und
— eine Ein/Ausgabe-Einheit IOC.
Der Prozessor P und sein Register C sind Bestandteil eines Untersystems CSS, das mehrere Einheiten umfaßt,
darunter insbesondere:
— eine Daten- und Befehls-Zugriffseinheit DIM, deren Aufgabe es ist, die verschiedenen Speicherzugriffe
entweder im Register Coder in der Hauptspeichereinheit MML/durchzuführen;
— eine Adressenberechnungseinheit ACM, deren Aufgabe es ist, die verschiedenen Berechnungen
der Adressen der aus dem Speicherkomplex des Systems auszulesenden Informationen durch zuführen,
wobei dieser Speicherkomplex die Haupt-
Speichereinheit MMUund das Register Cdes Prozessors
P umfaßt;
— eine Arithmetik- und Logikeinheit ALM, welche die verschiedenen arithmetischen und logischen
Operationen durchführt;
— eine Piloteinheit PIM, welche die verschiedenen
Aufzweigungen zwischen den verschiedenen Einheiten des Untersystems CSSleitet;
— eine Steuerspeichereinheit CSU, in der die verschiedenen
Mikroprogramme gespeichert sind, durch welche die Ausführung einer Aufgabe mittels
des Untersystems CS5gewährleistet wird; und
— eine Recheneinheit SCM, deren Aufgabe ist es, insbesondere
arithmetische Operationen mit Fließkomma durchzuführen.
Das Untersystem CSS ist über einen Hauptverbindungsbus UMi mn der bzw. den Einheit(en) des Hauptspeichers
MMUund mit der bzw. den Ein/Ausgabe-Einheit(en)
IOC verbunden.
Das Register C des Prozessors P ist mit der Einheit DIM über einen Verbindungsbus BP-DT verbunden
und mit der Einheit ACM über eindirektionale Leitungen AC-AD verbunden, um die Adressen zwischen der
Einheit ACMund dem Register Czu überführen.
Die Einheiten ACM, DIM, ALM, PIM und 5CM stehen
untereinander über einen Verbindungsbus BUSA in Verbindung. Eindirektionale Leitungen INST für spezielle
Verbindungen gewährleisten die jeweiligen Verbindungen ausgehend von der Einheit DIM zu den Einheiten
PIM, ACMund ALM.
Die Erfindung befaßt sich mit der Ausbildung der Einheit DIM, über welche alle Informationen geleitet
werden, weiche Befehle und Daten betreffen, die von dem Prozessor P während der Ausführung einer Aufgabe
verlangt oder ausgesandt werden.
Diese Einheit D/A/ist im wesentlichen aus Pufferspeichern
gebildet, die hier zur Vereinfachung als Puffer bezeichnet werden. Die Inhalte und die Entwicklung der
Inhalte dieser Puffer werden durch Mikroprogramme gesteuert, die in der Einheit CSU des Untersystems CSS
gespeichert sind, die weiter unten erläutert wird.
Es wird nun auf F i g. 2 Bezug genommen, in der schematisch
eine Einheit DIM gezeigt ist.
Diese Einheit DIM umfaßt im wesentlichen:
— einen Programmpuffer PS für 16 Oktetts bzw. Bytes,
über welchen die Informationen bezüglich der auszuführenden Befehle geleitet werden;
— zwei Lesepuffer RBO und RB 1 zu jeweils 16 Oktetts,
über welche die Informationen geleitet werden, welche die Daten aus dem Speicherkomplex
des Systems betreffen;
— einen Lesepuffer RTzu 8 Oktetts für die Behandlung
von Folgeunterbrechungen; und
— einen Schreibpuffer WTzu 8 Oktetts, ebenfalls zur
Verarbeitung von Folgeunterbrechungen.
Das Register Cdes Prozessors Pist über den Verbindungsbus
BP-DTmh den Eingängen eines ersten Multiplexers
M1 verbunden. Die Ausgänge dieses Multiplexers M1 sind über eindirektionale Leitungen B1 mit
den Eingängen des Programmpuffers PB und mit den F.ingängeri des Lesepuffer RBO, RBX und RT verbunden
Ausgangsseitig sind die Lesepuffer mit einem zweiten Multiplexer M 2 verbunden. Die Ausgänge dieses Multi-Dlexers
M3 über vier Leiter Cl-C4 verbunden. Die
Ausgänge des Multiplexers M 3 sind mit den Eingängen einer ersten Ausrichtschaltung C11 zum Ausrichten der
Dateninformationen über vier Leiter C5 — CS verbunden. Die Ausgänge der Ausrichtschaltung CA 1 sind mit
den Eingängen eines vierten Multiplexer M4 über vier
Leiter C9—C12 verbunden. Die Ausgänge des Multiplexers M 4 sind über die Busleitung BUSA mit den
verschiedenen Einheiten des Untersystems CSS verbunden.
ίο Ausgangsseitig ist der Programmpuffer PB verbunden
mit:
— den Eingängen des zweiten Multiplexers Ml;
— den Eingängen eines fünften Multiplexers M5, und
zwar über zwei Leiter C13, C14;
mit den Eingängen einer zweiten Ausrichtschaltung
wobei die Verbindung über vier Leiter hergestellt ist, nämlich die Leiter C15 und C16 sowie zwei
Leiter C17, C18, die am Ausgang des Multiplexers
M5 vorgesehen sind. Die Ausgänge der zweiten Ausrichtschaltung CA 4 sind über eindirektionale
Verbindungsleitungen INST mit den Einheiten PIM; ACM und ALM verbunden. Die erwähnten
Ausgangsverbindungen B1 des ersten Multiplexers
M1 sind ferner mit den Eingängen des Multiplexers
M3 und des Multiplexers M5 verbunden.
Der Verbindungsbus BUSA ist mit einer dritten Ausrichtschaltung
CA 3 zum Ausrichten der Informationen verbunden, weiche zu den in den Speicherkomplex des
Systems einzuschreibenden Daten gehören. Die Ausgänge der dritten Ausrichtschaltung CA 3 sind über vier
Leiter C19— C22 mit den Eingängen der Schreibpuffer
lV7"und WB verbunden. Ausgangsseitig sind diese Puffer
über die Verbindungsleitung BP-DT mit dem Speicherkomplex des Systems verbunden.
Vor der Erläuterung der Arbeitsweise dieser Einheit DIM, insbesondere ihrer Funktionen bei der Ausführung
einer Aufgabe mittels des Prozessors P, ist es zweckmäßig, zunächst die Struktur der Informationen
zu erläutern, die durch diese Einheit hindurchgeleitet werden.
In dem Register C, das mehrere Niveaus aufweisen kann, sind die Informationen in Form von Blöcken zu
jeweils vier Wörtern gespeichert, wobei ein Wort vier Oktetts umfaßt.
Die Überführung zwischen dem Register C und der Einheit DIM erfolgt wort- oder doppelwortweise, und
die Übertragungen zwischen der Einheit DIM und der
so Verbindungsleitung BUSA betreffen ein bis vier Oktetts. Die speziellen Leitungen /MSTkönnen Daten mit
zwei oder vier Oktetts übertragen.
Es wird nun angenommen, daß der Prozessor P eine Aufgabe ausführen soll. Die Ausführung dieser Aufgabe
beinhaltet den Ablauf eines Programms, das von dem Benutzer geliefert wird, wobei zuvor eingespeicherte
Mikroprogramme aufgerufen werden, welche die Aufgabe haben, die Befehle dieses Programms auszuführen,
mit geeigneten Informationsübertragungen zwischen den Verarbeitungseinheiten des Prozessors P und dem
Speicherkomplex des Systems.
Das Programm, von dem angenommen wird, daß es ganz oder teilweise in der Hauptspeichereinheit MMU
gespeichert ist. wird durch das System initiiert und dann
tn ausgeführt, und zwar unter Berücksichtigung von eventuellen
Folgeunterbrechungen.
Nach Initiierung des Programms durch das System ist der erste betroffene Puffer der Einheit DIM der Pro-
20
25
grammpuffer PB. Die erste von dem Untersystem CSS durchzuführende Operation ist nämlich die Decodierung
des ersten Programmbefehls. Diese Decodierung erfolgt durch die Einheit PIMdes Untersystems CSS.
Bevor nun erläutert wird, wie die Informationen der Einheit PIM zugeführt werden, damit diese die Befehisdecodierung
durchgeführt werden zunächst die wesentlichen Elemente beschrieben, welche die Steuerung des
Programmpuffers PB gewährleisten. Diese Elemente sind einerseits Mikrofunktionen und andererseits
Speicherzähler und Anzeiger bzw. Hinweisadressen.
Die Mikrofunktionen, von denen vier vorgesehen sind, sind folgende:
1. IRP:
Diese mikrofunktion ermöglicht die initiicrung der
Überführungen von Befehlsinformationen zwischen dem Speicherkomplex des Systems und dem
Programmpuffer PB;
Die Adresse des ersten Befehls des auszulesenden Programms wird von der Einheit ACM angegeben,
und die drei niedrigstwertigen Bits dieser selben Adresse ergeben die Einordnung der Informationen
in bezug auf die Befehle im Inneren des Programmpuffers PB;
2. SIN:
Diese Mikrofunktion ermöglicht die Entnahme der Informationsoktetts, die zu den Befehlen aus dem
Programmpuffer PB gehören, damit diese auf den eindirektionalen Leitungen INST zur Einheit PIM
gesandt werden können, insbesondere was den Operationscode des Befehls zum Berechnen der
Adresse des ersten Mikrobefehls des Mikroprogramms betrifft, das mit der Interpretation des Befehles
betraut ist;
3. EPR:
Diese Mikrofunktion ermöglicht die Entahme von Oktetts aus dem Programmpuffer PB, um diese auf
dem Bus BUSA auszusenden, und zwar beginnend mit dem vierten Oktett des Befehls, dessen Operationscode
indem ersten Oktett enthalten ist, welches über die eindirektionalen Leitungen INSTzur
Einheit OIMgesandt wurde;
4. SIF:
Diese Mikrofunktion hat die Aufgabe, Aufforderungen auszusenden, um den Programmpuffer PB
mit den Oktetts des darauffolgenden Befehls des Programmes zu versorgen, unter der Bedingung,
daß ausreichend Platz in dem Programmpuffer PB vorhanden ist.
Wie bereiis erwähnt wurde, steht der Inhalt des Programmpuffers
PB ferner unter der Steuerung eines Speicherzählers AMC und von drei Anzeigern MP,
AMP, BP.
Der Speicherzähler AMTenthält die Anzahl von Oktetts
(minus eins), die mit dem Speicherkomplex des Systems am Ende der zuvor initiierten Leseaufforderung
auszutauschen sind. Dieser Speicherzähler hat eine Länge von fünf Bits, und das höchstwertige Bit dieses
Zähler bedeutet, daß der Zählerinhalt Null bzw. der Zähler leer ist, wenn dieses Bit den Wert 1 hat
Der Zeiger MP zeigt auf das nächste Oktett, das mit
dem Speicherkomplex des Systems ausgetauscht werden soll. Dieser Zeiger hat eine Länge von fünf Bits.
Der Zeiger BP zeigt auf das nächste Oktett, das mit der Busleitung BUSA ausgetauscht werden soll. Dieser
Zeiger hat eine Länge von fünf Bits.
Der Inhalt des Speicherzählers AMC und der Zeiger
MP;AMP\md ßP wird jeweils regelmäßig und automatisch
aufgefrischt, wie im einzelnen weiter unten erläutert wird.
Es kann nun zur Decodierung des ersten Befehls des auszuführenden Programmes zurückgegangen werden.
Zu diesem Zweck wird die erste bereits erwähnte Mikrofunktion IRP ausgeführt, um die Initiierung der
Überführung der Oktetts des Befehls zwischen dem Speicherkomplex des Systems und dem Programmpuffer
Pßzu initiieren. Die Adresse dieses ersten Befehls ist durch die Einheit A MC gegeben, während die drei niedrigstwertigen
Bits dieser Adresse die Einordnung der Oktetts des Befehls im Inneren des Programmpuffers
PB angegeben. Durch die Mikrofunktion IRP kann ein Doppelvvort in dem Pxegister Cdes Prozessors Poder in
dem Speicherkomplex MMU des Systems ausgelesen werden. Dieses Doppelwort wird in den Programmpuffer
PB überführt, z. B. in die ersten acht Oktetts desselben. Unter Bezugnahme auf F i g. 3 wird nun angenommen,
daß die ersten vier Oktetts des Befehls, welche die Informationen A, B, C und D enthalten, sich in den Oktetts
2, 3, 4 bzw. 5 des Programmpuffers PB befinden. Die Information A des Oktetts A der Information ist
dann um zwei Oktetts in bezug auf das Oktett 0 des Programmpuffers PB verschoben. Diese Verschiebung
ist durch die drei niedrigstwertigen Bits der Adresse des Befehls gegeben. Gleichzeitig nehmen die Zeiger MP.
AMP und ßPdie Werte dieser niedrigen Stellen an. Der
dem Programmpuffer PB zugeordnete Speicherzähler AMC nimmt den Wert an, welcher der Anzahl von Oktetts
(minus eins) entspricht, die ausgehend von dem Oktett A des Befehls auszulesen sind, um zu einer Doppelwort-Grenze
in dem Programmpuffer PB zu gelangen. Bei dem in F i g. 3 gezeigten Beispiel müssen folglich
sechs Oktetts ausgelesen werden, um eine Ausrichtung nach dem Oktett 8 des Programmpuffers PB zu
erhalten.
Dann müssen die ersten Oktetts des Befehls zur Einheit PIM gelangen, die mit der Decodierung des Operationscode
in dem ersten Wort (insbesondere in dem ersten Oktett) des Befehls befindet. Diese Überführung
erfolgt durch die Mikrofunktion SIN, welche die vier Oktetts A, B, C und D des Befehls über die eindirektionalen
Leitungen INSTzut Einheit PIM schickt.
Es muß jedoch die Einordnung des Befehls in dem Programmpuffer Pß beachtet werden, um die Oktetts A,
B, C und D des Befehls an den Leitungen INSTm der richtigen Reihenfolge wiederzufinden. In den F i g. 3 und
4 ist die Überführung der Oktetts A, B, C und D dargestellt, welche gemäß der Tabelle nach F i g. 4 erfolgt. Es
wird angenommen, daß der Programmpuffer PB die
Form einer Tabelle zu vier Zeilen und vier Spalten aufweist, wobei letztere mit 0 bis 3 numeriert sind. Ferner
werden die zwei niedrigstwertigen Bits des Anzeigers BP betrachtet, wenn die Verschiebung des ersten Oktetts
A der Befehle im Inneren des Wortes, das dieses Oktett enthält, angibt Diese Verschiebung kann also
den Wert 0,1, 2 oder 3 annehmen (Werte, die in F i g. 4
so als Binärzahlen angegeben sind). Bei dem dargestellten Beispiel ist das Oktett A um zwei Oktetts verschoben.
Es muß dann Zeile 3 der Tabelle in F i g. 4 betrachtet werden, die angibt: Das erste Oktett, das auf den Leitungen
INST zu übertragen ist, ist das Informationsoktett, welches sich in Spalte 2 befindet (d. h. das Oktett A), das
zweite zu übeführende Oktett ist dasjenige, das sich in Spalte 3 des Programmpuffers Pß befindet (d. h. Oktett
B), usw. Diese Wiedereinordnung erfolgt durch die Aus-
20
richtschaltung CA 2, die in F i g. 2 gezeigt ist.
In diesem Stadium ist es wichtig zu beachten, daß die Länge de>
Befehls unbekannt ist. Die Einheit PIM, welche den Operationscode des Befehls empfangen hat, decodiert
diesen jedoch und ermöglicht die Aufzweigung zu einem diesem Befehl zugeordneten Mikroprogramm.
In diesem für diesen Befehl spezifischen Mikroprogramm ist dem Programmierer, der das Mikroprogramm
erstellt hat, die Art des zu verarbeitenden Befehls und folglich seine Länge bekannt. Die anderen ggf.
vorhandenen Oktetts des Befehls werden dann den betroffenen Einheiten des Untersystems CSS über den
Verbindungsbus BUSA unter Steuerung der Mikrofunktion EPR zugesandt.
Zur Ausführung dieser Mikrofunktion EPR muß der Programmierer lediglich die Anzahl der auszulesenden
Oktetts angeben, ohne die Einordnung dieser Okteiis im Inneren des Programmpuffers PB zu berücksichtigen.
Diese Oktetts werden über die Multiplexer M 2, M 3 bis zur Ausrichtschaltung CA 1 übertragen, bevor sie über
den Multiplexer M4auf die Busleitung BUSA gelangen.
Gemäß einem wesentlichen Merkmal der Erfindung können Leseanforderungen automatisch angegeben
werden, um im voraus wenigstens die ersten Oktetts des nachfolgenden Befehls des auszuführenden Programms
auslesen zu können, damit diese Oktetts in voraus in den Programmpuffer PB eingegeben werden können,
um durch die Einheit PIMdecodiert zu werden.
Eine solche automatische Anfrage kann durch die Mikrofunktion SIN erfolgen, unter der Bedingung jedoch,
daß ausreichend freier Platz im Programmpuffer PB verfügbar ist, d. h. daß ein Doppelwert dort frei ist, denn
eine automatische Anforderung erfolgt anhand eines Doppelwortes. Der Speicherzähler AMCwird dabei natürlich
um 8 (8 Oktetts des Doppel wortes) erhöht.
Eine solche Anforderung kann auch durch die Mikrofunktion S/Ferfolgen. Diese Mikrofunktion hat die Aufgabe,
das Auslesen von 8 Oktetts abzurufen, wenn genügend Platz in dem Programmpuffer PB vorhanden ist
und wenn der Inhalt des Speicherzählers AMCauf Null
ist. Dieser Speicherzähler AMC ist leer, wenn als Oktetts eines Befehls in den Programmpuffer PB übertragen
sind, es also nicht mehr erforderlich ist, eine Leseaufforderung abzugeben, um die fehlenden Oktetts eines
Befehls zu beschaffen. Die Mikrofunktion SIF ermöglicht dann das Aussenden einer Aufforderung zum
Versorgen mit demjenigen Befehl, der auf den folgt, dessen Verarbeitung abläuft oder beendet ist.
Die Verarbeitung dieser Anforderungen wird später im einzelnen erläutert, und zwar im Zusammenhang mit
der Oberführung von Dateninformationen. Weiter unten werden auch die Bedingungen bei der Ausführung
der verschiedenen genannten Iviikrobefehle erläutert.
Bei der Ausführung des Programms können Übertragungen von Dateninformationen abgerufen werden.
Davon sind dann die Lese- und Schreibpuffer der Einheit DIM betroffen.
Wie der Programmpuffer PB sind auch den Lesepuffern RBO, RBi, RT und Schreibpuffern WB, WT
Speicherzähler AMCsowie Anzeiger MP. AMPund BP
zugeordnet Diese Puffer sind einem zweiten Speicherzähler BC zugeordnet, welcher die Anzahl von Oktetts
(minus eins) enthält, die noch zwischen diesen Puffern und dem Verbindungsbus BUSA ausgetauscht werden
müssen.
Um diese Überführungen im einzelnen zu erläutern, wird nun anhand eines Anwendungsbeispiels auf die
F i g. 5 bis 8 Bezug genommen.
Beim Ablauf des Programms kann ein Befehl die Überführung von Daten betreffen. Das mit der Ausführung
dieses Befehls betraute Mikroprogramm wird dann z. B. das Auslesen einer Kette von fünf Okletts A,
B, C, D und E verlangen. Bei einem ersten Beispiel wird davon ausgegangen, daß diese Oktett-Kette in dem Register
C des Prozessors F gespeichert ist, mit Einordnung in ein Doppelwort (F i g. 5).
Vor der Durchführung einer solchen Übertragung zwischen dem Register C und dem Verbindungsbus
BUSA mit Durchlaufen der Lesepuffer RBO und RBi
der Einheit DIM müssen zwei weitere Informationen bekannt sein, nämlich:
— die Art der Adresse, progression (+ oder —), d. h.
Auslesen der aufeinanderfolgenden Oktetts mit zunehmender oder abnehmender Adresse; und
— Ausrichtung der Oktett-Kette, um zu erfahren, ob sie links oder rechts abgeglichen ist.
— Ausrichtung der Oktett-Kette, um zu erfahren, ob sie links oder rechts abgeglichen ist.
45
50
55
Bei dem in Fig.5 gezeigten Beispiel wird die Kette
von fünf auszulesenden Oktetts mit positiver Adressenprogression (+) ausgelesen bei Ausrichtung auf der linken
Seite und Einordnung an der Grenze eines Doppelwortes.
Die Initiierung zum Auslesen dieser Oktett-Kette erfolgt durch eine Mikrofunktion IRD, die in dem M>- ■·
programm vorhanden ist, das beauftragt ist, den von der Einheit PIM decodierten Befehl auszuführen.
Sobald die Mikrofunktion IRD initiiert ist, werden von der Einheit DIM und der Einheit ACM Anfragen an
das Register Cgeerichtet, welches diese Anfragen bearbeitet.
Es wird auf F i g. 6 Bezug genommen, in der mehrere elementare Verarbeitungszyklen /0 bis /3 dargestellt
sind, wobei in diesen verschiedenen Zyklen die Ausführung einer Mikrofunktion nach der Initiierung, die
Überführung der Oktetts auf dem Verbindungsbuö BU-
SA in den Lesepuffer RBO, die Aussendung der Anfragen und die Entwicklung der verschiedenen Parameter,
die dem Lesepuffer RBO zugeordnet sind, nämlich BP, BC, MP. AMPund AMC, angegeben sind.
Es wird nun die Initiierung der Mikrofunktion IRD im Zyklus /0 betrachtet. Die Berücksichtigung dieses Mikrobefehls
zur Initiierung des Auslesens führt im Zyklus /1 zu einer Aufforderung DIRQ, die von der Einheit
DIM an die Einheit ACM gerichtet wird. Während dieses selben Zyklus richtet die Einheit ACM eine Aufforderung
ACRQ an das Register C, das unter optimalen Bedingungen in diesem selben Zyklus darauf ansprechend
ein Signal RQA an die Einheit DIM richtet, welches bedeutet, daß die Aufforderung ACRQ angenommen
wurde.
Die Ausführung der Mikrofunktion IRD hat zur Folge, daß automatisch die verschiedenen Parameter des
Lesepuffers RB 0 aufgefrischt werden. Für das in F i g. 5 gezeigte Beispiel nimmt der Anzeiger SPden Wert Null
an, um anzuzeigen, daß das nächste mit dem Verbindungsbus BUSA auszutauschende Oktett das Oktett ist,
welches die Daten A darstellt, die sich im Oktett 0 des Doppelwortes befinden, das in dem Register Cdes Prozessors
P adressiert ist Der Zähler BC nimmt den Wert 4 an, um die Anzahl von Oktetts (minus eins) anzuzeigen,
die noch mit dem Verbindungsbus BUSA auszutauschen sind (bei dem betrachteten Beispiel sind fünf Oktetts
auszutauschen. Der Anzeiger AMP nimmt den Wert 0 an, um anzuzeigen, daß das nächste mit dem
Register C auszutauschende Oktett das erste Oktett
bzw. das Oktett 0 des in dem Register C adressierten Doppelwortes ist. Der Anzeiger AMP nimmt den Wert
0 an, um auf das erste Wort der nächsten mit dem Register C auszutauschenden Anfrage zu zeigen, wobei dieses
erste Wort das Wort 0 des in dem Register adressierten Doppelwortes ist. Der Zähler A MC nimmt den Wert
4 an, um die Anzahl von Oktetts (minus eins) anzugeben, die mit dem Register C auszutauschen sind, wenn die
gerade laufende Anfrage beendet ist. Da diese Anfrage noch nicht ausgeführt ist, sind folglich fünf Oktetts zu
überführen.
Im nächsten Zyklus /2 kann das Register C durch Aussenden eines Signals DTA zur Einheit DIM anzeigen,
daß die zu überführenden Oktetts auf dem Verbindungsbus ßf-DTverfügbar sind, welcher das Register C
mit der Einheit DIM verbindet. Parallel hierzu ist die Mikrofunktion des laufenden Mikroprogramms, weiche
auf die Mikrofunktion IRD folgt, eine Mikrofunktion CET, welche die Steuerung der Oktettüberführung zu
dem Verbindungsbus BLJSA gewährleistet. Diese Mikrofunktion
kann natürlich nur ausgeführt werden, wenn die zu überführenden Oktetts in dem Lesepuffer
RBO oder auf dem Bus BP-DT verfügbar sind. Im vorliegenden
Falle hat das Register das Signal DTA ausgesandt, was bedeutet, daß die auszulesende Oktettkette
zur Übertragung auf den Bus BP-DT bereit ist. Wenn also die Mikrofunktion CET die Überführung von vier
Oktetts (maximal vier Oktetts) verlangt, so können diese direkt über den Verbindungsbus BUSA auf den Verbindungsbus
BP-DT gegeben werden, d. h. nach Durchlaufen des Multiplexers M3, der Oktett-Ausrichtschaltung
CA 1 (die wie die zuvor beschriebene Ausrichtschaltung CA 2 für den Programmpuffer arbeitet) und des Multiplexers
M 4. Die vier Oktetts A, B, C, D sind jedoch in dem Lesepuffer RB 0 erst in dem nächsten Zyklus verfügbar,
d. h. im Zyklus / 3.
Während des Zyklus /2 werden nur der Anzeiger AMP und der Zähler AMC aufgefrischt. Der Anzeiger
AMP nimmt den Wert 8 an, um auf das erste Wort der nächsten mit dem Register C auszutauschenden Anfrage
zu zeigen, d. h. das Oktett 8 bzw. das erste Oktett des darauffolgenden Doppelwortes des Registers C Der
Zähler AMC nimmt den Wert minus eins an. Die Anzahl von noch mti dem Register auszutauschenden Oktetts
ist dann nämlich Null, da die Leseanfrage ein Doppelwort des Registers betrifft, und ein solches Doppelwort
die Gesamtheit der auszulesenden Oktett-Kette enthält.
Im darauffolgenden Zyklus /3 werden die vier Oktette A, B, C, D der zu überführenden Kette im Lesepuffer
RBO empfangen. Es muß jedoch noch das Oktett E der anfänglichen Kette auf den Verbindungsbus BUSA
übertragen werden. Diese Übertragung erfolgt durch eine zweie Mikrofunktion CET. Wie beim Zyklus /2
werden das Oktett E und die drei folgenden Oktetts direkt vom Verbindungsbus BP-DT zum Verbindungsbus BUSA gesandt, während die vier selben Oktetts
dann im darauffolgenden Zyklus /4 in dem Lesepuffer RBO vorhanden sind. Im Zyklus /3 werden der Anzeiger
BP, der Zähler BC und der Anzeiger MP des Lesepuffers RB 0 aufgefrischt Der Anzeiger BP nimmt den
Wert 4 an, um anzuzeigen, daß das nächste mit dem Verbindungsbus BUSA auszutauschende Oktett das
Oktett 4 des Register C adressierten Doppelwortes ist Der Zähler BC nimmt den Wert Null an, um anzuzeigen,
daß noch ein Oktett auf den Verbindungsbus BUSA übergeben werden muß (dieser Zähle- nimmt nämlich
den Wert 0 an, da er die Anzahl der verbleibenden Oktelts
minus eins angibt). Der Anzeiger MP nimmt den Wert 4 an, um das nächste mit dem Register Causzutauschende
Wort anzugeben, wobei dieses Wort mit dem Oktett 4 des im Register C adressierten Doppelwortes
beginnt.
Der Anzeiger BP, der Zähler BC und der Anzeiger MP werden am Anfang des Zyklus /4 ebenfalls aufgefrischt.
Der Anzeiger BP nimmt den Wert 5 an, um anzuzeigen, daß das nächste mit dem Verbindungsbus
BUSA auszutauschende Oktett 5 des im Register C
ίο adressierten Doppelwortes ist. Der Zähler BC nimmt
den Wert (minus eins) an, da für zuvor ausgegebene Anfrage keine Oktetts mehr verbleiben, die auf den Verbindungsbus
BUSA zu überführen sind. Der Anzeiger MP nimmt den Wert 8 an, um anzugeben, daß das nächste
mit dem Register C auszutauschende Wort mit dem Oktett 8 beginnt, d. h. mit dem Doppelwort, das auf das
zuvor adressierte Doppelwort des Registers Cfolgt.
Es wird nun auf die F i g. 7 und 8 Bezug genommen, um die Überführung einer Kette aus fünf Oktetts zu
beschreiben, jedoch mit einer solchen Fehleinordnung, daß die Oktett-Kette sich aui beiden Seiten einer Doppelwortgrenze
in dem Register C erstreckt. Dieses Beispiel unterscheidet sich von dem zuvor beschriebenen
im wesentlichen durch die Tatsache, daß es erforderlich ist, zwei Leseanforderungen an das Register C zu richten,
um die Oktett-Kette A, B, C, D, E übertragen zu können. Nach Initiierung des Auslesens durch eine Mikrofunktion
IRD im Zyklus; 0 werden Leseaufforderungen an das Register C(im Zyklus /1) abgegeben, wie bei
dem zuvor beschriebenen Beispiel mit Auffrischung der Parameter BP, BC1, MP. AMP und AMC. Im Zyklus /2,
in welchem die Überführung der ersten vier Oktetts A. B, C und D zu dem Verbindungsbus BUSA unter Steuerung
der Mikrofunktion GET abgerufen wird, ist zu bemerken, daß diese Mikrofunktion nicht ausgeführt
werden kann, da diese vier Oktetts noch nicht verfügbar sind.
Während der ersten Leseanforderung sind nämlich nur die Oktetts A und B betroffen, da sie sich im ersten
adressierten Doppelwort des Registers C befinden. Es muß der Zyklus /4 abgewartet werden, damit die Mikrofunktion
CETtatsächlich ausgeführt wird, wobei die Oktetts C und D der Kette direkt von dem Verbindungsbus
BP-DTiM dem Verbindungsbus BUSA ausgesandt werden, während diese zwei Oktetts in dem Lesepuffer
RB 0 erst in dem darauffolgenden Zyklus verfügbar sind. Zur Überführung des Oktetts E der Kette auf
den Verbindungsbus BUSA ist dann noch eine zweite Mikrofunktion GET erforderlich. "Wie bei dem zuvor
beschriebenen Beispiel erfolgt die Überführung der Oktetts der Kette über die Ausrichtschaltung CA 1, bevor
die Oktetts auf die Verbindungsleitung BUSA gelangen. Natürlich sorgt dasselbe Mikroprogramm sowohl für
die Überführung der Oktettkette nach F i g. 5 als auch für die nach F i g. 7, da der Programmierer eine eventuelle
Fehleinordnung der Oktetts nicht berücksichtigen muß.
Unter Bezugnahme auf die F i g. 9 und 10 wird nun ein
Beispiel für die Überführung einer Oktett-Kette zwisehen dem Verbindungsbus BUSA und dem Speicherkomplex
des Systems erläutert, wobei in diesem Falle der Schreibpuffer Wßder Einheit DIM betrachtet wird.
Ausgegangen wird von einer Kette aus acht Oktetts, A, B, C, D, E, F, G, H, die von einer Verarbeitungseinheii
des Untersystems CSS zu dem Speicherkomplex übertragen werden sollen. Diese Übertragung erfolgt über
den Verbindungsbus BUSA, der die verschiedenen Einheiten des Untersystems CSS mit dem Schreibpuffer
WB der Einheil DIM verbindet.
Weiter wird angenommen, daß dieseselbe Oktett-Kette in bezug auf eine Doppelworigrenze versetzt
bzw. fehleingaordnet is , wie in F i g. 9 gezeigt ist Diese
Darstellung der Oktett-Kette entspricht der Form, welche dieselbe Oktett-Kette in dem Speicherkomplex annimmt.
Diese Versetzung oder Fehleinordnung wird natürlich, soweit der Verbindungsbus BUSA getroffen ist,
nicht berücksichtigt, welcher diese Kette aus acht Oktetts wie zwei Wörter auffaßt, die wortweise zu dem
Schreibpuffer WB der Einheit DIM übertragen werden sollen.
Die Initiierung einer solchen Überführung erfolgt durch eine Mikrofunktion IWT, die in dem Mikroprogramm
enthalten ist, weiches ausgeführt v-ird und diese Übertragung verlangt.
Wenn die Mikrofunktion /WT initiiert wird, werden verschiedene Anforderungen von den Einheiten DIM
und ACM zu dem Speicherkomplex des Systems ausgesandt, insbesondere zu dem Register C des mit der Verarbeitung
dieser Anfragen beauftraten Prozessor;. P.
In Fig. 10 sind verschiedene aufeinanderfolgende
elementare Verarbeitungszyklen /0 bis /7 dargestellt ist: das Erscheinen einer Mikrofunktion nach der Initiierung:
die Aussendung und Entgegennahme von Anforderungen zur Ausführung dieser Mikrofunktion; die
Überführung von Oktetts von dem Verbindungsbus BUSA zum Schreibpuffer WBder Einheit D/Mund von
diesem Schreibpuffer zu dem Speicherkomplex des Systems: und schließlich die Entwicklung der verschiedenen
Parameter, die zu der Steuerung des Schreibpuffers WS gehören BP. BC. MP. AMPund AMC.
Die Mikrofunktion IWT ist einem Parameter zugeordnet,
nämlich der Länge der einzuschreibenden Oktett-Kette. die in dem hier betrachteten Fall acht Oktetts
lang ist.
Es wird nun angenommen, daß im Zyklus /0 die Mikrofunktion IWT initiiert ist. Ist diesem Zyklus /0 sind
die ersten vier Oktetts A, B. C, D auf dem Verbindungsbus BUSA verfügbar. Es ist wichtig zu beachten, daß die
ersten Oktetts A, 3. C, D in den Schreibpuffer WB nach H:-tdür " ' ;tung durch die Ausrichtschaltung CA 3
(F i g. 2) überführt werden, damit diese Oktetts in den Speicherkomplex in Abhängigkeit von der möglichen
Feblausrichtung eingeschrieben werden können, welche gegeben ist durch die ersten, niedrigwertigen Bits der
Adresse der der einzuschreibenden Oktett-Kette entsprechenden Information in dem Speicherkomplex. Diese
Ausrichtschaltung CA 3 arbeitet nach demselben Prinzip wie die Ausrichtschaltung CA 1, die zuvor erläutert
wurde, mit der Ausnahme, daß in diesem FaIIi. in
Abhängigkeit von der Verschiebung in bezug auf eine Wortgrenze (im vorliegenden Fall binär 2 oder 10) die
Spalten 0.1. 2, 3 des Schreibpuffers WS betrachtet werden,
in welche nacheinander die vier Oktetts A, B, C, D eingeschrieben werden soilen.
Da nur die ersten vier Oktetts von der Initiierungs-Mikrofunktion
/IVT berücksichtigt wurden, folgt auf diese Mikrofunktion /VVT wenigstens eine Mikrofunktion
PUT. um die Überführung der weiteren Oktetts der Kette von dem Verbindungsbus BUSA fort zu gewährleisten,
und .war zu jeweils vier Oktetts pro Mikrofunktion PUT. Natürlich kann eine Mikrofunktion PUT in
den Wartezustand versetzt werden, wenn in dem Schreibpuffer WB nicht genügend Platz vorhanden ist.
Ab dem Zyklus ; 1 kann der Schreibpuffer WB über die Einheit DIM eine Überführungsaufforderung zu
dem Speicherkomplex des Systems aussenden, denn sein erstes Doppelwort ist voll, obwohl es nur die zwei
ersten Oktetts A und B der zu überführenden Oktettkette enthält. Die zwei Oktette A und B belegen nämlich
die beiden Oktetts 6 und 7 des ersten Doppelwortes des Schreibpuffers WB, weil die in F i g. 9 gezeigte Fehleinordnung
vorhanden ist.
Diese Anforderung DIRQ, die von der Einheit DIM im Zyklus /1 ausgegeben wird, wird an die Einheit ACM
gerichtet, die im Verlauf dieses selben Zyklus /1 eine
IP Anfrage ACRQ an den Speicherkomplex, insbesondere
das Register C, richtet. Diese Anforderung kann (unter optimalen Bedingungen) von dem Register Cim Verlauf
dieses selben Zyklus /1 angenommen werden und zur Aussendung eines Signals RQA zur Einheit DIM führen,
welche die Entgegennahme dieser Anforderung anzeigt. Die Ausführung der Mikrofunktion /VVThat zur Folge,
daß automatisch die verschiedenen zu dem Schreibpuffer WS gehörenden Parameter aufgefrischt werden.
Bei dem dargestellten Beispiel nimmt der Zeiger BP den Wert A an, um anzuzeigen, daß das nächste Oktett,
das mit dem Verbindungsbus BUSA ausgetauscht werden soll, dasjenige Oktett ist, welche die Daten E darstellt,
die in dem (ikte tt A des Schreibpuffers WB liegen
müssen, der sechszehn mit O bis F bezeichnete Oktetts umfaßt. Der Zäh'er BC nimmt den Wert 3 an, um die
Anzahl von Oktetts (minus eins) anzuzeigen, die noch mit dem Verbindungsbus BUSA ausgetauscht werden
müssen (im vorliegenden Beispiel verbleiben die vier Oktetts E, F, G, H, die noch überführt werden müssen).
Der Anzeiger Λ/Pzeigt auf das Oktett 6, um anzuzeigen,
daß das nächste mit dem Register C auszutauschende Oktett 6 des Schreibpuffers ßPist. Der Anzeiger AMP
nimmt ebenfalls den Wert 6 an, um auf das Oktett des Schreibpuffers WB zu zeigen, welches mit dem Register
C während der nächsten Überführungsanforderung zv,ijui,eii Jem Schreibpuffer WB und dem Register C
ausgetauscht werden muß Der Zähler A MC nimmt den Wert 7 an. um die Anzahl von Oktetts (minus eins) anzugeben,
die mit dem Register C ausgetauscht werden
müssen, wenn die laufende Überführungsanfrage beendet ist. Da diese Anfrage noch nicht ausgeführt ist, sind
also noch sieben Oktetts zu übertragen.
In dem darauffolgenden Zyklus /2 kann das Register Cdurch Aussenden eines Signals DTA zur Einheit DIM
signalisieren, daß er zur Entgegennahme der Oktetts über den Verbindungsbus BP-DT bereit ist, der dann
frei ist und das Register C mit der Einheit DIM verbindet. Unter diesen Bedingungen wird dann das zweite
Wort des Schreibpuffers WB, welches die zwei ersten Oktetts A, B der Kette enthält, auf den Verbindungsbus
ßP-D7überführt.
Irr, Verlaufe dieses Zyklus /2 erfolgt eine Auffrischung
der Anzeiger SPund /\MPsowie der Zähler BC
und AMC. Der Anzeiger BP zeigt auf das Oktett E des Schreibpuffers WB, um das nächste freie Oktett anzuzeigen.
Der Zähler BC nimmt den Wert ( — 1) an, da keine Oktett mehr vorhanden sind, die von dem Verbindungsbus
BUSA zu dem Schreibpuffer WB übertragen werden sollen. Die vier verbleibenden Oktetts E, F, G
und H sind nämlich ab dem Zyklus /2 in dem Schreibpuffer WB aufgrund der Ausführung der Mikrofunktion
PUT im Zyklus /1 verfügbar. Der Anzeiger AMP zeigt
auf das Oktett 8 des Schreibpuffers WB, um das nächste Oktett anzuzeigen, das zu dem Register C übertragen
werden soll. Dieses Oktett 8 entspricht dem Oktett C der zu überführenden Oktett-Kette.
Der Zähler A MC nimmt den Wert 5 an, um anzuzeigen, daß noch sechs Oktetts der Kette vorhanden sind,
die von dem Schreibpuffer WB zum Register C zu überführen
sind.
Im Zyklus /2 sendet die Einheit DlM automatisch eine Anforderung DIRQ aus, da in ihrem Schreibpuffer
WB das zweite Doppelwort belegt ist Wie bei dem
zuvor beschriebenen 3eispiel erfolgt nun eine Aussendung einer Anforderung ACRQ, wobei die Einheit DIM
ein Signal RQA empfängt das von dem Register C ausgesandt wird und der Einlieft DIM anzeigt, daß diese
Anforderung entgegengenommen wurde. Im Zyklus /3 10 — wird der Anzeiger MP aufgefrischt, um auf das Oktett 8
des Schreibpuffers WB zu zeigen, wodurch angegeben wird, daß dieses das nächste zu dem Register Czu übertragende
Oktett ist
Im Zyklus /4 sendet das Register C ein Signal DTA zur Einheit DIM, um dieser zu signalisieren, daß der
Verbindungsbus BP-DT Irti ist, um Oktetts zu dem Register
Czu überführen, und zwar jeweils zu vier Oktetts pro Zyklus, so daß also die Oktetts C, D, E und F der
Kette zu dem Register C überführt werden. Der Anzeiger AMP wird aufgefrischt und zeigt auf das Oktett 10
des ersten Oktetts des Doppelwortes, welches auf das letzte Oktett der Oktett-Kette folgt. Der Zähler AAiC
nimmt den Wert (— 1) an, um anzuzeigen, daß keine Oktetts mehr vorhanden sind, die in das Register C zu
überführen sind, sobald die laufende Überführungsan- — Ordnung beendet ist. Da nämlich eine Anforderung ein
Doppelwort betrifft, werden die noch in das Register C zu übertragenden Oktette G und H im Zyklus /5 überführt
welcher der Berücksichtigung des zweiten Wortes der Anforderung entspricht. In diesem Zyklus /5 wird
der Anzeiger MPaufgefrischt und zeigt auf das Oktett C
des Schreibpuffers WB, um das erste in das Register C zu überführende Oktett anzuzeigen, nämlich das Oktett
G der beiden letzten Oktette G und H der Kette. In dem darauffolgenden Zyklus k wird der Anzeiger MP aufgefrischt
um auf das Oktett E des Schreibpuffers WB zu zeigen, bei dem es sich um das nächste Oktett handelt,
das in das Register C überführt werden soll. Dieses Oktett E folgt auf das D des Schreibpuffers WB, der das
letzte Oktett H der im Verlauf des Zyklus /5 in das Register Cüberführten Kette enthält.
In Fig. 10 ist zu beachten, daß im Zyklus /2 eine Schreibinitiierungs-Mikrofunktion /WTauftreten kann.
Diese Mikrofunktion kann aber nicht ausgeführt werden, denn in diesem Zyklus /2 hat der Schreibpuffer
kein Doppelwort verfügbar, um die Informationen aus dem Verbindungsbus BUSA entgegenzunehmen. Diese
Mikrofunktion wird also während der darauffolgenden Zyklen /3 bis /5 in den Wartezustand versetzt. Sie kann
erst ab dem Zyklus ;6 ausgeführt werden, sobald die Überführung der Oktett-Kette A. B. C, D, E, F. G und H
beendet ist. Dieses Beispiel zeigt besonders deutlich die von dem erfindungsgemäßen System automatisch
durchgeführten Synchronisierungsvorgänge.
Zur Vervollständigung der zuvor beschriebenen Beispiele sind folgende Betrachtungen nützlich:
— Die Fehlausrichtung der Informationen kann beliebig sein; im Falle des Programmpuffers PB wird
jedoch die Information nach einer Wort- oder Halbwort-Grenze ausgerichtet.
— Die Zustände der verschiedenen Puffer der Einheit DIM können gleichzeitig zu automatischen Anforderungen
von Informationsübertragungen führen. Um dieses Problem zu lösen, sind Prioritätsschaltungen
vorgesehen, die zu einem gegebenen Zeitpunkt die Anforderung mit höchster Priorität freigeben.
Vor der Entgegennahme einer automatischen Anforderung wird deren Aussendung durch
den Zustand der Anzeiger AMP und BP bedingt die dem anfordernden Puffer zugeordnet sind, d. h.
des Anzeigers, der auf das erste Wort der nächsten Anforderung zeigt, mit dem Speicherkomplex auszutauschen
ist, und des Anzeigers, der auf das nächste mit dem Verbindungsbus BUSA auszutauschende
Oktett zeigt
Es ist zulässig, daß der mit der Erstellung des Mikroprogramms befaßte Programmierer die Länge
einer zu übertragenden Kette nicht kennt Er nuß lediglich eine Oberführungsschleife in sein Mikroprogramm
einfügen, da das letzte Oktett der Kette automatisch von der Einheit DIM festgestellt wird,
in Abhängigkeit vom Zustand des Zählers BC, der zu dem betroffenen Puffer gehört (dieser Zähler
nimmt dann den Wert — 1 an).
Die automatischen und nicht automatischen Überführungsanforderungen, von denen letztere durch die in dem Mikroprogramm vorhandenen Mikrofunktionen initiiert werden, werden automatisch in den Wartezustand versetzt, wenn die angeforderten Informationen in den Puffern der Einheit DIM nicht verfügbar sind.
Die automatischen und nicht automatischen Überführungsanforderungen, von denen letztere durch die in dem Mikroprogramm vorhandenen Mikrofunktionen initiiert werden, werden automatisch in den Wartezustand versetzt, wenn die angeforderten Informationen in den Puffern der Einheit DIM nicht verfügbar sind.
Was die automatischen Überführungsanforderungen anbetrifft, die von der Einheit DIM in Abhängigkeit
vom Zustand ihrer Puffer ausgegeben werden, so ist zu beachten, daß einen automatische
Anforderung im Verlaufe desselben Zyklus ausgesandt werden kann, wie derjenige, in welchem eine
Mikrofunktion der Überführung zwischen dem Speicherkomplex und einem Lesepuffer der Einheit
DIM (Mikrofunktion GET) ausgeführt wird, oder derjenige, in welchem eine Mikrofunktion der
Überführung zwischen dem die Verarbeitungseinheiten mit dem Speicherkomplex ausgeführt wird
(Mikrofunktion PUT), um die Überführungsvorgänge zu beschleunigen.
Ferner ist zu beachten, daß die Mikrofunktion SlN, die dem Programmpuffer PB zugeordnet ist, ferner
die fortwährende Auffüllung dieses Puffers gewährleistet, indem Anforderungen an das Register
gerichtet werden, unter der Voraussetzung natürlich, daß keine Anforderungen im Wartezustand
sind und daß der Programmpuffer PB genügend verfügbaren Platz aufweist.
Hierzu 4 Blatt Zeichnungen
Claims (1)
1. Vorrichtung zur automatischen Verwaltung von Informationsüberführungen in einer Informationsverarbeitungsanlage,
die wenigstens die folgenden Elemente enthält:
— einen Prozessor (P), d.iT durch wenigstens einen
Verbindungsbus (BUSA) miteinander verbundene Verarbeitungseinheiten (ACM, ALM,
PIM, CSU, SCM) enthält und dem ein Register (C) zugeordnet ist;
— eine Hauptspeichereinheit (MMU),
— eine Ein/Ausgabe- Einheit (IOC);
— eine Schnittstelleneinheit (DIM), die zwischen dem aus der Hauptspeichereinheit und dem Register
gebildeten Speicherkomplex (MMU, C) und den Verarbeitungseinneiten (ACM, ALM,
PIM, CSU, SCM) angeordnet und aus Pufferspeichern (PB;RBO, RB1; WB;RT; Umgebildet
ist, über die Daten- und Befehlsinformationen überführt werden;
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8007288A FR2479532B1 (fr) | 1980-04-01 | 1980-04-01 | Procede et dispositif pour gerer les transferts d'informations entre un ensemble memoire et les differentes unites de traitement d'un systeme de traitement numerique de l'information |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3113188A1 DE3113188A1 (de) | 1981-12-03 |
DE3113188C2 true DE3113188C2 (de) | 1985-06-20 |
Family
ID=9240390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3113188A Expired DE3113188C2 (de) | 1980-04-01 | 1981-04-01 | Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage |
Country Status (3)
Country | Link |
---|---|
US (1) | US4415971A (de) |
DE (1) | DE3113188C2 (de) |
FR (1) | FR2479532B1 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4720779A (en) * | 1984-06-28 | 1988-01-19 | Burroughs Corporation | Stored logic program scanner for a data processor having internal plural data and instruction streams |
JPH071498B2 (ja) * | 1985-11-28 | 1995-01-11 | 株式会社日立製作所 | パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ |
EP0259095A3 (de) * | 1986-08-27 | 1990-02-28 | Amdahl Corporation | Warteschlange für einen Cachespeicher |
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4999766A (en) * | 1988-06-13 | 1991-03-12 | International Business Machines Corporation | Managing host to workstation file transfer |
US5261074A (en) * | 1988-10-03 | 1993-11-09 | Silicon Graphics, Inc. | Computer write-initiated special transferoperation |
DE68926168T2 (de) * | 1988-10-03 | 1996-08-29 | Silicon Graphics Inc | Rechner-dreiweg-übertragungsvorgang |
US5274795A (en) * | 1989-08-18 | 1993-12-28 | Schlumberger Technology Corporation | Peripheral I/O bus and programmable bus interface for computer data acquisition |
US5471638A (en) * | 1991-10-04 | 1995-11-28 | Bull Hn Inforamtion Systems Inc. | Bus interface state machines with independent access to memory, processor and registers for concurrent processing of different types of requests |
JP2568017B2 (ja) * | 1992-03-12 | 1996-12-25 | 株式会社東芝 | マイクロプロセッサ及びそれを使用したデータ処理システム |
JPH07105128A (ja) * | 1993-10-07 | 1995-04-21 | Mitsubishi Electric Corp | データ転送装置 |
US5842038A (en) * | 1996-10-10 | 1998-11-24 | Unisys Corporation | Optimized input/output memory access request system and method |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
JPS5440182B2 (de) * | 1974-02-26 | 1979-12-01 | ||
JPS51127626A (en) * | 1975-04-30 | 1976-11-06 | Hitachi Ltd | Information processor |
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
DE2557787C2 (de) * | 1975-12-22 | 1982-09-09 | Siemens AG, 1000 Berlin und 8000 München | Vorausladeeinrichtung zum mikroprogrammierten und verdeckten Bereitstellen von Maschinenbefehlen unterschiedlichen Formats in einem Prozessor eines datenverarbeitenden Systems |
US4181937A (en) * | 1976-11-10 | 1980-01-01 | Fujitsu Limited | Data processing system having an intermediate buffer memory |
US4092713A (en) * | 1977-06-13 | 1978-05-30 | Sperry Rand Corporation | Post-write address word correction in cache memory system |
AU529675B2 (en) * | 1977-12-07 | 1983-06-16 | Honeywell Information Systems Incorp. | Cache memory unit |
-
1980
- 1980-04-01 FR FR8007288A patent/FR2479532B1/fr not_active Expired
-
1981
- 1981-03-31 US US06/249,409 patent/US4415971A/en not_active Expired - Fee Related
- 1981-04-01 DE DE3113188A patent/DE3113188C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE3113188A1 (de) | 1981-12-03 |
FR2479532A1 (fr) | 1981-10-02 |
FR2479532B1 (fr) | 1986-09-19 |
US4415971A (en) | 1983-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3689394T2 (de) | Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor. | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE3113188C2 (de) | Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage | |
DE1524166B1 (de) | Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
CH634939A5 (de) | Kanaldatenpufferanordnung in einer datenverarbeitungsanlage. | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE2725522A1 (de) | Datenverarbeitungsvorrichtung | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE2747146A1 (de) | Datenverarbeitungsanlage | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE3432524A1 (de) | Mehrfach genutzter datenschreiberregler und verfahren | |
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage | |
DE1499206B2 (de) | Rechenanlage | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
CH634938A5 (de) | Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen. | |
DE3936339C2 (de) | DMA-Controller | |
DE1925427A1 (de) | Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE1574877B1 (de) | Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |