DE1549528A1 - Digitale Rechenanlage - Google Patents

Digitale Rechenanlage

Info

Publication number
DE1549528A1
DE1549528A1 DE19671549528 DE1549528A DE1549528A1 DE 1549528 A1 DE1549528 A1 DE 1549528A1 DE 19671549528 DE19671549528 DE 19671549528 DE 1549528 A DE1549528 A DE 1549528A DE 1549528 A1 DE1549528 A1 DE 1549528A1
Authority
DE
Germany
Prior art keywords
address
memory
register
access
word
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
DE19671549528
Other languages
English (en)
Inventor
Mendelson Myron J
England Alfred W
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.)
Scientific Data Systems Inc
Original Assignee
Scientific Data Systems Inc
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 Scientific Data Systems Inc filed Critical Scientific Data Systems Inc
Publication of DE1549528A1 publication Critical patent/DE1549528A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Description

Unser Zeichen; S 2510
Digitale Rechenanlage
Die Erfindung "bezieht sich auf digitale Rechenanlagen, von denen jede einen Speicher mit einzeln adressierbaren Speicherplätzen aufweist.
Beim Betrieb derartiger Rechenanlagen werden die Speicherplätze nacheinander gelesen, wobei ^der Lesevorgang ein Vorbereitungsschritt für die nachfolgende Ausführung einer elementaren Rechenoperation mit einem oder mehreren numerischen Operanden ist. Ein Operand wird entweder einzeln datenmäßig verarbeitet oder mit Bezug auf andere Operanden. Diese Ope-
*Ps/me randan
0 0 9884/1688
randen sind in Speicherplätzen gespeichert, um sie in dem Augenblick zur Datenverarbeitung zur Verfügung zu haben, in dem sie benötigt werden. Ein derartig gespeicherter Operand kann von einer externen Datenquelle in seinen Speicherplatz transferiert werden oder kann das Ergebnis einer zuvor ausgeführten Rechenoperation sein. In jedem Fall ist ein richtiger und unzweideutiger Zugriff zu einem Speicherplatz von wesentlicher Bedeutung, damit der Operand als verfügbar angesehen werden kann.
Jeder Speicherplatz „wird gewöhnlich durch eine Zahl identifiziert, die als Adressenzahl, Adressencode oder kurz als Adresse bezeichnet wird. Die exakte Folge des Lesens der Speicherplätze während der Ausführung eines Programms ist gewöhnlich nicht festgelegt, da häufig verschiedene während der gleichen Rechenoperation verwendete Operanden in verschiedenen Speicherplätzen gespeichert sind, und die Auswahl des bestimmten benötigten Operanden vom Ergebnis der vorausgehenden Rechenoperation abhängig ist. Daher ist es für den Programmierer nicht möglich, ein Programm in Form einer Liste der Speicherplätze (Adressen) aller Operanden in der Reichenfolge wie sie gelesen werden müssen aufzustellen. Dem Programmierer muß vielmehr die Möglichkeit zur Verfügung stehen, daß die Rechenanlage selbst unter mehreren Speicherplätzen (Operanden) den speziellen auswählt, der in Abhängigkeit von dem vom Programmierer nicht vorhersehbaren vorausgehenden Ergebnis benötigt wird. Er kann nur
009884/1688
eine
BAD ORIGINAL
eine Vielzahl von Speicherplätzen für eine Vielzahl von Operanden und einen Auswählmodus für eine eindeutige Auswahl des "bestimmten Speicherplatzes in das Programm aufnehmen, so daß sich die Folge der Zugriffe auf Speicherplätze mit der Ausführung des Programms verändern kann. Dieses Prinzip findet nicht nur für Operanden Anwendung, sondern auch für ganze Programmteile oder Unterprogramme. Abhängig von Bedingungen, die nur während der Ausführung des Programms ermittelt werden können, muß entweder das eine oder das andere mehrerer Unterprogramme ausgeführt werden, und deshalb muß eine Vorkehr getroffen werden, die den Rechner in die Lage versetzt die erforderliche Auswahl selbsttätig vorzunehmen.
Diese Auswahl bestimmter Adressen erfolgt in der Weise, daß die Rechenanlage Speicheradressen als reelle Zahlen interpretiert und durch eine Berechnung zu der gewünschten Adresse kommt. Zur Ausführung wird einerseits ein bestimmter Wert einer Speicheradresse programmiert und anderseits von der Rechenanlage eine Modifiziergröße erzeugt, welche eine bestimmte während der vorausgehenden Rechenschritte entwickelte Bedingung darstellt, die den weiteren Verlauf des Programms bestimmt. Dieser Prozess wird als Indizieren bezeichnet, insbesondere wenn die Modifiziergröße eine Zahl darstellt, die zu einer ersten Adresse (Basisadresse) addiert wird, um daraus eine zweite Adresse zu errechnen. Die Erfindung bezieht sich auf diese Art der Adressenumdeutung, wobei jedoch die spezielle
009884/1888
Rechenart BAD ORIGINAL
Rechenart zur Verbindung der Basisadresse mit der Modifiziergröße unwesentlich ist, d.h. die Adresse mit jeder bekannten arithmetischen Rechenoperation modifiziert werden kann.
Vom Standpunkt der wirtschaftlichen Ausnutzung eines Rechenspeichers und dessen Zugriffssystemsher gesehen, ist es nötig für alle Speicherplätze eine gleiche Größe vorzusehen, wobei die prinzipiellen Faktoren zur Bestimmung dieser Größe die Zahl der Bits in den Rechenbefehlen ist,oder durch die Zahl der Bits pro Einheit einer Eingangs- oder Ausgangsinformation oder durch die Zahl der in einem Speicherplatz enthaltenen Eingangs- oder Ausgangseinheiten bestimmt wird, wobei diese Zahl vorzugsweise eine Potenz von 2 aufweist. Ein Befehl umfaßt gewöhnlich einen Operationsteil und zumindest eine Operandenadresse in einem verketteten Format bzw. Aufbau. Es werden auch Befehle mit einer unmittelbar für die Rechenoperation bedeutenden Zahl als Operand verwendet, diese sind jedoch im vorliegenden Zusammenhang ohne Interesse. Einige Systeme enthalten mehrere Operandenadressen in einem Befehl und/oder eine Adresse des nächsten Befehls. Die Anzahl der in einem Befehl enthaltenen Operanden-, adressen ist bezüglich der Erfindung uninteressant, solange zumindest eine"Operandenadresse vorliegt. Me Erfindung bezieht sich auf jede Art einer solchen Operandenadresse.
Während eines Rechenvorgangs erfolgt ein Zugriff gewöhnlich jeweils nur zu einem Speicherplatz, und jeweils ein Operand wird dabei in einem einzigen als Speicherzyklus bezeichneten Zugriffs-
0 09884/1688
schritt
BAD ORIGINAL
schritt entweder aus dem Speicher gelesen oder in diesen geschrieben. Die Operanden haben jedoch verschiedene Längen, und es würde eine Verschwendung wertvoller Speicherplätze darstellen, wenn ein solcher Speicherplatz jeweils nur mit einem Operand belegt wird. Viele Zahlenoperanden füllen nur die Hälfte bzw, sogar nur ein Viertel oder= weniger des Speicherplatzes aus. Um den zur Verfügung stehenden Raum eines Speichers voll auszunützen, muß es daher möglich sein zwei oder mehrere ziemlich kurze Zahlen in einem Speicherplatz unterzubringen, obwohl diese Zahlen in keinerlei Beziehung zueinander stehen, und außerdem müssen Möglichkeiten geschaffen werden, um mehrere in dem selben Speicher gespeicherte Zahlen voneinander zu unterscheiden.
Es ist denkbar den Speicher, dessen Adressier- und Zugriffssystem für eine solche Unterscheidung entsprechend zu gastalten, so daß ein Zugriff zu einem Teil des Speichers normaler Größe unter Ausschluß des restlichen Teils des Speichers möglich ist. Dies ist jedoch nicht zweckmäßig. Aus Gründen der allgemeinen Verwendbarkeit müssen alle Speicherplätze die Fähigkeit haben kurze Zahlen aufzunehmen, denn es ist unpraktisch den Speicher in Teile für lange Zahlen und Teile für kurze Zahlen zu unterteilen. Daher sollte die Adressier- und Zugriffsteuerung des Speichers immer derart ausgelegt sein, daß im ganzen Speicher der Zugriff zu Speicherplätzen gleicher Große erfolgt. Dies würde darauf hinauslaufen, daß Speicher mit Speicherplätzen ziemlich kleiner Größe geschaffen werden, wobei derartige kleine
0Q9884M688
Speicherplätze
Speicherplätze nicht ausreichen würden, -um einen vollständigen Befehl aufzunehmen.
Bei einem Speicher gegebener Größe ist der für eine eindeutige Auswahl eines bestimmten Speicherplatzes erforderliche Adressiercode um so größer je kleiner man den einzeln adressierbaren Speicherplatz werden läßt. Da dies einen größeren Befehl erfordert, ergibt sich daraus ein vielschichtiges Problem. Es würden nämlich mehrere, vielleicht sogar viele Speicherplätze zur Aufnahme eines Befehles erforderlich sein, so daß man mehrere Speicheradressen benötigt, um den Befehl aus dem Speicher zu entnehmen.
Die gemäß der Erfindung verbesserte Rechenanlage löst dieses Problem in einer hiervon verschiedenen Weise. Ein von der Zugriffs steuerung ausgesuchter individueller Speicherplatz hat nicht die Größe der kleinsten Zahl oder des kleinsten zu unterscheidenden Formats, sondern die Größe des Befehls. Somit wird bei jedem in den Speicher erfolgenden Zugriff der gesamte Inhalt eines Speicherplatzes betroffen, selbst wenn dieser zwei oder mehrere unter sich in keiner Besiehung zueinander stehende kleine Zahlen enthält. Bas datenverarbeitende Gerät ist derart ausgelegt, daß es zwischen den gewünschten und ungewunschten Anteilen des Inhalts eines aolchen Speicherplatzes unterscheidet, wobei nur der gewünschte Anteil benutzt wird und der ungewünschte Anteil unbeeinflußt bleibt. Es sei bemerkt, daß das Entnehmen von Daten aus einem Speicher einen Kopierprozess darstellt, so
009884/1688
BAD ORIGINAL
daß der ungewünschte Teil der Kopie unterdrückt werden kann, da das "Orginal" im Speicherplatz für einen weiteren Zugriff erhalten bleibt.
Die Unterscheidung zwischen einem gewünschten und ungewünschten Anteil des Speicherplatzes erfolgt in zwei Schritten. Bei der Ausführung des ersten Schrittes bestimmt die Operationssteuerung die Größe des gewünschten Anteils, wogegen im zweiten Schritt der bestimmte Anteil des Inhalts eines vollen Speicherplatzes durch Indizieren ausgesucht wird. Beim Indizieren wird ganz allgemein eine Zahl zur Modifizierung der Adresse eines Operanden einem Befehl entsprechend zur Verfügung gestellt, nachdem der Befehl zum Zwecke der Ausführung aus dem Speicher entnommen worden ist. Das zeigt, daß der oben umrissene Zweck des Indizierens nicht auf den vorstellbaren Umfang seiner Anwendung beschränkt ist.
In diesem Zusammenhang sind drei Punkte von Wichtigkeit. Der Vorgang des Indizierens, d.h. der Modifizierung einer Adresse eines Operanden erfordert das Vorhandensein einer Modifiziergröße. Durch denselben Vorgang kann eine Information verfügbar werden, welche eine Unterscheidungsmöglichkeit innerhalb des Speicherplatzes bietet, um einen bestimmten Anteil in einem Operand zu identifizieren. Das Prinzip des Indizierens kann derart abgeändert werden, daß entweder zwei Zahlen oder eine aus zwei Teilen bestehende Zahl zur Verfügung gestellt wird, wovon die eine zur Modifizierung der Operandenadresse und die andere zur Identi"-
009884/1688
zierunR BAD ORIGINAL
zierung des gewünschten an der modifizierten Operandenadresse befindlichen Operanden verwendet wird. Der zweite Punkt ist, daß eine Adressen-Modifiziergröße von der Rechenanlage selbst in Abhängigkeit von den Rechenbedingungen abgeleitet werden kann, jedoch kann diese Größe auch programmiert werden oder aus einnr Kombination derart bestehen, daß eine Modifiziergrcße vorprogrammiert wird, und daß die Modifiziergröße selbst einer Veränderung während der Durchführung des Programms unterzogen wird. Auf diese. Weise können eine Unterscheidung innerhalb des Speicherplatzes ermöglichende Zahlen programmiert und mit Hilfe einer Indizierung verfügbar gemacht werden. Dies führt zu dem dritten Punkt, wonach nämlich das Indizieren zur ausschließlichen Erzeugung von eine Position innerhalb eines Speicherplatzes identifizierenden Signalen ohne Änderung des Platzes de ^ Speicheradresse, wie dargestellt, benutzt werden kann.
Häufig werden in einem Programm mehrere Informationslisten verwendet, wobei die Daten in jeder Liste von verschiedener Länge sind. Dies ist z.B. der Fall, wenn bei einem Programm für mehrere Datengruppen dieselbe Rechenoperation durchgeführt werden soll. Jede Datengruppe kann aus kleinen Zahlen, großen Zahlen oder aus Zahlen dazwischenliegender Größe bestehen. Die Daten können aus den Zahlen A, B und C bestehen, wobei A die Länge b Bits, B die Länge c Bits und C die Länge d Bits hat. Jede Datengruppe würde eine A entsprechende Zahl, eine B entsprechende Zahl und eine C entsprechende Zahl aufweisen. Es würde vorteilhaft sein alle Zahlen der Länge A, alle Zahlen der Länge B und alle Zahlen der
009884/1688
Länge
BAD ORIGINAL
Länge G jeweils zusammenzufassen, um daraus drei Listen zu bilden, wobei Ay, die erste Zahl, Ap die zweite Zahl und A^ die k-te Zahl der Liste A ist. In gleicher Weise könnten die Zahlen B und die Zahlen C zusammengefaßt werden, so daß die k-te Dateiigrupps aus Ak, Bk und O^ besteht. Es würde sich dann als sehr bequem erweisen, wenn man einen Zugriff zu allen Zahlen der k-ten Gruppe unabhängig von deren Größe durch die Verwendung von Indexzahlen hätte, um damit das Programm zu vereinfachen, und die Zahl der von den Indexzahlen besetzten Speicherplätze zu verringern. Es ist ein Merkmal der Erfindung', daß die aus Worten, Halbworten, Bytes und Doppelworten sowie anderen einem Teil einer vollen Größe eines Speicherplatzes entsprechenden Informationen bestehende Wortgruppe derart im Speicher untergebracht werden kann, daß sie durch die Verwendung einer einzigen Modifizier-, größe adressierbar ist.
Es ist ein weiteres Merkmal der Erfindung, daß, während bestimmter Phasen der Rechenoperation, insbesondere wenn ein Befehl mit einem Operationscode und einer oder mehreren Speicheradressen aus dem Speicher entnommen wurde, eine Zahl in der datenverarbeitenden Einheit hervorgebracht werden kann. Die Zahl wird für den Fall, daß mit dem ganzen Zahlenoperand eine reguläre Rechenoperation durchzuführen ist, als ganzes zum Indizieren benutzt. In Abhängigkeit von einem Operations- oder Steuercode, der nur auf ein Halb- oder Viertelswort einwirkt, kann die Zahl verschieden interpretiert werden. In diesem Fall wird nur ein
Teil 009884/1688
Teil des Index zur Modifikation der Speicheradresse verwendet. Der verbleibende Teil des Index dient zur Bezeichnung des speziellen Anteils des Inhalts der Operandenadresse, die betroffen wird.
Die erwähnten Prinzipien erlauben eine modifizierte Interpretation einer normalen Speicheradresse, wie sie in einer Speicherzugriff ssteuerung wirksam ist. Eine reguläre Adressenzahl kennzeichnet nur einen Speicherplatz voller Größe. Durch die Verkettung der Stellen niederer Ordnung mit einer Speicheradresse können Viertelwort- und Halbwortadressen gekennzeichnet werden. Diese Viertelwort- oder Halbwor·^adre ssen haben keine Bedeutung für den Rechenvorgang soweit dies den tatsächlichen Zugriff zum Speicher betrifft, jedoch er/eichtert die Bestimmung von Viertelwort- oder Halbwort adre ssen7 das Programmieren. Die Bits niederer Ordnung dieser Viertelwor/t- oder Halbwortadressen werden dann ein Teil der Indexzahlen', welche verfügbar sind, wenn die entsprechende, damit verbundene volle Speicheradresse die gültige Operandenadresse wird> Die volle Speicheradresse, welche in die entsprechend definierte Viertel- und Halbwortadressen einbezogen ist, wird im Programm in üblicher Weise als Operandenadresse behandelt. /
Innerhalb des Systems müssen außerhalb des Speichers Einrichtungen vorgesehen sein, die zwischen den verschiedenen Typen der Aufessen und zwischen den Adressen selbst bei der Ausführung
/ des
009884/1688
BAD ORIGINAL
do ε- Programms eine Unterscheidung treffen. Die datenverarbeitende Einheit fügt mit Hilfe der Integrierung an die reguläre Adresce eine zusätzliche numerische Information an, so daß die datenvc-rarbeitende Einheit darauf außerhalb des Speichers mit einem* unterteilten Adressenkontinuum sinnvoll zur tatsächlichen Unterscheidung der Anteile des Inhalts einer regulären Spricheradresse rechnen kann. Das Indizieren wirkt hierbei in der Weise, daß dip dater.verarbeitende Einheit Stellen niederer Ordnung mit einer regulären vom Speicher der datenverarbeitenden Einheit zur Verfügung gestellten Adressenzahl verkettet, wobei die Stellen niei^rer Ordirung sur Ergänzung der regulären Adresse von einer anierweitig zur Verfügung gestellten Indexzahl abgeleitet werden. A\if diese Weise kann die datenverarbeitende Einheit mit Viertelwort- und Hnlbwortadressen arbeiten, obwohl der Speicher den Inhalt eines Speicherplatzes nicht unterscheiden kann.
Eine beispielsweise Ausführungsform der Erfindung ist in der Zeichnung dargestellt; es zeigen:
Fig. Λ ein schematisches Schaltbild der betreffenden Register einer gemäß der Erfindung verbesserten, allgemein verweiylbaren digitalen Rechenanlage;
Fig. 2 eine scheinatische Darstellung der Begriffsbestimmungen der Worte, Halbworte und Viertelsworte bezogen auf einen regulären adressierbaren Speicherplatz in einem Speicher der Rechenanlage gemäß Fig. 1;
Fig. 3 eine scheinatische Darstellung des Aufbaus eines in der Rechenanlage gemäß Fig. 1 verwendeten Befehles; 0 0 9884/1688
Fig. 4. BAD ORSGiNAL
Fdg. 4· eine schemat: echo Daxetellung einer: Ic^i-chcr Ccholtaufbaus zur Übertragung einer Indexzrh.1 auc -ItJ1 er. Speicherplatz zum Platz ihrer Verwendung;
Fig. 5 cLie Auswahl des betroffenen Anteile de? Inhnlt" ρΙγ.οε adressierten Speicherplatzes;
Fig. 6 eine schematisehe Darstellung des Indiz.iervr.rgar.gc;
Fig. 7 cLie Darstellung der Organisation der unter Verwendung des er f indungs gemäßen Systems adrensierbaren Spf-i.eherplätze anhand eines numerischen Beispiele.
Vor der Beschreibung der Wirkung der vorliegenden Erfindung roll in einer allgemeinen leicht detaillierten Darstellung die Organisation der Daten in einer digitalen gemäß der Erfindung verbesserten Rechenanlage gezeigt werden. Alle Informationen in der Rechenanlage werden durch Kombinationen der binären Ziffern ι und 0, den sog. Bits dargestellt. Der Informationsinhalt eines Bit kann somit entweder den einen oder den anderen der beiden Werte umfassen und stellt die Größe der kleinsten Einheit dar. Die derart gekennzeichnete Größe kann numerische Bedeutung haben bzw. eine die Steuerung betreffende Bedeutung enthalten oder beide zusammen.
In den meisten Fällen sind die binären Ziffern in Gruppen organisiert und erscheinen als solche Gruppen in einer gewissen Ordnung. Die Position eines bestimmten Bit innerhalb dieser Ordnung ■bestimmt deren digitalen Wert, wenn das Bit die Ziffer einer Zahl darstellt. Innerhalb einer Gruppe von Bits, die einen Rechen-
009884/1638 oder
BAD ORIGINAL
oder Steuereode darstellen, hat die Position eines Bit sowohl eine Bedeutung hinsichtlich der Steuerung als auch hinsichtlich des Rechenvorgangs. Eine Gruppe geordneter Bits kann eine einzelne Zahl, mehrere in keiner Beziehung zueinander stehende Zahlen, den Teil einer Zahl oder eine Vielzahl miteinander verbundener Zahlen,einen einzelnen Rechen- oder Steuercode, eine Vielzahl solcher Codes oder eine Kombination aus Zahlen und/oder Steuercodes umfassen.
Eines der Grundelemente einer Rechenanlage ist deren Speicher mit Speicherzellen zur individuellen Speicherung dieser Größen kleinster Ordnung, d.h. in jeder Zelle kann ein Bit gespeichert werden. In den meisten Fällen bilden die individuellen Bits eine Komponente einer Gruppe von Bits, wobei die Gruppe eine bestimmte bereits angegebene Bedeutung hat, wie z.B. eine numerische oder eine die Steuerung betreffende Bedeutung bzw, beide Bedeutungen zusammen hat. Da in der Regel die Bedeutung der Gruppe in ihrer Gesamtheit für die entsprechende Verwendung von Interesse ist, werden die Zellen., in welchen eine Gruppe gespeichert ist oder gespeichert werden soll, gleichzeitig angesteuert. Aus Gründen der Organisation der Verarbeitung der Daten, insbesondere hinsichtlich der Speicherung und der Wiederentnahme aus dem Speicher, ist es erforderlich eine Gruppengröße auszuwählen, welche der am häufigsten auftretenden Größe hinsichtlich der Zahl der gleichzeitig bei einem Rechenschritt zu verarbeitenden Bits entspricht. Für eine solche Gruppe wird im folgenden entsprechend einer üblichen Bezeichnung der Begriff Wort verwendet.
00 98 84/1688
Numerische BAD OR
Numerische Daten und Steuerdaten sind somit hauptsächlich in Worten organisiert, wobei Jedes Wort eine bestimmte Anzahl in vorgegebener Ordnung verketteter Bits umfaßt. Dabei stellt ein Wort entweder eine Signalzahl oder eine Kombination aus Zahlen und/oder Steuercodes dar, wobei die Kombination gemeinsam eine Bedeutung hat. Zum Zwecke der Beschreibung der vorliegenden Erfindung wird angenommen, daß jedes Wort aus 32 Bits besteht. Diese Anzahl ist willkürlich und ist aufgrund von Paktoren festgelegt, auf die bereits eingegangen wurde. Darin ist die Größe der Adresse für eine bestimmte Größe des Rechenspeichers und die Zahl der Bits enthalten, die alle auf die Adresse bezogenen Steuerfunktionen bezeichnen. Der Aufbau eines Befehlswortes wird später im einzelnen beschrieben.
In Fig. 1 ist der allgemeine Aufbau der verschiedenen Register einer datenverarbeitenden Einheit in einer Rechenanlage dargestellt, wobei die Register im wesentlichen an der Ausführung der Erfindung teilhaben. Die datenverarbeitende Einheit arbeitet mit einem bereits mehrfach erwähnten Hauptspeicher 10 zusammen. Dieser Speicher kann aus einem Typ bestehen, bei dem ein beliebiger Zugriff möglich ist, und welcher z.B. aus Ringkernen aufgebaut und in Wortgrößen organisiert ist, wobei jeder Ringkern eine Speicherzelle für ein Bit darstellt. 32 Ringkerne bestimmen den Speicherplatz für ein Wort und sind gleichzeitig als Speicherplatz adressierbar. Der Aufbau eines solchen Speichers ist bekannt und wird deshalb nicht im einzelnen beschrieben.
009884/1688 Zur
Zur Steuerung des Zugriffs zu individuellen Speicherplätzen ist eine Zugriffssteuerung 11 vorgesehen, welche eine Eingangsleitung ^10 und Ausgangskanäle 111 aufweist. Am Eingang der Adressierleitung 110 liegt ein siebzehn Bit-Code, der sowohl als Adressiercode als auch als Steuersignal zur Steuerung des tatsächlichen Zugriffs zu einem bestimmten Speicherplatz bezeichnet wird. Die Ausgangskanäle 111 steuern einzeln den bestimmten Speicherplatz der Adresse an, deren Adressencode dann an die . Adressierleitung 110 angelegt wird. Zusätzlich benötigt man zur Steuerung des Speichers eine Unterscheidung zwischen dem im Speicher ausgeführten Lese- und Schreibvorgang. Diese Operationen sind bekannt und stellen keinen Teil der Erfindung dar.
Die Daten werden in der Rechenanlage grundsätzlich als Worte verarbeitet, d.h. die allgemeinen Speichereinrichtungen einer Rechenanlage sind derart organisiert, daß sie in Worte aufgebaute Informationen enthalten. Nach diesem Organisationsscheoa können zweiünddreissig Bits gleichzeitig in einem Speicherplatz mit zweiünddreissig Speicherzellen untergebracht werden. Das Wort ist die meistgebrauchte Kombination von Bits in einer Rechenanlage, -jedoch erfordern nicht alle Informationen zweiünddreissig Bits zu ihrer Darstellung. Wenn daher z.B. mehrere für die Rechnung benutzte Zahlen weniger als. zweiünddreissig Bits in binärer Schreibweise umfassen, würde es einer Verschwendung von Speicherplätzen gleichkommen, wenn jeweils ein Speicherplatz pro Zahl verwendet wird. Daher darf die Rechenanlage nicht
009884/1688 darauf
darauf "beschränkt werden nur Bit-Kombinationen in Vortgröße zu verarbeiten. Daher kann es manchmal nützlich sein ,mit Halbworten zu rechnen, welche sechzehn Bits in einem gewählten Bit-Aufbau enthalten, und welche zur Verarbeitung in diesem Aufbau geeignet sein sollten. So können zwei Halbworte in einem Speicherplatz gespeichert werden, wobei die in diesen.beiden Halbworten enthaltenen Informationen in keiner Beziehung zueinander stehen. Bei noch kleineren Zahlen muß ein Viertelwort oder Byte mit acht Bits unterscheidbar sein, so daß vier möglicherweise in keiner Beziehung zueinander stehende Bytes in einem Speicherplatz entsprechend der oben aufgestellten Begriffsbestimmung untergebracht werden können.
Es ist ferner ein Speicherregister vorgesehen, das im folgenden kurz als M-Register bezeichnet wird. Dieses M-Register ist mit dem Hauptspeicher derart gekoppelt, daß die in einem bestimmten durch die Zugriffssteuerung 11 adressierten Speicherplatz gelesenen Daten in das M-Register überführt werden. In gleicher Weise wird die im Speicher enthaltene Information in das M-Register eingeschrieben und von dort in den gleichzeitig adressierten Speicherplatz übertragen.
Es sei darauf hingewiesen, daß im Falle einer Entnahme einer Information aus dem Speicher immer der gesamte Inhalt des adressierten Speicherplatzes in der ganzen Wortgröße in das M-Register überführt wird. Somit hat auch das M-Registe.r zweiunddreissig Stufen und empfängt den gesamten Inhalt eines Speicherplatzes.
009884/1638
Dies
Dies trifft auch zu, wenn nur ein Halbwort oder ein Viertelwort bzw. ein Byte benötigt wird. Das heißt die Datenübertragung zwischen dem M-Register und dem Speicher erstreckt sich immer nur auf ganze Worte, da Halbworte oder Bytes von der Zugriffssteuerung 11 nicht adressiert werden. Die Trennung des gewünschten Halbwortes oder der gewünschten Bytes von dem restlichen · nicht benötigten Teil des Wortes erfolgt anschließend.
Das M-Register überträgt in den meisten Fällen seinen Inhalt in ein zweites Register, welches ein Teil'einer zentralen Datenverarbeitungseinheit ist. Dieses zweite Register wird im folgenden als C-Register (Steuerregister) bezeichnet und stellt grundsätzlich das Eingangsregister für die vom Speicher über das M-Register empfangenen Worte dar. In das C-Register wird ein ganzes Wort immer in einem parallel Bit-Aufbau übertragen, so daß zweiunddreissig parallel verlaufende Bit-Kanäle 112 vorhanden sind, die auch als die Dateneingangsleitungen der datenverarbeitenden Einheit bezeichnet werden.
Die Ausgangsseite des C-Register ist mit der Eingangsseite eines D-Registers verbunden, in welches die Daten unmittelbar jedoch wahlweise überführt werden können. Dazu verläuft die Verbindung des C- und D-Registers zur Übertragung von Daten aus dem C-Register über eine Auswählschaltung oder ein selektives Übertragungsnetzwerk 15· Diese als Torschaltung aufgebaute Auswähl- , schaltung 15 wird im Zusammenhang mit Fig. 4 später näher beschrieben. Die Auswahl bezüglich der Worte, Halbworte oder Bytes
009884/1688 φ Ί ^
,-, erfolgt-
erfolgt durch diese Auswahlschaltung 15· Das bedeutet in besonderen, daß alle im C-Register festgehaltenen Bits im Fall der Rechenoperation mit einem ganzen Wort in das D-Register übertragen werden. Bei Rechenoperationen mit Halbworten erlaubt die Auswahlschaltung 15 nur die übertragung des betroffenen Halbwortes vom C-Register zum D-Register, während die andere Worthälfte unterdrückt wird. Bei Rechenoperationen mit Bytes unterdrückt die Auswahlschaltung 15 die drei nicht betroffenen Bytes und erlaubt nur die übertragung des bestimmten Byte vom C-Register zum D-Register, welches für die Rechenoperation von Interesse ist.
Neben den Worten, Halbworten oder Bytes mit unmittelbarer numerischer Bedeutung und welche eine zu verarbeitende Zahl darstellen bzw. das Ergebnis eines arithmetischen Prozesses sind, ist das Befehlswort oder der Befehl der am häufigsten auftretende Typ eines in einer Rechenanlage benutzten Wortes. Der Befehl ist grundsätzlich eine Kombination aus mehreren Bit-Gruppen, •die in ihrer Bedeutung miteinander verbunden sind. Wenn das vom C-Register zum D-Register zu übertragende Wort ein Befehl ist, überträgt die Auswähl schaltung 15 immer das ganze Wort, da nämlich ein Befehl immer ein ganzes Wort umfaßt. Der Aufbau eines Befehls der hier beschriebenen Rechenanlage ist in Fig. 3 dargestellt.
Wie bereits zum Ausdruck gebracht, umfaßt der Befehl zweiunddreissig Bits, die durch die von Null bis inkl. einunddreissig
009884/1688
geordneten
geordneten Nummern der Bit-Positionen in ihrer Position unterccheidbar sind. Die ersten acht Bit-Positionen, d.h. die Positionen "ull bis sieben, stellen einen Operationscode dar, der einen speziellen Typ einer von der Rechenanlage während einer "bestimmten Phase des Rechenvorgangs auszuführenden Operation repräsentiert. Operationscodes dieses Typs werden z.B. benutzt, um das Speichern, Transferieren, Addieren, und Multiplizieren usw. zu kennzeichnen. Dieser Teil des Befehls wird als OP-FeId oder OP-Teil bezeichnet und in einem OP-Register solange aufrecht erhalten, wie dieser Teil zur Steuerung einer bestimmten durch den OP-Code gekennzeichneten Rechenoperation benötigt wird.
Für den Fall, daß das D-Register einen Befehl empfängt, empfängt das OP-Register gleichzeitig den OP-Teil des Befehls. Ein Signal von einem Takt- und Phasengeber /! steuert das Einschreiben des Byte, welches die Bit-Positionen "ull bis sieben eines Befehls besetzt, in das OP-Register. Da das D-Register für andere Rechenoperationen benötigt wird, ist das OP-Register erforderlich, um den Operationscode für die Dauer der Ausführung des speziellen eine bestimmte^ Rechenoperation bezeichnenden Befehls aufrecht zu halten. In der Tat wird der OP-Code in dem D-Register überhaupt nicht benötigt und könnte unterdrückt werden^ er müßte nur vom C-Register in das OP-Register eingeschrieben werden, nachdem er aus dem Speicher entnommen wurde. Jedoch richtet der OP-Code, wenn er im D-Register ist, keinerlei Schaden an, so
daß
009884/1689
BAD ORIGINAL
daß es grundsätzlich nicht nötig ist die Übertragung des OP-Codes in das D-Register zu unterbinden.
Der in Fig. 3 dargestellte Befehl umfaßt weitere Zahlen, die eine Bedeutung für den Rechenvorgang haben. Im besondern stellen die vier auf den Operationscode folgenden Bit-Positionen, d.h. die Bit-Positionen acht bis elf, eine Adresse zum Auswählen und Anschalten des Akkumulators dar, welcher für bestimmte Rechenoperationen, wie sie durch den OP-Teil gekennzeichnet werden, verwendet werden muß. Dieses sog. R-FeId oder der R-Teil kennzeichnet daher ein bestimmtes Register aus sechzehn Registern, enthält eine in der durch den Code des OP-Teils gekennzeichneten Weise zu verarbeitende Zahl und bestimmt zusätzlich, daß das durch die Adresse identifizierte bestimmte Register zum Zwecke dieser Rechenoperation als Akkumulator dient.
Die durch den R-Teil gekennzeichneten Register gehören zu einem sogenannten Schnellspeicher, der aus Registern aufgebaut ist. Für die vorliegende Erfindung ist es ausreichend darauf hinzu- weisen, daß der R-Teil eines Befehls ein Register aus sechszehn einzel adressierbaren Registern bestimmt und identifiziert. Wie die Zahl der adressierbaren Register ohne Vergrößerung der Anzahl der Bits im R-Teil des Befehls vergrößert werden kann, wird später im einzelnen noch näher beschrieben. In Fig.1 sind diese Register im Registerspeicher 12 enthalten.
Die Bit-Positionen zwölf, dreizehn und vierzehn des Befehls bestimmen den Adressencode des Registers, der zur Indizierung
00983A/1688 benutzt
benutzt wird. Die Index-Register sind in dem Registerspeicher enthalten. Mit diesem aus drei Bit aufgebauten Teil können acht verschiedene Werte zur Registeradressierung gekennzeichnet werden. Jedoch werden in diesem aus drei Bit aufgebauten Feld, dem sogenannten x-Feld oder x-Teil die Werte (0 0 0) nicht zur Identifizierung eines bestimmten Index-Registers benutzt, sondern aur Andeutung, daß keine Indizierung gewünscht wird. Die verbleibenden sieben verschiedenen Bit-Kombinationen aus jeweils drei Bits bestimmen ein Register aus sieben Registern.
Die Bit-Positionen fünfzehn bis einunddreißig des Befehls kennzeichnen eine binär codierte Zahl, die eine Adresse eines Operanden darstellt. Es sei darauf hingewiesen, daß für die Beschreibung des Erfindungsgegenständes der Fall ausgeschlossen wurde, daß der Befehl den Operanden unmittelbar darstellt. Somit ergibt sich, daß siebzehn Bits zur Beschreibung der Adresse eines Speicherplatzes vorgesehen werden. Dieser Speicherplatz kann die Quelle eines Datenwortes, eines Halbwortes oder eines Bytes sein, welches entsprechend einer in dem OP-Teil beschriebenen Rechenoperation verarbeitet werden soll. Der Speicherplatz kann auch der Bestimmungsort für die Aufnahme eines Wortes, eines Halb*· worte3 oder eines Bytes sein.
Es ist von Bedeutung, daß die Operandenadresse im Speicher ia einem Befehl nur mit Bezug auf den Platz einer vollen Wortadresse dargestellt wird. Die Bedeutung dessen ergibt sich aus dem FoI-
-genden 009884/1688 '
genden. Bs wurde bereits ausgeführt, daß Worte grundsätzlich in dem ßpeicher in einem zweiunddreißig 3it-Pormat gespeichert werden, wobei zweiunddreißig Speicherzellen im Speicher einen Speicherplatz für die Wortgröße bestimmen. Jeder Speicherplatz ist einer Adresse zugeordnet und innerhalb des beschriebenen Systems sind insgesamt 2 ' verschiedene Adressen verfügbar, um eine einzelne der mit siebzehn Bit bestimmten Adresse aus der Gesamtheit der Adressen zu bezeichnen. Somit bestimmt jeder Adressencode aus siebzehn Bit einen bestimmten Speicherplatz von Vortgröße. Dabei werden alle zweiunddreißig Zellen eines bestimmten Speicherplatzes adressiert.
Wie bereits ausgeführt, sind nicht alle Baten in einem vollständigen Wortformat organisiert. Für viele Zwecke würde es eine beträchtliche Verschwendung von verfügbarem Speicherraum in Rechenspeicher darstellen, wenn alle Baten in einem zweiunddreißig Bit-Format verarbeitet würden. Aus diesem Grund werden einige Rechenoperationen mit Halbworten und andere Rechenoperationen mit Bytes .ausgeführt. Bie verschiedenen Operationen werden durch im OP-Teil des Befehls enthaltene Operationscodes verschiedenen Typs unterschieden. So z.B. wird eine Addition, die ein ganzes Wort, ein Halbwort oder ein Byte betrifft, durch verschiedene Operationscodes im OP-Teil des Befehls (siehe Fig.3) gekennzeichnet.
Ba1 wie bereits ausgeführt, die Speicherplätze mit Wortadressen, wie sie in eines Befehl aufgeführt sind, adressierbar sind,
werden 009884/1688
werden alle Adressierungsvorgänge, die von der Adresse im Befehl gesteuert werden, nur auf der Wortebene ausgeführt. Dies wird zur weiteren Unterscheidung der zwei Halbworte in einem Speicherplatz und der vier Bytes in irgendeinem Speicherplatz für die Fälle notwendig, in welchen Rechenoperationen auf Halbwort- oder Byteebene durch den Operationscode gefordert werden. Bei dem erfindungsgemäßen System wird diese Unterscheidung außerhalb des Speichers in dem datenverarbeitenden Teil der Rechenanlage ausgeführt. Es würde selbstverständlich möglich sein, einen Speicher mit einem Adressiersystem in Byteebene zu organisieren, jedoch ist dies sehr mühsam und erfordert entweder eine Vergrößerung des Wortformats oder bei einem gegebenen Format eine Verringerung der Anzahl der auf Wortebene adressierbaren zur Verfügung stehenden Speicherplätze, überdies ist das ganze Wort der meistgebrauchte Typ einer Information, so daß das Adressiersystem des Speichers mit Bezug auf diesen vorherrschenden Fall entwickelt wurde. Aue diesem Grund wird die datenverarbeitende Einheit zur Unterscheidung von zwei Halbworten oder vier Bytes in einem Speicherplatz benutzt.
Das Indizieren* ist,allgemein ausgedrückt, eine Methode zum Verändern einer Adresse, damit diese bei einer anderen Adresse ankommt. Hier wird dann der Adressencode als echte Zahl wiedergegeben, die mit einer auswählbaren Zahl addiert oder subtrahiert wird und zu einer von der ursprünglichen Zahl verschiedenen Zahl führt, welche dann als an Stelle des ursprünglichen Adres-
009884/1688 -sencodes
sencodes zu benutzende abweichende Adresse interpretiert wird. Im Interesse einer korrekten Verallgemeinerung und einer rechnerischen Vielseitigkeit muß in einer Rechenanlage innrer eine Indizierung vorgesehen werden. Das Indiziersystem gemäß der Erfindung vollbringt einerseits die herkömmliche Indizierung und wird andererseits zur Adressierung oder, besser ausgedrückt, zur Auswahl bestimmter Halbworte oder Bytes aus einem ganzen in einer Speicheradresse enthaltenen Wort benutzt. Dies wird detailliert' näher ausgeführt.
Eine Adresse, wie sie in einem siebzehn Bit-Adressenfeld eines Befehls auftreten kann, ist z.B.
(0101 10011)
Diese siebzehn Bit-Zahl kann jedoch als eine achtzehn Bit-Adresse
(0 101 100110)
geschrieben werden, wobei die letzte Stelle ein null Bit ist, oder sie kann als neunzehn Bit-Adresse
(0 101 100110 0)
geschrieben werden, wobei die zwei letzten Stellen jeweils ein null Bit sind. Die erste dieser beiden letzteren Zahlen ist eine achtzehnstellige binäre ganze Zahl, die eine Halbwortadresse kennzeichnet, welche z.B. das Halbwort sein kann, das die sechszehn Bit-Positionen höherer Ordnung derselben Adresse besetzt, die hier als Beispiel betrachtet wurde. Die letzte der Zahlen
ist 009884/1688
ist eine neunzehnstellige binäre ganze Zahl, welche als Byteadresse ausgelegt werden kann, die sich z.B. auf die acht Bit- -Positionen oder Speicherstellen höherer Ordnung in derselben
Adresse oder im selben Adressenplatz beziehen kann.
Daraus folgt, daß die andere Halbwortadresse gekennzeichnet werden kann durch
(0101 1 0 0 1 1 1}
und die drei anderen Byteadressen identifiziert werden können durch
(0 101 1001101)
(0101 1001110) .
(0101 1001111).
Somit umfaßt die siebzehn· Bit-Wortadresse implizit eine achtzehn -Bit Halbwortadresse oder eine neunzehn Bit-Byteadresee und,üb alle Halbworte und alle Bytes unterscheidbar zu machen, werden Stellen im wahrsten Sinne des Wortes addiert, welche von einem Index-Register als ganzzahliger Index entnommen werden. Dies geschieht in einem zweistufigen Torgang. Zunächst wird eine reguläre Adresse einer modifizierten Interpretation unterworfen, um die Möglichkeit der Verkettung von einem oder zwei Bits niederer Ordnung zu schaffen, um das adressierbare Kontinuum auszuweiten. Beim zweiten Schritt muß der Wert dieser Bits niederer Ordnung bestimmt werden und diese Bits niederer Ordnung zu der regulären Adresse in Form eines Index addiert werden.
Da 00 98 84/1688
Da die Operationscodes dazu vorgesehen sind, zwischen Rechenoperationen eines Wortes, Halbwortes oder Bytes zu unterscheiden, wird die Ausweitung des Adressenkontinuums durch den speziellen Typ des Operationscodes gesteuert, der den Adreasencode in einem Befehl hegleitet. Wenn der Operationscode in dem mit einer Adresse eines Befehls verbundenen OP-Teil von der Art ist, welche die Datenverarbeitung eines ganzen Wortes verlangt, braucht nichts weiter unternommen zu werden bzw. sind keine weiteren Änderungen in der Deutung der Wortadresse notwendig. Jedoch kann, soweit erforderlich, die konventionelle Indizierung Anwendung finden.
Es sei angenommen, daß bei eiziem bestimmten Befehl der Operationscode eine Rechenoperation mit einem Halbwort verlangt. Selbstverständlich hat der Operationscode selbst dabei nicht zwischen den beiden Halbworten zu unterscheiden. Er stellt lediglich die Forderung auf, daß diese bestimmte Rechenoperation, wie sie durch diesen bestimmten Code gekennzeichnet ist, nur eines der beiden im Speicherplatz der Operandenadresse gespeicherten Halbworte betrifft..
Ohne weitere Bearbeitung wird dann die gleichzeitig zur Verfügung stehende Wortadresse im Adressenfeld des Befehls als HaIbwort gedeutet, das die Bit-Positionen Hull bis fünfzehn einnimmt, d.h. die Ausdehnung des Adressenkontinuums bewirkt eine miteinbegriffene Verkettung der letzten null Bit-Stelle. Wenn jedoch
003884/1618 die'
die andere Halfte des Speicherplatzes betroffen ist, dann muß eine "eins" zu dem null Bit der letzten Stelle zu dieser achtzehn Bit-Halbvicrtadresse addiert werden, welche durch die siebsehn Bit-Wortadresse im Befehl für eine Halbwort-Rechenoperation mit inbegriffen geliefert wird. Diese^eins" Bit ist eine Indexzahl.
Wenn der Operationscode des Befehls einen Befehl vom Bytetyp verlangt, dann wird die siebzehn Bit-Wortadresse im Adressenfeld als neunzehn Bit-Byteadresse interpretiert und kennzeichnet tatsächlich das Byte in dem speziellen die Bit-Positionen ?Tull bis sieben einnehmenden Speicherplatz. Wenn einer der drei übrigen Byte-Speicherplätze verwendet werden soll, wird die Dezimalzahl eins, zwei oder drei bzw. in binärer Schreibweise (01), (10) oder (11) mit Hilfe einer Indizierung zu der neunzehn Bit-Adresse addiert, die die im Befehl enthaltene siebzehn Bit-Adresse mit umfaßt.
Die Indizierung gemäß der Erfindung verlangt also eine Ergänzung z\\ einer Wortadresse, um zwischen mehreren Halbworten oder Bytes su unterscheiden, und um im besonderen eine Adressierung für entweder ein Wort aus zwei Halbworten oder ein Byte aus vier Bytes zu liefern. Es sei jedoch nochmals wiederholt, daß der Speicher selbst nur für ein volles Wort adressiert ist, so daß die siebsehn Bit-Wortadresse die alleinige Bedeutung für den Speicher behält. Die datenverarbeitende Einheit jedoch begründet für den
009884/1688 Yerarbeitungsvorgang BADORlGlNAt
Verarbeitungsvorgang drei verschiedene Adressenkontinua, die entsprechend siebzehn, achtzehn und neunzehn Bits umfassen. Innerhalb jedes Adressenkontinuums ist eine Indizierung zur Erreichung zweier Ziele möglich, nämlich die Schaffung einer verschiedenen Operandenadresse und eine bestimmte Teilwortadresse innerhalb dieser verschiedenen Operandenadresse.
Da die Indizierung nicht ausschließlich zur Bestimmung eines Halbwortes oder eines Bytes benutzt wird, sondern auch zur Adressenmodifikation im allgemeinen, erhält man daraus dieses Resultat. Zum Beispiel ist für eine Halbwort-Rechenoperation ein null Bit mit der Wortadresse des Befehls verkettet, so daß jede auf diese Rechenoperation bezogene Adresse als Halbwortadresse ausgelegt werden kann. Durch das Addieren irgendeiner ganzen Zahl zu dieser achtzehn Bit"Zahl kann nan 1) bei einer verschiedenen Wortadresse (siebzehn Bits) und 2) bei einem bestimmten Bit niederer Ordnung ankommen, wodurch dann zwischen zwei Halbwortadressen der neuen Wortadresse unterschieden wird. Das Speicher-Adressiersystem oder die Zugriffssteuerung 11 sieht trotzdem nur die siebzehn Bits der neuen Wortadresse, wogegen die datenverarbeitende Einheit achtzehn Bits sieht und die Unterscheidung der Halbworte besorgt.
In ähnlicher Weise kennzeichnet ein neunzehn Bit-Adressenkontinuum eine Rechenoperation vom Byte-Typ. Das Indizieren erlaubt
eine 009884/1688
BAD ORIGINAL
eine Addition irgendeiner ganzen Zahl zu dieser neunzehn Bit-Zahl. Das Speicher-Adressiersystem oder die Zugriffssteuerung sieht dann nur siebzehn Bit höherer Ordnung als Adressenzahl für den Speicher, und die datenverarbeitende Einheit verwendet das achtzehnte und neunzehnte Bit für die Wahl zwischen den vier Bytes.
Diese vorausgehenden Bemerkungen sollen hervorheben, daß das Indizierverfahren gemäß der Erfindung in vorteilhafter Weise den richtigen Aufbau von Halbwort- und Byteadressen zuläßt. Im folgenden werden nun die weiteren Komponenten der Fig.1 beschrieben, welche den Indiziervorgang steuern. Diese Vorgänge werden sich insbesondere dann ergeben, wenn ein Befehl in dem D-Register steht, dessen entsprechender OP-Teil im OP-Register steht. -
Die Anlage gemäß Fig.1 umfaßt ein Detektornetzwerk 16, welches mit einem Teil der Ausgangsseite des D-Registers verbunden ist. Der Detektor 16 dient der überwachung der zwölften, dreizehnten und vierzehnten Bit-Position eines Wortes, wenn dieses unter der Toraussetzung, daß es sich um einen Befehl handelt, im D-Register steht. Es sei noch einmal daran erinnert, daß diese Bit-Positionen eines Befehls die Indizierung kennzeichnen. Insbesondere bestimmen sie ein Index-Register. Außerdem sei bemerkt, daß drei binäre Nullen in diesen Bit-Positionen anzeigen, daß der bestimmte Befehl ohne Indizierung ausgeführt wird. Somit stellt der Detektor 16 fest, ob eine Indizierung durchzuführen ist oder nicht.
009884/1688 Veim
Wenn nicht alle Bits des X-Feldes (X-Teiles) eine binäre Null . enthalten, dann erzeugt der Detektor 16 am ersten Ausgangskanal 161 ein Auslösesignal. Wenn alle Bits des X-Teils eines Befehls aus einer binären Null bestehen, wird dieses Auolösesignal nicht erzeugt, Jedoch wird an dem zweiten Ausgang 162 ein Auslösesignal erzeugt, das anzeigt, daß keine Indizierung stattfindet. Die Tast- und Phaseneinheit ff steuert die Wirksamkeit dieser Signale. Die Bits in den Registerstufen, die die Bits der Positionen 12, 13 und 14 empfangen, stellen das X-FeId nur dann dar, wenn im D-Register ein Befehl steht.
Es ist ferner eine datenverarbeitende Einheit 20 allgemeinen Aufbaus vorgesehen, die hinsichtlich ihrer Aufgabe keiner weiteren Erläuterung bedarf. Die prinzipielle Funktion dieser Einheit besteht darin, logische und/oder arithmetische Rechenoperationen mit den ihr zugeführten Daten auszuführen. Diese Einheit enthält eine parallel dazu angeordnete und im hier vorliegenden . Zusammenhang besonders interessierende Addierstufe 21, die in herkömmlicher Weise aufgebaut ist. Die die Addierstufe 21 umfassende datenverarbeitende Einheit 20 hat eine erste Gruppe von zweiunddreißig Eingangskanälen 210, die mit der Ausgangsseite des D-Registers verbunden sind. Somit kann über die Kanäle 210 ein im D-Register stehender Operand der Addierstufe 21 zugeführt werden, wobei dieser als Zahleneingang für die Addierstufe dient. Die andere zu dieser Zahl zu addierende Zahl wird an die datenverarbeitende Einheit 20 und die Addierstufe 21 über die zwei-
009884/1088 -unddreißig
unddreißig Bit-Leitungen 211 vom sogenannten Α-Register aus angelegt. Die Addierstufe 21 wird für arithmetische Rechenoperationen verwendet, wie z.B. das Addieren von Zahlen als Teil des auszuführenden Rechenprogramms. Zusätzlich wird die Addierstufe auch zur Indizierung benutzt. Dies wird wirksam, wenn im D-Register ein Befehl steht.
Die unmittelbar Beteiligten (Augend=1.Summand) dieses letzteren eine Indizierung darstellenden Addiervorgangs sind natürlich nur die Bits, welche die fünfzehnte bis einunddreißigste Bit-Position eines Befehls, d.h. der Wortadresse einnehmen,und welche in geeigneten Stufen des D-Registers stehen. Dieser AdditionsVorgang, der die adressierte Zahl des Befehls als Augend benutzt, findet nur statt, wenn eine Indizierung ausgeführt wird. Somit überträgt ein siebzehn Unterkanäle umfassender Teil des Kanals 210 siebzehn Eits vom D-Register zur Addierstufe. Diese übertragung wird von der Index-Steuerung oder dem Detektor 16 geleitet. Das Auslösesignal auf der Leitung 161 des Detektors 16 öffnet die siebsehn Leitungen des Kanals 210 für den Indiziervorgang.
Die verbleibenden fünfzehn Kanäle, welche normalerweise.das D-Register mit der Addierstufe 21 der datenverarbeitenden Einheit 20 verbinden, können für den Indiziervorgang geschlossen bleiben. Dies ist jedoch nicht unbedingt erforderlich, jedoch kann es erwünscht sein, um eine Überlaufanzeige zu vermeiden, welche das Rechenprogramm beeinflussen würde. Auf diese Weise wird nur ein siebzehn- Bit-Augend zur Addierstufe übertragen.
009884/1688
BAD ORIGINAL · " . Die
Die tatsächliche Öffnung dieses Teils des Kanals 210 wird zusätzlich von dem Tast- und Phasengeber /i hinsichtlich der Phase gesteuert, was jedoch nicht wichtig ist in Bezug auf das Konzept der vorliegenden Erfindung. Die "betriebsmäßige Verbindung der Stufen des D-Registers mit der Addierstufe zum Zwecke der Indizierung ist nur während eines ganz bestimmten Augenblicke", zulässig, der in einer bestimmten zeitlichen Relation zu der Zeit steht, in der ein Befehl in das D-Register eingeschrieben wurde. Zu keiner anderen Zeit darf der Detektor 16 einen Teil der Kanäle 210 oder alle Kanäle 210 blockieren.
Wenn der Detektor 16 feststellt, daß keine Indizierung stattfindet, dann wird der andere Steuerkanal 162 aktiviert und ein Auslösesignal zum öffnen des Kanals 212 geliefert. Dieser Kanal 212 verbindet die Stufen des D-Registers, die das Adrensenfeld des Befehls enthalten, mit einem Programmadressenregister, dem sogenannten P-Register. Dieses P-Register hat siebzehn Stufen, d.h. genau soviel Stufen wie zur Aufnahme eines Adressencodes oder einer Adressierungszahl notwendig sind. Für den Fall, daß keine Indizierung stattfindet, wird somit das Adressenfeld, wenn es im D-Register steht, direkt über den offenen Kanal 212 in das P-Register eingeschrieben.
Die Ausgangsseite des P-Registers ist mit der Leitung 110 verbunden, welche zu dem Eingang der Zugriffssteuerung 11 führt. Das P-Register ist immer als Quelle für die Speicheradresse
009884/1688
BAD ORIGINAL
wirksam. Daher empfängt das P-Register im Alternativzustand eine Index-Adresse vom Ausgang der Addierstufe 21, d.h. mit anderen Worten, das P-Register ist der Bestimmungsort für eine aus der Indizierung sich ergebenden Zahl.
Die Zahlen, die einen Addenden (2.Summand) darstellen und zur Indisierung benutzt werden, stehen im Registerspeicher 12, der auch als Speicher mit schnellem Zugriff beschrieben wird. Dieser Registerspeicher 12 umfaßt eine Vielzahl von Registern. Jedes Register besteht aus so vielen Stufen, wie ein Wort Bits enthält. Dies ist eine allgemeine Regel, da die Register des Registerspeichers nicht ausschließlich als Speieherelemente für die ganzzahligen Indexzahlen dienen. Für die andere Verwendung dieser Register besteht bei dem hier beschriebenen Zusammenhang kein Interesse.Jedoch was die Indizierung anbelangt, so müssen die Register des Registerspeichers 12 mindestens soviel Stufen aufweisen, als die höchste zulässige ganzzahlige Indexzahl Stellen in binärer Schreibweise umfaßt, was im Hinblick auf ein neunzehn -Bit umfassendes Byte-Adressenkontinuum neunzehn Stufen entspricht.
Jedes Register des Registerspeiohers 12 muß adressierbar sein. Die Gesamtzahl der verwendeten Register ist willkürlich. Es ist offensichtlich, daß bei einer Verwendung von nur sieben Registern, die zur Indizierung benutzt werden, keine weiteren Einrichtungen zur Adressierung der Register nötig sind, da das drei Bit X-PeId sieben Zahlen zur Adressierung von sieben Index-Registern aus-
009884/1688 -reichend.
BM>
reichend kennzeichnet. Wenn jedoch mehr als sieben Register zur Indizierung verwendet werden, wird ein weiteres Unterscheidungsmerkmal notwendig.
Die Unterscheidung der einzelnen Register soll hier nur so weit als notwendig beschrieben werden. Es findet hierfür ein sogenanntes Blockanzeigeregister Verwendung, das als FR-Register bezeichnet wird, und in welchem ein bestimmter Code oder eine bestimmte Zahl in einem vorgegebenen Aufbau steht. Der zu jeder Zeit im PR-Register befindliche Code kennzeichnet eine Gruppe von Registern aus der Vielzahl der Register des Registe.rspeich.ers 12. Zu verschiedenen Zeiten werden verschiedene Gruppen durch verschiedene Codes im FR-Register identifiziert. Jede der so gekennzeichneten Gruppen enthält sieben Register, die als Index-Register verwendbar sind. Somit kennzeichnet der im FR-Register stehende Code zusammen mit dem Code des X-Peldes eines Befehls, wenn dieser in das D-Register eingeschrieben ist, eindeutig ein bestimmtes Index-Register, das in binärer Schreibweise die ganze Zahl enthält, die zur Indizierung verwendet wird.
Es ist ferner ein Kanal 121 vorgesehen, der die drei Sits des X-Feldes eines Befehles überträgt, wenn diese im D-Register enthalten sind. Der Kanal 122 überträgt den Code zur Blockanzeige vom PR-Register auf der hierfür erforderlichen Anzahl von . Leitungen. Dieser Code zur Blockanzeige identifiziert die be-
-stimmte 009884/1688
stimmte Registergruppe, in welcher das gewünschte Indexregister enthalten ist. Die "beiden Kanäle 121 und 122 liefern zusammen ein der Adressierung dienendes Codesignal für die Leitung 123, die dieses Signal zum Registerspeicher 12 zum Zugriff auf ein bestimmtes durch das Codesignal auf der Leitung 123 definiertes Register weiterleitet«
Das adressierte Register im Registerspeicher 12 gibt seinen Inhalt an die Ausgangsleitung 124 ab. Diese Ausgangsleitung.ist mit einer Einstellsteuerung ^7 verbunden, deren Punktion später im einzelnen beschrieben wird. In Kürze sei jedoch darauf hingewiesen, daß die Einstellsteuerung 17 bestimmt, wie die an die Leitung 124 angelegte Zahl, \fexm diese eine Indexzahl darstellt, auf ein Registerpaar dem sog. Α-Register und dem sog. PA-Register verteilt wird.
Das Α-Register ist ein .Akkumulator, der bereits kurz erwähnt wurde. Der Ausgang dieses A-Registers ist mit einem Kanal 211 verbunden, der als zweiter Eingang für die datenverarbeitende Einheit 20 dient und für viele Fälle einschließlich der Indizierung auch als zweiter Eingang der Addierstufe 21 dient. Somit enthält das Α-Register den Addenden für einen Additionsvorgang, nachdem dieser aus dem Registerspeicher entnommen worden ist.
Zur Indizierung wird eine im Α-Register stehende Zahl zu der in der fünfzehnten bis zweiunddreissigsten Bit-Position des D-Registers stehenden Adresse addiert, wenn das D-Register einen
009884/1688 Befehl
BAD
Befehl enthält. Das Ergebnis, d.h. die indizierte Adresse, wird über die Ausgangsleitung 25 und die Abzweigung 213 dem Eingang des -P-Registers zugeführt. Diese Abzweigung ist nur während eines Indiziervorgangs leitend.
Die an der Indizierung beteiligten A-, P- und D-Register berücksichtigen keine Halbwort- und Byteadressen, da der Ausgang des P-Registers die Zugriffssteuerung 11 ansteuert und letztere nur mit Speicherplätzen voller Wortadressen zusammenarbeitet und kein Unterscheidungsveimögen für Halbworte oder Bytes besitzt. Somit stellt nur die im Α-Register befindliche Zahl, wenn sie zu der siebzehn Bit-Adresse im D-Register addiert ist, eine Modifiziergröße für eine Wortadresse dar.
Die Byte- und Halbwortauswahl wird vom PA-Register gesteuert, welches das zweite der beiden mit der Leitung 124 gekoppelten Register ist. Das PA-Register besitzt nur zwei Stufen, die mit der Einstellsteuerung 17 verbunden sind, wenn diese eine ganze Zahl vom Index-Register über die Leitung 124- überträgt. Somit schreibt die Einstellsteuerung 17 einen Teil der von einem Adressenregister im Registerspeicher 12 entnommenen Zahl als Modifiziergröße der Wortadresse .in das Α-Register ein, wobei ein anderer Teil dieser Zahl in das PA-Register geschrieben wird. Die Verteilung der Bits dieser Zahl auf das A- und PA-Register wird von der Einstellsteuerung 17 in Abhängigkeit von dem im OP-Register stehenden Operationsbefehl gesteuert. Der Inhalt des PA-Registers wird von einer Entschlüsr:el\mgseinrichtung 18 über-
009834/1688 wacht
BAD ORIGINAL
wacht, welche Steuersignale zur Unterscheidung der Halbworte und Bytes liefert.
Der Operationscode eines Befehls, wenn dieser im OP-Register · steht, wird von der Entschlüsselungseinrichtung 19 entschlüsselt, um die bestimmte geforderte Rechenoperation vorzubereiten. Diese Funktion hat jedoch für die Ausführung der Erfindung keine Bedeutung. Von Interesse dagegen ist, daß die Entschlüsselungseinrichtung den Befehlstyp, das Wort, das Halbwort oder das Byte erkennt, und diese Erkenntnis ihren Niederschlag in der Einstellsteuerung 17 findet und die Verteilung der Indexzahl steuert. Es gibt auch noch einen anderen Befehlstyp, nämlich das sog. Doppelwort, welches zwei volle Speicheradressen benötigt. Wie später beschrieben wird, kann die Operandenadresse eines solchen aus einem Doppelwort bestehenden Befehlstyp leicht nach dem Schema gemäß der Erfindung indiziert werden. Dieser Indiziervorgang wird anhand der Fig. 1 dargestellt.
Es wird angenommen, daß im Augenblick, in welchem der Befehl in das D-Register geschrieben wurde, dieser Befehl den in Fig. 5 dargestellten Aufbau hat. Daraus ergibt sich, daß in den Stufen des D-Registers, in welchen die fünfzehnte bis einunddreissigste Bit-Position des Befehls steht, eine Adresse von Wortgröße enthalten ist. Wie bereits erwähnt, kann diese bestimmte Adresse auch als Halbwortadresse mit achtzehn Bit aufgebaut sein, wobei das achtzehnte Bit ein 0 Bit ist und damit ein Halbwort kennzeichnet, das in einem Adressenplatz für ein ganzes Wort steht.
0Q988A/1688 lit selbe .
Dieselbe Adresse kann auch als Byteadresse betrachtet werden mit ^e einem O Bit in den beiden niedersten Bit-Stellen, die in den siebzehn tatsächlich gelieferten Bit-Stellen miteinbegriffen sind. Diese O Bits kennzeichnen das erste Byte in der Adresse.
Die Auslegung dieser Adresse als Wort-, Halbwort- oder Byteadresse ist nur von dem bestimmten Typ des Operationscodes abhängig, der gleichzeitig im OP-Register steht. Venn immer ein Byte- oder Halbwortbefehl vorliegt, kann das PA-Register die in der Wortadresse enthaltene Byte- oder Halbwortadresse modifizieren, wobei diese Kodifikation einen Indiziervorgang erfordert.
Nimmt man an, daß der Operationscode einen Rechenvorgang mit einem Byte erfordert, dann kann der siebsehn Bit-Adressencode in dem D-Register möglicherweise zur Bestimmung der Byteadresse nicht ausreichen, es sei denn das Byte in den Bit-Positionen 1 bis 7 des betreffenden durch das ia D-Hegieter stehende sieb-, zehn Bit-Adressenfeld gekennzeichneten Wortplatzes ist dasjenige, welches für die Rechenoperation mit dem Byte gebraucht wird. Wenn dies der Pail ist, dann besteht das gleichzeitig im D-Register stehende X-FeId des Befehls aus drei binären Nullen, d.h. es findet keine Indizierung statt. Damit werden keine ModifiziergröBen in das PA-Register transferiert.
Das auch anderweitig unmodifizierte Adressenfeld wird über den Kanal 212 zum P-Re gist er übertragen. Wie bereits zum Ausdruck
009884/1688 gebracht
BAD
gebracht, werden nur siebzehn Bits zur Adressierung des Speichers benötigt, da die Zugriffssteuerung 11 mit der ganzen Wortgröße arbeitet. Es sei weiterhin angenommen, daß ein bestimmter Operationscode die Entnahme einer Zahl fordert, die höchstens acht Bit umfaßt, und in einem bestimmten Speicherplatz steht. Somit wird ein ganzes Wort in das M- und C-Register transferiert. Die Entschlüsselungseinrichtungen 18 und 19 liefern entsprechend erste und zweite Steuersignale an die Auswahlschaltung 16 und . erlauben die Übertragung eines Bytes vom C-Register in die acht untersten Bit-Positionen des D-Registers, während sie die übertragung der anderen drei Bits des C-Registers in das D-Register verhindern. Ein Signal von der Entschlüsselungseinrichtung 19 dient der Deutung des bestimmten Codes des PA-Registers als Unterscheidungssignal für ein Byte. Dies ist für einen Rechenvorgang mit einem Byte der Fall. Gleichzeit bestimmt die Entschlüsselungseinrichtung 19»welches bestimmte Byte vom C-Register zum D-Register zu übertragen ist. Darauf steht im D-Register das geforderte Byte ,.und die Ent ε chlüs sellings einrichtung 19 des OP-Registers löst darauf die bestimmte geforderte Rechenoperation aus.
Wird angenommen, daß ein anderes Byte dieser Rechenoperation unterzogen werden sollte, das denselben GP-Code hat, dann ist ein Indizierverfahren erforderlich. Im PA-Register stehen, wenn keine Indizierung stattfindet, immer nur binare Nullen. Dadurch vfird ein bestimmtes Byte (oder möglicherweise ein bestimmtes
Halbwort) 009884/168B
Halbwort) "bestimmt. Es wird angenommen, daß bei einer Rechenoperation mit einem Byte,das in den Positionen 16 bis 23 einer bestimmten Wortadresse, wie sie von dem zuerst im D-Register stehenden siebzehn Bit-Adressencode gekennzeichnet ist, stehende1 Byte verwendet wird. In diesem Fall enthält der Befehl in seinem X-FeId den Code für ein bestimmtes Index-Register. Der Detektor 16 stellt somit fest, daß eine Indizierung durchzuführen ist, so daß der Kanal 212 geschlossen bleibt.
Dementsprechend enthält der Kanal 121 den X-Code und bestimmt eines der sieben Register des Registerspeichers -12, welche zu der Gruppe der Register gehören, die durch den Code identifiziert werden, der augenblicklich im PR-Register steht. Die über don Kanal 121 und den Kanal 122 gelieferten Codes bilden eine Adresse für den Registerspeicher, der diesem über den Kanal 123 zugeführt wird, wodurch der Zugriff zu dem gewünschten Register erfolgt. Die Zahl in diesem Register tritt an der ^eitung 124 auf. Die Einstellsteuerung 17 spricht auf die Tatsache an, daß eine Rechenoperation mit einem Byte stattfindet und legt die bestimmte Indexzahl als Zahl aus, welche in bestimmter Weise in das um das PA-Register vergrößerte Α-Register transferiert wird.
Wenn die Wortadresse eigentlich nicht geändert werden muß, enthält das Index-Register eine Zahl zwischen O und 3t da nur das PA-Register Bits empfängt, die nicht v/irksam sind. Das A-Register empfängt keinerlei Zahl, und dies ist ein Anzeichen dafür, daß
009834/1688 ~
die im D-Register stehende Adresse zu dieser Zeit eine Wortadresse darstellt, welche nicht geändert werden soll. Die Indizierung wird in diesem Pail nur zur Bezeichnung einer bestimmten Byteadresse in dieser Wortadresse verwendet, ohne dabei die Wortadresse selbst zu ändern. Es sei hervorgehoben, daß diese Bezeichnung einer Byteadresse nicht Gegenstand einer Steuerfunktion ist, sondern nur von der durch die Einstellsteuerung 17 verteilten ganzen Zahl bestimmt wird. Wenn die Wortadresse nicht geändert werden muß, dann muß die Indexzahl einen Wert haben, damit das Α-Register keine Ziffern empfängt.
Da es unbequem ist zwischen einer normalen Indizierung und einer Indizierung zu unterscheiden, welche dazu dient eine bestimmte Byteadresse innerhalb der nicht indizierten Wortadresse zu finden, empfängt die Addierstufe 21 nun über den Kanal 210 die siebzehn Bit-Adresse, zu der die im Α-Register stehende Zahl 0 addiert wird, so daß die Addierstufe bei derselben Wortadresse ankommt, und diese Adresse an den Kanal 213 zur Transferierung in das P-Register angelegt wird. Der Zugriff auf die bestimmte Wortadresse erfolgt dann über den Kanal 110 und die Zugriffssteuerung 11.
Wenn im PA-Register die Zahl 1 steht, welche die Stelle des Byte in dem Speicherplatz der Wortadresse bestimmt, arbeitet die Entschlüsselungseinrichtung, welche die im PA-Register stehende Zahl kontrolliert, auf einem anderen Kanal in der Auswahl schaltung
, 0098 84/1688
15» 8° äaß ein verschiedenes Byte ,in diesem Pail die Bits der sechzehnten bis dreiundzwanzigsten Bit-Position des C-Registers , zur weiteren Verarbeitung in das D-Register übertragen wird.
Die dritte Möglichkeit besteht darin, daß das Ihdizierverfahren zu einer völlig verschiedenen Wortadresse und der darin enthaltenen bestimmten Byteadresse führt. Nach dem Zugriff zu dem bestimmten durch den I-Teil des Befehls gekennzeichneten Index-Register wird eine bestimmte Zahl teilweise in das A-Register eingeschrieben, und die beiden letzten Bit-Stellen dieser Zahl von der Einstellsteuerung 17 in das PA-Register überführt. Das Ρ,Α-Register wiederum wird darauf zur Steuerung der Auswählschaltung 15 über die Entschlüsselungseinrichtung 18 verwendet, während die im Α-Register stehende Zahl zu der in der fünfzehnten bis einunddreissigsten Bit-Position der im D-Register stehenden Zahl addiert wird, und diese neu erhaltene Wortadresse in das P-Register eingeschrieben wird. Es erfolgt ein Zugriff auf den entsprechenden Speicherplata, dessen Inhalt fiber das M-Register zum C-Register Übertragen wird. Mit Hilfe der Punktion der Auswählschaltung 15 wird das richtige Byte für die weitere Datenverarbeitung ausgewählt.
Es erscheint notwendig zum besseren Verständnis die Einstellsteuerung 17 und die Auswahlschaltung 15 näher zu beschreiben. Die bisherige Diskussion ging hauptsächlich von dem Problem aus, wie Halbworte und Bytes adressierbar zu machen sind, bei einer Organisation der Speicherplätze auf der Basis der Wortgröße.
009884/1688
Die
ORIGINAL INSPECTEH
Die Organisation der an dem Indiziervorgang beteiligten Elemente wird nun von einem anderen Standpunkt aus erörtert und umfaßt die Betrachtung des Indiziervorgangs in allgemeiner Hinsicht. Dabei muß folgendes berücksichtigt werden. Wie bereits zum Ausdruck gebracht»wird zur Indizierung ein Teil einer aus dem Index-Register entnommenen und in das Α-Register eingeschriebenen Zahl sur Modifizierung der Wortadresse benutzt, wobei der in das PA-Register eingeschriebene Teil der Zahl die Unterscheidung für das Byte oder Halbwort liefert. Es soll auch erklärt werden, daß es sinnvoll ist, die beiden verschiedenen Teile tatsächlich als eine einzige Zahl zu betrachten. Mit· anderen Worten soll erklärt werden, warum dieselbe Zahl zur Indizierung einer Byte-jHalbwortn Wort-oder Doppelwortadresse verwendet werden kann.
Die Indizierung wird gewöhnlich, oder zumindest in vielen Fällen, nur systematischen Veränderung der Operanden verwendet, welche in Programm gebraucht werden. Es tritt innerhalb eines Programmes häufig auf, daß ein bestimmtes Programm verschiedene Gruppen von Zahlen oder verschiedene Unterprogramme verwenden muß. Die Auswahl diessr Gruppen von Zahlen oder Unterprogramme kann von dem Ergebnis einer- vorausgehenden Rechnung abhängen. Die Auswahl kann auch von extern überwachten Rechenbedingungen oder von irgendwelchen anderen denkbaren Ursachen abhängen. Alle Zahlenoperanden und/oder alle Unterprogramme, welche benutzt werden müssen, sind in verschiedenen Speicherplätzen gespeichert.
Es
009884/1681
BAD
Es gibt z.B. eine erste Gruppe von Speicherplätzen, die eine Gruppe von Zahlenoperanden enthalten. Zu den Adressen der Speicherplätze einer zweiten Gruppe von Zahlen, die an Stelle der ersten Verwendung finden, gelangt man durch Addition einer be-·■ stimmten Zahl (Indexzahl) zu den verschiedenen Adressen der ersten Gruppe der Speicherplätze. Zu den Adressen der Speicherplätze der übrigen Gruppen von Operanden gelangt man durch Addition einer weiteren verschiedenen Indexzahl zu den Adressen der ersten Gruppe der Speicherplätze. In Abhängigkeit von dem Wert der Indexzahl wird die eine oder andere dieser Gruppen benutzt. In diesem Fall hat man somit ein Programm mit einer Grundgruppe von Adressen, die eine Gruppe von Zahlen enthalten, und die Variation entsteht dadurch, daß an Stelle des Zugriffs zu dieser Basisgruppe von Speicherplätzen durch die Indizierung anderer Speicherplätze errechnet werden. Die Indexzahl bestimmt numerisch, welche Gruppe benutzt werden soll, wobei die Rechenanlage den numerischen Wert der zu benutzenden Indexzahl zu errechnen oder anderweitig zu bestimmen hat.
Das System gemäß der Erfindung verbindet die allgemein zur Errechnung neuer Adressen erforderliche Indizierungsmethode mit der Gliederung der Wort(in-Wort)-, Byte- oder Halbwortadrecsen, wobei im Fall der Byte- oder Halbwortadresse die Gliederungen 'nur Spezialfälle des allgemeinen Prinzips für das Entnehmen bestimmter Zahlen aus bestimmten Speicherplätzen sind, welche von
den 009884/1688
.,BAD ORIGINAL
den Speicherplätzen der ganzen Worte verschieden sind und im-Adressenfeld eines Befehls identifiziert werden.
Die hier verwendete Indizierungstechnik basiert auf dem Konzept, daß das für den laufenden Programmteil benutzte Index-Register einen Indexwert enthält, der z.B. K sein kann und den Zugriff zu der k-ten Position einer Liste von Speicherplätzen zuläßt, unabhängig von der Art der Speicherplätze, die in der Liste bezeichnet sind. Die Indizierung verursacht z.B. für einen Bytebefehl den Zugriff zum k-ten Byte in dem neunzehn Bit-Byteadressen-Kontinuum, während ein Wortbefehl, der auf dasselbe Index-Register Bezug nimmt, das k-te Wort der Liste erhält. Die Einstellsteuerung 17 dient als Adapter, so daß die Zahl K mit Bezug auf die Liste als ganze Zahl ausgelegt wird, unabhängig davon, ob es sich um die Indizierung einer Wort-jffalbwort- oder Byteadresse handelt. Die Zahl K, welche die sogenannte aus dem Index-Register entnommene Verschiebung darstellt, ist derart ausgerichtet, daß sie mit Bezug auf die Art der Operandenadresse, welche aufgrund des OP-Oodes für diese Rechenoperation benutzt werden muß, als ganze Zahl behandelt wird. Wenn es sich um eine Rechenoperation vom Bytetyp handelt, befinden sich die beiden letzten binären Stellen der Zahl K im PA-Register, wogegen äie restlichen Bits der höheren Ordnung im Α-Register stehen. Was die entsprechende Wortadresse anbetrifft, so wird die Zahl K/4 als ganze Zahl zu der zu indizierenden Wortadresse addiert, wobei der Rest das Byte kennzeichnet.
009884/1688 —
Für eine Halbwort-Rechenoperation bedeutet die Ausdehnung der Adresse infolge der Indizierung auf eine achtzehn Bit-Halbwort-' · Adresse, daß die Zahl K/2 zu der entsprechenden Wortadresse addiert wird und der Rest dann das bestimmte Halbwort in dieser indizierten Wortadresse kennzeichnet. Bei einer Wort-Rechenoperation wird die Zahl K zu der Wortadresse addiert und dem PA-Register keinerlei Signale zugeführt. An dieser Stelle sei darauf hingewiesen, daß die bereits oben angedeutete Doppelwort-Rechenoperation ebenfalls mit diesem Indizierschema durchgeführt werden kann. Bei einer Doppelwort-Rechenoperation wird eine einzige Zahl durch zwei ganze Wortoperanden beschrieben und einer einzigen Rechenoperation unterzogen, wobei jedoch die beiden Teile Hacheinander verarbeitet werden. Diese Worte für eine Zahl dop-
pelter Länge werden in zwei Speicherplätzen mit aufeinander folgenden Adressen gespeichert. Jedoch wird nur eine dieser Adressen als Operandenadresse geführt. Wenn man für diese Adresse nur gerade Zahlen auswählt, dann muß die letzte Bit-Stelle einer Adresse in einem Doppelwort-Befehl null sein. Auch für die Anwendung * der Indizierung auf eine solche Adresse darf dieses Schema nicht durchbrochen werden, so daß die Indexzahl eine gerade Zahl sein muß. Folgt man dem oben aufgezeigten Scheu«, dann fordert die k-te Position in der-Liste von Doppelwort-Operandenadressen eine Indizierung mit der Zahl 2K. Selbstverständlich empfängt das PA-Register auch in diesem Fall keine Ziffernsignale.
Daraus ergibt sich, daß,in Abhängigkeit von der Art der Rechen- j operation,als Indexzahl die Zahlen 2E, It1 K/2 oder K/4- verwendet
0Q988Wie··
werden.
BAD *
werden. Die für die Durchführung dieser bestimmten Operationen vorgesehene Einstellsteuerung 17 wird mit Bezug auf Fig.4 näher erläutert. In Fig.4 ist ein Teil der Verbindung zwischen der Leitung 124 des Speicherregisters und dem durch das PA-Register erweiterte Α-Register in soweit dargestellt, als dieser Teil die übertragung von Indexzahlen betrifft. Vom A-Register sind die ersten drei St\ifen dargestellt und mit A^, A*q bzw. A2Q -^Qmm zeichnet, ttonnalerweise enthalten sie die drei letzten Bits eines jeden in das A-Regicter zum Zweck einer arithmetischen Rechenoperation eingeschriebenen Wortes. Die Stufen PAq und PA^ kennzeichnen das PA-Register.
Jede dieser als Flip-Flop ausgebildeten Registerstufen hat eine ■nit Einstell- und Hückstellanschlüssen versehene Eingangsseite, die mit s und r bezeichnet sind. Jede dieser Flip-Flop Stufen hat ferner Ausgangsleitungen» an welchen der Schaltzustand des Flip-Flops anliegt, und durch welche die Bit-Werte 1 und O gekennzeichnet werden. Zusätzlich können den Flip-Flop Stufen Taktsignale und Gattersignale zugeführt werden, welche jedoch in keiner Besiehung zu den hier beschriebenen Verfahren stehen.
Die Eingangsseite des in Fig.4 beschriebenen Schaltnetswerkes umfaßt vier Eingangsleitungen. Diese Leitungen gehören der Leitung 124 des Ausgangs des Registerspeichers an. Dabei empfängt die mit 124-1 bezeichnete Leitung das Bit der letzten Stelle von
jedem
009884/168«
BAD ORIGINAL
jedem Register des Registerspeichers 12, das zu irgendeinem bestimmten Zeitpunkt derart adressiert wurde, daß es seine Zahlan die Leitung 124 abgibt. Entsprechend enthält die Leitung 124-2 das Bit der zweitletzten Stelle, dje Leitung 124-3 das Bit der drittletzten Stelle und die Leitung 124-4 das Bit der viertletzten Stelle des Wortes im adressierten Registerspeicher. Es coi darauf hingewiesen, daß weitere achtundzwanzig zusätzliche Leitungen für die Bits der entsprechenden höheren Stellen vorgesehen sind, so daß insgesamt zweiunddreißig Datenleitungen vorhanden sind.
Die nächste Gruppe von Eingängen in Fig.4 sind die Steuerleitungen 191, 192, 193 und 194. Diese Leitungen sind mit der Entrchlücselungseinrichtung 19 gemäß Fig.3 verbunden. Wie bereits zun Ausdruck gebracht, steuert diese Entschlüsselungseinrichtung die spezielle Art der auszuführenden Rechenoperation, welche dem dazu gehörigen Operationscode entspricht, der laufend im OP-Rogister zum Zwecke der Durchführung des Befehls steht. Diese Operationncodes sind klassifiziert und kennzeichnen entweder eine Rechenoperation vom Worttyp, Halbworttyp, Bytetyp oder Doppelworttyp. In jedem dieser Fälle liefert die Entschlüsselungseinrichtung ein bestimmtes Steuer- und Gattersignal, das dem entsprechenden Typ der Rechenoperation zugeordnet ist.
Die Leitung 19^ empfängt somit ein Auslöcesignal für den Fall, daß das OP-Register eine Rechenoperation vom Bytetyp anzeigt,
wogegen
009884/1688
BAD ORIGINAL
wogegen die Leitung 192 ein Auslösesignal empfängt, wenn die Entschlüsselungseinrichtung 19 in dem OP-Register die Information für eine Rechenoperation vom Halbworttyp feststellt. In entsprechender Weise erhält die Leitung 193 ein Auslösesignal für eine Rechenoperation vom Worttyp und die Leitung 194-ein entsprechendes Auslösesignal für eine Operation vom Doppelworttyp.
Über die Steuerleitungen 191 "bis 194- erfolgt die Verteilung der Bits der ganzen Zahl von der Leitung Ί24· zu dem durch das PA-Register erweiterte Α-Register. Im einzelnen heißt das, die Ziffern der Indexzahl werden zur Wiederbestimmung ihres Positionswertes ausgerichtet, wobei für den Fall der Halbwort- oder Byterechenoperation eine Division durch zwei bzw. vier ausge,-führt wird und im Falle einer Doppelwort-Rechenoperation eine Multiplikation mit 2 erfolgt. Diese Ausrichtung wird mit einer Anzahl von Torschaltungen 17-1» 17-2 usw. ausgeführt.
Es wird zuerst der Fall einer auf eine Rechenoperation vom Worttyp angewendeten Indizierung betrachtet. Die Übertragung einer Zahl von der Leitung 124- zum Α-Register ist genau die gleiche wie die Übertragung eines Wortes von irgendeinem Register des Registerspeichers 12 zu einem Α-Register in einem Fall, in dem keine Indizierung angewendet wird. Bei der Wortrechenoperation empfängt die Leitung 193 von der Entschlüsselungseinrichtung
ein ; 003884/1888
BADORiGlMAL
ein Auiilijsesignal. Man kann feststellen, daß die aus Flip-Flops aufgebauten Stufen PAq und PA^ kein Eingangssignal empfangen. Das Bit der letzten Stelle auf der Leitung 124-1 wird durch die Torschaltung 17-6 zum Flip-Flop A,^ übertragen, wogegen das Bit der zweitletzten Stelle auf der Leitung 124-2 über die Torschaltung 17-9 bei einer Rechenoperation vom Worttyp zum Flip-Flop A^q übertragen wird. Das Bit der drittletzten Stelle auf der Leitung 124-3 wird über die Torschaltung 17-2 in die Stufe A30 des Α-Registers übertragen. Das Bit der viertletzten Stelle wird in eine nicht dargestellte Stufe A2Q entsprechend der weiteren Bits der höheren Stellen übertragen.
Im Fall, daß ein Auslösesignal der Leitung 191 zugeführt wird, welches angibt, daß eine Byte-Rechenoperation ausgeführt werden soll, empfangen die Torschaltungen 17-I, 17-2, 17-4 und 17-7 Auslösesignale. Diese Torschaltungen 17-1, 17-2, 17-4 und 17-7 sind jeweils mit den Leitungen 124-1, 124-2, 124-3 und 124-4 verbunden. Die Torschaltung 17-1 überträgt das von ihr empfangene Bit der letzten Stelle auf der Leitung 124-1 in den Flip-Flop PAq und bringt diesen je nach seiner Lage in die Einstell- oder Rückstellage. Die Torschaltung 17-2 überträgt das Bit auf der Leitung 124-2, welches das Bit der zweitletzten Stelle darstellt, in den Flip-Flop PA^. Die Torschaltung 17-4 überträgt das Bit der drittletzten Stelle auf der Leitung 124-3 in den Flip-Flop Α,χ,, und die Torschaltung 17-7 überträgt das Bit der viertletzten Stelle auf der Leitung 124-4 als Eingangssignal zum Flip-Flop A3^n.
Somit
009884/18Ö8
stellt diese Verteilung eine Division der an den Kanal 124 angelegten Zahl durch vier dar, wobei die Stufen A,,. und A^0 sowie die entsprechenden höheren Stufen des A-Registers sozusagen den ganzen Wert des Quotienten K/4 empfangen und die beiden auo Flip-Flops aufgebauten Stufen PAq und PA,, des PA-Registers den Rest empfangen.
Nimmt man an, daß die laufende Rechenoperation dem Halbworttyp angehört, so befindet sich in diesem Zustand die Leitung 192 in Betriebszustand und es ist zu erkennen, daß nun die Torschaltungen 1?-J, "7-5 und 17-8 geöffnet sind. Man kann weiter erkennen, daß Icein Eingangssignal an den Flip-Flop PAq angelegt wird, welcher somit in seinen Rückstellzustand verbleibt. Das 3-11 der letzten Stelle auf der Leitung 124-1 wird an den Flip-Flop PA1 angelegt, wogegen das Bit der zweitletzten Stelle dem Flip-Flop A^ zugeführt wird. Das Bit der drittletzten Stelle wird an den Flip-Flop Α*ο und das Bit der viertletzten Stelle an den Flip-Flop Ap« angelegt, wobei für die nicht dargestellten Stufen entsprechendes in logischer Ordnung zutrifft. Auf diese Weise wird die ganze 3ahl durch eine Ausrichtung durch zwei dividiert und der Rest in den Flip-Flop PA,, eingeschrieben.
Im Falle einer Doppelwort-Recheiioperation muß die Indexzahl mit '■ zwei multipliziert werden, was bedeutet, daß das Bit der letzten Stelle von der Leitung 124-1 in den Flip-Flop AiQ durch die Torschaltung "7-10 übertragen wird. Entsprechend wird, das Bit der
zweitletzten
00988A/16Ö8
BAD ORIGINAL
zweitletzten Stelle in den Flip-Flop Α««, das Bit der drittletzten Stelle in den Flip-Flop A38 usw. übertragen.
Daraus kann man entnehmen, daß die in Fig. 4 detailliert dargestellte Einstellsteuerung 17 die richtige Ausrichtung der Indexzahlen liefert, wenn diese in das mit dem PA-Hegister erweiterte Α-Register überführt werden. Wie oben bereits ausgeführt, wurde, sind sowohl das Α-Register als auch das D-Register gemäß Fig. 1 mit der Addierstufe 22 verkoppelt und liefern die beiden miteinander zu addierenden Zahlen. Der Additionsvorgang wird anhand von Fig. 6 im einzelnen erklärt.
In Fig. 6 ist die Ausrichtung der im Registerspeicher stehenden Indexzahl dargestellt, welche durch das X-FeId desselben Befehls identifiziert wird, der eine durch eine im D-Register stehende Zahl bestimmte Speicheradresse umfaßt. Diese ganze Speicheradresse steht in den Stufen D,^, D,q, DgQ, Dg8, Dp« usw. (ciehe unterste Reihe in Fig. 6). Die Stufe "D^ enthält das Eit der letzten Stolle, welches zu einer Zahl gehört, die die Speicheradresse kennzeichnet, wie sie als Teil des im D-Regicter stehenden Eefehls in Erscheinung tritt. Dieses Bit der letzten Stelle ist in Fig.
/Tit
6 symbolisch 1"L bezeichnet. Dementsprechend ist das Bit Mp der zweiten binären Stelle 2 zugeordnet, wobei die Speicheradresse als binar dargestellte Zahl betrachtet wird. Ee ist augenscheinlich, daß die Stufen D^0, Dpg und Dp« entsprechend die binären Bits M^, Μ«, M^g entsprechend deren Positionewerte 4-, 8 und 16 , in "binärer Schreibweise darstellen.
009884/1688
Die BAD ORIGINAL
Die oberste Reihe in Fig. 6 stellt die Stufen Xn, X4, X0, Xi; XA usw·. dar, welche als Zustände absteigender Ordnung des Indexregisters gedeutet werden können, wobei die Stufe Xq das Bit der letzten Stelle enthält, welches die für den Indiziervorgang benutzte ganze Zahl kennzeichnet. Deinentsprechend enthält diese ganze Zahl die Bits Kg, K^, K«, IL.,- usw., wobei die Indizes den Positionswert der Ziffer in binärer Darstellung bzw. entsprechend ihrer Stellung in den Stufen X4, Xg, X,, X^ usw. bezeichnen. Die Stufen ΧΛ, X4 usw. sowie DX4, D,n, D«o usw. sind in Fig. 6 in
Ul Ji j»J <—y
vertikaler Ausrichtung entsprechend dem ihnen zugeordneten Poaitionswert der binären Zahl dargestellt. Dementsprechend sind die Bits K4, MxJ sowie Kg, Mg und K^, M^ usw. jeweils vertikal aufeinander ausgerichtet.
Bei der Anwendung des Indizierverfahrens auf ein ganzes Wort wird diese vertikale Ausrichtung im Gegensatz zu der Anwendung auf ein Halbwort, ein Byte oder ein Doppelwort nicht zerstört. Die Bits werden von der leitung 124 in das Α-Register in derselben Ordnung wie alle übrigen als ganze Worte ausgedrückten Zahlon. von der Leitung 124 eingeschrieben. Man kann erkennen, daß dies dieselbe in Fig, 4 dargestellte Ordnung ist. So ist z.B. das Bit Kx, in die Stufe A^x., das Bit Kg in die Stufe A™ , das Bit K^, in die Stufe Ap« usw. eingeschrieben.
Zur Durchführung des Indizierverfahrens wird in der Addierstufe ' der Inhalt des Α-Registers unddes D-Registers addiert, um daraus die neue Speicheradresse zu berechnen, die als Bit Mx.1, Mg1, M^,1
009884/1688
usw. BAD ORIGINAL
usw. bqz$ichnet sind. Somit wird "bei einem normalen Additionsvorgang aine neue Programmadresse gebildet, die in der vorletzten
Stuf-V Reihe gemäß Fig. 6 dargestellt ist, wobei nach der Addition die P^ des P-Registers das Bit der tatsächlichen Operandenadresse empfängt, welches mit Ü.1 bezeichnet ist und durch Addition au3 den Bits M^ und K^ gebildet ist. Die Stufe P*q des P-Registers empfängt das mit Mg' bezeichnete Bit der resultierenden Adresse, welches aus den Bits Kp und M? sowie aus dem von der Addition zur Bildung des Bit M,.1 resultierenden übertrag gebildet ist. Entsprechend empfängt die Stufe Pgg ein aus der Addition der Bits K^ und M2^ sowie einem übertrag das neue Bit der resultierenden Adresse, wobei sich der übertrag aus der Addition zur Bildung des Bit Wg' ergibt. Dies stellt eine reine binäre Addition dar, die keiner weiteren Erläuterung bedarf.
Der Inhalt des PA-Registers, d.h. die in den Stufen PAq und PA,, stehenden Bits haben notwendigerweise den Wert Hull. Die aus der Addition gebildete Adresse wird an die zur Zugriffssteuerung führende Leitung 110 angelegt.
Im folgenden soll die Halbwort-Rechenoperation betrachtet werden, die dasselbe Index-Register betrifft. Die Einstellsteuerung 17 schreibt die einzelnen Bits derselben Indexzahl in das A-Register ein, jedoch in einer verschiedenen Anordnung, u.z. in einer sog. Abwärtsausrichtung. Die Stufe PA,- des PA-Registers empfängt das Bit K1 der letzten Stelle. Die Stufe A-*^ empfängt das Bit Kg, die Stufe A,q empfängt das Bit K^ usw. Diese Ausrichtung ist in der
008884/1801
dritten BAD ORIGINAL
dritten Reihe gemäß Fig.6 dargestellt und entspricht einer durch die Torschaltungen 17-3» 17-5» 17-8 usw. gemäß Fig.4 gesteuerten Übertragung. Bei der Durchführung der Addition wird das Adressen-Bit M^' durch Addition des Bit M1 in der Stufe D^1 mit dem Bit K^ gebildet. Das Adressen-Bit Mp1 resultiert aus der Addition des Bit Μ« mit dem Bit K2, und dem Übertrag der bei der Bildung des Bit M1' entsteht. Das Bit M^' ergibt sich aus der Addition des Bit M^ und Kg sowie dem Übertrag der sich bei der Bildung des ■ Bit M,/ ergibt. Für die Bits der höheren Stellen wird eine entsprechende Addition durchgeführt.
Daraus ergibt sich, daß die neuEebildete und in das P-Register eingeschriebene Zahl aus der Adresse im Adressenfeld resultiert, welches im D-Register steht, und zu welchem der Wert K/2 in binärer Schreibweise addiert ist, da die Übertragung der ganzen Zahl K aus dem Index-Register im Registerspeicher zum A-Register in einer Weise ausgeführt wurde, welche einer binaren Division d\irch 2 entspricht. Das PA-Register und insbesondere die Stufe PA1 enthält das mit M1/« bezeichnete Bit, das den Wert des Bit K1 hat. Dieses Bit bestimmt den Speicherplatz des speziellen Halbwortes im Speicher, welcher durch die Bits M-'',. M^1 \ M^1 usw. gekennzeichnet ist. Die Stufe PA0 des PA-Registers enthält ein * null Bit.
Zur Durchführung einer Byte-Rechenoperation wird das Bit K1 der Leitung 124 bzw. der Leitung 124-1 in Fig.*. in die Stufe PAq als
0098*4/16*1 —
BAD ORIGINAL
Bit H1/^ eingeschrieben. Das Bit' K2 wird in die Stufe PA^ , da Bit K^ in die Stufe A7>, das Bit Kp in die Stufe A7Q usw. eingeschrieben. Nach der 'Indizierung ;verden die Inhalte des A-Registerc und D-Registers addiert. Das Bit M^' ergibt sich aus dem Bit M„ »■ addiert mit dem Bit K^. Das Bit Mp1 resultiert aus der Addition des Bit M^ und Kg zu dem der Übertrag addiert wird, der bei der Bildung des Bits M^' entsteht. Die Addition der höheren Ordnungen verläuft entsprechend. Die in dem PA-Register stehender- Pits PL/j, und H^/2 entsprechen den 7,wei Bits K^ und Kp, welche die bestimmte Byte-Position innerhalb des durch den Code MV , M0 1 , M,,' Μ«' usw. "bestimmten Adressenplatz im Speicher kennzeichnen.
Im Fall einer Doppelwort-Rechenoperation ergibt eich ein analoger Funktionsablauf. Auch hier enthält das PA-Register nur null Bite, da keine Ausrichtung innerhalb der Speicherplätze notwendig ist. Die Indexzahl wird in das Α-Register eingeschrieben, in welchen: das Bit K1 in die Stufe A7<), das Bit Yi0 in die Stufe A30, das Bit K1. in die Stufe Aprs usw. eingeschrieben v/ird und die Stufe A7,- ein null Bit empfängt. Dies ist äquivalent zur Multiplikation der Indexzahl mit dem Faktor 2. Nach der für die Indizierung; erforderlichen Addition empfängt die Stufe P7„ dec P-Regicters das Bit H„, da dies nur mit dem Wert !T αϊ addiert wird. Das rcit M3 1 bezeichnete Bit in der Stufe P7-0 wird durch die Addition doc Bit M« mit dem Bit K„ gebildet. In gleicher Weise wird das Bit M^4' aus dem Bit M^ und dem Eit K^ sowie dem auc der Bildung its Bits
009884/1688
BAD ORIGiNAt
M0 1 resultierenden übertrag durch Addition gebildet. Für die1 höhere Bit-Position gilt entsprechendes.
Vas bisher beschriebene Schema wird an Hand eines numerischen Beispiels näher beschrioben. Dabei wird auf das bereits gegebene "Beispiel einer Adresse eines ganzen Wortes Bezug genommen, die auG folgender Zahl bestand:
. (010 1 ..... 100 1 1).
Dies stellt eine volle Vortadresse mit siebzehn binären Stellen dar. Als Halbwortadresse wird eine achtzehnstellige Zahl mit folgendem Aufbau gebildet:
(O 1 O 1 .1 OO 1 1 O). ·
Als Byfce-Adresse wird eine neunzehnstellige binäre Zähl konstruiert, die folgenden Aufbau hat:
(0 1.0 1 ..... 100110 O).
Die Q eure ils mit dem folgenden. Wort verketteten Stellen wurden in den vorausstehend angegebenen binären Zahlen unterstrichen. Die Zahl mit siebzehn, achtzehn oder neunzehn Stellen wird in'Jeder Situation als ganze Zahl behandelt ,· die den Grundwert aus der Liste der Adressen bildet. Zu diesem Grundwert wird die Index* zahl K addiert. Unter der Annahme^ daß die Zanl K der Deizimalzahl 3 bzw. der binären Zahl (11) entspricht, erhält man die folgenden Adressen für das Wort, das Halbwort, das Byte und ö.as
Doppelwortί ;
• .....10 110) (Wort) ;
.....10 10 0 1) (Haibwort)
; D-Qt δβ 4/te t*
_ — ■ν* ι tv t A I
BAD
,.μ. 100 11.1.1) (Byte) ,....110 0 1) (Doppelwort)
Aus dieser Aufstellung kann man entnehmen, daß im Falle des Doppelwortes, des Wortes und des Halbwortes verschiedene Wortadressen entstehen, dagegen beim Byte die Adresse unverändert ist. Dies ist nur für die spezielle verwendete Indexzahl der Fall. Das Bit der letzten Stelle in der neuen Halbwortadresse und das Bit in der zweitletzten Stelle der Byte-Adresse sind die, welche im'PA-Register stehen, und soweit diese Teil der binären Zahl K sind, bleiben diese Bits der letzten-Stellen von der Addition unbeeinflußt, da nur jeweils ein null Bit zu diesen addiert wird.
In Fig.7 wird ein einfaches Beispiel eines Adressenprogramms gegeben. In dem Progrämmplan sind mehrere Datengruppen gelistet, deren, Speicheradressen in Dezimalzahlen niedergeschrieben sind. Die Deutung erfordert, daß die Halbwortadressen in der Form -.0 und -.5 geschrieben sindt während die vier möglichen Byte-Adressen mit -.00,—,25, -»50 und■'·*,75 bezeichnet sind. Es wird angenommen, daß für ein bestimmtes Programm die benötigten Daten zwei ganze Worte, ein Byte, ein Halbwort und ein Doppelworf umfassen. Es wird weiter angenommen, daß alle vier verschiedene Wertgruppen für wechselnde Bechenvorgänge benutzt werden, zu denen man durch Indistierung gelangt. Die bei der Speicherung der verschiedenen Zahlen beteiligten Adressen können seh£ wirtschaftlich hinsieht-
lieh
O0**t4/Ttftf-
BAP ORIGINAL
;■".- 59- 1S49528
lieh des Speicherrauraes im Speicher organisiert werden,
Di ο- erste Gruppe umfaßt 2*.B. die Wortadressen 3253, 3257, 3261.0 und 3263.00 sowie 3264(65). Hierin umfaßt die Doppelwortadresse
alt? gerade Zahl die dursh die nächste ungerade Zahl gekennzeichnete Speicheradresse, Zu der zweiten Speioherplatzgruppe gelangt nan durch Indisieruns, insbesondere durch die Verwendung der Indexzahl .1 als Grundwert* Bieg; bedeutet, daß die Zahl 1 zur Wortadresse, die Zahl1/2 (oder 0.5) zur Halbwortädresse, die Zahl
0.25 zur. B^tg-Adr-esse^^ und die Zähl 2 zur Coppelv/ortadresse durch die Funktion der Eincteiisteueirung 1? addiert wird» .
Baraue ergeben sich nach der Indizierung die beiden Voftadressen 325A, 5S58. Aufgrund der speziellen Art des Indizierens gelangt
man zur Halbwortadresge 3^61,5. Dies ist die obere Hälfte der
Wortadresset welche dös Halbwort der ersten Gruppe der Speicherplätze beinhaltet. Hinsichtlich der Byte-Adresse gelangt man zu
der Adresse 3263*25, welche aussagt, daß sie durch einen Code
im PA-Register gekennzeichnet wird» welcher in binarer Schreibweise (0,1) ist und die Sezimalzahl 0.25 der das Bjte bestimmenden Zahl repräsentiert. Dieser neue das Byte betreffende Speicherplatz aus der zweiten Gruppe von Zahlen umfaßt die Bit-Positionen acht bis fünfzehn,desselben Speicherplatzes, welcher in
den Bit-Positionen null bis sieben das in der ersten Gruppe verwendete Byte enthalt. BasDoppelwort befindet sich nun in den
Speicherplätzen 3266 und 3267.
Die
003884/1608 —
BAD
Die zweite Gruppe und die dritte- Gruppe der Adr^ssen.zahi'.eii rind aus der Fig.7 leicht abzuleiten, und man kann erkennen, doI? diec die spezielle Situation der fortlaufenden Ausnutzung aller zur Verfügung stehenden Speicherplätze ist. Serbct^er^tändllch treten auch Überlappungen auf, da der Speicherplatz der V/ortadresse 3263 alle Bytes für alle vier verschiedenen Gruppen enthält. Ec kann nicht bei allen Situationen der gesamte verfügt;3ro Spoi-.'Lerrauia ausgenutzt werden.· Jedoch ksrm ein erfahr-one" Programmierer eine optimale Ausnutzung des zur Verfügung stehenden Speloherraumes erreichen.
Nachdem nun der Indizi-r-rungsvorgang allgemein b-ß seh rieb ^n und ferner aufgezeigt wurde, wie die für Byte- und Halbwortadr^ccon repräsentativen Zahlenwerte innerhalb einer Vortodrecco zur Darstellung im PA-Register aufgebaut sind, v/ird im folgenden mit der Beschreibung der Fig.5 'gezeigt, wie die dstenve-rarbeitende Einheit den Inhalt des PA-Registers verwertet.
In Fig.5 ist schematisch dargestellt, wie der Inhalt dorr PA-Registers die Übertragung der Daten vom C-Eegir;ter zum D-Register steuert. In diesem Zusammenhang soll insbesondere hervorgehoben werden, wie der entzifferte Inhalt des PA-Regittere- die Auswahlschaltung steuert, welche das Q-Regißter mit dem D-Register zur Übertragung der aus dem Speicher entnommenen Daten verbindet. Der Inhalt des PA-Registers besteht b-^i einer Wort- und Dcrpelwort-Rechenoperation aus zwei binaren ITullen, da ja die Doppel-
wort-Recher.operation
009884/1688 —
BAD
wort-Rechenoperation in Wirklichkeit eine automatisch gesteuerte·, aufeinander- folgende Rechenoperation ist, welche die beiden in aufeinander folgenden Speicherplätzen befindlichen zwei Vorte betrifft, die aus diesen in awe!aufeinander folgenden Sehr it-' ten entuDiirnen werden. Die Stufe PA« enthält im Falle einer HaIbwort-Rechenopei'ation notwendigerweise eine binäre Null, da das in der Stufe PA,, stehende Bit den 'Speicherplatz für das bestimmte .Halbwort -in dem ein Wort umfassenden Speicherplatz kennzeichnet. DIs beiden Stufen PAq. und PA,, können zusammen vier verschiedene Wahlen kennzeichnen, die entsprechend den vier verschiedenen Speicherplatzen zugeordnet sind, die das Byte in einem ein ganzes ■Wort umfassenden Speicherplatz einnehmen kann. ·
Die Übertragung der Bytes und der Halbworte erfolgt mit einer zweifachen Steuerung» In allen fällen, in denen ein Speicherplatz gelesen wird, wird immer das ganze Wort in das C-Register singeachrieben. Somit müssen das unerwünschte Halbwort oder die unerwünschten drei Bytes unterdrückt werden, wenn ein bestimmtes Halbwort oder ein bestimmtes Byte in das X)-Register übertragen werden soll. Außerdem 1st es unzweckmäßig, Halbworte oder Bytes im Register in ihrer relativen Lage/während der Übertragung in die datenverarbeitende Einheit su belassen. Es wird vielmehr bevorzugt alle Bytes z.B. in die acht letzten Bit-Positionen- des D^-Registers; einzuschreibsn und die folgenden ftechenoperationen; von dort aus durchzuführen. Ebenso ist es bess$r'v nur die; sechs-
zehu,
00988A/1888
BftD ORIGINAL
sehn letzten Positionen für alle Halbworte zu verwenden. Darüber hinaus ist das Wiederausrichten der Positionen der Bytes und Halbworte für eine arithmetische Rechenoperation notw3ndigt do. 3ie z.B. für eine parallele Addition zweier Bytes in derselben relativen Lage zueinander stehen müssen, da sonst ein« von der gewünschten Addition abweichende Verknüpfung ausgeführt würde. Somit steuert die Auswahlschaltung 15 die selektive übertragung; der Bytes und Halbworte und richtet deren Positionen wieder aufeinander aus.
Demgemäß kann die übertragung vom C-Register zum D-Register al: abwärts verlaufende Ausrichtung bezeichnet v/erden. Für diesen Zweck sind die C-Register und D-Register in Fig.5 nur zum Teil dargestellt, wobei in dem Teil C0 die acht Bits der Bit-Positionen Null bis sieben stehen und im Teil C^ die acht Bits der Bit-Positionen acht "bis fünfzehn stehen. Das D-Register ist dementsprechend schematisoh in die vier Teile DQ, D^, D- und D, unterteilt. Für eine normale Wortrechenoperation werden die acht Bits in dem Teil 0Q in den Teil DQ und die acht Bits im Teil C^ in den Teil D-1 übertragen. In gleicher Weise werden die Bits vom Teil Z^ in den Teil Dg und die vom Teil C, in den Teil D, übertragen.
Die beschriebene abwärts gerichtete Ausrichtung führt zu folgendem Ergebnis. Jedes gewünschte Byte, gleichgültig ob es sich im.. Teil Cq, Cj, O^ oder C* befindet, wird In den Teil D« eingeschrieben.
009884/168·
ben. Ein Halbwort, das in den Teilen Cq und C^ oder in den Teilen C9 und Ο, erscheint, wird in jedem Fall in die zwei Teile D1 und D0 übertragen. Die Gatternetzwerke 151 bis 158 sind für diese selektive übertragung,die Abwärtsausrichtung und die unterdrückung der ungewünschten Teile vorgesehen. Jedes dieser Gatternetzwerke umfaßt eine Gruppe von acht Torschaltungen, d.h. eine Torschaltung pro Bit.
Die Gruppen 151» 152» 153 und 15* der Torschaltungen sind bei Wort- und Doppelwort-Rechenoperationen sowie bei der übertragung •Ines Befehls von C-Register zu» D-Register In Funktion, In dies m Fill en 1st weder eine Vlederauerichtung noch eine Unterdrtik- *Aing erwünscht, eo daß «lie vier Gruppen 151 bis 154 der Torechaltungen la geöffneten Sustand sind.
Be sei daran erinnert, daß dl« Enticblüsielungeeinrichtung 19 Signale liefert, die d*n Typ der gewünschten Rechenoperation beschreiben, s.B* der Byce-, Halbwort-, Wort- oder Doppelwort-Rechenoperation (Leitungen 191 bis 194- gemäß Flg.4). Jedoch erfordern nicht alle Rechenoperationen eine Datenübertragung vom Speiche in die datenverarbeitende Einheit. Vielmehr wird bei einigen ein umgekehrter Informationsfluß notwendig. Die Übertragung vom C-Register zum D-Register ist somit auf die Fälle begrenzt, bei denen eine übertragung vom Speicher in die datenverarbeitende Einheit stattfindet. Ss wird somit angenommen, daß
für
009864/1611
BAD ORIGINAL
far diese Unterklassen τοη Befehlen AuslSsesignale jeweils auf den Leitungen 191·, 192', 193* und 19*' vorgesehen sind, die ihrerseits AuslSsesignale für Byte-, Halbwort-, Wort- und Doppelwort-Rechenoperationen empfangen und eine übertragung vom Speicher zur Folge haben. Diese Operationen umfassen z.B. alle arithmetischen Rechenoperationen, alle Operationen zum externen Ausdrucken,Registrieren oderVerteilen von Daten usw.
Die Operationssignale auf den Leitungen 193 und 194 bezeichnen eine Wort- oder Doppelwort-Rechenoperation und öffnen die Torschaltungen der Gruppen 151 bis 154. Ein Phaeensignal 0 zur übertragung der Befehle befähigt als alternatives Signal diese Gruppen 151 und 15* der Torschaltungen einen Befehl vollständig vom C-Begister in das D-Register zu überführen.
3k folgenden wird die übertragung eines Bytes betrachtet. Diese Situation tritt insbesondere dann auf, nachdem ein Befehl mit einem Operationacode vom Bytetyp in das D-Register und das OF-Regieter eingeschrieben wurde und im OP-Register festgehalten werden muB. Nach der Indizierung ist die Adresseninformation für den Operand in dem F-Segister und dem FA-Reglster enthalten, so daß darauf der Inhalt des D-Registers ausgedehnt werden kann und \ den Operand des zu adressierenden Speicherplatzes aufnehmen kann. Da eine Byte-Rechenoperation mit einer Übertragung aus dem Speicher angenommen wurde, ist es notwendig, festzustellen, welches
Byte
009884/1688
BAD
Byte im G-Re gist er für die übertragung in den Teil Dq in Frage kommt. Das Byte wird durch die in das PA-Register eingeschriebenen Bits bestimmt.Daher sind vier Entschlüsselungseinrichtungen und Torschaltungen 161, 162, 163 und 164 für den Bytecode vorgesehen. Sie werden in derselben Reihenfolge, wie sie durch die Bezugszeichen gekennzeichnet sind, in Funktionszustand versetzt, wenn die erste, zweite, dritte oder vierte Byte-Position des in dem C-Register stehenden Wortes benötigt wird. Die Entschlüsselungseinrichtungen setzen jeweils die Gruppen 151, 155» 156 und 157 der Torschaltungen in Funktionszustand, die alle mit dem Tell Dq als Ausgangs- oder Bestimmungsort verbunden sind.
Sa sei in Zusammenhang mit der Beschreibung der Fig.4 daran erinnert, daB das erst· Byte die Bit-Positionen Null bis sieben sowohl in einen Wort als auch im O-legister, und ims 21: Ite %t: die Bit-Positionen acht bis fünfzehn usw. besetzt. Ibiiit wird im Fall einer Rechenoperation vom Bytetyp nur eine bestimmte Torschaltung oder ein bestimmter Detektor 161 bis 164 in Funktions— zustand versetzt, womit die jeweiligen Detektoren 161 bis 164 ein Auslösesignal zu einer der Gruppen 15I1 155» 156 oder 157 der Torschaltungen einspeisen. In dieser Situation wird keine weitere Torschaltfunktion benötigt, d.h. das Bytesignal auf der Leitung 191' ist nicht erforderlich, jedoch kann es als zusätzliche Vorsichtsmaßnahme hinzugefügt werden. Dies ergibt sich aus Fig.5, wonach nur der Detektor 162 oder 164 für eine Byte-Rechen-
operation
009804/1688
operation in Betriebszustand versetzt werden kann. Die Detektoren 161 und 163 werden für die Halbwort-Bechenoperationen benötigt, wobei der Detektor 165 Oberhaupt nicht auf eine Rechenoperation το* Wort- oder Doppelworttyp anspricht, dagegen aber der Detektor 161 auf eine solche ansprechen kann. Das von PA-Begister ausgewählte Byte wird vom O-Hegister in den Teil D0 des D-Registers übertragen. Die im D-Register verbleibenden vierundswansig Bits werden nicht übertragen und damit unterdrückt.
Im fall einer Halbwort-Rechenoperation wird von dem Auslösesignal auf der Leitung 192* Gebrauch gemacht, wenn der Decoder 19 für den Opsratlo&scode eine Rechenoperation von Halbwort typ bei der Übertragung an· de« Speicher feststellt· Ton der Beschreibung des Indisi*rvorgan£* 1st bekennt f deÄ 1» falle der Halbvort-Sechenoperatioa Ale laubwortadrtee* sin mill Bit in der Stufe PA0 des PA-Beglatt*» eathllt, wahrend der Wert des in der Stufe PA1 stehenden Bits die betreffende Position des gewünschten Salbwortes bestimmt.Daraus ergibt sich, dafi die beiden Halbworte durch die Zustande unterschieden werden, in welchen die Detektor-Torschaltungen 161 oder 163 ein Ausgangssignal einführen. Insbesondere spricht der Detektor 161 an, wenn das in frage stehende Halbwort keine abwärts gerichtete Ausrichtung benötigt. Es wird somit die Gruppe 151 der Torschaltungen wie gewöhnlich geöffnet. Dasselbe Signal, und zwar insbesondere für die Halbwort-Rechenoperation kann »um Offnen der Gruppe 152 der Torschaltungen verwendet werden, womit eine Torschaltung 165 auf ein Auslösesignal auf der Leitung 192' für das Halbwort anspricht.
009884/1681
Die
BAD
Die von den Torschaltungen 161 und 165 gelieferten Auslosesignale öffnen die beiden Tore 151 und 152 unter Ausschluß der anderen Gruppen von Torschaltungen, so daß eines der Halbworte vom C-Register zum B-Register ohne erneute Ausrichtung übertragen wird.
Wenn nach dem anderen Halbwort gefragt ist, dann spricht die Torschaltung 165 an und steuert die übertragung der einen HSIfte des Halbwortes vom Teil C« zum Teil Dq über die Gruppe 156 der Torschaltungen, was bedeutet, daß dieses spezielle Byte allein betroffen 1st. Das Außlösenignal von der Torschaltung 163 und das AuslSeesignal auf der Leitung 192' wird von einem' und-Tor 166 fettgestellt, wodurch ein Ausldsesignal fur die Gruppe 156 der Tor schaltungen scur Übertragung der anderen BSIfte eines In Tell C, stehenden Vortee in den Teil B1 verursacht wird. Dies stellt eine'abwärts gerichtete Ausrichtung eines Halbwortes dar.
Hieraus kann entnommen werden, daß bei einem richtigen Gebrauch einer im PA-Register stehenden zwei Bit-Zahl die übertragung zwischen dem C-Register und dem D-Register mit Bezug auf ein Wert, auf Halb*worte und Bytes selektiv gemacht werden kann, wobei die Halbworte und die Bytes wieder ausgerichtet werden, so daß sie inmer dieselben relativen Lagen in den Registern während der Verarbeitung unabhängig von dem Platz, von den sie kommen, einnehmen. Selbstverständlich benötigen nicht alle Hechenvorgänge die Entnahme eines Wortes, eines Halbwortes, eines Bytes
oder
009884/1688
BAD ORIGINAL
oder eines Doppelwortes aus dem Speicher, jedoch erfordern einige Befehle die Übertragung eines Wortes, eines Bytes, eines Halbwortes oder Doppelwortes von der Auegangsleitung 125 der daten-▼erarbeitenden Einheit zum Speicher. Ss wurde daher aus den bereits beschriebenen Gründen erwogen, daß ein Byte,bevor die Daten in der datenverarbeitenden Einheit organisiert werden, nur die acht niedrigsten Kanäle der Datenleitung 25 besetzt und ein Halbwort, welches die datenverarbeitende Einheit verläßt, die sechszehn letzten Bit-Kanüle der Eingangsleitung 25 besetzt. Di·· 1st die Lage für den FaXl1 daß ein Byte oder Halbwort für dl· Übertragung von der datenverarbeitenden Einheit 20 in den Bpeicher vorbereitet 1st.
tor Ä» dl· Überung »i—* lyt·* oier «Ines Halbwortea zum Speicher notwendig· Befehl·typ «athllt ein Adreeeenfeld als Be- atiaattt€*adr«e«e für den Speicher und auBerdea ein Z-FeId. Heben der Indizierung zur Inderung de· Speicherplatzes der Vortadresse legt die Indexzahl auch den bestimmten Bestimmungsort ftjfcr dieses Halbwort oder Byte fest, das von der Ausgangsseite der datenverarbeitenden Einheit ableitbar ist. Im FA-Begister steht ein Code zur Identifizierung des Speicherplatzes des Halbwortes,oder im gegebenen Fall des Speicherplatzes des Bytes im Speicher, in welchen das spezielle Byte oder Halbwort zu Übertragen ist. Daher ist eine aufwärts gerichtete Ausrichtung für Bytes und Halbworte erforderlich. Hierfür sind die acht Gruppen 251 bis 258 der
Verteilertorschaltungen 009884/1688
BAD ORIGiNAL
Verteilertorschaltungen vorgesehen. Diese Gruppen von Torschaltungen stellen einen Teil der Leitungssteuerung für das Einschreiben der Daten aus der Speicherleitung in das M-Register . dar, und von dort wird der Speicher in herkömmlicher Weise durch den Inhalt des M-Registers aufgefüllt. Diese Verteilung bedarf keiner weiteren Erläuterung, da sie die Punktionsumkehr der Auswahlschaltung 15 ist.
Die zweiunddreißig Bit-Kanäle der Leitung 25 sind in vier Gruppen von "ie acht Kanälen 25-1, 25-2, 25-3 und 2^-4 aufgeteilt. Ffir eine normale Wortrechenoperation bzw. Doppelwort-Rechenoperation sind die Gruppen 251 > 252, 253 und 254 der Torschaltungen zur unausgerichteten bitweisen übertragung von den zweiunddreißig Kanälen der Leitung 25 zum Singeng dee K-Segisters direkt durchgeschaltet.
Pur eine Rechenoperation vom Bytetyp liegen alle Bytes an der Leitung 25-1 an und werden der Eingangsseite der Gruppen 251» 255, 256 und 257 der Torschaltungen zugeführt. In Abhängigkeit von dem bestimmten in dem PA-Register stehenden Code des Speicherplatzes für das Bit wird eine der vier Gruppen der Torschal- % tungen in Funktion gesetzt und das Byte in d«n für Ale Byte-Position vorgesehenen Teil des M-Registers eingeschrieben, entsprechend der Forderung durch den PA-Code. In analoger Weise liegt ein Halbwort unausgerichtet an den zwei Leitungsgruppen 25-Λ uiid 25-2 an. Die beiden Gruppen 251 und 252 der TorschaJ.tungen übertragen dieses Halbwort direkt in die sechszehn unteren
BADOBlGlNAt Q09884/1688
Bit-Positionen
Bit-Positionen des H-Regiaters, wenn dies durch das PA-Register verlangt wird. In einem Alternatiworgang entsprechend der Forderung des PA-Hegisters werden die acht unteren Bit3 des Ralbwortes über die Gruppe 256 der Torschaltungen und die acht oberen Bits über die Gruppe 258 der Torschaltungen in die acht oberen Bit-Positionen des Η-Registers überführt. Es ist offensichtlich, daß die Detektoren 161 bis 164 die Gruppen der Torschaltungen 2511 252, 253 bis 258 in analoger Veise wie die Gruppen der Torschaltungen in der Auswahlschaltung 15 steuern.
Patentansprüche:
009884/1688
BAD

Claims (1)

  1. .71.
    Patentansprüche
    1. Digitales Datenverarbeitungs-System mit einem individuell adresdlerbare Speicherplätze umfassenden Speicher, wobei jeder Speicherplatz aus einer Vielzahl von Speicherzellen besteht, und alt einer den Zugriff zn den Speicherplätzen bewirkenden Einrichtung, dadurch gekennze lehnet, daß erste Einrichtungen vorhanden sind, die Adressen zur individuellen Kennzeichnung der Speicherplatze liefern} daß zweite Einrichtungen Modifiziergrößen für die Adressen liefern; daß Einrichtungen vorgesehen sind, welche auf die von den zweiten Einrichtungen gelieferten Kodifizier größen ansprechen und die Modifiziergröfle einer arithnetischen Heehenoperation unterwerfen, um daraus eine zweite und dritte Modifiziergröße abzuleiten; daß Einrichtungen zur arithmetischen Vereinigung dar zweiten Modifiziergröße mit einer gleichzeitig von den ersten Einrichtungen gelieferten Adresse vorhanden sind, wobei eine resultierende Adresse an die Zugriffseinrichtungen für den Speicher angelegt wirdj und daß Einrichtungen vorhanden sind, die auf die dritte Hodifiziergröße ansprechen, die den Inhalt des von der resultierenden Adresse gekennzeichneten Speicherplatzes einschränken, wobei die Einschränkung sich auf den Inhalt einer
    .bad original 0098 8kl 168 8
    bestimmten Anzahl von Speicherzellen in dem Speicherplatz bezieht und durch die dritte Modifiziergröße gekennzeichnet ist.
    2. Digitales Datenverarbeitungs-System mit einem individuell adressierbare Speicherplätze umfassenden Speicher, wobei jeder Speicherplatz aus einer Vielzahl von Speicherzellen besteht und mit einer den Zugriff zu den Speicherplätzen bewirkenden Einrichtung, dadurch gekennze ichnet, daß erste Einrichtungen vorgesehen sind, die individuelle Speicherplätze kennzeichnende Adressen liefern und einen Zugriff zu einem Speicherplatz bewirken; daß zweite Einrichtungen vorgesehen sind, die eine einen Teil des Speicherplatzes kennzeichnende Codezahl liefern; und daß ferner Einrichtungen vorgesehen sind, die eine Beschränkung bewirken, so daß nur ein Teil des adressierten Speicherplatzes der Datenverarbeitung unterworfen wird, und dieser Teil durch die. einen Teil des Speicherplatzes bezeichnende Codezahl bestimmt wird.
    3. Digitales Datenverarbeitungs-System mit einem adressierbare Speicherplätze umfassenden Speicher, wobei in einem Speicherplatz ein oder mehrere Operanden stehen und mit Einrichtungen, die einen individuellen Zugriff au den Speicherplätzen gestatten, dadurch gekennzeichnet, daß Signaleinrichtungen vorgesehen sind, die gleichzeitig eine Adresse uod ein erstes Signal liefern, welches eine Information Ober die Große des Operanden enthalt; daß Einrichtungen vorgesehen sind,
    009884/1688
    BAD
    die ein Signal liefern, das eine Zahl darstelltj daß auf die Größeninformation ansprechende Einrichtungen vorhanden sind, die das erste Signal enthaltent um einen bestimmten Teil des' Zahlensignals abzutrennen und mit der Adresse zur Bildung
    /zweiten
    einer Adresse zu verbinden; daß Einrichtungen vorhanden sind, die den Inhalt des durch die zweite Adresse gekennzeichneten Speicherplatzes empfangen; und daß ferner Einrichtungen vorgesehen aind, um den gewünschten Teil des Inhalts als Operand in Abhängigkeit vom verbleibenden Teil des Signals auszuwählen.
    Digitales Datenverarbeitungs-System mit einem individuell adressierbare Speicherplätze umfassenden Speicher, dadurch gekennzeichnet, daß erste Einrichtungen ein eine erste Zahl darstellendes Signal liefernj daß zweite Einrichtungen eine Nodifiziergröße darstellende Signale liefern; daß dritte Einrichtungen zur Ausrichtung der von den zweiten Einrichtungen gelieferten Modifiziergröße auf die von den ersten Einrichtungen gelieferte erste Zahl vorhanden sind, wobei die Modifiziergröße bei verschiedenen ersten Zahlen verschieden ausgerichtet wird} daß vierte Einrichtungen zur arithmetischen Terbindung der beiden ausgerichteten Zahlen vorgesehen sind, um eine Adresse zu erzeugen; und daß fünfte Einrichtungen vorgesehen sind, die auf die Ziffern der Adresse ansprechen, die eine geringere Ordnung als die Ziffer der letzten Ordnung der ersten -Zahl aufweisen, um daraus Signale herzuleiten, die
    009884/1688
    15A9528
    eine bestimmte T eil größe des Speicherplatzes beschreiben,· welcher durch die verbleibenden Ziffern der Adresse gekennzeichnet ist.
    5. Digitales Datenverarbeitungs-System mit einem adressierbare Speicherplätze umfassenden Speicher, der Operanden enthält und mit Einrichtungen zum individuellen Zugriff zu den Speicherplätzen, dadurch gekennzeichnet, daß Signaleinrichtungen zur gleichzeitigen Lieferung eines ersten und eines zweiten Signals vorhanden sind, wobei das erste Signal eine Operandenadresse und das zweite Signal die Große des Operanden beschreibt; daß Einrichtungen vorhanden sind, die ein drittes Signal liefern, welches eine Zahl beschreibt; daß Einrichtungen auf das zweite Signal ansprechen, um einen bestimmten ersten Teil vom dritten Signal zu trennen und diesen ersten Teil mit dem ersten Signal zur Bildung eines Adressencodes xu verbinden; und daß Einrichtungen auf den Rest anteil des dritten Signals ansprechen und den Inhalt eines bestimmten Teils des Speicherplatzes auswählen, der durch den Adressencode als Operand bestimmt wird.
    6. Digitales Datenverarbeitungs-System mit einem adressierbare Speicherplätze umfassenden Speicher und Einrichtungen zum individuellen Zugriff zu den Speicherplätzen, dadurch gekennzeichnet, daß Einrichtungen ein eine bestimmte Zahl darstellendes Signal liefern;daß eine arithmetische Einheit zwei
    009884/1688
    BAD ORIGINAL
    Eingangskanäle zur arithmetischen Verbindung der die Zahlen beschreibenden Signale umfaßt und daraus eine resultierende Zahl bildet, wenn die Signale an die beiden Eingangskanäle angelegt werden; daß eine Registereinrichtung vorgesehen ist, in der die die Zahl darstellenden Signale stehen; daß Einrichtungen zur Bereitstellung eines Befehls vorgesehen sind, wobei jeder Befehl einen Operationscode und eine Adresse umfaßt und die Adresse an einen der beiden Eingangskanäle angelegt wird; daß auf die Befehle ansprechende Einrichtungen zur Verteilung der bestimmten Zahl auf die Registereinrichtungen und den anderen der Eingangskanäle vorgesehen sind, so daß der Teil der Zahl,der an den letzteren Eingang angelegt ist, arithmetisch mit der Adresse verbunden wird, wobei die resultierende Zahl eine zweite Adresse darstellt, die in den Zugriff seinrichtungen Verwendung findet; und daß Einrichtungen vorgesehen sind, die auf den Teil der Zahl ansprechen, welcher in den Registereinrichtungen zur Steuerung der Größe des Formats der Zahlen steht, die der von dem gleichzeitig mit der Adresse gelieferten Operationscode geforderten Rechenoperation unterzogen werden.
    7. Digitales Datenverarbeitungssystem mit einem individuell adressierbare Speicherplätze umfassenden Speicher, Zugriffseinrichtungerv für die Speicherplätze und mit Index-Registern, dadurch gekennzeichnet , daß Einrichtungen Befehle liefern, welche einen Operationscode, einen das Index-Register kenn-
    003884/1688
    BAD ORIGINAL
    zeichnenden Code und eine Adresse für den Speicherplatz umfassen; daß Einrichtungen auf diesen Operationscode ansprechen und den Inhalt dec Registers, welches durch den das Register kennzeichnenden Code bezeichnet ist, mit der Adresse ausrichten, wodurch ein Teil dieses Inhalts von dem verbleibenden Teil des Inhalts abgetrennt wird; daß Einrichtungen den verbleibenden ausgerichteten Teil,der den abgetrennten Teil nicht umfaßt, mit der Adresse verbinden und daraus eine zweite Adresse bilden, welche von den Zugriffseinrichtungen verwendet wird; und daß Einrichtungen vorgesehen sind, die auf den abgetrennten Teil ansprechen und Signale zur Beschränkung der durch den Operationscode beschriebenen Operation liefern und damit den Inhalt des durch die zweite Adresse bestimmten Speicherplatzes beeinflussen.
    8. Digitales Datenverarbeitungssystem mit einem adressierbare Speicherplätze umfassenden Speicher und Einrichtungen zum individuellen Zugriff zu den Speicherplätzen, dadurch gekennzeichnet , daß erste Einrichtungen eine Adresse für die Zugriffseinrichtungen liefern; daß zweite Einrichtungen Signale liefern, welche einen bestimmten Teil des durch die Adresse gekennzeichneten Speicherplatzes identifizieren; daß Einrichtungen zum Empfang de3 gesamten Inhalts des Speicherplatzes vorgesehen sind, der durch die Adresse gekennzeichnet ist; und daß Einrichtungen auf das den Teil identifizierende
    009884/ 1 688
    BAD ORIGINAL
    Signal ansprechen und den gekennzeichneten Teil des Inhalte auswählen, welcher von den dritten Einrichtungen unter gleichzeitiger Unterdrüclcung des Restes empfangen wird.
    9· Adressiersystem für den Speicher eines datenverarbeitenden Systems, wobei der Speicher individuelle Speicherplätze umfaßt, in denen Positionen von Informationen einer gewählten kleinsten Ordnung stehen, dadurch gekennzeichnet, daß erste Einrichtungen Adressen bestimmten Formats liefern und die Adressen Gruppen von Speicherplätzen ähnlicher Große kennzeichnen, wobei die Speicherplätze gruppenweise adressierbar sind; daß Einrichtungen zur Ergänzung der von den ersten Einrichtungen gelieferten Adressen vorgesehen sind, wobei die Ergänzung durch eine Zahl erfolgt, die zumindest einen bestimmten Speicherplatz innerhalb der Gruppe kennzeichnet, welche durch eine von den ersten Einrichtungen gelieferten Adresse identifiziert wird; daß Registereinrichtungen vorgesehen sind, die Modifikationsgrößen zur Adressenmodifikation enthalten; daß Einrichtungen zum Dividieren der Modifikationsgröße durch eine Zahl vorgesehen sind, die einem Bruchteil entspricht, der eine bestimmte Größe eines Teils einer Gruppe von Speicherplätzen darstellt, um zu einer resultierenden Zahl zu gelangen; daß Einrichtungen vorgesehen sind für die Addition eines Teils der resultierenden Zahl zu der Adresse, welche von den ersten Einrichtungen geliefert werden, um zu einer zweiten
    009884/ 1688 bad orjginal
    Adresse zu gelangen, die eine bestimme Gruppe von Speicherplätze kennzeichnet; und daß Einrichtungen vorgesehen sind, die auf den Restanteil der resultierenden Zahl ansprechen und den Inhalt eines bestimmten Speicherplatzes, der durch die zweite Adresse gekennzeichnet ist, aus der Gruppe der Speicherplatze auswählen.
    10. Digitales Datenverarbeitungssystem mit einem individuell airessieAare Speicherplätze umfassenden Speicher mit einer Zugriffssteuerung zum individuellen Zugriff zu einem Speicherplatz, in Abhängigkeit von einer Adresse, die den Speicherplatz individuell kennzeichnet, dadurch gekennzeichnet , daß erste Einrichtungen vorgesehen sind, die Signale liefern, welche die Adresse eines Speicherplatzes als binare Zahl angeben und ein Format besitzen, auf welches die Zugriffssteuerung ansprechen kann; daß zweite Einrichtungen vorgesehen sind, die Signale liefern, welche eine Große zur Adressenmodifikation in Form einer binären Zahl darstellt; daß Einrichtungen zum Verbinden eines bestimmten Teils einer Zahl, welche von den zweiten Einrichtungen geliefert wird und wobei dieser Teil eine Division der Zahl durch eine Potenz von 2 darstellt, mit einer Adres- \ se vorgesehen sind, welche von den ersten Einrichtungen geliefert wird und wobei durch die Verbindung eine resultierende die Operandenadresse kennzeichnende Zahl erzeugt wird; und daß Einrichtungen vorgesehen sind, welche Steuersignale in Abhängigkeit von dem Restteil der von den zweiten Einrichtungen
    009884/1688
    BAD
    gelieferten Zahl zur Verfügung stellen und damit von der Operandenadresse einen "bestimmten Teil kennzeichnen, welcher durch die Teilung der Adresse in soviel Anteile,als durch die Potenz von 2 toestimmt wird, entsteht.
    11. Digitales Datenverarbeitungssystem mit einem adressierbare Speicherplätze umfassenden Speicher und einer Steuereinrichtung für den individuellen Zugriff zu den Speichern, dadurch g e kennzeiehn et , daß Programmeinrichtungeη vorgesehen sind, die einen Befehl enthalten, welcher einen Operationscode, einen Indexcode und eine Adresse für den Speicherplatz umfaßt; daß Einrichtungen vorhanden sind, die auf die Adresse des Befehls ansprechen und in einer Zugriffssteuerur.g den Zugriff zu einem durch die Adresse gekennzeichneten Speicherplatz verursachen; und daß Einrichtungen vorgesehen sind, die auf den Indexcode und den Operationscode ansprechen, welche gleichzeitig von den Programmeinrichtungen zusammen mit der Adresse geliefert werden, um eine..wirksame Beschränkung für einen bestimmten Teil dos Inhalts des dem Zugriff ausgesetzten Speicherplatzes zu bewirken.
    12. Digitales Datenverarbeitungssystem mit einem adressierbare Speicherplätze umfassenden Speicher und Zugriffseinrichtungen zu den Speicherplätzen sowie mehreren Index-Registern, dadurch gekennzeichnet , daß Einrichtungen zur Lieferung
    009884/1 BAD
    eines Befehlssignales vorgesehen sind; und daß Einrichtungen zur selektiven Deutung eines Operanden* in einem Index-Register als Multiplikator und Divisor dieses Operanden, in Abhängigkeit von einem Teil des Befehls, vorgesehen sind.
    13. Digitales Datenverarbeitungssystem mit einem adressierbare SpeicherplStze umfassenden Speicher und Zugriffseinrichtungen
    zu den Speichern sowie mehreren Index-Registern, dadurch gekennzeichnet , daß Einrichtungen Befehlεsignale liefern und weitere Einrichtungen vorgesehen'sind, um den im Register stehenden Operanden wahlweise als Vielfaches einer Potenz von 2 und als Divisor des Operanden,in Abhängigkeit eines Teiles des Befehls,zu deuten.
    4-, Digitale Rechenanlage zum Empfang von Befehlen und mit Speicherplätzen für Informationen,zu denen von arithmetischen Einheiten aus ein Zugriff besteht, die Einheiten umfaßt, die auf einen bestimmten Teil des Befehls ansprechen und einen Teil der Speicheradresse des Befehls mit einem gespeicherten Versohiebungssignal verbinden, um eine veränderte Adresse für den Zugriff zu einem Operanden zu bilden, der einer Rechenoperation unterzogen werden soll, dadurch gekennzeichnet , daß erste Einrichtungen vorhanden sind, welche auf den Befehl, ansprechen und wahlweise eine Multiplikation und Division des gespeicherten Verschiebungssignals um eine Potenz von 2 vor dem Zugriff zu dem Operanden bewirken; und daß auf den Befehl
    0Q9884/1688
    BAD ORIGINAL
    und den verbleibenden Rest aus der arithmetischen Rechenoperation zur Auswahl eines "bestimmten Teils des unter Zugriff stehenden Operanden ansprechende Einrichtungen vorgesehen sind, alt denen der Operand entsprechend dem Befehl verarbeitet wird.
    15. Digitale Rechenanlage zum Empfang von Befehlen und mit Speicherplätzen für Informationen, zu denen von arithmetischen Einheiten aus ein Zugriff besteht, die Einheiten umfaßt, die auf einen bestimmten Teil des Befehls ansprechen und einen Teil der Spei- ' cheradresse des Befehls mit einem gespeicherten Verschiebungssignal verbinden, um eine veränderte Adresse für den Zugriff zn einem Operanden zu bilden, der einer Rechenoperation unterzogen werden soll, dadurch gekennzeichnet , daß erste Einrichtungen vorhanden sind, die auf den Befehl ansprechen und wahlweise das gespeicherte Yerschiebungssignal vor dem Zugriff zu*dem Operand mit einer Potenz von η multiplizieren und dividieren, wobei η eine ganze Zahl ist; und daß Einrichtungen vorgesehen sind, die auf den Befehl und den verbleibenden Teil der arithmetischen Rechenoperation zur Auswahl eines bestimmten Teils des unter Zugriff stehenden Operanden ansprechen, der entsprechend dem Befehl verarbeitet wird. .
    16. Digitale Rechenanlage zum Empfang von Befehlen \ind mit Speicherplätzen für Informationen, zu denen von arithmetischen Einheiten aus ein Zugriff besteht, die Einheiten umfaßt, die auf einen
    009884/1688
    BAD
    bestimmten Teil des Befehls ansprechen und einen Teil der Speicheradresse des Befehls mit einem gespeicherten Verschiebungssignal verbinden, um eine veränderte Adresse für den Zugriff zu einem Operanden zu bilden, der einer Rechenoperation unter-. zogen werden soll, dadurch gekennzeichnet , daß erste Ausrichteinrichtungen vorgesehen sind, die auf den Befehl zur wahlweisen Multiplikation und Division des gespeicherten Verschiebungssignals mit einer Potenz von 2 vor dem Zugriff zu dei Operanden ansprechen} und daß Auswahleinrichtungen vorgesehen sind, die auf den Befehl und den Rest der arithmetischen Operation zur Auswahl eines bestimmten Teils des unter Zugriff stehenden Operanden ansprechen, welcher entsprechend dem Befehl verarbeitet werden soll.
    17· Rechenanlage nach Anspruch 16, dadurch gekennzeichnet, daß" die Ausrichteinrichtungen Vorrichtungen enthalten, um die Information der Speicheradresse auf das gespeicherte Verschiebesignal auszurichten, bevor die Verbindung ausgeführt wird, welche zu einer verschobenen Speicheradresse und zu einem Rest führt j und daß die Auswähleinrichtungen Anordnungen zum Halten des unter Zugriff stehenden Operanden vor der übertragung in das Register enthalten, in welchem er entsprechend dem Befehl verarbeitet wird, und daß außerdem Anordnungen zwischen den Halteregistern und den Rechenregistern vorgesehen sind, um einen bestimmten Teil des unter. Zugriff
    009884/1888
    BAD ORIGINAL
    stehenden Operanden zur übertragung in das Rechenregister und zur Ausführung der durch den Befehl bestimmten Rechenoperation auszuwählen.
    18. Digitale Rechenanlage mit Speicherplätzen, Index-Registern und arithmetischen Recheneinheiten, gekennzeichnet durch Einrichtungen zum Abtasten einer aus 17 Ziffern bestehenden Adresse eines Rechenbefehls mit 52 Ziffern; Einrichtungen, die auf das Vorhandensein von Daten in einem aus · 3 Ziffern bestehenden Signal eines 32~ziffrigen Rechenbefehls ansprechen, und welche den Zugriff zu dem Verschiebungswert für eine Indizierung gestatten; Einrichtungen, die auf ein 7-fciffrig»s Signal im Steuerteil des Befehls ansprechen und wahlweise eine Division dee Terschiebungswertes durch eine Poteas το* 2 und «ine Multiplikation des Verschiebungswertes durcfe 2 verursachen; Einrichtrungen zum Speichern dee den Rest der arithmetischen Operation darstellenden Signals; Einrichtungen sum Summieren der Adresse und des ganzzahligen Teiles des aus der arithmetischen Operation resultierenden Signals, um daraus eine verschobene Wortadresse zu bilden; Einrichtungen zum Zugriff auf eine Recheneinheit zur Verarbeitung 32-ziffriger Zahlen von einem Speicherplatz aus, der durch die verschobene Adresse bezeichnet ist; Einrichtungen zum wahlweisen Auswählen von 32 Ziffern, 16 Ziffern, 8 Ziffern und 52 Ziffern plus benachbarter Teile aus Dateneinheiten der unter Zugriff stehenden Dateneinheit, in Abhängigkeit von dem 7-ziffrigen Signal; und Einrichtungen zur wahlweisen Auswahl
    009884/1588 BADOR1G1NAL
    erster und zweiter 16-ziffriger Teile sowie erster, zweiter, dritter und vierter 8-ziffriger Teile der unter Zugriff stehenden Dateneinheit, in Abhängigkeit von dem aus der arithmetischen Operation sich ergebenden Rest.
    Digitale Rechenanlage mit Speicherplätzen, Index-Registern und arithmetischen Recheneinheiten, gekennzeich-η et durch Einrichtungen zum Abtasten einer aus 17 Ziffern bestehenden Adresse eines Rechenbefehls mit 32 Ziffern; Einrichtungen, die auf das Vorhandensein von Daten in einem aus 3 Ziffern bestehenden Signal eines 32-ziffrigen Rechenbefehls ansprechen, und welche den Zugriff zu dem Verschiebungswert für eine Indizierring gestatten; Einrichtungen, die auf ein 7-jJ.ffriges Signal im Steuerten des Befehls ansprechen und wablwei«· «ine Division des Terschiebungswertes durch eine Pote&s von. 2 und tin» lfultiplikation des Verschiebungswwtee durch 2 verursachen; Einrichtungen zum Speichern des den Heat der arithmetischen Operation darstellenden Signals; Einrichtungen zum Summieren der Adresse und des ganszahligen Teiles des aus der arithmetischen Operation resultierenden Signals, um daraus eine verschobene Vortadresse zu bilden; Einrichtungen zum Zugriff auf eine Recheneinheit zur Verarbeitung 32-ziffriger Zahlen von einem Speicherplatz aus, der durch die verschobene Adresse bezeichnet ist; Einrichtungen zur wahlweisen Auswahl von Daten einer Einheit, einer halben Einheit,
    009884/1688
    BAD
    einer vierteis Einheit und einer Einheit plus einer Teilgroße einer "benachbarten Einheit der unter Zugriff stehenden Dateneinheit, in Abhängigkeit von dein 7-ziffrigen Signal; und Einrichtungen zur wahlweisen Auswahl erster und zweiter halber Dateneinheiten und erster, zweiter, dritter und vierter
    - ■ - ν ■ '
    Viertels Dateneinheiten von der unter Zugriff stehenden Dateneinheit, in Abhängigkeit von dem durch die arithmetische Operation sich ergebenden "Rest.
    20. Digitale Rechenanlage mit einem binären 2£ Bit-Befehl rcit 32 Bit umfassende Speicherplätze, arithmetischen Einheiten und Einrichtungen, die auf einen binären 7 Bit-Teil eines Befehls ansprechen und eine 17 Bit-Speicheradresse des Befehls mit einem gespeicherten Verschiebungssignal verbinden, um daraus eine 17 Bit-Adresse des verschobenen Speicherplatzes - abzuleiten und einen Zugriff zu einem Operanden zu ermöglichen/ der bis zu 32 Bit umfaßt und entsprechend dem Befehl verarbeitet wird, gekennzeichnet durch Einrichtungen, die auf den Befehl ansprechen und wahlweise das gespeicherte Verschiebungssignal mit einer Potenz von 2 multiplizieren und dividieren, bevor der Zugriff zum Operanden erfolgt; und durch Einrichtungen, die auf den Befehl und den sich aus der arithmetischen Operation ergebenden Rest ansprechen, um wahlweise einen 16 Bit-, 18 Bit-, 32 Bit-Operanden und den Operanden plus den benachbarten Operanden auszuwählen, welcher entsprechend dem Befehl zu verarbeiten ist.
    009884/1688 bad original
    21. Digitale Rechenanlage, gekennzeichnet durch Einrichtungen zum Abtasten des Feldes einer Befehlsadresse au3 η binären Bits; Einrichtungen, welche auf das Vorhandensein von Daten in einem (n-14) Bit-Feld eines Rechenbefehls ansprechen, um den Zugriff zu einem indizierenden Verschiebungswert zu ermöglichen; Einrichtungen, die auf ein (n-1O) Bit-Feld in dem Steuerteil eines Rechenbefehls ansprechen, um wahlweise eine Division des Verschiebungsv/ertea durch eine Poten» von 2 und eine Multiplikation des Verschiebungswertes mit 2 zu verursachen; Einrichtungen zum Speichern von Teilresultaten der arithmetischen Operation; Einrichtungen zura Summieren des Adressenfeldes und des ganzzahligen Anteils des aus der arithmetischen Operation sich ergebenden Wertes zur Bildung einer verschobenen Wortadresse; Einrichtungen für den Zugriff zu einem Wort aus (n+15) Bits von einem Speicherplatz, der durch die verschobene Wortadresse gekennzeichnet ist; Einrichtungen zur wahlweisen Auswahl eines Wortes, Halbwortes, Viertelwortes und eines Wortes plus eines Teils des benachbarten Wortes des unter Zugriff stehenden Wortes, in Abhängigkeit vom (n-10) Bit-Feld; und Einrichtungen zur wahlweisen Auswahl erster und zweiter Halbwortteile und erster, zweiter, dritter und vierter Viertelwortteile des unter Zugriff stehenden Wortes, in Abhängigkeit von dem gespeicherten Rest der arithmetischen Operation.
    009884/1688
    BAD OHlGlNAt
DE19671549528 1966-04-29 1967-04-29 Digitale Rechenanlage Pending DE1549528A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US546279A US3405396A (en) 1966-04-29 1966-04-29 Digital data processing systems

Publications (1)

Publication Number Publication Date
DE1549528A1 true DE1549528A1 (de) 1971-01-21

Family

ID=24179678

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19671549528 Pending DE1549528A1 (de) 1966-04-29 1967-04-29 Digitale Rechenanlage

Country Status (3)

Country Link
US (1) US3405396A (de)
DE (1) DE1549528A1 (de)
GB (1) GB1178065A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5148937A (en) * 1974-10-25 1976-04-27 Fujitsu Ltd Kiokusochi niokeru junjoseigyohoshiki
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner
US5818789A (en) * 1995-10-10 1998-10-06 Holtek Microelectronics, Inc. Device and method for memory access
CN114528022A (zh) * 2015-04-24 2022-05-24 优创半导体科技有限公司 实现虚拟地址的预转换的计算机处理器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3277446A (en) * 1962-07-05 1966-10-04 Singer Inc H R B Address modification system and novel parallel to serial translator therefor
US3297997A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc List control

Also Published As

Publication number Publication date
GB1178065A (en) 1970-01-14
US3405396A (en) 1968-10-08

Similar Documents

Publication Publication Date Title
DE2459006C2 (de) Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE3338345C2 (de)
DE2055784A1 (de) Datenverarbeitungssystem
DE2054835C2 (de) Steuereinrichtung in einem Prozessor einer Mehrprozessor-Datenverarbeitungsanlage
DE1524129A1 (de) Datenverarbeitungssystem mit gemeinsamem Zugang
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE2448690A1 (de) Kellerspeichereinrichtung fuer eine datenverarbeitungsanlage
DE2423194A1 (de) Vorrichtung zur adressengewinnung und -berechnung in einem segmentierten speicher
DE3741953A1 (de) Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
DE1499193B2 (de) Speicher-adressierschaltung
DE2758830A1 (de) Rechenvorrichtung
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE1549531A1 (de) Digitale Rechenanlage
DE2360303A1 (de) Datenverarbeitungssystem mit dynamischer adressuebersetzung
DE2054947A1 (de) Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem
DE1499206B2 (de) Rechenanlage
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE2458259A1 (de) Datenverarbeitungssystem zum vergleichen verschiedener datenstrukturen
DE2364323A1 (de) Unterbrechungssystem fuer eine datenverarbeitende maschine
DE1549528A1 (de) Digitale Rechenanlage
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten

Legal Events

Date Code Title Description
OHW Rejection