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

  1. Path: sparky!uunet!walter!att-out!pacbell.com!ames!sun-barr!news2me.EBay.Sun.COM!exodus.Eng.Sun.COM!flayout.Eng.Sun.COM!tremblay
  2. From: tremblay@flayout.Eng.Sun.COM (Marc Tremblay)
  3. Newsgroups: comp.arch
  4. Subject: why no register + register addressing mode in R3000 (repost)
  5. Date: 12 Nov 1992 21:12:24 GMT
  6. Organization: Sun Microsystems, Inc.  Mt. View, Ca.
  7. Lines: 39
  8. Distribution: world
  9. Message-ID: <lg5i5oINN1q4@exodus.Eng.Sun.COM>
  10. Reply-To: tremblay@flayout.Eng.Sun.COM (Marc Tremblay)
  11. NNTP-Posting-Host: flayout
  12.  
  13. In article endecotp@cs.man.ac.uk writes:
  14. >Although it's true that both register+offset and register+register modes
  15. >require an addition, you haven't allowed for the fact that an extra
  16. >register read has to take place.  Normally most microprocessors have two
  17. >read ports and one write port on the register file, which is exactly what
  18. >is required for three address arithmetic/logical operations.  When you
  19. >execute a store instruction, one read port is used for the data value, and
  20. >the other for the address register.
  21.  
  22. Actually most microprocessors these days have a register file with many ports.
  23. All major companies (DEC, HP, Intel, Sun, Motorola, SGI, etc), are developing
  24. superscalar processors which require many ports.
  25. Adding one read port for allowing the loads to use the register+register
  26. addressing mode becomes a smaller overhead as a percentage of the (bigger)
  27. register file. If you look at the layout of some of these chips you will
  28. see that the register file represents a small part of the die.
  29. Considering that this addressing mode can lead to saving an instruction
  30. (addition), it can be a real advantage.
  31.  
  32. Here is the percentage of loads and stores for SPECint92 benchmarks
  33. running on SPARC which use the two register addressing mode [RX + RY]:
  34.  
  35. benchmark    loads    stores
  36. ---------    -----    ------
  37. espresso    37%    9.8%
  38. li        2.5%    2.8%
  39. eqntott        76.4%    5.4%
  40. compress    27%    7.3%
  41. sc        13.5%    7.9%
  42. gcc        18.9%    37.5%
  43.  
  44. The numbers show that the compiler (based on SunPro SC2.0.1) makes
  45. good use of this capability. There are ways around this addressing mode,
  46. but a significant portion of the above percentage do save an addition.
  47.  
  48. If there is interest I can look into the numbers for floating-point code.
  49.  
  50. - Marc Tremblay.
  51. Sun Microsystems.
  52.