Thiết kế thử nghiệm, phân tích và đánh giá hiệu năng vi xử lý lõi mềm đa nhân trên FPGA

130 31 0
Thiết kế thử nghiệm, phân tích và đánh giá hiệu năng vi xử lý lõi mềm đa nhân trên FPGA

Đ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

NGUYỄN QUANG VINH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN TÊN ĐỀ TÀI LUẬN VĂN THẠC SỸ THIẾT KẾ THỬ NGHIỆM, PHÂN TÍCH VÀ ĐÁNH GIÁ HIỆU NĂNG VI XỬ LÝ LÕI MỀM ĐA NHÂN TRÊN FPGA NGUYỄN QUANG VINH 2017-2019 HÀ NỘI - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ THIẾT KẾ THỬ NGHIỆM, PHÂN TÍCH VÀ ĐÁNH GIÁ HIỆU NĂNG VI XỬ LÝ LÕI MỀM ĐA NHÂN TRÊN FPGA NGUYỄN QUANG VINH CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 8.48.02.018 NGƢỜI HƢỚNG DẪN KHOA HỌC TS HỒ KHÁNH LÂM HÀ NỘI - 2019 LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Tác giả luận văn i LỜI CÁM ƠN Qua luận văn xin chân thành cảm ơn TS.Hồ Khánh Lâm tận tình giúp đỡ, động viên, định hƣớng, hƣớng dẫn tơi nghiên cứu hồn thành luận văn Tơi xin cám ơn giảng viên Trƣờng Đại học mở Hà Nội giảng dạy giúp đỡ hai năm học qua, cám ơn giúp đỡ nhiệt tình bạn đồng nghiệp Tơi xin cám ơn anh chị em học viên lớp CH CNTT, khóa học 2017 -2019, Trƣờng Đại học mở Hà Nội ủng hộ giúp đỡ tơi q trình học tập nhƣ thực luận văn Cuối xin cám ơn đến bạn đồng nghiệp đơn vị giúp đỡ tơi q trình thực đề tài Xin chân thành cảm ơn! ii MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CÁM ƠN ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT .vi DANH MỤC BẢNG BIỂU iix DANH SÁCH HÌNH VẼ x MỞ ĐẦU CHƢƠNG CÔNG NGHỆ FPGA VÀ VI XỬ LÝ LÕI MỀM MICROBLAZE 32BIT CỦA XILINX 1.1 Công nghệ FPGA 1.1.1 Cấu trúc chung FPGA 1.1.2 Định tuyến FPGA 11 1.1.3 Các kiến trúc FPGA 16 1.1.4 So sánh FPGA với công nghệ khác 17 1.2 32-bit RISC lõi mềm Microblaze cho Xilinx FPGA 20 1.2.1 Kiến trúc Microblaze 20 1.2.2 Đặc điểm Microblaze 21 1.2.3 Tập lệnh RISC Microblaze 24 1.3 Kết luận chƣơng 30 CHƢƠNG 2: THIẾT KẾ VI XỬ LÝ 2-CORE MICROBLAZE TRÊN XILINX FPGA 31 2.1 Kit phát triển hệ thống nhúng Xilinx 31 iii 2.1.1 Các công cụ phần mềm phát triển 31 2.1.2 Bảng phát triển Xilinx FPGA 35 2.2 Thiết kế hệ thống 2-core Microblaze 37 2.2.1 Đề xuất cấu hình 2-core microblaze 37 2.2.2 Thực bƣớc thiết kế 38 2.3 Xây dựng ứng dụng ngôn ngữ C chạy thử nghiệm 2-core MicroBlaze41 2.3.1.Các bƣớc xây dựng ứng dụng ngôn ngữ C để chạy kiểm tra vận hành vi xử lý Microblaze 32-bit 2-core đƣợc thiết kế cho phụ lục 41 2.3.2.Kết chạy chƣơng trình ứng dụng cho thấy thiết kế Microblaze 32-bit 2-core thành công 41 2.4 Kết luận chƣơng 43 CHƢƠNG 3: ĐÁNH GIÁ HIỆU NĂNG CỦA VI XỬ LÝ ĐA NHÂN NHỜ MƠ HÌNH HĨA BẰNG PETRI NET VÀ MẠNG HÀNG ĐỢI 44 3.1 Hiệu hệ đa xử lý theo mức tăng tốc 44 3.1.1 Luật Amdahl 44 3.1.2 Luật Gustafson-Barsis 54 3.1.3 Số đo Karp-Flatt 56 3.1.4 Số đo đẳng hiệu 57 3.2 Một số đặc điểm mạng hàng đợi Petri Net 62 3.2.1 Mạng hàng đợi 62 3.2.2 Petri Net 72 3.3 Mơ hình hóa phân tích hiệu vi xử lý đa nhân 84 3.3.1 Mơ hình chip multi-core 84 3.3.2 Xác định số đo hiệu 89 3.3.3 Mô xác định kết nhờ công cụ mô JMT 90 iv 3.3.4 Thực mô nhờ mạng hàng đợi đóng nhiều lớp cơng việc nghiệm dạng tích xác suất MCPFQN 91 3.4 Kết luận chƣơng 92 KẾT LUẬN CHUNG VÀ HƢỚNG NGHIÊN CỨU 93 TÀI LIỆU THAM KHẢO 94 PHỤ LỤC 96 PHỤ LỤC KẾT QUẢ THỰC HIỆN THIẾT KẾ MICROBLAZE 32-BIT 2CORE 97 PHỤ LỤC 2.XÂY DỰNG CÁC ỨNG DỤNG Ở NGÔN NGỮ C ĐỂ KIỂM TRA HOẠT ĐỘNG CỦA THIẾT KẾ MICROBLAZE 32-BIT 2-CORE 105 PHỤ LỤC KẾT QUẢ THỰC HIỆN MÔ PHỎNG SỬ DỤNG JMT 110 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT STT Từ viết tắt Tiếng Anh Tiếng Việt ABEL Advanced Boolean Expression Language Ngôn ngữ biểu thức boolean nâng cao ADC Analog to digital converter Bộ biến đổi tƣơng tự sang số AMC Asymmetric multi core chip Chip đa lõi bất đối xứng APN Algebraic Petri Net Mạng Petri dạng đại số ASIC Application-specific integrated circuit Vi mạch tích hợp chuyên dụng BCEs Base core equivalents Tƣơng đƣơng lõi sở BRAM Block random-access memory Khối nhớ truy cập ngẫu nhiên BSB Base system Buider Wizard Nền tảng xây dựng hệ thống CLB Configurable Logic Block Khối logic cấu hình 10 CPLD Complex Programmable Logic Device Thiết bị logic phức tạp lập trình đƣợc 11 CPN Coloured petri Net Mạng Petri có mầu 12 DDR Double data rate Nhân đôi tốc độ liệu 13 DMC Dynamic multi core chip Chip đa lõi linh hoạt 14 DSP Digital Processing System Hệ thống xử lý số tín hiệu 15 DTPN Deterministic TPN Petri thời gian xác định vi 16 EAR Exception Address Register Thanh ghi địa 17 EDK Embedded Development Kit Công cụ phát triển hệ thống nhúng 18 EMC External memory controller Khối điều khiển nhớ 19 ESR Exception status register Thanh ghi trạng thái ngồi 20 FPGA Field-Programmable Gate Array Mảng cổng lập trình đƣợc 21 FPU Floating poit unit Đơn vị dấu phẩy động 22 FSL Fast simplex link Giao tiếp đơn công nhanh 23 GAL Generic array logic Logic mảng chung 24 GPIO General-purpose input/output Cổng vào đa 25 GPN Graph Petri Net Mạng Petri dạng đồ thị 26 I2C Inter-Intergrated Circuit Mạch tích hợp liên kết 27 ID Instruction Decode Giải mã lệnh 28 IE Instruction Execution Thực lệnh 29 IF Instruction Fetch Đọc lệnh 30 ISE Intergrated software Phần mềm tích hợp 31 JMT Java Modelling Tools Công cụ mô Java 32 LMB Local memory bus Bus nhớ cục 33 LUT Lookup table Bảng chân lý vii Hình 1.9 Kết nối 2-Core MicroBlaze ngoại vi 1.10 Kết nối MicroBlaze core với ngoại vi: Hình 1.10 Kết nối MicroBlaze core với ngoại vi 1.11 Kết nối MicroBlaze core với ngoại vi: 101 Hình 1.11 Kết nối MicroBlaze core với ngoại vi Hình 1.12 Các tín hiệu hệ thống 2-core MicroBlaze 1.12 Thực tạo Netlist Bitstream file: Sau khẳng định dải địa chỉ, thiết kế phần cứng, cần thực save 102 project Tiếp sau đó, XPS, chọn: Hardware – Generate Netlist Hardware – Generate Bitstream Sau hai bƣớc đƣợc thực thành cơng (khơng có lỗi), thƣ mục project phải có file cấu hình thiết kế: … netlist.lst dowmload.bit … system_bd.bmm system.bit system.bgn system.bld system.xml … Những file thể thành công thiết kế phần cứng Các file system… phải đƣợc xuất đến môi trƣờng làm việc (Workspace) SDK Để nạp file cấu hình thiết kế phần cứng 2-core MicroBlaze xây dựng số ứng dụng để kiểm thử tính đắn phần cứng thiết kế, đến cần thực xuất thiết kế phần cứng đến môi trƣờng làm việc SDK: 1.13 Xuất thiết kế phần cứng đến SDK: Trên XPS, chọn: Project – Export Hardware Design to SDK… Sẽ xuất yêu cầu SDK cần nhập địa đƣờng dẫn môi trƣờng cho thiết kế phần cứng Tại ta cần đặt tên Workspace thƣ mục thƣ mục 103 Project Ví dụ: D:\DualCoreMicroblazeSpartan3e\Workspace Các file cấu hình hệ thống: download.bit, system_bd.bmm, system.bit, system.xml đƣợc đƣa vào Workspace 1.14 Chọn thực xuất chạy SDK Hình 1.13 Chọn Export & Launch SDK Đến đây, thực thành cơng, hiển thị sổ SDK mà ta thực bƣớc: nạp file cấu hình lên FPGA, xây dựng ứng dụng thực nghiệm 104 PHỤ LỤC 2.XÂY DỰNG CÁC ỨNG DỤNG Ở NGÔN NGỮ C ĐỂ KIỂM TRA HOẠT ĐỘNG CỦA THIẾT KẾ MICROBLAZE 32-BIT 2CORE 2.1 Nạp file cấu hình Bootload lên Flash bảng Spartan3E Trƣớc xây dựng ứng dụng, cần nạp file cấu hình bitstream: system.bit, file bmm: system_bd.bmm vào nhớ Intel StrataFlash ROM (128 Mbit Parallel Flash) Block RAM (BRAM) FPGA đƣợc khởi tạo file cấu hình thực tạo phần cứng 2-core MicroBlaze Chỉ có hiển thị thành cơng cửa sổ Console SDK tiến hành thực tạo ứng dụng để kiểm tra tính đắn hệ nhúng 2-core MicroBlaze Hình 2.1 Chọn Program nạp cấu hình lên FPGA 2.2 Chƣơng trình helloworld.c Để đảm bảo hiển thị trả lời từ hệ thống nhúng 2-core MicroBlaze, lúc cần kết nối cổng RS232-DCE bảng spartan-3E với PC Trên PC ta phải cài driver chuyển đổi USB-UART (COM) nối cáp chuyển đổi USB-COMRS232 Vì 105 cấu hình thiết lập ban đầu cho MicroBlaze có thiết lập định dạng truyền liệu: 9600bps, 8bit, stop bit, N parity Nên SDK phải đặt định dạng truyền liệu kết nối USB-COM tƣơng ứng với số hiệu COM Trên cửa sổ Project Explorer thực chọn: helloworld – nhấn phím chuột phải – Build Project – file thực helloworld.elf helloworld – nhấm phím chuột phải – Run As – Lauch on Hardware (GDB) – thực tải helloworld.elf lên hệ nhúng cạy Sự thị kết helloworld chạy hệ nhúng (hình 2.2) chế độ Terminal (PC Terminal, 2-core MicroBlaze system Server) cho thấy thiết lập truyền liệu hoạt động 2-core MicroBlaze Hình 2.2 Xây dựng chạy thử helloworld thành công 2.3.Kiểm tra ngoại vi Nội dung chƣơng trình kiểm tra ngoại vi tƣơng đối dài gồm nhiều module kiểu h c lấy từ nguồn SDK có sẵn (xem cửa sổ Project Explorer 106 SDK hình 2.3) Vấn đề lại chỉnh sửa cho phù hợp với cấu hình hệ thống thiết kế Hình 2.3 Chƣơng trình nguồn testngoaivi.c Soạn thảo, biên dịch, nạp lên hệ thống 2-core MicroBlaze tƣơng tự nhƣ làm với helloworld Ta nạp chạy thành công testngoaivi.elf kiểm thử số ngoại vi nhƣ hiển thị kết qua kết nối terminal (hình 2.4) 107 Hình 2.4 Hiển thị kết kiểm tra kết nối ngoại vi 2-core MicroBlaze 2.4 Chƣơng trình kiểm tra nhớ Tƣơng nhƣ thực với helloworld testngoaivi, dựa vào chƣơng trình nguồn có sẵn SDK để thực chỉnh sửa nội dung chƣơng trình kiểm tra nhớ Kết thực kiểm tra kết nối nhớ 2-core MicroBlaze đƣợc hiển thị hình 2.5 cho thấy thiết kế phần cứng hệ nhúng 2-core MicroBlaze đạt đƣợc mục tiêu 108 Hình 2.5 Kết chạy chƣơng trình kiểm tra nhớ 2-core MicroBlaze 109 PHỤ LỤC KẾT QUẢ THỰC HIỆN MÔ PHỎNG SỬ DỤNG JMT 3.1 Mô với n=4 core, số công việc 1-100 Hình 3.1(a,b): Jobs = – 100 (thay đổi theo bƣớc 10), n = (4_Core): Hình 3.1a Số lƣợng cơng việc vị trí think (chip 4_core) Hình 3.1b Đáp ứng trung bình hệ thống (chip 4_Core) 110 3.2 Mô với n=12 core, số công việc 1-100 Hình 3.2(a,b): Jobs = – 100 (thay đổi theo bƣớc 10), n = 12 (12_Core): Hình 3.2a Số lƣợng cơng việc vị trí think (chip 12_core) Hình 3.2b Đáp ứng trung bình hệ thống (chip 12_Core) 3.3 Mô với n=24 core, số công việc 1-100 111 Hình 3.3(a,b): Jobs = – 100 (thay đổi theo bƣớc 10), n = 24 (24_Core): Hình 3.3a Số lƣợng cơng việc vị trí think (chip 24_core) Hình 3.3b Đáp ứng trung bình hệ thống (chip 24_Core) 112 3.4 Mô với n=32 core, số công việc 1-100 Hình 3.4(a,b): Jobs = – 100 (thay đổi theo bƣớc 10), n = 32 (32_Core): Hình 3.4a Số lƣợng cơng việc vị trí think (chip 32_core) Hình 3.4b Đáp ứng trung bình hệ thống (chip 32_core) 113 3.5 Mô với n=64 core, số công việc 1-100 Hình 3.5(a,b): Jobs = – 100 (thay đổi theo bƣớc 10), n = 64 (64_Core): Hình 3.5a Số lƣợng cơng việc vị trí think (chip 64_core) Hình 3.5b Đáp ứng trung bình hệ thống (chip 64_Core) Nhận xét kết mô phỏng: với tăng số core, nhận thấy tốc độ tăng số 114 lƣợng công việc (tại think) nhanh hơn, đảm bảo thời gian đáp ứng trung bình hệ thống chip multi-core thấp, đặc biệt với n = 64 cores, đáp ứng trung bình thấp số số công việc lớn 115 ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ THIẾT KẾ THỬ NGHIỆM, PHÂN TÍCH VÀ ĐÁNH GIÁ HIỆU NĂNG VI XỬ LÝ LÕI MỀM ĐA NHÂN TRÊN FPGA NGUYỄN QUANG VINH CHUYÊN NGÀNH... vấn đề liên quan đến công nghệ FPGA, cấu trúc số chip vi xử lý thiết kế FPGA, phân tích đánh giá hiệu vi xử lý đa nhân dựa kết hợp mạng hàng đợi Petri Net  Phạm vi nghiên cứu Trong khuôn khổ... đề tài Thiết kế chip vi xử lý 2-core Microblaze 32-bit bảng phát triển Xilinx FPGA Xây dựng mơ hình dựa vào mạng hàng đợi Petri Net cho phân tích, đánh giá phân tích hiệu chip vi xử lý đa nhân

Ngày đăng: 05/04/2020, 11:11

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

  • Đang cập nhật ...

Tài liệu liên quan