slides (pptx)

Download Report

Transcript slides (pptx)

INFO100 and CSE100
Fluency with Information Technology
Katherine Deibel
2012-04-25
Katherine Deibel, Fluency in Information Technology
1

Abacus: Fingers, strings, and stones

Antikythera mechanism:
Greek mechanical astronomical tool

Babbage Difference Engine:
Geared mechanical calculator

Vacuum tube computers:
Colossus, Eniac, Univac

Transistor Computers:
Manually-wired transistors

Integrated Circuits:
Modern age computers
2012-04-25
Katherine Deibel, Fluency in Information Technology
2


Integrated circuits (ICs) powered the
information revolution
When computers were made of discrete
parts, millions of hand connections
 3 wires per transistor
 2 per capacitor
 2 per resistor

Labor intensive, expensive, error prone,
unreliable, cumbersome, … even with
robot manufacturing!
2012-04-25
Katherine Deibel, Fluency in Information Technology
3
Integrated circuits (ICs) solved that by
two ideas
 Integration:
Circuits built as a unit from alike parts
 Photolithography:
Printing process to make chips
2012-04-25
Katherine Deibel, Fluency in Information Technology
4

Inventor of the integrated circuit
and the handheld calculator
2000 Nobel Prize for Physics
 First integrated circuit:

2012-04-25
Katherine Deibel, Fluency in Information Technology
5
758 million transistors (2008)
2012-04-25
Katherine Deibel, Fluency in Information Technology
6
photoresist
oxide
oxide
substrate
substrate
1. Prepare wafer
2012-04-25
2. Add photoresist
Katherine Deibel, Fluency in Information Technology
7
glass
chrome
glass
chrome
chrome
photoresist
PR
oxide
oxide
substrate
substrate
3. Align photomask
2012-04-25
chrome
4. Expose to UV light
Katherine Deibel, Fluency in Information Technology
8
PR
PR
PR
PR
oxide
oxide
oxide
substrate
substrate
5. Develop and remove
photoresist exposed
to UV light
2012-04-25
6. Etch exposed oxide
Katherine Deibel, Fluency in Information Technology
9
oxide
oxide
substrate
We now have our
circuit board
7. Remove remaining
photoresist
2012-04-25
Katherine Deibel, Fluency in Information Technology
10

Think bookmaking
 Used to be monks copying each page by hand
 Printing press requires initial typesetting and
then multiple copies are easy

Same idea with integrated circuits
 Used to require wiring of individual transistors
 Create the photomask and the circuit can be
created again and again
2012-04-25
Katherine Deibel, Fluency in Information Technology
11

Semiconductor:
 Sometimes it conducts
 Sometimes it doesn’t

One can control when semiconductors
do and don’t conduct
 That is the basis for PandA with silicon
2012-04-25
Katherine Deibel, Fluency in Information Technology
12
Example: an AND gate
True only if both inputs are true
Make semiconductor
conduct if input 1 is true
Send “yes” signal
on wire
2012-04-25
Detect presence /
absence of “yes”
Make semiconductor
conduct if input 2 is true
Katherine Deibel, Fluency in Information Technology
13

A charged field can control whether a
semiconductor conducts or not

A transistor has three wires
 Source (input)
 Drain (output)
In
Gate
Out
 Gate (control)

The charge of the control wire (gate) is key
 Neutral gate, channel doesn’t conduct
 Charged gate, channel conducts
2012-04-25
Katherine Deibel, Fluency in Information Technology
14

Deterministically execute instructions
to process information
 Chooses the next instruction as it is
programmed
 Executes specific instructions based only
on the program and input it is given
2012-04-25
Katherine Deibel, Fluency in Information Technology
15

A computer is an instruction execution
engine

The fetch/execute cycle is the process
that executes instructions
Instruction Fetch (IF)
Instruction Decode (ID)
Data Fetch (DF)
Instruction Execution (EX)
Result Return (RR)
2012-04-25
Katherine Deibel, Fluency in Information Technology
16
Fetch/Execute cycle
http://courses.washington.edu/fit100/sp1
2/videos/fetch-execute.swf
2012-04-25
Katherine Deibel, Fluency in Information Technology
17
ALU
Control
Input
Mouse
Keyboard
Scanner
Floppy Disk
Hard Disk
Memory
2012-04-25
Output
Katherine Deibel, Fluency in Information Technology
Monitor
Printer
Speakers
18

Programs and their data must be in the
memory while they are running
memory addresses
0
1
2
G
3
o
4
D
6
5
a
w
7
g
8
s
9
!
10
!
0
11
...
memory contents
byte = 8 bits
0
2012-04-25
1
0
0
0
1
0
0
Katherine Deibel, Fluency in Information Technology
19

The Fetch/Execute cycle is hardwired into
the computer’s control, i.e. it is the actual
“engine”
10
11
12
13
14
15
6
16
17
18
19
20
12
Zz
21
...
Instruction: ADDB 20, 10, 16
Put in memory location 20 the contents of memory
location 10 + contents of memory location 16
10
11
6
2012-04-25
12
13
14
15
16
17
18
12
Katherine Deibel, Fluency in Information Technology
19
20
18
21
...
20

Memory not usually broken up byte by byte
 Many data types are longer than one byte
 Integers are usually four bytes
 Doubles (real numbers) are eight bytes

A word is a chunk of several bytes
 32-bit machine → 4 bytes per word
 Integers are one word
 Doubles are two words
2012-04-25
Katherine Deibel, Fluency in Information Technology
21

Instructions tell where the data is, not
what the data is

An instruction might produce different
values even if the command is the same
Instruction: ADDB 20, 10, 16
10
11
12
13
14
15
16
8
10
17
18
19
7
11
60
2012-04-25
12
13
14
15
16
20
15
17
18
-55
Katherine Deibel, Fluency in Information Technology
19
20
5
21
...
21
...
22

The Arithmetic/Logic Unit does the actual
computation

Most computers have only about a 100150 instructions hard wired
Each type of data has its own separate instructions
ADDB :
ADDH :
ADD
:
ADDS :
ADDD :
ADDBU :
…
2012-04-25
add
add
add
add
add
add
bytes
half words
words
short decimal numbers
long decimal numbers
bytes unsigned
Katherine Deibel, Fluency in Information Technology
23

Input units bring data to memory from
outside world;
Output units send data to outside world
from memory
 Most peripheral devices are “dumb” in that
the processor assists their operation


Disks are both memory devices and
input/output devices
2012-04-25
Katherine Deibel, Fluency in Information Technology
24

The program counter (PC) tells where the
next instruction comes from

Instructions are a word long, so add 4 to
the PC to find the next instruction (on a
32-bit machine)
Program Counter: 112
110
111
688,724
2012-04-25
112
113
114
115
ADD 210,216,220
116
117
118
119
AND 414,418,720
Katherine Deibel, Fluency in Information Technology
120
121
OR
...
25

The rate a computer performs the Fetch /
Execute cycle is controlled by its clock
 Current clocks run 2-3 GHz (2-3 trillion cycles
a second!)

In principle, one instruction per cycle
 Not always achieved as instructions may take
multiple cycles
 Clever use of multiple ALUs allows for more
than one instruction to be completed per cycle
2012-04-25
Katherine Deibel, Fluency in Information Technology
26
Clock speed is not a good indicator of speed
 Only good to compare CPUs in same brand
 Other factors such as RAM and clock speed

 Clock speed of the front-side bus
▪ Nervous system of computer
▪ Electrical pathway that connects CPU, RAM, hard drive
 Memory
▪ Working memory of the computer
▪ Fast memory built into the CPU chip
▪ Having to save to disk is slooooooow
2012-04-25
Katherine Deibel, Fluency in Information Technology
27

From the transistors to the CPU to the
instructions, computers are well-structured
 Explicit transistor layouts printed out en masse
 Binary instructions connecting memory, input,
output, and the logic units
 Logic follows logic

Despite our experience, computers are not
vindictive or cruel
 Unless someone programs them that way
2012-04-25
Katherine Deibel, Fluency in Information Technology
28