WO1997008676A1 - Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area - Google Patents

Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area Download PDF

Info

Publication number
WO1997008676A1
WO1997008676A1 PCT/US1996/014062 US9614062W WO9708676A1 WO 1997008676 A1 WO1997008676 A1 WO 1997008676A1 US 9614062 W US9614062 W US 9614062W WO 9708676 A1 WO9708676 A1 WO 9708676A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
display
data
refresh
frame buffer
Prior art date
Application number
PCT/US1996/014062
Other languages
French (fr)
Inventor
Sudhir Sharma
Original Assignee
Cirrus Logic, Inc.
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 Cirrus Logic, Inc. filed Critical Cirrus Logic, Inc.
Priority to JP9510625A priority Critical patent/JPH11514450A/en
Priority to EP96930661A priority patent/EP0847571A1/en
Publication of WO1997008676A1 publication Critical patent/WO1997008676A1/en

Links

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
    • 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
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor circuits
    • 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

Definitions

  • the present invention relates in general to display subsystems and display controllers and in particular to circuits and methods for controlling 5 frame buffer refresh.
  • a typical processing system with video/graphics display capability includes a central processing unit (CPU) , a display controller coupled with the CPU by a CPU bus, a system memory also coupled to the CPU bus, a frame buffer coupled to the display controller by a local bus, peripheral circuitry (e.g., clock drivers and signal converters), display driver circuitry, and a display unit.
  • the CPU generally provides overall system control and, in response to user commands and program instructions retrieved from the system memory, controls the contents of graphics images to be displayed on the display unit.
  • the display controller which may for example be a video graphics array (VGA) controller, generally interfaces the CPU and the display driver circuitry, controls the exchange graphics and/or video data with the frame buffer during data update and display refresh operations, controls frame buffer memory operations, and performs additional processing on the subject graphics or video data, such as color expansion.
  • the display driver circuitry converts digital data received from the display controller into the analog levels required by the display unit to generate graphics/video display images.
  • the frame buffer typically includes an on-screen memory area, an off-screen area and areas for holding data defining the cursor and various icons.
  • the on-screen area stores words of display data defining the color/gray-shade of each pixel in an entire display frame. During display refresh, this "pixel data" is retrieved out of the on-screen memory area by the display controller word by word as the corresponding pixels on the display screen are refreshed during the raster scan.
  • the off-screen memory stores other types of data required for display controller operation. For example, the off-screen memory may act as a scratch pad for BIOS operations.
  • the cursor area typically stores pixel data defining cursor shape and size. The cursor will typically overlay a portion of the images generated from the on-screen memory data, as determined by the user. Often the cursor may not be displayed at all. The same is true for icons, which are periodically pulled up and displayed "on top of " the images defined by pixel data from the on-screen memory.
  • DRAMs dynamic random access memory devices
  • data in the memory cells in a DRAM device must be periodically refreshed or it will degrade -or be completely lost.
  • cell refresh occurs either during a read operation or during a refresh operation (a refresh operation is essentially a read operation without output of the data from the device) .
  • Reading or refresh is done on a row by row basis, with the wordline of the given row activated and the resulting change in voltage on the bitlines sensed.
  • Conventional sense amplifiers are sensitive enough to measure even a small change in the voltage- on a bitline resulting from coupling to a deteriorated positive voltage of a cell storing a logic one.
  • the sense amplifiers then latch to either a full logic one or full a logic zero, depending on the sensed voltage swing on the corresponding bitlines. This latching the pulls the bitlines and the storage capacitors of the corresponding cells back to their original value, thereby refreshing the data.
  • the refresh logic within the display controller which controls frame buffer DRAM refresh typically operates as follows. ⁇ , mr 8676
  • the refresh logic While the data for the current display line is being retrieved from the on-screen memory, the refresh logic idles. When the end of the current line is reached, the refresh logic looks ahead to determine if the next line contains icon or cursor data. If cursor or icon data is found, the refresh logic initiates a read out of the icon/cursor data. The refresh logic then goes back to idle and the pixel data for the next display line is rastered from the on-screen memory. The icon/cursor data then overlays, as appropriate, this data at the backend of the display controller. If cursor or icon data is not to be displayed on the upcoming line, a refresh cycle for the DRAM is initiated.
  • a group of rows in the DRAM (typically three to five from any of the memory areas, including the on-screen area) are refreshed during the refresh cycle.
  • the refresh logic sequentially cycles through the entire DRAM (all areas) group by group with each new refresh cycle required.
  • the disadvantage of presently available refresh schemes is that display data in the on-screen memory are refreshed twice, once during read out for display screen refresh and once when the DRAM refresh sequence cycles through the on-screen memory. Since each refresh cycle prevents other accesses to the DRAM, such as accesses for graphics data updates by the CPU or for block data moves, the double refreshing of the data in the on-screen memory substantially impacts memory bandwidth.
  • circuits, systems and methods which allow for the more efficient refresh of the frame buffer in a display control subsystem. In particular, such circuits, systems and methods should minimize the amount of time required to refresh the display data in each of the different data areas of the frame buffer.
  • the principles of the present invention provide for the optimization of memory cycles in a display control subsystem.
  • additional accesses may be made to that frame buffer to perform other important operations, such as data update and block transfers.
  • the on-screen memory area of a frame buffer is only refreshed by the retrieval of data therefrom for a display screen refresh.
  • True refresh cycles are only required for the much smaller icon, cursor, and off-screen data storage areas, and then only when a time for refresh has been reached.
  • a method is provided for refreshing data stored in a frame buffer. Data stored in a first area of the frame buffer are automatically refreshed during retrieval of such data for display generation.
  • Data stored in a second area of the frame buffer are refreshed as follows: A determination is made as to whether data in the second area of the frame buffer is required during the generation of an upcoming display line. Selected data from the second area are then read when data from the second area are required for generation of the upcoming display line. A refresh is initiated of at least a portion of the second area when data from the second area are not required for the generation of the display line and a time for refresh of the second area has been reached.
  • Another method for frame buffer refresh is provided.
  • An on-screen area of the frame buffer is refreshed by retrieving pixel data therefrom for the generation of a plurality of display lines.
  • a second area of the frame buffer is selectively refreshed during a period between the retrieval of pixel data corresponding to a first display line from the on-screen area and retrieval of pixel data corresponding to a second display line from the on-screen memory, the step of refreshing the second area comprising the following substeps.
  • a determination is made if data from the second area are required during the generation of the second display line. Selected data are then read from the second area when data from the second area are required for display of the second display line.
  • At least a portion of the second area is refreshed when data from the second area are not required for display of the second display line and refresh of the second area is required. Finally, access is allowed to a selected one of the on-screen . and second memory areas when data from the second data are not required for display of the second line and the second area does not require refresh.
  • refresh control circuitry which includes circuitry for idling the refresh control circuitry during retrieval of data from an- on-screen area of an associated frame buffer for display generation. Circuitry is also provided for refreshing data stored in a second area of the frame buffer. The circuitry for refreshing is operable to determine whether data in the second area of the frame buffer are required during the generation of a selected display line. The circuitry for refreshing is further operable to initiate a read of selected data from the second area when data from the second area are required for generation of that selected display line.
  • a display control system which includes a frame buffer having an on-screen memory area and a second memory area.
  • a display controller is provided for retrieving pixel data from the on-screen memory area of the generation of a plurality of display lines.
  • the system additionally includes a refresh state machine for refreshing a second area of the frame buffer during a period between the retrieval area of pixel data corresponding to a first display line from the on-screen area and retrieval of pixel data corresponding to a second display line from the on-screen memory.
  • the state machine is operable to determine if data from the second area are required for generation of a display of the second display line.
  • the refresh state machine initiates a refresh by the display controller of selected data from the second area when data from the second area are required for display of the second display line.
  • the refresh state machine initiates a refresh of at least a portion of the second area when data from the second area are not required for display of the second display line and refresh of the second area is required.
  • the refresh state machine is operable to grant access to a selected one of the on-screen and second memory areas when data from the second area are not required for display of the second line and the second area does not require refresh.
  • the principles of the present invention provide for the implementation of circuits, systems and methods which allow for more efficient refresh of the frame buffer in a display control subsystem.
  • the principles of the present invention optimize the amount of time required to refresh the display data in each of the different areas of the frame buffer. By optimizing refresh time by minimizing the number of refresh cycles, the number of cycles which can instead be used for other accesses to the frame buffer, such as display data update, are maximized. As a result, higher performance data processing systems can be constructed.
  • FIGURE 1 is a high level functional block diagram of a display control sub-system embodying the principles of the present invention.
  • FIGURE 2 is a flow chart describing the operation of a refresh control state machine according to the principles of the present invention, the state machine of
  • FIGURE 2 being applicable in one instance to the display controller of FIGURE 1.
  • FIGURE 1 is a high level functional block diagram of the portion of a processing system 100 controlling the display of graphics and/or video data.
  • System 100 includes a central processing unit 101, a CPU bus 102, a display controller 103, a frame buffer 104, a digital to analog converter (DAC) 105 and a display device 106.
  • display controller 103 and frame buffer 104 and DAC 105 are fabricated together on a single integrated circuit chip 107.
  • CPU (“master") 101 controls the overall operation of system 100, determines the content of graphics data to be displayed on display unit 106 under user commands, and performs various data processing functions.
  • CPU 101 may be for example a general purpose microprocessor used in commercial personal computers.
  • CPU 101 communicates with the remainder of system 100 via CPU bus 102, which may be for example a local bus, an ISA bus or a PCI bus.
  • DAC 105 receives digital data from controller 103 and outputs in response the analog data required to drive display
  • DAC 105 may also include a color palette, YUV to RGB format conversion circuitry, and/or x- and y-zooming circuitry, to name a few options.
  • Display 106 may be for example a CRT unit or liquid crystal display, electroluminescent display (ELD) , plasma display (PLD), or other type of display device displays images on a display screen as a plurality of pixels. Further, display 106 may be a state-of-the-art device such as a digital micromirror device or a silicon carbide like device (which directly accepts digital data) . It should also be noted that in alternate embodiments, "display" 106 may be another type of output device such as a laser printer or similar document view/print appliances.
  • controller 103 is a display controller, such as a VGA controller, which among other things, controls the exchange of graphics and/or video data with frame buffer 104, controls memory refresh, and performs data processing functions such as color expansion.
  • a display controller is the "master" for the specific application of display and thus frees up CPU 101 to perform computational tasks.
  • the architecture of a display controller optimizes it to perform graphics and video functions in a manner far superior to that of a general purpose microprocessor.
  • Controller 103 may also include a color palette, cursor generation hardware, and/or video to graphics conversion circuitry, to name a few options.
  • an improved refresh logic state machine is provided in display controller 103.
  • this state machine is provided as part of the memory sequencer found in conventional display controllers, although in alternate embodiments it may be located elsewhere. Display refresh operation of the state machine of the preferred embodiment is described in the flow chart of FIGURE 2.
  • the refresh state machine During retrieval of pixel data for screen refresh of each display line of each display frame by display controller 103, the refresh state machine enters an idle state at Step 201.
  • This periodic retrieval of data typically occurs at a frequency of 72 frames per second.
  • the refresh period for a given DRAM cell in the on-screen area of frame buffer 104 i.e., the period between automatic refreshes of a given cell by reads during display refresh alone
  • 13.8 milliseconds is a sufficiently short enough period to insure that data will not be lost or substantially deteriorated without an intervening specific refresh operation.
  • the refresh period For the lowest allowable screen refresh rate of 60Hz, the refresh period increases to 16 milliseconds, which is still sufficiently small.
  • control signal EOL end of line
  • the EOL signal is generated in conventional CRT control circuitry within controller 103.
  • a determination is then made at Step 202 as to whether either cursor or icon information will appear on the next display line. This determination can be made by monitoring the state of internally generated signals typically found internal to a conventional display controller 103 which contain information indicating if a cursor or icon is to appear on the screen and defining where such cursor/icon is to appear.
  • Step 203 the necessary pixel data is read from the corresponding icon or cursor area in frame buffer 104.
  • the cursor/icon data is then queued for overlay of the on-screen pixel data to be retrieved on the next occurrence of Step 201 in the read cells.
  • the state machine returns to idle at Step 201 and the pixel data from the next display line in the on-screen memories retrieved, at least some of which will be overlayed by the cursor or icon data retrieved at Step 203 at the backend of controller 103. If at Step 202 a determination is made that no cursor or icon information will be displayed on the next line, processing continues with Step 204.
  • Step 204 a determination is made as to whether or not the time to refresh of the icon, cursor, and off-screen areas of frame buffer 104 has been reached. This step may be accomplished for example by monitoring a conventional refresh timer within controller 103. The refresh timer could for example be reset with each vertical sync (VSYNC) signal indicating the start of each new display frame. If the refresh time has arrived, then a refresh cycle for the limited frame buffer area (region) comprising the icon, cursor and off-screen areas only is initiated.
  • VSYNC vertical sync
  • cursor and off-screen memory areas typically a total 16 kbytes
  • the entirety of the icon, cursor and off-screen memory areas may be all refreshed at once.
  • 3 to 5 DRAM rows may be refreshed at the end of a given display line and 3 to 5 more rows refreshed at the end of a subsequent line, and so on until refresh of the limited area is complete.
  • a register control bit may be set to control whether refresh of any off-screen memory areas should occur.
  • Step 204 if the refresh time for the icon, cursor and off-screen areas has not arrived, then the state machine moves to Step 206.
  • Step 206 other accesses to frame buffer 104 are allowed until the EOL signal goes inactive and processing returns to Step 201.
  • CPU 101 may perform accesses to either the on-screen, off-screen, or cursor/icon memory areas during this period in order to implement data updates.
  • memory operations such as bit-block transfers (BLIT) may be performed during this period under control of CPU 101 and/or a BLIT engine within display controller 103.
  • BLIT bit-block transfers
  • the conservation of refresh cycles (operations) provide a substantial number of cycles per display frame during which Step 206 can be performed.
  • each display frame is typically several hundred lines, there are several hundred end-of-line periods between the end of the scan of one line and the start of the scan of the next line. During each of these periods, the cycles which in the prior art were used for full frame buffer DRAM refresh can now be used for other operations.

Abstract

A method is provided for refreshing data stored in a frame buffer. Data stored in the first area of the frame buffer are automatically refreshed during retrieval of such data for display generation. Data stored in a second area of a frame buffer is refreshed according to the following substeps. A determination is made as to whether selected data in the second area of the frame buffer is required during the generation of an upcoming display line. The selected data is read from the second area when such data from the second area of the frame buffer is required for generation of the upcoming display line. A refresh is initiated of at least a portion of the second area when data from the second area is not required for the generation of the upcoming display line and a time for refresh of the second area has been reached.

Description

CIRCUITS AND METHODS FOR CONTROLLING THE REFRESH OF A FRAME BUFFER COMPRI¬ SING AN OFF-SCREEN AREA
TECHNICAL FIELD OF THE INVENTION
The present invention relates in general to display subsystems and display controllers and in particular to circuits and methods for controlling 5 frame buffer refresh.
_, 76
BACKGROUND OF THE INVENTION
A typical processing system with video/graphics display capability includes a central processing unit (CPU) , a display controller coupled with the CPU by a CPU bus, a system memory also coupled to the CPU bus, a frame buffer coupled to the display controller by a local bus, peripheral circuitry (e.g., clock drivers and signal converters), display driver circuitry, and a display unit. The CPU generally provides overall system control and, in response to user commands and program instructions retrieved from the system memory, controls the contents of graphics images to be displayed on the display unit. The display controller, which may for example be a video graphics array (VGA) controller, generally interfaces the CPU and the display driver circuitry, controls the exchange graphics and/or video data with the frame buffer during data update and display refresh operations, controls frame buffer memory operations, and performs additional processing on the subject graphics or video data, such as color expansion. The display driver circuitry converts digital data received from the display controller into the analog levels required by the display unit to generate graphics/video display images.
The frame buffer typically includes an on-screen memory area, an off-screen area and areas for holding data defining the cursor and various icons. The on-screen area stores words of display data defining the color/gray-shade of each pixel in an entire display frame. During display refresh, this "pixel data" is retrieved out of the on-screen memory area by the display controller word by word as the corresponding pixels on the display screen are refreshed during the raster scan. The off-screen memory stores other types of data required for display controller operation. For example, the off-screen memory may act as a scratch pad for BIOS operations. The cursor area typically stores pixel data defining cursor shape and size. The cursor will typically overlay a portion of the images generated from the on-screen memory data, as determined by the user. Often the cursor may not be displayed at all. The same is true for icons, which are periodically pulled up and displayed "on top of " the images defined by pixel data from the on-screen memory.
Most frame buffers are constructed from dynamic random access memory devices (DRAMs) . As is well known in the art, data in the memory cells in a DRAM device must be periodically refreshed or it will degrade -or be completely lost. In conventional DRAMs, cell refresh occurs either during a read operation or during a refresh operation (a refresh operation is essentially a read operation without output of the data from the device) . Reading or refresh is done on a row by row basis, with the wordline of the given row activated and the resulting change in voltage on the bitlines sensed. Conventional sense amplifiers are sensitive enough to measure even a small change in the voltage- on a bitline resulting from coupling to a deteriorated positive voltage of a cell storing a logic one. The sense amplifiers then latch to either a full logic one or full a logic zero, depending on the sensed voltage swing on the corresponding bitlines. This latching the pulls the bitlines and the storage capacitors of the corresponding cells back to their original value, thereby refreshing the data.
In current display systems, the refresh logic within the display controller which controls frame buffer DRAM refresh typically operates as follows. Λ,mr 8676
While the data for the current display line is being retrieved from the on-screen memory, the refresh logic idles. When the end of the current line is reached, the refresh logic looks ahead to determine if the next line contains icon or cursor data. If cursor or icon data is found, the refresh logic initiates a read out of the icon/cursor data. The refresh logic then goes back to idle and the pixel data for the next display line is rastered from the on-screen memory. The icon/cursor data then overlays, as appropriate, this data at the backend of the display controller. If cursor or icon data is not to be displayed on the upcoming line, a refresh cycle for the DRAM is initiated. A group of rows in the DRAM (typically three to five from any of the memory areas, including the on-screen area) are refreshed during the refresh cycle. The refresh logic sequentially cycles through the entire DRAM (all areas) group by group with each new refresh cycle required. The disadvantage of presently available refresh schemes is that display data in the on-screen memory are refreshed twice, once during read out for display screen refresh and once when the DRAM refresh sequence cycles through the on-screen memory. Since each refresh cycle prevents other accesses to the DRAM, such as accesses for graphics data updates by the CPU or for block data moves, the double refreshing of the data in the on-screen memory substantially impacts memory bandwidth. Thus the need has arisen for circuits, systems and methods which allow for the more efficient refresh of the frame buffer in a display control subsystem. In particular, such circuits, systems and methods should minimize the amount of time required to refresh the display data in each of the different data areas of the frame buffer.
SUMMARY OF THE INVENTION
The principles of the present invention provide for the optimization of memory cycles in a display control subsystem. In particular, by minimizing the number of cycles required to refresh a DRAM frame buffer, additional accesses may be made to that frame buffer to perform other important operations, such as data update and block transfers. In general, according to the present invention, the on-screen memory area of a frame buffer is only refreshed by the retrieval of data therefrom for a display screen refresh. True refresh cycles are only required for the much smaller icon, cursor, and off-screen data storage areas, and then only when a time for refresh has been reached. According to a first embodiment of the present invention, a method is provided for refreshing data stored in a frame buffer. Data stored in a first area of the frame buffer are automatically refreshed during retrieval of such data for display generation. Data stored in a second area of the frame buffer are refreshed as follows: A determination is made as to whether data in the second area of the frame buffer is required during the generation of an upcoming display line. Selected data from the second area are then read when data from the second area are required for generation of the upcoming display line. A refresh is initiated of at least a portion of the second area when data from the second area are not required for the generation of the display line and a time for refresh of the second area has been reached.
According to a second embodiment of the principles of the present invention, another method is provided for frame buffer refresh. An on-screen area of the frame buffer is refreshed by retrieving pixel data therefrom for the generation of a plurality of display lines. A second area of the frame buffer is selectively refreshed during a period between the retrieval of pixel data corresponding to a first display line from the on-screen area and retrieval of pixel data corresponding to a second display line from the on-screen memory, the step of refreshing the second area comprising the following substeps. A determination is made if data from the second area are required during the generation of the second display line. Selected data are then read from the second area when data from the second area are required for display of the second display line. At least a portion of the second area is refreshed when data from the second area are not required for display of the second display line and refresh of the second area is required. Finally, access is allowed to a selected one of the on-screen . and second memory areas when data from the second data are not required for display of the second line and the second area does not require refresh.
According to a further embodiment of the present invention, refresh control circuitry is provided which includes circuitry for idling the refresh control circuitry during retrieval of data from an- on-screen area of an associated frame buffer for display generation. Circuitry is also provided for refreshing data stored in a second area of the frame buffer. The circuitry for refreshing is operable to determine whether data in the second area of the frame buffer are required during the generation of a selected display line. The circuitry for refreshing is further operable to initiate a read of selected data from the second area when data from the second area are required for generation of that selected display line. Further, the circuitry for refreshing is operable to initiate a refresh of at least a portion of the second area when data from the second area are not required for the generation of the selected display line and a time for refresh of the second area has been reached. According to an additional embodiment of the present invention, a display control system is provided which includes a frame buffer having an on-screen memory area and a second memory area. A display controller is provided for retrieving pixel data from the on-screen memory area of the generation of a plurality of display lines. The system additionally includes a refresh state machine for refreshing a second area of the frame buffer during a period between the retrieval area of pixel data corresponding to a first display line from the on-screen area and retrieval of pixel data corresponding to a second display line from the on-screen memory. The state machine is operable to determine if data from the second area are required for generation of a display of the second display line. The refresh state machine initiates a refresh by the display controller of selected data from the second area when data from the second area are required for display of the second display line. The refresh state machine initiates a refresh of at least a portion of the second area when data from the second area are not required for display of the second display line and refresh of the second area is required. Finally, the refresh state machine is operable to grant access to a selected one of the on-screen and second memory areas when data from the second area are not required for display of the second line and the second area does not require refresh.
The principles of the present invention provide for the implementation of circuits, systems and methods which allow for more efficient refresh of the frame buffer in a display control subsystem. In particular, the principles of the present invention optimize the amount of time required to refresh the display data in each of the different areas of the frame buffer. By optimizing refresh time by minimizing the number of refresh cycles, the number of cycles which can instead be used for other accesses to the frame buffer, such as display data update, are maximized. As a result, higher performance data processing systems can be constructed.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIGURE 1 is a high level functional block diagram of a display control sub-system embodying the principles of the present invention; and
FIGURE 2 is a flow chart describing the operation of a refresh control state machine according to the principles of the present invention, the state machine of
FIGURE 2 being applicable in one instance to the display controller of FIGURE 1.
DETAILED DESCRIPTION OF THE INVENTION
FIGURE 1 is a high level functional block diagram of the portion of a processing system 100 controlling the display of graphics and/or video data. System 100 includes a central processing unit 101, a CPU bus 102, a display controller 103, a frame buffer 104, a digital to analog converter (DAC) 105 and a display device 106. According to the principles of the present invention, display controller 103 and frame buffer 104 and DAC 105 are fabricated together on a single integrated circuit chip 107.
CPU ("master") 101 controls the overall operation of system 100, determines the content of graphics data to be displayed on display unit 106 under user commands, and performs various data processing functions. CPU 101 may be for example a general purpose microprocessor used in commercial personal computers. CPU 101 communicates with the remainder of system 100 via CPU bus 102, which may be for example a local bus, an ISA bus or a PCI bus. DAC 105 receives digital data from controller 103 and outputs in response the analog data required to drive display
106. Depending on the specific implementation of system
100, DAC 105 may also include a color palette, YUV to RGB format conversion circuitry, and/or x- and y-zooming circuitry, to name a few options.
Display 106 may be for example a CRT unit or liquid crystal display, electroluminescent display (ELD) , plasma display (PLD), or other type of display device displays images on a display screen as a plurality of pixels. Further, display 106 may be a state-of-the-art device such as a digital micromirror device or a silicon carbide like device (which directly accepts digital data) . It should also be noted that in alternate embodiments, "display" 106 may be another type of output device such as a laser printer or similar document view/print appliances.
In the illustrated embodiment, controller 103 is a display controller, such as a VGA controller, which among other things, controls the exchange of graphics and/or video data with frame buffer 104, controls memory refresh, and performs data processing functions such as color expansion. A display controller is the "master" for the specific application of display and thus frees up CPU 101 to perform computational tasks. Moreover, the architecture of a display controller optimizes it to perform graphics and video functions in a manner far superior to that of a general purpose microprocessor. Controller 103 may also include a color palette, cursor generation hardware, and/or video to graphics conversion circuitry, to name a few options.
According to the principles of the present invention, an improved refresh logic state machine is provided in display controller 103. Preferably, this state machine is provided as part of the memory sequencer found in conventional display controllers, although in alternate embodiments it may be located elsewhere. Display refresh operation of the state machine of the preferred embodiment is described in the flow chart of FIGURE 2.
During retrieval of pixel data for screen refresh of each display line of each display frame by display controller 103, the refresh state machine enters an idle state at Step 201. This periodic retrieval of data typically occurs at a frequency of 72 frames per second. Thus, the refresh period for a given DRAM cell in the on-screen area of frame buffer 104 (i.e., the period between automatic refreshes of a given cell by reads during display refresh alone) is 13.8 milliseconds. For the cells of conventional DRAM devices, 13.8 milliseconds is a sufficiently short enough period to insure that data will not be lost or substantially deteriorated without an intervening specific refresh operation. For the lowest allowable screen refresh rate of 60Hz, the refresh period increases to 16 milliseconds, which is still sufficiently small.
When the end of the current display line is reached control signal EOL (end of line) goes active. The EOL signal is generated in conventional CRT control circuitry within controller 103. A determination is then made at Step 202 as to whether either cursor or icon information will appear on the next display line. This determination can be made by monitoring the state of internally generated signals typically found internal to a conventional display controller 103 which contain information indicating if a cursor or icon is to appear on the screen and defining where such cursor/icon is to appear.
If cursor/icon data will appear on the next display line, then at Step 203 the necessary pixel data is read from the corresponding icon or cursor area in frame buffer 104. The cursor/icon data is then queued for overlay of the on-screen pixel data to be retrieved on the next occurrence of Step 201 in the read cells. At the completion of Step 203, the state machine returns to idle at Step 201 and the pixel data from the next display line in the on-screen memories retrieved, at least some of which will be overlayed by the cursor or icon data retrieved at Step 203 at the backend of controller 103. If at Step 202 a determination is made that no cursor or icon information will be displayed on the next line, processing continues with Step 204. At Step 204, a determination is made as to whether or not the time to refresh of the icon, cursor, and off-screen areas of frame buffer 104 has been reached. This step may be accomplished for example by monitoring a conventional refresh timer within controller 103. The refresh timer could for example be reset with each vertical sync (VSYNC) signal indicating the start of each new display frame. If the refresh time has arrived, then a refresh cycle for the limited frame buffer area (region) comprising the icon, cursor and off-screen areas only is initiated. Depending on the size of the icon, cursor and off-screen memory areas (typically a total 16 kbytes) and/or the time between the end of one display scan line and the start of the next, the entirety of the icon, cursor and off-screen memory areas may be all refreshed at once. Alternatively, 3 to 5 DRAM rows may be refreshed at the end of a given display line and 3 to 5 more rows refreshed at the end of a subsequent line, and so on until refresh of the limited area is complete. It should be noted that not every application or instance requires the use of off-screen memory. If off-screen memory is not being used, then refresh of any areas assigned to off-screen memory may be foregone. A register control bit may be set to control whether refresh of any off-screen memory areas should occur.
At Step 204, if the refresh time for the icon, cursor and off-screen areas has not arrived, then the state machine moves to Step 206. At Step 206, other accesses to frame buffer 104 are allowed until the EOL signal goes inactive and processing returns to Step 201. For example, during this step, CPU 101 may perform accesses to either the on-screen, off-screen, or cursor/icon memory areas during this period in order to implement data updates. Further, memory operations such as bit-block transfers (BLIT) may be performed during this period under control of CPU 101 and/or a BLIT engine within display controller 103. Advantageously, the conservation of refresh cycles (operations) provide a substantial number of cycles per display frame during which Step 206 can be performed. This is a direct result of the efficient control of frame buffer refresh according to the present invention. As stated above, refresh of the on-screen memory (which is the majority of the DRAM memory space, typically on the order of 1 megabyte) is effectuated by the reads during display scan line refresh. True refresh cycles are only needed for the much smaller icon and cursor areas, and off-screen memory areas if used, and only when reads of those areas have not been performed with sufficient frequency (i.e. the refresh time has arrived) . Further, even if refresh operations must be performed, these refresh operations may only be required at end of a few lines per each display frame, depending on the refresh requirements of the DRAM devices of frame buffer 104. Since each display frame is typically several hundred lines, there are several hundred end-of-line periods between the end of the scan of one line and the start of the scan of the next line. During each of these periods, the cycles which in the prior art were used for full frame buffer DRAM refresh can now be used for other operations. Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method for refreshing data stored in a frame buffer, comprising the steps of: automatically refreshing data stored in a first area of the frame buffer during retrieval of such data for display generation; and refreshing data stored in a second area of the frame buffer comprising the substeps of: determining whether data in the second area of the frame buffer are required during the generation of an upcoming display line; reading selected data from the second area when data from the second area are required for the generation of the upcoming display line; and initiating a refresh of at least a portion of the second area when data from the second area are not required for the generation of the upcoming display line and a time for refresh of the second area has been reached.
2. The method of Claim 1 and further comprising a step of: allowing accesses to the frame buffer when the data from the second area are not required and the time for refresh of the second area has not been reached.
3. The method of Claim 1 wherein the first area comprises an on-screen area of the frame buffer.
4. The method of Claim 1 wherein the second area stores icon data.
5. The method of Claim 1 wherein the second area stores cursor data.
6. The method of Claim 2 wherein said step of allowing accesses to the frame buffer comprises the step of allowing accesses to a selected one of the first and second frame buffer areas for display data update.
7. The method of Claim 2 wherein said step of allowing accesses to the frame buffer comprises the step of allowing accesses to a selected one of the first and second frame buffer areas for performing a block transfer.
8. A method of frame buffer refresh comprising the steps of: refreshing an on-screen area of the frame buffer by retrieving pixel data therefrom for the generation of a plurality of display lines; selectively refreshing a second area of the frame buffer during a period between the retrieval of pixel data corresponding to a first display line from the on-screen area and the retrieval of pixel data corresponding to a second display line from the on-screen memory, comprising the substeps of: determining if data from the second area are required during the generation of a display of the second display line; reading selected data from second area when such data from the second area are required for display of the second display line; refreshing at least a portion of the second area when data from the second area is not required for display of the second display line and refresh is of the second area are required; and allowing access to a selected one of said on-screen and second memory areas when data from the second area is not required for display of the second line and the second area does not require refresh.
9. The method of Claim 8 wherein said step of determining comprises the step of reading from registers controlling the display of data from the second memory area.
10. The method of Claim 8 wherein the second memory area includes an icon storage area.
11. The method of Claim 8 wherein the second memory area includes a cursor storage area.
12. Refresh control circuitry comprising: circuitry for idling said refresh control circuitry during retrieval of data from on-screen area of an associated frame buffer for display generation; and circuitry for selectively refreshing data stored in a second area of said frame buffer, said circuitry for refreshing operable to: determine whether data in said second area of the frame buffer are required during the generation of a selected display line; initiate a read of selected data from said second area when data from said second area are required for the generation of said display line; and initiate a refresh of at least a portion of the said second area when data from said second area are not required for the generation of said display line and a time for refresh of said second area has been reached.
13. The refresh control circuitry of Claim 12 wherein said refresh control circuitry comprises a state machine forming a portion of a display controller.
14. The refresh control circuitry of Claim 12 wherein said second area includes cursor memory.
15. The refresh control circuitry of Claim 12 wherein said second area includes icon memory.
16. The refresh control circuitry of Claim 12 wherein said second area includes off-screen memory.
17. A display control system comprising: a frame buffer including an on-screen memory area and a second memory area; a display controller for retrieving pixel data from said on-screen memory area for the generation of a plurality of display lines; a refresh state machine for refreshing a second area of the frame buffer during a period between the retrieval of pixel data corresponding to a first said display line from said on-screen area and the retrieval of pixel data corresponding to a second said display line from said on-screen memory, said state machine operable to: determine if data from said second area are required for generation of a display of said second display line; initiate a read by said display controller of selected data from second area when data from said second area are required for display of said second display line; initiate a refresh of at least a portion of said second area when data from said second area are not required for display of said second display line and refresh of said second area is required; and granting access to a selected one of said on-screen and second memory areas when data from said second area are not required for display of the second line and said second area does not require refresh.
18. The display control system of Claim 17 wherein said display control system further comprises a CPU, said CPU updating data stored in said selected one of said memory areas when access is granted by said refresh state machine.
19. The display control system of Claim 17 wherein said display controller is further operable to implement a block transfer when access is granted by said refresh state machine.
PCT/US1996/014062 1995-08-28 1996-08-28 Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area WO1997008676A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9510625A JPH11514450A (en) 1995-08-28 1996-08-28 Circuit and method for controlling refresh of a frame buffer having an off-screen area
EP96930661A EP0847571A1 (en) 1995-08-28 1996-08-28 Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51999295A 1995-08-28 1995-08-28
US08/519,992 1995-08-28

Publications (1)

Publication Number Publication Date
WO1997008676A1 true WO1997008676A1 (en) 1997-03-06

Family

ID=24070741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/014062 WO1997008676A1 (en) 1995-08-28 1996-08-28 Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area

Country Status (4)

Country Link
EP (1) EP0847571A1 (en)
JP (1) JPH11514450A (en)
KR (1) KR19990044196A (en)
WO (1) WO1997008676A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1983002834A1 (en) * 1982-02-04 1983-08-18 Harris Corp Video computing system with automatically refreshed memory
EP0284904A2 (en) * 1987-04-02 1988-10-05 International Business Machines Corporation Display system with symbol font memory
US4802118A (en) * 1983-11-25 1989-01-31 Hitachi, Ltd. Computer memory refresh circuit
US5058041A (en) * 1988-06-13 1991-10-15 Rose Robert C Semaphore controlled video chip loading in a computer video graphics system
EP0482678A2 (en) * 1984-07-23 1992-04-29 Texas Instruments Incorporated Video system controller with a row address override circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1983002834A1 (en) * 1982-02-04 1983-08-18 Harris Corp Video computing system with automatically refreshed memory
US4802118A (en) * 1983-11-25 1989-01-31 Hitachi, Ltd. Computer memory refresh circuit
EP0482678A2 (en) * 1984-07-23 1992-04-29 Texas Instruments Incorporated Video system controller with a row address override circuit
EP0284904A2 (en) * 1987-04-02 1988-10-05 International Business Machines Corporation Display system with symbol font memory
US5058041A (en) * 1988-06-13 1991-10-15 Rose Robert C Semaphore controlled video chip loading in a computer video graphics system

Also Published As

Publication number Publication date
JPH11514450A (en) 1999-12-07
KR19990044196A (en) 1999-06-25
EP0847571A1 (en) 1998-06-17

Similar Documents

Publication Publication Date Title
US4991110A (en) Graphics processor with staggered memory timing
JP3321651B2 (en) Apparatus and method for providing a frame buffer memory for computer output display
US8707191B2 (en) Multi-screen synthesizing display apparatus and method
KR100699067B1 (en) Display controller with display memory circuit
US20090115791A1 (en) Loading an internal frame buffer from an external frame buffer
US5710570A (en) Information processing unit having display functions
EP0279225B1 (en) Reconfigurable counters for addressing in graphics display systems
US5945974A (en) Display controller with integrated half frame buffer and systems and methods using the same
US6108015A (en) Circuits, systems and methods for interfacing processing circuitry with a memory
JPH064041A (en) Unit and method for display control
US6734863B1 (en) Display controller for display apparatus
US5894297A (en) Display apparatus
EP0166739B1 (en) Semiconductor memory device for serial scan applications
JPH11510620A (en) Integrated system / frame buffer memory and system, and methods of using them
WO1997008676A1 (en) Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area
US5910919A (en) Circuits, systems and methods for modifying data stored in a memory using logic operations
EP0801375A2 (en) A memory with optimized memory space and wide data input/output and systems and methods using the same
JP3245230B2 (en) Display control device and display control method
JPH08115594A (en) Data readout, transferring and refreshing method for dual port drams
JP3227200B2 (en) Display control device and method
US5812829A (en) Image display control system and memory control capable of freely forming display images in various desired display modes
US20010013863A1 (en) Image data processing system
JPS62113193A (en) Memory circuit
JPH06223577A (en) Sram
JPH065073A (en) Memory controller

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1019980701432

Country of ref document: KR

ENP Entry into the national phase

Ref country code: JP

Ref document number: 1997 510625

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1996930661

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996930661

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980701432

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1996930661

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1019980701432

Country of ref document: KR