MỤC LỤC MỤC LỤC 1 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 3 DANH MỤC CÁC BẢNG 4 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5 TÓM TẮT LUẬN VĂN 6 MỞ ĐẦU 7 Lý do lựa chọn đề tài 7 Mục tiêu đề tài 9 Phƣơng pháp nghiên cứu[.]
MỤC LỤC MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ TÓM TẮT LUẬN VĂN MỞ ĐẦU Lý lựa chọn đề tài .7 Mục tiêu đề tài Phƣơng pháp nghiên cứu .9 Kết cấu luận văn CHƢƠNG : LÝ THUYẾT TỔNG QUAN .11 1.1 Giới thiệu chung 11 1.2 Cấu trúc CGRA .11 1.3 Vấn đề cần giải 14 CHƢƠNG : THIẾT KẾ CHI TIẾT CỦA MUSRA 16 2.1 Đặc tả kỹ thuật 16 2.2 Cấu trúc mảng phần cứng tái cấu hình 21 2.2.1 Cấu trúc tổng thể MUSRA 21 2.2.2 Mảng RCA 22 CHƢƠNG : KẾT QUẢ MÔ PHỎNG VÀ THỬ NGHIỆM 39 3.1 Mơ hình mô MUSRA 39 3.2 Kịch kiểm chứng 40 3.2.1 Phép tổng sai phân (chênh lệch) tuyệt đối (SAD) 40 3.2.2 Tổng chuyển động (Moving Sum) .40 3.2.3 Nhân vô hƣớng hai vector 41 3.2.4 Tích chập 42 3.3 Kết thực nghiệm đánh giá 43 3.3.1 Kết tổng hợp phần cứng 43 3.3.2 Kết mô 44 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT TT Thuật ngữ viết tắt Thuật ngữ viết đầy đủ Application-Specific Integrated Ý nghĩa Mạch tích hợp chuyên ASIC Circuit Coarse Grain Reconfigurable dụng Cấu trúc tái cấu hình lõi Architectures Central Processing Unit Direct Memory Access Data Flow Graph First In, First Out Field-Programmable Gate thô Đơn vị xử lý trung tâm Truy cập nhớ trực tiếp Sơ đồ luồng liệu FPGA Array Multiple Instruction, Multiple dƣới dạng trƣờng Xử lý đa lệnh đa liệu MIMD Data CGRA CPU DMA DFG FIFO Mảng cổng lập trình đƣợc MURSA 10 PE Multimedia Specific Reconfigurable Architecture Processing Element Single Instruction, Multiple Mảng phần tử xử lý tái cấu hình kiến trúc thơ ứng dụng cho xử lý đa phƣơng tiện Phần tử xử lý Xử lý đơn lệnh, đa liệu 11 SIMD 12 SoC Data System on Chip Hệ thống chip RCA 13 RTL 14 VLIW Reconfigurable Cell Array Mảng phần tử tái cấu hình Mức chuyển giao Register Transfer Level Very Long Instruction Word ghi Từ lệnh dài DANH MỤC CÁC BẢNG BẢNG 2- 1: CÁC PHÉP TÍNH ĐƢỢC HỖ TRỢ BỞI RCA .18 BẢNG 2-2: TÍN HIỆU V O RA CỦA KHỐI RCA8 23 BẢNG 2-3 TÍN HIỆU V O RA CỦA KHỐI RC LINE 25 BẢNG 2-4: MƠ TẢ CÁC TÍN HIỆU CỦA RC 27 BẢNG 2-5: ĐỊNH NGHĨ THƠNG TIN CẤU HÌNH NGUỒN DỮ LIỆU LỐI VÀO MỖI RC .29 BẢNG 2-6: MƠ TẢ CÁC TÍN HIỆU CỦA PE 30 BẢNG 2-7: MÔ TẢ CÁC TÍN HIỆU VÀO RA CỦA DATAPATH 31 BẢNG 2-8: MƠ TẢ CÁC PHÉP TỐN ĐƢỢC THỰC HIỆN TRÊN KHỐI ALU 32 BẢNG 2-9: MƠ TẢ TÍN HIỆU CỦA THANH GHI CỤC BỘ LOR 37 BẢNG 2-10: MƠ TẢ CÁC TÍN HIỆU CỦA ROUTER_A 37 BẢNG 2-11: MÔ TẢ CÁC TÍN HIỆU CỦA ROUTER_B 38 BẢNG 3- KẾT QUẢ TỔNG HỢP MẢNG RCA8×8 TRÊN CÔNG NGHỆ FPGA VIRTEX-7 ((XC7VX485T) 44 BẢNG 3- THỜI GIAN THỰC THI CÁC VÒNG LẶP KERNEL TRÊN CÁC NỀN TẢNG TÍNH TỐN KHÁC NHAU 45 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ HÌNH 1- CẤU TRÚC CHUNG CỦA MỘT MẢNG PHẦN CỨNG TÁI CẤU HÌNH CẤU TRÚC THÔ 12 HÌNH 2- 1: BIỂU DIỄN DFG CHO MỘT VÒNG LẶP ĐƠN GIẢN .17 HÌNH 2- 2: LẬP LỊCH SỰ CẤU HÌNH VÀ THỰC THI CỦA MỘT VÒNG LẶP TRÊN MUSRA 17 HÌNH 2- 3: CẤU TRÚC CỦA MUSRA .21 HÌNH 2- 4: TỔ CHỨC CỦA FIFO .22 HÌNH 2- 5: CẤU TRÚC TOP-DOWN CỦA MẢNG RCA .23 HÌNH 2- 6: CẤU TRÚC CỦA MỘT PHẦN TỬ RC 26 HÌNH 2- 7: ĐỊNH DẠNG THƠNG TIN CẤU HÌNH CÁC PHẦN A, B, C .28 HÌNH 2- 8: CẤU TRÚC CỦA MỘT PE 30 HÌNH 2- 9: GIAO DIỆN VÀO/RA CỦA DATAPATH .31 HÌNH 2- 10 SƠ ĐỒ THIẾT KẾ CÁC KHỐI THỰC HIỆN CÁC PHÉP TÍNH TRÊN DATAPATH .32 HÌNH 2- 11: KHỐI ALU 33 HÌNH 2- 12: ĐƠN VỊ CHỨC NĂNG ADD/SUB THỰC HIỆN PHÉP TÍNH CỘNG VÀ TRỪ HAI SỐ 16-BIT 33 HÌNH 2- 13: CẤU TRÚC CỦA BỘ CỘNG LAI GHÉP HBD_ADDER 34 HÌNH 2- 14: BỘ CỘNG CLA 4-BIT 34 HÌNH 2- 15: SƠ ĐỒ CẤU TRÚC PHẦN CỨNG CỦA BỘ NHÂN BAUGHWOOLEY [15] 35 HÌNH 2- 16 BỘ NHÂN MUL BÍT [15] 36 HÌNH 2- 17: SƠ ĐỒ THỰC HIỆN KHỐI ABS 36 HÌNH 3- MƠ HÌNH MƠ PHỎNG RCA CỦA MUSRA TRONG MÔI TRƢỜNG MODELSIM 39 HÌNH 3- (A) DFG VÀ (B) TỔ CHỨC DỮ LIỆU CHO Q TRÌNH TÍNH TỐN TRÊN MUSRA 40 HÌNH 3- ÁNH XẠ TỔNG CHUYỂN ĐỘNG TRÊN MỘT CỬA SỔ TRƢỢT VỚI ĐỘ DÀI N=10 .41 HÌNH 3- DFG (A), ÁNH XẠ CỦA DFG TRÊN MUSRA (B), VÀ SỰ THỰC THI ĐƢỢC ĐƢỜNG ỐNG HÓA (C) CỦA PHÉP NHÂN MA TRẬN – VECTƠ 42 HÌNH 3- 5: DFG THỰC HIỆN MỘT BỘ LỌC FIR BẬC 43 HÌNH 3- KẾT QUẢ MƠ PHỎNG CỦA KHỐI ƢỚC LƢỢNG CHUYỂN ĐỘNG (A) VÀ BỘ LỌC FIR (B) SỬ DỤNG MƠ HÌNH RTL CỦA MUSRA .45 TĨM TẮT LUẬN VĂN Luận văn mơ tả thiết kế cấu trúc tái cấu hình cấu trúc thô ứng dụng cho xử lý đa phƣơng tiện gọi tắt MUSRA (Multimedia Specific Reconfigurable Architecture) Cấu trúc đƣợc sử dụng để tăng tốc độ tính tốn cho nhiệm vụ tính tốn chun sâu thuật toán việc khai thác nhiều mức chế song song thuật toán Cấu trúc hỗ trợ khả tái cấu hình động việc cho phép kết cấu phần cứng tái cấu hình lại để thực chức khác hệ thống làm việc Cấu trúc đề xuất đƣợc mơ hình hoá mức truyền ghi RTL (Register Transfer Level) sử dụng ngơn ngữ VHDL Một vài ví dụ benchmark đƣợc ánh xạ lên cấu trúc MUSRA để đánh giá độ linh hoạt hiệu cao hệ thống Thiết kế đƣợc mơ hình hóa ngơn ngữ VHDL (trong RCA MUSRA đƣợc thiết kế dƣới dạng RTL) tiến hành mô phỏng, so sánh với phƣơng thức thực khác Các kết thực nghiệm thiết kế đáp ứng đƣợc yêu cầu đặt ban đầu: nhƣ tăng tốc độ tính tốn cho vịng lặp; khả tái hình linh hoạt vịng lặp khác sử dụng cho số phép tốn thƣờng dùng xử lý đa phƣơng tiện truyền thông Các module đƣợc tham số hóa, dễ dàng mở rộng thiết kế theo phƣơng án kết nối khác nhau, lõi RCA MUSRA đƣợc thiết kế với khả mở rộng kích thƣớc theo chiều MỞ ĐẦU Lý lựa chọn đề tài Xu hƣớng phát triển khoa học công nghệ năm qua thiết bị di động cầm tay ngày trở nên thông minh hơn, mật độ tích hợp ứng dụng chức ngày cao Các thiết bị nói chung yêu cầu khả xử lý chức tính tốn chuyên sâu nhƣ truyền thông, chụp ảnh, quay phim, xem truyền hình, dịch vụ định vị tồn cầu,… theo thời gian thực Thực phần cứng cho thiết bị nhƣ thách thức nhà thiết kế yêu cầu khắt khe nhƣ giảm kích thƣớc cơng suất tiêu thụ chip, tăng hiệu xử lý, rút ngắn thời gian thiết kế triển khai sản phẩm, đơn giản hóa q trình nâng cấp thiết bị sau bán hàng,… Thêm vào khả hỗ trợ đa chuẩn (truyền thông mã hóa) thiết bị yêu cầu ngày phổ biến cho phép giảm giá thành tích hợp sản phẩm nhƣ cho phép khách hàng nhận đƣợc nhiều loại hình dịch vụ từ nhà cung cấp dịch vụ khác thiết bị Nói chung, hệ thống nhúng truyền thống có hai phƣơng pháp chủ yếu đƣợc sử dụng cho việc thực thi chức mong muốn Một phƣơng pháp sử dụng vi mạch tích hợp chuyên dụng ASIC (Application Specific Integrated Circuit) Phƣơng pháp thứ hai sử dụng vi xử lý (Processor) lập trình phần mềm Tuy nhiên, hai phƣơng pháp thỏa mãn đƣợc tất yêu cầu nhƣ việc thực thi ứng dụng đa phƣơng tiện hệ Một giải pháp hứa hẹn cho việc giải vấn đề nêu hệ thống tính tốn tái cấu hình (Reconfigurable Computing System)[1] Điểm khác biệt quan trọng hệ thống nhƣ với hệ thống xử lý thông thƣờng sử dụng kết cấu phần cứng tái cấu hình (Reconfigurable Hardware) cho việc tăng tốc độ thực thi phần tiêu tốn nhiều thời gian tính tốn thuật tốn Phần cứng tái cấu hình thƣờng đƣợc tổ chức thành mảng đơn vị xử lý tái cấu hình RPU (Reconfigurable Processing Units)[2] Các chức tính tốn chun sâu thuật tốn đƣợc hốn chuyển vào khỏi mảng RPU thời gian chạy (tức cấu hình động) thời gian biên dịch (tức cấu hình tĩnh) Ƣu điểm lớn khả tái cấu hình động hệ thống cho phép tăng mật độ chức hiệu dụng ứng dụng đƣợc ánh xạ lên đơn vị tài nguyên phần cứng[3] Nói cách khác, kỹ thuật cho phép hệ thống xử lý thực số lƣợng ứng dụng với lƣợng tài nguyên phần cứng dùng mạch ASIC riêng biệt Việc tăng mật độ chức phần cứng đạt đƣợc việc lập lịch nhiệm vụ tính tốn để chia sẻ theo thời gian tài nguyên phần cứng giống nhƣ việc quản lý nhớ ảo máy tính Điều đặc biệt sau mảng RPU đƣợc cấu hình cho chức hoạt động giống nhƣ đơn vị phần cứng chuyên dụng cho chức Vì thế, hệ thống xử lý sử dụng kết cấu phần cứng tái cấu hình thƣờng đạt đƣợc dung hịa hiệu tính tốn tính mềm dẻo Điều phần cứng tái cấu hình kết hợp đƣợc khả lập trình lại sau chế tạo (post-fabrication programmability) vi xử lý với phong cách tính tốn song song hiệu cao vi mạch ASIC FPGA (Field-Programmable Gate Array) thiết bị hỗ trợ kết cấu phần cứng tái cấu hình mức lõi tinh (Fine-grained fabric) FPGA đƣợc cấu hình để thực hầu nhƣ chức phần cứng số Tuy nhiên nhƣợc điểm FPGA kích thƣớc, cơng suất tiêu thụ trễ lan truyền cao[4] Điều hạn chế khả ứng dụng FPGA cho thiết bị cầm tay Nhằm vƣợt qua giới hạn vi xử lý thiết bị tái cấu hình lõi tinh (cụ thể FPGA), cấu trúc phần cứng tái cấu hình động lõi thơ CGRA (Coarse- grained Reconfigurable Architecteture) đƣợc nghiên cứu phát triển Các cấu trúc CGRA thƣờng đƣợc đề xuất cho miền ứng dụng cụ thể ([5], [6] [7]), chẳng hạn ứng dụng xử lý đa phƣơng tiện truyền thơng, thay hƣớng tới tới ứng dụng nhƣ FPGA CGRA đƣợc sử dụng để tăng tốc độ tính tốn cho nhiệm vụ tính tốn chun sâu thuật tốn việc khai thác nhiều mức chế song song nhƣ DLP (Data Level Parallelism), ILP (Instruction Level Parallelism), TLP (Task Level Parallelism) thuật toán [8] Cấu trúc CGRA cần hỗ trợ khả tái cấu hình động việc cho phép kết cấu phần cứng tái cấu hình lại để thực chức khác hệ thống làm việc Bằng việc cấu hình động lại phần cứng nhƣ vậy, nhiều chức khác đƣợc ánh xạ tới kết cấu phần cứng, dẫn đến giảm đƣợc kích thƣớc, giá thành nhƣ công suất tiêu thụ hệ thống Xuất phát từ thực tế nêu trên, luận văn tập trung nghiên cứu với đề tài “Mô hình hóa mức RTL thực thi mảng phần cứng tái cấu hình cấu trúc thơ cho ứng dụng xử lý đa phƣơng tiện” Mục tiêu đề tài Mơ hình hố mức truyền ghi RTL (Register Transfer Level) thực thi cấu trúc phần cứng tái cấu hình động lõi thơ ứng dụng lĩnh vực xử lý đa phƣơng tiện, gọi tắt MUSRA (Multimedia Specific Reconfigurable architecture) MUSRA đƣợc sử dụng để tăng tốc độ tính tốn cho nhiệm vụ tính tốn chun sâu thuật tốn việc khai thác nhiều mức chế song song thuật tốn Các phần tử xử lý đƣợc cấu hình độc lập để thực chức tính tốn liệu có dấu không dấu 16 bit Cấu trúc MUSRA cần hỗ trợ khả tái cấu hình động việc cho phép kết cấu phần cứng tái cấu hình lại để thực chức khác hệ thống làm việc Phƣơng pháp nghiên cứu Để thực mục tiêu trên, phƣơng pháp nghiên cứu đƣợc sử dụng gồm: - Phương pháp nghiên cứu lý thuyết: Nghiên cứu tìm hiểu kỹ thuật mơ hình hóa chức phần cứng mức RTL ngơn ngữ mơ tả phần cứng VHDL từ nghiên cứu, hiểu rõ cấu trúc mảng MUSRA đƣợc đề xuất nhóm nghiên cứu PTN SIS, Trƣờng ĐHCN-ĐHQGHN - Phương pháp thiết kế: Phát triển mơ hình hố cấu trúc phần cứng tái cấu hình mức RTL Tổng hợp phần cứng với công nghệ FPGA; tiến hành đánh giá hiệu năng, giá thành phần cứng cấu trúc MUSRA - Phương pháp mô kiểm chứng: Mô thiết kế MUSRA với số ứng dụng benchmark phần mềm ModelSIM nhằm đánh giá khả tái cấu hình linh hoạt hiệu cao cấu trúc MUSRA - Phương pháp kiểm thực: Kiểm nghiệm thiết kế tảng vi mạch FPGA Kết cấu luận văn Nội dung luận văn đƣợc tổ chức thành phần sau: Chƣơng 1: Lý thuyết tổng quan: giới thiệu chung CGRA, đƣa phƣơng án tiếp cận thiết kế hệ thống CGRA ứng dụng xử lý đa phƣơng tiện Chƣơng 2: Thiết kế chi tiết MUSRA: trình bày thiết kết chi tiết cấu trúc phần cứng tái cáu hình MUSRA (bao gồm khối chức năng, giao diện ghép nối, mô tả chức hoạt động, …) Chƣơng 3: Kết mô thử nghiệm: trình bày phƣơng án mơ đánh giá MUSRA phần mềm ModelSIM Các kết mô số đánh giá đƣợc trình bày chƣơng Kết luận: Trình bày ƣu, nhƣợc điểm thiết kế, đƣa kết thu đƣợc từ việc thực đề tài phƣơng hƣớng phát triển 10 ... từ thực tế nêu trên, luận văn tập trung nghiên cứu với đề tài ? ?Mô hình hóa mức RTL thực thi mảng phần cứng tái cấu hình cấu trúc thơ cho ứng dụng xử lý đa phƣơng tiện? ?? Mục tiêu đề tài Mơ hình. .. Phương pháp thi? ??t kế: Phát triển mơ hình hố cấu trúc phần cứng tái cấu hình mức RTL Tổng hợp phần cứng với công nghệ FPGA; tiến hành đánh giá hiệu năng, giá thành phần cứng cấu trúc MUSRA - Phương. .. Multiple Mảng phần tử xử lý tái cấu hình kiến trúc thơ ứng dụng cho xử lý đa phƣơng tiện Phần tử xử lý Xử lý đơn lệnh, đa liệu 11 SIMD 12 SoC Data System on Chip Hệ thống chip RCA 13 RTL 14 VLIW