DE2727188A1 - Anordnung zum adressieren eines speichers - Google Patents

Anordnung zum adressieren eines speichers

Info

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
Application number
DE19772727188
Other languages
English (en)
Inventor
Jean Claude Ballegeer
Richard Guedj
Huu Duyet Nguyen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Publication of DE2727188A1 publication Critical patent/DE2727188A1/de
Withdrawn 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements 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
Dlpl-Ing. Dtpl-Chem Dip)-Ing. E. Prinz - Dr. G. Hauser - G. Leis^ 727188 Ernsbergerstrasse 19
8 München 60
Unser Zeichen: T 2208 15.Juni 1977 THOMSON-CSF
173 Bd.Haussmann
75008 Paris, Frankreich
Anordnung zum Adressieren eines Speichers
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)

Patentanwalts OipL-lnc Ϊ727188 Dipl-lng. Oipl-Chem. OpL-Ing. E. Prinz - Dr. G. Hauser - G. Leis Ernsbergerstrasse 19 8 München 60 Unser Zeichen; T 2208 15. Juni 1977 THOMSON - CSF 173 Bd. Haussmann 75OO8 Paris / Frankreich Patentansprüche
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
DE19772727188 1976-06-18 1977-06-16 Anordnung zum adressieren eines speichers Withdrawn DE2727188A1 (de)

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)

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

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

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

Cited By (1)

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