DE2727188A1 - Anordnung zum adressieren eines speichers - Google Patents
Anordnung zum adressieren eines speichersInfo
- Publication number
- DE2727188A1 DE2727188A1 DE19772727188 DE2727188A DE2727188A1 DE 2727188 A1 DE2727188 A1 DE 2727188A1 DE 19772727188 DE19772727188 DE 19772727188 DE 2727188 A DE2727188 A DE 2727188A DE 2727188 A1 DE2727188 A1 DE 2727188A1
- Authority
- DE
- Germany
- Prior art keywords
- addressing
- arrangement
- address
- data
- registers
- 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.)
- Withdrawn
Links
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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
Patentanjväüe
8 München 60
173 Bd.Haussmann
75008 Paris, Frankreich
Die Erfindung bezieht sich auf eine Anordnung zum Berechnen und Suchen von Mikrobefehlsadressen in Steuereinheiten von Programmspeichern.
Derzeit werden zahlreiche Adressenberechnungsanordnungen angewendet, die durch unterschiedliche Adressenberechnungsarten und kürzere oder längere Berechnungszeiten gekennzeichnet sind; diese Berechnungszeiten können fest oder
variabel sein.
Bei bestimmten Anwendungsfällen, insbesondere bei Adressenberechnungsanordnungen von Steuereinheiten für numerische
Kopplungssysteme zumHerstellen von Verbindungen zwischen einer ersten Vorrichtung und einer zweiten Vorrichtung wird
709852/1015
zum Koordinieren der Eingangs- und Ausgangssignale jeder der zwei Vorrichtungen eine Programmfolge benötigt.
Zur gleichzeitigen Behandlung dieser zwei Programmfolgen müssen in der Steuereinheit feste Adressenberechnungszeiten
beachtet werden,damit abwechselnd die zwei Vorrichtungen bedient werden, die an den beiden Seiten des Systems
liegen. Für diese Anwendungsfälle können zwei voneinander unabhängige Adressierungsanordnungen benutzt werden, wobei
eine externe Logikeinheit ermöglicht, daß die zwei Adressierungsanordnungen nacheinander in Übereinstimmung
arbeiten. Wenn die zwei Programmfolgen den gleichen Speicher benutzen,müssen zusätzliche Logikschaltungen
vorgesehen werden, damit der Speicherzugriff durch die
zwei Adressierungsanordnungen gewährleistet wird. Solche Systeme sind umständlich und schwierig zu verwirklichen.
Die Erfindung betrifft eine Anordnung zum Adressieren eines Mikroprogrammspeichers, der wenigstens zwei Mikroprogrammfolgen
enthält, die sich auf zwei verbundene oder unabhängige Systemseiten beziehen, wobei die Anordnung
abwechselnd mit festem Rhythmus die Adressen für die erste Seite und die Adressen für die zweite
Seite liefern kann, damit eine quasi-simultane Abwicklung
der zwei Mikroprogrammfolgen erreicht wird.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein Schaltbild der erfindungsgemäßen Adressierungsanordnung,
Fig.2 ein Zeitdiagramm verschiedener Steuersignale, die
für den Betrieb der Anordnung erforderlich sind,
709852/1015
-V-
Fig.3 eine Übersichtsdarstellung einer programmierten
Datenverarbeitungseinheit, bei der von einer Adressierungsanordnung nach der Erfindung Gebrauch
gemacht wird, und
Fig.4 ein erläuterndes Diagramm.
Der zentrale Teil eines Mikroprozessors enthält in verschiedenen Formen folgende Elemente:
- eine Zentraleinheit, die auch als Rechen- und Logikeinheit bezeichnet wird und arithmetische und logische Operationen
sowie Decodierungsoperationen ausführt. An ihre Eingänge werden Operanden oder Adressen von Operanden, wenn diese
gespeichert sind, sowie die Art der auszuführenden Operationen angebende Codegruppen angelegt. Ihre Ausgänge
liefern einerseits das Operationeergebnis und andrerseits Zustandssignale, die sich auf Quellen in der Einheit,
die durch die Operation modifiziert worden sind, oder direkt auf das Operationsergebnis beziehen.
- eine Gruppe von Programm- oder Mikroprogrammbefehlen, die in einem Festspeicher gespeichert sind. Die Ausführung
jedes Befehls oder Mikrobefehls steuern neben anderen Elementen die Zentraleinheit. Die zeitliche Abhandlung
der ausgeführten Befehle ergibt das Arbeiten der An»
Ordnung.
- eine Adressierungsanordnung, die dem Programm die Befehle zu ihrer Durchführung einzeln entnimmt. Die
Abhandlung der Befehle ergibt sich durch eine Auswahlfolge, die einerseits von der Adresse und vom Typ des
laufenden Befehls, d.h. des in der Ausführung befindlichen Befehls (wobei dieser Befehl im allgemeinen die
709852/1015
Anweisungen für das Aufsuchen des nachfolgenden Befehls liefert), andrerseits von Zustandssignalen vom Ausgang der
Zentraleinheit im Verlauf der gerade ausgeführten Operation und schließlich von von außen in das System eingegebenen Bedingungen abhängt. Zur Erzielung der Befehlsabhandlung können im Hinblick auf die Art der auszuführenden Programme zahlreiche Lösungen vorgesehen werden.
Die Mikroprogramm-Speicheranordnung nach der Erfindung ist auf Programme gerichtet, die sich auf Kopplungsvorgänge
beziehen. Anstelle der Steuerung der Suche von Befehlen einer einzigen Folge, wie es bisher üblich ist, steuert
diese Anordnung die Suche von Befehlen von zwei Programmfolgen quasi-simultan, indem Quellen benutzt werden, die
teilweise unabhängig sind und teilweise gemeinsam benutzt werden, wobei sich diese Folgen jeweils auf eine von zwei
zu verbindenden Vorrichtungen oder Seiten des Systems beziehen.
In Fig.1 ist eine Ausführungsform der Adressierungsanordnung nach der Erfindung dargestellt.
Diese Anordnung enthält einen Takteingang H9 der den Takt
festlegt, mit dem die Adressen der verschiedenen Befehle am Vielfachausgang SA der Adressierungsanordnung verfügbar
sind. Wie anschliessend noch angegeben wird, sind diese Adressen abwechselnd und unveränderlich an diesen Ausgängen
verfügbar, wobei eine neue Adresse für eine gegebene Seite bei jeder zweiten Periode des Takts H verfügbar
ist. Für eine gegebene Seite werden die zur Berechnung der Adresse notwendigen Daten und Befehle an die verschiedenen Eingänge der Anordnung angelegt und nötigenfalls abgespeichert, und diese Daten werden dann zum
Berechnen der Adresse während der nachfolgenden Taktperiode
709852/1015
S* •■Χ
benutzt.Bs liegt eine Parallelbeziehung zwischen den
zwei Seiten vor, da während der Periode der Datenerfassung für eine Seite die Adressenberechnung für die
andere Seite ausgeführt wird und umgekehrt.
DLe anschliessend zu beschreibende Anordnung benutzt eine von vier Adressenberechnungsverfahren, die vier möglichen
Adressierungsarten im Speicher entsprechen:
- eine einfache sequentielle Adressierung, bei der die Adresse eines Mikrobefehls die Adresse des sich auf die
gleiche Seite beziehenden vorangehenden Mikrobefehls ist, die um den Wert 1 erhöht ist;
- eine sequentielle indizierte Adressierung, bei der die Adresse eines Mikrobefehls die Adresse des sich auf die
gleiche Seite beziehenden vorangehenden Mikrobefehls ist, die um einen vorbestimmten Betrag erhöht ist;
- eine einfache Verzweigungsadressierung, bei der die Adresse eines zu suchenden Mikrobefehls ein an die Adressierungsanordnung gelieferter Datenwert ist;
- eine indizierte Yerzweigungsadressierung, bei der die
Adresse eines zu suchenden Mikrobefehls ein an die Adressierungsanordnung gelieferter Datenwert ist, der um
einen vorbestimmten Betrag erhöht ist.
Es könnten auch andere Arten der Adressenberechnung vorgesehen werden, wobei die zu beschreibende Adressierungsanordnung entsprechend bekannter Verfahren angepaßt wird.
709852/1015
Damit bestimmt werden kann, welche Adressierungsart bei jeder Adressenberechnung angewendet werden soll, verfügt die
Adressierungsanordnung über zwei Auswahleingänge, nämlich einen Eingang X und einen Eingang T. Die verschiedenen
Kombinationen der an diese zwei Eingänge angelegten Signale ergeben die oben angegebenen vier Adressierungsarten.
Die Anordnung enthält außerdem einen Sperreingang I1
der die Nullstellung der Ausgangsleitungen der Adressierungsanordnung ermöglicht,sowie einaiEingang E, mit dessen
Hilfe die Ausgangsleitungen der Anordnung hochohmig gemacht werden können. Dieser Vorgang ermöglicht es, die
Wirkung dieser Leitungen auf alle externen Leitungen aufzuheben, an die sie während des Betriebs angeschlossen
werden, insbesondere die Wirkung auf die Adressierungseingänge des Mikroprogrammspeichers.
Der normalerweise aktive Steuereingang E ermöglicht in seinem inaktiven Zustand die Freigabe des Zugriffs auf
den Speicher durch die externen Schaltungen oder durch andere Adressierungsanordnungen, die der beschriebenen
Anordnung gleichen.
Die Adressierungsanordnung enthält ferner Auswähl- und Steuereingänge zum Schreiben und Lesen verschiedener
Speicherregister der Anordnung, nämlich der Register R, W1 B und L. Diese verschiedenen Eingänge und die Signale,
die sie empfangen, werden anschliessend beschrieben.
Schließlich enthält die Adressierungsen Ordnung einen
Dateneingang von einer Vielfachverbindung EDO ( einer in der englischsprachigen Literatur Daten-Bus genannt)
sowie einen Datenausgang über eine Vielfachverbindung SDO.
709852/101B
Die Eingangsvielfachverbindung ist an Eingangsleitungen eines Registers 1 angeschlossen, und die Ausgangsvielfachverbindung
ist direkt an Ausgangsleitungen dieses Registers angeschlossen. Die in diesem Register 1 enthaltenen Daten
sind an seinen Ausgangsld tungen während einer Periode des Takts H verfügbar, wobei sich diese Daten auf die Seite
beziehen, für die diese Taktperiode der Adressenberechnungsphase entspricht. Das Register 1 weist einen mit dem Eingang H
verbundenen Takteingang auf, und sein Inhalt wird bei den a nsteigenden Flanken des Taktsignals H modifiziert. Die
Ausgangsvielfachverbindung des Registers 1 ist einerseits mit dem Vielfacheingang eines ersten Registerblocks 3 aus
Verzweigungsregistern und andrerseits mit einem ersten
Vielfacheingang einer Addiereinheit 2 verbunden. Der
Vielfachausgang der Addiereinheit 2 ist mit dem Vielfacheingang eines Adressenregisters 4 verbunden, dessen Vielfachausgang
der Ausgang SA der Adressierungεanordnung ist.Dieser
Ausgang ist extern mit dem Adressierungseingang des Mikroprogrammspeichers und intern mit dem Vielfacheingang eines
zweiten Registerblocks 5 mit Folgeregistern verbunden. Die Vielfachausgänge der Registerblöcke 3 und 5 sind an
die gleiche Vielfachverbindung angeschlossen, an die die in einem der zwei Registerblöcke gelesenen Daten angelegt
werden.
Die zwei Registerblöcke sind gleichartig; sie enthalten jeweils vier Register, die von zwei Schreibauswahleingängen
und von zwei Leseauswahleingängen gesteuert werden; die Kombination der an diesen zwei Auswahleingängen anliegenden
digitalen Signale bestimmt, in welchem der vier Register das Schreiben der Daten erfolgen soll, die an einer mit
den Eingängen jedes der vier Register verbundenen Eingangsvielfachverbindung vorhanden sind, oder sie bestimmt das
709852/1015
Lesen der Daten, die in einem der vier Register enthalten sind, d .h. ihre übertragung zu einer Ausgangsvielfachleitung,
die an die Vielfachausgänge der vier Register angeschlossen ist. Diese Registerblöcke enthalten ferner
einen Schreibsteuereingang, der die Zeitpunkte bestimmt, an denen ein Einschreibvorgang in eines der Register
eines Blocks durchgeführt wird; außerdem weisen sie einen Lesesteuereingang auf, der die Zeitpunkte festlegt,
an denen ein Lesevorgang in einem der Register eines Blocks durchgeführt wird. Dabei schließt ein
Lesevorgang in einem Register des Blocks 3 einen Lesevorgang in einem Register des Blocks 5 aus und umgekehrt.
Ausgehend vom Taktsignal H liefert zu diesem Zweck ein D-Flipflop 11, an dessen Takteingang das Taktsignal H
anliegt und dessen negierender Ausgang 5 mit dem Eingang D verbunden ist, am Ausgang Q ein Signal A/B, das das durch
den Faktor 2 geteilte Taktsignal ist und die doppelte Periodendauer wie dieses Taktsignal hat. Dieses Signal
wird dem Eingang D eines Flipflops 12 zugeführt, dessen Takteingang das Taktsignal H über einen Negator 13 empfängt.
Das Ausgangssignal dieser Kippschaltung Q (k/B) ist somit
das Signal A/B, das mit einer Verschiebung um eine halbe Taktperiode übertragen wird. Diese verschiedenen Signale
sind in Fig.2 dargestellt.
Das Signal A/B bestimmt die Erfassungsphasen T1 und die
Berechnungsphasen T2 für die Adressenberechnungsvorgänge
der Befehle, die sich nacheinander auf die zwei Befehlsfolgen für die zwei zu koppelnden Vorrichtungen beziehen,
wobei die Buchstaben A und B diesen zwei Vorrichtungen entsprechen ·
709852/1015
Wie oben erwähnt wurde, erfolgen die Zustandsänderungen an den Ausgängen des Registers 1 mit den ansteigenden
Flanken des Taktsignals M„, was im übrigen auch für das
Schreiben der im Verlauf der Berechnungsphase für die
die gleiche Seite berechneten Adresse in einem der Folgeregister gilt. Das Schreiben von Daten an den Ausgangsleitungen
des Registers 1 in eines der Verzweigungsregister 3 erfolgt nötigenfalls mit den ansteigenden
Flanken M1 des Befehlssignals L, das, wie in dem Diagramm
angegeben ist, das um eine halbe Periode verschobene Taktsignal ist, und das aber nur vorhanden ist, wenn ein Schreibvorgang
in einem Verzweigungsregister erforderlich ist.
Die Schreibauswahleingänge der Folgeregister empfangen das Signal A/B im invertierten Zustand, das die Auswahl einer
ersten Gruppe aus zwei Registern für die Seite A oder die Auswahl einer zweiten Gruppe aus zwei Registern für die
Seite B bestimmt, sowie ein Signal W, das das erste oder das zweite Register jeder dieser zwei Gruppen auswählt.
Das Signal W1 stammt von einem Signal W, das am Eingang der
Adressierungsanordnung an· den Eingang eines Flipflops 10 angelegt wird, das den digitalen Signalwart "1" zu seinem
Ausgang Q überträgt, sobald dieser Signalwert an seinem Eingang erscheint, wobei die am Eingang H anliegenden Taktimpulse
das Sperren des Ausgangs ermöglichen.
Die Schreibauswahleingänge der Verzweigungsregister empfangen
ein von außen kommendes Signal B, das dazu bestimmt ist, das erste oder das zweite Register jeder Gruppe auszuwählen,
sowie das Signal Q(A/B) für die Auswahl einer der zwei Gruppen entsprechend der betroffenen Seite. Zum Lesen der
zwei Registerblöcke 3 und 5 wird das Befehlssignal R1 an
einen ersten Auswahleingang angelegt; dieses Signal wird
709852/1015
vom Ausgang Q eines D-Flipflops 9 geliefert, das am D-Eingang
das Signal R und am Takteingang das Taktsignal H empfängt. Mit Hilfe des Signals R1 kann das erste oder
das zweite Register jeder Gruppe ausgewählt werden; der zweite Auswahleingang empfängt das Signal (!(A/B),
das die Auswahl einer der zwei Gruppen bestimmt. Die LeseZeitpunkte werden vom Lesesteuereingang bestimmt;
der Lesesteuereingang des Verzweigungsregisterblocks empfängt das invertierte ausgeblendete Testsignal T7" ,
das mittels eines D-Flipflops 8 vom Testsignal T abgeleitet ist, das auch das Taktsignal empfängt, und der
Auswahleingang des Verzweigungsregisterblocks empfängt das ausgeblendete Testsignal T1. An einem gegebenen
Zeitpunkt wirkt der Lesebefehl nur auf einen der zwei Speicher.
Die Ausgangsvielfachverbindung, die gemeinsam für die beiden Speicherblöcke 3 und 5 vorgesehen ist, ist mit einem
zweiten Vielfacheingang der Addiereinheit 2 verbunden. Diese Addiereinheit weist zwei Einstelleingänge auf, die ihren
ersten Vielfacheingang zwangsweise auf "1" oder auf "O"
stellen, wenn sie aktiviert sind. Diese zwei Eingänge sind mit den zwei Ausgängen einer Logikschaltung 6 verbunden,
die an ihren zwei Eingängen die Signale T1 und X1
empfängt. Die Kombination X1= 0, T'=0 führt zur Aktivierung
des "1" Einstelleingangs, während die Kombination X'=0,
Tf=1 zur Aktivierung des nOn-ELnstelleingangs. führt.
Diese zwei Kombinationen entsprechen einer einfachen sequentiellen Adressierung und einer einfachen Verzweigungsadressierung.
In den anderen Fällen liefert der erste Eingang an die Addiereinheit den Indexwert, während der zweite
Eingang die Ausgangsadresse von den Folgeregistern oder von den Verzweigungsregistern liefert, was zu einer
709852/1015
sequentiellen indizierten Adressierung bzw. einer indizierten Verzweigungsadressierung führt.
Das Vorsehen der zwei Verzweigungs- oder Folgeregister für jede der zwei Seiten ist unbedingt notwendig, damit
die Adressenberechnungsanordnung die zur Abhandlung einer Hauptbefehlsfolge unter Steuerung der Abhandlung einer sich
auf die gleiche Seite beziehenden Unterbefehlsfolge notwendigen Elemente gespeichert halten kann.
In Fig.3 ist ein Übersichtsdiagramm einer Verarbeitungseinheit
dargestellt, die dazu bestimmt ist, von einer zu einer ersten oder einer zweiten Seite gehörigen Datenquelle
stammende Daten zu einem oder zu mehreren Empfängern zu übertragen, d.h. zu einer oder zu mehreren Vorrichtungen,
die diese Daten anwenden können, und die auch einer ersten oder einer zweiten Seite angehören. Bei diesem Anwendungsfall laufen die Informationen insgesamt über eine externe
Verbindung. Jedes an diese externe Verbindung angeschlossene Systemelement kann abwechselnd Quelle und Empfänger sein,
was auch für die Adressierungsan Ordnung und das Rechen-
und Logikwerk gilt. Bei jedem Befehl empfängt die externe Verbindung einen Wert von einer einzigen Quelle.
Ein solches System enthält eine Adressierungsanordnung 20, die der unter Bezugnahme auf Fig.1 beschriebenen Adressierungsanordnung
gleicht. Die Adressenausgabe-Vielfachverbindung dieser Anordnung ist am Adressierungseingang eines Festspeichers
30 angeschlossen, in dem zwei Befehlsfolgen gespeichert worden sind, die sich auf die zwei zu verbindenden
äußeren Seiten A und B beziehen; ferner ist die Vielfachverbindung an ein Rechen- und Logikwerk 40 angeschlossen,
das einen für den eigentlichen Rechenvorgang reservierten Abschnitt, einen lokalen Speicher und ein lokales Register
enthält. Der lokale Speicher liefert an die Berechnungsanordnung des Rechenwerks zwei Operanden, und das lokale
709852/1015
Register liefert einen dritten Operanden. Ein weiterer Operand kann dem Rechenwerk über den Eingang D von der
externen Verbindung zugeführt werden.
Bei jedem Befehl werden aus den vier möglichen Operanden
zwei ausgewählt, wobei die Bestimmung des nach der Operation erhaltenen Ergebnisses und die Operation selbst ebenfalls
angegeben werden. Diese Dreifachauswahl wird mit Hilfe der drei Befehlseingänge O, P und Q verwirklicht.
Das Rechen- und Logikwerk ^O steht mit den an die externe
Verbindung angeschlossenen Systemelementen mittels der Eingänge D und der Ausgänge Y in Verbindung; die Verbindung
mit den Eingängen D führt dabei über Eingangspufferregister 50 für die Seite A und über Eingangspufferregister
60 für die Seite B, während die Verbindung mit den Ausgängen Y über Ausgangspufferregister 70 für die
Seite A und über Ausgangspufferregister 80 für die Seite B führt. Das Rechen- und Logikwerk liefert an ihren
Ausgängen Z, C, V und N vier Zustandssignale, die die
soeben ausgeführte Operation kennzeichnen. Ein Signal mit dem Wert "1" am Ausgang Z zeigt an, daß das Ergebnis
der soeben durchgeführten Operation den Wert 0 hat; der Signalwert n1n am Ausgang C zeigt an, daß
ein Übertrag vorhanden ist; der Signalwert "1" am
Ausgang V zeigt an, daß der erhaltene Wert zu groß ist und die Kapazität des Rechen- und Logikwerks
überschreitet; der Signalwert "1" am Ausgang N zeigt
an, daß das Ergebnis der Operation eine negative Zahl ist. Die externe Vielfachverbindung, an die die Quellen-
und Empfängerelemente angeschlossen sind, wird direkt
709852/1015
von Befehlssignalen gesteuert, die vom Festspeicher 30 kommen; die Ausgänge SO und OE sind dabei für die Auswahl
des Quellenelements bzw. der Empfängerelemente zur Durchführung jedes Datenübertragungsbefehls bestimmt.
Der Festspeicher ist mit dem Rechen- und Logikwerk und mit Hilfseinheiten über ein Befehlsregister verbunden, das
aus einem ersten Register 31 und einem zweiten Register zusammengesetzt ist. Das erste Register 31 ist mit einem
als Operationsfeld CO bezeichneten Abschnitt des Mikrobefehls geladen, und es liefert an das Rechenwerk die
Auswahlsignale O, P und Q; das zweite Register 32 ist mit
einem als Auswahlfeld CS bezeichneten anderen Abschnitt des Mikrobefehls geladen, der für die Auswahl des Schreibens
der Verzweigungsregister der Adressierungsanordnung bestimmt ist. Zu diesem Zweck ist ein erster Ausgang des
Registers 32 mit dem Eingang B der Adressierungsanordnung verbunden, und der andere Ausgang dieses Registers ist
mit dem Eingang L der Adressierungsanordnung über ein NAND-Glied 33 verbunden, das an seinem zweiten Eingang
das Taktsignal CK der Anordnung empfängt. Dieses Taktsignal CK wird auch dem Takteingang H der Adressierungsanordnung über ein ODER-Glied 34 zugeführt, das an seinem
zweiten Eingang das Ausgangssignal eines D-Flipflops 35 empfängt, das seinerseits an seinem D-Eingang ein Sperrsignal
und an seinem Takteingang das Taktsignal CK empfängt. Das Ausgangssignal dieses Flipflops wird auch
dem Eingang E der Adressierungsanordnung zugeführt.
Bin direkt vom, Befehlsspeicher abgegebener weiterer Abschnitt
des Mikrobefehls ist für die Steuereingänge W, R,
709852/1015
X land T der Adressierungsanordnung bestimmt. Zu diesem
Zweck sind am Speicher vier Ausgänge vorgesehen; diese Ausgänge sind direkt mit dem Eingang W, dem Eingang X
und dem Eingang R und zur Invertierung des Testsignals über ein Antivalenz-Glied 36 mit dem Eingang T der
Adressierungsanordnung verbunden. Der zweite Eingang des Antivalenz-Glieds 36 empfängt das Ausgangesignal
des Multiplexers 100 der Seite A oder das Ausgangssignal
des Multiplexers 101 der Seite B, wobei dieses Signal das zu prüfende Signal ist. Die Möglichkeit der Testinvertierung
ermöglicht eine Verbesserung der Flexibilität bei der Programmierung der Kopplungsanordnung. Die Multiplexer
100 und 101 sind mit einem Ausgang des Speichers verbunden, der ein weiteres Feld jedes gespeicherten Mikrobefehls
liefert, das sich auf den Testvorgang bezieht und als Testfeld CT bezeichnet wird. Sie empfangen außerdem das
von der Adressierungsanordnung kommende Signal A/B, das einen, der beiden Multiplexer entsprechend der vom gelesenen
Mikrobefehl betroffenen Seite auswählt. Auf diese Weise wird aus η möglichen Signalen ein Signal zur Übertragung zur
Adressierungsanordnung ausgewählt, damit es dort geprüft wird. Unter den der Prüfung zugänglichen Signalen sind
die ZustandssignaleZ, C, V und N, die über ein Register
102 zum Multiplexer 100 und über einRegister 103 zum Multiplexer 101 übertragen werden, sowie weitere Signale,
die von Quellen außerhalb des Systems stammen und die auf diese Weise berücksichtigt werden können. Die Register
und 103 speichern abwechselnd für jede Seite die vom Rechen- und Logikwerk kommenden Signale. Die auf diese
Weise nach der Ausführung eines Mikrobefehls gespeicherten Signale können vom nachfolgenden Mikrobefehl geprüft
werden. Ein Multiplexer 37, dessen Vielfachausgang mit dem
709852/1015
Dateneingang der Adressierungsanordnung verbunden ist, empfängt ein Feld DO des Mikrobefehls, das direkt aus
dem Speicher 30 stammt; ferner empfängt dieser Multiplexer Daten, die an der externen Vielfachverbindung
abgenommen werden. Die Auswahl zwischen diesen beiden Werten wird mit Hilfe eines Steuersignals bewirkt, das auch
aus dem Mikrobefehl stammt, wobei ein Feld EX mit einem Bit dieses Mikrobefehls für diesen Zweck reserviert ist.
Außerdonist auch der Datenvielfachausgang der Adressierungsanordnung an die externe Vielfachverbindung angeschlössen.
Die Adressierungsanordnung kann somit mit den weiteren Elementen des Systems in den zwei Übertragungsrichtungen
Daten austauschen. Sie kann also ebenso als Quelle wie auch als Empfänger in der gleichen Weise wie die anderen Elemente
des Systems wirken.
Ein im Speicher 40 gespeicherter Mikrobefehl hat folgende Struktur:
|S0 j DE I CO I CS| CT I W I R j X I Rj INV I DO I EX
Dabei sind:
- SO: Feld zur Auswahl einer Quelle für die Übertragung
über die externe Vielfachverbindung;
- DE: Feld zur Auswahl von Empfängern zur übertragung
über die externe Vielfachverbindung;
- CO: Operationsfeld zur Bestimmung der Auswahl von
Operanden und der Operation;
- CS: Feld zur Schreibauswahlsteuerung von Verzweigungs-
registern der Adressierungsanordnung;
709852/1015
- W, X, R, INV: weitere Steuerbefehle für die Adressie
rungsanordnung; *
- DO : von der Adressierungsanordnung gegebenenfalls
als absolute Verzweigungsadresse oder als Indexwert für eine indizierte Adressierung
benutzter Wert;
- EX: Binärelement, das festlegt, ob der Daten
vielfache ingang der Adressierungsanordnung seinen Wert von der externen Vielfachverbindung
oder vom Befehlsspeicher empfangen soll (Wert EDO).
Bei diesem Anwendungsfall berechnet die Adressierungsanordnung die Adresse eines im Befehlsspeicher 30 zu
suchenden Mikrobefehls.Bei jedem Taktzyklus wird ein in diesem Speicher vorhandener Mikrobefehl abwechselnd
für die Seite A und für die Seite B gelesen. Beim nachfolgenden Zyklus kann dann der entsprechende Befehl im
Rechen- und Logikwerk 40 ausgeführt werden, und die Adressierungsanordnung kann die für die Berechnung
der folgenden Adresse für die gleiche Seite verwendbaren Daten berücksichtigen.
Parallel zur Befehlsausführung für eine Seite erfolgt der Lesevorgang für die andere Seite.
Die DatenUbertragungsvorgänge auf der externen Vielfachverbindung werden gleichzeitig mit den Übertragungen der
zum Lesen notwendigen Felder genau am Ende des Erfassungszyklus durchgeführt. In diesem Zeitpunkt sind alle Speicher-
709852/101B
ausgänge zum Rechen- und Logikwerk und zur Adressierungsanordnung für die Ausführung bereit, die unmittelbar darauf
folgt.
Die externe Vielfachverbindung 200 ist zusammen mit einer gewissen Anzahl an sie angeschlossener Systemelemente
in Fig.k dargestellt. Die Register REG1.... REG N sind Datenregister, externe Peripherieregister
oder auch sogenannte "Ablageregister". Sie können Daten
an die externe Verbindung liefern oder Daten von dieser Verbindung empfangen. Die Speicher 210 und 230 sind
den zwei Seiten A und 6 zugeordnete Speicher. Die Adresse des zu lesenden Datenwerts oder die Adresse, an dem
ein Datenwert in einem dieser Zwischenspeicher abgespeichert werden soll, wird von einem der zwei Speicherzugriffsregister
220 und 240 der Seiten A und B geliefert, wobei der Inhalt dieser Register an der Verbindung 200 gelesen
oder an diese Verbindung geliefert werden kann. Die externe Verbindung ist außerdem mit dem Dateneingang EDO
und auch mit dem Ausgang SDO der Adressierungsanordnung verbunden. In dieser Figur sind auch der Eingang D und
der Ausgang Y des Rechen- und Logikwerks sowie die Eingangsregister 50 und 60 und die Ausgangsregister 70
und 80 zu erkennen. Zur Bildung eines vollständigen Systems können auch weitere Elemente an diese externe
Vielfachverbindung angeschlossen werden.
Als einfaches Anwendungsbeispiel dieses Systems sei eine Operation betrachtet, bei der im Register REG1
enthaltene Daten gelesen und an der im lokalen Speicher des Rechen- und Logikwerks an der Adresse 0 angegebenen
709852/1015
ORIGINAL INSPECTED
Adresse abgespeichert werden. Diese Operation kann auch Kontrollen der empfangenen Informationen bewirken, wobei
eine Kontrolle dadurch erhalten wird, daß der abgespeicherte Wert zum Inhalt des lokalen Speichers an der Adresse 1 hinzugefügt
wird. Dann muß der lokale Speicher an der Adresse durch Hinzufügen des Werts "1" aktualisiert werden, und es
muß sein Wert geprüft werden,womit festgestellt wird, ob die zugewiesene Speicherzone durch den letzten Schreibvorgang
gefüllt worden ist. Diese Operationsfolge erfordert drei Mikrobefehle zur Realisierung von Elementaroperationen.
Jeder Mikrobefehl wird dadurch erhalten, daß die angepaßten Werte jedes Feldes des Mikrobefehls ausgewählt werden, die
für die entsprechende Elementaroperation von Nutzen sind.
Die für diese Operation erforderliche Zeit umfaßt somit drei Zyklen; jeder dieser Zyklen enthält eine Phase der
Datenerfassung durch die Adressierungsanordnung, die gleichzeitig die Befehlslesephase für das System (insbesondere
für das Rechen- und Logikwerk} ist, sowie eine Phase der Berechnung der nächsten Adresse, die gleichzeitig
eine Ausführungsphase des Mikrobefehls für das System ist. Es ist möglich, eine Folge von Befehlen, die sich
auf die andere Seite beziehen, parallel abzuarbeiten. Die Phase der Erfassung und des Lesens für die Seite A ist
gleichzeitig eine Phase der Berechnung der nächsten Adresse für die Seite B und die Ausführung eines Befehls
für die gleiche Seite und umgekehrt.
Die Erfindung ist nicht auf die beschriebene und dargestellte Ausführungsform der Adressierungsanordnung beschränkt. Wie
oben angegeben wurde, ist es insbesondere möglich, andere
709852/1015
Arten der Adressierung des Speichers vorzusehen, indem beispielsweise die Anzahl der Verzweigungsregister und
der Folgeregister für jede Seite erhöht wird. Die Auswahlsignale sind dabei natürlich an die Anzahl der Register
angepaßt.
Diese Anordnung kann in einen Mikroprozessor eingefügt werden, damit sie in vorteilhafter Weise einen herkömmlichen
Programmzähler und dessen angeschlossenen Organe (Unterprogramm-Adressenstapel) ersetzt, wenn
der Mikroprozessor zum Koppeln von zwei Seiten A und B eines Systems verwendet wird, wobei jede Seite eine
gewisse Anzahl von eigenen Einschränkungen aufweist, die berücksichtigt werden müssen und durch eine Folge
von Befehlen ausgedrückt werden können.
709852/1015
Leerseite
Claims (7)
1. Anordnung zum Adressieren eines Speichers, in dem wenigstens zwei Befehlsfolgen vorgespeichert sind, die sich auf
zwei Seiten eines Datenaustauschsystems beziehen, gekennzeichnet durch eine Adressensuchvorrichtung, die die Adressensuche
für jede Seite gemäß zwei aufeinanderfolgenden Phasen mit gleicher Dauer durchführt, nämlich einer ersten
Phase, in der die zum Berechnen der Adressen notwendigen Daten von der Adressierungsanordnung erfaßt werden und
einer zweiten Phase, in der die Anordnung die Adresse abhängig von den Daten berechnet, wobei die Anordnung
derart ausgebildet ist, daß sie gleichzeitig eine erste Phase für eine Seite und eine zweite Phase für die andere
Seite ausführen kann und abwechselnd in einem festen Takt eine Adresse für jede Seite liefert.
7098 5 2/1015
ORIGINAL INSPECTED
«■»
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß für jede Seite eine mit einem festen Takt gesteuerte
Datenspeichervorrichtung und eine mit dem gleichen festen Takt gesteuerte Adressenberechnungsvorrichtung vorgesehen
sind, wobei die Adressenberechnungsvorrichtung in selektiver Weise die Daten aus einer der Datenspeichervorrichtungen
liest, je nachdem, ob die Berechnung die eine oder die andere Seite betrifft.
3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß jede Datenspeichervorrichtung einen doppelten Registerblock
enthält, so daß jede der vorgespeicherten Befehlsfolgen eine unabhängig von den zwei ersten Befehlsfolgen
in den Speicher geschriebene Befehlsfolge abrufen kann, und daß die zwei Speichervorrichtungen Daten bezüglich
der Abwicklung einer ersten Folge sowie Daten bezüglich der Abwicklung einer Unterfolge speichern können.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß jede Speichervorrichtung zwei Folgeregister enthält, die
zum Abspeichern von durch die Adressierungsanordnung gelieferten Adressen bestimmt sind, und daß jede Speichervorrichtung
zwei Verzweigungsregister enthält, die zum Abspeichern von Daten bestimmt sind, die von Quellen
außerhalb der Adressierungsanordnung kommen.
5. Anordnung nach Anspruch 4, gekennzeichnet durch Auswahleingänge,
die dazu bestimmt sind, in jeder Periode die Speichervorrichtung und die speziellen Register für die
Erfassung der externen Daten und die für die Berechnung der Adresse gelesene Speichervorrichtung mit den speziellen
7098 5 2/1015
Registern auszuwählen, wobei die verschiedenen Kombinationen der an diesen Auswahleingängen anliegenden Signale die Art
der durchzuführenden Adressierung bestimmen.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß zur Adressierung des Speichers folgende Adressierungsarten
möglich sind: eine einfache sequentielle Adressierung, eine indizierte sequentielle Adressierung, die ausgehend
von der in einem der Folgeregister abgespeicherten Adresse des vorangehenden Befehls entsprechend der gleichen Seite
erhalten wird, eine einfache Verzweigungsadressierung oder eine indizierte Verzweigungsadressierung,die ausgehend von einer in
einem der Verzweigungsregister abgespeicherten Verzweigungsadresse erhalten wird.
7. Datenverarbeitungsanordnung mit einer Adressierungsanordnung
für einen Befehlsspeicher, der wenigstens zwei Befehlsfolgen enthält, nach einem der vorhergehenden Ansprüche.
709KF.?/1Ö1b
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7618599A FR2355333A1 (fr) | 1976-06-18 | 1976-06-18 | Dispositif d'adressage d'une memoire de microprogrammation et unite de traitement de donnees comportant un tel dispositif |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2727188A1 true DE2727188A1 (de) | 1977-12-29 |
Family
ID=9174596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772727188 Withdrawn DE2727188A1 (de) | 1976-06-18 | 1977-06-16 | Anordnung zum adressieren eines speichers |
Country Status (6)
Country | Link |
---|---|
US (1) | US4247904A (de) |
JP (1) | JPS52155940A (de) |
CA (1) | CA1095632A (de) |
DE (1) | DE2727188A1 (de) |
FR (1) | FR2355333A1 (de) |
GB (1) | GB1576652A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907799A1 (de) * | 1978-03-07 | 1979-09-13 | Ibm | Verfahren und anordnung zum steuern des zugriffs zu einem arbeitsspeicher |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54114552A (en) * | 1978-02-28 | 1979-09-06 | Sumitomo Chem Co Ltd | Improved rubber composition |
US4434465A (en) | 1981-04-13 | 1984-02-28 | Texas Instruments Incorporated | Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer |
US4603384A (en) * | 1983-11-25 | 1986-07-29 | Texas Instruments Incorporated | Data processing system with multiple memories and program counter |
DE3532481A1 (de) * | 1985-09-12 | 1987-03-19 | Philips Patentverwaltung | Datenverarbeitungsanordnung |
GB2296352A (en) * | 1994-12-22 | 1996-06-26 | Motorola Gmbh | Microprocessor for executing multiplexed streams of instructions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2866177A (en) * | 1953-01-09 | 1958-12-23 | Digital Control Systems Inc | Computer read-out system |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
IT993428B (it) * | 1973-09-26 | 1975-09-30 | Honeywell Inf Systems | Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione |
US4050058A (en) * | 1973-12-26 | 1977-09-20 | Xerox Corporation | Microprocessor with parallel operation |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
-
1976
- 1976-06-18 FR FR7618599A patent/FR2355333A1/fr active Granted
-
1977
- 1977-06-14 US US05/806,478 patent/US4247904A/en not_active Expired - Lifetime
- 1977-06-15 GB GB25118/77A patent/GB1576652A/en not_active Expired
- 1977-06-16 DE DE19772727188 patent/DE2727188A1/de not_active Withdrawn
- 1977-06-17 JP JP7195177A patent/JPS52155940A/ja active Pending
- 1977-06-17 CA CA280,809A patent/CA1095632A/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907799A1 (de) * | 1978-03-07 | 1979-09-13 | Ibm | Verfahren und anordnung zum steuern des zugriffs zu einem arbeitsspeicher |
Also Published As
Publication number | Publication date |
---|---|
FR2355333B1 (de) | 1979-06-29 |
CA1095632A (en) | 1981-02-10 |
GB1576652A (en) | 1980-10-15 |
US4247904A (en) | 1981-01-27 |
JPS52155940A (en) | 1977-12-24 |
FR2355333A1 (fr) | 1978-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE2819571C2 (de) | ||
DE2846117C2 (de) | Datenprozessor | |
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE2161886C2 (de) | Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE3338345A1 (de) | Vektor prozessor | |
DE1178623B (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE2457612A1 (de) | Mikroprogrammier-steuersystem | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE3114921A1 (de) | Datenverarbeitungssystem | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2617485B2 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers | |
DE1180171B (de) | Zahlenrechner | |
DE3226214C2 (de) | Datenverarbeitungsanlage | |
DE1957600C3 (de) | ||
DE2644180C3 (de) | Datenverarbeitungssystem | |
DE2725504C2 (de) | ||
DE1296429B (de) | Datenbearbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |