DE3437528C2 - Datenversetzungssystem - Google Patents

Datenversetzungssystem

Info

Publication number
DE3437528C2
DE3437528C2 DE3437528A DE3437528A DE3437528C2 DE 3437528 C2 DE3437528 C2 DE 3437528C2 DE 3437528 A DE3437528 A DE 3437528A DE 3437528 A DE3437528 A DE 3437528A DE 3437528 C2 DE3437528 C2 DE 3437528C2
Authority
DE
Germany
Prior art keywords
data
register
address
unit
stored
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
DE3437528A
Other languages
English (en)
Other versions
DE3437528A1 (de
Inventor
Takashi Minakawa
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.)
Canon Inc
Original Assignee
Canon Inc
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 JP58189182A external-priority patent/JPS6081658A/ja
Priority claimed from JP18918383A external-priority patent/JPS6081659A/ja
Priority claimed from JP18918483A external-priority patent/JPS6081660A/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE3437528A1 publication Critical patent/DE3437528A1/de
Application granted granted Critical
Publication of DE3437528C2 publication Critical patent/DE3437528C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Die Erfindung bezieht sich auf ein Datenversetzungssystem zum Versetzen von Daten aus einem ersten Bereich einer Speicher­ einheit in einen zweiten Bereich der Speichereinheit.
Die US 4,107,773 zeigt einen Hilfsprozessor oder Coprozessor für einen Computer, der aufgrund seiner Architektur für den Einsatz als Entlastung der Zentraleinheit bei rechenintensiven Aufgabe vorgesehen ist. Dabei sind zumindest zwei voneinander unanhängig betreibbare Speicherabschnitte vorgesehen, wobei der eine zur Durchführung der arithmetischen Funktionen und der andere für den Datentransfer zu der Zentraleinheit dient.
Die US 3,887,799 zeigt ein Schieberegister, mit dem ein ein­ gegebenes Datenwort entsprechend einem in einem Schieberegi­ ster festgelegten Wert wahlweise nach rechts oder links ver­ schoben werden kann.
Dem US-Buch "Microprocessors/Microcomputers, Architecture, Software, and Systems", Adi J. Khambata, St. Paul Technical- Vocational Institute, John Wiley & Sons-Verlag, Seiten 84-88, lassen sich diverse Steuerungsbefehle einer Assemblersprache für Mikroprozessoren entnehmen, wobei unter anderem auch ein Befehl zum Austausch der Dateninhalte zweier Speicherstellen erwähnt ist.
Die DE 28 13 080 A1 zeigt eine Einrichtung zur Speicheradres­ sierung in Digitalrechnern, wobei zwei Adreßregister, deren Inhalte unabhängig voneinander inkrementierbar und dekremen­ tierbar sind, und ein Speichersteuerregister vorgesehen sind. Dabei werden die Funktionen durch Signale gesteuert, die auf­ grund eines Steuerwortes in der Speichersteuereinheit erzeugt werden. Aus dieser Druckschrift ist die Verschiebung von be­ nachbarten Speicherworten aus einem Eingangspuffer zu einem Ausgangspuffer sowie die Durchführung logischer Operationen bekannt.
Die US-Firmenschrift der Advanced Micro Devices Inc. "The Am2900 Family Data Book With Related Support Circuits", 1978, Seiten 2-3 bis 2-9 und 2-30 bis 2-36, zeigen den Am2901A als einen Mikroprozessor, der in zwei gleichzeitig ansprechbaren Arbeitsregistern abgelegte Daten verschieben und logisch ver­ knüpfen kann. Der ebenfalls genannte Am2903 weist zusätzlich zu den Möglichkeiten des Am2901A noch die Möglichkeit zur Multiplikation, Division, Normierung, Parity-Erzeugung und Vorzeichenanpassung auf.
Bislang wurde in einem Informationsverarbeitungsgerät oder dergleichen dann, wenn gemäß Fig. 1 beispielsweise im Spei­ cherraum einer Speichereinheit 1 Daten aus einem durch eine Adresse SAD bestimmten ersten Rechteckbereich 2 in einen durch ei­ ne Adresse DAD bestimmten zweiten Rechteckbereich 3 versetzt wer­ den sollten, die nachfolgend beschriebene Übertragungs­ steuerung ausgeführt:
Die Fig. 2, die ein Blockschaltbild eines Informationsver­ arbeitungsgeräts mit Datenversetzungsfunktion ist, zeigt eine Speichereinheit 1, eine Versetzungssteuereinheit 10 für die Adressensteuerung der Speichereinheit während ei­ ner Datenversetzung und für das Auslesen und Einschreiben von Daten, einen Datensteuerteil 11 für die Datensteuerung in der Versetzungssteuereinheit und einen Adressensteuer­ teil 12 zur Adressensteuerung in der Versetzungssteuer­ einheit. Mit 13 ist eine Zentraleinheit bezeichnet, wäh­ rend mit 14 eine Eingabe/Ausgabe-Einheit bezeichnet ist.
Die Einzelheiten des Datensteuerteils 11 sind in Fig. 3 der Zeichnung gezeigt.
Die Fig. 3 zeigt ein erstes Register als Ursprungsdaten- bzw. S-Register 20 für das Einspeichern von aus dem Rechteckbereich 2 ausgelesenen Daten, eine Schiebeeinheit 25 zum Verschieben des Inhalts des S-Registers 20 entsprechend einem Wert aus einem Schiebezahl- oder Verschiebungs- bzw. SH-Register 26, wobei das SH-Register 26 zum Speichern einer Anzahl von Verschiebungen in der Schiebeeinheit 25 für das Ausrichten des Werts aus dem S-Register 20 auf die Bitstellung in dem empfangenden bzw. Ziel- Rechteckbereich dient, ein Funktionsregister 27, in dem Befehle für logische Operationen (logische Produkte, logische Summen, logische Antivalenz-Verknüpfungen und dergleichen) in einer Funktionseinheit 30 gespeichert werden, ein Maskierungs- bzw. Maskenregister 28, ein zweites Register als Zieldaten- bzw. D-Register für das Einspeichern von aus dem zweiten Rechteckbereich 3 ausgelesenen Daten, wobei die Funktionseinheit 30 für die logische Verarbeitung von Werten aus dem S-Register 20 und dem D-Register 29 entsprechend einem durch das Funktionsregister 27 eingegebenen Befehl dient, und einen Wähler bzw. Maskierungseinrichtung 31 für das Maskieren von Ausgangs­ daten der Funktionseinheit 30 und Ausgangsdaten des D-Re­ gisters 29 gemäß einer Maskierinformation aus dem Masken­ register 28, für das Ausgeben der Daten und für das Ein­ schreiben von Daten in den Rechteckbereich 3. Dies dient dazu, durch eine Maskierung irgendein unnötiges Bit der in Byteeinheiten (oder Worteinheiten) aus der Speichereinheit 1 ausgelesenen Daten auszuscheiden, um die Datenversetzung in Biteinheiten auszuführen und die Daten vor dem Wieder­ einschreiben zu wirksamen Daten zu machen.
Ein ausführliches Blockschaltbild des Adressensteuerteils 12 ist in Fig. 4 der Zeichnung gezeigt.
Die Fig. 4 zeigt einen Ursprungsadressen- bzw. S-Wähler 40, ein Ursprungsadressen- bzw. S-Adressen-Register 41 zur An­ gabe der Auslese-Anfangsadresse für eine jeweilige Zeile des Rechteckbereichs 2, eine erste Adressiereinrichtung bzw. einen Anfangsadressen- bzw. S-Ad­ ressen-Zähler 42 zur Angabe der Speicherzugriffadresse des Rechteckbereichs 2 der Speichereinheit 1 aufgrund des Werts des S-Adressenregisters 41, einen S-Addierer 43, ein X-Re­ gister 44 zur Angabe einer Querlänge bzw. Breite X des Rechteckbereichs, einen X-Zähler 45 zum Ermitteln der Be­ endigung der Versetzung der der Breite X entsprechenden Daten, ein Y-Register 46 zur Angabe einer vertikalen Länge bzw. Höhe Y des Rechteckbereichs, einen Y-Zähler 47 zum Er­ mitteln der Beendigung der Versetzung der der Höhe Y ent­ sprechenden Daten, nämlich aller Daten, eine Zeitsteuer­ schaltung 48 für die Zeitsteuerung des Auslesens aus der Speichereinheit 1, ein SP-Register 49 und ein DP-Register 54, die jeweils die Länge einer Zeile der Speichereinheit 1 angeben, einen Zieladressen- bzw. D-Wähler 50, ein Zielad­ ressen- bzw. D-Adressen-Register 51 zur Angabe der Anfangs­ adresse für das Auslesen aus einer jeweiligen Zeile des Rechteckbereichs 3, einen D-Adressen-Zähler 52 zur Angabe der Speicherzugriffadresse im Rechteckbereich 3 und einen D-Addierer 53.
Wenn bei diesem Aufbau der Rechteckbereich 2 mit X Bits in Horizontalrichtung und Y Bits in Vertikalrichtung beginnend mit der Ursprungsanfangsadresse SAD in dem in Fig. 1 gezeig­ ten Speicherraum zu dem mit der Zielanfangsadresse DAD be­ ginnenden Rechteckbereich 3 mit X Bits in Horizontalrich­ tung und Y Bits in Vertikalrichtung verschoben bzw. ver­ setzt werden soll, wird von der Zentraleinheit 13 über den S-Wähler 40 in dem S-Adressenregister 41 "SAD" eingestellt, in dem X-Register 44 die Breite X als Bitanzahl eingestellt, in dem Y-Register 46 die Höhe Y als Bitanzahl eingestellt, über den D-Wähler 50 in das D-Adres­ senregister 41 die Adresse "DAD" eingespeichert sowie in das SP-Register 49 und das DP-Register 54 eine einer Zeile der Speichereinheit 1 entsprechende Länge P eingespeichert. Wenn eine Datenverschiebung erforderlich ist, wird in das SH-Register 26 eine Verschiebungsanzahl eingespeichert. Danach wird die Datenversetzung befohlen.
Dadurch stellt die Versetzungssteuereinheit 10 in dem S- Adressenzähler 42 den Wert aus dem S-Adressenregister 41, in dem X-Zähler 45 den Wert aus dem X-Register 44, in dem Y-Zähler 47 den Wert aus dem Y-Register 46 und in dem D- Adressenzähler 52 den Wert aus dem D-Adressenregister 51 ein.
Dann werden zuerst die durch die von dem S-Adressenzähler 42 angegebene Adresse bestimmten, nachfolgend als S-Daten bezeichneten Daten aus dem Rechteckbereich 2 ausgelesen und in das S-Register 20 eingespeichert. Ferner wird der nach­ stehend als D-Daten bezeichnete Inhalt der durch den D-Ad­ ressenzähler 52 bestimmten Adresse in dem Rechteckbereich 3 in das D-Register 29 eingespeichert.
In dem Datensteuerteil 11 werden die im S-Register 20 ge­ speicherten S-Daten nötigenfalls mittels der Schiebeeinheit 25 in einem durch das SH-Register 26 bestimmten Ausmaß ver­ schoben. Dieser verschobene Wert sowie die im D-Register ge­ speicherten D-Daten werden in der Funktionseinheit entspre­ chend der Bestimmung durch das Funktionsregister 27 logisch verarbeitet. Diese logisch verarbeiteten, als SD-Daten be­ zeichneten Daten sowie die D-Daten werden durch das Masken­ register 28 angewählt und von dem Wähler 31 als in den Rechteckbereich 3 einzuschreibende Daten ausgegeben, die dann an der durch den D-Adressenzähler 52 bestimmten Adres­ se eingeschrieben werden. Die Maskierung durch das Masken­ register 28 und die Verschiebung durch die Schiebeeinheit 25 dienen dazu, einen Teil der ausgelesenen D-Daten direkt nutzbar bzw. gültig zu machen, wenn die erste und/oder letzte Bitstelle einer jeweiligen Zeile im Rechteckbereich 3 nicht mit der Byte- oder Wortgrenze der Anfangsbitstelle der aus dem Rechteckbereich 2 übertragenen Daten überein­ stimmt. Das Konzept in diesem Fall ist in Fig. 5 der Zeich­ nung veranschaulicht. Gemäß dieser Darstellung wird eine Differenz zwischen den S-Daten und den D-Daten hinsicht­ lich der Bitstelle verändert.
Auf diese Weise wird der Inhalt der von dem S-Adressenzäh­ ler 42 angegebenen Adresse logisch für die von dem D-Adres­ senzähler 52 angegebene Adresse verarbeitet, die Bitaus­ richtung herbeigeführt und die Übertragung bzw. Versetzung vorgenommen. Daher wird dann durch die Zeitsteuerschaltung 48 der S-Adressenzähler 42 erhöht und auch der X-Zähler um eine vorbestimmte Zahl erniedrigt. Zugleich wird durch die Zeitsteuerschaltung 48 der D-Adressenzähler 52 erhöht. Danach wird die Übertragung der Inhalte an den durch den S-Adressenzähler 42 und den D-Adressenzähler 52 ange­ zeigten Adressen ausgeführt.
Wenn die Übertragung der aufeinanderfolgenden Daten ausge­ führt wird und die Übertragung einer Querzeile beendet ist, wird der Inhalt des X-Zählers 45 zu "0" Bei dem Stand "X- Zähler = 0" wird in das S-Adressenregister 41 über den S- Wähler 40 ein Wert eingespeichert, der durch das Addieren des Werts aus dem SP-Register 49 mit dem Wert aus dem S- Adressenregister 41 mittels des S-Addierers 43 erzielt wird, und es wird der Y-Zähler 47 um "1" erniedrigt. Hierdurch wird in dem S-Adressenregister 41 die Anfangsadresse der nächsten Zeile des Rechteckbereichs 2 eingestellt. Danach wird dieser Wert im S-Adressenregister 41 in dem S-Adressenzähler 42 eingestellt und im X-Zähler 45 wieder der Wert aus dem X- Register 44 eingestellt. Auf gleichartige Weise werden die Werte aus dem D-Adressenregister 51 und dem DP-Register 54 mittels des D-Addierers 53 addiert, wonach deren Summe über den D-Wähler 50 in das D-Adressenregister 51 eingespeichert wird und dieser Wert im D-Adressenregister 51 in dem D- Adressenzähler 52 eingestellt wird.
Auf diese Weise wird die Versetzung bzw. Übertragung der Daten aus der nächsten Zeile begonnen.
Der vorstehend beschriebene Prozeß wird wiederholt, wo­ nach schließlich die Versetzung des Rechteckbereichs been­ det ist, wenn der Inhalt des Y-Zählers 47 zu "0" geworden ist.
Mithin wird von einem Datenversetzungssystem zum Versetzen von Daten aus einem ersten Bereich einer Speichereinheit in einen zweiten Bereich der Speichereinheit gemäß dem Oberbe­ griff des Patentanspruchs 1 ausgegangen. Derartige Datenver­ setzungssysteme finden beispielsweise bei der Versetzung von Daten innerhalb eines Bildspeichers Anwendung. Dabei sollen die Daten eines Bereichs in einen zweiten Bereich transfe­ riert werden, wobei gleichzeitig bzw. während der Versetzung wahlweise eine Bearbeitung der Daten stattfinden soll.
Bei einem derartigen Datenversetzungssystem werden zum Daten­ austausch mittels einer ersten Adressiereinrichtung bestimmte Daten aus dem ersten Bereich der Speichereinheit ausgelesen und in einem ersten Register gespeichert und mittels einer zweiten Adressiereinrichtung bestimmte Daten aus dem zweiten Bereich der Speichereinheit ausgelesen und in einem zweiten Register gespeichert. Somit liegen die Inhalte einer Speicherzelle beider Bereiche zur Bearbeitung vor.
Da die Versetzung nicht unbedingt byteweise erfolgt, dieses aber bei den Adressierungsvorgängen zumeist erforderlich ist, können die Inhalte der angesprochenen Speicherstellen bit­ weise verschoben werden. So können die in dem ersten Register gespeicherten Daten mittels einer Schiebeeinheit um ein in einem Schiebezahlregister gespeichertes Ausmaß verschoben werden.
Für den Fall, daß vor der Abspeicherung der Daten in dem zweiten Bereich eine Bearbeitung der Daten durch logische Verarbeitung oder Maskierung erfolgen soll, können die derart verschobenen Daten sowie die in dem zweiten Register gespei­ cherten Daten auf eine mittels eines Funktionsregisters be­ stimmten Art durch eine Funktionseinheit logisch verarbeitet werden, wobei diese derart logisch verarbeiteten Daten sowie die in dem zweiten Register gespeicherten Daten von einer Maskierungseinrichtung einer durch den Inhalt eines Maskie­ rungsregisters bestimmten Maskierung unterzogen werden und erst dann in dem mittels der zweiten Adressiereinrichtung be­ stimmten zweiten Bereich der Speichereinheit gespeichert wer­ den.
Somit liegen die Daten aus dem ersten Bereich in der ge­ wünschten Form verschoben, logisch bearbeitet bzw. verknüpft und maskiert in dem zweiten Bereich vor, wobei dazu selbst­ verständlich auch die vormals dort abgelegten Daten aus dem zweiten Bereich herangezogen werden können.
Bei derartigen Datenversetzungssystemen ergibt sich die An­ forderung, die Dateninhalte des ersten Bereichs auf einen vorab festgelegten Wert zu bringen. Dieses wird zumeist durch eine erneute Adressierung von nach und nach sämtlichen Spei­ cherstellen des ersten Bereichs der Speichereinheit und Be­ schreiben der so adressierten Speicherstellen durchgeführt, woraus eine zeitaufwendige Doppeladressierung des ersten Be­ reichs resultiert.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Datenver­ setzungssystem gemäß dem Oberbegriff des Patentanspruchs 1 derart weiterzubilden, daß bei der Versetzung der Daten von dem ersten in den zweiten Bereich der Speichereinheit auf ef­ fektive Weise ein Umschreiben des ersten Bereichs mit belie­ bigen Daten ermöglicht ist.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Pa­ tentanspruchs 1 angegebenen Maßnahmen gelöst.
Genauer wird dies dadurch erreicht, daß der mittels der er­ sten Adressiereinrichtung bestimmte erste Bereich der Spei­ chereinheit mit in einem dritten Register gespeicherten Daten beschrieben wird.
Dieses wird jeweils vor einer Änderung der in der ersten Adressiereinrichtung abgelegten Adresse durchgeführt, so daß kein doppelter Adressierungsdurchlauf über den gesamten er­ sten Bereich der Speichereinheit erforderlich ist.
Das Auslesen der Daten in dem dritten Register statt der in dem ersten Register gespeicherten Daten aus dem ersten Be­ reich bzw. der bereits mittels der Schiebeeinheit verscho­ benen Daten aus dem ersten Register erfolgt dabei ohne größe­ ren schaltungstechnischen oder programmtechnischen Aufwand, da durch Vorsehen einer Umschalteinrichtung, die mittels An­ legen eines Steuerungssignals betätigt wird, zwischen diesen Daten umgeschaltet werden kann.
Die Daten aus dem dritten Register werden dann der Maskie­ rungseinrichtung zur anschließenden Speicherung in dem mit­ tels der ersten Adressiereinrichtung bestimmten ersten Be­ reich der Speichereinheit zugeführt.
Zur Verhinderung der möglicherweise für die aus dem ersten Register gelesenen Daten aus dem ersten Bereich beabsichtig­ ten, aber für die Daten aus dem dritten Register zu vermei­ denden logischen Verarbeitung, wird die logische Verarbeitung dabei durch Anlegen des Steuerungssignals, das ja auch die Umschalteinrichtung steuert, an eine zusätzlich vorgesehene Funktionswahleinrichtung verhindert, so daß die Daten aus dem dritten Register der Maskierungseinrichtung tatsächlich un­ verändert zugeführt werden können.
Die Erfindung wird nachstehend anhand von Ausführungsbeispie­ len unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigen:
Fig. 1 schematisch einen Bereich zur Datenversetzung in einer Speichereinheit,
Fig. 2 ein Blockschaltbild einer Informationsverarbei­ tungseinrichtung, die eine Datenversetzung ermög­ licht,
Fig. 3 ein Blockschaltbild eines Datenversetzungssystems bzw. Datensteuerteils ei­ ner Datenversetzungs-Steuereinheit nach dem Stand der Technik,
Fig. 4 ein Blockschaltbild eines Adressensteuerteils in der Datenversetzungs-Steuereinheit,
Fig. 5 ein Beispiel für eine Änderung einer Diffe­ renz zwischen Bitstellen bei der Datenversetzung,
Fig. 6 schematisch einen Fall, bei dem sich Daten­ versetzungsbereiche überlappen,
Fig. 7 ein Blockschaltbild eines Datensteuerteils ei­ ner Versetzungssteuereinheit bei einem ersten Aus­ führungsbeispiel eines Datenver­ setzungssystems,
Fig. 8, die aus Fig. 8A und 8B zusammengesetzt ist, ein Ablaufdiagramm der Datenversetzungssteuerung bei dem System gemäß dem ersten Ausführungsbeispiel,
Fig. 9 ein Blockschaltbild eines Datensteuerteils ei­ ner Versetzungssteuereinheit bei einem zweiten Aus­ führungsbeispiel eines Datenver­ setzungssystems,
Fig. 10, die aus Fig. 10A und 10B zusammengesetzt ist, ein Blockschaltbild eines Adressensteuerteils der Versetzungssteuereinheit bei dem zweiten Ausfüh­ rungsbeispiel,
Fig. 11A und 11B jeweils einen Datenauslesezustand bei dem System gemäß dem zweiten Ausführungsbeispiel,
Fig. 12, die aus Fig. 12A und 12B zusammengesetzt ist, ein Ablaufdiagramm der Datenversetzungssteuerung bei dem zweiten Ausführungsbeispiel des Systems, wobei die Datenversetzung von einer rechts unten gelegenen Stelle eines Rechteckbereichs an begonnen wird,
Fig. 13 ein Blockschaltbild eines Datensteuerteils ei­ ner Versetzungssteuereinheit bei einem dritten Aus­ führungsbeispiel eines Datenver­ setzungssystems,
Fig. 14 Einzelheiten einer Erweiterungseinheit und einer Verdichtungseinheit des Datensteuerteils bei dem dritten Ausführungsbeispiel,
Fig. 15A, 15B und 15C Beispiele für Datenverarbei­ tungen während der Datenversetzung,
Fig. 16A, die aus Fig. 16A-1 und 16A-2 zusammengesetzt ist, und Fig. 16B Ablaufdiagramme, die einen Prozeß zur Datenerweiterung während der Datenversetzung veranschaulichen, und
Fig. 17, die aus Fig. 17A und 17B zusammengesetzt ist, ein Ablaufdiagramm, das einen Prozeß zur Datenver­ dichtung während der Datenversetzung veranschau­ licht.
Fig. 7 zeigt Einzelheiten eines in Fig. 2 gezeigten Daten­ steuerteils 11 einer Versetzungssteuereinheit 10 bei einem ersten Ausführungsbeispiel eines Datenver­ setzungssystems. In der Fig. 7 sind Teile, die denjenigen gemäß Fig. 3 gleichartig sind, mit den gleichen Bezugszei­ chen bezeichnet.
Bei diesem ersten Ausführungsbeispiel ist zusätzlich zu den in Fig. 3 gezeigten Registern ein mit 21 bezeichnetes drittes oder C- Register vorgesehen, in dem beliebige Daten eingestellt werden. Zwischen die Schiebeeinheit 25 und die Funktionseinheit 30 ist zusätzlich eine Umschalteinrichtung bzw. ein Umschalter 22 eingefügt, der ein Wähler für das Umschalten zwischen den Ausgangsdaten der Schiebeeinheit 25 und den Ausgangsdaten des C-Registers 21 gemäß einem Steuer- bzw. Wählsignal SEL bzw. 32 und für die Ausgabe dieser Daten ist. Zwischen das Funktionsregister 27 und die Funktionseinheit 30 ist zusätzlich eine Funktionswähleinrichtung bzw. ein Funktionswähler 23 eingefügt, der durch das Wählsignal SEL gesteuert wird und entsprechend diesem selektiv aus dem Funktionsregister 27 für die Funktionseinheit 30 einen Befehl zur Angabe der lo­ gischen Operation oder einen Befehl zum Sperren der logi­ schen Operation abgibt.
Bei diesem Ausführungsbeispiel erfolgt eine Steuerung in der Weise, daß der Inhalt einer Adresse "S-Adressenzähler" eines ersten Rechteckbereichs 2 ausgelesen, durch logische Ver­ schiebung bearbeitet, danach einer Maskierung unterzogen und in eine Adresse "D-Adressenzähler" eines zweiten Rechteckbe­ reichs 3 eingespeichert wird, wonach das Wählsignal SEL abgeschaltet und der Inhalt des C-Registers 21 allein un­ ter Maskierung in die Adresse "S-Adressenzähler" einge­ speichert wird, wodurch in den Rechteckbereich 2 nach der Datenversetzung die Daten aus dem C-Register 21 eingeschrie­ ben werden.
Der Aufbau eines Adressensteuerteils 12 ist demjenigen ge­ mäß Fig. 4 gleichartig.
Nachstehend wird die Datenversetzung bei diesem ersten Aus­ führungsbeispiel ausführlich anhand des Ablaufdiagramms in Fig. 8 beschrieben.
Zunächst wird bei einem Schritt 101 in jedem Register ein fester Wert eingestellt. Dabei wird in dem S-Adressenregi­ ster 41 über den S-Wähler die Ursprungs-Anfangsadresse SAD eingestellt, in dem D-Adressenregister 51 über den D-Wähler 50 die Ziel-Anfangsadresse DAD eingestellt, in das X-Regi­ ster 44 die Breite X des Rechteckbereichs eingesetzt, in das Y-Register 46 die Höhe Y des Rechteckbereichs einge­ setzt, in dem SH-Register 26 die Anzahl der Verschiebungen in der Schiebeeinheit 25 eingestellt und in dem Funktions­ register 27 der Wählbefehl für die logische Operation in der Funktionseinheit 30 eingestellt. In dem Maskenregister 28 werden die Daten für die Maskierung in dem Wähler 31 ein­ gestellt, in das SP-Register 29 und das DP-Register 54 wird die Zahl eingegeben, die der Querlänge des Speicherraums der Speichereinheit entspricht, und schließlich werden in dem C-Register 21 Daten eingestellt, die nach der Daten­ versetzung in den Rechteckbereich 2 eingeschrieben werden sollen.
Danach wird bei einem Schritt 102 der Wert aus dem Y-Regi­ ster 46 in dem Y-Zähler 47 eingestellt, wonach bei einem Schritt 103 der Wert aus dem S-Adressenregister 41 in dem S-Adressenzähler 42, der Wert aus dem D- Adressenregister 51 in dem D-Adressenzähler 52 und der Wert aus dem X-Register 44 in dem X-Zähler 45 eingestellt wird. Bei einem Schritt 104 wird der Inhalt der Adresse "S-Adressenzähler" des Rechteckbereichs 2 der Spei­ chereinheit 1 ausgelesen und in das S-Register 20 eingege­ ben. Zugleich wird das Wählsignal SEL bzw. 32 eingeschaltet, so daß über den Umschalter 22 an die Funktionseinheit 30 die Daten aus der Schiebeeinheit 25 abgegeben werden.
Danach werden bei einem Schritt 105 die Daten aus dem S- Register 20 in der Schiebeeinheit 25 um den in dem SH-Re­ gister 26 festgelegten Wert verschoben. Diese von der Schiebeeinheit 25 abgegebenen verschobenen Daten werden in den Umschalter 22 eingegeben, der selektiv die Daten aus der Schiebeeinheit 25 abgibt, da das Wählsignal SEL bzw. 32 eingeschaltet ist. Das Wählsignal SEL bzw. 32 wird auch in den Funktionswähler 23 eingegeben, so daß in die Funktions­ einheit 30 der Befehl zur logischen Operation aus dem Funk­ tionsregister 27 eingegeben wird. Darauffolgend wird bei einem Schritt 106 der Inhalt der Adresse "D-Adressenzähler" des Rechteckbereichs 3 der Speichereinheit 1 in das D-Regi­ ster 29 eingelesen. Bei einem Schritt 107 werden die über den Umschalter 22 an die Funktionseinheit 30 abgegebenen Daten aus der Schiebeeinheit 25 und die Auslesedaten aus dem D-Register 29 in der Funktionseinheit 30 entsprechend der über den Funktionswähler 23 aus dem Funktionsregister 27 zugeführten Anweisung logisch verarbeitet. Das Ergebnis dieser Verarbeitung und der Wert aus dem D-Register 29 wer­ den in den Wähler 31 eingegeben. Zugleich werden auch dem Wähler 31 die in dem Maskenregister 28 eingestellte Maskie­ rungsdaten zugeführt, gemäß denen bei einem Schritt 108 die in den Wähler 31 eingegebenen Daten einer Maskierung unter­ zogen werden, wonach die maskierten Daten an eine Datensam­ melleitung 16 abgegeben werden. Diese maskierten Daten ha­ ben die Form der zu dem Rechteckbereich 3 zu übertragenden Daten und werden bei einem Schritt 109 an der Adresse ein­ geschrieben, die durch den D-Adressenzähler 52 angegeben ist. Bei einem Schritt 110 wird das Wählsignal SEL bzw. 32 abgeschaltet.
Auf diese Weise wird mit dem Umschalter 22 der Wert aus dem C-Register 21 angewählt und ausgegeben, während von dem Funktionswähler 23 aus dem Funktionsregister 27 der Befehl für das Sperren der logischen Verarbeitung gewählt und aus­ gegeben wird. Infolgedessen wird bei einem Schritt 111 über den Umschalter 22 der Wert aus dem C-Register 21 in die Funktionseinheit 30 eingegeben und ohne logische Verarbei­ tung in der Funktionseinheit 30 unverändert abgegeben, so daß der Wert aus dem C-Register 21 unverändert in den Wäh­ ler 31 eingegeben wird.
Bei einem Schritt 112 werden wie bei dem Schritt 108 die Eingabedaten der Maskierung entsprechend den Maskierungs­ daten aus dem Maskenregister 28 unterzogen und an die Daten­ sammelleitung 16 abgegeben. Bei einem Schritt 113 werden diese Daten in die Adresse eingeschrieben, die durch den S-Adressenzähler 42 angegeben ist. Bei einem Schritt 114 wird der Inhalt des X-Zählers 45 um eine Bitanzahl n für das Ende der Versetzung erniedrigt.
Wenn der vorstehend beschriebene Vorgang abgeschlossen ist, ist die Übertragung von n Bits der Daten in den Rechteck­ bereich 3 abgeschlossen, während in den Rechteckbereich 2 der Wert aus dem C-Register eingeschrieben ist. Bei einem Schritt 115 wird ermittelt, ob der Inhalt des X-Zählers 45 zu "0" geworden ist, woraus ermittelt wird, ob die Verset­ zung einer Datenzeile beendet ist. Falls der Inhalt des X- Zählers 45 "0" ist, schreitet das Programm zu einem nach­ folgend beschriebenen Schritt 118 weiter. Falls der Inhalt des X-Zählers 45 von "0" verschieden ist, wird bei einem Schritt 116 der S-Adressenzähler 42 um "1" erhöht und darauffolgend bei einem Schritt 117 der D-Adressenzähler 52 um "1" erhöht, wonach das Programm zu dem Schritt 104 zurückkehrt.
Wenn bei dem Schritt 115 der Inhalt des X-Zählers 45 als "0" ermittelt wird und daher die Versetzung der der Breite X entsprechenden Daten beendet ist, schreitet das Programm zu dem Schritt 118 weiter, bei dem der Y-Zähler 47 um "1" erniedrigt wird. Bei einem Schritt 119 wird ermittelt, ob der Inhalt des Y-Zählers 47 "0" ist. Wenn der Inhalt des Y-Zählers 47 "0" ist, ist die Versetzung aller Daten abge­ schlossen, so daß der Datenversetzungsprozeß endet.
Wenn die Datenversetzung noch nicht abgeschlossen ist, ent­ hält der Y-Zähler 47 einen positiven Wert, so daß das Pro­ gramm zu einem Schritt 120 fortschreitet, bei dem in dem D-Addierer 53 die Werte aus dem D-Adressenregister 51 und dem DP-Register 54 addiert werden und wieder in dem D-Ad­ ressenregister 51 eingestellt werden. Dadurch wird in dem D-Adressenregister 51 die Anfangsadresse für die nächste Zeile in dem Rechteckbereich 3 eingestellt. Danach schrei­ tet das Programm zu einem Schritt 121 weiter, bei dem gleich­ artig wie bei dem Schritt 120 in dem S-Addierer 43 die Werte aus dem SP-Register 49 und dem S-Adressenregister 41 addiert werden und als Anfangsadresse für den Rechteckbereich 2 in das S-Adressenregister 41 eingegeben werden. Danach kehrt das Programm zu dem Schritt 103 zurück, so daß die Datenversetzung fortgesetzt wird.
Gemäß der vorstehenden Beschreibung können bei diesem Aus­ führungsbeispiel durch das Einstellen beliebiger Daten in dem C-Register 21 die Daten aus diesem Register in den Ur­ sprungs-Speicherbereich für die Versetzung eingespeichert werden, während zugleich die Datenversetzung herbeigeführt werden kann, so daß daher die Datenversetzung und das Löschen des ursprünglichen Speicherbereichs der übertragenen Daten, beispielsweise bei dem Einsatz des Systems gemäß diesem Ausführungsbeispiel für einen Anzeigespeicher eines Sichtgeräts, allein durch das Einsetzen eines Leercodes in das C-Register 21 oder-bei der Anwendung dieses Ausführungsbei­ spiels an einem Speicher zum Speichern numerischer Daten, allein durch das Einsetzen eines "0"-Codes bewerkstelligt werden kann.
Ferner kann durch die Ausbildung des C-Registers 21 als Pufferspeicher für die Speicherung einer Vielzahl von Da­ ten ein bestimmtes Muster für den ganzen Rechteckbereich 2 gewählt und eingespeichert werden.
Gemäß der vorstehenden Beschreibung ergibt sich ein Datenversetzungssystem, bei dem in einem bestimmten Be­ reich einer Speichereinrichtung gespeicherte Informationen in einen anderen Speicherbereich übertragen werden und ein bestimmter Bereich der Übertragungsquelle mit beliebigen Informationen umgeschrieben wird, wobei die Verarbeitung hierfür die in zwei Schritte aufgeteilte und gesondert aus­ geführte Verarbeitung durch eine einzige Bearbeitung und darüberhinaus unter Anwendung einer gemeinsamen Adresse ausgeführt werden kann, was die Möglichkeit ergibt, die Prozeßzeit zu verkürzen und die Steuerung zu vereinfachen.
Anhand der Zeichnung wird nun ein zweites Ausführungsbei­ spiel eines Datenversetzungssystems be­ schrieben.
Die Fig. 9 zeigt Einzelheiten eines Datensteuerteils der in Fig. 2 gezeigten Versetzungssteuereinheit 10 bei einem zweiten Ausführungsbeispiel eines Daten­ versetzungssystems. In der Fig. 9 sind Teile, die denjeni­ gen gemäß Fig. 3 gleichartig sind, mit den gleichen Bezugs­ zeichen bezeichnet. Bei diesem Ausführungsbeispiel ist zwi­ schen das S-Register 20 und die Schiebeeinheit 25, die in Fig. 3 gezeigt sind, eine S-Wechselschaltung 22′ geschal­ tet, die die Ausgabedaten des S-Registers 20 direkt an die Schiebeeinheit 25 abgibt, wenn ein Schaltsignal SW bzw. 33 abgeschaltet ist, und die die Ausgabedaten des S-Registers 20 jeweils in Byte-Einheiten gegenseitig austauscht und ab­ gibt, wenn das Signal SW bzw. 33 eingeschaltet ist. Bei dem System gemäß diesem Ausführungsbeispiel erfolgt die Verar­ beitung in Einheiten von 16 Bits, nämlich zwei Bytes, wäh­ rend in der Speichereinheit 1 die Verarbeitung in Byte- Einheiten erfolgt. Daher werden bei dem Hochzählen des Ad­ ressenzählers die ausgelesenen Daten in das S-Register 20 beispielsweise gemäß der Darstellung in Fig. 11A einge­ speichert, wobei Daten einer Stelle n-1 der Speichereinheit in ein wertniedrigeres Byte eingesetzt werden, während Da­ ten einer Stelle n der Speichereinheit in ein werthöheres Byte eingesetzt werden. Dies dient dazu, gemäß der Dar­ stellung bei 91 in Fig. 11B eine Anordnung zu schaffen, die derjenigen während des Hochzählens gleichartig ist.
Das Blockschaltbild eines in Fig. 2 gezeigten Adressen­ steuerteils 12 bei diesem zweiten Ausführungsbeispiel ist in der Fig. 10 gezeigt. In der Fig. 10 sind Teile, die den­ jenigen gemäß Fig. 4 gleichartig sind, mit den gleichen Be­ zugszeichen bezeichnet.
Gemäß Fig. 10 ist zwischen das SP-Register 49 und den S- Addierer 43 eine S-Komplementierschaltung 57 geschaltet, während zwischen das DP-Register 54 und den D-Addierer 53 eine D-Komplementierschaltung 57′ geschaltet ist. Die S-Komp­ lementierschaltung 57 und die D-Komplementierschaltung 57′ werden durch ein Signal A/S bzw. 55 gesteuert. Wenn das Signal A/S bzw. 55 eingeschaltet ist, führen diese Komple­ mentierschaltungen eine Komplementierumsetzung der Werte aus dem SP-Register 49 und dem DP-Register 54 (-"SP-Regi­ ster" oder -"DP-Register") aus und führen die neuen Werte dem S-Addierer 43 bzw. dem D-Addierer 53 zu. In diesem Fall subtrahieren die Addierer die Werte aus dem SP-Regi­ ster 49 bzw. dem DP-Register 54 von den Werten der entspre­ chenden Adressenregister. Wenn das Signal A/S bzw. 55 ab­ geschaltet ist, führen die Komplementierschaltungen keine Komplementärbildung an den Werten aus dem SP-Register 49 bzw. dem DP-Register 54 aus, sondern geben diese Werte di­ rekt ab. Weiterhin werden abweichend von der Gestaltung ge­ mäß Fig. 4 von der Zeitsteuerschaltung 48 das Schaltsignal SW bzw. 33 und das Addier/Subtrahier-Signal A/S bzw. 55 ab­ gegeben. Die Zeitsteuerschaltung 48 gibt auch an den S-Ad­ ressenzähler 42 und den D-Adressenzähler 52 ein Vorwärts/Rück­ wärts-Signal U/D bzw. 56 ab, welches angibt, ob in den Zählern eine Vorwärtszählung oder eine Rückwärtszählung aus­ zuführen ist.
Bei dem Beispiel für das System nach dem Stand der Technik wurden die Adressen aufeinanderfolgend ausgehend von der Ursprungsanfangsadresse SAD für die linke obere Ecke des Rechteckbereichs 2 addiert und es wurde die erste Zeile in den Rechteckbereich 3 versetzt. Wenn die Versetzung dieser einen Zeile beendet war, wurden zu der Anfangsadresse für die erste Zeile die Werte aus dem SP-Register 49 und dem DP-Register 54 addiert, wodurch die Anfangsadresse für die zweite Zeile ermittelt wurde und die Versetzung der zwei­ ten Zeile herbeigeführt wurde, wonach die Versetzung aufein­ anderfolgend herbeigeführt wurde. Demgegenüber werden bei dem System gemäß diesem zweiten Ausführungsbeispiel von der Zeitsteuerschaltung 48 das Schaltsignal SW bzw. 33 abge­ schaltet, das Signal U/D bzw. 56 auf die Vorwärtszählung geschaltet und das Signal A/S bzw. 55 bei der Vorwärts­ zählung auf "Addieren" geschaltet, so daß die Ausgangssig­ nale der S-Komplementierschaltung 57 und der D-Komplemen­ tierschaltung 57′ derart-gesteuert werden, daß sie gleich den Werten aus dem SP-Register 49 bzw. dem DP-Register 54 sind. Dadurch wird bei diesem Ausführungsbeispiel eine Ver­ arbeitung erzielt, die völlig gleich der Verarbeitung bei dem System nach dem Stand der Technik ist. Wenn anderer­ seits von der Zeitsteuerschaltung 48 das Signal SW bzw. 33 abgeschaltet wird, das Signal A/S bzw. 55 auf "Subtrahieren" geschaltet wird so daß die Ausgangssignale der S-Komplemen­ tierschaltung 57 und der D-Komplementierschaltung 57′ auf die Komplementärwerte (-"SP-Register" oder -"DP-Register") der Werte aus dem SP-Register 49 bzw. dem DP-Register 54 eingestellt werden und das Signal U/D bzw. 56 auf die Ab­ wärtszählung geschaltet wird, so daß die Abwärtszählung herbeigeführt wird, kann dadurch gemäß Fig. 6 der Rechteck­ bereich 2b aufeinanderfolgend von einer Anfangsadresse SAD′ der rechten unteren Ecke des Rechteckbereichs 2b an in den Rechteckbereich 3b von einer Anfangsadresse DAD′ für die rechte untere Ecke desselben an versetzt werden.
Nachstehend wird ausführlich anhand des Ablaufdiagramms in Fig. 12 der Steuerungsablauf bei dem System gemäß diesem Ausführungsbeispiel in dem Fall beschrieben, daß der Recht­ eckbereich 2b von der Adresse SAD′ an in den Rechteckbereich 3b von der Adresse DAD′ an versetzt wird.
Zuerst wird bei einem Schritt 101 das Signal SW bzw. 33 ein­ geschaltet, das Signal A/S bzw. 55 auf "Subtrahieren" ge­ schaltet und das Signal U/D bzw. 56 auf "Abwärtszählen" geschaltet. Danach wird bei einem Schritt 102 in jedem Register ein fester Wert eingestellt. Hierbei wird im S- Adressenregister 41 über den S-Wähler 40 die Adresse SAD′, im D-Adressenregister 51 über den D-Wähler 50 die Adresse DAD′, im X-Register 44 die Breite X des Rechteckbereichs, im Y- Register 46 die Höhe Y des Rechteckbereichs, im SH-Register 26 die Anzahl der Verschiebungen für die Schiebeeinheit 25, im Funktionsregister 27 der Befehl für die Festlegung der logischen Operation in der Funktionseinheit 30, im Maskenregister 28 die Information für die Maskierung im Wähler 31 und im SP-Register 49 und dem DP-Register 54 die Zahl (P) eingestellt, die der Querlänge bzw. Breite des Speicherraums der Speichereinheit 1 entspricht. Bei einem Schritt 103 werden die Werte aus den jeweiligen Registern in die jeweiligen Zähler eingegeben. Dabei wird der Wert aus dem Y-Register 46 in dem Y-Zähler 47, der Wert aus dem X-Register 44 in dem X-Zähler 45, der Wert aus dem S-Adressenregister 41 in dem S-Adressenzähler 42 und der Wert aus dem D-Ad­ ressenregister 51 in dem D-Adressenzähler 52 eingestellt. Bei einem Schritt 104 wird der Inhalt der Adresse "S-Ad­ ressenzähler" des Rechteckbereichs 2b der Speichereinheit ausgelesen und in das S-Register 20 eingegeben.
Wenn die Auslesedaten in dem S-Register 20 eingestellt sind, werden bei einem Schritt 105 von der S-Wechselschaltung 22′ die Ausgabedaten des S-Registers 20 in Byteeinheiten gemäß Fig. 11B ausgetauscht, wonach bei einem Schritt 106 die Da­ ten aus der S-Wechselschaltung 22′ in der Schiebeeinheit 25 um eine Anzahl von Verschiebungen verschoben werden, die durch das SH-Register 26 bestimmt ist. Bei einem Schritt 107 wird der durch die Adresse "D-Adressenzähler 52" bestimmte Inhalt des Rechteckbereichs 3b der Speichereinheit 1 in das D-Register 29 eingelesen. Darauffolgend werden bei einem Schritt 109 die Ausgangsdaten aus dem D-Register 29 und die bei dem Schritt 106 verschobenen Ausgangsdaten auf der Schiebeeinheit 25 in der Funktionseinheit 30 einer logischen Verarbeitung entsprechend der Bestimmung durch das Funktions­ register 27 unterzogen. Das Ergebnis dieser Verarbeitung sowie der Wert aus dem D-Register 29 werden in den Wähler 31 eingegeben. Zugleich werden dem Wähler 31 die durch das Maskenregister 28 bestimmten Daten für die Maskierung zu­ geführt, so daß bei einem Schritt 110 die Eingangsdaten des Wählers 31 entsprechend diesen Maskierungsdaten maskiert werden und die dermaßen maskierten Daten an die Sammellei­ tung 16 abgegeben werden. Diese maskierten Daten haben die Form der in den Rechteckbereich 3b zu versetzenden Daten, so daß bei einem Schritt 111 dieser Wert in die durch den D-Adressenzähler 52 angegebene Adresse eingeschrieben wird. Bei einem Schritt 112 wird der Inhalt des X-Zählers 45 um die Versetzungs-Bitanzahl n erniedrigt.
Auf diese Weise wird die Versetzung von n Datenbits in den Rechteckbereich 3 beendet, wonach bei einem Schritt 113 er­ mittelt wird, ob die Versetzung einer Datenzeile beendet ist und daher der X-Zähler 45 den Inhalt "0" hat. Falls der Inhalt des X-Zählers 45 "0" ist, schreitet das Programm zu einem nachfolgend beschriebenen Schritt 116 weiter. Falls der Inhalt des X-Zählers 45 nicht "0" ist, schreitet das Programm zu einem Schritt 114, bei dem der S-Adressenzähler 42 um "1" erniedrigt wird, und danach zu einem Schritt 115 weiter, bei dem der D-Adressenzähler 52 um "1" erniedrigt wird, wonach das Programm zu dem Schritt 104 zurückkehrt.
Wenn bei dem Schritt 113 der Inhalt des X-Zählers als "0" ermittelt wird und demgemäß die Datenversetzung über die Breite X beendet ist, schreitet das Programm zu dem Schritt 116 weiter, bei dem der Y-Zähler 47 um "1" erniedrigt wird. Danach wird bei einem Schritt 117 ermittelt, ob der Inhalt des Y-Zählers 47 "0" ist. Falls der Inhalt des Y-Zählers 47 "0" ist, ist die Versetzung aller Daten beendet, so daß damit der Datenversetzungsprozeß beendet ist.
Wenn die Datenversetzung noch nicht abgeschlossen worden ist, enthält der Y-Zähler 47 einen positiven Wert, so daß das Programm zu einem Schritt 118 fortschreitet, bei dem in dem D-Addierer 53 der Wert aus dem D-Adressenregister 51 und der Komplementärwert aus dem DP-Register 54, nämlich der Wert aus der D-Komplementierschaltung 57′, die "-DP- Register" abgibt, addiert und wieder in das D-Adressenre­ gister 51 eingegeben werden. Dadurch ist in dem D-Adressen­ register 51 der Wert "D-Adressenregister - DP-Register" eingestellt und damit die Anfangsadresse für die vorange­ hende Zeile in dem Rechteckbereich 3b gewählt. Darauffol­ gend werden auf gleichartige Weise bei einem Schritt 119 der Wert aus dem S-Adressenregister 41 und der Wert aus der S-Komplementierschaltung 57 in dem S-Addierer 43 addiert und wieder in das S-Adressenregister 41 eingegeben, wodurch die Anfangsadresse der vorangehenden Zeile in dem Rechteck­ bereich 2b eingestellt wird. Danach schreitet das Programm zu einem Schritt 120 weiter, bei dem der Wert aus dem X- Register 44 in den X-Zähler 45 eingegeben wird und damit die Versetzung der Daten aus der vorangehenden Zeile vor­ bereitet wird. Danach kehrt das Programm zu dem Schritt 104 zurück, wonach die Datenversetzung ausgeführt wird, bis der Inhalt des Y-Zählers 47 zu "0" wird.
Durch die Versetzung der Daten auf die vorstehend beschrie­ bene Weise kann die Versetzung auch in dem Fall richtig bewerkstelligt werden, daß gemäß Fig. 6 eine Überlappung der Versetzungsbereiche besteht.
In der Schaltung bei diesem zweiten Ausführungsbeispiel unterscheiden sich die Zustände der Einspeicherung der Auslesedaten in die Register voneinander, so daß daher die Daten in Byteeinheiten ausgetauscht werden. Die Wech­ selschaltung kann jedoch zu einer Einheit mit der Schiebe­ einheit zusammengefaßt werden, so daß das Austauschen und Verschieben gleichzeitig ausgeführt werden kann.
Vorstehend wurde für die Schaltung bei diesem Ausführungs­ beispiel ein Fall beschrieben, bei dem die Datenversetzung von der rechten unteren Ecke an beginnt. Wenn jedoch der S-Adressenzähler 42 und der D-Adressenzähler 52 in die Vor­ wärtszählart geschaltet werden, so daß der Wert aus dem SP- Register 49 subtrahiert und in den S-Adressenzähler 42 ein­ gespeichert wird bzw. der Wert aus dem DP-Register 54 sub­ trahiert und in den D-Adressenspeicher 52 eingespeichert wird, um als Anfangsadresse einer jeweiligen Zeile die An­ fangsadresse für die vorangehende Zeile zu ermitteln, wo­ zu das Signal A/S bzw. 55 auf "Subtrahieren" geschaltet wird und das Signal U/D bzw. 56 auf "Vorwärtszählung" ge­ schaltet wird, kann die Datenversetzung von der linken unteren Ecke an begonnen werden.
Auf gleichartige Weise ist es natürlich möglich, die Daten­ versetzung von der rechten oberen Ecke an dadurch zu begin­ nen, daß das Signal SW abgeschaltet wird, das Signal A/S bzw. 55 auf "Addieren" geschaltet wird und das Signal U/D bzw. 56 auf "Abwärtszählung" geschaltet wird, wodurch der S-Adressenzähler 42 und der D-Adressenzähler 52 auf die Abwärtszählung geschaltet werden, so daß die Werte aus dem SP-Register 49 und dem S-Adressenzähler 42 sowie die Werte DP-Register 54 und dem D-Adressenzähler 52 addiert werden, und die Wechselschaltung abgeschaltet wird.
Gemäß der vorangehenden Beschreibung wird ein Datenversetzungssystem gezeigt, das eine Datenver­ setzung auch in dem Fall, daß sich die Speicherbereiche für die abzugebenden Daten und die zu empfangenden Daten über­ lappen, durch das Wählen der Versetzungsanfangsstelle ohne eine Zerstörung des Speicherinhalts ermöglicht, was durch Hinzufügen eines einfachen Schaltungsaufbaus erfolgt.
Nachstehend wird anhand der Zeichnung ein drittes Ausfüh­ rungsbeispiel eines Datenversetzungssystems beschrieben.
Die Fig. 13 zeigt Einzelheiten des in Fig. 2 gezeigten Da­ tensteuerteils 11 der Versetzungssteuereinheit 10 bei ei­ nem dritten Ausführungsbeispiel eines Datenversetzungs­ systems. In der Fig. 13 sind Teile, die denjenigen gemäß Fig. 3 gleichartig sind, mit den gleichen Bezugszeichen bezeichnet.
Bei diesem dritten Ausführungsbeispiel sind zwischen das S-Register 20 und die Schiebeeinheit 25, die in Fig. 3 ge­ zeigt sind, eine Erweiterungseinheit 21′′ für das Expandie­ ren bzw. Erweitern der Ausgabedaten des S-Registers, eine Verdichtungseinheit 22′′ für das Zusammenziehen bzw. Kompri­ mieren der Ausgangsdaten und eine Wähleinheit 23′′ geschal­ tet, wobei die Ausgangssignale der Erweiterungseinheit 21′′ und der Verdichtungseinheit 22′′ in die Wähleinheit 23 ein­ gegeben werden und das Ausgangssignal der Wähleinheit 23′′ in die Schiebeeinheit 25 eingegeben wird, die der in Fig. 3 gezeigten gleichartig ist.
Der Aufbau des Adressensteuerteils 12 ist gleich dem in Fig. 4 gezeigten, jedoch sind während einer Erweiterung und ei­ ner Verdichtung die Steuerausgangssignale der Zeitsteuer­ schaltung 48 für die jeweiligen Zähler unterschiedlich.
Dieses dritte Ausführungsbeispiel wird anhand eines Bei­ spiels beschrieben, bei dem während der Datenversetzung als Erweiterung die Daten aus dem in Fig. 1 gezeigten Rechteckbereich 2 auf das 2×2fache erweitert bzw. bei einer Verdichtung diese Daten auf 1/2×1/2 zusammengezogen bzw. verdichtet werden.
Die Expansion bzw. Erweiterung erfolgt dadurch, daß in Bit­ einheiten das gleiche Bit zweimal wiederholt wird, während die Kompression bzw. Verdichtung dadurch erfolgt, daß so­ wohl bei Horizontal-Bits als auch bei Vertikal-Bits jedes zweite Bit weggelassen wird. Beispiele für die Erweiterung und für die Verdichtung sind in Fig. 15 gezeigt.
Die in Fig. 15A gezeigten S-Daten aus dem Rechteckbereich 2 werden bei der Verdichtung auf die in Fig. 15B gezeigten und bei der Erweiterung auf die in Fig. 15C gezeigten ver­ ändert, wobei die Datenversetzung in den Rechteckbereich 3 ausgeführt wird.
Die Fig. 14 ist ein ausführliches Blockschaltbild der Er­ weiterungseinheit 21′′ und der Verdichtungseinheit 22′′ für die Expansion bzw. Komprimierung.
Bei der Erweiterung wird der Wert aus dem S-Register 20, für den hier eine Bitbreite von 8 Bits vorgeschrieben ist, in die werthöheren vier Bits und die wertniedrigeren vier Bits aufgeteilt, welche jeweils selektiv von einem Wähler 60 abgegeben werden. Diese 4-Bit-Ausgangssignale werden zu 8 Bits umgesetzt und ausgegeben. Mittels der einmaligen Auslesedaten aus dem S-Register 20 werden zwei Zyklen des Einschreibens in den Rechteckbereich 3 ausgeführt, wobei der S-Adressenzähler 42 einmalig bei einem zweimaligen Auf­ stufen des D-Adressenzählers 52 erhöht wird.
Bei der Verdichtung werden zuerst in einem Halteregister 62 die vier geradzahligen Bits der S-Daten aus dem S-Regi­ ster 20 festgehalten. Die aufeinanderfolgend ausgelesenen geradzahligen Bits der S-Daten werden addiert, so daß sich acht Bits ergeben, welche in den Rechteckbereich 3 einge­ schrieben werden. In der Vertikalrichtung erfolgt das Aus­ lesen der S-Daten für eine jede zweite Zeile.
Die Einzelheiten der Erweiterung und der Verdichtung werden nachfolgend anhand des Ablaufdiagramms in Fig. 16 für die Erweiterung bzw. des Ablaufdiagramms in Fig. 17 für die Verdichtung beschrieben.
Für die Datenversetzung unter gleichzeitiger Erweiterung wird zuerst gemäß Fig. 16A bei einem Schritt 101 die Expan­ sionseinheit 21′′ gewählt, wobei Befehle derart eingegeben werden, daß als Ausgangssignal der Wähleinheit 23′′ das Aus­ gangssignal der Erweiterungseinheit 21′′ gewählt wird, und es wird eine Kennung auf "0" geschaltet. Bei einem Schritt 102 werden in die jeweiligen Register jeweils feste Werte eingesetzt. Hierbei wird in das S-Adressenregister 41 über den S-Wähler 40 die Adresse SAD, in das D-Adres­ senregister 51 über den D-Wähler 50 die Adresse DAD, in das X-Register 44 die Breite X des Rechteckbe­ reichs, in das Y-Register 46 die Höhe Y des Rechteckbereichs, in das SH-Register 26 die An­ zahl der Verschiebungen in der Schiebeeinheit 25 und in das Funktionsregister 27 der Befehl für die Bestimmung der logischen Verarbeitung in der Funktionseinheit 30 ein­ gesetzt. Ferner werden in das Maskenregister 28 die Daten für die Maskierung in dem Wähler 31 eingestellt, während in das SP-Register 49 und das DP-Register 54 die Zahl eingege­ ben wird, die der Querlänge bzw. Breite des Speicherraums der Speichereinheit 1 entspricht.
Darauffolgend wird bei einem Schritt 103 der Wert aus dem Y-Register 46 in dem Y-Zähler 47 und dann bei einem Schritt 104 der verbliebene Wert aus dem S-Adressen­ register 41 in dem S-Adressenzähler 42, der Wert aus dem D-Adressenregister 51 in dem D-Adressenzähler 52 und der Wert aus dem X-Register 44 in dem X-Zähler 45 eingestellt. Bei einem Schritt 105 wird der Inhalt der Adresse "S-Adressenzähler" des Rechteckbereichs 2 der Speichereinheit 1 ausgelesen und in das S-Register 20 eingegeben. Danach wird ein Eingangssignal S für den Wähler 60 der Erweiterungseinheit 21′′ auf "0" geschaltet und da­ mit eine Steuerung in der Weise herbeigeführt, daß zuerst von dem Wähler 60 aus den in dem S-Register 20 eingestellten 8-Bit-Daten die werthöheren vier Bits der Daten ausgegeben und zu acht Bits umgesetzt werden, die von der Wähleinheit 23′′ ausgegeben werden. Danach wird bei einem Schritt 200 eine Subroutine "Abruf 1" abgerufen.
Der Ablauf der Subroutine "Abruf 1" ist in Fig. 16B gezeigt.
Zuerst werden bei einem Schritt 201 die Daten aus der Wähl­ einheit 23′′ in der Schiebeeinheit 25 um die in dem SH-Re­ gister 26 gespeicherte Anzahl von Verschiebungen verscho­ ben. Bei einem Schritt 202 wird der Inhalt der Adresse "D- Adressenzähler" des Rechteckbereichs 3 der Speichereinheit 1 in das D-Register 29 eingelesen. Darauffolgend werden bei einem Schritt 203 die verschobenen Daten aus der Verschiebe­ einheit 25 und die Auslesedaten aus dem D-Register 29 in der Funktionseinheit 30 entsprechend der Festlegung durch das Funktionsregister 27 logisch verarbeitet. Das Ergebnis dieser Verarbeitung und der Wert aus dem D-Register 29 werden in den Wähler 31 eingegeben. Zugleich werden dem Wähler 31 auch die in dem Maskenregister 28 eingestellten Maskierungsdaten zugeführt, gemäß denen bei einem Schritt 204 die Eingangsdaten des Wählers 31 maskiert werden, wo­ nach die maskierten Daten an die Datensammelleitung 16 ab­ gegeben werden. Diese maskierten Daten haben die Form der in den Rechteckbereich 3 zu versetzenden Daten und werden bei einem Schritt 205 an der durch den D-Adressenzähler 52 angezeigten Adresse eingeschrieben. Bei einem Schritt 206 wird der Inhalt des X-Zählers 45 um die Anzahl n der übertragenen Bits abgestuft. Danach kehrt das Programm zu­ rück, wodurch die Subroutine "Abruf 1" endet.
Wenn die Subroutine "Abruf 1" gemäß dem Schritt 200 beendet ist, ist die Versetzung der n-Bit-Daten in den Rechteck­ bereich 3 beendet, wonach bei einem Schritt 108 ermittelt wird, ob der Inhalt des X-Zählers 45 zu "0" geworden ist und daher die Versetzung einer Datenzeile abgeschlossen ist. Falls der Zählstand des X-Zählers 45 "0" ist, schreitet das Programm zu einem nachfolgend beschriebenen Schritt 115 weiter. Falls der Zählstand des X-Zählers 45 von "0" ver­ schieden ist, schreitet das Programm zu einem Schritt 109 weiter, bei dem der Wert des D-Adressenzählers 52 erhöht wird, um in den Rechteckbereich 3 die Daten der wert­ niedrigeren vier Bits aus dem S-Register 20 einzuschreiben, und das Signal S für den Wähler 60 der Erweiterungseinheit 21′′ auf "1" geschaltet wird. Dabei werden die wertniedrige­ ren vier Bits aus dem S-Register zu 8-Bit-Daten geformt und aus der Wähleinheit 23′′ in die Schiebeeinheit 25 abgegeben, wonach die vorstehend beschriebene Subroutine "Abruf 1" ab­ gerufen wird und die Daten an der Adresse "D-Adressenzähler" eingeschrieben werden. Danach wird bei einem Schritt 111 ermittelt, ob der Inhalt des X-Zählers 45 "0" ist. Falls der Inhalt des X-Zählers 45 nicht "0" ist, schreitet das Programm zu einem Schritt 112 weiter, bei dem der S-Adres­ senzähler 42 um "1" erhöht wird, wonach bei einem Schritt 113 der D-Adressenzähler 52 um "1" erhöht wird dann das Programm zu dem Schritt 105 zurückkehrt.
Wenn bei dem Schritt 108 oder 111 der Inhalt des X-Zählers 45 als "0" ermittelt wird und daher die Übertragung der Daten für die Breite X beendet ist, schreitet das Programm zu dem Schritt 115 weiter, bei dem der Y-Zähler 47 um "1" erhöht wird. Bei einem Schritt 116 wird ermittelt, ob der Inhalt des Y-Zählers 47 "0" ist. Falls der Inhalt des Y-Zählers 47 "0" ist, ist die Versetzung aller Daten abge­ schlossen und damit die Datenversetzung beendet.
Wenn die Datenversetzung nicht beendet ist, enthält der Y-Zähler 47 einen positiven Wert, so daß das Programm zu einem Schritt 117 fortschreitet, bei dem die Werte aus dem D-Adressenregister 51 und dem DP-Register 54 mittels des D-Addierers 53 addiert und wieder in das D-Adressenregister 51 eingegeben werden. Dadurch wird in dem D-Adressenregi­ ster 51 die Anfangsadresse für die nächste Zeile des Recht­ eckbereichs 3 eingestellt. Bei einem Schritt 118 wird er­ mittelt, ob die Kennung "0" ist. Falls die Kennung "0" ist, schreitet das Programm zu einem Schritt 119 weiter, bei dem die Kennung auf "1" geschaltet wird, wonach das Programm zu dem Schritt 104 zurückkehrt. Dies erfolgt deshalb, weil es bei der Erweiterung erforderlich ist, die Daten aus ei­ ner Zeile des Rechteckbereichs 2 wiederholt in den Rechteck­ bereich 3 einzuschreiben, damit die Daten aus dem Rechteck­ bereich 2 auf das 2×2fache vergrößert und in den Rechteck­ bereich 3 eingeschrieben werden.
Falls bei dem Schritt 118 die Kennung nicht "0" ist, schrei­ tet das Programm zu einem Schritt 120 weiter, bei dem die Werte aus dem S-Adressenregister 41 und dem SP-Register 49 mittels des S-Addierers 43 addiert und wieder in das S- Adressenregister 41 eingegeben werden. Dadurch wird in dem S-Adressenregister 41 die Anfangsadresse der nächsten Zeile des Rechteckbereichs 2 eingestellt. Dann schreitet das Pro­ gramm zu einem Schritt 121 weiter, bei dem die Kennung auf "0" geschaltet wird, wonach das Programm zu dem Schritt 104 zurückkehrt.
Wenn beispielsweise in dem Rechteckbereich 2 die in Fig. 15A gezeigten Daten gespeichert waren, werden durch den vorste­ hend beschriebenen Prozeß die in Fig. 15C gezeigten Daten übertragen und in den Rechteckbereich 3 eingesetzt.
Anhand des Ablaufdiagramms in Fig. 17 wird nun die Kompri­ mierung bzw. Verdichtung beschrieben.
Zuerst wird bei einem Schritt 151 die Verdichtungseinheit 22′′ angewählt und dabei eine derartige Steuerung herbeige­ führt, daß die Daten aus der Verdichtungseinheit 22′′ von der Wähleinheit 23′′ abgegeben werden. Ferner wird die Ken­ nung auf "0" geschaltet, wonach das Programm zu einem Schritt 152 fortschreitet, bei dem wie bei dem Schritt 102 gemäß Fig. 16 in die jeweiligen Register jeweilige feste Werte eingesetzt werden. Darauffolgend wird bei einem Schritt 153 wie bei dem Schritt 103 gemäß Fig. 16 der Wert aus dem Y-Register 46 in dem Y-Zähler eingestellt, wonach bei einem Schritt 154 wie bei dem Schritt 104 gemäß Fig. 16 die in den Registern verbliebenen Werte in den jeweiligen Zählern eingestellt werden und dann bei einem Schritt 155 wie bei dem Schritt 105 gemäß Fig. 16 der Inhalt der Adresse "S- Adressenzähler" in dem S-Register eingestellt wird.
Bei einem Schritt 156 werden aus den acht Bits in dem S- Register 20 die Bits 0, 2, 4 und 6, nämlich insgesamt vier Bits in das Halteregister 62 eingegeben und als Daten für die werthöheren vier Bits der Ausgangsdaten der Verdich­ tungseinheit 22′′ an die Wähleinheit 23′′ ausgegeben. Darauf­ folgend wird bei einem Schritt 157 der Inhalt des S-Adres­ senzählers 42 um "1" erhöht und bei einem Schritt 158 der Inhalt der Adresse "S-Adressenzähler" in das S-Register 20 eingegeben.
Dabei werden das 0-te, 2-te, 4-te und 6-te Bit der in das S-Register 20 eingegebenen Daten als Daten für die wert­ niedrigen vier Bits mit den bei dem Schritt 156 im Halte­ register 62 gespeicherten Daten für die werthöheren vier Bits zur Eingabe in die Wähleinheit 23′′ kombiniert und aus dieser an die Schiebeeinheit 25 abgegeben. Danach wird die Subroutine "Abruf 1" abgerufen, bei der verschiedenerlei Verarbeitungen an der Adresse "D-Adressenzähler" ausgeführt werden, wonach die verdichteten Über­ tragungsdaten an dieser Adresse eingeschrieben werden. Dann wird bei einem Schritt 160 ermittelt, ob der Inhalt des X-Zählers 45 "0" ist. Falls der Zählstand des X-Zählers 45 nicht "0" ist, schreitet das Programm zu einem Schritt 161, bei dem der S-Adressenzähler 42 erhöht wird, und einem Schritt 162 weiter, bei dem der D-Adressenzähler erhöht wird, wonach das Programm zu dem Schritt 155 zurückkehrt.
Falls bei dem Schritt 160 der Inhalt des X-Zählers 45 "0" ist, ist die Versetzung der Daten für eine Zeile beendet, so daß daher bei einem Schritt 163 der Inhalt des Y-Zählers 47 um "1" erniedrigt wird und bei einem Schritt 164 geprüft wird, ob der Inhalt des Y-Zählers 47 "0" ist. Falls der Inhalt des Y-Zählers 47 nicht "0" ist, schreitet das Pro­ gramm zu einem Schritt 165 weiter, bei dem wie bei dem Schritt 117 gemäß Fig. 16 die Anfangsadresse für die näch­ ste Zeile in dem D-Adressenregister 51 eingestellt wird, wonach bei einem Schritt 166 wie bei dem Schritt 120 gemäß Fig. 16 in dem S-Adressenregister 41 die Anfangsadresse für die nächste Zeile eingestellt wird und dann bei einem Schritt 167 die Anfangsadresse für die übernächste Zeile eingestellt wird. Dies dient dazu, bei der Verdichtung bzw. Komprimie­ rung die Daten für jedes zweite Bit einzusetzen. Danach kehrt das Programm zu dem Schritt 154 zurück, wonach die Versetzung der nächsten Daten vorgenommen wird.
Falls bei dem Schritt 164 der Zählstand des Y-Zählers 47 "0" ist, ist die Versetzung aller Daten beendet, so daß daher der Prozeß endet.
Gemäß der vorstehenden Beschreibung wird es durch das Hin­ zufügen von einigen Schritten bei dem Vorgang der Datenver­ setzung und einiger Schaltungsstufen möglich, die Daten un­ ter Verarbeitung der Daten während einer Prozeßzeit zu versetzen, die gleich der Versetzungsprozeßzeit ist. Als Verfahren zur Datenverarbeitung kann auch ein von dem bei dem vorstehend beschriebenen Beispiel angewandten Verfahren abweichendes Verfahren angewandt werden, so daß daher mit­ tels eines gleichartigen Prozesses eine Vergrößerung auf das 3×3fache, eine Verkleinerung auf das 1/3×1/3fache oder dergleichen möglich ist.
Ferner kann die Datenversetzung mit einer völlig gleichen Betriebsfunktion natürlich auch nicht nur in ein und der­ selben Speichereinheit vorgenommen werden, sondern auch zwischen verschiedenen Speichereinheiten.

Claims (2)

1. Datenversetzungssystem zum Versetzen von Daten aus einem ersten Bereich (2) einer Speichereinheit (1) in einen zweiten Bereich (3) der Speichereinheit (1), bei dem
mittels einer ersten Adressiereinrichtung (42) bestimmte Da­ ten (S-Daten) aus dem ersten Bereich (2) der Speichereinheit (1) ausgelesen und in einem ersten Register (20) gespeichert werden und mittels einer zweiten Adressiereinrichtung (52) bestimmte Daten (D-Daten) aus dem zweiten Bereich (3) der Speichereinheit (1) ausgelesen und in einem zweiten Register (29) gespeichert werden,
die in dem ersten Register (20) gespeicherten Daten (S-Daten) mittels einer Schiebeeinheit (25) um ein in einem Schiebe­ zahlregister (26) gespeichertes Ausmaß verschoben werden, die derart verschobenen Daten sowie die in dem zweiten Regi­ ster (29) gespeicherten Daten (D-Daten) auf eine mittels ei­ nes Funktionsregisters (27) bestimmten Art durch eine Funkti­ onseinheit (30) logisch verarbeitet werden (SD-Daten) und diese derart logisch verarbeiteten Daten (SD-Daten) sowie die in dem zweiten Register (29) gespeicherten Daten (D-Daten) von einer Maskierungseinrichtung (31) einer durch den Inhalt eines Maskierungsregisters (28) bestimmten Maskierung unterzo­ gen werden und in dem mittels der zweiten Adressiereinrich­ tung (52) bestimmten zweiten Bereich (3) der Speichereinheit (1) gespeichert werden, dadurch gekennzeichnet, daß der mittels der ersten Adressiereinrichtung (42) be­ stimmte erste Bereich (2) der Speichereinheit (1) mit in ei­ nem dritten Register (21) gespeicherten Daten beschrieben wird, wobei mittels eines an einer Umschalteinrichtung (22) angelegten Steuerungssignals (SEL) jeweils vor einer Änderung der in der ersten Adressiereinrichtung (42) abgelegten Adresse von den von der Schiebeeinheit (25) um ein in dem Schiebezahlregister (26) gespeichertes Ausmaß verschobenen, ursprünglich in dem ersten Register (20) gespeicherten Daten (S-Daten) auf die in dem dritten Register (21) gespeicherten Daten umgeschaltet wird und die Daten aus dem dritten Regi­ ster (21) der Maskierungseinrichtung (31) zur anschließenden Speicherung in dem mittels der ersten Adressiereinrichtung (42) bestimmten ersten Bereich (2) der Speichereinheit (1) zugeführt werden, wobei durch Anlegen des Steuerungssignals (SEL) an eine Funktionswahleinrichtung (23) die logische Ver­ arbeitung der der Maskierungseinrichtung (31) zugeführten Da­ ten durch die Funktionseinheit (30) verhindert wird, so daß die Daten aus dem dritten Register (21) der Maskierungsein­ richtung (31) unverändert zugeführt werden.
2. Datenversetzungssystem nach Anspruch 1, dadurch gekenn­ zeichnet, daß die in dem dritten Register (21) gespeicherten Daten ein "0" darstellender Leercode sind.
DE3437528A 1983-10-12 1984-10-12 Datenversetzungssystem Expired - Fee Related DE3437528C2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP58189182A JPS6081658A (ja) 1983-10-12 1983-10-12 デ−タ転送方式
JP18918383A JPS6081659A (ja) 1983-10-12 1983-10-12 デ−タ転送方式
JP18918483A JPS6081660A (ja) 1983-10-12 1983-10-12 デ−タ転送方式

Publications (2)

Publication Number Publication Date
DE3437528A1 DE3437528A1 (de) 1985-04-25
DE3437528C2 true DE3437528C2 (de) 1994-12-22

Family

ID=27326140

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3437528A Expired - Fee Related DE3437528C2 (de) 1983-10-12 1984-10-12 Datenversetzungssystem

Country Status (2)

Country Link
US (1) US6101572A (de)
DE (1) DE3437528C2 (de)

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US31200A (en) * 1861-01-22 I H S White Newspaper-file
US2853698A (en) * 1955-09-23 1958-09-23 Rca Corp Compression system
US3168723A (en) * 1960-06-21 1965-02-02 Ibm Data compression apparatus
US3887799A (en) * 1973-12-03 1975-06-03 Theodore P Lindgren Asynchronous n bit position data shifter
US4107773A (en) * 1974-05-13 1978-08-15 Texas Instruments Incorporated Advanced array transform processor with fixed/floating point formats
GB1540299A (en) * 1975-02-15 1979-02-07 Mathematik Datenverarbeitung G Computer employing reduction language
GB1528021A (en) * 1975-02-27 1978-10-11 Int Computers Ltd Graphical display apparatus
US4079458A (en) * 1976-08-11 1978-03-14 Xerox Corporation High resolution character generator
US4141068A (en) * 1977-03-24 1979-02-20 Xerox Corporation Auxiliary ROM memory system
US4130868A (en) * 1977-04-12 1978-12-19 International Business Machines Corporation Independently controllable multiple address registers for a data processor
JPS5530727A (en) * 1978-08-22 1980-03-04 Nec Corp Information processor
JPS5540460A (en) * 1978-09-14 1980-03-21 Fuji Xerox Co Ltd Image transfer device
US4370641A (en) * 1979-08-15 1983-01-25 International Business Machines Corporation Electronic control system
US4286329A (en) * 1979-12-17 1981-08-25 International Business Machines Corporation Complex character generator
FR2480545A1 (fr) * 1980-04-10 1981-10-16 Micro Consultants Ltd Dispositif et procede pour imprimer un deplacement angulaire a une image de television
DE3014513A1 (de) * 1980-04-16 1981-10-22 Scantron GmbH & Co Elektronische Lesegeräte KG, 6000 Frankfurt Verfahren und vorrichtung zum indentifizieren von gegenstaenden
DE3016738C2 (de) * 1980-04-30 1988-06-16 Siemens AG, 1000 Berlin und 8000 München Verfahren zur Übertragung eines Bitmusterfeldes in einen Speicher und Schaltungsanordnung zur Ausübung des Verfahrens
US4334246A (en) * 1980-05-16 1982-06-08 Xerox Corporation Data decompressor circuit
US4373194A (en) * 1980-12-30 1983-02-08 International Business Machines Corporation Full page representation through dynamic mode switching
JPS584470A (ja) * 1981-07-01 1983-01-11 Hitachi Ltd メモリ制御装置
US4475176A (en) * 1981-08-06 1984-10-02 Tokyo Shibaura Denki Kabushiki Kaisha Memory control system
JPS58159184A (ja) * 1982-03-17 1983-09-21 Nec Corp 画像回転装置
US4610026A (en) * 1982-04-30 1986-09-02 Hitachi, Ltd. Method of and apparatus for enlarging/reducing two-dimensional images
JPS6073682A (ja) * 1983-09-30 1985-04-25 株式会社東芝 グラフイツクメモリ内デ−タ転送方式

Also Published As

Publication number Publication date
DE3437528A1 (de) 1985-04-25
US6101572A (en) 2000-08-08

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
DE19836748C1 (de) Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts
DE3338345C2 (de)
DE2417795C2 (de) Datenverarbeitungsanlage
DE3048675C2 (de) Datenverarbeitungssystem
DE2230987C2 (de)
DE3419219C2 (de) Steuervorrichtung für ein Bildschirmgerät
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2457612A1 (de) Mikroprogrammier-steuersystem
DE3437895C2 (de)
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2310631A1 (de) Speicherhierarchie fuer ein datenverarbeitungssystem
DE3043653A1 (de) Datenverarbeitungsanlage
DE3716752C2 (de)
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE2117581A1 (de) Einrichtung zur Adressenprüfung und -modifizierung
DE2801982A1 (de) Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem
DE2055522B2 (de) Anordnung zur eingabe von daten in eine digitale datenverarbeitungsanlage
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE2233193A1 (de) Stapel-speichersystem
DE3437528C2 (de) Datenversetzungssystem
DE2558417A1 (de) Datenverarbeitungssystem
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE2710436C2 (de) Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/44

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee