gjk@talcott.UUCP (Greg J Kuperberg) (11/28/84)
I am curious about the following concerning your "average" compiled (or even assembled) code: 1) What is the density of conditional branch instructions? 2) How often does a branch actually occur? 3) What is the density of unconditional branches? 4) What is the density of subroutine calls? 5) What is the average distance that an unconditional branch "jumps"? These questions seem relevant to instruction cache issues.
stern@inmet.UUCP (12/07/84)
[I'm not a librarian] Good places to look to find answers to these questions: (1) Fairclough, Dennis A. "A Unique Microprocessor Instruction Set" _IEEE_Micro_ 2:2 (May 1982) : 8-18 (2) Guterl, Fred. "Chip Architecture: A Revolution Brewing" _IEEE_Spectrum_ 20:7 (July 1983) : 30-37 (3) Kleir, RL and CV Ramamoorthy, "Optimization Strategies for Microprograms" _IEEE_Transactions_on_Computers_ C-20:7 (July 1971) : 783-794 (4) Myers, Glenford J. _Advances_in_Computer_Architecture. New York: John Wiley and Sons, 1978. Several sections on instruction frequency in both static (ie what the compiler produces) and dynamic (how often they are executed) situations. Good bed time reading. --Hal Stern Intermetrics, Inc. {ihnp4, harpo, esquire, ima}!inmet!stern