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ý
13 trang |
Chia sẻ: longpd | Lượt xem: 2801 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Cấu trúc máy tính chương 6, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Khoa KH & KT Máy tính
Boää moânâ Kyõõ thuaäät Maùùy tính
Phaïïm Töôøøng Haûûi
Nguyeãnã Quoáác Tuaáán
Kiến trúc Máy tính - Chap 06 2
Tài liệu tham khả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 3
Chương 6.
Kiến trúc Máy tính - Chap 06 4
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 5
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 6
6.1 ...
)Kiến trúc bộ nhớ chính
T
h
a
n
h
g
h
i
ñ
ò
a
c
h
æ
Thanh ghi döõ lieäu
0ù 1ù 2ù 3ù
4ù 5ù
OÂ nhôù
M
a
ï
c
h
g
i
a
û
i
m
a
õ
c
h
o
ï
n
o
â
n
h
ô
ù
6
Ñ O
Ï C
G H
I
Ñòa chæ
Vuøng nhôù
choïn oâ nhôù
Döõ lieäu
Ñieàu khieån
ÑOÏC/GHI
• Vùng nhớ
• Thanh ghi địa chỉ
• Mạch giải mã chọn ô nhớ
• Thanh ghi dữ liệu
• Các tác vụ liên quan đến bộ nhớ
* Tác vụ đọc ô nhớ
* Tác vụ ghi ô nhớ
Kiến trúc Máy tính - Chap 06 7
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 8
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 9
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
càng phải nhỏ
• Bố trí kích thước,
tốc độ, giá thành của
các cấp bộ nhớ trong
1 hệ bộ nhớ phân cấp
Memory
Memory
Memory
CPUSpeed Size Cost ($/bit)
Fastest Smallest Highest
Slowest Biggest Lowest
Kiến trúc Máy tính - Chap 06 10
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
• 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
$0.10 - $0.2010 - 20 million ns .Magnetic disk
$5 - $1060 - 120 ns .DRAM
$100 - $2505 - 25 ns .SRAM
$ per Mbyte in 1997Typical access timeTechnology
Kiến trúc Máy tính - Chap 06 11
6.2 ...
)Sơ đồ khối kiến trúc của bộ nhớ
phân cấp
) Trong hệ bộ nhớ phân cấp,
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
) 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
Level n
Level 2
Level 1
CPU
Kiến trúc Máy tính - Chap 06 12
6.2 ...
) Trong hệ bộ nhớ 2 cấp
(two-level hierarchy)
• Cấp cao (upper level) - cấp
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
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
CPU
Upper level
Lower level
Kiến trúc Máy tính - Chap 06 13
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