EP0284905B1 - Anzeigesystem - Google Patents

Anzeigesystem Download PDF

Info

Publication number
EP0284905B1
EP0284905B1 EP19880104228 EP88104228A EP0284905B1 EP 0284905 B1 EP0284905 B1 EP 0284905B1 EP 19880104228 EP19880104228 EP 19880104228 EP 88104228 A EP88104228 A EP 88104228A EP 0284905 B1 EP0284905 B1 EP 0284905B1
Authority
EP
European Patent Office
Prior art keywords
word
bytes
data
buffer
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP19880104228
Other languages
English (en)
French (fr)
Other versions
EP0284905A2 (de
EP0284905A3 (en
Inventor
Roy Bernard Harrison
Nicholas David Butler
Ronald John Bowater
Paul William Norris
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of EP0284905A2 publication Critical patent/EP0284905A2/de
Publication of EP0284905A3 publication Critical patent/EP0284905A3/en
Application granted granted Critical
Publication of EP0284905B1 publication Critical patent/EP0284905B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to a display system comprising a display buffer for data indicative of picture elements with a facility for moving an image from one position to another by manipulating the data in the display buffer.
  • bits blit In order to move images (eg. a character) around or onto a display screen a technique commonly called "bit blit” or “bit blt” has been developed. Essentially, the technique involves the provision of logic for automatically copying data indicative of the picture elements (pels) forming an image in response to commands (eg. using a mouse) identifying the image in its original, or source, position and in its destination position.
  • commands eg. using a mouse
  • a memory location is read and the data thus obtained is then written to another memory location thus copying one pel of the image.
  • This process can be used, both for copying images from one position to another in a part of a display buffer which is actually scanned in order to generate a screen of displayed images, (ie. in an on-screen portion of the display buffer) and for copying images between an off-screen (ie. non visible) and an on-screen portion of a display buffer.
  • This latter technique is used in all points addressable (APA) display buffers for copying symbol definitions which are held in an off-screen part of a display buffer into an on-screen part of the display buffer when the symbols are actually to be displayed.
  • APA point addressable
  • the object of the present invention is to provide a display system with a mechanism for copying an image from a source position to a destination position which does not suffer from the disadvantage of prior art mechanism (cf. e.g. EP-A-0 158 314).
  • a display system comprising a word organized display buffer for storing bytes of data indicative of picture elements (pels) with a plurality of bytes of data stored in each buffer word, and means for copying an image from a source position to a destination position, said means for copying comprising means for reading one or more bursts of source words from a first set of word locations in the display buffer, the source words including bytes of data indicative of pels for the image in its source position, means for rearranging the bytes of data in a burst of read source words so as to form a set of destination words in which the bytes of data indicative of pels for the image are in destination order within the words and means for writing the destination words generated from each burst of read source words in a write burst to a second set of word locations in the display buffer such that the bytes of data indicative of the pels for the image are stored in the correct display buffer byte locations for representing the image in its destination position, the means for rearranging the bytes of data in
  • the barrel shifter is connected to the data output of the display buffer for receiving a source word read out of the display buffer and for rotating the source word by a selectable integral number of bytes.
  • the data input of the FIFO buffer is connected to the output of the barrel shifter for receiving a rotated word and the data output of the FIFO buffer is connected to the data input of the display buffer.
  • the control logic provides control signals to the barrel shifter and to the FIFO buffer addressing logic such that any byte in a rotated word which was rotated across the word boundary in the barrel shifter is stored in the FIFO buffer in an associated byte location in a register adjacent to the register in which is stored any byte in the rotated word which which was not rotated across the word boundary in the barrel shifter, whereby the set of destination words in which said bytes of data indicative of pels for the image are stored in destination order within the words is stored in the FIFO buffer.
  • the FIFO buffer is connected instead to the data output of the display buffer for receiving a source word read out of the display buffer.
  • the input to the barrel shifter is connected to the output of the FIFO buffer for receiving a data word from the FIFO buffer to be rotated by a selectable integral number of bytes and the output of the barrel shifter is connected to the data input of the display buffer.
  • the control logic provides control signals to the barrel shifter and to the FIFO buffer addressing logic such that any byte of said data word which is to be rotated across the word boundary in the barrel shifter is read from an associated byte location in a register adjacent to the register from which is read any byte in said data word which is not to be rotated across the word boundary in the barrel shifter, whereby the set of destination words in which said bytes of data indicative of pels for the image are in destination order is formed by the rotated word at the output of the barrel shifter.
  • control logic comprises read logic for defining a first set of display buffer addresses from which to read the source words and write logic for defining a second set of display buffer addresses to which to write the destination words.
  • the read logic causes a sequence of addresses from said first set to be generated, for a burst of source words to be read, until the FIFO buffer is full or until the words including bytes of data indicative of pels for the image in the source position are exhausted, which ever occurs first, and then the write logic causes a sequence of addresses from said second set forming a burst of write addresses to be generated until the FIFO buffer is emptied of bytes of data indicative of the image.
  • control logic can synchronise the addressing of the display buffer and the operation of the means for rearranging the bytes of data in a burst of read source words such that, after an appropriate number of bursts of source words have been read, rearranged and stored in the destination locations in the display buffer, the image is copied from the source position to the destination position.
  • a display system as above may include a display buffer which comprises an on-screen portion for storing bytes of data indicative of pels to be displayed on a display screen and an off-screen portion for bytes of data indicative of pels which are not displayed on a display screen.
  • the means for copying an image from a source position to a destination position will enable enable an image to be copied within one of the on-screen or off-screen portions and to be copied between said portions in either direction.
  • alpha numerics, text and even graphics images can be moved around a display screen in real time (eg in response to mouse movements) which can facilitate the editing of screens containing images of all types (eg for page composition in desk-top publishing). It is possible to rapidly copy images from an off-screen portion to an on-screen portion of an all points addressable (APA) display buffer in order to display symbols (eg. characters) whose pel definitions are held in the off-screen portion. In this way a screen of images, including alpha numerics, text and even graphics, can be created on a graphics display which is driven using an APA graphics display buffer with the performance normally associated with coded buffer alphanumerics only displays.
  • APA all points addressable
  • FIG. 1 shows an overview of a workstation including a display adapter in which the invention may be implemented.
  • the workstation comprises a number of different system units connected via a system bus 12.
  • the system bus comprises a data bus 14, an address bus 16 and a control bus 18.
  • Connected to the system bus are a microprocessor 10, random access memory 20, a keyboard adapter 28, a display adapter 32, an I/O adapter 22 and a communications adapter 26.
  • the keyboard adapter is used to connect a keyboard 30 to the system bus.
  • the display adapter which forms a specific embodiment of the present invention, connects the system bus to a display device 34.
  • the I/O adapter likewise provides a connection between other input/output devices 24 (eg. DASDs) and the system bus, and the communications adapter allows the workstation to be connected to and to communicate with an external processor or processors such as a host processor (not shown).
  • DASDs input/output devices
  • the display adapter includes an all points addressable (APA) display buffer 36 which can be accessed by the display device in order to fetch the data corresponding to the individual picture elements on the screen (see Figure 2A).
  • the data are fetched in synchronism with the scanning of the display screen.
  • the information in the display buffer is organised in accordance with the scanning sequence of the display refresh circuitry.
  • the display buffer also comprises an off-screen, or non-visible portion in which are stored images (eg. character or symbol definitions) which are not visible on the screen.
  • Figure 2A illustrates the display screen 38 as perceived.
  • the screen has "Y" lines of "X" pel positions each. As shown the rows of the screen are numbered from 0 to Y-1 starting from the top and moving down the screen. The pel positions in each row are likewise shown numbered, from left to right, 0 to X-1. It will be appreciated that the numbering is purely an arbitrary choice and that other numbering schemes could have been chosen.
  • This specific display buffer is organised on basis of words of 32 bits. Each pel is represented by an 8-bit byte of data defining the intensity and/or colour of the pel. It will be understood however, that other display buffer organisations are possible. For example, the buffer could be organised on words of another length and/or a different number of bits could make up a byte defining the intensity and/or colour of a pel (eg. 8 bit words and 4 bit bytes).
  • the display buffer is shown, for reasons of simplicity of explanation, as being organised from the bottom up as a linear stream of bytes within the buffer starting with the byte for the top left-most pel, followed by the bytes for the pels, from left to right, in the first row, the second row, and so on until the byte for the bottom right-most pel.
  • the display buffer could be organised for a screen which is refreshed using an interleaved scanning technique (i.e.
  • the scanning of even numbered rows alternates with the scanning of odd numbered rows
  • the image data for the individual pels of the display screen shown in Figure 2A by arranging for the image data for the individual pels of the display screen shown in Figure 2A to be stored with the data relating to the even numbered rows stored in a first sequence from a first address in the display buffer and the data relating to the odd numbered rows stored in a second sequence starting at a second address at or after the end of the first sequence.
  • the display buffer could be organised as a single sequence as shown in Figure 2B and the display scanning logic provided with the capability to extract the data it needs from the buffer in order to support an interleaved scanned display screen.
  • Figure 2A shows two rectangular blocks 40 and 42 which represent the source position 40 and the destination position 42 on the screen for a rectangular image to be moved.
  • the rectangular image comprises a row of 6 pels, the top-left of which is initially located at the screen position b,a.
  • the top-left of the destination position is d,c.
  • Figure 2B illustrates the source rectangle to be represented in the display buffer by a set of 6 bytes of data at 41.
  • the destination rectangle is represented in the display buffer by a set of 6 bytes of data at 43.
  • the alignment of the sets of data for the source and destination rectangles with respect to the word boundaries of the display buffer ie. the left/right edges of the block at bit address 0/31 shown in Figure 2B
  • a simple image lying on one row only of pels has been illustrated for reasons of ease of explanation. In practice the images to be moved will normally be larger and will normally cover a plurality of rows.
  • the display buffer in this adapter is formed from a 32 bit wide array of D-RAMS.
  • the minimum addressing unit is one 32 bit word.
  • the display buffer is, however provided with separate byte enables so that 0 to 4 bytes (each of 8 bits) may be written to as required for each write access with the remaining of the four bytes remaining unchanged.
  • the display buffer can be configured as an APA buffer so that each pel (ie. each 8-bit byte) can be selectively written to or not as the case may be even though four bytes (ie. a word) at a time are (is) addressed.
  • the present invention provides a solution to this problem by providing means for reading, processing and storing bursts of display buffer words.
  • the display buffer is implemented in D-RAMS and can be accessed on both word and byte boundaries
  • the present invention is not limited to such an organisation. It can equally be implemented with a display buffer in some other technology and where the buffer can only be accessed on the word boundaries and not on the byte boundaries.
  • the burst operation of the present invention allows, for example, a D-RAM "page mode” feature to be utilised which provides a further significant performance advantage.
  • "Page mode” is a feature conventionally provided in D-RAMS which, as a consequence of their internal chip organisation, allows faster access to sequential locations than to random locations.
  • FIG 3 is a schematic block diagram showing the interrelationship between various functional elements in the display adapter shown in Figure 1 which forms the specific embodiment of the present invention.
  • the adapter comprises a control unit 44 which is connected to the address bus 16 and to the control bus 18.
  • control storage 46 which is connected to the data bus 14 for the receipt of initialisation data from the workstation RAM.
  • Y and X source registers 48 and 50 and Y and X destination registers 52 and 54 are also connected to the data bus 14 for receiving initial position data as part of the initialisation data to be explained later.
  • Y and X source and Y and X destination registers are Y and X source and Y and X destination counters 56, 58, 60, 62, respectively.
  • An arithmetic logic unit 64 has four inputs each connected to the output of a respective one of the four counters 56, 58, 60, 62. The output of the arithmetic unit is connected to the address input of the display buffer 38.
  • the data outputs of the display buffer 36 are connected in parallel to the inputs of a barrel shifter 66 known per se, and whose purpose is to rotate a data word input thereto by an integral number of byte positions.
  • the data outputs of the barrel shifter are connected in parallel to the data inputs of a FIFO buffer 68 which is formed from a plurality (in this display adapter, eight) word-wide registers.
  • the FIFO buffer is provided with addressing logic 70 such that individual bytes in the FIFO buffer may be separately addressed and such that individual bytes presented simultaneously on the data inputs to the FIFO buffer may be stored in different words.
  • the FIFO buffer addressing logic contains byte pointers for indicating the start and finish of data in the FIFO buffer, whereby the FIFO buffer addressing logic can determine when the buffer is full, and when it is empty.
  • the data outputs of the FIFO buffer are connected back to the data inputs to the display buffer. Although shown as being separate, the data inputs and outputs of the display buffer may in fact be common - likewise for the FIFO buffer.
  • the control unit is connected via control inputs C to the control storage, the Y and X registers, the Y and X counters, the arithmetic logic unit the display buffer, the barrel shifter and the FIFO buffer address logic.
  • the FIFO buffer address logic is also connected to the control logic for passing "buffer full” and "buffer empty” signals.
  • the various functional units shown are provided in the form of a special purpose circuitry.
  • the logic units for example are provided by combinatorial logic.
  • the present invention does not however, exclude the possibility of implementing the logic in a software-and-processor-based system.
  • An image to be copied is processed by the display adapter in bursts.
  • the control logic first causes a burst of display buffer words containing bytes representative of the image in its source position to be read out from the display buffer. These words are passed through the barrel shifter, where the word is rotated as necessary and stored in appropriate byte locations in the FIFO buffer.
  • the FIFO buffer has the capability to write to two addresses simultaneously to obtain the desired result which is that the buffer locations match the destination display buffer word locations byte for byte and indeed, bit for bit.
  • the display adapter When the source has been completely read or the FIFO buffer is full (whichever comes first) the display adapter automatically switches from reading to writing and stores the burst of data words it has in its FIFO buffer into the display buffer at the destination locations. It should be noted that the processes described above cause the buffer to contain data in the format it is required for writing. That is each buffer word contains data in the correct alignment for writing unmodified into the corresponding display buffer words.
  • the display adapter automatically switches back and forth between read bursts filling the FIFO buffer and write bursts dumping the FIFO buffer into the destination display buffer locations.
  • the size of the X dimension of the image to the size of the FIFO buffer is irrelevant to this process. A large X dimension will result in many bursts being required to move one line of the image. A small X dimension will result in many lines of the image being transferred in a single burst. The buffer is therefore logically invisible.
  • the source image is read completely in a burst of two reads. (It will be understood that in a trivial case where the image is four by one pels in size, the burst might only include one read).
  • the control logic calculates from the source and destination X addresses that a rotation of one to the right is required in order to get the pels into the positions within the destination word in which they will be required during the write burst. Also further logic calculates that pels occupying the last position within the word need to be written in the FIFO buffer one location ahead of pels in the first, second and third positions.
  • an initialisation phase is, however, necessary.
  • the processor initialises the display adapter by sending positioning data to the adapter over the data bus.
  • the positioning data comprise image size information, information about the initial, or source position and the final, or destination position for that image and scan direction information. These data can result from operations using a mouse or instructions from a keyboard, and so on, and are supplied over the data bus to the control storage.
  • the source and destination position information comprises the "x" and "y” values for the screen position of one corner of the image (eg. the bottom right hand corner) in its source and destination positions.
  • the image size information defines the length of the horizontal and vertical sides of the image in terms of numbers of pels.
  • the scan direction information determines the directions in which the source and destination image positions should be scanned from the indicated screen position in order to avoid corrupting data. If the image positions are scanned in the wrong directions when the image positions overlap it might be that a location could receive new pel data before the old pel data had been read out.
  • Figures 2A and 2B illustrate a case where the source and destination rectangles do not overlap, though in practice it is common for images in the source and destination positions to overlap when an image is copied within the on-screen portion of the display buffer.
  • the aim is to avoid the need to write to a location which contains a byte of pel data which has not yet been read out of the display buffer. This can be done by comparing the source and destination positions of the image.
  • the direction of scanning of the image in the X or Y direction, or both as appropriate, will be opposite to the direction of movement of the image. If, for example, destination position of the image is to the right of the source position (ie. the direction of movement is to the right), the scanning will be from right to left.
  • the source and destination position information mentioned above identifies the position the screen location from which the "scanning" of the rectangles should start. These values can be calculated from the image position information, the image size information and the scanning direction information.
  • the initial Y and X values would first be read into the control storage and the computed values then passed via the dashed line shown in Figure 3 between the control storage and the registers.
  • an indication of the scanning direction is stored in the control storage and the initial Y and X positions for the source and destination images are stored in respective ones of the registers 48, 50, 52 and 54.
  • the values stored in the registers for the example in Figures 2 are as follows: Source Y register b; Source X register a+5; Destination Y register d; Destination X register c+5.
  • Specific combinatorial logic is provided in the control logic for determining the number of bytes of rotation which needs to be performed by the barrel shifter in order to align the bytes of the source words within the destination words.
  • the rotation required is calculated by subtracting the value of the source X position from the destination X position and truncating the result to the number of bits required to describe the number of pels in the word. This assumes, as is indeed the case, that there is a integral number of words per row on the display screen and that the number of pels per word is an integral binary power (eg. 4 as in this case).
  • the source address is "a+5" whilst the destination address is "c+5" and the number of bits required to describe the number of pels in one memory word is 2 (ie. there are 4 bytes per word).
  • Rotation (c - a) trunc 2.
  • the rotation necessary is in fact one byte to the left.
  • This rotation value is stored in the control storage and supplied to the barrel shifter.
  • the display adapter is then ready to start the operations on the display buffer. All the calculations described above are performed directly by combinatorial logic and do not therefore take time either in the microprocessor during setting up of the display adapter hardware or during operation of the display adapter hardware.
  • Figure 4 illustrates the logical flow of operations performed by read burst logic in the control logic
  • Figure 5 illustrates the logical flow of operations performed in write burst logic in the control logic during the modification of the display buffer contents.
  • control logic tests whether the FIFO buffer is full. This is done by examining the control output from the FIFO buffer addressing logic.
  • IN STEP 83 ie. the FIFO buffer is full
  • control is passed to the logic controlling a write burst as set out in Figure 5 and expanded later.
  • control logic causes the arithmetic logic to compute the address of the word in the display buffer containing the byte of data for the pel to be displayed on the screen at position indicated by the values currently in the source Y and X counters.
  • the actual computation to be performed will depend on the display buffer organisation, the number of pels per word and so on.
  • control logic determines whether the word address just calculated is a new source word address. If the address just calculated is the same as the last word address calculated for the source image, control passes to step 87.
  • the control logic then causes the display buffer word pointed to by the arithmetic logic to be read from the display buffer into the barrel shifter where it is rotated by the number of bytes determined to be necessary by the control logic.
  • the barrel shifter is formed from combinatorial logic and consequently allows pels to be rotated from their position in the source word to their position in the destination word without extra clock cycles.
  • the rotated word appears at the output of the barrel shifter and is read into appropriate byte locations in the FIFO buffer as addressed by the FIFO addressing logic under the control of the control logic.
  • the byte locations in the registers can be separately enabled whereby the FIFO addressing logic can address appropriate bytes in two adjacent registers at once. Any byte in a rotated word which was rotated across the word boundary in the barrel shifter is stored in the FIFO buffer in an appropriate byte location in a register adjacent to the register in which is stored any byte in the rotated word which which was not rotated across the word boundary in the barrel shifter.
  • the number of bytes per word is 4 and the rotation is one so only pels occupying byte 3 within the source word are rotated across the word boundary (ie. bytes in the left-hand word position as shown in Figure 2B).
  • step 87 the control logic determines from the horizontal length of the image rectangle (ie. the horizontal size) whether any more display buffer addresses calculations are to be performed for the current row of pels. This is done by maintaining a count in the control logic of the number of pels processed in the current row.
  • control logic decrements the source X counter as "x decrementing" was stored in the control storage. The control logic then returns to step 82.
  • step 88 If there are no more pels in the current row of the image, the logic proceeds to step 88.
  • control logic determines from the vertical length of the image rectangle (ie. the vertical size) whether there are any more rows to be processed for the image. This is done by maintaining a count in the control logic of the number of rows processed for the current image.
  • control logic decrements the source Y counter as "y decreasing" indication was stored in the control storage.
  • the control logic then returns to step 81 and causes the position value, a+5, for the x ordinate to be loaded from the source X position register into the source X position counter.
  • control logic passes control to the write burst logic as there are no more bytes of data relating to image pels in the source position in the display buffer.
  • control returns from the write burst logic the image copying operation is complete and the control logic terminates its operation.
  • control is either passed to step 91 on the first entry into a write burst during processing of an image, or to step 95 otherwise.
  • control logic tests whether there is another FIFO buffer word containing bytes to be written into a destination word location in the display buffer. This is done by examining the control output from the FIFO buffer addressing logic.
  • control is returned to either step 83 or 89 in the read burst logic from which control was passed to the write burst logic.
  • control logic causes the arithmetic logic to computes the address of the word in the display buffer containing the byte of data for the pel to be displayed on the screen at the position indicated by the values currently in the destination Y and X counters.
  • the actual computation to be performed will depend on the display buffer organisation, the number of pels per word and so on.
  • control logic determines whether the address just calculated is a new display buffer address. If the address just calculated is not new, control passes to step 98.
  • control logic then causes the next FIFO buffer word to be written to the display buffer word pointed to by the arithmetic logic.
  • the control logic only enables the locations in the destination word for bytes indicative of pels of the image to be written within the display buffer address pointed to by the arithmetic logic, in order to avoid corrupting bytes in the display buffer not forming part of the image.
  • the control logic keeps track of which bytes are to be written by counting the bytes in the FIFO buffer.
  • step 98 determines from the horizontal length of the image rectangle (ie. the horizontal size) whether any more display buffer destination word calculations are to be performed for the current row of pels. This is done by maintaining a count in the control logic of the number of pels processed in the current row.
  • control logic decrements the destination X counter as "x decreasing" was stored in the control storage. The control logic then returns to step 93.
  • step 99 If there are no more pels in the current row of the image, the logic proceeds to step 99.
  • control logic decrements the destination Y counter as a "y decreasing" indication was stored in the control storage.
  • the control logic then returns to step 92 and causes the X position value, c+5, for the x ordinate to be loaded from the destination X position register into the destination X position counter. It is not necessary to determine whether there are any more rows to be processed for the image as the FIFO buffer will be emptied of bytes before this can happen.
  • the positions of the barrel shifter and the FIFO buffer could be reversed so that the words of data indicative of the image in its source location are read straight into the FIFO buffer, and then the special addressing mechanism of the FIFO buffer used to compile data words which can be fed to the barrel shifter where they are rotated to form destination words and then stored in the destination locations in the display buffer.
  • the FIFO buffer is connected to the data output of the display buffer for receiving a source word read out of the display buffer.
  • the input to the barrel shifter is connected to the output of the FIFO buffer for receiving a data word from the FIFO buffer to be rotated by a selectable integral number of bytes and the output of the barrel shifter is connected to the data input of the display buffer.
  • the control logic provides control signals to the barrel shifter and to the FIFO buffer addressing logic such that any byte of said data word which is to be rotated across the word boundary in the barrel shifter is read from an appropriate byte location in a register adjacent to the register from which is read any byte in said data word which is not to be rotated across the word boundary in the barrel shifter.
  • the set of destination words in which said bytes of data indicative of pels for the image are in destination order is formed by the rotated word at the output of the barrel shifter.
  • the area displayed on the screen is rectangular.
  • the adapter could also be provided with the facility to copy images which are not rectangular by incorporating masking logic in the adapter. In simple terms this could be achieved in the workstation of Figure 1 by transferring mask boundary information from the workstation RAM to the off screen portion of the display buffer and subsequently copying image data for a rectangular area as described in the preceding description. In this case however the control logic would cause the data items relating to screen positions outside the mask boundary to be disregarded so that only that part of the rectangular image area within the boundary would be displaced.
  • each pel could effectively be processed separately in such logic although several pels could in practice be be processed concurrently.
  • scissoring logic may be employed to protect areas of the display buffer from being written to (but not from being copied). For example, areas outside a window on the display screen, or areas in off-screen storage can be protected in this way.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Input (AREA)

Claims (4)

  1. Ein Anzeigesystem, das einen auf Wortbasis organisierten Anzeigepuffer (36) zum Speichern von Datenbytes umfaßt, die sich auf Bildelemente (Pels) beziehen, wobei in jedem Anzeigepufferwort mehrere Datenbytes gespeichert sind, sowie ein Mittel zum Kopieren eines Bildes von einer Quellposition an eine Zielposition, wobei dieses Mittel zum Kopieren Mittel (48, 50, 56, 58, 64) zum Lesen eines oder mehrerer Blöcke von Quellwörtern aus einer ersten Gruppe von Wortpositionen im Anzeigepuffer umfaßt, wobei die Quellwörter Datenbytes enthalten, die sich auf Bildelemente für das Bild an dessen Quellposition beziehen, Mittel (44, 66, 68, 70) zur Neuanordnung der Datenbytes in einem Block von gelesenen Quellwörtern zur Bildung einer Gruppe von Zielwörtern, in denen diese Datenbytes, die sich auf Bildelemente für das Bild beziehen, innerhalb der Wörter in Zielreihenfolge angeordnet sind, sowie Mittel (52, 54, 60, 62, 64) zum Schreiben der aus den einzelnen Blöcken von gelesenen Quellwörtern in einem Schreibblock generierten Zielwörter in eine zweite Gruppe von Wortpositionen im Anzeigepuffer, wodurch die Datenbytes, die sich auf die Bildelemente für das Bild beziehen, an den korrekten Bytepositionen im Anzeigepuffer gespeichert werden, um das Bild an der Zielposition darzustellen, wobei das Mittel zur Neuanordnung der Datenbytes in einem Block von Quellwörtern folgendes umfaßt: ein gängiges Zylinder-Schieberegister (66) zum Drehen von Datenwörtern um eine wählbare ganze Zahl von Bytes, mehrere international gebräuchliche, als FIFO-Puffer (68) organisierte Register zum temporären Speichern der Datenbytes, die sich auf Bildelemente für das Bild beziehen, eine Adressierungslogik (70) des FIFO-Puffers, so daß einzelne Bytes innerhalb des Registers adressiert werden können, und eine Steuerlogik (44), über die Steuersignale an das Zylinder-Schieberegister (66) und die Adressierungslogik (70) des FIFO-Puffers angelegt werden können, so daß die Datenbytes in einem Block von gelesenen Quellwörtern so neu angeordnet werden, daß sie eine Gruppe von Zielwörtern bilden, in denen die Datenbytes, die sich auf Bild elemente für das Bild beziehen, innerhalb der Wörter in Zielreihenfolge angeordnet sind.
  2. Ein Anzeigesystem gemäß Anspruch 1, bei dem das Zylinder-Schieberegister (66) mit dem Datenausgang des Anzeigepuffers (36) verbunden ist, um ein Quellwort aufzunehmen, das aus dem Anzeigepuffer (36) ausgelesen wurde, und um das Quellwort um eine wählbare ganze Zahl von Bytes zu drehen, und bei dem der Dateneingang des FIFO-Puffers (68) mit dem Ausgang des Zylinder-Schieberegisters (66) verbunden ist, um ein gedrehtes Wort zu empfangen, und der Datenausgang des FIFO-Puffers (68) mit dem Dateneingang des Anzeigepuffers (36) verbunden ist und bei dem die Steuerlogik (44) Steuersignale an das Zylinder-Schieberegister (66) und die Adressierungslogik des FIFO-Puffers (68) sendet, so daß alle Bytes in einem gedrehten Wort, die im Zylinder-Schieberegister über die Wortgrenze hinaus gedreht wurden, im FIFO-Puffer (68) an einer zugehörigen Byteposition in einem Register neben den Register gespeichert werden, in dem alle Bytes in dem gedrehten Wort gespeichert werden, die im Zylinder-Schieberegister (66) nicht über die Wortgrenze hinaus gedreht wurden, wodurch die Gruppe von Zielwörtern, in der die Datenbytes, die sich auf Bildelemente für das Bild beziehen, innerhalb der Wörter in Zielreihenfolge gespeichert sind, im FIFO-Puffer (68) gespeichert wird.
  3. Ein Anzeigesystem gemäß Anspruch 1, bei dem der FIFO-Puffer (68) mit dem Datenausgang des Anzeigepuffers (36) verbunden ist, um ein Quellwort aufzunehmen, das aus dem Anzeigepuffer (36) gelesen wird, bei dem der Eingang des Zylinder-Schieberegisters (66) mit dem Ausgang des FIFO-Puffers (68) verbunden ist, um ein Datenwort aus dem FIFO-Puffer (68) aufzunehmen, das um eine wählbare ganze Zahl von Bytes gedreht werden soll, und bei dem der Ausgang des Zylinder-Schieberegisters (66) mit dem Dateneingang des Anzeigepuffers verbunden ist und bei dem die Steuerlogik Steuersignale an das Schieberegister und an die Adressierungslogik (70) des FIFO-Puffers sendet, so daß alle Bytes des Datenwortes, die im Zylinder-Schieberegister (66) über die Wortgrenze hinaus gedreht werden müssen, aus einer zugehörigen Byteposition in einem Register neben dem Register gelesen werden, aus dem die Bytes in dem Datenwort gelesen werden, die im Zylinder-Schieberegister (66) nicht über die Wortgrenze hinaus gedreht werden, wodurch die Gruppe von Zielwörtern, die die Datenbytes, die sich auf die Bildelemente für das Bild beziehen, in Zielreihenfolge enthalten, am Ausgang des des Zylinder-Schieberegisters (66) durch das gedrehte Wort gebildet wird.
  4. Ein Anzeigesystem gemäß Anspruch 2 oder Anspruch 3, bei dem die Steuerlogik (44) eine Leselogik (Fig. 4) zum Definieren einer ersten Gruppe von Anzeigepufferadressen, aus denen die Quellwörter gelesen werden sollen, sowie eine Schreiblogik (Fig. 5) zum Definieren einer zweiten Gruppe von Anzeigepufferadressen umfaßt, an die die Zielwörter geschrieben werden sollen, und bei der die Leselogik (die Anzeige) veranlaßt, daß eine Folge von Adressen aus der ersten zu generierenden Gruppe für einen Block von Quellwörtern solange gelesen wird, bis der FIFO-Puffer voll ist oder bis keine Wörter mehr vorhanden sind, die Datenbytes enthalten, die sich auf Bildelemente für das Bild an der Quellposition beziehen - je nachdem, welcher Fall zuerst eintritt- und anschließend die Schreiblogik veranlaßt, daß so lange eine Folge von Adressen aus der zweiten Gruppe generiert wird, bis der FIFO-Puffer keine Datenbytes mehr enthält, die sich auf das Bild beziehen, wobei die Steuerlogik (44) die Adressierung des Anzeigepuffers und den Funktionsablauf des Mittels zur Neuanordnung der Datenbytes in einem Block gelesener Quellwörter so synchronisiert, daß - nachdem ein oder mehrere Blöcke mit Quellwörtern gelesen, neu angeordnet und an den Zielpositionen im Anzeigepuffer gespeichert wurden - das Bild von der Quellposition an die Zielposition kopiert wurde.
EP19880104228 1987-04-02 1988-03-17 Anzeigesystem Expired - Lifetime EP0284905B1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8707851A GB2203317B (en) 1987-04-02 1987-04-02 Display system
GB8707851 1987-04-02

Publications (3)

Publication Number Publication Date
EP0284905A2 EP0284905A2 (de) 1988-10-05
EP0284905A3 EP0284905A3 (en) 1990-09-19
EP0284905B1 true EP0284905B1 (de) 1993-12-01

Family

ID=10615089

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19880104228 Expired - Lifetime EP0284905B1 (de) 1987-04-02 1988-03-17 Anzeigesystem

Country Status (5)

Country Link
EP (1) EP0284905B1 (de)
JP (1) JPS63251864A (de)
CA (1) CA1294380C (de)
DE (1) DE3885926T2 (de)
GB (1) GB2203317B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410783B1 (de) * 1989-07-28 1996-08-28 Hewlett-Packard Company Verfahren und Einrichtung zur Beschleunigung von Bildfenstern in graphischen Systemen
US5793887A (en) * 1993-11-16 1998-08-11 International Business Machines Corporation Method and apparatus for alignment of images for template elimination
DE4405330A1 (de) * 1994-02-21 1995-08-24 Vobis Microcomputer Ag Verfahren zum Scrollen von mehreren Rasterzeilen in einem Fenster eines Grafikmodus betriebenen Bildschirms eines Personalcomputers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2123656B (en) * 1982-06-09 1987-02-18 Tatsumi Denshi Kogyo Kk A method and an apparatus for displaying a unified picture on crt screens of multiple displaying devices
JPH06100911B2 (ja) * 1983-12-26 1994-12-12 株式会社日立製作所 画像データ処理装置及び方法
EP0158314B1 (de) * 1984-04-10 1993-07-21 Ascii Corporation Videoanzeigesteuersystem
JPS60245062A (ja) * 1984-05-18 1985-12-04 Matsushita Electric Ind Co Ltd デ−タ転送装置
JPS61124984A (ja) * 1984-11-22 1986-06-12 松下電器産業株式会社 デ−タ転送装置
EP0192139A3 (de) * 1985-02-19 1990-04-25 Tektronix, Inc. Steuergerät für einen Rasterpufferspeicher

Also Published As

Publication number Publication date
EP0284905A2 (de) 1988-10-05
JPS63251864A (ja) 1988-10-19
DE3885926T2 (de) 1994-05-19
GB2203317A (en) 1988-10-12
GB2203317B (en) 1991-04-03
DE3885926D1 (de) 1994-01-13
EP0284905A3 (en) 1990-09-19
GB8707851D0 (en) 1987-05-07
CA1294380C (en) 1992-01-14

Similar Documents

Publication Publication Date Title
US5742788A (en) Method and apparatus for providing a configurable display memory for single buffered and double buffered application programs to be run singly or simultaneously
EP0197412B1 (de) Bildpufferspeicher mit variablem Zugriff
EP0403122B1 (de) Rechnergesteuerte Bildüberlagerung
US5291582A (en) Apparatus for performing direct memory access with stride
EP0145821B1 (de) Einrichtung zum Füllen von Flächen für einen Rasterbildspeicher für graphische Farbbilder
EP0279229A2 (de) Grafik-Anzeigesystem
US4945495A (en) Image memory write control apparatus and texture mapping apparatus
US5056041A (en) Data processing apparatus with improved bit masking capability
JPH10505935A (ja) 改善されたメモリアーキテクチャ、及びこれを利用するデバイス、システム及び方法
GB2149157A (en) High-speed frame buffer refresh apparatus and method
JPH0431154B2 (de)
US5036475A (en) Image memory data processing control apparatus
US4706074A (en) Cursor circuit for a dual port memory
EP0279227B1 (de) Vektorgenerator für Raster-Bildschirmanzeige
US4747042A (en) Display control system
US5678037A (en) Hardware graphics accelerator system and method therefor
EP0525986A2 (de) Gerät mit schneller Kopierung zwischen Rasterpuffern in einem Anzeigesystem mit Doppel-Pufferspeichern
WO1995012167A1 (en) Method and apparatus for providing fast multicolor storage in a frame buffer
EP0284905B1 (de) Anzeigesystem
GB2180729A (en) Direct memory access window display
US5297240A (en) Hardware implementation of clipping and intercoordinate comparison logic
US5777631A (en) Method and apparatus for displaying a video window in a computer graphics display
EP0677192B1 (de) Mehrfache blockmodus-operationen in einem rasterpuffersystem für fensteroperationen
US4988985A (en) Method and apparatus for a self-clearing copy mode in a frame-buffer memory
EP0229986A2 (de) Kursorschaltung für einen Speicher mit zwei Eingängen

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT

17P Request for examination filed

Effective date: 19890222

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 19920811

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 19931201

REF Corresponds to:

Ref document number: 3885926

Country of ref document: DE

Date of ref document: 19940113

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19950227

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19950228

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19950330

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19960317

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19960317

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19961129

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19961203

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST