DE1774866C3 - Circuit for determining the address of a piece of information contained in a memory of a data processing system - Google Patents
Circuit for determining the address of a piece of information contained in a memory of a data processing systemInfo
- Publication number
- DE1774866C3 DE1774866C3 DE19681774866 DE1774866A DE1774866C3 DE 1774866 C3 DE1774866 C3 DE 1774866C3 DE 19681774866 DE19681774866 DE 19681774866 DE 1774866 A DE1774866 A DE 1774866A DE 1774866 C3 DE1774866 C3 DE 1774866C3
- Authority
- DE
- Germany
- Prior art keywords
- register
- address
- memory
- output
- stack
- 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
- 238000003860 storage Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 21
- 238000000034 method Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 208000037516 chromosome inversion disease Diseases 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Die Erfindung betrifft eine Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information, mit einem Rechenspeicher mit zugehöriger Lese/Schreibsteuerung, mit einem Speicheradreßregister, mit einem Rechenwerk, mit einem wenigstens ein separates Register aufweisenden Stapelspeicher, in dem mehrere Adreßwörter enthalten sind, von denen jedes die Basisadresse des die gesuchte Information enthaltenden Speicherbereichs sowie eine Angabe Ober die Relativadresse der Information bezüglich der Basisadresse enthält, wobei an das Register eine Dekodierschaltung sowie ein Addierer angeschlossen sind.The invention relates to a circuit for determining the address of a memory in a data processing system contained, searched information, with an arithmetic memory with associated read / write control, with a memory address register, with an arithmetic unit, with at least one separate one Stack having registers, in which several address words are contained, each of which the Base address of the memory area containing the information sought and an indication of the relative address contains the information relating to the base address, the register being connected to a decoding circuit and an adder are connected.
Aus Speiser: Digitale Rechenanlagen, 1965, ist es bekannt, im Rahmen der relativen Adressierung in Indexregistern enthaltene Indexwerte zu verwenden, die zu der in den Adreßwörtern enthaltenen Basisadresse zur Bildung der absoluten Adresse der gesuchten Information addiert werden.From Speiser: Digital Computing Systems, 1965, it is known to use index values contained in index registers within the framework of relative addressing, to the base address contained in the address words to form the absolute address of the searched Information to be added.
In der Datenverarbeitungsanlage, die in der US-Patentschrift 32 22 649 beschrieben ist, werden zur Adressierung von Operanden Adressenwörter benutzt von denen jedes die Basisadresse des Speicherbereichs angibt in welchem Operanden enthalten sind. Zur Adressierung einer Information wird daher noch die Relativadresse der Information benötigt die in einem eigenen Steuerwort bereitgestellt wird.In the data processing system disclosed in U.S. Patent 32 22 649 is described, address words are used to address operands each of which indicates the base address of the memory area in which operands are contained. To the Addressing information is therefore still required in a relative address of the information own control word is provided.
Diese Einrichtung ist insofern nachteilig, als zur Adressierung einer Information dem den Aufenthaitsbereich der Information bezeichnenden AdreBwort ein weiteres, die Relativadresse als Konstante enthaltendes Wort nachfolgen muB. Dadurch werden im Ergebnis zwei Speicherzyklen benötigt um die Voraussetzungen für die Adressenbildung zu schaffen.This device is disadvantageous in that it is used to address information to the residence area the information designating address word containing the relative address as a constant Word must follow. As a result, two memory cycles are required to meet the requirements for creating addresses.
Mit der Erfindung soll eine Schaltung geschaffen werden, die die Adressierung beschleunigt und mit einem einheitlichen Adreßwort-Format arbeitet welches insbesondere auch eine automatische Adressierung von in peripheren Massenspeichern abgelegten informationen ermöglich*.With the invention, a circuit is to be created that accelerates the addressing and with a uniform address word format works which, in particular, also includes automatic addressing of information stored in peripheral mass storage devices *.
Die eingangs genannte Schaltung ist dazu erfindungsgemäß dadurch gekennzeichnet daß das Register vier Abschnitte aufweist von denen der erste Registerabschnitt mit einem ersten Eingang des Addierers sowie mit dem Speicheradressenregister verbunden ist daB der zweite Registerabschnitt mit einem zweiten Eingang des Addierers und der Addierer-Ausgang mit dem Speicheradressenregister verbunden sind, und daß der dritte und vierte Registerabschnitt an die Dekodierschaltung angeschlossen sind, von der ein erster Ausgang die Bildung einer absoluten Rechenspeicheradresse aus dem im zweiten Registerabschnitt enthalte nen Index und der im ersten Registerabschnitt enthaltenen Basisadresse durch den Addierer veranlaßt, ein zweiter Ausgang mit dem Steuereingang eines in die Verbindungsleitung zwischen erstem Registerabschnitt und Speicheradreßregister gelegten Gatters zur Ansteuerung eines weiteren Adreßwortes (Stapelbezeichner) in dem Stapelspeicher sowie ein dritter AusgangThe circuit mentioned at the beginning is characterized according to the invention in that the register is four Sections of which the first register section has a first input of the adder as well The second register section is connected to the memory address register with a second one The input of the adder and the adder output are connected to the memory address register, and that the third and fourth register sections are connected to the decoding circuit, a first of which Output the formation of an absolute arithmetic memory address from that contained in the second register section NEN index and the base address contained in the first register section caused by the adder, a second output with the control input of one in the connecting line between the first register section and memory address register to control another address word (stack identifier) in the stack as well as a third output
mit einem Rechenwerk zur Einleitung einer Holoperation der in einem Ablagespeicher abgelegten Information in den Rechenspeicher verbunden sind. Dadurch eröffnet sich die Möglichkeit, mit unterschiedlichen Adreßwörtern zu arbeiten, die jedoch gleiches Format haben. Zusätzlich zu den ganze Speicherbereiche bezeichnenden Adreßwörtern kann die erfindungsgemäße Schaltung auch mit Adreßwörtern arbeiten, die mit Index (Relativadresse) und gesonderter Basisadresse ausgerüstet sind, durch die an sich bekannte Kombination der beiden Adressenteile die gesuchte Adresse ohne weiteren Speicherzugriff zu bilden gestattet und dennoch an Hand der gesondert ausgewiesenen Basisadresse die Zugehörigkeit zu einem bestimmten Speicherbereich identifizierbar macht Schließlich nutzt die erfindungsgemäße Schaltung die in dem einheitlichen Adreßwort-Format enthaltene Mitteilung so aus, daß bei Antreffen einer abgelegten Information automatisch ein Holvorgang eingeleitet wird, ohne daß dazu noch weitere Befehle benötigt werden.with an arithmetic unit to initiate a fetch operation the information stored in a storage memory are connected to the computing memory. Through this opens up the possibility of working with different Address words work, but they have the same format to have. In addition to address words designating entire memory areas, the Circuit also work with address words that have an index (relative address) and a separate base address are equipped, through the known combination of the two address parts the sought Addresses are permitted to be formed without further memory access, and yet separately on the basis of the designated base address makes the affiliation to a certain memory area identifiable Finally, the circuit according to the invention uses the message contained in the uniform address word format in such a way that a fetching process is automatically initiated when a stored item of information is encountered without the need for further commands.
Die Erfindung kann mit besonderem Vorteil zu einer automatischen Anpassung der Adreßwörter an die bei der Ablage der Information in periphere Speicher veränderten Adressen weitergebildet werden. Dazu ist fOr den Stapelspeicher ein erstes Stapeladreßregister vorgesehen, das Rechenwerk ist mit einem weiteren Stapeladreßregister und mit einem Stapelsuchregister zur Eingabe der Adresse des abzulegenden Informationsbereichs verbunden, wobei der Ausgang des Stapelsuchregisters mit einem Eingang einer Vergleichsschaltung verbunden ist, deren anderer Eingang mit dem ersten Stapeladreßregister verbunden ist, und der Ausgang der Vergleichsschaltung ist zum Weiterstellen des Inhalts des Stapelsuchregisters mit einem Inkrementzähler verbunden.The invention can be particularly advantageous for an automatic adaptation of the address words to the the storage of the information in peripheral memory changed addresses are further developed. Is to A first stack address register is provided for the stack memory, the arithmetic unit is connected to another Stack address register and with a stack search register for entering the address of the information area to be stored connected, the output of the stack search register to an input of a comparison circuit whose other input is connected to the first stack address register, and the output of the comparison circuit is for advancing the contents of the stack search register with a Increment counter connected.
Nachstehend werden Ausführungsbeispiele der Erfindung beschrieben, wobei auf die Zeichnungen Bezug genommen wird Es zeigtEmbodiments of the invention are shown below with reference to the drawings. FIG
F i g. 1 ein schematisches Blockschaltbild einer Schaltung zur Verarbeitung von Adressen,F i g. 1 is a schematic block diagram of a circuit to process addresses,
F i g. 2 ein schematisches Blockschaltbild der Schaltung fOr die Anpassung der Adressenwörter an den Ablegevorgang,F i g. 2 is a schematic block diagram of the circuit for adapting the address words to the Discarding process,
F i g. 3, 4 und 5 eine schematische Darstellung der Adreßwort-Formate und der Adressierung im Zusammenhang mit den Schaltungen nach F i g. 1 und ZF i g. 3, 4 and 5 a schematic representation of the address word formats and the addressing in connection with the circuits according to FIG. 1 and Z
In den F i g. 3, 4 und 5 sind verschiedene Arten von Adressenwörtern wiedergegeben sowie ein Stapel in einem Rechenspeicher und ein peripherer Speicher dargestellt Zur besseren Obersicht ist der Stapel in F i g. 3 und 4 als ein rechteckiger Block 2 gezeigt in dem sich Speicherzellen (wie etwa 3 und 4) Ober die Breite des Stapels erstrecken und in dem Stapel übereinander angeordnet sind, womit dargestellt sein soll, daß die Zellen in dem Stapel aufeinanderfolgende Speicheradressen besitzen. Der periphere Speicher hat in F i g. 5 die Form eines Kreises S mit einem Kreisausschnitt 6, in dem Information aus einem Stapel des Rechenspeichers als Ablage gespeichert istIn the F i g. 3, 4 and 5 are different types of Address words reproduced as well as a stack in an arithmetic memory and a peripheral memory For a better overview, the stack is shown in FIG. 3 and 4 shown as a rectangular block 2 in FIG memory cells (such as 3 and 4) extend across the width of the stack and one above the other in the stack are arranged, which should be shown that the Cells in the stack have consecutive memory addresses. The peripheral memory has in FIG. 5 the shape of a circle S with a segment of a circle 6 in which information from a stack of the computer memory is saved as a filing system
In Fig.3 ist ab Adrosenwort ein Einzelspeicher 7 gezeigt, der die Zelle 3 des Rechenspeichers bezeichnet Der Einzelbezeichnisr 7 enthalt ein erstes Feld 8', das einen Basisadreßwert angibt, ein zweites Feld 9, das einen Indexwert angibt ein drittes Feld W, das die Art des Feldes 8' angibt und ein viertes Feld If zur Bezeichnung des Adretsenworts. Nach Fig.3 ist der Basisadreßwert des Einzdbezeichners 7 die Speicheradresse der Zelle 4, d. h. der Zelle an der unteren Grenze des Stapels Z Femer ist der Index wert des Einzelbezeichners ? die Anzahl der Zellen von der Zelle 4 bis zur Zelle 3. Dementsprechend ist die absolute Adresse der Zelle 3 in dem Rechenspeicher die Summe des Basisadreßwertes und des Indexwertes. Das vierte Feld 11' enthält ein einzelnes Bit zur Identifikation des Adressenwortes, dessen Wert »1« anzeigt, daß das Adressenwort 7 ein Einzelbezeichner ist Das dritte FeldIn Figure 3, an individual memory 7 is shown starting from the address word, which designates cell 3 of the arithmetic memory. The individual directory 7 contains a first field 8 'which indicates a base address value, a second field 9 which indicates an index value, a third field W which contains Type of field 8 'indicates and a fourth field If to designate the address word. According to FIG. 3, the base address value of the individual identifier 7 is the memory address of the cell 4, ie the cell at the lower limit of the stack Z. Furthermore, is the index value of the individual identifier ? the number of cells from cell 4 to cell 3. Correspondingly, the absolute address of cell 3 in the arithmetic memory is the sum of the base address value and the index value. The fourth field 11 'contains a single bit to identify the address word, the value of which "1" indicates that the address word 7 is a single identifier. The third field
ίο IC hat eine einzelne Bitstelle zur Identifikation des ersten Feldes, wobei eine »1« in der Bitstelle anzeigt, daß das erste Feld 8' eine Basisadresse enthält In F i g. 3 ist außerdem als Adressenwort ein Stapelbezeichner 12 gezeigt, der den gesamten Stapel 2 anzeigt Stapelbe-ίο IC has a single bit position to identify the first field, with a "1" in the bit position indicating that the first field 8 'contains a base address In FIG. 3 is also a stack identifier 12 as an address word shown, which shows the entire stack 2
is zeichner 12 enthält ein erstes Feld 13', das einen Basisadreßwert angibt, ein zweites Feld 14', das einen Längenwert angibt ein drittes Feld 15', das die Art des Feldes 13' angibt, und ein viertes Feld 16' zur Bezeichnung des Adressenwort-Typs. Die Felder 13', 14', IS' und 16' nehmen in dem Stapelbezeichner 12 die gleichen Bitplätze ein, wie die entspr.. nenden Felder 8, 9", 10* und 11' in dem Einzelbezeichner 7..' Jach F i g. J ist der Basisadreßwert des ersten Feldes 13' die Speicheradresse der Zelle 4, d. h. der Zelle an der unteren Grenze des Stapels Z Der Längenwert des zweiten Feldes 14' ist die An? JiI der Zellen in dem Stapel Z Daher bestimmen die Felder 13' und 14' die Grenzen des gesamten Stapels. Im vorliegenden Falle steht an der Bitstelle zur Identifikation des Bezeichners in dem vierten Feld 16' der Wert »0«, der das Adressenwort als Stapelbezeichner erkennbar macht und in der Bitstelle des dritten Feldes 15' zur Identifikation des ersten Feldes ist der Wert »1« enthalten, wodurch das erste Feld 13' als Basesadresse in dem Rechenspeicher ausgewiesen istis drawing 12 contains a first field 13 ', the one Base address value indicates a second field 14 ', the one Length value indicates a third field 15 ', which indicates the type of field 13', and a fourth field 16 'for Designation of the address word type. The fields 13 ', 14', IS 'and 16' take in the batch identifier 12 the the same bit positions as the corresponding fields 8, 9 ", 10 * and 11 'in the single identifier 7 ..' Jach F i g. J is the base address value of the first field 13 'is the memory address of cell 4, i. H. of the cell at the lower limit of the stack Z The length value of the second field 14 'is the An? Therefore, determine the JiI of the cells in the Z stack fields 13 'and 14' the boundaries of the entire stack. In the present case is available at the bit position Identification of the identifier in the fourth field 16 'the value "0", which uses the address word as a stack identifier makes recognizable and in the bit position of the third field 15 'to identify the first field is the Contain the value "1", whereby the first field 13 'is identified as the base address in the arithmetic memory
In F i g. 4 bezeichnen der dargestellte Einzelbezeichner 7 und der Stapelbezeichner 12 eine abgelegte Information, nachdem diese aus dem peripheren Speicher in den Rechenspeicher zurückgeholt wurde. In diesem Falle bezeichnet das erste Feld 6' des Einzelbezeichners 7 die Stelle des Stapelbezeichners für den Stapel 2 und an der Bitstelle des dritten Feldes W zur Identifikation des ersten Feldes steht der Wert »0«, wodurch das erste Feld 8' als Stapelbezeichnerstelle ausgewiesen ist Wie in Fig.4 erläutert wird der Stapelbezeichner IZ der mit demjenigen aus der F i g. 3 identisch ist mit der Stapelbezeichnerstelle aus dem ersten Feld 8' des Einzelbezeichners 7 wiedergefunden. Da das erste Feld 13' des Stapelbezeichners 12 den Basisadreßwert des Stapels 2 anzeigt wird die absoluteIn Fig. 4, the illustrated individual identifier 7 and the stack identifier 12 designate stored information after it has been fetched back from the peripheral memory into the computing memory. In this case, the first field 6 'of the individual identifier 7 denotes the position of the batch identifier for the batch 2 and the bit position of the third field W to identify the first field contains the value "0", whereby the first field 8' is identified as the batch identifier position As explained in FIG. 4, the batch identifier IZ is linked to that from FIG. 3 is identical to the batch identifier position from the first field 8 'of the individual identifier 7. Since the first field 13 'of the batch identifier 12 indicates the base address value of the batch 2, it becomes the absolute
so Adresse der Zelle 3 in dem Rechenspeicher in diesem Falle durch die Summe der Felder 9' und 13' erhalteaso address of cell 3 in the arithmetic memory in this Get trap by adding fields 9 'and 13'
In F i g. 5 bezeichnen der dargestellte Einzelbezeichner und der Stapelbezeichner 12 eine Information währ'.nt! ihrer Ablage in den peripheren Speicher 5. Der Einzelbezeichner 7 ist identisch mit demjenigen aus der Fig.4. Der Stapeibezeichner 12 jedoch unterscheidet sich von jenem aus Fig.4. Das erste Feld 13' des Stapelbezeichners 12 gibt die Adresse der abgelegten Information in dem peripheren Speicher 5 an und die Bitstelle im Feld 15' zur Feldidentifikation enthält den Wert »0«, wodurch das erste Feld 13' als eine periphere Speicheradresse ausgewiesen istIn Fig. 5, the individual identifier shown and the batch identifier 12 denote information for a while! their storage in the peripheral memory 5. The individual identifier 7 is identical to that from Fig. 4. The stack marker 12, however, differs differs from that of Fig. 4. The first field 13 'of the batch identifier 12 gives the address of the stored Information in the peripheral memory 5 and the bit position in field 15 'for field identification contains the Value "0", whereby the first field 13 'is identified as a peripheral memory address
Mit der Schaltung in F i g. 1 wird ein Rechenspeicher nach den in den Fig.3, 4 und 5 dargestellten Adressenwörtern adressiert Diese Anordnung arbeitet in Verbindung mit einem digitalen Rechner, dem ein Rechenspeicher 20 und ein Rechenwerk 21 beigegeben ist Ein Teil des Rechenspeichers 20 ist dafürWith the circuit in FIG. 1 is an arithmetic memory according to the ones shown in FIGS. 3, 4 and 5 Address words addressed This arrangement works in conjunction with a digital computer, the a Computing memory 20 and an arithmetic unit 21 are attached. A part of the computing memory 20 is for this
vorgesehen, als ein Zwischenspeicher für Bezeichner, Operanden und andere Informationsposten zu dienen, die während des Arbeitsablaufes des Rechners benutzt werden. Dieser Zwischen-Speicher wird ein Stapel genannt, weil die in ihm hintereinander gestapelten Posten in umgekehrter Reihenfolge wieder ausgelesen werden. Mit anderen Worten, die Posten werden stets von der Oberseite des Stapels abgenommen. Obgleich der Stapel ein apparativer Teil des Rechenspeichers 20 ist ist er in F i g. 1 als ein Stapelspeicher 22 dargestellt, wänrend der restliche Rechenipeicher 20 als ein Hauptspeicher 23 ausgewiesen ist Die Bezeichner in dem Stapelspeicher 22 bezeichnen Zellen und Stapel in dem Hauptspeicher 23. In dieser Beschreibung wird der Ausdruck »Zelle« für einen oder mehrere Bitstellen in dem Speicher benutzt, die ein Zeichen, ein Wort etc. bilden, während der Ausdruck »Stapel« eine Gruppe von Zellen umschreibt, die aufeinanderfolgende Adressen in dem Speicher besitzen. Bei der Herstellung von Bezeichnern wird die erste Information in einem Stapel im Rechenspeicher 20 bezeichnet, ein Stapelbezeichner gebildet und danach jedesmal ein Einzelbezeichner erzeugt Auf diese Weise liegen alle zu einem bestimmten Stapelbezeichner gehörenden Einzelbezeichner auf diesem Stapelbezeichner übereinander in dem Stapel. Für den Zugriff zu einer Zelle in dem Hauptspeicher 23 wird eine die Stelle der Zelle in dem Hauptspeicher 23 bezeichnende Speicheradresse auf ein Speicheradreßregister 24 gegeben. Danach findet ein Austausch von Information statt zwischen der bezeichneten Zellstelle in dem Hauptspeicher 23 und dem Rechenwerk 21 über ein Speicherinformationsregister 25, gesteuert durch die Lese/Schreibe-Steuereinheit 31. Ein Stapeladreßregister 26 zeigt die Adresse der Oberseite des Stapels im Speicher 22 an. Jedesmal, wenn ein Posten aus dem Stapel ausgelesen oder von ihm entfernt wird, wird der Adreßwert in dem Register 26 um einen Wert herabgesetzt und jedesmal, wenn ein Posten in den Stapel eingeschrieben oder in ihn eingebracht wird, wird der Adressenwert in dem Register 26 um einen Wert erhöht Die Register 27 und 28 arbeiten in Verbindung mit dem Stapelspeicher 22. Das Register 28 hat vier Abschnitte, von denen der erste mit 8, der zweite mit 9, der dritte mit 10 und der vierte mit 11 bezeichnet sind. Das Register 27 hat ebenfalls vier Abschnitte, die der Reihe nach mit 13,14,15 und 16 bezeichnet sind. Diese Registerabschnitte dienen zur Aufnahme der entsprechend bezeichneten Felder der Adressenwörter. Die Zustände der Flip-Flops 29 und 30 zeigen an, ob die entsprechenden Register 27 und 28 besetzt sind, d. h. aufzubewahrende Information enthalten. Wenn das Flip-Flop 29 bzw. 30 gesetzt ist sein Ausgang »1« aktiviert ist dann ist das zugehörige Register besetzt. Wenn das Flip-Flop 29 bzw. 30 zurückgesetzt sein »0«-Ausgang aktiviert ist, dann ist das zugehörige Register unbesetztintended as a buffer for identifiers, Operands and other items of information used during the calculator's work flow will. This intermediate storage is called a stack because those in it are stacked one behind the other Items can be read out again in reverse order. In other words, the posts will always be removed from the top of the stack. Although the stack is an apparatus part of the computing memory 20 is he is in Fig. 1 shown as a stack memory 22, while the remaining arithmetic memory 20 is designated as a main memory 23 The identifier in the stack memory 22 denotes cells and stacks in the main memory 23. In this description, the The term "cell" is used for one or more bit positions in memory that contain a character, word, etc. form, while the term "stack" describes a group of cells that are consecutive addresses own in memory. The first piece of information in a batch is used in the manufacture of identifiers in the arithmetic memory 20 designated, a stack identifier is formed and then each time a single identifier generated In this way, all individual identifiers belonging to a certain batch identifier are located on this stack identifier on top of each other in the stack. To access a cell in the Main memory 23 becomes a memory address designating the location of the cell in main memory 23 Memory address register 24 given. An exchange of information then takes place between the designated Cell location in main memory 23 and arithmetic logic unit 21 via a memory information register 25, controlled by the read / write control unit 31. A stack address register 26 shows the address of the Top of the stack in storage 22. Every time an item is read from the pile or from it is removed, the address value in register 26 is decreased by one and each time a Item is written or placed in the stack, the address value in the Register 26 incremented by one Register 27 and 28 operate in conjunction with stack memory 22. Register 28 has four sections, the first with 8, the second with 9, the third with 10 and the fourth are denoted by 11. Register 27 also has four sections, sequentially with 13, 14, 15 and 16 are designated. These register sections are used to accommodate the correspondingly labeled fields of the Address words. The states of the flip-flops 29 and 30 indicate whether the corresponding registers 27 and 28 are occupied, i.e. H. contain information to be retained. If the flip-flop 29 or 30 is set, its output "1" is activated then it is the associated one Register occupied. If the flip-flop 29 or 30 reset its "0" output is activated, then is the associated register is unoccupied
Es werde zunächst angenommen, da.B ein Einzelbezeichner in dem Register 28 einen Indexwert in dem Feld 91 besitzt (F i g. 3). Der Fall, daß ein Einzelbezeichner in dem Feld 9' einen Längenwert enthält wird weiter unten nach der Beschreibung der Arbeitsweise der Schaltung nach F i g. 1 erörtertIt will first be assumed da.B a Einzelbezeichner in the register 28 has an index value in the 9 1 (F i g. 3). The case that a single identifier in the field 9 'contains a length value is described below after the description of the operation of the circuit according to FIG. 1 discussed
Während des Arbeitsablaufes des Rechners werden Befehle aus dem Rechenwerk 21 in ein Befehlsregister 40 übertragen. Wenn das Register 40 einen Befehl über einen Zugriff in den Hauptspeicher 23 empfängt beispielsweise bei einem Lese- oder Schreib-Vorgang, wird ein Startsignal erzeugt das über eine Leitung 41 auf eine Schrittsteuerschaltung 42 gegeben wird. Die Schrittsteuerschaltung 42, die aus einer der bekannten Schritt- oder Sequenzschaltungen bestehen kann, hat viele Ausgange, die in aufeinanderfolgenden Zeitinters vallen aktiviert werden, welche durch die Haupttaktsteuerung des Rechnen bestimmt sein können.During the work flow of the computer, commands from the arithmetic unit 21 are stored in a command register 40 transferred. When register 40 receives an instruction to access main memory 23 for example during a read or write process, a start signal is generated which is sent to a step control circuit 42 via a line 41. the Step control circuit 42, which may consist of any of the known step or sequence circuits many outputs, which are activated in successive time intervals, which are determined by the master clock control of arithmetic can be determined.
Nach dem Startsignal auf der Leitung 41 wird der Ausgang PO aktiviert Der Ausgang PO und die »"«-Ausgänge der Flip-Flop* 29 und 30 sind mit denAfter the start signal on the line 41, the output PO is activated. The output PO and the """outputs of the flip-flop * 29 and 30 are connected to the
to Eingängen eines UND-Tores 33 verbunden, dessen Ausgang an den Leseeingang der Lese/Schreibsteuereinheit 32 für den Stapelspeicher 22 geschaltet ist Wenn die Register 27 und 28 bei aktiviertem Ausgang PO beide unbesetzt sind, wird der Ausgang des U N D-Toresto the inputs of an AND gate 33, the output of which is connected to the read input of the read / write control unit 32 for the stack memory 22. If the registers 27 and 28 are both unoccupied when the output PO is activated, the output of the UN D gate
is 33 aktiviert und diese Lese/Schreibe-Steuereinheit 32 betätigt Als Ergebnis wird der Bezeichner an der Oberseite des Stapelspeichers 22 in das Register 27 übertragen, und der in dem Register 26 gespeicherte Wert wird um einen herabgesetzt, (iSeichzeitig wird Has Flip-Flop 29 gesetzt um das Besetztsein des Registers 27 anzuzeigen.is 33 activated and this read / write control unit 32 actuated As a result, the identifier at the top of the stack memory 22 is entered into the register 27 transferred, and the value stored in register 26 is decreased by one, (at the same time Has Flip-flop 29 set to indicate that register 27 is occupied.
Als nächstes wird der Ausgang P\ aktiviert Der Ausgang Pi und der »0«-Ausgang des Flip-Flops 30 sind mit den Eingängen eines I 'ND-Tores 45 verbunden.The output P \ is activated next. The output Pi and the "0" output of the flip-flop 30 are connected to the inputs of an I 'ND gate 45.
Wenn das Register 28 bei aktiviertem Ausgang Pl unbesetzt ist wird der gesamte Bezeichner aus dem Register 27 über ein UND-Tor 46 in das Register 28 gegeben, d'!s Flip-Flop 30 für die Besetzt-Anzcige des Registers 28 gesetzt und das Flip-Flop 29 zurückgesetzt um das unbesetzte Register 27 anzuzeigen.If the register 28 is unoccupied when the output P1 is activated, the entire identifier is derived from the Register 27 entered into register 28 via an AND gate 46, the flip-flop 30 for the busy display of the Register 28 is set and the flip-flop 29 is reset to indicate the unoccupied register 27.
Danach wird der Ausgang PI aktiviert Von den UND-Toren 47 und 48 wird der Inhalt der dritten und vierten Abschnitte 10, U des Registers 28, die die Identifikation des Bezeichners und die Identifikation des ersten Feldes des Bezeichners in dem Register 28 enthalten, untersucht Der dritte Abschnitt 10 des Registers 28 ist direkt mit dem Eingang eines UND-Tores 49 verbunden. Wenn der Wert in diesem Abschnitt »I« beträgt bei aktivierter Leitung P2, wird der mit der Schrittsteuerschaltung 42 durch die LeitungThen the output PI is activated. The contents of the third and fourth sections 10, U of the register 28, which contain the identification of the identifier and the identification of the first field of the identifier in the register 28, are examined by the AND gates 47 and 48 Third section 10 of register 28 is directly connected to the input of an AND gate 49. If the value in this section is "I" with line P 2 activated, the one with the step control circuit 42 is through the line
50 verbundene Ausgang des UND-Tores 49 aktiviert In diesem Fall wird der Arbeitsgang eingeleitet bei dem der Ausgang P3 aktiviert wird Der vierte Abschnitt 11 zur Identifikation des Bezeichners ist direkt mit einem Eingang eines UND-Tores 47 verbunden und der dritte Abschnitt 10 zur Feldidentifikation ist über eine Umkehrstufe 51 mit dem anderen Eingang des UND-Tores 47 verbunden. Wenn die entsprechenden Werte in den Bitstellen zur Identifikation des Bezeichners bzw. des ersten Feldes »1« bzw. »0« bei aktiviertem Ausgang P 2 betragen, wird der durch die Leitung 53 ί. Λ der Schriitsteuerschaltung 42 verbundene Ausgang des UND-Tores 52 aktiviert In diesem Fall wird die schrittweise Aktivierung der Ausgänge P3', PA', P5\ P6' und PT eingeleitet Die Abschnitte 11 und 10 zur Identifikation des Bezeichners und des ersten Feldes sind über eine Umkehrstufe 54 bzw. eine Umkehrstufe50 connected output of AND gate 49 activated In this case, the operation is initiated in which output P3 is activated. The fourth section 11 for identifying the identifier is directly connected to an input of an AND gate 47 and the third section 10 is for field identification Connected to the other input of the AND gate 47 via an inverter 51. If the corresponding values in the bit positions for identifying the identifier or the first field are "1" or "0" when output P 2 is activated, the line 53 ί. Λ the step control circuit 42 connected output of the AND gate 52 activated In this case, the gradual activation of the outputs P3 ', PA', P5 \ P6 'and PT is initiated. Sections 11 and 10 for identifying the identifier and the first field are via a Inversion stage 54 or an inversion stage
51 mit den Eingängen des UND-Tores 48 verbunden.
Wenn die Werte in diesen beiden Bitstellen jeweils »0« bei aktiviertem Ausgang P 2 betragen, wird der über die
Leitung 56 und ein ODER-Tor 57 mit dem Rechenwerk 51 verbundene Ausgang des UND-Tores 55 aktiviert In
diesem Falle wird die Ausführung des Rechenprogramms unterbrochen und die von dem Bezeichner in
dem Register 28 bezeichnete Information aus dem peripheren Speicher in den Rechenspeicher 20 zurückgeholt
Es wird zuerst angenommen, daß die Werte in den51 connected to the inputs of the AND gate 48. If the values in these two bit positions are "0" with activated output P 2, the output of AND gate 55 connected to arithmetic unit 51 via line 56 and an OR gate 57 is activated. In this case, the execution of the arithmetic program is activated interrupted and the information designated by the identifier in the register 28 is fetched back from the peripheral memory into the arithmetic memory 20
It is first assumed that the values in the
beiden Abschnitten zur tdenfikation des Bezeichners bzw. des Feldes jeweils »1« betragen, wodurch unmittelbar nach dem Ausgang Pl der Ausgang PZ aktiviert wird. Wie :n Verbindung mit F i g. 3 erörtert, ist bei dieser Kombination der Werte der Identifikationsbits ein Einzelbezeichner mit einem Basisadreßwert in dem Feld 8' in dem Register 28 gespeichert Daher wird bei aki;'.iertem Ausgang P3 der BasisadreBwert des Einzelbezeichners im Register 28 durch eine Leitung 60 über ein UND-Tor 6t auf einen Eingang eines Addierers ι ο ti gegeben und der Indexwert des Einzelberf-ichners im Register 28 wird durch eine Leitung 63 über ein UND-Tor 64 auf den anderen Eingang des Addierers 62 gegeben. Der Addierer 62 erzeugt einen absoluten Adreßwert, der die Stelle des Zugriffs in dem Speicher identifiziert. Diese absolute Adresse wird durch ein ODER-Tor 67 in das Speicheradreßregister 24 gegeben, wodurch die Information zwischen dem Rechenwerk 21 und der adressierten Zelle des Hauptspeichers 23 ausgetauscht wird.Both sections for identifying the identifier or the field are each »1«, which activates the PZ output immediately after the P1 output. How: n connection with F i g. Discussed 3, wherein the combination of the values of the identification bit is a Einzelbezeichner with a base address value in field 8 'stored in the register 28. Therefore, in aki;'. Iertem output P3 of BasisadreBwert the individual identifier in the register 28 by a line 60 through an AND Gate 6t is given to an input of an adder ι ο ti and the index value of the individual report in register 28 is given through a line 63 via an AND gate 64 to the other input of adder 62. The adder 62 generates an absolute address value which identifies the location of the access in the memory. This absolute address is entered into the memory address register 24 through an OR gate 67, whereby the information between the arithmetic unit 21 and the addressed cell of the main memory 23 is exchanged.
Nun seien in den Abschnitten 11 und 10 zur Identifikation des Bezeichners bzw. des Feldes in dem Register 28 ursprünglich die Werte »1« und »0« enthalten, so daß der Ausgang P3' unmittelbar nach dem Ausgang P2 aktiviert ist. Diese Kombination trifft für einen Einzelbezeichner mit der Stelle seines Stapelbezeichners in dem Feld 8' zu. Der Ausgang P3' und der »1 «-Ausgang des Flip-Flops 29 sind mit den Ausgängen eines UN D-Tores 65 verbunden, dessen Ausgang mit dem Schreibe-Eingang der Lese/Schreibe-Steuer-inheit 32 verbunden ist Wenn das Register 27 bei aktiviertem Ausgang P 3' besetzt ist, wird der Posten in dem Register 27 in die oberste Stelle des Stapelspeichers 22 übertragen. Gleichzeitig wird das Flip-Flop 29 zurückgesetzt zur Unbesetzt-Anzeige des *$ Registers 27 und der in dem Register 26 enthaltene Wert wird um einen erhöhtSections 11 and 10 originally contain the values "1" and "0" to identify the identifier or the field in register 28, so that output P3 ' is activated immediately after output P2. This combination applies to a single identifier with the position of its batch identifier in field 8 '. The output P3 ' and the "1" output of the flip-flop 29 are connected to the outputs of a UN D gate 65, the output of which is connected to the write input of the read / write control unit 32 is occupied when output P 3 'is activated, the item in the register 27 is transferred to the top position of the stack memory 22. At the same time, the flip-flop 29 is reset to display the * $ register 27 unoccupied and the value contained in the register 26 is increased by one
Danach wird der Ausgang PA' aktiviert Der Ausgang PA', der Ausgang des UN D-Tores 47 und die Leitung 60 sind mit den Eingängen eines UND-Tores 66 verbunden. *o Der Ausgang des UND-Tores 66 liegt über ein ODER-Tor 67 an dem Speicheradreßregister 24. Auf diese Weise wird bei aktiviertem Ausgang PA' die Stapelbezeichnerstelle des in dem Register 28 gespeicherten Einzelspe'chers über das UND-Tor 66 in das **> Speicheradreßregister 24 gegeben und die Lese/Schreibe-Steuereinheit 31 wird zur Übertragung des Inhalts der adressierten Stelle im Rechenspeicher 20 in das Register 27 betätigt Tatsächlich ist die adressierte Stelle in dem Stapelteil des Rechenspeichers 20 enthalten. Da Μ dies ein apparativer Teil des Rechenspeichers 20 ist, kann in ihn wie in diesem Faiie durch Anwendung des geeigneten Adreßwertes auf das Speicheradreßregister 24 eingegriffen werden.The output PA 'is then activated. The output PA', the output of the UN D gate 47 and the line 60 are connected to the inputs of an AND gate 66. * o The output of the AND gate 66 is via an OR gate 67 at the memory address register 24. In this way, when the output PA ' is activated, the stack identifier position of the individual memory stored in the register 28 is transferred via the AND gate 66 to the * *> Memory address register 24 is given and the read / write control unit 31 is actuated to transfer the content of the addressed location in the arithmetic logic memory 20 to the register 27. Since Μ this is a part of apparatus of the computing memory 20, the appropriate address value can be taken to the memory address register 24 in him as in this Faiie by application.
Als nächster wird der Ausgang P5' aktiviert Der Abschnitt 15 zur Identifikation des ersten Feldes des Stapelbezeichners in dem Register 27 ist über eine Umkehrstufe 68 mit einem Eingang jedes der UND-Tore 69, 70 und 71 verbunden. Wenn der Wert in dieser Bitstelle »0« beträgt und dadurch anzeigt, daß die &o bezeichnete Information in dem peripheren Speicher 34 abgelegt ist und die Adresse des peripheren Speichers sich in dem Feld 13' (Fig.5) des Stapelbezeichners befindet, wird an dem Ausgang des UND-Tores 71 bei aktiviertem Ausgang P5' ein Unterbrechungssignal erzeugt Dieses ünterbrechungssignai gelangt über die Leitung 72 zur Schrittsteuerschaltung 42 und unterbindet die Aktivierung des Ausgangs P6'. Die Adresse des peripheren Speichers zu der abgelegten Information wird durch eine Leitung 77 aus dem Register 27 über ein UND-Tor 70 and ein ODER-Tor 73 auf das Rechenwerk 21 gegeben und der Längenwert der abgelegten Information wird über eine Leitung 78 aus dem RegisterThe output P5 ' is next activated. The section 15 for identifying the first field of the stack identifier in the register 27 is connected to an input of each of the AND gates 69, 70 and 71 via an inverter 68. If the value in this bit position is "0" and thereby indicates that the information designated & o is stored in the peripheral memory 34 and the address of the peripheral memory is in the field 13 '(FIG. 5) of the stack identifier, the Output of AND gate 71 generates an interrupt signal when output P5 'is activated. This interrupt signal reaches step control circuit 42 via line 72 and prevents the activation of output P6'. The address of the peripheral memory for the stored information is given by a line 77 from the register 27 via an AND gate 70 and an OR gate 73 to the arithmetic unit 21 and the length value of the stored information is obtained from the register via a line 78
27 über das UND-Tor 69 und ein ODER-Tor 79 ebenfalls zjm Rechenwerk 21 gegeben. Der Längenwert und die Adresse des peripheren Speichers definieren vollständig die Stelle der abgelegten Information in dem peripheren Speicher 34. Das Rechenwerk 21 überträgt die abgelegte Information in einen unbesetzten Stapel in dem Hauptspeicher 23 nach einem der bekannten Verfahren. Nachdem die abgelegte Information in den Rechenspeicher 20 zurückgeholt worden ist werden die Bezeicimer in dem Stapel, die diese Information bezeichnen, vollständig dadurch auf den neuesten Stand gebracht, d.iß nur der Stapelbezeichner verändert wird, weil alle Einzelbezeichner die Stelle des Stapelbezeichners in ihrem Felde 8' besitzen. In dem ersten Feld 13' des Stapelbezeirhners in dem Register 27 wird die Adresse des peripheren Speichers durch die Adresse des Stapels, in welchen die abgelegte Information zurückgeholt wurde, ersetzt und der Wert in der Bitstelle für die Feldidentifikation wird in »1« geändert Es ist keine weitere Veränderung irgendeines Bezeichners für die zurückgeholte Information nötig. Die Leitungen 75 und 74 verbinden das Rechenwerk 21 mit den Abschnitten 13, 15 in dem Register 27. Nachdem die abgelegte Information in den Rechenspeicher zurückgeholt und der zugehörige Stapelbezeichner angepaßt wurde, erzeugt das Rechenwerk 21 ein Widereinsetzsignal, das durch eine Leitung 76 auf die Schrittsteuerschaltung 42 gegeben wird. Auf dieses Wiedereinsetzsignal hin wird der Ausgang P 6' aktiviert27 via the AND gate 69 and an OR gate 79 also given to the arithmetic unit 21. The length value and the address of the peripheral memory completely define the location of the stored information in the peripheral memory 34. The arithmetic unit 21 transfers the stored information to an unoccupied stack in the main memory 23 according to one of the known methods. After the stored information has been fetched back into the computer memory 20, the designators in the stack that designate this information are completely updated, i.e. only the stack designator is changed because all individual designators replace the stack designator's position in their field 8 'own. In the first field 13 'of the stack identifier in register 27, the address of the peripheral memory is replaced by the address of the stack in which the stored information was retrieved, and the value in the bit position for the field identification is changed to "1" no further change of any identifier necessary for the retrieved information. The lines 75 and 74 connect the arithmetic unit 21 to the sections 13, 15 in the register 27. After the stored information has been fetched back into the arithmetic memory and the associated batch identifier has been adapted, the arithmetic unit 21 generates a reset signal which is sent through a line 76 to the step control circuit 42 is given. The output P 6 'is activated in response to this resetting signal
In jedem Falle, d. h. ob der Wert an der Bitstelle zur Feldid?ntifikation nun »1« oder »0« bei aktiviertem Ausgang P5' beträgt ist der Wert in dieser Bitstelle »1« bei aktiviertem Ausgang P6'. Der Abschnitt 15 zur Feldidentifikation des Stapelbezeichners im Register 27 ist über ein UND-Tor 113 und ein ODER-Tor 98 mit dem Abschnitt 10 zur Feldidentifikation des Einzelbezeichners im Register 28 verbunden und der Abschnitt 13 des Stapelbezeichners im Register 27 ist über ein UND-Tor 82 und ein ODER-Tor 97 mit dem Abschnitt 8 des Einzelbezeichners im Register 28 verbunden. Daher wird bei der Aktivierung des Ausganges P6' der Wert im Abschnitt zur Feldidentifikation in dem Register 28 in »1« geändert und der Basisadreßwert des Stapelbezeichners entfernt die Stelle des Stapelbezeichners aus dem Einzelbezeichner in dem Register 28.In any case, ie whether the value at the bit position for field identification is "1" or "0" with activated output P5 ' , the value in this bit position is "1" with activated output P6'. Section 15 for field identification of the batch identifier in register 27 is connected via an AND gate 113 and an OR gate 98 to section 10 for field identification of the individual identifier in register 28 and section 13 of the batch identifier in register 27 is via an AND gate 82 and an OR gate 97 connected to section 8 of the individual identifier in register 28. Therefore, when output P6 'is activated, the value in the field identification section in register 28 is changed to "1" and the base address value of the batch identifier removes the position of the batch identifier from the individual identifier in register 28.
Wenn der Ausgang PT aktiviert wird, dann sind die Weite in den Abschnitten zur Identifikation des Bezeichners und des ersten Feldes beide »1«. Daher wird über die Leitung 50 ein Arbeitsgang eingeleitet bei dem der Ausgang P3 aktiviert wird.When the PT output is activated, the width in the sections for identifying the identifier and the first field are both »1«. Therefore, an operation is initiated via the line 50 in which the output P3 is activated.
Wenn der Ausgang P3 aktiviert ist dann sind der Basisadreßwert und der Indexwert im Register 28 über UND-Tore 61 und 64 wie oben beschrieben mit dem Addierer 62 verbunden. Die von dem Addierer 62 erzeugte absolute Adresse wird in das Speicheradreßregister 24 gegeben, um in die gewünschte Stelle in dem Hauptspeicher 23 einzugreifen.When output P3 is activated, the base address value and the index value in register 28 are above AND gates 61 and 64 are connected to adder 62 as described above. That from the adder 62 generated absolute address is placed in the memory address register 24 to be in the desired location in the Main memory 23 to intervene.
Wenn die Werte in den Abschnitten 11, 10 zur Idenfikation des Bezeichners und des ersten Feldes in dem Register 28 ursprünglich beide »0« bei aktiviertem Ausgang P 2 betragen, wird die Leitung 56 aktiviert Dies zeigt an, daß ein Stapelbezeichner in dem RegisterIf the values in sections 11, 10 for identifying the identifier and the first field in register 28 are originally both "0" with output P 2 activated, line 56 is activated. This indicates that a stack identifier is in the register
28 gespeichert ist der eine abgelegte Information28 is the stored information
bezeichnet. Wenn die Leitung 56 aktiviert ist, wird an dem Ausgang des ODER-Tores 57 ein Unterbrechungssignal erzeugt, das auf das Rechenwerk 21 gegeben wird; ferner wird der in dem Register 28 gespeicherte Adreßwert des peripheren Speichers durch die Leitung 60 über ein UND-Tor 81 und ein ODER-Tor 73 in das Rechenwerk 21 gegeben, und schließlich wird der in dem Register 2P gespeicherte Längenwert über eine Leitung 63 durch ein UND-Tor 80 und ein ODER-Tor 79 ebenfalls in das Rechenwerk 21 gegeben. Daraufhin to wird die Ausführung des Programmes unterbrochen und die an der bezeichneten Adresse des peripheren Speichers stehende Information in den Rechenspeicher 20 zurückgeholt Am Ende des Rückholvorganges wird die Leitung 94 aktiviert. Die Leitung 94 und ein ODER-Tor 98 verbinden das Rechenwerk 21 mit dem Abschnitt 10 zur Feldidentifikation in dem Register 28, um den Wert dieser Bitstelle in »1« zu ändern. Der Basisadreßwert des Stapels in dem Hauptspeicher 23, in dem die zurückgeholte Information gespeichert ist, wird aus dem Rechenwerk 21 in den ersten Abschnitt 8 in dem Register 28 über eine Leitung % und ein ODER-Tor 97 gegeben. Dann wird das Wiedereinsetzsignal erzeugt, das über eine Leitung 93 aus dem Rechenwerk 21 auf die Schrittsteuerschaltung 42 gegeben wird, wodurch der Ausgang P2 wiederum aktiviert wird. Danach wird diesesmal die Leitung 50 aktiviert, weil der Wert im Abschnitt 10 zur Feldidentifikation in dem Register 28 »1« beträgt. Danach wird der Arbeitsablauf zur Aktivierung des Ausganges P3 eingeleitetdesignated. When the line 56 is activated, an interrupt signal is generated at the output of the OR gate 57, which signal is sent to the arithmetic unit 21 will; furthermore, the address value of the peripheral memory stored in the register 28 is transmitted through the line 60 is fed into the arithmetic unit 21 via an AND gate 81 and an OR gate 73, and finally the in the length value stored in the register 2P via a line 63 through an AND gate 80 and an OR gate 79 also given in the arithmetic unit 21. Thereupon the execution of the program is interrupted and the information at the designated address of the peripheral memory in the computing memory 20 retrieved At the end of the retrieval process, line 94 is activated. The line 94 and a OR gate 98 connect arithmetic unit 21 to section 10 for field identification in register 28, to change the value of this bit position to "1". The base address value of the stack in main memory 23, in which the retrieved information is stored, is transferred from the arithmetic unit 21 to the first section 8 in given to register 28 via a line% and an OR gate 97. Then the reinstall signal generated via a line 93 from the arithmetic unit 21 to the step control circuit 42 is given, which in turn activates output P2. Then this time the line becomes 50 activated because the value in section 10 for field identification in register 28 is "1". After that, the Work sequence for activating output P3 initiated
Wenn die Werte der Abschnitte 11, 10 zur Identifikation des Bezeichners und des Feldes im Register 28 ursprünglich »0« bzw. »1« betragen, wird der Arbeitsgang zur Aktivierung des Ausganges P3 unmittelbar nach der ersten Aktivierung des Ausganges Pl durch das UND-Tor 49 und die Leitung 50 eingeleitet In beiden Fällen wird der Längenwert in dem Stapelbezeichner vor der Aktivierung der Leitung P3 durch den Index wert ersetzt *<>If the values of the sections 11, 10 for the identification of the identifier and the field in the register 28 are originally "0" and "1", the operation for activating the output P3 is immediately after the first activation of the output P1 by the AND gate 49 and the line 50 initiated In both cases, the length value in the stack identifier is replaced by the index value before the activation of the line P3 * <>
Die beschriebene Arbeitsweise der Schaltung geht davon aus, daß jeder Einzeihezeichner in dem Register 28 einen Indexwert anstelle eines Längenwertes besitzt Wenn ein Stapelbezeichner, der eine abgelegte Information bezeichnet, ursprünglich das Register 28 besetzt, steht der Längenwert zur Verfügung, um die in dem peripheren Register 34 abgelegte Information zu lokalisieren, ehe der Indexwert den Längenwert entferntThe described mode of operation of the circuit assumes that every single line descriptor in the register 28 has an index value instead of a length value Information indicates, originally the register 28 occupied, the length value is available to the in to localize the information stored in the peripheral register 34 before the index value reaches the length value removed
Anstatt die Adresse der Zelle an der unteren Grenze eines Stapels als Basisadreßwert zu benutzen, kann auch die Adresse des Postens an der oberen Grenze des Stapels verwendet werden.Instead of using the address of the cell at the bottom of a stack as the base address value, you can also use the address of the item at the top of the stack should be used.
Es wird nun die Schaltung nach F i g. 2 beschrieben, die einen Teil der Schaltung aus F i g. 1 in Verbindung mit anderen Schaltungskomponenten zur Anpassung der Bezeichner an die Ablage von Information in den peripheren Speicher 34 enthält Wenn die Rückkehr von Information in den Rechenspeicher wie beschrieben nötig ist und in dem Rechenspeicher 20 nicht genügend Platz zur Verfugung steht, wird ein Ablegebefehl aus dem Rechenwerk 21 in das Befehlsregister 40 gegeben. Daraufhin wird ein Startsignal erzeugt, das über eine Leitung 95 auf die Schrittsteuerschaltung 83 gegeben wird, wodurch die Sequenz der Arbeitsschritte zur Anpassung der Bezeichner in dem Stapelspeicher 22 eingeleitet wird.The circuit according to FIG. 2, which form part of the circuit from FIG. 1 in connection with other circuit components to adapt the identifier to the storage of information in the peripheral memory 34 contains when the return of information in the computational memory as described is necessary and there is not enough space available in the computation memory 20, a discard command is issued given to arithmetic unit 21 in command register 40. A start signal is then generated, which is sent to the step control circuit 83 via a line 95 whereby the sequence of operations for adapting the identifiers in the stack memory 22 is initiated.
gang des Flip-Flops 29 und der Ausgang PO sind mit den Eingängen eines UND-Tores 84 verbunden, dessen Ausgang über ein ODER-Tor 85 mit dem Leseeingang der Lese/Schreibe-Steuereinheit 32 verbunden ist. Wenn daher das Register 27 bei aktiviertem Ausgang PO besetzt ist, wird der in ihm gespeicherte Bezeichner in die oberste Stelle des Stapelspeichers 22 zurückgeholt und das Flip-Flop 29 zur Nichtbesetztanzeige des Registers 27 zurückgesetzt.The output of the flip-flop 29 and the output PO are connected to the inputs of an AND gate 84, the output of which is connected to the read input of the read / write control unit 32 via an OR gate 85. If, therefore, the register 27 is occupied when the output PO is activated, the identifier stored in it is returned to the top position of the stack memory 22 and the flip-flop 29 is reset to indicate that the register 27 is not occupied.
Danach wird der Ausgang PI aktiviert Der »1 «-Ausgang des Flip-Flops 30 und der Ausgang Pl sind mit den Eingängen eines UND-Tores 86 verbunden, dessen Ausgang über das ODER-Tor 85 auf den Leseeingang der Lese/Schreibe-Steuereinheit 32 gegeben wird. Das Register 28 ist über ein UND-Tor 87 mit dem Register 27 verbunden. Wenn dementsprechend das Register 28 bei aktiviertem Ausgang P1 besetzt ist, wird der in ihm gespeicherte Bezeichner über ein UND-Tor 87 in das Register 27 gegeben und dann in die oberste Stelle des Stapelspeichers 22 übertragen. Das Flip-Flop 30 wird für die Leerheitsanzeige des Registers 28 zurückgesetzt.Then the output PI is activated. The "1" output of the flip-flop 30 and the output Pl are connected to the inputs of an AND gate 86, the output of which is passed to the read input of the read / write control unit 32 via the OR gate 85 will. The register 28 is connected to the register 27 via an AND gate 87. If accordingly the register 28 is occupied when the output P1 is activated, the identifier stored in it becomes a AND gate 87 placed in register 27 and then transferred to the top position of stack memory 22. That Flip-flop 30 is reset to indicate that register 28 is empty.
Danach wird der Ausgang P2 aktiviert. Die Recheneinheit 21 bestimmt, welche Information abgelegt werden soll, um dadurch in dem Hauptspeicher 23 Platz zu schaffen. Die Adresse in dem Stapelspeicher 22 zu dem Stapelbezeichner, der die abzulegende Information bezeichnet, wird über ein UND-Tor 88 auf das weitere Stapeladreßregister 89 und ein Stapelsuchregister 90 gegeben. Ein Inkrementzähler 91 erhöht den in dem Register 90 gespeicherten Wert jedesmal um eine Einheit wenn sie betätigt wird.Output P2 is then activated. The computing unit 21 determines which information is stored should be in order to create space in the main memory 23. The address in the stack 22 the stack identifier, which designates the information to be stored, is accessed via an AND gate 88 further stack address registers 89 and a stack search register 90 are given. An increment counter 91 increases the in value stored in register 90 by one unit each time it is actuated.
Dann wird der Ausgang P3 aktiviert Ausgang P3 und der Ausgang des Registers 89 sind mit den Eingängen eines UND-Tores 92 verbunden, der Ausgang P3, und das Register 27 sind mit den Eingängen eines UND-Tores 100 verbunden, und Ausgang P3 ist mit dem Leseeingang der Lese/Schreibe-Steuereinheit 31 verbunden. Wenn der Ausgang P3 aktiviert ist, wird der in dem Register 89 gespeicherte Adressenwert durch das UND-Tor 92 in das Speicheradreßregister 24 gegeben und der unter dieser Adresse in dem Stapelspeicher 22 gespeicherte Posten wird zuerst in das Register 27 und dann durch das UND-Tor 100 in das Register 28 gegeben. Der Stapelbezeichner, der die abzulegende Information bezeichnet, verbleibt während des Bezeichneranpassungsvorganges in dem Register 28. Wenn die Ausgänge P4, P5, P6, P7 und P8 aufeinanderfolgend aktiviert werden, wird jeder in dem Stapel auf diesem Stapelbezeichner liegende Posten in das Register 27 überführt, wo sein Basisadreßwert mit dem Basisadreßwert des Stapelbezeichners verglichen wird. Wenn andere Arten von Adressenwörtern in dem Stapel enthalten sind, dann wird der Vergleich auch hinsichtlich des Abschnittes, der die Art des Adressenwortes identifiziert durchgeführt Wenn zwei Adressenwörter den gleichen Basiswert besitzen, wird der Basiswert des Adressenwortes in dem Register 27 von der Adresse des Stapelbezeichners entfernt, d.h. von der Stelle des Stapelbezeichners in dem Stapelspeicher 22, und der Wert in dem Abschnitt zur Feididentifikation wird entsprechend geändertThen output P3 is activated. Output P3 and the output of register 89 are connected to the The inputs of an AND gate 92, the output P3, and the register 27 are connected to the Inputs of an AND gate 100 are connected, and output P3 is connected to the read input of the read / write control unit 31 connected. When the output P3 is activated, the one stored in the register 89 becomes Address value given by the AND gate 92 in the memory address register 24 and the one under this address Items stored in stack memory 22 are first entered into register 27 and then through the AND gate 100 entered into register 28. The stack identifier, which identifies the information to be stored, remains during the identifier adaptation process in register 28. If the outputs P4, P5, P6, P7 and P8 are activated sequentially, everyone in the stack will be on that stack identifier Item transferred to register 27, where its base address value matches the base address value of the batch identifier is compared. If there are other types of address words on the stack, then the comparison is also carried out with regard to the section which identifies the type of address word If two address words have the same base value, the base value of the address word in the Register 27 removed from the address of the batch identifier, i.e. from the position of the batch identifier in the stack memory 22, and the value in the field identification section is changed accordingly
Danach wird der Ausgang PA zur Betätigung des Inkrementzählers 91 aktiviert Der in dem Register 90 gespeicherte Adressenwert bezeichnet die Adresse des Postens in dem Stapelspeicher 22 Ober dem Stapeibezeichner. The output PA is then activated to operate the increment counter 91. The address value stored in the register 90 designates the address of the item in the stack memory 22 above the stack identifier.
Ausgang PS und der Ausgang der- Registers 90 sind mit den Eingängen eines UN D-Tores lOl verbunden, und der Ausgang PS liegt an dem Leseeingang der Lese/Schreibe-Steuereinheit 31. Der in dem Register 90 gespeicherte Adressenwert wird durch ein UK D- TorOutput PS and the output of the register 90 are connected to the inputs of an UN D gate 10l, and the output PS is connected to the read input of the read / write control unit 31. The address value stored in register 90 is given by a UK D- gate
101 in das Speicheradreßregister 24 gegeben und der an der bezeichneten Stelle in dem Stapelspeicher 22 befindliche Posten in das Register 27 übertragen.101 is placed in the memory address register 24 and that at the designated location in the stack memory 22 transferred items to register 27.
Danach wird der Ausgang PB aktiviert Ausgang PB und Abschnitt 13 des Registers 27, in dem der to Basisadreßwert gespeichert ist, werden auf die Eingänge eines UN D-Tores 102 gegeben. Der Ausgang PB und Abschnitt 8 des Registers 28, in dem der Basisadreßwert gespeichert ist, werden auf die Eingänge eines UND-Tores 103 gegeben. Die Ausgänge der UND-ToreOutput PB is then activated. Output PB and section 13 of register 27, in which the base address value is stored, are sent to the inputs of an UN D gate 102. The output PB and section 8 of the register 28, in which the base address value is stored, are applied to the inputs of an AND gate 103. The outputs of the AND gates
102 und 103 werden in einer Vergleichseinheit 104 verglichen, dessen Ausgang aktiviert wird, wenn die beiden Basisadreßwerte identisch sind.102 and 103 are compared in a comparison unit 104, the output of which is activated when the both base address values are identical.
Danach wird der Ausgang Pl aktiviert Das weitere Stapeladreßregister 89, der Ausgang der Vergleichsschaltung 10" und der Ausgang Pl sind mit den Eingängen eines UND-Tores 105 verbunden, dessen Ausgang mit den Bitstellen in dem Register 27, in denen der Basisadreßwert gespeichert ist, verbunden ist Der Ausgang der Vergleichsschaltung 104 und der Ausgang Pl sind ebenfalls mit den Eingängen eines UND-Tores 106 verbunden, dessen Ausgang mit dem Abschnitt 15 zur Feldidentifikation in dem Register 27 verbunden ist Wenn der Ausgang der Vergleichsschaltung 104 bei aktiviertem Ausgang Pl ebenfalls aktiviert ist, und dadurch identische Basisadreßwerte in den Registern 27 und 28 anzeigt, wird die Basisadresse in dem Register 27 durch die Adresse des Stapelbezeichners ersetzt, und der Wert in dem Abschnitt 15 zur Feldidentifikation des Registers 27 wird in »0« geändert Wenn die Vergleichsschaltung 104 die fehlende Identität der Basisadreßwerte anzeigt, findet keine Änderung an dem in dem Register 27 gespeicherten Bezeichner statt. v/ährend der Ausgang Pl aktiviert ist.The output P1 is then activated. The further stack address register 89, the output of the comparison circuit 10 "and the output P1 are connected to the inputs of an AND gate 105, the output of which is connected to the bit positions in the register 27 in which the base address value is stored The output of the comparison circuit 104 and the output Pl are also connected to the inputs of an AND gate 106, the output of which is connected to the section 15 for field identification in the register 27. If the output of the comparison circuit 104 is also activated when the output Pl is activated, and thereby indicating identical base address values in registers 27 and 28, the base address in register 27 is replaced by the address of the stack identifier, and the value in section 15 for field identification of register 27 is changed to "0" Identifying the base address values does not change that in the register 27 stored identifier instead. v / while the output Pl is activated.
Nach dem Ausgang Pl wird als nächstes der Ausgang P8 aktiviert Der Ausgang PS ist mit einem Eingang des UND-Tores 101 und mit dem Schreibeeingang der Lese/Schreibe-Steuereinheit 31 verbunden. Daher wird der angepaßte Bezeichner in dem Register 27 in die gleiche Stelle in dem Stapel zurückgebracht, die er ursprünglich bei aktiviertem Ausgang P 8 besetzt hatte. Die Ausgänge des Stapeladreßregisters 26 und des Stapelsuchregisters 90 sind mit den Eingängen einer Vergleichsschaltung 107 verbunden. Wenn die Werte in den Registern 26 und 90 gleich sind, wird der Ausgang so der Vergleichsschaltung 107 aktiviert. Die Vergleichsschaltung 107 ist direkt verbunden mit einem UND-Tor 108 und über eine Umkehrstufe 109 mit einem UND-Tor 110. Der Ausgang des UND-Tores 108 ist mit der Schrittsteuerschaltung 83 verbunden, so daß bei seiner Aktivierung die Sequenz der Arbeitsschritte eingeleitet wird, in deren Verlauf die Ausgänge PA', PS' und PB' aufeinanderfolgend aktiviert werden. Der Ausgang des UND-Tores HO ist ebenfalls mit der Schrittsteuerschaltung 83 verbunden, so daB bei seiner Aktivierung eine Wiederholung der Sequenz der Arbeitsschritte eingeleitet wird, in deren Verlauf die Ausgänge PA, PS, PB, Pl und PS aktiviert werden. Wenn der Wert im Register 90 geringer als der Wert in dem Register 26 ist und dadurch anzeigt, daß bei dem Suchvorgang die Spitze des Stapelspeichers 22 noch nicht erreicht worden ist, wird bei aktiviertem Ausgang PS auch der Ausgang des UND-Tores HO aktiviert So werden die Ausgänge PA bis PS aufeinanderfolgend wieder aktiviert, der nächst höhere Posten in dem Stapel mit dem Stapelbezeichner in dem Register 28 verglichen und der Wert in dem Register 90 um einen erhöht.After the output P1 , the output P8 is activated next. The output PS is connected to an input of the AND gate 101 and to the write input of the read / write control unit 31. Therefore, the adapted identifier in register 27 is returned to the same position in the stack as it was originally occupied when output P 8 was activated. The outputs of the stack address register 26 and of the stack search register 90 are connected to the inputs of a comparison circuit 107. If the values in the registers 26 and 90 are the same, the output of the comparison circuit 107 is activated. The comparison circuit 107 is directly connected to an AND gate 108 and via an inverter 109 to an AND gate 110. The output of the AND gate 108 is connected to the step control circuit 83, so that when it is activated, the sequence of work steps is initiated. in the course of which the outputs PA ', PS' and PB 'are activated one after the other. The output of the AND gate HO is also connected to the step control circuit 83, so that when it is activated a repetition of the sequence of work steps is initiated, in the course of which the outputs PA, PS, PB, P1 and PS are activated. If the value in register 90 is less than the value in register 26 and thereby indicates that the top of stack memory 22 has not yet been reached during the search process, the output of AND gate HO will also be activated when output PS is activated the outputs PA to PS are activated again in succession, the next higher item in the stack is compared with the stack identifier in register 28 and the value in register 90 is increased by one.
Die Abfolge der Arbeitsschritte, in deren Verlauf die Ausgänge PA bis PS aktiviert werden, wird so lange wiederholt bis die Vergleichsschaltung 107 identische Werte in den Registern 90 und 26 feststellt und dadurch anzeigt, daß die Spitze des Stapels erreicht worden ist In diesem Zeitpunkt wird bei aktiviertem Ausgang PS der Ausgang des UND-Tores 108 aktiviert Daher wird als nächstes der Ausgang PA' aktiviert, der mit dem Rechenwerk 21 verbunden ist um anzuzeigen, daß der Stapelsuchvorgang für Bezeichner, die die abgelegte Information bezeichnen, abgeschlossen istThe sequence of work steps, in the course of which the outputs PA to PS are activated, is repeated until the comparison circuit 107 detects identical values in the registers 90 and 26 and thereby indicates that the top of the stack has been reached activated output PS, the output of AND gate 108 is activated. Therefore, output PA ' is next activated, which is connected to arithmetic unit 21 to indicate that the batch search process for identifiers that designate the stored information is complete
Danach wird der Ausgang PS' aktiviert und die Adresse des peripheren Speichers, in dem die abgelegte Information gespeichert ist wird durch ein UND-Tor 112 in den Abschnitt 8 des Registers 28 gegeben, in dem der Basisadreßwert gespeichert ist Damit wird die Basisadresse des Stapelbezeichners in dem Register 28 durch die Adresse des peripheren Speichers ersetztThen the output PS 'is activated and the address of the peripheral memory in which the stored information is stored is given through an AND gate 112 in section 8 of the register 28 in which the base address value is stored the register 28 is replaced by the address of the peripheral memory
Dann wird der Ausgang PB' aktiviert der mit einem Eingang des UND-Tores 92 und dem Schreibeeingang der Lese/Schreibe-Steuereinheit 31 verbunden ist Das Register 28 und der Ausgang PB' sind ebenfalls mit den Eingängen des UND-Tores 87 verbunden, Hessen Ausgang an dem Register 27 liegt Wenn der Ausgang PB' aktiviert isf. wird die Stapelbezeichneradresse in dem Register 89 durch das UND-Tor 92 in das Speicheradreßregister 24 gegeben, und der Stapelbezeichner in dem Register 28 wird über das Register 27 in die Stelle in dem Stapelspeicher 22 übertragen, die durch die Adresse des Stapelbezeichners angegeben wird. An dieser Stelle ist dann der Anpassungsvorgang des Bezeichners an den neuesten Stand angeschlossen.Then the output PB 'is activated which is connected to an input of the AND gate 92 and the write input of the read / write control unit 31. The register 28 and the output PB' are also connected to the inputs of the AND gate 87, Hessen output at the register 27 If the output PB 'is activated isf. For example, the stack identifier address in register 89 is placed in memory address register 24 through AND gate 92, and the stack identifier in register 28 is transferred through register 27 to the location in stack memory 22 indicated by the address of the stack identifier. At this point, the process of adapting the identifier to the latest status is connected.
Hierzu 3 Blatt ZeichnungenFor this purpose 3 sheets of drawings
Claims (5)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67030467A | 1967-09-25 | 1967-09-25 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1774866A1 DE1774866A1 (en) | 1971-04-29 |
DE1774866B2 DE1774866B2 (en) | 1978-08-03 |
DE1774866C3 true DE1774866C3 (en) | 1979-04-05 |
Family
ID=24689867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19681774866 Expired DE1774866C3 (en) | 1967-09-25 | 1968-09-24 | Circuit for determining the address of a piece of information contained in a memory of a data processing system |
Country Status (5)
Country | Link |
---|---|
BE (1) | BE721403A (en) |
CA (1) | CA920277A (en) |
DE (1) | DE1774866C3 (en) |
FR (1) | FR1604610A (en) |
GB (1) | GB1188436A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8405491D0 (en) * | 1984-03-02 | 1984-04-04 | Hemdal G | Computers |
-
1968
- 1968-09-20 GB GB4474068A patent/GB1188436A/en not_active Expired
- 1968-09-24 CA CA030718A patent/CA920277A/en not_active Expired
- 1968-09-24 DE DE19681774866 patent/DE1774866C3/en not_active Expired
- 1968-09-25 BE BE721403D patent/BE721403A/xx not_active IP Right Cessation
- 1968-09-25 FR FR1604610D patent/FR1604610A/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE1774866A1 (en) | 1971-04-29 |
CA920277A (en) | 1973-01-30 |
DE1774866B2 (en) | 1978-08-03 |
BE721403A (en) | 1969-03-03 |
GB1188436A (en) | 1970-04-15 |
FR1604610A (en) | 1972-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2331589A1 (en) | DATA PROCESSING ARRANGEMENT | |
DE2758830A1 (en) | COMPUTING DEVICE | |
DE1774870C3 (en) | Device for addressing a memory cell of a memory in a data processing system | |
DE1303071B (en) | ||
DE1499193A1 (en) | Data processing system | |
DE1499182B2 (en) | Data storage system | |
DE1499206C3 (en) | Computer system | |
DE1286789B (en) | Device on an electronic digit calculator for rapid data exchange between the processing unit and the central memory | |
DE2063195C2 (en) | Method and device for controlling the operation of a number of external data stores | |
DE2064473B2 (en) | Circuit for determining the address of information sought contained in a memory of a data processing system | |
DE1266026B (en) | Method and arrangement for preventing a change in a memory content | |
DE1171650B (en) | Machine for serial processing of data in binary character encryption | |
DE69111778T2 (en) | Method and device for expanding a computer architecture from thirty-two to sixty-four bits. | |
DE1774866C3 (en) | Circuit for determining the address of a piece of information contained in a memory of a data processing system | |
EP0009625A2 (en) | Data transfer commutator with associative address selection in a virtual store | |
DE1549434A1 (en) | Data processing system | |
DE1499286B2 (en) | DATA PROCESSING SYSTEM | |
DE1221037B (en) | Process for storing hierarchically ordered data chains and arrangement for carrying out this process | |
DE1524211C3 (en) | Data processing system | |
DE1296427B (en) | Data processing system | |
DE1212748B (en) | Data processing machine with program interruption | |
DE1474380A1 (en) | Matrix memory array | |
DE1914576C3 (en) | Program-controlled data processing system, in particular for handling switching processes in a telephone exchange | |
DE2342101C2 (en) | Circuit for area-wise addressing of the registers in the command bank and database of the main memory of a computer system | |
DE1243724B (en) | Storage arrangement with word-by-word associative query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8330 | Complete disclaimer |