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

32 81 0
Bài giảng Kiến trúc máy tính: Chương 3 - TS. Hoàng Xuân Dậu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin 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 cung cấp cho người học các kiến thức: Giới thiệu về tập lệnh máy tính, dạng và các thành phần của lệnh, địa chỉ/toán hạng của lệnh, các chế độ địa chỉ, các dạng lệnh thông dụng. Mời các bạn cùng tham khảo.

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 – TẬP LỆNH MÁY TÍNH Giảng viên: TS Hồng Xn 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ỳ năm học 2009-2010 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH NỘI DUNG www.ptit.edu.vn Giới thiệu tập lệnh máy tính Dạng thành phần lệnh Địa / toán hạng lệnh Các chế độ địa Các dạng lệnh thông dụng Câu hỏi ôn tập GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.1 Giới thiệu tập lệnh máy tính  Lệnh máy tính (computer instruction):     Là từ nhị phân (binary word); Mỗi lệnh gán nhiệm vụ cụ thể; Lệnh lưu trữ nhớ Lệnh đọc (fetch) từ nhớ vào CPU để giải mã thực  Tập lệnh gồm nhiều lệnh chia thành số nhóm theo chức năng:     Chuyển liệu (data movement) Tính tố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 XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.1 Giới thiệu tập lệnh máy tính  Việc thực lệnh chia thành pha (phase) hay giai đoạn (stage) Mỗi lệnh thực theo giai đoạn:  Đọc lệnh (Instruction fetch - IF): lệnh đọc từ nhớ CPU;  Giải mã (Instruction decode - ID): CPU giải mã lệnh;  Thực (Instruction execution – EX): CPU thực lệnh;  Lưu kết (Write back - WB): kết thực lệnh (nếu có) lưu vào nhớ www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.1 Giới thiệu tập lệnh máy tính  Chu lệnh (Instruction execution cycle): khoảng thời gian mã CPU thực xong lệnh:  Một chu lệnh gồm số giai đoạn thực lệnh;  Một giai đoạn thực lệnh gồm số chu kỳ máy;  Một chu kỳ máy gồm số chu kỳ đồng hồ www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.1 Giới thiệu tập lệnh máy tính  Chu lệnh gồm thành phần sau:       Chu kỳ đọc lệnh Chu kỳ đọc nhớ (dữ liệu) Chu kỳ ghi 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 HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.2 Dạng thành phần lệnh  Dạng tổng quát lệnh gồm thành phần chính:  Mã lệnh (Opcode - operation code): lệnh có mã lệnh riêng  Địa tốn hạng (Addresses of Operands): lệnh gồm nhiều tốn hạng Có thể có dạng địa tốn hạng sau: • • • • • www.ptit.edu.vn địa địa địa 1,5 địa địa Opcode Addresses of Operands Opcode Source addr Destination addr GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.3 Địa / toán hạng lệnh  Toán hạng địa chỉ:  Dạng: • opcode addr1, addr2, addr3 • Mỗi địa addr1, addr2, addr3 tham chiếu đến ô nhớ ghi  Ví dụ: ADD R1, R2, R3; R1 + R2  R3 R1 cộng với R2, kết gán vào R3 Ri ghi CPU ADD A, B, C; M[A]+M[B]  M[C] A, B, C nhớ www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.3 Địa / toán hạng lệnh  Toán hạng địa chỉ:  Dạng: • opcode addr1, addr2 • Mỗi địa addr1, addr2 tham chiếu đến ô nhớ ghi  Ví dụ: ADD R1, R2; R1 + R2  R2 R1 cộng với R2, kết gán vào R2 Ri ghi CPU ADD A, B; M[A]+M[B]  M[B] A, B ô nhớ www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.3 Địa / tốn hạng lệnh  Tốn hạng địa chỉ:  Dạng: • opcode addr1 • Địa addr1 tham chiếu đến ô nhớ ghi • Ở dạng địa chỉ, ghi Racc (Accumulator) sử dụng địa addr2 dạng địa  Ví dụ: ADD R1; R1 + Racc  Racc R1 cộng với Racc, kết gán vào Racc R1 ghi CPU ADD A; M[A]+ Racc  Racc A nhớ www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 10 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.4.3 Các chế độ địa - Gián tiếp www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 18 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.4.4 Các chế độ địa - Chỉ số  Địa toán hạng tạo thành phép cộng ghi số (index register);  Ví dụ: LOAD X(Rind), Ri; M[X+Rind]  Ri X Rind ghi số www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 19 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.4.5 Các chế độ địa - Tương đối  Địa toán hạng tạo thành phép cộng đếm chương trình PC (Program Counter);  Ví dụ: LOAD X(PC), Ri; M[X+PC]  Ri X PC đếm chương trình www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 20 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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 bao gồm số nhóm lệnh sau:  Các lệnh vận chuyển liệu (Data Movement Instructions)  Các lệnh toán học 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 (Input/Output Instructions ) 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 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.1 Các lệnh vận chuyển liệu  Lệnh vận chuyển liệu phận máy tính:  Giữa ghi CPU: MOVE Ri, Rj; Ri  Rj  Giữa ghi CPU register ô nhớ: MOVE 1000, Rj; M[1000]  Rj  Giữa ô nhớ: MOVE 1000, (Rj); M[1000]  M[Rj] www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 22 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.1 Các lệnh vận chuyển liệu  Một số lệnh chuyển liệu thông dụng:  MOVE: chuyển liệu ghi – ghi, ô nhớ ghi ô nhớ - ô nhớ  LOAD: nạp nội dung ô nhớ vào ghi  STORE: lưu nội dung ghi ô nhớ  PUSH: đẩy liệu vào ngăn xếp  POP: lấy liệu khỏi ngăn xếp www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 23 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.2 Các lệnh tính tốn số học & logic  Các lệnh tính tốn số học & logic sử dụng để thực thao tác tính tốn nội dung ghi / nội dung ô 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 HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 24 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.2 Các lệnh tính tốn số học & logic  Các lệnh tính tốn số học thơng dụng:       ADD: cộng toán hạng SUBSTRACT: trừ toán hạng MULTIPLY: nhân toán hạng DIVIDE: chia số học INCREMENT: tăng DECREMENT: giảm www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 25 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.2 Các lệnh tính tốn số học & logic  Các lệnh logic thông dụng:        NOT: phủ định AND: OR: XOR: 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 BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 26 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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 sử dụng để thay đổi trật tự thực lệnh khác chương trình:  CONDITIONAL BRANCHING (CONDITIONAL JUMP): lệnh nhảy/ rẽ nhánh có điều kiện  UNCONDITIONAL BRANCHING (JUMP): lệnh nhảy/ rẽ nhánh không điều kiện  CALL and RETURN: lệnh gọi thực trở từ chương trình  Một đặc tính lệnh chúng làm thay đổi nội dung đếm chương trình PC  Các lệnh điều khiển chương trình sử dụng cờ ALU để xác định điều kiện rẽ nhánh / nhảy www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 27 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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 lệnh địa điều kiến  JUMP: chuyển đến thực lệnh địa  CALL: chuyển đến thực chương trình  RETURN: trở (từ chương trình con) thực tiếp chương trình gọi www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 28 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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 R1 = 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 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.5.4 Các lệnh vào  Các lệnh vào (I/O instructions) sử dụng để vận chuyển liệu máy tính 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ổng chun dụng (dedicated ports) Mỗi cổng gán địa chỉ;  Hai lệnh vào bản:  INPUT: sử dụng để chuyển liệu từ thiết bị vào (input devices) đến CPU;  OUTPUT: sử dụng để chuyển liệu từ CPU đến thiết bị (output devices) www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 30 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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 100 ô nhớ kề địa 1000 Kết lưu vào ô nhớ có địa 2000 www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 31 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3.6 Câu hỏi ơn tập Khái niệm lệnh tập lệnh? Chu kỳ lệnh giai đoạn thực lệnh Dạng lệnh dạng địa toán hạng Khái niệm chế độ địa chế độ địa Một số dạng lệnh thông dụng www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 32 ... TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 27 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – 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. .. 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 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3. 5.5 Ví dụ lập trình Đoạn chương trình... R1 www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 16 BÀI GIẢNG MƠN KIẾN TRÚC MÁY TÍNH CHƯƠNG – TẬP LỆNH MÁY TÍNH 3. 4 .3 Các chế độ địa - Gián tiếp  Trong

Ngày đăng: 25/10/2020, 18:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan