DE2054830A1 - Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher - Google Patents

Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher

Info

Publication number
DE2054830A1
DE2054830A1 DE19702054830 DE2054830A DE2054830A1 DE 2054830 A1 DE2054830 A1 DE 2054830A1 DE 19702054830 DE19702054830 DE 19702054830 DE 2054830 A DE2054830 A DE 2054830A DE 2054830 A1 DE2054830 A1 DE 2054830A1
Authority
DE
Germany
Prior art keywords
memory
word
bits
bit
register
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.)
Granted
Application number
DE19702054830
Other languages
English (en)
Other versions
DE2054830C3 (de
DE2054830B2 (de
Inventor
L Beers
Santis A De
J Moysey
J White
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; CALCULATING OR 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

Description

205483Q
"Βη,Ί flan l ernt'oin, den 6. TT τ ν. Dipl.-lng. Horst Rose
Dipl.-lng. Peter Kos el
Patentanwälte
Bad Gandersheim
Hohenhöfen 5
Oorpnration
vom 6. November 197*^
BURROUGHS CORPORATION, Detroit, VStA
Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren für einen Zugriff zu einem derartigen Speicher
Die Erfindung betrifft ein Informationsverarbeitungssystem mit einem wortstrukturierten (oder wortorganisierten) Speicher bzw. einer derartigen Speichereinheit (auch Freifeldspeicher genannt) mit einer Zugriffvorrichtung und ein Verfahren für einen Zugriff zu einer derartigen Speichereinheit. Bei diesem System können Operanden und Datensegmente irgendein beliebig großes Format aufweisen.
10982A/16 7
Digitale Großrechenanlagen oder -datenverarbeitungssysteme werden häufig zur Multiprogrammverarbeitung verwendet. Das heißt, sie haben die Möglichkeit, mehrere voneinander unabhängige Programme gleichzeitig ablaufen zu lassen. Dazu gehört die sogenannte "Stapelverarbeitung·1, "Realzeitverarbeitung" und das sogenannte "time sharing". Um mehrere dieser unzusammenhängenden Aufgaben oder "Tasks" durchführen zu können, sind bekannte Systeme mit sogenannten "Betriebssystemen" oder Steuerprogrammen versehen, die solche Vorgänge wie die Steuerung der Reihenfolge der Tasks, Speicherzuordnung oder Speieherzuweisung und dergleichen überwachen. Das Betriebssystem enthält auch die verschiedenen Kompilierer, auch "Übersetzer" genannt, der in einer problemorientierten Programmiersprache abgefaßte Ursprungsanweisungen in Zielanweisungen einer maschinenorientierten Programmiersprache umwandelt (kompiliert), d.h. er gestattet dem Programmierer die Verwendung verschiedener Programmiersprachen, ohne daß dieser den speziellen Schaltungsaufbau der betreffenden Anlage kennen muß. Dabei beeinfluß die Art der Aufgaben, für die die Maschine verwendet werden soll, auch das Betriebssystem, das seinerseits die Ausbildung der Anlage selbst beeinflußt. Wenn die Maschine problemorientiert ist, dann ist das Überwachungsprogramm so aufgestellt, daß es eine eingegebene Folge von Programmen und dessen zugehörige Eingabedaten verarbeitet. Wenn die Maschine dagegen auf Realzeit- oder time-sharing-Betrieb ausgelegt ist, dann erkennt das Überwachungsprogramm Teile eingegebener Daten als solche, die der Vielzahl von Verarbeitungsprogrammen zugeleitet werden müssen. Wenn die Maschine auf timesharing-Betrieb ausgelegt ist, dann müssen verschiedene Programme und zugehörige Hilfsmittel überwacht werden.
109824/1670
Obwohl es möglich ist, ein Einprozessorsystem mehrere Programme gleichzeitig verarbeiten zu lassen, erhält man doch eine größere Flexibilität, wenn man ein Multiprozessorsystem verwendet, bei dem mehrere Prozesse oder Programme mehreren Prozessoren zugewiesen werden. Beispiele derartiger Multiprozessorsysteme sind in den USA-Patentschriften 3 419 849 und 3 411 139 beschrieben. Sin zentraler Prozessor (auch Zentraleinheit genannt), wie er bei dem System nach der USA-Patentschrift 3 411 139 verwendet wird, ist in der USA-Patentschrift 3 401 376 beschrieben.
Bei den beschriebenen Systemen werden Betriebssysteme verwendet, die für Multiprozessorsysteme aufgestellt sind. Ein wesentlicher Unterschied der Erfindung besteht darin, daß der Prozessor (die Prozessoreinheit) eine Schaltungsanordnung enthält, mit der es möglich ist, Systemanweisungen (auch Befehle genannt) mit größerer Geschwindigkeit als bisher auszuführen. Das Betriebssystem nach der Erfindung und die Schaltung zur Ausführung dieses Betriebssystems sind insbesondere so aufgebaut, daß die Anlage für einen Multitask-, einen timesharing-, einen Realzeit- oder einen Stapelverarbeitungsbetrieb besser geeignet ist.
Besonders vorteilhaft sind rekursive oder Wiedereintritts-Systemprogramrae, wie Dienstprogramme. Ferner ist es vorteilhaft, wenn diese Rekursivität in einer Hierarchie von Ebenen und nicht nur einer Ebene vorliegt. Ferner ist es vorteilhaft und auch notwendig, bestimmte Systemprogramme sowie Benutzerprogramme im Speicher vor einem unerwünschten Aufruf, einer unerwünschten Eingabe oder einem unerwünschten Eintritt durch unzusammenhängende Prozesse zu
109824/1670
schützen, die anderswo in dem System ausgeführt werden. Ein weiterer Vorteil ist die Bildung von Funktionen, die verschiedenen Ursprungssprachen gemeinsam sind und durch Schaltungsanordnungen verwirklicht werden, wo es möglich ist, um die Ausführungszeit zu verkürzen.
Man hat verschiedene Programmiersprachen oder Ursprungssprachen entwickelt, die dem Benutzer die Aufstellung von Programmen ohne spezielle Kenntnis der jeweiligen Maschinensprache gestatten. Zu diesen verschiedenen Programmiersprachen gehören Fortran, Cobol, Algol und PL/1. Ein besonderes Problem bei der Entwicklung von Kompilierern oder Übersetzern für die Ursprungssprachen besteht darin, daß nicht nur verschiedene Arten von Operatoren, sondern auch verschiedene Anweisungsformate (Befehlsformate) und Datenstrukturen verwendet werden. Diese Unterschiede im Strukturformat und in den Operatoren sind zum Teil in den verschiedenen Speicheroganisationen begründet, die für verschiedene Verarbeitungssysteme ausgebildet sind. Wenn daher das eine System für eine bestimmte Programmiersprache besonders geeignet ist, muß es nicht ebenso gut für irgendeine andere Programmiersprache geeignet sein. Man strebt daher eine Speicherorganisation an, die frei von irgendeiner internen Struktur ist und die sich an Daten- und Anweisungs- bzw. Befehlssegmente mit einer nahezu unendlichen Vielzahl von Größen anpassen kann. Ein derart strukturfreier Speicher kann sich jedoch nicht nur an Informationssegmente mit unterschiedlicher Größe anpassen, sondern er gestattet auch eine größere Datenpackungsdichte.
Es ist unpraktisch, einen vollständig bitadressierbaren Speicher zu bauen, daher sind Speicher wort- oder byte-
109824/1670
orientiert. Bei bekannten wortorientierten Speichern ist es möglich, an einem ausgewählten Byte-Speicherplatz zu speichern oder zu lesen. Dabei ist es jedoch nicht möglich, ein Feld beliebiger Größe zu wählen, das also größer oder kleiner als ein Byte ist und an irgendeinem ausgewählten Bit-Speicherplatz beginnen kann. Dies ist besonders zur Lösung verschiedener Aufgaben vorteilhaft, für die verschiedene Programmsprachen und Datenformate entwickelt wurden.
Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Multiprozessorsystem zu schaffen, das für zahlreiche verschiedene Anwendungsfälle geeignet ist, wie time sharing, Lösung wissenschaftlicher Probleme und andere Datenverarbeitungsaufgaben. Dieses Multiprozessorsystem soll insbesondere Daten mit komplizierten Strukturen verarbeiten können, die sowohl verschachtelt als auch aus Elementen veränderbarer Art und Länge zusammengesetzt sein können. Dieses Multiprozessorsystem soll gleichzeitig für ausgefeilte Programmstrukturen geeignet sein, die durch derzeitige und zukünftige Ursprungssprachen bestimmt werden.
Obwohl es unpraktisch ist, eine Speichereinheit zu bauen, die individuell bitadressierbar ist, ist die Erfindung auf Trenn- und Schnittstellen-Verbindungseinheiten zwischen dem Speicher und den verschiedenen Anforderungseinheiten zum Adressieren zweier benachbarter Wortspeicherplätze in einem oder mehreren dieser Speicherwerke und anschließendes Auswählen des gewünschten Feldes aus diesen beiden Speicherplätzen gerichtet. Dies ist insbesondere bei einem Multiprozeßsystem mit mehreren Speichereinheiten vorteilhaft.
1098 24/1670
Nach der Erfindung ist daher die Zugriffvorrichtung derart ausgebildet, daß sie für einen Zugriff zu einem Feld in der Speichereinheit in Übereinstimmung mit einem Steuerwort sorgt, das einen vorgegebenen Bitspeicherplatz in der Speichereinheit als Anfangsspeicherplatz und auch eine vorgegebene Anzahl von Bits bis zu der in der Speichereinheit verbleibenden Anzahl von Bits vorschreiben kann.
Vorzugsweise enthält die Zugriffvorrichtung nach der Erfindung eine Steuervorrichtung, der ein Steuerwort zuführbar ist, das einen Anfangsbitspeicherplatz eines Feldes in der Speichereinheit und die Anzahl der Bitspeicherplätze in dem Feld vorschreibt, und eine Adress4ölvorrichtung, die auf die Steuervorrichtung anspricht und zwei benachbarte Wortspeicherplätze in der Speichereinheit adressiert, von denen der erste Speicherplatz den ersten Teil des Feldes enthält.
Bei einem Informationsverarbeitungssystem mit mehreren wortstrukturierten (wortorganisierten) Speichern, einer Speicher-Zugriffvorrichtung und einer Speicherzugriff-Anforderungsvorrichtung, besteht die Erfindung darin, daß an die Zugriffvorrichtung eine Schnittstellen-Verbindungseinheit angeschlossen ist und dieser ein Steuerwort zur Übertragung in den oder zum Auslesen aus dem Speicher aus verschiedenen Bitfeldern zuführt und so ausgebildet ist, daß sie ein zweites Steuerwort in eine zweite Speichereinheit überträgt, wenn das Bitfeld in Teilen des ersten und des zweiten Speichers vorhanden ist.
Das heißt, ein Merkmal der Erfindung besteht in einer Adressierschaltung für eine oder mehrere Speichereinheiten zum Auswählen irgendeines Feldes veränderbarer Länge aus einer Speichereinheit durch Adressieren zweier
109824/1670
benachbarter WortSpeicherplätze und Auswählen eines gewünschten Feldes aus diesem Paar.
Ein weiteres Merkmal der Erfindung ist eine Schaltung, die so ausgebildet ist, daß sie nacheinander irgendeine Anzahl benachbarter Wortspeicherplatzpaare zum Adressieren eines Feldes irgendeiner gewünschten Länge auswählt.
Ein weiteres Merkmal der Erfindung ist ein Schiebenetzwerk in Verbindung mit der Adressierschaltung zum Auswählen des gewünschten Feldes aus dem Wortspeicherplatzpaar zur Übertragung an eine Anforderungsvorrichtung während einer Leseoperation und auch zum Anordnen des ausgewählten Feldes für eine richtige Eingabe in die Speichereinheit während einer Speicheroperation.
Ein weiteres Merkmal der Erfindung sind Schnittstellen-Verbindungseinheiten, die für jede der Anforderungsvorrichtungen zur Bildung von Speichersteuerwörtern zur Auslösung des Auslesens und Speicherns ausgewählter Felder und zur Bildung zusätzlicher Steuerwörter, wenn das ausgewählte Feld zwei oder mehrere Speicherwerke überlappt, vorgesehen.sind.
Das Zugriffverfahren besteht nach der Erfindung darin, daß nacheinander verschieden große Gruppen aus Bits zum Abspeichern in dem Speicher aufgenommen und jede Bitgruppe in entsprechenden Feldplätzen in Teilen der Wortstrukturen in dem strukturierten Speicher so angeordnet werden, daß einige der Feldplätze benachbarte Wortstrukturen überlappen.
Die Erfindung und ihre Weiterbildungen werden im folgenden anhand von Zeichnungen ausführlicher beschrieben.
i 0982Λ / 1670
Fig. 1 ist eine schematische Darstellung eines Systems, bei dem die Erfindung angewandt wird.
Fig. 2 ist eine schematische Darstellung eines Prozessors, bei dem die Erfindung angewandt wird.
Fig. 3 ist eine schematische Darstellung des Interpretiererteils des Prozessors.
Fig. 4 ist eine Darstellung des nach der Erfindung angewandten Deskriptorformats.
Fig. 5 ist eine schematische Darstellung eines Speicherwerks nach Fig. 1.
Fig. 6 ist eine schematische Darstellung einer Speichereinheit nach Fig. 5.
Fig. 7 ist eine schematische Darstellung einer Feldtrenneinheit nach Fig. 6.
Fig. 8 ist eine Darstellung der Sehnittstellen-Verbindungseinheit zwischen einer Speichereinheit und einer Feldtrenneinheit.
Fig. 9 ist eine Darstellung einer Schnittstellen-Verbindungseinheit zwischen einer Feldtrenneinheit und einer Änforderungsvorrichtung.
Fig. 10 ist eine schematische Darstellung der Speicher-Schnittstellen-Verbindungseinheit eines Prozessors nach Fig. 2.
109824/1670
Fig. 11 ist eine Darstellung des Elementsteuerwortformats und
Fig. 12 ist eine Darstellung eines Speichersteuerwortformats.
Multiprozess-Systeme und Multiprograram-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 Elementarprozess ist eine serielle Ausführung von Operatoren durch einen einzigen Prozessor. Ein Prozeß kann in Unterprozesse aufgeteilt oder Teil eines Hauptprozesses ssin. Auf diese Weise läßt sich eine Prozeßhierarchie aufstellen. Der Begriff "Prozeß" kann als eine Assoziierung zwischen einem Prozessor und Adressenraum definiert werden. Der Adressenraum ist die Gruppe aller Speicher, die durch diesen Prozeß zugänglich sind. Der gesamte in dem System zur Verfügung stehende Speicherraum kann so betrachtet werden, als sei in ihm ein Globalprozeß 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 Systems nach der Erfindung 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 Ililfsstruktur im Arbeitsspeicher zum Speichern der Kennzeichnung eines neuen Arbeitsraumes oder neuer Arbeitsräume versehen ist. Diese Illlfs-
1 09824/ 1 670
struktur, die noch ausführlicher beschrieben wird, gestattet jedem Prozessor mit der Relation zwischen dem gesamten Globalprozeßraum (Arbeitsspeicher) 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 verschiedener Benutzerprogramme während des time sharing und generell zum Schutz der verschiedenen Prozesse erforderlich ist. Wenn ein bestimmter Prozessor von einem Hauptprozeß auf einen Unterprozeß übergeht, werden zugeordnete Hilfsmittel in der Hilfsmittelstruktur des Prozessors, übereinandergestapelt und aus der Prozeßhilfsmittelstruktur entfernt, wenn der Prozessor aus dem Unterprozeß in den Hauptprozeß zurückkehrt. Die Hilfsmittelstruktur enthält daher alle dynamisch zugeordneten Hilfsmittel, die ihr Prozessor für irgendeinen bestimmten Unterprozeß eventuell benötigt. Ein bestimmter Systemmanagementprozeß 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 allgemeiner Form eine Beschreibung der Art, in der die verschiedenen Speicherebenen verwendet werden. Im folgenden soll kurz das nach der Erfindung derart ausgebildete System beschrieben werden, daß es diesen Prozeßaufbau verwenden kann. Fig. 1 stellt schematisch ein System dar, bei dem die Erfindung angewandt ist. Dieses System enthält mehrere zentrale
109824/1670
Prozessorwerke 10 und ein oder mehrere EA-Steuerwerke (EA = Eingabe/Ausgabe), 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 eine Trenneinheit 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 (auch Hilfs- oder Ergänzungsspeicher genannt) wird im folgeadeu als Speicher der Ebene 2 bezeichnet. Von den EA-Steuerwerken 18 werden ein oder mehrere zur Herstellung der Verbindung zu den Peripheriegeräten 19 verwendet.
Der in Fig. 1 dargestellte Aufbau unterscheidet sich nicht wesentlich von dem nach der US-Patentschrift 3 411 139. Das 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 nach der Erfindung angepaßt sind, um diese Hierarchie anzuwenden.
Die Hauptmerkmale der Erfindung sind sowohl in der Art zu sehen, in der die Speicherwerke 12 angepaßt sind, um der Einrichtung als Freifeldspeicher zu erscheinen, und in der Art, in der die jeweiligen Prozessoren 10 ausgebildet sind, um diesen Speicher zur Anwendung der erwähnten Prozeßhierarchie zu benutzen.
Die wesentlichen Einzelheiten des Prozessors werden zunächst anhand von Fig. 2 allgemein beschrieben. Wie aus Fig. 2 zu ersehen ist, enthält der Prozessor 10 nach Fig. 1 eine Interpretierereinheit 21 und ein Rechenwerk 20.
109824/1670
Eine Speicherverbindungseinheit 22 (auch Speicher-Koppelelektronik oder Speicher-Schnittstelleneinheit genannt) dient als Verbindungseinheit zwischen dem Interpretierer 21 und den jeweiligen Speicherwerken 11 nach Fig. 1. Der Interpretierer 21 besteht aus vier Grundteilen: Einem Kernteil 23, einem Strukturpufferteil 24, einem Programmteil 25 und einem Unterbrechungsteil 26.
Die Hauptfunktion jedes Prozessors 10 besteht in der Aktivierung und Deaktivierung von Prozessen, der Steuerung von Informationsübertragungen zwischen Baueinheiten, der Bedienung von Unterbrechungen und der Ausführung von Rechenoperationen, die von einem Programm verlangt werden. Diese Funktionen werden unter der Leitung eines Hauptsteuerprogramms 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 gleichzeitige Pufferung bzw. Zwischenspeicherung von Informationen. Durch die Zentralisierung der Steuerung der funktionell unabhängigen Unterteile der Interpretierereinheit 21 wird die Ausführungsgeschwindigkeit erhöht und werden die Hardware-Kosten verringert. In jedem Prozessor ist es der Interpretierer 21, der die Bewegung von Programm und Daten steuert, für einen selbsttätigen Speicherschutz sorgt, auf Unterbrechungen und Steuerungen anspricht und die verschiedenen Stapel und Puffer im Prozessor leert und wieder füllt.
In dem Interpretierer liest (aus dem Speicher), interpretiert und führt der Programmteil 25 die Programmoperatoren in dem Programmstring aus. Durch den Kernteil 23 werden Deskriptoren, die in dem Programmstring in Abhängigkeit von dem Programmoperator, der gerade ausge-
109824/1670
führt wird, aufgerufen werden, gelesen, interpretiert, ausgeführt und auf den neuesten Stand gebracht. Der Strukturpufferteil 24 besteht aus einer Gruppe örtlicher Speicher, 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 Unterbrechungssignal durch, um eine Programmänderung zu bewirken.
Die Interpretierereinheit 21 ist dann so ausgebildet, daß sie die Verarbeitungs- oder Prozeßsteuerung in der Einrichtung mit Hilfe von Strukturoperatoren, die speziell für ein wirksames Management von Daten und Programmstrukturen ausgelegt sind, und mit Hilfe von Programmoperatoren übernimmt, die so ausgewählt sind, daß sie eine einfache Verwirklichung 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 dem System als Freifeldspeicher oder ohne Struktur erscheinen kann, sind die verschiedenen darin gespeicherten Prozesse und Informationssegmente natürlich strukturiert. Die Deskriptoren sind so beschaffen, daß sie die verschiedenen Informationsstrukturen im Speicher bezeichnen oder darauf hinweisen. Sie schreiben auch diese Strukturen und ihre Bedeutung in bezug auf den Prozeß vor, in dem sie vorkommen, oder in bezug auf den Hauptprozeß, wenn die Struktur selbst ein Unterprozeß ist.
1 0 9 8 2 Λ/1670
In diesem Sinne umfaßt das Aufrufen aller strukturierten Informationen in den verschiedenen Speicherebenen die Auswertung von Deskriptoren. Diese Auswertung wird durch den Kernteil 23 vorgenommen, wie es in Fig. 2 dargestellt ist. Nach Fig. 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 Interpretiererattribute bestimmen die Eigenschaften dieses gekennzeichneten Elements, und der Strukturausdruck enthält die Art der Struktur, in der das Element liegt, und dies bestimmt die Struktur und Strukturparameterfelder, die die Parameter vorgeben, die für einen Zugriff zu dieser Struktur erforderlich sind. Es sei anhand von Fig. darauf hingewiesen, daß jeder Deskriptor soviele Strukturausdrücke enthalten kann, wie zur Bestimmung oder Abgrenzung eines bestimmten Elements erforderlich sind.
Die Formate des Strukturausdrucksfeldes sind in Fig. 5 dargestellt. Neben dem allgemeinen Format sind zwei spezielle Strukturausdrucksarten dargestellt, bei denen es sich um die Segmentnummer und die Rufausdrücke handelt. Dies sind die zwei einzigen Strukturausdrucke, die eine vorbestimmte Größe haben. Die Segmentnummer ist stets mit einem 8-Bit-Index zum Anwählen des Hilfsmittelstapels als ihr Parameter versehen. Der Rufausdruck ist stets mit
109824/1670
einem Namen als Parameter versehen, der zur Bezeichnung von Deskriptoren verwendet wird. Nach dieser allgemeinen Beschreibung der Deskriptoren sei daran erinnert, daß ein Speichersteuerwort aus dem Deskriptor erzeugt wird.
Ausführliche Beschreibung des Systems A. Interpretierer
Das folgende bezieht sich auf Fig. 3, die die Schaltung ö?s Interpretierers 21 und insbesondere des Kernteils 23 zur Auswertung der jeweiligen Deskriptoren und Strukturoperatoren darstellt. Die Kern-Hardware enthält fünf Attributstapel 30 - 34 (für Stapel wird auch der Begriff Kellerspeicher verwandt), eine Deskriptor-Zusammensetzungs-Zerlegungs-Vorrichtung 35, ein Programm-Deskriptor-Steuerregister 36, ein Deskriptorausführungsregister 38 und Deskriptorsteuerwerke 39 sowie einen Programm/Deskriptor-Steuerstapel 37. Der Kernteil 23 erhält Daten aus Strukturpuffern 40, einem Wertstapel 42, einer Programmwalzenschaltung 43 und dem Rechenwerk 20, wie es in Fig. 2 dargestellt ist. Der Kernteil 23 überträgt Daten in die Strukturpuffer 40 und das Rechenwerk 20.
Jede der Strukturen im Speicher (Arbeitsspeicher) kann als in einem Adressenraum enthalten angesehen werden, der durch eine Adresse und eine Länge bestimmt ist. Bei der Strukturausdrucksauswertung arbeitet also jede Anweisung nach der Anfangsanweisung in diesem Ausdruck auf eine Behälteradresse, die im Behälteradressenstapel 32 nach Fig. 3 gespeichert ist, und auf eine Behälterlänge in Behälterlängenstapel 31, um eine geeignete Unterstruktur in dem Behälter zu bestimmen. Wenn das Unterfeld nicht
109824/1670
vollständig in dem so bestimmten Behälter enthalten ist, tritt ein Fehler auf. Wenn nicht anders vorgeschrieben, sind von bestimmten Anweisungen benötigte Parameter in dem Wertestapel zu finden, der in dem Arbeitsspeicher vorgesehen ist und den Wertestapelpuffern 42 nach Fig. Werte zuführt.
Der Attributsammeistapel 30 nach Fig. 3 sammelt dann Zugriffgestattungsattribute, Segmentnummern und Formatselektoren, die er während der Auswertung aus den verschiedenen Deskriptoren erhält. Die anderen vier Stapel 31..., 34 werden zur Strukturausdruckparameterbehandlung verwendet. Jeder Stapel besteht aus vier Wörtern, die 32 Bits lang sind. Die Stapel stehen bei allen Rechenoperationen mit dem Rechenwerk in Verbindung. Sie verwenden und modifizieren auch die in dem Struktur- und Deskriptorpuffer 40 gespeicherten Strukturausdrücke, und sie erhalten Parameter aus dem Wertstapel über Wertstapelpuffer 42 und die Programmwalzenschaltung 43. Die Stapel werden einzeln behandelt. Zwei der Stapel enthalten Behälterinformationen (Anfangsadresse und Länge), während die übrigen beiden Stapel Elementinformationen (Anfangsadresse und Länge) speichern. Die Stapel sind in Fig. 3 entsprechend beschriftet. Während der Auswertung speichern die Stapel Zwischenwerte aus diesen Behältern für Längeninformationen und Selbstidentifizierungsstrukturen. Am Ende jeder Strukturtypauswertung sind die Elementstapel leer, während die Behälterstapel ein Teilbezugszeichen für das Objekt aufweisen. Das Teilbezugszeichen ist eine Behälteradresse und eine Länge, die der Länge bis zu der Stelle entspricht, bis zu der der Deskriptor ausgewertet wurde.
109824/1670
B. Speicherwerke
Die Hauptaufgabe der Speicherwerke 12 nach Fig. 1 besteht darin, den anfordernden Geräten zu ermöglichen, Informationsfelder irgendwo aus dem oder in das Speichersystem herauszuholen oder einzugeben. Ein Informationsfeld ist als eine Anzahl von Bits definiert, deren Anfangsbitstelle irgendwo im Speichersystem sein kann. Fig. 1 stellt die Beziehung der Speicherwerke 12 zu den anderen Geräten des Systems dar. Es gibt drei Arten von anfordernden Geräten: Zentrale Prozessoren 10 (CPM = central processor module), Eingabe/Ausgabe-Steuerwerke 18 (I/O - input/ output) und die Speichererweiterungssteuerwerke 15 (MEC = memory extention controllers). Die maximale Anzahl von Speieherwerken, auf die das System ausgelegt sein kann, ist vorzugsweise 16, und jedes Speicherwerk soll in der Lage sein, jede beliebige Kombination von bis zu maximal 16 anfordernden Geräten zu bedienen. Die Speicherwerke sollen keinen Unterschied zwischen den anfordernden Geräten machen, so daß irgendeine Operation, die für ein anforderndes Gerät ausgeführt wird, für irgendein anderes anforderndes Gerät ausgeführt werden kann.
Wie in Fig. 1 dargestellt ist, bilden vorzugsweise zwei Speichereinheiten 12 (MSU = memory storage unit) in Verbindung mit jeweils einer Feldtrenneinheit 13 (FIU = field isolation unit) ein vollständiges Speicherwerk 11. In einem besonderen System können auch nur eine Speichereinheit 12 mit einer Trenneinheit 13 vorgesehen sein. Jede Speichereinheit 12 speichert Informationen in einem Kernspeicherstapel, obwohl andere Speicherarten für diesen Zweck verwendet werden können, und eine derartige Einheit soll die Fähigkeit haben, diese Information auf Anforderung
1Q9824/ 1670
auszugeben. Jede Speichereinheit 12 steht nur mit ihrer
eigenen Feldtrenneinheit 13 in Verbindung, so daß alle
Operationen in dem System zunächst eine bestimmte Trenneinheit durchlaufen, bevor sie begonnen werden.
Nach den Fig. 5 und 6 ist jede Speichereinheit 12 strukturorientiert und in mehrere Stapel unterteilt. Jeder Speicherstapel besteht vorzugsweise aus 8192 Plätzen (Zellen), von denen jeder 288 Informationsbits enthält. Von diesen 288 Bits werden 256 von dem System als Speicherraum und die übrigen 32 Bits intern als Fehlercodeinformation benutzt. Das Fehlercodebit soll nur zu den vorausgehenden 64 Informationsbits gehören. Jedesmal, wenn im Speicher Informationen gespeichert werden, werden diese Fehlercodebits in Abhängigkeit von der neuen Information im Stapelwort gesetzt.
C. Feldtrenneinheit (FIU)
Jede Feldtrenneinheit 13 ist mit einer Logik versehen, die es ermöglicht, Informationsfelder unabhängig von der Speicherstruktur herauszuholen oder einzugeben. Der Speicher wird daher vom anfragenden Gerät als ein kontinuierlicher Raum behandelt, der die Fähigkeit hat, Felder, die an irgendeiner Stelle (Bit) beginnen und sich bis zu irgendeiner vorgeschriebenen Länge fortsetzen, aufzunehmen .
Die Feldtrenneinheit 13 besteht aus 13 größeren Funktionseinheiten, die miteinander verbunden sind. Wie in Fig. 7 gezeigt ist, ist das Leseregister 60 ein 144-Bit-Register,
109824/1670
das zur Aufnahme einer Kopie von zwei Speicherwörtern verwendet wird. Die erste Gruppe aus 72 Bits ist daher eine Kopie des Speicherwortes, die das gegenwärtige Anfangsbit eines Feldes enthält, und die zweite Gruppe aus 72 Bits ist eine Kopie des Speicherwortes, das die Fortsetzung eines Feldes enthä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 Leseregister
60 zur Übertragung von Speicherwörtern zur Walzenlogik
61 für einen Feldentzug verwendet. Während der Speicheroperation wird das Leseregister 60 zur Wiedereinfügung von Bits eines Speicherwortes verwendet, die durch das Speichern eines neuen Feldes nicht geändert wurden.
Der Walzenteil 61 bildet das Schiebenetzwerk, das eine Kapazität zur Verschiebung 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 Trommel oder Walze 61 dazu verwendet, das Feld so zu positionieren, daß es linkberechtigt oder rechtsberechtigt ist, bevor es in das anfordernde Gerät übertragen wird. Während einer Speicheroperation wird die Walze 61 dazu verwendet, die eingegebenen Daten im richtigen Bitplatz des Speichers zu positionieren. Ein Maskengeber sorgt für die Fähigkeiten, ein Feld aus der Walzenausgabeschaltung auszuwählen und ins Ausgaberegister 63 oder ein Erzeugungsregister 64 zu tibertragen. Das ausgewählte Feld wird durch die Anfangsbit- und Längenfeldinformation bestimmt, die in dem Steuerwort enthalten ist, und auch durch die Art der angeforderten Operation. Ein Schiebenetzwerk, das hier
109824/1670
verwendet werden kann, wurde bereits an anderer Stelle vorgeschlagen (Deutsche Patentanmeldung P 20 00 275.9, 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 Feldtrenneinheit 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. Das Eingaberegister 66 sorgt auch für eine kurzzeitige Zwischenspeicherung während mindestens einer Taktperiode für die Datenübertragung aus dem anfordernden Gerät.
Ein Paritätsprüfer 67 dient zum Prüfen aller eingegebenen Datenwörter. Ein Paritätsbit soll eine Taktperiode nach der Datenübertragung empfangen werden.
Das Steuerwortregister 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 für einen Gleichlauf mit der genauen Anfangsposition und der übrigen Feldlänge dieser Operation sorgen.
109824/1670
Das Erzeugungsregister 64 ist ein 128-Bit-Register und dient zur Verknüpfung der Walzenteilausgabe ait der Leseregisterausgabe. Das Ergebnis ist ein Speicherwort. Das Erzeugungsregister 64 soll ferner das Speicherwort für mindestens eine Taktperiode festhalten, um den Codegenerator zu ermöglichen, Prüfcodebits zu erzeugen, bevor das Wort ins Speicherregister übertragen wird.
Das Speicherregister 69 ist ein 72-Bit-Register und wird zur Zwischenspeicherung des Datenwortes verwendet, das an einem Platz gespeichert werden soll, der durch das richtige Speicheradressenregister 92 (MAR - memory address register) nach Fig. 6 vorgeschrieben wird.
Der Codegenerator 70 dient zur Bildung für Prüfbits für alle Informationen, die im Speicher gespeichert werden. Diese Prüfbits stellen ein Mittel zur Feststellung von Bitfehlern zwischen der Feldtrenneinheit 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 Feldtrenneinheit festgestellt wird) und eines Speichereingabefehlers (eines durch eine falsche Stapelinformation bewirkten Fehlers).
Wenn Wörter aus dem Leseregister 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 Mach-
109824/1670
weis-und Bitkorrekturteil 72 den Nachweis eines 1-Bit-Fehlors oder eines 2-Bit-Fehlers. 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 το« Auftreten eines Fehlers und der Art des aufgetretenen Fehlers unterrichtet.
O. Arteitsspelcher-FIU-Verbindungsvorrichtung
Im folgenden wird die Verbindungsvorrichtung (auch Koppelelektronik oder Schnittstellenverbindungsvorrichtung genannt) «wischen der Speichereinheit 12 und der Feldtrenneinheit 13 anhand von Fig. 8 beschrieben. Diese Verbindungsvorrichtung enthält Steuerleitungen, Adressenleitungea und Datenleitungen. Wie in Fig. 8 dargestellt ist, ist dl· Verbindungsvorrichtung in dem Sinne repetitiv, daß die gleichen Arten von Übertragungsleitungen am jedem der vier Stapel führen, in denen jede der Speichereinheiten so organisiert ist, wie es anhand der Fig. 5 und 6 beschrieben wurde.
Nach Fig. 8 enthält die Verbindungsvorrichtung sum Stapel A 26 Adressenleitungen, die mur Übertragung einer 13-BIt-Adresse verwendet werden, die einen der 8192 Speicherplätze vorschreiben kann. Die Verbindungsvorrichtung zum Adressieren enthält 26 Leitungen, da die Speichereinheit 12 1- und 0-Ziffern für jedes Adressenbit benötigt.
Es gibt 72 Dateneingabeleitungen, die zur übertragung von Dateninformationen verwendet werden, die in einen Adres-•enapeicherplats eingegeben werden sollen. Entsprechend sind 72 Datenausgabeleitungen vorgesehen, die zur über-
109824/1670
2034830
tragung einer Kopie des aus einem adressierten Speicherplatz ausgelesenen Inhalts (72 Bits) in die Feldtrenneinheit dienen.
Die übrigen Steuerleitungen umfassen eine IMC-Leitung, die das Signal "Auslöse Speicherzyklus11 (IMC « initiate memory cycle) überträgt, und eine Leitung zur Übertragung des Lesebetriebssignals, das zum Auslöschen der übertragung von Daten aus einem Adressenspeicherplatz ins Speicherinformationsregister 91 (MIR - memory information register) dient, das in Fig. 6 dargestellt ist. Das Schreibbetriebsignal wird zur Freigabe der übertragung von Daten aas der Feldtrenneinheit 13 ins Speicherinformationsregister 91 verwendet. Das Löschsignal wird zum Löschen des Speicherinformationsregisters vor der Dateneingabe verwendet. Das Schreibtastsignal wird zum Eintasten von Daten ins Speicherinformationsregister verwendet, so daß sie für einen adressierten Speicherplatz zur Verfügung stehen. Das Lesedaten-Verfügbar-Signal dient dazu, die Feldtrenneinheit 13 (FIU) davon zu unterrichten, daß aus dem Adressenspeicherplatz ausgelesene Daten im Speicherinformationsregister 91 verfügbar sind.
E. Anforderer-FIU-Verbindungsvorrichtung
Die Verbindungsvorrichtung zwischen der Feldtrenneinheit 13 (FIU) und jedem der jeweiligen Anforderer ist in Fig. 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
109824/1670
205483Q
entweder von der Feldtrenneinheit 13 zum Anforderer oder vom Anforderer zur Feldtrenneinheit ü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 Fig. 9 zeigt, eine Anforderungssignalleitung, die ein von einem Anforderer abgegebenes Anforderungssignal zur Auswahl einer bestimmten Feldtrenneinheit überträgt. Es muß eine Taktperiode vor dem Anforderungsleitsignal auf EINS ("wahr") übergehen und solange auf EINS bleiben,bis das erste Bestätigungssignal von der Feldtrenneinheit eintrifft. Ein Anfo-rderungsleitsignal wird zur Feldtrenneinheit übertragen, um diese davon zu unterrichten, daß ein Steuerwort über die Informationsleitung übertragen wird. Zu Anfang geht das Anforderungsleitsignal eine Taktperiode nach dem Anforderungssignal auf EINS über, und es bleibt für die Dauer einer Taktperiode EINS, bevor das Steuerwort über die Informationsleitung übertragen wird. Es muß solange EINS bleiben, bis ein erstes Bestätigungssignal für jede Leseoperation oder Speicheroperation empfangen wird, dessen 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 Taktperlode vorausgehen, und zwar bei jedem Leitsignal, dessen Feldlänge gleich oder kleiner als 64 Bits ist.
Ein Datenleitsignal wird zur Feldtrenneinheit übertragen, um diese davon zu unterrichten, daß über die Informationsleitung ein Datenwort übertragen werden soll. Wenn die
10S824/1670
Feldlänge des Datenwortes größer als 64 Bits ist, folgt das Datenwortleitslgnal den "Sende-Daten-Signal". Wenn die Feldlänge des Datenwortes gleich oder kleiner als 64 Bits ist, wird das Datenwortleitsignal automatisch nach den 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 ausgelöst 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 Feldtrenneinheit (siehe Fig. 7) ein Datenwort 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 Daten-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 Feldtrenneinheit gesendet wurde.
Bin Sende-Daten-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 BINS steht, zeigt dem Anforderer an, daß er ein Datenwort-Leitsignal senden muß,
109824/1670
20S4830
bevor, er ein Datenwort sendet. Dieses Kontrollverfahren ist erforderlieh, um zu vermelden, daft der Anforderer wiesen muA, ob die Feldtrenneinheit eine Minimum- oder eine Maxlmum-Speichereinheitskonfiguration aufweist.
Das Signal Fehlerunterbrechung 1 informiert den Anforderer davon, dall die Feldtrenneinheit 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: Sin 2-Bit-Fehler beim Auslesen aus der Speichereinheit, ein Paritätsfehler im Steuerwort, ein unzulässiger Operationscode im Steuerwort, eine falsche Feldtrenneinheitsadresse 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 Feldtrenneinheit einen 1-Bit-Fehler bei einer Auslesung aus der Speichereinheit festgestellt hat. Das Fehlerunterbrechung-2-Signal hat eine Dauer von zwei Takten und wird zu dem anfordernden Gerät gesendet, das die Operation ausgelöst hat.
Die Anfordererparltätsleitung wird: zur übertragung des verzögerten Paritätsbits bei irgendeiner Anfordererübertragung in die Feldtrenneinheit verwendet. Die verzögerten Paritätsbits folgen dem übertragenen Wort stets nach einer Taktperiode und müssen eine Dauer von mindestens einer Taktperiode aufweisen.
109824/1670
F. Prozessor-Speicher-Verbindungseinheit
Anhand von Fig. 10 wird im folgenden die Anfordererseite der Anforderer-Feldtrenneinheit-Verbindungsvorrichtung beschrieben. Es sei daran erinnert, daß die Feldtrenneinheit Daten oder Steuerwörter empfangen und an irgendeinen Anforderer übertragen kann, sei es ein Prozessor, ein EA-Steuerwerk oder das Speichererweiterungssteuerwerk für den Speicher der Ebene 2. In Fig. 10 ist jedoch eine Schaltung dargestellt, die speziell für einen Prozessor ausgelegt ist. Die Schaltungsanordnung nach Fig. stellt daher die Speicher-Verbindungseinheit 22 dar, die in den Fig. 2 und 3 dargestellt ist.
Die Speicherverbindtuigseinheit 22 (MIU « memory interface unit) führt alle Übertragungen zwischen dem Prozessor und irgendeinem von bis zu maximal 16 Speicherwerken 11 durch. Die Speicherverbindungseinheit (HIU) führt alle Datenübertragungen in Form von feldorientierten Operationen durch und leitet die Speicherzugriffanforderungen durch die Funktionselemente des Prozessors auf der Basis zuvor zugeordneter Prioritäten. Die Zugriffprioritätszuordnung wird vom Prozessor vorgeschrieben und umfaßt die folgenden Elemente: Anzeige, Hilfsmittelstapelscheibe (oder -Abschnitt), Namenstapelpuffer, Programmsteuerstapel, Wertstapelpuffer, Deskriptionspuffer und Programmpuffer.
Wenn eines der Funktionselemente des Interpretierers 21 die Dienste der Speicherverbindungseinheit 22 anfordert, hebt es das Potential seiner "Zugriffanforderung"-Leitung, die zur Speicherverbindungseinheit führt, und führt es ein Elementsteuerwort (ECW - element control word), wie
109824/1670
205483Q
_ 28 -
es in Fig. 11 dargestellt ist, einer entsprechenden ECW-Leitung zu. Jede der ECW-Leitungen führt jeweils von einem der Elemente zu einer Steuerwortauswähllogik 102, wie es in Fig. 10 dargestellt ist. Wenn das anfordernde Element Priorität hat, überträgt die Speicherverbindungseinheit 22 das Elementsteuerwort in dessen Steuerwortregister 104 und bestimmt, welche der folgenden Operationen vorgeschrieben wird: Eine 1-Wort-Speicheroperation (Feldlänge kleiner als 64 Bits), eine Mehrfachwort-Speicheroperation (Feldlänge größer als 64 Bits) oder eine Leseoperation.
G. Steuerwortformat
Die verschiedenen Felder des in Fig. 11 dargestellten Formats des Elementsteuerwortes ECW haben folgende Bedeutung: Das Bit T identifiziert die Bedienungsanforderung als eine Lese- oder Speieheroperation, das Rechtfertigungsbit J identifiziert die Rechtfertigung, die eine einzige Wortlose- oder -Speicheroperation benötigt, wenn eine Rechte-Rechtfertigung darstellt, daß das Bit der niedrigsten Stelle, das übertragen wurde, in der niedrigsten Bitstelle angeordnet ist, und die Links-Rechtfertigung stellt die entgegengesetzte Anordnung dar, 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 Ll identifiziert die absolute Ebene-1-Speicher-Anfangsbitstelle, die bei der übertragung erfaßt wird. Das Längenfeld schreibt die Gesamtlänge des
109824/1670
Feldes, das übertragen wird, in Bits vor.
Nach Beendigung der angeforderten Operationsart erzeugt die Speicherverbindungseinheit (MIU) ein Speichersteuerwprt (MCW) mit einem Format, wie es in Fig. 12 dargestellt ist.
Wenn eine Einwort-Speicheroperation vorgeschrieben war, hebt die MIU das 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 adressierte Speicherwerk. Die Speicherverbindungseinheit 22 setzt die Übertragung des Speichersteuerwortes, dem die zu speichernden Daten folgen, solange fort, bis sie von dem Speicherwerk ein Bestätigungssignal erhält.
Wenn eine Mehrfachwort-Speicheroperation vorgeschrieben ist, hebt die Speicherverbindungseinheit 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 mit der Datenübertragung unter der Leitung des Datenanforderungssignals.
Wenn eine Leseoperation vorgeschrieben ist, hebt die MIU das Potential ihrer Anforderungsleitungen und sendet das MCW zum betreffenden Speicherwerk. Wenn das Speicherwerk den Empfang des MCW bestätigt, schaltet die MIU ihre Informationssammelleitungsempfängerschaltungen ein; Die MIU empfängt jetzt Informationen aus dem Speicher. Der Speicher überträgt jedoch einen Daten-Vorhanden-Leitimpuls an die MIU, um zu veranlassen, daß die auf den Informa-
109824/1670
tionesamelleitungen vorhandenen Informationen zum anfordernden Element Übertragen und von diesem erfaßt «erden. 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 erforderlich ist, erzeugt die Speicherverbindungseinheit für jedes der aufgerufenen Speicherwerke ein Speichersteuerwort. In diesem Falle bildet die Speicherverbindungseinheit ein auf den neuesten Stand gebrachtes Speichersteuerwort aus, und dann löst sie die Datenübertragung mit dem zweiten Speicherwerk aus, um diese durchzuführen. Wenn die sechs niedrigststelligen Bits des Adressenfeldes Ll im ursprünglichen Speichersteuerwort alles Nullen sind, muß das auf den neuesten Stand gebrachte Speichersteuerwort ein geändertes Adressenfeld Ll aufweisen, das auf die erste Stelle des neuen Speicherwerkes hinweist, und ein neues Längenfeld enthalten, das die Anzahl der Bits wiedergibt, die noch übertragen werden müssen. Wenn die sechs niedrigststelligen Bits des ursprünglichen Adressenfeldes Ll nicht gleich null sind, muß 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 Ll 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 oder -anzahlen 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 das Speicherwerk durchführen muß.
109Θ2Α/ 1670
205483(3
Die verschiedenen Felder des Spelchersteuenrortes (MCW) werden in folgenden anhand von Fig. 12 definiert. Die Bits T und J sowie das Adressenfeld Ll und das Längenfeld sind bei dem Speichersteuerwort die gleichen wie bei dem Elementsteuerwort (ECW) nach Flg. 11. Außerdem gilt für die Modifizierbits Ml und M2 die gleiche Definition wie für die Verriegelungsbits L in Elementsteuerwort (ECW).
Das Speicheroperationsbestimmungsbit S schreibt eine Speicheroperation in Fon einer l-Wort-Speicher- (S - 1) oder als eine Mehrfachwort-Speicher- (S - 0)-Operation vor. Dieses Bit kennzeichnet auch eine Leseoperation, die verlangt, daß das Speicherfehlerregister gelesen und dann gelöscht wird (S - 1).
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 Lese- oder Speicheroperation ein Feld über eine Speichergrenze hinausgeht und mehr als ein Speicherwerk bei dieser Übertragung verwendet wird (mitspielt). Wenn dieser Fall auftritt, muß das Längenbit den "wahren** Zustand einnehmen, wenn das auf den neuesten Stand gebrachte Speichersteuerwort in das zweite Speicherwerk gesendet worden ist.
Das Betriebsartenbit M zeigt an - wenn es vorhanden ist -, daß der Speicher nach einem vorgeschriebenen Schema betrieben werden soll (z.B. alle zwei Takte ein Wort), das' durch den Speicher gesteuert wird.
109824/1670
Wie Fig. 10 zu entnehmen ist, enthält die Speicherverbindungseinheit 9 Funktionseinheiten, die jetzt beschrieben werden.
Die Prioritätslogik 101 ist dafür verantwortlich, dem anfordernden Element, das die höchste Priorität aufweist, die Dienste der Speicherverbindungseinheit zu gewährleisten. Eine Steuerwortwähllogik 102 ist verantwortlich für die übertragung des Elementsteuerwortes ECW des anfordernden Elements zu einem Steuerwortregister 104 in Abhängigkeit von der Prioritätslogik 101. Das Steuerwortregister 104 ist ein 64-Bit-Register und wird zum Speichern des Elementsteuerwortes ECW verwendet, während es von einem Hauptsteuerteil 106 ausgeführt und auf den neuesten Stand gebracht wird. Der Hauptsteuerteil 106 enthält die zur Ausführung aller Operationen der Speicherverbindungseinheit erforderliche Steuerlogik, einschließlich der Steuerungen, die zur Vervollständigung der Empfänger- und Treiberkanäle erforderlich sind. Ein Speicherpufferregister 105, bei dem es sich um ein 64-Bit-Register handelt, wird zur Zwischenspeicherung aller über die Informationsverbindung in den Speicher eingegebenen oder aus dem Speicher ausgegebenen Daten verwendet. Ein Datenpufferregister 103, bei dem es sich ebenfalls um ein 64-Bit-Register handelt, wird zur Zwischenspeicherung aller Daten verwendet, die zwischen dem anfordernden Element des Prozessors und der Speicherverbindungseinheit übertragen werden. Dieses Register wird für Längenübertragungsoperationen verwendet, bei denen die Verknüpfung von Datenfeldern, wie bereite erwähnt, erforderlich ist. Ein Paritätsgenerator und -prüfer 107 dient zur Erzeugung von Paritäten bei allen Wörtern, die in den Speicher übertragen
109824/1670
werden, und zur Prüfung der Parität von Wörtern, die aus dem Speicher geholt werden. Empfänger und Treiber 100 enthalten 16 Gruppen aus Empfänger- und Treiberschaltungen in der Speicherverbindungseinheit, und zwar eine Gruppe pro Speicherwerkschnittstelle. Der Zustand dieser Gruppen wird durch den Hauptsteuerteil 106 bestimmt, und nur jeweils eine Gruppe ist zu einer bestimmten Zeit aktiv.
Das in Fig. 10 nicht dargestellte Prozessor-Fehlerregister (PER « processor error register) ist ein 64-Bit-Register und dient zur Erleichterung der Korrektur von Fehlern, die beim Anwählen der Ebene 1 auftreten, und zwar durch Speichern aller verfügbaren Steuerinformationen, die sich auf den Zugriff beziehen, bei dem die Unterbrechung aufgetreten ist. Das Prozessor-Fehlerregister kann durch das Programm nach oben auf den (bzw. an die Spitze des) Wertestapels gebracht werden. Wenn das Prozessor-Fehlerregister einmal mit Fehlerinformationen geladen ist, kann es nicht eher wieder geladen werden, als bis es gelöscht ist. Das Löschen des Prozessor-Fehlerregisters erfolgt dadurch, daß es ausgelesen wird. Es wird niemals geladen., wenn keine Unterbrechung erfolgt.
Bei der Übertragung über die Speicherverbindungseinheit können zwei Arten von Fehlern auftreten: Die von der Speicherverbindungseinheit festgestellten Fehler und die vom Speicher festgestellten Fehler. Ein derartiger, von der Speicherverbindungseinheit festgestellter Fehler ist der Fehler "kein Zugriff zum Speicher".'Dieser Fehler wird daran festgestellt, daß die Speicherverbindungseinheit vom angerufenen Speicherwerk während
109824/1670
einer Zeit von 25 Mikrosekunden keine Antwort erhält. Daß der Speicher keine Antwort gibt, wird daran festgestellt, daß aus dem Speicherwerk kein Antwortsignal eintrifft oder die Daten nicht vollständig durch ein Speicherwerk übertragen wurden.
Ein zweiter, von der Speichereinheit festgestellter Fehler ist die Disparität. Dieser Fehler wird daran erkannt, daß die Speicherverbindungseinheit aus den Speicher ausgelesene Daten oder Daten aus dem Interpretiererteil des Prozessors Bit falscher Parität erhält. Wenn ein "kein Zugriff zun Speicher**- oder ein Paritätsfehler festgestellt wird, dann wird das Prozessor-Fehlerregister in der angegebenen Weise geladen.
Ss gibt zwei Arten von Fehlern, die von Speicher festgestellt und der Speicherverbindungseinheit mitgeteilt werden: Unkorrigierbare und korrigierbare Fehler. Diese beiden Fehlerarten werden der Speicherverbindungseinheit jeweils als Signal "Fehlerunterbrechung 1" und als Signal "lehlerunterbrechung 2n zugeführt. Die Speicherverbindungseinheit sendet jedoch nur ein Fehlersignal an den Interpretiererteil des Prozessors.
Wenn das Speicherwerk während einer Operation einer Speicherverbindungseinheit das Signal "Fehlerunterbrechung 1" (unkorrigierbarer Fehler) feststellt, wird die Operation der Speicherverbindungseinheit beendet und der Prozessor von diesen Vorgang unterrichtet. Wenn der Fehler während der Zeit mitgeteilt wird, in der eine Speicherverbindungseinheit nicht zusammen mit dem mitteilenden Speicherwerk in Betrieb ist, zeichnet die Speicherverbindungseinheit diesen Fehler auf, doch führt sie die laufende Operation bis zu Bnde durch.
109824/1670
Das Signal "Fehlerunterbrechung 2" (korrigierbarer Fehler) ist ein Fehlersignal, das die Speicherverbindungseinheit veranlaßt, dem Prozessor diesen Fehler mitzuteilen, doch läuft die Operation wie gewöhnlich ab.
Bei dem soweit beschriebenen System wird das der Trenneinheit zugeführte Speichersteuerwort im Steuerwortregister 68 gespeichert, das in Fig. 7 dargestellt ist. Dieses Steuerwort enthält die absolute Adresse des Anfangsbits des zu speichernden oder zu lesenden Feldes und die Länge des Feldes. Aus dieser Information werden die absoluten Adressen eines Wortspeicherplatzes, der das Anfangsbit enthält, und des nächsten benachbarten Wortspeicherplatzes erzeugt und in die Speicheradressenregister 92 (KAR) nach Fig. 12 übertragen. Während einer Leseoperation wird das ausgewählte Feld von dem Walzenteil 61 (bei dem es sieb um eine Schiebeschaltung oder einen Walzenschalter handelt) aus seinem augenblicklichen Bitspeicherplatz in dem Leseregister 60 so verschoben, daß das erste Bit des'ausgewählten Feldes schließlich in der ersten Bitstelle des Ausgaberegisters 63 angeordnet ist. Wenn das Feld so lang ist, daß es mehr als zwei benachbarte Wortspeicherplätze überlappt, dann erzeugt das Steuerregister 68 die Adressen der nächsten beiden benachbarten Wortspeicherplätze, um die übrigen Bits auszulesen, die erforderlich sind, um das Feld zu vervollständigen, wobei diese Bits wieder aus dem Leseregister 60 hinaus und in entsprechende Bitspeicherplätze des Ausgaberegisters 63 geschoben werden, so daß die Informationsübertragung in die anfordernde Vorrichtung eine Folge von 64-Bit-Wörtern ist, von denen das letzte Wort als erste Gruppe von Bits diejenigen Bits enthält, die ' zur Vervollständigung des Feldes notwendig sind, wobei die übrigen Bits null sind.
109824/1670
Während einer Speieheroperation bestimmt die im Steuerregister 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 aus 64-Bit-Wörtern Übertragen, deren Anzahl gleich der zur Übertragung des betreffenden Feldes erforderlichen Anzahl ist. Das Steuerwortregister hält wieder Schritt mit den übertragenen Bits und erzeugt neue Paare von Speicheradressen ., wie es zur Vervollständigung der Speicherung des Feldes erforderlich ist.
Es sei daran erinnert, daß, wenn das ausgewählte Feld im Speicher- oder im Lesebetrieb zwei benachbarte Speichereinheiten überlappt, die Speicherverbindungseinheit der anfordernden Vorrichtung neue SpeichersteuerwOrter erzeugt und in die nächste, benachbarte Speichereinheit überträgt. Auf diese Weise können Felder beliebiger Länge in der Reihe von Speicherwerken gespeichert werden, die der anfordernden Vorrichtung als Freifeld-Speicher oder strukturfrei erscheinen.
Dieses Informationsverarbeitungssystem enthält also mehrere Prozessoren und eine Freifeld-Speicheranordnung zur Aufnahme von Operanden und Datensegmenten beliebiger Größe und beliebigen Formats. Jede der jeweiligen Speichereinheiten ist praktisch strukturorientiert. Die Speichereinheiten sind jedoch paarweise mit Trenneinheiten versehen, die die Fähigkeit haben, Informationsfelder unabhängig von der Speicherstruktur auszulesen und einzugeben. Während einer Leseoperation kann die Trenn-
109824/1670
einheit zwei benachbarte parallele Wörter auslesen, und ein Schiebenetzwerk oder ein Walzenschalter dient dazu, das gewünschte Feld in die zur Übertragung in die anfordernde Vorrichtung passende Lage zu bringen. Während einer Speicheroperation wird das Schiebenetzwerk bzw. der Walzenschalter dazu verwendet, die einlaufenden Daten in dem richtigen Bitspeicherplatz des Speichers anzuordnen. Das ausgewählte Feld wird durch das Anfangsbit und die Längenfeldinfomation bestimmt, die durch das Speichersteuerwort vorgegeben wird, und auch durch die Art der angeforderten Operation. Jede der anfordernden Vorrichtungen ist mit ihrer eigenen Schnittstellen-Verbindungseinheit versehen, die eine Logik zur Bildung eines Speichersteuerwortes für jedes Speicherwerk enthält, das bei einer Lese- oder Speicheroperation adressiert wird.
Patentanwälte Dipl.-Ing. Horst Röse Dipl.-Ing. Peter Kosel
109824/1670

Claims (17)

  1. Dipl.-Ing. Horst Rose Dipl.-Ing. Peter K ο se I
    Patentanwälte ®a<* Gandersheim, den 6. Nov. 1970
    Bad Gandersheim - 38 - 2054830
    Hohenhöfen 5
    Burroughs Corporation Patentgesuch vom 6. November 1970
    Pat entansprüche
    Informationsverarbeitungssystem mit einer wortstrukturierten (wortorganisierten) Speichereinheit und einer Speicher-Zugriffvorrichtung, dadurch gekennzeichnet, daß die Zugriffvorrichtung derart ausgebildet ist, daß sie für einen Zugriff zu einem Feld in der Speichereinheit in Übereinstimmung mit einem Steuerwort sorgt, dam einen vorgegebenen Speicherplatz in der Speichereinheit als Anfangsspeicherplatz und auch eine vorgegebene Anzahl von Bits bis zu der in der Speichereinheit verbleibenden Anzahl von Bits vorschreiben kann.
  2. 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Zugriffvorrichtung eine Steuervorrichtung enthält, der das Steuerwort zufOhrbar ist und die die Adresse des Wortspeicherplatzes bestimmt, in der die erste:·. Bitstelle jenes Feldes vorkommt.
  3. 3. System nach Anspruch 2, dadurch gekennzeichnet, daß die Steuervorrichtung eine Schaltungsanordnung enthält, die den Inhalt des Steuerwortes auf den neuesten Stand bringt, sowie Bitsegmente in die Speichereinheit Obertragen oder aus der Speichereinheit geholt werden.
  4. 4. Informationsverarbeitungssystem mit einer wortstrukturierten (wortorganisierten) Speichereinheit und einer Speicher-Zugriffvorrichtung für die Speichereinheit, dadurch gekennzeichnet, daß die Zugriffvorrichtung eine Steuervorrichtung, der ein Steuerwort zuführbar ist, das einen Anfangsbitspeicherplatz eines Feldes in der Speichereinheit und die Anzahl der Bitspeicherplätze in dem Feld
    788/244
    109824/1670
    vorschreibt, und eine Adressiervorrichtung enthält, die auf die Steuervorrichtung anspricht und zwei benachbarte Wortspeicherplätze in der Speichereinheit adressiert, von denen der erste Speicherplatz den ersten Teil des Feldes enthält.
  5. 5. Systea nach Anspruch "4, dadurch gekennzeichnet, daß die Zugriffvorrichtung mit einen Informationsregister, das zur Aufnahm« einer Anzahl van Informationsbits dient, die gleich der Anzahl der Bits in zwei dieser Wortspeicherplätze ist, und mit einer Eingabe- und Auslesevorrichtung versehen ist, die zum Eingeben oder Auslesen der Gruppe von Bits in das oder aus dem Register dient, und zwar bei irgendeinem vorbestimmten Bitspeicherplatz beginnend.
  6. 6. System nach Anspruch 5, gekennzeichnet durch eine Maskiervorrichtung, die die Eingabe in diejenigen Bitstellen des Informationsregisters verhindert, die diese Anzahl von Bits nicht aufnehmen sollen.
  7. 7. System nach Anspruch 5, gekennzeichnet durch ein Speicherregister, das mit der Eingabe- und Auslesevorrichtung verbunden ist und zur Aufnahme der Gruppe von Bits aus diesem Speicherregister dient, um sie später in das Informationsregister zu übertragen.
  8. 8. System nach Anspruch 5, gekennzeichnet durch ein Leseregister, das mit dem Informationsregister verbunden ist und zur Aufnahme der Gruppe von Bits aus diesem Informationsregister dient, um sie später in die Eingabe- und Auslesevorrichtung zu übertragen.
    109824/1670
  9. 9. System nach Anspruch 8, dadurch gekennzeichnet, daß an die Eingabe- und Auslesevorrichtung eine Ausgaberegistervorrichtung zur Aufnahme der Gruppe von Bits angeschlossen ist und die Eingabe- und Auslesevorrichtung derart ausgebildet ist, daß sie zu einer derartigen Verschiebung der Gruppe von Bits in der Lage ist, daß das erste Bit der Gruppe in der ersten Bitstelle des Ausgaberegisters gespeichert wird.
  10. 10. System nach Anspruch 8, dadurch gekennzeichnet, daß an die Eingabe- und Auslesevorrichtung ein Ausgaberegister zur Aufnahme der Gruppe von Bits angeschlossen und so ausgebildet ist, daß es zu einer derartigen Verschiebung der Gruppe von Bits in der Lage ist, daß das letzte Bit der Gruppe in der ersten Bitstelle des Ausgaberegisters gespeichert wird.
  11. 11. Informationsverarbeitungssystem mit mehreren wortstrukturierten (wortorganisierten) Speichern, mindestens einer Speicher-Zugriffvorrichtung und einer Speicherzugriff anforderungsvorrichtung, dadurch gekennzeichnet, daß an die Zugriffvorrichtung eine Schnittstellen-Verbindungseinheit angeschlossen ist und dieser ein Steuerwort zur Übertragung in den oder zum Auslesen aus dem Speicher aus verschiedenen Bitfeldern zuführt und so ausgebildet ist, daß sie ein zweites Steuerwort in eine zweite Speichereinheit tiberträgt, wenn das Bitfeld in Teilen des ersten und des zweiten Speichers vorhanden ist.
  12. 12. System nach Anspruch 11, dadurch gekennzeichnet, daß die Zugriffvorrichtung eine Steuervorrichtung, der ein Steuerwort zuführbar ist, das einen Anfangsbitspeicherplatz eines Feldes in der Speichereinheit und die An-
    10 9 8 2 4/1670
    zahl der Bitspeicherplätze in dem Feld vorschreibt, und eine Adressiervorrichtung enthält, die auf die Steuervorrichtung anspricht und zwei benachbarte Wortspeicherplätze in der Speichereinheit adressiert, von denen der erste Speicherplatz den ersten Teil des Feldes enthält.
  13. 13. System nach Anspruch 12, dadurch gekennzeichnet, daß die Zugriffvorrichtung mit einem Informationsregister, das zur Aufnahme einer Anzahl von Informationsbits dient, die gleich der Anzahl der Bits in zwei dieser Wortspeicherplätze ist, und mit einer Eingabe- und Auslesevorrichtung versehen ist, die zum Singeben oder Auslesen der Gruppe von Bits in das oder aus dem Register dient, und zwar bei irgendeinem vorbestimmten Bitspeicherplatz beginnend.
  14. 14. System nach Anspruch 13, dadurch gekennzeichnet, daß die Zugriffvorrichtung ferner eine Maskiervorrichtung enthält, die eine Eingabe in diejenigen Bitstellen des Informationsregisters verhindert, die diese Anzahl von Bits nicht aufnehmen sollen.
  15. 15. System nach Anspruch 14, dadurch gekennzeichnet, daß die Zugriffvorrichtung eine Steuervorrichtung enthält, die den Inhalt des Steuerwortes auf den neuesten Stand bringt, sowie Bitsegmente aus der Speichereinheit ausgelesen oder in diese eingegeben werden.
  16. 16. Verfahren für einen Zugriff zu einem wortstrukturierten (wortorganisierten) Speicher in einem Informationsverarbeitungssystem, dadurch gekennzeichnet, daß nacheinander verschieden große Gruppen aus Bits zum Abspeichern in dem Speicher aufgenommen und jede Bitgruppe
    10 9 8 2 A/ 1670
    in entsprechenden Feldplätzen in Teilen der Wortstrukturen in dem strukturierten Speicher so angeordnet werden, daß einige der Feldplätze benachbarte Wortstrukturen überlappen.
  17. 17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Inhalt des Registers in entsprechende Wortstrukturen übertragen wird.
    Patentanwälte Dipl.-Ing. Horst Rose Dipl.-lng. Peter Kosel
    109824/1670
    Wr
    Leerseite
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 true DE2054830A1 (de) 1971-06-09
DE2054830B2 DE2054830B2 (de) 1976-04-08
DE2054830C3 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
US6552730B1 (en) 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
US5034900A (en) * 1984-10-05 1991-07-23 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
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
US7184399B2 (en) * 2001-12-28 2007-02-27 Intel Corporation Method for handling completion packets with a non-successful completion status
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
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
EP2863566B1 (de) 2013-10-18 2020-09-02 Université de Nantes Verfahren zur Rekonstruktion eines Datenblocks und Vorrichtung zur Verwendung davon

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1115488B (de) * 1959-01-15 1961-10-19 Ibm Datenverarbeitungssystem

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1115488B (de) * 1959-01-15 1961-10-19 Ibm Datenverarbeitungssystem

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Datenverarbeitungsanlage 3003, Siemens u. Halske AG, Befehlsliste NV BS 107/1, Mai 1963, S.10 u. 11 *
W. Buchholz: "Planning a Computer System" McGraw Hill, New York 1962, S.76-78 u. 202,203 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE2455803C2 (de) Mehrprozessor-Datenverarbeitungsanlage
DE2350884C2 (de) Adreßumsetzungseinheit
DE3131341C2 (de)
EP0010198B1 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE2161886C2 (de) Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2630323A1 (de) Datenspeichereinrichtung
DE2750721A1 (de) Ein/ausgabe-system
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2054947A1 (de) Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem
DE2054835A1 (de) Prozessor fur ein Informationsver arbeitungssystem und ein Betriebsver fahren fur diesen Prozessor
DE1499206C3 (de) Rechenanlage
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE1925427A1 (de) Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern
CH495584A (de) Datenverarbeitungsanlage
DE1499286B2 (de) Datenbearbeitungsanlage
DE2217565A1 (de) Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet
DE1222289B (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