Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ cache - Nguyễn Thị Phương

Chương 4. Bộ nhớ cache  
4.1 Tổng quan về bộ nhớ máy tính  
4.2 Nguyên lý của bộ nhớ cache  
4.3 Các thành phần trong thiết kế bộ nhớ  
cache  
4.4 Tổ chức cache của Pentium 4  
4.5 T chức cache trong ARM  
Một số khái niệm  
Từ (word): đơn vị “tự nhiên” của bộ nhớ. Kích thước từ  
thường bằng số bit biểu diễn một số nguyên và kích thước  
lệnh. Intel x86 có kích thước từ là 32b.  
Đơn vị đánh địa chỉ: ở các hệ thống khác nhau, đơn vị đánh  
địa chỉ thể là byte hoặc word. Trong bất cứ trường hợp  
nào, mối quan hệ giữa số lượng các đơn vị đánh địa chỉ N và  
số bit địa chỉ A là 2= 푁  
Đơn vị truyền:  
Với bộ nhớ chính, đơn vị truyền bằng số lượng các bit được gửi đến  
hoặc đi từ bộ nh.  
Với bộ nhớ ngoài, đơn vị truyền thường lớn hơn rất nhiều, thường  
được gọi là các khối (block)  
Ví dụ  
1. VXL Intel x86-32b, kết nối bus (32 đường địa chỉ,  
16 đường dữ liệu) với bộ nhớ tổ chức dưới dạng  
các ngăn nhớ 16b. Hãy cho biết:  
a. Kích thước word của BN trên  
b. Dung lượng tối đa của bộ nhớ mà VXL có thể  
quản lý được.  
c. Đơn vị truyền của BN trên. Để thực hiện một  
lệnh: cộng 2 số (trong bộ nhớ) và ghi kết quả vào  
1 ngăn nhớ khác thì VXL sẽ phải thực hiện bao  
nhiêu thao tác đọc, ghi BN  
4.1 Tng quan về bộ nhớ máy tính  
Phân loại bộ nhớ máy tính  
Vị trí  
Hiệu suất  
Bên trong (vd: thanh ghi, cache, bộ nhớ Thời gian truy cập  
chính  
Chu kỳ xung nhịp  
Bên ngoài (vd: đĩa quang, đĩa từ, băng từ) Tốc độ truyền tải  
Dung lượng  
Số lượng từ  
Số lượng byte  
Loại vật lý  
Bán dẫn  
Từ  
Quang học  
Quang từ  
Đơn vị truyền  
Từ  
Khối  
Tính chất vật lý  
Điện động/điện tĩnh (Dữ liệu bị  
mất khi mất điện)  
thể xóa/không xóa được  
Phương pháp truy cập  
Tuần tự  
Trực tiếp  
Ngẫu nhiên  
Kết hợp  
Tổ chức  
Module bộ nhớ  
Phân loại bộ nhớ  
a. Vị trí  
Bộ nhớ thể ở trong và ngoài máy tính  
• Bộ nhớ chính là bộ nhớ trong  
• Bộ xử lý cần bộ nhớ cục bộ riêng của nó: thanh ghi  
• Cache là một dạng khác của bộ nhớ trong  
• Bộ nhớ ngoài bao gồm các thiết bị lưu trữ ngoại vi có thể truy cập  
vào bộ xử lý thông qua bộ điều khiển I/O  
b. Dung lượng  
• Bộ nhớ thường được biểu diễn dưới dạng byte  
c. Đơn vị truyền  
• Đối với bộ nhớ trong, đơn vị truyền bằng số lượng đường điện đi  
vào và ra khỏi module bộ nhớ  
Phân loại bộ nhớ (tiếp)  
d. Phương pháp truy cập các khối dữ liệu  
Truy cập tuần Truy cập trực  
Truy cập ngẫu  
Kết hợp  
tự  
tiếp  
nhiên  
• Mỗi vị trí trong bộ  
nhớ có một cơ chế  
định địa chỉ riêng  
• Một word được  
truy xuất dựa trên  
một phần nội dung  
thay vì địa chỉ của  
nó  
• Bộ nhớ được  
tổ chức thành  
các đơn vị dữ  
liệu được gọi là  
bản ghi (record)  
một cơ chế  
đọc-ghi chia sẻ  
• Mỗi khối hoặc  
bản ghi có một  
địa chỉ duy nhất  
• Thời gian truy cập  
vào một vị trí nhất định  
không đổi phụ thuộc • Mỗi vị trí có cơ  
vào chuỗi các truy cập  
trước đó  
• Truy cập được dựa trên vị trí vật  
thực hiện tuần tự lý  
chế định địa chỉ  
riêng. Thời gian truy  
xuất là không đổi,  
phụ thuộc vào vị trí  
hoặc các truy cập  
trước đó  
• Thời gian truy • Thời gian truy  
cập biến đổi  
• Một vị trí bất kỳ có  
thể được chọn ngẫu  
nhiên, định địa chỉ và  
truy cập trực tiếp  
cập biến đổi  
dụ: băng từ dụ: đĩa từ  
• Bộ nhớ Cache có  
thể sử dụng truy  
cập kết hợp  
dụ: bộ nhớ chính  
và một số bộ nhớ  
cache  
e. Hiệu năng  
Hai đặc điểm quan trọng nhất của bộ nhớ: dung lượng  
và hiệu năng  
Ba tham số hiệu năng được sử dụng:  
Chu kỳ bộ nhớ  
Thời gian truy cập  
(độ trễ)  
• Đối với bộ nhớ truy  
cập ngẫu nhiên, nó  
thời gian cần để  
thực hiện 1 thao tác  
đọc hoặc ghi  
• Đối với bộ nhớ truy  
cập không ngẫu  
nhiên, nó là thời  
gian cần để đặt cơ  
chế đọc-ghi vào vị  
trí mong muốn  
• Với bộ nhớ truy cập  
ngẫu nhiên: Thời gian  
truy cập cộng với thời  
gian cần trước khi truy  
cập thứ hai có thể bắt  
đầu  
• Có thể cần thêm thời  
gian để các transients  
chết trên đường tín hiệu  
hoặc để khôi phục lại dữ  
liệu bị hỏng  
Tốc độ truyền tải  
• Tốc độ truyền dữ  
liệu vào hoặc ra  
khỏi bộ nhớ  
• Đối với bộ nhớ  
truy cập ngẫu  
nhiên, tốc độ  
truyền tải bằng  
1/(chu kỳ)  
Liên quan đến hệ thống  
bus, không liên quan bộ  
xử lý  
f. Đặc tính vật lý của bộ nhớ  
- Các dạng phổ biến nhất là: Bộ nhớ bán dẫn, Bộ nhớ bề mặt t, Bộ  
nhớ quang, Bộ nhớ quang từ  
- Một số đặc điểm vật lý quan trọng:  
1. Đặc điểm lưu trữ dữ liệu  
Bộ nhớ điện động (Volatile memory): thông tin bị suy yếu hoặc bị  
mất khi nguồn điện tắt  
VD: RAM, Cache  
Bộ nhớ điện tĩnh (Non-volatile memory): thông tin một khi đã được  
ghi thì sẽ không bị mất trừ khi cố tình thay đổi kể cả không có  
nguồn cung cấp  
VD: ROM, USB, HDD,…  
2. Công nghệ sản xuất:  
Bộ nhớ bề mặt từ (Magnetic-surface memories): HDD, Tape  
Bộ nhớ bán dẫn (Semiconductor memory): RAM, ROM, Cache,…  
Bộ nhớ không xoá được (Nonerasable memory): Không thể thay  
đổi, trừ
khi phá
hủy các khối lưu trữ
. VD: ROM  
g. Tổ chức bộ nhớ: mô hình phân cấp bộ nhớ  
Thiết kế bộ nhớ của máy tính cần trả lời ba câu hỏi:  
How much? How fast? How expensive?  
Cần có sự cân đối giữa dung lượng, thời gian truy cập và chi  
phí  
Thời gian truy cập nhanh hơn, chi phí lớn hơn cho mỗi bit  
Dung lượng lớn hơn, chi phí nhỏ hơn cho mỗi bit  
Dung lượng lớn hơn, thời gian truy cập chậm hơn  
Giải pháp:  
Không dựa hoàn toàn vào một thành phần hoặc công nghệ  
bộ nhớ  
Sử dụng một hệ thống phân cấp bộ nhớ  
Bộ nhớ phân cấp  
Sơ đồ  
Chi phí trên bit giảm  
Dung lượng tăng  
Thời gian truy cập tăng  
Tần suất truy cập bộ  
nhớ của VXL giảm  
4.2. Nguyên lý bộ nhớ cache  
Bộ nhớ cache và bộ nhớ chính  
BXL truy cập xuất lệnh/dữ liệu từ BN chính theo đơn vị  
byte hoặc word tốc độ chậm (do tốc độ BN chính, bus  
chậm hơn VXL)  
Bộ nhớ cache được thiết kế để cải thiện thời gian truy cập  
bộ nhớ:  
Dựa vào tính cục bộ của dữ liệu lệnh lưu trữ trong BN chính  
BN cache có tốc độ cao nhưng dung lượng thấp hơn bộ nhớ chính  
Bộ nhớ cache chứa bản sao của một phần của bộ nhớ chính.  
Nguyên lý  
BN chính gồm từ nhớ (word) được đánh địa chỉ: n bit địa chỉ  
BN chính được chia thành các khối (block) có kích thước cố định: K  
word.  
Như vậy, BN chính có 2 = 푴 khối  
BN cache được chia thành các đường (line), mỗi đường K word.  
Mỗi block của BN chính được ánh xạ vào một line của Cache  
Khi bộ xử muốn đọc một word của bộ nhsẽ kiểm tra xem word đó  
nằm trong bộ nhớ cache hay không.  
Nếu có: word này được gửi đến bộ vi xử lý.  
Nếu không: một khối dữ liệu từ bộ nhớ chính (chứa từ mà VXL đang muốn truy  
cập), được đọc vào bộ nhớ cache và sau đó từ được gửi đến bộ VXL.  
Tchức cache  
Cấu trúc bộ nhớ chính/cache  
Thao tác Đọc Cache  
Tổ chức bộ nhớ cache điển hình  
4.3. Cáyếu tố khi thiếkế Cache  
a. Địa chỉ bộ nhcache  
e. Chính sách ghi  
Logic  
Ghi xuôi  
Vật lý  
Ghi ngược  
b. Kích thước bộ nhớ cache  
c. Ánh xạ bộ nhớ  
Trực tiếp  
f. Kích thước line  
g. Cache nhiều cấp  
Một hoặc hai cấp  
Thống nhất hoặc phân chia  
Kết hợp  
Tập kết hợp  
d. Thuật toán thay thế  
Least recently used (LRU)  
First in first out (FIFO)  
Least frequently used (LFU)  
Random  
a. Địa chỉ bộ nhớ cache  
• Địa chỉ ảo: bộ xử hỗ trợ bộ nhớ ảo:  
Quản bộ nhớ thông qua địa chỉ logic  
Các trường địa chỉ trong lệnh là các địa chỉ ảo  
Để thực hiện các thao tác đọc/ghi vào bộ nhớ chính, khối quản lý  
bộ nhớ (MMU Memory Management Unit) sẽ dịch từng địa chỉ  
ảo sang địa chỉ vật lý trong bộ nhớ chính  
Cache ảo (cache logic): bn  
cache đặt giữa BXL và  
MMU  
Địa chỉ được sử dụng  
địa chỉ ảo  
Cache vật lý: bn cache đặt  
giữa MMU và bộ nhớ chính  
Địa chỉ được sử dụng  
địa chỉ vật lý  
b. Kích thước cache (cache size)  
Kích thước cache phải đủ nhỏ để không làm giá thành tăng cao  
Kích thước cache phải đủ lớn để giảm thời gian truy cập, tăng hiệu  
suất hệ thống  
Ngoài ra, kích thước cache quá lớn sẽ làm tăng số cổng để định địa  
chỉ cho các vị trí nhớ trong cache  
giảm hiệu quả truy cập ngay cả khi cache nằm trong cùng chip  
hoặc board với VXL  
b. Kích  
thước  
cache  
trong  
một số  
bộ xử lý  
a, Hai giá trị cách  
nhau bằng dấu /  
là cache chỉ thị và  
cache dữ liệu.  
b, Cả hai cache  
đều cache chỉ thị;  
Không có cache dữ  
liệu.  
Tải về để xem bản đầy đủ
pdf 54 trang yennguyen 12/04/2022 3480
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 4: Bộ nhớ cache - Nguyễn Thị Phương", để 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_4_bo_nho_cache_nguyen_th.pdf