DE3518818A1 - Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen - Google Patents
Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementenInfo
- Publication number
- DE3518818A1 DE3518818A1 DE19853518818 DE3518818A DE3518818A1 DE 3518818 A1 DE3518818 A1 DE 3518818A1 DE 19853518818 DE19853518818 DE 19853518818 DE 3518818 A DE3518818 A DE 3518818A DE 3518818 A1 DE3518818 A1 DE 3518818A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- associative
- vector
- memory
- stores
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
HITACHI, LTD., Tokyo Japan
Datenverarbeitungsvorrichtung und Verfahren und Vorrichtung zur Umsetzung von Datenelementen
Die Erfindung betrifft eine Datenverarbeitungsvorrichtung,
die eine Vorrichtung aufweist, die Datenelemente sehr schnell umsetzen kann und ein Umsetzverfahren. Insbesondere
bezieht sich die Erfindung auf einen Vektordatenprozessor, der eine Vektorverarbeitung für Vergleichsdatenbanken durchführt
und sequentiell Datenelemente umsetzen kann.
Die Datenbanktechnik, die eine wirksame Verarbeitung oder Steuerung großer Datenmengen ermöglicht, handhabt hauptsächlich
drei Datenbanktypen, nämlich hierarchische, netzwerkartige und Vergleichsdatenbanken. Während die ersten zwei
Datenbanktypen zur Verarbeitung großer Datenvolumen mit hoher Geschwindigkeit entwickelt wurden und komplexe Verar-
81-(9757-02)AtAl
beitungen erfordern, die für den in Datenbankoperationen erfahrenen
Benutzer geeignet sind, werden bei Vergleichsdatenbanken verhältnismäßig kleine Datenmengen durch eine einfache
Operation verarbeitet. Man nimmt an, daß sich letztere Technik in der Zukunft beträchtlich ausdehnen wird. Dabei gibt es
jedoch das Problem, daß sich die Verarbeitungsgeschwindigkeit mit wachsender Datenkapazität verringert.
Figur 1 zeigt eine schematische Darstellung einer logischen Datenstruktur einer Vergleichsdatenbank, die als Beispiel
Information über Bauteile enthält. Die Information wird in Form einer Tabelle in einer Plattenspeichereinheit 110
(Fig. 2) gespeichert.
Eine Tabelle 100 enthält eine Zeile 101, die Datensatz, Reihe oder "tupple" heißt und eine Spalte 102. Aus Fig. 2 ist zu
ersehen, daß die Daten physikalisch in Datensatzeinheiten in Blöcken fester Länge (120a, 120b, usw.) gespeichert sind,
die jeweils eine Seite auf der Platte 110 bilden. Eine Seite enthält normalerweise mehrere Datensätze. Eine Adresse eines
Datensatzes auf einer Platte (als Datensatzadresse bezeichnet) weist eine Seitennummer und eine Adresse in der Seite auf.
Solch ein Beispiel offenbart ein Bericht von CJ. Date in "An Introduction to Database Sysstems" (3. Auflage, Seite
173 - 174). In diesem Bericht wird die Datensatzadresse mit "tupple identifier" (TIDi)) bezeichnet.
Ein in einem Hauptspeicher 200 gespeichertes Vergleichsdatenbanksteuerprogramm
240 liest Seiten, die die benötigten Datensätze enthalten von der Platte und speichert die Seiten in
einen Eingabe/Ausgabepufferbereich 201 im Hauptspeicher. Die auf diese Weise erhaltenen Seiten urid Datensätze werden in
Fig. 2 jeweils mit den Bezugsziffern 220a, 220b und 221a, 221b bezeichnet. Anders als eine auf der Platte gespeicherte
Seite oder ein Datensatz, die jeweils mittels einer Daten-
satzadresse und einer Seitennummer adressiert werden, adressiert
man eine Seite und einen Datensatz im Hauptspeicher mittels einer Hauptspeicheradresse; folglich muß das Vergleichsdatenbank-Steuerprogramm
eine Prozedur enthalten, die die Adressen umsetzt.
Wenn der Hauptspeicher eine kleine Datenspeicherkapazität hat, muß, um einen Datensatz vom Speicher zu erhalten, jede
Seite gelesen werden, womit der Hauptteil der Verarbeitungszeit für Eingabe/Ausgabeprozesse für den Zugriff zur Platte
101 verbraucht wird. Neuerliche Fortschritte in der Halbleitertechnologie
ermöglichten jedoch sehr große Hauptspeicher, beispielsweise mit 32 Megabyte (MB) Kapazität,
die das Speichern aller Tabellenoder aller Seiten im Pufferbereich 201 im Hauptspeicher ermöglichen, wodurch sich die
zur Eingabe/Ausgabe für den Zugriff zur Platte 110 nötige
Zeit wesentlich verringert läßt. Im Ergebnis kann das Vergleichsdatenbankprogramm
einen großen Teil der Verarbeitungszeit benützen, um die Datenverarbeitung dann mit hoher Geschwindigkeit
auszuführen.
Zur Erhöhung der Verarbeitungsgeschwindigkeit wurden bereits verschiedene Vektorprozessoren vorgeschlagen, beispielsweise
CRAY-1, die als die erste Maschine dieses Typs entwickelt wurde.
In der Vergangenheit wurden jedoch solche Datensätze, wie die in Fig. 1 dargestellte Verarbeitungseinheit verarbeitet.
Dieses Verfahren kann vorteilhaft bei einem Hauptspeicher kleiner Kapazität beispielsweise, wenn der Pufferbereich
nicht mehr als einigen Seiten entspricht, verwendet werden. Andererseits variiert, wenn angenommen wird, daß die Datenelemente
in Datensatzrichtung einen Vektor bilden, der Datentyp
und die arithmetische Operation zwischen diesen Datenelementen; deshalb eignet sich eine solche Datenstruktur nicht
für die Vektorverarbeitung. Umgekehrt läßt sich, wenn der Hauptspeicher eine große Kapazität besitzt, das folgende
Verarbeitungssystem gemäß dem von der vorliegenden Erfindung vorgeschlagenen neuen Prinzip ausführen.
Dabei kann jeder Satz von Datenelementen die in Spaltenrichtung erhalten werden, falls die gesamte von der Platte
geholte Tabelle zuvor im Hauptspeicher gespeichert wird, als Vektordaten angenommen werden. Dann kann die Vektorverarbeitung
vorteilhaft angewendet werden, da
a) jedes Vektorelement vom selben Datentyp ist, und
b) jedes Vektorelement derselben arithmetischen Verarbeitung, wie z.B. Verschieben (move), Vergleich
(comparison) oder Auswählen (selection) unterworfen wird. Die folgenden Abschnitte behandeln die neuen
Operationen eines konkreten Vergleichsdatenbankprogramms, wobei jeder Schritt eines Datenwiedergewinnungsbeispiels,
durch das die Teilenamen, für die der Herstellername HITACHI ist, gewonnen werden, beschrieben wird, z.B. aus der Zeile 101
der Tabelle 100 in Figur 1.
(1) Im Vektorarbeitsbereich 18 des Hauptspeichers 200
(durch die Bezugsziffer■7 in Fig. 2 bezeichnet), wird
eine Liste von Datensatzadressen der zur Tabelle gehörenden
Datensätze erzeugt. Diese Tabelle hat gewöhn-
; lieh einen Index für jede der Spalten. Für jeden Datensatz enthält dieser Index ein aus dem Spaltenwert und einer Datensatzadresse bestehendes Paar
(in Fig. 2 nicht dargestellt). Folglich kann die Datensatzadressliste, falls der Index im Vektorformat
aufgebaut ist, mittels einer Vektorverschiebeanweisung erzeugt werden. Es sei beispielsweise angenommen, daß
ein Index für die Teilecodes der Bauteiletabelle 100
in Figur 1 erzeugt wird. In diesem Fall sind jedoch die erhaltenen Datensatzadressen nicht notwendigerweise
in der Reihenfolge der Seitennummern geordnet, d.h., daß sie bezüglich der Seitennummer zufällig anfallen.
(2) Eine Hauptspeicheradressliste der zur Tabelle gehörenden Datensätze wird in einem Vektorarbeitsbereich 31
des Hauptspeichers 200 (durch die Bezugsziffer 6 in Figur 2 bezeichnet) erzeugt. Diese Maßnahme führt die
obenbeschriebene Adressumsetzung aus, um erfindungsgemäß die Verarbeitungsgeschwindigkeit zu erhöhen.
Für jeden Datensatz war es bisher nötig, eine Seitennummer aufgrund einer Datensatzadresse zu extrahieren und einen
Datenposten mit derselben Seitennummer in den Seiten (221a, 221b, usw.) des Pufferbereichs 201 von Figur
zu erreichen. Die dafür nötige Verarbeitungszeit erhöhte sich mit größer werdender Pufferbereichskapazität.
Zusätzlich wurde im Stand der Technik nicht versucht, die Verarbeitungsgeschwindigkeit mittels der Vektorarithmetikoperation
zu erhöhen, weil die Vektorverarbeitung nicht anwendbar war; folglich stellte diese Prozedur einen
Engpass in der Systemleistungsfähigkeit dar, falls sie
in einem Vergleichsdatenbanksystem in einem Hauptspeicher großer Kapazität verwendet wurde.
(3) Auf der Basis einer im obigen Schritt (2) erzeugten Hauptspeicheradresse
des Datensatzes wird die Postennamenadresse des Herstellernamens für jeden Datensatz berechnet,
und derjenige Datensatz, dessen Herstellername HITACHI lautet, durch Vergleich mit dem Herstellernamen
ausgewählt. Diese Prozedur wird durch Befehle, wie einen Vektoradditionsbefehl und einen Vektorvergleichsbefehl
durchgeführt.
351*3818
(4) Die die Wiedergewinnungsprozedurbedingungen erfüllenden
Datensätze werden übertragen. Nur solche Bauteile-' Namenposten der in Schritt (3) gewählten Datensätze
werden zu einem Bereich beispielsweise einem Anzeigebereich übertragen und als Wiedergewinnungsergebnisse
abgespeichert. Diese Verarbeitung wird mittels Befehlen, wie einem'Vektorverschiebebefehl mit einer indirekten
Adressierfunktion durchgeführt.
Von den oben beschriebenen Verarbeitungsschritten (1) bis (4) ist die Adressumsetzung von Schritt (2) die schwierigste
Verarbeitung bei der Anwendung der Vektorverarbeitung hierauf um die Verarbeitungsgeschwindigkeit durch Verwendung eines
Vektorprozessors zu erhöhen, und ist deshalb ein Engpaß in der Systemleistungsfähigkeit.
Beim Versuch, die Verarbeitungsgeschwindigkeit bei der Vergleichsdatenbank
Verarbeitung mittels der Vektoroperation zu erhöhen, ist dieses Problem neuartig.
Aus der US-PS 4 024 508 ist beispielsweise ein Adressumsetzverfahren
in einer Datenbank bekannt. Bei diesem System werden jedoch alle Deskriptoren aufgesucht, die Informationspaare
enthalten, deren Zahl gleich der Maximalzahl der Seiten in dem gekennzeichneten Pufferbereich ist und die jeweils
eine Seitennummer und eine Hauptspeicheradresse jeder Seite enthalten, die Datensätze aufweist und die zuvor im Pufferbereich
des Hauptspeichers gespeichert sind und zwar für jeden Datensatz, für den die Adressumsetzung ausgeführt werden muß.
Somit erhöht sich mit steigender Kapazität des Pufferbereichs die Suchzeit. Außerdem ist es schwierig, die Verarbeitungszeit
mittels der Vektorarithmetikoperation zu minimieren.
Es ist deshalb Aufgabe der Erfindung, einen Datenprozessor mit einer Datenumsetzvorrichtung und ein Verfahren anzugeben,
womit vektorartige Daten in die entsprechenden Vektorformatdaten mit hoher Geschwindigkeit umgesetzt werden. Ferner sollen mehrere
Benutzer ohne sich zu stören, den Datenumsetzer gemeinsam benutzen. Erfindungsgemäß weist zur Lösung der obigen
Aufgabe ein Datenprozessor mit einer Datenumsetzvorrichtung einen Assoziativspeicher, der assoziative Kennbegriffe
und diesen entsprechende Wiedergewinnungsdaten enthält, eine erste Ausleseeinrichtung, die sequentiell für jede Vektorumsetzung
im Datenspeicher gespeicherte Vektordaten ausliest, die aus Vektorelementen desselben Typs wie die assoziativen
Kennbegriffe bestehen, wobei der Assoziativspeicher die von der ersten Ausleseeinrichtung ausgelesenen Vektorelemente
nacheinander mit den assoziativen Kennbegriffen vergleicht und ein Ausgangssignal erzeugt, wenn das Vektorelement mit
einem der assoziativen Kennbegriffe übereinstimmt, eine zweite Ausleseeinrichtung, die abhängig vom Ve rg Ie ichs ausgangs signal
' einen Wiedergewinnungsdatenposten,
der dem . assoziativen Kennbegriff entspricht,
aus dem Assoziativspeicher ausliest und
eine Abspeichereinrichtung auf, die die von der zweiten Ausleseeinrichtung
wiedergewonnenen Daten nacheinander in den Datenspeicher einspeichert und umgesetzte Vektordaten erzeugt,
deren Vektorelemente die wiedergewonnen Daten darstellen.
Gemäß einem vorteilhaften Ausführungsbeispiel der Erfindung
weist die Datenumsetzvorrichtung weiterhin ein Benutzerkennzeichenregister
auf, das eine Kennung eines eine Datenumsetzung befehlenden Benutzers speichert, wobei jedem assoziativen
Kennbegriff ein Benutzerkennzeichen-Datenposten eines den assoziativen Kennbegriff spezifizierenden Benutzers hinzugefügt
wird und wobei der Assoziativspeicher den Benutzerkennzeichnungsdatenposten im Benutzerkennzeichenregister mit den
Benutzerkennzeichnungsdatenposten und außerdem
die Vektorelemente der umzusetzenden Vektordaten mit den assoziativen Kennbegriffen im Assoziativspeicher vergleicht.
Die Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein vereinfachtes Diagramm, das einen logischen Datenaufbau
einer Vergleichsdatenbank darstellt,
Fig. 2 ein Blockschaltbild, das ein Vergleichsdatenbanksystem zeigt, bei dem die Datenumsetzvorrichtung
gemäß der Erfindung angewendet wird;
Fig. 3 ein Blockdiagramm, das Operationen von Vektorbefehlen zeigt, die die Datenumsetzvorrichtung gemäß der Erfindung
verwenden;
Fig. 4 ein vereinfachtes Diagramm, das ein Datenaufbaubeispiel eines Speichers für Assoziativdaten darstellt,
der in der Datenumsetzvorrichtung gemäß der Erfindung verwendet wird; und
Fig. 5 ein Schaltbild eines Ausführungsbeispiels der Datenumsetzvorrichtung
gemäß der Erfindung.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung beschrieben.
Fig. 3 zeigt ein Diagramm, das die Operationen neuer Vektorbefehle
darstellt, die mittels der Vektorumsetzvorrichtung gemäß der Erfindung implementiert werden können, nämlich des
Assoziativspeicher-Vektorregistrierbefehls und Assoziativspeicher-Vektorwiedergewinnbefehls
(abgekürzt Registrier- und Wiedergewinnbefehl). Diese Vektorbefehle werden in einem
gemeinsamen Befehlsformat 1 dargestellt. Die zwei oberen Bytes eines 4-Byte-Befehls 1 kennzeichnen einen Operationscode für
die zweie Befehle. Das unterste Byte wird zum Kennzeichnen zweier allgemeiner Register R1 und R2 verwendet. Ein durch
R1 gekennzeichnetes allgemeines Register 2 speichert die
Anzahl von Vektorelementen eines umzusetzenden Vektors. Ein allgemeines Register 3, das durch R2 gekennzeichnet ist,
enthält die erste Adresse eines Vektors 6, der als Wiedergewinnungsausgangsdatenposten
des Wiedergewinnungsbefehls verwendet wird oder ein Registriereingangsdatum des Registrierbefehls.
Ein allgemeines Register 4, das durch (R2+1) gekennzeichnet ist, speichert die Anfangsadresse von Daten eines
umzusetzenden Vektors 7, von dem ein Vektorelement die als ein Assoziativkennbegriff
vom Benutzer spezifizierte Seitenadresse ist. Jedes Vektorelement besteht aus vier Byte und wird aufeinanderfolgend
im Hauptspeicher angeordnet.
Ein Benutzerkennzeichenregister 13 enthält ein Benutzerkennzeichen,
durch das jeder Benutzer identifiziert wird. Das Betriebssystem setzt einen jedem Benutzer eigenen Wert in
dieses Register und der Wert kann vom Benutzer nicht geändert werden. Beispielsweise setzt das VOS 3-Betriebssystem
des Allzweck M28OH -Prozessors von HITACHIT LIMITED die Anfangsadresse
der Adressumsetztabelle für virtuelle/reelle Adressräume für jeden Benutzerbereich in das erste Steuerregister,
das heißt, dieses Steuerregister kann als das obengenannte Benutzerkennungsregister verwendet werden.
Figur 4 ist ein vereinfachtes Schema, das den Aufbau eines Speichers für Assoziativdaten oder eines Umsetztabellenspeichers
23, der in diesem Ausführungsbeispiel verwendet wird, zeigt. Jeder Eintrag oder jede Zelle des Speichers
23 enthält drei Felder aus je vier Byte. Ein erstes Feld 41 speichert einen vom Benutzer gekennzeichneten assoziativen
Kennbegriff, ein zweites Feld 42 enthält eine Benutzerkennung des Benutzers, der den Kennbegriff dieses
Eintrags spezifiziert, und ein drittes Feld 43 speichert ein Wiedergewinnungsausgangsdatum, zugeordnet dem
Kennbegriff desselben Eintrags. Wenn ein Benutzer den Kennbegriff spezifiziert und eine Benutzerkennung
eingibt, gibt der Speicher 23 einen Wiedergewinnungsdatenposten von einer Assoziativspeicherzelle, deren erstes und
zweites Feld mit den eingegebenen Werten übereinstimmen, aus. Diese Funktion wird benötigt, wenn mehrere Vergleichsdatenbankprogramme
unabhängig die jeweiligen in Figur 2 gezeigten Datenbänke verarbeiten. Da die Datensatzadressen einzeln nur
einer jeweiligen Datenbank zugeordnet sind, müssen Mittel vorgesehen werden, eine jeweilige Datenbank zu identifizieren.
Dazu muß zusätzlich zur Datensatzadresse Information zur Kennzeichnung eines Vergleichsdatenbankprogramms, das ist
eine Kennung eines zu einer Vergleichsdatenbank zugreifenden Benutzers ebenfalls in die Daten für die Adressumsetzung
enthalten sein, damit nicht fälschlich zu den Inhalten anderer Vergleichsdatenbänke oder Pufferbereiche anderer Benutzer
zugreifen. Figur 4 stellt ein Beispiel einer Konfiguration
mit vier Einträgen dar.
Figur 5 zeigt ein Blockschaltbild eines konkreten Ausführungsbeispiel einer Vektorprozessorschaltung, die die Registrierung
und Wiedergewinnung im Assoziativspeicher ausführt.
Ein Vektorprozessor 300 enthält eine Vektorarithmetikeinheit 302 und eine Befehlssteuereinheit 10 und enthält
außerdem einen Vektordatenumsetzer 301 gemäß der vorliegenden Erfindung.
Zuerst wird die Operation des Registrierbefehls anhand der
Figur 5 beschrieben. Wenn ein Registrierbefehl in ein Befehlswortregister
12 eingegeben wird, holt eine Befehlssteuereinheit 10 die ersten Adressen gemäß dem ersten und zweiten
Operanden, die vom Befehl spezifiziert sind, aus einer Gruppe allgemeiner Register (GPRS) 11 und speichert die geholten
Adressen in ein erstes Operandenadressregister (OP1AR) 26 und ein zweites Operandenadressregister (OP2AR) 15. Außerdem
wird die Anzahl der Vektorelemente, die in einem allgemeinen Register 11 gespeichert ist, einem Vektorlängenregister
60 übertragen. Eine Vektorsteuerschaltung 61 steuert den Vektordatenumsetzer 301 nach Maßgabe eines Operationscodes
im Befehlswortregister 12 und der Vektorelementzahl im Vektorlängenregister 60, um einen Registrier- oder Wiedergewinnungsbefehl
auszuführen. Die Signale a bis e werden nach Maßgabe sowohl des Registrier- als auch Wiedergewinnungsbefehls erzeugt und steuern verschiedene Register, um in
diese wiederholt Eingangssignale zu setzen, bis alle Vektorelemente der angegebenen Länge darin gespeichert sind.
Das Signal f wird entsprechend dem Registrierbefehl erzeugt und weist den Speicher 23 an, auf den Leitungen 50, 51 und
52 gelieferte daten zu speichern. Der Speicher 23 führt eine Leseoperation aus, wenn das Signal f nicht anliegt.
Der Ausgang des OP1AR wird als eine Holadresse für den
Vektorarbeitsbereich 31 zum Hauptspeicher 200 über eine Adressleitung 29 übertragen, und das gelesene Datum in ein
erstes Operandenlesedaten-A-Register (OP1DRA) 32 gespeichert.
Gleichzeitig wird der Ausgang des OP2AR als Holadresse für
den Vektorarbeitsbereich 18 zum Hauptspeicher 200 über eine Adressleitung 17 übertragen und das geholte Datum in
ein zweites Operandendatenregister (OP2DR) 19 eingespeichert.
Die Inhalte von OP1AR und ÖP2AR werden jeweils mit vier durch
Addierer (+4) 30 und 16 in jedem Zyklus inkrementiert, um
aufeinanderfolgend jeweils die fortlaufenden ersten und
zweiten Operanden, die einem jeweiligen Vektor in jedem Zyklus entsprechen, auszugeben.
Der in Figur 3 gezeigte Speicher für Assoziativdaten hat eine vier Spalten mal 1 Zeilenstruktur entsprechend dem Kongruenzsystem,
in dem eine Spaltenadresse mittels einer Störschutzschaltung (HASH) 24 erzeugt wird, die Ausgangssignale
von dem Benutzerkeimungsregister (USERIDR) 13 und dem OP2DR
empfängt. In der HASH-Schaltung werden zwei niederwertige Bits des USERIDR mit denen des OP2DR exclusiv ODER/und zwar
jeweils die Bits derselben Bitstel^ verknüpft und die sich
ergebenden zwei Bits als Spaltenadresse ausgegeben. Ein Vergleicher 21, ein Gatter 22 und der Speicher 23 für Assoziativdaten
bilden die Assoziativspeichereinrichtung.
Wenn ein Registrierbefehl ausgeführt wird, wird der Ausgang
des OP2DR über eine Leitung 50 in das erste Feld des Assoziativspeichereintrags,
das von der Spaltenadresse der HASH-Schaltung 24 gekennzeichnet ist, der Ausgang vom USERIDR in
das zweite Feld über eine Leitung 51 und der Ausgang des OPIDRA in das dritte Feld über eine Leitugn 52 gespeichert.
Auf diese Weise können die Daten für den . Kennbegriff-Vektor,
der die assoziativen Kennbegriffe als Vektorelemente aufweist, und die Wiedergewinnungsvektordaten, die die
Wiedergewinnungsausgangsdaten als Vektorelemente haben, sequentiell für jedes einzelne Vektorelement in die entsprechenden
Felder des Speichers 23 für Assoziativdaten registriert werden. Der Registrierbefehl wird automatisch
durch das Steuerprogramm oder gemäß einer Benutzerangabe ausgeführt, um beispielsweise aufeinanderfolgend Seiten
von der Platte 110 in den Hauptspeicher 200 zu holen.
Die Speicheroperation wird sukzessive für jeden Zyklus synchron mit dem den OP1AR und OP2AR-Adressfortschreiboperationen
zugeteilten Zyklen ausgeführt.
Nun wird die Operation des Wiedergewinnbefehls beschrieben. Die Befehlssteuereinheit 10 speichert die Anfangsadressen
jeweils des ersten und zweiten Operanden im OP1AR und OP2AR
in derselben Weise wie für die Verarbeitung eines Registrierbefehls.
Jedes Element des zweites Operanden wird vom Vektorarbeitsbereich 18 geholt und in das OP2DR gespeichert, und eine
Spaltenadresse des Speichers 23 wird durch eingebende Ausgänge vom OP2DR und USERIDR in die HASH-Schaltung in derselben
Weise wie beim Registrierbefehl beschrieben, erzeugt.
Wenn ein Wiedergewinnbefehl ausgeführt wird, werden die umzusetzenden
Vektordaten 7, die Vektorelemente desselben Typs wie die Kennbegriffe aufweisen, in den Vektorarbeitsbereich
18 gespeichert. Die gespeicherten Daten werden für jedes Veketorelement mittels der Adresse geholt, die
vom OP2AR geliefert wird und in das OP2DR geladen. Abhängig von den Inhalten der OP2DR und USERIDR wird ein
Assoziativspeichereintrag, der durch die Spaltenadresse vom HASH gekennzeichnet ist, geholt und der Ausgang (Datenleitung
25) vom ersten Feld und der Ausgang (Dätenleitung 35) vom zweiten Feld mit den Ausgängen von OP2DR und USERIDR
jeweils mittels einer Vergleichsschaltung 21 verglichen und bestimmt, ob sie jeweils mit den Vergleichsdatenposten
identisch sind oder nicht. Wenn diese beiden Felder jeweils passen, steuert die Vergleichsschaltung 21 ein Gatter
22 mittels eines Ausgangssignals auf einer .Signalleitung 53, so daß der Wiedergewinnungsausgang (Datenleitung 27)
vom dritten Feld des Assoziativspeichereintrags in das erste Operandenspeicherdatenregister (OP1DRB) 33 gespeichert
wird. Während des nächsten Zyklus wird der Ausgang des OP1DRB in den Vektorarbeitsbereich 31 über eine Leitung
54 durch das Ausgangssignal vom OP1AR, das die Speicheradresse darstellt, gespeichert. Offensichtlich initiiert
die Vergleichsschaltung 21 die Vergleichsverarbeitung für das nächste Vektorelement während dieses Zyklus.
Da der Addierer 30 den Inhalt des OP1AR in jedem Zyklus
inkrementiert, wird der erste Operand für jeden Zyklus mit dem Inhalt der Wiedergewinnungsdaten in einem Eintrag im
Assoziativspeicher geladen, für den sowohl der Benutzer spezifizierte assoziative Kennbegriff als auch die Benutzerkennung,
als Vektorelemente des zweiten Operandenvektors übereinstimmen. Falls jedoch kein Assoziativspeichereintrag,dessen
Inhalt gleich den Vektorelementen ist, existiert, wird die Datenspeicheroperation des
betreffenden Elements des ersten Operanden nicht ausgeführt; oder ein gekennzeichneter Wert z.B. "0" in das Feld des
Elements eingetragen, was leicht vom Gatter 22 wie folgt auszuführen ist. Wenn die Vergleichsschaltung 21 ein
Ausgangssignal abgibt, das ein nicht übereinstimmendes Ergebnis angibt, speichert das Gatter 22 einen bestimmten
Wert wie z.B. "0" in das OP1DRB.
Auf diese Weise wird der Vektorarbeitsbereich 31 mit den umgesetzten Vektordaten geladen, deren Wiedergewinnungsausgangsdatum
als ein Vektorelement den im Vektorarbeitsbereich 18 gespeicherten umzusetzenden Vektordaten entspricht.
Die Vektordatenumsetzung wird sequentiell für jedes Vektorelement ausgeführt, was bedeutet, daß die Vektorprozessorfunktionen
für diese Verarbeitung gut geeignet sind.
In dem Ausführungsbeispiel von Figur 5 können, obwohl der Assoziativspeicher in vier Spalten mal 1 Reihe in dem
Kongruenz system eingeteilt ist, die Anzahlen von Spalten
und Reihen jeweils ohne jede Schwierigkeit erhöht werden. Wenn die Anzahl der Reihen erhöht wird, muß die Ersatzsteuerung
zwischen zwei Reihen durchgeführt werden, was leicht mittels einer bekannten Technik erreicht werden kann.
Dieses Ausführungsbeispiel kann leicht modifiziert werden, um einen dritten Operanden zu spezifizieren, der Bits,
jeweils die Anwesenheit oder Abwesenheit jedes
Vektorelements des Umsetzvektors im Assoziativspeicher
angeben, zu jedem Vektorelement der umgesetzten Vektordaten addiert.
ORIGINAL INSPECTED
Als nächstes wird die Verwendung dieser zwei Befehle genauer anhand Figur 2 beschrieben. Wenn das Vergleichsdatenbankprogramm
initiiert wird, ist der Pufferbereich 201 noch leer. Folglich werden die Seiten, die die Bauteiletabelle
von Figur 1 enthalten, zur Gänze aus dem Plattenspeicher 110 geholt und in geeignete Positionen des Pufferspeichers
201 gespeichert. Eine Liste der geholten Seitennummern wird als die Vektordaten 7 im Hauptspeicher erstellt, und eine
Liste von Hauptspeicheradressen im Pufferbereich der die Seiten speichert als die Vektordaten 6 erstellt. Schließlich
wird ein Registrierbefehl, der die Vektordaten 6 und die Vektordaten 7 jeweils als ersten und zweiten Operanden
enthält, ausgeführt. In diesem Falle wird die Seitenzahl als Anzahl der Vektorelemente spezifiziert. Durch die Ausführung
des Registrierbefehls werden die Daten in den Assoziativspeicher
eingetragen.
Wenn zu der Vergleichsdatenbank eine Wiedergewinnungsanforderung ausgeht, wird der obengenannte Schritt (2) ausgeführt,
der die Adressumsetzung bewirkt. Dann extrahiert das Vergleichsdatenbankprogramm
nur den Teil der Seitenzahl aus der Datensatzadressliste und speichert das Datum in das
Feld für die Vektordaten 7 im Hauptspeicher. In dieser Situation wird, falls ein Wiedergewinnungsbefehl , der die
Vektordaten 6 und die Vektordaten 7 jeweils als ersten und zweiten Operanden enthält, ausgeführt wird, die Hauptspeicheradresse
der Seite, die den jeweiligen Datensatz speichert, aus den Vektordaten 6 erhalten. In diesem Fall
wird die Anzahl der Datensätze als Vektorelementanzahl gekennzeichnet. Schließlich wird die Hauptspeicheradresse
eines jeweiligen Datensatzes durch eine einfache Vektoranweisung wie eine ADD-Anweisung und eine Move-Anweisung
mit einer indirekten Adressfunktion basierend auf der Adresse in der Seite und der Seitenadresse im Hauptspeicher
berechnet, die jeweils in dem von der Datensatzadresse ge-
-24- 35I8818
kennzeichneten Bereich gespeichert sind. Diese einfachen Befehle werden durch die Vektorarithmetikeinheit 302 in
Figur 2 ausgeführt.
Obwohl in dem obenbeschriebenen Befehlsanwendungsbeispiel
angenommen ist, daß die Seiten alle zuvor von der Platte geholt werden, können diese Befehle auch angewendet werden,
wenn die Seiten auf Anforderung von der Platte 110 gelesen
werden. In diesem System werden,nachdem der Wiedergewinnungsbefehl
ausgeführt ist, die Vektordaten 6 geprüft und eine Liste von Datensätzen erstellt für die die Adressumsetzung
nicht auszuführen ist. Unter Bezug auf die erstellte Liste wird eine Liste von zu lesenden Seitennummern
erstellt und dann die betreffenden Seiten von der Platte 110 gelesen. Danach wird eine Liste von Seitennummern
geholt und eine Liste von Hauptspeicheradressen in dem entsprechenden Pufferbereich dem Assoziativspeicher
durch einen Registrierbefehl eingetragen.
Erfindungsgemäß kann der jeweilige Operationsschritt parallel
ausgeführt werden, da die Registrieroperation und die Holoperation hinsichtlich des Assoziativspeichers jeweils
nur eine Zeitdauer benötigen, die einen Zyklus jedes Vektorelements beträgt. Üblicherweise wird ein Operationsvorgang
nach der Beendigung des vorangehenden Operationsschritts ausgeführt, daß heißt, daß herkömmlich ein
Holschritt, der einen assoziativen Kennbegriff liest, ein Rechenschritt, der eine Spaltenadresse für den Assoziativspeicher
berechnet, ein Holschritt, der den Assoziativspeicher holt, ein Vergleichsschritt, der den Assoziativspeicherausgang
vergleicht und ein Speicherschritt, der den wiedergewonnenen Ausgang abspeichert, nacheinander
ausgeführt werden. Auch wenn ein Befehl für jeden Zyklus in jedem Schritt ausgeführt würde, wären fünf Zyklen nötig,
die Gesamtverarbeitung durchzuführen. Folglich ist
die Verarbeitungsgeschwindigkeit
durch die Anwendung der vorliegenden Erfindung fünf mal
so schnell wie die Geschwindigkeit bei herkömmlicher Verarbeitung .
Zusätzlich gibt es keine Möglichkeit, daß ein Benutzer fälschlich zu von anderen Benutzer in einer Assoziativspeicherzelle
gespeicherten Daten zugreift, da die dem Benutzer eigene Kennung nicht willkürlich vom Benutzer verändert
werden kann und diese ebenfalls im Assoziativspeicher gespeichert ist.
Das obige Ausführungsbeispiel kann dahingehend modifiziert werden, daß eine Datenspeichereinrichtung mit dem Hauptspeicher
200 verbunden wird, wie die aus der US-PS 4 128 880 bekannten Vektorregister, so daß die hinzugefügte
Datenspeichereinrichtung statt der Vektorarbeitsbereiche
18 bzw. 31 verwendet werden kann.
Claims (17)
1. Datenverarbeitungsvorrichtung
gekennzeichnet durch
a) einen Datenspeicher (200), der Vektordaten enthält;
b) eine Assoziativspeichereinrichtung (21 - 23), die assoziative Kennbegriffe und diesen entsprechende Datenposten
speichert und einen der Datenposten ausgibt, wenn ein eingegebener Kennbegriff mit einem der assoziativen
Kennbegriffe, der dem auszugebenden Datenposten entspricht,
übereinstimmt, wobei die assoziativen Kennbegriffe Datenelemente, die umzusetzen sind, darstellen
und die Datenposten-Vektorelemente darstellen, die als Ergebnis der Umsetzung der als die assoziativen
Kennbegriffe gespeicherten Vektorelemente zu erzeugen sind;
c) eine Leseeinrichtung (15, 16), die nach Maßgabe von Programmbefehlen sequentiell Vektorelemente von umzusetzenden
Vektordaten aus einem Bereich des Datenspeichers (200) ausliest, der von einem Programmbefehl gekennzeichnet
ist und die ausgelesenen Vektorelemente sequentiell der Assoziativspeichereinrichtung als
aufeinanderfolgende Kennbegriffeingaben liefert;
und
81-(9757-02)AtAl
d) eine Einschreibvorrichtung (26, 30, 33), die nach Maßgabe von Programmbefehlen sequentiell in einem Bereich
des Datenspeichers, der von einem Programmbefehl angegeben ist, Vektorelemente, die der Assoziativspeicher
aufeinanderfolgend als umgesetzte Vektordaten ausgibt, einspeichert.
2. Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß der Datenspeicher ein Hauptspeicher ist.
3. Datenverarbeitungsvorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß die Datenverarbeitungsvorrichtung einen Hauptspeicher
enthält und daß der Datenspeicher mit dem Hauptspeicher verbunden ist, um Vektordaten zu und von dem Hauptspeicher
zu übertragen.
4. Datenverarbeitungsvorrichtung nach Anspruch 2, dadurch gekennzeichnet,
daß die assoziativen Kennbegriffe in der Assoziativspeichereinrichtung (21 - 23) zu Datensatzadressen
in einem externen Speicher in Beziehung stehen, wobei die Datensätze in die Hauptspeicheradressen der Datensätze
geholt werden.
5. Datenverarbeitungsvorrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß die assoziativen Kennbegriffe in der Assoziativspeichereinrichtung (21 - 23) zu Datensatzadressen
in einem externen Speicher in Beziehung stehen, wobei die Datensätze in die Hauptspeicheradressen der Datensätze
geholt werden.
6. Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die Assoziativspeichereinrichtung weiterhin Benutzerkennungen speichert, die jeweils den assoziativen
Kennbegriffen entsprechen und einen der Datenposten abgibt, die sowohl dem assoziativen Kennbegriff, wenn
ein eingegebener Kennbegriff mit diesem assoziativen Kennbegriff übereinstimmt und gleichzeitig ein
zugeführter Benutzerkennungseingang mit einer diesem assoziativen Kennbegriff entsprechenden Benutzerkennung
übereinstimmt und
die Datenverarbeitungsvorrichtung Register (13) enthält,
die mit der Assoziativspeichereinrichtung verbunden sind und eine Benutzerkennung halten, die der Assoziativspeichereinrichtung
einzugeben ist.
7. Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die Assoziativspeichereinrichtung aufweist:
einen Speicher für Assoziativdaten (23), mit einem ersten Feld (41), das die assoziativen Kennbegriffe
speichert und einem zweiten Feld (43), das Wiedergewinnungsdatenposten
speichert, die gemäß den assoziativen Kennbegriffen wiederzugewinnen sind; und
eine Vergleichsvorrichtung (21), die die von der Ausleseeinrichtung sequentiell gelieferten Vektorelemente
mit den assoziativen Kennbegriffen vergleicht und ein Ausgangssignal erzeugt, wenn das geholte
Vektorelement mit einem der assoziativen Kennbegriffe übereinstimmt.
8. Datenverarbeitungsvorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
der Speicher (23) für Assoziativdaten weiterhin ein drittes Feld (42) aufweist, das Benutzerkennungen speichert,
die jeweils einen mit dem assoziativen Kennbegriff in Beziehung stehenden Benutzer bezeichnen; und
daß die Vergleichseinrichtung (21) eine einen Benutzer angebende Benutzerkennung, die mit den umzusetzenden
Vektorelementen in Beziehung steht, holt und die geholte Benutzerkennung mit dem im dritten Feld des Speichers
(23) für Assoziativdaten gespeicherten Benutzerkennungen vergleicht.
9. Datenverarbeitungsvorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
der Speicher (23) ein Lese/Schreibspeicher ist und daß
die Vorrichtung weiterhin aufweist:
eine Einspeichervorrichtung (50) für assoziative Kennbegriffe, die diese in das erste Feld (41) einspeichert,
und
eine Einspeichervorrichtung (32, 52) für Wiedergewinnungsdaten, die die Wiedergewinnungsdaten in das zweite
Feld (43) entsprechend den assoziativen Kennbegriffen
einspeichert.
10. Datenverarbeitungsvorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß
der Speicher (23) für Assoziativdaten ein Lese/Schreibspeicher ist und
die Datenverarbeitungsvorrichtung weiterhin aufweist: eine Einspeichervorrichtung (50), die die assoziativen
Kennbegriffe in das erste Feld (41) des Speichers (23) für Assoziativdaten einschreibt;
eine Einspeichervorrichtung (32, 52), die die entsprechend den assoziativen Kennbegriffen wiedergewonnenen Daten
in das zweite Feld (43) einschreibt; und eine Einspeichervorrichtung (41) für Benutzerkennungen,
die diese von den assoziativen Kennbegriffen abhängigen Benutzerbegriffe in das dritte Feld (42) einspeichert.
11. Datenverarbeitungsvorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß sie weiterhin aufweist:
eine Störschutzschaltung (HASH 24), die mit der Assoziativspeichervorrichtung
(21 - 23) durch die Leseeinrichtung (19) verbunden ist und zumindest einen der Einträge
in der Assoziativspeichereinrichtung (21 -23) abhängig von einem Teil der Daten eines Vektorelements, das durch
die Leseeinrichtung ausgelesen wurde, spezifiziert.
12. Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
ein Zyklus,in dem ein einzelnes Vektorelement von der Leseeinrichtung ausgelesen wird, ein Zyklus, in dem
jeder Vektor durch die Assoziativspeichereinrichtung verglichen wird und ein Zyklus, in dem ein jeweiliges
Vektorelement von der Einspeichervorrichtung eingespeichert wird, miteinander synchron sind.
13. Datenverarbeitugnsvorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß
die Leseeinrichtung (15, 16, 19) aufweist:
ein erstes Register (15), das die Anfangsadresse der im Datenspeicher enthaltenen umzusetzenden Vektordaten
speichert;
ein zweites Register (19), das ein Vektorelement eines aus dem Datenspeicher geholten umzusetzenden Vektorsdatums
basierend auf einer vom ersten Register (15) angegebenen Adresse speichert; und
einen ersten Addierer (16), der den Inhalt des ersten Registers in jedem Zyklus um einen Wert, der der Datenlänge
des Vektorelements entspricht, fortschreibt; und
die Einspeichervorrichtung (26, 30, 33) aufweist:
die Einspeichervorrichtung (26, 30, 33) aufweist:
ein drittes Register (26), das die Anfangsadresse der umgesetzten Vektordaten im Datenspeicher speichert;
ein viertes Register (33), das Wiedergewinnungsdaten, die aus der Assoziativspeichereinrichtung (21 - 23)
geholt sind und in den Datenspeicher aufgrund einer vom dritten Register (26) einzuspeichern sind, speichert;
und
einen zweiten Addierer (30), der das dritte Register (26) für jeden Zyklus um einen Wert, der der Datenlänge der
Wiedergewinnungsdaten entspricht, fortschreibt.
14. Datenverarbeitungsvorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß
die Assoziativspeichereinrichtung (21 - 23) aufweist: eine Toreinrichtung (22), die die wiedergewonnenen Daten
zum vierten Register (33) entsprechend dem Ausgangssignal der Vergleichseinrichtung, das das übereinstimmende Ergebnis
anzeigt, überträgt.
15. Datenverarbeitungsvorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß
die Toreinrichtung (22) einen bestimmten Wert in das vierte Register (33) lädt, wenn das Ausgangssignal des
Vergleichers (21) in einem Zyklus nicht auftritt.
16. Verfahren zur Umsetzung von Vektordaten gekennzeichnet durch folgende Schritte:
a) Registrieren von assoziativen Kennbegriffen und Wiedergewinnungsdaten,
die entsprechend den Kennbegriffen wiederzugewinnen sind in eine Assoziativspeichereinrichtung
(21 - 23) ;
b) Aufeinanderfolgendes Auslesen in jedem Zyklus jedes Vektorelements
der umzusetzenden Vektordaten, die in einem Bereich eines Datenspeichers gespeichert sind, entsprechend
der Angabe eines Programmbefehls;
c) Eingeben des ausgelesenen Vektorelements in die Assoziativspeichereinrichtung
(21 - 23) für jeden Zyklus synchron mit dem Lesezyklus und parellel zum Lese*-
schritt, um eine Wiedergewinnungsdatum entsprechend einem assoziativen Kennbegriff aus der Assoziativspeichereinrichtung
(21 - 23) auszulesen, wenn der assoziative Kennbegriff mit dem ausgelesenen Vektorelement
übereinstimmt; und
d) Einspeichern der in Schritt c) ausgelesenen wiedergewonnenen
Daten in einen Bereich des Datenspeichers, der von einem Programmbefehl angegeben ist für jeden Zyklus
synchron mit dem Lesezyklus von Schritt a), um dadurch umgesetzte Vektordaten, die den umzusetzenden Vektordaten
entsprechen, zu erzeugen.
17. Verfahren nach Anspruch 16,
dadurch gekennzeichnet,, daß der Schritt a) folgende Teilschritte enthält:
i) in einem von einem Programmbefehl angegebenen Bereich des
Datenspeichers wird ein erstes Vektordatum erzeugt, das als Vektofelement das assoziative Kennbegriffe aufweist,
die in die Assoziativspeichereinrichtung (21 - 23) einzutragen sind;
ii) in einem von einem Programmbefehl angegebenen Bereich des
Datenspeichers wird ein zweites Vektordatum generiert, das als Vektorelemente Wiedergewinnungsbegriffe aufweist,
die in die Assoziativspeichereinrichtung (21 - 23) einzutragen sind, wobei das erste Vektordätum dem zweiten
Vektordatum Vektorelement für Vektorelement entspricht;
iii) Einschreiben jedes Vektorelements des ersten Vektordatums
für jeden Zyklus in einen entsprechenden Eintrag der Assoziativspeichereinrichtung (21 - 23);
und
— ο —
iv) Einschreiben jedes Vektorelements des zweiten Vektordatums
für jeden Zyklus in einen entsprechenden Eintrag der Assoziativspeichereinrichtung (21 - 23) synchron
mit dem Zyklus und parallel zum Teilschritt iii).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59104542A JPS61210477A (ja) | 1984-05-25 | 1984-05-25 | ベクトル型連想メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3518818A1 true DE3518818A1 (de) | 1985-11-28 |
DE3518818C2 DE3518818C2 (de) | 1988-06-01 |
Family
ID=14383374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853518818 Granted DE3518818A1 (de) | 1984-05-25 | 1985-05-24 | Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen |
Country Status (3)
Country | Link |
---|---|
US (1) | US4780810A (de) |
JP (1) | JPS61210477A (de) |
DE (1) | DE3518818A1 (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS621067A (ja) * | 1985-02-25 | 1987-01-07 | Hitachi Ltd | ベクトル処理装置 |
US5086498A (en) * | 1987-01-23 | 1992-02-04 | Hitachi, Ltd. | Parallel computer with asynchronous communication facility |
JPS63251835A (ja) * | 1987-04-08 | 1988-10-19 | Hitachi Ltd | ベクトル処理装置 |
US5297255A (en) * | 1987-07-28 | 1994-03-22 | Hitachi, Ltd. | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism |
US5710932A (en) * | 1987-07-28 | 1998-01-20 | Hitachi, Ltd. | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism |
DE3855750T2 (de) * | 1987-10-07 | 1997-07-03 | George G Gorbatenko | Speicherraumfeldanordnung zur speicherung von relationalen daten |
JPH07104868B2 (ja) * | 1988-04-08 | 1995-11-13 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ記憶検索システム |
US6112019A (en) * | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
US6424969B1 (en) * | 1999-07-20 | 2002-07-23 | Inmentia, Inc. | System and method for organizing data |
US6944619B2 (en) * | 2001-04-12 | 2005-09-13 | Primentia, Inc. | System and method for organizing data |
US6889225B2 (en) * | 2001-08-09 | 2005-05-03 | Integrated Silicon Solution, Inc. | Large database search using content addressable memory and hash |
US20040158561A1 (en) * | 2003-02-04 | 2004-08-12 | Gruenwald Bjorn J. | System and method for translating languages using an intermediate content space |
JP4681863B2 (ja) * | 2004-11-30 | 2011-05-11 | キヤノン株式会社 | 画像処理装置、および、その制御方法 |
WO2016067107A1 (en) | 2014-10-27 | 2016-05-06 | Kinaxis Inc. | Data storage using vectors of vectors |
US11144522B2 (en) | 2014-10-27 | 2021-10-12 | Kinaxis Inc. | Data storage using vectors of vectors |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2525287A1 (de) * | 1975-06-06 | 1976-12-09 | Siemens Ag | Assoziativspeicher |
US4024505A (en) * | 1974-11-18 | 1977-05-17 | Compucorp | Interface system for coupling an indeterminate number of peripheral devices to a central processing unit |
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1265006A (de) * | 1968-11-08 | 1972-03-01 | ||
US3699533A (en) * | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
GB1289249A (de) * | 1971-05-05 | 1972-09-13 | ||
US4024508A (en) * | 1975-06-19 | 1977-05-17 | Honeywell Information Systems, Inc. | Database instruction find serial |
US4084231A (en) * | 1975-12-18 | 1978-04-11 | International Business Machines Corporation | System for facilitating the copying back of data in disc and tape units of a memory hierarchial system |
US4115850A (en) * | 1976-11-03 | 1978-09-19 | Houston George B | Apparatus for performing auxiliary management functions in an associative memory device |
US4392200A (en) * | 1980-01-28 | 1983-07-05 | Digital Equipment Corporation | Cached multiprocessor system with pipeline timing |
JPS57134750A (en) * | 1981-02-12 | 1982-08-20 | Nippon Telegr & Teleph Corp <Ntt> | Relation algebra operating device |
US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
-
1984
- 1984-05-25 JP JP59104542A patent/JPS61210477A/ja active Pending
-
1985
- 1985-05-24 US US06/737,453 patent/US4780810A/en not_active Expired - Fee Related
- 1985-05-24 DE DE19853518818 patent/DE3518818A1/de active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4024505A (en) * | 1974-11-18 | 1977-05-17 | Compucorp | Interface system for coupling an indeterminate number of peripheral devices to a central processing unit |
DE2525287A1 (de) * | 1975-06-06 | 1976-12-09 | Siemens Ag | Assoziativspeicher |
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
Non-Patent Citations (1)
Title |
---|
W.K. Giloi, Rechnerarchitektur Springer Verlag 1981, S. 178-194 * |
Also Published As
Publication number | Publication date |
---|---|
JPS61210477A (ja) | 1986-09-18 |
DE3518818C2 (de) | 1988-06-01 |
US4780810A (en) | 1988-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69132356T2 (de) | Verfahren und Gerät zur Zeigerkompression in strukturierten Datenbanken | |
DE3151745C2 (de) | ||
DE3750492T2 (de) | Datenbanksystem für Parallelprozessor. | |
DE68927621T2 (de) | Echtzeitdatenbasis | |
DE3833933C2 (de) | Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion | |
DE69030945T2 (de) | Zweistufiger Adressübersetzungspufferspeicher mit partiellen Adressen zur Geschwindigkeitserhöhung | |
DE2131066C3 (de) | Anordnung zum Adressieren eines Tabellenspeichers | |
DE68929132T2 (de) | Datenbankverwaltungssystem und Verfahren hierfür | |
DE69032576T2 (de) | Dynamische Optimierung eines einzelnen relationalen Zugriffs | |
DE69112694T2 (de) | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. | |
DE3650156T2 (de) | Auf regeln basiertes datenwiederauffindverfahren und anordnung. | |
DE1499182C3 (de) | Datenspeichersystem | |
DE3991231C2 (de) | Vektorprozessor und Verfahren zum Suchen einer Stichwortzeichenfolge in einer Textzeichenfolge | |
DE2712575C2 (de) | Assoziatives Speichersystem in hochintegrierter Halbleitertechnik | |
DE3518818C2 (de) | ||
DE4410060A1 (de) | Rechenvorrichtung | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE813713T1 (de) | Adressenübersetzungsbuffer in einem rechnersystem | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2521436A1 (de) | Informationswiedergewinnungsanordnung | |
DE3932675A1 (de) | Virtuelles maschinensystem | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE3688738T2 (de) | Musteradressierbarer speicher. | |
DE2047062A1 (de) | Verfahren und Einrichtung zur Messung der Effektivität einer Daten Verarbeitungsanlage mit virtueller Adre»»ici uiig | |
DE68927527T2 (de) | Bedrahtete Datensortierschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |