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ỉ có 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 Tổng 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 có bị
mất khi mất điện)
Có 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ớ có thể ở trong và ngoài máy tính
• Bộ nhớ chính là bộ nhớ trong
• Bộ xử lý cần có 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)
• Có 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 và 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
• Ví dụ: băng từ • Ví dụ: đĩa từ
• Bộ nhớ Cache có
thể sử dụng truy
cập kết hợp
• Ví 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ó
là 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
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 và 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 có K word.
• Mỗi block của BN chính được ánh xạ vào một line của Cache
• Khi bộ xử lý muốn đọc một word của bộ nhớ nó sẽ kiểm tra xem word đó
có 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.
• Tổ chứ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ộ nhớ cache
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ử lý hỗ trợ bộ nhớ ảo:
Quản lý 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
là địa chỉ ảo
• Cache vật lý: bn cache đặt
giữa MMU và bộ nhớ chính
Địa chỉ được sử dụng
là đị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 là cache chỉ thị;
Không có cache dữ
liệu.
Tải về để xem bản đầy đủ
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:
- bai_giang_kien_truc_may_tinh_chuong_4_bo_nho_cache_nguyen_th.pdf