DE2502005C2 - Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung - Google Patents
Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer DatenverarbeitungseinrichtungInfo
- Publication number
- DE2502005C2 DE2502005C2 DE19752502005 DE2502005A DE2502005C2 DE 2502005 C2 DE2502005 C2 DE 2502005C2 DE 19752502005 DE19752502005 DE 19752502005 DE 2502005 A DE2502005 A DE 2502005A DE 2502005 C2 DE2502005 C2 DE 2502005C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- command
- output
- circuit arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
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)
Description
Die Erfindung betriff! eine Schaltungsanordnung mich dem Oberbegriff des Patentanspruchs 1,
Eine Schaltungsanordnung dieser ArI ist /. (J. ans der
DE-OS 17 74 276 bekannt. Sie macht von '.lern Prinzip
Gebrauch, den Operationsteil eines Hefehlswoiies
doppelt aus/unut/.cii. nämlich einmal, um in üblicher
Weise eine Operation /u Steuer'), und ferner, um eine
Adreßinfornialion zu gewinnen. Dabei isi also die
Erzeugung einer Adresse auch aus einem Befehlswort möglich, das keinen Adreßteil besitzt, also nur aus einem
Operationsteil besteht Dieses Prinzip zeigt auch die DE-OS 21 35 592, und in der Datenverarbeitungsanlage
3003 der Firma Siemens & Halske AG kommt es in sehr allgemeiner Form zur Anwendung, wie dies der
entsprechenden Befehlsliste NV BS 107/1 von Mai 1963
auf Seite 8 für den Befehl HLT entnommen werden kann.
Dieser Stand der Technik gibt also die Anregung, den
ίο Operationsteil eines Befehlswortes direkt zur Adressenbildung
zu verwenden, indem der Operationsteil die Adreßinformation selbst enthält.
Man kann nach diesem Prinzip eine Datenverarbeitungseinrichtung so organisieren, daß die zuzuordnenden
Adressen in einer den verschiedenen auftretenden Operationen entsprechenden Ordnung dauernd bereitgehalten
werden und nicht in besonderen Registern zusammengesetzt und zwischengespeichert werden
müssen. Es ist lediglich erforderlich, abhängig von dem Operationsteil und ggf. von dem Adreßteil des
jeweiligen Befehlswortes die Hilfsadresse für die genannten Speicherabschnitte des internen Speichers
zu bilden, so daß mit dieser Hilfsadresse der jeweilige Speicherabschnitt direkt ansteuerbar ist und die darin
jeweils gespeicherte und zuzuordnende Adresse schlagartig ausgegeben werden kann. Für diesen Vorgang
können Befehlsworte verwendet werde;·.-, deren Länge kleiner ist als die Wortlänge der zuzuordnenden
Adressen. Neben einer Verringerung des Zeitaufwandes
JO für die Zuordnung wird dadurch eine Verringerung der Zahl für die Eingabe der Befehlsworte erforderlicher
Anschlüsse erreicht.
Dadurch, daß die die zuzuordnenden Adressen enthaltenden Speicherabschnitte in der Zuordnungs-Schaltung
vorgesehen sind, stehen die Adressen auch laufend zur Durchführung sogenannter Adressenrechnungen
innerhalb der Zuordnungsschaltung zur Verfügung, ohne daß zuvor besondere Transporioperationen
für die Adressen notwendig sind.
Es kann jedoch erforderlich weruen, den Inhalt der
einzelnen Speicherabschnitte zu verändern, d h. auszuspeichern
und in einem Rechenwerk der Datenverarbeitungseinrichtung zu manipulieren. Hierfür zeigt der
vorstehend genannte Stand der Technik keine Möglichkeit. Demgemäß ist es Aufgabe der Erfindung, diese
Möglichkeit in einfacher und wirtschaftlicher Art zu schaffen.
Diese Aufgabe wird durch die Erfindung mit den Merkmalen des Patentanspruchs 1 gelöst. Die Erfindung
■v> bietet den Vorteil, daß in einfacher Weise bei Auftreten
der bestimmten Operationsteile unterschiedliche Hilfsadressen erzeugt werden können, wobei die Beeinflussung
der Bildung der Hilfsadressen beispielsweise von Zustandsinformationen abhängen kann, die aus unterschicdlichen
Ablaufphascn des jeweils zu verarbeitenden Programms abgeleitet sein können. Die dabei
iiiöglichc Erhöhung der Vielseitigkeit in der Zuordnung
von Adressen wird ohne Verzögerung der Lunge der auszuführenden Befehle bzw. d:r Zahl erforderlicher
"·'> Anschlüsse erreicht.
Die Weiterbildung der Erfindung nach Anspruch 2
beruht auf der Erkenntnis, daß im Falle der Bildung einer Hilfsadresse auch abhängig von einem Adreßteil
des Befehlswortes mehrere Hilfsadressen für ein und
• ■' denselben Operationsteil zu bilden sind und dall die Zahl
dieser verschiedenen Hilfsadressen die Länge des jeweiligen Adreßteils vorgibt. Die Aufteilung von
Hefehlsworten konstanter Wortlänge in einen Opera-
tionsteil und einen Adreßteil jeweils variabler Wortlänge ist an sich bereits durch die PE-AS 11 01 823
bekannt. Bei Anwendung dieses bekannten Prinzips in Verbindung mit der Erfindung ergeben sich jedoch
besondere Vorteile hinsichtlich der Ausnutzung der Befehlswortlänge und damit der Zahl verfügbarer
Anschlüsse, denn erfahrungsgemäß müssen nur wenigen Operationen, beispielsweise den Transport-, Lese- und
Sprungoperationen, relativ viele unterschiedliche Adressen zugeordnet werden, während umgekehrt
vielen weiteren Operationen relativ wenig Adressen zuzuordnen sind.
Die Weiterbildung der Erfindung nach Anspruch 4 betrifft die Ausführung von Sprungbefehlen. Bei einem
Sprungbefehl bewegt man sich normalerweise in einem nahen Aktionsraum. Aus diesem Grunde wird zweckmäßig
die Adresse des direkten Sprungbefehls nur mit einem Datenwort angegeben. Wenn aber der Bereich,
der durch dieses Datenwort gekennzeichnet werden kann, überschritten wird, so muß die jeweilige
Speicherseite gewechselt bzw. neu adressiert werden. Die Information über diese neue Seite wird zweckmäßig
in einem der Speicherabschnitte gespeichert und bei jedem durchzuführenden Sprungbefehl automatisch
angesprochen. Mit kurzen Befehlsworten kann also bei Sprungbefehlen die Speicherseite adressiert werden, die
durch den Sprung erreicht werden soll. Zum Erreichen
einer Speicherseite reicht eine kurze Adresse aus. Soll der Bereich dieser Speicherseite überschritten werden,
so muß in einem Zusatzbefehl eine neue Adresse gebildet werden. Die Seitenadresse wird im innersten
Speicherbereich ständig vorrätig gehalten. Dieser innerste Speicherbereich ist durch sämtliche Modifikationsbefehle
leicht veränderbar. Die Seitenadresse wird bei adreßloser Steuerung bei jedem Sprungbefehl
immer wieder dem Seitenadreßregister zugeführt. Durch die Programmierung ist der Seitenwechsel
vorzusehen. Bei Operationen innerhalb der Speicherseite geschieht dabei aber nichts, es wird bei jedem
Sprungbefehl dieselbe Information überschrieben. Das Auffinden der Speicherzelle in einer Speicherseite
erfolgt dann durch einen weiteren Befehl, so daß für diesen Sprungbefehl die gesamte Befehlrwortlänge
nicht 8, sondern 16 Bits beträgt. Die Speicherseite selbst
wird aber automatisch immer aus dem für die Speicherung ihrer Adresse fest vorgegebenen Speicherabschnitt
hinzugesetzt. Bei einem erforderlichen Seitenwechsel, der auch als Umblättern bezeichnet wird, muß
in diesem Spcicherabschniit 1 addiert werden, wonach
der entsprechende Sprung durchgeführt werden kann. Beim nächsten Sprungbefehl wird dann automatisch der
so veränderte Inhalt des Speicherabschnitts mit der neuen Speicherseitenadresse übertragen. Ferner ist es
möglich, die Seitenadresse nicht nur durch eine 1-Addition, sondern durch einen völlig neuen Ladebefehl
vollständig zu ändern. Es sind für diesen Vorgang keine besonderen externen Seitenregister erforderlich,
sondern auch diese Funktion kann mit den Sneicherabschnitten des internen Speichers durchgeführt werden.
Die Speicherscitenaclressen sind zweckmäßig im
innersten Bereich des Spcicherraums enthalten und stets zugriffsbereit. Dieser Speicherbereich kann durch
praktisch alle Operationen manipuliert werden. Dies erfolgt ohne zusätzliche Übertragungsbefchle otkr
Beanspruchung des Akkumulators. Insbesondere bei der inlegrierten Feriigimgstechnik können die hicr/u
vorgesehenen Speieherzellen durch einen Block besonders einfach verwirklicht werden.
Die Weiterbildung der Erfindung nach Anspruch 5
erweist sich als besonders vorteilhaft, wenn mehrere zeitlich sich überschneidende, aber voneinander unabhängige
Prozesse bearbeitet werden sollen. Es ist dabei häufig notwendig, den Zustand von Eingangsvariablen
unabhängig voneinander zu überwachen. Da die Zuordnung einer Adresse zu einer Eingabeoperation
ohne Änderung von Register- und Akkumulatorinhalten erfolgt, benötigt sie einen minimalen Befehls- und
ίο Zeitaufwand. Da die Hilfsadresse ggf. nur ausgehend
von dem Operationsteil gebildet werden kann, ist es möglich, den im Befehlswort enthaltenen Adreßteil für
die Ansteuerung des genannten Multiplexers zu verwenden. Dadurch kann mit ein und demselben Befehl
ein Operand adressiert und gleichzeitig eine Stelle dieses Operanden z. B. auf eine Kondition abgefragt
werden.
Ein Ausführungsbeispiel einer Schaltungsanordnung nach der Erfindung wird im folgenden anhand der Figur
beschrieben.
In der Figur ist das Blockbild :ner Einrichtung
dargestellt, die im folgenden auch afc Mikroprozessor
bezeichnet wird. Diese Einrichtung gestattet die Zuordnung von Adressen zu Operationen entsprechend
zugiführten Befehlsworten. Die Befehlsworte wtrden im dargestellten Ausführungsbeispiel als achtstellige
binäre Worte über acht Eingangsleitungen auf eine Eingangsschaltung 10 geführt, die zugeordneten Adreßworte
werden von einer Ausgangsschaltung 43 mit einer Länge von 16 Bits über 16 Ausgangsleitungen abgegeben.
Im folgenden wird zunächst der Aufbau dieser Einrichtung beschrieben. Die Eingangsschaltung 10
liefert die ihr zugeführten Befehlsworte nach einer geeigneten Aufbereitung über 8 Ausgangsleitungen auf
ein UND-Glied 1!. welches das jeweilige Befehlswort abhängig von einem Steuersignal 15-1 über 8 Ausgangsleitungen
in ein Befehlsregister 13 einspeichert, welches entsprechend der Länge des Befehlswortes achtteilig
ausgeführt ist und beispielsweise aus einzelnen Flip-Flops FO- Fl aufgebaut sein kann. Die Ausgänge der
ein; einen Stellen des Befehlsregisters 13 sind mit einem Zuordner 14 verbunden, der abhängig vom Inhalt des
jeweiligen Befehlswortes an seinen Ausgängen 15 und 17 Steuersignale und an seinen Ausgängen 16
Hilfsadressen abgibt. Diese werden auf einen Adressen multiplexer 18 geführt, dessen Betrieb durch die an den
Ausgängen 17 des Zuordners 14 abgegebenen Steuersignale gesteuert werden kann. Die Steuersignale am
>o Ausgang 15 dienen in noch zu beschreibender Weise zur
Steuerung der in der Figur dargestellten Einrichtung. Ein weiterer Eingang des Zuordners 14 ist über eine
Eingangsleitung 33 mit einer Schaltung 31 verbunden, die ein Zustandsignal abgibt, welches einen noch zu
ϊ5 beschreibenden Zweck erfüllt.
Der Adressenmwkiplexer 18 ist über seine Ausgangsleitung
19 mit einem Adressemiecodierer 20 verbunden, welcher die ihm zugeführte 5stellige Hilfsadresse
decodiert und abhängig davon einen Speicherabschnitt
μ 50 bis 532 e:,ics Speichers 21 ansteuert. Die
Speichcrabu'hnitte 50 bis 532 sind jeweils Sstellig üijsgefiihri. Dem Eingang des Speichers 21 werden über
eine Leitung 32 und ein UND-Glied 44 jbhängig von Steuersignalen 15-2. die einem der Ausgange 15 des
(D Zuordners 14 entnommen werden, 8stellige Informationsworte
zugefühtt. die beispielsweise Operationsergebnisse sein können.
Diese Informationsworte werden durch eine im
linken Teil der Figur dargestellte Anordnung von Registern und Multiplexern er/eiigi. Diese Anordnung
kann als Rechenwerk bezeichnet werden.
Dem Speicher 21 und dem vorgenannten Rechenwerk
isi jeweils ein Multiplexer 24 bzw. 25 nachgeschaltet, der über eine Leitung 26 mit den 8stelligen
Befehlsworten gespeist wird, die von der Eingangsschaltung 10 geliefert werden. Jeder Multiplexer 24 bzw. 25
wird durch Steuersignale 15-3 bzw. 15-4 gesteuert, die
einem der Ausgänge 15 des Zuordners 14 entnommen
sind. Der Multiplexer 24 speist über seine 8fach-Ausgangsleitung
34 ein Befehlszählrcgister 39 und ein Seitenadreßregister 38. Diese beiden Register sind
jeweils Sslellig ausgeführt und können beispielsweise
aus 8 Zähl-Flip-Flops VO-V7 b/w. .VO-Y 7 aufgebaut
sein. Die Ausgangssignale des Multiplexers 24 werden diesen beiden Registern 39 und 38 über jeweils
ein UND-Glied 37 bzw. 36 zugeführt, welches wiederum durch Steuersignale 15-8 bzw. 15-9 aufgesteuert wird.
Das Befehlsziihlregistcr 39 ist über einen Zähleingang
außerdem mit einem UND-Glied 42 verbunden, welches durch die Steuersignale 15-12 aufgesteueri wird und ein
t I -Zahlsignal auf das Befehlszahlregister 39 schaltet.
Die beiden Register 38 und 39 geben ihren jeweils {.'cspeuhertcn Inhalt jeweils an einen Multiplexor 40
b/w. 41 ab. dem ferner die Signale der bereits beschriebenen Leitungen 32 und 34 zugeführt werden.
Diese beiden Multiplexer 40 und 41 werden durch Steuersignale 15-10 und 15-11 gesteuert. An ihren
Ausgangen treten jeweils 8stellige Adressenteilwnrtc
auf. die der Ausgangsschaltung 43 zugeführt werden und von dieser als ein zusammengesetztes I6stelliges
Adressenwort abgegeben werden können.
Das bereits genannte Rechenwerk besteht aus einer arithmetisch-logischen Einheit 27. einem Akkumulatorregister
29. 3 Multiplexern 25, 28 und 30 sowie der bereits erwähnten Schaltung 31 zur Abgabe eines
Zustandssignals. Ferner ist ein Decodierer 35 vorgesehen,
der das Zustandssignal decodiert und entsprechend ein Hstelliges Signal an den Multiplexer 28 liefert. Der
Multiplexer 25 liefert die Ausgangssienale für die bereits beschriebene Leitung 32 und wird außer durch die
Signale der Leitung 26 mit 8stelligen Worten angesteuert, die dem Akkumulatorregister 29 entnommen
werden. Dieses Register wird durch den Multiplexer 28 angesteuert, welcher ihm die 8steiligen Worte zuführt,
die als üperationsergebnisse in der arithmetisch-logischen
Einheit 27 erzeugt werden. Diese Einheit 27 und der Multiplexer 28 werden durch die Signale der
Leitung 34 beaufschlagt, welche aus dem Multiplexer 24 abgegeben werden. Der arithmetisch-logischen Einheit
27 werden ferner die 8stelligen Signale der Leitung 32 zugeführt. Die arithmetisch-logische Einheit 27 kann
ferner bestimmte Testsignale oder auch Überlaufsignale an den Multiplexer 30 abgeben, der durch Steuersignale
15-6 gesteuert wird. Dieser Multiplexer 30 wird ferner durch die auf der Leitung 32 anstehenden 8steiiigen
Informalionsworte beaufschlagt und gibt an seinem
Ausgang ein Signal ab. welches die Schaltung 31 derart steuert, daß sie das bereits erwähnte Zustandssignal
abgeben kann. Die Funktion dieses Zustandssignals wird im folgenden noch näher erläutert.
Der Decodierer 35 kann das genannte Zustandssignal unter Steuerung durch Steuersignale 15-7 so decodieren,
daß eine seiner acht Ausgangsleitungen aktiviert wird und dieses Signal an der entsprechend aktivierten Stelle
über den Multiplexer 28, der durch Steuersignale 15-5
gesteuert wird, dem Akkumulatorregister 29 zuführen kann.
Im folgenden werden nun mehrere mögliche Betriebsarten
der in der Figur dargestellten Einrichtung beschrieben, bei denen es sich jeweils um die Zuordnung
-·> einer Adresse abhängig von einem zugeführten Befehlswort handelt.
Die in der Figur dargestellte Einrichtung ermöglicht die sukzessive lineare Abarbeitung von Bcfehlsworten
über das Befehlsregister 39 und das Seitenadreßregister
κι 38. wie dies für Recheneinrichtungen in der Datenverarbeitungstechnik
bekannt ist. Deshalb wird diese normale Abarbeitung von Befehlen im folgenden nicht näher
erläutert, sondern es werden nur diejenigen Fälle betrachte!, für die die Erfindung in besonder vorteilhaf-
'■> ter und neuartiger Weise die Lösung der eingangs aufgezeigten Problemstellung ermöglicht. Aus der
folgenden Erläuterung dieser Fälle wird dem Fachmann
dann auch der Funktionsablauf für die normale
Abarbeitung von Befehlen ersichtlich.
;.i Zunächst ist für alle im folgenden 711 beschreibenden
Belriebsfiille von Wichtigkeit, daß der Adressenmulti
plexer 18 abhängig von dem Operatumstyp des in dun
Zuordner 14 entschlüsselten Befehls eine llilfsadresse
abgibt, die in dem Adressendecodiercr 20 decodiert
;- wird und die Ansteuerung eines ganz bestimmten
.Speicherabschnittes 50 — 5 32 ermöglicht. Es handelt
sich hier um die erfindungsgemäße Zuordnung von Adressen zu bestimmten regelmäßig wiederkehrenden
Operfttionsartcn. Der Inhalt des jeweils auf diese Weise
in angesteuerten Speicherabschnitts des Speichers 21 wtrd
dann über den Multiplexer 24. das LiND-Glied 37. das
Befehls/.ählregisUT 39 und den Multiplexer 41 der
Ausgangsschaltung 43 bzw. deren Ausgangsleitungen zugeführt. Es ist aber auch möglich, daß abhängig von
5ϊ noch /u beschreibenden Bedingungen der Inhalt des
jeweils angesteuerten Speicherabschnitts des Speichers 21 vom Multiplexer 24 über seine Ausgangsleitungen 34
und das UND-Glied 36 dem Seitenadressenregister 38 zugeführt wird, welches seinerseits den in ihm
gespeicherten Inhalt über den Multiplexer 40 an die Ausgangsschaltung 43 abgibt. Ferner ist es aber auch
möglich, die Ausgangssignale des Multiplexers 24 über
seine Ausgangsleitung 34 direkt auf beide Multiplexer 40 und 41 zu leiten und wahlweise über diese jeweils ein
8stelliges Wort an die Ausgangsschaltung 43 abzugeben.
L Ausführung eines Sprungbefehls
Ein Sprungbefehl in Form eines 8stelligen Befehlswortes wird der Eingangsschaltung 10 zugeführt und
so über das UND-Glied Il in das Befehlsregister 13
eingespeichert. Der auf diesen Sprungbefehl folgende Befehl wird im nächsten Schritt über die Eingangsschaltung
10 und die Leitung 26 sowie den Multiplexer 24 und das UND-Glied 37 in das Befehlszählregister 39
eingespeichert. Die Erzeugung der für diesen Sprangbefehl maßgebenden Seitenadresse erfolgt nun nach der
Erfindung derart, daß der Sprungbefehl in dem Zuordner 14 die Bildung einer Hilfsadresse für einen
Speicherabschnitt des Speichers 21 bewirkt, die über die Ausgangsleitung 19 des Adressenmultiplexers 18 sowie
den Adressendecodierer 20 eine Ausspeichening des
Inhalts eines ganz bestimmten Speicherabschnittes SO—532 aus dem Speicher 21 bewirkt. Diese
Ausspeichening erfolgt über den Multiplexer 24, gesteuert durch das UND-Glied 36 in das Seitenadreßregister 38. Die beiden Register 38 und 39 enthalten
somit jeweils eine Teiladresse, die über die beiden Multiplexer 40 und 41 in der Ausgangsschaltung 43 zu
einem I6sielligen Adreßwort zusammengesetzt werden
kann, welches das durch den Sprungbefehl zu erreichende Ziel adressiert.
Es sei darauf hingewiesen, daß die Seitenadresse dieses Sprungbefehls abhängig von dem Operationsteil
des Befehlswortes automalisch erzeugt worden ist.
2. Ausführung eines Eingabebefehls
Ein derartiger Befehl kann gemäß der Erfindung ein Befehl ohne Adreßteil sein. Er wird über die
Eingangsschaltung 10 in das Befehlsregister 13 eingegeben
und bewirkt dann in dem Zuordner 14 durch den nur mit einem Operationsteil gegebenen Informationsinhalt
Jic Erzeugung einer Hilfsadresse. die über den
Adressenmultiplexer 18 und den Adressendecodierer 20 die Ansteuerung eines Speicherabschnitts des Speichers
21. der bevorzugt Eingabeadressen dieser entsprechenden
Ik'fehlsart fest zugeordnet ist. Aus diesem Speicherabschnitt wird die vorhandene mmmuiitmi
ausgespeichert und über den Multiplexer 24 und das UND-Glied 36 durch dessen Aufsteuerung in das
Seitenadreßregister 38 eingegeben. In einer weiteren Taktphase wird mittels des Zuordners 14 und des
Adressenmultiplexers 18 eine weitere Hilfsadresse gebildet, die über den Adressendecodierer 20 die
Ausspeicherung des Inhalts desjeniger Speicherabschnitts bewirkt, der dem zuvor angesteuerten
.Speicherabschnitt unmittelbar benachbart ist. Der Inhalt dieses Speicherabschnitts ist eine Teiladresse, die
über den Multiplexer 24 und dessen Ausgangsleitung 34 sowie uen Multiplexer 41 in die Ausgangsschaltung 43
eingegeben wird. Gleichzeitig wird die Seitenadresse aus dem Seitenadreßregister 38 über den Multiplexer 40
in die Ausgangsschaltung 43 eingegeben, so daß beide Teiladressen zusammengesetzt ein löstelliges Adreßwort
ergeben, welches zur Steuerung einer Dateneingabe auf hier nicht dargestelltem Wege in die in der Figur
gezeigte Einrichtung benutzt werden kann. Eine solche Dateneingabe kann beispielsweise über die Eingangsschaltung
10 und deren Ausgangsleitung 26 sowie den Multiplexer 25 in die arithmetisch-logische Einheit 27
erfolgen, so daß dort mit den eingegebenen Daten Operationen durchgeführt werden können, deren
Ergebnisse über den Multiplexer 28 in das Akkumulatorregister 29 eingegeben werden können und somit
dort abgespeichert sind.
An dieser Stelle ist eine Erläuterung der bereits genannten Kennzeichnung von Einzelbits zweckmäßig.
Es ist beispielsweise denkbar, daß die zuvor beschriebene Eingabe von Daten über die Eingangsschaltung 10
und den Multiplexer 25 infolge eines besonderen Kriteriums des sie hervorrufenden Befehls auf den
Multiplexer 30 erfolgt. Dieser wird durch einen Teil des entsprechenden Befehls über den Zuordner 14 und die
Steuersignale 15-6 so betrieben, daß eine ganz bestimmte Stelle des eingegebenen Datenworts der
Schaltung 31 zur Abgabe eines Zustandssinals zugeführt und in ihr abgespeichert wird. Diese Schaltung 31 kann
dann ein Signal abgeben, welches eine Aussage darüber
ermöglicht, in welchem Zustand die bestimmte, auf diese
Weise angesteuerte Stelle des eingegebenen Datenwortes ist. Ein derartiges Zustandssignal kann ohne
Unterbrechung des Programmablaufs und ohne Veränderung des Akkumulatorinhalts beispielsweise dazu
verwendet werden, den nächstfolgenden Befehl durch entsprechende Ansteuerung des Zuordners 14 über die
Leitung 33 konditioniert auszuführen.
3. Ausführung von Ausgabebefehlen
Ausgnbebefehle dienen beispielsweise dazu, aus einer
Einrichtung der in der Figur dargestellten Art ein
) Informationswort auszugeben, welches aus einem Operationsergebnis und einer Adresse besteht, die
diejenige Stelle bezeichnet, zu der das Operationsergebnis zu transportieren ist. Hierzu wird ein Ausgabebefehl
über die Eingangsschaltung 10 in das Befehlsregister 13
in eingegeben und bewirkt über den Zuordner 14 die Bildung einer Hilfsadresse, die über den Adressenmultiplexer
18 und den Adressendecodierer 20 die Ansteuerung eines Speicherabschnitts des Speichers 21 bewirkt,
der bevorzugt zur Bcreithaltung von Ausgabespeicher-
i) adressen bestimmt ist. wie dies durch die Erfindung
vorgesehen ist. Der Inhalt dieses Speicherabschnitts wird über den Multiplexer 24 und seine Ausgangsleitung
34 sowie den Multiplexer 41 in die Ausgangsschaltung 43 übertragen und bildet dort den Adreßteil des
:<i miä/tigcuci'mcii Gc5Him<VCriCS. Der !ilfo™Si!Cr!StS!!
dieses Wortes wird, gesteuert durch den im Zuordner 14
ausgewerteten Befehl, aus dem Akkumulatorregister 29 über den Multiplexer 25, der hierzu durch die
Steuersignale 15-4 gesteuert wird, in den Multiplexer 40
Ji und von diesem aus in die Ausgangsschaltung 43
eingegeben. Somit ist ein Gesamtwort gebildet, welches aus den zu transportierenden Informationen und der
zugehörigen Transportadresse besteht.
Irn Zusammenhang mit der Ausgabe von Informa-
K) tionsworten aus dem Akkumulatorregister 29 ist es
möglich, eine ganz bestimmte Stelle des auszugebenden Informationswortes vor der Ausspeicherung aus dem
Akkumulatorregister 29 zu modifizieren. Da die Schaltung 31 zur Kennzeichnung des Zustandes einer
<i ganz bestimmten Stelle eines Datenwortes vorgesehen
ist. ist es möglich, entsprechend dem von dieser Schaltung 31 abgegebenen Ausgangssignal an der
Leitung 33 ein Kriterium mittels des Decodierers 35. gesteuert durch Steuersignale 15-7. zu bilden, welches
den Multiplexer 28 für die jeweils zu beeinflussende bestimmte Stelle des im Akkumulatorregister 29
vorhandenen Informationswortes ansteuert. Das von dem Decodierer 35 gelieferte Kriterium gibt eine
Aussage darüber ab, welche Stelle des gespeicherten
*ί Informationswortes modifiziert werden muß bzw.
abhängig von dem jeweiligen Speicherinhalt der Schaltung 31 zu setzen oder zu löschen ist.
Die für die vorbeschriebenen Funktionen wesentlichen Steuersignale 15-6 und 15-7 für den Multiplexer 30
Μ und den Decodierer 35 können aus wenigen Stellen des
in dem Befehlsregister 13 vorhandenen Befehlswortes abgeleitet werden. Faßt man diese wenigen Stellen des
Belehlswortes als Adreßteil auf, so ist unmittelbar ersichtlich, wie für diesen Fall der Ausführung eines
Ausgabebefehls beispielsweise Befehlsworte verwendet werden können, die einen sehr großen Operationsteil
und einen sehr kleinen Adreßteil aufweisen.
4. Ausführung indirekter Sprungbefehle
Indirekte Sprungbefehle sind solche Befehle, die insbesondere zur Rückführung des Programmablaufs
aus Unterprogrammschleifen dienen. Da hierbei gegebenenfalls eine Vielzahl von Adressen verwendet wird,
muß ein indirekter Sprungbefehl einen größtmöglichen Adreßteil aufweisen, damit durch ihn die erforderliche
große Anzahl von Adressen gekennzeichnet werden kann. Der indirekte Sprungbefehl, der in das Befehlsregister
13 eingegeben wird, bewirkt mit seinem Adreßteil
in dem Zuordner 14 die Bildung einer Hilfsadresse für den Speicher 21. Diese wirkt, wie vorstehend bereits
beschrieben, über den Adressendecodierer 20 auf einen der Speicherabschnitte ein, deren Anzahl bzw. Erreichbarkeit,
wie beschrieben, durch den Adressenumfang bestimmt ist. Der so angesteuerte Speicherabschniti
enthält eine S-itenadresse. die in bereits beschriebener Weise in das Seitenadreßregister 38 eingegeben wird.
Der auf diesen Speicherabschnitt unmittelbar folgende Speicherabschnitt wird im nächsten Arbeitstakt angesteuert,
so daß sein Inhalt über den Multiplexer 24 und das UND-Glied 37 in das Befehlszählregister 39
eingegeben werden kann und dort als Relativadresse der adressierten Seite zur Verfügung steht. Über die
Multiplexer 40 und 41 erfolgt die Eingabe dieser beiden Teiladressen in die Ausgangsschaltung 43. so daß dort
das Adreßwort für den im Programmablauf nächstfolgenden Befehl verfügbar ist.
Vorstehend wurden solche Betriebsfälle beschrieben,
Vorstehend wurden solche Betriebsfälle beschrieben,
κ,
werk erfolgen kann. Die Rückspeicherung nach erfolgler Manipulation geschieht dann über den
Multiplexer 2b und seine Ausgangsleitung 32 sowie das UND-Glied 44 in den Speicher 21.
Das vorstehend erläuterte Ausführungsbeispiel der Erfindung läßt erkennen, daß es durch die Erfindung
möglich ist, für verschiedenste Betriebsfälle mit kurzen Befehlsworten lange und umfassende Adreßworte
darzustellen bzw. zuzuordnen. Dies erfolgt mit einem Aufwand, der den Aufwand bisheriger Einrichtungen
dieser Art nicht überschreitet und gegebenenfalls sogar verringert ist. Es sind keine externen Schaltkreise für die
Zwischenspeicherung von Adressen erforderlich, da eine vollständige 16siellige Adresse in der Ausgangsschaltung
abgegeben wird. Außerdem erfolgt die Darstellung des jeweiligen Adreßwortes in höchstens
zwei Schritten, was einen erheblichen Zeitgewinn gegenüber den eingangs dargestellten und bisher
durchgeführten Verfahren mit sich bringt. Infolge der
in denen abhängig von einem zugeführten Befehlswort >„ Zuordnung der Inhalte der einzelnen Speicherab?chni'.-
von der Ausgangsschaltung 43 Adreßworte abgegeben werden können. Es ist jedoch bei einer Einrichtung der
hier betrachteten Art auch erfcrderlich. den Inhalt der einzelnen Speicherabschnitte des Speichers 21 zu
manipulieren. Um auch dies mit einer begrenzten Länge der zugeführten Befehlsworte zu ermöglichen, wird hier
gleichfalls von dem Prinzip Gebrauch gemacht, die Adreßteile bzw. die Operationsteile der Befehlsworte
hinsichtlich ihrer Länge zu variieren bzw. adreßteillose Befehlsworte zu verwenden. Im folgenden soll nun
beschrieben werden, in welcher Weise adreßteillose Befehlsworte zur Bildung von Hilfsadressen verwendet
werden können, die eine derartige Manipulation des Speicherinhalts ermöglichen.
Zunächst ist darauf hinzuweisen, daß einer der Speicherabschnitte des Speichers 21, im dargestellten
Ausführungsbeispiel der Speicherabschnitt 50, an den Stellen 0—4 eine Verbindung 23 zum Adressenmultiplexer
18 aufweist, über die der Adressenmultiplexer 18 angesteuert werden kann. Der Inhalt der Stellen 0—4
des Speicherabschnitts 50 kann also dauernd über die fünfadrige Verbindung 23 auf den Adressenmultiplexer
18 einwirken und zu ei.itr Hilfsadressenbildung in dieser
Schaltung ausgenutzt werden. Wenn ein adreßteilloser Befehl in das Befehlsregister 13 eingespeichert wird, so
wird das Fehlen des Adreßteils durch den Zuordner 14 erkannt und dort unmittelbar die Auswertung derjenigen
Informationen veranlaßt, die über die Verbindung 23 zur Verfügung stehen. Hierzu dient eine besondere
Gruppe von Steuersignalen, die über den Ausgang 17 des Zuordners 14 auf den Adressenmultiplexer 18
einwirken. Durch Auswertung des Inhalts der Speicherstellen 0—4 über die Verbindung 23 wird also in dem
Adressenmultiplexer 18 unmittelbar eine Hilfsadresse erzeugt, mit der über den Adressendecodierer 20 einer
der Speicherabschnitte des Speichers 21 angesteuert werden kann. Der Inhalt des angesteuerten Speicherabschnitts
kann dann über den Multiplexer 24 und die Leitung 34 der arithmetisch-logischen Einheit 27 oder
dem Multiplexer 28 bzw. dem Akkumulatorregister 29 zugeführt werden, so daß auf diese Weise eine
Manipulation dieses Speicherinhalts in dem Rechen-
te zu ganz bestimmten Operationsarten, die eine wesentliche Verkürzung der zu verwendenden Befehlsworte mit sich bringt, wird auch der funktioneile
Aufwand herabgesetzt, denn die Inhalte der Speicherabschnitte müssen keinem umständlichen Umweg über des
Rechenwerk ausgesetzt werden, um sie zur jeweiligen Ausgabe bereitzustellen. Es ist hingegen möglich, diese
Speicherinhalte gewissermaßen durch Nachvollziehen der nach der Erfindung vorgesehenen festen Zuordnung
direkt zu erreichen und zur Ausgabe bereitzustellen. Dabei bietet sich der wesentliche Vorteil, daß die
Speicherinhalte im Gegensatz zu solchen Verfahren, bei denen sie in einzelnen zusätzlichen Registern abgespeichert
sind, beliebig mittels des Rechenwerkes manipuliert werden können. Dieses Manipulieren wird deshalb
möglich, weil die Speicherinhalte voll adressierbar sind, was bei einer Einspeicherung in externe Einzelregister
nicht der Fall ist.
Der interne Speicher kann durch Anwendung der integrierten Technik und spezieller Schaltkreistechniken
sehr kompakt aufgebaut werden. Da als einziges Speichermedium für die zu verarbeitenden Informationen
ein adressierbarer Speicher verwendet wird, ist es möglich, auch hinsichtlich des Speicheraufwandes sehr
kompakte Anordnungen zu schaffen, die einen wesentlich geringeren Raumbedarf als Registeranordnungen
verursachen.
Ein nach der Erfindung arbeitender praktisch aufgebauter Mikroprozessor kann integriert auf einem
Schaltungsträger angeordnet sein und beansprucht dabei 30% weniger Raum als entsprechende bisherige
integriert aufgebaute Anordnungen. Gleichzeitig kann aber die ungefähr doppelte Arbeitsgeschwindigkeit
erreicht werden. Außerdem wird extern z. B. für die Abspeicherung von Befehlen gleichfalls weniger Platz
beansprucht
Schließlich kann ein derartiger Mikroprozessor wesentlich besser als bisherige Anordnungen geprüft
werden. Dies ist insbesondere darauf zurückzuführen, daß keine besonderen Register für Sonderfunktionen
vorgesehen sind, derartige Register können nämlich nur mit komplizierten Routinen indirekt geprüft werden.
Claims (5)
1. Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von
Befehlen in einer Datenverarbeitungseinrichtung, in der jeweils ein Befehlswort mit seinem Operationsteil
im Rahmen der Zuordnung die Ausgabe einer Adresse aus einem von mehreren Registern in
Paralleldarstellung an einen externen Speicher oder eine Eingabe-Ausgabe-Vorrichtung bewirkt und mit
dieser so zugeordneten Adresse ein Operand zur Durchführung der Operation adressiert wird, wobei
abhängig von dem Operationsteil des jeweiligen Befehlswortes eine Hilfsadresse für einen von
mehreren, die genannten Register bildenden Speicherabschnitten eines internen Speichers gebildet
wird und der Inhalt dieses Speicherabschnittes als die zugeordnete Adresse ausgegeben wird,
dadurch gekennzeichnet, daß bei Auftreten bestimmter Befehlsworte der Inhalt eines
Sonderspeicherabschnittes (SOO bis SO4) des
internen Speichers (21) zur Bildung der Hiifsadresse
herangezogen wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch
gekennzeichnet, daß Befehlsworte konstanter Wortlänge mit abhängig von einer Steuerung durch ihren
Operationsteil variabel langen:· Operationsteil und entsprechend variablem Adreßteil vorgesehen sind.
3. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
mindestens einer der den auszulösenden Operationen zugeordneten Speicherabschnitte (SO bis 532)
durch ausgehend von Befeh4n ohne Adreßteil gebildete Hilfsadressen ansteuerbar ist.
4. Schaltungsanordnung each e;nem der vorhergehenden
Ansprüche zur Ausführung von Sprungbefehlen, dadurch gekennzeichnet, daß mindestens
einer der Speicherabschnitte (SQ bis 532) durch ausgehend von Sprungbefehlen gebildete Hilfsadressen
ansteuerbar und Quelle für eine Speicherseitenadresse ist, zu deren Speicherung ein Seitenadreßregister
(38) vorgesehen ist.
5. Schaltungsanordnung nach Anspruch 1 oder 2 zur Ausführung von Eingabebefehlen, dadurch
gekennzeichnet, daß mindestens einer der Speicherabschnitte (SO bis 532) durch ausgehend von
Eingabebefehlen gebildete Hilfsadressen ansteiierbar ist und daß der durch die zugeordnete Adresse
aus dem externen Speicher in die Schaltungsanordnung eingegebene Operand (über 25) einem
Multiplexer (30) zuführbar ist, der durch den Adreßteil des Eingabebefehls (durch 15-6) ansteuerbar
ist und der dadurch einen seiner Eingänge über seinen Ausgang mit einem Zustandsspeicherclement
(31) verbindet.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752502005 DE2502005C2 (de) | 1975-01-20 | 1975-01-20 | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
JP292176A JPS5732815B2 (de) | 1975-01-20 | 1976-01-14 | |
GB196376A GB1520981A (en) | 1975-01-20 | 1976-01-19 | Data processing |
US05/844,885 US4162519A (en) | 1975-01-20 | 1977-10-25 | Data processor with address allocation to operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752502005 DE2502005C2 (de) | 1975-01-20 | 1975-01-20 | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2502005A1 DE2502005A1 (de) | 1976-07-22 |
DE2502005C2 true DE2502005C2 (de) | 1982-05-13 |
Family
ID=5936787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752502005 Expired DE2502005C2 (de) | 1975-01-20 | 1975-01-20 | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPS5732815B2 (de) |
DE (1) | DE2502005C2 (de) |
GB (1) | GB1520981A (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978738A (en) | 1997-02-13 | 1999-11-02 | Anthony Brown | Severe weather detector and alarm |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1163267A (fr) * | 1956-12-12 | 1958-09-24 | Electronique & Automatisme Sa | Perfectionnements apportés aux calculatrices numériques |
DE1774276A1 (de) * | 1968-05-15 | 1971-07-29 | Elektronische Rechenmasch Ind | Verfahren zur Adressierung von Mikroprogrammspeichern mit Zwei- oder Mehradressmikrobefehlen |
DE2135592A1 (de) * | 1971-07-16 | 1973-02-01 | Ibm Deutschland | Einrichtung zur fehlererkennung und -korrektur in elektronischen datenverarbeitungssystemen |
-
1975
- 1975-01-20 DE DE19752502005 patent/DE2502005C2/de not_active Expired
-
1976
- 1976-01-14 JP JP292176A patent/JPS5732815B2/ja not_active Expired
- 1976-01-19 GB GB196376A patent/GB1520981A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5732815B2 (de) | 1982-07-13 |
GB1520981A (en) | 1978-08-09 |
JPS5197341A (de) | 1976-08-26 |
DE2502005A1 (de) | 1976-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2755273C2 (de) | ||
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE2912287C3 (de) | Datenverarbeitungsanlage | |
DE2355993B2 (de) | Programmierbare datenverarbeitungsanlage | |
DE1499193B2 (de) | Speicher-adressierschaltung | |
DE1262641B (de) | Mikroprogrammsteuerwerk | |
DE3114921A1 (de) | Datenverarbeitungssystem | |
DE2944757C2 (de) | Programmierbare Prozeßsteuerung | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2951040A1 (de) | Steuerspeicher in einem steuerabschnitt eines rechners | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
DE3101270C2 (de) | Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung | |
DE2233164C3 (de) | Schaltungsanordnung zur Übertragung von aufeinanderfolgenden Bitstellen zwischen zwei Registern | |
DE2204680C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers | |
EP0561457A2 (de) | Mikroprozessor zur Verarbeitung von Eingabe/Ausgabedaten | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE1524211A1 (de) | Datenverarbeitungsanlage | |
DE2419836B2 (de) | Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8125 | Change of the main classification |
Ipc: G06F 9/34 |
|
D2 | Grant after examination | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |