TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THÔNG TIN HỌ VÀ TÊN SINH VIÊN: VŨ KHOAN MÃ SINH VIÊN: 20T1020428 PHÂN TÍCH QUÁ TRÌNH HOẠT ĐỘNG THEO PHƯƠNG PHÁP ÁNH XẠ TOÀN PHẦN FULL GIỮA BỘ NHỚ C
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THÔNG TIN
HỌ VÀ TÊN SINH VIÊN: VŨ KHOAN
MÃ SINH VIÊN: 20T1020428
PHÂN TÍCH QUÁ TRÌNH HOẠT ĐỘNG
THEO PHƯƠNG PHÁP ÁNH XẠ TOÀN PHẦN (FULL)
GIỮA BỘ NHỚ CACHE VÀ BỘ NHỚ CHÍNH
TÊN HỌC PHẦN: KIẾN TRÚC MÁY TÍNH
MÃ HỌC PHẦN: TIN2013 GIẢNG VIÊN HƯỚNG DẪN: ĐẶNG THANH CHƯƠNG
Trang 2Danh sách các từ viết tắt
BNC: Bộ nhớ chính
BXL: Bộ xử lý
Trang 3Mục lục
PHẦN MỞ ĐẦU………
1.1 Lý do chọn đề tài nghiên cứu ………
1.2 Mục tiêu và nội dung đề tài ………
1.2.1 Mục tiêu đề tài ………
1.2.2 Nội dung đề tài ………
PHẦN NỘI DUNG………
PHẦN KẾT LUẬN/NHẬN XÉT/ĐÁNH GIÁ/KIẾN NGHỊ………
Tài liệu tham khảo………
Trang 4PHẦN MỞ ĐẦU 1.1 Lý do chọn đề tài nghiên cứu
Hiện nay, hầu hết máy tính được xây dựng sử dụng mô hình Von Neumann, với trung tâm là bộ nhớ Chương trình thực thi quá trình được lưu trong bộ nhớ
Chúng ta đang ở trong kỷ nguyên của ngành Công nghệ thông tin, nó đóng góp rất nhiều lợi ích trong đời sống sản xuất, khoa học kỹ thuật, kinh tế chính trị cũng như trong mọi vận động của xã hội dưới mọi quy mô Việc nắm bắt thông tin nhanh chóng, kịp thời và chính xác ngày càng đóng vai trò cốt yếu trong quản lý và điều hành Chắc hẳn trong chúng ta, vẫn còn ít người biết một chiếc máy tính hoạt động như thế nào và tuân theo những quy tắc nào Các dữ liệu (data) được lưu ở đâu và hoạt động theo phương pháp nào Dựa theo các phương pháp đó, chúng ta cùng so sánh giữa bộ nhớ cache (cache memory) và bộ nhớ chính (main memory Để phân tích quá trình hoạt động theo phương pháp ánh xạ toàn phần giữa bộ nhớ cache và bộ nhớ chính, chúng ta cùng tìm hiểu về nội dung đề tài
1.2 Mục tiêu và nội dung đề tài
1.2.1 Mục tiêu đề tài
Đề tài sẽ nghiên cứu các vấn đề liên quan tới phương pháp ánh xạ toàn phần Đặc biệt là áp dụng phương pháp đó để so sánh giữa bộ nhớ cache và bộ nhớ chính Cung cấp những kiến thức sâu hơn về bộ nhớ nhanh, và các phương pháp ánh xạ bộ nhớ
1.2.2 Nội dung đề tài
- Tìm hiểu hơn về khái niệm, tính ứng dụng của các kiểu bộ nhớ
- Tìm hiểu sâu hơn về các phương pháp ánh xạ bộ nhớ (ánh xạ trực tiếp, ánh xạ liên kết toàn phần, ánh xạ liên kết tập hợp)
- Phân tích quá trình hoạt động của phương pháp ánh xạ toàn phần lên bộ nhớ cache
và bộ nhớ chính
Trang 5PHẦN NỘI DUNG 2.1 Phương pháp ánh xạ toàn phần
2.1.1 Các dạng địa chỉ do Bộ xử lý phát ra
Mỗi Block trong BNC được ánh xạ vào một Line bất kỳ trong Cache
Khi đó, địa chỉ do BXL phát ra có dạng:
Word: xác định ngăn nhớ trong Block
Block có 2w ngăn nhớ
Tag: xác định Block đang ở trong Line
Số lượng Block: 2s
Dung lượng BNC: 2s + w ngăn nhớ
2.1.2 Sơ đồ thực hiện [1]
2.1.3 Một số ví dụ [1]
Input:
Kích thước Bộ nhớ chính: 4GB
Kích thước Cache: 1MB
Kích thước Line = 32 byte
Trang 6 Output:
Kích thước Bộ nhớ chính: 4GB = 232 byte => N = 32 bit
Kích thước Line = 32 byte = 25 byte => Word = 5 bit
=> Số bit của trường Tag: T = 32 - 5 = 27 bit
2.2 Bộ nhớ cache
2.2.1 Khái niệm
Cache là bộ nhớ đệm chứa dữ liệu, các dữ liệu được nằm chờ yêu cầu từ ứng dụng hoặc phần cứng
Dữ liệu được chứa trong cache có thể là các thuật toán đã được thực hiện khi được yêu cầu hoặc các dữ liệu trùng được lưu trữ ở một nơi khác
Thường có kích thước nhỏ: 256KB, 512KB, 1MB, 2MB, …
Hình 2.2.1 Mô hình hoạt động của bộ nhớ cache trong máy tính
2.2.2 Vai trò
Nâng cao hiệu năng hệ thống:
Cân bằng giữa tốc độ nhanh của CPU và tốc độ chậm của bộ nhớ chính
Thời gian truy cập trung bình của hệ thống nhớ gần bằng thời gian truy cập bộ nhớ cache
Giảm chi phí sản xuất:
Nếu 2 hệ thống có cùng hiệu năng thì hệ thống có cache sẽ rẻ hơn
Trang 7 Nếu 2 hệ thống có cùng chi phí, hệ thống có cache sẽ nhanh hơn.
2.2.3 Các nguyên lý cơ bản của bộ nhớ cache [2]
Cục bộ về không gian:
Nếu một vị trí bộ nhớ được truy cập, thì khả năng các vị trí gần đó được truy cập trong thời gian gần tới là cao
Áp dụng với các mục dữ liệu và các lệnh có thứ tự tuần tự theo chương trình
Hầu hết các lệnh trong chương trình có thứ tự tuần tự, do đó cache đọc một khối dữ liệu trông bộ nhớ, mà bao gồm cả các phần tử xung quanh vị trí phần
tử hiện tại được truy cập
Neighbour cell Current cell Neighbour cell
Hình 2.2.3.a Cục bộ về không gian của bộ nhớ cache
Cục bộ về thời gian:
Nếu một vị trí bộ nhớ được truy cập, thì khả năng nó sẽ được truy cập trong thời gian gần tới là khá cao
Áp dụng với các mục dữ liệu và các lệnh trong vòng lặp
Cache đọc khối dữ liệu trong bộ nhớ bao gồm tất cả các thành phần trong bộ lặp
Hình 2.2.3.b Cục bộ về thời gian của bộ nhớ cache
2.2.4 Trao đổi dữ liệu của bộ nhớ cache [2]
CPU đọc/ghi từng mục dữ liệu riêng biệt từ/vào bộ nhớ cache
Cache đọc/ghi khối dữ liệu từ/vào bộ nhớ
Trang 8Hình 2.2.4 Sơ đồ trao đổi dữ liệu của bộ nhớ cache
2.2.5 Tỉ lệ Hit và Miss của bộ nhớ cache [2]
Hit là sự kiện CPU truy cập tới mục dữ liệu mà tìm được trong cache.
Khả năng có thể xảy ra Hit được gọi là tỷ lệ Hit (H)
0 <= H <= 1
H càng cao thì cache càng tốt
Miss là sự kiện CPU truy cập tới mục dữ liệu mà không tìm thấy nó trong
cache
Khả năng có thể xảy ra Miss được gọi là tỷ lệ Miss hay (1-H)
0 <= (1-H) <= 1
Mong muốn tỉ lệ này thấp
2.2.6 Kiến trúc bộ nhớ cache
Nhìn từ ngoài
Cache và bộ nhớ được kết nối tới bus hệ thống
Cache và bộ nhớ thấy chu kỳ bus CPU cùng một lúc
Hình 2.2.6.a Sơ đồ kiến trúc bộ nhớ cache nhìn từ ngoài [2]
Nhìn vào trong
Cache được đặt giữa CPU và bộ nhớ
Cache thấy chu kỳ bus CPU trước, sau đó mới chuyển tới bộ nhớ
Trang 9Hình 2.2.6.b Sơ đồ kiến trúc bộ nhớ cache nhìn vào trong [2]
2.2.7 Tổ chức bộ nhớ cache
Tổ chức bộ nhớ cache là làm sao để cache và bộ nhớ cùng làm việc với nhau
Hình 2.2.7 Sơ đồ tổ chức bộ nhớ cache
2.2.8 Các kỹ thuật tổ chức bộ nhớ cache
Ánh xạ trực tiếp
Ánh xạ liên kết toàn phần
Ánh xạ liên kết tập hợp
2.3 Bộ nhớ chính
2.3.1
Trang 10PHẦN KẾT LUẬN/NHẬN XÉT/ĐÁNH GIÁ/KIẾN NGHỊ 3.2 PHẦN NHẬN XÉT
3.2.1 Ưu/nhược điểm của phương pháp ánh xạ toàn phần
Ưu điểm:
Tỉ lệ cache hit cao hơn ánh xạ trực tiếp vì một Block được phép vào một Line bất kỳ
Nhược điểm:
Thiết kế mạch tương đối phức tạp, thể hiện ở mạch so sánh
3.2.2 Ưu/nhược điểm của Bộ nhớ cache
Ưu điểm:
Tốc độ của bộ nhớ cache nhanh hơn so với tốc độ của bộ nhớ chính
Nhược điểm:
Chi phí tính trên bit của bộ nhớ cache đắt hơn so với bộ nhớ chính
3.2.3 Ưu/nhược điểm của kiến trúc cache (nhìn vào trong)
Ưu điểm:
Hit nhanh
Nhược điểm:
Thiết kế phức tạp
Chi phí đắt
Miss chậm
3.2.4 Ưu/nhược điểm của kiến trúc cache (nhìn từ ngoài)
Ưu điểm:
Thiết kế đơn giản
Miss nhanh
Nhược điểm:
Trang 11 Thiết kế phức tạp.
Hiss chậm
3.2.5 Ưu/nhược điểm của các kỹ thuật tổ chức bộ nhớ cache
Ánh xạ trực tiếp
Ưu điểm:
Thiết kế đơn giản
Nhanh (ánh xạ cố định)
Nhược điểm:
Do ánh sáng cố định nên khả năng xảy ra xung đột cao
Tỷ lệ hit thấp
Ánh xạ liên kết toàn phần
Ưu điểm:
Ít xung đột vì ánh sáng linh hoạt
Tỷ lệ hit cao hơn
Nhược điểm:
Chậm vì phải tìm kiếm địa chỉ bộ nhớ trong cache
Phức tạp vì có them n bộ so sánh địa chỉ trong cache
Ánh xạ liên kết tập hợp
Ưu điểm:
Nhanh vì ánh xạ trực tiếp được sử dụng cho ánh xạ line
Ít xung đột vì ánh xạ từ trang nhớ tới way của cache là linh hoạt
Tỷ lệ tìm thấy (hit) cao
Nhược điểm:
Thiết kế và điều khiển phức tạp vì cache được chia thành các way
Trang 13Tài liệu tham khảo Tiếng Việt:
[1] TS Phạm Công Thắng (2011) Khoa Công Nghệ Thông Tin, trường Đại học Bách
Khoa, Đại học Đà Nẵng Bài giảng Kiến trúc máy tính, chương 10, tr 14-18.
[2] fr.scribd.com/presentation/31792125 (2014) Bài giảng Kiến trúc máy tính,
chương 4, tr 12-20
[3] Tăng Cẩm Nhung (2011) Khoa Điện Tử, trường Đại học Kỹ thuật Thái Nguyên
Bài giảng học phần Kiến trúc máy tính,
Tiếng Anh: