Bài Tập Chương IV
1. Bảng nhãn sau khi được khởi động:
Khối
8
17
23
34
38
67
69
132
Chỉ
Nhãn
số
0
0
1
0
2
0
3
0
4
1
5
0
6
0
7
0
0
0
0
0
0
0
0
1
Nhãn
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
Chỉ số
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
M
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2. Cập nhật bảng nhãn khi CPU lần lượt đưa ra các địa chỉ sau đây để đọc / ghi vào bộ nhớ trong:
•
Đọc: 43FH: 01000 011 1111
M = 0 => Đọc dữ liệu từ bộ nhớ cache, bảng nhãn không thay đổi.
Bảng nhãn sau khi đọc:
Chỉ số
Nhãn
M
0
0 0 0 0 1 0
1
0 0 0 1 0 0
2
0 0 1 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 0
6
0 0 1 0 0 0
7
0 0 0 1 0 0
•
Đọc: 82AH: 10000 010 1010
M = 0 => Nạp khối mới lên cache, cập nhập bảng nhãn, đọc dữ liệu từ bộ nhớ cache.
Bảng nhãn sau khi đọc:
Chỉ số
Nhãn
M
0
0 0 0 0 1 0
1
0 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 0
6
0 0 1 0 0 0
7
0 0 0 1 0 0
•
Đọc: 915H: 10010 001 0101
M = 0 => Nạp khối mới lên cache, cập nhập bảng nhãn, đọc dữ liệu từ bộ nhớ cache.
Bảng nhãn sau khi đọc:
Chỉ số
Nhãn
M
0
0 0 0 0 1 0
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 0
6
0 0 1 0 0 0
7
0 0 0 1 0 0
•
Ghi: 08CH: 00001 000 1100
M = 0 => Chỉ ghi vào bộ nhớ cache, cập nhật Bit M = 1.
Bảng nhãn sau khi ghi:
Chỉ số
Nhãn
M
0
0 0 0 0 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 0
6
7
0
0
0
0
1
0
0
1
0
0
0
0
•
Ghi: B4AH: 10110 100 1010
M = 0 => Ghi vào bộ nhớ trong và nạp khối lên cache và cập nhập lại bảng nhãn.
Bảng nhãn sau khi ghi:
Chỉ số
Nhãn
M
0
0 0 0 0 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 1 0 0
5
0 1 0 0 0 0
6
0 0 1 0 0 0
7
0 0 0 1 0 0
•
Ghi: 45DH: 01000 101 1101
M = 0 => Chỉ ghi vào bộ nhớ cache và cập nhâp Bit M = 1.
Bảng sau khi được ghi:
Chỉ số
Nhãn
M
0
0 0 0 0 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 1
6
0 0 1 0 0 0
7
0 0 0 1 0 0
•
Đọc: 5E9H: 01011 110 1001
M = 0 => Nạp khối mới lên cache, cập nhập bảng nhãn, đọc dữ liệu từ bộ nhớ cache.
Bảng nhãn sau khi đọc:
Chỉ số
Nhãn
M
0
0 0 0 0 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 1
6
0 1 0 1 1 0
7
0 0 0 1 0 0
•
Ghi: C7AH: 11000 111 1010
M = 0 => Ghi vào bộ nhớ trong và nạp khối lên cache và cập nhập lại bảng nhãn.
Bảng nhãn sau khi ghi:
Chỉ số
Nhãn
M
0
0 0 0 0 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 1
6
0 1 0 1 1 0
7
1 1 0 0 0 0
•
Đọc: D85: 11011 000 1101
M = 0 => Nạp khối mới lên bộ nhớ cache, cập nhật lại bảng nhãn, đọc dữ liệu từ bộ nhớ
cache.
Bảng nhãn sau khi đọc:
Chỉ số
Nhãn
M
0
1 1 0 1 1 1
1
1 0 0 1 0 0
2
1 0 0 0 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 1
6
0 1 0 1 1 0
7
1 1 0 0 0 0
•
Ghi: 92AH: 10010 010 1010
M = 0 => Ghi vào bộ nhớ trong và nập khối lên cache, cập nhật lại bảng nhãn.
Bảng nhãn sau khi ghi:
Chỉ số
Nhãn
M
0
1 1 0 1 1 1
1
1 0 0 1 0 0
2
1 0 0 1 0 0
3
0 1 0 0 0 0
4
1 0 1 0 0 0
5
0 1 0 0 0 1
6
0 1 0 1 1 0
7
1 1 0 0 0 0
•
c
Đọc: 6C5H: 01101 100 0101
M = 0 => Nạp khối mới lên cache, cập nhật lại bảng nhãn, đọc dữ liệu từ bộ nhớ cache.
Bảng nhãn sau khi đọc:
Nhãn
M
0
1
2
3
4
5
6
7
•
c
0
1
2
3
4
5
6
7
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
Ghi: 458H: 01000 101 1000
M = 1 => Chỉ ghi vào bộ nhớ cachde, cập nhật lại Bit M = 1.
Bảng nhãn sau khi ghi:
Nhãn
M
1 1 0 1 1 1
1 0 0 1 0 0
1 0 0 1 0 0
0 1 0 0 0 0
0 1 1 0 1 0
0 1 0 0 0 1
0 1 0 1 1 0
1 1 0 0 0 0