Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 117 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
117
Dung lượng
3,44 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN HÀ MINH TÂN THIẾT KẾ VÀ ỨNG DỤNG BỘ VI XỬ LÝ 32 BIT DÙNG NGÔN NGỮ VHDL Chuyên ngành: VẬT LÝ VÔ TUYẾN VÀ ĐIỆN TỬ ( HƯỚNG KỸ THUẬT ) Mã số: 60 44 03 LUẬN VĂN THẠC SĨ VẬT LÝ VÔ TUYẾN VÀ ĐIỆN TỬ KỸ THUẬT Cán hướng dẫn : PGS.TS ĐINH SỸ HIỀN TP HCM - 2011 Trang Lời cảm ơn Xin gửi lời cảm ơn chân thành đến PGS TS Đinh Sỹ Hiền, Thầy cung cấp cho em nhiều tài liệu quý giá, người tận tình hướng dẫn, tạo điều kiện thuận lợi cho em hoàn thành luận văn Xin gửi lời cảm ơn chân thành đến Thầy ThS Bùi Anh Đông, Thầy Nguyễn Ngọc Hùng hỗ trợ tận tình em suốt trình làm thực nghiệm Xin gửi lời cảm ơn chân thành đến quý Thầy, Cô tham gia giảng dạy lớp cao học chuyên ngành Vật Lý Vô Tuyến Điện Tử khóa 17, trường Đại Học Khoa học Tự nhiên, truyền đạt kiến thức quý giá cho em suốt khóa học Xin cảm ơn tất bạn học viên lớp cao học khóa 17 đóng góp nhiều ý kiến quý giá, đồng thời động viên tạo điều kiện thuận lợi cho em để hoàn thành đề tài Xin gửi lời cảm ơn chân thành đến gia đình chia sẻ với em suốt trình làm luận văn HVTH: Hà Minh Tân Trang MỤC LỤC Lời cảm ơn MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT Mở đầu 10 PHẦN 1: TỔNG QUAN 13 CHƯƠNG 1: TỔNG QUAN VỀ CÁC BỘ VI XỬ LÝ 13 1.1 Giới thiệu vi xử lý 13 1.2 Các vi xử lý 32 bit 19 CHƯƠNG : NGÔN NGỮ LẬP TRÌNH VHDL, PHẦN MỀM QUARTUS VÀ KIT DE2 24 2.1 Giới thiệu môi trường thiết kế phần cứng ngôn ngữ VHDL 24 2.1.1 Môi trường thiết kế phần cứng ( Hardware Design Environments) 24 2.1.2 Các ngôn ngữ mô tả phần cứng 26 2.1.3 Ngôn ngữ lập trình VHDL 27 2.1.4 Ngôn ngữ VHDL cho thiết kế logic 29 2.1.5 Các phần mềm mô cho ngôn ngữ VHDL 31 2.2 Thực thể thiết kế VHDL 32 2.2.1 Đặc điểm VHDL 32 2.2.2 Đặt điểm thiết kế 33 2.2.3 Cấu trúc chương trình 35 2.2.3.1 Phát biểu khai báo 35 2.2.3.2 Phát biểu đồng thời 36 2.2.3.3 Phát biểu 36 2.3 Phần mềm Quartus II kit DE2 Altera 37 2.3.1 Các thành phần Quartus II 37 HVTH: Hà Minh Tân Trang 2.3.2 Thiết kế biên dịch, mô chương trình 38 2.3.3 Giới thiệu kit DE2 Altera 47 2.3.4 Các thành phần DE2 47 PHẦN 2: THIẾT KẾ BỘ VI XỬ LÝ 50 CHƯƠNG 3: CẤU TRÚC BỘ VI XỬ LÝ 52 3.1 Cấu trúc tổng thể 53 3.1.1 Bộ đếm chương trình nhớ (Pcimem) 53 3.1.1.1 Chức 53 3.1.1.2 Cấu trúc 54 3.1.1.3 Các tín hiệu giao tiếp 54 3.1.2 Bộ điều khiển đường ống dẫn (Cntrpipe) 54 3.1.2.1 Chức 55 3.1.2.2 Cấu trúc 55 3.1.2.3 Các tín hiệu giao tiếp 56 3.1.3 Tập ghi vùng cache (Rfcache) 56 3.1.3.1 Chức 56 3.1.3.2 Cấu trúc 56 3.1.3.3 Các tín hiệu giao tiếp 57 3.1.4 Khối logic số học (ALU: Arithmetic Logic Unit ) 57 3.1.4.1 Chức 57 3.1.4.2 Cấu trúc 58 3.1.4.3 Chi tiết lệnh ALU 58 CHƯƠNG 4: CÁC ĐẶC ĐIỂM THIẾT KẾ BỘ VI XỬ LÝ 59 4.1 Đặc điểm vi xử lý 59 4.2 Cấu trúc mã lệnh chế độ ghi địa 59 4.3 Cấu trúc mã lệnh (opcode) 61 4.4 Mô tả khối vi xử lý 62 4.4.1 Khối điều khiển: (The Controller) 62 4.4.2 Khối điều khiển đường ống dẫn (Control pipeline) 63 HVTH: Hà Minh Tân Trang 4.4.3 Tín hiệu điều khiển thời gian 66 4.4.4 Tín hiệu điều khiển lệnh nhảy 67 4.4.5 Kết tính toán chốt liệu vào ghi 67 4.4.6 Tín hiệu lựa chọn liệu cache (d_mux_to_rf) 68 4.4.7 Sơ đồ cấu trúc khối tập ghi nhớ cache 68 4.4.7.1 Khối tập ghi (Register File) 69 4.4.7.2 Khối nhớ Cache (The Data Cache) 70 4.4.8 Khối logic số học (ALU) 71 CHƯƠNG 5: MÔ PHỎNG BỘ VI XỬ LÝ SỬ DỤNG PHẦN MỀM QUARTUS VÀ TRÊN KIT DE2 73 5.1 Kiến trúc mô vi xử lý 73 5.2 Thực phép toán kiểm tra 78 5.2.1 Phép cộng 78 5.2.2 Phép trừ 80 5.2.3 Phép toán dịch trái 81 5.2.4 Phép toán dịch phải 83 5.2.5 Phép toán AND 84 5.2.6 Phép toán OR 86 5.2.7 Phép toán XOR 87 5.2.8 Phép toán nhân 89 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91 TÀI LIỆU THAM KHẢO 93 PHỤ LỤC 95 HVTH: Hà Minh Tân Trang DANH MỤC HÌNH ẢNH Hình 1.1: Mô hình máy tính Von Neumann 13 Hình 1.2: Kiến trúc bên vi xử lý 14 Hình 1.3: Sơ đồ vi xử lý đa dụng 18 Hình 2.1: Các đơn vị thiết kế VHDL 34 Hình 2.2: Các khai báo chương trình đơn vị thiết kế 36 Hình 2.3: Các phát biểu trình đơn vị thiết kế lời gọi chương trình đơn vị thiết kế thư viện 37 Hình 2.4: Tạo Project 38 Hình 2.5: Khai báo thư mục chưa file 39 Hình 2.6: Thêm vào file cần thiết 39 Hình 2.7: Chọn họ linh kiện cho thiết kế 40 Hình 2.8: Hoàn tất trình tạo project 40 Hình 2.9: Tạo file mô 41 Hình 2.10: Chọn file mô 42 Hình 2.11: Lưu file với tên trùng với tên project 42 Hình 2.12: Thêm vào node 43 Hình 2.13: Hiện danh sách node thiết kế 43 Hình 2.14: Đưa node vào mô 44 Hình 2.15: Chọn cài đặt 44 Hình 2.16: Lựa chọn cách mô 45 Hình 2.17: Tạo file netlist cho trình mô 45 Hình 2.18: Bắt đầu mô 46 Hình 2.19: Nạp chương trình xuống kit DE2 47 Hình 2.20: Bo DE2 linh kiện kèm 48 Hình 3.1: Sơ đồ vi xử lý 52 Hình 3.2: Sơ đồ khối vi xử lý 53 Hình 3.3: Khối đếm chương trình nhớ (PCIMEM) 54 HVTH: Hà Minh Tân Trang Hình 3.4: Khối điều khiển đường ống dẫn (Cntrpipe) 56 Hình 3.5: Khối tập ghi vùng cache (RFCache) 57 Hình 3.6: Khối logic sô học (ALU) 58 Hình 4.1: Bộ điều khiển đường ống dẫn 63 Hình 4.2 Sơ đồ khối ghi nhớ cache 69 Hình 4.3: Khối ghi (Register File) 69 Hình 4.4: Khối nhớ Cache 70 Hình 4.5: Khối logic số học (ALU) 71 Hình 5.1: Kiến trúc vi xử lý Quartus 75 Hình 5.2: Các thông số kỹ thuật thiết kế 75 Hình 5.3: Các thông số tần số hoạt động 76 Hình 5.4a: Sơ đồ hệ thống mô 76 Hình 5.4b:Kết mô dạng sóng tín hiệu CPU 77 Hình 5.5a: Nạp liệu vào cache 78 Hình 5.5b: Nạp mã lệnh vào ROM 79 Hình 5.5c: Kết hiển thị kit DE2 79 Hình 5.6a: Nạp liệu vào cache 80 Hình 5.6b: Nạp mã lệnh vào ROM 81 Hình 5.6c: Kết hiển thị kit DE2 81 Hình 5.7a: Nạp liệu vào cache 81 Hình 5.7b: Nạp mã lệnh vào ROM 82 Hình 5.7c: Kết hiển thị kit DE2 82 Hình 5.8a: Nạp liệu vào cache 83 Hình 5.8b: Nạp mã lệnh vào ROM 83 Hình 5.8c: Kết hiển thị kit DE2 84 Hình 5.9a: Nạp liệu vào cache 84 Hình 5.9b: Nạp mã lệnh vào ROM 85 Hình 5.9c: Kết hiển thị kit DE2 86 Hình 5.10a: Nạp liệu vào cache 86 HVTH: Hà Minh Tân Trang Hình 5.10b: Nạp mã lệnh vào ROM 87 Hình 5.10c: Kết hiển thị kit DE2 87 Hình 5.11a: Nạp liệu vào cache 88 Hình 5.11b: Nạp mã lệnh vào ROM 88 Hình 5.11c: Kết hiển thị kit DE2 89 Hình 5.12a: Nạp liệu vào cache 89 Hình 5.12b: Nạp mã lệnh vào ROM 90 Hình 5.12c: Kết hiển thị kit DE2 90 HVTH: Hà Minh Tân Trang DANH MỤC BẢNG BIỂU Bảng 4.1: Tập lệnh với hai nguồn 60 Bảng 4.2: Tập lệnh với nguồn short immediate 60 Bảng 4.3: Tập lệnh với long immediate 60 Bảng 4.4: Tập lệnh có điều kiện 60 Bảng 4.5: Một số chế độ định dạng địa hổ trợ 61 Bảng 4.6: Mã lệnh opcode 62 Bảng 4.7: Mô tả chức tín hiệu 64 Bảng 4.8: Tín hiệu điều khiển 67 Bảng 4.9: Mô tả tín hiệu tập ghi (Register File) 70 Bảng 4.10: Mô tả tín hiệu khối data cache 71 Bảng 4.11: Tín hiệu khối logic số học 71 HVTH: Hà Minh Tân Trang DANH MỤC CÁC TỪ VIẾT TẮT ROM Read Only Memory RAM Ram Access Memory ALU Arithmetic Logic Unit FSM Finite State Machine SIMD Single Instruction Multiple Data MMX Multimedia Extensions VHSIC Very High Speed Intergrated Circuit VHDL VHSIC Hardware Description Language IEEE Institute of Electrical and Electronic Engineers RTL Register Transfer Level JTAG Joint Test Action Group AS Active Serial PLD Programmable Logic Device CISC Complex Instruction Set Computer RISC Reduced Instruction Set Computer ASIC Application Specific Intergrated Circuits CU Control Unit PC Program Counter RF Register File CAD Computer Aided Designed FPGA Field Programmable Gate Array HVTH: Hà Minh Tân Trang 102 else Select ACCA ALUA [...]... VỀ CÁC BỘ VI XỬ LÝ Giới thiệu tổng quan về các bộ vi xử lý và giới thiệu các bộ vi xử lý 32 bit thông dụng CHƯƠNG 2 : NGÔN NGỮ LẬP TRÌNH VHDL, PHẦN MỀM QUARTUS VÀ KIT DE2 Giới thiệu về ngôn ngữ lập trình VHDL, cách sử dụng phần mềm, các tính năng hỗ trợ, các thực hiện lập trình, biên dịch và mô phỏng, giới thiệu về cấu trúc của Kit DE2 Phần 2 – Thiết kế bộ vi xử lý : CHƯƠNG 3: CẤU TRÚC BỘ VI XỬ LÝ Trong... quát về mô hình thiết kế của bộ vi xử lý, phân loại bộ vi xử lý, cấu trúc và chức năng của từng khối trong bộ vi xử lý, các tín hiệu giao tiếp, và điều khiển của chúng và đưa ra mô hình thiết kế của từng bộ phận CHƯƠNG 4: CÁC ĐẶC ĐIỂM THIẾT KẾ BỘ VI XỬ LÝ Trình bày nguyên lý, tổ chức hoạt động bên trong của bộ vi xử lý, cấu trúc của tập lệnh, mã lệnh, đường đi của dữ liệu của bộ vi xử lý Mô tả diễn tiến... trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ vi c quản lý, thử nghiệm và chia sẻ thiết kế Và nó cũng cho phép dùng lại các phần đã có sẵn 2.1.4 Ngôn ngữ VHDL cho thiết kế logic Ngôn ngữ phần cứng: HDL được dùng để mô tả phần cứng cho mục đích mô phỏng, tạo mẫu, kiểm tra, thiết kế và lập tài liệu Ngôn ngữ này cung cấp một quy ước và định dạng ngắn gọn để biểu diễn phân cấp các chi tiết chức năng và nối... và hệ thống phun nhiên liệu Mỗi hệ thống được điều khiển bởi 1 vi xử lý HVTH: Hà Minh Tân Trang 11 Bộ vi xử lý được chia làm 2 loại: bộ vi xử lý đa dụng (General-purpose microprocessor), bộ vi xử lý chuyên dụng (Dedicated microprocessor) Bộ vi xử lý đa dụng, như là Pentium CPU, có thể thực thi nhiều phép toán khác nhau dưới sự điều khiển chỉ dẫn của phần mềm Tất cả máy tính cá nhân sử dụng các bộ vi. .. hiểu được các hoạt động xử lý lệnh trong kỹ thuật ống dẫn CHƯƠNG 5: MÔ PHỎNG BỘ VI XỬ LÝ SỬ DỤNG PHẦN MỀM QUARTUS VÀ TRÊN KIT DE2 Thực hiện mô phỏng bộ vi xử lý dùng phần mềm Quartus đưa ra sơ đồ cấu trúc, tính được tần số hoạt động của bộ vi xử lý, mô phỏng dạng sóng tín hiệu của bộ vi xử lý, tiến hành kiểm tra trên Kit DE2 Kết luận và hướng phát triển Đưa ra các kết quả đạt được, kết luận sau cùng của... TỔNG QUAN VỀ CÁC BỘ VI XỬ LÝ 1.1 Giới thiệu về các bộ vi xử lý Theo mô hình Von Neumann của một máy tính, bao gồm bốn thành phần chính: ngõ vào, ngõ ra, bộ nhớ, bộ vi xử lý Trong bộ vi xử lý được chia làm hai thành phần khối đơn vị điều khiển và khối dữ liệu Hình 1.1: Mô hình máy tính Von Neumann Bộ vi xử lý (microprocessor) là một khối vi mạch có khả năng làm các phép tính toán số học và logic, khả năng... tính cá nhân sử dụng các bộ vi xử lý đa dụng Bộ vi xử lý chuyên dụng, được biết như các mạch tích hợp ứng dụng đặc biệt (ASICs) Ví dụ, bên trong điện thoại di động, có một vi xử lý chuyên dụng điều khiển toàn bộ hoạt động của điện thoại Nhúng vi xử lý vào bên trong điện thoại không gì ngoài điều khiển hoạt động của điện thoại Vi xử lý chuyên dụng thường sử dụng trong các thiết bị điện thông minh như... trình thiết kế phần cứng Hỗ trợ mạnh mẽ cho phương pháp thiết kế này là những ngôn ngữ mô tả phần cứng (HDLs – Hardware Description Languages) Khái niệm HDLs được ứng dụng rộng rãi trong thiết kế hệ thống số trong thời gian gần đây, dựa vào HDLs, công cụ hỗ trợ cho thiết kế hệ thống số đã phát triển và được sử dụng nhiều trong thiết kế phần cứng Quá trình thiết kế hệ thống số: Ý tưởng thiết kế: Trước... 1.3: Sơ đồ bộ vi xử lý đa dụng Để thiết kế một vi xử lý, đầu tiên chúng ta phải xác định tập lệnh của vi xử lý đó và các lệnh đó được mã hóa thực thi ra sao Cần thực hiện những bước sau: • Muốn có bao nhiêu lệnh? • Những lệnh đó là gì? HVTH: Hà Minh Tân Trang 19 • Mã thực hiện (opcode)? • Dùng bao nhiêu bit để mã hóa? Để giải quyết hết các câu hỏi trên thì bộ vi xử lý có thể được thiết kế gồm các bước... tiên người thiết kế phần cứng phải có ý tưởng thiết kế Sau đó, phát triển ý tưởng thiết kế thành sơ đồ khối, lưu đồ, ngôn ngữ tự nhiên Người thiết kế chỉ ra toàn bộ chức năng từ đầu vào đến đầu ra mà không cần chi tiết phần cứng hoặc kiến trúc của hệ thống dưới thiết kế Thiết kế đường dữ liệu: Trong giai đoạn này người thiết kế chỉ rõ thanh ghi và các đơn vị logic Những thành phần này được kết nối bằng ... điều khiển vi xử lý HVTH: Hà Minh Tân Trang 11 Bộ vi xử lý chia làm loại: vi xử lý đa dụng (General-purpose microprocessor), vi xử lý chuyên dụng (Dedicated microprocessor) Bộ vi xử lý đa dụng, Pentium... trúc Kit DE2 Phần – Thiết kế vi xử lý : CHƯƠNG 3: CẤU TRÚC BỘ VI XỬ LÝ Trong chương trình bày khái quát mô hình thiết kế vi xử lý, phân loại vi xử lý, cấu trúc chức khối vi xử lý, tín hiệu giao... dụng vi xử lý đa dụng Bộ vi xử lý chuyên dụng, biết mạch tích hợp ứng dụng đặc biệt (ASICs) Ví dụ, bên điện thoại di động, có vi xử lý chuyên dụng điều khiển toàn hoạt động điện thoại Nhúng vi