1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thuật caching trong quản trị mạng lưu trữ

91 541 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với sự phát triển nhanh về mặt công nghệ cũng như yêu cầu về xử lý dữ liệu với khối lượng lớn, yêu cầu xử lý nhanh như ngày nay thì việc sử dụng bộ nhớ cache như thế nào hiệu quả ra sao

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

KỸ THUẬT ĐIỆN TỬ TIN HỌC

Hà Nội – Năm 2012

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Chuyên ngành: Kỹ thuật điện tử tin học

LUẬN VĂN THẠC SĨ KHOA HỌC

KỸ THUẬT ĐIỆN TỬ TIN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS NGUYỄN VIẾT NGUYÊN

Trang 3

MỤC LỤC

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 4 

DANH MỤC CÁC BẢNG 5 

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 6 

LỜI CAM ĐOAN 7 

LỜI NÓI ĐẦU 8 

PHẦN MỞ ĐẦU 9 

CHƯƠNG 1: TỔNG QUAN VỀ CACHING 11 

1.1 Lịch sử ra đời 11 

1.2 Khái niệm 11 

1.3 Nguyên tắc bộ nhớ cache 14 

1.3.1 Bộ nhớ cache 14 

1.3.2 Tổng quan về hoạt động của bộ nhớ cache 14 

1.3.3 Các yếu tố của thiết kế cache 16 

1.4 Mô hình cache cơ bản 26 

1.4.1 Cache Hits 26 

1.4.2 Cache Miss 27 

1.4.3 Cache Consistency 28 

1.5 Kiến trúc cache 28 

1.5.1 Kiến trúc đọc 29 

1.5.2 Chính sách viết 31 

1.6 Các thành phần cache 34 

1.6.1 SRAM 34 

1.6.2 Tag RAM 34 

1.6.3 Bộ điều khiển cache 34 

1.7 Cache Organization 35 

1.7.1 Fully-Associative (kết hợp đầy đủ) 36 

1.7.2 Direct Map 37 

1.7.3 Set Associative 38 

CHƯƠNG 2: THUẬT TOÁN CACHING 39 

2.1 Tổng quan về một số thuật toán cache 39 

2.1.1 Least Frequently Used (LFU) 39 

2.1.2 Least Recently Used (LRU) 39 

2.1.3 Least Recently Used 2 (LRU2) 40 

Trang 4

2.1.4 Adaptive Replacement Cache (ARC) 40 

2.1.5 Most Recently Used (MRU) 40 

2.1.6 First in First out (FIFO) 41 

2.1.7 Simple time-based 42 

2.1.8 Extended time-based expiration 42 

2.1.9 Sliding time-based expiration 42 

2.2 Một số thuật toán caching nổi tiếng 43 

2.2.1 Thuật toán Cache Random (bộ nhớ cache ngẫu nhiên) 43 

2.2.2 Thuật toán cache FIFO 46 

2.2.3 Thuật toán cache LFU 49 

2.2.4 Thuật toán cache LRU 52 

CHƯƠNG 3: THUẬT TOÁN CACHING TRONG HỆ THỐNG LƯU TRỮ TẬP TIN 58 

3.1 Giới thiệu 58 

3.2 Các thuật toán thay thế cache của đĩa cứng 59 

3.2.1 Thuật toán LRU 59 

3.2.2 Thuật toán LFU 59 

3.2.3 Thuật toán FBR 61 

3.2.4 Thuật toán MIN 62 

3.2.5 Thuật toán RAND 62 

CHƯƠNG 4: ĐÁNH GIÁ HIỆU SUẤT CỦA DỮ LIỆU CACHING 64 

4.1 Tổng quan 64 

4.2 Cấu hình chạy mô phỏng cache 67 

4.3 Thiết lập mô phỏng 68 

4.3.1 Tạo file chạy mô phỏng 68 

4.3.2 Phần mềm TraceAnalyzer- phân tích tệp tin vết 70 

4.4 Phân tích và đánh giá kết quả mô phỏng 72 

4.4.1 Đánh giá hiệu suất của cache phụ thuộc vào block size 72 

4.4.2 Đánh giá hiệu suất của cache phụ thuộc vào associative 73 

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75 

TÀI LIỆU THAM KHẢO 77 

PHỤ LỤC 80 

Phụ lục 1: tệp tin mô phỏng (*.c) 80 

Trang 5

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Tổ chức bộ nhớ máy tính 12 

Hình 1.2: Vị trí của bộ nhớ cache 14 

Hình 1.3: Cấu tạo của bộ nhớ cache và Main memory 15 

Hình 1.4: Tổ chức bộ nhớ cache điển hình 15 

Hình 1.5: Tổ chức ánh xạ trực tiếp 18 

Hình 1.6: Minh họa ánh xạ trực tiếp 19 

Hình 1.7: Tổ chức Cache ánh xạ kết hợp 20 

Hình 1.8: Minh họa ánh xạ kết hợp 21 

Hình 1.9: Tổ chức cache liên kết K chiều 23 

Hình 1.10: Minh họa ánh xạ liên kết 24 

Hình 1.11: Mô hình cache cơ bản 26 

Hình 1.12: Look Aside Cache 29 

Hình 1.13: Look Through Cache 30 

Hình 1.14: Write - back 32 

Hình 1.15: Write-through 33 

Hình 1.16: Cache page 35 

Hình 1.17: Fully-Associative Cache 36 

Hình 1.18: Direct Mapped 37 

Hình 1.19: 2-Way Set Associative 38 

Hình 3.1: Ba phần của cache FBR 62 

Hình 4.1: Bộ công cụ của SimpleScalar 65 

Hình 4.2: Cấu trúc của bộ mô phỏng simplescalar 66 

Hình 4.3: Ví dụ về đoạn script chạy mô phỏng 69 

Hình 4.4: Thực hiện mô phỏng 70 

Hình 4.5: Phần mềm phân tích tệp tin vết (trace file) 71 

Hình 4.6: Sự phụ thuộc của missrate vào block size 72 

Hình 4.7: Sự phụ thuộc của missrate vào associative 74 

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1.1: Ba trường của địa chỉ bộ nhớ chính 17 

Bảng 1.2: Cache ánh xạ trực tiếp 17 

Bảng 2.1: Minh họa quá trình thực hiện cache ngẫu nhiên 46 

Bảng 2.2: Minh họa quá trình thực hiện cache FIFO 48 

Bảng 3.1: Đếm tham chiếu đã thay đổi 61 

Bảng 4.1: Bảng giá trị Miss_rate khi thay đổi block size 72 

Bảng 4.2: Bảng giá trị Miss_rate khi thay đổi associative 73 

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

ưu

Trang 8

LỜI CAM ĐOAN

Lời cam đoan của học viên:

Tên tôi là Trần Thị Vân Nga, cam kết luận văn tốt nghiệp là công trình

nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Viết

Nguyên giảng viên Viện Điện tử Viễn thông trường Đại Học Bách Khoa

Trang 9

LỜI NÓI ĐẦU

Trước hết, em xin được chân thành gửi lời cảm ơn tới các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội đã tận tình giảng dạy, truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong thời gian học tập và rèn luyện tại trường Đại học Bách Khoa Hà Nội

Để hoàn thành đồ án này em xin chân thành cảm ơn thầy giáo TS Nguyễn

Viết Nguyên, giảng viên Viện Điện tử viễn thông - Đại học Bách Khoa Hà

Nội đã chỉ bảo tận tình và giúp đỡ em trong suốt quá trình làm đồ án

Trong quá trình làm do điều kiện thời gian và trình độ có hạn không thể tránh khỏi những sai sót Vì vậy em rất mong nhận được những ý kiến chỉ bảo quý báu của các thầy cô, các ý kiến đóng góp của bạn bè để em có thể kịp thời bổ sung, sửa chữa những thiếu sót của mình

Em xin chân thành cảm ơn!

Hà Nội, ngày 25 tháng 03 năm 2012

Học viên: Trần Thị Vân Nga Lớp: Cao học Điện tử Tin học 2009

Trang 10

PHẦN MỞ ĐẦU

Lý do chọn đề tài

Ngày nay các bộ vi xử lý ngày càng phát triển về tốc độ và độ phức tạp Bộ nhớ cache là một phần không thể thiếu trong các bộ vi xử lý Bộ nhớ cache không phải là công nghệ mới Trong thực tế, đầu tiên nó được triển khai cho máy lớn hàng chục năm trước đây Nếu nói một cách đơn giản thì cache giúp cho việc truy xuất dữ liệu nhiều lần trong một quá trình xử lý trở nên nhanh hơn Ngày nay, gần như tất cả các thiết bị có khả năng lưu trữ hay truy xuất dũ liệu đều có

bộ nhớ cache Trong HDD cũng có, trong DVD cũng có Nhưng tuỳ theo công nghệ về khả năng xử lý mà nó quyết định chất lượng, chi phí và mục đích sử dụng của nó Mỗi loại cache đều cải thiện tốc độ truy xuất và xử lý dữ liệu Việc

sử dụng bộ nhớ cache hiệu quả giúp hiệu suất xử lý của hệ thống tăng cao

Với sự phát triển nhanh về mặt công nghệ cũng như yêu cầu về xử lý dữ liệu với khối lượng lớn, yêu cầu xử lý nhanh như ngày nay thì việc sử dụng bộ nhớ cache như thế nào hiệu quả ra sao sẽ là một bài toán cần giải quyết Các thuật toán cache cần có thời gian xử lý nhanh, xung đột dữ liệu hay tỉ lệ lỗi dữ liệu thấp (miss_rate) sẽ là yêu cầu tiên quyết

Càng nhiều dữ liệu được trao đổi với vùng đệm thì chương trình phải quyết định càng nhiều cách thức sử dụng tốt nhất không gian nhớ cho phép Và càng sử dụng đến vùng đệm thì càng chứng tỏ hiệu quả của cache

Với các lý do nêu trên tác giả đã chọn luận văn của mình là “Thuật caching trong quản trị mạng lưu trữ” và nghiên cứu sâu về đánh giá hiệu năng của dữ liệu caching

Mục đích nghiên cứu của luận văn

• Tìm hiểu lý thuyết cache

Trang 11

• Đánh giá hiệu năng của dữ liệu cache thông qua mô phỏng

Các kết quả nghiên cứu của luận văn sẽ là cơ sở để cache hoạt động có hiệu quả cao và là cơ sở để nghiên cứu các thông số khác cũng như các khía cạnh khác của cache

Nội dung của luận văn bao gồm các phần sau:

Chương 1: Tổng quan về caching

Chương 2: Thuật toán caching

Chương 3: Thuật toán caching trong hệ thống lưu trữ tập tin

Chương 4: Đánh giá hiệu năng của dữ liệu cache

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ CACHING 1.1 Lịch sử ra đời

Cách đây rất lâu, trước khi sử dụng cache, trong quá trình viết phần mềm và xử

lý dữ liệu người sử dụng yêu cầu một đối tượng và đối tượng này được nạp từ một nơi lưu trữ và đối tượng ngày càng phát triển to hơn, người sử dụng đã tốn rất nhiều thời gian để thực hiện yêu cầu đó, thực tế thì nó là nơi lưu trữ đệm, nó phải làm việc trong toàn bộ thời gian Do vậy cache ra đời giúp cho quá trình nạp

dữ liệu nhanh hơn

1.2 Khái niệm

Caching là một vị trí tạm thời, nơi lưu trữ dữ liệu (dữ liệu sử dụng thường xuyên), do dữ liệu được nạp vào rất quan trọng, vì vậy có thể khôi phục dữ liệu nhanh

Bộ nhớ máy tính được tổ chức thành một hệ thống phân cấp Ở cấp độ cao nhất (gần nhất với bộ vi xử lý) được đăng ký xử lý Tiếp đến là một hoặc nhiều cấp độ của cache Khi nhiều cấp độ được sử dụng, chúng được biểu thị L1, L2,… Tiếp đến là bộ nhớ chính, thường được truy cập bộ nhớ ngẫu nhiên động (DRAM) Tất cả những cái này được mô tả bên trong hệ thống máy tính Các hệ thống phân cấp tiếp tục với bộ nhớ bên ngoài, với cấp độ tiếp theo thường là một đĩa cứng cố định, và một hoặc nhiều cấp độ dưới đây bao gồm các phương tiện truyền thông

di động chẳng hạn như cartridge (hộp chứa) ZIP, đĩa quang học, và băng

Trang 13

Hình 1.1: Tổ chức bộ nhớ máy tính

Hệ thống phân cấp bộ nhớ giảm chi phí/bit, tăng dung lượng, và thời gian truy cập chậm hơn Nó sẽ được tốt đẹp để chỉ sử dụng bộ nhớ nhanh nhất, nhưng bởi

vì đó là bộ nhớ đắt tiền nhất, vì vậy giảm thời gian truy cập và chi phí bằng cách

sử dụng nhiều bộ nhớ chậm hơn Bí quyết là để tổ chức dữ liệu và các chương trình trong bộ nhớ cần thiết thường là trong bộ nhớ nhanh nhất

Nói chung, trong tương lai hầu hết việc truy cập đến bộ nhớ chính bằng cách bộ

vi xử lý sẽ được đặt tới vị trí được truy cập gần nhất Vì vậy, bộ nhớ cache sẽ tự động giữ lại một bản sao của một số những từ mới được sử dụng từ DRAM Nếu

bộ nhớ cache được thiết kế đúng, sau đó hầu hết thời gian xử lý sẽ yêu cầu bộ nhớ đã có trong bộ nhớ cache

Bộ nhớ cache là nhỏ, tốc độ cao, thường là RAM tĩnh (SRAM) có chứa các phần truy cập gần vào bộ nhớ chính gần thời điểm xử lý nhất

Trang 14

Tại sao là bộ nhớ tốc độ cao cần thiết hay có lợi? Trong các hệ thống thiết bị ngày nay, thời gian cần thiết để đưa một lệnh (hoặc một phần dữ liệu) vào bộ vi

xử lý là rất dài so với thời gian để thực hiện lệnh Ví dụ, một thời gian truy cập điển hình cho DRAM là 60ns, bộ xử lý 100 MHz có thể thực hiện hầu hết các lệnh trong 1 CLK hoặc 10 ns Vì vậy một cổ chai hình thành tại đầu vào bộ xử lý

Bộ nhớ cache sẽ giúp giảm thời gian cần để di chuyển thông tin vào ra bộ vi xử

lý Một thời gian truy cập điển hình cho SRAM là 15 ns Do đó bộ nhớ cache cho phép các phần nhỏ của bộ nhớ chính được truy cập từ 3 đến 4 lần nhanh hơn DRAM (bộ nhớ chính)

Làm thế nào một mảnh nhỏ của bộ nhớ tốc độ cao có thể cải thiện hiệu năng hệ thống? Lý thuyết giải thích hiệu suất này được gọi "Vị trí tham chiếu" bộ xử lý sẽ được truy cập vào bộ nhớ trong một khu vực nhỏ của bộ nhớ Các bộ nhớ cache cho phép bộ vi xử lý truy cập vào khu vực bộ nhớ nhanh hơn Thực hiện điều này tốt như thế nào? Trong một ứng dụng điển hình, 16K-byte bộ nhớ cache tronh của một bộ xử lý Pentium ® chứa hơn 90% các địa chỉ theo yêu cầu của bộ vi xử

lý Điều này có nghĩa là trên 90%bộ nhớ truy cập xảy ra trong bộ nhớ cache tốc

độ cao (Hiệu suất bộ nhớ cache là liên quan trực tiếp đến các ứng dụng đang chạy trong hệ thống.Điều này dựa trên các ứng dụng đang chạy desktop Nó có thể có hiệu suất thấp hơn tùy thuộc vào phần mềm được thiết kế như thế nào)

Vì vậy, bây giờ câu hỏi, tại sao không thay thế DRAM bộ nhớ chính với SRAM?

Lý do chính là chi phí SRAM tiêu thụ nhiều công suất và chi phí hơn so với DRAM Ngoài ra, SRAM tiêu thụ điện năng nhiều hơn và ít dày đặc hơn so với DRAM Bây giờ lý do cho bộ nhớ cache đã được thành lập, chúng ta hãy xem xét một mô hình đơn giản của một hệ thống bộ nhớ cache

Trang 15

1.3.2 Tổng quan về hoạt động của bộ nhớ cache

• Bộ vi xử lý yêu cầu nội dung của một số vị trí bộ nhớ

• Bộ nhớ cache kiểm tra các dữ liệu được yêu cầu

o Nếu tìm thấy, từ được yêu cầu được gửi đến bộ vi xử lý

o Nếu không tìm thấy, một khối của bộ nhớ chính lần đầu tiên đọc vào bộ nhớ cache, sau đó từ được yêu cầu được gửi đến bộ vi xử lý Khi một khối dữ liệu được nạp vào bộ nhớ cache để đáp ứng một tham chiếu bộ nhớ đơn, trong tương lai có khả năng các lần tham chiếu tới cùng một vị trí bộ nhớ hoặc tới các từ khác trong khối - vị trí hoặc nguyên tắc tham chiếu Mỗi khối có một thẻ để xác định nó

Trang 16

Hình 1.3: Cấu tạo của bộ nhớ cache và Main memory

Một ví dụ về một tổ chức bộ nhớ cache điển hình được hiển thị dưới đây:

Hình 1.4: Tổ chức bộ nhớ cache điển hình

Trang 17

1.3.3 Các yếu tố của thiết kế cache

1.3.3.1 Kích thước Cache

• Đủ nhỏ do đó toàn bộ chi phí/ bit là gần bằng với bộ nhớ chính

• Đủ lớn để tổng thời gian truy cập trung bình là gần với bộ nhớ cache một mình

• Thời gian truy cập = thời gian truy cập bộ nhớ chính + với thời gian truy cập bộ nhớ cache

• Cache lớn có xu hướng hơi chậm hơn so với cache nhỏ

1.3.3.2 Chức năng ánh xạ

Một thuật toán là cần thiết để các khối bộ nhớ chính ánh xạ vào các dòng bộ nhớ cache Một phương pháp là cần thiết để xác định các khối bộ nhớ chính chiếm một dòng bộ nhớ cache Ba kỹ thuật được sử dụng: trực tiếp, kết hợp, và thiết lập liên kết Giả sử sau đây:

• Cache của 64 Kbytes

• Chuyển giữa bộ nhớ chính và bộ nhớ cache trong các khối 4 byte, tổ chức

bộ nhớ cache như mỗi byte có 16K = 2^14

• Bộ nhớ chính 16 MB, địa chỉ trực tiếp bởi một địa chỉ 24-bit (nơi

2 ^ 24 = 16 triệu) - bộ nhớ chính bao gồm 4M khối, mỗi khối có 4 byte

1.3.3.2.1 Ánh xạ trực tiếp

• Mỗi khối của bộ nhớ chính chỉ ánh xạ tới một dòng cache

o “dòng bộ nhớ cache” = “khối bộ nhớ chính” / “số dòng trong bộ nhớ cache”

• Địa chỉ bộ nhớ chính được xem như là ba trường:

o Chú ý tối thiểu nhất các bit w xác định một từ duy nhất hoặc byte trong khối

Trang 18

o Quan trọng nhất các bit chỉ định một trong 2 ^s khối của bộ nhớ chính

ƒ Trường Tag của (s-r) bit (quan trọng nhất)

ƒ Trường dòng của r bit xác định một trong m = 2 ^ r dòng của bộ nhớ cache

Tag (s-r) Line hoặc Slot (r) Word (w)

Bảng 1.1: Ba trường của địa chỉ bộ nhớ chính

Ví dụ 24 bit địa chỉ:

• 2 bit từ định danh

• 22 bit nhận dạng khối

• 8 bit tag (22-14)

• 14 bit slot hoặc dòng

• Không có hai khối trong cùng một dòng có cùng một trường Tag

• Kiểm tra các nội dung của bộ nhớ cache bằng cách tìm kiếm và kiểm tra Tag

Trang 19

Tổ chức cache ánh xạ trực tiếp

Hình 1.5: Tổ chức ánh xạ trực tiếp

Ví dụ của ánh xạ trực tiếp

Trang 20

Hình 1.6: Minh họa ánh xạ trực tiếp

Tóm tắt về ánh xạ trực tiếp

• Chiều dài địa chỉ = (s+w) bits

• Số lượng các đơn vị địa chỉ = 2^(s+w) từ của bytes

• Kích thước khối = kích thước dòng = 2^w từ của bytes

• Số lượng các khối trong bộ nhớ chính = 2^(s+w)/2^w = 2^s

• Số dòng trong bộ nhớ cache = m = 2 ^ r

• Kích thước của thẻ = (s-r) bit

Trang 21

Ưu điểm và khuyết điểm của ánh xạ trực tiếp

• Một khối bộ nhớ chính có thể được nạp vào dòng bất kỳ của bộ nhớ cache

• Một địa chỉ bộ nhớ được hiểu như là một tag và một từ

• Trường tag xác định duy nhất một khối của bộ nhớ chính

• Mỗi dòng tag của bộ nhớ cache được kiểm tra đồng thời để xác định xem một khối trong bộ nhớ cache

Tổ chức ánh xạ kết hợp Cache:

Hình 1.7: Tổ chức Cache ánh xạ kết hợp

Trang 22

• 22 bit tag lưu trữ với khối 32 bit dữ liệu

• Trường tag so sánh với nhập từ khóa để kiểm tra bộ nhớ cache hit

• 2 bit byte số

Ví dụ:

Trang 23

Tóm tắt về ánh xạ kết hợp

• Chiều dài địa chỉ = (s + w) bits

• Số lượng các đơn vị địa chỉ = 2 ^ (s + w) từ hoặc bytes

• Kích thước khối = kích thước dòng = 2 ^ w từ hoặc bytes

• Số lượng của các khối trong bộ nhớ chính = 2 ^ (s + w) / 2 ^ w = 2 ^ s

• Số lượng các dòng trong bộ nhớ cache = không xác định

• Kích thước của thẻ = s bits

Ưu điểm và khuyết điểm kết hợp bản đồ

• Tính linh hoạt là khối để thay thế khi một khối mới được đọc vào bộ nhớ cache

• Các thuật toán thay thế được thiết kế để tối đa hóa tỷ lệ hit bộ nhớ cache

• Mạch điện phức tạp cần thiết để kiểm tra các thẻ của tất cả các dòng bộ nhớ cache

1.3.3.2.3 Ánh xạ liên kết

• Là sự thỏa hiệp giữa ánh xạ trực tiếp và ánh xạ kết hợp

• Cache chia thành v tập hợp

• Mỗi tập hợp chứa k dòng

• Một khối nhất định ánh xạ vào dòng bất kỳ trong một tập nhất định

o Ví dụ: khối B có thể được ánh xạ vào dòng bất kỳ trong tập i

• Ví dụ: Giả sử k = 2 - có nghĩa là có 2 dòng cho mỗi tập hợp

o Ánh xạ kết hợp 2 chiều - k chiều ánh xạ

o Một khối nhất định có thể ánh xạ vào một trong 2 dòng trong 1 tập chính xác

Trang 24

Tổ chức cache liên kết K chiều

Hình 1.9: Tổ chức cache liên kết K chiều

Trang 25

Ví dụ về ánh xạ liên kết

Hình 1.10: Minh họa ánh xạ liên kết

• Các địa chỉ bộ nhớ chính được biểu thị bằng 2 trường

• Trường tag 9 bit - Chỉ được so sánh với k tags trong tập đã cho

• Trường tập 13 bit – quy định cụ thể một của v = 2 ^ d tập

Trang 26

Ví dụ:

Tóm tắt ánh xạ liên kết

• Chiều dài địa chỉ: (s+w) bits

• Số lượng các đơn vị địa chỉ = 2 ^ (s + w) từ hoặc byte

• Kích cỡ khối = kích thước dòng = 2 ^ w từ hoặc byte

• Số lượng các khối trong bộ nhớ chính = 2 ^ (s + w) / 2 ^ w = 2 ^ s

Trang 27

1.4 Mô hình cache cơ bản

Hình 1.11: Mô hình cache cơ bản

Hình trên đưa ra một sơ đồ đơn giản của một hệ thống với cache Mỗi lần CPU thực hiện đọc hoặc viết, bộ nhớ cache có thể ngăn chặn các bus tác vụ, cho phép bộ nhớ cache giảm thời gian đáp ứng của hệ thống Trước khi thảo luận về

mô hình bộ nhớ cache này, cho phép xác định một số thuật ngữ phổ biến được sử dụng khi nói về bộ nhớ cache

1.4.1 Cache Hits

Khi client gọi một yêu cầu (yêu cầu xem thông tin về sản phẩm) và các ứng dụng của chúng nhận yêu cầu, nó sẽ truy cập dữ liệu sản phẩm trong hệ thống lưu trữ của chúng (database), nó sẽ kiểm tra trên bộ nhớ cache đầu tiên

Nếu một mục nhập có thể được tìm thấy với một thẻ (tag) khớp với dữ liệu được

mô tả ( Id sản phẩm), thay cho mục nhập được sử dụng Cái này được biết như một Bộ nhớ cache hit (bộ nhớ cache hit là phép đo chủ yếu cho hiệu quả

Trang 28

caching) Và phần trăm kết quả truy cập trong bộ nhớ cache hits được biết như

hit rate hoặc hit ratio của bộ nhớ cache

Tóm lại: khi bộ nhớ cache chứa các thông tin yêu cầu, tác vụ được cho là một bộ nhớ cache hit

1.4.2 Cache Miss

Trái lại khi thẻ (tag) không được tìm thấy trong bộ nhớ cache (tìm thấy không hợp), cái này được biết như bộ nhớ cache miss, một hit đến back storage được thực hiện và dữ liệu được nạp trở lại và nó được thay thế trong bộ nhớ cache, vì vậy các hits trong tương lai sẽ được tìm thấy và sẽ tạo một bộ nhớ cache hit Nếu gặp một bộ nhớ cache miss có thể là một chuỗi sự kiện trong tương lai (scenarios) từ hai sự kiện (scenarios):

First scenario: có khoảng trống tự do trong bộ nhớ cache (bộ nhớ cache không đạt được giới hạn của nó và có không gian tự do), vì vậy trong trường hợp này đối tượng gây ra bộ nhớ cache miss sẽ được lấy từ hệ thống lưu trữ của chúng và chèn vào bộ nhớ cache

Second scenario: không có khoảng không tự do trong bộ nhớ cache (bộ nhớ cache đã đạt được dung lượng của nó), vì đối tượng gây ra bộ nhớ cache miss sẽ được nạp từ hệ thống lưu trữ và rồi sẽ phải xác định đối tượng nào trong bộ nhớ cache cần phải di chuyển để đặt đối tượng được tạo ra gần đây (một đối tượng vừa được lấy lại), cái này được làm bằng chính sách thay thế ( thuật caching), cái

mà quyết định mục nhập nào sẽ được loại bỏ để làm nhiều ngăn hơn

Tóm lại: Khi bộ nhớ cache vẫn không chứa các thông tin được yêu cầu, giao dịch

được cho biết là có bộ nhớ cache miss

Trang 29

1.4.3 Cache Consistency

Kể từ khi bộ nhớ cache là một hình ảnh hoặc bản sao của một phần nhỏ bộ nhớ chính, quan trọng là bộ nhớ cache luôn luôn phản ánh những gì có trong bộ nhớ chính Một số thuật ngữ phổ biến được sử dụng để mô tả quá trình duy trì tính thống nhất bộ nhớ cache là:

Snoop: khi một bộ nhớ cache xem dòng địa chỉ để giao dịch, cái này được gọi là

một snoop Chức năng này cho phép bộ nhớ cache để nếu có giao dịch truy cập

bộ nhớ, xem có chứa trong nó

Snarf: Khi một bộ nhớ cache lấy thông tin từ các dòng dữ liệu, bộ nhớ cache

snarfed các dữ liệu Chức năng này cho phép bộ nhớ cache được cập nhật và duy trì nhất quán Snoop và snarf là cơ chế bộ nhớ cache sử dụng để duy trì tính thống nhất

Hai thuật ngữ khác thường được sử dụng để mô tả những mâu thuẫn trong bộ nhớ cache dữ liệu, những thuật ngữ này là:

Dirty Data: Khi dữ liệu được sửa đổi trong bộ nhớ cache, nhưng không được

sửa đổi trong bộ nhớ chính, các dữ liệu trong bộ nhớ cache được gọi là “dữ liệu bẩn”

Stale Data: Khi dữ liệu được sửa đổi trong bộ nhớ chính nhưng không được sửa

đổi trong bộ nhớ cache, các dữ liệu trong bộ nhớ cache được gọi là dữ liệu cũ

Trang 30

1.5.1 Kiến trúc đọc

1.5.1.1 Look Aside

Hình 1.12: Look Aside Cache

Hình trên đưa ra một sơ đồ đơn giản của kiến trúc cache “look aside” Trong sơ

đồ này, bộ nhớ chính nằm đối diện với giao diện hệ thống Các tính năng của đơn

vị bộ nhớ cache này nằm song song với bộ nhớ chính Điều quan trọng là để thông báo rằng cả hai bộ nhớ chính và bộ nhớ cache thấy một chu kỳ bus tại cùng một thời gian Do đó gọi tên là “look aside”

Ví dụ về Look Aside Cache

Khi bộ vi xử lý bắt đầu một chu kỳ đọc, bộ nhớ cache sẽ kiểm tra xem nếu địa chỉ đó là một bộ nhớ cache hit

HIT: Nếu bộ nhớ cache chứa vị trí bộ nhớ, sau đó bộ nhớ cache sẽ đáp ứng các chu kỳ đọc và chấm dứt chu kỳ bus

MISS: Nếu bộ nhớ cache không chứa vị trí bộ nhớ, sau đó bộ nhớ chính đáp ứng với bộ vi xử lý và chấm dứt chu kỳ bus Các bộ nhớ cache sẽ snarf dữ liệu, vì vậy

Trang 31

Các cache Look aside là ít phức tạp hơn và chúng ít tốn kém hơn Kiến trúc này cũng cung cấp đáp ứng tốt hơn đển bộ nhớ cache miss vì cả hai đều DRAM và bộ nhớ cache thấy chu kỳ bus cùng một lúc Draw back là bộ vi xử lý không thể truy cập bộ nhớ cache trong khi chủ bus master khác đang truy cập bộ nhớ chính

1.5.1.2 Look Through

Hình 1.13: Look Through Cache

Hình trên là một sơ đồ đơn giản của kiến trúc cache Một lần nữa, bộ nhớ chính nằm đối diện với giao diện hệ thống Các tính năng của đơn vị bộ nhớ cache này nằm giữa bộ vi xử lý và bộ nhớ chính Điều quan trọng là để thông báo rằng bộ nhớ cache nhìn thấy chu kỳ bus vi xử lý trước khi cho phép nó truyền qua đến hệ thống

Ví dụ về chu kỳ đọc Look Through

Khi bộ vi xử lý bắt đầu truy cập bộ nhớ, bộ nhớ cache sẽ kiểm tra xem nếu địa chỉ đó là một bộ nhớ cache hit

HIT: Bộ nhớ cache đáp ứng yêu cầu của bộ xử lý mà không cần bắt đầu một truy cập vào bộ nhớ chính

Trang 32

MISS: Bộ nhớ cache bỏ qua chu kỳ bus lên bus hệ thống Bộ nhớ chính sau đó đáp ứng các yêu cầu bộ vi xử lý Bộ nhớ cache snarfs dữ liệu để thời gian tiếp theo yêu cầu xử lý dữ liệu này, nó sẽ là một bộ nhớ cache hit

Kiến trúc này cho phép các bộ vi xử lý để chạy ra khỏi bộ nhớ cache trong khi một bus chủ đang truy cập vào bộ nhớ chính, từ đó bộ vi xử lý bị cô lập với phần còn lại của hệ thống Tuy nhiên, kiến trúc bộ nhớ cache này phức tạp hơn bởi vì

nó phải có khả năng kiểm soát truy cập đến phần còn lại của hệ thống Sự gia tăng phức tạp làm tăng chi phí Một nhược điểm là bộ nhớ truy cập vào bộ nhớ cache miss (cache nhớ) chậm hơn vì bộ nhớ chính không được truy cập cho đến khi kiểm tra bộ nhớ cache xong Đây không phải là một vấn đề nếu bộ nhớ cache

có tốc độ hit cao và bus chủ khác

1.5.2 Chính sách viết

Một chính sách viết xác định bộ nhớ cache xử lý với một chu kỳ viết như thế nào Hai chính sách viết phổ biến là Write-Back và Viết-Through

Trong chính sách Write-Back, bộ nhớ cache hoạt động như một bộ đệm Đó là,

khi bộ xử lý bắt đầu một chu kỳ viết bộ nhớ cache nhận được dữ liệu và chấm dứt chu kỳ Bộ nhớ cache sau đó viết lại dữ liệu tới bộ nhớ chính khi bus hệ thống có sẵn Phương pháp này cho hiệu suất lớn nhất bằng cách cho phép bộ vi

xử lý tiếp tục nhiệm vụ của mình trong khi bộ nhớ chính được cập nhật tại một thời điểm sau Tuy nhiên, kiểm soát viết vào bộ nhớ chính tăng tính phức tạp của

bộ nhớ cache và chi phí

Trang 33

Hình 1.14: Write - back

Phương pháp thứ hai là chính sách Write-Through: bộ xử lý viết thông qua bộ

nhớ cache đến bộ nhớ chính Các bộ nhớ cache có thể cập nhật nội dung của nó, tuy nhiên chu kỳ viết không kết thúc cho đến khi dữ liệu được lưu trữ vào bộ nhớ

Trang 34

chính Phương pháp này ít phức tạp và do đó ít tốn kém để thực hiện Việc thực hiện với một chính sách Write-Through thấp do bộ vi xử lý phải chờ đợi cho bộ nhớ chính chấp nhận các dữ liệu

Hình 1.15: Write-through

Trang 35

1.6 Các thành phần cache

Hệ thống phụ bộ nhớ cache có thể được chia thành ba khối chức năng: SRAM, Tag RAM, và bộ điều khiển cache Trong thiết kế thực tế, những khối này có thể được thực hiện bởi nhiều hoặc tất cả các chip, có thể được kết hợp vào một chip

duy nhất

1.6.1 SRAM

Bộ nhớ truy cập ngẫu nhiên tĩnh (Static Random Access Memory - SRAM) là khối bộ nhớ giữ dữ liệu Kích thước của SRAM xác định kích thước của bộ nhớ cache

1.6.2 Tag RAM

Tag RAM (TRAM) là một phần nhỏ của SRAM , để lưu trữ các địa chỉ của dữ liệu được lưu trữ trong SRAM

1.6.3 Bộ điều khiển cache

Bộ điều khiển bộ nhớ cache là bộ não đằng sau bộ nhớ cache Trách nhiệm của

nó bao gồm: thực hiện snoops và snarfs, cập nhật các SRAM, TRAM và thực hiện chính sách viết Bộ điều khiển cache cũng chịu trách nhiệm để xác định nếu yêu cầu của bộ nhớ có khả năng lưu trữ và nếu yêu cầu là một bộ nhớ cache hit hoặc miss

Trang 36

1.7 Cache Organization

Hình 1.16: Cache page

Để hiểu đầy đủ về cách cache được tổ chức như thế nào, hai điều kiện cần phải được xác định Những thuật ngữ trang cache (cache page) và dòng cache (cache line) Cho phép bắt đầu bằng cách xác định một trang bộ nhớ cache Bộ nhớ chính chia thành các phần bằng nhau gọi là các trang cache Kích thước của một trang là phụ thuộc vào kích thước của bộ nhớ cache và bộ nhớ cache được tổ chức như thế nào Một trang bộ nhớ cache được chia thành các phần nhỏ, mỗi phần được gọi là một dòng cache Kích thước của một dòng cache được xác định bởi bộ xử lý và thiết kế bộ nhớ cache

Hình trên cho thấy bộ nhớ chính có thể được chia thành các trang cache và mỗi trang cache được chia thành các dòng cache như thế nào

Trang 37

1.7.1 Fully-Associative (kết hợp đầy đủ)

Hình 1.17: Fully-Associative Cache

Tổ chức bộ nhớ cache đầu tiên được thảo luận là bộ nhớ cache kết hợp đầy đủ Hình trên cho thấy một sơ đồ của một bộ nhớ cache kết hợp đầy đủ Sự sắp xếp theo hệ thống của tổ chức này cho phép bất kỳ dòng nào trong bộ nhớ chính được lưu trữ tại vị trí bất kỳ trong bộ nhớ cache Bộ nhớ cache kết hợp hoàn toàn không sử dụng trang cache, chỉ sử dụng dòng Bộ nhớ chính và bộ nhớ cache được chia thành các dòng có kích thước bằng nhau.Ví dụ Hình trên cho thấy Line

1 của bộ nhớ chính được lưu trữ trong Line 0 của bộ nhớ cache Tuy nhiên điều này không phải là khả năng duy nhất, Line 1 có thể được lưu trữ bất cứ nơi nào trong bộ nhớ cache Dòng cache bất kỳ có thể lưu trữ dòng bộ nhớ bất kỳ, do đó

nó có tên Kết hợp đầy đủ

Kiểu Full Associative cung cấp hiệu suất tốt nhất bởi vì vị trí bộ nhớ bất kỳ có thể được lưu trữ tại vị trí cache bất kỳ Điểm bất lợi là sự phức tạp của việc thực hiện trong phương pháp này Phức tạp này do việc xác định nếu dữ liệu được yêu cầu có mặt trong bộ nhớ cache Để đáp ứng yêu cầu thời gian, địa chỉ hiện tại phải được so sánh với tất cả các địa chỉ hiện tại trong TRAM Điều này đòi hỏi việc so sánh với một số lượng rất lớn làm tăng sự phức tạp và chi phí thực hiện lưu trữ lớn Do đó, loại bộ nhớ cache thường chỉ được sử dụng cho lưu trữ nhỏ, thường ít hơn 4K

