DE3855066T2 - Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge - Google Patents

Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge

Info

Publication number
DE3855066T2
DE3855066T2 DE3855066T DE3855066T DE3855066T2 DE 3855066 T2 DE3855066 T2 DE 3855066T2 DE 3855066 T DE3855066 T DE 3855066T DE 3855066 T DE3855066 T DE 3855066T DE 3855066 T2 DE3855066 T2 DE 3855066T2
Authority
DE
Germany
Prior art keywords
data
delimiter
instruction
processing
read
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
DE3855066T
Other languages
English (en)
Other versions
DE3855066D1 (de
Inventor
Norihiro Hidaka
Shin Ito
Makoto Kimura
Tetsuya 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 JP1987166281U external-priority patent/JPH0172648U/ja
Priority claimed from JP62274966A external-priority patent/JP2671325B2/ja
Priority claimed from JP1987166280U external-priority patent/JPH0172647U/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3855066D1 publication Critical patent/DE3855066D1/de
Application granted granted Critical
Publication of DE3855066T2 publication Critical patent/DE3855066T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Datenvarbeitungsvorrichtung gemäß dem Oberbegriff des Anspruches 1.
  • Eine derartige Vorrichtung ist aus DE-A-1 449 540 bekannt.
  • Diese Verweisung beschreibt im besonderen eine Datenverarbeitungsmaschine, die ein Befehlsdecodierereinrichtung, die aus einem Speicher ausgelesene Befehle decodiert, und eine arithmetische Steuereinrichtung umfaßt, die die arithmetische Operation nach Maßgabe eines gegebenen Befehls steuert, wobei, wenn der Befehlsdecodierer eine bestimmte Information in dem Befehls ermittelt, die Operation wiederholt wird, bis ein Übereinstimmungssignal anzeigt, daß eine vorbestimmte Anzahl von Malen erreicht ist.
  • Aus 'IBM Technical Disclosure Bulletin' Band 10, Nr. 9, Februar 1968, Seite 1345, ist ein Befehl bekannt, der zum Ermitteln von Begrenzern in einem abgetasteten Text hilfreich ist. Der Befehl enthält den Begrenzer, nach dem in dem Text gesucht wird, und wenn der betreffende Begrenzer innerhalb des Textes gefunden wird, wird seine Position registriert.
  • In einer herkömmlichen zentralen Verarbeitungseinheit, die einen Bürocomputer oder dergleichen bildet, wird die Verarbeitung von z.B. einer Transferoperation oder einer arithmetischen Operation in einer Einheit von einem Byte einer festen Länge als Reaktion auf jeden Befehl durchgeführt.
  • Im allgemeinen werden Daten für jeden Satz als eine minimale Einheit in eine Datei eingegeben oder von der Datei ausgegeben. Ein Satz besteht aus einer Mehrzahl von Feldern. Ein Feld besteht aus einer Mehrzahl von Bytes. Daten in einem Satz werden für jedes Feld als eine minimale Einheit aktualisiert. Die Verarbeitung einer Datei wird deshalb oft in Einheiten von einer Mehrzahl von Bytes durchgeführt.
  • Die herkömmliche zentrale Verarbeitungseinheit kann eine Verarbeitung jedoch nur in einer Einheit von einem Byte einer festen Länge als Reaktion auf jeden Befehl durchführen. Aus diesem Grund muß beim Handhaben von Dateien, wenn die Datenverarbeitung in Einheiten von Feldern oder Sätzen durchgeführt wird, ein Unterprogramm erstellt werden, das aus einer Mehrzahl von Befehlen besteht.
  • Folglich ist eine beachtlich lange Zeitdauer erforderlich, um ein Programm zu erstellen. Außerdem wird die Verarbeitungsgeschwindigkeit vermindert.
  • Es ist die Aufgabe der vorliegenden Erfindung wie beansprucht, eine Datenverarbeitungsvorrichtung zur Verfügung zu stellen, die imstande ist, Daten mit einer willkürlichen Länge als Reaktion auf einen Befehl zu verarbeiten.
  • Diese Aufgabe wird durch den Gegenstand des Anspruches 1 erfüllt.
  • Diese Erfindung kann aus der folgenden ausführlichen Beschreibung besser verstanden werden, wenn sie mit den begleitenden Zeichnungen in Verbindung gebracht wird.
  • Inhalt der Zeichnungen:
  • Fig. 1 ist ein Blockschaltbild, das einen Gesamtaufbau der Datenverarbeitungsvorrichtung zeigt, die die Operationsvorrichtung 1 umfaßt:
  • Fig. 2 ist ein Blockschaltbild, das einen detaillierten Aufbau des Begrenzerdetektors 14 zeigt.
  • Fig. 3A bis 3C sind Darstellungen, die im Datenspeicher 2 gespeicherte und durch einen Befehl verarbietete Daten in einem Fall zeigen, bei dem durch Bezeichnungsbegrenzer definierte Daten als eine Einheit verarbeitet werden.
  • Fig. 4 ist ein Blockschaltbild, das einen anderen Aufbau des Begrenzerdetektors 31 zeigt.
  • Fig. 5A bis 5C sind Darstellungen, die im Datenspeicher 2 gespeicherte und durch einen Befehl verarbeitete Daten in einem Fall zeigen, bei dem durch Bezeichnungsbegrenzer definierte Blöcke von Daten als eine Einheit verarbeitet werden.
  • Fig. 6A und 6B sind Datstellungen, die im Datenspeicher 2 gespeicherte und durch einen Befehl verarbeitete Daten in einem Fall zeigen, bei dem durch Bezeichnungsbegrenzer definierte Daten als eine Einheit verarbeitet werden und der Maximalwert der Datenlänge bezeichnet ist.
  • Fig. 1 zeigt einen Gesamtaufbau der Datenverarbeitungsvorrichtung. Gemäß Fig. 1 führt die Operationsvorrichtung 1 die Übertragung, den Vergleich, arithmetische Operationen und dergleichen von Daten variabler Länge durch. Der Datenspeicher 2 speichert Daten variabler Länge. Die Daten variabler Länge werden durch Begrenzer geteilt, die Codes sind, die Grenzen der Daten darstellen. Der Programmspeicher 3 speichert Befehle, die der Operationsvorrichtung 1 zuzuführen sind. der Mikroprozessor 4 setzt einen im Programmspeicher 3 gespeicherten Befehl in die Operationsvorrichtung 1, steuert die Ein/Ausgabe-Einheiten (nicht gezeigt) und tauscht Daten mit diesen Ein/Ausgabe-Einheiten aus. Die Operationsvorrichtung 1, der Datenspeicher 2, der Programmspeicher 3 und der Mikroprozessor 4 sind über gemeinsame Adressen- und Datenbusse AB und DB miteinander verbunden.
  • In der Operationsvorrichtung 1 ist das Befehlsregister 11 ein Register, das aus dem Programmspeicher 3 gelesene Befehle speichert, der über die Adressen- und Datenbusse AB und DB damit verbunden ist. Im Befehlsregister 11 gespeicherte Operationscodes, Adressenaktualisierungsrichtungen und Bezeichnungsbegrenzer werden jeweils dem Befehlsdecodierer 12, dem Adressengenerator 13 und dem Begrenzerdetektor 14 zugeführt.
  • Der Befehlsdecodierer 12 decodiert einen eingegebenen Operationscode und liefert ein Ausgangssignal basierend auf dem decodierten Ergebnis an die Steuerschaltung 15 und die ALU 18. Die Steuerschaltung 15 gibt verschiedene Signale aus, die zum Ausführen der durch den Befehlsdecodierten Befehle erforderlich sind, und liefert dem Adressengenerator 13 und dem Zähler 22 ein Steuersignal a für jedem Ausführungszyklus.
  • Als Reaktion auf das von der Steuerschaltung 15 ausgegebene Steuersignal a inkrementiert oder dekrementiert die Steuerschaltung 15 Lese- und Schreibadressen bei jedem Ausführungszyklus nach Maßgabe einer Adressenaktualisierungsrichtung vom Befehlsregister 11. Die durch diese Operation erzeugten Adressen werden dem Datenspeicher 12 über den Adressenbus AB zugeführt. Wenn durch die Leseadresse vom Adressengenerator 13 bezeichnete Daten aus dem Datenspeicher 2 gelesen werden, werden die ausgelesenen Daten über den Datenbus DB im Lesepuffer 16 gespeichert. Wenn durch die Schreibadresse vom Adressengenerator 13 bezeichnete Daten aus dem Datenspeicher 2 gelesen werden, werden die ausgelessenen Daten über den Datenbus DB im Lesepuffer 17 gespeichert.
  • Wenn ein im Befehlsregister 11 gespeicherter Operationscode ein Befehl ist, der für eine arithmetische Operation on Operanden- und Operatordaten, z.B. ein arithmetischer und logischer Operationsbefehl, benutzt wird, werden die Operanden- und Operatordaten in den Lesepuffern 16 bzw. 17 gespeichert. In diesem Fall werden die Operanden- und Operatordaten in den Lesepuffern 16 und 17 an die ALU (Arithmetische und Logische Einheit) 18 geliefert. Die ALU 18 führt eine Operation gemäß einem Operationsbefehl vom Befehlsdecodierer 12 aus. Nachdem das Operationsergebnis im Datenbuspuffer 19 gespeichert ist, wird es dem Datenspeicher 2 über den Datenbus DB zugeführt und dann in einen durch die Schreibadresse vom Adressengenerator 13 bezeichneten Adressenbereich geschrieben. Wenn ein durch den Operationscode im Befehlsregister 11 bezeichneter Befehl ein Übertragungsbefehl ist, werden die durch die Leseadresse vom Adressengenerator 13 bezeichneten Daten aus dem Datenspeicher 2 gelesen und in den Lesepuffer 16 gesetzt. Wenn die Schreibadresse vom Adressengenerator 13 ausgegeben wird und die in den Lesepuffer 16 gesetzten Daten dem Datenspeicher 2 über die ALU 18 und den Datenbuspuffer 19 zugeführt werden, werden die Daten in einen durch die Schreibadresse bezeichneten Adressenbereich geschrieben.
  • Der Begrenzerdetektor 14 vergleicht einen im Befehlsregister 11 gespeicherten Bezeichnungsbegrenzer oder einen im Begrenzereinstallregister 20 im voraus gespeicherten Bezeichnungsbegrenzer mit den in den Lesepuffer 16 gesetzten Daten (Begrenzer). Wenn beide Begrenzer miteinander übereinstimmen, gibt der Begrenzerdetektor 14 ein Detektionssignal b an die Steuerschaltung 15 aus. Wenn ein Begrenzer mit einer höheren Priorität als der Bezeichnungsbegrenzer ermittelt wird, gibt der Begrenzerdetektor 14 ein Detektionssignal f an die Steuerschaltung 15 und den Statuspuffer 21 aus. Die Steuerschaltung 15 gibt ein Steuersignal c an den Zähler 22 über den Selektor 24 jedesmal aus, wenn das Detektionssignal b vom Begrenzerdetektor 14 geliefert wird. Der Zähler 22 wird durch einen Subtraktionszähler gebildet. Im Zähler 22 kann ein beliebiger Wert im voraus eingestellt werden, und der eingestellte Wert wird jedesmal um eins dekrementiert, wenn das Steuersignal a oder c von der Steuerschaltung 15 geliefert wird. Danach wird der Zählwert des Zählers 22 dem Nulldetektor 23 zugeführt. Der Nulldetektor 23 ermittelt, ob der Wert "0" wird oder nicht. Wenn der Nulldetektor 23 "0" ermittelt, werden der Steuerschaltung 15 und dem Statuspuffer 21 ein Nulldetektionssignal s zugeführt. Wenn die Steuerschaltung 15 das Nulldetektionssignal s vom Nulldetektor 23 oder das Detektionssignal f vom Begrenzerdetektor 14 empfängt, hält sie die Ausgabe eines zum Ausführen eines Befehls benutzten Steuersignals an und gibt eine Endesignal 3 an den Mikroprozessor 4 aus, um einen nächsten Befehl zu bestimmen, der aus dem Programmspeicher 3 auszulesen ist.
  • Begrenzer, die in der Ausführung zu verarbeiten sind, werden unten beschrieben. Die Begrenzer stellen Grenzen von Daten im Datenspeicher 2 und ihre gewichteten Prioritäten zum Verarbeiten dar. Die folgenden vier Typen von Begrenzern werden in dieser Ausführung benutzt:
  • : Spurende
  • ( : Satzanfang
  • 9N : Wortende (numerischer Wert)
  • 9 : Wortende (Zeichen)
  • Jeder Begrenzer wird durch einen Hexadezimalcode bestehend aus einem Byte dargestellt. Das Spurende, der Satzanfang, das Wortende für einen numerischen Wert und das Wortende für ein Zeichen entsprechen "FF", "FE", "FD" bzw. "00". Zusätzlich zu diesen festen Begrenzern von vier Typen kann in der Ausführung ein beliebiger Begrenzer im Begrenzereinstellregister 20 eingestellt werden. Daher werden fünf Typen von Begrenzern einschließlich dieses beliebigen Begrenzers benutzt.
  • Den fünf Begrenzertypen werden die folgenden Prioritäten zugeteilt. Die Prioritäteneins bis vier werden dem Spurendebegrenzer, dem Satzanfangsbegrenzer, den zwei Typen von Wortendebegrenzern und dem im Begrenzereinstellregister 20 eingestellten Begrenzer in der genannten Reihenfolge als feste Prioritäten zugewiesen. Man beachte, daß der Wortendebegrenzer für einen numerischen Wert und der Wortendebegrenzer für ein Zeichen dieselbe Priorität besitzen.
  • Der durch den eingestellten Begrenzer in das Befehlsregister 11 gesetzte Code wird durch einen Zweibit-Binärcode dargestellt. "11", "10", "01", und "00" stellen ein Spurende, einen Satzanfang, ein Wortende (für einen numerischen Wert) bzw. ein Wortende (für ein Zeichen) dar. Diese Codes entsprechen den Begrenzern "FF", "FE", "FD" und "00", die durch Hexadezimalcodes dargestellt werden, die je aus einem Byte bestehen, und stellen Grenzen von Daten im Datenspeicher dar.
  • Wie in Fig. 2 gezeigt, umfaßt der Begrenzerdetektor 14 vier Koinzidenzschaltungen 14-1 bis 14-4, die Bezeichnungsbegrenzer vom Befehlsregister 11 empfangen, und fünf Koinzidenzschaltungen 14-5 bis 14-9, die aus dem Lesepuffer 16 gelesene Begrenzer empfangen. Die vier Koinzidenzschaltungen 14-1 bis 14-4 empfangen die entsprechenden festen Begrenzer "00" bis "11". Jeder feste Begrenzer wird durch einen Binärcode bestehend aus zwei Bits dargestellt. Wenn jede der Koinzidenzschaltungen 14-1 bis 14-4 eine Übereinstimmung zwischen einem der festen Begrenzer und einem Bezeichnungsbegrenzer (ein bezeichneter Code der Binärcodes "00", "01", "10" und "11") vom Befehlsregister 11 ermittelt, gibt sie eines der Koinzidenzsignal c1 bis c4 aus und liefert es dem Komparator 14-10. In diesem Fall sind die Koinzidenzschaltungen 14-1 und 14-2 ein verdrahtes ODER. Wenn ein beliebiger Begrenzer im Begrenzereinstellregister 20 eingestellt wird, wird ein vom Begrenzereinstellregister 20 ausgegebenes Einstellung-Vorhanden- Signal c0 zusammen mit den Ausgängen der Koinzidenzschaltungen 14-1 bis 14-4 als aus vier Bits gebildete Daten B in den Komparator 14-10 eingegeben. Die Gewichte "1", "2", "4" und "8" werden den jeweiligen Bitpositionen der Vierbit-Daten B in Übereinstimmung mit ihren Prioritäten zugewiesen. Das Einstellung-Vorhanden-Signal c0, das Signal c1 oder c2, das Signal c3 und das Signal c4 entsprechen den Gewichten "1", "2", "4" bzw. "8".
  • Ein durch einen Hexadezimalcode von einem Byte dargestellter Koinzidenz-Erfassungscode wird dem anderen Anschluß jeder der füng Koinzidenzschaltungen 14-5 bis 14-0 zugeführt, in die die aus dem Lesepuffer 16 gelesenen Begrenzer eingegeben werden. Das heißt, ein im Begrenzereinstellregister 20 eingestellter Begrenzercode wird in die Koinzidenzschaltung 14-5 eingegeben, der Code "00", der ein Wortende für ein Zeichen darstellt, wird in die Koinzidenzschaltung 14-16 eingegeben, der Code "FD", der ein Wortende für einen numerischen Wert darstellt, wird in die Koinzidenzschaltung 14-7 engegeben, der Code "FE", der einen Satzanfang darstellt, wird in die Koinzidenzschaltung 14-8 eingegeben, und der Code "FF", der ein Spurende darstellt, wird in die Koinzidenzschaltung 14-9 eingegeben. Wenn die Koinzidenzschaltungen 14-5 bis 14-9 eine Übereinstimmung zwischen den gelesenen Begrenzern und den Koinzidenz-Erfassungscodes ermitteln, geben sie die Koinzidenzsignale d0, d1, ... d4 an den Komparator 14-10 aus. In diesem Fall sind die Koinzidenzschaltungen 14-6 und 14-7 ein verdrahtetes ODER. Die Ausgänge der Koinzidenzschaltungen 14-5 bis 14-9 werden daher dem Komparator 14-10 als Vierbit-Daten A zugeführt. Die Gewichte "1", "2", "4" und "8" werden den jeweiligen Bitpositionen der Vierbit-Daten A in Übereinstimmung mit ihren Prioritäten zugewiesen. Die Koinzidenzsignale d0, d1 oder d2, d3 und d4 entsprechen den Gewichten "1", "2", "4" bzw. "8".
  • Der Komparator 14-10 vergleicht die Daten A mit den Daten B. Wenn A - B = 0, gibt der Komparator 14-10 des Detektionssignal b aus. Wenn A - B > 0, gibt er das Detektionssignal f aus.
  • Operation I
  • Ein Fall, bei dem Daten variabler Länge, die eine willkürliche Länge besitzen und im Datenspeicher 2 bei einer vorbestimmten Adressenposition als ihre Startposition gespeichert sind, durch eine durch einen Begrenzer definierte Einheit übertragen werden, wird unten beschrieben. Diese Übertragung kann durch Bezeichnen eines Befehls ausgeführt werden. Eine Übertragungsoperation durch diesen Befehl wird im Folgenden beschrieben.
  • Eine große Zahl von Befehlen wird im Programmspeicher 3 gespeichert und nacheinander durch den Mikroprozessor 4 ausgelesen, um in die Operationsvorrichtung 1 gesetzt zu werden, um dadurch die Operationsvorrichtung 1 zu betreiben. Jeder Befehl wird durch einen Operationscode, eine Adressenaktualisierungsrichtung, einen Bezeichnungsbegrenzer, den Anfangswert einer Leseadresse, den Anfangswert einer Schreibadresse und dergleichen gebildet. Der Operationscode, die Adressenaktualisierungsrichtung und der Bezeichnungsbegrenzer werden in das Befehlsregister 11 gesetzt, während die Anfangswerte der betreffenden Adressen in den Adressengenerator 13 gesetzt werden. Da bei dieser Ausführung kein Zählwert im Zähler 22 eingestellt wird, werden der Zähler 22 und der Nulldetektor 23 nicht betrieben, und der Nulldetektor 23 gibt das Nulldetektionssignal s nicht aus.
  • Wie in Fig. 3 gezeigt, werden im Datenspeicher 2 gespeicherte Daten d (durch je einen Hexadezimalcode von einem Byte dargestellt) durch verschiedene Begrenzer (für ein Zeichenwortende, einen Satzanfang und ein Spurende) in vorbestimmte Einheiten geteilt. In der folgenden Beschreibung ist ein in Das Befehlsregister 11 gesetzter Operationscode ein Übertragungsbefehl.
  • In diesem Fall werden Daten, die die aus dem Datenspeicher 2 durch eine Leseadresse vom Adressengenerator 13 gelesen werden, in den Lesepuffer 16 gesetzt. Dann wird vom Adressengenerator 13 eine Schreibadresse ausgegeben, und die Daten im Lesespeicher 16 werden ausgelesen und in einen bezeichneten Bereich des Datenspeichers 2 geschrieben. In diesem Fall werden die Daten im Lesepuffer 16 auch dem Begrenzerdetektor 14 zugeführt. Wenn die Daten kein Begrenzer sind, wird das Detektionssignal b oder f vom Begrenzerdetektor 14 nicht ausgegeben. Die Steuerschaltung 15 gibt folglich ein Steuersignal aus, um den Übertragungsbefehl bei jedem Ausführungszyklus auszuführen, und aktualisiert jede Adresse im Adressengenerator 13 durch das Steuersignal a, wodurch veranlaßt wird, daß die nächsten Daten im Datenspeicher 2 in den Lesepuffer 16 gesetzt werden. Während ein aus dem Datenspeicher 2 gelesener Begrenzer während der Ausführung einer solchen Datenübertragung in den Lesepuffer 16 gesetzt wird, vergleicht der Begrenzerdetektor 14 einen Bezeichnungsbegrenzer vom Befehlsregister 11 oder einen eingestellten Begrenzer vom Begrenzereinstellregister 20 mit dem in den Lesepuffer 16 gesetzten Begrenzer. Wenn der in den Lesepuffer 16 gesetzte Begrenzer eine Priorität besitzt, die gleich oder höher als die des Bezeichnungsbegrenzers oder des eingestellten Begrenzers ist, wird das Detektionssignal f oder b ausgegeben.
  • Angenommen, das der Bezeichnungsbegrenzer im Befehlsregister der Begrenzer "00" ist, der dem Zeichenwortendebegrenzer "9" entspricht, und der gleiche Begrenzer "9" in den Lesepuffer 16 gesetzt ist. In diesem Fall werden, da die Koinzidenzschaltungen 14-1 und 14-6 die Koinzidenzsignale c1 bzw. d1 ausgeben, im Begrenzungsdetektor 14 beide Daten A und B "2". Als Folge gibt der Komparator 14-10 das Detektionssignal b aus. Wenn das Detektionssignal b an die Steuerschaltung 15 geliefert wird, beendet sie die Ausführung des Übertragungsbefehls und gibt das Endesignal e aus. Mit dieser Operation wird der nächste Befehl in das Befehlsregister 11 und den Adressengenerator 13 gesetzt. Wenn, wie oben beschrieben, ein Bezeichnungsbegrenzer ein Zeichenwortende ist, wird die Ausführung des Übertragungsbefehls beendet, wenn der Begrenzer zuerst aus dem Datenspeicher 2 gelasen und in den Lesepuffer 16 gezetzt wird, wie in Fig. 3A gezeigt. Die Datenübertragung wird daher in einer durch diesen Begrenzer definierten Einheit durchgeführt. Wenn der Begrenzer "(" oder " " mit einer höheren Priorität als der Begrenzer "9" in den Lesepuffer 16 gelesen wird, gibt der Komparator 14-10 das Detektionssignal f aus, und die Aufführung des Übertragungsbefehls wird beendet.
  • Wenn ein Bezeichnungsbegrenzer im Befehlsregister 11 der Begrenzer "10" ist, der dem Satzanfangsbegrenzer "(" entspricht, geben die Koinzidenzschaltungen 14-3 und 14-6 die Koinzidenzsignale c3 und d1 im Begrenzungsdetektor 14 aus, wenn der Begrenzer " " für ein Zeichenwortende aus dem Datenspeicher 2 gelesan wird. Als Folge werden die Daten A und B "2" bzw. "4". Das heißt da der in den Lesepuffer 16 gesetzte Begrenzer eine niedrigere Priorität als der Bezeichnungsbegrenzer besitzt, gibt der Komparator 14-10 weder das Detektionssignal b noch f aus. Die Datenübertragungsverarbeitung wird folglich sich wiederholend ausgeführt. Wenn der Begrenzer "(", der den ersten Satzanfang darstellt, aus dem Datenspeicher 2 gelesen und in den Lesepuffer 16 gesetzt wird, geben die Koinzidenzschaltungen 14-3 und 14-8 die Koinzidenzsignale c3 und d3 aus. Als Folge werden beide Daten A und B "4", und der Komparator 14-10 gibt das Detektionssignal b aus. Wenn ein Bezeichnungsbegrenzer ein Satzanfang ist, wird daher die Ausführung des Übertragungsbefehls beendet, wenn ein Begrenzer, der einen Satzanfang darstellt, zuerst aus dem Datenspeicher 2, wie in Fig. 3B gezeigt, gelesen wird, so daß die Datenübertragung in einer Einheit einer Datenlänge durchgeführt wird, die durch diesen Begrenzer definiert wird. Wenn der Begrenzer " " mit einer höheren Priorität als der Begrenzer "(" in den Lesepuffer 16 gelesen wird, wird außerdem der Übertragungsbefehl beendet.
  • Ähnlich geben, wenn ein Bezeichnungsbegrenzer im Befehlsregister 11 der Begrenzer "11" ist, der dem Spurendebegrenzer " " entspricht, die Konzidenzschaltungen 14-4 und 14-9 die Koinzidenzsignale c4 und d4 im Begrenzerdetektor 14 aus. Als Folge werden beide Daten A und B "8", und der Komparator 14 gibt das Detektionssignal b aus. Daher wird, wie in Fig. 3C gezeigt, die Datenübertragung in einer Einheit einer Länge durchgeführt, die durch den Spurendebegrenzer definiert wird.
  • Wenn einer der vier Typen von Datenbegrenzern bezeichnet wird, um einem Befehl im Befehlsregister 11 zu entsprechen, kann auf diese Weise die Datenübertragung in einer Einheit einer willkürlichen Datenlänge unter Verwendung eines Befehls, z.B. eines Übertragungsbefehls, durchgeführt werden.
  • Wenn ein willkürlicher Begrenzer im Begrenzereinstellregister 20 unter Verwendung eines willkürlichen Codes eingestellt wird, kann die Anzahl von Begrenzertypen einschließlich der festen Begrenzer auf fünf erhöht werden. Da der eingestellte Begrenzer die niedrigste Priorität besitzt, können außerden Daten, die durch einen Wortendebegrenzer geteilt sind, weiter in eine Mehrzahl von Blöcken geteilt werden. Die Datenübertragung kann somit in Einheiten von Blöcken durchgeführt werden.
  • Da die Wortendebegrenzer in einen für einen numerischen Wert und einen für ein Zeichen klassifiziert sind und ihnen dieselbe Priorität zugewiesen ist, kann der Datentyp bestimmt werden, indem nur der Typ eines Begrenzercodes bestimmt wird. Auch wenn Daten, die den numerischen Wert und Zeichenbegrenzer umfassen, zu verarbeiten sind, können die Daten, da dieselbe Priorität zugewiesen ist, außerdem als dieselbe Verarbeitungseinheit verarbeitet werden.
  • Wenn ein Befehl, z.B. ein Operationsbefehl oder ein logischer Befehl, zu verarbeiten ist, wird eine Operation durchgeführt, die auf Operator- und Operandendaten, berüht, die bei aneinandergrenzenden Adressen im Datenspeicher gespeichert sind. In diesem Fall wird die Verarbeitung ebenfalls in Einheiten von Begrenzern in der gleichen Weise wie bei der Datenübertragung durchgeführt.
  • Fig. 4 zeigt einen Aufbau eines Begrenzerdetektors 31 gemäß einer anderen Ausführung. Gemäß diesem Begrenzerdetektor können vier Typen von Begrenzern unter Verwendung von willkürlichen Codes eingestellt werden, und Prioritäten können ihnen willkürlich zugewiesen werden. Das heißt, die vier Typen von Begrenzern werden jeweils in den Begrenzereinstellregistern 31-1 bis 31-4 eingestellt. Die eingestellten Begrenzer werden den entsprechenden Koinzidenzschaltungen 31-5 bis 31-8 zugeführt. Wenn die Koinzidenzschaltungen 31-5 bis 31-8 eine Übereinstimmung zwischen Begrenzern vom Lesepuffer 16 und den eingestellten Begrenzern ermitteln, geben sie Koinzidenzsignale an den Komparator 31-13 aus. Die Gewichte "1", "2", "4" und "8" werden den betreffenden Bitpositionen von Vierbit-Daten A in Übereinstimmung mit ihrenPrioritäten zugeteilt. Die Ausgänge der Koinzidenzschaltungen 31-5 bis 31-8 entsprechen jeweils "1" ... "8".
  • Die Bezeichnungsbegrenzer "00" bis "11" werden vom Befehlsregister 11 in Fig. 1 an die Koinzidenzschaltungen 31-9 bis 31-12 in der gleichen Weise wie bei der ersten Ausführung beliefert. In diesem Fall werden die Gewichte "1", "2", "4" und "8" jedoch den betreffenden Bitpositionen der Vierbit-Daten B von den Koinzidenzschaltungen 31-9 bis 31-12 zugewiesen. Die Ausgänge der Koinzidenzschaltungen 31-9 bis 31-12 entsprechen jeweils "1" bis "8" und werden dem Komparator 31-13 zugeführt. Ähnliche der oben beschriebenen Ausführung vergleicht der Komparator 31-13 die Daten A und B und gibt das Detektionssignal b aus, wenn A - B = 0, und das Detektionssignal f, wenn A - B > 0.
  • Mit dieser Anordnung können vier Typen von Begrenzern unter Verwendung von willkürlichen Codes eingestellt werden, und ihre Prioritäten können willkürlich festgelegt werden.
  • Man beachte, daß derselbe Code für einen Bezeichnungsbegrenzer in einem Befehl und einen Begrenzer in Daten benutzt werden kann oder nicht benutzt werden kann. Wenn derselbe code nicht benutzt wird, wird der Code des Bezeichnungsbegrenzers dazu gebracht, dem Code des bei den Daten benutzten Begrenzers im voraus zu entsprechen, so daß die Detektion von beiden Begrenzern auf der Basis der Übereinstimmung zwischen ihnen durchgeführt wird, wenn der Begrenzerdetektor 14 eine Detektion durchführt.
  • Operation II
  • Eine Operation, bei der Daten variabler Länge durch eine willkürliche Anzahl von Einheiten, die je durch einen Begrenzer definiert werden, unter Verwendung eines Befehls übertragen werden, wird im Folgenden beschrieben.
  • Der Inhalt eines Befehls umfaßt in diesem Fall die Anzahl von Einheiten der Daten variabler Länge zusätzlich zum Inhalt des Befehls in der oben beschriebenen Operation I. Die Anzahl von Einheiten wird im Zähler 22 eingestellt, wenn der Mikroprozessor 4 einen Befehl setzt.
  • Angenommen, daß ein Operationscode im Befehlsregister 11 ein Übertragungsbefehl zum Bezeichnen der Anzahl von Einheiten ist, ein Bezeichnungsbegrenzer ein Begrenzer ist, der das Zeichenwortende "9" darstellt, und derselbe Begrenzer in den Lesepuffer 16 gelesen wird. In diesem Fall gibt der Begrenzerdetektor 14 das Detektionssignal b an die Steuerschaltung 15 aus. Da die Steuerschaltung 15 das Dekrementiersignal c ausgibt, wird der Zähler 22 um eine dekrementiert und wird "2". In diesem Fall gibt daher der Nulldetektor 23 das Nulldetektionssignal s nicht aus. Man beachte, daß der Selektor 24 das Dekrementiersignal c ausgibt, wenn der Operationscode ein Übertragungsbefehl zum Bezeichnen der Anzahl von Einheiten ist. Die Steuerschaltung 15 gibt ein Steuersignal nochmals aus, um zu bewirken, daß der Übertragungsbefehl nochmals ausgeführt wird. Wenn ein zweiter Begrenzer (Zeichenwortendebegrenzer) aus dem Datenspeicher 2 gelesen wird, gibt der Begrenzerdetektor 14 das Detektionssignalb nochmals aus. Als Folge wird der Wert des Zählers 22 "1". Da in diesem Fall der Nulldetektor 23 auch kein Nulldetektionssignal ausgibt, wird der Übertragungsbefehl nochmals ausgeführt. Wenn ein dritter Begrenzer (Zeichenwortendebegrenzer) in der gleichen Weise aus dem Datenspeicher 2 gelesen wird, wird der Wert des Zählers 22 "0". Als Folge beendet die Steuerschaltung 15 den momentan ausgeführten Übertragungsbefehl als Reaktion auf das Nulldetektionssignal s vom Nulldetektor 23 und gibt das Endesignal e aus. Mit dieser Operation wird der nächste aus dem Programmspeicher 3 gelesene Befehl in das Befehlsregister 11, den Adressengenerator 13 und den Zähler 22 gesetzt. Wie oben beschrieben, wird, wenn der Bezeichnungsbegrenzer ein Zeichenwortendebegrenzer ist, wenn der Begrenzer aus dem Datenspeicher 2 dreimal gelesen wird, die Ausführung des Übertragungsbefehls beendet. Die Datenübertragung wird daher in einer Einheit einer Datenlänge durchgeführt, die durch den dritten Begrenzer definiert wird.
  • Wenn der Bezeichnungsbegrenzer im Befehlsregister 11 ein Satzanfangsbegrenzer ist, wird, auch wenn ein Zeichenwortendebegrenzer aus dem Datenspeicher 2 gelesen wird, da die Priorität das in den Lesepuffer 16 gesetzten Begrenzers niedriger ist als die des Bezeichnungsbegrenzers, keines der Detektionssignale b und f vom Begrenzerdetektor 14 ausgebeben, und der Anfangswert "3" des Zählers 22 wird unverändert gelassen. Danach gibt der Begrenzerdetektor 14 das Detektionssignal b aus, und der Wert des Zählers 22 wird jedesmal um eins dekrementiert, wenn der Satzanfangsbegrenzer aus dem Datenspeicher 2 gelesen wird. Wenn der Satzanfangsbegrenzer dreimal aus dem Datenspeicher 2 gelesen wird, wird der Wert des Zählers 22 "0". Als Folge wird die Ausführung des Übertragungsbefehls zu dieser Zeit beendet, und die Datenübertragung wird in einer Einheit einer Datenlänge durchgeführt, die durch den dritten Begrenzer, wie in Fig. 5B gezeigt, definiert wird.
  • Im diesem Fall wird, wenn ein Begrenzer, der einen Satzanfang darstellt und eine höhere Priorität hat als der dritte Begrenzer, der einen Satzanfang darstellt, aus dem Datenspeicher 2 gelesen wird, wie in Fig. 5C gezeigt, das Detektionssignal f vom Begrenzerdetektor 14 an die Steuerschaltung 15 und den Statuspuffer 21 ausgegeben. Als Folge wird zu dieser Zeit die Ausführung des Übertragungsbefehls ungeachtet des Wertes des Zählers 22 beendet. Die Datenübertragung wird daher in einer Einheit einer Datenlänge durchgeführt, die durch diesen Satzanfangsbegrenzer definiert wird.
  • Man beachte, daß der Statuspuffer 21 als Daten einen Zustand speichert, der darstellt, ob die Ausführung eines Befehls bei Detektion von "0" durch den Nulldetektor 23 oder durch das Detektionssignal f vom Begrenzerdetektor 14 bei Detektion eines Begrenzers mit einer höheren Priorität beendet wird. Diese Daten werden über den Datenbus DB durch einen Zugriff vom Mikroprozessor 4 ausgelesen.
  • Wenn einer der vier Typen von Begrenzern in Übereinstimmung mit einem Befehl im Befehlsregister 11 bezeichnet wird und ein willkürlicher Wert in den Zähler 22 gesetzt wird, kann die Datenübertragung in einer Einheit einer willkürlichen Datenlänge unter Verwendung eines Befehls durchgeführt werden.
  • Wenn ein willkürlicher Begrenzer unter Verwendung eines willkürlichen Codes im Begrenzerregister 20 eingesetellt wird, kann die Anzahl von Begrenzertypen einschließlich der festen Begrenzer auf fünf Typen erhöht werden. Da der eingestellte Begrenzer die niedrigste Priorität besitzt, können außerdem Daten, die durch Wortendebegrenzer geteilt sind, weiter in eine Mehrzahl von Blöcken geteilt werden, und die Datenübertragung kann in Einheit von Blöcken durchgeführt werden.
  • Gemäß dieser Ausführung kann, da ein Begrenzer, der das Ende der Ausführung eines Befehls darstellt, in dem Befehl angeordnet ist und die Ausführung des Befehls wiederholt wird, bis der Begrenzer in ausgelesenen Daten ermittelt wird, eine Übertragung oder eine arithmetische Operation von Daten mit einer durch einen Begrenzer definierten willkürlichen Länge durch einen Befehl durchgeführt werden. Die Verarbeitungsgeschwindigkeit von Daten kann daher erhöht werden, und die Erstellung eines Programms zur Datenverarbeitung kann erleichtert werden. Da außerdem eine Mehrzahl von Blöcken, die durch identische Begrenzer definiert werden, verarbeitet werden kann, bis der Wert einer Zählereinrichtung auf einen spezifischen Wert gesetzt wird, wird die Verarbeitungsgeschwindigkeit erhöht, und der Blockbereich von Daten kann willkürlich bestimmt werden.
  • Operation III
  • Eine Operation, bei der, wenn Daten variabler Länge in einer durch einer Begrenzer definierten Einheit übertragen werden, der Maximalwert der Länge von zu übertragenden Daten bezeichnet wird, wird beschreiben.
  • In diesem Fall umfaßt der Inhalt eines Befehls den Maximalwert der Länge der Daten variabler Länge zusätzlich zu dem Inhalt des Befehls in Operation I. Dieser Maximalwert wird durch eine Anzahl von Bytes dargestellt und wird in den Zähler 22 gesetzt, wenn der Mikroprozessor 4 einen Befehl setzt.
  • Man beachte, daß der Maximalwert so bestimmt wird, daß nachteilige Wirkungen infolge eines Programm- oder Hardwarefehlers verhindert werden, z.B. ein Übertragungsbefehl oder dergleichen unerwünscht fortgesetzt wird und Daten im Datenspeicher 2 zerstört werden. Beim Verarbeiten eines Übertragungsbefehls wird der Maximalwert der durch einen Begrenzer definierten Anzahl von Bytes bezeichnet.
  • Angenommen, daß ein Operationscode im Befehlsregister 11 ein Übertragungsbefehl ist, der die Maximalwertbezeichnung enthält, und "20" im Zähler 22 als der Maximalwert gesetzt ist.
  • Die Erstbyte-Daten werden aus dem Datenspeicher 2 durch eine Leseadresse vom Adressengenerator 13 ausgelesen und in den Lesepuffer 16 gesetzt. Dann wird eine Schreibadresse vom Adressengenerator 13 ausgegeben, und die Daten im Lesepuffer 16 werden ausgelesen und in einen bezeichneten Adressenbereich im Datenspeicher 2 geschrieben. Obwohl in diesem Fall der Wert des Zählers 22 auf "19" dekrementiert wird, gibt der Nulldetektor 23 das Detektionssignal s nicht aus. Man beachte, daß der Selektor 24 das Steuersignal a ausgibt, wenn der Operationscode ein Übertragungsbefehl ist, der die Maximalwertbezeichnung enthält. Da die in den Lesepuffer 16 gesetzten Erstbyte-Daten kein Begrenzer sind, gibt der Begrenzerdetektor 14 weder das Koinzidenzsignal b noch f aus. Die Steuerschaltung 15 gibt ein Steuersignal nochmals aus, um zu veranlassen, daß der Übertragungsbefehl ausgeführt wird, vorausgesetzt, daß weder das Detektionssignal s noch das Koinzidenzsignal b oder f ausgegeben wird. Jede Adresse des Adressengenerators 13 wird somit durch das Steuersignal a aktualisiert, und die nächsten Daten im Datenspeicher 2 werden in den Lesepuffer 16 gesetzt.
  • Angenommen, daß, wenn ein Vierbyte-Begrenzer in dieser Weise ausgelesen und in den Lesepuffer 16 gesetzt wird, ein Bezeichnungsbegrenzer im Befehlsregister ein Begrenzer ist, der einen Satzanfang darstellt. In diesem Fall wird, auch wenn ein Wortendebegrenzer in den Lesepuffer 16 gesetzt wird, keines der Koinzidenzsignale b und f ausgegeben, und außerdem wird das Nulldetektionssignal s nicht ausgegeben, weil der Wert des Zählers 22 zu dieser Zeit "16" ist.
  • Wenn Daten des 14-ten Bytes ausgelesen und in den Lesepuffer 16 gesetzt werden, wird da diese Daten ein Begrenzer sind, der einen Satzanfang darstellt und mit dem Bezeichnungsbegrenzer übereinstimmt, das Koinzidenzdetektionssignal b ausgegeben. Als Reaktion auf das Signal b beendet die Steuerschaltung 15 die Ausführung des Übertragungsbefehls und gibt das Endesignal e aus. Wenn der Bezeichnungsbegrenzer ein Begrenzer ist, der wie in diesem Fall einen Satzanfang darstellt, wird, wenn dieser Begrenzer ausgelesen wird, bevor der Zähler 22 "0" wird, d.h., bevor Daten von 20 Bytes ausgelesen sind, die Ausführung des Übertragungsbefehls beendet.
  • Man beachte, daß der Statuspuffer 21 als Daten einen Zustand speichert, der darstellt, ob die Verarbeitung eines Befehls durch das Nulldetektionssignal s vom Nulldetektor 23 oder das Koinzidenzsignal f vom Begrenzerdetektor 14 beendet wird. Diese Daten werden über den Datenbus DB durch einen Zugriff vom Mikroprozessor 4 ausgelesen.
  • Wie in Fig. 6A gezeigt, kann deshalb die Datenübertragung in einer Einheit einer Datenlänge von 14 Bytes durchgeführt werden, die durch den Begrenzer definiert wird, der einen Satzanfang darstellt.
  • Im Gegensatz dazu wird, wenn ein Begrenzer, der mit dem Bezeichnungsbegrenzer übereinstimmt, nicht in der Lesepuffer 16 gesetzt wird, nachdem Daten von 20 Bytes ausgelesen sind, wie in Fig. 6B gezeigt, die Datenübertragung in diesem Moment beendet, weil der Wert des Zählers 22 "0" wird und das Nulldetektionssignal s ausgegeben wird. In diesem Fall wird daher die Datenübertragung in einer Einheit einer Datenlänge von 20 Bytes durchgeführt.
  • Wenn ein Begrenzer im Begrenzereinstellregister 20 unter Verwendung eines willkürlichen Codes eingestellt wird, gibt der Begrenzerdetektor 14, wenn er eine Übereinstimmung zwischen dem eingestellten Begrenzer und einem in den Lesepuffer 16 gesetzten Begrenzer ermittelt, das Koinzidenzdetektionssignal b oder f aus. Die Datenübertragung wird daher zu dieser Zeit beendet. Diese Operation ist die gleiche wie die des oben beschriebenen Bezeichnungsbegrenzers.
  • Außerdem wird, wenn der Operationscode ein Operationsbefehl oder ein logischer Befehl ist, eine Operation basierend aus Operator- und Operandendaten durchgeführt, die bei fortlaufenden Adressen im Datenspeicher 2 gespeichert sind. Auch in diesem Fall wird die Verarbeitung in Einheiten von Begrenzern in derselben Weise wie bei der Datenübertragung durchgeführt.
  • Man beachte, daß derselbe Code für einen Bezeichnungsbegrenzer in einem Befehl und einen Begrenzer in Daten benutzt werden kann oder nicht benutzt werden kann. Wenn derselbe Code nicht benutzt wird, wird der Code des Bezeichnungsbegrenzers dazu gebracht, im voraus dem Code des bei den Daten benutzten Begrenzers zu entsprechen, so daß die Detektion von beiden Begrenzern auf der Übereinstimmung dazwischen durchgeführt wird, wenn der Begrenzerdetektor 14 die Detektion durchführt.
  • Gemäß dieser Ausführung kann, da ein Begrenzer, der das Ende der Ausführung eines Befehls bezeichnet, in dem Befehl angeordnet ist und die Ausführung des Befehls wiederholt wird, bis der Begrenzer in ausgelesenen Daten ermittelt wird, eine Übertragung oder eine arithmetische Operation von Daten mit einer durch einen Begrenzer definierten willkürlichen Länge durch einen Befehl durchgeführt werden. Die Verarbeitungsgeschwindigkeit von Daten kann daher erhöht werden, und die Erstellung eines Programms zur Datenverarbeitung kann erleichtert werden. Da außerdem die Ausführung einer Operation durch den Befehl beendet wird, wenn der Wert einer Zählereinrichtung einen bestimmten Wert erreicht, kann eine fehlerhafte Operation infolge eines Programm- oder Hardwarefehlers zuverlässig verhindert werden.

Claims (7)

  1. Datenverarbeitungsvorrichtung zum Verarbeiten von Daten mit variabler Länge mittels des gleichen Befehls mit einer Datenspeichereinrichtung (2), einer Befehlsspeichereinrichtung (3, 11), einer Einrichtung zum Auslesen eines Befehls von der Befehlsspeichereinrichtung, einer Adreßerzeugungseinrichtung (13), die mit der Datenspeichereinrichtung gekoppelt ist zum fortlaufenden Ausgeben von Adressen an die Datenspeichereinrichtung und einer Datenverarbeitungseinrichtung (12, 18), die mit der Befehlsspeichereinrichtung und der Datenspeichereinrichtung gekoppelt ist zum Decodieren des Befehls von der Befehlsspeichereinrichtung, dadurch gekennzeichnet, daß der Befehl, der in der Befehlsspeichereinrichtung gespeichert ist, einen Operationsabschnitt enthält, der die bei den Daten mit variabler Länge auszuführende Operation angibt und einen Abgrenzungsabschnitt enthält, der einen Abrenzer bestimmt,
    wobei die Datenverarbeitungseinrichtung (12, 18) den von der Befehlsspeichereinrichtung ausgelesenen Befehl decodiert und die Daten mit variabler Länge in Einheiten von Worten mit fester Länge gemäß dem decodierten Befehl verarbeitet, und wobei die Daten mit variabler Länge fortlaufend Wort für Wort von der Datenspeichereinrichtung ausgelesen werden, wobei die Adressen verwendet werden, die von der Adreßerzeugungseinrichtung ausgegeben werden, und wobei eine Abgrenzungsdetektionseinrichtung (14' vorgesehen ist, die mit der Datenspeichereinrichtung und der Befehlsspeichereinrichtung gekoppelt ist zum Ausgeben eines Übereinstimmungssignals (b), wenn von der Datenspeichereinrichtung detektiert wird, daß in den ausgelesenen Datenworten ein Abgrenzer vorhanden ist, der mit einem Abrenzer übereinstimmt, der durch den decodierten Befehl angegeben wird,
    wobei eine Steuereinrichtung (15) vorgesehen ist, die mit der Abgrenzungsdetektionseinrichtung gekoppelt ist und in Antwort auf das Vorliegen eines Übereinstimmungssignals (b) von der Abgrenzungsdetektionseinrichtung die Verarbeitung der Daten mit variabler Länge beendet.
  2. 2. Vorrichtung nach Anspruch 1, wobei der Abgrenzungsabschnitt zumindest Abgrenzerdaten und Daten entsprechend einem Abgrenzer enthält.
  3. 3. Vorrichtung nach Anspruch 2, wobei die Abgrenzungsdaten nur einen Abgrenzer enthalten.
  4. 4. Vorrichtung nach Anspruch 1, wobei der Abgrenzer in der Datenspeichereinrichtung eine Vielzahl von Codes enthält, denen gewichte Prioritäten für die Verarbeitung zugewiesen sind, und
    wobei die Abgrenzungsdetektionseinrichtung eine Einrichtung zum Ausgeben eines speziellen Detektionssignals an die Steuereinrichtung enthält, wobei dies dann geschieht, wenn detektiert wird, daß ein Abgrenzer, der von der Datenspeichereinrichtung ausgelesen wurde, eine höhere Priorität aufweist, als der Abgrenzer, der durch den decodierten Befehl angegeben wird.
  5. 5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Zählvorrichtung (22) vorgesehen ist, die mit der Abgrenzungsdetektionseinrichtung gekoppelt ist zum Zahlen der Übereinstimmungssignale, wie sie von der Abgrenzungsdetektionseinrichtung ausgegeben werden, und wobei die Steuereinrichtung (15) mit der Zähleinrichtung gekoppelt ist zum Beenden der fortlaufenden Verarbeitung der Daten mit variabler Länge gemäß einem Befehl und in Antwort darauf, daß ein Zählwert in der Zähleinrichtung einen bestimmen Wert erreicht.
  6. 6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Steuereinrichtung (15) eine Einrichtung zum Beenden der Verarbeitung der Daten mit variabler Länge aufweist, welches gemäß dem decodierten Befehl geschieht, wenn das bestimmte Detektionssignal an der Steuereinrichtung eingegeben wird.
  7. 7. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Zähleinrichtung (22) mit der Datenverarbeitungsvorrichtung gekoppelt ist zum Zählen einer Anzahl von Datenwörtern, die von der Datenspeichereinrichtung ausgelesen werden,
    und wobei die Steuereinrichtung (15) mit der Abgrenzungsdetektionseinrichtung und der Zähleinrichtung gekoppelt ist zum Beenden der Verarbeitung der Daten mit variabler Länge gemäß dem einen decodierten Befehl und in Antwort auf ein Übereinstimmungssignal von der Abgrenzungsdetektionseinrichtung, ohne Antwort darauf, daß ein Zählwert der Zähleinrichtung einen bestimmten Wert erreicht.
DE3855066T 1987-10-30 1988-10-25 Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge Expired - Fee Related DE3855066T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1987166281U JPH0172648U (de) 1987-10-30 1987-10-30
JP62274966A JP2671325B2 (ja) 1987-10-30 1987-10-30 データ処理装置
JP1987166280U JPH0172647U (de) 1987-10-30 1987-10-30

Publications (2)

Publication Number Publication Date
DE3855066D1 DE3855066D1 (de) 1996-04-11
DE3855066T2 true DE3855066T2 (de) 1996-07-18

Family

ID=27322665

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3855066T Expired - Fee Related DE3855066T2 (de) 1987-10-30 1988-10-25 Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge

Country Status (5)

Country Link
US (1) US4975835A (de)
EP (1) EP0318699B1 (de)
KR (1) KR920000417B1 (de)
CA (1) CA1308490C (de)
DE (1) DE3855066T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795269B2 (ja) * 1988-11-04 1995-10-11 富士通株式会社 命令コードのデコード装置
US5179691A (en) * 1989-04-12 1993-01-12 Unisys Corporation N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M
JP2605434B2 (ja) * 1989-12-09 1997-04-30 ヤマハ株式会社 電子楽器のデータ発生装置
JP3074737B2 (ja) * 1990-12-29 2000-08-07 カシオ計算機株式会社 ファイル更新処理装置
JP3177999B2 (ja) * 1991-04-25 2001-06-18 カシオ計算機株式会社 システム構成図作成装置
JP2785531B2 (ja) * 1991-09-17 1998-08-13 ヤマハ株式会社 電子楽器
KR100438808B1 (ko) * 1996-11-05 2004-07-16 삼성전자주식회사 디지탈 신호 처리를 위한 저전력 소비형 연산장치
US8954599B2 (en) * 2011-10-28 2015-02-10 Hewlett-Packard Development Company, L.P. Data stream operations
EP4000895A1 (de) 2020-11-18 2022-05-25 The Boeing Company Indexiervorrichtung und verfahren zum indexieren

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1043358A (en) * 1962-04-02 1966-09-21 Hitachi Ltd Control system for digital computer
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
US4068298A (en) * 1975-12-03 1978-01-10 Systems Development Corporation Information storage and retrieval system
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
US4348725A (en) * 1977-01-19 1982-09-07 Honeywell Information Systems Inc. Communication line service interrupt technique for a communications processing system
US4261033A (en) * 1977-01-19 1981-04-07 Honeywell Information Systems Inc. Communications processor employing line-dedicated memory tables for supervising data transfers
US4384343A (en) * 1979-02-12 1983-05-17 Honeywell Information Systems Inc. Firmware controlled search and verify apparatus and method for a data processing system
FR2459512A1 (fr) * 1979-06-19 1981-01-09 Vidalin Jacques Procede pour la commande de rapprochement a effectuer entre des entites logiques de reference et des entites logiques issues d'un fichier
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 荏原インフイルコ株式会社 有機性廃液の生物化学的処理方法
JPS5845613A (ja) * 1981-09-11 1983-03-16 Hitachi Ltd Pcmレコ−ダ
JPS5846735A (ja) * 1981-09-15 1983-03-18 Anritsu Corp 2チヤネル波形記憶装置
JPS5853384A (ja) * 1981-09-25 1983-03-29 Toshiba Corp レ−ザシ−ム溶接機
US4615024A (en) * 1982-03-19 1986-09-30 Casio Computer Co., Ltd. Electronic apparatus with magnetic recording and reproducing device
JPS58179913A (ja) * 1982-04-15 1983-10-21 Sony Corp オ−デイオ信号の記録装置
US4611280A (en) * 1984-03-12 1986-09-09 At&T Bell Laboratories Sorting method
JPS61137203A (ja) * 1984-12-07 1986-06-24 Hitachi Ltd デイジタル情報記録再生装置
JPS6220180A (ja) * 1985-07-19 1987-01-28 Hitachi Ltd Pcm信号記録再生装置
US4772959A (en) * 1986-04-02 1988-09-20 Matsushita Electric Industrial Co., Ltd. Digital signal recording and reproducing apparatus

Also Published As

Publication number Publication date
KR890007158A (ko) 1989-06-19
DE3855066D1 (de) 1996-04-11
US4975835A (en) 1990-12-04
EP0318699B1 (de) 1996-03-06
CA1308490C (en) 1992-10-06
EP0318699A2 (de) 1989-06-07
EP0318699A3 (en) 1990-10-17
KR920000417B1 (ko) 1992-01-13

Similar Documents

Publication Publication Date Title
DE3687724T2 (de) Digitalprozessorsteuerung.
DE69115344T2 (de) Vorverarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher
DE3650473T2 (de) Mikroprogrammsteuereinheit
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE3424962C2 (de)
DE3882772T2 (de) Vektorprozessor angepasst zum Sortieren von Vektordaten.
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE10048072A1 (de) Linklisten-DMA-Descriptor-Architektur
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE2714805A1 (de) Datenverarbeitungssystem
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE2718110A1 (de) Datenverarbeitungseinheit
DE3856139T2 (de) Mikroprozessor
DE3855066T2 (de) Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge
EP0722583A1 (de) Prozessor für zeichenketten variabler länge
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE3854853T2 (de) Datenprozessor mit erweiterten Operationsfunktionen
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE2906685C2 (de)
DE2759120C2 (de)
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen

Legal Events

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