Video Monitor • Uses raster scanning to display images • Beam of electrons illuminates phosphorus dots on the screen called pixels. Starting at the top of the screen, the gun fires electrons from the left side to the right in a horizontal row, briefly shuts off, and returns to the left side of the screen to begin a new row. • Horizontal retrace – the time period when the gun is off between rows. • After the last row is drawn, the gun turns off and moves to the upper left corner of the screen to start all over again (vertical retrace) • Interlaced monitor scans every other line until it reaches the bottom, returns to the top and scans all other lines. Non-interlaced – has less flicker
Cathode Ray Tubes Phosper Vertical Deflection • Most common display type Cathode Electron Beam Horizontal Deflection Grid
Raster Scan Beam directed in lines (scan lines) across screen. Dots are created by turning the beam on & off. During retrace, the beam is off. Horizontal retrace is when beam returns to left edge Vertical retrace is when beam returns to upper left corner. Active lines Retrace lines
Raster line – horizontal line of video information that is displayed on screen • 640x480 display has 480 raster lines, 640 pixels per line. Pixel is smallest subdivision on line.
Horizontal, Vertical Syncs Horizontal Sync Horizontal oscillator Horizontal amplifier 15.75 Khz CRT Vertical Sync Vertical oscillator Vertical amplifier 60 hz Video amplifier Video Input
Video Monitor • Clarity determined by several factors: • Dot pitch – distance between adjacent pixels • .26 average – higher numbers >more distance • Horizontal and vertical frequencies – the speed at which horizontal lines are drawn and the time it takes to draw all lines on the screen.
The horizontal sweep controls the number of lines on the screen Sweep across screen (slow), drives horizontal deflector Horizontal Retrace (fast), moves beam back to left edge of screen. The vertical sweep controls how fast each screen is displayed. Sweep down the screen, (drives vertical deflector) Vertical Retrace moves beam back to top left corner
Color Monitors (cont) • Analog RGB Monitor • Analog signals (0-0.7v) • Infinite number of colors available (generally, finite # are generated – 256K, 16M, 24M) • Typically a DAC (digital-to-analog converter used) – 6-bit DAC for each video signal to generate 64 different voltage levels between 0V and 0.7V (64 red, 64 green, 64 blue = 256k different colors available) • 15-pin connector (red,green,blue, red gnd, green gnd, blue gnd, horizontal retrace, vertical retrace, pin 9 blocked,color detect, monochrome detect) • Speed of DAC is critical – most displays require an operating conversion time of 25ns to 40ns max. • 7-bit converters can display 2M colors (128x128x128) • 8-bit converters can display 16M colors (256x256x256)
How many lines on screen? • Let Horizontal sweep = 15.75Khz • Let Vertical sweep = 60 hz • Num lines = horizontal/vertical = 15750/60 = 262.5 • These numbers are for standard North America broadcast television • Half line allows next field (next 262.5 lines) to be offset by one half line (even & old fields). Two fields make one frame • Gives an interlaced display of 524 lines refreshed at 30 hz • Human eye can detect flicker at 45 Hz - don’t notice flicker on TV because of image types
How many Dots on screen? • Video input controls whether beam on or not • How fast we can turn beam on/off during horizontal trace time • Monitors use internal clock to sample video signal • Monochrome - only one line for video signal • Digital RGB - three digital lines (Red, Green, Blue) • Gives 8 colors (a 4th line, an intensity signal, can be used to give 16 colors) • Analog RGB - three analog lines, each driven by 8-bit DAC - gives 256 * 256 * 256 = 2 24 colors
VGA Timing (640 dots x 480 lines) Horizontal Sync = 31.5 Khz, Vertical Sync = 60 Hz Internal Monitor clock (Dot Clock) for latching video signal is 25.175 Mhz #max dots per line = Dot Clock Freq/ Horizontal Sync = 25.175 Mhz / 31.5 Khz = 800 Dots Only can use 640 dot times out of possible 800 for display because we need black areas on left/right edges and time for horizontal retrace. #max lines per screen = Horizontal Sync/Vertical Sync = 31.5 Khz / 60 hz = 525 lines Only 480 lines usable, need blank areas on top/bottom, time for vertical retrace
Horizontal Sync Timing 31.75us (31.5 Khz) 756 799 0 639 640 659 755 659 755 Horizontal retrace Left Border Right Border Display Next Line 800 dot times per line Counter can be used to keep track of horizontal screen position.
Vertical Sync Timing 16.67 ms ( 60 hz) 495 524 0 479 480 493 494 493 494 Vertical retrace Top Border Bottom Border Display Next Screen 525 line times per screen Counter can be used to keep track of vertical screen position.
Video Resolution • Set by software • Limited by the capacity of the video graphics adapter and the amount of video memory. • Expressed as the number of horizontal pixels, followed by the number of vertical pixels. • 640 x 480 (standard VGA) • 800 x 600 (super VGA) • 1024 x 768 (extended VGA) • 1152 x 864 • 1280 x 1024 • # of simultaneous colors supported is between 256(28 ) and 16 million (224)
Other resolutions • 800 x 600 • Dot clock 36 Mhz • Horizontal Sync 35.15 Khz • Vertical Sync 56 hz • 1024 x 768 • Dot clock 64.142 Mhz • Horizontal Sync 48.3 Khz • Vertical Sync 60 hz • Allow about 20% of horizontal trace time for borders, retrace • 6% to 8% of vertical trace time for borders, retrace
Video Resolution • Resolution determines amount of memory required for the video interface card. • 640 x 480 x256 colors(8-bits per pixel) • 640x480 bytes or 307,200 bytes required • 800 x 600 x 16M colors (SVGA) 24 bits/pixel • 800x600x24bits/8 or 1.4MB (2MB video card) • 1024 x 768 x 16M colors • 1024x768x3 or 2.5MB (use 4MB video card)
What drives video signal? • Every dot clock time for visible pixels, need to determine value of video signal • For monochrome, 1 bit per pixel (black or white, on or off) • For Digital RGB, 4 bits per pixel (R,G,B, Intensity) • For Analog RGB, N bits per R,G,B value where each RGB value can have 2N distinct values • The memory that defines the screen contents is called the display memory or frame buffer.
Memory Calculations • 800x 600 x 24 bit color – how much memory? 800 x 600 x 24 bits/pixel = 11520000 bits = 1440000 bytes = 1406 Kbytes = 1.4 Mbytes 2 Mb video card fine for this resolution/color 1280 x 1024 x 24 bits = 3.75 Mbytes Need 4 Mbyte Video card
Display Memory Characteristics • Accessed at high data rates • Will need to accessed by two sources • CPU which will be doing read/writes to random locations • Video signal driver which will be reading memory locations in a fixed pattern (the scan pattern) • Can use either SRAM, DRAM, SDRAM or specialty graphics memory to implement the graphics memory. • Graphics memory usually on same board as rest of video logic
Memory Access Video Card CPU Write Mostly, Random Access Video Controller Read Only, Sequential Access Video Memory CRT Video controller must arbitrate between its accesses and CPU accesses. CPU connection to card can either be via system bus (I.e. PCI bus) or dedicated connection (Advanced Graphics Port).
Video Memory • The PC has a memory-mapped video display. Each screen position occupies a separate memory address. The video memory is special high speed VRAM (video RAM). • In color text mode, VRAM is at B8000 • In color graphics mode, VRAM is at A0000. • DOS applications typically write text and graphics directly to video display buffer – much faster than using built-in DOS subroutines. • Windows applications do not use direct video memory access because it corrupts the built-in redrawing of the screen by Windows directly.
What type of Memory for Video? • Early cards used SRAM because of simple interface (no refresh, no DRAM controller needed), and because of low memory size requirements ( a few Kbytes) • As colors/video memory size increased, began using DRAM for density/cost reasons • Some special DRAMs appeared (called Video DRAMs) that had dual port access – parallel input/output for CPU, serial output for CRT. Died out because of cost reasons. • Memory choice today is Synchronous DRAM since 3-D graphics cards need 16 Mbytes and up • Some 3D cards performance is limited by speed of DRAM – even DDR-DRAM not fast enough.
Video RAM • VRAM – most video adapters (can be a separate board plugged into an expansion slot, or it may be integrated on the motherboard) • 4-8MB standard • Optimized for storing color pixels • Dual-ported • One port can continuously refresh the display while the other port writes data to the display. Results in lower eye strain than with DRAM
2D Graphics • 2D graphics operations are very simple • 2D graphics operations required by ‘window’ type Graphic User Interfaces • Block moves – memory to memory copy of rectangular areas on screen • Implements window movement • Block Fills (fill rectangular area on screen) • Hardware support for cursor operation • As cursor moves over screen pixels under cursor are not damaged • Hardware support for Sprite movement/collision detection • Sprite is rectangular group of pixels representing an object • Used by 2-D games
Animation • To produce animation on a screen, successive ‘frames’ are displayed in which screen objects are in slightly different positions in each frame. • The area of memory that the video controller is currently displaying on screen is the active Frame Buffer. • Most cards support two frame buffers. The CPU writes to the 2nd frame buffer to prepare the next frame. • When the next frame is ready, the 2nd frame buffer becomes the active Frame buffer and the 1st frame buffer is used to create the next frame. • The rate at which new frames are produced is called the Frame Rate (not the same as Video refresh rate).
Windows RAM • Optimized for video graphics displays. • Generally outperforms VRAM, allowing screen to be refreshed more quickly.
Synchronous Graphics RAM • Single ported RAM used on video accelerator cards. • Two video memory pages can be opened at the same time. • Able to clear memory quickly • Well-suited to 3-D applications
Video Palettes • Video generation circuit is used to generate VGA video. Each color is generated with an 18-bit digital code (6 bits red, 6 bits green,6 bits blue) • 18 bit code is applied to the DAC. The address input selects one of the 256 colors stored as 18-bit binary codes. Thus 256 colors out of a possible 256K colors are allowed to be displayed at one time. • 18-bit code stored in video display RAM VRAM is used to specify a color