6. Cấu trúc của luận án
1.2.4. Phân cấp hệ thống nhớ
Phân cấp hệ thống nhớ là nhóm các thiết bị nhớ thành từng lớp theo tốc độ, dung lượng, và kiểu kết nối sao cho chúng đảm bảo sự truy nhập của chương trình
đến các khoản (lệnh, dữ liệu) được thực hiện nhanh nhất. Trong hệ thống đa xử lý, hệ thống nhớ được phân thành một số lớp [20, 25, 72] như hình 1.10.
Hình 1. 10: Phân lớp của hệ thống nhớ [25, 72] .
Trong đó:
1. L0: là các thanh ghi bên trong chip, có tốc độ bằng tốc độ của lõi CPU và tham gia trực tiếp vào thực hiện các lệnh với ALU. Các CMP đa luồng hiện nay có
nhiều loại thanh ghi được sử dụng ởnhiều mục đích khác nhau và có số lượng lớn nên thường được gọi là các tệp thanh ghi. Với tổ chức cache phân cấp, bên trong
CPU các thanh ghi trao đổi các khoản thông tin (dữ liệu, mã lệnh) trực tiếp với L1
cache. Thời gian truy nhập các thanh ghi khoảng (0,30,5)ns.
2. L1 cache (cache sơ cấp): là một bộ nhớ có dung lượng nhỏ khoảng (8
128)KB, L1 cache sử dụng công nghệ SRAM được tích hợp bên trong CMP đa
luồngvà được phân chia thành L1I cache và L1D cache. L1 cache có thểđạt tới tốc
độ của lõi, L1 cache có thời gian truy nhập nhỏkhoảng (13) ns, hoặc thấp hơn. Bộ nhớ chính chứa các khối dữ liệu lấy từ đĩa cứng
Đĩa cục bộ chứa các files lấy từ các máy chủ dịch vụ mạng
CPU Registers Cache trên chip
(SRAM) Cache trên chip
(SRAM)
Bộ nhớ chính
(DRAM)
Thiết bị nhớ trên đĩa cứng Thiết bị nhớ trên mạng Cache trên hay ngoài chip
(SRAM) L0 L1 L2 L3 L4 L5 L6
CPU registers chứa các từ lấy từ L1 cache
L1 cache chứa các dòng cache lấy từ L2 cache
L2 cache chứa các dòng lấy từ L3 cache
L3 cache chứa các dòng lấy từ bộ nhớ chính Dung lượng nhỏ hơn,
tốc độ nhanh hơn, chí phí cao hơn
Dung lượng lớn hơn tốc độ chậm hơn, chí phí thấp hơn
3. L2 cache (cache thứ cấp): là bộ nhớ sử dụng công nghệ SRAM, L2 cache
thường có dung lượng 256KB, 512KB, (13)MB và có độ trễ lớn hơn L1 cache.
L2 cache là cache thống nhất nằm trên CMP, có thời gian truy nhập khoảng (3
10)ns. Hầu hết, các CMP đa luồng hiện nay đều có 2 cấp cache (L1 và L2 cache) nằm bên trong CMP, trong đó: L1 cache riêng cho mỗi lõi và L2 cache chia sẻ cho tất cả các lõi. Nhưng nếu CMP đa luồng có 3 cấp cache (L1, L2, và L3 cache) thì L2 cache riêng cho từng lõi hay chia sẻ cho 2 hoặc 4-lõi.
4. L3 cache: là bộ nhớsử dụng công nghệ SRAM, có thể nằm bên trong hay bên ngoài CMP, hay trên bo mạch chủ giữa CPU và bộ nhớ chính. L3 cache là
cache thống nhất có dung lượng lớn hơn L2 cache. Từ kiến trúc Pentium 4 đã có 3 cấp cache: L1 và L2 cache nằm trên chip, L3 cache nằm bên ngoài chip. Các CMP Nehalem của Intel, L3 cache có dung lượng 2MB, 4MB, 6MB, 8MB, hay 12MB
(như Core i7) nằm bên trong CMP [25, 76]. L3 cache có thời gian truy nhập lớn hơn
L2 cache, khoảng (1020)ns.
5. Bộ nhớ chính: có thể là L3 hay L4. Bộ nhớ chính sử dụng công nghệ
DRAM. Bộ nhớ chính có dung lượng lớn hơn nhiều so với các cache, khoảng (4 16)GB tùy theo khả năng đánh địa chỉ của CMP (hay độ rộng theo số bit của bus địa chỉ). Thời gian truy nhập bộ nhớ chính lớn, khoảng (50 100)ns.
6.Các thiết bị nhớ trên đĩa cứng: có dung lượng lớn hơn nhiều so với bộ nhớ
chính, dung lượng khoảng (116)TB, nhưng thời gian truy nhập lớn, khoảng (5
10)ms. Các ổ đĩa cứng là bộ nhớ thứ cấp chính của hệ thống máy tính, vì vậy nó được kết nối cứng trong hệ thốngvà có độ bền cao. Trong quản lý bộ nhớ trên ổ đĩa
cứng có tạo ra các vùng nhớ ảo lưu trữ các module của chương trình thực hiện.
Vùng nhớ ảo được xem như vùng nhớ mở rộng cho bộ nhớ chính.
7. Thiết bị nhớ trên mạng: như các hệ thống đĩa cứng (RAID) trên các máy chủ dịch vụ mạng trên LAN. Các khối dữ liệu có thể được vận chuyển từ thiết bị
nhớ ở xa về hệ thống nhớ cục bộ hoặc theo hướng ngược lại qua môi trường LAN