57
CSC 370 (Blum) 1 Processors Based in part on Chapter 4 from PC Hardware in a Nutshell (Thompson and Thompson) And information from http://www.intel.com/intel/ intelis/museum/exhibit/ hist_micro/index.htm

CSC 370 (Blum)1 Processors Based in part on Chapter 4 from PC Hardware in a Nutshell (Thompson and Thompson) And information from

Embed Size (px)

Citation preview

CSC 370 (Blum) 1

Processors

Based in part on Chapter 4 from

PC Hardware in a Nutshell

(Thompson and Thompson)

And information from

http://www.intel.com/intel/intelis/museum/exhibit/hist_micro/index.htm

CSC 370 (Blum) 2

CPU• The Central Processing Unit (CPU) is the

“brain” of the computer. • The CPU can be thought in terms of two basic

pieces:– The Arithmetic Logic Unit (ALU) which modifies

data by executing arithmetic and/or logical operations on it.

– The Control Unit which takes the instructions from memory, decodes it, and then moves the data to the appropriate places and ensures that the ALU performs the desired operation.

CSC 370 (Blum) 3

Generations• The CPU is often just called the processor. • For the ENIAC and other computers of the first

generation, the processor was comprised of vacuum tubes.

• The processor’s individual vacuum tubes were replaced by individual transistors in the second generation of computers.

• Several transistors could be placed close together on an integrated circuit (IC) or chip. In third generation computers the processor consisted of several IC’s.

CSC 370 (Blum) 4

Processor Microprocessor

• Eventually the entire processor was placed on a single chip. When this became standard computers were said to enter the fourth generation.– In this case, the processor is known as a

microprocessor.

• Some large machines today may have the processor spread over more than chip. But PCs typically have a single processor.

CSC 370 (Blum) 5

Tubes

• A computer of the first generation consisted of tubes.

• Tubes started with an effect Thomas Edison noticed while experimenting with light bulbs.

• John Ambrose Fleming discovered that one could exploit the effect to detect radio waves and convert them to electricity, but the signal was too small.

• Lee de Forest added to the device, making the triode; Edwin Armstrong pointed out it could be used to amplify signals.

CSC 370 (Blum) 6

Transistors

• A computer of the second generation consisted of transistors.

• William Shockley, John Bardeen and Walter Brattain developed the transistor while working at Bell Labs in 1947. (Nobel Prize 1956)

• The transistor could play the same role as the vacuum tube but was significantly smaller – and thus faster and less power consuming.

CSC 370 (Blum) 7

Integrated Circuit

• A computer of third generation consisted of integrated circuits.

• The problem with computers is that they required so many transistors connected to one another – the so-called “tyranny of numbers.”

• This problem was solved by the “monolithic idea” – the idea the many circuit elements (mainly transistors) could be placed on the same piece of semiconductor, i.e. an integrated circuit (IC).

• In 1958 Jack Kilby of Texas Instruments invented the IC. In 1959 Robert Noyce of Fairchild Semiconductor independently developed a better-designed IC. (Nobel Prize 2000.)

CSC 370 (Blum) 8

Microprocessor

• A computer of fourth generation has a microprocessor.

• What distinguishes a microprocessor from other integrated circuits is that a microprocessor can be programmed.

• So along with the idea of the microprocessor comes the idea of the instruction set – the set of actions the programmer can have the microprocessor perform.

CSC 370 (Blum) 9

Intel

• Intel was founded by Bob Noyce and Gordon Moore who formerly worked for Fairchild Semiconductor.

• In a collaboration between Busicom (a Japanese firm) and Intel to make calculators, Ted Hoff devises a plan to put all the main circuitry on one chip instead of the original plan of twelve (in 1968).

• The microprocessor was born.

Noyce Moore

CSC 370 (Blum) 10

The Microprocessor is born

Intel made the 4004 (the first microprocessor) for Busicom. Knowing they had a good thing, they bought the rights to the 4004 from Busicom for $60,000.

Ted Hoff

CSC 370 (Blum) 11

4004

CSC 370 (Blum) 12

4004

• The 4004 was introduced in November 1971. • It was the first commercial microprocessor. • It had 2,300 transistors and could execute

approximately 60,000 instructions per second. • Compare that to today’s microprocessors, which

have both the number of transistors and the number of instructions per second are in the millions. – Moore’s law in action.

CSC 370 (Blum) 13

4004 Specs

• Clock speed: Initially 108 kHz but upped to 500kHz and then to 740kHz.

• Bus width: 4 bits (though its instructions were 8 bits)

• It addressed up to 1 Kb of program memory and up to 4 Kb of data memory. – The program memory and data memory were separate.

• There were sixteen 4-bit (or eight 8-bit) general purpose registers.

• Executed 45 instructions.

CSC 370 (Blum) 14

Relative Processor size

This diagram shows the relative sizes of the Intel family of microprocessors. While the number of transistors has grown substantially the size of the chip has not – imply that the density (the number of transistors per area) has increased dramatically.

CSC 370 (Blum) 15

8008: Double your pleasure, double your fun

• The first 8-bit microprocessor. • Actually work began on the 8008 before the

4004 but it took longer to finish. • Differs architecturally from the 4004. The

microprocessors that follow were based on (and backward compatible with) the 8008.

• The 8008 was used in the Mark-8, one of the first “home computers.” 

CSC 370 (Blum) 16

Mark-81During those days another large crowd gathered. Since they had nothing to eat, Jesus called his disciples to him and said, 2"I have compassion for these people; they have already been with me three days and have nothing to eat. 3If I send them home hungry, they will collapse on the way, because some of them have come a long distance." 4His disciples answered, "But where in this remote place can anyone get enough bread to feed them?" 5"How many loaves do you have?" Jesus asked. "Seven," they replied. 6He told the crowd to sit down on the ground. When he had taken the seven loaves and given thanks, he broke them and gave them to his disciples to set before the people, and they did so. 7They had a few small fish as well; he gave thanks for them also and told the disciples to distribute them. 8The people ate and were satisfied. Afterward the disciples picked up seven basketfuls of broken pieces that were left over. 9About four thousand men were present.

CSC 370 (Blum) 17

8080

CSC 370 (Blum) 18

8080

• Federico Faggin, who was involved with both the 4004 and the 8008 (and would eventually leave to found Zilog) was as the lead designer for the 8080.

• The 8080, released in 1974, was used in the first widely known personal computer – the Altair. – The Altair is said to have gotten its name from the

destination of the Starship Enterprise from the Star Trek television show.

– Hobbyists could buy the Altair kit for $395.

CSC 370 (Blum) 19

8080 Specs

• 16-bit address bus and an 8-bit data bus.

• Seven 8-bit registers (A-E, H, L) – Pairs BC, DE and HL could be combined to

make 16-bit registers.

• A 16-bit stack pointer.

• A 16-bit program counter.

• Several I/O ports.

CSC 370 (Blum) 20

8088

CSC 370 (Blum) 21

8086 & 8088• Used in early word processors (Display-Writer and

DataMaster). • Used in IBM’s first personal computer: IBM PC/XT

and its clone the Compaq DeskPro. • PCs were moving out of the basements and into

offices. • Intel becomes a Fortune 500 company. They were

named one of the "Business Triumphs of the Seventies“ by Fortune magazine.

CSC 370 (Blum) 22

Display-Writer and IBM PC/XT

CSC 370 (Blum) 23

FPU

• Floating point operations are more tedious to perform than integer operations.

• The floating point unit (FPU) is circuitry devoted to floating point operations.

• In processors of the 8086 generation, the FPU was not standard but could be purchased as a separate chip (known in this case as a Math co-processor).

• In modern processors, the FPU can also help with multimedia and communications.

CSC 370 (Blum) 24

286a.k.a.80286

CSC 370 (Blum) 25

286• The 286, a.k.a. the 80286, was the first

microprocessor in the Intel family that could execute all the code written for its predecessor (8086). – Backward compatibility is an important feature

of the Intel family of microprocessors.

• Six years after its release (1982), there were about 15 million 286-based PCs being used.

CSC 370 (Blum) 26

286 Specs

• Executed instructions five time faster than 8086 at the same clock speed.

• Addressable memory increased from 1 MB to 16 MB.

• The FPU (in this case 80287) remained separate.

• Introduced “protected mode.”

CSC 370 (Blum) 27

Protected mode• Allows multi-tasking so that the processor can

juggle more than one program at a time. • Each program is assigned to a certain range of

memory. Only that program can use that range of memory. It is “protected” from interference by other programs. And other programs are protected form it.

• Uses extended memory and virtual memory so that a program seems to have access to more memory than it is assigned.

CSC 370 (Blum) 28

386

CSC 370 (Blum) 29

386

• Contains 275,000 transistors. – Recall the 4004 had 2,300.

• 32-bit address bus and 32-bit data bus.

• Allowed multi-tasking.

• FPU still separate (80387).

• L1 cache a unit of fast memory included on the microprocessor.

CSC 370 (Blum) 30

Levels of cache• At the microprocessor level, cache refers units of SRAM

used to speed up the processor’s interaction with memory.

• Level 1 (L1) or primary cache is built onto the processor chip.

• Level 2 (L2) or secondary cache originally was packaged separately from the processor (so one could change the amount of it) but started to be included as part of the processor package (around the time of the Pentium II).

• In the latter case, one can have Level 3 (L3) cache which is separate from the processor package.

CSC 370 (Blum) 31

486

CSC 370 (Blum) 32

486• Released 1989. • 486 not 80486. • 32-bit bus.• 8 KB to 16 KB of cache (L1). • 20 MHz to 50 MHz. • Built-in FPU. • Processor ran faster (a multiple of) the memory bus

speed. • Allowed the move from command-line OS to GUI OS

(DOS to Windows).

CSC 370 (Blum) 33

Pentinum

CSC 370 (Blum) 34

Pentium

• Released 1993. • About 3.1 million transistors• Upped memory bus speeds to 60 MHz or 66

MHz. • Intel stopped using numbers because they

could not register a number as a trademark. • CISC (Complex Instruction Set Computer)• 64-bit databus

CSC 370 (Blum) 35

Lowering the voltage• More and more transistors with current flowing

through them in a small amount of space means more and more heat is being generated.

• One development in microprocessors was a reduction of standard voltage at which the transistors function.– Lower the voltage means reducing the heat and the power

consumption. It can also affect speed and accuracy because the voltage ranges for a valid 1 or 0 have been reduced.

• With some Pentiums, the long-standing standard of 5 volts was reduced to 3.3 volts.

CSC 370 (Blum) 36

About instructions

• The execution of a typical instruction involves – Fetching the instruction from memory. – Decoding the instruction. – Fetching data necessary to execute the instruction. – Executing the instruction. – Placing the answer in the appropriate place. – (Looking interrupts).

• One can gain speed by having consecutive instructions in different stages (have instructions in the pipeline).

CSC 370 (Blum) 37

Branch prediction

• Pre-processing consecutive instructions will not help with speed when the next instruction to be executed is not the next instruction in the program (ifs, loops, subroutines, etc.)

• This situation is known as branching. • Starting with some Pentiums, microprocessors

included a branch prediction feature.

CSC 370 (Blum) 38

MMX/SIMD

• Some Pentiums have MMX. – MultiMedia eXtensions?

– Matrix Math eXtensions?

– 57 additional instructions for making audio and video more efficient.

• Some Pentiums have Single Instruction Multiple Data (SIMD). – One instruction can be used to operate on many pieces

of data in parallel.

CSC 370 (Blum) 39

Pentium Pro

CSC 370 (Blum) 40

Pentium Pro• Released 1995 • 5.5 million transistors.• Designed for the 32-bit server and workstation

applications. • Super-pipelining determines which instructions

can be done “out of order” so less time is wasted. • Introduced L2 cache (a separate cache memory

chip). • RISC (Reduced Instruction Set Computer)

architecture.

CSC 370 (Blum) 41

Pentium II

CSC 370 (Blum) 42

Pentium II

• Released in 1997.• 7.5 million transistors.• MMX technology.

– Designed specifically to process multimedia information (video, audio and graphics) efficiently.

• Introduced the Single Edge Contact (S.E.C.) Cartridge that also incorporated a high-speed cache memory chip.

CSC 370 (Blum) 43

Pentium II Xeon

CSC 370 (Blum) 44

Pentium II Xeon• Intel introduced high-end and low-end variations on

its chip designs. • The Xeon was used for mid-range and higher servers

and workstations. • For workstations and servers that utilize demanding

business applications such as Internet services, corporate data warehousing, digital content creation, and electronic and mechanical design automation.

• Allows scaling – using several processors together.

CSC 370 (Blum) 45

Celeron

CSC 370 (Blum) 46

Celeron

• Released in 1998.

• A cheaper version on the Pentium II

• Lower clock speeds

• Less Cache

CSC 370 (Blum) 47

Pentium III

CSC 370 (Blum) 48

Pentium III• Released in 1999.• 9.5 million transistors. • 0.25-micron technology.

– A micron is a millionth (10-6) of a meter. – Recall that the number of transistors is going up but the

chip size is not changing much. Therefore the transistors are getting smaller.

– 0.25-micron technology refers to the ability to manufacture chip having components (mainly transistors) whose length is no bigger than a 0.25 microns.

CSC 370 (Blum) 49

Pentium III

• Has 70 new instructions — Internet Streaming SIMD (Single Instruction, Multiple Data) extensions – to improve imaging, streaming audio, video and speech recognition applications.

• Designed to better the Internet experience. E.g. it allows users to browse through realistic online museums and stores or download high-quality video.

CSC 370 (Blum) 50

CSC 370 (Blum) 51

Pentium® III Xeon™

• 1999

• PIII for workstations and servers.

• Has SIMD features.

• Improved cache speeds.

• Easily incorporated into multiprocessor configurations.

CSC 370 (Blum) 52

Pentium 4

CSC 370 (Blum) 53

Pentium® 4

• 42 million transistors.

• Debuted with processor speeds of 1.5 gigahertz (1.5 billion hertz).

CSC 370 (Blum) 54

Intel® Xeon™

• 2001.

• For workstations and servers.

• Based on Intel NetBurst™ architecture, which is designed to deliver the processing power needed for video and audio applications, advanced Internet technologies, and complex 3-D graphics.

CSC 370 (Blum) 55

Itanium™ Processor

• 2001.• Full 64-bit capability.• For high-end, enterprise-class servers and

workstations. • The processor was built from the ground up

with an entirely new architecture based on Intel's Explicitly Parallel Instruction Computing (EPIC) design technology.

CSC 370 (Blum) 56

Moore’s Law

CSC 370 (Blum) 57

References

• PC Hardware in a Nutshell, Thompson and Thompson

• http://www.intel.com/intel/intelis/museum/exhibit/hist_micro/index.htm

• http://antiquetech.com/chips/chips.htm• http://www.webopedia.com • The Chip, T. R. Reid (Random House,

2001)