Thursday, October 22, 2009

Video Controller

A fixed area of the system memory is reserved for the frame buffer, and the video controller is given direct access to the frame-buffer memory.

Frame-buffer locations, and the corresponding screen positions, are referenced in Cartesian coordinates. For many graphics monitors, the coordinate origin is defined as the lower left screen corner. The screen surface is then represented as a first quadrant of the two dimensional system, with positive x values increasing to the right and positive y values increasing from bottom to the top. ( On some personal computers, the coordinate origin is referenced at the upper left corner of the screen, so the y values are inverted.) Scan lines are then labeled from y max at the top of the screen to 0 at the bottom. Along each scan line screen pixel positions are labeled from 0 to x max.
Two registers are used to store the coordinates of the screen pixels. Initially the x register is set to 0 and the y register is set to y max. The value stored in for the frame buffer for this pixel position is then retrieved and used to set the intensity of the CRT beam. Then the x register is incremented by 1, and the process repeated for the next pixel on the top scan line. After the last pixel on the top scan line has processed, the x register is reset to 0 and the y register is decremented by 1. Pixels along this scan line are then processed in turn, and the procedure for each successive scan line. After cycling through all pixels along the bottom scan line (y=o), the video controller resets the registers to the first pixel position on the top scan line and the refresh process starts over.
Since the screen must be refreshed at the rate of 60 frames per second, the simple procedure cannot be accommodated by typical RAM chips. The cycle time is too slow. To speed up pixel processing, video controller can retrieve multiple pixel values from the refresh buffer on each pass. The multiple pixel intensities are then stored in a separated register and used to control the CRT beam intensity for a group of adjacent pixels. When that group of pixels has been processed, the next block of pixel values is retrieved from the frame buffer.
A number of other operations can be performed by the video controller, besides the basic refreshing operations.

Labels: , , , , , ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home