Tổ chức bộ nhớ theo phân cấp

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 43 - 45)

- Hệ thống nhớ của máy tính ngày nay gồm các loại sau: + Các thanh ghi bên trong CPU

+ Bộ nhớ trong (bộ nhớ chính): có RAM +ROM

+ Bộ nhớ ngoài: có ổ đĩa cứng, ổ đĩa mềm, ổ đĩa quang, đĩa CD,… + Bộ nhớ cache

Mi loi b nh có vai trò thế nào? và các loi b nh này được t chc như thế nào?

- Một trong các chức năng của CPU là tuần tự nhập lệnh từ bộ nhớ chính và thực hiện lệnh mà tốc độ truy nhập bộ nhớ chính (bộ nhớ thao tác) tương đối chậm (với DRAM là khoảng 100ns = 1.10-7s) so với khả năng của CPU (ví dụ với Pentium IV 3,4 GHz thì tần số xung nhịp trong là tần số xung nhịp ngoài 200MHz * 17)Nếu CPU nhập các lệnh và dữ liệu trực tiếp từ bộ nhớ chính thì tốc độ xử lý thực của CPU phụ thuộc vào tốc độ truy nhập của bộ nhớ chính Kỹ thuật được sử dụng để giảm thời gian trung bình truy nhập bộ nhớ chính là thêm một bộ nhớ có tốc độ truy nhập cao, bộ nhớ SRAM vào hệ thống lưu trữ. Bộ nhớ loại này được gọi là bộ nhớ cache (bộ nhớ ẩn).

- Mặt khác dung lượng nhớ của bộ nhớ chính cũng khá hạn chế, do vậy nếu hệ thống lưu trữ chỉ gồm bộ nhớ chính cũng sẽ hạn chế khả năng của CPU giải pháp đưa ra là sử dụng bộ nhớ ngoài như là một thành phần của hệ thống bộ nhớ để tăng khả năng lưu trữ thông tin của máy tính.

- Kỹ thuật tổ chức hệ thống nhớ: Tại một thời khoảng thì các lệnh và dữ liệu được sử dụng thường đều nằm ở một khu vực tương đối nhỏ trong bộ nhớ chính. Các vùng này luôn chuyển dịch khi chạy chương trình do đó người ta tổ chức hệ thống bộ nhớ máy tính theo kiểu hệ thống có phân cấp. Cụ thể như hình vẽ sau:

44 + Các thanh ghi: Là đơn vị lưu trữ, có kích thước nhỏ (dài 8bits, 16bits, 32bits) nằm ngay trong CPU do vậy tốc độ truy cập rất nhanh. Chúng được dùng để chứa toán hạng của lệnh.

+ Bộ nhớ cache: có dung lượng lớn hơn các thanh ghi, được chế tạo theo kiểu SRAM (đơn vị nhớ cơ bản tĩnh là một mạch lật flip-flop), nằm giữa bộ nhớ chính CPU. Được sử dụng để lưu trữ các các lệnh và dữ liệu thường được sử dụng nhiều trong quá trình thực hiện chương trình.

+ Bộ nhớ chính: Có dung lượng lớn hơn bộ nhớ cache, được tạo bởi các vi mạch nhớ bán dẫn DRAM nên có tốc độ truy xuất chậm hơn bộ nhớ cache. Bộ nhớ chính chứa mã lệnh chương trình và dữ liệu của chương trình đang chạy hiện thời như các chương trình điều khiển hoạt động của hệ thống, các chương trình ứng dụng . Nó cho phép CPU nhận lệnh từ đây để khởi động hệ thống. Các chương trình ứng dụng cũng như các dữ liệu cùng các kết quả tạm thời được lưu trữ trong RAM.

+ Bộ nhớ ngoài: Dung lượng lớn, thông tin vẫn được lưu trữ khi mất nguồn nuôi. Bộ nhớ ngoài dùng để chứa chương trình của hệ điều hành, các chương trình ứng dụng, kết quả phép tính…

Nhn xét: Tc độ truy cp ca CPU s gim dn theo tng cp ca b nh t các thanh ghi trong CPU ti b nh th cp (đĩa t). Dung lượng nh s tăng dn tính t CPU -> b nh

th cp (đĩa t)

- Cơ sở của việc quản lý hệ thống bộ nhớ có phân cấp là dựa trên nguyên lý quy chiếu phân vùng (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), như hình sau:

Khi CPU cần truy xuất dữ liệu:

+ Nếu dữ liệu nằm ngay trong thanh ghi thì CPU truy xuất ngay và đưa vào xử lý. + Nếu dữ liệu nằm ngoài thanh ghi: CPU sẽ tìm và nạp dữ liệu từ bộ nhớ cache.

45 đó đưa vào cache.

+ Nếu dữ liệu không có trong RAM thì dữ liệu tiếp tục được tìm nạp trong bộ nhớ ngoài.

Như vậy để tăng tốc độ truy xuất bộ nhớ thì cần phải có chương trình hoán vị dữ liệu (Swapping) để thực hiện luân chuyển các khối dữ liệu vào bộ nhớ cache để sao cho xác suất tìm thấy dữ liệu trong bộ nhớ cache là lớn nhất.

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 43 - 45)