Professional Documents
Culture Documents
Bài 5
CẤU TRÚC BỘ XỬ LÝ VÀ
1
Machine Translated by Google
Xử lý dữ liệu
Ghi dữ liệu
2
Machine Translated by Google
3
Machine Translated by Google
4
Machine Translated by Google
đăng ký
CPU cần những vùng nhớ tạm thời để hoạt động, gọi là
các thanh ghi.
5
Machine Translated by Google
Địa chỉ: dùng cho các chế độ đánh địa chỉ như
con trỏ đoạn, thanh ghi chỉ mục, con trỏ ngăn xếp
Mã điều kiện: chứa mã điều kiện (còn được gọi là cờ)
6
Machine Translated by Google
Tất cả các thiết kế đều có một thanh ghi hoặc tập hợp các
7
Machine Translated by Google
PSW
PSW chứa mã điều kiện cùng với các thông tin trạng thái
khác. Các trường hoặc cờ phổ biến bao gồm: Dấu hiệu
Không
Mang
theo
sát: Chỉ định chế độ là người dùng hoặc người giám sát (kernel)
số 8
Machine Translated by Google
Chỉ thị đặc quyền chỉ có thể được thực thi trong chế
truy cập trong chế độ giám sát viên Được sử dụng bởi
người dùng.
9
Machine Translated by Google
Ví dụ về thanh ghi
10
Machine Translated by Google
Một chương trình được thực thi bao gồm một tập hợp các
lệnh được lưu trữ trong bộ nhớ chính. CPU chịu trách
nhiệm tải và thực hiện từng lệnh được chỉ định trong chương
trình.
Như vậy, quá trình chạy một lệnh bao gồm hai
các
bước: CPU đọc các lệnh từ bộ nhớ
CPU thực hiện các lệnh, có thể bao gồm một số
hoạt động
11
Machine Translated by Google
12
Machine Translated by Google
Tìm
Chu kỳ tìm nạp
nạp lệnh tiếp theo
Kết thúc
13
Machine Translated by Google
PC (bộ đếm chương trình): giữ địa chỉ của lệnh được
tìm nạp tiếp theo
Theo mặc định, tăng địa chỉ trong PC lên một lần sau
mỗi hướng dẫn tìm nạp
14
Machine Translated by Google
dữ liệu Điều
khiển
15
Machine Translated by Google
Việc thực hiện một lệnh có thể liên quan đến sự kết hợp của các
hành động này.
Một chu kỳ thực thi có thể có nhiều tham chiếu bộ nhớ. Một
chu kỳ thực thi có thể có nhiều tham chiếu I/O Một chu kỳ thực
16
Machine Translated by Google
(1)Tính toán địa chỉ lệnh (iac): Xác định địa chỉ của lệnh tiếp theo sẽ được
thực hiện.
(2)Tìm nạp lệnh (nếu): Đọc lệnh từ vị trí bộ nhớ của nó vào
bộ vi xử lý.
(3)Giải mã thao tác lệnh (iod): Phân tích lệnh để xác định loại thao tác sẽ được
thực hiện và (các) toán hạng sẽ được sử dụng. (4)Tính toán địa chỉ toán hạng
(oac): Nếu thao tác liên quan đến tham chiếu đến một toán hạng trong bộ nhớ hoặc
khả dụng qua I/O, thì hãy xác định địa chỉ của toán hạng.
(5)Tìm nạp toán hạng (của): Lấy toán hạng từ bộ nhớ hoặc đọc nó từ I/O.
(6)Thao tác dữ liệu (do): Thực hiện thao tác được chỉ ra trong lệnh.
(7)Operand store (os): Ghi kết quả vào bộ nhớ hoặc ra I/O.
17
Machine Translated by Google
Hoạt động
3 4 6 4
bên trong CPU
1
hướng Vector
dẫn tiếp theo
hoặc chuỗi
18
Machine Translated by Google
Một lệnh có thể chỉ định một toán tử để thực hiện trên
một vectơ (mảng một chiều) hoặc dãy ký tự.
Điều này liên quan đến việc truy xuất hoặc lưu trữ dữ liệu lặp đi lặp lại.
19
Machine Translated by Google
4 trong số 16
opcodes: 0001: Truyền nội dung của vị trí bộ nhớ X
tới AC 0010: Truyền nội dung của AC tới vị trí bộ nhớ
X 0101: Thêm M(X) vào AC; đặt kết quả trong AC.
0110: Nhân M(X) với AC; đặt kết quả trong AC.
20
Machine Translated by Google
Ví dụ 1: lập trình
Cho phép thêm nội dung của từ bộ nhớ tại địa chỉ 940 vào nội dung của
từ bộ nhớ tại địa chỉ 941 và lưu kết quả ở vị trí sau.
Chương trình
Tìm nạp chứa 0x940 đến AC
Như vậy, có 3 lệnh với 3 chu kỳ tìm nạp và 3 chu kỳ thực hiện.
21
Machine Translated by Google
940 940
0003 0003
941 941
0002 0002
Tìm nạp chu kỳ của hướng dẫn 1 Thực hiện chu kỳ lệnh 1
22
Machine Translated by Google
Tìm nạp chu kỳ của hướng dẫn 2 Thực hiện chu kỳ lệnh 2
23
Machine Translated by Google
300 1940 302 máy tính 300 1940 302 máy tính
940 940
0003 0003
941 941
0002 0005
ví dụ 2
Các bước......
25
Machine Translated by Google
301 5941 AC
303 2942
303 2942
940
940
0003
0003 941
941
0002
0002 942
0005
942
0005
26
Machine Translated by Google
303 2942
303 2942
0005h * 0005h=0019h
940
940 0003
0003 941
941
0002
0002 942
0005
942
0005
27
Machine Translated by Google
303 2942
303 2942
940
940 0003
0003 941
941
0002
0002 942
0019
942
0005
28
Machine Translated by Google
1. Viết chương trình tính (2+3)*(3+4) trên máy giả định như ví dụ
2, với số 4 lưu ở 0x942, lưu kết quả ở 0x942 và đưa ra tất cả các
chu kỳ lệnh?
2. Viết chương trình thực hiện phép tính sau trên máy tính IAS (John Von
Neumann) (4+2)*5, lưu kết quả ở 0x202 Hiển thị tất cả các chu trình lệnh
Với dữ liệu (4,2 và 5) được lưu trữ trong bộ nhớ chính từ vị trí 0x200 và
chương trình được tải vào bộ nhớ chính bắt đầu từ vị trí 0x100.
29
Machine Translated by Google
Kết thúc
30