Bài giảng Kiến trúc máy tính - Chương 5: Tổ chức và Cấu trúc bộ nhớ - Nguyễn Thanh Sơn

Computer Architecture  
Computer Science & Engineering  
Chương 5  
Tổ chức và  
Cấu trúc bộ nhớ  
BK  
TP.HCM  
Các loại Bộ nhớ (Công nghệ)  
RAM tĩnh (SRAM)  
0.5ns – 2.5ns, $2000 – $5000 per GB  
RAM động (DRAM)  
50ns – 70ns, $20 – $75 per GB  
Đĩa từ (Magnetic disk)  
5ms – 20ms, $0.20 – $2 per GB  
Bộ nhớ lý tưởng  
Thời gian truy xuất theo SRAM  
Dung lượng & Giá thành/GB theo đĩa  
Khoa Khoa học & Kỹ thuật Máy tính  
BK  
TP.HCM  
2
4/5/2019  
Tính cục bộ (Locality)  
Chương trình truy cập một vùng nhỏ không  
gian bộ nhớ  
Cục bộ về thời gian (Temporal Locality)  
Những phần tử vừa được tham chiếu có xu hướng  
được tham chiếu lại trong tương lai gần  
Ví dụ: các lệnh trong 1 vòng lặp, các biến quy nạp  
Cục bộ về không gian (Spatial Locality)  
Những phần tử ở gần những phần tử vừa được tham  
chiếu có xu hướng được tham chiếu lại trong tương  
lai gần Ví dụ: truy cập lệnh trong 1 basic block,  
dữ liệu mảng  
BK  
TP.HCM  
3
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Tận dụng lợi thế về cục bộ  
Tổ chức phân tầng bộ nhớ  
Lưu trữ mọi thứ trên đĩa  
Chỉ nạp vào bộ nhớ Chính (DRAM) 1 phần  
đang sử dụng từ đĩa  
Chỉ nạp vào bộ nhớ CACHE (SRAM) 1 phần  
đang truy cập ở bộ nhớ chính  
Bộ nhớ Cache là bộ nhớ mà CPU truy cập trực  
tiếp  
BK  
TP.HCM  
4
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Các lớp tổ chức của bộ nhớ  
Khối (Block=aka line): Đơn vị sao  
chép  
Có thể gồm nhiều từ (words)  
Nếu dữ liệu truy cập hiện diện  
Trúng(hit): đúng dữ liệu cần truy xuất  
Tỷ lệ trúng (hit rate): hits/accesses  
Nếu dữ liệu truy cập không hiện  
diện  
Trật (miss): khối chứa dữ liệu cần  
được nạp từ lớp thấp hơn  
Thời gian: giá phải trả để giải quyết  
Tỷ lệ sai (miss rate): misses/accesses  
= (1 – hit ratio)  
BK  
TP.HCM  
5
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Bộ nhớ đệm (Cache)  
Bộ nhớ Cache  
Trong cấu trúc lớp của tổ chức hệ thống bộ  
nhớ, Cache là lớp trực tiếp với CPU  
Giả sử truy cập X1, …, Xn–1, Xn  
Làm sao biết được  
dữ liệu cần truy cập  
có trong Cache?  
Ở đâu?  
BK  
TP.HCM  
6
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ánh xạ trực tiếp  
Vị trí xác định qua địa chỉ  
Ánh xạ trực tiếp: Chỉ có 1 lực chọn  
(Block address) modulo (#Blocks in cache)  
Chỉ số khối  
(#Blocks) là  
lũy thừa của 2  
Sử dụng các  
bit thấp của  
địa chỉ  
BK  
TP.HCM  
7
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Nhãn (Tags) & Bit hợp lệ  
Làm sao có thể biết được một khối nào  
đó tồn tại trong cache?  
Chứa cả địa chỉ khối và dữ liệu  
Thực tế, chỉ cần những bit cao  
Gọi là nhãn (tag)  
Nếu dữ liệu không hiện diện thì  
Valid bit: 1 = hiện diện, 0 = không hiện  
diện  
Khởi động ban đầu là không hiện diện (0)  
BK  
TP.HCM  
8
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ Cache  
8-blocks, 1 word/block, ánh xạ trực tiếp  
Trạng thái ban đầu  
Index  
000  
001  
010  
011  
100  
101  
110  
111  
V
N
N
N
N
N
N
N
Tag  
Data  
BK  
TP.HCM  
9
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ (tt.)  
Word addr  
22  
Binary addr  
10 110  
Hit/miss Cache block  
Miss 110  
Index  
000  
001  
010  
011  
100  
101  
110  
111  
V
N
N
N
N
N
Y
N
Tag  
Data  
10  
Mem[10110]  
BK  
TP.HCM  
10  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ (tt.)  
BK  
TP.HCM  
11  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ (tt.)  
Word addr  
Binary addr  
Hit/miss Cache block  
22  
26  
10 110  
11 010  
Hit  
Hit  
110  
010  
Index  
V
N
N
Y
N
N
Y
N
Tag  
Data  
000  
001  
010  
011  
100  
101  
110  
111  
11  
10  
Mem[11010]  
Mem[10110]  
BK  
TP.HCM  
12  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ (tt.)  
Word addr  
Binary addr  
Hit/miss Cache block  
16  
3
10 000  
00 011  
10 000  
Miss  
Miss  
Hit  
000  
011  
000  
16  
Index  
V
Y
N
Y
Y
N
Y
N
Tag  
Data  
000  
001  
010  
011  
100  
101  
110  
111  
10  
Mem[10000]  
11  
Mem[11010]  
00  
Mem[00011]  
10  
Mem[10110]  
BK  
TP.HCM  
13  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ (tt.)  
Word addr  
18  
Binary addr  
10 010  
Hit/miss Cache block  
Miss 010  
Index  
V
Y
N
Y
Y
N
Y
N
Tag  
Data  
000  
001  
010  
011  
100  
101  
110  
111  
10  
Mem[10000]  
10  
Mem[10010]  
00  
Mem[00011]  
10  
Mem[10110]  
BK  
TP.HCM  
14  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Chia nhỏ không gian địa chỉ  
BK  
TP.HCM  
15  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Ví dụ: Khối có kích thước lớn  
64 blocks, 16 bytes/block  
Địa chỉ 1200 sẽ ánh xạ vào khối nào?  
Địa chỉ Block = 1200/16 = 75  
Chỉ số Block = 75 modulo 64 = 11  
31  
10 9  
4 3  
0
Tag  
22 bits  
Index Offset  
6 bits  
4 bits  
BK  
TP.HCM  
16  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Nhận xét về kích thước khối  
Kích thước khối lớn: giảm “tỷ lệ  
trật”  
Do cục bộ không gian  
Với Cache có kích thước cố định  
Kích thước khối lớn ít khối  
trong Cache  
nhiều cạnh tranh  
tăng tỷ lệ trượt  
Kích thước khối lớn ô  
nhiễm  
ch thước khối lớn  
không tận dụng được việc  
giảm tỷ lệ trượt  
BK  
TP.HCM  
17  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Xử lý Cache Misses  
CPU sẽ xử lý bình thường theo lộ trình,  
nếu thông tin có trong cache (cache hit)  
Nếu thông tin không có trong cache (mis)  
Lộ trình bị “khựng lại” (Stall the CPU pipeline)  
Nạp 1 khối từ lớp dưới  
Nếu đó là lệnh (Instruction cache miss)  
Khởi động lại bước nạp lệnh (instruction fetch)  
Nếu là truy cập dữ liệu (Data cache miss)  
Hoàn tất việc truy cập  
BK  
TP.HCM  
18  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
“Write-Through”  
Khi ghi dữ liệu lên bộ nhớ, nếu tồn tại trong cache   
cập nhật khối dữ liệu trong cache  
Tuy nhiên có thể xuất hiện bất đồng nhất dữ liệu trong  
cache và bộ nhớ  
Write through: đồng thời cập nhật luôn bộ nhớ  
Thời gian ghi sẽ dài hơn  
Ví dụ: nếu CPI = 1, 10% số lệnh là lệnh store (ghi bộ nhớ)  
và (100 chu kỳ/lệnh ghi bộ nhớ)  
CPI (thực tế) = 1 + 0.1×100 = 11  
Giải pháp: Ghi ra vùng đệm (buffer)  
Dưới dạng hàng đợi ghi ra bô nhớ  
CPU tiếp tục ngay:Only stalls on write if write buffer is already full  
BK  
TP.HCM  
19  
4/5/2019  
Khoa Khoa học & Kỹ thuật Máy tính  
Write-Back  
Phương án khác: giải quyết vấn đề bất  
đồng nhất dữ liệu khi “data-write hit”  
Theo dõi sự thay đổi, cập nhật khối cache  
(dirty block)  
Nếu khối cache thay đổi quá nhiều  
(dirty block)  
Cập nhật bộ nhớ  
Có thể ghi ra buffer để khối mới thay thế  
được đọc trước  
BK  
TP.HCM  
20  
4/5/2019  
Khoa Khoa học & Kỹ thuật máy tính  
Tải về để xem bản đầy đủ
pdf 70 trang yennguyen 20700 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 5: Tổ chức và Cấu trúc bộ nhớ - Nguyễn Thanh Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_5_to_chuc_va_cau_truc_bo.pdf