Chúng ta đang ở trong kỷ nguyên thông tin. Ngày nay không còn ai nghi ngờ gì vai trò của thông tin trong đời sống, trong khoa học kỹ thuật, kinh doanh cũng như trong mọi mặt vận động của xã hội, dưới mọi quy mô, từ xí nghiệp công ty cho đến quốc gia và cả quốc tế. Việc nắm bắt thông tin thật nhanh, nhiều chính xác và kịp thời ngày càng đóng vai trò cốt yếu trong quản lý, điều hành.
22 trang |
Chia sẻ: vietpd | Lượt xem: 4777 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Cache memory, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CÔNG THƯƠNG
TẬP ĐOÀN DỆT MAY VIỆT NAM
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT VINATEX
TP. HỒ CHÍ MINH
bb::8aa
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TIỂU LUẬN MÔN KIẾN TRÚC MÁY TÍNH
ĐỀ TÀI:CACHE MEMORY
GVHD: Phạm Tuấn Hiệp
Nhóm thực hiện:
Võ Thị Huệ Nhiểu (0901070037)
Ngô Thanh Vũ (0901070058)
Đinh Thị Hồng Nghi (0901070033)
LỚP : CD09I1_DT: 0932865448
TP.HCM 06/2011
Nhận xét và đánh giá của giáo viên:
…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
LỜI MỞ ĐẦU
-Chúng ta đang ở trong kỷ nguyên thông tin. Ngày nay không còn ai nghi ngờ gì vai trò của thông tin trong đời sống, trong khoa học kỹ thuật, kinh doanh cũng như trong mọi mặt vận động của xã hội, dưới mọi quy mô, từ xí nghiệp công ty cho đến quốc gia và cả quốc tế. Việc nắm bắt thông tin thật nhanh, nhiều chính xác và kịp thời ngày càng đóng vai trò cốt yếu trong quản lý, điều hành.
-Hẳn nhiều người ít khi biết một chiếc máy tính hoạt động như thế nào và theo quy trình quy tắc nào, để giúp mọi người biết và hiểu hơn về các thiết bị máy cùng cách hoạt động ra sao, nhóm chúng tôi xin được phép nói sâu về bộ nhớ máy chi tiết hơn đó là bộ nhớ đệm (cache memory).Ta lần lượt nghiên cứu các thành phần cũng như chức năng của bộ nhớ đệm:
Computer system memory overview (bộ nhớ hệ thống máy tính tổng quan)
Cache memory principles (các nguyên tắc nhớ cache)
elements of cache design (các yếu tố của thiết kế bộ nhớ cache)
Cuối cùng ta xem ví dụ nghiên cứu về tổ chức bộ nhớ cache trong pentium II để hiểu rõ hơn.
CACHE MEMORY
I. Computer sytem memory overview (Tổng quan bộ nhớ máy tính)
1. Bộ nhớ (memory)
Các đặc trưng của bộ nhớ
- Vị trí: bộ nhớ là thiết bị nhớ có thể ghi và chứa thông tin như ROM, RAM, cache, đĩa cứng, đĩa mềm, CD.... đều có thể gọi là bộ nhớ (vì chúng đều lưu trữ thông tin).
- Dung lượng: khả năng lưu trữ dữ liệu của thiết bị. Với bộ nhớ trong, dung lượng thường được biểu diễn dưới dạng byte. (1 byte = 8 bit) hay word. Các độ dài word phổ biến là 8, 16, và 32 bit. Bộ nhớ ngoài có dung lượng được biểu thị theo byte.Ví dụ: CD chứa được 700MB, đĩa mềm chứa được 1.44MB, đĩa cứng chứa được 40 GB, 60GB, cache L1 chứa được 16KB, cache L2 chứa được 256 KB ...
- Đơn vị truyền: từ nhớ và khối nhớ.
- Giao tiếp: cấu trúc bên ngoài của bộ nhớ. Ví dụ, các RAM có số chân cắm và đặc tính khác nhau.
- Phương pháp truy nhập:truy nhập tuần tự (băng từ), truy nhập trực tiếp (các loại đĩa), truy nhập ngẫu nhiên (bộ nhớ bán dẫn), truy nhập liên kết (cache).
- Kiểu bộ nhớ vật lý: bộ nhớ bán dẫn, bộ nhớ từ, bộ nhớ quang.
- Các đặc tính vật lý: khả biến, không khả biến, xoá được, không xoá được.
- Hiệu năng: thời gian truy nhập, chu kỳ truy xuất bộ nhớ, tốc độ truyền.
2. Phân loại bộ nhớ
2.1. Bộ nhớ trong : là bộ nhớ thường được tổ chức từ nhiều vi mạch nhớ ghép lại để có độ rộng bus địa chỉ và dữ liệu cần thiết.
a. Bộ nhớ chỉ đọc (ROM:Read Only Memory)
-Ðây là loại bộ nhớ không khả biến dùng trong các hãng sãn xuất là chủ yếu. Nó có đặc tính là thông tin lưu trữ trong ROM không thể xoá được và không sửa được, thông tin sẽ được lưu trữ mãi mãi. Nhưng ROM có bất lợi là một khi đã cài đặt thông tin vào rồi thì ROM sẽ không còn tính đa dụng. Ví dụ điển hình là các con "chip" trên motherboard hay là BIOS ROM để vận hành khi máy tính vừa khởi động.
Các kiểu ROM:
- PROM (Programmable ROM)
- EPROM (Erasable Programmable ROM)
- EEPROM (Electrically Erasable Programmable ROM)
- Flash Memory
b. Bộ nhớ đọc ghi (RAM : Random Access Memory)
-RAM là thế hệ kế tiếp của ROM, cả RAM và ROM đều là bộ nhớ truy xuất ngẫu nhiên, tức là dữ liệu được truy xuất không cần theo thứ tự. Tuy nhiên ROM chạy chậm hơn RAM rất nhiều. Thông thường ROM cần trên 50ns để xử lý dữ liệu trong khi đó RAM cần dưới 10ns.
Có 2 loại chính: RAM tĩnh(SRAM:Static RAM) và RAM động (DRAM: Dynamic RAM):
- SRAM (RAM tĩnh) là loại RAM lưu trữ dữ liệu không cần cập nhật thường xuyên trong khi đó DSRAM (RAM động) là loại RAM cần cập nhật dữ liệu thường xuyên. Thông thường dữ liệu trong DRAM sẽ được làm tươi (refresh) nhiều lần trong một giây để giữ lại những thông tin đang lưu trữ, nếu không thì dữ liệu trong DRAM cũng sẽ bị mất do hiện tượng rò rỉ điện tích của các tụ điện. Các khác biệt của SRAM so với DRAM:
- Tốc độ của SRAM lớn hơn DRAM do không phải tốn thời gian refresh..
- Chế tạo SRAM tốn kém hơn DRAM nên thông thường sử dụng DRAM để hạ giá thành sản phẩm.
Các kiểu RAM :
- FPM - DRAM (Fast Page Mode DRAM)
- EDO - DRAM (Extended Data Out DRAM)
- BDEO-DRAM (Burst Extended Data Out DRAM)
- SDRAM (Synchronous DRAM)
- DDR SDRAM (Double Data Rate SDRAM)
- DRDRAM (Direct Rambus DRAM)
- SLDRAM (Synchronous - Link DRAM)
- VRAM (Video RAM)
- SGRAM (Synchronous Graphic RAM)
2.2. Bộ nhớ cache (cache memory)
a. Cache : là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory cache (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk cache (bộ nhớ đệm đĩa).
b. Memory cache : Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cache này rất có hiệu quả. Bởi lẽ, hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ liệu hay các lệnh y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.
c. Disk cache : Bộ nhớ đệm đĩa cũng hoạt động cùng nguyên tắc với bộ nhớ cache, nhưng thay vì dùng SRAM tốc độ cao, nó lại sử dụng ngay bộ nhớ chính. Các dữ liệu được truy xuất gần đây nhất từ đĩa cứng sẽ được lưu trữ trong một buffer (phần đệm) của bộ nhớ. Khi chương trình nào cần truy xuất dữ liệu từ ổ đĩa, nó sẽ kiểm tra trước tiên trong bộ nhớ đệm đĩa xem dữ liệu mình cần đang có sẵn không. Cơ chế bộ nhớ đệm đĩa này có công dụng cải thiện một cách đáng ngạc nhiên sức mạnh và tốc độ của hệ thống. Bởi lẽ, việc truy xuất 1 byte dữ liệu trong bộ nhớ RAM có thể nhanh hơn hàng ngàn lần nếu truy xuất từ một ổ đĩa cứng. Và hiệu năng của một cache được tính bằng hit rate (tốc độ tìm thấy dữ liệu trong cache).
2.3 Bộ nhớ ngoài
-Bộ nhớ chính bằng vật liệu bán dẫn không thể lưu trữ một khối lượng rất lớn dữ liệu nên cần phải có thêm các thiết bị nhớ bên ngoài như đĩa từ, đĩa mềm, đĩa cứng, đĩa quang, băng giấy đục lỗ, băng cassette, trống từ…
a. Đĩa từ là một tấm đĩa tròn, mỏng làm bằng chất dẻo, thủy tinh cứng hay kim loại cứng, trên đó có phủ một lớp bột từ tính oxide sắt từ. Đĩa từ sử dụng kỹ thuật ghi từ để lưu trữ dữ liệu. Khi đã ghi dữ liệu trên đĩa, dữ liệu có thể tồn tại khi không còn nguồn cung cấp và cũng có khả năng xóa đi, thay thế bằng dữ liệu mới.
b. Đĩa mềm gồm một đĩa từ bằng nhựa dẻo được bảo vệ bằng một bao giấy hay nhựa cứng. Trên bao có khoét một lỗ dài cho phép đầu đọc của ổ đĩa có thể tiếp xúc với mặt đĩa để đọc / ghi dữ liệu. Có 2 loại đĩa mềm: đường kính 5.25 inch (hầu như không còn sử dụng) và đường kính 3.5 inch (chỉ dùng dung lượng 1.44 MB).
c. Đĩa cứng (HDD: Hard Disk Driver) là thành phần quan trọng lưu trữ hệ điều hành và các phần mềm tiện ích máy tính. Một máy tính có thể một đĩa hoặc nhiều đĩa, dung lượng mỗi đĩa rất lớn từ 200MB đến 120GB. Tốc độ đọc ghi nhanh so các bộ nhớ ngoài khác. Dữ liệu được lưu trữ phân tán trên tất cả các đĩa. Có thể tạo và lưu trữ thông tin dư thừa nhằm mục đích cho việc phục hồi khi đĩa nào đó bị hỏng. Độ tin cậy trong lưu trữ thông tin rất cao. Được sử dụng là bộ nhớ cho các hệ thống máy chủ.
d. Đĩa quang (CD-ROM, DVD) gồm CD-ROM (Compact Disk ROM), CD-R (Recordable CD), CD-RW (Rewriteable CD) dung lượng phổ biến 650MB, Ổ đĩa CD, ổ CD ROM: có thể đọc dữ liệu từ đĩa CD, ổ CD RW : Có thể vừa ổ đọc đĩa CD và có thể ghi dữ liệu lên đĩa CD-R, và CD-RW. Tốc độ đọc cơ sở 150KB/s. Tốc độ bội lần : 40x, 50x, 60x,…DVD(Digital Video Disk): chỉ dùng trên đầu đọc, DVD (Digital Versatile Disk): dùng trên ổ đĩa máy tính dung lượng thông dụng 4.7GB.
e. Bộ nhớ Flash thường kết nối qua cổng USB, không phải dạng đĩa là bộ nhớ bán dẫn cực nhanh, dung lượng phát triển nhanh, gọn nhẹ và tiện lợi, đặc điểm đĩa Flash.
f. RAID là cấu trúc đa đĩa vật lý để tạo nên một đĩa logic có kích thước lớn, độ tin cậy và khả năng vận hành cao hơn.
Các cấp của bộ nhớ máy tính:
II. Cache Memory Principles (nguyên tắc bộ nhớ cache)
1. Nguyên tắc
- Cache có tốc độ truy xuất nhanh hơn rất nhiều bộ nhớ chính.
- Cache được đặt giữa CPU và bộ nhớ chính nhằm tăng tốc độ trao đổi thông tin giữa CPU và bộ nhớ chính.
- Cache thường được đặt trong chip vi xử lý.
-Bộ nhớ cache được thiết kế với ý định mang lại bộ nhớ có tốc độ xấp xỉ tốc độ của bộ nhớ nhanh nhất hiện có, đồng thời cung cấp một kích thước bộ nhớ lớn với phí tổn ít hơn so với các loại bộ nhớ bán dẫn. Bộ nhớ cache chứa bản sao của một phần bộ nhớ chính. Khi CPU cố gắng đọc một từ bộ nhớ, từ này sẽ được kiểm tra xem có trong cache hay không. Nếu có, từ đó sẽ được cung cấp ngay cho CPU. Trong trường hợp ngược lại, một khối bộ nhớ chính, bao gồm một lượng cố định các từ sẽ được đọc vào trong cache và sau đó từ đó sẽ được cung cấp cho CPU. Do có hiện tượng tham chiếu cục bộ, khi một khối dữ liệu được lấy vào trong cache để đáp ứng một tham chiếu đơn lẻ, có nhiều khả năng các tham chiếu kế tiếp sẽ là các từ khác trong cùng một khối.
-Cache có thể được gắn trực tiếp trên các thiết bị ngoại vi. Các đĩa cứng hiện đại được gắn bộ nhớ truy cập nhanh, khoảng 512 KB. Máy tính không trực tiếp sử dụng bộ nhớ này mà là chương trình điều khiển ổ cứng. Đối với máy tính, các chip có bộ nhớ này được coi là đĩa. Khi máy tính yêu cầu dữ liệu từ ổ cứng, chương trình quản lý đĩa sẽ kiểm tra bộ nhớ đó trước khi di chuyển các bộ phận cơ khí của đĩa cứng (tốc độ rất chậm so với bộ nhớ). Nếu nó tìm thấy dữ liệu mà máy tính yêu cầu trong cache, nó sẽ cung cấp thông tin đó mặc dù không thực sự truy cập vào ổ đĩa, tiết kiệm rất nhiều thời gian.
Sơ đồ Cache và bộ nhớ chính
2. Thao tác của Cache
-CPU yêu cầu lấy nội dung của một ngăn nhớ bằng việc đưa ra một địa chỉ xác định ô nhớ.
-CPU kiểm tra xem có nội dung cần tìm trong Cache.
-Nếu có: CPU nhận dữ liệu từ bộ nhớ Cache.
-Nếu không có: Bộ điều khiển Cache đọc Block nhớ chứa dữ liệu CPU cần vào Cache.
-Tiếp đó chuyển dữ liệu từ Cache đến CPU.
-Sơ đồ thao tác cache, bộ nhớ chính và CPU.
Sơ đồ thao tác đọc cache
3. Tổ chức Cache
- Giả sử bộ nhớ chính gồm đến 2n từ nhớ đã được đánh địa chỉ (với mỗi từ nhớ có một địa chỉ duy nhất rộng n bit). Bộ nhớ chính chia thành M khối, mỗi khối có K từ nhớ M=2n/K. Bộ nhớ Cache có C khe mỗi khe có K từ nhớ.(C<<M). Tại một thời điểm luôn có một tập con các khối nhớ thường trú trong cache. Nếu một từ sẽ được đọc thì khối chứa từ đó sẽ được chuyển vào trong cache. Do số khối nhiều hơn số khe, một khe có thể không được giành cho một khối trong thời gian lâu dài. Vì lý do đó, mỗi khe có một thẻ cho biết khối nào đang được lưu trữ. Thẻ thường là một phần của địa chỉ bộ nhớ chính của khối đang được giữ trong khe.
-Bộ nhớ Cache có thể làm việc với 03 cấu hình khác nhau : Ánh xạ trực tiếp , Liên kết đầy đủ và Liên kết tập hợp. Cấu hình Liên kết tập hợp được dùng hầu hết hiện nay , nhưng chúng ta sẽ tìm hiểu cả ba cấu hình làm việc như thế nào.
3.1. Phương pháp ánh xạ trực tiếp (Direct mapping)
- Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache.
Địa chỉ phát ra từ CPU được chia 2 phần.
w bits có trọng số thấp để xác định duy nhất từ cần truy xuất(WORD)
s bits còn lại xác định khối nhớ. Trong s bits chia 2 nhóm r bits LINE và s-r bits TAG
Cụ thể hóa ví dụ:
Tổng bit trong địa chỉ bộ nhớ chính n=24 bit: trong đó 2 bit phần word xác định chính xác 4 từ
22 bit xác định khối( 8 bit tag (=22-14) và 14 bit slot or line)
- Không có hai block nào trong Cache có cùng Line và Tag.
- Kiểm tra nội dung từ tồn tại Cache chính là kiểm tra địa chỉ line và Tag
Mỗi địa chỉ N bit của bộ nhớ chính gồm 3 trường:
Trường Word gồm w bit xác định một từ nhớ trong Block hay Line:
2w = kích thước của Block hay Line
Trường Line gồm r bit xác định một trong số các Line trong cache:
2r = số Line trong cache = m
Trường Tag gồm s-r bit:
s-r = N – (W + L)
Nhận xét:
-Ưu điễm: đơn giản, chi phí ít.
-Nhược điểm là sự cố định các khối trong các line của Cache. Trong trường hợp chương trình muốn truy xuất tới 2 Block tiên tục mà 2 block được phân nằm trong cùng line thì khả năng Cache miss rất cao.
3.2. Phương pháp ánh xạ liên kết (Associative mapping)
- Một Block của bộ nhớ chính có thể nhập bất kỳ line nào trong Cache.
- Địa chỉ CPU phát ra được chia thành 2 địa chỉ tag và word
- Địa chỉ Tag xác định khối duy nhất của bộ nhớ nằm trong Cache.
- Mỗi giá trị Tag của Line là khác nhau.
- Chi phí phương pháp này đối với Cache là cao.
- 22 bit Tag để lưu trữ Block 4 byte dữ liệu. Tag xác định Block của bộ nhớ chính.
- Việc kiểm tra Cache dựa vào các giá trị Tag trong line (22 bit) để nhận biết Cache hit hay miss.
- Trường Word để xác định chính xác từ cần truy xuất
Đặc điểm:
- Phải so sánh với tất cả các tag nên mất nhiều thời gian.
- Xác suất cache hit cao.
- Bộ so sánh phức tạp
3.3. Phương pháp ánh xạ liên kết tập hợp (Set Associative mapping)
- Các Line trong Cache được chia ra thành tập (nhóm) Line
- Mỗi một Set chứa một số Line
Đặc điểm:
Kích thước Block = 2w Word
Trường Set có d bit dùng để xác định một trong số V= 2d Set
Trường Tag có s-d bit: s-d = N- (W + d)
Đây là phương pháp tổng quát cho cả hai phương pháp trên
- Sử dụng tập hợp để biết tập nào được truy xuất.
- So sánh trường Tag để xác đinh Cache hit hay miss
III. Elements of cache design (các thành phần của thiết kế bộ nhớ cache)
1. Cache size (kích thước bộ nhớ cache)
-Kích thước của bộ nhớ cache rất quan trọng trong việc cải thiện hiệu suất của hệ thống. Cách để giảm tỷ lệ miss là tăng kích thước bộ nhớ cache. Các bộ nhớ cache lớn chạy chậm hơn so với cache có kích thước nhỏ.
-Một máy tính điển hình bộ nhớ cache mức 2 là hoặc 256 KB hoặc 512 KB, nhưng có thể được làm nhỏ như 64 KB trên các máy cũ, hoặc cao nhất là 1 MB hoặc thậm chí là 2 MB. Trong thời hạn xử lý, bộ nhớ đệm cấp độ 1 thường dao động về kích thước từ 8 KB đến 64 KB.
2. function (bản dồ chức năng)
-Các chức năng lập bản đồ cung cấp sự tương ứng giữa các khối bộ nhớ chính và dòng bộ nhớ cache.
-Có 3 loại bản đồ chức năng: lập bản đồ trực tiếp, đầy đủ kết hợp và cách thiết lập liên kết.
3. Replacement Algorithm (thuật toán thay thế)
-Đó là một chương trình máy tính hay phần cứng một cấu trúc duy trì có thể làm theo để quản lý một bộ nhớ cache của các thông tin lưu trữ trên máy tính. Khi bộ nhớ cache đầy, các thuật toán phải chọn những mục để loại bỏ để nhường chỗ cho những cái mới.
-Khi một dòng mới được nạp vào bộ nhớ cache, một trong những dòng hiện tại cần phải được thay thế. Trong một bộ nhớ đệm ánh xạ trực tiếp, khối yêu cầu có thể đi vào vị trí một cách chính xác, và các khối chiếm được vị trí đó phải được thay thế. Trong một bộ nhớ đệm ánh xạ trực tiếp, khối yêu cầu có thể đi vào vị trí một cách chính xác, và các khối chiếm được vị trí đó phải được thay thế. Trong một bộ nhớ cache kết hợp chọn vị trí của khối yêu cầu, và do đó một sự lựa chọn trong đó khối để thay thế. Trong một bộ nhớ cache kết hợp đầy đủ, tất cả các khối đều có thể thay thế. Trong một bộ nhớ cache kết hợp thiết lập, chúng ta phải lựa chọn giữa các khối trong tập hợp chọn. Vì vậy một sự thay thế dòng thuật toán là cần thiết mà thiết lập được xác định tiêu chí tốt mà thay thế được thực hiện.
-Bộ nhớ đệm sử dụng phổ biến hiện nay: LRU(Least Recently Used), FIFO (First In-First Out), LFU (Least Frequently Used), Random.
-Các thuật toán thường được sử dụng nhất là LRU.
4. Write Policy (viết chính sách)
- Chính sách viết cache sẽ quyết định cách nó xử lý ghi vào vị trí bộ nhớ hiện đang được giữ trong bộ nhớ cache. Có hai loại chính sách là:
- Viết qua(write-through): Khi hệ thống viết cho một vị trí bộ nhớ hiện đang được tổ chức trong bộ nhớ cache, nó ghi các thông tin mới cho cả các dòng bộ nhớ cache bộ nhớ vị trí thích hợp và chính bản thân cùng một lúc. Đây là loại bộ nhớ đệm cung cấp hiệu suất kém hơn ghi lại, nhưng đơn giản để thực hiện và có lợi thế là thống nhất nội bộ, bởi vì bộ nhớ cache là không bao giờ ra khỏi đồng bộ với bộ nhớ cách đó là với một bộ nhớ cache ghi lại.
- Viết lại(write-back): Khi hệ thống viết cho một vị trí bộ nhớ hiện đang được tổ chức trong bộ nhớ cache, nó chỉ ghi các thông tin mới cho dòng bộ nhớ cache thích hợp. Khi dòng bộ nhớ cache là cuối cùng cần thiết đối với một số địa chỉ bộ nhớ khác, các dữ liệu thay đổi là "viết lại" với bộ nhớ hệ thống. Đây là loại bộ nhớ cache cung cấp hiệu suất tốt hơn so với một ghi-thông qua bộ nhớ cache, bởi vì nó tiết kiệm (tốn thời gian) ghi chu kỳ bộ nhớ.
5. Block size (kích cỡ khối)
- Một yếu tố khác trong thiết kế của một hệ thống bộ nhớ cache là của các kích thước Line. Đây là số byte trên mỗi dòng bộ nhớ cache, đôi khi cũng được gọi là block size. Khi một khối dữ liệu được lấy từ bộ nhớ chính và được đặt trong bộ nhớ cache, không chỉ được nạp mà còn một số từ lân cận (trong cùng một khối) được lấy ra. Khi tăng kích thước khối từ rất nhỏ đến kích thước lớn hơn, tỷ lệ tăng hit sẽ ở đầu tiên. Tuy nhiên, nếu khối trở nên lớn hơn tỷ lệ hit sẽ bắt đầu giảm bởi vì xác suất của việc sử dụng mới được lấy thông tin sẽ được ít hơn so với khả năng tái sử dụng các thông tin đã được thay thế.
6. Number of Caches (số cache)
- Khi hệ thống bộ nhớ cache được giới thiệu, các hệ thống điển hình chỉ có một bộ nhớ cache duy nhất. Gần đây, việc sử dụng lưu trữ nhiều đã trở nên phổ biến. Có hai khía cạnh số lượng cache rất quan trọng, cụ thể là số lượng các cấp và có bộ nhớ cache được hợp nhất hoặc chia tách.
- Kiến trúc được sử dụng ngày nay: cả hai Cache nhớ L1 và L2 đều được đặt bên trong CPU và chạy với tốc độ clock bên trong của CPU. Chính vì vậy số lượng Cache nhớ mà bạn có trên hệ thống sẽ phụ thuộc vào model của CPU; không có cách nào để có thể tăng được số lượng Cache nhớ mà không cần thay thế CPU. Tất cả các CPU hiện đại đều có đến ba Cache nhớ: L2 là Cache nhớ lớn hơn và có thể tìm thấy ở giữa bộ nhớ RAM và Cache chỉ lệnh L1, nó nắm giữ cả các chỉ lệnh và dữ liệu; Cache chỉ lệnh L1 được sử dụng để lưu các chỉ lệnh đã được thực thi bởi CPU và lưu dữ liệu để có thể được ghi ngược trở lại bộ nhớ.
- Bộ vi xử lý hiện tại có L1 cache có kích thước từ 16KB đến 128KB. L2 thường là 256 hoặc 512 KB. L2 cache được để bên ngoài bộ xử lý, nhưng, bộ vi xử lý hiện đại đã tích hợp nó thành chip. Ưu điểm lớn nhất của việc di chuyển các bộ nhớ cache L2 trên chip và chạy nó ở tốc độ đồng hồ đầy đủ là có cả L1 và L2 cache có thể chạy song song và được truy cập đồng thời, giảm độ trễ. Đây là một cách tốt để cải thiện hiệu suất bộ nhớ cache.
- Ngoài hai số cache L1 và L2 còn có L3, thông thường L3 đặt bên ngoài bộ vi xử lý và hoạt động ở cùng một tốc độ như là bộ nhớ chính. Nếu so sánh thì tốc độ L1 lớn nhất, kế đến là L2 và tiếp theo là L3.
- Thống nhất hoặc chia tách (unified or split)
- Khi Level 1 cache đầu tiên xuất hiện, hầu hết các thiết kế bao gồm một bộ nhớ cache duy nhất được tổ chức cả dữ liệu và hướng dẫn tại cùng thời điểm. Điều này được gọi là một bộ nhớ cache thống nhất (unified).Tuy nhiên, các hệ thống hiện đại thường chia bộ nhớ L1 cache