DE3535518A1 - Bitoperations-verarbeitungsverfahren - Google Patents

Bitoperations-verarbeitungsverfahren

Info

Publication number
DE3535518A1
DE3535518A1 DE19853535518 DE3535518A DE3535518A1 DE 3535518 A1 DE3535518 A1 DE 3535518A1 DE 19853535518 DE19853535518 DE 19853535518 DE 3535518 A DE3535518 A DE 3535518A DE 3535518 A1 DE3535518 A1 DE 3535518A1
Authority
DE
Germany
Prior art keywords
information
bit
unit
address
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19853535518
Other languages
English (en)
Other versions
DE3535518C2 (de
Inventor
Hiroaki Yokohama Aotsu
Koichi Yokohama Kimura
Toshihiko Ebina Ogura
Kiichiro Hadano Urabe
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 JP59208257A external-priority patent/JP2914966B2/ja
Priority claimed from JP59208267A external-priority patent/JPS6186838A/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3535518A1 publication Critical patent/DE3535518A1/de
Application granted granted Critical
Publication of DE3535518C2 publication Critical patent/DE3535518C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

HITACHI, LTD., Tokyo, Jap an
Bitoperations-Verarbeitungsverfahren
Die Erfindung bezieht sich auf ein digitales Verarbeitungssystein, insbesondere ein Verfahren und eine Einrichtung zur Bitoperationsverarbeitung, zweckmäßigerweise zum Einsatz in einem Bildverarbeitungssystem mit Bitabbildungsanzeige.
Es wird zuerst ein bekanntes System unter Bezugnahme auf die in Fig. 1 gezeigte Bildverarbeitung erläutert. Dabei ist M1 ein Speicherbereich, in dem Bildinformation in 1-zu-1-Entsprechung zu einem Bildschirmgerät gespeichert ist, M2 ist ein Speicherbereich, in dem Bildinformation gespeichert ist, die der Bildinformation in M1 hinzuzufügen ist, X und Xß sind Teilbereiche in M1 bzw. M2, für die eine Bildinformationsverarbeitung stattfindet, W,Q, W-.., W,2r WßQ un(3 Wß1 bezeichnen Grenzen von Datenwörtern, die z. B. eine Wortlänge von 16 Bits
aufweisen, R„ bis R sind Rasterzeilen für die Teilbereiche X, Om A
und X0, na und nb bezeichnen Verschiebungen der Vorderkanten der Bereiche X und Xß von den Wortgrenzen Vi Q bzw. Wß0, AQ
bis A und B„ bis B bezeichnen Adressen von Wortinformation η 0 η
in den Bereichen X und X , und MFY ist eine Modifikationseinheit zur Implementierung der Ausrichtung und Verarbeitung
für die Bereiche X, und Xß mit unterschiedlichen Ausgangsbitpositionen na und nb.
Da die heute verfügbare Verarbeitungseinheit, etwa ein Mikroprozessor, in Wort- oder Byte-Einheiten mit Daten arbeitet und Speicherzugriff hat, haben die Speicherbereiche M1 und M2 von Fig. 1 Wort- oder Byte-Struktur. Bei der Bildverarbeitung liegt jedoch von außerhalb des Systems ein zu verarbeitender Bildschirmteilbereich vor, und zwar unabhängig von der Wortgrenze entsprechend den Bereichen X und X_ gemäß Fig. 1. Aus diesem Grund erfordert die Bildverarbeitung für die Verknüpfung der Teilbereiche X, und X eine Modifikationseinheit MFY, die die drei folgenden Verarbeitungsfunktionen hat:
(1) Reorganisation von Wortinformation, so daß die Verarbeitung auf wortbreiter Basis zwischen Daten für die Bereiche X, und Xn mit unterschiedlichen Ausgangsbitpositionen na und nb erfolgen kann.
(2) Trennung eines Datenabschnitts von wortbreiter Information, z. B. na Bits, in jeder Adresse AQ, A3, ..., A _2, so daß er bei der Verarbeitung unverändert erhalten bleibt.
(3) Datenverarbeitung in jeder bestimmten Anzahl Bits (Bitbreite), so daß eine Schwarzweiß-Anzeige unter Anwendung eines Bits je Bildeleinent implementiert wird, während bei der Farbanzeige mehrere Bits je Bildelement (normalerweise vier Bits je Bildelement) angewandt werden.
Die Funktionsweise der Modifikationseinheit mit diesen Funktionen wird unter Bezugnahme auf Fig. 2 erläutert. In der nachstehenden Beschreibung wird dabei durchweg angenommen, daß der Bilddatenspeicher in Worteinheiten adressiert wird.
Fig. 2 zeigt ein 2-Wort-Register SRC(A) und SRC(B) für die Speicherung von aus dem Verarbeitungsbereich X0 ausgelesener
- ίο -
Information, ein 2-Wort-Register DST(A) und DST(B) für die Speicherung von aus dem Verarbeitungsbereich X ausgelesener Information sowie ein 2-Wort-Register MRG(A) und MRG(B) für die Speicherung des Verarbeitungsergebnisses der Inhalte der Register SRC(A,B) und DST(A,B). Die Modifikationseinheit MFY bewirkt eine Rotation des Registers SCR(A,B), d. h. eine Verschiebung des SRC-Inhalts, wobei das Bit 0 von SRC(A) mit dem Bit F von SRC(B) verknüpft wird, in Abhängigkeit von den Werten von SN (d. h. nb) und DN (d. h. na), die die Ausgangsbitpositionen der Verarbeitungsbereiche X- und X bezeichnen, in folgender Weise:
(a) Bei SN>DN: Inhalt von SRC nach links um eine Anzahl Bits SN-DN drehen.
(b) Bei SN^DN: Inhalt von SRC nach rechts um eine Anzahl Bits DN-SN drehen.
(c) Bei SN = DN: keine Operation.
Auf diese Weise werden die Bitadressen nb(SN) und na(DN) zur Ausrichtung der Operations-Ausgangsbitposition genutzt.
Infolgedessen wird die Ausgangsbitposition des SRC-Inhalts an diejenige des DST-Inhalts angepaßt. Die Verarbeitungsbitbreite WN wird vorher bestimmt, und der übrige Teil der Daten bleibt unverändert. In Fig. 2 ist zwar das Resultatregister MRG(A,B) gesondert von DST(A,B) vorgesehen, sie können jedoch auch gemeinsam vorgesehen sein. Nach der anschließenden Verarbeitung wird die ursprüngliche Bitposition des SRC^-Inhalts automatisch wiederhergestellt.
Nachstehend wird in Verbindung mit den Fig. 3, 4, 5 und 6 die 4-Bit-Bildverarbeitung für die Bereiche X, und Xß durch die Modifikationseinheit MFY erläutert. Der Prozeß nach Fig. 3 umfaßt einen Schritt S1, in dem die Startadresse AQ für den Verarbeitungsbereich Xft gesetzt wird, Schritt S2, in dem DN auf die Ausgangsbitposition (Adresse) na gesetzt wird, Schritt S3, in dem die Startadresse BQ für den Verarbeitungsbereich X
gesetzt wird, Schritt S4, in dem SN auf die Ausgangsbitposition (Adresse) nb gesetzt wird, Schritt S5, in dem der durch die Modifikationseinheit MFY implementierte Prozeß abläuft, die Schritte S6-S9 für den Bereich Xn, wobei die nächste Bitadresse erhalten (S6), der nächste SN-Wert gesetzt (S7), die Adresse in Worteinheiten inkrementiert (S8) und die nächste Wortinformation ausgelesen wird (S9), und die Schritte S10-S14 für den Bereich X-, in denen die nächste Bitadresse erhalten (S10), der nächste DN-Wert gesetzt (S11), das Ergebnis des Prozesses in das Register MRG(A) eingeschrieben (S12), die Adresse in Worteinheiten inkrementiert (SI 3) und die nächste Wortinformation ausgelesen wird (S14). Der Prozeß umfaßt ferner Entscheidungsschritte SB1 und SB2, die folgende Operationen implementieren:
(I) Entscheidungsschritt SB1
Dieser Schritt prüft, ob die nächste SN-Adresse von SRC, die aus den Schritten S6 und S7 entsprechend der folgenden Gleichung (1) resultiert, über die Wortgrenze entsprechend der Gleichung (2) reicht, und steuert die Sequenz zum Abruf der nächsten Wortinformation, wenn Bedingung (2) erfüllt ist.
SN = SN + WN (1 )
SN I (10)HEX (2)
(II) Entscheidungsschritt SB2
Dieser Schritt prüft, ob die nächste DN-Adresse von DST, die aus den Schritten S10 und S11 resultiert, über die Wortgrenze wie in der folgenden Gleichung (3) reicht, und steuert die Sequenz zum Einschreiben von Daten in das Register MRG(A) zum Bereich X , wenn Bedingung (3) erfüllt ist, was das Ende der Operation an der momentanen Wortgrenze anzeigt.
DN * (10)HEX (3)
Die vorstehenden Operationen für einen Raster (RO) werden im einzelnen in Verbindung mit den Fig. 4, 5 und 6 erläutert.
Fig. 4 zeigt die Bedingung
DN + WN = (A) HEX + (4)HEX
< (10)HEX
In diesem Fall erfolgt das Auslesen der nächsten Wortinforma tion und das Einschreiben des Prozeßergebnisses nicht.
Fig. 5 zeigt die Bedingung
DN + WN= (E) HEX + H)HEX '
> (io)HEX
In diesem Fall finden das Auslesen der nächsten Wortinformation und das Einschreiben des Prozeßergebnisses statt.
Fig. 6 zeigt die Bedingung
SN + WN = (D) HEX + (4)HEX
> <10)HEX
und
DN + WN = (2)HEX + (4^HEX
In diesem Fall erfolgt das Auslesen der nächsten SRC-Wortinformation, aber das Einschreiben des Prozeßergebnisses erfolgt nicht.
Das vorstehend beschriebene bekannte Verarbeitungssystein weist folgende Nachteile auf.
(!) Der konventionelle Mikroprozessor mit Wortadressierung benötigt eine Registerrotation und eine Wortgrenzenprüfung durch Software in implementierenden Bitblockoperationen, was in einer komplizierten Systemsteuerung resultiert.
(2) Der Abruf von Information aus den Verarbeitungsbereichen X und Xß erfordert unterschiedliche Zugriffssteuerung in Abhängigkeit von der momentanen Bitposition in bezug auf die Wortgrenze, was in einer komplizierten Softwaresteuerung resultiert.
(3) Die in den Speicherbereichen Ml und M2 gespeicherte* Informationsmenge reicht von 100 kByte bis zu mehreren MByte, und der in Fig. 3 gezeigte Prozeß, bei dem die Bitbreite WN mit der Größe von 1 Byte (8 Bits) vorgegeben ist, benötigt eine Anzahl Schritte in der Größenordnung von 10 , so daß die Anzahl Verarbeitungsschritte drastisch verringert werden muß.
Ferner sind mit dem konventionellen Mikroprozessor nur Bitoperationen wie Stellenwertverschiebung, logisches Verschieben, Setzen und Rücksetzen von Bits etc. zusätzlich zu arithmetischen und logischen Operationen mit unveränderlicher Wortlänge möglich. Aus diesem Grund sind, um eine "Rasteroperation" auf einer Bitabbildungsanzeige zu erzielen, deren Speicher an jedem Punkt der Ein/Aus-Steuerung dem Anzeigebildschirm entspricht, um einen Abbildungsprozeß zwischen getrennten Viereckbereichen willkürlicher Größe auf dem Bildschirm zu implementieren, die vorgenannten Bitoperationen nicht ausreichend für diesen Zweck, sondern es sind Datenoperationen mit jeder Bitbreite an jeder Position in jedem Wort notwendig. Wenn solche Operationen unter Einsatz eines Mikroprozessors realisiert werden sollen, wird eine Eingangsinformation zum Zweck der Bitausrichtung verschoben, es werden für die Infor-
mation Operationen ausgeführt, und die resultierende Information wird zwecks Ausrichtung mit weiterer zu vermischender Information verschoben, und nach der Mischoperation wird die resultierende Operation im ursprünglichen Speicherplatz gespeichert. Diese sequentiellen Operationen dauern zu lang, und eine schnelle Bildverarbeitung kann daher nicht erwartet werden.
Es gibt ein Verfahren zur Lösung dieses Problems, wobei dem System ein Hultipositionsverschieber, der eine Multibitverschiebung mit der gleichen Geschwindigkeit wie eine Einzelbitverschiebung vornehmen kann, und eine Misch-Schaltung zugefügt werden. Trotz der Fähigkeit des Multipositionsverschiebers zur Bitausrichtung ist der Prozessor jedoch auf Operationen mit unveränderlicher Wortlänge und externen Speicherzugriff üblicherweise in 8-Bit-oder 16-Bit-Länge beschränkt, und die begrenzte Fähigkeit der Hardware zur Implementierung willkürlicher Bitbreitenoperationen muß wegen der Anwendung einfacher Bitoperationen durch komplexe Softwareprozesse ergänzt werden. Ein Beispiel eines Prozessors zur Implementierung der vorstehenden Operationen ist der Micro Processor Modell AM 29116 (Herst.: Advanced Micro Devices).
Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines Bitoperations-Verfahrens und einer -Einrichtung, wobei die Rechenvorgänge zwischen Daten mit willkürlicher Bitanzahl an willkürlichen Stellen in jedem Datenwort vereinfacht und beschleunigt werden sollen. Ferner soll ein Bitverarbeitungssystem angegeben werden, das in einfacher Weise Zugriff zu einem wortadreßgesteuerten externen Datenspeicher für die interne Verarbeitung unter Bitadreßsteuerung hat. Ferner soll eine Bitoperationseinheit angegeben werden, die in einfacher Weise arithmetische und logische Operationen für Bits jeder Bitzahl an jeder Stelle in jedem Datenwort ausführen kann. Außerdem soll ein Bitoperations-Verarbeitungssystem geschaffen werden, bei dem Bit- und Wortadreßsteuerung und externe Speicherzugriff s-Steuerung auf Hardware-Basis möglich ist, so daß
die Organisations-Softwareverarbeitung reduziert und dadurch die Leistungsfähigkeit des Systems gesteigert wird.
Zur Lösung dieser Aufgabe weist die Erfindung folgende Merkmale auf:
(1) Interne Reehenvorgänge werden ausschließlich auf der Basis der Bitadressierung gesteuert.
(2) Eine Bitadreß-Öperationseinheit ist für die Bitadreß-Steuerung zusätzlich zur Wortadreß-Operationseinheit für die Wortadreß-Steuerung vorgesehen.
(3) Die Bitadreß-Operationseinheit hat die Funktion, die Anfangsbitadresse der laufenden Operation der Bitbreite von zu verarbeitenden Bits hinzuzufügen.
(4) Die Bitadreß- und die Wortadreß-Operationseinheit weisen eine Schnittstelle durch das von der Bitadreß-Operationseinheit erzeugte Übertragssignal auf.
(5) Das Übertragssignal der Bitadreß-Operationseinheit, von der internen Verarbeitungssteuerung aus betrachtet, ist ein Vorläufersignal, das anzeigt, daß die momentane Anfangsbitposition über die Wortgrenze im nächsten Operationszyklus hinausreichen wird. Infolgedessen wird das Übertragssignal dazu genutzt, den externen Speicherzugriff auszulösen, um für die Bitoperation an der Wortgrenze benötigte Wortinformation abzurufen.
(6) Die Bitadreß- und die Wortadreß-Operationseinheit teilen sich die Hardwarekomponenten, haben jedoch getrennte logische Punktionen, die über das Übertragssignal zueinander in Beziehung stehen.
(7) Die Bitadreß-Operationseinheit arbeitet zyklisch in einer Wortperiodef und ihr Ausgang bezeichnet die von jeder Wortgrenze aus gezählte relative Bitadresse.
(8) Das an einer bestimmten Bitposition der Bitadreß-Operationseinheit erzeugte Übertragssignal bildet die Grenze von Wörtern mit 2n Bits.
(9) Die Bitadreß-Operationseinheit führt die Addition einer Operationsbitbreite für jedes Register unabhängig aus, so daß Bitoperationen mit willkürlicher Anzahl Bits möglich sind.
Damit die Bitabbildungsanzeige eine Operation zwischen Daten viereckiger Bildschirmbereiche, d. h. eine Rasteroperation, durchführen kann, ist es andererseits erforderlich, eine Operation zwischen Daten jeder Bitbreite an jeder Stelle im Datenwort zu erzielen. Für die Berechnung von Daten irgendeiner Bitbreite durch einen Prozessor mit unveränderlicher Bitbreite müssen die fehlenden Bitpositionen der Eingangsinformation aufgefüllt werden» In einfachen Rechenoperationen kann ein Prozessor für unveränderliche Bitbreite Daten mit einer verringerten Anzahl Bits dadurch verarbeiten, daß in die niedrigeren fehlenden Bitpositionen Nullen gesetzt werden, um ein korrektes Ergebnis einschließlich des Übertragsbits zu erhalten. Bei der Übertrags-Additionsoperation müssen niedrigere fehlende Bitpositionen mit 1-Bits aufgefüllt werden,, um ein korrektes Ergebnis zu erhalten. Logische Operationen zwischen Daten werden für jedes entsprechende Bit gesondert implementiert, und zur Erzielung eines richtigen Ergebnisses durch den Prozessor ist die Anzahl bedeutsamer Bits willkürlich mit Ausnahme der Zustandskennzeichen, wobei die Werte richtig sind, wenn fehlende Bitpositionen selektiv mit 0- oder 1-Bits aufgefüllt sind. Somit werden bei der Durchführung einer arithmetischen oder logischen Operation für Daten mit einer willkürlichen Anzahl Bits Eingangsdaten an Bitstellen höherer Ordnung des Prozessors gebracht, wobei fehlende Bitstellen mit O-Bits oder 1-Bits je nach der Art der Operation
aufgefüllt werden, um dadurch ein vollständig korrektes Resultat zu erzielen.
Anhand der Zeichnung wird die Erfindung beispielsweise näher erläutert. Es zeigen:
Fig. 1 ein Diagramm zur Erläuterung der mit der Erfindung durchzuführenden Bildinformationsverarbeitung;
Fig. 2 ein Diagramm, das die Funktionsweise der Modifikationseinheit (MFY) von Fig. 1 erläutert;
Fig. 3 ein Ablaufdiagramm, das den Operationsprozeß in der Modifikationseinheit des bekannten Systems zeigt;
Fig. 4,
und 6 Diagramme, die die Operation entsprechend dem Ablaufdiagramm von Fig. 3 erläutern;
Fig. 7 ein Blockschaltbild des Bitinformations-Verarbeitungssystems nach der Erfindung;
Fig. 8 eine Tabelle, die die durch die Modifikationseinheit errechnete Bitbreite erläutert;
Fig. 9 eine Tabelle, die die Beziehung zwischen dem von der Bitadreß-Operationseinheit erzeugten Übertragssignal und der Zugriffssteuerung erläutert;
Fig. 10 ein Ablaufdiagramm, das die unter Anwendung der Erfindung durchgeführte Bildverarbeitungsoperation zeigt;
Fig. 11 ein Ablaufdiagramm, das einen Teil des Prozesses von Fig. 10 zeigt, der von der Speicherschnittstelle MIF durchgeführt wird;
Fig. 12,
u. 14 Diagramme, die der Erläuterung der Operationen nach den Fig. 10 und 11 dienen;
Fig. 15 ein Blockschaltbild, das im einzelnen die Auslegung der Bitoperationseinheit von Fig. 7 zeigt;
Fig. 16 eine Tabelle, die die Ausgabefunktion der Operandendaten-Teilungsschaltung 3 von Fig. 15 zeigt;
Fig. 17 eine Tabelle, die die Ausgabefunktion der Operationsdaten-Teilungsschaltung 4 von Fig. 15 zeigt;
Fig. 18 eine Tabelle, in der die von der Verarbeitungseinheit 5 von Fig. 15 ausgeführten Operationsarten aufgelistet sind;
Fig. 19 eine Tabelle, die die gemischten Daten R2 von Fig. 15 wiedergibt;
Fig. 20 eine Tabelle, die die Einschreibmaskeninformation M von Fig. 15 zeigt;
Fig. 21 eine Tabelle, die die Ausgabefunktion des Operationsergebnisregisters 7 von Fig. 15 wiedergibt;
Fig. 22 eine Darstellung zur Verdeutlichung der Ausführung einer Rasteroperation auf der Bitabbildungsanzeige;
Pig. 23 ein Diagramm, das die Operationsweise des Bitverarbeitungssystems mit verschobenen Bitpositionen zeigt; und
Fig. 24 ein Blockschaltbild, das die Systemkonfiguration für die Implementierung der Bildverarbeitung gemäß der Erfindung darstellt.
Gemäß Fig. 24, die das Bildverarbeitungssystem zeigt, wird dem Bitoperationsprozessor 110 von der CPU 100 des Verarbeitungsrechners die Anweisung zur Durchführung der Bildverarbeitung wie Erweiterung, Verminderung, Rotation und Vermischen von Bildmustern erteilt ( (T)). Bei der Implementierung der Bildverarbeitung ruft der Bitoperationsprozessor 110 Daten aus dem Bilddatenspeicher 120 ab, verarbeitet die Daten (2) und speichert die resultierenden Daten im Bilddatenspeicher 120, so daß sie auf der Bildschirmanzeige 130 angezeigt werden (^ .
Die vorliegende Erfindung dient dem Zweck, Mittel zur Implementierung der vorgenannten Operationen ((2) , Q) ) des Auslesens und Einschreibens aus dem bzw. in den Bilddatenspeicher 120 für Daten jeder Bitbreite an jeder Stelle im Datenwort bereitzustellen.
Zuerst wird unter Bezugnahme auf Fig. 7, die eine Ausführungsform des Bitoperationsprozessors zeigt, die Bitstellensteuerung erläutert, die für die Bitoperation erforderlich ist.
Die Anordnung nach Fig. 7 umfaßt eine Wortadreß-Operationseinheit ADW, eine Bitoperationseinheit BOU zur Auftragsabarbeitung mit den vorgenannten Speicherbereichen M1 und M2 im Bilddatenspeicher 120, eine Bitoperationseinheit BOU, die die vorgenannten drei Funktionen (1), (2) und (3) ausübt durch Rotation der Reg isterinhalte in Abhängigkeit von den Bitadressen SN und DN der Verarbeitungsbereiche X. und XR, eine Bitadreß-Operationseinheit ADB und eine Bitadreß-Operationseinheit BR mit einem Operationsbitbreitenregister WNR für die
Speicherung des Werts der Operationsbitbreite WN, einem Ausgangsbit-Adreßregister SNR für die Speicherung der Operationsausgangsbitposition SN für den Verarbeitungsbereich Xn sowie
ti
ein Bestimmungsbitregister DNR für die Speicherung der Operationsausgangsbitposition DN für den Verarbeitungsbereich X . Die Signalleitung AC ist für den Übertrag vorgesehen, der von der Bitadreß-Operationseinheit ADB erzeugt wird, der Signalbus MA ist für die Wortadresse vorgesehen, die von der Wortadreß-Operationseinheit ADW gebildet wird, und der Signalbus D dient für Wortinformation; über diese Busse werden Biddaten mit den Speicherbereichen M1 und M2 abgearbeitet. Die Bitregistereinheit BR und die Bitadreß-Operationseinheit ADB bilden gemeinsam eine Bitadreß-Steuereinheit BM. Die Inhalte der Bitregistereinheit BR, also WN, SN und DN, werden von der Bitoperationseinheit BOU benützt.
Die Bitoperationseinheit 110 ruft Daten aus getrennten Speicherbereichen M1 und M2 innerhalb des Bilddatenspeichers 120 über die Speicherschnittstelle MIF ab. Es gibt zwei Möglichkeiten zum Auslesen der Speicherbereiche M1 und M2, und zwar je nach der Ausgangsbitposition na (nb) eines Datensegments mit einer Bitbreite WN, das momentan in einem Datenwort mit einer Bitbreite L wie folgt zu verarbeiten ist.
(a) Neue Wortinformation wird für die nachfolgende Operation benötigt, wenn
na + Wn > , nb.+ WN > ,-
(b) Die momentane Wortinformation genügt für die nachfolgende Operation, wenn
na + WN λ nb + WN < χ
Die vorstehenden Bedingungen werden auf Hardware-Basis geprüft durch Vorsehen einer Bitadreß-Operationseinheit ADB mit L-Bits für die Addition der Werte na (nb) und WN, wobei die Entscheidung in Abhängigkeit von der An- oder Abwesenheit des Übertragssignals AC von der Operationseinheit ADB erfolgt. Das Übertragssignal AC bezeichnet die Notwendigkeit des Auslesens der nächsten Wortinformation und wird dazu genutzt, die Wortadreß-Operationseinheit ADW für die Adressierung des nächsten Datenworts anzusteuern. Auf diese Weise führt die Bitoperationseinheit 110 Zugriff zu den Speicherbereichen M1 und M2 nur dann aus, wenn für die Verarbeitung neue Wortinformation erforderlich wird.
Für die Beschreibung der Operationseinheit 110 wird zuerst die Funktionsweise der Bitadreß-Steuereinheit BM erläutert.
Die Bitadreß-Steuereinheit BM aktiviert die Bitadreß-Operationseinheit ADB, so daß diese einer Operationsbitbreite WN im Register WNR eine Ausgangsbitadresse SN (DN) im Register SNR (DNR) hinzuaddiert, um die Ausgangsbitadresse SN (DN) für die nächste Operation zu bewerten, und speichert das Ergebnis im Register SNR (DNR).
Im allgemeinen erfolgt die Bildverarbeitung zwischen Bilddaten in zwei gesonderten Bildschirmbereichen, und daher haben beide entsprechenden Speicherbereiche XA und Xß gesonderte Ausgangsbitadressen, die gesondert gespeichert werden müssen, und zwar DN in DNR und SN in SNR. Die Operationsbitbreite WN ist während des gesamten Prozesses konstant und für beide Verarbeitungsbereiche X, und X gemeinsam und ist in dem Einzelregister WNR gespeichert.
Die Bitadreß-Operationseinheit ADB ist eine 4-Bit-Einheit, wie bereits erwähnt, und liefert ein Resultat im Bereich von (0) bis (ρ)ΗΕΧ· Infolgedessen bezeichnet der Ausgang der Bitadreß-Operationseinheit ADB die Bitposition zwischen aneinandergrenzenden Wortgrenzen. Die von der Bitoperationseinheit
BOU benützte Operationsbitbreite WN verlangt jedoch einen Bitbereich, der zusätzlich zu (I)111,., bis (F)^,, (10)uv über die
π£ιΛ Π Ej Λ nCA
Wortgrenze hinaus umfaßt. Aus diesem Grund hat die Bitoperationseinheit BOU die Funktion, die Operationsbitbreite WN zu interpretieren, wie die Tabelle von Fig. 8 zeigt. Auf diese Weise errechnet die Bitadreß-Steuereinheit BM die relative Bitadresse innerhalb eines 16-Bit-Datenworts.
Die Wortadreß-Operationseinheit ADW hat die Funktion, die Wortadresse aufgrund eines Signals von der Bitadreß-Steuereinheit BM zu erhöhen. Nachstehend wird die Schnittstelle zwischen der Einheit ADW und der Bitadreß-Operationseinheit ADB in BM für die Wortadressieroperation erläutert. Die Wortadreß-Operationseinheit ADW wird von der ADB von der Überschreitung der Wortgrenze durch Verwendung des von der ADB erzeugten Übertragssignals AC informiert. Der Wert der Bitadreß-Operationseinheit ADB und der Register WNR, SNR und DNR, die jeweils eine Kapazität von vier Bits haben, ist jedoch (0)HEX bis (p)HEX* so daß die Addition von WN und SN (oder DN) nicht immer das Übertragssignal AC für den gewünschten Zweck liefert. Wenn z. B. WN = (F)HEX» SN = (0)ΗΕχ für die 16-Bit-Operation (vgl. Fig. 8), wird in der folgenden Bitadreß-Berechnung das Übertragssignal AC nicht gebildet, obwohl die Bitadresse in der nächsten Operation über die Wortgrenze hinausreichen wird.
WN + SN = (F
Aus diesem Grund muß die Adressen-Inkrementierungsoperation durch die Bitadreß-Operationseinheit ADB die Addition von Eins umfassen, so daß das Übertragssignal AC in der erwünschten Weise gebildet wird, wie nachstehend gezeigt:
(WN+I) + SN = (F)HEX + (1)HEX + (0)HEX = (10)HEX
Wie vorstehend erwähnt, kann ein erforderliches Übertragssignal AC durch Addition von "1" erzeugt werden, und auf die Addition von "1" kann nicht verzichtet werden.
Das vorgenannte Übertragssignal AC kann als Entscheidungssignal genutzt werden, das anzeigt, ob die Bitposition im nächsten Operationszyklus über die momentane Wortgrenze hinausreicht. Infolgedessen kann das Übertragssignal AC der Bitadreß-Operationseinheit ADB genutzt werden als (1) ein Vorläufersignal, das die Notwendigkeit des Abrufs der nächsten Wortinformation bezeichnet, und (2) als Ansteuersignal für die Wortadreß-Operationseinheit ADW, so daß diese die Adresse der abzurufenden Wortinformation erzeugt. Mit anderen Worten kann das Übertragssignal AC der Bitadreß-Operationseinheit ADB dazu genutzt werden, die Zugriffsoperation zur Speicherschnittstelle MIF für die Verarbeitungsbereiche X und Xß zu takten (vgl. Fig. 9). Aufgrund der gesonderten Register SNR und DNR für die Speicherung der Ausgangsbitadressen SN und DN können die vorgenannten Funktionen (1) und (2) des Übertragssignals AC sich unabhängig voneinander auf die Verarbeitungsbereiche Xj. und X„ auswirken.
Fig.= 10 ist ein AbIaufdiagramm, das die Funktionsweise des vorstehend erläuterten Ausführungsbeispiels bei Anwendung mit dem Bildverarbeitungssystem von Fig. 1 zeigt. In einer Folge von Operationen wird in Verarbeitungsschritt P1 die Wortadresse BQ und die Bitadresse nb (SN = nb) von SNR für die Operationsausgangsbitposition für den Verarbeitungsbereich X0 gesetzt; in Schritt P2 wird die Wortadresse An und die Bitadresse na (DN = na) von DNR für die Operationsausgangsbitposition für den Verarbeitungsbereich X2. gesetzt; Schritt P3 ist die Funktion der Bitoperationseinheit BOU; Schritt P4 errechnet die nächste Operationsausgangsbitposition SN für den Verarbeitungsbereich X unter Anwendung der Bitadreß-Operationseinheit ADB und der Wortadreß-Operationseinheit ADW; Schritt P5 errechnet in ähnlicher Weise die nächste Operationsausgangsbitposition DN für den Verarbeitungsbereich X2.;
Schritt XP1 liest eine Wortinformation im Verarbeitungsbereich X0, Schritt XP2 schreibt das Operationsergebnis in den Verarbeitungsbereich X ein; Schritt XP3 liest eine Wortinformation im Verarbeitungsbereich X ; Schritt PB1 prüft die Beendigung des Prozesses für jeden Raster Ro-Rm; und die Schritte XB1 und XB2 prüfen die Ergebnisse der ausgeführten Vorgänge in den vorgenannten Schritten XP1, XP2 und XP3 nach Maßgabe der Anoder Abwesenheit des Übertragssignals AC.
Nachstehend werden die Entscheidungsschritte XB1 und XB2 im einzelnen erläutert.
(1) Es wird geprüft, ob das als nächstes zu verarbeitende Datensegment innerhalb des momentanen Datenworts oder über der Wortgrenze liegt.
(2) Wenn im Entscheidungsschritt XB1 das Segment innerhalb des momentanen Datenworts liegt (Fall 1 in Fig. 9), wird Schritt XP1 übersprungen, und wenn das Segment über die Wortgrenze hinausreicht (Fall 2 in Fig. 9), wird Schritt XP1 ausgeführt und die nächste Wortinformation aus dem Verarbeitungsbereich X-. ausgelesen.
(3) Wenn im Entscheidungsschritt XB2 das Segment innerhalb des momentanen Worts liegt (Fall 3 in Fig. 9), werden die Schritte XP2 und XP3 übersprungen, und wenn das Segment über die Wortgrenze hinausreicht (Fall 4 in Fig. 9), wird Schritt XP3 ausgeführt und die nächste Wortinformation aus dem Verarbeitungsbereich X. ausgelesen.
(4) Im Fall 4 wird der Verarbeitungsschritt XP2 des Einschreibens in den Verarbeitungsbereich X aus folgendem Grund ausgeführt. Der Verarbeitungsbereich X befindet sich entsprechend Fig. 1 im Speicherbereich MI, und es wird auch das Verarbeitungsresultat eingeschrieben. Wenn die nächste Ausgangsbitposition, die auf der Grundlage des Werts von DN errechnet
wurde, über die Wortgrenze reicht, zeigt dies an, daß die Operation für eine Wortinformation beendet wurde.
Bei dem konventionellen System wird der Wortgrenzenzustand für den Abruf der nächsten Wortinformation auf Software-Grundlage geprüft, wogegen das vorliegende System eine Bitadreß-Operationseinheit ADB verwendet, wodurch die Notwendigkeit eines Speicherzugriffs entfällt und die kontinuierliche Ausführung des internen Bitbetriebsprozesses möglich ist, während externe Wortinformation behandelt wird.
In den Schritten XB1 und XB2 erfolgte Entscheidungen basieren auf dem Übertragssignal AC, das von der Bitadreß-Operationseinheit ADB wie beschrieben erzeugt wird, und das Übertragssignal AC ist unter den vier in Fig. 9 gezeigten Fällen in Abhängigkeit von der Verwendung des Registers DNR oder SNR leicht zu unterscheiden. Durch Implementierung des Entscheidungsprozesses für die vier Fälle entsprechend Fig. 11 in der Speicherschnittstelle MIF können also eine Verarbeitungsschritt-Gruppe X1 , die die Schritte XB1 und XP1 umfaßt, sowie eine Verarbeitungsschritt-Gruppe X2, die die Schritte XB2, XP2 und XP3 (Fig. 10) umfaßt, entfallen. In Fig. 11 sind die Schritte P1—P5 und PB1 identisch mit den in Fig. TO gezeigten Schritten.
Die vorstehend erläuterten Operationen von vier Fällen sind in den Fig. 12, 13 und 14 gezeigt, wobei Ausgangswerte wie folgt gesetzt sind: die Operationsausgangsbitadresse SN = (5)UCIV. und Wortadresse Bo für den Verarbeitungsbereich X ; die Operationsausgangsbitadresse DN = (A)01-,., und Wortadresse Ao für den Verarbeitungsbereich X,; die Operationsausgangsbitbreite WN = (3)„„v. Fig. 12 bezieht sich auf die Fälle 1 und 3f Fig. 13 auf den Fall 4 und Fig. 14 auf den Fall 2 von Fig. 9.
Nachstehend wird eine Ausführungsform der Erfindung zum Zweck der schnellen Datenverarbeitung zwischen Viereckbereichen auf
der Bitabbildungsanzeige, d. h. Rasteroperation, in Verbindung mit den Fig. 15-21 erläutert.
Fig. 15 zeigt im einzelnen die Bitoperatioriseinheit BOU im Bitoperationsprozessor von Fig. 7; dabei umfaßt die Anordnung ein Operandendatenregister 1, ein Betriebsdatenregister 2, eine Operandendaten-Teilungsschaltung 3, eine Betriebsdaten-Teilungsschaltung 4, eine Verarbeitungseinheit 5, ein Ausgangsbitadreßregister DNR, ein Bestimmungsbitadreßregister SNR, ein Operationsbitbreitenregister WNR, ein Mischadreßregister 11, ein Operationssteuerregister 12 und einen Operationsbefehls-Decodierer 13. Dabei bedeutet der Ausdruck "Betriebsdaten" bzw. "-information" ein Glied einer Arithmetik/Logik-Operation wie etwa X in Z = X + Y, und der Ausdruck "Operandendaten" bzw. "-information" bedeutet ein anderes Glied der Operation wie etwa Y in Z =X + Y. Das Blockschaltbild enthält ferner Operandendaten 11, Betriebsdaten 12, geteilte Operandendaten 13, geteilte Betriebsdaten 14, eine Operandendaten-Teilungsadresse ISI, eine Betriebsdaten-Teilungsadresse IS2, eine Teilungsbitbreite W, ein Operationsergebnis R1 , eine Mischadresse D, Einschreibmaskeninformation M, gemischte Daten R2, gespeicherte Ergebnisdaten R3, einen Operationsbefehlscode FC und Operationsdecodierdaten F. Die Datenübertragung zu den Registern 1, 2 und 7 erfolgt durch Zugriff zum Bildinformationsspeicher 120 über die Speicherschnittstelle MIF entsprechend Fig. 7.
Zur Vereinfachung der folgenden Erläuterung der Funktionsweise dieser Anordnung sei angenommen, daß die Verarbeitungseinheit 5 4 Bits hat relativ zu den Operandendaten II, den Betriebsdaten 12, den Maskendaten M und den gemischten Daten R2, die jeweils 8 Bits und die doppelte Betriebsbitbreite haben, und zu den geteilten Operandendaten 13, den geteilten Betriebsdaten 14 und dem Rechenergebnis R12, die jeweils 4 Bits und eine Bitbreite, die mit der Betriebsbitbreite identisch ist, haben, und zu der Operandendaten-Teilungsadresse IS1, der
Betriebsdaten-Teilungsadresse IS2, der Teilungsbitbreite W und der Mischadresse D, die jeweils 2 Bits haben und von der 2-Bit-Verarbeitungseinheit 5 abgeleitet sind.
Fig. 16 ist die Ausgabefunktionstabelle für die Operandendaten-Teilungsschaltung 3. In der Tabelle sind ISI0 und ISI1 das werthöhere Bit und das wertniedrigere Bit der Operandendaten-Teilungsadresse IS1, W„ und W. sind das werthöhere Bit und das wertniedrigere Bit der Teilungsbitbreite W, I3n-I3^ sind 4-Bit-Teiloperandendaten (wobei I3Q das höchste und 13., das niedrigste Bit ist), I1_-I1_ sind 8-Bit-Operandendaten (I1„ ist das höchste, H7 das niedrigste Bit), und P ist die Operationsdecodierinformation. Die Operandendaten—Teilungsschaltung 3 erzeugt 1F1 bei 13..-13-, wenn W gleich 0 (W0 = 0, W. = O)/ erzeugt 'F1 bei I32 und I33, wenn W gleich 1 (WQ = 0, W1 =1), erzeugt 1F1 bei I33, wenn W gleich 2 (Wq = 1, W1 = 0) und erzeugt eine effektive Information bei I3„-I3_, wenn W gleich 3 (WQ = 1, W1 = 1).
Die Teilungsbitbreite W wird also tatsächlich um 1 erhöht (W + 1), so daß die Schaltung eine Teilung von Information zwischen 1 und 4 Bits durchführt. Die Operandenteilungsadresse 131 bezeichnet das höchstwertige Bit 11 Q durch das W + 1te Bit der Operandeninformation 11, wenn ISI gleich 0 (IS1„ = 0, ISI1 = 0), bezeichnet das zweite Bit 12 durch das W + 1te Bit der Operandeninformation 11, wenn es gleich 1 ist ((IS1Q = 0,
= 1), bezeichnet das dritte Bit H2 und das vierte Bit H3, wenn IS1 gleich 2 ist, und bezeichnet das vierte Bit H3 für die Teilung, wenn IS1 gleich 3 ist.
Fig. 17 ist die Ausgabefunktionstabelle für die Betriebsdaten-Teilungsschaltung 4, die identisch mit der Operandendaten-Teilungsschaltung 3 arbeitet, wobei die Ein-und Ausgangssignale IS1, 11 und 13 durch IS2, 12 und 14 ersetzt sind.
Fig. 18 ist eine Tabelle der Operationsbefehlscodes FC, der Operations-Decodierinformation F und der Operationsarten.
Dabei bezeichnet A eine Operandeninformation, B eine Betriebsinformation, "+" eine logische Summe, ir." ein logisches Produkt, "-" eine Negation, "(+)" eine exklusive logische Summe, "plus" eine arithmetische Addition, "minus" eine arithmetische Subtraktion, "Übertrag" den Wert des Übertragskennzeichens und "Borger" den Wert des Borgerkennzeichens.
Die Fig. 19 und 20 sind die Ausgabefunktionstabellen für die Mischschaltung 6 mit gemischten Daten R2 bzw. Einschreibmaskendaten M. Jedes Signal hat ein Suffix zur Anzeige der Bitpositionen, wie dies auch bei den Signalen in den Fig. 16 und 17 der Fall ist. Die gemischte Information R2 hängt nicht von der Teilungsbitbreite W ab, sondern ist eine Funktion der Mischadresse D und des Operationsergebnisses R1. Bei D gleich 0 wird die gemischte Information R2 an den Bitpositionen R2Q-R2. als 4-Bit-Operationsergebnis R1„-R13 gegeben; bei D = 1 geben R2.-R2. das Operationsergebnis; bei D = 2 geben R29-R2i- das Operationsergebnis; und bei D = 3 geben R2-.-R2<das Operationsergebnis. Die übrigen Bitpositionen der gemischten Information R2 werden mit "0" aufgefüllt.
Die Einschreibmaskeninformation M ist eine Funktion der Mischadresse D und der Teilungsbitbreite W entsprechend der Tabelle von Fig. 20. Bei der Teilungsbitbreite W=O hat die Einschreibmaskeninformation M "1" an einer Bitposition und "0" an den übrigen Bitpositionen. Bei W = 1 hat die Information M "1" an zwei benachbarten Bitpositionen und "0" an den übrigen Bitpositionen. Bei W = 2 hat die Information M "1" an drei aufeinanderfolgenden Bitpositionen und "0" an den übrigen Bitpositionen. Die Bitpositionen der Einschreibmaskeninformation mit "1" sind durch die Mischadresse D bestimmt, d. h. bei D=O wird W + 1 Bits von MQ "1"; bei D = 1 wird W + 1 Bits von M1 "1"; bei D = 2 wird W + 1 Bits von M2 "1"; und bei D = 3 wird W + 1 Bits von M3 "1", wobei die übrigen Bitpositionen "0" werden.
Fig. 21 zeigt die Ausgabefunktionstabelle für das Operationsergebnisregister 7. Das 8-Bit-Register 7 erzeugt Ausgänge als eine Funktion der gemischten Information R2 und der Einschreibmaskeninformation M. Wenn das Bit i der Einschreibmaskeninformation M "0" ist, d. h. wenn Mi = 0, bleibt das Bit i der gespeicherten Information R3f d. h. R3., unverändert, während bei Mi = "1" das R3. durch das Bit i der gemischten Information R2, d. h. R2i, überschrieben wird, wobei i einen willkürlichen Wert zwischen 0 und 7 annimmt.
Fig. 22 zeigt die Ausführung der Rasteroperation auf der Bitabbildungsanzeige, wobei zwei Bildinformationen in den Vierecken SA und SB verarbeitet werden zum Erhalt des Resultats in einem Viereck DST. Die Bitabbildungsanzeige hat einen Speicher, der mit 8-Bit- oder 16-Bit-Wortlänge ausgelegt ist, so daß Auslesen und Einschreiben wie bei einem üblichen Speicher erfolgt. Die viereckigen Informationsbereiche SA, SB und DST entsprechen Bitblöcken des Speichers unabhängig von Wortgrenzen. Die Teilung eines Bitblocks innerhalb eines Worts oder über ein Wort hinausgehend wird durch den Bitoperationsprozessor vorgenommen, der entsprechend Fig. 23 arbeitet.
Bei dieser Ausführungsform des Bitoperationsprozessors wird die Operation unter der folgenden Annahme gesetzter Werte beschrieben. Die Operandeninformation 11 hat eine Ausgangsbitposition IS1 = 1, die Betriebsinformation 12 hat eine solche von IS2 = 3, und die Operationsbitbreite W ist 2 Bits. Die Operandeninformation 11 hat einen Wert '100' auf Bits 1-3, und die Betriebsinformation 12 hat einen Wert '001' auf Bits 3-5.
Die Operandendaten-Teilungsschaltung 3 spricht auf die Werte IS1 = 1 und W = 2 an und teilt drei Bits (1IOO1) von den Operandendaten 11 ab und addiert "0" nach der wertniedrigsten Bitpösition zur Bildung der geteilten Operandeninformation 13. In gleicher Weise erzeugt die Betriebsdaten-Teilungsschaltung 4 die geteilte Betriebsinformation 14. Die Verarbeitungsein-
heit 5 führt eine Operation zwischen den geteilten Daten 13 und 14 durch und liefert das Ergebnis R1. Bei dem Beispiel von Fig. 23 erhält die Verarbeitungseinheit 5 die Anweisung, für die gegebenen Informationen eine logische Summierung durchzuführen. Die Mischschaltung 6 spricht auf die Werte von W und D an und mischt die werthöheren 3 Bits ('101') des Operationsergebnisses R1 in 3 Bits der gespeicherten Information R3, beginnend mit Bit 3. Durch die vorstehenden Operationen werden die Operandeninformation 11 und die Betriebsinformation 12 geteilt und nach Verknüpfung zwischen den Informationen wird das Ergebnis in die gespeicherte Information R3 eingemischt.
Im vorstehenden Ausführungsbeispiel wurde zwar die logische Summation erläutert, es ist aber ersichtlich, daß auch andere logische Operationen wie Negation (NICHT) und logische Multiplikation (UND) ausgeführt werden können. Bei arithmetischen Operationen werden, wenn die Bitbreite der Betriebsdaten kleiner als die Betriebsbitbreite (4 Bits) der Verarbeitungseinheit 5 wie im Fall von Fig. 23 ist, niedrigerwertige Bits mit "0" aufgefüllt. Arithmetische Operationen zwischen Nullen resultieren in Null ohne Auftreten des Übertrags oder des Borgers und beeinflussen nicht das Operationsergebnis von höherwertigen Bits, und somit können arithmetische Operationen mit einer geringeren Anzahl Bits ausgeführt werden. Bei der Addition des Übertrags wird die Operations-Decodierinformation F 1, und das Auftreten eines Übertrags läuft bis zu der effektiven Bitposition mit, an der das Übertragsbit addiert wird.
Bei dem vorstehenden Ausführungsbeispiel wird zwar die Operations-Decodierinformation F nur für die geteilte Operandeninformation IS3 benützt, es können aber für die geteilte Betriebsinformation IS4 auch andere Operations-Decodierinformationen zur identischen Ausführung benützt werden.
Wie vorstehend erläutert, ist die Erfindung effektiv in folgender Weise für die Bestimmung der Bitposition von Daten für Bitoperationen einsetzbar:
(1) Durch Hinzufügen einer Bitadreß-Operationseinheit ADB zu der konventionellen Wortadreß-Operationseinheit ADW kann die Operationssteuerung zwischen Daten mit unterschiedlichen Ausgangsbitpositionen SN und DN in jeder Wortinforination vereinfacht werden.
(2) Durch Nutzung des Übertragssignals AC der Bitadreß-Operationseinheit ADB für die Inkrementierung der Wortadreß-Operationseinheit ADB und durch gesondertes Vorsehen der Register SNR und DNR kann Zugriff zu den Wortinformations-Speicherbereichen X, und Xß ohne weiteres unabhängig von der internen Bitverarbeitung erfolgen.
(3) Durch Implementierung der Bitadreß- und Wortadreß-Steuerung und der Speicherzugriffs-Steuerung auf Hardware-Basis kann der Prozeß bis auf 1/3 oder weniger Verarbeitungsschritte gegenüber dem konventionellen System (vgl. die Fig. 3 und 11) vereinfacht werden, wodurch eine Beschleunigung des Prozesses erreicht wird.
(4) Da die Ausführung von Operationsprozessen für jede Anzahl Bits an jeder Bitposition in einer Wortinformation erfolgen kann, wird eine Beschleunigung der Bitoperation erreicht.
- Leerseite -

Claims (24)

Patentansprüche
1. Bitoperations-Verarbeitungsverfahren für die Operation von in einem Speicher gespeicherter Information, gekennzeichnet durch
(a) einen ersten Schritt, in dem in Byte-Einheiten oder irgendeinem Vielfachen davon ein Vorrücken von Adressen von in Byte-Einheiten oder jedem Vielfachen davon zu verarbeitender Information erfolgt;
(b) einen zweiten Schritt, in dem ein Vorrücken von Information in Bit-Einheiten oder irgendeinem Vielfachen davon erfolgt;
(c) einen dritten Schritt, in dem der erste Schritt Adressen auf der Grundlage des Ergebnisses des Adressenvorrückens durch den zweiten Schritt vorrückt; und
(d) einen vierten Schritt, in dem gespeicherte Information in Byte-Einheiten an Stellen, deren Adressen durch den ersten Schritt vorgerückt wurden, abgerufen und die Operation für die abgerufene Information implementiert wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß in dem dritten Schritt eine Ausgangsbitposition für eine nachfolgende Operation erzeugt wird auf der Grundlage des
81-B 109-02-Schö
Ergebnisses der Addition einer momentanen Ausgangsbitposition zu einer Anzahl Operationsbits (Bitbreite) von Daten, die innerhalb der im zweiten Schritt implementierten Informationseinheit definiert sind.
3. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß der erste Schritt das Vorrücken der Adresse aufgrund von im zweiten Schritt erzeugter Übertragsinformation implementiert.
4. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß im ersten Schritt eine Speicheradreß-Steuerung und im zweiten Schritt eine interne Datenadreß-Steuerung implementiert wird.
5. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß der vierte Schritt die Steuerung der Ausgangsbitposition der Betriebsinformation und die Steuerung der Ausgangsbitposition von Operandeninformation unabhängig voneinander implementiert.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet, daß die Operationsbitbreite, die Ausgangsbitposition der Betriebsinformation und die Ausgangsbitposition der Operandeninformation identisch mit den im zweiten Schritt behandelten Werten sind und daß diesen Werten "1" hinzugefügt wird.
7. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß der vierte Schritt umfaßt:
(a) einen fünften Schritt, in dem ein Teil der Betriebsinformation und ein Teil der Operandeninformation geteilt wird;
(b) einen sechsten Schritt, in dem zwischen der geteilten Betriebsinformation und der geteilten Operandeninformation ein Rechenvorgang implementiert wird;
(c) einen siebten Schritt, in dem resultierende Information aus dem sechsten Schritt mit der Betriebs- oder der Operandeninformation gemischt und das Resultat im Speicher gespeichert wird.
8. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, daß der sechste Schritt aufgrund eines Prüfergebnisses, demzufolge die Teilungsbitbreite kleiner als die Operationsbitbreite ist, die Operation implementiert durch Addition wenigstens eines "O"-Bits anschließend an die wertniedrigsten Bits der Betriebs- und der Operandendaten.
9. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, daß der sechste Schritt aufgrund eines Prüfergebnisses, demzufolge die Teilungsbitbreite kleiner als die Operationsbitbreite ist, die Operation implementiert durch Addition wenigstens eines "O"-Bits nach dem wertniedrigsten Bit entweder der Betriebs- oder der Operandendaten und durch Addition wenigstens eines "1"-Bits nach dem wertniedrigsten Bit der jeweils anderen der Betriebs- bzw. der Operandendaten, so daß beide Daten die gleiche Bitbreite wie die Operationsbitbreite haben.
10. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, daß der sechste Schritt aufgrund eines Prüfergebnisses, demzufolge die Teilungsbitbreite kleiner als die Operationsbitbreite ist, die Operation durch Addition eines "0"- oder eines "1"-Bits nach dem wertniedrigsten Bit der Operanden- und der Betriebsdaten in Abhängigkeit von der Operationsart implementiert.
11. Bitoperations-Verarbeitungseinrichtung mit einem Speicher (120), für die Operation von in dem Speicher gespeicherter Information,
gekennzeichnet durch
(a) eine erste Einheit (ADW), die gespeicherte Information in Byte-Einheiten oder irgendeinem Vielfachen davon adressiert, wobei die Information der Operation in diesen Byte-Einheiten oder irgendeinem Vielfachen davon unterliegt;
(b) eine zweite Einheit (ADB), die Information in Bit-Einheiten oder irgendeinem Vielfachen davon adressiert;
(c) eine dritte Einheit (MFY), die die zweite Einheit ansteuert zum Vorrücken von Adressen und zur Erteilung von Anweisungen an die erste Einheit, so daß diese auf der Grundlage des Ergebnisses der Adressenvorrückung durch die zweite Einheit Adressen vorrückt; und
(d) eine vierte Einheit, die Information in Byte-Einheiten aus dem Speicher (120) an Adressenplätzen abruft, die durch die erste Einheit (ADW) vorgerückt wurden, und die die Operation für die abgerufene Information implementiert.
12. Einrichtung nach Anspruch 11,
dadurch gekennzeichnet, daß die dritte Einheit (MPY) die zweite Einheit ansteuert zur Addition einer Anzahl Operationsbits (WN) innerhalb der Informationslänge in den Byte-Einheiten oder irgendeinem Vielfachen davon zu einem Wert einer momentanen Operations-Ausgangsbitposition (SN, DN), so daß für einen anschließenden Operationsprozeß eine Operations-Ausgangsbitposition gebildet wird.
13. Einrichtung nach Anspruch 11,
dadurch gekennzeichnet, daß die erste Einrichtung das Vorrücken von Adressen aufgrund eines Übertragssignals (AC) von der zweiten Einheit durchführt.
14. Einrichtung nach Anspruch 11,
dadurch gekennzeichnet,
daß die erste Einheit die Adressensteuerung für den Speicher und die zweite Einheit die Adressensteuerung für interne Operationsdaten-Register durchführt.
15. Einrichtung nach Anspruch 11,
dadurch gekennzeichnet, daß die vierte Einheit ein erstes Register (SNR), in dem eine Bitadresse gespeichert ist, die eine Operations-Ausgangsbitposition einer Betriebsinformation bezeichnet, und ein zweites Register (DNR), in dem eine Bitadresse gespeichert ist, die eine Operations-Ausgangsbitposition einer Operandeninformation bezeichnet, aufweist, wobei die Bitadressen der Betriebs- und der Operandeninformation gesondert gesteuert werden.
16. Einrichtung nach Anspruch 15,
dadurch gekennzeichnet, daß die zweite Einheit eine vorgerückte Bitadresse in dem ersten Register speichert, wenn die zweite Einheit die vorgerückte Bitadresse unter Nutzung eines Inhalts des ersten Registers errechnet hat, oder eine vorgerückte Bitadresse in dem zweiten Register speichert, wenn die zweite Einheit die vorgerückte Bitadresse unter Nutzung eines Inhalts des zweiten Registers errechnet hat.
17. Einrichtung nach Anspruch 15,
dadurch gekennzeichnet, daß die vierte Einheit eine Information aus einem externen Speicher an einem Adressenplatz abruft, der von der ersten Einheit vorgerückt wurde, wenn die zweite Einheit das Übertragssignal aufgrund eines Inhalts des ersten Registers erzeugt hat, oder eine Information aus dem Speicher an einem Adressenplatz abruft, der von der ersten Einheit vorgerückt wurde, wenn die zweite Einheit das Übertragssignal aufgrund eines Inhalts des zweiten Registers erzeugt hat, und daß die vierte Einheit ein Operationsergebnis in dem Speicher an einem Adressenplatz vor der Vorrückung durch die erste Einheit speichert.
18. Einrichtung nach Anspruch 17,
dadurch gekennzeichnet, daß die Anzahl Operationsbits, die Operations-Ausgangsbitposition der Betriebsinformation und die Operations-Ausgangsbitposition der Operandeninformation gleich einer Anzahl Bits ist, die von der zweiten Einheit behandelt werden kann, wobei dem Wert der Bitposition immer dann eine "1" hinzugefügt wird, wenn die zweite Einheit benützt wird.
19. Einrichtung nach Anspruch 11,
dadurch gekennzeichnet, daß die vierte Einheit aufweist:
(a) Schaltungen (3, 4), die einen Teil der Betriebsinformation und einen Teil der Operandeninformation aufteilen;
(b) eine Einheit (5), die die Operation zwischen einer geteilten Betriebsinformation und einer geteilten Operandeninformation implementiert; und
(c) eine Schaltung (6), die eine resultierende Information der Operationseinheit (5) mit der geteilten Betriebsinformation oder der geteilten Operandeninformation vermischt und eine Mischinformation im Speicher speichert.
20. Einrichtung nach Anspruch 19,
dadurch gekennzeichnet, daß die Teilungsschaltungen ein drittes Register (SNR), in dem eine Teilungsposition der Betriebsinformation speicherbar ist, ein viertes Register (DNR), in dem eine Teilungsposition der Operandeninformation speicherbar ist, und ein fünftes Register (WNR), in dem eine Teilungsbreite speicherbar ist, aufweisen, und daß die Mischschaltung ein sechstes Register (11) zur Speicherung einer Mischbitposition und ein siebtes Register zur Speicherung einer Mischbreite aufweist.
21. Einrichtung nach Anspruch 20,
dadurch gekennzeichnet,
daß die Operationseinheit (5) wenigstens ein "O"-Bit nach der wertniedrigsten Bitposition der geteilten Betriebs- und Operandeninformation anfügt, so daß diese Information eine gleiche Anzahl Bits wie die Anzahl Operationsbits aufweist, wenn die Teilungsbreite kleiner als die Anzahl Operationsbits ist.
22. Einrichtung nach Anspruch 20,
dadurch gekennzeichnet, daß die Operationseinheit (5) wenigstens ein "O"-Bit nach der wertniedrigsten Bitposition entweder der Betriebs- oder der Operandeninformation anfügt und wenigstens ein "1"-Bit nach der wertniedrigsten Bitposition der jeweils anderen Information anfügt, so daß die Informationen eine gleiche Anzahl Bits wie die Anzahl Operationsbits aufweisen, wenn die Teilungsbreite kleiner als die Anzahl Operationsbits ist.
23. Einrichtung nach Anspruch 20,
dadurch gekennzeichnet, daß die Operationseinheit (5) ein "0"- oder ein "1"-Bit an die wertniedrigste Bitposition der Operanden- und der Betriebsinformation in Abhängigkeit von der Operationsart anfügt, wenn die Teilungsbreite kleiner als eine Anzahl Operationsbits ist.
24. Einrichtung nach Anspruch 20,
dadurch gekennzeichnet, daß das fünfte und das siebte Register ein gemeinsames Register zur Implementierung der Teilung und Mischung von Information gleicher Bitzahl sind.
DE3535518A 1984-10-05 1985-10-04 Bildprozessorsystem und Verfahren zur Verarbeitung von Daten in einem Bildspeicher Expired - Lifetime DE3535518C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP59208257A JP2914966B2 (ja) 1984-10-05 1984-10-05 画像処理方法および装置
JP59208267A JPS6186838A (ja) 1984-10-05 1984-10-05 ビツト演算処理装置

Publications (2)

Publication Number Publication Date
DE3535518A1 true DE3535518A1 (de) 1986-04-10
DE3535518C2 DE3535518C2 (de) 1994-12-15

Family

ID=26516728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3535518A Expired - Lifetime DE3535518C2 (de) 1984-10-05 1985-10-04 Bildprozessorsystem und Verfahren zur Verarbeitung von Daten in einem Bildspeicher

Country Status (3)

Country Link
US (2) US5034900A (de)
KR (1) KR900005227B1 (de)
DE (1) DE3535518C2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552730B1 (en) * 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
JPS62169205A (ja) * 1986-01-22 1987-07-25 Hitachi Ltd プログラマブルコントロ−ラ
EP0382246A3 (de) * 1989-02-09 1991-09-11 Nec Corporation Bitadressierungsanordnung
CA2045705A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites In-register data manipulation in reduced instruction set processor
JP3038868B2 (ja) * 1990-10-08 2000-05-08 ソニー株式会社 画像データのブロック転送装置
US5515180A (en) * 1992-11-24 1996-05-07 Sharp Kabushiki Kaisha Image processing device
US5651121A (en) * 1992-12-18 1997-07-22 Xerox Corporation Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2054830B2 (de) * 1969-11-28 1976-04-08 Burroughs Corp., Detroit, Mich. (V.St.A.) Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge
US4130868A (en) * 1977-04-12 1978-12-19 International Business Machines Corporation Independently controllable multiple address registers for a data processor
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3634882A (en) * 1964-12-14 1972-01-11 Bell Telephone Labor Inc Machine-processing of symbolic data constituents
US4175284A (en) * 1971-09-08 1979-11-20 Texas Instruments Incorporated Multi-mode process control computer with bit processing
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
FR2253415A5 (de) * 1973-12-04 1975-06-27 Cii
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4058711A (en) * 1976-04-16 1977-11-15 Cincinnati Milacron Inc. Asynchronous dual function multiprocessor machine control
US4103329A (en) * 1976-12-28 1978-07-25 International Business Machines Corporation Data processing system with improved bit field handling
US4135242A (en) * 1977-11-07 1979-01-16 Ncr Corporation Method and processor having bit-addressable scratch pad memory
US4251864A (en) * 1979-01-02 1981-02-17 Honeywell Information Systems Inc. Apparatus and method in a data processing system for manipulation of signal groups having boundaries not coinciding with boundaries of signal group storage space
JPS5652454A (en) * 1979-10-05 1981-05-11 Hitachi Ltd Input/output control method of variable word length memory
US4358826A (en) * 1980-06-30 1982-11-09 International Business Machines Corporation Apparatus for enabling byte or word addressing of storage organized on a word basis
US4454593A (en) * 1981-05-19 1984-06-12 Bell Telephone Laboratories, Incorporated Pictorial information processing technique
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
JPS59136831A (ja) * 1983-01-26 1984-08-06 Nec Corp デ−タ転送制御装置
US4692859A (en) * 1983-05-16 1987-09-08 Rca Corporation Multiple byte serial data transfer protocol
US4644503A (en) * 1983-12-30 1987-02-17 International Business Machines Corporation Computer memory system with integrated parallel shift circuits
US4648049A (en) * 1984-05-07 1987-03-03 Advanced Micro Devices, Inc. Rapid graphics bit mapping circuit and method
US4648046A (en) * 1984-10-24 1987-03-03 International Business Machines Corporation Editing and reflecting color display attributes of non-active profiles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2054830B2 (de) * 1969-11-28 1976-04-08 Burroughs Corp., Detroit, Mich. (V.St.A.) Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former
US4130868A (en) * 1977-04-12 1978-12-19 International Business Machines Corporation Independently controllable multiple address registers for a data processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift IBM Technical Disclosure Bulletin, Vol. 26, No. 10A März 1984, S. 4912-4914 *

Also Published As

Publication number Publication date
USRE34635E (en) 1994-06-07
KR900005227B1 (ko) 1990-07-21
US5034900A (en) 1991-07-23
DE3535518C2 (de) 1994-12-15
KR860003550A (ko) 1986-05-26

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE19581873C2 (de) Prozessor zum Ausführen von Schiebeoperationen an gepackten Daten
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE3732808A1 (de) Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm
DE2718110A1 (de) Datenverarbeitungseinheit
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE2712224A1 (de) Datenverarbeitungsanlage
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE2746505A1 (de) Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE3507584C2 (de)
DE2625113C2 (de) Speicherschutzeinrichtung
DE2940653A1 (de) Programmierbare logische anordnung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE3535518A1 (de) Bitoperations-verarbeitungsverfahren
DE1271433B (de) Adressiereinrichtung fuer einen Tabellenwertspeicher
DE3121046C2 (de)
DE2506671A1 (de) Binaerdaten-handhabungsnetzwerk
DE2245284A1 (de) Datenverarbeitungsanlage
DE2233193A1 (de) Stapel-speichersystem
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE2723706A1 (de) Einrichtung zum adressenvergleich

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition