|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
International Symposium on Code Generation and Optimization (CGO'04)
Using Dynamic Binary Translation to Fuse Dependent Instructions
San Jose, California
March 20-March 24
ISBN: 0-7695-2102-9
| ASCII Text | x | ||
| Shiliang Hu, James E. Smith, "Using Dynamic Binary Translation to Fuse Dependent Instructions," Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 213, International Symposium on Code Generation and Optimization (CGO'04), 2004. | |||
| BibTex | x | ||
| @article{ 10.1109/CGO.2004.1281676, author = {Shiliang Hu and James E. Smith}, title = {Using Dynamic Binary Translation to Fuse Dependent Instructions}, journal ={Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)}, volume = {0}, year = {2004}, isbn = {0-7695-2102-9}, pages = {213}, doi = {http://doi.ieeecomputersociety.org/10.1109/CGO.2004.1281676}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) TI - Using Dynamic Binary Translation to Fuse Dependent Instructions SN - 0-7695-2102-9 SP EP A1 - Shiliang Hu, A1 - James E. Smith, PY - 2004 KW - null VL - 0 JA - Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) ER - | |||
Instruction scheduling hardware can be simplified and easily pipelined if pairs of dependent instructions are fused so they share a single instruction scheduling slot. We study an implementation of the x86 ISA that dynamically translates x86 code to an underlying ISA that supports instruction fusing. A microarchitecture that is co-designed with the fused instruction set completes the implementation. In this paper, we focus on the dynamic binary translator for such a co-designed x86 virtual machine. The dynamic binary translator first cracks x86 instructions belonging to hot superblocks into RISC-style micro-operations, and then uses heuristics to fuse together pairs of dependent micro-operations. Experimental results with SPEC2000 integer benchmarks demonstrate that: (1) the fused ISA with dynamic binary translation reduces the number of scheduling decisions by about 30% versus a conventional implementation that uses hardware cracking into RISC micro-operations; (2) an instruction scheduling slot needs only hold two source register fields even though it may hold two instructions; (3) translations generated in the proposed ISA consume about 30% less storage than a corresponding fixed-length RISC-style ISA.
Citation:
Shiliang Hu, James E. Smith, "Using Dynamic Binary Translation to Fuse Dependent Instructions," cgo, pp.213, International Symposium on Code Generation and Optimization (CGO'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.
