Khoa KH & KT Máy tính
Bộ môn Kỹ thuật Máy tính
Phạm Tường
ng
Nguyễn Quốc
Hải
Tuấn
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
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 q 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 q 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 ngồi
• Kết quả trung gian: đa phần cũng được ghi tạm vào bộ nhớ
chính trong q 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 tố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
1ù
5ù
2ù
6
3ù
chọn ô nhớ
Ô nhớ
* Tác vụ đọc ô nhớ
* Tác vụ ghi ô nhớ
Kiến trúc Máy tính - Chap 06
G
H
I
Vùng nhớ
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ớ
Đ
O
ÏC
•
•
•
•
•
0ù
4ù
Mạch giải mã
chọn ô nhớ
Địa chỉ
Thanh ghi địa chỉ
Điều khiển
ĐỌC/GHI
Thanh ghi dữ liệu
Dữ liệu
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
Size Cost ($/bit)
Speed
CPU
càng phải nhỏ
Fastest
• 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
Smallest
Highest
Biggest
Lowest
Memory
Slowest
Kiến trúc Máy tính - Chap 06
Memory
Memory
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
10 - 20 million ns
.
$0.10 - $0.20
Magnetic disk
• 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à hồn
tồ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ớ
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
CPU
Level 1
Level 2
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)
• 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
Kiến trúc Máy tính - Chap 06
CPU
Upper level
Lower level
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 ln ln 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