DE2233193A1 - Stapel-speichersystem - Google Patents

Stapel-speichersystem

Info

Publication number
DE2233193A1
DE2233193A1 DE2233193A DE2233193A DE2233193A1 DE 2233193 A1 DE2233193 A1 DE 2233193A1 DE 2233193 A DE2233193 A DE 2233193A DE 2233193 A DE2233193 A DE 2233193A DE 2233193 A1 DE2233193 A1 DE 2233193A1
Authority
DE
Germany
Prior art keywords
stack
information
register
memory
logic device
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
DE2233193A
Other languages
English (en)
Other versions
DE2233193B2 (de
DE2233193C3 (de
Inventor
James A Katzman
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE2233193A1 publication Critical patent/DE2233193A1/de
Publication of DE2233193B2 publication Critical patent/DE2233193B2/de
Application granted granted Critical
Publication of DE2233193C3 publication Critical patent/DE2233193C3/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

Description

Hewlett-Packard Company ·
1501 Page Mill Road
Palo Alto
California 94304
Case 663
30. Juni 1972
STAPEL-SPEICHERSYSTEM
Die Erfindung betrifft ein Stapel-Speichersystem zum Speichern eines logischen Informationsstapels mit mehreren Stapelregistern zum Stapeln von logischer Stapelinformation, wobei jedes Stapelregister einen Informationseingang und einen Informationsausgang hat und ein erstes Datenregister zum Speichern der Anzahl der Stapelregister mit logischer Stapelinformation vorgesehen ist.
Ein Rechner mit einem Stapelspeichersystem unterscheidet sich von dem herkömmlichen Typ eines Rechners ohne Stapelspeicher darin, daß die Information in einem Stapel gewöhnlich implizit statt explizit adressiert wird. Bei einem Rechner ohne Stapelspeicher wird die Information in speziell adressierten Stellen im Speicher gespeichert und gewöhnlich an Register, beispielsweise am Akkumulatorregister zur Verarbeitung übertragen. In einem Rechner mit Stapelspeicher wird die Information dagegen häufig direkt in dem Stapel verändert, so daß keine getrennten Akkumulatorregister erforderlich sind. Zusätzlich ist der Rechner gewöhnlieh derart
2 0 9 8 8 6 / ! t'! 0
_ 2 —
aufgebaut, daß davon ausgegangen wird, daß die für einen Vorgang erforderliche Information sich an der Spitze des Stapels befindet, falls der Rechner nicht anders instruiert wird. Deshalb braucht der Programmierer nicht eine spezielle Speicheradresse für Stapelvorgänge anzugeben, es sei denn, er bringt Information in den Stapel von beispielsweise einem Speicherabschnitt mit fester Adresse.
Ein Speicherstapel ist häufig ein bestimmtes Segment des Kernspeichers, welches für Speichervorgänge reserviert ist. Um jedoch die maximale Betriebsgeschwindigkeit zu erreichen, ist die Information an der Spitze des Stapels häufig in einem oder mehreren Registern enthalten. Wenn tiefer im Stapel eingespeicherte Information benötigt wird, so wird sie an die Spitze der Stapelregister (TOS-Register) übertragen und in den Kernspeicher übertragen, wenn zusätzliche Information in den Stapel eingegeben wird. Falls der Stapel sehr groß ist, können Speicher mit niedrigerer Geschwindigkeit und niedrigeren Kosten, beispielsweise Platten, verwendet werden.
Es gibt bereits Rechnerspeicher, die nach dem Stapelkonzept aufgebaut sind und TOS-Register aufweisen. Die herkömmlichen Speicher sind jedoch allgemein auf zwei TOS-Register beschränkt und dies beruht auf der stark zunehmenden Komplexität der Aufzeichnungslogik, wenn die Anzahl der TOS-Register erhöht wird. Ein Beispiel eines herkömmlichen Rechners mit
2 0 9 8 8 6/1139
einem Stapelspeicher mit zwei TOS-Registern ist beschrieben in Hauck & Dent, "Burroughs' B65OO/B75OO Stack Mechanism", AFIPS Conference Proceedings, Band 32, Seite 245,1968.
Das herkömmliche Aufzeichnungsverfahren für die TOS-Register arbeitet mit einem Benennungsregister für jedes Stapelregister, um die Rangfolge der Information in den Stapelregistern zu verfolgen. Jedes dieser Benennungsregister enthält so viele Zustände, wie Stapelregister vorhanden sind, wobei zwei Zustände einem Bit entsprechen. Daher würde die für die Aufzeichnungsfunktion erforderliche Anzahl von Bits schneller zunehmen als die Anzahl der Stapelregister (ungefähr N log« N, wobei N die Anzahl der Stapelregister ist). Zusätzlich muß ein anderes Register vorgesehen werden, um zu verfolgen, welche Stapelregister keine gültige Stapelinformation enthalten. Die Information in einem Stapelregister wird als ungültig angesehen, wenn das Register im logischen Sinn gelöscht worden ist, beispielsweise durch das Entfernen von Information von der Spitze des Stapels. Dieses herkömmliche System der Aufzeichnung oder "Buchführung" wird sehr schwierig und führt zu Problemen in der Programmierung und der logischen Schaltung, wenn mehr als zwei Stapelregister verwendet werden.
Der Erfindung liegt die Aufgabe zugrunde, ein Stapelspeichersystem zu schaffen, bei dem die Programmierung und der Aufbau der logischen Schaltkreise auch bei mehr als zwei Stapel-
2 (i U U 0 H /113 i?
registern vergleichsweise einfach bleibt.
Ausgehend von einem Stapelspeichersystem der eingangs genannten Gattung wird diese Aufgabe erfindungsgemäß dadurch gelöst, daß ein zweites Datenregister zum Speichern einer Zahl für den Benennungszustand vorgesehen ist, welche die logische Rangfolge der in den Stapelregistern gespeicherten · Information darstellt, die Anzahl der Benennungszustände
gleich der Anzahl der Stapelregister ist, eine erste Logikeinrichtung mehrere geordnete Zugriffseingänge aufweist, die erste Logikeinrichtung mit dem zweiten Datenregister und
jedem Stapelregister verbunden ist, um einen Zugriffseingang mit jedem der Stapelregister entsprechend der in dem zweiten Datenregister gespeicherten Zahl zu verbinden und den Stapelregisterzugriff über den Informationseingang und -ausgang entsprechend Steuersignalen auf dem Zugriffseingang zu ermöglichen, ein weiterer Zugriffseingang mit einem gegebenen Stapelregister für jede der Zahlen verbunden ist und eine Änderung um eins in dieser Zahl die Verbindung des benachbarten Zugriffseinganges mit einem gegebenen Stapelregister bewirkt, die relative Rangfolge zwischen den Stapelregistern erhalten bleibt und die zweite Logikeinrichtung mit den ersten und zweiten Datenregistern verbunden ist, um die ersten und zweiten Datenregister entsprechend der Addition oder Subtraktion von Information zu bzw. von den Stapelregistern weiterzuschalten.
2 0 (: Π «ti / 1 1 3 0
Gemäß einer bevorzugten Ausfuhrungsform der Erfindung werden vier TOS-Register verwendet. Die Benennung der TOS-Register erfolgt gemäß einem vorbestimmten neuartigen Schema und jeder Satz Benennungen in dem Schema wird als ein Zustand bezeichnet. Die Anzahl der Benennungszustände ist gleich der Anzahl der TOS-Register und daher gleich vier bei dieser Ausführungsform. Deshalb ist lediglich ein Benennungsregister mit zwei Bits zur Benennung von vier Registern erforderlich. Zusätzlich zu dem Benennungsregister wird ein SR-Register vorgesehen, welches die Anzahl der TOS-Register speichert, die gültige Stapelinformation enthalten. Das SR-Register gibt in Verbindung mit dem Benennungsregister an, welche TOS-Register gültige Stapelinformation enthalten.
Das Benennungsschema erhält stets das gleiche Verhältnis zwischen den Registern aufrecht, ändert jedoch das Register, welches als oberstes benannt wird. Die Änderungen der Benennungen der TOS-Register erfolgen durch das Anheben oder Absenken der Benennungen aller Register um den gleichen Betrag, d.h. durch schrittweise Weiterschaltung des Benennungsregisters. Das Anheben des höchsten Registers um eine Position macht dieses Register praktisch zu dem letzten, da nur soviele Positionen oder Namen vorhanden sind wie Register. Daher ist das Umbenennungsverfahren im wesentlichen eine Rotation der Registernamen. Die in dem SR-Register gespeicherte Zahl gibt an, wieviele der obersten TOS-Register gültige Stapelinformation enthalten. Wenn beispielsweise SR - 3 ist, en thai tem
Π!)
—» 6 ""
die obersten drei TOS-Register gültige Information und das vierte oder bodenseitige Register ist im logischen Sinn leer.
Die Komplexität der "hardware" zur Ausführung der Erfindung nimmt nur mit log« N statt mit N log2 N zu, wie es bisher der Fall war. Eine derartige Verminderung der Komplexität bedeutet natürlich auch eine Kostenersparnis und trägt zur Vereinfachung der Programmierung bei. Die Komplexität der "hardware" zur Ausführung der Informationsübertragungen zu oder von den TOS-Registern wird auch durch Verwendung des Schemas nach der Erfindung vermindert.
Im folgenden werden bevorzugte Ausführungsbeispiele der Erfindung anhand der Zeichnungen erläutert; es stellen dar Fig. 1 schematisch ein Diagramm eines logischen Stapels; Fig. 2 schematisch ein Diagramm eines Stapelspeichers mit oberen Stapelregistern;
Fig. 3 ein ausführlicheres Blockdiagramm; Fig. 4-8 Flußdiagramme verschiedener Stapelvorgänge; Fig. 9 ein Blockdiagramm einer anderen Ausführungsform eines Teiles der Erfindung.
In Fig. 1 ist ein logischer Informationsstapel in einem Rechnerspeicher 10 dargestellt. Ein DB-Register 12 speichert diii Adresse der unteren Grenze des Stapels und ein Z-Register 14 speichert die obere Adrense. Ein S-Rcqlater 16 speichert
2 01P υ/11 on
_ 7 ·—
die Adresse der obersten Information auf dem Stapel. Zur Vereinfachung werden die vier oberen Stapelschichten mit A, B, C und D bezeichnet. Wenn dem Stapel Information hinzugefügt wird, so wird diese der Adresse über dem Register S zugeordnet und nach dem Speichern der Information wird das Register S um eine Adresse weitergeschaltet. Auch die Adressenbenennungen A, B7 C und D werden um eins erhöht. Dieser Vorgang ist als "PUSH" bzw. Erhöhung bekannt. Der entgegengesetzte Vorgang wird "POP" bzw. Erniedrigung genannt, d.h. das Register S wird um eins erniedrigt, indem im logischen Sinn die oberste Information vom Stapel entfernt wird. Es kann in dem Speicher 10 zwischen S und Z Information gespeichert sein, jedoch ist diese keine gültige Stapelinformation. Daher kann ein POP-Vorgang Information vom Stapel entfernen, selbst wenn die entfernte Information nicht in irgendeine andere Stelle oder anderes Register übertragen wird.
Der Speicher 10 in Fig. 2 ist in einen Lese-Schreib-Speicher .20 und in obere Stapelregister bzw. TOS-Register 22 unterteilt. Der Speicher 20 kann aus einem Speicherkern, einer Speicherscheibe, einem Trommelspeicher oder anderen allgemein verwendbaren Lese-Schreib-Rechenspeichern bestehen. Die TOS-Register 22 sind in der Regel allgemein verwendbare Akkumulatorregister. Beispielsweise sind vier TOS-Register dargestellt und mit TRO, TRl, TR2 und TR3 bezeichnet. Ein SM-Register 24 speichert die Adresse der obersten Stapel-
2 (J S *ί 6/1130
information im Speicher 20. Ein SR-Register 26 speichert die Anzahl der TOS-Register 22, welche gültige Stapelinformation enthalten, und ein Benennungsregister 28 speichert eine Zahl, welche die logischen Benennungen der TOS-Register darstellt. Die für ein Benennungsregister in einer Vorrichtung mit N TOS-Registern erforderliche Anzahl von Bits ist log? N falls N eine ganzzahlige Potenz von 2 ist. Allgemein kann diese Zahl ausgedrückt werden als der obere von (log2 N) abhängige Wert,.wo die Funktion χ als die kleinste ganze Zahl definiert ist, die gleich oder größer als χ ist. In ähnlicher Weise ist die für ein SR-Register erforderliche Anzahl von Bits log« N + 1, wenn N eine ganzzahlige Potenz von 2 ist, oder allgemein ausgedrückt, ist der untere Wert eine Funktion von (log2 N) + 1, wo der untere Wert als Funktion von χ definiert ist als die größte ganze Zahl, die gleich oder kleiner als χ ist. Daher ist der Aufwand für die Schaltkreise ungefähr proportional log„ N und damit wesentlich geringer, was die zusätzlichen Kosten angeht, wenn die Anzahl der TOS-Register erhöht wird.
Wie schon erwähnt wurde, werden die vier obersten Informationsmengen auf dem logischen Stapel mit A, B, C und D bezeichnet. Indessen befinden sich diese oberen vier Informationsmengen nicht notwendigerweise in den TOS-Registern. Beispielsweise könnten sich die Informationsmengen A und B in den TOS-Registern und die Mengen C und D im Speicher 20 befinden. Daher würde das SM-Register auf C hinweisen, weil C sich an der
2 0 9 8 8 6/1130
Spitze des Stapels im Speicher befinden würde, aber die tatsächliche Spitze des logischen Stapels wäre A in einem TOS-Register, entsprechend dem Register S in Fig. 1. In diesem Beispiel würde SR die Zahl 2 enthalten, da nur zwei TOS-Register gültige Stapelinformation enthalten. Um zu bestimmen, welche TOS-Register die gültige Stapelinformation haben, und um die logische Reihenfolge der T0S-Reg4-ster zu bestimmen, haben die TOS-Register einen zweiten Satz von Namen, die zugeordnet werden können.
Die wiederholt zuordnungsfähigen TOS-Registerbezeichnungen sind stets TOS-Registern zugeordnet, im Unterschied von den Bezeichnungen A, B, C und D, aber sie sind nicht nur einem Register zugeordnet, da ja Register TRO bis TR3 vorhanden sind. Das Benennungsregister 28 bestimmt die Entsprechung zwischen den wiederholt zuordnungsfähigen TOS-Registerbezeichnungen und den TOS-Registern entsprechend dem folgenden Schema:
Wiederholt zuordnungsfähige
Benennung TOS-Registerbenennungen TRl TR2 TR3
Zustand TRO RB RC RD
OO RA RA RB RC
01 RD RD RA RB
10 RC RC RD RA
11 RB Tabelle 1
2Ü9ÜU6/1130
Die Benennungszustände werden als binäre Zahlen ausgedrückt. Wie sich aus der Zustandsbezeichnung ergibt, ist nur ein Benennungsregister mit 2 Bits für die vier TOS-Register erforderlich. Die Benennung RA entspricht der oberen Informationsmenge in den TOS-Registern, die Benennung RB der nächsten Informationsmenge und so fort. Wenn SR = 1 ist, entspricht RA = A und B, C und D befinden sich im Speicher 20. Wenn SR = 2 ist, entspricht RA = A und RB = B und C und D befinden sich im Speicher 20 usw. Wenn SR = 4 ist, so befinden sich A, B, C und D in den TOS-Registern 22. Daher sind lediglich die Benennungsregister und SR-Register erforderlich, um die Stelle und Reihenfolge der Stapelinformation in den TOS-Registern anzugeben.
In Fig. 3 ist schematisch ein Blockdiagramm des Benennungs · systems für die Stapelregister dargestellt. Jedes der TOS-Register 22a bis 22d ist als ein Register mit parallelem 16-Biteingang und -ausgang dargestellt. Die Informationseingänge der TOS-Register parallel verbunden,um den Infdrmationseingang 36 zu bilden. In ähnlicher Weise sind die Informationsausgänge parallel verbunden, um den Informationsausgang zu bilden. Jedes TOS-Register hat auch einen Leseeingang und einen Speichereingang 42. Ein logisches Steuersignal auf dem Leseeingang bewirkt, daß ein TOS-Register die gespeicherte Information am Ausgang 34 abgibt. Ein logisches Steuersignal am Speichereingang bewirkt, daß ein TOS-Register die am Eingancj-36 vorhandene Information speichert. Jeder der Lese-
2098B6/ 1 1 30
und Speichereingänge ist mit einer der mehreren. Multiplexschaltungen 44 und 46 für vier Bits verbunden. Die Multiplexschaltungen für vier Bit sind wiederum mit einem Benennungsregister 28 durch eine Multiplexschaltung 48 für zwei Bits verbunden. Die in dem Benennungsregister 28 gespeicherte Zahl bestimmt, welcher der vier mit den Leseleitungen 30 oder den Speicherleitungen 32 verbundenen Multiplexeingänge betätigt wird. Wenn beispielsweise der Benennungszustand 01 ist, wird der Ol-Eingang auf jeder der Vier-Bit-Multiplexschaltungen betätigt. Wenn dann ein Steuersignal auf der Leseleitung 30d auftritt, gibt die Multiplexschaltung 44a ein Signal an das TOS-Register 22a, und der Inhalt des TOS-Registers erscheint auf dem Informationsausgang 34.
Das SR-Register 26 ist durch eine Zwei-Bit-Multiplexschaltung 50 mit einer Additionsschaltung 52 für zwei Bits verbunden. Ein Speicherregister 54 ist ebenfalls mit der Multiplexschaltung 50 verbunden. Der Ausgang des Benennungsregisters 28 bildet den zweiten Eingang für die Addxtxonseinrichtung 52, die wiederum mit der Zwei-Bit-Multiplikationseinrichtung 48 verbunden ist. Beide SR-Register 26 und das Benennungsregister 28 sind Vorwärts-Rückwärtszähler; der Betrieb dieser Register wird im einzelnen in Verbindung mit den speziellen Stapelvorgängen "PUSH, POP, QUP, QDWN und MREG" erläutert.
Dor Stapelvorgang"PUSH"bewirkt, daß der Spitze des Loqikstapels nine Informationsmenge zugeführt wird, wie in Verbindung mit
2098 8 6/1130
Fig. 1 erläutert wurde. Eine dem Stapel hinzuzufügende Informationsmenge wird in der Regel vorher in einem (nichtdargestellten) Zwischenspeicher eingespeichert. Drei logische Schritte sind für den PUSH-Vorgang erforderlich:
1. Wenn der Inhalt des SR-Registers gleich vier ist, wird der Inhalt von RD an den Speicher 20 und zwar an eine Stelle weitergegeben, die sich um eins über der in dem Speicher SM gespeicherten Stelle befindet, und SM wird erhöht und SR erniedrigt; falls der Inhalt von SR kleiner als vier ist, erfolgt die Stufe zwei.
2. Neue Information wird in RD eingespeichert.
3. Das Benennungsregister wird erniedrigt und das Register SR erhöht.
Diese Stufen sind in einem Flußdiagramm in Fig. 4 dargestellt. Die erste Stufe kann in einem Mikroprogramm bestehen, das durch eine (nicht-dargestellte) zentrale Rechnereinheit (CPU) durch einen Festwertspeicher gesteuert ausgeführt werden kann. DaRHe]bo kann auch mit fester Verdrahtung erreicht werden. Der Zweck für diesen Verfahrensschritt ist, daß ein TOS-Register verfügbar gemacht werden soll, wenn ein PUSH-Befehl erfolgt und alle Register gefüllt sind. Dieser Verfahrensschritt kann beispielsweise zusammen mit der Ausführung der Prüfung für SR = 4 in der Zentral-Recheneinheit ausgeführt werden, wobei diese Prüfung eine übliche Rechnerfunktion ist. Wenn alle Register gefüllt sind, kann dann die Funktion QDWN ausgeführt werden.
209886/1 130
In der zweiten Verfahrensstufe wird die auf den Stapel aufzubringende Information der Leitung 36 zugeführt und ein Steuersignal auf der Leitung 32d abgegeben, wobei die Information in das TOS-Register mit der Bezeichnung RD eingegeben wird. Für die dritte Verfahrensstufe wird ein Signal auf einen Eingang 56 eines ODER-Gatters 58 gegeben, das gleichzeitig das SR-Register 26 erhöht und das, Benennungsregister 28 erniedrigt. Daher zeigt das SR-Register an, daß eines oder mehrere TOS-Register gefüllt sind und das Benennungsregister wird die Benennungen der TOS-Register "zirkulieren", so daß das Register RD RA wird, RA RB wird usw.
Der POP-Vorgang entfernt das oberste Element auf dem Stapel, wie in Verbindung mit Fig. 1 erläutert wurde. Hierzu sind zwei logische Schritte erforderlich:
1. Falls der Inhalt von SR = 0 ist, wird SM erniedrigt; falls der Inhalt von SR nicht = 0 ist, wird zu Schritt übergegangen;
2. SR wird erniedrigt und die Benennung erhöht.
Diese Schritte sind in dem Flußdiagramm der Fig. 5 erläutert. Die Prüfung des Inhalts des Registers R kann wiederum durch die Zentral-Recheneinheit CPU erfolgen. Der erste Teil der Stufe 1 ist identisch mit einem POP-Vorgang für einen Stapelspeicher ohne irgendwelche TOS-Register. Wie in der ersten PUSH-Stufe kann der erste POP-Vorgang durch ein Mikro-
209886/1130
programm oder durch Festverdrahtung ausgeführt werden. In der Stufe 2 wird ein Steuersignal an einen Eingang 60 eines ODER-Gatters 62 abgegeben, um das Register 26a zu erniedrigen und das Benennungsregister 28 zu erhöhen. Als Ergebnis der Stufe 2 werden ein oder mehrere TQS-Register als leer bezeichnet, und die Benennungen der Register werden nach oben verschoben, d.h. RB wird RA, RC wird RB und dgl..
Ein dritter Stapelvorgang QUP wird benutzt, um die Information vom Speicher 20 zur Unterseite der TOS-Register zu bringen. Für den QUP-Vorgang sind vier Verfahrensschritte erforderlich:
1. Der Inhalt des Benennungsregisters wird dem Inhalt des SR-Registers hinzugefügt, modulo 4;
2. die sich ergebende Summe wird als vorläufiger Bezeichnungszustand verwendet;
3. der Inhalt der in SM gespeicherten Speicherstelle wird an das vorübergehend mit RA bezeichnete Register übertragen;
4. das Register SR wird erhöht und das Register SM wird erniedrigt;
5. es wird zu dem ursprünglichen Benennungszustand zurückgekehrt.
Ein Flußdiagramm dieses Vorganges ist in Fig. 6 dargestellt. Die durch die erste Stufe aufgerufene Summe liegt jeweils am Ausgang der Zwei~Bit-Additionsschaltung 52 vor. Für die zweite Stufe wird ein Steuersignal an einen Eingang 64 eines ODER-Gatters 66 abgegeben. Das Ausgangssignal vom ODER-Gatter
209886/1130
bewirkt, daß die Multiplexschaltung 48 den Ausgang der Additionsschaltung 52 mit den Multiplexschaltungen 44 und 46 verbindet, um den vorübergehenden Benennungszustand zu erzeugen. Die in der Stufe 1 ausgeführte Addition wird mit modulo 4 bezeichnet, da es vier Benennungszustände gibt; daher ist allgemein die in dieser Stufe ausgeführte Addition modulo N, wo N die Anzahl der Benennungszustände ist. Bei der dritten Verfahrensstufe wird die in dem Speicher 20 enthaltene an der in dem Register SM gespeicherten Stelle befindliche Information an den Informationseingang 36 beispielsweise über einen Zwischenspeicher übertragen. Dann wird an eine Speicherleitung 32a ein Steuersignal abgegeben, um die Information in dem vorübergehend mit RA bezeichneten TOS-Register zu speichern.
In der vierten Verfahrensstufe kann die Erniedrigung des Registers SM durch ein Mikroprogramm erfolgen, ebenso wie die Übertragung vom Speicher 20 in der vorhergehenden Stufe. Das SR-Register 26 wird durch ein -Steuersignal am Eingang 57 des ODER-Gatters 5 8 erhöht. Nachdem das QUP-Steuersignal vom Eingang 64 entfernt worden ist, verbindet in der fünften Verfahrensstufe die Multiplexschaltung 48 wiederum das Benennungsregister 28 mit den Multiplexschaltungen 44 und 46. QUP ist kein gültiger Vorgang, wenn SR vier ist, und der Rechner unterdrückt in diesem Fall QUP oder gibt ein Fehlersianal ab.
2 0 yob 6/ 1130
Der Vorgang QDWN ist das Komplement zu dem Vorgang QUP, da er die Information von der unteren Seite der TOS-Register zu einer Stelle im Speicher 20 direkt über SM bewegt. Die fünf Stufen für den QDWN-Vorgang sind:
1. Der Inhalt des Benennungsregisters wird dem Inhalt des SR-Registers modulo 4 hinzugefügt;
2. die entstehende Summe wird als vorübergehender Benennungszustand genommen;
3. der Inhalt des vorübergehend mit RD bezeichneten Registers wird an die Speicherstelle übertragen, die sich gerade über der in SM befindlichen Stelle befindet;
4. SR wird erniedrigt und SM erhöht;
5. Rückkehr in den ursprünglichen Benennungszustand.
Diese Stufen sind in einem Flußdiagramm in Fig. 7 dargestellt. Die ersten beiden Stufen sind die gleichen wie für den Vorgang QUP. In-der dritten Stufe wird der Inhalt des Zwischenspeichers RD an den Speicher 20 und zwar an eine Stelle übertragen, die um eins höher als SM ist. Dies erfolgt über den Informationsausgang 34 entsprechend einem Steuer- ■ signal auf der Leseleitung 3Od. Als Zwischenstufe in der Übertragung kann ein Zwischenspeicher verwendet werden. Dann wird in der vierten Stufe SM beispielsweise durch ein Mikroprogramm erhöht und SR durch ein Steuersignal am Eingang 61 des ODER-Gatter 62 erniedrigt. Der fünfte Verfahrensschritt wird als fünfter Schritt des Vorgangs QUP ausgeführt, indem das QDWN-Steuersignal vom Eingang 68 des ODER-Gatters entfernt wird. Der QDWN-Vorgang ist nicht gültig, wenn SR = 0
lst. 2098 8 6/1130
■ - 17 -
Der Korrelationsvorgang MREG für die Speicherregister gestattet es einem Programmierer,Information in den TOS-Registern zu erhalten, indem er die Adressen in der Form verwendet, die für den Informationszugang im Speicher 20 verwendet wurde. Da alle außer den oberen vier Elementen des Logikstapels stets im Speicher 20 vorhanden sind, kann die meiste Stapelinformation zugänglich gemacht werden, indem absolute oder relative Speicheradressen verwendet werden oder die Stapelspitze implizit gewählt wird. Beispielsweise wird in Fig. 1 angenommen, daß die Adresse bei DB 100, bei S 206 und Z 300 ist. Weiterhin wird in Fig. 2 angenommen, daß SR = 4 ist, so daß die Adresse bei SM 202 ist. Der Programmierer kann die Adresse einer Informationsmenge in verschiedener Weise spezifizieren. Beispielsweise könnte die Adresse einer Informationsmenge bei der absoluten Adresse 200 als 200, DB + 100 (eine relative Adresse), oder S - 6 (eine relative Adresse) in Fig. 1 und als 200, DB + 100 oder SM - 2 in Fig. 2.ausgedrückt werden. Wenn jedoch in Fig. SM bei 202 liegt, wie angenommen wurde, ist die Information bei DB + 104 nicht langer im Speicher 20 sondern im TOS-Register RC. Die Information bei der Adresse 204 im Speicher 20 wird durch den Rechner unterdrückt, da sie sich nicht in dem logischen Stapel befindet, und der Rechner gibt ein Fehlersignal, falls der Programmierer versucht, Information an der absoluten Adresse 204 abzufragen. Daher ist ein Vorgang erforderlich, um es dem Programmierer zu gestatten, Information anzuwählen, die in einem TOS-Register sein kann.
Wenn ein Programmierer versucht, Stapelinformation durch die
2 0 9 8 U 6 / 1 1 3 0
Adresse anzuwählen, ist der erste erforderliche Vorgang die Feststellung, ob gültige Stapelinformation an der Adresse vorhanden ist und ob die Information sich im Speicher 20 oder einem TOS-Register befindet.
Für diese Prüfung kann ein Mikroprogramm mit den folgenden vier Stufen verwendet werden:
1. Berechne den Unterschied (TA) zwischen der absoluten Adresse (EA) der anzuwählenden Speicherstelle und der Adresse in SM (TA = EA - SM);
2. wenn TA negativ ist, befindet sich die Information im Speicher 20; das Mikroprogramm wird angehalten und der Zugang zum Speicher ermöglicht;
3. wenn TA positiv ist, wird der Unterschied zwischen SR und TA (SR - TA) ausgerechnet;
4. wenn (SR - TA) negativ ist, ist der Bereich über S adressiert worden und es wird ein Fehlersignal und ein Haltebefehl für das Programm gegeben;
5. wenn (SR - TA) positiv ist, wird das Ergebnis in das Speicherregister 54 eingespeichert und ein Befehl MREG gegeben.
Diese Stufen sind in einem Flußdiagramm dargestellt, das ein Mikroprogramm ACCESS EA in Fig. 8 darstellt. Der Zweck dieses Mikroprogrammes besteht darin, dem Speichersystem mitzuteilen, wo die abzurufende Information vorhanden ist. In dem gegebenen Beispiel wäre TA 204 - 202 = +2, was anzeigt, daß die Information sich nicht im Speicher 20 be-
2 0 9 8 96/ 1 130
findet. Wenn (SR - TA) +4 -2 = +2 ist, so zeigt dies an, daß die Information sich im TOS-Register befindet, Ein MREG-Vorgang ermöglicht dann den Zugang zu dem geeigneten TOS-Register durch die folgenden Stufen:
1. Der Inhalt des Speicherregisters 54 wird zu dem Inhalt des Benennungsregisters modulo 4 hinzugefügt;
2. das Ergebnis der Stufe 1 wird verwendet, um einen vorläufigen Benennungszustand zu bilden;
3. die Information in dem vorläufig mit RA bezeichneten Register wird abgerufen;
4. Rückkehr zu dem ursprünglichen Benennungszustand.
Ein Flußdiagramm der MREG Stufen ist auch in Fig. 8 dargestellt. Wenn der MREG-Befehl gegeben wird, wird das Steuersignal an den Eingang 70 der Multiplexschaltung 50 gegeben, um das Speicherregister 54 mit der Additionsschaltung 52 zu verbinden. Ein Steuersignal wird auch an einen Eingang des ODER-Gatters 66 gegeben, um den Additionsausgang mit vier Multiplexschaltungen 44 und 46 zu verbinden und den vorübergehenden Benennungszustand zu bilden. Wenn die Information gespeichert werden soll, wird sie an den Informationseingang 36 abgegeben und ein Steuersignal an die Speicherleitung 32a abgegeben. Wenn die Information gelesen werden soll, wird ein Steuersignal an die Lese-Leitung 30a · abgegeben und die Information erscheint am Imformationsausgang 34. Wenn die MREG-Signale von den Eingängen 70 und 72 entfernt werden, wird der ursprüngliche Benennungszustand wieder hergestellt.
2098U6/1130
Das beschriebene Stapelspeichersystem ist nicht auf die vorgehend beschriebenen Stapelvorgänge beschränkt. Logische Vorgänge wie "DUPLICATE" und "EXCHANGE" können ebenfalls in den TOS-Registern in besonders einfacher Weise ausgeführt werden. Der Vorgang "DUPLICATE" führt dazu, daß eine neue Informationsmenge auf den Stapel aufgebracht wird, die identisch der vorher auf dem Stapel befindlichen Informationsmenge ist. Der Befehl "EXCHANGE" kehrt die Reihenfolge der Information auf den oberen N-Stellen des Stapels um. Auch ist die Erfindung für N TOS-Register verwendbar, obwohl nur vier TOS-Register dargestellt werden.
Die spezielle Zustandsbezeichnung über der Tabelle 1 ist nicht eindeutig. Die Erfordernisse für die Zustandsbenennungen sind:
1. Die wiederholt zuzuordnenden Registernamen haben stets das gleiche Verhältnis.
2. Eine Änderung um eins in dem Benennungszustand ändert die wiederholt zuzuordnenden Registerbenennungen durch eine Erhöhung um eins.
3. Zum Zwecke der Benennung wird das in logischer Hinsicht letzte Register als das höchste Register zu dem in logischer Hinsicht ersten Register angesehen.
Aus dieser Definition ergibt sich, daß die Benennungszustände in der Tabelle 1 wie in Tabelle 2 zirkuliert werden können, ohne den Betrieb des UmbenennungsSchemas oder der Stapelvor-
209886/1 130
gänge zu beeinträchtigen.
Wiederholt zuordnungsfähige Benennung TOS-Registerbenennungen
Zustand TRO TRl ' TR2 TR3 . ·
11 OO 01 10
RA RB RC RD
RD RA RB RC
RC RD RA RB
RB RC RD RA
Tabelle 2
In ähnlicher Weise beeinträchtigt das Spiegelbild der Tabelle 1, wie es in Tabelle 3 dargestellt ist, das Umbenennungsschema oder die Stapelvorgänge nicht.
Wiederholt zuordnungsfähige Benennung TOS-Registerbenennungen
Zustand TRO TRl TR2 TR3
00 01 10 11
RD RC RB RA
RC RB RA RD
RB RA RD RC
RA RD RC RB
Tabelle 3
Die Benennungszustände können in der Tabelle 3 zirkuliert werden wie es für die Tabelle 1 in der Tabelle 2 dargestellt war, ohne das Benennungsschema oder die Stapelvorgänge zu beeinträchtigen.
Wenn jedoch die durch die wiederholt zuordnungsfähigen TOS-Registerbenennungen in Tabelle 1 gebildete Matrix derart ver-
209886/1130
ändert wird, daß die Reihen und Spalten gemäß Tabelle 4 vertauscht werden, müssen einige der Stapeloperationen verändert werden.
Wiederholt zuordnungsfähige Benennung TOS-Registerbenennungen
Zustand TRO TRl TR2 TR3
00 01 10 11
RA RD RC RB
RB RA RD RC
RC RB RA RD
RD RC RB RA
Tabelle 4
Für diese Zustandszuordnung wird der vorübergehende Benennungszustand für QUP, QDWN und MREG gebildet, indem das Komplement des Benennungszustandes zu dem Register SR hinzugezählt und dann das Komplement der Summe genommen wird, an Stelle einfach die Inhalte der beiden Register zu addieren. Um dieses Schema anzuwenden, wäre eine komplexere arithmetische Funktionseinheit erforderlich an Stelle der Addierschaltung 52.
Eine andere Zuordnung für den Benennungszustand ist in der folgenden Zustandstabelle dargestellt:
Wiederholt zuordnungsfähige Benennung TOS-Registerbenennungen
Zustand TRO TRl TR2 TR3
1000 0100 0010 0001
RA RB RC RD
RD RA RB RC
RC RD RA RB
RB RC RD RA
Tabelle 5
209886/1130
Fig. 9 stellt einen vereinfachten Abschnitt der Fig. 3 dar, welcher ein anderes Benennungsschema auszuführen gestattet. Das Benennungsregister 28' ist ein Schieberegister für vier Bits und ist mit Vier-Bit-Multiplexschaltungen 44· verbunden. Die Multiplexschaltungen verbinden die geeigneten Leseeingänge 30 mit dem entsprechenden TOS-Register nach Maßgabe des Inhalts des Benennungsregisters. Obgleich nur die Leseeingangsverbindungen dargestellt sind, versteht sich, daß der Speichereingang und die anderen in Fig. 3 dargestellten Verbindungen in ähnlicher Weise hergestellt werden. Die Position des Bits "1" in dem Benennungsregister bezeichnet das TOS-Register RA. Anstatt einen Zähler vorwärts oder rückwärts zu schalten, um die Benennungszustände zu ändern, wird das Bit "1" nach rechts oder nach links gemäß Fig. 3 verschoben. Die Vorgänge "PUSH" und "POP" würden sich so abspielen, wie vorstehend beschrieben wurde, aber die Operationen QUP, QDWN und MREG würden zusätzliche Schaltkreise, beispielsweise eine Dekodierschaltung am Ausgang des Benennungsregisters 28" erfordern, die "1 aus 4" dekodiert.
130

Claims (10)

  1. Hewlett-Packard Comp.
    Case 663
    30. Juni 1972 Patentansprüche
    ill Stapel-Speichersystem zum Speichern eines logischen Informationsstapels mit mehreren Stapelregistern zum Stapeln von logischer Stapelinformation, wobei jedes Stapelregister einen Informationseingang und einen Informationsausgang hat, und ein erstes Datenregister zum Speichern der Anzahl der Stapelregister mit logischer Stapelinformation vorgesehen ist, dadurch gekennzeichnet , daß ein zweites Datenregister (28) zum Speichern einer Zahl für den Bewegungszustand vorgesehen ist, welche die logische Rangfolge dor in den Stapelregistern gespeicherten Information darstellt, die Anzahl der Bewegungszustände gleich der Anzahl der Stapelregister ist, eine erste Logikeinrichtung· (30, 32, 44, 46) mehrere geordnete Zugriffseingänge (30, 32) aufweist, die erste Logikeinrichtung mit dem zweiten Datenregister und jedem StapeHregister verbunden ist, um einen Zugriffseingang mit jedem der Stapelregister entsprechend der in dem zweiten Datenregister gespeicherten Zahl zu verbinden und den Stapelregisterzugriff über den Informationseingang und -ausgang entsprechend Steuersignalen auf dem Zugriffseingang zu ermöglichen, ein weiterer Zugriffseingang mit einem gegebenen Stapelregister für jede der Zahlen verbunden ist und eine Änderung um 1 in dieser Zahl die Verbindung des benachbarten Zugriffseinganges
    209886/1 130
    mit dem gegebenen Stapelregister bewirkt, die relative Rang- ' folge zwischen den Stapelregistern erhalten bleibt und die zweite Logikeinrichtung (56, 57, 58, 60, 61, 62) mit dem ersten und zweiten Datenregistern verbunden ist, um die
    ersten und zweiten Datenregister entsprechend der Addition oder Subtraktion von Information zu bzw. von den Stapelregistern weiterzuschalten.
  2. 2. Stapelregistersystem nach Anspruch 1, dadurch gekennzeichnet , daß jedes Stapelregister einen Speichereingang (42) hat, über welchen das Stapelregister Informationen speichern kann, die am Informationseingang vorliegt, jedes Stapelregister einen Leseeingang (40) hat, über welchen in dem Stapelregister gespeicherte Information auf dem Informationsausgang erscheinen kann, die erste Logikeinrichtung eine logische Leseeinrichtung (44) aufweist, durch welche die Stapelregister Information am Informationsausgang abgeben können und eine Speicherlogikeinrichtung (46) aufweist, durch welche die Stapelregister am Informationseingang vorhandene Information speichern können, ein Teil der geordneten Zugriffseingänge (30) mit der Leselogikeinrichtung verbundene Leseeingänge sind, ein anderer Teil der geordneten Zugriffseingangseinrichtung (32) aus mit der Speicherlogikeinrichtung verbundenen Speichereingängen besteht, die Leselogikeinrichtung die Leseeingänge mit den Stapelregister-Leseeingängen entsprechend der in dem zweiten Datenregister gespeicherten Zahl verbindet und die Speicherlogikeinrichtung die geordneten
    209886/1 130
    2233Ί93
    Speichereingänge mit den Stapelregister-Speichereingängen entsprechend der in dem zweiten Datenregister gespeicherten Zahl verbinden.
  3. 3. Speicherstapelsystem nach Anspruch 2, dadurch gekennzeichnet, daß die Anzahl der Leseeingänge und der Speichereingänge gleich der Anzahl N der Stapelregister ist und die Leselogikeinrichtung und die Speicherlogikeinrichtung jeweils eine N-Bit-Multiplexschaltung (44a,b,c,d; 46a,b,c,d) für jedes Speicherregister enthält.
  4. 4. Stapelspeichersystem nach Anspruch 3, dadurch gekennzeichnet , daß eine dritte Logikeinrichtung (32d, 48, 50, 52, 66) vorgesehen ist, um der Spitze des logischen Informationsstapels Information entsprechend einem ersten externen Signal (PUSH, 56) hinzuzufügen und Information von der Spitze des Stapels entsprechend einem zweiten externen Signal (POP, 60) zu entnehmen, die dritte Logikeinrichtung mit den ersten und zweiten Datenregistern und mit dem letzten der Speichereingänge verbunden ist, das erste externe Signal bewirkt, daß die dritte Logikexnrichtung ein Steuersignal auf den letzten Speichereingang (32d) abgibt, damit Information in dem Stapelregister gespeichert wird, das mit dem letzten Speichereingang verbunden ist, das erste Datenregister weitergeschaltet wird, um eine Zunahme in der Anzahl der Stapelinformation enthaltenden Stapelregister anzuzeigen.
    2098Ö6/1130
    und das zweite Datenregister weitergeschaltet wird, um die Verbindung des gerade adressierten Stapelregisters von dem letzten zu dem ersten Speichereingang zu ändern, und das zweite externe Signal bewirkt, daß die dritte Logikeinrichtung das erste Datenregister weiterschaltet und eine Abnahme in der Anzahl der Stapelinformation enthaltenden Stapelregister anzeigt, und das zweite Datenregister weitergeschaltet ist, um die letzten Speicher-und Leseeingänge des Stapelregisters zu verbinden, die vorher mit den ersten Speicher- und Leseeingängen verbunden waren.
  5. 5. Stapelspeichersystem nach Anspruch 1, dadurch gekennzeichnet , daß ein Lese-Schreibspeicher (20) mit mehreren adressierbaren Stellen vorgesehen ist, um wenigstens einen Teil der logischen Stapelinformation zu speichern, ein drittes Datonregi rster (24) die Adresse der oberen Informationsmenge in dem Lese-Schreibspeicher enthaltenen Stapel speichert, eine vierte Logikeinrichtung (3Od, 32a, 48, 52, 61, 64, 66,
    ■ 68) mit den Stapolregistern, den ersten, zweiten und dritten Datenregistern und den ersten und zweiten Logikeinrichtungen verbunden ist, um logische Stapelinformation von dem Lese-Schreibspeicher zu dem Stapelregister entsprechend einem ersten externen Signal (QUP) zu übertragen und logische Stapelinformation von einem ersten Stapelregister zu dem Lese-Schreibspeicher entsprechend einem zweiten externen Signal (QDWN) zu übertragen.
  6. 6. Stapelspeichersystem nach Anspruch 5, dadurch g e k e η η -
    20 98^6/1130
    zeichnet , daß jedes Stapelregister einen Speichereingang (42) aufweist, damit das Stapelregister die am Informationseingang befindliche Information speichern kann, und einen Leseeingang (44) aufweist, damit die in dem Stapelregister gespeicherte Information am Informationsausgang erscheinen kann, die erste Logikeinrichtung eine Leselogikeinrichtung (44) aufweist, damit die Stapelregister Information am Informationsausgang abgeben können, und eine Speicherlogikeinrichtung (46) aufweist, damit die Stapelregister die am Informationseingang vorhandene Information speichern, ein Abschnitt der Zugriffseingangseinrichtung (30) aus mit der Leselogikeinrichtung verbundenen Leseeingängen besteht, ein anderer Abschnitt der Zugriffseingangseinrichtung
    aus
    (32) mit der Speicherlogikeinrichtung verbundenen Speichereingängen besteht, die Leselogikeinrichtung die Leseeingänge mit den Stapelregisterleseeingängen entsprechend der in dem zweiten Datenregister gespeicherten Zahl verbindet und die Speicherlogikeinrichtung die Speichereingänge mit den Stapelregister-Speichereingängen entsprechend der in dem zweiten Datenregister gespeicherten Zahl verbindet.
  7. 7. Stapelspeichersystem nach Anspruch 4, dadurch gekennzeichnet , daß die Anzahl der Leseeingänge und der Speichereingänge gleich der Anzahl N der Stapelregister ist und die Leselogikeinrichtung und die Speicherlogikeinrichtung jeweils eine N-Bit-Multiplexschaltung (44a, b, c, d; 46a, b, c, d) für jedes Stapelregister aufweist.
    209886/1 130
  8. 8.. Stapelspeichersystem nach Anspruch 7, dadurch gekennzeichnet , daß eine dritte Logikeinrichtung (32d, 48, 50, 52, 66) vorgesehen ist, um der Spitze des logischen Informationsstapels Information entsprechend einem ersten externen Signal (PUSH, 56) hinzuzufügen und Information von der Spitze des Stapels entsprechend einem zweiten externen Signal (POP, 60) zu entnehmen, die dritte Logikeinrichtung mit den ersten und zweiten Datenregistern und mit den Speichereingängen verbunden ist, das erste externe Signal bewirkt, daß die dritte Logikeinrichtung ein Steuersignal auf den letzten Speichereingang abgibt, damit die Information in dem Stapelregister gespeichert wird, das mit dem letzten Speichereingang verbunden ist, das erste Datenregister weitergeschaltet ist, um eine Zunahme in der Anzahl der Stapelinformation enthaltenden Stapelregister anzuzeigen, und das zweite Datenregister weitergeschaltet ist, um die Verbindung der gerade angewählten Stapelregister von dem letzten zu dem ersten Speichereingang zu ändern, und das zweite externe Signal bewirkt, daß die dritte Logikeinrichtung das erste Datenregister weiterschaltet, um eine Abnahme in der Anzahl der Stapelinformation enthaltenden Stapelregister anzuzeigen, und das zweite Datenregister weitergeschaltet ist, um die letzten Speicher und Leseeingänge mit dem Stapelregister zu verbinden, das mit den ersten und zweiten Speicher- und Leseeingängen verbunden war.
    209886/1130
  9. 9. Stapelspeichersystem nach Anspruch 8, dadurch g e k e η η ■ zeichnet , daß die dritte Logikeinrichtung eine Addierschaltung (52) mit Eingängen aufweist, die mit den ersten und zweiten Datenregistern verbunden sind und einen Ausgang hat, eine Multiplexschaltung (48) mit dem Ausgang der Addierschaltung und mit dem zweiten Datenregister verbundene Eingänge und einen mit der Leselogikeinrichtung und der Speicherlogikeinrichtung verbundenen Ausgang aufweist, ein Logikelement (66) mit der Multiplexschaltung verbunden ist, um der Multiplexschaltung anzuzeigen, daß die Addierschaltung mit der Leselogikeinrichtung und der Speicherlogikeinrichtung verbunden werden soll, um eine vorübergehende Benennungszahl entsprechend dem ersten oder zweiten externen Signal zu bilden, wodurch entsprechend dem ersten externen Signal die obere Informationsmenge in dem Leseschreibspeicher in das mit dem ersten Speichereingang verbundene Stapelregister verbunden wird, das erste Datenregister weitergeschaltet wird, um eine Zunahme in der Zahl der Stapelinformation enthaltenden Stapelregister anzuzeigen, und das dritte Datenregister weitergeschaltet wird, um die Entnahme einer Informationsmenge von der Spitze des Informationsstapels in dem Lese-Schreibspeicher anzuzeigen, und entsprechend dem zweiten externen Signal die Information in dem Stapelregister, das mit dem letzten Leseeingang verbunden ist, an die Stelle in dem Lese-Schreibspeicher übertragen ist, die unmittelbar über der oberen Informationsmenge in dem Logikstapel liegt, das erste Daten-
    209886/1130
    - .31 -
    register weitergeschaltet wird, um eine Abnahme in der Anzahl der Stapelinformation enthaltenden Stapelregister anzuzeigen und das dritte Datenregister weitergeschaltet wird, um das Hinzufügen einer Informationsmenge zu der Spitze des Stapels in dem Lese-Schreibspeicher anzuzeigen.
  10. 10. Stapelspeichersystem nach Anspruch 9, dadurch g e k e η η zeichnet, daß ein viertes Datenregister 54 eine berechnete Zahl speichert und eine Additionsschaltung (50, 52) mit den zweiten und vierten Datenregistern verbundene Eingänge aufweist, um die berechnete Zahl zu der Zahl in dem zweiten Datenregister zu addieren und einen mit der Leselogikeinrichtung und der Speicherlogikeinrichtung verbundenen Ausgang aufweist, der eine Funktion· eines externen Signales CMREG, 70, 72) ist.
    2098^6/ 1 1 30
DE2233193A 1971-07-28 1972-07-06 Stapel-Speichersystem Expired DE2233193C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16686771A 1971-07-28 1971-07-28

Publications (3)

Publication Number Publication Date
DE2233193A1 true DE2233193A1 (de) 1973-02-08
DE2233193B2 DE2233193B2 (de) 1974-02-07
DE2233193C3 DE2233193C3 (de) 1975-04-24

Family

ID=22604999

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2233193A Expired DE2233193C3 (de) 1971-07-28 1972-07-06 Stapel-Speichersystem

Country Status (7)

Country Link
US (1) US3737871A (de)
JP (1) JPS5512680B1 (de)
DE (1) DE2233193C3 (de)
FR (1) FR2147742A5 (de)
GB (1) GB1346283A (de)
IT (1) IT961704B (de)
MY (1) MY7500224A (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4016545A (en) * 1975-07-31 1977-04-05 Harris Corporation Plural memory controller apparatus
US4077059A (en) * 1975-12-18 1978-02-28 Cordi Vincent A Multi-processing system with a hierarchial memory having journaling and copyback
US4084231A (en) * 1975-12-18 1978-04-11 International Business Machines Corporation System for facilitating the copying back of data in disc and tape units of a memory hierarchial system
JPS5569855A (en) * 1978-11-20 1980-05-26 Panafacom Ltd Data processing system
US4704679A (en) * 1985-06-11 1987-11-03 Burroughs Corporation Addressing environment storage for accessing a stack-oriented memory
EP0264077A3 (de) * 1986-10-14 1991-01-30 Honeywell Bull Inc. Puffer-Adressenspeicher
EP0676691A3 (de) * 1994-04-06 1996-12-11 Hewlett Packard Co Vorrichtung zur Registersicherstellung und Umspeicherung in einem digitalen Rechner.
US6216221B1 (en) * 1997-12-31 2001-04-10 Intel Corporation Method and apparatus for expanding instructions
US5974531A (en) * 1998-02-17 1999-10-26 Industrial Technology Research Institute Methods and systems of stack renaming for superscalar stack-based data processors
US6148391A (en) * 1998-03-26 2000-11-14 Sun Microsystems, Inc. System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses
US7085914B1 (en) * 2000-01-27 2006-08-01 International Business Machines Corporation Methods for renaming stack references to processor registers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3510847A (en) * 1967-09-25 1970-05-05 Burroughs Corp Address manipulation circuitry for a digital computer
US3546677A (en) * 1967-10-02 1970-12-08 Burroughs Corp Data processing system having tree structured stack implementation
US3548384A (en) * 1967-10-02 1970-12-15 Burroughs Corp Procedure entry for a data processor employing a stack
US3601809A (en) * 1968-11-04 1971-08-24 Univ Pennsylvania Addressable list memory systems

Also Published As

Publication number Publication date
MY7500224A (en) 1975-12-31
GB1346283A (en) 1974-02-06
US3737871A (en) 1973-06-05
DE2233193B2 (de) 1974-02-07
IT961704B (it) 1973-12-10
DE2233193C3 (de) 1975-04-24
JPS5512680B1 (de) 1980-04-03
FR2147742A5 (de) 1973-03-09

Similar Documents

Publication Publication Date Title
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE2350225C2 (de)
DE3338345C2 (de)
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE3132225C2 (de) Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation
DE2230103A1 (de) Adressiereinrichtung fuer einen speicher
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
DE2119063A1 (de) Datenhandhabungsanlage
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE2521436B2 (de) Informationswiedergewinnungsanordnung
DE2431379A1 (de) Datenverarbeitungseinrichtung
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE2455803A1 (de) Mehrprozessor-datenverarbeitungsanlage
DE2331589A1 (de) Datenverarbeitungsanordnung
DE2354521A1 (de) Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln
DE1901343A1 (de) Datenverarbeitungsanlage mit mehreren Verarbeitungseinheiten und an diese angeschlossenen Speichereinheiten
DE3330845C2 (de)
DE2233193A1 (de) Stapel-speichersystem
DE3043100C2 (de)
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE2558417A1 (de) Datenverarbeitungssystem
DE19628039B4 (de) Speicheradressen-Steuerschaltung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977