DE2824711A1 - Steuereinrichtung fuer speicherzugriffe - Google Patents

Steuereinrichtung fuer speicherzugriffe

Info

Publication number
DE2824711A1
DE2824711A1 DE19782824711 DE2824711A DE2824711A1 DE 2824711 A1 DE2824711 A1 DE 2824711A1 DE 19782824711 DE19782824711 DE 19782824711 DE 2824711 A DE2824711 A DE 2824711A DE 2824711 A1 DE2824711 A1 DE 2824711A1
Authority
DE
Germany
Prior art keywords
register
redo
write
control device
request
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.)
Withdrawn
Application number
DE19782824711
Other languages
English (en)
Inventor
Patrick Melvin Gannon
Kian-Bon K Sy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2824711A1 publication Critical patent/DE2824711A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Description

Anmelderin: International Business Machines
Corporation, Armonk N.Y., 10504
te/zi
Steuereinrichtung für Speicherzugriffe
Die Erfindung betrifft eine Steuereinrichtung für Speicherzugriffe nach dem Oberbegriff des Hauptanspruchs.
Die Erfindung beschreibt hauptsächlich die Verarbeitung von Schreibanforderungen für digitale Speicher durch eine Speichersteuerfunktion, die die Geschwindigkeit der Verarbeitung für Schreibzugriffsanforderungen in einem Prozessor wesentlich erhöht.
Die Erfindung befaßt sich mit Leseanforderungen an den Hauptspeicher im Hinblick auf deren Überschneidung mit der Verarbeitung von Schreibanforderungen; die Erfindung erhält eine notwendige Reihenfolge zwischen Lese- und Schreibanforderungen zum Hauptspeicher aufrecht. Die verbesserte Speicher-, Steuerfunktion gestattet die Überlappung mehrerer Schreibanforderungen unter Zählersteuerung, während sie einzeln verarbeitet werden, was zu unterschiedlichen Verarbeitungsverzögerungen führen kann, bevor die Anforderungen für den !Hauptspeicherzugriff benutzt werden können. Die Schreibanforderungen können außerhalb der Reihenfolge verarbeitet werden, in der sie von der Speichersteuerfunktion empfangen wurden, ;die Schreibanforderungen werden jedoch in der empfangenen 'Reihenfolge an den Hauptspeicher ausgegeben. i
iDer am nächsten liegende bekannte Stand der Technik ist die jProzessorspeichersteuerung im Prozessor IBM S/370, Modell J168-III. Diese Steuerung (PSCF) kann zwei Schreibanforderungen jvon der Instruktionsvorverarbeitungsfunktion (IPPF) in zwei !aufeinanderfolgenden Maschinenzyklen empfangen, denen zwei
PO 977 018
809851/0807
'Zyklen folgen, in denen keine Schreibanforderung zulässig ist. !Die Schreibanforderungsrate in der Prozessorspeichersteuerung ides Modells 168 ist somit halb so groß wie die Maschinenzy-Iklusrate.
Die IPPF des Modells 168-III hat zwei OA-(Operandenadreß-)Re-Igister und die PSCF hat zwei passende Schreibanforderungsregistersätze. Jedes OA-Register kann nur zu einem Registersatz ausgeben. Jeder Registersatz im Modell 168-III enthält ein Speicheradreßregister (STAR), ein F-Register zum Empfang eines zu speichernden Doppeldatenwortes und ein Markierungsregister, das anzeigt, welche Bytes im F-Register geändert wurden. Kein Schreibanforderungsregistersatz enthält ein Redo-(Halte- oder Wiederholungs-)Register. Ein einzelnes Redo-Register ist extern für beide Registersätze vorgesehen zum Empfang einer Lese- oder Schreibanforderung, die in der PSCF verzögert wird. Das Redo-Register leitet seine Leseanfor-; derung an den Hauptspeicher weiter und gibt seine Schreibanforderung an das STAR weiter, das zu dem F-Register gehört, das die Daten mit der entsprechenden Schreibanforderung emp- ■ fangen hat. In der PSCF kann eine verzögerte Lese- oder ■ Schreibanforderung im Redo-Register behandelt werden und | eine weitere Schreib- oder Leseanforderung im Übersetzer. ! Kein Registersatz kann benutzt werden, während das Redo- ' Register oder der Übersetzer belegt ist.
Alle Schreibanforderungen in der Maschine 168 wurden von den zwei Operandenadreßregistern (OA) in ihrer IPPF gegeben. Jedes OA-Register kann an nur einen vorherbestimmten Schreibanforderungsregistersatz in der PSCF ausgeben. Ein OA-Register kann außerdem keine andere Schreibanforderung empfangen, bis es durch seinen zugehörigen Registersatz freigegeben ist, der die entsprechende Schreibanforderung an den Hauptspeicher ausleitet.
Eine Zugriffsanforderung kann verzögert werden durch irgend einen Vorgang^ in.der P-SCF, beispielsweise (1) bei der notwen- ;
PO977018 809851/0807
1 digen Übersetzung einer mit der Zugriffsanforderung gelieferten logischen Adresse in eine absolute Adresse, weil diese
in dem Übersetzungsnebenpuffer (DLAT) nicht zur Verfügung
steht oder (2), weil das Redo-Register durch eine vorhergehende Anforderung belegt ist, oder (3) weil eine Leseanforderung
• auftritt, während eine Blockübertragung für eine vorhergehende Leseanforderung an irgendeinder Adresse läuft, oder (4)
weil eine Schreibanforderung auftritt, während ein Blocklesen
an der Adresse der Schreibanforderung abläuft. Bei der Verarbeitung einer Anforderung durch die PSCF tritt eine Verzögerung mit vielen Maschinenzyklen ein.
Das Redo-Register der Maschine 168 wird geladen, wenn eine
Anforderung nicht in die Register FAR, STAR1, STAR2 oder das
logische Übersetzeradreßregister (LAR) geleitet werden kann.
Das Redo-Register wird daher (soweit verfügbar) (1) mit einer
'■ Leseanforderung geladen, wenn das Leseanforderungsadreßregister (FAR) belegt ist (und somit ein Blocklesen anzeigt)
I oder (2) mit einer Schreibanforderung, wenn das FAR einen Lesefvorgang an der Adresse der Schreibanforderung steuert, oder ! (3) mit einer Lese- oder Schreibanforderung bei einem DLAT-
:Fehltreffer, wenn der Übersetzer mit einer vorherigen Anfor- .
: derung belegt ist. i
In den Übersetzer werden Adressen eingeleitet (geladen; ohne ι 'Einleitung in das Redo-Register), wenn er beim Auftreten i ■ einer Lese- oder Schreibandorderung mit DLAT-Fehltreffer nicht j anderweitig belegt ist.
I Bisher sind auch andere Steuertechniken für den Speicherzu-
I !
i griff bekannt geworden, wie sie etwa in der US-Patentschrift i
i j
1 3 670 309 beschrieben sind, die das Problem auf andere Weise ι
I ι
' durch einen Reihenfolge-Verriegelungsvektor in jeder Zugriffs-! j anforderungseintragung im Speicheranforderungsstapel lösen. !
ι
PO 977 018
809851/0807
ι - 11 - ;
ι ;
!Schreib- und Leseanforderungen werden in einen Anforderungs- · !Stapel und ein Kennzeichen in eine entsprechende Eintragung gesetzt, um anzuzeigen, ob es sich um eine Lese- oder Schreib-Ianforderung handelt.
!Der Reihenfolge-Verriegelungsvektor wird von einem Reihen- !folgeverriegelungsgenerator geliefert, der bestimmte Bits ;in der laufenden Stapeleintragung so setzt, daß die Eintraigung mit anderen Eintragungen im Stapel verkettet wird und ihre empfangene Reihenfolge für die Adressierung der in den j Stapeln dargestellten Anforderungen anzeigt. Der Verriege- !lungsvektor besteht aus Bits, die die Stufen (d.h. anderen !Eintragungen) bezeichnen, in denen jedes Kennzeichen ver-Iriegelt wird, um die Reihenfolge zu erhalten.
Ίη der US-Patentschrift 3 462 744 wird noch eine andere !Technik gezeigt, um die Reihenfolge verzögerter Operanden aufrechtzuerhalten. Spezielle Kennzeichen zeigen verzögerte ISpeicheroperanden an, die gerade abgerufen oder gespeichert werden, so daß die diese Operanden benutzenden Instruktionen teilweise unter Verwendung der Kennzeichen anstelle der Operanden verarbeitet werden können. Wenn ein Operand gelesen jwird, wird sein Kennzeichen an alle Registerstellen gegeben, 'die einen Operanden erwarten, und die gelesenen Daten werden dann auf einer gemeinsamen Sammelleitung nur in diejenigen Register geleitet, an denen die gesendeten und die verglichenen Kennzeichen übereinstimmen. Durch die Verwendung der gesendeten Kennzeichen wird garantiert, daß Lese- und Schreibvorgänge ebenfalls in der richtigen Reihenfolge stattfinden, obwohl ihre Verarbeitung zwischendurch außerhalb der Reihenfolge liegt.
Die vorliegende Erfindung verwendet weder die Kennzeichenanordnung, die in der US-Patentschrift 3 462 744 beschriejben ist, noch benutzt sie die Stapelanordnung nach der US-Patentschrift 3 670 309.
PO 977 018
809851/0807
Die vorliegende Erfindung verbessert die bisher im Prozessor M168-III verwendete Anordnung und ermöglicht eine Verdoppelungj der Maschinenzyklusrate der Schreibverarbeitung in einer PSCF.*
Eine Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte Steuereinrichtung für Speicherzugriffe anzugeben, bei der die Verarbeitungsrate von Schreibzugriffsanforderungen wesentlich erhöht ist. Diese Aufgabe wird durch die im Hauptanspruch gekennzeichnete Erfindung gelöstϊ Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Die Erfindung gestattet generell der Instruktionsverarbeitungs-· einrichtung die Präsentation einer Schreibanforderung an die PSCF in jedem Maschinenzyklus, solange die Instruktionsverarbeitungsanlage Schreibanforderungen abgeben kann. Die meisten Schreibanforderungen stehen nur zwei Maschinenzyklen in der PSCF, einige können jedoch auch Dutzende von Maschinenzyklen der Verarbeitung in der PSCF brauchen.
Die Erfindung schafft weiterhin eine neuartige Hardwaresteueirung in der Prozessorspeichersteuerfunktion (PSCF), die j gleichzeitig mehrere Schreibanforderungen außerhalb der Reihenfolge verarbeiten kann, die verarbeiteten Schreibanforde- j rungen jedoch an den Hauptspeicher in derselben Reihenfolge ausleitet, in der sie von einer Instruktionsvorverarbeitungs-,einheit (IPPF) gegeben wurden. Die Störung der Reihenfolge kann durch äußere, nicht vorhersehbare Ereignisse erfolgen, z. B. DLAT-Fehltreffer, Übertragung von Datenblöcken etc.
Nach einem weiteren Mermal sorgt die vorliegende Erfindung für die überlappte Verarbeitung mehrerer Schreibanforderungen, die auch mit der Verarbeitung einer Leseanforderung überlappt (werden können. Die Verarbeitungsrate von Schreibanforderungen der PSCF wird nicht wesentlich dadurch beeinflußt, ob die Schreibanforderungen in einem schnellen Arbeitsspeicher I (Cache) mit Durchspeicherung (storethrough) erfolgen.
PO 977 018
809851/0807
! - 13 -
'Ein weiteres Merkmal dieser Erfindung besteht daher in der ,Schaffung einer PSCF-Einrichtung zur gleichzeitigen und unabhängigen Verarbeitung mehrerer Schreibanforderungen, ,die verschiedene und unterschiedlich große Verzögerungen betreffen. Trotzdem stellt die PSCF-Einrichtung die empfangene ■Reihenfolge der Speicheranforderungen wieder her, wenn diese 'an den Hauptspeicher ausgeleitet werden.
;Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, die Anforderungs-Ausgaberate der IPPF an die PSCF da-ίdurch zu erhöhen, daß die IPPF jedes Operandenadreßregister Ϊ(OA) zum Empfang einer nächsten Zugriffsanforderung freige-
jben kann, sobald sie eine Anforderung an die PSCF ausgelei- |tet hat. Der bisherige Prozessor in M168-III konnte ein Oa-Register erst freigeben, wenn seine ausgegebene Anforde-
!rung ihre Verarbeitung in der PSCF beendet hatte und in den IHauptspeicher ausgeleitet wurde.
Ein weiteres Merkmal der vorliegenden Erfindung besteht in der Einschaltung jedes OA-Registers in der IPPF zur Bedienung durch jedes der STAR. Das war in der bisherigen Maschine M168-III nicht möglich, weil dort einem OA-Register ein STAR
I fest zugeordnet war. Diese neuartige Flexibilität in der ISTAR-Verbindung erhöht die Behandlungsrate von Schreiban-
ιforderungen wesentlich. i
Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, Freigabeleitungen zu erübrigen, die vom Ausgangstor eines STAR zu permanent zugeordneten OA-Register in der IPPF zurücklaufen.
Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, mehrere Redo-Register in Registersätzen vorzusehen, die nur Schreibanforderungen behandeln. Jeder Registersatz besteht aus einem Redo-Register, einem STAR, einem F-Register,
PO977018 809851/0807
einem Markierungsregister und einem Mischregister. Durch Vorsehen der Redo-Register in Registersätzen und Spezialzähler zur Steuerung der Operation der Registersätze können sie verzögerte Schreibanforderungen gleichzeitig behandeln. Die Registersätze im herkömmlichen System M168III konnten das nicht und hatten keine Zählersteuerung. Dadurch kann die Schreibanforderungsverarbeitungsrate gegenüber dem herkömmlichen System verbessert werden, weil mehrere verzögerte Schreibanforderungen empfangen und gleichzeitig überlappt verarbeitet werden können.
Ein weiteres Merkmal der Erfindung ist eine neuartige Lese-Schreib-Reihenfolgesteuerung. Ein Zurückweisungssignal für Leseanforderung wird von der PSCF an die IPPF gegeben, um letztere am Senden einer Leseanforderung zu hindern, während eine Schreibanforderung durch ein Redo-Register verarbeitet wird, obwohl die IPPF weitere Schreibanforderungen senden kann, solange wenigstens ein Registersatz zur Verfügung steht. Das Zurückweisungssignal für Lesen hält die richtige Reihenfolge zwischen Einspeicherung und Lesen dadurch aufrecht, daß es eine neue Leseanforderung vor einer in der PSCF verzögerten früheren Schreibanforderung verhindert. Zu jedem Redo—Register gehört ein Belegungstrigger zur Anzeige dafür, jdaß es eine gültige Anforderung enthält. Ein einziger Redo- !Anforderungstrigger bedient alle Redo-Belegungstrigger, ;indem er eine Anforderung an die PSCF-Adreßsammelleitung ;richtet, sobald ein Redoregister eine Anforderung enthielt. 'Eine unterschiedliche Taktierung zwischen den Redo-Anforderungstriggern und der Redo-Belegungstriggern unterstützt außerdem die PSCF.
Ein weiteres Merkmal der vorliegenden Erfindung ist ein Schreibzähler in der PSCF, mit dem gegenseitige Behinderungen ,zwischen der PSCF und der IPPF eliminiert werden, wie sie bis- |her üblich waren. Eine Hauptfunktion des Schreibzählers be- j
PO 977 018
809851/0807
steht darin, die Unabhängigkeit zwischen den OA-Registern der IPPF und den Schreibanforderungsregistersätzen der PSCF dadurch zu bekommen, daß der IPPF angezeigt wird, wenn die Schreibanforderungsregistersätze ungefähr voll sind und wenn sie ganz voll sind. Dadurch kann jedes OA-Register in der IPPF eine Schreibanforderung an einen nicht belegten Registersatz in der PSCF übertragen. Register brauchen zwischen der IPPF und der PSCF nicht fest zugeordnet zu werden.
Ein weiteres Merkmal des Schreibzählers besteht darin, daß '.
■ er ein einfaches Mittel bildet, um die Instruktionen seriell ; auszuführen (d.h. die Instruktionen, die nicht überlappt ausgeführt werden dürfen). Serialisierungsinstruktionen ; verlangen, daß die gesamte Verarbeitung im Prozessor für . die unmittelbar vorhergehende Instruktion beendet ist, bevor j die Ausführung der Serialisierungsinstruktion beginnen kann. Die Instruktionen sind definiert auf Seite 28 des IBM System/
■ 370 Principles of Operation (Form Nr. GA22-7OOO-4). Der ; Schreibzähler zeigt der IPPF an, wenn in der PSCF keine ; Schreibanforderung aussteht (z. B. alle in den Hauptspeicher : übertragen wurden), wobei es sich um den letzten Ausführungsschritt zum Steuern der Serialisierung von Instruktionen , handelt, auch wenn der Hauptspeicher die Daten noch nicht gespeichert hat, die zu den von der PSCF ausgegebenen Schreib-· anforderungen gehören. ;
ι Ein weiteres Merkmal des Schreibzählers besteht darin, daß j man mit ihm das richtige Arbeiten der PSCF prüfen kann. Durch j Vorsehen einer zusätzlichen Zählkapazität im Schreibzähler . I
i (d.h. er zählt eine Zahl weiter als Schreibanforderungsregistersätze in der PSCF vorhanden sind), kann der Schreibzähler für Prüfzwecke überwacht werden, um festzustellen, ob er jemals einen höheren Zahlenwert als die Anzahl von Registersätzen enthält. In diesem Fall wird ein ungenügendes Arbeiten der PSCF angezeigt und ein Maschinenfehlerunterbrechungssignal erzeugt.
PO 977 018
809851/0807
Ein weiteres neues Merkmal der Erfindung ist ein Eingabezeigerzähler, der die Schreibanforderungsregistersätze unter Steuerung von Schreibanforderungen von der IPPF in eine Reihenfolge setzt. ,
Ein weiteres neues Merkmal der Erfindung ist ein Redo-Ausgabezeigerzähler, der diejenigen Redo-Register steuert, die ihren Inhalt an die PSCF-Sammelleitung am Ende der PSCF-Verarbeitung für die Redo-Schreibanforderung ausleiten, '■ wenn eine absolute Adresse (entsprechend einer logischen Adresse im Redo-Register) in der PSCF zur Verfügung steht.
i
Ein weiteres neues Merkmal der Erfindung ist ein STAR-Ausgabezähler, der in Relation zu den Eingabezeiger- und Aus-
gabezeigerzählern so gesteuert wird, daß er die PSCF-Ausgabereihenfolge der Schreibanforderungen an den Hauptspeicher aufrechterhält. Die PSCF kann eine Schreibanforderung ausgeben, nachdem deren absolute Adresse in ein STAR einge-.leitet ist.
I Zusammenfassend kann gesagt werden, daß diese Erfindung eine i Hardwaresteuerung zur Verarbeitung von Prozessorschreibanfor-, derungen liefert, bestehend aus einem Schreibzähler, einem ι Eingabezeigerzähler, einem Ausgabezeigerzähler, einem Übersetzerzeigerregister und einem Ausgangszähler zur Steuerung der Reihenfolge aller Schreibanforderungen beim Empfang von der IPPF während der Verarbeitung und Ausgabe durch die PSCF. Die PSCF-Verarbeitung kann eine Anforderung verzögern: beispielsweise (1) bei einer Schreibanforderung durch fehlenden Eintrag im DLAT, weil dann auf die Übersetzung gewartet werden muß, oder (2) obwohl eine Schreibanforderung eine übersetzung braucht, kann sie weiter verzögert werden, weil der Übersetzer noch durch eine vorhergehende Anforderung belegt ist, oder . (3) eine Schreibanforderung hat einen
PO 977 018
809851/0807
ι - 17 -
ι DLAT-Treffer und keine Übersetzungsverzögerungen, dann kann 1 sie aber durch andere Vorgänge verzögert werden, beispiels-I weise dadurch, daß sie auf den Abschluß der übersetzung !einer von der PSCF früher empfangenen Schreibanforderung wartet, oder (4) eine Schreibanforderung kann verzögert werden, weil sie eine Adresse ansteuern muß, die gegenwärtig für ein früheres Blocklesen adressiert wird, oder (5) eine Schreibanforderung kann verzögert werden durch eine Kombi-I nation der vorhergehenden Verzögerungen in der Verarbeitung I einer Folge von Schreibanforderungen in der PSCF.
Durch den Schreibzähler kann jeder Schreibanforderungsregistersatz in der PSCF vom Eingabezeigerzähler zum Empfang einer Schreibanforderung gewählt werden, die durch ein
IIPPF-OA-Register gesendet wurde. Der Schreibzähler wird am !Anfang auf Null gestellt und schrittweise durch jede Schreibanforderung erhöht, die die PSCF von der IPPF empfängt. Der Schreibzähler wird durch jede Schreibanforderung heruntergesetzt, die von der PSCF an den Hauptspeicher ausgegeben wird.
Wenn der Schreibzähler auf seine höchst zulässige Zahl hochgezählt wurde (gleich der Anzahl der Registersätze), erzeugt er ein Signal "keine Schreibanforderung mehr", sobald alle Registersätze belegt sind. Er erzeugt ein Signal "noch eine Schreibanforderung", wenn nur noch ein Registersatz für eine Schreibanforderung zur Verfügung steht. Die Signale "keine Schreibanforderung mehr" und "noch eine Schreibanforderung" werden an die IPPF gesendet, so daß sie das Senden neuer Anforderungen steuern kann, um ein überlaufen der Schreibanforderungsregistersätze in der PSCF zu verhindern. Wegen der Umlaufzeit zwischen der PSCF-Schreibzähleroperation und der IPPF-Antwort der Aufrechterhaltung einer Anforderung
ι kann die IPPF das Absenden von Schreibanforderungen auch ver- [ langsamen, wenn sie das Signal "noch eine Schreibanforderung" j
PO 977 018
809851/0807
empfängt, so daß sie das Senden weiterer Anforderungen stoppen kann, um einen Registersatzüberlauf zu vermeiden beim Empfang des Signales "keine Schreibanforderung mehr". Zahlen oberhalb der Signalzahl "keine Schreibanforderung mehr" werden außerdem für die Anzeige eines Ausfalles in der PSCF benutzt, um dann eine Maschinenprüfung zu erzeugen.
Außerdem gibt der Schreibzähler Signale, wenn keiner der Registersätze belegt ist und zeigt somit an, daß keine Schreibanforderungen in der PSCF ausstehen, so daß die IPPF dieses Signal zur Synchronisation des Ausführungsbeginnes einer Serialisierungsinstruktion benutzen kann.
Der Eingabezeigerzähler, der Ausgabezeigerzähler und der Ausgabezähler enthalten Zahlen, die gleich der Anzahl der Schreibanforderungsregistersätze sind und jeweils von der höchsten zur niedrigsten Zahl umlaufen. Der Eingabezeigerzähler, der Ausgabezeigerzähler und der Ausgabezähler haben im allgemeinen während des Betriebes der Erfindung verschie-■dene Zahleneinstellungen.
i Der Eingabezeigerzähler wählt den Registersatz, der die !nächste IPPF-Schreibanforderung entweder in seinem STAR Ioder im Redo-Register empfängt. Der Eingabezeigerzähler wird sequentiell durch jede Schreibanforderung von der
iIPPF erhöht, um den nächsten Registersatz zu wählen, der ,
I '
Idie nächste IPPF-Schreibanforderung behandelt. Wenn eine | I ippF-Schreibanforderung nicht in der PSCF verzögert werden soll, findet sich ihre absolute Adresse direkt in einem Maschinenzyklus in dem Übersetzungsnebenpuffer (DLAT) und wird durch die PSCF-Sammelleitung in das STAR im gegenwärtig gewählten Registersatz geleitet. Wenn aber eine Schreib-· anforderung in der PSCF verzögert werden muß, wird ihre logische Adresse in das Redoregister im gegenwärtig gewählten Satz geleitet.
PO 977 O18
809851/0807
Der Redo-Ausgabezeigerzähler arbeitet vom Eingabezeigerzähler getrennt (obwohl er damit synchronisiert ist) und wird am Ende der PSCF-Verzögerungsperiode dazu benutzt, denjeni- '. gen Registersatz zu wählen, der ein Redo-Register enthält, das eine Redo-Anforderung zur Übertragung seiner Schreiban- '. förderung an das STAR-Register in demselben Registersatz gibt. Jede Redo-Anforderung bringt eine Prioritätsanforderung für die PSCF-Sammelleitung mit sich, so daß das Redo-Register seine Schreibanforderung in die PSCF-Sammelleitung eingeben kann. Wenn eine Redo-Anforderung akzeptiert wird, : ,wird der Ausgabezeigerzähler so gesetzt, daß er denjenigen Registersatz wählt, der das akzeptierte Redo-Register ent-Ihält. Dann wird die logische Adresse im akzeptierten Redo-Register auf die PSCF-Sammelleitung ausgeleitet. Wenn keine 'weitere PSCF-Verzögerung für diese Schreibanforderung vorliegt, wird sie auf den DLAT ausgeleitet, in dem die abso-ίlute Adresse gefunden und durch die PSCF-Sammelleitung in das STAR im gewählten Registersatz geleitet wird. Das STAR verlangt dann Hauptspeicherpriorxtät und bei Annahme wählt j lein Ausgabezähler das STAR und die absolute Adresse für die I Anforderung wird vom STAR in den Hauptspeicher übertragen. j
Wenn jedoch eine weitere PSCF-Verzögerung für die angenommene ! Redo-Anforderung vorliegt (wie etwa die Verarbeitung einer früheren Schreibanforderung in der PSCF), wird diese Redo-Anforderung (d.h. die in die PSCF-Sammelleitung eingegebene logische Adresse) in dasselbe Redo-Register zurückübertragen, um die weitere Verzögerung abzuwarten. Das Redo-Register stellt weiter Redo-Anforderungen, bis seine Anforderung in Form der absoluten Adresse in das STAR gesetzt wird.
Sobald der übersetzer eine Schreibanforderung zur übersetzung empfängt, empfängt ein Übersetzerzeigerregister die Zählerausgabe, die den Registersatz wählt, der der vom übersetzer empfangenen Schreibanforderung zugeordnet ist. Wenn
PO 977 018
809851/0807
der Übersetzer eine IPPF-Schreibanforderung empfängt, wird der Inhalt des Eingabezeigerzählers in das Übersetzerzeigerregister ausgegeben. Wenn der übersetzer eine Redo-Anforderung empfängt, wird der Inhalt des Redo-Ausgabezeigerzählers in das Übersetzerzeigerregister ausgegeben. Wenn der Übersetzer eine Leseanforderung empfängt, wird kein Zählerinhalt in das Übersetzerzeigerregister eingeleitet.
Wenn der übersetzer anzeigt, daß seine laufende Übersetzung beendet ist, gibt er eine Prioritätsanforderung an die PSCF-Sammelleitung. Wenn die übersetzerSchreibanforderung akzeptiert wird und zwischen der Schreibanforderung und einem Blocklesen kein Konflikt besteht, wird der Ausgabezeigerzähler auf den Zeigerwert im Übersetzerzeigerregister gesetzt, so daß der Ausgabezeiger dann den Registersatz zum Empfang der Übersetzung in seinem STAR bezeichnet, wenn keine weitere PSCF-Verzögerung für die Übersetzerschreibanforderung vorliegt.
Der Ausgabezähler wählt somit den Registersatz, dessen STAR als nächstes eine Schreibanforderung von der PSCF an den Hauptspeicher ausgibt. Wenn kein STAR belegt ist, wird der Ausgabezähler auf den aktiven Eingabezeiger oder den Ausgabezeigerzähler gesetzt, wenn die PSCF-Sammelleitung eine Schreibanforderung akzeptiert. Der Ausgabezähler wird jedesmal erhöht, wenn ein STAR-Hauptspeicherannahmesignal gegeben wird.
j Sonderschaltungen regeln daher automatisch die Einstellungen j des Redo-Ausgabezeigerzählers und des STAR-Ausgabezählers unter verschiedenen Bedingungen auf den laufenden oder einen
! früheren Wert des EingabezeigerZählers oder des Ausgabezei-
igerzählers, um die benötigte PSCF-Verarbeitungs- und Ausgabereihenfolgesteuerung der Schreibanforderungen zu bekommen.
PO 977 018
809851/0807
'Die vorliegende Erfindung kann Schreibanforderungen in ι einer Leseanforderungen behandelnden Maschine verarbeiten, I wie sie in der US-Patentschrift 3 588 829 beschrieben ist bei der ein Blocklesen aufgrund eines im Cache nicht enthal-Itenen Blocks durch eine Leseanforderung gesteuert wird.
Die vorliegende Erfindung kann die von der PSCF verarbeiteten Lese- und Schreibanforderungen an eine Quelle/Senke-Kellerstapelregisterkette ausgeben, die eine Hauptspeichersteuerung bildet, um verschachtelte Modulen anzusteuern, wie es in der US-Patentschrift 3 449 724 beschrieben ist.
Ohne Verzögerung in der PSCF braucht eine Schreibanforderung zwei Maschinenzyklen zum Durchlaufen der PSCF. Ungefähr 99 % der Schreibanforderungen werden jedoch mit DLAT-Treffern erwartet und brauchen daher keine Übersetzung und be-,nötigen somit nur zwei Zyklen in der PSCF. Das restliche ! Prozent muß übersetzt werden und braucht ungefähr 30 Zyklen pro Übersetzung. Bei verzögerten Anforderungen kann die Verzögerung innerhalb der PSCF etwa 150 Maschinenzyklen dauern. Im ungünstigsten Fall (der in der Praxis selten oder nie vorkommt) müssen vier aufeinanderfolgende Schreibanforderungen übersetzt werden, d.h. vier aufeinanderfolgende Schreibanforderungen in vier verschiedenen Seiten haben keine Übersetzung in der DLAT.
Ein Ausführungsbeispiel der Erfindung ist in der beigefügten Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
Fign. 1A bis 1F ein Ausführungsbeispiel einer Prozessorspeichersteuerfunktion (PSCF);
Fig. 1G einen Teil der im Ausführungsbeispiel ver-|
wendeten Instruktionsverarbeitungseinheit; |
PO 977 018
809851/0807
PO 977 018
- j
. ι
■Fign. 2Α und 2Β allgemeine Ablaufdiagramme der Arbeitsweise ; der Schaltungen in den Fign. 1A bis 1P; '
ι Fign. 3A bis 3D detaillierte Ablaufdiagramme für die
Schaltungen in den Fign. 1A bis 1F; und
Fign. 4 und 5 ausführlichere Teile der Ablaufdiagramme : in Fig. 3C.
,Die Figuren 1A bis 1F zeigen die Teile der Schaltung in der Prozessorspeichersteuerfunktion (PSCF), die die vorliegende Erfindung enthalten. Fig. 1G zeigt die Schaltung der Instruk- :tionsvorverarbeitungsfunktion (IPPF), die an die PSCF angeschaltet ist. Schreib- und Leseanforderungen werden von der IPPF in Fig. 1G auf die Leitung 10 in der PSCF in Fig. 1A gegeben. Fig. 1G zeigt die Ableitung der Schreib- und Lese-Janforderungen aus den Operandenadreßregistern 0A1 bis OAn ;in der IPPF. Leseanforderungen werden außerdem von der Injstruktionsabrufsteuerung in der IPPF gegeben. Jede Anforderung wird an die PSCF-Prioritätsschaltung in Fig. 1A gegeben, wo sie mit anderen Schreibanforderungen, die in der PSCF !verzögert wurden und früher durch die Sammelleitung 10 von ider IPPF geliefert wurden, um die Priorität zur PSCF-Sammel- !leitung konkurrieren kann. Konkurrierende Anforderungen haben !ihre Verarbeitung ganz oder teilweise in der PSCF beendet ■und werden in einem oder mehreren der Redo-Register 16-1, 16-2, 16-3 oder 16-4 festgehalten, die in Fig. 1C oder 1D gezeigt sind, oder in den übersetzerzeigertriggern 14A in Fig. 1A. Ein Redo-Anforderungssignal wird auf der Leitung und ein Übersetzeranforderungssignal auf der Leitung 13 an die PSCF-Prioritätsschaltung 11 gegeben. Diese entscheidet, j welche der empfangenen Anforderungen auf die PSCF-Sammel- ' leitung zu setzen ist, indem sie eine Übersetzeranforderung
809851 /0807
1 i
auf der Leitung 13 die höchste Priorität zuordnet, die nächst-j j höhere Priorität einer Redo-Schreibanforderung auf der Leitung,
12 und die niedrigste Priorität einer neuen Schreib- oder j
.Leseanforderung von der IPPF auf der Leitung 10. Die IPPF !
: sendet jeweils nur eine Anforderung. '■
,Diejenige Anforderung, die die Priorität erhalten hat, wird
von der PSCF-Prioritätsschaltung 11 auf die PSCF-Sammellei- I Itung 21 gegeben, die aus der PSCF-Steuerleitung 21A und einer ; jPSCF-Adreßleitung 21B besteht. Einer der fünf Trigger T 22A, j j B, C, D oder E, die mit der PSCF-Steuerleitung 21A verbunden ! I sind, wird aufgrund der empfangenen Anforderung gesetzt, die
von der PSCF-Prioritätsschaltung 11 die höchste Priorität : erhielt. Der eingeschaltete Trigger schaltet dann eine zugehörige Verriegelung (VER, L) 23A, B, C, D oder E ein, wegen ; der Triggerverriegelungsschaltung, die in diesem Prozessor ■ '< verwendet wurde. In dieser Schaltung wird ein Signal in ab- ; ; wechselnden Taktzyklen zuerst vom Trigger und dann von der \ !Verriegelung empfangen, während es auf einer bestimmten Bahn ; i im Prozessor weitergeleitet wird. Die gesetzte Verriegelung
'gibt an, ob eine gegenwärtige akzeptierte Anforderung von ' ι einem Redo-Register, einem übersetzer mit Schreiben, einem
I ippF-Schreiben oder Leser bzw. einem Übersetzer mit Lesen j {kommt. Ein Ausgangssignal einer der Verriegelungen 23A, B ;
I oder C an das ODER-Glied 24 zeigt die Annahme einer Schreib-
! ι
!anforderung durch die PSCF an, d.h. Redo-Annahme, Übersetzer- ;
I ]
schreibannahme oder IPPF-Schreibannahme, und damit wird auch !
eine Schreibanforderungsadresse auf der PSCF-Adreßleitung 21B j. bezeichnet und die Bereitschaft für einen nächsten Verarbeitungsschritt in der PSCF.
Eine Leseanforderung wird von der IPPF ebenfalls auf die
Leitung 10 gegeben. Die Leseanforderung wird zur Verarbeitung durch die PSCF von dieser jedoch nur angenommen, wenn
keine Schreibanforderungen in der PSCF verzögert werden.
PO977018 809851/0807
Wenn das der Fall ist, wird diese Anforderung zurückgewiesen. Eine PSCF-Schreibverzögerung wird angezeigt, wenn ein Redo-Register belegt ist oder der übersetzer mit einer Schreibanforderung belegt ist, und zwar über die UND-Glieder 26A bzw. 26B, die ein Ausgangssignal über das ODER-Glied 26C liefern und ein Zurückweisungssignal für Lesen auf der Leitung 26E erzeugen, das an die IPPF gegeben wird, damit diese die Leseanforderung immer wieder sendet, bis sie von der PSCF angenommen wird, wenn diese keine verzögerten Schreibanforderungen mehr hat.
Die Trigger 22A, B, C, D und E und die Verriegelungen 23A, B, C, D und E arbeiten einen Zyklus lang und werden automatisch vom Systemtakt innerhalb eines Zyklus nach ihrer Einschaltung wieder zurückgestellt. Während sie eingeschaltet sind, wird dieser ihr Zustand an eine Empfangsschaltung weitergeleitet, bevor die Verriegelung zurückgestellt wird.
Wenn die PSCF-Prioritätsschaltung 11 eine Anforderung annimmt und ihre Steuerleitung 21A aktiviert, liefert die PSCF-Adreßleitung 21B die logische Adresse der Anforderung an das PSCF-Adreßregister 21C (Trigger), das dann die Anforderungsadresse an die PSCF-Adreßrlege1 21D überträgt. Der Ausgang der Adreßriegel 21D liefert die Adresse auf die Sammelleitung 21E in Fig. 1C, von wo sie in das logische Adreßregister (LAR) im Übersetzer oder in das Leseadreßregister ι(FAR) oder in das STAR oder das Redo-Register gegeben wird, !das durch die laufende Einstellung des EingabezeigerZählers 31 über die Decodierer 7OA bzw. 7OB gewählt wurde. Es ist !jedoch nur eines der eingeleiteten Register gültig und zwar jdas Register, dessen Trigger gesetzt ist. Die PSCF-Adreßleijtung ist im einzelnen in Fig. 1F gezeigt.
Wenn eine Leseanforderung vorliegt, wird der in Fig. 1C gezeigte FAR-Belegungstrigger 36A durch eine Ausgabe vom ODER-
PO 977 018
809851/0807
282A711
I Glied 18C in Fig. 1A aufgrund eines Signales vom UND-Glied 18A oder 18B gesetzt. Das UND-Glied 18B liefert ein Signal, wenn das Leseannahmesignal vom übersetzer auf der Leitung 25E und ein Signal "Cache-Fehltreffer" auf der Leitung 8A auf-: treten. Das UND-Glied 18A liefert ein Signal beim Auftreten eines Leseannahmesignales von der Verriegelung 23D der IPPF, wenn ein Signal "Cache-Fehltreffer" auf der Leitung 8A liegt und ein DLAT-Treffersignal auf der Leitung 9C unter der Voraussetzung, daß kein Zurückweisungssignal für Leseanforderung auf der Leitung 26E gegeben wird, weil eine oder mehrere Schreibanforderungen in der PSCF verzögert werden. Wenn das FAR belegt geschaltet ist, wird die darin enthaltene Anforderung ausgeleitet, um Hauptspeicherprxorität anzufordern, da- : mit mit der übertragung eines Blockabrufes vom Hauptspeicher in den Cache-Speicher 7 begonnen werden kann.
Der STAR-Belegungstrigger wird durch ein Signal auf der Lei- ' tung 5OA vom ODER-Glied 45D in Fig. 1D eingeschaltet, das von ; einem der UND-Glieder 45A, B oder C kommt. Das UND-Glied ! 45A fühlt ab, wenn eine IPPF-Schreibanforderung angenommen ; und in das STAR-Register eingeleitet wird; das wird durch das UND-Glied 45A abgefühlt, wenn keine IPPF-Schreibanforderung vorliegt, ein DLAT-Treffer, kein Belegungssignal für ! ein Redo-Register vorliegt, der übersetzer nicht mit einem , Schreibvorgang belegt ist (Übersetzer BEL. W/ST) und die absolute Schreibanforderungsadresse von DLAT nicht gleich ist mit einer ausstehenden Leseanforderung im FAR.
Das UND-Glied 45B fühlt ab, wenn der übersetzer sein Ergebnis direkt an ein STAR ausgeben kann, nämlich wenn eine Übersetzerschreibanforderung akzeptiert ist und die vom übersetzer gelieferte absolute Adresse nicht gleich ist mit einer laufenden Leseanforderung im FAR.
PO 977 018
809851/0807
S - 26 -
ι ι
.Im einzelnen heißt das, eine Übersetzeranforderung wird ge- ; ■stellt, sobald eine Übersetzeroperation durch den Übersetzeraddierer und die Steuerungen 14E beendet ist. Bei Annahme \ ■wird die im TAR 14F erzeugte Adresse auf der Leitung 14S an
idas PSCF-Adreßregister 21C und dann an die PSCF-Verriegelung
•21D gegeben, von wo die Adresse in das STAR und das Redo-Register geleitet wird, die gegenwärtig durch den Inhalt des
Übersetzerzeigerregisters 14A gewählt sind, der durch das
UND-Glied 26 in Fig. 1B läuft. Die PSCF-Adreßleitung 21E
leitet auch die TAR-Adresse in den in Fig. 1C gezeigten FAR-Vergleicher 40. Wenn RA^FAR ist, wird die Leitung 4OB aktiviert, das UND-Glied 45B in Fig. 1D eingeschaltet und dadurch der gewählte STAR-Trigger belegt geschaltet, womit
der Empfang der absoluten Adresse im gewählten STAR beendet
ist. Das gewählte Redo-Register wird ignoriert, weil sein
Belegungstrigger nicht gesetzt ist.
.Wenn aber RA=FAR ist, wird die Leitung 4OB erregt und es [
liegt ein Konflikt zwischen der Schreibanforderung und einem ι
Lesen des laufenden Blockes vor. Dann wird kein Belegungs- ■
.trigger gesetzt und der Empfang der übersetzten Adresse im '
!gewählten STAR verzögert, bis der Blockabruf fertig ist. <
J Das wird gesteuert durch Verbindung der RA=FAR Leitung 4OA I
j und Leitung 36C "FAR nicht belegt" zurück zur übersetzersteue-i
*rung 4OE, um die Erzeugung der nächsten Übersetzeranforde- ι
I rung zu steuern, ohne die Adresse in TAR 14 zu stören. Somit
]wird die nächste Anforderung durch das Signal RA=FAR auf :
der Leitung 4OA gesperrt und tritt ein, sobald die Leitung ί
36C signalisiert, daß FAR nicht belegt ist. Daraus folgt, ί . i
ίdaß die Adresse in TAR in das gewählte STAR gesetzt wird.
!Das UND-Glied 45C fühlt ab, wenn ein Redo-Annahmesignal den
j gegenwärtig gewählten STAR-Belegungstrigger setzen kann,
!während es das Signal "DLAT-Treffer" empfängt und der Übersetzer kein Belegtsignal bekommt. Das ODER-Glied 45D gibt
PO 977 O18
809851/0807
die Ausgabe eines jeden UND-Gliedes 45A, B oder C an den ] Einschalteingang des gegenwärtig gewählten STAR-Belegungs- i triggers. :
Die STAR-Belegungstrigger werden zurückgestellt durch ein i STAR-Hauptspeicherannahmesignal auf der Leitung 93A vom UND-j Glied 93, das als Eingänge die STAR-Anforderung vom ODER- ' j Glied 91 empfängt, das die Ausgänge "GESETZT" von allen STAR-Belegungstriggern empfängt, und den Annahmeausgang von der ; Hauptspeicher-Prioritätsschaltung 92. Somit wird nur das ' Ergebnis des STAR-Registers ungültig gemacht, das gegenwärtig '. vom Eingabezeigersignal gewählt ist. ·
Die logische Anforderungsadresse im Redo-Register 16 wird j
angezeigt durch Setzen seiner Belegungstrigger über das ;
Signal auf der Leitung 46A, dessen Schaltung im einzelnen j
in Fig. 1D dargestellt ist. Das Signal wird durch das ODER- \
Glied 46 von einem der UND-Glieder A, B, C oder D auf die '
Leitung 46A gegeben. Diese UND-Glieder zeigen die Zustände i
für die Einleitungsgültigkeit eines durch den Eingabezei- ;
ger gewählten Redo-Registers an. Das UND-Glied 41D signali- I
siert den Zustand einer IPPF-Schreibannahme, wenn ein DLAT- ' Fehltreffer vorliegt, der Übersetzer belegt ist und kein Redo-;
Belegungssignal vorliegt. Das UND-Glied 41C signalisiert den ! Zustand einer IPPF-Schreibannahme, wenn kein Redo-Belegungssignal vorliegt und ein DLAT-Treffer vorliegt, die vom DLAT
abgeleitete absolute Adresse jedoch Gegenstand einer ausstehenden Leseanforderung im FAR ist. Das UND-Glied 41B gibt
Signale, wenn eine Redo-Annahme oder eine IPPF-Schreibannahme vorgesehen ist, während der Übersetzer mit einer Schreit anforderung belegt ist. Das UND-Glied 41A signalisiert
den Zustand, wenn eine IPPF-Anforderung akzeptiert wurde, ein Redo-Register jedoch gemäß Anzeige durch ein Signal auf einer | Redo-Belegungsleitung 38A belegt ist. Der Belegungstrigger j eines gegenwärtig gewählten Redo-Registers wird in den Frei- I
ι
PO 977 018
809851/0807
zustand zurückgestellt, sobald das Register eine Redo-Anfor- ; derung an die PSCF-Prioritätsschaltung 11 stellt. Die Wahl
des Ausgabezeigerzählers einen anfordernden Redo-Registers ; bleibt bestehen, bis das anfordernde Redo-Register durch die [ PSCF-Prioritätsschaltung akzeptiert ist und dann den Inhalt . des Redo-Zählers durch ein Signal auf der Leitung 25A erhöht.
Fig. 1D zeigt auch die Schaltung zur Erzeugung einer Redo-Anforderung für PSCF-Prioritat auf Leitung 12. Eine Redo-An- ! förderung wird vom ODER-Glied 53 auf die Leitung 12 gegeben, soblad die Bedingungen dafür vorliegen, daß ein Redo-Register : seinen Inhalt auf die PSCF-Sammelleitung ausleitet. Diese ; Bedingungen liegen nicht vor, wenn ein Redo-Belegungstrigger ! entweder durch das UND-Glied 41D oder 41C gesetzt ist, weil sdiese gesetzt werden, wenn der Übersetzer belegt oder die Schreibanforderung durch die Adreßüberschneidung einer ausstehenden Leseanforderung im FAR aufgehalten wird. In diesen i beiden Fällen wird die Tatsache, daß eine Redo-Anforderung j gegeben wird, sobald die Verzögerungsbedingung endet, ge-• speichert in einem der Trigger 47 oder 48. Der Trigger 47 wird durch die Ausgabe des UND-Gliedes 41C eingeschaltet und der Trigger 48 durch die Ausgabe des UND-Gliedes 41D. Das I Ende der entsprechenden Bedingung wird angezeigt durch Betä-
I tigung eines der UND-Glieder 51 oder 52. Das UND-Glied 51 ! wird durch die Einschaltbedingung des Triggers 47 und kein ■ FAR-Belegungssignal betätigt, das nicht gegeben wird, wenn ι der FAR-Belegungstrigger durch ein Signal auf der Leitung 36B zurückgestellt wird.
Das UND-Glied 52 zeigt das Ende einer Verzögerung durch den Obersetzer durch Empfang eines Signales vom Trigger 48, ein Signal FAR nicht belegt auf der Leitung 36B und ein Signal auf der Leitung 14M an, welches besagt, daß der Übersetzer nicht belegt ist. Dieses Signal wird gegeben, wenn der Übersetzer seine Übersetzungsoperation beendet.
PO 977 O18
809851/0807
Auch bei anderen Bedingungen wird eine Schreibanforderung ! in einem Redo-Register nur aufgehalten, weil eine früher emp- ·. fangene Schreibanforderung noch nicht von einem Redo-Regi- : ster oder dem Obersetzer in ein STAR gesetzt wurde. Diese i Bedingungen werden durch die UND-Glieder 41A und 41B ange- j zeigt. Das UND-Glied 41A zeigt eine Verzögerung einer frühe- I ren Schreibanforderung in einem Redo-Register an. Das UND-Glied 41B zeigt eine Verzögerung einer früheren Schreiban- j förderung im Übersetzer an. Diese Art Belegungsbedingungen | erzeugen jedoch später eine Redo-Anforderung für die PSCF- S
Priorität von einem UND-Glied 48, das aktiviert wird, wenn ■ keine Bedingungen in den Triggern 47 oder 48 gespeichert ' sind und ein Redo-Register nicht von einem Signal vom ODER- ■ Glied 38 als belegt bezeichnet und der Übersetzer ebenfalls !
i nicht belegt ist. Dadurch wird ein Signal auf der Leitung 12
'erzeugt, das die PSCF-Priorität anfordert und gleichzeitig
die Belegungstrigger in den Freizustand zurückschaltet. Wenn
die Redo-Anforderung akzeptiert und das UND-Glied 45C akti- | viert ist, wird der Inhalt des Redo-Registers in das STAR j des zugehörigen Registersatzes gesetzt. Wenn der übersetzer \ jedoch mit einer früheren Schreibanforderung von einem j früher gewählten Registersatz gewählt ist, kann ein später jgewähltes Redo-Register akzeptiert werden und wieder mit ' !seiner anfordernden Adresse von der PSCF-Sammelleitung unter j Steuerung des Schaltgliedes 41B eingeleitet werden, wenn < der Übersetzer noch belegt ist. Der Ausgabezeigerzähler ! (jetzt auf einen anderen Wert erhöht) wird jedoch auf den
alten Wert gesetzt, um zum Einleiten dasselbe Redo-Register
zu wählen- Das anfordernde Redo-Register wartet dann, bis
der übersetzer ein Signal "übersetzer nicht belegt" auf die
Leitung 14M und an das Schaltglied 45C gibt und dann wird
seine angenommene Anforderung in das STAR in demselben
Registersatz ausgeleitet.
Zu jeder in das STAR- oder das Redo-Register eingegebenen
Schreibanforderungsadresse gehören Daten, die in das F-
PO 977 018
809851/0807
Register, das ebenfalls gegenwärtig durch den Eingabezeijgerzähler 31 gewählt ist, in demselben Registersatz eingege-
:ben werden. Die in dem entsprechenden F-Register gespeicher-. ten Bytes im Datendoppelwort sind definiert durch die Bit- :Positionen im entsprechenden Markierungsregister MK 62 in demselben Satz. D.h., jedes Markierungsregister enthält ein ;acht Bit großes Byte, in dem jedes Bit einem entsprechend gesetzten Byte von acht Bytes in einem Doppelwort im zugehörigen F-Register entspricht. Wenn ein Bit auf 1 gesetzt
j ist, wurde das entsprechende Byte im F-Register durch die ■Ausführungseinheit des Instruktionsprozessors verändert j und wenn das Bit auf 0 steht, wurde das Byte nicht verän-.dert. Unveränderte Bytes müssen nicht unbedingt im F-Register 'stehen, veränderte Bytes müssen jedoch darin stehen. Das un-Iveränderte Doppelwort kommt entweder vom Cache-Speicher oder
jvom Hauptspeicher und wird in einem entsprechenden Mischre- !gister MG 64 für unveränderte Cache-Speicherbytes oder in einem Hauptspeichermischregister (nicht dargestellt) für unlveränderte Hauptspeicherbytes gemischt. Die unveränderten Bytes kommen vorzugsweise vom Cache-Speicher, wenn sie dort zur Verfügung stehen, weil dieser schneller arbeitet, sonst kommen sie vom Hauptspeicher.
J Registersatz, bestehend aus dem F-Register 60, dem Pufferjmarkierungsregister 61 und dem Markierungsregister 62, wird zum Einleiten durch den Decodierer 7OE und zum Ausleiten durch den Decodierer 7OF oder 7OH gewählt. Das Mischregister 64 in demselben Satz wird gewählt zur Einleitung durch den !Decodierer 7OG und zur Ausleitung durch den Decodierer 701.
Die Puffermischsteuerung 63 steuert das Doppelwort im Cache-Speicher an, falls es dort zur Verfügung steht, und zwar an der Adresse im PSCF-Adreßregister 21C, und steuert die Mischung im gewählten Mischregister. Die veränderten Daten im F-Register werden durch die Puffermischsteuerung 63 unter
PO 977 018
809851/0807
Steuerung der Bits im zugehörigen Markierungsregister MK 62 gewählt und die veränderten Bytes in das Mischregister MG 64 ■ nach Empfang des unveränderten Doppelwortes vom Cache-' Speicher gesetzt. So werden nur die veränderten Bytes im ,Mischregister überlagert, indem sie vom F-Register übertragen und durch die laufende Stellung des Eingabezeigerzählers ge-S wählt werden. Ein kompletes Doppelwort in seiner veränderten . Form wird dann für den Hauptspeicher in das SDBI-Register gej setzt. Die veränderten Bytes werden direkt vom F-Register 60 über die Leitungen 6OA in den Cache-Speicher gesetzt.
j Wenn das unveränderte Doppelwort im Cache-Speicher nicht zur Verfügung steht, wird der Inhalt des F-Registers durch die Puffermischsteuerung 63 in den Speichermischpuffer (SMB1)
!übertragen, der die Markierungen im Markierungsregister 62 ; empfängt (das dieselben Markierungsbits enthält wie das Puffermarkierungsregister 61). Der SMB1 überträgt seinen
j Inhalt an den Hauptspeicher, der die Mischung steuert.
In der US-Patentschrift 3 883 854 ist das Pipeline-(Fließband-Mischen im Speicher beschrieben. In der US-Patentschrift ! 3 984 818 ist beschrieben, wie in einem Cache-Speicher die , veränderten Bytes und die unveränderten Bytes zusammengesetzt werden, wenn das Datenwort durch eine Teilspeicheroperation im Cache-Speicher adressiert wird. Dazu wird das Cache-Speicherinhaltsverzeichnis daraufhin abgefragt, ob die Daten im Cache-Speicher stehen, und wenn das der Fall ist, werden diese von dort in ein Register ausgelesen und danach die vom Prozessor empfangenen veränderten Bits durch Markierungsbits ersetzt. Die so zusammengesetzten Speicherwörter werden dann in den Hauptspeicher gespeist und mit einer Vollspeicheroperation dort abgespeichert.
Der Cache-Speicher arbeitet einige Male schneller als der Hauptspeicher. Somit wird im langsameren Hauptspeicher nur
PO 977 018
809851/0807
die Vollspeicheroperation durchgeführt. Eine Teilspeicheroperation kann genauso schnell ablaufen wie die die Vollspeicheroperation, wenn sie im Cache-Speicher zur Verfügung steht. Die Synchronisation von Teilspeicheroperationen zwischen einem Prozessor und seinem Kanal oder einem anderen
Prozessor ist in einer anderen US-Patentanmeldung beschrieben.
In Fig. 1B wird der Redo-Ausgabezeigerzähler 32 durch jedes Redo-Annahmesignal erhöht. Der Zähler 62 wird auf einen
neuen Wert gesetzt, sobald eines der UND-Glieder 82 oder
83 betätigt wird. Durch Betätigung des UND-Gliedes 83 wird
der Ausgabezeigerzähler 32 auf den Wert des Eingabezeigerzählers 31 gesetzt, wenn kein Redo-Register bei Annahme
einer Schreibanforderung durch die PSCF-Prioritätsschaltung belegt ist, um die Einstellung des Ausgabezeigers mit dem
Eingabezeiger zu synchronisieren. Das UND-Glied 82 schaltet den Ausgabezeigerzählerwert auf den alten Redo-Ausgabezeigerwert zurück, der in den Verriegelungen 29A während des vorhergehenden Zyklus gespeichert wurde, wenn der Übersetzer
bei Abgabe eines Redo-Annahmesignales belegt ist.
In Fig. 1C ist gezeigt, daß die gesamte PSCF-Verarbeitung
jedesmal für eine Anforderung beendet ist, wenn diese in
ein STAR eingeleitet wird, und dann ist die Anforderung zur Übertragung an den Hauptspeicher adressierbereit. Sobald
Signale in ein gewähltes STAR eingeleitet werden, wird sein Belegungstrigger gesetzt, der dann das STAR-Belegungssignal über ein ODER-Glied 91 an die Hauptspeicher-Prioritätsschaltung 92 gibt, um die Hauptspeicherpriorität anzufordern.
Der STAR-Ausgabezähler 33 steuert die Auswahl des STAR zur
übertragung an die Hauptspeicherprioritätsschaltung 92. Das vom Ausgabezeigerzähler gewählte STAR braucht nicht das
einzige STAR zu sein, das eine Hauptspeicherprioritätsanfor-
PO 977 018
809851/0807
jderung enthält. Andere STARs können Eingänge für spätere Anforderungen empfangen, während das vom Ausgabezähler gewählte STAR auf seine Hauptspeicherpriorität für frühere Anforderungen wartet. Diese späteren Anforderungen in der STARs müssen jedoch ihre Reihenfolge in der Wahl durch den Ausgabezähler ι abwarten, bevor sie Hauptspeicherpriorität anfordern können 'und an den Hauptspeicher ausleiten können. Das kann passieren, wenn ein vom Eingangszeigerzähler gewähltes STAR eingeleitet wird und der STAR-Ausgangszähler 33 eine oder mehrere ■Zahlen hinter dem Eingabezähler herläuft.
Der STAR-Ausgabezähler 33 ist mit jeder PSCF-Anforderung ;sychronisiert während kein STAR belegt ist, so daß das erste ,danach einzuleitende STAR direkt eine Hauptspeicherprioritätsanförderung abgeben kann, weil der Ausgabezähler auf dieses Register zeigt.
Während kein STAR belegt ist, wird der STAR-Ausgabezähler auf den Wert des EingabezeigerZählers 31 oder des Ausgabezeigerzählers 32 oder des Übersetzerzeigertriggers 14A gesetzt, je nachdem, wer gegenwärtig eine Übertragungsanfor- !derung an die PSCF-Adreßleitung 21 richtet. Der Ausgabezähler wird über das UND-Glied 85 eingestellt, das das Signal vom !gegenwärtig aktiven Eingabezeigerzähler oder vom Ausgabezei-'gerzähler oder vom Übersetzungszähler vom ODER-Glied 29 emp-I fängt, das den laufenden Registersatz wählt. Das UND-Glied ,85 wird durch ein UND-Glied 86 betätigt, wenn dieses ein .Schreibannahmesignal auf der Leitung 24A von der in Fig. 1A 'gezeigten Schaltung, ein in der Verriegelung 87 gespeichertes Signal kein STAR belegt, auf der Leitung 91B vom Inverter 91A in Fig. 1C empfängt. Auf diese Weise wird der STAR-Ausgabezähler 33 auf den entsprechenden Wert des aktiven Eingabezeigerzählers oder Ausgabezeigerzählers oder Übersetzungszählers gestellt.
PO 977 018
Ö09851 /0807
Sobald eine Hauptspeicher-Sammelleitungspriorität von der Hauptspeicher-Prioritätsschaltung 92 vergeben wird, wird vom UND-Glied 93 auf die Leitung 93A in Fig. 1C ein STAR-Hauptspeicherannähmesignal gegeben. Ein Signal auf der Leitung 9 3A erhöht den Inhalt des STAR-Ausgabezählers 33 auf die nächstfolgende Zahl, wobei der Zahl 4 die Zahl 1 folgt.
Die STAR-Hauptspeicherannahme läßt auch den Inhalt eines gewählten Mischregisters 64 und die F-Markierungen (oben erklärt im Zusammenhang mit Fig. 1C) in das SDBI-Register oder auf die Speicher-Markierungssammelleitung (SMB) ausleiten, die die Daten in den Hauptspeicher senden.
Fig. 1F zeigt die PSCF-Adreßleitung genauer, als sie in den Figuren 1A und C dargestellt ist. Das Adreßregister 21C enthält bistabile Elemente, die zur Triggertaktzeit betätigt werden können. Die Adreßverriegelung 21D besteht aus bistabilen Elementen, die zur Verriegelungstaktzeit betätigt werden können, und beide zusammen bilden die oben erklärte, aus Triggern und Verriegelungen bestehende Schaltung zur Weiterleitung von Signalen. Eine Adresse wird also durch das Adreßregister 21C während der Triggertaktzeit empfangen und dann während der Verriegelungstaktzeit an einen ausgewählten Teil der Adreßverriegelung 21D weitergeleitet. Das Adreßregister 21C kann einen der drei folgenden Eingänge empfangen: (1) eine logische Adresse vom IPPF, (2) eine logische Adresse von einem Redo-Register, oder (3) eine reale Adresse vom Übersetzeradreßregister (TAR) 14F in Fig. 1A.
Die Adreßverriegelung 21D enthält einen absoluten Adreßteil und einen logischen Adreßteil. Eine absolute Adresse (RA) kommt vom realen Adreßteil, wird an das Register 21C von der TAR weitergeleitet, indem man die reale Adresse durch die Vorsatzschaltungen 21F an den absoluten Adreßteil gibt, wenn dieser durch einen Übersetzerabruf oder durch ein Schreib-
PO 977 018
809851 /0807
: annahmesignal vom ODER-Glied 21G geschaltet ist. Eine absolute Adresse (RA) vom DLAT wird an den absoluten Adreßteil
1 gegeben aufgrund eines DLAT-Treffers beim Aufsuchen einer logischen Adresse vom Adreßregister 21C im DLAT. Eine logische Adresse im Register 21C wird an den logischen Adreßteil : des Registers 21D übertragen.
Eine logische Adresse in der Adreßverriegelung 21D wird ausgegeben entweder an (1) den Übersetzer oder (2) ein durch den Eingabezeigerzähler gewähltes Redo-Register. Eine absolute Adresse im Register 21D wird an ein durch den Eingabezeigerzähler gewähltes STAR gegeben.
Die Ausleitbedingungen der PSCF-Adreßsammelleitung an ein Redo-Register STAR, FAR oder den übersetzer sind in Fig. 1F durch die UND-Glieder 211, 21H, 21M bzw. 21J dargestellt. Die UND-Glieder 45A bis C und 41A bis D in Fig. 1D setzen die Belegungstrigger und bestimmen dadurch den gültigen Empfänger einer Adreßübertragung. Eine Anforderungsadresse geht , an der Übersetzer durch das UND-Glied 21J, das durch eine , angenommene Anforderung geschaltet wird, wenn der Übersetzer nicht belegt ist. Bei einem DLAT-Fehltreffer wird der über-
'■ setzer belegt.
J Die Anforderungsadresse geht sowohl in das STAR als auch in das Redo-Register des gegenwärtig durch den Eingabezeigerzähler gewählten Registersatzes, wenn eine Schreibanforderung angenommen wird. Nur eines der beiden eingeleiteten Register hat seinen Belegungstrigger durch die UND-Glieder 41A bis C oder 45A bis C gesetzt, so daß nur eines dieser Register eine gültige Adresse hat. FAR wird eingeleitet, wenn es nicht belegt ist und eine IPPF oder Übersetzer-Abrufanforderung wird angenommen. Die eingeleitete FAR-Adresse ist jedoch nur gültig, wenn der Belegungstrigger durch ein Signal vom ODER-Glied 18C in Fig. 1A gesetzt ist.
PO 977 018
809851/0807
824711
Fig. 1G zeigt die zugehörigen Schnittstellenleitungen zwischen der PSCF und der Instruktionsverarbeitungseinheit (bestehend aus der IPPF und der Ausfuhrungsfunktion (Einheit)). Diese Schnittstelle gibt der Instruktionsverarbeitungseinheit an, ob sie Schreib- oder Leseanforderungen an die PSCF senden kann oder nicht. Eine Schnittstellensteuerung ist durch den Schreibzähler 30 in Fig. 1B vorgesehen, der am Anfang auf die Zahl 0 zurückgestellt wird, wenn das System anläuft, um damit vorzugeben, daß die Zahl 0 keine ausstehenden Schreibvorgänge in der PSCF angibt. Während der Operation der PSCF wird danach der Schreibzähler auf die Zahl O heruntergezählt, sobald in der PSCF kein Schreibvorgang aussteht. Solange der Schreibzähler 30 niedriger steht als die Zahl 4, kann die Instruktionsverarbeitungseinheit Schreibanforderungen an die PSCF senden. Sobald der Schreibzähler auf die Zahl 4 gesetzt wird, sendet er ein Signal "keine Schreibanforderung mehr" an die Instruktionsverarbeitungseinheit, um anzuzeigen, daß alle Schreibanforderungsregistersätze belegt sind, so daß keine Schreibanforderungen in der PSCF mehr aufgenommen werden können. Es wurde in der Praxis festgestellt, daß das Signal "keine Schreibanforderung mehr" selten gegeben wird, weil die vier Registersätze ausreichen, damit die PSCF eine neue Schreibanforderung in jedem Maschinenzyklus behandeln kann, von Ausnahmebedingungen einmal abgesehen. Die Zahl 3 im Schreibzähler erzeugt ein Signal "noch eine Schreibanforderungf auf der Leitung 3OC, mit dem der Instruktionsverarbeitungseinheit angezeigt wird, daß nur noch ein Registersatz in der PSCF unbelegt ist und daß die Instruktionsverarbeitungseinheit sich auf die Möglichkeit vorbereiten soll, daß die nächste Schreibanforderung alle Registersätze füllt. Einige Registersätze können natürlich Anforderungen an den Hauptspeicher ausleiten und gleichzeitig können andere Registersätze Schreibanforderungen von der Instruktionseinheit empfangen. Daher kann gleichzeitig ein Satz durch eine neue Schreibanförderung belegt werden, ein anderer Satz kann
PO 977 018
809851/0807
,durch Übertragung seiner Anforderung an den Hauptspeicher freigegeben werden, und noch ein weiterer Registersatz kann seine Anforderung verarbeiten.
Der Schreibzähler wird durch jedes Schreibanforderungssigjnal der IPPF erhöht, das angenommen und auf die Leitung 25C \von Fig. 1A gegeben wird. Der Schreibzähler wird durch jedes STAR Hauptspeicherannahmesignal auf der Leitung 93A in Fig. 1B heruntergesetzt.
.Das Hochzählen und Herunterzählen des Schreibzählers 30 bleibt sich mehr oder weniger gleich, so daß der Zähler unter normalen Bedingungen unter 3 steht.
Ablaufdiagramme
Während im Zusammenhang mit den Figuren 1A, B, C und D bisher die Hardware erklärt wurde, wird im Zusammenhang mit den Figuren 2A und B die Arbeitsweise dieser Schaltung und ihre genaue Operationsfolge und im Detail im Zusammenhang mit den Figuren 3A bis 3D, 4 und 5 erklärt. Die Ablaufdiagramme sind selbsterläuternd.
1 Prüfschaltungen in der PSCF
;Fig. 1E zeigt eine erfindungsgemäße Prüfschaltung zur Erken-Inung, daß das STAR- und Redo-Register in demselben Schreib-Ianforderungsregistersatz niemals gleichzeitig belegt sein dürfen. Wenn sie das sind, wird eine Fehlerbedingung angei zeigt. In Fig. 1E ist pro Registersatz ein UND-Glied vorge- !sehen. Das Belegungssignal von den Belegungstriggern des ' STAR und des Redo-Registers in jedem Satz wird daher an das-'selbe UND-Glied in Fig. 1E geführt. Ausgänge der vier UND- !glieder werden ODER-verknüpft zu einem Maschinenfehlerunter- ;brechungssignal, so daß bei Auftreten der verbotenen Bedin-
PO 977 018
809851/0807
gung in einem Registersatz eine Maschinenfehlerunterbrechung erzeugt wird.
Eine andere Prüffunktion wird zusätzlich zu seinen Schnittstellen-Punktionen noch vom Schreibzähler 30 in Fig. 1B erfüllt. Eine Maschinenfehlerbedingung wird angezeigt, wenn der Schreibzähler 30 die Zahl 4 überschreitet (bei der das Signal "keine Schreibanforderung mehr" auf der Leitung 3OC in Fig. 1B ausgelöst wird). Der Schreibzähler 30 hat daher eine Zählkapazität über die Zahl 4 hinaus. In diesem Ausführungsbeispiel ist der Zähler 30 ein drei Bit großer Zähler, der acht Zahlen liefert und jede die Zahl 4 überschreitende Zahl, d.h. die Zahlen 5, 6 und 7, löst ein Maschinenfehlerunterbrechungssignal auf der Leitung 3OD aus. Der Zustand der Leitung 3OD wird durch das UND-Glied 3OE entweder automatisch durch eine Instruktion oder manuell von der Systemkonsole abgefragt, um festzustellen, ob eine Maschinenfehlerunterbrechung erzeugt werden sollte.
Serialisierte Instruktionsstartsteuerung
Die Instruktionsverarbeitungseinheit in Fig. 1G enthält herkömmliche Schaltungen für die Funktionen der I-Einheit und der Ε-Einheit, einschließlich der IPPF-Instruktionsdecodierschaltungen 101 und der Instruktionsabschlußabfühlung 103, die abfühlt, wenn alle Funktionen der I-Einheit und der E-Einheit für eine laufende Instruktion fertig sind. Ein Problem gibt es jedoch für bestimmte Instruktionstypen, soge-'nannte serielle Instruktionen, die bei der Ausführung nicht ;mit früheren Instruktionen überlappt werden können, da ihr Betrieb eine unvollständige Ausführung der früheren Instruktion beeinträchtigen kann. Es gibt relativ viele serielle Instruktionen, die definiert sind auf Seite 28 des IBM System/ 370 Principles of Operation (Form Nr. GA22-7OOO-4).
I
PO 977 018
809851/0807
Fig. 1G enthält ein Ausführungsbeispiel für die Steuerung von seriellen Instruktionen. Es benutzt die gesamte im Zusammenhang mit den Figuren 1A bis 1F beschriebene Schaltung. In Fig. 1G ist gezeigt, wie der Instruktions-OP-Decodierer 101 einen Instruktionsstrom empfängt, der aus einem auszuführenden Programm besteht. Der Decodierer 101 decodiert jede Instruktion und gibt vom Operationscode der Instruktion her durch Signale auf den Leitungen 101A oder 101B an, ob es eine serielle Instruktion ist oder nicht. Eine seiner Ausgaben wird als decodiertes Signal auf die Leitung 101C und an die Ausführungsfunktionsschaltungen 104 gegeben.
Eine Instruktionsabschlußabfühlung 103 besteht aus herkömm-■ liehen Schaltungen, die mit Hilfe der Signale von den Ausführungsfunktionsschaltungen 104 anzeigen, wenn die gesamte Verarbeitung einer jeder gegenwärtig in der Instruktionsverarbeitungseinheit verarbeiteten Instruktion abgeschlossen ist. Das herkömmliche Instruktionsendsignal kann z. B. .die nächste Instruktionsadresse im Instruktionszähler und I das Programmstatuswort in den Schaltungen 104 steuern. Das j Instruktionsendsignal wird auf die Leitung 103A gegeben !und zeigt an, daß die Instruktionsverarbeitungseinheit bei ,der laufenden Instruktion nichts mehr zu tun hat. Das Signal :auf der Leitung 103A wird daher an den Instruktions-OP-1 Decodierer 101 gegeben, damit er die nächste Instruktion zur Ausführung ausleitet.
JDie Decodierung einer nichtseriellen Instruktion wird durch ein Signal auf der Leitung 101B angezeigt, das über ein ODER-Glied 107 geführt wird und den herkömmlichen Betrieb der Ausführungsfunktionsschaltungen 104 einschaltet, um die Ausführung normal fortsetzen zu können.
Wenn im Decodierer 101 eine serielle Instruktion decodiert wird, wird ein Signal "serielle Instruktion" auf die Leitung
PO 977 018
809851/0807
101A und kein Signal auf die Leitung 101B gegeben. Die Ausführungsfunktionsschaltungen 104 empfangen dann kein Freigabesignal vom ODER-Glied 107. Die Ausführung kann für die decodierte serielle Instruktion erst fortgesetzt werden, wenn das ODER-Glied 107 ein Freigabesignal liefert. Das Freigabesignal für die seriellen Instruktionen wird durch das UND-Glied 108 gesteuert, das Eingänge von der Leitung 101A, der Schreibzählerleitung 3OA von der PSCF und von einer Verriegelung 106A empfängt, die das Instruktionsendsignal speichert, bis ihr Trigger 106B zurückgestellt wird. Nachdem das Signal auf der Leitung 101A die Decodierung einer seriellen Instruktion anzeigt und die Verriegelung 106A anzeigt, daß die Instruktionsverarbeitungseinheit ihre Ausführung der letzten Instruktion beendet hat, kann das UND-Glied 108A immer noch durch den Schreibzähler 30 in Fig. 1B abgeschaltet sein, der die Zahl 0 noch nicht erreicht hat und damit anzeigt, daß Schreibanforderungen noch für die letzten Instruktionen in der PSCF verarbeitet werden. Das UND-Glied 108 liefert das Freigabesignal über das ODER-Glied 107 erst, wenn die PSCF die Schreibzahl 0 für die letzte Instruktion erreicht, so daß die Ausführung für die serielle Instruktion in der Decodierschaltung 101 noch nicht beginnen kann. Wenn alle Schreibanforderungen die PSCF für der Hauptspeicher verlassen haben, wird die Zahl 0 erreicht und das UND-Glied 108 gibt dann das Freigabesignal über das ODER-Glied 107 zum Einschalten der Ausführungsfunktionsschaltungen 104, damit diese mit der Ausführung der seriellen Instruktion im Decodierer 101 beginnen können.
Im einzelnen wird der Schreibzähler 30 jedesmal heruntergesetzt, wenn eine Schreibanforderung von der PSCF an den
j Hauptspeicher für die frühere Instruktion ausgegeben wird. Der Zähler erreicht die Zahl 0, wenn keine Schreibanforde-
; rung mehr in der PSCF bleibt.
PO 977 018
809851/0807
I
i
Auf diese Weise können Schreibanforderungen in der PSCF
für die letzte Instruktion mit der Decodierung einer serij eilen Instruktion synchronisiert werden.
iWenn die nächste Instruktion aber keine serielle Instruktion ist, werden die Ausführungsfunktionsschaltungen 104 niemals :abgeschaltet und können die Ausführung der letzten Instruktion mit derjenigen der nächsten Instruktion überlappen !und ihre Schreibanforderungen können ebenso in den PSCF- >Schaltungen der Figuren 1A bis 1F überlappt werden.
j Die hier beschriebenen Lese- und Schreibanforderungen (Fetch, Store) beziehen sich auf Signale, die von der Speichersteuer- !einheit an den Hauptspeicher gegeben werden; es sollen damit j Daten aus dem bzw. in den Hauptspeicher gebracht werden. Die im Hauptspeicher selbst daraufhin ablaufenden Vorgänge werden !hier nicht betrachtet.
PO 977 018
809851/0807
-u-
Leerseite

Claims (1)

  1. PATENTANSPRÜCHE
    Steuereinrichtung für Zugriffe eines Prozessors zu einem Digitalspeicher, bei der mehrere Speicherzugriffsanforderungen überlappt verarbeitet werden, dadurch gekennzeichnet, daß zur Annahme von Schreibanforderungen des Prozessors mehrere Registersätze mit jeweils mindestens zwei Registern (Speicheradreßregister STAR15; Halteregister REDO16; Fig. 1C) vorgesehen sind, daß die Speicheradresse einer Schreibanforderung in das STAR-Register eines ausgewählten Registersatzes eingegeben wird, wenn der Schreibzugriff unverzögert erfolgen kann, im anderen Fall jedoch in das REDO-Register desselben Registersatzes, und daß die Speicheradresse aus dem REDO-Register in das STAR-Register übertragen wird, sobald die Verzögerung des Schreibzugriffs weggefallen ist.
    !2. Speichersteuereinrichtung nach Anspruch 1, dadurch ge-
    kennzeichnet, daß die Auswahl des Registersatzes für
    ] einen Schreibzugriff durch umlaufende Zähler (Eingabe-
    zeigerzähler, 31; Fig. 1B) erfolgt, die bei jeder von
    ' der Speichersteuereinrichtung akzeptierten Schreibanfor-
    j derung inkrementiert werden.
    3. Speichersteuereinrichtung nach Anspruch 1 oder 2, da- \
    durch gekennzeichnet, daß die STAR- und REDO-Register jedes Registersatzes mit Verriegelungen zur Anzeige
    des Belegtzustandes (BEL) versehen sind. :
    4. Speichersteuereinrichtung nach Anspruch 3, dadurch gekenn-f zeichnet, daß bei gesetzter Belegt-Anzeige eines STAR- , Registers ein Zugriff zum Hauptspeicher eingeleitet wird.
    5. Speichersteuereinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Registersätze jeweils
    PO977018 809851/0807
    ORIGINAL INSPECTED
    Datenregister (60, Fig. 1C) , Puffermarkierungsregister (61) und Markierungsregister (62) enthalten.
    6. Speichersteuereinrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur Aufnahme der Speicheradresse für Leseanforderungen ein Leseadreßregister (FAR36; Fig. 1C) vorgesehen ist.
    7. Speichersteuereinrichtung nach Anspruch 6, dadurch gekennzeichnet , daß die Leseanforderung zurückgewiesen wird, wenn ein REDO-Register als belegt angezeigt ist.
    Speichersteuereinrichtung nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß eine Vergleichseinrichtung (4O; Fig. 1C) an die Register FAR einerseits und STAR andererseits angeschlossen ist, die eine Verzögerung für Leseanforderungen bewirkt, wenn sich diese auf Speicherplätze beziehen, für die Schreibanforderungen vorliegen.
    Speichereinrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß bei Speichern mit virtueller Adressierung die STAR-Register reelle Adressen enthalten, die REDO-Register logische Adressen.
    Speichersteuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß Schreibanforderungen des Prozessors (IPPF) auf eine Sammelleitung der Speichersteuereinrichtung (PSCF-Sammeleitung 21; Fig. 1A) gegeben werden, daß die Speichersteuereinrichtung selbst Speicheranforderungen nach Beendigung einer verzögerten Bearbeitung auf diese Sammelleitung gibt, daß die Registersätze (STAR, REDO) an diese Sammelleitung angeschlossen sind, und daß eine Prioritätsschaltung (11) die Bedienung der Anforderungen auf der Sammelleitung bestimmt.
    018
    809851/0807
    :11. Speichersteuereinrichtung nach Anspruch 10, dadurch ge-' kennzeichnet, daß die Register der Registersätze Steuerleitungen zum selektiven Laden, bzw. Auslesen aufweisen (z. B. REDO-Eingabe-Auswahl, REDO-Ausgabe-Auswahl; Fig.
    : 1C).
    12. Speichersteuereinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten REDO-Registers gesetzt werden kann, wenn gleichzeitig die Signale "irgendein REDO belegt" und "IPPF Schreiben ; akzeptiert" (41A, Fig 1D) vorliegen.
    13. Speichersteuereinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten REDO-Registers gesetzt werden kann, wenn gleichzeitig die Signale "Übersetzer belegt mit Schreiben" und "REDO akzeptiert" oder "IPPF Schreiben" vorliegen (41B, Fig. 1D)
    14. Speichersteuereinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten REDO-Registers gesetzt werden kann, wenn gleichzeitig die Signale "IPPF Schreiben akzeptiert", "DLAT-Treffer", "kein REDO belegt" und "RA = FAR" vorliegen (41C, Fig. 1D)
    15. Speichersteuereinrichtung nach Anspruch 10, dadurch gekenri
    : zeichnet, daß gleichzeitig mit dem Setzsignal für das i
    ausgewählte REDO-Register ein erster Trigger (47) gesetzt wird, dessen Ausgangssignal bei nicht belegtem Register FAR (Leitung 36B, 51) ein REDO-Anforderungssignal abgibt.
    16. Speichersteuereinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß eine Übersetzungseinrichtung für logische Adressen (übersetzer, Fig. 1A) vorgesehen ist, sowie eine Übersetzungsnebentabelle (DLAT, 9, Fig. 1A)
    PO 977 018
    809851/0807
    und daß die Belegtanzeige eines ausgewählten REDO-Registers gesetzt werden kann, wenn gleichzeitig die Signale "IPPP Schreiben akzeptiert", "DLAT Fehltreffer", "übersetzer belegt" und "kein REDO belegt" vorliegen (41D, Fig. 1D).
    17. Speichersteuereinrichtung nach Anspruch 16, dadurch gekennzeichnet, daß Schreibanforderungen verzögert werden, wenn entweder ein DLAT-Fehltreffer auftritt, oder der übersetzer belegt ist, oder ein Speicherblock in einem Arbeits-(Cache-)Speicher übertragen wird und der Block die Schreibadresse enthält.
    18. Speichersteuereinrichtung nach Anspruch 16, dadurch gekennzeichnet, daß die Prioritatsschaltung (11) die Anforderungen in der Reihenfolge 1) REDO-Anforderung,
    2) Übersetzer-Anforderung, 3) Prozessor-Anforderung bearbeitet.
    19. Speichersteuereinrichtung nach Anspruch 16, dadurch gekennzeichnet, daß das Signal zum Setzen der REDO-Belegt-Anzeige einen zweiten Trigger setzt (48, Fig. 1D), dessen Ausgangssignal bei Vorhandensein des Signals "FAR nicht belegt" und "Übersetzer nicht belegt" (52) ein REDO-Anforderungssignal liefert und dessen invertiertes Signal (57) ebenfalls ein REDO-Anforderungssignal liefert, wenn gleichzeitig das Signal "Übersetzer nicht belegt", das Signal "irgendein REDO belegt" und das invertierte Signal des ersten Triggers (48) vorliegen (58, Fig. 1D).
    20. Speichersteuereinrichtung nach Anspruch 15 oder 19, dadurch gekennzeichnet, daß das REDO-Anforderungssignal (12) die Belegt-Anzeige des ausgewählten REDO-Registers zurücksetzt und den ersten und zweiten Trigger (47 bzw. 48) zurücksetzt.
    PO 977 018
    809851/0807
    ι 21. Speichersteuereinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten ; STAR-Registers gesetzt werden kann, wenn gleichzeitig die Signale "DLAT-Treffer", "kein REDO belegt", "IPPF Speichern akzeptiert", "übersetzer nicht belegt mit Schreiben" und "RA ψ FAR" vorliegen (45A, Fig. 1D).
    22. Speichersteuereinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten STAR-Registers gesetzt wird, wenn gleichzeitig die Signale "RA φ FAR" und "Übersetzer-Speichern akzeptiert" vorliegen (45B, Fig. 1D).
    23. SpeicherSteuereinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Belegt-Anzeige eines ausgewählten ! STAR-Registers gesetzt wird, wenn gleichzeitig die \ Signale "übersetzer nicht belegt", "REDO akzeptiert" ;
    und "DLAT-Treffer" vorliegen (45C, Fig. 1D). ;
    24. Speichersteuereinrichtung nach einem oder mehreren der j Ansprüche 1 bis 23, dadurch gekennzeichnet, daß ein j Ausgabezeigerzähler für REDO-Register (32, Fig. 1B) ι vorgesehen ist, mit dem bei einer REDO-Anforderung der i Registersatz ausgewählt wird, in den die reale Adresse ! in das zugehörige STAR-Register eingegeben werden kann.
    25. Speichersteuereinrichtung nach Anspruch 24, dadurch gekennzeichnet, daß der REDO-Ausgabezeigerzähler (32) bei jedem Signal "REDO akzeptiert"(25A, Fig. 1B) inkrementiert wird, daß er bei gleichzeitigem Vorliegen der Signale "REDO akzeptiert" und "übersetzer belegt" auf eine frühere Zählerstellung zurückgesetzt wird (82), und daß er bei gleichzeitigem Vorliegen der Signale "irgendeir Schreiben akzeptiert" und "kein REDO belegt"(83) auf den Stand des gegenwärtig aktiven Zeigers gesetzt wird.
    PO 977 018
    809851/0807
    26. Speichersteuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 25, dadurch gekennzeichnet, daß zur Auswahl eines der Registersätze Schaltungen (26 bis 29) vorgesehen sind, die Zeigersignale (PTR) für den ausgewählten Registersatz liefern, wenn entweder gleichzeitig die Signale "übersetzer akzeptiert" und "Übersetzerzeigertrigger" vorliegen oder gleichzeitig die Signale "IPPP Schreiben akzeptiert" und "Eingabezeiger oder gleichzeitig die Signale "REDO akzeptiert" und "Ausgabezeiger".
    •27. Spexchersteuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 26, dadurch gekennzeichnet, daß ein Ausgabezähler für STAR-Register (33, Fig. 1B) vorge-
    : sehen ist, der die Speicheradressen der STAR-Register in vorbestimmter Reihenfolge an den Hauptspeicher ab-' gibt.
    ,28. Speichersteuereinrichtung nach einem oder mehreren der ! Ansprüche 1 bis 27, dadurch gekennzeichnet, daß ein Schreibzähler (30; Fig. 1B) vorgesehen ist, dessen Wert bei jeder Prozessor-Schreibanforderung inkrementiert und bei jeder Ausgabe aus einem STAR-Register dekrementiert wird, und der ein Sperrsignal für weitere Schreibanforderungen (30C) abgibt, wenn alle verfügbaren Registersätze für Schreibanforderungen belegt sind.
    29. Speichersteuereinrichtung nach Anspruch 28, dadurch gekennzeichnet, daß der Schreibzähler ein Signal "noch eine Schreibanforderung"(30B) abgibt, um dem Prozessor zu ermöglichen, weitere Schreibanforderungen nicht sofort zu stellen.
    30. Speichersteuereinrichtung nach Anspruch 28 oder 29, dadurch gekennzeichnet, daß der Schreibzähler ein Feh-
    PO 977 018
    809851/0807
    \ lersignal(3OD) abgibt, wenn der Zählerstand die Anzahl , der verfügbaren Registersätze überschreitet.
    31. SpeicherSteuereinheit nach einem oder mehreren der Ansprüche 1 bis 30, dadurch gekennzeichnet, daß eine
    Serialisierungsinstruktion eingeleitet wird, wenn gleichzeitig die Ausführung einer Instruktion beendet ist und der Schreibzähler den Zählerstand Null aufweist.
    32. Speichersteuereinrichtung nach einem oder mehreren der : Ansprüche 1 bis 31, dadurch gekennzeichnet, daß bei
    einer Schreibanforderung mit virtueller Adresse durch ' den Prozessor oder ein REDO-Register ein DLAT-Zugriff ι erfolgt und im Fall eines Pehltreffers die Adreßüber- ! setzung durch den übersetzer durchgeführt wird, sofern
    dieser nicht belegt ist, daß im Übersetzer Speichereinj richtungen (14A) zur Angabe des Registersatzes vorge- ; sehen sind, der die übersetzung verlangt, und daß die • übersetzten Adressen aus dem Übersetzer in das STAR-
    Register des angeforderten Registersatzes übertragen
    werden.
    33. Speichersteuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 32, dadurch gekennzeichnet, daß bei
    einer Schreibanforderung zu einer Speicheradresse, die Gegenstand einer gerade laufenden Blockübertragung vom Hauptspeicher zum Cache-Speicher ist, das STAR-Register erst nach Beendigung der Blockübertragung gesetzt wird.
    34. Speichersteuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 33, dadurch gekennzeichnet, daß bei einer REDO-Anforderung im Fall einer andauernden Verzögerung nicht das zugehörige STAR-Register, sondern erneut das REDO-Register geladen wird.
    PO977018 809861/0807
