DE1549528A1 - Digitale Rechenanlage - Google Patents
Digitale RechenanlageInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims description 237
- 238000012545 processing Methods 0.000 claims description 53
- 238000012546 transfer Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 16
- 239000003607 modifier Substances 0.000 claims description 10
- 210000004027 cell Anatomy 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 210000000352 storage cell Anatomy 0.000 claims description 2
- 230000001629 suppression Effects 0.000 claims description 2
- 238000001356 surgical procedure Methods 0.000 claims description 2
- 238000006073 displacement reaction Methods 0.000 claims 4
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 claims 1
- 230000000295 complement effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 32
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 230000008520 organization Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 241000283690 Bos taurus Species 0.000 description 1
- 206010041243 Social avoidant behaviour Diseases 0.000 description 1
- 241000656145 Thyrsites atun Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
Description
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 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
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
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
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
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» .
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.
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)
- .71.Patentansprüche1. 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 8bestimmten 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/1688BADdie 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, die009884/168815A9528eine 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 zwei009884/1688BAD ORIGINALEingangskanä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/1688BAD ORIGINALzeichnenden 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 identifizierende009884/ 1 688BAD ORIGINALSignal 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 zweiten009884/ 1688 bad orjginalAdresse 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 Einrichtungen009884/1688BADgelieferten 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 Lieferung009884/1 BADeines 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 Zugriffseinrichtungenzu 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 Befehl0Q9884/1688BAD ORIGINALund 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 einen009884/1688BADbestimmten 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. Zugriff009884/1888BAD ORIGINALstehenden 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 Auswahl009884/1588 BADOR1G1NALerster 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/1688BADeiner 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 original21. 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/1688BAD OHlGlNAt
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)
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)
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 |
-
1966
- 1966-04-29 US US546279A patent/US3405396A/en not_active Expired - Lifetime
-
1967
- 1967-04-27 GB GB09507/67A patent/GB1178065A/en not_active Expired
- 1967-04-29 DE DE19671549528 patent/DE1549528A1/de active Pending
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 |