DE2944419A1 - Digitalrechnersystem - Google Patents

Digitalrechnersystem

Info

Publication number
DE2944419A1
DE2944419A1 DE19792944419 DE2944419A DE2944419A1 DE 2944419 A1 DE2944419 A1 DE 2944419A1 DE 19792944419 DE19792944419 DE 19792944419 DE 2944419 A DE2944419 A DE 2944419A DE 2944419 A1 DE2944419 A1 DE 2944419A1
Authority
DE
Germany
Prior art keywords
memory
bus
signals
processor
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19792944419
Other languages
English (en)
Other versions
DE2944419C2 (de
Inventor
David Grondolski
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.)
EMC Corp
Original Assignee
Data General 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 Data General Corp filed Critical Data General Corp
Publication of DE2944419A1 publication Critical patent/DE2944419A1/de
Application granted granted Critical
Publication of DE2944419C2 publication Critical patent/DE2944419C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units

Description

Anmelderin: Stuttgart, den 2^. Okt. 1979
Data General Corporation P 577k R/Bn Westboro, Massachusetts
V.St.A.
Vertreter:
Kohler-Schwindling-Späth
Patentanwälte
Hohentwielstr. i+1
7000 Stuttgart - 1
Digitalrechnersystem
Die Erfindung befaßt sich mit der Architektur für ein schnelles Digitalrechnersystem und mehr im einzelnen mit in diesem verwendeten Schaltungen zur Steigerung der Arbeitsgeschwindigkeit und der Leistungsfähigkeit eines solchen Systems.
Die Grundelemente für einen Digitalrechner umfassen einen Prozessor zum Verarbeiten von digitalen Daten in Maschinensprache und einen Speicher. Im allgemeinen sind Befehle in Maschinensprache zum Steuern der Arbeitsoperationen des Prozessors im Speicher gespeichert. Der Speicher kann auch
030020/0815
-JtT-
29AA4 1
mindestens Teile von zu verarbeitenden Daten enthalten. Befehle und Daten werden zwischen dem Prozessor und dem Speicher durch Speicher-Eingabe- und Ausgabe-Busse übertragen. Ein Rechner weist weiterhin Eingabe/Ausgabe(E/O)-Module zum Übertragen von Befehlen und Daten zwischen dem Rechner und externen Geräten auf. Die externen Geräte können beispielsweise eine Steuerkonsole oder ein Bandspeichergerät aufweisen und sie verkehren im allgemeinen nicht in der Maschinensprache des Rechners.
Die Tauglichkeit eines solchen Digitalrechners wird durch seine Geschwindigkeit und sein Leistungsvermögen bei der Verarbeitung von Daten und durch seine Anpassungsfähigkeit an sich ändernde Erfordernisse der Benutzer bestimmt und begrenzt. Die Geschwindigkeit und die Leistungsfähigkeit des Rechnersystems werden durch verschiedene Faktoren bestimmt. Zu diesen Faktoren gehören die Operationsgeschwidigkeit des Speichers und die Verfügbarkeit des Speicherzugriffs durch den Prozessor, wenn dieser Zugriff benötigt wird. Andere Faktoren sind die Datenbandbreite, die durch die Eingabe- und Ausgabe-Busse des Speichers gewährleistet werden kann, die Komplexität der Prozessor-Schnittstelle mit den Speicher-Eingabe- und Ausgabe-Bussen, die Verfügbarkeit von Befehlen für den Prozessor, wenn sie benötigt werden, und die Geschwindigkeit, mit der der Prozessor Befehlsfolgen veranlaßt und ausführt.
Eine Begrenzung für die Anpassungsfähigkeit des Rechners liegt in seiner Fähigkeit, die Speicherkapazität entsprechend den Erfordernissen des Benutzers zu strukturieren. Eine weitere Begrenzung liegt in der Fähigkeit des i/A-Moduls des Rechners, eine Anpassung an eine
030020/0815
Mehrzahl von ι;χ.1υπι·:;ιι Geraten uU'-r an Anderun^-n dor int.':r:'i'.'ii Maschinensprache du.; Rechner..: zu ermöglichen,
bii: vor ] j i- ,:·;ι π du srfindung schafft bei einem K'echnersy;u.um Verbesserungen, die ti .ich auf dje üben genannten Kai·:! .in.;!! von i!e.jr)nv indigkei t, una l,ei;;tuni;;; i'a'hj fiv'· i t bu-Y.i >.:\\>.;>\, und i/ic VL'i'bü3sert Humit die Geüchwindi r;!.u.i t und a'w Luii.; tunnci'äliigkeit d>;i· Arbuit duü .Jy.jLum:; und :;:;hai ft auch eine Lösung für die oben erwähn tun Problunu; urM !iL'.u'hräni-.un^eri beim ο Land Jur 'l'uchnik, wi<; untun im <.'.i.[n.<- irit. η diükiitit rt wird.
Di-; vurlJi.'/;L-ii(Jü Lrfindung bufaiit ijio.li mit tiur Architektur i.-iri'.'U Hc-chntJi^iy.iLerriü und schafft eine erhühtu üjn.'ral,ionti-(■;c:;cliv.indigkoit und Leistungsfähigkeit und go;;tattet e:;, ein Rechnercystem an sich ändernde Anforderungen des Benut::i;r.j anz,U|)assen. Die Architektur weist einen Prozessorzum '.Ί rarboitun von Daten in Maschinensprache1 auf, einen opf'icher, um mindestens Befehle in Maschinensprache zur Benutzung durch den Prozessor zu speichern, einen ;]pe j cher-Ein^abe-Bus und einen Speicher-Aus^abe-Bus , um mindestens Befehle zwischen dem Speicher und dem Prozessor zu übertragen und ij/A-Module zum Übertragen von "ianalen zwischen dem Rechnersystem und externen Geräten. Die Architektur weist andere Schaltungen zur Krhühung der Geschwindigkeit, der LeistungsfähickuiL und aer Anpassungsfälligkeit des Rechnersysteme auf. Uni..·!· diesen Schaltungen sind ein schneller Speicher un ι Jr i.-iclior-Busce , die eine große Speicher-Bus-Bandbro jte ;iüu (ine einfache Speicher-Bus-Schnittste lluiischaltung ergebeii. Hin weiteres Merkmal ist eine Befehls-Bereitstf'J J uni-s-rJinri chtung , um Befehle aus dem Speicher
030020/0815
abzurufen und zu speichern, bevor diese Befühle durch den Prozessor ausgeführt werden· Wieder ein anderes Merkmal ist eine Schaltung, die einen schnellen Beginn und eine schnelle Durchführung von Befehifolgen erlaubt. Ein weiteres Merkmal ist eine E/A-Schaltung, die eine leichte Verbindung eines Rechnersystems mit eiiii;r Vielzahl von externen Geräten oder eine leichte Anpassung an Änderungen in der Maschinensprache oder in den Defehlen des Rechners erlaubt.
Es ist daher vorteilhaft, die vorliegende Erfindung in einem Rechnersyutem zu verwirklichen, v»eil die Geschwin digkeit, mit der Befehle vom Speicher zum Prozessor übertragen werden, vergrößert v/i rd und die Rechner-Gemeinkostenzeit verringert wird, die benötigt wird, um Befehle aus dem Speicher abzurufen. Die vorliegende: Erfindung ist weiterhin vorteilhaft, weil die Geschwindigkeit, mit der Befehlsfolgen veranlaßt und ausgeführt werden, erhöht ist· Zusätzlich vergrößert die vorliegende Erfindung die Anpassungsfähigkeit eines Rechners hinsichtlich seiner Verbindung mit externen Geräten und gestattet es, daß die Brauchbarkeit des Rechnersystems vergrößert wird, um steigende Anforderungen der Benutzer zu erfüllen·
Es ist somit ein Vorteil der vorliegenden Erfindung, daß sie ein verbessertes Digitalrechnersystem schafft.
Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein verbesserter Rechnerspeicher und Speicher-Bus-System geschaffen wird, die erweiterungsfähig sind, um die Anforderungen der Benutzer zu erfüllen.
030020/0815
29U419
Wilder ein anderer Vorbei L der vorliegenden Erfindung besteht darin, daß eine Schaltung ^um Bereitstellen von Be fehlen geschaffen wird, die Befehle aiu dem Speicher vor gerade durch den Prozessor in Ausführung befindlichen Befehlen abruft.
,-!in woiLei'or Vorteil der vorliegenden Erfindung bestellt dai'in, daß eine Schaltung zum Erhöhen der Geschwindigkeit geschaffen wird, mit der Befehlsfolgen durch den Prozessor veranlaßt und ausgeführt werden.
Wiederum ein anderer Vorteil der vorliegenden Erfindung besteht in der Schaffung einer E/A-Schaitung, die es gestattet, daß ein Rechnersystem leicht mit einer Vielzahl von externen Geräten verbunden werden kann oder leicht an Änderungen der Maschinensprache oder der Befühle im Rechner angepaßt werden kann.
'Weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung von bevorzugten Ausführungsbeispielen der Erfindung anhand tier Zeichnung, und aus den Ansprüchen.
Fig. 1 ist ein teilweises Blockschaltbild eines Rechners gemäß dem Stand der Technik;
Fig". 2 ist ein teilweises Blockschaltbild eines die vorliegende Erfindung enthaltenden Rechner;;;
Fig. ''j 1st ein detailliertes Blockschaltbild eines die vorliegende Erfindung enthaltenden Rechners;
Kig. l\ stellt im vorliegenden Rechner verwendete Bef e h L s - und Da t e η wo r t e da r ;
030020/0815
/τη
F if,. 5 i-'t ein Blockschaltbild eines Unterspeiche rs;
Fig· b ist ein Zeitdiagramm, das einen Lesezyklus ei Unterupeichers zeigt;
Fi(';. V ist ein Zeitdiagramm, das einen schreibzykJus 'ines Unterspeichere zeigt;
Fig. 8 ist ein Zeitdiagramm, das einen Auffrischzyklus des Rechnerspeichers zeigt;
Fig. 9 ist ein Zeitdiagramm, das einen sputen Auffrischzyklus des Rechnerspeichers zeigt;
Fig.10 ist ein Zeitdiagramm, das einen verzögerten Lese-Schreib-Zyklus des Rechnerspeichers zeigt;
Fig.11 ist ein Zeitdiagramm, das das Umschalten des Rechnerspeichers auf Batterie-Aushilfsbetrieb zeigt;
Vif. 1c- int ein Zeitdiagramm, das einen Rechner-Auffrischsyklus bei Batterie-Aushilfsbetrieb zeigt;
Fig.13 ict ein Zeitdiagramm, das das Herausschälten des Rochnerspeichers aus dem Batterie-Aushiifsbetrieb zeigt;
Fig.W) ist eine schematische Darstellung einer opeichermodulbank;
Firo Iy ist uin Blockschaltbild eines Speicherelements;
030020/0815
16 und IGA sind johemutische barstell ungen von :jpeicherausgabeschaltungen;
Fif;· 17 iijt, üine schematische Darstellung einer ^poi-
cher-riingabeschaltung;
Fig.Io ist eine schematische Darstellung
SpoichermoduleincabeGchaltung;
Fit,.i7 i-'jt eine uchoraatische Darstellun/j einer
Spoicherniodulbank-Treiberschaltunf;
Fi-O^O i;;t eiin: cchematiache Darstellung oinoi· Modul-
ctcuerschaltunß;
Fir·'--! iüt eine schematische Darstellung der Speicher·
iJteuercchaltung;
Fir;n.
dd und 22Λ sind schematioche Darstellungen der SpeicherausßabeGteuerschaltung;
Fign. 2J,t
2.yA u, 2.5B sind schematische Darstellungen der Speicherauffrisch- und Hilfsbatterie-oteuerschaltung;
Fi;;. 2.i\ ist eine schematische Dar-stellung der Speicher-Gingäbe-Taktεchaltung;
Fign ·
el1} und 2.I)A sind ßcliematisclie Darstellungen der ßefehlsanforderungsschaltung des Bereitstellungs-Prozessors ;
0/0 030020/0815
29U419
26 und 26a sind schematische Darstellungen der Speicherschaltung des Bereitstellungs-Prozessors;
27 und 27A sind schematische Darstellungen der Steuerschaltung des Bereitstellungs-Prozessors;
Fig. 28 ist ein Blockschaltbild einer Rechner-Mikrobefehl-Logik;
Fig. 29 zeigt den Zusammenhang zwischen Folgen von Makrobefehlen und Mikrobefehlen des Rechnersystems; und
Fig. 30 ist eine schematische Darstellung eines Teils der Mikrobefehl-Logik (SAGE) des Rechnersystems.
Die folgende Diskussion legt die Architektur und die Arbeitsweise eines Rechners, der die vorliegende Erfindung enthält, dar. Wie im folgenden Inhaltsverzeichnis angezeigt ist, wird die allgemeine Architektur und Wirkungsweise eiru;;.; Rechners jomili duni Stand der Technik zuerst gezeigt. Als nächstes wird die allgemeine Architektur und Arbeitsweise eines Rechners entsprechend der vorliegenden Erfindung gezeigt und mit dem bekannten Rechner verglichen. Eine kurze Diskussion gewisser Merkmale der vorliegenden Erfindung folgt. Die Architektur und Arbeitsweise des Rechners der vorliegenden Erfindung wird dann auf der Ebene von Blockdiagramraen beschrieben. Ausgewählte Abschnitte des Rechners, beispielsweise der
030020/0815
Speicher, der Bereitstellungsprozessor, die Mikrobefehls-Steuerlogik, und eine Softkonsole werden dann einzeln beschrieben.
Aus Gründen der Deutlichkeit der Darstellung werden in usr folgenden Diskussion gewisse Vereinbarungen benutzt. Wenn auf wesentliche Anzahlen von Signalen während der Diskussion, beispielsweise des Speichers oder des Bereitstellungsprozessors, Bezug genommen wird, wird der Diskusaion ein Glossar vorausgehen, das die genannten Signale nennt und definiert. Weitere Signale können in der Diskussion eingeführt werden, wenn erforderlich. Eine Gruppe von ähnlichen Signalen ist beispielsweise durch MODSTART(512,5H,516,518) bezeichnet. Auf ein einzelnes Signal dieser Gruppe wird beispielsweise durch MODSTART512 Bezug genommen, und auf die Gruppe im allgemeinen durch MODSTART, Invertierte Signale werden durch einen Strich oberhalb des Signalnamens bezeichnet, beispielsweise MODRDY und MODRDY. Wo in zwei oder mehr Figuren miteinander zusammenhängende Schaltungen gezeigt sind, haben die Figuren eine gemeinsame Figuren-Nummer mit einer Unterscheidung durch einen Buchstaben, beispielsweise Fig.12, 12A, 12B. Gemeinsame elektrische Anschlüsse zwischen solchen Schaltungen werden durch eine Klammer angezeigt, die eine Leitung zu einem solchen Anschluß einschließt, und eine Bezeichnung "a-b" bezeichnet; "a" zeigt andere Figuren an, die denselben gemeinsamen Anschluß haben, und "b" ist eine einem speziellen gemeinsamen elektrischen Anschlußpunkt zugeordnete Buchstabonbezeichnung. Bezugszeichen enthalten eine Zahl mit zwei Ziffern (00-99), der die Zahl der Figur, in der sie erscheinen, vorausgeht, beispielsweise 100 bis 199 in Figur 1 oder 2500 bis 2599 in Figur 25.
030020/081 5
Wenn miLeinander· in Verbindung stehende ^cha!Lunten in zwei odur melir Figuren gezeigt sind, wird die verwendete Figuren-Nummer diejenige der ernten FJ£"ur der miteinander in Verbindung stehenden Gruppe sein. Bezur;szcichen werden in der miteinander in Verbindung stehenden Gruppe von Figuren aufeinanderfolgend zugewiesen.
030020/0815
lnhaltsverzeichni g
1. Einführung (Fign. 1 und 2) 12
2. Hechnerarchitektur und Arbeitsweise (Fign.3 u.4) 17
A. Struktur (Fig. 3) 17
B. Befehlswörter und Datenwörter (Fig. 4) 19 G. Arbeitsweise (Fig. 3 22
3. Unterspeicher 313 (Fign. 5-24) 27
A. Unterspeicher 313, Struktur (Fig. 5) 28
B. Unterspeicher 313, Signa]-Glossar 31
C. Arbeitsweise des Unterspeichers 313 (Fig. 5) 37
D. Speicher 313, Zeitdiagramme (Fign. 6 - 13) 46
E. Unterspeicher 313, Schaltung (Fign. 14 - 24) 56
F. Zusammenfassung von Merkmalen des Unterspeichers 81 313
4. Bereitstellungsprozessor (PFP) 312 (Fign. 3, 85
25 - 27)
A. PFP 312, Signal-Glossar 86
B. Wirkungsweise des PFP 312 (Fig. 3) 92
C. PFP 312, Schaltung (Fign. 25 - 27) 98
D. Zusammenfassung der Merkmale des PFP 312 113
5. Mikrobefehl-Logik 342 (Fign. 3, 28, 30) 115
A. Mikrobefehl-Logik 3^2, Aufbau und Wirkungsweise 116 (Fign. 3, 28)
B. SAGE 2824 (Fign. 29 und 30) 119
6. Konsolen-ROM 358 (Fig. 3) 126
7. Stückliste (Fign. 14 - 27, 30) 129
030020/0815
1. Einführung (Fign. 1 und 2)
In Fig, 1 ist ein teilweises Bloclischaltbild eines Rechners 110 gemäß dem Stand der Technik gezeigt. Die Hauptelemente des Rechners 110 sind ein Speicher 111, eine Zentraleinheit (CPU) 11/f, und Ein/Ausgabe(E/A)-Geräte 116. Das Programm des Benutzers, beispielsweise Daten und Makrobefehle, werden im Speicher 111 gespeichert und zur CPU \1k auf Anforderung durch die CPU 1 1 /f durch einen Speicherausgabe-MEMOUT-Bus 118 übertragen. Die Übertragung von Daten/Befehlen aus dem Speicher 111 heraus und ihr Einschreiben in den Speicher 111 werden durch ein Speichereingabe-(MEMIN)-Register 162 hindurch vorgenommen. Das MEMIN-Register 162 weist ein Adressregister 162a und ein Datenregister 162b auf, die mit einem Adress-Bus (ADR) 120a und einem Daten-Bus (DATA) 120b verbunden sind. Daten und einige Befehle, die auf dem MEMOUT-Bus 118 erscheinen, werden in ein Speicherausgabe-(MEMOUT)-Register 1/fO übertragen. Daten/Befehle im MEMOUT-Register I/4O werden durch einen ALU-Eingabe-(ALUIN)»Bus 12ij zu einer ALU(arithmetisch-logische Einheit) 156 zur Verwendung bei der Ausführung der Progranunschritte übertragen. Im allgemeinen werden die Befehle vom MEMOUT-Bus 118 in ein Befehlsregister (IR) 1 Zf6 übertragen. Gewisse Typen von Befehlen können vom Befehlsregister Hfb direkt zur ALU 156 durch den ALUIN-Bus 12if übertragen werden. Häufig benutzte Befehlsfolgen werden jedoch in einer Mikrobefehl-Logik \l\2. gespeichert und nicht im Speicher 111. In solchen Fällen weist der im Befehlsregister ]L\6 erscheinende Makrobefehl einen Befehl für die Mikrobefehl-Logik 1Z+2 auf. Die Mikrobefehl-Logik 1/+2 ruft dann nacheinander Schritte der Mikrobefehlsfolge aus ihrem internen Speicher auf und liefert die Mikrobefehle an die CPU 11 if.
03QU?U/0015
Nach dem Abschluß eines Makrobefehls oder einer Mi kr ο-bcfehlsfolge fordert die ALU ]% den nächsten Befehl des Benutzerpi-ogramins vorn Speicher 111 an, indem sie die entsprechende Adresse an den Speicher 111 durch den ALU-Ausgabe-(ALUOUT)-Bua 126, die MEMIN-Kegister 162 und den ADR-Buij 120a liefert.
Im allgemeinen wird ein Benutzerprogramm mit einer Folge von Makrobefehlen im Speicher 111 in einer entsprechenden Folge von Adressen gespeichert. Die CPU 11/| verfolgt daher das Programm durch Speicherung der Adresse des zur Zeit ausgeführten Befehle, bezeichnet als Befehlszähler (PC). PC wird beim Abschluß jedes Befehlsschritts inkrementiert und als Adrosseingangssignal für den Speicher 111 verwendet.
Kin externer Zugriff zur CPU 1 11\ und zum Speicher 111 wird über die E/A-Geräte 116 erhalt, en. Speziell können parallele Digitalworter durch einen E/A-Daten-Bus 16Ö übertragen werden. Serielle alphanumerische Eingangssignale und Ausgangssignale werden durch einen E/A-AScH-K-anal 17^ übertragen. Die E/A-Geräte 116 haben direkten Zugriff zum ALUIN-Bus 12/+ und zum ALOOUT-Bus 126 und somit zur ALU 156· Der Zugriff in den Speicher 111 wird über den Weg erhalten, der den ALUIN-Bus 126, die ALU 156, den ALUOUT-Bus 12/+ und die MEMIN-Register 162 aufweist. Ein Zugriff aus dem Speicher 111 heraus wird erhalten durch das MKMOUT-Hegister 1if0, den ALUIN-Bus 12/+, die ALU 156 und einen ALUOUT-Bus 126. Die über den Daten-Bus 168 übertragenen Daten sind im allgemeinen im Format kompatibel mit der CPU I]I) und dem Speicher 111. Das ASC Il-Eingangssignal muß jedoch in ein mit der CPU 11/+ und dem
030020/081 5
Speicher 111 kompatibles Format umgewandelt werden. Dies wird im allgemeinen im E/A-Gerät 116 erreicht oder als getrennte Operation in der ALU 156 ausgeführt.
In Fig. 2 ist ein teilweise^ Blockdiagramm dargestellt, das die Architektur eines die vorliegende Erfindung verwirklichenden Rechners 210 zeigt. Die Speicher-Eingabe-Busse ADH 120a und DATA 120b wurden durch einen einzigen MEMIN-Bus 220 ersetzt. Ein Speicher 211 besteht aus einem oder mehr Unterspeichern 21.5» von denen jeder ein vollständiger und in sich abgeschlossener Speicher ist, der unabhängig arbeiten kann. Ein oder mehr UnterSpeicher 213 können parallel mit dem MEMIN-Bus 220 und MEMOUT-Bus 218 verbunden sein, und wenn sie so angeschlossen sind, arbeiten sie gemeinsam als Rechner-Speicher 211. Dies erlaubt es, die Kapazität des Rechner-Speichers 211 entsprechend den Anforderung des Benutzers zu strukturieren.
Die CPU 21 if hat zu den Ausgängen des Speichers 211 direkten Zugriff durch den MEMOUT-Bus 218 und sein MEMOUT-Register 2/+0. Die CPU 21/+ hat auch einen direkten Eingabezugriff durch sein MEMIN-Register 262. Der Speicher 211 überträgt jedoch nicht mehr die Befehle direkt zur CPU 2Ii+ und zur ALU 256 durch den MEMOUT-Bus 218 und das Befehlsregister 2/+6. Im Rechner 210 werden die Befehle durch den MEMOUT-Bus 218 in einen Bereitstellungs-(pre-fetch)-prozessor (PFP) 212 übertragen. Die Befehle werden vom PFP 212 zum Befehlsregister ZkG durch einen PFP-Bus ZZZ übertragen. Zusätzlich empfängt die Mikrobefehl-Logik ZkZ Befohle direkt vom PFP 212 und nicht vom Befehlsregister 2/46. Diese Änderung in der Architektur spiegelt eine Änderung in der internen Architektur der
030020/0815
29A4A19
Hihr\jbej'ehL-Iiogi!■ ^.ίμΐ wieder, die unten weiter bi.'schrirfbon wird. Wi..; darp.-stej 11, hat. der I3FP 212 durch dun HKH111-Bus 220 parallel mit der Gi1LJ 214 einen direkten Zugriff ".um Speicher 211.
Kim.· weitere Änderung in der Architektur de·υ Rechners 210 iot. do· Ki hl; chi uli eines Konsolen-ROM dv)6, der zwischen den ALUOUT-Bus 22ü und den ALUIN-Bus 2^i1 eirige- :;(;haltüt ist.
W>;i U.-re Herkmaj e des vorliegenden Rechnei-s, die ^o nie insam mit andej'en später in dieser Anmeldung weiter ausge-((.-füiii'L wi.Tclüii, .sind: Der ,'speicher 211 kann aus einer An;:ah! von ein bis acht Unterspeichern 21 > bestellen. DIe1S (■■estattet es, daii der Speicher 211 entsprechend den BenutZijraniorderungen strukturiert wird.
Die Unterspeicher 213 der vorliegenden hrfindung sind schnelle vierfach überlappte Speicher, die synchrone und unabhängige MEMIN- und MEMOUT-Busse versorgen. Die Architektur des Unterspeichers 213 sieht eine Gpeicher-Eingabe/Ausgabe-Bus-Architektur vor, die eine stark vereinfachte Schnittstellenschaltung zwischen der CPU 21^ oder anderen Geräten und dem MfclMIN-Bus 220 und MKMOUT-Bus 218 erlaubt. Ein weiteres Merkmal dieser Architektur ist die Einfachheit, mit der eine interne Steuerung des Unterspeichers 213 durchgeführt wird. Die Architektur des Unterspeichers 213 weist auch eine Datenwegstfuktur auf, die es erlaubt, daß innerhalb einer einzelnen gedruckten Leiterplatte eine wesentlich größere .Speicherkapazität untergebracht werden kann.
Das Auffrischen des Unterspeichers 213 wird durch eine
030020/0815
-H-
innerhalb des Unterspoichers 213 angeordnete Schaltung erreicht, wodurch die der CPU 2Uf belasteten Gemeinkosten verringert werden, und benutzt Speicherzugriffzyklen, die nicht durch die CPU 21/4 oder den PFP 212 benötigt werden, wodurch die nutzbare Zugriffszeit des Unterspeichers 213 vergrößert wird. Der Unterspeicher 213 ist transparent für eine Anordnung von Datenbits in darin gespeicherten Datenwörtern, einschließlich Bits eines fehlerkorrigierenden Codes, wodurch eine maximale Flexibilität bei der Daten-Befehls-Wortspeicherung geschaffen wird. Die Transparenz des Unterspeichers 213 f"ur fehlerkorrigierende Codes steigert die Durchlaufgeschwindigkeit des Unterspeichers 213 durch Übertragen der Fehlerkorrekturfunktion auf die CPU 21Z+.
Der PFP 312 führt eine Befehlsvorausschau für die CPU 21^ aus, indem er vom Speicher 211 eine Folge von Befehlen vor dem gerade in der Ausführung durch die CPU 2 befindlichen Befehl abruft und speichert. Der PFP 212 verwendet Speicherzugriff-Zyklen, die nicht durch die CPU 211+ benötigt werden, um die Bereitstellungsoperation durchzuführen; dadurch vergrößert er die Befehlsausführungsgeschwindigkeit der CPU 21 i+, indem er die von der CPU 21^ benötigte Zeit für den Zugriff zu Befehlen verringert.
Die oben genannte interne Änderung in der Mikrobefehl-Logik 2if2 beinhaltet die Tatsache, daß ein internes Register (in Fig. 28 gezeigt) für die Makrobefehl-Speicherung vorgesehen ist; dadurch wird das Befehls-Regioter 2^6 für eine andere Verwendung frei. Die Mikro befehl-Logik 2^f2 weist außerdem eine Startadressengenerator(SAGH)-ochaltung auf (in Fig. 28 gezeigt). Der
030020/0815
.'J AG I·; decoiliort direkt Befehle, die er vorn PFP 512 empfangen hat, um die ersten Adressen von Mikrobefehlsfolgen zu erzeugen· Der SAGE liefert dadurch einen unmittelbaren Zugriff zu Mikrobefehlsfolgen, wobei er die zum Veranlassen der Ausführung einer Mikrobefehlsfolge benötigte Zeit verringert.
Der Konsolen-ROM 2.^S gestattet «3, daß jedes externe ASC II-Interface-Gerat die Tätigkeit des Rechners 210 direkt kontrolliert.
AiJC ll-ßefehle von einer externen Quelie werden direkt in das im Rechner 210 verwendete entsprechende Maschinensprache format umgewandelt. Dies verkleinert die zum Kontrollieren des Rechners 210 benötigte zugeordnete externe Konsole. Die Übersetzung von ASC Il-Kingangsuigrialen in KoIgon der Maschinensprache wird durch Lesespeicher (ROM) gesteuert, so daß der Konsolen-ROM 258 leicht zur Anpassung an ,jedes Eingabeformat und an jedes Maschinensprachen format modifiziert oder vergrößert werden kann.
Nachdem die Struktur der Architektur und gewisse Merkmale eines die bevorzugte Ausführungsform der vorliegenden Erfindung verwirklichenden Rechners kurz beschrieben wurden, wird die Architektur und Wirkungsweise nun Im einzelnen beschrieben.
2_j Rechnerarchitektur und Arbeitsweise (Fig. 3 und Ii)
A. struktur (Fig. 3).
in Fig. 3 ist ein detailliertes Blockdiagramm eines Rechners '310 gezeigt, dessen Architektur die vorliegende Erfindung verwirklicht. Wie oben für den Rechner 210 beschrieben wurde, weist der Speicher· 311 des Rechners
030020/0815
- ftf 35
29A4419
ein oder mohr Unterspeicher 315 auf. Der Ausgang des Speichere 511 ist durch den MEMOUT-Bue 31b1 mit Eingängen des MEMOUT-Registers 3^0 in der CPU 31 ^ und eines Speichers 330 im PFP 312 verbunden. Der MEMOUT-Bus ist auch mit einer Fehlerkorrektur-Logik 319 (KRCC) in der CPU 311\ verbunden. Der Ausgang des MEMOUT-Registers -jl\0 ist mit dem ALUIN-Bus 32't verbunden und der Ausgang des PFP-Speichers 330 ist mit einem PFP-Bus 322 verbunden. Der PFP-Bus 322 ist mit dem ALUIN-Bus 32^ verbunden durch einen Transfer-Bus 3^8, einen Bus "kurze effektive Adresse" (EFA) 350 und das Befehlsregister 3^6. Der PFP-Bus 322 ist mit Eingängen der Mikrobefehl-Logik 3*f2 und einer Speicher-Zuordnungsund -Schutz-Schaltung (MAP) 35*t verbunden. Der Ausgang der Mikrobefehl-Logik J>l\2 ist über ein Mikrobefehlregister (uIR) 3kk mit dem ALUIN-Bus 32-k verbunden. Der ALUIN-Bus 32^i ist mit einem Eingang der ALU 356 verbunden. Ein erster Ausgang der ALU 356 ist mit dem ALUOUT-Bus 326 verbunden, und ein zweiter Ausgang ist mit einem Eingang des MAP 35*f verbunden. Der ALUIN-Bus 326 ist mit dem ALUIN-Bus 32/f durch einen SWAP-Bus 36O und den Konsolen-ROM 358 verbunden, und mit dem PFP-Bus 322 durch ein Register 352. Der ALUOUT-Bus 326 ist mit Eingängen eines CPU-Befehlszähler (CPUPC)-Registers 364 und eines Registers332 "Befehlszähler für den vom PFP abgerufenen Befehl (PCF)". Der Ausgang des CPUPC-Registers j>6k ist verbunden mit dem ALUIN-Bus 32k, einem Eingang einer PFP-Bereit(PFPRDY)-Logik 33*f, und mit dem Leseadresseneingang des PFP-Speichers 33O. Der Ausgang des PFPPCF-Registers 332 ist mit einem anderen Eingang der PFPRDY-Logik 334 verbunden, und mit dem Schreibadresseneingang des PFP-Speichers 330. Der ALUOUT-Bus 326 ist mit einem
030020/081 5
Eingang des Mi'JMIN-Registers 362 durch einen Bus 326a verbunden, mit einem "Hoher-Stellenwert-Adresse" (HIADR)-Bus 328 durch einen Bus 328b, und mit einem Eingang eines Registers 336 "Befehlszähler für den vom PFP angeforderten Befehl (PCR)". Die Ausgänge des MAP 3^4 sind mit dem ALUIN-ßus 324 und dem HlADR-Bus 328 verbunden. Der HIADR-Bus 328 ist mit dem ALUIN-Bus 324 durch den Transferbus 366 verbunden. Der HIADR-Bus 328 ist mit Eingängen des MEMIN-Registers 362 und des PFP PCR-Registers 336 verbunden. Die Ausgänge des MEMIN-Registers 362 und des PFP PCR-Registers 336 sind mit dem MEMIN-Bus 320 verbunden, der mit dem Eingang des Speichers 311 und mit dem ERCC 319 verbunden ist. Der Ausgang des PFP PCR-Registers 336 ist mit einem Eingang einer"Schreiben Laufender Block"-Logik (WCB) 538 verbunden, und der MEMIN-Bus 3?0 ist mit einem anderen Eingang des WCB 338 verbunden. Ein Takt- und Steuer-Bus (CC) 321 ist zwischen den Speicher 311, die CPU 3I4 und den PFP 312 eingeschaltet. Der Daten-E/A-Bus 368 ist mit dem ALUIN-Bus 324 durch einen Bus 370 verbunden, und mit dem ALUOUT-Bus 326 durch einen Bus 372.· Der E/A-ASC II-Kanal 374 ist mit dem ALUIN-Bus 324 und dem ALUOUT-Bus 326 durch einen Universellen-Asynchronen-Empfänger/Sender (UART) 376 verbunden.
B. Befehlswö'rterund Datenwörter (Fig. 4)
In Fig. 4 sind bestimmte im Rechner 310 verwendete Befehlswörter und Datenwörtergezeigt. Es sind dies Wörtermit 21 Bit, die in der CPU 314, im PFP 312 und im Speicher 311 verwendet werden.
In Zeile 1 der Fig. 4 enthalten die Bits 0 bis I5 eines Datenworts aktuelle Daten; die Bits 16 bis 20 umfassen 5 Bits eines fehlerkorrigierenden Codes.Obwohl diese Struktur
030020/081 5
-2G-
bei der hier beschriebenen bevorzugten Ausführungsform verwendet wird, ist der Speicher 311 für die Datenwortorganisation transparent und wird jedes Wort bis zu 21 Bit annehmen, speichern und auslesen.
In Zeile 2 der Fig. ^ ist ein logisches Adresswort gezeigt. Wie unten weiter ausgeführt wird, wird ein Abschnitt des logischen Adressworts in dem CPU PC-Register 5£>k als CPUPC gespeichert. CPUPC wird durch die CPU 31k verwendet, um die Adresse des Spoichers 311 für den gerade in Ausführung befindlichen Programmschritt einer Folge von solchen Schritten und Adressen anzuzeigen. CPUPC wird in geeigneter Weise bei der Ausführung jedes Programmschritts inkrementiert. Das Bit 0 der logischen Adresse wird im allgemeinen, aber nicht notwendigerweise als ein indirektes Adress-Bit verwendet; es zeigt dabei an, daß der unter diese Adresse im Speicher 311 gespeicherte Befehl eine Adresse ist, die zu dem gewünschten Befehl führt. Die Bits 1 bis 15 enthalten die aktuelle logische Adresse. Von diesen Bits sind die Bits 6 bis 15 die niedrigwertigen Bits der Adresse und sie werden beim Adressieren des Speichers 311 direkt verwendet. Die Bits 1 bis 5 umfassen die hohen Stellenwerte der Adresse und sie können, wie unten noch erläutert wird, als direkte echte Adresse verwendet werden. Die Bits 1 bis 5 können auch, wie unten noch weiter erläutert wird, als kartierte (MAPped) oder durch MAP verarbeitete Bits bei Übersetzung einer logischen Adresse in eine echte Adresse im Speicher 311 verwendet werden. Das kartierte Adressieren gestattet einem Benutzer den Zugriff zu einem Speicherraum innerhalb des Speichers 3111 dur größer sein kann als bei direkter Adressierung mit 15 Bits der logischen Adresse. Das Kartieren wird auch verwendet, um
030020/0815
Adressenblcicki.; innerhalb des Speichers .511 unterschiedlichen konKurrierenden Benutzern zuzuordnen. In ,jedem Falle werden 15 Bits der lugischen Adresse in dO Bits der echten Adresse übersetzt.
Zeile 3 von Fig. /j zeigt die echte Adresse, wie sie auf dem MEMIN-I3ua 320 an den Speicher 311 geliefert wird. Wie unten noch naher beschrieben wird, hat ein Unterspeicher 313 innerhalb des Speichers 311 die Struktur von vier Speicher-Moduln, von denen jeder zwei Speicherbänke enthalt, wobei .iede Speicherbank als ein Adressenraum mit 128 Reihen mal 128 Spalten organisiert ist. Jeder Unterspeicher 31 *> ist vorzugsweise innerhalb einer einzelnen Leiterplatte enthalten, und der Speicher 511 kann bis zu acht solche Unterspeicher 313 enthalten. Demzufolge enthalten die BiLs 1b bis 18 der echten Adresse die Leiterplatten-Auswahl-Bits der Unterspeicher 313·
Die Bits 1/+ und 15 enthalten Modul-Auswahl-Bits innerhalb eines Unterspeichers 513. Das Bit 19 bildet ein Bankauswahlbit innerhalb eines von vier Moduln eines Unterspeichers 313. Die Bits 0 bis 6 werden als Zeilenadressbits innerhalb einer solchen Bank verwendet, und die Bits 7 bis 13 werden als Spaltenadressbits verwendet. Das Bit 20 wird nicht verwendet, es ist für eine zukünftige Erweiterung des Speichers 3I1 reserviert.
Zeile if von Fig. if zeigt die Verwendung einer logischen Adresse als direkte echte Adresse. Die Bits 1 bis IS der logischen Adresse werden direkt als Bits 1 bis ]L) uer echten Adresse verwendet. Das Bit 0 und die Bits Io bis der echten Adresse werden zwangsweise auf O gebracht.
Wie durch .iaü echte Adreaawort in Zeile ;■ gezeigt ist,
030020/0815
hat jeder Unterspeicher 313 t?ine Adressierfähigkeit von 128K Worten (K = 102i+), und der Speicher 311 hat mit acht Unterspeichern 313 eine maximale Kapazität von 1.000.000 Worten. Wie in Zeile k gezeigt ist, erlaubt das direkte echte Adressieren (Adressenbits 1 bis 15) einem Benutzer einen Zugriff zu nur 32K (215) Worten des Speichers. Eine direkte echte Adresse kann eine Leiterplatte des Speichers 313 (die Bits 16 bis 19 sind 0), alle vier Module der Leiterplatte (Bit 1/f und 15) und eine Bank in jedem Modul (Bit 19 ist 0) adressieren. In jeder Bank sind alle 128 Spalten verfügbar (Bits 7 bis 13), aber nur die Hälfte der Zeilen (Bit 0 ist 0). Kartieren ist erforderlich, um einen Zugriff zum gesamten Speicherraum des Speichers 311 oder eines Unterspeichers 313 zu gewinnen.
Zeile 5 der Fig. k zeigt die übersetzung einer logischen Adresse in eine kartierte echte Adresse. Die Bits 6 bis der logischen Adresse werden als Bits 6 bis 15 der echten Adresse verwendet. Die Bits 1 bis 5 der logischen Adresse werden durch MAP übersetzt in die Bits 0 bis 5 und 16 bie 19 der echten Adresse. Zwanzig Adressbits 0 bis 19 erlauben daher dem Benutzer den Zugriff zur vollen Kapazität des Speichers 311 oder eines Unterspeichers 313·
C. Arbeitsweise (Fig. 3)
Es wird wieder auf Fig. 3 Bezug genommen; die CPU 3H hat direkten Zugriff zum Speicher 311» um Befehle und Daten in den Speicher 311 einzuschreiben oder aus ihm auszulesen. Die CPU 3H hat auch einen indirekten Zugriff zum Speicher 311 durch den PFP 312, der die vor dem gerade durch die CPU 3H ausgeführten Befehle liegenden Befehle abruft und speichert.
030020/0815
Zunächst wird der direkte Zugriff zwischen der CPU 314 und dem Speicher 311 betrachtet. Das Ausgangssignal des Speichers 311 wird direkt dem ALUIN-Bus 324 und der ALU 356 durch das MEMOUT-Register 340 zugeführt. In ähnlicher Weise hat die ALU 356 direkten Zugriff zum Eingang des Speichers 310, um direkt Daten oder Befehle durch den ALUOUT-Bis 326 und das KEMIN-Register 362 einzugeben oder anzufordern. Datenworte werden dem MEMIN-Register 362 direkt von dem ALUOUT-Bus 326 zugeführt, jedoch hängt die Lieferung von Adressen an den Speicher 310 davon ab, ob der Benutzer eine direkte Adressierung des Speichers oder eine kartierte Adressierung verwendet. Beim direkten Adressieren werden die logischen Adress-Bits 6 bis 15 dem MEMIN-Register 362 durch den Bus 326a zugeführt; die logischen Adressbits O bis 5 und die Bits 16 bis 19 werden durch den Bus 326b und den HIADR-Bus 328 hindurchgeliefert. Wenn eine Kartierung verwendet wird, werden die logischen Adressbits 6 bis 15 dem MEMIN-Register 362 von dem ALUOUT-Bus 326 und dem Bus 326a zugeführt. Die logischen Adressbits 1 bis 5 werden von der ALU 356 der MAP 354 zugeführt· Die MAP 354 übersetzt die logischen Adressbits 1 bis 5 in entsprechende Bits O bis 5 und 16 bis 19 der echten Adresse und liefert diese Bits durch den HIADR-Bus 328 an das MEMIN-Register 362.
Es wird nun der indirekte Zugriff zwischen der CPU 314 und dem Speicher 311 betrachtet. Der PFP 312 führt eine Befehlsvorausschau für die CPU 314 durch, indem er eine Folge von Befehlen vor dem augenblicklich durch die CPU 314 ausgeführten Befehle aus dem Speicher 31O abruft und speichert. Die CPU 314 verfolgt das gerade ausgeführte Programm durch Speicherung eines Teils der logischen Adresse des gerade ausgeführten Befehls in dem CPU PC-Register 364; diese Zahl wird als CPU-Befehlszählerstand
030020/0815
(CPUPC) bezeichnet. Der anfängliche Befehlszählersland einer Befehlsfolge wird in das CPUPC-Registor f>bh von der AHJ 3% durch den ALUOUT-Bus 326 geladen. Der Befehlszählers tand wird dann jedes Mal, wenn ein Befehl ausgeführt lot, um 1 inkrementiert, falls Befehle aus dem Speicher 311 aufeinanderfolgend abgerufen v/erden müssen. Falls der laufende Befehl einen Sprung oder eine ähnliche Operation erfordert, wird ein neuer Befehlszählcrstand in das CPUPC-Register ^Gk geladen. Die echte Adresse des ersten Befehls der Befohlsfolge wird in das PFPPCR-Register 336 als Wert PFPPCR geladen. Wie beim Laden der Adressen in das MEMIN-Register 362 können die echten Adressen direkt oder kartiert sein. Wenn sie direkte Adressen sind, wird die echte Adresse von der ALLf 3% durch den Bus 526c geliefert. Wenn die MAP 35^ arbeitet, werden die Bits 6 bis 1S durch den Bus 326c und die kartierten Bits I bis lj und 6 bis 9 durch den HIADR-Bus 328 hindurch von der MAP 35*t her geladen. Zur gleichen Zeit werden die niedrigstwertigen Bits 12 bis 15 der echten Adresse in das PFP PCF 332 als PFPPCF geladen. Daher repräsentiert der Befehlszählerstand (CPUPC) die erste logische Adresse der Folge oder Sequenz, während Pi1PPCR und PFPPCF die erste echte Adresse repräsentieren.
Danach kann bei jedem verfügbaren SpeicherzugriffZyklus, der nicht für andere Zwecke, beispielsweise von der CPU 3H oder den E/A-Geräten 316 benötigt wird, die echte Adresse PFPPCR im PFPPCR-Register 336 auf den MEMIN-Bus 520 gegeben werden, um den entsprechenden gespeicherten Befehl aus dem Speicher 311 zu lesen. Ein durch PFPPCR angefordertes Wort, das auf dem MEMOUT-Bus 318 erscheint, wird im PFP-Speicher 330 unter einer durch PFPPCP1 bestimmten Adresse gespeichert. PFPPCR und PFPPCF worden immer
030020/0815
dann inkremeritlert, wenn ein Wort aus Jörn Speichor 31 gelesen wird. Das PFPPCR-Register 336 erzeugt hierdurch und verfolgt angeforderte Adressen; das PFPPCR-Register 332 verfolgt abgerufene Adressen und wählt die Speicheradressen im PFP-Speicher 330. Das WCB 338 vergleicht die durch PFPPCR angeforderten Adressen mit durch die CPU 3 H eingeschriebenen Adressen und gibt eine Warnung ab, falls die CPU 31k in die durch den PFP 312 angeforderten Befehlsadressen schreibt.
Die Übertragung von Wörtern von PFP-Speicher 330 zur CPU 3H wird durch das CPUPC-Register 36if und die PFPRDY-Logik 33h gesteuert. Der im CPUPC-Register 364 gespeicherte Befehlszählerstand (CPUPC) wird als Leseadresse zum PFP-Speicher 330 geliefert. Dadurch werden Befehle im PFP-Speicher 330 auf den PFP-Bus 32.2 übertragen und sind für die Mikrobefehl-Logik 3k2 und das Befehlsregister 546 zur Benutzung verfügbar, wie es vom Programm verlangt wird. Der PFPRDY 33h vergleicht PFPPCF-Schreibadressen mit CPUPC-Leseadressen und zeigt der CPU 314 an, ob der PFP 312 den von der CPU 314 angeforderten nächsten Befehl hat.
Ks werden nun andere Merkmale der CPU 314 besprochen. Die ERCC-Logik 319 überwacht alle Datenwörter oder Befehlswörter, die in don Speicher 311 eingeschrieben oder aus ihm ausgelesen werden. Die ERCC-Logik 319 erzeugt FehlerkorrekturbüB der durch den MEMIN-Bus 320 in den Speicher 311 geschriebenen Wörter. Wenn ein einen Fehler enthaltendes ausgolesenes Wort auf dem MEMOUT-Bus 318 erscheint, verhindert die ERCC-Logik 319 eine Ausgabe des Speichers 311 und erzeugt ein korrigiertes Wort. Die ERCC-Logik 319 bringt das korrigierte Wort auf den
030020/081 5
HHM(J UT- Bus 31Ö anstatt des fehlerhaften Worts. Der Transfer-Bus yL\a gestattet es, das:.; Wörter auf dem PFP-Bus Ü2 direkt zur ALU ■■>% durch den ALUIN-Bus ;j2i\ übertragen werden. Der Bus "kurze effektive Adresse" 350 gestattet es, daß die acht niedrigstwertigen Bits des Worts auf dem PFP-ßUG :)22 zum ALUIN-Bus 32*+ als eine kurze effektive Adresse übertragen werden, d.h., zum Erzeugen ein.: r SpeicheradresGe, die mit einer z.Zt. bekannten Speicheradresse in Beziehung stellt. Das Register 352 gestattet es, dall das Ausgangssignal der ALU 356 auf dem ALUülJT-ßus ->2G auf den LJFP-Bus 322 übertragen wird, beispielsweise als Eingangssignal für die Mikrobefehl-Logik 3'f2, üas Befehlsregister yiy(j oder den MAP :öl\. Dor SWAP-Bus 360 gestattet es, daß Bytes auf dem ALUÜUT-Bus 326 umgekehrt werden und auf dem ALUIN-Bus 32/| als ein Eingangssignal für die ALU 356 angeordnet werden. Der Transferbus 366 gestattet es, daß eine Adresse auf dem HIAÜR-Bus 523 auf den ALUIN-Bus yZk übertragen wird.
Es wird nun auf die E/A-Geräte 316 und den Konsolen-ROM y_?8 Bezug genommen. Der E/A-Datenkanal 368 und die E/A-Busse 370 und 372 gestatten es, daß Daten zwischen dem ALUIIi-Bus 32^f oder dem ALUOUT-Bus 326 und einem externen Gerät übertragen werden. In ähnlicher Weise gestattet der UART 376 eine Übertragung von Daten und Befehlen zwischen dem ALUIN-Bus 32Z1. oder dem ALUOUT-Bus 326 und einem externen Gerät, das am E/A-ASCII-Bus 37^ angeschlossen ist. Der Konsolen-ROM 358 ist ein Interface-Gerät, das es gestattet, daß irgendein externes Gerät mit beispielsweise einer ASCII-Schnittstelle als Rechnerkonsole arbeitet. Externe ASCII-Zeichen werden durch den UART 376 empfangen, in einen binären Code umgesetzt und auf den ALUIH-Bus 52if gebracht. Sie werden unter Verwendung der
030020/0815
- '47 -
ALU VjC verarbeitet und erscheinen auf ALUOUT >2t, als Konsolon-h'OM (//je")-Adressen. Die Adressen auf dem ALUOUT-Bus >-'C werden dann in Befehle in Maschinensprache durch den Konsolen-ROM j'jti übersetzt.
Nach der Beschreibung der Architektur und der Arbeitsweise des K'eclrers j>10 auf der "-Jbene eines Blockdiagramms wird nun im einzelnen die Struktur und Arbeitsweise einos Unter speichers 313, des PFP 312, der Mikrobefehl-Logik ^i[Z und des Konsolen-ROM 3bÖ beschrieben.
Unteropeiclicr p\'^i (Fign«
Jeder Unterspeicher ~j>] j> mag zugänglich sein als ein dynamischer .Speicher mit 128K (K = 102^) Wörtern mit einer Länge von 21 Bit, der auf einer einzelnen Leiterplatte montiert ist, Vierfach-Uberlappung und getrennte Kingangsund Ausgangs-Busse aufweist. Eine spezielle Struktur des Unterspeichers 313 gestattet es, daß bis zu acht solche Leiterplatten parallel geschaltet werden, so daß hierdurch für den Speicher 311 eine Kapazität von bis zu 1.000.000 Wortern geschaffen wird. Man beachte, daß andere Strukturen für den Unterspeicher 313 verwendet werden können. Beispielsweise kann der Unterspeicher 313 eine Wortlänge von 16 oder 32 Bit haben, oder er kann eine andere Anzahl als 128K Wörter enthalten. Die Dauer der Zyklusperiode dos Unterspeichers 313 beträgt ifOO ns und die Dauer der Zyklusperiode des i^ingangs/Ausgangs-Bus ist 100 ns. Die Zugriffszeit zum Lesen betragt 500ns, die Zugriffszeit zum Schreiben 200 ns, und das Auffrischintervall beträgt 12,8/^3. Ea wird darauf hingewiesen, daß andere Parameter und Perioden verwendet werden können.
Di*.· Struktur des Unterspeichers yi y wird zuerst auf dor
030020/081 5
0-5
i11)l:iu.: '.UiIUiJ Blockuiagrnr.mis beschrieben, gefolgt vom einem dom liLockdiagrarun angepaßten Glossar, das die sun Verständnis der Arbeitsweise dec Untorspeichers IAy nützlichen Signale dos Unterspeichers 'Ay definiert. Die Arbeitsweise aas Unlercpeichers 31.3 wird dann auf der Ebene decs Bloekdiagramms und mit Hilfe von Zeitdiagramnien diskut\ ort.
i'.!s worden dann detaillierte ,Schemata von ochaltunjTon darpele/^t, die bei einer bevorzugten Ausfuhruu^sform der> Unterspeichers 313 verwendet sind, und einige Merkr.ia.le des Unterapciciiers 313 werden aufgeführt.
Λ. ünterspeicher 313, Struktur (Fig· b)
In Fig. lj ist ein Blockdiagramm des Unterspeicliers 313 gezeigt. Diu Organisation des ünterspeichers 313 v/eist vier identische opeichermodule 512, 51^, 516 und 518 auf. Die Module 51 i|, 516 und 51 ο sind als Skelett ohne die im Modul 512 gezeigten Einzelheiten aus Gründen der Klarheit der Darstellung gezeigt. Es wird daher die Struktur und Arbeitsweise der Module 512 bis 518 anhand des Moduls 512 diskutiert. Daten- und Adress-Busse worden durch parallele Linien angezeigt, und .Steuerbusse durch einzelne ausgezogene Linien.
Joder Modul weist zwei identische Bänke 520, 522 mit wahlfreiem Zugriff (RAM) auf, einen Zoitgebergeneratur 52/), ein Zeilenadress-Spoicher-Flipflop (latch) 526, ein Spaltenadress-Speicher-Flipflop 528 und Speicher-Treiberschaltungen 532 auf. Wie unten in der Schaltungsboschreibung gezeigt wird, kann jede Speicherbank 520 oder 522 21 Speicherelemente aufweisen. Jedes Element kann ein Speicher mit wahlfreiem Zugriff (RAM) mit einer Länge von
030020/081 5
IbK (Ib./Ö^i «Vortor) und einer Breite von 1 Bit soin, dor intern eine Anordnung; mil 12o Zeilen mal 12ΰ Spalten aufweist» Die 21 opiicherelemen Lo sind daher in der Lage, IbK .? T "bit-Wort or zu speichern.
Der !-11','HIN-BUiJ >'O ist mit Kingängon einer Pufferachaltung 534 verbunden, die entsprechende AuGgangssignale an einen 'ftpeichoroingari^O-llJ-BuG 535 liefert. 21 Zeilen des MI-Bug 5;55 Gxnd mit Kin^än^en eineü Üaten-Gpeicher-Flipflop 1J^G verbunden, und ein"Dateneinf;an^" (DI)-Buü l)Yf iat direkt mit den Dativnein^änncn der Bänke v/cl0 und l}'dcl der Module \A'il bi.:j \A6 verbunden.
lüii Ij' iti-M-platten-, Modul- und Bank-Auswahlbuc \>y)) i:;t zwinchon den MI-Buu 53i? und Eingänge einer ;;peicherlü{;ik 1JyIi eingeschaltet. Kin ZeilenadroG3(RA)-Bua ι)Ζ'ί und ein jpaltenadreüs(CA)-BuG '^29 verlaufen vom Hi-Bins iyy.> zu Kinßängen der Zeilenadress-.Speicher-['nlipfiopij hZb bzw. der Spaltenadress-Speicher-Flipf 1 opa ^28 der Module 51,2 bic !51 ö. Die Aufgänge der Speicher-Klipi'lop.'j 526 und 52Ö v/erden als Adress-Bus (ADL'-Buu) i?30 zu Kingängen der Treibcrcchaltungui 532 geführt, rJin AdrecGenauffriach-BuG 531 (I^FADK-Bug) von der opeicher-Logik ly)'o Gteht mit anderen Eingängen der TreiberGchaltun/,O!i 5>2 der Module 512 biG 51 ο in Verbindung. FeIdadre-GGen (A)-ßUG:je 53t Gind mit den Treibercchaitungon l)-j2. zum AdroGGiereri der ivingängo der Bänke 520 und 522 verbunden»
I)i(j DatenauGgängu der Bänke 520 und 522 jeuea Gpeicher-Moduls Gj.nd durch verdrahtete ODKH-Funktioneii beschallet, um DatenaUor:ani;G-(DO)BuSGC DoA-Bug 513 biG DOD-Bus 519 der entsprechenden Module 512 bis 518 zu schaffen»
030020/0815
29444Ί9
DOA-Bus 513 bis DOD-Bus 519 sind mit Eingängen eines Ausgangsmultiplexers (MUX) 540 verbunden. Ein Multiplexerausgang (MO)-Bus 5Ί1 ist mit Eingängen von Ausgaberegistern 542 bis 548 verbunden. Registerausgangs(RO)-Busse 543 bis 549 sind mit verdrahteten ODER-Funktionen versehen, um einen Ausgabe(O)-Bus 551» der zum Eingang einer Bustreiberschaltung 550 führt, zu schaffen. Der Ausgang der Buctreiberschaltung 550 ist mit dem MEMOUT 318 verbunden. Eine Steuerleitung MOENB (aus Gründen der Deutlichkeit der Darstellung nicht gezeigt) ist vom Ausgang der Bustreiber-Gchaltune; 550 zu einem Eingang, beispielsweise der CPU 314 geführt.
Ein Steuer- und Takt(CC)-Bus 321 ist zwischen die Speicher-Logik 53Ö, den Puffer 534, die CPU 314 und den PFP >12 geschaltet. Die Speicherlogik 538 und die Zeitgebergeneratoren 524 der Module 512 bis 518 sind untereinander durch einen Speichersteuer(CTL)-Bus 555 verbunden. Ein Auffrischsteuer(REF)-Bus 557 von der Logik 538 ist mit Eingangen der Zeitgebergeneratoren 524 und der Speicher-Treiberschaltungen 532 der Module 512 bis 518 verbunden.
Ein Ausgäbesteuer(OUTCNTL)-Bus 559 von der Speicherlogik 538 ist mit Eingängen des Multiplexers 540, der Ausgaberogister 542 bis 548 und der Bustreiberschaltung 550 verbunden. Obwohl aus Gründen der Deutlichkeit der Darstellung nicht gezeigt, verläuft eine Steuerleitung DATAINLATCH von der Speicherlogik 538 zu einem Eingang des Daten-Speicher-Flipflop 536, und eine Steuerleitung MEMWRITE ist von der Pufferschaltung 534 zu Eingängen der Speicher-Flipflops 526 und 528 geführt. Eine Steuerleitung MEMSTART vom Puffer 534 ist mit einem Eingang der Speicherlogik 538 verbunden.
030020/0815
- rf -
561 sind mil Eingang«.;η der Spoiciior-Flipflops 526 und 52ü dor Modulo 512 bis 51 δ verbunden. Müdul-Steuur-(MEM)-Buose 563 sind über die Speicher-Treiberschaltungen 532 mit Eingängen der Bänke und 522 der Module 512 bis 51S verbunden.
B. Unterspeicher 313, Signal-Glossar
Das folgende Glossar identifiziert und definiert für die Zwecke der folgenden Diskussion jedes Signal, das in den Bussen und Steuerleitungen vorhanden ist, die oben in der Struktur des Unterspeichers 313 genannt wurden. Andere Signale werden, wenn nötig, während der Diskussion der detaillierten Schaltung des Unterspeichers 313 eingeführt und definiert werden.
(1) MEMIN-Bus 320: (MEMORY IN) Eingabebus mit 21 Leitungen von der CPU 3Uf oder dem PFP 312, der Daten und Adressen transportiert.
(2) CC-Bus 553: (Control and Clock) führt Steuer- und Taktsignale zwischen dem Puffer 534, der Speicherlogik 538, der CPU 31k und dem PFP 312.
(a) MEMWRITE: (MEMORY WRITE) Steuersignal, das anzeigt, daß Daten in den Unterspeicher 313 geschrieben werden sollen.
(b) MEMSTAHTi (MEMORY START) Steuersignal, das anzeigt, daß ein Lese- oder Schreibzyklus des Unterspeichers 313 veranlaßt werden soll.
(c) INHSEL: (INHIBIT SELECT) Inhibit «Tür den Unterspeicher 313; gestattet, daß eine Mehrzahl von Geräten, die dasselbe Adressenfeld wie der Speicher 311 verwenden, mit dem MEMIN-Bus 320 und dem MEMOUT-Bus 31B ohne Adressierungskonfl-uit verbunden werdenβ
•(Blockiersignal)
030020/081 5
(d) MEMWAITz(MEMORY WAIT) verzögert die Tätigkeit des Unterspeichers 313 nach dem Adresaeren des Unterspeichers 313; wird verwendet, wenn der Unterspeicher 313 beispielsweise mit einem langsameren Speicher in Verbindung steht.
(e) 20CLK: 50 ns-Taktsignal·
(f) MEMCLK: 100 ns-Takt in Phase mit 20CLK.
10CLK: 100 ns-Takt, phasensynchronisiert mit 20CLK.
(g) PWROK: (POWER OKAY) Signal von der Stromversorgung des Rechners, das bevorstehende Auftreten eines Fehlers der Stromversorgung anzeigt.
(h) MEMSORRY: (MEMORY SORRY) Steuersignal vom Unterspeicher 313 an die CPU 31 *f» das anzeigt, daß eine angeforderte Speicheradresse gegenwärtig nicht verfügbar ist; der Speichermodul, in dem sie angeordnet ist, führt z.Zt. gerade einen Speicherlese- oder Schreibzyklus aus.
(i) MOENB: (MEMORY OUTPUT ENABLE) Signal vom Bustreiber 550 an beispielsweise die CPU 3Hf, das anzeigt, daß ein ausgelesenes Wort vom Speicher 313 auf dem MEMOUT-Bus 318 vorhanden ist.
(j) MODIS: (MEMORY OUTPUT DATA INHIBIT) Inhibitsignal von beispielsweise der ERCO-Logik 319 in der CPU 314, das eine Ausgabe des Unterspeichers 313 an den MEMOUT-Bus 318 verhindert.
(3) MEMOUT-Bus 318: (MEMORY OUT) Ausgabebus des Unterspeichers 313 mit 21 Leitungen. Interne-Daten- und Adress-Busse:
(a) MI-Bus 535: (BUFFERED MEMORY IN) Daten- und Adress-Bus mit 21 Leitungen.
(b) DI-Bus 537: (DATA IN) Datenbus mit 21 Leitungen an alle Bänke 520 und 522.
(c) DOA/DOD-Busse 513/519: Datenausgabebusse mit 21 Leitungen von den Speichermodulen 512 bis 518.
030020/0815
(d) MO-Bua 1JW: (MEMORY MULTIPLEXOR OUTPUT) Datenausgabebus rait 21 Leitungen vom Ausgabemultilexer 5^+0·
(e) RO-Busse 5^3 - 5^9: Ausgabebusse mit 2.\ Leitungen von den Registern 5^2 bis 5^-8.
(f) O-Bus 521: (OUTPUT) Eingabebus mit 21 Leitungen für die Bustreiberschaltung 550.
(g) RA-Bus 527: (ROW ADDRESS) Bus mit sieben Leitungen für die Zeilenadressinformation vom MI-Bus 535·
(h) CA-Bus 529: (COLUMN ADDRESS) Bus mit sieben Leitungen für die Spaltenadressinformation vom MI-Bus 535.
(i) ADR-Bus 530: (READ/WRITE ADDRESS) Bus mit Zeilenoder Spaltenadressinformation mit sieben Leitungen, (j) REFADR-Bus 531: (REFRESH ADDRESS) Bus mit Auffrischadresseninformation mit sieben Leitungen, (k) A-Bus 533: (ADDRESS) Bus mit Adresseninformation vom ADR-Bus 530 oder REFADR-Bus 531 mit sieben Leitungen.
(1) BMS-Bus 539: Adressbits für die Auswahl der Leiterplatte, des Moduls und der Bank vom MI-Bus 535. (5) Steuer-Busse und -Leitungen:
(a) CNTL-ßus 555: (MEMORY CONTROL)
(al) MODSTART (512, 5H, 516, 518): (MODULE START) Signale von der Speicherlogik 538 an die Zeitgebergeneratoren 52^f der Module 512 bis 518, die anzeigen, daß der entsprechende Modul einen Spoicher-Lese- oder Schreibzyklus veranlassen soll»
(a2) MOD (512, 51 if, 516, 518) SEL (O, 1): (MODULE SELECT) Signale von der Speicherlogik 533 an die Zeitgebergeneratoren 52-k der Module üb 518, die anzeigen, daß die Adresse in der Bank 520 (O) oder der Bank 522 (1) des zugeordneten Moduls liegt.
030020/0815
(a.5) MOD (512, 514, 516, 51Ö) RDY: (MODULE READY) Signale von den zugeordneten Zeitgebergeneratoren 52if der Module 512 bis 518, die anzeigen, ob die zugeordneten Speichermodule einen Lese/ Schreib-Zyklus ausführen, oder ob sie für einen Zugriff verfügbar sind.
(a/f) ACCESSMOD (512, 5H, 516, 518) : (ACCKSS MODULE) Signale von den zugeordneten Zeitgebergeneratoren 52if der Module 512 bis 518 an die Speicherlogik 538, die anzeigen, daß vom entsprechenden Modul angeforderte Daten auf dem zugeordneten Modul-Ausgabe-Bus DOA-Bus 513 bis DOD-Bus 519 verfugbar sind.
(a5) MEMCLK, 10CLK, 20CLK: Gepufferte Taktsignale von der Speicherlogik 538 an die Zeitgebergeneratoren 52if der Module 512 bis 518; MEMCLK, lOCLK, 20CLK werden in der Speichorlogik 538 verwendet,
(b) MUX-Bus 561: (ROW/COLUMN ADDRESS MULTIPLEX)
(b1) RADRENBMOD (512, 51 if, 516, 518) (ROW ADDRESS ENABLE) Aktivierungssignal an das Zeilenadressen-Speicher-Flipflop 526 zum Übertragen der Zeilenadresse auf den ADR-Bus 530.
(b2) CADRENBMOD (512, 51if, 516, 518) (COLUMN ADRESS ENABLE) Aktivierungssignal an das Spaltenadress-Sjaeicher-Flipflop 528 zur Übertragung der Spaltenadresse auf den ADR-Bus 530.
(b3) MOD (512, 51if, 516, 518) LATCH: Taktsignal an die Speicher-Flipflops 526 und 528 zur Übertragung der Zeilen- und Spalten-Adresse auf dem RA-Bus 52? und dem CA-Bus 529 in die Speicher-Flipflops 526 und 528.
030020/0815
- *fj -
(c) MWM-ßus %S>: (MODULE CON'J'ROL)
(el) WE: (WRITE ENABLE) Schreibaktiviersignal an die Speicherelemente in den Banken 520 und 522.
(c2) CAS: (COLUMN ADDRESS STROBE) Spaltenadreoe-
einblendsignal an die Speicherelemente in den Bänken 520 und 522, das bewirkt, daß die Speicheradressen auf dem A-Bus 533 in die Speicherelemente übertragen werden· (c3) RAS (0, 1): (ROW ADDRESS STKOBE) Zeilen-
adresseinblendsignal an die Bänke 520 bzw. ^ZZ1 das bewirkt, daß die Zeilenadressinformation auf dem A-Bus 533 in die Speicherelemente der Bänke 520 bzw, 522 übertragen wird,
(d) REF-Bus 557: (REFRESH COOTROL)
(dl) REFADRSET: (REFRESH ADDRESS SET) Auffrischsteuersignal an die Zeitgebergeneratoren 524» das für die Dauer eines Auffrischzyklus den Ausgang des Zeilenadressen-Speicher-Flipflop 526 abschaltet.
(d2) REFADRCLR: (REFRESH ADDRESS CLEAR) Auffrischsteuersignal für die Zeitgebergeneratoren 52^, das den Ausgang des Spaltenadress-Speicher-Flipflops 528 für die Dauer eines Auffrischzyklus abschaltet; es bewirkt auch eine Voreinstellung der Schaltung der Zeitgebergeneratoren 524 für eine normale nichtauffrischende Operation nach dem Auffrischzyklus .
(d3) REFRASSET: (REFRESH ROW ADDRESS STROBE SET) Auffrischsteuersignal für die Zeitgebergeneratoren 52^, das die Signale RAS (0, 1) von den Zeitgebergeneratoren 524 an die RAM-Feld-Bänke 520 und ^22. wirksam macht.
030020/0815
(d4) REFRASCLR: (REFRESH ROW ADDRESS STROBE CLEAR) Auffrischsteuersignal für die Zeitgebergeneratoren 524, das die Signale RAS (O, 1) beim Abschluß eines Auffrischzyklus unwirksam macht; dieses Signal wird auch zu den Treiberschaltungen 532 geführt und macht das Signal CAS während einer Batteriehilfsbetrieb-Operation unwirksam, das von den Zeitgebergeneratoren 524 zu den RAM-Feld-Bänken 520 und 522 gelangt.
(e) OUTCNTL-Bus 559: (OUTPUT CONTROL)
(el) OUTSEL(U,V): (OUTPUT SELECT) Ein Steuersignal mit zwei Binärbit an den Ausgabemultiplexer 540, das Daten auf einem der Busse DOA, DOB, DOC, oder DOD auswählt, die dann auf dem MO-Bus 541 erscheinen·
(e2) ACCESSCLK (542, 544, 546, 548): (ACCESS CLOCK) Taktsignale an die Register 542 bis 548, die bewirken, daß die auf dem MO-Bus 54I vorhandenen Auegabedaten in das zugeordnete Ausgabe-Register übertragen werden.
(e3) OUTPUSEL (542, 544, 546, 548): (OUTPUT SELECT) Aktivierungssignal an die Ausgaberegister 542 bis 548, das bewirkt, daß der Inhalt des ausgewählten Registers auf dem O-Bus 551 erscheint.
(eif) MEMDRIVE: (MEMORY DRIVE) Aktivierungssignal an die Bustreiberschaltung 550, das bewirkt, daß auf dem O-Bus 551 erscheinende Daten auf dem MEMOUT 318 erscheinen.
(f) DATAINLATCH: (DATA INPUT LATCH) Taktsignal von der Speicherlogik 538 an das Daten-Speicher-Flipflop 536, das bewirkt, daß Daten auf dem MI-Bus in das Daten-Speicher-Flipflop 536 übertragen werden.
030020/0815
(g) MEMWRITE: (MEMORY WRITE) Schreibaktiviersignal vom Puffer 534 an die Zeitgebergeneratoren 524.
(h) MEMSTART: (MEMORY START) Signal vom Puffer 534 an die Speicherlogik 538, das einen Lese- oder Schreibzyklus des Speichers 313 veranlaßt.
C. Arbeitsweise des Unterspeichers 313 (Fig. 5)
Die Arbeitsweise des Unterspeichers 313 wird mit Hilfe der Fig. 5 beschrieben. Die Diskussion der im obigen Signal-Glossar genannten Signale wird im allgemeinen auf die folgenden Zeitdiagramme und die detaillierten Schaltungsbeschreibungen des Unterspeichers 313 verschoben; auf die Signale wird Bezug genommen werden, wo dies zweckmäßig ist, um die Arbeitsweise des Unterspeichers 313 zu zeigen.
Vier grundlegende Betriebsarten des Unterspeichers 313 sind Speicherlesen, Speicherschreiben, Auffrischen und Batteriehilfsbetrieb. Das Speicherlesen und das Speicherschreiben werden von der CPU 314 oder dem PFP (Bereitstellungsprozessor) veranlaßt. Die Betriebsarten auffrischen und Batteriehilfsbetrieb werden in erster Linie durch den Unterspeicher 313 gesteuert. Zuerst werden die Lese- und Schreibzyklen beschrieben, gefolgt von einer Beschreibung der Auffrisch-Operation und schließlich von der Betriebsart Batteriehilfsbetrieb.
Während einer Schreiboperation arbeiten die Speichermodule 512 bis 518 jeder als eine getrennte und unabhängige Speichereinheit. Jeder Modul kann 4OO ns benötigen, um einen Lese- oder Schreibzyklus auszuführen. Wegen der unabhängigen Arbeit jedes Moduls kann die CPU 314oder der PFP J>\2. das Lesen oder Schreiben in Intervallen von 100 ns veranlassen, d.i. ist die Speicherbus-Zyklusperiode, wie
030020/0815
sie durch 20CLK und MEMCLK bestimmt wird. Ein Lese- oder Schreibzyklus eines einzelnen Speichermoduls kann jedoch nur bei jedem vierten Speicherbuszyklus veranlaßt werden, also alle i+00 ns. Die Lese- oder Schreibzyklen der Module 512 bis 518 können in jeder gewünschten Folge veranlaßt werden, so lange die Begrenzung von ifOO ns bei aufeinaderfolgenden Lese- oder Schreibzyklen beachtet wird. Ausgelesene Speicherwörter erscheinen auf dem MEMOUT-Bus 318 in der Folge, in welcher die Lesezyklen veranlaßt werden; jedes ausgelesene Wort erscheint i+00 ns nach dem Zeitpunkt, zu dem der Lesezyklus veranlaßt wird.
Es wird zunächst der Lesezyklus betrachtet. Jede Leseanforderung weist eine Adresse auf dem MEMIN-Bus 520 und einen durch den CC-Bus 553 gesendeten MEMSTART-Impuls auf. MEMSTAHT wird der Speicherlogik 538 vom Puffer 53*t geliefert, und die Adresse wird auf dem MI-Bus 535 erscheinen. Seche Adressbits zur Auswahl der Leiterplatte, des Moduls und der Bank werden an die Speicherlogik 538 durch den BMS-Bus 539 geliefert. Sieben Bits von der Zeilenadresse und sieben Bits von der Spaltenadresse erscheinen auf dem RA-Bus 52? bzw. dem CA-Bus 529· Unter der Annahme, daß die ausgewählte Adresse innerhalb des Speichermoduls 512 angeordnet ist, wird die Speicherlogik 538 die Adressbits für die Leiterplatte, den Modul und die Bank decodieren und einen Lesezyklus des Moduls 512 veranlassen. Die Zeilen- und Spaltenadressinformation auf dem RA-Bus 527 und dem CA-Bus 529 wird in das Zeilenadress-Speicher-Flipflop 526 bzw. das Spaltenadress-Speicher-Flipflop 528 übertragen werden. Die Zeilen- und Spaltenadressen werden dann sequentiell auf den ADR-Bus 530 und durch die Treiberschaltung 532 und den A-Bus 533 zu den Adresaeneingangen der Bänke 520
030020/0815
und Ly<-2 übertragen. Die Zeilen- und Spaltenadressen werden von Banksteuersignalen auf dem MEM-Bus 563 begleitet sein· Die baten des angeforderten Worts von der Bank 520 oder 1J1ZZ wurden auf dem DOA-Bus 513 erscheinen. Der Zeitgebergenerator iyai\ liefert ACCESSMOD 512 an die Speicherlogik 538, um die Anwesenheit eines ausgelesenen Worts auf dem DOA-Bus 51 5 anzuzejgpn. Die Speicherlogik 538 liefert dann Ü(JTSEL(U, V) an den Ausgabemultiplexer 5*fO, um das ausgelesen»; Wort auf dem DOA-Bus 513 auf den MO-Bus 5^1 und somit zu den Eingängen der Register 5^+2 bis 5^+8 zu übertragen. Die Speicherlogik 533 liefert dann das Signal ACCESSCLK, wie weiter unten noch beschrieben wird, an eines der Register 5*+2 bis 5^8, um das ausgelesene Wort auf dem MO-Bus 5/+I in das ausgewählte Register zu übertragen. Die Speicherlogik 538 wird dann, wie wiederum später noch beschrieben wird, das Signal OUTPUTSEL an das ausgewählte Register liefern und das Signal MEMDRIVE an den Bustreiber 550, um das ausgelesene Wort vom ausgewählten Register durch den O-Bus 551 und auf den MEMOUT-Bus 31ö zu übertragen. Das Signal MEMDRIVE bewirkt, daß der Bustreiber 550 das Signal MOENB erzeugt zur Anzeige, dass das aufgelesene Wort auf dem MEMOUT-Bus 318 vorhanden ist.
Nach der Beschreibung eines Lesezyklus eties einzelnen Moduls wird nun eine überlappte Leseoperation der vier Module des Unterspeichers 313 beschrieben. Wie oben dargelegt, können Leseanforderungen an die Module 512 bis 518 in jeder gewünschten FoltSe gemacht werden, wobei jedoch die Begrenzung auf hfiO ns beachtet werden muß. Ausgelesene Wörter erscheinen auf dem MEMOUT-Bus 318 in der angeforderten Folge, wobei jedes ausgelesene Wort /fOO ns nach dem Beginn des Lesens erscheint. Es wurde auch beschrieben, daß der MEMIN-Bus 320 und der MEMOUT-Bus 318
030020/0815
asynchron und unabhängig sind.
Die Sequenz der Leseanforderungen und der ausgelesenen Wörter, und der Synchronismus zwischen dem MEMIN-Bus 320 und dem MEMOUT-Bus 318 wird durch den Ausgabemultiplexer 5^0, die Register 542 bis 548 und den Bustreiber 550 aufrechterhalten. Wegen dar unabhängigen Arbeit der Module bis 518 erscheinen die ausgelesenen Wörter auf den Bussen DOA 513 bis DOD 519 in der Folge, in der Lesezyklen der Speichermodule 512 bis 518 veranlaßt worden cind. Wegen des minimalen Intervalls von 100 ns zwischen Leseanforderungen für den Speicher 313 wird nur auf einem einzigen der Busse DOA 513 bis DOD 519 ein gültiges Wort an irgendeinem bestimmten Zeitpunkt vorhnden sein. Es besteht ein minimaler Zeitraum von 100 ns zwischen dem Erscheinen von aufeinanderfolgenden Worten auf den Bussen DOA 513 bis DOD 519. Die Signale ACCESSMOD(CNTL-Bus 555) von den Zeitgebergeneratoren 524 der Module 512 bis 518 werden durch die Speicherlogik 538 verwendet, um den Multiplexer 540 zu steuern; so daß ausgelesene Wörter von den Speichermodulen 512 bis 518 auf dem MO-Bus 541 in derselben Reihenfolge erscheinen wie auf den Bussen DOA 513 bis DOD 519, d.h. in der Reihenfolge der Leseanforderungen· Für jedes Signal ACCESSMOD von einem Speichermodul erzeugt die Speicherlogik 538 ein Signal ACCESSCLK (OUTCNTL-Bus 559) für eines der Register 542 bis 548, und tut dies in einer festen Reihenfolge.Das erste Wort wird in das Register übertrq^n, das zweite ins Register 544, usw.. Das fünfte Wort wird wieder in das Register 542 geladen, usw..
Die Speicherlogik 538 liefert das Signal OUTPÜTSEL (OUTCNTL-Bus 559) an die Ausgaberegister 542 bis 548, um den Inhalt der Ausgaberegister auf den O-Bus 551 zu übertragen. Die Signale OUTPÜTSEL werden in der gleichen Folge
030020/0815
erzeugt wie ACCESSCLK, go dab die aufgelesenen Wörter auf den MEMÜUT-Bus 318 in der gleiden Folge ausgelesen wie die Leseanforderungen.
Wie im obigen Signal-Glossar angegeben ist, wird der Unterijpeicher 513 niit zwei Taktsignalen mit der Speicherbuszyklusrate versorgt, nämlich 10CLK und MKMCLK. Im allgemeinen wird die Arbeit der Speichermodule ,512 bis !318 durch 10CLK gesteuert. Die Übertragung von Daten durch den Multiplexer 5^0 und in die Ausgaberegister 5^f2 bis 5zf8 wird auch durch 10CLK gesteuert. Die Übertragung von Wörtern aus den Ausgaberegistern 5*f2 bis 5^8 heraus und auf den MEMOUT-Bus 318 (das ist OUTPUTSEL und MEMDRIVE) wird durch MEMCLK gesteuert. Dies gestattet, daß der MEMOUT-Bus 318 unabhängig vom MEMIN-Bus 320 arbeitet. Die Übertragung von Wörtern auf den MEMOUT-Buc 3i8 kann durch das sperrende Signal MEMCLK ausgeschlossen werden. Früher angeforderte ausgelesene Wörter werden weiterhin in die Ausgaberegister 5^2 bis 548 übertragen, wo sie gespeichert werden, bis die Arbeit des MEMOUT-Bus 318 wieder beginnt. Es wird kein angefordertes ausgelesenes Wort verlorengehend, weil der Unterspeicher 313 die Annahme von Lese- und Schreibanforderungen einstellt, bis die Arbeit des MEMOUT-Bus 518 wieder beginnt. Die Arbeit des MEMOUT-Bus 318 kann daher für eine unbegrenzte Zeit eingestellt werden, und der Unterspeicher 315 ist in der Lage, vier ausstehende Speicheranforderungen zu behandeln.
Es wird nun auf den Schreibzyklus Bezug genommen. Eine Schreibanforderung erfordert eine Schreibadresse auf dem MEMIN-Bus 320 und gleichzeitig auftretende Signale MEMSTART und MEMWRITE durch den CC-Bus 553. Das in den
030020/0815
Unterspeicher 313 einzuschreibende Wort wird auf den MEMIN-Bus 320 während des 100 ns-Bus-Zykluö gebracht, der unmittelbar der Schreibadresse, MEMSTART und MEMWRITE folgt. Eine Schreibanforderung erfordert daher zwei aufeinander folgende Speicherbuszyklen, also 200 ns· Wie beim Lesezyklus werden die Adressbits durch die Busse BMS 539, RA 527 und CA 529 zur Speicherlogik 538 und zu Eingängen der Zeilen- und Spalten-Adress-Speicher-Flipflops 526 und 528 der Module 512 bis 518 gebracht. Das Signal MEMWRITE wird direkt vom Puffer 534 an die Speicher-Flipflops 526 und 528 geliefert. Die Speicherlogik 538 decodiert die Adressbits auf dem BMS-Bus 539 und das Signal MEMWRITE und veranlaßt einen Schreibzyklus des Zeitgebergeneratore 524 des Speichermoduls, der die Schreibadresse enthält. Das in den Speicher 313 einzuschreibende Wort erscheint auf dem MI-Bus 535 100 ns nach der Schreibadresse, und es wild in das Daten-Speicher-Flipflop 536 durch das Signal DATALATCH von der Speicherlogik 538 übertragen. Das Wort erscheint auf dem DI-Bus 537 und wird gleichzeitig an die Dateneingänge der Bänke 520 und 522 der Module 512 bis 518 geliefert. Wie bei einem Lesezyklus überträgt der Zeitgebergenerator 524 des ausgewählten Speichermoduls aufeinanderfolgend Zeilen- und Spaltenadressen durch den ADR-Bus 530 und den A-Bus 533 zu den Bänken 520 und 522. Steuersignale werden gleichzeitig durch den MEM-Bus 563 geliefert, und das Wort wird in die ausgewählte Adresse übertragen. 4OO ns mögen normalerweise erforderlich sein, um einen Schreibzyklus auszuführen. Es können wiederum wegen der unabhängigen Arbeitsweise der Speichermodule Schreibanforderungen in jeder gewünschten Folge veranlaßt werden, so lange ein einzelner Modul nicht zweimal innerhalb von 400 ns verlangt wird. In ähnlicher Weise
030020/0815
können Speicher-Lese- und Schreibanforderungen in jeder ge wünschten Folge miteinander vermischt werden, wenn man die Begrenzung auf ifOO ns für einen einzelnen Modul beachtet.
Die tatsächlichen Speicherelemente der Bänke 520 und 522 sind, wie oben angegeben, dynamische MOS-RAMs und erfordern ein periodisches Auffrischen, um einen Datenverlust zu verhindern. Wie oben angegeben, wird eine Auffrischoperation in erster Linie durch den Unterspeicher 313 gesteuert und das maximal zulässige Intervall zwischen Auffrischzyklen für die speziellen bei der bevorzugten Ausführungsform verwendeten RAMs beträgt 15,625 ylis. Die Auffrischschaltung in der Speicherlogik 538 zählt Intervalle mit 12,8/us. Nach 6,4/ts beginnt die Auffrischschaltung eine Überwachung auf einen Speicherbuszyklus, in dem keiner der vier Speichermodule einen Lese- oder Schreibzyklus ausführt. Wenn ein soldier Buszyklus vor dem Ablauf von 6,ityics nach dem Start des 12,8 yus-Auffrischintervalls auftritt, belegt die Auffrischschaltung den Zyklus mit Beschlag und führt einen gleichzeitigen Auffrischzyklus bei allen vier Speichermodulen durch. Falls ein solcher Zyklus nicht innerhalb von 6,k /^s erscheint, übernimmt die Auffrischschaltung die Steuerung des Unterspeichers 313 und führt einen Auffrischzyklus aus. Während des Auffrischen steuert die Speicherlogik 538 die Zeitgebergeneratoren 52if über den REF-Bus 557, um Steuersignale an die Bänke 520 und 522 über den MEM-Bus 563 zu liefern. Gleichzeitig übertragen über den REF-Bus 557 an die Treiberschaltungen 532 gelieferte Steuersignale die Auffrischadressen auf dem REFADR-Bus 531 auf den A-Bus 533. Alle Spalten einer einzelnen Reihe von Adressen innerhalb der Bänke 520 und 522 werden während eines einzelnen Auffrischzyklus
030020/081B
aufgefrischt. Die Auffrischschaltung erzeugt aufeinanderfolgende Zeilenadressen in aufeinanderfolgenden Auffrischzyklen, so daß alle Zeilen der Bänke 520 und 522 nach Auffrischzyklen aufgefrischt sind.
Wie oben ausgeführt wurde, können nicht zwei aufeinanderfol gende Lese- oder Schreibanforderungen demselben Speichermodul innerhalb eines Intervalls von JfOO ns zugeführt werden; eine solche Anforderung kann auch nicht während einer Auffrischung gemacht werden. Wenn eine derartige Störung der Anforderung auftritt, wird dieses Ereignis durch die Speicherlogik 538 erkannt durch einen Vergleich der decodierten BMS-Adressbits mit den Signalen MODRDY, die durch die Modul-Zeitgebergeneratoren 52-k geliefert werden. Die Speicherlogik 538 liefert dann das Signal MEMSORRY an die CPU 31k über den CC-Bus 553. Wenn das Signal MEMSORRY auftritt, wird das Signal MEMCLK für die CPU 31 if, den PFP 312 und alle anderen mit dem MEMOUT-Bus 318 in Verbindung stehenden Geräte ausgesetzt. Das Signal MEMCLK erscheint wieder, wenn der früher angeforderte Lese- oder Schreibzyklus vollendet ist. Dieser Vorgang wird bezeichnet als erweiterter Speichertaktzyklus .
Wie unten mit Bezug auf den PFP 312 besprochen werden wird, werden Anforderungsstörungen zwischen dem PFP 312 und der CPU 31k oder anderen Geräten vermieden. Ein Signal von der CPU 3H an den PFP 312 zeigt an, wenn die CPU 31k gerade einen Speicherzugriff anfordert, wodurch bewirkt wird, daß der PFP 312 Speicheranforderungen auf den nächsten verfügbaren Speicherbuszyklus verschiebt. In gleicher Weise veranlaßt ein Signal MEMSORRY, das von einer vom PFP 312 erzeugten Anforderung stammt, und eine
030020/0815
29A4419
frühere Anforderung von einem anderen Gerät den PFP 312, eine Anforderung zu verschieben, blockiert aber nicht das Signal MEMCLK.
Es wird nun auf den Batteriehilfsbetrieb Bezug genommen. In dieue Betriebsart wird durch den Unterspeicher 313 eingetreten, wenn es einen Fehler in der Energieversorgung des Rechners 310 gibt. Der Fehler wird der Speicherlogik 538 über den CC-Bus 533 von der Stromversorgung des Rechners 510 durch das Signal PWROK angezeigt. In einem solchen Fall geht die Schaltung des Unterspeichers 313 auf Stromausfall-Bereitschaft, mit Ausnahme der Auffrischschaltung, Teilen der Zeitgebergeneratoren 52i+, der Treiberschaltungen 532 und der Bänke 520 und 522. Der Unterspeicher 313 kehrt aus dem Batteriehilfsbetrieb-Betriebszustand zurück, wenn die Stromversorgung des Rechners 310 wieder vorhanden ist. Während des Batteriehilf sbetriebs werden die Bänke 520 und 522 aller vier Module periodisch aufgefrischt, um einen Datenverlust zu verhindern. In dieser Betriebsart ist die Auffrischperiode 12,8 /»s. Der Unterspeicher 313 schaltet lediglich während der Ausführung eines Auffrischzyklus in den Batteriehilfsbetrieb und aus dem Batteriehilfsbetrieb heraus. Zu allen anderen Zeiten als während eines Auffrischvorgangs ist es wegen der unabhängigen Arbeit der Module 512 bis 518 äußerst schwierig, den augenblicklichen Operationszustand des Unterspeichers 313 zu ermitteln. Weiterhin bringt das Schalten in den Batteriehilfsbetrieb und aus dem Batterißhilfsbetrieb heraus ein Schalten der Stromversorgung zu Teilen der Speicherlogik 538 und der Zeitgebergeneratoren ^2.i\ mit sich mit der Möglichkeit einer zufälligen Operation des Unterspeichers 313. Während des Auffrischzyklus ist jedoch
030020/0815
il 294A419
der Operationszustand des Unterspeichers 313 genau bekannt und steuerbar· Das Schalten wird daher während des Auffrischens vorgenommen, um Datenverluste zu vermeiden.
Nach dieser kurzen Beschreibung der Wirkungsweise des Unterspeichers 313 auf der Ebene eines Blockdiagramms wird als nächstes die Arbeitsweise des Unterspeichers 313 unter Zuhilfenahme von Zeitdiagrammen dargelegt.
D. Speicher 313. Zeitdiagramme (Fign. 6 - 13)
Die Arbeitsweise der Speichersteuerlogik 538 und des Speichermoduls 512 wird nun unter Zuhilfenahme der in den Fign. 6-13 gezeigten Zeitdiagramme weiter beschrieben. Der größte Teil der Signale der Zeitdiagramme sind oben im Signal-Glossar oder in der Beschreibung des Blockdiigramms definiert und diskutiert worden. Vorher nicht definierte Signale werden bei ihrer Einführung definiert und diskutiert werden. Die Reihenfolge der folgenden Diskussion folgt der obigen Beschreibung der Arbeitsweise des Blockdiagramms .
Die Zeitpunkte des Auftretens von Ereignissen, die in der folgenden Diskussion beschrieben sind, sollen lediglich als Beispiele betrachtet werden und nicht als Beschränkung. Lediglich um die Klarheit der Darstellung zu unterstützen, wird eine Zeitskale angegeben und auf diese Bezug genommen. Die tatsächlichen Zeiten des Auftretens werden sich ändern, beispielsweise Wegen Bauteiltoleranzen in den Schaltungen. Auch können sich die Zeitpunkte ändern, falls die Frequenzen von 2OCLK, 1OCLK und MEMCLK sich ändern.
In Fig. 6 ist ein Zeitdiagramm gezeigt, das einen Lesezyklus des Moduls 512 darstellte Die am oberen Ende der
030020/0815
29Α44Ί9
Fig. 5 quer verlaufende Zahlenskala stellt eine vom Start der Lesezyklusfolge an ansteigende Zeit in Nanosekunden dar. Die ersten drei Zeilen der· Fig. 6 zeigen die Taktsignale 20CLK, 10CLK und MEMCLK. Der Speicherauslesezyklus wird uurch ein Signal MEMSTAKT veranlaßt, das im Zeitpunkt ΰ auftritt und 100 ns dauert und durch eine gültige Adresse auf dem MEMIN-Bus 320. Ein Signal WINDOW, das hier zum ersten Mal gezeigt ist, wird in der Speicherlogik -,OO wahrend jedes Speicherbuszyklus erzeugt, wenn erwartet wird, daß eine gültige Adresse oder ein Datenwort auf dom MEMIN-ßus 520 vorhanden ist. WINDOW wird gleichzeitig an die Module 512 bis 518 geliefert und wird mit individuellen MODRDY-Signalen kombiniert, um in jedem Speichermodul das Signal MODLATCH zu liefern. MODLATCH wiederum überträgt die Adressen auf dem RA-ßus 52? und dem CA-ßuü 529 in die Speicher-Flipflops 526 und 528 jedes Moduls. Im Modul 512 folgt den Signalen WINDOW und M0D12LATCH die Signale M0DSTART512 und M0D512SEL0 oder MODpI23EL1 von der Speicherlogik 538 zum Zeitgebergenerator 52i|. Ob das Signal MOD512SELO oder MOD512SEL1 an den Zeitgebergenerator 52^ geliefert wird, hängt davon ab, ob die Adresse innerhalb der Bank 520 oder Bank 522 liegt. Diese Signale veranlassen die Operation des Zeitgebergenerators 52^f, wie durch das Signal M0D512RDY bei 100 ns angezeigt wird. M0D512RDY zeigt an, daß der Modul 512 ,gerade einen Speicherzyklus ausführt. M0D512RDY blockiert das Signal WINDOW im Modul 512, so daß die nachfolgenden MOD512LATCH-Triggersignale nicht erzeugt werden; die in die Speicher-Flipflops 526 und 528 übertragenen Zeilen- und Spaltenadressen verbleiben dort. WINDOW in den Modulen 51^ bis 516 überträgt weiterhin nachfolgende auf dem MEMIN-Bus 520 erscheinende Adressen in die Speicher-Flipflops 526 und 528 jener Module. Die
030020/081 5
Module 514 bis 518 nehmen dadurch weiterhin Adressen an, bis ihnen die Signale MODSTART und MODSEL zugeführt werden, die anzeigen, daß die zuletzt empfangene Adresse zu einem bestimmten Modul gehörte und die Tätigkeit dieses bestimmten Moduls veranlassen.
Zurück zu Fig. 6. Das vom Zeitgebergenerator 524 an das Zeilenadress-Speicher-Flipflop 526 gelieferte Signal RADENBM0D512 bewirkt, daß die Zeilenadressinformation auf den ADR-Bus 530 und den A-Bus 533 übertragen wird. Bei 100 ns liefert der Generator 524 die Signale M0D512RAS0 oder M0D512RAS1 an die Bänke 520 bzw. 522 und bewirkt, daß die Zeilenadresse in die ausgewählte Bank übertragen wird. Bei 150 ns liefert der Zeitgebergenerator 524 das Signal CADRENBM0D512 an das Speicher-Flipflop 528 und bewirkt, daß die Spaltenadresse auf den ADR-Bus 530 und den A-Bus 533 übertragen wird. Auch beginnt der Zeitgebergenerator 524 mit der Erzeugung der Signale ATG1 bis ATGb in Intervallen von 50 ns. ATG1 bis ATG6 werden durch den Zeitgebergenerator 524 intern verwendet und werden unten unter Bezugnahme auf die detaillierten schematischen Darstellungen diskutiert. Bei 200 ns liefert der Zeitgebergenerator 524 das Signal M0D512CAS an die Bänke 520 und 522 und bewirkt, daß die Spaltenadresse in die Bänke 520 und 522 übertragen wird. Dieser Vorgang vervollständigt das Adressieren des Moduls 512,und das ausgelesene Wort erscheint auf dem DOA-Bus 513· Das ausgelesone Wort erscheint auf DOA-Bus 513 vor dem Zeitpunkt 350 ns, und der Zeitgebergenerator 524 liefert das Sjgnal ACCESSMOD512 an die Speicherlogik 538 zum Zeitpunkt 350 ns. ACCESSM0D512 zeigt an, daß ein ausgelesenes Wort auf dem DOA-Bus 513 verfügbar sein wird. Die Speicherlogik 538 erzeugt dann OUTSEL(U, V) für den Multiplexer 54O, um den DOA-Bus 513
030020/081 5
29A4419
mit dem MO-Bus 5^-1 zu verbinden. Das ausgelesene Wort erscheint dann an den Hingängen der Ausgaberegister 5^ bis 5if8. Bei i+OO ns erzeugt die Speicherlogik 538 das Signal ACCKSSCLK für ein ausgewähltes Ausgaberegister und bewirkt, daß das ausgelesene Wort in das ausgewählte Register übertragen wird. Die Speicherlogik 538 kann dann OUTPUTSEL an das ausgewählte Register liefern und das Signal MKMDRIVbJ an den Ausgabe treiber 5'1X), wodurch bewirkt wird, daß '-las ausgeleseno Wort auf dem MEMOUT-Bus %lo erscheint.
In FIc;. 7 ist ein Zeitdiagramm gezeigt, das die Ausführung eines Schreibzyklus durch den Modul 512 erläutert. Die Aufeinanderfolge von Ereignissen in einem Schreibzyklus ist sehr ähnlich der bei einem Lesezyklus; es werden hier lediglich die Unterschiede zwischen Schreib- und Lesezyklen diskutiert.
Wie in Fig. 7 gezeigt ist, ist die Aufeinanderfolge der Ereignisse identisch zu der eines Lesezyklus bis zum Zeitpunkt 100 ns; mit der Ausnahme, daß MEMSTART durch das Signal MEMWRITE begleitet wird, das anzeigt, daß ein Schreibzyklus gerade ausgeführt wird. Bei 100 ns erscheint ein gültiges Datenwort auf dem MEMIN-Bus 320. Die Speicherlogik 538 erzeugt das Signal DATAINLATCH, das das Wort in das Daten-Spoicher-Flipflop 536 überträgt. Das Wort erscheint auf dem DI-Bus 537 und wird gleichzeitig an die Dateneingänge der Bänke 520 und 522 der Module 512 bis 518 geliefert. Der Zeitgebergenorator 52/f liefert die Signale RADRENBM0D512, MOD512RASO odor M0D512RAS1, CADRENBM0D512 und M0D512CAS an die Bänke 520 und 522 wie bei einem Lesezyklus.
Das Signal CADRENBMOD512 wird durch MOD512WE begleitet,
030020/0815
und es wird bewirkt, daß das Wort auf dem DI-Bus 537 in die Bank 520 oder die Bank 522 geschrieben wird, je nach der durch M0D512RAS0 oder M0D512RAS1 getroffenen Auswahl. Der Schreibzyklus ist spätestens bei 400 ns vollständig. Der Zeitgebergenerator 52^ liefert ACCESSM0D512, und die Speicherlogik 538 liefert OUTCNTL-Bus 559-Signale an den Multiplexer 5^0, die Register 5^+2 bis 5^8, und den Ausgabetreiber 550. Das auf dem MEMOUT-Bus 318 erscheinende Wort stellt jedoch zufällige Daten dar, aber es wird, wie aus der unten gegebenen Beschreibung des PFP 312 deutlich werden wird, nicht akzeptiert, z.B. durch den PFP 312, weil es nach einer Schreibanforderung erscheint, aber nicht nach einer Leseanforderung.
In Fig. 8 ist ein Zeitdiagramm gezeigt, das die Ausführung eines Auffrischzyklus durch den Unterspeicher 313 erläutert. Das Auffrischen wird in den Modulen 512 bis 518 gleichzeitig durchgeführt. Die Auffrischschaltung der Speicherlogik 538 erzeugt ein Auffrischanforderungssignal REFREQ in Intervallen von 12,8/is. Die Auffrischschaltung vergleicht das Signal REFREQ mit dem Signal MODSRDY, das innerhalb der Speicherlogik 538 aus den Signalen M0D512RDY bis MOD518RDY erzeugt wird. MODSRDY zeigt an, wie unten näher erläutert wird, daß keiner der Module 512 bis 518 z.Zt. einen Speicherzyklus ausführt. Wenn MODSRDY anzeigt, daß die Module 512 bis 518 für einen noch zu erledigenden Auffrischzyklus zur Verfügung stehen, und der Speicher 313 nicht ein Signal MEMSTART empfangen hat, wie in Fig. 8 bei 0 ns angezeigt ist, übernimmt die Auffrischschaltung die Steuerung des Unterspeichers 313·
Die Auffrischschaltung erzeugt das Signal REFRESHING bei
030020/0815
100 ns, das durch die Speicherlogik 53Ö intern verwendet wird, um zu verhindern, daß der Unterspeicher 515 aufeinanderfolgende Speicheranforderungen annimmt. Eine Speichoranförderung, die empfangen wird, nachdem RKFRESHING erscheint, wird zu einer Antwort MEMSORRY an den Anforderer führen· Die Auffrischlogik erzeugt gleichzeitig Signale REFADRßET und REFADRCLR für die Zeitgebergeneratoren 52^ der Module 512 bis 518. RtIFAJJRSET und REFADRCLR schalten die von den Zoitgebergenoratoren 52^ kommenden Ausgangssiganle RADENBMOD und CADRENBMOD ab und machen dadurch die Zeilen- und Spaltenadressausgänge der Speicher-Flipflops 526 und 523 der Module 512 bis 518 unwirksam. Das Signal REFRASCLR wird auch den Treiberschaltungen 532 zugeführt, wo es als Inhibit-Eingangssignal für die Signale CAS und l/l/E vom Zeitgebergenerator 52^ an die Bänke 520 und 522 dient. Es ist nicht beabsichtigt, daß dieses Signal während einer normalen Auffrischoperation wirksam ist, aber en blockiert, wie unten beschrieben wird, die Signale CAS und WE während des Batteriehilfsbetriebs. Das Signal REFRESHING blockiert die Erzeugung der Signale MODSTART und MODSEL durch die Speicherlogik 538, so daß die Zeitgebergeneratoren 52^- während des Auffrischzyklus unaktiv bleiben und keine MEM-Bus 563-Signale an die Bänke 520 und 522 liefern, ausgenommen, wo solche Ausgangssignale durch REFRESSET und REFRESCLR erzwungen werden. Auch bei 100 ns erscheint eine gültige Auffrischadresse auf dem REFADR-Bus 531 und somit auf dem A-Bus 533 und an den Adresseneingängen der Bänke 520 und 522 der Module 512 bis 518. REFADRENB wird durch die Auffrischschaltung intern benutzt, um den REFADR-Bus 531 zu aktivieren und wird unten diskutiert. Die Signale RTGO bis RTG3 sind ebenfalls interne Signale der Auffrischschaltung, wie
030020/0815
unten beschrieben wird, und sie steuern die Auffrischzyklusfolge. Bei 200 ns erzeugt die Auffrischschaltung das Signal REFRASSET für die Zeitgebergeneratoren 524 der Module 512 bis 518. REFRASSET aktiviert die Ausgangssignale MODRASO und MODRAS 1 der Zeitgebergeneratoren 524 zur Übertragung der Auffrischadresse in die Adresseneingänge der Bänke 520 und 522 der Module 512 bis 518. Die Übertragung der Adressen durch das Signal MODRAS beginnt die Auffrischoperation innerhalb der Bank 520 und 522,
Das Auffrischen ist spätestens zum Zeitpunkt /+00 ns beendet, zu welchem Zeitpunkt die Auffrischschaltung das Signal REFRASCLR für die Zeitgebergeneratoren 524 erzeugt. Zu diesem Zeitpunkt wird auch das Signal REFADRßET ausgeschaltet, während REFADRCLR aktiv bleibt4 dies setzt den Zeitgebergenerator 524 zurück auf den richtigen Zustand für die Wiederaufnahme der Nicht-Auffrisch-Tätigkeit. HEFADRCLR wird bei 500 ns ausgeschaltet. BEFRASSET wird zu dieser Zeit ebenfalls ausgeschaltet, während SEFRASCLR aktiv bleibt, wobei es auch das Einstellen der Zeitgebergeneratoren 524 auf den zur Wiederaufnahme der Nicht-Auffrisch-Tätigkeit geeigneten Zustand bewirkt. Das Abschalten von REFRASSET beendet die Signale MODRASO und MODRASI, REFRASCLR wird dann bei 600 ns abgeschaltet,und der Auffriachzyklus ist vollständig. Ein totaler Auffrischzyklus mag normalerweise 600 ns Zeit der Auffrischschaltung benötigen, aber das Auffrischen der Module 512 bis 518 mag normalerweise in 400 ns abgeschlossen sein, so daß die Module 512 bis 518 die Schreibe- und Lesezyklusoperation wieder aufnehmen können.
In Fig. 9 ist ein Zeitdiagramm gezeigt, das die Ausführung eines spaten Auffrischzyklus erläutert. Ein später Auffrischzyklus ist mit Ausnahme der ersten 100 ns identisch mit einem normalen oben beschriebenen Auffrischzyklus. Daher wird der späte Auffrischzyklus hier nur bis zum Zeitpunkt 100 ns beschrieben. Das Signal REFREQ ist so dargestellt, daß es seit dem Start des gegenwärtigen Auffrischintervalls aktiv ist. Gemäß der Figur zeigt das
030020/0815 ./.
Signal MODSRDY keinen verfügbaren Speicherbuszyklus seit dem Start von REFREQ an. Bei 6,if/is nach dem Start des gegenwärtigen Auffrischintervalls, der bei 100 ns angezeigt ist, erzeugt die Auffrischschaltung der Speicherlogik 538 das Signal LATEREFRESH. LATEREFRESH wird innerhalb der Speicherlogik 538 verwendet, um willkürlich die Steuerung des Unterspeichers 313 zu übernehmen und einen Auffrischzyklus zu veranlassen, wie durch das Signal REFRESHING gezeigt ist, das bei 100 ns aktiv wird. Der Auffrischzyklus beginnt bei 0 ns, und von dieser Zeit an ist der späte Auffrischzyklus identisch mit dem normalen Auffrischzyklus.
In Fig. 10 ist ein Zeitdiagramm gezeigt, das einen erweiterton Speicherbuszyklus erläutert, der von einer .Speicheranfragestörung herrührt, d.i. eine Speicheranforderung, die während eines Auffrischzyklus erfolgt^ oder das Anfordern eines Zugriffs zu einem Speichermodul, der z.Zt. ein Lese- oder Schreibzyklus ausführt. Gemäß der Zeichnung tritt das Signal MEMSTART bei 0 ns auf, begleitet durch eine gültige Adresse auf dem MEMIN-Bus 520. Es ist entweder REFRESHING oder MODRDY des die zuletzt angeforderte Adresse enthaltenden Speichermoduls aktiv. Die Speicherlogik 538 wird dann zum Zeiipunkt 0ns das Signal MEMSORRY erzeugen. MEMSORRY wird zui· anfordernden Einheit übertragen, um anzuzeigen, daß die angeforderte Adresse z.Zt. nicht verfügbar ist.
MEMSORRY (mit Ausnahme für Anforderungen des PFP 312) blockiert auch den Speicherbuctakt MEMCLK. MEMSORRY bleibt aktiv, und MEMCLK blockiert bis zum Zeitpunkt N χ 100 ns, wobei N die Anzäi der Speicherbuszyklen ist, um die die Anforderung hinausgeschoben wird. Die den
030020/0815
Speicher anfordernde Einheit fährt fort, das Signal MEMSTART und eine gültige Adresse auf dem MEMIN-Bus während der gesamten zeitlichen Verzögerung zu liefern· Zum Zeitpunkt N χ 100 ns ist der Auffrischzyklus, oder der Lese- oder Schreibzyklus des adressierten Moduls abgeschlossen. MEMSORRY nimmt wieder den inaktiven Zustand ein. Der Unterspeicher 313 nimmt dann das Signal MEMSTART und die Adresse auf dem MEMIN-Bus 320 an, wie durch die Signale MODSTART und M0D512RDY angezeigt ist, die zum Zeitpunkt (N+1) χ 100 ns nach der Beendigung von MEMSORRY auftreten. Der adressierte Modul führt den angeforderten Lese- oder Schreibzyklus aus. Wie dargestellt ist, beginnt das Signal MEMCLK 100 ns nach dem Abschalten von MEMSORRY wieder.
In Fig. 11 ist ein Zeitdiagramm gezeigt, das das Schalten des Unterspeichers 313 in den Betriebszustand Batteriehilfsbetrieb erläutert. Der in Fig. 11 gezeigte Auffrischzyklus läuft identisch mit dem unter Bezugnahme auf Fig. 8 gezeigten und erläuterten Zyklus ab bis zum Zeitpunkt 300 ns. Bei 300 ns tastet ein innerhalb der Auffrischschaltung der Speicherlogik 538 vorhandenes Zeitgabesignal RTG2 das Signal PWROK ab. Einige Zeit vor dem Zeitpunkt 300 ns, hier gezeigt bei 100 ns, beginnt PWROK, um anzuzeigen, daß ein Stromversorgungsfehler aufgetreten ist. Dies führt zur Erzeugung des Signals BBU, das anzeigt, daß der Unterspeicher 313 in den Batteriehilfsbetrieb eintreten soll.
BBU bewirkt die Erzeugung des Signals MEMRESET. MEMRESET wird an die Zeitgebergeneratoren 52k und an andere Schaltungen innerhalb der Speicherlogik 538 geliefert, wo es, wie oben beschrieben, die Schaltung in einen bekannten
030020/0815
Operationszustand zwingt. MEIiRI-JSiIT wird auch an die Auffrischschaltung geliefert, wo es, wie in Fig. 11 angezeigt ist, das Signal REFRESCLR weiterhin im blockierenden Zustand hält, nachdem ein Auffrischzyklus abgeschlossen 1st« In ahnlicher Weise erzwingt das Signal BBU, daß das Signal KFJFADRUNB im aktiven Zustand bleibt, nachdem ein Auffrischzyklus abgeschlossen ist. Mit Ausnahme von REFADREMB und REFRESCLR läuft der Auffrischzyklus bis zum Ende in einer ähnlichen Weise ab, wie unter Bezugnahme auf Fig. 8 erläutert wurde. BBU und MEMRESET bleiben in der gezeigten V/eise weiter bestehen, wie weiter unten noch beschrieben wird, bis der Unterspeicher 313 aus dem BBU-Betriebszustand (Batteriehilfsbetrieb) herausschaltet.
Fig. 12 zeigt ein Zeitdiagramm, das die Ausführung eines Auffrischzyklus erläutert, während der Unterspeicher 313 sich im Betriebszustand Batteriehilfsbetrieb befindet. Wie oben bei der Beschreibung der Wirkungsweise des Blockdiagramms beschrieben wurde, v/erden Auffrischzyklen während des Batteriehilfsbetriebs durch das Signal LATEREFRESH veranlaßt und nicht durch REFREQ. Der in Fig.12 dargestellte Auffrischzyklus ist identisch mit einem normalen Auffrischzyklus mit der Ausnahme, daß das Signal REFRASCLR in einem blockierenden Zustand und REFADRENB in einem aktiven Zustand durch MEMRESET und BBU gehalten wird.
In Fig. 13 schließlich ist ein Zeitdiagramm gezeigt, das einen Auffrischzyklus erläutert, wobei der Unterspeicher 313 aus dem Batteriehilfsbetrieb herausschaltet. Der in Fig. 13 gezeigte Auffrischzyklus läuft in einer Weise ab, die ähnlich der in Fig. 12 gezeigten ist, mit der Ausnahme, daß das Signal PWROK gemäß der Darstellung eine Ruckkehr
030020/0815
29Α4419
der Stromversorgung bei 100 ns anzeigt. Dieses Ereignis wird durch RTG 2 bei 300 ns festgestellt, und bewirkt, daß BBU und MEMRESET zur normalen Operation zurückkehren. Wie durch das Signal PWROK angezeigt ist, war die Stromversorgung zurückgekehrt, bevor das Signal MEMRESET abgeschaltet wurde. MEMIiESET hatte daher vorher die nicht mit Energie versorgten Abschnitte der Speicherlogik 538 und der Speichermodule 512 bis 518 in den für die Wiederaufnahme der normalen Tätigkeit nach dem Abschluß eines Auffrischzyklus geeigneten Zustand gebracht. Der Auffriechzyklus läuft bis zum Ende ab, wie anhand der Fign. 8, 9 und 12 oben gezeigt und beschrieben wurde, und der Unterspeichor 313 kehr zur normalen Lese- und Schreiboperation zurück.
Nach der Beschreibung der Struktur und Arbeitsweise des Unterspeichers 313 auf der Ebene eines Blockdiagramms unter Zuhilfenahme von Zeitdiagrammen wird nun die bei einer bevorzugten Ausführungsform des Speichers 313 verwendete Schaltung dargestellt.
E, Unterspeicher 313t Schaltung (Fign. 1/+ - 2/+)
Schematische Darstellungen der bei einer bevorzugten Auüführungsform des Unterspeichers 313 verwendeten Schaltung werden nun in den Fign. 1k - 24 unter Bezugnahme auf die obige Diskussion des Blockdiagramras und der Zeitabläuft beschrieben. Die Struktur und die gegenseitige Verbindung der Schaltung des Unterspeichers 313 ist in den Fign. Ii+ bis 2/f gezeigt und wird nicht weiter beschrieben werden, außer wo es notwendig ist, um die Wirkungsweise des Unterspeichers 313 zu erläutern. Ähnlich werden die Funktionen und die Wirkungsweise der spezifischen Schaltungskomponenten im Detail nur dort diskutiert, wo dies notwendig ist. Durchwegs sind genormte und übliche Schaltungssymbole
030020/0815
verwendet. Alle Komponenten, die identisch zu einer im Text und in der Stuckliste aufgeführten Komponente gezeichnet sind, sind dieser Komponente gleich. Gewisse Komponenten in den folgenden schematischen Darstellungen sind mit einer Fußnote BBU gekennzeichnet. Dieser Hinweis kennzeichnet jene Komponenten, denen während des Batteriehilfsbetriebs Strom zugeführt wird; nicht auf diese Weise gekennzeichnete Komponenten werden mit Strom lediglich während des normalen Betriebs versorgt.
In Fig. 1 if ist ein schematisches Diagramm der Bank 520 des Moduls 512 gezeigt. Die Bänke 520 und 522 der Module 512 bis 518 sind ähnlich. Die Bank 520 mag 21 identische Speicherelemente ii+10 bis 1^50 aufweisen, von denen jedes ein einzelnes Bit des in Fig. k gezeigten Worts mit 21 Bit speichert. Jedes Speicherelement hat einen einzelnen Dateneingang DI (DIO bis DI20) und einen einzelnen Datenausgang DOA (DOAO bis D0A20). Jeder Datenausgang ist mit einem separaten Leiter des DOA-Bus 513 und parallel mit einem ähnlichen Datenausgang der Bank 522 verbunden. Die Dateneingänge DI sind jeweils mit einem separaten Leiter des DI-Bus 533 verbunden, parallel mit ähnlichen Dateneingängen DI alle anderen Bänke 520 und 522 des Speichers 313. Jedes Element hat sieben Adresseingänge AO bis A6. Die Adresseingänge der Elemente I410 bis 1 ^+30 sind parallel mit einem gemeinsamen Adressenbus AOR bis A6R verbunden. Die Adresseneingänge der Elemente 1^32 bis I/+50 sind parallel mit einem zweiten Adresseneingabebus AOL bis A6L verbunden. Die auf dem Bus AOR bis A6R und AOL bis A6L erscheinenden Adressbits sind identisch. Die Aufteilung der Bank 520 in zwei Gruppen von Elementen IZtIO bis 1430 und 1 i&Z bis I45O dient, wie unten näher erläutert wird, dazu, die Belastung an den Adresstreibern
030020/0815
der Treiberschaltungen 532 au verringern. Die Adresseneingänge der Elemente 1 /+1O bis 1450 sind tatsächlich über die Treiberschaltungen 532 parallel mit dem A-Bus 533 verbunden. Die Aufteilung der Bank 520 in zwei Busse zeigt sich auch in den Eingängen Zeilenadressabtastung (row address strobe, RAS), Spaltenadressabtastung (column address strobe (CAS) und Schreibaktivierung (write enable (WE) der Elemente I410 bis 1 i+50. Die Bank 520 ist ebenfalls in einen Block von Speicheretaenten 1410 bis 1440 unterteilt, in dem Datenbits gespeichert werden, und in Speicherelemente I442 bis 1450,in denen die Fehlerkorrekturbits gespeichert werden« Diese interne Unterteilung in 16 Bits für die Datenspeicherung und 5 Bits für die Fehlerkorrekturcodspeicherung ist nicht durch die Struktur des Unterspeichers 313 bedingt. Funktionell ist der Unterspeicher 313 ein Speicher mit 21 Bit Länge und legt keine Beschränkungen für die in ihm gespeicherten Daten auf; beispielsweise können alle 21 Bits für die Speicherung von Daten verwendet werden. Es können auch Speicherelemente von den Bänken 520 und 522 entfernt werden oder zu diesen hinzugefügt werden; beispielsweise so, daß der Unterspeicher 313 eine Länge von 16 Bits aufweist. Die Arbeitsweise der Bank 520 wird in der folgenden Beschreibung des Speicherelements I410 deutlich werden.
In Fig. 15 ist ein Blakdiagramm des Speicherelements I410 der Bank 520 gezeigt. In den obigen Ausführungen war festgestellt worden, daß die Zeilenadresse und die Zeilenadressabtastung (RASR) der Bank 520 zuerst angeboten werden, gefolgt von der Spaltenadresse und der Spaltenadressabtastung (CASR). Der Adresseneingabebus I510 (AOR bis A6R) ist intern mit Eingängen eines Zeilenadressregister 1512 und eines Spaltenadressregisters 1514 verbunden. Die Signale
030020/0815
RASR und CASR werden ebenfalls Eingängen der Register 1512 bzw. 15H zugeführt. Ausgänge des Registers 1512 sind mit Eingängen eines Zeilendecoders I516 und Ausgänge des Registers 151k sind mit Eingängen eines Spaltenadressdecoders 151 β verbunden. Ausgänge des Zeilendecoders 1516 sind mit Zeilenselektionseingängen eines Speicherfelds 1520 verbunden. Das Speicherfeld 1520 ist in Form von 128 Zeilen mal 128 Spalten von Speicherstellen organisiert, wobei jede Stelle 1 Bit der Information speichert. Die Spaltenausgänge des Speicherfelds 1520 werden durch Abtastverstärker 1522 und den Spaltenadressdecoder 1518 ausgewählt. Die Abtastverstärker 1522 liefern das Datenausgangssignal DOAO des Speichereüanents HIO durch einen Datenpuffer 152*+. DIO vom DI-Bus 537 ist mit einem Eingang des Datenpuffers 1524 verbunden, dies gilt auch für WER.
Bei der Arbeit wird, wenn man einen Speicherlesezyklus betrachtet, die Zeilenadreesinformation auf dem A-Bus durch den Bus 1510 zu den Eingängen des Registers 1512 geliefert. Das Signal RASR überträgt die Zeilenadresse in das Register 1512. Die Zeilenadresse im Register 1512 wird durch den Zeilendecoder I5I6 decodiert, um eine der 128 Zeilen des Speicherfelds 1520 zu aktivieren. Die in der ausgewählten Zeile gespeicherte Information wird dann zum Abtastverstärker 1522 übertragen. Die als nächstes auf dem A-Bus 533 erscheinende Spaltenadressinformation wird durch den Bus I5IO zum Spaltenadressregister 1514 übertragen und in das Register 1514 durch das Signal CASR übertragen. Die Spaltenadresse im Register 1514 wird durch den Decoder I5I6 decodiert, um eines der 128 Informations-Bits aus der ausgewählten Zeile in den Verstärkern 1522 auszuwählen. Das ausgewählte Bit erscheint am Ausgang des
030020/081Π
-60-
Datunpuffers 152^· Die Fähigkeit dos Speicherelements H10, Zeilen- und Spalteriadressinformation sequentiell auf einem einzelnen Bus zu empfangen, vereinfacht die Anordnungen zum übertragen der Adressen innerhalb der Speichermodule 512 bis 518, worauf unten noch Bezug genommen wird #
Ein Schreibzyklus ist identisch mit einem Losozyklus, mit der Ausnahme, daß WER aktiviert ist, wie in den Zeit diagrammen oben gezeigt wurde. In diesem Fall wird DIO durch den Abtastverstärker 1520 in die durch den Decoder 1516 ausgewählte Spaltenstelle und die durch den Decoder 1516 ausgewählte Zeilenstelle übertragen. Bei einem Auffrischzyklus wird an das Speicherelement ii+10 nur eine Zeilenadresse geliefert und CAS ist blockiert. Alle 128 Spaltenstellen der ausgewählten Zeile werden durch die Abtastverstärker 1522 übertragen und tatsächlich zurückgeschrieben in ihre identischen Stellen in der ausgewähl ten Zeile. Die in der ausgewählten Zeile gespeicherte In formation wird dadurch durch Wiedereinschreiben aufgefrischt.
Es wird nun die Schaltung beschrieben, durch die die Information aus den Speichermodulen 512 bis 518 heraus auf den MEMOUT-Bus 518 übertragen wird. In den Fign. 16 und 16A sind der Ausgabemultiplexer 5^0, die Ausgaberegister bis 548 und der Bustreiber 550 gezeigt.
In Fig. 16 weist der Ausgabemultiplexer 54Ο 21 Multiplexer von vier Leitungen auf eine Leitung auf, der verwirklicht ist durch zehn integrierte 2-fach Vierleitungs-Multiplexer-Schaltungen 1610. Die Ausgabebusse DOA-Bus 513 bis DOD-Bus 519 sind mit den Eingängen der
030020/0815
- ftf -
Multiplexer 1610 verbunden. Jeder Multiplexer 1610 empfängt ein (1) Ausgangssignal von jedem der Busse DOA-Bus 513 bis DOD-Bus 519 (z.B. D0A2, D0B2, D0C2, und D0D2). Steuereingänge der Multiplexer 1610 sind mit OUTSELU und OUTSELV des OUTCNTL-Bus 559 verbunden. Wie oben beschrieben wurde, steuern OUTSELU und OUTSELV die Multiplexer 1610 so, daß ein ausgelesenes Wort mit 2.1 Bit auf einem der Busse DOA-Bus 513 bis DOD-Bus 519 auf dem MO-Bus 541 erscheint. Es wird darauf hingewiesen, daß der Ausgabemultiplexer 540 der einzige tatsächliche echte Multiplexer im Unterspeicher j$l3 ist. Alle anderen Multiplexoperationen werden durch sequentielle Übertragung der Daten durch einen gemeinsamen Bus ausgeführt, oder durch Schaltungen, die Ausgänge mit drei Zuständen haben.
Die Ausgaberegister 5^f2 bis 548 weisen jeweils 21 Speicherbits in Registern 1612 mit Dreizustandslogik auf. 21 Leitungen des MO-Bus 541 sind mit 21 entsprechenden Dateneingängen MOI des Ausgaberegister 542 verbunden. Der MO-Bus 541 ist in ähnlicher Weise mit entsprechenden Eingängen der Ausgaberegister 544 bis 548 verbunden. Der Takteingang des Ausgaberegisters 542 ist mit ACCESSCLKW des OUTCNTL-Bus 559 verbunden. Die Takteingänge der Ausgaberegister 544 bis 548 sind mit ACCESSCLK X,Y und Z verbunden. In ähnlicher Weise ist der Steuereingang des Ausgaberegisters 5^2 mit OUTPUTSELW des OUTCNTL-Bus 559 verbunden; die Steuereingänge der AusgaberqgLster 544 bis 548 sind mit OUTPUTSEL X, Y bzw. Z verbunden. Wie oben beschrieben, wird ein Signal ACCESSCLK für eines der Ausgaberegister 5l\2. bi 548 die Information auf dem MO-Bus 541 in die Register 1612 dieses Ausgaberegisters übertragen. Wie ebenfalls oben beschrieben wurde, wird
030020/0815
ein Aktivierungssignal OUTPUTSEL, das an eines der Ausgaberegister 542 bis 548 gegeben wird, den Inhalt der Register 1612 des ausgewählten Ausgaberegisters auf den O-Bus 551 übertragen.
In Fig· 16A ist der Ausgabetreiber 550 gezeigt. Der Ausgabetreiber 550 ist ein Puffer, der aus Dreizustandslogik-Puffertreibern 1614 besteht. 21 Leitungen des O-Bus sind mit Ausgängen der Puffertreiber 1614 verbunden. Korrespondierende Ausgänge der Puffertreiber 1614 siü mit dem MEMOUT-Bus 318 verbunden. Das Signal MEMDRIVE des OUTCNTL-Bus 559 wird Aktivierungseingängen der Puffertreiber 1614 zugeführt und aktiviert die übertragung von Wörtern vom O-Bus 551 auf den MEMOUT-Bus 318. Der dem Ausgangssignal MOENB zugeordnete Eingang des Bustreibers 550 ist mit einem anderen Ausgang des Bustreibers 550 verbunden, und der diesem anderen Ausgang zugeordnet Eingang des Bustreibers 550 ist mit Masse verbunden. MOENB wird daher logisch O sein, wenndas Signal MEM)RIVE den Bustreiber 550 aktiviert, und anzeigen, daß ein gültiges ausgelesenes Wort auf dem MEMOUT-Bus 318 vorhanden ist.
Nach der Beschreibung der Schaltung, durch die ausgelesene Wörter vom Unterspeicher313 auf den MEMOUT-Bus übertragen waden, wird als nächstes die Schaltung beschrieben, durch die Adressen und Daten vom MEMIN-Bus zu den Bänken 520 und 522 übertragen werden. Die folgenden Besprechungen werden den Puffer 534» das Daten-Speicher-Flipflop 536, die Zeilen- und Spaltenadress-Speicher-Flipflops 526 und 528 und die Treiberschaltungen 532 in dieser Reihenfolge behandeln.
In Fig. 17 sind der Puffer 534 und das Daten-Speicher-
030020/0815
Flipflop 536 gezeigt. 21 Leitungen von MEMIN,MtSMSTART und MEMWRITE sind mit Eingängen von Pufferverstärkerschaltungen 1710 des Puffers 'yjk verbunden. Die Ausgänge MIO bis MI20 der Pufferverstärker 1710 sind mit dem MI-Bus 535 verbunden. MIO bis MI20 sind mit Eingängen von Registern 1712 des Daten-3peicher-Flipflop 536 verbunden. MIO bis MI6 sind mit dem RA-Bus ^Zl verbunden. MI7 bis MI13 sind mit dem CA-Bu s 529 verbunden,und MIUf bis MI19 sind mit dem BMS-Bus verbunden. Die Ausgänge MiMSTART und MEMWRITE der Pufferverstärker 1710 sind der Speicherlogik 538 bzw. den Zeitgebergeneratoren 524 zugeführt. Aktivierungseingänge der Register1712 sind mit DATAINLATCH von der Speicherlogik 538 verbunden. Die auf MIO bis MI20 vorhandene Information wird in die Register 1712 übertragen und erscheinen an den Registerausgängen DIO bis DI20, die mit dem DI-Bus 527 verbunden sind, wenn das Signal DATAINLATCH an den Aktivierungseingängen der Register 1712 erscheint.
In Fig. 18 sind das Zeilenadress-Speicher-Flifplog 526 und das Spaltenadress-Speicher-Flipflop 528 gezeigt. Sieben Leitungen des RA-Bus 527 sind mit Eingängen des Speicher-Flipflops 526 verbunden. Sieben Leitungen des CA-Bus 529 sind mit Eingängen des Speicher-Flipflops verbunden. Ein Eingang des Speicher-Flipflop 528 ist mit MEMWRITE vom Puffer 53/f verbunden, und ein entsprechender Eingang des Speicher-Flipflops 526 ist mit Masse verbunden. Eingabe-Aktivierungseingänge der Speicherflißflops 526 und 528 sind mit M0D512LATCH verbunden. M0D512LATCH Über trägt die Adressen auf dem RA-Bus 527 und dem CA-Bus 529 in die Speicher-Flipflops 526 und 528. Entsprechende Ausgangssignale der Speicher-Flipflops 526 und 528, nämlich ADRO bis ADR6, sind miteinander verbunden, und umfassen den zu den Treiberschaltungen 532
030020/0815
führenden ADR-Bus 530. Die Ausgangssignale M0D.512WE, die dem Eingangssignal MEMWRITE und dem Massepotential-Eingangssignal des Speicher-Flipflops 526 entsprechen, sind miteinander verbunden,um das Signal M0D512WE an die Treiberschaltungen 532 zu liefern. Ausgabeaktivierungseingängen der Speicher-Flipflops 526 und 528 werden die Signafe RADRENBM0D512 bzw. CADRENBM0D512 vom Zeitgebergenerator 52if zugeführt. Die Adressen in den Speicher-Flipflops 526 und 528 werden auf den ADR-Bus 530 übertragen, wenn RADRENBM0D512 oder CADRENBM0D512 aktiv ist. Wenn RADRENBM0D512 aktiv ist, wird die Zeilenadresse des Speicher-Flipflops 526 auf dem ADR-Bus 530 erscheinen; wenn CADRENBM0D512 aktiv ist, wird die Spaltenadresse des Speicher-Flipflops 528 auf dem ADR-Bus 530 erscheinen. Wenn CADRENBM0D512 aktiv ist, wird das Signal MOD512WE Massepotential haben, falls nicht das Signal MEMWRITE existiert, und es wird aktiv sein, wenn ein Signal MEMWRITE vorhanden ist.
Die Treiberschaltungen 532 der Bank 520 des Moduls 512 sind in Fig. 19 gezeigt. Die Treiberschaltungen 552 der Bänke 520 und 522 der Module 512 bis 518 sind identisch. Die Adresseneingangssignale der Bank 520 werden durch Verknpfungsglieder 1912 bis 1924 geliefert, die, wie oben beschrieben, getrennte R- und L-Ausgänge für die R-Hälfte und die L-Hälfte der Bank 520 haben. Jedes Verknüfungsglied 1912 bis 1924 hat ein erstes Eingangssignal vom ADR-Bus und ein zweites Eingangssignal vom REFADR-Bus 531· Die Eingangssignale vom ADR-Bus 530 sind Lese- und Schreibadressen. Die Eingangssignale vom REFADR-Bus 531 sind Auffrischadressen. Die Verknufungsglieder 1912 bis führen eine ODER-Funktion aus, um die Eingangssignale von dem ADR-Bus 530 oder dem REFADR-Bus 531 auf den
030020/0815
Α-Bus 533 zu übertragen. Der ADR-Bus 530 oder der REFADR-Bus 531 werden nur einzeln aktiv sein, der jeweils andere führt die Werte logisch 0. Die Verknüpfungsglieder 1926 bis I93O haben wieder jeweils Ausgänge für die R- und L-Hälften der Bank 520. Das Verknifcfungsglied 1926 empfängt das Signal MOD512RASO um Ausgangssignale RASR und RASL an die Bank 520 zu liefern; ein ähnliches Verknüpfungsglied (aus Gründen der Deutlichkeit der Darstellung nicht gezeigt) empfängt das Signal MOD512RAS1 und liefert RASR und RASL an die Bank 522 des Moduls 512. Das Bereitstellen von separaten M0D512RAS-Ausgangssignalen an die Bänke 520 und 522 wird beim Adressieren des Speichers verwendet. Die Adressen werden in der Bank 520 oder 522 selectiert, beispielsweise durch das Aktivieren von M0D512RAS0, um die Speicherelemente in der Bank 520 mit Energie zu versorgen, wenn die Adresse in der Bank 520 liegt. Die Verknüpfungsglieder 1928 und 1930 liefern Steuersignale M0D512CAS bzw. M0D512WE an die Bank 520 und können, wie oben beschrieben, durch REFRASCLR während des Auffrischens blockiert werden. Pull-up-Widerstände 1932 bewirken eine Impedanzanpassung an die Eingänge der Speicherelemente des Moduls 512. Die Register 1932 verlangsamen auch die Schaltübergänge, um Übersprechen zu vermeiden.
Der Zeitgebergenerator 52^ des Moduls 512 ist in Fig. 20 gezeigt. Der Zeitgebergenerator 524 weist einen Zeitgebersequenzgenerator 2010 auf, Steuerregister 2012 bis 2022, und ein Verknüpfungsglied 202^. Der Zeitgebersequenzgenerator 2010 und die Steuerregister 2012 bis 2022 werden durch 20CLK getaktet. Der Zeitgebersequenzgenerator 2010 ist ein Schieberegister. Eine logische 1 wird in den Zeitgebersequenzgenerator 2010 geladen,
030020/0815
wenn der Zeitgebergenerator 52/+ gestartet wird. Der Zoitgebersequenzgenerator 2010 liefert dann eine Folge von Ausgangsimpulsen ATGI bis ATG6, die wiederum Steuerausgänge der Steuerregister 2012 bis 2022 aktivieren. ATG1 erscheint eine Periode von 20CLK nachdem der Zeitgebergenerator 52/+ gestartet worden ist. Ausgangssignale ATG/+,5 und 6 erscheinen nach /+,5 bzw. 6 Perioden von 20CLK nach dem Start.
Es wird nun auf die Fig. 20 und die Zeitdiagramme der Fign. 6 und 7 Bezug genommen. CADRENBMOD512 wird logisch 1 am Ende eines Auffrischzyklus oder eines Lese- oder Schreibzyklus des Moduls 512. CADRENDMOD512 aktiviert dadurch den Ein- £uig des Zeitgebersequenzgenerators 2010 für Annahme eines Startbefehls von der Speicherlogik 538. Den Eingängen der Steuerregister 201/+, 2022, und des Verknüpfungsglieds 202/+ werden die Signale M0DSTART512, M0D512SEL0 und M0D512SEL1 zugeführt. Das Auftreten dieser von der Speicherlogik kommenden Speichersignale, gemeinsam mit einem Signal WINDOW zum Verknüpfungsglied 202/+ wird den Zeitgebergenerator 52/+ starten. Zum Zeitpunkt 50 ns werden M0D512RDY (vom Steuerregister 201/+) und WINDOW durch das Verknüpfungsglied 202/+ miteinander verknüpft, um das Signal M0D512LATCH an die Zeilen- und Spaltenadress-Speicher-Flipflops 526 und 528 zu liefern. M0D512LATCH überträgt die Zeilen- und Spaltenadressen vom RA-Bus 527 und CA-Bus 529 in die Speicher-Fllpflops 526 und 528. RADRENBMOD512 ist aktiv, um die Zeilenadresse des Speicher-Flipflops 526 auf den ADR-Bus 530 zu übertragen; CADRENBMOD512 blockiert den Ausgang des Speicher-Flipflops 528· Beim nächsten 20CLK-Impuls (100 ns) werden M0DSTART512, und M0D512SEL0 oder M0D512SEL1 in die Steuerregister 201/+ und 2020 oder 2022
030020/0815
geladen. M0D512RAS0 oder M0D512HAS1 wird aktiv. MOD512RDY, das zur Speicherlogik 538 gelangt, wird logisch 0 werden, wodurch es anzeigt, daß der Modul 512 gerade einen Speicherzyklus ausführt. Gleichzeitig wird MOD512RDY logisch 1 und aktiviert dadurch den Zeitgebersequenzgenerator 2010 und einen Eingang des Steuerregisters 20.12. Beim nächsten 20CLK-Impuls (150 ns) wird CADRENBM0D512A aktiv werden, um die Speicheradresse von dem Speicher-Flipflop 528 auf den ADR-Bus 530 zu übertragen, während RADRENBM0D512 den Ausgang des Speicher-Flipflops 526 blockiert. Gleichzeitig wird das vom Zeitgebersequenzgenerator 2010 zum Steuerregister 2018 gelangende Signal ATGI aktiv, so daß M0D512CAS beim nächsten folgenden 20CLK (200 ns) aktiv wird. Das zu den Eingängen der Steuerregister 2016, 2020 und 2022 geführte Signal ATGi+ wird drei 20CLK-Impulse nach ATGI (300 ns) aktiv. Beim nächsten 20CLK-Impuls (350 ns) wird ACCESSM0D512 aktiv, während M0D512RAS0/M0D512RAS1 beendet wird. Einen 20CLK-Impuls nach ATG4 (350 ns) wird ATG5 aktiv und aktiviert die Eingänge der Steuerregister 2012 und 2014. Beim nächsten 20CLK-Impuls (400 ns) wird RADRENBM0D512 aktiv, während CADRENBM0D512 das Speicher-Flipflop 526 sperrt. Zu dieser Zeit wird das zur Speicherlogik 538 gelangende Signal M0D512RDY logisch 1, wodurch es anzeigt, daß der Modul 512 bereit ist, einen anderen Speicherzyklus anzunehmen. M0D512RDY blockiert auch die Eingänge des Zeltgebersequenzgenerators 2010 und des Steuerregisters 2012. Gleichzeitig wird ATG6 aktiv, um die Eingänge der Steuerregister 2016 und 2018 zu aktivieren, so daß beim nächsten 20CLK-Impuls (450 ns) ACCESSM0D512 und M0D512CAS beendet werden. Dies beendet einen Zyklus des Zeitgebergenerators 52/f.
Den Steuerregistern 2012 bis 2022 werden Setz/Lösch-Eingangssignale REFADRSET , REFADRCLR, REFRASSET und REFRASCLR
030020/0815
vom REF-Bus 557 zugeführt· Diese Eingangssignale steuern den Zeitgebergenerator 52i+ während des Auffrischens, wie früher diskutiert wurde, und was unten noch weiter besprochen wird. Den Steuerregistern 2012 bis 2022 werden auch Setz/Lösch-Eingangssignale MEMRESET zugeführt, wie früher besprochen wird und was unten noch weiter erörtert wird. Die Steuerregister 201 ^, 2016 und 2018 empfangen auch das früher nicht erwähnte Signal GPPRESET. GPPRESET ist ein Mehrzweck-Voreinstellsignal des Rechners 310, das verwendet wird, um den Zeitgebergenerator 52if zurückzusetzen, wenn der Unterspeicher 313 zurückgesetzt wird.
Die Speicherlogik 538 ist in den Fign. 21 bis Zk gezeigt und wird nun beschrieben.
In Fig. 21 ist die Schaltung gezeigt, die die Adressbits für die Leiterplatten-, Modul- und Bankauswahl vom BMS-Bus 539 empfängt und decodiert. Diese Schaltung liefert Signale MODSTART (512, 51If1 516, 518), M0D(512,5H, 516,518)SEL(O,1), MEMSORRY und andere innerhalb der Speicherlogik 538 verwendete Signale,
Wie oben ausgeführt wurde, können bis zu acht Unterspeicher 313 parallel geschaltet werden, um eine Kapazität von 1 Megawort (1.000.000 Wörter) für den Rechner 310 bereitzustellen. Daher ist es nötig, jeden einzelnen der acht möglichen Unterspeicher 313 selectiv zu adressieren. UND-Glieder 2110 mit drei Eingängen und ihre zugeordneten Eingangsschaltungen führen diese Adressierfunktion aus. Die Glieder 2110 empfangen und decodieren Adressbits MH 6, M117 und MH 8 und werden durch MEMSTART und INHSEL zur Lieferung von BOARDSELECT aktiviert.
030020/0815
BOARDSKLECT zeigt dann an, daß die selektierte Adresse innerhalb des speziellen Unterspeichers 313 liegt und veranlaßt die Tätigkeit dieses Unterspeichers 313· INIBEL ist ein separates Steuereingangssignal für den Unterspeicher 313, das den Beginn der Tätigkeit des Unterspeichors 313 blockiert und tatsächlich als zusatzliches Adressbit dient. INHSEL ermöglicht es, daß eine Vielzahl von Geräten, die dasselbe 20-Bit-Adressfeld wie der Speicher 311 haben, an die MEMIN- und MEMOUT-Bus3o 520 und 318 angeschlossen werden können und selektiv aktiviert werden können, so daß hierdurch Konflikte beim Adressieren vermieden werden« Die Adressbits MI16 bis MH8 können den Eingängen der Verknüpfungsglieder 2110 direkt oder durch Inverter 2112 zugeführt werden, je nachdem wie dies durch ein Schaltdraht-Programmiernetzwerk 211/+ wahlweise bestimmt ist. Das Schaltdrahtnetzwerk 211^ gestattet es, daß jeder Unterspeicher 313 individuell so programmiert wird, daß er auf eine separate Kombination von Leiterplattenauswahlbits MI16 bis MI18 anspricht, wodurch eine Decodierfunktion eins aus acht durchgeführt wird. Ebenfalls gezeigt sind vier Reserveeingänge zu den Verknüpfungsgliedern 2110. Die Reserveeingänge erlauben eine Flexibilität beim Programmieren der Verknüpfungsglieder 2110, z.B. um eine Änderung der Anordnung der Leiterplattenauswahladressbits innerhalb des Adressworts zu ermöglichen.
Ein 1-Aus-8-Decoder2116 empfängt das Bankauswahlbit M119 und die Modulauswahlbits MHi+ und M115 vom BMS-Bus 539· Der Decoder 2116 liefert Ausgangssignale MDD(512,51 Jf1516,510)SEU0,1)· Diese acht Ausgangssignale zeigen an, ob die ausgewählte Adresse im Modul 512, 51 *t,
030020/0815
29ΑΑ419
516 oder 518 und in der Bank 520 oder 522 des ausgewählten Moduls liegt. Die Signale MOD(512,51*+,516,510)SEL(0,1) werden durch Inverter 212if invertiert, die Signale MOD(512,51^,516,518)SEL(O,1) an die Zeitgebergeneratoren 524 der Speichermodule 512 bis 5I8 liefern. Die Ausgangssignale nODC5l2,51i+,516,51ö)SEL(0,1) werden mittels der ODER-Glieder 2126 mittels einer ODER-Funktion verknüpft, um mOdSTART(512,51/+,516,518) an die entsprechenden Speichermodule 512 bis 518 zu liefern.
Inverter 2120 invertieren die Modulauswahlbits Mil if und MII5, um Signale mit der richtigen Polarität an den Decoder 2116 zu liefern. MI19 ist ein Bankauswahlbit, es sind jedoch drei wahlweise verwendbare Bankauswahleingänge mittels eines Schaltdrahtnetzwerks 2118 vorgesehen, um die Bankauswahlsignale innerhalb des Adressworts flexibel anordnen zu können·
Der Decoder 2116 wird durch das Signal REFRESHING über die Verknüpfungsglieder 2122 angesteuert, um eine Tätigkeit des Decoders 2116 während eines Auffrischzyklus zu blockieren· 10CLK wird dem Eingang der Verknüpfungsglieder 2122 zugeführt, um die zeitliche Lage der Ausgangssignale des Decoders 2116 zu steuern.
Das früher beschriebene Signal MEMWAIT wird einem Aktivierungseingang des Decoders 2116 zugeführt, um die Ausgänge des Decoders 2116 zu blockieren und die Erzeugung des Signals M0DSTART(512,51if,516,518) zu verzögern· Beispielsweise dann,wenn Daten zwischen dem Speicher 311 und einem langsameren Speicher übertragen werden müssen, mögen beide Speicher gleichzeitig adressiert werden und der Unterspeicher 313 verzögert werden, bis
030020/0815
dei· lan gs;j Me ro .Speicher fur die Übertragung bereit ist.
Der Decoder 2116 empfängt auch ein aktivierendes Eingangssignal STAfiTREADY von NAND-Gliedern 2128 mit vier Eingängen· Die NAND-Glieder 2128 vergleichen das Signal MODRDY von den Modulen 512 bis 518 mit den Modulauswahladressbits MHi+ und MH 5. Jedes NAND-Glied 2128 liefert ein Ausgangssignal, das anzeigt, ob der ausgewählte Speichermodul gerade einen Speicherzyklus ausführt. STARTREADY aktiviert den Decoder 2116, falls der adressierte Modul nicht gerade einen Zyklus ausfuhrt. Der Decoder 2116 wird blockiert, falls der ausgewählte Modul gerade einen Zyklus ausführt.
STARTREADY und REFRESHING werden durch ein Verknüpfungsglied 2130 mit BOARDSELECT verglichen, um das Signal MEMSORRY zu erzeugen, falls der Unterspeicher 313 gerade mit einem Auffrischzyklus beschäftigt ist, oder falls der ausgewählte Modul gerade einen Lese- oder Schreibzyklus ausführt.
In den Fi gn. Z2. und 22A ist die Schaltung der Speicherlogik 530 gezeigt, die DATAINLATCH und die Signale des OUTCNTL-Bus 559 erzeugt, das sind OUTSEL(O1I)1 ACCESSCLK(W,X,Y,Z), OUTPUTSEL(W1X1Y1Z), und MSMDRIVE. Diese Schaltung ist in erster Linie mit der Übertragung von Daten von den Modulen 512 bis 518 zum MEMOUT-Bus 318 befaßt.
In Fig. 22 empfangen NAND-Glieder 2210 mit zwei Eingängen die Signale ACCESSM0D512, 51 Zf und 516 von den Modulen 512 bis 516. Die NAND-Glieder 2210 decodieren diese Eingmgssignale, um Signale OUTSELO und 0UTSEL1 an den
030020/081 5
Ausgabernultiplexer 540 zu liefern. Wie oben beschrieben, steuern OUTSELO und OUTSELl die Übertragung von Daten von den Bussen ϋΟΛ-Bus 513 bis DOD-Bus 519 auf den MO-Bus 541. ACCESSMOD518 wird nicht für diese Decodierfunktion benötigt und wird nicht benutzt.
Ebenfalls in Fig. 22 gezeigt ist die Schaltung zum Erzeugen von ACCKSCLK(W,X,Y1Z), Diese Schaltung erzeugt sequentiell ACCESSCLK-Signale für die Ausgaberegister 5L\2 bis 548, um Daten von den Modulen 512 bis 518 zu den Ausgaberegistern 542 bis 548 zu übertragen. Die Signale ACCESSCLK(W1X^1Z) werden von Flipflops 2212, 2214, 2216 bzw, 2218 geliefert, die ein 4-Bit-SchBberegister bilden. MEMRESET und GPPRESET werden den Setzeingängen und Löscheingängen der Flipflops 2212 bis 2218 zugeführt, um das Schieberegister am Anfang so zu setzen, daß das Flipflop 2212 eine logische 1 und die Flipflopu 2214 bis 2218 jeweils eine logische 0 enthalten. Die Ausgänge der Flipflops 2212 bis 2214 sind mit Eingängen eines Vierfachmultiplexers 2220 von zwei Leitungen auf eine Leitung verbunden, dessen Ausgänge mit Eingängen der Flipflops 2212 bis 2218 verbunden sind. Der Multiplexer 2220 kann Ausgangssignale der Flipflops 2212 bis 2218 zu ihren zugeordneten Eingängen übertragen oder zu Eingängen der nächst-benachbarten Flipflops, Eine zuerst im Flipflop 2212 erscheinende logische 1 kann dadurch so übertragen werden, daß sie nacheinander an den Ausgängen der Flipflops 221 4, 2216 und 2218 in dieser Reihenfolge erscheint, und dann wieder am Ausgang des Flipflops 2212. Die Ubertragungsoperation, d,h, ob ein Ausgangesignal eines Flipflops zu seinen Eingängen zurückgeführt wird oder zu dem Eingang des nächst-benachbarten Flipflops gelangt, wird durch Eingangssignale ATGZf eines NOR-Glieds 2.Z2.2. von den Spoichermodulcn 512 bis 518 gesteuert.
030020/081 5
Das Ausgangssignal des NOR-Glieds 2.2.2.2 wird durch ein Flipflop 2223 um eine Periode des Signals 20CLK verzögert und dem Auswahleingang (select) des Multiplexers 2220 zugeführt. Das Auftreten eines Signals ATG^ wird daher eine logische 1 in einem Flipflop zur Folge haben, das anzeigt, daß das Ausgaberegister, in dem ein Wort bei einem früheren Lesezyklus gespeichert worden war, in das nächste Flipflop übertragen werden soll, um das nächste Ausgaberegister in der Folge zu takten. Wie oben erläutert, liefern die Zeitgebersequenzgeneratoren 2010 der Zeitgebergeneratoren 52i| ein Signal ATG5 gleichzeitig mit ACCi]SSMOD. ACCESSMOD zeigt an, daß ein gültiges Wort auf dem Ausgabebus des Speichermoduls vorhanden ist. Dadurch erfolgt eine Schieberegiaterübertragung bei jedem Speicherlesezyklus, so daß aufeinanderfolgend ausgelesene Wörter aufeinanderfolgend in den Ausgaberegistern 5^+2 bis 31S gespeichert werden. Die Flipflops 2212 bis 2218 werden durch 20CLK getaktet, ebenso die Zeitgebersequenzgeneratoren 2010, so daß die Auswahl eines Ausgaberegisters und die Übertragung der Daten synchronisiert sind.
In Fig. 22A ist die Schaltung gezeigt, die OUTPUTSEL(W,X,Y,Z) erzeugt. Die Signale OUTPUTSEL(W,X,Y,Z) werden durch ein if-Bit-Schieberegistor erzeugt, das Flipflops 2ZZh, bis 223Ο und einen Multiplexer 2232 aufweist, die in der gleichen Weise arbeiten wie das Schieberegister von Fig. 22. Die invertierten Ausgänge $ der Flipflops 222** bis 223Ο liefern OUTPUTSEL(W,X,Y,Z). Wiederum werden die Flipflops 22.Zk bis 2230 durch MEMRESET und GPPRESET gesetzt und gelöscht. Sie werden jedoch durch MEMCLK getaktet. Eine logische 1 wird sequentiell vom Flipflop 222k zum Flipflop 2230 und zurück zum Flipflop 222k durch den Multiplexer 2232 übertragen, der durch ITG3 gesteuert wird.
030020/081 5
29U419
ΙΤΰ5 wird durch ein if-Bit-wchieboregister erzeugt, das Flipflüps 223*+ bis 22/+0 aufweist. Die Flipflops 22^/+ bis 22A+0 werden ebenfalls durch MEMCLIv getaktet ,und ihr ursprünglicher Startzustand wird durch MEMRESET und GPPRESET gesetzt. In diesem Fall werden die Flipflops 223^ bis 22/+0 anfanglich so gesetzt, daß sie alle eine logische 0 enthalten. Das Flipflop ZZJ>k, das erste Flipflop im Schieberegister, wird mit einem Eingangssignal STARTITU von Verknüpfungsgliedern ZZkZ und 22/|if versorgt. STARTITG mag geliefert werden, wenn das Verknüpfungsglied ZZkk das Signal BOARDSELECT empfängt (der Speicher 31J) soll einen Lese- oder Schreibzyklus ausführen), aber es kann durch das Verknüpfungsglied 22^2 blockiert werden mittels der Signale STARTREADY und REFRESHING (der Unterspeicher 313 führt gerade einen Auffrischzyklus auf oder es ist eine Anforderungsstörung aufgetreten). Wenn STARTITG erscheint, läuft eine logische 1 durch das Schieberegister und erscheint am Ausgang des Flipflops 22IfO als ITG3 vier Perioden des Signals MEMCLK später, d.h. /+00 ns. Dies ist die Verzögerungszeit zwischen dem Beginn einer Speicheranforderung und dem Erscheinen eines ausgelesenen Worts auf einem der Busse DOA-Bus 513 bis DOD-Bus 519· Das zum Multiplexer 2232 gelangende Signal ITG3 bewirkt, daß STARTITG in den Flipflops ZZZk bis 2230 vorwärtsrückt, wenn MEMCLK auftritt, wodurch nacheinander die- Ausgänge der Ausgaberegister ^kZ bis 5^8 aktiviert werden. STARTITG ist solange aktiv, wie BOARDSELECT aktiv ist und nicht durch STARTREADY oder REFRESHING blockiert ist. Es wird daher eine kontinuierliche Zeichenreihe von logischen Einsen durch die Flipflops 223** bis 22ifO fließen, und es v/ird eine sequentielle Datenübertragung zwischen den Ausgaberegistern 5'+2 bis 51$ und dem MEMOUT-Bus in MEMCLK-Intervallen erfolgen.
030020/0815
- .75 -
Z94U19
W'.nn BOARDSELECT inaktiv wird, oder STARTITG durch STALTREADY oder REFRESHING blockiert wird, endet ITG/3 /|00 ns danach. Dies ist die Verzögerungszeit dafür, daß das zuletzt angeforderte ausgele.sene Speicherwort in die Ausgaberegister ^Zf2 bis ^h'd durch ACCESSCLK(W, X, Y, Z) und auf 1-!"!HOIJT durch OUTPUTS EL (W, X, Y, Z) übertragen wird. Wenn MEMCLK beendet wird, z.B. wegen des Signals MEMSORRY, wird die Arbeit der Flipflops 22.5^ bis 22/fO und Z2.Z>\ bis ji,_'5O der Schieberegister eingestellt und die Übertragung von Wörtern von den Ausgabe-Registern 5Ί-2 bis s^ü wird
ITG'' ist ein Eingangssignal eines Verknüpfungsglieds 22/f6 um 1 in Signal FffÜMTTW für den Ausgabetreiber cj%) zu erzeugen. ITG5 wird durchgeschaltet mit MODIS, einem externen Sperrsignal, beispielsweise von der ERCC-Logik 519, das eine Datenübertragung vom O-Bus !551 auf den MEMOUT-Bus ;'A6 verhindert.
Ebenfalls gezeigt ist ein Flipflop 22/f8, dem als Takt das Signal 20CLK und als Löschsignal 10CLK zugeführt wird. Das Flipflop 22^8 erzeugt das Signal WINDOW, wie oben beschrieben· WTrDÜW wird als das eine Eingangssignal zu einem Verknüpfungsglied 2250 geliefert, ebenso das Signal ITGO vor. Fl.i.pflop 223h, um das Signal DATAINLATCtI für das Daten-Speichor-Flipflop 5>6 zu liefern. ITGO erscheint cine ILIMCLK-Periode nach dem Erscheinen von ßOARDSELECT und somit zur gewünschten Zeit, um Datenwörter vorn MI-!ius :<-ö in das Daten-Speicher-Flipflop 5:;o :-,u übertragen.
In den Fign. 2j5, 23A und 2'3B ist die Schaltung der Speicherlogik 538 gezeigt, die das Auffrischen des Speichers und (ten ßaUeriehilfsbetrieb (BBU) steuert.
030020/0815
In Fi;1;. ,'.■'· Weraeti Zähl err! A () und d ;'.·]<: durcti IOCLK ;;;e tai" t"i. un I :ιΚ:;;;;;·.ίι Jie Zeit zwischen eiiu;r (Yiiheivr. Aui'frischanioruerun,1;, tier nächsten Auffri^chanionierurii;, LuIi11RiA1 1 und der Bedingung LATKR KFR Κ:; Ii. Der Zähler ?--)\d liefert da:: Λα:;;:ηπ; ;:.;-signal k'KFrlNB, da:j die i'Irzeu/'un/'; du;; i;i/';naio i-iι·;Ki-ii!'J aktiviert, ua:; .Signal LATKRiVi^Ri',1^!!, da;J anzeigt, dali die ma,:.imal. ::ul u;;;;i.(-;e Zeit verstrichen i.Jt, und ΠΚίιΡ^ίΤΠίΐίίι, d;iu ; -■. rv/e ndo-1 wird, urn die Batteriehiif sbe ti-ieb-Operai ion (liBlj) eiiu'.u'ltii ten, wenn das LATrli-i^li^IiKGII-Interval Luhtseiir'iL Leu v/ordeu ist. id'iFKNB wii'd an ein Fiipfluo <'51i| .^elit;j.V'rt, (ias durch K)CLK r.etaktet wird und t<i-;F.;!.'') li.'LVrt. ΙΤΤΡΤΓΤ^ v/ird ^uriicl". :'AU:i .'m; t^oiiifiarii; deu Flipfiop:; 'd >\l\ rvi'ührt, um darj FIiT)TlO]) 2.y]!\ im liill'Ta/^-Zu^taiid ::u blockieren, bi>j ein Auf Criüchzykluü ein/';oleitet wird. JJie d;i:; ;>jr;i;,-.l IsJiU erzijUi,ende .")Clialtuat'; i:.;t cbenfall.; in )''i;:. J-'- , /".:c 1 r. L , aber die Becprochuni·; dl<:.;er ,''paltun.;' v;.ir-ti ver·- .;eiioi>, .·η , bir, die Auf fr L;;clii'.elialtunr; in d«in Fi.-:n. Il '3 Λ uiui .-! >ij ai.;i;ut ie rl warden id. o
In Fi,-. <-".■ Λ v:ii'd ein Zahler 2 516 durch U)CLK r;ot iktet und liufert Zeitimpuiaauüpi.ngiifji^nalc RTGü bis k'i'G';, die die Foi;;e von !rei^niüoen während eines Auffi'iuchzykJ.uu :;t,;uei-n. Die Täti^kx-it dou Zahlern 2\j1b wird durch oiu Kin^an^G^irnal von dem eine Mehrzahl von Kinc; ui/;en aui'-weiijonden Verknupfunc^/^lied 'd 51 ο veranlalito Ua;j Verknupl'unr;j(,"Liod 2.j>\'6 ermittelt drei Bedin^un; 1^n :',uta V'finia;;Gen eineu Auf f ri.'/.chiiykiuu, und ein AuGr;an/,';;;; irna L de.·.; /i^iiil· rr; .-'5i6,da3 den Auf frisohzykl us beendet.
Ijj t; >.r:jte de-dinr;un,^ verlangt, daii dt.:r üiitor:j[n:icher ■'·]■'< u'i:t er.; ten verf urbaren ,Speiciwr^ykiu.'; nach ei.iu.-r· Auffriijcli aiiford'.-riin,!'; mit Bencliiaf·; bcle^jt, um einen Aui'friGciiiiyklu^; au-.^Uf uhren β l)i^-.';e bedingurii1; tritt auf, wejin ΐ3οΑΠΐλΓ;ί!Κ:·"!0ΐΓ ,
030020/081 5
BAD ORIGINAL
invertiert durch einen Inverter 2 520, anzeigt, daß augenblicklich keine Anforderung des Speichers 31'; gemacht wird; BBtJ zeigt an, daß der Unterspeicher 513 augenblicklich nicht im Batteriehilfsbetrieb ist; MOD.JRDY von einem Verlinüpfungsgllud 2 522 mit den Eingangssignalen MOD ( 512,51 h, 516, 51 o1 von don Modulen Ή2 biG 51 ö zeigt an, daß keiner der Module 512 Ij:L· 51 ο gerade einen Logo- oder Schreibzyklus ausführt; und RI-IFRlIv1I zeigt an, daß ein Auffrischzyklus angefordert
Die i'.Ki'·, i U; Bedingung stellt den ßeginn eines späten .'uii'r i:;chzyl:lus dar; ein Auf lYisehzyklu:.1. ist angefordert worden, aber ein Spelcherzyklus .ist nicht verfügbar gewesen, bi;: u, l\ /US abgelaufen waren. In diesem Fall empfängt das Verknüpfungsglied 231 υ BBÜ und Eingangssignale von Verknüpfungsgliedern '<±-j2.l\ und 2326. Das Verknüpfungsglied 232'| erhält Eingangssignal REFREü und IJITEREFRESII, die anzeigen, daß ein Auffrischen angefordert v/urde und sich über 6,^xas hinaus erstreckt hat. Das Verknüpfungsglied 2326 erhält ein !'Eingangssignal MODSRDY, das anzeigt, daß die Module 512 bis 51Ö gerade keinen Lese- oder Schrcibzyklus ausführen.
Bei der dritten Bedingung empfängt das Verknüpfungsglied 2518 die Signale REFREQ, BBU und LATEREFRESH; dieser Fall stellt den Beginn eines Auffrischzyklus dar, während der Unterspeicher 313 im Batteriehilfsbetrieb ist.
Das Verknüpfungsglied 231 '6 liefert eine logische 1 über einen Inverter 2319 an den Dateneingang des Schieberegisters 2;.;16, falls irgendexiie dieser Bedingungen erfüllt ist. Die logische 1 erscheint dann nacheinander an den Ausgängen RTGO bis RTG3, wobei sich die Ausgangssignale
030020/0815
294U19
miL άι,ιη ViiuJ't logisch 1 von KTGU bio ί zeitlich überlappen, wie i)i uon Zeituiaf:rai:u;icn Fig. 7 und ') bic 15 gezeigt i;;t,
UtiLei· Bezugnahme auf beide Figuren 2 >A und 2vB sind UTGO bi;·. i\";'(i;) wingangsuignale für eine Schaltung, die Inverter ii-)cio und NAND-Glieder 2330 mit zwei Hingängen aufweist.
Die NAND-Glieder 2330 wiederum erzeugen BEFADRr1 KT, Yi :FADnCTJi,und zwei RiCFliASSET-AusgangGsignalo.
Zwei R
signale werden erzeugt, um die Belastung für die I]AHl)-Glieder 2330 zu trennen.
Di. von den Hingängen der Inverter 2328 den Verknüpfungsgliedern 2318 und 2r32 zugo führt en ilingangsoignalu P; TG 3 uiKi UTGO beenden die Kingabe der Auffrischsteuersequenz in dan Schieberegister 2316 und beenden dadurch den Auff ri schzyklus.
RTO und RTG3 sind isingangSGignale für ein Verknüpfungsglied 2335· Das Ausgangssignal des VerknüpfungsgliuüG 2353 und BBU sind Eingangesignale eines NOR-Glieds 2voi(, das das Signal RK1FADREHB erzeugt. REFADRENk ist ein Aktivierungssignal für Zähler 2336 und 2338 und Multiplexer 23^0 und 23A2, die Auffrischadressen RlCFADR (0-6) erzeugen· Die Zähler 2536 und 2"53o werden durch RTG2 getaktet und erzeugen aufeinanderfolgende AuffrischadreGsen für jeden Auffrischzyklus· Die Multiplexer 25^0 und 23^2 invertieren, gesteuert durch REFADRSKT die Ausgangssignalo der Zähler 2356 und 2338, um das Signal REFADRC0-6) auf den Ki'lFADR-BuG 531 während des Auffrischer^ ^:u bringen, und logische Nullen zu allen anderen Zeiten.
Die XJngangGöignale LATREFRrXH und R-."IFRi-^ eines NAND-GliecL Z"A\l\ und die iJingangssignale RTGO und RTG3 eines
030020/0815
BAD ORIGINAL
IJOK'-Glieds 2;>if6 zeigen an, daß ein später Auffrischzyklus gerade erzwungen wird bzw« daß ein Auffrischzyklus gerade ausgeführt wird. Die Ausgänge der Verknüpfungsgliede 234Λ und 23Ί6 sind mit den beiden Eingängen eines ODER-Glieds 23/18 verbunden, das REFRESHING erzeugt.
Wir kehren zurück zur Fig. 23 und der BBU-Schaltung (Batteriehilf sbetrieb). PWROK wird dem D-Eingang eines Flipflops 2356 zugeführt, und das Flipflop 2356 wird durch RTG2 getaktet, wodurch bewirkt wird, daß PWROK, wie oben beschrieben, während jedes Auffrischzyklus abgetastet wird. Ausgangssignale BBU und BB\J werden an die Schaltung der Fign. 23A und 23B geliefert, wie oben beschrieben wurde. Eingangssignale LATIiREFRESH und HELPSETBBU eines Verknüpfungsglieds 2350 erzeugen ein Signal für ein Verknüpfungsglied 2352, das anzeigt, daß die Periode für die Einleitung eines spaten Auffrischzyklus überschritten worden ist. Die Eingangssignale 10CLK und REFREQ eines Verlcnüpfungsglieds 2354 liefern ein getaktetes Signal an das Verlaiupfungsglied 2352, das ein Auffrischen angefordert v/orden ist. Das Ausgangssignal des Verknüpfungsglieds 2352 wird dem Setzeingang des Flipflops 23% zugeführt, um die Erzeugung von BBU zu erzwingen und dadurch den Speicher 313 in den Batteriehilfsbetrieb zu bringen. Dieses Merkmal schützt dagegen, daß möglicherweise ein Auffrischen des Speichers 313 wegen eines unentdeckten Fehlers der Stromversorgung oder beim Anschalten des Rechners unterbleibt.
In Fig. 23A sind BBU und gPrESET Eingangssignale eines ODER-Glieds 2358. Das ODER-Glied 2358 liefert ein Ausgangssignal an eine mit großer Leistung versorgte Treiberschaltung 2359, die einen Transistor 2360, eine Diode 2362,
030020/081 5
29A44
Widerstände ZjGl\ bis 2368, und einen Kondensator cij'b'J enthalt. Die Treiberschaltung 2359 wiederum liefert ein Signal MEMRKSFlT an die Schaltung des Speichers 5Γ'· immer dann, v/enn der Speicher 31 rJ in den Batteriehilf.';-bolriob überseht oder ein Signal GPRTSET empfängt.
Ks wird nun mit Fig. ZyQ fortgefahren. Kf]MRESET uiv-\ RTG."'' sind Eingangssignale eines ODER-Glieds <·7/0. l)as ODER-Glied steuert eine mit großer Lcistunr; versorp:te c ?.V/\ au, die gleich ist cior :!.'.--oiboi%-
jciia Ltun,.',· f!;.)';'/1 für da;; ,^irnal KEMRES 17I1, wobei s Io das
R^CLTi immor dann liefert, wenn MT!m1T:7;?TET auftritt, oder beim Auftreten von RTG3 wahrend e:ines AuffrischZyklus,
Schließlich wird auf Fig. Zi\ Boaug genommen, in der Taktverteilschaltungen des Unterspeichers 313 geneigt sind. Die .Signale 10CLK und 1"DjIMCLK werden durch Troibor-Voi— luiüpiungsschaltungon 2i|-10 bzw. 2i|-12 gepuffert, um in der Schaltung dos Unterspeichers 313 verteilt zu werden, wie oben beschrieben. 20CLK wird durch ein Verknüpfungsglied 2^1i+ invertiert und gepuffert, und es wird wiederum durch einen Leistungsinverter 2i|l6 gepuffert, um 20GLK-Ausgangssignale an den Untorspeicher 313 ^u liefern. Es ist eine Mehrzahl von 20CLK-Ausgangssignaleri vorgesehen wegen der umfangreichen Verwendung des Signals 20CLK im Unterspeicher 313» und dadurch v/ird die Belastung für ,jedes 20CLK-AusgangSoignal verringert.
Die Besprechung der Schaltung und Arbeitsweise des Unterspc'ichers 313 ist hiermit abgeschlossen und einige Merkmale des Unterspeichers 313 werden unten zusammengefaßt.
030020/0815
BAD ORIGINAL
F. Zusammenfassung von Merkmalen dos Unterspeichers ~fAJ>
Bestimmte Merkmale des Unterspoiehers yi.y, die neben anderen oben beschrieben sind, sind:
1.: i'is sind voneinander getrennte Busse MEMIN-Bus 520 und MEMOUT-Bus 51 ϋ vorgesehen. Jeder Bus hat daher entweder eine einzelne Treiberschaltung und eine Mehrzahl von Empfängern oder eine Mehrzahl von Treibern und einen einzelnen Empfänger, Dieses Merkmal verringert die kapazitive Belastung des MEMIN-ßus 320 und des MEMOUT-Bus 318, z.B. aufgrund der Verdrahtung der Busse, der Stecker auf der Rücksuite des Pults,und dor I/C-Eingänge und Ausgänge, und verringert auf der Vielzahl von Abschlüssen beruhende Busroflexioncn. Dies gestattet es, daß der Entwerfer eines kochners bestimmt, wo jeder einzelne Bus abgeschlossen wird, um minimales Rauschen zu erzielen, und vergrößert durch Verringerung der Belastung der Busse die Datenbandbreite, die durch die ΜΕΜΙΠ- und MEMOUT-Busse zur Verfugung gestellt werden kann.
2.: Die Speichermodule 512 bis '318 und die Speicherlogik 53Ö führen innerhalb desselben Intervalle (das normalerweise ^|00 ns betragen mag) alle Spoicheroperationen aus, das sind Lesezyklen, Schreibzyklen, und Auffrischz.yklcn. Die Z.yklusperiodo des Unterspeichers 31 5 wiederum ist ein Vie Lfaches der Zyklusperiode des Speicherbusses (die 100 ns betragen mag). Dies gestattet, gemeinsam mit der unabhängigen und überlappten Arbeitsweise der Module 512 bis 518, einen Speichorzugriff in Intervallen des Speicherbuszyklus. Zusätzlich ist die Verbindung(interface) zwischen beispielsweise der GPU 31 *l· oder dem PFP 312 und den MEMIIi- und IIEMOUT-Bussen vereinfacht. Wie unten unter
030020/0815
- 82 -
Bezugnahme auf PFP 312 weiter erläutert wird, führt ein mit dem Speicher 513 in Verbindung stehendes Gerät einen Schreibzyklus dadurch aus, daß es die Schreibadresse auf den MEMIN-Bus während eines ersten Speicherbuszyklus und die einzuschreibenden Daten auf den MEMIN-Bus beim nächsten Speicherbuszyklus bringt. Ein Lesezyklus erfordert nur, daß ein anforderndes Gerät auf den MEMIN-Bus 320 während eines Speicherbuszyklus bringt, eine ganze Anzahl (z.B. Jf) Speicherbuszyklen wartet und die Daten auf dem MRMOUT-Bus 318 in seine eigenen Eingaberegister überträgt» Das Lesezyklus-Interface ist weiter dadurch vereinfacht, daß vorgesehen ist, daß MEMSORRY einen erweiterten Buszyklus erzeugt, wenn eine Störung bei der Speicheranfrage auftritt.
3·: Die Transparenz des Unterspeichers 313 für Fehlerkorrekturcodebits von Wörtern ergibt eine erhöhte Flexibilität bei der Benutzung des Speichers 313· Die Wörter können vom Benutzer in jeder gewünschten Weise organisiert werden. Weiterhin ist durch Ausführen der Fehlerkorrektur in der CPU 31kf nicht jedoch innerhalb des Unterspeichers 313, die Komplexität der Schaltung des Unterspeichers verringert. Dies gestattet eine größere Speicherkapazität auf einer einzelnen Schaltungsplatte und verringert die Durchlaufzeitverzögerung des Unterspeichers 313·
4·: Die Gemeinkostenbelastung der CPU 31^ wird dadurch verringert, daß man das Auffrischen zu einer internen Funktion des Unterspeichers 313 macht. Weiterhin ergibt das Auffrischen des Unterspeichers 313 einen maximalen Zugriff zum Speicher 313· Der Unterspeicher 313 führt die Auffrjjschoperationen nur während jener Speicherzyklen aus, die von der CPU 31 Zf, dem PFP 312 oder anderen Geräten nicht
• eine Leseadrease ./.
030020/0815
für (ion Zugriff benötigt werdon. Dies verringert auch v/irkungsvoll die GemoirikoGtonzoit dos Unterspeichern ?1 >·
5. ι -Dadurch, daß für jeden dot· Spuichermodule [Ad bis 51Ö eine eigene oequenzsteuerschaltung vorgesehen ist, wird eine maximale Flexibilität der Operation dos Untcrspeichers 313 erzielt. J.iin weiteres Merkmai der Schaltung des Unter-Gpoiclier.'j 31 >, z.B. der Zeitgebor^eneratoron S'2if, ict die iinfachliei t, mit der Zeitceberaenuenzc-n er^eur't werden. Die Zuii-jjebv/rüequenaen v/ei'den durch ein 3chii.'bi!i'e(!;istor ei·- z.jiift, doGGon '!.'ati^-hoit durch irgendein /Irci^nia veranlaßt wird, und dan aufoinndcrfol^ende Zeit^eberauüran^üimpulse liefert.
6«: Dio übi;L'Li'aLjun·; von Daten und Adressen durch BuGGe im UntoTGpoicher 313 verringert dac insgesamt von Bucsen eingenommene Gebiet der Schaltung plat te des UnterGpeichers 313· Dies gestattet C3, daß der Unterspeicher 313 auf einer einzelnen ochaltungsplatte konstruiert werden kann, wobei ein maximales Gebiet auf ihr für die Datenspeicherung vorgesehen ist, Jiin Gesichtspunkt der Busanordnung des Unterspeichers 313 ist die Verwendung eines einzelnen gemeinsamen Busses zur parallelen übertragung von Datenwörtern oder Adressen zu einer Vielzahl von empfangenden Punkten; Steuersignale; übertragen dann die durch Busse transportierten Wörter in die ausgewählten empfangenden Punkte. Dies zeigt eich bei den Bussen MI, DI, RA, CA, MO und REFADl?. Der ADIi-Bus 530 stellt eine weitere Entwicklung dieses Gesichtspunkts dar; die Adressen für die Bänke und ^Z?, werden sequentiell übertragen, wodurch die Anforderungen an cum Adressbus der Bänke 520 und 52.2. halbiert werden» Win besonderes Merkmal des ADR- und des A-Bussos ist die Verwendung von Speicherelementen 1 /f 10,
030020/081 5
_ hl _
die in der Lage sind, Zeilen- und Spaltenadrossen sequentiell anzunehmen· Kino zweite Kntwicklung erscheint bei den Bussen IiA und CA, bei denon die Adressen kontinuierlich parallel zu den Spoicher-Flipflops 526 und 52Ö de.· Module 512 bis 51B übertreg)η werden· Kin adressierter Modul belegt eine Adresse dabei lediglich dadurch mit Beschlag, daß er die Annahme von nachfolgenden Adressen beendet. Dies verringert die zum Adressieren irgendeines speziollen Speichermoduls benötigte Zeit,
Hin zweiter Aspekt der Datenübertragung durch Busse beim Untorspcichor >13 zeigt sich beim O-Bus 551; die l'cgister 5^-2 bis 5^3 verwenden eine Ürei-Zustands-Logik, um die Daten auf dem O-Bus 551 zu multiplexen. Diese Methode wird nicht zwischen dem DOA-Bus 513 bis DOD-Bus 519 und dem KO-Bus 5^1 verwendet; Drei-Zustands-Speiehorolemonto 1üiO schalten zu langsam, um eine gegenseitige Störung bei den verwendeten Datenraten zu vermeiden. Stattdessen wird der Ausgabemultiplexor 5^0 verwendet. Wie In Kig, gezeigt ist, ist der Ausgittmultiplexcr l_j>l\0 der einzige tatsächliche echte Multiplexer im Unterspeichcr bi :3,
7·: Das Schalton des Unterspeichers 513 in den Batteriohilfsbotrieb (BBU) und aus dom Batteriehilfsbotrieb heraus erfolgt lediglich während eines Auffrischzyklus, Die Operationszustände der Speichermodule 512 bis plö und der Speichorlogik 53^ sind daher bekannt, wodurch eine mögliche zufällige Arbeitsweise des Speichers .'öl3 und ein Datenverlust vermieden v/erden,
Ein achtes Merkmal ist das Abschalten der Stromversorgung für überwiegende Teile der Speiherlogik 538 und der
030020/0815
1OZ 2944A19
.Speichermodule l;12 bi G ?]o wahrend des Batteriohiiiabetriebs. Dies verringert die Anforderungen des UnteropoichorG 'Ά'j hinsichtlich der .'3tromvorsorgung für die Bänke !32O und 'j2.2 und die schaltung für den Batteriehilfsbetrieb und die Auf f rischs luierung.
.Schließlich sollte beachtet v/erden, daß noch weitere Morktnaie des Unterspeichers 313 exiütieren und daß dei- UnterapeicxKJP ■>] ■) Leicht go um^ustaltet werden kann, daß or dem .Speicher 111 des Rechners 110 ähnlich isI, wobei getrennte Daten- und Adresa-i'Jiiic'abobUiiuo vorgesehen sind. ijs wurde hierbei ein zweiter Puffer to4 für den Dateneinr;abebu3 L?Ob vorp;oGehen werden, dor Datenaus^an^e ^um DaLen-opciciier-Flipflop 53ό boreitütellt. Der MMMIN-Bus ^20 und der Puffer 'ö'5h von l''ir;· 3 übertragen dann nur AdreG^eninforination in den Unterspeicher 313· Dies würde die ochreibzu[.;riffzoit des Unterspoichers 313 von zv/oi Zyklen des MDMIN-Busses 320, das sind 200 ns, verringern auf einen einzigen Buszyklus, in dem es ermöglicht wird, daß die flchreibadresGcn und die Daten parallel in den Unterspeicher 513 golangen. Dies macht es notif;, die Zeit des Auftretens von DATAINLATCIi zu ändern, beispielsweise dadurch, daß das Signal WIIJDOW al·: DATAINLATCH verwendet wird.
Die Beschreibung des Unterspeichera 31 :> ist hiermit beendet und als naciujteG wird der Bereitstellprozessor 312 beschrieben·
Bereitstellungsprozessor (PFP) 312 (Fign· H,
Der PFP >12 führt eine Vorausschau nach Befehlen für die CPU 31^ durch, indem er vom Speicher 311 eine Folge von
030020/081 5
Befehlen vor dem gerade in der Ausführung durch die CPU 31k befindlichen Befehl abruft und im PFP-Speicher 330 speichert.
Die Struktur und die allgemeine Arbeitsweise des PFP 312 sind oben bei der Diskussion der Architektur und Arbeitsweise des Rechners 310 beschrieben worden. Die folgende Diskussion beginnt mit einem Glossar der im PFP 312 vorhandenen Signale, gefolgt von einer Diskussion der Arbeitsweise des PFP 312 auf der Ebene eines Blockdiagramms. Die Schaltung des PFP 312wird dann dargestellt und schließlich werden gewisse Merkmale des PFP 312 zusammengefaßt.
A. PFP 312, Signal-Glossar
(1)Bussignale:
(a) MEM0UT(0-19): (MüMORY OUT) 20-Bit-Befehlswort, das auf dem MEMOUT-Bus 318 erscheint.
(b) MEMIN(0-19): (MEMORY INPUT) echte Adresse mit 20 Bit für den Speicher 311.
(c) CPUPC(O1-^): (CPU PROGRAM COUNT) die acht niedrigstwertigen logischen Adressbits im CPU PC-Register 36^; verwendet als Befehlszähler und als Leseadresseneingangssignal für den PFP-Speicher 330.
(d) PFPPCR(O-I9): (PFP PROGRAM COUNT, REQUESTED) echte Adresse mit 20 Bit im PFP PCR-Register 336.
(e) PFPPCFd2-15): (PFP PROGRAM COUNT, FETCHED) niedrigwertige logische Adressbits im PFP PCF-Register 332, verwendet als Schreibadresseneingangssignale für den PFP-Speicher 330«
(f) HIADR(0-5, 16-19): (HIGH ORDER ADDRESS) direkte oder kartierte hochwertige echte Adressbits, die auf dem HIADR-Bus 328 erscheinen«
030020/0815
-.87 -
(g) AL1JOUT(9-1>): (ALU OUTPUT) niedrigwertige
ochto Adroijsbitü, die auf dem ALUOUT-Bus und dem Bus 526c erscheinen. (2) Einzelne Steuersignale
(a) ALCCRFEXT: (ALC CUl1AII TO K1EQUFJST FETCH, UiCl1ENDUD)
Signal, das anzeigt, daß die CPU .5Tf einen ALC-Befehl ausführt, der es der PFP j,12 gestattet, eine Abrufoperation auszuführen.
(b) ALC CYCLE: (ALC CYCLE) Signal, das anzeigt, daß die CPU 3Tf dabei ist, einen Befehl der arithmetischen und Igischcn Klasse (ALC) auszuführen.
(c) CONSOLKHODK: (CONSOLE MODiI) Signal, das anzeigt, daß der Rechner 310 unter Steuerung einer externen Konsole arbeitet.
(d) CBS': (CLKAR TO REQUEST FETCH) Signal, das den PFP 312 zur Ausführung einer Abrufoperation aktiviert.
(c) CTEOO: Signal, das anzeigt, daß der PFP 312 keine Befehle für die CPU 31 /f hat.
(f) CTEQl: Signal, das anzeigt, daß der PFP 312 nur einen verbleibenden Befehl im Speicher YjQi für die CPU 31K hato
(g) CTGTl: Signal, das anzeigt, daß der PFP 312 mehr als einen Befehl im Speicher 330 für die CPU 3Tf gespeichert.
(h) DON FCC URRBLK: (DONE CURRENT BLOCK) Signal, das anzeigt, daß der PFP 312 da« Ende des Blocks der zeZt. für den PFP 312 verfügbaren Adressen des Speichors 311 erreicht hato
(i) ENBlOCLK: (ENABLE lOCLK) Allgemeines Aktivierungssignal, das zum Synchronisieren von MFJMCLIi und USJiIQCLK mit lOCLK und somit mit ifO CLK verwendet wird.
030020/0815
2944A19
(j) RMDUCYCLE: (KlID MICROCYCLE) Signal, das anzeigt, daß die Mikrobefehllogik j>l\2 dabei ist, eine laufende Mikrobe!'chlssequonz abzuschließen, und daß ein neuer Mikrobefehl beginnen wird.
(k) KOCB: (END OF CUHKENT BLOCK) Signal, das anzeigt, daß der PFP 312 die letzte verfügbare Adresse des z,Zt. für den PFP 312 verfügbaren Blocks von Adressen des Speichers 311 abgerufen hat.
(1) FETCHTfAM1ED: (FETCH STAKTED) Signal, das anzeigt, daß der PFP 312 gerade eine Bereitslelloperation ausführt.
(m) FULL(FULL) Signal, das anzeigt, daß dor PFP-Spoicher 330 voll ist und daß der PFP 312 keine weiteren Befehle abrufen sollte.
(n) GPPIMvSr1T: (GENERAL PUHPOSE PHESST) Vielzweck-Voreins tellsignal für den Rechner 310.
(o) GPHESET: (GENERAL PURPOSE RESET) Vielzweck-Rücksetzsignal für den Rechner 310.
(p) HSCREQ: (HIGH-SPEED CHANNEL REQUEST) Signal, das anzeigt, daß ein Gerät mit einem Ilochgeschwindxgkeitskanal einen Zugriff zum Speicher 311 belegt hat.
(q) INCPC: (INCREMENT PROGRAM COUNT) Taktsignal zum CPUPC-Register 36^ zürn Incrementieren von CPUPC (Befehlszählerstand).
030020/081 5
294U19
(r) INGPGENB: (INCREMENT PROGRAM COUNT ENABLE) Signal, das anzeigt, daß PC (Befehlszählerstand) inkrementiert werden muß.
(s) INSTSAGEALC: (INSTRUCTION SAGE ALC) Signal für die Mikrobefehllogik 542, das anzeigt, daß die CPU 314 dabei ist, einen ALC-Befehl auszuführen; es zeigt an, der PFP 314 eine Abrufoperation ausführen darf.
(t) LOADINST: (LOAD INSTRUCTION) Taktimpuls, der anzeigt, daß ein angefordertes Befehlswort auf dem MEMOUT-Bus 318 vorhanden ist; verwendet, um das Befehlswort vom MEMOUT-Bus 318 in den PFP-Speicher 330 zu laden; verwendet, um den PFPPCF mit vier Bit im PFPPCF-Register 332 zu inkrementieren.
(u) MEMCLK: (MEMORY CLOCK) Speicherbustakt mit 100 Nanosekunden, phasensynchronisiert mit 40CLK.
(v) MEMCLKENB: (MEMCLK ENABLE) Signal, das MEMCLK beim Auftreten von MEMSORRY oder MEMWAIT blockiert.
(w) MEMSORRY: (MEMORY SORRY) Signal, das anzeigt, daß eine Störung bei einer Anforderung des Speichers aufgetreten ist.
(x) MEMSTART: (MEMORY START) Signal für den Speicher 311, das einen Lese- oder Schreibzyklus des Speichers veranlasst.
(y) MEMSTARTCPU: (MEMORY START, CPU) Das durch die CPU 314 gelieferte Signal MEMSTART.
(z) MEMSTARTPFP: (MEMORY START, PFP) Das durch den PFP
312 gelieferte Signal MEMSTART. (aa) MEMWAIT: (MEMORY WAIT) Signal, das die Tätigkeit des Speichers 311 verzögert, nachdem ein Lese- oder Schreibzyklus veranlasst worden ist; verwendet, um die Tätigkeit des Speichers 311 und eines anderen Geräts mit einer niedrigeren Datenübertragungsrate zu koordinieren.
030020/081 5
294A419
(bb),uSEqCJLK: (MICBOSEQUENCE CLOCK) Durch die Mikrobefehllogik 342 geliefertes Taktsignal; verwendet, um die hochwertigen Bits der echten Adresse in das PFPPCB-Begister 336 zu laden.
(cc)/USE^TEST: (MICBOSEQUENCE TEST) Signal, das anzeigt, daß gerade eine Bedingung durch den Rechner 310 geprüft wird.
(dd) MAIfOCLK: (NANOCLOCK) Vom MEMCLK abgeleitetes innerhalb des PFP 312 verwendetes Taktsignal; es ist für einzelne MEMCLK-Perioden blockiert, wenn der Zugriff zum Speicher 311 durch einen Hochgeschwindigkeitskanal belegt ist.
(ee) PCDEST: (PBOGEAM COUNT DESTINATION) Signal, verwendet, um die niedrig— wertigen Bits der logischen Adresse in das CPUPC-Begister 364 zur Benutzung als Befehlszählerstand zu laden.
(ff) PCDESTENB: (PBOGBAM COUNT DESTINATION ENABLE) Signal, das anzeigt, daß ein Abruf eines neuen Blocks von Befehlsadressen im Speicher 311 veranlasst werden muß; es aktiviert das Laden von neuen logischen und echten Adressen in das PFPPCB-Begieter 336, das CPUPC-Begister 364 und das PFPPCF-Begister 332; verwendet zur Aktivierung der Ausgänge des Speichers 330, um ein gespeichertes Befehlswort auf den PFP-BuB 322 zu übertragen; verwendet, um die vier niedrigstwertigen Bits der logischen Adresse in das PFPPCF-Begister 332 zu laden.
(gg) PCSBCENB: (PBOGBAMM COUNT SOUBCE ENABLE) Aktivierungesignal an das CPUPC-Begister 364 zur Übertragung von CPUPC auf den ALUIN-Bus 324.
(hh) PFPDESTENB: (PFP DESTINATION ENABLE) Aktivierungesignal an den PFP-Speicher 330 zum Übertragen eines Befehls auf den PFP-Bus 322.
030020/0QU'
'Toi 294U19
(ii) PFPPCTC2: (PFP PROGRAM COUNT TERMINAL COUNT 2) Signal, das anzeigt, daß der PFP 312 die letzte verfügbare Adresse im Block der Adressen des Speichers 311 erreicht hat, der augenblicklich für den PFP zugänglich ist.
(jj) PFPREADY: (PFP READY) Signal an die CPU 314, das anzeigt, daß ein durch die CPU 314 angeforderter Befehl im PFP 312 verfügbar ist.
(kk) PFPREQ: (PFP REQUEST) Signal, das anzeigt, daß der PFP 3^2 gerade einen Zugriff zum Speicher 311 anfordert, um eine Bereitstelloperation auszuführen.
(11) PFPRECiFETCH: (PFP REQUEST FETCH) Signal, das anzeigt, daß der PFP 312 aktiviert ist, einen Zugriff zum Speicher 311 für eine Bereitstelloperation anzufordern.
(mm) RANDCRF: (RANDOM MICROINSTRUCTION CLEAR TO REQUEST FETCH) Signal von der Mikrobefehl-Logik 54-2, das anzeigt, daß gerade ein Mikrobefehl ausgeführt wird, der dem PFP 312 gestattet, eine Abrufoperation auszuführen.
(nn) SAGDUPDATEPC: (SAGE UPDATE PROGRAM COUNT) Signal von der Mikrobefehl-Logik 3^-2, das anzeigt, daß der Befehlszählerstand CPUPC inkrementiert werden muß.
(oo) TESTRESET: (TEST RESET) Während der Prüfsequenz des Rechners 310 verwendetes Rücksetζsignal.
(pp) UPDATEPC: (UPDATE PROGRAM COUNT) Signal von der ALU 356, das anzeigt, daß der Befehlszählerstand (CPUPC) inkrementiert werden muß.
(qq) WCBF: (WRITE CURRENT BLOCK FAULT) Signal, das anzeigt, daß ein möglicher Befehlskonflikt besteht zwischen einem modifizierten Befehl im für den PFP 312 zugänglichen Block von Adressen des Speichers 311 und einem im Speicher 330 gespeicherten Befehl.
030020/0815
(rr) WRITECURRCLK: (WHITE CURRENT CLOCK) Signal, das an zeigt, daß ein Schreibzyklus des Speichers 311 in dem Block von Adressen des Speichers $11 gerade auftritt, der zur Zeit für den PFP $12 zugänglich ist.
(ss) 1OCLK: 100 ns-Takt, phasensynchronisiert mit 10CLK.
(tt) 20CLK: 50 ns-Takt, phasensynchronisiert mit 40CLK.
(uu) 40CLK: 25 ns-Takt,
_B^ Wirkungsweise des PFP $12 (Fig. $)
In Fig. $ wird, wie oben diskutiert, eine Folge von Befehlen, die ein üenutzerprogramm bilden, im allgemeinen in aufeinanderfolgenden Adressenstellen im Speicher $11 gespeichert. Die CPU $14 verfolgt die Ausführung des Programms durch Speichern eines Teils der logischen Adresse eines gerade durch die CPU $14 in Ausführung befindlichen Befehls im CPUPC-Register $64 als CPU-Befehlszählerstand (CPUPC). CPUPC wird teilweise durch die ALU $56 und den MAP $54 verwendet, um direkte und kartierte echte Adressen für den Speicher $11 zu erzeugen.
Wenn ein Programm ausgeführt wird, wird CPUPC der ersten Befehlsadresse in das CPUPC-Register $64 geladen. Dieser anfängliche CPUPC wird dann verwendet, um eine anfängliche echte Adresse zu bilden, die, wie oben beschrieben, in das PFPPCR-Register $$6 geladen wird. Ein Teil des Anfangs-CPUPC wird auch in das PFPPCF-Register $$2 geladen. CPUPC wird nachfolgend inkrementiert, während dieser oder nachfolgende Befehlsschritte durch die CPU $14 ausgeführt werden, um aufeinanderfolgende Befehle vom PFP $$0 abzurufen. Wenn Befehle nicht in aufeinanderfolgenden Adressen des Speichers 311 angeordnet sind, z.B. wegen eines Sprungbefehls, wird ein neuer Anfangs-CPUPC in das CPUPC-Register 364 geladen. Der neue CPUPC erzeugt dann eine neue anfängliche echte Adresse für den neuen Block der sequentiellen Befehle.
./. 030020/0815
Die vom GPUPC beim Start jedes Blocks der sequenztiellen Befehle gebildeten anfänglichen echten Adressen werden in das "Bereitstell-Prozessor-Befehlszähler-Anforderung"-(PFPPCR)-Register 336 (pre-fetch processor program count requesting)als PFPPGR geladen. Zur selben Zeit werden die niedrigwertigen Bits 12 bis 15 von CPUPC in das "Bereitst eil-Prozessor-Befehlszähler-abgerufen"-(PFPPCP)-Register 332 (pre-fetch processor program count fetched) als PFPPCP geladen. Wie oben beschrieben (Befehls- und Datenwörter), sind die niedrigwertigen Bits 6 bis 15 der logischen und direkten oder kartierten echten Adressen identisch. Die niedrigwertigen Bits der Anfangsadresse, die in den Registern 364, 336 und 332 gespeichert sind, sind daher beim Start eines Befehlsblocks identisch.
Nach dem Empfang des Anfangs-PFPPGR und PFPPCF verwendet der PFP 312 Speicherbuszyklen zur Durchführung der Bereitstellung, die nicht durch die CPU 314 oder andere Geräte benötigt werden. Wie unten näher beschrieben wird, empfängt der PPP 312 Signale, die anzeigen, wann kein anderes Rechnerelement gerade einen Zugriff zum Speicher 311 verlangt. Der PFP 312 überträgt dann den Anfangs-PFPPCR auf den MEMIN-Bus 320, erzeugt MEMSTARTPFP, und erzeugt das Bereitstell-Anforderungs-Signal PRFREQ (pre-fetch request signal). PRFREQ wird mit dem Signal MEMSORRY vom Speicher 311 verglichen. Falls MEMSORRY anzeigt, daß eine Anforderungsstörung stattgefunden hat, verzögert der PFP 312 seine Anforderung auf einen nachfolgenden Speicherbuszyklus. PFP 312 wird fortfahren, diese Adresse bei jedem Speicherbuszyklus anzufordern, bis der Zugriff gewährt wird.
030020/0815
Wenn der Zugriff gewährt ist, beginnt PFP 312 die Zyklen des MEMIN-Busses 320 zu zählen, wie oben beschrieben. Zur selben Zeit werden die sieben niedrigstwertigen Bits 9 bis 15 von PPPPGB um 1 inkrementiert, um einen neuen PFPPGR zu erzeugen. Der neue PFPPCR ist die echte Adresse des nächsten abzurufenden Befehls. PFP 312 fährt fort, Befehle vom Speicher 311 anzufordern, wie eben beschrieben; das PFPPCR-Register 336 erzeugt dadurch aufeinanderfolgend PFPPCR-Leseadressen für den Speicher 311 und verfolgt die vom Speicher 311 angeforderten Befehle.
Die durch das PFPPCR-Register 336 angeforderten Befehle erscheinen auf dem MEMOUT-Bus 318 vier Speicherbuszyklen nach dem Veranlassen der Anfrage, und sie werden in den PFP-Speicher 330 übertragen. Der PFP-Speicher 330 mag 16 Adressteilen enthalten. Die Stellen der Befehle im PFP-Speicher 330 werden durch die PFPPC- Schreibadresse mit 4 Bit im PFPPCF-Register 332 ausgewählt. PFPPCF wird inkrementiert, während jeder Befehl empfangen wird. Die Befehle werden dadurch in aufeinanderfolgenden Adressen im PFP-Speicher 330 gespeichert (z.B. in den Stellen 0 bis 15; dann wieder 0, u.s.w.), und das PFPPCF-Register 332 verfolgt die abgerufenen Befehle.
Wie oben beschrieben, repräsentiert CPUPC einen durch die CPU 314 auszuführenden Befehl, und wird beim oder nahe beim Beginn der Ausführung dieses Befehls inkrementiert. Die vier niedrigstwertigen Bits 12 bis 15 von CPUPC werden als Leseadresse für den PFP-Speicher 330 verwendet, so daß der nächste auszuführende Befehl vom PFP-Speicher 330 angefordert wird, während ein laufender Befehl gerade ausge-
030020/0815
29ΑΛ4Ί 9
führt wird. Da GPUPG und PFPPGF anfänglich identisch sind, und da sie beide sequentiell inkrementiert werden, werden die Befehle aus dem PFP-Speicher 330 in der selben Reihenfolge ausgelesen, in der sie eingeschrieben sind. Die CPU 314 wird daher die Befehle in der selben Sequenz empfangen, in der sie ursprünglich im Speicher 311 gespeichert wurden.
Es können gewisse Beschränkungen der Tätigkeit des PFP 312 auferlegt sein, um Fehler beim Abrufen von Befehlen zu vermeiden und eine wirkungsvolle Arbeitsweise sicherzustellen. Zunächst mag, wie oben angedeutet, das PFPPCR-Register 336 nur die sieben niedrigstwertigen Bits 8 bis 15 der echten Adresse PFPPCR ändern. Die höherwertigen Bits 0 bis 5 und 16 bis 19 von PFPPCR können nur durch Laden eines neuen Anfangswerts PFPPCR in das PFPPCR-Register 366 geändert werden. Wie früher beschrieben wurde besteht eine genaue Zuordnung zwischen den niedrigwertigen Bits 6 bis 15 der logischen und der echten Adresse. Die höherwertigen Bits 0 bis 5 der logischen Adresse können jedoch in die Bits 0 bis 5 und 16 bis 19 der echten Adresse kartiert werden. Daher konnte es zum Auslesen von Befehlen aus einem anderen Benutzerprogramm führen, wenn es dem PFP 312 möglich wäre, die höherwertigen Bits O bis 5 und 16 bis 19 von PFPPCR zu modifizieren. Dies kann dadurch vermieden werden, daß der PFP 312 auf eine Arbeit mit den sieben niedrigwertigen Bits 9 bis 15 von PFPPCR beschränkt wird.
Zweitens entsprechen die Bits 12 bis 15 von PFPPCF den vier niedrigstwertigen Bits 12 bis 15 von CPUPG. Dies kann das Abrufen durch den PFP 312 auf höchstens 16 Befehle vor dem gerade durch die GPU 314 in Ausführung befindlichen Be-
030020/081 5
fehl begrenzen. Diese Begrenzung kann vorgesehen sein wegen der Möglichkeit, daß ein Sprungbefehl in einer Sequenz von Befehlen auftritt. Ein Sprung erfordert das Ablegen von im PFP-Speicher 330 gespeicherten bereitgestellten Befehlen und das Abrufen eines neuen Blocks von Befehlen, auf den gesprungen wurde. Die Arbeitsleistung des PPP 312 wird daher dadurch vergrößert, daß ein ausreichender Vorgriff vorgesehen wird, so daß die CPU 314 selten auf Befehle warten muß, während das Ablegen von unnötigerweise abgerufenen Befehlen minimiert wird.
Zusammengefaßt, hat der PFP 312 einen Bereitstell-Zugriff zu einem Block von 128 aufeinanderfolgenden Adreßsteilen im Speicher 311, wie er durch die sieben variablen Bits 9-15 von PFPPGR bestimmt ist. Die erste Adresse im Block wird durch die ins PFPPCR-Register 336 geladene anfängliche echte Adresse PFPPGR bestimmt. Das Bereitstellen wird innerhalb des Blocks innerhalb eines sich bewegenden Fensters ausgeführt. Das Bereitstellfenster ist maximal 16 Adressen lang. Die erste Fensteradresse wird durch GPUPG bestimmt, und die letzte abgerufene Fensteradresse wird durch PFPPGF bestimmt. PFP 312 mag das Ende des laufenden Blocks mit 128 Adressen erreichen, bevor er einen neuen Anfangswert PFPPCR empfängt. Wenn dies eintritt, erzeugt PFP 312 das Signal DONECURRBLK, das anzeigt, daß er das Ende seines zugänglichen Adressenraums erreicht hat. DONECURBLK blokkiert die Tätigkeit des PFP 312, bis neue Anfangswerte PFPPCR und PFPPCF geliefert werden. Es wird darauf hingewiesen, daß andere Längen des Abruffensters und des zugänglichen Befehlsblock beim PFP 312 verwendet werden können.
030020/0815
294U19
£a wird nun auf andere Elemente des PFP 312 Bezug genommen. Die PFP-Bereit-Logik (PFPRDI) 334- vergleicht PFPPGF und CPUPC1 um Ausgangssignale zu liefern, die anzeigen, ob der PFP-Speicher 330 nur 1 oder mehrere Befehle vor dem gerade durch die CPU 314- in Ausführung befindlichen Befehl enthält. Diese Auagangssignale wiederum erzeugen PFPREADY, das anzeigt, ob PFP 312 bereit ist, einen durch CPUPC angeforderten Befehl zu liefern. PFPRDY 334· liefert auch ein Ausgangssignal FULL, das anzeigt, daß der PFP-Speicher 330 voll ist und somit nicht in der Lage ist, weitere Befehle aufzunehmen. In diesem Falle wird die Tätigkeit des PFP 312 angehalten, bis die CPU 314-mindestens einen Befehl aus dem PFP-Speicher 330 ausgelesen hat.
Die WCB-Logik 338 (Write Current Block - Schreiben laufender Block) überwacht die beispielsweise durch die CPU 314· durchgeführten Schreiboperationen im Speicher 311. Die WCB-Logik 338 vergleicht PFPPCR mit jeder auf dem MEMIN-Bus 320 erscheinenden Schreibadresse der CPU 314. Falls die CPU 314- in eine Adresse des Speichers 311 einschreibt, die innerhalb des Befehlsblocks liegt, der zur Zeit durch PFPPCR 336 zugänglich ist, liefert die WCB-Logik 338 eine Anzeige für dieses Ereignis. Dieses Merkmal warnt vor einem möglichen Konflikt zwischen einem nachfolgend modifizierten Befehl im Speicher 311 und einem entsprechenden früher abgerufenen unmodifizierten Befehl im PFP-Speicher 330.
030020/0815
ΊΊζ
C. PFP 312. Schaltung (FIr. 25 - 27)
Die bei der vorliegenden bevorzugten Ausführungsform des PFP 312 verwendete Schaltung ist in den Fig. 25, 26 und dargestellt. Wie bei der Beschreibung des Speichers 311 wird die detaillierte Struktur und Arbeitsweise dieser Schaltung nur beschrieben, wo dies nötig ist, um die Wirkungsweise des PFP 312 darzustellen. Es sind durchwegs übliche Schaltungssymbole verwendet, und die Struktur und Arbeitsweise der Schaltung ist dem Fachmann verständlich. Lediglich jene Komponenten, die zur Erläuterung der Arbeitsweise des PFP 312 nötig sind, werden durch ein Bezugszeichen und in der folgenden Stückliste bezeichnet. Alle in der gleichen Weise wie die mit Bezugszeichen versehenen Teile gezeichnete Bauteile sollen mit diesen mit Bezugszeichen versehenen Teilen gleich und in der gleichen Weise wirkend angesehen werden.
030020/0815
In den Figuren d^ und 25 A sind das Pi1P PCft-rtegister 336 und die WGß-Logik 338 gezeigt. In Fig. 25 weist das PFP PCR-Register 336 Register 2510 und 2512, Zähler 2514 und 2516, und puffertreiber 2518 mit drei Zuständen auf. Wie oben beschrieben, erscheinen die höherwertigen Bits 0 bis 5 und 16 bis 19 der echten Adresse auf dem HIADR-Bus 328 als Signale HIADR 0 bis 5 und 16 bis 19. HIADR 0 bis 5 und 16 bis 19 sind Eingängen der Register 2510 und 2512 zugeführt. Die niedrigwertigen Bits 6 bis 15 der echten Adresse erscheinen auf dem ALUOUT-Bus 326 als Signale ALUOUT 6 bis I5. ALUOUT 9 bis I5, die den sieben variablen Bits 9 bis I5 von PFP PGR entsprechen, werden Eingängen der Zähler 2514 und 2516 zugeführt. Die niedrigwertigen Adressbits ALUOUT 6 bis 8, die den nicht-variablen Bits 6,7 und 8 von PFP PCR entsprechen, werden Eingängen des Registers 2512 zugeführt. PFP PCR erscheint an Ausgängen der Register 2510 und 2512 und der Zähler 2514 und 2516 als PFP PCR 0 bis 19. PFP PCR wird Eingängen der Puffertreiber 2518 zugeführt. Entsprechende echte Adressbits MEMIN 0 bis 19 erscheinen an Ausgängen der Puffertreiber 2518, die mit dem MEMIN-Bus 320 verbunden sind.
Eine anfängliche echte Adresse, die auf dem ALUOUT-Bus 326 und dem HIADR-Bus 328 erscheint, wird in die Register 2510 und 2512 und die Zähler 2514 und 2516 beim Auftreten von PCDESfEirB geladen. PCDESTENB aktiviert die Paralleleingang-(PE)-Eingänge der Zähler 2514 und 2516. Die anfängliche echte Adresse wird dann in die Zähler 2514 und 25I6 durch ein den Takteingängen der Zähler 2514 und 25I6 zugeführtes Signal MEMCLK übertragen. In den Registern 2510 und 2512 aktiviert PCDESTENB ein Verknüpfungsglied 2520 zur Lieferung eines Signals ^SEQCLK durch
030020/0815
294U19
einen Inverter 2522 an die Takteingänge der Register 2510 und 2512. Danach wird PFP PCH 9 bis I5 in den Zählern 2514 und 2516 durch MEMCLK jedesmal inkrementiert, wenn die Zähler 2514 und 2516 ein Zählaktiviereingangssignal FETCHSTAHTED empfängt. Wie unten bei der Beschreibung der Fig. 22 beschrieben wird, tritt FETCHSTAHTED jedesmal auf, wenn PFP 312 einen Befehl vom Speicher 311 abruft. Das den Löscheingängen der Zähler 2514 und 2516 zugeführte Signal TESTRESEf wird verwendet, um PFPPCR 9 bis 15 auf null zurückzusetzen, z.B. während einer Testsequenz des Rechners 310.
Die Zähler 2514 und 2516 liefern auch Ausgangssignale EOCB und PFPPCTC2 an die in Fig. 27 gezeigte Steuerschaltung des PFP 312. EOCB zeigt an, daß die zuletzt verfügbare Adresse des laufenden Blocks gerade angefordert wird. PFPPCTC2 wird aktiv, wenn die zuletzt verfügbare Adresse gerade angefordert wird, und blockiert weitere Bereitsteil-Anforderungen.
Die Euffertreiber 2518 werden aktiviert, um das Signal PFPPCH durch PFPREQFETCH auf den MEMIN-Bus 320 zu bringen. PFPREQFETCH wird durch PFP 312 erzeugt, wenn, wie oben beschrieben, PFP 312 einen Zugriff zum Speicher 511 angefordert und diesen erhalten hat. PFPRECiFETCH bewirkt auch, daß die Pufferspeicher 2518 das Signal MEMSTARTPFP erzeugen. MEMSTARTPFP ist mit dem Signal MEMSTARTCPU von der CPU 314 durch eine verdrahtete ODER-Schaltung verknüpft, um das Signal MEMSTART an den Speicher 311 zu liefern. In ähnlicher Weise erzeugen die Puffertreiber 2518 das Signal PFPREQ für die Steuerschaltung des PFP 312, um anzuzeigen, daß eine PFP-Anforderung veranlasst worden ist.
030020/0815
Wie unten näher beschrieben wird, wird PFPREQ mit MEMSORHY verglichen, um einen PFP 312-Abruf zu verschieben, falls eine Störung der Speicheranforderung auftritt.
In Fig. 25 A enthält die WCB-Logik 338 Komparatoren 2524 und ein Verknüpfungsglied 2526. Die Komparatoren 2524 vergleichen die echten Adressbits PFPPCR 0 bis 7 und 16 bis 19 mit den entsprechenden Adressbits MEMIN 0 bis 7 und 16 bis 19 des MEMIN-Bus 320. Die Komparatoren 2524 werden über das Verknüpfungsglied 2526 aktiviert durch das gleichzeitige Auftreten von HEHSTAHT und MEMVRITE beim Speicher 311. MEMVRITE erscheint nur, wenn irgendein anderes Element des Rechners 310 als PFP 312, z.B. die CPU 314, in den Speicher 31I schreibt. Die Komparatoren 2524 erzeugen WRITECURRBLK, falls der Vergleich von PFPPCR und MEMIN anzeigt, daß ein Schreiben in dem Block von Adressen stattgefunden hat, der augenblicklich für den PFP 312 zugänglich ist.
In Fig. 26 und 26A sind das CPU PC-Register 364, das PFP PCF-Register 332 und der PFP-Speicher 330 gezeigt. In Fig. 26 weist das CPU PC-Register 364 Zähler 2610 und 2612 und einen Puffertreiber 2614 auf. Den Dateneingängen der Zähler 2610 und 2612 werden die niedrigwertigen logischen Adressbits ALUOUT 9 bis 15 vom ALUOUT-Bus 326 zugeführt. ALUOUT 9 bis 15 entsprechen den sieben variablen Adressbits PFPPCR 9 bis 15 als Dateneingangssignale. Ein achter Datenbiteingang der Zähler 2610 und 2612 ist mit logisch O (Masse) verbunden und entspricht dem Signal ALUOUT 8 und PFPPCR 8. ALUOUT 9 bis 15 und das achte Bit mit dem Wert logisch 0 werden in die Zähler 2610 und 2612
030020/0815
294A419
durch das die parallele Eingabe aktivierende Eingangssignal PDCEST und das Takteingangssignal MEMCLK geladen.
CPUPC erscheint an den Ausgängen der Zähler 2610 und 2612 als CPUPC 8 bis 15 und wird durch MEMCLK inkrementiert, wenn das Zählaktiverungseingangssignal INCPC aktiv ist. INCPC aktiviert die Zähler 2610 und 2612, während Befehle durch die ALU 356 ausgeführt werden. Das Löscheingangssignal TESTRESÜT wird wiederum geliefert, um CPU PC 8 bis 15 auf 0 zurückzusetzen.
CPUPC 8 bis 15 werden Eingängen der invertierenden Pufferverstärker 2614 zugeführt. Die Pufferverstärker 2614 werden aktiviert, um das invertierte CPUPC auf den ALUIN-Bus 324 zu bringen.
Wie anhand der Fig. 26A beschrieben werden wird, wird CPUPC Leseadresseneingängen des PFP-Speichers 330 und Eingängen von PFPEDY 334 zugeführt.
In Fig. 26A ist der PFP-Speicher 330 gezeigt. Der PFP-Speicher 330 weist Speicher mit wahlfreiem Zugriff (RAM) 2618, 2620, 2622 und 2624 auf. Die RAMs 2618 bis 2624 mögen jeweils ein Speicher mit 16 Worten und 4 Bit Länge sein, die parallel erfasst werden, so daß der PFP-Speicher 330 einen 16-Wort-Speicher mit 16 Bit Länge bilden mag. Wie oben festgestellt, kann der PFP-Speicher 330 eine andere Kapazität haben als 16 Wörter mit 16 Bit Länge.
CPUPC 12 bis 15 vom CPU PC-Register 364 werden Leseadresseneingängen der RAMs 2618 bis 2624 zugeführt. PFPPCF 12 bis 15 vom PFPPCF-Reigster 332 werden Schreibadresseneingängen
030020/0815
der RAJIs 2618 bis 2624 zugeführt. Die Dateneingänge der RAMs 2618 bis 2624 sind mit dem MEMOUT-Bus $18 (MEMOUT 0 bis 19) verbunden. MEMOUTO bis MEM0UT3 sind mit Dateneingängen des RAM 2618 verbunden, und MEM0UT4 bis MEM0UT7 sind Dateneingängen des RAM 2620 zugeführt. MEM0UT8 bis MEM0UT11 sind Dateneingängen des RAM 2622 zugeführt, und MEM0UT12 bis MEM0UT15 sind Dateneingängen des RAM 2624 zugeführt. MEMOUT 15 bis 19 sind, wie früher besprochen, Fehlerkorrekturbits, die durch die ERCC-Logik 519 verwendet werden, und werden nicht im PFP-Speicher 330 gespeichert. Die Ausgangsdaten PFP 0 bis PFP 15 der BAMs 2618 bis 2624 werden dem PFP-Bus 322 zugeführt. Die Befehle auf dem MEMOUT-Bus 318 werden in den PFP-Speicher 330 eingeschrieben, wenn die RAMs 2618 bis 2624 gleichzeitige Schreibaktiviereingangssignale MEMCLK und LOADINST empfangen. Gespeicherte Befehle werden aus dem PFP-Speicher 330 ausgelesen, wenn die RAMs 2618 bis 2624 Ausgabeaktiviereingangssignale ΡϋΊ-Ίΐβϋ'ΓΕΝΒ empfangen. Dies würde die normale Bedingung sein.
In den Fig. 27 und 27A sind PFPRDI 334 und die Steuerschaltung des PFP 312 gezeigt. In Fig. 27 weist der PFP RDY 334 einen programmierbaren Lesespeicher (PROM) 2710, ein Flip-Flop 2712 und Verknüpfungsglieder 2714, 2715 und 2716 auf. Der PBOM 2710 wirkt als ein Komparator für die Leseadressen (CPUPC) und Schreibadreseen (PFPPCF) für den PFP-Speicher 330. Der PBOM 2710 liefert ein Ausgangssignal FULL, das anzeigt, daß der PFP-Speicher 330 voll ist; ein Signal CTGT1, das anzeigt, daß mehr als ein Befehl für die CPU 314 verfügbar ist; ein Signal CTEQ1, das anzeigt, daß der PFP-Speicher 330 nur einen Befehl vor dem augenblicklich in Ausführung durch die CPU 314 befindlichen Befehl enthält; und ein Signal CTEQO, das anzeigt, daß der PFP-Speicher 330 keine Befehle enthält.
CTE(^I und INCPC werden Eingängen des Verknüpfungsglieds 2714 zugeführt, das ein Ausgangssignal liefert, daß der PFP-Speicher 330 nur einen Befehl enthält. Das weiter unten besprochene Signal INCPC ist ein Signal, das anzeigt, ob die CPU 314 dabei ist, einen Befehl aus dem PFP-Speicher 330 zu lesen. Das Ausgangssignal des Verknüpfungsglieds 2714 ist mit einer verdrahteten ODER-Funktion mit CTGT1 und dem Auegangssignal des Verknüpfungsglieds 2713 verknüpft. CTGT1 stellt dar, daß mehr als ein Befehl im PFP-Speicher 330 verfügbar ist. Das Eingangssignal LOADINST des Verknüpfungsglieds 2713 zeigt an, daß der PFP 312 zur Zeit einen Befehl vom Speicher in den PFP-Speicher 330 überträgt. Das Ausgangssignal des Verknüpfungsblieds 2713 zeigt dadurch an, daß der PFP 312 zur Zeit keinen Befehl für die CPU 314 hat, aber daß ein Befehl am Ende des laufenden MEMCLK-Zyklus verfügbar sein wird. Das Ausgangssignal eines Verknüpfungsglieds 2713 wird dann durch das Verknüpfungsglied 2715 mit IHCPC durch eine UND-Funktion verknüpft, um das Ausgangssignal des Verknüpfungsgiieds 2713 zu liefern. Das durch eine ODEH-Funktion verknüpfte Ausgangssignal des Verknüpfungsglieds 2714 wird einem Eingang des Verknüpfungsglieds 27I6 zugeführt, dies gilt auch für WCBF (Schreiben Laufender Block Fehler, Write Current Block Fault, wird unten erläutert). Das Ausgangssignal PREREADY des Verknüpfungsglieds 27I6 zeigt an, ob PFP 312 nicht in der Lage sein wird, Befehle an die CPU 314 zu liefern; entweder weil Befehle nicht verfügbar sind oder weil ein möglicher Konflikt zwischen Befehlen besteht, die in den Speichern und 311 gespeichert sind. FREHEADT wird dem Dateneingang des Flip-Flops 2712 zugeführt. Das Takteingangssignal NANOCLK des Flip-Flops 2712, das unten beschrieben wird,
030020/0815
-ms-
294U19
tastet PHEREÄDY ab, um das Ausgangssignal PFPBEADY zu erzeugen. PFPREADY zeigt an, ob PFP 312 bereit ist, Befehle an die CPU 314 zu liefern.
Die Steuerschaltung PFP 312 wird nun beschrieben. In Fig. 27A wird zunächst die Schaltung beschrieben, die die obengenannten Signale INGPC, WCBF und NANOCLK erzeugt.
INCPC wird durch Verkniipfungsglieder 2718 bis 2724 und zugeordnete Inverter 2726 erzeugt. Wie oben festgestellt, tritt INCPC auf, wenn ein Befehl aus dem PFP-Speicher gelesen werden soll. Insbesondere zeigt INCPC an, daß CPUPC durch das zum CPUPC-Hegister 364 geleitete Signal MEMCLK inkrementiert werden soll, beispielsweise bei einem Skipbefehl (Überspringen).
Eingangssignale INCPCENB, UPUATEPC und SAGEUPDATEPC des Verknüpfungsgiiede 2718 zeigen an, daß CPUPC inkrementiert werden muß. Dies sind Eingangssignale von einer fest verdrahteten Logik, die Mikrobefehlbedingungen detektiert, die es erfordern, daß CPUPC inkrementiert wird. Das Ausgangssignal des Verknüpfungsglieds 2718 und END/uCYCLE werden Eingängen des Verknüpfungsglieds 2720 zugeführt. END/iCYCLE zeigt an, daß ein laufender Mikrobefehl gerade endet und daß ein neuer Mikrobefehl beginnen muß.
Ein Eingangssignal ALCCYCLE des Verknüpfungsglieds 2722 zeigt an, daß CPUPC wegen eines ALC-Skipbefehls zwingend inkrementiert werden muß. Das Eingangssignal yuSEQTEST des Verknüpfungsglieds 2722 von der Mikrobefehl-Logik 3^2 repräsentiert eine Mikrobefehl-Prüfbedingung, die anzeigt, ob ein ALC-Skipbefehl wahr ist. Das Eingangssignal NANOCLK des Verknüpfungsglieds 2722 ist ein Sperrsignal für PFP 312, das unten beschrieben wird.
030020/081 5
Schließlich sind die Ausgänge der Verknüpfungsglieder
2720 und 2722 durch das Verknüpfungsglied 2724 mit einer ODER-Funktion verknüpft, das das Ausgangssignal INCFC liefert. Inverter 2725 und 2726 invertieren die Ausgangs signale der Verknüpfungsgiieder 2724 und 2718, um Signale mit der gewünschten Polarität an die Verknüpfungsglieder 272O und 2714 zu liefern.
WCBF wird durch ein Flip-Flop 2728 erzeugt. Das «!-Eingangs signal WRITE CURHBLK des Flip-Flops 2728, das oben beschrieben wurde, zeigt an, daß ein Schreibzyklus in dem Befehlsblock im Speicher 311 aufgetreten ist, der gerade durch den PFP 312 zugänglich ist. Das ebenfalls früher besprochene Signal PCDESTENB zeigt an, daß eine neue echte Adresse in das PFP PCR-Register 336 geladen werden muß, um einen neuen Block von Befehlen dem PFP 312 zuzuordnen. Das Takteingangssignal MEMCLK des Flip-Flops 2728 tastet WRITECUREBLK und PCDESTENB ab. Dadurch zeigt WCB? nach einem Signal WRITECURRBLK an, daß eine mögliche Befehlsstörung vorhanden ist, und nach einem Signal PCDSTENB, daß die Störung durch einen Neubeginn der Abrufoperation des PFP 312 gelöst worden ist. Die Setz- und Löscheingangssig nale GPPRESET" und TESTRESET des Flip-Flops 2728 können das Flip-Flop 2728 löschen oder setzen, wodurch WCBF erzeugt wird.
030020/0815
29ΑΛ419
- -us? -
Die NAIiOCLK und MEMCLK erzeugende Schaltung wird als Teil der CPU 314- betrachtet, wird aber hier beschrieben, um das Verständnis des PFP 312 zu unterstützen. NANOCLK wird durch ein Flip-Flop 2730 und ein Verknüpfungsglied 2732 aus MiHCLK erzeugt. Das Ausgangssignal NANOCLK des Flip-Flop 273O wird dem Dateneingang des Flip-Flop 2730 durch das Verknüpfungsglied 2732 zugeführt, das NANOCLK invertiert. Dadurch wird das invertierte NANOCLK durch MEMCLK abgetastet, so daß NANOCLK mit der halben Frequenz von MEMCLK auftritt. Das Eingangssignal HSCREQ des Verknüpfungsglieds 2732 blockiert den Dateneingang des Flip-Flops 2730, und somit NANOCLK und die Arbeit von PFP 312, wenn ein Gerät mit einem Hochgeschwindigkeitskanal den Zugriff zum Speicher 311 belegt hat. Ein Gerät mit einem Hochgeschwindigkeitskanal, das in Fig. 3 aus Gründen der Klarheit der Darstellung nicht gezeigt ist, ist direkt mit dem MEMIN-Bus 320 und dem MEMOUT-Bus 318 in Verbindung, um schnell Daten direkt in den Speicher 311 und aus ihm heraus zu übertragen. Dem Setz- und Löscheingang des Flip-Flops 2730 werden werden die Signale G-FPRESET und GPRESET zugeführt, wodurch es ermöglicht wird, daß diese Eingangssignale die Signale NANOCLK und den PFP 312 aktivieren oder blockieren.
Als nächstes wird die das Signal MEMCLK erzeugende Schaltung diskutiert, gefolgt von der Schaltung, die die Abrufoperation des PFP 312 veranlaßt. Am Ende wird die die Verbindung des PFP 312 mit dem MEMLN-Bus 320 und dem MEMOUT-Bus 380 enthaltende Schaltung beschrieben, wiederum unter Bezugnahme auf Fig. 27·
030020/081 5
In Fig. 27A wird MEMCLK durch ein Flip-Flop 2734, einen Inverter 2736, und Verknüpfungsglieder 2738 - 2742 erzeugt. 20GLK wird dem K-Eingang des Flip-Flops 2734 zugeführt, und 40CLK wird dem Takteingang des Flip-Flops 2734 zugeführt. Das Signal 40CLK tastet das Signal 20CLK ab, so daß die Ausgänge Q und $ des Flip-Flops 2734 die Signale MIMGLK und KEMCLK liefern. Das Verknüpfungsglied 2742 ist ein Pufferverstärker, der benutzt wird, um die Belastung des Ausgangssignals MEMCLK des Flip-Flops 2734 zu verringern.
Das dem J-£ingang des Flip-Flops 2734 vom Verknüpfungsglied 2740 zugeführte Signal MEMCLKENB ist ein Aktivierung seingangssignal, das MEMCLK und somit den PFP 312 blockiert. Eingangssignale des Verknüpfungsglieds 2740 sind MEMWAIT, ENB10CLK, und SORBY vom Ausgang des Verknüpf ungsgli ed s 2738. METlWAIT ist früher unter Bezugnahme auf den PFP-Speicher 310 beschrieben worden. ENBIOBLt wird verwendet, um MEMCLK mit 40CLK zu synchronisieren. Das Eingangssignal PRFREQ des Inverters 2736 wird, wie früher erläutert, erzeugt, wenn es dem PFP 312 gestattet ist, eine Leseanfrage an den Speicher 311 zu erzeugen. Wie mit Bezugnahme auf den Speicher 311 beschrieben, wird dann, falls eine Anfrage des PFP 312 zu einer Speicheranfragenstörung führt, der Speicher 311 durch Lieferung von MEMbORRT antworten. Die Eingangssignale PFPREQ und MEMSORRY des Verknüpfungsglieds 2738 erzeugen das Ausgangssignal SORRY, das anzeigt, daß eine Leseanfrage des PFP 312 zu einer Speicherstörungsbedingung geführt hat. SORRY blockiert dann die Erzeugung
030020/0815
124
29A4419
von MEMCLK, um die Tätigkeit des PFP zu blockieren, bis MiMSORBI anzeigt, daß die Anfragestörung bereinigt ist. Wie oben diskutiert, wird dann der PFP 312 fortfahren, die früher störende Speicheranfrage zu wiederholen. Dem Setz- und Löscheingang des Flip-Flops 2734- sind die Signal GPPRESET und GPRESET zugeführt. Diese Eingangssignale gestatten es, daß MEMCLK ausgesetzt wird, und sie werden verwendet, um die Startbedingung von MEMCLK zu setzen.
In den Fig. 27 und 27k werden die Bereitstellzyklsen des PFP 312 durch das Ausgangssignal PPFREQFETCH eines Flip-Flops 2744 veranlaßt, das anzeigt, daß ein Abruf veranlaßt worden ist.
Wie oben diskutiert, wird der PFP 312 zur Durchführung von Bereitstelloperationen aktiviert, wenn ein Gerät mit höherer Priorität, z.B. die CPU 314, keinen Zugriff zum Speicher 311 verlangt. Dem Dateneingang des Flip-Flops 2744 wird ein Aktivierungssignal vom Ausgang eines Verknüpfungsglieds 2746 zugeführt, so daß das Ausgangssignal des Verknüpfungsglieds 2746 durch das Takteingangesignal MEMCLK abgetastet wird. Das Verknüpfungsglied 2746 hat vier Sperrsignaleingänge. I)UNEUUKKuIA wird durch einen Inverter 2748 von einem Verknüpfungsglied 2750 und 2752 geliefert. Dem Verknüpfungsglied 2752 werden Eingangssignale PFPCT2 und PFPREQFETCH zugeführt. PPPCTC2 vom PFPPCR-Register 336 zeigt an, daß PFPPCR nicht weiter als eine Adresse vom Blockende der zur Zeit für den PFP 312 verfügbaren Befehle entfernt ist. PFPREQFETCH vom Ausgang des Flip-Flops 2744 zeigt an, daß ein Abruf
030020/081 5
29U419
veranlaßt worden ist. Das Ausgangssignal LOCB des Verknüpfungsglieds 2752 blockiert dadurch die Veranlassung einer nachfolgenden PFP 312-Anforderung, während der zuletzt zugängliche Befehl gerade abgerufen wird. LOCB und EOCB sind Eingangssignale der Verknüpfungsglieder 2750. IC7Sb" vom PFPPCR-Regist er 336 zeigt an, daß der PFP 312 den letzten verfügbaren Befehl abgerufen hat. Das Ausgangssignal DONECURRBLK des Verknüpfungsglieds 2750 und des Inverters 2748 hindert dadurch den PFP 312 daran, Befehle außerhalb des gerade verfügbaren Befehlsblocks abzurufen.
Das Eingangssignal FULL des Verknüpfungsglieds 2746 vom PROM 2710 im PFPRDY 334 zeigt an, daß der PFP-Speicher 330 voll ist. FULL blockiert die Erzeugung von Abrufanforderungen durch den PFP 312, bis die CPU 314 weitere Befehle vom PFP-Speicher 330 anfordert und mindestens eine Adressenstelle des PFP-Speichers 330 für die Annahme weiterer Befehle freimacht.
Das dem Verknüpfungsglied 2746 vom Verknüpfungsglied 2758 zugeführte Eingangssignal ist auch ein Sperrsignal. Das Eingangssignal HSCREQ des Verknüpfungsglieds 2758, das oben diskutiert wurde, zeigt an, daß ein Gerät mit einem Hochgeschwindigkeitskanal einen Prioritätszugriff zum Speicher 311 beansprucht. Der PFP 312 wird daran gehindert, einen Zugriff zum Speicher 311 anzufordern, bis HSCREQ beendet ist. CONSOLEMODE zeigt an, wie unten mit Bezug auf das Soft-Konsole-ROM 358 diskutiert wird, daß der Rechner 310 im Konsolen-Betriebszustand arbeitet. Im Eonsolen-Betriebszustand wird die gesamte normale Operation des Rechners 310 ausgesetzt, einschließlich dem Bereitstellen; der Rechner 310 wird dann durch einen externen
030020/0815
Fernschreiber gesteuert, der durch die Soft-rXonsole 358 arbeitet.
Das Eingangssignal CRF des Verknüpfungsglieds 2746 vom Verknüpfungsglied 2754 ist ein Aktivierungssignal, das anzeigt, daß es dem PFP 312 gestattet ist, Bereitstelloperationen auszuführen. Das Eingangssignal RANDGKF des Verknüpfungsglieds 2754 von der Mikrobefehl-Logik 342 zeigt an, daß es dem PFP 312 gestattet ist, während eines Mikrobefehls, der RANDCRF bestätigt, abzurufen. AJjCCHJfJUCT ist ein fest verdrahtetes Signal, das anzeigt, daß es dem PFP 312 gestattet ist, während der Ausführung eines Befehle der arithmetischen und logischen Klasse (ALC) abzurufen. Das Eingangssignal ALCCJiF eines Verknüpfungsglieds 2754 von einem Verknüpfungsglied 2756 ist ähnlich ALCCRFEXT und zeigt an, daß es dem PFP 312 gestattet ist, während eines ALC-Befehls abzurufen. Das Eingangssignal INSTSAGEALC des Verknüpfungsglieds 2756 zeigt an, daß ein ALC-Befehl gerade auftritt, während dem es dem PFP 312 erlaubt sein kann, abzurufen. Das Eingangssignal /USEOTEST des Verknüpfungsglieds 2756 von der Mikrobefehl-Logik 342 ist eine Prüfbedienung, die anzeigt, ob der PFP 312 während dieses ALC-Befehls abrufen darf. Das CRF-Ausgangssignal des Verknüpfungsglieds 2754 zeigt dabei an, daß der . PFP 312 eine Bereitstellung während eines Mikrobefehls oder eines ALC-Befehls ausführen darf.
Dabei erzeugt das Flip-Flop 2744 PFPREQFETCH, wenn es durch CRF aktiviert ist und nicht durch DENECURRBLK, FULL, CONSOLEMODE, oder HSCREQ blockiert ist. Wie oben
030020/081 5
festgestellt, aktiviert dann PFPRKQFETCH den PFP 312 zur Ausführung einer Bereitstelloperation.
Schließlich ist in Fig. 27 die Schaltung gezeigt, die die Verbindung des PFP 312 mit dem MEMIN-Bus 320 und dem ilEMOUT-Bus 318 aufweist. Die Verbindungsschaltung oder Interfaceschaltung des PFP 312 weist ein Schieberegister 2760, ein Verknüpfungsglied 2762 und einen Inverter 2764-auf. Das Eingangssignal PFPREQFETCH des Verknüpfungsglieds 2762 zeigt, wie diskutiert, an, daß der PFP 312 zum Ausführen eines Bereitstellzyklus aktiviert ist. PFPREQFETCH überträgt die echte Adresse PFPPCR auf den MEMIN-Bus 320 und erzeugt MEMSTARTPFP und PFPREQ . PFPREQ wird mit MEMSORRI verglichen, um zu bestimmen, ob eine Anforderungsstörung aufgetreten ist. MEMSORRY wird auch einem anderen Eingang des Verknüpfungsglieds 2762 zugeführt, um das Ausgangssignal FETCHSTARTED des Verknüpfungsglieds 2762 zu blockieren, falls eine Speicheranforderungsstörung auftritt. Wenn keine Störung auftritt, erzeugt das Verknüpfungsglied 2762 FETCHSTARTED, das anzeigt, daß ein Abruf angefordert wurde und vom Speicher 311 angenommen wurde. FETCHSTARTED liefert eine logische 1 an den Dateneingang des Schieberegisters 2760. Die logische 1 wird dann durch MEMCLK durch das Register 2760 geschoben. FETCHSTARTED wird dadurch im Ausgangssignal LOADINST des Schieberegisters 7260 vier MEMCLK-Perioden (das sind 400 Nanosekunden) , nachdem der Abruf veranlaßt worden ist, erscheinen. Wie oben diskutiert., ist dann der angeforderte Befehl auf dem MEMOUT-Bus $18 verfügbar, und LOADTUST übertragt den Befehl in den PFP-Speicher 330.
030020/0815
I3o
Nach der Beschreibung der Struktur und Arbeitsweise des PFP 312 werden unten gewisse Merkmale des PFP 312 zusammengefaßt.
D. Zusammenfassung: der Merkmale des PFP 312
Gewisse Merkmale des PFP 312, die neben anderen oben beschrieben wurden, sind:
Erstens: Der PFP 312 verbessert die Arbeitsleistung des Rechners 310 dadurch, daß er Befehle vor dem gerade in der Ausführung durch die CPU 314· befindlichen Befehl aus dem Speicher 311 abruft und im PFP-Speicher 330 speichert. Die CPU 314 muß daher nur selten ihre Tätigkeit einstellen, um einen Lesezyklus im Speicher 311 mit 400 Nanosekunden auszuführen, um Befehle zu erhalten. Stattdessen ist der nächste von der CPU 314 angeforderte Befehl auf dem PFP-Bus 322 vorhanden, wenn die CPU 314 die Ausführung des laufenden Befehls abschließt. Weiterhin kann die CPU 314 im PFP-Speicher 330 gespeicherte Befehle während Intervallen ausführen, wenn Geräte mit hoher Priorität (z.B. ein Hochgeschwindigkeitskanal) einen bevorzugten Zugriff zum Speicher 311 erhalten. Die CPU 314 kann daher mit der Arbeit fortfahren, während ihr der Zugriff zum Speicher verwehrt ist.
Zweitens: Durch Minimierung der Speicheranforderungen der CPU ^14 steigert der PiT 312 die Verfügbarkeit des Speichers 311 für andere Gerate.
030020/0815
29U419
Drittens: Der PFP 312 führt das Bereitstellen während Speicherbus-Zyklen durch, die nicht durch Geräte mit höherer Priorität angefordert werden, wie beispielsweise die CPU 314 oder ein Hochgeschwindigkeitskanal. Dies wiederum vergrößert die Verfügbarkeit des Speichers 311 für diese Geräte.
Viertens: Der Zugriff des PFP 312 zum Speicher 311 kann auf einen einzelnen Block von 128 Befehlen bei einem einmaligen Zugriff beschränkt werden. Dies verhindert, daß der PFP 312 irrtümlich Befehle von einem anderen Benutzerprogramm abruft.
Fünftens: Die Vorgriffskapazität des PFP 312 mag auf 16 Befehle beschränkt werden. Dies steigert die Wirksamkeit des PFP 312, indem sie einen angemessenen Vorgriff gestattet, während das Ablegen von abgerufenen Befehlen dann, wenn die CPU 314 eine neue Folge von Befehlen beginnt, minimiert wird.
Sechstena: Der PFP 312 überwacht die Schreiboperationen des Speichers 311· Dies verhindert einen Konflikt zwischen modifizierten Befehlen im Speicher 311 und früher abgerufenen unmodifizierten Befehlen im PFP-Speicher 330.
030020/0815
Die Beschreibung des PFP 312 ist hiermit abgeschlossen und als nächstes wird die Mikrobefehl-Logik 342 beschrieben.
5. Mikrobefehl-Logik 342 (FiR. 28 - 30):
In Fig. 3 wird die Mikrobefehl-Logik 342 vom PFP-Bus 322 versorgt und liefert ein Ausgangssignal an das Mikrobefehl-Hegist er 344. Das Mikrobefehl-Register 344 wiederum liefert ein Ausgangssignal an den ALUIN-Bus 324. Wie oben beschrieben, werden häufig verwendete Sequenzen von Befehlen, die als Mikrobefehle bezeichnet werden, in der Mikrobefehl-Logik 342 gespeichert. Wenn eine Sequenz von Mikrobefehlen ausgeführt werden soll, enthält ein auf dem PFP-Bus 322 erscheinender Befehl, der als ein Macrobefehl bezeichnet wird, in einem Teil eine Anweisung an die Mikrobefehl-Logik 342. Die Mikrobefehl-Logik 342 antwortet auf einen Macrobefehl durch Lieferung einer entsprechenden Sequenz von Mikrobefehlen an die CPU 314.
Die Struktur der Mikrobefehl-Logik 342 wird zunächst auf der Ebene eines Blockdiagramms beschrieben, gefolgt von einer Diskussion der Arbeitsweise der Mikrobefehl-Logik 342. Diese Darlegungen werden die Unterschiede zwischen der Mikrobefhel-Logik 342 des Rechners 310 und der Mikrobefehl-Logik 142 des bekannten Rechners 110, auf den früher Bezug genommen wurde, veranschaulichen.
030020/0815
A. Mikrobefehl-Logik 342, Aufbau und Wirkungsweise
(. 28)
In l''ig. 28 ist ein Blockdiagramm der Mikrobefehl-Logik 342 gezeigt. Es werden zunächst jene Elemente betrachtet, die bei der bekannten Mikrobefehl-Logik 142 vorhanden sein könnten. Ein Eingang eines Decodier — ROM 2810 ist mit dem PFP-Bus 322 verbunden und sein Ausgang ist mit einem Eingang eines Decodier-Registers 2812 verbunden. Der Ausgang des Decodier-Registers 2812 ist mit dem Mikrobefehladressen (uIADR)-Bus 2814 verbunden, der mit Eingängen eines Mikrobefehl-Speichers 2816 und einer Mikrobefehlsequenz-Steuereinrichtung 2818 verbunden ist. Der Ausgang des Mikrobefehl-Speichers 2816 ist mit einem Eingang des Mikrobefehl-Registers (/jIR) verbunden. Ein Ausgang des Mikrobefehl-Registers 344 ist mit einem Eingang einer Zustandsänderungslogik 2822 verbunden, und der Ausgang der Zustandsänderungslogik 2822 ist mit einem anderen Eingang der Sequenz-Steuereinrichtung 2818 verbunden. Der Ausgang der Sequenz-Steuereinrichtung 2818 ist mit dem /alRADR-Bus 2814 verbunden. In-dem wir uns zu den Unterschieden der bekannten Mikrobefehl-Logik 142 und der vorliegenden Mikrobefehl-Logik 342 wenden, ist der PFP-Bus 322 mit dem Eingang einer Startadressengenerator-Logik (SAGE) 2824 verbunden, und der Ausgang der SAGE 2824 ist mit dem jjIADR-Bus 2814 verbunden.
030020/081 5
29Α4Α19
Die Arbeitsweise der Mikrobefehl-Logik 342 wird zunächst ohne die SAGE 2824· beschrieben, um die Arbeitsweise beim Stand der Technik zu erläutern. Als nächstes wird die Arbeitsweise dann unter Einschluß der SAGE 2824- beschrieben werden, um die Arbeitsweise der vorliegenden Erfindung zu erläutern.
Bei der Arbeit ohne die SAGE 2824- wird ein auf dem PFP-Bus 322 während eines ersten Zyklus des Prozessors erscheinender Macrobefehl durch den Decodier-ROM 2810 decodiert. Der ROM 2810 erzeugt eine Mikrobefehl-Speicheradresse des ersten Mikrobefehls der entsprechenden Sequenz. Zuerst wird die Adresse in das Decodierregister 2812 während des zweiten Prozessor-Zyklus übertragen und wird dem Mikrobefehl-Speicher 2816 durch den jjIADR-Bus 2814- zugeführt. Der Mikrobefehl-Speicher 2816 liefert einen entsprechenden ersten Mikrobefehl an das Mikrobefehl-Register 344. Der erste Mikrobefehl erscheint am Ausgang des Mikrobefehlregisters 344 beim Start des dritten Prozessor-Zyklus. Ausgewählte Bits des ersten und nachfolgenden Mikrobefehls der Sequenz werden vom Mikrobefehl-Register 344 an die Zustandsänderungs-Logik 2822 geliefert. Die Zustandsänderungs-Logik 2822 liefert Steuersignale an die Sequenz-Steuereinrichtung 2818. Die Sequenz-Steuereinrichtung 2818 erzeugt unter Verwendung der vom Decodier-Register 2812 gelieferten Adressen und ihres eigenen Ausgangssignals Adressen für die nachfolgenden Mikrobefehle der Sequenz. Die durch die Sequenz-Steuereinrichtung 2818 erzeugten Adressen werden dem Mikrobefehl-Speicher 2816 und zu ihrem eigenen Eingang über den jiIADR-Bus 2814· geliefert. Neue Anfangsadressen
030020/08 15
werden, wenn sie während einer Sequenz benötigt werden, oder um eine neue Sequenz zu veranlassen, durch neue vom PFP 312 über den PFP-Bus 322 gelieferte Macrobefehle erzeugt.
Bei der Arbeit mit der SAGE 2824 verringert die SAGE 2824 die zum Veranlassen der Mikrobefehl-Sequenzen benötigte Zeit. Wie oben beschrieben, war beim Stand der Technik ein erster Prozessor-Zyklus erforderlich, un einen Macrobefehl zur Erzeugung einer Anfangsadresse für eine Sequenz zu decodieren. Die Anfangsadresse wurde zum Mikrobefehl-Speicher 2816 während des zweiten Prozessor-Zyklus geliefert. Der erste Mikrobefehl war dann für die Benutzung durch die CPU 314 beim dritten Prozessor-Zyklus verfügbar. Die SAGE 2824 führt eine teilweise Decodierung von bestimmten Macrobefehlen aus, um eine Anfangsadresse an den Mikroprogramm-Speicher 2816 während des ersten Prozessor-Zyklus zu liefern. Der erste Mikrobefehl einer Sequenz wird dadurch für die CPU 314 beim zweiten Prozessor-Zyklus verfügbar. Der Decodier-ßOM 2810 führt gleichzeitig eine volle Decodierung des Macrobefehls aus, um eine Adresse an den Mikroprogramm-Speicher 2816 in einem nachfolgenden Prozessor-Zyklus zu liefern. Die durch den Decodier-ROM 2810 gelieferten Adressen werden z.B. zum Auswählen einer bestimmten Sequenz aus einer Familie von Sequenzen (Zweigen) mit einer gemeinsamen ersten Mikrobefehl-Sequenz verwendet. In solchen Fällen ruft die SAGE 2824 den ersten Mikrobefehl aus einer Sequenz ab, und der Decodier-ROM 2810 ruft den ersten Mikrobefehl einer speziellen nachfolgenden Zweigsequenz ab. Während der Ausführung einer speziellen
030020/081 5
Sequenz kann die Auswahl einer neuen Sequenz durch einen neuen Makrobefehl vom PFP 512 durchgeführt werden. Es kann wiederum ein Makrobefehl für eine Zweigauswahl entweder durch die οAGE 2824 oder durch den Decodier-ROM 2810 decodiert werden; die Decodierung durch die SAGE 2824 kann daher verwendet werden, um die zum Starten eines ausgewähl-. ten Zweiges benötigte Zeit zu verringern.
Nach der Diskussion der Struktur und Arbeitsweise der Mikrobefehl-Logik 322 auf der Ebene eines Blockdiagramms wird nun die SAGE 2824 weiter besprochen.
B. SAGE 2824 (Fig. 29 und 30)
Die Decodierung durch die SAGE 2824 wird vorzugsweise verwendet, um häufig verwendete Mikrobefehlsequenzen zu starten. Beispiele solcher Sequenzen sind ALC-Befehle und Rechnungen mit langen und kurzen effektiven Adressen (EFA). Ein weiteres Beispiel sind E/A-Befehle, um schnell Daten in den Rechner 310 oder aus diesem heraus zu übertragen. Noch ein weiteres Beispiel wird bezeichnet als Sequenzen eines erweiterten Befehlsvorrats (EIS-Sequenzen). Beispiele von EIS-Mikrobefehl-Sequenzen sind einige arithmetische Fest- und Gleitkomma-Operationen, logische Operationen, Bit-Manipulationen, Datenbewegungen, Stapelspeicher-Manipulationen, Datenfolge-Manipulationen und Manipulationen mit Dezimalzahlen.
030020/0815
In Pig. 29 ist eine Tabelle gezeigt, die ausgewählte signifikante Bits der obengenannten Makrobefehle in Beziehung setzt zu Mikrobefehl-Speicheradressen der Anfangs-Mikrobefehle der entsprechenden Mikrobefehlsfolgen. Um die Schaltung der SAGE 2824 zu vereinfachen, ist es vorzuziehen, daß ausgewählte signifikante Bits dieser Makrobefehle logisch miteinander in Verbindung stehen. Wie in Zeile 1 der Fig. 29 gezeigt ist, hat bei ALG-Befehlen das Bit 0 den Wert 1. Die Bits 1 und 2 bezeichnen einen Quellenakkumulator (source accumulator ACS) und die Bits 3 und 4 bezeichnen einen Zielakkumulator (destination accumulator, ACD). Die Bits 5 bis 7 (FUN) enthalten den Operationscode, z.B. Addieren und Subtrahieren. Die Bits 8 und 9 (SH) definieren eine Verschiebeoperation, z.B. nach rechts oder links Schieben oder das Vertauschen der Hälften eines Ergebnisses. Die Bits 10 und 11 (C) bezeichnen den Anfangswert eines Ubertragsbit-Eingangssignals in eine Operation. Das Bit 12 (L) definiert, ob das Ergebnis der Operation in den ACD geladen werden wird, und ob das Übertragsbit auf den neuesten Stand gebracht wird. Die Bits 13 bis 15 definieren einen Skiptest, d.h., ob ein Skip ausgeführt werden soll. EIS-Sequenzen, die in Zeile 2 der Fig. gezeigt sind, werden dadurch definiert, daß die Bits 0 und 12 den Wert logisch 1 haben und daß die Bits 13 bis 15 den Wert logisch 0 haben. Tatsächlich sind die EIS-Sequenzen ALC-Sequenzen, bei denen kein Laden oder Skip auftritt (eine Leerbefehl-Bedienung). Die EIS-Befehle können daher als Leerbefehl-ALC-Befehle betrachtet werden, die zum Ausführen von Nicht-ALC-Mikrobefehlssequenzen verwendet werden. Die significanten Bits von Macrobefehlen mit langer
030020/081 5
effektiver Adresse (LONG KFA) sind in Zeile 3 gezeigt. Derartige Befehle sind ähnlich den Befehlen mit kurzer effektiver Adresse, die früher beschrieben wurden, aber sie erfordern zwei aufeinanderfolgende Macrobefehle zum Bestimmen der relativen Adresse. Macrobefehle mit langer effektiver Adresse sind, gleich den EIS-Macrobefehlen, definiert durch eine logische 1 in den Bits 1 und 12 und durch eine logische 0 in den Bits 13 bis 15· Macrobefehle mit langer effektiver Adresse sind von EIS-Macrobefehlen unterschieden durch die Bits 5, 8, 9, 10 und 11. Die Bits 5, 10 und 11 sind logisch 1 und Bit 9 ist logisch 0. Die Bits 6 und 7 werden durch SAGE 2824 verwendet, um eine weitere teilweise Decodierung eines Macrobefehls mit langer effektiver Adresse durchzuführen. Dies gestattet es, daß die SAGE 2824 den ersten Mikrobefehl der Sequenz eines speziellen Macrobefehls mit langer effektiver Adresse aus einer Gruppe solcher Sequenzen auswählt, ohne darauf zu warten, daß der Decodier-ROM 2810 eine zusätzliche Auswahldecodierung durchführt. Macrobefehle mit kurzer effektiver Adresse (Short Ei1A) sind in Zeile 4 von Fig. 29 gezeigt. Diese Macrobefehle sind dadurch unterschieden, daß das Bit 0 logisch 0 und die Bits 1 und 2 00, 01 oder 10 sind. Die Bits 1 und 2 haben jedoch niemals beide den Wert logisch 1. Vier mögliche Kombinationen der Bits 6 und 7 werden verwendet, ähnlich den Bits 6 und 7 bei den langen effektiven Adressen, um es zu ermöglichen, daß die SAGE 2824 eine weitere teilweise Decodierung ausführt. E/A-Macrobefehle sind in Zeile 5 gezeigt und werden ebenfalls dadurch unterschieden, daß das Bit 0 den Wert logisch 0 hat. In diesem Fall sind die Bits 1 und 2 beide logisch 1, wodurch sich die E/A-Macrobefehle von den Macrobefehlen mit kurzer effektiver Adresse unterscheiden.
030020/0815
29U419
In der rechten Spalte der Fig. 29 sind Speicheradressen des Mikroprogrammspeichers 2816 gezeigt, die die ersten Mikrobefehle derjenigen Sequenzen enthalten, die den Macrobefehlen ALG, EIS, EFA und E/A entsprechen. Die in Fig. 29 gezeigten Mikroprogramm-Speicheradressen sind als Zahlen zur Basis 8 (Oktalzahlen) ausgedrückt. Wie dargestellt, stehen die einer Gruppe von Macrobefehlen entsprechenden Mikroprogrammspeicheradressen wieder miteinander logisch in Beziehung. Zum Beispiel werden die Mikroprogrammspeicheradressen der ersten Mikrobefehle von Sequenzen für kurze effektive Adressen in den Stellen 3701, 3721, 3741 und 3761 des Mikroprogramm-Speichers 2816 gespeichert. Die Auswahl der Mikroprogrammspeicher-Adressen in der Weise, daß alle ersten Mikrobefehladressen, die einer gegebenen Gruppe von Macrobefehlen entsprechen, miteinander in logischer Beziehung stehen, vereinfacht die Schaltung der SAGE 2824.
In Fig. 30 ist die bei einem speziellen Ausführungsbeispiel der SAGE 2824 verwendete Schaltung gezeigt. Wie beim Unterspeicher 313 und beim PFP 312 wird die Schaltung der SAGE 2824 nur insoweit besprochen werden, als dies zur Erläuterung der Wirkungsweise der SAGE 2824 nötig ist.
Verknüpfungsschaltungen 3010 bis 3018 und Inverter 3020 und 3022 bilden eine Prioritätsdecodierschaltung, um eine Auswahl zwischen widerstreitenden Anforderungen nach der Ausführung von Mikrobefehl-Sequenzen zu treffen. Das eine Ausgangssignal dieser Schaltung ist INSTSAGE (instruction sage), das anzeigt, daß eine SAGE-Befehlssequenz der oben diskutierten Gruppe ausgeführt werden soll. Drei
030020/0815
andere Ausgangssignale repräsentieren Anforderungen nach bisher nicht diskutierten Sequenzen. PFPSAGE (PFP SAGE) zeigt an, daß eine Sequenz zum Unterstützen des PFP 312 (Dienst-Programm-Sequenz) ausgeführt werden soll; NMI + INTSAGE (nicht-maskierbarer Interrupt oder SAGE - Interrupt) zeigt an, daß eine Sequenz für eine Interrupt-Routine ausgeführt werden muß; und DCIISAGE (Data channel Sage) zeigt an, daß eine Sequenz ausgeführt werden muß, die eine von einem E/A-Gerät veranlaßte Datenübertragung unterstützt. wie dargestellt, sind diese Ausgänge miteinander durch eine verdrahtete ODER-Schaltung verknüpft, so daß zur gleichen Zeit nur ein Ausgangssignal aktiv ist. Die Priorität der SAGE-Mikrobefehlssequenzen, die durch diese Ausgangssignale ausgewählt werden, ist umgekehrt zu der genannten .Reihenfolge.
Die Eingangssignale der Prioritätsschaltung sind: SYNGDGH (Synch Data Channel) ist ein Prüfergebniseingangssignal von der CPU 314-, das anzeigt, daß ein Datenkanal unterstützt werden muß. Das Eingangssignal NMI + INTREQ (Nicht-maskierbarer Interrupt oder Interrupt-Anforderung) zeigt eine Anfrage nach einer Mikrobefehlssequenz an, die einen Interrupt unterstützt. Das Eingangssignal PI1PREADY (PFP READY) zeigt an, daß PFP 312 leer ist und eine Sequenz benötigt, die es erlaubt, daß Befehle aus dem Speicher 311 abgerufen werden. Das Eingangssignal INH-PFPEMPTY (Inhibit PFP Empty) ist ein Eingangssignal von der CPU 314, das die Unterstützung des PFP 312 blockiert und das unten näher beschrieben wird. Das Eingangssignal ^iSEQ3 ist ein Eingangssignal von der Zustandeänderungslogik 2822, das anzeigt, daß eine SAGE-Decodierung ausgeführt werden muß.
030020/081 5
Puffer-Verknüpfungsglieder 3024, $026 und 3028 liefern die teilweise decodierten Adressbits joIADR 3 bis 9 des Speichers 2618 an den uIADfi-Bus 2814 und somit an den Speicher 2816. Alle Adresseneingänge des Speichers 2618 sind mit Pull-Up-Widerständen versehen. Die Adresseneingänge des Speichers 2618 liegen daher auf logisch 1, wenn sie nicht auf den Wert 0, beispielsweise durch die Puffer 3024 bis 3026 gebracht werden. Die Ausgangssignale /aIADR 3, 4, 5 und 7 des Puffers 3024 sind als Anfangsadressbits der ersten Mikrobefehle vom Sequenzen zur Unterstützung von Datenkanälen, Interrupts und des PFP 312 vorgesehen. Eingangssignale des Puffers 3024 sind DCHSAGE, NMI + INTSAGE und Pi1PSAGE von der Prioritätsschaltung. Der Puffer 3024 wird durch μΒΕ^ und INSTSAGE über ein Verknüpfungsglied 3Ο3Ο aktiviert. Das Ausgangssignal des Verknüpfungsglieds 3030 zeigt an, daß eine Datenkanal-, Interrupt- oder PFPSAGE-Decodierung ausgeführt werden muß.
Die Puffer 3026 und 3028 liefern teilweise decodierte Adressbits des Speichers 2816 yuuIADfi 3 bis 9, wenn Sequenzen für ALC-, EIS-Mikrobefehle, Mikrobefehle mit langer und kurzer effektiver Adresse, oder für E/A-Mikrobefehle ausgeführt werden sollen. Das den Puffern 3026 und 3028 durch den Inverter 3032 zugeführte Eingangssignal INST-SAGE zeigt an, daß eine SAGE-Decodierung für einen aus dieser Gruppe von Makrobefehlen. Verknüpfungsglieder 3034 und 3036 decodieren die Makrobefehlsbits PFP 0 und 12 bis 15 vom PFP-Bus 322 und liefern PFPEIS an den Puffer 3028. PFPEIS zeigt an, daß ein Makrobefehl vom EIS-Typ durch SAGE 2024 decodiert werden muß. Verknüpfungsglieder 3038 und 3040 decodieren die Makrobefehlsbits PFP 0, 5, 9, 10
x) durchgeführt werden muß. ./,
03QQ20/0815
294AA19
und 11 und liefern ein Signal EEA an den Puffer 3028. EEA zeigt an, daß ein Makrobefehl mit langer effektiver Adresse dekodiert werden muß. Das Ausgangssignal eines Verknüpfungsglieds 3042 wird an den Puffer 3028 geliefert. Die Makrobefehlsbits PFP 0, 6 und 7 werden direkt an Eingänge der Puffer 3026 und 3028 geliefert, z.B. für kurze und lange effektive Adressen. Ein Eingangssignal IODEGODE des Puffers 3026 zeigt an, daß ein E/A-Makrobefehl dekodiert werden muß.
Zusammengefasst selektiert SAGE 2824 dadurch die ersten Mikrobefehle bestimmter im Speicher 2816 gespeicherter Sequenzen durch Dekodieren von ausgewählten Makrobefehlsbits, um entsprechende ausgewählte Mikrobefehlsadressbits zu liefern. Eine einzelne Klasse von derart dekodierten Makrobefehlen mag mehr als eine Mikrobefehlssequenz enthalten. Eine Gruppe von Sequenzen, die einem Makrobefehl entspricht, haben jedoch im allgemeinen alle eine gleiche erste Mikrobefehlssequenz. SAGE 2824 führt eine teilweise Dekodierung aus, wo nötig, um eine Auswahl zwischen miteinander in Beziehung stehenden Mikrobefehlssequenzen zu treffen, aber im allgemeinen wird eine solche Auswahl durch den Dekodier-fiOM 2810 getroffen. Werden z.B. die Makrobefehle mit kurzer effektiver Adresse und die E/A-Makrobefehle betrachtet, so liefert SAGE 2824 Adressbits, die ausreichen, um alle Adressen auszuwählen, die durch 37^1 repräsentiert sind. SAGE 2824 liefert dann weitere Adressbits, die ausreichen, um anzuzeigen, ob X gerade ist (0, 2, 4, 6) oder ungerade (1, 3, 5, 7).
Die Besprechung der Mikrobefehls-Logik 342 und von SAGE 2824 ist somit abgeschlossen und der Konsole-ROM 358 wird als nächstes besprochen.
030020/0815
- 126 -
6. Konsole-ROM $58 (Fig. 3)
In Fig. 3 ist der Konsole-ROM 358 in den Weg vom ALUOUT-Bus 358 zum ALUIN-Bus 324 eingeschaltet. Kurz gesagt, ersetzt der Konsole-ROM 358 die Mehrzahl von Schaltern und Lampen eines Konsolengeräts, die normalerweise zur Kontrolle des Rechners 310 verwendet werden. Dadurch benötigt der Rechner 310 nur ein kleines Konsolengerät, und jedes externe Gerät mit einem ASCII-Anschluß kann den Rechner 310 steuern. Der Konsolen-ROM 358 enthält Makrobefehle des Konsolenprogramms für den Konsolenbetrieb des Rechners 310. Diese enthalten die Prüfung und Modifizierung des laufenden Inhalts des Rechners 310, Ureingabe von Programmen, und die Ausführung von Testprogrammen.
Bei der Arbeit schaltet der Rechner 310 in den Konsolenbetrieb, wenn die Stromversorgung zuerst eingeschaltet wird, ein Haltebefehl vom Konsolengerät (aus Gründen der deutlichen Darstellung nicht gezeigt) oder einem Makrobefehl empfangen wird, oder wenn ein Befehl des Konsolengeräts empfangen wird. Beim Eintreten in den Konsolenbetriebszustand wird das CPUPC-Register 364 mit der Adresse des Konsolen-ROM 358 für den ersten Befehl der im Konsolen-ROM 358 enthaltenen Konsolenbefehlsfolge geladen. Daneben blockiert das Signal CONSOLEMODE die Tätigkeit des PFP 312. Gleichzeitig wird ein Signal PCDEST an den PFP 312 geliefert, um PFPPCF und PFPPCR zu initialisieren und um den Status des PFP 312 in die Grundstellung zu bringen. Das zur CPU 314 gelangende Signal PFPREADT fordert daneben die Mikrobefehl-Logik 342 zum Ausführen eines Bereitstell-Serviceprogramms auf. Die Prüfungen der Mikrobefehl-Logik 342 stellen jedoch fest, daß der Rechner 310 im Konsolenbetriebszustand ist. CPUPC (das ist die erste
030020/0815
29ΑΑ419
Adresse der Konsolenprogrammsequenz) wird vom CPUPC-Register 364 über den ALUIN-Bus 324 zur ALU 356 übertragen. Die ALU 356 überträgt CPUPG auf den ALUOUT-Bus 326 und somit zum Adresseneingang des Konsole-ROM 358. Der erste Befehl des Konsolenprogramms erscheint dann am Ausgang des Konsolen-ROM 358 und wird durch den ALUIN-Bus 324 in die ALU 356 übertragen. Die ALU 356 überträgt' den ersten Befehl des Konsolenprogramms auf den ALUOUT-Bus 326 und von dort durch das Register 352 zum PFP-Bus 322. Die Mikrobefehl-Logik 342 empfängt den ersten Befehl des Konsolenprogramms und führt eine SAGE 2824-Dekodierung aus, um die Ausführung des Xonsolenprogramms zu beginnen. pTPFP5EaT3T hat ein PFP-Serviceprogramm angefordert, wie oben beschrieben, wird durch INHEMPTY beim Start des Konsolenprogramms blockiert. Die Mikrobefehl-Logik 342 steuert die Anforderung von nachfolgenden Kon-8ölenprogrammbefehlen dadurch, daß sie geeignete Adressen für den Konsolen-fiOM 358 über jiIH 3^4, ALU 356 und den ALUOUT-Bus 326 liefert. Die auf diese Art angeforderten Befehle werden vom Konsolen-ROM 358 zur ALU 356 übertragen und von dort zur Mikrobefehl^Logik 3^-2 über den ALUOUT-Bus 326, das Register 352, und den PEP-Bus 322.
Wenn einmal das Konsolenprogramm gestartet worden ist, mag eine bestimmte Konsolenprogrammsequenz, z.B. zur Ausführung eines Testprogramms, durch ein externes ASCII-Gerät über den E/A-ASCII-Kanal '^h, angefordert werden. Vorbestimmte Folgen von ASCII-Codezeichen, die z.B. ein Testprogramm darstellen, werden seriell von einem externen Gerät zum UART 376 über den E/A-ASCII-Kanal 3k7 übertragen. Der UART 376 übersetzt die seriellen ASCII-Codebits in parallele ASCII-Zeichen und sendet die Zeichen über den ALUIN-Bus ~$ΖΙ\ zur ALU 356. Eine
030020/081 5
Steuersequenz von Befehlen im Konsolenprogramm sammelt die Zeichen, bis eine vollständige Sequenz, die eine Anfrage nach einer Konsolenprammsequenz entspricht, empfangen worden ist. Die Zeichen werden in einem Zwischenregisterspeicher gesammelt, der im MAP 35zf angeordnet ist. Diß Steuersequenz interpretiert dann die Sequenz und richtet sich nach dieser mittels zusätzlicher Befehle im Konsolenprogramm. Es erscheint eine entsprechende Konsolenprogrammbefehlssequenz am Ausgang des Konsolen-ROM 358 und wird zur Mikrobefehllogik 3^-2 über ALU 356 übertragen, wie oben beschrieben, um die angeforderte Konsolenprograrnmtätigkeit zu bewirken. Während der Ausführung der angeforderten Konsolenprogrammsequenz mag die Mikrobefehl-Logik 3^2 weitere Befehle vom Konsolen-ROM 358 anfordern, wie oben beschrieben.
Zusammengefaßt erlaubt der Konsolen-ROM 358, daß jedes externe ASCII-Schnittstellen-Gerät den Rechner 310 extern zur Ausführung von auf die Konsole bezogenen Operationen steuern kann. Speziell übersetzt der Konsolen-ROM 358 vorbestimmte Sequenzen von extern gelieferten Codezeichen, z.B. ASCII-Zeichen, in Maschinensprachen-Makrobefehle, die durch den Rechner 310 bei der Ausführung von Konsolen-Operationen verwendbar sind. Der Konsolen-ROM 358 tut dies durch Speichern von Befehlssequenzen, die bei der Ausführung solcher auf die Konsole bezogenen Operationen benötigt worden. Der Konsolen-ROM 358 wird vorzugsweise unter Verwendung von leicht austauschbaren Lesespeichern (ROMs) verwirklicht. Dies ermöglicht es, daß der Konsolen-ROM 358 leicht geändert werden kann, um ihn z.B. an ASCIV-Eingangssignale anzupassen oder an eine Änderung bei den Makrobefehlen oder Mikrobefehlen im Rechner 310.
030020/081 5
29Α4419
Li ir· Besprechung des Konsolen-KOK 558 und des Rechners 510 int hiermit beendet.
7. Stückliste (Fign. 1^-27, 50)
Die Schaltungselemente, die bei der z.Zt. besten bekannten Art der Ausführung der hier offenbarten Erfindung benutzt werden, werden in der Tabelle unten beschrieben. Jene· Bauelemente, die nicht mit Bezugszeichen versehen und im Text beschrieben sind, sind in den Fign. 14 - 27 und in Fig. ;30 getrennt angegeben. Alle Widerstände sind Kohlewiderstände mit 0,2D W Belastbarkeit und 5 % Toleranz und alle Kondensatoren haben 10 % Toleranz.
Bauelement Hjgrstel l_e_r Teil nummer
Verknüpfungsglied:
2126, 22J|6, Z'Ah* 23^8, Texas Instruments, Inc. SN7V3OO 2^0, ZYjZ, 2 558, 2 370,
2750, 2752, 2725
2122, Z21+2, 2250, 2532, Texas Instruments, Inc. SU71&02
Zy:,lu 23^6, 235^, 2520,
2526, 271.3, 2732, Ξ738,
2758
Inverter: 2112, 2319, Texas Instruments, Inc. SN7'|S0^ 23 58, 2416, 2522, 2726,
27-36, 2748, 3032
Inverter: 5020, 3022 Texas Instruments, Inc. SN74^
Verknüpfungsglied:
202/|, 22Vi, 232^|, 2326, Texas Instruments, Inc. S
2 55-;, 5010, 3012, 301^1
•5016, 5013 Texas Instruments, Inc.
2718, 275/|, 2756, 3036, Texas Instrument s, Inc. SN74S1O
2762 Texas Instruments, Inc. SN74S11
2110 Texas Instruments, Inc. SN74S15
030020/081 5
Verknüpfungsglied: 2128,
2716,
Texas Instruments, Inc. SN7i+S22
Texas Instruments, Inc. SN7^S32
Texas Instruments, Inc. SlVi>h537
2715 Texas Instruments, Inc. SN7/+S38
Texas Instruments, Inc.
213O, 2210, 2318
Flipflop:
2212, 221if, 2216, 2218, Texas Instruments, Inc. SN74S74
ZZZ'6, ZZZh, 2226, 2228,
223O, 2234, 2236, 2238,
l·, 2356, 2712, 273O,
Texas Instruments, Inc. SN7Z+S112
Texas Instruments, Inc. SN7/4SI38
Texas Instruments, Inc. SN7/fS158
Texas Instruments, Inc.
Texas Instruments, Inc. UI
Texas Instruments, Inc. Π
Texas Instruments, Inc. S
Texas Instruments, Inc. f. Fairchild S
Texas Instruments, Inc. SN7/fS260
Texas Instruments, Inc.
Texas Instruments, Inc.
Texas Instruments, Inc SN7J+LS393
Flipflop:
2012, 201/+, 2016, 2018,
2020, 2022, 2728, Z73h,
2748
Multiplexer: 2116
Multiplexer: 2220, 2232, 2340, Zähler: 2312 Schieberegister: 2110
Schieberegister: 2316 , 2760
Pu ff υ-·:
1OU, 1/10, 212Z1, 2614, 302h, 3026, 3028 Puffer: 2518 Multiplexer: 1610
Verknüpfungsglied: 2222, 2322, 2722, 3034, 3038
Speicher-Flipflop: 526, 528, 1712
Speicher-Flipflop: 1612, 25IO, 2512
Zählor: 2236, 2238
030020/081 5
29A4A19
RAM:
261Ö, 2620, 2622, 262/|
IiOK: 2710
Zähler:
2'31i|, 2516, 2610, 2612, 2616
Komparator: 252i\.
RAM:
1410, 12+12, MoO, 1/02, , 1442, 1/f50
Verknüpfungsglied: 1912, 1914, 1924, 1926, 1928, 1930, 2330
Tranei stör: 236O
Diode: 2362
Widers
1932
tände:
2366
2363
Konden.
2369
satoren:
Advanced Mic ro Devices, AM29705 Inc.
Intersil, Inc.
Fairchild, Inc.
Fairchild, Inc.
Mostek, Inc.
Motorola, Inc.
IM56OJ5
93^16
93S46
ΜΚ4116-2
MC3459 ausgesucht für
'Schaltzeiten von weniger als 15 ns
7N5713
Oom, 5 %,1 AV/,Kohle
Ohm, 5 #, IAW,Kohle
Ohm, 5 ·#, lAV/,Kohle
k?0 Ohm, 5 %, 1AW,Kohle
pf, 5 %t Keramik
Die Erfindung kann noch in anderen speziellen Ausführungsformen verwirklicht sein, ohne vom Kern und den wesentlichen Eigenschaften der Erfindung abzuweichen. Beispielsweise kann die Länge oder Breite des Unterspeichers 313 verändert werden oder der Unterspeicher 313 kann mit getrennten Dateneingabe- und Adresseingabe-Bussen versehen werden. In gleicher Weise kann der Speicher 311 mehr als acht Unterspeicher 313 enthalten. Weiterhin kann die in den Figuren 20, 22, 22A, 23A und 27A gezeigte Zeitgeberschaltung anstatt mit Schieberegistern mit Zählern
030020/0815
verwirklicht sein. Die im PFP 312 gezeigte Speicherausgabebus-Intorface-Schaltung ^ann in ähnlicher Weise bei jedem anderen Gerät, das mit Speicher 311 in Verbindung steht, verwendet werden. Auch kann der SAGE 282Af für eine Anfangsdecodierimg von anderen Makrobefehlen als jenen, die gezeigt wurden, verwendet werden, in Abhängigkeit von im Rechner 310 verwendeten spezifischen Makrobefehls- und Mikrobefehls-Sequenzen. In gleicher Weise kann der Konsolen-ROM 353 sowohl für die Umsetzung von Daten als auch von Befehlen verwendet werden. Daher sollen die vorliegenden Ausführungsformen in jeder Hinsicht nur als Erläuterung und nicht als Beschränkung betrachtet v/erden und alle Äquivalente sollen miterfaßt werden.
Es wurde die Architektur eines sehr schnellen Digitalrechnersystems beschrieben. Die Architektur des Systems weist einen Prozessor zur Verarbeitung von digitalen Daten in Maschinensprache auf und einen Speicher zum Speichern von mindestens Maschinensprache-Befehlen für die Verwendung durch den Prozessor. Befehle oder Daten werden zwischen dem Speicher und dem Prozessor durch Speicher-Ein/Ausgabe-Busse übertragen. Signale werden zwischen dem Rechnersystem und externen Geräten durch E/A-Module übertragen. Es wurde eine Befehl-Bereitstellungsschaltung offenbart, um Befehle vor gerade durch den Prozessor in Ausführung befindlichen Befehlen aus dem Speicher abzurufen und zu speichern. Ebenfalls offenbart sind ein schneller Speicher und Speichereingabe- und Ausgabe-Busse, die eine große Spoicherbusbandbreite und eine einfache Speicherbus-Interface-Schaltung schaffen. Die Prozessorschaltung gestattet eine schnelle Veranlassung oder einen schnellen Beginn und eine schnelle Ausführung von Befehlssequenzen. Es
030020/0815
wird eine I·'/K-,'clialtun;" beschrieben, dio es gestattet, daß die K-A-Module leicht an uine Vielzahl von externen Geräten oder an Änderungen in der Maschinensprache des Rechners oder in den Befehlen angepaßt werden.
Soweit die Art der in den Zeichnungen gezeigten Verknüpfungsglieder (z.B. UND-Glied) in der Beschreibung nicht genannt ist, kann sie der Zeichnung entnommen werden.
030020/081 5
/161
Leerseite

Claims (1)

  1. Patentansprüche
    Digitalrechnersystem zum Verarbeiten von Daten, mit einem Prozessor, einem Speicher zum Speichern der Daten und von den Prozessor steuernden Befehlen, wobei der Speicher einen Eingabebus, um die Daten und Befehle vom Prozessor zum Speicher zu leiten, und einen Ausgabebus, um die Daten und Befehle vom Speicher zum Prozessor zu leiten, aufweist, und mit einer E/A-Einrichtung, um die Daten und Befehle vom Prozessor nach außerhalb des Systems und von außerhalb des Systems zum Prozessor zu leiten, dadurch gekennzeichnet, daß der Prozessor aufweist:
    Einen Bereitsteil-Prozessor (PFP 312), der zwischen den Eingabebus und den Ausgabebus eingeschaltet ist, um die Befehle aus dem Speicher (311) abzurufen und zu speichern;
    eine CPU (314) (Zentraleinheit), die zwischen den Eingabebus und den Ausgabebus eingeschaltet ist, um arithmetische und logische Operationen mit den Daten auszuführen;
    daß die CPU eine Befehlseinrichtung aufweist um 1. einen der Befehle zu speichern, 2. die Tätigkeit der CPU in Übereinstimmung hiermit zu steuern, und 3. den nächsten nachfolgenden Befehl vom PFP (312) und dem Speicher (311) auszuwählen, und einen PFP-Bus, der mit dem Eingabebus und dem Ausgabebus zusammenarbeitet, um den nächsten nachfolgenden Befehl zur Befehlseinrichtung zu leiten.
    030020/0815
    2. System nach Ansprach 1, dadurch gekennzeichnet, daß der PFP aufweist:
    Eine Einrichtung zum Bestimmen, wann die CPU (314) keinen Zugriff zum Speicher (311) anfordert, eine BefehlsanfOrderungseinrichtung, die auf die Tätigkeit der Einrichtung zum Bestimmen anspricht, um die Speichereingangssignale zu erzeugen, die Anforderungen für die Befehle vom Speicher darstellen, und
    einen Bereitstellspeicher (PFP-Speicher 330) zum Empfangen der Speicherausgangssignale, die die angeforderten Befehle darstellen, und zum Speichern der angeforderten Befehle;
    eine Befehlsausgabeeinrichtung, um Ausgangssignale, die die gespeicherten Befehle vom PFP-Speicher repräsentieren, zum PFP-Bus selektiv zu übertragen.
    3. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Befehlseinrichtung aufweist: Eine Einrichtung zum Empfangen bestimmter Befehle, eine Einrichtung zum Ableiten von Mikrobefehlsequenzen aus jedem der bestimmten Befehle, um die CPU in Übereinstimmung mit den bestimmten Befehlen zu steuern, und um den nächsten Befehl auszuwählen, und eine Ausgabeeinrichtung, um die Mikrobefehlsequenzen an die GPU zu liefern.
    4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Einrichtung zum Ableiten von Mikrobefehlen aufweist: Einen Mikrobefehlsspeicher (2816) zum Speichern und Liefern der Mikrobefehlsequenzen;
    030020/081 5
    ORIGINAL INSPECTED
    29''^ IS
    einen Anfangswertdecoder, der auf die bestimmten Befehle anspricht, um Anfangsauswahlsignale an den Mikrobefehlspeicher zu liefern, um den ersten Mikrobefehl der Mikrobefehlssequenzen auszuwählen, und eine Mikrobefehlsteuereinrichtung, die auf die gespeicherten Befehle und die Mikrobefehlssequenzen anspricht, um andere Auswahlsignale an den Mikrobefehlsspeicher zu liefern.
    5· System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Speicher aufweist: Eine Speichereingabeeinrichtung zum Empfangen der Speichereingabesignale von dem Eingabebus, eine Mehrzahl von Speichermodulen ( 512), wobei jeder Modul mit der Eingabeeinrichtung in Verbindung steht und in der Lage ist, sich auf den Speicher beziehende Operationen gleichzeitig mit und unabhängig von der Ausführung der sich auf den Speicher beziehenden Operationen durch alle anderen Module auszuführen, eine Speicherlogik ( 538), die mit der Speichereingabeeinrichtung in Verbindung ist und Speichersteuersignale von bestimmten Speichereingabesignalen ableitet, um Speichersteuersignale an die Speichermodule zu liefern, und einen Ausgabemultiplexer ( 5^0), um Ausgabesignale von den Speichermodulen zu dem Ausgabebus selektiv zu übertragen.
    6. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Speicher eine Einrichtung aufweist, die auf jedes von bestimmten Speichereingangssignalen anspricht, die eine Anforderung für einen Befehl darstellen, um entsprechende Speicherausgangssig-
    030020/081 5
    ORIGINAL INSf5ECTED
    - Vf? -
    nale, die den Befehl darstellen, innerhalb eines vorbestimmten Zeitintervalls zu liefern, und daß der PiT weiterhin aufweist:
    Eine Einrichtung zum Erzeugen der Speichereingangssignale, die die Anfragen nach Befehlen darstellen,
    eine Einrichtung, die auf die Tätigkeit der Erzeugungseinrichtung anspricht, zum Messen des vorbestimmten Zeitintervalls, und eine Einrichtung, die mit dem Speicherausgabebus verbunden ist und auf die Tätigkeit der Meßeinrichtung anspricht, um die Speicherausgabesignale zu empfangen und die Befehle zu speichern.
    7. System nach Anspruch 1, dadurch gekennzeichnet, daß die Daten und Befehle digitale Signale in Maschinensprache sind, und
    daß die E/A-Einrichtung aufweist:
    Eine Einrichtung zum Empfangen der Systemeingangssignale und zum Speichern von Darstellungen der Systemeingangssignale,
    eine Einrichtung zum Umwandeln der gespeicherten Darstellungen der Speichereingabesignale in die digitalen Signale in Maschinensprache, und eine Einrichtung zum Liefern der umgewandelten digitalen Signale in Maschinensprache an die CPU.
    8. Hechnersystem, das in der Lage ist, Datensignale zu verarbeiten, und das aufweist: Einen Prozessor zum Verarbeiten der Daten, einen Speicher zum Speichern mindestens von Befehlen zur Benutzung durch den Prozessor, einen Speichereingabebus zum Leiten von Speicher-
    030020/0815
    >1 Γ!
    eingabesignalen vom Prozessor zum Speicher, einen Speicherausgabebus zum Leiten der Speicherausgabesignale vom Speicher zum Prozessor, um Systemeingarigssignale in den Prozessor von außerhalb des Systems zu leiten und um Systemausgangssignale vom Prozessor nach außerhalb des Systems zu leiten, und eine Befehls-Bereitstelleinrichtung (PEP 312), die aufweist: Eine Einrichtung, die auf die Tätigkeit des Prozessors anspricht, um zu bestimmen, wann der Prozessor keinen Zugriff zum Speicher benötigt,
    eine Befehlsanforderungseinrichtung, die auf die Tätigkeit der Bestimmungseinrichtung anspricht, um die Speichereingabesignale zu erzeugen, die Anforderungen für die Befehle vom Speicher repräsentieren, einen Bereitsteil-Speicher (PFP-Speicher 330) zum Empfangen der Speicherausgangssignale, die die angeforderten Befehle repräsentieren, und zum Speichern der angeforderten Befehle,
    einen Bereitstell-Bus, der mit dem PFP-Speicher verbunden ist und auf die Tätigkeit des Prozessors anspricht, um die angeforderten Befehle vom PFP-Speicher zum Prozessor zu leiten.
    System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Bereitstelleinrichtung aufweist: Eine Vergleichseinrichtung, die auf die Tätigkeit der Bereitstelleinrichtung und des Prozessors bzw. der CPU anspricht, um die Verfügbarkeit der angeforderten Befehle anzuzeigen.
    030020/0815
    ORIGINAL INSPECTED
    10. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Bereitstelleinrichtung weiterhin aufweist: Eine Überwachungseinrichtung, die auf die Tätigkeit des Speichers anspricht, um einen möglichen Konflikt zwischen einem angeforderten Befehl im PFP-Speicher (330) und einem entsprechenden Befehl im Speicher (311) anzuzeigen.
    11. System nach Anspruch 10, dadurch gekennzeichnet, daß die Überwachungseinrichtung auch auf die Tätigkeit der Befehlsanforderungseinrichtung anspricht.
    12. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Speicher eine Einrichtung aufweist, die auf jedes der Speichereingangssignale anspricht, die eine Anforderung für einen Befehl repräsentieren, ujn die entsprechenden Speicherausgangssignale, die den angeforderten Befehl darstellen, innerhalb eines vorbestimmten Zeitintervalls zu liefern, daß die Befehls-Bereitstelleinrichtung weiterhin eine Einrichtung aufweist, die auf die Tätigkeit der Befehlsanforderungseinrichtung anspricht, um das vorbestimmte Zeitintervall zu messen, und daß der PFP-Speicher eine Einrichtung aufweist, die auf die Tätigkeit der Einrichtung zum Bestimmen anspricht, um den angeforderten Befehl zu empfangen und zu speichern.
    13. Rechnersystem, das in der Lage ist, Datensignale zu verarbeiten, mit einem Prozessor zum Verarbeiten der Daten, einem Speicher zum Speichern mindestens von Befehlen, die vom Prozessor bei der Steuerung des Systems verwendet werden, mit einem Speichereingabebus, um Spei-
    030020/0815
    ORIGINAL INSPECTED
    - ΙΑ« -
    2SA441Ü
    chereingangssignale vom Prozessor zum Speicher zu leiten, mit einem Speicherausgangsbus, um Speicherausgangssignale vom Speicher zum Prozessor zu leiten, und mit einer E/A-Einrichtung, die mit dem Prozessor verbunden ist, um Systemeingangssignale in den Prozessor von außerhalb des Systems zu leiten und um Systemausgangssignale vom Prozessor nach außerhalb des Systems zu leiten, daß der Prozessor eine Mikrobefehl-Logik (242) zum Steuern des Prozessors aufweist, und daß die Mikrobefehl-Logik aufweist:
    Eine Einrichtung, um die Speicherausgangssignale, die erste bestimmte Befehle repräsentieren, zu empfangen, und um jeweils einen der ersten bestimmten Befehle zu speichern,
    einen Mikrobefehlsspeicher (2816), um Mikrobefehlsequenzen zum Steuern des Prozessors in Übereinstimmung mit den ersten bestimmten Befehlen zu speichern und zu liefern, wobei jede Sequenz einem der ersten bestimmten Befehle entspricht,
    ein Anfangswertdecoder, der auf zweite bestimmte der ersten bestimmten Befehle anspricht, um den ersten Mikrobefehl der Sequenz auszuwählen, die dem zweiten gespeicherten bestimmten Befehl entspricht, und eine Steuereinrichtung, die auf den einen gespeicherten Befehl der ersten bestimmten Befehle und auf die entsprechenden Mikrobefehlsequenzen anspricht, um die Mikrobefehle aus der entsprechenden Sequenz auszuwählen.
    .Rechnersystem, das in der Lage ist, Datensignale zu verarbeiten, und das aufweist: Einen Prozessor zum Verarbeiten der Daten, einen Speicher zum Speichern mindestens von Befehlen zur Verwendung durch den Prozessor,
    030020/0815
    einen Speichereingabebus, um Speichereingangssignale vom Prozessor zum Speicher zu leiten, einen Speicherausgangsbus, um Speicherausgangssignale vom Speicher zum Prozessor zu leiten, und eine E/A-Einrichtung, die mit dem Prozessor verbunden ist, um Systemeingangssignale von außerhalb des Systems in den Prozessor zu leiten, und um Systemausgangssignale vom Prozessor nach außerhalb des Systems zu leiten, und daß der Speicher aufweist:
    Eine Speichereingabeeinrichtung zum Empfangen der Speichereingangssignale von dem Eingabebus, eine Mehrzahl von Speichermodulen, wobei Jeder Modul mit der Speichereingabeeinrichtung verbunden ist und in der Lage ist, sich auf den Speicher beziehende Operationen gleichzeitig mit und unabhängig von der Ausführung der sich auf den Speicher beziehenden Operationen durch alle anderen Module auszuführen, eine Speichersteuereinrichtung, die mit der Eingabeeinrichtung verbunden ist und Steuersignale von ersten bestimmten Speichereingangssignalen ableitet, um Speichersteuersignale an die Speichermodule zu liefern, und
    einen Ausgangsmultiplexer, um Ausgangssignale von den Modulen zu der Ausgabeeinrichtung selektiv zu übertragen.
    Speicher nach Anspruch 14, dadurch gekennzeichnet, daß jeder Modul aufweist:
    Eine Speicherungseinrichtung, die mit der Speichereingabeeinrichtung verbunden ist, um mindestens die Befehle zu speichern, und um die Modulausgangssignale an den Ausgangsmultiplexer zu liefern, und
    030020/0815
    - 0*2 -
    eine Modulsteuereinrichtung, die Modulsteuersignale von bestimmten Speichersteuersignalen und von zweiten bestimmten Speichereingangssignalen ableitet, um die übertragung von dritten Speichereingangssignalen, die mindestens die Befehle darstellen, zur Speicherungseinrichtung zu steuern, und um die Übertragung der Modulausgangssignale zum Ausgangsmultiplexer zu steuern.
    16. Speicher nach Anspruch 15, dadurch gekennzeichnet, daß ein erster Teil der ersten und zweiten bestimmten Speichereingangssignale Lese- und Schreibadressen-Signale aufweist, die eine Speicherstelle in der Speicherungseinrichtung bezeichnen, um die Modulausgangssignale aus der Speicherungseinrichtung auszulesen bzw. die dritten bestimmten Speichereingangssignale in die Speicherungseinrichtung einzuschreiben.
    17· Speicher nach Anspruch 16, dadurch gekennzeichnet, daß die Speichereingabeeinrichtung weiterhin aufweist: Einen Moduleingangsbus, um die dritten bestimmten Speichereingangssignale gleichzeitig zu einem ersten Eingang aller Modul-Speicherungseinrichtungen zu leiten.
    18. Speicher nach Anspruch 17, dadurch gekennzeichnet, daß der Moduleingangsbus weiterhin aufweist: Einen Pufferspeicher zum zeitweiligen Speichern von Darstellungen der dritten bestimmten Speichereingangssignale vor der übertragung der dritten bestimmten Speichereingangssignale zu dem ersten Eingang der Speicherungseinrichtungen.
    030020/0815
    19· Speicher nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, daß die Speichereingangseinrichtung einen ersten Adressbus zum gleichzeitigen Leiten bestimmter Adressensignale von der Speichereingangseinrichtung an alle Modulsteuereinrichtungen aufweist, um die Speicherstellen in den Speicherungseinrichtungen auszuwählen.
    f'Ü. Speichel' nach Anspruch 14, dadurch gekennzeichnet, daß jede Modulsteuereinrichtung eine Moduladressenspeichereinrichtung aufweist, die mit dem ersten Adressenbus in Verbindung steht, um die bestimmten Adressensignale zu empfangen und zu speichern.
    21. Speicher nach Anspruch 20, dadurch gekennzeichnet, daß die Speicherstellen jeder Speicherungseinrichtung in Zeilen und Spalten angeordnet sind, und daß die Adressensignale Zeilenadressen und Spaltenadressen sind, und daß die Moduladressen-Speicherungseinrichtung eine .Einrichtung zum Speichern der Zeilenadressen und der Spaltenadressen (526, 528) aufweist.
    22. Speicher nach Anspruch 21, dadurch gekennzeichnet, daß jede Modulsteuereinrichtung aufweist: Einen zweiten Adressbus, der von der Speicherungseinrichtung für die Zeilen- und Spaltenadresse zu einem zweiten Eingang der Speicherungseinrichtung führt, für die Auswahl der Speicherstellen in der Speicherungseinrichtung, und
    daß die Modulsteuereinrichtung eine Einrichtung zum Erzeugen von Speicherungssteuersignalen für die Speichereinrichtung der Zeilen- und Spaltenadresse aufweist, um die Zeilen- und Spalten-Adressignale zum zweiten Eingang der Speicherungseinrichtung sequenziell zu leiten.
    030020/0815 ./.
    29U419
    ??. Speicher nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß die Speichersteuereinrichtung eine Modulauswahleinrichtung aufweist, die auf einen zweiten Teil der ersten bestimmten Speichereingangssignale anspricht, um bestimmte Speichersteuersignale an die Module zu liefern, um einen einzelnen Modul auszuwählen und Lese- und Schreiboperationen des ausgewählten Moduls in der gleichen Sequenz oder Reihenfolge zu beginnen, wie die Speichereingangssignale auf dem Speichereingangsbus erscheinen.
    24. Speicher nach einem der Ansprüche 14 bis 23, dadurch gekennzeichnet, daß der Ausgangsmultiplexer aufweist: Eine Multiplex-Einrichtung, die auf die sich auf den Speicher beziehenden Operationen der Module anspricht, um die Ausgänge der Module mit einem ersten Ausgangsbus in derselben Reihenfolge zu verbinden, wie die Speichereingangssignale auf dem Speichereingangsbus erscheinen, eine Ausgangsspeichereinrichtung, die mit dem ersten Ausgangsbus verbunden ist, um Darstellungen der Modulausgangs signale zu empfangen und zu speichern, eine Ausgabesteuereinrichtung, die auf die sich auf den Speicher beziehenden Operationen der Module anspricht, um Steuersignale für die Ausgabespeichereinrichtung zu liefern, um die ModulausgangsSignaIe von dem ersten Ausgangsbus in aufeinanderfolgende Speicherungsstellen der Ausgangsspeichereinrichtung zu übertragen und um die gespeicherten Speicherausgangssignale sequenziell von der Ausgangsspeichereinrichtung auf den Speicherausgangsbus zu übertragen.
    25. Speicher nach einem der Ansprüche 14 bis 24, dadurch gekennzeichnet, daß die Logik eine Einrichtung zum Liefern von Steuersignalen an die Module zum Auffrischen des Speichers aufweist.
    030020/0815 *A
    f-'(.-;. Speicher nach Anspruch ^S. dadurch gekennzeichnet, daß die Auffrischsteuereiririchtung aufweist: Eine Einrichtung zum Messen von gleichen Auffrischzeitintervallen ,
    eine Einrichtung, die auf die Speichereingangssignale anspricht, um ein Speicherzugriffszeitintervall festzustellen, in dem kein Speichereingangssignal auf dem Speichereingangsbus erscheint,
    eine Einrichtung, die auf die Tätigkeit der Auffrischintervallmeßeinrichtung und auf die Tätigkeit der Eingangssignalfeststelleinrichtung anspricht, um die Steuerauffrischsignale zu liefern, falls ein Speicherzugriff szeitinterval 1 während eines ersten Abschnitts des Auffrischzeitintervalls auftritt, und um die Auffrischsteuersignale während eines zweiten Abschnitts des Auffrischzeitintervalls willkürlich zu liefern, falls ein Speicherzugriffszeitintervall nicht während des ersten Abschnitts des Auffrischintervalls auftritt.
    27. Speicher nach einem der Ansprüche 14 bis ?6, dadurch gekennzeichnet, daß das digitale Datenverarbeitungssystem weiterhin aufweist: Eine Hauptstromversorgung und eine HilfsStromversorgung, und daß der Speicher aufweist: Eine erste Einrichtung, die bestimmte Teile der Speichersteuereinrichtung und der Speichermodule mit der Hilfsstromversorgung verbindet, um Energie zu diesen bestimmten Teilen der Speichersteuereinrichtung und der Speichermodule zu liefern, und
    daß die Steuereinrichtung weiterhin aufweist :
    Eine zweite Einrichtung, der bestimmte Signale von den ersten bestimmten Speichereingangssignalen zugeführt werden, um ein Steuersignal zu liefern, das einen bevorstehenden Fehler der Hauptstromversorgung anzeigt, und
    030020/081 5
    eine dritte Einrichtung, die auf die Tätigkeit der zweiten Einrichtung anspricht, um Stromausfallsteuersignale an die bestimmten Teile der Speichersteuereinrichtung und zur Speichersteuereinrichtung zu liefern, um diese Einrichtungen in einen vorbestimmten Betriebszustand zu bringen, bevor ein wirklicher Stromausfall auftritt.
    28. Speicher nach Anspruch 27, dadurch gekennzeichnet, daß die dritte Einrichtung auf die sich auf den Speicher beziehenden Operationen der Speichermodule so anspricht, daß sie die Stromausfallsteuersignale nur liefert, während die Speichermodule eine Speicherauffrischoperation durchführen.
    29. Speicher nach einem der Ansprüche 14 bis 28, dadurch gekennzeichnet, daß die Speichersteuereinrichtung auf weist:
    Eine Einrichtung, die mit der Speichereingabeeinrichtung verbunden ist und auf bestimmte Eingangssignale der ersten bestimmten Speichereingangssignale anspricht, um die ersten bestimmten Speichereingangssignale festzustellen, die den Beginn einer sich auf den Speicher beziehenden Operation anzeigen,
    eine Einrichtung, die auf die Tätigkeit der Feststelleinrichtung anspricht, um eine Sequenz von Zeitgeberimpulssignalen zu liefern, die mit ersten vorbestimmten Zeitintervallen auftreten, und
    eine Durchschalteinrichtung, die mit der Speichereingangseinrichtung und der die Zeitgeberimpuls erzeugenden Einrichtung verbunden ist und auf die ersten bestimmten Speichereingangssignale anspricht, um die Speichersteuersignale zu liefern.
    030020/081 5
    ■ίΟ. Speicher nach einem der Ansprüche 14 bis Γ'9, dadurch gekennzeichnet, daß die ModuLsteuereinrichtung aufweist: Eine Einrichtung, die auf bestimmte Speichersteuersignale anspricht, um die bestimmten Speichersteuersignale festzustellen, die den Beginn einer sich auf den Speicher beziehenden Operation anzeigen,
    eine Einrichtung, die auf die Tätigkeit der Feststelleinrichtung anspricht, um eine Sequenz von Zeitgeberimpulssignalen zu liefern, die mit ersten vorbestimmten Zeitintervallen auftreten, und
    eine Durchschalteinrichtung, die auf die Speichersteuersignale und die die Zeitgeberimpulse erzeugende Einrichtung anspricht, um die Modulsteuersignale zu liefern.
    51. Speicher nach einem der Ansprüche 14 bis 50, dadurch gekennzeichnet, daß der Speicher auf einer einzigen Leiterplatte angeordnet ist.
    52. Speicher nach einem der Ansprüche 14 bis $1, dadurch gekennzeichnet, daß jeder Speichermodul in der Lage ist, jede der sich auf den Speicher beziehenden Operationen innerhalb eines vorbestimmten Zeitintervalls auszuführen .
    V-. Speicher nach einem der Ansprüche 14 bis 'V"1, dadurch gekennzeichnet, daß die Speiche^steuereinrichtung eine Speicherauswahleiririchtunp; aufweist, die auf die ernten bestimmten Spe iche rein^an^iisigna 1 e anspricht, um den Speicher tJ<·.-■ Le-:.fciν zur Durchführung der sich auf den Speicher beziehenden Uper-it ionen zu aktivieren, so da:i (.'im· Mehrzahl der Speicher parallel mit dein SpeichereingangsDus und dem Speicherausgangsbus verbunden werden kann.
    030020/081 5
    ;>4. Di gitaldaten-Bussystem, das bei einem digitalen Rechner-Gystem mit einem Prozessor zum Verarbeiten der Daten und einem Speicher zum Speichern mindestens von Befehlen zur Benutzung durch den Prozessor nützlich ist, dadurch gekennzeichnet, daß das Datenbassystem aufweist: Einen Speichereingangsbus, der in einen Weg vom Prozessor zum Speicher eingeschaltet ist, um Speichereingangssignale zum Speicher zu leiten,
    einen Speicherausgangsbus, der in einen Weg vom Speicher zum Prozessor eingeschaltet ist. um die Daten zum Prozessor zu leiten,
    daß der Speicher zur Ausführung von sich auf den Speicher beziehenden Operationen jeweils innerhalb eines vorbestimmten Zeitintervalls ausgebildet ist, und daß ein Prozessorspeicherbus-Interface vorgesehen ist, das aufweist:
    Eine Einrichtung zum Erzeugen von bestimmten Signalen der Speichereingangssignale, die die gespeicherten Befehle vom Speicher anfordern,
    eine Zeitgebereinrichtung, die auf die Tätigkeit der Einrichtung zum Erzeugen der Signale anspricht, um das vorbestimmte Zeitintervall zu messen, und eine Speicherungseinrichtung, die mit dem Speicherausgangsbus verbunden ist und auf die Tätigkeit der Zeitgebereinrichtung anspricht, um die Speicherausgangssignale zu empfangen, die mindestens die Befehle repräsentieren, und um Darstellungen der die Befehle repräsentierenden Speicherausgangssignale zu speichern.
    35· Rechnersystem, das in der Lage ist, digitale Daten in Maschinensprache zu verarbeiten, und das aufweist: Einen Prozessor zum Verarbeiten der Datensignale, einen Speicher zum Speichern mindestens von digitalen Befehlen
    030020/0815
    in Maschinensprache zur Benutzung durch den Prozessor, einen Speichereingangsbus zum Leiten von Speichereingangssignalen vom Prozessor zum Speicher, einen Speicherausgangsbus zum Leiten von Speicherausgangssignalen vom Speicher zum Prozessor, und eine E/A-Einrichtung, die mit dem Prozessor verbunden ist, um Systemeingangssignale in den Prozessor von außerhalb des Systems zu übertragen und um Systemausgangssignale vom Prozessor nach außerhalb des Systems zu übertragen, und daß die E/AEinrichtung aufweist:
    Eine Einrichtung zum Empfangen der Systemeingangssignale und zum Speichern von Darstellungen der Systemeingangssignale ,
    eine Einrichtung zum Umwandeln der gespeicherten Darstellungen der Systemeingangssignale in digitale Maschinensprachesignale, und
    eine Einrichtung zum Liefern der umgewandelten digitalen Maschinensprachesignale an den Prozessor.
    36. Hechnersystem, das in der Lage ist, Datensignale zu verarbeiten, und das aufweist: Einen Prozessor zum Verarbeiten der Daten, einen Speicher zum Speichern mindestens von Befehlen, die durch den Prozessor bei der Steuerung des Systems verwendet werden, einen Speichereingangsbus zum Leiten von Speichereingangssignalen vom Prozessor zum Speicher, einen Speicherausgangsbus zum Leiten von Speicherausgangssignalen vom Speicher zum Prozessor, und eine E/A-Einrichtung, die von außerhalb des Systems zum Prozessor führt und um Systemausgangssignale vom Prozessor nach außerhalb des Systems zu übertragen, daß der Prozessor eine Mikrobefehllogik zum Steuern des Prozessors aufweist, und daß die Mikrobefehllogik aufweist :
    030020/0815
    Eine Einrichtung zum Empfangen und Speichern der Speicherausgangssignale, die bestimmte Befehle repräsentieren,
    einen Mikrobefehlsspeicher, der eine Einrichtung zum Speichern von Mikrobefehlsequenzen aufweist, um mindestens eine der Mikrobefehlsequenzen jedem einzelnen der bestimmten Befehle zuzuordnen,
    eine Ausgabeeinrichtung zum Liefern einer Sequenz von Mikrobefehlsteuersignalen, die den Mikrobefehlsequenzen entsprechen, und um die Mikrobefehlsteuersignale zum Prozessor zu leiten,
    eine SAGE-Einrichtung (2824), um bestimmte Speicherausgangssignale zu empfangen und in Abhängigkeit davon jeden ersten Mikrobefehl innerhalb jeder Folge auszuwählen, die dem entsprechenden bestimmten Speicherausgangssignal entspricht,
    eine Steuereinrichtung, die auf die Tätigkeit der Ausgabeeinrichtung und auf die bestimmten Befehle anspricht, um die Tätigkeit der Mikrobefehleinrichtung zu steuern.
    030020/081 5
DE19792944419 1978-11-08 1979-11-03 Digitalrechnersystem Granted DE2944419A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/959,038 US4316244A (en) 1978-11-08 1978-11-08 Memory apparatus for digital computer system

Publications (2)

Publication Number Publication Date
DE2944419A1 true DE2944419A1 (de) 1980-05-14
DE2944419C2 DE2944419C2 (de) 1988-08-18

Family

ID=25501594

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2953861A Expired DE2953861C2 (de) 1978-11-08 1979-11-03
DE19792944419 Granted DE2944419A1 (de) 1978-11-08 1979-11-03 Digitalrechnersystem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE2953861A Expired DE2953861C2 (de) 1978-11-08 1979-11-03

Country Status (8)

Country Link
US (1) US4316244A (de)
JP (1) JPS55102050A (de)
AU (1) AU532100B2 (de)
CA (1) CA1134051A (de)
DE (2) DE2953861C2 (de)
FR (1) FR2443099B1 (de)
GB (1) GB2034944B (de)
NL (1) NL7907768A (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56152049A (en) * 1980-04-25 1981-11-25 Toshiba Corp Microprogram control system
US4467417A (en) * 1981-09-16 1984-08-21 Honeywell Information Systems Inc. Flexible logic transfer and instruction decoding system
EP0150177A1 (de) * 1983-07-11 1985-08-07 Prime Computer, Inc. Datenverarbeitungsvorrichtung
US4622630A (en) * 1983-10-28 1986-11-11 Data General Corporation Data processing system having unique bus control protocol
US4764896A (en) * 1985-07-01 1988-08-16 Honeywell Inc. Microprocessor assisted memory to memory move apparatus
US5179716A (en) * 1986-07-02 1993-01-12 Advanced Micro Devices, Inc. Programmable expandable controller with flexible I/O
EP0261628B1 (de) * 1986-09-26 1991-05-02 Siemens Aktiengesellschaft Vorausladeeinrichtung zum mikroprogrammierten und verdeckten Bereitstellen von Maschinenbefehlen in einem Prozessor
US4980850A (en) * 1987-05-14 1990-12-25 Digital Equipment Corporation Automatic sizing memory system with multiplexed configuration signals at memory modules
DE68925376T2 (de) * 1988-04-20 1996-09-05 Sanyo Electric Co In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
CA2011518C (en) * 1989-04-25 1993-04-20 Ronald N. Fortino Distributed cache dram chip and control method
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
EP0509055A4 (en) * 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
WO1991010198A1 (en) * 1990-01-05 1991-07-11 Maspar Computer Corporation Router chip with quad-crossbar and hyperbar personalities
US5313590A (en) * 1990-01-05 1994-05-17 Maspar Computer Corporation System having fixedly priorized and grouped by positions I/O lines for interconnecting router elements in plurality of stages within parrallel computer
US5301299A (en) * 1990-06-07 1994-04-05 Intel Corporation Optimized write protocol for memory accesses utilizing row and column strobes
KR100295074B1 (ko) * 1992-12-22 2001-09-17 리패치 응용주문형집적회로인에러정정코드메모리제어기
WO2000043883A1 (fr) * 1999-01-25 2000-07-27 Mitsubishi Denki Kabushiki Kaisha Unite peripherique de controleur programmable
EP1643658A1 (de) 2004-10-04 2006-04-05 Sony Deutschland GmbH Netzleitungsübertragungsverfahren

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1935390U (de) 1965-12-06 1966-03-24 Huelsta Moebelwerk Alois Huels Scharnier fuer moebeltueren.
DE2537787A1 (de) 1975-08-25 1977-03-03 Computer Ges Konstanz Modularer arbeitsspeicher fuer eine datenverarbeitungsanlage und verfahren zum durchfuehren von speicherzugriffen an diesem speicher
US4048623A (en) 1974-09-25 1977-09-13 Data General Corporation Data processing system
US4095265A (en) 1976-06-07 1978-06-13 International Business Machines Corporation Memory control structure for a pipelined mini-processor system
DE2755273A1 (de) * 1976-12-13 1978-06-15 Rca Corp Mikroprozessor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
FR2226079A5 (de) * 1973-04-13 1974-11-08 Honeywell Bull Soc Ind
US3810110A (en) * 1973-05-01 1974-05-07 Digital Equipment Corp Computer system overlap of memory operation
US3900836A (en) * 1973-11-30 1975-08-19 Ibm Interleaved memory control signal handling apparatus using pipelining techniques
JPS50128948A (de) * 1974-03-29 1975-10-11
US4024508A (en) * 1975-06-19 1977-05-17 Honeywell Information Systems, Inc. Database instruction find serial
US4045781A (en) * 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system
US4156925A (en) * 1976-04-30 1979-05-29 International Business Machines Corporation Overlapped and interleaved control store with address modifiers
DE2704560C2 (de) * 1977-02-03 1979-01-18 Siemens Ag, 1000 Berlin Und 8000 Muenchen Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
US4122359A (en) * 1977-04-27 1978-10-24 Honeywell Inc. Memory protection arrangement
US4130899A (en) * 1977-11-25 1978-12-19 Ncr Corporation System for operating volatile memory in normal and standby modes
US4189767A (en) * 1978-06-05 1980-02-19 Bell Telephone Laboratories, Incorporated Accessing arrangement for interleaved modular memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1935390U (de) 1965-12-06 1966-03-24 Huelsta Moebelwerk Alois Huels Scharnier fuer moebeltueren.
US4048623A (en) 1974-09-25 1977-09-13 Data General Corporation Data processing system
DE2537787A1 (de) 1975-08-25 1977-03-03 Computer Ges Konstanz Modularer arbeitsspeicher fuer eine datenverarbeitungsanlage und verfahren zum durchfuehren von speicherzugriffen an diesem speicher
US4095265A (en) 1976-06-07 1978-06-13 International Business Machines Corporation Memory control structure for a pipelined mini-processor system
DE2755273A1 (de) * 1976-12-13 1978-06-15 Rca Corp Mikroprozessor

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
DE-Z.: Elektronische Rechenanlagen 1973, H. 2, S. 60-65 *
DE-Z.: Elektron-Rechenanlagen, 1970, H. 2, S. 95-103
Kraft, Mini-Microcomputer "Hardware Design, Prentice-Hall, Inc., J.J. 1979, S. 488-492
Siemens Zeitschrift 1976, H. 4, S. 207-211
US-Buch: Planning a Computer System S. 228-230, McGraw-Hill Book Comp. 1962 *
US-PS 3 720 820 (Deckblatt)
Z-Funkschau, 1978, H. 14, S. 663-672

Also Published As

Publication number Publication date
GB2034944A (en) 1980-06-11
DE2953861C2 (de) 1989-01-26
US4316244A (en) 1982-02-16
NL7907768A (nl) 1980-05-12
AU532100B2 (en) 1983-09-15
DE2953861A1 (de) 1982-09-16
CA1134051A (en) 1982-10-19
GB2034944B (en) 1982-12-22
JPS55102050A (en) 1980-08-04
DE2944419C2 (de) 1988-08-18
FR2443099B1 (fr) 1988-03-25
FR2443099A1 (fr) 1980-06-27
AU5222879A (en) 1980-05-15

Similar Documents

Publication Publication Date Title
DE2944419A1 (de) Digitalrechnersystem
DE69929936T2 (de) Verfahren und Vorrichtung zum Abrufen von nicht-angrenzenden Befehlen in einem Datenverarbeitungssystem
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE3914265C2 (de)
DE3933849A1 (de) Prozessorgesteuerte schnittstelle
DE1956604A1 (de) Datenverarbeitungsanlage mit einem Speichersystem
DE2755897A1 (de) Ein/ausgabe-system
DE2829668A1 (de) Kanaldatenpufferspeicher
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE3303488A1 (de) Digitales signalverarbeitungssystem
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE102008021348A1 (de) Halbleiterspeicher, Speicherzugriffs-Steuersystem und Datenlese-Verfahren
DE2809602B2 (de) Kanalbus-Steuereinrichtung
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3911721C2 (de)
DE60015720T2 (de) Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
DE3650782T2 (de) Anordnung von Cachespeicherverwaltungseinheiten
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2953862

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 2953862

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2953862

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2953860

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2953860

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2953861

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2953861

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2954605

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2954605

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2954606

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2954606

AH Division in

Ref country code: DE

Ref document number: 2954605

Format of ref document f/p: P

Ref country code: DE

Ref document number: 2954606

Format of ref document f/p: P

Ref country code: DE

Ref document number: 2953861

Format of ref document f/p: P

D2 Grant after examination
AH Division in

Ref country code: DE

Ref document number: 2953861

Format of ref document f/p: P

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee