DE3837847A1 - Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks - Google Patents

Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks

Info

Publication number
DE3837847A1
DE3837847A1 DE3837847A DE3837847A DE3837847A1 DE 3837847 A1 DE3837847 A1 DE 3837847A1 DE 3837847 A DE3837847 A DE 3837847A DE 3837847 A DE3837847 A DE 3837847A DE 3837847 A1 DE3837847 A1 DE 3837847A1
Authority
DE
Germany
Prior art keywords
bit
word
memory
destination
data
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.)
Withdrawn
Application number
DE3837847A
Other languages
English (en)
Inventor
Sakarin Suwannukul
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.)
HERCULES COMPUTER TECHNOLOGY N
Original Assignee
HERCULES COMPUTER TECHNOLOGY N
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
Application filed by HERCULES COMPUTER TECHNOLOGY N filed Critical HERCULES COMPUTER TECHNOLOGY N
Publication of DE3837847A1 publication Critical patent/DE3837847A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Description

Die Erfindung betrifft eine Einrichtung nach dem Oberbegriff des Patent­ anspruchs 1.
Bei bit-abgebildeten graphischen Anzeigesystemen wird jeder Zeichenpunkt bzw. jedes kleinste Element einer Darstellungsfläche, dem Farbe oder Licht­ intensität unabhängig zugeordnet werden kann, ein sogenanntes Pixel, durch zugeordnete Daten repräsentiert, die in einem Speicher gespeichert sind, der im allgemeinen als Bildpufferspeicher bezeichnet wird. Eine typische Operation in einem solchen System ist die Bewegung von abhängigen Blöcken oder Sätzen von Zeichenpunkten oder Pixeln von einem Punkt des Bildschirms zu einem anderen. Es ist außerdem typisch, daß die interne Architektur des Systems eine solche Operation dadurch realisiert, daß der Bildpufferspeicher auf einer Wort-auf-Wort-Basis adressiert wird. Das heißt, daß der Bildpufferspeicher so ausgelegt ist, daß jede Bildpuffer­ speicher-Adresse nicht nur einen, sondern eine Vielzahl von Pixeln bezeich­ net. In einem System, bei dem ein Datenwort acht Bits aufweist, d. h. ein Daten-Byte, werden die Daten, die acht Pixel repräsentieren, jedesmal aus dem Bildpufferspeicher ausgelesen oder in diesen eingeschrieben, wenn der Bildpufferspeicher adressiert wird.
Es kommt häufig vor, daß der Satz von Zeichenpunkten oder Pixeln, der bewegt werden soll, seine Grenze irgendwo innerhalb eines Datenworts oder -bytes hat, d. h. an einer Stelle, die von der Wort- oder Byteadresse oder -grenze im Bildpufferspeicher entfernt liegt.
Um das wortgemäße Adressierungsschema der Architektur des Bildpuffer­ speichers zu benutzen, aber trotzdem noch das Auftreten einer Satz- oder Blockgrenze an einer Stelle zu erfassen, die von der Wort- oder Byte­ adresse oder -Grenze abliegt, wird bei der herkömmlichen Lösung ein ganzes Datenbyte gelesen und entsprechend einem Bit-Index in der Zentral­ einheit verschoben oder gedreht. Sodann werden die gedrehten Daten in die gewünschte Bestimmungsspeicherzelle im Bildpufferspeicher einge­ schrieben.
Die Geschwindigkeit, mit der solche Operationen auftreten können, hängt oft von der Bandbreite des Bildpufferspeichers ab. Demzufolge stellt eine geringe Bandbreite des Bildpufferspeichers oft die Ursache für eine schlechte Arbeitsweise dieses Speichers dar. Die Analyse der Software, die typischerweise beim Steuern des Bildpufferspeichers während der Daten­ umschichtung verwendet wird, offenbart indessen, daß zehn oder mehr Codezeilen bei jedem Zugriff auf den Bildpufferspeicher durch die Zentral­ einheit bearbeitet werden. Die Bearbeitung dieses Codes bedeutet einen zusätzlichen Platzbedarf, der selbst dann verbleibt, wenn zu dem Bildpuffer­ speicher als solchem in sehr kurzer Zeit Zugriff genommen werden kann.
Bei einer genaueren Betrachtung des erwähnten Codes erkennt man, daß er hauptsächlich dazu dient, die Spur von Bitplätzen zu halten, wenn die Quellen- und Bestimmungsspeicherzellen des Informationssatzes in bezug auf die Wortgrenzen im Bildpufferspeicher verschieden sind.
Nimmt man beispielsweise an, daß der Informationsblock oder -satz, der umgeschichtet bzw. verlagert werden soll, nicht an der Wortgrenze beginnt, und nimmt man weiterhin an, daß die Satzgrenze an der Bestimmungs­ speicherzelle mit einer anderen Bitposition in einem Wort beginnt, so kann bei einer solchen Situation das erste Wort der Quellenspeicherzelle mehr Datenbits oder weniger Datenbits enthalten, als durch das erste Wort an der Bestimmungsspeicherzelle erfaßt werden muß. Hat etwa das erste Wort, das aus der Quelle ausgelesen wird, fünf Pixel, die übertragen werden sollen, wobei jedoch das erste Bestimmungswort nur zwei von ihnen halten soll, so müssen drei Pixel des Quellwortes für den nächsten Lesevorgang übertragen werden. Nimmt man an, daß mehr Pixel übertragen werden müssen, erfordert der nächste Lesevorgang für die Übertragung acht weitere Pixel aus dem Bildpufferspeicher. Fünf dieser neuen Pixel und die drei Pixel, die aufgrund des vorangegangenen Lesevorgangs übertragen wurden, müssen hierbei jedoch für die Speicherung in der nächsten Wortspeicher­ zelle an der Bestimmungsspeicherzelle kombiniert werden. Dies bedeutet, daß die drei Pixel, welche aufgrund des vorangegangenen Lesevorgangs übertragen wurden, bezüglich ihrer Bitpositionen rückwärts gedreht werden müssen, so daß sie die ersten drei Bitpositionen im neuen Bestimmungswort belegen. Sodann müssen die fünf neuen Pixel ihre Bitpositionen nach vorne drehen, so daß sie die verbleibenden fünf Bitpositionen im neuen Be­ stimmungswort belegen. Weiterhin müssen drei der neuen Pixel zum nächsten Lesevorgang übertragen werden. Insgesamt wurden so bei der zweiten Lese­ operation elf Pixel durch die Software übertragen und gedreht, damit das älteste der acht Pixel übertragen und die drei neuesten Pixel zur nächsten Leseoperation verbracht werden konnten.
Jeder dieser Schritte beinhaltet das Abrufen von Codes und die Abarbei­ tung eines solchen Codes durch die Zentraleinheit, wobei wertvolle Zeit verbraucht wird. Was diesen Sachverhalt noch verschlimmert, ist die Tat­ sache, daß die erwähnten Operationen oft noch in eine innere Schleife eingebettet sind. Hierdurch multipliziert sich die Ineffektivität solcher Operationen mit der Anzahl der durchgeführten Schleifen.
Es ist deshalb in hohem Maße erwünscht, den Betrag des Software-Codes zu minimieren, der erforderlich ist, um bearbeitet zu werden, damit der Datenumschichtungsvorgang ausgeführt werden kann. Es ist weiterhin wünschenswert, die Notwendigkeit für das Verschieben oder Rotieren der Daten zu vermindern, bevor diese Daten in die neue Bestimmungsspeicher­ zelle eingeschrieben werden.
Der Erfindung liegt die Aufgabe zugrunde, eine Steuerung der Daten­ bewegung im Bildpufferspeicher zu erreichen, die hohen Anforderungen entspricht.
Diese Aufgabe wird gemäß den Merkmalen des Patentanspruchs 1 gelöst.
Der mit der Erfindung erzielte Vorteil besteht insbesondere darin, daß es dem Zentralrechner gestattet wird, am Bildpufferspeicher mit etwas Zugriff zu nehmen, das effektiv eine gleitende Satzgrenze ist. Hierdurch wird ein wesentlich verbessertes Betriebsverhalten erreicht, und zwar nicht nur im Hinblick auf eine größere Geschwindigkeit, sondern auch bezüglich der Minimierung der Codegröße. Dies hat einen erheblichen Einfluß auf die Geschwindigkeit eines Systems bei solchen Systemen, in denen der ausführ­ bare Code in einen langsameren Sekundärspeicher ein- und ausgelagert wird. Gemäß der Erfindung wird der Software-Code von der Notwendigkeit be­ freit, Pixel zu tragen. Jede Übertragung zum oder vom Speicher fügt ein Pixelwort aus der Quellenspeicherzelle im Speicher zu einer Versorgungs­ leitung hinzu und zieht ein Pixelwort heraus, das in die Bestimmungs­ speicherzelle im Speicher eingeschrieben wird. Hierdurch kann ein schneller Satzdatentransfer mit einer minimalen Beteiligung der Zentral­ einheit und ohne Verschieben oder Rotieren der umzuschichtenden Daten realisiert werden. Außerdem ermöglicht die Erfindung die Verschiebung von Bits von links nach rechts und von rechts nach links. Während man an­ nehmen kann, daß beim herkömmlichen Plattenkassettenlaufwerk eine Art von Aufspaltung der Datensätze auf der Sektorebene durchgeführt wird, kann man ebenfalls annehmen, daß bisher kein Versuch unternommen wurde, die Wörter von Daten auf der Bit-Positionsebene in der Weise aufzuspalten, daß sich im Effekt eine Fließwortgrenze ergibt. Mit der Erfindung wird also erreicht, daß ein Datenblock in einem Speicher bewegt werden kann, der die Aufspaltung der Daten jedes Worts in einem Datenwort bewirkt, das zwischen einer Haltevorrichtung und einer Bestimmungswortbildungs­ einrichtung bewegt wird. Weiterhin ermöglicht es die Erfindung, daß ein Datenblock in einem Speicher bewegt werden kann, in dem eine Zuordnungs­ gradmenge aus der Anfangs- und Endadresse der Quellenspeicherzellen- und der Bestimmungsspeicherzellen-Blockgrenzen bestimmt wird, sowie aus der Wortgröße, die in einem System verwendet wird, wo eine solche Menge die Art und Weise bestimmt, in welcher die aus dem Speicher geholten Daten zwischen die Bestimmungswortformationseinrichtung zugeordnet sind, um das Wort zu bilden, welches in die Bestimmungsspeicherzelle einge­ schrieben werden soll, und daß Haltemittel für die Bildung nachfolgender Wörter zum Schreiben in die Bestimmungsspeicherzelle vorgesehen sind.
Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
Fig. 1 ein Schaubild, welches die Verschiebung eines Datenblocks von einer Quell-Speicherzelle in eine Bestimmungs-Speicherzelle zeigt;
Fig. 2 eine Prinzipdarstellung der Erfindung;
Fig. 3 ein Flußdiagramm, welches den Betriebs-Datenfluß gemäß der Erfindung zeigt;
Fig. 4 ein veranschaulichendes Beispiel für die Erfindung, wobei die Information der Fig. 1 verwendet wird;
Fig. 5A und 5B veranschaulichende Beispiele für die Erfindung, wobei ein Block bzw. Satz von bitförmigen Daten von rechts nach links bewegt wird.
In der Fig. 1 ist ein Transfer eines Satzes 10 von Daten aus einer Quell- Speicherzelle - wobei bei der Bitposition 2 in einem Wort begonnen wird - in eine Bestimmungs-Speicherzelle dargestellt, die bei der Bitposition 4 in einem anderen Wort im Speicher beginnt. Ferner ist der Transfer eines anderen Satzes 12 von Daten dargestellt.
Die Buchstaben B bedeuten in der Figur Hintergrunddaten, während die Buchstaben I und J Abbildungsdaten bezeichnen, d. h. diejenigen Daten in den Sätzen von Daten, die verschoben werden sollen. Dagegen bezeichnen die Buchstaben S und U die am Bestimmungsort vorhandenen Daten.
Es wird nicht versucht, eine detaillierte Beschreibung der Operationen beim Lesen, Schreiben und Adressieren des Speichers zu geben, da solche Opera­ tionen zum Stand der Technik gehören und bekannt sind.
Aus der Fig. 1 ist ersichtlich, daß dann, wenn man das erste Wort aus der Quell-Speicherzelle erhält, die ersten sechs Bits des Bit-Satzes, der ver­ schoben werden soll, aus dem Speicher übernommen worden sind. Man er­ kennt weiterhin, daß in der Bestimmungsspeicherzelle nur vier Bitpositionen im ersten Wort die Bits aus dem Bit-Satz erfassen, der verschoben wird. Dies hat seinen Grund darin, daß die Satzgrenze in der Bestimmungs­ speicherzelle relativ zur Wortgrenze um zwei verschoben ist, wenn man sie mit der Satzgrenze an der Quell-Speicherzelle vergleicht.
Bei einem typischen Graphik-System würden die sechs Bits aus der Quell- Speicherzelle durch die Zentraleinheit (=CPU=Central Processing Unit) gedreht, so daß die ersten vier Bits in die richtigen Bitpositionen in bezug auf die Wortgrenzen in der Bestimmungsspeicherzelle verschoben werden. Das nächste Wort wird dann aus der Quell-Speicherzelle genommen, mit den bei der vorangegangenen Leseoperation nicht benutzten Bits kombiniert, gedreht und dann in die Bestimmungsspeicherzelle eingeschrieben. Solche Vorgänge dauern an, bis alle Daten im Satz in die Bestimmungsspeicher­ zelle eingeschrieben sind. Es versteht sich deshalb, daß solche Operationen für die Durchführung eine beachtliche Bearbeitungszeit der Zentraleinheit sowie zahlreiche Kodierzeilen erfordern.
In der Fig. 2 ist ein Blockdiagramm dargestellt, anhand dessen die Funktion der Erfindung im folgenden beschrieben wird. Der Speicher 15 speichert hierbei den Informationsrahmen. Es versteht sich, daß - obwohl sich die nachfolgende Beschreibung auf eine einzige Speicherebene bezieht - die Erfindung in gleicher Weise auf mehrere Speicherebenen anwendbar ist, beispielsweise bei einem Farbgraphiksystem.
Die Daten, die aus dem Speicher 15 ausgelesen werden, werden über den Datenbus bzw. die Datensammelschiene 14, die auch als A-Bus bezeichnet wird, auf die erfindungsgemäße Einrichtung gegeben. Die in den Speicher 15 einzuschreibenden Daten erscheinen auf dem Bus 16. Lese-/Schreib-Freigabe­ regelsignale gelangen von einer Zentraleinheit 18 auf die Leitungen 20. Der Speicher 15 wird über den Adressenbus 22 durch die Zentraleinheit 18 adressiert. Die Zentraleinheit 18 gibt auch eine Richtungs(fehler)anzeige auf die Leitung 24, Ausblendschutzsignale auf den Bus 26 und eine Zu­ ordnungsgrad-Information auf die Leitungen, die durch gestrichelte Linien dargestellt sind. Eine Bedienungsperson bzw. der Benutzer gibt über die Leitung 29 in die Zentraleinheit 18 eine Quellen- und Bestimmungsort­ koordinateninformation sowie eine Satzgrößeninformation ein.
Die erfindungsgemäße Einrichtung enthält ein Bestimmungsregister 30 und ein Quellenregister 32. Das Bestimmungsregister 30 wird für die Bildung solcher Wörter verwendet, die in die Bestimmungsspeicherzelle eingeschrieben werden sollen, während das Quellenregister 32 als ein Halteregister wirkt, um Daten aus der Bestimmungsspeicherzelle zu halten, damit sie von dem Bestimmungsregister 30 verwendet werden. Das Bestimmungsregister 30 erhält seine Daten von einem Multiplexer 34. Dieser Multiplexer 34 arbeitet so, daß er verschiedene Kombinationen von neu erhaltenen Daten sowie Daten, die von der vorangegangenen Wortbildungsoperation übriggeblieben sind, bereitstellt. Die Kombination solcher Daten kann entsprechend der Zuordnungsgradmenge, die von der Zentraleinheit 18 bereitgestellt wird, ausgewählt werden.
lm einzelnen erkennt man aus der Fig. 2, daß bei der Erfindung eine von acht Sammelschienen A, V 1, V 2, V 3, V 4, V 5, V 6 und V 7 entsprechend der Zuordnungsgradmenge ausgewählt werden kann. Jede dieser Sammelschienen stellt eine andere Kombination der Daten dar, die von den Multiplexern 36 und 38 erhalten werden. Diese verschiedenen Kombinationen werden durch einen Kreuzverbindungsblock 40 bereitgestellt.
Der Kreuzverbindungsblock 40 kann ein Block verdrahteter Leitungen sein, obwohl erfindungsgemäß andere Kombinationstechniken, z. B. Multiplexer, verwendet werden können. Die Tabelle, die sich in dem Kreuzverbindungs­ satz oder -block 40 der Fig. 2 befindet, veranschaulicht, wie die Bits der Daten, die von den Multiplexern 36 und 38 kommen, in verschiedenen Kombinationen und Positionen den einzelnen Sammelschienen V 1 bis V 7 zugeführt werden. Der Bus A stellt eine direkte Verbindung zwischen dem Speicher 15 und dem "0"-Eingang des Multiplexers 36 dar.
Die Multiplexer 36 und 38 empfangen über den Bus A Daten aus dem Speicher 15 sowie über den Bus B aus dem Quellenregister 32. Im einzelnen empfängt der Multiplexer 36 an seinem "0"-Eingang Daten, die aus dem Speicher 15 ausgelesen wurden, und an seinem "1"-Eingang Daten aus dem Quellenregister 32. Die Wahl zwischen diesen Datenquellen für die Ausgabe zur Kreuzverbindungsschaltung 40 wird durch die Richtungsanzeige aus der Zentraleinheit 18 bestimmt, die auf die Multiplexer-Auswahleingänge gegeben wird. In entsprechender Weise erhält der Multiplexer 38 an seinem "0"- Eingang Daten aus dem Quellenregister 32, während er an seinem "1"- Eingang Daten erhält, die aus dem Speicher 15 ausgelesen werden. Ein Richtungsanzeigezustand "0" bewirkt, daß Daten, die auf die "0"-Eingänge der Multiplexer 36 und 38 gegeben werden, Ausgangssignale werden, während ein Richtungsanzeigezustand "1" bewirkt, daß die Daten, die auf die "1"- Eingänge gegeben werden, zu Ausgangssignalen werden. Auf diese Weise kann eine Daten-Blockbewegung von links nach rechts und von rechts nach links mittels einer einfachen Änderung der Richtungsanzeige durchgeführt werden. Für den Fall, daß es erwünscht ist, Block-Bewegungen nur von rechts nach links durchzuführen, kann von den Multiplexern 36 und 38 ab­ gesehen werden, und die Sammelschiene A kann direkt mit der Sammel­ schiene E verbunden werden, während die Sammelschiene B direkt mit der Sammelschiene F verbunden werden kann.
Die Daten werden vom Multiplexer 36 über die Sammelschiene E dem Kreuzverbindungsblock 40 zugeführt. Derartige Daten werden in der Tabelle des Kreuzverbindungsblocks 40 mit dem Symbol E versehen, und zwar mit einem Zusatz, der die Bitposition der Daten in einem anderen Wort bezeichnet. Auf entsprechende Weise werden Daten durch den Multi­ plexer 38 auf der Sammelschiene F bereitgestellt und mit dem Buchstaben F bezeichnet, wobei Indizes die Bitposition der Daten in einem Wort be­ zeichnen. Die Multiplexer 36 und 38 dienen dazu, Daten zu dem Kreuz­ verbindungsblock 40 in dieselben Bitpositionen zu bringen, wie sie ihnen zu­ geführt wurden.
Die Zentraleinheit 18 gibt außerdem eine Maskenschutzinformation auf den Maskenschutzspeicher 44. Diese Information wird verwendet, um eine Schreib­ operation in speziellen Speicherplätzen des Bestimmungsregisters zu sperren und um den Multiplexer 34 zu steuern, wenn Daten aus einer Block- oder Satzgrenze ausgelesen werden.
Der Multiplexer 42 gibt Daten auf das Quellenregister 32, wobei diese Daten entweder aus dem Speicher 15 oder vom Ausgang des Quellenregisters 32 kommen. Die Auswahl zwischen diesen Datenquellen ist eine Funktion des Zustands des Maskenschutzspeichers 44. Bei dem in der Fig. 2 darge­ stellten Ausführungsbeispiel gibt ein ODER-Gatter 46 - falls der Inhalt des Maskenschutzspeichers 44 nicht Null ist - einen logischen 1-Zustand auf den Auswahleingang des Multiplexers 42, wobei die Daten aus dem Ouellen­ register 32 ausgewählt werden, um sie wieder in das Quellenregister 32 einzugeben. Hierdurch verbleiben dieselben Daten im Quellenregister 32, um bei der nächsten Wortbildungsoperation verwendet zu werden. Umgekehrt, wenn der Inhalt des Maskenschutzregisterspeichers 44 vollständig auf Null ist, werden die Daten, die aus dem Speicher 15 kommen, dem Quellen­ register 32 zugeführt, um dort gespeichert zu werden.
Bei einer Ausführungsform der Erfindung wird von dem Multiplexer 42 ab­ gesehen und stattdessen ein Signal vom ODER-Gatter 46 als ein Schreib­ signal auf das Quellenregister 32 gegeben, wobei das Quellenregister 32 nur über die Lesedatenleitung 14 ein Eingangssignal erhält. Wenn somit das Ausgangssignal des ODER-Gatters 46 anzeigt, daß der Inhalt des Masken­ schutzregisterhalters 44 nicht ausschließlich auf Null steht, wird das Quellenregister bezüglich des Schreibens gestoppt und der Inhalt des Quellen­ registers 32 bleibt unverändert.
Im folgenden wird unter Bezugnahme auf den Kreuzverbindungsblock 40 eine genauere Beschreibung seiner Wirkungsweise gegeben. Der Kreuzverbindungs­ block 40 empfängt acht Bits, E 0 bis E 7, vom Multiplexer 36 und acht Bits, F 0 bis F 7, vom Multiplexer 38. Um die Tabelle im Kreuzverbindungsblock 40 zu lesen, stellt jede Spalte einen anderen "V"-Bus dar und jede Zeile bedeutet eine Bitposition innerhalb des Busses. Es versteht sich, daß, obwohl das Ausführungsbeispiel der Fig. 2 ein Acht-Bit-Wort verwendet, gemäß der Erfindung auch andere Wortgrößen verwendet werden können. Der Bus V 1 bringt die Bits F 1 bis F 7 in ihre Bitpositionen 0 bis 6 und das Bit E 0 in seine Bitposition 7. In entsprechender Weise bringt der Bus V 4 die Bits F 4 bis F 7 in ihre ersten vier Bitpositionen, während er die Bits E 0 bis E 3 in ihre vier letzten Bitpositionen bringt. Wie bereits früher erwähnt, ist der ausgewählte Bus V eine Funktion der Zuordnungsgrad-Information aus der Zentraleinheit 18. Es wird darauf hingewiesen, daß die Bit-Positions­ zuordnungen des Kreuzverbindungsblocks 40 die Konvention der am wenigsten bedeutendsten Bits zu den bedeutendsten Bits von links nach rechts ver­ wendet. Wenn die Konvention von rechts nach links für die am wenigsten wichtigen Bits bis zu den wichtigsten Bits verwendet wird, sollten die Bit- Positionszuordnungen entsprechend modifiziert werden.
Die Funktionsweise der Schaltungsanordnung gemäß Fig. 2 versteht man besser, wenn man die Fig. 1, 3 und 4 sowie die zugehörigen Beispiele betrachtet. Die Fig. 3 stellt ein Flußdiagramm dar, welches die Funktions­ weise der Erfindung beim Umspeichern von Datensätzen erläutert. Um die Wirkungsweise der Erfindung deutlich zu machen, soll das Beispiel be­ trachtet werden, bei welchem der Block oder Satz 10 der Fig. 1 von seiner Quellenposition in seine Bestimmungsposition 11 gebracht wird. Die Fig. 4 stellt den Inhalt des Quellenregisters 32 und des Bestimmungsregisters 30 während der Verschiebung der Information vom Block 10 zum Block 11 in der Fig. 1 dar sowie während der Umschichtung der Information vom Block 12 zum Block 13 in der Fig. 1.
Bestimmung des Zuordnungsrads
Erfindungsgemäß werden die Daten aus dem Speicher 10 und aus dem Quellenregister 32 dem Bestimmungsregister 30 in einer Menge zugeordnet, die als Zuordnungsgrad bezeichnet wird. Diese Menge ist eine Funktion der Startadresse des Datensatzes an der Quellenspeicherzelle, der Startadresse der Bestimmungsspeicherzelle sowie der verwendeten Wortbreite, d. h. der Anzahl der Bits in einem Wort. Eine Reihe von Mengen werden im einzelnen wie folgt definiert:
X S = X-Koordinate der Quellenspeicherzelle;
X D = X-Koordinate der Bestimmungsspeicherzelle;
R S = X S modulo w, wobei "w" die Wortbreite ist;
R D = X D modulo w, wobei "w" die Wortbreite ist;
K = R S-R D, ungeachtet der Kapazitätsüberschreitung, und ausgedrückt im Zweierkomplement; und
Richtung = 0 für den Vorwärtstransfer (von links nach rechts), 1 für den Rückwärtstransfer (von rechts nach links)
Die Menge R S kann als die Bit-Positionsversetzung der Bestimmungsspeicherzellengrenze von einer Wortgrenze angesehen werden. Die Menge "K" ist diejenige, welche den Zuordnungsgrad definiert. Um "K" zu bestimmen, prüft man den log₂(w) der am wenigsten signifikanten Bits der Menge R S-R D, ausgedrückt im Zweierkomplement. Ist beispielsweise R S-R D=-1, so ist K=7. Ist in einem anderen Beispiel R S-R D=-5, so ist K=3. Bei allen diesen Beispielen wird eine Wortbreite von acht Bits angenommen.
Betrachtet man nun das Beispiel der Fig. 1, so erkennt man, daß R S=X S modulo 8=2 und R D=X D modulo 8=4. Damit ist R S=R D=-2=1110 (2er Komplement). Log₂(8)=3, weshalb K den drei am wenigsten signifikanten Bits von R S=R D gleich ist, d. h. K=6. Somit ist der Zuordnungsgrad für diese Umschichtung gleich 6. Es ist hierbei angenommen, daß die Richtung des Transfes von links nach rechts ist, so daß die Richtungsanzeige 0 ist.
Bestimmung des Maskenschutzes
Die Maskenschutzinformation wird durch die Prüfung der Satzgrenze bei der Bestimmungsspeicherzelle und durch die Bestimmung der Anzahl der Bit­ positionen in dem Wort, in dem die Satzgrenze gefunden wird, die durch den umgeschichteten Bit-Satz aufgenommen wird, definiert. Werden bei­ spielsweise die letzten vier Bitpositionen aufgenommen, so arbeitet die Maskenschutzinformation derart, daß die letzten vier Positionen im Wort geschützt sind. Wie weiter unten noch im einzelnen beschrieben wird, werden die ursprünglichen Daten während der Bildung der Bestimmungswörter an der Satzgrenze aus der Speicherzelle gelesen, in welche das Bestimmungswort eingeschrieben werden soll. Diese Daten werden sodann in das Bestimmungs­ wortregister 30 eingeschrieben, jedoch mit solchen Bitpositionen, welche Daten aus der Quellenspeicherzelle halten, die durch die Maskenschutz­ information geschützt sind.
Transfer von Daten an der Satz- oder Blockgrenze
Wie man aus der Fig. 3 erkennt, wird, nachdem der Zuordnungsgrad und die Richtung im Schritt 48 spezifiziert wurde, die Maskenschutzverriegelung 44 im Schritt 50 aufgehoben. Sodann wird beim Schritt 52 bestimmt, ob das gerade aus dem Speicher 15 ausgelesene Wort eine Grenze des verschobenen Satzes 10 enthält. Ist dies der Fall, so wird das nächste Wort aus der Quellenspeicherzelle ausgelesen, und die aus seinen Bits ausgewählten Bits werden dem Bestimmungsregister 30 entsprechend der Zuordnungsgradmenge zugeordnet. Schritt 54.
Bevor es weitergeht, wird im Schritt 55 bestimmt, ob der Arbeitsgang beim Start des bewegten Satzes ist. Ist dies nicht der Fall, so bedeutet dies, daß der Arbeitsgang am Ende der Satzgrenze ist und der Schritt 60 sofort ausgeführt werden kann.
Wenn der Arbeitsgang beim Start des zu bewegenden Satzes ist, bestimmt der Schritt 56 die Richtung, in welcher die Bewegung stattfindet. Erfolgt die Bewegung von links nach rechts, wird der Schritt 57 ausgeführt, erfolgt sie dagegen von rechts nach links, so wird Schritt 58 ausgeführt. Bei den Schritten 57 und 58 wird bestimmt, ob ein zweiter Lesevorgang erforderlich ist, um genügend Bits für die Bestimmungsspeicherzelle zu erhalten.
Der Schritt 57 bestimmt also, ob es in dem Wort, das aus der Quellen­ speicherzelle kommt, mehr Bits gibt, als durch die in der Bestimmungs­ speicherzelle verfügbaren Bitpositionen erfaßt werden können. Wenn R S größer als R D ist, bedeutet dies, daß die an der Bestimmungsspeicherzelle verfügbaren Bitpositionen Bits von dem gerade aus der Quellenspeicherzelle ausgelesenen Wort erfordern sowie Bits von dem nächsten aus der Quellen­ speicherzelle zu lesenden Textwort.
Ist umgekehrt R S kleiner oder gleich R D , so bedeutet dies, daß genügend oder mehr Bits aus der Quellenspeicherzelle zur Verfügung stehen, als durch die in der Bestimmungsspeicherzelle verfügbaren Bitpositionen erfaßt werden können. Wenn deshalb beim Schritt 57 bestimmt wird, daß R S größer als R D ist, wird der Schritt 59 ausgeführt, bei dem ein zweites Auslesen er­ folgt, um die zusätzlichen Bits aus der Quellenspeicherzelle zu erhalten, die erforderlich sind, um das Wort für die Bestimmungsspeicherzelle zu vervollständigen. Ist R S beim Schritt 57 größer als R D , so ist kein zusätz­ licher Lesevorgang erforderlich, bevor zum Schritt 60 weitergegangen wird.
Auf ähnliche Weise bestimmt der Schritt 58 für die Bewegung von rechts nach links, ob ein zweiter Lesevorgang erforderlich ist, um die Bits bereit­ zustellen, die zur Vervollständigung des Worts für die Bestimmungsspeicher­ zelle erforderlich sind. Weil die Bewegung von rechts nach links erfolgt, zeigt die Bedingung, daß R D größer als R S ist, an, daß ein zweiter Lese­ vorgang, Schritt 59, erforderlich ist.
Die obigen Schritte sind leichter verständlich, wenn man die Fig. 4 und 5B betrachtet. Diese Figuren enthalten drei Spalten, von denen die erste Spalte die Zeit, die zweite Spalte den Inhalt des Quellenregisters 32 und die dritte Spalte den Inhalt des Bestimmungsregisters 30 angibt. Gemäß Fig. 4 wird zur Zeit T 0, welche dem Schritt 54 in Fig. 3 entspricht, das erste Wort aus der Quellenspeicherzelle vom Speicher 15 gelesen. Wie bereits früher festgelegt, ist die Zuordnungsgrad-Menge 6, so daß die Daten auf dem Bus V 6 mittels des Multiplexers 34 zu dem Bestimmungsregister 30 übertragen werden. Dies bedeutet, daß die Daten in den beiden letzten Bitpositionen vom Multiplexer 38 die Bitpositionen 0 und 1 aus dem Multiplexer 34 ein­ nehmen, während die Daten in den ersten sechs Bitpositionen vom Multi­ plexer 36 die Bitpositionen 2 bis 7 des Multiplexers 34 einnehmen. Man beachte, daß die Daten aus dem Multiplexer 38 aus dem Quellenregister 32 kommen, weshalb die beiden letzten Bitpositionen aus dem Multiplexer 38 vom Quellenregister 32 herrühren.
Da dies das erste Wort ist, das vom Quellenspeicherplatz bereitgestellt wird, kann das Quellenregister 32 durchgehend Nullen in ihm haben; anders aus­ gedrückt sind dies "don′t care"-Bits bzw. unbeachtliche Bits. Somit sind die letzten beiden Bitpositionen des Quellenregisters Nullen, welche be­ wirken, daß die beiden ersten Bitpositionen, die vom Multiplexer 34 kommen, ebenfalls Nullen sind. Es ist zu beachten, daß die Daten aus dem Multi­ plexer 36 vom ersten Wort genommen werden, das aus der Quellenspeicher­ zelle im Speicher 15 ausgelesen wird. Die ersten sechs Bitpositionen vom Multiplexer 36 werden in die Bitpositionen 2 bis 7 vom Multiplexer 34 ge­ bracht, und sie entsprechen der Folge B, B, I a , I b , I c und I d . Das voll­ ständige Wort, das aus dem Speicher 15 ausgelesen wird, wird außerdem in dem Quellenregister 32 gespeichert, um es für die Bildung des nächsten Bestimmungswortes zu verwenden.
Das obige Beispiel betrifft den Fall, daß R S kleiner als R D ist. Die Folge, die bei den Zeitschlitzen T 6 und T 7 in Fig. 4 dargestellt ist, zeigt den Fall, daß R S größer als R D ist. Bei diesem Beispiel wird ein Satz von bitförmigen Daten 12, vgl. Fig. 1, in einen Bestimmungsspeicherplatz gebracht, der durch den Satz 13 angezeigt ist. Die Ouellenspeicherzelle bzw. der Quellen­ speicherplatz weist ein R S auf, das gleich 7 ist, während das R D für die Bestimmungsspeicherzelle gleich 6 ist. Der Zuordnungsgrad ist bei diesem Beispiel gleich 1. Somit werden die Daten, die aus dem Kreuzverbindungs­ block 40 auf den Bus V 1 gelangen, von dem Multiplexer 34 auf das Be­ stimmungsregister 30 gegeben.
Es wird angenommen, daß das Quellenregister 32 beim Zeitschlitz T 6 nur Nullen enthält. Das erste Wort, das aus der Quellenspeicherzelle 12 aus­ gelesen wird, enthält alle Hintergrunddatenbits, außer für die Bitposition 7, welche das Bit J a enthält. Die Zuordnung der Inhalte des Quellenregisters 32 und der Daten, die aus dem Speicher 15 ausgelesen werden, resultiert in einem Wort, das im Bestimmungsregister 30 gespeichert ist, das alle Nullen enthält, außer für ein Hintergrund-Bit in der Bitposition 7. Im Zeitschlitz T 7 wird das nächste Wort aus dem Quellenspeicherplatz im Quellenregister 32 gespeichert und dem Bestimmungsregister 30 zugeordnet. Dabei werden die Daten in der Bitposition 0 des nächsten Wortes aus der Quellenspeicher­ zelle in die Bitposition 7 des Bestimmungsregisters 30 gebracht. Außerdem werden die Daten, die im Quellenregister 32 an den Bitpositionen 1 bis 7 gespeichert waren, in Bitpositionen 0 bis 6 des Bestimmungsregisters 30 an­ geordnet. Auf diese Weise sind in den Zeitschlitzen T 6 und T 7 die Schritte 54, 55, 56, 57 und 59 des Flußdiagramms der Fig. 3 ausgeführt worden.
Die Fig. 5B betrifft die Bewegung eines Satzes oder Blocks von der Quellen­ speicherzelle 10 A zur Bestimmungsspeicherzelle 10 B, Fig. 5A, von rechts nach links. Hierfür sind die Schritte 54, 55, 56, 58 und 59 der Fig. 3 re­ levant. Aus der Fig. 5A erkennt man, daß R S gleich drei (3) ist und daß R D gleich sechs (6) ist. Somit werden Daten des nächsten Wortes der Quellenspeicherzelle benötigt, um das erste Wort der Bestimmungsspeicher­ zelle zu komplettieren.
In der Fig. 5B ist beim Zeitschlitz T 0 das erste Wort an der rechten Grenze des Blocks bei der Quellenspeicherzelle in das Quellenregister 32 einge­ schrieben. Die Bit-Daten in diesem Wort werden ebenfalls dem Bestimmungs­ register 30 entsprechend dem Bus V 5 der Kreuzverbindungstabelle 40 in Fig. 2 zugeordnet. Die Daten in den Bitpositionen 5 bis 7 des ersten Worts werden in die Bitpositionen 0 bis 2 des Bestimmungsregisters 30 geschrieben. Die Bitpositionen 3 bis 7 des Bestimmungsregisters 30 sind an diesem Punkt nicht zu beachten.
Da R D größer als R S ist, wird das nächste Wort aus der Quellenspeicher­ zelle im Zeitschlitz T 1 gelesen und zugeordnet. Dies entspricht dem Schritt 59 in der Fig. 3. Die Daten in den Bitpositionen 0 bis 2 des Bestimmungs­ registers 30 und die Daten in den Bitpositionen 0 bis 4 des Quellenregisters 32 werden in die Bitpositionen 3 bis 7 des Bestimmungsregisters 30 ein­ geschrieben.
Bei den bisher vorgesehenen Beispielen wird das erste Wort des Satzes be­ handelt. Dies bedeutet, daß Vorsorge getroffen werden sollte, um die Un­ versehrtheit der benachbarten Hintergrunddaten an den Satzgrenzen in der Bestimmungsspeicherzelle zu schützen. Wie man aus der Fig. 1 erkennt, enthält die Satzgrenze am Bestimmungsplatz 11 für den Datensatz 10 vier Bits an Hintergrundinformation (S 0 bis S 3), und zwar in den Bitpositionen 0 bis 3 des ersten Wortes. In entsprechender Weise enthält die Bestimmungs­ speicherzelle 13 für den Datenblock 12 sechs Bits von Hintergrunddaten (U 0 bis U 5). In der Fig. 5A weist die Block- oder Satzgrenze bei der Be­ stimmungsspeicherzelle 11 A zwei Bits der Hintergrunddaten (R 30 und R 31) in den Bitpositionen 6 und 7 auf.
Die Schritte 60 und 62 im Flußdiagramm der Fig. 3 bewirken, daß ein sol­ cher Schutz vorgesehen wird. Beim Schritt 60 wird die Maskenschutzinforma­ tion von der Zentraleinheit 18 in die Maskenschutzsperreinrichtung 44 ge­ schrieben. Im Hinblick auf den Zeitschlitz T 1 der Fig. 4 ist festzuhalten, daß die Bestimmungsspeicherzelle bzw. der Bestimmungsplatz vier Bitposi­ tionen aufweist, die durch die Hintergrundinformation eingenommen werden. Dies bedeutet, daß die vier verbleibenden Bitpositionen die umgeschichteten Daten erfassen bzw. aufnehmen. Die Maskenschutzinformation von der Zentraleinheit 18 schützt diese verbleibenden Bit-Speicherzellen und ermög­ licht das Einschreiben in die anderen Bit-Speicherzellen.
Auf diese Weise werden bei Schritt 62, Fig. 3, wenn die Bestimmungsspeicher­ zellen im Speicher 15 gelesen und die Daten in das Bestimmungsregister 30 eingeschrieben werden, nur solche Bitpositionen tatsächlich in das Be­ stimmungsregister 30 eingeschrieben, die der Hintergrundinformation ent­ sprechen. Man erkennt deshalb beim Zeitschlitz T 1 der Fig. 4, daß der Inhalt des Bestimmungsregisters 30 die ersten vier Bits der Hintergrund­ information sowie die ersten vier Bits aus dem Bit-Satz 10 enthält.
Im Zusammenhang mit dem Zeitschlitz T 8 der Fig. 4 erkennt man, daß die Maskenschutzinformation aus der Zentraleinheit 18 die Bitpositionen 6 und 7 davor schützt, eingeschrieben zu werden, und daß sie den Bitpositionen 0 bis 5 gestattet, die Hintergrund-Bits aus der Bestimmungsspeicherzelle zu empfangen.
Bei dem Zeitschlitz T 2 der Fig. 5B erkennt man, daß die Maskenschutz­ information aus der Zentraleinheit 18 die Bitpositionen 0 bis 4 davor schützt, eingeschrieben zu werden, und daß sie es den Bitpositionen 5 bis 7 ermög­ licht, die Hintergrund-Bits aus der Bestimmungsspeicherzelle zu empfangen.
Sobald das Bestimmungsregister alle Eingangssignale empfangen hat, wird sein Inhalt in die Bestimmungsspeicherzelle eingeschrieben, vgl. Schritt 64 in Fig. 3. Der nächste Schritt 66 wird hierauf ausgeführt, bei dem eine Anfrage stattfindet, ob alle Daten in dem Satz übertragen wurden. Ist dies der Fall, so ist die Bewegungsoperation beendet, vgl. Schritt 68. Trifft dies nicht zu, so kehrt die obige Prozedur zum Schritt 50 zurück.
Wenn eine Satzgrenze abgehandelt wurde, werden die verbleibenden Wörter im Block über die Schaltung der Fig. 2 mittels der Schritte 70 und 72 ge­ geben. Während dieser Phase braucht die Zentraleinheit 18 nur Lese- und Schreiboperationen durchzuführen. Wenn die andere Grenze des Blocks er­ reicht ist, bewirkt der Schritt 52, daß der Schritt 54 erneut ausgeführt wird. Unter diesen Voraussetzungen bewirkt der Schritt 55, daß die Schritte 56, 57, 58 und 59 umgangen werden. Der Schreibmaskenschutz wird beim Schritt 60 für diese andere Grenze neu definiert. Somit schützt die Masken­ schutzinformation aus der Zentraleinheit 18 während des Zeitschlitzes T 5 der Fig. 4 die Bitposition 0 davor, daß sie durch Daten überschrieben wird, die von der Bestimmungsspeicherzelle ausgelesen werden, während die Bit­ positionen 1 bis 7 nicht auf diese Weise geschützt sind. Bezüglich des Zeit­ schlitzes T 11 werden die Bitpositionen 0 und 1 geschützt, während die Posi­ tionen 2 bis 7 mit den benachbarten Hintergrundinformationen überschrieben werden dürfen. In entsprechender Weise wird in der Fig. 5B beim Zeit­ schlitz T 5 die Bitposition 7 geschützt, während die Positionen 0 bis 6 mit den benachbarten Hintergrundinformationen überschrieben werden dürfen.
Auf die oben beschriebene Weise können Datensätze schnell und effektiv von einem Punkt im Speicher zu einem beliebigen anderen Punkt im Speicher übertragen werden. Außerdem ermöglicht es die oben beschriebene Anord­ nung, daß Daten von links nach rechts oder von rechts nach links auf im wesentlichen gleiche Weise mit grundsätzlich denselben Schritten bewegt werden können.
Es versteht sich, daß die Zentraleinheit mit den Anfangs- und Endadressen von Quelle und Bestimmung versehen wird sowie mit einer Angabe über die Breite des verwendeten Wortes. Außerdem erhält die Zentraleinheit eine Angabe über die Richtung, in welcher der Transfer durchgeführt werden soll.
Die Schaltungsanordnung gemäß der Erfindung ist so ausgelegt, daß sie be­ sonders gut mit negativen Zahlen arbeitet, die in einer 2er Komplementform ausgedrückt sind. Somit ist keine zusätzliche Umkehrung des Zuordnungs­ grads der Daten von der Zentraleinheit erforderlich. Geht man von einem Wort mit acht Bits aus, so kann man die Zuordnungsgradinformation dadurch erhalten, daß man die drei am wenigsten signifikanten Bits des Ausgangs der Zentraleinheit 18 für die Menge R S -R D verbindet und über UND- Gatter 74 auf den Auswahleingang des Multiplexers 34 gibt. Ein Inverter 76 empfängt an seinem Eingang das Ausgangssignal eines ODER-Gatters 46. Das Ausgangssignal des Inverters 76 wird als Eingangssignal auf alle UND- Gatter 74 gegeben. Somit wird dann, wenn die Maskenschutzsperrung 44 nicht Null ist, das UND-Gatter 74 deaktiviert und die Daten auf dem Bus werden direkt auf das Bestimmungsregister 30 gegeben. Dies ist dann der Fall, wenn die Hintergrunddaten in das Bestimmungsregister eingeschrieben und der Grenzpunkt des Blocks verarbeitet werden.
Obwohl die Erfindung lediglich unter Bezugnahme auf eine einzige Ebene des Speichers 15 beschrieben wurde, versteht es sich, daß die Erfindung leicht auf mehrere Speicherebenen ausgedehnt werden kann. In einem sol­ chen Fall werden die Schaltungsanordnungen, die dem Bestimmungsregister 30, dem Quellenregister 32, den Multiplexern 34, 36, 38 und 42 und dem Kreuzverbindungsblock 40 entsprechen, von jeder Ebene des Speichers aus versorgt. Die Maskenschutzdaten, die Zuordnungsdaten, die Adresseninforma­ tion und die Richtungsanzeige sind dieselben für alle diese Ebenen.
Aus den vorangegangenen Ausführungen ergibt sich, daß aufgrund der Er­ findung das Eingreifen der Zentraleinheit auf ein Minimum reduziert ist und daß überdies ein minimaler Hardware-Aufwand für die Realisierung der Erfindung erforderlich ist. Beispielsweise können die Multiplexer 36, 38 und 42 jeweils als acht 2:1-Multiplexer ausgeführt sein. Der Multiplexer 34 kann mittels acht 8:1-Multiplexern realisiert werden.
Es ist außerdem festzuhalten, daß die Erfindung sich schnell ändernde Satz­ größen erfassen kann, da nur die Zuordnungsgradbestimmung eine beachtliche Zentraleinheitszeit erfordert.
Weiterhin gewährleistet die Erfindung den Schutz von Hintergrund-Bits in der Nachbarschaft der Satz- oder Blockgrenze in einfacher und effizienter Weise.
Alles dies trägt zur Fähigkeit einer sehr schnellen und effizienten Block­ bewegung bei, die bei der Fenster-Darstellung und allgemein bei graphi­ scher Umgebung nützlich ist. Da die optischen Wiedergabesysteme immer größere Bildschirme und zahlreichere Farben aufweisen, wird die Bean­ spruchung der Zentraleinheit für Satz- oder Blockbewegungen von Daten exponentiell zunehmen. Mit Hilfe der Erfindung werden die diesbezüglichen Anforderungen an die Zentraleinheit erheblich reduziert. Bei komplexen Operationssystemen wird wesentlich mehr Gebrauch gemacht vom Auslagern von Codes in langsamen Sekundärspeichern. Man kann davon ausgehen, daß die Erfindung eine Reduzierung der Codegröße um den Faktor zehn er­ möglicht. Derartige Graphikprogramme sind kleiner, laufen schneller und können sogar jederzeit im Systemspeicher - eher als im Sekundärspeicher - vorhanden sein.
Die Begriffe und Ausdrücke, die hier verwendet wurden, dienen als Mittel zur Beschreibung und nicht zur Beschränkung. Es ist nicht beabsichtigt, durch die Verwendung solcher Begriffe und Ausdrücke Äquivalente der dar­ gestellten und beschriebenen Eigenschaften oder Teile davon auszuschließen. Vielmehr sind zahlreiche Abwandlungen innerhalb der beanspruchten Erfin­ dung möglich.

Claims (16)

1. Einrichtung, gekennzeichnet durch
  • a) eine Zentraleinheit (18), welche einen Satz bitförmiger Daten aus einem Quellenspeicherplatz eines Speichers (15) in einen Bestimmungsspeicher­ platz dieses Speichers (15) verlagert;
  • b) bitförmige Daten, die als Wörter von vorgegebener Größe in dem Speicher (15) organisiert sind und als solche in diesen eingeschrieben und von diesem ausgelesen werden;
  • c) einen Quellenspeicherplatz und einen Bestimmungsspeicherplatz, die Grenzen an verschiedenen Bitpositionen innerhalb verschiedener Wörter im Speicher (15) haben können;
  • d) eine Einrichtung für Bestimmungswörter, welche Wörter der bitförmigen Daten empfängt und speichert, um diese bitförmigen Daten in ein Be­ stimmungswort zu formen, das in den Bestimmungsspeicherplatz ein­ geschrieben werden soll;
  • e) eine Halteeinrichtung, welche bitförmige Daten empfängt und speichert, damit sie in der Einrichtung für Bestimmungswörter verwendet werden können;
  • f) eine Einrichtung zum Teilen von Wörtern, die mit dem Speicher (15), mit der Einrichtung für Bestimmungswörter und mit der Halteeinrichtung kommuniziert, um bitförmige Daten in den vom Speicher (15) erhaltenen Wörtern der Einrichtung für Bestimmungswörter und der Halteeinrichtung zuzuordnen und um die bitförmigen Daten, die von der Halteeinrichtung empfangen werden, der Einrichtung für die Bestimmungswörter zuzu­ ordnen, so daß das Bestimmungswort derart gebildet wird, daß die bit­ förmigen Daten aus dem Quellenspeicherplatz in die richtige Bitposition innerhalb des Bestimmungsworts gebracht werden, die zum Einschreiben des Bestimmungsworts in den Bestimmungsspeicherplatz erforderlich ist.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Einrich­ tung zum Teilen folgendes enthält:
  • a) eine Einrichtung, welche auf den Quellenspeicherplatz und auf den Be­ stimmungsspeicherplatz anspricht, um einen Zuordnungsgrad zu bestim­ men; und
  • b) eine Einrichtung, welche die bitförmigen Daten aus dem Speicher (15) und aus der Halteeinrichtung erhält und die auf den Zuordnungsgrad anspricht, um die ausgewählten bitförmigen Daten aus dem Speicher (15) und aus der Halteeinrichtung zur Einrichtung für Bestimmungs­ wörter entsprechend dem Zuordnungsgrad zu bewegen.
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Einrich­ tung für die Bestimmung des Zuordnungsgrads enthält:
  • a) eine Versetzungs-Einrichtung, welche eine Bitpositionsversetzung der Quellenspeicherplatzgrenze im Verhältnis zur Wortgrenze bestimmt und welche eine Bitpositionsversetzung der Bestimmungsspeicherplatzgrenze im Verhältnis zu einer Wortgrenze bestimmt;
  • b) eine Grad-Bestimmungseinrichtung, welche auf die Bitpositionsversetzun­ gen der Quellenspeicherplatz - und der Bestimmungsspeicherplatzgrenzen anspricht, um den Zuordnungsgrad entsprechend einer Beziehung zu be­ stimmen, in welcher der Zuordnungsgrad gleich derjenigen Größe ist, die durch eine vorgegebene Anzahl von weniger signifikanten Bits des Unterschieds bezüglich der Bitpositionsverschiebungen repräsentiert wird, und zwar ausgedrückt in einer Zweierkomplement-Form, in welcher die vorgegebene Anzahl gleich log2(w) ist, wobei w die Breite eines Worts in Bits ist.
4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß
  • a) eine Schutzmaske zugeführt wird, wenn die Bestimmungsspeicherplatz­ grenze innerhalb eines Wortes erscheint, und daß
  • b) eine Bewegungseinrichtung vorgesehen ist, welche eine Kreuzverbin­ dungseinrichtung enthält, welche auf die bitförmigen Daten der Halte­ einrichtung und des Speichers anspricht, um mehrere vorgegebene Kom­ binationen der bitförmigen Daten aus der Halteeinrichtung und aus dem Speicher bereitzustellen, und daß
  • c) eine Auswahleinrichtung vorgesehen ist, welche auf mehrere vorgegebene Kombinationen der bitförmigen Daten und auf den Zuordnungsgrad an­ spricht, um aus den mehreren bestimmten Kombinationen ausgewählte bitförmige Daten für den Bestimmungsspeicherplatz entsprechend dem Zuordnungsgrad bereitzustellen, und daß
  • d) eine Halte-Auswahleinrichtung vorgesehen ist, welche auf die bitförmigen Daten aus dem Speicher und aus der Halteeinrichtung anspricht, und die auf die Schutzmaske anspricht, um die bitförmigen Daten aus dem Speicher zu bewegen oder die bitförmigen Daten aus der Halteeinrichtung zu der Halteeinrichtung als Funktion der Schutzmaske zurückzubewegen.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Kreuz­ verbindungseinrichtung (40) eine verdrahtete Schaltungsanordnung aufweist.
6. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Auswahl­ einrichtung eine Multiplexereinrichtung enthält, welche auf den Zuordnungs­ grad anspricht und mit der Kreuzverbindungseinrichtung (40) verbunden ist, um mehrere der vorgegebenen Kombinationen zu empfangen, wobei die Multiplexereinrichtung eine spezielle aus einer Mehrzahl von vorgegebenen Kombinationen abgibt, die durch den Zuordnungsgrad ausgewählt wurde.
7. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Einrichtung für die Bestimmung des Zuordnungsgrads durch die Zentraleinheit unter Software-Steuerung bereitgestellt wird.
8. Einrichtung nach Anspruch 4, gekennzeichnet durch
  • a) die Bereitstellung einer Richtungsanzeige durch die Zentraleinheit, wobei diese Richtungsanzeige die Richtung über den Speicher anzeigt, in dem die Verschiebung des Satzes der bitförmigen Daten auftreten soll;
  • b) eine erste Eingabeeinrichtung, welche ein erstes Wort von bitförmigen Daten empfängt, die sich in vorgegebenen Bitpositionen befinden;
  • c) eine zweite Eingabeeinrichtung, welche ein zweites Wort von bitförmigen Daten empfängt, die sich in vorgegebenen Bitpositionen befinden;
  • d) eine Richtungsmultiplexereinrichtung, welche auf die Richtungsanzeige und auf die bitförmigen Daten aus dem Speicher und aus der Halte­ einrichtung anspricht, um die bitförmigen Daten aus der Halteeinrich­ tung und aus dem Speicher auf die erste Eingabeeinrichtung oder die zweite Eingabeeinrichtung in Abhängigkeit von der Richtungsanzeige zu geben und
  • e) eine Einrichtung, welche mit der ersten Eingabeeinrichtung und mit der zweiten Eingabeeinrichtung gekoppelt ist, um die bitförmigen Daten aus der ersten Eingabeeinrichtung mit den bitförmigen Daten aus der zwei­ ten Eingabeeinrichtung zu kombinieren, damit eine Vielzahl von vor­ gegebenen Kombinationen entsteht und die Verschiebung eines Satzes bitförmiger Daten von links nach rechts oder von rechts nach links als Funktion der Richtungsanzeige fortschreiten kann.
