Thiết kế hệ thống nhiều lõi trên chip (SoC) dựa trên FPGA theo kiến trúc SIMD

( 0 đánh giá )
Miễn phí

Mô hình kiến trúc:

  - ACU (Array Control Unit): bộ xử lý chính điều khiển toàn hệ thống

  - PE (Processing Element): lõi xử lý song song, mỗi PE có bộ nhớ riêng

  - Mạng kết nối:

    + Mạng lân cận: kết nối các PE theo topology như mesh, torus

    + NoC (Network-on-Chip): kết nối toàn cục giữa ACU, PE và thiết bị I/O

  - IP sử dụng: miniMIPS, OpenRisc, RAM, ROM, router

 

Phương pháp thiết kế:

  - Thiết kế theo cấp độ RTL bằng VHDL

  - Hai phương pháp xây dựng PE:

    + Giảm bớt bộ xử lý (reduction): loại bỏ bộ giải mã lệnh, tiết kiệm tài nguyên

    + Nhân bản bộ xử lý (replication): dùng cùng IP cho ACU và PE, giảm thời gian thiết kế

 

Lập trình dữ liệu song song:

  - Dòng lệnh đơn, chia thành lệnh tuần tự (ACU) và lệnh song song (PE)

  - Bộ lệnh gồm: toán học, truy cập bộ nhớ, giao tiếp, nhảy/nhánh, điều khiển hệ thống

  - Sử dụng macro C để đơn giản hóa cú pháp

 

Thử nghiệm thực tế:

  - Ứng dụng xử lý video: chuyển đổi màu RGB → YIQ, lọc ảnh, hiển thị LCD

  - Thiết kế trên FPGA Cyclone II (Altera DE2-70), sử dụng camera, SDRAM, SRAM, LCD

  - So sánh hai phương pháp thiết kế PE:

    + Giảm bớt: tích hợp được 32 PE, tiêu thụ ít tài nguyên hơn

    + Nhân bản: chỉ tích hợp được 8 PE, tiêu thụ nhiều logic và bộ nhớ hơn

 

Kết quả hiệu năng:

  - Tốc độ xử lý tăng theo số lượng PE

  - Thời gian xử lý ảnh giảm đáng kể khi dùng nhiều PE

  - Đạt tốc độ thực thi thực tế với 8 PE trở lên

  - So sánh với các kiến trúc khác:

    + Tốt hơn kiến trúc systolic 2D

    + Nhanh hơn tăng tốc phần cứng C2H

    + Hiệu quả hơn mở rộng SIMD instruction trên NiosII

 

Hàm ý thiết kế:

  - Kiến trúc có thể mở rộng cho các ứng dụng xử lý ảnh, thị giác máy, mã hóa video

  - Có thể tích hợp thêm DMA, DSP hoặc chuyển sang kiến trúc lai SIMD/MIMD

  - Mở ra hướng nghiên cứu về tự động hóa thiết kế và tối ưu cấu hình SIMD theo ứng dụng