Code density concerns for new architectures | IEEE Conference Publication | IEEE Xplore

Code density concerns for new architectures


Abstract:

Reducing a program's instruction count can improve cache behavior and bandwidth utilization, lower power consumption, and increase overall performance. Nonetheless, code ...Show More

Abstract:

Reducing a program's instruction count can improve cache behavior and bandwidth utilization, lower power consumption, and increase overall performance. Nonetheless, code density is an often overlooked feature in studying processor architectures. We hand-optimize an assembly language embedded benchmark for size on 21 different instruction set architectures, finding up to a factor of three difference in code sizes from ISA alone. We find that the architectural features that contribute most heavily to code density are instruction length, number of registers, availability of a zero register, bit-width, hardware divide units, number of instruction operands, and the availability of unaligned loads and stores. We extend our results to investigate operating system, compiler, and system library effects on code density. We find that the executable starting address, executable format, and system call interface all affect program size. While ISA effects are important, the efficiency of the entire system stack must be taken into account when developing a new dense instruction set architecture.
Date of Conference: 04-07 October 2009
Date Added to IEEE Xplore: 17 February 2010
ISBN Information:

ISSN Information:

Conference Location: Lake Tahoe, CA, USA

Contact IEEE to Subscribe

References

References is not available for this document.