Tải bản đầy đủ (.ppt) (45 trang)

bài giảng môn học cấu trúc máy tính bài 10 qui trình qui trình thực hiện lệnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (154.79 KB, 45 trang )

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


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 T
0.
- Sau mỗi xung đồng hồ, SC tăng 1 nên các thời
hiệu sẽ là T
0
, T
1
, T
2

- 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:
CHU KỲ LỆNH (tt)
5
CHU KỲ LỆNH (tt)
T
0
: AR ← PC
T
1
: IR ← M[AR], PC ← PC + 1
T
2
: D
0
,…,D
7

← 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.

(3) Lên LD của IR để lấy bus vào IR.
(4) Lên INR của PC để tăng PC
8
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à T
3
.
Trong T
3
, đơn vị điều khiển xác định loại lệnh
vừa đọc từ bộ nhớ.
9
Lưu đồ chu kỳ lệnh
10
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 D
7
= 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ã D
7
= 0 nếu mã tác vụ là

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

7
’ IT
3
: AR ← M[AR]
D
7
’ I’T
3
: Không làm gì
D
7
I’T
3
: thực hiện lệnh thanh ghi
D
7
IT
3
: thực hiện lệnh nhập xuất
13
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 D
7
’T
3
= 1 để thực

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.


Các hàm điều khiển và vi tác vụ trong
bảng sau:
16
LỆNH THANH GHI (tt)
Lệnh tham chiếu thanh ghi
17
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ã
D
i
(I = 0, 1, 2, 3, 4, 5, 6)

Địa chỉ hiệu dụng đặt vào AR trong T
2
khi I = 0,
trong T
3
khi I = 1

Thực hiện lệnh bộ nhớ bắt đầu với thời hiệu T
4

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)
18
LỆNH BỘ NHỚ

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.


Vi tác vụ:
D
2
T
4
: DR ← M[AR]
D
1
T
5
: AC ← AC + DR, E ← C
out
, SC ← 0
21
LDA (Nạp vào AC)

Chuyển từ nhớ vào AC.

Vi tác vụ:
D
2
T
4
: DR ← M[AR]
D
2
T
5
: AC ← DR, SC ← 0
-

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.


BUN cho phép thay đổi thứ tự thực hiện lệnh gọi
là rẽ (hoặc nhảy) không điều kiện.

Vi tác vụ:
D
4
T
4
: PC ← AR , SC ← 0
24
BSA (rẽ và lưu địa chỉ quay về)

Dùng để rẽ đến một phần chương trình gọi là
trình con hoặc thủ tục.

BSA lưu địa chỉ lệnh kế (đang nằm trong PC)
vào vùng nhớ định bởi địa chỉ hiệu dụng, sau đó
cộng 1 vào địa chỉ hiệu dụng dùng làm địa chỉ
trình con.

Vi tác vụ:
D
5
T
4
: M[AR] ← PC , AR ← AR + 1
D
5
T

4
: PC ← AR , SC ← 0
25
BSA (tt)
(a) Memory, PC, and AR at time T
4
(b) Memory and PC, after execution

×