Anda di halaman 1dari 18

Welcome to 6.004!

I thought this
course was called
Computation
Structures

David Macaulay

Handouts: Lecture slides, Schedule, PS1


6.004, Fall 1999

9/9/99

Digital Abstraction 1

Lets look inside a system...

Personal Computer:
Hardware & Software

Circuit Board:
500MM - 1B devices

Gate:
10 devices

Cell:
50devices

Module:
100K devices

Scheme for digitally-encoding


information

MOSFET
6.004, Fall 1999

Integrated Circuit:
5MM devices

9/9/99

Digital Abstraction 2

What did we see?


Structure
hierarchical design
limited complexity at each level
reusable building blocks

A lot of design work


many people involved
building blocks provide natural boundaries
that insulate one blocks implementation
from the other implementations
getting boundaries right must have been
crucial to successful completion

Long-term commercial success


must be good at many different tasks
(good = flexible and cost-effective)
reliable in a wide range of environments
accommodates technical improvements

6.004, Fall 1999

9/9/99

Digital Abstraction 3

Our plan of attack...


Understand the technical
implications of previous slide:
search out appropriate
abstractions, organizational
principles, figures of merit,
architectures, algorithms...
Roll up our sleeves and try
designing at each level of the
hierarchy: learn which are the
hard parts, how to track
down and fix bugs, how to get
it right in the first place!
Well start with the digital abstraction and
devices and work our way up from there.
6.004, Fall 1999

9/9/99

Digital Abstraction 4

Resources things to read


Computation Structures
Ward & Halstead
ISBN 0-262-23139-5
available at Quantum Books
(or better yet: borrow a copy!)

Everything you always wanted to know about:


IC technology

Principles of CMOS
VLSI Design
Weste & Eshraghian
ISBN 0-201-53376-6

6.004, Fall 1999

Systems

Architecture

Digital Systems
Engineering
Dally & Poulton
ISBN 0 521 59292 5

Computer Architecture:
A Quantitative Approach
Hennessy & Patterson
ISBN 1-55860-329-8

9/9/99

Digital Abstraction 5

Resources things to click

Up-to-date info, PS corrections, ...


Answers to common questions:
whos the bald guy doing all the talking?
On-line copies of all handouts
Lectures slides, psets, etc.

Where to find machines & help


36
38

34-501
6.004, Fall 1999

9/9/99

Digital Abstraction 6

What is Information?
Lexicographers
information, n. Knowledge communicated or
received concerning a particular fact or
circumstance.

Philosophers
data < information < knowledge < wisdom

Engineers
Information resolves uncertainty. Suppose
youre faced with N equally likely choices, and I
give you a fact that narrows it down to M
Ive given you

log2(N/M) bits of information


Examples:
w coin flip: 1 bit
w roll of 2 dice: about 5.2 bits
w outcome of Sox game: 1 bit
(well, actually, it depends on the season!)
6.004, Fall 1999

9/9/99

Digital Abstraction 7

Encoding Information
If were going to design a machine that
manipulates information, how should that
information be encoded?
We can build upon almost any physical
phenomenon subject to a few constraints:

w stable
(unaffected by environment, time)

w quickly manipulable
(access, transform, combine, transmit, store)

w cost-effective
(easy to create/destroy, large supply)
Wait!
That last one
has potential...

6.004, Fall 1999

neutrino flux
elephants
engraved stone tablets
orbits of planets
sequences of amino acids

9/9/99

Digital Abstraction 8

But since were EEs


Stick with things we know more about:
voltages
phase
currents
frequency
This semester well use voltages to encode
information. But the best choice depends on
the intended application...
Voltage pros:
easy generation, detection
lots of engineering knowledge
potentially low power in steady state
Voltage cons:
easily affected by environment
DC connectivity required?
R & C effects slow things down

6.004, Fall 1999

9/9/99

Digital Abstraction 9

Example Application
Representation of each point (x, y) on a B&W Picture:
0 volts:
BLACK
How much information
1 volt:
WHITE
at each point?
0.37 volts: 37% Gray
etc.
Representation of a picture:
Scan points in some prescribed
raster order generate voltage
waveform

Introduce some processing blocks:

6.004, Fall 1999

Copy

INV

1-v

9/9/99

Digital Abstraction 10

Reality bites...
Copy

INV

INV

Copy

Copy

Why doesnt reality match theory?


1. COPY Operator doesnt work right
2. INVERSION Operator doesnt work right
3. Theory is imperfect
4. Reality is imperfect
5. Our system architecture stinks

ANSWER: all of the above! Noise and


inaccuracy are inevitable; we cant reliably
reproduce infinite information--we must
design our system to tolerate some
amount of error if it is to process
information reliably.
6.004, Fall 1999

9/9/99

Digital Abstraction 11

The Digital Abstraction


Abstract World
Real World

?
Bits

Volts or
Electrons or
Ergs or Gallons

Our deal with the real world:


REDUCE info/wire drastically
in exchange, get a
GUARANTEE of reliable processing
The price we pay: quantity of information
0 or 1
(one crummy bit)

6.004, Fall 1999

9/9/99

Digital Abstraction 12

Building Digital Systems


Goals
understand behavior without knowing
implementation specification of
components functionality (i.e., a
contract) that is independent of
internal workings
predictable composition of functions;
Tinker Toy modularity
working components working system
guaranteed behavior under real world
circumstances (noise and inaccuracy)
simple enough for a 6-3 to use!
Excuse me!
Shouldnt that be
Building Compaq
Systems?

6.004, Fall 1999

9/9/99

Digital Abstraction 13

Using Voltages Digitally


Key idea: dont allow 0 to be
mistaken for a 1 or vice versa
Use a uniform representation
convention, to be applied to every wire
in our digital system
We want to implement devices with
arbitrarily high reliability, so outlaw
close calls via a representation
convention which forbids a range of
voltages between 0 and 1.
Valid
0

Forbidden
Zone

Valid
1

volts

CONSEQUENCE:
Notion of VALID Logic levels
6.004, Fall 1999

9/9/99

Digital Abstraction 14

Digital System Components


A combinational device is a circuit
element that has

Static
discipline

one or more discrete-valued inputs


one or more discrete-valued outputs
a functional description that details the
value of each output for each possible
combination of inputs values
a timing specification consisting (at
minimum) of an upper bound tPD on the
required time for the device to compute
the specified output values from an
arbitrary set of stable, valid input values

A set of interconnected elements is a


combinational device if
each circuit element is combinational
every node is an input to the device or
connects to exactly one output terminal
of a circuit element
the circuit contains no directed cycles

No feedback (yet!)
6.004, Fall 1999

9/9/99

Digital Abstraction 15

Noise Margins Required!


Does a wire obey the static discipline?
Vin

Vout

(marginally
valid)

(invalid!)

(noise)

No! A combinational device must restore


marginally valid signals, i.e., it must accept
marginal inputs and avoid marginal outputs
(i.e., leave room for noise).
VALID INPUT REPRESENTATIONS
Valid
0

Valid
1

Forbidden
Zone
Vol Vil

Vih Voh

volts

NOISE MARGINS
VALID OUTPUT REPRESENTATIONS
6.004, Fall 1999

9/9/99

Digital Abstraction 16

A Combinational Buffer
A simple BUFFER:

(Static) Voltage Transfer Curve


Vout
Voh
Vih
Vil
Vol
Vol Vil

Vin

Vih Voh

Static Discipline requires that we avoid


gray areas, which correspond to valid
inputs but invalid outputs. Net result:
combinational devices must have GAIN
and be NONLINEAR.
6.004, Fall 1999

9/9/99

Digital Abstraction 17

Next week:
Logic Implementation

Hey, this
is all in Ch 1
of the text!

About time!

6.004, Fall 1999

9/9/99

Digital Abstraction 18

Anda mungkin juga menyukai