Trước khi khởi động lại hay tắt máy, dữ liệu đã thay đổi cần được ghi vào các thiết bị lưu trữ lâu dài – storage – thường là ổ đĩa cứng để sau này có thể nạp lại vào bộ nhớ... Tổng quan
Trang 1KiÕn tróc m¸y tÝnh
Ch¬ng 3-
Hệ thống nhớ máy tính
thuhienktv@gmail.com
Trang 31 Tổng quan về hệ thống nhớ
của bộ vi xử lý Đó là nơi cất giữ tạm thời các chương trình và dữ liệu đang được thao tác với
bộ vi xử lý Việc lưu trữ bộ nhớ được xem tạm thời vì dữ liệu chỉ tồn tại trong thời gian máy đang hoạt động và không bị khởi động lại Trước khi khởi động lại hay tắt máy, dữ liệu đã thay đổi cần được ghi vào các thiết bị lưu trữ lâu dài – storage – (thường là ổ đĩa cứng) để sau này có thể nạp lại vào bộ nhớ
Trang 4Tổng quan về hệ thống nhớ
nhớ đó là: một file khi được nạp vào trong bộ nhớ, nó chỉ là bản sao của file đó, còn thực chất file đó vẫn tồn tại trong ổ đĩa Vì tính chất tạm thời của bộ nhớ cho nên file đã bị thay đổi cần được ghi lại vào đĩa cứng trước khi tắt máy, vì khi tắt máy dữ liệu trong bộ nhớ sẽ bị xoá
Trang 5
Tổng quan về hệ thống nhớ
nguồn điện, lưu trữ trong RAM sẽ bị mất Vì bản chất bất ổn định như vậy cho nên nhiều người
chương trình ứng dụng có thể ghi một cách tự động theo thời gian đã định)
Trang 7Các đặc trng của hệ thống nhớ
Đơn vị truyền (unit of transfer)
„ Truyền theo từ nhớ- Truyền tuần tự từng Word
„ Truyền theo khối nhớ- Truyền 1 khối gồm n Word
Hiệu năng
„ Thời gian truy cập
„ Chu kỳ truy xuất bộ nhớ
„ Tốc độ truyền
Trang 8Các đặc trng của hệ thống nhớ
Phơng pháp truy nhập (access method)
„ Truy nhập tuần tự (băng từ)- Để đến đợc điểm n đầu từ phải duyệt qua n-1 vị trí trớc
„ Truy nhập trực tiếp (đĩa từ, đĩa quang)- Đầu từ di chuyển trực tiếp đến vị trí cần đọc
„ Truy nhập ngẫu nhiên (bộ nhớ trong)- ô nhớ cần đọc sẽ
đợc giải mã để lấy thông tin ngay lập tức
„ Truy nhập liên kết (bộ nhớ cache)- Truy cập thông qua bản sao của ô nhớ cần đọc
Trang 1010
3 M« h×nh ph©n cÊp hÖ thèng nhí
Việc trao đổi dữ liệu giữa BVXL và BNC là một thao tác quan trọng, chiếm đa số trong các lệnh xử lý dữ liệu nên nó quyết định hiệu suất của hệ thống VXL nói chung và máy tính nói
tốc độ trao đổi dữ liệu chậm (chênh lệch) hơn so với tốc độ làm việc của CPU (kể cả việc vận chuyển dữ liệu trong BVXL) Để nâng cao tốc độ
xử lý dữ liệu chung của toàn hệ thống, người ta
lệnh) giữa BVXL và bộ nhớ Dựa trên nguyên lý cục bộ về không gian và thời gian mà người ta xây dựng hệ thống nhớ 5 cấp như sau:
Trang 11prog./compiler 1-8 bytes
cache cntl 8-128 bytes
OS 512-4K bytes
user/operator Mbytes
Lower Level
faster
Larger
Trang 123 M« h×nh ph©n cÊp hÖ thèng nhí
Cấp 0: Tập các thanh ghi nằm trong bộ
vi xử lý Thanh ghi là bộ nhớ kiểu SRAM
nên tác động nhanh và thông tin ổn định Đây là thành phần nhớ có tốc độ trao đổi
dữ liệu nhanh nhất trong hệ thống vì nó gần ALU và CU Tuy nhiên nó có dung lượng nhỏ
Trang 133 M« h×nh ph©n cÊp hÖ thèng nhí
Cấp 1: Primary cache (cache sơ cấp): Là
bộ nhớ có tốc độ trao đổi dữ liệu rất nhanh (nhỏ hơn thanh ghi), có dung lượng nhỏ và được đặt trong bộ vi xử lý, nhưng cũng có thể nằm ngoài bộ vi xử lý Trong các bộ vi
xử lý tiên tiến, bộ nhớ cache thường được tách (chia) làm 2 với mục đích tránh xung đột trong xử lý song song (đại diện là pipeline) là Icache: dành cho lệnh và Dcache: dành cho dữ liệu
Trang 153 M« h×nh ph©n cÊp hÖ thèng nhí
Cấp 3: Main Memory (Bộ nhớ chính):
Chứa chương trình và dữ liệu đang hoạt động BN này được BVXL đánh địa chỉ trực tiếp và quản lý thông qua địa chỉ đó Một phần của chương trình đang được thi hành
có thể nằm trong cache (lệnh và dữ liệu) nhằm tăng tốc độ hoạt động của hệ thống Dung lượng của BN chính thường lớn hơn rất nhiều lần dung lượng BN cache Như
đã biết, trong các hệ thống máy tính hiện đại ngày nay thì BNC thường là DRAM
Trang 163 M« h×nh ph©n cÊp hÖ thèng nhí
Cấp 4: Secondary memory (Bộ nhớ thứ cấp – bộ nhớ ngoài): Bộ nhớ này có dung
lượng rất lớn nhưng tốc độ trao đổi dữ liệu chậm Bộ nhớ này để lưu trữ chương trình
và dữ liệu một cách lâu dài, cho nhiều người sử dụng (ghi/đọc, mất nguồn điện vẫn còn thông tin) Đại diện cho các bộ nhớ loại này đó chính là các ổ đĩa cứng, mềm CD ROM, CD – WOM, CD WR, băng
từ, …
Trang 173 Mô hình phân cấp hệ thống nhớ
Từ trái sang phải:
„ Dung lợng tăng dần
„ Tốc độ trao đổi dữ liệu giảm dần
„ Giá thành /1 bit giảm dần
„ Tần suất BXL truy nhập giảm dần
„ Mức trái chứa một phần dữ liệu của mức phải
Tập
thanh
ghi
Cache L1
Cache L2
Bộ nhớ chính
Bộ nhớ ngoài
Bộ xử lý
Trang 19Bộ nhớ bán dẫn
Kiểu bộ nhớ Tiêu chuẩn Khả năng xóa Cơ chế ghi Tính
thay đổi Read Only Memory
(ROM) Bộ nhớ
chỉ đọc
Không xóa đợc
Mặt nạ
Không khả biến
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, từng byte
Khả biến
Trang 20ROM (Read Only Memory)
Trang 21Các kiểu ROM
ROM mặt nạ (ROM cố định):
„ Thông tin đợc ghi ngay khi sản xuất
„ Rất đắt
PROM (Programmble ROM):
„ Khi sản xuất cha 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
EPROM (Erasable PROM):
„ Khi sản xuất cha 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
Trang 22Các kiểu ROM
EEPROM (Electrically Erasable PROM):
„ Có thể ghi theo từng byte
„ Xóa bằng điện
„ Ghi lâu hơn đọc
Flash memory (bộ nhớ cực nhanh)
„ Ghi theo khối
„ Xóa bằng điện
Trang 23RAM (Random Access Memory)
Bộ nhớ đọc / ghi
Khả biến
Lu trữ thông tin tạm thời
Có hai loại RAM:
„ SRAM (Static RAM)
„ DRAM (Dynamic RAM)
Trang 26VÝ dô vÒ DRAM
Trang 27Tổ chức ô nhớ
Ô nhớ là phần tử nhớ đợc 1 bit thông tin
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
Trang 28Tæ chøc cña chip nhí (SRAM)
Trang 29
29
Các tín hiệu của chip nhớ (SRAM)
Các đờng địa chỉ: A0 An - 1 có 2n ngăn nhớ
Các đờng dữ liệu: D0 Dm - 1 độ dài ngăn nhớ là 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)/CE
„ Tín hiệu điều khiển đọc: RD / OE
„ Tín hiệu điều khiển ghi: WR / WE
Trang 31VÝ dô: chip 16Mb DRAM (4M x 4 bit)
Trang 32C¸c chip nhí (nh×n bªn ngoµi)
Trang 34Tăng độ dài ngăn nhớ
Ví dụ 1:
„ Cho chip nhớ SRAM: 8K x 4 bit
„ Hãy thiết kế modul nhớ 8K x 8 bit
Trang 35H×nh vÏ (vÝ dô 1)
A0 A12 8K x 4 bit
Trang 36Tăng độ dài ngăn nhớ
Bài toán tăng độ dài tổng quát:
Cho chip nhớ 2n x m bit
Cần thiết kế modul nhớ 2n x (k.m) bit
Cần ghép nối k chip nhớ (k>=1)
Trang 37T¨ng sè lîng ng¨n nhí
VÝ dô 2:
„ Cho chip nhí SRAM: 4K x 4 bit
„ H·y thiÕt kÕ modul nhí 8K x 4 bit
Trang 39T¨ng sè lîng ng¨n nhí
Bµi to¸n t¨ng sè lîng tæng qu¸t:
Cho chip nhí 2n x m bit
CÇn ghÐp nèi modul nhí: 2k+n x m bit
CÇn ghÐp nèi 2k chip
vµ ph¶i dïng bé gi¶i m· k: 2k (k 2k)
Trang 40Tăng số lợng và độ dài ngăn nhớ
Ví dụ 3:
„ Cho chip nhớ SRAM: 8K x 4 bit
„ Hãy thiết kế modul nhớ 16K x 8 bit
Trang 42Tăng số lợng và độ dài ngăn nhớ
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)
Trang 435 Bộ nhớ chính
Các đặc trng 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ý lôgic 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
Trang 486 Bộ nhớ cache
Nguyên tắc chung
Các kỹ thuật ánh xạ địa chỉ
Các thuật toán thay thế
Hoạt động của cache
Bài tập
Trang 49Nguyê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
nhằm tăng tốc độ truy nhập bộ nhớ của CPU
Cache có thể đợc đặt trên chip CPU
Trang 50Các khái niệm
Cache hit, cache miss:
mà từ nhớ đó đang có trong cache
mà từ nhớ đó không có trong cache
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
„ Định 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
Trang 51 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
Trang 52.
Trang 53Các kỹ thuật ánh xạ địa chỉ
Ánh xạ trực tiếp (direct mapping)
Ánh xạ liên kết hoàn toàn
(fully associative mapping)
Ánh xạ liên kết tập hợp
(set associative mapping)
Trang 54Ánh xạ trực tiếp
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 trong cache
„ j: số hiệu Block trong BNC
„ m: số lợng Line trong cache
Cụ thể: B0 L0 Bm L0
B1 L1 Bm+1 L1
Trang 56
Ánh xạ trực tiếp
Khi đó, địa chỉ do CPU phát ra gồm 3 trờng:
„ Word: xác định số hiệu ngăn nhớ trong Block
Block (Line) có 2w ngăn nhớ
„ Line: xác định số hiệu Line trong cache
Cache có 2r Line, cache chứa 2r + w ngăn nhớ
„ Tag: xác định Block nào đang ở trong Line
BNC chứa 2(s - r) + r + w = 2s + w ngăn nhớ
Trang 57Ví dụ 1
Cho máy tính có dung lợng:
„ BNC = 128 MB, cache = 256 KB, line = 32 byte,
„ Độ dài ngăn nhớ = 1 byte
Tìm dạng địa chỉ do BXL phát ra?
Giải: Ta có:
„ BNC = 128 MB = 27 * 220 byte = 227 byte
„ Cache = 256 KB = 28 * 210 byte = 218 byte
„ Line = 32 byte = 25 byte w = 5
„ Số lợng Line trong cache: 218/25 = 213 r = 13
„ Số bit của phần Tag: 27 - 13 - 5 = 9, s - r = 9
5
13
9
Trang 58VÝ dô 2
Cho m¸y tÝnh cã dung lîng:
„ BNC = 256 MB, cache = 64 KB, line = 16 byte,
„ Sè lîng Line trong cache: 214/22 = 212 r = 12
„ Sè bit cña phÇn Tag: 26 - 12 - 2 = 12, s - r = 12
2
12
12
Trang 59Sơ đồ thực hiện
Trang 60Nhận xét
Ư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
Nhợc điểm:
„ Tỉ lệ cache hit thấp
Trang 61Ánh xạ liên kết hoàn toàn
Mỗi Block trong BNC đợc ánh xạ vào một Line bất
Trang 62Sơ đồ thực hiện
Trang 63Nhận xét
Ư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ỳ
Nhợc điểm:
„ Thiết kế mạch tơng đối phức tạp, thể hiện ở
mạch so sánh
Trang 64Ánh xạ liên kết tập hợp
Cache đợc chia thành nhiều Set , mỗi Set gồm nhiều Line liên tiếp
Một Block của BNC chỉ đợc ánh xạ vào một
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
Trang 66Ví dụ 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?
Giải: Ta có:
„ BNC = 512 MB = 229 byte; Cache = 128 KB = 217 byte
„ Line = 2 5 byte w = 5
„ Dung lợng Set: 23 * 25 = 28 byte
„ Số bit của phần Tag: 29 - 9 - 5 = 15, s - d = 15
5
9
15
Trang 67Ví dụ 2
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
Trang 68Sơ đồ thực hiện
Trang 69Nhận xét
Ư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
Nhợc điểm:
„ Thiết kế mạch phức tạp
Trang 70Các thuật toán thay thế
Kỹ thuật ánh xạ trực tiếp: Không thay đợc
Hai kỹ thuật ánh xạ liên kết: có 4 thuật toán
Dễ thực hiện, nhanh nhất, tỉ lệ cache hit thấp
„ FIFO (First In - First Out): thay Block ở đầu tiên trong số các Block đang có trong cache
tỉ lệ cache hit không cao
„ LFU (Least Frequently Used): thay Block đợc dùng với tần suất ít nhất tỉ lệ cache hit tơng đối cao
„ LRU (Least Recently Used): thay Block đợc dùng gần
đây ít nhất tỉ lệ cache hit cao
Trang 71Hoạt động của cache
Đọc:
„ Nếu cache hit: đọc ngăn nhớ từ cache
„ Nếu cache miss: thay Block cache hit
Ghi:
„ Nếu cache hit: có 2 phơng pháp:
Write through: ghi dữ liệu vào cả cache và cả BNC
Trang 72Hoạt động của cache
a) Write Through
b) Write Back
Trang 73Ví dụ cache trên các bộ xử lý Intel
80386: không có cache trên chip
80486: „ 8KB, kích thớc Line: 16 byte
„ ánh xạ liên kết tập hợp 4 đờng
Pentium: có hai cache L1 trên chip
„ Cache lệnh: 8KB, cache dữ liệu: 8KB:
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
Trang 75Các đặc tính của đĩa từ
Đầu từ cố định hay chuyển động
Đĩa cố định hay thay đổi
Trang 76Mặt đĩa
Trang 77Khu«n d¹ng cña mét r·nh (track)
Trang 78Nhiều đĩa
Trang 79Cylinders
Trang 80 Thời gian trễ
„ Chờ đến khi dữ liệu nằm ngay dới đầu từ
Trang 82Đĩa mềm
ổ đĩa mềm
Trang 84§Üa cøng
§Üa
Trôc quay CÇn mang ®Çu tõ
Trang 85RAID
Redundant Array of Independent Disks
Có 7 loại RAID (RAID 0 RAID 6)
Không phân cấp RAID
Tập hợp nhiều đĩa vật lý đợc HĐH coi nh một đĩa (logic) duy nhất
Dữ liệu đợc phân bố trên nhiều đĩa vật lý khác nhau
Dung lợng RAID lên tới hàng nghìn GB
Do dung lợng lớn cần có một phần đĩa dùng để
lu trữ thông tin an toàn
Trang 86RAID 0
Không có phần d thừa (thông tin an toàn)
Dữ liệu đợc chứa trong các strip
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
Trang 87ánh xạ dữ liệu đối với RAID 0
Trang 88RAID 1
Dùng kỹ thuật mirroring (n + n đĩa)
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
Khi đọc: bất kỳ bản nào; Khi ghi: ghi vào cả hai bản
Khi bị lỗi: đọc từ bản kia và nhân bản lại
Giá thành đắt
Trang 89RAID 2
Dùng (n + m) đĩa: n đĩa dữ liệu, m đĩa mã Hamming
Các strip rất bé: khoảng 1 hoặc 2 byte
Việc sửa lỗi đợc tính dựa theo các bit tơng ứng trên các đĩa
Nhiều đĩa chứa mã Hamming để sửa lỗi ở các vị trí tơng ứng
Nhiều phần d thừa: đắt; không phổ dụng
Trang 90RAID 3
Tơng tự RAID 2, nhng phần thông tin an toàn chỉ dùng
1 đĩa
Chỉ dùng 1 bit parity cho tập các bit dữ liệu tơng ứng
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
Tốc độ truyền dữ liệu nhanh
Trang 91RAID 4
Mỗi đĩa hoạt động độc lập
Thích hợp với truyền dữ liệu tốc độ cao
Trang 94§Üa quang CD-ROM
Trang 95Hoạt động của đĩa CD
Nhãn đĩa Tầng bảo vệ (axit acrylic)
Tầng phản xạ (nhôm) Lớp polycarbonate (plastic)
Đĩa CD-ROM, dung l-ợng 682 MB
Các tiêu điểm laser trên các hốc polycarbonate ở phía tr-ớc tầng phản xạ
Axit acrylic bảo vệ
Trang 96„ 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
Các tốc độ khác là bội số, ví dụ: 48x, 52x,
Trang 97Khu«n d¹ng CD-ROM
Mode 0: trêng d÷ liÖu trèng
Mode 1: 2048 byte d÷ liÖu + söa lçi
Mode 2: 2336 byte d÷ liÖu
Trang 98„ 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
Trang 99Các bộ nhớ quang khác
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
Đĩa DVD, hai mặt, hai tầng, dung l-ợng: 17 GB