KI N TRÚC MÁY TÍNH

Tu n 11ầ

Ộ Ử

ế

B  X  LÝ  PROCESSOR (Ti p theo)

Copyrights 2017 CE­UIT. All Rights Reserved. 1 03/2017

Ộ Ử B  X  LÝ

M c đích:

ế ự

ơ

ướ

ü Hi u c  ch  th c thi l nh và các quy

ề c v  thi

ế ế t k

ể logic ́

́

ơ ả

ộ ộ ử ệ ü Thiê t kê  Datapath v i 8 l nh c  b n cho m t b  x   ế ế

ớ lý và cách hi n th c thi

t k  này.

1. Computer Organization and Design: The Hardware/Software Interface, Patterson,

ả ừ Slide tham kh o t :

2. NUS, Singapore

D. A., and J. L. Hennessy, Morgan Kaufman,  Revised Fourth Edition, 2011.

Copyrights 2017 CE­UIT. All Rights Reserved. 2 03/2017

Ộ Ử B  X  LÝ

1. Gi

i thi u

ắ ạ

ướ

ế ế

2. Nh c l

i các quy

c thi

t k  logic

ườ

ữ ệ

ơ

3. Xây d ng đ

ng d  li u (datapath) đ n gi n

ơ

4. Hi n th c datapath đ n chu k

Copyrights 2017 CE­UIT. All Rights Reserved. 3 03/2017

ự Hi n th c datapath

1. Inputs c a kh i “Registers”, “Control” và “Sign­extend”

ớ ầ ủ ữ ệ

ố Datapath v i đ y đ  d  li u input cho t ng kh i

4 03/2017

ự Hi n th c datapath

1. Inputs c a kh i “Registers”, “Control” và “Sign­extend”

MUX  có  0  thêm   ở và  1  các  ngõ  vào ???

ớ ầ ủ ữ ệ

ố Datapath v i đ y đ  d  li u input cho t ng kh i

????

5 03/2017

ự Hi n th c datapath

ườ

v Tr

ng op (hay opcode) luôn ch a bits t

31:26.

ể ọ

ấ ả

ạ ị

v Hai thanh ghi dùng đ  đ c trong t

t c  các l nh luôn luôn là rs và rt, t

i v  trí

bits t

25:21 và 20:26.

ạ ị

ệ v Thanh ghi n n cho l nh load và store luôn là

rs và t

i v  trí bits 25:21.

ạ ị

v  16 bits offset cho beq, lw và sw thì luôn t

i v  trí 15:0.

ế

v  Các thanh ghi đích dùng đ  ghi k t qu  vào

hai v  trí: V i

ố ọ ở

ầ ử ụ

ể ự

i v  trí bits t ở ị   v   trí

ớ lw, thanh ghi đích  ở ả ớ ừ 20:16 (rt), trong khi v i nhóm l nh logic và s  h c, thanh ghi    đây  đ   l a  15:11  (rd).  Vì  v y,  m t  multiplexer  c n  s   d ng

ẽ ượ

ạ ị t đích  ọ ch n thanh ghi nào s  đ

ậ c ghi.

6

ự Hi n th c datapath

ớ ầ ủ ữ ệ

ố Datapath v i đ y đ  d  li u input cho t ng kh i

7 03/2017

ự Hi n th c datapath

2. Kh i “ALU Control”

????

8 03/2017

ự Hi n th c datapath

ủ ứ ự ề ể ầ ộ ồ B  ALU c a MIPS g m 6 ch c năng tính toán d a trên 4 bits đi u khi n đ u vào:

ộ ứ ệ ệ ầ

ầ ẽ ẽ ự Tùy thu c vào t ng nhóm l nh mà ALU s  th c hi n 1 trong 5 ch c năng đ u (NOR s   ượ đ ừ c dùng cho các ph n khác)

v V i  các  l nh  ị

ử ụ ứ ớ load  word  và  store  word,  ALU  s   d ng  ch c  năng ể ‘add’  đ   tính

v V i các  l nh thu c

ệ ỉ ủ ộ toán đ a ch  c a b  nh ệ ớ ự ộ nhóm logic và s  h c

ị ủ ườ ộ ố ọ , ALU th c hi n 1 trong 5 ch c năng  ệ ng

ứ (AND,  OR,  subtract,  add,  và  set  on  less  than),  tùy  thu c  vào  giá  tr   c a  tr funct (6 bits) trong mã máy l nh.ệ

ự ứ ệ ề ằ ,  ALU  th c  hi n  ch c  năng ể ‘subtract’  đ   xem  đi u

ớ ệ v V i  l nh  ằ ệ ế ả nh y  n u  b ng khi n b ng có đúng không.

Copyrights 2017 CE­UIT. All Rights Reserved. 9 03/2017

ự Hi n th c datapath

ể ư ậ ự ệ ể ể ố

ộ ề ể

ủ ừ ườ  tr

ờ ự ể ng  ể ừ ề ố ồ funct c a mã máy, đ ng th i d a vào 2 bits   kh i “Control” đ  sinh ra output là 4 bits đi u khi n ALU, theo

ượ ư ả ử ộ Nh  v y, đ  sinh ra 4 bits đi u khi n ALU, m t trong s  các cách hi n th c có th  là s   ố ề ụ d ng thêm m t kh i đi u khi n “ALU Control” ậ “ALU Control” nh n input là 6 bits t “ALUOp” đ c sinh ra t ắ quy t c nh  b ng sau:

ộ ợ ự ể ề ể ườ ườ M t g i ý đ  sinh ra 4 bits đi u khi n ALU d a vào tr ng “opcode” và tr ng “funct”

ủ c a mã máy.

Copyrights 2017 CE­UIT. All Rights Reserved. 10 03/2017

ự Hi n th c datapath

ả ự ậ ạ ộ ừ ả ắ ố ự ậ g i ýợ  cho kh i “ALU Control”

B ng s  th t: T  quy t c ho t đ ng, b ng s  th t  nh  sauư

Copyrights 2017 CE­UIT. All Rights Reserved. 11 03/2017

ự Hi n th c datapath

ể 3. Kh i  đi u khi n chính “Control”

???

12 03/2017

ự Hi n th c datapath

ở ứ

ở ứ

ộ Tác đ ng khi

m c

ộ Tác đ ng khi

m c cao

ệ Các tín hi u đi u  khi nể

th pấ

ẽ ừ

Thanh ghi đích cho thao tác ghi s  t

thanh ghi

rd (bits t

15:11)

RegDst

ẽ ừ

Thanh ghi đích cho thao tác  rt (bits t ghi s  t  thanh ghi  20:16)

ẽ ự

RegWrite

ố ệ

ứ c đ a vào t

ỉ ự Kh i “Registers” ch  th c  ọ ứ ỗ hi n m i ch c năng đ c  thanh ghi

ừ ượ ấ ừ c l y t

ệ ọ Ngoài ch c năng đ c, kh i “Register” s  th c hi n thêm ch c năng  ỉ ố ượ ư ượ c ghi là thanh ghi có ch  s  đ  ngõ  ghi. Thanh ghi đ ữ ệ “Write register” và d  li u dùng ghi vào thanh ghi này đ   ngõ “Write data”

ế ừ

ế ừ

ALUSrc

Input th  hai cho ALU đ n t

ố  output c a kh i “Sign­extend”

Input th  hai cho ALU đ n t “Read data 2” c a kh i  “Registers”

ế ệ

Branch

t l nh n p vào không

ớ ế

ế

ị ệ

Cho bi ả ph i “beq”. Thanh ghi PC  ị ậ nh n giá tr  là PC + 4

ế ả ủ ộ ộ

ế ợ ệ L nh n p vào là l nh “beq”, k t h p v i đi u ki n b ng thông qua  ỉ ị ệ ổ c ng AND nh m xác đ nh xem l nh ti p theo có nh y đ n đ a ch   ị ớ ừ ằ ệ ớ m i hay không. N u đi u ki n b ng đúng, PC nh n giá tr  m i t   ế k t qu  c a b  c ng “Add”

MemRead

(Không)

ọ ượ ư

ọ ữ ệ  ngõ “Address” và n i dung đ c đ

ệ ự ừ c đ a vào t

c

ố ệ ầ ấ

ỉ ữ Kh i “Data register” th c hi n ch c năng đ c d  li u. Đ a ch  d   ọ ượ li u c n đ c đ xu t ra ngõ “Read data”

MemWrite

(Không)

ữ ệ ộ

ượ ư

ệ ừ

ự c đ a vào t

ố ỉ ữ Kh i “Data register” th c hi n ch c năng ghi d  li u. Đ a ch  d   ệ ầ li u c n ghi đ  ngõ “Address” và n i dung ghi vào  ấ ừ l y t

ngõ “Write data”

ị ư

ế ừ ố

ị ư

MemtoReg

Giá tr  đ a vào ngõ “Write data” đ n t

kh i “Data memory”

Giá tr  đ a vào ngõ “Write  data” đ n t

ALU ộ

ế ừ Tác đ ng c a các tín hi u đi u khi n

13 03/2017

ự Hi n th c datapath

ể ươ ứ

ớ ỗ ệ

ư

ệ Giá tr  các tín hi u đi u khi n t

ng  ng v i m i l nh nh  sau:

ậ ố Kh i “Control” trong datapath nh n input là 6 bits t

ể ượ ự ệ ng “opcode” c a  ươ ứ mã máy, d a vào đó các tín hi u đi u khi n đ ừ ườ  tr c sinh ra t ủ ư ng  ng nh

ề b ng.ả

Copyrights 2017 CE­UIT. All Rights Reserved. 14 03/2017

ự Hi n th c datapath

ự ậ

B ng s  th t kh i “Control”:

ự ậ ả ố B ng s  th t kh i “Control”

Copyrights 2017 CE­UIT. All Rights Reserved. 15 03/2017

ự Hi n th c datapath

ể 3. Kh i  đi u khi n chính “Control”

???

16 03/2017

ự Hi n th c datapath

ể 3. Kh i  đi u khi n chính “Control”

17 03/2017

ự Hi n th c datapath

ự ộ ử

ơ

v Hi n  th c  b   x   lý  đ n  chu  k

ộ ử ỏ

ệ ỳ

ỗ ả ằ

ủ ệ

ệ ờ

ỳ (Single­cycle  implementation  hay  single  clock  cycle  implementation):    là  cách  hi n  th c  sao  cho  b   x   lý  đáp  ng   đòi h i chu k  xung  th c thi m i câu l nh ch  trong 1 chu k  xung clock  clock ph i b ng th i gian c a l nh dài nh t.

v

ộ ử

ư

ơ ự đ n  chu

Cách  hi n th c  b  x  lý nh   đã trình  bày trên  là cách hi n th c  kỳ:

L nh dài nh t là

ệ ồ ấ

ở ạ i “Registers”, trong khi các l nh khác không đòi h i t

ạ ệ ả ằ ỏ ấ ự ế ế ờ ỳ lw, g m truy xu t vào “Instruction memory”, “Registers”, “ALU”,  t  t  k   ph i  b ng  th i  gian  th c  thi   chu  k   xung  clock  thi

ơ

ự ộ ử

ấ ấ

ư

ệ ự

ớ ệ

lw. ấ “Data memory” và quay tr  l ả c   các  công  đo n  trên  l nh ệ

ượ ử ụ

c s  d ng (ho c

i không còn đ

ỳ ệ ạ ậ ệ

ỳ v M c dù hi n th c b  x  lý đ n chu k  có CPI = 1 nh ng hi u su t r t kém,  ệ vì m t chu k  xung clock quá dài, các l nh ng n đ u ph i th c thi cùng th i  ấ gian v i l nh dài nh t.  Vì v y, ậ Hi n th c đ n chu k  hi n t ệ ự ơ ậ ể ấ ch  có th  ch p nh n cho các t p l nh nh )

Copyrights 2017 CE­UIT. All Rights Reserved. 18

ỉ 03/2017

Xem l

ớ ừ i Datapath v i t ng nhóm l nh

ườ

ườ

ạ ộ

Các đ

ng đ  là các đ

ng ho t đ ng khi l nh thu c

ố ọ  th c thi

ộ nhóm logic và s  h c 19

03/2017

Xem l

ớ ừ i Datapath v i t ng nhóm l nh

ườ

ườ

ạ ộ

Các đ

ng đ  là các đ

ng ho t đ ng khi l nh

ự lw th c thi

20 03/2017

Xem l

ớ ừ i Datapath v i t ng nhóm l nh

ườ

ườ

ạ ộ

Các đ

ng đ m nét  (đ ) là các đ

ng ho t đ ng khi l nh

ự sw th c thi 21

03/2017

Xem l

ớ ừ i Datapath v i t ng nhóm l nh

ườ

ườ

ạ ộ

Các đ

ng đ m nét  (đ ) là các đ

ng ho t đ ng khi l nh

ự beq th c thi 22

03/2017

Ộ Ử B  X  LÝ

ơ ả

ế ỉ

T ng k t: Hoàn ch nh datapath cho 8 l nh c  b n:

• add, sub, and, or, slt

• lw, sw

• beq

ơ ả

ố ự Hi u  cách  hi n  th c  các  kh i  ch c  năng  c   b n  trong  datapath (kh i Control, kh i ALU Control)

23

03/2017

Copyrights 2017 CE­UIT.  All Rights Reserved.

Ộ Ử B  X  LÝ

ả ọ v Lý thuy t: Đ c sách tham kh o

ế ụ • M c: 4.4

Sách: Computer Organization and Design:  The Hardware/Software Interface,  Patterson, D. A., and J. L. Hennessy,  Morgan Kaufman,  Revised Fourth Edition,  2011.

v Bài t p: ậ file đính kèm

03/2017

Copyrights 2017 CE­UIT. All Rights Reserved.

24