2.37k likes | 3.42k Views
Chapter 1 Microcomputers and Microprocessors. Microprocessor Evolution and Performance. Contents. Introduction to microcomputer system Microprocessor evolution the INTEL processor family Microprocessor performance. Introduction to Microcomputer.
E N D
Chapter 1 Microcomputers and Microprocessors Microprocessor Evolution and Performance
Contents • Introduction to microcomputer system • Microprocessor evolution • the INTEL processor family • Microprocessor performance
Introduction to Microcomputer • An microcomputer can be interpreted as a machine with: • I/O devices for Input/Output, • microprocessor for processing, • memory units for storage • Buses for connecting the above components • In 1970, a microcomputer was normally interpreted as a computer considerably smaller than a mini-computer, possibly using ROM for program storage
Basic hardware units • Input • e.g. keyboard, mouse • Microprocessor • e.g. 8085, 8086, mc68000 microprocessors • Memory • e.g. RAM, hard disk • Output • e.g. monitor, printer
Buses • Buses: External connections to input/output unit • Major Buses: • Address bus: address of memory locations containing instructions or data • Data bus: contents of memory locations • Control Bus: synchronization and handshaking between components
General Architecture Memory Unit Primary memory Secondary memory Microprocessing unit Input unit Output unit
Processor History Vacuum Tubes to IC’s
First Generation Computers • Vacuum tube technology • Large room, air-conditioned • Tube life-time: 3,000 hours • Useless Machine? • 1951: 1st Univac I (UNIVersal Automatic Computer) delivered • 1952: Prediction of presidential election by CBS • 1952: IBM Model 710 Data Processing System
Second Generation Computers • The Transistor Is Born (Solid-State Era) • 1948: invention of bipolar transistors • 1956: Nobel physics award: Drs. William Shockley, John Bardeen and Walter H. Brattain (Bell Labs) • 1954: Bell Labs: all-transistorized computer (TRADIC) • 800 transistors • Much less heat • More reliable and less costly
Second Generation Computers • Mainframe Computers • 1958: IBM’s 1st transistorized computer 7070/7090 • 1959: 1401 (business-oriented model) • Built on circuit boards mounted into rack panels, or frames • Main frame (mainframe): the CPU portion of the computer • Popular with business and industry
Third Generation Computers • Invention of IC: 1959 • Dr. Robert Noyce (Fairchild) and Jack Kilby (TI) • Kilby: fabricating resistors, capacitors and transistors on a germanium wafer, and connecting these parts with fine gold wires • Noyce: isolating individual components with reverse-biased diodes, and deposing an adherent metal film over the circuit, thus connecting the components • 1st IC: 2-transistor multivibrator • By mid 1960s: memory chips with 1,000 components are common
Third Generation Computers • 1964: IBM 360 Series (32-bit) • The first to use IC technology • A family of 6 compatible computers • 40 different I/O and auxiliary storage devices • Memory capacity: 16K words to over 1MB. • 32-bit registers x 16 • 24-bit address bus • 128-bit data bus
Third Generation Computers • 1964: IBM 360 Series (32-bit) • 375,000 computations per second • (<< 150 mips Pentium 100) • $5 billion development cost • IBM became the leading mainframe company
Minicomputer • 1960s: Space Race between US & USSR • IC industry boom • A tremendous demand by scientists and engineers for an inexpensive computer that they could operate by themselves • 1965: DEC PDP-8 (by Edson de Castro’s group) • Low-cost ($25,000) minicomputer • 12-bit • 16-bit PDP-11 • Supermini …
Microprocessors: CPU on a Chip • 1968: INTEL (Integrated Electronics) • Founded by Robert Noyce and Gordon Moore (Fairchild) • Original goals: semiconductor memory market • 1969: customized IC’s for Busicom for calculator • Ted Hoff and Stan Mazor: proposed 4-bit CPU on a single chip, plus ROM, RAM chips
Microprocessors: CPU on a Chip • 1971: 4000 Family • By Fredrico Faggin • 4001: 2K ROM with 4-bit I/O port • 4002: 320-bit RAM, 4-bit output port • 4003: 10-bit serial-in parallel-out shift register • 4004: 4-bit processor • Processor-on-a-chip: Micro-processor era
Microprocessors: CPU on a Chip • 1972: 8008, 8-bit • 1974: 8080, an improved version
Microprocessors: CPU on a Chip • 8-bit CPUs • 16-bit address (64K) • MC6800: Motorola • 6502: MOS Technology (spin-off from Motorola) • Apple-II, Apple DOS • Z-80: Zilog (spin-off from Intel) • Z-80 cards on Apple-II, CP/M
Microprocessors: CPU on a Chip • 16-bit CPUs (Late 1970s) • 8086, 80186, 80286: Intel • PC, PC-DOS, MS-DOS, SCO-Unix • MC68000: Motorola • 16-bit instructions • Hardware multiply and divide • 20-bit address buses (1MB) • Workstations: Sun3
Microprocessors: CPU on a Chip • 32-bit CPUs • 80386, 80486: Intel • MC68020, 68030: Motorola • 64-bit CPUs • Pentium, Pentium Pro (64-bit external data bus, 32-bit internal registers, not recognized as 64-bit CPUs in terms of internal register word length)
Microcomputers: Computers Based on Microprocessors • 1975: MITS Altair 8800 (Kit) • $399, i8080, programmed by depositing 1s/0s via front panel switches • Other Computers boom • 8080: MITS, … • 6800: SWTPC 6800, … • Z-80: TRS-80, … • 6502: Apple I, 8K, programmed with BASIC • Steve Jobs & Steve Wozniak, millionaires from PC COM’s …
Personal Computers: the Open Architecture Era • 1982: IBM PC • A system board (mother board) • Intel 8088 processor • 16K memory • 5 expansion slots • Third-party vendors to supply various IO adapter cards • Open architecture • Computer with interchangeable components
Micro-controllers: Microcomputers on a Chip • Microcontroller: a computer on a chip • Microprocessor, plus • On-chip memory, plus • Input/output ports • 1995: microcontrollers out sold microprocessors 10:1 • embedded on various equipments: • Thermostat, machine tools, communication, automotive, … • Evolution: getting greater IO capabilities • Intel: MCS-51, MCS-96, …
High-Performance Processors • Supercomputers • Aircraft design, global climate modeling, oil-bearing formation, molecular design of new drugs, financial behavior • CDC6600, 7600: Seymour Cray • Cray-1: 1976, the first true supercomputer • ECL, 128 KW power consumption • 130 MFLOPS (Pentium 100: 150 MFLOPS) • $5.1 million
High-Performance Processors • Parallel Processors • Tens of gigaflops • Multi-processors wired by a common bus • Each is given a portion of the problem to solve • Hypercube: early 1980s • Cosmic Cube, iPSC (with i860/RISC chips) • 2D rectangular Mesh architecture: multiple processor at each node • Intel: teraflops computer with 4500 nodes, each powered by 2 Pentium Pro 200.
RISC vs. CISC • RISC: Reduced Instruction Set Computer (1980s) • A small number of fixed-length instructions • Simple addressing modes • A large number of registers • Instructions executed in one clock cycle • Intel i860 (“Cray on a Chip”) • 82 instructions, 32-bit long each • Four addressing modes • 32 general-purpose registers
RISC vs. CISC • CISC: Complex Instruction Set Computer • A large number of variable length instructions • Multiple addressing modes • A small number of registers • Multiple number of clock cycles to execute • Intel 8086 • Over 3000 instruction forms, 1-6 bytes • 9 addressing modes • 8 general-purpose registers • Execution from 2 to 80+ cycles
RISC vs. CISC • RISC • Control unit is much simpler (simpler instructions, execution in 1 CLK) • Faster execution with less total on-chip logic • Chip area: 10% (vs 50% for CISC) • More area for register file, data and instruction caches, FPU, and co-processor • PowerPC: 32-bit, by IBM, Apple, Motorola • Sparc: for SunMicro workstations
Application-Specific Processors • DSP Chips • Mostly for analog signal processing • ADC-DSP-DAC architecture • Avoid processing analog signals using discrete circuits, involving capacitors and inductance • DSP: conduct complex mathematic functions • Digital filter, spectrum analysis
Application-Specific Processors • DSP Chip Architecture • Different data/program areas: Harvard Architecture • Hardware multipliers and adders, optimized to execute on a single cycle • Arithmetic pipelining: several instructions operated at once • Hardware loop control • Multiple IO ports for communication with other processors
Summary of Processor History • 1940s: Vacuum tube, large and consuming large power • 1950s: Transistor (1948-) • 1959: First IC (second industrial revolution) • 1960s: IC was popular to build CPU’s. • 1971: Intel 4004 microprocessor (2300 transistors) Starts of the microprocessor age • Late 1970’s: 8080/85
Summary of Processor History • 1980: RISC (reduced instruction set computer) • CISC (complicated instruction set computer) vs. RISC • CISC family: Intel 80x86, Pentium; Motorola 68000 series • All others are RISC series.
Evolution of INTEL Processors 4004 (’71)-Pentium Pro (’93-)
INTEL • Integrated Electronics • 1968: founded by Robert Noyce and Gordon Moore • IA: Intel Architecture (e.g, IA-16, IA-32, IA-64) since 8008 (’72) had became the de facto standard • Evolution: • Internal register sizes • External bus widths • Real, Protected, and Virtual 8086 modes
4-bit Processors • 4004 • first microprocessor • became available in 1971 • 4-bit microprocessor: • 4-bit registers & 4-bit data bus • #transistors: 2250 • Min. feature size: 10 microns • Address bus: 10 bits/1K • 0.06 MIPS (@ 0.108 MHz) • No internal cache
8080 8-bit Processors • 8008, 8080, 8085 • became available in 1974 • 8-bit microprocessor
8086: IA standard • Became available in 1978 • 16-bit data bus • 20-bit address bus (was 16-bit for 8080) • memory organization: 16 segments of 64KB (1 MB limit) • Re-organize CPU into BIU (bus interface unit) and EU (execution unit) • Allow fetch and execution simultaneously • Internal register expanded to 16-bit • Allow access of low/high byte separately
8086 • Hardware multiply and divide instructions • External math co-processor • Instruction set compatible with 8080/8085 • 8086: defined the 80x86 architecture
8086 • Not quite successful • 16-bit data bus: Requires two separate 8-bit memory banks • Memory chips were expensive
8088: PC standard • Became available in 1979, almost identical to 8086 • 8-bit data bus: for hardware compatibility with 8080 • 16-bit internal registers and data bus (same as 8086) • 20-bit address bus (was 16-bit for 8080) • BIU re-designed • memory organization: 16 segments of 64KB (1 MB limit) • Two memory accesses for 16-bit data (less efficient) • But less cost • 8088: used by IBM PC (1982), 16K-64K, 4.77MHz
80186, 80188: High Integration CPU • PC system: • 8088 CPU + various supporting chips • Clock generator • 8251: serial IO (RS232) • 8253: timer/counter • 8255: PPI (programmable periphial interface) • 8257: DMA controller • 8259: interrupt controller • 80186/80188: 8086/8088 + supporting functions • Compatible instruction set (+ 9 new instructions)
80286 • Became available in 1982 • used in IBM AT computer (1984) • 16-bit data bus • clock speed 25% faster than 8088, throughput 5 times greater than 8088 • 24-bit address bus (16 MB) (vs. 20-bit/1M 8086)
80286: Real vs. Protected Modes • Larger address space: 24-bit address bus • Real Mode vs. Protected Mode • Real Mode: • Power on default mode • Function like a 8086: use 20-bit least significant address lines (1M) • Software compatible with 286 • 16 new instructions (for Protected Mode management) • Faster 286: redesigned processor, plus higher clock rate (6-8MHz)
80286: Real vs. Protected Modes • Protected Mode: • Multi-program environment • Each program has a predetermined amount of memory • Addressed via segment selector (physical addresses invisible): 16M addressable • Multiple programs loaded at once (within their respective segments), protected from read/write by each other
80286: Real vs. Protected Modes • Protected Mode: • Cannot be switch back to real mode to avoid illegal access by switching back and forth between modes • A faster 8086 only? • MS-DOS requires that all programs be run in Real Mode
Clock Speed • Electrical signals cannot change instantaneously (transition period required) • System clock provides timing signal for synchronization • Cannot be used to compare the performance of microprocessors with different instruction sets • e.g., a 66 MHz Pentium is twice as fast as a 66 MHz 80486
80386DX (aka. 80386) • available in 1985, a major redesign of 86/286 • Compatibility commitment through 2000 • 32-bit data and address buses (4 GB memory) • Real Address Mode: 1M visible, 286 real mode • Protected Virtual Address Mode: • On board MMU • Segmented tasks of 1byte to 4G bytes • Segment base, limit, attributes defined by a descriptor register • Page swapping: 4K pages, up to 64TB virtual memory space • Windows, OS/2, Unix/Linux
80386DX (aka. 80386) • Virtual 8086 mode (a special Protected mode feature): permitted multiple 8086 virtual machines-multitasking (similar to real mode) • Windows (multiple MSDOS’s) • Clock rate: • max. 40MHz, 2 pulses per R/W bus cycle • External memory cache to avoid wait • Fast SRAM • 93% hit rate with 64K cache • Compatible instructions (14 new)
80386SX • 80386SX: (for transition to 32-bit) • 16-bit data bus/32-bit register • 24-bit address bus
80486DX • 1989: a polished 386, 6 new OS level instructions • virtually identical to 386 in terms of compatibility • RISC design concepts • fewer clock cycles per operation, a single clock cycle for most frequently used instructions • Max 50MHz • 5 stage execution pipeline • Portions of 5 instructions execute at once