Bộ nhớ (Memory)
Quảng cáo • Advertisement
📢 Sponsor Ad
Google AdSense
lesson.content.title
lesson.content.subtitle
🎯 Mục tiêu bài học
Sau bài này, bạn sẽ hiểu tháp bộ nhớ, sự khác nhau giữa RAM/ROM/Cache, và cách tính thời gian truy cập — kiến thức bắt buộc trong thi FE.
1. Tháp bộ nhớ (Memory Hierarchy)
🏠 Ví dụ: Hệ thống lưu trữ giống như phòng làm việc
Register = Tay bạn: rất nhanh, nhưng chỉ cầm được ít đồ.
Cache = Mặt bàn: gần tay, để đồ hay dùng.
RAM = Tủ sách trong phòng: nhiều hơn, nhưng phải đứng dậy lấy.
Ổ cứng (SSD/HDD) = Kho hàng: rất nhiều, nhưng phải đi xa mới lấy được.
| Tầng | Loại | Tốc độ | Dung lượng | Giá/GB |
|---|---|---|---|---|
| 1 🔥 | Register (CPU) | ~0.5ns | Vài byte | Cực đắt |
| 2 ⚡ | Cache L1/L2/L3 | ~1-20ns | KB → MB | Rất đắt |
| 3 💨 | RAM (Bộ nhớ chính) | ~50-100ns | GB | Trung bình |
| 4 🐌 | SSD | ~0.1ms | TB | Rẻ |
| 5 🐢 | HDD | ~5-10ms | TB | Rất rẻ |
2. RAM vs ROM — Phân biệt rõ ràng
| Đặc điểm | RAM | ROM |
|---|---|---|
| Tên đầy đủ | Random Access Memory | Read Only Memory |
| Đọc/Ghi | Đọc + Ghi | Chỉ đọc (ghi 1 lần) |
| Tắt điện | ❌ Mất dữ liệu (Volatile) | ✅ Giữ dữ liệu (Non-volatile) |
| Dùng cho | Chương trình đang chạy | BIOS, Firmware |
| Tốc độ | Nhanh | Chậm hơn RAM |
⚠️ DRAM vs SRAM (Hay ra thi!)
DRAM (Dynamic): Cần nạp lại (refresh) liên tục → dùng làm RAM chính. Rẻ, dung lượng lớn.
SRAM (Static): Không cần refresh → dùng làm Cache. Đắt, nhanh gấp 5-10 lần DRAM.
3. Cache — Tại sao máy tính nhanh?
Cache là bộ nhớ đệm giữa CPU và RAM. CPU luôn tìm dữ liệu trong cache trước:
- Cache Hit ✅: Tìm thấy → xử lý ngay (nhanh).
- Cache Miss ❌: Không tìm thấy → phải đọc từ RAM (chậm hơn 50-100 lần).
Hit Rate = Cache Hit / Tổng truy cập × 100%
💡 Công thức tính thời gian truy cập trung bình — BẮT BUỘC NHỚ!
T = h × Tc + (1 - h) × Tm
Trong đó: h = Hit Rate, Tc = thời gian cache, Tm = thời gian RAM
Ví dụ 1: h = 90%, Tc = 10ns, Tm = 100ns → T = 0.9×10 + 0.1×100 = 19ns
Ví dụ 2: h = 95%, Tc = 5ns, Tm = 50ns → T = 0.95×5 + 0.05×50 = 7.25ns
4. Bộ nhớ ảo (Virtual Memory)
Khi RAM đầy, OS dùng một phần ổ cứng làm "RAM giả" (Swap/Page File). Quá trình này gọi là Paging.
- Page: Đơn vị chia nhỏ bộ nhớ ảo (thường 4KB)
- Page Fault: CPU cần page không có trong RAM → phải đọc từ ổ cứng (rất chậm!)
- Thrashing: Page Fault xảy ra liên tục → máy tính treo/lag
📝 Tóm tắt nhanh
- Tháp bộ nhớ: Register > Cache > RAM > SSD > HDD (nhanh → chậm)
- RAM = volatile, ROM = non-volatile
- SRAM → Cache (nhanh, đắt) | DRAM → RAM (chậm hơn, rẻ)
- Công thức cache: T = h × Tc + (1-h) × Tm
🎯 Câu hỏi ôn thi FE #1
Hỏi: Cache L1 có hit rate 80%, thời gian cache = 5ns, RAM = 50ns. Thời gian trung bình?
Giải: T = 0.8 × 5 + 0.2 × 50 = 4 + 10 = 14ns
🎯 Câu hỏi ôn thi FE #2
Hỏi: Loại RAM nào cần được nạp lại (refresh) liên tục?
Đáp: DRAM (Dynamic RAM). SRAM không cần refresh.
🎯 Câu hỏi ôn thi FE #3
Hỏi: Khi CPU cần dữ liệu nhưng trang (page) không có trong RAM, hiện tượng gì xảy ra?
Đáp: Page Fault — OS phải đọc page từ ổ cứng vào RAM, gây chậm đáng kể.
Quảng cáo • Advertisement
📢 Ad Space
Google AdSense