Download as pdf or txt
Download as pdf or txt
You are on page 1of 91

Kien Truc may tnh

Chng 1: ai cng

AI CNG
Cac the he may tnh Phan loai may tnh Thanh qua cua may tnh Thong tin va ma hoa thong tin

Chng1

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

I.1 - CAC THE HE MAY TNH 1. The he may tnh c kh

o C kh hoan toan: Cac banh rang, truc quay, ... o Tnh: Cong tr (ve sau: Nhan chia) Pascal, Leibniz, Babbage, Atanasoff Horward Aiken xay dng Mark2 bang r-le o en ien t xuat hien o May tnh Analog (1938): Giai cac phng trnh vi phan o ENIAC (Electronic Numerial Integrator and Computer)
18.000 en ien t 1.500 rle Cong suat tieu thu 150KW/h, dai 30m, cao 2.8m, nang 30 tan 20 thanh ghi 10 bit

2. The he th nhat (1938-1953)

von Neumann e xuat

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

Memory

Control unit

Arithmetic logical unit


Accumulator

Input Output

May tnh von Neumann ban au


ThS. Nguyn Ha Duy Khang - 2007

1950-1959: may UNIVAC cua Ecker/Mauchley va IBM 701 c ban tren th trng
3

Kien Truc may tnh o

3. The he th hai (1952-1963)


Transistor (phat minh 1948) c ng dung e thay the cac en ien t, kch thc may tnh giam lai 1961: Hang DECgii thieu may mini au tien PDP-1 gia 12000USD. Cac sinh vien a lap trnh tro chi chien tranh vu tru Tro chi video au tien tren the gii, tren man anh (512x512). IBM 7090 7094 manh nhat the gii luc bay gi.

Chng 1: ai cng

o o

Ngon ng cap cao xuat hien: FORTRAN (1956), COBOL (1959), ALGOL (1960) ThS. Nguyn Ha Duy Khang - 2007

May PDP-1
4

Kien Truc may tnh

Chng 1: ai cng

IBM 7090
May IBM 7090 manh nhat the gii vao cuoi thap nien 50 Nam 1964, hang CDC gii thieu may 6600, nhanh hn ca IBM 7094
ThS. Nguyn Ha Duy Khang - 2007 5

Kien Truc may tnh

4. The he th ba (1962-1975)

Chng 1: ai cng

o Xuat hien mach tch hp IC(Integrated Circuit)

SSI (Small Scale Integration): cha hang chuc linh kien MSI (Midium Scale Integration): cha hang tram linh kien

o May tnh gon hn, nhanh hn va re hn dung Transistor o Bo nh ban dan thay dan bo nh xuyen t (trong may CDC 7600) o He ieu hanh chia thi gian c s dung
IBM System/360 Model 91

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

5. The he th t (1972 - nay)

Chng 1: ai cng

o Dung Vi mach co o tch hp cao LSI va rat cao VLSI (Very Large Scale Integration), cha vai nghn en vai trieu linh kien. o Microprocessor ngay cang manh hn, bo nh ban dan, bo nh Cache va bo nh ao c dung o Ky thuat ong dan (Pipeline) va X ly song song khong ngng cai tien o Gia thanh giam

Personal Computer

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

6. Khuynh hng hien tai


o Tang cng mat o tch hp (2X trong 18 thang) o X ly song song (t vai bo en vai nghn bo x ly) o May tnh thong minh nhan tao? o THE HE MAY TNH TNG LAI ?

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

I.2 PHAN LOAI MAY TNH


Da vao tnh nang ky thuat, lnh vc ng dung va gia tien e phan loai may tnh.
Loai May tnh vi tnh May tnh mini Sieu may tnh mini Mainframe Supercomputer May IBM PS/2 PDP-11/84 SUN-4 IBM 3090/300 Cray 2 ng dung X ly t Real time control May chu Ngan hang D bao thi tiet Gia thanh (USD) Tram ngan Chuc tram ngan Tram ngan trieu Trieu Chuc trieu

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

Earth Simulator
Supercomputer Top 1 - July 2002

Based on the NEC 16GB shared memory Total of 5104 processors 2 ns cycle time 40 TFlop/s peak 10 TB memory. 700 TB disk space Area of computer = 4 tennis courts, 3 floors

ThS. Nguyn Ha Duy Khang - 2007

10

Kien Truc may tnh

1988 Computer Food Chain

Chng 1: ai cng

Mainframe Work- PC Ministation computer

Supercomputer

Minisupercomputer

Massively Parallel Processors


ThS. Nguyn Ha Duy Khang - 2007 11

Kien Truc may tnh

Chng 1: ai cng

Minisupercomputer Massively Parallel Processors

Minicomputer

1998 Computer Food Chain

Mainframe Server Supercomputer


ThS. Nguyn Ha Duy Khang - 2007

Work- PC station

Now who is eating whom?


12

Kien Truc may tnh

Chng 1: ai cng

I.3 THANH TU MAY TNH Microprocessor Capacity


100000000

Graduation Window
10000000

Moores Law
1000000 i80386 100000 i80286

Pentium i80486

Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million CMOS improvements: Die size: 2X every 3 yrs Line width: halve / 7 yrs

i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000

Intel Pentium 4 Cha 42 trieu transistors Toc o 2.4 GHz

ThS. Nguyn Ha Duy Khang - 2007

13

Kien Truc may tnh

Chng 1: ai cng

Intel Pentium 4
2.4GHz, 42M, 0.13

ThS. Nguyn Ha Duy Khang - 2007

14

Kien Truc may tnh


size

Chng 1: ai cng

Memory Capacity (Single Chip DRAM)


1000000000 100000000

10000000

1000000

100000

10000

1000 1970 1975 1980 1985 Year 1990 1995 2000

year 1980 1983 1986 1989 1992 1996 2000 Capacity Logic DRAM Disk 2x in 3 years 4x in 3 years 4x in 3 years

size(Mb) cyc time 0.0625 250 ns 0.25 220 ns 1 190 ns 4 165 ns 16 145 ns 64 120 ns 256 100 ns

Speed (latency) 2x in 3 years 2x in 10 years 2x in 10 years


15

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 1: ai cng

ThS. Nguyn Ha Duy Khang - 2007

16

Kien Truc may tnh

Chng 1: ai cng

ThS. Nguyn Ha Duy Khang - 2007

17

Kien Truc may tnh

Chng 1: ai cng

I.4 THONG TIN VA MA HOA THONG TIN 1.4.1. Khai niem


Hieu the Vt2 VH

Vt1 t1 t2

VL Thi gian

Thi iem t1: ien ap thap mc 0 Thi iem t2: ien ap cao mc 1
ThS. Nguyn Ha Duy Khang - 2007 18

Kien Truc may tnh

Chng 1: ai cng

1.4.2. Lng thong tin va ma hoa thong tin


o o Thong tin c o bang n v thong tin, goi la bit nh ngha: I: lng thong tin N: so trang thai o

I = log2 ( N )

V du: 3 bit thong tin bieu dien 8 trang thai co the co

N = 2I
Trang thai 0 1 2 3 X2 0 0 0 0 X1 0 0 1 1 X0 0 1 0 1 Trang thai 4 5 6 7 X2 1 1 1 1 X1 0 0 1 1 X0 0 1 0 1
19

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh o o

1.4.3. Bieu dien cac so

Chng 1: ai cng

Dung so nh phan phu hp trang thai hoat ong cua may tnh 4 so nh phan (Bin.) bieu dien thanh 1 so thap luc phan 1 byte (8 bit) bieu dien: (Hex.) Binary Hex. Binary Hex. 0-255
0000 0001 0010 0011 0100 0101 0110 0111 1000 0 1 2 3 4 5 6 7 8 1001 1010 1011 1100 1101 1110 1111 10000 10001 9 A B C D E F 10 11

1 t (32 bit) bieu dien: 0 - 4294967295 Boubeword (64 bit)

018446744073709551616 Mot so nh phan n bit tng ng so thap phan:

N = d i 2i
i =0
20

n 1

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

1.4.4. Bieu dien so nguyen co dau


dn-1 dn-2 dn-3 ... ... ... ... d2 d1 d0

Chng 1: ai cng

Dung bt cao nhat e bieu dien dau: 0 dng; 1 am

bit dau V du:

tr so 0 1 0 0 1 0 0 1 = +73 1 1 0 0 1 0 0 1 = -73

a. Bieu dien bang tr tuyet oi va dau


o o o o bit dn-1 la bit dau, t d0 -dn-2 la gia tr tuyet oi cua so bieu dien N bit bieu dien c t (2N-1-1) en +(2N-1-1)
n2 V du: 1 byte (N=8) bieu dien d n1 c t 127 i en + 127

Thap phan tng ng: Co 2 cach bieu dien so 0

N = (1)

d 2
i =0 i

V du : 0000 0000 ThS. Nguyn Ha Duy Khang - 2007

(+0) va 1000 000 (-0)

21

Kien Truc may tnh o o

b. Bieu dien bang so bu 1

Chng 1: ai cng

So am N co c bang lay bu 1 so dng N. Bu 1: bit 1 thay bang bit 0 va ngc lai


V du: 0 1 0 0 1 0 0 1 = + 73 1 0 1 1 0 1 1 0 = -73

c.

Mot byte cho phep bieu dien cac so: t 127 (1000 0000) en +127 (0111 1111) o Co 2 cach bieu dien so 0, v du 0000 0000 (+0) va 1111 1111 (0)dien bang so bu 2 Bieu o o o o o So bu 2 = bu 1+ 1. Mot t N bit bieu dien c t (2N-1) en (2N-1+1).
V du: 1 byte bieu dien 128 en 127

N = (1) So thap phan tng ng:

d n1

i d 2 i i =0

n2

Co 1 cach bieu dien so 0 o la moi bit eu bang 0.


22

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh


V du: 10110111 la mot so am

Chng 1: ai cng

= 01001000+ 1 0 1 0 0 1 0 0 1 = 73 Do o so am ban au phai la -73

d. Bieu dien bang so tha K


o o So am N cua so dng +N co gia tr la K-N K c chon sao cho tong cua K va mot so am bat ky luon dng

e. So sanh cac cach bieu dien


o o o

Bu 2: Dung nhieu do khong can thuat toan ac biet va de phat hien trng hp b tran. Bu 1 va Tr tuyet oi: Bat li do co 2 cach bieu dien so 0 So tha K: Dung cho so mu cua cac so co dau cham ong
23

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh o

1.4.5. Bieu dien so vi dau cham ong


Bieu dien gan ung cac so thc bang:

Chng 1: ai cng

Phan dau Phan nh tr dang (1,f) vi so 1 an va f la so le Phan so mu

V du: Bieu dien so co dau cham ong chnh xac kep vi 64 bit:
63 62 52 51 50 1 0

Chuan IEEE 754

f1

f2

... 52 bit so le

f51 f52

11 bit so mu 1 bit dau

Tng ng so thc: (-1)S*(1,f1 f2 f52 )*2(E-1023) Nhan xet: So mu dang tha K=1023 nen so mu thc thay oi t 1023 en +1023 o Bieu dien so co dau cham ong chnh xac n 32 bit can: 1 bit dau, 8 bit so mu, so tha K=127 va 23 bit phan so le
24

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh Chng 1: ai cng V du: Bieu dien so thc 20.59375 vi o chnh xac kep
20/2 10/2 5/2 2/2 1/2 0 = 10 d =5 d =2 d =1 d =0 d End 0 0 1 0 1 0.59375 * 2 = 1.1875 0.1875 * 2 = 0.375 0.375 * 2 = 0.75 0.75 * 2 = 1.5 0.5 * 2 = 1.0 0 End 1 0 0 1 1

(20.59375)10 = (10100. 10011)2 = (1.0100 10011*24)2


(-1)S* (1, f1 f2 f52)*2(E-1023) = (1.0100 10011*24)2 S=0; f1 f2 f52 = 0 1 0 0 1 0 0 1 1 0 0 0 0; E=1027 = (10000000011)2

Bieu dien: 0 10000000011 - 010010011 0 0


52 bit

ThS. Nguyn Ha Duy Khang - 2007

25

Kien Truc may tnh

1.4.5. Bieu dien so vi dau cham ong (tiep)


64 bit:

Chng 1: ai cng

oi t cach bieu dien so cham ong nh phan sang so thap phan 63 62 52 51 50 1 0


S E f1 f2 ... 52 bit so le f51 f52 11 bit so mu 1 bit dau

n 52 S i N = (1) * 1 + f i 2 * 2 Vi = E - 1023 i =1 n 23 S 32 bit: N = (1) * 1 + f i 2 i * 2 Vi = E - 127 i =1

V du: 00

S=0

0100000000110100100110
E=1027 =E-1023=4 i= 2 5 8 9

ThS. Nguyn Ha Duy Khang - 2007

Thap phan: N = (-1)0*(1+2-2+2-5+2-8+2-9)*24 = 24+22+2-1+2-4+2-5 = 20.59375

26

Kien Truc may tnh

1.4.6. Bieu dien cac so thap phan

Chng 1: ai cng

Ngi ta thng dung cach bieu dien so thap phan ma hoa theo so nh phan BCD (Binary Coded Decimal). Moi so thap phan c ma hoa bang nhom 4 bit nh phan nh sau:
Dec. 0 1 2 3 4 Binary 0000 0001 0010 0011 0100 Dec. 5 6 7 8 9 Binary 0101 0110 0111 1000 1001

1.4.7. Bieu dien cac ky t


Dung bang ma ASCII (American Standard Codes for Information Interchange) e bieu dien cac ky t.
V du: A (0100 0001)2
ThS. Nguyn Ha Duy Khang - 2007

9 (0011 1001 )2
27

Kien Truc may tnh


1.

BAI TAP

Chng 1: ai cng

Gia s tai thi iem nam 2002 ta co cac thong tin sau: Toc o CPU: 2.4 GHz, tch hp 42 trieu transistor DRAM 512 MB, toc o 80 ns a cng 64 GB, toc o 7200 vong/phut ( 12 ms) Anh ch hay d oan xem trong 10 nam ti (2012) cac thong so tren se la bao nhieu? Da theo lch s phat trien cua may tnh, anh ch hay chng minh rang the he may tnh cho tng lai khong the trong cay vao kha nang tch hp cua cong nghe VLSI. Hay bieu dien so nh phan tng ng cho so thap phan 202 bang: Kieu tr tuyet oi va dau Kieu so bu 1 Kieu so bu 2 Bieu dien so nh phan tng ng vi so thap phan 202.125 theo chuan IEEE 754 vi: Kieu dau cham ong co o chnh xac kep 64 bit Kieu dau cham ong co o chnh xac n 32 bit Cho so Hex sau: C046000 H. Xac nh so thap phan tng ng neu so nay bieu dien cho: So nguyen: Khong dau, Co dau, Bu 1, Bu 2 Kieu dau cham ong co o chnh xac n 32 bit theo chuan IEEE754 Bieu so thap phan (15.25) va ( 7.525) thanh kieu dau cham ong co o chnh xac n 32 bit theo chuan IEEE754. Kiem chng ket qua bang cach oi ngc lai t nh phan sang thap phan

2. 3.

4.

5.

6.

ThS. Nguyn Ha Duy Khang - 2007

28

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

Chng 2

KIEN TRUC PHAN MEM BO X LY


Thanh phan c ban cua may tnh nh ngha kien truc may tnh Cac kieu thi hanh lenh Kieu kien truc thanh ghi a dung Cac kieu nh v Loai va chieu dai toan hang Cac loai tac vu thi hanh lenh Kien truc CISC va RISC Kieu nh v cua bo x ly RISC Tap lenh Ngo g n ng g cap cao va NN. may

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

1. Thanh phan c ban cua mot may tnh


ieu khien Tnh T h toan & luan ly Thanh ghi CPU Bo nh nh trong Ngoai Ngoa i vi
Bus a ch Bus d lieu Bus ieu khien

Giao dien mang mang

Cau truc mot may tnh n gian

Bo nh nh trong: Dung Dung RAM (Random Access Memory) ch cha a ma ma lenh va so lieu. Bo x ly trung tam (CPU): Lay lenh va so lieu t bo nh trong va thi h hl hanh lenh o nh h bo b ALU (A (Arithmetic ith ti and dl logic i unit) it) k ket h hp vi i cac thanh ghi. Bo ieu khien trong CPU am bao tuan t thi hanh lenh Bo phan vao ra: Giao tiep ngi dung qua ban phm, chuot, man hnh, may in,bo nh ngoai (a t), mang...
2

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly


CPU Cache Bus he thong (CPU Bo nh trong) Bo tao thch ng Bo nh trong

Cac Ca c bo phan c c noi noi vi nhau qua he thong bus gom bus ieu khi n, bus khie b a ch h va bus d lieu. Bus he thong: thong: e e trao oi thong tin gia CPU va bo nh trong thong qua Cache Bus vao ra: e trao i tho o th ng tin ti gia i cac bo phan vao ra va bo nh trong.

Bus vao ra K vao-ra K vao-ra K vao-ra

a t

Man hnh

Mang

S o hoat ong ien hnh cua may tnh


3

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

2. nh ngha kien truc may tnh


Kien truc phan mem: Chu yeu la kien truc phan mem cua bo x ly, x ly, go gom m tap lenh, ca cac c kie kieu u nh v va tap thanh ghi (e cap chng nay) To chc To chc ma may y tnh: Lien Lien quan en cac van e ve cau truc ben trong cua bo x ly, cau truc bus bo nh bus, nh, ... (e (e cap chng tiep theo) Lap at phan cng: Lap rap cac bo phan chc cac chc na nang ng (Khong (Khong e cap giao trnh nay).

To chc

Lap at

Kien Kie n truc truc phan mem Kien truc may tnh

Lu y: Nhieu may tnh co cung cau truc phan mem nhng to chc va lap at co the khac xa nhau.
ThS. Nguyn Ha Duy Khang - 2007 4

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

3. Cac kieu thi hanh lenh


Ma tac vu Toan hang 1 Toan hang 2

...

Toan hang n

Dang lenh tong quat

So toan hang: Phu thuoc so mach tnh toan trong bo x ly V du: tnh A+B+C+D
- Co Co 3 ma mach ch cong: - Co 1 mach cong: ADD ADD ADD ADD A, B, C, D A,B A,C A,D ; 1 lenh ; A=kq, lenh 1 ; A=kq, lenh 2 ; A=kq, lenh 3

V t tr t toan h hang: Nga N n xep, th thanh h ghi hi tch t h luy l va thanh th h ghi hi a d dung
V tr T.hang Ngan xep Bo x ly B5500, HP 3000/70 So phep tnh V tr ket qua 0 1 2 hay 3 Ngan xep Reg tch luy Cach thc Push/pop Ghi oc Reg

Reg tch luy PDP8, Motorola 6809 Reg a du dung ng IMB360, IMB360 DEC DEC, VAX
ThS. Nguyn Ha Duy Khang - 2007

Reg or bo nh nh Ghi oc oc Reg/M


5

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

3. Cac kieu thi hanh lenh (tiep)


Kien truc ngan xep PUSH A PUSH B ADD POP C ; C= ket qua Kien truc Reg tch luy LOAD A ADD B STORE C Kien truc Reg a dung LOAD R1, A ADD B B, R1 STORE R1, C

T h C Tnh C= A A+B B th theo 3 ki kieu ki kien t truc Loai kien truc


N n xep Nga Thanh ghi tch luy luy Thanh ghi a dung a chuong do truy cap nhanh hn bo nh

Li iem
- Le L nh ngan - t ma may - Lenh ngan - To T i thi thieu t trang th thai i - Kieu tong quat e tao cac ma lenh hu hieu

Bat li
- Stack St k kho kh ng ngau nhie hi n - Ma khong hieu qua - Lu Reg la tam thi - Trao T o i b bo nh h nhie hi u - Lenh dai

S sanh 3 ki So kieu ki kien truc


6

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

4. Kieu kien truc thanh g ghi a dung


Neu lenh co tnh toan tren ALU, can lu y 2 van e: Mot lenh ALU phai co 2 hay 3 toan hang o o Neu co 3 toan hang th mot dung e cha ket qua V du: ADD R1, R2, R3 ; R1=ket qua (=R2+R3) Neu co 2 t N toan h hang th 1 t toan h hang v a l la nguon v a la l ch h V du: ADD R1, R2 ; R1=ket qua (=R1+R2) Kieu thanh ghi thanh ghi Kieu thanh ghi bo nh Kieu bo nh bo nh

Biet co bao nhieu toan hang bo nh: Co 3 kieu toan hang o o o

Kieu thanh ghi Thanh ghi c nhieu nha che tao quan tam tam nhat nhat hien nay. nay
ThS. Nguyn Ha Duy Khang - 2007 7

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

5. Cac kieu nh v
Kieu nh v
Thanh ghi (TG) Tc th Trc tiep Gian tie Gian tiep p thanh ghi Gian tiep bo nh Gi n tie Gia i p reg.+reg. Gian tiep base reg+ index reg + offset T tang T giam

V du
ADD R3, R4 ADD R4, #3 ADD R1, (1001) ADD R4 R4, (R1) ADD R1,@(R3) A ADD R3, 3 (R1+R2) ( 1 2) ADD R1,100(R2)[R3] ADD R1, (R2)+ ADD R1, (R2)-

Giai thch
R3R3 + R4 R4R4 + 3 R1R1 + M[1001] R4R4 + M[R1] R1R1 + M[M[R3]] R4R4 + M[R1+100] R3R3 + M[R1 M[R1+R2] R2]

Ghi chu
Opers. in reg. Opers. in instr. Op. add in instr. Op add Op. add. in reg reg.

Gian tiep reg+offset ADD R4,100(R1)

R1R3 + [100+R2+ d*R3] Word: d=4 Double W: d=8 R1R2 + M[R2] R2R2 + d R2R2 - d R1R1 + M[R2]
8

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

6. Loai Loai va va chieu chieu da dai i cu cua a toan toan ha hang ng


Thong thng loai toan hang xac nh luon chieu dai cua no Toan Toa n hang hang thng thng co co chieu chieu dai: dai: byte (8 bit), half word (16 bit), word (32 bit), double word (64 bit)
69% 31% 19% 7% 0%

Double word Word Half word Byte

74% Dau cham ong So nguyen %

Ngoai ra cung co mot so loai toan hang ac biet phuc vu cho tnh toan tre toan tren n so so BCD va va Chuoi Chuoi ky ky t t .
9

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

7. Ca Cac c ta tac c vu vu cu cua a lenh


Loai tac vu
Tnh toan so hoc va luan ly Di chuyen so lieu Chuyen ie Chuyen ieu u khien khien He thong Tnh so so co co dau dau cham cham ong Tnh so thap phan Tnh toan tren chuoi ky t Multimedia +, -, AND, OR Nap va lu tr so lieu Nhay lap, call & Nhay, & return t t CTC, CTC bay bay Goi he ieu hanh, quan ly bo nh ao +, * +, *, oi thap phan sang ky t Chuyen, so sanh, tm chuoi ky t Nen, giai nen Audio-Video, 3D

Th du

3 loai tac vu au tien eu co tren tat ca cac may Cac loai tac vu sau tuy thuoc vao kien truc moi may
10

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

8. Kien truc RISC va CISC


CISC (Complex Instruction Set Computer): Ra i vao nhng nam 1960 e giam o dai chng trnh va do: - Chng trnh dch kho dung thanh ghi - Vi lenh nhanh hn lenh ac iem: Dung kieu O nh o nh va o nh - thanh ghi, chieu dai lenh thay oi, dung bo ieu khien vi chng trnh Bo x ly
Nam san xuat S lenh So Bo nh vi CT Chieu dai lenh Cache Cach thc thi hanh lenh

IBM 370/168
1973 208 420 KB 16 48 bit 64 KB T. ghi T. ghi T. ghi bo nh Bo nh bo nh

DEC-11/780
1978 303 480 KB 16 456 bit 64 KB T. ghi T. ghi T. ghi bo nh Bo nh bo nh

iAPX 432
1982 222 64 KB 6 321 bit 0 Ngan xep Bo nh bo nh
11

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

8. Kien truc RISC va CISC (tiep)


RISC (Reduced Instruction Set Computer): Ra i vao nhng nam 1980 do: - Kha Kha nang nang viet viet chng trnh dch a a tien tien bo (bie (biet t du dung ng thanh ghi) - Vi lenh khong nhanh hn lenh khi thao tac tren o nh ac iem: Dung kieu thanh ghi - thanh ghi, chieu dai lenh co nh, dung ky thuat ong dan (pipeline) Bo x ly
Nam san xuat So lenh Bo nh vi CT Chieu dai Chieu dai lenh Kieu thi hanh

IBM 810
1980 120 0 32 bit T. ghi T. ghi

RISC 1
1982 39 0 32 bit T. ghi T. ghi

MIPS
1983 55 0 32 bit T. ghi T. ghi

khao tai tai lieu va va so sanh sanh kie kien n truc truc RISC va va CISC ? Tham khao
ThS. Nguyn Ha Duy Khang - 2007 12

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

9. Kie eu u nh v t trong o g cac cac bo x ly y RISC SC


Thanh ghi: Toan hang nguon va ch eu nam trong thanh ghi
MIPS Opcode 6bit Rs1 5bit Rs2 5bit Rd 5 bit const 5bit Opx 6bit 32 bit

Tc th: Toan hang la so co dau, cha ngay trong lenh


Opcode 6bit Rs 5bit Rd 5bit const 16bit (toan hang tc th) 32 bit

MIPS

Trc Tr c tiep: tiep: a ch toa toan n hang hang nam nam trong lenh Gian tiep bang thanh ghi + o di: Kieu ac thu cua RISC a ch toan hang = Thanh ghi (a ch) + o di (khi o di =0 th l kie la ki u nh h v t trc ti tiep). ) Kieu t tang: dung trong mot so bo x ly RISC nh PowerPC

ThS. Nguyn Ha Duy Khang - 2007

13

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

10. Tap lenh


Thong thng moi bo x ly co tap rieng, khac nhau. Dang Da ng lenh pho pho bien bien (co (co the the hieu hieu ngam ngam 1 so so toan toan hang): hang):
Lenh gi nh Reg ch Reg nguon 1 Reg nguon 2

V du: ADD R1, R2, R3 a) Gan tr - Bo nh - Tnh toan so nguyen - Logic - Dch chuye chuyen n b) Lenh co ieu kien - Kiem Ki tra t i ieu kie ki n:
ThS. Nguyn Ha Duy Khang - 2007

R1 R2 + R3 V du: V du: V du: V du: du: LOAD Ri, M(a ch) ADD, SUB, DIV, ... AND, OR, ... SLL SRL SLL, SRL,...

X t cac Xet c tra t ng th thai i - Z, Z C, C OVF,... OVF


14

Kien Truc May Tnh - Kiem tra ieu kien (tiep) V du: CMP Rk, Ri, Rj Lu trang thai cua phep toan (Ri-Rj) toan (Ri Rj) vao vao thanh ghi Rk lu nhieu trang thai nhng ph thanh ghi

Chng 2: Kien truc phan mem bo x ly


So gi (nh) Toan hang 1 ALU Toan hang 2 Ket qua S bit dau (c dau) Z c zero OVF c tran C c gi

Nhieu Nhieu bo x x ly ly co co rieng rieng thanh ghi tra trang ng thai thai - Nhay vong: Gom nhay khong ieu kien va co ieu kien V du: du: 1 2 3 4 5 6 CMP R4, R1, R2 BGT R4,+2 ADD R3, R0, R2 BRA +1 ADD R3, R0, R1 ...

; nhay 2 lenh neu R1>R2 ; R0=0, R3 R2 ; nhay 1 lenh ; R3 R1

Ket qua Ket qua: : Neu Neu R1 > R2 th R3 = R1 R1, ngc ngc lai lai, R3 = R2
ThS. Nguyn Ha Duy Khang - 2007 15

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly ? ?

10. Tap lenh (tiep)


c) Vong lap Dung cac lenh nhay co ieu kien va kie ki m tra bo b e m sau moi l lan la l p.

V du: Bo x ly PowerPC co lenh BNCT (branch if no con. taken) BNCT Ri, o di d) Tham nhap ngan xep Dung lenh PUSH/POP PUSH Ri ; SP=SP+1 M[SP] Ri POP Ri ; SP=SP-1 Ri M[SP] ;Ri=Ri-1. Neu Ri 0: PC=PC+o di Ngc lai: thi hanh lenh ke

Bo x ly RISC: dung lenh thng vi R30 la con tro ngan xep ADDI R30, R30, 4 ; SP=SP+4 STORE Ri, (R30) LOAD Ri, (R30) SUBI R30, R30,4 ;SP=SP-4
16

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

10. Tap lenh (tiep)


e) Cac thu tuc Main
Call Proc1

Proc1
Call Proc2 RET

Proc2

RET

Goi Go i thu thu tu tuc: c: CALL; Tr Tr ve ve chng trnh goi: goi: RET CISC (VAX 11, 80x86, 680x0): a ch tr ve gi trong ngan xep RISC ( (PowerPC, , MIPS, , RISC1): ) thng dung R31 lu a ch tr ve
Goi thu tuc: ADD R30, R30, 4 STORE R31, (R30) JMP Ri
; PC=R30 ; R31: a ch ve ; Ri: a ch goi

Tr ve: LOAD R31, (R30) SUBI R30, R30,4 JMP R31

; phuc hoi a ch ve ; cap nhat con tro ; R31: a ch tr ve 17

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

11. Ngo g n ng g cap cao va ngo g n ng g may


Chi ph phan mem luon ac nhat trong mot he thong may tnh Ngon ng cap cang cao cang t ca tha an t thie en, nhng g phai qua nhieu lan dch VD: PASCAL, C, LISP,... Ngon Ngo n ng ng cap cap cao muon muon chay oc lap vi bo x ly can co trnh hp dch tot
Cap 5

Cap NN hng T
Dch (trnh bien dch)

Cap 4

Cap NN hp dch
Dch (assembler)

Cap 3

Cap he ieu hanh


Dch 1 phan (He ieu hanh)

Cap 2

Cap may qui c


Phien dch (vi CT)

D Do o kie ki n truc pha h n mem cua bo x ly quan trong oi vi trnh dch

C p 1 Ca

C p vi Ca i la l p t trnh h
Vi CT chay tren phan cng

Cap 0 Cap

Cap logic so Cap so


18

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

ThS. Nguyn Ha Duy Khang - 2007

19

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

anh gia hieu suat CPU


nh ngha hieu suat:

clock rate[ Hz ] IC MIPS = = 6 Exe.Time[ S ] 10 CPI 106


MIPS: Million instructions per second Trieu lenh/giay IC: Instruction Count tong tong so so lenh Exe. Time: Execution tine Thi gian thi hanh chng trnh [S] CPI: Clock cycle per instruction So chu ky trung bnh cua 1 lenh Clock rate: Toc o xung nhp [Hz] nh ngha hieu suat suat to toi i a: Thi g gian thi hnh chng g trnh:
ThS. Nguyn Ha Duy Khang - 2007

MIPS peak =

clock rate[ Hz ] CPI min 10 6

IC CPI [ s] Exe.time = clock rate[ Hz ]


20

Kien Truc May Tnh

Chng 2: Kien truc phan mem bo x ly

anh gia hieu suat CPU


V du: Xet 2 CPU M1 va M2 cung tap lenh. Tap lenh co 4 dang A, B, C va D nh sau:
May M1: 500MHz Dang lenh
A B C D

May M2: 750MHz Dang lenh


A B C D

CPI
1 2 3 4

CPI
2 2 4 4

1. Tnh hieu suat toi a cua moi may

MIPSpeakM1 =(500*10 (500*106)/(1*106)=500 ) 500 MIPS MIPSpeakM2 =(750*106)/(2*106)=375 MIPS

2. Neu t le s cac dung lenh trong chng trnh la 25% th may nao thi hanh nhanh hn:

CPIM1= (1x25%)+(2x25%)+(3x25%)+(4x25%) = 2.5 CPIM2= (2x25%)+(2x25%)+(4x25%)+(4x25%) = 3


Exe.timeM 1 = Exe.timeM 2 ICxCPI M 1 ICx 2.5 = = ICx5 x10 9 [ s ] 6 clock rateM 1 500 *10 ICxCPI M 2 ICx3 = = = ICx 4 x10 9 [ s ] 6 clock rateM 2 750 *10

Exe.timeM 1 ICx5 x10 9 [ s ] = = 1.25 n= Exe.timeM 2 ICx 4 x10 9 [ s ] Hay M2 nhanh hn M1 la 1.25 lan.

3. e toc o may M1 bang M2 th M1 can chay clock rate bao nhieu?

Exe.timeM 1 =

ICx 2.5 = ICx 4 x10 9 = Exe.timeM 2 clockrate l k M 1 = 625MHz clokrateM 1


21

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc May Tnh 2 Cho 2. Ch oan CT sau cha h yt tren CPU 500 MHz: MH
ADD R2, R2, R1 ADD R1, R3, R5 CMP R4, C , R1, , R2 BGT R4, +2 ADD R3, R0, R2 BRA +1 ADD R3, , R0, , R1 ; R4=R1-R2 ; nhay 2 lenh neu R4>0 ; nhay 1 lenh

Chng 2: Kien truc phan mem bo x ly

Bai tap

Gia s so chu ky xung nhp cua moi lenh la: Dang lenh ADD BGT, BRA, CMP CPI 1 2

a Neu a. Neu R1=0Ah; R2=0Bh; R3=R5=11h th: -Tong so lenh c thi hanh (IC)?; -Thi gian thi hanh (Exe.time)? b. Neu R1=0Bh; R2=0Ah; R3=R5=01h th: -Tong so lenh c thi hanh (IC)?; -Thi gian thi hanh (Exe.time)?
ThS. Nguyn Ha Duy Khang - 2007 22

Kie n Tru ma tnh Kie n Tru cc Ma yyTnh

Chng 2: Kien2: tru c pha n me m bo x m ly bo x ly Chng Kie n tru c pha n me


Dang lenh CPI 2 3 3 4 T le s dung 40% 25% 25% 10% ALU ops p Loads Stores Branches

3. Xet mot qua q trnh khao sat toi u hoa mot


bo x ly. Gia s bo x ly co 4 dang lenh: ALU ops, Loads, Stores va Branches Giai oan 1: Thiet ke c ban, tao ra mot CPU c ban chay 500 MHz, goi la Mbase, cac

thong so mo phong o c nh sau:


Dang lenh ALU ops Loads Stores S Branches CPI 2 3 3 5 T le s dung 40% 25% 25% 5% 10%

Hoi: a. CPI trung bnh cua Mbase va Mopt? b. MIPS tng ng cua tng may? c. May nao nhanh hn va hn bao nhieu? Giai oan 3: Toi u hoa chng trnh dch, giai oan nay lam cho tong so lenh cua chng trnh (IC) giam 10%, goi la Mboth, cac thong

so mo p phong o c nh sau:
Dang lenh ALU ops L d Loads Stores Branches CPI 2 3 3 4

T le s dung 40.4% 25 2% 25.2% 23.8% 10.6%

Giai oan 2: Toi u hoa phan cng, nang toc CPU le o l n 600 MHz, MH goi la l Mopt, cac tho th ng

so mo phong o c nh sau:

ThS. Nguyn Ha Duy Khang - 2007

Hoi: May Mboth chay nhanh hn Mbase bao nhieu lan ?


23

Kien Truc may tnh

Chng 3: Cau truc bo x ly

Chng 3

CAU TRUC BO X LY
ng d lieu Bo ieu khien Dien tien thi hanh lenh ma may Ngat quang (Interrupt) Ky thuat ong dan Kho khan trong ky thuat ong dan Sieu ong dan Sieu vo hng (Super Scalar) May tnh co lenh that dai May tnh vect May tnh song song Bai tap

Kien Truc may tnh

Chng 3: Cau truc bo x ly

Gii thieu
Bo x ly c chia lam 2 bo phan chu yeu: Phan ieu khien (Control Unit) Phan ng d lieu (data path)

Kien Truc may tnh

Chng 3: Cau truc bo x ly

1. ng d lieu (data path)


Datapath = Regs + ALU Gom Regs tong quat va: PC: Program counter SR: Status register TEMP: Temporary em MAR: Mem. address reg. MDR: Memory data reg Cac toan hang trong cac thanh ghi c a vao 2 thanh ghi nhap cua ALU. ALU tnh toan va lu ket qua thanh ghi xuat
3

Thng co 32 regs tong quat

ng d lieu chiem dien tch bo x ly nhng de thc hien

Kien Truc may tnh

Chng 3: Cau truc bo x ly Mach logic hay PLA (programable logic aray)

2. Bo ieu khien
Nhiem vu: Tao cac tn hieu ieu khien di chuyen d lieu, ieu khien ALU, ieu khien tien trnh thi hanh lenh, ... Thiet ke: co 2 cach - Mach - Vi CT Mach: Automate se tao trang thai mi sau khi giam sat trang thai ieu khien hien tai. Phu hp lenh n gian va chieu dai co nh

Bo ieu khien dung mach ien


4

Kien Truc may tnh

Chng 3: Cau truc bo x ly

2. Bo ieu khien (tiep)


Mot vi may tnh nam trong bo ieu khien se thc hien cac lenh ma may bang cac vi lenh cha trong bo nh vi chng trnh. Bo ieu khien Vi chng trnh dung rong rai trong cac may CISC, no cho phep xay dng cac tap lenh phc tap vi chieu dai khac nhau. Viec thiet ke Automate bang vi chng trnh se de sa loi va cap nhat

ieu khien dung vi chng trnh


5

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien thi hanh lenh ma may


Gom 5 giai oan: 1. oc ma lenh (t bo nh trong) 2. Giai ma lenh (va oc cac thanh ghi nguon) 3. Thi hanh lenh, tuy lenh ma thi hanh 1 trong 3 nhiem sau: - Lien he ti bo nh - Tnh toan tren ALU e tra ve ket qua - Nhay ti 1 a ch nhat nh 4. Tham nhap bo nh, thng la ghi/oc bo nh trong 5. Lu tr ket qua
6

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien ... (tiep)


Giai oan 1: oc ma lenh (Instruction Fetch - IF )
o Bo em chng trnh PC c a vao MAR.
MAR PC

o Lenh c oc t bo nh trong tai cac o nh co a ch nam trong MAR va nap vao thanh ghi lenh IR
IR M[MAR]
7

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien ... (tiep)


Giai oan 2: Giai ma lenh (Instruction Decode - ID)
Op Rd Rs1 Rs2 Tac vu
Rs2 Rs1

Dang lenh tieu bieu

o Lenh c giai ma o Rs1 va Rs2 c nap vao 2 thanh ghi nhap cua ALU A Rs1 B Rs2 o PC PC+4 ; lenh ke
8

Kien Truc may tnh

Chng 3: Cau truc bo x ly


- Lien he ti bo nh 3 tac vu: - Mot lenh ALU - Mot phep nhay

3. Dien tien ... (tiep)

Giai oan 3: Thi hanh lenh (Execution - EX)

Rd

Bo nh: MAR add do ALU tnh MDR Rd

Nga ra ALU: Ket qua tnh toan neu la Lenh ALU Nga ra ALU: a ch ch neu la lenh nhay
9

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien ... (tiep)


Giai oan 4: Tham nhap bo nh (Memory Access - MEM)
Giai oan nay thng dung cho: Ghi/oc d lieu bo nh va lenh nhay Tham khao bo nh: o o o o Ghi bo nh trong: M[MAR] MDR oc bo nh trong: MDR M[MAR] ieu kien: If (ieu khien), PC nga ra ALU Khong ieu kien: PC nga ra ALU (a ch ch)

Lenh nhay:

Giai oan 5: Lu ket qua (Write back-WB/Result store-RS)


Lu tr ket qua vao thanh ghi ch: Rd nga ra ALU hay Rd MDR
10

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien ... (tiep)


Instruction Fetch
Next PC

Instr. Decode Reg. Fetch


Next SEQ PC

Execute Addr. Calc


Next SEQ PC
Zero?

Memory Access
MUX

Write Back/ Store

Adder

4
Address

RS1 RS2

MEM/WB

Imm

Sign Extend

RD

RD

RD

Datapath Control Path


11

Kien Truc may tnh

Chng 3: Cau truc bo x ly

3. Dien tien ... (tiep)


Lay ma lenh Giai ma lenh Thi hanh lenh Tham nhap bo nh Lu ket qua (thanh ghi)

ALU

Ifetch

Reg

DMem

Reg

IF
oc bo nh

ID
oc thanh ghi

EX
ALU

MEM
Bo nh

RS
thanh ghi

S o n gian hoa 5 giai oan thi hanh lenh cua bo x ly


12

WB Data

Memory

EX/MEM

MUX

Reg File

ID/EX

IF/ID

ALU

Memory

MUX

MUX

Kien Truc may tnh

Chng 3: Cau truc bo x ly

4. Ngat quang (Interrupt)


Ngat quang la s kien xay ra mot cach ngau nhien lam ngng tnh tuan t cua chng trnh. Ngat quang la phan kho thc hien nhat trong bo ieu khien v luc ang thi hanh lenh cung phai giam sat ngat. ng dung ngat: Bao mat ien, bao h phan cng, bao vi pham vung cam bo nh, ...
Ngat Phuc vu ngat Chng trnh ang chay

Sau khi thc hien xong chng trnh phuc vu ngat, bo x ly phai khoi phuc lai a ch tr ve. e n gian, mot so Bo x ly chap nhan ngat theo cac bc sau: - Thc hien xong lenh ang thi hanh - Lu trang thai hien tai - Nhay en chng trnh phuc vu ngat - Xong, khoi phuc trang thai cu cho chng trnh ang chay
13

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (pipeline)


e hieu ro y ngha cua viec dung ky thuat ong dan trong may tnh, ta xet mot v du ve TIEM GIAT-UI: Tiem co 4 nhan vien, moi ngi co mot thung quan ao e giat, say va ui (la) 4 Thung quan ao Giat (30 phut/thung) Say kho (30 phut/thung Ui quan ao (20 phut/thung) Neu 4 nhan vien thc hien cong viec tuan t, mat bao lau? Neu ho dung ky thuat ong dan, mat bao lau e hoan tat cong viec?
14

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep)


6 PM 7 8 9
Time

10

11

Midnight

30
T a s k O r d e r

40 20 30

40 20 30

40 20 30

40 20

A B C D
o o Thc hien TUAN T phai mat 6 gi e hoan tat cong viec Dung ky thuat ong dan?
15

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep)


6 PM 7 8 9
Time

10

11

Midnight

30
T a s k O r d e r

40

40

40

40 20 Nhng tnh huong: - Ngh gia gi? -Tranh chap? - ...

A B C D

Dung ky thuat ong dan ch mat 3.5 gi e hoan tat viec giat ui
16

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep) Bai tap


Xet mot tiem ra xe hi lam viec t 10 gi sang en 15 gi chieu, cac cong oan thc hien nh sau - Ra xa phong (RXP): 30 phut - Xa nc (XN): 20 phut - Lau kho (LK): 20 phut a. Neu cac nhan vien thc hien mot cach tuan t th trong mot ngay ho phuc vu c bao nhieu xe. Giai s t 12gi en 13 gi, tiem tam ngh e an tra th cac cong oan con cha hoan thanh c giai quyet nh the nao? Tng ng vi cach giai quyet o, moi ngay ho phuc vu c bao nhieu xe?
17

