Tải bản đầy đủ (.pdf) (5 trang)

Mô phỏng bộ nhớ đệm : Kiến Trúc Máy Tính

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 (556.88 KB, 5 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

Mô phỏng bộ nhớ đệm
Môn: Kiến Trúc Máy Tính - 504002
Bài tập lớn (Assigment)

TP. HCM 11/2014


Nội dung
1. Mục tiêu ...............................................................................................................3
2. Thời hạn nộp và đánh giá ....................................................................................3
3. Yêu cầu chi tiết ....................................................................................................3
4. Gợi ý làm bài .......................................................................................................5


Mô phỏng bộ nhớ đệm

Bài tập lớn kiến trúc máy tính

1. Mục tiêu
Viết chương trình mô phỏng bộ nhớ đệm và đánh giá hiệu xuất của bộ nhớ
đệm với nhiều cấu hình khác nhau.
2. Thời hạn nộp và đánh giá
Thời gian dự kiến để hoàn thành bài tập này là 2 tuần. Thời hạn nộp chương
trình mô phỏng và kết quả đánh giá hiệu xuất của bộ nhớ đệm: Thứ 7, ngày
6, tháng 12, năm 2014
Kết quả bài làm gửi tới địa chỉ thư điện tử:
Bài tập lớn này được quy đổi tối đa 2 điểm cộng vào điểm cuối kỳ (10 điểm
bài tập lớn được quy đổi thành 2 điểm cộng)


3. Yêu cầu chi tiết
Sinh viên tự viết chương trình mô phỏng bộ nhớ đệm (bằng ngôn ngữ cấp
cao như C, C++, Java…) với các thông tin đầu vào (inputs), đầu ra (outputs)
như sau:
INPUTS

OUTPUTS

I1. Memory trace
I2. Cache size
I3. Block size
I4. Degree of associativity

O1. Total miss rate
Bộ nhớ đệm
mô phỏng

O2. Compulsory miss rate
O3. Capacity miss rate
O4. Conflict miss rate

I5. Replacement policy
Giải thích các thuật ngữ:
 I1.Memory trace: File *.trace, thể hiện địa chỉ ô nhớ (theo từng byte)
được truy xuất bởi các lệnh “load” và “store” trong chương trình. Có
3


Bài tập lớn kiến trúc máy tính
















Mô phỏng bộ nhớ đệm

nhiều file *.trace khác nhau. Trong một file *.trace, một dòng (ví dụ:
“l 0x1fffff98 6”) có 3 trường thông tin:
o Lệnh: load  l; store  s
o Địa chỉ ô nhớ: số hex 32 bit
o Số lệnh khác (không phải lệnh “load” và “store”) giữ hai lần
truy xuất bộ nhớ
I2.Cache size: Kích thước vùng chứa dữ liệu của bộ nhớ đệm theo đơn
vị KB (ví dụ: 64 nghĩa là vùng chứa dữ liệu có kích thước 64KB).
Cache size là một số dương mũ của 2 (ví dụ: 1, 2, 4, 8, 32 …). Cache
size có giá trị từ 1KB đến 8MB
I3.Block size: Kích thước chứa dữ liệu của một line theo đơn vị byte
(ví dụ: 8 nghĩa là một line chứa 8 byte dữ liệu). Block size là một số
dương mũ của 2 (ví dụ: 1, 2, 4, 8, 32 …). Block size có giá trị từ 2
bytes đến 2048 bytes

I4.Degree of associativity: Số line trong một set (1 nghĩa là direct
mapped, 0 nghĩa là full associative, các giá trị khác phải là mũ của 2).
Các giá trị hợp lệ: 0(full), 1(direct), 2(2-way), 4(4-way), 8(8-way)
I5.Replacement policy: Cách thay thế dữ liệu trong một line (0 nghĩa
là thay thế ngẫu nhiên, 1 nghĩa là LRU, các giá trị khác không hợp lệ)
O1.Total miss rate: Tổng số lần không tìm thấy dữ liệu trong bộ nhớ
đệm. Total miss rate = Compulsory miss rate + Capacity miss rate
+ Conflict miss rate
O2. Compulsory miss rate: Tổng số lần không tìm thấy dữ liệu ở bộ
nhớ đệm dạng bắt buột (truy xuất lần đầu)
O3.Capacity miss rate: Tổng số lần không tìm thấy dữ liệu cũ ở bộ
nhớ đệm do bộ nhớ đệm đầy (dữ liệu đã được truy xuất trước đó đang
được truy xuất lại nhưng không tìm thấy và bộ nhớ đệm đang đầy)
O4.Conflict miss rate: Tổng số lần không tìm thấy dữ liệu cũ ở bộ nhớ
đệm không phải do bộ nhớ đệm đầy (dữ liệu đã được truy xuất trước
đó đang được truy xuất lại nhưng không tìm thấy và bộ nhớ đệm chưa
đầy)

Sau khi có chương trình mô phỏng bộ nhớ đệm, sinh viên tiến hành đánh giá
hiệu xuất của bộ nhớ đệm mô phỏng bằng cách thay đôi file “memory trace”
4


Mô phỏng bộ nhớ đệm

Bài tập lớn kiến trúc máy tính

và thay đổi cấu hình của bộ nhớ đệm. Thông tin được báo cáo lại dạng file
report.csv và dạng đồ thị như ví dụ trong slide bài giảng:


Hình 3.1 Sự thay đổi Miss Rate với những cấu hình khác nhau

4. Gợi ý làm bài
Lưu đồ xác định các loại “cache miss” theo như hình dưới
Read in next address

Calculate block number

Is block in cache?

No, has it been
there before?

Yes, hit++

YES Is cache full?

No, conf_miss++

No, comp_miss++

Yes, Cap_miss++
5



×