home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / arch / 10527 < prev    next >
Encoding:
Internet Message Format  |  1992-11-08  |  5.8 KB

  1. Path: sparky!uunet!caen!destroyer!cs.ubc.ca!jonathan
  2. From: jonathan@geop.ubc.ca (Jonathan Thornburg)
  3. Newsgroups: comp.arch
  4. Subject: cpu vs memory speed vs need for cache memory (was: Re: RTX and SC32)
  5. Date: 8 Nov 1992 17:33:36 GMT
  6. Organization: U of BC Geophysics & Astronomy + U of Texas Physics/Relativity
  7. Lines: 94
  8. Sender: Jonathan Thornburg <jonathan@geop.ubc.ca>
  9. Message-ID: <1djj1gINNkt1@cs.ubc.ca>
  10. References: <17258@mindlink.bc.ca>
  11. NNTP-Posting-Host: rubis.astro.ubc.ca
  12. Summary: fast cpu ==> need fast memory, but *cheap* fast cpu ==> need cache
  13. Keywords: cpu memory speed cache
  14.  
  15. In an article which I have lost the reference to, mo@bellcore.com
  16. (I believe that's Mike O'Dell; hi, thanks for that great Usenix paper
  17. on all the trouble Prisma had with the speed of light :-) ) writes [wrote]:
  18. | What I have not seen in the literature (which doesn't mean it doesn't
  19. | exist, just that i haven't seen it) is a comparison of a stack machine
  20. | design with the equivalent complexity budget of modern RISC machines to
  21. | such modern processors. By complexity budget I mean one that spends as much
  22. | logic on cache and memory system complexity as the fast RISC machines do.
  23. | (including the related trickle-down complexity like dealing with
  24. | out-of-order completion in the pipe, if required)
  25.  
  26. In article <17258@mindlink.bc.ca> Nick_Janow@mindlink.bc.ca (Nick Janow)
  27. writes [replies]:
  28. | Why would anyone want to bog down a stack machine with all the baggage needed
  29. | for a non-stack machine?  From what I've heard, the stack processors such as
  30. | the RTX and SC32 can compete with RISC chips of the same technology level
  31. | (not comparing 1.2 um against .5 um) without having to use caches or other
  32. | complex memory systems.  
  33.  
  34. To put it simply, any chip can use an non-cached all-fast-SRAM main
  35. memory.  But if that memory is very big (and modern computing *demands*
  36. big main memories), it's going to be *very* expensive.  The markets
  37. the RTX and SC32 are aimed at (high-end embedded controller) need the
  38. bounded worst-case performance of a no-cache memory system, and can
  39. tolerate the high cost.  But general-purpose computing wants average-case
  40. performance, and the lowest possible cost.  Hence cache memories are
  41. ubiquitous (sp) on modern general-purpose computers.  In particular,
  42. any modern stack-machine-based system aimed at a general-purpose market
  43. is going to need a fancy cache and memory system, just like a modern
  44. RISC.
  45.  
  46. (The remainder of this article expands on this argument in more detail.
  47. Press 'n' now if you have seen enough.)
  48.  
  49. In detail:
  50. ==========
  51.  
  52. Ignoring the O(1) factors in code size between different
  53. architectures, anyone who uses modern software and/or does a lot of
  54. heavy-duty computing these days wants a *lot* of memory.  With the
  55. possible exception of workstations running X :-), most memory these
  56. days goes for *data*, not code, so instruction sets are only a minor
  57. perturbation.  (Consider, for example, solving 3-dimensional partial
  58. differential equations to simulate oil resivoir depletion, automobile
  59. design, hydrogen bomb explosions, etc.  Or crunching stochastic models
  60. of the world's stock markets to make your second $100M.  Or rendering
  61. 16386*16384*24bit bitmaps for the newest Holywood flick.  Or doing a
  62. design verification and layout rule check of your new 5M-transistor
  63. CPU chip.  Etc, etc, ...)  Indeed, most "ordinary" workstations
  64. these days come with 16M from the factory, and people doing serious
  65. crunching frequently upgrade to 32M, 64M, or 128M.
  66.  
  67. Moreover, again ignoring the issue of just what type of instruction
  68. set the CPU uses, I think we all agree that fast CPUs need fast memory.
  69. More precisely, just about any modern processor wants an effective
  70. "1st level off-chip" memory access of time at most "a few" cycles,
  71. and with clock rates pushing 100 MHz these days for performance, that
  72. leaves O(10ns) or less for the off-chip memory access.
  73.  
  74. Now consider building such a (large, fast) memory system, whether for
  75. a stack machine or for a modern RISC (or for a "classic CISC" like a
  76. VAX, for that matter).  To oversimplify greatly, there are two different
  77. ways to build a large fast memory system:
  78. - SRAM-based: buy a lot of fast SRAM and build main memory out of it.
  79.   No need to worry about caches, gives predictable access times so you
  80.   can bound worst-case performance, and relatively simple to design.
  81.   The problem with this type of memory is that fast SRAM costs a *lot*
  82.   of money, dissipates a *lot* of power, and tends to have a rather
  83.   small capacity per chip.  (For example, what's the biggest 12ns SRAM
  84.   you can buy 100,000 of, for delivery in 6 weeks?  How much does it
  85.   cost?  And can you buy a heat sink and cooling fan big enough to
  86.   prevent a meltdown when you power up your blindingly fast memory
  87.   board populated with 64MB of these chips?)
  88. - DRAM+cache-based: buy a lot of commodity DRAM and build main memory
  89.   out of it, *and* buy a modicum of fast SRAM and build a cache out of
  90.   it.  If you get the cache design right, you can still get most of
  91.   the average-case performance of an SRAM-based memory, yet keep the
  92.   the relatively low cost and power dissipation of the DRAMs.  (To
  93.   continue the same example, what's the biggest 100ns DRAM you can
  94.   buy 100,000 of, for delivery in 6 weeks?  How much does it cost?
  95.   The answers are "probably a lot bigger than 12ns SRAM" and "certainly
  96.   a lot less".)
  97.  
  98. The cost difference between these two approaches is why all modern
  99. general-purpose computer systems that worry about performance, use
  100. cache memories.  And that would include stack machines if they were
  101. to compete in the general-purpose computing marketplace.
  102.  
  103. - Jonathan Thornburg
  104.   <jonathan@geop.ubc.ca> through mid-November 92, then
  105.   <jonathan@einstein.ph.utexas.edu> or <jonathan@hermes.chpc.utexas.edu>
  106.   [for a few more months] UBC / {Astronomy,Physics}
  107.   [then through Aug/92] U of Texas at Austin / Physics Dept
  108.                          / Center for Relativity
  109.