Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port RAM array
First Claim
1. A method of displaying pixel data on a video display, comprising the steps of:
- (a) storing said pixel data in a video random access memory (VRAM) having a parallel port and a serial port, said VRAM comprising a plurality of memory chips organized into rows and columns, said memory chips storing said pixel data as respective tiles corresponding to a predetermined number of pixels in each scan line for a predetermined number of scan lines of said video display;
(b) for an even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with a first row of memory chips specified by a first row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line;
(c) after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data from a second row of memory chips specified by a second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line;
(d) for an odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM for respective tile of said pixel data, where each column includes said predetermined number of pixels in each scan line;
(e) after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data from said first row of memory chips specified by said second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line;
(f) for each subsequent even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said first row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous even scan line;
(g) for each subsequent odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous odd scan line;
(h) outputting to said video display from said serial port of said VRAM portions of respective scan lines of said video display from each row of memory chips specified by said first and second row addresses for said predetermined number of scan lines; and
(i) repeating steps (b)-(h) for subsequent row addresses of said VRAM until all display pixels visible to a viewer have been shifted to said video display.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for maximizing column address coherency for serial and parallel port accesses to a dual port frame buffer. Performance of the serial port of the frame buffer is greatly improved by separating the page boundaries in the horizontal direction (i.e., scan line organized), while performance of the parallel port of the frame buffer is enhanced by organizing the page boundaries for rectangular areas of the display. Performance at both ports may be maximized at the same time by organizing the video random access memory (VRAM) into tiles and vertically barrel shifting the scan line data at a fixed interval across the video display. During operation, the serial port output looks like an entire row of data while it has actually output parts of N rows of data from two separate rows of memory chips which are changed at the fixed interval. This approach allows the parallel port to organize columns N times higher in the vertical direction. As a result, the page boundaries are N times as far apart in the vertical direction, thereby improving output performance.
53 Citations
11 Claims
-
1. A method of displaying pixel data on a video display, comprising the steps of:
-
(a) storing said pixel data in a video random access memory (VRAM) having a parallel port and a serial port, said VRAM comprising a plurality of memory chips organized into rows and columns, said memory chips storing said pixel data as respective tiles corresponding to a predetermined number of pixels in each scan line for a predetermined number of scan lines of said video display; (b) for an even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with a first row of memory chips specified by a first row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line; (c) after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data from a second row of memory chips specified by a second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line; (d) for an odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM for respective tile of said pixel data, where each column includes said predetermined number of pixels in each scan line; (e) after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data from said first row of memory chips specified by said second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line; (f) for each subsequent even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said first row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous even scan line; (g) for each subsequent odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous odd scan line; (h) outputting to said video display from said serial port of said VRAM portions of respective scan lines of said video display from each row of memory chips specified by said first and second row addresses for said predetermined number of scan lines; and (i) repeating steps (b)-(h) for subsequent row addresses of said VRAM until all display pixels visible to a viewer have been shifted to said video display. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A graphic display system adapted to provide high performance page mode operation, comprising:
-
a raster scanned video display comprising a plurality of scan lines for displaying pixel data; a video random access memory (VRAM) having a parallel port and a serial port, said VRAM comparing a plurality of memory chips organized into rows and columns, said memory chips storing sad pixel data as respective tiles corresponding to a predetermined number of pixels in each scan line for a predetermined number of scan lines of said video display; and a barrel shifter disposed between said parallel and serial ports of said VRAM for barrel shifting to said serial port of said VRAM, for an even scan line of said video display, a predetermined number of columns of pixel data starting with a first row of memory chips specified by a first row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line, for barrel shifting to said serial port of said VRAM, after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said even scan line of said video display, a predetermined number of columns of pixel data from a second row of memory chips specified by a second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line, for barrel shifting to said serial port of said VRAM, for an odd scan line of said video display, a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line, for barrel shifting to said serial port of said VRAM , after said predetermined number of columns of pixel data has been shifted to said serial port of said VRAM for said odd scan line of said video display, a predetermined number of columns of pixel data from said first row of memory chips specified by said second row address of said VRAM for respective tiles of said pixel data, where each column includes said predetermined number of pixels in each scan line, for each subsequent even scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said first row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous even scan line, and for each subsequent odd scan line of said video display, barrel shifting to said serial port of said VRAM a predetermined number of columns of pixel data starting with said second row of memory chips specified by said first row address of said VRAM but at a different column than that column at which barrel shifting started for the immediately previous odd scan line, wherein said serial port of said VRAM outputs to said video display portions of respective scan lines of said video display from each row of memory chips specified by each row address of said VRAM until all display pixels visible to a viewer have been output to said video display. - View Dependent Claims (7, 8, 9, 10, 11)
-
Specification