ScholarGate
Trợ lý

Hệ thống phân cấp bộ nhớ và bộ nhớ đệm (Cache)

Hệ thống phân cấp bộ nhớ tổ chức lưu trữ thành nhiều cấp độ — thanh ghi, bộ nhớ đệm, bộ nhớ chính và bộ nhớ dự phòng — sao cho các cấp độ nhỏ, nhanh chứa dữ liệu có khả năng được sử dụng nhiều nhất, mang lại cho các chương trình ảo giác về một bộ nhớ vừa lớn vừa nhanh.

Tìm chủ đề với PaperMindSắp ra mắtFind papers & topics
Tools & resources
Tải xuống bản trình chiếu
Learn & explore
VideoSắp ra mắt

Definition

Hệ thống phân cấp bộ nhớ là một sự sắp xếp theo lớp các công nghệ lưu trữ có tốc độ, chi phí và dung lượng khác nhau, được quản lý sao cho dữ liệu được truy cập thường xuyên và gần đây nằm ở các cấp độ nhanh hơn, nhỏ hơn — quan trọng nhất là bộ nhớ đệm — để giảm thiểu thời gian truy cập trung bình.

Scope

Lĩnh vực này bao gồm lý do và cách bộ nhớ được tổ chức theo hệ thống phân cấp khai thác tính cục bộ của tham chiếu. Nó bao gồm cấu trúc bộ nhớ đệm (chính sách đặt, thay thế và ghi), bộ nhớ đệm đa cấp, tính nhất quán của bộ nhớ đệm giữa các bộ xử lý, bộ nhớ ảo và dịch địa chỉ, cũng như các công nghệ DRAM và bộ nhớ mới nổi. Nó không bao gồm việc thực thi bộ xử lý (kiến trúc vi mô bộ xử lý) và lưu trữ tệp và thiết bị quy mô lớn (hệ thống lưu trữ và I/O), mặc dù nó có liên quan đến cả hai.

Sub-topics

Core questions

  • Tại sao tính cục bộ của tham chiếu lại làm cho hệ thống phân cấp bộ nhớ theo lớp trở nên hiệu quả?
  • Bộ nhớ đệm được tổ chức như thế nào về vị trí, tính liên kết, thay thế và chính sách ghi?
  • Tính nhất quán được duy trì như thế nào khi nhiều bộ nhớ đệm giữ các bản sao của cùng một bộ nhớ?
  • Bộ nhớ ảo dịch địa chỉ và cung cấp bảo vệ cũng như ảo giác về bộ nhớ lớn như thế nào?
  • Các đặc điểm của DRAM và các bộ nhớ mới nổi định hình hiệu suất hệ thống như thế nào?

Key concepts

  • tính cục bộ thời gian và không gian
  • truy cập thành công và không thành công của bộ nhớ đệm
  • tính liên kết và chính sách thay thế
  • ghi xuyên qua và ghi trở lại
  • bộ nhớ đệm đa cấp
  • tính nhất quán của bộ nhớ đệm
  • bộ nhớ ảo và phân trang
  • bộ đệm dịch địa chỉ
  • DRAM và băng thông bộ nhớ
  • thời gian truy cập bộ nhớ trung bình

Key theories

Tính cục bộ của tham chiếu
Các chương trình có xu hướng tái sử dụng dữ liệu được truy cập gần đây (tính cục bộ thời gian) và truy cập các địa chỉ lân cận (tính cục bộ không gian); hệ thống phân cấp bộ nhớ khai thác cả hai bằng cách lưu vào bộ nhớ đệm các khối được sử dụng gần đây và tìm nạp các khối lân cận cùng nhau.
Các đánh đổi trong thiết kế bộ nhớ đệm
Hiệu suất bộ nhớ đệm được điều chỉnh bởi tỷ lệ lỗi, chi phí lỗi và thời gian truy cập thành công, và được điều chỉnh thông qua kích thước, kích thước khối, tính liên kết, và các chính sách thay thế và ghi; các phân tích cổ điển xác định các lỗi bắt buộc, dung lượng và xung đột là mục tiêu của các lựa chọn này.

Mechanisms

Khi bộ xử lý yêu cầu dữ liệu, bộ nhớ đệm sẽ được kiểm tra trước; một lần truy cập thành công (hit) sẽ trả về dữ liệu nhanh chóng, trong khi một lần truy cập không thành công (miss) sẽ tìm nạp một khối từ cấp thấp hơn và có thể loại bỏ một khối khác theo chính sách thay thế. Các thao tác ghi được truyền đi bằng các lược đồ ghi xuyên qua (write-through) hoặc ghi trở lại (write-back), và các giao thức nhất quán giữ cho nhiều bộ nhớ đệm nhất quán. Bộ nhớ ảo bổ sung một bước dịch — thông qua các bảng trang và bộ đệm dịch địa chỉ (translation lookaside buffer) — ánh xạ các địa chỉ chương trình tới DRAM vật lý trong khi thực thi bảo vệ.

Clinical relevance

Hệ thống phân cấp bộ nhớ thường chi phối hiệu suất thực tế: vì các bộ xử lý nhanh hơn bộ nhớ chính rất nhiều, hành vi bộ nhớ đệm và tính cục bộ thường quan trọng hơn tốc độ lệnh thô. Bố cục dữ liệu nhận biết bộ nhớ đệm, chặn và tìm nạp trước là trọng tâm của điện toán hiệu năng cao, cơ sở dữ liệu và các nhân học máy, và thời gian bộ nhớ đệm đã trở thành một nguồn kênh phụ bảo mật.

History

Maurice Wilkes đã đề xuất bộ nhớ đệm (một 'bộ nhớ nô lệ') vào năm 1965, và bộ nhớ đệm đã đi vào các máy thương mại như IBM System/360 Model 85. Bộ nhớ ảo có nguồn gốc từ máy tính Atlas vào đầu những năm 1960, được chính thức hóa bởi mô hình tập hợp làm việc của Denning. Khảo sát năm 1982 của Alan Jay Smith đã củng cố kiến thức thiết kế bộ nhớ đệm, và bộ nhớ đệm đa cấp cùng các giao thức nhất quán phức tạp đã trở thành tiêu chuẩn khi khoảng cách tốc độ bộ xử lý-bộ nhớ ngày càng rộng.

Debates

Quản lý tính cục bộ bằng phần cứng so với phần mềm
Có một sự căng thẳng liên tục giữa việc lưu vào bộ nhớ đệm bằng phần cứng trong suốt và các bộ nhớ được quản lý rõ ràng (scratchpad, tìm nạp trước được điều khiển bằng phần mềm): lưu vào bộ nhớ đệm bằng phần cứng là tổng quát và dễ lập trình, trong khi quản lý rõ ràng có thể dự đoán và hiệu quả hơn cho các khối lượng công việc chuyên biệt.

Key figures

  • Maurice Wilkes
  • Alan Jay Smith
  • Peter J. Denning
  • John L. Hennessy
  • David A. Patterson

Related topics

Seminal works

  • hennessy2019
  • smith1982cache
  • patterson2020

Frequently asked questions

Tại sao bộ nhớ đệm lại hiệu quả nếu chúng quá nhỏ so với bộ nhớ chính?
Bởi vì các chương trình thể hiện tính cục bộ: tại bất kỳ thời điểm nào, chúng chỉ chạm vào một tập hợp dữ liệu làm việc nhỏ lặp đi lặp lại, và các truy cập tập trung vào các địa chỉ lân cận. Do đó, một bộ nhớ đệm nhỏ chứa tập hợp làm việc đó sẽ đáp ứng phần lớn các yêu cầu.
Sự khác biệt giữa bộ nhớ đệm và bộ nhớ ảo là gì?
Cả hai đều di chuyển dữ liệu giữa một cấp độ nhanh hơn, nhỏ hơn và một cấp độ chậm hơn, lớn hơn. Bộ nhớ đệm (được quản lý bằng phần cứng) chứa các khối bộ nhớ chính; bộ nhớ ảo (được quản lý bằng hệ điều hành) ánh xạ các địa chỉ chương trình tới bộ nhớ vật lý và phân trang dữ liệu đến và từ đĩa, đồng thời cung cấp bảo vệ và một không gian địa chỉ lớn hơn RAM vật lý.

Methods for this concept

Related concepts