DE2162806C2 - Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle - Google Patents

Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle

Info

Publication number
DE2162806C2
DE2162806C2 DE2162806A DE2162806A DE2162806C2 DE 2162806 C2 DE2162806 C2 DE 2162806C2 DE 2162806 A DE2162806 A DE 2162806A DE 2162806 A DE2162806 A DE 2162806A DE 2162806 C2 DE2162806 C2 DE 2162806C2
Authority
DE
Germany
Prior art keywords
channel
output
data
input
buffer
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.)
Expired
Application number
DE2162806A
Other languages
English (en)
Other versions
DE2162806A1 (de
Inventor
Robert Stanley Wappingers Falls N.Y. Capowski
Larry Ray Lousville Col. Horsman
Robert Mark Poughkeepsie N.Y. Unterberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2162806A1 publication Critical patent/DE2162806A1/de
Application granted granted Critical
Publication of DE2162806C2 publication Critical patent/DE2162806C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

In großen Datenverarbeitungssystemen erfolgt die Verarbeitung von Datenanforderungen zwischen den Eingabe-/Ausgabekanälen des Systems und seinem Hauptseelcher über Pufferspeicher. Beispielsweise lsi In großen S>stemen ein Datenaustausch vorgesehen, der über mehrere Register erfolgt, die eine Warteschlange der anfordernden Signale bilden Eine Eingabe-ZAusgabe-Prlorltätssteuerung überträgt Anforderungen In ein Register der Warteschlange, und eine Ausgabe-Prlorttätssteuerung verarbeitet selektiv die gespeicherte Anforderung. Dieses System hat den Vorteil, daß nicht mehr durch die Verfügbarkeit eines Speicherzyklus festgestellt wird, ob eine bestimmte Einrichtung bedient wird oder nicht, sondern
I" es wird dies durch die Verfügbarkelt einer Wurteschlangenposltlon festgestellt Diese Art des Datenaustausches Ist dann notwendig, wenn viele Elngabe-/Ausgabekanäle Im Wettstrelt um die Benutzung des sehr langsamen Speichers liegen Diese Technik Ist jedoch sehr teuer.
ι5 und wenn ein relativ schneller Speicher benutzt wird, sind die hochentwickelten Puffer- und Prloritäistechnlken nicht mehr notwendig.
Eine weitere Möglichkell besteht Jarln. zwischen Kanälen und Speicher eine Spelchersteuerelr.helt elnzufügen Diese Einheit akzeptiert nur dann eine Anforderung eines Kanals, auf einen Speicher Zugriff auszuüben, wenn die Flngabesammelleltung und ein Speichersteuer· elnhelt-Kanalpuffer verfügbar sind. Akzeptierte Anforderungen dürfen dann auf der Basis zuerst ein/zuerst aus oder entsprechend einem anderen feststehenden Prioritätsschema auf die gewünschte Logikspeichereinheit Zugriff ausüben. Eine akzeptierte Anforderung kann dann jedoch ke!r>:sfalls Immer auf den gewünschten Logikspeicher Zugriff ausüben, nämlich dann nicht.
wenn der Logikspeicher belegt Ist oder aber auch nicht belegt Ist. aber eine Anforderung in einem anderen Puffer eine höhere Priorität hat und der von diesem Puffer gewünschte Logikspeicher belegt Ist. Anforderungen eines Kanals an einen nicht belegten Logikspeicher können daher verzögert werden, well eine Anforderung eines Kanals mit höherer Priorität an einen anderen Logikspeicher noch nicht verarbeitet worden Ist
Für den Fall, daß alle mit Anforderungen angefüllte Puffer aus den beiden vorerwähnten Gründen nicht In der Lage sind. Zugriff auf d.'e gewf-ischten Logikspeicher auszuüben, kann keine andere Anforderung eines Kanals von der Spelchersteuerelnhe't akzeptiert werden Dadurch wird der Zugriff eines Kanals auf nichtbelegte Speichereinheiten unnötig verzögert, und die Spelcher-Steuereinheit-Puffer werden länger als notwendig zum Nachteil der Kanäle mit niedrigerer Priorität unnütz belegt Eine Vergrößerung der Anzahl der gemeinsam benutzten Spelchersteuerelnhelt-Kanalpuffer Ist nur für die Kanäle mit höherer Priorität von Vorteil, da sie Ihnen größere Puffermöglichkeit bringt, aas Wettstreltproblem der Kanäle mit niedrigerer Priorität wird dadurch jedoch nicht gelöst
In der US Patentschrift 32 31 862 Ist bereits eine Speichersteuerelnhelt für einen überlappt arbeitenden Speieher beschrieben. In der jedoch für jeden Kanal separate Pufferspeicher vorgesehen sind, welches einen relativ hohen Aufwand bedeutet
Durch die DF-AS 15 24 181 Ist eine Auswahlschaltung für Ein- und Ausgabegeräte einer Datenverarheitungsanlage bekannt geworden, bei der die zeltl ehe Reihenfolge der Anforderungssignale bei der Auswahl der Fin- und Ausgabe berücksichtigt wird. Sie Ist dadurch gekennzeichnet, daß zur Auswahl eines der Anfordemngsslgnale sendenden Ein- und Ausgabegeräte Adressenwahlvor-
6S richtungen mit Zwischenspeichern vorhanden sind, deren Anzahl mit der Anzahl der die Adressertzlffern führenden Leitungen der Ein- und Ausgabegeräte übereinstimmt. Dabei sind die Adressen-Auswahlvorrlchtun-
gen mit Adressenzlffernausgabe- und mn Adressenziffernelngabe-Leltungen bestimmter Ordnung jeweils eines Ein- und Ausgabegerätes verbunden Ein Zahler oder ein Schieberegister fühlt die Adressenauswahlvorrlchtungen In einer festgelegten Reihenfolge ab, wodurch die Adressenziffern der anfordernden Ein- und Ausgabegeräte In den Zwischenspeichern der Adressenauswahlvorrlchtungen zwischengespeichert und nach einem festgelegten Vorrangverhältnls geordnet werden, bis die Abfühlung aller Adresspr.auswahlvorrlchtungen beendet und damit die volle Adresse eines Ein- und Ausgabegerätes gebildet Ist, die dann an dem entsprechenden Ein- und Ausgabegerät anliegt und dort ein Freigabesignal erzeugt. Dieses System eignet sich besonders für eine hohe Anzahl \on Ein- und Ausgabegeräien, wobei die Anzahl der Steckkontakte und der Leitungen das Hauptproblem darstellen. Die Bildung der Adressen erfolgt durch Zusammensetzen, d. h. durch Abfühlen mit Hilfe eines. Zählers oder Schieberegisters der Adressenauswahlvorrlchtungen Diese Operatlnnsfolge bedingt jedoch einen relativ großen Zeltaufwand. Sie Ist deshalb nicht geeignet, wenn es darum geh!, Kanäle, die eine sehr hohe Fin- und Ausgabegeschwindigkeit haben mit der Zentra :lnhelt bzw. deren Speicher, zu verbinden. Die Anforderungssignale würden hler auf diese serielle Art und Welse viel zu langsam verarbeitet
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine verbesserte Speichersteuereinheit mit einem vereinfachten Puffersystern für die Pufferung von Anforderungen der Eingabe- und Ausgabekanäle an den Hauptspeicher zu schaffen, die In der Lage Ist, gleichzeitig einlaufende Anforderungen unter Berücksichtigung der Priorität sehr schnell zu bedienen, ohne daß jeder Kanal eln».n kompletten Pufferspeicher aufweisen muß.
Gelöst wird diese Aufgabe gemäß Kennzeichen des Patentanspruchs 1
Gemäß einer Weiterbildung der Erfindung wird die Priorität jeweils einem und nur einem Kanal zugeordnet, der dann eine gemeinsame Sammelleitung belegt und die Daten und Adressen In die Puffer überträgt
Jedem "anal 1st eine vorbestimmte Anziihl Datenpuffer speziell zugeordnet und eine Steuerschaltung steuert die Aufeinanderfolge des Einschreiben in diese Kanaldatenpuffer so. daß In die Kanaldatenpuffer sofort dann eingeschrieben wird, wenn sie für den Kanal verfügbar sind
Schließlich sind die Kanaldaten(,uffer In solche Tür die Dateneingabe und solche für die Datenausgabe aufgeteilt, und die Steuerschaltung bildet beim Auslesen von Daten aus dem Kanalausgangsdatenpuffer In die Kanäle und beim Einlesen von Ai./orderungen aus den Kanälen in dl£ Kanaleingangsdatenpuffer die gleiche Folge bei
Damit wird auf elnfaciie Welse unter Vermeidung der eingangs erwähnten Nachtelle der Vorteil einer hohen Systemleistung erzielt. Indem die Eingaoe-/Ausgabegeschwindigkeiten eines relativ langsamen Hauptspeichers maximlert sind
Die Erfindung wird anhand der Zeichnungen Im einzelnen erläutert Es /eigen
FIg I ein Blockdiagramm eines Rechnersystems. In welchem die Erfindung enthalten Ist.
Fig. 2 ein Blockdiagramm der zugeordneten Puffer,
Flg. 3 ein Blockdiagramm der Puffer-Ellngangs- und -Ausganßssteuerungon,
Flg. 4 ein logisches Schaltbild einer Steuerung der Reihenfolge von Laden und Entladen der Kanalpuffer der Flg. 2,
Fig. 5A und 5B ruammen ein Schaltbild einer mit der vorliegenden Erfindung zu verwendenden Prlorltältsschaliung und
FIg 6A bis 6E ein Ablaufdiagramm der Steuerung für die In obigen Figuren beschriebene Erfindung.
FIg 1 zeigt ein Datenverarbeitungssystem, In welchem die Erfindung enthalten Ist und das eine Speichersteuereinheit 10 umfaßt, die mit den Kanälen 11 und 12 über eine Flngangssammelleltung 14 und eine Ausgangjsammelleltung 16 für Kanaladressen und Daten verbunden 1st, und eine zentrale Verarbeitungseinheit (CPU) 18 sowie einen überlappt arbeitenden Hauptspeicher 20. Die Speichersteuereinheit umfaßt eine Kanalprloritäts-Elngangsleltungsschaltung 22, die einem der beiden Kanäle 11 und 12 Zugriff zur Eingangssammelleltung 14 gewährt; mehrere Kanal-Eingangsdatenpuffer 24, 26, 28, 30. eine Spelcherprlorltätsschaltung 32 zur Organisation von Speicheranforderungen In logischen Warteschlangen für jeden der Logikwartespeicher 0 bis 3 des Hauptspeichers 20; einen Kanal-Ausgangsdatenpuffer 34 zur Pufferung der Daten für die Kanäle 11 und 12 und eine Kans!- Ausgangsleitungspriorltätsschaltup? 36, die Zugriff zur gemeinsamen Ausgangssammelleiii'ng 16 gewährt.
Die E/A-Kanä!e 11 und 12 stehen mit der Speichersteuereinheit 10 (jtorage Control Unit SCU) über die gemeinsam benutzten Sammelleitungen 14 und 16 In Verbindung Außer den gemeinsam benutzten Hauptleitungen für den Informationsfluß sind Kanal-SCU-Steuerleltungen als Schnittstelle zwischen den Kanälen und der Speichersteuereinheit vorgesehen. Dazu gehören Kanalanforderungsleltungen 40, 42, Kanalantwortleitungen 44 und 46 und die Kanalfonschaltleltungen 48 und 50 Andere Steuerleltungen sind In einem solchen System natürlich auch erforderlich, sie sind hler jedoch nicht näher beschrieben.
I'm Zugriff zum Hauptspeicher 20 zu erhalten, hebt einer der Kanäle 11 und 12 den Pegel der Kanalanfotderungsleitung 40 an Die Kanalprlorltätseingangs-Leitungsschaltung 22 reagiert auf das Anforderungssignal und gibt dem Kanal mit der höchsten Priorität Zugriff zur gemeinsamen Dateneingangsleitung 14, während alle anderen Kanäle mit niedrigerer Priorität ausgeschlossen •verden Die Kanalprlorltätselngangsleitung-Schaltung 22 reagiert auf die Zuweisung der höchsten Priorität an einen Kanal mit unmittelbarem Anheben der Kanalant-
■»5 wortleitungen 45. 46. Der Kanal, weichen die Priorität zugewiesen wurde, setzt dann die gewünschte Speicheradresse und Daten bei einer Übertragung In den Speicher auf die Eingangs-Sammelleitung 14
Adresse. Daten und andere Steuerinformationen werden In einen Puffer gesetzt, der dem Kanal zugeordnet Ist. welchem die Priorität gewährt wurde Die zugeordneten Puffer slnci In FIg I nicht gezeigt, da sie tatsächlich physikalisch organisiert sind Die Puffer 24, 26, 28 un'i 30 sind statt dessen für den Speicher In logischen Pufferwarteschlangen angeordnet dargestellt Diese Umordnung erfn'gt logisch In der Wels»1, In weicher die Speicherprioritätsschaltungen 32 eine' Kanalpufferanforderung für den logischen Speicher 42 die Priorität zuerkennen logische Speicheranforderungen werten gewährt auf de Basis der Priorität nur unter den Kanälen, die um denselben logischen Speicher konkurrieren Die Anforderung wird gewährt, wenn der logische Speicher frei wird, und die entsprechende Leitung 44 wird zu diesem Zweck von der Prioritätsschaltung 32 benutzt.
Wenn eine Kanalanforderung einmal Zugriff zu einem logischen Speicher erhallen hat, werden die Daten vom logischen Puffer (z. B. 24) auf den logischen Speicher (z. B. Loglkspelcher 0) übertragen.
Wenn die Datenübertragung vom Speicher zum Kanal erfolgt, werden die Im logischen Speicher gespeicherten angeforderten Daten auf den Kanalpuffer 34 übertragen, der die Ausgangsdaten puffert. Die Reihenfolge der an den zugeordneten Puffern empfangenen Anforderungen wird durch eine einzige In Flg. 4 gezeigte Pufferein-/ -ausgangs-Steuerung aufrechterhalten, der die Kanalausgangsdatenpuffer 34 In derselben Reihenfolge entlädt. In welcher die Anforderungen vom jeweiligen Kanal empfangen wurden. Der Ausgang vom Kanalausgangsdatenpuffer 34 wird durch die Kanal-Ausgangsleltungs-Prlorltätsschaltung 36 gesteuert
Jedem Kanal sind zwei als Puffergruppe bezeichnete Puffer 0 und 1 zugeordnet Der Puffer Ist In einen Datenelngabetell und einen Dalenausgabetell unterteilt Der Dateneingabeteil speichert Im Speicher zu speichernde Daten und Adreßlnformatlonen zusammen mit Steuerinformationen Der Datenausgabetell speichert aus dem Speicher geiesene Daten und enispretnenue Sicucisignale Somit Ist jedem Kanal eine Puffergruppe zugeordnet, die aus zwei Abschnitten In den Kanalelngangspuffern und zwei entsprechenden Abschnitten In den Kanalausgangspuffern besteht. Bei mehreren Abschnitten kann die Speichersteuereinheit mehrere Anforderungen von jedem einzelnen Kanal annehmen.
Eine Folgesteuerung Ist vorgesehen, um die vier jedem Kanal zugeordneten Pufferabschnitte zu steuern, d. h die jeweils zwei Pufferabschnitte pro Kanal für die Eingabe und zwei für die Ausgabe Der Monitor leitet die Eingabe von Anforderungen auf zugeordnete Pufferabschnitte, sobald diese verfügbar werden, verhindert jedoch ein Überlaufen der zugeordneten Puffer durch die Kanäle, wenn beide Abschnitte voll sind Der Folgemonitor stellt sicher, daß ein Kanal Speicherinformationen In derselben Reihenfolge empfängt. In denen der Kanal die Anforderungen abgegeben hat
KanalpufferfFlg ?)
Jedem Kanal Ist eine Puffergruppe zugeordnet Jede Puffergruppe Ist In die beiden Abschnitte 0 und 1 unterteilt In Flg 2 Ist ζ B dem Kanal 1 die Puffergruppe 1 ml', den Abschnitten 0 und 1 sowohl Im Dateneingangsteil 50 als auch Im Datenausgangsteil 52 zugeordnet. Die Kanaldatenelngangsleltung 54 ist 9 Bytes groß (8 Bits pro Byte) und enthält 8 Paritätsbits. Die gemeinsame Kanaladreß-Fingangsleltung 56 speist den Adreßpuffer 58. den Markenteil 60 und den Schlosselteil 62.
Ein Quellen-Abnehmer-Register (Q/A) 64 Ist vorgesehen und nachfolgend näher beschrieben. Kurz gesagt wird dieses Register benutzt für die Kanalpufferbezelchnung der Datet.^nforderungen zu und vom Loglkspelcher.
Der Datenausgangsteil des Puffers 52 Ist auch 9 Bytes groß und puffert die Ausgangsdaten für die Kanalausgangsleltung 16. Ein Pufferabschnltt 68 tst ebenfalls vorgesehen für das Puffern der Prüfungen vom Speicher für die nachfolgende Übertragung zum Kanal. Die Daten Im Register 70 speisen die Spelcherdatenelngangsleltung (SDBl-Leitung), und das Adreßregister 72 speist die Speicheradreßleltung (SAB). Diese Leitungen speisen den Hauptspeicher 76, der ein überlapptarbeitender Speicher mit den Logikspeichern 0 bis 3 Ist. Daten von den Logikspeichern werden auf eine gemeinsame Spelcherdatenausgangssammelleltung (SDBO) gesetzt, die den Datenausgangsteil 52 speist. Dieser speichert die angeforderten Ausgangsdaten in einem der zugeordneten Pufferabschnitte for die nachfolgende Übertragung auf die Kanalausgangsleltung 16.
ausgangsleltung 16.
Kanalelngangsleltungspriorltät
Die Priorität der Kanaleingangsleitungen wird einem der Kanäle durch die Steuerschaltung 80 In Flg. 3 gewährt. (Diese Schaltung enthält den In Flg. 1 gezeigten Prlorltätsschaltungstell 22.) im gezeigten Ausführungsbelsplel werden nur zwei Kanäle berücksichtigt, und Kanal 1 hat eine höhere Priorität als Kanal 2. Wenn ίο z. B. die Kanalanforderung 40 In die Schaltung für die Kanalelngangsleltung-Pflorltüt 80 gelangt, wird auf der Aniwortlellung 46 für den Kanal 1 diesem die Priorität gewährt, da kein anderer Kanal mit höherer Priorität die Datenleltung anfordert Die Anforderung wird in die Puffer der Gruppe I. Abschnitt 0 In Fl g 2 gesetzt Die nächste Anforderung vom Kanal wird In die Gruppe I. Abschnitt I gesetzt Nachfolgende Anforderungen von demselben Kanal werden Jeweils In den Abschnitt
Speicherpriorität (FIg 5A, 5B)
Die gemeinsame Kanaladreßsammelleltung läuft In einen Decodierer 86 (Flg 3), der die Bits 27 und 28 decodiert Diese Bitpositionen zeigen an, welcher der Logikspeicher 0 bis 3 durch die Im Register 58 (Flg. 2) In dem der Anforderung entsprechenden Pufferabschnllt gespeicherten Adresse zu wählen Ist Finer der Ausgänge (Logti speicher 0 bis 3) des Decodieren 86 wird erregt und bezeichnet einen dieser Logikspeicher
Die Schaltung für die Kanalelngangsleltung-Prlorltät 80 liefert ein Auigangsslgnal. welches dem Kanalpuffer und dem Abschnitt dieses Puffers entspricht, der durch die laufende Anforderung geladen wurde
Der Ausgang 90 des Decodlerers 86 wird In die Im elnzelnen in den Flg 5A und SB gezeigte Spelcherprlorltätsschaltung 89 gebracht. In der Annahme, daß die Leitung 88 erregt Ist. wird eine Verriegelung Im Register 92 (Flg. 5A) eingeschaltet und dadurch der von diesem Kanal angeforderte Logikspeicher angezeigt. Wenn angenommen wird, daß der Logikspeicher 0 durch den Kanal auf der Kanaladreßleltung decodiert wurde, so wird dadurch der Ausgang 94 des Registers 92 erregt. Wenn der Logikspeicher 0 verfügbar wird, wird ein Ausgang 96 (Logikspeicher 0 verfügbar) von der In Fig. 2 gezeigten Logikspeichersteuerung 76 erregt. Wenn der Logikspeicher 0 zur Verfügung steht, wird daher der Ausgang 96 erregt, wodurch das In Flg. 5A gezeigte UND-Glied 98 ein Signa! am Ausgang 100 liefert. Das Ausgangssignal erregt das ODER-Glied 102. dessen Ausgang 103 die gewährte Anforderung 1 bis 0 darstellt, d. h. die im Abschnitt 0 gespeicherte Anforderung des K^nales 1 kann jetzt den Logik-Speicher adressieren.
Das Signal auf der Ausgangsleltung 100 erregt außerdem das ODER-Glied 104 (Flg. 5) zur Erregung des gewählten Ausganges 106 des Logikspeichers 0.
Der gewählte Ausgang 106 des Logikspeichers 0 (siehe Fig. 2) wählt den Logikspeicher Innerhalb der Logikspeichersteuerung 76.
Kanal-Elngangspufferwahl
Wie bereits beschrieben wurde, gibt es ein Signal auf der Ausgangsleltung 103 von der Speicherprloritätsschaltung 89, wenn der Logikspeicher für diese Anforderung höchster Priorität verfügbar wird. Die gewährte Speicheranforderung 1 bis 0, Leitung 103 läuft in die Kanal-Eingangspunerauswahlschaltung 91. Außerdem iaufl in diese Schaltung auch die Leitung 88. Wenn also die Anforderung für den Abschnitt 0 gewährt wird und wenn
Abschnitt 0 geladen Ist. erregt die Schaltung 91 einen entsprechenden Ausgang 93. der den Abschnitt 0 der PuTfergruppe 1 (Flg. 2) wählt. Da durch die Prioritätsschaltungen verschiedene Pufferabschnltie gewählt sind, setzt die Schaltung 91 den Zeiger zum I elten der Informallon In die entsprechenden In Fig. 2 gezeigten Abschnitte Die Daten auf der SDBl werden auf der durch die Adresse auf der SAB verwiesenen Adresse gesichert
Eine Kanalanforderung erhält also durch die Schaltung SO die Priorität und gelangt In die Spelcherprlorllälsschallung 89 Die Anforderung eines LoglKspelchers wird durch diese Schaltung gewährt unter Berücksichtigung der Verfügbarkeit dieses Speichers Wenn die Anforderung einmal gewährt wurde, reagiert die Kanal-Eingangspufferauswahl-Schaltung 91 durch Erregung eines entsprechenden Ausganges 93 zur Wahl des zugehörigen Elngabepufferabschnlttes für die Übertragung zum Speicher
Kanal-Ausgangspuffersteuerung
Besteht die Kanalanforderung für eine Datenübertragung vom Speicher zum Kanal, dann werden die Daten aus dem Logikspeicher 76 (Fig. 2) Im zugehörigen Abschnitt der Puffergruppe Im Datenausgangslell des Kanalpuffers 52 gespeichert Die vom Logikspeicher angeforderten Daten werden auf die Datenausgangsleitung (SDBO) zusammen mit den Quellen-Abnehmerdaten gegeben Die Quellen-Abnehmerdaten gelangen In den Kanalausgangspuffer ID und die Prüfsteuerschaltung 95 (Flg. 3). Die Quellen-Abnehmerdaten bezeichnen die Information und resultieren In einer Ausgabe aus dem Kanalausgangspuffer-Ausgang gültig 1 bis 0. der anzeigt, daß Ausgabedaten Im Abschnitt 0 der Puffergruppe 1 entsprechend der vom Kanal 1 empfangenen Anforderung gespeichert wurden Die Verwendung von Quellen-Abnehmerdaten zur Steuerung von Abruf- und Speicheranforderungen Ist Im EDV-Bereich allgemein bekannt und Im US-Patent 34 62 744 näher beschrieben.
40
Folgemonitor (Flg. 4)
Die Kan?!eingangspuffer 50, 58, 60, 62 und 64 der Flg. 2 sind von den Kanalausgangspuffern 52 unabhängig. Um einen möglichst hohen Wirkungsgrad der Steuerung zu erzielen, sind sowohl die Prüfung einer Kanalanforderungsinformation in die Puffer als auch das Ausgeben des Inhaltes des Kanalausgangspuffers auf den Kanal eine Funktion des In Flg. 4 gezeigten Folgemonitors.
Der Folgemonitor besteht aus einer Abschnltt-O-Belegt-Verriegelung 302 und einer Abschnltt-l -Belegt-Verriegelung 304 sowie einer Relhenfolge-Verriegelungshalteschaltung 306 für jede Kanalpuffergruppe. Somit Ist In dem gezeigten Ausführungsbelsplel die Flg. 4 für Kanal 2 dupliziert. Wenn eine Kanalanforderung einmal Priorität für die Benutzung der Kanaleingangsleitung erhält, wird die Leitung 88 erregt. Dadurch wird ein Ausgangssignal vom UND-Glied 308 hervorgerufen, welches die Belegt-Verriegelung 302 eingeschaltet. Eine Abschnittsbelegtverriegelung bleibt aktiv, bis der Speicher für diese Anforderung umgelaufen Ist. und der ω Kanal wird somit unterrichtet durch Erregung der Kanalfortschaitleitung (Fig. 3). Die drei Verriegelungen 302, 304 und 306 steuern die Reihenfolge, in welcher die Pufferabschnitte der Fig. 2 geladen und entladen werden.
Eine genaue Beschreibung des Zustandes des Folgemonitors unter möglichen Abschnittsbelegungsbedlngungen ist unten gegeben. Für jeden Fall sind die Parameter für das Laden der Kanaleingangspuffer dieselben wie für das Entladen der Kanalausgangspuffer.
Laden der Kanaleingangspuffer
Fall 1
Abschnitt O und Abschnitt 1 frei - Der Folgemonitor leitet die zu ladende Kafiälartforderung In den Abschnitt 0 und erregt dessen Belegtverrlegelung 302. Die Beleglverrlegelung 304 für Abschnitt 1 bleibt ausgeschaltet.
Fall 2
Abschnitt 0 belegt, Abschnitt 1 frei - Der Folgemonllor erkennt die Verfügbarkelt von Abschnitt 1. Die Anforderung wird In Abschnitt 1 geladen und dessen Belegtverrlegelung 304 gesetzt. Die Belegtverrlegelung für Abschnitt 0 und Abschnitt 1 sind jetzt gesetzt.
Fall 3
.-11/3Clmft
tor sperrt diese Kanalanforderung von der Konkurrenz um die Kanalelngangsprlorltät aus.
Fall 4
Abschnitt 0 frei, Abschnitt 1 belegt - Der Foigemonitor lenkt die Kanalanforderung In Abschnitt 0. dessen Belegtverrlegelung wird jedoch nicht erregt, da das UND-Glied 310 abgeschaltet Ist. Statt dessen wird die Reihenfolge-Verriegelung 306 gesetzt (UND-Glied 312 Ist erregt). Die Beleglverrlegelung 304 für Abschnitt 1 1st nicht betroffen.
Fall S
Relhenfolge-Halteverrlegelung ein, Abschnitt 1 belegt Der Folgemonitor nimmt dieselbe Sperrung vor wie Im Fall 3. Nachdem die Reihenfolge des Abschnittes 1 beendet und dessen Belegtverrlegelung über das UND-Glied 302 zurückgestellt ist, wird die Belegtverrlegelung für Abschnitt 0 über das UND-Glied 311 gesetzt und die Relhenfolge-Halteverrlegelung zurückgestellt.
Die in jedem Abschnitt des Kanaleingangspuffers enthaltene Speicheradresse wird decodiert, um den Logikspeicher zu bestimmen, den die Anforderung adressieren will. Jeder Kanalpuffer wetteifert unabhängig um die Speicherpriorität. Die zum Eingeben von Speicherdaten für die Kanalanforderung In den Kanalausgangspufferabschnltt erforderliche Zeit Ist abhängig von einer anderen Kanalüberlagerung, CPU-Überlagerung und dem Überlappen der Speicher. Die Steuerungen zum Laden der Kanalausgangspuffer sind daher unabhängig von den Steuerungen zum Laden der Kanaleingangspuffer.
Ein Kanal-Ausgangspufferabschnitt 0 oder 1 wird als gültig betrachtet während der Zeit vom Eingeben von Informationen aus dem Speicher in den Abschnitt bis zum Ausgeben von Daten in den Kanal aus diesem Pufferabschnitt.
Entladen der Kanal-Ausgangspufferabschnitte
Fall I
Abschnitt 0 und Abschnitt 1 frei - Dieser Parameter gilt nicht für die Ausgabefolge.
Fall 2
Abschnitt 0 belegt. Abschnitt 1 frei - Bei der Gültigkeit von Abschnitt 1 (Ausgangspuffer-Gültigkeit 1 bis 0, Leitung 314) gestattet der Foigemonitor dem Abschnitt 0 um die Priorität für die Benutzung der Kanalausgangslel-
230225/56
Hing zu konkurrieren. Nachdem die Priorität dem Abschnitt 0 zugesprochen und die Daten In den Kanal ausgegeben wurden, wird die Leitung 316 erregt und die Verriegelung des Abschnittes 0 zurückgestellt.
Fall 3
Abschnitt 0 und Abschnitt 1 belegt - Der Folgemonitor weist auf Abschnitt 0. Wenn der Abschnitt 0 einmal gültig gemault Ist, bewirbt er sich direkt um die Priorität Für die Kanalausgangsleitung. Der Abschnitt 1 kann vor oder nach dem Abschnitt 0 gültig gemacht werden. Der Folgemonllor hindert jedoch Abschnitt I am Wettbewerb um die Kanal-Ausgangslellungsprlorltät. bis der Abschnitt 0 seine Übertragung zum Kanal beendet hat und dessen Belegtverriegelung zurückgestellt Ist Nachdem Abschnitt 1 seine Übertragung beendet hat. wird seine Belegtverriegelung ebenfalls zurückgestellt
Fall 4
Relhenfolge-Halteverrlegelung ein. Abschnitt 1 belegt -Die Reihenfolge. In der Abschnitt 0 und Abschnitt I gültig gemacht werden. Ist willkürlich Der Folgemonitor puffert jedoch Abschnitt 0 von der Kanal-Ausgangsleltungsprlorltät, bis Abschnitt I seine Übertragung auf den Kanal beendet hat und dessen Belegtverriegelung zurückgestellt Ist. Nach Rückstellung der Belegtverrlcgelung von Abschnitt 1 wird die Bclegtverrlegelung von Abschnitt 0 erregt und die Relhenfolgehalteverrlegelung zurückgestellt Der Folgemonitor gestattet jetzt der gültig gemachten Anforderung des Abschnittes 1 den Wettbewerb um die Priorität für die Kanalausgangsleltung. Bei Beendigung der Priorität und der Übertragung auf den Kanal wird die Belegtverrlegelung für Abschnitt 0 zurückgestellt.
In den Flg. 6A bis 6E sind die Steuerungen für die Speichersteuereinheit (SCU) der Flg. 1 bis 6 durch ein Ablaufplan beschrieben Die Bezeichnung Ist wie folgt Der Plan bezieht s'ch auf Irgendeinen Kanal n. Dem Kanal η werden Puffergruppen η zugeordnet ν bezeichnet einen Puffergruppenabschnitt 0 oder 1 Ein mit nx bezeichneter Trigger oder auch Verriegelung genannt bezieht sich auf die Puffergruppe n, Abschnitte ν und gibt den Kanalpufferabschnltt an. Wenn ein bestimmter Trigger oder eine Verriegelung einer Puffergruppe gemeinsam lsi. Ist er mit η bezeichnet.
Im Block 200 gibt der Kanal η eine Anforderung ab. die an die SCU gesendet wird und, da sie mit deren Takt »synchron läuft, wird im Block 201 eine Synchronlsattonsverrlegelung gesetzt, der dieser Anforderung zugeordnet wurde. (Die Steuerlogik selbst Ist nicht dargestellt, da sie als allgemein bekannt vorausgesetzt wird.) Die Anforderung wird dann In eine Kanal-Pufferanforderungsverrlegelung 203 gesetzt. Die Entscheidungslogik, Block 204. stellt fest, ob diese Anforderung für den Abschnitt 1 der KanalpufFergruppe η bestimmt Ist. Wenn das der Fall Ist, wird weiter zum Block 205 geschaltet. Im Block 2OS wird darüber entschieden, ob beide Abschnitte des Puffers 1 bis 0 und I bis 1 belegt sind. Wenn das der Fall Ist, kann die Logik nicht fortfahren. Wenn jedoch einer der Pufferabschnitte nicht belegt Ist, bewirbt sich Im Block 207 die Anforderung η um die Elngangsleltungspriorltät.
Wenn Im Block 204 entschieden wurde, daß die Anforderung η nicht Für den Abschnitt 1 der Puffergruppe gilt, läuft die Logik weiter zum Entsche'dungsbiock 206. Wenn diese Anforderung für den Abschnüt ! Ist, wird im Block 206 entschieden, ob et belegt Ist. Wenn das der Fall Ist, wartet die Logik, bis der Abschnitt I frei wird lsi das nicht der Fall, läuft die Logik welter zum Entscheidungsblock 207. die diese Anforderung dann um die Priorität für die Elngabeleltung welteifern läßt Wenn die Logik einmal eine Anfor-' derung für die F.lngabeleltung eingeleitet hat. wird durch den Block 208 festgestellt, ob diese Anforderung die höchste Priorität von allen ausstehenden Anforderungen hat Ist das nicht der Fall, bleibt diese Anforderung Im Prioritätswettbewerb, bis sie die höchste Priorität hat
to Wenn diese Anforderung die höchste Priorität hat. läuft sie welter zum Block 209 Wenn Im Entscheidungsblock 209 die F.lngangsleltung-Belegt-Verrlegelung gesetzt Ist. wird die Flngangsleltung momentan von einem anderen Kanal benutzt Wenn Ja. Ist die Flngangsleltung durch einen anderen Kanal belegt, und es muß gewartet werden, bis die F.lngangsleltung nicht mehr belegt Ist Dann wird durch die Tatsache, daß im Block 210 die Adreügültlgkeltsverrlegelung 4 ein Ist. festgestellt, dali die EIngangsleltung nicht mehr belegt Ist Wenn diese Verrlegelung eingeschaltet Ist. Ist die Anforderung, die über die Elngangsleltung bedient wurde, auf der Eingangsleitung durchgeschaltet Es erfolgt die Weiterführung zum Entscheidungsblock 211
Im Block 211 Ist eine Antwortverriegelung nx zu setzen Diese Antwort wird auf den Kanal η gesendet, um diesem anzuzeigen, daß Ihm jetzt die Priorität für die Kanaleingangsleitung zugesprochen wurde und er seine Daten und Adresse auf die Flngabeleltung setzen kann Vom Block 211 erfolgt dann die Fortführung zum Block
212. wo In der SCL' eine Leltungs-Belegt-Verrlegelung gesetzt wird Diese hindert jeden anderen Kanal an der Benutzung der Leitung, bis diese Operation beendet Ist Im Block 213 wird eine Gruppenantwortverrlegelung ν gesetzt Diese Gruppenantwortverrlegelung wird zum Rückstellen des Kanalanforderungs-Synchronlsationstrlggers benutzt, der In der Entscheidung 201 gesetzt wurde Die Kanalpuffer-Anforderungsverrlegelung wird Im Block 215 abgeschaltet. Diese Anforderungsverriegelung wurde In der Entscheidung 203 eingeschaltet. Effektiv
•to hat die Logik diese eine Anforderung verhindert, die vom Kanal empfangen wurde, bevor er erneut In das Prioritätsnetzwerk ging. Im Block 216 wIki das Antwort-Signal an den Kanal η im Pegel angehoben. Im Block 217 antwortet der Kanal auf der Antwortleitung und pulst die Eingangsleltungen und das Adreßgültlgkeltsslgnal. Die Adresse und die Daten werden dann auf die Elngangsleltung gegeben Im Block 218 schaltet die Adreßgültigkeltsleltung vom Kanal das Adreßgültlgkelts-Synchronisatlonsfllpflop zur Synchronisierung mit dem SCU-Taktsystem ein.
Gleichzeitig wird Im Block 219 das Antworterinnerungsflipflop eingeschaltet. Seine Funktion besteht in der Erinnerung daran, an weichen Kanal die Antwort 216 gesendet wurde. Im Block 220 In Fig. 6B wird das im Block 218 gesetzte Adreßgültigkeitsflipflop zur Synchronisation der SCU benutzt, indem die Adreßgültlgkeitsverriegelung A gesetzt wird. Die Adreßgültlgkeitsverriegelung A schaltet in einer relativ zu den SCU-Takten abschätzbaren Zelt ein, wogegen im Block 218 das FHpflop sich zu jeder Zeit im SCU-Taktzyklus einschalten kann.
Bei der Fortsetzung vom Block 220 werden verschiedene Interne Haushaltsaufgaben wahrgenommen. Im Block 221 wenden die Kanaladreßleitungsblts 27 und 28 decodiert, um festzustellen, welcher Logikspeicher ausgewählt ist. Dieser Decodierer ist im Logikdiagrarnni der Fig. 3 gezeigt. Im Block 222 sind Daten. Adresse und Schlüssel und die Marken zu prüfen, die auf der Ein-
ii
gaiigsleltung sind und die diese Daten In den entsprechenden Kanalpufferabschnllt Übertragen Im Block 223 svlrd m!1 einer Prüfung festgestellt, ob Daten auf dar Eingabeleitung Parltatsfehler aufweisen Wenn ParltätsprU-fungen festgestellt werden, wird diese Information In den ' Puffer geladen Gleichzeitig wird das Quellen-/Abnehmerfeld aufgesetzt Die for das Quellen-ZAbnehmerfeld erzeugte Information Ist die Kanalbezeichnung (ID). Derselbe PufferabschnlU. In welchen die Daten geladen werden, hat diese Kanalbezeichnung ID In den ID-Puffer geladen Wenn diese Anforderung durch den Speicher bedient wird, wird die Anforderung über die Quellen-/ Abnehmerbits bezeichnet
Im Block 224 wird die Adreßgültlgkeltsvsrrlegelung A gesetzt, dl- eine Adreßgültlgkeltsverfiegelung B am '& Block 215 speist und auch die Kanalpuffer-Belegt-Verrlegelung 226 Im Folgemonitor (FIg 4) setzt Die Adreßgültigkeltsverrlegelung B Ist bloß eine In den Steuerungen benutzte Leliungsverkettung. um die richtige Zeltfolge auFrerr.tzuerhalten
Fortschreiten zum Entscheidungsblock 227: Ist Adreßgültlgkeltsverrlegelung B ein und Trigger A aus' Dieses Ist eine Interne Zeil steuerung, welche bei Ja die Logik veranlaßt, die Erlnnerungsantwort-Verrlegelung 228 zurückzustellen Die Erlnnerungsantwort-Verrlegelung wurde Im Block 219 (Fig 6A) eingeschaltet. Gleichzeitig mit der Ausführung der In den Block 221, 222, 223. 224 gezeigten Funktionen stellen die Steuerungen im Block 229 die Antwortverriegelung zurück und schalten dadurch die Antwortleitung 230 zum Kanal ab. Dann wird die Gruppenantwort-Verriegelung 231 zurückgestellt Nach der Rückstellung dieser Verriegelung Im Entscheldungsblock 232 wird festgestellt, ob eine andere Antwortverrlegelung eingeschaltet wurde Wenn keine andere Antwortverrlegelung eingeschaltet Ist. wird die Elngangsleltungs-Belegungsverrlegelung 233 zurückgestellt und jedem Kanal Zugriff zur Leitung gewährt, der diesen Zugriff wünscht Wenn eine Antwortverrlegelung eingeschaltet Ist. Ist die Leitungsbelegtverriegelung nicht zurückzustellen Diese Bedingung Hegt vor, wenn eine andere Anforderung auf Antwort wartet und sobald der Kanal η die Antwort fallen ließ, schaltet ein anderer Kanal die Antwortverrlegelung wieder ein. Daher braucht die Leltungsbelegungsverrlegelung nicht ausgeschaltet zu werden, da die Eingangsleitung direkt wieder « belegt Ist.
Im Block 221 In Flg. 6B werden die Adreßbus 27 und 28 decodiert, um festzustellen, welcher Logikspeicher durch die Kanalanforderung gewählt ist. Fortführung zum Entscheldungsblock 234: Ist der angeforderte Logikspeicher belegt? Ist er belegt, wird gewartet bis er frei wird. Wenn er nicht belegt 1st. wird weitergegangen zum Entscheldungsblock 235. Dieses Ist die Speicherpriorität 19, Flg. 3. Liegt noch eine andere Kanalpufferanforderung Im Wettbewerb um diesen Logikspeicher mit einer höheren Priorität als unsere Anforderung vor? Wenn eine Anforderung mit höherer Priorität vorliegt, geht die Logik In einer Schleife zurück zum Block 234. Wenn jedoch keine andere Anforderung vorliegt oder die ausstehenden Anforderungen von niedrigerer Priorität sind als die Anforderung n, dann wird zum Block 236 (Einfrieren) weitergegangen. Das Einfrieren Ist eine Funktion, die während der Zeit erzeugt wird, in welcher der Speicher Daten an die SCU sendet. Ein Hochgeschwindigkeitspuffer kann mit der vorliegenden Erfindung verwendet werden. Dieser wurde nicht im Ausführar.gsbeisplel dargestellt. Wenn ein Hochgeschwindigkeitspuffer vorhanden ist, gibt es eine gemeinsame Leitung, die zwischen den Kanälen und dem Hauptspelcher-Dateiiausgangsreglster geteilt wird Wenn der Kanal Daten In diesen Hochgeschwlndlgkeltspuffer sendet, so geschieht das über die gemeinsame leitung Nur ein Kanal kann Daten auf die Leitung geben, sonst erfolgt eine ODER-Ver knüpfung der zwei Datensätze Da elr Spelcnerzyklus nicht gestoppt werden kann, wen.· er einmal begonnen hat. gelangen Speicherdaten auf die Sammelleitung und der Kanal wird durch das Einfrleren daran gehindert, seine Daten auf die Sammelleitung auszugeben, bis der Speicher seine Benutzung der Sammelleitung beendet hat Wenn die Elnfrlerleltung einmal abgeschaltet wurde, dann wird mit der Behandlung der Logikspeicher fortgefahren
Im Block 237, werden Kanaladresse, Marken und Quelle/Abnehmer-Informatlonen vom Eingangspuffer auf die Spelcherdatenelngangsleltung (SDBI) gegeben Gleichzeitig wird Im Block 238 die CPU für die Wahl dieses jeweiligen Logikspeichers gesperrt. Die CPU hat separate Prlorltätsschaltungen (In Flg. i DiS 5 nicht gezeigt) für andere als die Kanalspeicher. Da der Kanal eine höhere Pilorltät hat. wird eine Leitung zur CPU-Prlorltätssihaltung geschaltet, die die CPU am Wählen dieser Logikspelchereinhelt hindert, wenn der Kanal einmal eine Logikspeichereinheit gewählt hat. Dann w!rd eine Loglkspelcher-Belegtverrlegelung für den gewählten Speicher (m) gesetzt Diese Spelcherbelegtverrlegelung wird im Block 239 gesetzt. Die Funktion dieser Spelcherbelegtverrlegelung besteht darin, einen anderen Kanal oder die CPU daran zu hindern, diese Loglkspeicherelnhelt zu wählen
Während desselben Zeitintervall. In dem die Logik die Blöcki: 237 und 238 ausführt, führt sie auch den Block 240 aus Im Block 240 setzt die Logik die Spelcherprlorltätsvfrrlegelung für den jeweiligen Pufferabschnitt Mit dieser Verriegelung wird die Anforderung an den Logikspeicher zurückgestellt, die ursprünglich Im Block 221 eingeschaltet wurde. Diese Rückstellfunktion wird im Block ;141 vorgenommen.
Als nächstes wird Im 3lock 242 eine Speicherprlorltätsverrlegelung gesetzt. Mit dieser wird der Pufterabschnltt (x) gewählt, der der Anforderung entspricht, und die Daten werden ausgegeben und für diese Operation in den Speicher ttbertragen. Das geschieht Im Bio· '>· 243. Wie oben beschrieben wurde, werden Im Block 237 die Adresse, die Marken und die Quelle/Abnehmer-Informationen in den Speicher übertragen. Zu diesem Zeltpunkt senden die Steuerungen keine Daten. Es besteht ein zeitlicher Unterschied zwischen dem Zeltpunkt, an welchem Daten gesendet werden, und dem 7eltpunkt, an welcher die andere Steuerinformation gesendet wird. Zu diesem Zeltpunkt befindet sich die Logik in dem Im Block 244 gezeigten Speicherzyklus. Nach Beendigung des Speicherzyklus wird im Block 245 die Spelcherbelegtverrlegelung zurückgestellt. Die Rückstellung gestattet entweder einem anderen Kanal oder der CPU den Zugriff zu dieser speziellen Logikspeichereinheit fm).
In Fig. 6E wird die Ausgabereihenfolge des Kanalpuffer-Steuerbereiches beschrieben. Block 246 untersucht die Quelle-/ Abnehmer-ID-Bits und die von der Speichereinheit empfangenen Speicherdatenausgabsfortschaltung (SDD). Dann wird Im Block 247 festgestellt, ob diese spezielle iipelcheroperatlon für den Kanal oder für die CPU im Block 247 ist. Wenn das Quelle-/Abnehmerbit 7 ein ist, heißt das, daß die gerade empfangene Fortschaltung für aine CPU-Qperatior. ist und wird dann, nicht berücksichtigt. Wenn das Quelle-/Abnehmerbit 7 ausgeschaltet ist, dann wird im Block 248 das Quelle-/Abneh-
merblt decodlert. um festzustellen, für welchen Kanalpufferabschnitt diese Anforderung gelten soll. Da die vom Speicher empfangene Fortschaltung In der SCL1 zwei Zyklen vor den Daten ankommt, wird sie über einen Block 249 für zwei Zyklen verzögert und damit die ϊ In der SC LJ ankommenden Daten geprüft. Gleichzeitig mit der Verzögerung untersucht der Block 250 die vom Speicher empfangenen Quellen-/Abnehmerbits auf Irgendwelche Prüfungen, die während dieser Operation testgestelit wurden
Im Block 251 wird ein Kanalausgangspuffer-COB-Anforderungstrigger für diese spezielle Anforderung gesetzt. Jedem Pufferabschnlti ist ein Kanalausgangspuffer-Anforderungstrigger zugeordnet. Dann folgt der Plock 252. welcher feststellt, wohin der Ausgabepuffer- ü zeigei (Flg. 2) zeigt. Der Ausgangsleitungszeiger Ist eine Funktion des Folgemonitors und stellt effektiv fest, ob die Anforderung für den Kanal η als erste bei der SCL' empfangen wurde. Der Zuerst-Ein-Zuerst-Aus-Folgemonitor (FIFO-Monitor) ist In Flg. 4 des Datenflusses gezelgi Wenn der Folgemonlior anzeigt, daß diese r\niuiunu-iE «na «.θα in u^i jv W erripiurigeii v.urGe. dann wird weiter zum Block 256 gegangen. Um ein Überlauten der Ausgabereihenfolge zu verhindern, vernlndert die anschließend beschriebene Schaltung (Block 273, 2=> Fig 6F) das Setzen der Ausgabeleitung-Anforderungsverriegelungen Wenn der Ausgang des Blockes 256 Ja Ist. wird diese Anforderung nicht welterlaufen, sondern wartet, bis die Ausgangsleltung nicht mehr belegt ist Wenn die Ausgangsleltung nicht mehr belegt Ist. wird jo zum Funktlonsblock 257 weitergegangen Die Kanalpuffergruppen-Anforderungsverrlegelung wird gesetzt. Dieses ist die Anforderung, die um die Priorität für die Ausgangsleltung wetteifert Block 258 zeigt die Ausgangsleltungspriorltät Wenn die Kanalpuffergruppe η nicht die is höchste Priorität hat, muß sie warten und die Gruppe mit der höchsten Priorität vorlassen Wenn sie die höchste Priorität hat. was Im F.nischeldungsblock 259 festgestellt wurde, dann wird der KanalpuffergruppenausgangsleltunkjsPrlorltätstrlgger entsprechend Block 260 gesetzt Dicker zeigt Im eingeschalteten Zustand an. daß diese Gruppe η Priorität für die Ausgangsleltung erhalten hat
Wenn Block 260 eingeschaltet Ist. wird die Fortschaltung zum Kanal η (Block 261) Im Pegel angehoben Das unterrichtet den Kanal, daß Daten auf der Kanalaus· 4"· ganüsleitung warten Gleichzeitig mit der Pegelanhebung der fortschaltung wird die Ausgangsleitungs-Prlorltäts· verriegelung 262 gesetzt Diese Ausgangsleltungs-Prlorlt.itsverrlegelting wird in den internen Steuerungen bcnul/t ■"
Dann folgt Block 263 In Flg 6F, der die KanalausganHsputfcr-I eseanforderung einschaltet Im Block 266 wird I :stt>cstellt. ob die Daten vom Kanalausgangspuffer Abschnitt I oder vom Abschnitt 0 zugeführt werden Das kann durch einen Blick auf den Ausgangsleltungszelger v. erkannt werden Wenn der Ausgangsleltungszelger 0 ein Ist. wird weiter zum Block 264 gegangen, der die Kanal pullcrahsihnltt (I-Daten In den Kanal leitet Im Block 26S werden alle Prüfungen, die zu dieser Anforderung gehören, η den Kanal übertragen Diese Prüfungen sind w> Im Nusgahepufter für den Abschnitt Π gespeichert Wenn der Entscheldungsblock 266 auf Abschnitt I zeigt, werden die Daten vom Abschnitt 1 des Kanales n, gezeigt Im Block 267, ausgegeben. Die zu dieser Anforderung gehö* renden Prüfungen, die Im Abschnitt 1 des Ausgabepuffers stehen, werden ebenfalls In den Kanal übertragen (Block 268).
An diesem Punkt sind alle Daten und Prüfungen In den Kanal übertragen worden Dann folgt Block 269. der die Kanalausgangspuffer-Rückstellkette einleitet Diese Kette besieht aus einer Reihe von Triggern und Verriegelungen, die zum Rückstellen .\-r verschiedenen Anforderungen und Steuerleitungen benutzt wurden, die früher in der Reihenfolge eingeschaltet wurden. Der erste ausgeschaltete Trigger Ist der Kanalausgangsleitungs-Anforderungstrlgger (Block 270) Das Einschalten des Kanalausgangspuffer-Anforderungstrlggers wurde Im Funktlonsblock 251 in Flg 6D gezeigt.
Während desselben Zeitintervall werden drei Funktionen zurückgestellt, diese sind die Blocks 271, 272 und 273 Im Block 271 wird die Kanalpuffer-Gruppe-n-Anforderungsverrlegelung zurückgestellt Mit dieser Anforderungsverrtegelung wurde der Wettbewerb um die Priorität In den Prioritätsschaltungen durchgeführt, und sie wurde Im Funktlonsblock 257 in Fig.6D eingeschaltet. Im Block 272 wird die Kanaipuffer-Belegt-Verriegelung zurückgestellt, die Im Funktlonsblock 226 In Flg 6B gesetzt wurde. Diese Belegt-Verriegelungen beziehen sich wieder auf den Folgemonltor gemäß Darstellung In Fig 4 des Datcnablaufs. Irr, Block 273 wird das Setzer, einer Kanalausgangspuffer-Anforderung verhindert. Dadurch wird effektiv eine andere Anforderung an der Überschneidung mit dem Folgemonltor gehindert Diese Verhinderungsfunktion ist die Funktion, die den oben beschriebenen Entscheldungsblock 256 In Flg. 6D bewirkte Nach Beendigung der Funktionen 271, 272 und 273 wird den Block 274 entsprechend dem Ausgangsleitungs-Prlorltätstrlgger zurückgestellt. Dieser Trigger wurde eingeschaltet, wenn der Ausgangsleltung die Priorität zugestanden wurde Dieser Prioritätstrigger wurde Im Funktlonsblock 260 In Flg 6D eingeschaltet
Bei der obigen Beschreibung der Ausgabereihenfolge, Block 264. 265. 267 und 268. wurde gesagt, daß die Daten zu einer bestimmten Zelt und die Prüfungen zu einem späteren Zeltpunkt In den Kanal übertragen wurden. Der Grund hierfür Ist In den Fntscheldungsblocks 275 bis 278 gezeigt Der Fnischeldungshlock 275 zeigt eine Kanalabruloperation (nein) oder eine Speicheroperation (ja) an Wenn der Kanal In den Hauptspeicher einspeichert, werden die In den Kanal übertragenen Daten n'cht von diesem benutzt, und es besteht kein Grund zur Prüfung dieser Daten auf fehlerhafte Parität auf der Ausgabeleitung zum Kanal Wenn der Kanal jedoch Daten vom Hauptspeicher abruft, werden In den Kanal Daten übertragen, die dieser benutzen will Die Prüfschaltungen werden daher eingeschaltet Die Tatsache, daß die Daten geprüft werden, /elgt an. daß die Prüfungen zu einem späteren Zeitpunkt Ubertngen werden müssen, und das ist der Grund IUr die In 264 bis 268 gezeigte Verzögerung Wenn Im I ntscheldunzshlock 275 die f ntscheidung Ja lautet, handelt es skh um eine Spckheropcration Dann folgt Bl<j<J> 278. der e nc Paritätsprüfung verhindert für Kanal ausgangsleltung /um Kanal Wenn Im i ntscheldungs bloc 275 die F ntscheidung icdoch Nein lautet, handelt es sich um eine -\b ulopcrallon Der I iiglkhlock 276 stell lest, oh während dieser \hrul'>;«"Mtlon ein nicht kiirrlglcrbarer fehler Im Speicher lesmestelli wurde Wenn der Speicher einen fehler In den Paten lestsiellte. 'ritt derselbe fehler auch Im Kanalfilter aul. und der Fehler wird nicht In die Kanäle übertragen. Daher werden die Kanüle nicht darüber Informiert, daß In den Kanalpuffem ein Fehler auftrat, wenn der Fehler tatsächlich vom Speicher kam. Wenn ein nicht korrigierbarer Fehler (LJCE) vom Speicher festgestellt wird, werden die In den Kanal übertragenen Daten nicht geprüft. Wenn kein nicht korrigierbarer Fehler vorliegt, geht der Ent-
15
scheldungsblock 276 welter nach 277, der mit einer Prü- I
fung feststellt, ob die In den Kanal übertragenen Daten }
auf der Sammelleitung eine richtige Parität aufweisen.
Die Prüfung der Daten Ist die letzte Funktion, die für die
Anforderung η ausgeführt wird. Damit Ist eine Operation >
durch den Kanalpufferberelch beendet.
Hierzu 11 Blatt Zeichnungen
230 226/56

Claims (4)

Patentansprüche:
1. Speichersteuereinheit zur vereinfachten Pufferung von Anforderungen der Eln-/Ausgabekanüle, deren Priorität mit Hilfe einer Prioritätsschaltung bestimmt wird, an den In bestimmte Adressen- bzw. logische Bereiche aufgegliederten, überlappt arbeitenden Hauptspeicher einer zentralen Verarbeitungseinheit, wobei die Anforderungen In Form von Warteschlangen In einem Ein-ZAusgabepufferspelcher für Kanaladressen und Daten gespeichert werden, gekennzeichnet durch einen jedem Ein-/Ausgabekanal (11, 12) zugeordneten Kanaleingangsdatenpuffer (24, 26, 28, 30), dem jeweils eine Spelcherprioritätsschaltung (32) nachgeschaltet Ist. die In so viele Bereiche unterteilt Ist, wie verschiedene Ein- und Ausgabevorgänge bei den vorhandenen Eln-/Ausgabekanälen (11, 12) möglich sind, durch Reagieren der Spelcherprloritätsschaltung (32) auf eine In den Kanaleingangsdatenpuffern (24, 26, 28, 30) gespeicherte Kanaladresse In ^'.ZT Art, daß die anliegende Anforderung zu einem freien Bereich (0 bis 3) des nachgeschalteten, in logische Bereiche aufgegliederten Hauptspeichers (20) geführt wird, wodurch die Warteschlange für die Anforderungen In mehrere unabhängige Warteschlangen aufgeteilt wird, die jeweils Zugriff zu den verschiedenen logischen Bereichen des Hauptspeichers (20) haben, -Aubel die Kanaleingangsdatenpuffer (24, 26, 28. 30) für die Dateneingabe sowohl Kanaladressen als auch Daten enthalten, wahrend bei der Datenausgabe die Kanaladressen In den Kanaleingangsdatenpuffern (24, 'f., 28. 30) und die Daten In einem Kanalausgangsdatenpuffer (34) /wischengespeichert werden
2 Spelchersteuerelnhel' nach Anspruch !.dadurch gekennzeichnet, daß die Prlorl.dt jeweils einem und nur einem F.ln-/Ausgabekanal (11, 12) zugeordnet wird, der dann eine gemeinsame Sammelleitung (14) belegt und die Kanaladressen Im Falle einer Dateneingabe auch die Daten In die Kanaleingangsdatenpuffer (24. 26. 28. 30) überträgt.
3 .Speichersteuereinheit nach Anspruch 1, dadurch gekennzeichnet, daß icdem FIn-/Ausgabekanal (ti, 12) eine vorbestimmte Anzahl der Kanaleingangsdatenpuffer (24, 26, 28. 30) speziell zugeordnet lsi und daß eine Puffereingangs- bzw Ausgangssteuerung (FIg 3) dafür sorgt, daß In die Kanaleingangsdatenpuffer (24. 26. 28. 30) sofort eingeschrieben wird, wenn sie für einen der Eln-/Ausgabekanäle (U, 12) verfügbar sind
4 SpelchersteuerelnheM nach Anspruch 3. dadurch gekennzeichnet, daß In der von der Spelcherprlorltätsschaltung (32) festgelegten Prioritätsfolge sowohl das Einlesen von Daten von den Eln/Ausgabekanälen (11. 12) über die Kanaleingangsdatenpuffer (24, 26, 28, 301 in die logischen Bereiche des Hauptspeichers (20) als auch das Auslesen von Daten aus den logischen Bereichen des Hauptspeichers (.ZO) über den Kanalausgangsdatenpuffer (34) In die Fln-/Ausgabekanäle (11, 12) erfaßt sind
DE2162806A 1970-12-30 1971-12-17 Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle Expired DE2162806C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10257770A 1970-12-30 1970-12-30

Publications (2)

Publication Number Publication Date
DE2162806A1 DE2162806A1 (de) 1972-07-20
DE2162806C2 true DE2162806C2 (de) 1982-06-24

Family

ID=22290557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2162806A Expired DE2162806C2 (de) 1970-12-30 1971-12-17 Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle

Country Status (5)

Country Link
US (1) US3699530A (de)
JP (1) JPS5118297B1 (de)
DE (1) DE2162806C2 (de)
FR (1) FR2120738A5 (de)
GB (1) GB1312410A (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3924241A (en) * 1971-03-15 1975-12-02 Burroughs Corp Memory cycle initiation in response to the presence of the memory address
US3858183A (en) * 1972-10-30 1974-12-31 Amdahl Corp Data processing system and method therefor
US3828325A (en) * 1973-02-05 1974-08-06 Honeywell Inf Systems Universal interface system using a controller to adapt to any connecting peripheral device
US3831151A (en) * 1973-04-04 1974-08-20 Gte Automatic Electric Lab Inc Sense line processor with priority interrupt arrangement for data processing systems
US3936803A (en) * 1973-11-19 1976-02-03 Amdahl Corporation Data processing system having a common channel unit with circulating fields
FR2253428A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3919483A (en) * 1973-12-26 1975-11-11 Ibm Parallel multiplexed loop interface for data transfer and control between data processing systems and subsystems
IT1002275B (it) * 1973-12-27 1976-05-20 Honeywell Inf Systems Sistema di elaborazione dati a piu canali di ingresso uscita a risorse orientate per livelli di servizio distinti e interrompi bili
US4040026A (en) * 1974-05-08 1977-08-02 Francois Gernelle Channel for exchanging information between a computer and rapid peripheral units
US4028663A (en) * 1974-06-05 1977-06-07 Bell Telephone Laboratories, Incorporated Digital computer arrangement for high speed memory access
US4056845A (en) * 1975-04-25 1977-11-01 Data General Corporation Memory access technique
US4070706A (en) * 1976-09-20 1978-01-24 Sperry Rand Corporation Parallel requestor priority determination and requestor address matching in a cache memory system
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
SE414087B (sv) * 1977-02-28 1980-07-07 Ellemtel Utvecklings Ab Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ...
US4115854A (en) * 1977-03-28 1978-09-19 International Business Machines Corporation Channel bus controller
US4110830A (en) * 1977-07-05 1978-08-29 International Business Machines Corporation Channel storage adapter
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
FR2470412B1 (fr) * 1979-11-19 1986-10-03 Bull Sa Procede et dispositif de comptabilisation et de gestion des evenements asynchrones emis par des appareils peripheriques dans un systeme de traitement de donnees
US4425615A (en) 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
JPS6037938B2 (ja) * 1980-12-29 1985-08-29 富士通株式会社 情報処理装置
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US4410943A (en) * 1981-03-23 1983-10-18 Honeywell Information Systems Inc. Memory delay start apparatus for a queued memory controller
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
DE3140310C1 (de) * 1981-10-10 1983-04-07 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Schaltungsanordnung zur Speicherung von eine Datenverarbeitungseinrichtung weiterzugebenden Daten
US4672543A (en) * 1982-08-31 1987-06-09 Sharp Kabushiki Kaisha Data transmission control apparatus in local network systems
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
JPS59148952A (ja) * 1983-02-14 1984-08-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 優先順位回路
US4682304A (en) * 1983-08-04 1987-07-21 Tektronix, Inc. Asynchronous multiple buffered communications interface having an independent microprocessor for controlling host/peripheral exchanges
US5038277A (en) * 1983-11-07 1991-08-06 Digital Equipment Corporation Adjustable buffer for data communications in a data processing system
US4652993A (en) * 1984-04-02 1987-03-24 Sperry Corporation Multiple output port memory storage module
JPH0628051B2 (ja) * 1986-04-25 1994-04-13 株式会社日立製作所 記憶制御方式
US4803622A (en) * 1987-05-07 1989-02-07 Intel Corporation Programmable I/O sequencer for use in an I/O processor
US5111530A (en) * 1988-11-04 1992-05-05 Sony Corporation Digital audio signal generating apparatus
KR940002905B1 (en) * 1989-12-15 1994-04-07 Ibm Apparatus for conditioning priority arbitration in buffered direct memory addressing
EP0453863A2 (de) * 1990-04-27 1991-10-30 National Semiconductor Corporation Verfahren und Gerät zur Ausführung einer Mediumzugriffssteuerung/Wirtsystemschnittstelle
US5584028A (en) * 1990-05-14 1996-12-10 At&T Global Information Solutions Company Method and device for processing multiple, asynchronous interrupt signals
US5465355A (en) * 1991-09-04 1995-11-07 International Business Machines Corporation Establishing and restoring paths in a data processing I/O system
US5544318A (en) * 1993-04-16 1996-08-06 Accom, Inc., Asynchronous media server request processing system for servicing reprioritizing request from a client determines whether or not to delay executing said reprioritizing request
JP3305042B2 (ja) * 1993-04-23 2002-07-22 キヤノン株式会社 印刷制御装置
GB2277816B (en) * 1993-05-04 1997-09-03 Motorola Inc Data communication system
DE19503022A1 (de) * 1994-04-08 1995-10-12 Hewlett Packard Co Master/Slave-Buskonfiguration für schnelle erweiterbare Speichersysteme
US5701434A (en) * 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
US6141707A (en) * 1998-05-28 2000-10-31 Emc Corporation Input/output request allocation by establishing master command queue among plurality of command queues to receive and store commands, determine logical volume, and forwarding command to determined logical volume
JP5225054B2 (ja) * 2008-12-19 2013-07-03 株式会社東芝 Icカード

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3210733A (en) * 1958-08-18 1965-10-05 Sylvania Electric Prod Data processing system
US3274554A (en) * 1961-02-15 1966-09-20 Burroughs Corp Computer system
US3200380A (en) * 1961-02-16 1965-08-10 Burroughs Corp Data processing system
US3274561A (en) * 1962-11-30 1966-09-20 Burroughs Corp Data processor input/output control system
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US3396372A (en) * 1965-12-29 1968-08-06 Ibm Polling system
US3483522A (en) * 1966-05-26 1969-12-09 Gen Electric Priority apparatus in a computer system
US3482265A (en) * 1966-07-22 1969-12-02 Gen Electric Data processing system including means for awarding priority to requests for communication
US3449724A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory

Also Published As

Publication number Publication date
JPS5118297B1 (de) 1976-06-09
GB1312410A (en) 1973-04-04
DE2162806A1 (de) 1972-07-20
FR2120738A5 (de) 1972-08-18
US3699530A (en) 1972-10-17

Similar Documents

Publication Publication Date Title
DE2162806C2 (de) Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle
DE3300261C2 (de)
DE3300260C2 (de)
DE3224034C2 (de)
DE2828731C2 (de) Adapter
DE2856483C2 (de)
DE2212501C2 (de) Einrichtung zur Übertragung asynchroner, digitaler Signale
DE2913288C2 (de) Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen
DE3785780T2 (de) Verfahren und Schaltungsanordnung zur Taktsynchronisation in einem lokalen Netzwerk mit Bus-Struktur.
DE2230119C2 (de) Einrichtung zur elektronischen Überwachung des Auftretens von Ereignissen innerhalb bestimmter Zeitabschnitte
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE3586872T2 (de) Verfahren zur gleichzeitigen uebertragung isochroner und nichtisochroner daten auf einem lokalen netz.
DE3933361A1 (de) Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus
DE69021213T2 (de) Modulare Pufferspeicherung für ein paketvermitteltes Netzwerk.
DE2901762A1 (de) Datenuebertragungs- und verarbeitungsanlage
DE102014225253A1 (de) Reallokation für eine Systembustransaktionswarteschlange
DE2332734A1 (de) Datenverarbeitungssystem
DE2015971A1 (de) Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden
DE3049774C2 (de)
EP0050305B1 (de) Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung
DE1499206B2 (de) Rechenanlage
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE10145218A1 (de) Verfahren und Vorrichtung zur Zeitbestimmung in einem Bussystem und Bussystem
DE1524111B2 (de) Elektronische Datenverarbeitungsanlage
DE1295595B (de) Verfahren zur UEbertragung von Datennachrichten ueber eine digitale Datenuebertragungsanlage

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee