WO1991006909A1 - Datentransfer-verfahren - Google Patents

Datentransfer-verfahren Download PDF

Info

Publication number
WO1991006909A1
WO1991006909A1 PCT/DE1990/000712 DE9000712W WO9106909A1 WO 1991006909 A1 WO1991006909 A1 WO 1991006909A1 DE 9000712 W DE9000712 W DE 9000712W WO 9106909 A1 WO9106909 A1 WO 9106909A1
Authority
WO
WIPO (PCT)
Prior art keywords
target data
section
data
source data
target
Prior art date
Application number
PCT/DE1990/000712
Other languages
English (en)
French (fr)
Inventor
Walter Eiler
Ngoc-Quang Pham
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO1991006909A1 publication Critical patent/WO1991006909A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the invention relates to a data transfer method with the following method steps: a source data section is read from a source data memory section of a source data memory and written into a shift register,
  • a target data section is read from a target data memory section of a target data memory and stored in a buffer
  • the source data section is shifted in the shift register relative to the target data section before the source data section is at least partially combined with the target data section and stored in an intermediate register, and
  • DMA Direct Memory Access
  • a source data section of any length (number of bits) is retrieved from a source data memory by appropriate commands from a control unit.
  • the source data storage section containing the source data section is addressed accordingly and its content is written into a shift register.
  • a target data section is read out by the control unit by addressing a corresponding target data storage section of a target data memory and is stored in a buffer.
  • the source data or target data sections usually consist of one byte or a number of bytes.
  • the source data section is shifted in the shift register by a predefinable number of data (bits) and the source data section is thus positioned relative to the target data section. Then a predefinable number of bits the shifted source data section is written into the corresponding memory cells of the buffer; the contents of the buffer memory are thus modified in such a way that individual data (bits) of the target data section are exchanged for individual data (bits) of the source data section. The content of the intermediate memory is then written into the target data memory. If the amount of source data to be transferred consists of several source data sections, the method is repeated in the same way with the following source data or target data sections until all source data have been processed.
  • the invention is based on the object of rapidly transferring the target data stored in a target data memory by transferring source data stored in a source data memory modify, taking into account the information contained in the original target data sections.
  • Logic circuit is logically linked and that the result of the link is written back into the target data storage section via the intermediate register.
  • the information contained in the target data section is evaluated or preserved, even if the link result is written back to the same target data storage section.
  • the image intended for printing on a recording medium which is initially stored in a target data memory (printer buffer)
  • a target data memory printer buffer
  • circuits which implement the Boul function NAND, NOR or OR are suitable as logic circuits.
  • An advantageous development of the method according to the invention provides that at least one source data section is formed by a freely definable data structure.
  • the target data memory or a target data memory area consisting of one or more target data memory sections can be provided with the content of the desired structure in accordance with the freely definable data structure in conjunction with a suitable logic circuit.
  • the data transfer method according to the invention is explained in more detail below in the drawing. 1 and 2 show an arrangement for carrying out the data transfer method according to the invention and FIG. 3 shows a flow chart of the data transfer method according to the invention.
  • Source data sections are stored in source data store sections in a source data store QD; examples are source data sections Q1 and Q2. represented in source data storage sections QS1 and QS2.
  • a source data section consists of two bytes (16 bits).
  • a desired source data section can be read out from the source data memory QD via a data bus DB and can be written into an intermediate memory Z.
  • the intermediate memory Z acts on the input side of a 16 bit 2: 1 demultiplexer DM.
  • Data output lines DLO or DLO 'to DL15 or DL15' are such
  • Memory cells SZO to SZ31 of a 32-bit shift register SR result in the data output line DLO the first memory cell SZO, the data output line DLO 'the 16th memory cell SZ15, the data output line DL1 the second memory cell SZ1 and the data output line DL1' the 17th memory cell SZ16 etc. of the shift register SR applied.
  • a selection input AS of the demultiplexer DM is supplied with control data from a control device (not shown in FIG.
  • the desired logic circuit LG can be selected from a number of different logic circuits which implement the Boul's functions OR, AND and NAND by means of a corresponding selection signal sent via the control bus CB.
  • a target data memory ZD has target data storage sections ZS1, ZS2 etc. in which target data sections ZI, Z2 etc. are stored. Appropriate addressing via the address bus AB makes it possible to read a target data section, for example the target data section ZI, from the target data memory ZD and to store it in a further intermediate memory ZW via the data bus DB.
  • the further buffer store ZW is connected to a further input of the logic circuit LG.
  • Output data occurring on the logic circuit LG on the output side as a function of the data lying on the input side and the selected logic combination are fed to an intermediate register ZR and from there under control of a controller (not shown) via the data bus DB to the target data memory ZD and overwrite it in the last read target data section.
  • a driver circuit TR is also shown, which is supplied with the target data stored in the target data memory ZD and intended for printing on the input side and in turn controls a print head DK according to the print data to be output.
  • the data bus DB is a first 2: 1 multiplexer MUX1, a second 2: 1 multiplexer MUX2, an 8-bit register REG1 with a downstream down counter AZ1, an 8-bit register REG2 with a downstream down counter AZ2, a 16-bit incremental register REG3 , a control logic CONL, and the buffer store Z with a downstream demultiplexer DM and the further buffer store ZW (see FIG. 1).
  • the logic circuit LG connects to the shift register SR and the further intermediate memory ZW with the intermediate register SR downstream thereof, the outputs of which are led to the data bus DB.
  • the multiplexer MUX1 is followed by an address register ADR1 and the multiplexer MUX2 by an address register ADR2.
  • the outputs of the address registers ADR1 and ADR2 are each led to an input of a multiplexer MUX3 or MUX4.
  • An adder ADD connects to the multiplexer MUX3, the output of which is led to the respective further inputs of the multiplexers MUX1 and MUX2.
  • Another input of the adder ADD is connected to an output of a further multiplexer MUX5, which on the input side is constantly connected on the one hand to a bit pattern corresponding to the numerical value 1 and on the other hand to the output of the incremental register REG3.
  • the output of the multiplexer MUX4 is routed to the address bus AB.
  • the control logic CONL corresponds via exchange lines AT to a DMA control module CONT, which in turn is connected to the control bus CB.
  • the DMA control module CONT is thus connected via the control bus CB to the rest of the control of the recording device, which is not shown in detail.
  • the DMA control module CONT in conjunction with the control logic CONL, takes over the other functions necessary for direct memory access (DMA) and from the literature (eg "microprocessors and microcomputers", Werner Diel, Würzburg, Vogel-Verlag 1980) known control functions. It forms the interface to the central processing unit (CPU), takes over the bus control, the control of the control and status registers and the interrupt control.
  • DMA direct memory access
  • control logic CONL controls and monitors the individual actions during the process, such as, for example, the activation of the demultiplexer DM and described in connection with FIG. 1 loading the individual registers. It also serves as
  • the modules are suitable for the parallel processing of 2 bytes (16 bits) and the connections described are designed as corresponding bus lines for the parallel transmission of 16 bits each.
  • the multiplexer MUX1 and thus the address register ADR1 are first loaded via the data bus DB with a start address of a first source data section Q1 to be read from the source data memory QD (cf. FIG. 1).
  • the multiplexer MUX2 or the address register ADR2 is loaded with the start address of a first target data storage section ZS1 to be read out.
  • the register REG1 is loaded with a value which represents the number of contiguous target data storage sections; this defines a coherent area within the target data store, after it has been processed - d. H.
  • the value of the down counter AZ1 is zero - a jump (offset) predetermined by the value of the incremental register REG3 to a new address within the target data memory ZD may have taken place.
  • the register REG2 receives a value which defines the number of the source data memory sections to be processed or the length of the source data sections to be processed. After this register content has expired (down counter AZ2 is at zero), the process for the selected source data storage area is ended. The method thus enables a block-wise storage of data stored in a continuous (contiguous) source data storage area in non-contiguous target data storage areas.
  • the buffer store Z is loaded with the (first) source data section Q1, which is determined by addressing the source data storage section QS1 according to the start address in the address register ADR1.
  • the second half of the shift register SR formed from the memory cells SZ16 to SZ31 is loaded with the source data section Q1 by the de ultiplexer DM transferring the data (16 bits) on the input side to its output lines DLO 1 in accordance with the selection signal AS controlled up to DL15 '.
  • the further intermediate memory ZW is loaded with the (first) target data section ZI, which is determined in the same way by the start address of the target data memory section ZS1 according to the address register ADR2.
  • the source data storage section Q1 is shifted in the shift register SR in accordance with a desired number of memory cells in the direction of the memory cell SZ1.
  • those source data of the source data section Q1 that are located in the half of the shift register SR formed from the memory cells SZO to SZ15 are linked according to the selected logic circuit LG with the target data section ZI stored in the further intermediate memory ZW.
  • the result of the logic circuit LG is stored in the intermediate register ZR and, in accordance with the address information provided by the multiplexer MUX4 (FIG. 2) on the address bus AB, is correctly stored in the target data memory ZD in the target data storage section ZS1, overwriting the target data section ZI written back.
  • the memory cells SZO to SZ15 (first half) of the shift register SR are supplied with the source data section Q1 by varying the selection signal AS via the demultiplexer DM.
  • the second half (memory cells SZ15 to SZ31) of the shift register SR is acted upon by the source data section Q2 (method step 2), which previously came from the source data memory QD the addressing described has been read out and written into the buffer Z (method step 1).
  • the process is carried out again with the following source data sections until, as described below, the process is ended after all the source data sections to be processed have been processed.
  • the counter readings of the down counters AZ1 and AZ2 are checked for zeroing by the control logic CONL (see FIG. 2). If the down counter AZ1 has reached zero, the next target data storage section in the target data memory ZD cannot be reached directly after the last target data storage section, but via a jump (offset). In this case, the incremental register REG3 supplies the width of the jump to be executed via the multiplexer MUX5 to the adder ADD, which changes the address register ADR2 accordingly via the multiplexer MUX2. Otherwise, the multiplexer MUX5 is loaded with the value 1 on the input side, which leads to an increase in the output value of the adder ADD and a corresponding increase in the address for the target data storage section by 1.
  • the address of the following source data storage section to be processed is formed by the output value of the multiplexer MUX3 in conjunction with the adder ADD by increasing the previous address by one. If the down counter AZ2 assigned to the register REG2 has reached zero after a corresponding number of process runs, this is the Length or number of source data sections to be processed reached.
  • the source data storage is first read out via the multiplexer MUX4 as described and the following source data section is written into the buffer store ZS1.
  • the source data section Q2 is now processed in the manner as previously described with reference to the source data section Ql or the target data section ZI. If there is no jump in the target data memory, the method is continued in an analogous manner with the target data section Z2; otherwise the target data section defined via a jump (offset) is to be read out.
  • the shift register SR By shifting the source data in the shift register SR, there is a simple manipulation option for preparing the information stored in the source data memory (for example, about letters to be printed out) for the target data memory, which is usually designed to be printhead-specific. In this way, the information stored continuously in the source data memory can be adapted to the desired character density (cpi).
  • the data transfer method according to the invention makes it possible to modify target data stored in the target data memory by linking it with the data stored in the source data memory, the information content of the former being taken into account; this is particularly advantageous if, for example, printing characters with short or excess lengths protrude into previous printing lines or micro-printing lines, for example a thermal transfer printer operating in parallel, or if a character arrangement was chosen so narrow that individual characters protrude into one another.
  • certain areas of the target data memory with a predetermined data structure - e.g. B. only with the state "zero” (RESET) or with the state "one” (SET) - provided.
  • a certain source data storage section which in the first case contains only the "zero" state, is linked to the respective target data section by means of the logic circuit by means of a logical AND.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

Ein in einem Quelldatenspeicher (QD) abgelegter Quelldatenabschnitt (Q1) wird aus diesem ausgelesen und relativ zu einem aus einem Zieldatenspeicher (ZD) ausgelesenen und in einem Zwischenspeicher (ZW) abgelegten Zieldatenabschnitt (Z1) verschoben, bevor zumindest ein teilweises Kombinieren des Quelldatenabschnitts (Q1) mit dem Zieldatenabschnitt (Z1) erfolgt. Zur Erhaltung bzw. Auswertung der in dem Zieldatenabschnitt (Z1) enthaltenen Informationen ist vorgesehen, eine Verknüpfung des verschobenen Quelldatenabschnitts (Q1) mit dem Zieldatenabschnitt (Z1) in einer Logikschaltung (LG) vorzunehmen und das Verknüpfungsergebnis in den Zieldatenspeicherabschnitt (ZS1) zurückzuschreiben, aus dem zuvor der Zieldatenabschnitt (Z1) ausgelesen wurde.

Description

Datentransfer-Verfahren
Die Erfindung betrifft ein Datentransfer-Verfahren mit folgenden Verfahrensschritten: - ein Quelldatenabschnitt wird aus einem Quelldatenspeicher¬ abschnitt eines Quelldatenspeichers ausgelesen und in ein Schieberegister eingeschrieben,
- ein Zieldatenabschnitt wird aus einem Zieldatenspeicher¬ abschnitt eines Zieldatenspeichers ausgelesen und in einem Zwischenspeicher abgelegt,
- in dem Schieberegister wird eine Verschiebung des Quelldaten¬ abschnitts relativ zu dem Zieldatenabschnitt vorgenommen, bevor der Quelldatenabschnitt zumindest teilweise mit dem Zieldatenabschnitt kombiniert und in einem Zwischenregister abgelegt wird, und
- der Inhalt des Zwischenregisters wird anschließend in den Zieldatenspeicher eingeschrieben.
Ein derartiges Verfahren ist aus dem "IBM-Technical Disclosure Bulletin", Vol. 29, No. 8, January 1987, Seiten 3336 und 3337 bekannt. Bei diesem bekannten Verfahren wird im sogenannten DMA (Direct Memory Access)-Betrieb ein Quelldatenabschnitt belie¬ biger Länge (Bit-Anzahl) durch entsprechende Befehle einer Kon¬ trolleinheit aus einem Quelldatenspeicher abgerufen. Dazu wird der den Quelldatenabschnitt enthaltende Quelldatenspeicherab¬ schnitt entsprechend adressiert und dessen Inhalt in ein Schie¬ beregister eingeschrieben. Ein Zieldatenabschnitt wird von der Kontrolleinheit durch Adressierung eines entsprechenden Ziel¬ datenspeicherabschnitts eines Zieldatenspeichers ausgelesen und in einem Zwischenspeicher abgelegt. Gewöhnlich bestehen die Quelldaten- bzw. Zieldatenabschnitte aus einem Byte oder einer Anzahl von Bytes. Von der Kontrolleinheit gesteuert wird in dem Schieberegister eine Verschiebung des Quelldatenabschnitts um eine vorgebbare Anzahl von Daten (Bits) vorgenommen und damit der Quelldatenabschnitt relativ zu dem Zieldatenabschnitt positioniert. Anschließend wird eine vorgebbare Anzahl von Bits des verschobenen Quelldatenabschnitts in die entsprechenden Speicherzellen des Zwischenspeichers eingeschrieben; damit wird der Inhalt des Zwischenspeichers in der Weise modifiziert, daß einzelne Daten (Bits) des Zieldatenabschnitts durch einzelne Daten (Bits) des Quelldatenabschnitts ausgetauscht werden. An¬ schließend wird der Inhalt des Zwischenspeichers in den Zielda¬ tenspeicher eingeschrieben. Besteht die zu transferierende Quelldatenmenge aus mehreren Quelldatenabschnitten, so wird das Verfahren in gleicher Weise mit den folgenden Quelldaten- bzw. Zieldatenabschnitten solange wiederholt, bis sämtliche Quell¬ daten abgearbeitet sind. Bei dem bekannten Datentransferver- fahren ist eine Modifikation der Zieldaten also nur in der Weise möglich, daß entweder einzelne Bits des Zieldatenab¬ schnitts oder der komplette Zieldatenabschnitt mit einzelnen Bits des Quelldatenabschnitts bzw. dem kompletten Quellda¬ tenabschnitt korrespondierender Länge überschrieben werden. Die in dem Zieldatenabschnitt enthaltene Information geht durch das (teilweise) Überschreiben dabei jeweils (teilweise) verloren.
Es ist aus der DE-OS 38 04 938 eine Bildverarbeitungseinrich¬ tung bekannt, die nach einem Verfahren arbeitet, bei dem Daten aus einem Quelldatenspeicher - gegebenenfalls nachdem diese zuvor in einer Prozessoreinheit verarbeitet worden sind - in einen Zieldatenspeicher übertragen werden. Diese Verarbeitung bzw. Modifizierung von Daten erfolgt somit nicht im DMA-Betrieb und ist insbesondere im Hinblick auf eine Anwendung bei einem Drucker problematisch, weil sie eine relativ lange Datenaufbe¬ reitungszeit erfordert. Damit ist eine maximal erreichbare Druckgeschwindigkeit erheblich begrenzt. Außerdem ist eine logische Verknüpfung des ursprünglichen Zieldatenabschnitts mit dem Quelldatenabschnitt durch die Prozessoreinheit bei diesem bekannten Verfahren nicht vorgesehen.
Der Erfindung liegt die Aufgabe zugrunde, die in einem Zielda- tenspeicher abgelegten Zieldaten durch Transfer von in einem Quelldatenspeicher abgelegten Quelldaten möglichst schnell zu modifizieren, wobei die in den ursprünglichen Zieldatenab¬ schnitten enthaltenen Informationen Berücksichtigung finden.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß der Quelldatenabschnitt mit dem Zieldatenabschnitt in einer
Logikschaltung logisch verknüpft wird und daß das Verknüpfungs¬ ergebnis über das Zwischenregister in den Zieldatenspeicher¬ abschnitt zurückgeschrieben wird. Durch die logische Ver¬ knüpfung des Zieldatenabschnitts mit dem Quelldatenabschnitt wird die in dem Zieldatenabschnitt enthaltene Information ausgewertet bzw. bewahrt, auch wenn das Verknüpfungsergebnis in denselben Zieldatenspeicherabschnitt zurückgeschrieben wird. Damit läßt sich in vorteilhafter Weise beispielsweise das zu einem Ausdruck auf einem Aufzeichnungsträger bestimmte Bild, das zunächst in einem Zieldatenspeicher (Drucker-Buffer) gespeichert wird, in vielfältiger Weise mittels in einem Quelldatenspeicher enthaltener Information verändern, ohne daß unerwünschte Informationsverluste auftreten.
Im Hinblick auf verschiedene Anwendungsfälle, beispielsweise zur Realisierung verschiedener Druckbilder eines Druckers, ist es vorteilhaft, daß eine Anzahl verschiedener Logikschaltungen zur Verfügung gestellt wird und daß jeweils eine Logikschaltung zur logischen Verknüpfung ausgewählt wird. Als Logikschaltungen kommen insbesondere Schaltungen, die die Boul'sche Funktion NAND, NOR oder OR realisieren, in Frage.
Eine vorteilhafte Fortbildung des erfindungsgemäßen Verfahrens sieht vor, daß zumindest ein Quelldatenabschnitt von einer frei vorgebbaren Datenstruktur gebildet wird. Dadurch kann in vor¬ teilhafter Weise der Zieldatenspeicher bzw. ein aus einem oder mehreren Zieldatenspeicherabschnitten bestehender Zieldaten¬ speicherbereich gemäß der frei vorgebbaren Datenstruktur in Verbindung mit einer geeigneten Logikschaltung mit einem Inhalt gewünschter Struktur versehen werden. Im folgenden wird das erfindungsgemäße Datentransfer-Verfahren in der Zeichnung näher erläutert. Es zeigen Fig. 1 und Fig. 2 eine Anordnung zur Durchführung des erfindungsgemäßen Datentransfer-Verfahrens und Fig. 3 ein Ablaufdiagramm des erfindungsgemäßen Datentransfer- Verfahrens.
Fig. 1 zeigt eine Anordnung zur Durchführung des erfindungs¬ gemäßen Verfahrens, angewendet zur Aufbereitung von Druckdaten für eine Aufzeichnungseinrichtung. In einem Quelldatenspeicher QD sind Quelldatenabschnitte in Quelldatenspeicherabschnitten abgelegt; beispielhaft sind Quelldatenabschnitte Ql und Q2. in Quelldatenspeicherabschnitten QS1 und QS2 dargestellt. Ein Quelldatenabschnitt besteht aus zwei Bytes (16 Bits). Durch entsprechende Adressierung über einen Adreßbus AB ist aus dem Quelldatenspeicher QD ein gewünschter Quelldatenabschnitt über einen Datenbus DB auslesbar und in einen Zwischenspeicher Z einschreibbar. Der Zwischenspeicher Z beaufschlagt eingangs- seitig einen 16 Bit 2:1 Demultiplexer DM. Datenausgangslei- tungen DLO bzw. DLO' bis DL15 bzw. DL15' sind derart auf
Speicherzellen SZO bis SZ31 eines 32 Bit-Schieberegisters SR geführt, daß die Datenausgangsleitung DLO die erste Speicher¬ zelle SZO, die Datenausgangsleitung DLO' die 16. Speicherzelle SZ15, die Datenausgangsleitung DLl die zweite Speicherzelle SZ1 bzw. die Datenausgangsleitung DLl' die 17. Speicherzelle SZ16 usw. des Schieberegisters SR beaufschlagt. Über einen Kontroll¬ bus CB wird ein Auswahleingang AS des Demultiplexers DM mit Kontrolldaten einer in der Fig. 1 nicht gezeigten Steuerein¬ richtung beaufschlagt und damit bestimmt, ob die an dem Zwi- schenspeicher Z ausgangsseitig auftretenden Daten auf die Datenausgangsleitungen DLO bis DL15 und damit in die Spei¬ cherzellen SZO bis SZ15 oder auf die Datenausgangsleitungen DLO' bis DL151 und damit in die Speicherzellen SZ16 bis SZ31 durchgesteuert werden. Der Inhalt der Speicherzellen SZO bis SZ15 des Schieberegisters SR beaufschlagt über Ausgangslei¬ tungen ALO bis AL15 eingangsseitig eine Logikschaltung LG. Wie andeutungsweise dargestellt, kann die gewünschte Logikschaltung LG aus einer Anzahl verschiedener Logikschaltungen, die die Boul'sehen Funktionen OR, AND und NAND realisieren, mittels eines über den Kontrollbus CB gesendeten, entsprechenden Auswahlsignals ausgewählt werden.
Ein Zieldatenspeicher ZD weist Zieldatenspeicherabschnitte ZS1, ZS2 usw. auf, in denen Zieldatenabschnitte ZI, Z2 usw. abgelegt sind. Durch entsprechende Adressierung über den Adreßbus AB ist aus dem Zieldatenspeicher ZD ein Zieldaten¬ abschnitt, beispielsweise der Zieldatenabschnitt ZI, auslesbar und über den Datenbus DB in einem weiteren Zwischenspeicher ZW ablegbar. Ausgangsseitig ist der weitere Zwischenspeicher ZW mit einem weiteren Eingang der Logikschaltung LG verbunden. Ausgangsseitig an der Logikschaltung LG in Abhängigkeit der eingangsseitig einliegenden Daten und der gewählten logischen Verknüpfung auftretende Ausgangsdaten werden einem Zwischen¬ register ZR zugeführt und aus diesem unter Kontrolle einer nicht dargestellten Steuerung über den Datenbus DB dem Ziel- datenspeicher ZD zugeführt und in diesem unter überschreiben des zuletzt ausgelesenen Zieldatenabschnitts abgelegt. An¬ deutungsweise ist ferner eine Treiberschaltung TR gezeigt, die mit den in dem Zieldatenspeicher ZD abgelegten und zum Druck bestimmten Zieldaten eingangsseitig beaufschlagt wird und ihrerseits gemäß den auszugebenden Druckdaten einen Druckkopf DK ansteuert.
Fig. 2 gibt in sche atischer Darstellung einen weiteren Über¬ blick über eine Anordnung zur Durchführung des erfindungsge- mäßen Verfahrens. Der Datenbus DB ist auf einen ersten 2 : 1 Multiplexer MUX1, einen zweiten 2 : 1 Multiplexer MUX2, ein 8 Bit-Register REG1 mit nachgeordnetem Abwärtszähler AZ1, ein 8 Bit-Register REG2 mit einem nachgeordneten Abwärtszähler AZ2, ein 16 Bit-Inkrementalregister REG3, eine Kontrollogik CONL, sowie den Zwischenspeicher Z mit nachgeordnetem Demultiplexer DM und den weiteren Zwischenspeicher ZW (vgl. Fig. 1) geführt. An das Schieberegister SR und den weiteren Zwischenspeicher ZW schließt sich wie anhand von Figur 1 beschrieben die Logik¬ schaltung LG mit dem ihr nachgeordneten Zwischenregister SR an, dessen Ausgänge auf den Datenbus DB geführt sind. Dem Multi- plexer MUX1 schließt sich ein Adressregister ADR1 und dem Mul¬ tiplexer MUX2 ein Adressregister ADR2 an. Die Ausgänge der Adressregister ADR1 und ADR2 sind jeweils auf einen Eingang eines Multiplexers MUX3 bzw. MUX4 geführt. An den Multiplexer MUX3 schließt sich ein Addierer ADD an, dessen Ausgang auf die jeweiligen weiteren Eingänge der Multiplexer MUX1 bzw. MUX2 geführt ist. Ein weiterer Eingang des Addierers ADD ist mit einem Ausgang eines weiteren Multiplexers MUX5 verbunden, der eingangsseitig einerseits konstant mit einem dem Zahlenwert 1 entsprechenden Bitmuster und andererseits mit dem Ausgang des Inkrementalregisters REG3 verbunden ist. Der Ausgang des Mul¬ tiplexers MUX4 ist auf den Adressbus AB geführt. Die Kon- trollogik CONL korrespondiert über Austauschleitungen AT mit einem DMA-Kontrollbaustein CONT, der seinerseits an den Kon¬ trollbus CB angeschlossen ist. Der DMA-Kontrollbaustein CONT steht so über den Kontrollbus CB mit der übrigen nicht näher dargestellten Steuerung der Aufzeichnungseinrichtung in Verbin¬ dung. Der DMA-Kontrollbaustein CONT übernimmt im Zusammenspiel mit der Kontrollogik CONL die weiteren beim direkten Speicher¬ zugriff (DMA) notwendigen und aus der Literatur (z. B. "Mikro- Prozessoren und Mikrocomputer", Werner Diel, Würzburg, Vogel- Verlag 1980) bekannten Kontrollfunktionen. So bildet er das Interface zur Zentralrecheneinheit (CPU), übernimmt die Buskon¬ trolle, die Steuerung der Kontroll- und Statusregister sowie die Interruptsteuerung. Beim Auftreten eines Interrupts wird der gerade laufende DMA-Zyklus vollendet und die Buskontrolle anschließend an die Zentralrecheneinheit (CPU) zurückgegeben und ein entsprechendes Statusbit (WAIT) gesetzt, um den un¬ terbrochenen DMA-Betrieb anzuzeigen. Die Kontrollogik CONL steuert und überwacht die einzelnen Aktionen während des Verfahrens, wie beispielsweise die im Zusammhang mit der Figur 1 bereits beschriebene Ansteuerung des Demultiplexers DM und das Laden der einzelnen Register. Sie dient außerdem als
DMA-Interface. Die Bausteine sind für die parallele Verarbei¬ tung von 2 Bytes (16 Bits) geeignet und die beschriebenen Verbindungen sind als entsprechende Busleitungen zur parallelen Übertragung von jeweils 16 Bits ausgelegt.
Zur Durchführung des Datentransfer-Verfahrens wird zunächst der Multiplexer MUX1 und damit das Adressregister ADR1 über den Datenbus DB mit einer Startadresse eines ersten aus dem Quell- datenspeicher QD (vgl. Fig. 1) auszulesenden Quelldatenab¬ schnitts Ql geladen. In gleicher Weise wird der Multiplexer MUX2 bzw. das Adressregister ADR2 mit der Startadresse eines ersten auszulesenden Zieldatenspeicherabschnitts ZS1 geladen. Das Register REG1 wird mit einem Wert geladen, der die Anzahl der zusammenhängenden Zieldatenspeicherabschnitte repräsen¬ tiert; damit ist ein zusammenhängender Bereich innerhalb des Zieldatenspeichers definiert, nach dessen Abarbeitung - d. h. der Wert des Abwärtszählers AZ1 ist null - ein durch den Wert des Inkrementalregisters REG3 vorgegebener Sprung (Offset) zu einer neuen Adresse innerhalb des Zieldatenspeichers ZD gegebenenfalls erfolgt. Das Register REG2 erhält einen Wert, der die Anzahl der zu verarbeitenden Quelldatenspeicherab¬ schnitte bzw. die Länge der zu verarbeitenden Quelldatenab¬ schnitte definiert. Nach Ablauf dieses Registerinhalts (Abwärtszähler AZ2 steht auf null) ist das Verfahren für den gewählten Quelldatenspeicherbereich beendet. Das Verfahren ermöglicht somit ein blockweises Ablegen von in einem fortlau¬ fenden (zusammenhängenden) Quelldatenspeicherbereich abgelegten Daten in nicht zusammenhängende Zieldatenspeicherbereiche.
Anhand des in der Figur 3 dargestellten Ablaufdiagramms werden unter Bezugnahme auf die Figur 1 die wesentlichen Schritte des Datentransfer-Verfahrens detailliert erläutert. Nachdem zum Start des Datentransfer-Verfahrens wie vorstehend erläutert die Register ADR1, ADR2, REG1, REG2 und REG3 geladen und die ge¬ wünschte Logikschaltung LG ausgewählt worden sind, wird in einem ersten Verfahrensschritt der Zwischenspeicher Z mit dem (ersten) Quelldatenabschnitt Ql geladen, der durch die Adressierung des Quelldatenspeicherabschnitts QS1 gemäß der Startadresse in dem Adressregister ADR1 bestimmt ist.
In einem zweiten Verfahrensschritt wird die aus den Speicher¬ zellen SZ16 bis SZ31 gebildete zweite Hälfte des Schiebere¬ gisters SR mit dem Quelldatenabschnitt Ql geladen, indem der De ultiplexer DM die eingangsseitig anliegenden Daten (16 Bit) gemäß dem Auswahlsignal AS auf seine Ausgangsleitungen DLO1 bis DL15' durchsteuert. Parallel dazu erfolgt das Laden des weite¬ ren Zwischenspeichers ZW mit dem (ersten) Zieldatenabschnitt ZI, der in gleicher Weise durch die Startadresse des Zielda¬ tenspeicherabschnitts ZS1 gemäß dem Adressregister ADR2 be- stimmt ist. Während des Ladens des weiteren Zwischenspeichers ZW erfolgt ein Verschieben des Quelldatenspeicherabschnitts Ql in dem Schieberegister SR gemäß einer gewünschten Speicher¬ zellenzahl in Richtung auf die Speicherzelle SZ1 hin. Durch diese Parallelität der Aktionen ergibt sich in vorteilhafter Weise eine erhebliche Zeiteinsparung.
In einem dritten Verfahrensschritt erfolgt eine Verknüpfung derjenigen Quelldaten des Quelldatenabschnitts Ql, die sich in der aus den Speicherzellen SZO bis SZ15 gebildeten Hälfte des Schieberegisters SR befinden, gemäß der ausgewählten Logik¬ schaltung LG mit dem in dem weiteren Zwischenspeicher ZW abge¬ legten Zieldatenabschnitt ZI.
Das Verknüpfungsergebnis der Logikschaltung LG wird in einem vierten Verfahrensschritt in dem Zwischenregister ZR abgelegt und gemäß der von dem Multiplexer MUX4 (Fig. 2) auf den Adress¬ bus AB abgegebenen Adressinformation korrekt in den Zieldaten¬ speicher ZD in den Zieldatenspeicherabschnitt ZS1 unter Überschreiben des Zieldatenabschnitts ZI zurückgeschrieben.
In einem fünften Verfahrensschritt werden die Speicherzellen SZO bis SZ15 (erste Hälfte) des Schieberegisters SR durch Variation des Auswahlsignals AS über den Demultiplexer DM mit dem Quelldatenabschnitt Ql beaufschlagt.
Nach nachfolgend näher beschriebener Aktualisierung der Adre߬ register ADR1 und ADR2 in einem sechsten Verfahrensschritt wird in einem erneuten Verfahrensdurchlauf die zweite Hälfte (Speicherzellen SZ15 bis SZ31) des Schieberegisters SR mit dem Quelldatenabschnitt Q2 beaufschlagt (Verfahrensschritt 2), der zuvor aus dem Quelldatenspeicher QD durch die beschriebene Adressierung ausgelesen und in den Zwischenspeicher Z einge¬ schrieben (Verfahrensschritt 1) wurde. Das Verfahren wird solange mit den folgenden Quelldatenabschnitten erneut ausgeführt, bis wie nachfolgend beschrieben das Verfahren nach Abarbeitung sämtlicher zu verarbeitender Quelldatenabschnitte beendet wird.
Die Zählerstände der Abwärtszähler AZ1 und AZ2 werden von der Kontrollogik CONL auf Nullstellung überprüft (siehe Figur 2). Hat der Abwärtszähler AZ1 den Stand Null erreicht, ist der nächste Zieldatenspeicherabschnitt im Zieldatenspeicher ZD nicht direkt auf den letzten Zieldatenspeicherabschnitt fol¬ gend, sondern über einen Sprung (Offset) erreichbar. In diesem Fall wird von dem Inkrementalregister REG3 die Weite des auszu- führenden Sprunges über den Multiplexer MUX5 dem Addierer ADD zugeführt, der über den Multiplexer MUX2 das Adressregister ADR2 entsprechend verändert. Anderenfalls wird der Multiplexer MUX5 mit dem Wert 1 eingangsseitig beaufschlagt, was zur Erhö¬ hung des Ausgangswertes des Addierers ADD und zur entsprechen- den Erhöhung der Adresse für den Zieldatenspeicherabschnitt um 1 führt. Die Adresse des folgenden zu bearbeitenden Quelldaten¬ speicherabschnitts wird durch den Ausgangswert des Multiplexers MUX3 in Verbindung mit dem Addierer ADD durch Erhöhung der bisherigen Adresse um eins gebildet. Ist der dem Register REG2 zugeordnete Abwärtszähler AZ2 nach einer entsprechenden Anzahl von Verfahrensdurchläufen bei Null angelangt, ist damit die Länge bzw. Anzahl der abzuarbeitenden Quelldatenabschnitte erreicht.
Mit den auf diese Weise aktualisierten Adressen des folgenden Quelldatenspeicherabschnitts bzw. Zieldatenspeicherabschnitts wird über den Multiplexer MUX4 zunächst der Quelldatenspeicher wie beschrieben ausgelesen und der folgende Quelldatenabschnitt in den Zwischenspeicher ZS1 eingeschrieben. In der Fig. 3 ist dies jeweils angedeutet durch einen auf den ersten Verfahrens¬ schritt zurückgeführten Pfeil mit der Anweisung QN = Q,,. ■** . Das bedeutet, daß anstelle des Quelldatenabschnitts Ql im Ausführungsbeispiel nunmehr der Quelldatenabschnitt Q2 in der Weise wie zuvor anhand des Quelldatenabschnitts Ql bzw. des Zieldatenabschnitts ZI beschrieben, bearbeitet wird. Erfolgt kein Sprung im Zieldatenspeicher, wird das Verfahren in ana¬ loger Weise mit dem Zieldatenabschnitt Z2 fortgeführt; an¬ dernfalls ist der über einen Sprung (Offset) definierte Zieldatenabschnitt auszulesen.
Durch das Verschieben der Quelldaten in dem Schieberegister SR ist eine einfache Manipulationsmöglichkeit gegeben, die in dem Quelldatenspeicher abgelegten Informationen (beispielsweise über auszudruckende Buchstaben) für den Zieldatenspeicher aufzubereiten, der in der Regel druckkopfspezifisch ausgelegt ist. So können die im Quelldatenspeicher fortlaufend abgelegten Informationen der gewünschten Schriftzeichendichte (cpi) angepaßt werden. Das erfindungsgemäße Datentransfer-Verfahren ermöglicht, in dem Zieldatenspeicher abgelegte Zieldaten durch Verknüpfung mit den im Quelldatenspeicher abgelegten Daten zu modifizieren, wobei der Informationsgehalt der ersteren berück¬ sichtigt wird; dies ist besonders dann vorteilhaft, wenn bei¬ spielsweise Druckzeichen mit Unter- oder Überlängen in vorhergehende Druckzeilen bzw. Mikrodruckzeilen, beispielsweise eines parallel arbeitenden Thermotransferdruckers, hineinragen oder eine so enge Zeichenanordnung gewählt wurde, daß einzelne Schriftzeichen ineinanderragen. Mit dem erfindungsgemäßen Datentransfer-Verfahren lassen sich in einfacher Weise bestimmte Bereiche des Zieldatenspeichers mit einer vorgegebenen Datenstruktur - z. B. ausschließlich mit dem Zustand "Null" (RESET) oder mit dem Zustand "Eins" (SET) - versehen. Dazu wird ein bestimmter Quelldatenspeicherabschnitt, der im ersten Fall nur den Zustand "Null" enthält, mittels der Logikschaltung durch logisches AND mit dem jeweiligen Ziel¬ datenabschnitt verknüpft.

Claims

Patentansprüche
1. Datentransfer-Verfahren mit folgenden Verfahrensschritten:
- ein Quelldatenabschnitt (Ql) wird aus einem Quelldaten- speicherabschnitt (QS1) eines Quelldatenspeichers (QD) ausgelesen und in ein Schieberegister (SR) eingeschrieben,
- ein Zieldatenabschnitt (ZI) wird aus einem Zieldatenspei¬ cherabschnitt (ZSl) eines Zieldatenspeichers (ZD) ausgelesen und in einem Zwischenspeicher (ZW) abgelegt, - in dem Schieberegister (SR) wird eine Verschiebung des
Quelldatenabschnitts (Ql) relativ zu dem Zieldatenabschnitt (ZI) vorgenommen, bevor der Quelldatenabschnitt (Ql) zumindest teilweise mit dem Zieldatenabschnitt (ZI) kombi¬ niert und in einem Zwischenregister (ZR) abgelegt wird, und - der Inhalt des Zwischenregisters (ZR) wird anschließend in den Zieldatenspeicher (ZD) eingeschrieben, d a d u r c h g e k e n n z e i c h n e t , daß
- der Quelldatenabschnitt (Ql) mit dem Zieldatenabschnitt (ZI) in einer Logikschaltung (LG) logisch verknüpft wird und - daß das Verknüpfungsergebnis über das Zwischenregister (ZR) in den Zieldatenspeicherabschnitt (ZSl) zurückgeschrieben wird.
2. Datentransfer-Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , daß
- eine Anzahl verschiedener Logikschaltungen zur Verfügung gestellt wird und
- daß jeweils eine Logikschaltung zur logischen Verknüpfung ausgewählt wird.
3. Datentransfer-Verfahren nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t , daß zumindest ein Quelldatenabschnitt von einer frei vorgebbaren Datenstruktur gebildet wird.
PCT/DE1990/000712 1989-10-30 1990-09-13 Datentransfer-verfahren WO1991006909A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DEP3936334.1 1989-10-30
DE19893936334 DE3936334A1 (de) 1989-10-30 1989-10-30 Datentransfer-verfahren

Publications (1)

Publication Number Publication Date
WO1991006909A1 true WO1991006909A1 (de) 1991-05-16

Family

ID=6392634

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1990/000712 WO1991006909A1 (de) 1989-10-30 1990-09-13 Datentransfer-verfahren

Country Status (2)

Country Link
DE (1) DE3936334A1 (de)
WO (1) WO1991006909A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19612417B4 (de) * 1996-03-28 2004-02-19 OCé PRINTING SYSTEMS GMBH Verfahren und Schaltungsanordnung zum Ändern von Bilddaten

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136834A2 (de) * 1983-09-02 1985-04-10 Nec Corporation Digitalschaltung die eine arithmetische Operation mit Überlauf durchführt
EP0169638A2 (de) * 1984-06-19 1986-01-29 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Rasterbildmanipulator
US4641276A (en) * 1984-10-22 1987-02-03 General Electric Company Serial-parallel data transfer system for VLSI data paths
EP0334622A2 (de) * 1988-03-23 1989-09-27 Du Pont Pixel Systems Limited Rasteroperationen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU544563B2 (en) * 1980-05-29 1985-06-06 Sony Corporation Image/word processor
DE3129560C2 (de) * 1981-07-27 1983-12-15 Siemens AG, 1000 Berlin und 8000 München Steuerschaltung für einen Drucker
GB2113950B (en) * 1982-01-15 1986-10-01 Quantel Ltd Image composition system
US4815021A (en) * 1986-01-30 1989-03-21 Star Technologies, Inc. Multifunction arithmetic logic unit circuit
JPS6320581A (ja) * 1986-07-14 1988-01-28 Minolta Camera Co Ltd メモリアドレス発生方式
DE3804938C2 (de) * 1987-02-18 1994-07-28 Canon Kk Bildverarbeitungseinrichtung
JPH0833842B2 (ja) * 1987-05-01 1996-03-29 株式会社日立製作所 論理演算装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136834A2 (de) * 1983-09-02 1985-04-10 Nec Corporation Digitalschaltung die eine arithmetische Operation mit Überlauf durchführt
EP0169638A2 (de) * 1984-06-19 1986-01-29 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Rasterbildmanipulator
US4641276A (en) * 1984-10-22 1987-02-03 General Electric Company Serial-parallel data transfer system for VLSI data paths
EP0334622A2 (de) * 1988-03-23 1989-09-27 Du Pont Pixel Systems Limited Rasteroperationen

Also Published As

Publication number Publication date
DE3936334A1 (de) 1991-05-02

Similar Documents

Publication Publication Date Title
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2501853A1 (de) Prozessor fuer ein datenverarbeitungssystem
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2718110A1 (de) Datenverarbeitungseinheit
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
DE2749884C2 (de)
DE3923872A1 (de) Schaltungsanordnung zum steuern des zugriffs auf einen speicher
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
WO1991006909A1 (de) Datentransfer-verfahren
DE19905541A1 (de) Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens
EP1548603B1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE102008001739B4 (de) Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens
DE1499286A1 (de) Datenbearbeitungsanlage
EP0970426B1 (de) Abhängigkeitssteuerung für überlappende speicherzugriffe
DE10310340A1 (de) Datenzugriffsverfahren und System mit verteiltem, gemeinsam genutzten Speicher
DE3129560C2 (de) Steuerschaltung für einen Drucker
DE69531287T2 (de) Verbesserte speicheranordnungen
DE3534871C2 (de)
DE3842100C2 (de) Steuerungsverfahren für ein Cache-System
DE69734945T2 (de) Speichersystem und Datenkommunikationssystem

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE