You are on page 1of 5

BÀI THỰC HÀNH SỐ 2

Tên:
Lớp:
Mã SV:
Bài 1. Kiểm tra tính cục bộ (lân cận) của các chương trình khác nhau
- Cấu hình:
- Số lượng bộ xử lý - Processors in SMP = 1.
- Giao thức liên kết cache - Cache coherence protocol = MESI.
- Phương pháp phân xử Bus - Scheme for bus arbitration = Random.
- Kích thước word - Word wide (bits) = 16.
- Số word trong một block - Words by block = 16 (block size = 32 bytes).
- Số block trong bộ nhớ chính - Blocks in main memory = 8192. Kích thước bộ nhớ chính
bằng bao nhiêu? 256kbytes
- Số blocks trong cache – Blocks in cache: 512
- Ánh xạ - Mapping = Fully-Associative.
- Chính sách thay thế - Replacement policy = LRU

- Kết quả thực nghiệm:


Tên chương trình Miss rate
Hydro 14,386%
Nasa7 14,987%
Cexp 0,740%
Mdljd 11,225%
Ear 6,707%
Comp 17,274%
Wave 15,320%
Swm 16,060%
Ucomp 16,685%

- Trả lời câu hỏi


Liệu các chương trình có cùng mức độ cục bộ? Chương trình nào có tính cục bộ tốt
nhất? Chương trình nào có tính cục bộ kém nhất?
- Các chương trình có tính cục bộ khác nhau.
+ Cexp có tính cục bộ tốt nhất ( tỉ lệ miss rate thấp )
+ Comp có tính cục bộ kém nhất ( tỉ lệ miss rate cao )
Liệu cấu hình trên có khai thác được tính cục bộ của các chương trình này và tăng
hiệu suất hệ thống không? Tại sao?
Cấu hình trên đang khai thác được tính cục bộ của các chương trình nhưng hiệu suất chưa cao
(Miss rate > 10%) ở hầu như tất cả các chương trình
Trong quá trình chương trình thực hiện, nếu quan sát dưới dạng đồ thị, tỷ lệ miss
rate giảm dần, nguyên nhân tại sao?
Trong quá trình chương trình chạy, tỷ lệ Miss rate giảm dần vì:
- Khi mới khởi chạy, Cache chưa có dữ liệu nên khi CPU truy xuất khiến Cache phải lấy dữ liệu
từ RAM. Từ đó khiến cho tỷ lệ Miss rate lớn(Do Cache không có dữ liệu sẵn).
- Khi chạy được một khoảng thời gian nhất đinh, Cache đã có dữ liệu sẵn. CPU có thể truy xuất
thẳng từ Cache khiến cho tỷ lệ Miss rate giảm dần

Bài 2. Ảnh hưởng của kích thước Cache đến hiệu suất hệ thống
- Cấu hình:
Thiết lập cache với kích thước như sau (số block trong cache): 1, 2, 4, 8, 16, 32, 64, 128,
256 và 512.
Với mỗi thông số trên, thiết lập các memory traces: Hydro, Nasa7, Cexp, Mdljd, Ear,
Comp, Wave, Swm và Ucomp. Chạy và ghi lại các miss rate.

- Kết quả thực nghiệm:


Tên 1 2 4 8 16 32 64 128 256 512
chương
trình
Hydro 66,197% 42,360% 32,111% 28,068% 25,012% 18,195% 15,468% 14,810% 14,386% 14,386%
Nasa7 66,577% 41,024% 29,650% 25,822% 23,235% 17,035% 16,065% 15,364% 14,987% 14,987%
Cexp 52,920% 43,900% 43,145% 40,065% 1,540% 0,770% 0,745% 0,740% 0,740% 0,730%
Mdljd 63,055% 42,565% 29,820% 21.575% 19.175% 17,885% 16,040% 14,780% 13,235% 11,225%
Ear 59,947% 42,144% 37,622% 27,769% 18,218% 16,993% 15,674% 10,098% 6,7070% 6,707%
Comp 65,689% 37,797% 25,396% 23,257% 21,355% 18,661% 18,185% 17,908% 17,908% 17,274%
Wave 66,355% 42,136% 31,923% 29,093% 26,875% 21,564% 18,354% 17,479% 16,808% 15,320%
Swm 66,870% 41,380% 30,835% 26,085% 23,875% 21,985% 20,815% 19,630% 18,285% 16,060%
Ucomp 66,045% 38,236% 24,881% 22,466% 20,490% 17,892% 17,572% 17,270% 17,270% 16,685%

- Trả lời câu hỏi


Miss rate tăng hay giảm khi kích thước cache tăng? Tại sao?
Giảm. Vì khi Cache tăng, dữ liệu được trích xuất từ RAM lên Cache phụ thuộc
vào dung lượng của Cache có lớn hay không. Khi dung lượng Cache lớn, dữ liệu sẵn sàng
truy xuất cho CPU nhiều nên tỷ lệ Miss rate
Trong ví dụ này, có thể thấy rằng với kích thước cache rất lớn, miss rate lại
ổn định. Tại sao?
Kích thước cache lớn giúp hệ thống giữ lại nhiều loại dữ liệu khác nhau, giảm khả
năng đối mặt với xung đột và tăng khả năng hit.
Với kích thước Cache rất lớn, dữ liệu sẵn sàng truy xuất lên CPU nhiều, từ đó
khiến tỷ lệ miss rate ổn định
Ta có thể thấy tỷ lệ miss rate có sự khác biệt lớn đối với từng mức tăng kích
thước cache. Sự khác biệt này chỉ ra điều gì? Sự khác biệt này có xảy ra tại
cùng một điểm với tất cả các chương trình không? Tại sao
Sự khác biệt của tỷ lệ Miss rate với từng mức Cache có thể hiểu rằng: Tốc độ và
hiệu suất xử lý của CPU phụ thuộc rất nhiều vào kích thước Cache. Sự khách biệt với
mỗi chương trình là khác nhau. Điều này có thể lý giải do mỗi chương trình có độ phức
tạp và cấu trúc chương trình khác nhau. Từ đó việc truy xuất và xử lý từ các bộ nhớ cũng
có sự khác biệt.
Liệu việc tăng kích thước cache có giúp cải thiện hiệu suất của hệ thống
không?
Có. Nhưng để hiệu suất hệ thống chạy tốt nhất vẫn còn phải phụ thuộc vào nhiều
yếu tố kèm theo như: Công nghệ của CPU, tốc độ RAM, BUS,…
Theo em, với cấu hình máy như vậy, kích thước cache hợp lý là bao nhiêu
Theo thực nghiệm, với cấu hình máy như vậy, kích thước Cache hợp lý là: 8KB
(256 Blocks in Cache)
Bài 4. Ảnh hưởng của phương pháp ánh xạ đến hiệu suất hệ thống
- Cấu hình:
o Số lượng bộ xử lý - Processors in SMP = 1.
o Giao thức liên kết cache - Cache coherence protocol = MESI.
o Phương pháp phân xử Bus - Scheme for bus arbitration = Random.
o Kích thước word - Word wide (bits) = 32.
o Số word trong một block = 64
o Số block trong bộ nhớ chính = 4096
Chính sách thay thế - Replacement policy = LRU.
• Cấu hình các phương pháp ánh xạ (Mapping) khác nhau cho hệ thống: ánh xạ trực
tiếp (Direct), ánh xạ tập kết hợp 2 đường (2-way set associative), ánh xạ tập kết
hợp 4 đường (4-way set associative).
– Chú ý: để thiết lập được ánh xạ 2-way set associative ta cần thiết lập số
lượng block trong cache (Blocks in cache)/số lượng set trong cache
(cache sets) = 2. Tương tự, để thiết lập được ánh xạ 4-way set associative ta
cần thiết lập số lượng block trong cache/số lượng set trong cache = 4
• Với mỗi cấu hình, thiết lập số lượng block trong cache sao cho ta được kích thước
cache như sau: 4KB, 8KB, 16KB, 32KB.
• Gọi memory traces EAR cho các trường hợp trên và tính miss rate

- Kết quả thực nghiệm:


Phương pháp ánh xạ Cache size
4KB 8 KB 16 KB 32 KB
Direct 12,340 7,027 5,934 4,032
2-Way Associative 6,594 5,106 2,393 2,336
4-Way Associative 6,631 5,526 2,506 2,336

- Trả lời câu hỏi


1. Với mỗi phương pháp ánh xạ, miss rate tăng hay giảm. Vì sao?
Với mỗi phương pháp ánh xạ, Miss rate nhìn chung có hiện tượng giảm nhưng với kiểu
Mapping Ánh xạ tập kết hợp 2 đường và 4 đường không có chênh lệch nhiều. Điều này
có thể giải thích rằng cách truyền dữ liệu từ Block lên Cache có sự khác biệt. Ánh xạ
trực tiếp hoạt động theo phương pháp “1 Block 1 Line” khác hoàn toàn so với “1 Block
nhiều Line”. Từ đó, do cách vận hành tối ưu hơn nên Ánh xạ tập kết hợp có tốc độ cao
hơn nên tỷ lệ Miss rate có sự thay đổi.
2. Nếu cache size tăng, miss rate đối với mỗi phương pháp ánh xạ tăng hay
giảm?
Giảm khi Cache size tăng
3. Tổng kết, liệu phương pháp ánh xạ tập kết hợp có làm tăng hiệu suất của hệ
thống. Phương pháp nào là thích hợp nhất?
Tổng Kết:
Tất cả các phương pháp ánh xạ tập kết hợp có làm tăng hiệu suất của hệ thống.
Ánh xạ tập kết hợp giúp giảm xung đột so với ánh xạ trực tiếp.
Ánh xạ tập kết hợp 4 đường cung cấp hiệu suất tốt hơn so với 2 đường nhưng đòi hỏi
nhiều tài nguyên hơn..
Phương pháp thích hợp nhất:
So sánh theo tỷ lệ Miss rate, ta có thể kết luận: Phương pháp Ánh xạ tập kết hợp 2 đường
là tối

You might also like