Tải bản đầy đủ (.ppt) (92 trang)

Kiến trúc máy tính bài 4 Kiến trúc hệ thống nhớ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (848.49 KB, 92 trang )

Kiến trúc hệ thống nhớ
4.1. Công nghệ hệ thống nhớ.
4.2. Hệ thống nhớ chính.


Các đặc trưng của hệ thống nhớ


Vị trí



„Bên trong CPU:




„Bộ nhớ trong:









„Tập thanh ghi
„Bộ nhớ chính
„Bộ nhớ cache


Bộ nhớ ngồi: các thiết bị nhớ

Dung lượng
Độ dài từ nhớ (tính bằng bit)
Số lượng từ nhớ


Các đặc trưng của hệ thống nhớ
(tiếp)


Đơn vị truyền





„ Từ nhớ
„ Khối nhớ

„ Phương pháp truy nhập





„ Truy nhập tuần tự (băng từ)
„ Truy nhập trực tiếp (các loại đĩa)
„ Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)
„ Truy nhập liên kết (cache)



Các đặc trưng của hệ thống nhớ
(tiếp)


Hiệu năng (performance)







„ Thời gian truy nhập
„ Chu kỳ nhớ
„ Tốc độ truyền

„ Kiểu vật lý





„ Bộ nhớ bán dẫn
„ Bộ nhớ từ
„ Bộ nhớ quang


Các đặc trưng của hệ thống nhớ

(tiếp)


Các đặc tính vật lý




„Khả biến / Khơng khả biến
(volatile / nonvolatile)
„ Xố được / khơng xố được


Phân cấp hệ thống nhớ


Bộ nhớ đệm (cache)
Nguyên tắc chung của cache
 Nguyên

cục
nhớ:










bộ

hoá

tham

chiếu

bộ

Thời gian: Một lệnh hoặc dữ liệu vừa được truy nhập thì thường sẽ được truy nhập
ngay sau đó.
Khơng gian: Một lệnh hoặc một dữ liệu vừa được truy nhập thì thường những lệnh
hoặc dữ liệu lân cận sẽ được truy nhập ngay sau đó.

Ví dụ:
„ Cấu trúc chương trình tuần tự
„ Vịng lặp có thân nhỏ
„ Cấu trúc dữ liệu mảng


Nguyên tắc chung của cache
(tiếp)
Cache có tốc độ nhanh hơn bộ nhớ chính.
„Cache
được
đặt
giữa
nhằm tăng tốc độ CPU truy cập bộ nhớ.

 „Cache có thể được đặt trên chip CPU.



CPU



bộ

nhớ

chính


Ví dụ hoạt động của cache
CPU yêu cầu nội dung của ngăn nhớ
 CPU kiểm tra trên cache với dữ liệu này
 Nếu
có,
CPU
nhận
dữ
(nhanh) – Hit cache
 Nếu
khơng
có,
đọc
Block
liệu từ bộ nhớ chính vào cache – Miss cache

 Tiếp
đó
chuyển
dữ
liệu
CPU.


liệu

từ

nhớ

chứa

từ

cache

cache
dữ
vào


Tổ chức bộ nhớ cache và bộ nhớ
chính


Tổ chức bộ nhớ cache và bộ nhớ

chính (tiếp)
Bộ nhớ chính có 2N byte nhớ
 Bộ
nhớ
chính

cache
các khối có kích thước bằng nhau




Bộ nhớ chính: B0, B1, B2, ... , Bp-1 (p Blocks)



Bộ nhớ cache: L0, L1, L2, ... , Lm-1 (m Lines)



m<


Kích

thước

của


Block

=

được

chia

8,16,32,64,128

thành

byte


Tổ chức bộ nhớ cache và bộ nhớ
chính (tiếp)






Khi CPU truy nhập (đọc/ghi) một từ nhớ có
2 khả năng xảy ra:


Từ nhớ có trong cache (hit cache)
• Từ nhớ khơng có trong cache (miss cache)



Một số Block của bộ nhớ chính
được nạp vào các Line của
Cache.
Nội dung Tag (thẻ nhớ) cho biết
Block
nào của bộ nhớ chính hiện đang
được chứa ở Line đó.
Bit F báo hiệu nội dung của Line
có thay đổi hay không. F = 0 không
đổi; F = 1 có thay đổi.


Các phương pháp ánh xạ
Ánh xạ trực tiếp (direct mapping)
 Ánh xạ liên kết toàn phần (Fully associative mapping)
 Ánh xạ liên kết tập (Set associative mapping)



Ánh xạ trực tiếp


Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache:



B0 → L0




B1 → L1



....
Bm-1 → Lm-1




Bm → L0



Bm+1 → L1





....

Tổng quát



Bj chỉ có thể nạp vào L j mod m




m là số Line của cache.
Mod là phép chia lấy phần dư.



Ví dụ: Cache có 16
lines. Hỏi block 100
nạp vào line nào
của cache?
100 mod 16 = 4


Minh họa ánh xạ trực tiếp


Đặc điểm của ánh xạ trực tiếp


Mỗi
một
ba trường:



N

bit

của


gồm

W

bit

bộ
xác

nhớ
định

chính
một

từ

gồm
nhớ

2W = kích thước của Block hay Line

„ Trường Line (n2) gồm L bit xác định một trong số các Line trong cache:




2L = số Line trong cache = m  dung lượng cache = 2L+W


„ Trường Tag (n3) gồm T bit xác định block nhớ cần truy cập  dựa vào số block: 2T = số
block.







chỉ

Trường
Word
(n1)
trong Block hay Line:





địa

N = T+L+W

Bộ so sánh đơn giản
Xác suất cache hit thấp


Ví dụ minh họa
CPU có 24 bit địa chỉ (224 byte = 16MB), bộ nhớ chính 256 KB chia làm

512 block nhớ, bộ nhớ cache có dung lượng 8 KB. Khi CPU được lệnh
phát ra địa chỉ truy nhập bộ nhớ là 308842h. Hãy trình bày chi tiết
phương pháp đọc cache theo kỹ thuật ánh xạ trực tiếp cho trường hợp
phát ra địa chỉ trên và cho biết địa chỉ ô nhớ cần truy cập trong bộ nhớ
chính.
 Đỉa chỉ có hợp lệ khơng? Xác định chiều dài địa chỉ hợp lệ là bảo nhiêu
bit? Block có nạp đúng line của cache không? T, L, W (n 3,n2,n1).



Giải ví dụ minh họa


Bước 1: Xác định dung lượng của 1 block (line) nhớ.

Cmemory

256 KB 28 210
9
 Bước
C2:block
cache

2 (byte)
Xác 
định số line của
9
nblock
512
2

→ W (n1) = 9 bits

→ L (n2) = 4 bits. Dùng 4 bits để đánh số hiệu cho line (0 – 15)

nline

Ccache
8 KB


16 2 4 (lines)
Cblock 0.5 KB


Giải ví dụ minh họa (tiếp)


Bước 3: Xác định số bits để đánh số hiệu block trong bộ nhớ.
Số block = 512 = 29
→ T (n3)= 9 (bits)



Bước 4: Xác định số bits địa chỉ hợp lệ
N = W + L + T = 9 + 4 + 9 = 22 (bits)



Bước 5: Đọc bộ nhớ địa chỉ 308842h




Xác định tính hợp lệ của địa chỉ

308842h = 1100001000100001000010b
→ Địa chỉ hợp lệ vì số bits là 22 bits.  thỏa mãn chiều dài (số bít <=N)

Xác đinh số line trong cache cần truy cập: 0100b = 4 → Truy cập line 4
trong cache.


Bước 5 (tiếp)


Xác định số hiệu block của bộ nhớ cần truy cập.

BI (Block index) = 1100001002 = 28 + 27 + 22 = 256 + 128 + 4 = 388.
→ block nhớ cần truy cập là 388.

Xác định block có nạp đúng line của cache khơng.
Số hiệu line = số hiệu block mod số line của cache
→ số hiệu line = 388 mod 16 = 4 → block nạp đúng → địa chỉ hợp lệ

CPU phát địa chỉ của ô nhớ cần truy cập ra bus địa chỉ.
 Bước 6. Bộ điều khiển cache (MMU – Memory Management Unit) sẽ
truy cập vào line 4 của cache và đọc trường Tag của line này, sau đó
đem so sánh với số hiệu block cần truy cập 388. Có 2 khả năng xảy ra.





×