DE1524114C3 - Adreßrecheneinrichtung für eine Datenverarbeitungsanlage - Google Patents
Adreßrecheneinrichtung für eine DatenverarbeitungsanlageInfo
- Publication number
- DE1524114C3 DE1524114C3 DE1524114A DED0051206A DE1524114C3 DE 1524114 C3 DE1524114 C3 DE 1524114C3 DE 1524114 A DE1524114 A DE 1524114A DE D0051206 A DED0051206 A DE D0051206A DE 1524114 C3 DE1524114 C3 DE 1524114C3
- Authority
- DE
- Germany
- Prior art keywords
- byte
- pulse
- word
- circuit
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000006870 function Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 34
- 230000000295 complement effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 102100031974 CMP-N-acetylneuraminate-beta-galactosamide-alpha-2,3-sialyltransferase 4 Human genes 0.000 description 1
- 101000703754 Homo sapiens CMP-N-acetylneuraminate-beta-galactosamide-alpha-2,3-sialyltransferase 4 Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Description
a) eine erste Registeranordnung (16, 0... 5) zum Speichern einer ersten Zahl (P), die die Bitzahl
zwischen dem wertniedrigen Ende des Wortes und dem wertniedrigen Ende der einzuspeichernden
oder herauszulesenden Datenmenge angibt;
b) eine zweite Registeranordnung (16, 6... 11) zum Speichern der die Anzahl der Bits der
Datenmenge angebenden zweiten Zahl (S);
c) eine Subtrahierschaltung (24) zum Bestimmen der Differenz zwischen der ersten und der
zweiten Zahl (P; S) und zum Vergleichen derselben; und
d) eine Steuerschaltung (86,94), die dann, wenn die erste Zahl (P) gleich oder größer als die zweite
(S) ist, die Differenzzahl in die erste Registeranordnung (16, 0... 5) speichert und die dann,
wenn die erste Zahl (P) kleiner als die zweite Zahl (S) ist, die Wortadresse um 1 erhöht und N
minus der zweiten Zahl (S) in die erste Registeranordnung (16,0... 5) speichert.
Die Erfindung betrifft eine Adreßrecheneinrichtung für eine Datenverarbeitungsanlage gemäß dem Oberbegriff
des Patentanspruchs.
Eine bekannte Datenverarbeitungsanlage, die Anlage 3003 der Fa. Siemens, arbeitet mit Worten zu je 24 Bits
und erlaubt auch die Verarbeitung von Worten mit variabler Länge, aber nicht von Bytes variabler Länge.
Worte fester oder variabler Länge sind jedoch in jedem Fall Vielfache der Zeichenlänge von 6 Bits. Eine
Verarbeitung von Zeichen mit weniger als 6 Bits ist nur über Maskierungs- und Verschiebeoperationen möglich
(Datenverarbeitungsanlage 3003, Befehlsliste NV Bs 107/1, vom Mai 1963, Stn. 8 bis 15).
Bei einer weiteren bekannten Datenverarbeitungsanlage werden mit dem Arbeitsspeicher Worte zu je 64
Bits ausgetauscht und Bytes mit einer Länge von 1 bis 8 Bits oder Vielfache davon verarbeitet. Hierbei ist die
variable Datenmenge jeweils durch eine Endbitadresse und durch die Anzahl der Bits bestimmt. Doch trotz der
großen Wortlänge des Wortspeichers sind die arithmetischen und logischen Verknüpfungsschaltungen nur für
eine parallele Verarbeitung von bis zu 8 Bits ausgelegt, d. h. die Bits werden zeitlich nacheinander abgearbeitet.
Die Verarbeitung von Zeichen mit mehr als 8 Bits erfolgt jedoch in mehreren Schritten nacheinander
(Information processing Unesco Paris, Verlag Oldenbourg,
1960, S. 375 bis 381).
Aufgabe der Erfindung ist es eine möglichst wenig aufwendige Adreßrecheneinrichtung anzugeben, die bei
einer Datenverarbeitungsanlage zum Verarbeiten von beliebig variablen Datenmengen innerhalb eines Wortes
die Endbitadresse für die nachfolgende Datenmenge berechnet. Diese Aufgabe ist durch die Merkmale im
kennzeichnenden Teil des Patentanspruchs gelöst.
ίο Obwohl bei der erfindungsgemäßen Adreßrecheneinrichtung
für eine Datenverarbeitungsanlage Speicherplatz am Wortende eventuell nicht belegt wird, kann
wegen der Nichtaufteilung einer einzelnen Datenmenge auf zwei benachbarte Wörter die Adreßrecheneinrichtung
besonders einfach gestaltet werden, und es ist auch nur ein Speicherzugriff erforderlich. Somit ist es
gelungen, Zeichen in ihrer Anzahl von Bits für .jede
Anwendung optimal zu bilder, und zu verarbeiten, sofern diese Anzahl kleiner/gleich der Wortlänge ist
Damit lassen sich Daten bei minimaler Verschwendung von Speicherplatz ablegen und gezielt abrufen; ferner
entfallen die in anderen Anlagen häufig nötigen und zeitaufwendigen Maskierungsoperationen, nämlich das ί
Ausblenden unerwünschter Datenbits; darüber hinaus lassen sich Zeichenketten mit einem minimalen
Programmieraufwand verarbeiten, und schließlich entfallen alle zusätzlichen Operationen, die dann notwendig
sind, wenn die zu verarbeitende Datenmenge die anderswo festgelegte Byte-Größe über- bzw. unterschreitet.
Somit sind durch die Erfindung eine bessere Nutzung des Speichers, Vereinfachungen in der
Programmierung sowie kürzere Programme und damit auch bessere Ausführungszeiten erreicht.
Ausführungsbeispiele der Erfindung werden nachfolgend
an Hand der Zeichnungen näher beschrieben. Es stellen dar
F i g. 1 ein schematisches Blockschaltbild einer Datenverarbeitungsanlage;
F i g. 2 und 3 Aolaufdiagramme zur Durchführung von
Byteverarbeitungen;
Fig.4A und 4B jeweils den Aufbau eines Befehlswort- und Bytezeigerwort-Formats für das Datenverarbeitungssystem
der F i g. 1;
F i g. 5 ein Impulsdiagramm für den Durchführungszy- *>
klus in einer ersten Folge einer Byteverarbeitung;
F i g. 6 eine Schaltung, die Befehlssignale erzeugt, welche Schaltungen zur Durchführung von Byteverarbeitungsoperationen
steuern;
F i g. 7 und 8 Torschaltungen und Register, die in Verbindung mit dem Schrittzähler gemäß der Erfindung
arbeiten; und
F i g. 9 ein Schaltbild eines Taktgenerators zum Inkrementieren eines Bytezeigerwortes und zum
Erzeugen eines Maskenwortes.
Es wird eine Byteverarbeitungsoperation durchgeführt, wenn ein Befehlswort für eine Byteverarbeitung in
das Befehlsregister des Datenverarbeitungssystems gelesen wird. Die Befehlssignale für eine durchzuführende
Byteoperation kennzeichnen die Art einer Byteoperation und schaffen die Speicheradresse eines Bytezeigerwortes.
Das Zeigerwort wiederum enthält die Speicheradresse entweder des Datenwortes, welches
das zu verarbeitende Byte enthält, oder das Datenwort, in welches ein Byte zu schreiben ist. Das Zeigerwort
kennzeichnet auch die Größe des Bytes und dessen Stelle in dem Datenwort.
Schaltungen zur Durchführung von drei Byteverarbeitungsbefehlen werden im einzelnen beschrieben. Bei
Ii 5; 24
einem ■■: sogenannten Ladebyte-Befehl ·., wird das .,.im·
einzelnen bezeichnete Byte aus einem DatenwortJ
herausgezogen und in die Endstufen eines Registers geladen; alle von dem Byte nicht benutzten Registerstufen enthalten eine ausgewählte Ziffer, beispielsweise
eine binäre Null. Das ausgewählte Byte ist darin für ein:
Verarbeiten entsprechend den herkömmlichen digitalem Rechenoperationen verfügbar. Die anderen Bytes in
dem Datenwort werden durch die Ladebyte-Operation. nicht geändert. =. ·, „■. ■-... .,:·.:■ : :/>-;;,;:;;
Durch einen Ablegebyte-Befehl wird ein Byte, an, einer bestimmten Stelle in einem an einem Speicherplatz
gespeicherten Datenwort eingefügt. Die anderen Bytes in dem Datenwort werden durch Operation nicht
verändert■ :: · .. ..:;:. . ? ; . v:.i :
Bei der Durchführung der vorerwähnten Lade- und
Ablege-Bytebefehle schafft die Datenverarbeitungsanlage ein »Maskenwort« das aus einer ausgewählten
Ziffer an jeder Ziffernstelle in dem Datenwort besteht, welche nicht durch das zu verarbeitende Byte belegt ist.
Das Maskenwort wird zum Schutz der Ziffern des Datenworts außerhalb des im einzelnen festgelegten
Bytes verwendet
Eine dritte Byte-Operation, die mit der Anlage gut durchzuführen ist, besteht darin, das Byte-Zeigerwort zu
inkrementieren. Dieser Befehl ermöglicht es, Ladebyte- und Ablegebyte-Befehle für Bytes an aufeinanderfolgenden Speicherstellen mit einer minimalen Anzahl von
Operationen und Befehlen und folglich innerhalb einer minimalen Zeit auszuführen.
In F i g. 1 weist eine digitale Datenverarbeitungsanlage
eine arithmetische Zentraleinheit bzw. einen Prozessor 10 und einen Speicher 12 auf. Der Prozessor
10 weist ein arithmetisches oder Rechenregister 14 auf, das über einen Datenweg mit einem Speicherpufter 16
verbunden ist, der mit dem Speicher 12 in Verbindung steht. Der Prozessor 10 weist ein Akkumulatorregister
18 auf, das über einen Datenweg mit dem Speicherpuffer 16 verbunden ist Bei dieser Anordnung gibt es
keinen direkten Datenweg zwischen dem Rechen- und dem Akkumulatorregister; Daten in dem Akkumulatorregister,
die an das Rechenregister zu übertragen sind, werden zuerst an den Speicherpuffer 16 und von diesem
dann an das Rechenregister übertragen.
Der arithmetische Prozessor 10 weist weitere, an sich bekannte Register auf, nämlich ein Befehlsregister 20,
einen Programmzähler 22 und einen Schrittzähler 24. Ferner schafft ein Halteregister 96 eine Zwischenspeicherung
für Zahlen, die zwischen dem Speicherpuffer und dem Schrittzähler zu übertragen sind. Eine
Ausführungszeitverteiler- und -Steuereinheit 26 erzeugt Taktsignale zur Durchführung von Adreß-Abruf- und
Ausführungszyklen.
Eine Byteverarbeitungssteuerung 28 enthält Taktgeber, Steuer-Dekodier- und andere logische Schaltungen.
Die Verbindungen zwischen der Steuerung 28 und anderen Teilen der Datenverarbeitungsanlage der
Fig. 1 sind in anderen Figuren dargestellt und werden zusammen mit diesen beschrieben. Die in Fig. 1
dargestellten, logischen Schaltungen sind in den Ablauf- und Impulsdiagrammen mit den nachfolgend angeführten
Abkürzungen bezeichnet: ·
Die Flip-Flops-sind -in.; den "■, Diagrammen und
Zeichnungen mit FFabgekürzt..;' :■<.·.;:>, ■■<'„■ ;■■■■ .·.·..-,■■: ..'■■:
.Vor einer Beschreibung der verschiedenenSchaltungen der Fig.: 1 sowie derea Arbeitsweise wird.das
Format von· Befehls- und Bytezeigerworten an;Hand,
der Fi g. 4A und 4B beschrieben. Ein Bytezeigerwort ist
eine dreiteilige; Zahl,: welche; die Speicheradresse .eines;
einzelnen Bytes:fes.tlegt;IL ;■;'..y^n yar: :..·*! ft :·;;:■ t!;.-:!;/;^
; Die in! F i g; \ dargestellte Datenverarbeitungsanlage
arbeitet:mit.einem Befehlswort.von.36 Bit.mit dem in;
Fig/ 4A dargestellten Format. Die,ersten neun· Bits (Bit
0 bis 8 vom linken Ende aus gerechnet) sind eine Binärzahl, die den. durchzuführenden Befehl kennzeichnet,
und die Bits 9 bis 12 legen das zur Durchführung des
Befehls zu verwendende: Akkumülatorregistef fest. Die.
übrigen Bits 13 bis 35 stellen ein Adressenfeld dar, das Information -zum Bestimmen der; Adresse eines zur
Durchführung des Befehls zu-verarbeitenden Wortes enthält. Diese;] Adresse wird :dann während des
Adreß-Zyklus, berechnet, was nicht Teil der. vorliegenden Erfindungist,?:.:;: , ;,:.·: .;<..|? ;f:;, Ayi·■.-.■■:'"■. !;;;.?. y;..
Eine Byteverarbeitung dieser..Art:wird begonnen,
wenn das Befehlsregister 20 (Fig.,1) ein Befehlswort
erhält, in welchem die Bits Obis 8 einen der folgenden
Byteverarbeitungs-Befehlekennzeichnen: η. .!<;.; .;.-
... ."."'AIhkrenientierehdes Bytezeigers (IBP)T';! ^ .','
Dieser Befehl,inkrementiert; ein Bytezeigerwort der
Adresse des nächstfolgenden Bytesin dem Speicher. '-■ ^1
arithmetisches Rechenregister 14 AR
Speicherpuffer 16 MB
Akkumulatorregister 18 ACC
Schrittzähler 24 SC
Halteregister 96 HR
Ein Ladebytebefehlblendet ein ganz bestimmtes Byte aus einem bestimmten Speicherwort aus und lädt es in
das Rechenregister 14. ~: ·■ — ,;.; -p.··.·.: .-.: :; '■ ;!
C Ablegen eines Bytes (DPB) '\ \ .. ] '.",'..
Ein Ablegebytebefehl speichert ein Byte, das sich in dem Rechenregister an einer ganz bestimmten Stelle in
dem Speicher befindet. .; ; ·'.■·-- ·.-;.· i; :.'7'■ :: ;. .
D Inkrementieren des Bytezeigers und
Laden des Bytes (ILDB)
Laden des Bytes (ILDB)
Dies ist ein zweiteiliger Befehl, bei welchem das Bytezeigerwort inkrementiert wird und dann das durch
das inkrementierte Zeigerwort gekennzeichnete Byte in das Rechenregister geladen wird. ■■·:■. . .
E Inkrementieren des Bytezeigers und
Ablegendes Bytes(IDPB) .,
Ablegendes Bytes(IDPB) .,
Dies ist ein weiterer kombinierter Befehl der den zu inkrernentierenden Bytezeiger aufruft und für das Byte
in dem Rechehregister das an der durch das neue
Bytezeigerwort festgelegten Speicheradresse zu speichernist.;': ·.' ·.; .■.;: ■■'■:..".■;■;. ..<; .'..:'■ .;;::. ■.';■■·;: ·-,.-
Wenn der Befehlsteil (Bits 0 bis 8) des Speicherwortes einen der. folgenden Byteverarbeitungsbefehle kennzeichnet,
enthält das Adressenfeld (Bits 13 bis 35) des Befehlswortes eine Information zum Bestimmen der
Speicheradresse eines Bytezeigerwortes. ·
In Fig.4B ist der Aufbau bzw. das Format des Zeigerwortes dargestellt. Die Bits 13 bis 35 dieses Worts
stellen ein Adressenfeld dar. Wenn in der dargestellten Anordnung die Bits 13 bis 17 alle null sind, ist die Zahl
aus den Bits 18 bis 35 die Speicheradresse des bei der Byteoperation zu verwendenden Wortes. Wenn die Bits
13 bis 17 nicht null sind, wird die Adresse des bei der Byteoperation zu verwendenden Wortes mit Hilfe der
Bits 13 bis 35 berechnet. ...
Die Zahl in dem P-FeId des Zeigerwortes, die Bits 0 bis 5 geben die Anzahl Bits zwischen dem rechten Ende
des Speicherwortes und dem am weitesten rechts stehenden Bits des Bytes an. Infolgedessen legt die Zahl
P das Byte in einem Speicherwort fest. Das S^FeId des
Speicherwortes, die Bits 6 bis 11 ist eine Zahl, weiche die
Größe des Bytes mit bis zu 36 Bits festlegt. Folglich enthält das Bytezeigerwort die vollständige Adresse
eines Bytes, d. h. das Byte ist in Bits (36 -P- S) bis
(36-P) in dem Wort festgelegt, das an der durch das Adressenfeld festgelegten Speicheradresse gespeichert
ist - · ' ; ■'■-■'■■■ ■-■ ' ·; ■■■ ' ■■■■'■ '"■■-■■ : ■ ■
Wenn das Bytezeigerwort inkrementiert wird, wird die Zahl Pum die Zahl S erniedrigt, um dadurch das
nächste Byte rechts in dem durch das Adressenfeld festgelegten Speicherwort festzulegen. Wenn die Zahl P
dann bis zum rechten Ende des Speicherwortes »bewegt« worden ist, ändert die nächste Inkrementoperation
das Speicherwort-Adressenfeld(Bit 13 bis 35), um das nächste Speicherwort zu kennzeichnen, und setzt
die Zahl P zurück, um das am weitesten links stehende Byte in dem letzten Wort festzusetzen.
Die in F i g. 1 dargestellte Byteverarbeitungssteuerung 28 ist vorgesehen, um die vorstehend beschriebenen
Lade- und Ablegeoperationen bei zwei aufeinanderfolgenden Folgen der Datenverarbeitungsanlage
durchzuführen, wobei jede Folge in Aufeinanderfolge einen; Adreß-Abruf- und einen Ausführungszyklus
umfaßt Ein Befehl jedoch, in welchem nur das Zeigerwort inkrementiert wird, und in welchem es keine
Byteablege- oder -ladeoperation gibt, wird in einer einzigen " Folge von Adreß-Abruf- und Ausführungszyklen durchgeführt. ;
In Fig.6 wird ein Flip-Flop 30 durch einen Löschimpuls auf null geschaltet, der in der Steuereinheit
26 jeweils am Anfang jedes neuen Befehls erzeugt wird. Dieses Flip-Flop bleibt in dem Nullzustand am Anfang
einer Byteoperation. Es bleibt in diesem Zustand, bis es durch einen Taktimpuls Tg auf eins gesetzt wird, wobei
dieser Taktimpuls der letzte während einer ersten Folge einer Byteoperation ist. Das Flip-Flop bleibt auf eins
während der zweiten Folge, bis es durch das Löschsignal für den nächsten Befehl auf null gebracht wird.
Das Flip-Flop 32 wird durch den Impuls Tg am Ende
der ersten Folge einer Byteoperation auf eins gesetzt und bleibt in dieser Operation bis es durch den jeweils
letzten Taktimpuls DT3 bei einer Ablegeoperation oder
durch den Impuls LToa für eine Ladeoperation in den Nullzustand gebracht wird.
Die Folgeunterbrechungssteuerung 31 bewirkt, daß der Prozessor 10 das Sonderlöschsignal abgibt, das in
F i g. 6 an die ODER-Schaltung 33 angelegt wird, wenn die Datenverarbeitungsanlage zur Wiederaufnahme des
unterbrochenen Programms bereit ist, d. h. unmittelbar vor dem Wiederladen des Prozessors mit dem Zustand
des unterbrochenen Programms zum Zeitpunkt der Unterbrechung. Die Folgeunterbrechungssteuerung 31
gibt dann ein Wiederaufnahme-Setzsignal ab, das den Zustand dann wieder durchschaltet. Wie in Fig.6
dargestellt, wird das Wiederaufnahme-Setzsignal an eine UND-Schaltung 35 angelegt, deren Ausgangssignal
das Flip-Flop 32 auf eins schaltet, wenn das den Zustand dieses Flip-Flops speichernde Unterbrechungsregister
eine Eins enthält Wenn das unterbrochene Programm wiederaufzunehmen ist, bringt der Sonderlöschimpuls
das Flip-Flop 32 auf null und durch den folgenden Wiederaufnahme-Setzimpuls wird über die UND-Schaltung
35 das Flip-Flop auf eins gesetzt, wenn das Unterbrechungsregister eine Eins enthält Das Flip-Flop
befindet sich dann in demselben Zustand wie zur Zeit der Unterbrechung der Byteoperation. Durch die
Anordnung der Flip-Flops 30 und 32 bewirkt bei einer
Wiederaufnahme einer unterbrochenen Byteoperation das Flip-Flop 32, daß die Datenverarbeitungsanlage den
Ausführungszyklus der ersten Folge nur bis zum Auffinden des Bytezeigerwortes wiederholt Sie verhindert,
daß das Zeigerwort inkrementiert wird, was
normalerweise der Fall wäre, wenn ein Inkrementbefehl
zu verarbeiten ist
Die jeweils erste Folge von Adreß-Abruf- und Operationszyklen wird zur Durchführung jedes dargestellten
Bytebefehls benutzt Nicht-Inkrementierbefeh-
Ie, d. h. LDB- und DBP-Befehle, erfordern jedoch
während der ersten Folge weniger Operationen als Inkrementierbefehle. Folglich wird vor Beginn des
Ausführungszyklus der ersten Folge die Art des Bytebefehls festgestellt und entweder ein Inkrement-
oder ein Nicht-Inkrement-Operationssignal zur Steuerung
der nachfolgenden ersten Folge erzeugt. Wenn dann die Anlage die Ausführung eines Bytebefehls im
Anschluß an eine Unterbrechung wieder aufnimmt, wird
das Nicht-Inkrement-Operationssignal vor Beginn der ersten Folge erzeugt
Die Erzeugung dieser Signale wird nunmehr an Hand der Fig.6 erläutert Ein Dekodierer 34 ist mit den
Stufen 0 bis 8 des Befehlsregisters 20, d. h den die Befehls-Kennzeichnungszahl speichernden Stufen, verbunden,
um die Befehls-Kennzeichnungsbits des Befehlsworts (F i g. 4) aufzunehmen. Der Dekodierer hat
eine Ausgangsleitung für jede der angeführten Byteverarbeitungsbefehle, d. h. LDB, DPB, IBP, ILDB und IDPB.
Wenn das Befehlsregister 20 einen dieser Byteverarbeitungsbefehle speichert erregt der Dekodierer 34 die
diesem Befehl zugeordnete Ausgangsleitung. Eine Ausgangsleitung 34a des Dekodierers wird erregt, wenn
irgendeine andere Ausgangsleitung als die IBP-Leitung
erregt wird, d. h. wenn das Befehlsregister außer dem IBP-Befehl noch einen anderen Bytebefehl enthält.
Eine in Fig.6 dargestellte ODER-Schaltung erhält
die drei den Inkrementbefehlen zugeordneten Dekodiererausgangsleitungen, d- h, die IBP-, ILDB- und
IDPB-Befehle. Die Schaltung 36 gibt dann ein Ausgangssignal ab, wenn das Befehlsregister einen
Befehl erhält, das Bytezeigerwort zu inkrementieren. Eine UND-Schaltung 38 erhält das Ausgangssignal von
der ODER-Schaltung 36 und ist auch mit dem Flip-Flop 30 verbunden, um ein Pegelsignal zu erhalten, wenn sich
so das Flip-Flop in dem »Null-Zustand« befindet. Die
UND-Schaltung 38 gibt dann ein Inkrementsignal (INC) ab, wenn ein Inkrementbefehl aufgerufen wird und
wenn das Flip-Flop in dem »Null«-Zustand ist, was der Fall ist, wenn die Anlage betriebsbereit ist und wenn die
erste Folge einer Byteoperation durchgeführt wird.
Das INC-Signal von der UND-Schaltung 38 wird an
eine UND-Schaltung 40 angelegt die freigegeben wird, wenn sich das Flip-Flop 32 in dem »Null«-Zustand
befindet. Entsprechend diesen Eingangssignalen gibt dann die UND-Schaltung 40 ein Inkrement-Operationssignal
(INCOP) ab. Dieses Signal wird infolgedessen nur erzeugt, wenn alle Bedingungen zum Inkrementieren
des Bytezeigerwortes vorhanden sind und es wird, wie oben beschrieben zum Einleiten dieser Operation
verwendet.
Sobald das System die erste Folge eines Bytebefehls beendet hat und dann unterbrochen worden ist, befindet
sich bei Wiederaufnahme das Flip-Flop 32 immer in dem
Zustand »1«, wodurch die UND-Schaltung 40 gesperrt ist. In diesem Zustand wird dann kein INC OP-Signal
unabhängig von der Art des zu verarbeitenden Bytebefehls erzeugt.
Die Ausgangsleitungen von dem Dekodierer 34, welche erregt sind, wenn das Befehlsregister eine
Byteoperation enthält, die kein Inkrementieren des Zeigerwortes betrifft, d. h. wenn ein Ladebyte-(LDB-)
oder ein Ablegebyte- (DPB-)Befehl durchzuführen ist, werden an eine ODER-Schaltung 42 angelegt, deren
Ausgang einer UND-Schaltung 44 zuzuführen ist, die durch den »O«-Zustand des Flip-Flops 30 freigegeben
ist. Der Ausgang der UND-Schaltung 44 wird an einen von zwei Eingangsanschlüssen einer ODER-Schaltung
46 angelegt. Das andere Eingangssignal der ODER-Schaltung 46 wird in einer UND-Schaltung 48 in
Abhängigkeit von der Koinzidenz der Ausgänge der UND-Schaltung 38 und des »1 «-Zustande in dem
Flip-Flop 32 geschaffen. Das Ausgangssignal der ODER-Schaltung 46 ist dann ein Nicht-Inkrement-Operationssignal
(NOT INC OP).
Folglich steht das NOT INC OP-Signal zur Verfügung, wenn das Befehlsregister entweder einen Lade-
f oder einen Ablegebytebefehl enthält und wenn sich das Flip-Flop 30 in dem »O«-Zustand befindet, oder wenn
das INC-Signal vorhanden ist und das Flip-Flop 32 in dem Zustand »1« ist. (Diese Bedingung liegt vor, wenn
das System eine Operation nach einer Unterbrechung wieder aufnimmt.) Wenn das NOT INC OP-Signa!
erhalten wird, inkrementiert die Datenverarbeitungsanlage Bytezeigerwort nicht. ■■-,;■
Die vorbeschriebene Arbeitsweise, bei welcher entweder ein INCOP- oder ein NOT INC OP-Signal
erzeugt wird, findet im wesentlichen unmittelbar nach dem Laden eines Befehlsworts in das Befehlsregister 20
statt und wird beendet, bevor die Steuereinheit 26 in F i g. 1 den ersten Ausführungszyklus-Taktimpuls ETo
abgibt. Wenn ein Bytebefehl in das Befehlsregister geladen worden ist, gibt zum Ausführungszeitpunkt ET0
der Datenverarbeitungsanlage der F i g. 1 die Schaltung in F i g. 6 entweder ein INC OP- oder ein NOT INC OP-Signal
ab.
Der Programmzähler 22 (F i g. 1) wird normalerweise durch einen Zählvorgang mit dem £To-Impuls weiterge-
f schaltet. Diese Operation wird während der ersten Folge aller zwei Folgen betreffenden Byteoperationen
verhindert. Wie insbesondere im linken oberen Teil der F i g. 6 dargestellt ist, erhält eine ODER-Schaltung 37
die NOTINCOP- und INC OP-Signale. Eine UND-Schaltung
39 erhält das NOT IBP-Signal am Dekiererausgang 34a und das Ausgangssignal von der ODER-Schaltung
37. Der Ausgangsanschluß der UND-Schaltung ist mit einem Sperreingang 22a des Programmzählers
22 verbunden, der folglich nicht gesperrt ist und auf den nächsten Befehl weitergeschaltet wird, wenn
entweder das NOT INC OP- oder das INC OP-Signal vorhanden ist und die NOT IBP-Leitung erregt ist.
Somit erhält der Programmzähler für einen Bytebefehl IBP dieselbe Zahl für zwei Betriebsfolgen.
Der Schrittzähler 24 der F i g. 1 wird zur Ausführung von Operationen verwendet, die sowohl durch das
INCOP als auch durch das NOT INC OP-Signal eingeleitet werden. Die Tor- oder Verknüpfungsschaltungen,
welche den Schrittzähler und die damit zusammenarbeitenden Register steuern, werden nunmehr
an Hand der F i g. 7 und 8 beschrieben. In F i g. 7 ist der Speicherpuffer 16 ein Flip-Flop-Register zum
Speichern von 36 Binärziffern; hierbei speichert jedes Flip-Flop eine Ziffer und hat jeweils einen Ausgangsanschluß
»0« und »l«.(Die Zahl an dem Ausgangsanschluß »0« ist das »!«-Komplement der in den Flip-Flops
gespeicherten Zahlen.)
Die »1«-Ausgänge der Flip-Flops, welche die Bits 0 bis 5 speichern, werden an eine Sammelleitung 56 zu
dem Halteregister % angelegt. Die Sammelleitung % verbindet die »O«-Ausgänge der Flip-Flops mit dem
Schrittzähler 24, und eine Sammelleitung 60 verbindet die »1«-Ausgänge der Flip-Flops für die Bits 6 bis 11 mit
dem Schrittzähler. Das Halteregister 96 liest die über die Sammelleitung 56 angelegte Zahl entsprechend
einem Taktimpuls T8B und gibt die jeweils gespeicherte
Zahl über, eine Sammelleitung 62 an den Schrittzähler,
ab. Der Schrittzähler 24 ist ein neunstufiger Flip-Flop-Zähler, in dessen Stufen 1 bis 8 jeweils eine Binärzahl
und dessen Stufe 0 die das Vorzeichen der Zahl anzeigende Ziffer gespeichert ist. . .,,. . .,·. ■.■.-.;.■ ■■■■·
Der Zähler führt arithmetische Operationen, der »!«-Komplementzahlen durch. Wie in Fig.7 auf der
linken des Schrittzählers dargestellt ist, erhält er Signale, welche bewirken, daß ein Teiladdieren durchgeführt wird, und welche die Zahl in dem Zähler
vervollständigen. Weitere Signale bewirken die Addition einer »1« zu der jeweils gespeicherten Zahl und
führen einen Übertrag durch. ,;;..:',
Über nicht dargestellte Tor- oder Verknüpfungsschaltungen in dem Schrittzähler wird die Zahl auf einer der
Sammelleitungen 58, 60 und 62 an die Flip-Flops übertragen. Entsprechend einem T9-Impuls liest der
Schrittzähler die in dem Halteregister 96 gespeicherte Zahl ein. Der Schrittzähler wird freigegeben, um die
Nullen in den Speicherpufferstufen 0 bis 5, d.h. das »!«-Komplement der Zahl in diesen Stufen, an die
Sammelleitung 58 abzugeben, wenn sich das Flip-Flop 50 in dem Zustand »1« befindet. Wenn sich ein Flip-Flop
52 in dem Zustand »1« befindet, wird der Schrittzähler zum Lesen der Einsen an die Speicherpufferstufen 6 bis
11 freigegeben, die an ihn durch die Sammelleitung 60
angelegt werden. Wenn beispielsweise das Flip-Flop 52 in dem Zustand »1« ist, führt der Schrittzähler
entsprechend einem Teiladdiersignal eine exklusive ODER-Operation mit der Zahl in den Speicherpufferstufen
6 bis 11 und der in dem Zähler bereits vorhandenen Zahl durch. Der Übertrag zum Vervollständigen
des Additionsvorgangs wird nur durchgeführt, wenn auch ein Übertragsignal an den Zähler
angelegt wird.
Der nächste Impuls SA T\ wird an die ODER-Schaltung 75 (F i g. 8) zum Erzeugen des Teiladditionssignals
angelegt. Danach wird der Impuls SAT2 an den Übertrageingang des Schrittzählers (F i g. 7) angelegt.
Der Impuls SAT3 zeigt das Unterprogramm an. Die im unteren Teil von Fig.8 dargestellte Schiebe- und
Zähltaktsteuerung 71 wird weiter unten beschrieben.
Um Bytes in aufeinanderfolgend adressierten Wort-Speicherstellen zu speichern und andererseits um Bytes
aus den aufeinanderfolgend adressierten Wort-Speicherstellen mit einer minimalen Anzahl von
Operationen und somit in kurzer Zeit wieder aufzufinden, sind logische Schaltungen zum Inkrementieren der
Adresseninformation in dem Bytezeigerwort vorgesehen. In diesen Schaltungen wird zuerst die Zahl 5(Bits 6
bis 11; F i g. 5) in dem Zeigerwort von der Zahl P(Bits 0 bis 5; F i g. 4B) subtrahiert.
Wenn die sich ergebende Zahl einschließlich null positiv ist, liegt das nächste zu verarbeitende Byte in
dem Wort an der Speicheradresse, die durch das
909 586/3
Adressenfeld des Zeigerwortes genau festgelegt ist, und
beginnt an den Zifferstellen (P—S) vom rechten Ende dieses Wortes an. Folglich ersetzt die Zahl (P—S), die
sich aus der Subtraktion ergibt, die ursprüngliche Zahl (P) in dem Zeigerwort, so daß das Zeigerwort nunmehr
das nächste Byte rechts in dem Speicherwort bestimmt.
Wenn (P—S) negativ ist, reicht der Platz in dem
Speicherwort nicht aus, das durch das Zeigerwort-Adressenfeld (Bits 11 bis 35) für das nächste Byte
adressiert ist. Die logischen Schaltungen inkrementieren dann das Zeigerwort-Adressenfeld um eins auf die
nächste Speicheradresse und speichern (36—S) in dem Positions- oder Stellenfeld des Zeigerwortes. Das auf
diese Weise inkrementierte Zeigerwort legt genau die Adresse des ersten, am weitesten links stehenden Byte
in dem Wort an der neuen Speicheradresse fest.
Wenn nunmehr ein Byteverarbeitungsbefehl in das Befehlsregister 20 der F i g. 1 eingelesen wird, führt die
Datenverarbeitungsanlage für jeden eingelesenen Befehl einen Adressenzyklus durch, in welchem die
Adresse berechnet wird, die durch das Adreßfeld (Bit 13 bis 35; F i g. 4) des Befehlsworts aufgerufen wird. In der
Anlage wird ein Abrufzyklus durchgeführt, bei welchem aus dem Speicher 12 (Fig. 1) das an der berechneten
Adresse gespeicherte Wort ausgelesen und in den Speicherpuffer 16 geladen wird. Wenn der Befehl in
dem Befehlsregister 20 eine Byteoperation abruft, ist das aus dem Speicher ausgelesene Wort ein Bytezeigerwort.
Folglich spricht während der Adreß- und Abrufzyklen die Schaltung in F i g. 6 auf den Befehlskodeteil
(Bit 0 bis 5) des Befehlsworts in dem Register 20 an, und das in dem Befehl adressierte Speicherwort wird
in den Speicherpuffer 16 gelesen. Wenn das Befehlswort in dem Register 20 eine Byteverarbeitung aufruft,
weiche das Inkrementunterprogramm aufweist, gibt die Schaltung in F i g. 6 das INC OP-Signal ab, wie bereits
ausgeführt ist.
Die Datenverarbeitungsanlage hat nun den Zustand eingenommen, in welchem das INC OP-Signal vorhanden
ist und ein Bytezeigerwort in dem Speicherpuffer 16 (Fig. 1) gespeichert ist. Wie die schematische Darstellung
des Byte-Verarbeitungsverteilers 74 in F i g. 9 zeigt, erhält eine UND-Schaltung 72 den Taktimpuls ET0 von
der Taktverteiler- und Steuereinheit 26 der F i g. 1 zum gleichen Zeitpunkt, wo sie durch das INC OP-Signal
freigegeben wird. Entsprechend diesen zwei Signalen gibt die UND-Schaltung 42 einen Taktimpuls 71 ab.
Nunmehr wird auf das Impulsdiagramm der Fig.5 Bezug genommen.
In Fig.2, in welcher ein Ablaufdiagramm der
während der ersten Folge einer Byteverarbeitung durchgeführten Operationen dargestellt ist, enthält
entsprechend dem Taktimpuls 71 das Rechenregister 14 (AR; Fig. 1) durch eine Parallelübertragung das in dem
Speicherpuffer 16 (MB) gespeicherte Zeigerwort. (In F i g. 2 bedeutet AR <- MB, daß das Rechenregister den
Inhalt des Speicherpuffers erhält.) Wie in F i g. 2 dargestellt, setzt der Impuls 71 das Flip-Flop 50 (F i g. 7)
in den Zustand »1«, wodurch die Schrittzähler-Verknüpfungsglieder freigegeben werden, welche das »!«-Komplement
der Zeigerwort-Zahl (P) lesen, die durch die Sammelleitung 58 an den Zähler angelegt ist.
Nach einer Verzögerung in einer Verzögerungsschaltung 76 (Fig.9) gibt der Taktverteiler 74 einen
Taktimpuls T2 ab. Wie in F i g. 8 dargestellt, wird dieser
Impuls an die ODER-Schaltung 75 angelegt, um dadurch das Teiladditionssignal für den Schrittzähler zu erzeugen.
Entsprechend diesem Signal von der ODER-Schaltung 75 wird der Schrittzähler mit dem »!«-Komplement
der Zahl (P) des Bytezeigerwortes, d.h. mit (-P-]), voreingestellt. Dieser Vorgang ist in Fig.2
durch die Angabe wiedergegeben, daß der Impuls T2 die
Teiladdition an dem Schrittzähler einleitet. Der Impuls T3 der, wie in F i g. 9 dargestellt, von einer durch den
Impuls T2 erregten ODER-Schaltung 78 erzeugt wird,
wird an den »1 «-Eingang des Flip-Flops 52 (s. F i g. 9 und auch F i g. 7) mittels einer ODER-Schaltung 80 (F i g. 9)
ίο angelegt Der Ausgang »1« von dem Flip-Flop 52 gibt
eine UND-Schaltung 82 in dem Taktverteiler 74 (F i g. 9) frei.
In F i g. 7 gibt der Ausgang »1« von dem Flip-Flop 52
auch den Zähler 24 frei, um die Zahl in den Stufen 6 bis 11 des Speicherpuffers 16, d. h. die Zahl in dem Feld (S)
des Zeigerwortes, einzulesen. Diese Funktion des Taktimpulses T3 ist in Fig.2 durch die Bezeichnung
angegeben, daß es das Flip-Flop 52 in den Zustand »1« setzt.
Wie in dem Ablaufdiagramm gezeigt ist, leitet der Impuls T3 eine Addition in dem Schrittzähler ein, indem,
wie in F i g. 8 dargestellt, der Impuls T3 an den
Taktverteiler 70 angelegt wird. Wie in F i g. 7 dargestellt, wird der erste Impuls von dem Taktverteiler 70,
der Impuls SATo, über eine ODER-Schaltung 51 angelegt und schaltet das Flip-Flop 50 in den
»0«-Zustand. Der nächste Impuls SA 71 löst ein Teiladditionssignal an dem Schrittzähler von der
ODER-Schaltung 75 (F i g. 8) aus. Entsprechend diesem Befehl und der Zahl (S) von den Speicherpufferbits 6 bis
11 führt der Schrittzähler eine Teiladdition des Komplements der Zahl (P) bereits in dem Zähler 24 und
der Zahl (S) durch. Danach führt der Taktimpuls SA T2
einen herkömmlichen Übertrag in dem Schrittzähler durch, welcher nunmehr die Summe der Zahl (S) und des
Komplementes der Zahl (P) speichert. Durch diese logische Operation wird die Zahl (P) von der Zahl (S)
subtrahiert, so daß der Zähler 24 nunmehr die Größe (S-P-1) speichert. Die »0«-Stelle SCO des Schrittzählers
speichert das Bit, welches das Vorzeichen dieser Zahl angibt. Für eine positive Zahl einschließlich »0«, ist
das Vorzeichenbit »0« (und mit SCO (O) bezeichnet).
In F i g. 9 wird der letzte Impuls SAT3 des Taktverteilers
70 in F i g. 8 an den anderen Eingang der UND-Schaltung 82 angelegt, und da das Flip-Flop 52 äf
noch in dem »1 «-Zustand ist, gibt die UND-Schaltung " den nächsten Taktimpuls T3A ab. Wie in dem
Ablaufdiagramm der F i g. 2 dargestellt, stellt dieser Impuls das Flip-Flop 52 auf null zurück. Hierzu wird in
Fig.9 der Impuls T3A an eine ODER-Schaltung 84
angelegt, deren Ausgang mit dem »0«-Eingang des Flip-Flops 52 verbunden ist. Auf Grund dieser
Operation (F i g. 7) wird das Freigabesignal für die Speicherpufferbits 6 bis 11 von dem Schrittzähler
entfernt (die ODER-Schaltung 84 erhält auch den Löschimpuls, um das Flip-Flop 52 gleichzeitig wie das
Flip-Flop 30 in F i g. 6 zu löschen).
Wenn die Zahl (S) kleiner als die Zahl (P) ist, d. h.
wenn die Anzahl der Ziffern zwischen der rechten Seite des Zeigerwortes und der am weitesten rechts
stehenden Ziffer des durch das Zeigerwort festgelegten Bytes größer als die Größe bzw. Länge des Bytes ist,
wird das Byte mit der nächstfolgenden Speicheradresse in demselben Datenwort wie das vorliegende Byte
festgelegt. Seine Position, die mit (P') bezeichnet ist, um sie von der Zahl (P) des vorliegenden Bytes zu
unterscheiden, ist (P—S). Ein Inkrementieren des Zeigerwortes zu diesem Zeitpunkt führt zu einer
Änderung der Positionszahl in (P-S).
Wenn jedoch die Zahl (S) die Zahl (P) übersteigt, ist
das nächste anschließend adressierte Byte an der Stelle (36—S^ in einem neuen Wort festgelegt, dessen
Speicheradresse durch Inkrementieren des Adressenfeldes des Zeigerwortes in dem Pufferspeicher um eins
erhalten wird. Infolgedessen muß sowohl das Adressenfeld als auch die Positionszahl des Zeigerwortes
geändert werden, um das Zeigerwort zu inkrementieren, wenn (S- P) positiv ist. ι ο
Diese alternativen Schritte werden im Anschluß an den Taktimpuls T3A auf die folgende Weise durchgeführt.
Wie bereits ausgeführt, ist in dem Schrittzähler das Vorzeichenbit null, wenn der Schrittzähler eine Zahl
speichert, die größer als null ist, d. h. wenn (S) (P—\) überschreitet, so daß das Adressenfeld des Zeigerwortes
um eins inkrementiert werden muß, um die nächstfolgende Byteadresse festzulegen. In F i g. 9 erhält eine
UND-Schaltung 86 den Impuls T3A und ist mit dem
Schrittzähler verbunden, um ein Signal zu erhalten, wenn das Vorzeichenbit des Zählers null ist. Entsprechend
diesem Signal »0« und dem Impuls Tza gibt die
UND-Schaltung einen Taktimpuls T4 ab. Entsprechend dem Ablaufdiagramm in F i g. 2 löst dieser Taktimpuls
drei Operationen aus, und zwar wird zuerst, wie in F i g. 8 dargestellt der Impuls über die ODER-Schaltungen
67 und 65 angelegt, um das Löschsignal zu erzeugen, welches den Schrittzähler auf null zurücksetzt. Der
Impuls 7} wird an den »1«-Eingang eines Flip-Flops 88 angelegt (F i g. 9), dessen Ausgang eine UND-Schaltung
90 freigibt.
Die dritte durch den Taktimpuls 7} eingeleitete Operation ist ein herkömmliches Rechenregister-Unterprogramm,
welches das Adressenfeld des Zeigerwortes, das bereits in dem Rechenregister gespeichert ist, um
eins indiziert, um die Speicheradresse des nächsten Datenwortes zu schaffen. Die Durchführung dieses
Unterprogramms ist nicht Teil der Erfindung und kann daher auf eine der üblichen Weisen durchgeführt
werden. Das Ende des Unterprogramms wird durch einen Taktimpuls ART3 von dem Rechenregister
angezeigt. Dieser Taktimpuls wird an die UND-Schaltung 90 in Fig.9 angelegt, die bereits durch das
Flip-Flop 88 entsprechend dem Taktimpuls Tt, freigegeben ist, um einen Impuls TtA zu erzeugen. Wie ebenfalls
in Fig.9 dargestellt, wird der Impuls T4A über eine
ODER-Schaltung 92 an den »O«-Eingang des Flip-Flops 88 angelegt, um dadurch das Flip-Flop in den
»O«-Zustand rückzusetzen. Die ODER-Schaltung 92 erhält auch das vorstehend beschriebene Löschsignal
zum Löschen des Flip-Flops 30 in F i g. 6.
Um die Zahl (P) des am weitesten links stehenden Bytes in dem neuen Datenwort genau festzulegen, muß
(36—S)berechnet werden. Jedoch ist das »!«-Komplement
von (37 — $} (-37 + 5Jt und folglich sollte der
Schrittzähler auf (—37) voreingestellt und dann (S) hinzuaddiert werden. Ein weiterer Faktor sollte jedoch
berücksichtigt werden. Wenn infolge einer falschen Programmierung die Zahl (S) als (36) ist, wird (—37 + S)
»0« oder eine negative Zahl in dem Schrittzähler ergeben. Die Datenverarbeitungsanlage bleibt dann
»hängen« indem sie die Taktimpulse Tz, T3A, T\ und T4^
laufend wiederholt. Dies wird vermieden, wenn .der Schrittzähler nicht auf (—37) sondern auf (- 38) plus der
Zahl eingestellt wird, die um eins größer ist als die größte Zahl, die in den sechs Bits (Bit 6 bis 11) des
Zeigerwortes (F i g. 4B) gespeichert werden kann, das ausgelegt ist, um die Zahl (S) zu speichern. Da die größte
6Bit-Binärzahl in Dezimalschreibweise (63) ist, wird der Schrittzähler vorher auf die Dezimalzahl (101) eingestellt.
Durch diese Operation ist sichergestellt, daß (P—S) nach Durchführung der Impulse T* und T4^ positiv ist,
und nur einmal die Subtraktion der Zahl (S)\on (36) zum Festlegen des neuen Bytes nicht beeinflußt. Insbesondere
wird die Binärzahl für die Dezimalzahl (101) dadurch gebildet, daß eine Eins zu der nächsten höchstwertigen
Stelle der Binärzahl für (37) addiert wird. Das heißt, die Dezimalzahl 37 entspricht der Binärzahl 100101, und die
Dezimalzahl 10Γ entspricht der Binärzahl 1100101. Folglich sind, nachdem die Zahl 5 von der Dezimalzahl
101 subtrahiert ist, die am weitesten rechts stehenden sechs Ziffern in der sich ergebenden Binärzahl identisch
mit dem Ergebnis, das beim Subtrahieren der Zahl S von der Dezimalzahl 37 erhalten wird. Aus diesem Grund
werden nach Verarbeitung der Impulse T4 und Τ*Α nur
die sechs am weitesten rechts stehenden Ziffern in dem Schrittzähler zum Festlegen der neuen Positionszahl P'
verwendet.
In Fig.2, 7 und 9 stellt der Impuls T*a den
Schrittzähler auf das binäre Äquivalent der Dezimalzahl (—101) vorein. Wie in Fig.2 dargestellt, werden dann
die Operationen wiederholt, die entsprechend den Taktimpulsen 73 und T3A durchgeführt werden und zwar
dadurch, daß, wie in F i g. 9 dargestellt ist, der Impuls Taa
an die ODER-Schaltung 78 angelegt wird, welche den Impuls T3 abgibt.
Wenn der Schrittzähler auf die Dezimalzahl (—101) voreingestellt ist, wird durch Wiederholen der entsprechend
dem Impuls T3 durchgeführten Operationen die Zahl (S) hinzuaddiert, so daß der Zähler (-101+S^
speichert. (Jedoch sind die sechs niedrigstwertigen Ziffern dieser siebenziffrigen Binärzahl gleich der
Dezimalzahl ( — 37+ S). Die siebte Ziffer hat nunmehr
ihren Zweck erfüllt und wird nicht mehr länger benötigt, so daß sie in der nachfolgenden Beschreibung nicht
mehr erscheint.) Die »0«-Stelle des Schrittzählers enthält ein positives Vorzeichenbit, d. h. eine »1«. Diese
Bedingung ist mit SCO(I) bezeichnet und wie in F i g. 9 dargestellt, der entsprechende Wert gibt eine UND-Schaltung
94 frei, die den Impuls T5 entsprechend den Impuls T3A abgibt. Der Impuls T3A löscht das Flip-Flop
52, wodurch der Datenweg (F i g. 7) von dem Pufferspeicher zu dem Schrittzähler abgeschaltet wird.
Wie in dem Ablaufdiagramm der F i g. 2 und in F i g. 8 dargestellt ist, wird durch Impuls 7s die ODER-Schaltung
73 ausgelöst, wodurch die Zahl (— 37 + S) in dem Zähler auf [-(-37 + S^-I =36-Sj ergänzt wird.
Danach enthält der Zähler eine neue Positionszahl (P'), die die Position des ersten am weitesten rechts
stehenden Bytes in der neuen Speicherstelle bezeichnet, die durch das inkrementierte Adressenfeld des Zeigerwortes
festgelegt ist.
Bevor die folgenden Operationen im einzelnen beschrieben werden, wenn nämlich das Befehlsregister
einen Inkrementbefehl enthält, so daß die Befehlsschaltung in F i g. 6 das INC OP-Signal nach Durchführung
der in F i g. 2 dargelegten Operationen auf Grund der Taktimpulse Ti bis T5 abgegeben hat, überträgt die
dargestellte Datenverarbeitungsanlage die neue Positionszahl (P') von dem Schrittzähler an das in dem
Speicherpuffer gespeicherte Zeigerwort und liest dann das inkrementierte Zeigerwort zurück in den Speicher.
Wenn der Befehl in dem Befehlsregister nur eine Inkrementoperation, d. h. ohne eine Lade- oder
Ablegeoperation aufruft, ist der Byteverarbeitungsbe-
fehl zu diesem Zeitpunkt beendet und das System ist bereit, einen neuen Befehl zu verarbeiten. Wenn der
Inkrementbefehl in dem Befehlsregister eine Lade- oder
Ablegeoperation entweder allein oder im Anschluß an eine Inkrementoperation abruft, wird ein Maskenwort
gebildet, wobei die Bytegrößenzahl (S) in den Schrittzähler geladen wird, indem die Zahl (S) in dem
Schrittzähler vervollständigt und dann die vervollständigte Zahl in dem Schrittzähler verwendet wird, um (S)
Einsen in das rechte Ende des Akkumulatorregisters 18 (F i g. 1) zu lesen. Das Akkumulatorregister enthält dann
außer den (S) Einsen an seinem rechten Ende alle Nullen; dies ist dann das Maskenwort
Außerdem wird die Positionszahl die dem Zeigerwort mittels eines in Fig. 1 dargestellten Halteregisters 96
von dem Speicherpuffer an den Schrittzähler übertragen und die Flip-Flops 30 und 32 (F i g. 6) werden in den
Zustand »1« gesetzt, wodurch das Ende der ersten Folge der Byteverarbeitungsoperation angezeigt wird.
Insbesondere in dem Verteiler 74 der F i g. 9 erhält
eine Verzögerungsschaltung 96' den Impuls Ts und legt
ihn an eine ODER-Schaltung 98 an, deren Ausgangsimpuls der Taktimpuls T6 ist. Die ODER-Schaltung 98 gibt
das Taktsignal 7β entsprechend der Koinzidenz des
NOT INC OP-Signals und des Taktimpulses ET0 an eine
UND-Schaltung 100 ab, deren Ausgang mit der ODER-Schaltung 98 verbunden ist. Während der
Inkrementoperation gibt die ODER-Schaltung 98 den Impuls Te eine fest vorgegebene Zeit nach der Abgabe
des Impulses 7s ab. Andererseits gibt während einer Nicht-Inkrementierungs-Byteoperation die ODER-Schaltung
98 den Impuls Te nach Empfang des Impulses üTJab.
In F i g. 8 wird der Impuls Te und die UND-Schaltung 69 angelegt, deren Ausgang über die ODER-Schaltung
65 angelegt wird, um den Schrittzähler-Löschbefehl zu erzeugen. Das andere Eingangssignal an der UND-Schaltung
69 ist das INCOP-Signal der Befehlsschaltung
der Fig.6. Die UND-Schaltung 69 in Fig.8 ist
auch in F i g. 7 dargestellt und so angeschlossen, daß sie das Rechenregister freigibt, um die in den Zählerstufen 3
bis 8 gespeicherte Zahl (P') einzulesen. Nur der Inhalt der Stufen 3 bis 8 wird in das Rechenregister eingelesen,
da die in der Stufe 0 gespeicherte Vorzeichenziffer und die in den Stufen 1 und 2 gespeicherten Ziffern für
Zahlen größer als 35 nicht benötigt werden, da die Positionszahl immer positiv und niemals größer als 35
ist. Die zur Löschung des Schrittzählers und zur Datenübertragung in das Rechenregister benutzten
Schaltungen haben jeweils eine Eigenverzögerung, so daß die in das Rechenregister entsprechend dem Impuls
Te eingelesene Zahl gefühlt wird, bevor durch denselben Impuls der Zähler gelöscht wird. Wenn folglich, wie in
dem Ablaufdiagramm der Fig.2 dargestellt ist, das INCOP-Signal vorhanden ist, löscht der Impuls den
Schrittzähler, um alle »0« zu speichern, und überträgt die inkrementierte Positionszahl (P'^in das Positionsfeld
des in dem Rechenregister gespeicherten Zeigerwortes. Der Impuls T6 wird auch an die ODER-Schaltung 80
(F i g. 9) angelegt, deren Ausgang das Flip-Flop 52 auf »1« schaltet Wie in Fig.7 dargestellt, werden durch
diesen Zustand des Flip-Flops 52 die Verknüpfungsglieder in dem Schrittzähler freigegeben, um einen
Datenweg zwischen den Pufferspeicherstufen 6 bis 11 und dem Schrittzähler zu schaff en.
Auf diese Weise überträgt dann der Impuls Te zuerst die Positionszahl (P') von dem Schrittzähler an die
Stufen 0 bis 5 des Rechenregisters, löscht den Schrittzähler und schafft einen Weg für die Bytegrößenzahl
(S), die von dem Speicherpuffer 16 in den Schrittzähler zu lesen ist. In dem Taktverteiler 74 in
F i g. 9 wird durch eine Verzögerungsschaltung 104 der Impuls Te verzögert, um den Taktimpuls T7 zu schaffen.
Dieser Impuls wird an die ODER-Schaltung 75 in F i g. 8 angelegt, um das Teiladditionssignal für den Schrittzähler zu erzeugen. Folglich wird die Zahl (S) in den
Schrittzähler geladen. Wie in dem Ablaufdiagramm der
ίο F i g. 2 angezeigt ist, überträgt, wenn das INC OP-Signal
vorhanden ist, der Impuls T7 auch den Inhalt des
Rechenregisters 14 an den Speicherpuffer 16. Diese herkömmliche Operation wird beispielsweise durch
Anlegen des Impulses an eine UND-Schaltung 105 (Fig.9) eingeleitet, die durch das INCOP-Signal
freigegeben ist Durch diese Übertragung kommt das inkrementierte Bytezeigerwort in den Speicherpuffer.
Der Impuls 7g wird durch Verzögern des Impulses T7
in einer Verzögerungsschaltung 106 (F i g. 9) und bei Vorhandensein des INC OP-Signals mittels einer
UND-Schaltung 108 erzeugt, und löst eine Schreiboperation
aus, die durch an sich bekannte Operationen durchgeführt wird, wodurch das inkrementierte Bytezeigerwort
von dem Speicherpuffer 16 an den Speicher 12 übertragen wird. Der Impuls 7s setzt auch das
Flip-Flop 110 (Fig.9) auf »1« und gibt dadurch die
UND-Schaltung 112 frei ,
In Zusammenfassung dieser Operationsfolge, die nach dem Impuls Ts durchgeführt wird, wenn das
INC OP-Signal vorhanden ist, wird durch den Impuls Te
die inkrementierte Positionszahl (P') in das Rechenregister von dem Schrittzähler aus eingelesen, welcher dann
auf »0« gestellt wird. Entsprechend dem Impuls T7 wird
das inkrementierte Zeigerwort an den Speicherpuffer übertragen und die Zahl (S) wird in den Schrittzähler
geladen. Der Impuls Ts, der nur erzeugt wird, wenn das
Signal INC OP vorhanden ist, leitet eine herkömmliche Folge zum Einschreiben des inkrementierten Bytezeigerwortes
in den Speicher der Datenverarbeitungsanlage ein.
Nachdem der Speicher mit der Schreiboperation beginnt, geben herkömmliche Steuerschaltungen ein
Speichersteuersignal MC ab, das an die UND-Schaltung 112 (Fig.9) angelegt wird, welche durch das Flip-Flop
110 freigegeben ist Das sich ergebende Ausgangssignal von der UND-Schaltung 112 läuft über eine ODER-Schaltung
114, um einen Taktimpuls TaB zu erzeugen.
Wenn das Signal INC OP nicht vorhanden ist, d. h. wenn die Anlage einen Bytebefehl verarbeitet, der nicht die
Zeigerinkrementoperation betrifft und das Signal NOT INC OP vorhanden ist, wird der Impuls Ta nicht
geschaffen. Statt dessen springen, wie in F i g. 2 dargestellt, die logischen Schaltungen von dem Impuls
T7 auf den Impuls Tsb, wie im folgenden an Hand von
F i g. 9 beschrieben wird. Der verzögerte Impuls T7 von
der Verzögerungsschaltung 106 wird an die UND-Schaltung 115 angelegt, die durch das Signal
NOT INC OP freigegeben ist. Das sich ergebende Ausgangssignal der UND-Schaltung ist nach einem
Durchlaufen der ODER-Schaltung 114 der Impuls TSB.
Wie ebenfalls in F i g. 9 dargestellt ist, wird der Impuls Tsb an die ODER-Schaltung 116 angelegt, welche auch
den Löschimpuls erhält, und dessen Ausgang an den Null-Eingang des Flip-Flops 110 angelegt wird, um
dadurch das Flip-Flop auf »0« zu schalten. Hierdurch wird die UND-Schaltung 112 gesperrt, so daß
nachfolgende Steuerimpulse MC keinen weiteren Impuls Tsb erzeugen. Der Impuls Tsb wird auch an die
ODER-Schaltung 84 (Fig.9) angelegt, die mit dem Flip-Flop 52 verbunden ist, um das Flip-Flop auf »0« zu
stellen. Durch das Setzen des Flip-Flops 52 auf »0« wird der Schrittzähler (Fig· 7) gesperrt, damit der Inhalt der
Speicherpufferstufen 9 bis 11 nicht ausgelesen wird.
Zum Übertragen der neuen Positionszahl (P') an den Schrittzähler mit Hilfe des folgenden Impulses T9 wird
der Impuls T8B an das Halteregister 96 (F i g. 7) angelegt.
Dementsprechend liest das Halteregister die in den Stufen 0 bis 5 des Speicherpuffers gespeicherten Einsen.
In F i g. 8 wird der Impuls T85 auch an die ODER-Schaltung
73 angelegt, deren Ausgangssignal den Schrittzähler 24 ergänzt, wodurch die entsprechend dem Impuls T7
voreingestellte Bytegrößenzahl (S? vervollständigt wird.
Wenn das Befehlsregister der F i g. 1 einen Bytebefehl enthält, nur um eine Inkrementoperation abzurufen, d. h.
wenn es den Befehl IBP enthält, wird die Leitung 34ß von dem Dekodierer 34 (F i g. 6) erregt und gibt eine
UND-Schaltung 120 frei (F i g. 9). Entsprechend dem verzögerten Impuls Tsb, der von einer Verzögerungsschaltung
122 erhalten wird, gibt die freigegebene UND-Schaltung 120 einen Stoppimpuls ab, welcher
anzeigt, daß der Befehl vervollständigt worden ist. Entsprechend dem Stoppimpuls läuft die Datenverarbeitungsanlage
durch und beginnt mit dem Verarbeiten des nächsten Befehls.
Wenn andererseits das Befehlsregister 20 (Fig. 1) einen Bytebefehl und nicht einen Befehl IBP enthält, d. h.
wenn es einen Bytebefehl enthält, der entweder eine Lade- oder eine Ablegeoperation abruft, wird der
Stoppimpuls nicht erzeugt, und die Anlage arbeitet entsprechend dem Impuls Tsb folgendermaßen weiter.
Der Impuls T88 setzt dann ein Flip-Flop 124 (F i g. 9) auf
»1«, wodurch eine UND-Schaltung 126 erzeugt wird, welche durch das Signal NOT IBP auf der Leitung 34A
von dem Dekodierer 34 (F i g. 6) freigegeben ist.
In F i g. 2 leitet der Impuls Tsb eine Schrittzählerschiebung
und eine Zähloperation ein, wodurch die (S) Einsen in das Akkumulatorregister 18 (Fig. 1) nach links
verschoben werden. Im unteren Teil der F i g. 1 ist die logische Schaltung des für die Verschiebung verwendeten
Akkumulatorregisters dargestellt, das üblicherweise aus 36 Flip-Flops 18a aufgebaut ist. Der Schrittzähler
legt Schiebeimpulse an den entsprechenden Eingang der am weitesten rechts liegenden Flip-Flop-Stufe an.
Dementsprechend schiebt das Register entweder eine »1« oder eine »0« in diese rechte Stufe in Abhängigkeit
davon, welche Eingangsleitung 186 und 18c negativ ist. Jede Eingangsleitung 18Zj und 18c ist über einen
Widerstand, der an eine Gleichspannungsquelle angeschlossen ist, an eine negative Spannung angeschaltet.
Eine ODER-Schaltung 18D verbindet die »0«-Leitung 18c entsprechend entweder dem Signal NOT INC OP
oder entsprechend dem Signal INC OP mit Erdpotential. Eine Torschaltung 18C erdet die »1«-Leitung 186
entsprechend einem Ablegesignal, das während der zweiten Folge bei einem Ablege-Bytebefehl erzeugt
wird.
Wenn der Impuls T8B vorhanden ist, ist der
Ablegebefehl nicht vorhanden und einer der zwei Pegel am Eingang der ODER-Schaltung 18D ist vorhanden.
Folglich ist nur die »1«-Leitung 186 negativ, so daß jeder Schiebeimpuls eine »1« in das rechte Ende der
Flip-Flops 18a lädt. Diese Schiebeimpulse sind die Impulse 5CTi, die in der Schrittzähler-Schiebe- und
Zählsteuerschaltung 71 (F i g. 8) erzeugt werden. Die Schaltung 71 weist eine UND-Schaltung 138 auf, welche
das Signal NOT IBP auf der Leitung 34a sowie den Impuls Tsb erhält. Eine ODER-Schaltung 140 legt den
Ausgangsimpuls der UND-Schaltung an die logische Taktgeberschaltung 142 an, die mit dem Schrittzähler 24
verbunden ist. Die ODER-Schaltung 140 legt auch einen Impuls an die Schaltung 142 entsprechend einem
Ausgang von einer ODER-Schaltung 144 an, welche Signale zur Durchführung der Bytelade- und ablegeoperationen
erhält. Entsprechend einem Impuls von der ODER-Schaltung 140 gibt die logische Taktsteuerschaltung
142 einen Schiebeimpuls SCTt'ab, der »1« zu der
Zahl in dem Schrittzähler addiert, und wie an Hand des unteren Teils der Fig. 10 beschrieben ist, schiebt eine
»1« links in das Akkumulatorregister 18. Da der Schrittzähler an dieser Verbindungsstelle, d. h. wenn der
Impuls T8B abgegeben wird, das Komplement der
Bytegrößenzahl S enthält, zählt der Schrittzähler entsprechend jedem Impuls SCTi auf »0«. Die Schaltung
142 gibt weitere Impulse SCTi ab, bis der Schrittzähler »0« speichert, wenn der Impuls SCT2 abgegeben wird.
Die Schrittzählerschiebe- und Zählsteuerschaltung 71 weist auch Leitwegverknüpfungsglieder 143 auf, die in
üblicher Weise ausgeführt sind und die Schiebeimpulse SCTi in Intervallen zwischen jedem Impuls T8ßund dem
ersten Impuls SCT2 dem Sammelregister zuführen. Auf diese Weise leitet der Impuls Tsb die Schiebe- und
Zählfolge des Schrittzählers ein, was in dem Ablaufdiagramm der F ig. 2 dargestellt ist, und verschiebt dadurch
S Einsen in das rechte Ende des Akkumulatorregisters. Der Impuls SCT2 der Zählsteuerschaltung 71 (F i g. 8)
zeigt das Ende dieses Unterprogramms an, was auch in F i g. 2 dargestellt ist.
Das Akkumulatorregister 18 (Fig. 1) enthält nunmehr ein »Maskenwort« aus lauter Nullen, außer an den
weitesten rechts liegenden S Stufen, welche Einsen enthalten. Das Maskenwort wird sowohl für Byteladeals
auch für -ablegeoperationen verwendet, wie an Hand des Ablaufdiagramms der Fig.3 erläutert wird. Der
SCT2-Impuls am Ende des Schiebe- und Zählunterprogramms wird an eine UND-Schaltung 132 (Fig.9)
angelegt, das mit einem »1«-Ausgang des Flip-Flops 124 verbunden ist. Wenn, wie oben beschrieben, die Anlage
keinen Inkrementbefehl ausführt, wird durch den Impuls Tsb die freigegebene UND-Schaltung 126 angeschaltet
und setzt das Flip-Flop 124 auf »1«. Die Schaltung läßt dann den Impuls SCT2 durch, um den nächsten
Steuerimpuls Tsa zu erzeugen.
Wie in dem Ablaufdiagramm der F i g. 2 dargestellt, wird der Impuls Tsa an eine ODER-Schaltung 124
(F i g. 9) angelegt, dessen Ausgang mit dem »0«-Eingang des Flip-Flops 124 verbunden ist, das dadurch auf »0«
gesetzt und wodurch die UND-Schaltung 132 gesperrt wird. Damit können nachfolgende Impulse SCT2 keine
Störimpulse Tsa erzeugen. Der Impuls Tsa wird über die
ODER-Schaltung 67 (F i g. 8) an die ODER-Schaltung 65 (F i g. 8) angelegt, um den Schrittzähler zu löschen.
Wie weiterhin in Fig.2 dargestellt ist, löscht der
Impuls die Stufen 13 bis 17 des Befehlsregisters 20 in F i g. 1, das, wie eingangs ausgeführt ist, einen Byteverarbeitungsbefehl
(F i g. 4B) speichert. Wie an Hand von F i g. 4B ausgeführt, verwendet, wenn die Stufen 13 bis
17, d. h. ein Teil des Adreßfeldes, lauter Nullen enthalten,
die Datenverarbeitungsanlage die Zahl in den Stufen 18 bis 35 als die Speicheradresse des in dem Befehl zu
verwendenden Wortes.
In F i g. 9 erhält die Verzögerungsschaltung 136 den Impuls Tsa, und nach einem fest vorgegebenen Intervall
gibt sie den Impuls Tg ab. Wie in F i g. 6 dargestellt, setzt
dieser Impuls die Flip-Flops 30 und 32 auf »1«, wodurch
909 586/3
angezeigt wird, daß die erste Folge der Byteverarbeitungsoperation
nunmehr beendet ist. Wenn diese Flip-Flops auf »1« geschaltet sind, werden die
UND-Schaltungen 38 und 40 in F i g. 6 gesperrt, und die
Signale INC OP und NOT INC OP werden beendet.
In Fig.7 wird der Impuls Tg an den Schrittzählereingang
angelegt, "so daß der Zähler die in dem Halteregister 96 gespeicherte Zahl liest. Die Zahl in dem
Halteregister, die auf diese Weise an den Schrittzähler übertragen worden ist, ist die inkrementierte Positionszahl P', die entsprechend dem Impuls Tsb aus dem
Speicherpuffer 16 gelesen worden ist. Die Datenverarbeitungsanlage
hat damit die erste Folge von Adressen-Abruf- und Ausführungszyklen für einen Byteverarbeitungsbefehl
beendet. Das Rechenregister und der Speicherpuffer enthalten jeweils das inkrementierte
Bytezeigerwort. Das Akkumulatorregister enthält ein Maskenwort aus Eisen an den äni weitesten rechts
liegenden S Stufen und Nullen an den übrigen Stufen.
Das Befehlsregister enthält noch den ursprünglichen Byteverarbeitungsbefehl, der die gerade beschriebenen
Operationen eingeleitet hat. Schließlich enthält der Schrittzähler die Pqsitioriszahl P'. Wenn der Bytebefehl
für einen Inkrementiervorgang abgerufen wird, ist die
Steilungszahl /"die sich ergebende inkrementierte Zahl;
sonst befindet sich die Positionszahl in dem ursprünglichen Bytezeigerwort in dem Speicherpüffer.
Nach einer entsprechenden Verzögerung löst der letzte Taktimpuls T9 des Taktverteilers (Fig.9) einen
Adreßzyklus aus. Während dieses Zyklus benutzt die Datenverarbeitungsanlage das in dem Rechenregister
vorhandene Bytezeigerwort, um die Adresse eines Wortes in dem Speicher zu berechnen. Während des
Abrufzyklus wird im Anschluß an diesen Adressenzyklus
das Wort von dem Speicher 12 aus in den Speicherpuffer 16 gelesen (F ig. 1).
Wenn das Befehlsregister 20 (Fig. 1) einen Befehl
ίο LDB oder ILDB, d. h. einen Byteverarbeitungsbefehl
enthält, um ein in ein Datehwort zu ladendes. Byte
aufzurufen, nachdem der Abrufzyklus der zweiten Folge beendet ist, fährt die Datenverarbeitungsanlage mit
einem weiteren Ausführungszyklus fort Der erste Taktimpuls ET0 erzeugt zwei Taktimpulse LT0 und LToa
zur Durchführung der Ladeoperaüonen.
Entsprechend diesen zwei Impulsen wird das Speicherwort, welches das Byte enthält, in dem
Rechenregister um P Bytes verschoben, so daß sich das Byte in den am weitesten rechts liegenden 5 Stufen des
Registers befindet. Das Maskenwort wird ebenfalls in den Speicherpuffer gelesen. Der Inhalt des Speicherpuffers
wird dann in dem Rechenregister summiert, mit dem Ergebnis, daß das Rechenregister nunmehr das
Byte in seinen am weitesten rechts liegenden Stufen und in den restlichen (36 - S^Stufen Nullen enthält. Das
Byte steht nunmehr für herkömmliche Rechenoperationen zur Verfügung. [■' ';/'''' v;'■"" ;'', '!j''''.! ' '- ['.Z'.'.'.'.
.,. Hierzu 7 Blatt Zeichnungen
']/■■ .'■ :'■■■'■ ·■'■■;
Claims (1)
- Patentanspruch:Adreßrecheneinrichtung für eine Datenverarbeitungsanlage zum Verarbeiten von Wörtern mit N Bits und Datenmengen von weniger als N Bits, die durch eine Endbitadresse und durch die Anzahl der Bits bei Beginn der Verarbeitung definiert sind, mit einem Speicher zum Speichern von Daten und Befehlen, wobei jede Speicherstelle Wörter mit N Bits aufweist und jeweils durch eine in einem Wortadressenregister enthaltene Wortadresse adressiert ist, mit Wähleinrichtungen zum Auswählen einer bestimmten Speicherstelle in Abhängigkeit vom Adressenteil des Befehls, und mit Schaltkreisen zum Verarbeiten eines aus der gewählten Speicherstelle herauszulesenden oder in diese einzuspeichernden Datenmenge, gekennzeichnet durch :·.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US491954A US3401375A (en) | 1965-10-01 | 1965-10-01 | Apparatus for performing character operations |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1524114A1 DE1524114A1 (de) | 1970-08-13 |
DE1524114B2 DE1524114B2 (de) | 1980-02-07 |
DE1524114C3 true DE1524114C3 (de) | 1980-10-09 |
Family
ID=23954352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1524114A Expired DE1524114C3 (de) | 1965-10-01 | 1966-09-29 | Adreßrecheneinrichtung für eine Datenverarbeitungsanlage |
Country Status (3)
Country | Link |
---|---|
US (1) | US3401375A (de) |
DE (1) | DE1524114C3 (de) |
GB (3) | GB1166647A (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE758811A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites |
US3781812A (en) * | 1971-06-28 | 1973-12-25 | Burroughs Corp | Addressing system responsive to a transfer vector for accessing a memory |
NL163350C (nl) * | 1971-09-04 | 1980-08-15 | Philips Nv | Matrixgeheugen met middelen voor het al dan niet geinverteerd inschrijven van woorden. |
US3858183A (en) * | 1972-10-30 | 1974-12-31 | Amdahl Corp | Data processing system and method therefor |
JPS512302A (en) * | 1974-06-24 | 1976-01-09 | Fujitsu Ltd | Johotensohoshiki |
US4103329A (en) * | 1976-12-28 | 1978-07-25 | International Business Machines Corporation | Data processing system with improved bit field handling |
US4135242A (en) * | 1977-11-07 | 1979-01-16 | Ncr Corporation | Method and processor having bit-addressable scratch pad memory |
US4388685A (en) * | 1978-08-04 | 1983-06-14 | Digital Equipment Corporation | Central processor with apparatus for extended virtual addressing |
US4371931A (en) * | 1979-06-27 | 1983-02-01 | Burroughs Corporation | Linear micro-sequencer for micro-processor system utilizing specialized instruction format |
US4291372A (en) * | 1979-06-27 | 1981-09-22 | Burroughs Corporation | Microprocessor system with specialized instruction format |
US4358826A (en) * | 1980-06-30 | 1982-11-09 | International Business Machines Corporation | Apparatus for enabling byte or word addressing of storage organized on a word basis |
US4520439A (en) * | 1981-01-05 | 1985-05-28 | Sperry Corporation | Variable field partial write data merge |
-
1965
- 1965-10-01 US US491954A patent/US3401375A/en not_active Expired - Lifetime
-
1966
- 1966-09-29 DE DE1524114A patent/DE1524114C3/de not_active Expired
- 1966-10-03 GB GB02583/69A patent/GB1166647A/en not_active Expired
- 1966-10-03 GB GB02582/69A patent/GB1166646A/en not_active Expired
- 1966-10-03 GB GB44134/66A patent/GB1166645A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1166645A (en) | 1969-10-08 |
DE1524114B2 (de) | 1980-02-07 |
DE1524114A1 (de) | 1970-08-13 |
GB1166646A (en) | 1969-10-08 |
GB1166647A (en) | 1969-10-08 |
US3401375A (en) | 1968-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE1524114C3 (de) | Adreßrecheneinrichtung für eine Datenverarbeitungsanlage | |
DE2424931A1 (de) | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2424810A1 (de) | Datenverarbeitungsanlage, insbesondere kleine mikroprogramm-datenverarbeitungsanlage mit mehrsilbenmikrobefehlen | |
DE1255356B (de) | Steuervorrichtung fuer taktgesteuerte Rechenmaschinen | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
EP0134831B1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE3121742A1 (de) | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung | |
DE1499206B2 (de) | Rechenanlage | |
DE2725614C2 (de) | ||
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2609698C2 (de) | Elektronischer Rechner | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE1223177B (de) | Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl | |
DE1184122B (de) | Addiervorrichtung | |
DE3535215C2 (de) | ||
DE3104256C2 (de) | ||
DE1474017C3 (de) | Datenverarbeitungsanlage | |
DE1549446A1 (de) | Digitalrechner | |
DE2717374C2 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BI | Miscellaneous see part 2 | ||
OI | Miscellaneous see part 1 | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |