DE2506733A1 - Datenspeicher ohne feste zuordnung zwischen adressen und speicherplaetzen - Google Patents

Datenspeicher ohne feste zuordnung zwischen adressen und speicherplaetzen

Info

Publication number
DE2506733A1
DE2506733A1 DE19752506733 DE2506733A DE2506733A1 DE 2506733 A1 DE2506733 A1 DE 2506733A1 DE 19752506733 DE19752506733 DE 19752506733 DE 2506733 A DE2506733 A DE 2506733A DE 2506733 A1 DE2506733 A1 DE 2506733A1
Authority
DE
Germany
Prior art keywords
memory
address
addresses
access address
received
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.)
Ceased
Application number
DE19752506733
Other languages
English (en)
Inventor
Elwood Eugene Barnes
Sidney Thomas Emerson
Paul Clifton Rogers
Wilburn Dwain Simpson
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.)
Nortel Networks Inc
Original Assignee
Periphonics 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 Periphonics Corp filed Critical Periphonics Corp
Publication of DE2506733A1 publication Critical patent/DE2506733A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Datenspeicher ohne feste Zuordnung zwischen Adressen und Speicherplätzen
Die Erfindung betrifft Datenspeicher, insbesondere der Art, die so gesteuert werden können,.daß sie in den Betriebsarten "stacking" (Stapeln), "mapping" (Belegen) und in anderen Betriebsarten, bei denen die Zuordnungen zumischen Adressen und Speicherplätzen nicht fest sind, arbeiten können.
Es gibt viele verschiedene Arten von Datenspeichern Kernspeicher, Halbleiterspeicher, Magnetdrahtspeicher usw. -
509837/0929
die in Bezug auf die Kosten pro Bit, den Zugriff und die Zykluszeiten und andere Eigenschaften stark voneinander abweichen. Die Basis-Betriebsart aller dieser Datenspeicher ist jedoch gleich. Zur Erkennung eines der Speicherplätze im Datenspeicher wird eine Adresse von einer Zentraleinheit oder längs eines DM-Kanals (direct memory access) dem Datenspeicher zugeführt. Handelt es sich um einen Lesevorgang, so werden die Daten in dem erkannten Speicherplatz den Datenausgangsleitungen zugeführt. Soll, eine Schreib-Operation vorgenommen werden, so werden die Daten auf den Eingangsleitungen in den erkannten Speicherplatz eingeschrieben.
Ein Datenspeicher kann eine in sich abgeschlossene Einheit sein, wie zum Beispiel ein Zusatzspeicher, der einem bereits installierten System zur Erweiterung beigestellt wird. Andererseits kann ein Datenspeicher in einer oder mehreren Schaltkarten im gleichen Gehäuse zusammen mit der Zentraleinheit (GPU) enthalten sein. Pur die Erfindung, die auf jeden Speichertyp anwendbar ist, ob dieser nun in sich abgeschlossen ist oder nicht, ist es wichtig, zwischen dem Datenspeicher selbst und der Zentraleinheit, dem DMA-Kanal oder anderen Adressen erzeugenden Einheiten zu unterscheiden. Was die Zentraleinheit (CPU) oder einen DMA-Kanal anbetrifft, so wird eine einer Adressenleitung zugeführte Adresse von einem herkömmlichen Datenspeicher so interpretiert, daß sie den entsprechenden Speicherplatz in dem Datenspeicher, in den sie eingeschrieben oder von dem sie ausgelesen werden soll, repräsentiert, I1Ur die vorliegenden Zwecke bezieht sich der Ausdruck "Datenspeicher" auf die Hardware, die mit den Adressen-Bits arbeitet, welche
509837/0929
ihr von einer Zentraleinheit oder längs eines DMA-Kanals zugeführt werden und die entweder ein Wort von den Datenleitungen speichert oder den Datenleitungen ein Wort zuführt in Abhängigkeit von Lese/Schreib- und anderen Steuer-Signalen. Dieses Verständnis der !Trennlinie zwischen einem "Datenspeicher" und jeder anderen Einheit, mit der er gekoppelt ist, ist von Bedeutung, weil der erfindungsgemäße Datenspeicher mit den Adressen in einer Weise arbeitet, die sich von der "bekannten Art, in der "bisher Speicher mit Adressen gearbeitet haben, wesentlich unterscheidet.
Der erfindungsgemäße Datenspeicher kann zusätzlich zu der Abspeicherung und Lieferung von Daten in der üblichen Weise in anderen Betriebsarten arbeiten, nämlich "Mapping und Stacking1'· Die Konzeption der Betriebsart "Mapping und Stacking" ist in weitem Sinne nicht neu, wenn auch, wie nachstehend beschrieben, die Betriebsart "Mapping und Stacking" in dem erfindungsgemäßen Datenspeicher auf eine Weise realisiert" wird, die von der bekannten Technik beträchtlich abweicht. (Beispielsweise behandelt der erfindungsgemäße Datenspeicher in der Betriebsart "Stacking" mehrere Adressen-Bits so, als ob sie eine Unterbetriebsart repräsentieren, statt als Teil der Kennung eines Speicherplatzes.) Vielleicht noch wichtiger ist die Tatsache, daß die "Mapping-und Stacking"-Funktionen innerhalb des Speichers gesteuert werden, wogegen in der bekannten Technik alle derartigen Funktionen von außerhalb des Speichers gesteuert werden. In der bekannten Technik kann eine Adresse außerhalb des Speichers modifiziert werden, ist jedoch die modifizierte Adresse einmal in den Speicher übertragen, so repräsentiert sie einen speziellen Speicherplatz, der der
509837/0 9 29
übertragenen Aaresse zugeordnet ist. Dies ist dem erfindungsgeinäßen Datenspeicher gegenüberzustellen.} "bsi dem es keine feste Zuordnung zwischen dem Speicher übertragene Adressen und technisch definierten Speicherplätzen gibt.
Ein allgemeines Siel der Erfindung ist es, einen Datenspeicher zu schaffen, bei dem die Zuordnung zwischen empfangenen Adressen und Speicherplätzen nicht fest ist, und der in den Betriebsarten "Mapping und Stacking" arbeiten kann, wobei die "Mapping-und Stacking-"Funktionen in Zuordnung zu den übertragenen Adressen vom .Speicher selbst gesteuert werden, und die Arbeitsweise des Datenspeichers derart ist, daß keine Einzelzuordnung zwischen dem Speicher übertragenen Adressen und technisch definierten Speicherplätzen besteht.
Ein weiteres Ziel der Erfindung besteht darin, einen hohen Grad von Flexibilität zu erzielen, wenn der Datenspeicher in der Betriebsart "Mapping" arbeitet. Jedes Slatt (page) des Adressen-"Iläun:es" kann auf jedes Speicherplatz-Blatt äquivalenter Größe übertragen werden, ohne Bezug auf die Adressen-Abgrenzungen innerhalb des Datenspeichers. Dies ist ein Unterschied gegenüber der bekannten Technik, bei der Blätter mit Adressenraum auf Datenspeicherblätter äquivalenter Größe, deren Adressen-Abgrenzungen fixiert sind, übertragen werden.
Andere Erfindungsziele bestehen darin, beim Betrieb des Datenspeichers in der Betriebsart "Stacking" mit einer begrenzten Anzahl von Adressen, die auf den Speicher übertragen sind, die Datenabspeieherung in einer wesentlich größeren Anzahl von Speicherplätzen zu steuern (somit eine
509837/0929
umfangreiche Pufferspeicherung ohne die Benutzung eines umfangreichen Adressenraumes zuzulassen), und die Betriebs art ("Stacking")selbst in Übereinstimmung mit einem Teil der Adressen-Bits zu "verändern.
Um die Erfindung richtig zu verstehen, ist es erforderlich, zwischen den Adressenraum des Rechners und den Speicheradressen (die die technisch definierten Speicherplätze im Speicher erkennen), zu unterscheiden. Abhängig von der Bitzahl in dem Befehlswort der Zentraleinheit gibt es eine begrenzte Anzahl von. Bits, die für die Erkennung einer Speicheradresse zur Verfugung stehen. Es mögen zum Beispiel 16 Bits für die Erkennung einer von 2 (64 k) Adressen zur Verfügung stehen. Diese. 64 k Adressen (k = 1024) umfassen den "Adressen-Saum" des Datenverarbeitungssystems. In den meisten Pällen können die 64 k Speicherplätze auf einer 1:1 Basis von den 64 k Adressen in dem Adressenraum erkannt v/erden. Bei einem System, in dem alle 64 k Adressen zur Erkennung entsprechender Speicherplätze verwendet werden,■ist der größte Speicher, der verwendet werden kann, ein 64 k Speicher, wenn nicht andere Mittel (Hardware oder Software) zur Erweiterung des Speichers vorgesehen sind.
Es sind Techniken bekannt, bei denen trotz der Tatsache, daS der Adressenraum begrenzt ist, größere Datenspeicher verwendet worden' sind. Eine derartige Technik führt zu einem in "Blätter" unterteilten Speicher (paged memory). Der Gesamtanteil des technisch definierten (physical) Speichers, der vorgesehen werden kann, kann mehrere
509837/0929
hunderttausend Speicherplätze aufweisen, die in Blätter von je 2k Speicherplätzen (oder eine andere Größe) unterteilt sind. Dieser technisch definierte Speicher kann mit einem Rechner zusammen verwendet werden, der einen wesentlich kleineren Programmadressenraua (zum Beispiel 64- k Speicherplätze oder 32 Blätter mit ge 2k Speicherplätzen) auf v/eist und zwar durch Belegen (Mapping) jedes 2k Blattes des begrenzten Programmadressenraums mit einem der wesentlich größeren Anzahl von Blättern in dem technisch definierten Speicher. Im Effekt kann jede Adresse innerhalb eines 2 k-Blattes des Programmadressenraums in Bezug zu der Startadresse jedes 2k Blattes in dem technisch definierten Speicher gebracht werden. Obwohl zu keiner Zeit der vollständige Programmadressenraum die 64k Speicherplätze (in diesem Beispiel) überschreiten kann, kann der tatsächliche Anteil des zugriffsfähigen technisch definierten Speichers kennzeichnend größer sein, dadurch, daß von Zeit zu Zeit die Belegung des technisch definierten Speichers durch den Programmadressenraum während der Durchführung eines oder mehrerer Programme des Rechners selektiv verändert wird. Oftmals wird ein Satz von Umspeicher-Registern innerhalb der Zentraleinheit verwendet, um den größeren technisch definierten Adressenraum des Speichers durch den kleineren Programmadressenraum des Prozessors zu belegen.
Die verschiedenen bekannten Mapping-Verfahren haben gemeinsam, daß sie, ob nun unter Hardware- oder Software-Kontrolle, in der Zentraleinheit selbst durchgeführt werden. Soweit die technisch definierten Speicher betroffen sind,' erkennen dabei die einem derartigen Speicher übertragenen Adressen immer den gleichen technisch definierten Speicher-
509837/0929
platz in dem Datenspeicher. Sin Wort kann in den Speicher eingeschrieben oder ausgelesen werden, der benutste Speicherplatz ist immer eindeutig der speziellen Adresse zugeordnet, die an den Adressenlsituiigseingängen des Speichers auftritt. Darüber hinaus waren die bekannten Happing-Techniken unflexibel, indem jedes 2k (oder andere Größe) Blatt in den Programmadressenraum lediglich den vorgegebenen 2k-Blättern in einem Hilfsspeieher zugeordnet werden konnte. Üblicherweise sind die technisch definierten Grenzen (Adressen) der Blätter in dem technisch definierten Speicher starr.
Das erfindungsgemäße Speichersystem enthält zusätzlich zur Hilfsspeicherung einen wesentlich kleineren Stack- und Map-Indexspei eher (SMPM) und logische Schaltungen für die Modifikation einer Adresse, die beispielsweise durch eine Zentraleinheit an das System übertragen wird. Sine Map-Index-Sektion des SfIPM wird in Verbindung mit einer ankommenden Adresse benutzt, um Zugang zu einem speziellen ¥ort im Hilfsspeicher zu haben. Das Mapping-Verfahren wird also im Speicher selbst vorgenommen. Darüber hinaus ist das System äußerst flexibel, da die Startadresse jedes Blattes in dem Hilfsspeicher frei gewählt werden kann. Dies gestattet die Überdeckung von Blättern des HilfsSpeichers. Ein vollständiges Blatt im Hilfsspeicher braucht nicht verschwendet zu werden für den Pail, daß es nicht zu seiner vollen Kapazität ausgenutzt wird. ¥ar in der bekannten Technik ein Blatt nicht gefüllt, so \var ein Teil seiner Kapazität ungenutzt oder wenn der "Versuch gemacht wurde, andere Daten ober Befehle in diesem Blatt zu speichern, so mußte auf Verbindungstechniken zurückgegriffen werden.
509837/0929
Gemäß der Erfindung kann jedoch der Beginn eines Blattes auf einen dazwischenliegenden Punkt auf der Seite, die nicht voll genutzt ist, gelegt werden, wenn bekannt ist, daß ein Blatt nicht voll genutzt wird.
Abhängig vom Inhalt der Map-Index-Sektion des SMPM können die Blätter (oder Blöcke) des HiI fs Speichers voneinander abhängig oder getrennt sein oder überlappen und zwar in allen möglichen Kombinationen. Tatsächlich bedeutet das Umschalten von Blättern in dem Hilfsspeicher lediglich, daß ein neuer Wert in die Map-Index-Sektion des SHPM eingeschrieben werden muß. Dies gestattet einem Programmierer, schnell und leicht von einem Programm oder Datenblock in den anderen umzuschalten. Damit das Mapping in dieser Art flexibel ist, ist es erforderlich, daß der Inhalt des SKPM veränderlich ist. Dies wird bewirkt, wenn das System in der SMPM-Betriebsart betrieben wird, wie nachstehend beschrieben.
Eines der großen Probleme bei der Verarbeitung langer nachrichten in Kommunikationsanwendungen besteht darin, daß es oftmals notwendig ist, vorübergehend eine Nachricht in einem Puffer abzuspeichern. In typischer Weise wird dabei .jedes ankommende Zeichen in einer, unterschiedlichen Speicherplatz gespeichert, wobei aufeinanderfolgende Zeichen in zusammenhängenden Speicherplätzen abgespeichert werden. Um in der bekannten Technik eine derartige Speicherung ( und nachfolgende Wi ede rauf findung) zu bewirken, wird eine Stack-Index-Ädresse aufrechterhalten und durch die Zentraleinheit manipuliert. Diese Adresse erkennt entweder den nächstverfügbaren oder den zuletzt genutzten Speicherplatz, in dem
509837/0929
ein Zeichen gespeichert werden kann oder von dem ein Zeichen abgerufen werden kann. Während der Speicherung wird der Stack-Index in typischer Veise ergänzt oder verkleinert, bevor ein neues Zeichen gespeichert oder abgerufen wird. Da der Stack-Index immer auf eine Adresse in dem begrenzten Adressenraum bezogen ist, ist ersichtlich, daß der verbrauchte Adressenraum gleich der gesamten verwendeten Puffergröße ist und daß der begrenzte Adressenraum schnell verbraucht sein kann, wenn eine große Anzahl von Puffern oder ungewöhnlich lange Puffer verwendet werden.
Dies wird erfindungsgemäß vermieden durch Vervrendung der gleichen Adresse in dem Adressenraum für den Zugriff zu aufeinanderfolgenden Speicherplätzen im HilfsSpeicher, wenn das System in der Stacking-Betriebsart betrieben wird. Sind aufeinanderfolgende Zeichen einer.Eachricht zu speichern (oder abzurufen), so wird auf den erfindungsgemäßen Speicher die gleiche Adresse übertragen» Diese Adresse hat Zugriff zu einem Stack-Index innerhalb der Stack-Index-Sekt ion des SMPM. Umgekehrt zeigt der Stack-Index einen Speicherplatz im Hilfsspeicher an. Für die Verarbeitung aufeinanderfolgender Zeichen ist lediglich erforderlich, daß der geeignete Stack-Index in dem SMPM bei aufeinanderfolgenden Speicherzugriffen automatisch, anwächst oder abnimmt, wenn in der Stacking-Betriebsart gearbeitet wird. In dieser Veise können große Anteile Pufferraum (Hilfsspeicher) wirkungsvoll ausgenutzt werden mit einem minimalen Einfluß auf den. begrenzten Programmadressenraum des Systems wie auch einer Vereinfachung der zugeordneten Software.
509837/0929
Zur Erzielung einer größeren Flexibilität v/erden acht Adressen in dem Adressenraum für den Zugang zum gleichen Stack-Index in den SMPM verwendet. (Es gibt noch, eine wesentliche Einsparung, v/eil nur 8 Adressen zur Speicherung von vielleicht Tausenden von Zeichen im Hilf sspeicher benötigt werden). Acht Adressen v/erden verwendet, um zum gleichen Stack-Index Zugang zu haben, aber die eine von acht Adressen, die tatsächlich auf das System übertragen wird, bestimmt die spezielle Betriebsart. Beispielsweise steuert eine der Adressen den Zuwuchs des Stack-Index und eine weitere die Abnahme des Stack-Index. Daher werden einige der Bits in den auf den Speicher übertragenen Adressen nicht als Teil einer Adresse behandelt, sondern als Steuerbefehle für entsprechende Unterbetriebsarten (innerhalb der Stacking-Betriebsart). Wie in der Betriebsart Mapping werden die Stacking-3?unktionen innerhalb des Speichers durchgeführt. Dies vereinfacht den Zusatz des erfindungsgemäßen Speichers zu bereits bestehenden Systemen sehr, da keine Hardware-Änderungen eingeführt werden müssen.
Die Erfindung wird nachstehend in Zusammenhang mit den Zeichnungen beschrieben.
Pig. 1 zeigt symbolisch die Beziehung zwischen dem Adressenraum eines Rechners und den Speicherplätzen innerhalb des erfindungsgemäßen Systems und weiterhin die Information, die durch ein leitwort gegeben ist, das in dem System abgespeichert ist, wenn es in der "Steuer"-Betriebsart betrieben wird.
509837/0929
Fig. 2 zeigt symbolisch die Arbeitsweise des Systems in der Betriebsart "direkt".
Fig. 3 zeigt symbolisch, die Arbeitsweise des Systems in der Betriebsart "Mapping".
Pig. 4- zeigt symbolisch die Arbeitsweise des Systems in der Betriebsart "SMFM".
Fig. 5 zeigt symbolisch die .Arbeitsweise des Systems in den vier "Stacking"-Betriebsarten.
Fig. 6 zeigt ir. erweiterter Darstellung die 8 Adressen in dem gesamten SMPM- und Stacking-Raum des Adressenraums, die jedem Stack-Index in dem Staek-und Map-Indexspeicher zugeordnet sind.
Die Fig. 7 ^>is 13 zeigen Blockschaltbilder der erläuterten Ausführungsform der Erfindung, wobei die einzelnen Zeichnungsblätter, wie in Fig. 14 dargestellt, zueinander angeordnet sind.
Die Fig.15 und 16 (Fig. 15 muß links von Fig. 16 angeordnet werden) zeigen eine "Prioritätslogik1' für den Fall, daß die in diesen Fig. gezeigten Schaltbilder das nach Fig. 13 in jedem von zwei gesonderten Systemen ersetzen, wobei beide Systeme, durch gesonderte Prozessoren gesteuert, mit einem gemeinsamen Bus-System verbunden werden können, um Zugriff zu dem gleichen Hilfsspeicher zu erzielen und
509837/0929
Fig. 17 zeigt die kurzen Verbindungen, die an den 5 Klemmen jedes der beiden Systeme mit Prioritätslogik erforderlich sind.
Die Erfindung wird nachfolgend in zwei !Teilen beschrieben. In der allgemeinen Beschreibung ist die Organisation des Systems in Verbindung mit einer Beschreibung der Arbeitsweisen in jeder der verschiedenen möglichen Betriebsarten erläutert. Die Fig. 1 bis 6, die der allgemeinen Beschreibung zugehören, erläutern symbolisch die Arbeitsweisen des Systems und die Art ihrer Realisierung, ohne jedoch die Schaltkreise zur Durchführung der geforderten Funktionen dabei näher zu betrachten. Beispielsweise sind die mathematischen Manipulationen der Adressenbits, die dem System zwecks Zugriff zu einem bestimmten Speicherplatz übertragen werden, abgebildet, jedoch sind die speziellen Schaltkreise für die Erfüllung dieser Funktionen nicht beschrieben. Dies erfolgt· statt dessen in der anschließenden Einzelbeschreibung, Ss kann sonit ein vollständiger überblick über die Erfindung erzielt werden, x^enn nur die allgemeine Beschreibung gelesen wird.
Allgemeine Beschreibung.
Viele moderne Kleinrechner sind 16-Bit-Wort-Maschinen. Diese Wortlänge begrenzt gewöhnlich die Speichergröße auf 64k (K = 1024) Speicherplätze. Üblicherweise ist der Speicher in 32k-Worte unterteilt, wobei jedes Wort zwei 8-Bit-3ytes aufweist. Jede der 64k-Adressen, die von der Zentraleinheit spezifiziert werden kann, kann somit eines der 64k 8-Bit-Bytes identifizieren. Unglücklicherweise
509837/0929
ist diese Anzahl von Bytes für Echtzeit-Anwendungen häufig su klein. Dies trifft besonders zu, wenn eine umfangreiche Pufferung erforderlich ist, beispielsweise wenn es erforderlich ist, einseine Zeichen sehr langer Nachrichten abzuspeichern.
Um das System der Erfindung zu verstehen, ist die Einsicht wesentlich, daß bei einem 64k-Speicher Zugriff zu allen 64-k-Speicherplätzen durch Übertragung von wesentlich weniger als 64k-Adressen erzielt werden kann. 80 wird lediglich ein kleiner Teil des 64k-Adressen-Baums (der 64-k-Adressen, die durch die Zentraleinheit spezifiziert werden können), für den Zugriff zu allen 64-k-Speicherplätzen des Systems verbraucht -» ¥ie aus dem Nachstehenden hervorgeht, kann ein Benutzer die speziellen Adressenzonen innerhalb des gesamten 64k-Adressenraum3 selbst auswählen. Durch Auswahl eines unterschiedlichen Anteils des gesamten 64k-Adressenraums für jedes von vielen Systemen können alle mit dem gleichen Bus-System verbunden werden, um die Gesamtzahl der Speicherplätze, zu denen durch Spezifikation von Adressen innerhalb des begrenzten 64-k-Adressenraums Zugriff erzielt werden kann, wesentlich zu erweitern.
Fig. 1 zeigt in symbolischer Darstellung die Beziehungen zwischen dem Rechner-Adressen-Raum (Speicheradressen) und den Speicherplätzen innerhalb des erfindungsgemäßen Speichers. Auf der linken Seite der 51Xg. 1 ist der 64k-Rechner-Adressen-Raum eines konventionellen Kleinrechners abgebildet. Jede rechnererzeugte Adresse besteht aus 16 Bits, so daß maximal 64k-Adressen spezifiziert werden können. Das erfin-
509837/0929
dungsgemäße. .System enthält einen konventionellen 64-k-Hilfsspeicher (ACS), der auf der rechten Seite der Zeichnung dargestellt.ist, sowie einen zusätzlichen 25ö-Wort-Schnellspeicher, der als Stack- und Map-Indexspeicher (Stack and Map Pointer Memory =SM?M) bezeichnet ist, sowie viele weitere Elemente, die in Pig. 1 nicht dargestellt sind. Das System spricht an auf Adressen, die in lediglich 7 Zonen des 64-k-Rechner-Adressen-Raums enthalten sind. Die Größen einiger dieser Zonen können durch den Benutzer eingestellt werden. Ebenso kann der Benutzer die Plätze dieser 7 Zonen auswählen. Dieses Merkmal, daß dem Benutzer erlaubt, die Zonen aus dem Gesamtadressenraum, auf den jedes System anspricht, auszuwählen, gestattet, daß viele Systeme zusammen benutzt werden können, wobei jedes auf unterschiedliche Anordnungen von Zonen innerhalb des Gesamtadressenraums anspricht, so daß der gesamte Hilfsspeicher die 64-k weit überschreiten kann.
Die Punktion des SHPM in den meisten Betriebsarten besteht darin, einer einzelnen Adresse innerhalb des Rechner-Adressen-Raums, die durch das System erkannt xirird, die Steuerung des Zugriffs zu vielen verschiedenen Speicherplätzen in dem AGS zu gestatten. Die Adressen-Manipulation innerhalb des Systems ist der Schlüssel für die Erschließung größeren Speichervolumens innerhalb der Adressenbegrenzungen der meisten Kleinrechner. Die Adresse des aktuellen Speicherplatzes in dem Rechnerhilfsspeicher (ACS), zu dem zugegriffen werden soll, wird in verschiedenen Betriebsarten mittels einer vorgegebenen Operation in Bezug auf den Inhalt eines geeigneten 16-Bit-Wortes in SrIPM in Übereinstimmung mit den
509837/0929
Verten einiger Bits der spezifizierten Rechner-Adresse abgeleitet. Im Gegensatz su konventionell eil Speichern besteht keine einfache Eins-su-Sins-Zuordnung zwischen einer von Rechner präsentierten Adresse und der tatsächlich irmerha3.b des Systems benutzten Adresse, um Zugang zu einem gegebenen Wort oder Byte innerhalb des AGS zu erzielen. Die vom Rechner spezifizierten Adressen (Zentraleinheit, DMA-Kanal usw.) beziehen sich, nicht nur in unkonventioneller Veise auf aktuelle Speicherplätze innerhalb des AGS, sondern definieren auch die Art der Adressenmanipulation, die mit der Adresse selbst vorgenommen werden.
Jede der 7 Zonen im Rechner-Adressen-Raum gemäß Fig. i repräsentiert eine Unterschiedlichfunktion, d.h., es erfolgt eine unterschiedliche Operationsart, nachdem eine Adresse innerhalb einer der 7 funktioneilen Zonen durch das System empfangen ist. Jede der 7 funktionellen Zonen und Betriebsarten wird nachstehend im einzelnen beschrieben.
Betriebsart "direkt"
Die Betriebsart "direkt" erspart keinen Rechner-Adressen-Raum. Sie ist jedoch aus Flexibilitätsgründen vorgesehen, da ein Benutzer vrünschen kann, mit dem System zumindest teilweise in dex\ Betriebsart direkt zu arbeiten. Da diese Betriebsart wahrscheinlich am leichtesten zu versiäien ist, soll sie zuerst beschrieben werden.
Vie in Fig. 1 dargestellt, steuert jede Adresse innerhalb der direkten Zone, die durch die Adressen-Eingangsleitungen
509837/0929
des Systems spezifiziert ist, den direkten Zugriff zu einem entsprechenden Speicherplatz in dein ACS. Der Benutzer kann die Größe der direkten Zone auswählen, ebenso \-j±e ihre Adressenbegrenzungen. In Bezug auf die Begrenzungen wird gedoch eine.Einschränkung eingeführt. Beginn und Ende der Begrenzungen der direkten Zone müssen Vielfache von 4k sein. Die direkte Zone ist in zusammenhängende Blöcke unterteilt, von denen jeder 4095 Adressen hat. Die Blöcke sind identifiziert durch die Symbole 0 bis H3. Der Benutzer wählt die Startadresse der direkten Zone (die untere Grenze) durch Setzen von 4-Hardware-Schaltern, die in dem System vorgesehen sind. Da die Startadresse auf einer 4-k-G-renze liegt, hat die erste Adresse der direkten Zone die Form XXXXOOOOOOOOOOOO, so daß nur vier Schalter erforderlich sind. In ähnlicher Weise ist die obere Begrenzung durch die Einstellung von vier anderen Hardware-Schaltern spezifiziert, um die Startadresse des letzten 4-k-Blocks in der direkten Zone zu repräsentieren. Durch die Forderung, daß die direkten Zonen an den 4-k-Grensen beginnen und enden, sind zur Definition der Zone lediglich 8 Schalter erforderlich. Eine Adresse innerhalb des 64k-Eechner-Adressen-Haums wird als innerhalb der direkten Zone liegend erkannt, d.h. als Forderung, daß das System in der Betriebsart direkt arbeitet, in dem geprüft wird, daß die vier signifikantesten Bits in der übertragenen Adresse gleich oder größer als die Yier-Bit-Untergrenze und gleich oder kleiner als die "Vier-Bit-Obergrenze sind.· (Die Betriebsart direkt kann insgesamt außer Betrieb gesetzt werden, indem der Wert der oberen Grenzschalter kleiner gewählt wird als der Wert der unteren Grenzschalter).
509837/0929
Es können Ms zu 16 zusammenhängende Blöcke in der direkten Zone vorhanden sein. Als praktische Richtlinie wird erwartet, daß im üblichen Fall zumindest einige Blöcke des Rechner-Adressen-Raunes in der Betriebsart direkt verwendet werden. Die Speicherplätze des ACS, die in der Betriebsart direkt verwendet werden, sind die mit <±en untersten Adressen. Es gibt so viele Blöcke in dem AGS, zu.denen in der Betriebsart direkt zugegriffen werden kann, wie auch in der direkten Zone des Rechner-Adressen-R.9um.es vorhanden sind. Grundsätzlich wird der AGS mit der direkten Zone belegt (mapped),, jedoch mit einer Versetzung, die einige Vielfache von 4k beträgt. Jede Adresse D (in Pig. 1 dargestellt), die auf den Adressenleitungen zu dem Speicher erscheint und in die direkte Zone fällt, wird in eine Adresse D1 übersetzt, um Zugriff zu dem entsprechenden Speicherplatz in dem AGS, wie in IPig. 1 dargestellt, zu erzielen. Der Unterschied zwischen den Adressen D und D' beträgt immer ein Vielfaches von 4k, das exakte Vielfache hängt ab von dem Wert der unteren Grenze der direkten Zone, die durch die Hardware-Schalter gesetzt ist.
Speicherplätze in den direkten Blocks des AGS können auch erreicht werden, wenn das System in anderen Betriebsarten betrieben wird. Der Aufbau einer direkten Zone, auf die das System anspricht, schafft in einfacher Form eine weitere Zugriffsart zu den untersten Speicherplätzen in dem AGS. Es soll angemerkt werden, daß, während die direkte Zone . unterhalb den anderen Zonen des Speicheradressenraums in Fig. 1 dargestellt ist, dieses nicht der Fall sein muß. Die direkte Zone kann aus bis zu 16 zusammenhängenden 4k-Blocks bestehen, und zwar überall innerhalb des Rechner-Adressen-Raums.
509837/0929
Die ACS-Adresse D1 wird von der Hechner-Adresse D wie folgt abgeleitet. Die Adresse D wird zunächst geprüft, um festausteilen, ob sie innerhalb der direkten Zone liegt, und, wenn dies der Jail ist, in welchem Block der direkten Zone sie enthalten ist. Die Versetzung von der unteren Grenze des so festgestellten Blocks ist damit abgeleitet. Der entsprechende direkte Block in dem ACS ist somit identifiziert und die vorher bestimmte Versetzung wird zu der Startadresse dieses direkten Blocks addiert, um so die Adresse Df zu bilden.
Die mathematischen Manipulationen mit der Adresse D sind in I?ig. 2 erläutert. Der 64k-Rechner-Adre3sen-Raum ist in 16 Blocks (O bis 15) mit je 4096 Adressen unterteilt. Im gewählten Beispiel ist der unterste Block nicht Teil der direkten Zone, jedoch die Blöcke 1 und 2. 8 Adressen-Aus wählschalter für die Betriebsart "direkt" sind vorgesehen. 4 davon repräsentieren den ersten Block in der direkten Zone (Block 1) und die vier anderen repräsentieren den letzten Block (Block 2). Erinnert man sich, daß die Grenzen der direkten Zone Jeweils durch 4 Bits repräsentiert sind, so ist offenbar, daß bei Benutzung der Dezimalwerte der 4 Bits diese tatsächlich die Blocknummern - 0, 1, 2, usw... repräsentieren. In Pig. 2 repräsentieren die Zahlen in den Klammern Datenwerte. Entsprechend repräsentieren die beiden Gruppen von Wahlschaltern die Dezimalzahlen 1 bzw. 2.
Da die direkte Zone im gewählten Beispiel lediglich aus 2 Blöcken besteht, werden nur die beiden untersten Blöcke (0 und 1) der 16 AOS-Adressen-Blöcke in der Betriebsart "direkt" benutzt. Es ist erforderlich, die Adresse D
509837/0929
(in diesem Fall innerhalb Block 2 des Rechner-Adressen-Raums) in eine Adresse D1 umzuformen (in diesem Fall innerhalb Block 1 des AGS).
Die vier signifikantesten Bits (12 bis 15) in der vom Rechner erzeugten 16-Bit-Adresse repräsentieren einen der 16 Blöcke des Adressenraums. Die 12 letzten signifikanten Bits (O bis 11) repräsentieren eine von 4k-Yersetzungen innerhalb des 31ocks. Dementsprechend ist es die 4-Bit-Block-Nummer in der vom Rechner erzeugten Adresse, die zur Erkennung des Blocks im AGS, der den Speicherplatz, zu dem Zugriff erzielt werden soll, enthält, benutzt wird, xvährend die 12-Bit-Versetzung in der vom Rechner erzeugten Adresse für den. Zugriff zu einen speziellen Platz innerhalb des gewählten Blocks des AGS verwendet wird.
Wie in Fig. 2 dargestellt, wird die Block-Hummer in der vom Rechner erzeugten Adresse zunächst ergänzt. Die 4 Bits, die den Block 2 repräsentieren, sind 0010. Die Ergänzung dieser Zahl ist 1101 oder Dezimal 13· Die ergänzte .Blockzahl wird zusammen mit der letzten gültigen Blockzahl den Eingängen des Summierers 40 zugeführt. Ist die Summe größer oder gleich 15, so zeigt dies an, daß die Blockzahl, die die Adresse D enthält, nicht zu hoch ist und es wird ein Eingang des Gatters 41 erregt. Die ergänzte Blockzahl wird außerdem zu der .ersten gültigen Blocknummer im Summierer addiert. Ist die Summe kleiner oder gleich 15? so ist dies eine Anzeige dafür, daß die Blockzahl, die die Adresse D enthält, hoch genug ist (d.h., sie liegt im ersten Block in der direkten Zone oder einen Block darüber). In einem solchen Fall wird der zweite Eingang des Gatters 41 eben-
509837/0929
falls erregt, wodurch der Gatterausgang auf den hohen Pegel geht, im anzuzeigen, daß das System in der Betriebsart direkt arbeiten soll. Bleibt einer der Eingänge des Gatters 41 niedrig, so zeigt dies an, daß die vom Rechner erzeugte Adresse D nicht innerhalb der direkten Zone liegt.
Die Zahl am Ausgang des Summierers 42 x^ird, wie in S1Ig-. 2 dargestellt, ergänzt und die ergänzten Bits werden als die vier signifikantesten Bits in der Adresse, die zxvecks Zugriff zu dem ACS abgeleitet worden ist, benutzt. Im vorliegenden Fall ist die A08-31ock-Nummer, die auf diese Art abgeleitet wurde, 0001 :oder Block 1 (der ziveite Block in dem ACS), wie gefordert. Die 12-Bit-]_Versetzung in der rechnererseugten Adresse wird zu der ACS-Block-Nummer addiert, um die volle 16-Bit-Adresse D' für den Zugriff zu dem ACS abzuleiten.
Im allgemeinen und unter Bezug auf die Dezimaldarstellung soll Fg die Blockzahl repräsentieren, die durch die Adressen-Bits 12 bis 15 angegeben ist, N™ soll die erste gültige Blockzahl^N- die letzte gültige Blockzahl repräsentieren. Die ergänzte Adressen-Blockzahl ist somit 15 -Ng, der Ausgang des Summierers 40 ist somit 15-N1,+Bx und der Ausgang des Summierers 42 ist somit 15-lT-g+Hj,. Ist die Eechner-Adresse nicht zu hoch, dann ist 35L > Nx. und der Ausgang des Summierers 40 muß größer oder gleich 15» wie angezeigt, sein. Ist die Rechner-Adresse hoch genug, dann ist EL, > H- und der Ausgang des Summierers 42 muß 15 oder kleiner als angezeigt sein. Ebenso muß nach Ergänzung des Wertes
509837/0929
die ACS-Blockzahl sein 15-(15-HB+HF) oder
N-g-iTfp. Somit ist die AGS-Blockzahl die vom Rechner erzeugte Adressen-Blockzahl sinus der Zahl der ungenutzten
Blocks in dem 64k-Rechner-Adressen-Raum unter der direkten Zone das gevninschte Ergebnis.
Es soll angemerkt xverden, daß bei einer Stellung der
Adressen-VJahl-Schalter derart, daß die erste gültige
Blockzahl größer ist als die letzte gültige Blockzahl
dann in keinem Fall "beide Eingänge des Gatters 41 erregt sein können und das System nicht in der Betriebsart direkt arbeitet. Es soll veiter angemerkt werden, daß vom Standpunkt der Programmierung die direkte Zone genau wie jede andere Zone des konventionellen Speichers benutzt werden kann. Es sind keine speziellen Pro grammübe riegung en notwendig.
Die erläuterte Ausführungsform der Erfindung ist so ausgelegt, daß sie mit den PDP-11- echner-Modellen der Firma
Digital Equipment Corporation zusammen arbeitet. Speicher, die mit dem Unibus-Bussystem derartiger Rechner verbunden
sind, haben Vortspeicherplätze mit einer Länge von 16 Bit. Zugriff ist jedoch zu jedem der beiden 8-Bit-3ytes in
jedem Wort möglich. Aus diesem Grund kann man mit 16 Adressen-Bits lediglich 32k 16-Bit-Vorte spezifizieren, wobei eines der Adrassen-Bits zur Spezifikation des oberen oder unteren Bytes in einem gewählten Wort erforderlich ist.
Unter den 56 Signalleitungen der Unibus-Sinrichtung befinden sich 16 Adressen-Leitungen (A(15:1)) und z\-ie± Steuerleitungen (CO,C1). Soll eine Leseoperation durchgeführt
509837/0929
werden, so repräsentieren die Signale auf den Steuerleitungen eine Leseoperation und das unterste Bit in der 16-Bit-Adresse wird ignoriert. Adressen-Bit 15 ist das signifikanteste und Adressen-3.it O ist das am wenigsten signifikante. Die 15 signifikantesten Bits der Adresse repräsentieren die beiden Bytes in dem gleichen Wortspeicherplatz und alle 16 gespeicherten Daten-Bits werden den Datenleitungen zugeführt. Hat die Zentraleinheit lediglich an einem der beiden Bytes Interesse, so verarbeitet sie lediglich 8 der 15 Daten-Bits entsprechend. Was jedoch den Speicher anbetrifft, so werden von einem 16-3it-Wort-Speicherplats 16 Daten-Bits ausgelesen.
Soll eine Schreiboperation durchgeführt vrerden, so ist es möglich, entweder ein vollständiges 16-Bit-Wort oder nur ein 8-Bit-Bvte/einzuschreiben, wobei· in letzteren Pail entweder das obere oder das untere Byte des"Wortes gewählt werden kann. Soll ein vollständiges Wort geschrieben werden, so repräsentieren die Sir™ale auf den Steuerleitungen dieses und das 16-Bit-Wort, das den 16 Datenleitungen zugeführt wird, wird in den 16 Bit-Speicherplatz eingeschrieben, der durch die 15 signifikantesten 3its der Adresse repräsentiert ist. Soll andererseits lediglich ein 8-Bit-Byte eingeschrieben werden, so repräsentieren die beiden Steuerleitungssignale eine Byte-Operation, identifizieren jedoch nicht, welches der beiden Bytes geschrieben \ferden soll. Statt dessen prüft der Speicher das 3it niedriger Ordnung der 16-Bit-Adresse, um entweder das obere oder das untere Byte zu erkennen, das in dem Wort enthalten ist und durch die · 15 signifikantesten Bits der Adresse repräsentiert ist. (Die Zentraleinheit liefert die 8 Bits,, die eingeschrieben
509837/0929
werden sollen, entweder auf den acht; oberen oder auf den acht unteren Datenleitungen).
Für das erfindungsgeriäße Syst eis, in der Betriebsart direkt betrieben, §κ5 gelten dieselben Segeln. Dies ist zweifelsohne der Pail, da die Adressen-Bit-Kanipulationen lediglich die 4- Bits der höchsten Ordnung einbeziehen. Ob eine Leseoder Sehreib-Operation erfolgt (und ob im letzteren fall entweder eine Wort- oder Byte-Operation stattfinden soll), hängt ab von den Signalen auf den Steuerleitungen. Im Fall einer Byte-Schreiboperation ist das obere oder das untere Byte des ausgev/ählten AGS-Speicherplatzes, in den 8 Bits eingeschrieben werden sollen, abhängig vom Wert des Bits niedriger Ox'dnung in der 12-Bit-Versetzung.
Betriebsart "Mapping"
Geciäß Fig. 1 besteht die Happing-Zone ähnlich der Direkt-Zone aus einer veränderlichen Anzahl zusammenhängender 31öcke mit je 4-096 Adressen. Jeder Block ist in zwei Blätter mit je 2C48 Adressen unterteilt. Die Grenzen der Mapping-Zone sind Vielfaches von 4k, folglich gibt es immer eine grade Anzahl von Blättern in der Mapping-Zone. Die Blätter sind von 0 bis K1- markiert. Ober- und Untergrenze werden nicht durch Hardware-Schalter gesetzt. Statt dessen werden sie, wie nachstehend beschrieben, durch ein Befehlswort festgelegt, das auf das System übertragen und· in für diesen Zweck vorgesehenen speziellen SpeicheisLeaenten gespeichert wird. Für ein Verständnis der Betriebsart Mapping genügt die Annahme, daß die oberen und unteren
509837/0929
Grenzen der Mapping-Zone im System repräsentiert sind, ohne zunächst zu untersuchen, wie sie darin repräsentiert sind.
Arbeitet das System in der Betriebsart Mapping, so wird jede empfangene Adresse, die in einem der Blätter der Mapping-Zone enthalten ist, zur Ableitung einer Adresse eines Speicherplatzes in dem entsprechenden Blatt des AC3 verarbeitet. In dem ACS gibt es ebenso viele Blätter mit je 2048 Adressen wie in der Mapping-Zone des Adressen-Raums. Wie bei der direkten Betriebsart bestimmt das System zuerst die Startadresse im entsprechenden Blatt des ACS, wenn eine Adresse empfangen wird, die in die Mapping-Zone fällt. Danach wird die Versetzung der empfangenen Adresse innerhalb ihres entsprechenden Blattes in der Mapping-Zone zur Startadresse des entsprechenden Blattes im ACS addiert, um die Adresse des Speicherplatzes im ACS, zu dem Zugriff erzielt.werden soll, zu bestimmen. Die Startadresse des entsprechendeil Blattes im AGS ist in einen zugeordneten 16-3it-Speicherplatz in dem SKPM enthalten. Abweichend von der bekannten Mapping-Technik kann die Startadresse beliebig auf Jede Wort-Zugriffs-Adresse innerhalb des ACS gesetzt werden und von Zeit zu Zeit durch die Programmsteuerung geändert werden. Pig. 1 zeigt die Übersetzung einer Adresse M, die in Blatt 1 der Mapping-Zone enthalten ist, in einer Adresse M1 für den Zugriff zu einem entsprechenden Speicherplatz in Blatt 1 des ACS.
Der Hauptunterschied zwischen den Betriebsarten, direkt und Mapping besteht in der Auswahl der Speicherplätze auf den Blättern im ACS. Wie in Fig. 1 dargestellt, brau-
509837/0929
chen die Blätter im ACS nicht zusammenhängen und müssen nicht in die Grenzen 4k, 2k oder dergleichen eingepaßt zu werden. Wie nachfolgend in Zusammenhang mit Fig. 3 ausgeführt wirI, können die Blätter im AGS einander sogar überdecken. Weil die Startadresse jedes Blattes im AGS nicht auf einer 4-k, 2k oder anderen Grenze liegen muß, ist es notwendig, sich auf das SMPM zu beziehen, um .eine Adresse M in eine Adresse M1 zu übersetzen. Ein Beispiel für diese Adressenübersetzung ist in Fig. 3 gegeben.
Die 7 untersten 4k-Blocks des Bechner-Adressen-Raums sind auf der linken Seite der Zeichnung dargestellt. Die 31öcke und 5 sind die, die im gewählten Beispiel in der Mapping-Zone enthalten sind. Da es immer eine grade Anzahl von Blättern in der Mapping-Zone gibt, sind die Grenzen der Kapping-Sone immer Vielfache von 4k und es sind wieder nur 4 3its erforderlich, um jede der Grenzen zu definieren - die Zahl des ersten gültigen Blocks und die Zahl des Iebaten gültigen Block:;, in der Happing-Zone. Das nachstehend beschriebene Befehlswort enthält 4- Bits, die den Map-Start definieren und xveitere 4 Bits, die das Map-Ende definieren, wie in Fig. 3 dargestellt. Im gexvählten Beispiel repräsentieren die Blockzahlen 4 und 5 den ersten und letzten gültigen Block in der Mapping-Zone.
Gemäß Fig. 1 enthält der SI-IPIi 256 16-Bit-Worte. Die Worte an den untersten Adressen im FIiPM dienen als Map-Index (Map "Pointer"), wobei jeweils ein Map-Index für jedes Blatt in der Mapping-Zone vorgesehen ist. Folglich sind mindestens 32 der 255 Worte im SMPM Map-Indices. Bei
509837/0929
Smplang einer Adresse K bestimmt das System, welches der Blätter in der Mapping-Zone die Adresse enthält. Der entsprechende Index in dem SMPM wird dann geprüft. (In Fig. 1 sind die IT^-Blätter in der Mapping-Zone als den !w-Kapp ing-Indices im unteren Teil des SMPM zugeordnet dargestellt). Dieser Index repräsentiert die Startadresse des entsprechenden Blatts in dem ACS. Weil die Index-Werte in dem SMPM willkürlich festgesetzt und nachfolgend modifiziert werden können, kann die Startadresse für jedes Blatt in dem ACS jeden Wert annehmen. Der Unterschied zwischen der Startadresse in der Mapping-Zone und der aktuellen Adresse M, die dem System übertragen ist, besteht in einer 11-Bit-Versetzung, die zur Startadresse, π eiche vom SIlPM für das entsprechende Blatt in dem ACS abgeleitet ist, um die Adresse M1 des Speicherplatzes im ACS, zu dem zugegriffen werden soll, zu schaffen.
Gesäß Fig. 3 besteht die rechnererseugte 16-Bit-Adresse aus drai Teilen. Die vier signifikantesten Bits 12 - 15 repräsentieren die Blockzahl der Adresse M. Im gewählten Beispiel ist die Adresse M im 31ock 4- enthalten (der wiederum aus den Blättern O und 1 besteht.) Da jeder 31ock aus zwei Blättern besteht, ist ein weiteres Bit, nämlich Bit 11, in der rechnererzeugten Adresse erforderlich, um zwischen den beiden Blättern in dem Block zu unterscheiden. Ein Bit-Wert von O für das Bit 11 repräsentiert das untere Blatt der beiden im Block enthaltenen Blätter und ein Wert von 1 repräsentiert das obere Blatt. Im vorliegenden JFaIl hat Bit 11 der rechnererzeugten Adresse den Wert 1, da die Adresse Il im oberen Blatt des Blocks 4 enthalten ist. Die
509837/0929
11 in der Rangordnung geringeren Bits der rechnererzeugten Adresse repräsentieren eine Versetzung, nämlich den Unterschied zwischen der Adresse M und der Startadresse ,des entsprechenden Blatts in der Mapping-Zone. Da jedes Blatt in der Mapping-Zone nur 2k Adressen hat, sind nur 11 Bits erforderlxch, um die Versetzung zu repräsentieren.
Es muß "bestimmt werden, daß die Adresse M innerhalb der Mapping-Zone liegt. Die Technik hierfür ist die gleiche wie die, mit der festgestellt wird, daß eine Arbeitsweise in der Betriebsart "direkt" vorliegt. Die 4 Bit-Block-Zahl-, in der rechnererzeugten Adresse wird zuerst ergänzt und der ergänzte Wert wird der letzten gültigen Blockzahl durch den Summierer 45 addiert. Ist die Summe größer oder gleich 15 (in diesem EaIl 16), so ist dies ein Anzeichen, daß die Rechner-Adresse nicht zu hoch ist und ein Eingang des Gatters 46 wird erregt. Die ergänzte Blockzahl wird außerdem zur Zahl des ersten Blocks in der Mapping-Zone durch den Su?nmierer 47 addiert und wenn der Ausgang (in diesem Fall 15) kleiner oder gleich 15 ist, so ist dies ein Anzeichen, daß die Adresse M hoch genug ist, d.h. im ersten gültigen 31ock der Mapping-Zone oder einen Block darüber enthalten ist.. In einen derartigen Fall wird der zweite Eingang des Gatters 46 ebenfalls erregt, der Gatterausgang geht auf den hohen Pegel und zeigt an, daß die Betriebsart Mapping vorliegt.
Der Ausgang des Summierers 47 wird ergänzt und die 4 er- - · gänsten Bits repräsentieren einen Teil der 8-Bit-Adresse, die zum Zugriff für den SMPK erforderlich ist. Da die
509837/0929
Map-Indices in den Speicherplätzen mit den niedrigsten Adressen im SKPPI enthalten sind und da es höchstens 32 Map-Indices ge"ben kann, ist es offenbar, daß die drei signifikantesten Bits der Adresse für den Zugang zum SMPH in der Betriebsart Mapping die Form 000 haben muß. Die 4- ergänzten Bits vom Ausgang des Summierers 47 werden als Bits 1-4- der SI-IPM-Adresse verwendet. Das am wenigsten signifikante Bit, Bit 0, der1 SIiPK-Adresse, wird direkt vom Bit 11 der rechnererzeugten." Adresse K abgeleitet.
Im dargestellten Beispiel ist der Ausgang des Summierers 4-7 1111 (dezimal 15)· Wird dieser Wert ergänzt, so nehmen die Bits 1-4 der SI-IPM-Adresse den Wert 0000 an. Oa Bit 11 in der Adresse K 1 ist, nuß Bit 0 in der SKPK-Adresse auch 1 sein. Die abzuleitende oKPM-Adresse muß demnach den Wert 0C000001 haben, uc das Wort 1 (das zx^eite Wort) in dem Si-IPM zu repräsentieren, zu dem zugegriffen werden soll.
Es gilt allgemein, daß, wenn IT^ die durch die Adressen-Bits 12-15 angezeigte Blockzahl repräsentiert und wenn IT-n, die erste Kap-Blockzahl repräsentiert, dann der Ausgang des Summierers 4-7 gleich 15--i-o+Uj> ist und nach Ergänzung dieses Ausgangs die Bits 1 bis 4- der SKPM-Adresse den Wert 15- (15-ϊΓ-η+ϊΟ oder Ι\τ-,-ϊγγ. repräsentieren. Dieses ist die
- ±5 Jt* ±5 1'
relative Map-Black-Zahl innerhalb der Mapping-Zone. Durch Anhängen des U/l-Blatt-3its an diese 4~Bit-Zahl ergibt sich eine 5-Bit-Zahl zur Erkennung der 32 Blätter, d.h. für die Erkennung eines der 32 niedrigen Adressen-Speicherplätze in dem SKPM.
509837/0929
Das 16-Bit-SKPK-wbrt, derart identifiziert, repräsentiert die Startadresse des Blattes 1 in dem AGS. Dies wird in Fig. 3 durch den Pfeil angezeigt, der zu der Start-Adresse im Blatt 1 des AGS weist. Ss soll angemerkt werden, daß der Ausdruck "laufend (current)" zur Erkennung des Blattes 1 in AGS verwendet wird. Der Grund dafür ist, daß der Platz jedes Kapping-Blattes in dein AGS veränderlich ist und abhängig von dex* Startadresse, die in dem entsprechenden Speicherplatz im SFIPH gespeichert ist. Bei jeder Änderung der Startadresse ändert sich der Platz des entsprechenden AGS-31attes. Demgemäß entspricht immer dann, wenn der SIlPM in der Betriebsart Mapping betrieben wird, die 16-3it-Start-Adresse der laufenden, nicht ständigen, Start-Adresse des Blattes Λ im ACS.
Un die aktuelle Adresse M1 abzuleiten, die für den Zugriff zum AC3 verwendet wird, muß natürlich die 11-Bit-Yersetzung zu der 16-Bit-Start-Adresse addiert v/erden. Dies erfolgt durch don Sortierer 4F-, der die aktuelle Adresse Ii' für den Zugriff zu dsm AGS ableitet. (Obgleich in Pig. 3 ein £eil von Wort 1 im SEPiI zu dem Startort des laufenden ACS-Blattes 1 gezeichnet ist, hat dieser Pfeil nur symbolischen Charakter. Die einzige Anwendung des 16-Bit-Vortes, das aus dein SMPiI ausgelesen wird, besteht in der Addition au der Ί1-Bit-Versetzung im Summierer 48, um die Adresse M1 abzuleiten).
Zwei zusätzliche laufende ACS-Blätter sind in Fig. 3 dargestellt, die Blätter O und 3- Sie überdecken sich in der Darstellung. Dies bedeutet einfach, daß die Start-
509837/0929
Adresse für das Blatt 0, die in dem SMPM enthalten ist, außerdem innerhalb des AGS-Blattes 3 liegt. Umgekehrt "bedeutet dies, daß einige der Adressen K, die in den Blättern 0 und 3 des Eechner-Adressen-Heuns spezifiziert sind, aktuell zum Zugriff zu den gleichen Speicherplätzen im AG3 führen. Es soll "bemerkt --.-erden, daß die Mapping-Betriebsart von der.Direkt-Betriebsart nicht unterscheidbar ist, wenn die Map-Indices nie verändert werden und werm sie sich auf nicht überdeckende Zonen des ACS beziehen.
Die Anwendung der Mapping-Betriebsart beeinflußt Programmier-Techniken oder -Übereinkünfte nicht. Der Programmierer ist jedoch verantwortlich, sicherzustellen, daß für jede Mapping-Blatt-Rechner-Adresse, die verwendet werden kann, die Indices richtig gesetzt werden. Eine offensichtliche Anwendung für die Mapping-Betriebsart besteht darin, eine Reihe von Programmen nacheinander in den AOS einzugeben und dann lediglich durch Verändern des Map-Index ein Programm nuch der. andoron ablaufen zu lassen. In anderen Worten, die Übertragung der gleichen Adressen-Abfolge auf den erfindungsgemäßen Speicher führt zum Zugriff zu verschiedenen Befehlsfolgen in dem ACS, wenn der Map-Index für das gleiche Blatt in dem Rechner-Adressen-Raum vor der Durchführung jedes der verschiedenen Programme, die von dein ACS abgeleitet werden, geändert wird. Bei vielen Blättern kann diese Technik erweitert werden, um mehrere Programme und/oder Datenzonen zu jeder Zeit für den direkten Zugriff bereitzuhalten. Ebenso wichtig ist die Tatsache, daß ein Satz von Daten oder Befehlen, der weniger als 2k-Speicherplätze beansprucht, nicht ein ihm zugeordnetes voll-
509837/0929
_ ΆΛ _
ständiges 2k-Adressen-Blatt "benötigt. Da laufende Blätter in.des AGS überlappen können und die Start-Adresse für ein Blatt irgendxvo liegen kann, falls 2 Blätter sich überdecken, kann man sich eines der Blätter als in d^r Größe reduziert vorstellen und in diesem reduzierten Blatt kann ein Datenoder Befehlssatz, der kleiner als 2k ist, abgespeichert
v/erden.
Kapping-Techniken .in etwas eingeschränkten Versionen wurden bei verschiedenen bekannten Zentraleinheiten angewandt. Im allgemeinen sind diese Mapping-Technik en auch nicht annähernd eo flexibel x%-ie die erfindungsgemäße, noch fanden die Happing-Operationen tatsächlich im Speicher selbst statt. Trotz der Vorteile der erfindungsgemäßen Kapping-Technik
EU3 man Jedoch verstehen, daß durch Eapping kein Rechner-Adressen-Eaum eingespart werden kann. Un Zugriff zu 1Ϊ verschiedenen Speicherplätzen im ACS zu haben, ist es immer
noch erforderlich, IT Adressen su spezifizieren (wobei Jede dieser Adressen eine unterschiedliche Versetzung von der
Startadresse des gleichen Blattes hat). Die Erweiterung
des effektiven Speichers für einen begrenzten Adressenraun erfolgt, wenn das System in der Betriebsart "Stacking" wie nachstehend beschrieben, betrieben wird.
Betriebsart SIlPH
Gemäß Fig. 1 ist die SMPH-Zone, deren Größe mit 512 Adressen festgelegt ist, innerhalb von 2k-Grenzen enthalten. Im allgemeinen kann die SKPM-Zone jedes Viertel des 2k7Adressen-
509837/0929
Raums umfassen, der die 4- Stacking-Zonen (von denen jede 512 Adressen hat), enthält. Die SMPK-Zone selbst ist definiert durch 6 Bits, die seine untere 1k-Grenze repräsentieren, und durch eine Hardware-Verbindung, die nachfolgend beschrieben ist und angibt, ob die SHPM-Zone die untere oder die obere Hälfte des Ik-Adressen-Haums oberhalb der unteren Grenze umfaßt. Die SMPM-Zone überdeckt innrer eine der 4 Stacking-Zonen (in Fig. 1 die S-DO-Stacking-Zone) und sperrt die entsprechenden Stacking-iunktionen.
Jede Adresse, die auf das System übertragen wird und entweder in der Direkt-Zone oder der Mapping-Zone enthalten ist, führt zum Zugriff eines Speicherplatzes in ACS. (In der Betriebsart Mapping wird vorher der SiIPK "befragt"). In der Betriebsart SIiPIl führt jedoch der Empfang einer Adresse innerhalb der SMPM-Zone zum Zugriff au einem Speicherplatz in dem SMPM statt im AGS. Ein Wort wird vom SIiPH gelesen oder ein Wort oder Byte wird in den SMPM eingeschrieben. Obgleich der SMFM lediglich 256 Worte enthält, wie zuvor erwähnt, ist es möglich, zu einem individuellen Byte oder Wort Zugriff zu haben. Aus diesem Grunde sind 512 Adressen für die .SMPM-Zone erforderlich, um jedes von den 512-Bytes in dem SMPM erkennen zu können. Wie in Pig. 1 symbolisch dargestellt, ist die SMPM-Zozie im Rechner-Adressen-Kauzn dem gesamten SMPH zugeordnet (im Gegensatz zu der Mapping-Zone, die mit höchstens 32 Wortplätzen in dem SI-IFM verbunden ist). Der Smpfang einer SMPM-Adresse im Adressenraum wird in eine SMPM-A&resse übersetzt, die Zugriff zum SMPM ergibt, wie in Pig. 1 symbolisch dargestellt.
509837/0929
Das System kann in einer von drei verschiedenen Stacking-Betriebsarten betrieben werden (die 4-. ist gesperrt abhängig von dem Viertel der gesamten Stacking-Zone, das als SKPK-Zone ausgewählt ist). In jeder dieser Betriebsarten wird der SPiPM an einem spezifizierten Wortplatz geprüft, um ein 16-Bit-Stack-Index abzuleiten, ebenso, wie der SMPIi geprüft wird, wenn das System in der Mapping-Betriebsart arbeitet, um ein 16-Bit-Kap-Index abzuleiten. Die Stack-Indices repräsentieren Speicherplätze in dem AGS ebenso wie die Hap-Indices Startplätze für die Blätter im ACS repräsentieren. Ebenso wie die Map-Indices in dem SMPM geändert werden können, können auch die Stack-Indices im SMPM geändert werden. Wenn das System in der Betriebsart SMPM betrieben wird, können neue Daten in den SMPM eingeschrieben oder von dieses ausgelesen werden.
Arbeitet das System in der Betriebsart direkt oder Mapping, so repräsentiert die abgeMtete 16-Bit-Adresse einen Speicherplatz für ein Wort oder ein unteres Byte in dem ACS (falls die Adresse gradzahlig ist) oder einen Speicherplatz im ACS für das obere Byte eines Wortes (falls die Adresse ungradzahlig ist). Während einer Lese-Operation, definiert durch die zwei Bits auf den Steuerleitungen, wird ein 16-Bit-Wort aus dem ACS ausgelesen. Während einer Schreiboperation, ebenfalls definiert durch die beiden Bits auf den Steuerleitungen, wird ein 16-Bit-Wort in den ACS eingeschrieben (an dem Platz, dessen gradzahlige Adresse vom System abgeleitet ist) oder es wird ein Byte in den ACS eingeschrieben (bei einer durch die Steuerleitungen definierten Byte-Operation, wobei das obere oder untere Byte des spezifizierten Wortes durch das am wenigsten signifikante Bit in der abgeleiteten Adresse bestimmt wird). Wird das System
509837/0929
in der Betriebsart SMPM betrieben, so wird andererseits entweder ein 16 Bit-Wort aus dem SMPM ausgelesen und den Datenleitungen zugeführt, oder ein Wort oder Byte auf den Datenleitungen wird in den SiXIl eingeschrieben. Diese- Lese/ Schreib-Operationen, die in äe?. SI-IPM durchgeführt werden, sind die gleichen wie die, die im AGS durchgeführt werden. Der SMPM kann als eine Erweiterung des AOS gedacht x^erden, die als kleiner Speicher mit direktem Zugriff benutzt werden kann und die zusätzlich die mit· den Betriebsarten Mapping und Stacking verbundenen Indexfunktionen ausführen kann.
Da die hauptsächliche Punktion des SMPM ist, Indices darzustellen, kann man annehmen, daß die einzigen Operationen, die in der Betriebsart SMPM gefordert wurden, darin beständen, 16-Bit-Indices einzuschreiben. Da jedoch der SMPM ein in sich abgeschlossener Speicher ist, kann er für alle möglichen Lese/Schreib-Operationen verwendet werden. Daher ist es zusätzlich zum Einschreiben von 16-Bit-Worten in den StIPH bei Betrieb des Systems in der Betriebsart SMPM auch möglich, 8-Bit-Bytes zu schreiben oder 16-Bit-Worte zu lesen. Der Teil des SMPM, der für Map- oder Stack-Indices nicht erforderlich ist, kann beispielsweise der Aufnahne eines häufig benutzten kleinen Programmes dienen. In manchen Fällen kann dies den Speicherzugriff beträchtlich beschleunigen und die Yerarbeitungsgeschwindigkeit erhöhen, da der SMPM ein Hochgeschwindigkeitsspeicher ist. (Ein Hochgeschwindigkeitsspeicher deshalb, weil im. Mapping- und Stacking-Betrieb ein Index aus dem SMPM gelesen und eine ' Adresse für den Zugriff zu des ACS abgeleitet werden muß, zusätzlich zur Durchführung der spezifizierten Lese- oder
509837/0929
Sehreib-Funktion im ACS, und zwar alle.8 innerhalb e-ines einzigen Speicherzyklus. Ist Geschwindigkeit nicht -von Bedeutung, so kann der ESNEIl tatsächlich ein 256-Wort-Äbschnitt des AGS sein).
Fig. 4 zeigt die Art, in der eine Adresse SMPM in der SMPM-Zone in eine Adresse SMPM1 übersetzt wird, um Zugriff zu dem SMPM zu erzielen. Wie vorstehend beschrieben» enthält das Befehlswort 6 Bits, die eine ik-G-renze definieren. Die 512 Adressen SHPM-Zone ist zwischen dieser 1k-Grenze und der direkt darüber liegenden 1k-Grenze enthalten. (Da, wie in den Fig. 1 und 3 gezeigt, ein Blatt 2k umfaßt, besteht die SMPM-Zone aus einem viertel Blatt). Die untere 1k-Grenze für die SMPM-Zone wird durch die 6 signifikantesten Bits der rechnererzeugten Adresse beschrieben. In dem in Fig. 4 dargestellten Beispiel ist die untere Grenze für die SMPM-Zone 40k. Die Vergleichslogik 50 vergleicht die 6-Bit-Untergrenze, die durch das Befehlswort definiert ist, mit der 6-Bit-Greiise, die durch den oberen OJeil der rechnererzeugten Adresse definiert ist, um eine Übereinstimmung zu erkennen. Ergibt sich diese nicht, so ist dies ein Anzeichen, daß das System in der Betriebsart SMPM betrieben werden muß. Es soll jedoch daran erinnert werden, daß die SMPM-Zone in der oberen oder unteren Fälfte des 1k-Adressen-Raums definiert durch die untere Grenze sein kann. Eine Hardware-Terb^ndungsmoglichkeit, in Fig. 4 symbolisch dargestellt, definiert, ob die SMPM-Zone in der oberen oder unteren Hälfte (Yiertelblatt) des 1k-Adressen-Kaums definiert durch die untere Grenze liegt. Bit 9 (U/L QP) der rechnererzeugten Adresse wird durch die Ver-
509837/0929
gleichslogik 50 geprüft, um festzustellen, ob die rechnererzeugte Adresse innerhalb der oberen oder unteren Hälfte des Ik-Adressenraums, der durch die Hardware -Verbindung definiert ist, enthalten ist. Die "untere" Option entspricht einem Bit-Wert von 0 und die "obere" Option entspricht einem Bitwert von 1. Erkennt die Vergleichslogik, daß die empfangene Adresse in der richtigen Hälfte des Ik-Adressenraums entsprechend der SMPM-Startgrenze liegt, so zeigt der Ausgang der Vergleichslogik an, daß das System in der SMPM-Betriebsart arbeiten sollte. (Eine dritte Option ist nachfolgend in der Einzelbeschreibung gegeben, ihr Verständnis ist jedoch für den vorliegenden Zweck nicht notwendig).
Die Bits 1-8 in der rechnererzeugten Adresse definieren einen der 256-Wort-Speicherplätze in dem SMPM, und Bit 0 definiert eines der beiden Bydes in dem Wort, ebenso wie das am wenigsten bedeutende Bit in jeder Adresse für den Zugriff zum ACS eines der beiden Bytes in dem Wort, das durch die anderen 15 Adressen-Bits gegeben ist, bezeichnet. Ob ein Wort aus dem SMPM ausgelesen und den Datenleitungen zugeführt wird oder ob ein Wort oder Byte von den Datenleitungen in den SMPM eingeschrieben werden soll, hängt vom Zustand der beiden Steuerleitungen ab. Soll eine Byte-Schreiboperation stattfinden, so kann Bit O in der rechnererzeugten Adresse entweder eine 0 oder eine 1 sein. Soll eine Wort-Operation (lesen oder schreiben) durchgeführt werden, dann ist Bit 0 in der rechnererzeugten Adresse eine 0.
509837/0929
- 57 - -
Betriebsart Stacking
Der Ausdruck (Stacking) betrifft den sequentiellen Zugriff zu den Inhalten einer Reihe von Speicherplätzen in einem Pufferspeicher. Es gibt sowohl ansteigende als auch absteigende Stack-Formen· Im ersteren ffall kann ein Stacks-Index den nächstzubenutzenden Speicherplatz betreffen und automatisch nach jedem· Zugriff anwachsen. Bei einem absteigenden Stack kann der Index den zuletzt benutzten Speicherplatz betreffen und vor jedem Zugriff abnehmen. In dem bekannten Technik wurden Stack-Manipulationen innerhalb der Zentraleinheit durchgeführt. Bei dem erfindungsgemäßen Speicher wird jedoch das Stacking innerhalb der Speicher-Hardware durchgeführt. Kennzeichnend dabei ist, daß eine Einzeladresse im Adressenraum, die zum Speicher übertragen ist, den Zugriff zu Worten in einem Pufferspeicher jeder Größe steuern kann, sogar zu einem Puffer, der die volle 64-k-Kapazität des ACS -umfaßt. ' -
Der SMPM kann bis zu 256 verschiedene Stack-Indices' enthalten. Jede Adresse innerhalb der Stacking-Zone führt zum Zugriff zu einem Stack-Index. Dieser Stack-Index wird verwendet, um Zugriff zu einem bestimmten Platz in dem ACS zum Lesen oder zum Schreiben - zu haben· Das System kann in vier verschiedenen Stacking-Betriebsarten betrieben werden. Die Unterschiede zwischen den Betriebsarten beziehen sich darauf, ob der Stack-Index, zu dem im SMPM Zugriff erlangt werden soll, angewachsen ist oder abgenommen hat, und, „enn es 33 ist, ob er anwächst oder abnimmt. Darüber hinaus kann für jede dei* drei operativen Stacking-Betriebsarten eine Wort-Operation oder eine Byqfe-Operation durchgeführt werden. Die Art, in der das System angewiesen wird,
509837/0929
in welcher Stacking-Betriebsart es arbeiten soll, und ob eine Wort- oder eine Byde-Operation stattfinden soll, wird durch Übertragung von 6 verschiedenen Adressen für die Erkennung des gleichen Platzes im SMPM gesteuert. Während alle 6 Adressen den gleichen Stack-Index im SMPM identifizieren, hängt das, was mit dem Stack-Index geschieht, von derjenigen der 6 Adressen ab, die empfangen ist. Ms soll auch daran erinnert werden, daß jedes Adressenpaar in dem SMPM-Zone zu dem gleichen entsprechenden Speicherplatz im SMPM zugreift (wobei das Bit niedriger Ordnung in der rechnererzeugten Adresse dazu dient, im Fall einer Schreiboperation das untere oder das obere Byte zu erkennen.) Folglich gibt es tatsächlich 8 verschiedene Adressen, die Zugriff zu dem gleichen Platz im SMPM gestatten. Genau wie die SMPM-Zone in Fig. 1 als mit dein gesamten SMPM verbunden dargestellt ist, ist auch die Stacking-Zone als mit dem gesamten SMPM verbunden dargestellt.
Die gesamte SMPM- und Stacking-Zone in dem Adressenraum hat eine Länge von 2k und liegt innerhalb von 2k-Grenzen. Gemäß dem Beispiel in Fig. 1 ist die niedrigste 5'12-Adressen-Gruppe innerhalb der 2k Stacking-Zone die SMPM-Zone (wobei die S-DC-Funktion gesperrt ist). Aufeinanderfolgende gradzahlige und ungradzahlige Adressen innerhalb der SMPM-Zone steuern eine SMPM-Betriebsart-Operation in Bezug auf den gleichen Speicherplatz in dem SMPM» Aufeinanderfolgende gradzahlige und ungradzahlige Adressen in der S-I-Zone steuern einen Zugriff zu dem gleichen Platz in dem SKPM und veranlassen das System, in der Betriebsart "automatischer Zuwachs" zu arbeiten. Ähnliche Anmerkungen, gelten für
509837/0929
■ - 39 -
aufeinanderfolgende gradzahlige und ungradzahlige Adressen in jeder der Zonen S-D und S-AC. Die entsprechenden Betriebsarten sind "bekannt als "automatische Abnahme" und "ansteigender Stack-Gheck". (Die gesperrte Stacking-Betriebsart im Beispiel nach Pig* 1 ist nachfolgend mit "fallender Stack-Check" bezeichnet.) Abhängig davon, welche der beiden Adressen in jeder der vier Zonen spezifiziert ist, (für den gleichen Zugriff zum SjMPM) findet eine Bjae- oder eine Wort-Operation statt.
Es ist offenbar, daß die 8 verschiedenen Adressen, die den Zugriff zum gleichen SMPM-Platz steuern, in 13-Bit-Positionen identisch sind. Zwei der drei anderen Adressen-Bits definieren eine der vier entsprechenden Zonen in der gesamten SMPM- und Stacking-Zone, um so eine der vier Betriebsarten zu erkennen, in denen das System arbeiten soll» Das dritte Bit steuert entweder eine Byde-Operation oder eine Wort-Operation.
Das Leitwort (nachstehend beschrieben) enthält 6 Bits, die eine 1k-Grenze definieren. (Die SMPM-Zone befindet sich in der oberen oder unteren Hälfte des 1k~Adressenraumes oberhalb dieser Grenze abhängig von der äußeren Verbindung). Mur 5 Bits sind erforderlich,- um eine 2k-Grenze als Startplatz für die gesamte 2k-SMPM- und Stacking-Zone zu definieren. Ist daher die 1k-Grenze für die SMPM-Zone, die durch die 6 Bits in dem Leitwort definiert ist, gradzahl ig, so ist diese Grenze ein Vielfaches von 2k und die SMPM-Zone befindet sich in der unteren Hälfte der gesamten 2k-SMPM- und Stacking-Zone. Ist andererseits die durch die 6 Bits des Leitwortes definierte 1k-Grenze ungradzählig,
509837/0929
so ist die nächstniedrigere 1k-Grenze (die ebenfalls eine 2k-Grenze ist) als Start für die gesamte 2k-SMPM- und Staeking-Zone identifiziert und die SMPM-Zone befindet sich in der oberen Hälfte des 2k-Adressenraumes.
Im üblichen Pail befindet sich die SMPM-Zone in der unteren Hälfte des gesamten 2k-Adressenraumes und die Hardware-Verbindung ist so geschaltet, daß sie die "untere" Option auswählt. Der Grund für die Abweichung von dieser Praxis wird nachfolgend beschrieben, für den Moment soll jedoch angenommen werden, daß die SMPM-Zone an einer 2k-Grenze beginnt.
Die 5 signifikantesten Bits in der rechnererzeugten Adresse repräsentieren einen 2k-Block und die Vergleichslogik 52 (S1Ig. 5) stellt fest, ob dieser Block die SMPM-1k-Startgrenze enthält, indem sie den Wert der 5 oberen Bits in dem 6-Bit-LeiWort mit den Adressen - Bits 11 - 15 vergleicht. Sind die Bits gleich, so ist dies eine Anzeige dafür, daß eine Stacking- oder SMPM-Betriebsart stattfinden sollte.
Die beiden Adressen innerhalb jeder der 512-Adressen-Gruppen in der SMPM- und Stacking-Zone, die dem gleichen Speicherplatz in dem SMPM zugeordnet sind, werden durch 512 Adressen voneinander getrennt. Da die Bits 0 bis 8 der rechnererzeugten Adresse einen von 512 Werten definieren, ist es offenbar, daß die Bits 9 und 10 der Adresse bestimmen, in welchem der 4 Viertel der Stacking-Zone die durch die anderen 14 Bits definierte Adresse sich befindet. Da nur 8 Bits erforderlich sind, um einen der SMPM-Vortplätze zu beschreiben,
509837/0929
werden die Bits 1 "bis 8 dazu "benutzt, eine Wortadresse für den SMPM zu definieren. Aufeinanderfolgende gradzahlige und ungradzahlige Adressen innerhalb jeder der 4- Zonen in der gesamten SMPM- und Stacking-Zone haben identische Bits in den Positionen 1-8 und folglich steuern aufeinanderfolgende Adressen den Zugriff zu dem gleichen SMPM-Platz. Das Bit niedriger Ordnung in der rechnererzeugten Adresse wird zu der Bestimmung verwendet, ob eine Vort- oder Byte-Operation stattfinden soll. Eine O steht für eine Wort-Operation und eine 1 für eine Byte-Operation.
Die Bits O, 9 und 10 der rechnererzeugten Adresse werden logischen Schaltungen, die in Fig. 5 mit "Stacking-Steuerung" bezeichnet sind, zugeführt. Das Wort, das aus dem SMPM herausgelesen wird, wird zu einem Eingang des 16-Bit-Summierers 53 geführt. Die Stacking-Steuerlogik kann den aus dem SMPM ausgelesenen Index so steuern, daß er anwächst oder abnimmt, und zwar um den Wert 1 oder 2. Die Stacking-Control-Logik veranlaßt auch, daß der modifizierte Index in den SMPM an den gleichen Platz wieder eingeschrieben wird, aus dem obr Original-Index ausgelesen wurde. Der 16-Bit-Index (in manchen Fällen modifiziert, in anderen nicht), der aus dem SMPM wieder herausgelesen wurde, ist die ACS-Adresse, die verwendet wird, wenn das System in einem der drei operativen Stacking-Betriebsarten betrieben wird. Schalter 55 ist lediglich symbolisch und soll zeigen, daß die ACS-Adresse direkt von dem SMPM (vor der Modifikation) abgeleitet werden kann oder von dem Summierer, nachdem der SMPM-Indexwert modifiziert ist, abhängig von der bestimmten Stacking-Betriebsart, in der das System betrieben wird.
509837/0929
. - 42 -
Eepräsentieren die drei Betriebsarten-Bits 2, 1 und O (Adressen-Bits 10, 9 und O) in der rechnererzeugten Adresse einen 000 oder 001 Code, dann arbeitet das System in der SMPM-Betriebsart (weil in dem ausgewählten Beispiel die SMPM-Zone die S-DC-Zone überdeckt), und aus dem ST-IPM wird ein Wort ausgelesen und den Datenleitungen zugeführt, oder ein Wort oder Byte auf den Datenleitungen wird in den SMPM eingeschrieben. In einem derartigen Fall arbeitet der Summierer 53 nicht noch findet irgendeine Operation in dem ACS statt. Hur wenn die drei Betriebsarten-Bits eine der anderen 6 Kombinationen repräsentieren, wird der Summierer 53 verwendet und in den ACS wird ein Wort eingeschrieben bzw. aus dem ACS herausgelesen. Abhängig davon, welche der drei Stacking-Funktionen auftritt, wie nachstehend genauer beschrieben ist, kann eine Index-Auslesung aus dem SMPM dem ACS entweder vor oder nach seiner Änderung durch den Summierer zugeführt und in den SMPM wieder eingeschrieben werden.
Fig. 1 zeigt symbolisch die Art, in der zu Speicherplätzen in zwei ACS-Puffern A und B (von unterschiedlicher länge) zugegriffen wird, wenn eine Operation in einer der vier Stacking-Betriebsarten durchgeführt wird. Es gibt keine vorgegebene Zahl von Pufferzonen noch hat eine Pufferzone eine vorgegebene Größe. Jeder Stack-Index in dem SMPM identifiziert eines der 64-k-Bytes in dem ACS. Fällt eine dem
Xl
System übertragene Adresse in eine der vier Stacking-Zonen, so wird das entsprechende Wort aus dem SPiPM herausgelesen und entsprechend den drei Betriebsarten-Bits in der empfangenen Adresse verarbeitet. Das aus dem SMPM gelesene Wort kann modifiziert und im SMPM rückgespeichert werden, und es kann vor oder nach der Benutzung des Wortes als Adresse
509837/0929
für den Zugriff zum ACS modifiziert werden. Hat jedoch ein Stack-Index im SMPM kontinuierlich zugenommen oder abgenommen, so ist alles, was passiert, das, daß das ACS-Vort oder -Byte, das durch jeden Stack-Index identifiziert ist, sich weiter ändert. In dieser Art können aufeinanderfolgende Zeichen einer langen Nachricht in der Seihenfolge im ACS gespeichert werden, sogar dann, wenn die gleiche Adresse ständig dem System zugeführt wird* Die aufeinanderfolgenden Zeichen können in einem einzelnen Puffer abgespeichert werden und die Größe des Puffers hängt einfach davon ab, wie viele Male zu dem ACS zugegriffen wird. Ein Puffer kann an jeder Stelle in dem ACS beginnen, abhängig von dem Wert des entsprechenden Stack-Indexes, wenn dieser zuerst in den SMPM eingebracht wurde (während das System in der SMPM-Betriebsart arbeitet). Die Stack-Indices sind vollständig voneinander und von den. Map-Indices unabhängig. Die Stack-Indices können sich auf unabhängige^ überdeckende oder identische Pufferzonen innerhalb des ACS beziehen.
6 zeigt die vier Stacking-Zonen innerhalb des 64k-Rechner-Adressen-Raumes, wobei die SMPM-Zone Vorrang gegenüber der S-DC-Zone hat. Die Zeichnung erleichtert das Verständnis der .Α t, in der zu jedem Platz des SMPM durch 8 verschiedene Adressen in der gesamten 2k-SMPM- und Stacking-Zone des Rechner-Adressen-Raums zugegriffen werden kann, wie auch der Punktionen, die in den vier Betriebsarten durchgeführt werden. Es soll daran erinnert werden, daß im üblichen Pail die SMPM-Zone direkt oberhalb einer 2k-Grenze liegt. Daher ist die Adresse A in Fig. 6 ein Vielfaches von 2k. Jede der SMPM-, S-I, S-D und S-AC-Zonen, die, in Pig. 6 dargestellt sind, enthält 512 Adressen. Der SMPM ist mit
509837/0929
256 Speicherplätzen dargestellt, von denen der eine als einen Stack-Index η enthaltend dargestellt ist. Zwei der 512 Adressen in «jeder der vier Zonen identifiziert den gleichen Speicherplatz η in dem STiPM. Die Adressen A+2n und A+2n+l in der SMPM-Zone steuern einen Zugriff zum Speicherplatz η (O ^ η S 255) ■ in dem SHPM, und die anderen Adressenpaare in den anderen drei Zonen, die einen Zugriff zu dem gleichen Stack-Index η steuern, sind voneinander durch 512 Adressen getrennt.
Gemäß Fig. 5 identifizieren die Bits 11-15 in der rechnererzeugten Adresse den 2k-Block, der den SIlPM und die Stacking-Zonen enthält. Daher identifizieren die Bits 11-15 die Adresse A in Fig. 6. Die Bits 1-8 definieren eine Versetzung von einer 512-Adressen-G-renze und die Bits 9-10 identifizieren die 4- Paare von Adressen, die den 4· Stacking-Betriebsarten, die in Fig. 6 dargestellt sind, entsprechen. Bit O der rechnererzeugten Adresse identifiziert entweder die untere oder die obere von zwei Adressen in jeder Zone. Die Bits 9 und 10 definieren eine von vier Betriebsarten (entsprechend einer der vier Zonen), und Bit 0 der Adresse repräsentiert entweder eine Wort- oder eine Byte-Operation.
Venn die Bits 9 und 10 beide 0 sind, findet normalerweise eine Operation in der Betriebsart S-DC statt. Im gewählten Beispiel findet gedoch eine Operation in der SMPM-Betriebsart statt, da die SMPM-Zone so ausgelegt ist, daß sb die S-DC-Zone überdeckt. In einem solchen Fall steuert die Übertragung der Adresse A+2n oder A+2n+1 zu dem System das Lesen eines Wortes aus dem SMPM und seine Zuführung zu den
509837/0929
Datenleitungen oder das Schreiben eines Wortes oder Bytes, das sich auf den 16 Datenleitungen in dem SMPM "befindet. Im Falle einer Byte-Schreiboperation, identifiziert Bit O in der rechnererzeugten Adresse entweder das obere oder das untere Byte im Platz η des SMPM. Die Adresse A+2n steuert einen Zugriff zu dem gesamten SMPM-Wort im Fall einer Wort-Schreiboperation oder zu dem unteren Byte im Fall einer Byte-Schreiboperation. Die Adresse A+2n+1 steuert das Einschreiben von 8 Bits im oberen Byte des Wortes η des SMPM im Falle einer Byte-Schreiboperation.
Ist eine der beiden Adressen in der S-I-Zone, wie in Fig. 6 dargestellt, spezifiziert, so arbeitet das System in der Stacking-Betriebsart mit automatischer Zunahme. In einem solchen Fall wird der Stack-Index η für den direkten Zugriff zu dem ACS verwendet. Der Index nimmt dann zu und wird v/ieder in den SHPM gespeichert. Der Index kann jedoch entweder um 1 oder 2 zunehmen. Welche Zunahme benutzt wird, hängt davon ab, welcher der Adressen A+2n+5i2 oder A+2n+513 spezifiziert ist. Der AOS enthält 8-Bit-Speicherplätze. Wird ein Speicherplatz in dem ACS mit einer ungradzahligen Adresse angesprochen, so ist eine Byte-Operation erforderlich. Wird andererseits ein Speicherplatz mit einer gradzahligen Adresse identifiziert, so kann entweder eine Wort- oder eine Byte-Operation stattfinden (abhängig von den Steuerleitungssignalen). Werden Daten in einem Puffer gespeichert oder aus diesem ausgelesen, so wird dies entweder durch aufeinanderfolgende Wort- oder aufeinanderfolgende Byte-Operationen durchgeführt. Mit anderen Worten, es wird zu aufeinanderfolgenden Bytes (in diesem Fall differieren aufeinanderfolgende ACS-Adressen
509837/0929
um 1) oder zu aufeinanderfolgenden Worten (in diesem Fall differieren aufeinanderfolgende ACS-Adressen um 2) zugegriffen* Bei der Stacking-Betriebsart mit automatischer Zunahme nimmt, wenn eine gradzahlige Adresse wie z«B. A+2n+512 dem System zugeführt wird, nach dem Zugriff zu dem durch den Stack-Index identifizierten ACS-Speicherplatz erzielt wurde, der Index um 2 zu j so daß bei der nächsten Übertragung der gleichen Adresse Zugang zu dem nächsten Wort in dem ACS erzielt wird. Eine gradzahlige Adresse in der S-I-Zone wird dem System immer dann übertragen, wenn ein ansteigender Wort-Stack erforderlich ist. Wird andererseits eine ungradzahlige Adresse zu dem System übertragen, so nimmt der Stack-Index in dem SMPK um 1 zu. Wird die gleiche Adresse das nächste Mal empfangen, so wird das nächstfolgende Byte in dem ACS verarbeitet. Somit steuern ungradzahlige Adressen in der S-I-Zone ansteigende Byte-Stacks und gradzahlige Adressen steuern ansteigende Wort-Stacks.
Betriebsarten-Bits 2 und 1 (Adressen-Bits 10 und 9) gemäß Jig. 5 suchen eine Adresse in der S-I-Zone unter Ausschluß der anderen drei Zonen, die in Fig. 6 dargestellt sind, wenn ein O1-Code repräsent-iert ist. Wie in Fig· 5 in der Code-Tabelle neben der Stacking-Steuerung.dargestellt ist, arbeitet das System in der Stacking-Betriebsart mit automatischer Zunahme (S-I), wenn die Betriebsarten-Bits 2 und 1 einen 01-Code repräsentieren. Ist Betriebsarten-Bit 0 eine 0, so nimmt der Stack-Index um 2 zu (um einen anwachsenden Wort-Stack zu steuern), nachdem Zugriff zu dem ACS erzielt ist, und ist das Betriebsarten-Bit 0 eine 1, so nimmt der Stack-Index um 1 zu (um einen ansteigenden Byte-Stack zu steuern), nachdem Zugriff zu dem ACS erzielt ist.
509837/0929
Es ist somit offenbar, daß aufeinanderfolgende Worte oder Bytes, die von einer Zentraleinheit den Datenleitungen zugeführt werden, in his zu 3?k aufeinanderfolgenden Wort-Speicherplätzen oder 64-k aufeinanderfolgenden Byte-Speicherplätzen gespeichert werden können, ohne die Adresse zu ändern, die an den Adressenleitungen erscheint.
Repräsentieren die Betriehsartenbits 2 und 1 (Adressen-Bits 10 und 9) den Code 10, so ist jede Adresse in der gesamten 2k-Stacking-Zone notwendigerweise in der S-D-Zone enthalten. Wird eine Adresse dieser Zone spezifiziert (vorausgesetzt, sie ist nicht durch die SMPM-Zone überdeckt), so arbeitet das System in der Stacking-Betriebsart mit automatischer Abnahme (S-D). Die Operationen sind denen bei der Stacking-Betriebsart mit automatischer Zunahme ähnlich mit der Ausnahme, daß der Stack-Index in dem SMPH abnimmt statt zunimmt und daß der modifizierte Wert für den Zugriff sum ACS benutzt wird. Wird eine gradzahlige Adresse wie A+2n+1024 spezifiziert, so nimmt der Stack-Index η zunächst um 2 ab und der so verringerte Wert wird für den Zugriff zu einem Wort in dem ACS benutzt. Der verminderte Index wird in den SMPM rückgespeichert. Wird eine ungradzahlige Adresse wie zum Beispiel. A+2n+1025 spezifiziert, so nimmt der Stack-Index um 1 ab und es wird danach zu einem Byte in dem ACS zugegriffen, wonach jder verringerte Index-Wert in dem SMPM rückgespeichert wird. Die beiden Codes für die Stacking-Betriebsart mit automatischer Abnahme sind in 3?ig« 5 dargestellt, wobei der Wert des Betriebsarten-Bit 0 wieder die Verarbeitung entweder von Wort-Stacks oder von Byte-Stacks steuert.
509837/0929
Im Falle eines ansteigenden Stacks dient der aus dem SMPM ausgelesene Index zum Zugriff zu dem ACS, bevor er zunimmt. Bezogen auf Fig. 5 dient daher der aus dem SMPM ausgelesene Index als ACS-Adresse. (Es soll angenommen werden, der Schalter 55 befände sich in der unteren Position). Der Index passiert außerdem den Summierer 53j indem er um 1 oder 2 erhöht wird, und wird dann in dem SMPM rückgespeichert. Im Fall eines abfallenden Stacks wird der aus dem SMPM ausgelesene Index vor dem Zugriff zu dem ACS verringert. Semit wird der aus dem SMFM ausgelesene Index zuerst einem Eingang &s SuffiEierers, in den er um 1 oder 2 verringert wird, zugeführt, dann wieder- in den SHPH rückgespeichert und zum Zugriff su dem AOS verwendet. (Schal- ■ ter 55 soll dabei in der oberen Position sein).
Die Betriebsart mit automatischem Zuwachs wird beim lesen oder Schreiben in Bezug auf einen ansteigenden Stack oder für das Lesen "bei einem abfallendes Stack in umgekehrter Folge verwendet« In gleicherweise wird die Betriebsart mit automatischer Abnahme für aas Lesen oder Schreiben in Bezug auf einen abfallenden Stack verwendet oder für das Lesen bei einem ansteigenden Stack in umgekehrter Ordnung. In jedem Fall kann eine aufeinanderfolgende Serie von Daten- ' einheiten entweder in Byte- oder in Wort-Form in einen Puffer beliebiger Länge eingegeben oder.von diesem entnommen werden. Für jeden Stack werden lediglieh S Adressen im echner-Adressen-Raum verbraucht. Bis zu 256 Stacks können zu gsder Zeit in einem einzigen System aktiv sein und es . kann insgesamt zu 64k-Bytes zugegriffen werden, während lediglich 2k-Programm-Adressen verbraucht werden,. Der "Gewinn" ist daher ein Faktor 32. Durch "Verbindung von bis zu
509837/0929
32 erfindungsgemäßen Speichern mit dem gleichen Bus-System, wobei eine unterschiedliche 2k-Zone des gesamten 641c Adressenraums den SMPM- und Stacking-Zonen in jedem System zugeordnet ist, kann Zugriff zu einem Maximum von 64k χ 32 oder 2 Megabytes erzielt werden.
Repräsentieren die Betriebsarten-Bits 2 und 1 einen 11-Code, so fällt eine Adresse, die sonst in der gesamten 2k-Stacking-Zone liegt, in die S-AC-Zone. In dieser Betriebsart wird der erkannte Stack-Index verringert und der verringerte Wert wird dann für den Zugriff zu dem ACS verwendet. Der ursprüngliche Index-Wert bleibt jedoch am Ende der Operation in dem SMPM. Wieder bestimmt der Wert des Betriebsarten-Bit O, ob eine Byte-Stack- oder eine Wort-Stack-Operation durchgeführt wird. Hat das Betriebsarten-Bit 0 den Wert 0, so wird der Wert um 2 verringert und dann für den Zugriff zum ACS verwendet. Hat das Betriebsarten-Bit den Wert 1, so wird der Index-Wert um 1 verringert und dann für den Zugriff zu einem Byte im ACS verwendet. Eine Operation in der ansteigenden Stack-Check (S-AC) Betriebsart gestattet einen Zugriff zu der neuesten Eingabe in einem ansteigenden Wortoder Byte-Stack, worauf der Stack so gesteuert werden kann, daß er weiter ansteigt, indem Adressen innerhalb der S-I-Zone spezifiziert werden. In dieser Weise kann Zugriff zur neuesten Eingabe in einen ansteigenden Stack erzielt werden, ohne daß der entsprechende Index am Ende der Operation einen Wert haben muß, der sich von seinem Wert zu Beginn der Operation unterscheidet.
Überdeckt die SMPM-Zone eine der S-I, S-D oder S-AC-Zonen statt, wie in dem gewählten Beispiel die S-DC-Zone, so kann,
509837/0929
wenn die Betriebsarten-Bits 2 und 1 einen OO-Code repräsentieren, eine Adresse, die sonst innerhalb der gesamten 2k-Stacking-Zone liegt, in die S-DG-Zone fallen. In einem solchen Fall wird der identifizierte Stack-Index in dem SMPM nicht verändert und zum Zugriff zu dem AGS benutzt. (Der Wert des Betriebsarten-Bit 0 bestimmt wieder, ob eine Byte-Stack- oder eine Vort-Stack-Operation durchgeführt wird). Da der Stack-Index für einen abfallenden Stack immer den letzten ACS-Speicherplatz anzeigt, zu dem Zugriff erzielt wurde, gestattet ein Betrieb des Systems in der abfallenden Stack-Check-Betriebsart einen Zugriff zu dem letzten Speicherplatz, zu dem ohne Änderung des Indexwertes Zugriff erzielt wurde.
Die Anwendung der Stacking-Betriebsarten ist sehr vorteilhaft, wenn aufeinanderfolgende Zeichen einer Nachricht verarbeitet werden müssen. Es gibt jedoch Zeiten, in denen Zugriff zu einem Wort oder Byte, das nicht an der Spitze eines ansteigenden Stacks oder am Boden eines abfallenden Stacks liegt, gefordert werden kann. Um Zugriff zu einem Wort oder Byte in der Mitte eines Stacks hei Betrieb des Systems In der Stacking-Betriebsart zu erlangen, muß der entsprechende Indexwert kontinuierlich erhöht oder verringert werden und dies kann viele Speicherzyclen erfordern, abhängig davon, wieweit der gewünschte Einzelwert vom Ende eines Stacks entfernt ist. Jedoch kann in solchen !Fällen, in denen sofortiger Zugriff zu jedem Wort oder Byte in einem Stack gewünscht ist, ein Map-Index gesetzt werden, um den entsprechenden Puffer anzuzeigen. In dieser Art kann jeder Einzeldatenwert in einem einzigen Speicherayclus durch Betreiben des Systems in der Mapping-Betriebsart erreicht werden.
509837/0929
Bei der Programmierung eines Rechners, der in Verbindung mit dem erfindungsgemäßen Speicher arbeitet, soll daran erinnert werden, daß die Eingabe oder Entnahme einer Folge von Einzeldaten in oder aus einem Stack nur eine einzige Rechner-Adresse erfordert. Dies muß konventionellen Systemen gegenübergestellt werden, die eine Programmierung sur Steuerung der Abnahme oder Zunahme einer Rechner-Adresse vor oder nach jedem Speicherzugriff erfordert. Durch die, Bereitstellung von Hardware-Funktionen in dem erfindungsgemäßen Speicher ergibt sich nicht nur eine Einsparung iroa, Eechner-Adressen-Raum, sondern es entfällt auök die Notwendigkeit; Programme zu schreiben, die die Zunahm© oder Abnahme vob. Speicher-Adressen vor oder nach federn Sagriff steuern« Um einen ansteigenden Stack auszubilden, ist es lediglich aotwenig, zu Anfang den Wortspeicherplats η in des SMPH mit der Adresse des ersten Speicherplatzes in dem zu benutzen™ den AGS-Puffer zu setzen. Dies wird durch einen Betrieb des Systems in der SMPM-Betriebsart bewirkt und durch die Übertragung einer Adresse A+2n zu de;-i Sy at era gleichzeitig mit der Eingabe des Indexwertes zu den Datenieitungen. Mit dam in dieser Art in der SMPM-Betriebsart betriebenen System wird der Stack-Index-Wert in einem "Wort-Speicherplatz η des SMPM gespeichert. Einzeldaten können dann sequentiell in ansteigender Ordnung erreicht werden, in dem die gleichen Adressen A+2n+512 oder A+2n+513 für Vort- bzw. Byte-Stacks verwendet werden. Jeder Zugriff resultiert in einer Zunahme des Indexes um 2 bzw. 1· Einzeldaten können auch, in umgekehrter Ordnung erreicht werden, nachdem der Puffer existiert, und zwar durch Anwendung der gleichen Adressen A+2n+1024 oder A+2n+1025· Im Pail eines ansteigenden Stacks zeigt der Stack-Index immer den nächsten Speicherplatz an, der benutzt werden kann. Ein abfallender Stack kann in glei-
509837/0929
eher Veise erzeugt werden, xvenn die gleichen Adressen A+2n+1024 oder A+2n+1025 verwendet werden. In diesem Fall -"bezieht sich ein Stack-Index immer auf den zuletzt verwendeten Speicherplatz. Zugriff zu einem abfallenden Stack in umgekehrter Ordnung kann durch Umschalten auf die Adressen A+2n+512 oder A+2n+513 erreicht werden.
Da es oftmals erwünscht ist, eine Möglichkeit für den Zugriff zu der neuesten Eingabe in einem ansteigenden oder abfallenden Stack zu schaffen, ohne dauernd den Index zu modifizieren, ist das System so ausgelegt, daß es auch in der ansteigenden Stack-Cheek-Betriebsart und in der abfallenden Stack-Check-Betriebsart arbeitet. Da diese Betriebsarten gewöhnlich weniger bedeuterdals die beiden anderen sind, wird üblicherweise eine Auslegung getroffen, bei der die SMPM-Zone eine der Gheck-Zonen überlagert, wobei in diesem Fall eine der beiden unwichtigsten Funktionen verlorengeht.
Bei der Programmierung eines Rechners, der zusammen mit dem erfindungsgemäßen Speicher.verwendet wird, sollten im üblichen Fall unterschiedliche Speicherplätze in dem SZIBIi für die Speicherung von Stack- und Kap-Indices verwendet werden. Die beiden Indexarten repräsentieren unterschiedliche Information. Gibt es daher beispielsweise 6 Map-Indices, so sollten die untersten 12 Adressen in jeder Stacking-Zone nicht für den Zugriff zu Puffern in dem AGS verwendet werden. Geschieht das5 so wird zu jeder Zeit Zugriff zu einem Puffer erzielt und sein entsprechender Stack-Index wird geändert, der AnfangsSpeicherplatz für eines derACS-Map-Blätter ändert sich und das System arbeitet in der Mapping-
5098 3 7/0929
Betriebsart nicht richtig, wenn die Rechner-Software dies nicht in Betracht zieht.
Wie nachstehend beschrieben, ist es möglich, das System für den Betrieb in den Stacking-Betriebsarten zu sperren. (Das Leitwort enthält ein Bit für die selektive Sperrung aller Stacking-Funktionen, falls erforderlich). Die SiSPM Betriebsart ist jedoch durch das Stacking-Bit in dem Leitwort nicht gesperrt. Das System muß in der Lage sein, in dieser Betriebsart zu arbeiten, wenn es auch in der Mapping-Betriebsart arbeiten soll, da sonst keine Möglichkeit besteht, Map-Indices in den Si1JPM einzuschreiben.
Die gesamte SMPH- und Stacking-Zone ist immer innerhalb 2k-Grenzen enthalten. Im üblichen Pail umfaßt die SMPM-Zone das unterste oder oberste Viertel des gesamten 2k-Adressen-Saums. Bezugnehmend auf Fig. 4 wird offenbar, daß Kit der SMPM-Zone im unt-traten Viertel der Stacking-Zone die 6 Bit in dem Leitwort, die die 1k-Grenze definieren, oberhalb der die SMPM-Zone liegt, eine 2k-Grenze repräsentieren, wobei Bit 10 in der rechnererzeugten Adresse immer den Wert 0 hat, wenn das System in der SMPM-Betriebsart betrieben wird, und Bit 9 ebenfalls 0 ist, um so der durch die "untere" Außerverbindung zugeordnete Option zu entsprechen. In dieser Art repräsentiert ein OO-Code in den Bit-Positionen 9+10 der rechnererzeugten Adresse eine SMPM-Operation. Wird das System in einer der drei operativen Stacking-Betriebsarten (Pig. 5) betrieben, so umfaßt der Code eine der Kombinationen 01, 10 oder 11.
509837/0929
_ 54- -
Die Betriebsarten-Bit-Codes 00, 01, 10 und 11 in den Bit-Positionen 9 und 10 in einer rechnererzeugten Adresse definieren immer die 4· Stacking-Zonen, die in Fig. 5 dargestellt sind. Daher repräsentiert in jedem System der gleiche Satz von 512 Adressen sowohl die SMPM-Operationen als auch Operationen in einer der 4 Stacking-Bebriebsarten. Das System gibt der SMPM-Betriebsart Priorität und die notwendigerweise überdeckte der 4 Stacking-Betriebsart-Möglichkeiten ist notwendigerweise immer verloren. (In Bezug auf Prioritäten ist es ebenso offensichtlich, daß die verschiedenen Zonen gemäß Fig. 1 in dem Adressenraum einander überlappen können, wenn sie so gewählt sind. Da eine Adresse, die von dem System als innerhalb eine der vorgegebenen Adressen-Zonen fallend erkannt wird, notwendigerweise eine bestimmte Operationsart steuert, ist eine Prioritätenfolge erforderlich, um alle Konflikte aufzulösen. Die Prioritätenfolge hat die folgende Ordnung: St'euer-Betriebsart, SMPM-Betriebsart, Stacking-Betriebsart, Mapping-Bo briet·; t.? Direkt· -Betriebsart) ,
Angenommen, dass bis zu 4 Systeme gemäß der Erfindung zusammen verwendet werden sollen und das gewünscht wird, die gleiche gesamte 2k-SMPM- und Stacking-Zone für alle Systeme zu definieren. (Sind mehr als. 4- Systeme - maximal 32 - mit dem gleichen Bus-System verbunden, so müssen verschiedene 2k SMPM- und Stacking-Zonen in dem Adressen-Raum dafür ausgewählt werden). In einem derartigen Fall muß die SMPM-Zone in einem anderen Viertel der gesamten 2k SMPM- und Speicherzone in jedem System liegen, um eine Operation in der SMPM-Betriebsart auf lediglich^ einsvon vier Systemen zu lokalisieren. Dies ist der Grund, daß
509837/0929
6 Bits in dem Leitwort für jedes System dazu benutzt werden, eine 1k-Grenze zu definieren und daß die Außenverbindung s-Option vorgesehen ist, um die obere oder untere Hälfte des 1k-Raums oberhalb dieser Grenze zu wählen. Die Bits 9 "und 10 in der rechner er zeug ten Adresse können daher jede von 4- SMPM-Zonen innerhalb der gleichen gesamten 2k SNPM- und Stacking-Zone identifizieren. Jedes System kann erstellt xverden (über das entsprechende Leitwort) und die entsprechende Außenverbindungs-Option), um eine SKPM-Adresse innerhalb einer von 4- 512-Adressen-Gruppen h in dem gemeinsamen 2k Adressen-Raum kenntlich zu machen.
Es ist jedoch offenbar, daß die Stacking-Betriebsarten für all* Systeme, deren SMPIÜ-Zoaen innerhalb des gleichen 2k Adressen-Raums enthalten sind, gesperrt werden müssen. Es würde sonst ein System in der SIiPK-Betriebsart arbeiten, während die anderen Systeme alle in einer der Stacking-Betriebsarten arbeiten wurden4 wobei alle die gleichen Datenlcituiigcn b-«listen wurden. Β.Ί i?s kann nicht zugelassen wez'den. Daher müssen, wenn mindestens 2 Speicher ihre SMPM-Zonen innerhalb des gleichen 2k Stacking-Zoiien-Adressen-Raucis haben, die Stacking-Betriebsarten in diesen Speichern gesperrt werden.
Steuer-Betriebsart
Vie in Fig. 1 dargestellt, spricht das System auf eine einzige Adresse an, die irgendwo innerhalb der oberen 512 Adressen des 64k Rechner-Adre;3sen-Raums lieg.t, um in
509837/0929
der Steuer-Betriebsart zu arbeiten. Das System enthält 8 Schalter für die Bestimmung der Leitwort-Adresse. Die Adresse des Leitwerkes soll in der am wenigsten signifikanten Bit-Position eine O haben und eine 1 in jeder der 7 signifikantesten Bit-Positionen. Die 8 Schalter definieren die Werte der anderen 8 Bits, die die Leitwort-Adresse bestimmen. Erkennt das System die Leitwort-Adresse, so wird das 16 Bit-Wort, das von der Zentraleinheit den Datenleitungen zugeführt wird, in einer speziellen Anordnung von 16 Speicherelementen gespeichert. Dieses 16-Bit-Leitwort bleibt in dem System gespeichert, bis es geändert wird, und es definiert Operationen in den anderen Betriebsarten.
Bit 15 des Leitwortes ist das Haupt-ein-aus-3it für alle Betriebsarten mit Ausnahme der direkten und der Steuer-Betriebsart. Ist das MAS-Bit O, so kann das System nur in der direkten und in der Steuer-Betriebsart arbeiten. Durch Einstellen der beiden Sätze mit je 4- Schaltern, die die Grenzen für die direkte Zone zu OOOOund 1111 definieren, nimmt die direkte Zone eine maximale Größe von sechzehn 4096-Adressen-Blocks ein. So kann der ACS fast zu seiner maximalen Kapazität ausgenutzt werden und das System kann als herkömmlicher Speicher arbeiten. (Der ACS kann nicht zu seiner vollen Kapazität ausgenutzt x^erden, weil die Leitwort-Betriebsart· nicht gesperrt werden kann und im Konfliktfall Priorität gegenüber der direkten Betriebsart hat). Die Steuer-Betriebsart ist nicht gesperrt, wenn das MAS-Bit auf 0 gesetzt ist, aus dem einfachen Grunde, daß, wäre diese Betriebsart gesperrt, gäbe es keine Möglichkeit, das
509837/0929
Leitwort zu ändern und das System wäre dauernd darauf beschränkt, lediglich in der direkten Betriebsart zu arbeiten, nachdem diese Einschränkung das erste Mal vorgenommen wurde»
Bit 14 in dem Leitwort sperrt die Stacking-Betriebsarten, wenn es eine O ist. Ist das SiEK-Bi t eine O, so sind alle drei Stacking-Funktionen gesperrt. Die Gründe für die Sperrung der Stacking-Betriebsarten wurden bereits erläutert.
Die Bits 8-13 des Leitworts werden für die Definition der SMPM-Zone benötigt. Diese 6 Bits definieren eine 1k-Grenze. Die SMPM-Zone besteht aus einem von 2 512-AdressenrBlocks direkt oberhalb dieser Grenze« Anders ausgedrückt, die SMPM-Zone liegt entweder in der oberen oder in der unteren Hälfte des 1k-Adressen-Raums, der direkt oberhalb der durch die Bits 8 bis 13 in dem Leitwort definierten Adresse liegt. Die obero oder untere Hälfte dieses Ik-Raums für die SMPM-Zone ist durch eine Außenverbindung festgelegt. Die Bits 8-13 in dem Leitwort definieren tatsächlich die Stacking-Zonen ebenso wie die SMPM-Zone. Ist die durch die Bits 8-13 definierte 1k-Grenze eine gerade Zahl, so beginnt der gesamte 2k-Adressen-Raum für die SMPM- und Stack ing-Zonen an dieser Adresse. Ist dagegen diese durch die 6 Bits repräsentierte 1k-Grenze ungradzahlig, so beginnt die gesamte SMPM- und Stacking-Zone an der nächsten unteren 2k-Grenze.
Die Bits 0-3 des Leitwortes definieren die Zahl des ersten gültigen Blocks in der Mapping-Zone und die Bits 4-7 definieren die Zahl des letzten gültigen Blocks in der Mapping-
509837/0929
Zone. Die Blockzahlen für Map-Start und Map-Ende in dem Leitwort dienen den gleichen Punktionen für die Mapping-Zone wie die beiden Sätze zu je 4 Schaltern für die direkte Zone. Sie definieren obere und untere Grenzen. (Obgleich in der erläuterten Ausführungsform der Erfindung die Grenzen für die direkte Zone durch Schalter gesteuert werden, ist es offensichtlich, daß eine andere Steuer-Betriebsart vorgesehen werden könnte, um die Grenzen der direkten Zone durch Software zu steuern, ebenso wie die Mapping-Zone durch Softwaresteuerung begrenzt wird. In gleicher Weise könnten-*Hardware-Schalter vorgesehen werden, um die Grenzen für die Mapping-Zone und für die SMPM- und Stacking-Zonen zu definieren. Im üblichen Fall jedoch werden die Grenzen, für die direkte Zone weit weniger häufig als die anderen geändert und dies ist der Grund, weshalb Hardware-Schalter für die Grenzen der direkten Zone vorgesehen sind. Das Leitwort hat nicht genug Bits, um alle Grenzen zu definieren, weshalb die Grenzen, die am wenigsten hä^ig geändert werden, durch Hardware-Schalter gesetzt werden).
Wie nachstehend beschrieben, werden die Speicherelemente für das Leitwort, nachdem das System zuerst angeschaltet ist, rückgestellt, so daß das System nur in der direkten und in der Steuer-Betriebsart arbeiten kann. Wird eine der anderen Betriebsarten gewünscht, so muß der Rechner ein Start-Vorbereitungs-Programm ausführen, um das System in der Steuer-Betriebsart zu betreiben, so daß Rechner-Adressen-Raum den Mapping- und/oder Stacking-Funktionen zugeordnet werden kann.
509837/0929
Immer -wenn die Leitwortadresse erkannt wird, wird ein 16~Bit-Leitwort, das dem System über die Batenleitungen zugeführt wird, in die Ϊ6 speziellen Speicherelemente für dieses Leitwort eingeschrieben. Bas System sieht jedoch nicht vor, das Leitwort auszulesen (in einer Art, die vergleichbar mit dem Lesen eines Wortes, das im SMPH gespeichert ist, wenn das System in der SHPM-Betriebsart betrieben wird, ist). Dies ist Jedoch nicht von Bedeutung, weil das Leitwort für den Zugriff durch den Rechner anderswo abgespeichert werden kann (beispielsweise sogar in einem Speicherplatz des ACS, der in einem der Direkt-Blocks enthalten ist).
Einzelbeschreibung
Struktur des Gesamtsystems und zeitlicher. Ablauf
Die erläuterte Ausführungsform der Erfindung betrifft einen Speicher, der zusammen mit dem PDP-II-Be eimer sys tem der Firma Digital Equipment Corporation arbeitet. Wie bekannt, enthält ein derartiges System einen UNIBUS-Bus, mit dem eine Zentraleinheit und alle peripheren Geräte verbunden sind. Adressen, -Daten und Steuerinformationen -werden über die 56 Bus-Leitungen übertragen. Verbindungen zu allen Bus-Leitungen brauchen nicht hergestellt zu werden, wexra die Erfindung eingesetzt wird. Daher sind lediglich die erforderlichen Verbindungen in der Zeichnung dargestellt.
Der Hilfsspeicher (AGS) selbst kann einer der vielen Speicher sein, die für die Verbindung mit dem UEIBUS vorgesehen
509837/0929
- bü -
'7- 5 O r 7 ο q
sind. Um die durcii die Erfindung Torgssateriea eizisigartigsn Speicher-Operationen st-susm au keimen-, ist der MlBUS5 mit asm der AQS verbunden ist. niob.t ds:? Jl7ISIJS5 mit dem die SsritraleiKlicit ^erbimde-i ist* "ies gshi; ez; klarsten aus den I?ig· 7-oia 13 lisrvcr -ilis« wie in ?ifs -;4 dargestellt.
''j. 2, S 'l'j
Q_^ -ρ -^ 2. Τ* 'rflD
Treiber mit unbelastetem Kollektor verwendet werden, wie es der Standard-Praxis entspricht. Ebenso sind die Ausgänge mehrerer Elemente in den Fig. 7 bis 13 als zusammengefaßt dargestellt in verdrahteten ODEE- oder UND-Eonfigurationen dargestellt. Diese enthalten die Verbindungen der folgenden Element-Gruppen: 814 und 816, 836 und 838, 714 und 718, 720 und 722, 1219 und 1220, sowie 904, 906, 908 und 910. In allen diesen Fällen, obgleich in der Zeichnung nicht dargestellt, versteht es sich, daß die Verbindungen über Widerstände an positive Potential-Quellen rückgeführt sind und daß die Treiber einen unbelasteten Kollektor haben.
Vor einer Beschreibung der Einzelschaltkreise sollen die Signalfolgen betrachtet werden, die über einen UNIBUS übertragen werden, wenn Zugriff zu einem konventionellen Speicher erlangt werden soll. Fig. 12 zeigt 16-Bit-Daten-Treiber 1204 und 16-Bit-Daten-Empfänger 1206, die mit den 16 Datenleitungen in einem konventionellen UNIBUS verbunden sind. Eine Zwei-Weg-Datenübertragung über jede Datenleitung gestattet einem entsprechenden Treiber und Empfänger, mit der gleichen Leitung verbunden zu sein. Der 16-Bit-Datenselektor 1202 leitet 16 Bit-Signale zu den 16 Eingängen des Datentreibers 1204. Werden die Enable-Eingänge der 16 Bit Datentreiber erregt, so übertragen die Treiber die ihnen zugeführten 16 Bit Signale über die UNIBUS-Datenleitungen. In ähnlicher Weise werden Daten von einer Zentraleinheit, die an den 16 Datenleitungen auftreten, von den 16 Bit Datenempfängern 1206 empfangen und den 16 Leitungen in dem D (15:0) Kabel 1230 ^geführt, welches zu den verschiedenen Teilen des erfindungsgemäßen Systems führt. Wie in Fig. 10 dargestellt, führen 18 Adressen-Lei-
509837/0929
tungen zu den Adressen-Empfängern 1002. Eine 18-Bit-Adresse, die über den UKIBUS zu den verschiedenen peripheren Geräten geführt wird, wird von dem Adressen-Empfänger erkannt und die 18 Bit werden dem Kabel A (1?:0) zugeführt. Obgleich nur 16 Adressen-Bits für den Zugriff zu dem Hilfsspeicher und dem SMPK benötigt werden, ist die PDP-II-Hechner-Pamilie mit einer 18-Bit-Adressen-Mögliehkeit ausgestattet. Die beiden oberen Bits, A (17) und A (16), sind Erweiterungs-Bits, die eine Erhöhung der Adressen-Möglichkeit um den Faktor 4 gestattet. Die Art, in der die beiden oberen Bits verwendet werden, wird nachstehend erläutert, es versteht sick ,ledoch, daß Adressen-Bits A (15:0) den 16 Adressen-Bits entsprechen, auf die in der allgemeinen Beschreibung Bezug genommen wurde.
5 Steuerleitungen in den· PBP-11-ϊΙϊίΙBUS führen zu 5 Steuer-Empfängern 1004. Das IMIE-Signal tritt auf, wenn die Start-Taste auf der Sechner-IConsole gedruckt wird, wenn ein Eesetbefehi durchgeführt; wird oder wezm eine "power uptl-Polge auftritt. Das !!!!!-Signal wird gewöhnlich zum löschen und Startbereitmachen der peripheren Geräte mit Hilfe des Sesetbefehls verwendet* Auch in vorliegenden System wird das Hill-Signal genau dazu verwendet. Das AC JLO-Signal wird in peripheren Geräten zur Beendigung von Operationen verwendet. Das AG £O-Signal wird,, wie nachstehend offenbar wird, dem Hilfsspeicher-Übertreiber 1302 zugeführt. Der Hilfsspeicher kann daher auf das AC LO-Signal genau so ansprechen, als wenn der Speicher direkt mit dem RechnermüIBUS verbunden wäre. (Das ΙΕΊΪ-Signal wird außerdem dem Hilfsspeicher-Übertreiber 1302 zugeführt, so daß der Speicher ein solches Signal verarbeiter, irann und zwar ebenso». als wenn der Speicher direkt mit? dem IEiIBUB dar Zentr&iein-
509837/052$
ί-* ^i
lieit verbunden wäre. Ähnliche i\i^is:^k.uns£.a. gelten -ür die beiden anderen Steuer-Signale CO lind ui«, -wie riac3is"ysjj.-3n& Des cii r i e ο en )«
Die ~ü iHiCL CI-Signale sestiisHien die. Arb-si^awiisSc ils stattfinden soll. Ist öl sine C.; ac find^ii sise I-ss-3~../?eratio::. sus.vv j und -\>-;t CI si^e "U p> finest sins Sepsis-Operation statt. Bei eine:"1 Säar-sic-OperatL-Xi ^sp^asssroisrit ein 3it-v/ert 0 für? 00 ai^e w'ort-Cc: sra'jicn "aim ei:i Si"3
'*■ " : ■ "" "-' ίτ CJ ^T*-'* Z 1^l
PIg= y "bis
die Ul*'
n'3S. UIiIBUS empfangen- wird» iv
das Tea diese
^x^bis/Söns ζΐΐ dem
"w^ 2?d. in -3^r-τ5 i""^;
ning von £ Ste^^rii
i:i !?i£3 10
Sisss €,2^ 30
Zuführung für das System (nicht dargestellt) kann mit einem Sensor für zu schwache Stromversorgung ausgestattet werden, der lediglich symbolisch durch die Benennung 1008 dargestellt ist und der Erkennung des Beginns eines Leistungsverlustes dient* In einem derartigen Fall kann ein AC L0-Signal auf den UTTIBUS übertragen werden (das von der Zentraleinheit und anderen peripheren Einheiten genau so empfangen wird wie ein AG LO-Signal durch das erfindungsgemäße System), Die Entdeckung eines Leistungsverlustes stellt keinen Teil der vorliegenden Erfindung dar. Daher ist der Leistungsverlust-Sensor hier lediglich symbolisch dargestellt. Tatsächlich kann er auch entfallen. Die einzigen Steuerleitungen, die dargestellt sind, sind die für die richtige Arbeitsweise des Systems erforderlichen. Beispielsweise sind die bekannten Paritäts-Bit-Leitungen PA und PB entfallen. In gleicher Weise sind auch die verschiedenen Prioritäts-Übertragungsleitungen in einem IJUIBUS entfallen. Es ist erwünscht, daß der verwendete Hilfsspeicher, dargestellt als Block 133O1 zusätzliche Steuerleitungsverbindungen aufweist, da dann die Steuerleitungen von dem PDP-11-UDTIBUS zu dem inneren UIiIBUS durchgeschleift und zu dem Hilfsspeicher über Empfänger und Treiber, die den Elementen 1004- und 1302 vergleichbar sind, weitergeführt werden können.
Im Fall einer Lese-Operation bei einem konventionellen Speicher veranlaßt die Zentraleinheit die MSHSf (mastersync)-Leitung, den niedrigen Signalpegel (den Behauptungs-Zustand (assertion state) bei einem UNIBUS) etwa 150 Hanosekunden nach Zuführung der Adressen- und Steuer-Signale zu den Adressen- und Steuer-Leitungen, anzunehmen. Jeder
509837/0929
dem UNIBUS angepaßte Speicher, der die übertragene Adresse erkennt, interpretiert dann die CO und C1 Steuer-Bits als Erkennungszeichen für eine Iese-Operation und führt die 16 Bits des Wortes, das gelesen wird, den 16 Datenleitungen zu. Zu gleicher Zeit veranlaßt der Speicher seine SSYN= (slave sync)-Leitung, ihren niedrigen Pegel anzunehmen. Nachdem die Zentraleinheit (master) das SSYN-Signal und die Daten-Bits, erkennt, veranlaßt sie, eine Rückstellung der MSIN-Leitung auf ihren Ausgangswert (den oberen Pegel), worauf die Adressen-Bits von den Adressen-Leitungen abgeführt werden. Erkennt der Speicher (slave) das Ende des HSIN-Behauptungszustands, so führt er die SSYN-Leitung in ihren Ausgangszustand zurück und beendet die Datenübertragung zu den Datenleitungen.
Eine ähnliche Abfolge findet statt im Falle einer Schreib-Operation bei einem konventionellen Speicher. Die Zentraleinheit überträgt zunächst Adressen-, Daten- und Steuer-Bits, worauf die MSIN-Steuerleitung ihren niedrigen Pegel annimmt. Der Speicher führt eine Schreiboperation durch, nach der er die SSIN-Leitung veranlaßt, ihren niedrigen Pegel anzunehmen. Wird dies von der Zentraleinheit erkannt als ein Anzeichen, daß die Schreib-Operation abgeschlossen ist, so veranlaßt sie eine Rückführung der MSYN-Leitung auf ihren oberen Pegel und die Entnahme der Adressen-Steuer- und Daten-Signale aus dem UNIBUS. Erkennt der Speicher, daß die MSYN-Leitung ihren oberen Pegel hat, d.h., daß die Zentraleinheit über den Abschluß der Schreiboperation richtig informiert ist, so veranlaßt er, daß die SSYN-Leitung ihren oberen Pegel annimmt.
509837/0929
Vier der Steuer-Signale - AC LO, INIT, CO und C1 - werden direkt über Steuerkabel 1010 zu 4 Steuer (Befehls) Treibern 1302 übertragen. Werden diese Treiber erregt, wie nachstehend beschrieben, so werden die 4 Steuersignale über das Steuer (CONTROL)-Kabel 1304 auf den 64k Speicher I3OO übertragen. Die Befehlstreiber werden nur erregt, nachdem die Steuerschaltungen (Befehlsschaltungen) sichergestellt haben, daß eine Speicheroperation stattfinden soll. Die 4 Befehlssignale werden von dem ACS gerade so interpretiert, als wenn der ACS direkt mit den 4 entsprechenden Befehlsleitungen in einem konventionellen UNIBUS-Aufbau verbunden wären.
Das MSYN-Steuersignal (Befehlssignal), das von der Zentraleinheit empfangen ist, wird nicht direkt zu dem Hilfsspeicher weitergeleitet. Statt dessen wird es verarbeitet, wie nachfolgend beschrieben ist und ein gleichwertiges Signal MSYN1 wird über die Leitung 13O6 dem Hilfsspeicher zugeführt. Der Hilfsspeicher vollzieht die "üblichen" Lese- oder Schreib-Operationen und führt sein übliches "slave sync"-Signal der SSYN1-Leitung 1362 in dem inneren UNIBUS zu. Dieses Slave sync-Signal wird, wie nachstehend beschrieben, zur Erzeugung des SSYN-Signals für die Zuführung zu der Zentraleinheit verwendet. Das SSYN-Signal muß erzeugt werden, da die Zentraleinheit "denkt", sie arbeite mit einem konventionellen Speicher zusammen. -Mit anderen Worten, die erfindungsgemäße elektrische Schaltung muß ein MSYN'-Signal dem Hilfsspeicher zuführen, um eine Speicher-Operation zu veranlassen, und sie muß mit einem SSYN1-Signal aus dem Speicher arbeiten, um ein SSYN-Signal für die Zentraleinheit zu erzeugen, um diese zu informieren, daß die geforderte Operation abgeschlossen ist. (Wie später offenbar wird, kann das SSYN-
509837/0929
Signal für die Zentraleinheit auch in einer anderen Art erzeugt werden, da in dem Leitwert und in der SKPM-Abfolge der Hilfsspeicher in die Operation nicht direkt einbezogen ist und daher kein SSYN1-Signal erzeugt.)
Da der Hilfsspeicher so ausgelegt ist, daß er 16-Bit-Datenwörter über 16 Datenleitungen aussendet und empfängt, enthält der innere UHIBUS ein Kabel D1 (15:0) mit 16 Datenleitungen. Werden die Enable-Eingänge der 16 Bit-Datentreiber 1310 erregt, so werden die 16 Daten-Bits auf dem D (15:0) Kabel 1230, das von dem PDPH-UHIBUS kommt, zu dem ACS 1300 über Kabel D1 (15:0) übertragen. Die 16 Bit-Datentreiber 1310 sind erregt, wenn ein Wort oder Byte in den Hilfsspeicher eingeschrieben \*erden soll. Dazu ist lediglich erforderlich, die Datenbits von dem PDP-11 UHIBUS in den Speicher zu übertragen. In ähnlicher Weise überträgt der Hilfsspeicher, wenn eine Lese-Operation stattfinden soll, Daten-Bits auf die Leitungen im Kabel D1 (15:0). Die Daten-Bits werden durch 16 Bit-Daten-Empfänger 1312 auf das Kabel D1' (i5:0)-Kabel 1350 übertragen. Wie nachstehend beschrieben, laufen 8 der Daten-Bits durch den 8-Bit-Datenselektor 1208, in dem sie von einer Leitungsgruppe zu einer anderen umgeschaltet werden können. !Für den vorliegenden Zweck genügt das Verständnis, daß die Daten-Bits auf dem Kabel D1' (15:0) über den 16-Bit-Datenselektor 1202 auf die 16 Bit-Datentreiber 1204 übertragen werden, wobei sie den Datenleitungen des PDP-11-UHIBUS zugeführt werden.
Die letzte Gruppe von Signalleitungen, die zu dem Hilfsspeicher geführt werden, sind die 16 Adressen-Leitungen in dem Kabel A1 (15:0). Die entsprechenden Adressen-Lei tun-
509837/0929
gen in dem PDP-11-UIiIBUS sind nicht direkt zu den Leitungen geführt, auf denen Adressen in den Hilfsspeicher übertragen werden. Dies muß jedoch der Fall sein, da-, wie bereits beschrieben, ein bedeutendes Merkmal der Erfindung in der Modifikation einer Adresse, die von dem Gesamtspeicher empfangen ist, vor der Eingabe der Adresse in den Hilfsspeicher selbst, zu sehen ist. Soweit der Hilfsspeicher selbst betroffen ist, ist es jedoch völlig unerheblich, daß die empfangene Adresse nicht direkt von dem PDP-11-UNIBUS abgeleitet worden ist. Vas den Hilfsspeicher betrifft, so arbeitet er so, als wenn er mit dem PDP-11-ULfIBUS verbunden wäre. In ähnlicher \fä.se arbeiten alle peripheren Geräte einschließlich der Zentraleinheit, die in Zusammenhang mit einem erfindungsgemäßen Speicher arbeiten und mit dem PDP-11-UNIBUS verbunden sind, genau so, als wäre der Hilfsspeicher direkt mit ihren Bus-System verbunden .
Alle Daten-, Adressen- and Befehis-Treiber, die in der Zeichnung dargestellt sind, bestehen aus einem Chip (integrierter Schaltkreis) SE 74-38. Alle Daten-, Adressen- und Befehls-Empfänger bestehen aus einem Ghip SP-38O. Die Anzahl der in jedem Fall verwendeten integrierten Schaltkreise ist eine Funktion der Anzahl der zu verarbeitenden Bits. Alle Treiber und Empfänger invertieren Signale zwischen ihren Eingängen und Ausgängen. Daher wird sowohl bei dem PDP-11 als auch bei dem inneren UlTIBUS eine 1 oder ein Behauptungszustand (assertion state) durch ein niedriges Potential dargestellt. Auf den anderen Leitungen in den Fig. 7 his 13 wird jedoch eine 1 oder ein Behauptungszustand durch ein hohes Potential repräsentiert. (Die einzigen Aus-
509837/0929
nahmen sind die Leitungen, deren Bezeichnungen mit einem Stern versehen sind. Ihre Behauptungspegel sind niedrig.)
Adressen, die von der Zentraleinheit empfangen werden, werden über die 18 Adressen-Empfänger 1002 einem 18-adrigen Kabel A (17:0) zugeführt. Die beiden signifikantesten Adressen-Bits repräsentieren einen von vier möglichen Codes. Diese beiden Bits werden gegenüber den 16 anderen Bits, welche eine Adresse innerhalb des 64k-Rechner-Adressen-Üaums gemäß Fig. 1 repräsentieren, unterschiedlich behandelt. Kabel 1012, das zu verschiedenen Teilen des Systems geführt ist, enthält 20 Adern, die 20 Adressen-Bits übertragen - nämlich die 18 originalen Adressen-Bits A (17:0) und die beiden Zusatz-Adressen-Bits A1 (17:16)· ^ür alle anderen Betriebsarten als die Leitwort-Betriebsart ist das System so ausgelegt, daß es eine Adresse nur erkennt, wenn die Adressen-Bits A1 (17:16) die von den Adressen-Bits A (17:16) abgeleitet sind, den Vert OO repräsentieren. Der Rechner selbst kann Jedoch so programmiert sein, daß er den erfindungsgemäßen Speicher mit einem der 4 Codes 00, 01, 10 oder 11 für die Adressen-Erweiterungs-Bits A (17:16) identifiziert. Um diese Programmierflexibilität zuzulassen, werden die Adressen-Bits A (17) und A (16) so verarbeitet, daß zwei andere Adressen-Bits A1 (17) und A1 (16) abgeleitet werden, die beide nur dann 0 sind, wenn der 2-Bit-Code A (17:16), der den richtigen (Quadranten) identifiziert, auf die Adressen-Leitungen übertragen wird. An diesem Ende befinden sich Schalter 1014a und 1014b, sowie Inverta 1016a und 1016b.
Befinden sich die Schalter in den dargestellten Positionen, so haben sowohl die Leitungen A' (17) und A1 (16) einen
509837/0 9 29
niedrigen Pegel und repräsentieren einen 00-Code. Unbeschadet dessen, welche Werte für die Adressen-Bits A (17) "und A (16) von der Zentraleinheit übertragen werden, kann das System Adressen innerhalb der funktioneilen Zonen, die in Fig. 1 dargestellt sind, erkennen. Eine Unterscheidung, welcher Quadrant die Adressen enthält, wird nicht getroffen und die beiden signifikantesten Adressen-Bits A (17*16) werden effektiv ignoriert, ausgenommen in der Leitwort-Betriebsart, wie nachstehend beschrieben wird. Besteht andererseits der Wunsch, daß das System nur auf Adressen in dem höchsten Quadranten anspricht, d.h. auf Adressen, für die die Adressen-Bits A (17) und A (16) den Code 11 repräsentieren. In einem derartigen Fall sind beide Schalter 1014a und 1014b mit den Ausgängen entsprechender Inverter 1016a und.-1016b verbunden. Nur wenn ein 11 "Quadrant" -Code empfangen wird, treten auf den Adressen-Leitungen A1 (17) und A1 (16) innerhalb des Systems O-Werte auf, so daß Adressen erkannt werden können.
Jeder Schalter kann auch direkt mit einer der Leitungen A (17) oder A (16) verbunden t^erden. Es sei beispielsweise angenommen, daß das System nur Adressen erkennen soll, für die· die signifikantesten Bits den Code 10 repräsentieren. In einem derartigen Fall muß Schalter 1014a mit dem Ausgang des Inverters 1016a und Schalter 1014b muß in seiner äußerst rechten Stellung sein, die die Leitung A1 (16) direkt mit der Leitung A (16) verbindet. In einem solchen Fall wird nur bei Empfang eines Codes 10 über den UNIBUS bewirkt, daß die Leitungen A1 (17:16) einen Code 00 repräsentieren, um eine System-Operation zu erzielen.
509837/0929
ORIGINAL INSPECTS?
Wie noch "beschrieben wird, wird eine Operation in den Betriebsarten Stacking, Mapping, SMFII oder Direkt nur dann veranlaßt, wenn die Adressen-Bits A (15:0) eine Adresse innerhalb der entsprechenden funktioneilen Zone des Rechner-Adressen-Raums reprasentxeren und sogar dann nur, wenn die Adressen-Bits A1 (17:16) einen OO-Code reprasentxeren. Es ist die Schalter-Stellung der Schalter 1014a und 1014b, die gestattet, die Adressen-Erkennung auf einen von 4 Quadranten zu beschränken, falls dies e:rwünseht ist. Eine Leitwort-Operation findet gedoch nur dann statt, wenn die Adressen-Bits A (17:16) einen 11-Code repräsentieren, wie nach- ; stehend beschrieben ist. Die oberen 4k-Adressen in dem oberen Quadranten werden in dem PDP-11-System als Hardware-Adressen verwendet. Die Flip-Flops (latches), die das Leitwort speichern und die nachstehend beschrieben sind, sind "Hardware" derart, die gewöhnlich durch Adressen in den oberen 4k des oberen Quadranten spezifiziert sind. Demzufolge sind die Adressen-Bits A (17:16) erforderlich, um sicherzustellen, daß eine Operation ins der leitwort-Betriebsart stattfinden soll. Die Leitwort-Adresse ist immer unter den oberen 512 Adressen des vierten Quadranten.
Ablauf bei der direkten Betriebsart
Die 20 Adressen-ieitungen im Kabel 1012 werden zu den Schaltkreisen, die im unteren Teil der Fig. 8 dargestellt sind und die bestimmen, ob eine empfangene Adresse innerhalb der direkten Zone liegt, geführt. 4 Schalter, die mit 804 bezeichnet sind, sind vorgesehen, um die erste gültige Blockzahl in der direkten Zone zu repräsentieren. Die 4
509837/0929
Adressen-Bits werden einem ersten von zwei 4—Bit-Eingängen eines Addierers 808 (Chip SN 74283) zugeführt. 4- Inverter 826 sind vorgesehen, um die Adressen-Bits A (15:12) zu ergänzen und die 4 ergänzten Adressen-Bits werden dem zweiten 4—Bit-Eingang des Addierers 808 zugeführt. Unter Bezug auf Fig. 2 soll daran erinnert werden, daß die Adressen-Bits 15:12 jeder rechnererzeugten Adresse die Blockzahl repräsentieren und daß die ergänzte Blockzahl zu der ersten gültigen Blockzahl addiert werden muß, wie in Pig. 2 durch den Summierer 4-2 angezeigt ist. Der Addierer 808 in Pig. 8 entspricht dem Summierer 4-2 in Pig. 2. Ist der Ausgang des Summierers 4-2 gleich oder kleiner als 15, dann ist, wie in Pig. 2 angedeutet, die Rechner-Adresse hoch genug, d.h., sie ist entweder innerhalb des ersten Blocks oder einen Block darüber in der direkten Zone enthalten. Ist die Rechner-Adresse hoch genug und die vom Addierer 808 abgeleitete Summe gleich oder kleiner als 15} dann ist der Übertrags-Ausgang (CO) des Addierers eine 0. (Der Übertrags-Eingang (CI) des Addierers wird an einen niedrigen Pegel gelegt, da es keinen Grund gibt, dem Addierer einen Übertragseingang zuzuführen.) Ist der Übertrags-Ausgang des Addierers auf einem niedrigen Pegel, so führt der Inverter 812 dem einen Eingang des UND-Gatters 814- einen hohen Potential-Pegel zu, um anzuzeigen, daß die Rechner-Adresse hoch genug ist.
Aus Pig. 2 geht hervor, daß der Summierer 40 die Blockzahl des letzten gültigen Blocks in der direkten Zone zu den ergänzten Bits, die die Blockzahl in der rechnererzeugten Adresse repräsentieren, addiert. Diese Punktion bewirkt der Addierer 806 (Chip SN 74-283) gemäß Pig. 8. Die durch die Zahl 802 symbolisierten 4- Schalter repräsentieren die
509837/0929
4—Bit-Biockzahl des letzten gültigen Blocks in der direkten Zone und diese 4- Schalter sind mit einem ersten 4~Bit-Eingang des Addierers 806 verbunden. Die ergänzten Adressen-Bits A (15:12) werden dem anderen Eingang des Addierers zugeführt. Ist die Rechner-Adresse niedrig genug, so muß, wie in Fig. 2 angedeutet, die Addition der letzten gültigen Blockzahl zu dem ergänzten Wert der Blockzahl in der rechnererzeugten Adresse größer oder gleich 15 sein. Eine geeignete Möglichkeit, diesen Zustand zu testen, besteht darin, einen "künstlichen Übertrags-Eingang dem Addierer 806 dadurch zuzuführen, daß sein CI-Eingang an einen hohen Pegel gelegt wird. Ist die Summe der letzten gültigen Blockzahl und der ergänzten Blockzahl in der recnnererzeugten Adresse größer oder gleich 15» dann ist der Ausgang des Addierers 806 größer oder gleich 16. Dies bedeutet umgekehrt, daß ein Übertrag durch den Addierer erzeugt wird und sein CO-Ausgang einen hohen Pegel annimmt. Da dieser Ausgang mit einem zweiten Eingang des Gatters 814· verbunden ist, wird dieser Eingang erregt, wenn die Rechner-Adresse nicht zu hoch ist.
Sind der obere und der untere Eingang des Gatters 814· erregt, so ist dies eine Anzeige, daß die empfangene Adresse innerhalb einer Blockzahl enthalten ist, die ihrerseits in der direkten Zone liegt. Yor einer Operation in der direkten Betriebsart muß das System jedoch sicherstellen, daß die empfangene Adresse innerhalb des richtigen Quadranten liegtC Vie bereits in Zusammenhang mit den Schaltern 1014-a und 1014b und den Invertern 1016a und 1016b beschrieben, liegt die empfangene Adresse innerhalb des richtigen Quadranten nur dann, wenn die Adressen-Bits A1 (17) und A1 .(16) den
509837/0929
Code OO repräsentieren. Diese beiden Adressen-Bits werden den invertierenden Eingängen des Gatters 810 zugeführt und der Ausgang dieses Gatters nimmt nur dann den hohen Pegel an, wenn die beiden Adressen-Bits den OO-Gode repräsentieren. Da der Ausgang des Gatters 810 mit dem dritten Eingang eines Gatters 814 verbunden ist, ist es offensichtlich, daß der Ausgang des Gatters 814 den hohen Pegel annimmt, wenn die empfangene Adresse im richtigen Quadranten des erweiterten 256k Adressenraums liegt, wie auch in der direkten Zone des 64k Rechner-Adressen-Raums, dem das System entspricht.
Der Ausgang des Gatters 814 ist mit der DIR-Leitung 824 verbunden. Führt diese Leitung einen hohen Pegel, so arbeitet das System in der direkten Betriebsart. Damit diese Leitung den hohen Pegel annimmt, muß Gatter 814 schalten, nachdem sichergestellt ist, daß die empfangene Adresse innerhalb der direkten Zone liegt. Es soll jedoch daran erinnert -werden, daß die direkte Betriebsart die niedrigste Priorität hat. Für den Fall, daß die verschiedenen Zonen des Rechner-Adressen-Raums einander Überdeiik-en und eine bestimmte Adresse innerhalb zwei oder mehrerer dieser Zonen liegt, arbeitet das System in jedem Fall in der Betriebsart mit der höchsten Priorität. Eine Operation in der direkten Betriebsart, die sonst stattfinden würde, ist gesperrt, wenn das System außerdem bestimmt, daß eine Operation in der Stacking-, Mapping- oder SKPM-Betriebsart stattfinden soll. Gemäß Fig. 8 verhindert Gatter 816, dessen Ausgang ebenfalls mit der DIR-Leitung 824 verbunden ist, daß die DIR-Leitung ihren hohen Pegel annimmt, falls das System bestimmt, daß eine Operation in einer der drei
509837/0929
anderen Betriebsarten höhere Priorität stattfinden soll. Die STK-Leitung 764 liegt normalerweise auf hohem Pegel. Sie nimmt nur dann den niedrigen Pegel an, wenn eine Stacking-Operation gefordert ist, wie nachfolgend "beschrieben. Ähnlich liegt die SilPM-Leitung 766 normalerweise hoch. Diese Leitung geht nur dann auf den niedrigen Pegel, wenn eine Operation in der SMPM-Betriebsart gefordert ist. Schließlich liegt die MAP-Leitung 828 in Pig. 8 normalerweise auf niedrigem Potential und geht auf hohes Potential nur dann, wenn eine Operation in der Mapping-Betriebsart gefordert ist. Der Inverter 818 führt der KÄP-Leitung normalerweise ein hohes Potential zu. Diese leitung nimmt nur dann den niedrxgen Pegel an, wenn eine Operation in der Mapping-Betriebsart stattfinden soll. Die drei Leitungen - STK, sEpH und MAP - führen zu drei Eingängen des Gatters 816. Liegen alle drei Leitungen hoch, um so anzuzeigen, daß eine Operation in einer der drei entsprechenden Betriebsarten nicht gefordert ist, so legt der Ausgang des Gatters 8Ί& die Leitung 824 nicht auf den niedrigen Pegel. Nehmen die normalerweise auf dem niedrxgen Pegel liegenden Eingänge des Gatters 814- den hohen Pegel an, so geht folglich das Potential auf der DIR~Leitung 824 auf den hohen "Wert, um so zu signalisieren, daß eine Operation in der direkten Betriebsart stattfindet. Anhand der Fig. 2 soll daran erinnert werden, daß der ergänzte Ausgang des Summierers 42 die Blockzahl im Hilfs-Rechner-Speieher ist, zu der zugegriffen werden soll. Da der Addierer 808 in Fig. 8 dem Summierer 42 in Fig. 2 entspricht, repräsentiert der 4-Bit-Ausgang des Addierers auf dem Kabel 830 die Ergänzung der Blockzahl in dem ACS, die die Adresse, zu der zügegriffen werden soll, enthält. Dementsprechend ist die Leitung
509837/0929
830 in Fig. 8 mit DW {,'BE) bezeichnet, um den ergänzten Vert der Blockzahl in der direkten Betriebsart zu repräsentieren.
Dieser 4-Bit-Wert wird dem 4--Bit-Eingang des Datenselektors 1210 gemäß Fig. 12 zugeführt. Der Datenselektor hat zwei Befehlseingänge B und C und einen 4-Bit-Ausgang, der dem 4-Bit-Eingang entspricht. Die innerhalb des Blocks dargestellten Godes zeigen die Operationen, die mit den 4 Eingangs-Bits in Übereinstimmung rait dem Code, der durch die Befehlssignale an den Eingängen B und G repräsentiert werden, vorgenommen werden. Ist der Befehlscode 00, so wird jedes der in der Tabelle innerhalb des Datenselektors dargestellten 4 Eingangs-Bitε ergänzt, bevor es an einem der 4 Ausgänge erscheint. Ähnlich führt ein 01-Code zur direkten Übertragung der 4 Eingangs-Bits auf die 4 Ausgänge« Ein 10-Code veranlaßt, daß alle Ausgangs-Bits den Wert 1 annehmen unabhän^iv" "^m Wert- der Bxngangs-Bits und ein 11-Code veranlaßt, daß alle 4 Ausgänge den Vert O haben, ungeachtet welchen Vert die Eingangs-Bits haben. Gemäß·Fig. ist es offenbar, daß zur Ableitung der ACS-Blockzahl aus dem Ausgang des Summierers 42 (der auf der DM (,Bi1O-Leitung erscheint) die Notwendigkeit besteht, den. Datenselektor 1210 in der ergänzenden Betriebsart (entsprechend der Funktion der Inverter am Ausgang des Summierers 42 in Fig. 2) zu betreiben). Für eine Operation in dieser Betriebsart müssen beide Eingänge B und C des Datenselektors niedriges Potential haben.
Die DIR-Leitung ist über den Inverter 1212 mit dem Eingang B des Datenselektors verbunden. Vird das System in der direkten Betriebsart betrieben und nimmt die DIR-leitung
509837/0929
hohes Potential an, so geht folglich der B-Eingang des Datenselektors auf niedriges Potential. Die DIR-Leitung wird auch einem Eingang des Gatters 1214 zugeführt. Der andere Eingang dieses Gatters ist mit der ST.AO oder ST.D-Leitung 902 verbunden. Diese Leitung nimmt, wie nachstehend beschrieben, hohes Potential an, wenn bestimmte Stacking-Operationen durchgeführt werden sollen. Vird das System in der direkten Betriebsart betrieben, so nimmt die Leitung niedriges Potential an. Folglich liegt ein Eingang des Gatters 1214 auf niedrigem Potential und der andere auf dem hohen Potential, wenn das System in der direkten Betriebsart betrieben wird. Da der Ausgang des Gatters invertiert wird, ist es offenbar, daß der Ausgang niedriges Potential hat, wenn das System in der direkten Betriebsart betrieben wird. Liegen beide Eingänge G und B des Datenselektors 1210 auf niedrigem Potential, so wird jedes der 4 Eingangs-Bits ergänzt, wie gefordert.
Unter Bezug aui Pig. 2 soll daran erinnert werden, daß die Adresse für den ACS tatsächlich durch Kombination der ACS-Blockzahl mit der 12-Bit-Versetzung in der rechnererzeugten Adresse abgeleitet wird. Dies erfolgt durch den Addierer 1216 in Fig. 12. Der Addierer, ist mit 2 Sätzen von 16-Bit-Eingängen ausgestattet. Die 16 Eingänge eines Satzes A sind mit den 16 Leitungen in dem R (15:0) Kabel 1130 verbunden. Wird ein Wort aus dem SMPiI gelesen, wie nachstehend beschrieben, so werden den Leitungen in diesem Kabel 16 Bits zugeführt. Wird das System jedoch in der direkten Betriebsart betrieben, so wird der SMPM nicht befragt und alle seine Ausgänge (die Eingänge des Satzes A
509837/0929
des Addierers 1216) liegen auf einem hohen Potential (repräsentieren eine 1). (Der SMPM kann bewirken, daß seine Ausgänge während einer Lese-Operation niedriges Potential annehmen, jedoch nur, wenn die Chip select- CS-Befehlseingänge niedriges Potential nahen. Da diese Eingänge mit der DIE-Leitung verbunden sind, die während •iner Operation in der direkten Betriebsart auf hohem Potential liegt, was durch den Code innerhalb des SMPM-Block angezeigt ist, besteht der SMPM-Ausgang aus 16 1-Werten. Dies soll nachfolgend kurz etwas genauer beschrieben werden).
Der Eingangssatz B des Addierers 1216 ist in drei Gruppierungen unterteilt. Die erste Gruppe, die die Bits 15-12 enthält, hat Eingänge, die mit den Ausgängen des Datenselektors 1210 verbunden sind. Polglich wird die ACS-Block-Zahl den 4- signifikantesten Eingängen des Satzes B des Addierers 1216 zugeführt. Die 11 Ausgänge des 11-Bit-Datenselektors 1218 werden den Bit-Eingängen 11-1 des Addierers 1216 zugeführt. Wie kurz beschrieben werden soll, repräsentieren die 11 Bits von dem Datenselektor 1218, die dem Addierer 1216 zugeführt werden, die Versetzung in der rechnererzeugten Adresse. Schließlich ist Bit 0 des 16-Bit-Eingangs-Satzes B des Addierers 1216 mit dem Ausgang des Gatters 121Φ verbunden. Einer der Eingänge dieses Gatters ist mit der STK-Leitung 702 verbunden. Da diese Leitung nur dann hohes Potential annimmt, wenn eine Stacking-Operation stattfinden soll, nimmt der STK-Eingang des Gatters 121.9 niedriges Potential an, wenn das System in der direkten Betriebsart betrieben werden soll. Ist ein Eingang des Gatters auf niedrigem Potential, so geht der Ausgang des Gat-
509837/0929
Z506733
ters 1219 auf hohes Potential. Nun ist jedoch der Bit 0-Eingang des Satzes B des Addierers 1216 ebenfalls mit dem Ausgang des Gatters 1220 verbunden. Ein Eingang dieses Gatters ist mit der ST.I-Leitung 924 verbunden, die nur darin hohes Potential annimmt, wenn eine bestimmte Stacking-Funktion ablaufen soll, wie nachstehend beschrieben. Wird das System in der direkten Betriebsart betrieben, so liegt diese Leitung auf niedrigem Potential. Der andere Eingang des Gatters 1220 ist mit der A {,0)-Leitung 1016 verbunden. Das ACO;-Bit wird durdh den Inverter 1018 von dem ATÖ"7-Bit, das von dem System empfangen wird, abgeleitet. Da die ST.I-Leitung immer auf niedrigem Potential liegt, wenn das System in der direkten Betriebsart betrieben wird, stellt der invertierte Ausgang des Gatters 1220 immer die Ergänzung des A(,ö)-Eingangs dar, d.h., der Ausgang des Gatters hat immer den Vert des A(O)-Bits. Da Gatter 1219 in der direkten Betriebsart den Bit 0-Eingang des Satzes B des Addierers 1216 nicht beeinflußt, ist es offenbar, daß der Wert des Bits, der dem Addierer zugeführt wird, von der Operation des Gatters 1220 abhängt und daß das Bit das Adressen-Bit A (0) repräsentiert. Daraus ergibt sich, da der Datenselektor 1218 die Adressen-Bits A(11:1) den Bit-Eingängen 11-1 des Eingangssätzes B des Addierers 1216 zuführt und das Gatter 1220 den Vert des Adressen-Bits A (0) dem Bit 0-Eingang des Satzes B zuführt, daß es offenbar ist, daß die 12-Bit-Versetzung an den Bit--,Eingängen 11-0 des Satzes B des Addierers erscheint, während die ACS-Blockzahl an den Eingängen 15-12 des Satzes B des Addierers auftritt.
Die an den 16 Eingängen des Satzes B des Addierers 1216 repräsentierten Bit-Werte sind alle die, die für die Ab-
509837/0929
leitung der AGS-Adresse, zu der Zugriff erlangt werden soll, erforderlich sind. Jedoch wird der Addierer 1216 in anderen Betriebsarten verwendet und ist mit einem Satz von 16 Α-Eingängen ebenso wie mit einem Übertrags-Eingang (GI) ausgestattet. Diese Eingänge müssen in Betracht gezogen werden, auch wenn das System in der direkten Betriebsart betrieben wird. Wird das System in dieser Betriebsart betrieben, so liegt der Übertrags-Eingang (CI) immer hoch, wie alle Α-Eingänge. Die Auswirkung der Addition eines Wertes 111. ..1 an den Α-Eingängen zu den anderen Bit-Werten, die den B-Eingängen des Addierers zugeführt werden, besteht darin, eine 1 von der Summe abzuziehen. (In der binären Arithmetik entspricht die Addition von 111...1 zu einem binären Wert der Subtraktion einer 1 von diesem Wert). Die künstliche Erzeugung eines Übertrags-Eingangs saldiert die Subtraktion einer 1 von der Summe, so daß der Saldo-Effekt der Summierer-Operation darin besteht, die AGS-Blockzahl zu der 12-Bit-Yersetzung in der rechnererzeagten Adresse zu aääiere.a. Dies wird durch den neben dem Addierer in Fig. 12 aufgelisteten Code angezeigt. Wird das System in der direkten Betriebsart betrieben, so itfird die Summe durch Abziehen einer 1, Addieren der ACS-Blockzahl, Addieren der 12-Bit-Versetzung und Addieren eines Übertrags gebildet. Der Ausgang des Addierers ist eine 16-Bit-Adresse auf dem S (i5:O)-Kabel 1224-, die die Adresse in dem ACS repräsentiert, zu der Zugriff erlangt werden soll.
Der Übertrago-Eingang wird durch das ODER-Gatter 1222 erzeugt, dessen einer Eingang direkt mit der DII^-Leitung 824· verbunden ist. Der Wert 111...1 wird den 16-Leitungen
509837/0929
in dem R(i5:O)-Kabel 1130 eingegeben, indem der SMPM veranlaßt wird, Bit-Werte von 1 an alle 16 seiner Ausgänge anzulegen. Der SKPM besteht aus zwei 2568-Bit-Speicherbytes.· Jede der oberen und unteren Byte-Hälften hat zwei Eingänge-CS und WE. Wie in der Mitte des SMPM-Blocks 1100 dargestellt, findet eine andere Operation abhängig vom Wert der Befehlssignale CS und WE, die jeder Hälfte des SHPM zugeführt werden, statt. Haben beide Eingänge niedriges Potential* so erfolgt eine Schreib-Operation. Ist der CS-Eingang auf niedrigem Potential, während der WE-Eingang hoch- liegt, so folgt eine Lese-Operation, und liegt der CS-Eingang hoch, so nehmen ohne Berücksichtigung des VE-Eingangs alle Ausgangs-Leitungen hohes Potential an. Da die DLR-Leitung 824 direkt mit dem CS-Eingang jeder Hälfte des SMPM verbunden ist, diese Leitung jedoch hoch liegt, wenn das System in der direkten Betriebsart betrieben wird, veranlaßt der SMPM alle 16 seiner Ausgänge, hohes Potential anzunehmen. (Das Symbol CS bedeutet "chip select" und das Symbol WE bedeutet "write enable").
Die 16-Bit-Adresse auf dem S(i5:0)-Kabel 1224 repräsentiert die Adresse in dem ACS, zu der Zugriff erlangt werden soll. Dieses 16-adrige Kabel führt zu dem S-Eingang des 16-Bit-Datenselektors und Register 1316 in Fig. 13. Wie nachstehend beschrieben, wird ein weiterer Satz von 16 Leitungen den 16 Eingängen in dem R-Satz des Datenselektors und Registers zugeführt. Einer der beiden Sätze von 16 Eingängen kann für die Abspeicherung seiner Bit-Werte. gewählt werden und mit den 16 Ausgängen im Kabel 1318 verbunden xverden, abhängig davon, ob der Select R-Eingang erregt ist oder nicht. Liegt der Select R-Eingang hoch,
509837/0929
so ist der R-Eingang gewählt. Sonst ist der S-Eingang gewählt. Da der Select R-Eingang mit der SI.I-Leitung 924 verbunden ist, die beim Betrieb des Systems in der direkten Betriebsart niedriges Potential hat, ist esklar, daß die S-Eingänge für die Speicherung und Veit erführung zu den 16 Leitungen im Kabel 1318 gewählt werden. Werden die Adressen-iDreiber 1344- erregt, wie nachstehend beschrieben, so wird die im Register I3I6 gespeicherte Adresse zum ACS weitergeleitet. Wird daher das System in der direkten Betriebsart betrieben, so wird die 16-Bit-Adresse, die dem ACS über die inneren UNIBUS-Adressen-Leitungen zugeführt wird, durch Addition der ACS-Blockzahl zu der 12-Bit-Yersetzung in der rechner er zeug ten Adresse abgeleitet.
Es war angenommen, daß den Eingängen 11-1 des Satzes B des Addierers 1216 die Adressen-Bits A (11:1) der rech-' nererzeugten Adresse zugeführt werden. Dies erfolgt durch den 11-Bit-Datenselektor 1218 gemäß Fig. 12. Die Betriebs-Codes, die die Operationen des Datenselektors kennzeichnen, sind die gleichen, wie die Codes, die für den Datenselektor 1210 aufgelistet wurden.
Das Adressen-Bit A (11) wird einem Eingang des Gatters 1226 zugeführt. Der andere Eingang dieses Gatters ist mit der DIR-Leitung 824 verbunden. Polglich wird dem Bit 11-Eingang des Datenselektors 1218 der Wert des A (11^-Bits zugeführt. Die Adressen-Bits A (10:1) werden direkt den Bit 10-1-Eingängen des Datenselektors zugeführt. Wird das System in der direkten Betriebsart betrieben, so- hat die STK-Leitung 702 niedriges Potential, so daß der B-Eingang
509837/0929
des Datenselektors 1218 ebenfalls einen niedrigen Pegel hat. Vie bereits beschrieben, hat die ST.AO oder ST.D-Leitung 902 normalerweise niedriges Potential. Der Inverter 1228 veranlaßt daher, daß dem C-Eingang des Datenselektors 1218 ein hohes Potential zugeführt wird. Hat daher der BC-Code für. den Datenselektor 1218 den Wert 01, so arbeitet der Datenselektor in der "richtigen" Betriebsart. D.h.., die 11-Eingangs-Bits werden direkt ohne Änderung über den Datenselektor den 11 Ausgangsleitungen zugeführt. Diese 11 Bits werden als Eingangswerte für die Bit 11-1-Eingänge des Satzes B des Addierers 1216 verwendet.
In der erläuterten Ausführungsform der Erfindung bestehen die Datenselektoren 1210 und 1218 aus Chips 74 H 87. Der Datenselektor 1210 erfordert lediglich einen Chip, Datenselektor 1218 3 Chips (integrierte Schaltkreise). Datenselektor und Register 1216 bestehen aus 4 Chips SN 74298. Der Addierer 1216 besteht aus 4 Chips SN 7428$.
Es wurde die Ableitung der Adresse A' (15:0) für den ACS beschrieben, wenn das System in der direkten Betriebsart arbeitet. Es ist Jedoch noch gefordert, die erforderlichen Befehls- und Synchronisiersignale dem ACS zuzuführen, damit dieser als konventioneller Speicher arbeiten kann. Die CO und C1 Befehlssignale werden über Befehlsleitungen 1010 dem Control'-Kabel 1304 über Treiber 1302 zugeführt. TJm jedoch die Befehlssignale dem ACS zuzuführen, muß der Enable-Eingang der Treiber 1302 hohes Potential führen. In ähnlicher Weise muß das MSHP -Synchronisiersignal niedriges
509837/0929
Potential haben, bevor irgend eine Operation im AGS stattfinden kann.
Die Zentraleinheit (data processor) veranlaßt, daß die MSYN-Leitung in dem PHP 11 UHIBUS niedriges Potential annimmt, nachdem die Signale auf den Adressen- und Befehls-Leitungen (und die Signale auf den Datenleitungen im Falle einer Schreiboperation) aufgebaut sind. Die MSXIT-Leitung 1046 am Ausgang des entsprechenden der Empfänger 1004-nimmt so hohes Potential an. Sie wird den Eingängen mehrerer Gatter zugeführt, die eine Betriebsart wählen, aber das einzige dieser Gatter, bei dem alle Eingänge erregt sind, wenn das System in der direkten Betriebsart arbeitet, ist das Gatter 1022. Ein Eingang dieses Gatters ist mit der DIR-Leitung 824- verbunden, die hohes Potential annimmt, wenn das Gatter 814- arbeitet, und der andere Eingang des Gatters 1022 ist mit der Leitung 1046 verbunden. Der Ausgang des Gatters 1022 nimmt daher hohes Potential an, wenn das System in der direkten Betriebsart arbeitet. Der hohes Potential annehmende Ausgang dieses Gatters steuert den Zugriff zu dem Hilfsspeicher*
wahrend ein konventioneller Speicher durch das MSYN-Signal unmittelbar nach dessen Auftreten am UNIBÜ3 arbeiten kann, kann die unmittelbare Zuführung des MSYIT-Signals zum Speicher 1300 ein Problem darstellen. Dies ist auf die Tatsache zurückzuführen, daß die Adresse A1 (15:0), die dem Speicher zugeführt wird, nur abgeleitet werden kann, nachdem die Datenselektoren 1210 und 1218, gefolgt vom Betrieb des Addierers 1216, arbeiten. Um zuzulassen, daß sich die Sig-
509837/0929
nale auf dem S (i5:O)-Kabel 1224 vor ihrer Speicherung im Register I3I6 und Weiterleitung zusammen mit einem MSIN1-Signal zu dem Speicher aufbauen können, wird durch einen Kondensator 1024 und einen Widerstand 1026 am Ausgang des Gatters 1022 eine kurze Verzögerung eingeführt. Der Ausgang des Gatters 1022 nimmt nicht sofort hohes Potential an, wenn die MSHf-Le itung 1046 hohes Potential annimmt. Statt dessen hält der Kondensator 1024 den Ausgang des Gatters niedrig. Der Gatter-Ausgang steigt nicht auf den hohen Pegel an, bevor etwa 50 IJanoSekunden, nachdem beide Gatter-Eingänge hohes Potential angenommen haben, vergangen sind. Das verzögerte hohe Potential erscheint auf der DIR-D-Leitung 828, die dem Eingang des Inverters 904 zugeführt wird» Vier Gatter 904, 906, 908 und 910 sind an ihren Ausgängen mit der WD*-Leitung 912 verbunden, Normalerweise liegt der Ausgang Jedes Gatters hoch und die Leitung WD* ist normalerweise ebenfalls auf hohem Potential. Nimmt einer der Gatter-Ausgänge niedriges Potential an, so nimmt die Leitung WD* ebenfalls niedriges Potential an, um zu signalisieren, daß ein Zugriff zum ACS stattfinden soll. (Ein Stern in der Bezeichnung für die Leitung 912 gibt an, daß der entsprechende Bezugspegel niedrig ist).
Die WD*-Leitung 912 führt zu dem Strobe-E^ingang (Takteingang) des Datenselektors und Registers I3I6. Die 16 Bits an den beiden Eingangssätzen S oder R werden nicht eher gespeichert und zu dem Adressen-Kabel 1318 weitergeführt, ehe nicht ein negativer Impuls dem Strobe-Eingang des Selektors zugeführt wird. Die Verzögerung am Ausgang des Gatters 1022 gestattet den Adressen-Bits an dem S-Eingangs-Satz
509837/0929
des Datenselektors 1316, sich vor der Taktgabe des Datenselektors aufzubauen. Das Signal mit niedrigem Potential auf der WD*-Leitung 912 wird durch den Inverter 1322 ebenfalls invertiert, so daß ein positiver Impuls dem Enable-Eingäng des Befehlstreibers 1302 zugeführt wird. Erst in diesem Zeitpunkt werden die 4 Befehlssignale über das Control'-Kabel 1304 dem ACS zugeführt. Die CO und CI-Be-* fehlssignale informieren den ACS, welche der 4 möglichen Lese/Schreib-Operationen stattfinden soll. Das invertierte VD*-Signal wird außerdem dem Enable-Eingang der Treiber 1344- zugeführt, so daß die im Register 1316 gespeicherte Adresse dem Adressen-Kabel A1 (15:00) des ACS zugeführt wird.
Der ACS soll jedoch seine Operation nicht beginnen, ehe sich die Signale auf den Adressen-Leitungen aufgebaut haben. (Aus einem vergleichbaren Grund übermittelt die Zentraleinheit das MSYN-Signal etwa 150 Nanosekunden nach dem die Adressen-Daten- und Befehlssignale über den UIiIBUS übertragen worden sind). Das MSYN*-Signal auf der Leitung 1306 wird vom Ausgang des Gatters 1326 abgeleitet. Ein Eingang dieses Gatters ist mit dem Ausgang des Inverters 1322 verbunden, der hohes Potential anniEmt, wenn das VD*-Signal niedriges Potentxal hat. Die VD*-Leitung 912 ist mit dem Eingang des Inverters 1328 verbunden. Während der Ausgang dieses Inverters, hohes Potentxal annimmt, wird der Anstieg des Ausgangs signals durch den Kondensator 1330 und Widerstand 1332 verzögert. Hur nach einer Verzögerung von 40 Nanosekunden kann der zweite Eingang des Gatters 1326 hohes Potentxal annehmen. In diesem Zeitpunkt nimmt die MSYN1-Leitung 1306, die zu dem ACS führt, niedriges Potentxal an, um die Spei eher-Zugriffs-Sequenz in dem ACS einzu-
509837/0929
leiten. (Die Verzögerung am Ausgang des Inverters 1328 braucht nicht 150 UanoSekunden zu dauern, wie die Zentraleinheit die Erzeugung des MSYIi-Si gnals verzögert. Diese längere Verzögerung ist erforderlich, um die Schrägverzerrung seffekte in Treibern, Empfänger und Übertragungsleitungen zu kompensieren. Diese Effekte sind nicht so groß wie im Fall eines kurzen inneren UNIBUS und es ist daher eine kürzere Verzögerung zulässig. Die Verzögerung hängt davon ab, welcher ACS benutzt wird. In der erläuterten Ausführungsform der Erfindung wird als ACS der dem PDP 11-Rechner zugehörige Speicher verwendet und für einen derartigen Speicher ist eine Verzogerungszeit von 40 Nanosekunden ausreichend).
Für eine Schreib-Operation ist das C1-Befehls-Bit eine 1. (Ob eine Wort- oder eine Byte-Operation stattfindet, hängt ab vom Wert des Befehls-Bits CO.) Ein 1-Bit-Wert auf einem UIiIBUS wird durch ein Signal mit niedrigem Potential repräsentiert. Da der Daten-Bit-Eapfanger 1004· alle empfangenen Signale invertiert, nimmt die C1-Leitung am Ausgang des Empfängers 1004- hohes Potential an, wenn eine Schreib-Operation durchgeführt werden soll. Gemäß -^-Fig. ist die d-Leitung zu einem Eingang des Gatters 133^ geführt. Der andere Eingang dieses Gatters ist mit dem Ausgang eines Inverters 1322 verbunden, der hohes Potential annimmt, wenn das VD*-Signal anliegt. Folglich geht im Falle einer Schreib-Operation der Ausgang des Gatters 1334 auf hohes Potential. Der positive Schritt am Enable-Eingang des Datentreibers 1310 veranlaßt eine Übertragung der 16 Daten-Bits auf dem D (i5:0)-£abel 1230 über die Datentreiber auf die Daten-Leitungen D1 (15:0), die zu dem AGS führen. Der Wert des
509837/0929
CO-Bits im Kabel 1304- informiert den ACS, ob ein Wort oder ein Byte geschrieben werden soll und, wie vorstehend beschrieben, der Wert des Adressen-Bits Af (0) identifiziert, welche Gruppe von 8 Daten-Bits im Kabel D1 (15J0) verwendet werden soll, wenn eine Byte-Schreib-Operation stattfinden soll.
Soll eine Lese-Operation durchgeführt werden, so hat die C1-Leitung am Ausgang des Befehls-Empfängers 1004- niedriges Potential und der Ausgang des Inverters 1032 liegt hoch. Der Ausgang des Inverters ist mit der Read-Leitung (Leseleitung) 1034- verbunden. Ein Eingang des Gatters 1036 liegt daher hoch. Vie kurz beschrieben werden soll, steuert dies die Übertragung eines Datenworts, das über den PDP 11-UHIBUS aus dem ACS gelesen werden soll. Das C1-Bit, das auf den ACS übertragen wird, steuert eine Lese-Operation. Das 16-Bit-Wort, das auf dem Kabel D1 (15:0) erscheint, wird über die Daten-Empfänger 1312 dem D1 * (15:00)-Kabel 1350 zugeführt.
Nachdem der ACS ein Wort oder ein Byte im Falle einer Schreib-Operation geschrieben hat oder nachdem der ACS 16 Daten-Bits dem Kabel D* (15:0) im Falle einer Lese-Operation zugeführt hat, nimmt die SSIH'-Befehlsleitung 1362 niedriges Potential an. Wie vorstehend beschrieben, liefert eine mit dem UNIBUS verbundene periphere Einheit ein Signal niedrigen Pegels an seine SSIN-Leitung, um zu bestätigen, daß der ihm übertragene Befehl ausgeführt ist. Das SSYN1 -Signal mit niedrigem Pegel wird durch den Inverter 1336 invertiert, so daß ein Signal mit hohem. Pegel auf der SSITi'-Leitung 13O8 erscheint. Diese Leitung ist mit
509837/0929
einem Eingang eines ODER-Gatters 1038 (Pig. 10) verbunden, so daß der Ausgang des Gatters hohes Potential annimmt, um einen Eingang des Gatters 1040 zu erregen. Der andere Eingang des Gatters 1040 ist mit der MSIIi-Leitung verbunden, die vom Start der Sequenz an hohes Potential hat. Folglich geht der Ausgang des Gatters 1040 auf hohes Potential in diesem Zeitpunkt, um anzuzeigen, daß der AOS auf den Lese- oder Schreib-Befehl angesprochen hat. Der auf hohes Potential gehende Ausgang des Gatters 1040 repräsentiert somit ein SSIN-Signal, das auf die Zentraleinheit übertragen werden kann und wie das übliche SSIE-Signal interpretiert wird. Da der Bezugspegel für das Zentraleinheits-Signal niedrig ist, wird der SSXN-Ausgang des Gatters 1040 durch den entsprechenden Befehlstreiber 1006 invertiert.
Der Ausgang des Gatters 1040 wird außerdem einem Eingang des Gatters 1036 zugeführt. Im Fall einer Lese-Operation liegb, wie vorstellend beschrieben, der andere Eingang des Gatters 1036 ebenfalls hoch. In diesem Zeitpunkt nimmt die EN-DR-Leitung 1042 hohes Potential an, um den Enable-Eingang des 16-Bit-Datentreibers 1204 zu erregen. Diese Treiber müssen vorher erregt werden, ehe sie das aus dem AOS gelesene Datenwort auf die Datenleitungen des PDP-11-UNIBTJS übertragen. Die Treiber 1204 werden nur im Fall einer Lese-Operation erregt.
Das 16-Bit-Dat^nwort auf dem D2?(15:0)-Kabel 1350 wird jedoch nicht direkt zu den entsprechenden 16 Eingängen des Treibers 1204 übertragen. Die Form der der Zentralhexnheit übertragenen Daten ist abhängig von der Art der laufenden Operation. Der Grund dafür betrifft Lese-Operationen bei
509837/0929
aufeinanderfolgenden Bytes in den Stacking-Betriebsarten.
Werden von der Zentraleinheit aufeinanderfolgende 16-Bit-Worte in dem AOS angefordert, dann veranlaßt die Übertragung der gleichen gradzahligen Adresse (in einer der Stacking-Zonen), daß 16 Bit-Worte in aufeinanderfolgenden Wort-Speicherplätzen an den 16 Datenleitungen in dem PDP-11-UHIBUS erscheinen. Die gleiche Adresse wird über den PDP-11 -UIiIBUS dem Speicher übertragen. Dies erfolgt in aufeinanderfolgenden Zyclen und das Bit A (0) der Adresse ist eine 0. Fordert die Zentraleinheit andererseits aufeinanderfolgende Bytes, so ist das Bit A (0) der Adresse, die wiederholt über den PDP-11-UITIBUS übertragen wird, eine 1, und die ACS-Adresse A' (15:0) nimmt in jedem Zyclus um 1 (statt um 2) zu. Obgleich auf dem UITIBUS-Datenleitungen der Zentraleinheit immer, wenn eine Lese-Operation durchgeführt wird, 16 Bits erscheinen, wird im Fall einer Byte-Lese-Operation von der Zentraleinheit automatisch das untere Byte herausgezogen, wenn die übertragene Adresse gradzahlig ist, und automatisch das obere Bit herausgezogen, wenn die übertragene Adresse ungradzahlig ist. Da jedoch für die richtige Arbeitsweise des erfindungsgemäßen Speichers von der Zentraleinheit gefordert ist, für jede Byte-Operation in einer Stacking-Betriebsart eine ungradzahlige Adresse zu übertragen, versteht es sich, daß die Zentraleinheit immer das obere Byte auf den Daten-Leitungen herauszieht. Aus diesem Grund wird, wenn in der Stacking-Betriebsart ein Byte gelesen werden soll, veranlaßt, daß das Byte, ob es sich nun um das obere oder untere
509837/0929
Byte eines 16 Bit-Wortes handelt, im PDP-11-UNIBUS auf den Datenleitungen für das obere Byte erscheint.
Der Datenselektor 1202 (Chip SN74-S157) hat zwei Sätze von Eingängen-R und D1 '. 8 Eingänge in "beiden Sätzen sind zusammengefaßt als "unteres Byte" und die anderen 8 in "beiden Sätzen sind zusammengefaßt als "oberes" Byte. Liegt der Select R-Eingang hoch, so ist der Satz R der 16 Eingänge für die Verbindung mit den Treibern 1204- ausgewählt. Sonst ist der D1'-Satz der 16 Eingänge ausgewählt. Die Bits D" (7:0) im Kabel 1350 sind direkt mit den 8 D1*- Eingängen des Datenselektors für das "untere" Byte verbunden. Dieser 8-Bit-Satz ist außerdem mit einem der 8-Bit-Eingangssätze des 8 Bit-Datenselektors 1208 (Ghip SW 74S157) verbunden.) Die Daten-Bits D'' (15:8) werden dem anderen 8 Bit-Eingangssatz des Datenselektors 1208 zugeführt. Einer der beiden Sätze zu je 8 Bits wird über Datenselektor 1208 mit dem 8-Bit-Eingang D1! für das obere Byte des Datenselektors 1202 verbunden,abhängig vom Zustand der Select D1' (15:8)-Leitung 1360. Liegt diese Leitung auf niedirgem Potential, dann werden die Daten-Bits D1' (7:0) über den Datenselektor 1208 den 8 D1'-Eingängen des Datenselektors 1202 für das obere Byte zugeführt. Liegt Leitung 1360 auf hohem Potential, dann werden die Daten-Bits D1' (15:8) über den Datenselektor 1208 zu den 8 D1'-Eingängen des Datenselektors 1202 für das obere Byte zugeführt.
Die STK-Leitung 702 ist mit einem Eingang des Gatters 1240 verbunden. Diese Leitung nimmt hohes Potential nur dann an, wenn eine Stacking-Operation durchgeführt werden soll. Arbeitet folglich das System in der direkten
509837/0929
Betriebsart, so liegt die Leitung auf einem niedrigen Potential und der Ausgang des Gatters 134-0 liegt hoch.. Hat die Select D1· (15:8)-Leitung 1360 ihren normalen Zustand hohen Potentials, so werden die Daten-Bits D1' (15:8) über den Datenselektor 1208 zu den D''-Eingängen des Datenselektors 1202 für das obere Byte übertragen. Daraus folgt, daß die 8 Bits in dem unteren Byte Jedes Wortes, das aus dem ACS gelesen wird, auf den D1'-Eingängen des Datenselektors 1202 erscheinen (wie dies immer geschieht) und daß die 8 Bits des oberen Bytes jedes Wortes, das aus dem AGS gelsen wird, auf den 8 D1'-Eingängen des Datenselektors 1202 für das obere Byte erscheinen. Das vollständige 16-Bit-Wort, das aus dem ACS gelesen wird, kann daher leicht zum Auftreten auf dem PDP 11-TOIIBUS -Datenleitungen gebracht werden, indem der Select-R-Eingang des Datenselektors 1202 auf niedrigem Potential gehalten wird. Dieser Befehls-Eingang ist mit der SMPM-Leitung ■ 706 verbunden, die nur dann hohes Potential annimmt, wenn das System in dar SrIFiI-Betriebsart arbeitet. Daher sind in der direkten Betriebsart die D'*-Eingänge des Datenselektors 1202 gewählt, wie erforderlich.
Kur wenn bei einer Operation in der Stacking-Betriebsart ein Byte aus dem ACS von der Zentraleinheit angefordert wird, ist es wünschenswert, daß sowohl die oberen als auch die unteren Bytes·, die während aufeinanderfolgender Zyclen aus dem gleichen Wort-Speicherp latz des ACS gelesen worden sind, auf den Datenleitungen für das obere Byte in dem PDP 11-UlTIBUS erscheinen, sogar wenn die gleiche Adresse während gedes Zyclus auf den Speicher übertragen.ist (wobei die Adresse ein A (O)-Bitwert von 1 hat, um eine Byte-
509837/0929
Operation zu steuern). In einem derartigen Fall, hat die A (O) Adressen-Leitung 1048, die mit einem Eingang des Gatters 134-0 verbunden ist, ein hohes Potential, um den Eingang zu erregen. Ein zweiter Eingang des Gatters wird durch die STK-Leitung 702, die hohes Potential hat, erregt. Der dritte Eingang des Gatters nimmt hohes Potential an, wenn das Adressen-Bit A' (0), das dem AOS zugeführt wird, eine 0 ist.
Während aufeinanderfolgender Zyclen in der Stacking-Betriebsart, bei denen die gleiche Adresse von der Zentraleinheit auf den Speicher übertragen wird, schaltet das Adressen-Bit A1 (0) die Verte um, um Zugriff zu aufeinanderfolgenden Bytes (v/enn das Adressen-Bit A (0) von der Zentraleinheit eine 1 ist) au erlangen, wie nachstehend beschrieben. Ist das Bit A1 (0) eine 0, um anzuzeigen, daß das untere Byte in dem zugegriffenen ACS-Wort untersucht werden soll, so ist der Ausgang des Inverters 1342 hoch und in diesem Zeitpunkt nimmt die Select D1' (15:8)-Leitung niedriges Potential an. Die Bits des unteren Bytes D11 (7:0), die von dem ACS gelesen sind, werden daher über Datenselector 1208 den Df'-Eingängen des Datenselectors 1202 für das obere Byte zugeführt. Demzufolge erscheint das untere Byte in dem Datenwort, zu dem zugegriffen wurde, in den Datenleitungen des PDP 11-UNIBUS für das obere Byte. Ist das Bit A1 (0) eine 1, was durch ein hohes Potential auf dem Zabel 1318 repräsentiert wird, dann ist der Ausgang des Inverters 1342 niedrig und die Select D11 (15:8) -Leitung bleibt in ihrem normalen Zustand hohen Potentials. Folglich erscheint das obere Byte D11 (15:8) an den D11-Eingängen des Datenselectors 1202 für das obere Byte. Somit ist es offenbar, daß, wenn das System in einer Stacking-
509837/0929
Betriebsart betrieben wird und Zugriff zu aufeinanderfolgenden Bytes erlangt werden soll (dadurch repräsentiert, daß das Adressen-Bit A (0) eine 1 ist), da das Adressen-Bit A1 (0), das dem AGS zugeführt wird, während aufeinanderfolgender Zyclen seinen Wert wechselt, nacheinander untere und obere Bytes des gleichen Datenwortes immer in den gleichen Datenleitungen für das obere Byte erscheinen. In dieser Weise, wird der Zentraleinheit, die immer das obere Byte aus den Datenleitungen herauszieht, wenn das Adressen-Bit A (0) eine 1 ist, immer mit dem richtigen Byte beliefert, auch wenn es sich um ein unteres Byte in dem AGS handelt. Die Tatsache, daß während Qed.es Zyclus das untere Byte, das aus dem AGS gelesen wird, auch auf den Datenleitungen für das untere Byte erscheint, hat keine Bedeutung. Die Zentraleinheit ignoriert die Datenleitungen für das untere Byte während einer Byte-Lese-Operation, wenn das Adressen-Bit A (0) eine 1 darstellt.
Es soll angemerkt werden, daß eine vergleichbare Komplexität im Fall einer Schreib-Operation in einer Stacking-Betriebsart nicht erforderlich ist. Soll ein Byte geschrieben werden, so führt die Zentraleinheit es sowohl den Datenleitungen für das obere als auch denen für das untere Byte zu. Welche der beiden Gruppen mit identischen Daten-Bits durch den ACS genutzt wird, hängt ab vom Wert des Adressen-Bits A1 (0), d.h., ob das obere oder das untere Byte des zugegriffenen Wortes geschrieben werden soll.
Die gesamte vorstehende Diskussion ist natürlich nur auf Lese-Operationen in einer Stacking-Betriebsart, "bei der die STK-Leitung 702 hohes Potential hat, um zu bewirken,
509837/0929
daß der Ausgang des Gatters 1340 niedriges Potential annimmt, anwendbar. Wird eine Lese-Operation in der direkten Betriebsart durchgeführt, so wählt der Daten-Seleetor 1208 immer die Daten-Bits D11 (15:8) für die Zuführung zu den D1'-Eingängen des Daten-Selectors 1202 für das obere Byte aus, so daß das vollständige 16-Bit-Wort, das aus dem AGS gelesen wird, auf den 16-Daten-Leitungen erscheint.
Gatter 1040 in Fig. 10 arbeitet immer dann, nachdem der ACS sein SSYN1-Signal für die Steuerung der Übertragung eines SSYN-Signals zu der Zentraleinheit erzeugt hat· (Vie bereits beschrieben, sind die Daten-Ireiber 1204 ebenso erregt, wenn das Gatter 1040 nur im Fall einer Lese-Operation arbeitet). Nachdem die Zentraleinheit das SSYH-Signal erkannt hat, veranlaßt sie eine Rückführung ihrer KSYIT-Leitung in den normalen Zustand hohen Potentials. Dies hat zwei Auswirkungen auf das System. Die erste besteht darin, daß der Ausgang des Gatters 1022 niedriges Potential annimmt und die VD*-Leitung 912 veranlaßt, ihren normalen Zustand hohen Potentials anzunehmen. (Gatter 1022 ist ebenso wie die anderen Gatter, deren Ausgänge verzögert werden, vom 2!yp mit unbelastetem Kollektor. Daher wird eine Verzögerung nur dann eingeführt, wenn ein Gatterausgang hohes Potential annimmt. Der Gatterausgang nimmt den Zustand' niedrigen Potentials, wenn dies durch die Eingänge verlangt wird, sofort an.) Der Ausgang des Inverters 1322 nimmt niedriges Potential an und veranlaßt umgekehrt den Ausgang des Gatters 1326, hohes Potential anzunehmen. Venn dieser Gatterausgang hohes Potential annimmt, wird der AGS über die MSYIi'-Befehlsleitung informiert, daß die-Zentraleinheit ihre Übertragung beendet. Der AGS antwortet in der
509837/0929
üblichen Weise dadurch, daß er veranlaßt, daß seine SSYlT'-Leitung hohes Potential annimmt. Diese Leitung ist über das ODER-Gatter 1038 mit einem Eingang des Gatters 104-0 verbunden. Da die IiSYH-Le itung vom Befehlsempfänger 1004-mit dem anderen Eingang des Gatters 104Ό verbunden ist, wird der Ausgang des Gatters 104-0 in seinen normalen Zustand niedrigen Potentials zurückgeführt, sobald die MSYN-Befehlsleitung in dem PDP 11-IMIBUS hohes Potential annimmt. Daher nimmt unmittelbar nach Rückführung der MSYIT-Befehlsleitung in ihrem normalen Zustand hohen Potentials der Ausgang des Gatters 1040 niedriges Potential an, um den entsprechenden der Treiber 1005 zu veranlassen, daß die SSYIT-Befehlsleitung in dem PDP 11-UNIBUS,wie gefordert, hohes Potential annimmt. Obgleich die SSYH-Leitung auf dem PDP 11-IJNIBUS unmittelbar nach der Rückführung der MSYN-Leitung rückgeführt wird, während das MSYlT1 -Signal zu dem AOS durch die Gatter 1022 und 904 verzögert ist, ist dies ohne Bedeutung, weil die Zentraleinheit immer 75 ITanosekundon wartet, nachdem sie die MSYlT-Leitung rückgeführt hat, ehe sie eine neue Übertragung veranlaßt. Es soll ebenfalls angemerkt werden, daß die Verzögerung am Eingang des Gatters 1326 bei der Erzeugung des MSIN1-Signals nicht auftritt, wenn das Signal rückgeführt werden muß. Der Grund dafür besteht in der direkten Verbindung des Ausgangs des Inverters 1322 mit einem Eingang des Gatters 1326.
Abfolge bei der Mapping-Betriebsart
Bezugnehmend auf die Fig. 2 und 3 soll angemerkt werden, daß die Blockzahl, die in der rechnererzeugten Adresse enthalten ist, in einer nahezu identischen Art verarbeitet
509837/0929
wird, wenn das System sowohl in der direkten als auch in den Mapping-Betriebsarten betrieben wird. (Für eine Operation in der direkten Betriebsart wir die modifizierte Blockzahl als 4 signifikanteste Bits in der für den AOS abgeleiteten Adresse verwendet. Für Operationen in der Mapping-Mode wird die modifizierte Blockzahl als Bits 4:1 in der SMPM-Adresse verwendet). Die Schaltungen in der oberen Hälfte von Fig. 8 sind vergleichbar mit denen in der unteren Hälfte und dienen beide dazu, zu bestimmen, daß eine Operation in der Mappihg-Betriebsart stattfinden soll und zur Ableitung der Ergänzung der 4-Bit-Summe, die einen der 16 möglichen Blöcke repräsentiert, der die Mapping-Zone enthalten kann (die abgeleitete Blockzahl ist eine relative Zahl innerhalb der Mapping-Zone, statt eine absolute Blockzahl in dem Rechner-Adressen-Raum darzustellen).
Ein 8-Bit-Flip-Flop 830 (Chip SN74116) ist für die Speicherung der 4-Bit-Blockzahl am Beginn der Mapping-Zone und der 4-Bit-Blocksahl ar; Ende der Mapping-Zone vorgesehen. Unter Bezug auf Fig. 1 enthalten die 8 Bits, die somit die Mapping-Zone definieren, die Bits 7:0 des Leitwortes. (Die Art, in der diese 8 Bits des Leitwortes tatsächlich im Flip-Flop 830 gespeichert werden, wird nachstehend in Zusammenhang mit der Abfolge in der Steuer-Betriebsart beschrieben). Befehlswort-Bits CW (3:0) werden einem Eingangssatz eines Addierers 834 (Chip SN74283) und Befehlswort-Bits CW (7:4) werden einem Eingangssatz des Addierers 832 (Chip SN74283) zugeführt. Addierer 834 ■ hat die Aufgabe, die Map-Anfangsblockzahl zu den ergänzten Adressen-Bits A ^\^'Λ2.) (entsprechend der Funktion des Summierers 47 in Fig. 3) zu addieren. Ein künstlicher Über-
509837/0929
tragseingang wird nicht erzeugt und der 4-Bit-Ausgang wird durch 4· Inverter 840 ergänzt. Die resultierende 4-Bit-Zahl auf dem MM(BN)-KaTDeI 842 wird als Bits 4:1 der SMPM-Adresse, die für den Zugriff zu dem SMPM abgeleitet wird (dessen entsprechender Map-Index umgekehrt dazu verwendet wird, die Adresse für den Zugriff zum AOS abzuleiten) verwendet.
Bevor jedoch eine Operation in der Kapping-Betriebsart stattfinden kann, "basierend auf der so errechneten relativen Mapping-Blatt-Blockzahl, ist es erforderlich, zu bestimmen, daß die rechnererzeugte Adresse innerhalb der Mapping-Zone enthalten ist. Bezugnehmend auf Fig. 3 soll daran erinnert werden, daß die rechnererzeugte Adresse hoch genug ist, wenn der Ausgang des Summierers 4-7 gleich oder kleiner 15 ist. Dies ist gleichwertig einem Übertrags-Bit, daß nicht am Ausgang CO des Addierers 834 erzeugt ist. Bleibt der CO-Ausgang auf niedrigem Potential, so wird dieser durch den Inverter 8-;44 invertiert, um einen Eingang des Gatters 838 zu erregen. Ein weiterer Eingang des Gatters 838 ist mit dem Ausgang des Gatters 810 verbunden, welch letzteres, wie in Zusammenhang mit der Abfolge in der direkten Betriebsart beschrieben, seinen Ausgang erregt, wenn die rechnererzeugte Adresse in einem Quadranten enthalten ist, auf den das gesamte Speichersystem anspricht. Sind die Adressen-Bits A1 (17) und A1 (16) beide 0, so nimmt der Ausgang des Gatters 810 hohes Potential an, um den zweiten Eingang des Gatters 838 zu erregen. Der dritte Eingang des Gatters 838 ist mit der CV/ (15)-Leitung 708 verbunden. Diese Leitung ist mit dem signifikantesten Bit, das in dem 8-Bit-Flip-Flop 710 (Chip SN74116) gespeichert ist, verbunden. Dieses Flip-Flop speichert die Bits CW
509837/0929
(15:8) des Leitwortes. Es soll in Zusammenhang mit Fig. 1 daran erinnert werden, daß Bit 15 in. dem Leitwort ein Haupt-Bit ist, das, wenn es den Vert 0 hat, Stacking-, SMPIl- und Mapping-Betriebsabläiife verhindert. Nimmt man an, daß 3it 15 des Leitwortes eine 1 ist, so ist der dritte Eingang des Gatters 838 erregt. Obgleich der Ausgang des Gatters 838 somit hohes Potential annehmen kann, kann die MAP-Leitung 828 nichtsdestoweniger auf niedrigem Potential ■bleiben, und zwar durch den Ausgang des Gatters 836.
Dieses letztere Gatter wird verwendet, um sicherzustellen, daß die rechnererzeugte Adresse nicht zu hoch ist. Addierer 832 in Fig. 8 entspricht dem Summierer 45 in 3Fig. 3· Der Addierer erzeugt die Summe aus der Blockzahl des letzten gültigen Blocks in der Mapping-Zone, wie durch die Leitwort-Bits CW(?:4-) repräsentiert, und ergänzt die Adressen-Bits A (15:12). Vie in 3?ig. 3 angezeigt, ist die rechnererzeiigte Adresse dann nicht zu hoch, wenn die Summe größer oder gleich 15 ist. VIe im !»'all des Addierers 805, wird ein künstliches übertrag-Eingangssignal erzeugt, statt die vom Addierer 832 errechnete Summe zu prüfen. Ist daher die rechnererzeugte Adresse nicht zu hoch, so wird von dem Addierer ein Übertrags-Ausgangssignal erzeugt. Der CO-Ausgang des Addierers·wird einem Eingang des Gatters 836 zugeführt. Die beiden anderen Eingänge des Gatters sind mit der "BW-Leitung .764- und der SiIPM-Leitung 766 verbunden. Beide Leitungen haben hohes Potential, wenn keine Stacking- und SMPM-Betriebsarten angezeigt sind. (Diese beiden Leitungen dienen dazu, eine Mapping-Abfolge zu verhüten, wenn eine der beiden Operationen Stacking oder SMPM mit höherer Priorität gefordert ist. Es soll daran erinnert werden, daß sie in Verbindung mit der Ableitung des DIR-Signals die
509837/0929
gleiche Funktion ausüben. Sind die Ausgänge der beiden Gatter 836 und 838 hoch, so nimmt die MAP-Leitung 828 hohes Potential an, um anzuzeigen, daß eine Operation in der Mapping-Betriebsart folgen soll. (Das MAP-Signal wird durch den Inverter 818 invertiert, um das MAP-Signal abzuleiten, wie vorstehend in Zusammenhang mit der Abfolge der direkten Betriebsart beschrieben ist, um die Operation des Gatters 816 zu sperren, da die Mapping-Betriebsart Priorität gegenüber der direkten Betriebsart hat).
Die MAP-Leitung 828 führt zu einem Eingang des Gatters 1054·· Der andere. Eingang dieses Gatters ist mit der MSXN-Leitung 1046 verbunden. Nachdem die Zentraleinheit das MSTN-Signal über den PDP 11-UNIBITS auf das System übertragen hat, nimmt der Ausgang des Gatters 1054- hohes Potential an, wenn die MAP-Leitung hohes Potential hat. Kondensator 1056 und Widerstand 1058 sind vorgesehen, um eine Verzögerung von 70 Nanosekunden für die Annahme hohen Potentials der MÄP-D-Leitung 1060 zu I:\7irkfri5 nachdem beide Eingänge des Gatters 1054- hohes Potential angenommen haben. Die MAP-D-Leitung ist über den Inverter 906 mit der VD*-Leitung verbunden. Es soll bedacht werden, daß bei einer Arbeit des Systems in der direkten Betriebsart die DIR-D-Leitung 828, die mit der WD*-Leitung über Inverter 904- verbunden ist, die letztere Leitung veranlaßt, vor dem Zugriff zu dem ACS niedriges Potential anzunehmen. Eine Verzögerung von 50 NanoSekunden ist jedoch am Ausgang des Gatters 1022 vorgesehen, um genügend Zeit zuzulassen, die ACS-Adresse abzuleiten, bevor die WD*-Leitung gezxvungen wird, niedriges Potential anzunehmen, um den Zug^riff zu dem ACS einzuleiten. In ähnlicher Weise wird beim Betrieb des Systems in
509837/0929
der Mapping-Betriebsart die "Verzögerung am Ausgang des Gatters 1054· vorgesehen, um eine Ableitung der ACS-Adresse zuzulassen, bevor die LeitungWD* niedriges Potential annimmt. (Statt einer Verzögerung von 50 Uanosekunden ist eine Verzögerung von 70 Nanosekunden vorgesehen, weil wegen der zusätzlichen Schritte, die bei der Ableitung einer AGS-Adresse für einen Betrieb in der Mapping-Betriebsart zusätzliche Zeit benötigt wird).
Die 4 ergänzten Mapping-Block-Adressen-Bits MM (BN) auf Kabel 842 werden 4 der 8 Eingänge in dem Satz A des 8-Bit-Selectors 1112 (2 Chips SN74S157) zugeführt. Der Selector hat 2 Gruppen von Eingängen (A und B) mit je 8 Eingängen. Eine der 8-Eingangs-Gruppen ist mit dem achtadrigen Ausgangskabel 1102 über den Selector verbunden, abhängig davon, ob der Select B-Befehls-Eingang hohes oder niedriges Potential hat. Liegt der Befehlseingang hoch, so werden die B-Eingänge gewählt, und hat der Befehlseingang niedriges Potential, so vvörueii aie A-Eingänge ge\vählt. Einer der Eingänge des ODER-Gatters 1114 ist mit der SSK-Leitung 702 und der andere Eingang mit der SMPM-Leitung 706 verbunden« Diese beiden Leitungen nehmen hohes Potential an, wenn das System in entsprechenden Stacking-und SMPM-Betriebsarten arbeitet. Wird das System in der Mapping-Betriebsart betrieben, haben beide Eingänge niedriges Potential und der Ausgang der Gatters 1114 hat ebenfalls niedriges Potential. Daraus folgt, daß die Eingangs-Gruppe A über den Selector 1112 mit Kabel 1102 verbunden ist, um als 8-Bit-Adresse ■ für den SMPM 1100 zu dienen.
Gemäß Fig. 3 wird die 8-Bit-SMPM-Adresse bei Betrieb des Systems in der Mapping-Betriebsart dadurch abgeleitet, daß
509837/0929
die drei oberen Bits zwangsweise zu 0 gemacht werden, daß die 4· Blockzahl-Bits als Adressen-Bits 4-:1 verwendet werden und daß das Adressen-Bit A (11) als Bit 0 der SMPM-Adresse verwendet wird. Unter Hinweis auf die Α-Eingänge des Selectors 1112 soll angemerkt werden, daß die 3 oberen Eingänge an Masse liegen (daher den Wert 0 repräsentieren), daß die Eingänge 4:1 mit den 4· Leitungen im MN(BN)-Kabel 84-2 verbunden sind und daß der am wenigsten signifikante Eingang mit der Leitung A (11) im Adressen-Kabel 1012 verbunden ist. In dieser Weise wird, wenn der Select B-Eingang niedriges Potential hat, die SMPM-Adresse, die dem SPIPM zugeführt wird, in der in Pig. 3 dargestellten Art abgeleitet.
Jede Hälfte des SMPM besteht aus 8 256x1 Speichern. Diese Speicher sind vorzugsweise Halbleiter-Speicher, um schnelle Operationen zuzulassen. Die gleiche 8-Bit-Adresse auf dem Kabel 1102 wird jedem der beiden Unterspeicher in dem SMPM zugeführt, so daß für jeden Zugriff zu dei.ii SMPM ein 16-Bit-Wort gelesen oder geschrieben werden kann. Ob eine Leseoder eine Schreib-Operation stattfindet, hängt ab von den CS- und WE-Signalen. Im Falle einer Schreib-Operation im SMPM (die nicht stattfindet, wenn das System in der Mapping-Betriebsart betrieben wird) erscheint ein 16-Bit-Wort entweder an dem S (i5:0)-Kabel 1224- oder an dem D (15:0)-Kabel 1230-Eingang des 16-Bit-Selectors und Exngangsregisters 1116. Welcher der beiden 16-Bit-Worte für den Schreibvorgang gewählt wird, hängt davon ab, ob der Select S-Eingang hohes oder niedriges Potential hat, wie nachstehend beschrieben. Nimmt der Strobe-Eingang (Takteingang) des Selectors und Eingangs-Registers niedriges Potential·an, wie nachstehend beschrieben, so wird der gewählte 16-Bit-Eingang
509837/0929
in einem Satz von 16-SpeiCher-Elementen (Eingangsregister) abgespeichert. Das so gespeicherte 16-Bit-Wort oder eines seiner beiden Bytes wird dann an der durch das Kabel 1102 spezifizierten Adresse in den SHPM eingeschrieben. Der SMPM kann aus einem Chip 3106 A bestehen. Selector und Eingangsregister kann aus einem Chip SN 74-298 bestehen. (Um diese Speicher- und Selector/Register-Elemente aneinander anzupassen, müssen zwischen Selector/Register und SMPM 16 Inverter vorgesehen werden. Jedes der in dem Eingangs-Register gespeicherten Bits muß vor seiner Weiterleitung zu den Dateneingängen des SMPM invertiert werden. Diese Inverter sind in Fig. 11 nicht dargestellt, da SMPM und Selector/Register nur als Funktionsblocks abgebildet sind).
Der CS-Eingang jeder Hälfte des SMPM ist mit der DIR-Leitung 824 verbunden. Diese Leitung hat niedriges Potential, wenn das System in der Mapping-Betriebsart betrieben wird. Aus Gründen, die nachstehend beschrieben werden, hat der WS-Eingang jeder Hälfte des SMPM hohes Potential, wenn das System in der Mapping-Betriebsart arbeitet. Wie durch die in dem SMPM-Block abgebildeten Betriebscodes angezeigt ist, findet eine Lese-Operation statt, wenn der CS-Eingang niedriges Potential und der WE-Eingang hohes Potential für einen der beiden Unterspeicher hat. Es wird daher der 16-. Bit-Map-Index, der unter der abgeleiteten SMPM-Adresse gespeichert ist, dem R (15:0) Datenleitungs-Ausgangs-Kabel 1130 des SMPM zugeführt.
Wie nachstehend beschrieben, nimmt die STK-D-Leitung 916 nur dann hohes Potential an, wenn das System*in der Stacking-Betriebsart arbeitet. Diese Leitung ist mit einem
509837/0929
Eingang des Gatters 1108 verbunden. Da die Leitung niedriges Potential hat, wenn das System in der Mapping-Betriebsart betrieben wird, hat der Ausgang des Gatters 1108 hohes Potential. Ein Eingang jedes der Gatter^ 132 und 1110"ist mit der SMPM-Leitung 706 verbunden. Da diese Leitung nur dann hohes Potential hat, wenn das System in der SMPM-Betriebsart betrieben wird, liegen die Ausgänge der Gatter 1132 und 1110 beide hoch, wenn das System in der Mapping-Betriebsart betrieben wird. Da die Ausgänge der Gatter 1108, 1132 und 1110 mit allen Eingängen der Gatter 1122, 1106 und 1134- verbunden sind, bleiben die Ausgänge der Gatter 1122 und 1106 auf niedrigem Potential und der Ausgang des Gatters 1134- bleibt hoch. Weil der Ausgang des Gatters 1134 hoch bleibt, werden die Daten nicht in das Eingangs-Register 1116 übertragen. (Während einer
Mapping-Betriebsart muß aus dem SMPM ein Wort gelesen werden, nicht jedoch in den SMPM eingeschrieben). Weil das niedrige Ausgangs-Potential jedes der Gatter 1122 und 1106 den Ausgang eines entsprechenden der Gatter 1104 und 1120 dazu zwingt, hohes Potential zu behalten, bleibt der VE-Befehl se ingang jeder Hälfte des SMPM auf hohem Potential, wenn das System in der Mapping-Betriebsart betrieben wird, so daß aus dem SMPM ein Wort gelesen werden kann.
Der aus dem SMPM gelesene Map-Index erscheint auf dem R (i5:0)-Kabel 1130. Der 16-Bit-Map-Index wird den 16 A-Eingängen des Addierers 1216 zugeführt. Unter Bezug auf Fig. 3 soll daran erinnert werden, daß der 16-Bit-Map-Index, der aus dem SMPM gelesen wird, als einer der Eingänge des Summierers 48 verwendet wird (der dem Addierer 1216 in Fig. 12 entspricht). Vie ebenfalls in Fig. 3 ge-
5 0 9 8 3 7/0929
zeigt, besteht das andere Eingangssignal des Summierers 48 (Addierer 1216), das erforderlich ist, wenn das System in der Mapping-Betriebsart betrieben wird, aus den Adressen-Bits A (10:0).
Die B-Eingänge des Addierers 1216 sind in drei Gruppen unterteilt (wie in Fig. 12 dargestellt). Die Bit-Eingänge 15-12 werden vom Ausgang des Datenselectors 1210 abgeleitet. Wird das System in der Mapping-Betriebsart betrieben, so müssen die Eingänge 15-12 in dem B-Satz des Addierers 1216 gezwungenermaßen O sein, da die einzigen B-Eingänge, die erforderlich sind, diejenigen sind, auf«denen die Adressen-Bits A (10:0) erscheinen. Vie in dem Block, der den Selector 1210 darstellt, abgebildet ist, wird jedes der 4 Ausgangs-Bits des Selectors zwangsweise 0, wie in der Mapping-Betriebsart gefordert, wenn beide der B- und C-Befehlseingänge hoch liegen. Der B-Befehlseingang des Datenselectors ist mit dem Ausgang des Inverters 1212 verbunden, dessen Eingang mit der DIR-Leitung 824verbunden ist. Da diese Leitung niedriges Potential hat, wenn das System in der Mapping-Betriebsart betrieben wird, wird der B-Befehlseingang auf hohem Potential gehalten. Der C-Befehlseingang des Datenselectors ist mit dem Ausgang des Gatters 1214- verbunden. Einer der Eingänge dieses Gatters ist ebenfalls mit der DIR-Leitung 824 verbunden. Der andere Eingang ist mit der ST.AC- oder ST.D-Leitung 902 verbunden, die ebenfalls niedriges Potential hat, wenn das System in der Mapping-Betriebsart arbeitet. Sind beide Eingänge d«s Gatters 1214 auf niedrigem Potential, so liegt der Ausgang hoch, derart, daß der G-3efehlseingang des Datenselectors 1210 ebenso wie der B-Eingang auf hohem Potential liegt.
509837/0929
In dieser Art werden die Bits 15-12 an dem B-Dateneingangssatz des Addierers 1216 alle zwangsweise O, wenn das System in der Mapping-Betriebsart arbeitet.
Die B-Bit-Eingänge 11-1 des Addierers 1216 sind von dem 11-rBit-Datenselector 1218 abgeleitet. Unter Bezug auf Fig. 3 soll angemerkt werden, daß Bit 11 für den Summierer 4-8 (Addierer 1216) nicht erforderlich ist.. Folglich wird der Bit 11-Eingang des Datenselectors 1218 zwangsweise zu O gemacht, wenn das System in der Mapping-Betriebsart arbeitet. Das Adressen-Bit A (11) wird einem Eingang des Gatters 1226 zugeführt, der andere Eingang dieses Gatters ist jedoch mit der DIR-Leitung 824 verbunden. Ungeachtet des Wertes des Airessen-Bits A (11) bei Betrieb des Systems in der Mapping-Betriebsart und bei niedrigem Potential der DIR-Leitung ist der Bit 11-Eingang des Datenselectors 0. Die Adressen-Bits A (10:1) im Kabel 1050 werden.direkt den Bit-Eingängen 10-1 des Datenselectors zugeführt. Arbeitet das System in der Kapping-Betriebsart, so hat der B-Eingang des Datenselectors niedriges Potential, da er mit der STK-Leitung 702 verbunden ist. Die ST.AC- oder ST.D-Leitung 902 ist über Inverter 1228 mit dem T-Eingang des Datenselectors verbunden. Da diese Leitung ebenfalls niedriges Potential hat, wenn das System in der Mapping-Betriebsart arbeitet, liegt der C-Eingang des Datenselectors hoch. Unter Bezug auf die Betriebscode-Tabelle, die in dem Datenselector 1210 abgebildet ist (diese Tabelle kann auch auf den Datenselector 1218 angewandt werden), werden die Bit-Eingänge zum Datenselector ohne Änderung auf die Ausgänge übertragen, wenn der B-Eingang niedriges Potential hat und der C-Eingang hoch liegt. Demzufolge werdei>die Adressen-Bits A (10:1)
509 8 37/0 9 29
2566733
direkt auf die entsprechenden B-Eingänge der Addierers 1216 übertragen und Bit 11 der B-Eingänge des Addierers ist immer 0.
Summierer 4-8 gemäß Fig. 3 erfordert gemäß der Darstellung ein Adressen-Bit A (0). Dieses Bit wird am Ausgang des Gatters 1220 abgeleitet. Ein Eingang dieses Gatters ist mit der ST.I-Leitung 924- verbunden, die niedriges Potential führt, wenn das System in der Mapping-Betriebsart arbeitet. Der andere Eingang dieses Gatters ist mit der A (O)-Leitung 1016 verbunden. Liegt dieser Eingang hoch, dann hat der Ausgang des Gatters 1220 niedriges Potential und hat dieser Eingang niedriges Potential, dann liegt der Ausgang des Gatters 1220 hoch. Da das Gatter 1220 somit als Inverter arbeitet, wenn das System in der Mapping-Betriebsart arbeitet, und Bit A (0) die Ergänzungdes Bits A (0) ist, ist es offenbar, daß der Ausgang des Gatters 1220 niedriges Potential hat, wenn das Bit A (0) eine 0 ist, und hohes Potential hat, wenn das Bit A (0) eine 1 ist. Da der Ausgang des Gatters 1220 direkt mit dem Bit O-Eingang des Eingangssatzes B des Addierers 1216 verbunden ist, wird das Bit A (0) direkt diesem Eingang übertragen, natürlich ist dieser Eingang des Addierers ebenfalls mit dem Ausgang des Gatters 1219 verbunden. Da oecLock ein Eingang dieses Gatters mit der STK-Leitung 702, die auf niedrigem Potential liegt, wenn das System in der Mapping-Betriebsart arbeitet, verbunden ist, beeinflußt der Ausgang des Gatters 1219 den Bit O-Eingang im Satz B des Addierers 1216 nicht.
Der Übertrags-Eingang (CI) des Addierers 1216 ist mit dem Ausgang des Gatters 1222 verbunden. Die beiden Eingänge zu
509837/0929
diesem Gatter - die ST.I-Leitung 924- und die DIR-Leitung 824 - führen "beide niedriges Potential, wenn das System in der Mapping-Betriebsart arbeitet, und es gibt folglich keinen Ubertrags-Eingang für den Addierer. Der Addierer arbeitet daher so, daß er den Map-Index aus dem SIlPM zu den Adressen-Bits A (10:0) addiert, wie in der Erklärung neben dem Addierer dargestellt ist. Die Summe erscheint an dem S (15:0)-Kabel 1224· und stellt die abgeleitete Adresse für den ACS dar. Diese Adresse wird dem S-Eingang des Selectors und Eingangs-Registers 1116 zugeführt, da jedoch das Selector/ Register bei Betrieb des Systems in der Mapping-Betriebsart nicht getaktet wird, wird nichts in den SMPM eingeschrieben.
Die abgeleitete Adresse auf dem S (15:0)-Kabel 1224- wird dem 16-Bit-S-Eingang des Datensslectors und Registers 1316 zugeführt. Arbeitet das System in der Mapping-Betriebsart, so hat die ST.I-Leitung 924· niedriges Potential, so daß der Select R-B-sfehlseingang des Datenselectors und Registers I3I6 niedriges Potential führt. Daher wird die 16-Bit-Adresse an dem S-Eingang des Datenselectors und Registers gespeichert und dem Kabel 1318 übertragen, wenn das Element den Taktimpuls erhält. Dies findet statt, wenn die WD*-Leitung 912 niedriges Potential annimmt. !Timmt diese Leitung niedriges Potential an, nachdem die geeignete Verzögerung durch Kondensator 1056 und Widerstand 1058 am Ausgang des Gatters 1054- gemäß Pig. 10 eingeführt wurde (um genügend Zeit für die Ableitung der ACS-Adresse bereitzustellen, nachdem die MAP-Leitung 828 vorher hohes Potential annimmt), so wer&en-die Adressentreiber 1344 erregt und die Adressen-Bits A1 (15:0) werden dem ACS übertragen. Zur gleichen Zeit werdenxÜe Befehlssignale zum ACS übertragen und
509837/0929
nach Verzögerung durch den Kondensator 1330 und Widerstand 1332 wird das MSYN1-Signal zum ACS übertragen. Es erfolgt dann eine Lese- oder Schreib-Operation. Im Falle einer Schreib-Operation, werden die Daten-Bits D (15:0) von den Daten-Empfängern 1206 über Datentreiber 1310 (die erregt werden, wenn Gatter 1332J- arbeitet und zwar nur im Falle einer Schreib-Operation) auf Kabel D1 (15:0) übertragen. Ob ein Wort oder ein Byte geschrieben wird, hängt vom Wert des Befehls-Bits CO ab. Im Fall einer Byte-Schreib-Operation wird das Byte durch das Adressen-Bit A1 (0) bestimmt. Soll eine Lese-Operation durchgeführt werden, so werden die 16 Daten-Bits D1 (15:0), die aus dem ACS gelesen werden, über Daten-Empfänger 1312 dem Datenselector 1202 und&em Datenselector 1208 zugeführt. Da die Select D11 (15:8)-Leitung bei allen Betriebsarten mit Ausnahme einer Byte-Lese-Operation in der Stacking-Betriebsart hohes Potential behält, v/erden die Daten-Bits D1' (15:8) auf die D1'-Eingänge des Datenselectors 1202 für das obere Byte übertragen und das vollständige 16-Bit-Wort, das aus dem ACS gelesen worden ist, wird den Datentreibern 1204 zugeführt. Die Datentreiber sind erregt, wenn die EU.DR-Leitung 1042 hohes Potential annimmt. Diese Leitung nimmt hohes Potential in dem Fall an, daß eine Lese-Operation in der Mapping-Betriebsart stattfindet, genau so wie bei Betrieb des Systems in der direkten Betriebsart. Die SynchronisierSignal-Abfolge (an der die MSYN-, SSYN-, MSYN*- und SSYN1-Signale beteiligt sind) ist in der Mapping-Betriebsart die gleiche wie in der direkten Betriebsart.
In der erläuterten Ausführungsform der Erfindung 'ist jeder 4k-Block des Rechner-Adressen-Raums in zwei Blätter von je 2k Adressen unterteilt. Jeder MAP-Index identifiziert die Sbart-Adresse eines 2k-Adressen-Blatts in dem ACS und es
509837/0929
werden 11 Adressen-Bits A (10:0) als Versetzung verwendet, um einen der ACS-Speicher-Plätze in dem Blatt zu identifizieren. Die beiden Blätter, die jeden 4k-Adressen-Block in dem ACS umfassen, brauchen nicht zusammenhängend zu sein. Ihre entsprechenden HAP-Indices können Start-Speicherplätze identifizieren, die durch eine beliebige Adressen-Zahl voneinander getrennt sind.
Bei einigen Anwendungen kann es wirtschaftlicher sein, eine andere Blattgröße zu wählen. Beispielsweise hat ein typisches "Blatt", das von der Zentraleinheit verwendet wird, lediglich 512 Daten-Bytes, so kann es wirtschaftlicher sein, jedem Blatt nur 512 Adressen zuzuordnen. Im erfindungsgemäßen System kann die Blattgröße vergrößert oder verringert werden. Pur die Verdopplung der Blattgröße könnte beispielsweise die 4~3it-Mapping-3etriebsart SMPM~Adressen-3its KM(BIT) für die Ableitungeiner SHPM-Adresse der Form OOOOXXXX verwendet werden, statt eine SMPM-Adresse der Form 0002ΧΧΧΪ, wobei das am wenigsten signifikante Bit ϊ ein Adressen-Bit A (11) ist ("U/L-Blatt"- siehe Fig.. 3). In einem solchen Fall würde die Versetzung in dem Blatt eine von 4k-Adressen repräsentieren und die Adressen-Bits A (11:0) anstelle der Adressen-Bits A (10:0) würden über Selector 1218 dem Addierer 1216 zugeführt. Auf der anderen Seite soll angenommen werden, die Blattgröße soll lediglich 512 Bytes haben. In einem solchen Fall hätte die SMPM-Adresse die Form ΟΧΧΧΧΪΤΪ, wobei die SMPM Adressen-Bits XXXX den 4- Bit MM (BN)-Code darstellen und die SMPM-Adressen-Bits ΧΓΪ die Adressen-Bits A(11:9) sind. Da nur 9 Adressen-Bits erforderlich wären, um eine Versetzung in einem Blatt mit dieser reduzierten 512-Byte-Größe zu repräsentieren, wurden nur die Adressen-Bits A
509837/0929
(8:0) über Selector 1218 auf den Addierer 1216 übertragen.
Wie bekannt, können Verbindungsblocks (Jumper-Blocks) vorgesehen werden, um Hardware-Verbindungen zur Festlegung einer Blattgröße zu erstellen, wie auch zur Bestimmung, welcher der rechnererzeugten Adressen-Bits dem Selector 1112 zugeführt werden und welche über Selector 1218 dem Addierer 1216 zugeführt werden. Ein erster Verbindungsblock würde verwendet, um die 4- MM (BIT) Bits mit den richtigen Eingängen des Selectors 1112 zu verbinden und die richtige Zahl der rechnererzeugten Adressen-Bits den Selector-Eingängen zuzuführen. Ein weiterer Verbindungsblock zusammen mit einer Erregungs-Logik, die in der Mapping-Betriebsart arbeitet, würde die Zuleitung der richtigen Zahl von rechnererzeugfcen Adressen-Bits zu den Eingängen des Selectors 1218 verwendet. Die richtigen Konfigurationen abhängig von der gewünschten Blattgröße sind für den Fachmann offenbar.
Zeitlicher Ablauf in der SHPM-Betriebsart
Unter Bezug auf Fig. 1 soll ins Gedächtnis zurückgerufen werden, daß die Bits GW (13:8) des Leitwortes die 1k-Grenze in dem Hechner-Adressen-Raum repräsentieren, oberhalb deren die 512-Adressen SMPM-Zone enthalten ist. Ebenso soll unter Bezug auf Fig. 4- daran erinnert werden, daß eine Außenverbindung erstellt wurde, um zu bestimmen, ob die SMPM-Zone in der oberen oder in der unteren Hälfte des 1k Adressen-Raums direkt oberhalb dieser 1k-Grenze lag.
509837/0929
Die 1k-Grenze ist in den 6 untersten Positionen des 8-Bit-Flip-Flops 710 gespeichert. Die Leitwort-Bits CV (13:8), die die Grenze definieren, werden in dem 8-Bit-Flip-Elop während des Ablaufs der Steuer-Betriebsart wie nachstehend beschrieben gespeichert. Die 6 Bits v/erden den 6 Eingängen des 8-Bit-Komparators 714 (zwei Chips 8242) zugeführt.
Obgleich der Komparator einen Satz von 8 Bits mit einem anderen Satz von 8 Bits vergleicht, ist es am einfachsten, sich vorzustellen, daß der Komparator drei verschiedene Vergleiche durchführt. Der erste Vergleich, im oberen Teil des Komparators 714 dargestellt, stellt in einfacher Form sicher, daß das MAS-Bit-CW (15) - eine 1 ist. Das MAS-Bit, das eine 1 sein muß, wenn die SMPK-Betriebsart nicht gesperrt sein soll, wird mit einem entsprechenden Bit des Wertes 1 verglichen, das durch Verbindung mit dem entsprechenden Eingang des Komparators mit einem positiven Potential, wie dargestellt, abgeleitet wird.
Die durch die Bits CW (13:8) repräsentierte SMPM-Start-Grenze wird mit den Adressen-Bits A (15:10) verglichen, wie in Fig. 4 dargestellt. Nur wenn eine empfangene Adresse innerhalb der 1k Zone liegt, deren untere Grenze durch die Adressen-Bits A (15:10) definiert ist, kann eine Operation in der SMPM-Betriebsart stattfinden. Da ein Blatt in dem Rechner-Adressen-Raum aus 2k Adressen besteht, besteht ein 1k Adressen-Raum aus einem halben Blatt und demzufolge führt der Vergleich der Bits CW (13:8) mit den Bits A (15:10) dazu, einen Halb-Blatt (HP)-Vergleich zu erkennen', wie
509837/0929
innerhalb des Komparators 714- angezeigt.
Als letzter Satz in dera Vergleich wird das Adressen-Bit A (9) mit dem Verbindungs-Options-Bit verglichen, das die SMPM-Zone entweder in der oberen oder in der unteren Hälfte des Halb-Blattes anlegt, die durch die SMPM-Start-Bits definiert ist. Dieser letzte Vergleich stellt sicher, daß das Viertel-Blatt, das die rechnererzeugte Adresse enthält, das gleiche wie das durch die Verbindungs-Option definierte ist. Schalter 716 ist ein Schalter mit drei Stellungen. In der gezeigten Stellung ist das Bit, mit dem das Adressen-Bit A (9) verglichen wird, eine O, wodurch das untere Viertel-Blatt definiert ist. Steht der Schalter in seiner mittleren Stellung, so ist er mit einem positiven Potential verbunden, derart, daß das obere Viertel-Blatt definiert ist. Obgleich in der allgemeinen Beschreibung nicht beschrieben, gibt es noch eine weitere Option, die angewandt v/erden kann und die darin besteht, den Schalter 716 in seine oberste Stellung zu bringen, in der er mit dem Ausgang des am wenigsten signifikanten Bits CW (8) im Flip-Flop 710 verbunden ist. In einem derartigen Fall wird das gleiche Bit CV (8), das zum Vergleich mit dem Adressen-Bit A (9) verwendet wird, für den Vergleich mit dem Adressen-Bit A (10) verwendet. Ist das Adressen-Bit CW (8) eine 0, wobei die SMPM-Start-1k-Grenze geradzahlig ist, dann muß Bit A (9) eine 0 sein, damit der SMPM-Ausgang des Komparators 714· erregt wird. Ist auf der anderen Seite das am wenigsten signifikante Bit CW (8), das die SMPM Start-1k-G-renze definiert, eine 1, dann muß das Adressen-Bit A (9) eine 1 sein, damit der SMPM-Ausgang des Komparators erregt
509837/0929
wird. Dies bedeutet, daß, wenn Schalter 716 in der obersten Stellung gemäß Pig. 7 steht, die SMPM-Zone notwendigerweise im unteren "Viertel des 2k-Adressen-Blocks liegt, der die gesamten SMPM- und Stacking-Zonen enthält oder in dem "obersten Viertel des gleichen 2k-Blocks. Die SMPM-Zone kann nicht so gewählt werden, daß sie innerhalb einer der beiden mittleren 512-Adressen-Zonen fällt. Der Vorteil, den Schalter 716 in die oberste Stellung zu bringen, besteht darin, daß dies gestattet, die SMPM-Zone unter Software-Steuerung zu variieren, ohne eine Änderung der Stellung des Schalters 716 von Hand zu erfordern. Wird das Leitwort verändert, um eine neue 1k-Grenze zu definieren, so definiert der darüber liegende Ik-Adressen-Raum, der die SMPM-Zone enthält, von ach aus, ob die SMPM-Zone in der oberen oder unteren Hälfte dieses 1k Adressen-Raums liegt, davon abhängig, ob die 1k-Grenze ungradzahlig oder gradzahlig ist.
Angenommen, der Komparator 714· bestimmt, daß die empfangene Adresse innerhalb der SKPM-Zone liegt, so nimmt sein Ausgang hohes Potential an. Die SMPM-Leitung 706 kann jedoch durch das Gatter 718 auf niedrigem Potential gehalten werden. Die beiden Eingänge zu diesem Gatter sind Adressen-Bits A1 (17) und A1 (16) und das Gatter 718 arbeitet in.der gleichen Weise lie Gatter 810. Nur wenn die empfangene Adresse in dem richtigen Quadranten liegt, kann ein Betrieb in der SMPM-Betriebsart stattfinden. Der Inverter 720 ist vorgesehen, um das SMPM-Signal auf Leitung766 zu erzielen. Wie vorstehend beschrieben, muß, damit ein Betrieb in der SMPM-Betriebsart stattfinden kann, die Leitung 766 niedriges Potential haben, um zu verhüten, daß die MAP-Leitung 828 oder die
509837/0929
DIR-Leitung 824- hohes Potential annehmen, da die SMPM-Betriebsart eine höhere Priorität hat als die Happing-Betriebsart und die direkte Betriebsart.
Das hohe Potential auf der SMPM-Leitung 706 wird über das ODER- -Gatter 1114- dem Select B-Eingang des Selectors 1112 zugeführt. Liegt dieser Eingang des Selectors hoch, so ist die B-Eingangs-Gruppe für die Verbindung mit dem Kabel 1102 gewählt. Die B-Eingangs-Gruppe besteht aus Adressen-Bits A (8:1). Wie in Fig. 4- gezeigt, ist es diese Gruppe von 8 Adressen-Bits, die einen der 255 Wort-Speicher-Plätze in dem SMPM definiert. Die SMPM-Leitung 706 ist auch.mit dem Select R-^Eingang des 16-Bit Datenselectors 1202 verbunden. Wird der Select R-Eingang auf hohem Pegel gehalten, so ist es die R (7:0) Gruppe von Daten-Bits, die für die Verbindung mit den Eingängen für das untere Byte der Treiber 1204- ausgewählt ist und die R (15:8) Gruppe von Daten-Bits, die für die Verbindung mit den Eingängen für das obere Byte der Treiber 1204- ausgewählt ist. Arbeitet das System in der SMPM-Betriebsart, so wird in den SMPM entweder ein Wort eingeschrieben oder ausgelesen. Wird ein Wort aus dem SMPM gelesen, so erscheint es auf dem R (15^0) -Kabel 1130. Wie im Fall einer Lese-Operation, bestimmt durch das C1 Befehlsbit, arbeitet das Gatter 1036 derart, daß es die EN.DR-Leitung erregt, so daß die Treiber 1204- erregt werden, um ein 16-Bit-Wort auf die PDP 11-UKIBtJS-Da tenl ei tungen zu übertragen.
Soll ein Wort oder ein Byte in den SMPM eingeschrieben v/erden, so erscheinen die von der Zentraleinheit empfangenen Daten-Bits auf dem D (15:0)-Kabel 1230. (Im Falle einer Byte-
509837/0929
Schreib-Operation erscheint das gleiche Byte sowohl auf den Datenleitungen für das obere als auch für das untere Byte). Es soll daran erinnert werden, daß Selector/Register 1116 2 Gruppen mit 16-Bit Eingängen S und D hat. Me Gruppe S wird nur dann gewählt, wenn der Select S-Eingang hoch liegt. Da dieser Eingang mit der STK-Leitung 702 verbunden ist, die niedriges Potential führt, wenn das System in der SMPM-Betriebsart arbeitet, wird die Eingangs-Gruppe D gewählt. Folglich können Daten, die auf dem D (15:O)-Kabel 12J0 erscheinen, in das Eingangs-Hegister 1116 eingeschrieben werden, wenn der Strobe (Takt)-Eingang niedriges Potential annimmt.
Arbeitet das System in der SMPM-Betriebsart, so wird im Fall einer Lese-Operation ein vollständiges 16-Bit Wort gelesen und den Datenleitungen in dem PDP 11 UNIBUS zugeführt. Im Falle einer Schreib-Operation jedoch kann entweder ein Wort oder -'.-.Lr" Byte geschrieben werden. Soll eine Byte-Schreib-Operation stattfinden, so kann entweder ein oberes oder ein unteres Byte geschrieben werden. Die verschiedenen Gatter, die unterhalb des SIIPM dargestellt sind, bestimmen, welche der verschiedenen Operationen stattfinden.
Wie vorstehend beschrieben, liegen die Ausgänge der Gatter 1108, 1132 und 1110 normalerweise alle hoch. Dies hält umgekehrt die Ausgänge der Gatter 1122 und 1106 auf niedrigem Potential und den Ausgang des Gatters 1154- hoch. Im Fall einer Lese-Operation ist das Befehlsbit C1 eine O. Leitung C1 am Ausgang des Befehlsempfängers 1004· hat daher niedriges Potential undVrite-Leitung 1014 bleibt auf niedrigem Potential. Da diese Leitung mit einem Eingang jedes Gatters
509837/0929
1132 und 1110 verbunden ist, bleiben die Ausgänge dieser beiden Gatter auf hohem Potential. Einer der Eingänge des Gatters 1108 ist mit der STK-D-Leitung 916 verbunden» die nur dann hohes Potential annimmt, -wenn eine Operation in der Stacking-Betriebsart stattfinden soll. Wird daher das . System in der SMPM-Betriebsart betrieben, so bleibt der Ausgang des Gatters 1103 ebenfalls auf hohem Potential. Somit bleiben alle Eingänge der Gatter 1122, 1106 und 1124 auf hohem Potential, wenn eine Lese-Operation in der SHPM-Betriebsart durchgeführt werden soll. Der Strobe-Eingang des Selector/Register 1116 bleibt auf hohem Potential. Dies ist die geforderte Operation, da bei einer Lese-Folge kein Daten-Wort in den SIlPH eingeschrieben werden soll. Die Ausgänge der Gatter 1122 und 110& bleiben beide auf niedrigem Potential, so daß die Ausgänge der beiden Gatter 1104- und 1120 auf hohem Potential bleiben. Daher ist der WE-Singang jeder Hälfte des SKPH auf hohem Potential. Da der OS-Eingang jeder Hälfte des SHPM mit der DIR-Leitung 824 verbunden ist, die, wenn das Systea in der SMPH-Betriebsart arbeitet, auf niedrigem Potential liegt, wie in der Tabelle innerhalb des SHPM-Blocks dargestellt ist, findet eine Lese-Operation statt. Das 16-3it-Wort an dem durch die 8-Bit-Adresse auf Kabel 1102 spezifizierten Speicher-Platz wird dem H (15:0) Kabel 11J0 zwecks Weiterleitung über Datenselektor 1202 zu den Datentreibern 1204- zugeführt.
Die ""aten werden jedoch den Datenleitungen des PDP 11 UIfIBTJS nicht zugeführt, bevor dar Enable-Eingang der Treiber nicht auf hcheta Potential liegt. Da das 01 Befehlsbit eine 0 ist
im Fall einer Lese-Operation, liegt der Ausgang des Inverters 1032 hoch, um einen Eingang des Gatters 1036 zu erregen. Überträgt die Zentraleinheit das MSXH Befehlssignal, so nimmt ein Eingang des Gatters 1040 hohes Potential an. ilimmt dann der andere Eingang dieses Gatters hohes Potential an, so nimmt auch der SSYN-Ausgang des Gatters hohes Potential an, um sowohl die Operation des Gatters 1036 zu steuern, damit die Datentreiber 1204 arbeiten können, als auch die Übertragung eines SSYN-Signals über einen der Befehlstreiber 1006 zu der Zentraleinheit zu veranlassen. (Die Zentraleinheit "erwartet" ein SSYIT Signal von einer peripheren Einheit zur gleichen Zeit, in der sie im Pail einer Lese-Operation Daten empfängt). Das SSYH-Befehlssignal entsteht bei der direkten und bei der Mapping-Betriebs-Art auf der SSXIT-Befehlaleitung vom ACS, die über ein ODER-Gatter 1038 geführt wird«, Wird das System jedoch in der SKPM-B3triebsart betrieben, so wird an erster Stelle Zugriff zum ACS erlangt. Es muß daher in anderer Weise ein Signal über das ODER-Gatter 1038 abgeleitet werden. Aus diesem Grund ist das ODER-Gatter 1062 vorgesehen. Ein Eingang dieses Gatters ist mit der SMPM-D-Leitung 925 verbunden. Diese Leitung ist mit dem Ausgang des Gatters 926 verbunden. Die beiden Eingänge zu diesem Gatter werden durch die SMPM-Leitung 706 und die MSYN-Leitting 1046 dargestellt. Die SMPH-Leitung liegt aus hohem Potential, wenn eine Operation in der SMPM-Betriebsart stattfinden soll. Sobald die Zentraleinheit das MSYN-Synchronisier-signal überträgt, werden beide Eingänge des Gatters 926 erregt, 3er Ausgang des Gatters steigt nicht sofort an, ^cndem iss durch Kondensator 928 und Widerstand 930 vm 90 Ksiig Sekunden verzögert* Die SMPM-B-Leitung 925 wird in ilirea Anstieg auf hohes Potential ver-
K w Cs I*" '"^ **i w 'J C> i- -,J I
zögert, nachdem ein Wort aus dem SHPM gelesen ist und an den 16 Eingängen der Datentreiber 1204- erscheint. Es wird nur dann ein Signal hohen Potentials auf der SMPM-D-Leitung 925 für die Weiterleitung über ODER-Gatter 1062 und 1038 erzeugt, um die Übertragung sowohl der Daten als auch des SSYN-Signals zur Zentraleinheit zu steuern.
Nachdem die Zentraleinheit die Daten zusammen mit dem SSYN-Befehlssignal empfangen hat, wird die MSYN-Befehlsleitung in dem PDP 11 UIiIBUS in ihren Normalzustand zurückgeführt. Da -in Eingangdes Gatters 1040 jetzt auf einem niedrigen Pegel liegt, geht der Ausgang des Gatters auf niedriges Potential und die SSYN-Befehlsleitung wird in ahnlicrar Weise rückgeführt.
Im Falle einer Schreib-Operation in der SMPM-Betriebsart bleibt die STK-D-Leitung 916 auf niedrigem Potential, wie im Fall einer Lese-Operation in der SHPM-Befcriebsart. Demzufolge bleibt der Ausgang des Gatters 1108 hoch und hat keinen Einfluß auf die Operationen der Gatter 1122, 1106 und 1134·. Die Write-Leitung 1014- liegt is Fall einer Schreib-Operation auf hohem Potential. Diese Leitung ist mit einem Eingang jedes Gatters 1132 und 1110 verbunden. Ein weiterer Eingang jedes dieser Gatter ist mit der SMPM-Leitung 706, die auf hohem Potential liegt, verbunden. Daher nimmt der Ausgang jedes dieser Gatter einen Zustand an, der vom Zustand des entsprechenden dritten Eingangs abhängt, welcher umgekehrt durch die entsprechenden Gatter 1136 und 1138 gesteuert wird.
509837/0929
Ein Eingang jedes der Gatter 1136 und 1133 ist mit der CO-Leitung 1054 verbunden. Diese Leitung hat niedriges Potential (sie repräsentiert ein CO-Bit mit dem Wert 0), wenn ein Wort, zum Unterschied von einem Byte, geschrieben werden soll. Da die CO-Leitung mit jedem der Gatter 1136 und 1138 verbunden ist, nehmen die Ausgänge beider Gatter hohes Potential an, um den dritten Eingang jedes Gatters 1132 und 1110 zu erregen. Der AusgangxJedes dieser Gatter nimmt daher niedriges Potential an. Da die Ausgänge jedes dieser Gatter mit den Eingängen aller Gatter 1122, 1106 und 1134 verbunden sind, geht der Ausgang des Gatters 1134 auf niedrigen Pegel, um das Selector- und Eingangs-Register 1116 zu takten, und der Ausgang der beiden Gatter 1122 und 1106 geht auf hohes Potential. Die Ausgänge der Gatter 1122 und 1106 werden verzögert und nehmen daher nicht sofort hohes Potential an. Dies erfolgt durch die Verzögerungsschaltungen aus den Kondensatoren 1140 und 1142 und den Widerständen 1144 und 1145. Die negative Planke am Ausgang des Gattern 1134 veranlaßt, daß das Datenwort auf des D (15:0)-Kabel 1230 in dem Eingangsregi'ster das dem SIlPM zugeordnet ist, gespeichert wird. Die Ausgänge der Gatter 1122 und 1106 nehmen ihr hohes Potential mit einer Verzögerung von 60 Nanosekunden an, nachdem das Datenwort in Eingangsregister gespeichert ist. Gehen die Ausgänge der Gatter auf hohes Potential, so wird einer der Eingänge jedes Gatters 1104 und 1120 erregt. Sobald das MSYN-Signal von der Zentraleinheit empfangen ist, gehen die Ausgänge jedes dieser Gatter auf niedriges Potential. Daher ist der WE-Eingang jeder Hälfte des SMPM zusammen mit dem CS-Eingang auf niedrigem Pegel. Daraus folgt, wie in der Tabelle innerhalb desSMPM-Blocks angedeutet ist, daß eine Schreiboperation
509837/0929
stattfindet und ein vollständiges 16-Bit-Wort in den SPIPM geschrieben wird.
Soll ein Byte in den SPIPM geschrieben werden, statt eines Wortes, so führt die CO-Leitung 1064 hohes Potential. Bei welchem der Gatter 1136 und 1138 der Ausgang auf hohes Potential geht, hängt ab vom Zustand des anderen Gatter-Eingangs. Die A (O)-Leitung 1048 ist mit einem Eingang des Gatters 1138 verbunden. Diese Leitung führt niedriges Potential, wenn ein unteres Byte in den SMPPI geschrieben werden soll (da die Adresse, die von der Zentraleinheit übertragen ist, notwendigerweise gradzahlig iat), so daß der Ausgang des Gatters 1138 hoch liegt. Dies veranlaßt umgekehrt, daß der Ausgang des Gatters Tl"_A niedrigem Potential annimmt, so daß das aus einem Doppel-Byte bestehende Wort auf den Datenleitungen getaktet und damit in das Selector- und Eingangs-Register 1116 überführt werden kann, und der Ausgang des Gatters 1106 nimmt hohos Potential an, naoh einer Verzögerung, die durch den Kondensator 1140 und den Widerstand 1144 festgelegt ist. Da jedoch der Ausgang- des Gatters 1110 nicht mit einem Bingangdes Gatters 1122 verbunden ist, bleibt dar Ausgang des letzteren Gatters auf niedrigem Potential. Folglich geht nur der Ausgang des Gatters 1104 auf niedriges Potential, wenn das MSIET-Signal von der Zentraleinheit empfangsn wird. Da der Ausgang des Gatters 1120 hoch bleibt, wird ein Byte in die untere Byte-Hälfte des SMPH eingeschrieben.
Ist auf der anderen Seite das Bit A (0) eine 1, dann nimmt anstelle der A (0)~Leitung 1048 die A (0)-leitung 1016 nie-
5 09837/0929
driges Potential an. In diesem Fall nimmt der Ausgang des Gatters 1136 hohes Potential an, statt der Ausgang des Gatters 1138, und statt des Ausgangs des Gatters 1110 nimmt der Ausgang des Gatters 1130 niedriges Potential an. -Da der Ausgang des Gatters 1132 mit dem Eingang des Gatters 1122 verbunden ist, statt mit einem Eingang des Gatters 1106, ist es Gatter 1122, dessen Ausgang hohes Potential annimmt, nachdem der Ausgang des Gatters"1134- auf niedriges Potential gegangen ist. nachdem das Doppel-Byte Eingangswort getaktet und in das Eingangsregister übertragen ist, ist es der Ausgang des Gatters 1120. der niedriges Potential annimmt, wenn das MSXN-Signal empfangen ist, so daß ein Byte in die obere Byte-Hälfte des SMPH eingeschrieben wird.
Die Synchronisiersignalfolge, die über den PDP 11-UNIBUS für eine Schreib-0peration übertragen wird (Wort oder Byte) ist identisch mit der Folge für eine Lese-Operation wie vorstehend beschrieben.
Zeitlicher Ablauf bei der Stacking-Betriebsart
Der Komparator 720 (2 Chips8242) hat die Aufgabe, zu bestimmen, ob eine empfangene Adresse innerhalb der Stacking-Zone liegt, und ob eine Stacking-Operation stattfinden soll, auch wenn die empfangene Adresse innerhalb der Stacking-Zone liegt. Der S-Bit Komparator ist mit 4- Sätzen von paarweise angeordneten Eingängen ausgestattet. Der obere Satz ist im oberen Satz im Komp3ratox* 714- vergleichbar. Das IiAS-Bit CW (15) des vorher gespeicherten Leitwortes wird mit'einem Bit vom Wert 1 verglichen, um zu bestimmen, daß das Hauptbit vor-
509837/0929
her gesetzt war. Hur wenn das MAS-Bit eine 1 ist, können sowohl Stacking- als auch SMPM- und Mapping-Operationen stattfinden. In ähnlicher Weise wird das Stacking-Bit CW (14) in dem Leitwort mit einem Bit des Wertes 1 am. zweiten Eingangssatz des Eomparators 720 verglichen, um sicherzustellen, daß die Stacking-Betriebsart anliegt.
Es soll daran erinnert werden, daß die 512-Adressen SMPM Zone so ausgelegt werden kann, daß sie eine der 4- 512-Adressen-Stacking-Zonen überlagert. Da die SMPM-Betriebsart eine höhere Priorität als die Stacking-Betriebsart hat, muß, wenn die empfangen,. Adresse innerhalb der SMPM-Zone liegt, eine Stacking-Operation gesperrt werden. Das untere Eingangspaar im Komparator 720 ist für diesen Zweck vorgesehen. Die SMEn-Leitung 706 wird zu einem der Eingänge geführt. Diese Leitung hat niedriges Potential, repräsentiert also eine 0, nur dann, wenn keine SKPM-Operation durchgeführt werden soll. Das durch den Zustand der SMPM-Leitung repräsentierte Bit wird alt eineiri Wort von Bit 0 verglichen, um festzulegen, ob eine Stacking-Operation gesperrt werden soll.
Die 2k-Adressen Stacking-Zone, die in Fig. 1 dargestellt, liegt innerhalb von 2k-Grensen. Die untere 2k-Grenze ist durch die 5 signifikantesten Bits der 6-Bit SMPM-Start-1k-Grenze definiert, die durch die Leitwort-Bits CW (13:8) im e-Bit-Speicher-Plip-Plop 710 repräsentiert wird. Die 5 signifikantesten Bits CW (13:9) werden den 5 Eingängen des zweiten untersten Satzes des Komparators 720 zugeführt. Die Adressen-Bits A (15:11) werden den anderen 5 entsprechenden Eingängen dieses Satzes zugeführt. De.r Komparator
509837/0929
vergleicht die entsprechenden Bits, um zu bestimmen, ob die 5 oberen Bits der SHPM Start-1k-Grenze den Adressen-Bits A (15:11) entsprechen, die im Block 52 der Fig. 5 dargestellt, d.h., ob die empfangene Adresse in dem 2k-Adressen-Blatt, das durch die Bits CW (13:9) definiert ist, enthalten ist. (Die Yergleichslogik 52 in Fig. 5 zeigt an, daß eine Operation in der Stacking- oder in der SMPM-Betriebsart stattfinden soll, wenn die beiden Sätze von 5 Bits, einander entsprechen. Dieses nur, weil in der Darstellung der Fig. 5 nicht gezeigt ist, in welcher Weise die SMPK-Betriebsart Priorität gegenüber der Stacking-Betriebsart hat. In der Ausführungsschaltung prüft der Komparator 720 außerdem, daß die empfangene Adresse nicht innerhalb der SMPM-Zone liegt. Folglich ist es eine Anzeige, daß eine Stacking-Operation stattfinden soll, wenn der Ausgang des !Comparators hohes Potential annimmt).
Erkennt der Komparator 720 eine 8~Bit-Entsprechung, so erregt er die STK-Leitung 702, hohes Potential anzunehmen. Die Leitung kann jedoch auf niedrigem Potential gehalten werden, wenn der Ausgang des Gatters 722 niedriges Potential hat. Wie dargestellt, verhütet dieses Gatter einfach, daß die STk-Leitung hohes Potential annimmt, wenn die Adressen-Bits A1 (17) und. A' (16) nicht beide den Wert 0 haben. Die Gatter dienen der gleichen Funktion wie das Gatter 718 und das Gatter 810. Der Inverter 724 erzeugt auf der STK-Leitung 764 ein niedriges Potential, wenn die STK-Leitung 702 hohes Potential annimmt. Wie vorstehend beschrieben, dient ein niedriges Potential auf der Leitung 764 dazu, Operationen in der Mapping- und in der.direkten Betriebsart zu sperren, da die Stacking-Betriehsart eine
509837/0929
höhere Priorität hat.
Die STE-Leitung ~/02 wird zu eine."; Eingang des Gatters 932 geführt. Der andere Eingang dieses Gatters ist mit der MSYN-Leitung 1046 verbunden. Der Ausgang&es Gatters nimmt? hohes Potential an, sobald das MSYN-Signal von der Zentraleinheit empfangen wird. Der Ausgang des Gatters nimmt jedoch hohes Potential mit einer Verzögerung von 70 Nanosekunden, hervorgerufen durch Kondensator 934- und Widerstand 936, an. Die Verzögerung ist vergleichbar mit der an den Ausgängen der Gatter 1022, 1054- und 926.
Arbeitet das System in der Stacking-Betriebsart, so kann jede der verschiedenen seitlichen Abfolgen auftreten. Wie in J1Ig. 5 gezeigt, hängt die Unterbetriebsart, in der das System arbeitet, von den Adressen-Bits A (10) und A (9) ab. Gemäß I1Xg. 9 sind verschiedene Gatter vorgesehen, um Signale zu erzeigen, die n^-Vafolg.:■-·.:"? verwendet v/erden, abhängig von der b-3stiTamten Unter-Betriebsart, die durch diese beiden Adressen-Bits spezifiziert wird. Die STK-leitung 702 wird direkt einem Eingang des Gatters 933 zugeführt. Den anderen beiden Eingängen dieses Gatters werden die Adressen-Bits A (10) und A (9) zugeführt. Ifur wenn alle 3 Eingänge hoch liegen, nimmt der Ausgang des Gatters (ST.AC*) niedriges Potential an. Unter Bazug auf Fig. 5 soll angemerkt werden, daß, wenn das System in der Stacking-Betriebsart arbeiten soll (dadurch gekennzeichnet, daß die STE-Leitung 702 auf hohem Potential liegt), und wenn die Adressen-Bits A (10) und A (9) den Code 11 repräsentieren, die empfangene Adresse innerhalb der S-AC-Zone liegt und eine ansteigende Stack-
509837/0 82S
Check-Operation durchgeführt werden soll. In dieser Unterbetriebsart nimmt der entsprechende Stack-Index ab, um Zugriff zu dem ACS zu erhalten, so daß das zuletzt gespeicherte Vort oder Byte gelesen werden kann. Der am Ende des Zyclus im SMPM zurückgelassene Stack-Index ist gegenüber seinem Wert zu Beginn des Zjiclus unverändert, so daß er den nächsten Speicherplatz in dem ACS anzeigt, in den ein Wort geschrieben werden kann. Eine Operation in dieser Unterbetriebsart wird angezeigt, wenn die ST.AC*-Leitung 920 niedriges Potential annimmt.
Zwei der Eingänge des Gatters 9ZK) sind mit der STK-Leitung 702 und mit der Adressen-Bit-Leitung A C9) verbunden. Der dritte Eingangdes Gatters 940 ist mit dem Ausgang des Gatters 93B verbunden. Da 2 der Eingänge des Gatters 9*4-0 die gleichen sind wie 2 der Eingänge des Gatters 938 und der Ausgang des Gatters 9ZW nur dann hohes Potential annehmen kann, wenn der Ausgang des Gatters 933 hohes Potential führt, folgt daraus, daß der Ausgang des Gatters 9-4-0 nur dann hohes Potential annehmen kann, wenn der dritte Eingang A (10) des Gatters 938 auf niedrigem Potential bleibt, wenn die anderen beiden Ausgänge hoch liegen. Dies bedeutet, daß der Ausgang des Gatters 9*4-0 nur dann hohes Potential annimmt, nachdem bestimmt ist, daß eine Operation in der Stacking-Betriebsart stattfinden soll, und die Adressen-Bits A (10) und A (9) einen 01-Code repräsentieren. Vie in Fig. 5 angezeigt, liegt die empfangene Adresse innerhalb der S-I-Zone, wenn die Adressen-Bits A (10) und A (9) einen 01-Code repräsentieren, und das System muß in der linterbetriebsart mit aufcoaabisoh3üi Zuwachs betrieben werden. Arbeitet das Gatter 940 30 nimmt die ST.I-Leitung 92-4- hohes Potential an, um
509837/0929
anzuzeigen, daß der Stack-Index, der durch die anderen Adressen-Bits repräsentiert wird, für den Zugang zum ACS verwendet werden soll, wonach er erhöht und in den SMPM rückgespeichert werden soll. Die ST.-I-Leitung 924 wird zu einem Eingang des Gatters 942 geführt. Der andere Eingang dieses Gatters ist mit der MSXIT-Leitung 1046 verbunden. Der Ausgang des Gatters ist damit erregt, um hohes Potential anzunehmen, sobald das MSYH-Signal empfangen ist, wenn das System in der TJnterbetriebsart mit automatischem Zuwachs arbeitet. Der Ausgang des Gatters nimmt jeich sein hohes Potential nicht sofort, sondern durch die Schaltung aus Kondensator -^44 und Widerstand 945 verzögert an. Die St. I-D-Leitung, die mit dem Ausgang des Gatters 942 verbunden ist, geht auf hohes Potential, um die Operation des Gatters 908 einzuleiten, nachdem 55 ITanosekunden nach dem Empfang des MSTIT-Signals vergangen sind.
Ein Eingang des Gatters 948 ist mit der STK-Leitung 702 verbunden. Der andere Eingang zu diesem Gatter ist mit der A (10) Adressen-Bit-Leitungverbunden. Demzufolge nimmt der Ausgang des Gatters 94S nur dann hohes Potential an, wenn eine Operation in der Stacking-Betriebsart stattfinden soll, und nur, wenn das Adressen-Bit A (10) eine 1 ist. Wie in Fig. 5 angedeutet, ist das Adressen-Bit A (10) eine 1, wenn das System in der ühterbetriebsart "ansteigender Stack" oder "automatische Abnahme" betrieben wird. (Im letzteren Fall wird der entsprechende Stack-Index zunächst verringert und der verringerte Wert dann benutzt, um Zugriff zu dem ACS zu erlangen und in den SMPM einzuschreiben). Die ST.AC oder ST.D-Leitung 902 nimmt daher hohes Potential, an, wenn das System in einer dieser beiden Unterbetriebsarten arbei-
509837/0929
tet, d.h., die empfangene Adresse innerhalb entweder der S-D-Zone oder der S-DC-Zone liegt, wie links in Fig. 5 dargestellt.
Gatter 952 ist vorgesehen, um eine ungültige Operation zu erkennen. Arbeitet das System in der Stacking-Betriebsart, so wird ein 16-Bit-Stack-Index aus dem SHPM gelesen und entweder direkt für den Zugriff zu dem ACS verwendet oder zuvor modifiziert. Soll eine Wort-Operation stattfinden, so muß die dem ACS zugeführte Adresse gradzahlig sein. Sogar wenn die Adresse, die aus dem SMPM gelesen ist, vor dem Zugriff zu dem ACS modifiziert ist, wird die Adresse im Fall einer Wort-Operation um den Wert 2 verändert. Daher muß, ungeachtet dessen, in welcher Unterbetriebsart das System arbeitet, wenn eine Stacking-Operation durchgeführt werden soll, das am wenigsten signifikante Bit E (O), das aus dem SMPM gelesen ist, eine 0 sein, falls eine Wort-Operation erforderlich ist. Da in jeder der 4- Stacking-Unterbetriebsarten immer eine Wort-Operation stattfindet, wenn das Adressen-Bit A (0) eine 0 ist, ist es offenbar, daß, wenn das Adressen-Bit A (0) eine 0 ist, ein Fehler vorliegt, falls Bit S (0), das aus dem SMPM gelesen ist, eine ist. Gatter 952 erkennt dieses. Der Inverter 950 dient zum Invertieren des A (0) Adressen-Bits, so daß das Bit A (θ) als ein Eingang für das Gatter 952 dient. Der andere Eingang zu diesem Gatter ist das Bit R (0), das aus dem SMPM gelesen ist und auf der Leitung 1150 erscheint. Ist das Adressen-Bit A (0) eine 0, dann hat der A (0)-Eingang des Gatters 952 hohes Potential. Ist Bit R (0) eine 1 zu dieser Zeit, um so einen Fehler anzuzeigen, dann geht der Ausgang des Gatters 952 auf niedriges Potential. Da der Ausgang die-
509837/0929
ses Gatters mit einem Eingang des Gatters 908 wie auch mit einem Eingang des Gatters 910 verbunden ist, kann der Ausgang keines dieser Gatter niedriges Potential annehmen. Die "beiden Ausgänge sind mit der WD*-Leitung 912 verbunden, die niedriges Potential annehmen muß, um Zugriff zum ACS zu erlangen. Der Ausgang eines oder beider der beiden Gatter muß niedriges Potential annehmen, wenn das System in der Stacking-Betriebsart arbeitet, um Zugriff zu dem ACS zu erlangen, wie nachstehend beschrieben ist, und beide Gatter können an ihren Ausgängen kein niedriges Potential annehmen, falls das R (O)-Bit eine 1 ist, wenn das A (O)-Bit eine 0 ist. Da kein Zugriff zum ACS erlangt wird," wenn keiner der Gatter-Ausgänge niedriges Potential annimmt, kann der ACS kein SSYN-Signal erzeugen, was umgekehrt verhütet, daß das SSYN-Signal über den PDP 11-UNIBUS zu der Zentraleinheit zurückgesandt wird. Die Zentraleinheit gerät möglicherweise außer Takt, wenn das SSYU-Signal nicht innerhalb des vorgeschriebenen Zeitraums empfangen wird, der- der Erzeugung des MSXiT-St euersignalt. folgt. In dieser Zeit kann bestimmt werden, ob ein Fehler aufgetreten ist.
Arbeitet das System., wie unmittelbar vorstehend beschrieben, in der Stacking-Betriebsart, so kann die VD*-Leitung 912 entweder durch Gatter 908 oder durch Gatter 910 dazu gezwungen werden, niedriges Potential anzunehmen, um Zugriff zu dem AGS zu erlangen. Gatter 910 arbeitet, wenn die STK-D-Leitung 916 hohes Potential annimmt und Gatter 908 arbeitet, wenn die ST.I-D-Leitung 954- hohes Potential annimmt. Es soll angemerkt werden, daß immer, wenn die ST.I-D-Leitung hohes Potential annimmt, die STK-D-Leitung ebenfalls hohes Potential annehmen muß, insoweit, als die beiden Bedingungen
509837/0929
für die Operation des Gatters 932 darin bestehen, daß die STK- und die MSYN-Leitungen hohes Potential haben müssen, während diese gleichen beiden Bedingungen (wie auch andere) für den Betrieb des Gatters 94-2 erforderlich sind. Der Grund dafür, das zusätzliche Gatter 94-2 vorzusehen, besteht darin, daß bei Betrieb des Systems in der Unterbetriebsart mit automatischem Zuwachs kein Bedarf besteht, die aus dem SMPH gelesene Adresse vor dem Zugriff zu dem ACS zu modifizieren. Es soll daran erinnert werden, daß in dieser Betriebsart die SMPM Adresse direkt verwendet wird lind die Adresse wird vor ihrer Rückspeicherung in den SMPM zahlenmäßig erhöht. Wird daher das System in der Unterbetriebsart mit automatischem Zuwachs betrieben, so wird für die Ableitung der ACS- Adresse nicht die maximale Zeit benötigt. Die aus dea. SMPM gelesene Adresse braucht nicht vor dem Zugriff zu dem opeicher modifiziert zu werden. Die Verzögerung am Ausgang des Gatters 932 ist langer als die Verzögerung am Ausgang des Gatters 94-2. Folglich nimmt die WD*-Leitung 912 nach Empfang des MSYN-Signals bei Betrieb des Systems in der Unterbetriebsart mit automatischem Zuwachs schneller niedriges Potential an als bei Betrieb des Systems in einer der drei anderen Stacking-Unterbetriebsarten. Die Verzögerung am Ausgang des Gatters 94-2 beträgt nur 55 NanoSekunden, verglichen mit der 70-lTanosekunden-Verzögerung am Ausgang des Gatters 932.
Wird das System in der Stacking-Betriebsart betrieben, dann hat die SMPM-Leitung 706 niedriges Potential. Demzufolge liegen die .,Ausgänge der Gatter 1132 und 1110 hoch. Die Ausgänge dieser Gatter werden mehreren Eingängen der Gatter 1122, 1106 und 1134- zugeführt. Da die Ausgänge der Gatter 1132 und 1110 hoch liegen, haben sie keinen Einfluß auf die
509837/0929
2508733
Ausgänge der Gatter 1122, 1106 und 1134·. Diese letzteren 3 Gatter sind jeweils mit ihrem einzigen verbleibenden Eingang mit dem Ausgang des Gatters 1108 verbunden. Folglich hängt in der Stacking-Betriebsart das Einschreiben in den SMPM einzig und allein von der Operation des Gatters 1108 ab, ob die Gatter 1122, 1106 und 1134 nun arbeiten oder nicht.
Die STK-D-Leitung 916 wird einem Eingang des Gatters 1108 zugeführt. Diese Leitung nimmt immer hohes Potential an, wenn das System in der Stacking-Betriebsart arbeitet. Es besteht jedoch eine Verzögerung zwischen Empfang des MSTF-Signals und der Annahme hohen Potentials durch die Leitung 916 infolge der "Verzögerung am Ausgang des Gatters 932. Wird das MSXN-Signal empfangen, um einen Eingang .jedes Gatters 1120 und 1104- zu erregen, so bleibt daher die STE-D-Leitung 916 noch auf niedrigem Potential. Der Ausgangäes Gatters 1108 liegt daher hoch. Dies zwingt die Ausgänge der Gatter 1122 und 1106 daau, auf niedrigem Potential zu bleiben und der Ausgang des Gatters 1134- bleibt hoch. Bei hochliegendem Ausgang des Gatters 1134- wird das Selector- und Eingangsregister 1116 nicht getaktet. Dies ist erwünscht, da am Beginn einer Stacking-Operation ein Wort aus dem SMPM gelesen und nicht in diesen eingeschrieben wird. Wieder rückgespeichert wird ein Wort in den SMPM (in einigen der Unterbetriebsarten) nur am Ende der Operation. Liegen die Ausgänge der Gatter 1122 und 1106 auf niedrigem Potential, so hat der zweite Eingang jedes der Gatter 1120 und 1104- niedriges Potential. Daher liegen die Ausgänge
509837/0929
dieser beiden Gatter hock und der VE-Eingang jeder Hälfte des SMPM hat hohes Potential. Da der CS-Eingang jeder Hälfte des SMPM mit der DIR-Leitung 824 verbunden ist, die während einer Stacking-Zeitabfolge auf niedrigem Potential liegt, ist der CS/WE-Code am Start jedes Stacking-Zyclus 01. Wie in der Tabelle innerhalb des SMPM angezeigt, führt dies, wie gefordert, zu einer Lese-Operation.
Die SIK-Leitung 702, die sogar vor Empfang des MSXN-Signals hohes Potentia'l annimmt, ist über ein ODER-G-atter 1114 mit dem Select B-Singang des 8-Bit Selectors 1112 verbunden. Liegt dieser Eingang hoch, wird der 8-Bit-Eingangs-Satz B des Selectors mit dem Adressen-Kabel 1102 des SIIPM verbunden. Die Adressen-Bife A (8:1) werden somit für den Zugriff zu dem SMPM verwendet. Vie in Ifig. 5 angedeutet, ist es dieser Satz von Adressen-Bits in der rechnererzeugten Adresse, der verwendet wird, um Zugriff zu dem SMPM in der Stacking-Betriebsart zu erlangen. Der richtige Stack-Index wird daher aus dem SMPM gelesen und erscheint auf der R (15:0) Datenleitung 1130, wie gefordert.
Der 16-Bit-Stack-Index wird den 16 Eingängen des Satzes A des Addierers 1216 zugeführt. Der Addierer wird verwendet, um, wenn nötig, den Stack-Index zu ändern, abhängig von der Unterbetriebsart, in der der Speicher arbeitet. Der Stack-Index auf Kabel II30 wird ebenfalls dem R-Eingang des Datenselectors I3I6 zugeführt. Arbeitet das System in der Unterbetriebsart mit automatischem Zuwachs, so liegt die SI.I-Leitung 924 hoch, so daß der Select R-Eingang des Datenselectors und Registers hoch liegt.*Folglich
509837/0929
wird der Stack-Index, der aus dem SMPM gelesen ist, direkt über Selector und Register ohne Modifikation den Adressentreibern 1344· zugeführt, wenn Datenselector und Register getaktet werden. Dies erfolgt, sobald die WS*-Leitung 912 niedriges Potential annimmt. Im Fall einer Operation in der Unterbetriebsart mit automatischem Zuwachs ist es das Gatter 908, das die Erzeugung dieses Signals nach einer . kurzen Verzögerung am Ausgang des Gatters 94-2 veranlaßt (die Verzögerung reicht aus, um die Auslesung eines Stack-Index aus dem SMPM zuzulassen). Es wird dann in der üblichen Weise ein Bybe oder ein Wort in den ACS eingeschrieben oder ein Wort aus ihm ausgelesen, abhängig von den Befehlssignalen GO und C1. Wie vorstehend beschrieben, nimmt der Ausgang des Gatters 134-0 im Fall einer Byte-Lese-Operation niedriges Potential an, wenn das Adressen-Bit A (0) eine 1 ist, so daß das untere Byte eines aus dem AGS gelesenen Wortes auf den Datenleitungen für das obere Byte erscheint, ebenso wie auf den Datenleitungen für das untere Byte. Gemäß der Arbeitsweisü des ACS wird das SSYii-Signal in der üblichen Weise erzeugt, um die Zentraleinheit darüber zu informieren, daß die geforderten Daten verfügbar sind.
Der Vorgang ist jedoch nicht tatsächlich vollendet, weil es erforderlich ist, einen angewachsenen Stack-Index in den SMPIl rückzusp ei ehern und zwar unter der gleichen Adresse, die noch am Kabel 1102 ansteht. Der Stack-Index erscheint am Eingangssatz A des Addierers 1216. Der Addierer hat die Aufgabe, entweder einen Wert von 1 oder von 2 dem Stack-Index zuzuzählen, abhängig davon, ob eine Byte oder eine Wort-Operation durchgeführt werden soll·, im An-
509837/0929
Schluß an die der zugewachsene Stack-Index wieder in den SMPM rückgespeichert werden muß. Arbeitet das System in der Stacking-Betriebsart, so hat die DIR-Leitung 824 niedriges Potential. Folglich führt der Inverter 1212 den B-Befehlseingängen des Datenselectors 1210 hohes Potential zu. Ein Eingang des Gatters 1214- ist mit der ST.AC oder ST.D-Leitung 902 verbunden, die niedriges Potential führt, wenn das System in der Stacking-Unterbetriebsart mit automatischem Zuwachs arbeitet. Der andere Eingang dieses Gatters ist mit der DIR-Leitung 824 verbunden, die ebenfalls niedriges Potential hat. Folglich ist der Ausgang des Gatters auf hohem Potential, so daß der Eingang C des Daten-Selectors mit Eingang B auf hohem Potential liegt. Wie in der Tabelle innerhalb des Datenselectors angegeben,, besteht der Ausgang des Datenselectors aus vier O-Werten, wenn die BC-Befehlseingänge einen Code 11 repräsentieren. Somit sind die Bit-Eingänge 12-15 des B-Satzes des Addierers 1216 alle 0.
Der B-Eingang des Datenselectors 1218 ist mit der STK-Leitung 702 verbunden, die auf hohem Potential liegt, wenn das System in der Stacking-Betriebsart arbeitet. Sein C-Eingang ist über einen Inverter 1228 mit der ST.AC- oder ST.D-Leitung 9^2 verbunden, die auf niedrigen Potential liegt. Folglich repräsentieren beide Eingänge des Datenselectors 1218 einen 11-Code und die Eingänge 1-11 des Satzes B des Addierers sind ebenfalls gezwungen, 0 zu sein.
Ein Eingang des ODER-Gatters 1222 ist mit der ST.I-Leitung 925 verbunden, so daß der Ausgang des ODER-Gatters hohes
509 8 37/0929
Potential annimmt, um den CI-Eingang des Addierers 1216 zu erregen, wenn das System in der Stacking-Unterbetriebsart mit automatischem Zuwachs arbeitet. Folglich erfährt der Stack-Index immer einen Zuwachs um mindestens 1, wenn das System in der Unterbetriebsart mit automatischem Zuwachs arbeitet. Dies ist notvrendig, da sogar bei Durchführung einer Byte-Operation der Stack-Index um 1 anwachsen muß. Hur wenn eine Wort-Operation durchgeführt wird, muß der Stack-Index um 2 statthnn 1 anwachsen. Dies erfolgt dadurch, daß der Bit O-Eingang des Satzes B des Addierers veranlaßt wird,
1 zu sein, wenn eine Wort-Operation durchgeführt werden soll.
2 der Eingänge des Gatters 121$ sind mit den Ausgängen des Inverters 1234- und 1235 verbunden, deren Eingänge die A (9) und A (10) Adressen-Bits sind. Arbeitet das System in der Betriebsart mit automatischem Zuwachs, so ist das Adressen-Bit A (9) eine 1, so daß der Ausgang des Inverters 1236 niedriges Potential hat. Der Ausgang des Gatters 1219 wird daher befähigt, auf hohem Potential zu bleiben und Gatter 121-9 hat keinen Einfluß auf die Arbeitsweise des Addierers 1216. Der Bit O-Eingang des Satzes B des Addierers kann jedoch gezwungen werden, auf niedriges Potential zu gehen, und zwar durch die Arbeitsweise des Gatters 1220. Ein Eingang dieses Gatters ist mit der ST.I-Leitung 924· verbunden, die hoch liegt, wenn das System in der Stacking-Unterbetriebsart mit automatischem Zuwachs arbeitet. Daher nimmt der Ausgang des Gatters 1220 nur dann hohes Potential an, wenn die A (0)-Leitung 1016 hohes Potential führt. Somit repräsentiert der Ausgang des Gatters 1220 die Ergänzung des Adressen-Bits A (0). Ist das Adressen-Bit eine 1 und zeigt somit eine Byte-rOperation an, so nimmt der Ausgang des Gatters 1220 niedriges Potential an, so daß der Bit O-Eingang des Satzes
509837/0929
B des Addierers 1216 eine O repräsentiert. Als Ergebnis wächst die SMPM-Adresse lediglich um 1 an, wie durch das hohe Potential an dem CI-Eingang des Addierers repräsentiert. Auf der anderen Seite bleibt der Ausgang des Gatters 1220 auf hohem Potential zusammen mit dem Ausgang des Gatters 1218, falls das Adressen-Bit A (O) eine 0 ist und somit eine Wort-Operation anzeigt, so daß der Bit O -Eingang des Satzes B eine 1 repräsentiert. In einem solchen Pail erfährt der Stack-Index, der aus dem SMPM- ausgelesen ist, einen Zuwachs um 2. Wie in der dem Addierer in Fig. 11 zugeordneten Beschreibung angegeben, ist der Ausgang des Addierers auf dem S (15:O)-Kabel 1224 immer gleich dem Wert des Stack-Index selbst plus einem erzwungenen Übertrags-Eingang plus entweder einer 0 oder einer 1 abhängig davon, ob eine Wort- oder eine Byte-Operation durchgeführt werden soll, wenn eine Adresse innerhalb der S-I-Zone empfangen ist.
Der angewachsene Stack-Index wird dem S-Eingang des Da tenselectors und Registers 1316 zugeführt, jedoch hat dies keine Bedeutung, da der Select R-Eingang des Datenselectors hoch liegt und hoch bleibt bis nach der Rückspeicherung des MSYU-Signals durch die Zentraleinheit. Der erhöhte Stack-Index wird dem S-Eingang des 16-Bit-Selectors und Eingangs-Registers 1116 zugeführt. Dies ist von Bedeutung, weil der angewachsene Stack-Index nunmehr in dem SMPM unter der gleichen Adresse rückgespeichert wird, die noch an der Adressenleitung 1102 ansteht.
Es soll für den Augenblick angenommen werden, daß der Ausgang des Gatters 1154 in seinem normalen Zustand hohen
509837/0929
Potentials verbleibt. In einem solchen Fall liegt ein Eingang des Gatters 1108 hoch. Ein weiterer der Eingänge dieses Gatters ist rait der ST.AC*-Leitung 920 verbunden, die auf hohem Potential verbleibt, wenn das System in der Stacking-Unterbetriebsart mit automatischem Zuwachs arbeitet. Der dritte Eingang des Gatters ist mit der STK-D-Leitung 916 verbunden, die am Beginn des Zyclus .-auf niedrigem Potential liegt,, jedoch gegen Ende des Zyclus der Verzögerung am Ausgang des Gatters 932 folgend, hohes Potential annimmt. Der Ausgang des Gatters, der mit der Rewrite on Stacking-Leitung 1152 verbunden ist, nimmt niedriges Potential an, wenn die STK-D-Leitung hohes Potential annimmt, um anzuzeigen, daß der modi^fizierte Stack-Index wieder in den SMPM eingeschrieben werden muß. Hat die Leitung 1152 niedriges Potential, so nehmen die Ausgänge der Gatter 1122 und 1106 hohes Potential an und.der Ausgang des Gatters 1134· nimmt niedriges Potential an. Die .Änderungen der Ausgangspotentiale der Gatter 1122 und1106 erfolgen jedoch etwa;:, verzögert;, wie vorstehend beschrieben. Sobald der Ausgang des Gatters 1134- niedriges Potential annimmt, wird der modifizierte Stack-Index getaktet und in das Eingangs-Register 1116 gebracht. Sobald die Ausgängejder Gatter 1122 und 1106 auf hohes Potential gehen, gehen die Ausgänge der beiden Gatter 1104· und 1120 auf niedriges Potential. Die WS-Eingänge des SiIPM haben nun zusammen mit den CS-Ein— gangen niedriges Potential u#nd folglich wird der modifizierte Stack-Index wieder in den SMPM eingeschrieben. Der Stack-Index, der einen Wertzuwachs erfahren hat, kann nun im nächsten Zyclus vervrendet v/erden.
509837/0929
Es soll angemerkt werden, daß das Wiedereinspeichern in den SHPM während der gleichen Zeitperiode stattfindet, in der zu dem ACS zugegriffen wird. (Im Gegensatz zu den Operationen in den anderen Stacking-Unterbetriebsarten beginnt, wenn ein Zeitablauf mit automatischem Zuwachs vor sich geht, deißugriff zu dem ACS vor der Rückspeicherung in den SMPM, weil die VD*-Leitung vor der STK-D-Leitung hohes Potential annimmt, da die Verzögerung am Ausgang des Gatters 942 kurzer ist als die Verzögerung am Ausgang des Gatter 932, wie vorstehend beschrieben). Die Rückspeicherung wird durch das MSYlT-Signal auf Leitung 1046 gesteuert, die einem Eingang jedes Gatters 1104- und 1120 · zugeführt wird. Die MSYN-Befehlsleitung wird durch die Zentraleinheit nicht in den UrSprungszustand rückgeführt, solange nicht die Schreib-Operation in dem SMPM abgeschlossen ist, weil die Zentraleinheit zuerst das SSYN-Signal empfangen muß und dieses Signal erst nach der Erzeugung des SSYDT1-Signals durch den ACS erzeugt wird. Das SSYIT1-Signal wird or st; dann erzeugt, nachdem der relativ langsame ACS die erforderliche Lese- oder Schreib-Operation durchgeführt hat, so daß genügend Zeit für die Rückspeicherung in den SMPM vorhanden ist, sogar obgleich die Rückspeicherung im wesentlichen unabhängig von dem Zugriff zu dem ACS und der Rückführung der Befehlsleitungen ist.
Die einzige Ausnahme bei der Rückspeicherung tritt auf, wenn der Ausgang des Gatters 1154 auf niedrigem Potential liegt, so daß der Ausgang des Gatters 1108 nicht niedriges Potential annehmen kann. Der Ausgang des Gatters 1154, der als eine Ignore Datip-Bedingung erkannt wird, ist.nur dann auf niedrigem Potential, wenn die beiden Eingänge des Gat-
509837/0929
ters 1154- hoch, liegen. Diese beiden Eingänge sind mit der Read-Leitung 1034 und der CO-Leitung 1064- verbunden. Es soll daran erinnert werden, daß die Read-Leitung ein Signal führt, das die Ergänzung des 01-Bits repräsentiert. Sind daher beide Eingänge des Gatters 1154 auf hohem Potential, so ist dies eine Anzeige, daß das CO-Bit eine 1 ist und das 01-Bit eine 0. Dies ist der Code für eine Datip-Operation in einem PDP-11-System. Diese Operation ist ein normaler Lese-Vorgang, mit der Ausnahme, daß sie immer von einer Schreib-Operation gefolgt wird. (Die Datip-Operation setzt normalerweise ein Pausen-Trennzeichen in einer Lese-Vorrichtung wr* e z.B. einem Kernspeicher, die den üblichen Rückstell-Zyclus sperrt). Soll der Lese-Operation eine Schreib-Operation folgen, so muß das Wort, das geschrieben werden soll, in dem gleichen Speicherplatz des ACS gespeichert werden, aus dem das Wort zuvor ausgelesen wurde. Ist jedoch der Stack-Index in der IPolge der Datip-Lese-Operation angewachsen, dann würde er den nächsthöheren Speicherplatz identifizieren. Dieses ist der Grund dafür, daß bei einer Datip-Lese-Operation die Schreib-Polge für den SMPM nicht stattfindet und der zuvor verwendete Stack-Index-Wert in dem SMPM bleibt. (Dies gilt für alle 4 Stacking-ünterbetriebsarten). Bei der nachfolgenden ACS-Schreiboperation durchläuft das System den üblichen Zeitablauf und es wird ein Wort oder ein Byte geschrieben. Am Ende dieses Zyclus wird der angewachsene Stack-Indexwert in den SMPM rückgespeichert, ua den nächsten Zyclus vorzubereiten, weil der Ausgang des Gatters 1154 in seinem normalerweise hochliegendem Zustand ist.
In der Stacking-Unterbetriebsart mit automatischer Abnahme wird der Stack-Index in seinem Wert zunächst verringert. Der
509837/0929
verringerte Wert wird für den Zugriff zu dem ACS verwendet und in dem SMPM rückgespeichert. Vie vorstehend beschrieben, muß, da der Stack-Index modifiziert werden muß, bevor er für den Zugriff zu dem ACS benutzt wird, mehr Zeit zugelassen werden (al-s bei der Unterbetriebsart mit automatischem Zuwachs), nachdem das MSYH-Signal empfangen ist, bevor die WD*-Leitung 912 niedriges Potential annimmt, um den Zugriff ■ zu dem ACS zu steuern. Es ist das Gatter 910, das in der Unter-Betriebsart mit automatischer Abnahme allein arbeitet (ebenso wie in den Betriebsarten ansteigender Stack-Check- und abnehmender Stack-Check), ohne dassGatter 90S veranlaßt, daß die WD*-Leitung 912 niedriges Potential annimmt.
In der Unterbetriebsart mit automatischem Zuwachs liegt der Select R-Eingang des Datenselectors und Registers 1316 hoch, weil die ST.I-Leitung 924- hoch liegt. Dies ist der Grund, daß der aus dem SMPM gelesene Stack-Index für den Zugriff zu dem ACS verwendet wird. Wird jedoch das System in den drei anderen Siauking-Uiiterbetriebsarten betrieben, so liegt die ST.I-Leitung 924 auf niedrigem Potential. Folglich ist es die Adresse am Ausgang des Addierers 1216, die für den Zugriff zu dem AGS verwendet wird.
Der Stack-Index wird aus dem SI-IPM ausgelesen, so wie er ist, wenn das System in der Unterbetriebsart mit automatischer Zunahme arbeitet,' und den 16 Bit-Eingängen des Satzes A des Addierers 1216 zugeführt. Der Stack-Index muß um 1 verringert werden, wenn es sich um eine Byte-Operation handelt und er muß um 2 verringert werden, wenn es sich um eine Wort-Operation handelt, wie in Fig. 12 in der Auflistung neben
509837/0929
dem Addierer dargestellt ist. Liegt eine empfangene Adresse innerhalb der S-D-Zone, so wird der Stack-Index, der aus dem SMPM ausgelesen wird, um 1 oder 2 verringert.
Da die DIR-Leitung 824- niedriges Potential führt, wenn das System in einer Stacking-Unterbetriebsart arbeitet, führt der Inverter 1212 dem B-Eingang des Datenselectors 1210 hohes Potential zu. Da die ST.AC oder ST.D-Leitung 902 hohes Potential führt, wenn das System in der Unterbetriebsart mit automatischer Abnahme arbeitet, liegt ein Eingang des Gatters 1214 hoch. Der andere Eingang, der mit der DIR-Leitung 824 verbunden ist, führt niedriges Potential. Demzufolge nimmt der Ausgang des Gatters niedriges Potential an, so daß ein O-Code am G-Eingang des Daten-Selectors erscheint. In einem solchen Fall, werden alle 4 Ausgänge des Datenselectors auf Bit-Werte von 1 gezwungen. Der B-Eingang des 11-Bit-Datenselectors 1218 liegt hoch, da die STK-Leitung 702 hohes Potential führt. Der G-Eingang hat niedriges Potential als Folge der Operation des Inverters 1228 am hohen Potential, das auf der ST.AG oder ST.D-Leitung 902 liegt. Daher führt Datenselector 1218 auch Bit-Werte von 1 zu seinen 11 Ausgängen. In dieser Art haben die 15 oberen Bits in dem B-Eingangssatζ des Addierers 1216 alle den Wert 1. Der Bit 0-Eingang ist eine 1 oder eine 0, abhängig vom Ausgang des Gatters 1220. (Wieder hat das Gatter 1219 keinen Einfluß auf den Bit-Wert. Wird das System in der Unterbetriebsart mit automatischer Abnahme betrieben, so ist das Adressen-Bit A (10) eine 1. Der Inverter 1236 hält einen Eingang des Gatters 1219 auf niedrigem Potential, so daß der Gatterausgang nicht auf niedriges Potential gezwungen wird). Die ST.I-Leitung 924, die mit einem Eingang des Gatters 1220 verbunden ist, führt niedriges Potential. FoIg-
508 3 37/0929
lieh Ist der Ausgang des Gatters nur dann auf hohem Potential, wenn die A (O)-Leitung 1016 niedriges Potential hat. Daher liegt der Ausgang des Gatters 1220 nur dann noch, wenn Adressen-Bit A (0) eine 1 ist. Liegt dieser Pail vor* der somit eine Byte-Operation anzeigt, so ist der Bit 0-EIngang des Satzes B des Addierers eine 1 zusammen mit den 1-15-Bit-Eingängen. Somit besteht der B-Satz , von Eingängen aus 16 Bits mit dem Wert 1. Zu dem Stack-Index addiert. bewirkt dies eine Abnahme des Stack-Index um 1 und führt so zu dem richtigen Wert im Pail einer Byte-Operation. Hat auf der anderen Seite das Adressen-Bit A (O) den Wert 0 und zeigt so eine Wort-Operation an, so beträgt der 16-Bit-Wert, der dem B-Satz von Eingäsngen des Addierers zugeführt wird, 111... 110, wodurch bewirkt wird, daß der Stack-Index um den Wert 2 abnimmt. In beiden Pällen wird ein Übertrags-Eingang nicht erzeugt, xveil die beiden Eingänge des ODER-Gatters 1222 beide auf niedrigem Potential liegen.
Der verringerte Stack-Index wird dann in Register 1316 eingespeichert, wenn die WD*-Leitung 912 niedriges Potential aiminnt. Der verringerte Stack-Index wird für den Zug rlff zu dem AGS verwendet. Der verringerte Stack-Index-Wert wird außerdem in den SIlPM rückgespeichert, nachdem die STK-D-Leitang hohes Potential annimmt (vorausgesetzt daß die ablaufende Operation keine Datip-Operation ist). In dieser Hinsicht arbeitet das System wie im Fall einer Abfolge mit automatischer Zunahme.
Wird das S/stem in der Unterbetriebsart mit ansteigendem Stack-Check betrieben» so wird der Stack-Index, der aus dem
509837/0929
SIlPM gelesen wird, zunächst verringert und für den Zugriff zu dem SIlPM verwendet. Am Ende der gesamten Folge soll jedoch der in den SMPM eingespeicherte Stack-Index nicht von seinem Vert am Beginn der Folge verschieden sein. Dies wird einfach dadurch bewirkt, indem man das System hauptsächlich in der Unterbetriebsart mit automatischer Abnahme arbeiten läßt, dann jedoch die SMPM-Rücksp eicher-Operati on verhindert.
Arbeitet das System in der Unterbetriebsart mit. ansteigendem Stack-Chsck, wie vorstehend beschrieben, so führt die SiT.AC*- Leitung niedriges Potential. Diese Leitung ist mit einem Eingang des Gatters 1108 verbunden. Der Ausgang des Gatters bleibt daher während der gesamten Operation auf hohem Potential. Da die Rewrite on Stacking-Leitung 1152 niedriges Potential annehmen muß, um die Rückspeicherung in den SMPM während einer beliebigen Stacking-Operation zu steuern, wird der ausgelesene SMPM-Stack-Index nicht verändert. Die tatsächliche. Abnahme des aus dem SMPM gelesenen Stack-Index, die bei der Unterbetriebsart mit ansteigendem Stack-Check erfolgt, ist identisch mit der, die im Fall der Betriebsart mit automatischer Abnahme auftritt. Dies liegt daran, daß verschiedene Operationen durch ein hohes Potential auf der ST.AC oder St.D-Leitung 902 gesteuert werden und wie vorstehend beschrieben, diese Leitung hohes Potential führt, wenn das System in diesen beiden Unterbetriebsarten arbeitet. Die Auflistung in Fig. 12 neben dem Addierer 1216 zeigt daher die gleichen Addierer-Operationen, die durchgeführt werden, wenn Adressen in der S.D. und S.AC.-Zone empfangen werden.
Die vierte Stacking-Unterbetriebsart ist der abfallende Stack-Check. Der Stack-Index, der aus dem SMPM gelesen wird,
509837/0929
wird ohne Modifikation für den Zugriff zu dem ACS verwendet und der Stack-Index in dem SMPM wird nicht geändert. Es gibt keine speziellen Gatter und leitungen für die Entwicklung eines speziellen Signals wie das ST.I, ST.AC* oder ST.AC oder ST.D in den Fällen der anderen Unterbetriebsarten. Statt dessen finden die Operationen in der Unterbetriebsart mit abfallendem Stack-Check durch Fehlwerte statt, d.h., die Anordnung der verschiedenen Schaltkreise ist derart, daß die richtigen Operationen stattfinden, ohne die Ableitung irgendwelcher zusätzlicher speziellen Steuer-Signale zu erfordern.
Da die DIR-Leitung 824 niedriges Potential hat, veranlaßt der Inverter 1212 den B-Eingang des Datenselectors 1210, hohes Potential anzunehmen. Da beide Eingänge des Gatters 1214 (DIR und ST.AC OR ST.D) niedriges Potential haben, liegt der Ausgang des Gatters, der mit dem C-Eingang des Datenselectors 1210 verbunden ist, hoch. Da der Befehlscode-Eingang für den Datenselector 11 ist, repräsentieren folglich die 4 Ausgänge des Datenselectors alle den Bit-Wert 0. In ähnlicher Weise haben alle 11 Bits am Ausgang des Datenselectors 1218 den Wert 0, wenn der B-Eingang des Datenselectors 1218 hoch liegt, da er mit der STK-Leitung 702 verbunden ist und der C-Eingang dieses Datenselectors ebenfalls hoch liegt, da er über Inverter 1228 mit der auf niedrigem Potential liegenden ST.AC OR..ST.D-Leitung 902 verbunden ist. Der CI-Eingang des Addierers 1216 führt niedriges Potential, weil die beiden Eingänge des ODER-Gatters 1222 mit der DIR-Leitung 824 und der ST.I-Leitung 924 verbunden sind, die beide auf niedrigem Potential liegen. Um den Bit O-Eingang des Satzes B des Addierers zwangsweise
509837/0929
auf den Wert O zu bringen, sind die Inverter 1232I- und 1236 vorgesehen. Arbeitet das System in der Betriebsart mit abfallendem Stack-Check, sind sowohl die Adressen-Bits A (10) als auch A (9) O, wie in !ig. 5 angedeutet. Folglich führen 2 der Eingänge des Gatters 1219 hohes Potential. Der dritte Eingang, der mit der STE-Leitung 702 verbunden ist, liegt ebenfalls hoch. Wird daher das System in der Betriebsart mit abfallendem Stack-Check betrieben, so geht der Ausgang des Gatters 1213 auf niedriges Potential, um den Bit O-Eingang des Satzes B des Addierers zwangsweise auf niedriges Potential zu bringen, um so eine 0 zu repräsentieren. Daher wird der aus dem SHPM-- ausgelesene Stack-Index in normaler Weise über den Addierer 1216 ohne jede Modifikation zugeführt. Dies wird durch die .Auflistung neben dem Addierer angegeben. Liegt die empfangene Adresse innerhalb der ST.DC-Zone, so ist der Ausgang des Addierers einfach gleich dem Stack-Index, der aus dem SMPM gelesen ist.
Der Ausgang des Addierers wird genau so verarbeitet, als wenn das System in der Betriebsart mit automatischer Abnahme betrieben wird. Da die ST.I-Leitung 924- auf niedrigem Potential liegt, wird der S-Eingang des Datenselectors I3I6 gewählt, so daß der unmodifizierte Stack-Index-Wert als Adresse für den ACS benutzt wird. Der unmodifizierte Stack-Index wird in der üblichen Weise in den SMPM rückgespeichert (wenn nicht eine Datip-Operation abläuft, in welchem Fall der unmodifizierte Stack-Index in dem unmittelbar folgenden Schreib-Zyclus in den SMPM rückgespeichert wird). Obwohl" natürlich kein Bedarf besteht, den Stack-Index in den SMPM rückzuspeichern, da er nicht verändert werden soll, besteht andererseits kein Bedürfnis, spezielle Schaltkreise zu schaf-
509837/0920
fen, um das Rückspeiehern zu verhindern, insoweit, als der Stack-Index durch den Addierer 1216 nicht verändert wird, wenn das System in der Unterbetriebsart mit abfallendem Stack-Check betrieben wird.
Zeitliche Abfolge bei der Steuer-Betriebsart (Control-Mode)
Unter Bezug auf Fig. 1 soll daran erinnert v/erden, daß die Leitwort-Adresse innerhalb der oberen 312 Adressen in dem 64k Rechner-Adressen-Raum liegt. Dies bedeutet, daß die 7 signifikantesten Adressen-Bits A (15:9) alle den Wert 1 haben. Da das Leitwrot ein 16-Bit-Wort ist und durch die Zentraleinheit durch eine gradzahlige Adresse identifiziert werden muß, sind nur 3 Adressen-Bits A (8:1) erforderlich, um die tatsächliche Position des Leitwortes innerhalb der oberen 512 Adressen zu identifizieren. Die Leitwort-Adresse' ist durch die Einstellung der 8 Adressen-Schalter 730 bestimmt, die für Vergleichszwecke r;iit Adressen-Bits A (8:1) benutzt werden. Die 8 Adressen-Schalt-Bitwerte zusammen mit der rechnererzeugten Adresse werden den beiden Sätzen von Eingängen des 8-Bit !Comparators 732 (2 Chips 824-2) zugeführt. Wird ein Gleichstand erkannt, so wird ein Eingang des Gatters 73^ erregt. Weiteren 9 Eingängen dieses Gatters werden Adressen-Bits A (17:9) augeführt.(In der Praxis kann mehr als 1 Gatter erforderlich sein, um so viele Eingänge zu verarbeiten, Daher dient Gatter 93^ dazu, eine "UND"-Funktion insgesamt anzuzeigen). Nicht nur die Adressen-Bits A (15*9) müssen den Wert ' haben, sondern die Adressen-Bits A (17:16) müssen ebenso gut den Wert 1 haben. Das System kann in der Steuer-Betriebsart nur dann betrieben werden,
'J 1J -.j V ν» :· / W t· Z, Xi
wenn die Leitwort-Adresse im oberen Quadranten,wie vorstehend beschrieben, liegt.
Der verbleibende Eingang des Gatters 734 ist mit der KSO--Leitung 1046 verbunden. Der Ausgang des Gatters nimmt holies Potential an, um anzuzeigen, daß eine Operation in der Steuer-Betriebsart durchgeführt werden soll, nachdem die Leitwort-Adresse empfangen ist, gefolgt von dem MSO-Si gnäl von der Zentraleinheit.
Die zeitliche ^bfolge bei der Steuer-Betriebsart ist relativ einfach. Sie umfaßt einfach das Einschreiben des 16-Bit;-Wortes auf dem D (15:0)-Daten-Kabel 1230 in die beiden 8-Bit-Flip-Plops 710 und 830. Jedes dieser Speicher Flip-Flops kann während der normalen Vorbereitungsverfahren gelöscht werden, wie vorstehend beschrieben. Wird ein INIS-Steuer-Signal von der Dateneinheit empfangen, so nimmt die IKII-Leitung 1066 lioLeo Potential an. Der Inverter 740 führt der INI'I-Leitung 742, die mit dem Löscheingang jedes der beiden Speicher Flip-Flops verbunden ist, ein Signal mit niedrigem Potential zu. Dadurch werden die Flip-Flops rückgestellt. Durch Löschen der Speicher-Flip-Flops während der Vorbereitungsverfahren werden die MAS- und STK-Bits GW (15:14) auf O rückgestellt. Dies sperrt die Mapping- und Stacking-Betriebsarten, so daß nur in der direkten Betriebsart zum ACS Zugriff erlangt werden kann.
Um in jedes Speicher-Flip-Flop ein Wort einzuschreiben, müssen beide Enable-Eingänge auf niedriges Potenzial gezwungen werden. Arbeitet das System in der Steuer-Betriebsart,
509837/0929
so nehmen der Ausgang des Inverters 736, die GW*-Leitung 74-4- niedriges Potential an, um einen der Enable-Eingänge jedes der Spoicher-Flip-Flops ein niedriges Potential zuzuführen. . Die anderen Snable-Eingänge jedes Speicher-Flip-Flops sind mit der Read-Leitung 1034- verbunden, die nur bei einer Schreib-Operation, welche durch die Zentraleinheit spezifiziert ist, niedriges Potential annimmt. Nur wenn die Zentraleinheit eine Schreib-Operation spezifiziert zusammen mit den Adressen des Leitwrotes werden daher die beiden Speicher-Flip-Flops erregt. Das obere Byte, das geschrieben werden soll und das auf den Datenleitungen erscheint, wird den Eing'ängen des Speicher Flip-Flops 710, und das untere Byte den Eingängen des Speicher Flip-Flops 830 zugeführt.
Es soll angemerkt werden, daß in der Steuer-3etriebsart weder zum AGS noch zum SMPM Zugriff erlangt wird. Die Zentraleinheit erwartet jedoch, ein SSYH-Signal zu empfangen, da sie sonst aus dem Tckt fällt. Aus diesem Grund ist es notwendig, ein "künstliches" SSYN-Signal zu erzeugen, genau wie ein solches erzeugt wird, wenn das System in der SMPM-Betriebsart arbeitet. Der Ausgang des Gatters 734- ist mit der CW-Leitung 74-8 verbunden. Diese Leitung wird einem Eingang des ODER-Gatters 1052 zugeführt, ebenso wie die SMPM-D-Leitung 924- dem anderen Eingang dieses Gatters zugeführt wird. Nimmt die CW-Leitung 748 hohes Potential an, so steuert sie die Übertragung eines SSYIT-Signals zu der Zentraleinheit, genau so wie ein derartiges Signal unter Steuerung durch die SMPM-D-Leitung übertragen wird, die hohes Potential annimmt, wenn das System in der SMPM-Betriebsart arbeitet. Es soll angemerkt werden, daß das CW-Signal durch'Gatter unmittelbar nach Empfang des MSXET-Steuer-Signals von der
509837/0929
Daten-Einheit erzeugt wird. Es braucht nicht verzögert zu werden, wie das SMPM-D-Signal verzögert ist, wenn das System in der SHPrI-B etriebs art arbeitet, insofern als die Erzeugung des SSYIT-Signals betroffen ist. Dies liegt daran, daß, wenn das System in der Leit-Vort-Betriebsart arbeitet, kein Zugriff zu dem SKPM erlangt wird. Alles, was geschieht, ist eine einfache Einschreibung eines Datem/ortes in 2 8-Bit-Speicher IFlip-IPlops, und dies erfolgt so schnell, daß das SSYIT-Signal unmittelbar nach Empfang des MSYN-Signals erzeugt werden kann.
Prioritätslogik
Das System gemäß den Fig. 7 bis 13 ist über einen UNIBUS mit einer PDP 11 Zentraleinheit und über einen weiteren inneren UNIBUS mit einem Rechner-Hilfs-Speicher (AGS) von einer Größe bir zn fVr,: verbunden. Bei vielen Anwendungen ist es jedoch vorteilhaft, zuzulassen, daß zwei gesonderte Zentraleinheiten Zugang zu dem gleichen Rechner-Speieher haben. Bezogen auf die Erfindung würde in einem solchen Fall ein erstes System (Jig. 7 his 13) seine verschiedenen Empfänger und Treiber (51Ig. 10 und 12) haben, die mit dem UNIBUS einer ersten Zentraleinheit verbunden sind, und ein zweites System (IFig. 7 bis 13) würde seine verschiedenen Empfänger und !reiber aufweisen, die mit dem UNIBUS einer zweiten Zentraleinheit verbunden sind. Beide Systeme würden ihre inneren Bualeitungen (rechts in Fig. 13) haben, die mit den Leitungen des anteiligen AGS 1300 parallel geschaltet sind. Beabsichtigt man jedoch eine derartig "einfache" Parallelschaltung, so können Konflikte auftreten.
509837/092?
wenn die eine Zentraleinheit versucht, Zugriff zu dem ACS zu erzielen, während die andere Zentraleinheit bereits mit dem ACS arbeitet. Aus diesem Grund sollte jedes System eine Prioritätslogik enthalten, um derartige Konflikte zu lösen. Eine derartige Prioritätslogik ist in den Pig. 15 und 16 dargestellt, wobei Fig. 15 auf der linken Seite der Fig. 16 angeordnet werden muß. Die in diesen beid.sn Fig. links von dem ACS 1300 dargestellten Schaltungen ersetzen die Schaltungen gemäß Pig. 13 in jedem System. Dies soll so verstanden werden, daß die verschiedenen Leitungen von den beiden Systemen, die den AGS anteilig benutzen, in dem inneren UNIBUS parallel geschaltet sind. Die Schaltung nach Fig. 15 schließt zum größten Teil die Schaltung gemäß Fig. 13 ein, wobei der größte Teil der Prioritätslogik in Fig. 16 dargestellt ist. (Die Elemente der Schaltbilder 15 und 16, die denen in Fig. 13 entsprechen, haben die gleichen Bezeichnungen). Die Prioritätslogik hindex^t die eine Zentraleinheit daran, Zugriff zu dem ACS zu erzielen, solange der innere UNIBUS von der anderen Zentraleinheit in Anspruch genommen ist.
Die Leitungen und Kabel auf der linken Seite von Fig. 15 sind identisch mit denen auf der linken Seite der Fig. 13· Es ist somit offenbar, daß die in den Fig. 15 und 16 dargestellten Schaltungen die in Fig. 13 dargestellten Schaltungen ersetzen können. Auf der rechten Seite der Fig. 16 ist der ACS 1300 dargestellt« Es versteht sich, daß die Leitungen und Kabel von den beiden getrennten Systemen in Parallelschaltung (wie im Fall konventioneller UNIBUS-Verbindungen) mit dem AGS verbunden sind, wobei ein Satz von "Pull-up"-Widerständen (nicht dargestellt) für die Busleitun-
E C) Q Q
w j a ο
gen vorgesehen ist.
Die Prioritätslogik für jedes System enthält 5 Klemmen, die in Fig. 16 unten dargestellt sind. Es sind dies die Klemmen WD1*, WD2*, SS, EC1* und EC2*. Werden beide Systeme parallel geschaltet, so wird eines als Hauptsystem (höchste Priorität) gewählt und das andere als Nebensystem (geringere Priorität) "betrachtet-.· Me 5 Klemmen in jedem System sind, wie in Fig. 17 dargestellt, geschaltet. Die Klemme VD2* des Hauptsystems ist mit der Klemme WD1* des Uebensystems verbunden, die Klemme EG2* des Hauptsystems ist mit der Klemme EC1* des Neben^/sterns verbunden und die Klemme SS· des Nebensystems ist geerdet. Alle anderen Klemmen sind nicht belegt. Befinden sich 2 vollständige Systeme (Fig. 7 bis 12, 15 und 16) im gleichen Gehäuse, so kann jedes System auf einer einzigen Schaltkarte enthalten sein, wobei die 10 Klemmen, die in Fig. 17 abgebildet sind, sich auf der Rückseite befinden. Die erforderlichen Verbindungen können dann leicht hergestellt werden. "Pull--upn-V.?i darständc 1G>Ö und 1652 sind vorgesehen, so daß die Treiber-Gatter (1624, 1630 und 1628) vom Typ mit unbelastetem Kollektor sein können.
Wie aus dem Nachstehenden hervorgeht, bestimmt die Erdung der SS-Klemme des Nebensystems, daß das andere System das Hauptsystem ist. Ist lediglich 1 System mit dem AGS verbunden, so werden· seine Klemmen nicht geschaltet. Da die SS-Klemme nicht geerdet ist, arbeitet das einzige System als Hauptsystem. Sogar wenn nur 1 System mit dem internen UNIBUS verbunden ist, erfordert es die Prioritätslogik für den AGS genau wie in dem Fall mit 2 Systemen. In dieser
509837/0929
Art können alle Systeme identisch sein, auch wenn die Prioritatslogik nicht wirklich erforderlich ist, wenn nur oin einziges System mit dorn AGS verbunden ist.
Die Erdung der SS-Klemme in einem Nebensystem veranlaßt den Ausgang des entsprechenden Gatters 1630, auf hohem Potential zu verbleiben. Daher kann das liebensystem seine EC1*-Klemme nicht zwangsweise veranlassen, niedriges Potential anzunehmen. Statt dessen kann die EC1*-Klemme in dem Nebensysteza nur durch eine Außenverbindung auf niedriges Potential gezwungen werden, xirenn die EC2*-Klemme des Hauptsystems auf niedriges Potential geht. Vie aus dem Nachstehenden hervorgeht, ist es der Zustand des Flip-Flops 1606 im Hauptsystem, der festlegt, welches System den internen UKTBUS stsäuert. Eine Anforderung an den UITIBUS besteht, wenn einer der Eingänge des Gatters 1626 im Eauptsystem auf niedriges Potential geht. Eine derartige Anforderung erfolgt durch das Hauptsystem., wenn dessen VD*-Leitung 912, die mit einem Eingang des Gatters 1626 verbunden ist, niedriges Potential annimmt. Geht die gleiche Leitung im Nebensystem auf niedriges Potential', so erscheint das Signal an der VD1*-Klemme des Nebensystems. Die Außenverbindung von der VD1*-Nebensystem-Klemme zu der VD2*-Hauptsystemklemme veranlaßt den anderen Eingang des Gatters 1626, auf niedriges Potential zu gehen, um anzuzeigen, daß vom Nebensystem eine Anforderung vorliegt, den UNIBUS zu steuern.
Eine Anforderung, den UNIBUS zu steuern, wird erfüllt, wenn die EC1*-Klemme eines Systems auf niedriges Potential
509837/0929
geht. Das Hauptsystem erfüllt alle Anforderungen, einschließlich, derer des Febensystems. Erfüllt das Hauptsystem seine eigenen Anforderungen, so nimmt der Ausgang seines Gatters 1630 niedriges Potential an, um seiner Klemme EC1* direkt niedriges Potential zuzuführen. Gleichzeitig "bleibt der Ausgang des Gatters 1638 im Hauptsystem auf hohem Potential, um die EC1*-Klemme des Hebensystems auf hohem Potential zu halten. Dies erfolgt mit Hilfe der rechten Außenverbindung in Fig. 17· Bas ITebensystem kann seine EC1*-Klemme nicht dazu veranlassen, direkt niedriges Potential anzunehmen. Die "Erdverbindung der SS-Klemme in dem Nebensystem verhindert, daß der Ausgang des Gatters 1630 in dem ITebensystem dessen EC1*-Klemme auf niedriges Potential zieht. Die Klemme SC1* des Nebensystems geht nur dann auf niedriges Potential, wenn die Klemme EG2* im Hauptsystem niedriges Potential annimmt.
Es soll zunächst der Fall betrachtet werden, in dem der innere Bus nicht ira Betrieb ist und eine Betriebsanforderung an ihn durch das Hauptsystem gestellt wird. Flip-Flop 1604· im Hauptsystem ist normalerweise im Zustand 1, xtfobei sein ^-Ausgang hoch liegt. Dies erregt einen Eingang des Gatters 1616. Da der interne Bus nicht is Betrieb ist, liegt die SSYIT1 -Leitung 1362 hoch und der Ausgang des Inverters 1336 liegt auf niedrigem Potential. Dieses niedrige Signal wird durch den Inverter 1618 invertiert, um einem zx^eiten Eingang des Gatters 1616 hohes Potential zuzuführen. Der dritte Eingang des Gatters 1616 jedoch, ist mit dem normalerweise niedriges Potential fahrenden Ausgang des Gatters 1626 verbunden. Der Ausgang dieses Gatters liegt normalerweise auf niedrigem Potential, weil seine beiden Eingänge normalerweise
5 09337/0928
hoch, liegen. Einer der Gatter-Eingänge ist mit der WD*- Leitung 912 verbunden (im gleichen System, dem Hauptsystem), die normalerweise hoch liegt. Der andere Eingang des Gatters 1626 ist mit der Klemme WD2* des Hauptsystens verbunden. Diese Klemme ist über eine AuJBenverbindung mit der Klemme VD1* des Nebensystems verbunden, die normalerweise hoch liegt. Sobald eine Anforderung für den Zugriff zu dem ACS durch das Hauptsystem erfolgt, nimmt die WD*-Leitung 912 in dem Nebensystem niedriges Potential an, um den Ausgang des Gatters 1626 zwangsweise auf hohes Potential zu bringen. Gleichzeitig arbeitet das Gatter 1616 so, daß es eine positive Flanke dam CLK-Eingang (Glock) des Flip-Flops 1606 zuführt. Dieses !Flip-Flop nimmt einen Zustand an, der dem Potential, das dem D-Eingang zugeführt wird, entspricht, wenn eine positive Flanke seinem CLK-3ingang zugeführt wird. Der D-Eingang ist mit der WD*-Leitung 912 verbunden, die den Gleichlauf des Flip-Fiops an der ersten Stelle steuert. Es wird daher eine 0 im Haupt-Flip-Fiop 1606 gespeichert, wenn eine Forderung für den Zugriff zu dein ACS durch das Hauptsystem erfolgt, und der Q-Ausgang des Flip-Flops nimmt niedriges Potential an, während der Q-Ausgang hohes Potential annimmt.
Der Q-Ausgang des Flip-Flops ist mit einem Eingang des Gatters 1630 verbunden. Der andere Eingang des Gatters ist über Widerstand 1622 mit der Potentialquelle 1620 verbunden. Obgleich dieser andere Eingang des Gatters mit der SS-Klemme verbunden ist, besteht keine Yerbindung mit der SS-El esime des Haupt syst ems. Folglich, liegt im Hauptsystem dieser Eingang les Gatters 1630 immer auf hohem Potential und wsnr± der Q-Ausgang dee Flip-Flops 1606 hohes
5C3837/0929
Potential annimmt, geht der Ausgang des Gatters 1630 auf niedriges Potential. Das niedrige Potential am Ausgang dieses Gatters (an Klemme EC1*) steuert den Zugriff zu dem ACS. Der Inverter 1628 invertiert das Signal derart, daß der Leitung 1644 ein hohes Potential zugeführt wird. Diese Leitung wird direkt den Enable-Eingangen der Treiber 1302 und 1344 zugeführt. Dem ACS wird daher eine Steuer- und Adressen-Information zugeführt. Di-e Leitung wird außerdem einem Eingang des Gatters 1334 zugeführt, dessen anderer Eingang mit der C1-Steuerleitung verbunden i-st. Gatter 1334 arbeitet, um Treiber I310 im Fall einer Schreib-Op er action- zu errege^, entsprechend den gleichbezexchneten Gatterfunktionen gemäß Fig. 13· Leitung 1644 ist außerdem mit einem Eingang des Gatters 1508 verbunden, dessen anderer Eingang über Leitung 1602 mit dem Ausgang des Inverters 1336 verbunden ist. Erzeugt der ACS das SSYN1-Signal, so arbeitet Gatter I5O8 zur Steuerung der Zuführung des SYN1-Signals zur Leitung I3O8 wie im Fall der in Fig. 13 dargestellten Schaltung.
Unter Bezug auf Fig. 13 soll daran erinnert werden, daß am Ausgang des Inverters 1328 eine Verzögerung vorgesehen ist, um die Erzeugung des MSYN1-Signals zu dem ACS zu verzögern, bis sich die Bit-Signale auf der Bus-Leitung zu dem ACS aufgebaut haben. Die gleiche Verzögerung ist in der Schaltung gemäß Fig. 16 vorgesehen.. Nachdem der Ausgang des Hauptgatters I63O niedriges Potential annimmt, wird das MSYN1-Signal erzeugt, jedoch nur nach einer Verzögerung von 40 Nanosekunden. Wie die Verzögerung erzeugt wird, ist nachstehend beschrieben. .
509837/0929
Befindet sich, das Flip-Flop 1606 des Hauptsystems im Zustand O, so führt der Q-Ausgang des Flip-Flops niedriges Potential. Demzufolge liegt der Ausgang des Gatters 1638 hoch. Das hohe Potential an der Klemme EC2* im Hauptsystem wird über eine Außenverbindung der EC1*-Klemme im Nebensystem zugeführt, wie in Fig. 17 gezeigt. Das hohe Potential an der EC1*-Klemme des Nebensystems verhütet, daß die Ausgänge der Inverter 1628 und 1632 im Nebensystem hohejs Potential annehmen, so daß das Nebensystem keine Kontrolle über den inneren UNIBUS erlangen kann. Obgleich, das Nebensystem ein Gatter 1630 enthält, dessen Ausgang mit seiner EC1*-Klemme verbunden ist, ist ein Eingang des Gatters 1630 im Nebensystem mit der SS-Klemme verbunden, die geerdet ist. Folglich kann der Ausgang des Gatters 1630 im Nebensystem die EC1*-Klemme im Nebensystem nicht auf niedriges Potential ziehen.
Nachdem der ACS die durch die Zustände der Steuerleitungen vom Hauptsystem angeordnete Operation vollzogen hat, geht die SSXN1-Leitung 1362 auf niedriges Potential. Der Ausgang des Inverters 1336 nimmt hohes Potential an, um den Ausgang des Gatters 1508 auf hohes Potential zu bringen, wie vorstehend beschrieben. Der Ausgang des Inverters 1618 nimmt gleichzeitig niedriges Potential an, so daß der Ausgang des Gatters 1616 niedriges Potential annimmt. Die negative Flanke an dem Clock-Eingang des Flip-Flops 1606 hat keinen Einfluß auf den Zustand des Flip-Flops. Von Bedeutung ist, daß auch für den Fall, das das Nebensystem in Wartestellun^ist, um Kontrolle über den inneren UNIBUS zu erlangen, es dieses nicht kann, bis Gatter 1616 seine Operation wiederholt. Dies
509837/0929
kann jedoch nur erfolgen, nachdem die SSXN1-Leitung rückgeführt ist und der Ausgang des Gatters 1618 hohes Potential annimmt. Der Zustand des Flip-Flops 1606 im Hauptsystem - das steuert, welches System Zugriff zum ACS hat soll nicht verändert v/erden, "bis die laufende Operation vollständig abgeschlossen ist. Die EC1*-Klemme im Hauptsystem "bleibt auf niedrigem Potential und die EC2*-Klemme im Hauptsyste'm bleibt auf hohem Potential (um die EG1*-Klemme" im Nebensystem hoch zu halten), so lange die AGS Operation andauert. Wird die SSYEf1-Leitung* rückgeführt, so kann das Flip-Flop 1606 im Hauptsystem seinen Zustand ändern, falls das Nebensystem die Kontrolle über den inneren UHIBUS wünscht, wie nachstehend beschrieben ist. Wird jedoch eine solche Kontrolle nicht gewünscht, so ändern sich die Potentiale an den EG1*- und EG2*-Klemmen nicht. (Treiber 1302 und .1344· bleiben erregt, jedoch hat dies keine Konsequenz. Der AGS arbeitet nicht, ehe er ein MSXIT'-Signal empfängt.
Fordert das Hauptsystem wieder eine entsprechende Bedienung, so wird sein VD*-Signal über Gatter 1626 und 1616 geführt und das Haupt-Flip-Flop 1606 getaktet. Da Leitung 912 wieder auf niedrigem Potential liegt, bleibt das Flip-Flop im Zustand 0 und die Klemmen EG1* und EG2* ändern ihr Potential nicht.
Es soll angemerkt werden, daß, wenn nur ein System mit dem internen UITIBUS verbunden ist, dieses als Hauptsystem arbeitet, genau wie beschrieben. Das sperrende hohe Potential an der Klemme EC2* ist nicht erforderlich, weil es kein Nebensystem gibt, das gesperrt werden soll. Nichtsdestoweniger wird
509837/0929
jedoch das Signal erzeugt. Obgleich ein normalerweise hohes Potential von einer Uebenstation nicht an der Klemme WD2* im Hauptsystem erscheint, bleibt der rechte Eingang des Gatters 1626 noch auf hohem Potential infolge der Verbindung des Eingangs über Widerstand 1650 mit einer Potential-Quelle. Es soll nun angenommen xverden, daß das ITebensystem. einen Zugriff zu dem AGS erfordert, wobei seine WD*-Leitung 912 niedriges Potential annimmt. In jedem System ist ein Eingang des .Gatters 1624- über Widerstand 1646 mit einem positiven Potential- verbunden.-Daher folgt das Potential am Ausgang des Gatters 1624 dem Potential der entsprechenden WD*-Leitung. nimmt die WD1*-Klemme im Nebensystem niedriges Potential an infolge einer Außenverbindung, wie in Fig. 17 dargestellt, so nimmt die WD2*-Klemme im Hauptsystem niedriges Potential an und der Ausgang des Gatters 1526 nimmt gezwungenermaßen hohes Potential an. Ist der interne Bus bereits beschäftigt, weil das Hauptsystem Zugriff erlangt hat, so führt die WD*-Leitung 912 im Hauptsystem niedriges Potential. Folglich liegt der Ausgang des Gatters 1626 im, Hauptsystem bereits auf hohem Potential, wenn das ITebensystem Bedienung anfordert. Das Gatter 1616 kann jedoch nicht ein anderes Clock-Signal erzeugen, da der Ausgang des Inverters 1618 niedriges Potential führt. Erst nachdem die WD*-Leitung im Hauptsystem hohes Potential annimmt, gefolgt von der Rückführung der SSYK'-Leitung 1J62, erzeugt Gatter 1616 einen Clock-Impuls. Daher wird, wenn das Nebensystem Bedienung anfordert, das Haupt-Flip-Flop 1606 sofort getaktet, wenn der Bus frei ist, oder es wird sofort getaktet, nachdem der Bus frei geworden ist. Die WD*-Leitung 912 im Hauptsystem, die mit dem D-Eingang des Haupt-Flip-Flop 1606 verbunden ist, liegt nun auf hohem Potential, so daß in das Flip-Flop eine 1 eingespeichert wird. Da die WD2*-Klemme nun niedriges
509837/0929
Potential hat, liegt der Ausgang des Inverters 1640 hoch, um einen Eingang des Gatters 16J8 zu erregen. Venn der Q-Ausgang des Flip-Flops 1606 im Hauptsystem auf hohes Potential geht, nimmt der Ausgang des Gatters 1638" niedriges Potential an. Das niedrige Potential an der EG2*-Klemme des Hauptsystems wird über eine Außenverbindung der Klemme EC1* des Nebensystems zugeführt. Das niedrige Potential an dipser Klemme im Nebensystem steuert den Zugriff zum ACS durch das Nebensystem genau wie ein niedriges Potential an^dieser Klemme im Hauptsystem den Zugriff zum AGS durch das Hauptsystem steuert. Das Nebensystem behält Kontrolle über den internen UNI3US bis seine Operation vollständig abgeschlossen ist.
Nachdem einmal Flip-Flop 1606 in den Zustand 1 gebracht ist, gestattet das Hauptsystem (das die Prioritäten festlegt) dem Nebensystem, fortlaufend Zugriff zum ACS zu erlangen. Immer, wenn die VD*-Leitung im Nebensystem niedriges Potential führt, wird dieses Signal über die Klamme VD1* des Nebensystems, eine Außenverbindung, die Klemme VD2* des Hauptsystems, Inverter 1640 und Gatter 1638 im Hauptsystem, die Klemme EC 2* des Hauptsystens und die andere Außenverbindung auf die EC1*-Klemme des Nebensystems übertragen. Die Klemme ECi* des Nebensystems bleibt auf niedrigem Potential, solange ihre VD*-Leitung 912 auf niedrigem Potential bleibt, um einen.Zugriff zum ACS zu steuern.
Der Schlüssel ist hier darin zu sehen, daß Flip-Flop 1606 im Hauptsystem bestimmt, welches System Kontrolle über den internen UNIBUS haben soll, und daß ein Clock-Imp.uls dem
509837/0929
CLK-Eingang des Flip-Flops nur dann zugeführt werden kann, wenn die SSIIT1-Leitung auf hohem Potential liegt, d.h., wenn der Bus frei ist. Nachdem der Bus in Betrieb ist, kann der Zustand des Haupt-Flip-Flop 1606 nicht geändert werden, bevor der Bus nicht wieder freigesetzt ist. Es besteht kein Unterschied, welches System den Ausgang des Gatters 1626 im Hauptsystem veranlaßt, hohes Potential anzunehmen (ein Flip-Flop-Clock-Signal zu erzeugen, sobald der Bus frei ist), weil es das Potential an der WD*-Leitung 912 im Hauptsystem ist, das den Zustand des Flip-Flops 1606 steuert. Das Hauptsystem hat Priorität, weil es der Zustand seiner WD*-Leitung 912 ist, der den Zustand des Flip-Flops 1605 bestimmt, wenn ein Clock-Signal erzeugt wird.
Die Verzögerung von 40 HanoSekunden zwischen dem Auftreten eines WD*-Signals in einem der beiden Systeme und die Erzeugung eines entsprechenden HSYN1-Signals wird durch Widerstand 1636 und Kondensator 1654 erzeugt. Jeder der Inverter 1654 und 1632 hat einen Ausgang mit unbelastetem Kollektor, wobei der Widerstand 1636 als Pul-up-Widerstand dient, so daß die beiden Inverter in ODER-Schaltung miteinander verbunden werden können. Nur wenn beide Ausgangstransistoren der Inverter gesperrt sind, beginnt der Kondensator 1634, sich aufzuladen, so daß 40 Nanosekunden später der Eingang des Inverters 1656 genügend hohes Potential hat, um das MSIN' -Signal zu erzeugen. Die 40 Nanosekunden Verzögerung beginnt nur, wenn sowohl die WD+-Leitung und die EC1*-Klemme niedriges Potential führen. Erfordert eines von beiden Systemen eine Zustandsänderung des Haupt-Flip-Flops 1606,
509837/0929
506733
so veranlaßt die EC1*-Klemme in dem System, das die Anforderung stellt, den Beginn der 40 Nanosekunden dauernden Verzögerungsperiode. Die ODER-Verbindung ist für den Fall erforderlich, in dem das Flip-Flop in dem O-Zustand (Hauptsteuerung) verbleibt.
Es soll angenommen werden, ,das Hauptsystem hätte zuletzt Eontrolle über den Bus gehabt. In einem solchen Fall, auch wenn der Bus frei geworden ist, bleibt die Klemme EC1* des Hauptsystems auf niedrigem Potential. Es ist jetzt der Ausgang des Inverters 1654-, der den Kondensator 1634 auf niedriges Potential geklemmt hält. Hur wenn die WD*-Leitung 912 des ^auptsystems niedriges Potential annimmt, klemmt der Ausgang des Inverters 1654 nicht langer den Kondensator. Der Kondensator beginnt seine Aufladung und 40 ITanosekunden später wird das MSXIT1-Signal erzeugt. Demgegenüber soll angenommen v/erden, das Nebensystem hätte zuletzt Kontrolle über den Bus gehalib. Sobald der Bus frei geworden ist, nahm die EC1*-Klemme des Nebensystems hohes Potential an. Bei Erzeugung des nächsten VD+-Signals durch das Nebensystem nimmt die Klemme EC1* des Nebensystems niedriges Potential an. Daher reicht in einem Nebensystem der Inverter 1632 aus, um den Kondensator 1634 zwischen den Busbetriebszeiten zu klemmen. Inverter 1654 wird nicht benötigt. Nur in einem Hauptsystem wird Inverter 1654 benötigt und dann nur in dem Fall, in dem das Hauptsystem zuletzt Kontrolle über den Bus hatte, um den Beginn der 40 Nanosekunden dauernden Verzögerung zu starten, wenn eine Bedienungsanforderung zuerst gestellt wird, da die Klemme EC1* des Hauptsystems zwischen den Bus-Betriebszeiten auf niedrigem Potential bl'eibt.
509837/0929
Der Inverter 165^· kann nicht allein betrieben werden, um das Verzögerungsintervall zu veranlassen. Dies liegt daran, daß ein WD*-Signal in einem von "beiden Systemen nicht ein MSXlT'-Signal auslösen soll, während das andere System Kontrolle über den Bus hat. Hur wenn das System, in dem das WD*-Signal erzeugt wurde, Kontrolle über den Bus erlangt (wobei seine Klemme EC1* niedriges Potential annimmt), beginnt das Yerzögerungs-Intervall. Die Oder-Schaltung stellt, sicher, daß in jedem Fall ein MSXN1-Signal nur 40 Sekunden, nachdem sowohl die WD*-Leitung niedriges Potential führt, als auch das System Kontrolle über den Bus hat, erzeugt wird.
Positive Potentiale werden dem CL (Lösch)-Eingang des Flip-Flops 1604- und dem PS (Yoreinstell)-Eingang des Flip-Flops 1606 zugeführt. Diese Eingänge des Flip-Flops haben, wenn sie auf hohem Potential gehalten werden, keinen Einfluß auf die Zustände der Flip-Flcps. Nur ein niedriges Potential an einem der beiden Eingänge beeinflußt den Flip-Flop-Zustand. Der CL-Eingang des Haupt-Flip-Flops 1606 liegt ebenfalls hoch. Während der CL-Eingang dieses Flip-Flops in dem Nebensystem aufgrund der Erdung der SS-Klemme des Nebensystems niedriges Potential hat und so die Speicherung einer 0 verursacht, steuert Flip-Flop 1606 des Nebensystems zunächst nichts.
Erst nachdem das SSYN1-Signal auf der Leitung 1362 durch den ACS rückgeführt worden ist, kann eine neue Anforderung durch eines der beiden Systeme für den Betrieb des internen
509837/0929
UNIBUS gewährt werden. Bis das SSIH1-Signal hohes Potential annimmt, kann Gatter 1616 nicht arbeiten, um einen neuen Bit-Vert in das Flip-Flop 1606 einzugeben. Es gibt? jedoch .eine. Ausnahme für diese allgemeine Regel. Im EaJLl,einer . Datip-Operation behält das- System, das die Kontrolle über den Bus hat, diese, bis die unmittelbar folgende Schreib-Operation beendet ist.. Der Grund dafür ist, daß eine Satip-Opera-tion von einer-Schreib-Op er ation gefolgt werden muß, (unter Steuerung von der gleichen Zentraleinheit) und zwar untea? der gleichen Adresse-in der Speicher-Torrichtung. Die CO-Leitung im oberen Teil der Fig. 15 wird zu einem Eingang des Gatters 1504 über Inverter 1502 geführt. Die CI-Leitung ist direkt mit einem Eingang des Gatters verbunden. Repräsentieren die Befehlsbits CO, C1 einen 10-Code, so arbeitet das Gatter 1504- und die Leitung 1506 nimmt niedriges Potential an, um eine Datip-Operation zu repräsentieren. (Dieses Gatter im Hauptsystem arbeitet sogar, wenn das ITebensystem den Bus steuert. Die entsprechenden CO und C1-Leitungen der beiden Systeme, die zluü ACS geführt sind, sind miteinander verbunden). Leitung 1?06 ist mit dem D-Eingang des Flip-Flops 1604 verbunden. Wird vom ACS das SSOT' -Signal während der Datip-Operation geliefert, erscheint ein positiver Impuls an dem CLK-Eingang des Flip-Flops 1604. Zu diesem Zeitpunkt wird eine 0 im Flip-Flop gespeichert und der Q-Ausgang nimmt niedriges Potential an. Daher wird Gatter 1616 gesperrt und der Zustand des Flip-Flops 1606 kann erst geändert werden, nachdem der Q-Ausgang des Flip-Flops 1604 hohes Potential annimmt. Dies geschieht während der darauf folgenden Schreib-Operation. Wieder einmal wird der CLK-Eingang des Flip-Flops 1604 getaktet, jedoch hat jetzt die Leitung 1506 hohes Potential, so daß eine 1 in dem Flip-
509837/0929
Flop gespeichert wird. Daher kann unmittelbar nach der Schreib-Operation der Zustand des Flip-Flops 1606 geändert v:er den, wenn das System, do ^ die Bus-Steuerung nicht hatte,- dieses^ danach wünscht.
Flip-Flop 1604 wird durch den Zustand 1 automatisch rückgestelt für den Fall, daß innerhalb eines voreingestellten Zeitintervalls (zum Beispiel 10 Mikrosekunden) nach der Datip-Operation keine Schreib-Operation folgt. Hat Flip-Flop 1604 seinen normalen Zustand 1, so hat sein Ausgang Q niedriges Potential. Daher wird die Basis des Transistors 1608 über Diode 1614 auf niedriges Potential rückgeführt und der Transistor bleibt gesperrt. Der PS-Eingang des Flip-Flops, das über Widerstand 1648 auf ein positives Potential rückgeführt wird, hat keinen Einfluß auf den Zustand des Flip-Flops. Kondensator 1612 bleibt entladen. Sobald das Flip-Flop 1604 in den Zustand 0 geschaltet wird, nimmt der Q-Ausgang hohes Potential an. Gleichzeitig wird die Diode 1614 umgekehrt vorgespannt und der Kondensator 1612 beginnt, sich über Widerstand 1610 aufzuladen. Hat der Kondensator sich bis zu dem Punkt aufgeladen, an dem Transistor 1608 durchgeschaltet wird, so wird dem PS-Eingang des Flip-Flops 1604 ein niedriges Potential zugeführt. Dies veranlaßt, daß das Flip-Flop in den Zustand 1 schaltet, so daß der Q-Ausgang hohes Potential annimmt und der Q-Ausgang niedriges Potential annimmt. Kondensator 1612 entladet sich nun über die Diode 1614, Transistor 1608 schaltet ab und Flip-Flop 1604 bleibt in seinem normalen Zustand 1. Dieses Merkmal steuert die Einstellung des Flip-Flops in den Zustand 1, wenn das System das erste Mal angeschaltet wird, so daß jedes der beiden Systeme den Zustand des Flip-Flops
509837/0929
2508733
1606 steuern kann, um Zugriff zu dem ACS zu erlangen.
Die vorstehend unter Bezug auf eine bestimmte Ausführungsforia gegebene Erfindungsbeschreibung dient lediglich der Erläuterung der Anwendung der Prinzipien der Erfindung auf diese Ausführungsform. Es können ohne Abweichung vom Erfindungsgedanken zahlreiche Modifikationen durchgeführt und andere Anordnungen getroffen werden.
509837/0929

Claims (1)

  1. Patentansprüche
    r\J Datenspeicher für mehrere Betriebsarten ohne feste Zuordnung zwischen Adressen und Speicherplätzen, gekennzeichnet durch eine erste Mehrzahl von Speicherplätzen (ACS in Fig. 1; 1300 in Fig. 13)? von denen jeder eine entsprechende Zugriffs-Adresse hat, und durch eine zweite Mehrzahl von Speicherplätzen (SHPM in Fig. 1; 1100 in Fig. 11), von denen jeder eine entsprechende Zugriffs-Adresse hat und von denen mindestens einige für die Aufnahme der Zugriffs-Adressen einiger Speicherplätze der ersten Mehrzahl verwendet werden, weiter durch eine Mehrzahl von Datenleitungen (16 Leitungen als einziges Kabel "To PDP-11-UlTIBUS" in Fig. 12), durch Mittel zur Datenübertragung (1204, 1206, 1310, 1312, 1116) zwischen den Datenleitungen und entweder einem ausgewählten Speicherplatz in der zweiten Mehrzahl oder einem ausgewählten Speicherplatz in der ersten Mehrzahl mit einer abgeleiteten Zugriff?.?-Adresse, durch eine Mehrzahl von Adressenleitungen (18 Leitungen als einziges Kabel zum Block 1002 in Fig. 10) für den Empfang der Speicheradressen mit einer Mehrzahl von Bits, durch Mittel zur Prüfung (710, 720, 714, 832, 834, 806, 808, 830, 802, 804), daß eine über die Adressenleitungen empfangene Speicheradresse innerhalb einer von mehreren vorgegebenen Gruppen von Speicheradressen liegt, und durch Mittel (1210, 1218, 1216), die auf den Betrieb der Prüfmittel ansprechen und die Zugriffs-Adresse eines gewählten Speicherplatzes, der entweder in der ersten oder in der zweiten Mehrzahl liegt, für die Verwendung durch die Datenübertragungsmittel ableiten und Mittel (1112, 1216) enthalten, die der Erkennung eines Speicherplatzes in der zweiten Mehrzahl (1100) aus der empfangenen Speicheradresse und der Ableitung der
    509837/0929
    - 16? -
    Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl (1300) dienen, indem sie mit der Zugriffs-Adrosse (auf Kabel 1150. nach Auslosung aus 1100), die in dem erkannten Speicherplatz enthalten ist, in Übereinstimmung mit den ¥erten mindestens einiger Bits in der empfangenen Speicheradresse entsprechend der in mindestens einer der vorgegebenen Gruppen enthaltenen Speicheradresse eine vorgegebene Operation durchführen, wobei die Ableitungsmittel (1210, 1218, 1216) in einer von mehreren verschiedenen Betriebsarten arbeiten, abhängig davon, welche vorgegebene Speicheradressen-Gruppe die empfangene Speicheradresse ent- ' hält.
    Speicher nach Anspruch 1, dadurch gekennzeichnet, daß die Ableitungsmittel mit einer Zugriffs-Adresse in Übereinstimmung damit, welche entsprechende vorgegebene Gruppe von Speicher—Adressen die empfangene Speicher-Adresse enthält, verschiedene vorgegebene Operationen durchführt.
    Speicher nach Anspruch 1, dadurch gekennzeichnet, daß eine der Betriebsarten eine direkte Betriebsart ist, bei der die Ableitungsmittel die Zugriffs-Adresse eines ausgewählten Speicherplatzes in. der ersten Mehrzahl durch Umsetzen jeder empfangenen Speicher-Adresse innerhalb einer der genannten vorgegebenen Gruppen um einen vorgewählten Betrag ableiten.
    Speicher nach Anspruch 3, gekennzeichnet durch Mittel zur Einstellung des vorgewählten Betrags, um den jede empfangene Speicheradresse umgesetzt (verschoben) ist, um die Zugriffs-Adresse eines Speicherplatzes in der ersten Mehrzahl abzuleiten, wenn die Ableitungsmittel in der direkten Betriebsart arbeiten.
    509837/0929
    5. Speicher nach Anspruch 35 gekennzeichnet durch Mittel für den Aufbau eines Satzes ausair.raenhängender Speicher-Adressen, von denen jede bei Empfang dazu führt, daß die Ableitungsraittel in der direkten Betriebsart arbeiten«
    6. Speicher nach Anspruch 1, dadurch gekennzeichnet, daß eine der Betriebsarten eine Mapping-Betriebsart ist, bei deyaie Ableitungsmittel die Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl ableiten, wenn die-empfangene Speicher-Adresse innerhalb eine-r vorgegebenen Mapping-Gruppe liegt, die mehrere Speicher-Adressen-Blätter (Pages) enthält, wobei jedes der Speieher-Adressen-Blätter einem entsprechenden der Speicherplätze in der zweiten Mehrzahl zugeordnet ist und jeder der entsprechenden Speicherplätze in der zweiten Mehrzahl die Start-Zugriffs-Adresse eines entsprechenden Speicherplatz-Blattes in der ersten Mehrzahl enthält, und daß die Ableitungsmittel in der Mapping-Betriebsart so arbeiten, daß sie die Zugriffs-Adresse in dem der »Speicherplätze in der zweiten Mehrzahl, der denSSpeicher-Adressen-Blatt, das die empfangene Speicher-Adresse enthält, zugeordnet ist, mit mindestens einigen der Bits in der empfangenen-Speicher-Adresse arythmetisch kombinieren, um. so die Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl abzuleiten.
    7· Speicher nach Anspruch 6, dadurch gekennzeichnet, daß die genannten mindestens einige Bits/tn der empfangenen Speicher-Adresse den Unterschied zwischen der empfangenen Speicher-Adresse und der Start-Speicher-Adresse des Speicher-Adressen-Blattes, das die empfangenen Speicher-Adressen enthält, repräsentieren.
    509837/0929
    8. Speicher nach. Anspruch 6, gekennzeichnet durch Mittel zur Steuerung des-Speichervorgangs einer neuen Blatt-Start-Zugriff s-Adrasoe , die auf don Datenleitungen in einem Speicherplatz in'der zweiten Mehrzahl auftritt, wenn die empfangene Speicher-Adresse innerhalb einer "bestimmten vorgegebenen Gruppe enthalten ist,, wobei die Ableitungsmittel Mittel enthalten,- um die Zugriffs-Adresse eines gewählten Speicherplatzes in der zxireiten Mehrzahl aus weniger als allen Bits in einer empfangenen Speicher-Adresse, die in der bestimmten vorgegebenen Gruppe enthalten ist, abzuleiten.
    9- Speicher nach Anspruch 6, gekennzeichnet durch Mittel, um eine Anzahl zusammenhängender Speicher-Adressen-Blätter in der Mapping-Gruppe festzusetzen, wobei eine Speicher-Adresse in jedem dieser Blätter bei Empfang dazu führt, daß die Ableitungsmittel in der Mapping-Betriebsart arbeiten.
    10. Speicher nach Anspruch 1, dadurch gekennzeichnet, daß eine der Betriebsarten eine Spezial-Betriebsart ist, bei der die Ableitungsmittel eine Zugriffs-Adresse für einen gewählten Speicherplatz in der zweiten Mehrzahl ableiten, wenn die empfangene Speicher-Adresse innerhalb der bestimmten vorgegebenen Gruppe liegt, wobei, die Ableitungsmittel Mittel zur Ableitung der Zugriffs-Adresse eines gewählten Speicherplatzes in der ztfeiten Mehrzahl aus mindestens einigen der Bits in einer empfangenen Speicher-Adresse, die in der genannten bestimmten vorgegebenen Gruppe liegt, enthalten.
    509837/0929
    .11. Speicher nach. Anspruch 10, gekennzeichnet durch Mittel zur Festsetzung einer Anzahl von zusammenhängenden Speicher-Adressen,, die in der genannten bestimmten vorgegebenen Gruppe enthalten sind.
    12. Speicher nach Anspruch 1, dadurch gekennzeichnet, daß eine der Betriebsarten eine Stacking-Betriebsart ist, bei der die Ableitungsmittel die Zugriffs-Adresse eines Speicherplatzes in der ersten Mehrzahl ableiten, wenn die empfangene Speicher-Adresse innerhalb einer vorgegebenen Stacking-Gruppe enthalten ist, wobei die Stacking-Gruppe eine Mehrzahl von Untergruppen enthält und die Speicher-Adressen in jeder der unteren Gruppen alle einem entsprechenden der Speicher-Plätze in dar zweiten Mehrzahl zugeordnet sind, ferner jeder entsprechende Speicherplatz in der zweiten Mehrzahl die entsprechende Zugriffs-Adresse eines Speicherplatzes in einer ersten Pufferzone enthält, und die Ableitungsmittel in der Stacking-Betriebsart arbeiten, um die Zugriffs-Adresse eines Speicher-Platzes in der ersten Mehrzahl abzuleiten, indem sie mit der Zugriffs-Adresse, die in dem entsprechenden Speicherplatz in der zweiten Mehrzahl enthalten und der empfangenen Speicher-Adresse zugeordnet ist, in Übereinstimmung mit den Werten von weniger als allen Bits in der empfangenen Speicher-Adresse eine vorgegebene Operation durchführt.
    13. Speicher nach Anspruch 12, dadurch gekennzeichnet, daß abhängig vom Empfang mindestens einer der Speicher-Adressen in jeder der Untergruppen die Ableitungsmittel, die Zugriffs-Adresse, die dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthalten ist, um einen vorgegebenen Betrag
    509837/0929
    modifizieren, um die Zugrlffs-Adresse eines Speicherplatzes in der ersten Mehrzahl abzuleiten.
    14. Speicher nach Anspruch 13, gekennzeichnet durch Kittel zur Speicherung der modifizierten Zugriffs-Adresse in seinem vorhergehenden Speicherplatz in der zweiten Mehrzahl.
    15· Speicher nach Anspruch 13, dadurch gekennzeichnet, daß abhängig vom Empfang mindestens einer der Speicher-Adressen in jeder der genannten Untergruppen die Ableitungsmittel die Zugriffsadresse, die in dem zugeordneten Speicherplatz der zweiten Mehrzahl enthalten sind, um 1 herabsetzen.
    16. Speicher nach Anspruch 13, dadurch gekennzeichnet, daß "bei Empfang von mindestens einer der Speicher-Adressen in jeder der Untergruppen die Zugriffs-Adresse, die in dem zugeordneten Speicherplatz, in der zweiten Mehrzahl enthalten ist, durch die Ableitungsmittel um 2 vermindert wird.
    17· Speicher nach Anspruch 12, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicheradressen in jeder der Untergruppen die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthaltene Zugriffs-Adresse durch die Ableitiingsmittel wieder aufgefunden wird, um eine Zugriffs-Adresse eines Speicherplatzes in der ersten Mehrzahl abzuleiten und danach die aufgefundene Zugriffs-Adresse um einen vorgegebenen Betrag zu modifizieren und die modifizieri Zugriffs-Adresse in ihrem vorhergehenden Speicherplatz in der zweiten Kehrzahl abzuspeichern.
    509837/0929
    18. Speicher nach Anspruch 17 5 dadurch gekennzeichnet, daß die abgeleitete Zugriffs-Adresse der aufgefundenen Zugriffs-Adresse gleich gemacht wird.
    19· Speicher nach Anspruch 17, dadurch gekennzeichnet, daß "bei Empfang von mindestens einer der Speicher-Adressen in jeder der Untergruppen die aufgefundene Zugriffs-Adresse, die in dem zugeordneten Speicherplatz in der
    • zweiten Mehrzahl enthalten ist, modifiziert wird, indem
    «-■---- sie um' 1 vergrößert wird. -
    20. Speicher nach Anspruch 17j dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Untergruppen die aufgefundene Zugriffs-Adresse, die in dem zugeordneten Speicher-Platz in der zweiten Mehrzahl enthalten ist, modifiziert wird, indem sie um 2 vermehrt wird.
    21. Speicher nach Anspruch 13, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Untergruppen die modifizierte Zugriffs-Adresse von den genannten Datenübertragungsmitteln angewandt wird und unverändert in ihrem entsprechenden Speicherplatz in der zweiten Mehrzahl verbleibt.
    22. Speicher nach Anspruch 21, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der genannten Untergruppen die modifizierte Zugriffs-Adresse, die von den Datenübertragungsmitteln angewandt wird, um 1 verringert wird.
    509837/0929
    23· Speicher nach Anspruch 21, dadurch gekennzeichnet, daß "bei Empfang von mindestens einer der Speicher-Adressen in aeder der genannten Untergruppen die modifizierte Zugriffs-Adresse,die von den Datenübertragungsmitteln angewandt wird, um 2 verringert wird»
    Speicher nach Anspruch 12, gekennzeichnet durch Mittel zur Steuerung des Abspeicherns neuer Zugriffs-Adressen, die auf den Datenleitungen in bestimmten Speicherplätzen in der zweiten Mehrzahl, die empfangenen Speicher-Adressen, 'welche .in bestimmten vorgegebenen Gruppen enthalten sind, zugeordnet sind, auftreten, und durch Mittel zur Erkennung derartiger bestimmter Speicherplätze in der zweiten Mehrzahl aus mindestens einigen der Bits in einer empfangenen Speicher-Adresse, die innerhalb der genannten bestimmten vorgegebenen Gruppe enthalten ist.
    25· Speicher nach Anspruch 12, gekennzeichnet durch Mittel zur Einstellung dor ;,..rf einander folgenden Speicher-Adressen in der Stacking-Gruppe, so daß eine Speicher-Adresse davon bei Empfang dazu führt, daß die Ableitungsmittel in der Stacking-Betriebsart arbeiten.
    26. Speicher nach Anspruch 1, gekennzeichnet durch eine Mehrzahl von Sp ei ehe nn.it te In und durch Kittel, die bei Empfang einer vorgegebenen Speicher-Adresse auf den Adressen-Leitun gen ansprechen und den Datentransfer von den Datenleitungen zu der genannten Mehrzahl von Speichermitteln steuern.
    27. Speicher nach Anspruch 26, gekennzeichnet durch Mittel, die auf in der genannten Mehrzahl von Speichermitteln gespeicherte Daten ansprechen, um den Betrieb' der Ableitungs-
    509837/0929
    mittel in einigen der verschiedenen Betriebsarten selektiv zu erregen und zu sperren.
    28.Speicher nach Anspruch 1, gekennzeichnet durch Mittel zur'selektiven Änderung des durch die Ableitungsmittel durchgeführten Betriebs in Abhängigkeit von einer empfangenen Speicher-Adresse, die in mindestens einer .der vorgegebenen Gruppen enthalten ist.
    29· Speicher nach Anspruch 1, dadurch gekennzeichnet, daß mindestens zwei der genannten vorgegebenen Gruppen von Speicher-Adressen einstellbar sind und einander überlappen ■ können, und daß Mittel für die Steuerung einer Prioritätsfolge in Bezug auf die Betriebsart, in der die Ableitungsmittel arbeiten, vorgesehen sind, für den Fall, daß eine empfangene Speicher-Adresse in mindestens zwei verschiedenen der genannten vorgegebenen Gruppen liegt.
    30. Speicher nach Anspruch 1, dadurch gekennzeichnet, daß Speicher-Adressen und -Daten über die genannte Mehrzahl von Adressen- und Datenleitungen aus zwei Quellen empfangen werden, und daß Mittel vorgesehen sind, um eine Datentransfer-Operation in Übereinstimmung mit der Speicher-Adresse und den Daten, die von einer Quelle empfangen werden, zu verzögern, bis die Daten-Transfer-Operation, die ii Übereinstimmung mit der· Speicher-Adresse und den Daten, die von der anderen Quelle empfangen werden, abgeschlossen ist.
    31. Speicher für den Betrieb in einer Mapping-Betriebsart, gekennzeichnet durch eine erste Mehrzahl von Speicherplätzen, von denen jeder eine entsprechende Zugriffs-
    509837/0929
    Adresse hat, eine zweite Mehrzahl von Speicherplätzen, von denen jeder eine entsprechende Zugriffs-Adresse hat, eine Mehrzahl von Datenleitungen, Mittel zum Transfer der Daten zwischen den Datenleitungen imd_ entweder einem ausgewählten Speicherplatz in der zweiten Mehrzahl oder einem ausgewählten Speicherplatz in der ersten Mehrzahl mit einer abgeleiteten Zugriffs-Adresse, eine Mehrzahl von Adressen-Leitungen für den Empfang von Speicher-Adressen mit einer Mehrzahl von Bits, wobei einige der Speicher-Adressen in einem Satz von Blättern (Pages) enthalten sind und alle Speicher-Adressen in jedem der Blätter den entsprechenden Speicher-Plätzen in der zweiten Mehrzahl zugeordnet sind, andere der Speicher-Adressen in einer speziellen Gruppe enthalten sind, trobei jede Speicher-Adresse darin einem entsprechenden Speicherplatz in der zweiten Mehrzahl zugeordnet ist und mindestens einige der Speicherplätze in der zweiten Mehrzahl die Start-Zugriffs-Adressen der Speicherplatz-Blätter in der ersten Mehrzahl enthalten, die den entsprechenden Blättern der Speicher-Adressen entsprechen, welche den genannten mindestens einigen Speicherplätzen in der zweiten Mehrzahl entsprechen, ferner durch erste Mittel zur Ableitung der Zugriffs-Adresse eines gewählten Speicherplatzes in der zweiten Mehrzahl für die Anwendung durch die Transfer-Mittel aus einer empfangenen Speicher-Adresse, die in der erwähnten speziellen Gruppe enthalten ist, und durch Mittel zur Ableitung der Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl für die Anwendung durch die Datentransfer-Mittel aus einer empfangenen Speicher-Adresse, die in einem der Blätter enthalten ist, in dem die Blatt-Start-Zugriffs-Adresse in dem zugeordneten Speicherplatz der zweiten Mehrzahl mit mindestens einigen der Bits in der empfangenen Speicher-Adresse kombiniert wird.
    509837/0929
    32. Speicher nach Anspruch 31» dadurch gekennzeichnet, daß die zweiten Ableitungsmittel die erwähnte Blatt-Start-Zugriffs-Adresse mit mindestens einigen der Bits in der empfangenen Speicher-Adresse arrythmetisch kombiniert, um die Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl abzuleiten.
    33· Speicher nach Anspruch 32, dadurch gekennzeichnet, daß mindestens einige der Bits in der empfangenen Speicher-Adresse die Differenz zwischen der empfangenen Speicher-Adresse und der Start-Speicher-Adresse des Speicher-Adressen-Blattes, das die empfangenen Speicher-Adressen enthält, repräsentieren.
    34·. Speicher nach Anspruch 33j dadurch gekennzeichnet, daß die ersten Ableitungsmittel die Zugriffs-Adresse eines gewählten Speicherplatzes in der zweiten Mehrzahl aus mindestens einigen der Bits in einer empfangenen Speicher-Adresse, die in der genannten speziellen Gruppe enthalten ist, ableiten.
    35· Speicher nach Anspruch 34-, gekennzeichnet durch Mittel zur Einstellung der Anzahl der Blätter, die Speicher-Adressen enthalten, welche bei Empfang zum Betrieb der zweiten Ableitungsmittel führen.
    36. Speicher nach Anspruch 31 j dadurch gekennzeichnet, daß die ersten Ableitungsmittel die Zugriffs-Adresse eines gewählten Speicherplatzes .in der zweiten Mehrzahl aus mindestens einigen der Bits in einer empfangenen Speicher-Adresse, die innerhalb der genannten speziellen Gruppe enthalten ist, ableiten.
    50 9 837/0929
    37· Speicher nach Anspruch 36, gekennzeichnet durch Mittel zur Einstellung der Anzahl der Blätter, die Speicher-Adressen enthalten, welche bei Empfang zum Betrieb, der zweiten A/bleitungsmituel führen.
    38. Speicher nach Anspruch 31? gekennzeichnet durch Mittel, zur Einstellung der Anzahl der Blätter, die Speicher-Adressen enthalten, welche bei Empfang zum Betrieb der genannten zweiten Ableitmittel führen.
    39· Speicher nach Anspruch 31} dadurch gekennzeichnet, daß Speicher-Adressen- und Daten über die Mehrzahl von Adressen- und Datenleitungen von zwei Quellen empfangen werden, und daß weiter Mittel enthalten sind, eine Datentransfer-Operation in Übereinstimmung mit den von der einen Quelle empfangenen Adressen und Daten zu verzögern, bis eine laufende Datentransfer-Operation in Übereinstimmung mit der Speicher-Adresse und den Daten von der anderen Quelle abgeschlossen ist.
    40. Speicher für den Betrieb in einer Stacking-Betriebsart, gekennzeichnet durch eine erste Mehrzahl von Speicher-Plätzen, von denen jeder eine entsprechende Zugriffs-Adresse hat, eine zweite Mehrzahl von Speicher-Plätzen, von denen jeder eine entsprechende Zugriffs-Adresse hat, eine Mehrzahl von Datenleitungen, Mittel zum !Transfer der Daten zwischen den Datenleitungen und entweder einem ausgewählten Speicherplatz in der zweiten Mehrzahl oder in einem ausgewählten Speicherplatz in der ersten Mehrzahl mit einer abgeleiteten Zugriffs-Adresse, einer Mehrzahl von Adressen-Leitungen für den Empfang
    509837/0929
    von Speicher-Adressen mit einer Mehrzahl von Bits, wobei einige der Speicher-Adressen in entsprechenden Gruppen enthalten sind und alle Speicher-Adressen den entsprechenden Speicher-Plätzen in der zweiten Mehrzahl zugeordnet sind, andere der Speicher-Adressen in einem speziellen Satz enthalten sind, wobei jede Speicher-Adresse darin einem entsprechenden Speicherplatz in der zweiten Mehrzahl zugeordnet ist und mindestens einige der Speicherplätze in. der zweiten Mehrzahl die Zugriffs-Adressen von Speicherplätzen in der ersten Mehrzahl enthalten, ferner durch erste Mittel zur Ableitung der Zugriffs-Adresse eines gewählten Speicherplatzes in der zweiten Mehrzahl für die Anwendung durch die Transfer-Mittel aus einer empfangenen Speicher-Adresse, die in dem erwähnten speziellen Satz enthalten ist, und durch Mittel zur Ableitung der Zugriffs-Adresse eines gewählten Speicherplatzes in der ersten Mehrzahl für die Anwendung durch die Daten-Iransfer-Mittel aus einer empfangenen Speicher-Adresse, die in einer der Gruppen enthalten ist, in dem mit der Zugriffs-adresse, die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthalten ist, entsprechend den "Werten von mindestens einigen der Bits in der empfangenen Speicher-Adx^esse eine vorgegebene Operation durchgeführt wird.
    4-1. Speicher nach Anspruch 4-0, dadurch gekennzeichnet-, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der genannten Gruppen die zweiten Ableitungsmittel die Zugriffs-Adresse, die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthalten ist, als Zugriffs-Adresse für einen Speicherplatz in der ersten Mehrzahl benutzen.
    509837/0929
    42. Speicher nach. Anspruch 41, gekennzeichnet durch Mittel zur Modifikation der Zugriffs-Adresse, die für die Daten-Transfer-Mittel verwendet wird, um einen vorgegebenen
    Betrag, und durch Mittel zur Speicherung der modifizierten Zugriffs-Adresse in ihrem vorhergehenden Speicherplatz in der zweiten Mehrzahl.
    43. Speicher nach Anspruch 42, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speieher-Adressen in jeder der Gruppen die zweiten Ableitungsmittel die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthaltene Zugriffs-Adresse um 1 vermehrtew**d.
    44. Speicher nach Anspruch 42, dadurch gekennzeichnet, daß
    bei Empfang von mindestens einer der Speicher-Adressen
    w
    in jeder der Gruppen die zweiten Ableitmittel die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthaltene Zugriffs-Adresse um 2 vermehren.
    45· Speicher nach Anspruch 40, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die zweiten Ableitungsmittel die in dem zugeordneten Speicherplatz der zweiten Mehrzahl ent~ haltene Zugriffs-Adresse um 1 vermehren.
    46. Speicher nach Anspruch 40, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die zweiten Ableitungsmittel die in dem . zugeordneten Speicherplatz in der zweiten Mehrzahl enthaltene Zugriffs-Adresse um 2 vermehren,
    S09837/0929
    47. Speicher nach. Anspruch 40, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die zweiten Ableitungsmittel die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthaltene Zugriffs-Adresse auffinden und die aufgefundene Zugriffs-Adresse um einen vorgegebenen Betrag modifizieren, um eine Zugriffs-Adresse für einen Speicherplatz in der ersten Mehrzahl abzuleiten. .
    48.'■ Speicher nach' Anspruch -^i-7» dadurch gekennzeichnet, daß die modifizierte Zugriffs-Adresse danach von den Daten-' ■- Transfer-Mitteln verwendet wird und daß weiter Mittel enthalten sind, um die modifizierte Adresse in ihrem vorhergehenden Speicherplatz in der zweiten Mehrzahl zu speichern.
    4-9· Speicher nach Anspruch 48, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die aufgefundene Zugriffs-Adresse, die in dem zugeordneten Speicherplatz der zweiten Mehrzahl enthalten ist, derart modifiziert wird, daß sie um 1 verringert wird.
    50. Speicher nach Anspruch 48, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die aufgefundene Zugriffs-Adresse, die in dem zugeordneten Speicherplatz der z\<*eiten Mehrzahl enthalten ist, derart modifiziert wird, daß sie um 2 verringert wird.
    509837/0929
    51. Speicher nach Anspruch 4-0, dadurch gekennzeichnet, daß "bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die zweiten Ableitungsmittel die Zugriffs-Adresse aus dem zugeordneten Speicherplatz in der zweiten Mehrzahl herausfinden und diese um einen vorgegebenen Betrag modifizieren, um die Zugriffs-Adresse eines Speicherplatzes in der ersten Mehrzahl abzuleiten, wobei die Zugriffs-Adresse in dem zugeordneten Speicherplatz in der zweiten Mehrzahl unverändert bleibt.
    52. Speicher nach Anspruch 51» dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die aufgefundene Zugriffs-Adresse modifiziert wird, indem sie um 1 verringert wird.
    53« Speicher nach Anspruch 51» dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die aufgefundene Zugriffs-Adresse modifiziert wird, indem sie um 2 verringert wird.
    54·. Speicher nach Anspruch 4-0, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die Zugriffs-Adresse, die in dem zugeord-^·' neten Speicherplatz in der zweiten Mehrzahl enthalten ist, durch die zweiten Ableitungsmittel um 1 verringert wird.
    55. Speicher nach Anspruch 40, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die Zugriffs-Adresse, die in dem zugeordneten Speicherplatz in der zweiten Mehrzahl enthalten ist, durch die zweiten Ableitungsmittel um 2 verringert wird.
    509837/0929
    56. Speicher nach Anspruch 40, gekennzeichnet durch Mittel zur Einstellung der Speicher-Adressen, die in den entsprechenden Gruppen enthalten sind.
    37" Speicher nach Anspruch 40, dadurch gekennzeichnet, daß Speicher-Adressen und Daten über die erwähnte Mehrzahl von Adressen- und Daten-Leitungen aus zwei Quellen empfangen werden, und daß Mittel vorgesehen sind, um eine Daten-Transfer-Operation bezogen auf die Speicher-Adresse und die Daten, die von einer Quelle empfangen werden, zu verzögern, bis eine laufende Daten-Transfer-Operation bezogen auf die Speicher-Adresse und Daten,
    "■ die von der anderen" Qüelle~empfangen werden, abgeschlossen ist.
    58. Speicher für einen Betrieb in der Stacking-Betriebsart, gekennzeichnet durch eine Mehrzahl von Speicherplätzen, von denen Jeder eine entsprechende Zugriffs-Adresse hat, eine Mehrzahl von Datenleitungen, Mittel für den Datentransfer zwischen den Datenleitungen und einem gewählten Speicherplatz, der eine abgeleitete Zugriffs-Adresse hat, weiter durch eine Mehrzahl von Adressen-Leitungen für den Empfang von Speicher-Adressen, die eine Mehrzahl von Bits aufweisen, eine Mehrzahl von Index (pointer)-Mitteln, von denen jedes die Zugriffs-Adresse eines Speicherplatzes darstellt, Mittel zum Abspeichern der Zugriffs-Adressen in der erwähnten Mehrzahl von Indexmitteln, ferner durch eine Gruppe von Speicher-Adressen, die jedem der Indexmitbel zugeordnet sind und durch Mittel für die Ableitung einer Zugriffs-Adresse eines gewählten Speicherplatzes für die Anwendung durch die Daten-Transfer-Mittel aus einer
    509837/0929
    empfangenen Speicher-Adresse, in dem mit der Zugriffs-Adresse, die durch die zugeordneten Indexmittel dargestellt wird, in Übereinstimmung mit den Werten mindestens einiger Bits der empfangenen Speieher-Adresse eine vorge- ~~ gebene Operation durchgeführt wird.
    59· Speicher nach Anspruch 58, dadurch gekennzeichnet, daß bei Empfang von mindestens einer.der Speicher-Adressen in jeder Gruppe die durch, die zugeordneten Index-Mittel
    repräsentierte Zugriffs-Adresse von den Ableitungsmitteln als Zugriffs-Adresse eines Speicher-Platzes benutzt wird.
    60. Speicher nach Anspruch 59» gekennzeichnet durch Mittel, um die von den Daten-Transfer-Mitteln benutzte Zugriffs-Adresse um einen vorgegebenen Betrag zu modifizieren und die modifizierte Adresse in dem Platz des vorhergehenden Index-Mittels abzuspeichern.
    61. Speicher nach Anspruch 60, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die Zugriffs-Adresse, die durch die zugeordneten Index-Mittel repräsentiert wird, von den Ableitungsmitteln um 1 vermehrt wird.
    62. Speicher nach Anspruch 60, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die Zugriffs-Adresse, die durch die zugeordneten Index-Mittel repräsentiert xirird, von den Ableitungsmitteln um 2 vermehrt wird.
    509837/0929
    63· Speicher nach Anspruch 58, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die Zugriffs-Adresse, die durch die zugeordneten Index-Mittel repräsentiert wird, von den Ableitungsmitteln um 1 vermehrt wird.
    64-. Speicher nach Anspruch 58, dadurch gekennzeichnet, daß
    — - bei Empfang von mindestens-einer der Speie-her*-Adressen
    in jeder der Gruppen die Zugriffs-Adresse, die.durch die
    — zugeordneten Index-Mittel repräsentiert wird-, "von den
    Ableitungsmitteln um 2 vermehrt wird.
    65· Speicher nach Anspruch 58, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die Zugriffs-Adresse, die durch die zugeordneten Index-Mittel repräsentiert wird, von den
    Ableitungsmitteln um einen vorgegebenen Betrag modifiziert wird, um eine Zugriffs-Adresse für einen Speicherplatz abzuleiten.
    66. Speicher nach Anspruch 65, dadurch gekennzeichnet, daß die modifizierte Zugriffs-Adresse von den ^aten-Transfer-Mitteln verwendet wird und daß Mittel vorgesehen sind, um die modifizierte Zugriffs-Adresse in ihren vorhergehenden. Index-Mitteln abzuspeichern.
    67« Speicher nach Anspruch 66, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die modifizierte Zugriffs-Adresse um 1 vermindert wird.
    509837/0929
    68. Speicher nach Anspruch 66, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die modifizierte Zugriffs-Adresse um 2 vermindert wird.
    69· Speicher nach Anspruch 65, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die modifizierte Zugriffs--Adresse, die von den Daten-Transfer-Mitteln verwendet wird,—anverändert-in-ihren Index-Mitteln-verbleibt.··
    70. Speicher nach Anspruch 69, dadurch gekennzeichnet,
    daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die modifizierte Zugriffs-Adresse, die von den Daten-Transfer-Mitteln verwendet wird, um 1 vermindert wird.
    71. Speicher nach Anspruch-69, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die modifizierte Zugriffs-Adresse, die von den Daten-Transfer-Mitteln verwendet wird, um 2 vermindert wird.
    72. Speicher nach Anspruch 58, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder Gruppe die Zugriffs-Adresse, die durch die zugeordneten Index-Mittel repräsentiert wird, von den Ableitungsmitteln um 1 vermindert wird.
    509837/0929
    73· Speicher nach Anspruch 58, dadurch gekennzeichnet, daß bei Empfang von mindestens einer der Speicher-Adressen in jeder der Gruppen die Zugriffs-Adresse, die durch die / zugeordneten Index-Mittel repräsentiert wird,· von den Ableitungsmitteln um 2 vermindert wird.
    74. Speicher nach Anspruch 58, gekennzeichnet durch Mittel, für die Einstellung der Speicher-Adressen, die in den Gruppen enthalten sind, die den genannten Index-Mitteln zugeordnet sind.
    75. Speicher nach Anspruch 58, dadurch gekennzeichnet, daß Speicher-Adressen und Datan über die erwähnte Mehrzahl von Adressen- und Daten-Leitungen von 2 Quellen empfangen werden, und daß Mittel vorgesehen sind, um eine Daten-Transfer-Operation bezogen auf die Speicher-Adresse und .die empfangenen Daten von einer Quelle zu verzögern, bis eine? laufende Daten-Transfer-Operation in Bezug auf die Speicher-Adresse und Daten, die von der anderen Quelle empfangen werden, beendet ist.
    76. Speicher nach Anspruch 58» gekennzeichnet durch eine Mehrzahl von Speicher-Mitteln und durch Mittel, die bei Empfang einer vorgegebenen Speicher-Adresse auf den Adressen-Leitungen den Daten-Transfer von den Daten-Leitungen zu der Mehrzahl von Speicher-Mitteln, steuern.
    77. Speicher nach Anspruch 76, gekennzeichnet durch Mittel, die auf die in der erwähnten Mehrzahl von Speicher-Mitteln gespeicherten Daten ansprechen, um die Arbeitsweise der Ableitungsmittel zu bewirken und zu sperren.
    509837/0929
    18? -
    78. Speicher nach Anspruch 76, gekennzeichnet durch Mittel, die auf die in der erwähnten Mehrzahl von Speicherznitteln gespeicherten Daten ansprechen, um die Speicher-Adressen, die in mindestens, einer-de_r Gruppen enthalten sind, zu wählen.
    79· Speicher nach Anspruch 58, gekennzeichnet durch Mittel zur selektiven Veränderung der vorgegebenen Operation, die von den Ableitungsmitteln in Abhängigkeit von einer empfangenen Speicher-Adresse, die in mindestens einer der Gruppen enthalten ist, durchgeführt wird.
    5 09 837/0929
DE19752506733 1974-02-26 1975-02-18 Datenspeicher ohne feste zuordnung zwischen adressen und speicherplaetzen Ceased DE2506733A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US446116A US3914747A (en) 1974-02-26 1974-02-26 Memory having non-fixed relationships between addresses and storage locations

Publications (1)

Publication Number Publication Date
DE2506733A1 true DE2506733A1 (de) 1975-09-11

Family

ID=23771373

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752506733 Ceased DE2506733A1 (de) 1974-02-26 1975-02-18 Datenspeicher ohne feste zuordnung zwischen adressen und speicherplaetzen

Country Status (7)

Country Link
US (1) US3914747A (de)
JP (1) JPS595936B2 (de)
CA (1) CA1011001A (de)
DE (1) DE2506733A1 (de)
FR (1) FR2262372B3 (de)
GB (1) GB1495332A (de)
IL (1) IL46475A (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084229A (en) * 1975-12-29 1978-04-11 Honeywell Information Systems Inc. Control store system and method for storing selectively microinstructions and scratchpad information
US4156927A (en) * 1976-08-11 1979-05-29 Texas Instruments Incorporated Digital processor system with direct access memory
FR2445988A1 (fr) * 1979-01-02 1980-08-01 Honeywell Inf Systems Dispositif d'adressage perfectionne d'un systeme de traitement de donnees
USRE31977E (en) * 1979-03-12 1985-08-27 Texas Instruments Incorporated Digital computing system having auto-incrementing memory
US4459677A (en) * 1980-04-11 1984-07-10 Ampex Corporation VIQ Computer graphics system
US4497020A (en) * 1981-06-30 1985-01-29 Ampex Corporation Selective mapping system and method
JPS58102380A (ja) * 1981-12-11 1983-06-17 Hitachi Ltd 仮想記憶管理方法
GB2136170A (en) * 1983-03-03 1984-09-12 Electronic Automation Ltd Method and apparatus for accessing a memory system
GB8316463D0 (en) * 1983-06-16 1983-07-20 Secr Defence Priority resolution in bus oriented computer systems
US4760522A (en) * 1984-06-20 1988-07-26 Weatherford James R Intermixing of different capacity memory array units in a computer
BG39765A1 (en) * 1985-02-14 1986-08-15 Turlakov Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US5835576A (en) * 1985-07-10 1998-11-10 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface lottery device
US5793846A (en) 1985-07-10 1998-08-11 Ronald A. Katz Technology Licensing, Lp Telephonic-interface game control system
US4845739A (en) 1985-07-10 1989-07-04 Fdr Interactive Technologies Telephonic-interface statistical analysis system
US5365575A (en) 1985-07-10 1994-11-15 First Data Resources Inc. Telephonic-interface lottery system
US5898762A (en) * 1985-07-10 1999-04-27 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface statistical analysis system
US20040071278A1 (en) * 1985-07-10 2004-04-15 Ronald A. Katz Multiple format telephonic interface control system
US6678360B1 (en) 1985-07-10 2004-01-13 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface statistical analysis system
US5359645A (en) 1985-07-10 1994-10-25 First Data Corporation Inc. Voice-data telephonic interface control system
US5828734A (en) 1985-07-10 1998-10-27 Ronald A. Katz Technology Licensing, Lp Telephone interface call processing system with call selectivity
US6449346B1 (en) 1985-07-10 2002-09-10 Ronald A. Katz Technology Licensing, L.P. Telephone-television interface statistical analysis system
CA1270338C (en) * 1985-09-11 1990-06-12 DATA PROCESSING SYSTEM FOR PROCESSING UNITS WITH DIFFERENT RATES
US4835733A (en) * 1985-09-30 1989-05-30 Sgs-Thomson Microelectronics, Inc. Programmable access memory
IT1184013B (it) * 1985-12-13 1987-10-22 Elsag Memoria ad elevata capacita accessibile a diverse agenti
US4682283A (en) * 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5276781A (en) * 1989-07-12 1994-01-04 Ricoh Company, Ltd. Laser printer controller flexible frame buffer architecture which allows hardware assisted memory erase
JP2907451B2 (ja) * 1989-08-31 1999-06-21 キヤノン株式会社 ダイレクトメモリアクセス方法および装置
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
US5303360A (en) * 1991-02-22 1994-04-12 Vlsi Technology, Inc. Programmable boundary between system board memory and slot bus memory
US5369758A (en) * 1991-11-15 1994-11-29 Fujitsu Limited Checking for proper locations of storage devices in a storage array
CA2151293C (en) * 1994-06-10 2006-04-04 Harris Corporation Improvements in or relating to integrated network switch with variable functions
US5748627A (en) * 1994-06-10 1998-05-05 Harris Corporation Integrated network switch with flexible serial data packet transfer system
JP3078204B2 (ja) * 1995-06-01 2000-08-21 株式会社東芝 磁気ディスク装置及び磁気ディスク装置におけるバッファ管理方法
US6427199B1 (en) * 1999-01-19 2002-07-30 Motorola, Inc. Method and apparatus for efficiently transferring data between peripherals in a selective call radio
JP2001344187A (ja) * 2000-05-30 2001-12-14 Matsushita Electric Ind Co Ltd ホストインタフェース回路
JP2003162433A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd メモリシステム
TW201020773A (en) * 2008-11-19 2010-06-01 Inventec Corp Method for reading/writing a big structure in a 64k operating environment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3599176A (en) * 1968-01-02 1971-08-10 Ibm Microprogrammed data processing system utilizing improved storage addressing means
DE1925427A1 (de) * 1968-05-25 1970-01-15 Fujitsu Ltd Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern
US3651475A (en) * 1970-04-16 1972-03-21 Ibm Address modification by main/control store boundary register in a microprogrammed processor
US3737860A (en) * 1972-04-13 1973-06-05 Honeywell Inf Systems Memory bank addressing

Also Published As

Publication number Publication date
FR2262372A1 (de) 1975-09-19
AU7851975A (en) 1976-08-26
IL46475A0 (en) 1975-04-25
FR2262372B3 (de) 1978-11-17
CA1011001A (en) 1977-05-24
JPS595936B2 (ja) 1984-02-08
JPS50126135A (de) 1975-10-03
US3914747A (en) 1975-10-21
GB1495332A (en) 1977-12-14
IL46475A (en) 1977-01-31

Similar Documents

Publication Publication Date Title
DE2506733A1 (de) Datenspeicher ohne feste zuordnung zwischen adressen und speicherplaetzen
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE2846117C2 (de) Datenprozessor
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE2231146B2 (de) Datenverarbeitungsanlage mit virtueller Adressierung
DE1803767A1 (de) Elektronisches Datenverarbeitungssystem
DE2630323A1 (de) Datenspeichereinrichtung
DE3232600C2 (de)
DE2411963B2 (de) Datenverarbeitungsanlage
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE1966633B2 (de) Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers
DE3300699A1 (de) Verfahren und schaltungsanordnung zur adressierung der speicher mehrerer datenverarbeitender einrichtungen in einem mehrfachleitungssystem
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE2542010A1 (de) Datenverarbeitende anlage
DE2747146A1 (de) Datenverarbeitungsanlage
DE4207158A1 (de) Speicher-zugriffssteuerung
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE2935857A1 (de) Verfahren und schaltungsanordnung zur durchfuehrung von additionen
DE2739525C2 (de) Rechner
DE2720864A1 (de) Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge
DE2456710A1 (de) Einrichtung zum packen von seitenrahmen eines hauptspeichers mit datensegmenten
DE1774053A1 (de) Digitaldaten-UEbertragungssystem
DE3923872A1 (de) Schaltungsanordnung zum steuern des zugriffs auf einen speicher
EP1145113B1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
DE1280592B (de) Schaltungsanordnung zur Ansteuerung eines Speichers

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection