Modern CPUs: Backwards compatibility, pipelining, heat dissipation


Designers of modern CPUs have challenges that weren't faced in the early days of computing. Most personal computers sold today are descendants of the IBM PC and probably contain a CPU called a Pentium IV, which is a specific make of CPU produced by Intel Corporation. However, if you purchased a personal computer with an Intel CPU two years ago, it would have contained a Pentium III; and before that, a Pentium II; and before that, the original Pentium; and before that, another processor, called the 486; and before that, the 386 processor; and so on.

When Intel introduced its Pentium IV CPU, it was sold mainly to people who already owned a computer with a previous Intel CPU, but who now wanted one that was faster. They were willing to purchase a new computer, but only if their existing software would work on the new CPU. Intel, therefore, had to ensure that all programs that would execute on the previous processors would execute on the new one. This ability is known as backwards compatibility.

Without backwards compatibility, computer progress would be difficult because the cost of upgrading a system would be very high. While this makes the user's life much easier, it restricts the CPU designer's freedom and makes his or her job much harder. For example, the registers on early Intel CPUs contained 16 bits, or 2 bytes, while later Intel CPUs required 32 bit registers.

The solution was to design the registers on later CPUs to act as both 16 bit and 32 bit registers, depending on what size data was sent to them. Back in 1965 researcher Gordon Moore wrote an article predicting that the number of transistors in a typical processor would double every two years. The unstated implication behind this prediction, which became known as Moore's Law, is that performance would also double every two years. To Moore's credit, this prediction has been proven correct over the last thirty years.

But this increase cannot continue forever. To add more transistors, either the CPU must get bigger or everything on it must get smaller. Increasing the size of the CPU is not desirable because the larger the CPU is, the more it costs to manufacture, and larger CPUs make the current flow a longer distance, which decreases performances—when the goal of adding transistors is to increase performance.

As a result, the circuits have become smaller, with narrowing circuit lines approaching 0.09 microns, or 0.0000035 inches. At this level, the slightest imperfection in materials during the processor's creation ruins it. If you read about a CPU maker's problems with "yield," this term refers to the number of processors that are usable versus the number that have to be thrown away because of these flaws. Soon the point will be reached where the circuit lines are only a few atoms across, but technology can go only so far in this direction.

Some researchers are working on designs based on quantum physics, where computers will store information in the quantum state of the atoms themselves. Some amazing properties of quantum mechanics, if harnessed, would allow computations to be performed must faster than with current designs. The description of the basic fetch/execute cycle implies that the CPU fetches one instruction, decodes it, executes it completely, and then goes back for another. At one time this basic cycle was the norm, but eventually another scheme had to be employed to allow the execution of instructions to overlap.

The CPU executes some instructions conditionally. That is, it executes an instruction comparing two numbers, and then the result of that comparison determines which of two different sets of instructions is executed next. When a pipelined CPU reaches a comparison, it has to guess how the results will go, because the result won't be known until the comparison instruction reaches the front of the pipe.

If it guesses wrong, it will have a pipeline full of partially executed instructions that must now be discarded. Then, the correct sequence of instructions is begun at the back end of the pipeline. If this happens too often, performance is degraded.

CPUs with pipelines, therefore, have sophisticated logic, called branch prediction, to help the CPU guess how comparisons turn out. One technique used is to track how the comparison turns out, and if the same comparison comes up again soon, the CPU guesses it will turn out the same way. But the technique means the CPU must somehow temporarily store the results of comparisons, which further complicates its design. If you opened the case of a computer system, you probably would not be able to see the CPU package.

That's because the CPU is covered by two other devices. Immediately on top is the heatsink, which is just a metal block with fins that draw away heat from the CPU. Between the heatsink and the CPU there is a special paste that helps fill the gap electric fan. Why so much trouble? CPUs generate an enormous amount of heat. As they have become more complicated, all the components on a CPU have had to shrink, and that shrinkage causes more heat—similar to how water flows harder through a narrower pipe.

If the heat wasn't conducted away from the CPU, the CPU would quickly melt itself. In addition to the heatsink and fan, the CPU commonly has a thermal sensor attached. If the computer senses the CPU is about to overheat, it can shut down the system.

With some computers, even this arrangement is not enough. The hottest CPUs use a liquid-cooling system. Some work like a radiator in a car, with a pump to run a coolant past the CPU to collect the heat and then through a series of channels where the heat is released into the air. Other systems immerse the entire circuit board in a nonconductive liquid.

One way computer designers avoid these problems is to divide the work among multiple processors. Multiprocessing is the use of multiple CPUs in the same computer. Originally, multiprocessing meant two separate physical CPUs, which were actually two different chips. Now, CPU designers are developing the dual-core processor, which combines two logically independent processors on the same chip.

The advantage of multiprocessing is that it increases the performance of a computer system without increasing the speed at which one CPU executes. The performance increases without the increase in heat. However, multiprocessing provides only a limited benefit. One would hope that two processors would double the performance of one processor, but this is rarely the case because not all computer tasks are easily divided.

Legal Disclaimer

Our website is not responsible for the information contained by this article. Webworldarticles.com is a free articles resource thus practically any visitor can submit an article. However if you notice any copyrighted material, please contact us and we will remove the article(s) in discussion right away.


This article was sent to us by: Brendan Stonker at 02122011

Related Articles

1. Useful iPod Touch applications and settings
ipod touch Inside Apps and the Settings Screens Getting around the screens inside the apps on your iPod touch is as simple as tapping on the screen. Tap...

2. How to use the two onscreen keyboards on your iPod Touch
You'll find two onscreen keyboards on your iPod touch: the smaller one visible when you hold your iPod touch in a vertical orientation, and the larger landscape keyboard ...

3. Digital data versus analog data storage
Data with distinct values is called discrete data. Data with continuous values is called analog data. Discrete data stored in binary form is digital. Just think of "dig...

4. Common output devices of a personal computer
A monitor, the most important output device, is a computer display screen. Early monitors displayed white or a single color on a black background, but current monitors ...

5. Main memory in a PC consists of RAM
The main memory in a computer is made of RAM, which stands for Random Access Memory. The term "random access" means the same thing: that the data in the memory can be acc...

6. A closer look at some of the internal components of a PC
Motherboard The components inside a computer are located on a large circuit board called the motherboard. If you looked at a motherboard, you would see the CPU,...

7. Types of software usually used on a PC
Software can be categorized many different ways. One way is to divide all programs into a few broad categories: system software, application software, utility software, a...

8. What does computer file management refer to
File management refers to the ability to read and modify files on storage devices and to create and delete files. Storage devices like hard drives are divided into tracks...

9. Event and output device management, security and system data management
A very important function of a modern operating system is event management. In computer science, an event is a specific action that produces a reaction in some program. ...

10. Interoperability of different pieces of hardware and software
In recent years, attention has shifted away from independent application programs toward programs that work together as a team. Interoperability refers to the ability of ...