Abstract
IA-32 is ISA on which market of high-end computing, including personal computers, laptops, workstation, and servers, had grown up at the last three decades. This ISA, along with IBM PC architecture, was one of the main drivers of the personal computer revolution and still is one of the principal ISA on the microprocessor market. The long history of the development of IA-32 and its widespread use in computing devices makes it interesting to analyze and to extract lessons about ISA design based on its current usage. This paper provides an analysis of such sort and highlights conclusions made.
We have explored IA-32 ISA using statistical analysis of the compiler-generated code of real-world application of industrial quality and level of optimization. We demonstrate the presence of useless complexity burden born by backward compatibility and speculating about the idea of the design of a simplified version of IA-32 ISA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
The Linux Kernel Archives. https://www.kernel.org/. Accessed 26 Feb 2019
Adams, T.L., Zimmerman, R.E.: An analysis of 8086 instruction set usage in MS DOS programs. SIGARCH Comput. Archit. News 17(2), 152–160 (1989)
Bovet, D.P., Cesati, M.: Understanding the Linux Kernel - From I/O Ports to Process Management: Covers Version 2.6, 3rd edn. O’Reilly, Sebastopol (2005)
Dandamudi, S.P.: Fundamentals of Computer Organization and Design. Springer, Berlin (2002). https://doi.org/10.1007/b97279
Flynn, M.J.: Computer Architecture: Pipelined and Parallel Processor Design, 1st edn. Jones and Bartlett Publishers Inc., USA (1995)
González, A., Latorre, F., Magklis, G.: Processor Microarchitecture: An Implementation Perspective. Synthesis Lectures on Computer Architecture. Morgan & Claypool Publishers, San Rafael (2010)
Intel Corporation: The 8086 Family User’s Manual. Intel Corporation (1979)
Intel Corporation: IA-32 Intel\(^{\textregistered }\) Architecture Software Developer’s Manual. Volume 1: Basic Architecture. Intel Corporation (2003). 245470–012
Intel Corporation: IA-32 Intel\(^{\textregistered }\) Architecture Software Developer’s Manual. Volume 2: Instruction Set Reference. Intel Corporation (2003). 245471–012
Intel Corporation: Intel\(^{\textregistered }\) 64 and IA-32 Architectures Optimization Reference Manual. Intel Corporation, June 2016. 248966–033
Thome, A.: 25 years of PC history at BECKHOFF. PC-Control: New Autom. Technol. Mag. (3), 6–9 (2011)
Wiecek, C.A.: A case study of VAX-11 instruction set usage for compiler execution. In: Proceedings of the First International Symposium on Architectural Support for Programming Languages and Operating Systems, pp. 177–184. ASPLOS I, ACM, New York (1982)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Klimiankou, Y. (2019). Exploring IA-32: Lessons from Analysis and Experience. In: Mazzara, M., Bruel, JM., Meyer, B., Petrenko, A. (eds) Software Technology: Methods and Tools. TOOLS 2019. Lecture Notes in Computer Science(), vol 11771. Springer, Cham. https://doi.org/10.1007/978-3-030-29852-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-030-29852-4_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29851-7
Online ISBN: 978-3-030-29852-4
eBook Packages: Computer ScienceComputer Science (R0)