Hệ thống nhớ phân cấp

Các đặc tính như lượng thông tin lưu trữ, thời gian thâm nhập bộ nhớ, chu kỳ bộ nhớ, giá tiền mỗi bit nhớ khiến ta phải phân biệt các cấp bộ nhớ: các bộ nhớ nhanh với dung lượng ít đến các bộ nhớ chậm với dung lượng lớn. Hình H.1.

Ta nhận thấy rằng từ trái sang phải: dung lượng tăng dần, tốc độ giảm dần, giá thành/1bit giảm dần.

Máy tính lưu trữ dữ liệu cũng theo cấu trúc phân cấp tương tự. Khi các ứng dụng khởi động, dữ liệu và lệnh được chuyển từ đĩa cứng tốc độ chậm sang bộ nhớ chính (RAM động hay DRAM), nơi mà CPU có thể truy xuất nhanh hơn. DRAM hoạt động như là một vùng đệm cho đĩa.

Mặc dù DRAM nhanh hơn đĩa cứng, nó vẫn còn bị hạn chế. Vì thế, dữ liệu thường dùng đến sẽ được chuyển lên một loại bộ nhớ nhanh hơn gọi là bộ nhớ đệm cấp 2 (L2). Loại bộ nhớ này có thể nằm trên RAM tĩnh cạnh bên CPU, nhưng những CPU loại mới thường kết hợp bộ nhớ đệm L2 ngay trên chip bộ xử lý. Hình H.2

Ở cấp cao nhất, thông tin thường sử dụng nhất, ví dụ lệnh của các vòng lặp thực thi lặp đi lặp lại, được lưu trực tiếp trong một vùng đặc biệt ngay trên bộ xử lý gọi là bộ nhớ đệm cấp 1 (L1). Đây là loại bộ nhớ nhanh nhất.

Bộ nhớ đệm L2 nằm trên CPU có tốc độ truy xuất nhanh gấp bốn lần so với trường hợp nó nằm trên chip riêng.

Khi bộ xử lý cần thực thi một câu lệnh nào đó, đầu tiên nó sẽ tìm kiếm trong thanh ghi dữ liệu của riêng nó. Nếu dữ liệu cần thiết không có ở đó, nó sẽ tìm trên bộ nhớ đệm L1 và sau đó là L2, và nếu trong bộ nhớ đệm cũng không có nó sẽ gọi đến bộ nhớ chính RAM. Cuối cùng, nếu dữ liệu vẫn không có thì hệ thống sẽ phải lấy dữ liệu này từ đĩa cứng.

Các đặc tính chính của các cấp bộ nhớ dẫn đến hai mức chính là: mức cache – bộ nhớ trong và mức bộ nhớ ảo (bao gồm bộ nhớ trong và không gian cấp phát trên  đĩa cứng). Cách tổ chức này trong suốt đối với người sử dụng. Người sử dụng chỉ thấy duy nhất một không gian định vị ô nhớ, độc lập với vị trí thực tế của các lệnh và dữ liệu cần thâm nhập.

Các cấp bộ nhớ giúp ích cho người lập trình muốn có một bộ nhớ thật nhanh với chi phí đầu tư giới hạn. Vì các bộ nhớ nhanh đắt tiền nên các bộ nhớ được tổ chức thành nhiều cấp, cấp có dung lượng ít thì nhanh nhưng đắt tiền hơn cấp có dung lượng cao hơn. Mục tiêu của việc thiết lập các cấp bộ nhớ là người dùng có một hệ thống bộ nhớ rẻ tiền như cấp bộ nhớ thấp nhất và gần nhanh như cấp bộ nhớ cao nhất. Các cấp bộ nhớ thường được lồng vào nhau. Mọi dữ liệu trong một cấp thì được gặp lại trong cấp thấp hơn và có thể tiếp tục gặp lại trong cấp thấp nhất.

Chúng ta có nhận xét rằng, mỗi cấp bộ nhớ có dung lượng lớn hơn cấp trên mình, ánh xạ một phần địa chỉ các ô nhớ của mình vào địa chỉ ô nhớ của cấp trên trực tiếp có tốc độ nhanh hơn, và các cấp bộ nhớ phải có cơ chế quản lý và kiểm tra các địa chỉ ánh xạ.