Title :
Compiler-assisted, selective out-of-order commit
Author :
Nam Duong ; Veidenbaum, A.V.
Author_Institution :
Dept. of Comput. Sci., Univ. of California, Irvine, Irvine, CA, USA
fDate :
January-June 2013
Abstract :
This paper proposes an out-of-order instruction commit mechanism using a novel compiler/architecture interface. The compiler creates instruction “blocks” guaranteeing some commit conditions and the processor uses the block information to commit certain instructions out of order. Micro-architectural support for the new commit mode is made on top of the standard, ROB-based processor and includes out-of-order instruction commit with register and load queue entry release. The commit mode may be switched multiple times during execution. Initial results for a 4-wide processor show that, on average, 52% instructions are committed out of order resulting in 10% to 26% speedups over in-order commit, with minimal hardware overhead. The performance improvement is a result of an effectively larger instruction window that allows more cache misses to be overlapped for both L1 and L2 caches.
Keywords :
cache storage; computer architecture; instruction sets; performance evaluation; program compilers; L1 cache; L2 cache; ROB-based processor; block information; cache misses; commit conditions; compiler-architecture interface; compiler-assisted selective out-of-order commit; instruction blocks; load queue entry release; microarchitectural support; minimal hardware overhead; out-of-order instruction commit mechanism; performance improvement; register; Benchmark testing; Cache storage; Computer architecture; Out of order instruction; Program processors; Hardware/software interfaces; Pipeline implementation; Pipeline processors; RISC/CISC; Superscalar; VLIW architectures; Von Neumann architectures; dynamically-scheduled and statically-scheduled implementation;
Journal_Title :
Computer Architecture Letters
DOI :
10.1109/L-CA.2012.8