WO1998043154A2 - Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor - Google Patents

Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor Download PDF

Info

Publication number
WO1998043154A2
WO1998043154A2 PCT/JP1998/001297 JP9801297W WO9843154A2 WO 1998043154 A2 WO1998043154 A2 WO 1998043154A2 JP 9801297 W JP9801297 W JP 9801297W WO 9843154 A2 WO9843154 A2 WO 9843154A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
random access
access memory
command
information
Prior art date
Application number
PCT/JP1998/001297
Other languages
French (fr)
Other versions
WO1998043154A3 (en
Inventor
George Lyons
Original Assignee
Seiko Epson Corporation
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 Seiko Epson Corporation filed Critical Seiko Epson Corporation
Priority to JP54543898A priority Critical patent/JP2001505674A/en
Priority to EP98909862A priority patent/EP0927387A2/en
Publication of WO1998043154A2 publication Critical patent/WO1998043154A2/en
Publication of WO1998043154A3 publication Critical patent/WO1998043154A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Definitions

  • the present invention relates generally to interface circuitry between an information processing unit such as a personal computer and a display device such as a color video monitor.
  • the present invention relates to improving the efficiency of obtaining information stored in random access memory of a display adaptor compliant with interface specifications such as the Video Graphics Array standard by improving the way in which graphics controller latches are used.
  • Video adaptors conform to a variety of interface specifications, some of which are recognized standards and others of which are proprietary.
  • One well-known standard is the Video
  • VGA Graphics Array
  • each storage location in the video RAM of a VGA-compliant adaptor is individually addressable. The exact way in which this information is organized depends on the specific graphics mode that is used. In packed-pixel modes, information for one or more pixels are packed into each memory location. For example, one storage location could record 32 bits in which eight bits of information is stored for each of four pixels representing any one of 256 colors. In planar modes, video RAM is organized into several parallel planes. In one particular 16-color graphics mode, for example, four one-bit planes collectively provide for each pixel a four-bit value, thereby conveying any one of sixteen colors.
  • RAM random access memory
  • One or more "palettes” may be used in a display adaptor to translate the values stored in RAM into specific red, green and blue (RGB) levels which define particular colors.
  • RGB red, green and blue
  • a memory-read instruction when executed in packed-pixel mode, all information stored at a designated address is accessed. For the example mentioned above, the process of obtaining information for a single pixel results in information for four pixels being read.
  • a memory-read command is executed in planar mode, information is read from multiple planes at a designated address. In one particular planar mode, for example, a memory- read instruction obtains four bytes of information, one byte from each of four memory planes.
  • the information that is read from memory is not sent immediately to the device that requested it but instead is copied into one or more graphics controller latches and then subsequently returned to the requesting device.
  • Nearly all modern implementations of display adaptors use RAM to increase the speed at which video signals can be generated to render an image on a video display device.
  • a number of developments in the field of information processing, including the use of graphic display modes and a need to display greater numbers of colors to achieve more accurate rendering of color images, has lead to an increase in the amount of RAM that is typically used in a display adaptor. For example, several megabytes of RAM are used in display adaptors that are capable of supporting screen display resolutions of 1280 x 1024 pixels and/or are capable of displaying more than 16 million different colors.
  • Unfortunately as the amount of information stored in RAM has increased, the amount of time required to effect changes in displayed images has also increased; therefore, advances in faster memory management such as memory caching and dual-port RAM have been sought to improve the efficiency of generating display images.
  • a display adaptor comprises random access memory having a plurality of locations, each of location capable of storing a plurality of bits representing display attributes of one or more pixels in a display image, and a control circuit having a command input and a data output, the control circuit coupled to the random access memory so as to have read access to the locations, thereby being capable of generating a data signal at the data output in response to a memory-read command signal received at the command input, the data signal representing digital information stored in a respective location, the control circuit also having a latch circuit coupled to the random access memory so as to be capable of latching information representing the respective location and the digital information, wherein, in response to a subsequent memory-read command signal, the control circuit is capable of generating the data signal in response to information latched in the latch circuit without access to the random access memory whenever the subsequent memory-read command signal requests reading information in the random access memory stored at the respective location.
  • a method for generating an output signal representing digital information stored at a respective location in random access memory in response to a memory-read command comprises the steps of: receiving a command signal and determining whether the received command signal represents a memory- read command for reading information from the random access memory; if the received command signal does not represent a memory-read command, clearing a saved address if processing of a command represented by the received command signal affects contents of the random access memory, processing the command represented by the received command signal, and bypassing the following steps: if the received command signal does represent a memory-read command, determining whether the saved address agrees with a command address specified by the memory-read command; if the saved address does not agree with the command address, saving the command address as a new saved address, processing the memory-read command represented by the received command signal, wherein the processing includes obtaining information
  • a medium readable by a machine embodying a program of instructions executable by the machine to perform a method in a display adaptor comprising random access memory, wherein the method is equivalent to the method recited in the previous paragraph.
  • a display adaptor comprises random access memory having a plurality of locations, each of the locations capable of storing a plurality of bits representing display attributes of one or more pixels in a display image; a latch coupled to the random access memory so as to be capable of latching digital information stored in a location of the random access memory; and control means coupled to the random access memory and to the latch for generating an output signal in response to a command signal representing a memory-read command, wherein the output signal represents digital information stored at a specified location in the random access memory specified by the memory-read command, wherein the control means generates the output signal in response to information in the latch without access to the random access memory whenever the memory-read command requests information in the random access memory at a location corresponding to the information in the latch.
  • Display adaptors incorporating the present invention may be implemented using discrete components or high-level application-specific integrated circuits (ASIC), for example, and may include microprocessors or other forms of program-controlled circuits.
  • ASICs are used to obtain an implementation that is less expensive to manufacture than can be achieved by many other techniques; however, no particular implementation is critical to the practice of the present invention.
  • Fig. 1 is a functional block diagram of a typical personal computer incorporating a display adaptor for interfacing with a display device.
  • Fig. 2 is a functional block diagram of one embodiment of a display adaptor.
  • Fig. 3 is a flow diagram illustrating various aspects of one embodiment of a method according to the present invention.
  • Fig. 1 is a functional block diagram of a typical personal computer incorporating a display adaptor for interfacing with a display device.
  • CPU 2 provides computing resources.
  • Input/output 3 represents an interface to I/O device 4 such as a keyboard, mouse, modem or printer.
  • Storage controller 6 represents an interface to storage device 7 such as a magnetic tape drive or a disk drive.
  • Display adaptor 8 provides an interface to display device 9.
  • RAM 5 is system random access memory that should not be confused with any video RAM that may exist in display adaptor 8.
  • the functions of one or more of these components can be implemented in a wide variety of ways including discrete logic components, one or more ASICs and/or program-controlled processors.
  • bus 1 which may represent more than one physical bus.
  • some personal computers incorporate only a so called Industry Standard Architecture (ISA) bus.
  • ISA Industry Standard Architecture
  • Many more modern computers incorporate an ISA bus as well as a higher bandwidth bus conforming to some bus standard such as the VESA local bus standard or the PCI local bus standard.
  • display adaptor 8 connects to a high-bandwidth bus to improve the speed of display; however, a bus architecture is not required to practice the present invention.
  • the present invention pertains to features of display adaptor 8; therefore, all of the components illustrated in Fig. 1 are not required to practice the present invention.
  • a display adaptor incorporating aspects of the present invention may be used in an information processing system that includes only CPU 2, input/output 3 connected to some input device 4 such as a switch or keypad, RAM 5, display adaptor 8 and display device 9.
  • Fig. 2 is a functional block diagram of one embodiment of display adaptor 8.
  • controller 100 is coupled to bus 1 to send and receive signals conveying various types of information. For example, controller 100 receives commands from path 11, addresses from path 13, data from path 15 and timing from path 17. Controller 100 sends data to bus 1 along path 15.
  • a command received from path 11 is a memory-read command
  • the address received from path 13 indicates the location in memory that is to be read. Data that is obtained from memory by the read is placed into latch 102 and sent along path 15. If a command received from path 11 is a memory-write command, the address received from path 13 indicates the location in memory where data received from path 15 is to be written.
  • Controller 100 uses memory controller 104 to access video RAM 106.
  • Information read from video RAM 106 passes through memory controller 104 onto memory bus 109.
  • Information written into memory passes from memory bus 109 through memory controller 104 into video RAM 106.
  • memory bus 109 is a 32-bit bus. This width is not critical to the present invention and other widths can be used.
  • Cache 108 is optional but can be used to decrease the time required to access information stored in video RAM 106. Whether or not caching is used, information read from a location in video RAM 106 is placed into latch 102.
  • Video output 110 generates a video output display signal in response to information obtained from video RAM 106.
  • Video output 110 is critical to the practice of the present invention but typical implementations includes a first-in-first-out (FIFO) buffer to ease timing constraints imposed on obtaining information needed to generate a video output display signal, a palette to modify information obtained from video RAM 106 according to display attributes that can be established by controller 100, for example, to make color and gamma corrections, a video shift register to convert pixel information into a serial bit stream, and a digital-to-analog converter to generate an analog video signal. Controller 100 adapts the operation of shift register according to information such as the number of bits per pixel and also provides a video synchronization signal along path 123.
  • FIFO first-in-first-out
  • FIG. 2 The embodiment shown in Fig. 2 is intended to be generic, illustrating basic functions in a broad range of display adaptor implementations.
  • a display adaptor into which the present invention may be incorporated is model SPC8110F0A, manufactured by S MOS Systems
  • Fig. 2 The embodiment shown in Fig. 2 is also intended to be simple, omitting some elements such as buffers, clocks, sprite management, bus mastering, co-processing, pipelining and power management found in many practical implementations.
  • the features omitted from the figure may be used in a wide variety of combinations and can be implemented in many ways; however, these features are not essential to the present invention.
  • the present invention is not limited to display adaptors implemented according to any particular embodiment including the embodiment shown in Fig. 2.
  • the essential features are a latch control function described below that can be provided by controller 100, a graphics controller latch such as latch 102, and random access memory such as video RAM 106.
  • Latch Control Fig. 3 is a flow diagram illustrating functional steps in one method of a latch control function according to the present invention. The operation of this control method will be described with reference to the display adaptor embodiment shown in Fig. 2.
  • Step 202 provides initialization as required.
  • Step 204 determines whether a command received from path 11 is a memory- read command. If it is, step 208 determines whether the read address specified by the command agrees with a previously saved address. If the two addresses agree, data previously placed in latch 102 is provided to path 15. If the two addresses do not agree, the read address specified by the command is saved and the command is processed, causing the requested information to be obtained from cache 108 if possible, otherwise obtained from video RAM 106. If the command received from path 11 is not a memory-read command, step 216 determines whether execution of the command will affect the contents of video RAM 106. If it will, step 218 clears the saved address; step 212 processes the command. Step 214 can provide various housekeeping functions as desired.
  • Two common operations with graphical user interfaces that illustrate a benefit achieved by the present invention are moving and resizing display objects such as windows. Operations like these cause many iterations of commands that read data from video RAM, modify the data, and write the modified data into video RAM. According to the prior art, subsequent memory-read commands cause either cache memory 108, if implemented, or video RAM 106 to be accessed even if the desired information is available in latch 102.
  • each location stores information representing two or more pixels.
  • a move or resizing operation could be performed more efficiently by first executing memory-read commands for all pixels requiring modification that are stored in a given location. The first memory-read command to the given location would obtain the desired information from either cache 108 or video RAM 106 and place the information stored in that location into latch 102. Subsequent memory- read commands for pixel information stored in that location would obtain the desired information from latch 102. Following all the necessary reads to that location, the modified pixel information can be written to video RAM as desired.
  • the proper order for executing memory-read commands relative to other types of commands can be specified by logic in the device that requests the information, e.g., an application or operating system component, or it can be provided by either a special interface called a "device driver" in the requesting device or by logic in the display adaptor itself which examines sequences of commands and reorders them as appropriate.
  • the present invention can improve the efficiency of other types of operations which require repeated access to the same location in video RAM.

Abstract

The efficiency of reading information from video RAM in a display adaptor such as a VGA-compliant adaptor is improved by providing the desired information from a latch whenever possible rather than reading the desired information from video RAM or cache memory. Routine operations with graphical user interfaces such as moving and resizing visual images can be improved by first reading information for all pixels stored in a given location stored in video RAM before executing any commands that modify the contents of that location.

Description

DESCRIPTION
METHOD AND APPARATUS FOR EFFICIENT MEMORY-READ OPERATIONS WITH A VGA-COMPLIANT VIDEO DISPLAY ADAPTOR
Technical Field
The present invention relates generally to interface circuitry between an information processing unit such as a personal computer and a display device such as a color video monitor. In particular, the present invention relates to improving the efficiency of obtaining information stored in random access memory of a display adaptor compliant with interface specifications such as the Video Graphics Array standard by improving the way in which graphics controller latches are used.
Background Art
Many information processing systems such as personal computers, for example, generate signals representing information intended for visual display on devices such as video monitors; however, the voltages and form of these signals are generally not compatible with such display devices. The signals generated by the information processing systems can be converted into signals suitable for driving a display device by interface circuitry referred to herein as a "display adaptor."
Display adaptors conform to a variety of interface specifications, some of which are recognized standards and others of which are proprietary. One well-known standard is the Video
Graphics Array (VGA) standard. Many of these interface standards support graphics-mode type displays in which images are presented as a matrix of small picture elements or "pixels." In color images, each pixel may assume any one of several available colors.
Within a VGA-compliant adaptor, for example, information describing each pixel is stored in random access memory (RAM). Like other types of random access memory, each storage location in the video RAM of a VGA-compliant adaptor is individually addressable. The exact way in which this information is organized depends on the specific graphics mode that is used. In packed-pixel modes, information for one or more pixels are packed into each memory location. For example, one storage location could record 32 bits in which eight bits of information is stored for each of four pixels representing any one of 256 colors. In planar modes, video RAM is organized into several parallel planes. In one particular 16-color graphics mode, for example, four one-bit planes collectively provide for each pixel a four-bit value, thereby conveying any one of sixteen colors. One or more "palettes" may be used in a display adaptor to translate the values stored in RAM into specific red, green and blue (RGB) levels which define particular colors. In a VGA-compliant adaptor, when a memory-read instruction is executed in packed-pixel mode, all information stored at a designated address is accessed. For the example mentioned above, the process of obtaining information for a single pixel results in information for four pixels being read. When a memory-read command is executed in planar mode, information is read from multiple planes at a designated address. In one particular planar mode, for example, a memory- read instruction obtains four bytes of information, one byte from each of four memory planes. The information that is read from memory is not sent immediately to the device that requested it but instead is copied into one or more graphics controller latches and then subsequently returned to the requesting device. Nearly all modern implementations of display adaptors use RAM to increase the speed at which video signals can be generated to render an image on a video display device. A number of developments in the field of information processing, including the use of graphic display modes and a need to display greater numbers of colors to achieve more accurate rendering of color images, has lead to an increase in the amount of RAM that is typically used in a display adaptor. For example, several megabytes of RAM are used in display adaptors that are capable of supporting screen display resolutions of 1280 x 1024 pixels and/or are capable of displaying more than 16 million different colors. Unfortunately, as the amount of information stored in RAM has increased, the amount of time required to effect changes in displayed images has also increased; therefore, advances in faster memory management such as memory caching and dual-port RAM have been sought to improve the efficiency of generating display images.
Despite these advances, an inefficient use of the latches referred to above degrades memory-read performance in display adaptors which conform to interfaces specifications such as the VGA standard.
Disclosure of the Invention It is an object of the present invention to improve the efficiency of obtaining information stored in random access memory of a display adaptor compliant with interface specifications such as the Video Graphics Array standard by improving the way in which graphics controller latches are used.
According to one aspect of the present invention, a display adaptor comprises random access memory having a plurality of locations, each of location capable of storing a plurality of bits representing display attributes of one or more pixels in a display image, and a control circuit having a command input and a data output, the control circuit coupled to the random access memory so as to have read access to the locations, thereby being capable of generating a data signal at the data output in response to a memory-read command signal received at the command input, the data signal representing digital information stored in a respective location, the control circuit also having a latch circuit coupled to the random access memory so as to be capable of latching information representing the respective location and the digital information, wherein, in response to a subsequent memory-read command signal, the control circuit is capable of generating the data signal in response to information latched in the latch circuit without access to the random access memory whenever the subsequent memory-read command signal requests reading information in the random access memory stored at the respective location. According to another aspect of the present invention in a display adaptor having random access memory, each respective location in the random access memory storing a plurality of bits representing display attributes of one or more pixels in a display image, a method for generating an output signal representing digital information stored at a respective location in random access memory in response to a memory-read command comprises the steps of: receiving a command signal and determining whether the received command signal represents a memory- read command for reading information from the random access memory; if the received command signal does not represent a memory-read command, clearing a saved address if processing of a command represented by the received command signal affects contents of the random access memory, processing the command represented by the received command signal, and bypassing the following steps: if the received command signal does represent a memory-read command, determining whether the saved address agrees with a command address specified by the memory-read command; if the saved address does not agree with the command address, saving the command address as a new saved address, processing the memory-read command represented by the received command signal, wherein the processing includes obtaining information stored in the random access memory at a location specified by the command address, placing the information in a latch, generating the output signal in response to the information, and bypassing the following step; and if the saved address does agree with the command address, generating the output signal in response to information previously placed in the latch.
According to yet another aspect of the present invention, a medium readable by a machine embodying a program of instructions executable by the machine to perform a method in a display adaptor comprising random access memory, wherein the method is equivalent to the method recited in the previous paragraph.
According to a further aspect of the present invention, a display adaptor comprises random access memory having a plurality of locations, each of the locations capable of storing a plurality of bits representing display attributes of one or more pixels in a display image; a latch coupled to the random access memory so as to be capable of latching digital information stored in a location of the random access memory; and control means coupled to the random access memory and to the latch for generating an output signal in response to a command signal representing a memory-read command, wherein the output signal represents digital information stored at a specified location in the random access memory specified by the memory-read command, wherein the control means generates the output signal in response to information in the latch without access to the random access memory whenever the memory-read command requests information in the random access memory at a location corresponding to the information in the latch. Display adaptors incorporating the present invention may be implemented using discrete components or high-level application-specific integrated circuits (ASIC), for example, and may include microprocessors or other forms of program-controlled circuits. Preferably, ASICs are used to obtain an implementation that is less expensive to manufacture than can be achieved by many other techniques; however, no particular implementation is critical to the practice of the present invention.
The various features of the present invention and various embodiments may be better understood by referring to the following discussion and to the accompanying drawings in which like reference numbers refer to like features. The specific embodiments discussed and illustrated herein are offered as examples only and do not represent limitations on the scope of the present invention.
Brief Description of the Drawings
Fig. 1 is a functional block diagram of a typical personal computer incorporating a display adaptor for interfacing with a display device. Fig. 2 is a functional block diagram of one embodiment of a display adaptor.
Fig. 3 is a flow diagram illustrating various aspects of one embodiment of a method according to the present invention.
Modes for carrying Out the Invention and Industrial Application
Fig. 1 is a functional block diagram of a typical personal computer incorporating a display adaptor for interfacing with a display device. CPU 2 provides computing resources. Input/output 3 represents an interface to I/O device 4 such as a keyboard, mouse, modem or printer. Storage controller 6 represents an interface to storage device 7 such as a magnetic tape drive or a disk drive. Display adaptor 8 provides an interface to display device 9. RAM 5 is system random access memory that should not be confused with any video RAM that may exist in display adaptor 8. The functions of one or more of these components can be implemented in a wide variety of ways including discrete logic components, one or more ASICs and/or program-controlled processors.
All major system components connect to bus 1 which may represent more than one physical bus. For example, some personal computers incorporate only a so called Industry Standard Architecture (ISA) bus. Many more modern computers incorporate an ISA bus as well as a higher bandwidth bus conforming to some bus standard such as the VESA local bus standard or the PCI local bus standard. Preferably, display adaptor 8 connects to a high-bandwidth bus to improve the speed of display; however, a bus architecture is not required to practice the present invention. The present invention pertains to features of display adaptor 8; therefore, all of the components illustrated in Fig. 1 are not required to practice the present invention. For example, a display adaptor incorporating aspects of the present invention may be used in an information processing system that includes only CPU 2, input/output 3 connected to some input device 4 such as a switch or keypad, RAM 5, display adaptor 8 and display device 9.
Display Adaptor
Fig. 2 is a functional block diagram of one embodiment of display adaptor 8. In this embodiment, controller 100 is coupled to bus 1 to send and receive signals conveying various types of information. For example, controller 100 receives commands from path 11, addresses from path 13, data from path 15 and timing from path 17. Controller 100 sends data to bus 1 along path 15.
If a command received from path 11 is a memory-read command, the address received from path 13 indicates the location in memory that is to be read. Data that is obtained from memory by the read is placed into latch 102 and sent along path 15. If a command received from path 11 is a memory-write command, the address received from path 13 indicates the location in memory where data received from path 15 is to be written.
Controller 100 uses memory controller 104 to access video RAM 106. Information read from video RAM 106 passes through memory controller 104 onto memory bus 109. Information written into memory passes from memory bus 109 through memory controller 104 into video RAM 106. As illustrated, memory bus 109 is a 32-bit bus. This width is not critical to the present invention and other widths can be used. Cache 108 is optional but can be used to decrease the time required to access information stored in video RAM 106. Whether or not caching is used, information read from a location in video RAM 106 is placed into latch 102.
Video output 110 generates a video output display signal in response to information obtained from video RAM 106. No particular implementation of video output 110 is critical to the practice of the present invention but typical implementations includes a first-in-first-out (FIFO) buffer to ease timing constraints imposed on obtaining information needed to generate a video output display signal, a palette to modify information obtained from video RAM 106 according to display attributes that can be established by controller 100, for example, to make color and gamma corrections, a video shift register to convert pixel information into a serial bit stream, and a digital-to-analog converter to generate an analog video signal. Controller 100 adapts the operation of shift register according to information such as the number of bits per pixel and also provides a video synchronization signal along path 123.
The embodiment shown in Fig. 2 is intended to be generic, illustrating basic functions in a broad range of display adaptor implementations. One example of a display adaptor into which the present invention may be incorporated is model SPC8110F0A, manufactured by S MOS Systems
Inc., San Jose, California. The embodiment shown in Fig. 2 is also intended to be simple, omitting some elements such as buffers, clocks, sprite management, bus mastering, co-processing, pipelining and power management found in many practical implementations. The features omitted from the figure may be used in a wide variety of combinations and can be implemented in many ways; however, these features are not essential to the present invention. The present invention is not limited to display adaptors implemented according to any particular embodiment including the embodiment shown in Fig. 2. The essential features are a latch control function described below that can be provided by controller 100, a graphics controller latch such as latch 102, and random access memory such as video RAM 106.
Latch Control Fig. 3 is a flow diagram illustrating functional steps in one method of a latch control function according to the present invention. The operation of this control method will be described with reference to the display adaptor embodiment shown in Fig. 2.
Step 202 provides initialization as required. Step 204 determines whether a command received from path 11 is a memory- read command. If it is, step 208 determines whether the read address specified by the command agrees with a previously saved address. If the two addresses agree, data previously placed in latch 102 is provided to path 15. If the two addresses do not agree, the read address specified by the command is saved and the command is processed, causing the requested information to be obtained from cache 108 if possible, otherwise obtained from video RAM 106. If the command received from path 11 is not a memory-read command, step 216 determines whether execution of the command will affect the contents of video RAM 106. If it will, step 218 clears the saved address; step 212 processes the command. Step 214 can provide various housekeeping functions as desired.
It should be apparent that the essential features of the latch control method described above can be achieved by equivalent methods comprising similar steps arranged in different orders. These variations do not depart from the scope of the present invention.
Programming
Two common operations with graphical user interfaces that illustrate a benefit achieved by the present invention are moving and resizing display objects such as windows. Operations like these cause many iterations of commands that read data from video RAM, modify the data, and write the modified data into video RAM. According to the prior art, subsequent memory-read commands cause either cache memory 108, if implemented, or video RAM 106 to be accessed even if the desired information is available in latch 102.
For example, suppose information stored in video RAM 106 is organized according to either a packed-pixel mode or a planar mode such that each location stores information representing two or more pixels. A move or resizing operation could be performed more efficiently by first executing memory-read commands for all pixels requiring modification that are stored in a given location. The first memory-read command to the given location would obtain the desired information from either cache 108 or video RAM 106 and place the information stored in that location into latch 102. Subsequent memory- read commands for pixel information stored in that location would obtain the desired information from latch 102. Following all the necessary reads to that location, the modified pixel information can be written to video RAM as desired. The proper order for executing memory-read commands relative to other types of commands can be specified by logic in the device that requests the information, e.g., an application or operating system component, or it can be provided by either a special interface called a "device driver" in the requesting device or by logic in the display adaptor itself which examines sequences of commands and reorders them as appropriate. In addition to moving and resizing, the present invention can improve the efficiency of other types of operations which require repeated access to the same location in video RAM. Although it is contemplated that the greatest benefit of the present invention will occur in situations where locations in video RAM store information for more than one pixel, benefits can be realized even for graphics modes that store information for only one pixel in each location where repeated read access to a given location is made without any intervening command that affects video memory contents.

Claims

1. A display adaptor comprising: random access memory comprising a plurality of locations, each of said locations capable of storing a plurality of bits representing display attributes of one or more pixels in a display image, and control circuit having a command input and a data output, said control circuit coupled to said random access memory so as to have read access to said locations, thereby being capable of generating a data signal at said data output in response to a memory-read command signal received at said command input, said data signal representing digital information stored in a respective location, said control circuit also having a latch circuit coupled to said random access memory so as to be capable of latching information representing said respective location and said digital information, wherein, in response to a subsequent memory-read command signal, said control circuit is capable of generating said data signal in response to information latched in said latch circuit without access to said random access memory whenever said subsequent memory-read command signal requests reading information in said random access memory stored at said respective location.
2. A display adaptor according to claim 1 wherein said random access memory is organized into a plurality of planes and each location stores information representing display attributes of a respective pixel in said display image, each plane in a respective location capable of storing one or more bits.
3. A display adaptor according to claim 1 further comprising a memory cache interposed between said random access memory and said control circuit.
4. In a display adaptor, a method for generating an output signal in response to a command signal representing a memory-read command, said output signal representing digital information stored at a respective location in random access memory specified by said memory-read command, each respective location in said random access memory storing a plurality of bits representing display attributes of one or more pixels in a display image, said method comprising the steps of: (a) receiving a command signal and determining whether the received command signal represents a memory-read command for reading information from said random access memory,
(b) if the received command signal does not represent a memory-read command, clearing a saved address if processing of a command represented by the received command signal affects contents of said random access memory, processing the command represented by the received command signal, and bypassing the following steps,
(c) if the received command signal does represent a memory-read command, determining whether said saved address agrees with a command address specified by the memory-read command, (d) if said saved address does not agree with said command address, saving the command address as a new saved address, processing the memory-read command represented by the received command signal, wherein said processing includes obtaining information stored in said random access memory at a location specified by said command address, placing said information in a latch, generating said output signal in response to said information, and bypassing the following step, and
(e) if said saved address does agree with said command address, generating said output signal in response to information previously placed in said latch.
5. In a display adaptor, a method according to claim 4 wherein said random access memory is organized into a plurality of planes and each location stores information representing display attributes of a respective pixel in said display image, each plane in a respective location capable of storing one or more bits.
6. In a display adaptor comprising a memory cache coupled to said random access memory, a method according to claim 4 wherein processing of a memory-read command having a command address that does not agree with said saved address includes obtaining said information from said memory cache.
7. A medium readable by a machine embodying a program of instructions executable by said machine to perform a method in a display adaptor comprising random access memory, wherein said method is for generating an output signal in response to a command signal representing a memory-read command, said output signal representing digital information stored at a respective location in said random access memory specified by said memory-read command, each respective location in said random access memory storing a plurality of bits representing display attributes of one or more pixels in a display image, said method comprising the steps of:
(a) receiving a command signal and determining whether the received command signal represents a memory-read command for reading information from said random access memory, (b) if the received command signal does not represent a memory-read command, clearing a saved address if processing of a command represented by the received command signal affects contents of said random access memory, processing the command represented by the received command signal, and bypassing the following steps,
(c) if the received command signal does represent a memory-read command, determining whether said saved address agrees with a command address specified by the memory-read command,
(d) if said saved address does not agree with said command address, saving the command address as a new saved address, processing the memory-read command represented by the received command signal, wherein said processing includes obtaining information stored in said random access memory at a location specified by said command address, placing said information in a latch, generating said output signal in response to said information, and bypassing the following step, and
(e) if said saved address does agree with said command address, generating said output signal in response to information previously placed in said latch.
8. A medium according to claim 7 wherein said random access memory is organized into a plurality of planes and each location stores information representing display attributes of a respective pixel in said display image, each plane in a respective location capable of storing one or more bits.
9. A medium according to claim 7 wherein said display adaptor further comprises a memory cache coupled to said random access memory, and wherein processing of a memory-read command having a command address that does not agree with said saved address includes obtaining said information from said memory cache.
10. A display adaptor comprising: random access memory comprising a plurality of locations, each of said locations capable of storing a plurality of bits representing display attributes of one or more pixels in a display image, latch coupled to said random access memory so as to be capable of latching digital information stored in a location of said random access memory, and control means coupled to said random access memory and to said latch for generating an output signal in response to a command signal representing a memory-read command, wherein said output signal represents digital information stored at a specified location in said random access memory specified by said memory-read command, wherein said control means generates said output signal in response to information in said latch without access to said random access memory whenever said memory-read command requests information in said random access memory at a location corresponding to the information in said latch.
11. A display adaptor according to claim 10 wherein said random access memory is organized into a plurality of planes and each location stores information representing display attributes of a respective pixel in said display image, each plane in a respective location capable of storing one or more bits.
12. A display adaptor according to claim 10 comprising a memory cache coupled to said random access memory and to said control means, wherein said control means generates said output signal in response to information in said latch without access to said memory cache whenever said memory-read command requests information in said random access memory at a location corresponding to the information in said latch.
13. An information display system comprising: an information processing device, a display adaptor having a command input, a data input, a data output and an image output, wherein said command input, data input and data output are coupled to said information processing device, and a display device coupled to said image output of said display adaptor, wherein said display adaptor comprises: random access memory comprising a plurality of locations, each of said locations capable of storing a plurality of bits representing display attributes of one or more pixels in an image to be displayed on said display device, and control circuit coupled to said random access memory so as to have read access to said locations, thereby being capable of generating a data signal at said data output in response to a memory-read command signal received at said command input, said data signal representing digital information stored in a respective location, said control circuit also having a latch circuit coupled to said random access memory so as to be capable of latching said digital information, wherein, in response to a subsequent memory-read command signal received at said command input, said control circuit is capable of generating said data signal in response to information latched in said latch circuit without access to said random access memory whenever the subsequent memory-read command signal requests reading information in said random access memory stored at said respective location.
14. An information processing system according to claim 13 wherein said random access memory is organized into a plurality of planes and each location stores information representing display attributes of a respective pixel in said display image, each plane in a respective location capable of storing one or more bits.
15. An information processing system according to claim 13 further comprising a memory cache interposed between said random access memory and said control circuit.
PCT/JP1998/001297 1997-03-25 1998-03-24 Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor WO1998043154A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP54543898A JP2001505674A (en) 1997-03-25 1998-03-24 Method and apparatus for performing an efficient memory read operation using a video display adapter compatible with VGA
EP98909862A EP0927387A2 (en) 1997-03-25 1998-03-24 Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82412897A 1997-03-25 1997-03-25
US08/824,128 1997-03-25

Publications (2)

Publication Number Publication Date
WO1998043154A2 true WO1998043154A2 (en) 1998-10-01
WO1998043154A3 WO1998043154A3 (en) 1998-11-05

Family

ID=25240660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/001297 WO1998043154A2 (en) 1997-03-25 1998-03-24 Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor

Country Status (5)

Country Link
EP (1) EP0927387A2 (en)
JP (1) JP2001505674A (en)
KR (1) KR20000015972A (en)
CN (1) CN1220753A (en)
WO (1) WO1998043154A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1607935A3 (en) * 2004-06-08 2008-04-02 Semiconductor Energy Laboratory Co., Ltd. Simultaneous reading and writing of video memory, and electroluminescent display device
US7705821B2 (en) 2005-01-31 2010-04-27 Semiconductor Energy Laboratory Co., Ltd. Driving method using divided frame period

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202426A2 (en) * 1985-04-15 1986-11-26 International Business Machines Corporation Raster scan digital display system
EP0228745A2 (en) * 1985-12-30 1987-07-15 Koninklijke Philips Electronics N.V. Raster scan video controller provided with an update cache, update cache for use in such video controller, and CRT display station comprising such controller
EP0536414A1 (en) * 1991-04-15 1993-04-14 Oki Electric Industry Company, Limited Apparatus for processing image
EP0696023A2 (en) * 1994-07-18 1996-02-07 Sun Microsystems, Inc. Interface controller for frame buffer random access memory devices
US5559952A (en) * 1993-03-23 1996-09-24 Kabushiki Kaisha Toshiba Display controller incorporating cache memory dedicated for VRAM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202426A2 (en) * 1985-04-15 1986-11-26 International Business Machines Corporation Raster scan digital display system
EP0228745A2 (en) * 1985-12-30 1987-07-15 Koninklijke Philips Electronics N.V. Raster scan video controller provided with an update cache, update cache for use in such video controller, and CRT display station comprising such controller
EP0536414A1 (en) * 1991-04-15 1993-04-14 Oki Electric Industry Company, Limited Apparatus for processing image
US5559952A (en) * 1993-03-23 1996-09-24 Kabushiki Kaisha Toshiba Display controller incorporating cache memory dedicated for VRAM
EP0696023A2 (en) * 1994-07-18 1996-02-07 Sun Microsystems, Inc. Interface controller for frame buffer random access memory devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1607935A3 (en) * 2004-06-08 2008-04-02 Semiconductor Energy Laboratory Co., Ltd. Simultaneous reading and writing of video memory, and electroluminescent display device
US7705821B2 (en) 2005-01-31 2010-04-27 Semiconductor Energy Laboratory Co., Ltd. Driving method using divided frame period

Also Published As

Publication number Publication date
EP0927387A2 (en) 1999-07-07
JP2001505674A (en) 2001-04-24
CN1220753A (en) 1999-06-23
WO1998043154A3 (en) 1998-11-05
KR20000015972A (en) 2000-03-25

Similar Documents

Publication Publication Date Title
US5995120A (en) Graphics system including a virtual frame buffer which stores video/pixel data in a plurality of memory areas
JP4234217B2 (en) System, apparatus and method for embedding transparent enable bits as part of resizing bit block transfer processing
US5299309A (en) Fast graphics control system capable of simultaneously storing and executing graphics commands
US8194086B2 (en) Memory system and method for improved utilization of read and write bandwidth of a graphics processing system
US5687357A (en) Register array for utilizing burst mode transfer on local bus
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
US5727192A (en) Serial rendering system with auto-synchronization on frame blanking
JP3286331B2 (en) Block texture complex clip mask processor
US5251298A (en) Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses
US5793386A (en) Register set reordering for a graphics processor based upon the type of primitive to be rendered
US7791601B2 (en) Efficient object storage for zone rendering
US5949421A (en) Method and system for efficient register sorting for three dimensional graphics
JP3734226B2 (en) Method and apparatus for high speed block transfer of compressed, word aligned bitmaps
US20040222991A1 (en) Graphics resampling system and method for use thereof
CN1794342A (en) Method and system for rendering images on a video graphics adapter
US5727139A (en) Method and apparatus for minimizing number of pixel data fetches required for a stretch operation of video images
EP0927387A2 (en) Method and apparatus for efficient memory-read operations with a vga-compliant video display adaptor
US6414689B1 (en) Graphics engine FIFO interface architecture
US5555460A (en) Method and apparatus for providing a reformatted video image to a display
US5734873A (en) Display controller with accelerated drawing of text strings
JP2561810B2 (en) Hardware-assisted pixel reformatting during bit boundary block transfers
JPH1069548A (en) Computer graphics system
US6421059B1 (en) Apparatus and method for rendering characters into a memory
JP2794481B2 (en) Display system
JP2966182B2 (en) Computer system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98800346.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998909862

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

ENP Entry into the national phase

Ref document number: 1998 545438

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019980709532

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998909862

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980709532

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1019980709532

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1998909862

Country of ref document: EP