Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Bộ nhớ caches ( bộ nhớ đệm / bộ nhớ tạm thời )

Slide 4 :
Bộ nhớ đệm là một loại bộ nhớ nhanh, nhỏ và tạm thời được sử dụng để lưu trữ các bản sao của dữ liệu
mà các thành phần hệ thống thường xuyên truy cập.
Bộ nhớ đệm đóng vai trò quan trọng trong việc tăng tốc độ xử lý dữ liệu của CPU. Nó giúp CPU truy cập
dữ liệu và hướng dẫn thường xuyên sử dụng một cách nhanh chóng, giúp cải thiện hiệu suất tổng thể của
máy tính.
Giải thích sơ đồ :
CPU được xem là "bộ não" của máy tính, chịu trách nhiệm thực hiện các phép toán và xử lý dữ liệu theo
hướng dẫn của chương trình.Khi CPU cần truy cập dữ liệu, nó sẽ ưu tiên tìm kiếm trong bộ nhớ đệm :

 Nếu dữ liệu được tìm thấy trong bộ nhớ đệm, CPU có thể truy cập nó rất nhanh chóng, giúp tiết
kiệm thời gian và tăng hiệu suất xử lý.

 Nếu dữ liệu không được tìm thấy trong bộ nhớ đệm, CPU sẽ phải truy cập vào bộ nhớ chính,
chậm hơn nhiều so với bộ nhớ đệm

Slide 5 :
Biểu đồ thể hiện hệ thống lưu trữ của máy tính, từ tốc độ nhanh và giá thành cao nhất đến tốc độ chậm và
giá thành thấp nhất.
Biểu đồ này bao gồm sáu cấp độ, được gắn nhãn từ L0 đến L5, với các mũi tên chỉ lên phía trên cho thấy
khi bạn di chuyển từ L5 lên L0, bộ nhớ trở nên nhanh hơn, nhỏ hơn và đắt hơn. Mỗi cấp độ có một mô tả
tương ứng :

 L0: Thanh ghi - “Các thanh ghi CPU giữ các từ được truy xuất từ bộ nhớ đệm L1”
 L1: Bộ nhớ đệm L1 - “Bộ nhớ đệm L1 giữ các dòng bộ nhớ đệm được truy xuất từ bộ nhớ đệm
L2”
 L2: Bộ nhớ đệm L2 (SRAM) - “Bộ nhớ đệm L2 giữ các dòng bộ nhớ đệm được truy xuất từ bộ
nhớ chính”
 L3: Bộ nhớ chính (DRAM) - “Bộ nhớ chính giữ các khối đĩa được truy xuất từ các đĩa cục bộ”
 L4: Bộ nhớ phụ cục bộ (đĩa) - “Các đĩa cục bộ giữ các tệp được truy xuất từ máy chủ mạng từ xa”
 L5: Bộ nhớ phụ từ xa (băng, hệ thống tệp phân tán, máy chủ web)

Slide 8 :

Bộ nhớ cache vô hình: không có hình dạng nhất định trong không gian bộ nhớ và chủ yếu do CPU
xuất ra

 Làm việc độc lập với khách hàng thực hiện yêu cầu.
 Có thể lưu trữ bất kỳ dữ liệu nào trong không gian bộ nhớ.
 Được minh họa bởi I-CACHE và D-CACHE trong hình ảnh.
Bộ nhớ cache hữu hình: khi truy xuất nó sẽ có địa chỉ cụ thể và rõ ràng

 Được quản lý rõ ràng bởi khách hàng đưa ra yêu cầu.


 Chỉ có thể lưu trữ các mục trong một số phân đoạn nhất định của không gian bộ nhớ.
 Được minh họa bởi SRAME và IBUF trong hình ảnh.

Hình ảnh bên phải là minh họa trực quan cho các khái niệm được mô tả về 2 loại bộ nhớ,nó cho ta
thấy một số điểm khác biệt giữa hai loại bộ nhớ cache như :

 Về kích thước: Bộ nhớ cache vô hình thường có kích thước nhỏ hơn.
 Về tốc độ truy cập: Bộ nhớ cache vô hình thường có tốc độ truy cập nhanh hơn
 Về tính linh hoạt: Bộ nhớ cache hữu hình có thể được sử dụng cho nhiều mục đích hơn

Slide 9 :

#Ánh xạ trong bộ nhớ cache là quá trình xác định vị trí lưu trữ dữ liệu trong cache dựa trên địa chỉ bộ nhớ
chính tương ứng. Quá trình này đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất truy cập bộ nhớ,
giúp CPU có thể truy cập dữ liệu nhanh hơn so với truy cập trực tiếp vào bộ nhớ chính.

*Đọc slide trước

Ngoài ra còn có 3 nguyên lí chính để ánh xạ các địa chỉ bộ nhớ là : ( chỉ đọc tên không cần đọc thông tin
chi tiết,khi nào thầy hỏi thì trả lời)

Direct Mapped Cache (Ánh xạ trực tiếp):

 Mỗi khối bộ nhớ chính chỉ có thể ánh xạ đến một vị trí duy nhất trong cache.
 Địa chỉ bộ nhớ được chia thành ba phần: Tag, Index, và Offset.
Fully Associative Cache (Ánh xạ toàn phần):

 Bất kỳ khối nào của bộ nhớ chính cũng có thể được lưu trữ tại bất kỳ vị trí nào trong cache.
 Địa chỉ bộ nhớ được chia thành hai phần: Tag và Offset.
Set Associative Cache (Ánh xạ theo tập hợp):

 Kết hợp giữa hai phương pháp trên. Cache được chia thành nhiều tập hợp (set), mỗi tập hợp có
nhiều dòng (line).
 Địa chỉ bộ nhớ được chia thành ba phần: Tag, Set Index, và Offset

Slide 11 :
Nó gồm 4 thuật toán là : LRU,LFU,FIFO và Second Chance.Trong đó thì LRU và FIFO được sử dụng
phổ biến nhất

*Phần này không cần đọc,hỏi thì trả lời


LRU: Luôn ưu tiên giữ lại những dữ liệu được truy cập gần đây nhất trong bộ nhớ đệm. Khi bộ
nhớ đệm đầy, dữ liệu ít được sử dụng lâu nhất sẽ bị loại bỏ để nhường chỗ cho dữ liệu mới.
FIFO: Xử lý dữ liệu theo thứ tự "đến trước – phục vụ trước". Dữ liệu nào được thêm vào bộ nhớ
đệm trước sẽ là dữ liệu đầu tiên bị loại bỏ khi bộ nhớ đệm đầy, bất kể tần suất truy cập.Least
Frequently Used (LFU): Thuật toán này loại bỏ các dữ liệu truy cập ít thường xuyên nhất khỏi
cache.
Second Chance: Thuật toán này cung cấp cho các dữ liệu ít truy cập một cơ hội thứ hai trước khi
bị loại bỏ khỏi cache.

Slide 13 :
HÌNH 1.3: Các lựa chọn thiết kế trực giao tạo nên bộ đệm. Bất kỳ thiết kế bộ đệm nào, dù dựa trên phần
mềm hay hoàn toàn ở trạng thái rắn, đều bao gồm một tổ chức lưu trữ logic, một hay nhiều phương pháp
phỏng đoán quản lý nội dung và một hay nhiều phương pháp phỏng đoán quản lý tính nhất quán như đã
được mô tả trong hình

Slide 14 :
*Phần này không cần đọc,hỏi thì trả lời
1. Trực Tiếp Ánh Xạ (Direct Mapping):
Mỗi khối của bộ nhớ chính chỉ được ánh xạ đến một dòng cụ thể trong cache.
Phương pháp ánh xạ đơn giản nhất, mỗi khối nhớ chính được ánh xạ đến một vị trí duy nhất trong cache
thông qua một hàm ánh xạ.
Công thức ánh xạ: cache_line_index = memory_block_address mod cache_size, nơi cache_size là kích
thước của cache.
Dễ triển khai và hiệu quả về mặt phần cứng, nhưng có thể dẫn đến hiện tượng xung đột (cache collision)
khi hai khối nhớ chính được ánh xạ đến cùng một dòng cache.
Thường được sử dụng trong các hệ thống nhúng và trong các thiết kế cache đầu tiên vì tính đơn giản và
chi phí thấp.
2. Kết Hợp Đầy Đủ (Fully Associative):
Mỗi khối của bộ nhớ chính có thể được lưu trữ ở bất kỳ vị trí nào trong cache.
Không có hạn chế về vị trí lưu trữ, mỗi khối nhớ chính có thể được lưu trữ ở bất kỳ dòng nào trong cache.
Phương pháp này loại bỏ hiện tượng xung đột nhưng có thể yêu cầu các giải pháp tìm kiếm phức tạp hơn
để xác định vị trí của dữ liệu trong cache.
Thường được sử dụng trong các thiết kế cache cao cấp với sự ưu tiên về hiệu suất và không gian.
3. Thiết Lập Liên Kết (Set-Associative):
Cache được chia thành các tập hợp (sets), mỗi tập hợp chứa nhiều dòng (ways).
Mỗi khối của bộ nhớ chính có thể được lưu trữ trong một tập hợp cụ thể, nhưng có thể được ánh xạ đến
bất kỳ dòng nào trong tập hợp đó.
Kết hợp tính linh hoạt của kết hợp đầy đủ và hiệu suất tốt hơn so với trực tiếp ánh xạ.
Thường được sử dụng trong các hệ thống cache hiệu suất cao với sự cân nhắc giữa độ phức tạp và hiệu
suất.