DE19782824711 1977-06-09 1978-06-06 Steuereinrichtung fuer speicherzugriffe Withdrawn DE2824711A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/805,065 US4149245A (en) 1977-06-09 1977-06-09 High speed store request processing control

Publications (1)

Publication Number Publication Date
DE2824711A1 true DE2824711A1 (de) 1978-12-21

Family

ID=25190592

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782824711 Withdrawn DE2824711A1 (de) 1977-06-09 1978-06-06 Steuereinrichtung fuer speicherzugriffe

Country Status (6)

Country Link
US (1) US4149245A (de)
JP (1) JPS605987B2 (de)
DE (1) DE2824711A1 (de)
FR (1) FR2394128A1 (de)
GB (1) GB1579099A (de)
IT (1) IT1109986B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298927A (en) * 1978-10-23 1981-11-03 International Business Machines Corporation Computer instruction prefetch circuit
US4374428A (en) * 1979-11-05 1983-02-15 Rca Corporation Expandable FIFO system
US4386402A (en) * 1980-09-25 1983-05-31 Bell Telephone Laboratories, Incorporated Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
JPS5994289A (ja) * 1982-11-22 1984-05-30 Hitachi Ltd 記憶制御方式
JPH0616272B2 (ja) * 1984-06-27 1994-03-02 株式会社日立製作所 メモリアクセス制御方式
GB8613068D0 (en) * 1986-05-29 1986-07-02 Univ Manchester Delay management
EP0330425B1 (de) * 1988-02-23 1995-12-06 Digital Equipment Corporation Symmetrische Steuerungsanordnung für Multiverarbeitung
JP2767990B2 (ja) * 1990-07-30 1998-06-25 松下電器産業株式会社 マイクロプロセッサの制御方法
US7174426B2 (en) * 2003-07-24 2007-02-06 International Business Machines Corporation Interleave pre-checking in front of shared caches with pipelined access

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3593314A (en) * 1969-06-30 1971-07-13 Burroughs Corp Multistage queuer system
US3623006A (en) * 1970-06-29 1971-11-23 Burroughs Corp Queueing device for the selection of requests for access to a storage medium
DE2131449C3 (de) * 1971-06-24 1974-08-22 Siemens Ag Verfahren zum zyklusweisen Übertragen von Daten in programmgesteuerten Datenverarbeitungsanlagen, insbesondere in programmgesteuerten Vermittlungsanlagen
US4028663A (en) * 1974-06-05 1977-06-07 Bell Telephone Laboratories, Incorporated Digital computer arrangement for high speed memory access
US4070706A (en) * 1976-09-20 1978-01-24 Sperry Rand Corporation Parallel requestor priority determination and requestor address matching in a cache memory system

Also Published As

Publication number Publication date
JPS605987B2 (ja) 1985-02-15
FR2394128A1 (fr) 1979-01-05
JPS5439527A (en) 1979-03-27
FR2394128B1 (de) 1984-10-19
GB1579099A (en) 1980-11-12
US4149245A (en) 1979-04-10
IT1109986B (it) 1985-12-23
IT7823828A0 (it) 1978-05-26

Similar Documents

Publication Publication Date Title
DE60010907T2 (de) Sram-steuerungvorrichtung für parallele prozessorarchitektur mit adressen- und befehlswarteschlange und arbiter
DE68927492T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE69132195T2 (de) System für verteilte Mehrfachrechnerkommunikation
DE3789490T2 (de) Steuerungssystem für ein Vektorprozessor.
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE3638572C2 (de)
DE3587167T2 (de) Geraet zur vektorverarbeitung.
DE3338345C2 (de)
DE1285220C2 (de) Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten
DE2415900B2 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE1815234A1 (de) Adressiereinrichtung fuer ein Speichersystem mit einem Grossraumspeicher und einem schnellen Arbeitsspeicher
DE1966633B2 (de) Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
CH615521A5 (de)
DE3688400T2 (de) Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks.
DE1549479B1 (de) Schaltungsanordnung zur adressierung eines aus mehreren moduln bestehenden speichers
DE4216905A1 (de) Superskalarprozessor
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE2824711A1 (de) Steuereinrichtung fuer speicherzugriffe
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE68926374T2 (de) Seriellumsetzungssteuerungssystem für Hauptspeicherreferenz

Legal Events

Date Code Title Description
8141 Disposal/no request for examination