Cấu trúc máy tính Chương 4
Trang 1TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
Chương 3
BỘ NHỚ
Trang 2Nội dung chương 4
1. Tổ chức thứ bậc của bộ nhớ
2. Bộ nhớ trong
3. Giới thiệu bộ nhớ ảo
Trang 3I Tổ chức thứ bậc của bộ nhớ
Trang 4Sự thay đổi tính chất theo thứ bậc
Giá thành giảm
Dung lượng tăng
Thời gian truy xuất tăng
Bộ xử lý giảm truy xuất
Trang 5Nguyên lý địa phương
Có 3 dạng truy xuất địa phương:
Phần tử đã truy xuất trong quá khứ gần thường được truy xuất trong tương lai gần
Việc truy xuất thường được thực hiện trên một vùng nhớ liên tục
Các lệnh thường được truy xuất tuần tự
Trang 6Nguyên lý điạ phương
Trang 81 Bit nhớ
Bit nhớ dạng mạch cài D
Trạng thái ghi:
CK = 1 Q = D
Trang 102 Thanh ghi
Trang 11Thanh ghi (tt)
Thanh ghi là ô nhớ đặt trong CPU
Lưu các giá trị trung gian, thông tin điều khiển
Trang 123 Tổ chức bộ nhớ
Bộ nhớ gồm các ô nhớ
Mỗi ô nhớ có một địa chỉ
Ô nhớ là đơn vị hoạt động của bộ nhớ
Hai trạng thái hoạt động:
• Đọc
• Ghi
Trang 13Yêu cầu tổ chức bộ nhớ
Số tín hiệu không tăng tuyến tính theo dung lượng bộ nhớ
Có thể ghép các vi mạch nhớ tạo bộ nhớ lớn hơn
Trang 14Ví dụ
Trang 15 có m tín hiệu nếu ô nhớ có m bit
• là ngõ vào (trạng thái ghi),
là ngõ ra (trạng thái đọc)
Trang 16Các nhóm tín hiệu (tt)
Điều khiển
• CS (Chip select): chọn vi mạch
• WE (Write Enable): phân biệt đọc và ghi
• OE (Output Enable): cho phép ngõ ra
Trang 174 Phân loại linh kiện nhớ
ROM (Read Only Memory)
RAM (Random Access Memory)
Trang 18 Bộ nhớ chỉ đọc (dữ liệu đã có)
Không mất dữ liệu khi không cấp điện
Dùng cho ROM BIOS, ROM Extensions,
vi chương trình
Phân loại theo cách ghi dữ liệu
FIRMWARE = Hard software
Trang 19 EPROM – Erasable PROM
• Người sử dụng có thể xoá toàn bộ dữ liệu với thiết
bị xoá dùng tia cực tím
EEPROM – Electrically EPROM
• Người sử dụng có thể xoá từng byte dữ liệu bằng
Trang 20Các loại ROM (tt)
Flash memory
• là dạng EEPROM
• có thể ghi, xoá theo khối dữ liệu
• nhanh hơn EEPROM
Trang 21 Bộ nhớ có thể đọc, ghi
Mất dữ liệu khi không cấp điện
Có 2 dạng chính
• SRAM – Static RAM: RAM tĩnh
• DRAM – Dynamic RAM: RAM động
Trang 22RAM tĩnh
Cấu tạo từ các bit nhớ dạng tương tự mạch cài D
So sánh với RAM động:
• Truy xuất nhanh hơn
• Giá thành cao hơn
• Tiêu thụ nhiều năng lượng hơn
• Mật độ tích hợp (số bits/chip) ít hơn
Trang 23RAM động
Cấu tạo từ mạch dạng tụ điện
Mất dữ liệu sau một khoảng thời gian xác định dù vẫn được cấp điện
cần phải ghi lại dữ liệu đang lưu trữ
dùng mạch làm tươi (refresh) trên
vi mạch nhớ
Dùng làm bộ nhớ chính (main memory),
bộ nhớ màn hình (video memory)
Trang 24RAM động
Trang 25Phân loại RAM động
Theo hình thức
• SIMM (Single Inline Memory Module)
• DIMM (Dual Inline Memory Module)
• RIMM (Rambus Inline Memory Module)
Trang 26SIMM và DIMM
SIMM DIMM
Trang 27SIMM, DIMM và SO (Small Outline) DIMM
Trang 28RIMM
Trang 29Các loại RAM động
RAMDAC (RAM Digital-Analog Converter)
• Dùng cho video RAM
SDRAM (Synchronous DRAM)
• Đồng bộ với system clock
• Truyền dữ liệu theo khối
DDR-SDRAM (Double Data Rate-SDRAM)
• Gởi dữ liệu 2 lần trong 1 chu kỳ clock
DDR2 – Dual-Channel DDR
• Dùng hai kênh bộ nhớ
Trang 30Các loại RAM động (tt)
RDRAM (Rambus DRAM)
• Dùng với Pentium-4, Itanium
Trang 31Memory Controller (thuộc về ChipSet)
Trang 32Dual-Channel memory (DDR2)
Trang 33Dual-Channel memory (DDR2) (tt)
Trang 34Băng thông
Trang 355 Tính chất bộ nhớ
Dung lượng bộ nhớ là lũy thừa của 2
Thông số chính:
• Thời gian truy xuất (access time)
Thời gian từ khi có địa chỉ đến khi dữ liệu
ổn định
• Tốc độ truy xuất (transfer rate)
Tính theo bytes/giây
Trang 36III Giới thiệu bộ nhớ ảo
1. Khái niệm bộ nhớ ảo
2. Bộ nhớ ảo dạng phân trang
3. Bộ nhớ ảo dạng phân đoạn
4. Bộ nhớ ảo dạng phân đoạn có phân
trang
Trang 371 Khái niệm bộ nhớ ảo
Bộ nhớ ảo (virtual memory):
Kỹ thuật do hệ điều hành, có hỗ trợ của phần cứng
Cho phép thực hiện chương trình lớn hơn
bộ nhớ trong bằng cách sử dụng bộ nhớ ngoài
Hoạt động dạng overlay tự động
Bộ nhớ ảo = bộ nhớ trên đĩa
Trang 38Hoạt động bộ nhớ ảo
Chương trình được viết trên không gian địa chỉ ảo, là thông số của CPU và hệ điều hành
Khi thực thi, hệ điều hành:
• nạp chương trình vào bộ nhớ
• chuyển đổi địa chỉ ảo thành địa chỉ vật lý
• truy xuất trên bộ nhớ vật lý
Trang 39Các dạng bộ nhớ ảo
Dạng phân trang (paging)
Dạng phân đoạn (segmentation)
Dạng phân đoạn có phân trang
(Paged segmentation /
Segmentation with paging)
Trang 402 Bộ nhớ ảo dạng phân trang
a. Tổ chức phân trang
b. Chuyển đổi địa chỉ
c. Nạp trang
d. Thay thế trang
Trang 42 Valid = 0 nếu trang chưa có trên bộ nhớ
Valid = 1 nếu trang đang có trên bộ nhớ
• Frame Number (Frame #)
Trang 43Ví dụ
Bộ nhớ ảo có 8 trang, bộ nhớ vật lý có 4 khung
Trang 44b Chuyển đổi địa chỉ
Địa chỉ ảo theo phân trang
• Page Number: số thứ tự trang
• Offset: địa chỉ trong trang
Địa chỉ vật lý
• Page Number: số thứ tự khung trang
• Offset: địa chỉ trong khung trang
Offset Page Number
Trang 45Sơ đồ chuyển đổi địa chỉ
Trang 46Truy xuất dữ liệu theo địa chỉ ảo
Tách page # và offset từ địa chỉ ảo
Chuyển page # thành frame # bằng cách
truy xuất bảng trang
Trang 47Truy xuất dữ liệu theo địa chỉ ảo (tt)
2 Valid = 0 lỗi trang
a Tìm trang trên đĩa
b Tìm một khung trống (có thể phải thay thế
trang nếu các khung đầy)
c Sao chép trang vào khung trống
d Cập nhật bảng trang (valid = 1, frame # mới)
e Thực hiện truy xuất như bước 1
Trang 48Phần cứng hỗ trợ chuyển đổi địa chỉ ảo
TLB (Translation Look-aside Buffer)
• Ở trong CPU
• Cache các phần tử trên bảng trang
Khi chuyển đổi địa chỉ, tìm phần tử quản
lý trang trên TLB trước, nếu không có thì tìm trên bảng trang
Trang 49Sơ đồ chuyển đổi địa chỉ với TLB
Trang 50c Nạp trang
Có 2 phương pháp:
Nạp theo yêu cầu
• Nạp trang khi có lỗi trang
Nạp trước
• Nạp trước các trang theo các điều kiện xác định
Trang 51d Thay thế trang
Khi các khung đã đầy mà cần nạp thêm trang thì phải thay thế một trang đang có trên khung
• Nếu trang bị thay thế có thay đổi nội dung thì phải đưa ra đĩa
Có các phương pháp chọn phần tử thay thế: Optimal, FIFO, LRU (thông dụng)
Least Recently Used (LRU): chọn trang không được truy xuất trong khoảng thời
Trang 523 Bộ nhớ ảo dạng phân đoạn
Trang 53Nhận xét về phân trang, phân đoạn
Trang trong suốt đối với người lập trình
Phân trang tránh được phân mảnh bên ngoài
Người lập trình sử dụng được đoạn
Phân đoạn phù hợp với lập trình theo khối, cấu trúc dữ liệu thay đổi, dùng chung và bảo vệ bộ nhớ
Trang 544 Bộ nhớ ảo dạng phân đoạn có phân trang
Kết hợp các ưu điểm của phân đoạn và phân trang
Tổ chức:
Bộ nhớ ảo bao gồm các đoạn
Trong mỗi đoạn thực hiện phân trang
Trang 55Ví dụ: bộ nhớ ảo trên Pentium
Đơn vị quản lý bộ nhớ
(Memory Management Unit, MMU)
• Đơn vị phân đoạn, (đoạn đến 2 32 bytes)
• Đơn vị phân trang
Các mô hình bộ nhớ
• Không phân đoạn, không phân trang
• Không phân đoạn, có phân trang
• Có phân đoạn, không phân trang
• Có phân đoạn, có phân trang
Trang 56Chuyển đổi địa chỉ
Địa chỉ ảo dạng phân đoạn:
• Selector – 16 bit
• Offset – 32 bit
Địa chỉ tuyến tính (linear address)
Địa chỉ vật lý
Trang 57Cấu trúc selector
GDT (Global Descriptor Table): dùng cho HDH
LDT (Local Descriptor Table): dùng cho các chương
trình
Privilege level: mức đặc quyền
Trang 58Chuyển đổi địa chỉ đoạn địa chỉ tuyến tính
Trang 59Chuyển đổi địa chỉ tuyến tính địa chỉ vật lý
Trang 60Ứng dụng mức đặc quyền