DE68924377T2 - Verarbeitungssysteme für variable Datenlänge. - Google Patents

Verarbeitungssysteme für variable Datenlänge.

Info

Publication number
DE68924377T2
DE68924377T2 DE68924377T DE68924377T DE68924377T2 DE 68924377 T2 DE68924377 T2 DE 68924377T2 DE 68924377 T DE68924377 T DE 68924377T DE 68924377 T DE68924377 T DE 68924377T DE 68924377 T2 DE68924377 T2 DE 68924377T2
Authority
DE
Germany
Prior art keywords
address
data
delimitation
stored
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68924377T
Other languages
English (en)
Other versions
DE68924377D1 (de
Inventor
Norihiro Pat Dep Dev Di Hidaka
Junichi Pat Dep Dev Div Komuro
Tetsuya Pat Dep Dev Div H Sato
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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
Priority claimed from JP17511188A external-priority patent/JPH0225922A/ja
Priority claimed from JP31134688A external-priority patent/JPH02157933A/ja
Priority claimed from JP31134788A external-priority patent/JPH02157934A/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Application granted granted Critical
Publication of DE68924377D1 publication Critical patent/DE68924377D1/de
Publication of DE68924377T2 publication Critical patent/DE68924377T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Bus Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung zum Verarbeiten van Daten mit variabler Länge, bei denen Wörter, Records, Files u.dgl. durch Abgrenzungscodes voneinander abgegrenzt sind.
  • Wenn eine Datenverarbeitung mit einem Datenformat von variabler Länge ausgeführt wird, werden die verarbeiteten Daten mit variabler Länge durch Wort- oder Record-Abgrenzungscodes in Wort- oder Record-Einheiten unterteilt und sequentiell aneinandergereiht und in einem Speicher gespeichert. Wenn die Verarbeitung für diese so angeordneten Daten mit variabler Länge ausgeführt ist und die Daten im Speicher abgespeichert sind, werden die Daten-Strings mit variabler Länge sequentiell aus dem Speicher ausgelesen und die Wort- und Record- Abgrenzungscodes wieder ermittelt. Beispielsweise wird, wenn ein zweites Wort in jedem Record in dem Speicher herausgefiltert wird, um eine Erneuerung durchzuführen, der entsprechende Record-Abgrenzungscode in dem Speicher ermittelt und ein erster Wort-Abgrenzungscode wird aus dem ermittelten Record-Abgrenzungscode erhalten, um das zweite Wort zu extrahieren (da das zweite Wort dem ersten Wort folgt). Um das zweite Wort in jedem Record zu extrahieren, muß obige Verarbeitung wiederholt ausgeführt werden.
  • Auf diese Weise wird bei einem herkömmlichen System jedesmal dann, wenn eine Zeitverarbeitung für die Datenstrings mit variabler Länge ausgeführt wird, obige Verarbeitung wiederholt werden, was zu einem zeitaufwendigen Betrieb führt.
  • Dies trifft auch dann zu, wenn ein zu verarbeitendes Wort in jedem Record vorbestimmt ist, z.B. wenn ein variables Wort ein zweites Wort ist und andere Wörter feste Wörter sind. Die Abfrageverarbeitung muß jedesmal dann ausgeführt werden, wenn eine Verarbeitung hinsichtlich des Wortes ausgeführt wird. Aus US-A-4 133 041 ist ein derartiges herkömmliches System bekannt.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungsvorrichtung für Daten mit variabler Länge anzugeben, durch die ein schneller Zugriff auf die Daten mit variabler Länge möglich ist.
  • Diese Aufgabe wird durch den Gegenstand des Anspruches 1 gelöst.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden im folgenden unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Dabei zeigen die Zeichnungen im einzelnen:
  • Figur 1 zeigt ein Blockschaltbild zur Erläuterung einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • Figur 2 zeigt ein erstes Beispiel einer Adressentabelle;
  • die Figuren 3A bis 3H zeigen erste Zeitdiagramme;
  • die Figur 4 zeigt ein zweites Beispiel der Adreßtabelle;
  • die Figuren 5A bis 5F zeigen zweite Zeitdiagramme; und
  • Figur 6 zeigt ein drittes Beispiel für die Adressentabelle.
  • Figur 1 zeigt ein Blockschaltbild einer Verarbeitungsvorrichtung für Daten mit variabler Länge gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Die Vorrichtung zum Verarbeiten von Daten mit variabler Länge verarbeitet Daten mit variabler Länge, bei denen Wörter und Records durch Abgrenzungscodes voneinander abgetrennt sind. Die Vorrichtung verarbeitet die in dem RAM 3 gespeicherten Daten mit variabler Länge gemäß einem in einem ROM 2 gespeicherten Programm unter Steuerung einer CPU 1. Das RAM 3 ist mit der CPU 1 und dem ROM 2 über einen Adreßbus AB und einen Datenbus DB verbunden. Der Adreßbus AB und der Datenbus DB sind mit einer Magnetplatte 4 verbunden, auf der umfangreiche Daten mit variabler Länge gespeichert werden können und sind weiterhin mit einem DMA-Kontroller 5 verbunden, um einen Teil der auf der Magnetplatte 4 gespeicherten Daten direkt transferieren zu können.
  • Der Adreßbus AB und der Datenbus DB sind auch mit einer Abgrenzungs-Detektionseinheit 6 verbunden. Die Abgrenzungs- Detektionseinheit 6 detektiert verschiedene Abgrenzungscodes, d.h. einen Abgrenzungscode der ein Wort abgrenzt, eines Abgrenzungscodes, der eine Abgrenzung in einem File anzeigt u.dgl. auf dem Datenbus DB, liest eine Adresse in dem RAM 3 aus, in der der detektierte Abgrenzungscode gespeichert ist und führt verschiedene Verarbeitungsoperationen durch wie beispielsweise das Erzeugen einer Adressentabelle basierend auf den ausgelesenen Adressen unter Steuerung einer Steuereinheit 61. Die Abgrenzungsdetektionseinheit 6 enthält einen Adreßgenerator 62 und einen Adreßspeicherschaltkreis 63, die beide mit dem Datenbus DB und dem Adreßbus AB verbunden sind. Weiterhin ist ein Feldregister 64, ein Befehlscoderegister 65, ein Abgrenzungs-Art-Register 66, ein Lesepuffer 67 und ein Detektor 68 vorgesehen, die mit dem Datenbus DB verbunden sind. Das Feldregister 64 ist mit einem Vergleicher 69 verbunden. Der Vergleicher 69 ist mit einem Zähler 70 verbunden. Das Befehlscoderegister 65 ist mit einem Befehlsdecoder 71 verbunden. Ein decodierter Ausgang von dem Befehlsdecoder wird der Steuereinheit 61 zugeführt.
  • Die Schaltkreise der Abgrenzungsdetektionseinheit 6 werden im folgenden im Detail beschrieben.
  • Der Adressengenerator 62 weist ein Leseadreßregister RA und ein Schreibadreßregister WA auf. Nach Empfang eines Startsignals S2 von der Steuereinheit 61 startet der Generator 62 einen zyklischen Betrieb, der aus einem Lesezyklus und einem Schreibzyklus entsprechend dem Taktsignal wie es von dem Taktgenerator (nicht gezeigt) erzeugt wird. In dem Lesezyklus gibt der Generator 62 den Inhalt des Leseadreßregisters RA auf den Adreßbus AB aus. Nach Vervollständigung des Lesezykluses inkrementiert der Generator 62 den Inhalt des Leseadreßregisters um 1. Wenn der Generator 62 ein Speicherkomplementierungssignal S8 von der Steuereinheit 61 empfängt, gibt er den Inhalt des Schreibadreßregisters WA auf den Adreßbus AB aus und inkrementiert den Inhalt des Schreibadreßregisters WA um 1, nachdem eine vorgegebene Zeit abgelaufen ist.
  • Nach Empfang des Adreßspeichersignals S6 von der Steuereinheit 61 holt der Adreßspeicherschaltkreis 63 die Adreßdaten, die sich auf dem Adreßbus AB zu dieser Zeit befinden, inkrementiert die Daten um 1 und gibt diese auf den Datenbus DB aus.
  • Das Feldregister 64 speichert Daten, die die Reihenfolge der zu bestimmenden Wörter anzeigen, auf einem Record. Wenn diese Daten dem Vergleicher 69 zur Verfügung gestellt werden, werden sie um 1 dekrementiert und mit dem Inhalt des Zählers 70 verglichen.
  • Das Befehlscoderegister 65 speichert einen Befehlscode der den Betrieb der Abgrenzungsdetektionseinheit 6 bestimmt. Das Register 65 bewirkt, daß der Befehlsdecoder 71 einen Tabellenformationsbefehlscode INS1, einen speziellen Feld- Tabellenformationsbefehlcode INS2, einen Datentransferbefehlscode INS3 oder dgl. gemäß dem Befehlscode decodiert, so daß damit der Steuerbetrieb der Steuereinheit 61 bestimmt wird. Die Abgrenzungscodes ", ", "(", ", ", und dergleichen werden in einem Abgrenzungsartregister 66 vorgesetzt und dem Detektor 68 zugeführt. Der Detektor 68 stellt einen Schaltkreis dar, der sich zum Bestimmen eignet, ob der Inhalt des Lesepuffers 67, welcher zum vorübergehenden Speicher von aus dem RAM 3 ausgelesenen Daten dient, wie er sich auf dem Datenbus DB befindet mit einem der Abgrenzungscodes, wie sie in dem Abgrenzungsartregister 66 voreingestellt sind, übereinstimmt. Wenn eine Übereinstimmung detektiert wird, gibt der Detektor ein Detektionssignal des entsprechenden Abgrenzungscodes an die Steuereinheit 61 aus. Wenn keine Übereinstimmung detektiert wird, gibt der Detektor kein Detektionssignal aus.
  • Die Steuereinheit 61 führt eine Steueroperation gemäß dem Befehlscode aus, wie er in dem Befehlscoderegister 65 gespeichert ist. Wenn der spezielle Feld-Tabellen- Formationsbefehlscode INS2 im Befehlscoderegister 65 gesetzt ist, führt die Steuereinheit 61 eine I/O-Steuerung wie folgt durch.
  • Wenn die Steuereinheit 61 ein Verarbeitungsstartsignal S1 von der CPU 1 erhält, gibt sie ein Startsignal S2 an den Adressengenerator 62 aus.
  • 2. Wenn die Steuereinheit 61 den Abgrenzungscode "(" empfängt, wodurch eine Record-Abgrenzung vom Detektor 68 angezeigt wird, gibt sie ein Reset-Signal S3 an den Zählder 70 aus.
  • 3. Wenn die Steuereinheit 61 den Abgrenzungscode "," von dem Detektor 68 empfängt, wodurch eine Wortabgrenzung angezeigt wird, gibt sie ein Vergleichssignal S4 an den Vergleicher 69 aus und nach dem Ablauf einer vorgegebenen Zeitperiode gibt sie ein Aufwärtszählsignal S7 an den Zähler 70 ab.
  • 4. Wenn die Steuereinheit 61 den Abgrenzungscode " " von dem Detektor 68 empfängt wodurch eine File-Abgrenzung angezeigt wird, gibt sie ein Verarbeitungsendesignal S9 an die CPU 1 aus.
  • 5. Wenn die Steuereinheit 61 ein Übereinstimmungssignal S5 von dem Vergleicher 69 empfängt, gibt sie ein Speichersignal S6 an den Adressenspeicherschaltkreis 63 aus und gibt dann ein Speichervervollständigungssignal S8 an den Adressengenerator 62 aus.
  • Wenn der Datentransferbefehlscode INS3 in dem Befehlscoderegister 65 gesetzt ist, führt die Steuereinheit 61 eine Signal-I/O-Steuerung wie folgt aus:
  • 1. Wenn die Steuereinheit 61 ein Verarbeitungsstartsignal S1 von der CPU 1 erhält, gibt ein Startsignal S10 an den DMA- Kontroller 5 aus.
  • 2. Wenn die Steuereinheit 61 einen Abgrenzungscode "(" oder "," von dem Detektor 68 erhält, wodurch eine Record- oder Wort- Abgrenzung angezeigt wird, gibt sie ein Speichersignal S6 an den Adressenspeicher-Schaltkreis 63 aus und gibt ein Interrupt- Signal S11 an den DMA-Kontroller 5 ab.
  • 3. Wenn die Steuereinheit 61 den Abgrenzungscode " " von dem Detektor 68 erhält, wodurch eine File-Abgrenzung angezeigt wird, gibt sie ein Ende-Signal S14 an den DMA-Kontroller 5 ab und gibt ein Verarbeitungsendesignal S9 an die CPU 1 ab.
  • 4. Wenn die Steuereinheit 61 ein Interrupt-Signal S12 von dem DMA-Kontroller 5 erhält, gibt sie ein Speichervervollständigungssignal S8 an den Adressengenerator 62 ab und gibt dann ein Interrupt-Vervollständigungssignal S13 an den DMA-Kontroller 5 ab.
  • Der DMA-Kontroller 5 wird im folgenden beschrieben.
  • Der DMA-Kontroller 5 weist einen Adressenzähler AC auf. Wenn der Kontroller 5 das Startsignal S10 von dem Kontroller 61 erhält, startet er eine Datentransferoperation auf Basis eines Taktsignals vom Taktgenerator (nicht gezeigt). Der Kontroller 5 gibt eine Einheit von Daten von der magnetischen Platte 4 auf den Datenbus DB aus und gibt den Inhalt des Adreßzählers AC auf den Adreßbus AB, um eine Adresse für das RAM 3 festzulegen. Dann übergibt der Kontroller 5 die Einheit von Daten auf den Datenbus DB an die angegebene Adressenposition im RAM 3. Der Kontroller wiederholt diesen Betrieb in Antwort auf jedes Taktsignal, so daß die Daten von der magnetischen Platte 4 auf das RAM 3 mit hoher Geschwindigkeit transferiert werden. Der Adreßzähler AC wird jedesmal dann, wenn eine Einheit von Daten übertragen wird, um 1 inkrementiert. Wenn der DMA-Kontroller 5 ein Interrupt-Signal SL von der Steuereinheit 61 empfängt, wird die Datentransferoperation unterbrochen (der Taktbetrieb wird angehalten) und es wird dann ein Interrupt-Signal S12 an den Kontroller 61 gesendet. Nach Empfang des Interrupt- Vervollständigungssignals S13 von dem Kontroller 61 beginnt der DMA-Kontroller 5 erneut mit der unterbrochenen Datentransferoperation. Nach Empfang eines Ende-Signals S14 beendet der Kontroller 5 eine Serie von Datentransferoperationen. Der Betrieb der Ausführungsform der vorliegenden Erfindung wird im folgenden beschrieben.
  • Im folgenden wird ein Fall beschrieben, bei dem eine Adressentabelle bestimmter Wörter gebildet wird, z.B. eine Adressentabelle mit zweiten Wörtern in Records, wie dies in Figur 2 gezeigt ist.
  • Figur 2 zeigt einen Fall, bei dem die Startadresse eines zweiten Wortes in jedem Record der in einem Bereich von der Adresse 1 in dem RAM 3 gespeichert ist, in einen Tabellenbereich des RAM 3 geschrieben wird, d.h. ein Tabellenbereich der von der Adresse 100 beginnt. Dadurch wird die Adressentabelle gebildet. Da die Startadresse des zweiten Wortes des ersten Records 5 ist, wird die Adresse 5 in die Adresse 100 geschrieben. Da die Startadresse des zweiten Wortes des zweiten Records 16 ist, wird die Adresse 16 auf die Adresse 101 geschrieben. Da die Startadresse des zweiten Wortes im dritten Record 25 ist, wird die Adresse 25 auf die Adresse 102 geschrieben. In gleicher Weise werden die Startadressen der zweiten Wörter der folgenden Records in einem Bereich nach der Adresse 103 geschrieben, wodurch eine Adressentabelle gebildet wird.
  • Auf diese Weise werden, wenn die Adressentabelle der bestimmten Wörter gebildet wird, und wenn ein Befehl zum Addieren aller zweiten Wörter der Records eingegeben wird, die Adressen der zweiten Wörter der Records direkt detektiert im Bezug auf diese Adressentabelle und die Zugriffsgeschwindigkeit kann erhöht werden. Daher kann eine Wortzufügungsverarbeitung mit hoher Geschwindigkeit ausgeführt werden.
  • Ein Betrieb zum Bilden der Adressentabelle wie es in Figur 2 gezeigt ist unter Verwendung des Blockschaltkreises wie er in Figur 1 gezeigt ist, wird im folgenden unter Bezugnahme auf das Zeitdiagramm der Figur 3 beschrieben.
  • Verschiedene Register werden initialisiert, bevor die Adressentabellenformation beginnt. Die CPU 1 zählt die Daten 1 und 100 als Anfangswerte in das Leseadreßregister RA und das Schreibregister WA und setzt die Daten 2 in das Feldregister 64. Die CPU 1 setzt die Abgrenzungscodes ", ", "(", und " " in das Abgrenzungsartregister 66 und setzt den speziellen Feldtabellenformationsbefehlscode INS2 in das Befehlscoderegister 65.
  • Nach diesen Operationen gibt die CPU 1 ein Verarbeitungsstartsignal S1 an den Kontroller 61 ab und übergibt die Steuerung an den Kontroller 61.
  • Nach Empfang des Verarbeitungsstartsignals S1 von der CPU 1, gibt die Steuereinheit (Controller) 61 das Startsignal S2 an den Adressengenerator 62 aus. Insbesondere gibt der Adressengenerator 62 die in dem Leseadreßregister RA gespeicherten Adreßdaten auf den Adreßbus AB in einem ersten Lesezyklus aus und liest die in dem entsprechenden Adreßbereich im RAM 3 gespeicherten Daten auf den Datenbus DB, aus. Die auf den Datenbus DB ausgelesenen Daten werden in dem Lesepuffer 67 gespeichert und ein Detektor 68 bestimmt, ob die geholten Daten mit einem der Abgrenzungscodes, wie sie in dem Abgrenzungs-Typ- Register 66 gespeichert sind, übereinstimmen. Da die in dem Adreßbereich 1 in dem RAM 3 gespeicherten Daten den Abgrenzungscode "(" darstellen, wird das Detektionssignal an die Steuereinheit 61 ausgegeben. Wenn die Steuereinheit 61 das Detektionssignal von dem Abgrenzungscode "(" empfängt, gibt sie ein Reset-Signal S3 an den Zähler 70 aus, um den Inhalt des Zählers 70 auf 1 zurückzusetzen. Da keine Adreßspeicheroperation in diesem Lesezyklus durchgeführt wird, gibt der Adressengenerator 62 keine Ausgangsadressendaten, wie sie in dem Schreibadreßregister WA gespeichert sind, in dem folgenden Schreibzyklus auf den Adreßbus AB aus und es wird kein Schreibzugriff auf das RAM 3 ausgeführt. Nach Vervollständigung des Lesezyklusses, wird der Wert des Leseadreßregisters RA um 1 inkrementiert, d.h. auf zwei hochgesetzt.
  • Danach wird im nächsten Lesezyklus der Inhalt des Leseadreßregisters RA auf den Adreßbus AB ausgegeben und die Daten, z.B. ein x, welches in dem entsprechenden Adreßbereich des RAMS 3 gespeichert ist, werden auf dem Datenbus DB ausgelesen. Diese Daten werden in dem Lesepuffer 67 gespeichert. Da diese Daten keine Abgrenzungscodes darstellen, gibt der Detektor 68 kein Detektionssignal aus und somit wird kein Schreibzugriff auf das RAM 3 im folgenden Schreibzyklus ausgeführt.
  • Im nächsten Lesezyklus wird, da die Daten x auf den Datenbus DB ausgegeben wurden, kein Schreibzugriff auf das RAM 3 in dem nächsten Schreibzyklus ausgeführt.
  • Im vierten Lesezyklus, wird, da der Abgrenzungscode in "," auf den Datenbus DB ausgegeben wurde, der Code durch den Detektor 68 detektiert und ein Detektionssignal an die Steuereinheit 61 ausgegeben. Nach Empfang des Detektionssignals des Abgrenzungscodes in "," gibt der Kontroller 61 das Vergleichssignal S4 zum Vergleicher 69 aus, so daß ein Wert 1 durch Dekrementieren der in dem bestimmten Feldregister 64 gespeicherten zwei mit einem Zählwert wie er im Zähler 70 gespeichert ist, verglichen wird. In diesem Fall wird, da die Daten 1 im Zähler 70 gesetzt sind, der Komparator 69 eine Übereinstimmung zwischen den zwei Daten detektieren und ein Übereinstimmungssignal S5 an den Kontroller 61 weiterleiten. Wenn der Kontroller 61 das Übereinstimmungssignal S5 empfängt, gibt er ein Speichersignal S6 an den Adreßspeicherschaltkreis 63 aus. Dadurch speichert der Adreßspeicherschaltkreis 63 die Adreßdaten zu diesem Zeitpunkt, d.h. "4". Danach gibt der Kontroller 61 ein Aufzählsignal S7 an den Zähler 70 aus, um den Wert des Zählers auf "2" zu erneuern. Der Kontroller 61 gibt das Speichervervollständigungssignal S8 an den Adreßgenerator 62 aus. Der Adreßgenerator 62 gibt die Adreßdaten, d.h. 100, die in dem Schreibadreßregister WA gespeichert sind, auf den Adreßbus AB aus, um den entsprechenden Adreßbereich in dem RAM zu kennzeichnen. In diesem Fall werden die Daten die durch Erhöhen der Adreßdaten wie sie in dem Adreßspeicherschaltkreis 63 gespeichert sind um "1", d.h. "5", auf den Datenbus DB weitergeleitet. Die Daten 5 auf dem Datenbus DB werden an der Adresse 100 im RAM 3 gespeichert. Nach der Speicheroperation inkrementiert der Adreßgenerator 62 den Wert des Schreibadreßregisters WA um 1.
  • Im fünften Lesezyklus, wird, da die Daten x auf dem Datenbus DB detektiert werden, kein Detektionsbetrieb durch den Detektor 68 ausgeführt und somit wird keine Datenspeicherverarbeitung in dem folgenden Schreibzyklus durchgeführt.
  • Im sechsten Lesezyklus wird, da der Abgrenzungscode "," auf dem Datenbus DB detektiert wird, dieser Code durch den Detektor 68 detektiert und das Detektionsergebnis wird an den Kontroller 61 weitergegeben. Nach Empfang dieses Detektionssignals gibt der Kontroller 61 das Vergleichssignal S4 an den Vergleicher 69 aus, so daß eine 1 erhalten wird durch Inkrementieren der im bestimmten Feldregister 64 gespeicherten Daten um 1. Dies wird mit einem C-Wert wie er im Zähler 70 gespeichert ist, verglichen. In diesem Fall wird, da der Zähler 70 eine 2 speichert, der Vergleicher 69 kein Übereinstimmungssignal S5 ausgeben. Als Ergebnis wird der Kontroller 61 kein Speichersignal S6 an den Adreßspeicherschaltkreis 63 ausgeben, so daß keine Datenspeicherverarbeitung im folgenden Schreibzyklus ausgeführt wird. In diesem Lesezyklus gibt der Kontroller 61 das Aufzählsignal S7 an den Zähler 70 aus, um den Wert des Zählers 70 auf 3 zu erhöhen.
  • In gleicher Weise wird eine Datenauslesungsoperation sequentiell ausgeführt. Wenn der Abgrenzungscode "(" auf den Datenbus DB im dreizehnten Lesezyklus ausgelesen wird, wird dieser Code durch den Detektor 68 detektiert und das entsprechende Detektionsergebnis wird dem Kontroller 61 zugeführt. Nach Empfang dieses Detektionssignals gibt der Kontroller 61 das Resetsignal S3 an dem Zähler 70 aus, um den Inhalt des Zählers 70 auf 1 zurückzusetzen.
  • Im vierzehnten Lesezyklus gibt der Detektor 68 kein Detektionssignal aus, da die Daten x auf dem Datenbus DB befindlich sind.
  • Im fünfzehnten Lesezyklus wird der Abgrenzungscode "," auf den Datenbus DB ausgegeben und dieser Code wird durch den Detektor 68 detektiert. Der Kontroller 61 gibt dann das Vergleichssignal S4 an den Vergleicher 69 weiter, so daß ein Wert 1 erhalten wird, indem die im bestimmten Feldregister 64 enthaltenen Daten um 1 dekrementiert werden und mit einem Zählwert wie im Speicher 70 gespeichert ist, verglichen werden. In diesem Fall wird, da der Zähler 70 eine eins Speichert, der Vergleicher ein Übereinstimmungssignal S5 ausgeben und der Kontroller gibt das Speichersignal S6 an den Adreßspeicherschaltkreis 63 aus, um diesen zu veranlassen, die Adreßdaten zu dieser Zeit, d.h. 15 zu speichern. Danach gibt der Kontroller 61 ein Aufzählsignal 7 an den Zähler 70 ab und gibt ein Speichervervollständigungssignal S8 an den Adreßgenerator 62 ab. Der Adreßgenerator 62 gibt Adreßdaten, d.h 101, wie sie im Schreibadreßregister WA gespeichert sind, auf den Adreßbus AB im folgenden Lesezyklus aus. In diesem Fall werden die durch Inkrementieren der Adreßdaten wie sie in dem Adreßspeicherschaltkreis 63 gespeichert sind um 1, d.h. die Daten 16 auf den Datenbus DB weitergegeben. Diese Daten 16 werden in der Adresse 101 des RAMS 3 gespeichert.
  • In dieser Weise werden die im RAM 3 gespeicherten Daten sequentiell ausgelesen und zur Abgrenzungsdetektion an den Detektor 68 weitergegeben. Wenn der Abgrenzungscode "(", durch den eine Rekord-Abgrenzung angezeigt wird, detektiert wird, wird der Zähler 70 auf 1 zurückgesetzt. Wenn der Abgrenzungscode ",", der eine Wort-Abgrenzung angibt, detektiert wird, überprüft der Vergleicher 69, ob dieser Code einen Code darstellt, der unmittelbar vor dem bestimmten Wort in einem Record gespeichert ist, d.h., ob ein Abgrenzungscode unmittelbar vor dem zweiten Wort gespeichert ist. Wenn festgestellt wird, daß der detektierte Code der Abgrenzungscode ist, der unmittelbar vor dem zweiten Wort gespeichert ist, wird die Adresse in dem RAM 3 bei der dieser Abgrenzungscode gespeichert ist, in dem Adreßspeicherschaltkreis 63 gespeichert. Die durch Inkrementieren dieses Adreßwertes um 1 erhaltenen Daten werden sequentiell in dem Tabellbereich des RAM 3 gespeichert.
  • Wenn der Detektor 68 den Abgrenzungscode " " detektiert, durch den eine File-Abgrenzung angezeigt wird, beendet der Kontroller 61 den Adreßtabellenformationsprozeß und gibt ein Ende-Signal S9 zu CPU 1 aus, so daß alle Steuerung auf die CPU 1 transferiert wird.
  • Mit der oben beschriebenen Serie von Verarbeitungsschritten, werden die Startadressen von zweiten Wörtern von Records in einem vorgegebenen File in dem RAM 3 in dem festgelegten Adreßtabellenbereich des RAMS 3 gespeichert.
  • Daher bezieht sich die CPU 1 auf die Adressentabelle, um in direkter Weise die Startadressen der zweiten Wörter in den Records in dem File zu bestimmen und um eine Erneuerungsverarbeitung oder dgl. für ein File mit hoher Geschwindigkeit vorzunehmen.
  • Da die Adreßtabellenformationsverarbeitung durch einen speziell dafür ausgelegten Schaltkreis ausgeführt wird, kann sie mit hoher Geschwindigkeit von statten gehen.
  • Im folgenden wird ein Fall beschrieben, bei dem eine Adressentabelle von Wörtern gleichzeitig gebildet wird, wenn Daten mit variabler Länge auf der Magnetplatte 4 über eine DMA in das RAM 3 transferiert werden.
  • Figur 4 zeigt einen Fall, bei dem Wortdaten variabler Länge auf der Magnetplatte 4 gespeichert sind und sequentiell zu einem Bereich beginnend mit der Adresse 11 in dem RAM transfertiert werden und dort gespeichert werden und zwar zur gleichen Zeit, zu der die Startadresse der im RAM 3 gespeicherten Wörter auf diese Weise in den Tabellenbereich des RAM 3 gespeichert werden, d.h. im Bereich der von der Adresse 100 beginnt, so daß eine Adreßtabelle gebildet wird. Da die Startadressen von den Wörtern 12, 15, 17, 21, 24, 26, ... sind, werden sie an den Adressen 100, 101, 102 gespeichert, um die Adreßtabelle zu bilden.
  • Auf diese Weise werden die Daten von der Magnetplatte 4 zum RAM 3 transfertiert und zur gleichen Zeit wird die Adreßtabelle, die die Startadressen der Wörter die im RAM 3 gespeichert sind, gebildet. Daher kann nach dem beschriebenen Datentransfer auf ein gewünschtes Wort direkt zugegriffen werden, basierend auf der Adreßtabelle und es können Wörter erneuert werden usw. jeweils mit hoher Geschwindigkeit.
  • Die Datentransferoperation wie sie in Figur 4 gezeigt ist, und der Betrieb zum Bilden der Adreßtabellen unter Verwendung des Blockschaltkreises wie er in Figur 1 gezeigt ist, wird im folgenden detailliert anhand des Flußdiagrammes der Figur 5 beschrieben.
  • Vor der Datentransferverarbeitung werden verschiedene Initialisierungsoperationen ausgeführt. Insbesondere setzt die CPU 1 die Daten 100 als Anfangswert in das Schreibadreßregister WA und setzt die Daten 11 als Anfangswert in den Adreßzähler C des DMA-Kontrollers 5. Die CPU 1 setzt den Abgrezungscode ", ", "(", und " " in das AbgrenzungsArt-Register 66 und setzt den Datentransferbefehlscode INS3 in das Befehlscoderegister 65. Nach diesen Setz-Operationen gibt die CPU 1 das Startsignal S1 zum Kontroller 61 aus und transferiert somit die gesamte Steuerung zum Kontroller 61.
  • Nach Empfang des Verarbeitungsstartsignals S1 von der CPU 1 gibt der Kontroller 61 das Startsignal S10 zum DMA-Kontroller 5 aus. Insbesondere gibt der DMA-Kontroller 5 die im Adreßzähler AC gespeicherten Adressen auf den Adreßbus AB aus und liest zur gleichen Zeit die Daten von der Magnetplatte 4 aus. Da der Adreßzähler AC die Daten 11 als Anfangswert speichert, wird die Adresse 11 des RAMS 3 bestimmt und die Daten an dieser Startadresse der Magnetplatte 4, d.h. der Abgrenzungscode "(" wird auf den Datenbus DB ausgelesen. Der ausgelesene Code wird an der Adresse 11 des RAMS gespeichert. Die auf den Datenbus DB ausgelesenen Daten werden in den Lesepuffer 67 zu der Zeit eingelesen, zu der überprüft wird, ob der geholte Code mit einem Abgrenzungscode, wie er im Abgrenzungs-Art-Register 66 gespeichert ist, übereinstimmt. In diesem Fall wird, da die ausgelesenen Daten den Abgrenzungscode "(" darstellen, ein Detektionssignal an den Kontroller 61 ausgegeben. Nach Empfang des Detektionssignals gibt der Kontroller 61 das Speichersignal S6 an den Adreßspeicherschaltkreis 63 aus, um zu bewirken, daß die Adreßdaten zu dieser Zeit, d.h. 11 gespeichert wird. Nachdem der Datentransfer vervollständigt ist, inkrementiert der DMA-Kontroller 5 den Wert des Adreßzählers AC um 1 auf 12. Danach gibt der Kontroller 61 ein Unterbrechungssignal S11 an dem DMA-Kontroller 5 aus. Nach Empfang des Unterbrechungssignals S11 unterbricht der DMA-Kontroller 5 temporär die Ausleseoperation der Daten von Magnetplatte 4 und gibt ein Unterbrechungssignal S12 an den Kontroller 61 aus. Wenn der Kontroller 61 das Unterbrechungssignal S12 empfängt, gibt er das gespeicherte Vervollständigungssignal S8 an den Adreßgenerator 62 aus. Der Adreßgenerator 62 gibt die in dem Schreibadreßregister WA gespeicherten Adreßdaten, d.h. 100 auf den Adreßbus AB auf und bestimmt die entsprechende Adresse im RAM 3. Zu dieser Zeit werden die durch Inkrementieren der Adreßdaten, wie sie im Adreßspeicherschaltkreis 63 gespeichert sind, um 1, d.h. die Daten 12 auf den Datenbus DB weitergegeben. Die Daten 12 auf dem Datenbus DB werden an der Adresse 100 im RAM gespeichert. Nach dem Speicherbetrieb, inkrementiert der Adreßgenerator 62 den Wert des Schreibadreßregisters WA um 1. Danach gibt der Kontroller 61 ein Unterbrechungsvervollständigungssignal S13 an den DMA- Kontroller 5 aus. Nach Empfang des Unterbrechungsvervollständigungssignals S13 startet der DMA-Controller 5 die Datenausleseoperation erneut.
  • Wenn der DMA-Kontroller 5 die Datenausleseoperation erneut startet, gibt er die im Adreßzähler AC Adreßdaten auf den Adreßbus AB synchron mit dem Takt aus und zur gleichen Zeit liest er eine Einheit von Daten von der Magnetplatte 4 aus. Da der Adreßzähler AC die Daten 12 speichert, wird die Adresse 12 des RAMS 3 bestimmt und die zweiten Daten, die auf der Magnetplatte 4 gespeichert sind, d.h. die Daten x werden auf den Datenbus DB ausgelesen und an der Adresse 12 des RAM 3 gespeichert. Die auf den Datenbus DB ausgelesenen Daten werden in den Lesepuffer 67 zu der Zeit geholt, zu der der Detektor 68 bestimmt, ob die geholten Daten einen Abgrenzungscode, wie er im Abgrenzungs-Typ-Register 66 gespeichert ist, darstellen. In diesem Fall wird, da die ausgelesenen Daten keinen Abgrenzungscode darstellen, der Detektor 68 kein Detektionssignal ausgeben und nur eine Datentransferoperation ausführen. Nach der Datenspeicheroperation in dem RAM 3 wird der Wert des Adreßzählers AC um 1 auf 13 erhöht.
  • Synchron mit dem nächsten Takt wird die nächste Dateneinheit wie sie auf der Magnetplatte 4 gespeichert ist, an die Adresse 13 des RAM 3 3 übertragen. Da diese Daten keinen Abgrenzungscode darstellen, wird nur die Datentransferoperation ausgeführt.
  • Synchron mit dem nächsten Takt wird die vierte Dateneinheit, wie sie auf der Magnetplatte 4 gespeichert ist, an die Adresse 14 des RAM 3 transferiert. Da diese Daten den Abgrenzungscode "," darstellen, gibt der Detektor 68 ein Detektionssignal aus. Nach Empfang des Detektionssignals gibt der Kontroller 61 das Speichersignal S6 an den Adreßspeicherschaltkreis 63 aus, um diesen zu veranlassen, die Adreßdaten zu dieser Zeit, d.h. die Daten 14 zu speichern. Die gespeicherten Adreßdaten werden um 1 erhöht und die inkrementierten Daten 15 werden an der durch den Adreßgenerator 62 bestimmten Adresse gespeichert, d.h. an der Adresse 101 im RAM 3.
  • In gleicher Weise wird, wenn die Daten die auf der Magnetplatte 4 gespeichert sind, zum RAM 3 übertragen werden, diese Daten gleichzeitig vom Detektor 68 detektiert. Wenn die zum RAM 3 transferierten Daten einen Abgrenzungscode darstellen, wird eine nächste Adresse des RAMS 3 an der dieser Abgrenzungscode gespeichert ist, als Daten ausgelesen und sequentiell in dem Tabellenbereich des RAM 3 gespeichert.
  • Wenn der Detektor 68 den Abgrenzungscode " " detektiert, durch den eine File-Abgrenzung angezeigt wird, gibt der Kontroller 61 ein Betriebsendesignal S 14 an den DMA-Kontroller 5 aus, und stoppt somit die Datentransferoperation des DMA-Kontrollers 5. Der Kontroller 61 gibt ein Endesignal S9 an die CPU 1 aus, um die gesamte Steuerung an die CPU 1 abzugeben.
  • Mit der Serie von Operationen, wie sie oben beschrieben wurden, werden Daten variabler Länge für ein File, die auf einer Magnetplatte 4 gespeichert sind, an ein RAM 3 transferiert und die Speicherposition für jedes transferierte Wort in dem RAM 3, d.h. die Startadresse für jedes Wort wird in einem vorgegebenen Adreßtabellenbereich in dem RAM 3 gespeichert.
  • Daher kann, nachdem die Daten von der Magnetplatte 4 an das RAM 3 übertragen wurde, die CPU 1 auf die Adreßtabelle zugreifen, um direkt die Speicherposition eines Wortes zu detektieren und somit in schneller Weise auf ein Wort zugreifen.
  • Mit obiger Ausführungsform wurden die Operationen basierend auf einen speziellen Feldtabelleninformationsbefehlscode INS2 und einen Datentrasferbefehlscode INS 3 beschrieben. Ein Betrieb basierend auf dem Tabelleninformationsbefehlscode INS 3 wird in gleicher Weise wie oben beschrieben ausgeführt. Insbesondere korrespondiert der Betrieb basierend auf dem Tabelleninformationsbefehlscode INS 2 mit einer Teilmodifikation des Betriebs basierend auf dem Befehlscode INS 2. Das bedeutet, wenn der Detektor 68 den Abgrenzungscode "," oder "(" detektiert, wird das Speichersignal S6 basierend auf diese Detektion ausgegeben. Daher werden in diesem Fall die Startadressen aller Wörter in der Adreßtabelle gespeichert. Figur 6 zeigt diesen Zustand.
  • Mit der obigen Ausführungsform wird, wenn ein Abgrenzungscode detektiert wurde und eine Adresse zu dieser Zeit gespeichert wird, ein Wert, der durch Inkrementieren der Adreßdaten um 1 erhalten wird, in der Adreßtabelle gespeichert. Jedoch kann die gespeicherte Adresse selbst in der Adreßtabelle gespeichert sein.
  • Wenn ein Abgrenzungscode in dem Abgrenzungs-Typ-Register 66 geeignet gewählt wird, kann eine Adreßtabelle, die nur die Abgrenzungsposition eines jeden Wortes, eine Adreßtabelle, die nur eine Abgrenzungspositon eines Records und eine Adreßtabelle, die nur eine Abgrenzungsposition eines jeden Files anzeigt, in geeigneter Weise gebildet werden.

Claims (9)

1. Datenverarbeitungsvorrichtung, die auf eine Speichereinrichtung (3) zugreift, in der Daten variabler Länge gespeichert sind, welche durch mehrere Abgrenzungscodes voneinander abgegrenzt sind, um eine Datenverarbeitung auszuführen, gekennzeichnet durch:
eine Adreßerzeugungseinrichtung (62), die mit der Speichereinrichtung über einen Adreßbus verbunden ist, zum Festlegen einer Adresse über den Adreßbus zu jeder Taktzeit, zum Auslesen der an der festgelegten Adresse in der Speichereinrichtung gespeicherten Daten auf den Datenbus und zum Inkrementieren der Adresse, jedesmal, wenn Daten ausgelesen werden;
eine Detektionseinrichtung (68), die mit dem Datenbus verbunden ist, zum Detektieren in Antwort auf jeden Takt, ob Daten auf dem Datenbus mit einem Abgrenzungscode, der eine Abgrenzung eines Datenblocks anzeigt, übereinstimmen;
eine Adreßspeichereinrichtung (63), die mit dem Adreßbus verbunden ist, um, wenn die Detektionseinrichtung eine Übereinstimmung detektiert, die Adresse auf den Adreßbus zu speichern;
eine Adressentabelleneinrichtung (100, 101, 102, 3) zum Speichern von Adreßdaten, basierend auf der in der Adreßspeichereinrichtung gespeicherten Adresse; und eine Verarbeitungseinrichtung (1) zum Bestimmen einer Startadresse für jeden Datenblock, der in der Speichereinrichtung gespeichert ist, bezüglich der Adreßdaten, die in der Adreßtabelleneinrichtung gespeichert sind und zum Ausführen einer Verarbeitung für jeden Datenblock.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichznet, daß die Speichereinrichtung Daten mit variabler Länge, die durch mehrere Abgrenzungscodes getrennt sind, speichert und daß die Detektionseinrichtung detektiert, ob die Daten auf dem Datenbus mit speziellen Abgrenzungscodes übereinstimmen, die eine Abgrenzung eines gewünschten Datenblocks anzeigen.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der spezielle Abgrenzer ein Code ist, der eine Abgrenzung eines Wortdatenblocks mit variabler Länge anzeigt.
4. Vorrichtung nach Anspruch 2, dadurch gekennzeichznet, daß der spezielle Abgrenzungscode ein Code ist, der eine Abgrenzung eines Aufzeichnungsdatenblocks mit variabler Länge anzeigt.
5. Vorrichtung nach Anspruch 2, dadurch gekennzeichznet, daß der spezielle Abgrenzungscode ein Code ist, der eine Abgrenzung eines File-Datenblocks mit variabler Länge anzeigt.
6. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Detektionseinrichtung ein Register (66) enthält, zum Speichern des speziellen Abgrenzungscodes.
7. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß sie weiterhin aufweist:
einen Zähler (70), der bei Detektion eines Abgrenzungscodes, der eine Aufzeichnungsblockabgrenzung anzeigt, zurückgesetzt wird und der bei der Detektion eines Abgrenzungscodes, der eine Wort-Block-Abgrenzung anzeigt, inkrementiert wird;
ein Register (64) zum Speichern eines vorgegebenen bestimmten Wertes; und
eine Vergleichseinrichtung (69) zum Vergleichen eines Wertes des Zählers mit einem Wert des Registers, wobei die Adreßspeichereinrichtung eine Einrichtung enthält, die, wenn ein Übereinstimmungssignal von der Vergleichseinrichtung erhalten wird, die Adresse auf den Adreßbus speichert.
8. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adreßerzeugungseinrichtung weiterhin aufweist:
ein Leseadreßregister (RA) zum Speichern einer Adresse, die eine Auslesestartposition der Daten mit variabler Länge anzeigt;
ein Schreibadreßregister (WA) zum Speichern einer Adresse, die eine Schreibposition der Adreßtabelle anzeigt; und wobei die Adreßerzeugungseinrichtung eine Adresse in der Speichereinrichtung auf Grundlage einer Adresse, die in dem Leseadreßregister gespeichert ist, in Antwort auf jeden Takt bestimmt und entsprechende gespeicherte Daten auf den Datenbus ausliest; wobei die Adreßerzeugungseinrichtung außerdem die Adresse der Adreßtabelleneinrichtung auf Grundlage der in dem Schreibadreßregister gespeicherten Adresse bestimmt, wobei dies jedesmal dann erfolgt, wenn eine Adresse in der Adreßspeichereinrichtung gespeichert wird, und Adreßdaten, basierend auf der Adresse, wie sie in der Adreßspeichereinrichtung gespeichert ist, in einen korrespondierenden Speicherbereich schreibt; wobei die Adreßerzeugungseinrichtung die Adresse des Leseadreßregisters jedesmal dann inkrementiert, wenn Daten ausgelesen werden und die Adresse des Schreibadreßregisters jedesmal dann inkrementiert, wenn Adreßdaten in die Adreßtabelleneinrichtung geschrieben werden.
9. Datenverarbeitungsvorrichtung nach Anspruch 1 mit:
einer ersten Speichereinrichtung (4) und einer zweiten Speichereinrichtung (3) zum Speichern von Daten;
einer DMA-Steuereinrichtung (5), die mit der ersten und zweiten Speichereinrichtung über einen Datenbus und einen Adreßbus verbunden ist, um in Antwort auf jeden Takt die erste Speichereinrichtung so zu steuern, daß Daten auf den Datenbus ausgelesen werden und die zweite Speichereinrichtung so zu steuern, daß eine Adresse durch den Adreßbus festgelegt wird, wobei die Daten auf dem Datenbus in einen Speicherbereich der zweiten Speichereinrichtung entsprechend der festgelegten Adresse geschrieben werden und die Adresse bei jedem Schreibzugriff erhöht wird;
und wobei, während die Daten von der ersten zur zweiten Speichereinrichtung transferiert werden, die Detektioneinrichtung in der Adreßtabelleneinrichtung festgelegte Adreßdaten, die sich in der Adreßspeichereinrichtung befinden, bei Übereinstimmung zwischen den Daten auf dem Datenbus mit einem Abgrenzungscode, der eine Abgrenzung des Datenblocks anzeigt, speichert.
DE68924377T 1988-07-15 1989-07-13 Verarbeitungssysteme für variable Datenlänge. Expired - Fee Related DE68924377T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17511188A JPH0225922A (ja) 1988-07-15 1988-07-15 データ検出装置
JP31134688A JPH02157933A (ja) 1988-12-09 1988-12-09 可変長データ処理装置
JP31134788A JPH02157934A (ja) 1988-12-09 1988-12-09 可変長データ処理装置

Publications (2)

Publication Number Publication Date
DE68924377D1 DE68924377D1 (de) 1995-11-02
DE68924377T2 true DE68924377T2 (de) 1996-03-07

Family

ID=27324044

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68924377T Expired - Fee Related DE68924377T2 (de) 1988-07-15 1989-07-13 Verarbeitungssysteme für variable Datenlänge.

Country Status (5)

Country Link
US (1) US5115490A (de)
EP (1) EP0350929B1 (de)
KR (1) KR0152979B1 (de)
CA (1) CA1324684C (de)
DE (1) DE68924377T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1328027C (en) * 1988-07-14 1994-03-22 Toshio Kashio Data processing apparatus
JPH0795269B2 (ja) * 1988-11-04 1995-10-11 富士通株式会社 命令コードのデコード装置
JP2746734B2 (ja) * 1990-06-08 1998-05-06 富士通株式会社 ストリームファイルに対してのアクセス処理方式
US5510785A (en) * 1993-03-19 1996-04-23 Sony Corporation Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method
JP3433978B2 (ja) * 1993-07-30 2003-08-04 富士通株式会社 入出力制御装置
US5586253A (en) * 1994-12-15 1996-12-17 Stratus Computer Method and apparatus for validating I/O addresses in a fault-tolerant computer system
JPH1021012A (ja) * 1996-06-28 1998-01-23 Toshiba Corp 磁気ディスク装置及び同装置のコマンド処理方法
DE60107523T2 (de) * 2000-03-03 2005-12-15 Koninklijke Philips Electronics N.V. Datenträger mit Mitteln zur Synchronisation mit dem empfangenen Datenstrom
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US7137108B1 (en) * 2000-10-26 2006-11-14 International Business Machines Corporation Identifying non-externalized text strings that are not hard-coded
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
DE10324014A1 (de) * 2003-05-27 2005-01-13 Micronas Gmbh Adressgenerator, Betriebsverfahren dafür und diesen verwendendes Daten verarbeitendes System
KR100963140B1 (ko) * 2008-11-27 2010-06-16 한국과학기술원 직접 메모리 접근 장치 및 직접 메모리 접근 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5235264B2 (de) * 1971-09-29 1977-09-08
JPS5413306B2 (de) * 1974-01-24 1979-05-30
CA1071332A (en) * 1974-05-01 1980-02-05 Toshio Kashio Data processing system
JPS5524134B2 (de) * 1974-11-15 1980-06-27
JPS586979B2 (ja) * 1974-11-15 1983-02-07 カシオケイサンキ カブシキガイシヤ ジヨウホウヨミダシソウチ
JPS5522821B2 (de) * 1974-11-15 1980-06-19
JPS5250132A (en) * 1975-10-21 1977-04-21 Casio Comput Co Ltd Information processing control unit
JPS5272125A (en) * 1975-12-12 1977-06-16 Casio Comput Co Ltd Manual input device for information
JPS5279628A (en) * 1975-12-25 1977-07-04 Casio Comput Co Ltd Information reading processing equipment
JPS5346689A (en) * 1976-10-12 1978-04-26 Sumitomo Electric Ind Ltd Oil removing method and device empolyed when welding of cable
JPS5350953A (en) * 1976-10-20 1978-05-09 Casio Comput Co Ltd Comparison/array system for variable length information
US4376933A (en) * 1979-02-22 1983-03-15 Xerox Corporation Circuit for compacting data
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
FR2472231B1 (fr) * 1979-12-20 1986-02-21 Cii Honeywell Bull Dispositif d'adressage d'elements d'informations dans une table a plusieurs entrees, enregistree dans une memoire
FR2486926A1 (fr) * 1980-07-21 1982-01-22 Saint Gobain Vitrage Four pour le chauffage de feuilles de verre suspendues en position verticale
JPS5845920B2 (ja) * 1980-09-19 1983-10-13 荏原インフイルコ株式会社 有機性廃液の生物化学的処理方法
JPS5846735A (ja) * 1981-09-15 1983-03-18 Anritsu Corp 2チヤネル波形記憶装置
JPS5853384A (ja) * 1981-09-25 1983-03-29 Toshiba Corp レ−ザシ−ム溶接機
JPS59116870A (ja) * 1982-12-23 1984-07-05 Casio Comput Co Ltd デ−タ記憶装置

Also Published As

Publication number Publication date
EP0350929B1 (de) 1995-09-27
EP0350929A3 (de) 1991-01-30
US5115490A (en) 1992-05-19
EP0350929A2 (de) 1990-01-17
KR0152979B1 (ko) 1998-11-16
KR900002170A (ko) 1990-02-28
DE68924377D1 (de) 1995-11-02
CA1324684C (en) 1993-11-23

Similar Documents

Publication Publication Date Title
DE68924377T2 (de) Verarbeitungssysteme für variable Datenlänge.
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE3750948T2 (de) Datenverarbeitungssystem mit watch-dog Schaltung.
DE3700426C2 (de) Überwachungszeitgeber
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE3750949T2 (de) Datenverarbeitungssystem mit watch-dog Schaltung.
DE2551239C3 (de) Datenverarbeitungsanlage
DE3126363A1 (de) Verfahren und vorrichtung zur steuerung einer datenuebertragung mit direktem speicherzugriff
DE3742098A1 (de) Verfahren und vorrichtung zur kompression und rekonstruktion von daten
DE69029422T2 (de) Schwellendetektionsschaltungen für digitale Pufferspeicher
DE2128835A1 (de) Schaltungsanordnung zur Steuerung des Zugriffs bei bewegten Oberflachen speichern
DE69025524T2 (de) Vorrichtung und Verfahren zur Steuerung von Speicherzugriffsanforderungen in einem digitalen Datenverarbeitungssystem
DE2747196C2 (de) Vergleichseinrichtung zum Vergleichen von Informationen variabler Länge
DE2750344C2 (de) Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE3518818C2 (de)
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE2233193C3 (de) Stapel-Speichersystem
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE2254696A1 (de) Schaltungsanordnung und verfahren zur neuorientierung nach einer fehlbedingung in einem speichersystem
DE69023253T2 (de) Steuergerät für DRAM.
DE69031529T2 (de) Speichersteuerungssystem
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
DE3729732A1 (de) Datenuebertragungsverfahren und -vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee