State Machines/Memory Slides

advertisement
Overview
• Finite State Machines
- Sequential circuits with inputs and outputs
• State Diagrams
- An abstraction tool to visualize and analyze sequential circuits
• Internal Memory
- Random Access Memory (RAM)
- Volatile – values lost on power loss
- Static RAM (SRAM)
- Dynamic RAM (DRAM)
- Read Only Memory (ROM)
Combinational vs. Sequential Logic
• There are two types of “combination” locks
30
4 1 8 4
25
5
20
10
15
Combinational:
Success depends only on
the values, not the order in
which they are set.
Sequential:
Success depends on
the sequence of values
(e.g, R-13, L-22, R-3).
Combinational vs. Sequential Circuits
• Combinational Circuit
– always gives the same output for a given set of inputs
• example: adder always generates sum and carry,
regardless of previous inputs
• Sequential Circuit
– has memory - “stores” information,
– output depends on stored information (state) plus input
• so a given input might produce different outputs,
depending on the stored information
State Machine
• A type of sequential circuit
– Combines combinational logic with storage
– “Remembers” state, and changes output (and state)
based on inputs and current state
State Machine
Inputs
Combinational
Logic Circuit
Storage
Elements
Outputs
State
• The state of a system is a snapshot of all the relevant
elements of the system at the moment the snapshot is
taken.
•Examples:
– The state of a basketball game can be represented by
the scoreboard.
(Number of points, time remaining, possession, etc.)
– The state of a tic-tac-toe game can be represented by
the placement of X’s and O’s on the board.
State of Sequential Lock
Our lock example has four different states,
labelled A-D:
A: The lock is not open,
and no relevant operations have been performed.
B: The lock is not open,
and the user has completed the R-13 operation.
C: The lock is not open,
and the user has completed R-13, followed by L-22.
D: The lock is open.
Finite State Machine
•
A description of a system with the following
components:
1.
2.
3.
4.
5.
A finite number of states
A finite number of external inputs
A finite number of external outputs
An explicit specification of all state transitions
An explicit specification of what determines each external
output value
•
Often described by a state diagram.
- The set of all possible states.
- Inputs that trigger state transitions.
- Outputs associated with each state (or with each
transition).
State Diagram
• Shows states (e.g. A), actions (e.g. B) that cause a transition
between states, and the outputs.
Locked
Open
Locked
Locked
The Clock
• Frequently, a clock circuit triggers transition from
one state to the next.
“1”
“0”
One
Cycle
time
• At the beginning of each clock cycle, the state machine
makes a transition, based on the current state and the
external inputs (Synchronous).
– Not always required. In lock example, the input
itself triggers a transition (Asynchronous).
Implementing a Finite State Machine
• Combinational logic
– Determine outputs at each state.
– Determine next state.
• Storage elements
– Maintain state representation.
State Machine
Inputs
Clock
Combinational
Logic Circuit
Storage
Elements
Outputs
Storage
• Each D flipflop stores one state bit.
• The number of storage elements (flipflops) needed
is determined by the number of states
(and the representation of each state).
• Examples:
– Sequential lock
• Four states – two bits
– Basketball scoreboard
• 7 bits for each score digit, 5 bits for minutes, 6
bits for seconds,1 bit for possession arrow, 1 bit
for half, …
Complete Example – Traffic Sign
• Design a “blinking” traffic sign which exhibits this behavior:
State 1) No lights on
State 2) 1 & 2 on
State 3) 1, 2, 3, & 4 on
State 4) 1, 2, 3, 4, & 5 on
State 1) No lights on





.
.
( - Repeat as long as operate
switch is turned on.
- The system is in state 1 when
the operate switch is off)
3
4
1
5
2
DANGER
MOVE
RIGHT
Traffic Sign State Diagram
Switch off
State bit S1
State bit S0
State Transitions occur on each clock cycle.
Switch on
Outputs
Traffic Sign Truth Tables
Outputs
(depend only on state: S1S0)
Next State: S1’ S0’
(depend on state and input)
Switch
Lights 1 and 2
Lights 3 and 4
Light 5
S1
0
0
1
S0
0
1
0
Z
0
1
1
Y
0
0
1
X
0
0
0
1
1
1
1
1
In S1 S0 S1 S0
0
1
1
1
X
0
0
1
X
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
Whenever In=0, next state is 00.
Traffic Sign Combinational Logic
Edge Triggered
D flipflops
Another Example of a State Machine
Digital Computer “States”:
1.
Fetch Instruction
1.
Fetch Operand(s)
1.
Execute Operation
1.
Store Result
1.
Check for Interrupt
2. Go to 1.
Computer
Memory
Computer Memory Hierarchy
Main Memory
• Address Space
– The number of uniquely addressable memory locations
• Addressability
– The number of bits stored at an addressable location
• Unit of Transfer
– The number of bits transferred in a memory read or write
{could be the “addressability” or a multiple of it,
i.e. the addressability could be
– an 8 bit byte, or
– a 32 bit word (4 bytes) }
Basic Types of Memory
Two basic kinds of RAM (Random Access Memory)
• Static RAM (SRAM)
– fast, maintains data as long as power applied
• Dynamic RAM (DRAM)
– slower but denser, bit storage decays – must be
periodically refreshed. Refreshing interferes with
regularity of execution of instruction stream.
Also, non-volatile memories: ROM, PROM, flash, …
Memory Map
00
01
02
03
.
.
FF
00000000
01010101
11001010
00011001
.
.
11001100
What is the Address Space of this memory?
What is the Word Length of this memory?
What is the Unit of Transfer of this memory?
Memory Organization
• What would a 1 word by 1 bit memory look like?
– How could data be stored in it?
– How could data be read from it?
• What would a 1 word by 2 bit memory look like?
– How could data be stored in it ?
– How could data be read from it ?
• What would a 2 word by 1 bit memory look like?
– How could data be stored in it ?
– How could data be read from it ?
22 x 3 Memory Organization
address
word select
write
enable
address
decoder
output bits
word WE
input bits
22 x 3 Memory – 1 Decoder, 3 Multiplexors
22 x 3 Memory – Read of Word at Address 11
Memory Design – 1K x 4
A[09:00] 
Addr Block Select

  D[03:00]
Memory Design – 1K x 8
D[07:04]
D[03:00]
A[09:00] 
A[09:00] 

D[07:04]
Addr Block Select =>

D[03:00]
Addr Block Select =>
Memory Design - 2k x 8
D[07:04]
Block 01
Block 00
D[03:00]
Memory Design - 4k x 8
D[07:04]
Block 11
Block 10
Block 01
Block 00
D[03:00]
Download