1
QUI TRÌNH
QUI TRÌNH
THỰC HIỆN LỆNH
THỰC HIỆN LỆNH
2
CHU KỲ LỆNH
•
Chương trình trong bộ nhớ gồm một dãy mã
lệnh.
•
Mỗi mã lệnh được thực hiện qua một chu kỳ
lệnh.
•
Một chu kỳ lệnh bao gồm một dãy tiểu chu kỳ
hoặc pha.
•
Trong máy cơ bản mỗi chu kỳ gồm các pha sau:
3
CHU KỲ LỆNH (tt)
(1) Tìm lệnh.
(2) Giải mã lệnh.
(3) Đọc địa chỉ hiệu dụng từ bộ nhớ nếu lệnh có
địa chỉ gián tiếp.
(4) Thực hiện lệnh.
Khi hoàn tất bước 4, điều khiển trở về bước 1
để tìm, giải mã và thực hiện lệnh kế.
Qui trình này lặp mãi cho đến khi thực hiện lệnh
dừng.
4
•
← Giải mã IR (12-14)
AR ← IR (0-11), I ← IR(15)
6
Các chuyển thanh ghi cho pha tìm
7
CHU KỲ LỆNH (tt)
T
0
: AR ← PC thực hiện như sau:
(1) Cho ngõ nhập chọn S
2
S
1
S
0
= 010 để đặt PC
lên bus.
(2) Cho lên LD của AR để lấy bus đưa vào AR.
T
1
: IR ← M[AR] , PC ← PC + 1 thực hiện như
sau:
(1) Lên ngõ nhập Read của bộ nhớ.
(2) Cho S
2
S
1
S
0
= 111 để đặt bộ nhớ lên bus.
000-110.
•
Lệnh thuộc loại bộ nhớ.
11
CHU KỲ LỆNH (tt)
•
Kế tiếp, điều khiển kiểm bit đầu tiên của lệnh
qua mạch lật I, Nếu D
7
= 0 và I = 1, ta có lệnh bộ
nhớ với lệnh gián tiếp.
•
Khi đó cần đọc địa chỉ hiệu dụng từ bộ nhớ.
•
Vi lệnh cho điều kiện địa chỉ gián tiếp là:
AR ← M[AR]
12
CHU KỲ LỆNH (tt)
•
Khởi đầu AR lưu phần địa chỉ của lệnh.
•
Tác vụ đọc bộ sử dụng địa chỉ này.
•
Từ đọc đưa lên bus.
•
Cho lên LD của AR để nhận địa chỉ gián tiếp (12
bit thấp) từ bus.
•
Ba loại lệnh có thể xác định qua:
D
hiện lệnh bộ nhớ (tại T
4
).
•
Lệnh thanh ghi hoặc nhập xuất có thể thực hiện
tại T
3 .
•
Sau khi thực hiện lệnh, SC về 0 và điều khiển
trở lại pha tìm với T
0
= 1.
14
CHU KỲ LỆNH (tt)
•
Lưu ý:
- SC tăng hoặc xóa 0 tại mỗi chuyển tiếp đồng hồ
dương.
- Chúng ta quy ước không viết SC ← SC + 1 khi
SC tăng nhưng điều khiển vẫn đi qua thời hiệu
kế tiếp và viết SC ← 0 khi xóa SC.
15
LỆNH THANH GHI
•
Khi D
7
= 1, I = 0, lệnh thuộc loại thanh ghi.
•
Bit 0-11 trong mã lệnh xác định 1 trong 12
lệnh thanh ghi.
Lệnh tham chiếu bộ nhớ
19
AND (Vào AC)
•
Thực hiện tác vụ AND trên các cặp bit trong AC
và từ nhớ.
•
Kết quả chứa trong AC.
•
Vi tác vụ:
D
0
T
4
: DR ← M[AR]
D
0
T
5
: AC ← AC ∧DR, SC ← 0
20
ADD (Vào AC)
•
Cộng từ nhớ vào AC.
•
Tổng chứa trong AC, bit nhớ C
out
vào mạch
lật E.
•
Không có đường nối từ bus vào ngõ nhập AC
nên phải đọc và DR rồi đưa vào AC.
-
Vì chuyển từ bộ nhớ, qua bus vào mạch cộng và
luận lý rồi vào AC sẽ dài hơn 1 chu kỳ (từ DR
vào AC chỉ mất 1 chu kỳ)
22
STA (Lưu AC)
•
Chuyển nội dung AC vào từ nhớ.
•
Vi tác vụ
D
3
T
4
: M[AR] ← AC, SC ← 0
23
BUN (rẽ không điều kiện)
•
Chuyển chương trình sang lệnh xác định theo
địa chỉ hiệu dụng.
•
PC lưu địa chỉ lệnh đọc từ bộ nhớ trong chu kỳ
lệnh kế.
•
Thường thì PC tăng 1 tại T
1
chuẩn bị cho địa chỉ
lệnh kế tiếp.
4
: PC ← AR , SC ← 0
25
BSA (tt)
(a) Memory, PC, and AR at time T
4
(b) Memory and PC, after execution