Chương 3 BỘ NHỚ 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt 1 NỘI DUNG 1. Tổng quan về bộ nhớ 2. Bộ nhớ ROM và RAM 3. Bộ nhớ cache 4.
Bộ nhớ ngoài CuuDuongThanCong.com https://fb.com/tailieudientucntt 2 Tổng quan về bộ 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: Ổ đĩa quang, ổ đĩa từ, … Dung lượng Số từ nhớ (word): tính bằng bit (16, 32 bit) Số lượng byte Đơn vị truyền Từ nhớ (word) Khối nhớ (block) CuuDuongThanCong.com https://fb.com/tailieudientucntt 3 Tổng quan về bộ nhớ Phương pháp truy xuất: Truy xuất tuần tự (băng từ) Truy xuất trực tiếp (các loại đĩa) Truy xuất ngẫu nhiên (bộ nhớ bán dẫn) Truy xuất liên kết (cache) CuuDuongThanCong.com https://fb.com/tailieudientucntt 4 Tổng quan về bộ nhớ Phương pháp truy xuất tuần tự (Sequential access) Bắt đầu ở first location – đọc theo thứ tự Access time phụ thuộc vào vị trí dữ liệu và vị trí trước đó Ví dụ: Băng từ Phương thức truy xuất trực tiếp (Direct access) Các khối dữ liệu riêng có địa chỉ duy nhất Truy xuất bằng cách: Nhảy đến vùng kế cận Tìm kiếm tuần tự (hoặc đợi, ví dụ như đợi đĩa quay) Access time phụ thuộc vào vị trí đích và vị trí trước đó Ví dụ: Ổ đĩa CuuDuongThanCong.com 5 https://fb.com/tailieudientucntt Tổng quan về bộ nhớ Phương thức truy xuất ngẫu nhiên (Random access) Các địa chỉ riêng xác định các vị trí cụ thể Access time độc lập vị trí đích hoặc vị trí trước đó Ví dụ: RAM Phương thứ truy xuất liên kết (Associative access) Dữ liệu được định vị bằng cách so sánh với nội dung của một phần dữ liệu được lưu trữ Access time độc lập với vị trí dữ liệu và vị trí truy xuất trước đó.com https://fb.com/tailieudientucntt 6 Tổng quan về bộ nhớ Hiệu năng Thời gian truy cập Chu kỳ nhớ Tốc độ truyền: Truy cập ngẫu nhiên: 1/(TChu kỳ) Không ngẫu nhiên: TN = TA + N/R TN = thời gian trung bình để đọc/ghi N bit TA = thời gian truy cập trung bình N = số các bit R = tốc độ truyền, theo đơn vị bit/giây (bps) Kiểu vật lý Bộ nhớ bán dẫn Bộ nhớ từ Bộ nhớ quang CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 Tổng quan về bộ nhớ Các đặc trưng của hệ thống nhớ Các đặc tính vật lý Khả biến/Không khả biến (volatile/nonvolatile) Xóa được/Không xóa được Tổ chức Cách sắp xếp vật lý các bit để tạo thành các word Phân cấp hệ thống nhớ Registers: trong CPU, dung lượng thấp, nhanh, đắt Bộ nhớ trong: Có thể gồm 1 hoặc nhiều mức cache, dung lượng trung bình; Bộ nhớ ngoài: Lưu trữ và backup, dung lượng cao CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 Bộ nhớ ROM và RAM Bộ nhớ chính Các đặc trưng cơ bản: 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 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 tùy thuộc vào hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt 9 Bộ nhớ ROM và RAM Tổ chức ô nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Bộ nhớ ROM và RAM ROM (Read Only Memory) Bộ nhớ chỉ đọc 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) Vi chương trình Các kiểu ROM: ROM: thông tin được ghi khi sản xuất. Chi phí cao PROM (Programmable ROM): Chỉ ghi được 1 lần bằng thiết bị chuyên dụng. EPROM (Erasable PROM): có thể ghi nhiều lần bằng thiết bị chuyên dụng. Phải xóa bằng tia cực tím trước khi ghi lại.com 11 https://fb.com/tailieudientucntt Bộ nhớ ROM và RAM RAM (Random Access Memory) Bộ nhớ truy xuất ngẫu nhiên Có khả năng đọc/ghi (Read/Write Memory) Lưu trữ thông tin tạm thời Có 2 loại: SRAM và DRAM CuuDuongThanCong.com https://fb.com/tailieudientucntt 12 Bộ nhớ ROM và RAM SRAM (Static RAM) 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 (6-8ns) Đắt tiền Dùng làm bộ nhớ cache Logic 1: Logic 0: C1=high, C2=low C1=low, C2=high T1,T4: off T1,T4: on T2,T3: on CuuDuongThanCong.com T2,T3: off https://fb.com/tailieudientucntt 13 Bộ nhớ ROM và RAM DRAM (Dynamic RAM): 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 (60-80ns) Rẻ tiền hơn Dùng làm bộ nhớ chính CuuDuongThanCong.com https://fb.com/tailieudientucntt 14 Bộ nhớ ROM và RAM Các DRAM tiên tiến Enhanced DRAM DRAM có bao gồm một phần nhỏ SRAM Cache DRAM (1Mb DRAM, 8kb SRAM) Synchronous DRAM (SDRAM) Đồng bộ hóa với xung nhịp của CPU DDR-SDRAM (Double Data Rate SDRAM) Gấp đôi tốc độ của SDRAM, 184-pin Rambus DRAM (RDRAM) 2 kênh truyền thông riêng biệt (dual channel) Tốc độ chuyển dữ liệu lên tới 3.2Gbytes/giây CuuDuongThanCong.com https://fb.com/tailieudientucntt 15 Bộ nhớ ROM và RAM Tổ chức của chip nhớ Các đường địa chỉ: An-1 ÷ A0: có 2n 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 tích cực với mức 0 CuuDuongThanCong.com https://fb.com/tailieudientucntt 16 Bộ nhớ ROM và RAM Thiết kế module 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 Ví dụ: Cho chip nhớ SRAM 4Kx4 bit. Thiết kế module nhớ 4Kx8 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 module nhớ cần có: 12 chân địa chỉ 8 chân dữ liệu CuuDuongThanCong.com 18 https://fb.com/tailieudientucntt Bộ nhớ ROM và RAM Thiết kế tăng độ dài từ nhớ Cho chip nhớ 2n x m bit Thiết kế mô-đun nhớ 2n x (k.m) bit Dùng k chip nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt 19 Bộ nhớ ROM và RAM 1. Thiết kế tăng số lượng từ nhớ Ví dụ: Cho chip nhớ SRAM 4K x 8 bit.
Thiết kế module 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 20 Bộ nhớ ROM và RAM 2. Thiết kế tăng số lượng từ nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt 21 Bộ nhớ ROM và RAM Bộ giải mã 2 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt 22 Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=8 bit -> một băng nhớ tuyến tính CuuDuongThanCong.com https://fb.com/tailieudientucntt 23 Bộ nhớ ROM và RAM 3.
Thiết kế kết hợp m=16 bit hai băng nhớ đan xen CuuDuongThanCong.com https://fb.com/tailieudientucntt 24 Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=32 bit bốn băng nhớ đan xen CuuDuongThanCong.com https://fb.com/tailieudientucntt 25 Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=64 bit tám băng nhớ đan xen CuuDuongThanCong.com https://fb.com/tailieudientucntt 26 Bộ nhớ cache Nguyên tắc chung: Cache có tốc độ nhanh hơn bộ nhớ chính Cache được đặt giữa CPU và bộ nhớ chính. Cache có thể được đặt trên chip của CPU - 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 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 CuuDuongThanCong.com 27 https://fb.com/tailieudientucntt Bộ nhớ cache Truy xuất dữ liệu từ cache và từ bộ nhớ chính Bộ nhớ chính có 100,000 words, access time là 0.
Cache có1000 words và access time là 0. CPU sẽ truy xuất trực tiếp word có trong cache (hit). Word chỉ có trong memory (miss), thì phải được chuyển đến cache trước khi truy xuất. Giả sử 95% các yêu cầu truy xuất là hits.
Average time truy xuất 1 word là: (0.com https://fb.com/tailieudientucntt Bộ nhớ cache Cấu trúc bộ nhớ cache Một số Block của bộ nhớ chính được nạp vào các Line của cache. 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 xuất một từ nhớ, có thể: Từ nhớ có trong cache (cache hit) Từ nhớ không có trong cache (cache miss) Vì số line của cache ít hơn số block của bộ nhớ chính, cần có một thuật giải ánh xạ thông tin trong bộ nhớ chính vào cache.com https://fb.com/tailieudientucntt 29 Bộ nhớ cache Các phương pháp ánh xạ địa chỉ a) Ánh xạ trực tiếp (Direct mapping) Mỗi block của bộ nhớ chính chỉ có thể được nạp vào 1 line duy nhất của cache. Quy ước nạp: B0 → L0 B1 → L1.
Bm-1 → Lm-1 Bm → L0 Bm+1 → L1 L0 : B0, Bm, B2m. B chỉ có thể được nạp vào L (j mod m) CuuDuongThanCong.com 30 https://fb.com/tailieudientucntt Bộ nhớ cache Các phương pháp ánh xạ địa chỉ a) Ánh xạ trực tiếp (Direct mapping) CuuDuongThanCong.com https://fb.com/tailieudientucntt 31 Bộ nhớ cache a) Ánh xạ trực tiếp (Direct mapping) Địa chỉ CPU phát ra có N bit, được chia thành 3 trường: Trường Byte (có n1 bit) để xác định byte nhớ trong Line (Block) 2n1 = kích thước 1 Line Trường Line (có n2 bit) để xác định Line trong Cache 2n2 = số Line trong Cache Dung lượng Cache = 2n1 * 2n2 = 2n1+n2 Trường Tag (có n3 bit): số bit còn lại n3 = N - (n1 + n2) > 0 vì 2N >> 2n1+n2 CuuDuongThanCong.com 32 https://fb.com/tailieudientucntt Bộ nhớ cache b) Ánh xạ liên kết toàn phần Fully Associative Mapping Mỗi block có thể được nạp vào bất kỳ line nào của cache. Địa chỉ bộ nhớ do CPU phát ra được chia thành 2 phần: tag và byte. Để kiểm tra xem một block có trong cache hay không, phải đồng thời kiểm tra tất cả tag của các line trong cache.
Cần các mạch phức tạp để kiểm tra.com https://fb.com/tailieudientucntt 33 Bộ nhớ cache b) Ánh xạ liên kết toàn phần CuuDuongThanCong.com https://fb.com/tailieudientucntt 34 Bộ nhớ cache c) Ánh xạ liên kết tập hợp Set Associative Mapping Là phương pháp dung hòa của 2 phương pháp trên Chia cache thành các tập: S0, S1, S2 .