 | This article should be merged into Instruction pipeline. If you disagree with this request, please discuss it on the article's talk page. Small icon for merging articles File links The following pages link to this file: Friction Jacobin Private branch exchange Pro-feminist Rotary piston engine Tagalog language Saint Veronica Spoiler effect Parser Password length equation Sudovian language Wikipedia:Why arent these pages copy-edited Static scoping Maximum power theorem General...
An instruction pipeline is a technology used on modern microprocessors to enhance their performance. ...
| Instruction pipelining is a method for increasing the throughput of a digital circuit, particularly a CPU, and implements a form of instruction level parallelism. The idea is to divide the logic into stages, and to work on different data within each stage. An often used real-world analogy involves doing the laundry: if you have two loads of laundry to do, you can either wash the first load and then dry the first load, before moving onto the next, or, you can wash the first load, and when you put it in to dry, you can put the next load in to wash. If each step takes 20 minutes, then you will finish in 60 minutes instead of 80. Digital circuits are electric circuits based on a number of discrete voltage levels. ...
The central processing unit (CPU) is the part of a computer that interprets and carries out the instructions contained in the software. ...
Instruction-level parallelism (ILP) is a measure of how many of the operations in a computer program can be dealt with at once. ...
A pipelined digital circuit works the same way. Data enters the first stage, and takes some time to process. When the data finishes the first stage, the clock ticks, and the intermediate results are latched into registers at the head of the next stage, while the next set of data enters the beginning of the first stage. In synchronous digital electronics, such as most computers, a clock signal is a signal used to coordinate the actions of two or more circuits. ...
Historically, a register was a sign or chalkboard onto which people would write cash transactions for later bookkeeping, often with chalk. ...
Ideally, pipelining increases throughput by a factor equal to the number of stages used. Realistically, the time taken by the extra logic added (in the form of latches or registers) to store the intermediate values results in diminishing returns, and this extra logic also means an increase in size and cost. In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values—typically, the values being in the midst of a calculation at a given point in time. ...
Furthermore, in a CPU or other circuit, previous data may have an effect on later data (for instance, if a CPU is processing C = A + B, followed by E = C + D, the value of C must finish being calculated before it can be used in the second instruction). This type of problem is called a data dependency conflict. In order to resolve these conflicts, even more logic must be added to stall or otherwise deal with the incoming data. A significant part of the effort in modern CPU design goes into resolving these sorts of dependencies. To a large extent, the design of a CPU, or central processing unit, is the design of its control unit. ...
Many modern day processors that utilize pipelining are also superscalar architectures. A superscalar CPU architecture implements a form of parallelism on a single chip, thereby allowing the system as a whole to run much faster than it would otherwise be able to at a given clock speed. ...
|