Bài giảng Kiến trúc máy tính - Chương 3: Tập lệnh máy tính - Hoàng Xuân Dậu

NỘI DUNG

1. Giới thiệu về tập lệnh máy tính

2. Dạng và các thành phần của lệnh

3. Địa chỉ / toán hạng của lệnh

4. Các chế độ địa chỉ

5. Các dạng lệnh thông dụng

6. Câu hỏi ôn tập

pdf32 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: yen2110 | Lượt xem: 430 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Kiến trúc máy tính - Chương 3: Tập lệnh máy tính - Hoàng Xuân Dậu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 10
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.3 Địa chỉ / toán hạng của lệnh
 Toán hạng 1 địa chỉ:
 Dạng:
• opcode addr1
• Địa chỉ addr1 tham chiếu đến một ô nhớ hoặc một thanh ghi.
• Ở dạng 1 địa chỉ, thanh ghi Racc (Accumulator) được sử dụng như địa chỉ 
addr2 trong dạng 2 địa chỉ.
 Ví dụ:
ADD R1; R1 + Racc  Racc
R1 cộng với Racc, kết quả gán vào Racc.
R1 là thanh ghi của CPU.
ADD A; M[A]+ Racc  Racc
A là một ô nhớ.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 11
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.3 Địa chỉ / toán hạng của lệnh
 Toán hạng 1,5 địa chỉ:
 Dạng:
• opcode addr1, addr2
• Một địa chỉ tham chiếu đến một ô nhớ và địa chỉ còn lại tham chiếu đến 
một thanh ghi.
• Dạng 1,5 địa chỉ là dạng hỗn hợp giữa ô nhớ và thanh ghi.
 Ví dụ:
ADD A, R1; M[A] + R1  R1
Nội dung ô nhớ A cộng với R1, kết quả gán vào R1.
R1 là thanh ghi của CPU và A là một ô nhớ.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 12
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.3 Địa chỉ / toán hạng của lệnh
 Toán hạng 0 địa chỉ: được sử dụng trong các lệnh thao tác 
với ngăn xếp: PUSH và POP
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 13
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4 Các chế độ địa chỉ
 Chế độ địa chỉ (Addressing modes) là phương thức CPU tổ 
chức các toán hạng của lệnh.
 Chế độ địa chỉ cho phép CPU kiểm tra dạng và tìm các toán 
hạng của lệnh.
 Các chế độ địa chỉ:
 Tức thì (Immediate)
 Trực tiếp (Direct )
 Gián tiếp qua thanh ghi (Register indirect )
 Gián tiếp qua ô nhớ (Memory indirect )
 Chỉ số (Indexed )
 Tương đối (Relative )
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 14
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.1 Các chế độ địa chỉ - Tức thì
 Giá trị hằng của toán hạng nguồn (source operand) nằm 
ngay sau mã lệnh;
 Toán hạng đích có thể là 1 thanh ghi hoặc 1 địa chỉ ô nhớ;
 Ví dụ:
LOAD #1000, R1; 1000  R1
Nạp giá trị 1000 vào thanh ghi R1.
LOAD #500, B; 500  M[B]
Nạp giá trị 500 vào ô nhớ B.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 15
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.2 Các chế độ địa chỉ - Trực tiếp/tuyệt đối
 Sử dụng một hằng để biểu diễn địa chỉ một ô nhớ làm một 
toán hạng;
 Toán hạng còn lại có thể là 1 thanh ghi hoặc 1 địa chỉ ô nhớ;
 Ví dụ:
LOAD 1000, R1; M[1000]  R1
Nạp nội dung ô nhớ có địa chỉ 1000 vào thanh ghi R1.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 16
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.2 Các chế độ địa chỉ - Trực tiếp/tuyệt đối
LOAD 1000, R1
200
200  R1
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 17
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.3 Các chế độ địa chỉ - Gián tiếp
 Trong chế độ địa chỉ gián tiếp, một thanh ghi hoặc một ô nhớ 
được sử dụng để lưu địa chỉ toán hạng.
 Gián tiếp qua thanh ghi: 
LOAD (Ri), Rj; M[Ri]  Rj
Nạp nội dung ô nhớ có địa chỉ lưu trong thanh ghi Ri vào thanh ghi Rj.
 Gián tiếp qua ô nhớ:
LOAD (1000), Ri; M[M[1000]]  Ri
Nạp nội dung ô nhớ có địa chỉ lưu trong ô nhớ 1000 vào thanh ghi Ri.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 18
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.3 Các chế độ địa chỉ - Gián tiếp
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 19
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.4 Các chế độ địa chỉ - Chỉ số
 Địa chỉ của 1 toán hạng được tạo thành bởi phép cộng giữa 
1 hằng và thanh ghi chỉ số (index register);
 Ví dụ:
LOAD X(Rind), Ri; M[X+Rind]  Ri
X là hằng và Rind là thanh ghi chỉ số.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 20
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.4.5 Các chế độ địa chỉ - Tương đối
 Địa chỉ của 1 toán hạng được tạo thành bởi phép cộng giữa 
1 hằng và bộ đếm chương trình PC (Program Counter);
 Ví dụ:
LOAD X(PC), Ri; M[X+PC]  Ri
X là hằng và PC là bộ đếm chương trình.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 21
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5 Các dạng lệnh thông dụng
 Tập lệnh máy tính có thể bao gồm một số nhóm lệnh sau:
 Các lệnh vận chuyển dữ liệu (Data Movement Instructions)
 Các lệnh toán học và logic (Arithmetic and Logical 
Instructions)
 Các lệnh điều khiển chương trình (Control/Sequencing 
Instructions )
 Các lệnh vào ra (Input/Output Instructions )
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 22
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.1 Các lệnh vận chuyển dữ liệu
 Lệnh vận chuyển dữ liệu giữa các bộ phận trong máy tính:
 Giữa các thanh ghi của CPU:
MOVE Ri, Rj; Ri  Rj
 Giữa 1 thanh ghi của CPU register và một ô nhớ:
MOVE 1000, Rj; M[1000]  Rj
 Giữa các ô nhớ:
MOVE 1000, (Rj); M[1000]  M[Rj]
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 23
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.1 Các lệnh vận chuyển dữ liệu
Một số lệnh chuyển dữ liệu thông dụng:
 MOVE: chuyển dữ liệu giữa thanh ghi – thanh ghi, ô nhớ -
thanh ghi và ô nhớ - ô nhớ.
 LOAD: nạp nội dung 1 ô nhớ vào 1 thanh ghi
 STORE: lưu nội dung 1 thanh ghi ra 1 ô nhớ
 PUSH: đẩy dữ liệu vào ngăn xếp
 POP: lấy dữ liệu ra khỏi ngăn xếp
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 24
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.2 Các lệnh tính toán số học & logic
 Các lệnh tính toán số học & logic được sử dụng để thực 
hiện các thao tác tính toán trên nội dung các thanh ghi và / 
hoặc nội dung các ô nhớ.
 Ví dụ:
ADD R1, R2, R3; R1 + R2  R3
SUBSTRACT R1, R2, R3; R1 - R2  R3
ADD A, B, C; M[A]+M[B]  M[C]
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 25
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.2 Các lệnh tính toán số học & logic
 Các lệnh tính toán số học thông dụng:
 ADD: cộng 2 toán hạng
 SUBSTRACT: trừ 2 toán hạng
 MULTIPLY: nhân 2 toán hạng
 DIVIDE: chia số học
 INCREMENT: tăng 1
 DECREMENT: giảm 1
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 26
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.2 Các lệnh tính toán số học & logic
 Các lệnh logic thông dụng:
 NOT: phủ định
 AND: và
 OR: hoặc
 XOR: hoặc loại trừ
 COMPARE: so sánh
 SHIFT: dịch
 ROTATE: quay
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 27
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.3 Các lệnh điều khiển chương trình
 Các lệnh điều khiển chương trình được sử dụng để thay đổi 
trật tự thực hiện các lệnh khác trong chương trình:
 CONDITIONAL BRANCHING (CONDITIONAL JUMP): các 
lệnh nhảy/ rẽ nhánh có điều kiện
 UNCONDITIONAL BRANCHING (JUMP): các lệnh nhảy/ rẽ 
nhánh không điều kiện
 CALL and RETURN: lệnh gọi thực hiện và trở về từ chương 
trình con.
Một trong các đặc tính của các lệnh này là chúng làm thay 
đổi nội dung của bộ đếm chương trình PC.
 Các lệnh điều khiển chương trình sử dụng các cờ của ALU 
để xác định điều kiện rẽ nhánh / nhảy.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 28
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.3 Các lệnh điều khiển chương trình
 Các lệnh điều khiển chương trình thông dụng:
 BRANCH-IF-CONDITION: chuyển đến thực hiện lệnh ở địa chỉ 
mới nếu điều kiến là đúng
 JUMP: chuyển đến thực hiện lệnh ở địa chỉ mới 
 CALL: chuyển đến thực hiện chương trình con
 RETURN: trở về (từ chương trình con) thực hiện tiếp chương 
trình gọi.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 29
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.3 Các lệnh điều khiển chương trình
Lặp đến khi R1 = 0
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 30
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.4 Các lệnh vào ra 
 Các lệnh vào ra (I/O instructions) được sử dụng để vận 
chuyển dữ liệu giữa máy tính và các thiết bị ngoại vi;
 Các thiết bị ngoại vi giao tiếp với máy tính thông qua các 
cổng chuyên dụng (dedicated ports). Mỗi cổng được gán 
một địa chỉ;
 Hai lệnh vào ra cơ bản:
 INPUT: sử dụng để chuyển dữ liệu từ thiết bị vào (input 
devices) đến CPU;
 OUTPUT: sử dụng để chuyển dữ liệu từ CPU đến thiết bị ra 
(output devices).
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 31
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.5.5 Ví dụ lập trình
Đoạn chương trình cộng nội dung của 100 ô nhớ kề nhau bắt đầu từ địa 
chỉ 1000. Kết quả lưu vào ô nhớ có địa chỉ 2000.
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
www.ptit.edu.vn
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU
BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
Trang 32
CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
3.6 Câu hỏi ôn tập
1. Khái niệm lệnh và tập lệnh? Chu kỳ lệnh và các giai đoạn 
thực hiện lệnh.
2. Dạng lệnh và các dạng địa chỉ toán hạng
3. Khái niệm chế độ địa chỉ và các chế độ địa chỉ
4. Một số dạng lệnh thông dụng.

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_3_tap_lenh_may_tinh_hoan.pdf