1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu trình biên dịch cho CPU RISC 32 BIT

328 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 328
Dung lượng 1,59 MB

Nội dung

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN HỒ NAM NGHIÊN CỨU TRÌNH BIÊN DỊCH CHO CPU RISC 32 BIT Chuyên ngành : Kỹ Thuật Điện Tử LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2009 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học : ThS Tống Văn On (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : TS Lưu Thanh Trà (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : ThS Hồ Trung Mỹ (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 16 tháng năm 2009 ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày tháng năm 2009 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: TRẦN HỒ NAM Giới tính : Nam ;/ Nữ Ngày, tháng, năm sinh : 30/8/1982 Nơi sinh : Bình Dương Chuyên ngành : Kỹ thuật điện tử Khoá (Năm trúng tuyển) : 2006 1- TÊN ĐỀ TÀI: THIẾT KẾ TRÌNH DỊCH HỢP NGỮ CHO CPU RISC 32 BIT 2- NHIỆM VỤ LUẬN VĂN: – Nghiên cứu bước thực trình biên dịch nói chung trình dịch hợp ngữ nói riêng – Tìm hiểu tập lệnh CPU RISC 32 bit tiêu biểu (ARM7) – Xây dựng trình dịch hợp ngữ cho CPU ARM7 3- NGÀY GIAO NHIỆM VỤ : 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN (Ghi đầy đủ học hàm, học vị ): ThS TỐNG VĂN ON Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến tất thầy cô trường Đại học Bách Khoa TP.HCM trực tiếp giảng dạy truyền đạt phương pháp học tập, kiến thức quý báu tâm huyết, niềm say mê nghiên cứu khoa học để em có đủ trình độ, lĩnh niềm tin đường chinh phục đỉnh cao khoa học Em xin chân thành cảm ơn thầy Tống Văn On, người dành thời gian quý báu để định hướng tận tình hướng dẫn em thực luận văn Xin cảm ơn bạn bè người thân giúp đỡ động viên tinh thần lúc khó khăn Cuối cùng, cảm ơn gia đình bố mẹ ln chỗ dựa vững tin yêu để thực ước mơ khoa học TRẦN HỒ NAM Tóm tắt luận văn Tóm tắt luận văn Nội dung luận văn bao gồm kiến thức cần thiết trình biên dịch, trình dịch hợp ngữ cách thức để xây dựng chương trình dịch hợp ngữ (assembler) cho máy tính có tập thị thu gọn (Reduced Instruction Set Computer – RISC) đồng thời nghiên cứu tập lệnh CPU RISC tiêu biểu ARM7 Luận văn đề cập sâu đến vấn đề cần thiết người muốn xây dựng trình dịch hợp ngữ cho CPU có sẵn bao gồm: cách thức hoạt động trình dịch hợp ngữ, vấn đề tham chiếu chưa xác định (unresolved references) – bảng ký hiệu (symbol table), vấn đề xử lý dẫn (directive), vấn đề xử lý macro,… Để minh họa cho kiến thức lý thuyết đề cập, luận văn xây dựng trình dịch hợp ngữ cho CPU ARM7 Một trình dịch hợp ngữ kèm với trình liên kết (linker) trình nạp (loader) Các kiến thức trình liên kết trình nạp đề cập mối liên quan với trình dịch hợp ngữ Cách thức xây dựng trình liên kết trình nạp khơng nằm khn khổ luận văn Luận văn “Nghiên cứu trình biên dịch cho CPU RISC 32 bit” bao gồm chương phần phụ lục, với nội dung sau: Chương 1: Giới thiệu trình biên dịch đồng thời mơ tả chi tiết thành phần trình biên dịch bao gồm việc phân tích từ vựng, bảng ký hiệu, phân tích cú pháp, phân tích ngữ nghĩa, sinh mã trung gian, tối ưu mã trung gian sinh mã đối tượng Chương 2: Chương trình bày chi tiết trình dịch hợp ngữ khái niệm liên quan đến trình dịch hợp ngữ Bên cạnh đó, phương pháp xây dựng trình dịch hợp ngữ hoàn chỉnh đề cập chi tiết Chương 3: Trình bày tổng quan CPU RISC họ vi xử lý ARM Các tập lệnh ARM (bao gồm tập lệnh ARM tập lệnh Thumb) mô tả chi tiết Chương 4: Các bước để xây dựng trình dịch hợp ngữ cho CPU ARM mơ tả chi tiết chương bao gồm việc thiết kế giao diện, thiết kế phần lõi kết kiểm tra chương trình i Tóm tắt luận văn Chương 5: Chương đánh giá kết luận văn, kết đạt hạn chế cịn tồn Qua đề hướng phát triển tương lai Phụ lục: Trình bày chi tiết liệu dùng để thiết kế chương trình như: bảng mã lệnh, bảng định nghĩa chương trình, bảng biến tồn cục chương trình bảng hàm chương trình Ngồi phần phụ lục cịn trình bày tồn mã chương trình ii Các chữ viết tắt Các chữ viết tắt A ALU Arithmetic Logic Unit ARM Advanced RISC Machine CISC Complex Instruction Set Computer CPU Central processing Unit D Defined/Macro definition mode E Macro expansion mode ILC Instruction Location Counter LIFO Last In First Out C D E I L iii Các chữ viết tắt M MES Macro Expansion Stack MDT Macro Definition Table N Normal mode RISC Reduced Instruction Set Computer SBZ Should be zero SBO Should be one U Undefined N R S U iv Mục lục Mục lục Tóm tắt luận văn i Các chữ viết tắt iii Mục lục .v Mục lục hình vẽ vii Mục lục bảng ix Chương Trình biên dịch .1 1.1 Giới thiệu .1 1.2 Tổng quan trình biên dịch 1.3 Các phần trình biên dịch .2 1.3.1 Phân tích từ vựng (lexical analysis) 1.3.2 Bảng ký hiệu (bảng danh biểu) .6 1.3.3 Phát thông báo lỗi 1.3.4 Phân tích cú pháp (Syntactic analysis parsing) 1.3.5 Phân tích ngữ nghĩa 1.3.6 Sinh mã trung gian 10 1.3.7 Tối ưu mã trung gian 10 1.3.8 Sinh mã đối tượng 11 1.4 Trình dịch hợp ngữ 13 Chương Trình dịch hợp ngữ 14 2.1 Khái niệm trình dịch hợp ngữ 14 2.2 Tập tin đối tượng 16 2.3 Cách hoạt động trình dịch hợp ngữ 16 2.4 Quá trình hợp dịch 19 2.4.1 Trình dịch hợp ngữ hai bước 19 2.4.2 Trình dịch hợp ngữ bước 20 2.5 Phân tích trình dịch hợp ngữ hai bước 20 2.5.1 Bước 20 2.5.2 Bước 26 2.6 Phân tích trình dịch hợp ngữ bước 27 2.7 Bảng ký hiệu 31 2.7.1 Mảng tuyến tính (linear array) 31 2.7.2 Mảng xếp (sorted array) 31 2.7.3 Khối danh sách liên kết (buckets with linked list) 31 2.7.4 Cây tìm kiếm nhị phân (binary search tree) 32 2.7.5 Bảng băm (hash table) 32 2.8 Các dẫn 33 2.9 Macro 35 2.9.1 Khái niệm macro 36 2.9.2 Các tham số macro 38 2.9.3 Hoạt động bước không 39 2.9.4 Macro khai triển lồng 43 2.9.5 Các dẫn dịch có điều kiện 45 Chương Tổng quan CPU RISC 32 bit ARM7 47 3.1 Khái niệm RISC 47 3.2 Họ vi xử lý ARM 48 3.3 Kiến trúc ARM7 49 v Mục lục 3.4 Tập lệnh CPU RISC ARM7 50 3.4.1 Tập lệnh ARM 51 3.4.2 Tập lệnh Thumb 71 3.5 Các dẫn 81 3.5.1 Các dẫn biên dịch 81 3.5.2 Các dẫn điều khiển 83 3.5.3 Các dẫn macro 85 Chương Xây dựng trình dịch hợp ngữ 87 4.1 Giới thiệu chương trình 87 4.2 Xây dựng chương trình 87 4.2.1 Thiết kế giao diện 87 4.2.2 Thiết kế phần lõi 93 4.3 Kiểm tra chương trình 103 4.3.1 Kiểm tra kết dịch tập lệnh ARM 104 4.3.2 Kiểm tra kết dịch tập lệnh Thumb 116 4.3.3 Kiểm tra kết dịch dẫn, định nghĩa khai triển macro 122 4.3.4 Kiểm tra kết dịch với đoạn mã lệnh đơn giản thực tế 130 Chương Kết luận hướng phát triển đề tài 136 5.1 Kết luận 136 5.2 Hướng phát triển 137 Phụ lục Các liệu dùng để thiết kế chương trình 139 Bảng mã lệnh 139 Bảng định nghĩa chương trình 146 Bảng biến toàn cục chương trình 148 Bảng hàm chương trình 150 Mã chương trình 152 Tài liệu tham khảo 315 vi ... đề cập mối liên quan với trình dịch hợp ngữ Cách thức xây dựng trình liên kết trình nạp khơng nằm khuôn khổ luận văn Luận văn ? ?Nghiên cứu trình biên dịch cho CPU RISC 32 bit? ?? bao gồm chương phần... Trang Chương Trình biên dịch Ngơn ngữ đích đa dạng ngơn ngữ lập trình ngơn ngữ máy Trình biên dịch xuất vào năm đầu năm 50 kỷ 20 Lúc viết trình biên dịch cơng việc khó khăn Trình biên dịch ngơn... KẾ TRÌNH DỊCH HỢP NGỮ CHO CPU RISC 32 BIT 2- NHIỆM VỤ LUẬN VĂN: – Nghiên cứu bước thực trình biên dịch

Ngày đăng: 09/03/2021, 01:00

TỪ KHÓA LIÊN QUAN

w