DE1524114C3 - Adreßrecheneinrichtung für eine Datenverarbeitungsanlage - Google Patents

Adreßrecheneinrichtung für eine Datenverarbeitungsanlage

Info

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
Application number
DE1524114A
Other languages
English (en)
Other versions
DE1524114B2 (de
DE1524114A1 (de
Inventor
Chester Gordon Pittsburg Pa. Bell
Alan Belmont Mass. Kotok
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE1524114A1 publication Critical patent/DE1524114A1/de
Publication of DE1524114B2 publication Critical patent/DE1524114B2/de
Application granted granted Critical
Publication of DE1524114C3 publication Critical patent/DE1524114C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

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)
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) .,
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)

  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 :·.
DE1524114A 1965-10-01 1966-09-29 Adreßrecheneinrichtung für eine Datenverarbeitungsanlage Expired DE1524114C3 (de)

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)

* Cited by examiner, † Cited by third party
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

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