home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / sys / ibm / pc / hardware / 20378 < prev    next >
Encoding:
Internet Message Format  |  1992-07-27  |  2.6 KB

  1. Path: sparky!uunet!noc.near.net!mars.caps.maine.edu!maine.maine.edu!ree700a
  2. Organization: University of Maine System
  3. Date: Monday, 27 Jul 1992 10:43:17 EDT
  4. From: <REE700A@MAINE.MAINE.EDU>
  5. Message-ID: <92209.104317REE700A@MAINE.MAINE.EDU>
  6. Newsgroups: comp.sys.ibm.pc.hardware
  7. Subject: Re: RAM Speed!! (Help Wanted)
  8. References:  <1992Jul23.123703.5170@ncsu.edu>
  9. Lines: 34
  10.  
  11. OK, your 386DX (if cached) , 486 SuX or whatever uses a 128 bit cache fill.  In
  12.  other words, every time a byte is requested & isn't there, 16 bytes of memory
  13. (a paragraph) at or around that address are dragged into cache.  In a 32 bit ma
  14. chine, this is done by four successive reads of 4 bytes.  (this should point ou
  15. t why most quality motherboards have FOUR banks of 32 bit memory!!!!!!!)
  16.    The 386 & better does this by requesting one memory location per clock cycle
  17.  even though the previously requested bank is still processing the request.  Le
  18. t's examine a hypothetical 486DX50 with a 20nS clock cycle....
  19.    Cycle 1: address is not in cache.  Send request for cache fill(bytes 0-3)
  20.    Cycle 2: Check if memory responded (<40nS SIMM?!)
  21.             Send request for bytes4-7 (regardless of status of bytes 0-3)
  22.    Cycle 3: Check if memory responded (<60nS SIMM...)
  23.             send request for bytes 8-11 .....
  24.    Cycle 4: Read your 80 nS SIMMs (bytes 0-3), Request bytes 12-15.
  25.             look ahead generates request for another cache fill...
  26.    Cycle 5: Read bytes 4-7, waiting for refresh on bytes 0-3...
  27.    Cycle 6: Read bytes 8-11, waiting for refresh on bytes 0-7...
  28.    Cycle 7: Read bytes 12-15, wait for refresh (140 nS) on bytes 0-11
  29.    Cycle 8: wait for refresh on all bytes (160 nS)
  30.    Cycle 9: similar to cycle 1...
  31.  
  32.    Thus, a four way interleave with address pipelining and 128 bit cache line f
  33. ill (16 bytes) allows the four banks to operate at an average of 2 clock cycles
  34.  per access, even when the memory cycle (access + refresh) is as slow as 160 nS
  35.  (roughly, I know I neglected the tag access time of circa 5 nS and some other
  36. little odds & ends).
  37.   So, to answer the question, no you are not pushing the SIMMs, (nor can you, t
  38. he CPU waits for them & does not determine the speed as was done in the 286 & e
  39. arlier CPU's).  The key here is that the instruction processor is asynchronous
  40. with respect to the memory management unit.  A heavy dose of pipeline magic all
  41. ows the appearance of very fast memory.  So, what's the catch?  Well, if you br
  42. anch outside of the cache and around the address look-ahead, you will see a ful
  43. l 80 nS of access time and 160 nS cycle (or whatever).  This is why branch inst
  44. ructions are evil!!!!!!!!
  45.