BaiTapLon_HeDieuHanh

20 631 6
BaiTapLon_HeDieuHanh

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN: KHOA HỌC MÁY TÍNH BÀI TẬP LỚN: TỔ CHỨC VÀ QUẢN LÝ CACHEGiáo viên hướng dẫn: Đỗ Tuấn AnhSinh viên thực hiện: Phạm văn Nhân shsv 20072146 ktmt Phí Tùng Lâm shsv 20072146 ktmt Nguyễn Trung Dũng shsv 20072146 ktmt Hà Nội – 11 - 2009Copyright©2009 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘII. KH ÁI NIỆM BỘ NHỚ CACHE Bộ nhớ cache là gì? Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ cho các ứng dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý . Nói một cách bài bản, 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.Phân loại: Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa). 1.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ớ cahce 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. • Một số bộ nhớ cache được tích hợp vào trong kiến trúc của các bộ vi xử lý. Chẳng hạn, CPU Intel đời 80486 có bộ nhớ cache 8 KB, trong khi lên đời Pentium là 16 KB. Các bộ nhớ cache nội (internal cache) như thế gọi là Level 1 (L1) Cache (bộ nhớ đệm cấp 1). Các máy tính hiện đại hơn thì có thêm bộ nhớ cache ngoại (external cache) gọi là Level 2 (L2) Cache (bộ nhớ đệm cấp 2). Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Sau này, do nhu cầu xử lý nặng hơn và với tốc độ nhanh hơn, các máy chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition được tăng cường thêm bộ nhớ đệm L3 Cache (bộ nhớ đệm cấp 3). 2.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 Copyright©2009 2 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIcứ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.Vài nét lịch sử: Bộ nhớ Cache được sử dụng đầu tiên trên các máy tính thời 386DX. Mặc dù bản thân CPU không có bộ nhớ Cache bên trong nhưng mạch hỗ trợ của nó - chipset – có một bộ điều khiển Cache nhớ. Vì điều đó nên Cache nhớ ở thời điểm này nằm ở bên ngoài CPU và mang tính tùy chọn, nghĩa là nhà sản xuất bo mạch chủ có thể thêm vào hoặc không. Nếu một bo mạch chủ mà không có bộ nhớ Cache thì máy tính đó sẽ chậm hơn rất nhiều so với các máy tính có thành phần này. Số lượng bộ nhớ Cache được cung cấp khác nhau và phụ thuộc vào model của bo mạch chủ và các giá trị điển hình cho thời điểm đó là 64 KB và 128 KB. Cũng ở thời điểm này, bộ điều khiển Cache nhớ đã sửdụng một kiến trúc được biết đến với tên “write-through”, dùng cho các hoạt động ghi – nghĩa là khi CPU muốn lưu dữ liệu trong bộ nhớ thì bộ điều khiển Cache nhớ sẽ cập nhật bộ nhớ RAM ngay lập tức. Với các bộ vi xử lý 486DX, Intel đã bổ sung thêm một số lượng nhỏ (8KB) Cache nhớ bên trong mỗi CPU. Cache nhớ bên trong này được gọi là L1 (level 1) hay “internal”, còn các Cache nhớ bên ngoài được gọi là (level 2) hay “external”. Số lượng và sự tồn tại của Cache nhớ bên ngoài phụ thuộc vào model của bo mạch chủ. Số lượng điển hình cho thời điểm đó là 128 KB và 256 KB. Sau đó các mô hình 486 đã bổ sung thêm kiến trúc Cache “write back”, đây là kiến trúc đã được sử dụng cho đến ngày nay, các hoạt động ghi của bộ nhớ RAM không được cập nhật ngay tức khắc mà CPU lưu dữ liệu trên Cache nhớ và bộ điều khiển nhớ sẽ cập nhật bộ nhớ RAM chỉ khi không có Cache. Sau đó với các bộ vi xử lý Pentium đầu tiên, Intel đã tạo hai Cache nhớ bên trong tách biệt nhau, một cho các chỉ lệnh và một cho dữ liệu (ở thời điểm này mỗi Cache nhớ là 8 KB). Kiến trúc này vẫn được sử dụng cho đến ngày nay và đó chính là tại sao đôi khi ta thấy Cache nhớ L1 tồn tại được ghi 64 KB + 64 KB (ví dụ) – điều này là vì có một Cache chỉ lệnh L1 64KB và một Cache nhớ dữ liệu L2 64KB. Hai loại này có vài điểm khác nhau . Tại thời điểm đó, Cache nhớ L2 thường được đặt trên bo mạch chủ, chính vì vậy số lượng và sự tồn tại của nó phụ thuộc vào model của bo mạch chủ. Rõ ràng việc hệ thống không có Cache nhớ là một điều không thể chấp nhận. Số lượng điển hình cho thời điểm đó là 256 KB và 512 KB.Các bộ vi xử lý AMD K5, K6 và K6-2 cũng đã sử dụng kiến trúc này, với K6-III thì có thêm Cache nhớ thứ ba (L3, level 3). Vấn đề với Cache nhớ nằm bên ngoài L2 là nó được truy cập với tốc độ clock thấp hơn vì thế hệ 486DX2 tốc độ clock bên trong của CPU khác hoàn toàn với tốc độ clock bên ngoài của CPU. Ví dụ Pentium-200 làm việc bên trong tại tốc độ 200MHz, nó đã truy cập vào bộ nhớ Cache L2 của nó với tốc độ 66MHz. Sau kiến trúc P6, Intel đã chuyển sang Cache nhớ từ bo mạch chủ sang bên trong CPU –điều đó đã cho phép CPU có thể truy cập với tốc độ clock bên trong – ngoại trừ Pentium II (bộ nhớ Cache không được đặt bên trong CPU nhưng trên cùng bo mạch in – Copyright©2009 3 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘInơi CPU được hàn gắn (bo mạch in này được đặt bên trong một hộp chứa)), lại chạy bằng một nửa tốc độ clock trong của CPU. Trên Celeron-266 và Celeron-300, các model này không có Cache nhớ (chính vì vậy chúng là các CPU tồi tệ nhất trong lịch sử). Kiến trúc được sử dụng cho đến ngày nay cũng tương tự như vậy: 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.II. TỔ CHỨC BỘ NHỚ CACHE :A.Cache trong CPU đơn lõi Ta có sơ đồ sau, trong đó, đường chấm trên hình 2 thể hiện phần thân của CPU, vì bộ nhớ RAM được đặt bên ngoài CPU. Đường dữ liệu giữa bộ nhớ RAM và CPU có độ rộng 64 –bit thông thường (hoặc 128 khi cấu hình hai kênh được sử dụng), đang chạy với tốc độ clock nhớ hoặc clock ngoài của CPU (hoặc clock của bus nhớ, trong trường hợp đối vớI các bộ vi xử lý của AMD). Tất cả các mạch bên trong phần chấm đều chạy với tốc độ clock của CPU. Phụ thuộc vào CPU mà một số thành phần bên trong nó thậm chí còn có thể chạy với tốc độ clock cao hơn. Còn đường dẫn giữa các khối CPU cũng có thể rộng hơn, nghĩa là sẽ truyền tải nhiều bit hơn trên mỗi một chu kỳ xung clock (nhiều hơn 64 hoặc 128). Ví dụ, đường dữ liệu giữa bộ nhớ Cache L2 và Cache chỉ lệnh L1 trên các bộ vi xử lý hiện đại thường có độ rộng 256-bit. Đường dữ liệu giữa Cache chỉ lệnh L1 và khối tìm nạp của CPU cũng thay đổi phụ thuộc vào mô hình của từng CPU – 128 bit là giá trị điển hình. Số lượng truyền tải các bit trên một chu kỳ xung nhịp càng cao thì sự truyền tải càng diễn ra nhanh hơn (nói theo cách khác là tốc độ truyền tải sẽ nhanh hơn).Copyright©2009 4 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Trong trang các chỉ tiêu kỹ thuật của CPU, Cache L1 có thể có nhiều kiểu khác nhau. Một số nhà sản xuất liệt kê hai Cache L1 tách biệt hoàn toàn với nhau (có khi gọi Cache chỉ lệnh là “I” và Cache dữ liệu là “D”), đôi khi lại bổ sung thêm cả số lượng và phần ký hiệu “separated”, nếu “128 KB, separated” thì điều đó có nghĩa là Cache chỉ lệnh 64KB và Cache dữ liệu 64KB, một số hãng đã thực hiện để bạn có thể đoán được số lượng tổngthể và phải chia hai để có được dung lượng của mỗi Cache. Mặc dù vậy cũng có trườnghợp ngoại lệ đối với các CPU được xây dựng trên kiến trúc Netburst, chẳng hạn nhưPentium 4, Pentium D, Pentium 4 dựa trên Xeon và các CPU của Celeron dòng Pentium 4.Các bộ vi xử lý dựa trên kiến trúc Netburst không có Cache chỉ lệnh L1, thay vào đó chúng có một Cache thực thi dò theo (hay có thể gọi là lần vết), Cache này được đặt giữa Copyright©2009 5 Nói chung, 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ớ. Để làm cho độ trễ của bộ nhớ tĩnh giảm xuống bằng “0” là một điều rất khó khăn, đặc biệt với các CPU đang chạy ở tốc độ clock rất cao. Do việc sản xuất các RAM tĩnh có độtrễ xấp xỉ “0” là rất khó nên các hãng sản xuất đã sử dụng một kiểu bộ nhớ chỉ ở trên Cache nhớ L1. Cache nhớ L2 sử dụng RAM tĩnh không nhanh bằng bộ nhớ được sử dụng trên Cache nhớ L1, điều này là do nó có độ trễ nhất định, chính vì vậy nó sẽ chậm hơn đôi chút so với Cache nhớ L1. Ta thấy được rằng Cache chỉ lệnh L1 làm việc giống như một Tr TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIkhối giải mã và khối thực thi, lưu các chỉ lệnh đã được giải mã. Chính vì vậy có thể nói Cache chỉ lệnh L1 là nó,nhưng được ẩn dưới một tên hoàn toàn khác và đặt ở vị trí cũng khác. Chúng ta sẽ đề cập đến vấn đề này ở đây vì đây là một lỗi rất hay mắc phải, mọi người thường nghĩ rằng Cache L1 của nó có dung lượng nhỏ hơn, do họ chỉ tính 8KB của Cache dữ liệu L1.Cache thực thi lần vết của các CPU xây dựng trên kiến trúc Netburst là 150KB.B. Cache trong CPU đa lõi: Trên các CPU có nhiều hơn một lõi, kiến trúc Cache L2 có thay đổi khá nhiều, sự thay đổi này phụ thuộc vào từng loại CPU. Với các CPU dual-core Pentium D và AMD được xây dựng trên kiến trúc K8, mỗi lõi của CPU lại có Cache nhớ L2 riêng của chính nó. Chính vì vậy mỗi một lõi làm việc như nó đang làm việc cho một CPU độc lập. Các CPU dual-core của Intel được xây dựng trên kiến trúc Core và Pentium M thì hai Cache nhớ L2 lại có thể được chia sẻ giữa hai lõi. Hãng Intel nói rằng, kiến trúc chia sẻ này cho hiệu suất thực thi tốt hơn vì trên phương pháp Cache riêng vì ở một thời điểm nào đó một lõi này có thể chạy quá tải trong khi đó lõi kia lại không được sử dụng hoặc sử dụng không hết hiệu suất trên chính Cache L2 của nó. Khi xảy ra điều này, lõi chạy quá tải sẽ lấy dữ liệu từ bộ nhớ RAM chính mặc dù không gian trên Cache nhớ L2 kia hoàn toàn trống mà lẽ ra nên được sử dụng để lưu dữliệu và tránh không để cho lõi quá tải truy cập lấy dữ liệu từ bộ nhớ RAM làm giảm hiệu suất của toàn hệ thống. Với phương pháp mới này, bộ vi xử lý Core 2 Duo với Cache nhớ L2 4MB, thì một lõi này có thể sử dụng đến 3,5MB trong khi đó lõi còn lại sử dụng 0,5MB, hoàn toàn tương phải với hệ số chia cố định 50%-50% như trên các CPU dual-core. Có thể nói theo cách khác, các CPU quad-core hiện tại của Intel như Core 2 Extreme QX và Core 2 Quad sử dụng 2 chíp dual-core, nghĩa là việc chia sẻ này chỉ xuất hiện giữa các lõi 1 và 2, 3 và 4. Hiện nay, Intel đã lên kế hoạch cho các CPU quad-core sử dụng một chíp đơn. Với phương pháp này, Cache L2 sẽ được chia sẻ giữa bốn lõi.Copyright©2009 6 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIBộ vi xử lý AMD xây dựng trên kiến trúc K10 sẽ có Cache L3 chia sẻ nằm bên trong CPU, và có một kiểu lai giữa hai phương pháp này. Vấn đề này được thể hiện trên hình 4. Kích thước của Cache này sẽ phụ thuộc vào mô hình của CPU, cũng giống như những gì xảy ra với kích thước của Cache L2.C. Cách làm việc: 1. CPU yêu cầu chỉ lệnh hoặc dữ liệu đã được lưu tại địa chỉ “a”. Copyright©2009 7 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 2. Do nội dung từ địa chỉ “a” không có bên trong Cache nhớ nên CPU phải tìm nạp nó trực tiếp từ RAM. 3. Bộ điều khiển Cache sẽ nạp một dòng (thường là 64 byte) bắt đầu từ địa chỉ “a” vào Cache nhớ. Nó sẽ nạp nhiều hơn dữ lượng dữ liệu mà CPU yêu cầu, chính vì vậy nếu chương trình tiếp tục chạy tuần tự (nghĩa là yêu cầu địa chỉ a +1) thì chỉ lệnh hoặc dữ liệu kế tiếp mà CPU sẽ hỏi đã được nạp trong Cache nhớ từ trước đó rồi. 4. Mạch có tên gọi là tìm nạp trước sẽ nạp nhiều dữ liệu được đặt sau dòng này, có nghĩa là bắt đầu việc nạp các nội dung từ địa chỉ a + 64 trở đi vào Cache. Để cho bạn một ví dụthực tế là các CPU của Pentium 4 có bộ tìm nạp trước 256-byte, chính vì vậy nó có thể nạp được 256byte kế tiếp sau dòng dữ liệu đã được nạp vào trong Cache. Nếu chương trình chạy một cách tuần tự thì CPU sẽ không cần phải tìm nạp dữ liệu bằng cách truy cập trực tiếp vào bộ nhớ RAM, ngoại trừ nạp mỗi chỉ lệnh đầu tiên – vì các chỉ lệnh và dữ liệu được yêu cầu bởi CPU sẽ luôn nằm bên trong Cache nhớ trước khi CPU yêu cầu đến chúng. Mặc dù các chương trình không chạy luôn giống như vậy, đôi khi chúng có thể nhảy từmột vị trí nhớ này sang vị trí nhớ khác. Thách thức chính của bộ điều khiển Cache chính là việc đoán những địa chỉ gì mà CPU sẽ nhảy đến, và từ đó nạp những nội dung của địa chỉ này vào trong Cache nhớ trước khi CPU yêu cầu để tránh trường hợp CPU phải truy cập vào bộ nhớ RAM là giảm hiệu suất của hệ thống. Nhiệm vụ này được gọi là dự đoán rẽ nhánh và tất cả các CPU hiện đại đều có tính năng này. Các CPU hiện đại 80% của thời gian không truy cập trực tiếp vào bộ nhớ RAM, mà thay vào đó là Cache nhớ.D. Tổ chức cache nhớ: Cache nhớ được chia thành các dòng bên trong, mỗi một dòng dữ từ 16 đến 128byte, phụ thuộc vào CPU. Đối với đại đa số các CPU hiện hành thì Cache nhớ được tổ chức theo các dòng 64byte (512bit).Cache nhớ 512 KB L2 được chia thành 8.192 dòng. a. Ánh xạ trực tiếp: Đây là cách đơn giản nhất để tạo một Cache nhớ. Trong cấu hình này, bộ nhớ RAM chính được chia thành các dòng bằng nhau nằm bên trong Cache nhớ. Nếu chúng ta có một hệ thống 1GB RAM thì 1GB này sẽ được chia thành 8.192 khối (giả dụ rằng Cache nhớ sử dụng cấu hình mà chúng ta đã mô tả ở trên), mỗi một khối có 128KB (1.073.741.824 / 8.192 = 131.072 –1GB là 2^30 bytes, 1 MB là 2^20 byte và 1 KB sẽ là 2^10 byte). Nếu hệ thống có 512MB thì bộ nhớ cũng sẽ được chia thành 8.192 khối nhưng mỗi một khối này chỉ có 64 KB. Ta có hình sau:Copyright©2009 8Cache nhớ có thể làm việc dưới ba kiểu cấu hình khác nhau: • Bản đồ hóa trực tiếp (ánh xạ trực tiếp - Direct mapping).• Liên kết toàn bộ (ánh xạ liên kết toàn phần - Fully associative mapping).• Tập liên kết(ánh xạ liên kết tập hợp - Set associative mapping) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Ưu điển của phương pháp này là nó là cách đơn giản nhất. Khi CPU yêu cầu một địa chỉ nào đó từ bộ nhớ RAM (ví dụ địa chỉ 1.000) thì bộ điều khiển Cache sẽ nạp một dòng (64byte) từ bộ nhớ RAM và lưu dòng này trên Cache nhớ (nghĩa là từ địa chỉ 1.000 đến 1.063, giả dụ rằng chúng ta đang sử dụng lược đồ địa chỉ 8 bit). Vì vậy nếu CPU lại yêu cầu các nội dung của địa chỉ này hoặc của một số địa chỉ tiếp theo sau đó (nghĩa là các địa chỉ từ 1.000 đến 1.063) thì chúng sẽ được nằm sẵn bên trong Cache. Vấn đề ở đây là nếu CPU cần đến hai địa chỉ được bản đồ hóa đến cùng một dòng Cache giống nhau, thì lúc này một miss sẽ xuất hiện (vấn đề này được gọi là hiện tượng xung đột). Tiếp tục ví dụ của chúng ta, nếu CPU yêu cầu địa chỉ 1.000 và sau đó yêu cầu địa chỉ 2.000 thì một miss cũng sẽ xuất hiện vì hai địa chỉ này đều nằm trong cùng một khối 128KB, và những gì bên trong Cache là một dòng bắt đầu từ địa chỉ 1.000. Chính vì vậy bộ điều khiển Cache sẽ nạp một dòng từ địa chỉ 2.000 và lưu nó trên dòng đầu tiên của Cache nhớ, xóa các nội dung trước đó, trong trường hợp của chúng ta thì đó là dòng từ địa chỉ 1.000. Cũng một vấn đề nữa. Nếu chương trình có một vòng lặp nhiều hơn 64 bytes thì lúc này cũng có một miss cache (dữ liệu không có tronh cache mà phải lấy từ RAM) xuất hiện trong toàn bộ khoảng thời gian của vòng lặp.Ví dụ, nếu vòng lặp thực hiện từ địa chỉ 1.000 đến địa chỉ 1.100 thì CPU sẽ phải nạp tất cả các chỉ lệnh trực tiếp từ bộ nhớ RAM trong suốt khoảng thời gian của vòng lặp. Vấn đề này sẽ xảy ra vì Cache sẽ có nội dung từ các địa chỉ 1.000 đến 1.063 và khi CPU yêu cầu các nội dung từ địa chỉ 1.100 thì nó sẽ phải vào bộ nhớ RAM để lấy dữ liệu, và sau đó bộ điều khiển Cache sẽ nạp các địa chỉ Copyright©2009 9 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘItừ1.100 đến 1.163. Khi CPU yêu cầu lại địa chỉ 1.000 thì nó sẽ phải quay trở lại bộ nhớ RAM, vì lúc này Cache sẽ không có các thành phần dữ liệu từ địa chỉ 1.000.Nếu vòng lặp này được thực thi 1.000 lần thì CPU sẽ phải vào bộ nhớ RAM để nạp dữ liệu cũng 1.000 lần. Đó chính là lý do tại sao việc ánh xạ bản đồ hóa trực tiếp Cache nhớ lại ít hiệu quả và ít được sử dụng nữa. sơ đồ ánh xạ trực tiếpb. Ánh xạ liên kết toàn bộ: Cấu hình liên kết toàn bộ, hay nói theo cách khác là không có sự khó khăn trong việc liên kết giữa các dòng của Cache nhớ và vị trí của bộ nhớ RAM. Bộ điều khiển Cache có thể lưu bất kỳ địa chỉ nào. Như vậy các vấn đề đã được nói ở trên sẽ không xảy ra. Cấu hình này là cấu hình hiệu quả nhất (nghĩa là cấu hình có tốc độ lấy dữ liệu từ cache cao nhất cao nhất). Tuy nhiên nhược điểm lớn nhất là hệ thông phức tạp vì nó cần phải giữ được việc kiểm tra xem các vị trí nhớ nào được nạp bên trong Cache nhớ.Copyright©2009 10

Ngày đăng: 24/10/2012, 22:42

Tài liệu cùng người dùng

Tài liệu liên quan