DE3437528C2 - Datenversetzungssystem - Google Patents
DatenversetzungssystemInfo
- 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
Links
- 238000012546 transfer Methods 0.000 title claims description 50
- 230000006870 function Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 28
- 230000000873 masking effect Effects 0.000 claims description 24
- 108090000623 proteins and genes Proteins 0.000 claims description 2
- 238000007906 compression Methods 0.000 description 20
- 230000006835 compression Effects 0.000 description 20
- 238000000034 method Methods 0.000 description 16
- 238000006073 displacement reaction Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000000295 complement effect Effects 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing 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 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.
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.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18918483A JPS6081660A (ja) | 1983-10-12 | 1983-10-12 | デ−タ転送方式 |
JP18918383A JPS6081659A (ja) | 1983-10-12 | 1983-10-12 | デ−タ転送方式 |
JP58189182A JPS6081658A (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)
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 | 株式会社東芝 | グラフイツクメモリ内デ−タ転送方式 |
-
1984
- 1984-10-12 DE DE3437528A patent/DE3437528C2/de not_active Expired - Fee Related
-
1993
- 1993-06-16 US US08/076,929 patent/US6101572A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6101572A (en) | 2000-08-08 |
DE3437528A1 (de) | 1985-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69021429T2 (de) | Speicherzugriffssteuerschaltung für Grafik-Steuergerät. | |
DE19836748C1 (de) | Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts | |
DE3338345C2 (de) | ||
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE69230211T2 (de) | Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem | |
DE2230987C2 (de) | ||
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2457612A1 (de) | Mikroprogrammier-steuersystem | |
DE68923433T2 (de) | Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen. | |
DE3437895C2 (de) | ||
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE2310631A1 (de) | Speicherhierarchie fuer ein datenverarbeitungssystem | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE3716752A1 (de) | Verfahren und vorrichtung zur informationsausgabe | |
DE2801982A1 (de) | Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem | |
DE3121046C2 (de) | ||
DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE3437528C2 (de) | Datenversetzungssystem | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
DE3931505C2 (de) | Speichersteuerung in einer Datenverarbeitungsanlage | |
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
DE68924891T2 (de) | Datentransfer zwischen Speicher. | |
DE10393188T5 (de) | Verarbeitung von Wiederholungs-String-Operationen |
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 |