Central Processing Unit (CPU) Basics

This lesson describes the various types of CPUs used historically and currently. The attributes that distinguish CPUs are described. The common types of CPU sockets and slots are also described.

Lesson Objectives

  1. Identify the appropriate processor based on a given scenario.
  2. Identify the appropriate socket for a CPU.
  3. Identify the function of each electronic component of the CPU.

Central Processing Unit (CPU)

John von Neumann introduced the concept of storing programs and data in the same portion of memory. In 1945, he wrote about the Electronic Discrete Variable Automatic Computer (EDVAC), a computer secretly developed by the US government to aid in war efforts.

He was the first to define the CPU architecture as consisting of four main parts: the central arithmetic unit, the central control unit, the memory, and the input-output system. Almost 65 years later, our computers still use the von Neumann architecture.

A microprocessor can be described as a Central Processing Unit (CPU) that integrates the central arithmetic unit, the central control unit, the memory, and the input-output system into one chip.

The first microprocessor, seen in Figure 1, was the Intel 4004 introduced in 1971. It was not powerful compared to today’s standards. The first microprocessor was only able to add and subtract four-bit quantities at a time. This chip was used in the first portable electronic calculators.

Prior to the 4004, engineers built computers from collections of chips or discrete components, with transistors wired one at a time.

Intel 4004 Was First Commercial Processor

Figure 1: Intel 4004 Was First Commercial Processor

The next advancement was the Intel 8086 processor designed by Intel between 1976 and 1978. Its 16-bit bus allowed greater throughput than its predecessor.

To make a cheaper chip that used fewer logic chips, the 8088 processor was introduced in 1979. The 8088 processor was only available for home use, the mail order kit computers of that era. The 8088 processor was the first 8-bit microprocessor built on one chip.

In 1981, IBM sold the first prebuilt computers. These computers used an Intel 8088 processor. The next generation processors were the 80286, the 80386, and the 80486.

From there, Intel introduced the Pentium processor line, still used today, which includes Pentium I, II, II, 4, and the dual/quad/six/eight versions of the Intel Pentium Core processors. The processors we use today are simply improvements on the original 8088 design and the von Neumann architecture.

The list below summarizes the historical development of Intel processors:

  • 4004, first commercially available processor (1970)
  • 8088, incorporated into the IBM PC which first appeared around 1981
  • 80286, 16-bit microprocessor (1982)
  • 80386, the 32-bit processor (1985)
  • 80486, first chip to use more than one million transistors (1989)
  • Pentium, Intel’s fifth-generation microarchitecture (1993)
  • Pentium II, Intel’s sixth generation microarchitecture (1997)
  • Pentium III, (1999)
  • Pentium 4, (2000)
  • Dual/Quad/Size/Eight Cores

Attributes Used to Rate CPU

There are several attributes used to rate CPUs:

  • speed and programming efficiency of CPU controls
  • data processing speed
  • reliability

CPU Components

There are a number of electronic components and concepts that comprise CPU operation. Transistors are hardware components that act as a logic gate. Registers are areas in the CPU where specialized data is stored while processing occurs. Registers only hold the addresses of data locations in memory.

A data path describes circuitry over which data travels. A memory address is a number the CPU uses to keep track of where data or code is found in RAM. The CPU cache, like RAM, is a location where data is stored but is specifically stored within the CPU. The CPU cache is much faster than the main computer RAM because the CPU does not have to go elsewhere to get the data.

Multiprocessing is the ability of an OS to run more than one process simultaneously. UNIX and OS2 are examples of operating systems that utilize multiprocessing. Multiprocessing also refers to the use of more than one CPU to run a process or application.

CPUs are fundamental to virtualization technologies. Virtualization describes the virtual realization of an actual physical device, such as a PC, a storage device, a router, or a switch.

CPU Selection

CPU selection relies on a combination of requirements:

  1. CPU speed measured in Hertz, Megahertz or Gigahertz
  2. The efficiency of programming code
  3. Number of transistors
  4. Number of registers
  5. Data path
  6. Maximum number of memory addresses
  7. Amount of memory included with the CPU
  8. Multiprocessing
  9. Virtualization
  10. Special functionality

CPU Architecture

The original von Neumann architecture was comprised of four parts:

  1. Input/output Unit – manages how data instructions enter and leave the processor
  2. Arithmetic Logic Unit (ALU) – performs comparisons and calculations
  3. Control Unit – manages internal workings of the CPU
  4. Memory Unit – controls how information is stored in the internal memory or cache

CPU Function

From the 8086 to the 80486 processor, only one ALU was used. Starting with the Pentium processor, Intel added a second ALU which gave the ability to process two instructions at one time. Figure 2 illustrates the Pentium CPU architecture. Electrical engineers and computer engineers often specialize in researching and developing processor architectures.

Pentium CPU Architecture

Figure 2: Pentium CPU Architecture

CPU Packages

Processors connect to the motherboard in many different ways. The way that a processor connects to a motherboard is called integrated circuit packaging. Some common CPU packaging options are:

  • SECC (Single Edge Contact Cartridge)
  • SEP (Single Edge Processor)
  • PPGA (Plastic Pin Grid Array)
  • PGA (Pin Grid Array)
  • LGA (Land Grid Array)
  • SPGA (Staggered Pin Grid Array)
  • mPGA (Micro Pin Grid Array)

Pin Grid Array and Land Grid Array

Today, the pin grid array (PGA) and the land grid array (LGA) are used, with the LGA being the most common.

Figure 3 illustrates the PGA, used in several generations of Pentium CPUs. With the pin grid array, the processor has pins extending from the bottom of the chip, which matches up with the ZIF (Zero Insertion Force) socket on the motherboard.

Once the processor is fully inserted into the socket, a handle is lowered applying force to the pins to hold it in place. Note that the processor and socket are square, making it easier for a technician to line up the chip and avoid bending pins.

Figure 3: Intel 486 Pin Grid Array Chip and Motherboard Socket

In comparison to the pin grid array, the LGA has no pins on the bottom of the chip, as shown in Figure 4. It only has contacts which rest on the pins on the socket or surface of the motherboard. The processor is either locked down with a handle similar to the ZIF socket or is soldered to the surface of the motherboard.

http://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Intel_CPU_Pentium_4_640_Prescott_bottom.jpg/1024px-Intel_CPU_Pentium_4_640_Prescott_bottom.jpg http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Sockel_775.jpg/800px-Sockel_775.jpg

Figure 4: Intel Pentium 4 Land Grid Array Chip and Motherboard Socket

Slots and Sockets

The socket or slot is what physically connects the processor to the motherboard. A socket, rather than a slot, is the primary option for modern motherboards. There have been many socket versions used throughout the years.

The sockets used today are LGA or PGA sockets, characterized by “LGA” or “PGA” followed by a number. This number usually indicates the number of pins used to make the connection.

Some of the more common socket variations are:

  1. The Intel Sandy Bridge and Ivy Bridge CPU families utilize the LGA 1155 socket or Socket H2.
  2. The Intel Core i7 800 series, i5 600 and 700 series, i3 500 series, Intel Xeon X3400 and L3400 series, Intel Pentium G6000 series and Intel Celeron G1000 series use the LGA 1156 socket or Socket H.
  3. The Intel Core i7 3xxx Sandy Bridge-E, Intel 4xxx Ivey Bridge-E, and Intel Xeon E5 2xxx and 4xxx utilize the LGA 2011 socket or Socket R.
  4. The Intel Haswell and Broadwell CPU families utilize the LGA 1150 socket in desktops and Socket G3 in laptops.
  5. AMD Llano processors utilize Socket FM1.
  6. MD FX Vishera, FX Zambezi, Phenom II, Athlon II, and Sempron processors utilize Socket AM3+.
  7. AMD Trinity processors utilize Socket FM2.

Contrasted with sockets, a slot is narrow opening on a motherboard where a CPU is inserted. Slot type processors had a very brief lifespan, mostly during the Pentium II era. Slot 1 was proprietary to Intel Pentium II, and Slot A was proprietary to the AMD Athlon.

The 80×86 CPU Socket and Slot comparison chart includes the 80×86 processor sockets and slots described in this section, as well as their layouts. It is important to be familiar with the sockets and slots described in this section.

Cache

Modern processors have their own high-speed memory or cache, known as Static Random Access Memory (SRAM). SRAM is characterized by giving the processor access to data in the shortest amount of time. The idea is to use a small amount of expensive memory to speed up processing instead of a large amount of slower, less expensive memory.

SRAM increases the memory access speed of a computer. A microprocessor can access cache without requiring any wait time. The cache can also be built directly into peripheral devices such, as hard drives and video cards.

There are three levels of cache known as L1, L2, and L3.

L1 cache is the fastest memory available and is relatively small in size (4 kilobytes to 16 kilobytes). It is used to hold information the processor needs frequently.

L2 cache is the second fastest memory in a processor. It holds information the processor would use frequently but is too large for the L1 cache. It originally was built into the motherboard, but since the Pentium Pro processor, it has been built into the CPU itself.

Just like L1 and L2, L3 cache holds information frequently used by the processor. It too was originally built into the motherboard but appears inside today’s are processors.

Modern hard disks also include fast memory. The computer itself does not directly use this memory, but the disk controller does. The hard disk cache can hold information while it is being written to the hard drive or as it is waiting to be sent.

Instead of going directly to the hard disk to find data, the computer checks this memory. If the requested data is found in the cache, the data is returned without touching the hard drive, dramatically increasing performance.

Pipelining

There is more to evaluating processor performance than speed. Pipelining is a technique that enables multiple instructions to be processed at the same time. As soon as a register and its transistors have completed one instruction and been cleared, another instruction can start.

Modern processors have multiple instruction decoders, each with its own pipeline. This allows for multiple instruction streams, which in turn enables multiple instructions to be handled during each clock cycle. This technique can be difficult to set up and requires several transistors.

There are instruction execution overlaps as well, handled by multiple instruction decoders. Even though it might take eight clock cycles to execute an instruction, there may be eight simultaneous instructions in various stages of execution. In this case, it appears as if one instruction completes every clock cycle. Upon completion of an instruction, the decoder exits by way of its respective pipeline.

Multiprocessing

Multiprocessing means utilizing more than one processor at a time. This is possible with operating systems that support multiprocessing, such as Windows XP, Windows 7, and Windows 8.

With multiprocessing, a substantial performance increase results when using programs that require large numbers of instructions to be processed. The operating system divides various tasks between the processors in either an asymmetric or symmetric manner.

Note that multiprocessing does not mean that multiple processes run simultaneously on a single processor.

In symmetric multiprocessing, some processors may perform system tasks only and others run applications only. This may result in a lower performance when the computer needs to run many system tasks and no user tasks, or vice versa.

Asymmetric processing allows any system or application instructions to be run by any processor. This flexibility leads to better performance. Most current multiprocessing PC motherboards use asymmetric multiprocessing.

Hyper-threading

Hyper-threading is the process of scheduling multiple processes simultaneously among multiple logical processors. A logical processor can be thought of as a single arithmetic logic unit.

From the point of view of an operating system, a single CPU with hyper-threading appears to be two CPU cores. So a dual-core processor running hyper-threading would appear to the operating system as four CPU cores. The combination of pipelining, multiprocessing, and hyper-threading gives the best processor performance possible.

Complex Instruction Set Computer

A Complex Instruction Set Computer (CISC) is one using an operating system, such as a Windows operating system, which allows multiple instructions to be written in one line of code to enable higher efficiency programming. CISC describes the hardware architecture of the computer, and requires complex circuitry to process code.

Reduced Instruction Set Computer

A Reduced Instruction Set Computer (RISC) allows only one specific instruction per line of code. This requires fewer transistors, so is cheaper and simpler to design and manufacture. RISC processors were used in Apple computers until 2005.

64-bit Processors

64-bit processors have been around since 1992 but did not become popular until after 2000. A 32-bit processor is known as an x86 processor and a 64-bit processor is known as a 64x processor.

A 64-bit processor doubles the amount of data paths inside the processor to the ALUs and to the registers and on the motherboard to the buses and to the main memory. This allows for double the information to be sent at once.

Intel’s first 64-bit processors were known as Itanium processors. AMD produced the x86-64 processors as an alternative to Intel.

64-bit Processors and Memory

A 64-bit processor also has an enlarged address space. 32-bit processors can only access up to 4 GB of RAM while a 64-bit processor has the potential of addressing one petabyte of memory, or 1,024 terabytes. Microsoft limits Windows 7 to a maximum memory of 192 GB and Windows 8 to 512 GB. So with a 64-bit address bus, the amount of memory and system performance greatly increases.

Xeon

Intel’s server platform uses the Xeon processor. Xeon processors are available in x86 and 64x versions. Xeon processors have higher amounts of cache and greater multiprocessing capabilities than desktops or laptops. Xeon processors were at one time in the top 10 fastest supercomputers in the world. Figure 5 shows an Intel Xeon DP CPU.

Figure 5: Intel Xeon DP Processor

Sun SPARC Processor

The Sun Corporation had its own 64-bit processor known as the SPARC. It was built to run on Sun UNIX servers. The SPARC processor improved on the Northbridge processor by incorporating the memory and PCI controllers into the processor itself. Figure 6 shows a SPARC T4 processor.

http://upload.wikimedia.org/wikipedia/commons/e/eb/SPARC_T4.png

Figure 6: SPARC T4 Processor

Multi-Core Processors

The latest processor technology has seen manufacturers incorporate more than one CPU into a single chip. This has greatly increased processor performance. Dual core, quad-core, and even six and eight-core processors are readily available on the market today. Some motherboards may have multiple sockets available.

Summary

In this lesson, the history of microprocessors was discussed. CPU attributes, CPU components, CPU selection, CPU architecture, CPU operation, and CPU packaging were described. The particular CPU packaging options of PGA and LGA were detailed, followed by a description of the socket and slot options used with CPUs.

Incorporating cache, pipelining, multiprocessing, and hyper-threading were described as means of improving CPU performance.

CISC, RISC, 64-bit, Xeon, Sun SPARC, and multi-core processors were described, as well as the use of the thermal compound with CPUs.