Wednesday, July 29, 2009

Identifying Purposes and Characteristics of Processors


The role of the CPU, or central processing unit, is to control and direct all the activities of the computer using both external and internal buses.

It is a processor chip consisting of an array of millions of transistors.

Older CPUs are generally square, with contacts arranged in a Pin Grid Array (PGA).

Prior to 1981, chips were found in a rectangle with two rows of 20 pins known as a Dual Inline Package (DIP).

There are still integrated circuits that use the DIP form factor.

However, the DIP form factor is no longer used for PC CPUs.

Most CPUs use either the PGA or the Single Edge Contact Cartridge (SECC) form factor.

SECC is essentially a PGA-type socket on a special expansion card.

As processor technology grows and motherboard real estate stays the same, more must
be done with the same amount of space.

To this end, the Staggered PGA (SPGA) layout was developed.

An SPGA package arranges the pins in what appears to be a checkerboard pattern, but if you angle the chip diagonally, you’ll notice straight rows, closer together than the rightangle rows and columns of a PGA.

This feature allows a higher pin count per area.

You can easily identify which component inside the computer is the CPU because it is a large square lying flat on the motherboard with a very large heat sink and fan.

Or if the CPU is installed in a Slot 1 motherboard, it is a large 1⁄2-inch-thick expansion card with a large heat sink and fan integrated into the package.

It is located away from the expansion cards.

Notice how prominent the CPU is.















The location of a CPU inside a typical computer

Hyperthreading

This term refers to Intel’s Hyper-Threading Technology (HTT).

HTT is aform of simultaneous multithreading (SMT).

SMT takes advantage of a modern CPU’s superscalar architecture.

Superscalar processors are able to have multiple instructions operating on separate data in parallel.

HTT-capable processors appear to the operating system to be two processors.

As a result, the operating system can schedule two processes at the same time, as in the case of symmetric multiprocessing (SMP), where two or more processors use the same system resources.

In fact, the operating system must support SMP in order to take advantage of HTT.

If the current process stalls because of missing data caused by, say, cache or branch prediction issues, the execution resources of the processor can be reallocated for a different process that is ready to go, reducing processor downtime.

Multicore

A processor that exhibits a multicore architecture has two completely separate processors
in the same package.

Whether there are multiple dies in the same package or the singledie contains the equivalent circuitry of multiple processors, the operating system can treat the single processor as if it were two separate processors.

As with HTT, the operating system must support SMP.

In addition, SMP is not an enhancement if the applications run on the SMP system are not written for parallel processing.

Dual-core processors are a common specific case for the multi-core technology.

Throttling

CPU throttling, or clamping, is the process of controlling how much CPU time is spent on an application. By controlling how individual applications use the CPU, all applications are treated more fairly.

The concept of application fairness becomes a particular issue in server environments, where each application could represent the efforts of a different user.

Thus, fairness to applications becomes fairness to users, the real customers.

Clients of today’s terminal servers benefit from CPU throttling.


Microcode

Microcode is the set of instructions (known as an instruction set) that make up the various microprograms that the processor executes while carrying out its various duties.

The Multimedia Extensions (MMX) microcode is a specialized example of a separate microprogram that carries out a particular set of functions.

Microcode is at a much lower level than the code that makes up application programs.

Each instruction in an application will end up being represented by many microinstructions, on average.

The MMX instruction set is incorporated into most modern CPUs from Intel and others. MMX came about as a way to take much of the multimedia processing off the CPU’s hands, leaving the processor to other tasks.

Think of it as sort of a coprocessor for multimedia, much like the floating-point unit (FPU) is
a math coprocessor.

Overclocking

Overclocking your CPU offers increased performance, on par with a processor designed to operate at the overclocked speed.

However, unlike with the processor designedto run that fast, you must make special arrangements to ensure that an overclocked CPU does not destroy itself from the increased heat levels.

An advanced cooling mechanism, such as liquid cooling, might be necessary to avoid losing the processor and other components.

Cache

Cache is a very fast chip memory that is used to hold data and instructions that are most likely to be requested next by the CPU.

The cache located on the CPU is known as L1 cache and is generally smaller in comparison to L2 cache, which is located on the motherboard.

When the CPU requires outside information, it believes it requests that information from RAM.

The cache controller, however, intercepts the request and consults its tag RAM to discover if the requested information is already cached, either at L1 or L2.

If not, a cache miss is recorded and the information is brought back from the much slower RAM, but this new information sticks to the L1 and L2 cache on its way to the CPU from RAM.

Voltage Regulator Module

The voltage regulator module (VRM) is the circuitry that sends a standard voltage level to the portion of the processor that is able to send a signal back to the VRM concerning the voltage level the CPU needs.

After receiving the signal, the VRM truly regulates the voltage to steadily provide the requested voltage.

Speed

The speed of the processor is generally described in clock frequency (MHz or GHz).

There can be a discrepancy between the advertised frequency and the frequency the CPU uses
to latch data and instructions through the pipeline.

This disagreement between the numbers comes from the fact that the CPU is capable of splitting the clock signal it receives from the oscillator into multiple regular signals for its own use.

32- and 64-Bit System Bus

The set of data lines between the CPU and the primary memory of the system can be 32 or 64 bits wide, among other widths.

The wider the bus, the more data that can be processed per unit of time, and hence the more work that can be performed.

Internal registers in the CPU might be only 32 bits wide, but with a 64-bit system bus, two separate pipelines can receive information simultaneously.

2 comments:

  1. Wow,i'v been looking 4 a place on net to find these notes bcoz am an IT student who just started,and i rily am finding these notes helpful..wow i lyk em,ezy 2 use and understand..xns alot 4 ur help.

    ReplyDelete