Optimal code placement of embedded software for instruction caches
Hiroyuki Tomiyama, Hiroto Yasuura · 1996
This paper presents a new code placement method for embedded software to maximize hit ratios of instruction caches. We formulate the code placement problem as an integer linear programming problem. One of the advantages of our method is that code can be moved beyond boundaries of functions, so that code placement is optimized globally. Experimental results show our method achieves 35% (max 45%) reduction of cache misses. 1 Introduction In design of an embedded system, several design goals such as high performance, low cost, and low power consumption of the system must be achieved simultaneously. But these design goals are often mutually exclusive. Consider a system which consists of a processor core, main memories and cache memories. The performance of the system is expressed as the following formula: Performance = 1 Execution time = F IC 2 (CPI +(10CHR)2CMP) (1) where F , IC,CPI,CHR and CMP denotes the clock frequency, the instruction count to be executed, clock cycles per in...