Luận văn thạc sĩ vnu uet nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô cgra ứng dụng cho kỹ thuật điều khiển luận văn ths công nghệ điện tử viễn thông 60 52 02 03

Luận văn thạc sĩ VNU UET nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA cho kỹ thuật điều khiển trong công nghệ điện tử viễn thông.

Người đăng

Ẩn danh

Thể loại

luận văn

2015

56
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

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Ị

1. CHƯƠNG 1: KHÁI NIỆM VÀ VẤN ĐỀ CẦN GIẢI QUYẾT

1.1. Giới thiệu chung

1.2. Một số mô hình R đã được nghiên cứu trên thế giới

1.2.1. Kiến trúc MorPhoSys

1.2.2. Kiến trúc ADRES

1.2.3. Kiến trúc REMUS

1.2.4. Nhận xét chung

1.3. Vấn đề cần giải quyết

2. CHƯƠNG 2: THIẾT KẾ CHI TIẾT CỦA CGRA

2.1. Phương án đề xuất thiết kế CGRA sử dụng trong kỹ thuật điều khiển

2.1.1. Phép toán tổng/tích của một dãy

2.1.2. Phép tính tích vô hướng của hai vector

2.1.3. Phương án kiến trúc CGRA

2.2. Kiến trúc tổng thể của mảng tái cấu hình kiến trúc thô CGRA

2.3. Thiết kế chi tiết của RCA

2.3.1. Kiến trúc tổng thể của RCA

2.3.2. Cấu trúc thực hiện của RCA_Row

2.3.3. PE và các phần tử cấu thành PE

2.3.4. Bộ tích lũy, thanh ghi đệm đầu ra của PE

2.3.5. Thanh ghi cấu hình của PE

2.3.6. Tệp thanh ghi cấu hình của RCA

2.4. Thiết kế chi tiết của CGRA_CTRL

2.4.1. Kiến trúc tổng thể của CGRA_CTRL

2.4.2. Bộ nhớ lưu cấu hình theo ngữ cảnh của CGRA

2.4.3. Bộ nhớ dữ liệu vào ra của CGRA

2.4.4. Khối điều khiển hoạt động cơ bản của CGRA

3. CHƯƠNG 3: KẾT QUẢ MÔ PHỎNG VÀ THỬ NGHIỆM

3.1. Mô hình mô phỏng RCA của R trong môi trường ModelSIM

3.2. Kết quả mô phỏng lõi RCA_4x4 của CGRA trên ModelSIM

3.2.1. Kết quả mô phỏng phép toán Tổng của một dãy và Tích vô hướng của hai vector

3.2.2. Kết quả mô phỏng tính tổng theo cửa sổ trượt (Moving-windows)

3.2.3. Kết quả mô phỏng thực hiện bộ lọc FIR

3.2.4. Kết quả mô phỏng thực hiện vòng điều khiển PI (proportional integral)

3.2.5. Nhận xét kết quả mô phỏng

3.3. So sánh kết quả mô phỏng CGRA trên ModelSim với một số nền tảng xử lý thông dụng

TÀI LIỆU THAM KHẢO

PHỤ LỤC 1: BẢNG MÔ TẢ THÔNG SỐ VÀ GIAO DIỆN CÁC MODULE PHỤ CỦA RCA

PHỤ LỤC 2: HỖ TRỢ MÔ PHỎNG TRÊN MODELSIM

Tóm tắt

I. Tổng quan về Nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA

Nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA (Coarse-Grained Reconfigurable Architecture) đang trở thành một xu hướng quan trọng trong lĩnh vực kỹ thuật điều khiển. CGRA cho phép tối ưu hóa hiệu suất tính toán và linh hoạt trong việc xử lý các phép toán phức tạp. Việc áp dụng CGRA trong kỹ thuật điều khiển giúp nâng cao hiệu quả và giảm thiểu thời gian xử lý, đáp ứng nhu cầu ngày càng cao trong các ứng dụng thực tiễn.

1.1. Khái niệm về CGRA và ứng dụng trong kỹ thuật điều khiển

CGRA là một kiến trúc có khả năng tái cấu hình, cho phép thực hiện các phép toán song song hiệu quả. Trong kỹ thuật điều khiển, CGRA có thể xử lý các phép toán vector phức tạp, giúp cải thiện hiệu suất và giảm thời gian tính toán.

1.2. Lợi ích của việc sử dụng CGRA trong thiết kế hệ thống

Việc sử dụng CGRA mang lại nhiều lợi ích như tiết kiệm năng lượng, tăng tốc độ xử lý và khả năng mở rộng linh hoạt. Điều này giúp các kỹ sư có thể phát triển các hệ thống điều khiển hiệu quả hơn.

II. Vấn đề và thách thức trong thiết kế CGRA cho kỹ thuật điều khiển

Mặc dù CGRA mang lại nhiều lợi ích, nhưng vẫn tồn tại một số thách thức trong quá trình thiết kế và triển khai. Các vấn đề này bao gồm sự phức tạp trong việc tối ưu hóa hiệu suất, khả năng tương thích với các hệ thống hiện có và yêu cầu về năng lượng.

2.1. Thách thức về hiệu suất và năng lượng trong CGRA

Một trong những thách thức lớn nhất là cân bằng giữa hiệu suất tính toán và tiêu thụ năng lượng. Các thiết kế CGRA cần phải tối ưu hóa để đảm bảo hiệu suất cao mà không tiêu tốn quá nhiều năng lượng.

2.2. Vấn đề tương thích với các hệ thống hiện có

CGRA cần phải tương thích với các kiến trúc vi xử lý hiện có để có thể tích hợp vào các hệ thống điều khiển. Điều này đòi hỏi các kỹ sư phải nghiên cứu và phát triển các giao thức kết nối phù hợp.

III. Phương pháp thiết kế mảng tái cấu hình kiến trúc thô CGRA

Để thiết kế CGRA hiệu quả, cần áp dụng các phương pháp nghiên cứu lý thuyết và thực nghiệm. Các phương pháp này bao gồm thiết kế mô-đun, mô phỏng và kiểm thực trên nền tảng FPGA.

3.1. Phương pháp nghiên cứu lý thuyết về CGRA

Nghiên cứu lý thuyết giúp hiểu rõ các nguyên lý hoạt động của CGRA và các phép toán cơ bản trong kỹ thuật điều khiển. Điều này tạo nền tảng cho việc phát triển các mô hình thiết kế hiệu quả.

3.2. Thiết kế mô đun và mô phỏng CGRA

Thiết kế mô-đun cho phép tạo ra các thành phần riêng biệt của CGRA, giúp dễ dàng trong việc kiểm tra và tối ưu hóa. Mô phỏng trên phần mềm ModelSIM giúp đánh giá hiệu suất của thiết kế trước khi triển khai thực tế.

IV. Ứng dụng thực tiễn của CGRA trong kỹ thuật điều khiển

CGRA đã được áp dụng trong nhiều lĩnh vực khác nhau, từ tự động hóa công nghiệp đến điều khiển robot. Các ứng dụng này cho thấy khả năng xử lý nhanh chóng và hiệu quả của CGRA trong các tình huống thực tế.

4.1. Ứng dụng CGRA trong tự động hóa công nghiệp

Trong tự động hóa công nghiệp, CGRA giúp tối ưu hóa quy trình sản xuất, giảm thiểu thời gian dừng máy và tăng năng suất. Các hệ thống điều khiển sử dụng CGRA có thể xử lý dữ liệu nhanh chóng và chính xác.

4.2. Ứng dụng CGRA trong điều khiển robot

CGRA được sử dụng trong điều khiển robot để xử lý các phép toán phức tạp như nhận diện hình ảnh và điều khiển chuyển động. Điều này giúp robot hoạt động hiệu quả hơn trong các nhiệm vụ phức tạp.

V. Kết luận và tương lai của nghiên cứu CGRA trong kỹ thuật điều khiển

Nghiên cứu về CGRA trong kỹ thuật điều khiển đang mở ra nhiều cơ hội mới. Với sự phát triển không ngừng của công nghệ, CGRA hứa hẹn sẽ trở thành một phần quan trọng trong các hệ thống điều khiển hiện đại.

5.1. Tóm tắt những ưu điểm của CGRA

CGRA mang lại nhiều ưu điểm như hiệu suất cao, khả năng tái cấu hình và tiết kiệm năng lượng. Những lợi ích này giúp CGRA trở thành lựa chọn hàng đầu cho các ứng dụng trong kỹ thuật điều khiển.

5.2. Hướng phát triển tương lai của CGRA

Trong tương lai, CGRA có thể được cải tiến để đáp ứng tốt hơn các yêu cầu của các ứng dụng phức tạp. Nghiên cứu tiếp tục sẽ giúp tối ưu hóa thiết kế và mở rộng khả năng ứng dụng của CGRA.

22/07/2025
Luận văn thạc sĩ vnu uet nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô cgra ứng dụng cho kỹ thuật điều khiển luận văn ths công nghệ điện tử viễn thông 60 52 02 03

Trích đoạn nội dung tài liệu

phần mở đầu, kiến trúc tinh đã được ứng dụng rộng rãi trong các vi mạch FPGA. Tuy nhiên, ở kiến trúc này, tính mềm dẻo trong thiết kế phần cứng thể hiện rất rõ nét, nhưng hệ thống kết nối trên vi mạch dạng này chiếm một tài nguy n đáng kể, dẫn tới vấn đề hiệu suất sử dụng năng lượng bị giảm đáng kể so với các vi mạch SI. ể giải quyết việc cân bằng hiệu quả sử dụng năng lượng, hiệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 năng tính toán cũng như sự mềm dẻo linh hoạt trong thiết kế, kiến trúc thô CGRA được đưa ra để lấp vào khoảng trống này. ASIC CGRA iệu năng FPGA ASIP DSP GPP ộ mềm dẻo Hình 3: So sánh hiệu năng - tính mềm dẻo của một số loại vi mạch iệu suất nguồn ASIP (GOPS/W) 100 ASIP CGRA 10 DSP 1 iệu năng 0.1 1 10 (GOPS) Hình 4: So sánh hiệu năng - hiệu suất sử dụng điện của một số loại vi mạch 1.2 Một số mô hình R đã đƣợc nghiên cứu trên thế giới Hiện nay trên thế giới đã có nhiều nghiên cứu khác nhau về CGRA.

Mỗi nghiên cứu đưa ra một kiến trúc đặc trưng ri ng với các ưu nhược điểm khác nhau, hướng tới một số ứng dụng cụ thể. Dưới đây l một số mô hình tiêu biểu.1 Kiến trúc MorPhoSys ây l một trong những kiến trúc được phát triển trong những năm của giai đoạn đầu của CGRA (khoảng năm 1998) với mục đích ứng dụng cho truyền thông đa phương tiện. Nó kết hợp giữa tái cấu hình kiến trúc thô và kiến trúc tinh để tối ưu hóa phần cứng. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 Kiến trúc này bao gồm các phần tử cơ bản sau: - Reconfigurable ell rray: đây l phần tử chính của kiến trúc MorphoSys gồm một mảng 8x8 phần tử RC (Reconfigurable ell) như mô tả trong Hình 6.

Kiến trúc của R được thể hiện chi tiết trong hình 5: mỗi RC gồm một ALU, một tệp thanh ghi, các bộ ghép k nh, … - Host/Control processor: là một bộ xử lý 32-bit làm nhiệm vụ khởi tạo truyền số liệu, điều khiển hoạt động của mảng RC - Frame Buffer: làm nhiệm vụ đệm, truyền nhận dữ liệu giữa RCA và bộ nhớ chính. Hình 5: Kiến trúc RC MorPhoSys [4] Hình 6: Kiến trúc MorPhoSys [13] LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 Hình 7: Kết nối MorPhoSys trong hệ SoC [5] Việc kết hợp mảng tái cấu hình R như trong hệ thống n y giúp gia tăng khả năng tính toán, nhưng việc chia sẻ bus dữ liệu dung chung dễ tạo ra việc quá tải trong truy xuất dữ liệu. Tuy nhi n, đây l một mô hình cơ bản để xây dựng phát triển các hệ thống về sau.2 Kiến trúc ADRES Hình 8: Kiến trúc ADRES[7] LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Bộ vi xử lý VLIW (Very Large Instruction Word) là thành phần chính của hệ thống, mảng tái cấu hình đóng vai trò l một phần của vi xử lý, giúp gia tốc tính toán.

Hình 8 minh họa một kiến trúc ADRES gồm một mảng các khối chức năng (FU-functional units) kết hợp với các tệp thanh ghi kết nối với nhau thông qua hệ kết nối định tuyến (được tạo bởi dây nối, bộ ghép kênh, bus dữ liệu). Việc kết hợp CGRA trực tiếp với bộ vi xử lý l m tăng khả năng l m việc của hệ thống nhưng lại buộc cấu trúc CGRA phải tương thích với một kiến trúc vi xử lý cố định, không được linh hoạt so với cách thực hiện dưới dạng IP core (như cách thực hiện của kiến trúc REMUS trình bày ở mục 1.3 Kiến trúc REMUS REMUS (REconfigurable MUltimedia System) là một kiến trúc GR hướng tới các ứng dụng xử lý đa phương tiện và xử lý tín hiệu băng gốc trong truyền thông. Kiến trúc này kết nối trong hệ thống So như mô tả ở Hình 9. Hệ thống gồm 02 RPU được sử dụng kết hợp với vi xử lý ARM, cùng với các module khác.

Các phần tử trong hệ thống liên kết với nhau qua bus AHB. Ngoài Bus AHB, các RPU còn có thể giao tiếp qua hệ thống chia sẻ dữ liệu d nh ri ng, cũng như qua giao diện với bộ nhớ ngoài EMI (External Memory Interface). Khối uPU là một mảng của 8 vi xử lý RISC có nhiệm vụ giám sát hoạt động của RPU, đồng thời cũng có thể hỗ trợ xử lý trong những trường hợp các phép toán không hợp với thiết kế của RPU. Hình 9: Kiến trúc RSoC của bộ xử lý REMUS [3] LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 Hình 10 mô tả kiến trúc chi tiết của một RPU được sử dụng trong kiến trúc REMUS.

Ở đây, các R được sắp xếp thành một mảng 8x8 làm nhiệm vụ thực thi các phép toán của RPU. Các thành phần điều khiển ontroller, FIFO, ontext register, … có nhiệm vụ điều khiển, cấu hình, truyền nhận dữ liệu giữa mảng RCA hệ thống bên ngoài RPU. Phần tử xử lý cơ bản RC có kiến trúc như mô tả trong Hình 11 Hình 10: Cấu trúc của một RPU trong bộ xử lý REMUS [3] Hình 11: Cấu trúc của phần tử RC trong REMUS [3] Việc thiết kế GR dưới dạng IP-core tạo ra việc thuận tiện cho việc sử dụng lại thiết kế trong các hệ thống khác nhau, không bị phụ thuộc nhiều vào kiến trúc vi xử lý. Thiết kế GR được trình bày ở chương 2 của luận văn được thực hiện theo hướng này.

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.4 Nhận xét chung Các kiến trúc tham khảo trên có một số đặc điểm tương đồng sau: - Một hệ thống có GR thường bao gồm 3 thành phần như mô tả trong Hình 12 (CPU, bộ nhớ và RPU). CGRA kết hợp với các bộ xử lý để tương tác, hỗ trợ khắc phục những nhược điểm của nhau (CPU có thể thực hiện một dải các phép toán khác nhau nhưng bị giới hạn về tốc độ khi thực hiện vòng lặp; CGRA tuy không mềm dẻo được như PU nhưng lại có khả năng gia tốc tính toán trong một số trường hợp cụ thể). Cách thức kết hợp có thể khác nhau tùy theo từng kiến trúc cụ thể, ví dụ: trong MorphoSys GR l đơn vị đồng xử lý của CPU, được ghép nối với CPU qua kết nối trực tiếp; trong REMUS CGRA được sử dụng như một IP core ghép nối với CPU qua shared-bus; trong ADRES RPU là một đơn vị chức năng nằm bên trong kiến trúc VLIW của CPU. Trong các hệ thống n y, PU đóng vai trò điều khiển trung tâm (các quá trình đọc/ghi dữ liệu, điều khiển cấu hình cho mảng tính toán) còn CGRA đóng vai trò chia sẻ tải tính toán; tăng tốc khả năng xử lý số liệu cho hệ thống.

Hình 12: Các thành phần cơ bản của một hệ thống có CGRA - Bộ nhớ sử dụng trong hệ thống được tách biệt thành 2 phần riêng biệt: Bộ nhớ dữ liệu và Bộ nhớ cấu hình. Việc tách biệt 2 bộ nhớ cấu hình và dữ liệu là kỹ thuật chung của thiết kế tái cấu hình dạng mảng. - Các phần tử xử lý liên kết với nhau thông qua hệ định tuyến (bằng dây nối, bus hoặc các bộ ghép kênh). Kiến trúc định tuyến, các thức xử lý được cấu hình bằng cách sử dụng các tệp thanh ghi.3 Vấn đề cần giải quyết Tr n cơ sở tìm hiểu các mô hình trình bày ở mục 1.2, khi thiết kế mảng CGRA cần giải quyết 03 nội dung sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 18 - Khả năng xử lý của từng phần tử trong mảng: đây l một trong các yếu tố quyết định dải ứng dụng của thiết kế.

Với định hướng ứng dụng kỹ thuật điều khiển, thiết kế trình bày trong luận văn tập trung vào các phép toán số học. - Khả năng kết nối giữa các phần tử trong mảng: Các mô hình tham khảo trong mục 1.2 sử dụng kiến trúc ô lưới (mesh) tạo ra sự mềm dẻo định tuyến dữ liệu trong hệ thống, nhưng điều n y cũng kéo theo sự phức tạp trong quá trình điều khiển. Với mục đích tập trung vào một số phép toán vector thường dùng trong kỹ thuật điều khiển, hướng thiết kế mảng tái cấu hình trong luận văn n y sẽ sử dụng cấu trúc tuần tự theo hàng (row-by-row). Kiến trúc này kém mềm dẻo hơn, tuy nhi n việc định tuyến lại đơn giản.

Thiết kế chi tiết được trình bày ở chương 2 của luận văn. - Khả năng điều khiển, tái cấu hình của mảng: do mảng CGRA phải thường xuyên cấu hình lại trong quá trình làm việc, cho nên cần phải đưa ra giải pháp rút ngắn thời gian cấu hình (bằng cách sử dụng bộ nhớ cấu hình theo ngữ cảnh, kỹ thuật cấu hình đồng thời với quá trình thực thi). Với mục tiêu thiết kế một CGRA dùng cho kỹ thuật điều khiển, chương 2 tiếp theo của luận văn sẽ trình bày chi tiết một thiết kế của CGRA có khả năng hướng tới việc tích hợp vào một hệ thống điều kiển có mô hình kết nối như mô tả ở Hình 13. ALTERA FPGA SoC uP NIOS EXT.MEM ALTERA AVALON BUS CGRA_WRAPPER ETHERNET PERIPHERAL CGRA CONTROLLER INTERFACE CGRA_CTRL RCA PC Sensors Motor driver.

Hình 13: Mô hình ghép nối CGRA cho một hệ điều khiển cơ bản LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 19 Trong mô hình này, hệ thống điều khiển gồm các khối chức năng cơ bản sau: - Vi xử lý NIOS đóng vai trò l khối điều khiển trung tâm, đưa ra các lệnh điều khiển cơ bản: o iều khiển giao diện với P thông qua đường kết nối Ethernet. o iều khiển các khối giao tiếp thiết bị ngoại vi (nhận dữ liệu từ sensor sau khi đã được số hóa, điều khiển động cơ, …) o iều khiển hoạt động của CGRA: cấp dữ liệu cần xử lý từ PC hoặc các giao diện ngoại vi vào CGRA; cấu hình hoạt động của GR ; … - Bộ nhớ ngoài EXT.MEM có tác dụng lưu trữ chương trình hoạt động của hệ thống; - CGRA: thực hiện các nhiệm vụ tính toán theo yêu cầu từ vi xử lý NIOS - Bus dữ liệu ALTERA_AVALON_BUS làm nhiệm vụ kết nối toàn hệ thống. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 20 ƢƠ 2 T ẾT Ế T ẾT Ủ R 2.1 Phƣơng án đề xuất thiết kế CGRA sử dụng trong kỹ thuật điều khiển Như đã trình bày ở phần mở đầu, trong kỹ thuật điều khiển, các phép toán vector với vòng lặp không có rẽ nhánh được thực hiện phổ biến (ví dụ: phép nhân ma trận, phép nhân chập, tính trung bình, …) v thường chiếm một lượng lớn tải tính toán của hệ thống.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