DE2854397A1 - Pufferspeichereinheit fuer ein datenverarbeitungssystem - Google Patents

Pufferspeichereinheit fuer ein datenverarbeitungssystem

Info

Publication number
DE2854397A1
DE2854397A1 DE19782854397 DE2854397A DE2854397A1 DE 2854397 A1 DE2854397 A1 DE 2854397A1 DE 19782854397 DE19782854397 DE 19782854397 DE 2854397 A DE2854397 A DE 2854397A DE 2854397 A1 DE2854397 A1 DE 2854397A1
Authority
DE
Germany
Prior art keywords
signal
memory
address
buffer
data
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
DE19782854397
Other languages
English (en)
Inventor
Thomas O Holtey
Thomas F Joyce
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2854397A1 publication Critical patent/DE2854397A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Description

2054397
Die vorliegende Erfindung betrifft ein DV-System nach dem Gattungsbegriff des Anspruches 1. Sie bezieht insbesondere auf Minicomputer systeme mit einer Speich.erhierach.ie, wobei ein Hochgeschwindigkeitsspeieher geringer Kapazität über eine System-Datenschiene an eine Speichereinrichtung mit hoher Kapazität und geringer Geschwindigkeit angeschlossen ist.
Das Konzept der Speicherhierachie basiert auf dem Phänomen, daß inviduelle Speicherprogramme bei ihrer Ausführung das Verhalten aufweisen, daß in einer vorgegebenen Zeitperiode ein begrenzter Speicherbereich eine sehr hohe Benutzungsfrequenz aufweist. Durch ein Speicherorganisation, die einen Pufferspeicher geringer Größe an der Schnittstelle der Zentraleinheit und verschiedene Pegel wachsender Kapazität eines langsamen Speichers vorzieht, kann eine effektive Zugriffszeit gebildet werden, die irgendwo zwischen den schnellsten und langsamsten Elementen der Hierachie liegt, wobei ein Speichersystem mit großer Kapazität geschaffen wird, das für die Software transparent ist.
Die Erfindung macht von den Vorteilen eines wortorganisierten Speichers Gebrauch. Der Stand der Technik beschränkte sich auf die Speicherung des anforderten Datenwortes mit seiner Adresse in Hardwareregistern. Als das Bedürfnis nach billigen Pufferspeichern mit erweiterter Größe auftrat, wurde im Stand der Technik eine Blockorganisation benutzt. Wenn ein bestimmtes Wort durch die Zentraleinheit angefordert wurde, so wurde der das Wort enthaltende Block in dem Hochgeschwindigkeits-Datenpuffer gespeichert. Diese Arbeitsweise besitzt den Nachteil, daß in den Hochgeschwindigkeits-Pufferspeicher Worte mit einer relativ geringen Benutzungswahrscheinlichkeit gebracht werden. Nimmt man einen Block mit vier Worten an, so muß der gesamte Block einschließlich der Worte 1,2 und 3 angefordert werden, wenn tatsächlich nur das Wort 4 angefordert ist. Die Worte 1,2 und 3 können hierbei eine relativ geringe Benutzungswahrscheinlichkeit aufweisen. Trotzdem werden diese Worte in den Hochgeschwindigkeitspuffer gebracht. Um die Speicherhierachie optimal zu nutzen, muß das Betriebssystem den Speicher in einer solchen Weise organisieren, daß die Soft-
909827/0735
ware-Submodule und Datenblöcke mit dem Wort 1 des Blockes beginnen. Zur Überwindung dieser Schwierigkeit, wurde im Stand der Technik eine "Block-Vorausabsuche" verwendet. Wenn sich ein Block in. dem Hochgeschwindigkeitspuffer befand, so wurde während der Verarbeitung eines Datenwortes in diesem Block eine Entscheidung getroffen, um den nächsten Block in den Hochgeschwindigkeitspuffer zu Bringen.
Einige typische Patente und Veröffentlichungen, die diese Philophie zeigen, sind folgende:
Die US-PS 3 231 868 offenbart einen "seitwärts schauenden" Speicher, der ein Wort in einem Register und seine Hauptspeicheradresse in einem zugeordneten Register speichert. Zur Verbesserung der Leistung zeigt die US-PS 3 588 829 einen Acht-Wort-Blockabruf aus dem Hauptspeicher in den Hochgeschwindigkeitspuffer, wenn irgendein Wort in dem Acht-Wort-Block von der Zentraleinheit angefordert wird. Ein Artikel von CJ. Conti "Concepts for Buffer Storage", veröffentlicht in IEEE Computer Group News, März 1969, beschreibt die übertragung von 64 Byte-Blöcken, wie sie in dem IBM-System 360/85 benutzt werden, wenn ein bestimmtes Byte dieses Blockes,der sich gerade nicht im Pufferspeicher befindet, angefordert wird. Das IBM-System 360/85 ist ganz allgemein auf den Seiten 2-30 des "IBM System Journal", Band 71, Nummer 1, 1968 beschrieben. Die US-PS 3 820 078 beschreibt die Übertragung von Blöcken mit 32 Bytes bzw. die Speicherung von Blöcken mit 16 Bytes aus dem Hauptspeicher in dem Hochgeschwindigkeitspuffer, wenn ein Wort (4 Bytes) des Blockes oder ein Halbblock von der Zentraleinheit angefordertwird. Die US-PS 3 896 419 beschreibt die Übertragung eines Blockes mit 4 Worten von dem Hauptspeicher in den Hochgeschwindigkeitspuffer, wenn ein Wort dieses Blockes von der Zentraleinheit angefordert wird. Schließlich beschreibt die US-PS 3 898 624 den Vorabruf der nächsten Zeile (32 Bytes) aus dem Hauptspeicher in den Hochgeschwindigkeitspuffer, wenn ein bestimmtes Byte durch, die Zentraleinheit aufgrund der vorangegangenen Zeile angefordert wird.
9 0 9827/07 3 5
In Minicomputern, insbesondere in jenen Minicomputern, die in einer solchen Weise organisiert sind, daß eine Vielzahl von Systemeinheiten gemeinsam an eine System-Datenschiene .,angeschlos"-sen sind, schaffen die bekannten Systeme eine Anzahl von Problemenr die alle den Datendurchfluß und somit die Leistung des Minicomputers betreffen. Im Stand der Technik wird vom Hauptspeicher" der gesamte Block von Worten, in dem sich das angeforderte Wort befindet, zu dem Pufferspeicher gesendet. Hierbei gind Worte enthalten mit Adressen, die dem angeforderten Wort vorausgehen,und mit Adressen, die dem angeforderten Wort nachfolgen. In den meisten Fällen fordert die Zentraleinheit im folgenden Zyklus das Wort
der
unter nächst höheren Adresse an. Dies führt dazu, daß Worte mit hoher Benutzung svrahr s cheinlichkeit ebenso wie Worte mit geringer Benutzungswahrsch.einlichL.iIt in den Pufferspeicher übertragen werden. Um dieses Problem zu überwinden, ist es im Stand der Technik erforderlich, daß die Programmierer des Betriebssystems ihre Programme optimieren, um Folgen mit Worten unter der ersten Adresse eines jeden Blockes zu starten. Ein anderes Problem im Stand der Technik liegt darin, daß ein Block von Worten von dem Hauptspeicher zu dem Pufferspeicher in aufeinanderfolgenden Zyklen übertragen wird. Beispielsweise kann ein Block mit 32 Bytes in acht Zyklen übertragen werden, wobei jeweils 4 Bytes zu jedem Zeitpunkt übertragen werden. Das Datenschienen-System in einem Minicomputer führt hierbei zu einer beträchtlichen Verminderung des Durchflusses bzw. der Leistung des Systems.
Um die Leistung zu verbessern, werden überlappende Hauptspeicher benutzt. In diesem Zusammenhang sei auf die US-PS 3 796 996 verwiesen. Oberlappende Hauptspeichermodule gestatten der Pufferspeichereinheit die Ausführung aneinandergrenzender Leseanforderungen für benachbarte Worte im Hauptspeicher, ohne daß die Abgabe des ersten Wortes vor Anforderung des zweiten Wortes abgewartet werden muß. Dies ist bei Hauptspeichermodulen möglich, wenn sich, benachbarte Speicherplätze in getrennten Modulen befinden. Man verwirklicht dies, in dem alle geraden Adressen sich innerhalb eines oder mehrerer Speichermodule befinden und indem alle ungeraden Adressen in einer anderen gleichen Anzahl von Mo-
909827/0735
dulen angeordnet sind.
Ausgehend von einem DV-System mit einem derart organisierten Hauptspeicher ist es die Aufgabe der vorliegenden Erfindung, durch entsprechende Ausgestaltung des Pufferspeichers das Speichersystem insgesamt noch leistungsfähiger zu machen und die Informationsübertragung zwischen Pufferspeicher und Hauptspeicher und von dem Pufferspeicher zur Zentraleinheit zu verbessern. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Er- -findung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
In einem Datenverarbeitungssystem mit mehreren Systemeinheiten, wie beispielsweise einer Zentraleinheit, einem Hauptspeicher und einem Pufferspeicher, die alle an eine System-Sammelschiene angeschlossen sind und miteinander über die System-Sammelschiene im Dialog stehen, und mit einer festgeschalteten Schnittstelle zwischen Zentraleinheit und Pufferspeicher zur Ausführung eines direkten Pufferspeicher-Lesezugriffes durch die Zentraleinheit, weist eine mehrfach konfigurierbare Pufferspeichereinheit einen derartigen Aufbau auf, daß der Pufferspeicher in einer der folgenden Wortmoden betrieben werden kann:
1.- Modulweiser Einzelauszug
Eine Anforderung vom Pufferspeicher liest eine Adresse in einem modulweise wortorganisierten Hauptspeicher und empfängt daraufhin ein Datenwort unter dieser Adresse des Hauptspeichers'»
2. Modulweiser Doppelauszug
■ Eine Anforderung vom Pufferspeicher liest eine Adresse in einem modulweise wortorganisierten Hauptspeicher und empfängt aufgrund dessen zwei Datenworte aus aufeinanderfolgenden benachbarten Wortadressen.
909827/0735
3. überlappender Einzelauszug
... Zwei aufeinanderfolgende benachbarte Adressanforderungen werden vom Pufferspeicher ausgesandt, wobei sich eine Adresse jeweils in einem von zwei Modulen des Hauptspeichers befindet, und der Pufferspeicher empfängt aufgrunddessen zwei Worte, wobei jeweils ein Wort von jedem Modul herstammt.
2. überlappender Doppelauszug
Zwei aufeinanderfolgende Adressanforderungen werden vom Pufferspeicher ausgesandt, wobei eine Adresse jeweils einem von zwei Modulen des Hauptspeichers zugeordnet ist. Der Pufferspeicher empfängt aufgrund dessen insgesamt 4 Worte, wobei zwei Worte jeweils von jedem Modul herstammenn. Aufgrund der ersten Anforderung werden die Worte unter einer ersten und dritten Adresse aus dem ersten Mo-4 dul empfangen; während aufgrund der zweiten Anforderung die Worte unter einer zweiten und vierten Adresse aus dem zweiten Modul empfangen werden.
Die Anzahl der gelesenen Worte hängt von der Hauptspeicher-Konfiguration ab, und der Betrag der Speicherüberlappung wird durch die E/A-Steuerungen und andere Subsysteme vorgegeben. Die Wortanzahl bewegt sich zwischen 1 und 4 bei den verschiedenen Konfigurationen.
Eine Überlappung des Pufferspeichers zur Wiedergabe der Überlappung des Hauptspeichers insbesondere in einem System, bei dem der Dialog über eine System-Sammelschiene erfolgt, führt zu einer größeren Vielseitigkeit des Systems. Dabei ist nicht nur eine überlappende Betriebsweise, sondern auch eine modulweise erfolgende Betriebsweise möglich, und jede Betriebsweise kann mit Einzelauszug (1 Wort) und Doppelauszug (2 Worte)erfolgen.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher erläutert. Es zeigen:
909827/0735
Figur 1
ein allgemeines Blockdiagramm für eine Art von Dialog-Sammelschiene, wie sie von dem Pufferspeicher, dem Hauptspeicher und der Zentraleinheit benutzt wird.
Figuren
1a und 1b
das Format der Adress-Sammelschiene und der Daten-Sammelschiene für das System gemäß Figur 1.
Figur 2 ein allgemeines Blockdiagramm einer anderen Art
von Sammelsch.ienej.wie sie durch den Hauptspeicher, den Pufferspeicher und die Zentraleinheit benutzt wird ο
Figuren
2a bis 2d
das Format verschiedener Informationen, die über die Sammelschiene gemäß Figur 2 übertragen werden.
Figur 3 ein allgemeines Blockdiagramm der vorliegenden Erfindung.
Figur 4 ein allgemeines Blockdiagramm der System-Sammelschiene-Schnitts telleneinheiten.
Figur 5 eine Darstellung des Taktdiagrammes für den Betrieb der Sammelschiene gemäß der vorliegenden Erfindung.
Figuren
6a-6b
logische Blockdiagranime eines Teiles der E/A-Multiplexer-Sammelschienen-Schnittsteile.
Figur 7 ein Blockdiagramm zur Veranschaulichung der übertragung der Geräte-Adresseninformation von der Daten-Sammelschiene zu der Adress-Sammelschiene,
Figuren
8a-8d
das Format verschiedener Informationen während 9 ü 9 Ü 2 7 / ü 7 J 5
- ίο -
eines Lesezyklus,
Figur 9 ein detailliertes logisches Blockdiagramm der
Sammelschienen-Schnittstelle mit einer typischen Gerätesteuerung, die an die Sammelschiene ange~ schlossen ist.
Figur 10 ein detailliertes logisches Blockdiagramm der
Sammelschienen-Schnittstelle mit einer typischen Speichersteuerung.
Figur 11 ein detailliertes logisches Blockdiagramm einer typischen System-Sammelschienen-Schnittstelle.
Figur 12 eine schematische Darstellung der festgeschalteten Schnittstelle zwischen Pufferspeicher und ι Zentraleinheit.
Figur 13 ein detailliertes logisches Blockdiagramm der internen Schnittstelle zwischen Pufferspeicher und Zentraleinheit.
Figur 14 ein detailliertes Blockdiagramm der Zentraleinheit-Behandlungslogik.
Figur 15
ein Pufferspeicher-Taktdiagramm.
Figuren
16a u. 16b schematische Darstellungen der modulweisen und
überlappenden Konfigurationen.
Figur 17a eine schematisch.es Darstellung der Abbildung des Hauptspeichers im Pufferspeicher.
Figur 17b ein schematisches Diagramm des Konzeptes der absoluten Hauptspeicheradressierung durch die Zentraleinheit bzw. durch den Pufferspeicher.
909827/0735
Figuren
18a u. 18b schematische Darstellungen der Zentraleinheit*-
Leseanforderung-Pufferspeicher-Verwaltungseinheit.
Figur 18c eine schematische Darstellung der Speicher-Ausw,ahlschalter.
Figur 19. ein logisches Blockdiagramm des Pufferspeicher- * systems.
Figur 20 ein logisches Blockdiagramm der LeseanforderungS-logik.
Figur 21 ein logisches Blockdiagramm der Pufferspeicher-5ystem-Sammelschiene-Steuerlogik.
Figuren
22a u. 22b logische Blockdiagramme der Ersatz-Adressendatei
CBAF).
Figur 23 ein zweiter Zyklus des RAF-Modus-Zeittaktdiagrammes.
Figur 24 ein dritter Zyklus des RAF-Modus-Zeittaktdiagrammes.
Figur 25 ein vierter Zyklus des RAF-Modus-Zeittaktdiagrammes.
9 09827/0735
Figur 26 ein logisches Blockdiagramm des Datenzählers.
Figur 27 ein logisches Symbolschema für die in der vorliegenden Anmeldung verwendeten Symbole.
Die Datenverarbeitungs-Sammelschiene gemäß der vorliegenden Erfindung bildet einen Übertragungsweg zwischen zwei Einheiten eines vorgegebenen Systems. Figur 1 veranschaulicht eine Art der Sammelschiene, wobei die Steuereinheiten an die gleiche Sammelschiene wie die Speicher und Prozessoren angeschlossen sind. Die Sammelschiene benutzt 24 Bits zur Adressierung und 20 Bits für die Daten. Diese 20 Bits für die Daten umfassen 18 Bits für die Daten A und B und zwei zusätzliche Bits für die Parität. Diese Art von Sammelschiene ist in der US-PS 3 993 981 näher dargestellt und beschrieben. Es sei darauf verwiesen, daß in Figur 1 der erwähnten US-PS mehr Gerate an die Sammelschiene als in Figur 1 der vorliegenden Anmeldung angeschlossen sind. Es versteht sich hierbei von selbst, daß eine beliebige Anzahl von Geräten an die Sammelschiene angeschlossen werden kann, wobei die maximale Anzahl von Geräten durch die Auslegung der Sammelschiene vorgegeben ist. .
Eine andere Sammelschiene ist in Figur 2 dargestellt, wobei öie Grundsammelschiene in zwei Sammelschienen unterteilt ist; vSystem-Sammelschiene, die
durch einen Ein/Ausgabe-Multiplexer (IOM) voneinander getrennt sind. Bei dieser Art Sammelschienensystem bildet .die E/A-Sammelschiene eine Schnittstelle für alle E/A-Steuerungen,
ORIGINAL INSPECTED.
909827/0735
COPY
■-·;-■ - 13 -
während die Sy/stem-Sammelschiene eine Schnittstelle für die Speicher und Prozessoren Bildet. Das Wortformat des- Sammelschienensystems gemäß Figur'2 ist in den Figuren 2A-2D dargestellt, wobei Figur 2A den Adressteil der Sammelschiene und die Figuren 2B und 2D die Datenformate darstellen. Es sei darauf verwiesen, daß andere Formate mit unterschiedlichen Wortlängen ebenfalls verwendet werden können. Obgleich nur wenigevdie E/A-Sammelschiene angeschlossene Steuerungen dargestellt sind, können bis zu 46 Einheiten angeschlossen werden. Die Anzahl der E/A-Geräte, die an eine einzige E/A-Sammelschiene angeschlossen sind, kann jedoch größer als diese Anzahl seinf da viele Einheiten innerhalb der Anzahl von Einheiten verschiedene E/A-Geräte zur gleichen Zeit unterstützen. In gleicher Weise können, obwohl gemäß Figur 2 nur zwei Speichereinrichtungen und ein Prozessor an die Sammelschiene angeschlossen sind, mehrere solcher Einrichtungen bis zum statthaften Maximum angeschlossen werden, wobei diese Einrichtungen Speicheruntergruppen wie beispielsweise Pufferspeicher, Seiten usw. aufweisen können.
Ein Hauptmerkmal dieser Arten von SammeIschienen besteht darin, .daß die Datenübertragung direkt zwischen den Einheiten stattfinden kann, so beispielsweise zwischen dem NML-Speicher 1 (NML = New Miniline) und der NML-Steuerung 3 oder zwischen der HNP-Steuerung 5 (HNP = Honeywell Network Processor) und dem HNP-Speicher 9, ohne daß hierbei eine Intervention der Zentraleinheit CPU erforderlich wäre.
Gemäß Figur 1 und der zuvor erwähnten US-PS 3993 981 weist ein typisches NML-Sammelschienensystem eine Mehrleitungs-Sairanelschiene 100 auf, die an einen NML-Speicher 1 und ei nen NML-Speicher 2 angeschlossen ist. Ferner ist an die gleiche Sammelschiene eine typische NML-Steuerung 3 für die Datenübertragung, eine NML-Steuerung 3ar ein NML-Prozessor 4, eine typische Zentraleinheit CPU-4a und ein typischer Puffer- epeicher 1a angeschlossen. Ferner können an die Sammelschiene
909827/0735 - . ..
'.'.;·.■" ORlGlWALlNSPECtED
beispielsweise ^/^leitkommaeinheit und verschiedene Steuerungen angeschlossen sein, die ihrerseits periphere Geräte steuern, wie Beispielsweise eine Aufzeichnungseinheit oder ein peripheres Bandgerät. NML-Steuerung 3 kann verwendet werden, um eine Datenübertragungsteuerung durch Modemgeräte hervorzurufen (siehe US-PS 3 9S3 981).
Gemäß Figur 2 ist die HNP-Sammelschiene 200 mit einigen tvpi-■ sehen angeschlossenen Einheiten dargestellt. Es versteht^ daß gemäß der Auslegung der Sammelschiene viele Einheiten neben den dargestellten an diese angeschlossen werden können, obgleich für die Erläuterung der vorliegenden Erfindung die dargestellten typischen Einheiten ausreichend sind. Die HNP-Sammelschiene 200 besteht aus der E/A-Sammelschiene 201 und der System-Sammeischiene 202. Wie zuvor erwähnt, sind an die E/A-Sammelschiene 201 die HNP-Steuerungen 5 und 6 und die NML-Steuerung 7 angeschlossen. An dem Systemteil 201 der Sammelschiene 200 sind die HN?-Speicher 8 und 9, der HNP-Prozessor 10, eine Zentraleinheit CPU-12 und ein Pufferspeicher 13 angeschlossen. Ferner können an die System-Sammelschiene 202 beispielsweise eine Gleitkommaeinheit und verschiedene periphere Geräte, wie beispielsweise Massenspeichergeräte, Bandspeichergeräte und Aufzeichnungsgeräte angeschlossen sein, was jedoch nicht dargestellt ist. Der Ein/Ausgabe-Multiplexer IOM-11 erzeugt den Weg für die Daten und die Steuerinformation zwischen den Komponenten, die an die HNP-System-Sammelschiene, wie beispielsweise die Hauptspeichereinheiten oder die zentralen Prozessoren, und an die E/A-Sammelschiene 201, wie beispielsweise dieE/A-Steuerungen (manchmal als Kanäle bezeichnet), angeschlossen sind.
Der Multiplexer IOM-11 besteht aus-vier Haupteinheiten: -
der Ein/Ausgabe-Sammelschienenschnittstelle, der System-' schnitt J
Sammeischienetfsteile, einer Dateneinspeisung und einem E/AProzessor. Da diese Einheiten jedoch für die Ausführung der vorliegenden Erfindung nicht erforderlich sind, ist nur der in den Figuren 6a und 6b dargestellte Teil des Multiplexers
909827/073 5 . " CQpY
näher beschrieben.
Die HNP-Sammelschiene 200 gestattet irgendwelchen zwei Einheiten an dieser Sammelschiene einen Dialog miteinander. Irgendeine Einheit, die einen Dialog wünscht, fordert einen Sammelschienenzyklus (siehe Figur 5) an, was weiter unter beschrieben ist. Wenn diesem Sammeischienenzyklus stattgegeben wird, so kann diese Einheit (die Quelleneinheit) irgendeine andere Einheit (die Bestimmungseinheit) der Sammelschiene adressieren. Die Informationsübertragung während dieses spezifischen Sammelschienenzyklus erfolgt nur in einerRichtung, die von der Quelle zum Ziel verläuft. Einige Arten des Dialogs über die Sammelschiene erfordern eine Antwort (z.B. das Lesen eines Speichers). In diesem Fall zeigt das anfordernde
an
Gerät', daß eine Antwort gefordert vrird und gibt sich selbst zu erkennen. Wenn die anceforderte Information verfügbar ist, so wird die ursprüngliche Bestirurr-ingseiiiheit für einen zusätzlichen Sammelschienenzyklus zur Qüsll~ne±i:hzit und liefert die Information an die anfordernde Einheit. Hierdurch wird der Dialog vervollständigt.- der in diesem Fall zwei Sammelschienensyklen beansprucht. Die zwischen den beiden Zyklen liegende Zeit kann für zusätzliche SystemübertragungVbenutzt werden.
Eine Quelleneinheit kann irgendeine andere Einheit an der Sammelschiene als eine Bestimmungseinheit adressieren. Die Adresse jeder Einheit wird durch eine Kanalnummer identifiziert, mit Ausnahme bei Geräten vom Speichertyp,die durch ihre Speicheradressen identifiziert werden. Jedem Gerät ist eine Kanalnummer zugeordnet. Vollduplexgeräte ebenso wie HalbduplexgerSte können zwei Kanalnummern benutzen; einige HNP-VollduplexkfcnSle erfordern jedoch nur eine Nummer. Geräte die nur einen Ausgang oder nur einen Eingang aufweisen, verwenden jeweils eine Kanalnummer. Die Kanalnummern sind normalerweise veränderlich und es können dementsprechend ein oder mehrere hexadezimale Drehschalter benutzt werden, um die Geräteadresse· anzuzeigen bzw. diese einzustellen. Wenn daher ein System
90 9827/07 35 · · . " " ' copY
- -16-
aufgebaut wirdf so kann die dem speziellen Gerät zugeordnete Kanalnummer in geeigneter Weise vorgegeben werden. Geräte mit Mehrfach-Ein/Ausgabe-Anschlüssen erfordern im allgemeinen ' einen Block aufeinanderfolgender Kanalnummern. So kann beispielsweise ein Gerät mit vier Anschlüssen Drehschalter benutzen, um die oberen 7 Bits einer Kanalnummer zuzuordnen und die unteren 3 Bits zu verwenden, um die Anschlußnumraer zwecks Unterscheidung von Eingängen und Ausgängen zu definieren. Eine Quelleneinheit, die im vorliegenden Fall manchmal als Haupteinheit bezeichnet wird, adressiert eine Zieleinheit, die im vorliegenden Fall manchmal alt Nebeneinheit bezeichnet wird, durch Aufschaltung einer Zieiadresse auf die Acressleitungen der Adressen-Sammelschiene. Es gibt 24 Adressleitungen, die in Abhängigkeit von dem Zustand einer zugeordneten Steuerleitung, die als Speicherbezugsleitung BSMRSF bezeichnet ist, zwei Interpretationen ermöglicht. Wenn eine Haupteinheit eine iSebeneir.heit adressiert und diese Kebeneinheit ein Speicher ist, so wird das Format gemäß Figur 2A verwendet« Dies wird durch ein hohen Potenzial für das Speicherbezugssignal■-■ ESMREF angezeigt. Wenr. jedocn. die Bau-teinheit eine Nebeneinheit adressiert und diese Nebeneinheit kein Speicher ist, so weist das Speicherbezugssignal BSMREF den niedrigen Pegel auf, und es wird das Format gemäß Figur 8C verwendet.
Wenn eine Haupteinheit eine Antwort von einer Nebeneinheit anfordert, wie beispielsweise bei einer Leseoperation, so zeigt cie dies der Nebeneinheit durch ein Steuerbitsignal an, das als Antworterfordernis signal BSRSVP-f bezeichnet ist. Die Haupteinheit teilt zusätzlich ihre eigene Identität der Nebeneinheit mit, indem sie ihre Kanalnummer abgibt, die im allgemeinen 10 Bits auf der Daten-Sammelschiene zusammen mit der Adresse auf der Adressen-Datenschiene umfaßt. Eine zusätzliche Steuerinformation wird ferner mit den 6 Bits niedrigster Ordnung auf die Daten-Sammelschiene gegeben. Wenn daher von einer Haupteinheit eine Antwort von einer Nebeneinheit angefordert wird, so wird die Adresse auf die Adress-Sammelschiene gegeben, wobei diese das Format gemäß Figur 2A oder Figur 8C
909827/0735
. . ORIGlNALINSPEGtED
- - 17 -
aufweist, was von dem Typ der Zieleinheit abhängt. Im Falle eines Speichers erfolgt die Adressierung durch das Format gemäß Figur 2A und bei anderen Gerätentypen gemäß dem Format ■gemäß Figur 8C. Wenn darüberhinaus von der adressierten Nebeneinheit eine Antwort gefordert wird, so gibt die Haupteinheit zusätzlich ihre eigene Adresse aus, z.B. die Kanalnummer auf . den ersten hochrangigen 10 Bits der Daten-Sammelschiene, und sie liefert ferner die Steuerinformation auf den 6 niedrigrangigen Bits der Adressen-Sammelschiene. Diese letztgenannte Operation läuft in zwei Sammelschienenzyklen ab.
Gemäß den Figuren 2A--2D sind einige typische Adressen- und Datenformate des HNP-Sammelschienensysteins 200 dargestellt.
'Die ersten 5 Bits des Adressenformates gemäß Figur 2A umfassen die Bits P, I, S, F und RFU. Das einzige für die Ausführung der vorliegenden Erfindung erforderliche Bit stellt
* das Bit F dar, das als Formatbit bezeichnet wird. Dieses Bit vird nachstehend in näheren Einzelheiten beschrieben. Die Bits 5-23 werden benutzt? um einen Speicherplatz zu adressieren. Figur 2B veranschaulicht die Art und Weise, in der Daten auf der Daten-Sammelschiene des HNP-Sanrnielschienensystems formatiert werden. Es ist zuvor gezeigt worden, daß das Datenformat der Daten-Sainmeischiene des NML-SaiamelSchienensystems ge-
'maß Figur 1 das Format gemäß Figur IB besitzt«. Dieses Format ' weist zwei aufeinanderfolgende Bytes auf,, wobei jedes Byte aus 9 Bit besteht. Zu diesen Bytes gehören zwei Paritätsbitssodaß sich insgesamt 2o Bits ergeben» Das Format gemäß Figur 2B weist andererseits ebenfalls 2o Bits auf und umfasst ein Α-Bit im höchsten Rang und ein B-Bit zwischen den Bits 7 und 8. Das Format umfasst zwei Bytes mit 8 Bit, die die Bits 0-7 und die Bits 8-15 umfassen. Das Format" gemäß Figur 2C wird benutzt, wenn Daten von der NML-Sammelschiene mit dem Format gemäß Figur 1B als Daten auf der HNP-Sammelschiene benutzt . verden. Da die HNP-Sammelschiene ein Datenformat gemäß Figur
2B besitzt und dieses Format 20 Bits umfasst, müssen die Daten ' auf der NML-Sammelschiene mit einem Format gemäß Figur 1B auf das Format gemäß Figur 2B ausgerichtet werden. Dieses Format
. . 909827/0735 - ' 00Ργ
.·'::.'-: -r-i ^v;iii.(.; 'ORiGJNALiNQPECTED '_'■'.
besitzt den Binärwert "O" in der hochrangigsten Bitposition und einen weiteren Binärwert "0" zwischen den Bits 7 und 8. Dementsprechend besetzen die Eits 0-7 gemäß Figur TB die Bits 0-7 gemäß Figur 2C, und die Bits 8-15 gemäß Figur IB besetzen die Bitpositionen 8-15 gemäß Figur 2C. Diese Transformation erfolgt in einfacher Weise, wobei dies in näheren Einzelheiten in der DE-OS 27 49 884 beschrieben ist. Gemäß Figur 4 .dieser DE-OS 27 49 884 sind Verbindungen für einen Treiber/Empfänger A und einen Treiber/Empfänger B dargestellt. Der Treiber/Empfänger A weist Anschlüsse für die Eits -in Übereinstimmung mit dem Format gemäß Figur 2C auf, während der Treiber/Empfänger B Anschlüsse in Übereinstimmung mit dem Format gemäß Figur IE besitzt. Es ist erkennbar, daß die Bits A und B des Treiber/Empfängers A an einen Αη^_η1-.ι£ II des Treiber/Eir.pfängers B angeschlossen sind. Die Bezeichnung X zeigt an, daß die Position immer den Wert "0" besitzt. Mit dieser einfachen Verbindung können daher Fermate gemäß Figur IB in Formate gemäß Figur 2C und umgekehrt umgewandelt werden.
üi Figur 2D ist noch ein weiteres Wortformat dargestellt, das von der HNP-Sammelschiene 200 benutzt wird, wenn bestimmte Arten von Information in die an die Sammelschiene angeschlossene Speichereinheit eingespeichert werden. In diesem Format besitzen die Bits A und B die beiden hochrangigen Bitpositionen, wobei zwei Bytes mit jeweils 8 Bit im Anschluß daran in den verbleibenden niedrigrangigen Bitpositionen gespeichert werden. , ~
Wie zuvor erwähnt, werden die Formate gemäß den Figuren GA-8D benutzt, wenn eine Haupteinheit eine Nebeneinheit adressiert und eine Antwort erwartet. Hierbei veranschaulichen die Figuren 8A und BC die Formate der Adressera-Sammelschiene, venn die Quelleneinheit ein Gerät vom Speichertyp bzw. ein anderes Gerät adressiert. Figur SB stellt das Format der Dster:- Sammelschiene dar, wenn eine solche Haupteinheit eine Nebeneinheit adressiert und eine Antwort erwartet und somit ihre eigene Adresse (z.B. Kanalnummer) auf der Daten-Sammelschiene aus-
909827/0735 .
COPY BAD ORJGINAL
2854337
gibt. Gemäß Figur 8A können die Bits 0-23 zur Adressierung eines bestimmten Wortes im Speicher benutzt werden. Ein hiervon abweichendes Format ist in Figur 2A dargestellt, wo ein ■ kleinerer Speicher adressiert wird und die höherrangigen Bits als Steuerinformation benutzt werden. Gemäß Figur 8C können die ersten 8 Bits für verschiedene Zwecke benutzt werden. Die Bits 8-17 bilden die Kanalnummer der zu adressierenden Nebeneinheiten, während die Bits 18-23 die Steuerbits darstellen. Gemäß Figur 8D ist ein Datenformat eines HNP-Speichers dargestellt, welches die Bits A und B in den höchstrangigen Bit-Positionen sowie zwei Bytes mit 8 Bit in den unteren Bitpositionen umfasst:. Die Formate ger.;ä£ den Figuren 8D und 2D entsprechen sich; das Format gemäß Figur ED wurde jedoch in die-'ser zweiten Gruppierung noch einmal aufgeführt da hierdurch die Erläuterung eines später noch zu diskutierenden Lesezyklus erleichtert vrird.
Gemäß den Figu: ?.:. 5A und SL- sine die Schaltkreise für die Erzeugung des ÄU£W£.r.lscodes zur Aus>,"?.,hl. des r-ei-crieter. Formates dargestellt. Die NAND-Gatter 26r2? und ": 6 erzeugen die Signale ISLPiDO -r 00, ISLHT-I -r 00, und ISLRD2 - 0C> woo ei diese Eiern ε. Is-
der
den Auswählcode bildenjVin der rechten Seite des Blockes 300 in Figur 3 der zuvor erwähnten DS-OS dargestellt ist. um beispielsweise EIDI (1-8, 10-17,) 305 auswählen zu können, muß der Code 011 erzeugt werden. Dies bedeutet, daß das Signal ISLEDO + 00 den Wert "0" aufweisen muß, während das Signal ISLRD1 + 00 und das Signal ISLRD2 + 00 den Wert "1" besitzen muß. Gemäß den Figuren 6A und 6B muß somit das NAND-Gatter 26 ein "O"-Signal und die NAND-Gatter 27 und 16 müssen ein 1M "-Signal erzeugen. Damit das NAND-Gatter 26 den Binärwert "0" ausgibt, müssen beide Eingangssignale dieses Gatters ISLRDO + OA und ISLRDO + OB den Binärwert "1" besitzen. Das Signal ISLRDO + OA ist jenes Signal, welches das Weiterreichen der Daten der • E/A-Sammelschiene zu der System-Daten-Sammelschlene (wenn es den Wert "1" besitzt) steuert; bzw. welches die Kanalnummer und das Format-Steuerbit der Daten-Sammelschiene (wenn es den Wert "0" besitzt) weiterreicht. Das Signal ISLRDC + OB stellt
. „£0 9827/0735 ?*" -
J*1-·- -:J"r"- — - .. BADOR'GINAL . ■ COpY *
nicht darge:
das Signal dar, das nur durch, den nicht dargestellten XON-Prozessor benutzt wird, wenn dieser lesend oder schreibend mit der externen System-Sammelschiene zusammenarbeitet. Damit das Signal ISLRDO + OB den Binärwert "1" aufweist, muß wenigstens ein Eingangssignal des NAND-Gatters 31 den Binärwert "0" aufweisen, beispielsweise das Signal IOPCYC + 00 oder das Signal. RSLR18 + 00. Das Signal IOPCYC + 00 besitzt den Binärwert "1", wenn . der nicht dargestellte Prozessor des Multiplexers IOM-300 nicht auf die externe System-Sammelschiene Zugriff nimm; dagegen weist dieses Signal im Falle des Zugriffs auf die externe System-Sammelschiene den Binärwert "1" auf. In gleicher Weise wird das Signal 'RSLR18 + 00 benutzt, um anzuzeigen, daß der Prozessor des Multiplexers IOM-300 Zugriff zu einer Sammelschiene besitzt, falls dieses Signal den hohen Pegel aufweist.
Zusätzlich zu dem Signal ISLRDO+OB muß das Signal ISLRDO-K)A den Binärwert "1" besitzen, damit das NAND-Gatter 25 am Ausgang das Signa ISLRD04-00 mit niedrigem Pegel ausgibt. Das Signal ISLRDO+GA besitzt den hohen Pegel, wenn beide Eirtgangssignaie des KOR-Gatters 28 den • niedrigen Pegel aufweisen. Bej.de Eingangs signale des NOR-Gatters besitzen den niedrigen Pegel e wenn die Ausgarsgssignale der üND-Gatter 29 und 30 entsprechend den niedriger Pegel aufweisen. Die Aus— gangssignale der UND-Gatter 25 und 30 weisen den niedrigen Pegel auf, wenn wenigstens eines der Eingangssignale jedes dieser UND-Gatter 29 und 30 den niedrigen Pegel besitzt. Dementsprechend muß das Eingangssignal IOMCYC+00 oder das Eingangssignal BMREFD-IO des UND-Gatters 29 den niedrigen Pegel aufweisen..bzw. es müssen beide Signale den niedrigen Pegel aufweisen, damit das UND-Gatter 29 am Ausgang ein Signal mit niedrigem Pegel abgibt. In gleicher Weise muß das Eingangssignal IOMCYC+00 oder das Eingangssignal BIACOL-10 des UND-Gatters 30 den niedrigen Pegel aufweisen bzw. es müssen beide den niedrigen Pegel aufweisen, damit das UND-Gatter 30 ein Ausgangssignal mit niedrigem Pegel abgibt. Das Signal IOMCYC+00 be- «itzt den niedrigen Pegel, wenn eine übertragung von der E/A-Sammelschiene 201 zu der System-Sammelschiene 202 nicht stattfindet. Das Signal BMREFD-IO besitzt den niedrigen Pegel, wenn eine direkte Speicherbezugnahme von der E/A-Sammelschiene 201 zu irgendeinem Speichermodul 8 oder 9 an der System-Sammelschiene 202 nicht statt-
9U9827/0735
ORIGINAL INSPECTED
"COPY ί
findet. In gleicher Weise wird das Signal IOMCYOO+00 am UND- Gatter 30 den niedrigen Pegel aufweisen und das Signal BIACOl-10 Wird den hohen Pegel aufweisen t wenn von der System-Sammelschiene kein Antwortzyklus gefordert wird. Bei Erfüllung dieser Bedingungen wird ein Ausgangssignal mit niedrigem Pegel von dem NAND-Gatter 26 erzeugt. Dieses Signal repräsentiert das höchstrangige Bit des Äuswahlcodes e welches in vorliegendem Beispiel den Binärwert "0" besitzt. Das nächsthöhere Bit des Auswahlcodes wird am Aus-. gang des NAND-Gatters 27 in Form des Signales ISLRDl+OO erzeugt. Im vorliegenden Beispiel ist eir erforderlich- daß dieses Signal cen hohen Pegel besitzt. Dieses Signal besitzt den hohen Pegel f wenn eines oder beide Signale ISLRDI+OA oder IOMCYC-00 des NAND-Gatters 2? den niedrigen Pegel besitzt. Das Signal I3LRDI+0A besitzt den niedrigen Pegel, wenn der Prozessor des Multiplexers IOM-300 lesend mit der E/A-Sammelschiene 201 zusammenarbeitet. Das Siga&l IQMCYC-K)O befindet sich auf niedrigem Pegel, wenn keine übertragung von der E/A-Sammelschiene 2OI su der Systeiu-Saimaelschiene ' 2C2 stattfindet; und es besitzt andererseits den hohen Pegel, weH"ri7 selche Übertragung stattfindet. Ein Eingangssignal des NAND-Gatters Zl besitzt den niedrigen Pegel;, venn das Ausgar.gsEi gnsl des NAND-Gatters 32 ebenfalls den niedriger. Pegel besitzt,- wobei dies der Fall ist, wenn irgendeines der Bingangssignale oder beide Eingangssignale des NAND-Gatters 32 der; hohen. Pegel besitzen» Das Eingangssignal IOPCYC+00 des KAKD-Gatterf- 32 weist den hohen Pegel auf, wenn der Prozessor des Multiplexers 2u.crriif zu einer externen E/A- hzw. System-Sammelschiene besitzt; umgekehrt weist dieses Signal den niedrigen Pegel auf, wenn dieser Zugriff nicht vorliegt. Das Signal RSLR19+00 besitzt den hohen Pegelf wenn der Prozessor des Multiplexers Zugriff auf die E/A-Sammelschiene nimmt; umgekehrt be- ßitzt dieses Signal den niedrigen Pegel, wenn der Prozessor auf die System-Sammelschiene Zugriff nimmt. Aus Vorstehendem wird ersichtlich, wie das in der Rangordnung folgende Bit des'Auswahlcodes erseugt wird. Um schließlich das Bit des Auswahlcodes mit dem nied- rigsten Rang zu erzeugen, muß das NAND-Gatter 16 am Ausgang den
909827/0735
• . · . COPY
'S
;·· s ί* vi i? 7
hohen Pegel ausgeben, da in diesem speziellen Beispiel das EIe-. ment 305 ausgewählt wird, dem der Auswahlcode 011 zugeordnet ist. Das Ausgangssignal ISLRD2+G0 des NAND-Gatters 16 besitzt den hohen Pegel, wenn ein oder beide Eingangssignale den niedrigen Pegel besitzen. Dementsprechend muß wenigstens eines der Ausgangssignale der NOR-Gatter 17 und 18 den niedrigen Pegel aufweisen. Das Ausgangssignal ISLRD2-0A des KOR-Gatters 17 besitzt den niedrigen Pe-. gel, wenn ein Eingangssignal oder beide Eingangssignale den hohen Pegel besitzen. Eingangssignale mit hohem Pegel werden an das NOR-'Gatter 17 angelegt, wenn die UND-Gatter 19 und 20 Signale mit hohem Pegel ausgeben. Ein Ausgangssignal mit hohem Pegel ergibt sich am UND-Gatter IS, wenn beide Eingangssignal den hohen Pegel aufweisen In gleicher Weise ergibt sich ein Ausgangssignal mit hohem Pegel am UND-Gatter 20, wenn dessen beide Eingangssignale den hohen Pegel besitzen. Das Signal 10?CYCt-OO weist den hohen Pegel auf, wenn dei. Prozessor des Multiplexers IOM-3OO Zugriff zu einem externen E/A- oder Sys rem-S aunöe is chi ene r.re gis ter (nicht dargestellt) ninmt* Das .Signal RSLR20+00 besitzt den hohen Pegel, wenn der IOM-Prozessor lesend mit den externen E/A- bzw. System-Sammelschienen-Registern zusammenarbeitet. In gleicher Weise besitzt das Eingangssignal BMWRTD+10 den hohen Pegel, wenn eine direkte Speicher-Schreiboperation von der E/A-SammeIschiene 201 zu dem Speicher an der System-Saminelschiene 202 stattfindet. Dieses Signal mit hohem Pegel wird am Ausgang des UND-Gatters 23 erzeugt, wenn alle Eingangssignale des UND-Gatters 23 den hohen Pegel besitzen. Das Eingangssignal I0MCYC+O0 besitzt den hohen Pegel, wenn eine übertragung von der E/A-Sammelschiene 201 zu der System-Sammelschiene 202 stattfindet. Das Eingangssignal BMREFD+OO besitzt den hohen Pegel, wenn eine Informationsübertragung von der E/A-Sammelschiene 201 zu irgendeinem Speicher 8, 9 an der System-Sammelschiene 202 stattfindet. Das Eingangssignal BIACOl+00 besitzt den hohen Pegel, wenn ein Antwortzyklus nicht angefordert wird (z.B. Speicher-Schreiboperation durch die E/A-Sammelschiene). Wenn diese Bedingungen erfüllt sind, so wird ein Signal ISLRD2+OO mit hohem Pegel erzeugt und dieses Signal bilde das niedrigrangigste Bit innerhalb der 3 Bit des Auswahlcodes.
909827/0735 CQpY
3ir, r.i.-sgax.gsrrignr.l I.SLPJD.?h-00 nit hohem Pegel am liJiND-Gatter 16 kr.rn in gl-sicher Keiss unter Zugrundelegung der gleichen t'berle- r:-7<ppT\ furch einr.n .Schaltweg gebildet werden, der durch die UND-Grttcr 25, 21 und 22 und das NGR-G::ttsr 15 gebildet wire, in der nccclintehenclen 7abelle I sind die verschiedenen durch die Schaltung C1-C-".-'1 c>.η FiT. 6«. ur-.T 6B verwendeten Signale und ihre Funktion darcsctcllt. Aufgrund c.icser Eingaben ist jeder Fachmann in der Lage, eine .c"ch=.ltung zu realisieren, die die Auswahlcodesignale zur Aus- iTcail eines vorbestimmten geforderten Formats erzeugt.
Tabelle I
dss
des
FurJztion des
Π ic τι al λ =■
7.QF-CYZΐ-CO ^/A-SanvT-islschie- Interne Sammelschiene Hoher Pegel, neni.-chjij.ttsteile vunn eine In
formationsübertragung von dar
schiene zu der Sys tem-S amme1-Gchiene stattfindet .
rM?j;F!:-fGC " β . it η Hoher Pegel,
venn Information von einer E/A-Samme1-rchiene zu eine fpcichermodul an der System-
BIACO Vl-CO E /L- S amine Is chi en e Sy stern-Sammelschiene
{',';· er tr a gen wird
Hohes Potential wenn ein Antv:o;:tzyklus von eier System-Sfcjnme Is chiene nicht angefcrö.ert wird.
909827/0735
BAD
COPV
- 2k-
Pigr.ainaT?.e Ursprung des Bestimmung des
Sigr^les
Funktion des Siσπdles
IOPC.rCn-00 IC'i-Frozassor Interne Sammelschiene Hohes Potential,
vr^nn ein ICK-Prciresscr a'jf eins externe Ξ/.τ odar Systen-Sair.· iüalschiiLne zugreift.
" " : Eine Lessopera
tion hinsichtlir c^s Speicherbit;· IS vrird nur herutstf wenn der IC::-?rczesscr ευ eine S^irjr.ei— schiene Zügriff
.SLFcl9+00 "
Eine Lesecpera- cn t— 9 v-ir
t-.icr. hins Spei-
j ich ei"i"s 1 C-''^—
cl";erbi~s 2;
n"irr bs-nut T
ν* -71 **" η ί£"—
schiene Zugriff
RSLS20+00 Eine Leseoperaticn hinsiehtlirh des Speicacrbits 20 v;ir- »i'jr benutztΛ vsn dar IOM-Prozessc tür ei.ne Samriei-Gchiene Zugriff
Bir.tT.Tn+10
E/Ä-Sammslsckie- Interne Sammelschiene Direkte Speicher nenschnittstelle £cärsiboperation
von der E/A-Sijmnelschiene z\x car Systezn-Scjnmelschiene.
909827/0735 BAD ORiGiMAL COPV
S ν ζ t irr.- S an^j a 1-
des
auf der Ε/Λ-
Kotierung statt-
::■'::.lc·:·;:;?en Iv2rc
- 1 — ir. dem E-oliz "ibauow bl;:::; JOS (
= 0 ΐϊΐϊΐ; dem.
E/A-5armel-
ISLrX-Λ+ΟΛ
.-Schnitt- schiene
stelle
ε chni»tstelIe
10M-Pro2;eEsor
= Γ. nii'c de~: Les;=
Fcr~T.t.bit vc~ £.^.".VL".C- wenn:
— 1 '''"I el 1^ ^:3 7^—C cir.:."- r>I.cc.< 303 £. u "■"■*£.;". λ "t.
== 0 und SHBC-C C!2·:. ?f'-ock 302
':- It
von .—S on—
c. ζ .T S γ:: t er:
r."el.?-c"„]±£~e zu c-sr:
E/A-Sar-n-als chienc
909827/0735 BAD ORIGINAL COPY
S.lgnr.lnahne Ursprung des Bestirmung des S.'.crnals S
Funktion des Sicrnales
JSLl 01+00 Interne Saranel- " schiene
£ign£.l für das hoch ε tr ancrio-e Eit ess Ausv^hl-
Signal für das Bit n/.edrigs-cer C~-1r.sr.-y. des I-.^::··
r„u~ vnrstshcncriT. ist ersichtlich, daß die Anforderung ven ZTr.ten ',.;·■: ·%::".":'. εηύϊΐ'ϊπ 2ii~".".e.it cf.':r für die Übertragung von Dr.ten usv. υ·..7G\ ä:_c J/asgaba vor.bss-_j.~-tsr Sig-nale. erfolgt. KorrJbin-.timen t...·.;.· ·;." £-.gnale cissuron autoniatisch einen Code, der siir auto~2-i".'. "c : .1. i*_*w™</cili2. els ir ~ soi crj'iGT-Ξη I'orrviatcs für die c"^;^zieXis eins— ^xif:.'. .V-^nUe hz\-J. öngeforderte Operation verv/endet -..-ird. :!orx^ler- * 'tl.i ■ .:.cLr^ffca Ll;c." ;u:':;.r.r3cp2rutionen eine Ir.fornatior., die vor.
:".-;r ': /\-~zte"i-£2i^r.z:.:.3z;hie-e 201 ^:u der
chiene 20
202
rv · ·--:·■:rar2z: i-t« O-r-.aezxlß enthält eine Übertragung von der Ξ/Α-
l3chi
: ζ:-:.::.. l3chi-3-.v= 201 zu der Gystem-Sanmelschiene 202 in ihrer^ T-"sg i"-T. i-VsltJplsrcer IOM-1'i. Die Information kann ebenfalls \τοώ. der Γ ■.'-1!-„·■■-£;.rrr.sr.3^hlr.ris 702, die :':$.ΏΤ.εη ir.it den Steuersignalen zu ζ'-.ϊά riiltiplsxsr IOM fihrt, zu der E/A-SairjnelscJiisne 201 über tr a-./.r-. ■>"■ vöerif die aufgrund der Steuersignale Information, von dein, liultipiejrer IOZ-f. aii-Inirnnt. Iriformationsübertragung.-.n zwischer, der Zar.' t::Kleinheit C?ü und den Speichern werden jedoch über die Systen- £t.:rj."!:;Ischier.a 100 unä 202 ausgeführt.
/.Γ:·'ΐα:-.·Λ von Figur 5 sei nunmehr in näheren Einzelheiten das Zeittnl:I"*1.Lsgrasum des HNF-Sanunelschienensystems erläutert. In jedem s.-'.nrTrlncr. Soainisls^hiansnzyklus gibt es drei identifizierbare Teile; f..i::·:··-· .:.Lnd insbssonclr.rs: die Periode 7A-7C, während v;elche:r das anforf-ernde Gerät mit der höchsten Priorität Zugriff auf die Ssm- :·.::.!ε·..·.-..Lene gewinnt., die Periode IC-IE, während welcher die Haupteir..hc.L~ eine Nebeneinheit aufruft, und die Periode 7S—7G- während i''3lcLc'r die Nabeneinheit antwortet. Wenn die Sammelschiene un-
9 0 9 8 2 7 /■ Q 7 3 5
BAD ORIGINAL
COPY
tätigt ist, so weist das Sammelschienen-Anforderungssignal BSREQT- den Binärwert "1" auf. Die zum Zeitpunkt 7A negativ verlaufende Flanke des Sammelschienen-Anforderungssignales startet einen Prioritätsausführungszyklus. Es wird eine asynchrone Verzögerung innerhalb des Systems für die ' Prioritätsausführung bis zum Zeitpunkt 7B vorgegeben, in der ein Hauptbenutzer der Sammelschiene ausgewählt werden kann, das nächste Signal auf der •Sammelschiene ist das Signal BSDCNN- , das den Datenzyklus einleitet. Der übergang des Signales BSDCNN- auf den Binärwert "0" '.zum Zeitpunkt 7C zeigt an, daß einer Haupteinheit die Benutzung der Sammelschiene gestattet worden ist. Die zweite Phase der Sammeischienenoperation zeigt danach an, daß die Haupteinheit ausgewählt worden ist und nunmehr in der Lage ist, Information auf den Daten-, Adressy und Steuerleitungen der Sammelschiene 200 zu einer von der Haupteinheit ausgewählten Nebeneinheit zu übertragen.
Die Nebeneinheit löst die dritte Phase der Sammelschienenoperation aus, die mit der negativ verlaufenden Flanke des Austastsignales BSDCND- beginnt. Das Austastsignal ist beispielsweise 60Nanosekunden gegenüber der negativ verlaufenden Flanke des Signales BSDCNN- über eine nicht dargestellte Verzögerungsleitung verzögert. Beim Auftritt der negativ verlaufenden Flanke des Signales BSDCNN- zum Zeitpunkt 7D kann die Nebeneinheit nunmehr prüfen, ob ihre Adresse vorliegt, und sie kann, für den Fall, das sie aufgerufen ist, mit dem Entscheidungsprozess beginnen, um die angeforderte Antwort zu erzeugen. Typischerweise wird .hierbei ein Bestätigungssignal>BSACKR- von der Nebeneinheit erzeugt und in nicht-typischen Fällen wird ein Signal BSNAKR- bzw. BSWAIT- oder im Falle einer nicht existierenden Nebeneinheit überhaupt keine Antwort erzeugt. Beim Empfang der negativ verlaufenden Flanke des Bestätigungssignales im Zeitpunkt 7E durch die Haupteinheit schaltet das Signal BSDCNN- der Haupteinheit auf den Binärwert "1" zum Zeitpunkt 7 F um. Das Austastsignal kehrt auf den Binärwert "1" im Zeitpunkt 7G zurück, wobei dieser Zeitpunkt gegenüber dem Zeitpunkt 7F mittels einer nicht dargestellten Verzögerungsleitung verzögert wird. Somit sind in --■-■ · 909827/0735 .· " — · : COPY ■
der dritten Phase der Sammelschienenoperation die Daten und die Adresse auf der Sammelschiene durch die Nebeneinheit gespeichert und der Datenschienenzyklus wird ausgeschaltet. Durch das Ende des Zyklus, z.B. wenn das Signal BSDCNN- den Binärwert "1" einnimmt, wird dynamisch eine andere Prioritätsausführung beigegeben. Ein Sammelschienen-Anforderungssignal kann zu diesem Zeitpunkt erzeugt werden, und für den Fall, daß ein solches nicht em-' -pfangen wird, bedeutet dies, daß die Sammelschiene in den untätigen Zustand zurückkehrt und demgemäß das Signal BSREQT- den '.Binärwert "1" einnimmt. Wenn das Sammelschienen-Anforderungssignal zu diesem Zeitpunkt vorliegt und somit den Binärwert "0" aufveifct, so wird nach einem weiteren negativen Flankenverlauf des Signales BSDCNN- . eine weitere asynchrone Prioritätsauswahl ausgelöst, was durch die gestrichelten Linien zum Zeitpunkt 71 angezeigt ist. Es sei darauf verwiesen, daß diese Prioritätsauswahl keine Triggerung durch die positiv verlaufende Flanke des Bestätigungssignales zum Zeitpunkt 7H erfordert, sondern bereits zum Zeitpunkt 7F nach dem Übergang der Sammelschiene in den un-"tätigen Zustand getriggert werden kann, wenn danach eine Einheit einen Sammelschienenzyklus anfordert. Diese Betriebsweise wiederholt sich asynchron. Die Information, die durch diesen Sammelschie-•nenzyklus übertragen wird, kann 51 Signale umfass en >. die wie folgt unterteilbar sind:
a) ■ 24 Adressbits;
• b) - 16 Datenbits;
c) 6 Steuerbits;
.d) 5 Integritätsbits·.
Nachdem bis hierhin der Aufbau und die Funktion des Sammelschienen- «ystems beschrieben worden ist, mit welchem die verschiedenen Arten von Systemeinheiten, einschließlich der Hauptspeicher, verbunden sind, wobei diese Einheiten im Dialog miteinander stehen, •ei die Schnittstelle zwischen der Systemsammelschiene und der Sammelschienen-Schnittstelleneinheit des Pufferspeichers 301 und einer Zentraleinheit CPU-303 gemäß Figur 3 betrachtet. Dies soll■ »nhand der Figuren 3 und 7-11 geschehen.
9 0.9 827/0735 ■ " COPY
Gemäß Figur 3 ist ein Blockdiagramm der Zentraleinheit CPü-312 und des Pufferspeichers 313 dargestellt/ die jeweils über Sammel-
• schienen-Schnittstelleneinheiten 2Of und 203 an die System-Sammeschiene--3O2 angeschlossen sind, was nachfolgend näher beschrie-1". ben wird. Eine festgeschaltete Schnittstelle 311/ die ebenfalls nachstehend näher beschrieben wird, verbindet die Pufferspeichereinheit mit der Zentraleinheit, wodurch Anforderungen des Hauptspeichers 8,9 gestattet werden und ein Dialog mit Adressen und
' Daten zwischen der Zentraleinheit CPU-312 und der Pufferspeichereinheit 313 ermöglicht wird. Die Pufferspeichereinheit besteht aus 4 logischen Haupteinheiten, der Sammelschienen-Schnittstelle 301, der festgeschalteten Schnittstelle 311, der Ersatz- und Fortschreibungs-Logikeinheit 314 und der Pufferlisten- und Datenpuffer-Einheit 315, wobei die beiden erstgenannten Schnittstellen ■Veiter unten noch näher beschrieben werden.
Die Pufferlisten- und Datenpuffer-Einheit 315 stellt fest, ob das angeforderte Datenwort in dem Pufferspeicher RAM 313 mit wahl-•freiem Zugriff vorhanden ist oder' nicht. Der Pufferspeicher-RAM-313 bildet typischerweise einen Hochgeschwindigkeits-Zwischen-'speicher für 2.048 bis 4.096 Worte, die aus dem Hauptspeicher ausgelesen werden, um Daten oder Befehle an die Zentraleinheit CPU zu liefern.
Die Ersatz- und Fortschreibungs-Logikeinheit 314 bildet die erforderliche Hardware für den Zugriff auf den Hauptspeicher 1,2 und für die Ausführung von Überwachungsfunktionen. Die überwachungsfunktion prüft und ermittelt alle Hauptspeicher-Schreibbezugnahxnen (z.B. von der CPU-312, 4a, 12 oder von dem Multiplexer IOM-11), und sie ersetzt Daten in irgendeinem laufenden aktiven Puf-'ferspeicherbereich mit Daten von der System-Sammelschiene 202, 302. · '
Die Sammelschienen-Schnittstelleneinheit 301 verbindet die Puffer- «peichereinheit 313 mit der System-Sammelschiene, und sie gestattet der Pufferspeichereinheit 313 den Zugriff auf einen Hauptspeicher 1,2 über die System-Sammelschiene 302 und das Auslesen von von
*..,..„. · 9 0 9827/07 3 5 · ' ,'
: 'Λ' ■ :- COPY
der Zentraleinheit angeforderter Information, die sich nicht in dem Pufferspeicher 313 Befindet. Ferner verbindet die Sammelschienen-Schnittstelleneinheit 303 die Zentraleinheit 312 mit der
.. System-Sammelschiene 302, und sie bildet die Logik für den Dialog mit anderen Systemeinheiten, die ebenfalls an die System-Sammelsch.iene 302 angeschlossen sind. Die Sammelschienen-Schnittstelle besteht aus folgenden Teilen: a) System-Sammelschiene-Schnittsteile; b) Anforderungs- und Prioritätslogik; c) Adressen-
• erzeugungslogik;und d) Adressfeld-Ersatzlogik. In diesem Zusammenhang sei auf die US-Patentsehriften 4 030 075 und 3 993 verwiesen.
Die Zentraleinheit CPU-312 besteht aus Subsystemen bekannter Art, vie beispielsweise der Arithmetik— und Logikeinheit 316 und der Steuerspeichereinheit 33 7. Der zu der vorliegenden Erfindung gehörige Teil der Zentraleinheit CPU-312 ist die Sammelschienen-Schnittstelleneinheit 303 (auch Steuereinheit genannt), die anhand der Figuren 7-11 noch näher beschrieben wird.
Gemäß Figur 4 ist ein typisches System einer Sammelschienen-Schnittstelleneinheit BIU400 dargestellt. Hauptspeicheranforderungen, Adressen und Daten ν ~rden über Puffer-Sender und Empfänger 401-403 gesendet und emp angen. (Hinsichtlich Einzelheiten sei auf die Figuren 7, 9-11 und die noch folgende Beschreibung verwiesen). "
Kurz -.gesagt beginnt der Behandlungszyklus der Zentraleinheit CPU-312, wenn die Zentraleinheit gleichzeitig eine Speicher-Leseadresse (z.B. absolute Hauptspeicheradresse) mit dem Lese-Anforderungssignal an den Adressengenerator 406 über die festgeschaltete Pufferspeicher/Zentralprozessor-Schnittstelle 311 an die Pufferspeichereinheit 313 sendet. (Hinsichtlich der Einzelheiten der festgeschalteten Schnittstelle 311 sei auf die Figuren 12, 13 und 15 und die noch folgende Beschreibung verwiesen). Wenn «ich der Pufferspeicher nicht in einem Forts chreibungs- oder Er- »atzzyklus befindet (Beispielsweise wird die Information im Haupt-
COPV
speicher nicht fortges-chrieBen Bzw. die Information im Pufferspeicher wird nicht ersetzt und die Ersatz- und Fortsehreibungslogik 408 ist nicht aktiviert), so wird die von.der Zentraleinheit ■ausgesandte Speicher-Leseadresse in eine nicht dargestellte Pufferliste umgeschaltet, in welcher eine Such- und Auswahloperation ausgeführt wird, um einen Hinweis auf einen Adressentreffer bzw. einen fehlenden Treffer zu erzeugen. Wenn die gesuchte CPU-Speicher-Leseadresse vorliegt (z.B. ein Treffer), so werden die zugeordneten Daten im Pufferspeicher zu der Zentraleinheit CPU-312 über .die festgeschaltete Schnittstelle 311 gesendet.
Wenn die von der Zentraleinheit CPÜ gesendete Speicher-Leseadresse In der Pufferspeicherliste nicht vorliegt (z.B. keine. Treffer) , so wird die CPU-Speicher-Leseadresse auf das Pufferspeicher-Adressenausgaberegister 405 umgeschaltet und ein Hauptspeicherabruf für einen fehlenden Treffer ausgelöst und die System-Sammelschiene wird aktiviert, um das gesuchte Wort aufzunehmen. Dementsprechend werden die Hauptspeieheranforderungen, Adressen und •Daten durch die Sammelschienen-Schnittstelleneinheit BIU400 über die BlU-Sender/Empfänger 401-403 und die Sammelschienen-Anforderungs- und Antwortlogik 404 gesendet und empfangen. Alle Kopien der zu dem Hauptspeicher gesendeten absoluten Adressen werden in der Pufferspeicher-Ersatzdatei 407 gespeichert.
Gemäß den Fig. 7 und 8A-8D erzeugt eine Quelleneinheit, die auf der E/A-Sammelschiene 201 das Auslesen eines Speichers anfordert, eine Speicheradresse auf der Adressen-Sammelschiene 701. Diese Speicheradresse besitzt das- Format gemäß den Fig. 8A bzw. 2A, wobei das Format von der Größe des Speichers abhängt. Zu dem gleichen Zeitpunkt gibt die anfordernde Quelleneinheit auf der E/A-Seuranelschiene 201 gemäß Fig. 2 ihre Adresse, z.B. die Kanalnummer und einige Steuerbits auf der Daten-Saramelschiene 702 aus. Die Information besitzt das in Fig. 8B dargestellte Format. Die Speicher-
COPV
adresse der Adressen-Sammelschiene 701 wird im Speicher-Adreßregister 36 gespeichert, während die Kanalnummer und die Steuerbits im Kanalregister 34 und dem Steuerbitregister 35 gespeichert werden. Der durch das Speicheradreßregister 36 adressierte Speicherplatz im Speicher 38 wird ausgelesen und die Daten werden im Daten-Ausgangsregister 33 gespeichert. Die Daten werden sodann auf die Daten-Sammelschiene gegeben, wenn der erforderliche Zeittakt ( sieh Fig. 5) die vollständige Bestätigung anzeigt, und es wird nunmehr ;eine anfordernde Einheit in eine empfangende Einheit umgewandelt, wobei sie bestätigen muß, daß sie bereit ist, Daten zu empfangen. Der zweite Sammelschienenzyklus beginnt und die Daten des Daten-Ausgangsregisters 33 werden auf die Daten-Sammeischiene 702 gegeben und zum gleichen Zeitpunkt wird die Kanalnummer und die Steuerbits von den Registern 34 und 35 in Übereinstimmung mit dem Format gemäß Fig. 8C auf die Adressen-Sammelschiene 701 gegeben. Es sei darauf verwiesen, daß dieses Format das Adressenformat darstellt, wenn eine andere Einheit als eine Speiehereinheit adressiert wird. Dementsprechend wird die Adresse auf die Adressen-Sammelschiene gegeben, die sich aus der Kanalnummer an den Bitpositionen 9-17 und den Steuerbits an den Bitpositionen 1S-23 zusammensetzt. Wie zuvor bereits erwähnt, bildet jedoch das Bit 21 das einzig interessierendi Bit im Hinblick auf die vorliegende Erfindung. Dieses Bit wird dem/ logischen Schaltkreis gemäß Fig. 6A als das Signal MMAI21+00 zugeführt. Wenn dieses Bit den hohen Pegel aufweist, so wird eine Neuformatierung der Daten gefordert und die Art der Neuformatierung hängt von den anderen Signalen, die andere Anforderungen für vorliegende Operationen darstellen, ab. Es sei ferner vermerkt, daß der Schaltkreis gemäß Fig. 6A der Formatierung des Bits an der· Bitposition 3 in dem Format gemäß Fig. 2A dient, wobei dieses Bit durch das Signal BIAI03+00 in Fig. 6A repräsentiert wird. Ferner ■ei darauf verwiesen, daß das Format gemäß Fig. 8B dem Format'des Blockes 308 in dem Multiplexerblock 301 des Multiplexers IOM-300 entspricht. Wenn demgemäß ein Lesezyklus von einer Quelleneinheit Im Einblick auf eine Speichereinheit angefordert wird, so wird die . Daten-Sammelschiene automatisch neu formatiert, wie dies zuvor
.9098.27/0735 · . ' copY
. anhand von Beispielen beschrieben wurde. ■ ' "
Gemäß Fig. 9 ist eine typische Steuerung-Adressenlogik dargestellt. Diese Logik ist speziell für Steuerungen jenes Typs beispielhaft, an die bis zu vier Untereinheiten bzw. periphere Geräte angeschlossen sind. Ein Element 70 weist Leitungsempfanger auf, wobei einem solchen Empfänger das Speicherbezugssignal BSMREF- und den anderen Leitungsempfängern die Sammeischienen-Adreßsignale ·.BSAD08- bis BSAD14- zugeführt werden. Da die in Fig. 9 dargestellte Logik keiner Speichersteuerung dient/ weist das Speicherbezugs-Eignal sowohl am Eingang des Elementes 70 als auch am Ausgang des Inverters 71 den.Binärwert "1" auf.
Ein Schalter 72 ist an die Adreßleitungen angeschlossen. Ferner werden die Signale der Adreßleitungen über einen Inverter 78 dem Schalter 72 zugeführt. Dieser Schalter "ist in den meisten Geräte-Steuerungen angeordnet und an die Samme!schiene 2OO angeschlossen und er wird eingestellt, um eine spezieile Einheit zu adressieren. Die Sammelschienen-AdreBleirungen am Eingang des Elementes 70 weisen hinsichtlich jener Bits, die die geeignete Adresse der gesuchten Einheit wiedergeben, den Binärwert "0" auf. Dementsprechend werden aufgrund der Umkehrung durch das Element 70 Signale mit dem Binärwert "1" an die nicht-invertierten Eingänge des Schalters angelegt/ sofern die von der Sammelschiene 200 aufgenommenen AdreS-bits den Binärwert "0n aufweisen. Entsprechend weisen die Ausgangsleitungen der Inverter 78 ( ein Inverter pro Leitung) den Binärwert "1" im Hinblick auf jene Adreßbits auf, die hinsichtlich der von der Sammelschiene 200 abgenommenen Adresse den Binärwert "1" aufweisen. Aufgrund der an den Eingängen des Schalters 72 anliegenden Signale können die darin enthaltenen Schalter, die einem Hexadezimalschalter zugeordnet sein können, so eingestellt werden, daß für die richtige Geräteadresse Signale am Ausgang des Schalters 72 auftreten, die in allen Bitpositionen den Wert "1" aufweisen. Das Gatter 73 gibt dementsprechend an seinem Ausgang ein Signal mit dem Binärwert "0" aus, wenn die richtige Geräteadresse
. 909827/0735 · . . ·,·.' . '.;. »
COPY
und kein Speicherzyklus vorliegt. Es ist erkennbar, daß der Schalter 72 eine Vergleichsfunktion ausführt und eine Gatteran-
• Ordnung überflüssig macht, die eine Signalverzögerung nach sich riehen würde. Danach stellt der Schalter eine einfache Einrichtung
. zur Adressenänderung einer speziellen Einheit dar, wodurch der Systemaufbau vereinfacht wird.
' Das Ausgangssignal MYCHAN- des Gatters 73 weist hinsichtlich der
• aus gewählten Nebeneinheit den Binärwert "0." auf. Das Signal MYCHAN-wird jeweils auf einen Eingang von drei NOR-Gattern 74, 75 und gegeben, die die Signale Bestätigung (ACK), Warten (WAIT) bzw. keine Bestätigung (NAK) erzeugen. Die anderen Eingangssignale der Gatter 74, 75 und 76 weraen folgendermaßen gebildet.
Dem Multiplexer 77 werden vier Signale von bis zu vier Untereinheiten bzw. peripheren Geräten zugeführt, die an die spezielle Stsuerungslogik gemäß Fig. 9 angeschlossen sind. Diese den Ein- - gangen des Multiplexers 77 zugeführten Signale zeigen entsprechend an, ob eine spezielle Untereinheit in dem System installiert ist oder nicht.;Es können somit eine oder mehrere Untereinheiten angeschlossen sein. Wenn nur eine Untereinheit angeschlossen ist, so zeigt das einzige vorliegende Signal das Vorliegen dieser Untereinheit an. Die den Anschluß von Untereinheiten anzeigenden Signale Bind mit MYDEVA-, MYDEVB-, MYDEVC- und MYDEVD- bezeichnet. Der Multiplexer 77 kann ebenso wie der später noch zu erläuternde Multiplexer 88 die Form des von der Firma Texas Instruments Inc. unter der Typ-Nr. 74S151 hergestellten Gerätes aufweisen. Der Einärzuetand "0" dieser Signale zeigt an, daß die entsprechende Unter-' einheit in dem System vorliegt. Der Multiplexer 77 wird durch· die Adreßsignale BSAD15+ und BSAD16+ vorbereitet, die von der Sammelschiene 200 über nicht dargestellte invertierende Verstärker empfangen werden. Die gleichen Adreßsignaie werden zur Vorbereitung des Multiplexers 88 benutzt. Diese beiden Bits zeigen an, welche der vier Untereinheiten zu adressieren ist. Das Ausgangssignal y KYDEVP- des Multiplexers 77 zeigt im Falle des Binärwertes "0" an.
COPY
daß das adressierte Gerät vorhanden ist. Den Gattern 74, 75 und 76 wird das Ausgangssignal des Multiplexers 77 zugeführt und dementsprechend wird die Antwort einer bestimmten Steuerung durch das Vorliegen der Steuerung-Kanalnummer und die Tatsache gesteuert/ daß der Steuerung die Untereinheit tatsächlich in dem System zugeordnet ist. Diese Anordnung/gestattetjsine Kontinuität hinsichtlich der Adressen zwischen einer Untereinheit zu der nächsten Untereinheit -.in einer Weise, die unter Bezugnahme auf die Speicheradressenlogik noch näher erläutert wird. Bei mehr als einer Gerätesteuerung 5-7 £n dem System gemäß Fig. 2, wobei jede Steuerung 5-7 verschiedene Arten peripherer Geräte steuert, oder wobei alle Steuerungen 5-7' den gleichen peripheren Gerätetyp steuern, in dem diese peripheren Geräte der Reihe nach mit der Steuerung verbunden sind, können die Adressen für jede Untereinheit aufeinanderfolgend festgelegt werden. Ferner können solche Adressen so ausgebildet werden, daß unabhängig von der Größe des Systems eine spezielle Adresse jedem peripheren Gerät zugeordnet ist.
Der andere Multiplexer 88 empfängt von jedem der vier Untereinheiten Hinweise, die beispielsweise anzeigen, daß eine selche Untereinheit bereit ist, Daten zu empfangen oder zu setzen. Die Bereit-Echaftssignale, die der Multiplexer 88 aufnimmt, sind somit von den von dem Multiplexer 77 empfangenen Präsenssignalen verschieden. Während die Präsenssignale anzeigen, ob eine spezielle Untereinheit bzw. ein bestimmtes peripheres Gerät in dem System vorliegt und installiert ist, zeigen die Bereitschaftssignale an, ob die zugeordnete Untereinheit bereit und in der Lage ist, Daten zu senden oder Daten su empfangen. Diese Bereitschaftssignale sind mit MYRDYA-, MYRDYB-, MYRDYC- und MYRDYD- bezeichnet.
Das mit MYRDYS- bezeichnete Ausgangssignal des Multiplexers 88 bereitet bei einem Binärwert "0" die Erzeugung des Warte-Signales oder des Bestätigungs-Signales vor, wobei dies in Abhängigkeit von dem Xustand der anderen an den Gattern 74, 75 und 76 empfangenen Signale
COPY
geschieht. Wenn am Ausgang des Multiplexers 88 ein Ausgangssignal MYRDYS+ mit dem Binärwert "O" erzeugt wird, so wird ein Nicht-Bestätigungssignal erzeugt und hiermit angezeigt, daß die adressierte Untereinheit nicht bereitgestellt ist.
Die Gatter 75 und 76 empfangen weitere Signale, wobei dem Gatter 75 das Signal BDRBSY- und dem Gatter 76 das Signal MYACKA- vom • Ausgang des Gatters 84 zugeführt wird. Diese beiden Signale werden .im Zusammenhang mit der Funktion der Flip-F.loDS 80 und 81 erläutert. In jeder Steuerung befindet sich ein Puffer bzw. Register zur Aufnahme der Daten von dem Sammelschienensystem 200. Wenn dieser Da— tenpuffer belegt ist, das heißt, wenn er bereits eine gespeicherte Information aufweist, die nicht verlorengehen darf, so erfolgt eine Anzeige, daß der Puffer belegt ist, wobei dieses Signal dem Eingang D des Flip-Flops 80 zugeführt wird. Das Signal am Eingang D wird am Ausgang Q beim Empfang eines Taktsignales ausgegeben, wofei das Taktsignal als ein Signal BSDCIiK+ über einen Treiber von •der Sammelschiene empfangen wird- Da in dem Zeitpunkt, wo der Da— tenzyklus beginnt, das Signal BSDCNN- gemäß Fig. 5 auf den Binärwert "0" umschaltet, gibt der Ausgang Q des Flip-Flops 80 das Signal BDRBSY+ mit dem Binärwert "1" aus, sofern der der Steuerung zugeordnete Puffer tatsächlich belegt ist. Das nachgeschaltete NAND-Gatter 85 wandelt dieses Signal in den Binärwert "0" um. Dieser auf einen Eingang des NOR-Gatters 84 geschaltete Binärwert "0" erzeugt ein Signal mit dem Binärwert "1" an dem Ausgang des Gatters 84, wodurch das Gatter 76 gehindert wird, ein Bestätigungssignal (ACK) ru erzeugen. Das Signal BDRBSY- am Ausgang u- J2_xles Flip~Flops 80 weisi
jedoch den Binärwert "0" auf und wird einem Eingang des Gatters 75 rugeführt, welches für den Fall, daß alle anderen Eingänge den Binärwert "0" aufweisen, ein Warte-^Signal ( WAIT) erzeugt. Wenn der Puffer nicht belegt ist und andere Bedingungen vorliegen, wird so-Htt ein Bestätigungs-Signal erzeugt. Wenn der Puffer belegt ist, •0 wird in Abhängigkeit von den anderen Bedingungen entweder ein Warte-Signal oder ein Nicht-Bestätigungssignal erzeugt.
■·.-..- - OOPV
Das Flip-Flop 81 wird benutzt, um anzuzeigen, ob eine zweite Hälfte der Lesezyklusoperation vorliegt oder nicht. Wie zuvor erläutert, wird das Signal BSSHBC- von der Haupteinheit benutzt, um der Nebeneinheit anzuzeigen, daß diese Information die zuvor angeforderte Information darstellt. Von dem Zeitpunkt an, wo ein an die Sammelschiene angeschlossenes Gerätepaar eine durch das Signal RSWRIT- angezeigte Leseoperation begonnen hat, bis zu dem Zeitpunkt, • wo der zweite Zyklus auftritt, um die übertragung zu vervollständigen, was durch das Signal BSSHBC- angezeigt wird, sind die beiden Geräte hinsichtlich aller anderen Geräte an der Sammelschiene belegt. Das Signal MYDCNN+ taktet das Flip-Flop, wobei dieses Signal dem Signal Q des Bestätigungs-Flip-Flops 22 desjenigen Gerätes entspricht, das zur Haupteinheit geworden ist. Dem Eingang D des Flip-Flops 81 wird das Signal MYWRIT- zugeführt, welches anzeigt, daß es sich hierbei um das spezielle Gerät handelt, das den Speicherlesezyklus begonnen hat und daß dieses Gerät nun auf das Auslesen des Speichers wartet und eine zweite Hälfte des Lesezyklus erwartet, die durch den Speicher bei Vervollständigung des Zyklus erzeugt wird
Dem Stammdaten-Flip-Flop 81 für die zweite Hälfte des Lesezyklus wird an seinem Rückstelleingang ein Signal zugeführt, das über ein NOR-Gatter 82 aus den Signalen KYACKR+ und BSMCLR+ gewonnen wird. Das Signal BSMCLR+ dient der Rückstellung des Flip-Flops 81 in der zuvor hinsichtlich verschiedener anderer Flip-Flops beschriebenen Weise und das Signal MYACKR+ zeigt an, daß die zweite Hälfte des Lesezyklus vervollständigt ist. Wenn das Flip-Flop 81 gesetzt ist, so wird somit der Setzzustand von dem Ausgang Q des Flip-Flous 81 auf einen Eingang eines UND-Gatters 83 gegeben, wodurch dieses teilweise vorbereitet wird. Um das UND-Gatter 83 vollständig vorzubereiten, muß das Signal BSSHBC+ durch den Speicher erzeugt werden, wodurch angezeigt wird, daß dies die Information ist, die zuvor angefordert wurde. Wenn Daten vom Speicher über die Sammelschiene kommen, so wird hiermit dieses Signal aktiviert und es wird über das NOR-Gatter 84 die negativ verlaufende Flanke des Signales MYACKA-
COPY
erzeugt, welches dem speziellen Gerät die Bestätigung dieses Datenschienenzyklus gestattet. Dieses -Signal dient der Vorbereitung • des Gatters 76 und erzeugt über ein Element 79 und einen nachgeschalteten Treiber 90 das Bestätigungs-Signal (ACK). Zusätzlich kann ein Bestätigungs-Signal erzeugt werden, wenn es sich nicht um eine zweite Hälfte des Sanunelschienenzyklus handelt und der Puffer nicht belegt ist. In diesem Fall erfolgt die Anzeige über das Gatter 85 und das Gatter 84, die das Bestätigungs-Signal erzeugen.
Wenn somit die spezielle Steuerung auf einen Sairunelschienenzyklus wartet und ihr Stammdaten-Flip-Flop 81 für die zweite Hälfte des Lesezyklus gesetzt ist, so kann hinsichtlich dieses besonderen GerStes nur auf den Empfan-, eines Sammelschienen-Zyklussignales der zweiten Hälfte BSSHBC-f geantwortet werden. Wenn dieses spezielle Gerät nicht auf die zweite Hälfte eines Sammelschienenzyklus wartet, so wird für den Fall, daß der Puffer nicht belegt ist und nicht langer irgendeine nützliche Information speichert, ein Be- -Btätigungs-Signal erzeugt.
Das Sammelschienen-Zyklussignal für die zweite Hälfte BSSHBC+ wird zusätzlich einem Eingang des Gatters 74 sowie einem Eingang des Gatters 75 zugeführt. Wenn das Stammdaten-Flip-Flop 81 gesetzt worden ist, so stellt das Bestätigungs-Signal das einzige erzielbare Ausgangssignal dar, wenn die korrekte Kanalnummer usw. vorliegt, was durch die Eingangssignale des Gatters 76 angezeigt wird. Diese Signale hängen davon ab, ob der Puffer belegt ist oder nicht, vas durch das Flip-Flop 80-angezeigt wird. Ein Nicht-Bestätigungs-Signal oder ein Warte-Signal wird dementsprechend durch die Gatter 74 und 75 nur erzeugt, wenn keine zweite Hälfte hinsichtlich des Saunmelschienen-Zyklussignales vorliegt, das heißt, wenn das Signal BSSHBC+ den Binärwert "0" besitzt. Eine zweite Hälfte eines- Samnelschienenzyklus kann vom Standpunkt der den Zyklus empfangenden Steuerung ebenfalls von einem Speicher kommen, wenn der Speicher bereit ist, die Daten an die Steuerung abzugeben, wobei weder
COPY
ein Nicht-Bestätigungs-Signal noch ein Warte-Si'gnal erzeugt werden kann sondern nur ein Bestätigungssignal. Daher kann weder ein . Nicht-Bestätigungs-Signal noch ein Warte-Signal erzeugt werden, wenn das Signal BSSHBC+ den Binärwert "1" aufweist.
Wenn Information von dem Speicher übertrager, wird, so kann der Speicher niemals ein Nicht-Bestätigungs-Signal oder ein Warte-Signal .empfangen. Dies beruht auf der Prioritätsanordnung der erfindungsgemäßen Einrichtung. Der Speicher bildet das Gerät mit der höchsten Priorität. Wenn eine Einheit den Speicher um Informationsübersendung gebeten hat, so kann diese Einheit die Information zu einem bestimmten Zeitpunkt erwarten. Wenn die Einheit ein Warte-Signal oder ein Nicht-Bestätigungs-Signal für den Speicher erzeugt, so kann der Speicher aufgrund seiner höchsten Priorität versuchen, zugriff zu der speziellen die Datenübertragung verlangenden Steuerung zu gewinnen und die Sammelschiene sperren, um weitere Datenübertragungen zu verhindern, bis die Daten von der speziellen Steuerung angenommen worden sind. Es kann somit nur ein Bestätigungs-Signal in Abhängigkeit einer Speicheranforderung zur Annahme von Daten gebildet werden. Eine Steuerung jedoch kann ein Nicht-Bestätigungs-Signal oder ein Warte-Signal für eine andere Steuerung oder eine Zentraleinheit erzeugen. Eine allgemeine Regel ergibt sich dahingehend, daß. wenn eine Steuerung Information von einer Steuerung mit höherer Priorität anfordert, die anfordernde Steuerung bereit sein muß, die Information zu akzeptieren und dementsprechend mit einem Bestätigungseignal zu antworten. * "_ '
Im Hinblick auf den Bereitschaftsmultiplexer 88 wird in der erwähnten Weise das Nicht-Bestätigungs-Signal erzeugt, wenn das Ge rät nicht bereit ist und andere Bedingungen erfüllt werden. Der Grund dafür, daß das Nicht-Bestätigungs-Signal anstelle des Warte-Signales erzeugt wird, liegt darin, daß im Falle des Belegt-Zustandes der Steuerung, beispielsweise der Steuerung 210, der Anschluß über längere Zeit belegt ist. Der Belegt-Zustand dauert nicht nur für
COPY?
• wenige ^s, sondern über mehrere ms an. Somit würde Zykluszeit verschwendet/ wenn der Haupteinheit angezeigt würde, daß sie weiterhin einen Zugriff versuchen soll. Stattdessen soll ein Hinweis dahingehend erfolgen, daß die anfordernde Einheit mit der Datenverarbeitung weiterschreiten soll anstelle unnötigerweise Sammelßchienenzyklen zu benutzen und dadurch die Gesamtantwort des Systems zu verzögern. Alles was die anfordernde Einheit zu tun hat, besteht
• darin, den Zugriff zu der Zieleinheit in angemessenen Abständen wieder zu versuchen. ;.
Wie zuvor erwähnt, wird dem Tasteingang des Multiplexers 88 ein mit MYFCOl+ bezeichnetes Signal von dem Gatter 86 zugeführt. Dieses Signal stellt eine Kombination des Funktionscodes der Signale am Eingang des NOR-Gatters 86 dar, wobei dieses Steuerbit bzw. dieser Punktionscode in Fig. 8C dargestellt ist und durch die Bits 18 bis 22 gebildet wird, wobei das Bit 23 nicht benutzt wird. Durch diese Bits wird der Funktons code vorgegeben, so da_ß die verschiedenen an die Sammelschiene angeschlossenen Einheiten bestimmte Codes und Anweisungen in der zuvor erläuterten Weise erkennen können.
Das Nicht-Bestätigungs-Signal BSNAKR- wird über den Treiber 92 von dem entsprechenden Flip-Flop des Elementes 79 erzeugt, wenn das Gatter 74 vollständig vorbereitet ist und wenn das Signal BSDCND+ das entsprechende Flip-Flop taktet. Das Gatter 74 ist vollständig vorbereitet/ wenn die Kanalnummer empfangen wird, wenn die Geräte adresse einen Hinweis liefert, daß das Gerät installiert ist, wenn dieses Gerät nicht bereit ist und wenn es sich nicht um die zweite Hälfte des Samraelschienenzyklus handelt. Das Warte-Signal BSWAIT-wird von dem Treiber 91 auf der Sammelschiene erzeugt, wenn das' Gatter 75 vollständig vorbereitet ist und das zugehörige Flip-Flop in dem Element 79 betätigt wird. Das Gatter 75 ist vollständig vorbereitet, wenn die Kanalnummer empfangen wird, wenn die Geräteadresse einen Hinweis liefert, daß das Gerät tatsächlich installiert
COPY.
909827/0735 .
istι wenn das Gerät bereit ist, wenn ein Hinweis vorliegt, daß es ßich nicht um die zweite Hälfte des Sammelschienenzyklus handelt und wenn der Puffer belegt ist. Das Bestätigungs-Signal BSACKR-wird auf der Sammelschiene mittels des Treibers 90 ausgegeben, wenn das Gatter 76 vollständig vorbereitet ist und dementsprechend das zugehörige Flip-Flop in dem Element 79 betätigt wird. Das Gatter ist vollständig vorbereitet, wenn die richtige Kanalnummer empfan-
. gen wird, wenn die Geräteadresse einen Hinweis liefert, daß das entsprechende Gerät installiert ist, wenn sich das adressierte Gerät in Bereitschaft befindet und wenn der Puffer nicht belegt ist. Sollt jedoch eine zweite Hälfte eines Lesezyklus-Signales empfangen werden so wird ein Bestätigungs-Signal unabhängig davon erzeugt, ob der Puffer belegt ist oder nicht. Jedes der Flip-Flops in dem Element
.79 wird durch ein Signal BSDCNB- gelöscht, das über den Inverter 89 vom Ausgang des Gatters 26 in Fig. 8 empfangen wird.
Eachdem die typische Adressierungsiogik einer Steuerung, beispielsweise einer Steuerung 5-7, beschrieben worden ist, sei nunmehr die typische Adressierungslogik für eine Speichersteuerung erläutert. Die Speicher-Steuerungslogik gemäß Fig. -10 entspricht in mancherlei Hinsicht der Logik gemäß Fig. 9. Das über das Element 40 von der Sammelschiene empfangene Aäreßsignal wird in Form der Sammeischienen-Adreßsignale BSADOO+ bis BSAD07+ in dem Format gemäß Fig. 8A übertragen. Die Adreßsignale des Empfängers 40 werden ebenfalls als Eingänge dem Paritätsprüfer 47 zugeführt. Ferner werden die Adreßsignale des Empfängers 40 ebenso wie jene Signale am Ausgang des Inverters 41 einem Schalter 42 in der in Fig. 9 gezeigten Weise zugeführt. Wenn das Speicher-Bezugssignal BSMREF+ den Binärwert "1" aufweist und die durch den Schalter 42 verglichene Adresse am Ausgang des Schalters 42 lauter Binärziffern mit dem Wert "1" erzeugt, so wird das NAND-Gatter 43 vollständig vorbereitet und erzeugt ein Binärsignal mit dem Wert "0" auf der Leitung MYMADD-, welches an einem Eingang eines jeden der drei NOR-Gatter 44, 45 und 46 empfangen wird. Diese Gatter werden benutzt, um das Nicht-Bestätigungs-Signal NAK, das Warte-Signal WAIT und das Bestätigungs-Signal ACK tu erzeugen. Der. Speicher kann nicht adressiert werden bis das Signal BSMREF+ tatsächlich den korrekten Binärzustand aufweist.
.... ,' V . ' 909827/0735 ·., . ...
'·'"*· ■ · ; ' '* ■·" "ORSGlNALiNSPECTED COPY
Die Adreßbits werden den Eingängen des Paritätsprüfers 47 zugeführt, welchem zusätzlich aas Bit BSAPOO+ aufgeschaltet wird. Das Bit BSAPOO+ stellt die über die Sammelschiene erhaltene Adressenparität dar. Der Paritätsprüfer 47 führt eine 9-Bit-Paritätsprüfung durch und erzeugt an seinem Eingang- Q ein Signal MYMADP-, welches bei einem Binärwert "0" teilweise die Gatter 44, 45 und 46 vorbereitet und hiermit anzeigt, daß die Parität korrekt ist.
Ein drittes Eingangssignal der Gatter AA, 45 und 46 wird von dem Kultiplexer 4 8 empfangen, der dem Multiplexer 47 gemäß Fig. 9 entspricht. Dem Multiplexer 48 werden beispielsweise vier Eingangs-Eignale zugeführt, die mit MYMOSA- bis MYMOSD- bezeichnet sind und die anzeigen, ob irgenueiner oder alle Speichermodule, die" an diese spezielle Steuerung angeschlossen sind, tatsächlich in cam System vorhanden sind. Dies gestattet die Bildung eines Speichers mit einem vollständigen Speicherfeld bzw. mit einem Teil-Speicherfelö in dem Fall, wo nur einer dieser Speichermodule an das System angeschlossen ist. Diese vier Speichermodule werden ferner adressiert und es wird über den Multiplexer 48 geprüft, ob sie mittels der beiden Sammelschienen-Adreßsignale BSAD08+ und BSAD09+ installiert sind.
Einsichtlich verschieden konfigurierter Systeme kann somit ein Speichermodul an eine bestimmte Speichersteuerung angeschlossen Bein und es können zwei solcher Module an eine andere Speichersteuerung angeschlossen sein, wobei die an die verschiedenen Steuerungen angeschlossenen Speichermodule von unterschiedlichem Typ sein können. Beispielsweise kann auf diese Weise ein Halbleiterspeicher an eine Steuerung angeschlossen sein während ein Magnetkernspeicher an eine andere Steuerung angeschlossen sein kann. Ferner können Speichermodule verwendet werden, die eine unterschiedliche Größe, d.h. eine mehr oder weniger große Speicherkapazität , aufweisen. Durch die Anordnung der Speichermodule in verschiedenen Steuerungen können sodann ferner verschiedene Speichergeschwindigkeiten verwendet
COPY f
verden, wodurch die Geschwindigkeit der Systemantwort erhöht wird. Für jede vorgegebene Steuerung gibt es normalerweise nur eine vorgegebene Netzunterstützung und Zeittaktmöglichkeit und im Normalfall beeinflußt die Steuerung die Charakteristik der Speicher, die an sie angeschlossen sind. Wenn dementsprechend zum_ Beispiel verschiedene Speichergeschwindigkeiten oder verschiedene Zeittakte erforderlich sind, wie dies beispielsweise zwischen Kernspeichern und Halbleiterspeichern der Fall ist, so muß eine unterschiedliche •Steuerung für jeden Speichertyp verwendet werden. Durch die Verwendung verschiedener Steuerungen können die Speicher schneller betrieben werden, da sie im wesentlichen zeitlich parallel zueinander arbeiten. Obgleich sie an die gleiche Sammelschiene angeschlossen sind, kann jedoch nur eine Übertragung zu einem Zeitpunkt auf der Sammelschiene stattfinden, wobei jedoch die Information in den Speicher ohne jegliche Zugriffszeit eingelesen werden kann, da tatsächlich die Zugriffszeit bereits verstrichen ist.
Kie bereits erwähnt, besitzt jede Steuerung, ganz gleich ob sie für einen Speicher oder ein anderes peripheres Gerät vorgesehen ist, im allgemeinen ihre eigene spezifische Adresse. Für verschiedene Speichersteuerungen, die einen vollständigen Satz von angeschlossenen Speichermodulen aufweisen, können somit fortlaufende Speicheradressen verwendet werden. Unter der Annahme,.daß insbesondere an jede Speichersteuerung vier Speichermodule angeschlossen sind und daß jeder Modul eine Speichermöglichkeit von ungefähr ε.ΟΟΟ Worten aufweist, ist sodann eine solche Speichersteuerung . in der Lage, Zugriff auf 32.000 gespeicherte Worte zu ermöglichen. Bei einer Speicherung von 32.000 Worten in dem System hinsichtlich jeder Speichersteuerung grenzen die Adressen der Speicherplätze •ineinander an. Vom Gesichtspunkt des Betriebs sind aneinandergrenzende Speicheradressen nicht nur zum Zweck der Systemadressierung von Bedeutung sondern auch für eine erhöhte Antwortgeschwindigkeit des Systems. Wie zuvor erwähnt, kann die Speichersteuerung typischerweise nur mit einem Speicher bestimmter Charakteristik zusammenarbeiten, z.B. kann ein Magnetkernspeicher nicht an die Speichersteuerung für einen Halbleiterspeicher angeschlossen werden
909827/0735
copy
aufgrund der grundlegenden Zeittaktdifferenzen zwischen beiden Speichertypen. Das gleiche gilt für Speicher mit unterschiedlichen Geschwindigkeiten oder verschiedenen Anforderungen an die Stromversorgung. Unter der Annahme, daß jede Speichersteuerung bis zu 32.000 Worte im Speicher steuern kann, können 16.000 Worte des Speichers in einem Langsamspeicher und weitere 16.000 Worte in einem Hochgeschwindigkeitsspeicher verwendet werden, was dazu führt, daß zwei Speichersteuerungen benutzt werden müssen. Dies würde jedoch bedeuten, daß die Speicheradressen zwischen dem Speicher mit hoher Geschwindigkeit und dem Speicher mit niedriger Geschwindigkeit nicht fortlaufend ausgebildet sein dürfen, da die von der Speichersteuerung ausgegebenen Adressen um 32.000 Worte auseinanderliegen. In diesem Fall ist es möglich, fortlaufende Speicheradressen vorzugeben, indem beiden Speichersteuerungen gestattet wird, die gleichen Adressen auszugeben. Dies würde jedoch ebenfalls bedeuten, daß die entsprechenden Speichennodulpositionen der beiden Steuerungen nicht beide/^der gleichen Position einer jeden solchen Steuerung angeordnet sein können. Insbesondere würde die erste Steuerung in den Speichermodulpositionen A und B zwei 8.OOO Wort-Speicherplätze benutzen, wie dies durch die Signale MYMOSA- und MYMOSB- angezeigt ist. Die andere Steuerung würde die beiden anderen Speichermodulpositionen benutzen, deren Vorhandensein durch die Signale MYMOSC- und MYMOSD- angezeigt wird. Diese beiden Steuerungen treten daher in dem System auf, als wären sie eine Steuerung. In einem weiteren Beispiel kann eine solche Steuerung an einen Speicher mit 8.000 Worten in Form eines Moduls angeschlossen sein, während die andere Speichersteuerung mit der gleichen Adresse an bis zu drei solcher Speichermodule in den anderen drei Positionen und dementsprechend an einen Speicher mit 24.000 Worten angeschlossen sein kann. Diese Anordnung muß nicht notwendigerweise auf verschiedene Speichertypen begrenzt werden, sondern kann auch auf das Problem ausgerichtet sein, das sich beim Anschluß fehlerhafter Speichermodule an eine Steuerung ergibt. Beispielsweise kann ein redundanter Speichermodul vorgesehen werden, der an eine andere Steuerung angeschlossen ist, deren Geräteadresse »ngewählt werden kann, wenn der Auftritt eines Fehlers in einem solchen Speichermodul festgestellt wird. '
90 98 2 7/0735 °° . ' ORIGINAL JNSFEuTs
unter Bezugnahme auf Fig. 10 und die Vorbereitung der Gatter 44, 45 und 46 ist zu bemerken, daß zur Betätigung dieser Gatter und zur Weiterleitung einer Antwort von der speziellen Speichersteuerung folgende Bedingungen erfüllt sein müssen: Die Adresse der Speichersteuerung muß vorliegen, ein Hinweis, daß der entsprechende Modul in dem System installiert ist, muß vorliegen und der Paritätsprüfer 47 muß anzeigen, daß die Adreßparität korrekt ist. Die anderen Eingangssignale der NOR-Gatter 44, 45 und 46 werden 'durch die zuvor beschriebenen den Belegtzustand und die Vorgeschicht feststellenden Logikschaltkreise gebildet.
Das Speichersteuerung-Belegtsignal wird von dem Flip-Flop 49 geliefert und zeigt an, daß irgendeiner der an diese Steuerung angeschlossenen Speichermodule belegt ist. Das Flip-Flop 49 wird von dem Signal BSDCNN+ getaktet. Wenn ein Speichermodul belegt ist, so wird ein WARTE-Signal erzeugt. Wenn somit das Signal MYBUSY- am Ausgang Q des Flip-Flops 49 den Binärwert "0" aufweist, so wird hierdurch - falls die anderen Bedingungen erfüllt sind - das Gatter 45 betätigt und das zugeordnete Flip-Flop in dem Element 56 gesetzt, wobei dies dann geschieht, wenn das Signal BSDCND+ am Takteingang des Elementes 56 auftritt. An dieser Stelle sei erwähnt, daß dieses Flip-Flop innerhalb des Elementes 56 gelöscht wird, wenn über den Inverter 63 das Signal BSDCNB- empfangen wird. Das Bestätigungs-Signal wird erzeugt, wenn am Ausgang Q des Flip-Flops 49 der Binärwert "0" auftritt, wobei dieser Wert in Form des SignalesMYBUSY+ auf einen Eingang des Gatters 46 gegeben wird. Es sei erneut darauf verwiesen, daß das WARTE-Signal die Bedeutung einer sehr kurzen Verzögerung besitzt, da der Speicher noch belegt ist. ·
Die andere Bedingung, die anzeigt, welches der Signale "Bestätigen", ■Nicht-Bestätigen" bzw. "Warten" zu erzeugen ist, wird durch das Verriegelungssignal vorgegeben, welches eine Mehrzyklus-Sammel-•chienenübertragung umfaßt, wobei ein Gerät auf einen spezifischen .•Speicherplatz Zugriff nehmen kann, ohne daß irgendein anderes verriegeltes Gerät in der Lage ist, die Operation zu unterbrechen.
. .. · 90 9827/0735. . - · . . . . ""Γ,· . 'Λ . ORIGINAL mSPEBTEÜ- ' COPY*
. signal mit dem Wert "O" an einem Eingang des Gatters 46 erzeugt wird. Wenn alle Eingänge des Gatters 46 den Binärwert "0" aufweisen, so wird hierdurch angezeigt, daß die laufende Adresse für diese Einheit empfangen wird und daß der Puffer nicht belegt ist, worauf ein Bestätigungs-Signal von dem Element 56 und dem Treiber 61 beim Vorliegen des Signales BSLOCK+ erzeugt wird. Das Bestätigungs-Signal betätigt das UND-Gatter 51 und setzt das "" ; Stammdaten-Flip-Flop 50 beim Vorliegen des Binärwertes Ί" hinsichtlich des Signales BSSHBC- am Eingang D des Flip-Flops, wobei dieses Signal zusammen mit dem Signal BSLOCK+ beim Fortschreiten der verriegelten Operation empfangen wird. Es wird somit eine Test- und Verriegelungsoperation während des gleichen Sammelschienenzyklus ausgeführt.
Wenn das Flip-Flop 50 bereits zu dem Zeitpunkt gesetzt gewesen ist, in dem die Signale BSLOCK+ und BSSE3C- mit dem Binärwert "1" " empfangen werden, so wird ein Binärsignal mit dem Wert "1" am Ausgang des UND-Gatters 52 erzeugt, welches Signal über den Inverter 58 das UND-Gatter 44 vorbereitet. Wenn alle anderen Bedingungen hinsichtlich dieses Gatters 44 erfüllt sind, so wird das Nicht-Bestätigungs-Signal erzeugt. Die Test- und Verriegelungsoperation erzeugt somit eine Nicht-Bestätigungs-Antwort, wodurch eine andere Einheit an der gemeinsamen Benutzung des Systemmittels gehindert wird. · ♦ .■
Wenn das das gemeinsam benutzte Systemmittel benutzende Gerät ein-.mal seine Operation durchlaufen hat, so muß es das Systemmittel entriegeln. .Dies geschieht durch den Empfang des Signales BSLOCK+ mit dem Binärwert " 1" von der benutzenden Einheit und durch das Signal BSSHBC- mit dem Binärwert "0". Aufgrund dieser Signale bildet die Logik gemäß Fig. 10 eine Bestätigungs-Antwort, wodurch das Gatter 51 betätigt und hierdurch das Stammdaten-Flip-Flop beim Vorliegen des Signales BSSHBC- mit dem Binärwert "0" zu-' ,. rückgestellt wird. Das gemeinsam benutzte Systemmittel kann nun- »ehr eine Bestätigungs-Antwort an andere Einheiten abgeben.
' '- 909897/nT3c
COPY
- . 49 -
Es ist ersichtlich, daß das gemeinsam benutzte Systemmittel nur andere Einheiten aussperrt, die das Signal BSLOCK+ mit dem Binärwert "1" anbieten. Wenn eine Einheit beispielsweise Zugriff zu einem gemeinsam benutzten Systemmittel zu gewinnen wünscht, wobei das Stammdaten-Flip-Flop so gesetzt ist, daß das Signal NAKHIS+ den Binärwert "1" aufweist, so weist, wenn das Signal BSLOCK+ den Binärwert "0" besitzt, der Ausgang des UND-Gatters 52 den Binärwert n0" auf, wodurch eine Nicht-Bestätigungs-Antwort gesperrt und ; in Abhängigkeit von anderen Bedingungen eine Warte- oder Bestätigungs-Antwort freigegeben wird. Somit kann eine Einheit Zugriff auf ein gemeinsam benutztes Systemmittel gewinnen obgleich sie an einer verriegelten Operation beteiligt ist.
Es ist somit ersichtlich, daß die Erzeugung eines Warte-Signales durch irgendeine der Steuerungen einem Gerät oder einer Steuerung mit höherer Priorität die Einschaltung in die Folge der Sammelschienenzyklen und die Benutzung der Sammelschiene in der erforderlichen Weise gestattet. Wenn keine Einheit mit höherer Priorität vorliegt, die eine Behandlung anfordert, so wird die spezielle Kaskadenanordnung aufrechterhalten bis die Bestätigung von der Haupteinheit empfangen wird, wodurch der Warte-Zustand beendet wird. Danach wird einem anderen Benutzer die Benutzung der Sammelschiene gestattet. Das Signal BSDCNN+ gestattet somit einer Nebeneinheit die Erzeugung irgendeiner von drei Antworten, die durch die Signale Nicht-Bestätigung, Warten oder Bestätigung gegeben sind. Am Ende irgendeiner dieser Antworten tritt ein neuer Prioritäts-Ausführungszyklus auf und das spezielle Gerät gewinnt Zugriff zu' der _ Sammelschiene bzw. ein anderes Gerät mit höherer Priorität gewinnt diesen Zugriff. Es sei an dieser Stelle vermerkt, daß die Signalzustände auf der Sammelschiene sich umgekehrt su dem Binärzustand der Signale in den Geräten verhalten. Bei- «pielsweise weist das Speicherbezugssignal zwischen den Treibern 59, 60 und 61 und den Empfängern 40 einen Zustand auf, der dem Zu-■tand dieses Signales innerhalb der Steuerung "selbst entgegengesetzt ist. Ferner kann - wie bereits angedeutet - eine vierte Antwort, zwischen den an die Sammelschiene angeschlossenen Steuerungen
COPY
Die Wirkung dieser verriegelten Operation besteht darin, den Belegtzustand der Speichersteuerung für bestimmte Arten von Operationen über die Beendigung eines einzelnen Zyklus hinaus zu erstrecken. Geräte, die eine Verriegelungsoperation auszulösen versuchen bevor der letzte Zyklus der Folge vervollständigt ist, empfangen ein Nicht-Bestätigungs-Signal. Der Speicher wird jedoch noch auf eine Speicheranforderung antworten, wie dies erläutert wird. Es sei darauf verwiesen, daß; die Zwischenzeit zwischen diesen Zyklen durch andere Geräte benutzt werden kann, die an der Übertragung nicht beteiligt sind. Ein verriegelter Betrieb wird primär benutzt, wenn zwei oder mehr Geräte das gleiche Systemmittel, z.B. einen Speicher, gemeinsam benutzen sollen. Der verriegelte Betrieb, der irgendeine Anzahl von Sammelschienenzyklen umfassen kann, wird durch die spezielle Einheit entriegelt, die die Steuerung über das gemeinsam benutzte Systemmittel innehatte. Während das gemeinsam benutzte Systemmittel verriegelt ist, "bleiben andere Einheiten, die Zugriff auf das gemeinsam benutzte Systemmittel wünschen, ausgesperrt, sofern diese anderen Einheiten das Verriegelungssteuersignal ausgeben. Wenn das Verriegelungs-Steuersignal nicht vorliegt, so ist es möglich, daß eine solche andere Einheit Zugriff zu dem gemeinsam benutzten Systemmittel gewinnt, um beispielsweise eine dringende Anforderung zu bearbeiten. Bevor irgendeine Einheit, die das VerriegelungsSteuersignal anbietet, Zugriff auf ein gemeinsam benutztes Systemmittel gewinnt, überprüft sie das Systemmittel, um zu sehen, ob es einem verriegelten Betrieb unterliegt und die Einheit kann dann während des gleichen Sammelschienenzyklus Zugriff zu dem Systemmittel gewinnen, falls das Systemmittel an einem verriegelten Betrieb nicht beteiligt ist. ■ ■ .
Es ist somit ersichtlich, daß der verriegelte Betrieb für die gemeinsame Benutzung eines Systemmittels zwischen jenen Einheiten Wirksam ist, die die geeigneten Steuerungen, z.B. das Verriegelungssteuersignal, ausgeben, und daß ein solcher Betrieb z.B. benutzt werden kann, um einen Teil eines Speichers, in dem eine In-. · . . 909827/0735 ' /. ._:7~T
- 47 -
formationstabelle gespeichert sein kann, gemeinsam zu benutzen. Wenn ferner eine dieser Einheiten die Information in dem gemeinsam benutzen Systemmittel zu ändern wünscht/ so können andere Einheiten ausgesperrt werden, so daß sie keinen Zugriff auf eine nur teilweise geänderte Information sondern nur Zugriff auf die Information erlangen, nachdem diese vollständig geändert worden ist. In einem solchen Fall kann eine Lese-Modifikations-Schreiboperation beteiligt sein. Durch Verwendung des verriegelten Be- ;triebs kann ein Mehrprozeßverarbeitungssysjtem unterstützt werden. Bei beispielsweise zwei an das gleiche Sammelschienensystem 200 angeschlossenen Zentraleinheiten können beide Zentraleinheiten die an die Sammelschiene angeschlossenen Speichereinheiten gemein-. sam benutzen, ohne daß eine Überlappung stattfindet, sofern von einem verriegelten Betrieb Gebrauch gemacht wird.
Das Signal BSSHBC- für den verriegelten Betrieb wird hier in einer etwas anderen Weise benutzt als dies zuvor erläutert wurde. Während des verriegelten Betriebs wird das Signal BSSHBC- von der Einheit ausgegeben, die ein Systemmittel gemeinsam zu benutzen versucht, um sowohl Zugriff zu dem gemeinsam benutzten Systemmittel durch eine Test- und Verriegelungsprozedur zu gewinnen und um das gemeinsam benutzte Systemmittel zu entriegeln, wenn sein verriegelter Betrieb abgeschlossen ist.
Gemäß Fig. 10 ist ein Verriege lungs-Stammdaten-Flip-Flop 50 vor=-' gesehen, welches in gesetztem Zustand anzeigt, daß ein verriegelter Betrieb vorliegt, wodurch ein Nicht-Bestätigungs-Signal an eine anfordernde Einheit über den Treiber 59 ausgegeben wird. Unter der Annahme, daß die Logik gemäß Fig. 10 die Schnittstellenlogik für das gemeinsam benutzte Systemmittel des Sammeischienensystems 200 darstellt, wird das Signal BSLOCK+ mit dem Binärwert "1" sowohl dem UND-Gatter 52 als auch dem Flip-Flop D3 des Elementes 56 zugeführt. Das Element 56 erzeugt hierbei das Signal MYLOCK+, das •inem Eingang des UND-Gatters 51 zugeführt wird. Wenn das Verriegelungs-Stammdaten-Flip-Flop nicht gesetzt ist, so weist das Signal NAKHIS+ den Binärwert "0" auf, wodurch unabhängig von dem Zu-■tand der beiden andere^ ^npanaes^aale des Gatters 52 ein
,ORIGINAL)NSPEuTE
ierfolgen, die darin besteht, daß überhaupt keine Antwort gegeben .wird. Wenn daher eine der Haupteinheiten eine Bedienung durch den ' Speicher aufruft und dieser Speicher in dem System nicht installiert ist, so erzeugt ein bekanntes Zeitablaufelement nach einer bestimmten Zeitperiode von beispielsweise - S yns ein Signal, das einem Nicht-Bestätigungs-Signal entspricht. An dieser Stelle kann eine Zentraleinheit wirksam werden und beispielsweise eine Unterbrechungs- bzw. Abfangroutine durchführen.
Hinsichtlich des Speicher-Belegt-Flip-Flops 49 wird dessem Dateneingang das Signal MOSBSY+ zugeführt, welches zu der Sammelschienenoperation asynchron ist. Dieses Signal kann zu irgendeinem Zeitpunkt auftreten, unabhängig von der auf der Sammelschiene hinsichtlich irgendeiner Steuerung auftretenden. Operation. Wenn das Signal BSDCNN+ von der Haupteinheit am Takteingang des Flip-Flops 49 empfangen wird, so wird der Zustand des Speichers;z.B. belegt oder nicht belegt, zu diesem Zeitpunkt gespeichert. Hierdurch wird somit eine Verwirrung hinsichtlich der Antwort auf den Sammelschienenzyklus eliminiert. Ohne die Verhaltensspeicherung durch das Flip-Flop 49 wäre es möglich, den Sammelschienenzyklus in einem Warte-Zustand zu starten und den gleichen Sammelschienenzyklus in einem Zustand zu beenden, der eine Bestätigung erzeugt. Wenn somit beide Antworten während des gleichen Sammelschienenzyklus auftreten, so liegt ein Fehlerzustand vor. Durch Verwendung des Stammäaten-Flip-Flops 49 wird die Antwort entsprechend dem Zustand der Steuerung zum Zeitpunkt dem Empfangs des Signales BSDCNN+ festgehalten, wodurch eine asynchrone Antwort unabhängig von der unterschiedlichen Speichergeschwindigkeit gestattet wird.
Gemäß Fig. 11 werden Signale von der Sammelschiene durch iii" einem Element 99 enthaltene Empfänger aufgenommen. Das Speicherbezugseignal BSMREF- wird von einem solchen Empfänger empfangen, durch. •inen Inverter ICO invertiert und einem Eingang eines Vergleichers 103 zugeführt, um diesen Vergleicher freizugeben, wenn die empfangene Adresse keine Speicheradresse darstellt. Einer der Vergleichs-
·. ' ^ 909827/0735 Λ · -
COPY
ORIGINAL !NSPECTSD .
eingänge des Vergleichers 103 wird durch die Datenprozessor- ;·Adreßbits gebildet, welche im vorliegenden Fall beispielsweise in Form der vier Signale BSAD14+ bis BSAD17+ vorliegen. Diese Adresse an einem Eingang des Vergleichers 103 wird mit der Adresse verglichen, die beispielsweise durch den hexadezimalen Schalter 101 im Datenprozessor selbst eingestellt wird. Wenn die empfangene Adresse und die durch den Schalter 101 vorgegebene Adresse einan-. der gleich sind, so erzeugt der Vergleicher 103 das Signal ITSMEA+, durch welches die Gatter 106 und 107 teilweise vorbereitet werden.
Weitere Adreßbits BSADO8+ bis BSAD13+ werden den Eingängen des Ver-.gleichers 104 zugeführt, welcher feststellt, ob diese Bits alle den Wert "0" aufweisen oder nicht. Weisen alle Bits den Wert "0" auf, so wird das Signal ITSMEB+ erzeugt, wodurch die Gatter 106 und 107 ebenfalls teilweise vorbereitet werden. Beim Vorliegen eines weiteren Eingangssignales hinsichtlich der Gatter 106 bzw. 107 wird ein entsprechendes Flip-Flop in dem Element 113 gesetzt.
Das weitere Eingangssignal des Gatters 106 wird durch das Signal BSSHBC+ gebildet, das über einen Inverter 116 an das Gatter 106 angeschlossen ist. Dieses die zweite Hälfte des Sammelschienenzyk- lus repräsentierende Signal wird ebenfalls einem Eingang des UND-Gatters 109 zugeführt. Der andere Eingang des Gatters 109 wird durch den Ausgang Q des Stammdaten-Flip-Flops 110 für die zweite Hälfte des Lesezyklus gebildet. Dieses Flip-Flop wird benutzt, um festzuhalten, daß der Datenprozessor sein Signal MYDCNN+ ausgegeben, hat und daß die Zentraleinheit ebenfalls das Signal MYWRIT- gesendet hat, welches beinhaltet, daß der Datenprozessor einen Antwortzyklus von der Nebeneinheit erwartet. Bei einem solchen Betrieb in zwei Xyklen werden die erwarteten Daten dem Zentralprozessor in dem «weiten Zyklus angeboten und das Flip-Flop 110 identifiziert diese Daten als jene, die der Zentralprozessor aufgrund der Tatsache an- m gefordert hat, daß das Stammdaten-Flip-Flop 110 das Signal MYSHRH+ am Ausgang Q erzeugt hat. Das Flip-Flop 110 wird über das NOR- Gatter 111 zurückgestellt, wenn das Sammelschienen-Löschsignal
ORIGINAL INSPECTED
1*-
copy
BSMCLR+ empfangen wird oder wenn die zweite Hälfte des Sammelcchienenzyklus vervollständigt worden ist/ was durch das Signal MYSHRC+ angezeigt wird. Das Signal MYSHRC+ wird.von einem Ausgang des Elementes 113 abgenommen.
Das UND-Gatter 107 ist somit vollständig vorbereitet, wenn zwei Eingänge anzeigen, daß es sich um das adressierte Gerät handelt und wenn der andere Eingang anzeigt, daß ein Sammelschienenzyklus in der zweiten Hälfte vorliegt. Bei Betätigung des UND-Gatters 107 'wird somit das Signal MYSHRC- erzeugt und auf einen Eingang des NOR-Gatters 114 gegeben. Das NOR-Gatter 114 erzeugt ein Bestätigung; Signal BSACKR- über den Treiber 115.
Das Gatter 106 ist vollständig vorbereitet, wenn die richtige Geräteadresse empfangen wird und wenn es sich nicht um einen Sanunelschienenzyklus der zweiten Hälfte handelt, wobei ein Signal MYINTR+ am Ausgang des entsprechenden Flip—Flops innerhalb des Elementes 113 erzeugt wird. Das Signal MYINTR+ veranlaßt die Logik gemäß Fig. 11 festzustellen, ob ein Bestätigungs- oder ein Nicht-Bestätigungs-Signal erzeugt werden soll oder nicht. Die Art des erzeugten Signals hängt von dem gegenwärtig in dem System vorliegenden Unterbrechungspegel im Vergleich zu dem Unterbrechungspegel des Verarbeitungszeit anfordernden Gerätes ab.
Die Entscheidung darüber, ob der Unterbrechungspegel ausreichend ist oder nicht, wird durch den Vergleicher 117 getroffen, der feststellt ob der Eingang*A kleiner als der Eingang B ist. Dem Eingang A des Vergleichers 117 werden die Signale BSDTlO+ bis BSDT15+ zugeführt. Der Eingang A des Vergleichers 117 nimmt die Signale · BSDTlO+ bis BSDT15+ auf. In dem System sind mehrere Unterbrechungs- pegel vorgesehen. Die Unterbrechung mit der Pegelnummer 0 weist die höchstmögliche Zugänglichkeit zu der Datenverarbeitungszeit auf und ist dementsprechend nicht-unterbrechbar. Je geringer somit die Pegelnummer der Unterbrechung, umso geringer ist die Wahrscheinlichkeit, daß die Bearbeitung des auf diesem.Pegel befindlichen Gerätes un-
COPY
terbrochen wird. Wenn die an dem Eingang A des Vergleichers 115 empfangene Pegelnummer kleiner.als die Pegelnummer des durch den Datenprozessor bearbeitenden Gerätes ist, wobei diese Pegelnummer in dem Block 118 vorliegt, so ist das die Unterbrechung suchende Gerät in der Lage, diese durchzuführen. Wenn das Signal am Eingang A gleich oder größer als das Signal am Eingang B ist, so wird das Signal LVLBLS+ nicht erzeugt und es wird von dem Flip-Flop über den Treiber 108 ein Nicht-Bestätigungs-Signal ausgegeben.
Wenn daher der am Eingang A des Vergleichers 117 empfangene ünterbrechungspegel geringer als derjenige am Eingang B empfangene Pegel ist, so weist das Signal LVLBLS+ den Binärwert "1" auf und wird beiden Eingängen D der Flip-Flops 120 und 121 zugeführt, wobei der Eingang D des Flip-Flops 120 eine Signalumkehrung durchführt. Wenn das Signal A gleich oder größer als das Signal B ist, so erzeugt der Vergleicher 117 ein Signal LVLBLS+ mit dem Binärwert "0", welches invertiert dem Flip-Flop 120 zugeführt wird. Hier· "durch wird ein Nicht-Bestätigungs-Signal erzeugt , wenn das Signal MYINTR+ am Takteingang des Flip-Flops 120 auftritt, wodurch das entsprechende Flip-Flop im Element 113 gesetzt wird. Wenn der Prioritätspegel ausreichend war, d.h., wenn der Eingang A kleiner als der Eingang B ist, so erzeugt der Vergleicher 117 das Signal LVLBLS-mit dem Binärwert "1" und dementsprechend taktet das Signal MYINTR+ das Signal LVLBLS+ zu dem Ausgang Q des Flip-Flops 121 und somit zu einem Eingang des NOR-Gatters 114, welches über den Treiber das Bestätigungs-Signal erzeugt. Wenn somit das Signal MYNAKR+ den Binärwert "1" aufweist, so "wird das Nicht-Bestätigungs-Signal erxeugt und wenn das Signal MYINTF- den Binärwert "0" besitzt, .so wird das Bestätigungs-Signal erzeugt. Die Flip-Flops in dem Element 113 werden getaktet und gelöscht durch den Inverter 125, wobei dies in gleicher Weise geschieht, wie dies .zuvor in bezug auf die Flip-Flop-Elemente beschrieben wurde. Es sei darauf verwiesen, daß •in Bestätigungs-Signal erzeugt wird unabhängig von der Anzeige des Vergleichers 117, wenn in Wirklichkeit die zweite Hälfte des
COPY
Sammelschienenzyklus vorliegt. In diesem Fall wird das Signal KYSHRC- des einen Flip-Flops in dem Element 113 mit dem Binärwert "0" auf den anderen Eingang des NOR-Gatters 114 geschaltet und erzeugt hierdurch das Bestätigungs-Signal, wobei der Hinweis des Flip-Flops 121 übergangen wird.
Wie zuvor erwähnt, stellt das Signal BSDCNB- über den Inverter 125 das Flip-Flop 121 zurück und setzt zusätzlich das Flip-Flop
• 120, wodurch die Flip-Flops nach einem Sammelschienenzyklus in ihre Anfangslage gebracht werden. Das Flip-Flop 120 wird ferner " durch die dem Flip-Flop 127 zugeordnete Logik zurückgestellt, wobei das Flip-Flop 127 das Signal BTIMOT- erzeugt, welches einen Zeitablauf-Zustand anzeigt, d.h., daß ein nicht-vorhandenes Gerät adressiert wurde. In diesem Fall wird tatsächlich keine Antwort, d.h. weder eine Nicht-Bestätigungs-, eine Bestatigungs- oder eine Warte-Antwort durch irgendeine Nebeieinheit erzeugt. Zu diesem Zweck ist ein Monoflop 126 angeordnet, das so eingestellt werden
·■ kann, daß es eine Schaltperiode von ' 5;/iis besitzt. Dieses Monoflop wird beim Empfang des Signales BSDCND+ getriggert, das einem Eingang eines vorgeschalteten Puffers 119 zugeführt wird. Infolge der Betätigung des Monoflops 126 wird das Signal BTIMOT- am Ausgang Q des Flip-Flops 127 beim Takten durch das Signal BSDCNN+ erzeugt, falls das Signal BSDCNN+ nicht empfangen wird, das das Ende des Sammelschienenzyklus anzeigt. Das Signal BSDCNN+ zeigt an, daß der Sammelschienenzyklus noch wirksam ist. Das Signal BTIMOT- betätigt das Flip-Flop 120 und erzeugt das Nicht-Bestäti-"gungs-Signal. Wenn andererseits das Signal BSDCNB+ vor dem Ende der durch das Monoflop 126 vorgegebenen Zeitperiode endet, so »ehaltet das Monoflop 126,und das Flip-Flop 127 wird daran gehindert, das Signal BTIMOT- zu erzeugen. "
Es sei vermerkt, daß die Datenprozessorlogik gemäß Fig. 11 entweder ein Nicht-Bestätigungs-Signal oder ein Bestätigungs-Signal erzeugt, wobei jedoch kein Warte-Signal erzeugt wird. Der Grund hierfür liegt darin, daß der Datenprozessor immer die niedrigste
COPY ¥
Priorität aufweist, so daß im Falle der Erzeugung eines Warte-Signales die anderen ihre Anforderungen zwecks Behandlung an den Datenprozessor richtenden Geräte möglicherweise von der Sammelschiene abgehängt werden, wenn beispielsweise ein Gerät mit höherer Priorität die Haupteinheit bildet, der-der Zentralprozessor mit einem Warte-Signal antwortet. Gerade weil das Gerät mit höherer Priorität auf das Gerät mit der niedrigsten Priorität, d.h. den Zentralprozessor, wartet, können somit andere Geräte von einer \Benutzung der Sammelschiene ausgesperrt werden.
Es ist ferner ersichtlich, daß die Unversehrtheit der über die Sammelschiene übertragenen Information sichergestellt werden kann, ohne daß es erforderlich ist, ein Paritätsbit jedem Byte der über die Sammelschiene übertragenen Information hinzuzufügen. Diese Unversehrtheit kann für alle Einheiten, die untereinander Infonnation übertragen, vorgesehen werden. Insbesondere kann dies in jenen Fällen verwirklicht werden, wo eine Haupteinheit bei ihrer Anforderung eine Antwort von einer Nebeneinheit erwartet. Die Unversehrtheit solcher Datenübertragungen kann daher am besten in jenen Fällen verwirklicht werden, wo zwei Sammeischienenzyklen in einer bilateralen Sammelschienenübertragung benutzt werden. Dies ist beispielsweise besonders vorteilhaft in einer Speicher-Leseoperation, wobei die Haupteinheit Information vom Speicher anfordert und während eines späteren Sammeischienenzyklus solche Information empfängt. Es hat sich herausgestellt, daß beispielsweise eine wesentliche Anzahl von Datenübertragungen zwischen dem Speicher und einem anderen Gerät während einer Leseoperation auftreten, die zwei Samuels chienenzyklen erfordert und daß dementsprechend das Merkmal der Datenunversehrtheit in einem solchen Fall von besonderer Bedeutung ist.
Die Unversehrtheitseinrichtung macht mit Vorteil von der Tatsache Gebrauch, daß die Haupteinheit die Adresse der Nebeneinheit auf die Adreßleitungen der Sammelschiene und ihre eigene Adresse und den Funktionscode auf die Datenleitungen der Sammelschiene gibt,
, ' ORIGINAL INSPECTED COPV
wenn eine Haupteinheit eine andere Einheit adressiert, die beispielsweise eine periphere Einheit in Form eines Band- oder Plattenspeichers sein kann. Wenn die Nebeneinheit antwortet und so bei der Antwort die Haupteinheit darstellt, so gibt sie die Adresse der anfordernden Einheit auf die Adreßleitungen und die Daten auf die Datenleitungen. Die Adresse der anfordernden Einheit wird somit auf den Adreßleitungen zurückempfangen, was der anfänglichen übertragung auf den Datenleitungen entgegengesetzt ist. Die anfordernde Einheit vergleicht sodann ihre Adresse, d.h., die auf den Datenleitungen übertragenen Adressen mit den nunmehr auf den Adressenleitungen empfangenen Adressen und für den Fall, daß sie .übereinstimmen, ist sichergestellt, daß die Adresse richtig von der Nebeneinheit empfangen wurde und daß zusätzlich, falls der Operationscode ebenfalls zurückempfangen wird, dieser Operationscode befriedigend empfangen wurde. Bei 16 Bit für die Information gemäß dem Format in Fig. 4 werden somit bis zu zwei Paritätbits eliminiert, wobei jedoch die Unversehrtheit der Datenübertragung in dem System aufrechterhalten wird.
Gemäß Fignr 12 ist ein Blockdiagramm der festgeschalteten Schnittstelle zwischen der Zentraleinheit CPU-I201 und der Pufferspeichereinheit 3 202 dargestellt. Es gibt 43 Signalleitungen, die erstens der Zentraleinheit CPU-1201 gestatten, die Adresse des. für die Bearbeitung als nächstes erforderlichen Wortes zu senden, und die zweitens der Pufferspeichereinheit 1202 ermöglichen, den Inhalt dieses an die Zentraleinheit gerichteten Wortes zusammen mit den diesem Wort bzw. dieser Adresse zugeordneten Bedingungen zurückzuholen. Die festgeschalteten Pufferspeicher/Zentraleinheit- ■ Schnittstellensignale sind folgendermaßen definiert:
1.. Absolute Adresse: (BAOR 05-22). Diese 18 Signale'übertragen die absolute Adresse des Wortes, das von der Zentraleinheit CPU für die Programmausführung angefordert wird.
COPY ORIGINAL iNSPECTED
— ·* 57 ~
2. Leseanforderung: CCACHRQ+OO). Dieses Signal informiert • d±e Pufferspeichereinheit, daß die absoluten Adressig-
nale decodiert worden sind und daß die Pufferspeicher- ; einheit mit dem Lesen dieses Wortes fortfahren kann.
3. Daten: CCADP- 00-19). Diese 18 Signale übertragen das angeforderte Wort an die Zentraleinheit CPU" für die von der Zentraleinheit gelieferte absolute Adresse.
4. Datenparität: Diese 2 Signale übertragen die ungerade Parität für jedes Byte des angeforderten Wortes. Die von der System-Sammelschiene aufgrund einer Hauptspeicher-Leseanforderung empfangene Parität wird in der
' · Pufferspeichereinheit wie Daten behandelt (d.h. nicht
regeneriert oder geprüft) und an die Zentraleinheit . CPÜ weitergereicht.
5. Bereichsüberschreitung: (CNOMEM-OO). Dieses Signal
\ zeigt an, daß die angeforderte Adresse in der laufenden Systemkonfiguration nicht vorliegt. Das Bereichsüberschreitungssignal wird zu der Zentraleinheit CPU-zurückgeführt, wenn die Pufferspeichereinheit das angeforderte Wort in dem Pufferspeicher nicht findet und ..Von der Einheit BIU ein negatives Bestätigungssignal CNAK) aufgrund eines Hauptspeicher—Bezugs-Sammelschielienzyklus empfängt.
6. Pufferspeicherdaten gültig: (CYCADN-OO). Dieses Signal zeigt der Zentraleinheit CPU an, daß die Information der Daten- und Datenparitätssignale für die Zentraleinheit CPU bereit ist. · · ·
7. Pufferspeicher vorliegend:/(CACHON-00). Dieses Signal xeigt an, daß die Pufferspeichereinheit funktionsbereit ist (d.h., daß ihr Zustand QLT vorüber ist).
COPY
- . . 285A397
8." CPU ID: Dieses- Signal informiert die Pufferspeicher-■ . " einheit über die Identität der ihr zugeordneten Zen-. • traleinheit CPU. ^ .'■'"'·/■ " -.·■.· "
9. Pufferspeicher RED: Dieses Signal informiert die Zentraleinheit CPU darüber, daß das angeforderte Wort vom ..Hauptspeicher einen nicht korrigierbaren Lesefehler aufweist.
10: Pufferspeicher-Paritäts-Prüfzeit:·· Dieses Signal in-• formiert die Zentraleinheit CPU darüber, daß das Ergebnis, -der Paritätsprüfung zum Eintasten in das Paritätsfehler-Ilip-Flop (nicht dargestellt) verfügbar ist.
Die Hardware-Logikblöcke für die Erzeugung dieser Signale und für den CPU-Behandlungs zyklus sind in den Figuren 13, 14 und 15 näher dargestellt.
Anhand der Figuren 14 und 15 sei nachfolgend die Logik für den CPÜ-Behandlungszyklus beschrieben. Die Figuren 14 und 15 sind so gezeichnet, daß ein Fachmann erkennt, was die Blöcke darstellen, wobei er den Aufbau und die Funktion aufgrund der mnemonischeri Angaben für die verschiedenen Signale„erkennt. Beispielsweise ist zuvor im Zusammenhang mit Eigur 12 gezeigt worden, daß das Lese-Anforderungssignal durch den mnemonischen Ausdruck CACHRQ beschrieben wird. Diesem mnemonischen Ausdruck kann entweder ein Pluszeichen oder ein'Minuszeichen zugefügt sein, gefolgt von zwei .Ausdrücken. Das Pluszeichen nach dem mnemonischen Ausdruck für .ein Signal zeigt an, daß das im vorliegenden Fall eine Leseanforderung darstellende Signal den wahren Wert besitzt, wenn das Signal den hohen Pegel aufweist. Andererseits zeigt ein Minuszeichen nach dem mnemonischen Ausdruck für das Signal an, daß in diesem Fall die Leseanforderung den wahren Wert besitzt, wenn das Signal den niedrigen Pegel aufweist. Der erste, der· beiden Ausdrücke nach dem Plus- bzw. Minuszeichen zeigt im Falle einerVNull an, ' daß dies der erste Signalauftritt bei der Funktionsausführung ist.
.... . 909-827/0735 " . .' . ,- .. · ·
COPY ORIGINAL INSPECTED
Im Falle einer 3 für den ersten Ausdruck zeigt dies an, daß der zweite Signalauftritt vorliegt usw. Beispielsweise kann das Signal zunächst auf ein Flip-Flop auftreffen, sodann ein UND-Gatter .durchlaufen und sodann über einen Inverter geführt werden, was Insgesamt drei Signalauftritten entspricht. Der zweite Ausdruck Wird im allgemeinen für spezielle Bedingungen benutzt. Beispielsweise wird er benutzt,.um anzuzeigen, daß das Signal dem Rückstelleingang eines Flip-Flops zuzuführen ist, wobei in diesem Fall der zweite Ausdruck durch den Buchstaben R vorgegeben ist. Mit diesen Voraussetzungen sei nunmehr die Logik für den CPU-Behandlungszyklus gemäß Figur 14 und der zugehöhrige CPU-Behandlungszyklus des Pufferspeicher-Zeittaktdiagrammes gemäß Figur 15 beschrieben.
Der CPU-Behandlungszyklus beginnt,· wenn das Pufferspeicher-Anforderungssignal CACHRQ+OO mit den Pufferspeicher-Belegtsignalen über UND-Gatter 3 401, 1402 und das Flip-Flop 1403 logisch verknüpft wird. Unter Verhinderung jeglicher Pufferspeicheraktivität Wird eine CPU-Behandlungsanforderung CPUREQ-OD am , .Ausgang des •UND-Gatters 1401 erzeugt und zu einem Zeitverzögerungsschaltkreis 1404, 1405 mit einer Verzögerung von 100 Nanosekunden gesendet. Dieser Verzögerungsschaltkreis ist variabel und liefert eine einstellbare Zeitverzögerung für die Phasen der Pufferspeicher- und CPU-Takte. Die Zeittakterzeugung für Computer gehört zum Stand der Technik und kann beispielsweise, der DE-OS 27 34 190 entnommen verden. Gemäß Figur 15 ist der zeitliche Auftritt verschiedener Signale innerhalb des CPU-Behandlungszyklus dargestellt, die durch Logik gemäß Figur 14 erzeugt werden. Wenn die CPU-Behandlungs-
Anforderung CPUREQ wahr ist. und das Signal FEMPTY (FIFO not empty FIFO nicht leer) wahr bleibt, so nimmt das Ausgangssignal FEMPTY-20 den niedrigen Pegel ein, und es wird ein Taktsignal CLOCKO+OA mit hohem Pegel und ein Pufferspeicher-Taktsignal CLOCKO+00 mit niedrigem Pegel erzeugt..Der Pufferspeicher-Takt CLOCKO+00 steuert beim Abfall auf den niedrigen Pegel die Verzögerungsleitung an, eodaß nach einer vorbestimmten Verzögerungszeit das Verzögerungs- «ignal CDLY40+00 den-«niedrigen Pegel einnimmt und das Pufferspeicher-Taktsignal CLOCKO+00 auf den .hohen Pegel umschaltet. Das ' Blockanforderungs-Flip-Flop 1403, das durch das Pufferspeicher-
'?-:00 COPY
INSPECTED
taktsignal CL0CKG-&10 gesteuert wird, stellt das CPU-Behandlungsanforderungssignal CPDREQ zurück und führt die Logik der Pufferspeicher-Taktsteuerung in den Leerlaufzustand zurück. Infolge des Setzens des Blockierungsanforderungs-Flip-Flops 1403 werden veitere CPU-Behandlungsanforderungen gesperrt. Das CPU-Blockiefcungsanforderungs-Flip-Flop 1403 bleibt gesetzt bis der CPU-Behandlungszyklus endet und das CPU-Behandlungsanforderungssignal CACHRQ+OOin der Zentraleinheit CPU zurückgestellt wird. Während ·· des CPU-Behandlungszyklus führt der Pufferspeicher die folgenden __ internen Operationen aus, die nachstehend aufgeführt sind:
. d.- Der Pufferspeicher liest die Pufferlis% und den Datenpuffer 315 Cd.h. es wird ein Treffer oder kein Treffer festgestellt). _ '
2. Kenn ein Treffer auftritt, so werden die Daten/Befehle von der Pufferspeichereinheit 313 zu der Zentraleinheit
* . -CPU-312 gesendet.
3. Wenn sich kein Treffer ergibt, so wird in den Speicheranforderungszustand MEMREQ+00 eingetreten., und die Daten verden vom Hauptspeicher 1,2 angefordert.
Wenn sich die von der Zentraleinheit CPU angeforderte Information nicht in der Pufferliste und dem Datenpuffer befindet, so wird ein Speicher-Anforderungssignal MEMREQ erzeugt und dem Flip-Flop 1409 zugeführt. Beim nächsten Taktzyklus CLOCKO+10 nimmt der eine Ausgangsanschluß dieses Flip-Flops den wahren Wert ein und der Pufferspeicher tritt in den. Speicher-Anforderungszustand ein. Wenn sich die aus dem Pufferspeicher angeforderte Information im Hauptspeicher befindet, so wird das Bereichsüberschreitungssignal CNOMEM-OO erzeugt und an das NAND-Gatter 1410 angelegt, das seinerseits ein Speicheranforderungs-Rückstellsignal MEMREQ-1R an den Rückstellanschluß des Flip-Flops 1409 über das NOR-Gatter 1411 anlegt, wodurch das Flip-Flop 1409 zurückgestellt wird und der Speiaheranforderungsmodus beendet wird.
Der CPU-Behandlungszyklus endet, wenn das Pufferspeicher/Erledigt-
909827/0735 ORlG1NAnNS
signal CYCADN-fcOO gesetzt ist und dem Setz-Flip-Flop 1413 über den Verzögerungsschaltkreis 143 4> 1415 und den Inverter 1416 zugeführt Kird. Das' Pufferspeicher/Erledigtsignal CYCADN-K)O wird durch eine der folgenden Bedingungen gesetzt: ' \ ' .
1. Die angeforderten Daten befinden sich in dem Pufferspeicher-Datenpuffer (z.B. ein Treffer), der zur Aufschaltung auf die CPU-Daten-Sammelschiene freigegeben ±st.
·■
2« Die angeforderten Daten werden im Hauptspeicher wieder aufgesucht und die Aufschaltung des Pufferspeicher-FIFO-Puffersauf die CPU-Daten-Sammelschiene wird freigege-• ■ ben. tz.B. in einem Ersatzzyklus).
3. Die von der Zentraleinheit CPU zu der Puffereinheit gesendete Daten-Speicherplatzadresse befindet sich außerhalb des Bereiches des konfigurierten Speichers (z.B. ' CNOMEM+OO).
Die Zentraleinheit CPU benutzt die Anstiegsflanke des Puffer/Erledigtsignales CYCADN+OO, um die CPU-Daten-Sammelschiene in ihr internes Daten-Eingaberegister einzutasten, ihren Takt zu starten und das CPU-Pufferspeicher-Anforderungs-Flip-Flop zurückzustellen. Aufgrund des Verzögerungsschaltkreises 1415, 1416 wird das Puffer/ Erledigtsignal CYCADN+OO ungefähr 60 Nanosekunden nach der Entfernung des CPU-Pufferanforderungssignales CACHRQ+OO zurückgestellt.
Das Signal FEMPTY.-20 am Ausgang des Taktstart-Flip-Flops 1406 besitzt dementsprechend den wahren Wert (z.B. niedriger Pegel) und vixd in dem Inverter 1408 in ein Signal mit hohen Pegel umgewandelt, das sodann demBlockierungsanforderungs-Flip-Flop 1403-zugeführt wird, um das CPU-Pufferanforderungssignal zu sperrenjindem das Blockierungsanforderungssignal mit niedrigem Pegel (BLKREQ- 00) an einen Eingang des NAND-Gatters 1401 geliefert wird. Somit Werden weitere CPU-Behandlungsanforderungen solange gesperrt , wie dieses Signal an einem Eingang des NAND-Gatters 1401 auf niedrigem
9 0.9827/073 5 . COPY ORiGIMAL INSPECTED
• - 6 2 -
Pegel verbleibt. Das- CPU-Blockierungsanforderungs-Flip-Flop 1403 bleibt gesetzt bis der CPU-Behandlungszyklus beendet ist und das
' CPU-Behandlungsanf orderungssignal CACHRQ-tOO in der Zentraleinheit -· zurückgestellt ist. . " ·""" ■··. . · " · " . "-·"' ' ' .'·'
Während des CPU-Behandlungszyklus führt der Puffer die folgenden internen Operationen aus:
1.J Der Puffer liest die Pufferliste und den Datenpuffer 350 Cz.B. ein Treffer oder kein Treffer).
2. Wenn ein Treffer auftritt, so werden die Daten/Befehle -. zu der Zentraleinheit CPU gesendet.
3. Wenn kein Treffer auftritt, so wird in den Speicher-Änforderungsstatus MEMREQ+OO eingetreten.
Der CPU-Behandlungszyklus endet, wenn das Puffer/Erledigtsignal •CYCADN-fc-00 in dem Flip-Flop 1413 durch irgendeine der folgenden Bedingungen gesetzt ist:
■1. . Die angeforderten Daten befinden sich in dem Pufferspeicher-Datenpuffer (z.B. ein Treffer),.welche auf • .die CPU-Daten-Sammelschiene gegeben werden.
• 2. Die angeforderten Daten werden im Hauptspeicher wieder-aufgesucht und der Pufferspeicher-FIFO-Puffer (nicht dargestellt) wird mit seinem Inhalt auf die CPU-Daten-Sammelschiene gegeben (z.B. Ersatzzyklus),.
3. Die Daten-Speicherplatzadresse, die von der Zentraleinheit CPU an den Pufferspeicher gesendet wird/befindet sich für einen Speicherplatz außerhalb des Bereichs • des konfigurierten Hauptspeichers (z.B. CNOMEM+00).
Die Zentraleinheit benutzt die Vorderflanke des Puffer/Erledigteignales CYCADN+OO, um die CPU-Sammelschiene in ihr internes
9 0 9 8 2 7/0735 . CC>PY ORfölWAL iNSPECTED
Daten-Eingangsregister zu tasten, ihren Takt zu starten und das CPU-Pufferspeicher-Anforderungs-Flip-Flop zurückzustellen. Pas Puffer/Erledigtsignal CYCADN+OO wird ungefähr 60 Nanosekunden nach dem CPü-Pufferspeicher-Anforderungssignal CACHRQ+OO zurückgestellt. ·
Der CPU-Behandlungszyklus ist ebenfalls in Figur 15 inbezug auf die dem Logikschaltkreis gemäß Figur 14 zugeführten .Zeittakts ignale dargestellt.Gemäß dem CPU-Behandlungszyklus in Figur. 3 5 ist .erkennbar, daß, wenn das CPU-Behandlungsanforderungssignal CPUREQ wahr ist und das Signal FEMPTY wahr bleibt, das Ausgangssignal FEMPTY-TO den niedrigen Pegel einnimmt, wodurch das Signal CLOCKO+OA mit hohem Pegel und das Puffer-Taktsignal CLOCKO+00 mit niedrigem Pegel erzeugt wird. Das auf den niedrigen Pegel umschaltende Puffer-Taktsignal CLOCKO+OO wird auf die Verzögerungsleitung gegeben, sodaß das Signal CDLY40+00 dementsprechend 40 Nanosekunden später auf den niedrigen Pegel und das Puffer-Taktslgnal CLOCKO+00 auf den hohen Pegel umschaltet. Das Blockierungs-•anforderungs-Flip-Flop, das durch das Puffer-Taktsignal CLOCKO+10 gesteuertwird, stellt das CPU-Behandlungsanforderungssignäl CPUREQ zurück und führt die Puffer-Steuerungslogik in den Leerlaufzustand zurück.
Gemäß Figur 3 3 ist die Hochgeschwindigkeitslogik für die festgeschaltete Schnittstelle zwischen dem Prozessor und dem"Pufferspeicher dargestellt. Die Zentraleinheit CPU benutzt diese festgeschaltete Schnittstelle, um Information vom Pufferspeicher zu gehalten oder Information zurück in den Pufferspeicher zu geben. Wenn die Information im Pufferspeicher nicht verfügbar ist, so muß man in den Hauptspeicher gehen, um die Information zu erhalten und diese in dem Pufferspeicher abzulegen und ebenfalls der Zentraleinheit CPU zuzuführen. Wenn eine Speicher-Verriegelungs- oder Entriegelungsoperation vorliegt, so erhält die Zentraleinheit CPU die Information direkt vom Hauptspeicher. Bei einem Treffer im Pufferspeicher (d.h. das adressierte Wort ist im Pufferspeicher ' vorhanden) und der nachfolgenden Paritätsfehlerprüfung und der Zufüh .der angeforderten Daten zu der Zentraleinheit CPU, wird
der Pufferspeicher zurückgestellt. Wenn die Zentraleinheit CPU eine illegale Adresse an den Pufferspeicher liefert, so führt dies . zu einem illegalen Speicher-Operationsfehler..
Gemäß dem logischen Blockdiagramm in Figur 3 3 wird ein Pufferspeicher-Leseanforderungs-signal CACHRQ+OA erzeugt, -wenn das Ausgangssignal des UND-Gatters 3 302 den'hohen Pegel aufweist. Das Pufferspeicher-Leseanforderungs-Eingangssignal CACHRQ+3B für das UND-• Gatter 3302 wird über ein Exklusiv-ODER-Gatter 3 315 und einen •Inverter 333 6 erzeugt. Dieses Signal weist .den hohen Pegel auf, wenn beide Eingangssignale BRESRV+00 und MYRESV+00 des Exklusiv-ODER-Gatters-3 3 3 5 entweder den hohen oder den niedrigen Pegel aufweisen. Es sei darauf verwiesen, daß, wenn das Eingangssignal BRESRV+00 von der Zentraleinheit CPU, welches ein Sammelschienen-Reservierungssignal ist, den hohen Pegel aufweist, und wenn das Eingangssignal FMYRESV-K)O des Exklusiv-ODER-Gatters 1315 ebenfalls den hohen Pegel besitzt, das Ausgangssignal des Gatters 1315 den niedrigen Pegel besitzt, wobei dieses Signal im Inverter 1316 in-■vertiert wird und zu einem Ausgangssignal CACHRQ+1B mit hohem Pegel führt. In gleicher Weise besitzt, wenn die beiden Eingangssignal BRESRV+00 und MYRESV+00 den niedrigen Pegel aufweisen, das Ausgangssignal des Exklusiv-ODER-Gatters 3 33 5 erneut den niedrigen Pegel, der wiederum in dem Inverter 3 316 invertiert wird, vodurch ein Ausgangssignal CACHRQ+3B mit hohem Pegel erzeugt wird. Wenn beide Eingangssignale des Exklusiv-ODER-Gatters den hohen Pegel aufweisen, so ist dies ein Hinweis, daß sich das erzeugte '■ Pufferanforderungssignal im Wartungsmodus befindet. Wenn, andererseits beide Eingangssignale BRESRV+OO und MYRESV+OO den niedrigen Pegel aufweisen, , so bildet dies ein Hinweis, daß sich die Zentraleinheit CPU im nicht gesetzten Verriegelungsmodus befindet. Wenn irgendeines der Eingangssignale des Gatters 3 315 den hohen und das andere Eingangssignal den niedrigen Pegel aufweist, so liegt ein Hinweis vor, daß sich die Zentraleinheit CPU im gesetzten bzw. zurückgestellten Modus mit nunmehriger Verriegelung be-
COPV
findet.
Ein anderes Eingangssignal des UND-Gatters 1302, das den hohen Pegel aufweisen muß, um das Pufferanforderungssignal CACHRQ+OA zu., erzeugen, ist das Pufferspeicher-Einschaltsignal CACH.ON+00. .Dies.es. Signal wird erzeugt, wenn der Pufferspeicher der .Zentraleinheit CPU über die festgeschaltete Schnittstelle beigestellt und eingeschaltet ist. Die Puffertest- und überprüfungs.logik 13:17 Stellt fest, daß der Pufferspeicher beigestellt ist, und sie liefert ein Eingangssignal mit niedrigem Pegel; an den Inverter. J 3.03 , wodurch ein Eingangssignal CACHON+00 mit hohem Pegel an einem Eingangsanschluß des UND-Gatters 1302 erzeugt wird. Bei einem Puffer-Leseanforderungssignal CACHRQ+OA mit hohen Pegel muß schließlich das dritte Eingangssignal BMSTRR+OO des UND-Gatters 1302 ebenfalls den hohen Pegel aufweisen. Dies ist ein von der Zentraleinheit CPU geliefertes Signal, welches anzeigt, daß ein Lesen des Hauptspeichers auszuführen ist, falls dieses Signal den hohen Pegel aufweist. Die folgenden Bedingungen müssen dementsprechend erfüllt sein, um das· Pufferspeicher-Leseanforderungssignal CACHRQ+OA zu erzeugen,, das dem Eingang D des Flip-Flops 1303 zugeführt wird:
d. ' Der Hauptspeicher ist nicht verriegelt bzw. entriegelt, wobei dies durch einen hohen Pegel des Signales CACHRQ+ - 1B angezeigt wird;
. 2. Der Pufferspeicher ist beigestellt und eingeschaltet, .was durch den hohen Pegel des Eingangssignales CACHON+ 00 angezeigt wird'; und
3. Ein Hauptspeicher-Lesezyklus wird ausgeführt, was durch . ' durch den hohen Pegel des Signales BMSTRR+OO angezeigt wird. . '.
Wie zuvor festgestellt, wird das Signal CACHRQ+OA dem Eingang D des Flip-Flops 1303 zugeführt. Wenn dieses Signal den hohen Pegel aufweist, so wird das Flip-Flop-T303 gesetzt, wenn das Taktimpuls-■Ignal MYCLOCK+00 dem Takteingang CK zugeführt wird. Demgemäß nimmt
ORIGINAL INSPECTED COPY ""
ein'
der Ausgang Q des Flip-Flops 1303 den hohen PegelVund erzeugt
das Signal CACHRQ+OO, das der Puffer-Taktsteuerung 1304 züge-■ führt wird. Das gleiche Signal wird ebenfalls den Eingängen D , und R des Flip-Flops 1307 zugeführt. .. . ■ :." " ·.·
Das. ^lip-Flop 1307 ist das Pufferspeicher-Anforderungs-Rücks.tell-Flip-Flop, welches durch das Flip-Flop 1303 zurückgestellt wird,
• w.enn das Pufferspeicher-Anforderungssignal CACHRQ-OR, das .dem
·· invertierenden Eingang R des Flip-Flops 1307 zugeführt wird, den niedrigen Pegel aufweist. Das Flip-Flop 130.7 wird durch den Taktimpuls CACHDN+00 zurückgestellt, der dem Eingang CK zugeführt vird und der über den Inverter 1306 und die Pufferspeichertrefferlogik 1305 erzeugt wird. Die Anstiegsflanke des Impulses CACHDN+00 am Eingang CK des Flip-Flops 1307 taktet das Signal CACHRQ+OO am Eingang D des Fl±p-Flops 1307, sodaß das Signal CACHRQ+OR am Anschluß Q des Flip-Flops 1307 den hohen Pegel einnimmt und das
• Pufferspeicher-Anforderungssignal CACHRQ-OR am Anschluß Q des Flip-Flops 1307 mit niedrigem Pegel ausgegeben wird. Dieses Sig-.nal mit niedrigem Pegel wird dem Rückstellanschluß des Flip-Flops 1303 zugeführt und setzt dieses mit dem Anstiegsimpuls des Puffer/ •Erledigtsignales CACHDN-K)O. Es ist somit ersichtlich,daß das Flip-Flop 1303 unmittelbar mit dem ansteigenden Impuls zurückgestellt verden kann, obgleich das Puffer/Erledigtsignal CACHDN+00 für eine bestimmte Dauer auf dem hohen Pegel verbleibt. Das Flip-Flop 1303 kann somit nahezu sofort erneut wieder verwendet wer-.den und somit innerhalb einer typischen Zeitperiode von 40 Nanosekunden den nächsten Anforderungszyklus bei. dieser Art von Logik ausführen. Es sei darauf verwiesen, daß bei der Erzeugung des Puffer-Anforderungssignales CACHRQ+OO und der Zuführung desselben zu der Puffer-Taktsteuerung 1304 dieses Signal ebenfalls einem Eingang des NAND-Gatters 1314 zugeführt wird, welches die Umschaltung des. Taktsignales CLOCKO+OB auf den niedrigen Pegel und somit das Anhalten des Prozessortaktes hervorrief. Diesbezüglich sei auf die DE-OS 27 34 190 verwiesen. Der Prozessortakt bleibt angehalten hts Daten entweder vom Speicher zum Pufferspeicher oder vom Pufferspeicher direkt zurück zu der Zentraleinheit CPU geliefert werden. Der Takt der Zentraleinheit CPU wird durch ein Signal
9 0 9 8 2 7 / 0 7 3 5 ""
COPY
mit niedrigem Pegel angehalten und startet bei einem Signal mit hohem Pegel. ' '. · " ·
Da das Signal CACHRQ-FOO an dem NAND-Gatter 1314 normalerweise den hohen Pegel aufweist, wenn eine Anforderung an den Pufferspeicher ausgeführt wird, und da das Signal CACHRQ+OR normalerweise den hohen Pegel aufweist bis es durch das Signal CACHDN+OO an dem Flip-Flop 1307 auf den niedrigen Pegel gebracht wird, schaltet das Ausgangssignal des NAND-Gatters 1314 auf den niedrigen Pegel, wenn der Eingangstaktimpuls CLOCKO+OF an dem NAND-Gatter '1314 auf den hohen Pegel umschaltet, wodurch der Takt des Prozessors CPU angehalten wird. Der Vorteil des Anhaltens des CPU-Taktes anstelle einer Gest.attung des Weiter lauf es liegt darin, daß weniger Zeit verschwendet wird, wenn Information verfügbar ist und von dem Pufferspeicher an die Zentraleinh|itsC_PU in der Mitte eines CPU-Taktzyklus geliefert werden kann, _V kann diese Information bei einem Weiterlauf des Prozessors erst am Ende dieses Zyklus geliefert werden. Bei einem Anhalten des Taktes kann dieser sofort erneut gestartet werden, wenn Information verfügbar ist, sodaß keine Zykluszeit verschwendet wird. Wenn Information für die Zentraleinheit CPU verfügbar ist, so wird demgemäß das Signal CACHDN+OO über die Pufferspeicher-Trefferlogik erzeugt, worauf das Signal CACHRQ-OR am Anschluß Q des Flip-Flops 1307 den niedrigen Pegel einnimmt. Dieses Signal wird seinerseits einem Eingangsanschluß des NAND-Gatters 1314 zugeführt, wodurch dessen Ausgangssignal den hohen Pegel einnimmt, was zu einem Neustart des CPÜ-Taktes führt (nicht dargestellt).
Wenn ein Treffer im Pufferspeicher vorliegt (d.h. das adressierte Wort befindet sich im Pufferspeicher) und zusätzlich der Prozessortakt angehalten wird, so ist es erforderlich, die Daten auf ihre Parität zu überprüfen und sie in die Datenregister des Prozessors (nicht dargestellt) einzutasten, wenn sie verfügbar werden. Dies geschieht durch Anlegen des Signales CYACADN-11 an einen Eingang des NAND-Gatters 1308, welches das Sammelschienen-Ende-Lesesignal BENDRD-OO erzeugt und Daten von dem Pufferspeicher in ein .
. ORIGINAL IMSPECTED-" οοργ *
nicht dargestelltes- Register der Zentraleinheit CPU eintastet. Ungefähr 80 Nanosekunden -später nach der Erzeugung des Puffer/ Erledigtsignales CACHDN+00 wird das UND-Gatter 1310 durch die Eingangssignale CAPCKT-OO und BSSHBH-11 vorbereitet und ein Signal BENDRD+OO für die Paritätsprüfung geliefert.
Unter der Annahme, daß die Zentraleinheit CPU eine Anforderung nach einem Wort aus dem Pufferspeicher ausführt/ das sich nicht in dem Pufferspeicher Befindet, und der Pufferspeicher seiner-•seits das Wort vom Hauptspeicher anfordert/ wobei sich das Wort erneut nicht im Hauptspeicher befindet/ so wird das Signal CYCADN-OO gesetzt und das Signal CNOMEM-OO auf der Leitung 1311 .erzeugt und dem UND-Gatter 1312 zugeführt. Das UND-Gatter 1312 setzt das Signal IXS000+1A des Flip-Flops 1313, das bis zur Rückstellung durch das Signal IRESET+10 gesetzt bleibt. Das Ausgangssignal irsooo-HA verursacht einen Abbruch der laufenden Befehlsverarbeitung in der Zentraleinheit "CPU und die Verarbeitung des nicht vom Speicher herrührenden Fehlersignales und die Rückstel-'lung des Signales XIS000+1A über das Signal IRESET+10.
O)PY 9 0 9827/0735
Im folgenden sei nunmehr die mehrfach .konfigurierbare Organisation des. Pufferspeichers undvdazugehörige Logik beschrieben. Gemäß den Figuren 16a und 16b sind Module eines Hauptspeichers dargestellt, bei welchem der Datenauszug einfach oder doppelt .modulweise bzw. einfach oder doppelt überlappend erfolgt. In einem in herkömmlicher Weise modulweise organisierten Hauptspeicher sind die Worte jedes Speichermoduls 1601-1603 von oben nach unten der Reihe nach bzw. umgekehrt angeordnet. Bei einer Betriebsweise mit Einfachauszug adressiert eine Anforderung vom Pufferspeicher ein Wort in einem vorgegebenen Modul, worauf ein Datenwort unter dieser Adresse im Hauptspeicher ausgegeben wird. Bei einer Betriebsweise mit Doppelauszug wird durch eine Anforderung vom Pufferspeicher eine Adresse in irgendeinem Modul 1601-1603 gelesen, worauf zwei Datenworte in benachbarten aufeinanderfolgenden Wortadressen in einem Modul, beispielsweise unter der Adresse 0 und 1 des Moduls 0 ausgelesen werden.
Bei der überlappenden Adressierung gemäß Figur 16b werden die Module des Hauptspeichers paarweise adressiert, beispielsweise das Modulpaar 0 und das Modulpaar 3 gemäß Figur 16b,· wobei ein Modul die geraden Adressen und ein anderer Modul die ungeraden Adressen aufweist. Bei der Adressierung von überlappend organisierten SpeicHermodulen in einem Einfach-Auszug werden von dem Pufferspeicher zwei aufeinanderfolgende benachbarte Adressenanforderungen ausgesendet, beispielsweise eine Adresse zu dem ersten Modul 1611 und die andere Adresse zu dem zweiten Modul 1612 des Modulpaares 0. Der Pufferspeicher empfängt aufgrund^dessen zwei Worte, ein Wort vom Modul 1611 und ein weiteres Wort vom Modul 1612'. Bei einer Adressierung mit Doppelauszug werden vom Pufferspeicher zwei aufeinanderfolgende Adressenanforderungen ausgesendet, wobei eine Adresse jeweils an jeden Modul eines Paares gerichtet ist. Beispielsweise sendet der Pufferspeicher eine Adresse an den Modul 1611 und eine weitere Adresse an den Modul -1612. Aufgrund dieser Adressen erhält der Pufferspeicher zwei Worte von dem Modul 1611 und zwei Worte von dem Modul 1612 zugeführt. Die Worte von dem Modul T611 kommen aus irgend zwei benachbarten Adressen, beispielsweise aus den Adressen 0 und 3 oder aus den Adressen 2 und 4,
909827/0735
und die beiden Worte aus dem Modul 1612 werden in gleicher Weise von irgend zwei benachbarten Adressen erhalten.
Ein typischer gesamterrrHauptspeicher-Adressenbereich. bewegt sich. von Q bis zu 1 048 575 Worten. Gemäß Figur 3 7a kann das gesamte Hauptspeichersystem in seinem Konzept als eine quadratische Anordnung von 3.024 Spalten und 1.024 Reihen von Wortspeicherplätzen angesehen werden. Dementsprechend wird typischerweise eine 20 Bit-Adresse in einer Prozessoranforderung benutzt, um den Hauptspeieiner eher zu adressieren, wobei diese Adresse gleichbedeutend mitv10 Bit-Zeilennummer, die mit einer 10-Bit-Spaltnummer verkettet ist, betrachtet werden kann. Auf diese Weise kann auf den Wortspeicherplatz Zugriff genommen werden(siehe Figur 17b).
Andererseits besitzt der Pufferspeicher 1702 mit wahlfreiem Zugriff eine typische Gesamtkapazität von entweder 2.048 oder 4.096 Worten und kann als eine Matrix von zwei bzw. vier Zeilen und 1.024 Spalten angesehen werden. Da der Teil der Spaltennummer der durch den Prozessor angeforderten Adresse benutzt wird, um auf den Pufferspeicher Zugriff zu nehmen, liegt eine genaue Entsprechung zwischen den Spalten in dem Pufferspeicher 1702 und den Spalten des Hauptspeichers 1701 vor, wobei der Hauptspeicher den Inhalt des Pufferspeichers kopieren kann. Da keine gleiche direkte feste Übereinstimmung zwischen den Zeilen im Hauptspeicher und dem Pufferspeicher besteht, werden die Reihen der Pufferspeicher-Wortmatrix als Pegel bezeichnet, um Mißverständinisse zu vermeiden. Der Pufferspeicher 1702 besitzt typischerweise 2 oder 4 Pegel bei 1.024 Spalten von Wortspeicherplätzen.
Jede Spalte von 1.024 Worten im Hauptspeicher besitzt entweder 2 oder 4 entsprechende Speicherplätze im Pufferspeicher mit wahlfreiem Zugriff, in welchem Kopien für den unmittelbaren Zugriff durch den Prozessor gespeichert werden können. Die Listeneintritte 1812-1815 gemäß Figur 18a zeigen für eine bestimmte Spalte des· Pufferspeichers die Hauptspeicher-Zeilenzahl der in jedem Pegel gespeicherte Worten an. Die Zeilenzahl der in irgendeiner bestimmte Spalte des Pufferspeichers gespeicherten Worte ist
909827/0735
vollständig unabhängig von der Anzahl ihrer eigenen in irgendeiner anderen Spalte des Pufferspeichers gespeicherten Worte. (Es sei selbstverständlich darauf verwiesen, daß irgendeine Anzahl von Spalten und Zeilen entweder im Hauptspeicher oder im Pufferspeicher und irgendeine Anzahl von Bits verwendet werden kann, um die Erfindung zu verwirklichen).
Im Betrieb wird der Spalten-Nummernteil der von dem Prozessor angeforderten Adresse 1702, I860 in den Figuren 17b und 3 8a be<nutzt, um auf einen der 1.024 Speicherplätze in jedem der Pegel
1808-1811 des Pufferspeichers mit wahlfreiem Zugriff und in jeder
dervvier entsprechenden Listen 1812-1815 Zugriff zunehmen. Ein Vergleich erfolgt in Vergleiche 1511 801-1 804 zwischen dem Zeilen-Nummernteil der Prozessor-Anforderungsadresse und der in jeder Liste an der festgelegten Spalte gespeicherten Zeilennummer. Wenn sich Gleichheit mit der in der Liste gespeicherten Zeilennummer für irgendeinen der 4 Pegel ergibt, so werden die Daten von dem entsprechenden Pufferspeicherpegel über einen Selektor 1805 (typischerweise ein Multiplexer) zu der Zentraleinheit übertragen. Zur Veranschaulichung des vorstehend erwähnten Verfahrens sei das folgende Beispiel betrachtet:
Beispiel
Prozessoranforderung: Im Pufferspeicher in Spalte 512
Speicherplatz 4608 Dezimal. Zeilennummern von den Listen
Pegel 0 - Speicherplatz 2560 CZeile 2/Spalte 512)
- 2
Pegel 1 - Speicherplatz 5632 (Zeile 5/Spalte 512)
Pegel 2 - Speicherplatz 4608 (Zeile 4/Spalte 512)
Pegel 3 - Speicherplatz 8704 (Zeile 8/Spalte 512)
4 (Dies ist das angeforderte Wort)
909827/0735
3a ist somit ersichtlich, daß ein Vergleich für die angeforderte Adresse vom Hauptspeicher stattfindet, von weicher eine Kopie in geile 4 und Spalte 512 des Pufferspeichers angeordnet ist. Wenn sich kein gültiger Vergleich ergibt, so befindet sich eine Kopie des angeforderten Wortes gegenwärtig nicht im Pufferspeicher und muß aus dem Hauptspeicher abgerufen werden. Dieser Zustand ist als fehlender Treffer bekannt. Beim Empfang des Wortes vom Hauptspeicher durch den Pufferspeicher wird dieses zu dem Prozessor übertragen und ebenfalls in dem Pufferspeicher mit der Erwartung ■gespeichert, daß der Prozessor auf das gleiche Wort erneut Zugriff nehmen wird. Da der Pufferspeicher nach seiner Auslösung immer bis zu seiner maximalen Kapazität aufgefüllt ist, verursacht die Einfügung eines neuen Wortes immer die Entfernung eines anderen Wortes. Ein wichtiger Gesichtspunkt bei dem Entwurf der Srsatζlogik liegt darin, solche Worte in dem Pufferspeicher zu entfernen, die im Hinblick auf die Benutzung durch den Prozessor die geringste Benutzungswahrscheinlichkeit aufweisen. Der Inhalt irgendeiner Spalte in dem Pufferspeicher wird unabhängig von irgendeiner anderen Spalte behandelt und wird durch das Spalten-Nummernfeld 1702, 1806 der Prozessor-Anforderungsadresse PRA festgelegt. Für die Behandlung jeder Spalte des Pufferspeichers 1850 gemäß Figur 18b besitzt die Ersatzlogik einen 2 Bit-Zähler für jede Spalte des Pufferspeichers 1851, 1852, 1853, wobei ein Zähler für alle 4 Pegel einer jeden Spalte vorgesehen ist. (Siehe ebenfalls 1950, 1951, in Figur 19). Der Zähler für jede Spalte bildet einen Hinweis für den Pegel, in welchem das nächste neue Datenwort in der Spalte zu speichern ist. Jedesmal,wenn ein neues Wort in dem Pufferspeicher unter dem durch den Zähler angegebenen Pegel ersetzt wird, wird der Zählstand erhöht, sodaß das nachfolgende Wort in der gleichen Spalte unter dem nächsthöheren Pegel in dem Pufferspeicher abgelegt wird. Die Zähler schalten ihren Zählstand von 0-3 fort und schalten sodann erneut zurück. Der Pufferspeicher ist somit effektiv eine Gruppe von 4 FIFO-Feldern mit 1.024 Speicherplätzen, wobei ein getrenntes Feld für jede Spalte vorgesehen ist. Die Herausgabe aus dem Speicher betrifft in diesem Zusammenhang die Wartestellung auf den Ersatz anstelle des Zugriffes durch den Prozessor.
909827/0735
figur 18c sind die Schalter schematische dargestellt^ benutzt werden„ um den Hauptspeicher entweder £n die modulweise arbeitende oder in die überlappend arbeitende Konfiguration zu bringen» Die Schalter Hr0 Γ und Ir„ 2σ d<,a.= die Schalter F19 und 119 stellen Schalter mit 8 Stellungen dar» Jeder Schalter ist einem unterschiedlichem Modul zugeordnet und jede Stellung des Schalters gestattet den Zugriff auf einen bestimmten festgelegten Speicherraum„ der in der untenstehenden . Darstellung I veranschaulicht istο Der Pufferspeicher adressiert demgemäß verschiedene 'Blöcke von aneinandergrenzendem Speicherraum im Hauptspeicher»
Darstellung I
Schalter-Kummer
Stellungen
Erläuterungen
0319)
t bis 8
O- 32KW
32- 64KW
64- 96KW
96-128KW
128-160KW
160-192KW
192-224KW
224-256KW
10101010 10101010 10100110 10100110 10011010 10011010 10010110 10010110
1
(F19)
1 bis 8
0- 32KW
3.2- 64KW
'64- 96KW
96-128KW
128-16OKW
160-192KW
192-224KW
224-256KW
10101010 01101010 10101010 01101010 10101010 01101010 10101010 01101010
E18
El 7
E16
1 bis 8 1 bis 8 1 bis 8
E18 E17 E16
10000101 01010100 10101001
Die Schalter E16, E17 und E18 werden für die Konfiguration des Hauptspeichers in der überlappenden Betriebswelse benutzt. In diesem Zusammenhang sei auf die US-PS 3 796 996 verwiesen.
909827/0735
Wi© s'xys" Bssefirilsösri.;, wire! eiae Lsseanforclerung ausgelöst, wenn Q(SsL ©iasix asa-irale±nIieife-'BelxaadIianggs;/is.li3.g gemäß Figur ί4 kein Sr@fS©r fss^cyestellt wirde Figar 20 veranschaulicht die Lese- |^>ai:or-üf£:ria:tg;slogiis.Q (Ea sei darauf verwiesenff daß die Figuren !d4-2£ dis log-lschen S^fsmaole gei&EB Figur 27 benutzen, die einen größeren Sr..fcriEationsiEihalt als asrlxö-rsriilieiie logische Blockdiagraaais für sine^ Facmtianri liefern o Is sei ferner darauf verwieser daß dis. Eiashstehend aufgefüEirter: Tabellen I und II ferner verschieden© Scänittstellensicrnale jai'ä iiiren irmemonischen Ausdrücken
Gamäß deß !Figuren 2O5 2i sowie gemäß Figur 19ε ist erkennbar, <3a£ ein Eauptspeieher-iinforderungs-Flip-Flop 2008. infolge eines Zyklus mit felilendeiß Treffer gesetzt wird und gesetzt bleibt, bis all© angeforderten Daten sieli im Pufferspeicher befinden. Dieses Flip-Flop setzt seinerseits das Eyklus-Änforderungs-Flip-Flop 2008. Wenn die System-SasEßelschiene 1900 nicht belegt ist, wird das in der Steuerlogik für die Pufferspeicher-System-Sammelschiene (siehe Figur 21) befindliche MY-Änforderungs-Flip-Flop 2109 gesetzt und wenn keine Anforderungen mit höherer Priorität vorliegenff so wird das MY-Datensyklus-Flip-Flop 2112 gesetzt. Dieses Flip-Flop 2112 gestattet der Zentraleinheit die Aufschaltung der absoluten Leseadresse 1907 auf die System-Samme!schiene 1900 zusammen mit den folgenden Steuersignalen.
MEMREF+: Speicher-Bezugnahme; BSDBPL+s Doppelauszug?
' BSWRIT-!" Schreiben.
Diesbezüglich, sei ferner auf die US-PS 4 030 075 verwiesen.
Wenn der Hauptspeicher modulweise konfiguriert ist, so ist das Zyklus-Anforderungs-Flip-Flop 2008 zurückgestellt und der Hauptspeicher antwortet mit einem der folgenden Signale: (siehe Figuren 19, 20 und 21).
909827/0735
BSAGKR (Positive Bestätigung)s Im positiven Zustand, zeigt dieses Signal eine positive Antwort vom Hauptspeicher an; @a stellt das MY-Datenζyklug-F 1Ip=S1IoP 2312. und-das MI-&a<.farderungs-Flip-Flop 2109 zurück ο
BSWÄIT (Warten) ; Dieses- Signal seigt an^ daß der Hauptspeicher Belegt ist, und es stellt das MY-Datenzyklus-Flip-Flop 2112 zurück,, während dem MY-Anforderungsflip-Flop 2109 gestattet wirdim gesetzten Zustand zu verbleiben. Der System-Sammelschienenzyklus wird wiederholt bis das Signal BSACKR oder BSNAKR empfangen wirdo
BSNÄKR (Negative Bestätigung)s Dieses Signal zeigt an, daß di.e von der Zentraleinheit ausgegebene Leseadresse sich nicht in dem laufenden Bereich der konfigurierten Hauptspeicheradressen Befindet. Das MY-Datenzyklus-Flip-Flop 2112 und das MY—Anforderungs-Flip-Flop 2109 werden zurückgestellt und das Nicht-Speicher-Flip-Flop 2007 wird gesetzt. Dadurch wird andererseits das Pufferspeicher-Erledigt-Flip-Flop 1413 ge-2tiäJ3 Figur 14 gesetzt, wodurch die Sentraleinheit CPU zur Zurücknahme ihrer Anforderung veranlaßt wird. Wenn die Anforderung der Zentraleinheit zurückgenommen wird, so wird das Speicher-Anforderungs-Flip-Flop 2005 zusammen mit dem NichtSpeicher-Flip-Flop 2007 zurückgestellt. Wenn der Hauptspeicher mit dem Bestätigungssignal Cz.B» BSACKR Positiv) antwortet und dieser modulweise konfiguriert ist, so wird die Aktivität hinsichtlich der Leseanforderung beendet. Wenn andererseits der Hauptspeicher überlappend konfiguriert ist, so wird der Lese-Anforderungs^yklus wiederholt? wobei die Zentraleinfieit-Leseadresse +1 benutzt wird und wobei der Hauptspeicher mit einem der folgenden Signale antwortet:
3. BSACKR (Eositive Bestätigung): Im positiven Zustand zeigt . dieses· Signal eine positive Antwort vom Hauptspeicher an und beendigt die Aktivität hinsichtlich der Leseanforder rung in der zuvor beschriebenen Weise.
909827/073S
2. ' BSWAIT tWarten) : Dieses Signal zeigt anf daß der Haupt<-
spelcher belegt ist und irgendein anderes Gerät an. der Systera-Sammelschiene bedient. Es stellt ,das MY-Datenzyklus- .Flip-Flop21.12. zurück. Da diese Anforderung für. die Prozes.s.or-Speicb.er-Anfor.derungsadresse *1 PRA-fc1 (.die veiter unten~noch. beschrieben wird) vorliegt und nicht für die Prozessor-Speicher-Anforderungsadresse PRA (z.B. Fehler eines- nicht vorliegenden Treffers) und da der Speicher für einige weitere System-Sammelschienen-Zykluszeiten belegt »ein kann, ist es unwirtschaftlich, die Anforderungen fortzusetzen, und es werden das MY-Datenzyklus-Flip-Flop 2312 und das MY-Anforderungs-Flip-Flop 2109 zurückgestellt, vodurch die Lese-Anforderungsoperation beendet wird.
3. BSNAKR (Negativ-Bestätigung)ι Dieses Signal zeigt an, daß die Zentraleinheit-Leseadresse-t-1 sich nicht in dem konfi-
* gurlerten Speicherbereich befindet. Da dies kein Fehlerzustand ist, bei dem sich die Zentraleinheit CPU außerhalb" des Speicherbereichs befindet (z.B. wurde die Adresse von dem Pufferspeicher erzeugt), wird die Lese-Anforderimgsaktivität beendet und es werden das MY-Datenzyklus-Flip-Flop und das MY-Anforderungs-Fllp-Flop zurückgestellt. Das Nicht-Speicher-Flip-Flop 2007 wird nicht gesetzt.
Wenn die erste Speicher-Leseanforderung durch das Signal BSACKR U.B. positive Bestätigung) bestätigt wird, so wird das Block-Pllp-Flop 2010 gesetzt und erzeugt das Ersatz-Adressdatei-Schreibtastsignal BAWRIT-OO über das UND-Gatter 2204, wodurch gemäß Figur 22a die Adresse PRA+1 in die Ersatz-Adressdatei (RAF) 1903 In den Speicherplatz 01 geschrieben wird.
Die Ersatz-Adressdatei RAF-1903 (Figur 19) ist ein Speicher mit wahlfreien' Zugriff von 4 Bit χ 18 Bit, der eine getrennte Schreibeteuerung, Lesesteuerung, sowie Register und sonstige Teile aufweist. Die zu schreibende Position wird durch einen Schreibadresszähler WAC-1909 adressiert, und es wird in diese Position durch einen Schreibimpuls BAWRIT eingeschrieben. Der Schreibadress-
909827/0735
. ■■■-*
zähler wird his. zu dem Sentraleinheit-Behandlungszyklus für einen fehlenden Treffer im zurückgestellten Zustand behalten und sodann durch, das Signal AORCNT fortgeschaltet, das am Ausgang des. NOR-Gatters. 223 5 gemäß Figur 22b erzeugt, wird. . .
Figur 23 zeigt das. Zeittaktdiagramm für den zweiten Zyklus des Ers.atz^Adres.sdatei-Moäus.» Gemäß Figur 23 und Figur 19a wird das Signal PRA-frJ in das Adress-Ausgaberegister AQR-1904 durch das Signal BAORCK getaktet, und der Schreibadresszähler WAC-1909 ■Wird auf den Speicherplatz 02 der Ersatz-Adressdatei RAF-1903 durch das Signal AORCNT fortgeschaltet. Der Inhalt des Adress-Ausgaberegisters AOR-1904 wird zu dem AOR-Addierer 1905 übertragen, in welchem zu der Adresse PRA-fi der Wert +1 hinzu addiert Wird (zweite absolute Speicher-Anforderungsadresse), und sodann Wird das- Adress-Ausgaberegister 1904 nicht mehr weiter getaktet.
Wenn der Hauptspeicher modulweise konfiguriert ist, so wird eine weitere Anforderungsaktivität angehalten. Eine Hauptspeieheranforderung und die absolute Adresse werden zu dem Hauptspeicher übertragen und die Ersatz-Adressdatei RAF-1903 speichert die Zentraleinheit-Speicher-Anforderungsadresse PRA und PRA+1 in den Speicherplätzen 01 und 02.
Die Figuren 24 und 25 zeigen Zeittaktdiagramme für die dritten und vierten Zyklen der Ersatz-Adressdatei RAF-1903. Wenn gemäß diesen Zeittaktdiagrammen und gemäß Figur 19 die dem Prozessor-Speicher-Anforderungsadressignal .PRA zugeordneten Daten vom Hauptspeicher in der Pufferspeichereinheit 1901 ankommen, so erzeugt das Bestätigungssignal auf der Pufferspeicherseite MYACKR (siehe Tabelle II) das RAF-Schreibtastsignal BAWRIT-OO (siehe Figur 22a), welches die der Prozessor-Anforderungsadresse PRA+2 zugeordneten Daten in den Speicherplatz 02 der Ersatz-Adressdatei RAF-1903 einschreibt. Der Schreibadresszähler WAC-1909 wird auf den Speicherplatz 03 fortgeschaltet, und der Inhalt des Adress-Ausgaberegisters AOR-1904 wird zu dem AOR-Addierer 1905 übertragen, in welchem zu der Prozessor-Anforderungsadresse PRA+1 der Wert +2 hinzuaddiert Wird, was zu der Adresse PRA+3 führt.
909827/0735
Wenn der Hauptspeicher für einen Doppelauszug konfiguriert tto sind die nächsten ankommenden Daten der Prozess-Or-Anforde^ rungsadresse PRA zugeordnet, wenn der Hauptspeicher jnodulweise organisiert ist, bzw. sie sind der Adresse PRA+2 zugeordnet, wenn der Hauptspeicher überlappend arbeitet. Das Steuersignal MYACKR. an dem NAND-Gatter 2213 (Figur 22b) erzeugt über das NOR-Gatter 2215 das Steuersignal AGRCNT+OO, das über eineninverter 2203 dem NAND-Gatter 2204 (Figur 22a) zugeführt wird, welches das RAF-.SchreiBtastsignal BAWRITHDO erzeugt, durch, welches der Inhalt der •Adresse PRA+3 in den Speicherplatz 03 der Ersatz-Adressdatei RAF-1903 geschrieben wird. Der Schreibadresszähler WAC-1909 wird auf den Speicherplatz 00 fortgeschaltet, und eine weitere Aktivität des- WAC-Tastsignales- AORCNT wird gesperrt.
Wenn der Hauptspeicher überlappend betrieben wird, so wird eine zweite Speicher-Leseanforderung ausgesendet (z.B. Einzelauszug mit der Adresse PRA+1 und Doppelauszug mit der Adresse PRA+3). Das- Zyklus-Aiforderungs-Flip-Flop 2208 bleibt gesetzt ,wenn sich der Hauptspeicher in der überlappenden Betriebsweise befindet, und es sendet eine zweite Speicher-Anforderung über das MYREQT-F/lip-Flop 2109 zusammen mit der absoluten Adresse PRA+1 aus. Wenn die Daten von der ersten Speicher-Leseanforderung ankommen, so erzeugt das Signal MYACKR das RAF-Schreibtastsignal BAWRIT-OO, Wie dies zuvor im Hinblick auf die Figuren 22a und 22b beschrieben wurde. Hierdurch wird andererseits der Inhalt unter der Adresse PRA+2 in den Speicherplatz 02 der Ersatz-Adressdatei RAF-1903 geschrieben. Der Schreibadresszähler WAC-1909 wird auf den Speicherplatz 03 fortgeschaltet und der Inhalt des Adress-Äusgaberegisters AOR-1904 wird zu dem AOR-Addierer 1905 übertragen, in welchem der Wert +2 zu der Adresse PRA+1 addiert,·wird, was zu der Adresse PRA+3 führt.
Wenn die ersten Daten der Speicher-Leseanforderung, die der Adresse PRA zugeordnet sind, ankommen, so wird der Inhalt unter der Adresse PRA+2 in den Speicherplatz 02 der Ersatz-Adressdatei RAF geschrieben. Der Schreibadresszähler WAC wird auf den Speicherplatz 03 fortgeschaltet, und der Inhalt des Adress-Ausgaberegisters
9 0 9827/0 7.3V|
ÄQR wird Bit dem Wert ·ε2 addiert, wodurch, die Adres.se PRM3 ge^ bildet wird. Die nächsten, ankommenden Daten sind die. Daten,. .d$e der Adresse PRA+2 zugeordnet sind. Das Signal iiYÄCKR erzeugt erneut das RAF-Schreibtastsignal BAWRIT-OO in der zuvor anhand der figuren 22a und 22b beschriebenen Weise, und der Inhalt unter der Adres.se PRA+3 wird in den Speicherplatz 03 der Ersatz-Adressdatei RAF gescnrieBen. Der Schreibadresszähler WAC wird auf den Speicherplatz 00 fortgeschaltet, und eine weitere Aktivität des Schreibadresszähler-Tastslgnales AORCNT wird gesperrt. Wenn der Hauptspeicher mit Doppelauszug betrieben wird, so kommen die den Adressen PRA+1 und PRA-t3 zugeordnetenVan, und diese werden in die Pufferspeicherliste und den Datenpuffer eingeschrieben.
Wenn sich der Pufferspeicher in dem Ersatzmodus für einen fehlenden Treffer befindet, so empfängt die Zentraleinheit CPU ihre angeforderten Daten "und Befehlsworte von dem Hauptspeicher über die Puffer-Umgehungslogik 1918 der Pufferspeiehereinheit. Die Puffer-Umgehungslogik 1918 sendet die angeforderten Hauptspeicherdaten und Befehlsworte"zu der Zentraleinheit CPU, während die Pufferspeichereinheit noch Information verarbeitet und speichert, wodurch die Datenübertragungsgeschwindigkeit erhöht wird. Da die Zentral- ©inheit CPU ein weiteres Wort anfordern kann, nachdem . das erste angeforderte Wort empfangen ist, bleibt die Pufferspeichereinheit für die Zentraleinheit CPU nicht verfügbar (z.B. belegt) bis die Leseanforderungsaktivität beendet ist und alle angeforderten Datenübertragungen vervollständigt sind. Ein Datenzähler (siehe Figur 26) bildet den Mechanismus, der festlegt, wann alle angeforderten Daten empfangen worden sind und der Speicher-Anforderungszyklus /-durch Rückstellung des Speicher-Anforderungs-Flip-Flops 2005 vervollständigt ist. Der die Flip-Flops 2603 und 2607 aufweisende Datenzähler 2600 zählt die Anzahl der empfangenen Datenübertragungen, indemf/iählt, wann das Signal BSDBPL an dem NAND-Gatter 2601 den negativen Wert aufweist. Wenn der Speicher mit Doppelauszug mit einer positiven Doppelauszug-Anforderung gelesen wird, go sendet er zwei Worte. Wenn der Speicher zweiVsendet, so besitzt das erste Wort ein positives Doppelauszug-Signal, welches anzeigt, daß weitere Worte folgen. Das zweite Wort besitzt ein negatives
909827/0735 ' -,
Doppelauszug-Signal, wodurch, angezeigt wird/ daß keine weiteren flor te. folgen.' Die anfordernde Einheit is.t in der Lage,-.zwei aufeinanderfolgende Worte mit einer Anforderung aufzunehmen. Pie empfangenda.Einh.eit wird ebenfalls informiert, daß zwei Worte aufzunehmen sind. Unabhängig von der Anzahl der Leseanforderungen, die eine oder zwei Anforderungen umfassen können, und unabhängig von dem Speichertyp, der im Einzelauszug oder im Doppelauszug betrieben werden kann, wird Bei einem Zählstand von 2 das Speicher-Anforderungs—Flip-Flop 2005 zurückgestellt, wodurch der Speicher-Anforderungszyklusvervollständigt wird. Wenn das Speicher-Anforderungssignal MEMREQ an dem Rückstellanschluß R der Flip-Flops 2603 und 2607 sich, im rückgestellten Zustand befindet, so wird der Datenzähler auf 0 zurückgestellt. Bei der ersten Speicher-Leseanforderung, wenn das Speicher-Anforderungs-Flip-Flop 2005 gesetzt wird, wird der Datenzähier auf +1 eingestellt, was jedoch davon abhängt, ob der Hauptspeicher überlappend oder modulweise Betrieben wird.
Wenn der Hauptspeicher modulweise konfiguriert ist, so wird der Datenzähler auf -fei voreingestellt, da der Datenzähler immer bei einem Speicher-Anforderungszyklus mit einem Zählstand von 2 seinen Endstand erreicht. Der Datenzähler wird durch das Datenzähler-Taktsignal DATACK- bei Einfachauszug/Doppelauszug-Speichern Vie folgt fortgeschaltet:
1. Speicher mit Einfachauszugj Das Modulsignal von dem Schiebeschalter (nicht dargestellt) für den überlappen-, den/modulweisen Betrieb stellt den Datenlähler'auf 1 ein.
^ Wenn die Daten/Befehle ankommen, so wird der Datenzähler • auf den Zählstand von 2 erhöht.
2. Speicher mit Doppelauszug: Das Modulsignal des nicht dargestellten Schiebeschalters für überlappenden/modulweisen Betrieb stellt den Datenzähler auf 1 ein. Der im Doppelauszug modulweise betriebene Speicher sendet ein oder zwei Worte zurück, je nachdem Qb sich diese in dem Speicherbereich befinden, und der Zählstand des Daten-
909827/0735 · ^ofuginal inspected
■ - β* -
. Zählers wird auf 2 bei der zweiten übertragung erhöh-t, wenn das Signal BSDBPL negativ ist„-
Wenn der Hauptspeicher überlappend betrieben wird, so wird der Datenzähler nicht auf 3 voreingestellt, sondern bleibt auf dem Zählstand 0, und er wird durch, das Datenzähler-Taktsignal DATACK-b"ei Speichern mit Einfachauszug bzw. Doppelauszug wie folgt fortgeschaltet :
ο Speicher mit Einfachauszug: Der Inhalt des Datenzählers wird um 3 durch, ein positives Bestatigungssignal MYACKO erhöht, wenn die Daten/Befehle von der ersten Speicheranforderung empfangen werden. Wenn die Daten der zweiten Anforderung ankommen, so erhöht das Datenzähler-Taktsignal DATACK- den Zählstand des Datenzählers auf 2. Wenn die zweite Speicher-Leseanforderung nicht bestätigt wird (Beispielsweise befindet sich die Adresse PRA+1 äußer-Halb des Speicherbereiches) oder wenn auf diese mit einer Wartebedingung geantwortet wird (z.B. Speicher belegt), so wird der Datenzähler auf 1 voreingestellt. Wenn die ■Daten ankommen, so wird der Datenzähler auf einen Zählstand von 2 fortgeschaltet.
2\ Speicher mit Doppelauszug: Der Inhalt des Datenzählers wird durch, das positive Bestatigungssignal MYACKO auf 3 erhöht, wenn die Daten/Befehle von der ersten Speicheranforderung empfangen, werden. Wenn die Daten der zweiten Anforderung ankommen, so wird der Inhalt des Datenzäh-— lers durch das Datenzähler-Taktsignal DATACK auf 2 erhöht.
Auf Anforderung sendet der Speicher mit Doppelauszug folgendes: ' -
1. . Ein Wort: Wenn die Anforderung erfolgte, um mit Doppelwortaus Yaus dem letzten Speicherplatz zu lesen Cd.h.. der letzte Speicherplatz +1 ist nicht existent)
909827/0735
2854337
In diesem Pall sendet der Speicher da? eine Wort mit dem negativen Signal BSDPL. ■ ■
2« Zwei Worte: Das erste Wort wird immer von dem po .s.itiven Signal BSDBPL begleitet, und das zweite Wort befindet sich in Begleitung des negativen • nales BSDPL.
Da das Signal BSDPL durch, den Speicher mit Doppelauszug gesteuert wird und von der Anzahl der Worte und der Priorität abhängt, die der Haupspeicher benutzt, um diese Worte zu der Pufferspeichereinheit zusenden, erhöht das Datenzähler-Taktsignal DATACK den Datenzähler unter verschiedenen Möglichkeiten, die in der angefügten Tabelle III beschrieben sind. Wenn der Inhalt des Datenzählers
wird einen Zählstand entsprechend dem Wert 2 aufweist, so dadurch das Speicher-Anforderungs-Flip-Flor) 2005 zurückgestellt, wodurch der Zentraleinheit CPU die Auslösung eines weiteren Behandlungszyklus gestattet wird, nachdem das letzte Wort seinen Ersatzzyklus vervollständigt hat.
909827/0735
Tabelle I - Speicher-Schnittstellonsigiiale
Anzahl der
Leitungen
j ν . 2854397 Bestimmungen ■ · Merkname (n)
ti ber tr agung sr ich.-
tung
(Sammelschiene .
«* Speicher)
;< 4 ί Adresse BSAD23- bis
BSADO8-
8 1 - Adresse BSADO7- bis
BSADOO-
3 ί ■ i Adressen-Parität BSADOO- ■ ■
38 2 Daten
ft*
BSDTOO- bis
BSDTl5- BSDTOA-
BSDTOB-
2 9, Daten-Parität BSDPOO-, BSDPOS-
1 Speicher-Bezugnahme BSMREF-
3- 1 Sammelschiene-Schreiben BSWRIT-
' 3· 3 . Byte-Modus BSBYTE-
" .3 1 Verriegelung BSLOCK-
3 Zweite Hälfte
Sammels chienenzyklus
.BSSHBC-
3 Haupt-Lös chung BSMCLR-
■Süannunasversorgung-
Ein
ESPWON+
1
-
Sammeischienen-Änfor
derung
ESREQT-
0 · Jetzt Datenzyklus BSDCNN-
" Bestätigung BSACKR-
Warten ,BSWAIT-
Keine Bestätigung BSNAKR-
Pehlerleitungen BSYELO-, BSREDD-
Ungleichheit-Schalt
kreis
BSAUOK+ bis
BSIUOK+
Ungleichheit-Schalt
kreis
BSMYOK+
Qualitätslogik-Test
eingabe
BSQLTI-
Qualitätsiogik-Test-
ausgabe
BSQLTO-
Qualitätslogik-Test-
aktivierung
BSQLTA+
Wieder-aufnahme Unter
brechung
BSRINT-
909827/0735
Γ _-Θ,., ORIGINAL INSPECTED
CO
Tabelle I - Speicher-Schnittstellensignale (Fortsetze
übertragungsrich
tung
(Sammelschiene
-* »-· speicher)' " '
Anzahl der
Leitungen
Bestimmungen Merkname in)
'■*
->
*-*
3
3
3
Externe Steuerung.
Zeitgeber
Doppelwort-Auszug
BSEXTC+
BSTIMR+
BSDBPL-
COPY
η η η η
Tabelle II - System-Sammelschiene-Schnittstellenleitungen
Klasse
Punktion
Name
Sammelschieneseite Treiber
.Puf ferspei eher sei t(
Empfänc
mpuls
mpuls
Sammeisch-Anforderg. Jetzt Datenzyklus Bestätigung ACK Keine Bestätig. NAK Warten
BSREQT-BSDCNN-BSACKR-BSNAKR-BSWAIT-
MYREQT+ MADCNN+ MYACKR+
BSREQT+ BSDCNN+ BSACKR+ BSNAKR+ BSWAIT+
nformation
Datenbit
Datenbit
Adressbit
-formation
Adressbit
6 "1
10
31
12 ' 13
14
15
16
17
9 .
10
11
12
13
14
15
16
17
18
19
20
21
22
23 BSDTOA-.BSDTOO- ; BSDT01-IBSDT02-.BSDT03-"BSDT04- :BSDT05-"BSDTO 6-BSDT07-BSDTOB-BSDT08-BSDT09-BSDT10-BSDTT1-BSDT12-BSDT13-BSDT14-BSDT15-BSADOO-BSADO1-BSAD02-BSAD03-BSAD04-BSAD05-BSAD06-BSAD07-BSADO8-BSAD09-BSAD10-BSAD11-BSAD12-BSAD13-BASD14-BSAD15-BSADl6-BSADI7-BSAD18-BSADl9-BSAD20-BSAD21-BSAD22-B3AD23-
ZGND
L0GIC1+
ZGND
ZGND
ZGND
ZGND
ZGND
ZGND
ZGND
ZGND
L0GIC1+
CPUIDR+
ZGND
ZGND
ZGND
ZGND
ZGND
BLOCKF+
ZGND ZGND ZGND ZGND BAO RO 5+ B AO RO 6 + BAO RO 7+ BAORO8+ BAO RO 9 + BA0R10+ BA0R11+ BA0R12+ BAORl3+ BAORl4+ BAOR15+ BAOR16+ BAORl7+ BAORl8+ BA0R19+ BA0R20+ BA0R21+ BAOR22+ ZGND
BSDTOA+
BSDTOO+
BS DT01 +
BSDT02+
BSDT03+
BSDT04+
BSDT05+
BSDTO6+
BSDT07+
BSDTOB+
BSDT08+
BSDT09+
BSDTlO+
BSDT11+
BSDTl 2.+
BSDTl3+
BSDT14+
BSDTl5+
BSÄD05+ BSAD06+ BSADO7+ BSAD08+ BSAD09+ BSAD10+ BSAD11+ BSADl2+ BSADl3+ BSADl4+ BSADI5+ BSAD16+ BSADl7+ BSADI8+ BSAD19+ BSAD20+ BSAD21+ BSAD22+ BSAD23+
ORIGINAL INSPECTED
COPY
- 86 Tabelle II - System-Sammelschiene-5chnit-.-:st elle-ileltung CFortsetzc
. ·« Funktion BSLOCK- I BSAUOK+ Name tmpfänci
Klasse S amme 1- BSDBPL- BSBUOK+ BSMREF+
Ungleichheits-Schalt- Speicher Bezugnahme schienense BSREDD- • — BSCUOK+ Puff erspei eher seit-: BSBYTE+
Ubertragungsbegleit- kreis .... Sammelschienen-Byte BSMREP- BSYELO- BSDUOK+ te Treiber BSWRIT+
steuerung Sammelsch.-Schreiben BSBYTE- BSDPOO- - BSEUOK+ LOGIC1+ BSSiIBC+
BSWRIT- ; BSDP08- ■ — · BSFUOK+ ZGND
Zweite Hälfte Sammel-BSSHBC- BSAPOO- BSGUOK+ ZGND.
zyklus BSQLTO- BSHUOK+ BXLOCK+ BSDBPL+
Übertragungsbeglei.t- Verriegelung BSQLTI- BSIUOK+ BSREDD+
steuerung Doppel-Aus zug BSMCLR- BSMYOK+ ZGND -
Ubertragungsbegleit- Rot" BSPWON+ CYQLTO- BSDPOO+
integrität Gelb ZGND BSDP08+
Datenparität - Links Wiederaufnahme Unter-BSRINT- ZGND -
tlbertragungsbegleit- Datenparität - Rechts brechung LOGIC1+
integrität Adressenparität BSDPO8+ I -
Statische Integrität Logiktest· Ausgabe MYAPOO+00 BSMCLR+
Statische Integrität Logiktest Eingabe _ ; -
Verschiedene Steuerung Haupt—Löschung
Spannungsvers orgung ZGND -
Ein —-.
Verschiedene Steuerung — "-
Ungleichheits-Schalt -
kreis -
-
- -
- -
-
-
-
-
-
909827/0735
' - 87'. Tabelle III
Datenzähler-Fortschaltungstabelle für rückgeführte normale und gemischte Daten (für 2 Anforderungen, Doppel-Speicherauszug und überlappenden ,Modus).
Rückgeführte, angeforderte, zugeord
nete Adressdatenfolge
Siehe Bemerkung für die Erläute-
' rung der Datenadressen
PRA + 1 PRA + 2 I PRA +
Normale Daten - Rückführungsfolge
(PRA,. PRA +. .2.). .CPRA + .1 , PRA .+ .3).
PRA +1 . +2
Speichermodul-Prioritätsumkehr
(PRA .+ .1.,. PRA). CPRA +. 3, PRA .+ .2).
+2 +1
Speichermodul-Prioritätsumkehr
(PRA, PRA .+. .1.). .CPRA .+ 2,. .PRA -fr .3.). . . .
+1 +2
PRA + 3 Bereichsüberschreitung
(PRA, PRA + .2). (PRA .+ 1.)
+2 +1
PRA + 3 Bereichsüberschreitung mit
Speichermodul-Prioritätsumkehr
(PRA, PRA -fr 1.) (PRA 4- 2)
+ 1 +2
PRA + 2, PRA + 3 Bereichsüberschrei
tung
(PRA, PRA + 1)
+2 ■
PRA + 2, PRA + 3 Bereichsüberschrei
tung mit Speichermodul-Prioritäts—
umkehr
(PRA + 1, PRA)
+1 +1
+2
Bemerkung
Der Datenzähler wird um +1 oder +2 erhöht (in den Tabellenrechtecken veranschaulicht), wenn das Signal BSDBPL negate ist und folgende zugeordnete Datenadressen vorliegen: PRA, PRA + 1, PRA + 2, und PRA + 3.
90982 77 0735

Claims (6)

  1. Patentansprüche:
    DV-System mit wenigstens einer Zentraleinheit, einem Hauptspeicher und einem Pufferspeicher, die alle an eine System-Sammelschiene für einen Dialog untereinander angeschlossen sind, wobei ein Teil des Hauptspeichers in Module unterteilt ist, vorbestimmte Module modulweise wortorganisiert sind und sequentiell Worte unter nummerischen Adressen 0 bis η speichern, vorbestimmte andere Module in überlappender Weise in Paaren von Modulen wortorganisiert sind, sodaß ein erstes Modulpaar die geraden nummerischen Adressen und ein zweites Paar die ungeraden nummerischen Adressen aufweist, und wobei die Worte sequentiell unter den geraden und ungeraden Adressen' abwechselnd in den Modulpaaren gespeichert sind, mit einer mehrfach konfigurierbaren Pufferspeichereinheit, um dem Pufferspeicher das Auslesen von Worten aus dem Hauptspeicher in irgendeinem Wortmodus innerhalb mehrerer Wortmoden zu gestatten, dadurch gekT.ennzeich.net, daß die mehrfach konfigurierbare Pufferspeichereinheit umfasst:
    a) Eine auf den Pufferspeicher ansprechende'-erste Einrichtung zum Lesen eines Wortes aus einem ausgewählten modulweise wortorganisierten Modul in dem Hauptspeicher? und
    b) eine auf den Pufferspeicher ansprechende zweite Einrichtung zum Lesen zweier aufeinanderfolgender benachbarter Worte aus einem ausgewählten Paar Überlappender wortorganisierter Wortmodule des Hauptspeichers, wobei ein Wort aus dem ersten Modulpaar und ein anderes Wort aus dem zweiten Modulpaar des Hauptspeichers gelesen wird.
    H*/ig 909827/0735
    ORIGINAL. INSPECTED
  2. 2. System nach Anspruch 1, gekennzeichnet durch
    eine dritte auf den Pufferspeicher ansprechende Einrichtung zum Lesen zweier Worte aus zwei benachbarten Adressen in ei~ nem ausgewählten modulweise wortorganisierten ,Modul in dem Hauptspeicher.
  3. 3. System nach Anspruch 2, gekennzeichnet durch
    eine vierte auf den Pufferspeicher ansprechende Einrichtung zum Lesen von vier Worten aus zwei benachbarten Adressen aus einem ausgewähltem Paar von überlappenden wortorganisierten Modulen des Hauptspeichers ,wobei zwei Worte jeweils aus zwei aufeinanderfolgenden Adressen aus dem ersten Modulpaar und weitere zwei Worte aus aufeinanderfolgenden Adressen aus dem zweiten Modulpaar gelesen werden.
  4. 4. System nach Anspruch 3, gekennzeichnet durch
    eine fünfte auf den Pufferspeicher ansprechende Einrichtung zur Bildung einer Adressenanforderung an den modulweise wortorganisierten Hauptspeicher und durch eine sechste Einrichtung zur Aufnahme eines Datenwortes aus der Hauptspeicheradresse aufgrund der Adressenanforderung.
  5. 5. System nach Anspruch A, gekennzeichnet, durch
    eine sechste auf den Pufferspeicher ansprechende Einrichtung zur Bildung einer Adressenanforderung an den modulweise wortorganisierten Hauptspeicher und durch eine achte Einrichtung zur Aufnahme von zwei Datenworten aus dieser Adresse und aus der nächsten benachbarten Adresse des modulweise wortorganisierten Hauptspeichers aufgrund der einen Adressenanforderung.
  6. 6. System nach Anspruch 5, gekennzeichnet
    909827/0735
    285A397
    durch. -c
    eine neunte auf den Pufferspeicher ansprechende Einrichtung zur Bildung von zwei Adressenanforderungen, wobei Jede für benachbarte Adressen der überlappenden Modulpaare des Haupt*- s.peichers vorgesehen ist und durch
    eine zehnte Einrichtung zur Aufnahme von zwei Datenworten aus jedem Modul aufgrund der zwei Adressenanforderungen.
    System nach Anspruch 6, gekennzeichnet
    durch
    eine elfte auf den Pufferspeicher ansprechende Einrichtung zur Bildung zweier Adressenanforderungen, wobei jede für benachbarte Adressen der überlappenden Modulpaare des Hauptspeichers vorgesehen ist und durch
    eine zehnte Einrichtung zur Aufnahme von vier Datenworten aufgrund der zwei Adressenanforderungen, wobei jedem Modul zwei * Worte entnommen werden.
    909827/0735
DE19782854397 1977-12-22 1978-12-16 Pufferspeichereinheit fuer ein datenverarbeitungssystem Withdrawn DE2854397A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/863,098 US4195342A (en) 1977-12-22 1977-12-22 Multi-configurable cache store system

Publications (1)

Publication Number Publication Date
DE2854397A1 true DE2854397A1 (de) 1979-07-05

Family

ID=25340245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782854397 Withdrawn DE2854397A1 (de) 1977-12-22 1978-12-16 Pufferspeichereinheit fuer ein datenverarbeitungssystem

Country Status (8)

Country Link
US (1) US4195342A (de)
JP (1) JPS5492028A (de)
AU (1) AU516915B2 (de)
CA (1) CA1126873A (de)
DE (1) DE2854397A1 (de)
FR (1) FR2412909B1 (de)
GB (1) GB2011679B (de)
YU (1) YU40211B (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
US5146572A (en) * 1980-11-17 1992-09-08 International Business Machines Corporation Multiple data format interface
EP0055579B1 (de) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache-Speicher mit Doppelwort-Zugriff
US4424561A (en) 1980-12-31 1984-01-03 Honeywell Information Systems Inc. Odd/even bank structure for a cache memory
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4533995A (en) * 1981-08-03 1985-08-06 International Business Machines Corporation Method and system for handling sequential data in a hierarchical store
US4464713A (en) * 1981-08-17 1984-08-07 International Business Machines Corporation Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store
US4507730A (en) * 1981-10-01 1985-03-26 Honeywell Information Systems Inc. Memory system with automatic memory configuration
US4521849A (en) * 1981-10-01 1985-06-04 Honeywell Information Systems Inc. Programmable hit matrices used in a hardware monitoring interface unit
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
DE3483489D1 (de) * 1983-04-13 1990-12-06 Nec Corp Speicherzugriffseinrichtung in einem datenverarbeitungssystem.
US4559611A (en) * 1983-06-30 1985-12-17 International Business Machines Corporation Mapping and memory hardware for writing horizontal and vertical lines
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US5014186A (en) * 1986-08-01 1991-05-07 International Business Machines Corporation Data-processing system having a packet transfer type input/output system
US4896264A (en) * 1986-09-08 1990-01-23 American Telephone And Telegraph Company Microprocess with selective cache memory
GB2214670B (en) * 1988-01-21 1992-07-15 Mitsubishi Electric Corp Cache system
GB2216305A (en) * 1988-03-01 1989-10-04 Ardent Computer Corp Cache block transfer in a computer system
US5179667A (en) * 1988-09-14 1993-01-12 Silicon Graphics, Inc. Synchronized DRAM control apparatus using two different clock rates
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5276832A (en) * 1990-06-19 1994-01-04 Dell U.S.A., L.P. Computer system having a selectable cache subsystem
US5263144A (en) * 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
EP0612013A1 (de) * 1993-01-21 1994-08-24 Advanced Micro Devices, Inc. Kombination von Vorausholungspuffer und Befehlscachespeicher
US5845329A (en) * 1993-01-29 1998-12-01 Sanyo Electric Co., Ltd. Parallel computer
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
US6223255B1 (en) * 1995-02-03 2001-04-24 Lucent Technologies Microprocessor with an instruction level reconfigurable n-way cache
US6434671B2 (en) * 1997-09-30 2002-08-13 Intel Corporation Software-controlled cache memory compartmentalization
US6378017B1 (en) * 1998-07-08 2002-04-23 Nms Communications Corporation Processor interconnection
DE10124767A1 (de) * 2001-05-21 2002-12-12 Infineon Technologies Ag Anordnung zur Abarbeitung von Datenverarbeitungsprozessen sowie Verfahren zur Ermittlung der optimalen Zugriffsstrategie
US8024285B2 (en) * 2007-12-27 2011-09-20 Microsoft Corporation Determining quality of tier assignments
TW201015579A (en) * 2008-09-18 2010-04-16 Panasonic Corp Buffer memory device, memory system, and data readout method
US20140310549A1 (en) * 2013-04-11 2014-10-16 Apple Inc. FIFO Clock and Power Management

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3270324A (en) * 1963-01-07 1966-08-30 Ibm Means of address distribution
US3435420A (en) * 1966-01-03 1969-03-25 Ibm Contiguous bulk storage addressing
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
GB1254929A (en) * 1969-03-26 1971-11-24 Standard Telephones Cables Ltd Improvements in or relating to digital computers
JPS5128450B2 (de) * 1971-10-06 1976-08-19
US3800292A (en) * 1972-10-05 1974-03-26 Honeywell Inf Systems Variable masking for segmented memory
FR2253430A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle

Also Published As

Publication number Publication date
GB2011679B (en) 1982-04-07
GB2011679A (en) 1979-07-11
US4195342A (en) 1980-03-25
JPS5492028A (en) 1979-07-20
YU40211B (en) 1985-08-31
YU302178A (en) 1982-06-30
AU4242778A (en) 1979-06-28
CA1126873A (en) 1982-06-29
FR2412909B1 (fr) 1985-09-13
AU516915B2 (en) 1981-06-25
FR2412909A1 (fr) 1979-07-20

Similar Documents

Publication Publication Date Title
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE2854485C2 (de) Datenverarbeitungsanlage
DE2230830C2 (de) Datenverarbeitungsanlage
DE2628363C2 (de) Datenverarbeitungs-Netzwerk
DE2806024C2 (de)
DE2547035C3 (de) Datenverarbeitungseinrichtung
DE3114961C2 (de)
DE2829550C2 (de)
DE2944419C2 (de)
DE2212501C2 (de) Einrichtung zur Übertragung asynchroner, digitaler Signale
DE2230987C2 (de)
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2801563C2 (de)
DE2755897A1 (de) Ein/ausgabe-system
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE2750721A1 (de) Ein/ausgabe-system
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE3224034A1 (de) Mehrprozessorensystem
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE3114934A1 (de) Zentrales subsystem fuer eine datenverarbeitungsanlage
DE2741886A1 (de) Datenuebertragungseinrichtung
DE2928488A1 (de) Speicher-subsystem
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal