KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH (Computer Organization and Architecture)
Chương 4 Bộ nhớ máy tính
bangtqh@utc2.edu.vn
Nội dung
1. Tổng quan về hệ thống nhớ – Đặc trưng của hệ thống nhớ – Phân cấp hệ thống nhớ
2. Bộ nhớ bán dẫn
– Phân loại – Tổ chức chip nhớ – Thiết kế module nhớ bán dẫn
3. Bộ nhớ chính 4. Bộ nhớ đệm nhanh
– Nguyên tắc chung của cache – Các phương pháp ánh xạ
5. Bộ nhớ ngoài
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 2
4.1. Tổng quan về hệ thống nhớ
(cid:1) Các đặc trưng của hệ thống nhớ
– Vị trí (location)
• Bên trong Bộ xử lý: Các thanh ghi • Bộ nhớ trong: Bộ nhớ chính; Bộ nhớ cache • Bộ nhớ ngoài: Đĩa từ, băng từ, Đĩa quang
– Dung lượng (capacity)
• Độ dài ngăn nhớ (tính bằng bit: 16 bit, 32 bit, 64bit) • Số lượng ngăn nhớ
– Đơn vị truyền (unit of transfer) • Truyền theo từ nhớ (word) • Truyền theo khối nhớ (block)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 3
4.1. Tổng quan về hệ thống nhớ (tt)
(cid:1) Các đặc trưng (tiếp)
– Phương pháp truy nhập (access method)
• Truy nhập tuần tự (băng từ)
• Truy nhập trực tiếp (đĩa từ, đĩa quang)
• Truy nhập ngẫu nhiên (bộ nhớ trong)
• Truy nhập liên kết (bộ nhớ cache)
– Kiểu vật lý của bộ nhớ (physical type)
• Bộ nhớ bán dẫn
• Bộ nhớ từ: băng từ và đĩa từ
• Bộ nhớ quang: đĩa quang
– Các đặc trưng vật lý (physical characteristics)
• Bộ nhớ khả biến / không khả biến
• Bộ nhớ xóa được / không xóa được
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 4
4.1. Tổng quan về hệ thống nhớ (tt)
(cid:1) Các đặc trưng (tiếp)
– Hiệu năng
• Thời gian truy nhập • Chu kỳ nhớ • Tốc độ truyền
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 5
Phân cấp hệ thống nhớ
Bộ xử lý
Bộ nhớ mạng
Cache L1
Cache L2
Bộ nhớ chính
Tập thanh thi
Bộ nhớ ngoài
(cid:1) Từ trái sang phải: (cid:2) Dung lượng tăng dần (cid:2) Tốc độ trao đổi dữ liệu giảm dần (cid:2) Giá thành /1 bit giảm dần (cid:2) Tần xuất truy cập bởi CPU giảm dần (cid:2) Mức trái chứa 1 phần dữ liệu của mức phải
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 6
4.2. Bộ nhớ bán dẫn (cid:1) Phân loại bộ nhớ bán dẫn
Mặt nạ
Read Only Memory (ROM)
Bộ nhớ chỉ đọc
Không xóa được
Programmable ROM (PROM)
Không
Bằng tia cực tím
Erasable PROM (EPROM)
Hầu như chỉ đọc
Electrically Erasable PROM (EEPROM)
Bằng điện từng byte
Flash memory
Bằng điện từng khối
Bằng điện
Bộ nhớ Đọc-Ghi
Có
Random Access Memory (RAM)
Bằng điện từng byte
Khả biến Kiểu bộ nhớ Tiêu chuẩn Khả năng xóa Cơ chế ghi
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 7
ROM (Read Only Memory)
(cid:1) Bộ nhớ không khả biến (cid:1) Lưu trữ các thông tin:
– Thư viện các chương trình con – Các chương trình điều kiển hệ thống – Các bảng chức năng – Vi chương trình
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 8
Các kiểu ROM
(cid:1)ROM mặt nạ (ROM cố định):
– Thông tin được ghi ngay khi sản xuất – Rất đắt
(cid:1)PROM (Programmble ROM): – Khi sản xuất chưa ghi dữ liệu – Cần thiết bị chuyên dùng để ghi bằng chương trình, chỉ ghi
được một lần
(cid:1)EPROM (Erasable PROM): – Khi sản xuất chưa ghi dữ liệu – 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, phải xóa bằng tia cực tím
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 9
Các kiểu ROM (tt)
(cid:1)EEPROM (Electrically Erasable PROM):
– Có thể ghi theo từng byte – Xóa bằng điện – Ghi lâu hơn đọc
(cid:1)Flash memory (bộ nhớ cực nhanh)
– Ghi theo khối – Xóa bằng điện
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 10
RAM (Random Access Memory)
(cid:1) Bộ nhớ đọc / ghi (cid:1) Khả biến (cid:1) Lưu trữ thông tin tạm thời (cid:1) Có hai loại RAM:
– SRAM (Static RAM) – DRAM (Dynamic RAM)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 11
Các kiểu RAM (tt) (cid:1) SRAM (Ram tĩnh)
– Các bit được lưu trữ bằng các Flip-Flop – Không cần mạch làm tươi – Cấu trúc phức tạp hơn DRAM – Dung lượng nhỏ – Tốc độ nhanh hơn DRAM – Đắt hơn DRAM – Dùng làm bộ nhớ cache
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 12
Các kiểu RAM
(cid:1) DRAM (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 SRAM – Rẻ hơn SRAM – Dùng làm bộ nhớ chính
(cid:1) DRAM có nhiều loại
– SDR DRAM (Single Data Rate DRAM) – DDR DRAM (Double Data Rate DRAM)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 13
Các kiểu DRAM
(cid:1) SD DRAM (Single Data Rate DRAM) – Truy xuất đồng bộ với xung đồng hồ (cid:1) DDR DRAM (Double Data Rate SDRAM)
– DDR2 – DDR3
(cid:1) RDRAM (Rambus DRAM)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 14
Tổ chức chip nhớ
§iÒu khiÓn
§iÒu khiÓn
Chän
D÷ liÖu vµo
Chän
D÷ liÖu ra
¤ nhí
¤ nhí
a) Ghi
b) §äc
(cid:1) Ô nhớ là phần tử nhớ được 1 bit thông tin (cid:1) Các tín hiệu:
• Tín hiệu chọn được gửi đến để chọn ô nhớ • Tín hiệu điều khiển chỉ thị việc ghi hay đọc • Tín hiệu thứ ba là đường dữ liệu
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 15
Tổ chức chip nhớ (tt) (cid:1) Sơ đồ cơ bản của chip nhớ
A0
D0
A1
D1
Chip nhớ 2n x m bit
. . . .
An - 1
. . . .
CS
Dm - 1
RD
WR
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 16
Các tín hiệu của chip nhớ
→ có 2n ngăn nhớ.
→ độ dài ngăn nhớ là
(cid:1) Các đường địa chỉ: A0 (cid:1) Các đường dữ liệu: D0
÷ An - 1 ÷ Dm - 1
m bit.
(cid:1) Dung lượng chip nhớ = 2n x m bit (cid:1) 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: RD / OE – Tín hiệu điều khiển ghi: WR / WE
(cid:1) Các tín hiệu tích cực ở mức 0
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 17
Tổ chức của DRAM
(cid:1) Dùng n đường địa chỉ dồn kênh → cho phép truyền
2n bit địa chỉ
(cid:1) Tín hiệu chọn địa chỉ hàng RAS (Row Address
Select)
(cid:1) Tín hiệu chọn địa chỉ cột CAS (Column Address
Select)
(cid:1) Dung lượng của DRAM: 22n x m bit
(cid:1) Ví dụ
– DRAM có 14 chân địa chỉ dồn kênh, 8 chân dữ liệu (cid:3) dung lượng = 228 x 8 bit = 28 x 220 x 8 = 256 MB x 8 bit
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 18
VD: chip 16MB DRAM (4M x 4 bit)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 19
Các chip nhớ (nhìn bên ngoài)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 20
Thiết kế modul nhớ bán dẫn
(cid:1) Dung lượng chip nhớ là 2n x m bit (cid:1) Cần thiết kế để tăng dung lượng: – Tăng độ dài từ nhớ (tăng m) – Tăng số lượng ngăn nhớ (tăng n) – Kết hợp cả hai loại (tăng m và n)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 21
Thiết kế tăng độ dài từ nhớ
Ví dụ 1 (cid:1) Cho chip nhớ SRAM 4K x 4 bit (cid:1) Hãy thiết kế module nhớ 4K x 8 bit
Giải (cid:1) Chip nhớ 4K x 4 bit = 4 x 210 x 4 bit = 212 x 4 bit (cid:1) Chip nhớ có
– 12 đường địa chỉ – 4 đường dữ liệu
(cid:1) Module nhớ cần thiết kế có
– 12 đường địa chỉ – 8 đường dữ liệu
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 22
Ví dụ 1 (tiếp)
Khi CS = 0 (cid:3) cả 2 chip cùng làm việc WE, OE chung nhau (cid:3) Cả 2 chip cùng ghi, cùng đọc
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 23
Thiết kế tăng độ dài từ nhớ (tt)
Ví dụ 2 (cid:1) Cho chip nhớ SRAM 8K x 8 bit (cid:1) Hãy thiết kế module nhớ 8K x 32 bit
Giải: ??? (cid:1) Chip nhớ 8K x 8 bit = 810 x 8 bit = 213 x 8 bit (cid:1) Chip nhớ sẽ có
– 13 đường địa chỉ – 8 đường dữ liệu
(cid:1) Module nhớ cần thiết kế có
– 13 đường địa chỉ – 32 đường dữ liệu
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 24
Tăng độ dài từ nhớ tổng quát
(cid:1) Cho chip 2n x m bit (cid:1) Thiết kế module nhớ 2n x (k.m) bit (cid:1) Giải:
– Dùng k chip nhớ 2n x m – Các đường CS, WE, OE đấu chung tất cả các chip – Đường dữ liệu mỗi chip sẽ chiếp 1 đoạn trong chip kết
quả
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 25
Thiết kế tăng số lượng ngăn nhớ
Ví dụ 3: (cid:1) Cho chip nhớ SRAM 4K x 8 bit (cid:1) Hãy thiết kế module nhớ 8K x 8 bit
Giải (cid:1) Chip nhớ 4K x 8 bit = 4 x 210 x 8 bit = 212 x 8 bit (cid:1) Chip nhớ có
– 12 đường địa chỉ – 8 đường dữ liệu
(cid:1) Module nhớ cần thiết kế có dung lượng = 213 x 8 bit
– 13 đường địa chỉ – 8 đường dữ liệu
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 26
Ví dụ 3 (tt)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 27
Tăng số lượng ngăn nhớ tổng quát
(cid:1) Cho chip nhớ 2n x m bit (cid:1) Hãy thiết kế module nhớ 2k+n x m bit
Giải:
Ghép nối 2k chip và dùng bộ giải mã k:2k (k(cid:3)2k)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 28
Bộ giải mã 2(cid:3)4 và 3(cid:3) 8
A B C
Y0 Y1 Y2 Y3
Y4 Y5 Y6 Y7
CS
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 29
Bài tập thiết kế module nhớ
1. Tăng số lượng từ nhớ gấp 4 lần – Cho chip nhớ SRAM 4K x 8 bit – Thiết kế module nhớ 16K x 8 bit
2. Tăng số lượng từ nhớ gấp 8 lần – Cho chip nhớ SRAM 4K x 8 bit – Thiết kế module nhớ 32K x 8 bit
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 30
Thiết kế module nhớ tăng hỗn hợp
(cid:1) Tăng cả về số lượng ngăng nhớ và độ dài từ nhớ Ví dụ:
– Cho chip nhớ SRAM: 8K x 4 bit – Hãy thiết kế modul nhớ 16K x 8 bit
Giải:
– Dung lượng chip nhớ: 213 x 4 bit – Chip nhớ có: 13 đường địa chỉ (A0
÷ A12), 4 đường dữ
liệu (D0
÷ D3)
– Modul nhớ cần có: 14 đường địa chỉ (A0
÷ A13), 8 đường
dữ liệu (D0
÷ D7)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 31
Ví dụ (tt)
A12
÷A0
A0
A0
D7
÷D0
÷A12 D3
÷D0
÷A12 D0
÷D3
CS
CS
A13
WE OE
WE OE
A Y0
CS
A0
A0
G Y1
D7
÷D0
÷A12 D3
÷D0
÷A12 D0
÷D3
CS
CS
WE OE
WE OE
WE OE
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 32
Lời giải tổng quát
(cid:1) Bài toán tăng số lượng và độ dài tổng quát:
– Cho chip nhớ 2n x m bit – Cần ghép nối modul nhớ: 2p+n x (q.m) bit
⇒ Cần ghép nối q.2p chip thành 2p bộ, mỗi bộ q chip và phải dùng bộ giải mã p: 2p (p → 2p)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 33
Bài tập
(cid:1) Cho chip nhớ SRAM 4K x 4 bit (cid:1) Hãy thiết kế module nhớ 8K x 8 bit
Làm ra giấy và nộp lại vào cuối buổi
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 34
4.3. Bộ nhớ chính (cid: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
– Được đánh địa chỉ trực tiếp bởi CPU: có nhiều ngăn
nhớ, mỗi ngăn nhớ được gán một địa chỉ xác định
– Việc quản lý logic BNC tùy thuộc vào từng HĐH
– Về nguyên tắc, người lập trình có thể can thiệp trực
tiếp vào toàn bộ BNC của máy tính
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 35
4.3. Bộ nhớ chính (tt) (cid:1) Tổ chức bộ nhớ đan xen
– Độ rộng của bus dữ liệu để trao đổi với bộ nhớ thường
là bội số của 2 (m = 8, 16, 32, 64, ... bit)
– Các ngăn nhớ tổ chức theo byte (cid:3) tổ chức vật lý khác
nhau. Ví dụ: m= 8 bit (cid:3) 1 băng nhớ tuyến tính
Địa chỉ
Bank nhớ
0 1 2 3
. . . . .
n
D7 ÷ D0
Bus hệ thống
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 36
m = 16 bit (cid:3) 2 băng nhớ đan xen
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 37
m = 32 bit, 4 băng đan xen
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 38
m=64 bit, 8 băng nhớ đan xen
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 39
4.4. Bộ nhớ đệm nhanh (cache)
(cid:1)Nguyên tắc chung (cid:1)Các kỹ thuật ánh xạ địa chỉ (cid:1)Các thuật toán thay thế (cid:1)Hoạt động của cache (cid:1)Bài tập
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 40
Nguyên tắc chung
(cid:1) Cache có tốc độ nhanh hơn bộ nhớ chính (cid:1) Cache được đặt giữa CPU và bộ nhớ chính nhằm
tăng tốc độ truy nhập bộ nhớ của CPU (cid:1) Cache có thể được đặt trên chip CPU
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 41
Ví dụ về thao tác của cache (cid:1) CPU yêu cầu nội dung của ngăn nhớ
(cid:1) CPU kiểm tra trên cache với dữ liệu này cần truy xuất
– Nếu có: CPU nhận dữ liệu từ cache – Nếu không có: Đọc Block nhớ chứa dữ liệu từ bộ nhớ chính vào cache (cid:3) tiếp theo truyền dữ liệu từ cache vào CPU
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 42
Các khái niệm
(cid:1)Cache hit, cache miss:
– Cache hit (trúng cache): khi CPU truy nhập một
từ nhớ mà từ nhớ đó đang có trong cache.
– Cache miss (trượt cache): khi CPU truy nhập từ nhớ mà từ nhớ đó không có trong
một cache.
(cid:1)Nguyên lý định vị tham số bộ nhớ:
– Định vị về thời gian: Một mục thông tin vừa được truy nhập thì có xác suất lớn là ngay sau đó nó được truy nhập lại.
– Đinh vị về không gian: Một mục thông tin vừa được truy nhập thì có xác suất lớn là ngay sau đó các mục lân cận sẽ được truy nhập.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 43
Cấu trúc chung của cache
(cid:1) Trao đổi thông tin giữa Cache và BNC: – BNC được chia thành các Block nhớ – Cache được chia thành các Line nhớ – Kích thước Line bằng kích thước Block
⇒ Số lượng Line << Số lượng Block của BNC
(cid:1) Mỗi Line trong cache được gắn thêm một Tag để xác
định Block nào (của BNC) đang ở trong Line
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 44
Cấu trúc chung của cache (tt)
(cid:1) Một số block của bộ nhớ chính được nạp vào các
Line của cache
(cid:1) Nội dung Tag sẽ cho biết block nào của BNC đang
được chứa ở line đó
(cid:1) Khi CPU truy cập (đọc/ghi) một từ nhớ có 2 khả năng
xảy ra: – Từ nhớ có trong cache (cache hit) – Từ nhớ không có trong cache (cache miss)
(cid:1) Vì số Line của cache ít hơn số block của BNC nên cần có một giải thuật ánh xạ dữ liệu từ BNC vào cache
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 45
Cấu trúc chung của cache (tt)
Tag
D÷ liÖu
BXL
L0 L1 . . . . Lm-2 Lm-1
B0 B1 B2 . . . . . . . . . .
Bé nhí cache
Bp-2 Bp-1
Bé nhí chÝnh
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 46
Các kỹ thuật ánh xạ địa chỉ BNC(cid:3)Cache
(cid:1) Ánh xạ trực tiếp (direct mapping)
(cid:1) Ánh xạ liên kết toàn phần (fully associative mapping)
(cid:1) Ánh xạ liên kết tập hợp (set associative mapping)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 47
Ánh xạ trực tiếp (direct mapping)
(cid:1) Mỗi Block của BNC chỉ được ánh xạ vào một Line duy
nhất:
i = j mod m
– i: số hiệu Line của Block khi ánh xạ vào trong cache – j: số hiệu Block trong BNC – m: số lượng Line trong cache
. . . . . .
→ L0 → L1
Bm Bm+1
→ L0 → L1
. . .
(cid:1) Cụ thể: – B0 – B1 – . . . – Bm-1
→ Lm-1
B2m-1
→ Lm-1 . . .
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 48
Ánh xạ trực tiếp (tt)
(cid:1) Như vậy:
L0 : B0, Bm, B2m, ..., Bnm L1 : B1, Bm+1, B2m+1, ..., Bnm+1 . . . . . . . Lm-1: Bm-1, B2m-1, B3m-1, ..., B(n+1)m-1 (cid:1) Khi đó: Địa chỉ CPU phát ra gồm 3 thông tin
– Số hiệu ô nhớ trong Block (nằm trong Line của cahe) – Số hiệu Line trong cache – Số hiệu của Block nào đang nằm trong cache
Tag
Line
Word
n3 bit
n2 bit
n1 bit
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 49
Ánh xạ trực tiếp (tt)
Tag
Line
Word
n3 bit
n2 bit
n1 bit
(cid:4) Word: xác định byte nhớ trong Line (block) BNC
⇒ Kích thước 1 line = 2n1
(cid:4) Line: Xác định số hiệu Line trong cache
⇒ Có 2n2 Line trong cache
(cid:4) Tag: số bít còn lại là n3 = N – n2 – n1
⇒ BNC chứa 2n3 ô nhớ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 50
Ví dụ 1
(cid:1)Cho máy tính có dung lượng nhớ
– RAM = 128 MB, cache = 256 KB, line = 32 byte, – Độ dài ngăn nhớ = 1 byte.
Tìm số bit của các trường địa chỉ ánh xạ trực tiếp vào cache Giải: Ta có:
– BNC = 128 MB = 27 * 220 byte = 227 byte (cid:3) N = 27 – Cache = 256 KB = 28 * 210 byte = 218 byte – Line = 32 byte = 25 byte (cid:3) số bit trường word là n3 = 5 – Số Line trong cache: 218/25 = 213 (cid:3) số bit trường line n2 = 13
– Số bit của trường Tag là n3 = N – (n2 – n1) = 9
5
9
13
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 51
Ví dụ 2
(cid:1)Cho máy tính có :
– RAM = 256 MB, cache = 64 KB, line = 16 byte, – Độ dài ngăn nhớ = 4 byte.
Tìm dạng địa chỉ do BXL phát ra?
(cid:1)Giải: Ta có:
– RAM=256MB = 228 byte = 228/22 = 226 ng/nhớ (cid:3) N=26 – Cache = 64 KB = 216 byte = 216/22 = 214 ng/nhớ – Line = 16 byte =24/22 = 22 ng/nhớ (cid:3) n1 = 2 – Số Line trong cache: 214/22 = 212 (cid:3) n2 = 12 – Số bit của phần Tag: N - 12 - 2 = 12, n3= 12
2
12
12
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 52
Sơ đồ thực hiện
Word Line
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 53
Nhận xét (cid:1) Ưu điểm:
– Dễ thực hiện, vì một Block được ánh xạ cố định vào
một Line ⇒ không cần thuật toán chọn Line.
– Thiết kế mạch đơn giản.
(cid:1) Nhược điểm:
– Tỉ lệ cache hit thấp.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 54
Ánh xạ liên kết toàn phần
(cid:1) Mỗi Block trong bộ nhớ chính (BNC) được ánh xạ vào
một Line bất kỳ trong Cache
(cid:1) Khi đó, địa chỉ do BXL phát ra có dạng: Tag
Word
w bit
s bit
(cid:1) Để kiểm tra xem 1 block có trong cache hay không, phải đồng thời kiểm tra tất cả các tag của các line trong cache (cid:3) phức tạp hơn – Word: xác định ngăn nhớ trong Block
(cid:3) Block có 2w ngăn nhớ
– Tag: xác định Block đang ở trong Line
(cid:3) Số lượng Block: 2s (cid:3) Dung lượng BNC: 2s + w ngăn nhớ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 55
Sơ đồ thực hiện
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 56
Nhận xét (cid:1) Ưu điểm:
– Tỉ lệ cache hit cao hơn ánh xạ trực tiếp vì một Block
được phép vào một Line bất kỳ.
(cid:1) Nhược điểm:
– Thiết kế mạch tương đối phức tạp, thể hiện ở mạch so
sánh.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 57
Ánh xạ liên kết tập hợp
(cid:1) Cache được chia thành nhiều Set, mỗi Set gồm nhiều
Line liên tiếp
(cid:1) Một Block của BNC chỉ được ánh xạ vào một Set duy nhất trong cache, nhưng được ánh xạ vào Line bất kỳ trong set đó:
i = j mod v
– i: số hiệu Set trong cache – j: số hiệu Block trong BNC – v: số lượng Set trong cache
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 58
Ánh xạ liên kết tập hợp (tt) (cid:1) Khi đó, địa chỉ do BXL phát ra gồm:
Tag
Set
Word
s - d bit
d bit
w bit
– Word: xác định số hiệu ngăn nhớ trong Block
(cid:3) Block (Line) có 2w ngăn nhớ – Set: xác định số hiệu Set trong cache
(cid:3) Cache có 2d Set
– Tag: xác định Block nào đang ở trong Line
(cid:3) BNC chứa 2s + w ngăn nhớ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 59
Ví dụ 1
(cid:1)Cho máy tính có dung lượng:
– BNC = 512 MB, cache = 128 KB, line = 32 byte, – Set = 8 Line, độ dài ngăn nhớ = 1 byte. Tìm dạng địa chỉ do BXL phát ra?
(cid:1)Giải: Ta có:
– BNC = 512 MB = 229 byte; Cache = 128 KB = 217 byte – Line = 25 byte ⇒ w = 5 – Dung lượng Set: 23 * 25 = 28 byte (cid:3) số Set trong
Cache: 217/28 = 29 (cid:3) d = 9
– Số bit của phần Tag: 29 - 9 - 5 = 15 (cid:3) s - d = 15
5
15
9
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 60
Ví dụ 2
(cid:1)Cho máy tính có dung lượng:
– BNC = 256 MB, cache = 128 KB, line = 64 byte, – Set = 4 Line, độ dài ngăn nhớ = 4 byte.
T×m d¹ng ®Þa chØ do BXL ph¸t ra?
(cid:1)Giải: ta có
– BNC = 228 byte = 228/22 = 226 ng/nhớ – Cache = 217 byte = 217/22 = 215 ng/nhớ – Line = 26/22 = 24 ng/nhớ ⇒ w = 4 – Dung lượng Set: 22 * 24= 26
(cid:3)số lượng Set: 215/26 = 29 (cid:3) d = 9
– Số bit của phần Tag: 26 - 9 - 4 = 13, s - d = 13
4
13
9
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 61
Sơ đồ thực hiện
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 62
Nhận xét (cid:1) Ưu điểm:
– Tỉ lệ cache hit cao vì một Block được phép vào một
Line bất kỳ trong Set, và dễ so sánh.
– Đây là kỹ thuật ánh xạ tốt nhất trong 3 kỹ thuật.
(cid:1) Nhược điểm :
– Thiết kế mạch phức tạp.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 63
Các thuật toán thay thế Block trong cache
(cid:1)Khi CPU truy cập 1 thông tin không có trong cache (cid:3) nạp block trên BNC chứa thông tin đó vào cache (thay thế block cũ đang ở trong cache)
(cid:1)Kỹ thuật ánh xạ trực tiếp (cid:3) chỉ 1 cách nạp block vào line cố định trong cache (cid:3) không cần thuật giải để nạp
(cid:1)Hai kỹ thuật ánh xạ liên kết (tập hợp, toàn phần):
(cid:3) cần có giải thuật lựa chọn thay thế
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 64
Các thuật toán thay thế Block trong cache
(cid:1) 4 Thuật toán thay thế
– Random: thay ngẫu nhiên một Block cũ nào đó
(cid:3)Dễ thực hiện, nhanh nhất, tỉ lệ cache hit thấp.
– FIFO (First In - First Out)
• Ánh xạ liên kết toàn phần: thay Block đã tồn tại lâu nhất trong
toàn cache
• Ánh xạ liên kết tập hợp: thay Block đã tồn tại lâu nhất trong set (cid:3) Phương pháp này có tỉ lệ cache hit không cao
– LFU (Least Frequently Used): thay Block có số lần dùng ít
nhất (cid:3) tỉ lệ cache hit tương đối cao
– LRU (Least Recently Used): thay Block có khoảng thời gian
dài nhất không được dùng (cid:3) tỉ lệ cache hit cao
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 65
Phương pháp truy cập cache
(cid:1)Đọc:
– Nếu cache hit: đọc ngăn nhớ từ cache – Nếu cache miss: thay Block ⇒ cache hit
(cid:1)Ghi:
– Nếu cache hit: có 2 phương pháp:
• Write through: ghi dữ liệu vào cả cache và cả BNC ⇒ không cần thiết, tốc độ chậm, mạch đơn giản. • Write back: chỉ ghi vào cache, khi nào Block (trong
cache) được ghi bị thay đi (cid:3) ghi vào BNC ⇒ tốc độ nhanh, mạch phức tạp.
– Nếu cache miss: thay Block ⇒ cache hit
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 66
Hoạt động của cache
BXL
Cache
BNC
a) Write Through
BXL
Cache
BNC
b) Write Back
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 67
VD cache trên các bộ xử lý Intel
(cid:1) 80386: không có cache trên chip (cid:1) 80486:
– 8KB, kích thước Line: 16 byte – ánh xạ liên kết tập hợp 4 đường
(cid:1) Pentium:
– Có 2 cache L1 trên chip (Cache lệnh: 8KB, cache
dữ liệu: 8KB)
(cid:1) Petium 4: Cache L1 (2 loại) 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
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 68
Sơ đồ Pentium IV
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 69
4.5. Bộ nhớ ngoài (cid:1) Các kiểu bộ nhớ ngoài
– Đĩa từ – RAID – Đĩa quang – Flash Disk – Băng từ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 70
Các đặc tính của đĩa từ (cid:1) Đầu từ cố định hay chuyển động (cid:1) Đĩa cố định hay chuyển động (cid:1) Dữ liệu lưu trên 1 mặt hay 2 mặt (cid:1) Một hay nhiều đĩa (cid:1) Cơ chế đầu từ
– Tiếp xúc (đĩa mềm) – Không tiếp xúc: • Khe cố định • Khe thay đổi
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 71
Mặt đĩa
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 72
Khuôn dạng của một rãnh (track)
Sector 0
Sector 1
ID
ID
Gap2 Data Gap3
Gap2 Data Gap3 Gap1
Byte 17 7 41 515 20 17 7 41 515 20
Head Sector CRC
Gap1
Data CRC
Sync Byte
Byte 1 2 1 1 2 1 512 2
Track Sync Byte
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 73
Nhiều đĩa
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 74
Cylinders
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 75
Tốc độ đĩa
(cid:1) Thời gian truy nhập = t/g tìm kiếm + t/g trễ (cid:1) Tốc độ truyền (cid:1) Thời gian tìm kiếm
– Di chuyển đầu từ đến đúng rãnh
(cid:1) Thời gian trễ
– Chờ đến khi dữ liệu nằm ngay dưới đầu từ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 76
Đĩa mềm
(cid:1)8”, 5.25”, 3.5” (cid:1)Tốc độ chậm, rẻ tiền (cid:1)Dung lượng nhỏ (Chỉ tới 1.44MB) (loại 2.88 MB không phổ dụng)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 77
Đĩa cứng
(cid:1) Do IBM phát triển (cid:1) Một hoặc nhiều đĩa (cid:1) Thông dụng (cid:1) Dung lượng tăng rất nhanh – 2003: 20 GB, 30 GB, 40 GB – 2004: > 100 GB – …. – 2014: > 1 TB
(cid:1) Tốc độ đọc/ghi nhanh (cid:1) Giá thành rẻ
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 78
Đĩa cứng (tt)
Trôc quay
CÇn mang ®Çu tõ
§Üa
C¬ cÊu chuyÓn ®éng ®Çu tõ
§Çu tõ
§iÖn
C¸p d÷ liÖu (SCSI hoÆc EIDE)
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 79
RAID
(cid:1)Redundant Array of Independent Disks (cid:1)Có 7 loại RAID (RAID 0 ÷ RAID 6) (cid:1)Tập hợp nhiều đĩa vật lý được HĐH coi như một
đĩa (logic) duy nhất
(cid:1)Dữ liệu được lưu trữ phân tán trên nhiều đĩa vật lý khác nhau. Dung lượng lên tới hàng nghìn GB (cid:1)Có thể sử dụng dung lượng dư thừa để lưu trữ 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
(cid:1)Do dung lượng lớn ⇒ cần có một phần đĩa dùng
để lưu trữ thông tin an toàn
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 80
RAID 0
(cid:1)Không có phần dư thừa (thông tin an toàn) (cid:1)Dữ liệu được chứa trong các strip (cid:1)Tăng tốc độ:
– Dữ liệu không chứa trên cùng một đĩa – Các đĩa tìm kiếm theo cơ chế song song
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 81
ánh xạ dữ liệu đối với RAID 0
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 82
RAID 1
(cid:1) Dùng kỹ thuật mirroring (n + n đĩa) (cid:1) Dữ liệu được chứa trong các strip, được nhân thành 2 bản
chứa trên 2 đĩa khác nhau
(cid:1) Khi đọc: bất kỳ bản nào; Khi ghi: ghi vào cả hai bản (cid:1) Khi bị lỗi: đọc từ bản kia và nhân bản lại (cid:1) Giá thành đắt
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 83
RAID 2
(cid:1) Dùng (n + m) đĩa: n đĩa dữ liệu, m đĩa mã Hamming
(cid:1) Các strip rất bé: khoảng 1 hoặc 2 byte
(cid:1) Việc sửa lỗi được tính dựa theo các bit tương ứng trên
các đĩa
(cid:1) Nhiều đĩa chứa mã Hamming để sửa lỗi ở các vị trí tương
ứng
(cid:1) Nhiều phần dư thừa: đắt; không phổ dụng
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 84
RAID 3
(cid:1) Tương tự RAID 2, nhưng phần thông tin an toàn chỉ
dùng 1 đĩa
(cid:1) Chỉ dùng 1 bit parity cho tập các bit dữ liệu tương
ứng
(cid:1) Dữ liệu bị lỗi được khôi phục lại nhờ phần dữ liệu
“còn sống” và thông tin parity:
1 + 3 + 8 + ? = 20 ⇒ ? = 7
(cid:1) Tốc độ truyền dữ liệu nhanh
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 85
RAID 4
(cid:1) Thích hợp với truyền dữ liệu tốc độ cao (cid:1) Strip lớn (cid:1) Mỗi đĩa hoạt động độc lập (cid:1) Bit parity được tính toán dựa vào các strip trên mỗi
đĩa
(cid:1) Parity được lưu trữ trên đĩa parity theo từng khối
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 86
RAID 5
(cid:1) Tương tự RAID 4, nhưng parity được phân bố đều trên các đĩa ⇒ tránh được tắc nghẽn trên đĩa parity.
(cid:1) Thường được dùng trong các server mạng
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 87
RAID 6
(cid:1) Dùng (n + 2) đĩa
(cid:1) Dùng 2 khối parity
(cid:1) Hai khối parity được lưu trữ riêng biệt trên các đĩa
khác nhau
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 88
Đĩa quang CD-ROM
(cid:1) Dung lượng thông dụng: 650MB ÷ 700MB
(cid:1) Chất dẻo được phủ một lớp polycarbonate, bên dưới tráng lớp có khả năng phản xạ cao, thường là nhôm
(cid:1) Dữ liệu được lưu trữ nhờ các hốc (pit) và phần bằng
(land)
(cid:1) Đọc dữ liệu dựa vào sự phản xạ tia laser
(cid:1) Tốc độ đọc cơ sở = 150KB/s
(cid:1) Tốc độ bội: 48x, 52x,....v.v.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 89
Hoạt động của đĩa CD
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 90
Vận tốc đĩa CD-ROM (cid:1) Đĩa nhạc có vận tốc đơn
– Kiểu đọc: vận tốc tuyến tính không đổi (CLV - Constant
Linier Velocity) 1,2 m/s
– Rãnh (xoáy ốc) dài khoảng 5,27 km – Thời gian đọc cần 4391giây = 73,2 phút – Tốc độ đọc cơ sở: 150KB/s
(cid:1) Các tốc độ khác là bội số, ví dụ: 48x, 52x, ...
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 91
Khuôn dạng CD-ROM (cid:1) Mode 0: trường dữ liệu trống (cid:1) Mode 1: 2048 byte dữ liệu + sửa lỗi (cid:1) Mode 2: 2336 byte dữ liệu
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 92
Các bộ nhớ quang khác
(cid:1) CD-R (CD Recordable)
– WORM – Tương thích với ổ đĩa CD-ROM
(cid:1) CD-RW (CD ReWriteable)
– Có thể xóa được – Không đắt – Hầu hết tương thích với ổ đĩa CD-ROM – Thay đổi pha – Dùng vật liệu có hai hệ số phản xạ khác nhau thuộc hai
pha khác nhau
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 93
Các bộ nhớ quang khác
(cid:1)DVD
– Digital Video Disk: chỉ dùng trên ổ đĩa xem video – Digital Versatile Disk: dùng trên ổ máy tính – Ghi một hoặc hai mặt – Nhiều lớp trên một mặt – Dung lượng: 4,7 GB trên một lớp
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 94
Flash disk
(cid:1) Kết nối qua cổng USB
(cid:1) Không phải dạng đĩa
(cid:1) Bộ nhớ bán dẫn cực nhanh (flash memory)
(cid:1) Dung lượng tăng nhanh
(cid:1) Thuận tiện
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 95
Băng từ
(cid:1)Băng từ
– Truy nhập tuần tự – Tốc độ chậm – Giá thành rất rẻ – Dùng để lưu trữ và backup
(cid:1)Băng audio số (DAT)
– Được dùng với đầu t? quay (như đầu t? video) – Dung lượng tương đối lớn – 4 GB không nén – 8 GB nén – Dùng để backup PC, server mạng
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 96
Thắc mắc – Thảo luận?
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 97
Bài tập
(cid:1)Bài 1: Cho IC nhớ có dung lượng 8K x 8 bit. Hãy thiết kế modul nhớ có dung lượng 8K x 32 bit.
(cid:1)Bài 2: Cho IC nhớ có dung lượng 4K x 16 bit. Hãy thiết kế modul nhớ có dung lượng 16K x 16 bit.
(cid:1)Bài 3: Cho IC nhớ có dung lượng 4K x 8 bit. Hãy thiết kế modul nhớ có dung lượng 32K x 8 bit.
(cid:1)Bài 4: Cho IC nhớ có dung lượng 8K x 4 bit. Chỉ dùng Bộ giải mã 2:4, hãy thiết kế modul nhớ có dung lượng 16K x 4 bit.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 98
Bài tập
(cid:1)Bài 5: Cho IC nhớ có dung lượng 4K x 8 bit.
Chỉ dùng Bộ giải mã 3: 8, hãy thiết kế modul nhớ có dung lượng 8K x 8 bit.
(cid:1)Bài 6: Cho IC nhớ có dung lượng 2K x 8 bit. Chỉ dung Bộ giải mã 3:8, hãy thiết kế modul nhớ có dung lượng 8K x 8 bit.
(cid:1)Bài 7: Cho IC nhớ có dung lượng 8K x 8 bit. Chỉ dùng Bộ giải mã 1:2, hãy thiết kế modul nhớ có dung lượng 32K x 8bit.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 99
Bài tập
(cid:1)Bài 8: Cho IC nhớ có dung lượng 8K x 8 bit. Chỉ dùng Bộ giải mã 1:2, hãy thiết kế modul nhớ có dung lượng 64K x 32 bit.
(cid:1)Bài 9: Cho IC nhớ có dung lượng 8K x 4 bit. Chỉ dùng Bộ giải mã 2:4, hãy thiết kế modul nhớ có dung lượng 64K x 4 bit.
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 100
Bài tập
(cid:1) Bài 1: Mô tả hoạt động của kỹ thuật ánh xạ trực tiếp
(cid:1) Bài 2: Mô tả hoạt động của kỹ thuật ánh xạ liên kết
hoàn toàn
(cid:1) Bài 3: Mô tả hoạt động của kỹ thuật ánh xạ liên kết
tập hợp
bangtqh@utc2.edu.vn Chương 4 - Bộ nhớ máy tính 101