b. Neu ap dung ky thuat ong dan? c.

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep)


Qua trnh thi hanh mot lenh cua bo x ly luon xay ra theo 5 bc: IF ID EX MEM RS

Ap dung ky thuat ong dan e cho cac giai oan khac nhau cua nhieu lenh c thi hanh cung mot luc

Tai chu ky 5, ca nam giai oan cua tien trnh thi hanh lenh c thc hien. Noi cach khac, 1 lenh ch thi hanh trong 1 chu ky ong ho
18

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep)


Time (clock cycles)
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9

ALU

I n s t r. O r d e r

Ifetch

Reg

DMem

Reg

2 tac vu oc 1 tac vu ghi

ALU

ALU

Neu cung Reg?


DMem Reg DMem Reg

Ifetch

Reg

Ifetch

Reg

ALU phai thc hien trong 1 chu ky Cung thao tac bo nh - ?

ALU

Ifetch

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Can co mach ien e thc hien ong thi nhieu giai oan lenh Phai co nhieu thanh ghi e phuc vu viec ghi/oc. Phai co nhieu PC
19

Kien Truc may tnh

Chng 3: Cau truc bo x ly

5. Ky thuat ong dan (tiep)


V du: Gia s thi tng ng cho cac giai oan cua tien trnh thi hanh lenh tng
ng tren hnh ve. IF Gia s chu ky ong ho la 10 ns vi o doc 1 ns, hnh ve Ifetch Neu dung ky thuat ong dan, toc o thi hanh lenh se tang 10 ns len bao nhieu lan so vi khong dung ong dan? ID
Reg

EX
ALU

MEM
DMem

RS/BW
Reg

8 ns

10 ns

10 ns

7 ns

Giai: Thi gian thi hanh lenh khong ong dan:


tunpipelined = 10 + 8 +10 +10 +7 = 45 ns Thi gian thi hanh lenh dung ong dan: tpipelined = 1 + 10 = 11 ns < tunpipelined Toc o thi hanh lenh tang: So lan tang = tunpipelined tpipelined = 45 11 = 4.1 lan

10 ns 1 ns

20

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan trong ky thuat ong dan (Pipeline Hazards)


Co 3 loai kho khan trong ky thuat ong dan:
Kho khan do cau truc (Structural hazards): Thieu cac bo phan chc nang nh: ALU, PC, thanh ghi, ... dan ti tranh chap thanh ghi, tranh chap bo nh Kho khan do so lieu (Data hazards): Cac lenh sau muon dung ket qua cua lenh trc o trong ong dan nhng lenh trc o cha c thc hien xong Kho khan do ieu khien (Control hazards): Do cac lenh nhay gay nen mot thi gian tre gia giai oan nhan ma lenh (IF) va giai oan quyet nh (EX) co nhay hay khong va nhay ti a ch nao.

Khac phuc kho khan ?


21

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep) - Kho khan do cau truc


Time (clock cycles)
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8

ALU

I Load Ifetch n s Instr 1 t r. O r d Instr 3 e r Instr 4

ALU

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Instr 2

Ifetch

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Structural Hazard

Ifetch

Reg

ALU

DMem

Lenh LOAD va lenh th 3 tranh chap bo nh tai chu ky 4. Giai quyet???


22

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep)

Giai quyet kho khan do cau truc


Co 2 cach khac phuc:
Cach 1: Ch trong 1 chu ky - Can xac nh thi iem xay ra tranh chap - Can co c che e thc hien ong bang ng ong (stall) e ay lenh tranh chap sau sang chu ky ke tiep, chap nhan mat trang mot chu ky. Cach 2: Them phan cng hu hieu
Xem trang tiep theo
23

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep)


Time (clock cycles)
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8

ALU

I Load Ifetch n s Instr 1 t r. O r d Stall e r Instr 3

ALU

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Instr 2

Ifetch

Reg

DMem

Reg

Bubble

Bubble Bubble

Bubble
ALU

Bubble

Ifetch

Reg

DMem

Giai quyet tranh chap bang ky thuat ong bang ng ong 1 dong lenh
24

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep)


Time (clock cycles)
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8

ALU

I Load Ifetch n s Instr 1 t r. O r Instr 3 d e r

ALU

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Instr 2

Ifetch

Reg

DMem

Reg

Bubble Stall

Ifetch

Reg

ALU

DMem

Giai quyet tranh chap bang KT ong bang ng ong 1 giai oan lenh
25

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep) Kho khan do so lieu


Time (clock cycles) I n s t r. O r d e r
add r1,r2,r3 sub r4,r1,r3 and r6,r1,r7 or r8,r1,r9
Ifetch Reg DMem Reg

Thc te sau EX a co ket qua r1


Reg

ALU

ALU

Ifetch

Reg

DMem

XOR khong anh hng


Reg

Ifetch

Reg

ALU

DMem

ALU

Ifetch

Reg

DMem

Reg

ALU

xor r10,r1,r11

Ifetch

Reg

DMem

Reg

Lenh SUB, AND, OR can ket qua r1 cua lenh ADD vao giai oan ID, nhng mai en giai oan RS th ADD mi cho ket qua. Khac phuc ???
26

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep)


Phan loai kho khan do so lieu
Read After Write (RAW) InstrJ tries to read operand before InstrI writes it Write After Read (WAR) InstrJ writes operand before InstrI reads it Write After Write (WAW) InstrJ writes operand before InstrI writes it. I: add r1,r2,r3 J: sub r4,r1,r3 I: sub r4,r1,r3 J: add r1,r2,r3 K: mul r6,r1,r7 I: sub r1,r4,r3 J: add r1,r2,r3 K: mul r6,r1,r7

Khong xay ra trong ong dan thong thng

Giai quyet kho khan do so lieu:


n v chc nang thch hp goi la phng phap Forwarding

Them phan cng: Lay ket tai ngo ra cua ALU e a ngc ve nga vao cac Cai tien phan mem.
27

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep)


I n s t r. O r d e r

Time (clock cycles)


Reg DMem Reg

add r1,r2,r3

Ifetch

Forwarding to Avoid Data Hazard


Reg

ALU

sub r4,r1,r3

Ifetch

Reg

ALU

DMem

ALU

and r6,r1,r7

Ifetch

Reg

DMem

Reg

ALU

or

r8,r1,r9

Ifetch

Reg

DMem

Reg

ALU

xor r10,r1,r11

Ifetch

Reg

DMem

Reg

Khong ch hoan tat lenh ADD ma lay ket qua r1 ngay khi ALU va tnh c e gi cho cac bo phan chc nang tng ng - FORWARDING
28

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep) Phan cng cho ky thuat Forwarding


NextPC

mux

Immediate

Khi phan cng phat hien co dung ket qua cua ALU e lam toan hang cho lenh ke, no se tac ong vao mach a hp (mux) e a nga ra cua ALU ve nga vao hoac cac n v chc nang khac. Tuy nhien, giai phap forwading van cha giai quyet hoan thien kho khan nay.
29

Kien Truc may tnh

6. Kho khan ... (tiep) Khac phuc kho khan do so lieu bang phan mem
Try producing fast code for a = b + c; d = e f; assuming a, b, c, d ,e, and f in memory.
Slow code: LW LW ADD SW LW LW SUB SW Rb,b Rc,c Ra,Rb,Rc a,Ra Re,e Rf,f Rd,Re,Rf d,Rd Fast code: LW LW LW ADD LW SW SUB SW Rb,b Rc,c Re,e Ra,Rb,Rc Rf,f a,Ra Rd,Re,Rf d,Rd
30

Registers

MEM/WR

EX/MEM

ALU

ID/EX

Data Memory

mux

Chng 3: Cau truc bo x ly

mux

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep) - Kho khan do ieu khien


10:beq r1,r3,36
Ifetch Reg DMem Reg

14: and r2,r3,r5

Ifetch

Reg

DMem

Reg

Co 30% chng trnh la lenh nhay!


Reg

ALU

ALU

18: or

r6,r1,r7

Ifetch

Reg

ALU

DMem

ALU

22: add r8,r1,r9 36: xor r10,r1,r11

Ifetch

Reg

DMem

Reg

ALU

Ifetch

Reg

DMem

Reg

Phai ong bang 3 chu ky cho lenh nhay kem hieu qua ong dan

Khac phuc???
31

Kien Truc may tnh

Chng 3: Cau truc bo x ly

6. Kho khan ... (tiep) - 4 cach khac phuc Control Hazard


#1: ong bang ong dan en khi xac nh c a ch nhay #2: D oan lenh nhay khong thc hien
47% lenh nhay cua MIPS khong c thc hien Thc hien xong cac lenh trong ong dan mi nhay Huy bo cac lenh trong ong dan neu co lenh nhay

#3: D oan lenh nhay c thc hien


53% lenh nhay cua MIPS c thc hien Tnh a ch ch cua lenh nhay trong MIPS lam mat trang 1 chu ky

#4: Lam tre cac lenh nhay


branch instruction sequential successor1 sequential successor2 ........ sequential successorn ........ branch target if taken

Chen vao n lenh

32

Kien Truc may tnh

Chng 3: Cau truc bo x ly

7. Sieu ong dan


Ong dan n gian thc hien 1 giai oan (chu ky) trong thi gian: Tc Sieu ong dan bac n, thc hien giai oan o bang n giai oan con, moi giai oan con thc hien trong Tc/n

Tc

So sanh sieu ong dan bac 2 va ong dan n gian


33

Kien Truc may tnh

Chng 3: Cau truc bo x ly

8. Sieu vo hng (Super Scalar)


May tnh sieu vo hng bac n thc hien ong thi n lenh trong mot chu ky xung nhp Tc oi hoi phan cng phc tap. Ex: Intel i860, IMB RS/6000

So sanh sieu vo hng bac 2 va ong dan n gian


34

Kien Truc may tnh

Chng 3: Cau truc bo x ly

9. May tnh co t lenh rat dai VLIW


Ky thuat ong dan oi hoi nhieu rang buoc nen kho thc hien ong thi nhieu lenh nh may Sieu vo hng a nhieu lenh trong 1 t lenh dai (t 112 168 bit). kien truc phc tap va gia thanh at hn.

10. May tnh vect


Gom tnh toan vo hng dung ong dan va bo tnh toan vect Co 2 kien truc: kieu vect bo nh-bo nh va kieu thanh ghi vect Cac may tnh vect: CRAY-1, CRAY-2, X-MP, Y-MP, cac super computer: NEC SX/2, Fujitsu VP200, Hitachi S820, Earth Simulator CRAY-2 (1995) dung 8 thanh ghi vect, moi thanh ghi cha 64 vect, moi vect dai 64bit.
35

Kien Truc may tnh

Chng 3: Cau truc bo x ly

12. May tnh song song


Co 4 loai may tnh (Flynn, 1966): 1. 2. SISD (Single Instruction stream, Signle Data stream) Dung 1 bo x ly: pho bien PC SIMD (Single Instruction stream, Multiple Data stream) - Gom nhieu bo x ly giong nhau cung thc hien mot lenh e x ly nhieu dong d lieu - kien truc song song (d lieu) - Moi bo x ly co bo nh d lieu rieng - Dung chung 1 bo nh lenh va 1 bo ieu khien - Hieu qua oi vi d lieu co cau truc phu hp cho cac bo x ly con - Ex:May CONNECTION MACHINE 2 cua Thinking Machine Inc. (dung 65536 bo x ly 1 bit) MISD (Mutiple Instruction stream, Signle Data stream) Cha che tao MIMD (Multiple Instruction stream, Multiple Data stream) 36 ang c cac nha che tao chu y

3. 4.

Kien Truc may tnh

Chng 3: Cau truc bo x ly

12. May tnh song song (tiep) - MIMD


MIMD co 2 nhom: 1. 2. Kien truc bo nh tap trung chia xe (t thong dung) Kien truc bo nh phan tan

Khong ap ng u cho nhieu bo x ly cung truy xuat Kien truc bo nh tap trung chia xe
37

Kien Truc may tnh

Chng 3: Cau truc bo x ly

12. May tnh song song (tiep) MIMD bo nh phan tan


Gom nhieu nut Moi nut: uP + bo nh +IO + giao dien ket noi Trao oi d lieu gia cac uP rat phc tap. Co 2 cach:
Chia xe vat ly khong gian nh v bo nh. Cac uP co quyen truy xuat bat ky o nh nao Chia thanh nhieu khong gian nh con rieng biet. Moi modul uP-bo nh la 1 may tnh rieng mang LAN

Kien truc bo nh phan tan


38

Kien Truc may tnh

Chng 3: Cau truc bo x ly

BAI TAP
1. Cho oan chng trnh sau: Add $5, $5, $4 Lw $6, 100($7) Sub $7, $6, $8 Neu cho oan CT nay chay tren CPU 500Mhz, dung ky thuat ong dan th gap phai kho khan g? Trnh bay cac cach khac phuc kho khan nay. Sau khi khac phuc, Execution time? 2. Lap lai cau 1 cho oan chng trnh sau: Add $2, $4, $5 Add $4, $2, $5 Sw $5, 100($2) Add $3, $2, $4 Lap lai cau 1 cho oan chng trnh sau: Lw R1, 0(R2) Addi R1, R1, #1 Sw R1, 0(R2) Addi R2, R2, #4 Sub R4, R3, R2 4. Sau khi khac phuc kho khan cho ong dan, ngi ta minh hoa bang hnh sau:
Time (clock cycles) I n s t r.
ALU

lw r1, 0(r2)

Ifetch

Reg

DMem

Reg

ALU

sub r4, r1, r6

Ifetch

Reg Bubble

DMem

Reg

or r8, r1, r9

Bubble Ifetch

Reg

ALU

O r d and r6, r1, r7 e r

Ifetch Bubble

ALU

Reg

DMem

Reg

DMem

3.

Anh ch hay giai thch phng phap khac phuc kho khan tren. Th e ngh mot giai phap khac.
39

Kien Truc may tnh

Chng 4: Cac cap bo nh

Chng 4

CAC CAP BO NH
Cac loai bo nh Cac cap bo nh Xac suat truy cap d lieu bo nh Van hanh cua Cache Hieu qua cua Cache Cache duy nhat hay Cache rieng le Cac mc Cache Bo nh trong Bo nh ao Bao ve tien trnh bang bo nh ao

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

1. Cac loai bo nh
Bo nh trong: Bo nh chng trnh, dung cha chng trnh va so lieu c che tao bang chat ban dan, gom:
o o

RAM (Random Access Memory): SRAM va DRAM, ROM (Read Only Memory) cha chng trnh he thong

Bo nh ngoai: gom a t, bang t, a quang (CD hay CD ROM) nghien cu chng vao ra (chng 5). * oc: MAR cha a ch o nh can oc, cap tn hieu R, d lieu oc c trong MDR Ghi: D lieu can ghi trong MDR, cap tn hieu W e ghi vao o nh co a ch trong MAR

S o van hanh cua RAM vi thanh ghi a ch MAR va thanh ghi d lieu MDR
2

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

1. Cac loai bo nh (tiep) Static RAM


SRAM RAM tnh, c che tao theo cong nghe ECL (CMOS & BiCMOS). Moi bit nh gom 6 Transistor MOS D lieu ton tai mai neu khong mat ien oc d lieu khong lam huy noi dung o nh Thi gian truy xuat nhanh va bang chu ky bo nh (xem trang tiep theo) Dung lng thap, gia thanh cao
Single Port 6-T SRAM Cell Chng 4: Cac cap bo nh
3

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

1. Cac loai bo nh (tiep) Static RAM


ADDR

st abl e

st abl e t AA

st abl e M ax( t AA,t ACS)

CS_L

t ACS
OE_L

t OH

t AA
DOUT

t OZ val i d
WE_L = HIGH

t OE

t OZ val i d

t OE val i d

Chu ky oc bo nh SRAM tieu bieu


tAA (access time for address); tOE (output enable time);
Copyright 2002 Nguyen Chi Ngon

tACS (access time for chip select) tOZ (output-disable time) tOH (output-hold time)

Kien Truc may tnh

Chng 4: Cac cap bo nh

1. Cac loai bo nh (tiep) Dynamic RAM


DRAM RAM ong, che tao theo cong nghe MOS Moi bit nh gom 1 transistor va 1 tu ien, tu nap ay - bit 1 Phai lam ti bo nh e duy tr d lieu Toc o truy xuat cham Dung lng ln (o tch hp tang 60%/nam) va gia thanh re hn SRAM (gia giam 30%/nam)
C Word Line

. . .

Bit Line

Sense Amp

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

Kha nang tch hp cua chip n DRAM


size 1000000000

100000000

year
1980 1983 1986 1989 1992 1996 2000
1970 1975 1980 1985 Year 1990 1995 2000

size(Mb)
0.0625 0.25 1 4 16 64 256

cyc time
250 ns 220 ns 190 ns 165 ns 145 ns 120 ns 100 ns

10000000

1000000

100000

10000

1000

Capacity Logic DRAM


Copyright 2002 Nguyen Chi Ngon

Speed (latency) 2x in 3 years 2x in 10 years


6

2x in 3 years 4x in 3 years

Kien Truc may tnh

Chng 4: Cac cap bo nh


Mc Cache-bo nh trong Mc Bo nh ao

2. Cac cap bo nh
Capacity Access Time Cost CPU Registers 100s Bytes <10s ns Cache K Bytes 10-100 ns 1-0.1 cents/bit Main Memory M Bytes 200ns- 500ns $.0001-.00001 cents /bit Disk G Bytes, 10 ms (10,000,000 ns) -6 -5 10 - 10 cents/bit Tape infinite sec-min Copyright 2002 10 -8 Nguyen Chi Ngon

Upper Level
Staging Xfer Unit

faster

Registers Instr. Operands Cache Blocks Memory Pages Disk Files Tape
user/operator Mbytes OS 512-4K bytes cache cntl 8-128 bytes prog./compiler 1-8 bytes

Larger
7

Lower Level

Kien Truc may tnh

Chng 4: Cac cap bo nh

2. Cac cap bo nh (tiep) 1000 Performance 100 10 1



Copyright 2002 Nguyen Chi Ngon

CPU-DRAM Gap
CPU

Moores Law

Proc 60%/yr.

Processor-Memory Performance Gap: (grows 50% / year)

Less Law?
DRAM

DRAM 7%/yr.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

1980: no cache in proc; 1995 2-level cache on chip


(1989 first Intel proc with a cache on chip)
8

Kien Truc may tnh

Chng 4: Cac cap bo nh

3. Xac suat truy cap d lieu bo nh


Tham nhap d lieu bo nh mat nhieu thi gian. Bo nh cham, kem hieu qua tang toc bo nh bang cach dung Cache. Cache: La bo nh nhanh, dung lng nho SRAM, cha lenh va d lieu ma chng CPU trnh thng dung. Co 2 nguyen tac at d lieu vao Cache:
Thi gian: O nh nao va tham nhap co nhieu kha nang se c tham nhap trong tng lai gan (do phan chnh cua chng trnh c thi hanh nhieu). Khong gian: Neu CPU va tham nhap 1 o nh th co kha nang no se tham nhap o nh ke tiep (do chng trnh tuan t)

Cache

Bo nh trong

Lenh va d lieu ma chng trnh thng dung nam trong Cache e tang hieu qua cua may tnh.
Copyright 2002 Nguyen Chi Ngon 9

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh cua Cache


Cache hit

..
Bo nh trong 1. Cache

Cache miss Cache panalty

at mot khoi vao cho nao cua Cache (sap xep khoi)?
Tng ng trc tiep (Direct Mapped), Phoi hp hoan toan (Fully Associative) va Phoi hp tap hp (Set Associative)

2. 3. 4.

Tm 1 khoi trong Cache (nhan dien khoi)?


Dung nhan a ch

Khoi nao c thay the khi that bai Cache (thay the khoi)?
Thay ngau nhien hoac thay khoi xa nhat (LRU least recently used)

ieu g xay khi ghi vao bo nh (chien thuat ghi)?


Ghi ong thi (Write Through) va ghi lai (Write Back)
10

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh cua Cache (tiep) Sap xep khoi


0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2

th0 th1 th2 th3


3 4 5 6 7

Tng ng trctiep
12 mod 8 = 4
2 3 4 5 0 1 6 7 8 9 1 0 1 1

Phoi hp hoan toan


1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3

Phoi hp tap hp
12 mod 4 = 0
2 6 2 7 2 8 2 9 2 4 2 5 3 0 3 1

Bo nh trong

1. 2. 3.

Tng ng trc tiep: Khoi th i cua bo nh c at vao khoi th k cua


tong so n khoi cua Cache, vi: k=i mod n

Phoi hp hoan toan: Mot khoi trong bo nh c at bat ky v tr nao Phoi hp tap hp: Cache c chia thanh nhieu tap hp bang nhau, moi
trong Cache tap hp co n khoi goi la Cache n-way. Khoi th i cua bo nh c at trong bat ky khoi nao cua tap hp k trong Cache, vi : k = i mod (tong so tap hp) Khi n=1: tng ng trc tiep. Hien nay: Cache 2-way hay 4-way
11

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh cua Cache (tiep) Nhan dien khoi


Cache phoi hp hoan toan:

a ch khoi, e so sanh xac nh Cache hit Chon byte d lieu trong khoi cache

V du: Bo x ly co 32 bit a ch; Cache phoi hp hoan toan, moi khoi Cache co 64 byte d lieu. a ch bo nh tng ng vi d lieu trong Cache:
- Can 6 bit e nhan dang tng byte d lieu trong khoi - Tag = 32 - 6 = 26 bit Tag
Copyright 2002 Nguyen Chi Ngon

Offset
6 bit (2 6 = 64)
12

26 bit (32 6 = 26)

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh Nhan dien khoi (tiep)


V du ve nhan dien Cache phoi hp hoan toan
Xet may tnh bo nh trong 256 byte, Cache 32 byte phoi hp hoan , moi khoi 4 byte: - So bit offset e nhan dang tng byte trong moi khoi Cache: 2 bit - Bo nh 256 byte a ch bo nh la 8 bit nen so bit phan tag: 8 - 2 = 6 bit
Valid 1 1 0 1 0 1 1 0 tag 0 010001 21 0 111000 10 1 010101 36 0 000111 12 0 011100 14 0 011001 14 0 110011 11 1 101010 00 Dirty
Copyright 2002 Nguyen Chi Ngon

Data
Tag (6 bit) Offset (2 bit)

14 20 15 33 11 78 25 99

02 30 85 56 56 79 55 94

01 40 45 98 55 72 41 91

Kieu a ch

- Neu oc a ch: 1 1 1 0 0 0 0 0 hit, data: 40 - Neu oc a ch: 1 1 0 0 1 1 1 0 hit, data: 25 - Neu oc a ch: 0 1 0 1 0 1 1 0 khong data do valid bit=0 - Neu oc a ch: 1 0 0 0 0 1 1 0 miss do tag khong so sanh c Dirty bit se e cap trong chien lc ghi Cache
13

11 10 01 00 2 bit nhan dang data

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh Nhan dien khoi (tiep)


Cache tng ng trc tiep:
o o o Offset: chon d lieu trong khoi Index: chon khoi Tag: so sanh xac nh cache hit

V du: a ch bo nh 64 bit, cache 16 khoi moi khoi 8 byte, th: offset = 3 bit index = 4 bit tag = 64 (4 + 3) = 57 bit
Block Address Tag Index Block offset

57
Copyright 2002 Nguyen Chi Ngon

Tag trong a ch c so sanh vi tag trong cache, neu bang nhau th thanh cong cache
14

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh Nhan dien khoi (tiep)

V du ve nhan dien Cache tng ng trc tiep

Xet may tnh bo nh 256 byte, Cache 32 byte tng ng trc tiep, moi khoi 4 byte: - Moi khoi 4 byte offset: 2 bit - So khoi trong cache = 32/4=8 index: 3 bit - Bo nh 256 byte a ch bo nh la 8 bit nen so bit phan tag: 8 (3+2) = 3 bit
index 000 001 010 011 100 101 110 111
Copyright 2002 Nguyen Chi Ngon

V 1 0 1 0 0 0 1 0

D 0 1 0 0 0 0 1 0

tag 111 101 001 44 25 61

data 45 29 63 12 26 48 14 24 99

Neu CPU oc a ch: 000 110 01 cache hit, data = 71 Neu CPU oc a ch: 101 001 00 khong cha data (V=0) Neu CPU oc a ch: 110 000 01 cache miss do tag khong co
15

000 000

55 62

56 17

41 71

11 74

Cache tng ng trc tiep

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh Nhan dien khoi (tiep)


Cache phoi hp tap hp:
- Offset: chon d lieu - Index: chon tap hp - Tag: so sanh xac nh cache hit
V du: a ch bo nh 32 bit, cache 4KB, moi khoi 32 byte, th: offset = 5 bit index = 6 bit (128 khoi/2=64 set) tag = 32 (6 + 5) = 21 bit
Block Address Tag Index Block offset

21 bit
Copyright 2002 Nguyen Chi Ngon

6 bit

5 bit

Cache 2-way phoi hp tap hp


16

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh Nhan dien khoi (tiep)

V du ve nhan dien Cache phoi hp tap hp

Xet bo nh 256 byte, Cache 2-way phoi hp tap hp vi 8 khoi, moi khoi 2 byte: - Moi khoi 2 byte offset: 1 bit - Cache 2-way: 1 tap hp co 2 khoi so tap hp = 8/2=4 index: 2 bit - Bo nh 256 byte a ch bo nh la 8 bit nen so bit phan tag: 8 (1+2) = 5 bit
index 00 01 10 11 V 1 0 1 0 1 1 1 0
Copyright 2002 Nguyen Chi Ngon

D 0 1 0 0 0 0 1 0

tag 10111 11001 01101 00000 11000

data 44 25 61 55 62 45 29 63 56 17
Set 2 Set 3 Set 4 Set 1

Neu CPU oc a ch: 10111 00 1 cache hit, data = 44 Neu CPU oc a ch: 01101 01 0 cache hit, data = 63 Neu CPU oc a ch: 01111 10 0 cache miss, error tag
17

Cache phoi hp tap hp

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh cua Cache (tiep) Thay khoi


Co 2 chien thuat chu yeu e thay the khoi khi that bai Cache: Thay ngau nhien (Random) Thay khoi xa nhat (LRU-least recently used):
Thay khoi khong c dung t lau nhat. Da theo nguyen tac thi gian th khoi mi c dung se co kha nang c dung lai trong tng lai gan, nen khoi c thay phai la khoi khong c dung lau nhat. Chien thuat nay c s dung nhieu nhat Associativity 2-way Size 16 KB 64 KB 256 KB
Copyright 2002 Nguyen Chi Ngon

4-way LRU
4.67% 1.54% 1.13%

8-way LRU
4.39% 1.39% 1.12%

LRU
5.18% 1.88% 1.15%

Random
5.69% 2.01% 1.17%

Random
5.29% 1.66% 1.135

Random
4.96% 1.53% 1.12%

So sanh t le that bai cache (miss rate) vi cac chien lc thay khoi
18

Kien Truc may tnh

Chng 4: Cac cap bo nh

4. Van hanh cua Cache (tiep) Chien lc ghi


Ch co 25% cac tham nhap Cache la ghi so lieu. CPU i viec oc cache ma khong i viec ghi cache hoan thanh toi u viec ghi Ghi ong thi (Write-Though): - Ghi thong tin ong thi vao cache va bo nh trong.
- Khi co that bai Cache, th bo thong tin o - Bit ieu kien: valid bit (co thong tin hay khong)

Ghi lai (Write-Back): - Ch ghi thong tin vao Cache.

- Khi mot khoi trong cache b thay the no c chep vao bo nh trong - Bit ieu khien : valid bit + dirty bit (cho biet khoi a c thay oi) Tag Cache index Data select

valid bit
Copyright 2002 Nguyen Chi Ngon

dirty bit

Valid bit =1: D lieu trong Cache hp le Dirty bit = 1: Khoi a c thay oi
19

Kien Truc may tnh

Chng 4: Cac cap bo nh

5. Hieu qua cua Cache


anh gia hieu qua Cache bang thi gian tham nhap trung bnh: AMAT = HitTime + MissRate * MissPenalty
AMAT: Average memory acess time HitTime: Thi gian tham nhap thanh cong cache [cycle] MissRate: T le that bai Cache = (so lan that bai)/(tong so lan tham nhap) MissPenanlty: Trng phat that bai cache, la thi gian can thiet e xua ly mot that bai cache [cycle], v du: 50 chu ky
MemAccess + MissRate MissPenalt y CycleTime CPUtime = IC CPI Execution Inst

-CPUtime: Thi gian thi hanh IC lenh cua chng trnh (Instruction count) -CPIExecution: CPI trung bnh cua cac lenh trong chng trnh MemAcess la t le tham nhap bo nh trung bnh cua lenh Inst -CycleTime: Chu ky xung nhp Copyright 2002 Nguyen Chi Ngon 20

Kien Truc may tnh

Chng 4: Cac cap bo nh

5. Hieu qua cua Cache (tiep)


V du: Mot bo x ly chay 500 MHz, co bo nh cache nh sau:
- Miss rate = 2% - Miss penalty = 50 chu ky - T le tham nhap bo nh trung bnh cua lenh la 1.33 Hoi: Thi hanh chng trnh 1 trieu lenh mat bao lau, neu tap lenh co dang:
Dang lenh ALU ops Loads Branches CPI 2 3 4 T le s dung 25% 45% 30%

Giai:
MemAccess CPUtime = IC CPI + MissRate MissPenalty CycleTime Execution Inst

Ta co: - CycleTime = 1/clock rate = 1/500*106=2*10-9 = 2 ns - CPIExecution = (2x25%)+(3x45%)+(4x30%) = 3,05 chu ky Nen: CPUtime = 106x(3,05+1,33x2%x50) x2 = 8,76*106 ns = 8,76 ms Vay bo x ly thi hanh chng trnh 1 trieu lenh mat 8,76 ms
Copyright 2002 Nguyen Chi Ngon 21

Kien Truc may tnh

Chng 4: Cac cap bo nh

6. Cache duy nhat hay Cache rieng le va mc Cache


Proc Unified Cache-1 Unified Cache-2

Cache lenh
I-Cache-1 Proc Unified Cache-2

Cache d lieu
D-Cache-1

Mc 1 ben trong CPU Mc 2 ben ngoai CPU

Cache duy nhat cha: lenh va d lieu Cache rieng le: Cache lenh + Cache d lieu

hieu qua Cache

To chc kieu nay tranh c kho khan do kien truc khi thi hanh ky thuat ong dan. That vay, khi tranh chap bo nh xay ra, th chu ky MEM cua lenh thc hien tren Cache d lieu, con chu ky IF cua lenh khac se thc hien tren Cache lenh
Instr. i ...
Copyright 2002 Nguyen Chi Ngon

IF

ID ...

EX

MEM ... IF

RS ID EX
22

Instr. j

Kien Truc may tnh

Chng 4: Cac cap bo nh Thi gian tham nhap


Dung Cache e giam thi gian tham nhap

7. Bo nh trong
Hieu qua bo nh trong c anh gia bang

Ni rong dai thong o rong dai thong (lu lng tham nhap bo nh)

Tang o rong o nh e xuat ong thi nhieu t

To chc thanh nhieu dai. Neu cac dai oc lap th khi x ly that bai Cache dai nay, CPU co the truy xuat cac dai khac.

Copyright 2002 Nguyen Chi Ngon

23

Kien Truc may tnh

Chng 4: Cac cap bo nh

8. Bo nh ao
Muc tieu: Mong muon thi cac hanh chng trnh ma khong gian nh oi hoi ln
hn kch thc cua bo nh that cua may (physical memory). DUNG BO NH NGOAI (a cng)

Y tng: - Chia bo nh trong ra lam nhieu trang that (con goi la khung trang)

- Tng t, chia khong gian a ra lam nhieu trang that (thng 4KB) - Chia khong gian nh ao (virtual memory) ra lam nhieu trang ao sao cho moi trang ao co the cha va van mot trang that.
a ch that

a ch ao

Van hanh:
C A B

000 ... 001 ... 010 ... 011 ... ... 111 ...

A B C D

00 ... 01 ... 10 ... 11 ...

Q1: Sap xep trang? phoi hp hoan toan Q2: Nhan dien trang? Bang trang Q3: Thay the khi that bai trang? LRU page Q4: Ghi trang? Ghi lai (Write back) Khi CPU truy xuat bo nh, no truy xuat a ch ao, nen can oi t a ch ao sang a ch that
24

Bo nh trong Bo nh ao D a

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

8. Bo nh ao (tiep) Bang trang


V du:
Mot to chc bo nh nh sau: bo nh that 64 byte, bo nh ao 128 byte, kch thc trang 16 byte. Lap bang trang mo ta c che nhan dien trang trong to chc bo nh ao. a ch ao
Page # Offset

a ch that
Frame #
00 ... ... 10 ... 11 ...

Offset

V
000 ... 001 ... 010 ... ... 111 ... 1 0 0 0 0

Frame #
00

Data

Giai:

D lieu bo nh that
V 000 001 010 011 100 101 110 111 1 0 1 0 0 0 1 0 01 11 frame# 00 00 01 10 11 41
1111

- So trang that = 64/16 = 4 Frame #: 2 bit - Moi trang co 16 byte Offset: 4 bit - So trang ao = 128/16 = 8 Page #: 3 bit

Bang trang
Data 16 36 . 2 1 . 22 21 . 12 71
. 0000

Khi CPU oc a ch ao: a ch that tng ng: Data: 22, Virtual mem. hit.

110 0001 01 0001

Bo nh that

Copyright 2002 Nguyen Chi Ngon

25

Kien Truc may tnh

Chng 4: Cac cap bo nh

9. Bao ve tien trnh bang cach dung bo nh ao


Khuynh hng a chng trnh phat trien, nhieu chng trnh ong thi chia xe qua lai bo x ly va bo nh Chuyen oi qua lai gia cac chng trnh mot cach ung an e tien trnh nay khong lam anh hng cac tien trnh khac, ong thi cung tao cam giac nh moi user ang chay tren may rieng. Can ket hp gia nha san xuat phan cng va nha thiet ke He ieu hanh. Giai quyet: o Dung bo nh ao, c che chuyen t a ch ao sang a ch that (a ch vat ly) giup de dang kiem soat va ngan chan cac tham nhap bo nh trai phep. Moi tien trnh phai co bang trang rieng tro en cac trang rieng biet trong bo nh.
26

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

Bai tap
1. Gia s co bo nh Cache phoi hp hoan toan nh hnh ve, Cho biet: a. Kch thc bo nh trong? b. Kch thc Cache? c. e lay byte d lieu co gia tr 32 (hnh ve), CPU can oc a ch nao? d. ieu g xay ra khi CPU oc cac a ch sau: +) 0000111011 +) 0100100100 2. V D Tag 11 21 29 41 12 22 30 42 13 23 31 43 Data 14 24 32 44 15 25 33 45 16 26 34 46 17 27 35 47 18 28 36 48 1 0 1010111 0 1 0000111 1 0 0011100 1 1 0101011 0 0 0 0 1 1 1111000 1 0 1010010 81 91
111

82 92

83 93

84 94

85 95

86 96

87 97

88 98
000

Gia s mot may tnh co bo nh trong la 512 byte, Cache 256 byte. Hay xay dng bang mo ta to chc Cache tng ng trc tiep cho may nay, neu moi khoi trong cache la 32 byte. Cho v du mot trng hp thanh cong Cache. Cho biet cac khoi: 2, 9, va 15 cua bo nh trong c at vao v tr nao cua Cache. Lap lai cau 3 cho trng hp Cache 2-way phoi hp tap hp (tc la moi tap hp co 2 khoi).
27

3.

Copyright 2002 Nguyen Chi Ngon

Kien Truc may tnh

Chng 4: Cac cap bo nh

Bai tap (tiep)


4. Xet mot CPU chay 500MHz, tap lenh co dang nh hnh ve. Trung bnh moi lenh co t le tham nhap bo nh la 1.3 Co 2 kha nang to chc bo nh Cache cho may nay: Cach 1: Dung Cache tng ng trc tiep vi: - miss penalty = 50 chu ky - miss rate = 1,4% Dang lenh ALU ops Loads/Stores CPI 2 2 T le s dung 45% 35% 20%

Cach 2: Dung Cache phoi hp tap hp vi: Branches 3 - miss penalty = 65 chu ky - miss rate = 1% - Thi gian chon tap hp lam cho CPI trung bnh cua lenh tang 1,1 lan Anh (ch) hay chon cach tot hn. Giai thch v sao. 5.

Cho bang trang bo nh ao va d lieu bo nh that tng ng nh hnh ve (xem trang tiep theo). Xac nh: a. Kch thc bo nh ao, kch thc bo nh that va kch thc trang. b. a ch ao tng ng vi e CPU truy xuat en byte d lieu co gia tr 24 va 66 (hnh ve) c. Hay cap nhat bang trang sau khi at khung trang th 7 cua bo nh that vao trang ao th 15 cua bo nh ao.

Copyright 2002 Nguyen Chi Ngon

28

Kien Truc may tnh

Chng 4: Cac cap bo nh

V frame # 0000 0001 0010 0011 . . 1110 1111 0 0 Bang trang 6. 1 0 1 1 110 000 101

Bai tap (tiep)


000 001 010 011 100 101 110 111 68 78 67 77 66 76 08 18 28 07 17 27 06 16 26

Data 05 15 25 04 03 14 13 24 23 02 12 22 01 11 21 Hnh ve cua bai 5 65 75 64 64 74 73 62 72 61 71

D lieu bo nh that

Xet mot he thong may tnh co bo nh ao vi cac ac iem sau: - a ch that cua bo nh: 4 bit - a ch ao: 8 bit - Kch thc trang: 8 byte Hay lap bang trang va cho v du minh hoa ve nhan dien khung trang trong bo nh that.

Copyright 2002 Nguyen Chi Ngon

29

Kien Truc may tnh

Chng 4: Cac cap bo nh

Bai tap (tiep)


7. Xet mot he thong bo nh ao vi cac ac iem sau: - Kch thc bo nh ao: 64 KB - Kch thc bo nh that: 32 KB - Kch thc trang: 4 KB a. Hay lap bang trang va cho v du minh hoa ve a ch cua 1 khung trang trong bo nh that. b. Gia s trong bo nh ao co cac trang 1, 3, 5 va 7 th cac trang nay tng ng vi cac khung trang nao trong bo nh that? Hay cap nhat bang trang phu hp. c. Neu CPU truy xuat a ch: 0011 1100 0010 0101, th a ch tng ng trong bo nh that la g? 8. Lap lai cau 7 cho he thong bo nh ao vi cac ac iem sau: - a ch ao: 32 bit - a ch that: 24 bit - Kch thc trang 4 KB
Copyright 2002 Nguyen Chi Ngon 30

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

1. Gii thiu
CPU giao tip vi bn ngoi thng qua h thng Xut Nhp, cn gi l ngoi vi. Cc ngoi vi thng dng l: Mn hnh, bn phm, chut, my in, th mng... Cc a t, bng t, a quang, cc loi th nh. Ngoi vi u c ni vo b x l v b nh trong bng mt h thng dy ni hay kt ni khng dy (wireless).

Gii thieu a t a ban dan a quang Bang t

Bus vao ra Cac chuan ve Bus Giao dien gia uP va IO o an toan d lieu trong a t

ThS. Nguyn Ha Duy Khang - 2007

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

2. a cng
Lu tr di hn cc tp tin. Thit lp cp b nh o lc chy chng trnh.

ThS. Nguyn Ha Duy Khang - 2007

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

ThS. Nguyn Ha Duy Khang - 2007

ThS. Nguyn Ha Duy Khang - 2007

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

3. a quang
Dng nh sng laser c d liu im nn (Land) phn x nh sng mnh: bit 1 im khc (Pit) phn x nh snh yu: bit 0 D liu lu trn CD: Khi = 2.352 byte. Gm:
304 byte: thng tin v bit ng b, bit nhn dng, m sa li, m pht hin li. 2.048 byte d liu

Tc c chun ca CD-ROM: 75 khi/s hay 153.600 byte/s hay 150KB/s (1X).


ThS. Nguyn Ha Duy Khang - 2007 7 ThS. Nguyn Ha Duy Khang - 2007 8

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

4. Th nh
L th nh bn dn EEPROM (Ghi/Xa bng in)

6. H thng BUS

ThS. Nguyn Ha Duy Khang - 2007

ThS. Nguyn Ha Duy Khang - 2007

10

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

H thng BUS phn cp

7. Chun v BUS
Thng nht cc tn hiu kt ni gia my tnh v thit b vo ra.
a cng, CDROM: IDE, SCSI, SATA (Serial ATA) Cng ni tip: RS232, RS485, IEEE-1394, USB Giao tip khng dy: Bluetooth, IEEE 802.11x, IrDA. Slot m rng: ISA, VESA, PCI Giao tip ha: AGP, PCI Express

ThS. Nguyn Ha Duy Khang - 2007

11

ThS. Nguyn Ha Duy Khang - 2007

12

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

Tc truyn d liu

8. Giao din gia CPU vi Ngoi vi


DMA: Truy xut b nh trc tip

ThS. Nguyn Ha Duy Khang - 2007

13

ThS. Nguyn Ha Duy Khang - 2007

14

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

9. An ton d liu trong a t


RAID: l mt tp hp cc a cng (vt l) c thit lp theo mt k thut m h iu hnh nhn thy ch l mt a (logic) duy nht. C ch c/ghi thng tin din ra trn nhiu a (ghi an cho hay soi gng). Trong mng a c lu cc thng tin kim tra li d liu, nn d liu c th c phc hi khi c mt a trong mng a b h hng .
ThS. Nguyn Ha Duy Khang - 2007 15

RAID 0 Khng c an ton


Dung lng a = tng dung lng cc a thnh vin V d: S dng 4 a 40GB => Dung lng a = 40 x 4 = 160GB

ThS. Nguyn Ha Duy Khang - 2007

16

Kien Truc may tnh

Chng 5: Xut nhp

Kien Truc may tnh

Chng 5: Xut nhp

RAID 1 a gng: an ton cao, t


1 Byte d liu c lu tr trn 2 v tr khc nhau Dung lng a = (tng dung lng cc a thnh vin) V d: S dng 8 a 40GB => Dung lng a = (40 x 8) = 160GB

RAID N (vi N > 1) An ton cao, r


1 Byte d liu c chia thnh nhiu phn, mi phn c lu tr trn nhng a cng khc nhau. C a cng lu tr m kim tra ca d liu dng cho vic sa sai khi d liu hng Dung lng a = (tng dung lng cc a D LIU thnh vin) V d: S dng 3 a 40GB lu d liu v 1 a 40GB lu m kim tra => Dung lng a = (40 x 3) = 120GB

ThS. Nguyn Ha Duy Khang - 2007

17

ThS. Nguyn Ha Duy Khang - 2007

18

Kien Truc may tnh

Chng 5: Xut nhp

THI TRC NGHIM


Thi gian: 90 pht S cu: 60 cu c s dng mi ti liu

ThS. Nguyn Ha Duy Khang - 2007

19

You might also like