Các chiến lược phân chia: Một số quan niệm sai về cách thức phân chia đó

Một phần của tài liệu TIẾP CẬN CÔNG NGHỆ FPGA (Trang 40 - 43)

là theo cách thức sử dụng các công cụ CAD. Thường thường việc xác định phần

cứng đối lại với sự hoạt động của phần mềm theo các chức năng thi hành ở các mức

độ trừu tượng mà khơng phải là được mơ hình hố theo tham số hệ thống. Do vậy

có hai quan điểm phân chia: đó là phân chia mờ và phân chia theo quan niệm kiến

trúc.

Dựa vào kiến trúc đã được biết rõ, người ta phân chia mức hệ thống theo các chức năng mô tả nhờ việc gán nhãn cho các chức năng của nó theo sự hoạt động của phần cứng hay phần mềm. Giải pháp chính xác nhất cho vấn đề phân chia, thậm chí trong trường hợp đơn giản nhất, cũng địi hỏi cách tính tốn cực kỳ phức tạp. Trong một nỗ lực để đưa ra mơ hình tốn học về vấn đề phân chia, thì cơng thức của mơ

hình lập trình số nguyên IP (programming integer) và mơ hình lập trình tuyến tính số nguyên ILP (programming linear integer) thường được sử dụng hơn cả. Việc so sánh các phương pháp mơ hình tốn học về phân chia phần cứng và phần mềm rất khó khăn, bởi vì chất lượng của việc phân chia đơi khi cịn chịu sự ảnh hưởng của giá thành/tính năng hoạt động.

Các phương pháp mờ để phân chia có hai ý tưởng chính đó là: các phương

pháp xây dựng chẳng hạn như các công nghệ hợp nhóm và các phương pháp lặp như là các luồng thông tin trên mạng, kỹ thuật tìm kiếm nhị phân cưỡng chế và mơ hình lập trình động. Ngồi ra, hầu hết các phương pháp được sử dụng đều dựa trên

các phương pháp tìm kiếm theo độ sâu, chẳng hạn như sự thay đổi của phương pháp dự đoán mờ KL (Kernighan-Lin), hoặc các phương pháp khác...

Còn các phương pháp theo quan niệm kiến trúc thì chủ yếu là theo nhiệm vụ, chức năng, tính liên kết....

Ngồi những mối quan hệ rất mật thiết giữa các chương trình con với nhau, thì việc phân chia còn đối mặt với các vấn đề như lựa chọn giữa các yếu tố tính

năng/giá thành cũng là một bài tốn khó. Trong khi các phương pháp ước lượng tốt

đối với sự hoạt động của phần cứng thì các tham số phần mềm nói chung phụ thuộc

vào rất nhiều yếu tố...

2.3.2. Lập chương trình thực hiện (Scheduling)

Lập chương trình thực hiện có rất nhiều vấn đề cần đề cập đến. Các giải thuật lập chương trình do các nhà nghiên cứu lẫn giới khoa học máy tính đưa ra theo

nhiều mơ hình và quan điểm khác nhau để áp dụng vào kỹ thuật thiết kế các hệ

thống phần cứng và phần mềm.

Thực tế, một số giải thuật lập chương trình cho phần cứng dựa trên các kỹ thuật được sử dụng trong phần mềm và một số phương pháp lập chương trình mức hệ thống - ngược lại dựa trên các ý tưởng xây dựng phần cứng.

Lập chương trình có thể hiểu một cách gần đúng như là việc gán một kích hoạt

start time cho một một sự kiện trong một tập, trong đó các sự kiện đã được liên kết

Một số giải thuật lập chương trình được áp dụng vào việc thiết kế phần cứng,

trình biên dịch và hệ điều hành như sau:

- Lập chương trình hoạt động trong phần cứng: tương tự như việc thiết kế

ASIC bằng các ngôn ngữ HDL.

- Lập chương trình lệnh trong các trình biên dịch: các trình biên dịch là các công cụ phần mềm phức tạp, gồm có các thiết bị ngoại vi, cơ chế định tuyến làm

việc tối ưu trên các khuôn dạng tức thời và các chương trình phụ trợ.

- Lập chương trình xử lý trong các hệ điều hành khác nhau: đó chính là vấn đề xác định khi các các xử lý kích hoạt và gồm có cả đồng bộ và ngăn chặn các sự cố. Các giải thuật đối với lập chương trình xử lý rất quan trọng đối với các hệ điều hành và các chương trình thực hiện dưới thời gian thực.

2.3.3. Nhận xét

Đồng thiết kế phần cứng/phần mềm là một vấn đề rất khó hiện nay và đó

chính là các cơ hội thử thách đối với các nhà thiết kế hệ thống. Việc sử dụng và sử dụng lại các khối lệnh phần cứng và phần mềm có thể tạo ra các sản phẩm với chất hàng đầu (như là về giá cả, tính năng, độ linh hoạt, …) với thời gian thiết kế và phát triển ngắn hơn giống như chúng việc chúng ta so sánh các thế hệ công nghệ chế tạo mật độ mạch tích hợp (IC). Chủ yếu hiện nay chúng ta vẫn đang sử dụng các cơng cụ CAD có sẵn để thiết kế và chế tạo các hệ thống phần cứng/phần mềm.

Các nhà khoa học và các nhà thương mại vẫn nuôi hy vọng vào các phương pháp và các công cụ đồng thiết kế phần cứng/phần mềm tăng trưởng và phát triển mạnh trong những năm tới đây.

Nhìn chung, đồng thiết kế phần cứng/phần mềm là một lĩnh vực nghiên cứu

rất rộng, do tính đa dạng của các ứng dụng, các cách thức thiết kế và công nghệ chế tạo cũng như hoạt động.

Một phần của tài liệu TIẾP CẬN CÔNG NGHỆ FPGA (Trang 40 - 43)