Kiến trúc máy tính - Chương 7: Bộ nhớ máy tính
ROM BIOS chứa các chương trình sau:
Chương trình POST (Power On Self Test)
Chương trình CMOS Setup
Chương trình Bootstrap loader
Các trình điều khiển vào-ra cơ bản (BIOS)
CMOS RAM:
Chứa thông tin cấu hình hệ thống
Đồng hồ hệ thống
Có pin nuôi riêng
Video RAM: quản lý thông tin của màn hình
Các loại bộ nhớ ngoài
99 trang |
Chia sẻ: tuanhd28 | Lượt xem: 3387 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính - Chương 7: Bộ nhớ máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NKK-HUT
26 May 2012 IT3030 1
Kiến trúc máy tính
Chương 7
BỘ NHỚ MÁY TÍNH
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
NKK-HUT
2 26 May 2012
Nộ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 3. Hệ thống máy tính
Chương 4. Kiến trúc tập lệnh
Chương 5. Số học máy tính
Chương 6. Bộ xử lý
Chương 7. Bộ nhớ
Chương 8. Vào-ra
Chương 9. Kiến trúc máy tính tiên tiến
IT3030 26 May 2012
NKK-HUT
26 May 2012 IT3030 3
7.1. Tổng quan về hệ thống nhớ
7.2. Bộ nhớ bán dẫn
7.3. Bộ nhớ chính
7.4. Bộ nhớ cache
7.5. Bộ nhớ ngoài
7.6. Bộ nhớ ảo
7.7. Hệ thống nhớ trên máy tính cá nhân
Nội dung của chương 7
NKK-HUT
26 May 2012 IT3030 4
7.1. Tổng quan về hệ thống nhớ
Vị trí
Bên trong CPU:
tập thanh ghi
Bộ nhớ trong:
bộ nhớ chính
bộ nhớ 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ớ
1. Các đặc trưng của hệ thống nhớ
NKK-HUT
26 May 2012 IT3030 5
Các đặc trưng của hệ thống nhớ (tiếp)
Đơn vị truyền
Từ nhớ
Khối nhớ
Phương pháp truy nhập
Truy nhập tuần tự (băng từ)
Truy nhập trực tiếp (các loại đĩa)
Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)
Truy nhập liên kết (cache)
NKK-HUT
26 May 2012 IT3030 6
Các đặc trưng của hệ thống nhớ (tiếp)
Hiệu năng (performance)
Thời gian truy nhậ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
NKK-HUT
26 May 2012 IT3030 7
Các đặc trưng của hệ thống nhớ (tiếp)
Các đặc tính vật lý
Khả biến / Không khả biến
(volatile / nonvolatile)
Xoá được / không xoá được
Tổ chức
NKK-HUT 2.1.2
2. Phân cấp hệ thống nhớ
26 May 2012 IT3030 8
NKK-HUT
26 May 2012 IT3030 9
Ví dụ hệ thống nhớ thông dụng
Bé vi xö lý
CPU
Bé
nhí
Cache
L1
TËp
thanh
ghi
Bé nhí
chÝnh
Bé nhí
ngoµi
Bé nhí
Cache
L2
Bé nhí
m¹ng
Từ trái sang phải:
dung lượng tăng dần
tốc độ giảm dần
giá thành/1bit giảm dần
NKK-HUT
26 May 2012 IT3030 10
3. Phát hiện và hiệu chỉnh lỗi trong bộ nhớ
Nguyên tắc chung: cần tạo ra và lưu trữ thêm
thông tin dư thừa.
Từ dữ liệu cần ghi vào bộ nhớ: m bit
Cần tạo ra và lưu trữ từ mã: k bit
Lưu trữ (m+k) bit
Khi đọc ra có các khả năng sau:
Không phát hiện thấy dữ liệu lỗi
Phát hiện thấy dữ liệu lỗi và có thể hiệu chỉnh dữ
liệu thành đúng
Phát hiện thấy lỗi nhưng không có khả năng hiệu
chỉnh cần phát ra tín hiệu báo lỗi.
NKK-HUT
26 May 2012 IT3030 11
Sơ đồ phát hiện và hiệu chỉnh lỗi
Bé nhíBé
t¹o m·
Bé
t¹o m·
Bé
so s¸nh
Bé
hiÖu chØnh
vµ ®-a
d÷ liÖu ra
D÷ liÖu vµo D÷ liÖu ra
k bit m·
TÝn hiÖu b¸o lçi
m bit m bitm bit
k
k
m bit k bit
NKK-HUT
26 May 2012 IT3030 12
Ví dụ mã sửa lỗi Hamming (m=4, k=3)
11
1
0 11
1
1
0
0
0
10
1
0
10
0
1
0
0
1
bit bÞ sai
NKK-HUT
26 May 2012 IT3030 13
7.2. Bộ nhớ bán dẫn
Kiểu bộ nhớ Tiêu
chuẩn
Khả năng xoá Cơ chế ghi Tính
khả biến
Read Only Memory
(ROM) Bộ nhớ
chỉ đọc
Không xoá
được
Mặt nạ
Không
khả biến
Programmable ROM
(PROM)
Bằng điện
Erasable PROM
(EPROM) Bộ nhớ
hầu như
chỉ đọc
bằng tia cực tím,
cả chip
Electrically Erasable
PROM (EEPROM)
bằng điện,
mức từng byte
Flash memory
Bộ nhớ
đọc-ghi
bằng điện,
từng khối
Random Access
Memory (RAM)
bằng điện,
mức từng byte
Bằng điện
Khả biến
1. Phân loại
NKK-HUT
26 May 2012 IT3030 14
ROM (Read Only Memory)
Bộ nhớ không khả biến
Lưu trữ các thông tin sau:
Thư viện các chương trình con
Các chương trình điều khiển hệ thống (BIOS)
Các bảng chức năng
Vi chương trình
NKK-HUT
26 May 2012 IT3030 15
Các kiểu ROM
ROM mặt nạ:
thông tin được ghi khi sản xuất
rất đắt
PROM (Programmable ROM)
Cần thiết bị chuyên dụng để ghi bằng chương
trình chỉ ghi được một lần
EPROM (Erasable PROM)
Cần thiết bị chuyên dụng để ghi bằng chương
trình ghi được nhiều lần
Trước khi ghi lại, xóa bằng tia cực tím
NKK-HUT
26 May 2012 IT3030 16
Các kiểu ROM (tiếp)
EEPROM (Electrically Erasable PROM)
Có thể ghi theo từng byte
Xóa bằng điện
Flash memory (Bộ nhớ cực nhanh)
Ghi theo khối
Xóa bằng điện
NKK-HUT
26 May 2012 IT3030 17
RAM (Random Access Memory)
Bộ nhớ đọc-ghi (Read/Write Memory)
Khả biến
Lưu trữ thông tin tạm thời
Có hai loại: SRAM và DRAM
(Static and Dynamic)
NKK-HUT
26 May 2012 IT3030 18
SRAM (Static) – RAM tĩnh
Các bit được lưu trữ bằng các Flip-Flop
thông tin ổn định
Cấu trúc phức tạp
Dung lượng chip nhỏ
Tốc độ nhanh
Đắt tiền
Dùng làm bộ nhớ cache
NKK-HUT
26 May 2012 IT3030 19
DRAM (Dynamic) – RAM động
Các bit được lưu trữ trên tụ điện
cần phải có mạch làm tươi
Cấu trúc đơn giản
Dung lượng lớn
Tốc độ chậm hơn
Rẻ tiền hơn
Dùng làm bộ nhớ chính
NKK-HUT 2.1.2
Các DRAM tiên tiến
Enhanced DRAM
Cache DRAM
Synchronous DRAM
(SDRAM): làm việc
được đồng bộ bởi xung
clock
DDR-SDRAM (Double
Data Rate SDRAM)
Rambus DRAM
(RDRAM)
26 May 2012 IT3030 20
NKK-HUT
26 May 2012 IT3030 21
2. Tổ chức của chip nhớ
Sơ đồ cơ bản của chip nhớ
Chip nhí
2n x m bit
A
0
A
n-1
A
1
D
0
D
m-1
D
1
CS
OEWE
.
.
.
.
.
.
NKK-HUT
26 May 2012 IT3030 22
Các tín hiệu của chip nhớ
Các đường địa chỉ: An-1 A0 có 2
n từ nhớ
Các đường dữ liệu: Dm-1 D0 độ dài từ
nhớ = m bit
Dung lượng chip nhớ = 2n x m bit
Các đường điều khiển:
Tín hiệu chọn chip CS (Chip Select)
Tín hiệu điều khiển đọc OE (Output Enable)
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)
NKK-HUT
26 May 2012 IT3030 23
Tổ chức bộ nhớ một chiều
Bé
gi¶i
m·
®Þa
chØ
Ma trËn nhí
2n x m bit
Tõ nhí 0
Bé
®Öm
d÷
liÖu
A
0
A
n-1
A
2
A
1
Tõ nhí 2n-1
Tõ nhí 2
Tõ nhí 1
D
0
D
m-1
D
1
§iÒu khiÓn vµ ®Þnh thêi gian
CS OEWE
.
.
.
.
.
.
.
.
.
NKK-HUT
26 May 2012 IT3030 24
Tổ chức bộ nhớ hai chiều
Bé
gi¶i
m·
®Þa
chØ
hµng
Ma trËn nhí
2n1 hµng x (2n2cét x m bit)
Bé
®Öm
d÷
liÖu
n1 bit
m bit
§iÒu khiÓn vµ ®Þnh thêi gian
CE OEWE
Bé gi¶i m· ®Þa chØ cét
n2 bit
Hµng nhí
Hµng nhí
Hµng nhí
.
.
.
. . .
NKK-HUT
26 May 2012 IT3030 25
Tổ chức bộ nhớ hai chiều
Có n đường địa chỉ: n = n1 + n2
2n1 hàng,
mỗi hàng có 2n2 từ nhớ,
Có m đường dữ liệu:
mỗi từ nhớ có độ dài m-bit.
Dung lượng của chip nhớ:
[2n1 x (2n2 x m)] bit = (2n1+n2 x m) bit = (2n x m) bit.
Hoạt động giải mã địa chỉ:
Bước 1: bộ giải mã hàng chọn 1 trong 2n1 hàng.
Bước 2: bộ giải mã cột chọn 1 trong 2n2 từ nhớ
(cột) của hàng đã được chọn.
NKK-HUT
26 May 2012 IT3030 26
Tổ chức của DRAM
Chèt
®Þa
chØ
hµng
Ma trËn nhí
2n hµng x (2ncét x m bit)
Bé
®Öm
d÷
liÖu
m
§iÒu khiÓn vµ ®Þnh thêi gian
CE OEWE
Bé gi¶i m· ®Þa chØ cét
n ®-êng d©y ®Þa chØ
Bé
gi¶i
m·
®Þa
chØ
hµng
Chèt ®Þa chØ cét
RAS
CAS
. . .
NKK-HUT
26 May 2012 IT3030 27
Tổ chức của DRAM
Dùng n đường địa chỉ dồn kênh cho
phép truyền 2n bit địa chỉ
Tín hiệu chọn địa chỉ hàng RAS
(Row Address Select)
Tín hiệu chọn địa chỉ cột CAS
(Column Address Select)
Dung lượng của DRAM= 22n x m bit
NKK-HUT
26 May 2012 IT3030 28
Chip nhớ
NKK-HUT
26 May 2012 IT3030 29
3. Thiết kế mô-đun nhớ bán dẫn
Dung lượng chip nhớ 2n x m bit
Cần thiết kế để tăng dung lượng:
Thiết kế tăng độ dài từ nhớ
Thiết kế tăng số lượng từ nhớ
Thiết kế kết hợp
NKK-HUT
26 May 2012 IT3030 30
Tăng độ dài từ nhớ
VD1:
Cho chip nhớ SRAM 4K x 4 bit
Thiết kế mô-đun nhớ 4K x 8 bit
Giải:
Dung lượng chip nhớ = 212 x 4 bit
chip nhớ có:
12 chân địa chỉ
4 chân dữ liệu
mô-đun nhớ cần có:
12 chân địa chỉ
8 chân dữ liệu
NKK-HUT
26 May 2012 IT3030 31
Ví dụ tăng độ dài từ nhớ
A
11
÷A
0
D
3
÷ D
0
CS
WE OE
CS
WE OE
A
11
÷A
0
D
3
÷ D
0
A
11
÷A
0
D
3
÷ D
0
D
7
÷ D
4
CS
WE
OE
NKK-HUT
26 May 2012 IT3030 32
Bài toán tăng độ dài từ nhớ tổng quát
Cho chip nhớ 2n x mbit
Thiết kế mô-đun nhớ 2n x (k.m) bit
Dùng k chip nhớ
NKK-HUT
26 May 2012 IT3030 33
Tăng số lượng từ nhớ
VD2:
Cho chip nhớ SRAM 4K x 8 bit
Thiết kế mô-đun nhớ 8K x 8 bit
Giải:
Dung lượng chip nhớ = 212 x 8 bit
chip nhớ có:
12 chân địa chỉ
8 chân dữ liệu
Dung lượng mô-đun nhớ = 213 x 8 bit
13 chân địa chỉ
8 chân dữ liệu
NKK-HUT
26 May 2012 IT3030 34
Tăng số lượng từ nhớ
G A Y0 Y1
0 0 0 1
0 1 1 0
1 x 1 1
A11÷A0
D7÷ D0
CS
WE OE
A11÷A0
D7÷ D0Bé
gi¶i m·
12
A
G
Y0
Y1
A12
A11÷A0
D7÷ D0
CS
WE OE
WE OE
NKK-HUT
26 May 2012 IT3030 35
Bài tập
1. Tăng số lượng từ gấp 4 lần:
Cho chip nhớ SRAM 4K x 8 bit
Thiết kế mô-đun nhớ 16K x 8 bit
2. Tăng số lượng từ gấp 8 lần:
Cho chip nhớ SRAM 4K x 8 bit
Thiết kế mô-đun nhớ 32K x 8 bit
3. Thiết kế kết hợp:
Cho chip nhớ SRAM 4K x 4 bit
Thiết kế mô-đun nhớ 8K x 8 bit
NKK-HUT
26 May 2012 IT3030 36
Bộ giải mã 24
Bé gi¶i m·
2 4
A
G
Y0
Y1
B
Y2
Y3
G B A Y0 Y1 Y2 Y3
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 x x 1 1 1 1
NKK-HUT
26 May 2012 IT3030 37
7.3. Bộ nhớ chính
1. Các đặc trưng cơ bản
Chứa các chương trình đang thực hiện và các
dữ liệu đang được sử dụng
Tồn tại trên mọi hệ thống máy tính
Bao gồm các ngăn nhớ được đánh địa chỉ trực
tiếp bởi CPU
Dung lượng của bộ nhớ chính nhỏ hơn không
gian địa chỉ bộ nhớ mà CPU quản lý.
Việc quản lý logic bộ nhớ chính tuỳ thuộc vào
hệ điều hành
NKK-HUT
26 May 2012 IT3030 38
2. Tổ chức bộ nhớ đan xen (interleaved memory)
Độ rộng của bus dữ liệu để trao đổi với
bộ nhớ: m = 8, 16, 32, 64,128 ... bit
Các ngăn nhớ được tổ chức theo byte
tổ chức bộ nhớ vật lý khác nhau
NKK-HUT
26 May 2012 IT3030 39
m=8bit một băng nhớ tuyến tính
6
5
4
3
2
1
0
. . .
. . .
A
N-1
- A
0
D7 - D0
i
NKK-HUT
26 May 2012 IT3030 40
m = 16bit hai băng nhớ đan xen
9
7
5
3
1
. . .
. . .
A
N-1
- A
1
D15 - D8
8
6
4
2
0
. . .
. . .
D7 - D0
2i2i+1
B¨ng 1 B¨ng 0
BE0BE1
Bé t¹o
tÝn hiÖu
chän
byte
A0
B
W
BE1
BE0
1
1
0
0
BE1
1
0
1
0
BE0
kh«ng chän
Chän byte thÊp
Chän byte cao
Chän c¶ hai byte
Chän byte
C¸c tÝn hiÖu chän byte
NKK-HUT
26 May 2012 IT3030 41
m = 32bit bốn băng nhớ đan xen
17
13
9
5
1
. . .
. . .
A
N-1
- A
2
D15 - D8
16
12
8
4
0
. . .
. . .
D7 - D0
BE1 BE0
4i4i+1
Bé t¹o
tÝn hiÖu
chän
byte
A0
B
W
BE1
19
15
11
7
3
. . .
. . .
D31-D24
18
14
10
6
2
. . .
. . .
D23-D16
BE3 BE2
4i+24i+3
A1
DW
BE0
BE2
BE3
b¨ng 3 b¨ng 2 b¨ng 1 b¨ng 0
NKK-HUT
26 May 2012 IT3030 42
m = 64bit tám băng nhớ đan xen
17
9
1
. . .
. . .
A
N-1
- A
3
D15 - D8
16
8
0
. . .
. . .
D7 - D0
BE1 BE0
8i8i+1
23
15
7
. . .
. . .
D63-D56
BE7
8i+7
b¨ng 7 b¨ng 1 b¨ng 0
. . .
NKK-HUT
26 May 2012 IT3030 43
7.4. Bộ nhớ đệm nhanh (cache memory)
1. Nguyên tắc chung của cache
Nguyên lý cục bộ hoá tham chiếu bộ
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
NKK-HUT
26 May 2012 IT3030 44
Nguyên tắc chung của cache (tiếp)
Cache có tốc độ nhanh hơn bộ nhớ chính
Cache được đặt giữa CPU và bộ nhớ chính
nhằm tăng tốc độ CPU truy cập bộ nhớ
Cache có thể được đặt trên chip CPU
cacheCPU Bé nhí chÝnh
TruyÒn theo tõ nhí TruyÒn theo block nhí
NKK-HUT 2.1.2
Lịch sử hình thành cache
Pentium, cache nằm trên mainboard
Pentium II, cache L1 nằm trên CPU, cache L2 nằm
trên mainboard. Tốc độ truy xuất cache bằng ½ tốc
độ CPU.
Pentium III Coppermine, cache L2 nằm trên chip. Tốc
độ cache L2 bằng với tốc độ CPU.
Cache L1 nằm trong core xử lý, on-chip
Cache L2, L3 nằm ngoài core, nhưng on-chip.
26 May 2012 IT3030 45
NKK-HUT 2.1.2
Hình ảnh về cache
26 May 2012 IT3030 46
Cache chiếm
nhiều diện tích
AMD Athlon
Intel Quad Core Intel Core i7
Intel Pentium 5 AMD Quad Core
NKK-HUT
26 May 2012 IT3030 47
Ví dụ về thao tác của cache
CPU yêu cầu nội dung của ngăn nhớ
CPU kiểm tra trên cache với dữ liệu này
Nếu có, CPU nhận dữ liệu từ cache
(nhanh)
Nếu không có, đọc Block nhớ chứa dữ
liệu từ bộ nhớ chính vào cache
Tiếp đó chuyển dữ liệu từ cache vào
CPU
NKK-HUT
26 May 2012 IT3030 48
Cấu trúc chung của cache / bộ nhớ chính
L
0
CPU
L
1
L
2
L
3
L
i
L
m-1
B
0
B
1
B
2
B
3
B
j
B
P-1
CacheTag
Bé nhí chÝnh
. . .
. . .
. . .
. . .
NKK-HUT
26 May 2012 IT3030 49
Cấu trúc chung của cache / bộ nhớ chính (tiếp)
Bộ nhớ chính có 2N byte nhớ
Bộ nhớ chính và cache được chia thà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
NKK-HUT
26 May 2012 IT3030 50
Cấu trúc chung của cache / bộ nhớ chính (tiếp)
Một số Block của bộ nhớ chính được
nạp 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
miss).
NKK-HUT
26 May 2012 IT3030 51
2. Các phương pháp ánh xạ
(Chính là các phương pháp tổ chức bộ
nhớ cache)
Ánh xạ trực tiếp
(Direct mapping)
Ánh xạ liên kết toàn phần
(Fully associative mapping)
Ánh xạ liên kết tập hợp
(Set associative mapping)
NKK-HUT
26 May 2012 IT3030 52
Ánh xạ trực tiếp
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
....
Tổng quát
Bj chỉ có thể nạp vào L j mod m
m là số Line của cache.
NKK-HUT
26 May 2012 IT3030 53
Minh hoạ ánh xạ trực tiếp
Tag
CacheTag Bé nhí chÝnh
. . .
. . .
Line Word
N bit ®Þa chØ bé nhí
T bit L bit W bit
So s¸nh
cache hit
L
0
L
1
L
i
L
m-1
cache miss
. . .
. . .
B
0
B
1
B
j
B
m-1
XX
NKK-HUT
26 May 2012 IT3030 54
Đặc điểm của ánh xạ trực tiếp
Mỗi một địa chỉ N bit của bộ nhớ chính 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:
T = N - (W+L)
Bộ so sánh đơn giản
Xác suất cache hit thấp
NKK-HUT
26 May 2012 IT3030 55
Ánh xạ liên kết toàn phần
Mỗi Block có thể nạp vào bất kỳ Line
nào 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 đó
NKK-HUT
26 May 2012 IT3030 56
Minh hoạ ánh xạ liên kết toàn phần
Tag
CacheTag Bé nhí chÝnh
. . .
. . .
Word
N bit ®Þa chØ bé nhí
T bit W bit
So s¸nh
cache hit
L
0
L
1
L
i
L
m-1
cache miss
. . .
. . .
B
0
B
1
B
j
B
m-1
X
X
NKK-HUT
26 May 2012 IT3030 57
Đặc điểm của ánh xạ liên kết toàn phần
So sánh đồng thời với tất cả các Tag
mất nhiều thời gian
Xác suất cache hit cao.
Bộ so sánh phức tạp.
NKK-HUT
26 May 2012 IT3030 58
Ánh xạ liên kết tập hợp
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
.......
NKK-HUT
26 May 2012 IT3030 59
Minh hoạ ánh xạ liên kết tập hợp
Tag
CacheTag Bé nhí chÝnh
. . .
Set Word
N bit ®Þa chØ bé nhí
T bit S bit W bit
So s¸nh
cache hit
S
0
S
1
S
k
S
v-1
cache miss
XX
L0
L1
L2
L3
L4
L5
L6
L7
. . .
. . .
B0
B1
B2
B3
B4
B5
. . .
NKK-HUT
26 May 2012 IT3030 60
Đặc điểm của ánh xạ liên kết tập hợp
Kích thước Block = 2W Word
Trường Set có S bit dùng để xác định
một 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
NKK-HUT
26 May 2012 IT3030 61
Ví dụ về ánh xạ địa chỉ
Không gian địa chỉ bộ nhớ chính = 4GB
Dung lượng bộ nhớ cache là 256KB
Kích thước Line (Block) = 32byte.
Xác định số bit của các trường địa chỉ
cho ba trường hợp tổ chức:
Ánh xạ trực tiếp
Ánh xạ liên kết toàn phần
Ánh xạ liên kết tập hợp 4 đường
NKK-HUT
26 May 2012 IT3030 62
Với ánh xạ trực tiếp
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Cache = 256 KB = 218 byte.
Line = 32 byte = 25 byte W = 5 bit
Số Line trong cache = 218/ 25 = 213 Line
L = 13 bit
T = 32 - (13 + 5) = 14 bit
Tag
14 bit
Line
13 bit
Word
5 bit
NKK-HUT
26 May 2012 IT3030 63
Với ánh xạ liên kết toàn phần
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Line = 32 byte = 25 byte W = 5 bit
Số bit của trường Tag sẽ là: T = 32 - 5 = 27 bit
Tag
27 bit
Word
5 bit
NKK-HUT
26 May 2012 IT3030 64
Với ánh xạ liên kết tập hợp 4 đường
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Line = 32 byte = 25 byte W = 5 bit
Số Line trong cache = 218/ 25 = 213 Line
Một Set có 4 Line = 22 Line
số Set trong cache = 213/ 22 = 211 Set
S = 11 bit
Số bit của trường Tag sẽ là: T = 32 - (11 + 5)
= 16 bit
Tag
16 bit
Set
11 bit
Word
5 bit
NKK-HUT
26 May 2012 IT3030 65
Bài tập
Giả thiết rằng máy tính có 128KB cache tổ
chức theo kiểu ánh xạ liên kết tập hợp 4-line.
Cache có tất cả là 1024 Set từ S0 đến
S1023. Địa chỉ bộ nhớ chính là 32-bit và đánh
địa chỉ cho từng byte.
a) Tính số bit cho các trường địa chỉ khi truy
nhập cache ?
b) Xác định byte nhớ có địa chỉ 003D02AF(16)
được ánh xạ vào Set nào của cache ?
NKK-HUT
26 May 2012 IT3030 66
3. Thuật giải thay thế (1): Ánh xạ trực tiếp
Không phải lựa chọn
Mỗi Block chỉ ánh xạ vào một Line xác
định
Thay thế Block ở Line đó
NKK-HUT
26 May 2012 IT3030 67
Thuật giải thay thế (2): Ánh xạ liên kết
Đượ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 đó
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
NKK-HUT
26 May 2012 IT3030 68
4. Phương pháp ghi dữ liệu khi cache hit
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
ghi trả cả Block về bộ nhớ chính
NKK-HUT
26 May 2012 IT3030 69
5. Cache trên các bộ xử lý Intel
80486: 8KB cache L1 trên chip
Pentium: có hai cache L1 trên chip
Cache lệnh = 8KB
Cache dữ liệu = 8KB
Pentium 4 (2000): hai mức cache L1 và L2
trên chip
Cache L1:
mỗi cache 8KB
Kích thước Line = 64 byte
ánh xạ liên kết tập hợp 4 đường
cache L2
256KB
Kích thước Line = 128 byte
ánh xạ liên kết tập hợp 8 đường
NKK-HUT
26 May 2012 IT3030 70
Sơ đồ Pentium 4
NKK-HUT
26 May 2012 IT3030 71
PowerPC G4 (dùng cho Power Mac)
NKK-HUT
26 May 2012 IT3030 72
7.5. Bộ nhớ ngoài
1. Các kiểu bộ nhớ ngoài
Băng từ
Đĩa từ
Đĩa quang
Bộ nhớ Flash
NKK-HUT
26 May 2012 IT3030 73
2. Đĩa từ
NKK-HUT
26 May 2012 IT3030 74
Các đặc tính đĩa từ
Đầu từ cố định hay đầu từ di động
Đĩa cố định hay thay đổi
Một mặt hay hai mặt
Một đĩa hay nhiều đĩa
Cơ chế đầu từ
Tiếp xúc (đĩa mềm)
Không tiếp xúc
NKK-HUT
26 May 2012 IT3030 75
Nhiều đĩa
NKK-HUT
26 May 2012 IT3030 76
Cylinders
NKK-HUT
26 May 2012 IT3030 77
Đĩa mềm
8”, 5.25”, 3.5”
Dung lượng nhỏ: chỉ tới 1.44Mbyte
Tốc độ chậm
Hiện nay không sản xuất nữa
NKK-HUT
26 May 2012 IT3030 78
Đĩa cứng
Một hoặc nhiều đĩa
Thông dụng
Dung lượng tăng lên rất nhanh
1993: 200MB
2003: 30GB, 40GB
2009: 160GB, 320GB
Tốc độ đọc/ghi nhanh
Rẻ tiền
NKK-HUT
26 May 2012 IT3030 79
RAID
Redundant Array of Inexpensive Disks
Redundant Array of Independent Disks
Hệ thống nhớ dung lượng lớn
NKK-HUT
26 May 2012 IT3030 80
Đặc điểm của RAID
Tập các đĩa cứng vật lý được OS coi như
một ổ logic duy nhất dung lượng lớn
Dữ liệu được lưu trữ phân tán trên các ổ
đĩa vật lý truy cập song song (nhanh)
Có thể sử dụng dung lượng dư thừa để
lưu trữ các thông tin kiểm tra chẵn lẻ, cho
phép khôi phục lại thông tin trong trường
hợp đĩa bị hỏng an toàn thông tin
7 loại phổ biến (RAID 0 – 6)
NKK-HUT
26 May 2012 IT3030 81
RAID 0, 1, 2
NKK-HUT
26 May 2012 IT3030 82
RAID 3 & 4
NKK-HUT
26 May 2012 IT3030 83
RAID 5 & 6
NKK-HUT
26 May 2012 IT3030 84
Ánh xạ dữ liệu của RAID 0
NKK-HUT
26 May 2012 IT3030 85
3. Đĩa quang
CD-ROM (Compact Disk ROM)
CD-R (Recordable CD)
CD-RW (Rewriteable CD)
Dung lượng thông dụng 650MB
Ổ đĩa CD:
Ổ CD-ROM
Ổ CD-Writer: Ghi một phiên hoặc ghi nhiều
phiên
Ổ CD-RW
Tốc độ đọc cơ sở 150KByte/s.
Tốc độ bội, ví dụ: 48x, 52x,...
NKK-HUT
26 May 2012 IT3030 86
3. Đĩa quang (tiếp)
DVD
Digital Video Disk: chỉ dùng trên ổ đĩa
xem video
Digital Versatile Disk: ổ trên máy tính
Ghi một hoặc hai mặt
Một hoặc hai lớp trên một mặt
Thông dụng: 4,7GB/lớp
NKK-HUT
26 May 2012 IT3030 87
4. Flash Disk
Thường kết nối qua cổng USB
Không phải dạng đĩa
Bộ nhớ bán dẫn cực nhanh (flash memory)
Dung lượng tăng nhanh
Thuận tiện
NKK-HUT
26 May 2012 IT3030 88
7.6. Bộ nhớ ảo (Virtual Memory)
Khái niệm bộ nhớ ảo: gồm bộ nhớ
chính và bộ nhớ ngoài mà được CPU
coi như là một bộ nhớ duy nhất (bộ nhớ
chính).
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
Thông dụng: kích thước trang = 4KBytes
Kỹ thuật phân đoạn: Chia không gian nhớ
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.
NKK-HUT
26 May 2012 IT3030 89
Phân trang
Phân chia bộ nhớ thành các phần có kích
thước bằng nhau gọi là các khung trang
Chia chương trình (tiến trình) thành các trang
Cấp phát số hiệu khung trang yêu cầu cho
tiến trình
HĐH duy trì danh sách các khung trang nhớ
trống
Tiến trình không yêu cầu các khung trang liên
tiếp
Sử dụng bảng trang để quản lý
NKK-HUT
26 May 2012 IT3030 90
Cấp phát các khung trang
NKK-HUT
26 May 2012 IT3030 91
Địa chỉ logic và địa chỉ vật lý của phân trang
NKK-HUT
26 May 2012 IT3030 92
Nguyên tắc làm việc của bộ nhớ ảo phân trang
Phân trang theo yêu cầu
Không yêu cầu tất cả các trang của tiến trình nằm
trong bộ nhớ
Chỉ nạp vào bộ nhớ những trang được yêu cầu
Lỗi trang
Trang được yêu cầu không có trong bộ nhớ
HĐH cần hoán đổi trang yêu cầu vào
Có thể cần hoán đổi một trang nào đó ra để lấy
chỗ
Cần chọn trang để đưa ra
NKK-HUT
26 May 2012 IT3030 93
Thất bại
Quá nhiều tiến trình trong bộ nhớ quá nhỏ
HĐH tiêu tốn toàn bộ thời gian cho việc hoán
đổi
Có ít hoặc không có công việc nào được thực
hiện
Đĩa luôn luôn sáng
Giải pháp:
Thuật toán thay trang
Giảm bớt số tiến trình đang chạy
Thêm bộ nhớ
NKK-HUT
26 May 2012 IT3030 94
Lợi ích
Không cần toàn bộ tiến trình nằm trong
bộ nhớ để chạy
Có thể hoán đổi trang được yêu cầu
Như vậy có thể chạy những tiến trình
lớn hơn tổng bộ nhớ sẵn dùng
Bộ nhớ chính được gọi là bộ nhớ thực
Người dùng cảm giác bộ nhớ lớn hơn
bộ nhớ thực
NKK-HUT
26 May 2012 IT3030 95
Cấu trúc bảng trang
NKK-HUT
26 May 2012 IT3030 96
Translation Lookaside Buffer
Mỗi tham chiếu bộ nhớ ảo gây ra hai
truy cập bộ nhớ vật lý
Tìm điểm vào của bảng trang
Tìm dữ liệu
Sử dụng cache đặc biệt cho bảng trang
TLB
NKK-HUT
26 May 2012 IT3030 97
7.7. Hệ thống nhớ trên PC hiện nay
Bộ nhớ cache: tích hợp trên chip vi
xử lý
Bộ nhớ chính: Tồn tại dưới dạng các
mô-đun nhớ RAM
SIMM – Single Inline Memory Module
30 chân: 8 đường dữ liệu
72 chân: 32 đường dữ liệu
DIMM – Dual Inline Memory Module
64 đường dữ liệu
RIMM – Rambus DRAM
NKK-HUT
26 May 2012 IT3030 98
Hệ thống nhớ trên PC (tiếp)
ROM BIOS chứa các chương trình sau:
Chương trình POST (Power On Self Test)
Chương trình CMOS Setup
Chương trình Bootstrap loader
Các trình điều khiển vào-ra cơ bản (BIOS)
CMOS RAM:
Chứa thông tin cấu hình hệ thống
Đồng hồ hệ thống
Có pin nuôi riêng
Video RAM: quản lý thông tin của màn hình
Các loại bộ nhớ ngoài
NKK-HUT
26 May 2012 IT3030 99
Hết chương 7
Các file đính kèm theo tài liệu này:
- ca7_5913.pdf