
Bài giảng Tổ chức và cấu trúc máy tính: Biên dịch chương trình
lượt xem 1
download

Bài giảng Tổ chức và cấu trúc máy tính: Biên dịch chương trình giới thiệu tổng quan về quá trình biên dịch, bao gồm hoạt động của trình biên dịch (compiler), trình biên dịch hợp ngữ (assembler) và khái niệm biên dịch ngược (reverse-engineering). Bài giảng cũng tích hợp các câu hỏi và bài tập giúp người học củng cố kiến thức và kỹ năng thực hành. Mời các bạn cùng tham khảo bài giảng để biết thêm chi tiết!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tổ chức và cấu trúc máy tính: Biên dịch chương trình
- TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH IT010 – TỔ CHỨC VÀ CẤU TRÚC MÁY TÍNH BIÊN DỊCH CHƯƠNG TRÌNH
- Nội dung 1. Trình biên dịch (Compiler) Kiến trúc 2. Trình biên dịch hợp ngữ (Assembler) 3. Biên dịch ngược (Reverse-Engineering) Vi kiến trúc 4. Câu hỏi và Bài tập Luận lý Mạch số 2 IT010 – Tổ chức và Cấu trúc Máy tính
- Nội dung 1. Trình biên dịch (Compiler) Kiến trúc 2. Trình biên dịch hợp ngữ (Assembler) 3. Biên dịch ngược (Reverse-Engineering) Vi kiến trúc 4. Câu hỏi và Bài tập Luận lý Mạch số 3 IT010 – Tổ chức và Cấu trúc Máy tính
- Chương trình ngôn ngữ cấp cao (C, Java, ...) 1. Trình biên dịch (1/2) Trình biên dịch • Trình biên dịch có chức năng chuyển chương trình được viết bởi ngôn ngữ lập Chương trình hợp ngữ trình cấp cao thành chương trình hợp ngữ: (MIPS, ARM, ...) Ngôn ngữ lập trình cấp cao (C, Java, …) gần với suy nghĩ con người và độc lập phần cứng Trình biên dịch Hợp ngữ (MIPS, ARM, ...) là một ngôn ngữ hợp ngữ gợi nhớ của mã máy, phụ thuộc phần cứng Mã máy (có thể thực thi trên máy tính) 4 IT010 – Tổ chức và Cấu trúc Máy tính
- Chương trình ngôn ngữ cấp cao (C, Java, ...) 1. Trình biên dịch (2/2) – Ví dụ Trình biên dịch if(a == b) bne $a0, $a1, ELSE c = 2; addi $s0, $0, 2 Chương trình hợp ngữ else j ENDIF (MIPS, ARM, ...) c = -1; ELSE: Trình biên dịch d = a + c; addi $s0, $0, -1 hợp ngữ ENDIF: Mã máy (có thể thực thi add $s1, $a0, $s0 trên máy tính) 5 IT010 – Tổ chức và Cấu trúc Máy tính
- Quiz 1 • Biên dịch chương trình được viết bằng ngôn ngữ C sau sang hợp ngữ MIPS int arraylength = 5; for(int i = 0; i < arraylength; i++){ arrayvalue[i] = i; } 6 IT010 – Tổ chức và Cấu trúc Máy tính
- Nội dung 1. Trình biên dịch (Compiler) Kiến trúc 2. Trình biên dịch hợp ngữ (Assembler) 3. Biên dịch ngược (Reverse-Engineering) Vi kiến trúc 4. Câu hỏi và Bài tập Luận lý Mạch số 7 IT010 – Tổ chức và Cấu trúc Máy tính
- Chương trình ngôn ngữ cấp cao (C, Java, ...) 2. Trình biên dịch hợp ngữ (1/2) Trình biên dịch • Trình biên dịch hợp ngữ có chức năng chuyển chương trình được viết bởi hợp ngữ thành mã máy: Chương trình hợp ngữ Mã máy là các chuỗi bit (0, 1) có thể được thực thi (MIPS, ARM, ...) trên máy tính Trình biên dịch • Có thể sử dụng lệnh giả (psudoinstruction) để hợp ngữ viết chương trình hợp ngữ nhằm đơn giản hơn cho lập trình viên Mã máy (có thể thực thi Lệnh giả: Không phải lệnh thực sự của máy nhưng trên máy tính) trình biên dịch có thể chuyển thành lệnh thực sự 8 IT010 – Tổ chức và Cấu trúc Máy tính
- Chương trình ngôn ngữ cấp cao (C, Java, ...) 2. Trình biên dịch hợp ngữ (2/2) Trình biên dịch la $a0, exit 0x3c010040 li $a1, 50 0x3424001c Chương trình hợp ngữ add $t1, $t2, $t1 0x24050032 (MIPS, ARM, ...) addi $t1, $a0, 0 0x01494820 Trình biên dịch bne $a1, $t1, exit 0x20890000 hợp ngữ lw $a3, 4($t1) 0x14a90001 Mã máy (có thể thực thi exit: 0x8d270004 trên máy tính) … 9 IT010 – Tổ chức và Cấu trúc Máy tính
- Quiz 2 • Biên dịch chương trình được viết bằng addi $a0, $0, -4 hợp ngữ MIPS bên cạnh sang mã máy addi $a1, $0, -5 sub $s0, $a0, $a1 sw $s0, -8($0) lw $s1, -8($0) bne $s0, $s1, FAIL add $s2, $0, $0 j END FAIL: addi $s2, $0, -1 END: 10 IT010 – Tổ chức và Cấu trúc Máy tính
- Nội dung 1. Trình biên dịch (Compiler) Kiến trúc 2. Trình biên dịch hợp ngữ (Assembler) 3. Biên dịch ngược (Reverse-Engineering) Vi kiến trúc 4. Câu hỏi và Bài tập Luận lý Mạch số 11 IT010 – Tổ chức và Cấu trúc Máy tính
- Biểu diễn hexa HEX 2 BIN 3. Biên dịch ngược Biểu diễn nhị phân • Biên dịch ngược là quá trình khôi phục mã máy thành chương trình hợp ngữ Tìm định dạng lệnh và chia các trường 0x00af8020 0000 0000 1010 1111 1000 0000 0010 0000 R: op|rs|rt|rd|shamt|funct I: op|rs|rt|immediate 000000 00101 01111 10000 00000 100000 J: op|address add $16, $5, $15 hoặc add $s0, $a1, $t7 Biểu diễn gợi nhớ Lệnh hợp ngữ 12 IT010 – Tổ chức và Cấu trúc Máy tính
- Quiz 3 • Biên dịch ngược chương trình sau sang hợp ngữ MIPS Địa chỉ Mã máy 0x004000 0x3c010040 00 0x3424001c 0x004000 0x24050032 04 0x01494820 0x004000 0x20890000 08 0x14a90001 0x004000 0x8d270004 13 IT010 – 0c Tổ chức và Cấu trúc Máy tính
- Nội dung 1. Trình biên dịch (Compiler) Kiến trúc 2. Trình biên dịch hợp ngữ (Assembler) 3. Biên dịch ngược (Reverse-Engineering) Vi kiến trúc 4. Câu hỏi và Bài tập Luận lý Mạch số 14 IT010 – Tổ chức và Cấu trúc Máy tính
- 4. Câu hỏi và Bài tập • Biên dịch chương trình chương trình được viết bằng ngôn ngữ lập trình C sau sang hợp ngữ MIPS, int count = 1; while(count

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tổ chức và kiến trúc máy tính (Computer organization and architecture) – Chương 5: Tổ chức máy tính - Các thành phần của máy tính
18 p |
6 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính: Vi kiến trúc
14 p |
2 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 2: Biểu diễn thông tin trong máy tính (tt)
21 p |
2 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 5: Mạch số trong máy tính
27 p |
2 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 7: Biên dịch chương trình
15 p |
2 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 10: Hiệu suất máy tính
25 p |
2 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính: Hiệu suất máy tính
25 p |
5 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 1: Tổng quan về máy tính
34 p |
3 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 3: Đại số boolean
21 p |
3 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 6: Kiến trúc tập lệnh
39 p |
4 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 9: Bộ xử lý
14 p |
4 |
1
-
Bài giảng Tổ chức và kiến trúc máy tính (Computer organization and architecture) – Chương 4: Mạch số (Digital Circuit) - Mạch tổ hợp, một số mạch cơ bản
30 p |
1 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính: Kiến trúc tập lệnh
24 p |
5 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 2: Biểu diễn thông tin trong máy tính
31 p |
3 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 4: Mạch số
29 p |
7 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 6: Kiến trúc tập lệnh (tt)
30 p |
4 |
1
-
Bài giảng Tổ chức và cấu trúc máy tính II - Chương 9: Bộ xử lý (tt)
31 p |
4 |
1


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
