Kiến trúc máy tính Chương IV: Các cp b nh
PROM (Programable ROM): Chế to bng các mi ni (cu chì - có th làm đứt
bng đin). Chương trình nm trong PROM có th được viết vào bi người s dng bng
thiết b đặc bit và không th xóa đưc.
EPROM (Erasable Programable ROM): Chế to bng nguyên tt phân cc tĩnh
đin. Chương trình nm trong ROM có th được viết vào (bng đin) và có th xóa (bng
tia cc tím - trung hòa tĩnh đin) để viết li bi người s dng.
EEPROM (Eletrically Erasable Programable ROM): Chế to bng công ngh
bán dn. Chương trình nm trong ROM có th được viết vào và có th xóa (bng đin) để
viết li bi người s dng.
Kiu b nh Loi Cơ chế xoá Cơ chế
ghi
Tính bay
hơi
RAM đọc/ghi bng đin, mc byte bng đin Có
ROM Mt n
Programmable ROM
(PROM)
ch đọc Không th xoá
Erasable PROM Tia cc tím, mc chip
Electrically Erasable
PROM (EEPROM) bng đin, mc byte
Flash Memory
hu hết ch
đọc
bng đin, mc khi
bng đin Không
Bng IV.1: Các kiu b nh bán dn
IV.2. CÁC CP B NH
Các đặc tính như lượng thông tin lưu tr, thi gian thâm nhp b nh, chu k b
nh, giá tin mi bit nh khiến ta phi phân bit các cp b nh: các b nh nhanh vi
dung lượng ít đến các b nh chm vi dung lượng ln (hình IV.3)
Hình IV.3: Các cp b nh
65
Kiến trúc máy tính Chương IV: Các cp b nh
Các đặc tính chính ca các cp b nh dn đến hai mc chính là: mc cache - b
nh trong mc b nh o (bao gm b nh trong và không gian cp phát trên đĩa
cng) (hình IV.4). Cách t chc này trong sut đối vi người s dng. Ngưi s dng ch
thy duy nht mt không gian định v ô nh, độc lp vi v trí thc tế ca các lnh và d
liu cn thâm nhp.
Hình IV.4: Hai mc b nh
Các cp b nh giúp ích cho người lp trình mun có mt b nh tht nhanh vi
chi phí đầu tư gii hn. Vì các b nh nhanh đắt tin nên các b nh đưc t chc thành
nhiu cp, cp có dung lượng ít thì nhanh nhưng đắt tin hơn cp có dung lượng cao hơn.
Mc tiêu ca vic thiết lp các cp b nh là người dùng có mt h thng b nh r tin
như cp b nh thp nht và gn nhanh như cp b nh cao nht. Các cp b nh thường
được lng vào nhau. Mi d liu trong mt cp thì được gp li trong cp thp hơn và có
th tiếp tc gp li trong cp thp nht.
Chúng ta có nhn xét rng, mi cp b nh có dung lượng ln hơn cp trên
mình, ánh x mt phn địa ch các ô nh ca mình vào địa ch ô nh ca cp trên trc
tiếp có tc độ nhanh hơn, và các cp b nh phi có cơ chế qun lý và kim tra các địa
ch ánh x.
IV.3. XÁC SUT TRUY CP D LIU TRONG B NH TRONG
Cache là b nh nhanh, nó cha lnh và d liu thường xuyên dùng đến. Vic
la chn lnh và d liu cn đặt vào cache da vào các nguyên tc sau đây:
Mt chương trình mt 90% thi gian thi hành lnh ca nó để thi hành 10% s
lnh ca chương trình.
Nguyên tc trên cũng được áp dng cho vic thâm nhp d liu, nhưng ít hiu
nghim hơn vic thâm nhp lnh. Như vy có hai nguyên tc: nguyên tc v không gian
nguyên tc v thi gian
Hình IV.4: Hai mc b nh
Băng t, CD, DVD
Các thanh
g
hi
Cache
B nh trong
Đĩa cng
Mc b
nh o
Mc
cache - B
nh trong
¾ Nguyên tc v thi gian: cho biết các ô nh được h thng x lý thâm
nhp có kh năng s được thâm nhp trong tương lai gn. Tht vy, các chương trình
được cu to vi phn chính là phn đưc thi hành nhiu nht và các phn ph dùng để
66
Kiến trúc máy tính Chương IV: Các cp b nh
x lý các trường hp ngoi l. Còn s liu luôn có cu trúc và thông thường ch có mt
phn s liu được thâm nhp nhiu nht mà thôi.
¾ Nguyên tc v không gian: cho biết, b x lý thâm nhp vào mt ô nh
thì có nhiu kh năng thâm nhp vào ô nhđịa ch kế tiếp do các lnh được sp xếp
thành chui có th t.
T chc các cp b nh sao cho các lnh và d liu thường dùng được nm
trong b nh cache, điu này làm tăng hiu qu ca máy tính mt cách đáng k.
IV.4. VN HÀNH CA CACHE
Mc cache -b nh trong trong bng các cp b nh có cơ cu vn hành trong
sut đối vi b x lý. Vi thao tác đọc b nh, b x lý gi mt địa ch và nhn mt d
liu t b nh trong. Vi thao tác ghi b nh, b x lý viết mt d liu vào mt ô nh vi
mt địa ch được ch ra trong b nh. Để cho chương trình vn hành bình thường thì
cache phi cha mt phn con ca b nh trong để b x lý có th thâm nhp vào các
lnh hoc d liu thường dùng t b nh cache. Do dung lượng ca b nh cache nh
nên nó ch cha mt phn chương trình nm trong b nh trong. Để đảm bo s đồng
nht gia ni dung ca cache và b nh trong thì cache và b nh trong phi có cùng cu
trúc. Vic chuyn d liu gia cache và b nh trong là vic ti lên hay ghi xung các
khi d liu. Mi khi cha nhiu t b nh tu thuc vào cu trúc b nh cache. S la
chn kích thước ca khi rt quan trng cho vn hành ca cache có hiu qu.
Hình IV.5: Trao đổi d liu gia các thành phn CPU-Cache-B nh trong
Trước khi kho sát vn hành ca cache, ta xét đến các khái nim liên quan:
Chuyn tng t Chuyn tng khi
Cache
B x
B nh trong
- Thành công cache (cache hit): b x lý tìm gp phn t cn đọc (ghi) trong
cache.
- Tht bi cache (cache miss): b x lý không gp phn t cn đọc (ghi) trong
cache.
- Trng pht tht bi cache (cache penalty): Thi gian cn thiết để x mt
tht bi cache. Thi gian bao gm thi gian thâm nhp b nh trong cng vi thi gian
chuyn khi cha t cn đọc t b nh trong đến cache. Thi gian này tu thuc vào kích
thước ca khi.
Để hiu được cách vn hành ca cache, ta ln lượt xem xét và tr li bn câu hi
liên quan đến các tình hung khác nhau xy ra trong b nh trong.
Câu hi 1: Phi để mt khi b nh vào ch nào ca cache (sp xếp khi)?
Câu hi 2: Làm sao để tìm mt khi khi nó hin din trong cache (nhn din
khi)?
67
Kiến trúc máy tính Chương IV: Các cp b nh
Câu hi 3: Khi nào phi được thay thế trong trường hp tht bi cache (thay
thế khi)?
Câu hi 4: Vic gì xy ra khi ghi vào b nh (chiến thut ghi)?
Tr li câu hi 1: Phi để mt khi b nh vào ch nào ca cache (sp xếp
khi)?
Mt khi b nh được đặt vào trong cache theo mt trong ba cách sau:
Kiu tương ng trc tiếp: Nếu mi khi b nh ch có mt v trí đặt
khi duy nht trong cache được xác định theo công thc: K= i mod n
Trong đó:
K: v trí khi đặt trong cache
i: s th t ca khi trong b nh trong
n: s khi ca cache
Như vy, trong kiu xếp đặt khi này, mi v trí đặt khi trong cache có th cha
mt trong các khi trong b nh cách nhau xn khi (x: 0,1,...,m; n: s khi ca cache)
Ví d:
S th t khi cache S th t ca khi trong b nh trong
0 0, n, 2n,...mn
1 1,n+1, 2n+1,...,mn+1
... ...
n-1 n-1, 2n-1,...mn-1
Kiu hoàn toàn phi hp: trong kiu đặt khi này, mt khi trong b nh
trong có th được đặt vào v trí bt k trong cache.
Như vy, trong kiu xếp đặt khi này, mi v trí đặt khi trong cache có th cha
mt trong tt c các khi trong b nh
Kiu phi hp theo tp hp: vi cách t chc này, cache bao gm các tp
hp ca các khi cache. Mi tp hp ca các khi cache cha s khi như nhau. Mt
khi ca b nh trong có th được đặt vào mt s v trí khi gii hn trong tp hp được
xác định bi công thc: K= i mod s
Trong đó:
K: v trí khi đặt trong cache
i: s th t ca khi trong b nh trong
s: s lượng tp hp trong cache.
Trong cách đặt khi theo kiu phi hp theo tp hp, nếu tp hp có m khi, s
tương ng gia các khi trong b nh trong và các khi ca cache được gi là phi hp
theo tp hp m khi.
Nếu m=1 (mi tp hp có 1 khi), ta có kiu tương ng trc tiếp.
Nếu m=n (n: s khi ca cache), ta có kiu tương hoàn toàn phi hp.
Hin nay, phn ln các cache ca các b x đều là kiu tương ng trc tiếp
hay kiu phi hp theo tp hp (mi tp hp gm 2 hoc 4 khi).
Ví d: B nh trong có 32 khi, cache có 8 khi, mi khi gm 32 byte, khi th
12 ca b nh trong được đưa vào cache.
68
Kiến trúc máy tính Chương IV: Các cp b nh
0 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
S th t khi
B nh trong
TH0 TH1 TH2 TH3
Hoàn toàn phi hp Tương ng trc tiếp Phi hp theo tp hp
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
01234567
S th t khi
B nh cache
Tr li câu hi 2: Làm sao để tìm mt khi khi nó hin din trong cache
(nhn din khi)?
Mi khi ca cache đều có mt nhãn địa ch cho biết s th t ca các khi b
nh trong đang hin din trong cache. Nhãn ca mt khi ca cache có th ch thông tin
cn thiết được xem xét để biết được các khi nm trong cache có cha thông tin mà b
x lý cn đọc hay không. Tt c các nhãn đều được xem xét song song (trong kiu tương
ng trc tiếp và phi hp theo tp hp) vì tc độ là yếu t then cht. Để biết xem mt
khi ca ca cache có cha thông tin mà b x lý cn tìm hay không, người ta thêm mt
bit đánh du (valid bit) vào nhãn để nói lên khi đó có cha thông tin mà b x lý cn tìm
hay không.
Như đã mô t phn đầu, vi thao tác đọc (ghi) b nh, b xđưa ra mt địa
ch và nhn (viết vào) mt d liu t (vào) b nh trong. Địa ch mà b xđưa ra có
th phân tích thành hai thành phn: phn nhn dng s th t khi và phn xác định v trí
t cn đọc trong khi.
Tương ng vi ba kiu lp đặt khi đã xét, ta có:
a. Căn c vào t chc s t trong khi b nh mà s bit trong địa ch xác định
v trí t cn đọc trong khi. Cách này đúng vi c ba cách xếp đặt khi đã xét.
b. Phn nhn dng s th t khi s khác nhau tu thuc vào cách xếp đặt
khi, trường ch s khi được so sánh vi nhãn ca cache để xác định khi trong cache.
D liu được b xđọc cùng lúc vi vic đọc nhãn. Phn ch s khi ca khi
trong b nh trong được so sánh vi bng tương quan để xác định khi có nm trong
cache hay không. Để chc rng nhãn cha thông tin đúng đắn (tc là khi có cha t
b x lý cn đọc-ghi), nếu vic so sánh nhãn ca khi cache ging vi s th t khi, bit
đánh du (Valid bit) phi được bt lên. Ngược li, kết qu so sánh được b qua. B x
căn c vào phn xác định t trong khi để đọc (ghi) d liu t (vào) cache.
- Đối vi kiu tương ng trc tiếp, phn nhn dng ch s khi được chia
thành hai phn:
69