DE3113188C2 - Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage - Google Patents

Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage

Info

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
Application number
DE3113188A
Other languages
English (en)
Other versions
DE3113188A1 (de
Inventor
Michel Jean-Marie Palaiseau Guillemet
Michel Paris Isert
Original Assignee
Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris filed Critical Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris
Publication of DE3113188A1 publication Critical patent/DE3113188A1/de
Application granted granted Critical
Publication of DE3113188C2 publication Critical patent/DE3113188C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand 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.
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.
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)

Patentansprüche:
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;
DE3113188A 1980-04-01 1981-04-01 Vorrichtung zur Verwaltung der Informationsüberführung in einer Informationsverarbeitungsanlage Expired DE3113188C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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