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

Tiểu luận môn kiến trúc máy tính tìm hiểu về cache

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 (224.53 KB, 20 trang )

Đại học Quốc Gia Tp.HCM
Trường Đại học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính


Kiến trúc máy tính nâng cao
Assignment:

Cache
GVHD: PGS. TS. Trần Ngọc Thịnh
HVTH: Nguyễn Đức Đình Nghĩa (7140248)
Trần Cao Nguyên (7140831)
Nguyễn Đức Ngân (7140829)
Trương Thị Mỹ Ngọc (7140830)
Trần Nam Phong (7141248)
Đặng Văn Quang (7140833)


Nội dung
 Các giải thuật replacement.
 Hoạt động, ưu, khuyết điểm của các giải thuật.
 Tối ưu hóa hiệu năng của cache.

2


Các giải thuật replacement
 Giải thuật Least Recently Used (LRU)
 Giải thuật Most Recently Used (MRU)
 Giải thuật Least Frequently Used (LFU)
 Giải thuật First In – First Out (FIFO)



3


Least Recently Used (LRU)
 Hoạt động:
Hệ thống sẽ thay thế block được sử dụng cách thời điểm
hiện hành xa nhất.
(Hoạt động dựa trên ý tưởng: block nào được sử dụng gần
nhất thì sẽ còn được sử dụng nhiều lần nữa)

4

4


Least Recently Used (LRU)
 Ưu điểm:
- Hoạt động đơn giản, được áp dụng trên nhiều
processor.
- Với cache nhỏ thì LRU hoạt động hiệu quả, hit rate rất
cao.

5

5


Least Recently Used (LRU)
 Khuyết điểm:

- Khi cache có kích thước càng lớn thì hit rate sẽ
giảm đi rất nhanh.
- Tốn chi phí để bố trí thêm bộ đếm-thời-gian cho
mỗi line.
- Thời gian xử lý chậm, do: khi 1 block được truy
cập thì các block còn lại đều phải cập nhật bộ đếmthời-gian.

6

6


Most Recently Used (MRU)
 Mô tả:
- Loại bỏ đối tượng mà được dùng
gần đây nhất.
- Giải quyết bài toán như truy vấn
tuần tự (sequential scanning
access pattern) mà những đối
tượng mới được truy xuất chỉ
không được dùng cho tương lai
gần.
- Time complexity O(1)
 Choud and Dewitt giới thiệu hội
nghị VLDB.

7


Most Recently Used (MRU)

 Tại mỗi cache line, ta thêm 1 MRU-bit.
 MRU-bit = 1 nếu line đó vừa được truy xuất gần đây
là ngược lại.
 Khi một line được truy xuất, thì MRU-bit = 1
 Khi một block không được tìm thấy block đó sẽ được
gán vào line số 0.
 Nếu chỉ còn lại duy nhất 1 line là 0 thì ta set line đó là
1, sau đó lập tất cả các line còn lại thành 0 (globalflip). Sao cho tại một thời điểm có ít nhất 1 line 0.

8


Least Frequently Used (LFU)
 Hoạt động:
Khi cache cần thay thế 1 line, hệ thống chọn line có
số lần sử dụng thấp nhất để thay thế.
+ Chọn khoảng thời gian cho việc đếm số lần sử dụng.
+ Cần có 1 counter cho mỗi line.
79
1
1
1
1
1
1
1
1

70
40

20
31
50
66
19
82

5 5 7070
7 7 4040
4 1 2079
6 6 3131
6 6 5050
8 8 6666
9 9 1919
10 108282

8
9
5
8
6
12
10
11

70
40
79
31
50

66
19
82

time

9
9


Least Frequently Used (LFU)
 Ưu điểm:
+ Hoạt động đơn giản, dễ triển khai.
+ Hiệu quả cao. Khi dung lượng cache tăng thì tỉ lệ miss
rate không quá lớn so với hit rate.

 Khuyết điểm:
+ Hoạt động: các line mới vào cache rất dễ bị thay thế.
 Kém phù hợp với Full-Associate.
+ Sản xuất: tốn chi phí cho các counter.
10


Giải thuật First In – First Out (FIFO)
 Mô tả:
Là ánh xạ liên kết rất đơn giản, nó thực hiện dựa theo
nguyên tắc Vào trước – Ra trước (First in – first out).
Nghĩa là các block cũ nhất trong bộ nhớ cache sẽ được
chọn để thay thế đầu tiên.


11

11


Giải thuật First In – First Out (FIFO)
 Ví dụ minh họa FIFO:

12

12


Giải thuật First In – First Out (FIFO)
 Ưu điểm:
 Dễ cài đặt trên các phần cứng.
 Đơn giản và chạy nhanh khi dùng cấu trúc
mảng và chỉ mục.

13

13


Giải thuật First In – First Out (FIFO)
 Nhược điểm:
 Là giải thuật kém thông minh.
 Không hiệu quả trong trường hợp muốn
giữ lại những phần đã sử dụng thường
xuyên trong bộ nhớ cache.


14

14


Tối ưu hóa hiệu năng của cache
3 yếu tố thuộc về hiệu năng của cache:
 Hit time.
 Miss rate.
 Miss penalty.

15


Tối ưu hóa hiệu năng của cache
 Hit time:
+ Dung lượng cache nhỏ.
+ Cách tổ chức lưu trữ block đơn giản.
+ Thêm bộ bit dự đoán để đoán trước block sẽ truy
cập tiếp theo (Way-Prediction).

16


Tối ưu hóa hiệu năng của cache
 Miss rate:
+ Dung lượng cache lớn.
+ Dung lượng block lớn.
 Sử dụng thêm cache thứ cấp để lưu sẵn block.

+ Tăng cường mức độ associative trong các giải thuật.
+ Tối ưu hóa compiler (sắp xếp thứ tự code).

17


Tối ưu hóa hiệu năng của cache
 Miss penalty:
+ Sử dụng non-blocking cache để giảm stall ở processor.
+ Sử dụng kỹ thuật Critical Word First.
+ Sử dụng thêm bộ nhớ đệm cho việc ghi (Write Buffer).

18


Tài liệu tham khảo
[1] William Stallings. Computer Organization and Architecture
Designing for Performance, 9th Edition. Prentice Hall, 2013.
[2] Mostafa Abd-El-Barr, Hesham El-Rewini. Fundamentals of
Computer Organization and Architecture. John Wiley & Sons, 2005.
[3] />zhou_html/node3.html

19


Q&A

20




×