lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll USUU5596767A Unlted States Patent n9; [tti Patent Number: 5,596,767 Guttag et a]. |tt5t Date of Patent: Jan. 21, 1997

[54] PROGRAIVIIVIABLE DATA PROCESSING 4.862.150 8/1989 Katsugtl cl al ...... 340/703 SYSTEM AND APPARATUS FOR 4.8731152 10/1989 Pilat et a1...... ‘BM/Slit EXECUTING BOTH GENERAL PURPOSE 5.431.969 7/1‘995 Hcily‘eil et al. . 395/166 INSTRUCTIONS AND SPECIAL PURPOSE 5.437.111] 7/1995 Guttag et a1...... 395/162 GRAPHIC INSTRUCTIONS

7b~ In "nti ..._ Karl M.. (1t tt' 1., K" - C.‘ Primaryr Examiner rAlpesh M. Shah I I W m Mculmuuglilr girgigxgaggi a“ OE- Attorney, Agent, or Firm Lawrence 1. Bassuk; Leo N. Houston Tm‘ ‘ llciting; Richard L. Donaldson

[7-]} 3534'‘:\ssignec "\H‘ [IFZZI‘UHIUHSi - - Incorporated.- r- I57] ABS]Y‘ RAUIr“ The present invention is a programmable data processing {2}] App}, No.; 483.810 system and apparatus which operates as an independent W ‘_ microprocessor. The programmable data processing system [MI Filed: Jun. 7, 1995 ol‘ the present invention stores both general purpose and I g . _ K ‘ special purpose graphic instructions. The programmable Rel‘ittd U'b' Apphmlmn Ddt" data processing apparatus of the present invention has both [63] Continuation ol' SGT. No. 965.561. Oct. 23. 1992. Pat. No. l-l'.pcs.ofinslrumolls within “5 minim?" “1' This pnwlsion. 5.522.082. which is a continuation of Ser. No. 426.~'l8t1.()ct. of a Smglc proccssmg apparatus ‘or prcimmmg holh types 01 21 1939‘ ahanduncdq which K a Continuation or Sup N0‘ instructions enables a highly tlcxiblc solution to hit map 346.388. Apr. 27. 5989. abandoned. which is a continuation graphics problems. This is because the program oi‘ the data ol‘Ser. Nov 2117.034. Jun. 13» 1988. abandoned. which is a _ . . . . t. . , 1 . ,‘ t . t continuation of Ser. No. 821.641. Jan. 23. 1986. abandoned. pmidcmlmc dppdtr‘dluh Ind-y hL aliens‘; m ‘Pun-ML ihL mnbl desirable graphics algorithm without loss 01 the general [51] Int. Cl.“ ...... G06F 9/30; G06F 15/76 purpose calculation and program How capability ol‘ageneral [52} US_ CL ______h 395/300; 395/376; 395/501; purpose data processor. The data processor of the present 354/2235; 364/2313; 364/2634; 364/DIG, i invention may serve as a parallel processor for a host data [5s] Field or Search ...... 395/soa7oo. processing Byslcm For Primarily Control 01‘ bit manned 395/650‘ 500, 375_ mu 1157 M0‘ [44‘ graphics. In addition this same type data processing appa 162; 382/9‘ 10‘ 41; 345/24, 55‘ ill 356 rates may serve an independent microprocessor within a single user computer or graphics terminal. [56} References Cited U.S. PATENT DOCUMENTS

4.799.146 1/1989 Chauvel ...... 364/200 13 Claims, 14 Drawing Sheets

250 720 t» 205 ‘y ‘ tNSTRUCllON "M 7/1 WE 122 220 .1 204 tyl 2.50 REGlSTER MEMORY ‘ FILES <2’ INTERFACE ff5~tL N} \\ i HOSTi w“.2023, (200 ' .INTERFACE\_ 2m H0 H5 720 1150732 M0 150 760 F70 ‘1 V , Whit" , ...~ , ...... r.'__. t" .11. .. .i‘ f. bani. Z40 205*‘ l e t HOST eRiPstes 7.22 i ‘ iSHIFT VtDtO WW vtnro sPrditt PROCESSING 4“ .Q ~ 1' ' i TO \ t HARDWARE 1 A t it t 755 i 55 124 v’ . iNPUT/OUTPUT REGISTERS \ 260 —— ~ <—W VIDEO DlSPLAtt .\ CONTROLtER r270

US. Patent Jan. 21, 1997 Sheet 2 0f 14 5,596,767

500 x Y ADDRESSING MODE H I

AX(W|DTH) 377 575 579 T M Y 574 575 J7751350HEI6HT I +540 571 572 575 I ZDSbTéRERSTS 350 PIXE? DATA

oglég <~*~— SCREEN PITCH 520 -~?_.

aX Fig. 5

LINEAR ADDRESSING MODE I<—~-- LINEAR PITCH 450444 470 447 442 445 % 444f445 446 START '“?AMZOMN P——AX420_____.I ADDRESS (SEGMENT LENGTH) Fig. 4

US. Patent Jan. 21, 1997 Sheet 4 0f 14 5,596,767

2201~SOURCE" SOURCE ADDRESS PITCH ‘I605 DESTINATION ADDRESS I 604 DESTINATION PITCH ‘I605 OFFSET I606 *IAIINDOW START _f607 wINDOw END I608 DEETA Y/DELTAX I609 i‘iwyjgyyCOLOR 0 I670 STACK POINTER if 752 Mg. 6 p05 H SCREEN MEMORY-x YADDRESSINC

AT 790 F*750»I ARRAYMOVED T~ x 7 60 M ADDRESS i +750 " OTESET Y \ A57??? 740ADDRESS \Ix I I I I<————~ DEESTINATION PITCH 745 A 7/5 \ j X f

AFR'RAET 750% f750%w750 77041 SOURCE ADDRESS

_ OFF SCREEN MEMORY, UNEAR ADDRESSING SOURCE PITCH 7Z0 %-~—~——+I Fig. 7 US. Patent Jan. 21, 1997 Sheet 5 0f 14 5,596,767

800 807 1 (BEGIN) READ V502 SOURCE ADDRESS

‘ FETCH SOURCE V805 DATA

I READ V504 DESTINATION ADDRESS I FETCH DESTINATION V805 DATA

_ SOURCE T V505 DESTINATION COMBINATION I WRITE DESTINATION 807 DATA 809 H UPDATE SOURCE ADDRESS I UPDATE DESTINATION ADDRESS C 5/0 Fig. 5 US. Patent Jan. 21, 1997 Sheet 6 0f 14 5,596,767

2602 977 975 975 974975972 977 K f f f f 7 3 00 PP PBV PBH w T RR 970 CONVSP I920 CONVDP f930 SIZE /'940 PLANE MASK I950 Fig. 9

200 H 202 7070 204 205 @J 7 7 07 5 7050 (é ADDER 7/ INSTRUCTSION PROGRAM coUNTER 64> TEMPORARY REGISTERS A17 020 REGISTER ARITHMETRIC LOGIC UNIT -/7025

I BARREL SHITTER 7 CONYROL 7050) ih'zogl? MP5 7075 REMAEDMSRNYLY MASK/MERGE UNIT 5 LEFT MOST ONE IJETEcToR _/\7040 ' I COLOR EXPAND LOGIC /\7045 / V WINDOW COMPARITORS _A7050 7065 / TRANSPARENCY LOGIC -/\7055 2/0 Fig. 70 US. Patent Jan. 21, 1997 Sheet 7 of 14 5,596,767

TRANSPARENT 50111105 BA1A i 7 7 7 0 1+7 7 72% 1+7 7 7 4~>1 Fig. 7 7A A B 1 O 1 B B B I O 1 0 B B B 1 1 1 0 E TRANSPARENCY MASK 7 720 Fig. 7 7 B A 1 1 1 1 B 0 B B 1 1 1 1 1 1 1 j 1 DESTINATEON BA1A 7 7 50 Fig. 7 7 C A A 7 A A A B B B B c c c c B D B B RESULTANT BA1A WORD 7 7 40 Fig. 7 7 D A 0 1 O 1 B B B B‘ 1 0 B 0 0 1 1 B |<— N+3 —-7<* N+2—~>+<—-N+1~>1<—N——H PIXEL BA1A 72 7 0 Fig. 7 2A A A A A A 1 A A A A B B B B B B B B PLANE MASK DATA 7220 Fig. 7 2B A B B 1 1 B 1 1 1 O B 1 1 O 1 1 1 1‘ RESULTANT DATA WORD 7 25 0 Fig. 7 2C LI 0 B A A B A A A B O B B B B B B B— PIXEL N+1 ?>1<_' PIXEL N H US. Patent Jan. 21, 1997 Sheet 8 0f 14 5,596,767

16 BIT DATAWDRD, TJVI/O 8- BIT DESTINATION DATA TO BE ALTERED 75 7 0 Fig. 7 5A A A A A I A A A I A I A B I B SOURCE PIXELS TO BE MOVED 7520 Fig. 7 5B A Y Y Y Y Y O 0 O PLANE MASK 7550 Fig. 7 36 {O I O O O O I I I 1 RESULTANT MASKED SOURCE DATA 7 340 Fig. 7 5D A O O O O O O I O O TRANSPARENCY MASK 7 550 Fig. 75F AI 0 O O O 0 O ‘ O O I I I COMBINED PLANE AND TRANSPARENCY MASK 7 5 60 Fig. 75F A O O O I O 0 O O O RESULTANT DESTINATION DATA 7 5170 Fig. 7 3G AAAAAAAA B B B B B Z Z Z US. Patent Jan. 21, 1997 Sheet 9 0f 14 5,596,767

53 292252 _55 :5 F258 AW\ A023695 052Q?\P $2528 52%?a:3:> 062052063$3ms: Q3\ .mi3 +A>>:5GZEEmEE$5 :3 651525: GEEWEEHm528 x225:8 AIIUFIJVém AH295% Z9556ANW' EE>®Q3@3 M72:is $3 N?Ns3a. :2 Q\w Hg:

\

.GXE i5 5% US. Patent Jan. 21, 1997 Sheet 10 of 14 5,596,767

7570 O 1 1 O FOUR I— BIT MONOCI-IROME PIXELS Fig. 75A TO BE COLOR EXPANDED 7520 Fig. 75B 00100 PIXEL SIZE DATA 75527 75547 7534775327 Fig. 75C OOOOIIIIIIIIIOOOO P—EXPANDED MONOCHROME WORDI530————-*I 15451 154% 1545? 15451 Fig. I50 O I 0 I O O I O I 0 0 0 I O O O I 0 I<— * COLOR "0“ DATA I540 —*>I 75557 15557 75557 75553 Fig. 75E O I 0 I O I O I O I O I O I O I I<————"—"— COLOR III" DATA I550 ———~"—>I 75621 7564 v 75663 75687 Fig. O O I O O I O I 0 I O I O O I 0 COLOR COLOR COLOR COLOR "0" "I" "I" "O" PIXEL PIXEL PIXEL PIXEL V EXPANDED COLOR WORD I560 US. Patent Jan. 21, 1997 Sheet 11 01 14 5,596,767 7600 1 1 Xmin PX Ymin Py 76077650¢ $7670 7605/6501} $7620 ;J‘+CO¢JIPARAEORV76OS N“ COQPARA§ORVI6O7 Px Xmox F'y Ymox 7670 7540 7620‘ 7660

16027 COMPARATOR‘A; {8}“ “ 7505 150.45%“?T COMPARATOR V 7605 7670 7550

3 L % Z690 “i Fig. 16 - I695

OVER Y OVER Y MAX OVER V max UNDER x OVER Y MAX 1001 1000 1010 7707 1% iii 1720 W'E‘RSW 1()(mclx, Ymux) UNDER 11 1.1111 R(x,V)w11H|R OVER x 11101 0w 0001 OOOOON 0010 L704. 7700 7705 WIN (Xmin, Ymin) OVER x 51 7770 ONOERV MIN UNDERY 0101 0100 0110 7706 [ZQZ 7708 ER )1 MIN ER Y 11111 Hg. 17 US. Patent Jan. 21, 1997 Sheet 12 0f 14 5,596,767

REGTSTER ADDITION, XY MODE REGISTER SUBSTRACTION, XY MODE 7c?” [(512 i870 79]] 7%72 7970 I—W—Y§—W* X5 _ SOURCE fSOURCE Hg. 78A REGISTER REGISTER H527 H522 7520 7920 YD XD JDESTINATIDN I ESTINATIDN Fig. 785 REGTSTER “I H9- 795 REGISTER 75557 71252 K 75557 7992 Fig. 150 Fig. 190

207/ 2072

A S )5 S 12010SOURCE [IT/‘g. 20A REGISTER 2027 2022 I /YD XD/ f2020DESTINATION H9 205 REGISTER 2q51 2q32 r2030 YD _ Y? X5 _ X5 2 gEEIUSLTTER H9. 206 “0" NEGATIVE "O" NEGATIVE \\ \ STATUSA“ REG. ‘ OV2040 / \R 2047 2042 Z045 2044 H9. 200 U.S. Patent Jan. 21, 1997 Sheet 13 0f 14 5,596,767

MOVE X COORDINATE INSTRUCTION MOVE Y COORDINATE INSTRUCTION 21/11 2112 2770 2211 2212 2270 YS XS fsDuRcE YS TEXTS J SOURCE Fig. 2 REGISTER REGISTER Z727 Z722 Z227 2222 I; I )5 2120 I; ; f2220 D I D DESIINAIIDN D I D DESTINATEON Fig. 2 REGISTER / REGISTER 2151 2152 2 730 2251 2252 2230 YD XS fREsDLI YS XD fRESULT Hg. 2 7 C REGISTER Fig 226 REGISTER

DRAW AND ADVANCE INSERDDIIDN 25 7 I 25 72 25 70 ” * DAsE YB XB COORDINATE REGISTER Z521 Z522 \

OFFSET REGISTERYo I 2320JX0 25/31 25252 ADDRESS

RESULTANT REGISTER 2550J 752 60g 254 QK‘ A COLOR 0 W1 PIXEL 2347 I 2 READ / REcALLED PIXEL ~~ vIDED RAM wRIIE H 2542 coNDINED PIXEL E19. 25 US. Patent Jan. 21, 1997 Sheet 14 0f14 5,596,767

750

2407 km DISPLAY2IIA€M0O€Y PITCH —*I SCREEN‘ START ON SCREEN MEM0RY24T74 ADDRESS ON SCREEN VERT 24 7 0 MEMORY EXTENT DISPLAY-M MEMORY l 2472 i103 I+M0RIZ. EXTENT»I 2402 24201 DATA

24501 PRCCRAM 24401 OPERATING SYSTEM/ RUN TIME LIBRARIES Z4501 BOOT STRAP RoM |<_P|TCH Fig. 24 5,596,767 1 2 PROGRAMMABLE DATA PROCESSING cessor. In accordance with the present invention a graphics SYSTEM AND APPARATUS FOR data processor is provided which can execute both general EXECUTING BOTH GENERAL PURPOSE purpose data processing instructions and special purpose INSTRUCTIONS AND SPECIAL PURPOSE graphics data processing instructions. The graphics data GRAPHIC INSTRUCTIONS processor of the present invention is provided with special purpose graphics hardware particularly adapted to data This is a continuation ofappiication Ser. No. 07/965,561. processing tasks required by bit mapped graphics displays. filed Oct. 23. [992, now US Pat. No. 5,522,082; which is a One of the central features of the graphics data processor continuation of application Scr. No. (17/426,480, filed Oct. of the present invention is programmability. In accordance 23, 1989, now abandoned,‘ which is a continuation of with the present invention the graphics data processor can application Ser. No. 07/346,388, filed Apr. 27. i989, now perform general purpose data processing tasks and special abandoned: which is a continuation of application Ser. No. graphics data processing tasks in response to a single set of 07/207034, tiled Jun, l3, I988, now abandoned; which is a program instructions without any required intervention by continuation of application Ser. No. [Io/82Lo4l, filed .Ian. another processor. The general purpose data processing 23, 1986, now abandoned. tasks would typically include register arithmetic and logic BACKGROUND OF TIIE INVENTION operations. memory access operations and program flow control operations. Program flow control operations include The present invention relates to the field of computer conditional and unconditional branch operations, subroutine graphics. In particular, this invention relates to the field of calls and subroutine returns, The graphics operations would bit mapped in which the computer include at least the capability to perform pixel array moves memory stores data for each individual picture element or for transferring an array of pixels to a specified location in pixel of the display at memory locations that correspond to the bit map. These pixel array moves preferably also include the location of that pixel on the display. The field of bit the capability to perform a specified combination between mapped computer graphics has bene?ted greatly from the ‘ corresponding pixels of a source array and a destination lowered cost per hit of dynamic random access memory array. This source destination combination may be subject to (DRAM). The lowered cost per hit of memory enables larger transparency and plane maskingv and more complex displays to be formed in the bit mapped These features and other features described in the present mode. application enable a highly ?exible solution to the problem The reduction in the cost per hit of memory and the of controlling bit mapped graphics. The capability for a consequent increase in the capacity of bit mapped computer single program to provide for both general purpose data graphics has led to the need for processing devices which processing and graphic processing is an advance over the can advantageously use the bit mapped memory in computer prior art which required such functions to be separate. graphics applications. In particular. a type of device has arisen which includes the capacity to draw simple figures, 35 such as lines and circles, under the control of the main BRIEF DESCRIPTION OF THE DRAWINGS processor ofthc computer. In addition. some devices of this type include a limited capacity for hit block transfer (known These and other objects of the present invention will be as BIT-BLT or raster operation) which involves the transfer readily understood from the following description, taken in of Image data from one portion of memory to another, conjunction with the drawings in which: together with logical or arithmetic combinations of that data FIG. 1 illustrates a block diagram of a computer with with the data at the destination location within the memory. graphics capability constructed in accordance with the prin These bit-map controllers with hard wired functions for ciples of the present invention; drawings lines and performing other basic graphics opera FIG. 2 illustrates the block diagram of a preferred tions represent one approach to meeting the demanding 45 embodiment of the graphics processing circuit of the present performance requirements of bit maps displays. The built-in invention; algorithms for performing some of the most frequently used FIG. 3 illustrates the manner of specifying individual graphics operations provides a way of improving overall pixel addresses within the bit mapped memory in accor— system performance. However, a useful graphics system dance with the X Y addressing technique; often requires many functions in addition to those few which FIG. 4 illustrates a manner ofspccifying field addresses in are implemented in such a hard wired controller. These accordance with the linear addressing technique; additional required functions must be implemented in soft ware by the primary processor of the computer. Typically FIG. 5 illustrates the preferred embodiment of storage of these hard wired bit-map controllers permit the processor pixel data of varying lengths within a single data word in accordance with the preferred embodiment of the present only limited access to the bit