Trang 38

1.7.2 Direct Map

Hình 1.18: Direct Mapped

Bộ nhớ cache ánh xạ thẳng là cũng được gọi là Cache liên kết 1 đường ( 1-Way Associative) Hình trên cho thấy một sơ đồ của một chương trình ánh xạ thẳng Trong phương pháp này, bộ nhớ chính được chia vào các trang cache Kích thước của mỗi trang là bằng kích thước của bộ nhớ cache Không giống như bộ nhớ cache liên kết đầy đủ, bộ nhớ cache ánh xạ thẳng chỉ có thể lưu trữ một dòng cụ thể của bộ nhớ trong cùng một dòng bộ nhớ cache Ví dụ, Line 0 của trang bất kỳ trong bộ nhớ phải được lưu trữ trong Line 0 của bộ nhớ cache Do đó, nếu Line 0 của Page 0 được lưu trữ trong bộ nhớ cache và Line 0 của trang 1 được yêu cầu, sau đó Line 0 của Page 0 sẽ được thay thế bằng Line 0 Page 1 Phương pháp này ánh xạ thẳng một dòng bộ nhớ chính vào một dòng cache tương đương, do đó tên của nó là cache ánh xạ thẳng (Direct Mapped cache)

Phương pháp Direct Mapped cache là ít phức tạp hơn ba phương pháp lưu trữ khác Direct Mapped cache chỉ yêu cầu địa chỉ yêu cầu hiện tại so sánh với chỉ một địa chỉ cache Do việc thực hiện này là ít phức tạp hơn, ít tốn kém hơn so với phương pháp lưu trữ khác Điểm bất lợi là bộ nhớ cache ánh xạ (Direct Mapped cache) là ít linh hoạt làm cho hiệu suất thấp hơn nhiều, đặc biệt là khi nhảy giữa

Trang 39

1.7.3 Set Associative

Hình 1.19: 2-Way Set Associative

Một cache thiết lập liên kết là một sự kết hợp của các phương pháp lưu trữ Associative và Direct Mapped Kiểu thiết lập liên kết làm việc bằng cách chia cache SRAM thành các phần bằng nhau (thường là 2 hoặc 4 phần) được gọi là các đường cache Kích thước trang cache bằng với kích thước của đường cache Mỗi đường cache được xử lý như một bộ cache ánh xạ trực tiếp nhỏ Để thực hiện các giải thích rõ ràng hơn, cho phép xem xét một ví dụ cụ thể Hình trên cho thấy một sơ đồ của một phương pháp lưu trữ 2 đường liên kết ( 2-Way-Set-Associative)

Full-Trong phương pháp này, hai dòng của bộ nhớ có thể được lưu trữ tại thời điểm bất kỳ nào.Điều này giúp giảm số lần các dòng bộ nhớ cache dữ liệu ghi đè? Phương pháp này là ít phức tạp hơn so với một bộ nhớ cache liên kết đầy đủ (Full-Asociative) bởi vì số lượng comparitors bằng với số đường cache Một cache tập đường liên kết (2-Way Set-Associate ) chỉ yêu cầu hai comparitor để cho phương pháp này một chương trình đầy đủ liên kết (Full-Associative)

Trang 40

CHƯƠNG 2: THUẬT TOÁN CACHING

2.1 Tổng quan về một số thuật toán cache

2.1.1 Least Frequently Used (LFU)

Cần thiết phải thường xuyên đếm việc tăng một mục nhập vào bằng một bộ đếm kết hợp với mỗi mục nhập

Đầu tiên loại bỏ mục nhập với bộ đếm tần số xuất hiện sử dụng ít nhất, vì nó không nhanh và không tốt cho những hoạt động mang tính thích nghi (nghĩa là giữ mục nào thực sự là cần thiết, loại bỏ mục nào không cần trong thời gian dài nhất dựa vào tần số xuất hiện truy cập vào hoặc trong các lệnh yêu cầu khác)

2.1.2 Least Recently Used (LRU)

Đầu tiên loại bỏ những items gần đây ít sử dụng nhất trong thời gian lâu nhất

Yêu cầu theo dõi kiểm tra những cái gì đã sử dụng, phải chắc rằng luôn loại bỏ những item gần đây ít sử dụng nhất

Sử dụng caching cho trình duyệt web Các item mới được đặt vào vị trí đầu tiên của bộ nhớ cache Khi bộ nhớ cache vượt quá giới hạn kích thước của nó, sẽ phải loại bỏ các items ở phía dưới Cách thức là bất cứ khi nào một item được truy cập vào, ta đặt nó ở vị trí đầu

Vì vậy các items có khuynh hướng truy cập thường xuyên được ở lại trong bộ nhớ cache Có hai cách để thực hiện hoặc là theo một mảng hoặc theo một danh sách liên kết ( cái mà sẽ có mục gần đây ít sử dụng nhất ở trước và sau)

Ưu điểm: Nhanh và thích ứng với các loại dữ liệu truy cập vào

Ngày đăng: 22/07/2017, 23:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Baker, M. G., Hartman, J. H., Kupfer, M. D., Shirriff, K. W., and Ousterhout, J. K., "Measurements of a Distributed File System,"Proceedings of the 13th ACM Symposium on Operating System Principles, October 1991, pp. 198-212 Sách, tạp chí
Tiêu đề: Measurements of a Distributed File System
3. Korner, K., "Intelligent Caching for Remote File Service," ICDCS, May 1990, pp. 220-226 Sách, tạp chí
Tiêu đề: Intelligent Caching for Remote File Service
4. Leffler, S. J., McKusick, M. K., Karels, M. J., and Quarterman, J. S., The Design and Implementation of the J f . 3 BSD UNIX Operating System, Addison Wesley, 1989 Sách, tạp chí
Tiêu đề: The Design and Implementation of the J"f". 3 BSD UNIX Operating System
5. Makaroff, D. J., and Eager, D. L., "Disk Cache Performance for Distributed Systems," ICDCS, May 1990, pp. 212-219 Sách, tạp chí
Tiêu đề: Disk Cache Performance for Distributed Systems
6. Muller, K. and Pasquale, J., "A High Performance Multi-Structured File System Design," Proceedings of the 13th ACM Symposium on Operating System Principles, October 1991, pp. 56-67 Sách, tạp chí
Tiêu đề: A High Performance Multi-Structured File System Design
7. Ousterhout, J. K., Da Costa, H., Harrison, D., Kunze, J. A., Kupfer, M. and Thompson, J. G., "A Trace-Driven Analysis of the UNIX 4.2 BSD File System," Proceedings of the 10th ACM Symposium on Operating System Principles, December 1985, pp. 15-24 Sách, tạp chí
Tiêu đề: A Trace-Driven Analysis of the UNIX 4.2 BSD File System
8. Robinson, J. T., and Devarakonda, M. V., "Data Cache Management Using Frequency-Based Replacement," Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, May 1990, pp. 134-142 Sách, tạp chí
Tiêu đề: Data Cache Management Using Frequency-Based Replacement
9. Rosenblum, M., and Ousterhout, J., K., "The Design and Implementation of a Log-Structured File System," Proceedings of the 13th ACM Symposium on Operating System Principles, October 1991, pp. 1- 15 Sách, tạp chí
Tiêu đề: The Design and Implementation of a Log-Structured File System
10. Venkat Rangan, P., and Harrick, M. Vin, "Designing File Systems for Digital Video and Audio," Proceedings of the 13th ACM Symposium on Operating System Principles, October 1991, pp.81-94 Sách, tạp chí
Tiêu đề: Designing File Systems for Digital Video and Audio
11. U. Hahn, W. Dilling, and D. Kaletta. Adaptive replacement algorithm for disk caches in hsm systems. In 16 Int’l. Symp on Mass Storage Syst., pages 128 – 140, San Diego, California, Mar. 15-18 1999 Sách, tạp chí
Tiêu đề: 16 Int’l. Symp on Mass Storage Syst
12. E. J. O’Neil, P. E. O’Neil, and G. Weikum. The LRU-K page replacement algorithm for database buffering. In Proc. ACM SIGMOD’93: Int’l. Conf.on Mgmnt. of Data, pages 297 – 306, Washington, DC, May. 1993 Sách, tạp chí
Tiêu đề: Proc. ACM SIGMOD’93: Int’l. Conf. "on Mgmnt. of Data
17. C. Mohan. Caching Technologies for Web Applications. Tutorial at Very Large Data Bases Conference, Roma, Italy, 2001.http://www.almaden.ibm.com/u/mohan/Caching_VLDB2001.pdf Link
18. SimpleScalar. SimpleSclar home page. [Online] [Cited: March 26, 2008.] http://www.simplescalar.com Link
19. Al-Issa, Khalid. A Simplescalar Installation guide. [Online] [Cited: den 26 March 2008.]http://www.studiokhalid.com/simplescalar/simplescalar.htm Link
13. Ari, M. Gottwals, and D. Henze. SANBoost: Automated SAN-level caching in storage area networks. In Proceedings of the 1st International Conference on Autonomic Computing (ICAC ’04), pages 164–171, 2004 Khác
14. E. J. O’Neil, P. E. O’Neil, and G. Weikum. The LRU-K page replacement algorithm for database disk buffering. In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, pages 297–306, 1993 Khác
15. Sibel Adali, K. Selỗuk Candan, Yannis Papakonstantinou, and V. S. Subrahmanian. Query Caching and Optimization in Distributed Mediator Systems. Proc. ACM SIGMOD International Conference on Management of Data, Montreal, Quebec, Canada, June 1996 Khác
16. Shaul Dar, Michael J. Franklin, Bjửrn ịúr Júnsson, and Divesh Srivastava, Michael Tan. Data Caching and Replacement. Proc. Very Large Data Bases Conference, Bombay, India, 1996 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Tổ chức bộ nhớ máy tính - Thuật caching trong quản trị mạng lưu trữ
Hình 1.1 Tổ chức bộ nhớ máy tính (Trang 13)
Hình 1.4: Tổ chức bộ nhớ cache điển hình - Thuật caching trong quản trị mạng lưu trữ
Hình 1.4 Tổ chức bộ nhớ cache điển hình (Trang 16)
Hình 1.5: Tổ chức ánh xạ trực tiếp - Thuật caching trong quản trị mạng lưu trữ
Hình 1.5 Tổ chức ánh xạ trực tiếp (Trang 19)
Hình 1.6:  Minh họa ánh xạ trực tiếp - Thuật caching trong quản trị mạng lưu trữ
Hình 1.6 Minh họa ánh xạ trực tiếp (Trang 20)
Hình 1.7:  Tổ chức Cache ánh xạ kết hợp - Thuật caching trong quản trị mạng lưu trữ
Hình 1.7 Tổ chức Cache ánh xạ kết hợp (Trang 21)
Hình 1.8: Minh họa ánh xạ kết hợp - Thuật caching trong quản trị mạng lưu trữ
Hình 1.8 Minh họa ánh xạ kết hợp (Trang 22)
Hình 1.9: Tổ chức cache liên kết K chiều - Thuật caching trong quản trị mạng lưu trữ
Hình 1.9 Tổ chức cache liên kết K chiều (Trang 24)
Hình 1.10:  Minh họa ánh xạ liên kết - Thuật caching trong quản trị mạng lưu trữ
Hình 1.10 Minh họa ánh xạ liên kết (Trang 25)
Hình 1.14:  Write - back - Thuật caching trong quản trị mạng lưu trữ
Hình 1.14 Write - back (Trang 33)
Hình 1.15: Write-through - Thuật caching trong quản trị mạng lưu trữ
Hình 1.15 Write-through (Trang 34)
Hình 1.16:  Cache page - Thuật caching trong quản trị mạng lưu trữ
Hình 1.16 Cache page (Trang 36)
Hình 4.1: Bộ công cụ của SimpleScalar - Thuật caching trong quản trị mạng lưu trữ
Hình 4.1 Bộ công cụ của SimpleScalar (Trang 66)
Hình 4.2: Cấu trúc của bộ mô phỏng simplescalar - Thuật caching trong quản trị mạng lưu trữ
Hình 4.2 Cấu trúc của bộ mô phỏng simplescalar (Trang 67)
Hình 4.4: Thực hiện mô phỏng - Thuật caching trong quản trị mạng lưu trữ
Hình 4.4 Thực hiện mô phỏng (Trang 71)
Hình 4.7: Sự phụ thuộc của missrate vào associative - Thuật caching trong quản trị mạng lưu trữ
Hình 4.7 Sự phụ thuộc của missrate vào associative (Trang 75)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w