DE1549443A1 - Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung - Google Patents

Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung

Info

Publication number
DE1549443A1
DE1549443A1 DE19671549443 DE1549443A DE1549443A1 DE 1549443 A1 DE1549443 A1 DE 1549443A1 DE 19671549443 DE19671549443 DE 19671549443 DE 1549443 A DE1549443 A DE 1549443A DE 1549443 A1 DE1549443 A1 DE 1549443A1
Authority
DE
Germany
Prior art keywords
register
signal
command word
bit
address
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.)
Pending
Application number
DE19671549443
Other languages
English (en)
Inventor
Harmon Sherril Allan
Coshorn Larry Arthur
Erickson Robert George
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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of DE1549443A1 publication Critical patent/DE1549443A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • G06F9/3557Indexed addressing using program counter as base address

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

^y^i 1549 A 43
Fiaiiki.·■.;!/■. ·.': ia-1
i/o 13
Eigenes Zeichen: 5342 - Fs/Ja General Electric Company, Schenectady, N.Y./V.St.A.
Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung
Die Erfindung betrifft eine elektronische nachrichtenverarbeitende Einrichtung und insbesondere eine Einrichtung zur Schaffung einer erweiterten Adressierung, wobei die Grundwortgröße des für den Betrieb der nachrichtenverarbeitenden Einrichtung verwendeten Befehles keiner Vergrößerung bedarf.
Ein System, das Echtzeit-Nachrichten verarbeitet, muß auf das Auftreten eines Ereignisses während dessen Wirkungszeit reagieren, um unerwünschte oder sogar katastrophale durch das Ereignis ausgelöste Folgen zu vermelden. Außerdem muß eine Einrichtung tür Verarbeitung von Echtzeit-Informationen in der Lage sein, viele Funktionen anscheinend gleichzeitig durchzufüh-
109810/1721
" 1 " BAD ORIGINAL
ren. Die zu verarbeitenden Daten werden von vielen Ereignissen oder Unterprozessen abgeleitet, wovon einige kontinuierlich, andere periodisch oder zufällig auftreten.
Eine digitale Rechenanlage ist von Natur aus im Hinblick auf die Befehlsebene eine Einrichtung, deren Programm in Serie nur Schritt für Schritt ausgeführt werden kann. Daher kann eine digitale Rechenanlage nur auf Grund ihrer extrem hohen Rechengeschwindigkeit erfolgreich zur Steuerung und/oder Überwachung von Echtzeit-Prozessen verwendet werden. Damit ein solches Prozessrechnerprogramm in der Lage ist, die funktionell en Bedingungen für den zu steuernden oder zu überwachenden Prozess zu erfüllen, muß für die verschiedenen Funktionen eine Priorität festgelegt werden. Das gleichzeitige Auftreten bestimmter Kombinationen von Ereignissen kann dann eine zeitliche Wiedereinordnung der Prioritäten erfordern. Auf Grund dieser Erfordernisse ist ein Echtzeit-Programm deutlich von einem Nicht-Echtzeit-Programm verschieden.
Ein Echtzeit-Rechenprogramm ist in Wirklichkeit ein System von Programmen, welche die einzelnen Prozessfunktionen in Abhängigkeit von einer festgelegten Priorität durchführen. Diese Programme arbeiten nach einem Organisationeprogramm in der Weise, daß sie sich gegenseitig unterbrechen, wenn die sich ändernden Proaesibedingungen einen Befehl erfordern. Es muß natürlich eine grundliegende Ordnung in dem durch das Ineinandergreifen der vielen Programm« sohel&bartn Chaoe vorhanden sein. Eine
108810/1721
" * " BAP ORIGINAL
dem Organisationsprogramm eigentümliche Bedingung ist es daher, daß es in der Lage ist, eine große Anzahl von Buchhaitungs- oder wirtschaftlichen Organisationsfunktionen rationell und wirtschaftlich durchzuführen. In der Tat erweisen sich die wirtschaftlichen Organisationsfunktionen bis zu einem gewissen Grad für alle fiechenprogramme als notwendig und sind in einem Echtzeit-Programm von primärer Wichtigkeit.
Es muß daher bei der Planung einer Einrichtung zur Verarbeitung von Echtzeit-Nachrichten den eigentümlichen Anforderungen der Echtzeit-Programme, welche sich von den für Einrichtungen zur Verarbeitung von Nicht-Echtzeit-Nachrichten geschriebenen Programmen unterscheiden, besondere Aufmerksamkeit gewidmet werden. Andererseits kann ein Fortschritt,der die Bearbeitung von Echt zeit-Vorgängen verbessert, eine nützliche Anwendung bei Nicht-Echtzeit-Verhältnissen finden, wenn durch die Verbesserung die Wirtschaftlichkeit bezüglich der Zeit und/oder des Energieaufwandes besser wird.
Die Grundwortgröße eines datenverarbeitenden Systems hängt sowohl für Echtzeit-Betrieb oder Nicht-Echtzeit-Betrieb von vielen Planungevoraussetzungen ab. Eine Erwägung, die für eine größere Wortlänge spricht, ist der Wunsch, möglichst viele direkt adressierbare Speicherplätze mit einem raschen Zugriff zur Verfügung zu haben. Dies kann erreicht werden, indem die
- 3 - " 10 8 810/1721
Größe des Teils der Operandenadresse der Befehlsworte vergrößert wird, die einen gespeicherten Operand verwenden. Jedoch ergeben sich in mancherlei Hinsicht wirtschaftliche Vorteile, wenn die Größe des Grundwortes eines nachrichtenverarbeitenden Systems so klein wie möglich gehalten wird. Eine Verkleinerung der Wortlänge bewirkt nämlich eine entsprechende Reduzierung der Größe der einzelnen Register sowie der erforderlichen umfangreichen Verschaltungsnetzwerke, wodurch die Herstellungskosten geringer werden und auch die Zuverlässigkeit zunimmt, da die Anzahl der Bauelemente und der Schaltungsverbindungen innerhalb des Systems zurückgeht.
Es ist ein Ziel der vorliegenden Erfindung, eine erweiterte Operandenadressierung zu schaffen, ohne daß die Größe des Grundwortes des nachrichtenverarbeitenden Systems zunimmt.
Ein weiteres Ziel der Erfindung ist die Schaffung einer Einrichtung, mit der die relative Adressierung derart erweitert werden kann, daß eine erweiterte Adressierung erreicht wird.
Gemäß der Erfindung ist eine Einrichtung vorgesehen, die auf ein bestimmtes von einem Befehlswort decodierten Signal wahlweise anspricht, um den Inhalt des Startadressenregisters innerhalb des Rechenwerks des nachrichtenverarbeitenden Systems zu der Operandenadresse des Befehlswortes zu addieren. Die höchstwertige Stelle der Operandenadresse des Befehlswortes wird ab-
1 OJ| ^O/1721 8ADORIG.NAL
getastet Und festgestellt, ob sie ein Vorzeichenbit enthält, wobei eine "1" ein negatives Vorzeichen und eine "0" ein positives Vorzeichen darstellt. Wenn diese höchstwertige Stelle eine "1" enthält, wird die Operandenadresse dta Befehls vorsätzlich in der negativen Form des Zweier-Komplements gespeichert. Venn das bestimmte Signal gegenwärtig ist und die Operandenadresse des Befehlswortes eine negative Zahl enthält, wird das "1" vorzeichenbit auf die zwei nächsten höherwertigen Stellen ausgedehnt, wenn die Addition mit dem Inhalt des Startadressenregisters stattfindet. Venn das bestimmte Signal gegenwärtig ist und die Operandenadresse des Befehlswortes eine positive Zahl enthält, wird diese positive Zahl unverändert zu der Zahl im Startadressenregister addiert.
Das Ergebnis wird in jedem Fall als eine positive Zahl mit einer Länge behandelt, Welche auf die Länge der normalen Operandenadresse des Befehlswortes und zwei zusätzliche Bits begrenzt ist. Eine Verschiebung in eine höherwertige Stelle als diese wird nicht berücksichtigt. Venn das bestimmte Signal nicht vom Befehlswort decodiert wird, wird die Operandenadresse direkt zur Ausführung des Befehle verwendet.
Eine beispielsweise Aueführungsform der Erfindung ist in der Zeichnung dargestellt; es itigen»
Ftg.1 ein BlockoohaltbLld eineu in einem nachrichteiiverarbeitanden System verwendeten Recheri-
und Steuerwerke j 109-8 10/1721
_ BAD OHIO«**1-
Fig. 2 eine Darstellung der Entwicklung einer relativ adressierten Operandenadresse des Befehlswortes mit einer gespeicherten positiven Operandenadresse;
Fig. 3 eine Darstellung der Entwicklung einer relativ adressierten Operandenadresse des Befehlswortes mit einer gespeicherten negativen Operandenadresse;
Fig.4 eine zweite Darstellung der Entwicklung einer relativ adressierten Operandenadresse des Befehlswortes mit einer gespeicherten negativen Operandenadresse, wobei der Einfluß der Begrenzung der Länge der entwickelten Operandenadresse dargestellt wird}
Fig. 5 eine Darstellung der Entwicklung einer nicht relativ adressierten Operandenadresse des Befehlswortes, welche zeigt, daß die Operandenadresse gegenüber der gespeicherten Form nicht verändert ist;
Fig. 6 die zeltliche Zuordnung der Taktschritte des Steuerzustandes einer modifizierten ersten Folge während der Ausführung der relativen Adressierung;
Fig.7A und 7B Schaltbilder der logischen Kreise für die Durchführung der relativen Adressierung;
10 9 810/1721 BAD original
Fig.8 ein Blockschaltbild der wichtigsten logischen Teile des Rechen- und Steuerwerkes gemäß I1Ig. 1, von welchem die bestimmten Signale geliefert werden.
Die nachrichtenverarbeitende Einrichtung gemäß Fig.1 besitzt einen Hauptspeicher 2. Wenn die Gesamtzahl der Worte, welche im Hauptspeicher 2 untergebracht werden können, die definierte Aufnahmefähigkeit desjenigen Teiles (Bits 13 bis 0) des Befehlswortes mit einem vollen Operanden übersteigt, welcher die Operan- r denadresse kennzeichnet, wird eine einheitliche Form der Adressierung benutzt, um eine erweiterte Adressierbarkeit zu erzielen, ohne daß die Grundwortgröße des nachrichtenverarbeitenden Systems verlängert werden muß. Die Bitstelle 14 der Befehlsworte mit vollem Operanden wird zur Kennzeichnung dafür reserviert, ob eine relative Adressierung mit einem Befehlswort benutzt werden soll oder nicht, das in das Rechen- und Steuerwerk 1 zur Verarbeitung abberufen wurde. Wenn die Bitstelle 14· eine "1" ist, wird damit eine'relative Adressierung bezeichnet und die Operandenadresse des Befehlswortes wird arithmetisch vor der Verarbeitung nach bestimmten Regeln derart modifiziert, daß der gesamte Bereich der adressierbaren Speicherplätze im Hauptspeicher 2 um das Vierfache größer als derjenige Bereich ist, welcher durch die Bitstellen 13 bis 0 ohne relative Adressierung bezeichnet werden kann. Wenn die Bitstelle 14 eine "0" enthält, wird
109810/1721
keine relative Adressierung angewandt und die Operandenadresse des Befehlswortes entspricht derjenigen, welche direkt durch die Bit stellen 13 bis 0 bezeichnet wird, vorbehaltlich, der oben angegebenen Indexmodifikation.
In diesem Zusammenhang wird auf den bekannten Stand der Technik hingewiesen, wie er durch das im McGraw-Hill Publishing Company, Inc. 1962 erschienene Buch von Taohan OHU mit dem Titel: "Digital Computer Design Fundamentals1* und dem bei McGraw-Hill Book Company, Inc. 1959 erschienenen Buch von E.M. McCormick mit dem Titelt "Digital Computer Primer" beschrieben ist.
In Fig.1 ist ein vereinfachtes Blockschaltbild des Rechen- und Steuerwerks 1 sowie der im Hauptspeicher 2 befindlichen Register dargestellt, mit welchen das Rechen- und Steuerwerk im direkten Informationsaustausch steht. Das Blockschaltbild zeigt die funktioneilen Beziehungen zwischen den verschiedenen Registern einer Parallel-Addiereinheit und drei Serien-Volladdierern. Der Informationsfluß zwischen den Registern und den übrigen Elementen des Rechen- und Steuerwerks 1 wird,wie durch die Verbindungslinien in Fig.1 angegeben, durch parallele und/oder Serienübertragung binärer Ziffern von einem Register oder einem Element zu einem anderen Register oder einem anderen Element bewirkt. In der folgenden Beschreibung sind nur das Verhalten und die Funktionen der Grundregister und die üblichen Informationswege beschrieben, wobei im Verlauf der Beschreibung immer mehr in Einzelheiten gegangen wird.
10 9 810/1721 bad original
Die Parallel-Addiereinheit 20 (PAU-20) besteht aus einem 24 Bit-Par all el addier er, welcher eine gleichzeitige übertragung zwischen je 4 Bit-Gruppe^, bewirkt, welche, wie erforderlich, wirksam oder nicht wirksam gemacht werden können. Eine allgemeine Beschreibung eines derartigen Paralleladdiererβ ist auf den Seiten 390 und 391 des Buches: "Digital Computer Design Tundamentals" von Taohan Chu beschrieben. Alle parallelen Rechenvorgänge Innerhalb des Rechen- und Steuerwerkes 1 werden in der Farallel-Addiereinheit 20 ausgeführt. Zusätzlich dient die Parallel-Addiereinheit 20 als Glied für einen Großteil der parallelen Übertragungen von Daten zwischen anderen Registern des Rechen- und Steuerwerkes 1·
Ein A-Register 21 umfaßt einen 24 Bit-Akkumulator für arithmetische Rechenoperationen und Bit-Manipulationen. Er ist in der Lage, sowohl nach rechte oder nach links eine Serienverschiebung zu -sätzlich zu dem normalerweise parallel erfolgenden Informationsaustausch mit der Parallel-Addiereinheit 20 auszuführen. Eine parallele Informationsübertragung kann zwischen einem Teil des A-Regiaters 21 und dem J-Zähler 30 für den Zweck einer Gleitkommaoperation erfolgen. Das A-Register 21 ist außerdem in der Lage, mit dem Q-Begister 22, dem "P"-Volladditrer 27 und dem WN"-Volladdierer 29 einen Informationsaustausch durchzuführen. Das Q-Register 22 ist in Form eines 24 Bit-Hilfsakkumulators aufgebaut, der in Verbindung mit dem A-Register 21 zur Durchführung von Rechenoperationen mit doppelter Genauigkeit verwendet wird. Zusätslich kann der Inhalt des (}-Registers 22 auch
109810/1721
BAD ORIGINAL
zur Kennzeichnung von Rechenfeldern des A-Regiaters 21 und/oder B-Registers 25 während der Ausführung eines Feldbefehls verwendet werden, mit welchem nur die bezeichneten Felder (Gruppen von einem oder mehreren Bits) des Informationswortes betroffen werden. Das Q-Register ist ebenfalls in der Lage, Verschiebungen nach rechts oder links vorzunehmen und die normale Parallelübertragung von Informationen zur Parallel-Addiereinheit 20 und zurück auezuführen und kann ferner in Informationsaustausch mit dem WFM-Volladdierer 27 treten.
Das I-Register 23 (1-23) (Befehlsregister) besteht aus einem 26 Bit-Register, in welchem das zu einem bestimmten Zeitpunkt auszuführende Befehlswort steht. Sie beiden Bits A und B werden zwischen die Bitstelle 13 und die Bitstelle 14- eines aus 24 Bitstellen bestehenden Befehlswortes eingeschoben, wenn sich dieses im !-Register 23 befindet ,und dadurch ein 16 Bit umfassendes Operandenfeld für die erweiterte Speicheradressierung geschaffen. Die im allgemeinen in das I-Register 23 oder aus demselben übertragene Information wird normalerweise parallel verschoben, obwohl auch !Teile des Inhalts des I-Registers 23 unter bestimmten Bedingungen serienverschoben werden können. Das I-Register 23 ist in der Lage, einen Informationsaustausch mit der Parallel-Addiereinheit 20, dem P-Register 24 (P-24), dem "IH-Yolladdierer 28, dem Speioheradressenragister 32 und dem Speioherdatenregister 33 vorzunehmen.
BAD ORIGINAL
109810/1721
- 10 -
Das P-Register 24 (P-24) (Startadreasenregister) ist als 16 Bit-Register aufgebaut und bezeichnet normalerweise die Adressen der Speicherplätze im Hauptspeicher 2, aus welchem der nächste auszuführende Befehl abzurufen 1st. Alle Informationen werden in das P-Register 24 und aus demselben nur parallel übertragen. Das P-Register 24 ist in der Lage, einen Informationsaustausch mit. der Parallel-Addiereinheit 20, dem I-Register 23, dem H-Register 26 und dem Speicheradr-essenregister 32 durchzuführen.
Das B-Register 25 (B-25) ist als 24 Bit-Pufferregister mit parallelem Eingang aufgebaut und liegt zwischen dem Hauptspeicher 2 und den datenverarbeitenden Registern des Rechen- und Steuerwerkes 1. Alle Informationen von den Speicherplätzen des Hauptspeichers 2 und zu denselben werden über dieses Register und das Speicherdatenregister 33 geleitet, während des Betriebs kann die Information im B-Register 25 auf Grund bestimmter Befehle nach rechts verschoben werden, wobei die Befehle bewirken, daß das B-Register 25 sowohl zur funktionellen Datenverarbeitung als auch als Pufferregister Verwendung findet. Die Information zwischen dem B-Register 25 und der Parallel-Addiereinheit 20 wird parallel übertragen. Das B-Register 25 ist auch in der Lage, mit dem MP"-Volladdierer 27, dem "I"-Volladdierer 28 und dem "N"-Volladdierer 29 in Informationsaustausch zu treten.
Das H-Register 26 (Halteregister) ist als 16 Bit-Register aufgebaut und wird grundsätzlich als kurzzeitlicher Informations-
10 9810/1721
1549U3
speicher während der Ausführung bestimmter Befehle für die erweiterte Arbeitsweise verwendet. Dieses Register ist in der Lage, von der Parallel-Addiereinheit 20 Daten parallel zu empfangen und zu der Parallel-Dateneinheit 20, dem P-Register 24 und dem Speicheradressenregister 32 zu übertragen.
Der "F"-Volladdierer 27 dient dazu, in bestimmten Feldern, die durch das (^-Register 22 während der Ausführung der Feldbefehle bezeichnet werden, rechnerische und logische Manipulationen auszuführen und ist außerdem für weitere Funktionen in der Rechenanlage verwendbar.
Der "I"-Volladdierer 28 wird dazu benutzt, um aus der in einem Listungswort enthaltenen Information die relative Lage von Positionen zu errechnen, die während der Ausführung des Listungsbefehls auf eine im Hauptspeicher 2 gespeicherten Liste aufgebracht oder von dieser entfernt werden.
Der ttNM-Volladdierer 29 wird zur Durchführung arithmetischer und logischer Manipulationen des A-Registers 21 einerseits verwendet und andererseits, um zweite und dritte Teile des Listungswortes während der Ausführung der Listungsbefehle auf neuesten Stand zu bringen.
Der J-Zähler 30 ist als 5 Bit-Zähler aufgebaut und steuert während der Ausführung einer Anzahl von Befehlen, welche eine Zäh-
1 0 9 8 1j) / 1 7 2 1 eAD orJGINAL .
lung in der einen oder der anderen Form bzw. nach unterschiedlichen Bedingungen erfordern, die Manipulation der Informationen und gewisse Taktvorgänge.
Das Eingangs/Ausgangs-Auswählglied 31 bewirkt den Informationsaustausch, zwischen dem Rechen- und Steuerwerk mit einem Eingangs/ Ausgangs-Pufferspeicher 7 für die externe Steuerung, dem Eingangs/Ausgangs-Pufferspeicher 9 für das Prozessignal und dem Programmierpult 6. Das Eingangs/Ausgangs-Auswählglied sucht einen Kanal aus einer Vielzahl von auswählbaren 24 Bit-Informationskanälen während der Ausführung bestimmter Befehle aus. Alle von den Eingangs/Ausgangseinrichtungen übertragenen Daten werden über das Eingangs/Ausgangs-Auswählglied 31 der Parallel-Addiereinheit 20 für die weitere Verteilung innerhalb des Hechen- und Steuerwerks 1 zugeführt.
Das Speicheradressenregister £2 ist als ein 16 Bit-Register aufgebaut und ist ein Teil des Hauptspeichers 2. Es empfängt Jedoch ein 16 Bit-verkürztes Wort direkt von den P-, I-, H-Hegistern des Rechen- und Steuerwerkes 1, wobei dieses Wort die Speicheradresse des nächsten gespeicherten 24 Bit-Worte· bezeichnet, welche vom Hauptspeicher 2 über das Sptioherdatenrtgleter 33 in das Rechen- und Steuerwerk 1 Ubertragtn werden soll.
Da« Sp«ioh«rdat«nr«gi«ter 33 ist ebenfalls Ttil de· Hauptspeicher« 2. I« i«t «1« 24 Bit-R#gi«t#r aufgebaut, in wtlohtm j#dt·
109810/1721 bad original - 13 -
1549U3
gerade aus einem Speicherplatz abgerufene Wort in Abhängigkeit einer bestimmten Adresse festgehalten wird, die in dem Speicheradressenregister 32 und einer von dem Rechen- und Steuerwerk 1 gegebenen Speicheranfrage abhängt. Das Speicherdatenregister 33 steht mit dem B-Register 25 und dem !-Register 23 des Rechen- und Steuerwerkes in Informationsaustausch.
Venn die Codierung in der Oktalschreibweise erfolgt, wird hinter der angeschriebenen Zahl eine tief gestellte 8 angebracht. Im Falle einer Dezimalschreibweise wird hinter der Zahl eine tief gestellte 10 angebracht. Zur Vereinfachung der Beschreibung werden sich wiederholenden Begriffen willkürlich zu deren Identifizierung Buchstabenkombinationen im folgenden zugeordnet.
Die 14 Bit-Operandenadresse eines Befehlswortes mit vollem Operanden kann direkt 16,384^ (OOOOOq - Y?777q) Speicherplatzadressen bezeichnen. Es ist jedoch wünschenswert, soviel als möglich adreesierbare Speicherplätze mit einem schnellen Zugriff für Operandenworte zur Verfügung zu haben, ohne daß eine Vergrößerung der Grundwortlänge erforderlich ist, um eine größere Operandenadresse unterzubringen.
Dit erweiterte Speicheradressierung wird im vorliegenden System ohne Vergrößerung der Grundwortgröße durch die relative Adressierung bewirkt, welche in vorausgehenden bereits kurz erörtert wurde. Vit bereits erwähntt wird die relativ· Adressierung dadurch
109810/1721
m BAD ORIGINAL
bezeichnet, daß die Bitstelle 14 eines Befehlswortes mit vollem Operanden eine "1" enthält. Das Programm, das erforderlich ist, um eine 16 Bit Operandenadresse aus einem 14 Bit-Operandenfeld eines Befehlswortes mit vollem Operanden durch relative Adressierung zu erhalten, ist allgemein bekannt und in der vorstehend angegebenen Literatur beschrieben.
Um die relative Adressierung gemäß der Erfindung durchzuführen, werden bestimmte Vereinbarungen befolgt, nach welchen die Operandenadressen in den gespeicherten Befehlswort bezeichnet werden. Wenn die Bitstelle 14· eines gespeicherten Befehlswortes mit vollem Operanden keine "1" ist, d.h. es wird keine relative Adressierung verwendet, dann bezeichnet die Operandenadresse des Befehlswortes, d.h. die Bitstellen 13 bis 0 direkt die Operandenadresse als positive Zahl. Das 14 Bit-Feld ist auf Grund dieser Vereinbarung in der Lage, die Adressennummer O - 16,383 zu bezeichnen. Wenn andererseits die Bitstelle 14 eine M1" enthält und damit eine relative Adressierung anzeigt und ferner die Bitstelle 13 des Befehlswortes als Vorzeichenbit verwendet wird, wobei eine "1" ein negatives Vorzeichen und eine "0" ein positives Vorzeichen charakterisieren, dann fallen die Zahlen, welche durch die Operandenadresse bezeichnet werden, zwischen -8,192^0 und +8,191,-q einschließlich. Die negativen Zahlen müssen in dem Operandenteil .des Befehlswortes in der Form eines Zweier-Komplements gespeichert werden, was für die Speicherung negativ binärer Zahlen üblich ist. Um das Zweier-Komplement einer binären Zahl zu bilden,
100610/1721
15/.9U3
werden alle M1M zu 11O" und alle "0" zu "1" gemacht und zu der sich ergebenden Zahl eine 1 addiert, wobei jeder normale Übertrag von einer binären Stelle zur nächsten ausgeführt wird. Der Grund, warum diese Vereinbarung eingehalten wird, wird im folgenden näher beschrieben.
Wenn für ein vom Rechen- und Steuerwerk 1 zur Verarbeitung abgerufenes Befehlswort mit vollem Operanden eine relative Adressierung anzeigt, wird der Wert der Bitstelle 13 des Befehlswortes abgetastet. Venn eine "1" festgestellt wird, wird diese auf die Bitstellen 14 und 15 anfänglich auegedehnt, wenn die Bitstell-en 13 bis O des B-Registers 25 normal in die Parallel-Addiereinheit 20 eingeschrieben sind. Gleichzeitig wird der Inhalt des P-Registers 24- vor der Vergrößerung ebenfalls in die Parallel-Addiereinheit 20 eingeschrieben und die resultierende als Ausgangssignal erscheinende Summe der Parallel-Addiereinheit 20 dem I-Register 23 zugeführt und in die Bitstellen A, B, 13 bis O in normaler Weise eingeschrieben. Wenn eine relative Adressierung angezeigt wird, und die Operandenadresse des Befehlswortes positiv ist, d.h. die Bitstelle 14 eine "1" und die Bitstelle 13 eine "O" aufweist, werden nur die Bitstellen 13 bis O vom B-Register 25 in die Parallel-Addiereinheit 20 eingeschrieben und mit der 16 Bitzahl aus dem P-Register 24 addiert und sodann die resultierende Summe zu dem I-Register 23 übertragen. Unabhängig davon, ob die Bitstelle 13 eine "1" oder eine "O" enthält, repräsentieren die Ausgangssignale der Parallel-Addiereinheit 20 eine binäre
10 9 810/1721 bad original
- 16 -
15A9A43
Zahl, welche unter der Berücksichtigung, daß die 16 unteren Bitwerte nur positiv sind, in den Bereich 0 - 65»536^0 fällt, und somit verwendet wird, wenn der Speicher vom I-Register 23 zur Abberufung des Operanden adressiert wird.
Im folgenden werden Beispiele gegeben, um die relative Adressierung und deren Einfluß auf die endgültige Operandenadresse darzustellen, welche bei der Verarbeitung eines Befehlswortes mit vollem Operanden verwendet wird.
Zuerst wird ein Befehlswort mit vollem Operanden betrachtet, welches im Speicherplatz 14,336,-q gespeichert ist. Es wird angenommen, daß die Operandenadresse des Befehlswortes eine binäre Zahl enthält, die mit 6·,14710 äquivalent ist, und daß die Bitstellt 14 eine "1" enthält, um anzuzeigen, daß eine relative Adressierung benutzt werden soll. Die Bitstellen 14 bis 0 des Befehlswortes sind in Fig.2 in der oberen Reihe dargestellt. Die zweite Reihe der Fig.2 stellt den Inhalt des F-Registers 24 dar, welches eine binäre Zahl enthält, die mit 14,336^0 äquivalent ist. Da die Bitstelle 13 eine "1" enthält und damit anzeigt, daß die Operandenadresse des Befehlswortes eine positive Zahl ist, werden die beiden Zahlen in der Farallel-Addiereinheit 20 addiert, wobei die Summe von 20,483^0 in den Bitstellen 15 bis O der dritten Reihe gemäß Fig.2 der Ausgangesignalβ der Farallel-Addiereinheit 20 enthalten ist. Diese Summe 1st die Operandenadresse, welch· den Bitstellen A, B, 13 bis O des I-Rtgiettrs am Ende dee •rtten Steuerzustandeβ zugeführt wird.
109810/1721
BAD - 17 -
1549U3
Es sei nun das Beispiel der Pig.3 betrachtet, in welcher die obere Reihe die Bitstellen 14 bis O eines Befehlswortes mit vollem Operanden repräsentiert, das in dem Speicherplatz 4,096,-q (Reihe 3) gespeichert ist. Die Bitstelle 14 enthält wiederum eine "1" und kennzeichnet damit die Verwendung einer relativen Adressierung. Die Bitstelle 13 enthält jedoch eine "1" und kennzeichnet damit eine negative Operandenadresse, im vorliegenden Beispiel -8,192,.Q, in der Form eines Zweier-Komplements. Da eine relative Adressierung angezeigt wird und die Bitstelle 13 eine "1" enthält, wird die Bitstelle 13 auf die Birpositionen 14 und 15 erweitert, wenn die Operandenadresse des Befehlswortes vom B-Register 25 übertragen und als ein Eingangssignal in die Parallel-Addiereinheit 20 eingeschrieben wird. Das P-Register 24 befindet sich in diesem Beispiel auf einem Zählerstand von 4,096^ wie er in der zweitletzten Zeile der Fig.3 dargestellt ist. Die als Ausgangssignal an der Parallel-Addiereinheit 20 erscheinende Summe, die nur als positive Zahl berücksichtigt wird, beträgt 61,440,.Q, wie sie in der letzten Reihe der Fig.3 dargestellt ist.
Im folgenden wird das Beispiel der Fig.4 betrachtet, bei der die obere Reihe die Bitstellen 14 bis O eines im Speicherplatz 8,256,J0 gespeicherten Befehlswortes repräsentiert. Der Speicherplatz enthält dieselbe Information wie im vorausgehenden Beispiel Auch in diesem Fall wird die Bitstelle 13 auf die Bitpositionen 14 und 15 ausgedehnt. Jedoch beträgt die als Ausgangssignal an der Parallel-Additreinheit 20 erscheinende Summe nur
1 o s a ι o /17 21
. ^g « BAD ORIGINAL
1549U3
64,-Q, wenn man nur die Bitpositionen 15 bis 0 berücksichtigt. Es ist offensichtlich, daß ein Übertrag in die Bitposition 16 der Parallel-Addiereinheit 20 während des tatsächlichen ßummiervorgangs stattfindet, jedoch werden nur die Ausgangssignale der Bitpositionen 15 bis 0 des Paralleladdierers zum I-Register 23 übertragen, die zur Operandenadresse werden, welche zur Ausführung des Befehlswortes verwendet wird.
Schließlich sei noch das Beispiel gemäß Fig.5 betrachtet, bei dem die Bitstellen 14 bis 0 des Befehlswortes in der oberen Reihe von r den beiden vorausgehenden Beispielen nur dadurch verschieden sind, daß die Bitposition 14- eine "O" an Stelle einer "1" enthält. Da damit keine relative Adressierung angezeigt wird, wird die gesamte Operandenadresse des Befehlswortes als positive Zahl +8,192^Q betrachtet und wird unverändert in die Parallel-Addiereinheit 20 und weiter zum I-Register 23 übertragen, ohne mit dem Zählerstand des P-Registers 24- addiert zu werden.
Die Art und Weise, in der diese Kontrollen und Additionen durchgeführt werden, ist an Hand der Fig.6, 7A und 7B zu verstehen, die für die Durchführung dieser Rechenoperationen ausgelegt sind. Zum leichteren Verständnis der logischen Schaltungen sind die Überall vorhandenen Oder-Gatter, welche die Eingangsklemmen der verschiedenen Flip-Flops und die parallelen Adressen der Parallel-Addiereinheit 20 ansteuern, nicht dargestellt. In der Praxis sind die dargestellten logischen Elemente direkt mit den Eingangs-
109810/1721
_ BAD
klemmen verbunden und befähigen die entsprechenden Oder-Gatter zur Durchführung der gewünschten Funktion.
Ein IDOO Signal überführt den Rechencode (Bitstellen 23 bis 18), die X-Bits (Bitstellen 17 bis 15) und die Bitstelle 14 des abberufenen Befehlswortes vom Speicherdatenregister 33 zum I-Eegister 23. Danach kann der Eechencode entziffert werden, um festzustellen, daß das Befehlswort einen vollen Operanden enthält. Wenn diese Bedingung zutrifft, wird das DOFO Signal eine "1". In Fig.7A liegt an den Und-Gattern G304 und G3O5 jeweils ein Eingangssignal auf Grund des IDOO Signals. Am anderen Eingang des Gatters G304 liegt das Ausgangssignal "1" von der Bitstelle 14 des Flip-Flops des B-Eegisters 25. Am anderen Eingang des Gatters G305 liegt das Ausgangssignal "0" desselben Flip-Flops. Die Ausgangssignale der Gatter &304 und G305 liegen an dem Einstell- und Eückstelleingang des Flip-Flops der Bitstelle 14 des I-Eegisters 23 und bewirken die Übertragung der Ziffer der Bitstelle 14 des Befehlswortes mit der Eückflanke des IDOO Impulses.
Wie in Fig.7A dargestellt, liegt der "1" Ausgang des Flip-Flops der Bitstelle 14 des I-Eegisters 23 und das DOFO Signal am Eingang eines weiteren Und-Gatters G300. Wenn somit die Bitstelle 14 des Befehlswortes eine "1" enthält und das Befehlswort einen vollen Operanden besitzt, erzeugt das Und-Gatter G3OO ein Signal "1" zur Bezeichnung einer relativen Adressierung. Das Ausgangssignal vom Und-Gatter G3OO wird als Eingangssignal einem anderen
10 9 8 10/1721 sad oriGiNal
15Λ9Α43
Und-Gatter G301 zugeführt. Die übrigen Eingänge des Gatters G301 bestehen aus dem SC1A Signal und dem TCTA Signal sowie dem "1" Ausgang des Flip-Plops der Bitstelle 13 des B-Registers 25. Wenn deshalb die Bitstelle 13 des Befehlswortes mit vollem Operanden zur Kennzeichnung, daß eine relative Adressierung stattfindet, eine "1" (negative Operandenadresse) enthält, wird das Und-Gatter G301 zur Erzeugung eines "1" Signals wahren!der TCTA Zeit befähigt.
Wie aus Fig.7B hervorgeht, wird das Ausgangssignal vom Und-Gatter G301 an die B-Eingänge der Paralleladdierer der ^itstellen 15 und 14 der Parallel-Addiereinheit 20 angelegt. Das UBLA Signal, welches während der TCTA Zeit normalerweise "1" ist, überträgt den Inhalt der Bitstellen 13 bis 0 des B-Registers 25 über die Gatter G310 bis G323 auf die B-Eingänge der Paralleladdierer 13 bis 0 der Parallel-Addiereinheit 20.
Das UPAU Signal ist das Ausgängssignal des Und-Gatters G302 und steuert je einen Eingang der Und-Gatter G37O bis G385 derart, daß der Inhalt des P-Registers 24 auf die Α-Eingänge des Volladdierer β der Parallel-Addiereinheit 20 in die entsprechenden Bitstellen 15 bis O gemäß Fig.7A und 7B übertragen wird. Am einen Eingang dea Und-Gatters G3O2 liegt das Signal SC1A und am anderen Eingang das Auegangesignal vom Oder-Gatter G3O3»das wiederum vom TCTS Signal einer«βitβ und von dem Auegangesignal des Und-Gattere G300 angesteuert wird. Somit stellt während der
109810/1721
- 21 - BAD
Durchführung der Rechenoperation das UPAU Signal normalerweise eine "1" dar, jedoch ist es derart zeitlich ausgedehnt, daß es eine "1" während der restlichen TGTA Zeit bleibt, wenn eine relative Adressierung angezeigt ist, so daß die Ausgangssignale der Volladdierer der Bitstellen 15 bis 0 der Parallel-Addiereinheit 20 während der TCTA Zeit die Summe der Operandenadresse des Befehlswortes und des Inhalts des P-Registers 24 vor dem Zuwachs wiedergeben. Der Zuwachs des Zähl erstände des P-Registers 24 wird normalerweise im H-Register 26 festgehalten, bis die Rückflenke des PXHP Signals, welches gleichzeitig mit dem TLPS Signal den Wert "1" annimmt, diesen zu dem P-Register 24 überträgt. Diese Rechenoperationen sind nicht von der relativen Adressierung beeinflußt, so daß der normale Zuwachs des P-Registers 24 davon nicht gestört wird.
Gemäß Fig. 7b werden die Signal· des S- und 'S- Ausgangs der Paralleladdierer der Bitpositionen 15 bis 0 der Parallel-Addiereinheit 20 über die Und-Gatter G3J0 bis G361 durch das IAUI Signal übertragen, welches gleichzeitig mit dem TLPS Signal für eine normale Adressier- und Wiederholfolge den Wert "1" annimmt. Es sei darauf hingewiesen, daß die Ausgangseignale des Paralleladdierers der Bitstelle 14 der Parallel-Addiereinheit 20 zum Flip-Flop der Bitsteile B des I-Registers 25 übertragen wird, und daß außerdem dit Ausgangesignale des Paralleladdierers der Bitstelle 15 der Parallel-Addiereinheit 20 sum Flip-Flop der Bitstelle A des !-Registers 23 übertragen wird. Die Folgesteuerung beginnt nun
10 9 810/1721
- 22 -
mit dem nächsten geeigneten St euer zustand, um mit der Ausführung der Befehle unter Verwendung der gebildeten Operandenadresse weiterzufahren.
Patentansprüche 109810/1721

Claims (3)

Patentansprüche
1. Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung, die eine Vielzahl adressierbarer Speicherplätze zur Speicherung einer entsprechenden Vielzahl von Worten aufweist, gekennzeichnet durch ein erstes Register (P-24) zur vorübergehenden Speicherung der Adresse eines Befehlswortes, das eine von der nachrichtenverarbeitenden Einrichtung auszuführenden Rechenoperation bezeichnet, ein zweites Register (B-25) zur vorübergehenden Speicherung des Befehlswortes, Prüfeinrichtungen, die mit einem Teil des zweiten Registers (B-25) verbunden sind und ein Feld (Bitstelle 14) des vorübergehend in dem zweiten Register (B-25) gespeicherten Befehlswortes zur Feststellung der Anzeige einer relativen Adressierung prüft und in Abhängigkeit von der Peststellung einer relativen Adressierung ein erstes Signal erzeugt, und durch Addiereinrichtungen (PATJ-20), die auf dieses Signal ansprechen, um den Inhalt des ersten Registers (P-24) zu der Operandenadresse des vorübergehend im zweiten Register (B-25) gespeicherten Befehlswortes zu addieren und die Ausgangssignale der Addiereinrichtung zu einem dritten Register (1-23) zu übertragen.
- 24 109810/1721
1549U3 «Γ
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß beim Nichtauftreten·des ersten Signals die Operandenadresse des vorübergehend im zweiten Register (B-25) gespeicherten Befehlswortes zum dritten Register (1-23) ohne Änderung übertragen wird.
3. Einrichtung nach Anspruch 1, gekennzeichnet durch Prüfeinrichtungen (Fig.7A, G300, G3O1), die mit einem zweiten Teil eines zweiten Registers (B-25) zur Prüfung eines zweiten Feldes (Bitstelle 13) des vorübergehend im zweiten Register (B-25) gespeicherten Befehlswortes verbunden sind, das Vorzeichen der Operandenadresse des Befehlswortes bestimmen, und ferner in Abhängigkeit vom Auftreten eines bestimmten Vorzeichens ein zweites Signal erzeugen, und durch Verknüpfungseinrichtungen (6301), in die das erste und zweite Signal zur Erzeugung eines dritten Signals eingespeist wird, wenn das erste und zweite Signal vorhanden ist, wobei die Addiereinrichtungen (PÄU-20) auf das dritte Signal ansprechen und binäre "1" in eine Vielzahl von Bitstellen einer Ordnung einprägen, die höher ist als die Ordnung der zusammengefaßten Operandenadresse des Befehlswortes, wodurch die Ausgangssignale der Addiereinrichtungen (PAU-20) in das dritte Register (1-23) übertragen werden.
- 25 - . BA0
10 9 810/1721
Lee rs e
ite
DE19671549443 1966-11-25 1967-11-22 Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung Pending DE1549443A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59702366A 1966-11-25 1966-11-25

Publications (1)

Publication Number Publication Date
DE1549443A1 true DE1549443A1 (de) 1971-03-04

Family

ID=24389748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19671549443 Pending DE1549443A1 (de) 1966-11-25 1967-11-22 Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung

Country Status (3)

Country Link
US (1) US3470537A (de)
DE (1) DE1549443A1 (de)
GB (1) GB1207166A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758815A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire
US3731283A (en) * 1971-04-13 1973-05-01 L Carlson Digital computer incorporating base relative addressing of instructions
US3735355A (en) * 1971-05-12 1973-05-22 Burroughs Corp Digital processor having variable length addressing
US4175284A (en) * 1971-09-08 1979-11-20 Texas Instruments Incorporated Multi-mode process control computer with bit processing
JPS54100634A (en) * 1978-01-26 1979-08-08 Toshiba Corp Computer
US5611065A (en) * 1994-09-14 1997-03-11 Unisys Corporation Address prediction for relative-to-absolute addressing
US7691794B2 (en) * 2006-01-04 2010-04-06 Chemtura Corporation Lubricating oil and fuel compositions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3249920A (en) * 1960-06-30 1966-05-03 Ibm Program control element
NL267513A (de) * 1960-07-25
US3266022A (en) * 1962-01-08 1966-08-09 Burroughs Corp Computer addressing system
DE1181461B (de) * 1963-10-08 1964-11-12 Telefunken Patent Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
US3299261A (en) * 1963-12-16 1967-01-17 Ibm Multiple-input memory accessing apparatus

Also Published As

Publication number Publication date
US3470537A (en) 1969-09-30
GB1207166A (en) 1970-09-30

Similar Documents

Publication Publication Date Title
DE2455803C2 (de) Mehrprozessor-Datenverarbeitungsanlage
DE2130299B2 (de) Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage
DE2712224A1 (de) Datenverarbeitungsanlage
DE2747146A1 (de) Datenverarbeitungsanlage
DE2354521A1 (de) Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln
DE1901343A1 (de) Datenverarbeitungsanlage mit mehreren Verarbeitungseinheiten und an diese angeschlossenen Speichereinheiten
DE3043100C2 (de)
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE1197650B (de) Parallel-Addierer
DE2935101C2 (de)
DE1115488B (de) Datenverarbeitungssystem
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1549443A1 (de) Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung
DE1934860A1 (de) Wortorganisierter Assoziativspeicher
DE2233193A1 (de) Stapel-speichersystem
DE2245284A1 (de) Datenverarbeitungsanlage
DE1168129B (de) Verfahren zur Verarbeitung von Daten
DE1774675B2 (de) Elektronisches rechengeraet mit einer speichermatrix
DE1774674A1 (de) Digitale Rechenanlage fuer Regelsysteme
DE2349590A1 (de) Vorrichtung zur datenverarbeitung
DE2644180C3 (de) Datenverarbeitungssystem
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
CH493886A (de) Datenverarbeitungsanlage
DE1094020B (de) Periodisch arbeitende numerische Rechenmaschine