Bài giảng môn Kiến trúc máy tính - Chương 6: Bộ nhớ
Bạn đang xem tài liệu "Bài giảng môn Kiến trúc máy tính - Chương 6: Bộ nhớ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_6_bo_nho.pdf
Nội dung text: Bài giảng môn Kiến trúc máy tính - Chương 6: Bộ nhớ
- KhoaKhoa KHKH && KTKT MMááyy ttíínhnh BoBoää moânmoân KyõKyõ thuathuaätät MaMaùyùy ttíínhnh Phaïmï Töôøngø Haûiû Nguyeãn Quoácá Tuaáná
- Tài liệuthamkhảo ) “Computer Organization and Design: the hardware/software interface”, John L. Hennessy & David A. Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC. 1998 ) “Computer Architecture: a quantitative approach”, John L. Hennessy & David A. Patterson, Third Edition, MORGAN KAUFMANN PUBLISHERS, INC. 2002 Kiến trúc Máy tính - Chap 06 2
- Chương 6. Kiến trúc Máy tính - Chap 06 3
- 6.1 Vai trò của bộ nhớ chính ) Bộ nhớ chính (main memory) là đơn vị chứa chương trình và dữ liệu trong quá trình hoạt động của máy tính ) Chương trình được nạp vào bộ nhớ chính trước khi được thực thi bởi bộ xử lý •Chương trình gồm nhiều câu lệnh xếp kế tiếp nhau trong bộ nhớ chính • Trong quá trình thực thi chương trình, các câu lệnh chứa trong bộ nhớ chính lần lượt được đọc và thực thi bởi bộ xử lý ) Dữ liệu liên quan đến chương trình bao gồm •Số liệu đầu vào: được nạp vào bộ nhớ chính cùng với chương trình •Kết quả cuối cùng: được ghi vào bộ nhớ chính trước khi thể hiện ra bên ngoài •Kết quả trung gian: đa phần cũng được ghi tạm vào bộ nhớ chính trong quá trình thực thi chương trình Kiến trúc Máy tính - Chap 06 4
- 6.1 ) Chương trình và dữ liệu sẽ được lấy ra khỏi bộ nhớ chính (thực chất là ghi chồng lên !) sau khi kết thúc thực thi ) Các hoạt động liên quan đến bộ nhớ chính • Ghi các câu lệnh của chương trình •Ghi số liệu đầu vào •Ghi kết quả và kết quả trung gian • Đọc câu lệnh • Đọc số liệu đầu vào và kết quả trung gian (đọc toán hạng) ) Các công nghệ hiện thực bộ nhớ •Chuyển mạch điện từ (relay) •Xuyến từ •Bộ nhớ bán dẫn: ROM, SRAM, DRAM • Đĩa từ Kiến trúc Máy tính - Chap 06 5
- 6.1 ) Kiến trúc bộ nhớ chính Ñieàu khieån ÑOÏC/GHI 0ù 1ù 2ù 3ù 4ù 5ù 6 Ñòa chæ choïn oâ nhôù choïn oâ nhôù oâ choïn OÂ nhôù Maïch giaûi maõ giaûi Maïch Thanh ghi ñòa chæ ñòa ghi Thanh Vuøng nhôù • Vùng nhớ C I OÏ • Thanh ghi địa chỉ Ñ GH •Mạch giải mã chọn ô nhớ • Thanh ghi dữ liệu Thanh ghi döõ lieäu •Các tác vụ liên quan đến bộ nhớ * Tác vụ đọc ô nhớ * Tác vụ ghi ô nhớ Döõ lieäu Kiến trúc Máy tính - Chap 06 6
- 6.2 Bộ nhớ phân cấp ) Người sử dụng đòi hỏi gì về bộ nhớ • Dung lượng vô tận •Tốc độ nhanh • Giá thành thấp ) Mâu thuẫn giữa những đòi hỏi trên • Mâu thuẫn giữa dung lượng và tốc độ • Mâu thuẫn giữa dung lượng và giá thành • Mâu thuẫn giữa tốc độ và giá thành ) Liệu có chăng 1 giải pháp khả thi cho các đòi hỏi trên ? ) Khảo sát và phân tích cách làm của một đọc giả trong thư viện ) Liên tưởng đến hoạt động của bộ nhớ ? Kiến trúc Máy tính - Chap 06 7
- 6.2 ) Nguyên lý phân bổ vị trí (principle of locality) • Các nguyên lý này được rút ra dựa trên khảo sát việc truy xuất bộ nhớ khi thực thi chương trình • Phân bổ về thời gian (temporal locality): nếu 1 phần tử dữ liệu/chương trình được truy xuất, phần tử này sẽ lại được truy xuất trong tương lai gần • Phân bổ về không gian (spatial locality): nếu 1 phấn tử dữ liệu/chương trình được truy xuất, các phần tử lân cận phần tử trên sẽ được truy xuất trong tương lai gần • Suy nghiệm các nguyên lý trên đối với việc truy xuất chương trình và dữ liệu ) Liên tưởng đến việc truy xuất sách trong thư viện ) Giải pháp nào khi áp dụng cho bộ nhớ ? •Kiến trúc ra sao ? •Hiệu quả đạt được thế nào ? Kiến trúc Máy tính - Chap 06 8
- 6.2 ) Các nguyên lý phân bổ được khai thác nhờ vào kiến trúc của bộ nhớ phân cấp (memory hierarchy) •Một bộ nhớ phân cấp sẽ bao gồm nhiều cấp (level) bộ nhớ với tốc độ và kích thước khác nhau •Bộ nhớ có tốc độ càng nhanh thì đơn giá/bit càng cao Ö kích thước trong bộ nhớ phân cấp Speed CPU Size Cost ($/bit) càng phải nhỏ FastestMemory Smallest Highest •Bố trí kích thước, tốc độ, giá thành của Memory các cấp bộ nhớ trong 1 hệ bộ nhớ phân cấp SlowestMemory Biggest Lowest Kiến trúc Máy tính - Chap 06 9
- 6.2 ) Khảo sát 3 công nghệ bộ nhớ thông dụng hiện hành •Tốc độ và giá thành Technology Typical access time $ per Mbyte in 1997 SRAM 5 - 25 ns . $100 - $250 DRAM 60 - 120 ns . $5 - $10 Magnetic disk 10 - 20 million ns . $0.10 - $0.20 • Vì các công nghệ bộ nhớ có sự khác biệt rất lớn về tốc độ và giá thành, nên việc tổ chức bộ nhớ thành nhiều cấp, cấp càng gần CPU càng có tốc độ cao nhưng có kích thước càng nhỏ là hoàn toàn hợp lý •Bộ nhớ chính sử dụng công nghệ DRAM •Bộ nhớ nằm gần với CPU sử dụng công nghệ SRAM •Bộ nhớ phụ sử dụng công nghệ đĩa từ, có dung lượng rất lớn nhưng tốc độ chậm rất nhiều lần so với bộ nhớ chính Kiến trúc Máy tính - Chap 06 10
- 6.2 ) Sơ đồ khối kiến trúc của bộ nhớ CPU phân cấp Level 1 ) Trong hệ bộ nhớ phân cấp, Level 2 cấp gần CPU là tập con của các cấp xa hơn và cấp xa nhất (hay thấp nhất) là cấp chứa tất cả chương trình/dữ liệu Level n ) Tuy hệ bộ nhớ phân cấp được tổ chức thành nhiều cấp, nhưng tại mỗi thời điểm, thông tin chỉ được sao chép giữa 2 cấp kề nhau mà thôi Ö Chúng ta có thể giới hạn chỉ khảo sát trên 2 cấp Kiến trúc Máy tính - Chap 06 11
- 6.2 ) Trong hệ bộ nhớ 2 cấp (two-level hierarchy) CPU •Cấp cao (upper level) - cấp Upper level gần CPU hơn – có kích thước nhỏ hơn và có tốc độ nhanh hơn (do sử dụng công nghệ bộ nhớ có tốc độ nhanh và mắc tiền hơn) so Lower level với cấp thấp (lower level) • Đơn vị thông tin nhỏ nhất có thể hoặc là hiện diện hoặc là không hiện diện trong hệ bộ nhớ 2 cấp gọi là block Kiến trúc Máy tính - Chap 06 12
- 6.2 •Trường hợp dữ liệu do CPU yêu cầu nằm trong 1 block nào đó ở bộ nhớ cấp cao được gọi là 1 hit •Trường hợp ngược lại với hit được gọi là 1 miss. Trong trường hợp này, bộ nhớ cấp thấp sẽ được truy xuất để chép block thông tin có chứa dữ liệu cần thiết lên bộ nhớ cấp cao và sau đó chuyển dữ liệu yêu cầu (nằm trong block thông tin vừa chép) đến CPU • Hit rate hay hit ratio là tỉ lệ hit trong truy xuất bộ nhớ cấp cao • Quan hệ giữa hit ratio và miss ratio miss ratio = 1 - hit ratio • Ở hệ bộ nhớ 2 cấp, hit ratio ở bộ nhớ cấp thấp luôn luôn là 1 • hit time là thời gian truy xuất dữ liệu ứng với 1 hit, bao gồm thời gian xác định hit hay miss + thời gian chuyển dữ liệu đến CPU • miss penalty bao gồm thời gian thay thế 1 block trong bộ nhớ cấp cao bởi 1 block từ bộ nhớ cấp thấp + thời gian chuyển dữ liệu đến CPU Kiến trúc Máy tính - Chap 06 13