DE2351791A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2351791A1
DE2351791A1 DE19732351791 DE2351791A DE2351791A1 DE 2351791 A1 DE2351791 A1 DE 2351791A1 DE 19732351791 DE19732351791 DE 19732351791 DE 2351791 A DE2351791 A DE 2351791A DE 2351791 A1 DE2351791 A1 DE 2351791A1
Authority
DE
Germany
Prior art keywords
register
stack
memory
entry
data processing
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.)
Granted
Application number
DE19732351791
Other languages
English (en)
Other versions
DE2351791C2 (de
Inventor
Robert Albert 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

Böblingen, den 11. Oktober 1973
ru-aa
Anmelderin: International Business Machines
Corporation,. Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung ο q c i π η ι Aktenzeichen der Anmelderin: EN 972 Ο51
Datenverarbeitungsanlage
Die Erfindung betrifft eine Datenverarbeitungsanlage, die mit einer Maschinensprache arbeitet, die auf eine höhere Problemprogrammsprache bezogen ist und mit mindestens einem Prozessor und mindestens einem Hochgeschwindigkeitsspeicher zum Stapeln von Operanden- und/oder Operatoreneintragungen unmittelbar vor ihrer Verarbeitung ausgerüstet ist.
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 Problemes 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
409817/0897
Stapel zur Verfugung.
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 oben erwä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 wird in der US-Patentschrift 3 401 376 gemacht. Dort wird ein Hochgeschwindigkeitsstapel 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.
Daraus ergibt sich die Aufgabe der Erfindung, nämlich die Verzögerung von Einschiebe- oder Ausschiebeoperationen von Eintragungen in einem Hochgeschwindigkeitsstapel bis zum letztmöglichen Zeitpunkt.
Die Aufgabe der Erfindung wird gelöst in einem Datenverarbeitungssystem mit einem Prozessor und einem Hochgeschwindigkeitsstapel zum Speichern von Operanden- und/oder Operatoreintragun-
en 972 051 409817/089?
gen unmittelbar vor ihrer Verarbeitung, das dadurch gekennzeichnet ist, daß die Operanden- und/oder Operatoreneintragungen in einen Stapel und aus dem Stapel nach dem an sich bekannten "Zuletzt Ein-Zuerst Aus"-Verfahren einer speichernden Einrichtung ein- bzw. ausgegeben werden, und daß entstehende überlaufeintragungen vom genannten Stapel in einen weiteren Stapel einer zweiten, langsameren speichernden Einrichtung eingetragen werden, wobei der umgekehrte Vorgang, nämlich das übertragen von Eintragungen aus dem Stapel der langsameren speichernden Einrichtung in den,Stapel der schnelleren speichernden Einrichtung erfolgt, wenn die Anzahl der gültigen Eintragungen im Stapel der schnelleren speichernden Einrichtung einen vorgegebenen unteren Grenzwert erreicht.
Weitere wesentliche Merkmale ergeben sich insbesondere aus den Ansprüchen 2 und 3.
Der Vorteil der vorliegenden Erfindung besteht vor allem in der Elliminierung vieler sonst erforderlicher Einschiebe- oder Ausschiebeoperationen von Eintragungen in den Hochgeschwindigkeitsspeicherstapel bzw. in die Register. Durch die Verwendung eines Rückgriffregister 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 zeigen:
Fig. 1 einen Prpzessor, eine Stapeleinrichtung und
einen langsamen Speicher,
en 972 051 409817/0897
Fig. 2 ein Ausführungsbeispiel der verbesserten Stapel-
adreßeinrichtung sowie Einschiebe- und Ausschiebeste ue rungen , und
Fig. 3,4+5 in Beispielen Speicher- und Leseoperationen
sowie Ausschiebe- und Einschieberoutinen.
Das schematisch in Fig. 1 gezeigte System arbeitet vorzugsweise unter Mikroprogrammsteuerung und mit Datenwegenf wie sie im einzelnen in der US-Patentschrift Nummer 3 656 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 ALU 11 sowie einen zum Prozessor gehörenden sehr schnellen Arbeitsspeicher 1. Pas 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 eines 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 Hochgeschwindigkeitsspexcher 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 UND-Glied 23 oder 2 4 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
en 972 O51 409817/0897
25 und das ODER-Glied 22 adressiert.
Mit den Hinweisen STP und SBP wird der Stapel nur beim Speichern, und Lesen sowie während der Aus- und Einschieberoutinen adressiert. Alle diese Zugriffe 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 ü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 18b 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 A-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 16b bilden eine 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 Stapeleintragung nachdem der Stapel
en 972 O51 409817/0897
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 Stapel gehö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ärts zähler 35 und ein Rückwärts zähler 36 den Hinweis SSP auf den neuesten Stand.
Fig. 2 zeigt die zur Adressierung und Steuerung des Stapels 2 im Hochgeschwindigkeitsspeicher 1 notwendigen Maschinenausrüstung. Das Register 112 und das Register 113 enthalten die Hinweise STP und SBP und zeigen immer auf gültige Eintragungen im Stapel 2, wenn das X-Bit in der Verriegelung 1Ol 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 dem Stapel 2 hinein und am Ende einer jeden Ausschieberoutine wird der X-Bit-Riegel 101 auf X-Bit = 0 zurückgestellt über das ODER-Glied 102. Der Riegel wird auf X-Bit = 1 ü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 10,4 so, daß eine Eintragung vom Rückgriff register 15 gelesen und die Einschieberoutine aufgerufen wird. Die Einschiebung wird bis zum spätest möglichen Zeitpunkt durch dieses zusätzliche Lesen aus dem Rückgriffregister 15 verzögert.
EN 972 05! 409817/0897
Die Vergleicherschaltung 106 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ültige 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-Bit = O 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 Vergleicherschaltung 1O7 kann SBP=STP+1 erkennen, wenn der Stapel 2 leer ist. Bei der Bedingung X-Bit = 1 und einer nachfolgenden Speicheroperation werden jedoch keine Daten in das Register 15 gespeichert unä die Ausschieberoutine aufgerufen, weil das UND-Glied 105 durch das Signal X-Bit=0 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 Speicheroperationen und somit wieder andere Folgen von Ein- und Ausschiebeoperationen erfordert s auf ein Minimum reduziert.
Der Stapel 2 benötigt 2n Eintragungspositionen, um die Adreßfortschreibung in zyklischer Adreßreihenfolge (d=h« Register 112, 123, Vorwärtszähler 120? 121 und Rückwärtswähler 122 9 123) für die Hinweise STP und SBP wirtschaftlich zu ermöglichen- Das Re-
en 972 O51 409817/0897
gister 15 verbessert die Leistung des Stapeis mit fester Länge wesentlich«
Die UND-Glieder 108, 109, 110 und 111 steuern die Vor-und Rückwärts zählung des STF-Registers 112 und des SBP-Hinweises im Register 113 während jeder 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 T2, 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 werden dem 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 UND-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 Operandenoder 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 IO 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 vorzu-
409817/0897
EN 972 051
nehmende 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 Speicheroperation 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 oder nachfolgenden Leseoperation übertragene Dateneintragung wird dann über die Sammelleitung 21 und das UND-Glied 16b an die ausgewählte Adresse im Hauptspeicher 3 übertragen. Andererseits 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.
409817/0897
EN 972 051,
Zur Beschreibtang der Ausschieberoutine wird angenommen, daß während einer Speicheroperation der STP-Hinweis erhöht wird und die Vergleicherschaltung 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 Aus gangs sign a Ie von der Vergleicherschaltung 107 und der Verriegelungsschaltung 1Ol zusammen mit dem Speichersignal schalten dann das UND-Glied 105 ein zur Erzeugung eines Signales 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 Α-Register IO 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 Speiche radreßregister des Steuerspeichers 3O, um zum ersten Mikroprogramms teuerwort der Ausschieberoutine zu verzweigen.
Der Abstimmwert für das jeweils ausgeführte Programm wird in das Register 142 des Speichers 1 angegeben 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 2 4 geleitet und wählt jede Eintragung vom Stapel 2 für das Ausschieben aus. Mit dem SSP-Hinweis im Register 6 wird eines der Register SSR 1 bis SSR-η im Stapelbereich 4 ausgewählt, wo die ausgeschobene Eintragung zu speichern ist.
409817/0897
EN 972 051
Die Hinweise SBP und SSi* «werde« beim Ausschieber einer jeden Eintragung erhöht* für jede ausgesehobene Eintragung wird der Wert int 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-Register 12 steht, wird er auf Gleichheit mit Null geprüft. Wenn der Wert O ist, ist die Ausschieberoutine beendet*
Die obige Reihe von Schritten wird zum Äusschieben 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 ausgeschoben und noch im Ä-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 angenoiranen, 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 SBP und STP gleich, Wodurch die Ausgabe der Vergleichsschaltung 106 und das Lesesignal das UND-Glied 103 einschalten und in der Verriegelung 101 das X-Bit auf 1 setzen. Es wird angenommen, daß eine weitere Leseoperation erfolgt. Die Ausgabe der Verriegelung lOi 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.
409817/0897 .
EN 972 OSl
Wie bei der Ausschieberoutine wird der Abstimmwert für das jeweils ausgeführt 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 Pegister im Bereich 4 zeigt. Der heruntergesetzte SSP-Wert wird dann in das Speicheradreß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 Schrittfolge 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 Fign. 3a bis 3c, 4a bis 4f und 5a bis 5f zeigen den Inhalt des Stapels 2 und des Rückgriffregisters 15, die Werte der Sta-
409817/0897
EN 972 O51
pelhinweise STP und SBP und den Zustand des X-Bit für ein Beispiel des Lesens, Speicherns, Einschiebens und Ausschiebens.
Speicheroperation (Fign. 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 HO 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 (Fig. 3c)
Während einer nachfolgenden Leseoperation werden die Daten I aus der Stelle HS8 im Hochgeschwindigkeitsspeicher durch den obersten Stapelhinweis STP 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 HS7 des Stapels 2.
Ausschieberoutine (Fign. 4a bis 4f)
Das Ausschieben des Hochgeschwindigkeitsspeicherstapels wird bis zum spätest möglichen Zeitpunkt verzögert. Um eine Ausschiebeoperation einzuleiten, muß einmal durch die Vergleicherschaltung 1O7 festgestellt werden, daß der Stapel voll ist (SBP=STP+1)., das X-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 Der oberste Stapelhinweis STP wird über das UND-Glied 110 und die
409817/0897
EN 972 051
Erhöhungsschaltung 121 wie bei der normalen Speicheroperation erhöht.
Die Ausschieberoutine legt am Anfang einen Impuls an das UND-Glied 24 f um den unteren Stapelhinweise 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 Fig. 1 in den Speicher 3 ausgeschoben. Die ausgeschobenen Daten v/erden im langsamen Speicherstapelbereich 4 an der durch den SSP-Hinweis im Register 6 angegebenen Stelle gespeichert und der SSP-Hinweis durch die Erhöhungsschaltung 35 auf den neuesten Stand gebracht, und zwar über das UFD-Glied 1O8 in Fig. 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 aus geschobenen 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 Fign. 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 HS12, den neuen Stapelboden zeigt. Fig. 5a zeigt den Stapel 2 gefüllt, wobei die Eintragungen A bis P in den Stellen HS0-HS15 stehen. Der oberste
409817/0897
EN 972 051
Sirapelhinweis STP zeigt auf die Stelle HSlS und der untere Stapelhinweis SBP auf die Stelle HSO. Eine Speieheroperation wird eingeleitet. Der STP-Hinweis wird heraufgesetzt (d.h. er wird von binär 1111 auf binär 0 verändert) und die Vergleicherschaltung 107 erkennt SBP=STP+! und erzeugt ein Aus gangs signal. Da in der Verriegelungsschaltung 101 das X-Bit = Null ist, erzeugt das UND-Glied 105 ein Ausgangssignal auf der Leitung I4o zum Speichern der Speicherdaten O. im BR-Register Ϊ5 (Fig. 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ölfmal erhöht und zeigt dann auf die Stelle HS 12 und das Register 142 wird auf Null heruntergesetzt (Fig. 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 ausgeschobenen und noch im A-Register stehende Einntragung L in das BR-Register 15 gespeichert (Fig. 4f) Dadurch werden die Daten im BR-Register 15 für eine weitere Leseoperation zu einem späteren Zeitpunkt zur Verfugung gestellt.
Einschieberoutine (Fig. 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 HS12, SBP=STP, X-BIt=O aus einer vorhergehenden Speicheroperation und das BR-Register 15 enthält eine Kopie der obersten Stapeleintragung L im langsamen Speicherstapelbereich (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 (Fig. 5b). Die Ausgabe der Vergleicherschaltung 106 und das Lesesignal schalten das UND-Glied 103, so daß das X-Bit in der Verriegelungsschaltung 101 auf 1 gesetzt wird. Der STP-Hinweis wird um 1 heruntergesetzt.
40-98-17/0897
EN 972 OS^ - .-
Wenn die nächste auch wieder eine Leseoperation ist, schalten die Ausgabe der Verriegelungsschaltung 101 und das Lesesignal das UND-Glied 104 ein und des 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 HSIl gespeichert (Fig. 5d). Diese Eintragung L im Hoehgeschwindigkeitsstapel 2 ist ungültig, weil sie bereits beim Lesen aus dem BR-Register 15 benutzt wurde, da sieh die Hinweise STP und SBP jedoch beim Beginn des Einschiebens um zwei Eintragungspositionen voneinander unterschieden haben, wird diese Eintragung nie mehr benutzt und der oberste Stapelhinweis zeigt auf die neue Stapelspitze im Register HSlO,
Als nächstes werden die Hinweise SSP und SBP heruntergesetzt und die Eintragung K aus dem Stäpeibereich 4 in den Stapel 2, und zwar in das Register HSIÖ Übertragen (Fig< Se)* Das Einschieben geht weiter, bis die gewählte Anzahl von Eintragungen J-A gesteuert durch das Einschiel3emikröprögrainnLJ.ri die Höchgeschwihdigkeits-Speieherregister HS9 bis HSO entsprechend eingeschoben worden sind und der SBP-Hlriweiä die Stelle (HSO) der letzten gültigen Eintragung A angibt (Fig; Sf)<
Wie im Eüsammennäng mit der ÄüsschieBerbütihe erklärt würde, wird das Register 42 im Speieher 1 aiii Ärifäritj der El ns ch leib er öu tine iriitiäiisiisft und mit jeder EihtragüngsüBerträgiihg vom Speicher 3 in den Speicher i heruntörgisetzt. Wenn die 2ähl im Register 42
46-18.1
EM 972 Ö5i
den Wert O 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-Bit in der Verriegelungsschaltung 101 über das ODER-Glied 102 auf Null. Die in das BR-Register 15 gelesene Eintragung kann eine gültige Eintragung aus dem langsamen Speicherstapelbereich 4 oder eine Spezialeintragung aus dem langsamen Register SSRO 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 setzt ihn so auf die erste leere Stelle für eine spätere Ausschiebeoperation.
409817/0897
EN 972 051

Claims (10)

  1. PATENTANSPRÜCHE
    Datenverarbeitungsanlage, die mit einer Maschinensprache arbeitet, die auf eine höhere Problemprogrammiersprache bezogen ist und mit einem Prozessor und einen Hochgeschwindigkeitsspeicher zum Stapeln von Operanden- und/ oder Operatoreneintragungen unmittelbar vor ihrer Verarbeitung ausgerüstet ist,
    dadurch gekennzeichnet, daß die Operanden- und/oder Operatoreneintragungen in einen Stapel und aus dem Stapel nach dem an sich bekannten "Zuletzt Ein-Zuerst Aus-"Verfahren einer speichernden Einrichtung ein- bzw. ausgegeben werden, und daß entstehende Überlaufeintragungen vom genannten Stapel in einen weiteren Stapel einer zweiten, langsameren speichernden Einrichtung eingetragen werden, wobei der umgekehrte Vorgang, nämlich das übertragen von Eintragungen aus dem Stapel der langsameren speichernden Einrichtung in den Stapel der schnelleren speichernden Einrichtung erfolgt, wenn die Anzahl der gültigen Eintragungen im Stapel der schnelleren speichernden Einrichtung einen vorgegebenen unteren Grenzwert erreicht.
  2. 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.
    409817/0897
    EN 972 051
    - 19 - . 7351791
  3. 3. Datenverarbeitung^anlage nach den Ansprüchen 1 ühd 2f 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ß er außerdem eine zusätzliche Leseoperation ermöglicht, nachdem die letzte gültige Stapeleintragung aus dem Stapel (2) gelesen worden ist.
  4. 4. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß ein Speieherädreßregister (5) Adressen zur Adressierung des langsamen Speichers (3) über das ODER-Glied und zur Adressierung der nicht zum Stapel gehörenden Bereiche entweder von einem ersten Register (9) oder von einem zweiten Register (6) für Einschiebe- oder Aüsschieberoutlrien, die den Stapelbereich (4) adressieren, empfängt.
  5. 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 Ausschieberöutineri auf den neusten Stand gebracht wird.
  6. 6< Datenverarbeitungsanlage nach den Ansprüchen 1 bis 5> dadurch gekennzeichnet, daß dem schnelieren Speicher (1) zwei Register (112 und 113) vorgeschaltet sind* die Hinweise (Si?P und SBP) enthalten, die immer darin auf gültige Eintragungen im Stapel (2) zeigeni Wenn ein Sit (X) = G ist*
  7. 7; Dätenverärbeltürigsähiäge nach Anspruch 6* dadurch gekennzeichnet jr däJB nach der Leseoperation* nach der die letzte gültige Eintragung aus dem Stapel (2) gelesen Würde-, eine nachfolgende Leseoperätiön ein ÜNb-Glieä (ίο!J am Eingang
    4Ö98 17/Ö8S7
    EN 972 051
    - 20 - 7351791
    so beaufschlagt, daß eine Eintragung aus dem Rückgriffregister (15) gelesen und eine Einschieberoutine aufgerufen wird.
  8. 8. 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 (1O6) angeordnet ist, die bei Übereinstimmung der Registerinhalte ein nachgeschaltetes UND-Glied (103) vorbereitet, um bei der nachfolgenden Leseoperation das X-Bit auf Eins zu setzen.
  9. 9« Datenverarbeitungssystem nach Anspruch 8, dadurch gekennzeichnet, daß durch die nächste Eintragung vom Rückgriffregister (15) über das UND-Glied (1O4) eine Einschieberoutine eingeleitet wird.
  10. 10. Datenverarbeitungssystem nach den Ansprüchen 8 und 9, dadurch gekennzeichnet, daß eine weitere Vergleicherschaltung (1O7) angeordnet ist, die bei SBP=STP + 1 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 Ausschieberoutlne eingeleitet wird.
    409817/Ό897
    EN 972 051
    Uersei te
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 true DE2351791A1 (de) 1974-04-25
DE2351791C2 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
US6009499A (en) * 1997-03-31 1999-12-28 Sun Microsystems, Inc Pipelined stack caching circuit
US6289418B1 (en) 1997-03-31 2001-09-11 Sun Microsystems, Inc. Address pipelined stack caching method
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
US6058457A (en) * 1997-06-23 2000-05-02 Sun Microsystems, Inc. Method for storing method frames in multiple stacks
US6092152A (en) * 1997-06-23 2000-07-18 Sun Microsystems, Inc. Method for stack-caching method frames
US6067602A (en) * 1997-06-23 2000-05-23 Sun Microsystems, Inc. Multi-stack-caching memory architecture
US6138210A (en) * 1997-06-23 2000-10-24 Sun Microsystems, Inc. Multi-stack memory architecture
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
US6275903B1 (en) 1998-04-22 2001-08-14 Sun Microsystems, Inc. Stack cache miss handling
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
US6170050B1 (en) 1998-04-22 2001-01-02 Sun Microsystems, Inc. Length decoder for variable length data
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
US7191291B2 (en) * 2003-01-16 2007-03-13 Ip-First, Llc Microprocessor with variable latency stack 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
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 星汉智能科技股份有限公司 栈空间统计方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
US3461494A (en) * 1966-03-03 1969-08-19 Soudure Autogene Elect Manufacture of welding electrodes
DE1774466B2 (de) * 1967-06-28 1973-07-05 English Electric Computers Ltd , London Datenverarbeitungsanlage

Family Cites Families (7)

* 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
US3548384A (en) * 1967-10-02 1970-12-15 Burroughs Corp Procedure entry for a data processor employing a stack
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
US3461494A (en) * 1966-03-03 1969-08-19 Soudure Autogene Elect Manufacture of welding electrodes
DE1774466B2 (de) * 1967-06-28 1973-07-05 English Electric Computers Ltd , London Datenverarbeitungsanlage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R.K. Richards Electronic Digital Systems, 1966, S. 227-229 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2351791A1 (de) Datenverarbeitungsanlage
DE1449765C3 (de) Einrichtung zur Abfrage eines assoziativen Speichers
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
DE2519381A1 (de) Datenverarbeitungssystem
DE2551238C3 (de) Datenkonzentrator
DE2551239C3 (de) Datenverarbeitungsanlage
DE2346525B2 (de) Virtuelle Speichereinrichtung
DE2448690A1 (de) Kellerspeichereinrichtung fuer eine datenverarbeitungsanlage
DE2421229C2 (de) Digitale Datenverarbeitungsanlage
DE2261694A1 (de) Speichersystem
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2747196C2 (de) Vergleichseinrichtung zum Vergleichen von Informationen variabler Länge
DE2429067C3 (de) Speicherschaltung
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1805992B2 (de) Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen
DE1474351C3 (de) Datenspeicher
DE1119567B (de) Geraet zur Speicherung von Informationen
DE1285218B (de) Datenverarbeitungsanlage
DE2210333C3 (de)
DE2458777C2 (de) Schaltungsanordnung zur Textverarbeitung
DE1957600C3 (de)
DE2519195A1 (de) Assoziativspeicher
DE2525394B2 (de) Verfahren und schaltungsanordnung zum uebertragen, einspeichern und ausspeichern von binaercodierten datenbloecken
DE1817795C3 (de) Verarbeitungsanordnung für Radar-Videosignal-Informationen mit ein Schieberegister enthaltender Speicheranordnung

Legal Events

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