home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / arch / 8251 < prev    next >
Encoding:
Internet Message Format  |  1992-07-23  |  5.5 KB

  1. Path: sparky!uunet!sun-barr!ames!pacbell.com!network.ucsd.edu!nic!davsmith
  2. From: davsmith@nic.cerf.net (David Smith)
  3. Newsgroups: comp.arch
  4. Subject: Re: CISC Microcode (was Re: RISC Mainframe)
  5. Message-ID: <2373@nic.cerf.net>
  6. Date: 23 Jul 92 22:37:40 GMT
  7. References: <Brsx7o.G69@zoo.toronto.edu> <2369@nic.cerf.net> <BruruF.2E4@zoo.toronto.edu>
  8. Organization: CERFnet
  9. Lines: 96
  10.  
  11. In article <BruruF.2E4@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes:
  12. >Uh, you are very much behind the times.  Few modern CPUs will block waiting
  13. >for a memory access unless/until they actually need the data.  Admittedly,
  14. >a lot of them can't initiate another memory access meanwhile -- or at
  15. >least, another data access -- but some can, and buses that support multiple
  16. >simultaneous memory transactions are old news.  
  17.  
  18. Sigh...The dangers of simplifying for clarity.  I didn't feel like getting
  19. into a long discussion of register scoreboarding and so forth.  However,
  20. if it can't initiate another fetch then as far as the memory system is
  21. concerned it's hanging on the first one.  That's the critical issue for a 
  22. using an interleaved memory system.  
  23.  
  24. Among current microprocessors I don't know of any that are able to
  25. issue multiple data fetches.  I know that SPARC implementations up to
  26. and including the BIT ECL implementations (66 MHz - I wrote a large
  27. portion of the simulator for CPU, FPU, cache, interleaved memory system
  28. and vector processor when I was at FPS, now Cray Research Super Servers
  29. Inc.  The machine currently sells as the SMP.  Bitchin' box, cool
  30. people.  Go buy one :-)) do not.  The Viking may, but I doubt it can
  31. issue more than three.  The 80x86 and 680x0 chips certainly do not.  I
  32. don't think the R/S 6000 can.  How about MIPS, HP-PA and Alpha?
  33.  
  34. >Moving back to the global issue, it's trivially obvious that you can always
  35. >build a memory system that a given CPU can't use fully, just by stacking up
  36. >more and more parallelism in the memory.  But next year's CPU will go a
  37. >long way toward catching up with your memory, and parallelism is expensive.
  38.  
  39. If it's trivially obvious why did your post state that building high
  40. bandwidth memory systems was so difficult?  Yes, next year's CPU may catch up
  41. with the memory system.  Wouldn't you like to replace the CPU card rather
  42. than the whole system?  
  43.  
  44. >You don't normally spend lots of money just to justify a pre-established
  45. >decision to include a DMA box.  You buy memory bandwidth to meet your needs.
  46. >My contention is that making all of it available to your CPU, and choosing
  47. >a CPU that can use all of it, tends to leave no room for a DMA box to be
  48. >cost-effective... unless you've got response-time constraints (my item 3)
  49. >that the CPU can't conveniently meet.
  50.  
  51. The CPU cannot use the memory bandwidth, therefore it is useless?  The
  52. bandwidth can be used by (gasp) a vector processor, multiple CPU's, I/O
  53. hardware, etc.  Additional memory bandwidth in an interleaved system is
  54. as easy as adding another card (up to the bus bandwidth, of course).
  55.  
  56. There are also two memory bandwidths (for a single CPU system) available.
  57. CPU to cache and main memory.  The DMA box can be copying while the CPU is
  58. working on something in the cache.  If normal operations use all the
  59. memory bus bandwidth then there is not enough memory bandwidth for the
  60. CPU to do bcopies at its rated speed.
  61.  
  62. So, what is interleaved memory useful for?  High bandwidth operations.  High
  63. speed I/O, e.g. HIPPI.  High speed copy operations.  Vector processing.
  64. Multiple CPU's (with correctly designed caches).
  65.  
  66. Why would you want a DMA box on board?  Henry had 4 reasons:
  67.  
  68. >        1. the CPU can't move data around at full memory speed
  69. >        2. normal execution doesn't use the full memory bandwidth
  70. >        3. interrupt overhead is too high for timely device handling
  71. >        4. bad hardware design cripples CPU data movement
  72.  
  73. Henry and I seem to agree that item 1 is possible.  He thinks that it's
  74. a bad idea, but it is possible.  I say that item 2 is the norm given
  75. that you're hitting enough in the cache.  Item 3, response time
  76. constraints is really the reason why we build fast computers.  Item 4
  77. is something I hope people won't do.
  78.  
  79. >No, it is difficult to get full bandwidth out of an interleaved memory
  80. >system while going through an *uninformed* cache.  There is no reason
  81. >the cache can't vary its fetch size depending on the requirement.
  82. >Fetching too much is not an issue if you know how much you'll want
  83. >and can communicate this to the cache.  Simply telling it "normal" or
  84. >"bulk transfer" ought to be adequate.
  85.  
  86. If you're going to look at the data afterwards this can be useful.  If
  87. you're just copying for alignment reasons prior to sending to a device
  88. or somesuch, though, you're just kicking good data out of the cache.
  89. If you get the cache to do your memory-to-memory operation for you
  90. and not kick data out of the cache you've just renamed the DMA unit.
  91.  
  92. I think that we'll probably see CPU's designed for multiple outstanding
  93. fetches (it's not _that_ hard) and that will enable the CPU to do bcopy
  94. on an interleaved memory system as quickly as it could on a
  95. non-interleaved system.  However, it is also likely that we will be
  96. building multiple CPU systems and therefore have more memory bandwidth
  97. than any single CPU can consume.  If this is the case then bcopy
  98. hardware may still have a place if applications become single-threaded
  99. around bcopy operations.  There's also a place for bcopy hardware if
  100. you decide that the CPU can be doing useful things in its cache while
  101. the bcopy hardware is out moving things on the memory bus.
  102.  
  103.  
  104. ====
  105. David L. Smith
  106. smithd@discos.com or davsmith@nic.cerf.net
  107.