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

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

 Lệnh máy tính (computer instruction):

 Là một từ nhị phân (binary word);

 Mỗi lệnh được gán một nhiệm vụ cụ thể;

 Lệnh được lưu trữ trong bộ nhớ

 Lệnh được đọc (fetch) từ bộ nhớ vào CPU để giải mã và thực

hiện.

 Tập lệnh gồm nhiều lệnh có thể được chia thành một số

nhóm theo chức năng:

 Chuyển dữ liệu (data movement)

 Tính toán (computational)

 Điều kiện & rẽ nhánh (conditonal and branching)

 Các lệnh khác

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

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 trang 8

Trang 8

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 trang 9

Trang 9

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 trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 32 trang xuanhieu 3520
Bạn đang xem 10 trang mẫu của tài liệu "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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: 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

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
 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG 
 BÀI GIẢNG MÔN
 KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
Giảng viên: TS. Hoàng Xuân Dậu
Điện thoại/E-mail: dau@ekabiz.vn
Bộ môn: Khoa học máy tính - Khoa CNTT1
Học kỳ/Năm biên soạn: Học kỳ 2 năm học 2009-2010
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 2
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.1 Giới thiệu về tập lệnh máy tính
  Lệnh máy tính (computer instruction):
 . Là một từ nhị phân (binary word);
 . Mỗi lệnh được gán một nhiệm vụ cụ thể;
 . Lệnh được lưu trữ trong bộ nhớ
 . Lệnh được đọc (fetch) từ bộ nhớ vào CPU để giải mã và thực 
 hiện.
  Tập lệnh gồm nhiều lệnh có thể được chia thành một số 
 nhóm theo chức năng:
 . Chuyển dữ liệu (data movement)
 . Tính toán (computational)
 . Điều kiện & rẽ nhánh (conditonal and branching)
 . Các lệnh khác
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 3
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.1 Giới thiệu về tập lệnh máy tính
  Việc thực hiện lệnh có thể được chia thành các pha (phase) 
 hay giai đoạn (stage). Mỗi lệnh có thể được thực hiện theo 4 
 giai đoạn:
 . Đọc lệnh (Instruction fetch - IF): lệnh được đọc từ bộ nhớ về 
 CPU;
 . Giải mã (Instruction decode - ID): CPU giải mã lệnh;
 . Thực hiện (Instruction execution – EX): CPU thực hiện lệnh;
 . Lưu kết quả (Write back - WB): kết quả thực hiện lệnh (nếu có) 
 được lưu vào bộ nhớ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 4
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.1 Giới thiệu về tập lệnh máy tính
  Chu kỳ thực hiện lệnh (Instruction execution cycle): là 
 khoảng thời gian mã CPU thực hiện xong một lệnh:
 . Một chu kỳ thực hiện lệnh có thể gồm một số giai đoạn thực 
 hiện lệnh;
 . Một giai đoạn thực hiện lệnh có thể gồm một số chu kỳ máy;
 . Một chu kỳ máy có thể gồm một số chu kỳ đồng hồ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 5
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.1 Giới thiệu về tập lệnh máy tính
  Chu kỳ thực hiện lệnh có thể gồm các thành phần sau:
 . Chu kỳ đọc lệnh
 . Chu kỳ đọc bộ nhớ (dữ liệu)
 . Chu kỳ ghi bộ nhớ (dữ liệu)
 . Chu kỳ đọc thiết bị ngoại vi
 . Chu kỳ ghi thiết bị ngoại vi
 . Chu kỳ bus rỗi.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 6
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.2 Dạng và các thành phần của lệnh
  Dạng tổng quát của lệnh gồm 2 thành phần chính:
 . Mã lệnh (Opcode - operation code): mỗi lệnh có mã lệnh riêng
 . Địa chỉ của các toán hạng (Addresses of Operands): mỗi lệnh 
 có thể gồm một hoặc nhiều toán hạng. Có thể có các dạng địa 
 chỉ toán hạng sau:
 • 3 địa chỉ
 • 2 địa chỉ
 • 1 địa chỉ
 • 1,5 địa chỉ
 • 0 địa chỉ Opcode Addresses of Operands
 Opcode Source addr. Destination addr.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 7
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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 3 địa chỉ:
 . Dạng:
 • opcode addr1, addr2, addr3
 • Mỗi địa chỉ addr1, addr2, addr3 tham chiếu đến một ô nhớ hoặc một 
 thanh ghi.
 . Ví dụ:
 ADD R1, R2, R3; R1 + R2 R3
 R1 cộng với R2, kết quả gán vào R3.
 Ri là thanh ghi của CPU.
 ADD A, B, C; M[A]+M[B] M[C]
 A, B, C là các ô nhớ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 8
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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 2 địa chỉ:
 . Dạng:
 • opcode addr1, addr2
 • Mỗi địa chỉ addr1, addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi.
 . Ví dụ:
 ADD R1, R2; R1 + R2 R2
 R1 cộng với R2, kết quả gán vào R2.
 Ri là thanh ghi của CPU.
 ADD A, B; M[A]+M[B] M[B]
 A, B là các ô nhớ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 9
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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ớ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 10
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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ớ.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 11
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 12
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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 )
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 13
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 14
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 15
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 16
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 17
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 CHƯƠNG 3 – TẬP LỆNH MÁY TÍNH
 3.4.3 Các chế độ địa chỉ - Gián tiếp
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 18
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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ố.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 19
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 20
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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 )
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 21
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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]
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 22
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 23
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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]
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 24
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 25
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 26
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 27
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 28
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 29
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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).
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 30
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 31
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1
 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH
 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.
www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 32
 BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_3_tap_lenh_may_tinh_hoan.pdf