Phân cấp bộ nhớBộ vi xử lý CPU Tập thanh ghi Bộ nhớ chính Thiết bị lưu trữ HDD, SSD Cache Bộ nhớ mạng Từ trái sang phải: n dung lượng tăng dần n tốc độ giảm dần n giá thành cùng dung lư
Trang 1Kiến trúc máy tính
Chương 7
BỘ NHỚ MÁY TÍNH
Trang 2Nội dung học phần
Chương 1 Giới thiệu chung
Chương 2 Cơ bản về logic số
Chương 9 Các kiến trúc song song
cuu duong than cong com
Trang 37.1 Tổng quan hệ thống nhớ 7.2 Bộ nhớ chính
7.3 Bộ nhớ đệm (cache) 7.4 Bộ nhớ ngoài
7.5 Bộ nhớ ảo
Nội dung của chương 7
Trang 5Các đặc trưng của bộ nhớ (tiếp)
Trang 6Các đặc trưng của bộ nhớ (tiếp)
Trang 7Các đặc trưng của bộ nhớ (tiếp)
Trang 82 Phân cấp bộ nhớ
Bộ vi xử lý CPU
Tập thanh ghi
Bộ nhớ chính
Thiết bị lưu trữ (HDD, SSD)
Cache
Bộ nhớ mạng
Từ trái sang phải:
n dung lượng tăng dần
n tốc độ giảm dần
n giá thành cùng dung lượng giảm dầncuu duong than cong com
Trang 9Công nghệ bộ nhớ
Công nghệ
bộ nhớ
Thời gian truy nhập
Trang 10Nguyên lý cục bộ hoá tham chiếu bộ nhớ
thường chỉ tham chiếu các thông tin trong một khối nhớ cục bộ
Trang 11Mặt nạ
Không khả biến
bằng tia cực tím,
cả chip Electrically Erasable
PROM (EEPROM)
bằng điện, mức từng byte
1 Bộ nhớ bán dẫn
Trang 12ROM (Read Only Memory)
cuu duong than cong com
Trang 13Các kiểu ROM
n thông tin được ghi khi sản xuất
n Cần thiết bị chuyên dụng để ghi
n Chỉ ghi được một lần
n Cần thiết bị chuyên dụng để ghi
n Xóa được bằng tia tử ngoại
Trang 15RAM (Random Access Memory)
(Static and Dynamic)
Trang 16SRAM (Static) – RAM tĩnh
Trang 17DRAM (Dynamic) – RAM động
Trang 18Một số DRAM tiên tiến thông dụng
được đồng bộ bởi xung clock
cuu duong than cong com
Trang 19.
m-bit
Trang 20Các tín hiệu của chip nhớ
nhớ = m bit
n Tín hiệu chọn chip CS (Chip Select)
n Tín hiệu điều khiển đọc OE (Output Enable)
n Tín hiệu điều khiển ghi WE (Write Enable) (Các tín hiệu điều khiển thường tích cực với mức 0)cuu duong than cong com
Trang 21Tổ chức của DRAM
phép truyền 2n bit địa chỉ
(Row Address Select)
(Column Address Select)
Trang 22Ví dụ chip nhớ
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A19 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Vss
Vcc A18 A17 A14 A13 A8 A9 A11 Vpp A10 CE D7 D6 D5 D4 D3
32-Pin Dip 0.6"
Top View
24 23 22 21 20 19 18 17 16 15 14 13
1 2 3 4 5 6 7 8 9 10 11 12
Vcc D0 D1 WE RAS NC A10 A0 A1 A2 A3 Vcc
Vss D3 D2 CAS OE A9 A8 A7 A6 A5 A4 Vss
(a) 8-Mbit EPROM (b) 16-Mbit DRAM
24-Pin Dip 0.6"
Top View
cuu duong than cong com
Trang 23Thiết kế mô-đun nhớ bán dẫn
Trang 24Tăng độ dài từ nhớ
VD1:
Trang 25Sơ đồ ví dụ tăng độ dài từ nhớ
A11÷A0
D3÷ D0 CS
CS WE
Trang 26Bài toán tăng độ dài từ nhớ tổng quát
cuu duong than cong com
Trang 27Tăng số lượng từ nhớ
VD2:
Trang 28Sơ đồ ví dụ tăng số lượng từ nhớ
A11÷A0
D7÷ D0
Bộ giải mã 1à 2
A
G
Y0
Y1 A12
A11÷A0
D7÷ D0 CS
cuu duong than cong com
Trang 29Bộ giải mã 2à4
Bộ giải mã
2 à4 A
G
Y0
Y1 B
Trang 30Thiết kế kết hợp
Ví dụ 3:
Trang 312 Các đặc trưng cơ bản của bộ nhớ chính
dữ liệu đang được sử dụng
tiếp bởi CPU
gian địa chỉ bộ nhớ mà CPU quản lý
Trang 32Tổ chức bộ nhớ đan xen (interleaved memory)
Trang 33m=8bit à một băng nhớ tuyến tính
6 5 4 3 2 1 0
.
.
Trang 34m = 16bit à hai băng nhớ đan xen
9 7 5 3 1
.
.
D7 - D0
2i 2i+1
Băng 1 Băng 0
BE0 BE1
cuu duong than cong com
Trang 35m = 32bit à bốn băng nhớ đan xen
17 13 9 5 1
.
.
A N-1 - A 2
16 12 8 4 0
.
.
4i 4i+1
19 15 11 7 3
.
.
18 14 10 6 2
.
.
4i+2 4i+3
băng 3 băng 2 băng 1 băng 0
Trang 36m = 64bit à tám băng nhớ đan xen
17 9 1
23 15 7
.
.
D63-D56
BE7 8i+7
.
cuu duong than cong com
Trang 377.3 Bộ nhớ đệm (cache memory)
1 Nguyên tắc chung của cache
n Cache có tốc độ nhanh hơn bộ nhớ chính
n Cache được đặt giữa CPU và bộ nhớ chính nhằm
tăng tốc độ CPU truy cập bộ nhớ
n Cache có thể được đặt trên chip CPU
cache
chính
Trang 38Ví dụ về thao tác của cache
(nhanh)
liệu từ bộ nhớ chính vào cache
Trang 39Cấu trúc chung của cache / bộ nhớ chính
Trang 40Cấu trúc chung của cache / bộ nhớ chính (tiếp)
khối có kích thước bằng nhau
n Bộ nhớ chính: B0, B1, B2, , Bp-1 (p Blocks)
n Bộ nhớ cache: L0, L1, L2, , Lm-1 (m Lines)
n Kích thước của Block (Line) = 8,16,32,64,128 byte
gắn vào
cuu duong than cong com
Trang 41Cấu trúc chung của cache / bộ nhớ chính (tiếp)
các Line của cache
bộ nhớ chính hiện đang được chứa ở Line đó
bộ nhớ chính nạp vào Line đó
hai khả năng xảy ra:
Từ nhớ đó có trong cache (cache hit)
Trang 422 Các phương pháp ánh xạ
(Chính là các phương pháp tổ chức bộ nhớ cache)
(Set associative mapping)
cuu duong than cong com
Trang 43Ánh xạ trực tiếp
vào một Line của cache:
Trang 44Ánh xạ trực tiếp (tiếp)
Tag
Cache Tag
Bộ nhớ chính
.
cuu duong than cong com
Trang 45Ánh xạ trực tiếp (tiếp)
trường:
n Trường Word gồm W bit xác định một từ nhớ trong
Block hay Line:
2 W = kích thước của Block hay Line
n Trường Line gồm L bit xác định một trong số các Line trong cache:
2 L = số Line trong cache = m
Trường Tag gồm T bit:
Trang 46Ánh xạ trực tiếp (tiếp)
n Mỗi thẻ nhớ (Tag) của một Line chứa được T bit
n Khi Block từ bộ nhớ chính được nạp vào Line của cache thì Tag ở đó được cập nhật giá trị là T bit địa chỉ bên trái của Block đó
n Khi CPU muốn truy nhập một từ nhớ thì nó phát ra một địa chỉ N bit cụ thể
n Nhờ vào giá trị L bit của trường Line sẽ tìm ra Line tương ứng
n Đọc nội dung Tag ở Line đó (T bit), rồi so sánh với T bit bên trái của địa chỉ vừa phát ra
n Giống nhau: cache hit
n Khác nhau: cache miss
n Ưu điểm: Bộ so sánh đơn giản
n Nhược điểm: Xác suất cache hit thấp
cuu duong than cong com
Trang 47Ánh xạ liên kết toàn phần
nào của cache
trường:
bộ nhớ chính
Trang 48Ánh xạ liên kết toàn phần (tiếp)
cuu duong than cong com
Trang 49Ánh xạ liên kết toàn phần (tiếp)
n Mỗi thẻ nhớ (Tag) của một Line chứa được T bit
n Khi Block từ bộ nhớ chính được nạp vào Line của cache thì Tag ở đó được cập nhật giá trị là T bit địa chỉ bên trái của Block đó
n Khi CPU muốn truy nhập một từ nhớ thì nó phát ra một địa chỉ N bit cụ thể
n So sánh T bit bên trái của địa chỉ vừa phát ra với lần lượt nội dung của các Tag trong cache
n Nếu gặp giá trị bằng nhau: cache hit xảy ra ở Line đó
n Nếu không có giá trị nào bằng: cache miss
n Ưu điểm: Xác suất cache hit cao
Trang 50Ánh xạ liên kết tập hợp
Trang 51Ánh xạ liên kết tập hợp (tiếp)
Tag
Cache Tag
Bộ nhớ chính
L0 L1 L2 L3 L4 L5 L6 L7
.
.
B0 B1 B2 B3 B4 B5
.
Trang 52Ánh xạ liên kết tập hợp (tiếp)
n Kích thước Block = 2W Word
n Trường Set có S bit dùng để xác định một trong số các
Set trong cache 2 S = Số Set trong cache
n Trường Tag có T bit: T = N - (W+S)
n Khi CPU muốn truy nhập một từ nhớ thì nó phát ra một địa chỉ N bit cụ thể
n Nhờ vào giá trị S bit của trường Set sẽ tìm ra Set tương ứng
n So sánh T bit bên trái của địa chỉ vừa phát ra với lần lượt nội dung của các Tag trong Set đó
n Nếu gặp giá trị bằng nhau: cache hit xảy ra ở Line tương ứng
n Nếu không có giá trị nào bằng: cache miss
n Tổng quát cho cả hai phương pháp trên
n Thông dụng với: 2,4,8,16Lines/Set
cuu duong than cong com
Trang 53Ví dụ về ánh xạ địa chỉ
trường hợp tổ chức:
n Ánh xạ trực tiếp Ánh xạ liên kết toàn phần
Trang 54Với ánh xạ trực tiếp
cuu duong than cong com
Trang 55Với ánh xạ liên kết toàn phần
Trang 56Với ánh xạ liên kết tập hợp 4 đường
S = 11 bit
cuu duong than cong com
Trang 573 Thay thế block trong cache
Với ánh xạ trực tiếp:
định
Trang 58Thay thế block trong cache (tiếp)
Với ánh xạ liên kết: cần có thuật giải thay thế:
nằm lâu nhất ở trong Set đó
nào trong Set có số lần truy nhập ít nhất trong
cùng một khoảng thời gian
trong Set tương ứng có thời gian lâu nhất không
được tham chiếu tới
cuu duong than cong com
Trang 594 Phương pháp ghi dữ liệu khi cache hit
Trang 61Ổ đĩa cứng (HDD –Hard Disk Drive)
Surface 6 Surface 5
Surface 8 Surface 7 Platter
arm motion Surface 9
Trang 63Ổ SSD (Solid State Drive)
và cho phép truy cập song song
Trang 64Đĩa quang
cuu duong than cong com
Trang 65Hệ thống lưu trữ dung lượng lớn: RAID
phục lại thông tin trong trường hợp đĩa bị hỏng
Trang 66RAID 0, 1, 2
strip 12
(a) RAID 0 (Nonredundant)
strip 8 strip 4 strip 0
strip 13 strip 9 strip 5 strip 1
strip 14 strip 10 strip 6 strip 2
strip 15 strip 11 strip 7 strip 3
strip 12
(b) RAID 1 (Mirrored)
strip 8 strip 4 strip 0
strip 13 strip 9 strip 5 strip 1
strip 14 strip 10 strip 6 strip 2
strip 15 strip 11 strip 7 strip 3
strip 12 strip 8 strip 4 strip 0
strip 13 strip 9 strip 5 strip 1
strip 14 strip 10 strip 6 strip 2
(c) RAID 2 (Redundancy through Hamming code)
strip 15 strip 11 strip 7 strip 3
cuu duong than cong com
Trang 67RAID 3 & 4
block 8 block 4 block 0
block 9 block 5 block 1
block 10 block 6
block 2
block 7 block 3
P(8-11) P(4-7) P(0-3)
(d) RAID 3 (Bit-interleaved parity)
block 11
Trang 68RAID 5 & 6
block 12 block 8 block 4 block 0
block 9 block 5 block 1
block 13
block 6 block 2
block 14 block 10 block 3
block 15 P(16-19)
(f ) RAID 5 (Block-level distributed parity)
P(0-3)
block 12
(g) RAID 6 (Dual redundancy)
block 8 block 4 block 0
P(12-15) block 9 block 5 block 1
Q(12-15) P(8-11) block 6 block 2
block 13
P(4-7) block 3
block 14 block 10 Q(4-7) P(0-3)
Q(8-11)
block 15
block 7 Q(0-3)
block 11
cuu duong than cong com
Trang 69Ánh xạ dữ liệu của RAID 0
strip 12 strip 8 strip 4 strip 0
Physical disk 0
strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 strip 9 strip 10 strip 11 strip 12 strip 13
strip 2 strip 1 strip 0 Logical disk
Physical disk 1
Physical disk 2
Physical disk 3
strip 13 strip 9 strip 5 strip 1
strip 14 strip 10 strip 6 strip 2
strip 15 strip 11 strip 7 strip 3
Array management software
Trang 707.5 Bộ nhớ ảo (Virtual Memory)
chính và bộ nhớ ngoài mà được CPU coi như là một bộ nhớ duy nhất (bộ nhớ chính).
chỉ bộ nhớ thành các trang nhớ có kích thước bằng nhau và nằm liền kề nhauThông dụng: kích thước trang = 4KiB
thành các đoạn nhớ có kích thước thay đổi, các đoạn nhớ có thể gối lên nhau
cuu duong than cong com
Trang 71Phân trang
thước bằng nhau gọi là các khung trang
Trang 72Cấp phát các khung trang
14 13
15
16 use In
Main memory
(a) Before (b) After
Process A
Free frame list 13 14 15 18 20
Free frame list 20
Process A page table 18 13 14 15
Page 0 Page 1 Page 2 Page 3
In use
In use
15
16 use In
In use
Main memory
cuu duong than cong com
Trang 73Địa chỉ logic và địa chỉ vật lý của phân trang
30
18
1
Page number
Relative address within page
Logical address
Physical address
Main memory
Relative address within frame
Trang 74Nguyên tắc làm việc của bộ nhớ ảo phân trang
n Không yêu cầu tất cả các trang của tiến trình nằm trong bộ nhớ
n Chỉ nạp vào bộ nhớ những trang được yêu cầu
n Trang được yêu cầu không có trong bộ nhớ
n HĐH cần hoán đổi trang yêu cầu vào
n Có thể cần hoán đổi một trang nào đó ra để lấy chỗ
n Cần chọn trang để đưa racuu duong than cong com
Trang 75Thất bại
Trang 76Lợi ích
bộ nhớ để chạy
lớn hơn tổng bộ nhớ sẵn dùng
Trang 77Page #
Process ID
Control bits Chain
i
0
j
Trang 79Bộ nhớ trên PC (tiếp)
n Chương trình POST (Power On Self Test)
n Chương trình CMOS Setup
n Chương trình Bootstrap loader
n Các trình điều khiển vào-ra cơ bản (BIOS)
n Chứa thông tin cấu hình hệ thống
n Đồng hồ hệ thống
Trang 80Hết chương 7
cuu duong than cong com