The effect of instruction set complexity on program size and memory performance
Open Access
- 1 October 1987
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
One potential disadvantage of a machine with a reduced instruction set is that object programs may be substantially larger than those for a machine with a richer, more complex instruction set. The main reason is that a small instruction set will require more instructions to implement the same function. In addition, the tendency of RISC machines to use fixed length instructions with a few instruction formats also increases object program size. It has been conjectured that the resulting larger programs could adversely affect memory performance and bus traffic. In this paper we report the results of a set of experiments to isolate and determine the effect of instruction set complexity on cache memory performance and bus traffic. Three high-level language compilers were constructed for machines with instruction sets of varying degrees of complexity. Using a set of benchmark programs, we evaluated the effect of instruction set complexity had on program size. Five of the programs were used to perform a set of trace-driven simulations to study each machine's cache and bus performance. While we found that the miss ratio is affected by object program size, it appears that this can be corrected by simplying increasing the size of the cache. Our measurements of bus traffic, however, show that even with large caches, machines with simple instruction sets can expect substantially more main memory reads than machines with dense object programs.Keywords
This publication has 15 references indexed in Scilit:
- A retargetable instruction reorganizerPublished by Association for Computing Machinery (ACM) ,1986
- Reduced instruction set computersCommunications of the ACM, 1985
- Code selection through object code optimizationACM Transactions on Programming Languages and Systems, 1984
- Register allocation and exhaustive peephole optimizationSoftware: Practice and Experience, 1984
- Cache MemoriesACM Computing Surveys, 1982
- Coding guidelines for pipelined processorsPublished by Association for Computing Machinery (ACM) ,1982
- The Y programming languageACM SIGPLAN Notices, 1981
- The case for the reduced instruction set computerACM SIGARCH Computer Architecture News, 1980
- Implications of structured programming for machine architectureCommunications of the ACM, 1978
- The Generation of Optimal Code for Arithmetic ExpressionsJournal of the ACM, 1970