Our First Real System

Preview:

DESCRIPTION

Our First Real System. Review. On our way to building a computer…. Represent Info with 0’s & 1’s (aka bits). Logic Circuits: Universal Method. 0’s & 1’s. Memory Circuits. Computers. We are here. The System Clock. “500 Mhz Pentium III computer…” What does “500 Mhz” mean? - PowerPoint PPT Presentation

Citation preview

Our First Real System

ReviewOn our way to building a computer…

Computers

We are here

LogicCircuits:UniversalMethod

0’s&1’s

RepresentInfo with0’s & 1’s(aka bits)

MemoryCircuits

The System Clock

• “500 Mhz Pentium III computer…”

• What does “500 Mhz” mean?

• It refers to the speed of the System Clock. (actually this is only one of the clocks…)

• All digital systems have such “Clocks,” even traffic lights and elevator control systems.

Clocks: Some Terminology

• Think of System Clock as a heart.

• How fast it beats is measured in Hertz (Hz) which means “cycles per second”

• Prefixes:

• Kilo = 1,000

• Mega = 1,000,000

• Giga = 1,000,000,000

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

0

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

1

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

0

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

1

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

0

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

1

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

0

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

1

The System Clock (cont.)

• Rough idea: System takes a “step” every time the System Clock beats.

• We’ll see how this works in an example.

• In real life, Clock is a Quartz crystal,which sends out 0’s and 1’s on a wire.

• In every cycle, it changes from 0 to 1 and back to 0

0

Our System:A Traffic Light

A Traffic Light

• Intersection of two one-way roads

A Traffic Light

• Intersection of two one-way roads

CarSensors

B

A

Traffic Light System Clock

• Traffic Lights don’t have to act very fast.

• Let’s say the System Clock only beatsonce every 4 seconds.

• This is 0.25 Hz.

(a few Billion times slower than your PC)

Traffic Light Design

• How do we go about designing the Traffic Light?

• First, let’s think about all the possible States of the traffic light.

Traffic Light

• Intersection of two one-way roads

CarSensors

B

A

Light

A

Light B

Light

A

Light B

Possible States

Light

A

Light B

Possible States

Light

A

Light B

Possible States

Light

A

Light B

Possible States

Light

A

Light B

Actually Only 4 Possibilities

Traffic Light Design

• We figured out some possible States of the Traffic Light.

• Next, we should think logically about how the Traffic Light should behave.

• For now, we will try to keep it simple.

• (Suppose these are infrequently used country roads.)

Lig

ht

A

Light B

How should the Light behave?

CarSensors

B

A

Light

A

Light B

Traffic Light Behavior

IF A=1

AND B=0

Light

ATraffic Light Behavior

IF A=1

AND B=0

Otherwise

Light B

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

Otherwise

Light B

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

Otherwise

Light BOtherwise

IF A=0

AND B=1

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

Note:Clock beatsevery 4 sec.So Light is Yellow for

4 sec.

Light

ATraffic Light State Machine

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

Note:Clock beatsevery 4 sec.So Light is Yellow for

4 sec.

Traffic Light Design

• We’ve figured out the logical behavior of the Traffic Light in terms of a State Machine:

• We know what the states are.

• For each state, given any input,we know which state to go to next.

• How do we build it?

Traffic Light Design

• Thinking this through:

• Our machine needs to:

Traffic Light Design

• Thinking this through:

• Our machine needs to:

• Remember which state it is in (Memory)

Traffic Light Design

• Thinking this through:

• Our machine needs to:

• Remember which state it is in (Memory)

• Given the state it is in and input values, it must determine which state to go tonext (Logic)

Traffic Light Design

• Thinking this through:

• Our machine needs to:

• Remember which state it is in (Memory)

• Given the state it is in and input values, it must determine which state to go tonext (Logic)

• And that’s all !

Traffic Light Design

• Problem 1:

• Remember which state it is in (Memory)

• How do represent the states?

• We could keep one bit of memory for whether Light A is Green or not, whether it is Yellow or not, …

• This would take 6 bits of memory.

• There is a much simpler way!

Traffic Light Design

• Problem 1:

• Remember which state it is in (Memory)

• How do represent the states?

• Answer:

• Just number them (using binary numbers).

• We have 4 states.

• Call them 00, 01, 10, 11.

• We (human designers) will keep track of what these names mean.

Light

ATraffic Light States

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

Light

ATraffic Light States

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light Design

• Problem 2:

• Given the state it is in and input values, it must determine which state to go tonext (Logic)

• Answer:

Traffic Light Design

• Problem 2:

• Given the state it is in and input values, it must determine which state to go tonext (Logic)

• Answer:

• Build a Truth Table

• Use Universal Method!

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

0 0 1 0 0 1 1 0

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

0 0 1 0 0 1 1 0

0 1 * * 1 0 1 0

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

0 0 1 0 0 1 1 0

0 1 * * 1 0 1 0

1 0 0 1 1 1 0 1

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

0 0 1 0 0 1 1 0

0 1 * * 1 0 1 0

1 0 0 1 1 1 0 1

1 1 * * 0 0 0 1

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

00 01

1011

Traffic Light BehaviorBuild A Truth Table

for next state / Output

M1 M2 A B D1 D2 Light A Red Light B Red …

0 0 1 0 0 1 1 0

0 1 * * 1 0 1 0

1 0 0 1 1 1 0 1

1 1 * * 0 0 0 1

0 0 0 0 0 0 1 0

… … … … … … …

Traffic Light Design

• We understand how to represent which state the system is in (so we can store it in Memory)

• We understand how the system can determine which state to go to next (Logic)

• Let’s put it together…

Traffic Light Design

Input: Sensor A

Input: Sensor B

Traffic Light Design

2-bitMemoryRegister

Current State

Write

Sensor A

Sensor B

M1

M2

D1

D2

Traffic Light Design

2-bitMemoryRegisterWrite

Sensor A

Sensor B

Logic For

Next State

&Output 6 Outputs:

for eachLight

Current State

NextState

Traffic Light Design

2-bitMemoryRegisterWrite

Sensor A

Sensor B

Logic For

Next State

&Output 6 Outputs:

for eachLight

Current State

Traffic Light Design

2-bitMemoryRegisterClock

Sensor A

Sensor B

Logic For

Next State

&Output 6 Outputs:

for eachLight

Current State

Design for Any State Machine

MemoryRegisterClock

Inputs

Logic For

Next State

&Output Outputs

Current State

Manybits

State Machinesin Real Life

• Elevator control systems

• Car control systems

• VCR’s

• Alarm Clocks

• Personal Computers

• … Just about everything!

More Sophisticated Designs• Just add more states, more inputs, more

outputs, more rules…

• Example: Add a longer delay before Traffic Light changes from Yellow to Red. (Say 8 seconds instead of 4.)

Light

ATraffic Light Behavior

IF A=1

AND B=0

Always

IF A=0

AND B=1

Otherwise

Light BOtherwise

Always

AlwaysAlways

More Sophisticated Designs• Note that the new “delay” states we

added correspond to the SAME combinations of lights as other states (Red/Yellow).

• The purpose of the new states is only to add delays.

• Logical states need not correspond to different observable states of the machine!

More Sophisticated Designs• Can also add other State Machines!

More Sophisticated Designs• Example (Fairness):

• We might want a separate Timer machine for the Traffic Light:

• If cars keep coming, Light should decide after 3 minutes to switch lights.

• A Timer is just a state machine that keeps counting beats of the Clock

More Sophisticated Designs

Inputs Outputs

TimerState

Machine

Main StateMachine

Next Time:Computers!

State Machines that you can program

Recommended