Professional Documents
Culture Documents
Bai 1 - Cache 1
Bai 1 - Cache 1
MS
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1
KHOA ĐIỆN TỬ VIỄN THÔNG
2
BỘ MÔN MÁY TÍNH HỆ THỐNG NHÚNG
MEMORY SYSTEMS(MS)
BÁO CÁO MÔN HỌC:
30/11/2013
Suri Ken
MS
1
2
Nội Dung:
Bộ nhớ máy tính
http://www.fetel.hcmus.edu.vn/MemorySystem/chapter1_2
1 Giới thiệu
4 Tổ Chức Logic
Bộ Nhớ Caches
2
MS
1
2
1. Giới Thiệu
1.Bộ Nhớ Máy Tính
Bộ Nhớ Caches 3
MS
1
2
1. Giới Thiệu
2. Sự phân cấp bộ nhớ
Bộ Nhớ Caches 4
MS
1
2
1. Giới Thiệu
2. Sự phân cấp bộ nhớ
Bộ nhớ giao tiếp trực tiếp với CPU được gọi là bộ nhớ chính
Các thiết bị hỗ trợ dự phòng cho việc lưu trữ được gọi là bộ
nhớ phụ
Hệ thống phân cấp bộ nhớ bao gồm tất cả các thiết bị trong
hệ thống máy tính từ bộ nhớ phụ có dung lượng cao, tôc độ
chậm đến các bộ nhớ chính có dung lượng thấp hơn nhưng
tốc độ lưu trữ cao
CPU -> Cache L1 -> Cache L2 -> Cache L3 -> RAM -> HDD
---------------------- ----------------------------
- Bộ nhớ nhanh - Bộ nhớ chậm
- Dung lượng nhỏ - Dung lượng lớn
- Đắt tiền - Rẻ tiền
Bộ Nhớ Caches 5
MS
1
2
1. Giới Thiệu
Minh họa
Bộ Nhớ Caches 6
MS
1
2
1. Giới Thiệu
BEFORE CACHE – không có bộ nhớ cache
Bộ Nhớ Caches 7
MS
1
2
2.1 Phân Loại cache
Phân Loại:
Bộ Nhớ Caches 8
MS
1
2
2.1 Phân Loại cache
Một lưu ý khi phân loại trong hệ thống cache chính là cache
chia ra 2 nhóm lớn là vô hình và hữu hình
Địa chỉ theo thuật toán phát sinh khi một chương trình lặp
lại truy cập các dữ liệu hoặc thực hiện khối mã được phân
bố rộng khắp không gian bộ nhớ. Trường hợp này áp dụng
khi lượng data phân bố rất lớn và nhiều theo cấu trúc của
dữ liệu động một cách nhanh chóng mà không làm thay đổi
cấu trúc dữ liệu(khác với theo thời gian theo cấu trúc dữ
liệu tĩnh ).
Ý tưởng chính
Như một ứng dụng thực hiện theo thời gian, nó làm cho một
chuỗi các tài liệu tham khảo vào bộ nhớ ( hay tổng quát hơn ,
các nơi lưu trữ ) , mỗi thành viên là một ứng cử viên tiềm
năng cho bộ nhớ đệm .
Mục đích của một giải pháp quản lý nội dung là để xác định
tài liệu tham khảo các ứng cử viên tốt nhất cho bộ nhớ đệm
và để đảm bảo rằng giá trị dữ liệu tương ứng của họ trong bộ
nhớ cache tại thời gian ứng dụng yêu cầu.
Đồng thời , nó phải xem xét những tài liệu lưu trữ và quyết
định cần được đẩy ra để nhường chỗ cho hơn dữ liệu quan
trọng chưa được lưu trữ
1. Giữ cho bộ nhớ cache phù hợp với chính nó: không
bao giờ nên có bản sao của 1 item đơn lẻ trên những nơi
khác nhau của cache trừ khi nó có cùng giá trị.
2. Giữ cho bộ nhớ cache phù hợp với nơi lưu trữ:Giá trị
lưu giữ trong các nơi lưu trữ nên được cập nhật tối đa với
bất kỳ thay đổi trên phiên bản lưu trữ trong bộ nhớ cache,
nhưng chỉ đến mức có thể để đảm bảo rằng bất kỳ yêu cầu
đọc các phiên bản trong cửa hàng sao lưu trở lại giá trị bằng
word gần đây nhất được lưu trữ trong bộ nhớ cache.
3. Giữ cho bộ nhớ cache phù hợp với lưu trữ khác: đảm
bảo khi lưu trữ ở nơi khác không bị thay đổi.
Các nguyên tắc của nhận vào và loại bỏ xác định một lớp
cụ thể của mối quan hệ tồn tại giữa bất kỳ hai phân vùng
trong một hệ thống bộ nhớ cache.
Cho dù hai phân vùng hoặc "unit" được tìm thấy ở cùng
cấp trong việc hệ thống phân cấp hoặc ở các cấp độ khác
nhau trong hệ thống phân cấp, có là một mối quan hệ xác
định những gì giao điểm dự kiến của hai unit sẽ tạo ra.
Mối quan hệ hoặc là riêng biệt hay bao gồm (hoặc lai
của hai)
1. Các bộ làm việc của nhiều ứng dụng cao cấp đang phát triển với
một tốc độ phi thường, làm cho các giải pháp DRAM hấp dẫn dựa
trên do mật độ của nó.
2. Hiệu suất của công nghệ eDRAM đang được cải thiện đến mức
eDRAM hiệu suất của off-chip cache SRAM
3. Nhúng DRAM có sẵn trong nền logic và thậm chí có có độ tin cậy
cao hơn so với SRAM.
4. Nhúng DRAM dự kiến sẽ tiêu tan năng lượng ít đáng kể hơn, cả hai
động và tĩnh, so với cache SRAM.
Bộ Nhớ Caches 31
MS
1
2
3.1 Phân Loại
Bộ Nhớ Caches 32
MS
1
2
3.1 Phân Loại
Sơ đồ quản lý:
Dung lượng lưu trữ bộ nhớ transparent được quản lý theo ứng dụng Phần
mềm:
Dữ liệu đưa vào bộ nhớ transparent và được đồng nhất
Bộ nhớ scratch-pad (RAM) yêu cầu quản lý rõ ràng: không có gì được
đưa vào bộ nhớ scratch-pad trừ khi nó cố ý đề nghị phần mềm ứng dụng
load và lưu trữ
Bộ nhớ transparent:
Ứng dụng có thể hoàn toàn không biết sự tồn tại của bộ nhớ cache
Bộ nhớ scratch-pad :
Ứng dụng kiểm soát tất cả mọi thứ
Không được lưu trữ trong bộ nhớ scratch-pad trừ khi ứng dụng
đặt trong đó
Bộ nhớ sử dụng không gian tên tách rời khỏi khu lưu trữ
Bộ Nhớ Caches 33
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Một địa chỉ đầy đủ của bộ nhớ cache gồm có keys hoặc tags
Bởi vì chi phí tìm kiếm có thể cao các cấu tạo logic khác nhau đã được
phát triển để thực hiện đồng thời hai mục tiêu :
Điểm chính đó là bộ nhớ cache thường phân chia lưu trữ vào các lớp
tương đương hoặc bộ , và gán khối ID vào bộ
Một bộ nhớ cache có thể gồm một hoặc nhiều bộ ,mỗi bộ có thể bao
gồm một hoặc nhiều vùng lưu trữ .Điều này đưa đến các cấu tạo bán
dẫn sau :
Bộ Nhớ Caches 34
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Cấu tạo ánh xạ trực tiếp :
01400 150 0 0 0 5
FFFFF
Match
Compare
No match
20 12 16
Bits Bits Bits
(Addr) (Tag) (Data) 35 35
Bộ Nhớ Caches
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Direct Mapping còn được gọi là Cache thiết lập liên kết
1-Way (1-Way set associative Cache). Ta thấy rằng, bộ
nhớ chính được chia thành nhiều page. Kích thước mỗi
page bằng kích thước của Cache.
Bộ Nhớ Caches 36
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Cấu tạo liên kết đầy đủ :
Tổ chức bộ nhớ cache nhanh nhất và linh hoạt nhất sử
dụng liên kết bộ nhớ.
Sự kết hợp bộ nhớ gồm địa chỉ và dữ liệu của memory
word
Điều này cho phép bất kì vị trí trong bộ nhớ cache có thể
lưu trữ bất kì dữ liệu(word) từ bộ nhớ chính.
Cách kết hợp này cho hiệu suất tốt nhất nhưng cấu trúc
thực hiện lại phức tạp. Sự phức tạp này là do việc xác
định dữ liệu yêu cầu nằm trong Cache.. Điều này yêu
cầu một số lượng rất lớn bộ so sánh, từ đó làm tăng độ
phức tạp và giá thành, Cache làm ra có kích thước lớn.
Chính vì vậy, loại Cache này chỉ sử dụng cho các Cache
dung lượng nhỏ dưới 4K.
Bộ Nhớ Caches 37
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Bộ Nhớ Caches 38
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Bộ Nhớ Caches 39
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Address
FFFFF
Compare Compare
20 12 16 12 16
Bits Bits Bits Bits Bits Match No match 40 / 19
(Addr) (Tag) (Data) (Tag) (Data) Bộ Nhớ Caches 40
MS
1
2 3.2 Cache có địa chỉ rõ ràng
Cấu trúc này rõ ràng là ít phức tạp hơn cấu trúc liên kết
đầy đủ vì số bộ so sánh bằng với số Cache way. Một Cache
thiết lập liên kết 2-way chỉ yêu cầu hai bộ so sánh như vậy
làm giảm rất nhiều giá thành khi thực hiện cấu trúc này so
với cấu trúc liên kết đầy đủ.
Bộ Nhớ Caches 41
MS
1
2 3.3 Cache có địa chỉ không rõ ràng
Dữ liệu trong bộ nhớ cache nằm riêng biệt với không gian tên trong
bộ nhớ
Bộ nhớ cache không cần bất cứ tags hay keys tra cứu nào
Bởi vì bộ nhớ cache dùng không gian tên riêng biệt trong bộ nhớ
nên nó sẽ không giữ bản copy của dữ liệu mà nó sẽ giữ bản đầy đủ
của dữ liệu trong bộ nhớ .
Bộ Nhớ Caches 42
MS
1
2 3.3.1 Bộ nhớ Scratch-Pad
Bộ nhớ Scratch-pad :
1. Nó có địa chỉ rõ ràng
2. Dung lượng được quản lý rõ ràng bởi ứng dụng phần
mềm
3. Sự phân định dữ liệu của nó được hoàn thành bởi phần
mềm
4. Thường dùng cho người biên soạn
5. Dùng cho hệ thống thời gian thực tốt hơn so với bộ nhớ
cache quản lý ngầm
Bộ Nhớ Caches 43
MS
1
2 3.3.2 Bộ nhớ Scratch-Pad tự quản
Nó làm cho người biên soạn cảm thấy tốt hơn trong
quản lý bộ nhớ cache
Bộ Nhớ Caches 44
MS
1
2
Phân biệt sự khác nhau giữa Transparent và Scratch-Pad
Địa chỉ ảo là giá trị thay cho bộ nhớ cache bán dẫn bổ sung
vào hệ thống với sự hỗ trợ của bộ nhớ ảo
Bộ Nhớ Caches 46
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 47
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 48
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 49
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 50
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 51
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 52
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 53
MS
1
2
3.4.1 Bộ Nhớ Ảo
Bộ Nhớ Caches 54
MS
1
2
3.4.2 ASIDs và sự bảo vệ Bits
Khoảng địa chỉ đồng nhất bên trong bộ nhớ cache là ngầm
nếu cache là cấu tạo physically tagged dùng physically
tagged để đẩy gánh nặng của quá trình vi phân lên vai của
bộ nhớ ảo
Bộ Nhớ Caches 56
MS
1
2
4.1 UMA và NUMA
Các thuật ngữ này thường được sử dụng trong điều kiện
hệ thống bộ nhớ thứ tự cao hơn và hệ thống bộ nhớ
cache không cụ thể
Là tên gọi hữu ích trong các cuộc thảo luận về phân
phối/phân chia cache vì hệ thống UMA/NUMA minh
họa cho các vấn đề chính đối phó với với bộ nhớ rời rạc
COMA là viết tắt của kiến trúc bộ nhớ chỉ cache (cache-
only memory architecture), được thiết kế để giải quyết các
vấn đề của UMA, NUMA và ccNUMA
Ưu điểm:
Không gian local cache tăng lên đáng kể, nên có khả
năng làm giảm độ trễ
Nhược điểm:
Không có backing store, do đó, hệ thống phải theo dõi
các bản sao lưu trữ còn tồn tại vì thế tất cả chúng không
phải bị xóa khỏi hệ thống
(The disadvantage is that, by definition (“cache only”),
there is no backing store, and thus, the system must keep
track of extant cached copies so that they are not all deleted
from the system) 60
Bộ Nhớ Máy Tính Chapter 1&2
MS
1
2
4.3 NUCA và NuRAPID
Bộ nhớ cache là một mạng lưới rõ ràng của các khối lưu
trữ, có một độ trễ mạng khác nhau phụ thuộc khoảng
cách của khối từ các điểm truy cập trung tâm
Web cache (a) là một mạng lưới phía máy chủ proxy đưa
ra để giảm tải trên máy chủ web chính.
Loại bộ nhớ cache cũng có thể làm giảm tiếp xúc với vấn
đề an ninh bằng cách cho phép số lượng lớn chính của tổ
chức máy tính tiện nghi, bao gồm các máy chủ web chính,
ở lại phía sau một firewall
If the web cache has a high hit rate, other queries (including
non-web traffic) see improved latency and bandwidth because
they face less competition for access to the network
(Nếu bộ nhớ cache web có tốc độ hit cao, các truy vấn khác
cải thiện độ trễ và băng thông bởi vì cạnh tranh ít hơn để truy
cập vào mạng)
The age queue holds blocks of two types: blocks that are
not-yet-proven-valuable and blocks that have outlived
their usefulness and are not expected to be reused any
time soon
Bởi vì các tập tin nằm trong khoảng cách đáng kể về kích
thước, và yêu cầu để các tập tin cũng dao động đáng kể về
kích thước, các bộ đệm cache được thiết kế để phù hợp biến
đổi này bằng cách không sử dụng một kích thước khối cố
định.
Kích thước của một khối có thể được làm nhỏ như kích
thước khối đĩa (512 byte), hoặc nó có thể dao động trong bội
số của 512 B lên tới 8 KB. Lúc khởi tạo, tất cả các bộ đệm
được phân bổ 2 KB của không gian vật lý