This paper investigates a possible architecture to a dynamically adaptable processor. In this architecture, the running application is profiled and dynamic traces of high frequently executed loops (hot paths) are detected. The proposed online profiling methodology is mainly hardware-based so that overhead can be reduced as much as possible. Studying the behavior of branch and jump instructions, gathered by the profiler, guides us to the hot paths. To improve the performance for the next iterations, hot paths are optimized using dynamic software pipelining technique, which seems a suitable method for our simplified 8-way VLIW accelerator. To exploit the hardware accelerator, the binary code is rewritten. Some preliminary performance evaluati...
Traditional compilers rely on static information about programs to perform optimizations. While such...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...
This paper investigates a possible architecture to a dynamically adaptable processor. In this archit...
Application profiling is an important step in the design and optimization of embedded systems. Accur...
Profile-based optimizations can be used for instruction scheduling, loop scheduling, data preloading...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
For advanced profile-guided optimizations to be e ective in online environments, fine-grained and ac...
Runtime profile gives considerable information that can be reused, to optimize the executable for fa...
International audienceThe design philosophy of VLIW processors is to maximize instruction level para...
Microsoft ResearchAlthough runtime systems and the dynamic compilation model have revolutionized the...
Traditional compilers rely on static information about programs to perform optimizations. While such...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...
This paper investigates a possible architecture to a dynamically adaptable processor. In this archit...
Application profiling is an important step in the design and optimization of embedded systems. Accur...
Profile-based optimizations can be used for instruction scheduling, loop scheduling, data preloading...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
For advanced profile-guided optimizations to be e ective in online environments, fine-grained and ac...
Runtime profile gives considerable information that can be reused, to optimize the executable for fa...
International audienceThe design philosophy of VLIW processors is to maximize instruction level para...
Microsoft ResearchAlthough runtime systems and the dynamic compilation model have revolutionized the...
Traditional compilers rely on static information about programs to perform optimizations. While such...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...
Embedded systems range from very simple devices, such as a digital watch, to highly complex systems ...