CS61C Lecture 13 - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

CS61C Lecture 13

Description:

CS61C L27 Single Cycle CPU Control II (1 ) Garcia UCB. Lecturer PSOE Dan Garcia ... Single Cycle CPU Control II. DARPA $s drying up...ouch! ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 19
Provided by: JohnWaw5
Category:
Tags: cs61c | lecture | ouch

less

Transcript and Presenter's Notes

Title: CS61C Lecture 13


1
inst.eecs.berkeley.edu/cs61c CS61C Machine
Structures Lecture 28 Single Cycle CPU
Control II
Lecturer PSOE Dan Garcia www.cs.berkeley.edu/
ddgarcia
DARPA s drying upouch! ?
I'm worried and depressed, David Patterson,
president of the ACM. There is a significant
shift of from Blue Sky research to military
contractors. This is a significant shift, mostly
for the worse.
www.nytimes.com/2005/04/02/technology/02darpa.html
?
2
Review Single cycle datapath
  • 5 steps to design a processor
  • 1. Analyze instruction set gt datapath
    requirements
  • 2. Select set of datapath components establish
    clock methodology
  • 3. Assemble datapath meeting the requirements
  • 4. Analyze implementation of each instruction to
    determine setting of control points that effects
    the register transfer.
  • 5. Assemble the control logic
  • Control is the hard part
  • MIPS makes that easier
  • Instructions same size
  • Source registers always in same place
  • Immediates same size, location
  • Operations always on registers/immediates

Processor
Input
Control
Memory
Output
3
A Summary of the Control Signals (2/2)
func
10 0000
See
10 0010
We Dont Care -)
Appendix A
op
00 0000
00 0000
00 1101
10 0011
10 1011
00 0100
00 0010
4
The Single Cycle Datapath during Jump
  • New PC PC31..28, target address, 00

Instructionlt310gt
Jump
Instruction Fetch Unit
nPC_sel
Rt
Rd
lt2125gt
lt1620gt
lt1115gt
lt015gt
lt025gt
Clk
RegDst
0
1
Mux
Imm16
Rd
Rs
Rt
TA26
ALUctr
Rs
Rt
RegWr
5
5
5
MemtoReg
busA
Zero
MemWr
Rw
Ra
Rb
busW
32
32 32-bit Registers
0
ALU
32
32
busB
0
Clk
32
Mux
Mux
32
1
WrEn
Adr
1
Data In
32
Data Memory
Extender
imm16
32
16
Clk
ALUSrc
ExtOp
5
The Single Cycle Datapath during Jump
  • New PC PC31..28, target address, 00

Instructionlt310gt
Jump1
Instruction Fetch Unit
nPC_sel0
Rt
Rd
lt2125gt
lt1620gt
lt1115gt
lt015gt
lt025gt
Clk
RegDst x
0
1
Mux
Rd
Rs
Rt
Imm16
TA26
ALUctr x
Rs
Rt
RegWr 0
5
5
5
MemtoReg x
busA
Zero
MemWr 0
Rw
Ra
Rb
busW
32
32 32-bit Registers
0
ALU
32
32
busB
0
Clk
32
Mux
Mux
32
1
WrEn
Adr
1
Data In
32
Data Memory
Extender
imm16
32
16
Clk
ALUSrc x
ExtOp x
6
Instruction Fetch Unit at the End of Jump
  • New PC PC31..28, target address, 00

Jump
Instructionlt310gt
nPC_sel
Zero
nPC_MUX_sel
How do we modify thisto account for jumps?
4
00
0
PC
1
Clk
imm16
7
Instruction Fetch Unit at the End of Jump
  • New PC PC31..28, target address, 00

Jump
Instructionlt310gt
nPC_sel
Zero
  • Query
  • Can Zero still get asserted?
  • Does nPC_sel need to be 0?
  • If not, what?

nPC_MUX_sel
00
4
00
1
TA26
PC
0
4 (MSBs)
0
Clk
1
imm16
8
Build CL to implement Jump on paper now
Jump
9
Build CL to implement Jump on paper now
Inst31
Inst30
Inst29
A
Inst28
Inst27
Inst26
2-input6-bit-wide XNOR
6-inputAND
Jump
0
0
B
0
0
1
0
10
Administrivia
  • HW7 out today, due in a week

11
Review Finite State Machine (FSM)
  • States represent possible output values.
  • Transitions represent changes between
    statesbased on inputs.
  • Implement with CL andclocked registerfeedback.

12
Finite State Machines extremely useful!
  • They define
  • How output signals respond to input signals and
    previous state.
  • How we change states depending on input signals
    and previous state
  • The output signals could be our familiar control
    signals
  • Some control signals may only depend on CL, not
    on state at all
  • We could implement very detailed FSMs
    w/Programmable Logic Arrays

13
Taking advantage of sum-of-products
  • Since sum-of-products is a convenient notation
    and way to think about design, offer hardware
    building blocks that match that notation
  • One example isProgrammable Logic Arrays (PLAs)
  • Designed so that can select (program) ands, ors,
    complements after you get the chip
  • Late in design process, fix errors, figure out
    what to do later,

14
Programmable Logic Arrays
  • Pre-fabricated building block of many AND/OR
    gates
  • Programmed or Personalized" by making or
    breaking connections among gates
  • Programmable array block diagram for sum of
    products form
  • Or Programming
  • How to combine product terms?
  • How many outputs?
  • And Programming
  • How many inputs?
  • How to combine inputs?
  • How many product terms?

15
Enabling Concept
  • Shared product terms among outputs

F0 A B' C' F1 A C' A B F2 B' C'
A B F3 B' C A
example
input side 3 inputs
1 uncomplemented in term 0 complemented in
term does not participate
personality matrix
Product inputs outputs term A B C F0 F1 F2 F3AB
1 1 0 1 1 0B'C 0 1 0 0 0 1AC' 1 0 0 1 0 0
B'C' 0 0 1 0 1 0A 1 1 0 0 1
output side 4 outputs
1 term connected to output 0 no connection to
output
reuse of terms 5 product terms
16
Before Programming
  • All possible connections available before
    programming

17
After Programming
  • Unwanted connections are "blown"
  • Fuse (normally connected, break unwanted ones)
  • Anti-fuse (normally disconnected, make wanted
    connections)

18
Alternate Representation
  • Short-hand notation--don't have to draw all the
    wires
  • X Signifies a connection is present and
    perpendicular signal is an input to gate

notation for implementing F0 A B A' B' F1
C D' C' D
19
Peer Instruction
ABC 1 SRF 2 SRT 3 SEF 4 SET 5 BRF 6
BRT 7 BEF 8 BET
  • MemToRegx ALUctrsub. SUB or BEQ?
  • ALUctradd. Which 1 signal is different for all
    3 of ADD, LW, SW? RegDst or ExtOp?
  • Dont Care signals are useful because we can
    simplify our PLA personality matrix. F / T?

20
And in Conclusion Single cycle control
  • 5 steps to design a processor
  • 1. Analyze instruction set gt datapath
    requirements
  • 2. Select set of datapath components establish
    clock methodology
  • 3. Assemble datapath meeting the requirements
  • 4. Analyze implementation of each instruction to
    determine setting of control points that effects
    the register transfer.
  • 5. Assemble the control logic
  • Control is the hard part
  • MIPS makes that easier
  • Instructions same size
  • Source registers always in same place
  • Immediates same size, location
  • Operations always on registers/immediates

Processor
Input
Control
Memory
Output
Write a Comment
User Comments (0)
About PowerShow.com