Abstract
Microprocessor manufacturers typically keep old instruction sets in modern processors to ensure backward compatibility with legacy software. The introduction of newer extensions to the ISA increases the design complexity of microprocessor front-ends, exacerbates the consumption of precious on-chip resources (e.g., silicon area and energy), and demands more efforts for hardware verification and debugging. We analyzed several x86 applications and operating systems deployed between 1995 and 2012 and observed that many instructions stop being used over time, and more than 500 instructions were never used in these applications. We also investigate the impact of including these unused instructions in the design of the x86 decoders and propose SHRINK, a mechanism to remove old instructions without breaking backward compatibility with legacy code. SHRINK allows us to remove 40% of the instructions from the x86 ISA and improve the critical path, area, and power consumption of the instruction decoder, respectively, by 23%, 48%, and 49%, on average.
- Altera, Nios II Processor Reference Handbook, 2011.Google Scholar
- I. Atta et al., "STREX: Boosting Instruction Cache Reuse in OLTP Workloads Through Stratified Transaction Execution," in Proceedings of the 40th Annual International Symposium on Computer Architecture, 2013. Google ScholarDigital Library
- F. Barat, R. Lauwereins, and G. Deconinck, "Reconfigurable Instruction Set Processors from a Hardware/Software Perspective," IEEE Trans. Softw. Eng., vol. 28, no. 9, Sep. 2002. Google ScholarDigital Library
- E. G. Barrantes et al., "Randomized Instruction Set Emulation," ACM Trans. Inf. Syst. Secur., vol. 8, no. 1, Feb. 2005. Google ScholarDigital Library
- E. Blem, J. Menon, and K. Sankaralingam, "Power struggles: Revisiting the RISC vs. CISC debate on contemporary ARM and x86 architectures," in High Performance Computer Architecture (HPCA2013), 2013 IEEE 19th International Symposium on, Feb 2013, pp. 1--12. Google ScholarDigital Library
- J. Edler and M. Hill, "Dinero IV Trace-Driven Uniprocessor Cache Simulator," 2003.Google Scholar
- M. Ferdman et al., "Clearing the Clouds: A Study of Emerging Scale-out Workloads on Modern Hardware," in Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems, 2012. Google ScholarDigital Library
- A. Fog, "Future instruction set: AVX-512," http://www.agner.org/optimize/blog/read.php?i=288, accessed May 2014.Google Scholar
- A. Fog, Instructions for Objconv, 2011, version 2.11.Google Scholar
- A. Fog, "Lists of Instruction Latencies, Throughputs and Micro-Operation Breakdowns for Intel, AMD and VIA CPUs," 2014, www.agner.org/optimize/instruction_tables.pdf.Google Scholar
- C. Galuzzi and K. Bertels, "The Instruction-Set Extension Problem: A Survey," ACM Trans. Reconfigurable Technol. Syst., vol. 4, no. 2, May 2011. Google ScholarDigital Library
- T. R. Halfhill, "ARM's 64-Bit Makeover," The Linley Group Newsletters, December 2012.Google Scholar
- J. L. Henning, "SPEC CPU2006 benchmark descriptions," SIGARCH Comput. Archit. News, vol. 34, no. 4, Sep. 2006. Google ScholarDigital Library
- I.-J. Huang and A. M. Despain, "Synthesis of Application Specific Instruction Sets," Trans. Comp.-Aided Des. Integ. Cir. Sys., vol. 14, no. 6, Nov. 1995. Google ScholarDigital Library
- Power ISA, Version 2.07 ed., IBM, 2013.Google Scholar
- IA-32 Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference ed., Intel Corporation.Google Scholar
- Intel Corporation, "Intel AVX: NewFrontiers in Performance Improvements and Energy Efficiency," 2008, white paper.Google Scholar
- Intel Corporation, "Haswell New Instruction Descriptions Now Available," http://software.intel.com/en-us/blogs/2011/06/13/haswell-new-instruction-descriptions-now-available, 2012, accessed May 2014.Google Scholar
- M. Jain, M. Balakrishnan, and A. Kumar, "ASIP Design Methodologies: Survey and Issues," in VLSI Design, 2001. Fourteenth International Conference on, 2001. Google ScholarDigital Library
- L. Jówiak, N. Nedjah, and M. Figueroa, "Modern Development Methods and Tools for Embedded Reconfigurable Systems: A Survey," Integr. VLSI J., vol. 43, no. 1, Jan. 2010. Google ScholarDigital Library
- D. Kanter, "Intel's Haswell CPU Microarchitecture," Real World Technologies, November 2012, http://www.realworldtech.com/haswell-cpu/2/, accessed May 2014.Google Scholar
- G. S. Kc, A. D. Keromytis, and V. Prevelakis, "Countering Code-Injection Attacks With Instruction-Set Randomization," in CCS '03, 2003. Google ScholarDigital Library
- A. Kilmovitski, "Using SSE and SSE2: Misconceptions and Reality," Intel Developer Update Magazine, 2001.Google Scholar
- K. P. Lawton, "Bochs: A Portable PC Emulator for Unix/X," Linux J., vol. 1996, no. 29es, Sep. 1996. Google ScholarDigital Library
- T. P. Morgan, "AMD to Double up Cores With Jaguars And Maybe Finally a Cat Server Variant," http://www.theregister.co.uk/2012/08/29/amd_jaguar_core_design/, 2012, accesses May 2014.Google Scholar
- T. P. Morgan, "Intel Plugs Both Your Sockets With 'Jaketown' Xeon E5-2600s," http://www.theregister.co.uk/2012/03/06/intel_xeon_2600_server_chip_launch/, 2012, accessed May 2014.Google Scholar
- J. Shen, Modern Processor Design: Fundamentals of Superscalar Processors, ser. McGraw-Hill Series in Electrical and Computer Engineering. McGraw-Hill Companies, Incorporated, 2004.Google Scholar
- A. Shrivastava et al., "Compilation Framework for Code Size Reduction Using Reduced Bit-Width ISAs (rISAs)," ACM Trans. Des. Autom. Electron. Syst., vol. 11, no. 1, Jan. 2006. Google ScholarDigital Library
- J. E. Stine et al., "FreePDK: An Open-Source Variation-Aware Design Kit," in Proceedings of the 2007 IEEE International Conference on Microelectronic Systems Education, 2007. Google ScholarDigital Library
- A. Venkat and D. M. Tullsen, "Harnessing ISA Diversity: Design of a heterogeneous-ISA Chip Multiprocessor," in Proceeding of the 41st Annual International Symposium on Computer Architecuture, ser. ISCA '14. Piscataway, NJ, USA: IEEE Press, 2014, pp. 121--132. Available: http://dl.acm.org/citation.cfm?id=2665671.2665692 Google ScholarDigital Library
- V. Weaver and S. McKee, "Code density concerns for new architectures," in Computer Design, 2009. ICCD 2009. IEEE International Conference on, Oct 2009. Google ScholarDigital Library
Index Terms
- SHRINK: Reducing the ISA complexity via instruction recycling
Recommendations
SHRINK: Reducing the ISA complexity via instruction recycling
ISCA '15: Proceedings of the 42nd Annual International Symposium on Computer ArchitectureMicroprocessor manufacturers typically keep old instruction sets in modern processors to ensure backward compatibility with legacy software. The introduction of newer extensions to the ISA increases the design complexity of microprocessor front-ends, ...
Increasing the instruction fetch rate via block-structured instruction set architectures
MICRO 29: Proceedings of the 29th annual ACM/IEEE international symposium on MicroarchitectureTo 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 ...
Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading
To achieve high performance, contemporary computer systems rely on two forms of parallelism: instruction-level parallelism (ILP) and thread-level parallelism (TLP). Wide-issue super-scalar processors exploit ILP by executing multiple instructions from a ...
Comments