Recent History of Intel Architecture -- a Refresher Introduction Pasted from By Sara Sarmiento To introduce a history of Intel Architecture, we could warm up with a discussion of one of the the first computers, the Analytical Engine by Charles Babbage, and take the history of computers from first inception to present day. Though an interesting read, it would be a long drawn out paper which wouldstart with the development of computers that filled large rooms and contained thousands of transistors and conclude with the .13 micron processors that we have today. What is likely more relevant to developers working today, however, is modern architecture, so let's start with the Intel P5 Microarchitecture and discuss the evolution of the Intel family of 32 bit processors up to those availabletoday. One theme we can borrow from the Analytical Engine, is that of using hardware to make computing data faster and more efficient.
Why Change the Architecture? In any type of business, there is always room for improvement. In the restaurant business, for example, changes to better meet customer demand and improve the quality of service can build loyalty among customers. Adopting state of theart appliances and employing a more experienced staff are examples of changes that can bring this to pass. The same concept reflects in technology; software developers constantly strive for improvement. Developers begin revisions to create version X + 1 of a software product to add functionality, improve performance, and fix bugs, often before the completion of version X. Software architectsconsider customer feedback when defining these changes, as well as lessons learned from previous releases. Feature changes such as adding more graphics, changing the background colors, and improving the overall look and feel, can greatly improve the user experience. Rearranging data, unrolling loops, and/or using new instructions are some examples of active measures programmers can take in order todeliver performance improvements. Technology advances in 32 bit Intel processor microarchitecture follow a similar process. The overall goal is to make the processor smaller, faster, and more robust to deliver a more powerful processor at a price the end users are willing to accept. However, unlike software, in which changes to the look and feel improve the user experience, hardware designers workto maintain the front end of the processor. In essence the goal is to provide a consistent look and feel to the software developer who will 'use' the processor to create products for his or her customers. Meanwhile Intel processor designers also make improvements to the back end to improve overall performance and maintain x86 compatibility, all the time working to make these transparent to thesoftware developer. The fewer changes that the software developers must make to their code in order to take full advantage of the performance of the processor, the better. Before examining the details of architectural changes over generations of Intel processors, let us look at where performance comes from.
Where Does Performance Come From? A processor sends instructions through a pipeline, whichis a set of hardware components that acts on each instruction before it is written back to memory. An example of a hardware unit would be the arithmetic logic unit which executes simple integer instructions like add or subtract. For a given set of instructions, the number of instructions processed over time is ultimately the metric that determines processor performance. Higher frequencies increasethe speed at which data is processed. Improved branch prediction algorithms and data access (i.e. cache hits) reduce latencies and enhance number of instructions processed over time. Another way to improve performance is to increase instruction execution speed. Faster instruction computations and retirement raises the number of instructions that can be sent through the processor. All of these...
Leer documento completo
Regístrate para leer el documento completo.