Overview
ABSTRACT
This article presents the essential characteristics of the pipelined execution of instructions in processors. Through the MIPS 2000 and Intel i486 pipeline examples, it illustrates how instructions are broken down into basic stages and executed by the hardware. It presents the treatment of data dependencies and control for simple instructions, but also for those whose calculation requires a long period of time. Hardware techniques for the control of dependencies, and software techniques to eliminate or reduce suspensions are presented, as well as the issue of undesired interruption and termination of instructions.
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHORS
-
Daniel ETIEMBLE: Engineer INSA Lyon - Professor at Université Paris Sud
-
François ANCEAU: Engineer INPG Grenoble - Professor Emeritus, CNAM
INTRODUCTION
The aim of this article is to present the essential characteristics of pipelined instruction execution in processors, which is the simplest performance enhancement technique employed since the late 1950s by allowing a new instruction to begin execution while previous ones are still running. This overlapping in time of the execution of several instructions has evolved over time: early machines such as the IBM 360/91 and Intel processors up to the 80 386 used a "loose" pipeline. With the advent of RISC technology in the 1980s, processor pipelines became "tight", the notions of "loose" and "tight" being specified in the article.
Pipeline processing of simple instructions, those whose operations in the computing unit are executed in one clock cycle, is examined in detail. The MIPS R2000 pipeline is used as an example, showing how instructions are broken down into elementary steps and executed by the hardware. The treatment of data dependencies and control dependencies is explained, including the problem of branches and interrupts. The pipeline of a CISC processor, the Intel i486, is also discussed.
Multiplication and division operations on integer data and all floating-point operations cannot be executed within the clock cycle of simple arithmetic and logic operations. This complicates pipelined instruction processing by introducing more complex data dependencies: true dependencies, antidependencies and output dependencies. Techniques for controlling true dependencies are presented. While they guarantee correct operation, they can introduce suspensions. Software techniques such as loop unwinding or software pipelining can reduce or eliminate these suspensions. Antidependencies and output dependencies can be eliminated by register renaming. The problem of unordered instruction termination is also addressed.
To improve performance, pipelining was the preferred technique for high-end processors until the mid-1990s. It remains the preferred technique for processors used in embedded and buried applications, where the – silicon area – energy trade-off is more important than performance alone. It has only shown its full potential with the emergence of new techniques, such as "data flow" execution of classic sequential code, or VLIW execution, which make better use of the instruction parallelism existing in classic sequential code.
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference
KEYWORDS
pipeline | superpipeline | register renaming | |
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
Processors: pipelining instructions
Bibliography
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference