Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Our approach
goal of course is to explain what a computer is
starting from the bottom and working up well go from gates to a simple PC
Arthur C. Clarke
deconstructing a PC
software
rmware OS libraries applications CPU memory IO devices interconnection network (busses)
deconstructionist
start from rst principles and build to a higher-level abstraction okay, so there is this thing called string theory ... start from high-level abstraction and explain with increasing detail it lets me surf the web ...
generalist
hardware
Course outline
roughly one week per topic
Layering of abstraction
RTL and micro operations
language for describing operations on multi-bit values in registers busses transfer data among registers
circuits components numbers micro operations system organization instruction sets and assembly language (software) youll build hardware stuff
integers, oating point, and other encodings (BCD, ASCII, unicode, etc.)
data representations and hardware operations on them
packages
circuit modules
in the lab
sequential circuit
combinational circuits plus ip-op (memory/state) nite state diagrams
combinational circuits
boolean algebra, truth tables and logic diagrams
in a circuit simulator
gates switches
5
RAM
write read inc inc inc inc clr clr clr clr
bus ctrlr 7 1 2 3 4
S0 S1 S2
3x8 dec i d7 d0 b11 FGI FGO IEN R X SC t0 4x16 dec ... t15 ALU E b0
ld ld ld ld
AR PC DR AC INPR IR TR
inc
ld ld ld
5 6
clr
OUTR 8
clk inc
clr
Historical deconstruction
Hilberts 23 problems for 20th century (Paris 1900)
Early computers
read more at mathworld.wolfram.com
no - proved undecidable in two parts: 1938 by Kurt Gdel and 1963 by Paul Cohen no - proved undecidable in 1931 by Kurt Gdels incompleteness theorems integer solutions; e.g., Fermats last theorem, which was solved in 1993 by Andrew Wiles no - proved undecidable in 1970 by Yuri Matiyasevich
abacus [3000 BCE] Pascal tax collector [1642] Babbages Analytical Engine [1837]
steam powered computer, but never built mechanical trig and log tables
two equivalent models: Turing machine and lambda calculus Turing machine
~ ~
Enigma and code breakers relay computers uids electrical current slide rule
10
analog computers
one-way innite paper tape of ones and zeros in one step: read current position, move tape, write to tape, or change internal state
The transistor
key invention enabling electronic computers
transistor
John Bardeen, Walter Brattain, and William Shockley [Bell Labs, 1947] Jack Kilby [TI 1958], Robert Noyce [Fairchild Semiconductor, 1958]
transistor as a switch
high voltage closes switch: input ows to output low voltage opens switch: output disconnected
input
control output
physically
control charges the semiconductor the input passes through to output iff it is conducting e.g., TTL, ECL, and CMOS 11 12
x y 0 z f 1
Pentium 4
~ ~
Willamette: 42 million transistors at 180 nm, 1,75 V, aluminum conductor Northwood: 55 million transistors, at 130 nm, 1.5 V, copper conductor
memory chip has 256 million silicon wafer substrate layers of conductor, insulator and semiconductor applied photographically
~
on a chip
we need an abstraction
13
14
15
16
17
18
19
20
Boolean algebra
algebra on two-valued (binary) variables
Truth tables
a truth table is
a way to represent a boolean function useful for optimizing and sometime for designing functions column for each input variable row for all possible input values column for resulting function value f = x + yz
or
and
for example
complement
example
f = x + yz
21
Axioms
you know an algebra with axioms like
commutative
associative
distributive
24
DeMorgans axioms
(x + y) (xy) xy x + y called a NOR call a NAND
= x = x = 1 = 0 = x = x = 1 = 0 = y+x = yx = (x + y) + z = (x y) z = xy + xz = (x + y)(x + z) = xy = x + y
26
process of transforming function by repeated application of axioms to yield an equivalent new function with fewer boolean operators useful because, as well see soon, each operator requires transistors f = ab + cd + ab + cd f = abc + abc + ac f = ab + a(cd + cd)
theorem is of the form f = f prove by using simplication of f to yield f useful because these higher-level abstractions simplify simplication (a + b)(a + b) = 0 absorptive law: a + ab = a inspection of truth tables
examples ...
examples ...
27
28
Summary
goal is to explain what a computer is
Administrative stuff
web page
taking deconstructionist approach starting with transistors and working up to complete PC system implements an electronically controlled switch on integrated circuit --- lots very small ones boolean algebra
transistor
contact information for TAs and me handout form 10 PM day before class nal form of notes replace handout form on web after class supplemental problems, answers to textbook problems, grades discussion bboard
WebCT
algebra of binary variables expressing some functions (easier than algebra) optimizing functions before implementing with transistors next 29
ofce hours
truth table
MW 2-3 in CISR 339 or by appointment midterm=20%, nal=50% labs=10% problem sets=18% group participation=2%
logic diagram
30