234262 – © yohai devir 2007 technion - iit 234262 tutorial #6 controller + datapath part ii

12
234262 © – Yohai Devir 2007 Technion - IIT 234262 Tutorial #6 Controller + DataPath part II

Post on 21-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

234262 © – Yohai Devir 2007Technion - IIT

234262

Tutorial #6

Controller + DataPath

part II

234262 © – Yohai Devir 2007Technion - IIT

GCDa is given at the first cycle and that b is given at the following cycle

ALUOpCC

A B

234262 © – Yohai Devir 2007Technion - IIT

Other hardware

234262 © – Yohai Devir 2007Technion - IIT

DP construction

Variables…

Operations…

234262 © – Yohai Devir 2007Technion - IIT

DP flow chart (moore)(a)

A ß a

(c)

A-B

(f)

(e)

A ß A-B

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0 A-B > 0

*

234262 © – Yohai Devir 2007Technion - IIT

Switch implementation

LdA A B

ALUOpCC

In

SelB

LdB

SelA 0 1 0 1

(a)

A ß a

(c)

A-B

(f)

(e)

A ß A-B

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0 A-B > 0

234262 © – Yohai Devir 2007Technion - IIT

A B

ALUOpCC

In

SelB

LdB

SelA 0 1 0 1

Control (moore)

(a)selA=1LD_A

(c)

OP=A-B

(f)

ready

(e)Sel_A=0

LD_AOP=A-B

CC=zero

(b)Sel_B=1

LD_B

(d)Sel_B=0

LD_BOP=B-A

CC=neg CC=pos

(a)

A ß a

(c)

A-B

(f)

(e)

A ß A-B

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0 A-B > 0

Implementation – just as in tutorial 4…

234262 © – Yohai Devir 2007Technion - IIT

GCD – slower ALU

A B

ALUOpCCALU

In

SelB

LdB

SelA 0 1 0 1

CC

'0'

ReadCC

01

234262 © – Yohai Devir 2007Technion - IIT

(a)

A ß a

(c)

A-B

(f)

(e)

A ß A-B

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0 A-B > 0

(a)selA=1LD_A

(c2)CC=CC_ALU

OP=A-BreadCC = 1

(f)

ready

(e)Sel_A=0

LD_AOP=A-B

CC=zero

(b)Sel_B=1

LD_B

(d1)CC=0

OP=B-AreadCC = 0

CC=neg CC=pos

(c1)CC=0

OP=A-BreadCC = 0

(d2)OP=B-AselB=0LD_B

*

234262 © – Yohai Devir 2007Technion - IIT

DP mealy (regular ALU)

(a)

A ß a

(c)If (A-B>0)A ß A-B

(f)

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0

A-B > 0

(a)

A ß a

(c)

A-B

(f)

(e)

A ß A-B

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0 A-B > 0

*

234262 © – Yohai Devir 2007Technion - IIT

CTL mealy

(a)selA=1Ld_A

(c)OP=A-B

Sel_A = 0If (CC=pos)

LD_A

(f)

ready

CC=zero

(b)Sel_B=1

LD_B

(d)Sel_B=0

LD_BOP=B-A

CC=neg

CC = pos

(a)

A ß a

(c)If (A-B>0)A ß A-B

(f)

A-B == 0

(b)

B ß b

(d)

B ß B-A

A-B < 0

A-B > 0

*

234262 © – Yohai Devir 2007Technion - IIT

Mistake by standard notations

(a)

(c)

(f)

CC=zero

(b)

CC=neg/Sel_B=0LD_B

OP=B-ACC = pos/OP=A-B

Sel_A = 0LD_A

/selA=1Ld_A

/Sel_B=1LD_B

/ready