home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / compiler / 2234 < prev    next >
Encoding:
Text File  |  1993-01-23  |  2.3 KB  |  56 lines

  1. Newsgroups: comp.compilers
  2. Path: sparky!uunet!world!iecc!compilers-sender
  3. From: davidm@questor.rational.com (David Moore)
  4. Subject: Re: Optimizations for Pipelined Processors
  5. Reply-To: davidm@questor.rational.com (David Moore)
  6. Organization: Rational
  7. Date: Fri, 22 Jan 1993 22:58:25 GMT
  8. Approved: compilers@iecc.cambridge.ma.us
  9. Message-ID: <93-01-162@comp.compilers>
  10. References: <93-01-151@comp.compilers>
  11. Keywords: optimize, parallel
  12. Sender: compilers-sender@iecc.cambridge.ma.us
  13. Lines: 41
  14.  
  15. s2861785@techst02.technion.ac.il (Alon Ziv) writes:
  16. > Is any work going on into optimisations using loop unrolling
  17. > and loop merging 
  18.  
  19. Machines on which these optimizations are valuable are by no means new.
  20. The Control Data 6600 was an early (circa 1972) example. 
  21.  
  22. This machine had a large number of ALU units which could perform a number
  23. of operations simultaneously. Modern processors achieve the same thing by
  24. pipe-lining, but the effect on the compiler writer is the same. However,
  25. the time taken to do one operation was typically 10 times the issue rate,
  26. which is 2-3 times slower than modern machines, and that made the
  27. optimizer's task more difficult.
  28.  
  29. One oddity caused by this was that a ternary chop would in theory run
  30. faster than a binary search!
  31.  
  32. However, this machine had a 7 word (14 to 28 instruction) cache which
  33. avoided instruction fetches from memory if you could stay within it.
  34. Hence, stuffing loops was often not worthwhile if the individual loops
  35. would fit in the cache.
  36.  
  37. A similar situation occurs on modern processors. On a Risc chip,
  38. instructions are often fetched using static column mode. Unrolling a loop
  39. so that it crosses a page boundary will slow rather than speed execution
  40. if the only saving was the loop jump (if the loop has dead time, you may
  41. still gain more than you lose from instruction overlapping)
  42.  
  43. I just pulled down Sigplan Notices Vol 27 No 7, which is the proceedings
  44. of the 92 Sigplan conference, and found.
  45.  
  46. Delineraization: An Efficient Way to Break Multiloop Dependence Equations,
  47. Vadim Maslov (maslov@vadik.srcc.msu.su)
  48.  
  49. Beyond Induction Variables, Michael Wolfe
  50.  
  51. The bibliographies of these, and previous years' proceedings
  52. represent a good place to start.
  53. -- 
  54. Send compilers articles to compilers@iecc.cambridge.ma.us or
  55. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  56.