ế
ả Bài gi ng: ki n trúc máy tính và ữ ợ h p ng
ươ ộ Ch ớ ng 6: B nh máy tính
2
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
3
1. Các đặc trưng của hệ thống nhớ
2. Phân cấp hệ thống nhớ của máy tính
Lê Văn Hiệp
ệ ố ổ ớ 3.3.1. T ng quan h th ng nh
4
Vị trí:
Bên trong CPU: tập thanh ghi
Bộ nhớ trong: bộ nhớ chính và cache
Bộ nhớ ngoài: các thiết bị nhớ
Dung lượng:
Độ dài từ nhớ (tính bằng bit)
Số lượng từ nhớ
Đơn vị truyền:
Lê Văn Hiệp
Theo từng từ nhớ
Theo từng khối (block) nhớ
Phương pháp truy cập:
Truy cập tuần tự (băng từ)
Truy cập trực tiếp (các loại đĩa)
Truy cập ngẫu nhiên (bộ nhớ bán dẫn)
Truy cập liên kết (cache)
ủ ệ ố ư ặ ớ 1. Các đ c tr ng c a h th ng nh
5
Hiệu năng:
Thời gian truy cập
Chu kỳ nhớ
Tốc độ truyền
Kiểu vật lý:
Bộ nhớ bán dẫn
Bộ nhớ từ
Bộ nhớ quang
Lê Văn Hiệp
Các đặc tính vật lý:
Khả biến (mất điện thì mất thông tin) /
ủ ệ ố ư ặ ớ Các đ c tr ng c a h th ng nh
Không khả biến
Xóa được / Không xóa được
Tổ chức
6
Lê Văn Hiệp
ớ ủ ấ ệ ố 2. Phân c p h th ng nh c a MT
7
Tập thanh ghi (Registers):
Là thành phần nhớ nằm trong CPU, được coi
ệ ố ớ ủ ế H th ng nh c a máy tính (ti p)
là mức nhớ đầu tiên
Chứa các thông tin phục vụ cho hoạt động
ở thời điểm hiện tại của CPU
Bộ nhớ đệm nhanh (Cache):
Bộ nhớ có tốc độ nhanh được đặt giữa CPU và bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU.
Thường được chia thành một vài mức (L1,
Lê Văn Hiệp
L2)
Bộ nhớ chính (Main Memory):
Chứa các chương trình và dữ liệu đang được
sử dụng.
Bộ nhớ ngoài (External Memory):
Chứa các tài nguyên phần mềm của máy
tính.
8
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
9
1. Phân loại
2. Mô hình cơ bản của chip nhớ
Lê Văn Hiệp
ẫ ộ ớ 6.3.2. B nh bán d n
10
Gồm 2 loại chính: ROM và RAM
ROM (Read Only Memory): bộ nhớ chỉ
1. Phân lo iạ
đọc
Đặc điểm:
Bộ nhớ chủ yếu dùng để đọc thông tin
Bộ nhớ không khả biến
Chứa các chương trình và dữ liệu cố định
với hệ thống
Lê Văn Hiệp
11
Các loại bộ nhớ ROM:
Maskable ROM (ROM mặt nạ): thông tin
ROM (ti p)ế
được ghi khi chế tạo
PROM (Programmable ROM):
Khi chế tạo chưa có thông tin
Cho phép ghi thông tin được 1 lần bằng thiết bị
chuyên dụng
EPROM (Erasable PROM):
Cho phép xóa bằng tia cực tím
Lê Văn Hiệp
Ghi lại bằng thiết bị nạp EPROM
EEPROM (Electrically Erasable PROM):
Có thể xóa bằng tín hiệu điện và ghi lại thông
tin ngay trong mạch làm việc (không cần thiết
bị ghi riêng)
Có thể xóa và ghi lại ở mức từng Byte
Dung lượng nhỏ
Flash Memory: giống EEPROM nhưng:
Đọc/ghi theo từng block
Tốc độ rất nhanh
Dung lượng lớn
12
Lê Văn Hiệp
EPROM
13
Lê Văn Hiệp
EPROM
14
Lê Văn Hiệp
PROM
15
Lê Văn Hiệp
EEPROM
16
Lê Văn Hiệp
ạ ủ Bo m ch c a PROM
17
RAM (Random Access Memory): bộ nhớ
RAM (Random Access Memory)
truy cập ngẫu nhiên
Đặc điểm:
Là bộ nhớ đọc/ghi (Read/Write Memory –
RWM)
Bộ nhớ khả biến
Chứa các thông tin tạm thời
Lê Văn Hiệp
18
Các loại bộ nhớ RAM:
SRAM (Static): RAM tĩnh
Mỗi phần tử nhớ là một mạch lật 2 trạng thái ổn
định → thông tin trên SRAM ổn định
Tốc độ nhanh
Dung lượng chip nhớ nhỏ
Giá thành đắt
Thường dùng làm bộ nhớ Cache
DRAM (Dynamic): RAM động
Lê Văn Hiệp
Mỗi phần tử nhớ là một tụ điện rất nhỏ → cứ
sau một khoảng thời gian thì điện tích trên tụ
điện sẽ bị mất, cho nên thông tin trên DRAM
không ổn định → khắc phục bằng mạch làm
tươi (refresh) DRAM
Tốc độ chậm (do mất thời gian làm tươi DRAM)
Dung lượng chip nhớ lớn
Giá thành rẻ
Thường dùng làm bộ nhớ chính
RAM (ti p)ế
19
Lê Văn Hiệp
ơ ả ủ ớ 2. Mô hình c b n c a chip nh
20
Lê Văn Hiệp
ơ ả ủ ớ Mô hình c b n khác c a chip nh
21
Có n chân địa chỉ (An-1 ÷ A0) : vận
ơ ả ủ ớ ế Mô hình c b n c a chip nh (ti p)
chuyển vào chip nhớ được n bit địa chỉ đồng thời → trong chip nhớ có 2n từ nhớ.
Có m chân dữ liệu: (Dm-1 ÷ D0) : cho
phép vận chuyển đồng thời được m bit dữ liệu → độ dài từ nhớ là m bit. → Dung lượng của chip nhớ là: 2n x m bit
Các chân tín hiệu điều khiển:
CS (Chip Select): tín hiệu điều khiển chọn
chip nhớ làm việc
Lê Văn Hiệp
OE (Output Enable): tín hiệu điều khiển đọc
dữ liệu của 1 từ nhớ đã được xác định.
WE (Write Enable): tín hiệu điều khiển ghi
dữ liệu vào 1 từ nhớ đã được xác định.
22
Hoạt động đọc:
Các bit địa chỉ được đưa đến các chân địa
ạ ộ ớ ủ Ho t đ ng c a chip nh
chỉ.
Tín hiệu điều khiển chọn chip nhớ làm việc
được đưa đến CS
Tín hiệu điều khiển đọc đưa đến OE
Dữ liệu từ ngăn nhớ tương ứng với địa chỉ đã có sẽ được đưa ra các chân dữ liệu.
Lê Văn Hiệp
23
Hoạt động ghi:
Các bit địa chỉ được đưa đến các chân địa
ớ ế ạ ộ ủ Ho t đ ng c a chip nh (ti p)
chỉ
Dữ liệu cần ghi được đưa đến các chân dữ
liệu
Tín hiệu điều khiển chọn chip được đưa đến
CS
Tín hiệu điều khiển ghi được đưa đến WE
Dữ liệu từ các chân dữ liệu sẽ được ghi vào
ngăn nhớ tương ứng.
Lê Văn Hiệp
24
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
25
1. Các đặc trưng của bộ nhớ chính
2. Tổ chức bộ nhớ đan xen
Lê Văn Hiệp
ộ ớ 6.3.3. B nh chính
26
Là thành phần nhớ tồn tại trên mọi hệ
ủ ộ ư ặ ớ 1. Các đ c tr ng c a b nh chính
thống máy tính
Chứa các chương trình đang được thực hiện và các dữ liệu đang được sử dụng
Bao gồm các ngăn nhớ được đánh địa chỉ
trực tiếp bởi CPU
Dung lượng vật lý của bộ nhớ chính ≤
không gian địa chỉ bộ nhớ mà CPU quản lý
Lê Văn Hiệp
Việc quản lý logic bộ nhớ chính tùy thuộc
vào hệ điều hành
27
Độ rộng của bus dữ liệu để trao đổi với bộ nhớ chính M = 8, 16, 32, 64, 128 … bit
Các ngăn nhớ được tổ chức theo từng
ổ ứ ộ ớ 2. T ch c b nh đan xen
Byte nhớ
→ Tổ chức bộ nhớ chính khác nhau
Lê Văn Hiệp
28
VD: Intel 8088
BN chính là 1 băng (bank) nhớ tuyến tính
Lê Văn Hiệp
M = 8 bit
29
VD: Intel 8086 ÷ 80286
Bộ nhớ chính gồm 2 băng (bank) nhớ
M = 16 bit
đan xen
Lê Văn Hiệp
30
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
31
1. Nguyên tắc chung của cache
2. Các phương pháp ánh xạ
3. Thuật giải thay thế
4. Phương pháp ghi dữ liệu khi cache hit
5. Cache trên các bộ xử lý Intel
Lê Văn Hiệp
ộ ớ 6.3.4. B nh cache
32
Nguyên lý cục bộ hoá tham chiếu bộ
ủ ắ 1. Nguyên t c chung c a cache
nhớ: Trong một khoảng thời gian đủ nhỏ CPU thường chỉ tham chiếu các thông tin trong một khối nhớ cục bộ
Ví dụ:
Cấu trúc chương trình tuần tự
Vòng lặp có thân nhỏ
Cấu trúc dữ liệu mảng
Cache có tốc độ nhanh hơn bộ nhớ chính
Lê Văn Hiệp Cache được đặt giữa CPU và bộ nhớ
chính nhằm tăng tốc độ truy cập bộ nhớ
của CPU
Cache có thể được đặt trên chip CPU
33
Tuyến theo word
Tuyến theo block
Lê Văn Hiệp
ọ ổ ứ Hình minh h a t ch c cache
34
L0 L1
B0 B1
Lm1
Bp1
Lê Văn Hiệp
ủ ấ ộ ớ C u trúc chung c a cache / B nh chính
35
Bộ nhớ chính có 2N byte nhớ
Bộ nhớ chính và cache được chia thành
ủ ấ ộ ớ C u trúc chung c a cache / B nh chính
các khối có kích thước bằng nhau
Bộ nhớ chính: B0, B1, B2, ... , Bp-1 (p
Blocks)
Bộ nhớ cache: L0, L1, L2, ... , Lm-1(m
Lines)
Kích thước của Block = 8,16,32,64,128
byte
Lê Văn Hiệp
36
Một số Block của bộ nhớ chính được nạp
ủ ấ ộ ớ C u trúc chung c a cache / B nh chính
vào các Line của cache.
Nội dung Tag (thẻ nhớ) cho biết Block nào của bộ nhớ chính hiện đang được chứa ở Line đó.
Khi CPU truy nhập (đọc/ghi) một từ nhớ,
có hai khả năng xảy ra:
Từ nhớ đó có trong cache (cache hit)
Từ nhớ đó không có trong cache (cache
Lê Văn Hiệp
miss).
37
Lê Văn Hiệp
ọ Minh h a cache hit và cache miss
38
Ánh xạ trực tiếp (Direct mapping)
Ánh xạ liên kết toàn phần (Fully
ươ ạ 2. Các ph ng pháp ánh x
associative mapping)
Ánh xạ liên kết tập hợp (Set associative
mapping)
Lê Văn Hiệp
39
Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache:
B0 L0
B1 L1
....
Bm-1 Lm-1
Bm L0
Bm+1 L1
Lê Văn Hiệp
....
Tổng quát
Bj chỉ có thể nạp vào L j mod m
với m là số Line của cache.
ạ ự ế Ánh x tr c ti p
40
Lê Văn Hiệp
ọ ạ ự ế Minh h a ánh x tr c ti p
41
Mỗi một địa chỉ N bit của bộ nhớ chính
ạ ự ế ủ ể ặ Đ c đi m c a ánh x tr c ti p
gồm ba trường:
Trường Word gồm W bit xác định một từ nhớ
trong Block hay Line:
2W = kích thước của Block hay Line
Trường Line gồm L bit xác định một trong số
các Line trong cache:
2L = số Line trong cache = m
Trường Tag gồm T bit:
Lê Văn Hiệp
T = N - (W+L)
Bộ so sánh đơn giản
Xác suất cache hit thấp
42
Mỗi Block có thể nạp vào bất kỳ Line nào
ầ ạ ế Ánh x liên k t toàn ph n
của cache.
Địa chỉ của bộ nhớ chính bao gồm hai
trường:
Trường Word giống như trường hợp ở trên.
Trường Tag dùng để xác định Block của bộ
nhớ chính.
Tag xác định Block đang nằm ở Line đó
Lê Văn Hiệp
43
Lê Văn Hiệp
ế ạ ầ ọ Minh h a ánh x liên k t toàn ph n
44
So sánh đồng thời với tất cả các Tag mất
ủ ể ế ặ ầ ạ Đ c đi m c a ánh x liên k t toàn ph n
nhiều thời gian
Xác suất cache hit cao.
Bộ so sánh phức tạp.
Lê Văn Hiệp
45
Cache đươc chia thành các Tập (Set)
Mỗi một Set chứa một số Line
Ví dụ:
4 Line/Set 4-way associative mapping
Ánh xạ theo nguyên tắc sau:
B0 S0
B1 S1
B2 S2
......
Lê Văn Hiệp
ế ậ ạ ợ Ánh x liên k t t p h p
46
Lê Văn Hiệp
ế ậ ọ ợ ạ Minh h a ánh x liên k t t p h p
47
Kích thước Block = 2W Word
Trường Set có S bit dùng để xác định một
ế ậ ủ ể ạ ặ ợ Đ c đi m c a ánh x liên k t t p h p
trong số V = 2S Set
Trường Tag có T bit: T = N - (W+S)
Tổng quát cho cả hai phương pháp trên
Thông thường 2,4,8,16Lines/Set
Lê Văn Hiệp
48
Không phải lựa chọn
Mỗi Block chỉ ánh xạ vào một Line xác
ả ạ ự ế ế ậ Thu t gi i thay th (Ánh x tr c ti p)
định
Thay thế Block ở Line đó
Được thực hiện bằng phần cứng (nhanh)
Random: Thay thế ngẫu nhiên
FIFO (First In First Out): Thay thế Block
nào nằm lâu nhất ở trong Set đó
Lê Văn Hiệp
LFU (Least Frequently Used): Thay thế
Block nào trong Set có số lần truy nhập
ít nhất trong cùng một khoảng thời gian
LRU (Least Recently Used): Thay thế
Block ở trong Set tương ứng có thời gian
lâu nhất không được tham chiếu tới.
Tối ưu nhất: LRU
49
Ghi xuyên qua (Write-through):
ghi cả cache và cả bộ nhớ chính
tốc độ chậm
Ghi trả sau (Write-back):
chỉ ghi ra cache
tốc độ nhanh
khi Block trong cache bị thay thế cần phải
ươ Ph ữ ệ ng pháp ghi d li u khi cache hit
ghi trả cả Block về bộ nhớ chính
Lê Văn Hiệp
50
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
51
1. Đĩa từ
2. Đĩa quang
3. Flash disk
4. Các chuẩn nối ghép ổ đĩa
5. RAID
Lê Văn Hiệp
ớ ộ 6.3.5. B nh ngoài
52
1. Đĩa từ
2. Đĩa quang
3. Flash disk
4. Các chuẩn nối ghép ổ đĩa
Lê Văn Hiệp
ả ươ Tham kh o ch ng 4
53
Redundant Array of Independent Disks
Là tập hợp các ổ đĩa cứng vật lý mà hệ
5. RAID
điều hành coi như là một ổ đĩa logic duy nhất
Khi ghi lên hệ thống RAID, các tệp dữ
liệu được phân mảnh và lưu trữ phân tán trên các ổ cứng vật lý
Có khả năng tạo ra và lưu trữ thông tin dư thừa để đảm bảo khôi phục lại thông tin trong trường hợp ổ đĩa bị hỏng Lê Văn Hiệp
Có 7 loại phổ biến: RAID 0 6
54
Lê Văn Hiệp
RAID 3, 4
55
Lê Văn Hiệp
RAID 0, 1, 2
56
Lê Văn Hiệp
RAID 5, 6
57
Lê Văn Hiệp
ạ ữ ệ ủ Ánh x d li u c a RAID 0
58
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
59
Khái niệm bộ nhớ ảo: là bộ nhớ bao gồm bộ nhớ chính và bộ nhớ ngoài mà được CPU coi như là một bộ nhớ duy nhất.
Các kỹ thuật thực hiện bộ nhớ ảo:
Kỹ thuật phân trang: Chia không gian địa chỉ bộ nhớ thành các trang nhớ có kích thước bằng nhau và nằm liền kề nhau
ớ ả ộ 6.3.6. B nh o
Thông dụng: kích thước trang =
4KBytes
Kỹ thuật phân đoạn: Chia không gian nhớ
Lê Văn Hiệp
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.
60
6.3.1. Tổng quan hệ thống nhớ
6.3.2. Bộ nhớ bán dẫn
6.3.3. Bộ nhớ chính
6.3.4. Bộ nhớ cache
6.3.5. Bộ nhớ ngoài
6.3.6. Bộ nhớ ảo
6.3.7. Bộ nhớ trên máy tính cá nhân
Lê Văn Hiệp
ộ ớ B nh máy tính
61
1. Bộ nhớ Cache
2. RAM
3. ROM BIOS
4. CMOS RAM
5. Video RAM
6. Các loại bộ nhớ ngoài
Lê Văn Hiệp
ớ ộ 6.3.7. B nh trên máy tính cá nhân P.379