increasing the instruction fetch rate via block-structured instruction set architectures
To exploit larger amounts of instruction level parallelism, processors are being built with wider issue widths and larger numbers of functional units. Instruction fetch rate must also be increased in order to effectively exploit the performance potential of such processors. Block-structured ISAs provide an effective means of increasing the instruction fetch rate. We define an optimization, called block enlargement, that can be applied to a block-structured ISA to increase the instruction fetch rate of a processor that implements that ISA. We have constructed a compiler that generates block-structured ISA code, and a simulator that models the execution of that code on a block-structured ISA processor. We show that for the SPECint95 benchmarks, the block-structured ISA processor executing enlarged atomic blocks outperforms a conventional ISA processor by 12\% while using simpler microarchitectural mechanisms to support wide-issue and dynamic scheduling.
instruction blocking architecture exploit processor functional order effect performance optimality compilation code simulation model benchmark atom support dynamic scheduling structure instruction-level parallelism