skip to main content
research-article

SHRINK: Reducing the ISA complexity via instruction recycling

Published:13 June 2015Publication History
Skip Abstract Section

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.

References

  1. Altera, Nios II Processor Reference Handbook, 2011.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. G. Barrantes et al., "Randomized Instruction Set Emulation," ACM Trans. Inf. Syst. Secur., vol. 8, no. 1, Feb. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Edler and M. Hill, "Dinero IV Trace-Driven Uniprocessor Cache Simulator," 2003.Google ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Fog, "Future instruction set: AVX-512," http://www.agner.org/optimize/blog/read.php?i=288, accessed May 2014.Google ScholarGoogle Scholar
  9. A. Fog, Instructions for Objconv, 2011, version 2.11.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. C. Galuzzi and K. Bertels, "The Instruction-Set Extension Problem: A Survey," ACM Trans. Reconfigurable Technol. Syst., vol. 4, no. 2, May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. R. Halfhill, "ARM's 64-Bit Makeover," The Linley Group Newsletters, December 2012.Google ScholarGoogle Scholar
  13. J. L. Henning, "SPEC CPU2006 benchmark descriptions," SIGARCH Comput. Archit. News, vol. 34, no. 4, Sep. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. Power ISA, Version 2.07 ed., IBM, 2013.Google ScholarGoogle Scholar
  16. IA-32 Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference ed., Intel Corporation.Google ScholarGoogle Scholar
  17. Intel Corporation, "Intel AVX: NewFrontiers in Performance Improvements and Energy Efficiency," 2008, white paper.Google ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. M. Jain, M. Balakrishnan, and A. Kumar, "ASIP Design Methodologies: Survey and Issues," in VLSI Design, 2001. Fourteenth International Conference on, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Kanter, "Intel's Haswell CPU Microarchitecture," Real World Technologies, November 2012, http://www.realworldtech.com/haswell-cpu/2/, accessed May 2014.Google ScholarGoogle Scholar
  22. G. S. Kc, A. D. Keromytis, and V. Prevelakis, "Countering Code-Injection Attacks With Instruction-Set Randomization," in CCS '03, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Kilmovitski, "Using SSE and SSE2: Misconceptions and Reality," Intel Developer Update Magazine, 2001.Google ScholarGoogle Scholar
  24. K. P. Lawton, "Bochs: A Portable PC Emulator for Unix/X," Linux J., vol. 1996, no. 29es, Sep. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. J. Shen, Modern Processor Design: Fundamentals of Superscalar Processors, ser. McGraw-Hill Series in Electrical and Computer Engineering. McGraw-Hill Companies, Incorporated, 2004.Google ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. V. Weaver and S. McKee, "Code density concerns for new architectures," in Computer Design, 2009. ICCD 2009. IEEE International Conference on, Oct 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SHRINK: Reducing the ISA complexity via instruction recycling

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM SIGARCH Computer Architecture News
              ACM SIGARCH Computer Architecture News  Volume 43, Issue 3S
              ISCA'15
              June 2015
              745 pages
              ISSN:0163-5964
              DOI:10.1145/2872887
              Issue’s Table of Contents
              • cover image ACM Conferences
                ISCA '15: Proceedings of the 42nd Annual International Symposium on Computer Architecture
                June 2015
                768 pages
                ISBN:9781450334020
                DOI:10.1145/2749469

              Copyright © 2015 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 June 2015

              Check for updates

              Qualifiers

              • research-article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader