DE2245269A1 - Datenverarbeitungsanlage mit einer anzahl unabhaengig voneinander arbeitsfaehiger verarbeitungseinheiten - Google Patents

Datenverarbeitungsanlage mit einer anzahl unabhaengig voneinander arbeitsfaehiger verarbeitungseinheiten

Info

Publication number
DE2245269A1
DE2245269A1 DE19722245269 DE2245269A DE2245269A1 DE 2245269 A1 DE2245269 A1 DE 2245269A1 DE 19722245269 DE19722245269 DE 19722245269 DE 2245269 A DE2245269 A DE 2245269A DE 2245269 A1 DE2245269 A1 DE 2245269A1
Authority
DE
Germany
Prior art keywords
data
memory
buffer
buffers
area
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.)
Pending
Application number
DE19722245269
Other languages
English (en)
Inventor
Roger James Llewelyn
James Francis Minshul
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 DE2245269A1 publication Critical patent/DE2245269A1/de
Pending 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Description

Böblingen, 9. August 1972 heb-wk
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10 504
Amtl. Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: UK 970 012
Datenverarbeitungsanlage mit einer Anzahl unabhängig voneinander arbeitsfähiger Verafbeitungseinheiten -
Die vorliegende Erfindung betrifft eine Datenverarbeitungsanlage mit einer Anzahl von unabhängig voneinander arbeitsfähiger Verarbeitungseinheiten, die alle gemeinsam mit einem Datenspeicher verbunden sind zur Übertragung von Daten zwischen den einzelnen Speicherbereichen zur Teilproblemsteuerung. In bestimmten Systemen kann man eine Anzahl Einheiten, die, gesteuert durch ihre eingebauten Steuerschaltungen, in der Lage sind unabhängig voneinander zu arbeiten, zusammenfassen. Das Ausmaß, indem solche Einheiten benutzt werden können, wird durch die Höhe der vertretbaren Kosten solcher Einheiten und ihrer Steuerung bestimmt. Natürlich wird die Verarbeitungsgeschwindigkeit durch die Verwendung solcher Einheiten erhöht, da zwei oder mehr voneinander getrennte Arbeitsgänge gleichzeitig ablaufen können. Ein Gebiet auf dem der Einsatz solcher Einheiten besonders wirkungsvoll ist, ist einmal die Verarbeitung von Daten und die Eingabe und Ausgabe von Daten. Bei solchen Operationen und insbesondere bei Systemen, die zur Verarbeitung großer Datenmengen bei der Eingabe und Ausgabe bestimmt sind, ist es von Vorteil die Aufnahme/Übertragung, den Abruf und die Speicherung von Daten in der Weise zu steuern, daß das Arbeiten der einzelnen Einheiten so wenig als möglich unterbrochen wird.
Um dies zu erreichen, wird eine digitale Datenverarbeitungsanlage vorgeschlagen, die eine Anzahl von Verarbeitungseinheiten enthält, die jede für sich und unabhängig
3008 10/1102
22A 5269
Programme verarbeiten können und die alle an einem gemeinsamen Datenspeicher angeschlossen sind, um Daten zwischen den Einheiten über Pufferspeicherplätze in den Speicher zu übertragen, wobei die Pufferspeicherplätze durch den Inhalt eines Assoziativspeichers definiert sind, daß die einzelnen Speicherbereiche durch den Speicherinhalt eines Assoziativspeichers definiert sind, der in Abhängigkeit von einer Datenanforderund durch eine der Einheiten Pufferspeicheradressen für die Datenübertragung zwischen den Einheiten auswählt.
Vorzugsweise ist die Anordnung dabei so getroffen, daß die Pufferspeicher zu Gruppen zusammengefaßt sind, deren jede ihren eigenen Status besitzt und daß im Assoziativspeicher Statuskennzeichnungen für alle Pufferspeicher gespeichert sind> daß zur Übertragung von Daten in einen Pufferspeicherbereich die Kennzeichnung des betreffenden Pufferspeichers und die entsprechende Speicherung im Assoziativspeicher geändert wird und daß die Verarbeitungseinheiten den Pufferspeichern ihren Status dadurch zuordnen, daß sie die entsprechenden Kennzeichen im Assoziativspeicher ändern und damit den Pufferspeicherinhalt von Speicherbereich zu Speicherbereich Weiterübertragen.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispiels in Verbindung mit den beigefügten Zeichnungen näher beschrieben. Dabei zeigt:
Fig. 1 ein Blockschaltbild einer Ausführungsform der Erfindung,
Fig. 2 ein Blockschaltbild eines Dateneingabe-/Ausgabesystems unter
Verwendung der Erfindung,
Fig. 3 schematisch die Zuordnung von Pufferspeichern im Hauptspeicher
der Fign. 1 und 2 während einer Eingabeoperation,
Fig. 4 schematisch die Zuordnung von Pufferspeichern im Hauptspeicher
der Fign. 1 und 2 während einer Ausgabeoperation,
;iosm ν 11 ο 2
Fig, 5 das Format ^ Pufferstqtusspeichers in Fig. 2 und
Fig, 6 das im Pufferspeicher der Fig. 2 gespeicherte Wortformat.
In Fig. 1 ist eine Datenverarbeitungsanlage dargestellt, die Teil eines größeren Daten' verqrbeitungssystems bilden kann. Wie bereits erwähnt/ ist es erwünscht/ daß die verschiedenen Einheiten in dem System/ gesteuert durch ihre eingebauten Steuereinheiten unabhängig voneinander arbeiten und dies im wesentlichen ohne Programmunterbrechung ausführen, Dies l®ßt sich durch Teilprogrammverarbeitung statt durch zentralisierte Programmverarbeitung erreichen, In Fig. 1 sind eine Anzahl von Verarbeitungseinheiten 1 bis 4 und 6 gezeigt, Jede dieser Einheiten ist eine selbstständige mit eigenen Steuerschaltungen versehene Einheit/ die für sich Datenverarbeitungsoperationen durch-' führen kann. Jede dieser Einheiten-ist für die Datenübertragung von und nach einem Hauptspeicher 5 über Datenleitungen verbunden, Außerdem wird Steuerinformation zwischen den einzelnen Einheiten über Steuerleitungen übertragen. Die Steuerinformation bestimmt im wesentlichen die Datenübertragungswege durch Angabe der von den einzelnen Verarbeitungseinheiten ausgehenden Datenanforderungen. oder aber durch Angabe der Bestimmungsorte für von den Verarbeitungseinheiten übertragene. Daten. Die Daten werden zwischen den Verarbeitungseinheiten über im Speicher 5 befindliche Pufferspeicher übertragen, Diese Pufferspeicher sind durch eine Puffersteuerschaltung nach Art von Speicherketten organisiert, die im vorliegenden Beispiel ein Teil der Verarbeitungseinheiten darstellen/ obwohl dafür auch eine von allen Verarbeitungseinheiten getrennte Einheit benutzt werden könnte. Die Pufferspeichersteuerschaltung speichert kennzeichnende Daten/ die für jeden Teil der Daten zunächst eijnen bestimmten Platz im Speicher 5 angeben und als zweites die Position innerhalb dieser Speicherkette bezeichnen. Bei der Verarbeitung von Daten werden diese in den Pufferspeichern in verschiedenen Bereichen der Speicherkette eingereiht. Die Pufferspeichersteuerschaltung speichert die verschiedenen Kennzeichenmuster der in den Pufferspeichern liegenden Daten sowie Angaben darüber, welche Pufferspeicherplätze zur Aufnahme von Daten gerade frei sind. Die Informationsverarbeitungseinheit innerhalb der Datenverarbeitungseinheit 6 dient der Zuordnung einzelner Eingabe/Ausgabeeinheiten sowie
970 012 30981 9/1102
anderer Einheiten, beispielsweise für die Zuordnung von Plattenspeichern für die Datenspeicherung. Ferner kann diese Informationsverarbeitungseinheit die Gesamtstruktur der Verarbeitung der Daten in dem System organisieren. Diese Struktur ist auf einer anderen Ebene als die Kettenbildung im Pufferspeicher. Im wesentlichen bezieht sich die Verarbeitungsstruktur auf die Anordnung der dem System zugeführten von Benutzem aufgenommenen Daten. Die Informationsverarbeitungseinheit kann außerdem Nachrichteninformation wie z.B. Zeit- und Datumsstempel, Vorläuferdaten für Nachrichtenblocks in die Pufferspeicherketten einfügen, wenn beispielsweise die erfindungsgemäße Schaltung für Datenfernverarbeitung eingesetzt wird. Wie aui Fig. 1 zu ersehen, kann die Informationsverarbeitungseinheit Daten sowohl dem Pufferspeicher als auch den Hauptspeicherabschnitten des Speichers 5 zuführen. Die Nachrichteninformation wird, wie bereits erwähnt, den Pufferspeichern zugeführt und die gesamte Warteschlangenstruktur wird durch Zeiger im Hauptspeicher bestimmt.
Die Anlage nach Fig. 1 kann mit der Zentraleinheit eines größeren Systems verbunden sein, von dem sie einen Teil bildet. Diese Verbindung würde über eine der Verarbeitungseinheiten 1 bis 4 hergestellt. In diesem Fall kann die Verarbeitungseinheit 1 beispielsweise eine Kanaleinheit sein, die mit der Zentraleinheit verbunden ist.
Eine besonders bedeutsame Anwendung der erfindungsgemäßen Schaltung liegt auf dem Bereich der Dateneingabe und -ausgabe, insbesondere bei Eingabe und Ausgabe großer Datenmengen. Selbstverständlich läßt sich die Erfindung auch in anderen Datenverarbeitungsanlagen anwenden, beispielsweise bei solchen mit Iterativen Berechnungen, bei denen eine große Anzahl von Speicherzugriffen erforderlich ist.
In dem in Fig. 2 gezeigten System ist die Erfindung in einer Anordnung zur Eingabe-/Ausgabesteuerung eingesetzt. Dieses System enthält eine Ablaufsteuerung 10, die mit einem Multiplexer U verbunden ist, der seinerseits wieder mit einer Anzahl von Eingangs-/Ausgangsleitungen verbunden ist. Die Abiaufsteuerung steuert die Abfrage und Adressierung durch den Multiplexer und regelt die Nachrichtenübertragung und Datenübertragung von und nach dem Multiplexer entsprechend den Sende- und Empfangsge-
UK 970 012
309819/1102
schwindigkeiten der einzelnen Eingangs-yAusgangsleitungen. Die -Ablaufsteuerung kann mit jedem Speicher 12 über die Speicher-Adressierung 13, den Plattenspeicher 14, über den Adapter 15 oder mit der Zentraleinheit CPU 16 über die Kanaleinheif 17 für eine Datenübertragung über Pufferspeicher nach dem Speicher in Verbindung treten.
Die Verarbeitungseinheit 18 dient der Zuordnung der einzelnen Einheiten, der Organ isation der gesamten Warfeschlange und der Weitergabe von Nachrichten. Diese Stufe kann außerdem Prioritäten innerhalb der Pufferspeicherketfe steuern oder mit anderen Worten Prioritäten für den Datenfluß zwischen den Pufferspeichern und den Verarbeitungseinheiten zuordnen. Beispielsweise können von der Ablaufsteuerung 10 nach den Pufferspeichern übertragene Daten eine höhere Priorität haben als Daten, die von den Pufferspeichern nach der Ablaufsteuerung ausgegeben werden und beide Dotenarten können dabei eine höhere Priorität haben als die Datenübertragung zwischen den Pufferspeichern und dem Plattenspeicheradapter 15. Diese letztere Funktion kann außerdem durch eine nicht dargestellte Spezialeinheit ausgeführt werden, die den Zugriff zu allen Pufferspeichern gemäß ausgewählten Prioritäten steuert.
Der Pufferstatusspeicher 19 definiert den Inhalf der Speicherbereiche, kennzeichnet Pufferspeicherbereiche und Positionen bestimmter Datengruppen innerhalb von Warteschlangen in Pufferspeicherbereichen. Insbesondere führen die Ablaufsteuerung 10, der Plaffenspeicheradapter 15, die Kanaleinheit 17 und die Verarbeitungseinheit 18 ihre internen Operationen unabhängig voneinander mit Hilfe ihrer eingebauten eigenen Steuersysteme durch. Wenn immer diese Einheiten Daten anfordern oder anzeigen, daß sie Daten zu überfragen wUnschen, wird der Pufferstatusspeicher angesteuert um damit den Pufferspeicher zu bestimmen, von oder nach dem Daten übertragen werden sollen.
Der Pufferbereich im Speicher 12 ist in Bereiche unterteilt. Diese Bereiche sind nicht körperlich voneinander getrennte Teile des Speichers, sondern miteinander zusammengeschaltete Teile des Pufferspeichers, die über den ganzen Speicher verfeilt sind. Die Verschiebung von Daten aus einem Bereich in den anderen wird nicht etwa dadurch erreicht, daß man die Daten körperlich innerhalb des Speichers verschiebt, sondern
UK 970 012 3098 19/1102
Änderung der Pufferspeicherkennzeichen im Pufferstatusspeicher. Mit anderen Worten werden die Daten nicht bewegt sondern neu gekennzeichnet, wenn sie zwischen den einzelnen Bereichen transferiert werden sollen und jeder Bereich wird größer oder kleiner, je nachdem, ob Daten in dem Bereich dazukommen oder ihn verlassen.
Nunmehr werden die einzelnen Bereiche, zunächst die für Eingabeoperationen und dann die fUr Ausgabeoperationen näher beschrieben. Nach der Darstellung wird der Datenfluß durch die einzelnen Bereiche in bezug auf Fig. 3 und 4 beschrieben.
1. Daten-Eingabe
a) Bereich freie Puffer
Dies ist eine Liste von freien Pufferspeichern.
k) Ablaufsteuerung Eingabebereich
Dieser Bereich enthält einen Puffer für jede Eingangs leitung des Multiplexers und dient natürlich zum Zwischenspeichern aufgenommener Daten. Diese Puffer sind entsprechenden Leitungen zugeordnet, deren Leitungsnummern im Pufferstatusspeicher 19 eingespeichert sind.
c) Bereich für Eingabe-Warteschlange Informationsverarbeitungseinheit
Da Daten bei der Eingabe asynchron verarbeitet werden, worden sie vom Eingabebereich der Ablaufsteuerung für die weitere Übertragung einer Kette von Speichern eingereiht.
d) Bereich Informationsverarbeitungseinheit
Dieser Bereich enthält normalerweise einen einzigen Pufferspeicher, in dem aus der Eingabe-Warteschlange entnommene Daten so lange gehalten werden, bis ihr Bestimmungsort durch entsprechende Routinen in den zugeordneten Empfangseinheiten bestimmt ist.
e) Bereich Schreiben/Platte
UK 970 012 3098 19/1102
Dies ist eine Kette von Puffern, die von der Informationsverarbeitungseinheit aufgenommene Daten enthält. Adapter 15 für den Plattenspeicher tastet diese Speicher ab und Überträgt die Daten an die Platte in der bestmöglichen Reihenfolge (d.h. in der Reihenfolge der Sektoren und Spuren auf einer Platte, um die Anzahl derBewegungen der Lese/Schreibköpfe zu verringern). Der Pufferstatusspeicher enthält die Plattenspeicheradresse, an der der Inhalt jedes Puffers eingeschrieben werden soll.
Fig. 3 zeigt den Datenfluß durch die verschiedenen Pufferspeicher während der Eingabeoperation. Hier muß erneut darauf hingewiesen werden, daß bei Übertragung von Puffer nach Puffer die Daten in Wirklichkeit im Speicher am gleichen Platz verbleiben und nur die Kennzeichnung oder Bezeichnung des Puffers geändert wird. Der hier gezeigte Ablauf bezieht sich dabei auf die Übertragung von Eingangsdaten auf eine Platte. Abschnitt α bezeichnet einen freien Puffer, der im Eingabebereich der Ablaufsteuerung b liegt und von einer Eingangsleitung kommende Daten speichert. Die Puffer im Eingabebereich b, von denen nur drei dargestellt sind, von denen jedoch jede beliebige Anzahl vorhanden sein kann bis zur Anzahl der Eingangsleitungen, werden an eine Kette von Puffern im Bereich c übertragen. Von dort gelangen sie in die eigentliche Verarbeitungsstation, d, weil dieser Bereich tatsächlich der Endpuffer des Speicherbereichs c ist. Von dieser Position aus wird der Puffer nach dem Bereich e Schreiben/Platte für die Selektion und Einschreiben der Daten in einen Plattenspeicher übertragen» Hier sollte angemerkt werden, daß innerhalb des Bereichs e die einzelnen Puffer nicht in der Reihenfolge der Kette der Puffer angeordnet sein müssen, da jede beliebige Übertragungsordnung in Richtung Platte aus diesen Puffern ausgewählt werden kann. Nachdem die Inhalte der Puffer in den Plattenspeicher eingespeichert sind, hält der Puffer seinen Inhalt. Dabei ist. eine Entscheidungseinheit g vorgesehen, die bestimmt, ob die Daten erneut in den Plattenspeicher eingespeichert werden sollen oder an einer sonstigen Speicherstelle. Müssen die Daten erneut eingespeichert werden, wird der Puffer an den Eingabebereich c zurückübertragen, wenn nicht, wird der Puffer wieder dem freien Pufferabschnitt α zugeordnet, wo er erneut Daten aufnehmen kann.
970 012 3098 19/1102
2. Ausgabe von Daten
α) Bereich freie Puffer
Dies ist der gleiche Bereich wie für die Dateneingabe.
b) Bereich Lesen/Platte
Dieser Bereich enthält eine Anzahl von Puffern zum Speichern der von der Platteneinheit entnommenen Daten.
c) Bereich für Ausgabe
Diese Puffer bilden eine Kette für aus dem Bereich Lesen/Platte aufgenommene Daten.
d) Bereich Ausgabepuffer
Dieser Puffer enthält Daten von der Ausgabespeicherkette zur Weiterverarbeitung durch Ausgaberoutinen.
e) Bereich Speicherkette Ausgangs leitung
Dieser Bereich enthält wieder eine Anzahl von Pufferspeichern, wobei jeder Speicher Daten vom Bereich Ausgabepuffer enthält und fUr eine bestimmte Ausgangsleitung bestimmt ist.
f) Bereich Ausgangs leitung
Dieser Bereich enthält eine Anzahl von Puffern, deren jeder einer Ausgangsleitung entspricht. Diese Puffer sind die Endpuffer, die benutzt werden, bevor die Daten Übertragen werden.
Fig. 4 zeigt die einzelnen Puffer, durch die die Daten bei einer Ausgabeoperation laufen, wobei hier als Beispiel die Ausgabe von Daten von einer Platte gewählt ist, Hier sei erneut darauf hingewiesen, daß der sogenannte Datenfluß im wesentlichen in einer Umbenennung der einzelnen Puffer besteht.
UK 970 012 309819/1102
Fig. 4 zeigt bei α einen freien Puffer, der in den Bereich b Lesen/Platte überführt wird. Dies wird durch den Plattenadapter 15 durchgeführt (Fig. 2), der Leseanforderungen in den Pufferstatusspeicher 19 (Fig. 2) einspeichert. Wenn die Platteneinheit 14 den entsprechenden Sektor von einer Platte liest, ordnet der Plattenadapter 15 einen freien Puffer zu und überführt ihn in den Bereich Lesen/Platte. Der Pufferstatusspeicher hält dabei die Plattenadresse für die zu lesende Aufzeichnung.-
Daten aus dem Bereich Lesen/Platte werden anschließend in eine Kette von Puffern in den Bereich c überführt. Daten wandern dabei längs der Kette weiter und in den Bereich d für Ausgabepuffer zur Verarbeitung durch die Ausgaberoutinen. Die Ausgaberoutinen übertragen die Daten vom Ausgabepufferberefch d in eine Kette von Puffern im Bereich Ausgangsleitung entsprechend der gewählten Ausgangsleitung, an die die Daten abgegeben werden sollen. Daten gehen längs dieser Kette von Speichern in die Bereiche der Ausgangsleitungen bevor sie übertragen werden, wobei diese Bereiche die Endausgangspuffer enthalten. Nach der Überfragung werden die Ausgangspuffer zur weiteren Verwendung wieder in den Bereich freie Puffer überführt.
Fig. 5 zeigt das Format des Pufferstatusspeichers 19 (Fig. 2). Wie aus dieser Figur zu ersehen, hält der Speicher 512 Worte, deren jedes Markierbifs, Hauptspeicheradresse und Kennzeichenbits enthält. Jedes Wort in diesem Speicher dient zur Bezeichnung des Hauptspeicherpuffers, der durch die Adresse im Adressteil des Wortes bezeichnet ist. Der Pufferstatusspeicher ist ein assoziativer oder inhaltsadressierbarer Speicher, vorzugsweise ein Funktionalspeicher. Dieser letztgenannte Speicher kann durch Bezugnahme auf jedes Bit in einem Wort durch entsprechende Maskierung adressiert werden. Man kann beispielsweise ein bestimmtes Wort dadurch auswählen, daß man Daten dem Kennzeichenbitabschnitt oder einem Teil davon zuführt und damit die Übereinstimmung und somit die Auswahl des übereinstimmenden Wortes bestimmt. Andererseits können die Eingangsadressdaten auch der Hauptspeicheradresse oder den Markierbitabschnitten des Speichers zugeführt werden. Beispiele für Funktionalspeicher mit Adress-Selektion durch Maskieren findet man in den britischen Patentschriften Nr. 1.186.703 und 1.233.484. Fig. 5 zeigt außerdem einen Markierbitabschnitt für einen freien Puffer,
UK970012 309819/1102
dies könnte auch ein Extrawort im Speicher oder einen seperaten Register sein. Der Inhalt des in Fig. 5 dargestellten Speichers zeigt an, daß alle 512 Hauptspeicherpuffer frei sind (dies wird durch die Bitfolge 0000 im Markierbitabschnitt angezeigt) und daß der nächste zu verwendende Puffer die Hauptspeicheradresse 1 hat. Mit anderen Worten liegen alle Puffer im Bereich freie Puffer und können jederzeit Daten aufnehmen, unabhängig davon, ob es Eingangs- oder Ausgangsdaten sind. Wenn ein Puffer aus dem Bereich freie Puffer zugeordnet werden soll/ dann wird der Markierteil durch die Daten im freien Markierabschnitt adressiert, wodurch die Hauptspeicheradresse des ersten verfügbaren Puffers erhalten wird. Anschließend wird der Markierteil des ausgewählten Wortes geändert, um anzuzeigen, daß dieses Wort nicht mehr frei ist und die Markierung der freien Puffer wird um eins erhöht. Wenn ein Puffer in den Bereich freie Puffer zurückkehrt, dann wird die Markierung freie Puffer um eins erhöht und dieser neue Wert wird in den Markierteil in der entsprechenden Position des Statusspeichers eingespeichert.
Fig. 6 zeigt im einzelnen den Inhalt des Pufferstatusspeichers. Im linken Teil der Tabelle sind unter der Überschrift Puffer Status die verschiedenen Bereiche dargestellt. Rechts findet man unter der Überschrift Pufferstatusspeicher die Formate der Daten für die verschiedenen Bereiche. Es sei hier darauf hingewiesen, daß durch Verwendung von Funktionalspeichern mit Masken jedes beliebige ausgewählte Bit für die Adressierung dieses Speichers benutzt werden kann. Beispielsweise können daher Worte im Bereich freie Puffer dadurch adressiert werden, daß der Markierteil und die Bits der laufenden Nummer der freien Puffer angesprochen werden und der Bereich Schreiben/Platte kann adressiert werden durch Bezugnahme auf die Markierbits und die Plattenadressbits.
Die folgende Tabelle zeigt wie die Markierfeldeintragungen benutzt werden.
UK 970 012 3098 19/1102
STATUS
MARKIERFELD ZWECK
Bereich Freie Puffer Freie Puffer Liste laufende Nr.
der Liste Wird zur Identifizierung freier Puffer in Verbindung mit der Markierung freie Puffer benutzt.
Bereich Ablauf- Leitungs-Nr.
Steuerung Eingabe
Identifiziert die Puffer dieses Bereichs im Zusammenhang mit der daran angeschlossenen Leitung.
Informationsverar- Leitungs-Nr. beitungseinheit
E ingabe-Wari esch I ange Die Informationsverarbeitung benötigt die Leitungs-Nr. um die entsprechenden Informationsverarbeitungsroutinen zuzuordnen. Dieses Feld hält die Leitungs-Nr. über alle Bereiche.
Eingahe-Warteschlange
Laufende Nr. Dieses Feld dient der Identifizierung des nächsten Puffers. Es wird in Verbindung mit der hformationsverarbeitung l/P Q PRT bedarfsweise benutzt.
Bereich Informations- Leitungs-Nr. Verarbeitungseinheit
Dient für die lnformationsyerarbei,tung zur Identifizierung eines Puffers mit einer be-BflsTirfifen Gruppe von Informationsverarbeitungsmakros O
Bereich Schreiben/
Platte
Plattenadresse Die Adresse das Sektors, in dem der Inhalt des Puffers eingeschrieben werden soll.
Bereich Schreiben/
Platte
Rückkehr z. Route
Plattenadresse Wie oben, nur mit dem Rückkehr zur Routemakro» Dieser Rückkehrcode ist die Adresse des Routemakro.
Plattenanforderung
Lesen
Plattenadresse Die Adresse des zu lesenden Plattensektors. Die Leitungs-Nr. ist die der Information zugeordneten Leitung. Prioritätssteuerung gestattet das Auslesen nach Prioritätsrang.
Plattenanforderung Freie Liste Freie Puffer laufende Nr.
Dieses Feld dient der Identifizierung des nächsten aus der Liste der freien Worte zuzuteilenden Wortes für die Leseanforderungsliste.
Bereich Lesen/ Plattenadresse
Platte
Die Adresse des auszulesenden Sektors. Diese wird von dem Plattenanforderungswort erhalten.
Informationsverar- Leitungs-Nr. beitung Ausgabe-
Warteschlange
Dadurch kann der Puffer mit einer bestimmten Ausgangsleitung zusammengebracht werden.
Dieses Feld dient der Identifizierung des nächsten in der Kette liegenden Puffers. Es
UK 970 012
309819/1 102
STATUS MARKIERFELD ZWECK
wird In Verbindung mit der' Informations
verarbeitung'" O/P benutzt.
Ausgangs-Leitung Leitungs-Nr. Ordnet .den Puffer einer leitung zu.
309819/1102
UK 970 012
Betrachtet man Fig. 6 und die eben beschriebene Tabelle, so läßt sich die Arbeitsweise beschreiben, wie ein Teil der Eingabedaten von. einer Eingangsleitung nach dem Plattenspeicher übertragen wird. Ein Teil der Daten kann als eine Datenmenge definiert werden, die in einem Puffer im Speicher untergebracht werden kann. Das kann ein Wort sein, doch sind die Puffer normalerweise ausreichend lang um Datenblöcke zu speichern.
Zunächst bearbeitet die Ablaufsteuerung die von einer bestimmten Eingangsleitung aufgenommene Daten und ruft dann einen freien Puffer dadurch auf, daß ein entsprechendes Markiersignal für freie Puffer in der Frei-Liste adressiert wird (vgl. Fig. 5). Die Adresse dieses Puffers wird dann dadurch gefunden, daß der Pufferstatusspeicher mit dem Markierteil freie Puffer und dem Markiersignal 0000 bearbeitet wird. Die Ablaufsteuerung ändert dann das Markiersignal des entsprechenden Pufferstatuswortes
in 0010 und die entsprechenden Markierbits von der laufenden Nr. der freien Puffer in die zugehörige Leitungs-Nr. Unter Verwendung der neuen Markierbits und der Leitungs-Nr. wird der Pufferstatusspeicher adressiert, die so ermittelte Hauptspeicheradresse gelesen und dazu benutzt, die Daten von der Ablaufsteuerung in den Puffer einzufügen, der nunmehr einen Teil des Eingabebereichs der Ablaufsteuerung bildet. Die Daten stehen nunmehr bereit der Informationsverarbeitung zugeführt zu werden, die unter der Steuerung der Informationsverarbeitungseinheit steht. Diese nimmt die Pufferadresse durch Bezugnahme auf die Leitungs-Nr. und die Markierbits 0010 auf. Die Informationsverarbeifungseinheit tastet die Leitungs-Nrn. in einer bestimmten Reihenfolge ab, möglicherweise der laufenden Nummer nach oder aber entsprechend der Häufigkeit der Benutzung der einzelnen Leitungen. Wenn die entsprechende Leitungs-Nr. erreicht ist, ersetzt die Ablaufsteuerung die Markierbits 0010 durch 0100 und fügt die laufende Nr. des Eingabepuffers zusätzlich zur Leitungs-Nr. in die Markierbits ein. Die laufende Nr. des Puffers ist die auf die Zuordnung des vorher ausgewählten Puffers im Informationsverarbeitungsbereich zugeteilte Nummer. Die Informationsverarbeitungseinheit zählt rückwärts gemäß den laufenden Nummern der Eingabepuffer wenn die Daten in der Speicherkette ausgegeben werden. Sobald die laufende Nummer, die einem bestimmten Puffer entspricht, erreicht ist, werden die Mar-
UK970012 30 9819/1102
kierbits in dem entsprechenden Pufferstatuswort geändert in 0110 und die laufende Nr. des Puffers wird gelöscht. Dies bringt den Puffer in den Bereich Informationsverarbeitung, der aus einem einzigen Puffer besteht. Dann Übernimmt der Plattenspeicheradapter diesen Puffer durch Aufsuchen eines 0110 Markiersignals und fügt beim Auffinden dieses Markiersignals-das Markiersignal 1000 in das Markiersignalfeld und die verfügbare Plattenadresse in den Kennzeichenabschnitt ein. Wenn die Platteneinheit Daten aufnehmen kann, wird der Pufferstatusspeicher mittels des 1000 Markiersignals und der Plattenadresse aufgesucht, wodurch die Adresse des Puffers erhalten wird, aus dem die Daten zu entnehmen sind. Anschließend wird das Pufferstatuswort in den Bereich Puffer-RUckkehr durch Einfügen der Markierbits 1010 und eines RUckkehrcodes gebracht. Dieser RUckkehrcode zeigt entweder eine Rücküberführung an den Eingangs-Puffer der Informationsverarbeitungseinheit (Markiersignal 0100) oder an den Bereich freie Puffer (Markiersignal 0000) an.
Die Übertragung von Daten von der Platte nach der Ablaufsteuerung verläuft ähnlich wie eben beschrieben. Sie wird daher nicht im einzelnen dargelegt, da angenommen wird, daß nach Beschreibung der Eingabeoperation das Verfahren sich klar aus Fig. 6 und der oben angegebenen Tabelle ergibt.
Zuletzt soll die Anordnung der Pufferspeicherkette erläutert werden. Diese verwenden eine sogenannte Rundum-Anordnung, bei der die letzte Zahl unmittelbar vor der ersten Zahl kommt. Der Bereich freie Puffer hat, wie oben beschrieben, bis zu 512 Puffer und andere Pufferspeicherketten können jeweils bis zu 256 Puffer enthalten. Bevor zunächst irgendwelche Daten in die Puffer eingegeben werden, enthält der Bereich freie Puffer 512 Puffer, die anderen Bereiche keine. Sobald ein Datenblock von einer Verarbeitungseinheit in einen Pufferbereich gelangt, wird der Bereich freie Puffer entsprechend reduziert und die zugehörige Pufferspeicherkette vergrößert. So beginnt beispielsweise die Pufferspeicherkette fUr die Informationsverarbeitung zunächst mit der laufenden Nr. 1 gefolgt von 2, 3, usw., wenn weitere Puffer dazukommen. Werden Puffer aus dieser Kette herausgenommen, dann werden ihre laufenden Nrn. gelöscht. So können beispielsweise mitten in einer Operation diese laufenden Nummern von
UK 970 012 3098 19/1102
75 bis 100 gehen, was anzeigt, daß insgesamt 26 Puffer in diesem Bereich in Betrieb sind, wobei der mit der laufenden Nr. 75 der erste ist. Nach Zuteilung der laufenden Nr. 256 ist die nächste laufende Nr. 1. Vorausgesetzt also, daß in diesem Bereich zu keiner Zeit mehr als 256 Puffer zugeordnet sind, läßt sich der Bereich ausdehnen oder zusammenziehen und wird immer eine zusammenhängende Nummernfolge aufweisen. Diese Anordnung gilt für alle Bereiche mit Warteschlangen mit Ausnahme des Bereichs freie Puffer, der in ähnlicher Weise aber mit umgekehrter Reihenfolge arbeitet, da er zunächst durch die Markierung 512 adressiert wird und diese Zahl verringert wird, wenn Puffer weggenommen werden.
Zusammenfassend kann gesagt werden, daß die in den Fign. 2 bis 7 dargestellte Anordnung ein Eingabe-/Ausgabesystem zeigt, das Eingabe-/Ausgabeoperationen einschließlich Pufferung von Eingabe-/Ausgabedaten und Speicherung in einem Plattenspeicher durchführen kann. Während dieser Operationen werden die Daten effektiv zwischen den Puffern übertragen ohne daß ihre Position in den Speicher geändert wird. Dies wird durch Verwendung von Könnzeichnungen In einem Pufferstatusspeicher erreicht, die sich auf die einzelnen Puffer in den Bereichen des Speichers beziehen. Um nun Daten zwischen Pufferbereichen zu übertragen, werden nur die Kennzeichnungen im Statusspeicher geändert und bewirken somit den Datenfluß zwischen den einzelnen Bereichen und den diesen jeweils zugeordneten Pufferspeicherketten.
UK 970 012 3098 19/1102

Claims (1)

  1. PATENTANSPRÜCHE
    Datenverarbeitungsanlage mit einer Anzahl von unabhängig voneinander arbeitsfähigen Verarbeitungseinheiten, die alle gemeinsam mit einem Datenspeicher verbunden sind zur Übertragung von Daten zwischen den einzelnen Speicherbereichen, dadurch gekennzeichnet, daß die einzelnen Speicherbereiche durch den Speicherinhalt eines Assoziativspeichers (19) definiert sind, der in Abhängigkeit von einer Datenanforderung durch eine der Einheiten (14) Pufferspeicheradressen für die Datenübertragung zwischen den Einheiten auswählt.
    Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Pufferspeicher zu Gruppen (a, b, c , d, e, in Fig. 3, 4) zusammengefaßt sind, deren jede ihren eigenen Status besitzt und daß im Assoziativspeicher Statuskennzeichnungen für alle Pufferspeicher gespeichert sind.
    Datenverarbeitungsanlage nach Anspruch 1 und 2, dadurch gekennzeichnet, daß zur Übertragung von Daten in einen Pufferspeicherbereich die Kennzeichnung des betreffenden Pufferspeichers und die entsprechende Speicherung im Assoziativspeicher (19) geändert wird.
    Anlage nach Anspruch Γ bis 3, dadurch gekennzeichnet, daß die Verarbeitungseinheiten den Pufferspeichern ihren Status dadurch zuordnen, daß sie die entsprechenden Kennzeichen im Assoziativspeicher ändern und damit den Pufferspeicherinhalt von Speicherbereich zu Speicherbereich weiterübertragen.
    Anlage nach Anspruch 1 bis A1 dadurch gekennzeichnet, daß zur Datenübertragung von einer der Verarbeitungseinheiten nach einem Pufferspeicher diesem Pufferspeicherbereich im Assoziativspeicher ein Statuskennzeichen zugeordnet wird, das der die Daten liefernden Vererbe irungse in -
    012 3098 19/1102
    he it entspricht.
    6. Anlage nach Anspruch 1 bis 5, dadurch gekennzeichnet, daß zur Datenübertragung von einem Pufferspeicher nach einer der Verarbeitungseinheiten diesem Pufferspeicherbereich im Assoziativspeicher ein Statuskennzeichen zugeordnet wird, das der die Daten empfangenden Verarbeitungseinheit entspricht.
    7. Anlage nach Anspruch 1 bis 6, dadurch gekennzeichnet, daß im Assoziativspeicher Kennzeichen gespeichert sind, die die Pufferspeicher mit dem gleichen Status miteinander in Verbindung bringen, wodurch die Pufferspeicher zu Gruppen oder Bereichen zusammengefaßt sind.
    8. Anlage nach Anspruch 1 bis 7, dadurch gekennzeichnet, daß als Assoziativspeicher ein Funktionalspeicher verwendet ist.
    UK 970012 309819/1102
    Leerseite
DE19722245269 1971-11-05 1972-09-15 Datenverarbeitungsanlage mit einer anzahl unabhaengig voneinander arbeitsfaehiger verarbeitungseinheiten Pending DE2245269A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB5153171 1971-11-05

Publications (1)

Publication Number Publication Date
DE2245269A1 true DE2245269A1 (de) 1973-05-10

Family

ID=10460381

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722245269 Pending DE2245269A1 (de) 1971-11-05 1972-09-15 Datenverarbeitungsanlage mit einer anzahl unabhaengig voneinander arbeitsfaehiger verarbeitungseinheiten

Country Status (5)

Country Link
JP (1) JPS4858742A (de)
DE (1) DE2245269A1 (de)
FR (1) FR2159901A5 (de)
GB (1) GB1354155A (de)
IT (1) IT967618B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0014581A2 (de) * 1979-02-05 1980-08-20 Fanuc Ltd. System und Verfahren zur Adressierung von Speichern in Computersystemen
EP0018518A1 (de) * 1979-04-30 1980-11-12 International Business Machines Corporation Pufferspeichervorrichtung und Datenwegkonzentrator mit dieser Pufferspeichervorrichtung

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8103895A (nl) * 1981-08-21 1983-03-16 Philips Nv Inrichting voor het beheren van een tussengeheugen bij een massaal datatransport tussen een broninrichting en een bestemmingsinrichting.
GB2123189B (en) * 1982-06-05 1987-06-10 British Aerospace Communication between computers
GB2170624B (en) * 1982-06-05 1987-06-10 British Aerospace Communication between computers
US4602341A (en) * 1983-09-16 1986-07-22 General Electric Company Shared data logger controller and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0014581A2 (de) * 1979-02-05 1980-08-20 Fanuc Ltd. System und Verfahren zur Adressierung von Speichern in Computersystemen
EP0014581A3 (de) * 1979-02-05 1981-05-06 Fanuc Ltd. System und Verfahren zur Adressierung von Speichern in Computersystemen
EP0018518A1 (de) * 1979-04-30 1980-11-12 International Business Machines Corporation Pufferspeichervorrichtung und Datenwegkonzentrator mit dieser Pufferspeichervorrichtung

Also Published As

Publication number Publication date
FR2159901A5 (de) 1973-06-22
IT967618B (it) 1974-03-11
JPS4858742A (de) 1973-08-17
GB1354155A (en) 1974-06-05

Similar Documents

Publication Publication Date Title
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE2154106C3 (de) Arbeitsspeicherwerk mit zwei Pufferspeichern und zusätzlichem inhaltsadressierten Hilfsspeicher
DE69932874T2 (de) Verfahren und Computersystem zur dynamischen Generationsverwaltung von Rechnerspeicher
DE1956604A1 (de) Datenverarbeitungsanlage mit einem Speichersystem
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2659042A1 (de) Datenbanksystem
DE2226382A1 (de) Datenverarbeitungsanlage
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE2432608C3 (de) Speicheranordnung fur eine Datenverarbeitungseinrichtung
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE1774052B1 (de) Rechner
DE2221442A1 (de) Assoziativspeicher
DE3804261A1 (de) Verfahren und vorrichtung zum aufzeichnen und auslesen von daten
DE2710477C2 (de)
DE1474314A1 (de) Magnetische Aufzeichnungstraeger fuer zyklisch-rotierende Abtastung
DE2245269A1 (de) Datenverarbeitungsanlage mit einer anzahl unabhaengig voneinander arbeitsfaehiger verarbeitungseinheiten
DE2558417A1 (de) Datenverarbeitungssystem
DE1524155B2 (de) Verfahren und schaltungsanordnung zum einspeichern und oder lesen von informationen in einem speichersystem das mit mehre ren verarbeitungsei nrichtungen einer datenverarbeitungsanlage zusammenarbeitet
EP0101938A2 (de) Schaltungsanordnung zum Adressieren eines Plattenspeichers in einer Datensignale verarbeitenden Anlage, insbesondere Fernschreib- und Datenvermittlungsanlage
DE2217565A1 (de) Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet
DE3128794A1 (de) Verfahren zum auffinden und abgrenzen von buchstaben und buchstabengruppen oder woertern in textbereichen einer vorlage, die ausser textbereichen auch graphik-und/oder bildbereiche enthalten kann.
DE2750126A1 (de) Datenverarbeitungssystem mit einem zwischenpufferspeicher

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee