CS 333 Computer Architecture
Chapter 2 (Part 1) : Computer Evolution Dr. Olfa Mosbahi Computer Architecture
Architecture and Organization ❖ Distinction between organization: ❖ Computer architecture:
architecture
and
Attributes visible to the programmer Instruction set, number of bits used for data representation, I/O mechanisms, memory addressing techniques
❖ Computer organization: How features are implemented Realize the architectural specifications Hardware details transparent to programmer Control signals, interfaces between computer peripherals, memory technology
Computer Architecture
and
2
Architecture and Organization ❖ Computer manufacturers offer a family of models: Same architecture Different organizations
❖ Examples: All Intel x86 family share the same basic architecture The IBM System/370 family share the same basic architecture
❖ What are the benefits? Code compatibility (at least backwards) Customization (different constraints on performance and price)
Computer Architecture
3
Architecture and Organization ❖ Example: instruction set architecture A very important abstraction Interface between hardware and low-level software Standardizes instructions, machine language bit patterns, etc.
❖ Advantage Different implementations of the same architecture
❖ Disadvantage May prevent new innovations
❖ Modern instruction set architectures: IA-32, IA-64, PowerPC, MIPS, SPARC…
Computer Architecture
4
Structure and Function ❖ Describe computers: approach ❖ At each level:
hierarchical
Set of components and their relationships Behavior is based on abstract description of lower level Designer only concerned with: ❧ Structure ❧ Function
at that level
Computer Architecture
5
Structure and Function ❖ Structure the way in which components relate to each other
❖ Function the operation of individual components as part of the structure
❖ Will examine computer systems in a top down approach
Computer Architecture
6
Function ❖ Computer functions: Data processing ❧ Only a few fundamental types of processing Data storage ❧ Short term ❧ Long term Data movement ❧ Between itself and outside world ❧ I/O to peripherals ❧ Data communication Control ❧ Manages the functions above Computer Architecture
7
Functional View
Computer Architecture
8
Operations (a) Data movement
Computer Architecture
9
Operations (b) Storage
Computer Architecture
10
Operations (c) Processing from/to storage
Computer Architecture
11
Operations (d) Processing from storage to I/O
Computer Architecture
12
Structure – Top Level
Peripherals
Computer Central Processing Unit
Computer
Main Memory
Systems Interconnection
Input Output Communication lines
Computer Architecture
13
Structure – The CPU
CPU Computer
Registers
I/O System Bus Memory
Arithmetic and Logic Unit
CPU
Internal CPU Interconnection
Control Unit
Computer Architecture
14
Structure – The Control Unit (microprogrammed implementation) Control Unit CPU ALU Internal Bus Registers
Control Unit
Sequencing Logic Control Unit Registers and Decoders
Control Memory
Computer Architecture
15
History of Computers ❖ Mechanical Era (1600s-1940s) Wilhelm Schickhard (1623) ❧ Astronomer and mathematician ❧ Automatically add, subtract, multiply, and divide Blaise Pascal (1642) ❧ Mathematician ❧ Mass produced first working machine (50 copies) ❧ Could only add and subtract ❧ Maintenance and labor problems Gottfried Liebniz (1673) ❧ Mathematician and inventor ❧ Improved on Pascal’s machine ❧ Add, subtract, multiply, and divide
Computer Architecture
16
History of Computers Charles Babbage (1822) ❧ Mathematician ❧ “Father of modern computer” ❧ Wanted more accuracy in calculations ❧ Difference engine – Government / science agreement – Automatic computation of math tables ❧ Analytic engine – Perform any math operation – Punch cards – Modern structure: I/O, storage, ALU – Add in 1 second, multiply in 1 minute – Both engines plagued by mechanical problems
Computer Architecture
17
History of Computers George Boole (1847) ❧ Mathematical analysis of logic ❧ Investigation of laws of thought Herman Hollerith (1889) ❧ Modern day punched card machine ❧ Formed Tabulating Machine Company (became IBM) ❧ 1880 census took 5 years to tabulate ❧ Tabulation estimates – 1890: 7.5 years – 1900: 10+ years ❧ Hollerith’s tabulating machine reduced the 7.5 year estimate to 2 months
Computer Architecture
18
History of Computers Konrad Zuse (1938) ❧ Built first working mechanical computer (running programs): Z1 ❧ Binary machine ❧ German government decided not to pursue development – W.W.II already started Howard Aiken (1943) ❧ Designed the Harvard Mark I ❧ Implementation of Babbage’s machine ❧ Built by IBM
Computer Architecture
19
History of Computers ❖ Mechanical era summary Mechanical computers were designed to reduce the time required for calculations and increase accuracy of the results Two drawbacks ❧ Speed of operation limited by the inertia of moving parts (gears and pulleys) ❧ Cumbersome, unreliable, and expensive
Computer Architecture
20
History of Computers ❖ The Electronic Era ❖ Generation 1 (1945 - 1958) : vacuum tubes ENIAC ❧ Electronic Numerical Integrator And Computer ❧ Developed for calculating artillery firing tables ❧ Designed by Mauchly and Echert of the University of Pennsylvania ❧ Generally regarded as the first electronic computer ❧ Handles signed 10-digit numbers ❧ Decimal number system used ❧ Programmed by manually setting switches ❧ Punched cards are used for I/O
Computer Architecture
21
History of Computers ENIAC – cont. ❧ Really big! – 18,000 vacuum tubes – 70,000 resistors – 10,000 capacitors – 6,000 switches – 30 tons – 15,000 square feet – 140 kW power consumption – 5,000 additions per second
Computer Architecture
22
History of Computers IAS (Institute for Advanced Studies) ❧ von Neumann and Goldstine ❧ Took idea of ENIAC and developed the concept of storing a program in the memory ❧ This architecture came to be known as the “von Neumann architecture” and has been the basis for virtually every machine designed since then ❧ Features – Data and instructions (programs) are stored in a single read-write memory – Memory contents are addressable by location, regardless of the content itself – Sequential execution ❧ Lots of initial and long-term fighting over patents, rights, credits, firsts, etc. Computer Architecture
23
History of Computers ❖ Generation 2 (1958 - 1964) : Transistors Technological changes Transistors System software and high level languages Floating point arithmetic
❖ Generation 3 (1964 - 1974) : Integrated Circuits Introduction of integrated circuits Semiconductor memory Microprogramming Multiprogramming
Computer Architecture
24
History of Computers ❖ Generation 4 (1974 - present) : VLSI Large scale integration / VLSI Single board computers
❖ Generation 5 (? - ?) VLSI / ULSI Computer communications networks Artificial intelligence Massively parallel machines
Computer Architecture
25
History of Computers
Computer Architecture
26
Von Neumann Machine ❖ Concept of stored program Main memory storing programs and data
❖ ALU operating on binary data ❖ Control unit interpreting instructions from memory and executing ❖ Input and output equipment operated by control unit ❖ IAS (Institute for Advanced Studies) at Princeton ❖ Completed in 1952
Computer Architecture
27
Structure of von Neumann Machine
Computer Architecture
28
ISA ❖ 1000 x 40 bit words Binary representation instructions 2 x 20 bit instructions
of
Computer Architecture
data
and
29
IAS ❖ Set of registers (storage in CPU) Memory Buffer Register Memory Address Register Instruction Register Instruction Buffer Register Program Counter Accumulator Multiplier Quotient
Computer Architecture
30
IAS Structure
Computer Architecture
31
IAS Instructions ❖ Total of 21 instructions, grouped in: Data transfer Unconditional branch Conditional branch Arithmetic Address modify
Computer Architecture
32
First Commercial Computers ❖ 1947 Eckert-Mauchly Computer Corporation ❖ UNIVAC I (Universal Automatic Computer) ❖ US Bureau of Census 1950 calculations ❖ Became part of Sperry-Rand Corporation ❖ Late 1950s - UNIVAC II Faster More memory Upward/backward compatible
Computer Architecture
33
IBM ❖ Punched-card processing equipment ❖ 1953 - the 701 IBM’s first stored program computer Scientific calculations
❖ 1955 - the 702 Business applications
❖ Lead to 700/7000 series
Computer Architecture
34
Transistors ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖
Replaced vacuum tubes Smaller Cheaper Less heat dissipation Solid State device Made from silicon Invented 1947 at Bell Labs William Shockley et al.
Computer Architecture
35
Transistor-Based Computers ❖ Second generation machines ❖ NCR & RCA produced small transistor machines ❖ IBM 7000 series ❖ DEC - 1957 Produced PDP-1
Computer Architecture
36
IBM 7094 ❖ Innovation: channels
data
Independent I/O modules with their own processor and instruction set
Computer Architecture
37
Integrated Circuits ❖ So far – discrete components
❖ Micro electronics Computer – made up of gates, memory cells and interconnections
Computer Architecture
38
Integrated Circuits ❖ Idea Manufacture entire circuits (components and their interconnections) directly on a semiconductor
Computer Architecture
39
Computer Generations ❖ Vacuum tube: 1946-1957 ❖ Transistor: 1958-1964 ❖ Small scale integration: from 1965 Up to 100 devices on a chip
❖ Medium scale integration: to 1971 100 - 3,000 devices on a chip
❖ Large scale integration: 1971-1977 3,000 - 100,000 devices on a chip
❖ Very large scale integration: 1978 -1991 100,000 - 100,000,000 devices on a chip
❖ Ultra large scale integration: 1991 - ? Over 100,000,000 devices on a chip Computer Architecture
40
Moore’s Law ❖ Increased density of components on chip ❖ Gordon Moore – co-founder of Intel In April of 1965, Electronics magazine published an article by Intel co-founder Gordon Moore.
“Number of transistors on a chip will double every year”
❖ Since 1970’s development has slowed a little Number of transistors doubles every 18 months
Computer Architecture
41
Moore’s Law
Computer Architecture
42
Announcements ❖ Readings Chapter 2
Computer Architecture
43