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
13 trang | 
Chia sẻ: longpd | Lượt xem: 2968 | 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