Nguyen Thanh Tung THPT QUY H
OP I
1
KiÕn tróc m¸y tÝnh
Ch¬ng 4
KiÕn tróc tËp lÖnh
2
Nội dung bài giảng
Chương 1: Giới thiệu chung
Chương 2: Biểu diển DL & số học máy tính
Chương 3: Bộ xử lý
Chương 4: Kiến trúc tập lệnh
Chương 5: Hệ thống nhớ
Chương 6: Hệ thống vào/ra
3
Néi dung ch¬ng 4
Giíi thiÖu chung
C¸c kiÓu to¸n h¹ng
C¸c kiÓu thao t¸c
C¸c mode ®Þa chØ.
4
Giới thiệu chung
Mỗi bộ xử lý có một tập lệnh xác định
Tập lệnh thường từ hàng chục đến hàng trăm
lệnh
Mỗi lệnh là một chuỗi số nhị phân mà BXL
hiểu được để thực hiện một thao tác xác định
Các lệnh được mô tả bằng ký hiệu gợi nhớ
đó là các lệnh hợp ngữ
5
Giản đồ trạng thái của chu kỳ lệnh
Không kiểm tra ngắt
Tính toán
địa chỉ lệnh
Giải mã
thao tác
lệnh
Tính toán
địa chỉ toán
hạng
Xử lý dữ liệu
Tính toán
địa chỉ toán
hạng
Nhận lệnh
Nhận toán
hạng
Cất toán
hạng
Nhiều
toán
hạng
Nhiều
kết
quả
DL dạng
xâu hoặc
vectơ
Kết thúc lênh,
nhận lệnh
tiếp theo
6
Giản đồ trạng thái của chu kỳ lệnh
Có kiểm tra ngắt
Tính toán
địa chỉ
lệnh
Giải mã
thao tác
lệnh
Tính toán
địa chỉ
toán hạng
Xử lý dữ
liệu
Tính toán
địa chỉ
toán hạng
Nhận lệnh
Nhận toán
hạng
Cất toán
hạng
Nhiều
toán
hạng
Nhiều
kết
quả
DL dạng
xâu hoặc
vectơ
Kết thúc lênh,
nhận lệnh
tiếp theo
Kiểm tra
ngắt
Ngắt
Không
có ngắt
7
Cấu trúc lệnh mã máy
M lệnh (opcode): cho biết thao tác cần thực hiệnã
Các toán hạng (Operands): cho biết:
Nơi chứa dữ liệu cần tác động vào: t/h nguồn, t/h đích
Cho biết địa chỉ của lệnh tiếp theo
M lệnh Các toán hạngã
8
C¸c kiÓu lÖnh
Xö lý d÷ liÖu
Lu tr÷ d÷ liÖu
Di chuyÓn d÷ liÖu
§iÒu khiÓn thø tù thùc hiÖn lÖnh
9
C¸c kiÓu to¸n h¹ng
Sè lîng to¸n h¹ng
KiÓu sè
•
Sè nguyªn
•
Sè dÊu phÈy ®éng
KiÓu ký tù
•
M cña ký tù ASCII, BCD më réng, ...·
KiÓu logic
•
To¸n h¹ng xö lý víi cê
10
Số lượng toán hạng
3 toán hạng:
Toán hạng 1, toán hạng 2, kết quả
a = b + c
Có thể dẫn tới lệnh tiếp theo (thường là ngầm
hiểu)
Loại này không phổ dụng
Cần rất nhiều từ lệnh dài để chứa loại này
Ví dụ: SUB r1, r2, r3 (Motorola)
11
Số lượng toán hạng
2 toán hạng:
Có một toán hạng vừa là nguồn, vừa là đích
a = a + b
Giảm độ dài của lệnh
Có thể thêm thao tác:
Dùng vùng nhớ tạm để chứa giá trị trước khi thực
hiện
Ví dụ: ADD AX, BX
12
Sè lîng to¸n h¹ng
1 to¸n h¹ng:
•
To¸n h¹ng thêng lµ mét thanh ghi
•
To¸n h¹ng thø hai ®îc ngÇm hiÓu
•
Phæ dông trong c¸c m¸y xa xa
VÝ dô: PUSH AX
13
Sè lîng to¸n h¹ng
0 to¸n h¹ng
•
§iÒu khiÓn hÖ thèng
•
Ýt dïng
VÝ dô: NOP (No OPeration)
14
So sánh số lượng toán hạng
Nhiều toán hạng:
Các lệnh phức tạp hơn
Cần nhiều thanh ghi hơn
Chỉ cần ít lệnh trong một chương trình
ít toán hạng:
Các lệnh ít phức tạp hơn
Cần dùng nhiều lệnh trong một chương trình
Nhận/xử lý các lệnh nhanh hơn
15
C¸c kiÓu thao t¸c
C¸c lÖnh chuyÓn d÷ liÖu
C¸c lÖnh sè häc
C¸c lÖnh logic
C¸c lÖnh vµo/ra
C¸c lÖnh ®iÒu khiÓn hÖ thèng
C¸c lÖnh chuyÓn ®iÒu khiÓn