Xem mẫu
- QUI TRÌNH
THỰC HIỆN LỆNH
1
- 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:
2
- 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. 3
- CHU KỲ LỆNH (tt)
• Tìm và giải mã:
- Khởi đầu, PC được nạp địa chỉ đầu tiên của
chương trình.
- SC xóa 0, tạo thời hiệu T0.
- Sau mỗi xung đồng hồ, SC tăng 1 nên các thời
hiệu sẽ là T0, T1, T2…
- Các vi tác vụ cho các pha tìm và giải mã được
xác định qua các vi lệnh sau:
4
- CHU KỲ LỆNH (tt)
T0 : AR ← PC
T1 : IR ← M[AR], PC ← PC + 1
T2 : D0,…,D7 ← Giải mã IR (12-14)
AR ← IR (0-11), I ← IR(15)
5
- Các chuyển thanh ghi cho pha tìm6
- CHU KỲ LỆNH (tt)
T0 : AR ← PC thực hiện như sau:
(1) Cho ngõ nhập chọn S2S1S0 = 010 để đặt PC
lên bus.
(2) Cho lên LD của AR để lấy bus đưa vào AR.
T1: 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 S2S1S0 = 111 để đặt bộ nhớ lên bus.
(3) Lên LD của IR để lấy bus vào IR.
(4) Lên INR của PC để tăng PC
7
- CHU KỲ LỆNH (tt)
• Xác định kiểu lệnh.
Sau khi giải mã, thời hiệu hoạt động là T3.
Trong T3 , đơn vị điều khiển xác định loại lệnh
vừa đọc từ bộ nhớ.
8
- Lưu đồ chu kỳ lệnh 9
- CHU KỲ LỆNH (tt)
• Lưu đồ trên cho thấy hoạt động của chu kỳ lệnh
và cách điều khiển xác định loại lệnh khi giải mã.
• Ngõ ra mạch D7 = 1 nếu mã tác vụ là 111.
• Lệnh thuộc loại ghi hoặc nhập xuất.
• Ngõ ra mạch giải mã D7 = 0 nếu mã tác vụ là
000-110.
• Lệnh thuộc loại bộ nhớ.
10
- 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 D7 = 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]
11
- 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:
D7’ IT3: AR ← M[AR]
D7’ I’T3: Không làm gì
D7 I’T3: thực hiện lệnh thanh ghi
D7 IT3: thực hiện lệnh nhập xuất
12
- CHU KỲ LỆNH (tt)
• Khi thực hiện lệnh bộ nhớ với I = 0, không làm gì
vì địa chỉ hiệu đã có trong AR.
• Tuy nhiên SC phải tăng khi D7’T3 = 1 để thực
hiện lệnh bộ nhớ (tại T4).
• Lệnh thanh ghi hoặc nhập xuất có thể thực hiện
tại T3 .
• Sau khi thực hiện lệnh, SC về 0 và điều khiển trở
lại pha tìm với T0 = 1.
13
- 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.
14
- LỆNH THANH GHI
• Khi D7 = 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.
• Các hàm điều khiển và vi tác vụ trong
bảng sau:
15
- LỆNH THANH GHI (tt)
Lệnh tham chiếu thanh ghi
16
- LỆNH BỘ NHỚ
• Bảng sau liệt kê 7 lệnh bộ nhớ tương ứng với
các ngõ ra giải mã
Di(I = 0, 1, 2, 3, 4, 5, 6)
• Địa chỉ hiệu dụng đặt vào AR trong T2 khi I = 0,
trong T3 khi I = 1
• Thực hiện lệnh bộ nhớ bắt đầu với thời hiệu T4
• Việc thực hiện lệnh cần nhiều vi tác vụ vì không
thể xử lý trực tiếp dữ liệu trong bộ nhớ (phải đưa
dữ liệu vào thanh ghi)
17
- LỆNH BỘ NHỚ
Lệnh tham chiếu bộ nhớ
18
- 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ụ:
D0T4: DR ← M[AR]
D0T5: AC ← AC ∧DR, SC ← 0
19
- ADD (Vào AC)
• Cộng từ nhớ vào AC.
• Tổng chứa trong AC, bit nhớ Cout vào
mạch lật E.
• Vi tác vụ:
D2T4: DR ← M[AR]
D1T5: AC ← AC + DR, E ← Cout , SC ← 0
20
nguon tai.lieu . vn