Inside the CPU - Duquesne University

Download Report

Transcript Inside the CPU - Duquesne University

Inside the CPU
COSC-100 (Elements of Computer
Science)
Prof. Juola
What’s a computer?
• Information-processing device
• Primary function : math, decisions
• Normally “digital” (vs. analog)
1:38 pm
Computers : A history
•
•
•
•
3000 BC -- digital counting device (abacus)
16th c. -- Napier’s bones
19th c. -- Jacquard’s (programmable) loom
1830 -- Babbage’s Analytic Engine
• 1940 -- WWII, programmable coding and
decoding machines (Colossus)
Computers: A history (cont.)
• 1943-6 -- Programmable computers
• ENIAC
• 10 feet tall, 10,000 square feet footprint,
150kW of power, and 18,000 vacuum tubes
• 1945 -- First program “bug”
• Moth found in computer wiring @ Harvard
• 1945 -- Von Neumann defines “computer”
Computers: A history (cont.)
• 1947 -- First transistor (no more tubes!)
• Begins “second generation” computers
• 1949 -- First programming language
• 1958 -- First integrated circuit,
• Begins “third generation” computers
• 1971 -- VLSI microprocessor
• Computer-on-a-chip
• Begins “fourth generation” computers
Computers: A recent history
• 1971 -- Intel builds 4004, eventually to
become the Pentium (IV)
• 1975 -- Microsoft founded
• 1981 -- IBM produces IBM-PC (Personal
Computer)
• 1984 -- Apple Macintosh
• Change in hardware since then mostly
incremental
Software : A history
• 1950--1975 : Institutional computing
• Banks, large corporations, scientific problems
• 1975--1995 : Personal computing
• Document processing, data storage, calculations
• 1995--today : Interpersonal computing
• Primarily networking ; Email, web, IM, gaming
Computing issues
• Computers are algorithmic; they only do
what you tell them to do.
• Limited by validity of data : GIGO principle
• Primarily an enabling tool, but enabling of
what?
Structure of CPU
• CPU most salient part of computer
• E.g. “Intel Pentium 4 Processor at 3.4GHz
with 800 MHz front-end bus”
• Describes type of computer (Pentium 4),
and how fast it does stuff (3.4 billion clock
ticks/second)
Electronically Speaking
• Basic computer design hinges on electronic
switch (valve?) controlling current
• Current is either flowing or not.
• Fundamental representation : flowing/not
becomes a yes/no or a 1/0 “binary”
representation.
• All quantities in computers represented by
binary quantities
Representations
• Numbers : 10111 becomes 23
• 2^4 + 2^2 + 2^1 + 2^0
• 16 + 4 + 2 + 1 = 23
• Letters : 01000001 becomes ‘A’
• American Standard Code for Information
Interchange (ASCII)
• Code : 00001101 becomes “add integers”
• Programs (compilers) to convert from human
languages to “machine language”
Electrical manipulations
• Binary patterns manipulated through
electronic circuitry
Storage
• More circuitry creates self-powering
(stable) circuit for temporary data storage
CPU Structure
• Several sub-components
• Arithmetic-Logical Unit -- does math/logic
• Bus Unit -- talks to rest of computer
• Prefetch/Decode Units -- load/figure out next
instruction
• Control Unit -- executes instructions, controls
rest of CPU
• Cache memory -- high-speed local memory for
scratch-pad style storage
Terminology
• Bit -- one yes/no pattern
• Byte -- 8 yes/no patterns, grouped
• Word -- several bytes, grouped for easy
manipulation
•
•
•
•
•
8-bit computer : microcomputer
16-bit computer : minicomputer
32-bit computer : mainframe
64-bit computer : ??
128-bit computer : supercomputer
More terminology
•
•
•
•
Kilo : either 1000 or 1024 (2^10)
Mega : one million
Giga : one billion
Tera : one trillion
Example : 1 GHz is one billion Hertz, and a
256 MB pen-drive stores 256 million bytes
Why different CPUs?
• Different capacities : bigger word size
means more expensive, but also more
powerful. Why buy more than you need?
• Incompatible designs. Different machines
(e.g. PowerPC vs. Pentium) have different
machine codes, different architectures
• Different philosophies : RISC vs. CISC
Virtual machines
• “The CPU that isn’t.”
• Virtual CPU is software to interpret patterns
for another machine. E.g. your Mac can run
PC software.
• Java Virtual Machine exists nowhere but in
software. As software, built into every web
browser, so Java programs run everywhere
the Web does.
Moore’s Law
• Eniac had 18,000 tubes
• Pentium 4 has 55 million transistors
• Gordon Moore (1965) observed :
• The number of transistors that can be put on a chip
doubles every eighteen months
• The cost of a given amount of computing power halves
every 18 months
• The cost to develop a new chip doubles every 18
months.
Why so important?
• Primary factor : transistor size
• Smaller transistor takes up less space
• … but also
• draws less power
• operates faster
• costs less to fabricate (but more to design)
• Unknown how long Moore’s law will
continue to be true.
Programs get bigger
• Demand for programs is getting larger
• PDP-11 text processor (troff) used less than
64K of memory. Compare to MS-Word
• Game design often pushes limits of both
computer speed and memory capacity.
• How to make computers faster?
Multiprogramming
• Multiple CPUs per “computer,” all
cooperating
• Extreme example : CM-2 Connection
Machine had 65,536 CPUs.
• Alternatively, use networked computers
(SETI@home)
The future
• Transistor density may hit fundamental
limitations (can’t build a transistor smaller
than an atom).
• Faster substances (GaAs?)
• DNA computing in experimental stage
• “Quantum computing” a possibility, but will
require fundamental re-think of how
computers work.
The future (cont.)
• Smaller computers mean more uses (e.g.
PDA’s, MP3 players)
• “Ubiquitous computing” aims to put Star
Trek style computers everywhere for simple
tasks.
• Computer assist for many tasks we can’t
even imagine today.