Slide 15 :
Hình ảnh này là sơ đồ mô tả bốn cách tổ chức bộ nhớ đệm cho một bộ nhớ đệm có 8 khối.
Có bốn cách tổ chức bộ nhớ đệm phổ biến, được thể hiện trong hình ảnh như sau:

 Phân bố trực tiếp: Trong cách tổ chức này, mỗi khối được ánh xạ trực tiếp đến một dòng trong
bộ nhớ đệm. Ví dụ: khối 0 được ánh xạ đến dòng 0, khối 1 được ánh xạ đến dòng 1, v.v.

 Phân bố hai chiều: Trong cách tổ chức này, bộ nhớ đệm được chia thành hai tập, mỗi tập chứa
một số dòng. Mỗi khối được ánh xạ đến một tập và sau đó đến một dòng trong tập đó. Ví dụ: khối
0 được ánh xạ đến tập 0 và dòng 0, khối 1 được ánh xạ đến tập 0 và dòng 1, v.v.

 Phân bố bốn chiều: Tương tự như phân bố hai chiều, nhưng bộ nhớ đệm được chia thành bốn
tập.

 Phân bố hoàn toàn kết hợp: Trong cách tổ chức này, mỗi khối có thể được lưu trữ ở bất kỳ dòng
nào trong bộ nhớ đệm.
Mỗi tổ chức đều sẽ có ưu và nhược điểm khác nhau
*Phần này không đọc,hỏi thì trả lời
Phân bố trực tiếp:

 Ưu điểm: Đơn giản để thực hiện.


 Nhược điểm: Hiệu suất có thể bị ảnh hưởng bởi xung đột bộ nhớ đệm.
Phân bố hai chiều:

 Ưu điểm: Giảm xung đột bộ nhớ đệm so với phân bố trực tiếp.
 Nhược điểm: Phức tạp hơn để thực hiện so với phân bố trực tiếp.
Phân bố bốn chiều:

 Ưu điểm: Giảm xung đột bộ nhớ đệm hơn so với phân bố hai chiều.
 Nhược điểm: Phức tạp hơn để thực hiện so với phân bố hai chiều.
Phân bố hoàn toàn kết hợp:
 Ưu điểm: Hiệu suất tốt nhất, không có xung đột bộ nhớ đệm.
 Nhược điểm: Phức tạp nhất để thực hiện

Slide 18 :
Hình ảnh trên minh họa cấu trúc phân cấp bộ nhớ trong hệ thống máy tính. Cấu trúc này bao gồm nhiều
cấp độ bộ nhớ khác nhau, mỗi cấp độ có kích thước lớn hơn nhưng tốc độ truy cập chậm hơn.
Sơ đồ bên trái ta có thể thấy “CPU” được kết nối với ba cấp bộ nhớ là “Cấp 1”, “Cấp 2”, và “Cấp n”.
Dưới các cấp này, có một “Kho lưu trữ vĩnh viễn”.Mô hình này đã được đề cập ở các slide đầu
Sơ đồ bên phải là hai hộp biểu diễn “Đơn vị lưu trữ cơ bản tạo nên cấp bộ nhớ i”.Mỗi cấp là các tổ chức
lưu trữ khác nhau (ví dụ: các tập của bộ nhớ cache set-associative hoặc các sector của đĩa).
Thì mối quan hệ giữa các cấp độ được gọi là inclusion và exclusion
*Chỉ đọc
CPU: Cấp độ cao nhất trong cấu trúc phân cấp bộ nhớ là CPU. CPU là đơn vị xử lý trung tâm của hệ
thống, chịu trách nhiệm thực hiện các phép toán và logic. CPU có bộ nhớ cache nhỏ, tốc độ truy cập
nhanh, được sử dụng để lưu trữ dữ liệu và hướng dẫn thường xuyên được sử dụng.
Cấp độ 1: Cấp độ thứ hai trong cấu trúc phân cấp bộ nhớ là bộ nhớ cache L1. Bộ nhớ cache L1 nằm gần
CPU và có tốc độ truy cập nhanh hơn bộ nhớ chính. Bộ nhớ cache L1 thường được sử dụng để lưu trữ các
dữ liệu và hướng dẫn quan trọng nhất.
Cấp độ 2: Cấp độ thứ ba trong cấu trúc phân cấp bộ nhớ là bộ nhớ cache L2. Bộ nhớ cache L2 có kích
thước lớn hơn bộ nhớ cache L1 và tốc độ truy cập chậm hơn. Bộ nhớ cache L2 thường được sử dụng để
lưu trữ các dữ liệu và hướng dẫn ít quan trọng hơn.
Cấp độ i: Cấp độ i trong cấu trúc phân cấp bộ nhớ có thể bao gồm nhiều loại bộ nhớ khác nhau, chẳng
hạn như bộ nhớ cache L3, bộ nhớ chính (RAM), bộ nhớ ngoài (hard disk, SSD) và bộ nhớ vĩnh cửu
(ROM). Mỗi loại bộ nhớ có kích thước, tốc độ truy cập và chi phí khác nhau.
Bộ nhớ vĩnh cửu: Cấp độ thấp nhất trong cấu trúc phân cấp bộ nhớ là bộ nhớ vĩnh cửu. Bộ nhớ vĩnh cửu
được sử dụng để lưu trữ dữ liệu và chương trình một cách vĩnh viễn, ngay cả khi máy tính bị tắt.

Slide 19 :
Inclusion (Bao gồm):

 Một cấp độ cache được gọi là inclusion có cấp độ cache cao hơn nếu mọi dữ liệu trong nó cũng
có trong cấp độ cache cao hơn.Nói cách khác, dữ liệu nằm trong cache thấp hơn cũng được sao
chép vào cache cao hơn.
 Việc này có lợi vì nó làm giảm thời gian tìm kiếm dữ liệu. Khi CPU yêu cầu dữ liệu, nó sẽ kiểm
tra cache cấp độ thấp hơn trước. Nếu dữ liệu không được tìm thấy ở đó, CPU sẽ truy cập cấp độ
cache cao hơn.
Exclusion (Loại trừ):
 Trái ngược với inclusion, một cấp độ cache được gọi là exclusion có cấp độ cache cao hơn nếu
không bao gồm tất cả dữ liệu của nó.
 Điều này thường dẫn đến việc tiết kiệm bộ nhớ vì không cần sao chép dữ liệu từ cache thấp hơn
sang cache cao hơn.Tuy nhiên nó có thể làm tăng thời gian truy cập, vì CPU cần kiểm tra nhiều
cache hơn để tìm dữ liệu

Slide 20 :
Biểu đồ này mô tả hệ thống bộ nhớ trong một hệ thống máy tính, minh họa cho các loại và cấp độ khác
nhau của các đơn vị lưu trữ. Nó cho thấy mối quan hệ giữa các thành phần lưu trữ khác nhau như CPU
cache, ROM (Read-Only Memory), DRAM (Dynamic Random-Access Memory) subsystem, ổ đĩa, và ổ
đĩa từ.Nó cung cấp cái nhìn sâu sắc về cách dữ liệu được tổ chức và truy cập trong các hệ thống tính toán,
làm nổi bật khái niệm về mối quan hệ bao hàm và loại trừ giữa các bộ nhớ cache và các đơn vị lưu trữ
khác.
*Chỉ đọc khi được hỏi
Dưới đây là một số điểm chính từ hình:
CPU Cache: Đây là bộ nhớ cache gần nhất với CPU và nhanh nhất. Nó được chia thành các đơn vị lưu trữ
cơ bản tạo thành cache.
DRAM Subsystem: Đây là bộ nhớ chính của hệ thống, bao gồm các bank DRAM riêng biệt.
ROM: Đây là bộ nhớ chỉ đọc, thường chứa firmware hoặc boot ROM của hệ thống.
Two Mirrored Disk Drives: Đây là hai ổ đĩa được sao chép lẫn nhau, mỗi ổ đĩa được hiển thị dưới dạng
một tập hợp các sector.
Flash: Đây là một loại bộ nhớ không bay hơi, thường được sử dụng cho việc lưu trữ dài hạn.

Slide 21:
Hình ảnh mô tả cách thức hoạt động của hai cấu trúc bộ nhớ đệm đơn giản và phức tạp. Cấu trúc bộ nhớ
đệm đơn giản cho phép mỗi đơn vị tải/lưu trữ đọc từ bất kỳ khối nào trong bộ nhớ đệm, nhưng chỉ có thể
ghi vào khối chính được gán cho nó. Cấu trúc bộ nhớ đệm victim-cache bổ sung hai khối vào bộ nhớ đệm
chỉ được điền bởi các khối được thay thế từ các khối chính tương ứng.

You might also like