"$ ! Designing with a system focus and extracting as much performance and functionality as possible from available technology results in a highly integrated graphics chip that consumes very little board area and power and is 50% faster and five times less expensive than its predecessor. # ! • • • • (% '2!0()#3 35"3934%- /& 4(% /$%, 7/2+34!4)/. )3 ! ()'(;0%2&/2-!.#% ,/7;#/34 3/,54)/. 4(!4 3)43 $)2%#4,9 /. 4(% 3934%- "53 /& 4(% /$%, !.$ #/.3)343 /& 4(% '2!0()#3 #()0 ! 6)$%/ ;"!3%$ &2!-% "5&&%2 !.$ ! &%7 3500/24 #()03 3%% )' (% 02/*%#4 '/!,3 #,/3%,9 2%&,%#4 4(/3% /& 4(% /6%2!,, /$%, 02/'2!- . 02)/2)49 /2$%2 4(%3% '/!,3 7%2% %29 ,/7 -!.5&!#452).' #/34 %!$%23()0 '2!0()#3 0%2&/2-!.#% !4 %.429 #/34 ,%6%,3 2#()4%#452!, #/-0!4)"),)49 /-0%,,).' .%7 &5.#4)/.!,)49 #()%6).' 4(%3% '/!,3 2%15)2%$ ! -!*/2 34%0 ). 4(% %6/,54)/. /& %.429;,%6%, '2!0()#3 7/2+34!4)/. (!2$7!2% 7/ 0(),/3; /0()%3 (%,0%$ 4(% 4%!- 2%30/.3)",% &/2 4(% '2!0()#3 #()0 !#()%6% 4(%3% '/!,3 (% &)234 '5)$).' 0(),/3/0(9 7!3 4/ $%3)'. 7)4( ! 3934%-;,%6%, &/#53 % %8!-).%$ !,, 2%15)2%$ &5.#4)/.!,)49 4/ $%#)$% 7(%4(%2 )4 7!3 "%34 4/ )-0,%-%.4 )4 ). Memory PA 7100LC Cache General System Connect (GSC) Bus Graphics Subsystem LASI Chip (I/O) Monitor Graphics Chip Video RAM Frame Buffer ",/#+ $)!'2!- /& 4(% %33%.4)!, #/-0/.%.43 4(!4 -!+% 50 4(% /$%, 7/2+34!4)/. Hewlett-Packard Company 1995 4(% '2!0()#3 35"3934%- 4(% (/34 02/#%33/2 /2 3/-% #/-"); .!4)/. /& 4(% 47/ (% 3%#/.$ 0(),/3/0(9 7!3 4/ %842!#4 !3 -5#( 0%2&/2-!.#% !.$ &5.#4)/.!,)49 !3 0/33)",% &2/- 2%!$),9 !6!),!",% 4%#(./,; /'9 % !6/)$%$ ,%!$).';%$'% 4%#(./,/'9 "%#!53% /& 4(% #/34 )-0,)#!4)/.3 % $)$ -!+% !. !44%-04 4/ 53% !,, 4(% &%!452%3 !.$ 0%2&/2-!.#% !6!),!",% ). -!452% 4%#(./,/')%3 35#( !3 6)$%/ 3 3 !.$ 3 02/#%33 ()3 !24)#,% $%3#2)"%3 4(% &%!452%3 !.$ &5.#4)/.!,)49 /& 4(% /$%, '2!0()#3 35"3934%- (% #/.3)$%2!4)/.3 4(!4 7%.4 ).4/ !##/-0,)3().' 4(% '/!,3 -%.4)/.%$ !"/6% !2% !,3/ $%3#2)"%$ ! # (% 7).$/7 !##%,%2!4/2 #!2$† ).42/$5#%$ "9 ). -!2+%$ 4(% "%')..).' /& ! 34!.$!2$):%$ '2!0()#3 (!2$; 7!2% !2#()4%#452% &/2 7).$/7 3934%- !##%,%2!4)/. ()3 !2; #()4%#452% 7!3 #(/3%. &/2 )43 3)-0,)#)49 /& )-0,%-%.4!4)/. !.$ &/2 4(% #,%!. -/$%, )4 02%3%.43 4/ 4(% 3/&47!2% $2)6%2 $%6%,/0%23 .% /& /52 &5.$!-%.4!, $%3)'. $%#)3)/.3 7!3 4/ !##%,%2!4% +%9 02)-)4)6%3 /.,9<! !002/!#( !.9 %!2; ,)%2 #/.42/,,%23 #(/3% 4/ !##%,%2!4% ! ,!2'% '!-54 /& '2!0()#!, /0%2!4)/.3 35#( !3 %,,)03%3 !2)4(-%4)# 0)8%, /0%2!4)/.3 !.$ 3/ /. 2!0()#3 35"3934%-3 $%3)'.%$ 7)4( 4(%3% #/.42/,,%23 7%2% 490)#!,,9 %80%.3)6% !.$ %8()")4%$ /.,9 -/$%2!4% 7).; $/7 3934%- 0%2&/2-!.#% . 4(% !.$ 35"3%15%.4 !##%,; %2!4/23 ).#,5$).' 4(% /$%, 3 '2!0()#3 #()0 7% $%#)$%$ 4/ !##%,%2!4% ! #!2%&5,,9 #(/3%. 3-!,,%2 3%4 /& 02)-)4)6%3 7()#( !2% $%3#2)"%$ ). 4(% &/,,/7).' 3%#4)/.3 Block Transfer. 2)4).' 0)8%,3 &2/- 3934%- -%-/29 4/ 4(% &2!-% "5&&%2 /2 2%!$).' &2/- 4(% &2!-% "5&&%2 4/ 3934%-%-/29 )3 ! ",/#+ 42!.3&%2 3%% )' 2)4%3 !2% 53%$ 4/ 42!.3&%2 )-!'% $!4! 4/ 4(% &2!-% "5&&%2 %!$3 !2% 53%$ 02); -!2),9 4/ 3!6% 0/24)/.3 /& 4(% 3#2%%. 4%-0/2!2),9 /"3#52%$ "9 0/0;50 -%.53 3%% )' " † A window accelerator is the hardware that provides the images seen on the workstation monitor. In particular, an accelerator is geared toward speeding up environments such as the X Window System. The window accelerator enables the fast movement of windows on the screen, scrolling of text, painting of window borders and backgrounds, and so on. 02), %7,%44;!#+!2$ /52.!, System Memory System Memory Frame Buffer Frame Buffer Frame Buffer A B (a) (b) ' 14)0 97'38,+7 <7/9+ ( 14)0 97'38,+7 7+'* %/3*4< 4(8):7+8 </3*4< ".+ 4(8):7+* '7+' /8 8947+* /3 8>89+2 2+247> ,47 7+8947'9/43 <.+3 9.+ '7+' 4, </3*4< /8 +=548+* Block Move. (14)0 24;+ /3;41;+8 97'38,+77/3- 5/=+18 ,742 43+ 7+)9'3-:1'7 '7+' /3 9.+ ,7'2+ (:,,+7 94 '349.+7 5488/(1> 4;+71'55/3- '7+' /3 9.+ ,7'2+ (:,,+7 /- "./8 /8 ;+7> :8+,:1 ,47 24;/3- </3*4<8 43 9.+ 8)7++3 '3* 8)7411/3- 1/3+8 4, 9+=9 </9./3 ' </3*4< ".+ (14)0 24;+ /3 9.+ -7'5./)8 )./5 8:554798 441+'3 45+7'9/438 43 9.+ *'9' (+/3- 24;+* 8:). '8 ./-.1/-.9/3- 9+=9 (> )4251+2+39/3- )41478 Vectors. ".+ '(/1/9> 94 *7'< ;+)9478 1/3+ 8+-2+398 ;+7> 6:/)01> /8 ' 7+6:/7+2+39 4, *+8/-3 '551/)'9/438 8:). '8 8).+@ 2'9/) )'59:7+ '3* 2+).'3/)'1 *+8/-3 /- ".:8 9.+ -7'5./)8 )./5 .'8 ' ./-.@5+7,472'3)+ ;+)947 -+3+7'947 9.'9 )7+'9+8 & %/3*4< !>89+2@)4251/'39 1/3+ 8+-2+398 Fast Text. .'7')9+78 '7+ '))+1+7'9+* (> 9.+ -7'5./)8 )./5 (+)':8+ 4, 9.+/7 5+7;'8/;+ :8+ /3 </3*4< 8>89+28 '3* 9.+ 1'7-+ 549+39/'1 ,47 5+7,472'3)+ /2574;+2+39 4;+7 84,9<'7+@ 431> 841:9/438 ).'7')9+7 /8 *+,/3+* '8 ' 7+)9'3-:1'7 '77'> 4, 5/=+18 9.'9 )439'/38 431> 9<4 )41478 )'11+* ,47+-74:3* '3* (')0-74:3* )41478 +)':8+ 9.+7+ '7+ 431> 9<4 ).4/)+8 ' 8/3-1+ (/9 /8 8:,,/)/+39 94 85+)/,> 9.+ )4147 4, +'). 5/=+1 /3 ' ).'7')9+7 "./8 /2574;+8 5+7,472'3)+ (> 7+*:)/3- 9.+ '24:39 4, *'9' 9.'9 /8 97'382/99+* ,742 9.+ 574)+8847 94 9.+ -7'5./)8 )./5 47 +='251+ 9.+ hp ).'7')9+7 /3 /- 7+6:/7+8 431> (>9+8 4, *'9' ;+78:8 (>9+8 /, 9./8 459/2/?'9/43 .'* • 349 (++3 2'*+ • Rectangular Area Fill. "./8 57/2/9/;+ /8 </*+1> :8+* (> </3*4< 8>89+28 94 -+3+7'9+ </3*4< (47*+78 2+3: (:99438 '3* 84 43 /- 9 /8 '184 /25479'39 ,47 '551/)'9/438 8:). '8 57/39+* )/7):/9 (4'7* 1'>4:9 '3* 5.>8/)'1 *+8/-3 +)9'3@ -:1'7 '7+'8 )'3 (+ 5'99+73+* :8/3- 9<4 )41478 47 )439'/3 431> ' 8/3-1+ )4147 '7*<'7+ '))+1+7'9/43 '-'/3 -/;+8 ' 1'7-+ 85++*:5 4;+7 84,9<'7+@431> 841:9/438 Cursor. #39/1 9.+ 1'9+ 8 <.+3 .'7*<'7+ ):78478 89'79+* '55+'7/3- /3 ;/*+4 8 8)7++3 ):78478 <+7+ 9>5/)'11> -+3+7@ '9+* :8/3- 84,9<'7+ 74:9/3+8 '7*<'7+ 8:55479 /8 ' -44* 97'*+@4,, (+)':8+ 9.+ )/7):/97> /8 7+1'9/;+1> 8/251+ '3* ' 8>8@ 9+2 </9.4:9 .'7*<'7+ '))+1+7'9/43 )'3 85+3* ' 8/-3/,/)'39 5479/43 4, /98 9/2+ :5*'9/3- 9.+ ):7847 @(>@@5/=+1 9<4@)4147 ):7847 /8 8:55479+* */7+)91> /3 9.+ -7'5./)8 )./5 $+)947 57/2/9/;+ ;+)947 /8 *7'<3 (> 9:73/3- 43 8:))+88/;+ 5/=+18 :8/3- 9.+ 7+8+3.'2 '1-47/9.2 47+ )4251+= ,:3)9/43'1/9> 8:). '8 </*+ 1/3+8 )/7)1+8 '3* +11/58+8 '3* 57/2/9/;+8 '7+ 349 '))+1+7'9+* */7+)91> (> 9.+ -7'5./)8 )./5 (+)':8+ 9.+ '551/)'9/43 5+7,472'3)+ /2@ 574;+2+39 <'8 *+9+72/3+* 94 (+ 944 14< ,47 9.+ )489 4, /251+2+39'9/43 ".+8+ ,:3)9/438 )'3 (+ +,,/)/+391> /251+@ 2+39+* /3 84,9<'7+ "./8 /8 '3 +='251+ 4, 9.+ 8>89+2@1+;+1 *+8/-3 97'*+@4,,8 2+39/43+* '(4;+ 3 /25479'39 '85+)9 4, 9./8 89'3*'7*/?+* '7)./9+)9:7+ /8 84,9<'7+ 1+;+7'-+ 9 /8 +89/2'9+* 9.'9 8+;+7'1 84,9<'7+ +3-/@ 3++7/3- >+'78 <+7+ 8';+* 43 9.+ -7'5./)8 )./5 (+)':8+ 9.+ '7)./9+)9:7+ /8 ;/79:'11> /*+39/)'1 94 9.'9 4, 9.+ & -7'5./)8 8:(8>89+2 ".+ 8';/3-8 /3 84,9<'7+ +3-/3++7/3- 9/2+ <'8 '551/+* 94 9:3/3- '3* '**/3- 3+< ,:3)9/43'1/9> /389+'* 4, 7+<7/9/3- *7/;+78 "4 -+9 ' (+99+7 :3*+789'3*/3- 4, 9.+ 45+7'9/43 4, 9.+ -7'5./)8 )./5 1+98 ,4114< ' -7'5./)8 57/2/9/;+ 9.74:-. 9.+ (14)0 */'@ -7'2 8.4<3 /3 /- ;+)947 /8 ' -44* +='251+ (+)':8+ /9 /3;41;+8 '11 4, 9.+ (14)08 /3 9.+ )./5 88:2+ <+ .';+ ' ;+)947 9.'9 89'798 '9 => )447*/3'9+8 /8 5/=+18 143- '3* .'8 ' 8145+ 4, /789 8+;+7'1 5'7'2+9+78 '7+ )'1):1'9+* 94 8+9 :5 9.+ ;+)947 /3 9.+ -7'5./)8 )./5 "./8 /8 *43+ (> -7'5./)8 84,9<'7+ +- 9.+ & %/3*4< !>89+2 7:33/3- 43 9.+ # ".+ ./-.@1+;+1 85+)/,/)'9/43 4, ' ;+)947 /8 !9'79/3- => )447*/3'9+ 3*/3- => )447*/3'9+ System Memory 10011x110011xx111xx101101 1001xx1100101x111xx101x Frame Buffer 1 = Foreground Color 0 = Background Color x = Not Affected Frame Buffer A 14)0 24;+ +)9'3-:1'7 '7+' /8 24;+* 94 ' 3+< 5488/(1> 4;+71'55/3- 14)'9/43 57/1 +<1+99@')0'7* 4:73'1 '89 9+=9 57/2/9/;+ ).'7')9+7 /8 ' 7+)9'3-:1'7 '77'> )439'/3@ /3- 9<4 )41478 ,47+-74:3* '3* (')0-74:3* )41478 31> ' 8/3-1+ (/9 /8 3++*+* 94 85+)/,> +'). )4147 Hewlett-Packard Company 1995 !", - ", -+',++ +(,, -! ., -!+(. ! -! "'-+ ' "'-( ,- ( + ",-+, "' -! &+( .'-"(' .'"- -!, + ",-+, + %+2 "' ., 2 -! &+( .'4 -"(' .'"- -! - ", )% "' 40(+4) .+ -!- -! .'"- ' ,, 0!' "- (&, + !", "'+,, ""'2 2 %%(0"' (/+%) -0' -! ,(-0+ ' !+0+ )+(,,, ! &+( .'-"(' .'"-, ," #( ", -( +$ (0' -! !" !4%/% ,+")-"(', ( +)!", )+"&"4 -"/, ,.! , /-(+, -1- ' +-' %, "'-( ,+", ( "'"4 /".% +*.,-, -( +0 )"1%, +0"' -! /-(+ ", .-(&-"%%2 -+" + 0!' -! %,( -! )+&-+, ,+" "' -! ,)""-"(' ", 0+"--' "'-( -! &+( .'-"(' .'"- ! &+( .'-"(' -!' ,-), "-, 02 %(' -! /-(+ .,"' -! +,'!& % (+"-!& ' ",,., +*.,-, -( +0 )"1%, "' -! ,%() ( (.+ /-(+ ", -! 24((+"'- ", "'+&'- -+ /+2 -0( ,-), %(' -! 141", , "'"- "' " ' &" !- 1)- -!- ,)+- 14 ' 24+,, 0(.% ,)"" (+ ! )"1% -( 0+"--' (0/+ 0"-! /-(+, Frame Buffer -' .%+ + "%% )+"&"-"/ +-' % ", "' 2 (+'+ 0"-! ' !" !- (%(+ (+ )--+' &2 ))%" -!+ ", 1%%'- (!+' -0' ,.,,"/ 14 ' 244 +,,, , )"1%, + +0' ,*.'-"%%2 %(' -! /-(+ !., -!+ + ,)"% ., 2%, -0' -! &+( .'4 -"(' .'"- ' -! - (+&--+ -!- ,)"2 -!- -! )+/"(., 14 (+ 2 ((+"'- ,!(.% "'+&'- (+ +&'- -( '+- -! '0 ((+"'- !", ,/, ,'"' .%% 12 ((+"'- )"+ (+ ! )"1% +0' ' ," '""'-%2 "&4 )+(/, '0"-! ., (' -! ., !", ()-"&"3-"(' ", %,( .,.% (+ (-!+ )+"&"-"/, ,.! , -1- ' +-' %, System Bus (GSC) Video Block GSC Interface PhaseLocked Loop Video Controller Video Timing 32-Word FIFO Cursor RAM Macro Function Unit Color Recovery Decode Color Lookup Table #1 Bus DACs Red Green Blue To Monitor Color Lookup Table #2 Data Formatter Frame Buffer Controller To Random Ports From Video Ports Frame Buffer Random Port VRAM (2M Bits) VRAM (2M Bits) VRAM (2M Bits) VRAM (2M Bits) VRAM (2M Bits) VRAM (2M Bits) Video Port Optional Frame Buffer Memory VRAM (2M Bits) VRAM (2M Bits) %($ " +& ( -! (&)(''-, "'," -! +)!", !") Hewlett-Packard Company 1995 )+"% 0%--4$+ (.+'% ,*99.3, 9-* 8(7**3 .2&,* )&9& +742 9-* +7&2* ':++*7 &3) (43;*79.3, .9 +47 ).851&> 43 9-* 243.947 "-.8 ).851&> 574(*88 .8 &8>3(-7434:8 94 9-* 7*3)*7.3, 574(*88 <-.(- 51&(*) 4:7 ;*(947 .3 9-* +7&2* ':++*7 4 7 3 5 Y Axis 2 1 0 1 2 0 1 3 4 2 3 8 6 Increment y 5 6 7 8 X Axis .=*1 7*57*8*39&9.43 4+ & ;*(947 9-&9 89&798 &9 (447).3&9* .8 5.=*18 143, &3) -&8 & 8145* 4+ "-* )&9& +472&99*78 /4' .8 94 9&0* 7*6:*898 &3) )&9& +742 9-* 2&(74 +:3(9.43 :3.9 &3) +472&9 9-*2 .3 & <&> 9-&9 .8 '*89 +47 9-* +7&2* ':++*7 3 9-* (&8* 4+ 4:7 ;*(947 9-* 5.=*1 &)@ )7*88*8 7*(*.;*) '> 9-* )&9& +472&99*7 &7* (4&1*8(*) .394 7*(9&3,:1&7 9.1*8 9-&9 &7* 459.2.?*) +47 9-* +7&2* ':++*7 "-* )&9& +472&99*7 &184 7*(4,3.?*8 <-*3 85*(.&1 $ 24)*8 2&> '* *3&'1*) 94 .2574;* 5*7+472&3(* '&8*) 43 9-* 8*@ 6:*3(* 4+ )&9& .9 7*(*.;*8 +742 9-* 2&(74 +:3(9.43 :3.9 47 *=&251* 5&,* 24)* <-.(- .8 )*8(7.'*) .3 247* )*9&.1 1&9*7 .3 9-.8 &79.(1* <4:1) '* *3&'1*) ):7.3, & ;*(947 )7&< "-* )&9& +472&99*7 &184 8947*8 9-* (:77*39 5.=*1 &))7*88 ;*(947 (4147 &3) & -489 4+ 49-*7 5&7&2*9*78 +47 49-*7 57.2.9.;*8 "-* +7&2* ':++*7 (4397411*7 ,*3*7&9*8 8.,3&18 +47 9-* $ 8 '&8*) 43 9-* 7*6:*898 +742 9-* )&9& +472&99*7 "-* (4397411*7 14408 &9 9-* 8*6:*3(* 4+ <7.9*8 &3) 7*&)8 7*6:*89*) &3) &)/:898 9-* 9.2.3, 43 9-* $ 8.,3&18 94 2&=.2.?* 5*7+47@ 2&3(* 47 4:7 ;*(947 <* 431> 3**) 94 )4 8.251* <7.9*8 .394 9-* +7&2* ':++*7 &3) (>(1*8 (&3 '* &8 +&89 &8 38 5*7 5.=*1 47* (4251*= 57.2.9.;*8 2.,-9 7*6:.7* )&9& 94 '* 7*&) 24).+.*) &3) <7.99*3 '&(0 5488.'1> 94 & ).++*7*39 +7&2* ':++*7 14(&9.43 "-* ,7&5-.(8 (-.5 8:554798 &3 @'.9@5*7@5.=*1 +7&2* ':++*7 "-.8 2*&38 9-&9 :8.3, 3472&1 9*(-3.6:*8 431> (41478 (&3 '* ).851&>*) 8.2:19&3*4:81> "-.8 .8 349 &1<&>8 &)*@ 6:&9* +47 94)&>8 ,7&5-.(8@47.*39*) 8>89*28 "<4 2*9-4)8 (&3 '* *2514>*) 94 .3(7*&8* 9-* 5*7(*.;*) 3:2'*7 4+ (41478 "-* +.789 .8 ).9-*7.3, .3 <-.(- &3 .39*71*&;*) 5&99*73 4+ 9<4 &;&.1&'1* (41478 .8 :8*) 94 ;.8:&11> &5574=.2&9* & 7*6:*89*) (4147 9-&9 .8 349 ).7*(91> &;&.1&'1* "-* 8*(43) &5574&(- .8 (4147 7*(4;*7> 4147 7*(4;*7> .8 ;.8:&11> 8:5*7.47 94 ).9-*7@ • .3, &3) .8 )*8(7.'*) 1&9*7 "4 ,*9 9-* )&9& .3 9-* +7&2* ':++*7 94 9-* 243.947 9-* ;.)*4 (4397411*7 +.789 8*3)8 & 7*6:*89 94 9-* +7&2* ':++*7 (4397411*7 94 &((*88 9-* +7&2* ':++*7 )&9& "-.8 )&9& .8 7*6:*89*) .3 8*6:*39.&1 47 8(&3@1.3* 47)*7 94 2&9(- 9-* 5&9- 4+ 9-* '*&2 43 9-* 243.947 *=9 9-* )&9& +742 9-* +7&2* ':++*7 .8 7:3 9-74:,- & (4147 1440:5 9&'1* 94 97&381&9* 9-* @'.9 ;&1:*8 .394 '.98 *&(- 4+ 7*) ,7**3 &3) '1:* "-* ,7&5-.(8 (-.5 8:5@ 54798 9<4 .3)*5*3)*39 (4147 1440:5 9&'1*8 <-.(- &7* 8*1*(9*) 43 & 5*7@).851&>*)@5.=*1 '&8.8 '> 9-* &997.':9* )&9& "-.8 +*&@ 9:7* -*158 *1.2.3&9* (4147 (439*39.43 '*9<**3 &551.(&9.438 8-&7.3, 9-* +7&2* ':++*7 .3&11> (:7847 )&9& .8 2*7,*) .3 '> 9-* ;.)*4 '14(0 &3) 9-* ).,.9&1 ;.)*4 897*&2 .8 (43;*79*) 94 &3&14, 8.,3&18 +47 9-* 243.947 "-.8 (4251*9*8 &3 4;*7;.*< 4+ 9-* 1.+* 4+ & ;*(947 57.2.9.;* +742 & -.,-@1*;*1 )*8(7.59.43 .3 9-* 84+9<&7* )7.;*7 94 ).8@ 51&> 43 9-* 243.947 "-.8 '&8.( )&9& +14< .8 9-* 8&2* +47 49-*7 57.2.9.;*8 8:(- &8 7*(9&3,1*8 &3) 9*=9 4< (489 <&8 9-* 57.2&7> 4'/*(9.;* +47 9-* ,7&5-.(8 (-.5 )*8.,3 8 & 2*&8:7* 4+ 4:7 8:((*88 9-* 2&3:+&(9:7.3, (489 +47 9-* 4)*1 ,7&5-.(8 8:'8>89*2 .8 9-* (489 4+ 9-* 47.,.3&1 % ,7&5-.(8 8:'8>89*2 3 &)).9.43 9-* *397>@1*;*1 @'>@@5.=*1 ;*78.43 4+ 9-* ,7&5-.(8 (-.5 (4898 +.;* 9.2*8 1*88 9-&3 9-* % 8:'8>89*2 "-*8* (489 7*):(9.438 <*7* &(-.*;*) 57.2&7.1> 9-74:,- &3 &,,7*88.;* &24:39 4+ .39*,7&9.43 <-.(- .8 8:22&7.?*) .3 ., "-* ,7&5-.(8 (-.5 7*57*8*398 9-* (:12.3&9.43 4+ & 8*7.*8 4+ 459.2.?&9.438 4+ 9-* % +&2.1> (42'.3.3, &12489 9-* *39.7* # ,7&5-.(&1 :8*7 .39*7+&(* &((*1*7&947 4394 & 8.3,1* (-.5 "-* 431> 2&/47 +:3(9.43 349 (:77*391> .39*,7&9*) .8 9-* +7&2* ':++*7 7&2* ':++*7 .39*,7&9.43 .8 349 +*&8.'1* 94)&> '*(&:8* &3) 14,.( )*38.9.*8 &7* 349 6:.9* -.,*34:,- &3) 9-*7* .8 (:77*391> & (489 &);&39&,* 94 :8.3, (4224).9> $ 5&798 !.3(* 9-* .3974):(9.43 4+ 9-* % 8:'8>89*2 .3):897> 97*3)8 8:(- &8 )*38*7 &3) (-*&5*7 2*247> &3) .3*=5*38.;* ,&9*8 -&;* (4397.':9*) 94 (489 7*):(9.438 .3 ,7&5-.(8 -&7)@ <&7* 4<*;*7 9-* ,7&5-.(8 (-.58 -.,- 1*;*1 4+ .39*,7&9.43 &184 (4397.':9*8 (489 7*):(9.438 .3 9-* +4114<.3, &7*&8 1.2.3&9.43 4+ ;&1:*@57.(*) 5&798 "-* (4147 1440:5 9&'1* &3) 9-* ).,.9&1@94@&3&14, (43;*79*7 -&;* 97&).9.43&11> "-* 4)*1 8 *397>@1*;*1 (43+.,:7&9.43 +7&2* ':++*7 :8*8 '**3 &3 *=5*38.;* (42543*39 4+ 9-* ,7&5-.(8 8:'8>89*2 +4:7 @'.9 $ 5&798 <-.(- &114<8 8(7**3 7*841:9.438 4+ "-.8 .8 *85*(.&11> 97:* +47 8>89*28 (&5&'1* 4+ -.,- 7*841:9.43 :5 94 '> 5.=*18 )).3, +4:7 247* $ (-.58 43 & '> 5.=*18 ? &3) -&;.3, 2:19.51* (4147 )&:,-9*7 (&7) *3&'1*8 8(7**3 7*841:9.438 :5 94 '> 1440:5 9&'1*8 8:(- &8 9-* 43* ':.19 .394 9-* ,7&5-.(8 (-.5 5.=*18 "-* ).,.9&1 5-&8*@14(0*) 1445 .3 9-* ,7&5-.(8 (-.5 7*51&(*8 &349-*7 *=5*38.;* *=9*73&1 5&79 3 &)).9.43 94 9-* 8(7**3 .2&,* )&9& )&9& +47 9-* (:7847 • "-* )*38.9> 4+ "8 &(-.*;*) <.9- 9-* ,7&5-.(8 (-.5 4;*7 (4147 1440:5 9&'1* &3) &997.':9*8 &7* 8947*) .3 4++8(7**3 22 .8 8.,3.+.(&391> -.,-*7 9-&3 <.9- 57*;.4:8 ,*3*7&@ +7&2* ':++*7 2*247> "-.8 .8 &3 &7*& .3 9-* ;.)*4 9.438 "-.8 .8 .25479&39 '*(&:8* 8.1.(43 &7*& .8 & 2&/47 +7&2* ':++*7 9-&9 .8 3*;*7 ).7*(91> ).851&>*) 43 9-* " (4397.':947 94 4;*7&11 )*8.,3 (489 &9& .3 9-.8 7*,.43 .8 &((*88*) .3 *=&(91> 9-* 8&2* +&8-.43 &8 • 5&(0&,.3, &3) 9*89.3, (4397.':9* 8.,3.+.(&391> 94 9-* (489 9-* 8(7**3 .2&,* )&9& 57*8*39.3, & (438.89*39 .39*7+&(* 94 4+ *&(- (-.5 .3 & 8>89*2 *):(.3, 9-* 3:2'*7 4+ (-.58 *1.2@ 84+9<&7* )7.;*7 <7.9*78 .3&9*8 9-.8 4;*7-*&) "-* ,7&5-.(8 (-.5 -&8 & +:11 .39*73&1 9 9-.8 54.39 4:7 ;*(947 *=.898 .3 9-* +7&2* ':++*7 ':9 (&3349 8(&3 5&9- &3) 2&3> .39*73&1 8.,3&9:7* 7*,.89*78 94 7*):(* '* 8**3 '> 9-* :8*7 "-* ;.)*4 '14(0 .8 7*85438.'1* +47 9*89 9.2* &3) (-.5 (489 8.,3.+.(&391> 57.1 *<1*99@&(0&7) 4:73&1 Hewlett-Packard Company 1995 Graphics Subsystem, Date of Introduction, and HP 9000 Models Bus Interface and Macro Function Unit Data Formatter and Frame Buffer Controller CRX/GRX March 1991 720/730/735 Video Block Xtal Frame Buffer RAM Color Lookup Table + DAC with Cursor Increasing Density C September 1991 705/710 Xtal Color Lookup Table + DAC with Cursor C August 1992 715/725 PhaseLocked Loop Color Lookup Table + DAC with Cursor HC January 1994 712 Graphics Chip • Printed circuit board area is a significant system cost. The elimination of a large number of chips not only reduced the printed circuit board area from about 60 in2 for the CRX to 14 in2 for the graphics subsystem in the Model 712, but allowed the graphics to be integrated directly onto the motherboard, eliminating connectors, a bulkhead, and other mechanical components. • Power consumption for the graphics subsystem in the Model 712 is only six watts. This low power consumption reduces power supply capacity and cooling requirements and thereĆ fore cost. • Manufacturing costs associated with parts placement, test, and rework are proportional to the number of discrete comĆ ponents in a system. The graphics chip and and other chips in the Model 712 include JTAG (IEEE 1149.1) capability and signature generators to reduce the cost of printed circuit board test. Optional VRAM The evolution of HP's graphical user interface (GUI) accelerator. Increased clock rates are possible because of the elimination of chipĆtoĆchip synchronization delays, pad delays, and printed circuit board trace delays. This compounds the bandĆ width benefit of wider buses. HP's CMOS26B technology allows the bus interface, macro function unit, and frame buffer controller blocks of the graphics chip to operate at 80 MHz while the three DACs and two color lookup tables of the video block operate at 135 Mhz. Intelligent systemĆlevel design also made major contributions to performance. A simple example is the block transfer comĆ mands which are responsible for transferring data from sysĆ tem memory to the graphics chip and its frame buffer. A special mode was introduced to the memory and I/O conĆ troller in the PA 7100LC which allows fast sequential doubleĆ word transfers without incurring the overhead of two singleĆ word transfers. This simple change boosted block transfer performance by 50%. Several factors made this high level of integration practical. Besides designing with a systemĆlevel focus, the other First, improved VLSI capabilities such as increased FET denĆ driving philosophy was to extract as much performance and sity, decreasing wafer costs and the availability within HP of utility as possible from available technology. A good example video DAC technology. Secondly, the desktop availability of of this is the use of the advanced features available in the design and simulation tools capable of handling a model of latest 2MĆbit and 4MĆbit VRAMs. HP has been instrumental in over 300,000 gates and 500,000 transistors. VLSI design and proposing and driving many of these enhancements within verification were accomplished on HP 9000 Series 700 workĆ the JEDEC committee over the last few years. The more imĆ stations using Verilog, Synopsys, and many inĆhouse IC deĆ portant features include: velopment tools. The performance of the workstations alĆ • Page mode. This feature eliminates the need to send redunĆ lowed the gateĆlevel simulation of entire video frames (1/60 dant portions of the pixel address when writing into the s of operation) of over 1.2 million pixels, which was the first frame buffer. The result is that many operations can write a time this was accomplished within HP. pixel in as little as 37.5 ns versus the more typical 70 ns (see Fig. 10). The key here is that these operations must occur within a page of VRAM or a significant penalty is incurred. The integration described above has also resulted in signifiĆ By default this page is long and narrow, which is good for cant performance benefits. The two major reasons for the block move and block transfer operations but bad for ranĆ performance benefits are wider buses and increased clock domly oriented vectors and rectangles. To achieve a better rates. performance balance, we made use of the next feature. Wider buses are possible between blocks when they are on • Stop register/split transfer. This feature allows the frame buffer to be organized in pages that are more square than the same piece of silicon. Wider buses allow better commuĆ long and narrow. Moving to this organization improves ranĆ nication bandwidth at a given clock rate, with very little cost dom vector and small rectangle performance significantly impact. A good example on the graphics chip is the much while only slightly reducing large horizontal primitive improved communication between the macro function unit performance (see Fig. 11). and the data formatter which once existed as separate chips. Hewlett-Packard Company 1995 April 1995 HewlettĆPackard Journal Page Mode First Pixel Second Pixel Third Pixel Fourth Pixel Time Nonpage Mode 11 Cycles 137.5 ns First Pixel Table I Summary of the Graphics Chip’s Performance 11 Cycles 137.5 ns 3 Cycles 37.5 ns for Each Pixel Second Pixel 11 Cycles 137.5 ns Total 20 Cycles 250 ns at 80 MHz Third Pixel 11 Cycles 137.5 ns Fourth Pixel 11 Cycles 137.5 ns Total 44 Cycles 550 ns at 80 MHz 6 144=;<:)<176 7. <0- 8-:.7:5)6+- 158:7>-5-6< 87;;1*4=;16/ <0- 8)/- 57,- <7 ?:1<- 81@-4; 16<7 <0- .:)5- *=..-: #01; -@C )584- +758):-; <0- 8-:.7:5)6+- 7. -)+0 57,- ?0-6 2=;< .7=: 81@-4; ):- <:)6;.-::-, <7 <0- .:)5- *=..-: • 47+3 ?:1<- ; 5-6<176-, -):41-: 78-:)<176; ;=+0 ); <-@< )6, :-+<)6/=4): .144 .:-9=-6<4A :-9=1:- 764A 76- 7: <?7 +747:; <7 *- ;-4-+<-, 76 ) 8-:C81@-4 *);1; 7: <01; :-);76 %!; 8:7>1,- ) 57,- >1) ) ;16/4- *1< 16 ?01+0 ) 81@-4; +747: +)6 *- ;-4-+<-, .:75 )6 C*1< .7:-/:7=6, 7: *)+3/:7=6, +747: ;<7:-, 16 <0- %!; #01; <:)6;4)<-; 16<7 )6 × 8-:.7:C 5)6+- 158:7>-5-6< .7: <0-;- <A8-; 7. 78-:)<176; #0- /:)801+; +018; 8-:.7:5)6+- 1; ;=55):1B-, 16 #)*4- #0- <)*4- +758):-; <0- 8-:.7:5)6+- 7. <0- /:)801+; +018 )< 1<; <0-7:-<1+)4 0):,?):- 4151< <7 1<; 8-:.7:5)6+- 16 CB )6, CB 7,-4 ?7:3;<)<176; )6, <0- 7,-4 !' #0- .16)4 :7? 16 #)*4- '5):3 1; )6 16,=;<:AC;<)6,):, 5-<:1+ <0)< 1; )6 )>-:)/- 7. ;->-:)4 0=6,:-, ' &16,7? "A;C <-5 <-;<; Benchmark Hardware Limit Model 712/80 Model 712/60 CRX 720 47+3 <:)6;.-: C*1< 81@-4;; .:)5- *=..-: <7 ;A;<-5 5-57:A 47+3 <:)6;.-: C*1< 81@-4;; ;A;<-5 5-57:A <7 .:)5- *=..-: 47+3 57>- 81@-4;; .:)5- *=..-: <7 .:)5*=..-: *A 81@-4; %-+<7:;; C81@-4 ' +75841)6< #-@< +0):)+<-:;; *A 81@-4;+0):)+<-: 3 3 3 !-+<)6/4-;; *A 81@-4;:-+<)6/4- 3 3 3 D '5):3 -A76, 158:7>16/ 8-:.7:5)6+- )6, ,:78816/ +7;< ;=*;<)6C <1)44A 1< ?); )6 1587:<)6< /7)4 <7 16+4=,- =;-.=4 6-? .=6+C <176)41<A 16 <0- /:)801+; +018 -47? ):- ;75- 7. <0- 57:1587:<)6< ),,1<176; Software Video Support. 6- 7. <0- ,-;1/6 /7)4; .7: <0- 7,-4 ?); <7 *- )*4- <7 84)A )6, >1,-7 ;-C 9=-6+-; ?1<07=< -@8-6;1>- 0):,?):- )++-4-:)<176 #0:7=/0 +):-.=4 )6)4A;1; 7. <0- ,-+7,16/ 8:7+-;; 1< *-+)5- +4-): <0)< <01; ?); 87;;1*4- )< .=44 .:)5- :)<-; )6, 01/0 >1;=)4 9=)41<A =;16/ ) +75*16)<176 7. <0- .7447?16/ )4/7:1<051+ )6, /:)801+; -60)6+-5-6<; 7<- <0)< <0- /:)801+; +018; 0):,?):- 4151< 1; ;1/61.1+)6<4A • !-?:1<16/ <0- ;<)6,):, ,-+7,- )4/7:1<05; <7 5)3- <0-5 ); 01/0-: <0)6 <0- 7,-4 ;A;<-5 8-:.7:5)6+- 4151<; #01; -..1+1-6< ); 87;;1*40-),:775 5-)6; <0)< .=<=:- ;A;<-5; ?1<0 01/0-: 4->-4; 7. • ,,16/ 3-A 16;<:=+<176; <7 <0- $ 8-:.7:5)6+- 7: ->-6 57:- 01/04A <=6-, ;7.<?):- ,:1>-:; • 584-5-6<16/ ($%C<7C! +747: ;8)+- +76>-:;176 16 <0?144 *- +)8)*4- 7. ->-6 *-<<-: ?16,7? ;A;<-5 8-:.7:5)6+- /:)801+; +018 With Stop Register Without Stop Register Page Is 256 Pixels Wide by 8 Pixels High Page Is 1024 Pixels Wide by 2 Pixels High Page Page Page Page Page Page Page Page Page Page Total Cycles to Draw a 10-Pixel Vector: 11+(4x3)+11+(4x3) = 46 8:14 -?4-<<C )+3):, 7=:6)4 Total Cycles to Draw a 10-Pixel Vector: 11+(11+3)+(11+3)+(11+3)+(11+3)+11 = 78 58:7>16/ 8-:.7:5)6+?1<0 .:)5- *=..-: 8)/-; <0)< ):57:- ;9=):- <0)6 476/ )6, 6)::7? Hewlett-Packard Company 1995 Graphics Chip True Color Primitive or Bitmap Data 24 Bits HP Color Recovery Encode Monitor HP Color Recovery Decode 8 Bits 24 Bits Color Lookup Table and DAC Analog RGB 8 Bits Frame Buffer (8 Bits per Pixel) The HP Color Recovery pipeline. YUV encoding is used in many video formats. It allocates proportionately more bits to encode the brightness or lumiĆ nance (Y) of the image, and fewer bits to represent the color (UV) in the image. Since the human eye is more sensitive to brightness than color, this is an efficient scheme. However, since the graphics chip's frame buffer is stored in RGB forĆ mat, a conversion from YUV to RGB is necessary. applications. The graphics chip solves this problem in a maĆ jority of cases by providing two 256Ćentry color maps. For most interactions in which the user is focused on a single application and the window manager, this completely elimiĆ nates the resource contention and results in a visually stable screen (see Fig. 13). This conversion is a good example of an operation that was relatively expensive in software (a 3ĆbyĆ3 16Ćbit matrix multiĆ ply) but simple to do in the the graphics chip hardware. This simple addition alone improves video playback performance by as much as 30% and helps enable full 30Ćframe/s 320ĆbyĆ288Ćpixel resolution MPEG playback on a Model 712/80. • • • • • • HP Color Recovery. The graphics chip incorporates a new disĆ play technology called HP Color Recovery. Using a lowĆcost 8Ćbit frame buffer and HP Color Recovery, the graphics chip can display images that are in many cases visually indistinĆ guishable from those of a 24Ćbit frame buffer costing three times more. This feature is useful for the following applicaĆ tion areas: Visual multimedia (JPEG, MPEG, etc.) Shaded mechanical CAD models Geographical imaging system Document image management Visualization HighĆquality business graphics. A block diagram of the HP Color Recovery pipeline is shown in Fig. 12. The HP Color Recovery encoding scheme causes no loss of performance for rendering operations and is related to tradiĆ tional ordered dithering. Dithering is widely used to approxiĆ mate a large number of colors with an 8Ćbit frame buffer and is also available in the graphics chip. The HP Color Recovery decode is much more sophisticated and based on advanced signal processing techniques. This circuitry cycles at 135 MHz and achieves over 9 billion opĆ erations per second. HP Color Recovery is described in more detail in the article on page 51. Multiple Color Lookup Tables. Typically, entryĆlevel workstation and personal computer graphics subsystems have had only a single color lookup table with a limited number of entries, usually 256. In the X Window System this results in the anĆ noying flashing of backgrounds or window contents when a new application is started that takes colors from existing Hewlett-Packard Company 1995 True Color Image • • • • Software Programmable Resolutions. One of the problems of past workstation graphics subsystems is that they operate at a fixed video resolution and refresh rate. This has posed problems in configuring systems at the factory and during customer upgrades. The graphics chip incorporates an adĆ vanced digital frequency synthesizer that generates the clocks necessary for the video subsystem. This synthesizer, based on HP proprietary digital phaseĆlocked loop technolĆ ogy, allows software configurability of the resolution and frequency of the video signal. Thus, alternate monitors can be connected without changing any video hardware. Currently supported configurations include: 640 by 480 pixels 60 Hz, standard VESA timing 800 by 600 pixels 60 Hz 1024 by 1024 pixels 75 Hz and flat panel 1280 by 1024 pixels 72 Hz. As new monitor timings appear, the graphics chip can simĆ ply be reprogrammed with the parameters associated with the new monitor. We created the graphics chip with the philosophies of systemĆ levelĆoptimized design and optimal use of technology. This enabled us to meet our goals of very low manufacturing cost, leadership performance at our cost point, architectural compatibility, and introduction of some important new functionality. This paper briefly summarizes the work of many dedicated and creative members of the graphics chip development team in the graphics hardware and software laboratories in Fort Collins and the Integrated Circuits Business Division. Many thanks to Harry Baeverstad, Tony Barkans, Raj Basudev, Dale Beucler, Rand Briggs, Joel BuckĆGengler, Mike Diehl, Ales Fiala, Randy Fiscus, Dave Maitland, Bob Manley, Dave McAllister, Peter Meier, John Metzner, Brian Miller, Gordon Motley, Donovan Nickel, Cathy Pfister, Larry Thayer, Brad Reak, Cal Selig, James Stewart, and Gayvin Stong for their exceptional efforts. April 1995 HewlettĆPackard Journal (a) +),-&.+* "/1""* .&*$(" *! )0(/&,(" +(+- (++'0, /(". *" +(+- (++'0, /(" 1+ +(+- (++'0, /(". (b) %+!"* *! &( +2 4-!1-" "("-/&+* #+- &*!+1 3./"). ! +( *+ 0(3 , ,-&( "1("//5 '-! +0-*( -"."*%) 4($+-&/%) #+- +),0/"- +*/-+( +# &$&/( (+/5 /"- " ! +( *+ ,, 5 Hewlett-Packard Company 1995