9. Einrichtung nach Anspruch 1, gekennzeichnet durch
  • a) eine Einrichtung zur Identifizierung, wenn das Wort bitförmiger Daten, das aus dem Speicher ausgelesen wird, eine Grenze des Satzes bit­ förmiger Daten enthält, die verschoben werden;
  • b) eine Einrichtung zum Maskieren der Bitpositionen in der Einrichtung für die Wortbestimmung, welche die bitförmigen Daten aus dem Quellen­ speicherplatz aufnimmt, so daß die Bitpositionen nicht eingeschrieben werden können, und
  • c) eine Einrichtung zum Schreiben des Inhalts des Bestimmungsspeicher­ platzes in die Einrichtung für die Bestimmungswörter, so daß das Be­ stimmungswort, das durch die Einrichtung für die Bestimmungswörter gebildet wird, die bitförmigen Daten aus dem Quellenspeicherplatz und die bitförmigen Hintergrunddaten aus dem Bestimmungsspeicherplatz in der Nähe der Bestimmungsspeicherplatzgrenze enthält.
10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Be­ stimmungswort-Einrichtung auf ein Schreibsignal für jede der darin ent­ haltenen Bitpositionen anspricht, und daß die Zentraleinheit Schreibbefehls­ signale für jede der Bitpositionen der Einrichtung für die Bestimmungs­ wörter bereitstellt, und daß weiterhin die Einrichtung zum Maskieren eine Maskenschutzverriegelungseinrichtung enthält, die mit der Zentraleinheit und mit der Einrichtung für die Bestimmungswörter gekoppelt ist, um das Schreibbefehlssignal aus der Zentraleinheit für jede der Bitpositionen in der Einrichtung für die Bestimmungswörter zu speichern und um die Schreib­ befehlssignale auf die Einrichtung für die Bestimmungswörter zu geben.
11. Einrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Aus­ wahleinrichtung eine Einrichtung für die direkte Bewegung enthält, welche auf die Schreibbefehlssignale aus der Zentraleinheit anspricht, um die bitförmigen Daten, die aus dem Speicher von dem Quellenspeicherplatz ausgelesen werden, direkt auf die Bestimmungsworteinrichtung zu geben, wenn die Schreibbefehlssignale aus der Zentraleinheit anzeigen, daß eine Bitposition der Bestimmungsworteinrichtung vor einem Schreibvorgang geschützt ist.
12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß die Ein­ richtung für die direkte Bewegung enthält:
  • a) eine logische Einrichtung, welche auf den Inhalt der Maskenschutz­ sperreinrichtung anspricht, um eine Anzeige immer dann vorzusehen, wenn der Inhalt der Maskenschutzverriegelungseinrichtung nicht Null ist;
  • b) Gatterschaltungen, welche auf den Zuordnungsgrad aus der Zentral­ einheit ansprechen sowie auf die logische Einrichtung, um den Zuord­ nungsgrad für die Auswahleinrichtung bereitzustellen und um den Zu­ ordnungsgrad außer Kraft zu setzen, wenn der Inhalt der Maskenschutz­ sperreinrichtung nicht Null ist.
13. Verfahren zum Verschieben eines Satzes aus bitförmigen Daten von einem Quellenspeicherplatz in einem Speicher zu einem Bestimmungs­ speicherplatz in diesem Speicher, wobei die bitförmigen Daten in Form von Wörtern vorgegebener Breite in dem Speicher organisiert, eingeschrieben und herausgeholt werden und wobei die Quellen- und Bestimmungsspeicher­ plätze Grenzen an verschiedenen Bitpositionen innerhalb verschiedener Wörter im Speicher haben können, wobei dieses Verfahren folgende Schritte enthält:
  • a) Bestimmung einer Bitpositions-Versetzung der Quellenspeicherplatzgrenze im Verhältnis zu einer Wortgrenze sowie der Bitpositions-Versetzung der Bestimmungsspeicherplatzgrenze im Verhältnis zu einer Wortgrenze;
  • b) Bestimmung einer Zuordnungsgradmenge entsprechend einem Verhältnis, bei welchem der Zuordnungsgrad gleich derjenigen Größe ist, die durch eine vorgegebene Zahl von weniger signifikanten Bits des Unterschieds in den Bitpositions-Versetzungen der Quellenspeicherplatzgrenzen und der Bestimmungsspeicherplatzgrenzen dargestellt wird, und zwar ausge­ drückt in einer Zweierkomplement-Form, wobei die vorgegebene Zahl gleich log2(w) ist, worin w die Breite eines Wortes in Bits ist;
  • c) Halten von bitförmigen Daten eines zuvor aus einem Quellenspeicher­ platz eines Quellenregisters abgerufenen Worts;
  • d) Abrufen eines nächsten Worts von bitförmigen Daten aus dem Quellen­ speicherplatz;
  • e) Zuordnen der bitförmigen Daten, die in dem Quellenregister gehalten werden, und der bitförmigen Daten vom nächsten Wort zu einem Be­ stimmungsregister entsprechend der Zuordnungsgradmenge;
  • f) Speichern des nächsten Wortes der bitförmigen Daten im Quellenregister und
  • g) Wiederholen der Schritte "c" bis "f", bis alle bitförmigen Daten aus dem Quellenspeicherplatz in den Bestimmungsspeicherplatz verschoben sind.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Grenze des Bestimmungsspeicherplatzes in ein bestimmtes Wort zu legen ist, so daß sie von der Wortgrenze entfernt ist, wobei folgende Schritte durchge­ führt werden:
  • h) Bestimmen, welche Bitpositionen innerhalb des besonderen Worts den Bitpositionen in dem besonderen Wort entsprechen, welche die bit­ förmigen Daten aus dem Quellenspeicherplatz erfassen;
  • i) Lesen des besonderen Wortes aus dem Bestimmungsspeicherplatz;
  • j) Schreiben des besonderen Wortes in das Bestimmungsregister auf alle Bitpositionen, mit Ausnahme derjenigen, welche die bitförmigen Daten aus dem Quellenspeicherplatz erfassen sollen; und
  • k) Schreiben des resultierenden Inhalts des Bestimmungsregisters in den Bestimmungsspeicherplatz.
15. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß der Schritt "b" außerdem den Schritt enthält, die Zuordnungsgradmenge im Zweier­ komplementformat bereitzustellen.
16. Einrichtung zum Bewegen von Datenbits aus einem Quellenspeicherplatz in einem Speicher zu einem Bestimmungsspeicherplatz, dadurch gekenn­ zeichnet, daß der Speicher in der Form von Wörtern einer bestimmten Anzahl von Bits von Daten bei bezeichneten Wortadressen organisiert ist, so daß jedes Lesen und Schreiben in dem Speicher in Form von Wörtern erfolgt, und wobei ferner der Quellenspeicherplatz eine Grenze an einer Bitposition haben kann, die zur Wortgrenze versetzt ist, und wobei der Bestimmungsspeicherplatz eine Grenze an einer Bitposition haben kann, die von der Wortgrenze um einen Betrag entfernt sein kann, der sich von dem des Quellenspeicherplatzes unterscheidet, und daß diese Einrichtung enthält:
  • a) eine Einrichtung für die Bestimmung der Zuordnungsgradmenge ent­ sprechend einem Verhältnis, bei dem der Zuordnungsgrad gleich einem Betrag ist, der durch eine vorgegebene Zahl von am wenigsten signifi­ kanten Bits des Unterschieds im Bitpositionenabstand der Quellen­ speicherplatz- und der Bestimmungsspeicherplatzgrenzen dargestellt wird, wobei die vorbestimmte Zahl gleich log2(w) ist, worin w die Breite eines Wortes in Bits ist;
  • b) ein Bestimmungsregister zum Speichern von Datenbits;
  • c) ein Quellenregister zum Speichern von Datenbits;
  • d) eine Kreuzverbindungseinrichtung, welche auf die Zuordnungsgradmenge anspricht und mit dem Speicher, dem Bestimmungsregister und dem Quellenregister kommuniziert, um eine Kombination von Datenbits aus dem Speicher und aus dem Quellenregister in das Bestimmungsregister zu bringen, um ein Bestimmungswort zu bilden, wobei die besonderen Datenbits, die miteinander kombiniert werden, eine Funktion der Zu­ ordnungsgradmenge sind; und
  • e) eine Einrichtung zum Schreiben des Bestimmungsworts in den Bestim­ mungsspeicherplatz des Speichers.
DE3837847A 1988-02-19 1988-11-08 Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks Withdrawn DE3837847A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15790488A 1988-02-19 1988-02-19

Publications (1)

Publication Number Publication Date
DE3837847A1 true DE3837847A1 (de) 1989-08-31

Family

ID=22565810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3837847A Withdrawn DE3837847A1 (de) 1988-02-19 1988-11-08 Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks

Country Status (3)

Country Link
KR (1) KR890013562A (de)
DE (1) DE3837847A1 (de)
GB (1) GB2216301A (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758811A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites
US4103329A (en) * 1976-12-28 1978-07-25 International Business Machines Corporation Data processing system with improved bit field handling
US4520439A (en) * 1981-01-05 1985-05-28 Sperry Corporation Variable field partial write data merge

Also Published As

Publication number Publication date
KR890013562A (ko) 1989-09-23
GB2216301A (en) 1989-10-04
GB8903168D0 (en) 1989-03-30

Similar Documents

Publication Publication Date Title
DE2521436C3 (de) Informationswiedergewinnungsanordnung
DE2515696C2 (de) Datenverarbeitungssystem
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE2725718A1 (de) Verarbeitungssystem mit mehreren virtuellen adressenraeumen
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
DE2417795C2 (de) Datenverarbeitungsanlage
DE2154106A1 (de) Arbeitsspeicherwerk
DE2331589A1 (de) Datenverarbeitungsanordnung
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE1499182B2 (de) Datenspeichersystem
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2221442A1 (de) Assoziativspeicher
DE2055522B2 (de) Anordnung zur eingabe von daten in eine digitale datenverarbeitungsanlage
DE3743924A1 (de) Speichereinrichtung
DE2750126C3 (de) Datenverarbeitungssystem mit einem Zwischenpufferspeicher
DE2636788A1 (de) Datenspeicher fuer datensichtgeraete
DE2235883A1 (de) Datenverarbeitungseinrichtung
DE3837847A1 (de) Einrichtung und verfahren zum verschieben eines bitfoermigen datenblocks
EP0771463B1 (de) Verfahren und vorrichtung zum speichern und drehen von bitmustern
DE2927451A1 (de) Verfahren und vorrichtung zur gewaehrleistung der informationskohaerenz zwischen den vorspeichern und weiteren speichern eines informationsverarbeitungssystems mit mehrfachverarbeitung
DE3016269C2 (de)
DE2947115A1 (de) Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem
DE2710502A1 (de) Anordnung zur kohaerenten leitung einer speicherhierarchie

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee