DE2351791C2 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2351791C2
DE2351791C2 DE2351791A DE2351791A DE2351791C2 DE 2351791 C2 DE2351791 C2 DE 2351791C2 DE 2351791 A DE2351791 A DE 2351791A DE 2351791 A DE2351791 A DE 2351791A DE 2351791 C2 DE2351791 C2 DE 2351791C2
Authority
DE
Germany
Prior art keywords
register
stack
memory
entry
processing system
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
DE2351791A
Other languages
English (en)
Other versions
DE2351791A1 (de
Inventor
Robert Albert Endicott N.Y. Healey
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2351791A1 publication Critical patent/DE2351791A1/de
Application granted granted Critical
Publication of DE2351791C2 publication Critical patent/DE2351791C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/451Stack data

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage nach dem Oberbegriff des Patentanspruchs 1.
In einem Datenverarbeitungssystem, welches Operatoren und/oder Operanden stapelt, sollte der Stapel in einem Speicher enthalten sein, dessen Geschwindigkeit an die Geschwindigkeit des Prozessors selbst angepaßt ist. Dieser Wunsch läßt sich nicht immer wirtschaftlich verwirklichen, weil die Anzahl von Eintragungen im Stapel sehr groß werden kann durch die Verflechtung von Operatoren.
Die normale Lösung dieses Problems besteht darin, daß man eine feste Anzahl X von sehr schnellen Speicherstellen hat und einen Überlauf in einem langsameren Speichermedium aufnimmt. Wenn der Hochgeschwindigkeitsspeicher voll ist, besteht der normale Betrieb in einem Ausschieben seiner X Eintragungen in den langsameren Speicher. Jetzt stehen die Hochgeschwindigkeits-Speicherstellen wieder zum Speichern von X Eintragungen in den Stapel zur Verfügung.
Beim Lesen der Eintragungen aus dem Stapel zwecks Verarbeitung wird das Verfahren umgekehrt. Wenn der Hochgeschwindigkeitsspeicher keine gültigen Eintragungen mehr enthält, werden X Eintragungen aus dem langsamen Speicher eingeschoben. Dieses Verfahren erfordert nur zwei Hinweise, den oberen Stapelhinweis (STP) für den Hochgeschwindigkeitsspeicher und den langsamen Speicherhinweis (SSP) für den langsamen Speicher.
Die Gefahr bei dem obenerwähnten Verfahren besteht darin, daß das verarbeitete Programm in eine Betriebsart hineinläuft, die andere Speicher- und
Leseoperationen und dadurch wieder ein Ausschieben und Einschieben für jede Operation erfordert. Aus einem Übermaß an Einschiebe- und Ausschiebeoperationen resultiert eine beträchtliche Leistungsverschlechterung des Systems.
Ein anderer Vorschlag ist aus der US-Patentschrift 34 01376 bekannt. Dort wird ein H-jchgeschwindigkeitsstapel beschrieben, der einen Speicher für 12 Eintragungen und zwei Maschinenregister für die beiden obersten Eintragungen umfaßt Sobald der Speicher voll ist, werden vier Eintragungen in einen langsamen Speicher geschoben. Wenn der Hochgeschwindigkeitsspeicher weniger als vier Eintragungen enthält, werden vier Eintragungen aus dem langsamen Speicher eingeschoben. Alle Lese- oder Speicheroperationen erfordern eine Übertragung zwischen den Registern und zwischen einem Register und dem Hochgeschwindigkeitsspeicher.
Der vorliegenden Erfindung liegt die Aufgabe zügrunde, eine verbesserte Datenverarbeitungsanlage, die mit einer Maschinensprache arbeitet, die auf eine höhere Problemprogrammiersprache bezogen ist und mit einem Prozessor und einem Hochgeschwindigkeitsspeicher zum Stapeln von Operanden- und/oder Operatoreintragungen unmittelbar vor ihrer Verarbeitung sowie mit einem langsameren Speicher zur Aufnahme der Überläufe aus dem erstgenannten Speicher ausgerüstet ist, zu schaffen, um die Anzahl der Einschiebe- oder Ausschiebeoperationen im Hochgeschwindigkeitsspeicherstapel bzw. in den Registern wesentlich zu verringern, und zwar ohne größeren schaltungstechnischen Aufwand.
Die erfindungsgemäße Lösung ist im Kennzeichen des Anspruchs 1 angegeben.
Weitere wesentliche Merkmale ergeben sich insbesondere aus den Ansprüchen 2 und 3.
Der Vorteil der vorliegenden Erfindung besteht vor allem in der Eliminierung vieler sonst erforderlicher Einschiebe- oder Ausschiebeoperationen von Eintragungen in den Hochgeschwindigkeitsspeicherstapel bzw. in die Register. Durch die Verwendung eines Rückgriffregisters zum Speichern einer zusätzlichen Speichereintragung oder einer gelesenen Eintragung wird der bei bisherigen Anlagen auftretende verlangsamte Betrieb, nämlich dann, wenn das verarbeitete Programm in eine andere Betriebsart eingelaufen ist, die andere Folgen von Lese- und Speicheroperationen und somit wieder andere Folgen von Ein- und Ausschiebeoperationen erfordert, auf ein Minimum reduziert.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigt
F i g. 1 einen Prozessor, eine Stapeleinrichtung und einen langsamen Speicher,
F i g. 2 ein Ausführurigsbeispiel der veroesserten Stapeladreßeinrichtung sowie Einschiebe- und Ausschiebesteuerungen und
F i g. 3, 4 und 5 in Beispielen Speicher- und Leseoperationen sowie Ausschiebe- und Einschieberoutinen.
Das schematisch in Fig. 1 gezeigte System arbeitet vorzugsweise unter Mikroprogrammsteuerung und mit Datenwegen, wie sie im einzelnen in der US-Patentschrift 36 56 123 vom 11. April 1972 beschrieben sind. Durch Mikroprogramm gesteuerte Tore werden daher nicht gezeigt Kurz gesagt umfaßt das System einen konventionellen Hauptspeicher 3 und einen Prozessor mit einer arithmetisch logischen Einheit ALLJIi sowie einen zum Prozessor gehörenden, sehr schnellen Arbeitsspeicher 1. Da.s A-Eingaberegister 9 und das B-Eingaberegister 10 sind am Eingang der ALU 11 und ein Z-Register 12 an ihrem Ausgang vorgesehen. Der Prozessor wird mit Mikroprogramm-Steuerwortroutinen betrieben, die in einem Steuerspeicher 30 gehalten werden. Jedes aus dem Steuerspeicher 30 gelesene Wort wird in ein Steuerregister 31 eingegeben. Steuerdecodierschaltungen 32 betätigen den Prozessor während
ίο eines Maschinenzyklus aufgrund einv.-s jeden in das Register 31 eingegebenen Steuerwortes. Die Decodierschaltungen 32 und ein nicht dargestellter Taktgeber erregen ebenfalls nicht dargestellte UND-Glieder und vervollständigen die Datenwege zur Übertragung der Daten im System auf bekannte Weise.
Im Hochgeschwindigkeitsspeicher 1 benutzt der Prozessor eine Stapeleinrichtung 2, um Operatoren/ Operanden zu halten und einen Stapelbereich 4 im langsamen Speicher 3, um jeden Stapelüberlauf vom Hochgeschwindigkeitsspeicher 1 festzuhalten.
Die Stapeleinrichtung 2 wird über das ODER-Glied 22 und das Uf J D-Glied 23 oder 24 entweder durch den oberen Stapelhinweis STP oder den unteren Stapelhinweis SBP adressiert. Der nicht zum Stapel gehörende Teil des Speichers 1 wird über die Sammelleitung 25 und das ODER-Glied 22 adressiert.
Mit den Hinweisen STPund SSP wird der Stapel nur beim Speichern und Lesen sowie während der Aus- und Einschieberoutinen adressiert. Alle diese Zugriffe
jo erfolgen zum Stapel 2. Alle anderen Zugriffe zum Speicher 1 erfolgen über die Sammelleitung 25.
Der Speicher 1 enthält mehrere Eintragungen. Die Sammelleitung 17 und das Eingabe/Ausgabe-Speicherdatenregister (SDR) 8 stellen eine Datenbahn für Operatoren/Operanden vom Speicher 3 zum Speicher 1 und den Registern 10, 15 dar. Während der Einschiebeoperationen vom Speicherbereich 4 zum Speicher 2 werden Daten über die Sammelleitung 17, das BR-Register 15 und die Sammelleitung 19 übertragen.
Sammelleitung 18a und ein Z-Register 12 ermöglichen es, Zwischenergebnisse der ALU 11 im Stapel 2 zu speichern oder zur weiteren Verarbeitung in das A-Register 10 zurückzuleiten. Die Sammelleitung 186 stellt eine Verbindung vom Register 12 zum Rückgriffregister (BR) 15 her. Die Sammelleitung 19 bildet eine Datenbahn vom BR-Register 15 zum Stapel 2 im Speicher 1 und zu den Registern 9,10.
Information vom Stapel 2 im Speicher 1 wird auf der Sammelleitung 20 entweder in das A-Register 10 oder in das B-Register 9 ausgelesen. Diese Information kann der ALU 11 für Rechen- oder logische Operationen zugeführt werden. Die Ausgabe des Α-Registers A wird in das Op-Register 13 über das UND-Glied 14 geleitet, wenn eine Operatoreintragung vom Stapel 2 gelesen wird. Die Ausgabe des A-Registers 10 wird über die Sammelleitung 21, das UND-Glied 16a und das SDR-Register 8 in den Stapelbereich 4 des langsamen Speichers 3 bei einer Ausschiebeoperation geleitet. Die Bahn 21 und das UND-Glied 166 bilden einu Datenbahn vom Register 10 zum Speicher 3 bei den Stapel nicht betreffenden Datenspeicheroperationen.
Das BR-Register 15 bildet außerdem eine Speichereinrichtung zum Speichern einer zusätzlichen Stapeleintracung, nachdem der Stapel 2 voll ist und eine Speicheroperation erfolgt. Es gestattet außerdem eine zusätzliche Leseoperation, nachdem die letzte gültige Stapeleintragung aus dem Stapel 2 gelesen worden ist, da dieses Register eine Kopie der letzten gültigen
Eintragung im Stapelbereich 4 des langsamen Speichers 3 speichert.
Das Speicheradreßregister (SAR) 5 empfängt Adressen zur Adressierung des langsamen Speichers 3 über das ODER-Glied 7 und zur Adressierung der nicht zum Stapelgehörenden Bereiche entweder vom B-Register 9 oder vom langsamen Hinweis SSP im Register 6 für Einschiebe- oder Ausschieberoutinen, die den Stapelbereich 4 adressieren. Während der Einschiebe- und Ausschieberoutinen bringen ein Vorwärtszähler 35 und ein Rückwärtszähler 36 den Hinweis SSP auf den neuesten Stand.
Fi g. 2 zeigt die zur Adressierung und Steuerung des Stapels 2 im Hochgeschwindigkeitsspeicher 1 notwendige Maschinenausrüstung. Das Register 112 und das Register 113 enthalten die Hinweise STP und SßPund zeigen immer auf gültige Eintragungen im Stapel 2, wenn das X-Bit in der Verriegelung 101 gleich Null ist. Hat das X-Bit den Wert 1, heißt das, daß im Hochgeschwindigkeitsstapel 2 keine gültigen Eintragungen stehen.
Bei jeder Speicheroperation in den Stapel 2 hinein und am Ende einer jeden Ausschieberoutine wird der X-Bit-Riegel 101 auf X-Bh = O zurückgestellt über das ODER-Glied 102. Der Riegel 101 wird auf X-Bn=I über das UND-Glied 103 und die Vergleicherschaltung 106 gestellt, wenn die letzte gültige Eintragung aus dem Stapel 2 gelesen wird (Stapel leer). Eine nachfolgende Leseoperation schaltet das UND-Glied 104 so, daß eine Eintragung vom Rückgriffregister 15 gelesen und die Einschieberoutine aufgerufen wird. Die Einschiebung wird bis zum spätestmöglichen Zeitpunkt durch dieses zusätzliche Lesen aus dem Rückgriff register 15 verzögert.
Die Vergleichsschaltung 105 vergleicht den oberen Stapelzeiger STP im Register 112 und den unteren Stapelzeiger SBP im Register 113 miteinander. Wenn beide übereinstimmen, befindet sich keine gültige Eintragung mehr im Stapel 2, und das UND-Glied 103 wird vorbereitet. Eine nachfolgende Leseoperation schaltet das UND-Glied 103 ein, so daß das X-Bit in der Verriegelung 101 auf 1 gesetzt und dadurch angezeigt wird, daß die letzte güllige Eintragung aus dem Stapel gelesen wurde. Eine zusätzliche Leseoperation erhält die nächste Eintragung vom BR-Register 15 über das UND-Glied 104 und leitet eine Einschieberoutine ein.
Die Vergleicherschaltung 107 zeigt an, daß der Stapel voll ist (SBP= STP+1). Wenn das X-Bh = 0 ist von einer vorhergehenden Speicheroperation und SBP= STP+1, schaltet eine Speicheroperation das UND-Glied 105 ein, so daß Daten in das Rückgriffregister 15 gespeichert werden, und leitet eine Ausschieberoutine ein.
Die Vcrgleicherschaiiung 197 kann SBP= STP+\ erkennen, wenn der Stapel 2 leer ist Bei der Bedingung X-Bh = I und einer nachfolgenden Speicheroperation werden jedoch keine Daten in das Register 15 gespeichert und die Ausschieberoutine aufgerufen, weil das UND-Glied 105 durch das Signal X-BU=O abgeschaltet ist
Durch Verwendung des Registers 15 zum Speichern einer zusätzlichen Speichereintragung oder einer gelesenen Eintragung wird der schleppende Betrieb, der bei bisherigen Anlagen auftrat wenn das verarbeitete Programm in eine andere Betriebsart einläuft die andere Folgen von Lese- und Speicheroperatiorten und somit wieder andere Folgen von Ein- und Ausschiebeoperationen erfordert auf ein Minimum reduziert
Der Stapel 2 benötigt 2" Eintragungspositionen, um die Adreßfortschreibung in zyklischer Adreßreihenfolge (d.h. Register 112, 123, Vorwärtszähler 120, 121 und Rückwärtszähler 122, 123) für die Hinweise STP und SBP wirtschaftlich zu ermöglichen. Das Register 15 verbessert die Leistung des Stapels mit fester Länge wesentlich.
Die UND-Glieder 108, 109, 110 und 111 steuern die Vor- und Rückwärtszählung des STP-Registers 112 und des SBP-Hinweises im Register 113, während jede Eintragung gespeichert oder aus dem Stapel 2 gelesen wird. Das UND-Glied 23 leitet bei Lese- und Speicheroperationen den Hinweis STP auf die Adresse, die der Lage der Eintragung im Hochgeschwindigkeitsstapel entspricht. Das UND-Glied 24 leitet bei Einschiebe- und Ausschiebeoperationen den SBP-Hinweis auf die Adresse, die der Lage der Eintragung im Stapel entspricht.
Bei Speicheroperationen muß der STP-Hinweis auf den neuesten Stand gebracht werden, bevor der Stapel 2 adressiert wird. Die UND-Glieder 110 und 124 erhalten daher die aufeinanderfolgenden Taktsignale Tl und Γ2, um den neuesten Wert des STP-Hinweises auf den Speicher 1 über die ODER-Schaltung 126 zu leiten. Während einer Leseoperation kann der STP-Hinweis zum Adreßregister des Speichers 1 nur geleitet werden, wenn im Stapel 2 eine gültige Eintragung steht Somit werdendem UND-Glied 125 eine Eingabe X=O(gültige Eintragung) und eine Leseeingabe zugeführt Das UND-Glied 125 ist über ein ODER-Glied 126 mit dem UN D-Glied 23 verbunden.
Im Ausführungsbeispiel bringt eine Leseoperation die Ausführung eines Mikroprogrammwortes mit sich. Eine während einer Leseoperation ausgeführte Funktion ist die Übertragung einer Operanden- oder Operatoreintragung aus dem Stapel 2 in das A-Register 9 oder das B-Register 10. Wenn die Eintragung ein Operator ist, wird sie in das Op-Register 13 über das UND-Glied 14 geleitet Wenn die Eintragung ein Operand ist wird er im A-Register 9 oder im B-Register 10 festgehalten, bis ein zweiter Operand in dem jeweils anderen Register gespeichert ist und der auszuführende Operator im Op-Register 13 steht Die auf den Operandeneintragungen vorzunehmende logische oder arithmetische Funktion wird dann ausgeführt
Wenn der Stapel 2 zu dem Zeitpunkt an dem eine Leseoperation eingeleitet wird, leer ist wird die Eintragung im BR-Register 15 in das Register 9 oder das Register 10 unter Mikroprogrammsteuerung übertragen.
Das Ergebnis der auf den Operanden in den Registern 9 und 10 ausgeführten arithmetischen oder logischen Funktion wird in das Z-Register 12 übertragen. Während einer nachfolgenden Spp-ichfToperation werden diese Ergebnisse im Register 12 entweder oben in den Stapel 2 oder in das A-Register 10 übertragen. Im letzteren Fall werden die Ergebnisse als Eintragung für die nächste arithmetische oder logische Funktion benutzt
In manchen Fällen handelt es sich bei der aus dem Stapel 2 oder dem BR-Register 15 gelesenen Eintragung um die Adresse von in dem nicht zum Stapel gehörenden Bereich des Hauptspeichers 3 gespeicherten Daten. In diesem Fall wird die Eintragung in das B-Register 9 gelesen und die Adresse dann in das Speicher-Adreßregister 5 des Hauptspeichers 3 über das ODER-Glied 7 geleitet Eine in das A-Register 10 während einer vorhergehenden öder nachfolgenden Leseoperation übertragene Dateneintragung wird dann
über die Sammelleitung 21 und das UND-Glied \6b an die ausgewählte Adresse im Hauptspeicher 3 übertragen. Andererseils wird die über das B-Register 9 an das Adreßregister 5 gelieferte Adresse zum Lesen von Daten aus dem nicht zum Stapel gehörenden Bereich des Hauptspeichers 3 in das A-Register 10 benutzt. Diese Eintragung im Register 10 wird dann in einer logischen oder arithmetischen Funktion gemäß dem Operator im Register 13 benutzt.
Mit den in das B-Register 9 zur Adressierung des langsamen Speichers 3 geknallten Adressen werden auch Eintragungen aus dem nicht zum Stapel gehörenden Bereich des Speichers abgerufen und dann durch die Sammelleitung 17 auf den Stapel 2 gestoßen.
Zur Beschreibung der Ausschieberoutine wird angenommen, daß während einer Speicheroperation der STP-Hinweis erhöht wird und die Vergieicherschaitung 107 den erhöhten Wert des STP-Hinweises übereinstimmend mit dem Wert des SBP-Hinweises feststellt. Wenn man annimmt, daß die Verriegelungsschaltung 101 auf logisch 0 steht, zeigt sie an, daß gültige Eintragungen im Stapel 2 stehen und das gleiche Vergleichsergebnis von der Schaltung 107 zeigt an, daß der Stapel 2 voll ist Die Ausgangssignale von der Vergleicherschaltung 107 und der Verriegelungsschaltung 101 zusammen mit dem Speichersignal schalten dann das UND-Glied 105 ein zur Erzeugung eines Signals auf der Leitung 140.
Die aus dem nicht zum Stapel gehörenden Bereich des Hauptspeichers 3 abgerufenen Speicherdaten werden vom Ausgaberegister in das Z-Register 12 übertragen durch das A-Register 10 und die ALU 11. Die Speicherdaten können auch von Anfang an im Z-Register 12 gestanden haben. Die Leitung 140 leitet die Ausgabe des Z-Registers 12 in das BR-Register 15 über das UND-Glied 127 und sperrt die Ausgabe des Z-Registers 12 zum Stapel 2 durch die Sperrschaltung 128.
Außerdem zwingt die Leitung 140 eine feste Verzweigungsadresse in einem Speicher 145 (zum Speichern von Konstanten) in das Speicheradreßregister des Steuerspeichers 30, um zum ersten Mikroprogrammsteuerwort der Ausschieberoutine zu verzweigen.
Der Abstimmwert für das jeweils ausgeführte Programm wird in das Register 142 des Speichers 1 .eingegeben, und der Prozessor ist für die Ausschieberoutinen vom Stapel 2 in den Stapelbereich 4 bereit Jede aus dem Stapel 2 in den Stapel 4 ausgeschobene Eintragung wird über die Sammelleitung das A-Register 10, die Sammelleitung 21 und das UND-Glied 16a übertragen. Der SBP-Hinweis wird über das UND-Glied 24 geleitet und wählt jede Eintragung vom Stapel 2 für das Ausschieben aus. rviit dem SSP-Hinweis im Register 6 wird eines der Register SSR1 bis SSR π im Stapelbereich 4 ausgewählt, wo die ausgeschobene Eintragung zu speichern ist
Die Hinweise SBP und SSP werden beim Ausschieben einer jeden Eintragung erhöht Für jede ausgeschobene Eintragung wird der Wert im Register 142 des Speichers 1 in das A-Register 10 übertragen, durch die ALU 11 heruntergesetzt in das Z-Register 12 übertragen und dann in das Register 142 zurückgeführt Während der Wert im Z-Regisier 12 steht wird er auf Gleichheit mit Null geprüft Wenn der Wert 0 ist, ist die Ausschieberoutine beendet
Die obige Reihe von Schritten wird zum Ausschieben einer Eintragung nach der anderen wiederholt bis der heruntergesetzte Wert vom Register 142 Null erreicht Zu diesem Zeitpunkt folgt eine Verzweigung zu der Routine, die ausgeführt wurde, bevor die Ausschieberoutine eingeleitet wurde. Wenn die Routine beendet ist, wird die noch im BR-Register 15 stehende Speichereintragung auf dem Stapel 2 gespeichert und die aus diesem ausgeschobene und noch im A-Register 10 festgehaltene letzte gültige Eintragung über die ALU 11, das Z-Register 12 und die Sammelleitung 18b in das BR-Register 15 übertragen.
Zur Beschreibung der Einschieberoutine wird angenommen, daß eine gültige Eintragung noch im Stapel 2 steht und eine Leseoperation stattfindet. Wenn nur noch eine gültige Eintragung im Stapel 2 steht, sind die Hinweise SBPund STPgleich, wodurch die Ausgabe der Vergleicherschaltung 106 und das Lesesignal das UND-Glied 103 einschalten und in der Verriegelung 101 das Ä'-Bit auf i setzen. Es wird angenommen, daß eine weitere Leseoperation erfolgt. Die Ausgabe der Verriegelung 101 und das Lesesignal schalten das UND-Glied 104 ein, so daß es ein Signal auf der Leitung 141 erzeugt. Das Signal auf der Leitung 141 zusammen mit dem Mikroprogramm veranlassen dann die Überleitung der Eintragung im BR-Register 15 entweder auf das B-Register 9 oder das A-Register 10.
Durch das Signal auf der Leitung 141 liefert auch der Speicher 145 eine Verzweigungsadresse an den Steuerspeicher 30 zur Adressierung des ersten Mikroprogrammwortes in der Einschieberoutine.
Wie bei der Ausschieberoutine wird der Abstimmwert für das jeweils ausgeführte Programm in das Register 142 im Speicher 1 eingegeben. Um die erste Eintragung aus dem Stapelbereich 4 in den Stapel 2 zu schieben, wird zuerst der Hinweis SSP heruntergesetzt, da er auf ein leeres Register im Bereich 4 zeigt. Der heruntergesetzte SSP-Wert wird dann in das Speicneradreßregister 5 gegeben, um die zuletzt eingegebene gültige Eintragung im Stapelbereich 4 zu adressieren (hierbei handelt es sich um dieselbe Eintragung, die vom BR-Register 15 in das Register 9 oder 10 übertragen wurde). Der SBP-Hinweis wird heruntergesetzt und der heruntergesetzte Wert des Hinweises durch das UND-Glied 24 geleitet, um die Position im Stapel 2 zu adressieren, in welche die Eintragung geschoben werden soll. Die Eintragung wird dann vom Register 8 des Speichers 3 in den Stapel 2 durch die Sammelleitung 17, das BR-Register 15 und die Sammelleitung 19 übertragen. Der Abstimmwert im Register 142 wird dann durch das A-Register 10 an die ALU 11 übertragen, heruntergesetzt und in das Register 142 durch das Z-Register 12 und die Sammelleitung 18a zurückgeführt Während der heruntergesetzte Wert im Z-Register 12 steht prüft ihn die Schaltung 143 auf Gleichheit mit Null mit derselben Schriüfoigc wird jede Eintragung im Stapelbereich 4 in den Stapel 2 übertragen, bis die Schaltung 143 feststellt, daß der heruntergesetzte Abstimmwert gleich Null ist Zu diesem Zeitpunkt ist die Einschieberoutine beendet
Vor der Beendigung wird jedoch die nächste gültige Eintragung im Stapelbereich 4 in das BR-Register 15 übertragen und dort festgehalten. Zum Rückstellen der Verriegelung 101 wird über das ODER-Glied 102 ein Signal angelegt Vor der Übertragung der letzten gültigen Eintragung im Stapelbereich 4 in das BR-Register 15 wurde der SSP-Hinweis im Register 6 heruntergesetzt Nach dieser Operation muß der SSP-Hinweis heraufgesetzt werden, so daß er jetzt auf die erste leere Stelle im Bereich 4 zeigt
Die Fig.3a bis 3c, 4a bis 4f und 5a bis 5f zeigen den
230 235/99
Inhalt des Stapels 2 und des Rückgriffregisters 15, die Werte der Stapelhinweise STP und SBP und den Zustand des X-Bit für ein Beispiel des Lesens, Speicherns, Einschiebens und Ausschiebens.
Speicheroperation (Fig. 3a, 3b)
Der oberste Stapelhinweis STP zeigt am Anfang auf die Eintragungsstelle HS7 des Stapels 2 (Fig.3a). Der STP-Hinweis wird um +1 erhöht und zeigt auf die Stelle HS8 während der Speicheroperation über das UND-Glied 110 und die Erhöhungsschaltung 121. Das UND-Glied 23 leitet den auf den neuesten Stand gebrachten STP-Hinweis zur Adressierung des Hochgeschwindigkeitsspeichers 1, und die Speicherdaten I werden in der Stelle HS8 im Stapel 2 (Fig. 3b) gespeichert.
Leseoperation (F i g. 3c)
Während einer nachfolgenden Leseoperation werden die Daten I aus der Stelle HS8 im Hochgeschwindigkeitsspeicher durch den obersten Stapelhinweis 57P adressiert. Der STP-Hinweis wird dann über das UND-Glied 111 und die Erniedrigungsschaltung 123 heruntergesetzt und zeigt wieder auf die nächste gültige Eintragung H in der Stelle HS 7 des Stapels 2.
Ausschieberoutine (F i g. 4a bis 4f)
Das Ausschieben des Hochgeschwindigkeitsspeicherstapels wird bis zum spätestmöglichen Zeitpunkt verzögert. Um eine Ausschiebeoperation einzuleiten, muß einmal durch die Vergleicherschaltung 107 festgestellt werden, daß der Stapel voll ist (SBP= STP+1), das Ä"-Bit in der Verriegelungsschaltung 101 auf Null stehen (durch eine vorhergehende Speicheroperation) und eine weitere Speicheroperation eingeleitet sein. Diese Bedingungen erzeugen ein Signal am Ausgang 140 des UND-Gliedes 105 in Fig.2, wodurch die Speicherdaten Q vom Register 12 in das Rückgriffregister 15 übertragen werden. Die Ausschieberoutine wird eingeleitet durch eine Verzweigung zum ersten Steuerwort der Routine im Speicher 30. Der oberste Stapelhinweis STPwird über das UND-Glied 110 und die Erhöhungsschaltung 121 wie bei der normalen Speicheroperation erhöht.
Die Ausschieberoutine legt am Anfang einen Impuls an das UND-Glied 24, um den unteren Stapelhinweis SBP auf das Adreßregister des Speichers 1 zu leiten. Die Daten in der durch den SBP-Hinweis adressierten Stelle werden über die Sammelleitung 20, das A-Register 10, die Sammelleitung 21 und das UND-Glied 16a gemäß Darstellung in F i g. 1 in den Speicher 3 ausgeschoben. Die ausgeschobenen Daten werden im langsamen SpciLTieriiapcäicfciCn 4 an dcf diifCn ucii SSr-KiiiwciS im Register 6 angegebenen Stelle gespeichert und der SSP-Hinweis durch die Erhöhungsschaltung 35 auf den neuesten Stand gebracht, und zwar über das UND-Glied 108 in Fi g. 2 und die Erhöhungsschaltung 120, so daß er jetzt auf die nächste auszuschiebende Eintragung zeigt.
Weitere Eintragungen werden genauso ausgeschoben und die Hinweise SSP und SBP für jede Eintragung fortgeschrieben, bis die gewählte Anzahl von Eintragungen ausgeschoben ist. Die Anzahl der ausgeschobenen Eintragungen wird durch das Ausschiebemikroprogramm und ein Register 142 im Speicher 1 gesteuert Während der Ausführung des ersten Mikroprogrammwortes der Ausschieberoutine wird das Register 142 mit einem Wert gefüllt, der gleich der Anzahl auszuschiebender Eintragungen ist. Während des Ausschiebens einer jeden Eintragung liest das Mikroprogramm den Wert im Register 142 aus, setzt ihn herunter und speichert ihn in das Register 142 zurück. Wenn dieser Wert Null erreicht, ist die Ausschieberoutine beendet, und es erfolgt eine Verzweigung zum Problemprogramm. Diese Bedingung wird durch die Vergleicherschaltung 143 erkannt.
Die Fig. 4a bis 4f zeigen 12 ausgeschobene Eintragungen A bis L und den SBP-Hinweis, der so auf den neuesten Stand gebracht wurde, das auf die Eintragung M im Stapelregister HS 12, den neuen Stapelboden, zeigt. Fig.5a zeigt den Stapel 2 gefüllt, wobei die Eintragungen A bis P in den Stellen HSQ- HS 15 stehen. Der oberste Stapelhinweis 5TP zeigt auf die Stelle HS 15 und der untere Stapelhinweis SBP auf die Stelle HSG. Eine Speicheroperation wird eingeleitet. Der STP-Hinweis wird heraufgesetzt (d. tier wird von binär 1111 auf binär 0 verändert), und die Vergleicherschaltung 107 erkennt SBP= STP+1 und erzeugt ein Ausgangssignal. Da in der Verriegelungsschaltung 101 das X-Bit = Null ist. erzeugt das UND-Glied 105 ein Ausgangssignal auf der Leitung 140 zum Speichern der Speicherdaten Q\m BR-Register 15 (F i g. 4b). Es erfolgt eine Verzweigung zur Ausschieberoutine im Steuerspeicher 30. Die Eintragungen A bis L werden in den Speicherbereich 4 ausgeschoben, der SBP-Hinweis zwölf mal erhöht und zeigt dann auf die Stelle HS 12, und das Register 142 wird auf Null heruntergesetzt (F i g. 4d).
Dann wird der Inhalt Q des BR-Registers 15 in der Hochgeschwindigkeitsspeicherstelle HSO gespeichert, die durch den STP-Hinweis angegeben wird (Fig.4e). Schließlich wird die letzte in den langsamen Speicher ausgeschobcn und noch irr, Α-Register stehende Eintragung L in das BR-Register 15 gespeichert (F i g. 4f). Dadurch werden die Daten im BR-Register 15 für eine weitere Leseoperation zu einem späteren Zeitpunkt zur Verfugung gestellt.
Einschieberoutine (F i g. 5a bis 5f)
Die Anfangsbedingungen zum Einleiten einer Einschiebung sind in Fig. 5a gezeigt Der Stapel 2 enthält eine gültige Eintragung M in der Stelle HS 12, SBP=STP. X-BU = O aus einer vorhergehenden Speicheroperation und das BR-Register 15 enthält eine Kopie der obersten Stapeleintragung L im langsamen Speicherstapelbereich 4 (aus der vorhergehenden, oben beschriebenen Ausführung).
Bei der nächsten Leseoperation wird die letzte gültige Eintragung M aus dem Stapel zur Verarbeitung gelesen (F i g. 5b). Die Ausgabe der Vergleicherschaltung 106 und das Lesesignai schalten das UND Glied 103, so daß das X-Bn in der Verriegelungsschaltung 101 auf 1 gesetzt wird. Der STP-Hinweis wird um 1 heruntergesetzt
Wenn die nächste auch wieder eine Leseoperation ist, schalten die Ausgabe der Verriegelungsschaltung 101 und das Lesesignal das UND-Glied 104 ein, und dies erzeugt ein Signal auf der Leitung 141. Dadurch werden die Daten L (ein Duplikat der obersten Eintragung im langsamsten Speicher) aus dem BR-Register 15 zur Verarbeitung gelesen, eine Einschieberoutine in den Speicher 30 eingeleitet und der STP-Hinweis um 1 heruntergesetzt(Fig.5c).
Die Einschieberoutine setzt zuerst den SSP-Hinweis um 1 herunter. Die Eintragung L wird dann aus der Stelle im langsamen Speicher im Stapelbereich 4, die
durch den SSP-Hinweis bezeichnet ist (im Register 6), ausgelesen in das Speicher-Datenregister 8. Der SBP-Hinweis wird um 1 heruntergesetzt und die SDR-Daten (L) über die Sammelleitung 17 und das BR-Register 15 in die durch den SBP-Hinweis angegebene Stelle WSIl gespeichert (Fig.5d). Diese Eintragung L im Hochgeschwindigkeitsstapel 2 ist ungültig, weil sie bereits beim Lesen aus dem BR-Register 15 benutzt wurde, da sich die Hinweise STPund SBP jedoch beim Beginn des Einschiebens um zwei Eintragungspositionen voneinander unterschieden haben, wird die Eintragung nie mehr benutzt, und der oberste Stapelhinweis zeigt auf die neue Stapelspitze im Register HS 10.
Als nächstes werden die Hinweise SSP und SBP heruntergesetzt und die Eintragung K aus dem Slapeibereich 4 in den Stapel 2, und zwar in das Register HSlO, übertragen (Fig.5e). Das Einschieben geht weiter, bis die gewählte Anzahl von Eintragungen /- A, gesteuert durch das Einschiebemikroprogramm, in die Hochgeschwindigkeits-Speicherregister HS 9 bis HSO entsprechend eingeschoben worden sind und der SBP-Hinweis die Stelle (HSO) der letzten gültigen Eintragung A angibt (F i g. 5f).
Wie im Zusammenhang mit der Ausschieberoutine erklärt wurde, wird das Register 42 im Speicher 1 am Anfang der Einschieberouline initialisiert und mit jeder Eintragungsübertragung vom Speicher 3 in den Speicher 1 heruntergesetzt. Wenn die Zahl im Register 42 den Wert 0 erreicht, wird dadurch das Ende der Einschieberoutine signalisiert.
Das Einschiebemikroprogramm liest dann eine weitere Eintragung aus dem langsamen Speicherbereich 4 in das Rückgriffregister 15 und setzt das X-Bh in der Verriegelungsschaltung 101 über das ODER-Glied 102 auf Null. Die in das BR-Regisier 15 gelesene Eintragung kann eine gültige Eintragung aus dem langsamen Speicherstapelbereich 4 oder eine Spezialeintragung aus dem langsamen Register SSR O sein und anzeigen, daß keine gültigen Eintragungen im Stapelbereich 4 bleiben und so ein Ende für die Programmausführung liefern, wenn sie zu einem späteren Zeitpunkt aus dem BR-Register 15 gelesen wird. Die Einschieberoutine erhöht schließlich noch den SSP-Hinweis um 1 und setzl ihn so auf die erste leere Stelle für eine spätere Ausschiebeoperation.
Hierzu 4 Blatt Zeichnungen

Claims (10)

Palentansprüche:
1. Datenverarbeitungsanlage, die mit einer Maschinensprache arbeitet, die auf eine höhere Problemprogrammiersprache bezogen ist und mit einem Prozessor und einem Hochgeschwindigkeitsspeicher zum Stapeln von Operanden- und/oder Operatoreneintragungen unmittelbar vor ihrer Verarbeitung ausgerüstet ist, wobei die Operanden- und/oder Operatoreneintragungen in einen Stapel und aus dem Stapel nach dem »Zuletzt Ein —Zuerst Aus«-Verfahren einer speichernden Einrichtung ein- bzw. ausgegeben werden und entstehende Oberlaufeintragungen vom Stapel in einen weiteren Stapel der zweiten, langsameren speichernden Einrichtung eingetragen werden, mit einer arithmetisch logischen Einheit, der Eingaberepister vorgeschaltet sind, dadurch gekennzeichnet, daß den Eingaberegistern (9 und 10) ein weiteres Register (15) zugeordnet ist, das als Rückgriffregister dient und sowohl mit dem langsameren Speicher (3) als auch mil dem schnelleren Speicher (1) sowie über eine logische Schaltung (127) mit dem Ausgang der arithmetisch logischen Einheit (11) und den Steuersignalen für die Verschiebeoperation (140) verbunden ist.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß den bekannten Eingaberegistern (9 und 10) einer arithmetisch logischen Einheit (11) ein weiteres Register (15) zugeordnet ist, das als Rückgriffregister dient und sowohl mit dem langsameren Speicher (3) als auch mit dem schnelleren Speicher (1) sowie über ein UND-Glied (127) mit dem Ausgang der arithmetisch logischen Einheit (11) und den Steuersignalen für die Verschiebeoperationen (140) verbunden ist.
3. Datenverarbeitungsanlage nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß das Rückgriffregister (15) zum Stapeln von Einträgen dient, wenn der Stapel (2) des schnellen Speichers (1) voll ist und daß es außerdem eine zusätzliche Leseoperation ermöglicht, nachdem die letzte gültige Stapeleintragung aus dem Stapel (2) gelesen worden ist.
4. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß ein Speicheradreßregister (5) vom Ausgang eines mit zwei Eingängen versehenen ODER-Gliedes (7) Adressen zur Adressierung des langsamen Speichers (3) und zur Adressierung der nicht zum Stapel gehörenden Bereiche entweder von einem ersten Register (9), das mit dem einen Eingang des ODER-Gliedes (7) verbunden ist, oder von einem zweiten Register (6), das mit dem anderen Eingang des ODER-Gliedes (7) verbunden ist, für Einschiebeoder Ausschieberoutinen, die den Stapelbereich (4) adressieren, empfängt.
5. Datenverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, daß die im Register (6) gespeicherte Information durch einen Vorwärtszähler (35) und einen Rückwärtszähler (36) während der Einschiebe- und Ausschieberoutinen auf den neuesten Stand gebracht wird.
6. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß dem schnelleren Speicher (1) zwei Register (112 und 113) vorgeschaltet sind, die Hinweise (STP und SBP)
enthalten, die immer dann auf gültige Eintragungen im Stapel (2) zeigen, wenn ein Bit (X)= 0 ist.
7. Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet, daß nach der Leseoperation, nach der die letzte gültige Eintragung aus dem Stapel (2) gelesen wurde, eine nachfolgende Leseoperation ein UND-Glied (104) am Eingang so beaufschlagt, daß eine Eintragung aus dem Rückgriffregister (15) gelesen und eine Einschieberoutine aufgerufen wird.
<J. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, daß zwischen dem Register (112) für einen oberen Stapelzeiger (STP) und dem Register (113) für einen unteren Stapelzeiger (SBP) eine Vergleicherschaltung (106) angeordnet ist, die bei Obereinstimmung der Registerinhalte ein nachgeschaltetes UND-Glied (103) vorbereitet, um bei der nachfolgenden Leseoperation das X-Bit auf Eins zu setzen.
9. Datenverarbeitungssystem nach Anspruch 8, dadurch gekennzeichnet, daß durch die nächste Eintragung vom Rückgriffregister (15) über das UND-Glied (104) eine Einschieberoutine eingeleitet wird.
10. Datenverarbeitungssystem nach den Ansprüchen 8 und 9, dadurch gekennzeichnet, daß eine weitere Vergleicherschaltung (107) angeordnet ist, die bei SBP=STP+\ und X-Bit = 0 eine Speicheroperation und ein UND-Glied (105) einschaltet, wodurch Daten in das Rückgriffregister (15) gespeichert werden, und daß dadurch außerdem eine Ausschieberoutine eingeleitet wird.
DE2351791A 1972-10-20 1973-10-16 Datenverarbeitungsanlage Expired DE2351791C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00299499A US3810117A (en) 1972-10-20 1972-10-20 Stack mechanism for a data processor

Publications (2)

Publication Number Publication Date
DE2351791A1 DE2351791A1 (de) 1974-04-25
DE2351791C2 true DE2351791C2 (de) 1982-09-02

Family

ID=23155070

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2351791A Expired DE2351791C2 (de) 1972-10-20 1973-10-16 Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US3810117A (de)
JP (1) JPS5241132B2 (de)
DE (1) DE2351791C2 (de)
FR (1) FR2204317A5 (de)
GB (1) GB1405700A (de)
IT (1) IT1001544B (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253418A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
FR2337376A1 (fr) * 1975-12-31 1977-07-29 Honeywell Bull Soc Ind Appareil permettant le transfert de blocs de donnees de longueur variable entre deux interfaces de largeur differente
US4398248A (en) * 1980-10-20 1983-08-09 Mcdonnell Douglas Corporation Adaptive WSI/MNOS solid state memory system
JPS5569855A (en) * 1978-11-20 1980-05-26 Panafacom Ltd Data processing system
US4298932A (en) * 1979-06-11 1981-11-03 International Business Machines Corporation Serial storage subsystem for a data processor
US4504925A (en) * 1982-01-18 1985-03-12 M/A-Com Linkabit, Inc. Self-shifting LIFO stack
US4530049A (en) * 1982-02-11 1985-07-16 At&T Bell Laboratories Stack cache with fixed size stack frames
JPS5996588A (ja) * 1982-11-24 1984-06-04 Mitsubishi Electric Corp デ−タ・アクセス方法
EP0264077A3 (de) * 1986-10-14 1991-01-30 Honeywell Bull Inc. Puffer-Adressenspeicher
JPH01255035A (ja) * 1988-04-05 1989-10-11 Matsushita Electric Ind Co Ltd プロセサ
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
US5502833A (en) * 1994-03-30 1996-03-26 International Business Machines Corporation System and method for management of a predictive split cache for supporting FIFO queues
DE69734399D1 (de) * 1996-01-24 2006-03-02 Sun Microsystems Inc Verfahren und vorrichtung zur stapel-cachespeicherung
US6038643A (en) * 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US5953741A (en) * 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6289418B1 (en) 1997-03-31 2001-09-11 Sun Microsystems, Inc. Address pipelined stack caching method
US6009499A (en) * 1997-03-31 1999-12-28 Sun Microsystems, Inc Pipelined stack caching circuit
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
US6092152A (en) * 1997-06-23 2000-07-18 Sun Microsystems, Inc. Method for stack-caching method frames
US6138210A (en) * 1997-06-23 2000-10-24 Sun Microsystems, Inc. Multi-stack memory architecture
US6067602A (en) * 1997-06-23 2000-05-23 Sun Microsystems, Inc. Multi-stack-caching memory architecture
US6058457A (en) * 1997-06-23 2000-05-02 Sun Microsystems, Inc. Method for storing method frames in multiple stacks
US6314513B1 (en) 1997-09-30 2001-11-06 Intel Corporation Method and apparatus for transferring data between a register stack and a memory resource
US6263401B1 (en) * 1997-09-30 2001-07-17 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for transferring data between a register stack and a memory resource
US6237086B1 (en) 1998-04-22 2001-05-22 Sun Microsystems, Inc. 1 Method to prevent pipeline stalls in superscalar stack based computing systems
US6170050B1 (en) 1998-04-22 2001-01-02 Sun Microsystems, Inc. Length decoder for variable length data
US6108768A (en) * 1998-04-22 2000-08-22 Sun Microsystems, Inc. Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
US6275903B1 (en) 1998-04-22 2001-08-14 Sun Microsystems, Inc. Stack cache miss handling
JP2004157636A (ja) * 2002-11-05 2004-06-03 Renesas Technology Corp データ処理装置
US7139876B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache
US7139877B2 (en) * 2003-01-16 2006-11-21 Ip-First, Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
US7191291B2 (en) * 2003-01-16 2007-03-13 Ip-First, Llc Microprocessor with variable latency stack cache
US7136990B2 (en) * 2003-01-16 2006-11-14 Ip-First, Llc. Fast POP operation from RAM cache using cache row value stack
JP2006309508A (ja) * 2005-04-28 2006-11-09 Oki Electric Ind Co Ltd スタック制御装置およびその方法
FR2896601B1 (fr) * 2006-01-24 2008-08-15 Atmel Nantes Sa Dispositif de traitement en notation polonaise inversee, et circuit integre electronique comprenant un tel dispositif de traitement.
US20070282928A1 (en) * 2006-06-06 2007-12-06 Guofang Jiao Processor core stack extension
US10338928B2 (en) * 2011-05-20 2019-07-02 Oracle International Corporation Utilizing a stack head register with a call return stack for each instruction fetch
US8793284B2 (en) 2011-05-26 2014-07-29 Laurie Dean Perrin Electronic device with reversing stack data container and related methods
CN112948000B (zh) * 2021-03-17 2023-03-03 星汉智能科技股份有限公司 栈空间统计方法、装置及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3200379A (en) * 1961-01-23 1965-08-10 Burroughs Corp Digital computer
US3292152A (en) * 1962-09-17 1966-12-13 Burroughs Corp Memory
US3292153A (en) * 1962-10-01 1966-12-13 Burroughs Corp Memory system
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
BE681175A (de) * 1966-03-03 1966-10-31
GB1199991A (en) * 1967-06-28 1970-07-22 Int Computers Ltd Improvements relating to Data Handling Arrangements
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
US3548384A (en) * 1967-10-02 1970-12-15 Burroughs Corp Procedure entry for a data processor employing a stack
US3546677A (en) * 1967-10-02 1970-12-08 Burroughs Corp Data processing system having tree structured stack implementation
US3560935A (en) * 1968-03-15 1971-02-02 Burroughs Corp Interrupt apparatus for a modular data processing system

Also Published As

Publication number Publication date
FR2204317A5 (de) 1974-05-17
IT1001544B (it) 1976-04-30
JPS5241132B2 (de) 1977-10-17
JPS4975038A (de) 1974-07-19
DE2351791A1 (de) 1974-04-25
GB1405700A (en) 1975-09-10
US3810117A (en) 1974-05-07

Similar Documents

Publication Publication Date Title
DE2351791C2 (de) Datenverarbeitungsanlage
DE1449765C3 (de) Einrichtung zur Abfrage eines assoziativen Speichers
DE2515696C2 (de) Datenverarbeitungssystem
DE2502910C2 (de) Informations-Sortiereinrichtung
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE2551238C3 (de) Datenkonzentrator
DE2418653C3 (de) Vorrichtung zum Anzeigen eines Extremwertes einer Folge von Digitalwerten
DE2755875C2 (de)
DE2448690A1 (de) Kellerspeichereinrichtung fuer eine datenverarbeitungsanlage
DE2139731A1 (de) Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher
DE2360303C2 (de) Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle
DE2036729A1 (de) Digital Datenverarbeiter
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2429067B2 (de) Speicherschaltung
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1285218B (de) Datenverarbeitungsanlage
DE3039306C2 (de) Einrichtung für den Empfang von asynchron und bitweise seriell übertragenen Daten
DE2458777C2 (de) Schaltungsanordnung zur Textverarbeitung
DE2901455C3 (de) Speicherzugriffssteuerung zum wahlfreien Zugriff zu einem umlaufenden Speicher und Verfahren zum Betreiben desselben
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2257140A1 (de) Vorrichtung zum aufsuchen einer information
DE2404259C3 (de) Schaltungsanordnung zum Zwischenspeichern von Datensätzen unterschiedlicher Länge

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee