Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 76

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

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:

BỘ NHỚ MÁY TÍNH


(Chapter 1 &2)
GVHD: Th.S Cao Trần Bảo Thương
SVTH:Nguyễn Đình Thảo 1020205
Nguyễn Hoàng Thao 1020197
Phan Thanh Hảo 1020058

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

2 Tổng quan bộ nhớ Caches

3 Cấu tạo Logic

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

AFTER CACHE – 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

Bộ Nhớ Máy Tính Chapter 1&2 9


MS
1
2
2.2 Nguyên lí đánh địa chỉ

 Các mô hình truy cập bộ nhớ các chương trình không


phải là ngẫu nhiên.

 Truy cập có xu hướng lặp lại chính mình trong thời


gian và / hoặc được gần nhau trong không gian địa chỉ
bộ nhớ.

Nếu chương trình tham khảo Data một lần, nó


có khả năng trong tương lai gần để tham khảo Data một lần
nữa.
Nếu chương trình tham khảo một mốc một lần, đó là
có khả năng trong tương lai gần để tham khảo các data gần
đó
Đây là các ý tưởng để nói về cách đánh địa chỉ bộ nhớ
theo không gian và thời gian

Bộ Nhớ Máy Tính Chapter 1&2 10


MS
1
2
2.2.1 Theo thời gian
Ý tưởng chính ra đời là do lệnh dữ liệu có sự lặp
đi lặp lại trong khoảng thời gian ngắn

Nguyên lý cục bộ về thời gian: nếu một phần tử


nào đó được truy xuất thì nó có thể được truy xuất
lại trong một khoảng thời gian ngay sau đó
Ví dụ: vòng lặp của chương trình

Bộ Nhớ Máy Tính Chapter 1&2 11


MS
1
2
2.2.1 Theo không gian
Đánh địa chỉ theo không gian phát sinh do xu hướng lập
trình và trình biên dịch cụm các đối tượng liên quan cùng
nhau trong không gian bộ nhớ
Nguyên lý cục bộ về không gian: khi một phần tử nào đó
được truy xuất thì các phần tử tiếp theo cũng có thể được truy
xuất
Ví dụ:
- Các chỉ thị trong chương trình thường được truy cập tuần
tự
- Truy cập một phần tử của mảng
Ví dụ như cần data là C, nó sẽ đưa luôn ABCDEF... Thậm chí là
nhiều hơn nữa vì nó có khả năng tiên đoán trước nó gần giống như
bộ «Look A Head»

Bộ Nhớ Máy Tính Chapter 1&2 12


MS
1
2
2.2.3 Theo thuật toán

Đị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 ).

Ứng dụng trong các ứng dụng đồ họa, mô tả phần cứng,


mô tả đồ họa.... Như kiến trúc VHDL trong Quarus,
Orcard, Protues, ModelSim....

Bộ Nhớ Máy Tính Chapter 1&2 13


MS
1
2
2.2.4 Theo Địa lí
Như chúng ta sẽ thảo luận chi tiết hơn sau này, các nhà thiết
kế tiếp tục tinh chỉnh hiệu năng bộ nhớ đệm (cũng như tiêu
hao năng lượng, kịp thời, khả năng dự báo, vv), thường bằng
phương pháp chia để trị.

Ý tưởng chính

1. Xác định lớp của ứng dụng / thuật toán


hành vi hoặc các loại dữ liệu mà có thể nhận
biết được hành vi của nó.

2. Khai thác (dự đoán) các hành vi mà nó


thể hiện.

Bộ Nhớ Máy Tính Chapter 1&2 14


MS
1
2
2.3 What to Cache, Where to Put and How to Maintain

Bộ Nhớ Máy Tính Chapter 1&2 15


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Khái niệm cơ bản về Block:


Một lưu trữ bộ nhớ cache khối dữ liệu (cache Blocks hoặc
cache Lines) mà đến từ các nơi lưu trữ.
Một hệ quả của sự sắp xếp khối theo định hướng này là
chúng ta chia một cách hợp lý các nơi lưu trữ vào bằng
nhau, bộ nhớ cache khối kích thước khối. Một tác dụng
phụ có ích này là cung cấp cho một phương tiện đơn giản
và hiệu quả để xác định một khối cụ thể: ID Blocks.

Bộ Nhớ Máy Tính Chapter 1&2 16


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Khái niệm cơ bản về Tags:


Bởi vì một bộ nhớ cache thường là nhỏ hơn nhiều so các
cửa hàng ủng hộ, có một khả năng tốt mà bất kỳ mốc yêu
cầu đặc biệt không có trong bộ nhớ cache.
Do đó, một số cơ chế phải cho biết bất kỳ mốc đặc biệt
hiện diện trong bộ nhớ cache hay không.
Các thẻ bộ nhớ cache điền vào mục đích này. Các thẻ, một
tập hợp các khối ID, bao gồm một danh sách các mục hợp
lệ trong bộ nhớ cache, với một thẻ cho mỗi mục dữ liệu

Bộ Nhớ Máy Tính Chapter 1&2 17


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Khái niệm cơ bản về Sets:


Nếu kích thước của một bộ nhớ cache chỉ là một khối , sau
đó tổ chức của nó nên được tương đối rõ ràng: dữ liệu đi
vào một khối, thay thế bất cứ điều gì trước đây có . Tuy
nhiên, ngay sau khi một bộ nhớ cache có hơn một khối, tổ
chức của nó trở nên một vấn đề : nơi nên có khối thứ hai
được đặt? Các dữ liệu tương ứng với một mã số cấm đặc
biệt chỉ có thể được tìm thấy trong một mục cache ở một
thời gian , nhưng vẫn có sự linh hoạt trong sự lựa chọn
của mục trong bộ nhớ cache để lựa chọn.

Ta sẽ sử dụng các kích thước đứng và ngang trong


số liệu để chỉ một nhóm các lớp tương đương ;mỗi hàng là
một lớp tương đương được gọi là một bộ nhớ cache Sets

Bộ Nhớ Máy Tính Chapter 1&2 18


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Khái niệm cơ bản về Sets:


Các, bộ duy nhất duy nhất mà một đoạn cụ thể của dữ liệu
thuộc thường được xác định bởi một tập hợp con của các
bit lấy từ ID khối của nó, như thể hiện trong hình 1.6.
Sau khi setđược xác định, các đoạn dữ liệu có thể
được đặt trong bất kỳ khối trong set đó

Bộ Nhớ Máy Tính Chapter 1&2 19


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Có ba tổ chức bộ nhớ cache cơ bảnphát sinh từ cơ chế tương


đương lớp này : trực tiếp ánh xạ, kết hợp đầy đủ , và thiết
lập liên kết.
trực tiếp ánh xạ: có bộ chỉ có một khối trong mỗi thiết lập ,
mỗi khối là lớp tương đương của riêng mình.
kết hợp đầy đủ(còn gọi là nội dung địa chỉ bộ nhớ ): chỉ có
một tập hợp bao gồm tất cả khối , do đó, tất cả các khối trong
bộ nhớ cache là trong cùng một lớp tương đương .
thiết lập liên kết :Một thiết liên kết bộ nhớ cache có nhiều hơn
một bộ (nếu chỉ có một, bộ nhớ cache hoàn toàn có thể kết
hợp) , và mỗi thiết lập trong bộ nhớ cache kết hợp nhiều khối
trong tương đương của nó lớp (nếu chỉ có một, bộ nhớ cache sẽ
được ánh xạ trực tiếp ) .

Bộ Nhớ Máy Tính Chapter 1&2 20


MS
1
2
2.3.1 Logical Organization Basics: Blocks, Tags, Sets

Hình 1.7 minh họa ba tổ chức bộ nhớ cache bằng cách


chứng minh những cách khác nhau một bộ nhớ cache
của tám khối có thể được tổ chức.

Bộ Nhớ Máy Tính Chapter 1&2 21


MS
1 2.3.2 Content Management: To Cache or Not to Cache
2

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ữ

Bộ Nhớ Máy Tính Chapter 1&2 22


MS
1 2.3.3 Consistency Management: Its Responsibilities
2
Có 3 ý tưởng chính về quản lí tính nhất quán:

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.

Bộ Nhớ Máy Tính Chapter 1&2 23


MS
1
2
2.3.4 Đưa vào và loại bỏ

Bộ Nhớ Máy Tính Chapter 1&2 24


MS
1
2
2.3.4 Đưa vào và loại bỏ

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)

Bộ Nhớ Máy Tính Chapter 1&2 25


MS
1
2
2.3.4 Đưa vào và loại bỏ

Bộ Nhớ Máy Tính Chapter 1&2 26


MS
1
2
2.4 Hiểu biết và tối ưu hóa
2.4.1 Quan Điểm:

Sử dụng thuật ngữ chung, để mô tả khái niệm truyền thống


như locality, inclusion/exclusion, coherence/consistency, cache
organization, protocols, policies, heuristics, vv để làm cho nó rõ
ràng rằng nó áp dụng cho tất cả các cách cư xử của thực hiện
bộ nhớ cache . Mục đích dành cho người đọc nhận ra mối quan
hệ tiềm năng giữa các cơ chế mà không phải là thường được
coi là có liên quan hoặc thậm chí tương thích.
Xử lý chung này nên làm cho rõ ràng để người đọc có khả năng
con đường thú vị cho nghiên cứu.

Bộ Nhớ Máy Tính Chapter 1&2 27


MS
1
2
2.4 Hiểu biết và tối ưu hóa
Xem xét lại băng thông và Block Size: DSP cache
Mỗi đơn vị tải / lưu trữ có thể đọc từ bất kỳ khối trong bộ
nhớ cache , nhưng nó chỉ có thể ghi cho khối chính được gán
cho nó.

Bộ Nhớ Máy Tính Chapter 1&2 28


MS
1
2
2.4 Hiểu biết và tối ưu hóa
Xem xét lại băng thông và Block Size: DSP cache
Hình 1.11 cho thấy hiệu suất của hai các tổ chức, so với hiệu
suất của 64-KB scratch-pad SRAM 400 MB /s.

Bộ Nhớ Máy Tính Chapter 1&2 29


MS
1
2 2.4.2 Các vấn đề quan trọng, định hướng tương lai

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ớ Máy Tính Chapter 1&2 30


MS
1
2

Chương 2 : Cấu tạo logic

Bộ Nhớ Caches 31
MS
1
2
3.1 Phân Loại

 Chương trước giới thiệu về bộ nhớ transparent và bộ nhớ


scratch-pad .Bởi vì chúng được thiết kế ngược nhau , họ
phân loại bộ nhớ cache dựa trên các đặc điểm rõ ràng.

Sơ đồ địa chỉ : 


 Bộ nhớ transparent dùng sơ đồ tên từ bộ nhớ
 Bởi sự tương phản,bộ nhớ scratch-pad sử dụng một
không gian tên riêng biệt từ bộ nhớ
 Bộ nhớ transparent yêu cầu keys hoặc tags để chỉ ra
dữ liệu hiện đang lưu trữ.
 Bộ nhớ scratch-pad yêu cầu không cần tags.

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 :

 Giảm số lượng các thẻ kiểm tra


 Giữ hiệu suất của bộ nhớ cache đạt cao

 Đ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 :

Address What happens


00000 Cache when Address
000 00500
= 000 00500
00500 000 0 1 A 6
Tag Data
00900 080 4 7 C C 000 0 1 A 6

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

 Cấu tạo bộ liên hợp :


 Khuyết điểm của direct mapping: 2 word giống nhau về
địa chỉ index nhưng khác giá trị tag không thể lưu cùng
nhau trong bộ nhớ cache cúng một lúc

 Set-Associative Mapping là một cải tiến so với direct


mapping: mỗi word của bộ nhớ cache có thể lưu 2 hoặc
nhiều hơn 2 word của bộ nhớ chính nếu cùng địa chỉ
index.

Bộ Nhớ Caches 39
MS
1
2 3.2 Cache có địa chỉ rõ ràng

Address

00000 000 00500


Cache
00500 000 0 1 A 6 010 0 7 2 1
Tag1 Data1 Tag2 Data2
00900 080 4 7 C C 000 0 8 2 2 000 0 1 A 6 010 0 7 2 1

01400 150 0 0 0 5 000 0 9 0 9

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

 Theo sơ đồ địa chỉ của bộ nhớ Scratch-Pad tự quản thì


dữ liệu nằm trên chính không gian tên của mình
 Nó không giữ lại bản copy của dữ liệu mà nó giữ lại bản
chính của dữ liệu
 Dung lượng không được quản lý bởi một phần mềm ứng
dụng nào

 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

 Chương trình gửi dữ liệu cho bộ nhớ transparent và bộ


nhớ đó giữ lại nhưng sao chép một cho riêng mình
 Chương trình gửi dữ liệu cho bộ nhớ scratch-pad và dữ
liệu được đưa vào bộ nhớ scratch-pad bởi quá trình hoạt
động và tạo cho dữ liệu một tên mới
o Bộ nhớ transparent yêu cầu tags để cho biết dữ liệu nào
đang được cất giữ hiện tại
o Bộ nhớ scratch-pad không yêu cầu tags
 Dữ liệu được đưa vào transparent caches bởi phần mềm
ứng dụng
 Không có dữ liệu được đưa vào bộ nhớ scratch-pad trừ
khi nó cố tình thực hiện bởi phần mềm ứng dụng thông
qua việc tải và lưu trữ
Bộ Nhớ Caches 45
MS
1
2
3.4 Địa chỉ ảo và sự bảo vệ

 Đị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

 Sự bảo vệ là bảo vệ dữ liệu trong hệ thống khi bị sử dụng


sai .Làm cho hoạt động của hệ thống không bị phức tạp
trong mỗi đầu vào của bộ nhớ

Bộ Nhớ Caches 46
MS
1
2
3.4.1 Bộ Nhớ Ảo

 Bộ nhớ ảo đưa ra đầy đủ địa chỉ khác nhau để dùng ,thuận


tiện hơn khi dùng địa chỉ vật lý
 Gọi mỗi ngõ vào của bộ nhớ cache là indexed và tags
 Cả hai khối dữ liệu địa chỉ ảo và địa chỉ vật lý đều có thể
được sử dụng

Vì vậy chúng ta có bốn chọn lựa cấu tạo bộ nhớ cache


sau :

Bộ Nhớ Caches 47
MS
1
2
3.4.1 Bộ Nhớ Ảo

• Physically indexed, physically tagged:


• Ở cấu tạo này cache là indexed và tagged theo địa chỉ
vật lý của nó
• Thuận lợi của thiết kế này đó là từ bộ nhớ cache dùng
không gian tên giống như bộ nhớ vật lý ,nó có thể điều
khiển toàn bộ bởi phần cứng ,và hệ thống hoạt động
không cần liên quan đến quản lý bộ nhớ cache
• Bất lợi đó là sự tịnh tiến địa chỉ đến điểm tới hạn của
quỹ đạo Kích cỡ bộ nhớ tăng

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

Physically indexed, virtually tagged:


 Ở cấu tạo này ,cache là indexed theo địa chị vật lý của
nó ,nhưng tag chứa đựng địa chị ảo.
 Thuận lợi của cấu tạo này giống như cấu tạo Physically
indexed, physically tagged. Đó là hệ thống hoạt động
không cần sự quản lý rõ ràng của bộ nhớ cache.
 Sự tối ưu hoá cho ứng dụng để cho cấu tạo này tốt hơn
so với cấu tạo trước .

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

o Virtually indexed, physically tagged:


o Ở cấu tạo này cache la indexed theo địa chỉ ảo ,và
cache cũng là tagged theo địa chỉ vật lý
o Thuận lợi của sơ đồ này là nhiều ngõ vào dính chặt với
nhau hơn physically indexed cache và giảm sự quản lý
so với cấu tạo virtually indexed, virtually tagged cache
o Tuy nhiên ,sự quản lý vẫn rất thật sự cần thiết bởi vì nó
là virtually indexed cache chứ không phải là physically
indexed cache

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

Virtually indexed, virtually tagged:


 Ở cấu tạo này cache là indexed và tagged theo địa chỉ ảo
 Thuận lợi của thiết kế này đó là sự chuyển mã địa chỉ
không đòi hỏi bất cứ nơi đâu trong quá trình

Bộ Nhớ Caches 54
MS
1
2
3.4.2 ASIDs và sự bảo vệ Bits

 ASIDs và bảo vệ Bits nghĩa là bộ nhớ cache có hiệu lực bảo


vệ khối dữ liệu giúp hệ điều hành

 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

 Tuy nhiên ,nếu bộ nhớ cache là virtually tagged thì sự hiện


diện của ASIDs là không thể thiếu trong mỗi tag

 Bảo vệ Bits là rất cần thiết cho cả virtual and physical


caches ,trừ phi chức năng được cung cấp bởi TLB
Bộ Nhớ Caches 55
MS
1
2
4. Phân phối/phân vùng Cache

Nhiều tổ chức bộ nhớ cache tồn tại mà không phải là


thực thể nguyên khối
Mối quan tâm chính là sự tiện lợi khi phân tích các
cache
Các phần tiếp theo mô tả ngắn gọn một số tổ chức
phân phối cache phổ biến

Bộ Nhớ Caches 56
MS
1
2
4.1 UMA và NUMA

UMA và NUMA đại diện cho truy cập bộ nhớ thống


nhất và truy cập bộ nhớ không đồng đều

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

Bộ Nhớ Máy Tính Chapter 1&2 57


MS
1
2
4.1 UMA và NUMA
Kiến trúc UMA: tất cả các truy cập bộ nhớ có độ trễ
tương tự

Kiến trúc NUMA: có độ trễ khác nhau do tính chất của


nơi mà dữ liệu được lưu trữ

Bộ Nhớ Máy Tính Chapter 1&2 58


MS
1
2
4.2 COMA

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

COMA giải quyết vấn đề bằng cách làm mờ sự khác biệt


giữa bộ nhớ cache và backing store, làm cho các local
cache có hiệu quả kích thước tương tự như các local
backing store(DRAM system)

Bộ Nhớ Máy Tính Chapter 1&2 59


MS
1
2
4.2 COMA

Ư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

NUCA và NuRAPID (truy cập không đồng nhất với vị trí


thay thế và sử dụng sự kết hợp khoảng cách)

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

Bộ Nhớ Máy Tính Chapter 1&2 61


MS
1
2
4.4 Web Caches

Bộ Nhớ Máy Tính Chapter 1&2 62


MS
1
2
4.4 Web Caches

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.

Bộ nhớ cache server-side tăng thông lượng hệ thống và


làm giảm độ trễ trung bình cho các khách hàng của hệ
thống (ví dụ, khách hàng).

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

Bộ Nhớ Máy Tính Chapter 1&2 63


MS
1
2
4.4 Web Caches

Web cache (b) là bộ nhớ cache phía máy khách


Đưa ra để giảm lưu lượng truy cập vào liên kết đi của một tổ
chức mạng, bằng cách cải thiện tất cả các giao thông nói
chung, có độ trễ rất thấp

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)

Bộ Nhớ Máy Tính Chapter 1&2 64


MS
1
2
4.5 Buffer Caches

Bộ Nhớ Máy Tính Chapter 1&2 65


MS
1
2
4.6 Các trường hợp nghiên cứu

Các phần sau đây trình bày một số ví


dụ nổi tiếng của các tổ chức bộ nhớ
cache để minh họa các nguyên tắc
được mô tả trong chương này

Bộ Nhớ Máy Tính Chapter 1&2 66


MS
1
2 4.6.1 Horizontal-Exclusive Organization:
Victim Caches, Assist Caches
Một bộ nhớ cache nhỏ với một mức độ kết hợp
cao đặt cạnh bộ nhớ cache lớn hơn

Việc bổ sung một bộ nhớ cache nạn nhân của


một bộ nhớ cache chính lớn hơn cho phép bộ
nhớ cache chính tiếp cận với tỷ lệ bỏ lỡ một bộ
nhớ cache với tính kết hợp cao hơn

Nội dung bộ nhớ cache của nạn nhân được xác


định bởi các chính sách thay thế của bộ nhớ
cache chính

Bộ Nhớ Máy Tính Chapter 1&2 67


MS
1
2 4.6.1 Horizontal-Exclusive Organization:
Victim Caches, Assist Caches

Các victim cache sử dụng ít transistor, và rò rỉ


liên quan đến tổng số transistor trong thiết kế

Năng lượng rò rỉ trong cache nhanh chóng vượt xa


suất điện động, nên victim cache trở nên quan trọng
hơn trong tương lai

Bộ Nhớ Máy Tính Chapter 1&2 68


MS
1
2
4.6.2 Software Implementation: BSD’s Buffer Cache

BSD bộ đệm cache là một ví dụ đơn giản của một


thiết lập-kết hợp tổ chức bộ nhớ cache

Cung cấp một ví dụ về một tổ chức bộ nhớ cache có


kích thước khối được xác định tự động

Bộ Nhớ Máy Tính Chapter 1&2 69


MS
1
2
4.6.2 Software Implementation: BSD’s Buffer Cache

A Set-Associative Software-Managed Cache


Sơ đồ tổ chức của buffer cache

Bộ Nhớ Máy Tính Chapter 1&2 70


MS
1
2
4.6.2 Software Implementation: BSD’s Buffer Cache

Hàng đợi locked nắm giữ khối bộ nhớ cache mà không


được xả từ bộ nhớ cache
Hàng đợi LRU nắm giữ khối đĩa có giá trị trong một
trình tự thời gian lệnh dựa trên sử dụng cuối cù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

Hàng đợi empty nắm giữ khối bộ nhớ cache mà không


có lưu trữ sẵn để lại
Để tìm thấy một khối thích hợp cho tái sử dụng để
chứa dữ liệu đĩa đến, bộ nhớ cache được tìm kiếm từ
các hàng đợi hàng đầu.

Bộ Nhớ Máy Tính Chapter 1&2 71


MS
1
2
4.6.2 Software Implementation: BSD’s Buffer Cache

A Dynamically Defined Cache Block

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ý

Bộ Nhớ Máy Tính Chapter 1&2 72


MS
1
2
4.6.3 Another Dynamic Cache Block: Trace Caches

Trace cache là cơ chế làm tăng băng thông và giảm điện


năng tiêu thụ (trong pentium4)
Very long instruction word (VLIW)
VLIW đề cập đến kiến trúc vi xử lý được thiết kế để tận
dụng lợi thế của cấp hướng dẫn song song(ILP). Bộ vi xử lý
VLIW cho phép chương trình có thể xác định các chỉ dẫn
được thực hiện cùng lúc

Bộ Nhớ Máy Tính Chapter 1&2 73


MS
1
2
4.6.3 Another Dynamic Cache Block: Trace Caches

ELI: Extremely Long Instructions


Cơ chế của ELI khác với các chương trình trước đây ở chỗ
nó thực hiện chi nhánh độc lập cùng một lúc: ELI đặt nhiều
chi nhánh có điều kiện vào các hướng dẫn VLIW cùng và
thực hiện chúng cùng một lúc
Tuy nhiên, thực hiện một chi nhánh đa chiều ngụ ý rằng, để
tránh trì hoãn, tất cả các dòng hướng dẫn mục tiêu có thể
phải tìm nạp trước đồng thời

ROPE: Ring Of Prefetch Elements


Tương tự ELI, ROPE thực hiện một chi nhánh đa chiều và
lấy ra đồng thời nhiều banked để tránh trì hoãn

Bộ Nhớ Máy Tính Chapter 1&2 74


MS
1
2
Q/A?

Timers and CPP Modules 75


MS
1
2

Các chuẩn truyền VIDEO 76

You might also like