home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / unix / bsd / 10651 < prev    next >
Encoding:
Text File  |  1992-12-27  |  13.1 KB  |  298 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!spool.mu.edu!umn.edu!csus.edu!netcom.com!hasty
  3. From: hasty@netcom.com (Amancio Hasty Jr)
  4. Subject: Re: S3 question - Amancio, are you there?
  5. Message-ID: <1992Dec27.081525.29228@netcom.com>
  6. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  7. References: <VIXIE.92Dec26034105@cognition.pa.dec.com>
  8. Date: Sun, 27 Dec 1992 08:15:25 GMT
  9. Lines: 287
  10.  
  11. In article <VIXIE.92Dec26034105@cognition.pa.dec.com> vixie@pa.dec.com (Paul A Vixie) writes:
  12. >I could have addressed this directly to Amancio, but I am betting that a
  13. >lot of other folks would like to know the answer.  I have been away from
  14. >the PC UNIX world for a while now (years, really) but I am presently
  15. >taking a look at different PC configurations for possible BSD/386 or 386BSD
  16. >use.  I've already determined that Localbus ("VESA") is more cost effective
  17. >than EISA (in terms of useful-bit-made-faster per dollar-spent) and that
  18. >a VESA/ISA system is probably what I want unless the price difference of a
  19. >VESA/EISA system is within epsilon of what I have in my new-computer fund.
  20. >
  21. >I see that the two greatest bit-bangers of the average computer are available
  22. >as VESA cards: display, and disk.  I'm still formulating my disk controller
  23. >questions and perhaps I'll ask them in a future post.  Right now I'm trying
  24. >to solve the S3 mystery.
  25. >
  26. >At work I have a EISA/SVGA/34020 board.  It is very fast when run under
  27. >Windows 3.1; however, Microsoft had access to the 34020 specs and I don't,
  28. >so I can't figure out how to port the X server to it and noone in this
  29. >newsgroup seems to have done that either.  It's too bad -- a 34020 with
  30. >a minimal BITBLT interpreter downloaded into it would make for a lightening
  31. >fast X11 server with the 34020 as almost a co-processor.  However, I'm
  32. >fairly sure that the 34020's days are numbered given something called "S3"
  33. >and the "GUI Accelerator" that seem to be taking the market by storm.
  34. >
  35. >I know that SVGA is more or less a hack on the IBM VGA spec to allow more
  36. >pixels; what I don't know is what an "SVGA S3" is.  I have gathered from
  37. >context in posts on this newsgroup that it is some kind of graphics
  38. >accelerator chipset and that there are several different revisions of
  39. >it and that different board manufacturers have had different results.
  40. >Yet, VGA is fundamentally a frame buffer that has some hardware assist
  41. >for certain operations.  Where does S3 fit in?  Is it another IO port, or
  42. >just more opcodes to the existing VGA IO port?  Or just a faster implementation
  43. >of the VGA spec?
  44. >
  45. >There are two reasons I need to know this.  First, if the VGA really is "just
  46. >a frame buffer", then given a fast CPU and VESA it should be trivial to get
  47. >the MIT CFB server running and have it run near the theoretical maximum
  48. >(though at some potentially unneccessary cost in main CPU cycles).  If on
  49. >the other hand VGA is like EGA in that you can only map certain parts into
  50. >memory at a time and it's generally cheaper to send high-level commands and
  51. >let the graphics hardware figure out how to achieve them, then I see a
  52. >problem.
  53. >
  54. >What problem?  Well, DEC did this really neat thing called the "Dragon" chip
  55. >set back on their MicroVAX II/GPX.  It was really really fast -- if you wrote
  56. >your application in FORTRAN on VMS.  On the other hand if you ran under X11,
  57. >things ran doggishly slow and the visual results were often less than perfect.
  58. >This is because the _only_ way to talk to a Dragon is in high-level op-codes,
  59. >and the model X11 lived in was incompatible with the one the Dragon used --
  60. >so achieving one X11 operation often took several, or hundreds, of Dragon
  61. >operations.  Since the Dragon's speed came from its economy of scale, the
  62. >speed was less than amazing.
  63. >
  64. >That seems to be what kills EGA (and non-SVGA VGA) performance on PC's.  You
  65. >can either send lots of not-exactly-what-you-wanted high level operations
  66. >down the "wire" or you can write to memory over a very slow bus.  Either way
  67. >things are very very slow.
  68. >
  69. >So here comes S3.  Is it the salvation to all the world's woes?  That depends.
  70. >Given VESA, one can access the VGA's "array" at memory speed (barring refresh
  71. >stalls -- that whole thing isn't dual-ported, is it?).  Is that enough?  Or,
  72. >if not, is it the S3 that gives one the extra performance and/or op-codes that
  73. >make X11 sing?  And, if that last is true, why isn't an S3 on EISA or even ISA
  74. >"fast enough" ?
  75. >
  76. >I know that Amancio's numbers indicate that the problem _is solved_, one way
  77. >or another.  But before I consider plunking money down to buy one of these
  78. >boxes, I would very much like to know _how_ it was solved.  And, I would like
  79. >to know the answer to the perennial question: "which VESA S3 card is fastest,
  80. >and why?"
  81. >
  82. >Thanks in advance...
  83. >--
  84. >Paul Vixie, DEC Network Systems Lab    
  85. >Palo Alto, California, USA             "Don't be a rebel, or a conformist;
  86. ><vixie@pa.dec.com> decwrl!vixie        they're the same thing, anyway.  Find
  87. ><paul@vix.com>     vixie!paul        your own path, and stay on it."  -me
  88.  
  89. I chose the S3 chipset because:
  90.  
  91. o    it offers a relative low cost 
  92.  
  93.     Recently, S3 cards have been listed for less than $200 
  94.     I expect the following price break down:
  95.     911/924 to cost around $170
  96.     801 (ISA) / 805 (local bus or EISA) $200 and $250.
  97.     928 ?? to be around > $300 but less than $350.
  98.     
  99. o    it is a high performance graphics engine
  100.  
  101.     on a 486/50 256k cache with 8MB: 
  102.         XS3 924 around 48k xstones
  103.         XS3 801 around 83k xstones
  104.         XS3 928 greater than 120k xstones.
  105.  
  106. o    there is a clear path of functional as well as a performance 
  107.     growth path ( I knew from day 1, when I first got my Diamond
  108.     stealth that there was going to be an S3 928. And, I no longer
  109.     have a Diamond Stealth!)
  110.  
  111. o    the documentation is publicly available
  112.  
  113. The S3 basic architecture consists of an 8514/a core, vga core, and memory
  114. management. The 8514/a side of the S3 chipset is not fully compatible
  115. with the 8514/a standard. However, in Kevin Martin's X server the 8514/a
  116. instruction opcodes used are nearly identical to the S3 chipset 8514/a
  117. instructions provided. The 8514/a side of XS3-0.1 differ from Kevin's
  118. server in the way that pixels were encoded for doing stipple image
  119. transfer. The change to XS3 was minor to incorporate the difference, but
  120. difficult at the time because we did know the difference.
  121.  
  122. The initialization of XS3 is done just like a svga with minor changes
  123. to incorporate the added features available in the S3 chipset. Must
  124. svga chipsets provided their added functionality slightly different, hence,
  125. the special initialization code for S3.
  126.  
  127. Kevin's server was chosen because of its simplicity and a great match for the
  128. S3 chipset. Part of the confusion in the early phase of searching for a
  129. server for the S3 chipset is that S3 corporation does not really advertise
  130. the high degree of 8514/a compatibility that the S3 chipset has. In fact,
  131. when I first started I had no clue that S3 had such a degree of compatibility
  132. with the 8514/a!
  133.  
  134. Much of the speed that we see today with S3 chipset is due to the built-in
  135. hardware graphic's functions provided by the chipset. An example, is line
  136. drawing, the server uses a Bresenham Line drawing algorithm implemented 
  137. in the S3 chipset. However, dashed-lines, are currently implemented in
  138. software. Another example, is rectangle fills is all done in hardware.
  139. Additionally, the S3 chipset has a queue of up to 8 commands deep in the
  140. 911/924 class and is 16 command levels deep in the 801/805.
  141. Fortunately, the cost of setting up the S3 graphic operations has not proven
  142. to be a great performance drawback. Obviously, the less that we have to
  143. do the better off we are but this engineering issue must be taken into
  144. the context of how much will it cost to provide a minimal graphic set-up
  145. operation scheme.
  146.  
  147. The fast text speed is due to a font cache which stores the fonts in 
  148. the card's memory. We blt the characters from the cards memory to 
  149. the location where we are writing the character to. This functionality
  150. is the same as in the 8514/a server.
  151.  
  152. The image write, read and fill operations' performance was increased by
  153. using vga banking.We experienced a 10x performance improvement when 
  154. we switched to vga banking. In the 8514/a architecture, all data transfer
  155. between the cpu and co-processor is done via the data transfer register.
  156. Also, we have to transfer the images a line at time inside a loop.
  157. If there is one area in which the S3 architecture suffers this is it!
  158. Ideally, I would like to see the chip do dma transfers from memory
  159. to the card and have it calculate the offsets into its memory and 
  160. the logical converse - have the chip  transfer a block of memory
  161. to consecutive region in the hosts memory.
  162.  
  163. The stipple operations were improved by using tigher logic and doing
  164. 16 bit transfers as oppposed to 8 bit data transfers via the data
  165. transfer register.
  166.  
  167. The server also now enjoys harware supported cursor. Some X applications such
  168. as acm (air combat simulator) run without the cursor ever flickering.
  169. In effect, is rare to see the cursor flicker, period. The 8514/a architecture
  170. does not have hardware cursor support.
  171.  
  172. The 801/805 and 928 architectures are capable of mapping their entire video
  173. memory to the host's address space. Currently, we only map 64k bytes at a
  174. time. This limitation is mostly imposed to us by the kernel!
  175.  
  176.  
  177. Further performance improvements were achieved by compiling the server
  178. with gcc-2.3.1. Some of the x11perf results were nearly twice as fast!
  179. Overall performance improvement, using xbench, proved to be around %15.
  180.  
  181. So far, we have been able to benefit from faster S3 chipset implementations,
  182. as, well as, more cpu power. For instance on my following systems:
  183.  
  184. o    486/33Mhz 64k cache 8MB  
  185.     S3 911    46k xstones
  186.     S3 801    64k xstones
  187.  
  188. o    486/50Mhz 256k cache 8MB
  189.     S3 801    83k xstones
  190.     
  191. Note:
  192.     All benchmarks were executed at 1024x768 45Mhz interlace.
  193.     In the case of the 801 and 805 DRAM based architectures at higher
  194.     clock rate you might experience performance degradation. However,
  195.     I have not been able to the test this hypothesis put forth on this
  196.     newsgroup. So, if anyone out there is running XS3 with an 801 card
  197.     and has a high resolution monitor, I would appreciate if you ran
  198.     xbench at 1024x768 45Mhz interlace and 1024x768 72Mhz. All I want
  199.     with respect to this issue are the numbers, there has been enough
  200.     postings with respect to this issue :-)
  201.  
  202. Slowly, the server is evolving from its pure 8514/a architecture to the
  203. S3 architecture. The next major jump will be when 16 bit or 24 bit
  204. color gets implemented :-)
  205.  
  206.  
  207. Next, is what are the different S3 chipsets:
  208.  
  209. o 8C911     VRAM based card. This is the first model.
  210. o 8C924     VRAM based card. In essence is the same as the 911.
  211. o 8C801        DRAM based card. Supports up to 2MB of memory.
  212.         Max resolution is 1280x1024 256 colors at 60Mhz
  213.         1024x768 65k colors at 43.5 Mhz Interlace
  214.         640x480  16 million colors at 60Mhz
  215.  
  216. o 8C928        VRAM based card.  Will support up to 4MB of memory
  217.         - don't have the functional specs for a card-
  218.         I do have the databook.
  219.  
  220.  
  221. On Local Bus S3 cards:
  222.  
  223. It is not clear at this point, whether XS3 will benefit from a local bus
  224. S3 implementation. The reason is because, most of the graphic functions
  225. used by the server are already implemented by the chip. I do expect
  226. image read/write/fill operations to benefit greatly. I do have a 
  227. a Vesa Local Bus S3 805 card but I am not done with it, yet. And, I am
  228. using it right now. Will absolutly, not release the cards name
  229. till I am done with my work here!
  230.  
  231.  
  232. Next, is how does the S3 architecture fair agains other accelerated cards?
  233.  
  234. The January issue of Byte magazine voted the Actix's GraphicEngine32 (801)
  235. as one of the best overall graphic accelarated cards for window applications.
  236. At least on Byte's tests the 801 was faster than the ATI Ultra Pro (mach 32).
  237. And, I really doubt that the tests were executed at low clock frequencies.
  238. However, the article did not state the dot clock frequency which the tests 
  239. were executed at.  The other faster cards were based on the 34020 and cost
  240. more than $1400.
  241.  
  242.  
  243. Dumb vga cards:
  244.  
  245. On a non-accelarated vga card, all pixels in the screen are manipulated
  246. by the host computer a pixel at a time. If you do any kind of computation
  247. on the background the performance will suffer drastically. Chipsets such
  248. as the et4000 benefit tremendously when going to a local bus or EISA 
  249. implementation. Currently, I don't have any xbenchmarks figures for
  250. ET4000 on a local bus system and it will be nice if someone posted their
  251. xbenchmark results.
  252.  
  253.  
  254. On the topic of local bus IDE cards:
  255.  
  256. It takes about 6 and 50 seconds to recompile the kernel with  gcc-1.39.
  257. With an ISA IDE card, it takes about 7.5 minutes :-)
  258.  
  259. How much does it cost? $89.
  260.  
  261.  
  262. My current hardware configuration:
  263.  
  264. Orchid SuperBoard 486/50Mhz 256k cache 8MB
  265.  
  266. Vga cards which I used:
  267.  
  268.     Actix GraphicEngine(S3 801)
  269.     Orchid F1280 (S3 911)
  270.     xx brand Local  Bus (S3 805)
  271.     Diamond SpeedStar (ET4000)
  272.  
  273.  
  274. Orchid Local Bus IDE controller
  275.  
  276. 14 inch svga monitor max resolution 1024x768 45Mhz interlace
  277.  
  278.  
  279. 216 MB Western Digital (All for X)
  280. 120 MB Western Digital 
  281.  
  282.  
  283. 5 1/4 inch floppy drive
  284. 3 1/2 inch floppy drive
  285.  
  286. Colorado Tape Backup system 
  287.  
  288. Hope this helps,
  289. Amancio Hasty
  290.  
  291.  
  292.  
  293.  
  294. -- 
  295. Amancio Hasty           |  
  296. Home: (415) 495-3046    |  ftp-site depository of all my work:
  297. e-mail hasty@netcom.com    |  sunvis.rtpnc.epa.gov:/pub/386bsd/incoming
  298.