DE2054830C3 - Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge - Google Patents

Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge

Info

Publication number
DE2054830C3
DE2054830C3 DE2054830A DE2054830A DE2054830C3 DE 2054830 C3 DE2054830 C3 DE 2054830C3 DE 2054830 A DE2054830 A DE 2054830A DE 2054830 A DE2054830 A DE 2054830A DE 2054830 C3 DE2054830 C3 DE 2054830C3
Authority
DE
Germany
Prior art keywords
memory
word
field
data
storage
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
DE2054830A
Other languages
English (en)
Other versions
DE2054830B2 (de
DE2054830A1 (de
Inventor
Leroy W. Exton Pa. Beers
John A. Malvern Pa. Moysey
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.)
Unisys Corp
Original Assignee
Burroughs 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 Burroughs Corp filed Critical Burroughs Corp
Publication of DE2054830A1 publication Critical patent/DE2054830A1/de
Publication of DE2054830B2 publication Critical patent/DE2054830B2/de
Application granted granted Critical
Publication of DE2054830C3 publication Critical patent/DE2054830C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

Die Erfindung betrifft eine Informationsverarbeitungsanlage nach dem Oberbegriff des Anspruchs 1.
Ein besonderes Problem bei der Verwendung von Kompilierern für die bekannten Programmiersprachen, z. B. Cobol, Fortran. Algol oder PL/1, besteht darin, daß nicht nur verschiedene Arten von Operatoren, sondern auch verschiedene Befehls- und Datenformate Verwendung finden. Diese Formatunterschiede haben ihren Grund zum Teil in den verschiedenen Speicherorganisa-ίίοπεπ, die für verschiedene Bearbeitungssysteme ausgebildet wurden. Wenn daher das eine System für eine bestimmte Programmiersprache besonders gut geeignet ist, muß es nicht ebensogut für irgendeine andere Sprache geeignet sein.
Aus diesem Gruriu aircui man cmc Spcniici Oi gäiiiää-
tion an, die möglichst strukturfrei ist, also sich an Daten-, Anweisungs- und Befehlssegmente mit einer nahezu unendlichen Vielfalt von Größen anpassen kann, wobei sich dann der weitere Vorteil ergibt, daß man eine größere Datenpackungsdichte erreicht.
Es ist unpraktisch, einen vollständig bitadressierbaren Speicher zu bauen. Speicher sind daher wort- oder byteorientiert (Der Begriff »Byte« wird hierbei generisch im Sinne von »Bitgruppe« — beliebiger Länge — verwendet.) Dies zeigt z. B. die Literaturstelle »Datenverarbeitungsanlage 3003«, Mai 1963, Siemens & Halske AG, S. 10 und 11, bei der sogenannte »Festwörter« (24 Bits) und »Zeichen« (6 Bits) mittels zugeordneter Adressen adressierbar sind. Bei einem solchen wortorganisierten Speicher kann man also an einer gewünschten Zeichen-Speicherstelle speichern oder lesen. Dabei ist jedoch nicht möglich, ein Feld beliebiger Größe zu wählen, das beliebig größer oder kleiner als ein solches »Zeichen« ist und an eiaer beliebigen Bitstelle beginnt, wie das an sich aus den geschilderten Gründen bei Verwendung verschiedener Programmiersprachen sehr wünschenswert wäre, insbesondere, un> die teuren DirektzugrJfsspeicher optimal nutzen zu können.
Aus der DE-OS14 49 531 der Anmeiderin ist es ferner bekannt mittels einer sogenannten »Felddefinitionssilbe« ein Feld aus 1 bis 6 benachbarten 6-Bit-Zdchen in e:nem 48-Bit-Wort zu definieren, und zwar durch das Anfangsbit, die Feldlänge und einen Schiebebetrag. Man vereinfacht bei emer solchen Anordnung zwar die Speicherorganisation, da keine besondere Zeichenadressen erforderlich sind, doch ergeben sich im übrigen durch das festgelegte Format dieser Zeichen dieselben Nachteile wie bei der Anlage nach der vorgenannten Literaturstelle, insbesondere eine schlechte Speicherausnutzung. Außerdem wird hier für den Zugriff zu einem solchen 6-Bit-Zeichen noch zusätzliche Rechenzeit benötigt da zuerst ein Wort aus dem Speicher in den Prozessor gebracht und dann dort bearbeitet werden muß.
Eine Anordnung für lie Verwendung von Feldern variabler Feldlänge (VFL) mit einer maximalen Feldlänge von 64 Bits ist auch von dem sogenannten Stretch-Computer bekannt Die Beschreibung dieser VFL-Anordnung ist über verschiedene Literaturstellen verteilt und zwar sind dies:
A) IRE-Transaction on Electronic Computers. Juni 1959, S. 118 bis 124;
B) Proceedings of the EJCC 1959, S. 48 bis 53;
C) W. Buchholz, Planning a Computer System, McGraw-Hill, New York 1962, S.76 bis 78 und 202, 203.
40 Die dort beschriebene Informationsverarbeitungsanlage weist im Prozessor ein nichtaddrcssierbares CD-Register für zwei Wörter auf, wobei vom äußeren Speicher jeweils ein 64-Bit-Wort in eines dieser Register parallel übertragen wird. Ferner ist im Speicher ein Akkumulator für zwei Wörter A, B vorhanden. Ein gewünschtes Feld, das wie bereits erläutert auf eine Länge von maximal 64 Bits beschränkt ist kann also immer nur höchstens in zwei aufeinanderfolgenden Wörtern enthalten sein. Es wird im VFL-Befehl defifniert durch eine Anfangsadresse, weiche aus einer Wortadresse und einer Bitadresse in diesem Wort besteht sov/ie durch eine Längenangabe. Eine Transistorschaltmatrix selektiert dann entsprechend der im Befehl angegebenen Zeichengröße einzelne Zeichen nacheinander aus dem ge-
dierglied mit einem auf ähnliche Weise selektierten Zeichen aus dem Akkumulator kombiniert Die Einzelheiten sind in der Literaturstelle B) auf Seite 52 in der linken Spalte beschrieben. Die Transistorschaltmatrix erlaubt jeweils die Auswahl von 16 der 128 Bits, die im Akkumulator A, B oder im CD-Register enthalten sind. Sie ist Teil des Rechenwerks. — Es ist klar, daß die beschriebenen Vorgänge eine erhebliche Menge von Speicherzugriffen (die vom Prozessor gesteuert werden müssen) sowie eine erhebliche Zahl von Rechenvorgängen im zentralen Prozessor erfordern und daher insgesamt die Arbeit eines solchen Information?" „-rarbei-
tungssystems verlangsamen. Hinzu kommt die Beschränkung des Feldes auf die Länge eines Wortes, was in vielen Fällen hinderlich ist und die maximale Feldlange hier auf 64 Bits beschränkt
Aufgabe der vorliegenden Erfindung ist es, eine Informationsverarbeitungsanlage der eingangs genannten Art zu schaffen, bei der die Zusammensetzung des zu übertragenden Datenfeldes unabhängig vom Prozessor bzw. Eingabe/Ausgabewerk erfolgt.
Diese Aufgabe wird erfindungsgemäß durch das kennzeichnende Merkmal des Patentanspruchs 1 gelöst
Die den Speicherwerken zugeordneten Zugriffsvorrichtungen befreien den Prozessor bz"'. das Eingabe/ Ausgabewerk nach der Übernahme d&s Steuerwerkes aus dem Prozessor von der Zusamm^nsisik* 9 -ies Datenfeldes.
Eine besonders rasche Arbeitsweise **-."n sich dadurch, daß die Zugriffsvorrichlung e··;. Steuervorrichtung aufweist, der das Steuerwort —.änrbar ist, und daß eine auf die Steuervorrichtu'V ansprechende Adressiervorrichtung vorgesehen ist, άκ. - .vei benachbarte Wortspeicherzellen im Speicher adressiert, von denen die erste den ersten Abschnitt des Feldes enthält
Um zu verhindern, daß z.B. am "Ende eine. Feldes unerwünschte Daten übertragen werden, geht man ferner mit Vorteil so vor, daß man eine Maskiervorrichtung verwendet die die Eingabe derjenigen Bits in ein Ausgaberegister der Zugriffsvorrichtung verhindert welche nicht zum Feld gehören.
Nachfolgend wird ein Ausfü'rungsbeispiel der Erfindung an Hand der Zeichnungen beschrieben. Es zeigt
F i g. 1 eine schematische Darstellung eines Ausführungsbeispiels einer erfindungsgemäß ausgebildeten Informationsverarbeitungsanlage,
F i g. 2 eine schematische Darstellung eines bei dem Ausführungsbeispiel nach der Erfindung verwendeten Prozessors,
F i g. 3 eine schematische Darstellung des Interpretiererteils des Prozessors,
F i g. 4 eine Darstellung des bei dem erfindungsgemäßen Ausfühfungsbeispiel verwendeten Deskriptorformats,
F i g. 5 eine schematische Darstellung eines bei einer Anordnung gemäß Fig. 1 verwendeten Speicherwerks,
F i g. 6 eine schematische Darstellung einer der beiden Speichereinheiten nach F i g. 5,
F i g. 7 eine schematische Darstellung einer Zugriffsvorrichtung rYi/nach Fig. 5,
F i g. 8 eine Darstellung der Verbindungen von einer Speichereinheit zu einer Zugriffsvorrichtung FIU,
F i g. 9 eine Darstellung der Verbindungen von einer Zugriifsvorrichtung F/i/zu einem anfordernden Gerät
Fig. 10 eine schematische Darstellung der Speicher-Verbindungseinheit eines Prozessors nach F i g. 2,
F i g. 11 eine Darstellung des Elementsteuerwort-Formats und
Fig. 12 eine Darstellung des speicnersteuerwort-Formats.
Für die Begriffe der vorliegenden Beschreibung wurden soweit passend die genormten Begriffe nach DIN 44300, Ausgabe März 1972, verwendet, wobei gemäß den Erläuterungen zu dieser Norm der Plural den Singular nicht ausschließt. Ferner wurde verwendet Löbel-Müller-Schmid, Lexikon der Datenverarbeitung, 2. Auflage, München 1969.
Bei dem im folgpnden beschriebenen Ausführungsbuispiel einer erfindungsgemäßen Informationsverarbeitungsanlage eignet sich die herkömmliche Terminlogie für den Speicher nicht mehr richtig, denn es werden im Speicher Felder verwendet die z. B. eine oder mehrere Wortgrenzen überschreiten können und deren Anfang oder Ende auch nicht mit den Wortgrenzen der Speicherwörter zusammenfallen muß. Diese neuartigen Datenstrukturen werden durch Anfangsbii und Länge gekennzeichnet, und beides zusammen wird im folgenden mit dem Begriff »Strukturausdruck« bezeichnet da hierfür eine normierte Bezeichnung fehlt
ίο Mehrprozeß-Systeme und Mehrprogramm-Systeme können als eine Folge zusammenhängender oder unzusammenhängender Programme, Aufgaben (auch Tasks genannt) oder Arbeiten angesehen werden, die im folgenden »Prozesse« genannt werden. Ein Elementarprozeß ist eine serielle Ausführung von Operatoren durch einen einzigen Prozessor. Ein Prozeß kann in Unterprozesse aufgeteilt oder Teil eines übergeordneten Prozesses sein. Auf diese Weise läßt sich eine Prozeßhierarchie aufstellen. Der Begriff »Prozeß« kann ?.ls eine Assozüerung zwischen einem Prozessor und Adressenrauni definiert werden. Der Adressenraum :st die Menge aller Speicher, die durch diesen Prozeß z-jgj»nglich sind. Der gesamte in dem System zur Verfugung stehende Speicherraum kann so betrachtet werden, als sei in ihm ein Globaiprozeß gespeichert bei dem es sich um den Stammvater aller anderen Prozesse und Unterprozesse in dem System handelt. Ein derartiger Globalprozeß kann so betrachtet werden, als enthalte er das gesamte Betriebssystem mit Überwachungsprogrammen, Dienstprogrammen und Kompilierern sowie den verschiedenen Benutzerprogrammen.
Der Adressenraum des beschriebenen Systems erstreckt sich über alle Speicherebenen einschließlich den Hauptspeicher und einen Hilfs- oder Reservespeicher und periphere Geräte. Dieses System enthält mehrere Prozessoren, von denen jeder mit einer HilfsStruktur im Arbeitsspeicher zum Speichern der Kennzeichnung eines neuen Arbeitsraumes oder neuer Arbeitsräume versehen ist Diese HilfsStruktur, die noch ausführlicher beschrieben wird, gestattet es jedem Prozessor, mi* der Relation zwischen dem gesamten GIcbalprozeßraum (A · beitsspeicher) und dem jeweiligen Prozeßraum, mit dem er gerade in Verbindung steht Schritt zu halten.
Die Prozeßhilfsstruktur ist die Vorrichtung, die zum Durchlassen aller Hilfsmittel zwischen Prozessen der Prozeßhierarchie verwendet wird, und ist daher ein integraler Bestandteil des Hilfsmittelschutzschemas, das zum Schutz veschiedener Benutzerprogramme während des time sharing und generell zum Schutz der verschiedenen Prozesse erforderlich ist. Wenn ein bestimmter Prozessor von einem übergeordneten Prozeß auf einen Unterprozeß übergeht, werden zugeordnete Hilfsmittel in der Hilfsmittelstruktur des Prozessors gespeichert und aus der Prozeßhilfsmittelstruktur entfernt, wenn der Prozessor aus dem Unterprozeß in den übergeordneten Prozeß zurückkehrt. Die Hilfsmittelstruktur enthält dah^r aiie dynamisch zugeordneten Hilfsmittel, die ihr Prozessor für irgendeinen bestimmten Unterprozeß eventuell benötigt. Ein bestimmter Systemmanagemen;prozeß ist der einzige Prozeß, der direkten Zugang zu Eingaben oder Einsprüngen in jede der Hilfsmittelstrukturen hat.
Diese oben angegebene allgemeine Beschreibung des Prozeßaufbaus umfaßt bereits in allgemeine." Form eine Beschreibung der Art, in der die verschiedenen Speicherebenen verwendet werden. Im folgenden sol! kurz an Hand von F i g. 1 ein System beschrieben werden, welches diesen Prozeßaufbau verwenden kann. Dieses
System enthält mehrere zentrale Prozessoren 10 und ein oder mehrere E4-Werke 18, die zusammen mit einem Reservespeicher 14 an mehrere Speicherwerke 11 über ein Verriegelungsschaltwerk 20 angeschlossen sind. Alle Speicherwerke 11 bestehen aus zwei Speichereinheiten 12 und einer Zugriffsvorrichtung 13, deren Zweck und Wirkungsweise noch ausführlicher beschrieben wird. Der Reservespeicher 14 enthält ein Speichererweiterungssteuerwerk 15 und mehrere Einheiten 16 und 17, die Register, Kernspeicher oder Plattenspeicher enthalten können. Der Reservespeicher 14 (auch Hilfs- oder Ergänzungsspeiclu-r genannt) wird im folgenden als Speicher der Ebene 2 bezeichnet Von den £4-Werken 18 werden eines oder mehrere zur Herstellung der Verbindung zu den Peripheriegeräten 19 verwendet
Der in F i g. 1 dargestellte Aufbau unterscheidet sich nicht wesentlich von dem nach der US-Patentschrift 34 11 139. Das nach dem Ausführungsbeispiel nach der Erfindung ausgebildete System unterscheidet sich jedoch gegenüber dem bekannten erheblich in der Art, in der die erwähnte Prozeßhierarchie angewandt wird, und in der Art in der die Teile dazu angepaßt sind, um diese Hierarchie anzuwenden
Wesentliche Merkmale sind sowohl in der Art zu sehen, in der die Speicherwerke 12 angepaßt sind, um der Einrichtung als Freifeidspeicher zu erscheinen, wie in der Art in der die jeweiligen Prozessoren 10 ausgebildet sind, um diesen Speicherraum zur Anwendung der erwähnten Prozeßhierarchie zu benutzen.
Die wesentlichen Einzelheiten des Prozessors werden zunächst an Hand von F i g. 2 allgemein beschrieben. Wie aus F i g. 2 zu erseher ist. enthält der Prozessor 10 nach F i g. I eine Interpretiereinheit 21 und ein Rechenwerk 20. Eine Speichen, erbind.jngseinheit 22 dient als Verbindungseinheit zwischen den Interpretierer21 und den jeweiligen Speicherwerken 11 nach Fig. 1. Der Interpretierer 21 besteht aus vier Grundteilen: einem Zentralteil 23. einem Strukturpufferteil 24, einem Programmteil 25 und einem Unterbrecherteil 26.
Die Hauptfunktion jedes Prozessors 10 besteht in der Aktivierung und Deaktivierung von Prozessen, der Steuerung von Informationsübertragungen zwischen Baueinf eiten, der Bedienung von Unterbrechungen und der Ausführung von Rechenoperationen, die von einem Programm verlangt werden. Diese Funktionen werden unter der Leitung eines Hauptsteuerprogramms (Betriebssystems) ausgeführt Der Prozessor verringert die Speicherzugriffszeiten durch Verwendung in der Phase aufeinander abgestimmter Lese- und Schreiboperationen wo immer es möglich ist und durch assoziative Pufierung bzw. Zwischenspeicherung von Informationen. Durch die Zentralisierung der Steuerung der funktionell unabhängigen Unterteile der Interpretiereinheit 21 wird die Ausführungsgeschwindigkeit erhöht und werdsn die Hardware-Kosten verringert In jedem Prozessor ist es der Interpretierer 21, der die Bewegung von Prog,"amm urd Daten steuert für einen selbsttätigen Speicherschutz sorgt auf Unterbrechungen und Steuerunge'i anspricht und die verschiedenen Stapel und Puffer irr Prozessor leert und wieder füllt
In dem Interpretierer liest (aus dem Speicher), interpretiert und führt der Programmteil 25 die Programm-Operatoren in der Programmfolge aus. Durch den Zentralteil 23 werden Deskriptoren, die in der Programmfolge in Abhängigkeit von dem Programmoperator, der gerade ausgeführt wird, aufgerufen werden, gelesen, interpretiert, ausgeführt und auf den neuesten Stand gebracht Der Strukturpufferteil 24 besteht aus einer Gruppe örtlicher Spei-her, die häufig aufgesuchte Posten Zwischenspeichern, um die Anzahl der Leseoperationen, die mit der Ebene 1 (dem Hauptspeicher) durchgeführt werden, möglichst gering zu halten. Die Zwischenspeicherung basiert auf den Strukturen, die zur Festlegung des Prozessors verwendet werden. Der Unterbrechungsteil 26 empfängt Unterbrechungen und Fehler, prüft sie und läßt das geeignete Fehler- oder
(o Unterbrechungsäignal durch, um eine Programmänderung zu bewirken.
Die Interpretiereinheit 21 ist dann so ausgebildet daß sie die Verarbeitungs- und Prozeßsteuerung in der Einrichtung mit Hilfe von Strukturoperatoren, die speziell
IS für ein wirksames Management von Daten und Programmsirukturen ausgelegt sind, und mit Hilfe von Programmoperatoren übernimmt, die so ausgewählt sind, daß sie eine einfache Ausführung auf höherer Ebene liegender Sprachen gestattet Die Steuerinformation wird, wie dies erforderlich ist an das Rechenwerk und über die Speicherverbindungseinheit 22 an das Speicherwerk verteilt
Obwohl der Hauptspeicher oder Speicher der Ebene 1 so ausgebildet ist daß er dem System als Freifeldspeieher oder strukturfrei erscheint sind natürlich die verschiedenen darin gespeicherten Prozesse und Informationssegmente strukturiert Die Deskriptoren sind so beschaffen, daß sie die verschiedenen Informationsstrukturen im Speicher bezeichnen oder darauf hinwei- sen. Sie schreiben auch diese Strukturen und ihre Bedeutung in bezug auf den Prozeß vor, in dem sie vorkommen, oder in bezug auf den übergeordneten Prozeß, wenn die Struktur selbst ein Unterprozeß ist
In diesem Sinne umfaßt das Aufrufen aller strukturierten Informationen in den verschiedenen Speicherebenen die Auswertung von Deskriptoren. Diese Auswertung wird durch den Zentralteil 23 vorgenommen, wie es in F i g. 2 dargestellt ist Nach F i g. 4 gibt es vier Arten von Deskriptorformaten, die sich jeweils auf verriegelte Datenfelder, Datenobjekte. Programmsegmente oder andere Deskriptoren beziehen bzw. diese kennzeichnen.
Jeder dieser Deskriptoren enthält drei größere Informationsgruppen oder Ausdrücke. Diese werden als Zugriffattribute. Interpretiererattribute und Strukturausdrücke bezeichnet Die Zugriffattribute bestimmen das Schutzvermögen und ob ein gekennzeichnetes Element im Speicher abgespeichert oder ausgelesen werden kann. Die Interpretierattribute bestimmen die Eigenschaften dieses gekennzeichneten Elements, und der Strukturausdruck enthält die Art der Struktur, in der d?s Element liegt und dies bestimmt die Struktur und die Strukturparameterfelder, die die Parameter vorgeben, die für -einen Zugriff zu dieser Struktur erforderlich sind. Es sei an Hand von F ig. 4 darauf hingewiesen, daß jeder Deskriptor so viele Strukturausdrücke enthalten kann, wie zur Bestimmung oder Abgrenzung eines bestimmten Elements erforderlich sind.
Die Formate des Strukturausdruckfeldes sind in Fig.5derDE-OS2054835dargestellt
Nach dieser allgemeinen Beschreibung der Deskriptoren sei daran erinnert, daß ein Speichersteuerwort aus dem Deskiptor erzeugt wird.
Ausführliche Beschreibung des Systems
A. Interpretierer
Das Folgende bezieht sich auf Fig.3, die die Schaltung des Interpretierers 21 und insbesondere des Zen-
7 8
tralteils 23 zur Auswertung der jeweiligen Deskriptoren möglichen, Informationsfelder irgendwo aus dem oder
und Strukturoperatoren darstellt. Die Zentralteil-Hard- in das Speichersystem herauszuholen oder einzugeben,
ware enthält fünf Attributregister 30 bis 34, eine im Ein Informationsfeld ist als eine beliebige Anzahl von
folgenden als Schalteinrichtung bezeichnete Deskrip- Bits definiert, deren Anfangsbitstelle irgendwo im Spei-
tor/Zusammensetzungs-Zerlegungs-Vorrichtung 35, ein 5 chersystem sein kann. F i g. 1 stellt die Beziehung der
Programm-Deskriptor-Steuerregister 36, ein Deskrip- Speicherwerke 12 zu den anderen Geräten des Systems
torausführungsregister 38 und Deskriptorsteuerwerke dar. Es gibt drei Arten von anfordernden Geräten: Zen-
39 sowie einen Programm/Deskriptor-Steußrstapel 37. trale Prozessoren 10,£Z4-Werke 18 und die Speicherer-
Der Ze''< ralteil 23 erhält Daten aus Strukturpuffern 40, Weiterungssteuerwerke 15. Die maximale Anzahl von
einem Wertstapel 42, einer Programmwalzenschaltung lo Speicherwerken, auf die das System ausgelegt sein kann,
43 und dem Rechenwerk 20, wie es in Fi g. 2 dargestellt ist vorzugsweise 16, und jedes Speicherwerk soll in der
ist. Der Zentralteil 23 überträgt Daten in die Struktur- Lage sein, jede beliebige Kombination von bis zu maxi-
puffer 40 und das Rechenwerk 20. (Die Register und mal 16 anfordernden Geräten zu bedienen. Die Spei-
Stapel sind gewöhnlich als Kellerspeicher ausgebildet) cherwerke sollen keinen Unterschied zwischen den an-
Jede der Strukturen (Felder) im Speicher (Arbeits- 15 fordernden Geräten machen, so daß irgendeine Opera-
speicher) kann als in einem Adressenraum enthalten an- tion, die für ein anforderndes Gerät ausgeführt wird, für
gesehen werden, der durch eine Adresse und eine Länge irgendein anderes anforderndes Gerät ausgeführt wer-
bestimmt ist Die Gesamtheit von Adresse und Länge den kann.
eines Feldes wird wie erläutert als »Strukturausdruck« Wie in F i g. 1 dargestellt ist, bilden vorzugsweise bezeichnet. Bei der Strukturausdrucksauswertung ar- 20 zwei Speichereinheiten 12 (MSLJ) in Verbindung mit jebeit also jede Anweisung nach der Anfangsanweisung in weils einer Zugriffsvorrichtung 13 (FIU) ein vollständidiesem Ausdruck auf eine Adresse des jeweils höchst- ges Speicherwerk 11. In einem besonderen System könrangigen Feldes, die im ersten Register 32 nach F i g. 3 nen auch nur eine Speichereinheit 12 mit einer Zugriffsgespeichert ist, und auf einen Längenwert des jeweils vorrichtung 13 vorgesehen sein. Jede Speichereinheit 12 höchstrangigen Feldes im Register 31, um ein geeigne- 25 speichert Informationen in einem Kernspeicherstapel, tes Feld nächstniedrigen Ranges innerhalb des höher- obwohl andere Speicherarten für diesen Zweck verwenrangigen Feldes zu bestimmen. Wenn dieses Unterfeld det werden können, und eine derartige Einheit soll die nicht vollständig in dem so bestimmten höherrangigen Fähigkeit haben, diese Information auf Anforderung Feld enthalten ist, tritt ein Fehler auf. Wenn nicht anders auszugeben. Jede Speichereinheit 12 steht nur mit ihrer vorgeschrieben, sind von bestimmten Anweisungen be- 30 eigenen Zugriffsvorrichtung 13 in Verbindung, so daß nötife Parameter in dem Wertestapel zu finden, der in alle Operationen in dem System zunächst eine bestimmdem Ai beitsspeicher vorgesehen ist und den Wertesta- te Zugriffsvorrichtung durchlaufen, bevor sie begonnen pelpuffern 42 nach F i g. 3 Werte zuführt werden.
Das Attributsammeiregister 30 nach Fig.3 sammelt Nach den Fig. 5 und 6 ist jede Speichereinheit 12
dann Zugriffgestattungsattribute, Segmentnummern 35 strukturiert, nämlich wortorganisiert, und in mehrere
und Formatselektoren, die es während der Auswertung Stapel unterteilt Jeder Speicherstapel besteht "orzugs-
aus den verschiedenen Deskriptoren erhält Die ande- weise aus 8192 Speicherzellen, von denen jede 288 In-
ren vier Register 31 bis 34 werden zur Strukturparame- formationsbits enthält Von diesen 288 Bits werden 256
terbehandlung verwendet Jedes Register besteht aus von dem System als Speicherraum und die übrigen
vier Wörtern, die 32 Bits lang sind. Die Register stehen 40 32 Bits intern als Fehlercodeinformation benutzt Das
bei allen Rechenoperationen mit dem Rechenwerk 20 in Fehlercodebit soll nur zu den vorausgehenden 64 Infor-
Verbindung, dqs somit als Verknüpfungseinrichtung mationsbits gehören. Jedesmal, wenn im Speicher Infor-
dient Sie verwenden und modifizieren auch die in dem mationen gespeichert werden, werden diese Fehlerco-
Struktur- und Deskriptorpuffer 40 gespeicherten Struk- debits in Abhängigkeit von der neuen Information im
turausdrücke, und sie erhalten Parameter aus dem 45 Stapeiwort gesetzt Jede Speicherzelle von 288 Bits ent-
Wertstapel über Wertstapelpuffer 42 und die Pro- hält also vier Speicherwörter zu je 72 Bits (vgl. zum
grammwalzenschaltung 43. Dip Register werden einzeln Beispiel die viermal 72 Dateneingabe- und Datenausga-
gesteuert Zwei der Register enthalten Informationen beleitungenin Fig.8).
(Anfangsadresse und Länge) für das jeweils höchstran-
gige Feld, während die übrigen beiden Register Infor- 50 C. Zugriffsvorrichtung (FlU)
mationen (Anfangsadresse und Länge) über das Feld
nächstniederen Ranges speichern. Die Register sind in jede Zugriffsvorrichtung 13 ist mit einer Logik verse-F i g. 3 entsprechend beschriftet Während der Auswer- hen, die es ermöglicht, Informationsfelder unabhängig tung speichern die Register Zwischenwerte, also Zwi- von der Speicherstruktur herauszuholen oder einzugeschenadressen, Längeninformationen und Selbstidenti- 55 ben. Der Speicher v/ird daher vom anfragenden Gerät fizierungsstrukturen. Am Ende jeder Strukturausdruck- als ein kontinuierlicher Raum behandelt, der die Fähigauswertung sind die Register für das niedrigstrangige keit hat, Felder, die an irgendeiner Stelle (Bit) beginnen Feld leer, während die Register für das Feld nächsthöhe- und sich bis zu irgendeiner vorgeschriebenen Länge ren Ranges ein Teilbezugszeichen für das Objekt auf- fortsetzen, aufzunehmen.
weisen. Das Teilbezugszeichen ist eine Adresse eines 60 Die Zugriffsvorrichtung 13 besteht aus 13 größeren
höherrangigen Feldes und eine Länge, die der Länge bis Funktionseinheiten, die miteinander verbunden sind,
zu der Stelle entspricht, bis zu der der Deskriptor ausge- Wie F ig. 7 zeigt, ist das Informationsregister 60 ein
wertet wurde. 144-Bit-Register, das zur Aufnahme einer Kopie von
zwei Speicherwörtern verwendet wird. Die erste Grup-
B. Speicherwerke 55 pe aus 72 Bits ist daher eine Kopie des Speicherwortes,
die das gegenwärtige Anfangsbit eines Feldes enthält,
Die Hauptaufgabe der Speicherwerke 12 nach und die zweite Gruppe aus 72 Bits ist eine Kopie des
Fig. i. besteht darin, den anfordernden Gsräien zu er- Speicherwortes, das die Fortsetzung eines Feldes ent-
hält Wenn beispielsweise eine Operation vorschreibt, daß das Anfangsbit das Bit 5 im Speicherwort B sein soll und die Länge größer als 59 Bits ist, nimmt das Leseregister 60 die Wörter B und C auf. Während der Leseoperationen wird das Register 60 zur Übertragung von Speicherwörtern zur Eingabe- und Auslesevorrichtung 61 für einen Feldlesevorgang verwendet Während der Speicheroperation wird das Register 60 zur Wiedereinfügung von Dits eines Speicherwortes verwendet, die durch das Speichern eines neuen Feldes nicht geändert wurden.
Die Eingabe- und Auslesevorrichtung 61, die bildlich auch als Walzenschalter bezeichnet werden kann, bildet das Schiebenetzwerk, das eine Kapazität zur Veschiebung von 128 Informationsbits nach links herum bis zu einem Maximum oder einem Minimum von null Stellen oder Plätzen aufweist Während einer Leseoperation wird die Eingabe- und Auslesevorrichtung 61 dazu verwendet das Feld so zu positionieren, daß es links- oder rechtsausgerichtet ist, bevor es in das anfordernde Gerät übertragen wird. Während einer Speicheroperation wird die Eingabe- und Auslesevorrichtung 61 dazu verwendet die eingegebenen Daten im richtigen Bitplatz des Speichers zu positionieren. Eine Maskiervorrichtung 62 sorgt für die Fähigkeit ein Feld vom Ausgang der Eingabe- und Auslesevorrichtung 62 auszuwählen und ins Ausgaberegister 63 oder ein Register 64 zu übertragen, welch letzteres zur Erzeugung eines Eingabcsignals dient Das ausgewählte Feld wird durch die Anfangsbit- und Längeninformation bestimmt die in dem Steuerwort enthalten ist und auch durch die Art der angeforderten Operation. Ein Schiebenetzwerk, das hier für die Vorrichtung 62 verwendet werden kann, wurde bereits an anderer Stelle vorgeschlagen (deutsche Patentanmeldung P 20 00 2755, angemeldet am 5. Januar 1970).
Das Ausgaberegister 63 ist ein 65-Bit-Register und wird zur Zwischenspeicherung von Informationen während mindestens eines Taktes verwendet die aus den verschiedenen logischen Schaltungen der Zugriffsvorrichtung 13 zum anfordernden Gerät übertragen werden.
Ein Paritätsgenerator 65 wird zur Bildung einer Parität bei allen ausgegebenen Datenwörtern verwendet Ein Paritätsbit soll der Datenübertragung nach einer Taktperiode folgen.
Das Eingaberegister 66 ist ein 65-Bit-Register, das zum Speichern des Steuerwortes für eine Paritätsprüfung verwendet wird. Es sorgt auch für eine kurzzeitige Zwischenspeicherung während mindestens einer Taktperiode für die Datenübertragung aus dem anfordernden Gerät
Eine Paritätsprüfer 67 dient zum Prüfen aller eingegebenen Datenwörter. Ein Paritätsbit soll eine Taktperiode nach der Datenübertragung empfangen werden.
Die Steuervorrichtung 68 ist ein 64-Bit-Register, das zur Aufnahme des Steuerwortes dient das vom anfordernden Gerät gesendet wird. Während des Ablaufs einer Operation soll dieses Register die genauen Anfangspositionen und die verbleibende Feldlänge dieser Operation überwachen.
Das Register 64 zur Erzeugung eines Eingabesignals ist ein 128-Bit-Register und dient zur Verknüpfung des Ausgangs der Vorrichtung 61 mit dem Ausgang des Registers 60. Das Ergebnis ist ein Speicherwort Das Register 64 soll ferner das Speicherwort für mindestens eine Taktperiode festhalten, um dem Codegenerator zu ermöglichen, Prüfcodebits zu erzeugen, bevor das Wort ins Speicherregister übertragen wird.
Das Speichel ι egister 69 ist ein 72-Bit-Register und v/ird zur Zwischenspeicherung des Datenwortes verwendet, das an einem Platz gespeichert werden soll, der durch das richtigt Speicheradressenregister 92 (MAR) nach F i g. 6 vorgeschrieben wird.
Der Codegenerator 70 dient zur Bildung von Prüfbits für alle Informationen, die im Speicher gespeichert werden. Diese Prüfbits stellen ein Mittel zur Feststellung von Bitfehlern zwischen der Zugriffsvorrichtung 13 und dem Speicher 12 dar.
Das Fehlerregister 71 ist ein 64-Bit-Register und dient zur Aufnahme aller Informationen, die zur Identifizierung und Definierung eines Fehlers erforderlich sind,
z. B. eines externen Fehlers (Fehler, die durch das anrufende Gerät hervorgerufen werden), eines internen Fehlers (der in der Zugriffsvorrichtung festgestellt wird) und eines Speichereingabefehlers (eines durch eine falsche Stapelinformation bewirkten Fehlers).
Wenn Wörter aus dem Informationsregister 60 aufgenommen werden, enthalten sie jeweils insgesamt 72 Bits. Die 64 höchststelligen Bits sind Datenbits, und die übrigen acht Bits sind Prüfcodebits. Diese Prüfcodebits gestatten dem Nachweis- und Bitkorrekturteil 72 den Nachweis eines 1-Bit-Fehlers oder eines 2-Bit-Feh-Iers. Wenn ein 1-Bit-Fehler auftritt, wird das Bit korrigiert, bevor das Feld übertragen wird. Wenn ein 2-Bit-Fehler auftritt, ist keine Korrektur möglich. In jedem Falle wird das anfordernde Gerät vom Auftreten eines Fehlers und der Art des aufgetretenen Fehlers unterrichtet
D. Verbindungen
Speichereinheit-Zugriffsvorrichtung ( F: g. 8)
Im folgenden werden die Verbindungen zwischen einer Speichereinheit 12 und ihrer Zugriffsvorrichtung 13 an Hand von F i g. 8 beschrieben. Diese Verbindungen enthalten Steuerleitungen, Adressenleitungen und Datenleitungen. Wie in F i g. 8 dargestellt ist wiederholen sich die Verbindungen in dem Sinne, daß die gleichen Arten von Übertragungsleitungen zu jedem der vier Stapel führen, in denen jede der Speichereinheiten 12 so organisiert ist wie es an Hand der Fig.5 und 6 beschrieben wurde.
Gemäß F i g. 8 enthält die Verbindung zum Stapel Λ 26 Adressenleitungen, die zur Übertragung einer 13-Bit-Adresse verwendet werden, die eine der 8192 Speicherplätze vorschreiben kann. Die Verbindungsvorrichtung zum Adressieren enthält 26 Leitungen, da die Speichereinheit 12 für jedes Adressenbit 1- und O-Ziffern benötigt-
Es gibt 72 Dateneingabeleitungen, die zur Übertragung von Dateninformationen verwendet werden, die in einen adressierten Speicherplatz eingegeben werden sollen. Entsprechend sind 72 Datenausgabeleitungen vorgesehen, die zur Übertragung einer Kopie des aus einem adressierten Speicherplatz ausgelesenen Inhalts (72 Bits) in die Zugriffsvorrichtung dienen.
Die übrigen Steuerleitungen umfassen eine /MC-Leitung, die das Signal »Auslöse-Speicherzyklus« (IMC= initiate memory cycle) überträgt und eine Leitung zur Übertragung des Lesebetriebssignals, das zum Auslösen der Übertragung von Daten aus einem adressierten Speicherplatz ins Speicherinformationsregister 91(MIR) dient das in Fig.6 dargestellt ist Das Schreibbetriebssignal wird zur Freigabe der Übertragung von Daten aus der Zugriffsvorrichtung 13 ins Spei-
cherinfOrmations^egister 91 verwendet. Das Löschsignal wi-d zum Löschen des Speicherinformationsregisters vor der Dateneingabe verwendet. Das Schreibtastsignal wird zum Eintasten von Daten ins Speicherinformationsregister 91 verwendet, so daß sie für einen adressierten Speicherplatz zur Verfügung stehen. Das Lesedaten-Verfügbar-Signal dient dazu, die Zugriffsvorrichtung 13 (FIU) davon zu unterrichten, daß aus dem adressierten Speicherplatz ausgelesene Daten im Speicherinformationsregister 91 verfügbar sind.
E. Verbindungen
Anforderer—Zugriffsvorrichtung ( F i g. 9)
Die Verbindungsvorrichtung zwischen der ZugriffsvorricHung 13 (FIU) und jedem der jeweiligen Anforderer ist in F i g. 9 dargestellt und enthält eine 64-Bit-Informations-Mehrfachleitung, die bidirektional ist und zur Übertragung von Daten und Steuerwörtern dient. Die Mehrfachleitung ist insofern bidirektional, als die Informationen entweder von der Zugriffsvorrichtung 13 zum Anforderer oder vom Anforderer zur Zugriffsvorrichtung übertragen werden können. Eine Totzeit von mindestens einer Taktperiode ist jedesmal zwischen zwei aufeinanderfolgenden Operationen erforderlich, wenn die Übertragungsrichtung umgekehrt wird.
Zu den Steuerleitungen gehört, wie F i g. 9 zeigt, eine Anforderungssignalleitung, die ein von einem Anforderer abgegebenes Anforderungsignal zur Auswahl einer bestimmten Zugriffsvorrichtung überträgt Es muß eine Taktperiode vor dem Anforderungsleitsignal auf EINS {» vahr«) übergehen und so lange auf EINS bleiben, bis das erste Bestätigungssignal von der Zugriffsvorrichtung eintrifft Ein Anforderungsleitsignal wird zur Zugriffsvorrichiung übertragen, um diese davon zu unterrichten, daß ein Steuerwort über die Informationsleitung übertragen wird. Zu Beginn geht das Anforderungsleitsignal eine Taktperiode nach dem Anforderungsigna! auf EINS über, und es bleibt für die Dauer einer Taktperiode EINS, bevor das Steuerwort über die Informationsleitung übertragen wird. Es muß so lange EINS bleiben, bis ein erstes Bestätigungssignal für jede Leseoperation oder Speicheroperation empfangen wird, deren Feldlänge größer als 64 Bits ist Das Anforderungsleitsignal muß für die Dauer einer Taktperiode EINS sein und jeder Übertragung des Steuerwortes um eine Taktperiode vorausgehen, und zwar bei jedem Leitsignal, dessen Feldlänge gleich oder kleiner als 64 Bits ist
Ein Datenleitsignal wird zur Zugriffsvorrichtung übertragen, um diese davon zu unterrichten, daß über die Informationsleitung ein Datenwort übertragen werden soll. Wenn die Feldlänge des Datenwortes größer als 64 Bits ist, folgt das Datenwortleitsignal dem »Sende-Daten-Signal«. Wenn die Feldlänge des Datenwortes gleich oder kleiner als 64 Bits ist, wird das Datenwortleitsignal automatisch nach dem Anforderungsleitsignal übertragen und eine Dauer aufweisen, die gleich einer Taktperiode ist
Ein Bestätigungssignal in Form eines Impulses mit einer Dauer, die gleich der einer Taktperiode ist, wird stets zum Anforderer übertragen, wenn die Bedienung des Anforderers eingeleitet ist Der Anforderer muß sich jedoch darauf einstellen, daß der Empfang des ersten Bestätigungssignals keine Garantie dafür ist, daß die Operation ausgeführt wird.
Ein Daten-Vorhanden-Leitsignal wird übertragen, um den Anforderer zu informieren, daß im Eingaberegister 66 der Zugriffsvorrichtung (s. Dig. 7) ein Datenwct vorhanden ist. Das Daten-Vorhanden-Signal wird bei allen Leseoperationen in Koinzidenz mit dem Datenwort übertragen, solange keine Fehler bei den aus der Speichereinheit 12 ausgelesenen Daten festgestellt werden. Es sei darauf hingewiesen, daß das Dpten-Vorhanden-Signal nicht das gleiche ist wie das vom Anforderer gesendete Datenwort-Leitsignal. Das Daten-Vorhanden-Leitsignal zeigt an, daß ein gültiges Datenwort aus
ίο der Zugriffsvorrichtung gesendet wurde.
Ein Sende-Datert-Signal wird jedesmal zum Anforderer gesendet, wenn die Feldlänge bei irgendeiner Speicheroperation größer als 64 Bits ist. Jede Taktperiode, während der das Sende-Daten-Signal auf EINS steht, zeigt dem Anforderer an, daß er ein Datenwon-Leitsignal senden muß, bevor er ein Datenwort sendet. Dieses kontrollverfahren ist erforderlich, um zu vermeiden, daß der Anforderer wissen muß, ob die Zugriffsvorrichtung eine Minimum- oder eine Maximum-Speichereinheitskonfiguration aufweist.
Das Signal Fehlerunterbrechung 1 informiert den Anforderer davon, daß die Zugriffsvorrichtung zumindest eine der folgenden Fehlerarten festgestellt hat. Das Fehlerunterbrechungssignal hat eine Dauer von zwei Takten und wird dem anfordernden Gerät zugeführt, das die Operation ausgelöst hat. Die Fehlerarten sind: ein 2-Bit-Fehler oeim Auslesen aus der Speichereinheit, ein Paritätsfehler im Steuerwort, ein unzulässiger Operationscode im Steuerwort, eine falsche Zugriffsvorrichtungs- adresse im Steuerwort, eine falsche Anzahl von Datenwortleitsignalen bei einer Speicheroperation, ein Paritätsfehler im Anfordererdatenwort und ein interner Fehler.
Das Signal »Fehlerunterbrechung 2« informiert den Anforderer davon, daß die Zugriffsvorrichtung einen 1-Bit-Fehler bei einer Ausgabe aus der Speichereinheit festgestellt hat. Das Feh!erunterbrechung-2-Signal hat eine Dauer von zwei Takten und wird zu dem anfordernden Gerät gesendet, das die Operation ausgelöst hat
Die Anfordererparitätsleitung wird zur Übertragung des verzögerten Paritätsbus bei irgendeiner Anfordererübertragung zur Zugriffsvorrichtung verwendet. Die verzögerten Paritätsbits folgen dem übertragenen Wort stets nach einer Taktperiode und müssen eine *")auer von mindestens einer Taktperiode aufweisen.
F. Prozessor-Speicher-Verbindungseinheit
(Fig. 10)
An Hand von F i g. 10 wird im folgenden die Anfordererseite der Anforderer-Zugriffsvorrichtung-Verbindungseinheit beschrieben. Es sei daran erinnert, daß die Zugriffsvorrichtung Daten oder Steuerwörter empfangen und an irgendeinen Anforderer übertragen kann, sei es ein Prozessor, ein EA-Werk oder das Speichererweiterungssteuerwerk für den Speicher der Ebene 2. In F i g. 10 ist jedoch eine Schaltung dargestellt, die speziell für einen Prozessor ausgelegt ist. Die Schaltungsanordnung nach Fig. 10 stellt daher die Speicher-Verbindungseinheit 22 dar, die in den F i g. 2 und 3 dargestellt ist
Die Speicheverbindungseinheit 22(MIU) führt alle Übertragungen zwischen dem Prozessor und irgendeinem von bis zu maximal 16 Speicherwerken il durch. Die Speicherverbindungseinheit MIU führt alle Datenübertragungen in Form von feldorientierten Operationen durch und leitet die Speicherzugriffsanforderungen
durch die Funktionselemente des Prozessors auf der Basis zuvor zugeordneter Prioritäten. Die Zugriffsprioritätszuordnung wird vom Prozessor vorgeschrieben und umfaßt die folgenden Elemente: Anzeige, Hilfsmittelstapelscheibe (oder -Abschnitt), Namenstapelpuffer, ProgrammsteuerstapeL Wertstapelpuffer, Deskriptionspuffer und Progremmpiiffer.
Wenn eines der Funktionselemente des Interpretierers 21 die Dienste der Speicherverbindungseinheit 22 anfordert hebt es das Potential seiner »Zugriffanfordening«-Leitung, die zur Speicherverbindungseinheit 22 führt, und führt es ein Elementsteuerwort ECW, wie es in Fig. 11 dargestellt ist einer entsprechenden ECW-t-eitung zu. Jede der ECW-Leitungen führt jeweils von einem der Elemente zu einer Steuerwortauswähliogik 1OZ wie es in Fig. 10 dargestellt ist Wenn das anfordernde ZIement Priorität hat überträgt die Speicherverbindungseinheit 22 das Eiemenisteuerwort in Tar Steuerwortregister 104 und bestimmt welche er folgenden Operationen vorgeschrieben wird: eine 1-Wort-Speicheroperation (Feldlänge kleiner als 64 Bits), eine Mehrfachwort-Spexheroperation (Feldlänge größer als 64 Bits) oder eine Leseoperation.
G. Steuerwortformat ( F i g. 11 und 12)
Die verschiedenen Felder des in F i g. 11 dargestellte η Formats des Elementsteuerwortes ECW haben folgenden Bedeutung: Das Bit T identifiziert die Bedienungsanforderung als eine Lese- oder Speicheroperatiort, das Ausrichtungsbit / identifiziert die Ausrichtung, die eine einzige Wortlese- oder -Speicheroperation benötigt wobei eine Rechts-Ausrichtung darstellt daß das Bit der niedrigsten Stelle, das übertragen wurde, in der niedrigsten Bitstelle angeordnet ist und die Links-Ausrichtung die entgegengesetzte Anordnung darstellt; die Bits L identifizieren oder kennzeichnen die Art der auszuführenden Leseoperation (d.h. ob das übertragene Feld verriegelt werden soll oder nicht). Das anfordernde Element ist dafür verantwortlich, den Zustand des Feldes, das es anfordert zu kennen.
Das Adressenfeld L 1 identifiziert die absolute Ebene-1-Speicher-Anfangsbitstelle, die bei der Übertragung erfaßt wird. Das Längenfeld schreibt die Gesamtlänge des Feldes, das übertragen wird, in Bits vor.
Nach Bestimmung der angeforderten Operationsart erzeugt die Speicherverbindungseinheit MIU ein Speichersteuerwort MCW mit einem Format wie es in F i g. 12 dargestellt ist
Wenn eine Einwort-3peicheroperation vorgeschrieben war, hebt die MIUdas Potential ihrer zu dem vorgeschriebenen Speicherwerk führenden Anforderungsleitungen, und dann überträgt sie abwechselnd das MCW und die Daten, die gespeichert werden sollen, ins adres-αιλΙια
r\lo
22 setzt die Übertragung des Speichersteuerwortes, dem die zu speichernden Daten folgen, so lange fort, bis sie von dem Speicherwerk ein Bestätigungssignal erhält
Wenn eine Mehrfachwort-Speicheroperation vorgeschrieben ist hebt die Speicherverbindungseinheit 22 das Potential ihrer zu dem betreffenden Speicherwerk führenden Anforderungsleitungen, und dann sendet sie das Speichersteuerwort zu diesem Speicherwerk. Wenn das Speicherwerk das Vorhandensein des Speichersteuerwortes bestätigt beginnt die Speicherverbindungseinheit 22 mit der Datenübertragung unter der Leitung des Datenanforderungssignals.
Wenn eine Leseoperation vorgeschrieben ist, hebt die MIU22 das Potential ihrer Anforderungsleitungen und sendet das MCW zum betreffenden Speicherwerk. Wenn das Speicherwerk den Empfang des AfCWbestätigt schaltet die MlUühre Informationssammelleitungs-
empfängerschaltungen ein. Die MIU empfängt jetzt Informationen aus dem Speicher. Der Speicher überträgt jedoch einen Daten-Yorhanden-Leitimpuls an die MIU, um zu veranlassen, daß die auf den Ipfonnationssammelleitungen vorhandenen Informationen zum anfordernden Element übertragen und von diesem erfaßt werden. Der Daten-Vorhanden-Leitimpuls wird bei jedem Wort erzeugt das vom Speicher zu dem die Daten anfordernden Element übertragen wird.
Wenn bei einer Lese- oder Speicheroperation mehr als ein Speicherwerk 11 erforderlich ist erzeugt die Speicherverbindungseinheit 22 für jedes der beteiligten Speicherwerke 11 ein Speichersteuerwort In diesem Falle bildet die Speicherverbindungseinheit ein auf den neuesten Stand gebrachtes Speichersteuerwort und dann löst sie die Datenübertragung mit dem zweiten Speicherwerk aus, um diese durchzuführen. Wenn die sechs niedrigststelligen Bits des Adressenfeldes L1 im ursprünglichen Speichersteuerwort alles Nullen sind, muß das auf den neuesten Stand gebrachte Speichersteuerwort ein geändertes Adressenfeld L1 aufweisen, das auf die erste Stelle des neuen Speicherwerkes hinweist und ein neues Längenfeld enthalten, das die Anzahl der Bits wieüergibt die noch übertragen werden müssen. Wenn die sechs niedrig.«; tstelligen Bits des ursprünglichen Adressenfeldes L 1 nicht gleich Null sind, muS das auf den neuesten Stand gebrachte Speichersteuerwort wie folgt aufgebaut sein: Das Verbindungsbit L muß gesetzt sein, die sechs niedrigststelligen Ziffern des geänderten Adressenfeldes L1 müssen gleich denjenigen im ursprünglichen Speichersteuerwort sein, die Bits 18 bis 33 müssen alle Eins sein, die Bits 14 bis 17 müssen die neuen Speicherwerknummern darstellen, und das geänderte Längenfeld muß die um Eins vermehrte Anzahl der Wörter darstellen, die noch übertragen werden müssen, was zur Darstellung der Längenoperation erforderlich ist die da!. Speicherwerk durchführen muß.
Die verschiedenen Felder des Speichersteuerwortes werden im folgenden an Hand von F: g. 12 definiert Die Bits Γ und / sowie das Adressenfeld L 1 und das Längenfeld sind bei dem Speichersteuerwort die gleichen wie bei dem Elementsteuerwort ECW nach Fig. 11. Außerdem gilt für die Modifizierbits Ml und M 2 die gleiche Definition wie für die Verriegelungsbits
so L im Eiementsteuerwort ECW.
Das Speicheroperationsbestimmungsbit 5 schreibt eine Speicheroperation in Form einer i-Wort-Speicher-(S=I) oder als eine Mehrfachwort-Speicher-(S=0)-Operation vor. Dieses Bit kennzeichnet auch ei-
register gelesen und dann gelöscht wird (S=I).
Das Längenbit L zeigt an — wenn es vorhanden ist —, daß das Feld, das gerade übertragen wird, in mehr als einem Speicherwerk enthalten ist und daß seine Anfangsspeicheradresse nicht der Anfang einer Speicherwortgrenze (Null oder ein Vielfaches von 64) war. Dieses Bit braucht nur dann auf 1 gesetzt zu sein (einen »wahren« Zustand einnehmen), wenn bei einer Leseoder Speicheroperation ein Feld über eine Speichergrenze hinausgeht und mehr als ein Speicherwerk 11 bei dieser Übertragung verwendet wird. Wenn dieser Fall auftritt muß das Längenbit den »wahren« Zustand einnehmen, wenn das auf den neuesten Stand gebrachte
15 16
Speichersteuerwort in das zweite Speicherwerk gesen- Speicherverbindungseinheit 22 vom angerufenen Spei-
det worden ist cherwerk 11 während einer Zeit von 25 MikroSekunden
Das Betriebsartenbit M zeigt an — wenn es vornan- keine Antwort erhält. Daß der Speicher keine Antwort
den ist —, daß der Speicher nach einem vorgeschriebe- gibt, wird daran festgestellt, daß aus dem Speicherwerk
nen Schema betrieben werden soll (z. B. alle zwei Takte 5 kein Bestätigungssignal eintrifft oder die Daten nicht
ein Wort), das durch den Speicher gesteuert wird. vollständig durch ein Speicherwerk 11 übertragen wur-
We F i g. 10 zu entnehmen Jst, enthält die Speicher- den.
Verbindungseinheit neun Funktionseinheiten, die jeizt Ein zweiter, von der Speicherverbmdungseinhert festbeschrieben werden, gestallter Fehler ist die Disparität. Dieser Fehler wird
Die Prioritätslogik 101 ist dafür verantwortlich, dem 10 daran erkannt, daß die Speicherverbindungseinheit 22 anfordernden Element das die höchste Priorität auf- aus dem Speicher ausgelesene Daten oder Daten aus weist die Dienste der Speicherverbindungseinheit 22 zu dem Iiiterpretiererteil des Prozessors mit falscher Parigewährleisten. Eine Steaerwortwähllogik 102 ist verant- tat erhält Wenn ein »kein Zugriff zum Speicher«- oder wortlich für die Übertragung des Elementsteuerwortes ein Paritätsfehler festgestellt wird, dann wird das Pro- ECWdes anfordernden Elements zu einem Steuerwort- 15 zessor-Fehlerregister in der angegebenen Weise gelaregister 104 in Abhängigkeit von der Prioritätslogik 1OL den.
Das Sieuerwortregister 104 ist ein 64-Bit-Register und Es gibt zwei Arten von Fehlern, die vom fpeicher wird zum Speichern des Elementsteuerwortes ECW festgestellt und der Speicherverbindungseinheit 22 mitverwendet während es von einem Hauptsteuerteil 106 geteilt werden: Unkorrigierbare und korrigierbare Fehausgeführt und auf den neuesten Stand gebracht wird. 20 ler. Diese beiden Fehlerarten werden der Speicherver-Der Hauptsteuerteil 106 enthält die zur Ausführung al- bindungseinheit 22 jeweils als Signal »Fehlerunterbreler Operationen der Speicherverbindungseinheit erfor- chung 1« und als Signal »Fehlerunterbrechung 2« zugederliche Steuerlogik, einschließlich der Steuerungen, die führt Die Speicherverbindungseinheit sendet jedoch zur Vervollständigung der Empfänger- und Treiber- nur ein Fehlersignal an den Interpretiererteil des Prokanäle erforderlich sind. Ein Speicherpufferregister 105, 25 zessors.
bei dem es sich um ein 64-Bit-Register handelt wird zur Wenn das Speicherwerk 11 während einer Operation | Zwischenspeicherung aller über die Informationsver- einer Speicherverbindungseinheit 22 das Signal »Fehbindung in den Speicher eingegebenen oder aus dem lerunterbrechung 1« (unkorrigierbarer Fehler) feststellt Speicher ausgegebenen Daten verwendet Ein Daten- wird die Operation der Speicherverbindungseinheit bepufferregister 103, bei dem es sich ebenfalls um ein 30 endet und der Prozessor von diesem Vorgang unterrich-64-EJt-Register handelt, wird zur Zwischenspeicherung tet Wenn der Fehler während der Zeit mitgeteilt wird, aller Daten verwendet die zwischen dem anfordernden in der eine Speicherverbindungseinheit nicht zusammen Element des Prozessors und der Speicherverbindungs- mit dem mitteilenden Speicherwerk in Betrieb ist zeicheinheit !beitragen werden. Dieses Register wird für net die Speicherverbindungseinheit 22 diesen Fehler Längenübertragungsoperationen verwendet bei denen 35 auf, doch führt sie die laufende Operation zu Ende,
die Verknüpfung von Datenfeldern, wie bereits er- Das Signal »Fehlerunterbrechung 2« (korrigierbarer wähnt erforderlich ist Ein Paritätsgenerator und -prü- Fehler) ist ein Fehlersignal, das die Speicherverbinfer 107 dient zur Erzeugung von Paritäten bei allen dungseinheit veranlaßt, dem Prozessor diesen Fehler Wörtern, die in den Speicher übertragen werden, und mitzuteilen, doch läuft die Operation wie gewöhnlich ab. zur Prüfung der Parität von Wörtern, die aus dem Spei- 40 Bei dem soweit beschriebenen System wird das der eher geholt werden. Empfänger und Treiber fOO enthal- Trenneinheit zugeführte Speichersteuerwort MCW in ten 16 Gruppen aus Empfänger- und Treiberschaltun- der Steuervorrichtung 68 gespeichert die in Fig. 7dargen in der Speicherverbindungseinheit 22, und zwar ei- gestellt ist Dieses Steuerwort MCW enthält die absolune Gruppe pro Speicherwerkschnittstelle. Der Zustand te Adresse des Anfangsbits des zu speichernden oder zu dieser Gruppen wird durch den Hauptsteuerteii iö6 be- 45 lesenden Feldes und die Länge des Feldes. Aus dieser stimmt und nur jeweils eine Gruppe ist zu einer be- Information werden die absoluten Adressen eines stimmten Zeit aktiv. Wortspeicherplatzes, der das Anfangsbit enthält und
Das in Fig. 10 nicht dargestellte Prozessor-Fehlerre- des nächsten benachbarten Wortspeicherplatzes ergister PER ist ein 64-Bit-Register und dient zur Erleich- zeugt und in die Speicheradressenregister 92MAR nach terung der Korrektur von Fehlern, die beim Anwählen 50 F i g. 6 übertragen. Während einer Leseoj.· -ration wird der Ebene ί auftreten, und zwar durch Speichern aller das ausgewählte Feid von der Eingabe- und Aus'esevorverfügbaren Steuerinformationen, die sich auf den Zu- richtung 61 (bei der es sich um eine Schiebeschaltung griff beziehen, bei dem die Unterbrechung aufgetreten oder einen Walzenschalter handelt) aus seinem augenist Das Prozessor-Fehlerregister kann durch das Pro- blicklichen Bitspeicherplatz in dem Informationsregigramm nach oben an die Spitze des Wertestapels ge- 55 ster 60 so verschoben, daß das erste Bit des ausgewählbracht werden. Wenn das Prozessor-hehlerregister ein- ten Feldes schließlich in der ersten Bitsteiie des Äusgamal mit Fehlerinformationen geladen ist kann es nicht beregisters 63 angeordnet ist Wenn das Feld so lang ist eher wieder geladen werden, als bis es gelöscht ist Das daß es mehr als zwei benachbarte Wortspeicherplätze Löschen des Prozessor-Fehlerregisters erfolgt dadurch, überlappt dann erzeugt die Steuervorrichtung 68 die daß es ausgelesen wird. Es wird niemals geladen, wenn 60 Adressen der nächsten beiden benachbarten Wortspeikeine Unterbrechung erfolgt cherplätze, um die übrigen Bits auszulesen, die erforder-
Bei der Überfragung über die Speicherverbindungs- Hch sind, um das Feld zu vervollständigen, wobei diese
einheit 22 können zwei Arten von Fehlern auftreten: Bits wieder aus dem Informationsregister 60 hinaus und
Die von der Speicherverbindungseinheit festgestellten in entsprechende Bitspeicherplätze des Ausgaberegi- |
Fehler, und die vom Speicher festgestellten Fehler. Ein 65 sters 63 geschoben werden, so daß die Informations- |
derartiger, von der Speicherverbindungseinheit festge- übertragung in die anfordernde Vorrichtung eine Folge
stellter Fehler ist der Fehler »kein Zugriff zum Spei- von 64-Bit-Wörtern ist, von denen das letzte Wort als
eher«. Dieser Fehler wird daran festgestellt, daß die erste Gruppe von Bits diejenigen Bits enthält, die zur
Vervollständigung des Feldes notwendig sind, wobei die übrigen Bits Null sind.
Während einer Speicheroperation bestimmt die in der Steuervorrichtung 68 gespeicherte Information wieder die absolute Adresse des Anfangsbits im Speicher, in dem das Feld gespeichert werden soll, und die Länge des Feldes, aus dem die absolute Adresse des jeweiligen Paares benachbarter Wortspeicherplätze errechnet
werden kann. Dieses Feld wird aus der anfordernden Vorrichtung als Folge von 64-Bit-Wörtern übertragen, deren Anzahl gleich der zur Übertragung des betreffenden Feldes erforderlichen Anzahl ist Die Steuervorrichtung 63 hält wieder Schritt mit den übertragenen Bits und erzeugt neue Paare von Speicheradressen, wie es zur Vervoliständigung der Speicherung des Feldes erforderlich ist
Hierzu 8 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Informationsverarbeitungsanlage mit mindestens einem Prozessor, einem mehreren peripheren Geräten zugeordneten Eingabe/Ausgabewerk, mehreren wortorganisierten Speicherwerken, bei denen der Zugriff zu einem Datenfeld variabler Länge mittels eines vom Prozessor oder dem Eingabe/Ausgabewerk abgegebenen Steuerwortes durch Angabe der Anfangsposition und der Länge der in den Speicherwerken gespeicherten Datenwörter erfolgt, wobei das Datenfeld aus einem oder mehreren Datenwörtern oder Teilen davon bestehen kann, und einer den Prozessor, das Eingabe/Ausgabewerk und die Speicherwerke verbindenden Speicherverbindungseinheit, dadurch gekennzeichnet, daß jedem Speicherwerk (11) eine Zugriffsvorrichtung (FlU 13) zugeordnet ist, daß die Zugriffsvorrichtung (FIU i3) eine Steuervorrichtung (68) aufweist, dei das Steuerwori ''MCW, Fig. 12) zuführbar ist, und daß eine auf die Steuervorrichtung (6S) ansprechende Adressiervorrichtung(MAR92, Fig.6) vorgesehen ist, die zwei benachbarte Wortspeicherzellen im Speicher adressiert, von denen die erste den ersten Abschnitt des Feldes enthält
Z Informationsverarbeitungsanlage nach Anspruch 1 mit mehreren Speichern mit direktem Zugriff, dadurch gekennzeichnet, daß jeweils höchstens zwei Speichern (F i g. 5:12a, 126) eine Zugriffsvorrichtung (FIU 13) zugeordnet ist
3. Informationsverarbeitungsanlage nach An-.spruch 1 oder 2, dadurch gekennzeichnet, daß die Zugriffsvorrichtung (FIU 13) eine Maskiervorrichtung (62) enthält die die Eingibt derjenigen Bits in ein Ausgaberegister (63) der Zugriffsvorrichtung (FiU 13) verhindert, weiche nicht zum Feld gehören.
DE2054830A 1969-11-28 1970-11-07 Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge Expired DE2054830C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US88053569A 1969-11-28 1969-11-28

Publications (3)

Publication Number Publication Date
DE2054830A1 DE2054830A1 (de) 1971-06-09
DE2054830B2 DE2054830B2 (de) 1976-04-08
DE2054830C3 true DE2054830C3 (de) 1984-03-01

Family

ID=25376496

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2054830A Expired DE2054830C3 (de) 1969-11-28 1970-11-07 Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge

Country Status (10)

Country Link
US (1) US3680058A (de)
JP (1) JPS5113540B1 (de)
BE (1) BE758811A (de)
CA (1) CA945688A (de)
CH (1) CH532288A (de)
DE (1) DE2054830C3 (de)
FR (1) FR2069370A5 (de)
GB (1) GB1336981A (de)
NL (1) NL176888C (de)
SE (1) SE366599B (de)

Families Citing this family (20)

* 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
US4028675A (en) * 1973-05-14 1977-06-07 Hewlett-Packard Company Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system
US4068299A (en) * 1973-12-13 1978-01-10 Honeywell Information Systems, Inc. Data processing system incorporating a logical compare instruction
FR111574A (de) * 1973-12-13 1900-01-01
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4135242A (en) * 1977-11-07 1979-01-16 Ncr Corporation Method and processor having bit-addressable scratch pad memory
CA1128212A (en) * 1979-01-02 1982-07-20 Jerry L. Kindell Apparatus for reformating a binary number
US4467443A (en) * 1979-07-30 1984-08-21 Burroughs Corporation Bit addressable variable length memory system
GB2117945A (en) * 1982-04-01 1983-10-19 Raytheon Co Memory data transfer
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field
US5034900A (en) * 1984-10-05 1991-07-23 Hitachi, Ltd. Method and apparatus for bit operational process
US6552730B1 (en) 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
US5210835A (en) * 1986-08-27 1993-05-11 Ken Sakamura Data processing system having apparatus for increasing the execution speed of bit field instructions
JP2520882B2 (ja) * 1986-08-27 1996-07-31 株式会社日立製作所 デ−タ処理装置およびデ−タ処理方法
DE3837847A1 (de) * 1988-02-19 1989-08-31 Hercules Computer Technology N Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks
US7191375B2 (en) * 2001-12-28 2007-03-13 Intel Corporation Method and apparatus for signaling an error condition to an agent not expecting a completion
US7184399B2 (en) * 2001-12-28 2007-02-27 Intel Corporation Method for handling completion packets with a non-successful completion status
US7581026B2 (en) * 2001-12-28 2009-08-25 Intel Corporation Communicating transaction types between agents in a computer system using packet headers including format and type fields
US7099318B2 (en) * 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
EP2863566B1 (de) 2013-10-18 2020-09-02 Université de Nantes Verfahren zur Rekonstruktion eines Datenblocks und Vorrichtung zur Verwendung davon

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3109162A (en) * 1959-01-15 1963-10-29 Ibm Data boundary cross-over and/or advance data access system
US3331056A (en) * 1964-07-15 1967-07-11 Honeywell Inc Variable width addressing arrangement
US3374467A (en) * 1965-05-27 1968-03-19 Lear Siegler Inc Digital data processor
US3401375A (en) * 1965-10-01 1968-09-10 Digital Equipment Corp Apparatus for performing character operations
US3387280A (en) * 1965-10-04 1968-06-04 Sperry Rand Corp Automatic packing and unpacking of esi transfers
US3411139A (en) * 1965-11-26 1968-11-12 Burroughs Corp Modular multi-computing data processing system
US3500337A (en) * 1967-09-27 1970-03-10 Ibm Data handling system employing a full word main memory transfer with individual indirect byte addressing and processing
US3581287A (en) * 1969-02-10 1971-05-25 Sanders Associates Inc Apparatus for altering computer memory by bit, byte or word
US3577130A (en) * 1969-10-03 1971-05-04 Fairchild Camera Instr Co Means for limiting field length of computed data

Also Published As

Publication number Publication date
US3680058A (en) 1972-07-25
JPS5113540B1 (de) 1976-04-30
CA945688A (en) 1974-04-16
DE2054830B2 (de) 1976-04-08
DE2054830A1 (de) 1971-06-09
SE366599B (de) 1974-04-29
NL176888B (nl) 1985-01-16
BE758811A (fr) 1971-04-16
GB1336981A (en) 1973-11-14
NL176888C (nl) 1985-06-17
FR2069370A5 (de) 1971-09-03
NL7016736A (de) 1971-06-02
CH532288A (de) 1972-12-31

Similar Documents

Publication Publication Date Title
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2455803C2 (de) Mehrprozessor-Datenverarbeitungsanlage
EP0010198B1 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE3146356A1 (de) Datenverarbeitungssystem
CH619309A5 (de)
DE2844357A1 (de) Speichererweiterung
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
CH615521A5 (de)
DE68929080T2 (de) Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor
EP0006164A1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2353635C2 (de) Vorrichtung zur Datenverarbeitung
DE1774052B1 (de) Rechner
DE1549531A1 (de) Digitale Rechenanlage
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
CH668834A5 (de) Verfahren zum kanalisieren des datenstroms von einer mehrzahl datenquellen an einen datenschreiber und einrichtung zur ausfuehrung dieses verfahrens.
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3338329C2 (de)
DE2144051A1 (de) Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage
DE3545937A1 (de) Mikroprozessor
DE4135031C2 (de) Eingabe/Ausgabe-Einrichtung und Verfahren zum Betreiben einer Eingabe/Ausgabe-Einrichtung
DE3025167C2 (de) Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
8228 New agent
8228 New agent

Free format text: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING., PAT.-ANW., 2800 BREMEN

8281 Inventor (new situation)

Free format text: DESANTIS, ALFRED J., NORRISTOWN, PA., US BEERS, LEROY W., EXTON, PA., US WHITE, JAMES A., WEST CHESTER, PA., US MOYSEY, JOHN A., MALVERN, PA., US

C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee