1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Hardware và software doc

98 353 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết Kế Mức Hệ Thống Gắn Với Việc Trộn Lẫn Thành Phần Hardware Và Software
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Định dạng
Số trang 98
Dung lượng 560,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GIỚI THIỆU CHUNG: Trong phạm vi của bảng báo cáo này chúng tôi sẽ trình bày việc thiết kế mức hệ thống gắn với việc trộn lẫn thành phần hardware và software .Trọng tâm là bốn vấn đề chí

Trang 1

Trang Chủ Mục Lục

1 GIỚI THIỆU CHUNG:

Trong phạm vi của bảng báo cáo này chúng tôi sẽ trình bày việc thiết kế mức hệ thống gắn với việc trộn lẫn thành phần hardware và software Trọng tâm là bốn vấn đề chính :việc phân chia ,tổng hợp ,mô phỏng và phương pháp thiết kế trong thiết kế mức hệ thống những ứng dụng được đại diện như môït đồ thị công việc ,mà những công việc gọi là những node ,và mổi node thì có vài cách để lựa chọn hiện thực khác nhau tùy thuộc vào không gian nó chiếm và thời gian thực thi Vấn đề phân chia là việc xác định một node được ánh xạ sang hardware hay software Phương pháp tổng hợp tạo ra mô tả tổng hợp của thành phần hardware và software thông qua việc sử dụng các công cụ có sẳn như là :PTOLEMY và HYPER tổng hợp tạo thành hardware và software

Mô phỏng giử vai trò quan trọng trong thiết kế mức hệ thống Ở cấp độ đặc tả ,nó cho phép mô phỏng các mô hình Các công cụ cho phép mô phỏng các đặc tả tổng hợp đã yêu cầu Ở cấp hiện thực những công cụ mô phỏng hổ trợ cho việc trộn lẫn hệ thống hardware và software

Thiết kế hệ thống bao gồm cả hai thành phần hardware và software không phải là vấn đề mới Trong hướng thiết kế truyền thống thì phần cứng được thiết kế và tạo mẫu trước các thành phần software được thiết kế sau đó Việc thiết kế hardware và software riêng rẽ gặp phải khó khăn trong việc tối ưu thiết kế hệ thống Hướng thiết kế như vậy không tương xứng khi thiết kế những hệ thống có yêu cầu hiệu quả một cách khắt khe và thời gian thiết kế nhỏ ,hướng thiết kế chung (codesign) cho phép thiết kế những hệ thống có yêu cầu như vậy Nguyên lý chủ yếu trong thiết kế chung là tránh sự cô lập giửa hardware và software ,chiến lược thiết kế chung cho phép thiết kế hardware ,software một cách song song với sự ảnh hưởng qua lại thông tin phản hồi của tiến trình thiết kế hardware và software Điều này được hoàn thành nhờ những công cụ và những phương pháp hổ trợ chặt chẽ trong việc thiết kế cả hai software và hardware thông qua khung làm việc thống nhất (unified framework) Kết quả của việc thiết kế chung hardware và software là đạt được những thiết kế chất lượng cao và giảm được thời gian thiết kế

Trang 2

Một sơ đồ khối cho thiết kế chung (hình 1)

(hình 1) Lưu đồ thiết kế chung

· Đánh giá:(estimation)

Công cụ đánh giá (estimation tool) tạo ra ước lượng cho việc hiện thực (không gian và thời gian yêu cầu )cho mỗi node trong đồ thị khi hiện thực trong hardware và software Những việc đánh giá nầy sẽ là input cho công cụ phân chia (partitioning tool)

Đặc tả (design specification)

Tổng hợp hardware

(hardware synthesis Tổng hợp giao diện(interface

Hệ thống tổng hợp (synthesized system) (layout +software )

Trang 3

· Phân chia (partitioning) :

Sau khi thu được các đánh giá về không gian và thời gian ,bước kế tiếp trong lưu đồ thiết kế chung là phân chia kết quả của việa phân chia là dẫn đến việc xác định công việc gồm 3 thông số

· Aùnh xạ công việc (task) đó thực hiện bằng hardware hay software

· Quan hệ giửa các task khi nó thực thi

· Hiện thực (chọn lựa cách hiện thực chú ý đến giải thuật ,sự biến đổi (transformation),giá trị không gian ,thời gian )

Khung làm việc trợ giúp thiết kế (design assistant framework) cho phép user thực nghiệm với những công cụ phân chia khác nhau :bằng tay , giải pháp ILP (CPLEX) , hay kinh nghiệm (heuristic MIBS)

Việc phân chia là vấn đề không phải dễ dàng Xem xét đến đặc tả mức công việc điển hình có từ 50 đến 100 node Mỗi task có thể ánh xạ hoặc hardware ,software ,hơn thế nữa trong mỗi công việc có vài cách lựa chọn để hiện thực

· Tổng hợp chung (cosynthesis)

Một ứng dụng được phân chia vào hardware và software ,những thành phần riêng rẽ software ,hardware ,giao diện phải được tổng hợp lại Công cụ tổng hợp đặc thù phụ thuộc vào công nghệ mong muốn.Công cụ tổng hợp hardware gồm SILAGE, VHDL, công cụ tổng hợp software thường dùng C , Assembly Việc phát sinh giao diện phụ thuộc vào mô hình kiến trúc mong muốn

· Mô phỏng chung (cosimulation):

Các thành phần software ,hardware ,giao diện đã tổng hợp ,bước tiếp theo là mô phỏng hệ thống nhờ môi trường mô phỏng PLOTEMY

· Kiến trúc đích (target architecture) :

(hình 2) KIẾN TRÚC ĐÍCH

The hardware bao gồm những thành phần có sẵn hoặc phải chế tạo thêm, và software là những chương trình chạy trên những thành phần lập trình được Giao diện hardware ,software bao gồm nối kết logic và điều khiển phụ thuộc vào cơ chế truyền nhận dữ liệu được chon

2.PARTITIONING :

Trong phần nầy chúng ta tập trung nghiên cứu vấn đề phân chia hardware hay software cho các ứng dụng về hệ thống thời gian thực Giả sử ta có một đặc tả ứng dụng được biểu diển bằng đồ thị SDF (synchronous data flow) ,SDF nầy chuyển thành DAG (directed acycle graph) ,DAG nầy là input cho công cụ phân chia (partitioning tool)

Address bus

Data bus Control bus

Processor core

Hardware modul

Hardware modul

Hardware modul

Controller

Trang 4

Có hai giai đoạn để phân chia :Phân chia nhị phân (binary partitioning ) ,phân chia mở rộng (extended partitioning)

Phân chia nhị phân:là ánh xạ mỗi node của DAG sang hardware hay software và xác định thứ tự cho mỗi node

Phân chia mở rộng :Vấn đề phân chia software ,hardware không chỉ là việc ánh xạ sang software hay hardware mà trong mỗi node còn có vấn đề sử dụng những giaỉ thuật và các bộ phận tổng hợp khác nhau Những hiện thực nầy khác nhau về đặc trưng trong không gian và thời gian trể riêng ,những tính chất nầy của node được gọi là “implementation bins”.Việc phân chia mở rộng là kết nối vấn đề ánh xạ một node sang hardware hay software trong DAG với việc lựa chọn một implementation bins thích hợp

Việc phân chia nói chung là vấn đề khó Những thông số thiết kế có thể thường được sử dụng làm thành công thức dưới dạng vấn đề tối ưu số nguyên Việc lập thành công thức chính xác là khó do vậy phải dùng một số kết quả heuristic để làm giảm thời gian

Tóm lại vấn đề phân chia mở rộng và phân chia nhị phân được xác địng như sau

Binary

partitioning

Extended

partitioning +

3 Tổng hợp chung :

Trong chương trước giải thuật phân chia các node của ứng dụng sang hardware ,software đã được mô tả Việc phân chia tạo thành 3 thuộc tính cho một node :ánh xạ sang hardware hay software ,kiểu hiện thực cho ánh xạ nầy và thứ tự

Bước tiếp theo trong quá trình thiết kế là tổng hợp hệ thống trộn lẫn hardware ,software Vấn đề tổng hợp là tổng hợp hardware ,software và các thành phần giao diện trong hiện thực cuối cùng

Mô phỏng hardware ,software ,là quá trình mô phỏng những thành phần hardware ,software của hệ thống ,trộn hardware ,software bên trong một môi trường thống nhất Điều nầy bao gồm mô phỏng của những modun hardware ,bộ xử lý ,và software được bộ xử lý thực thi Những yêu cầu của một môi trường mô phỏng là tạo ra phác thảo PTOLEMY có đầy đủ công cụ nó hổ trợ hầu hết những yêu cầu nầy

4.Mô phỏng chung :

Mô phỏng hardware ,software là quá trình của thực hiện mô phỏng các thành phần hardware ,software của một hệ thống đã được trộn lẫn (tổng hợp ) hardware ,software bên trong một môi trường đồng nhất Điều nầy bao gồm sự mô phỏng các mođun hardware ,bộ xử lý và software mà bộ xử lý sẽ thực thi

Các hướng có thể bao gồm

4.1.Mô hình chi tiết của bộ xử lý :

Hardware /Software mapping and scheduling

Hardware /Software mapping and scheduling implementtation bin selection

Trang 5

Nguyên tắc chung là những thành phần của bộ xử lý có thể sử dụng mô hình những sự kiện rời rạc của kiến trúc hardware bên trong như (đường dữ liệu ,giải mã lệnh ,bus,…) mà software sẽ kết nối và thực thi trên nó Thường dùng VHDL hay VERYLOG để mô phỏng

4.2 Mô hình bus:

Đây là những sự kiện hoạt động trên ngoại vi của bộ xử lý không kết hợp thực thi software với bộ xử lý Điều nầy có ích cho việc kiểm tra ảnh hưởng qua lại ở mức thấp như bus và bộ nhớ nhưng khó khăn cho bảo đảm chính xác mô hình hoạt động trên ngoại vi ,cũng khó khăn cho mô phỏng ảnh hưởng qua lại hardware ,software

4.3.Mô hình kiến trúc tập lệnh :

Kiến trúc tập lệnh có thể mô phỏng hiệu quả bằng chương trình C Chương trình C là một bộ phận thông dịch cho software Nó cập nhật trạng thái của bộ xử lý và phát sinh sự kiện đến mô hình hoạt động ngoại vi của bộ xử lý

4.6 Một trường hợp nghiên cứu thiết kế trong môi trường Ptolemy:

Phần nầy mô phỏng thiết kế một kênh điện thoại chọn cho trường hợp nghiên cứu nầy sử dụng môi trường Ptolemy cho thiết kế chung trộn lẫn phần cứng ,phần mềm

4.6.1 Mô phỏng kênh điện thoại :

Đồ thị dòng chảy tín hiệu của kênh điện thoại được trình bày ở hình 20 , việc mô phỏng được thiết kế dùng Motorola DSP 56000s cho hầu hết xử lý tín hiệu Mô hình phần cứng của hệ thống yêu cầu theo mẫu bên cạnh DSPs , cũng như thành phần các kết nối logic

4.6.2 Lựa chọn test case :

Ở đây ta mô phỏng kênh điện thoại được trình bày ở hình 20 ,nó đại diện cho một hệ thống thực và thực hiện bằng thiết kế chung ,đầu tư và giá sản phẩm thấp , thời gian đưa ra thị trường cũng giảm xuống việc thiết kế và mô phỏng bên trong môi trường Ptolemy

4.6.3 Giới thiệu bên trong môi trường Ptolemy :

Hình 21 trình bày những thành phần cấu trúc của Plotemy Đơn vị cơ sở của Plotemy là block những portholes cung cấp giao tiếp chuẩn để thông tin giữa các block Một block gồm một mođun của code (“go()” method) nó gửi dữ liệu khi chạy , dữ liệu được gửi đến đầu vào của các portholes và phát sinh dữ liệu gửi ra ở đầu ra của portholes Phương pháp “go() “ được điều khiển bởi liệt kê các định nghĩa ngữ nghỉa các mạng của block , truyền dẫn các block dùng những dòng gọi là particle Lớp đo lường Geodesic được thiết lập để liên kết giữa các portholes lớp plasma quản trị các particles

Cấp thấp nhất trong Plotemy là kiểu star trong block Một nhóm (galaxy) cũng tìm được từ một block , một galaxy có thể chứa bên trong những galaxy và star Một đích (target) cũng tìm được từ block điều khiển thực thi một ứng dụng Trong một ứng dụng tổng hợp nó có thể tổng hợp assembly code cho DSP lập trình được

Trang 6

Hình 21 Những khối bên trong môi trường Ptolemy

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

Một hướng tổng quát để thiết kế chung được đề nghị ở hình 22 Trên cơ sở các bước thiết kế chung nầy thiết kế mô phỏng kênh điện thoại sẽ được đề cập

Hình 22 Phương pháp thiết kế chung dùng Ptolemy

Bước 1 : Đặc tả ứng dụng , ở bước nầy được đặc tả bằng giải thuật cấp cao và mô phỏng đặc trưng

Bước 2 : Sử dụng miền SDF của môi trường Ptolemy

Bước 3 : Phân chia ra phần cứng hoặc phần mềm

Bước 5 , 6 , 7 : Mô phỏng phần cứng , cấu hình phần cứng được phát triển lên mức cao hơn và mô phỏng các đặc trưng

Trang 7

Bước 4 : Tổng hợp phần mềm

Tổng hợp phần cứng , phần mềm sau đó được mô phỏng ở bước 8

Môi trường Ptolemy cho phép mô phỏng theo mức độ phát triển nâng cao của phần cứng , phần mềm trên cơ sở ràng buộc thời gian và các đặc điểm hợp lý

A Thiết kế dùng Shared memory :

Hướng nầy dùng 2 DSPs cho mô phỏng kênh full duplex của điện thoại Ở đây DSPs được cấu hình để truyền nhận thông tin ở bộ nhớ dùng chung (Shared memory) Hình 23 trình bày những thành phần trong môi trường Ptolemy dùng cho hệ thống này Cấp độ trừu tượng chỉ là giải thuật mô tả trình bày ở hình 23(a) Giải thuật phức tạp nầy bao gồm tuyến tính và không tuyến tính , độ dời tần số , pha và nhiễu Thiết kế được xây dựng trong miền phát sinh code , tương thích đến mô hình SDF cho tính toán Giải thuật cung cấp cho bộ phát sinh code , bộ phát sinh code hình 23(b) cũng cần mô tả kiến trúc đích Từ đây bước tiếp là phát triển phần cứng cho hệ thống ( bước 5 , 6 , và 7 ở hình 22) Hình 23(c) trình bày mô hình phần cứng của hệ thống bao gồm 2 DSP lập trình được tính toán qua một bộ nhớ Shared memory

Mô hình full duplex cấu tạo bởi tín hiệu từ một đầu cuối của kênh đến bộ lọc được lượng tử hoá và gửi đến DSP đầu tiên , DSP thứ hai đọc dữ liệu từ shared memory xử lý và gửi đến đầu cuối khác của kênh Tương tự quá trình xử lý ngược được làm ngược lại Chuyển đổi A/D được lượng tử hoá ở hình 23(e) Hình 23(f) trình bày mô hình chuyển đổi D/A , giải thuật được chuyển đến bộ phát sinh code Bước 4 và 5 của hình 22 phân chia và liệt kê các khối và phát sinh assembly code cho processor trong hệ thống Đầu ra của bộ sinh code là assembly code đáp ứng giải thuật chạy trên 2 processor Phần cứng sau đó được mô phỏng

ở bước 8 của hình 22 chạy code được phát sinh bởi bộ phát sinh code

Chúng ta có thể thấy tác động lẫn nhau giữa giải thuật mô tả , mô phỏng , phát sinh code , phát triển phần cứng và mô phỏng , phần cứng được mô hình tại những mức độ khác nhau của giải thuật mô tả dùng những miền khác nhau của môi trường Ptolemy

B.Thiết kế dùng Serial port :Một kiểu thiết kế khác được lựa chọn như hình 24 được phát triển bằng tác động qua lại qua bước 4 đến bước 8 ở hình 22 Ở đây DSPs được truyền thông tin bằng dãy cổng thay thế cho shared memory Như đã thấy trong hình , tín hiệu từ đầu cuối của kênh được nhận bằng DSP đầu tiên (DSP1) ở đây tín hiệu được xử lý và gửi qua một dãy cổng đến DSP thứ 2 (DSP2) sau đó gửi ra một đầu cuối khác của kênh Những khối khác như A/D , D/A được thiết kế giống như thiết kế shared memory

Cấu hình phần cứng thay đổi ( như IPC delay) được cung cấp đến bộ sinh code , bộ sinh code sẽ phân chia và liệt kê lại code ở bước 4 hình 22

Thiết kế nầy minh họa cho trường hợp với chiến lược IPC khác nhau có thể điều khiển bằng tay trong Ptolemy Hai hệ thống nầy (shared memory va serial port) được đánh giá chú ý đến hiệu suất như IPC overhead , giá của hệ thống

5.TỔNG KẾT:

Trong đồ án nầy đề cập đến phát triển kỹ thuật cho thiết kế hệ thống xử lý tín hiệu Thiết kế hệ thống đòi hỏi giá chính xác , hiệu suất và ràng buộc về thời gian Những hiện thực hardware ,software thuần túy thường không gặp ràng buộc nầy bên cạnh đó một vài bộ phận của ứng dụng thì gắn với hoặc hardware , hoặc software Từ đây những ứng dụng hướng tới

Trang 8

những hiện thực trộn lẫn hardware , software Những ứng dụng nầy được đặc tả tốt nhất ở mức độ Task nguyên thủy

Hướng đi đến thiết kế là thiết kế chung các thành phần hardware , software Điều nầy cho phép những thiết kế hardware ,software là tiến trình song song , với sự hồi tiếp và ảnh hưởng lẫn nhau giữa 2 quá trình khi phát triển Thiết kế chung cho phép khảo sát rộng lớn những trạng thái lựa chọn hiện thực , do đó hệ thống được tối ưu hóa và trọn vẹn của nó Bốn vấn đề chính được đặt ra trong thiết kế chung mức hệ thống là : phân chia , tổng hợp , mô phỏng và quản lý phương pháp thiết kế , chúng ta cố gắng cung cấp những cách giải quyết cho vấn đề nầy như giải quyết hệ thống xử lý tín hiệu đặc tả từ SDF

Giải thuật GCLP giải quyết vấn đề phân chia nhị phân ,một vài đặc điểm của giải thuật :

1 Công nhận rằng phân chia nhị phân là tối ưu ràng buộc GCLP dùng một đo lường giới hạn thời gian chung GC để lựa chọn thích ứng mục tiêu ánh xạ ở mỗi bước Nếu thời gian là tranh chấp nó lựa chọn ánh xạ mà thời gian thực thi của node sẽ nhỏ nhất , nhưng nó tiêu thụ tài nguyên nhỏ nhất

2 Thêm vào xem xét nầy có các pha cục bộ như extremity measure ,repeller measure và normal để xét một node ánh xạ sang hardware hay software thích hợp hơn GCLP có độ phức tạp O(|N|2)

Phân chia mở rộng được giải quyết bằng giải thuật MIBS ,ý nghĩa của MIBS là mở rộng GCLP cho phân chia mở rộng mà không xây dựng những phức tạp kết hợp khác Chiến lược phân loại những node trong đồ thị là : free node , tagged node , fixed node Đầu tiên khởi tạo tất cả những node trong đồ thị là free , ánh xạ và hiện thực bin chưa biết , GCLP áp dụng cho tất cả các node trong tập free ,sau đó một node tagged sẽ được chọn từ tập nầy và ánh xạ của nó được quyết định bằng GCLP Một thủ tục lựa chọn bin được dùng để tính toán và hiện thực thích hợp bin cho tagged node , nó sử dụng đo lường trước gọi là bin fraction ,nó lượng giá mỗi bin của node Bin fraction được sử dụng tính toán đo lường độ nhạy bin tương quan đến hiện thực bin với thu giảm tổng không gian hardware Thủ tục lựa chọn bin được chọn với độ nhạy cao nhất Tính toán độ nhạy bin được đơn giản hóa bằng cách công nhận những node tự do còn lại hoặc chậm nhất Tagged node trở thành fixed node và lựa chọn được một hiện thực bin GCLP sau đó áp dụng lên tất cả các node free còn lại và trình tự được lặp cho đến khi tất cả node trong đồ thị thành cố định

5.2 Tổng hợp và mô phỏng :

Tổng hợp chung là vấn đề của tổng hợp hardware ,software và thành phần giao diện của hệ thống , bắt đầu từ một DAG đã được phân chia kỹ thuật tổng hợp đạt được kiến trúc đích bao gồm : một processor đơn lập trình được và nhiều mođun hardware Node được ánh xạ sang hardware ,software được truyền nhận dùng một ánh xạ bộ nhớ

Tổng hợp chung là phân rã DAG được phân chia thành đồ thị hardware ,đồ thị software ,và giao diện Mỗi node trong đồ thị hardware ,software đều có kỹ thuật đại diện Công cụ tổng

Trang 9

hợp được sử dụng để phát sinh hiện thực cuối cùng từ những đồ thị nầy Những công cụ có sẵn như ( HYPER và PTOLEMY ) được dùng để phát sinh hiện thực cuối cùng

Mô phỏng hardware , software là quá trình mô phỏng các thành phần hardware và software của hệ thống trộn lẫn bên trong môi trường đồng nhất ,điều nầy có nghĩa là mô phỏng mođun hardware , bộ xử lý ,software mà bộ xử lý thực thi

5.3 Quản lý phương pháp thiết kế :

Chúng ta đưa ra một cơ sở hạ tầng hổ trợ quản lý hiệu quả quá trình thiết kế với tầm quan trọng là quản trị dòng thiết kế Cơ sở hạ tầng được phát triển như DMM domain bên trong môi trường PTOLEMY có một công cụ là Designmaker đáp ứng tự động quản lý dòng chảy

6 PHỤ LỤC

1.Môi trường PTOLEMY

Ptolemy là môi trường đồng nhất trợ giúp cho sự tổng hợp và mô phỏng.Nó sử dụng kỹ thuật lập trình hướng đối tượng để mô hình những hệ thống con trong sự tự nhiên và hiệu quả nhất với một sự hợp nhất trọn vẹn

Nền tảng của nó là BLOCK, một hệ thống được mô phỏng như một Network của Block, thứ tự được quyết định bởi ngữ nghĩa trong network nghĩa là nó quyết thứ tự mà block được thự thi Đối tượng thấp nhất trong Ptolemy là loại STAR.A STAR được đặc tả bơỉ C++ ,đặc tả này bao gồm những hàm :setup(),go(),wrapup().A GALAXY cũng bắt nguồn từ BLOCK chứa những BLOCK khác bên trong.A GALAXY Ùcó thể chứa cả hai loại là Galaxy và Star

Ptolemy trợ giúp nhiều mẩu mô phỏng ,những loại thiết kế khác nhau gọi là DOMAIN Một Domain mô tả đúng mô hình tính toán thích hợp cho một loại hệ thống con đặc thù.Một số Domain mô phỏng hiện thời được trợ giúp bao gồm:Synchronous Data Flow(SDF) ,Dynamic Data Flow(DDF),Discrete Event (DE) và Digital Hardware Modeling Environment(Thor)

A Domain trong Ptolemy bao gồm tập của Block và thứ tự phù hợp với mô hình sự tính toán chung ,nó cũng trợï giúp sựï trộn lẩn giửa các mô hình này ở mức hệ thống để phát triển hệ thống hổn tạp với sự khác nhau ở mức trưù tượng Sự trộn có thứ bậc bất cứ mô hình tính toán có thể sử dụng ở mức cao của hệ thống ,bên trong mỗi mức của hệ thống có thứ bậc nó có thể có những Block đang chưá các Domain bên ngoài.Hệ thống hổn tạp có thứ bậc thì hầu hết khác nhau từ những khái niệm của simulation backplane

2.Độ phức tạp của giải thuật GCLP

Độ phức tạp cuả giải thuật GCLP được tính như sau:

S1.Tính toán GC:O(A+N)

S1.1.Lượng giá tập của những node di chuyển đến phần cứng:O(1)

S1.2.Tính toán thời gian hoàn thành thực tế:O(A+N)

S2.Xác định tập những node sẳn sàng:O(N)

S3.Tính toán thời gian thực thi hiệu quả:O(N)

S4.Tinh toán đường đi dài nhất:O(A)

S5.Chọn một node sẵn sàng với đường đi dài nhất lớn nhất:O(N)

S6.Xác định ánh xạ và thứ tự:O(1)

Trong bước S1.2 tính toán thời gian hoàn thành dùng giải thuật COMPUTE_ACTUAL_FINISH_TIME sau:

Procedure COMPUTE_ACTUAL_FINISH_TIME

Trang 10

Input:DAG với sự xác định lại ánh xạ và tưông ứng với thời gian thực thi(texec(I)) cho mỗi node i

Output:Tfinish=thời gian hoàn thành của DAG

Khởi tạo:dsp_finish_time=0,Tfinish=0:

S1.Gán nhãn cho tất cả các node với cấp của nó

S2.Gán mặt nạ cho tất cả các node cấp 0 như là node sẳn sàng

S3.while (ready nodes exist){

S3.1.Chọn node sẳn sàng i:O(i)

S3.4 Cập nhật tfinish(i)=tstart(i)+texec(i):O(1)

S3.5.if i là trong software:

Dsp_finish_time=(dsp_finish_time>tfinish(i))?

Dsp_finish_time:tfinish(i)

S3.6.Cho mỗi output k của node i set tavail(k)=tfinish(i)

S3.7.Cho mỗi output k của node i ,truy cập node p nối đến nó

S3.7.1.Giảm bậc của node p

S3.7.2.Nếu bậc của p là 0 :cộng p vào list của những node sẳn sàng S3.8.Tfinish=(Tfinish>tfinish(i))? Tfinish:tfinish(i)

}:O(A+N)

Procedure COMPUTE_LONGEST_PATH

input: G=(N,A),teff(i) cho i,i thuộc N

output: đường đi dài nhấr d(i) cho i thuộc N

khởi tạo: biến đếm c=0,đ(i)=0 cho i thuộc N

S1.trả lại tất cả các cung của GRAPD

S2.thứ tự hình học của grapd (một thứ tự mà cung (i,j) có nghỉa node i là

tiền bối của node j)

S2.1 Gán nhản cho tất cả cá node với thứ bậc của nó:O(N)

S2.2 while (c<N) {

S2.2.1 định danh một node i với thứ bậc =0

S2.2.2 gán nhản i với c

S2.2.3 giảm bậc cuả tất cả các node nối đến i

S2.2.4 xóa node i và tất cả các cung bắt nguồn từ i

S2.2.5 c=c+1

}:O(A)

S3.phủ nhận thời gian thực thi hiệu quả của tất cả các node i thuộc

N.(teff(i)=(-1).teff(i)):O(N)

S4.duyệt graph trong thứ tự hình học:O(A)

S4.1 d(i)=min(d(i))+teff(i) mà j thuộc tiền bối của i

S4.2 phủ định d(i) cho đường đi dài nhất cho mỗi i,i thuộc N:O(N)

Trang 11

Ta thấy đối với ánh xạ và thứ tự thì thời gian tính toán là hằng Do vậy tổng dộ phức tạp của giải thuật GCLP ở mổi bước là O(N+A).giaỉ thuật chạy N lần vậy tổng thời gian là O(N.(N+A)).kiểu mẩu cho ứng dụng DSP thì A»N như vậy độ phức tạp xấu nhất của giải thuật GCLP là O(N2)

3.Phân tích độ phức tạp cuả giải thuật Bin selection procedure

Độ phức tạp của giải thuật được tính toán như sau:

COMPLEXITY(BIN SELECTION)

S1.Tính toán BFC(Bin Selection Curve):O(B*(N+A))

S1.1.Cho mỗi BIN tính toán BIN FRACTION:O(N+A)

S1.1.1.Lượng giá những node di chuyển đến L bin

S1.1.2.Tính toán thời gian hoàn thành chính xác công nhận ánh xạ này và lựa chọn bin

S2.Tính toán độ nhạy bin:O(B)

S3.Tính trọng cuả độ nhạy bin:O(B)

S4.Lựa chọn bin

Sự tính toán BIN FRACTION trong bước S1.1 thì tương tự như sự tính toán trong GC.Ở đây độ phức tạp của giả thuật BIN FRACTION cho một BIN đặt biệt là O(N+A).Độ phức tạp của bước S1 ở đây là O(B*(N+A)) cho B implementation bin.Độ phức tạp của những bước khác thì đơn giản là thứ tự của số bin.Vậy độ phức tạp của giải thuật ở đây là:O(B.(N+A)) 4.Phân tích độ phức tạp của giải thuật MIBS(Mapping and Bin

S2.Xác định những node sẳn sàng:O(N)

S3.Chọn node tagged :O(N)

S4.Tính toán hiện thực BIN cho node tagged sử dụng giải thuật BIN

SELECTION :O(B*(N+A))

Độ phức tạp của mổi bước cuả giải thuật là:O(N2+B.N).Mỗi bước lập lại N lần cho N node Vậy độ phức tạp của giải thuật là:O(N3+B*N2)

5 Giải thuật phát sinh DAG ngẫu nhiên :

Procedure Generate_random_Graph /* phát sinh thông số cho DAG */

Input : kích thước của đồ thị N

Output : Đồ thị lặp vòng trực tiếp , các cạnh không song song

S1 a= random_int(N,N2) (số cung )

S2 phát sinh hoán vị ngẫu nhiên 1 N trong dãy “perm”

Trang 12

S3 phát sinh cạng A từ (perm[i],perm[j]),i<j

S4 phát sinh thông tin bên trong cho mỗi node i :sizei ,tsi.thi ,asi,ahi

S41 Xác định nếu node i là extremity node ,repeller node hay normal node S411.y=ran1();

S412 If((y>=0)&&(y<0.33)) i:extremity node

S413 If((y>=0.33)&&(y<0.66)) i:repeller node

S414 If((y>=0.66)&&(y<1)) i:normal node

S42 Thiết lập không gian và thời gian cho node i ;

S5.phát sinh những ràng buộc :T,AH,AS

S25.deltah =xhmax –xhmin

S26.deltas =xsmax –xsmin

S3 xác định nếu node là hardware extremity hay software extremity

S31.z=ran1();

S32.if(z,0.5) hardware_extremity ;else software_extremity ;

S4.phát sinh đo lường extremity trong khoảng (0,0.5);

S5.if hardware extremity

Trang 13

S1.phát sinh dãy giá trị TS,TH

S2.xác định nếu node là software repeller hay hardware repeller

S21.z=ran1();

S22if(z<0.5) hardware repeller ;else software repeller ;

S3.phát sinh đo lường repeller trong khoảng (0,0.5)(r=ran(0,0.5))

S4.if software repeller :

2.1 Một số thông số ban đầu :

· Một DAG gồm :

N : tập node

A :tập cung

· D :thời gian giới hạn khi thực thi

· AS :Dung lượng bộ nhớ,kích thước software không được vượt quá AS

· AH :Không gian cho phép của hardware ,tổng không gian của các node hardware không vượt quá AH

· ahcomm :Không gian hardware yêu cầu truyền nhận dữ liệu

· ascomm :Không gian software yêu cầu để truyền nhận dữ liệu

· tcomm :Số chu kỳ yêu cầu cho truyền dữ liệu

Trở về trang chủ

2.2 Phân chia nhị phân (binary partitioning) :

Vấn đề phân chia nhị phân (P1) :Cho trước một DAG ,lượng giá không gian ,thời gian các node ánh xạ sang hardware ,software ,giá thông tin truyền nhận ,thời gian giới hạn thực thi

D Mi là ánh xạ node i sang hardware hay software ,tI là thời gian bắt đầu của một node ,kết quả cho được tổng không gian hardware là nhỏ nhất Số trạng thái lớn nhất là O(2|N| )

Vấn đề ánh xạ sang hardware ,software và sắp xếp thứ tự có thể thành công thức như một chương trình tuyến tính (ILP :integer linear program) và được giải quyềt một cách chính xác ,nhưng những công thức nầy khó đúng cho những ứng dụng có kích thước vừa phải Một số heuristic cho phép giaỉ quyết những khác nhau cuả vấn đề nầy

· Giải thuật phân chia nhị phân :GCLP Algorithm

Trang 14

2.2.1 Cơ sở giải thuật :

Cơ sở thứ tự khung công việc trong giải thuật GCLP dựa vào thứ tự duyệt qua một lượt các node từ node nguồn ,với mỗi node chọn ánh xạ mà nó làm nhỏ nhất mục tiêu P1 có các mục tiêu :thời gian hoàn thành của node là nhỏ nhất (tổng thời gian bắt đầu và thời gian thực thi ) hay là không gian nhỏ nhất của mỗi node (không gian hardware hay kích thước của software ).Vấn đề đạt được các mục tiêu nầy có tính tương đối

Giải thuật GCLP nó lựa chọn và chuyển đổi mục tiêu ở mổi bước để xác định ánh xạ và trình tự

1.GC (Global criticality) :là sự đo lường trước mà nó lượng giá thời gian giới hạn ở mỗi bước của giải thuật GC sosánh với ngưỡng để xác định nếu thời gian là tới hạn Nếu thời gian là tới hạn , mục tiêu nhiệm vụ là thời gian hoàn thành nhỏ nhất được chọn ,nếu không thì không gian nhỏ nhất được chọn GC có thể thay đổi ở mỗi bước của giải thuật

2.Pha cục bộ (local phase):LP là một sự phân loại của những node trên cơ sở tính đồng nhất và thuộc tính bên trong của chúng Mỗi node được phân loại như extremity (pha 1),hay repeller (pha 2), hay normal (pha 3).Một sự đo lường gọi là delta pha cục bộ xác định số lượng ánh xạ cục bộ thích hợp của node để ý đến sự thay đổi ngưỡng được dùng trong so sánh GC Lưu đồ giải thuật như sau :

Obj1

y Min(finish time)

n Obj2 Min(% resource consumed ) threshole

0.5

>?

+

Trang 15

Select node among

Trang 16

{Mi,ti}

(hình 3) Giải thuật GCLP

N là tập nodes của DAG

NU là tập nodes chưa được ánh xạ được tính lại tại mỗi vòng lặp

NM là tập nodes được ánh xạ

NU ban đầu được gán là N NM ban đầu được gán là rổng

Mỗi vòng lặp sẽ ánh xạ một node ,bước đầu tiên của mỗi vòng lặp thời gian giới hạn chung GC được tính toán lại trên cơ sở yêu cầu giới hạn của những node đã được ánh xạ và chưa được ánh xạ Quá trình được lặp N lần cho đến khi không còn node nào chưa được ánh xạ

2.2.2 :Giới hạn chung GC :

GC là sự đo lường trước mà nó lượng giá thời gian giới hạn ở mỗi bước của giải thuật Để hiểu vấn đề nầy ta xét ví dụ sau :

D

H u (a1)

u

s

s

NM :những nodes được ánh xạ {1,2,3}

NU :những nodes chưa được ánh xạ {4,5}

S:software ,h:hardware D thời gian giới hạn chung

Trang 17

Hardware

times Software

T rem

D Ts

· Ts thời gian chạy của node được ánh xạ sang software

N S->H là tập của những node được ánh xạ chuyển từ software sang hardware do vượt quá thời gian giới hạn D

(c)

Hardware

times Software Th

Trang 18

được ánh xạ (node 4 và node 5 trong ví dụ ) sẽ được ánh xạ sang software ,lúc nầy thời gian Ts sẽ được tính toán Giả sử rằng Ts vượt qua giới hạn D.Một số node trong tập node chưa được ánh xạ phải di chuyển từ software sang hardware để thỏa mãn nhỏ hơn giới hạn D Những node nầy tạo thành tập N S->H (trong ví dụ tập nầy là {5} ).Lúc nầy thời gian hoàn thành Th được tính toán lại Trong giải thuật GC tại một bước nào đó có thể có nhiều node chưa được ánh xạ và cần phải ánh xạ sang hardware vì vậy phải tìm kết quả khả thi ,(thời gian như là tài nguyên đang bị tranh chấp )

Giải thuật tính toán GC :

S12 được xác định hoặc di chuyển node trong tập Ns->h đến hardware để thỏa mãn TH.thời gian hoàn thành là O(|A| + |N|)

GC được tính toán trong S2 là tỉ số của tổng kích thước của những node trong tập Ns->H và tổng kích thước trong tập Nu kích thước của node được xem như số các phép toán nguyên tố (cộng ,nhân,…) trong node Mỗi node được đại diện bởi kích thước của nó từ những node có thể không đồng nhất trong tổng thể

GC đo lường thời gian giới hạn chung GC có thể giải thích bằng một cách khác : nó đo lường khả năng (nói đơn giản) là bất cứ node không ánh xạ thì ánh xạ sang hardware khả năng nầy có thể thay đổi ở mỗi bước của giải thuật

2.2.3 Pha cục bộ (Local phase) :

GC là một đo lường trung bình trên tất cả những node chưa ánh xạ ở mỗi bước Điều nầy làm giảm tính chính xác đến thuộc tính cục bộ của node đang được ánh xạ Để nhấn mạnh đặc

Trang 19

trưng cục bộ của những node , người ta chia làm 3 loại : extremities (gọi là local phase 1) , repellers (gọi là local phase 2) , normal (gọi là local phase 3)

2.2.3.1 Local phase 1 (extremity nodes )

Những node sử dụng nhiều tài nguyên không cân đối khi ánh xạ so với ánh xạ khác được gọi là extremities Chẳng hạn như một hardware extremity yêu cầu không gian rộng lớn khi ánh xạ sang hardware nhưng có thể hiện thực bằng software với giá không đắt Việc ánh xạ thích hợp của những node như vậy được xác định bởi extremity measure , làm thay đổi ngưởng dùng trong sosánh GC

Một hardware extremity node là node sử dụng không gian lớn trong hardware , nhưng thời gian trong software tương đối nhỏ

Một software extremity node là node sử dụng nhiều thời gian trong software nhưng sử dụng không gian nhỏ khi ánh xạ sang hardware Việc di chuyển hardware extremity node sang software extremity node hay ngược lại là rõ ràng cần thiết

Sự chênh lệch trong sử dụng tài nguyên của extremity node I được xác định bởi extremity measure EI extremity measure được sử dụng để thay đổi ngưỡng đưa vào so sánh với

GC khi lựa chọn mục tiêu ánh xạ EI là local phase delta trong hình phần trước

If (tsI >=ts(a) and ahI <ah(b)) ,iỴ EXs

If (ahI>= ah(b) and tsI <ts(a) ,iỴEXh

S4 xác định giá trị extremity xI cho node I :

If iỴ EXs then

Trong đó :tsmax =maxi{tsi} và ahmax =maxi{ahi}

S5 thứ tự những node trong EXs(EHh) cho bởi x Trong đó giá tri extremity lớn nhất và giá trị extremity nhỏ nhất là xsmax (xhmax) và xsmin (xhmin)

S6 tính toán extremity measure EI cho node I :

Trang 20

If iỴ EXs then

xI-xsmin

EI= -0.5 * ,-0.5 <=EI <=0;

xsmax -xsmin else if iỴEXh then

xI-xhmin

EI= -0.5 * ,0<=EI<=0.5;

xhmax -xhmin Trong s1 tính toán phân phối những node chú ý đến thời gian thực thi software tsI và không gian hardware ahI thông số a và b đại diện cho tỉ lệ giới hạn của những phân phối nầy Chẳng hạn như trong S3 một node I được phân loại như là software extremity node , nếu nó vượt tỉ lệ a trong biểu đồ ts (tsI>ts(a)) và dưới tỉ lệ b trong biểu đồ ah (ahI <ah(b)) Tương tự một node I được phân loại như hardware extremity nếu nó nằm trên tỉ lệ b trong biểu đồ ah (ahI >ah(b)) và dưới tỉ lệ a trong biểu đồ ts (tsI <ts (a)) hình 5 sau trình bày các loại biểu đồ và nhận ra các extremities Ví dụ ta xem xét giá trị a và b nằm trong khoảng (0.5 ,0.75) được sử dụng

Trang 21

Hình 5

Tập Hardware (EXh) extremity và tập software (EXs) extremity

Sự thay đổi ngưỡng khi sử dụng đo lường extremity

Gck biểu thị giá trị của GC ở bước thứ k khi một extremity node I được ánh xạ Nếu không tính đến EI thì ngưỡng được khởi động giá trị 0.5 và giá trị nầy bao trùm cho tất cả những node chưa được ánh xạ ,việc ánh xạ của node I trong trừơng hợp nầy chỉ mới là cơ sở trên GCk Một số chỉ dẫn sau :

1.ánh xạ xấu (poor mapping): Giả sửï node i là một hardware extremity Nếu GCk>=0.5 ,đối tượng 1 (Obj1) được chọn thời gian là tối thiểu và i có thể ánh xạ sang hardware trên cơ sở giới hạn thời gian Tuy nhiên i là một hardware extremity và ánh xạ nó sang hardware hiển nhiên là sự lựa chọn xấu

2.ánh xạ không thể thực hiện (infeasible mapping) :Giả sửï node i là một software extremity Nếu GCk < 0.5, đối tượng 2 được chọn (Obj2) không gian là tối thiểu và i có thể được ánh xạ đến software Node i là một software extremity ,vì vậy ánh xạ nó sang software có thể vượt quá giới hạn cho phép

Bao trùm lên những vấn đề nầy ,đo lường extremity Ei được sử dụng để thay đổi ngưỡng mặt định trên ánh xạ thích hợp Ngưỡng mới là 0.5 + Ei GCk được so sánh với ngưỡng thay đổi nầy Trong trường hợp software extremities thì –0.5 <= Ei <=0 ; vì vậy 0<=ngưỡng (threshold)<=0.5 Trong trường hợp hardware extremities thì 0<=Ei<=0.5, vì vậy 0.5<=ngưỡng (threshold)<=1

2.2.3.2 Local phase 2 or Repeller nodes :

GCLP sử dụng khái niệm repeller hay local phase 2 node để thực hiện việc hoán đổi giữa hardware và software của những node tương tự Để làm điều nầy phải đồng nhất những thuộc tính bên trong nào đó của node (được gọi là thuộc tính repeller) nó phản ảnh sự thích hợp có sẵn của node để ánh xạ sang hardware cũng như software Ví dụ phép toán bit (bit operation) được điều khiển tốt hơn trong hardware ,trong khi đó những phép toán về memory (memory operation) thì phù hợp hơn cho software Như vậy một node với nhiều bit điều khiển bằng tay (bit manipulation) liên hệ đến những node khác là software repeller , trong khi một node với nhiều phép toán bộ nhớ quan hệ đến những node khác là hardware repeller Việc di chuyển một node với nhiều phép toán bit điều khiển bằng tay ra khỏi software gọi là repeller force Từ đó tỉ lệ của phép toán bit điều khiển bằng tay trong một node gọi là thuộc tính software repeller (software repeller property) Tương tự tỉ lệ của phép toán bộ nhớ trong một node gọi là thuộc tính hardware repeller (hardware repeller property) Một thuộc tính repeller được xác định bằng một giá trị repeller Kết quả kết hợp của tất cả thuộc tính repeller trong một node được biểu thị như là sự đo lường repeller của node Tất cả những node được xếp hàng tùy theo sự đo lường giá trị repeller của chúng Chẳng hạn như cho 2 node N1 và N2 với đặc điểm software tương tự

Trang 22

,nếu N1 có giá trị software repeller lớn hơn N2 và 1 trong 2 được lựa chọn ánh xạ sang hardware thì ưu tiên N1

Một vài thuộc tính repeller có thể được nhận dạng cho mỗi node Hổn hợp lệnh ở mức bit và mức độ chính xác là những ví dụ cho thuộc tính software repeller ,trong khi những hổn hợp lệnh tập trung bộ nhớ và hổn hợp lệnh tìm kiếm trong bảng có thể là thuộc tính hardware repeller Mỗi thuộc tính được xác định bởi giá trị thuộc tính Kết quả kết hợp của tất cả thuộc tính repeller trong một node được biểu thị như là sự đo lường repeller của node

Chúng ta quan tâm đến hỗn hợp lệnh cấp độ bit (bit level instruction mix) là một thuộc tính software repeller , thuộc tính nầy được xác định thông qua giá trị thuộc tính của nó gọi là BLIM.BLIMi được định nghĩa là tỉ lệ của những lệnh cấp độ bit trên tổng các lệnh trong một node i (0 <=BLIMi <=1).Ví dụ DAG như hình vẽ 6 (a) : node 2 trong đồ thị là bộ lọc IIR ,node 5 là bộ trộn ,ở hình (b) trình bày đồ thị giá trị BLIM cho tất cả các node trong DAG Ở hình (a) node 5 ,bộ trộn có giá trị BLIM cao ,node 2 bộ lọc IIR không có bất kỳ một bit điều khiển bằng tay nào và như vậy BLIM có giá trị 0 Node có giá trị BLIM cao sẽ xấu khi ánh xạ sang software

(hình 6) Một ví dụ của thuộc tính repeller

Quan tâm 2 node N1 , N2 với không gian software (hardware ) là as1(ah1) và as2(ah2) Giả sử BLIM1 >BLIM2 , nếu as1@ as2 thì ah1 <ah2 (bởi vì phép toán bit làm cho không gian hardware nhỏ hơn ) Thật vậy N1 là software repeller so với N2 trên cơ sở thuộc tính hỗn hợp lệnh cấp bit Khi lựa chọn ánh xạ N1 hoặc N2 sang hardware thì chọn N1 thích hợp hơn (dựa vào thuộc tính BLIM)

Những thuộc tính repeller khác được đề cập trước đây thì xác định tương tự dựa vào giá trị thuộc tính của chúng Kết quả tích lũy các thuộc tính repeller cho một node được quan tâm khi ánh xạ node đó Sự đo lường repeller (repeller measure) Ri của một node là kết quả gộp lại các giá trị repeller của node đó Đo lường repeller được sử dụng để thay đổi lại ngưỡng mà

GC đã so sánh khi lựa chọn mục tiêu ánh xạ

REPELLER MEASURE :

Procedure compute_repeller _measure

Input vi,p = giá trị của thuộc tính repeller p của node i, iỴ N,pỴ P

Output đo lường repeller Ri ,"i Ỵ N,0.5 <= Ri<=0.5

S1 tính toán cho mỗi thuộc tính p :

s 2(vi,p) = sự khác nhau của vi,p của tất cả node i

min (vi,p)= min của vi,p của tất cả node i

Trang 23

max(vi,p) =max của vi,p của tất cả node i

để RX = RH nếu pỴ RH hay RX = RS nếu p Ỵ RS

S3.tính toán đo lường repeller Ri cho mỗi node i

Ri = 0.5(å ap.nvi,p - å ap.nvi,p ), -0.5 <=Ri<=0.5

Trong S1 của giải thuật ,mỗi giá trị thuộc tính repeller về sự khác nhau ,giá trị nhỏ nhất và giá trị lớn nhất được tính toán Những giá trị thuộc tính được bình thường hóa trong S2 Trong S3 đo lường repeller cho mỗi node được tính toán như là một tổ hợp của các giá trị thuộc tính bình thường hóa repeller Trọng ap của thuộc tính p là tỉ lệ tương ứng với giá trị khác nhau của giá trị node đó

Thay đổi ngưỡng khi sử dụng đo lường repeller :

Như đã trình bày trong phần trước repeller thiết lập hoán đổi để thu giảm tất cả không gian hardware Có thể nói rằng đo lường repeller là đo lường của sự hoán đổi lại của 2 node của phase 2 tương tự giữa ánh xạ hardware và software Như đã nói cho một lựa chọn ánh xạ của 2 node sang hardware ,thì node có đo lường repeller software cao hơn sẽ được chọn Cho một phase 2 node i với đo lường repeller software thích đáng , giải thuật sẽ cố gắng hoàn thành việc đẩy node i ra khỏi software Nó thay đổi ngưỡng mà mục tiêu được lựa chọn sẽ thuận lợi hơn để hoàn thành việc ánh xạ Việc hoán đổi nầy giải phóng tài nguyên hiện thời cho node chưa được sắp thứ tự với đo lường thuộc tính repeller thấp , nhờ vậy cho phép thu giảm toàn bộ không gian hardware

D; repeller Ri được sử dụng để thay đổi ngưỡng ,ngưỡng mới là 0.5+Ri Với software repellers thì –0.5 <=Ri <=0 ,vì vậy ngưỡng là 0<=ngưỡng (threshold)<= 0 , với hardware repellers thì 0<=Ri <=0.5 vì vậy ngưỡng là 0.5<=ngưỡng <=1

2.2.3.3 Local phase 3 hay normal nodes :

Một node không là extremity node hay repeller node thì là node bình thường (normal node ) được gọi là lacal phase 3 Ngưỡng được thiết lập mặc định là 0.5 khi ánh xạ Như vậy mục tiêu ánh xạ được quản lý bởi GC

Tóm lại node được phân thành 3 loại :extremity node ,repeller node ,và normal node Mỗi phase thích hợp của mỗi node được xác định bởi sự đo lường của nó , gọi chung là local

Trang 24

phase delta (D) Trong trường hợp node là extremity node thì D=Ei ,trong trường hợp node là repeller node thì D =Ri ,và trường hợp normal node thì D = 0 Local phase delta được dùng để tính toán thay đổi ngưỡng :

Ngưỡng =0.5+D

2.2.4 GIẢI THUẬT GCLP

Algorithm : GCLP

Input ahi ,asi , thi , tsi , Ei (extremity measure) ,và Ri (repeller measure) " i Ỵ N

Giá truyền nhận :ahcomm ,ascomm và tcomm và giới hạn AH , AS, và D

Output :ánh xạ Mi (Mi Ỵ { hardware,software } ,thời gian bắt đầu ti ," i Ỵ N

Khởi tạo :Nu ={ nodes chưa ánh xạ } =N ,NM ={ nodes đã ánh xạ } =f

Procedure

While { |Nu|> 0 } {

S1 Tính toán GC

S2 Xác định tập node sẵn sàng NR

S3 Tính toán thời gian thực thi kết quả texec(i) cho mỗi node i

If i Ỵ Nu texec(i) =GC thi + ( 1-GC).tsi

Else if i Ỵ NM texec(i) = thi I(Mi==hardware ) +tsi.I(Mi==software )

S4 Tính toán đường dài nhất longestpath(i),"i Ỵ NR sử dụng texec(i)

S5 Lựa chọn node i ,i Ỵ NR bằng ánh xạ :max(longestpath(i))

S6 Xác định ánh xạ Mi cho i :

S61 if (Ei <> 0) D =g.Ei (local phase 1)

g là extremity measure weight 0<=g<=1

else if (Ri <>0) D=n Ri (local phase 2)

n là repeller measure weight 0<=n<=1

else if D =0 (local phase 3)

S62 ngưỡng =0.5 +D ,0<=ngưỡng <=1

S63 if GC >=ngưỡng m:minimize(obj1)

else m:minimize(obj2)

s64 Mi =m ; set(ti) ; Nu =Nu\{i} ; NMß {i}

update (Tremaining ,AHremaining ,ASremaining);

}

Giải thuật ánh xạ mỗi node ở một bước Bước S1 Gc được tính toán và Ở bước S2 xác định tập node sẵn sàng nghĩa là tập những node chưa được ánh xạ mà tiền bối của nó đã được ánh xạ ,một trong những node sẵn sàng nầy sẽ được chọn để ánh xạ trong bước 5 Đặc biệt nên chọn node trên đường dài nhất của graph ,đường tới hạn chung bao gồm những node chưa ánh xạ tính toán nó Ở bước S3 tính toán thời gian thực thi đến kết quả của node i Ở bước 4 tính toán con đường dài nhất sử dụng thời gian thực thi đến kết quả của node i Ở bước 5 lựa chọn node i cho ánh xạ Ở bước 6 xác định ánh xạ Mi cho mỗi node i ,nếu node là extremity node (hay repeller node ) thì dùng để thay đổi ngưỡng Sự góp phần của đo lường extremity và repeller có thể thay đổi bởi trọng g và v Mục tiêu ánh xạ được lựa chọn nhờ vào việc so sánh lại GC với ngưỡng Nếu thời gian là tới hạn thì mục tiêu thời gian hoàn thành nhỏ nhất sẽ được chọn , khác đi thì tiêu thụ tài nguyên nhỏ nhất được chọn

Obj1 :tfin(i,m) ,trong đó mỴ {hardware ,software }

Tfin(i,m) =max(maxp(i)(tfin(p) +tc(p,i)),tflast(m))+t(i,m)

Trong đó :

Trang 25

P(i) : tập tiền bối của node i ,p Ỵ P(i)

tfin(p) :thời gian hoàn thành của tiền bối p

tc(p,i) =thời gian truyền nhận giữa node tiền bối p và node i

tflast = thời gian hoàn thành của node cuối được gán bởi ánh xạ m =0 nếu m là hardware t(i,m) = thời gian thực thi của node i trên ánh xạ m

(asi+ascommtot) (ahi+ahcommtot)

Obj2 : I(m=software ) + I(m=hardware )

AS AHremaining

Obj1 lựa chọn ánh xạ mà thời gian hoàn thành nhỏ nhất của node Một node chỉ bắt đầu thực thi sau khi tất cả các tiền bối của nó hoàn thành việc thực thi và dữ liệu đã được truyền đến nó từ các tiền bối cũng vậy một node không thể bắt đầu thực thi trên một tài nguyên software cho đến khi node cuối cùng được ánh xạ sang software hoàn thành việc thực thi Obj2 sử dụng đo lường số phần trăm tiêu thụ (percentage resource consumption) Việc

đo lường nầy là phần nhỏ của không gian tài nguyên của một node (vùng không gian truyền nhận ) trên tổng không gian tài nguyên không gian ahcommtot (ascommtot) đưa vào tính toán giá tổng cộng của sự truyền nhận (kết nối trong hardware và code trong software ) giữa node i trong hardware (software ) và tất cả tiền bối của nó Tài nguyên hardware là không gian tài nguyên yêu cầu bởi node được chia xẽ bởi không gian hardware còn lại (AHremaining)

2.2.5 Tóm tắt giải thuật GCLP :

Cho đến đây chúng ta đã bàn luận giải thuật GCLP (global criticality /local phase ) để giải quyết vấn đề phân chia nhị phân (P1) điểm chính yếu của giải thuật được tóm tắt như sau : Giới hạn chung là một đo lường nhìn trước chung mà để xác định thời gian giới hạn ở một bước của giải thuật đưa vào tính toán những node chưa ánh xạ hiện thời GC so sánh với ngưỡng để lựa chọn mục tiêu ánh xạ ở mỗi bước của giải thuật Những node sử dụng số lượng tài nguyên không cân đối trong khi ánh xạ sang hardware hay software thì được phân loại thành extremities Ngưỡng sử dụng để ánh xạ những node nầy được thay đổi để tính toán cho những ánh xạ thích hợp Tổng không gian hardware được thu giảm tốt hơn bởi việc sử dụng khái niệm hoán đổi những node repeller (on line swaps between repeller node ) Repeller node được phân loại và xác định trên cơ sở những thuộc tính bên trong của node Ngưỡng được sử dụng cho ánh xạ những node repeller được thay đổi cho phù hợp với quan hệ ánh xạ của nó Giải thuật có độ phức tạp (O(|N|2)) với kết quả so sánh là tối ưu

Trở về trang chu

2.3 Phân chia mở rộng (Extended partition )

2.3.1 Giớùi thiệu :

Lý do cho việc giải quyết vấn đề phân chia mở rộng là do tính mềm dẽo của việc chọn lựa một hướng hiện thực cho node thay vì phải cố định cách hiện thực , nhờ vậy mà nó có thể thu giảm được không gian hardware hay thời gian thực thi software Từ thực tiển trong việc tổng hợp người ta thấy rằng kết quả của hiện thực hệ thống tốt hơn khi có phân chia mở rộng

2.3.2 Giải thuật phân chia mở rộng :Mục tiêu thiết kế

Giải thuật GCLP giải quyết vấn đề phân chia nhị phân P1 Vấn đề phân chia mở rộng P2 đề cập đến tối ưu hoá việc ánh xạ như ‘implementation bin ‘(tạm dịch là ‘hiện thực bin’) cho mỗi node Quan tâm hiện thực bin được trình bày theo hình vẽ 7

Trang 26

Hình7 NHi tập của hardware trong hiện thực bin

CHi ={ (ahi /thi) jỴ NHi }

Biểu thị L là nhanh nhất (bên trái nhất của hiện thực bin ) và H là chậm nhất (bên phải nhất của hiện thực bin) Như vậy đường cong hiện thực bin đi qua từ L đến H ,không gian hardware yêu cầu hiện thực node được làm giảm Từ quan điểm tối thiểu không gian hardware mỗi node được ánh xạ sang hardware có thể ở tập H bin (không gian nhỏ nhất).Tuy nhiên không thể từ tập H đáp ứng hiện thực chậm nhất Vấn đề phân chia mở rộng được lựa chọn một sự thích hợp hiện thực bin và phép ánh xạ cho mỗi node như tổng không gian hardware nhỏ nhất có tính đến giới hạn về thời gian và tài nguyên Vấn đề nầy rõ ràng phức tạp hơn ánh xạ phân chia nhị phân Đích của chúng ta là thiết kế một giải thuật hiệu quả giải quyết vấn đề phân chia mở rộng Có

2 mục tiêu đi đến việc thiết kế

1.Mục tiêu thiết kế 1 :Hợp lý hoá tỉ lệ phức tạp

Vấn đề phân chia nhị phân có 2|N| khả năng ánh xạ ,N là số node trong đồ thị Với B hiện thực bin bên trong 1 ánh xạ ,vấn đề phân chia mở rộng có (2B)|N| khả năng trong trường hợp tồi nhất Độ phức tạp của giải thuật không tỉ lệ với kích thước (số lựa chọn thiết kế trên một node )của quá trình phân chia Nếu giải thuật phân chia nhị phân có độ phức tạp O(|N|2) thì giải thuật phân chia mở rộng không thể có độ phức tạp O(|N|2B) ,B là mẫu trong tầm từ 5-> 10.Rõ ràng giải thuật phân chia nhị phân không thể mở rộng để trực tiếp giải quyết vấn đề phân chia mở rộng vì bùng nổ khả năng hiện thực

2.Mục tiêu thiết kế 2 :Dùng lại GCLP

Chúng ta đã có một giải thuật hiệu quả cho phân chia nhị phân , giải thuật phân chia mở rộng dùng lại nó Điều nầy đề nghị phân chia mở rộng được tách thành 2 khối :ánh xạ và lựa chọn hiện thực bin GCLP có thể sử dụng cho ánh xạ

Mục đích trên vẫn không đầy đủ tuy nhiên phân tích vấn đề phân chia mở rộng theo 2 bước độc lập :cụ thể là việc ánh xạ theo sau là lựa chọn hiện thực bin Duyệt qua các node trong đồ thị có nghĩa hiện thực bin của một node riêng biệt ảnh hưởng đến việc ánh xạ của những node chưa được ánh xạ Từ đây có sự tương quan giữa việc ánh xạ và lựa chọn hiện thực bin ,nó không thể tối ưu trong cô lập giữa ánh xạ và hiện thực Điều đòi hỏi nầy phải được giữ trong giải thuật Hướng đi của chúng ta là giải quyết vấn đề phân chia mở rộng được tóm tắt trong hình 8

Trang 27

hình 8 :hướng đi MIBS giải quyết phân chia mở rộng

Heuristic được gọi là MIBS Kết quả cuối cùng mỗi node trong dồ thị có đặc điểm bởi 3 thuộc tính :việc ánh xạ ,hiện thực bin ,thứ tự node Khi tiếp diễn giải thuật đòi hỏi mở rộng thông tin phát sinh ra ,mỗi node trong DAG qua tuần tự 3 trạng thái :1-tự do (free node ) , 2-định danh (tagged node ),3-cố định (fixed node ) Trước khi giải thuật bắt đầu 3 thuộc tính thì chưa biết ,như vậy những node được gọi là node tự do Công nhận rằng không gian và thời gian trung bình GCLP được áp dụng đầu tiên để ánh xạ và tuần tự tất cả các node thay đổi trong đồ thị Một node tự do riêng biệt (gọi là node định danh tagged node ) sẽ được lựa chọn sau đó ,và một hiện thực thích hợp bin được lựa chọn sau cho node định danh Trong phần sau mô tả một thủ tục lựa chọn một bin , nó xác định việc hiện thực bin cho node định danh Một lần ánh xạ và hiện thực bin đã biết ,node định danh trở thành node cố định GCLP được áp dụng cho những node còn lại và quá trình nầy được lặp cho đến khi tất cả node trong DAG trở thành cố định (fixed node ) Giải thuật MIBS có |N| bước cho |N| node trong DAG

Hướng đi của MIBS tích lũy chặt chẽ ,vạch ra mục tiêu thiết kế :GCLP và lựa chọn bin áp dụng xen kẽ bên trong mỗi bước của giải thuật MIBS ,có tiếp diễn quay lui giữa ánh xạ và hiện thực bin Giải thuật MIBS có độ phức tạp O(|N|3+B|N|2) ,trong đó B là số hiện thực bin trên ánh xạ

2.3.3 Lựa chọn hiện thực bin (implementation bin ) :

2.3.3.1 Tổng quát :

Tính toán ánh xạ và thứ tự cho những node tự do

- Thiết lập giá trị không gian và thời gian trung bình

- Aùp dụng GCLP

Lựa chọn node danh hiệu T với ánh xạ MT

Tìm hiện thực bin cho T bên trong ánh xạ M t

Free = Free \ T Fixed ß T Update(schedule)

Free = rỗng

Trang 28

Chỉ giới hạn vấn đề lựa chọn hiện thực bin cho những node hardware Những khái niệm trình bày ở đây có thể mở rộng lựa chọn hiện thực bin ở software Từ hình trên trong mỗi bước của giải thuật MIBS thì GCLP áp dụng trước xác định ánh xạ lặp lại của những node tự do Những node tự do được ánh xạ đến hardware tại bước hiện thời gọi là freeh node Một node định danh được lựa chọn từ tập freeh node ,công nhận rằng việc ánh xạ được xác định bởi GCLP ,còn thủ tục lựa chọn bin được áp dụng để lựa chọn một hiện thực bin cho node định danh Hình

9 trình bày dòng chảy của thủ tục lựa chọn bin Ý tưởng chính là dùng đo lường trước tương quan giữa hiện thực bin của node định danh với không gian hardware yêu cầu cho freeh node ,nó lựa chọn một đáp ứng tốt nhất cho hiện thực bin

Tính toán đo lường trước rất phức tạp ,để đơn giản ta công nhận rằng freeh node có thể hoặc L hay H bin Tất cả freeh node công nhận khởi tạo từ H bin của chúng Những tính toán đo lường trước (được gọi là bộ phận bin BFTj bin fraction)

Cho mỗi node bin j của node định danh T,phần nhỏ của freeh node cần di chuyển từ H bin đến L bin theo thứ tự ràng buộc thời gian Một giá trị cao của BFTj chỉ thị rằng nếu node định danh T được hiện thực trong bin j ,một bộ phận lớn của freeh node tìm được ánh xạ hiện thực nhanh (L bin) từ đó làm tăng không gian toàn bộ Đường cong bộ phận bin (BFCT) là tập hợp tất cả giá trị bộ phận bin của node định danh T

Độ nhạy của bin (Bin sensitivity) :

Là độ dốc của BFCT nó phản ánh đáp ứng của bộ phận bin trong di chuyển của node T ,giả thiết rằng độ dốc lớn nhất của đường cong bộ phận bin là trong khoảng từ k-1 đến k Việc

di chuyển của node định danh từ bin k-1 đến k là sự thay đổi lớn nhất của freeh node đến L bins của chúng tương ứng từ kàk-1 của node định danh ,kết quả là làm giảm lớn nhất của không gian freeh node Từ đó bin thứ k-1 được lựa chọn như là hiện thực bin cho node định danh (BT*) Tính toán BFC và độ nhạy bin được mô tả tiếp theo

Những ghi chú dùng trong thủ tục lựa chọn bin tóm tắt trong bảng 10

1 BFCT

Tính toán độ nhạy bin

Trang 29

area

Hình 9(thủ tục lựa chọn bin)

Ký hiệu Giải thích

Fixed nodes Node cố định

Free nodes Node tự do chưa được ánh xạ

Freeh nodes Node tự do được ánh xạ đến hardware bằng

GCLP tại mỗi bước của giải thuật MIBS CHT(CST) Đường cong hardware ,software cho node T

NHT(NST) Tập hiện thực bin software,hardware của

node T LT(HT) L (H) bin của node T.L (H) là nhanh nhất

(chậm nhất) của bin

BT* Lựa chọn hiện thực bin cuối cùng cho node T

BFTj Bộ phận bin được tính toán khi node T được

hiện thực trong bin j BFCT Đường cong bộ phận bin của node T

BSMAX Giá trị lớn nhất của độ nhạy bin

Hình 10 :tóm tắt ký hiệu sử dụng trong giải thuật lựa chọn bin

2.3.3.2 Đường cong bộ phận bin (BFC):

Công nhận rằng node T đã được hiện thực trong bin j ,BFTj được tính toán như bộ phận của freeh node ,nó phải di chuyển từ H bin đến L bin theo thứ tự thực hiện Đường cong bộ phận bin BFCT đánh dấu của bộ phận bin BFTj của mỗi bin j của node định danh T Thủ tục tính toán BFC được mô tả kế tiếp Những khái niệm cơ sở tương tự sử dụng trong tính toán GC ,để đơn giản ta áp dụng thủ tục lựa chọn bin cho node định danh được ánh xạ đến hardware bởi GCLP Một hiện thực bin đơn được công nhận khi node định danh được ánh xạ sang software

Procedure compute_BFC

Input Nfixed ={ fixed nodes }.Nfreeh ={freeh nodes }

T = tagged node ,với ánh xạ MT (hardware công nhận)

Đường cong hiện thực hardware CHT

Output BFCT = {(BFTj,j),"jỴ NHT}

Khởi tạo : NHàL= f , texec(p) biết với tất cả các node cố định ,pỴNfixed

For (j=1;j<= |NHT| ; j++) {

S1 Thiết lập , texec(T)=thïTj

S2 for tất cả kỴ Nfreeh ,thiết lập , texec(k) = thkH (tất cả freeh nodes ở H bins)

S3 Tính toán Tfinish , cho ánh xạ và , texec cho tất cả nodes

S4 Tìm trong tập NHàL của free h nodes được di chuyển đến L bin trong thứ tự gặp đường giới hạn

Lựa chọn bin (BT* )

Trang 30

NHàL ,tập free h node được di chuyển đến bin L của chúng theo thứ tự ràng buộc thời gian Những chức năng bình thường khác có thể sử dụng theo thứ tự freeh node Rõ ràng việc lựa chọn xếp loại node theo thứ tự làm giảm thời gian thực thi H của H bin Một khả năng thứ hai có thể sử dụng là dùng (thiH / thiL) như là một chức năng để xếp loại node Điều nầy có kết quả

di chuyển những node lấy lại lớn nhất về thời gian khi di chuyển từ H đến L bin

BFTj thì được tính toán trong S5 bằng tỉ số của tổng kích thước của những node NHàL trên tổng của kích thước của node trong Nfreeh Có thể nói rằng kích thước của node là số phép toán

cơ bản (nguyên tố) như (cộng ,nhân …) trong node

Trong phần tóm tắt một giá trị cao của mẫu bin cho node T được chỉ thị lựa chọn hiện thực bin thứ J Giống như kết quả trong phần lớn của freeh node được thiết lập khởi động tuần tự đến những bin L

2.3.3.3 Lựa chọn Implementation bin :

Hình 11a trình bày một đồ thị đường cong kiểu mẫu bin của một node định danh T LT(HT) biểu thị L(H) bin cho node T >điều mong muốn là bin BT* được lựa chọn như thế nào cho node nầy Một cách trực quan BT* = HT ,từ đó điều nầy cho không gian hardware là nhỏ nhất cho node T ở HT Tuy nhiên BFTH thì cao ,một bộ phận lớn của node freeh thì trong L bin vì vậy tổng không gian hardware có thể không cần lớn ,khi node định danh dịch từ HT bin đixuống ,kết quả làm giảm trong BF ngụ ý rằng bộ phận của node freeh ở L bin giảm và tuần tự cho phép không gian hardware của node freeh giảm Độ dốc của BFCT đại diện cho không gian bin được làm giảm nhanh như thế nào của node freeh trong node T.Độ dốc nầy gọi là độ nhạy bin

BS ,nó phản ánh mối tươmg quan giữa sự di chuyển bin của node định danh và tổng không gian được làm giảm của freeh node co nghĩa BSTj =BFT(j+1) –BFTj ,L<=j<= H-1; trong đó BSTH = 0 Hình 11b BSmax , IB(BT*) cho node định danh T được lựa chọn là bin với độ nhạy = BSmax , nếu BSmax>0 Nếu BFCT là hằng số (hình 11c) thì BSmax= 0 và node định danh được ánh xạ sang H bin của nó Từ đây di chuyển nó từ chậm nhất đến hiện thực nhanh nhất không ảnh hưởng đến những node freeh

BFCT BFTH BFCT

Trang 31

Hình 11 Bộ phận bin và độ nhạy bin cho lựa chọn hiện thực bin

Ở hình 12 vùng đánh dấu S1 và S2 có độ dốc bằng nhau cùng độ nhạy bin Trong trường hợp nầy bin B1 gần với HT thì được chọn hơn là B2 nó đáp ứng làm nhỏ không gian của node T

Một cách tổng quát giá trị độ nhạy bin là trọng số của không gian node T Trong trường hợp đặc biệt độ nhạy bin trọng số là đồ thị có được bởi nhân độ nhạy bin ở mỗi node j với (ahTH/ahTj) (hình 12c)

BFCT

(a)

S1 S2

Procedure bin_selection

Input Nfixed ={fixed nodes} ,Nfreeh = {freeh nodes}

T = tagged node với ánh xạ MT (hardware công nhận)

Đường cong hiện thực hardware CHT (hardware implementation curve )

Output BT*

S1 tính toán BFCT

Trang 32

S2 tính toán độ nhạy bin BS

S3 tính toán độ nhạy bin trọng số

S4 xác định bin BT* tương ứng bin có độ nhạy trọng lớn nhất

Trong phần tiếp theo sẽ đưa ra ánh xạ và lựa chọn hiện thực bin bằng giải thuật MIBS giải quyết vấn đề phân chia mở rộng P2

2.3.4 Vấn đề phân chia mở rộng giải thuật MIBS :

Agorithm MIBS

Input " i Ỵ N :CHi,CSi,Ei (extremity measure), và Ri (repeller measure )

Giá truyền nhận giao tiếp hardware ,software :ahcomm, ascomm và tcomm ràng buộc :AH,AS và D

Output " i Ỵ N ánh xạ Mi (Mi Ỵ { hardware ,software } ),hiện thực bin BT* và thời gian bắt đầu

ti

Khởi tạo :Nfixed = { fixed nodes } =f ,Nfree ={ free nodes } = { N }

Tính toán giá trị trung bình không gian ,thời gian cho tất cả nodes trong hardware và software

Procedure

While { |Nfree| >0 } {

S1 Xác định Mi và ti cho tất cả i Ỵ Nfree

S11 for tất cả i Ỵ Nfree thiết lập giá trị không gian và thời gian trung bình cho chúng

S12 sử dụng GCLP tính toán Mi và ti cho i Ỵ Nfree

S2 xác định tập nodes sẵn sàng NR

S3 lựa chọn tagged node T (T Ỵ NR) sử dụng đo lường cấp bách

S4 xác định hiện thực bin BT* cho node T công nhận ánh xạ MT

S41 sử dụng giải thuật lựa chọn bin xác định bin BT*

S5 Nfree = Nfree \ { T} ; Nfixed ß { T} cập nhật tT dựa vào cơ sở lựa chọn hiện thực bin BT*

}

N đại diện tập những node trong đồ thị Nfree là tập node tự do ,nó được khởi tạo từ N Nfixed là tập những node cố định và rỗng ở thời điểm bắt đầu Giá trị trung bình của không gian ,thời gian trên ánh xạ hardware ,software được tính toán trong bước khởi tạo Ở mỗi bước giải thuật MIBS tính toán việc ánh xạ hiện thực bin và trình tự từng node Bước S1 ánh xạ và liệt kê các node tự do làm trước tiên Diều nầy làm được bằng cách áp dụng GCLP cho tập node tự do công nhận giá trị trung bình của không gian và thời gian Tập node chuẩn bị được xác định ở bước S2 Điều nầy đại diện cho tập node tiền bối là những node cố định Một trong những node chuẩn bị nầy đã lựa chọn như node định danh ở S3 Đặc biệt chúng tập lựa chọn node sẵn sàng trên đường tới hạn Trong S4 giải thuật lựa chọn bin được áp dụng để xác định hiện thực bin cho node định danh Cuối cùng trong S5 danh mục node định danh được cập nhật phụ thuộc vào việc lựa chọn hiện thực bin Node định danh trở thành node cố định ,tuần tự từ S1 đến S5 lặp |N| lần cho đến khi tất cả các node trong đồ thị trở thành cố định

Lưu ý rằng việc ánh xạ của tất cả các node không kết thúc tại một bước thử trong MIBS Ở mỗi bước những ánh xạ được biết và những hiện thực bin của những node cố định phản ảnh việc ánh xạ của những node tự do Độ phức tạp của giải thuật O(|N|3+B|N|2) ,ở đây B là số của hiện thực bin trên ánh xạ

2.3.5 Hiệu suất của giải thuật MIBS :

Trang 33

Hiệu suất của giải thuật MIBS sẽ được nghiên cứu với 2 ví dụ thực tế (modem và TCS) với đồ thị ngẫu nhiên ước lượng định giá hiệu suất

Giải thuật được dùng sinh ra đường cong hiện thực hardware cho mỗi node trong DAG được mô tả trong 3.3.5.1.Trong 3.3.5.2 việc giải quyết thu được với giải thuật MIBS được so sánh với giải quyết tối ưu thu được với công thức ILP Trong 2.3.5.3 chúng tập giải thích hiệu quả của giải thuật MIBS trong việc làm giảm không gian hardware liên hệ với giải thuật GCLP

2.3.5.1 lượng giá của đường cong hiện thực hardware :

Code silage làm phát sinh tất cả node trong DAG sử dụng code silage phát sinh đặc biệt của PLOTEMY Môi trường Hyper được sử dụng phát sinh đường cong hiện thực hardware (hình 13) Ở mỗi node tới hạn Tc kết hợp với đồ thị dòng chảy dữ liệu được tính toán đầu tiên không gian hardware yêu cầu để hiện thực node tại một chu kỳ d bằng tới hạn ước lượng Tc Chu kỳ mẫu đáp ứng đến L hiện thực bin của node Chu kỳ mẫu sẽ tăng lên trong phép nhân của chu kỳ mẫu cho đến khi hardware yêu cầu làm giảm tương ứng với tài nguyên mỗi loại Chu kỳ mẫu nầy đáp ứng đến H hiện thực bin của node Không gian hardware không thể nhỏ hơn nữa khi dùng kỹ thuật tổng hợp đặc biệt Chu kỳ mẫu giữa L và H bin đáp ứng đến hiện thực bin còn lại của node

Nodal description

Sample reriod d nodal description

(L bin) nodal description

hardware area

y

n area time implementation bin

hình 13 lượng giá không gian hardware cho node

2.3.5.2 Kinh nghiệm 1 MIBS ,ILP

Công thức ILP của modem và TCS trở thành không thể giải quyết do thời gian Một phiên bản đơn giản của ví dụ modem với 15 node và 5 hiện thực bin hardware trên node được quan tâm ở đây Công thức ILP cho ví dụ nầy yêu cầu 718 ràng buộc va 396 biến Bảng sau đây tóm tắt cách giải quyết thu được với ILP và với giải thuật MIBS Hình 14 vẽ đồ thị MIBS và

Compute critical path Tc

d= TcEstimate area

Minimum resources ?

d=d+K T c Area estimator

Trang 34

ILP không gian hardware cho ví dụ ngẫu nhiên Ví dụ kiểm tra cho thấy MIBS giải quyết trong khoảng 18% giải quyết tối ưu thu từ ILP ,những ví dụ lớn không thể giải quyết bởi ILP vì lý do thời gian

Danh mục Không gian hardware Thời gian giải quyết

2.3.5.3 Kinh nghiệm 2 phân chia nhị phân ,phân chia mở rộng :

Mục tiêu kế tiếp của chúng tập là đánh giá hiệu quả của hướng đi phân chia mở rộng trong việc làm giảm tổng không gian hardware được so sánh với phân chia nhị phân Có 3 trường hợp quan tâm :Đầu tiên việc ánh xạ được làm trên cơ sở GCLP chấp nhận thời gian thực thi và không gian cho node được ánh xạ sang hardware được thiết lập các giá trị tương ứng đến bin L của chúng trường hợp 2 việc ánh xạ nầy được tính toán lại với giá trị không gian và thời gian thực thi tương ứng với trung bình của hiện thực bin Trong trường hợp thứ 3 phân chia mở rộng được làm trên cơ sở giải thuật MIBS

Trường

hợp

Danh mục Không

gian hardware

Không gian làm giảm so với trường hợp

Bảng trên trình bày kết quả 3 trường hợp áp dụng cho ví dụ modem giải quyết bằng MIBS được tiến hành tốt hơn nhiều với cách giải quyết GCLP (50% hardware nhỏ hơn so với trường hợp 1,và 32% nhỏ hơn so với trường hợp 2 ) Điều nầy củng cố giả thuyết hiện thực uyển chuyển có thể sử dụng ở mức phân chia để làm giảm tổng không gian hardware

2.3.5.4 Điều chỉnh thông số :

Một vài trường hợp người sử dụng thiết lập những thông số vào trong giải thuật MIBS Những điều nầy gồm: (1) hệ số cắt (a ,b) dùng phân loại extremities trong GCLP , (2) trọng số

đo lường extremity (g) và trọng số đo lường repeller (n) trong GCLP ,(3) chức năng thứ bậc cho tính toán GC (ts ,ts/th hay ah) và (4) chức năng thứ bậc cho tính toán BF (thH, thH/thL hay ahL) Thông số a ,b ,g, n được điều chỉnh đơn giản bằng nhị phân giữa 0 và 1.Chúng tập có phương pháp tìm kiếm tự động trong hiện thực giải thuật Từ đây giải thuật MIBS là nhanh nhất

Trang 35

là một thành tựu tính toán Những chức năng thứ hạng ts/th và thH/thL được tìm thấy tốt nhất khi thực hiện tính toán riêng từng cái GC và BF

2.4 Tóm tắt :

Ở mức độ hệ thống những thiết kế kiểu mẫu được đại diện là thiết kế mođun ,mo2.4 Tóm tắt :ãi node có thể được hiện thực sử dụng một trạng thái khác nhau trong giải thuật của kỹ thuật and/or trong hardware hay software Những hiện thực nầy có kiểu khác nhau trong không gian và thời gian thực thi Địng nghĩa phân chia mở rộng như là vấn đề tham gia của node ánh xạ trong đồ thị cấp cao đến hardware hay software ,thứ tự ,và lựa chọn một hiện thực đặc biệt (gọi là hiện thực bin) cho một node Mục tiêu cuối cùng là tổng không gian hardware nhỏ nhất Xuyên suốt quá trình nầy là ràng buộc tài nguyên Vấn đề phân chia mở rộng là khó ,chúng tập đề nghị 1 heuristic hiệu quả gọi là MIBS để giải quyết gần đúng Giải thuật MIBS có độ phức tạp O(|N|3+B|N|2) ở đây N là số node ,B là số cách hiện thực cho node Trong phần nầy đầu tiên đưa ra giải thuật GCLP để giải quyết phân chia nhị phân (ánh xạ và trình tự) Nó sử dụng một đo lường giới hạn thời gian chung để thích ứng việc chọn mục tiêu ánh xạ ở mỗi bước ,nếu thời gian là tranh chấp (tới hạn ) ,nó sẽ chọn ánh xạ mà thời gian hoàn thành nhỏ nhất cho node ,mặc khác cũng nhỏ nhất về tiêu thụ tài nguyên Trong xem xét chung tối ưu cục bộ được tính toán thích hợp cho node mà nó sử dụng không cân đối tài nguyên trong ánh xạ hardware ,software ,kết quả nầy được xác định như phân loại node như extremities Không gian hardware được thu nhỏ hơn bởi sử dụng repeller do hoán đổi giữa các node GCLP có độ phức tạp O(|N|2) Khi sử dụng pha cục bộ làm giảm không gian hardware 17% so với không sử dụng phân loại node

Ý nghĩa của MIBS là mở rộng GCLP cho phân chia mở rộng không cần kết hợp xây dựng phức tạp chiến lược phân loại node trong đồ thị như :tự do ,định danh ,cố định Khởi tạo các node là tự do ,ánh xạ và hiện thực bin là chưa biết GCLP áp dụng cho tập free node Node định danh được lựa chọn từ tập nầy ,ánh xạ được quyết định bởi GCLP Một thủ tục lựa chọn bin được sử dụng để tính toán lựa chọn hiện thực bin thích hợp của node định danh Thủ tục sử dụng

đo lường trước gọi là bin fraction nó ước lượng cho mỗi bin của node ,bộ phận của những node chưa ánh xạ cần phải di chuyển để hiện thực nhanh nhất do gặp phải ràng buộc thời gian Thủ tục lựa chọn bin có độ nhạy lớn nhất ,node định danh trở thành node cố định trong một lần hiện thực bin được xác định GCLP được áp dụng cho tất cả các node tự do còn lại và lặp lại cho đến khi tất cả node trong đồ thị trở thành cố định

3.1.Giới thiệu:

Sau khi phân chia mỗi node của DAG được chú thích 3 thuộc tính : ánh xạ, hiện thực bin và trình tự Chúng ta định nghĩa tổng hợp chung như là vấn đề tổng hợp hiện thực cuối cùng (hardware software , và giao diện ) từ những chú thích của DAG

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

Address bus

Controller

Trang 36

Hình 14 KIẾN TRÚC ĐÍCH

Một kiến trúc đích cho hệ thống trộn lẫn hardware ,software ,được chỉ ra như hình vẽ Kiến trúc bao gồm 1 bộ xử lý đơn lập trình được và nhiều modun hardware được nối kết đến một hệ thống bus Mỗi node được ánh xạ sang hardware được tổng hợp như là một modun hardware Mỗi modun hardware bao gồm 1 đường dữ liệu và controller ,giao tiếp xuất nhập Những giao tiếp nhập xuất đảm nhận truyền nhận giữa những modun hardware và processor Thành phần software của kiến trúc là chương trình nó chạy trong bộ xử lý lập trình được ,điều nầy bao gồm code truyền nhận ,nghĩa là device drivers quản lý truyền nhận dữ liệu giữa hardware và software Kiến trúc nầy là non pipeline có nghĩa một tập dữ liệu input được xử lý hoàn toàn trước khi tập thứ 2 đến hệ thống Điều công nhận là những node trong hardware ,software liên lạc thông qua ánh xạ bộ nhớ ,không đồng bộ ,kỹ thuật truyền nhận khối ,dữ liệu được truyền nhận xuyên qua hardware ,software bởi ghi và đọc từ shared address space Mỗi mođun riêng rẽ hardware hoạt động bên trong nó như là một mạch đồng bộ Bên trong một mođun hardware ,có một mođun controller làm hoạt động những thành phần khác như là (ALU ,thanh ghi ,bộ dồn kênh …)ở những chu kỳ clock xác định trước Truyền nhận giữa một mođun hardware và bộ xử lý hay giữa các mođun hardware là bất đồng bộ Từ trình tự có được bởi phân chia làm cơ sở cho lượng giá thời gian thực thi ,nó không bảo đảm chu kỳ ,nghĩa là không thể xác định chính xác khi nào một bộ xử lý hay mođun hardware sẽ cần clock Thứ tự phát sinh có thể đánh giá được vì vậy nó có thể chỉ thị thứ tự trong những node thực thi , một bộ điều khiển chung làm hoạt động mođun hardware trong thứ tự nầy

Hardware modun

Processor core

Hardware modul

Hardware modul

Hardware modul

Trang 37

system

data bus

hình 15 kiến trúc mođun hardware

Kiến trúc mođun hardware trình bày trên hình vẽ Chúng ta ám chỉ đến đường dữ liệu và bộ điều khiển như là hạt nhân của mođun hardware Mỗi hạt nhân có 2 tín hiệu bắt tay ready và completion thêm vào tín hiệu nhập xuất dữ liệu , mỗi input và output nối đến mạch cài dữ liệu Một mãch cài có tín hiệu điều khiển IE ,OE Hạt nhân bắt đầu tính toán sau khi nhận tín hiệu ready Tính toán xong hạt nhân bật cờ completion Tín hiệu ready là tín hiệu cho phép nhập và tín hiệu completion phát ra bởi mạch logic Những chi tiết của giao tiếp (hardware ,software ),(hardware ,hardware ) , (software ,software ) được trình bày tiếp

Giao tiếp hardware , software :

Trong một sơ đồ ánh xạ bộ nhớ mỗi output , input của mođun hardware được đáp ứng đến một địa chỉ duy nhất trong không gian địa chỉ dùng chung của bộ xử lý Một cách hiện thực truyền thống yêu cầu truyền nhận ánh xạ bộ nhớ là giải mã địa chỉ rõ ràng cho phép nhập xuất một cách thích hợp một mođun hardware khi đọc / ghi đến địa chỉ đó Khi số mođun tăng thì bộ giải mã có khuynh hướng tìm trên không gian rộng Thu giảm thời gian overhead và không gian overhead với giải mã địa chỉ một cách rõ ràng áp dụng nguyên lý giao dịch thứ tự (odered transactions principle) Sơ đồ truyền nhận hardware ,software làm việc như sau : Thứ tự (được xác định bởi phân chia ) được phân tích để xác định thứ tự của dữ kiện truyền qua giao tiếp hardware ,software Mỗi dữ liệu truyền qua gán địa chỉ duy nhất Sự liên tục của các địa chỉ mođun hardware mà bộ xử lý gửi tín hiệu đọc / ghi đến thì được biết từ trình tự một địa chỉ nầy đáp ứng duy nhất đến 1 input , output của mạch cài của một mođun hardware Bộ điều khiển chung dùng thông tin thứ tự làm hoạt động mạch cài nhập xuất của tất cả các mođun hardware Khi bộ xử lý phát ra yêu cầu ghi thì bộ điều khiển toàn cục biết được mạch cài nhập tương ứng trên thứ tự truyền nó không cần giải mã rõ ràng địa chỉ Vì vậy nó cho phép tương ứng mạch cài nhập và dữ kiện từ bộ xử lý được cài vào mođun hardware Chú ý rằng dữ kiện nhập của mođun hardware luôn được đọc trước khi input kế tiếp đến , do vậy kiến trúc là non pipeline Khi tất cả đầu nhập đến hạt nhân thì mạch tổ hợp logic kết hợp với mođun hardware phát tín hiệu ready ,nó thông báo hạt nhân bắt đầu thực thi Khi bộ xử lý phát ra yêu cầu đọc thì bộ điều khiển kiểm tra hoặc mođun hardware tương ứng được thiết lập tín hiệu completion nếu không bộ điều khiển sẽ dừng bộ xử lý cho đến khi tín hiệu completion được thiết lập Khi

Kernel

datapath And controller

latch latch

latch latch

logic

Trang 38

completion được thiết lập bộ điều khiển cho phép mạch cài xuất tương ứng và dữ kiện từ mođun hardware chuyển đến bộ xử lý

Giao tiếp software –software :

Dữ liệu được truyền giữa 2 node software được gán địa chỉ bộ nhớ duy nhất trong bộ nhớ dữ liệu bên trong của bộ xử lý Truyền nhận giữa 2 node software đạt được bằng cách ghi kết quả đến vùng cục bộ tương ứng bộ nhớ dữ liệu bên trong Từ đây software thực thi tuần tự theo bảng danh mục ,không cần kiểm tra semaphore

Giao tiếp hardware –hardware :

Truyền nhận giữa 2 mođun hardware đạt được bởi liên kết trực tiếp giữa mạch cài xuất của mođun hardware gửi đến mạch cài tương ứng nhập của mođun hardware Sau khi mođun hardware hoàn thành gửi dữ liệu tín hiệu completion của nó cho phép mạch cài nhập của mođun hardware nhận Tín hiệu completion của mođun gửi cũng sử dụng trong mạch logic tổ hợp để phát ra tín hiệu ready cho mođun nhận

3.1.2 Phương hướng giải quyết tổng hợp chung :

Vấn đề tổng hợp chung bao gồm tổng hợp các thành phần sau :

1- Đường dữ liệu và bộ điều khiển cho mỗi mođun hardware

2- Chương trình chạy trên bộ xử lý lập trình được Điều nầy bao gồm code để đọc / ghi đến những vị trí bộ nhớ dùng chung để truyền nhận với mođun hardware

3- Bộ điều khiển chung ,giao tiếp nhập xuất của các mođun hardware

và nối kết bộ điều khiển đến những mođun hardware khác nhau và bộ xử lý

Trang 39

Hướng đi của chúng ta để tổng hợp trình bày ở hình 15 , ứng dụng được đặc tả 1 SDF graph Đầu tiên SDF à DAG (directed acyclic graph) Mỗi node là một task độc lập chưa bị ràng buộc hiện thực sang hardware hay software Công cụ phân chia cho ra 3 vấn đề của node :ánh xạ ,hiện thực bin và trình tự Sau đó chuyển nó vào Retargeting tool , tool nầy thay thế

Cosynthesis (mapping,implementation bin ,schedule)

Technology dependent addresses

Arcs assigned unique addresses

Interface graph

Order of s-h Data transfers

And interface controller Logic (for each hardware node )

Retarget the DAG (technology dependent representation)

Generate communication addresses

Generate software ,hardware and interface graphs

Generate oder of data transfers

Software synthesis Interface synthesis Hardware synthesis

Netlist generator

Trang 40

mỗi node trong DAG (và tất cả những node bên trong hệ thống ) bằng một kỹ thuật tương ứng để ánh xạ và hiện thực bin Chúng ta hiểu assembly code hoặc C code đại diện cho những node được ánh xạ sang software , và VHDL hay SILAGE đại diện cho những node được ánh xạ sang hardware ,hơn thế nếu có một hiện thực khác cho node thì retargeting tool lựa chọn một tương ứng để hiện thực Trong trường hợp những node ánh xạ sang hardware ,sự biến đổi và lựa chọn mức tài nguyên cũng làm được ở tool nầy

Hướng retargeting tool cho rằng tồn tại một thư viện cho mỗi công nghệ ví dụ : Môi trường PTOLEMY có một thư viện rộng lớn ,nó hổ trợ hiện thực những node

Quá trình tổng hợp thì phát sinh ra đồ thị hardware ,đồ thị software và đồ thị giao diện Cho một ví dụ đơn giản như hình 16 ,những đồ thị nầy gắn với những công cụ tổng hợp hardware ,software và giao diện riêng rẽ một đồ thị hardware riêng rẽ được phát sinh cho mỗi node được ánh xạ sang hardware Từ đó một node được đại diện bằng một hệ thống node con Công cụ tổng hợp hardware phát sinh ra datapath và bộ điều khiển cho mỗi đồ thị hardware như yêu cầu Những node software kỹ thuật tổng hợp có hơi khác Tất cả những node ánh xạ đến software được kết hợp trong một đồ thị software đơn ,hàm send và receive được thêm vào đồ thị Ở phần phân chia phát sinh trình tự chung và thứ tự của tất cả các node trong DAG bắt đầu thực thi Thứ tự những node của đồ thị software thì nhận được từ trình tự chung Công cụ tổng hợp software phát sinh một chương trình đơn từ đồ thị software ,code nối vào nhau theo thứ tự Bộ Oder generator quyết định thứ tự của việc truyền giữa 2 node mềm và cứng Công cụ tổng hợp giao diện phát sinh bộ điều khiển chung sử dụng thứ tự của sự truyền nầy Nó cũng phát sinh mạch giao tiếp (mạch cài ,…) cho một mođun hardware

Bước tiếp theo phát sinh sơ đồ nối kết giữa mođun hardware ,bộ xử lý ,bộ điều khiển chung Những công cụ chuẩn cho sắp xếp tìm đường có thể sử dụng sau đó để tổng hợp sơ đồ cuối cùng để hoàn thành hệ thống

3.2.Tổng hợp hardware :

Cho một đồ thị hardware hướng chung cho tổng hợp hardware là:

1.Phát sinh mô tả tổng hợp cho đồ thị hardware Ngôn ngữ thường dùng để tổng hợp là SILAGE , VHDL Một mô tả được phát sinh phụ thuộc vào mô tả của tất cả các node con trong đồ thị hardware

2.Đưa những mô tả nầy đến công cụ tổng hợp hardware cấp cao sẽ thu được hiện thực node Một vài công cụ cấp cao đã có sẵn chúng ta sử dụng trực tiếp chúng Hình 16 tóm tắt dây chuyền tổng hợp hardware chỉ trình bày những mô tả bằng SILAGE cho đồ thị hardware và công nhận rằng hệ thống HYPER được dùng để tổng hợp datapath và controller từ SILAGE code

Ngày đăng: 17/01/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ nối dây  (netlist generation) - Tài liệu Hardware và software doc
Sơ đồ n ối dây (netlist generation) (Trang 2)
Hình 21 Những khối bên trong môi trường Ptolemy - Tài liệu Hardware và software doc
Hình 21 Những khối bên trong môi trường Ptolemy (Trang 6)
Hình 22 Phương pháp thiết kế chung dùng Ptolemy - Tài liệu Hardware và software doc
Hình 22 Phương pháp thiết kế chung dùng Ptolemy (Trang 6)
Hình 8 :hướng đi MIBS giải quyết phân chia mở rộng - Tài liệu Hardware và software doc
Hình 8 hướng đi MIBS giải quyết phân chia mở rộng (Trang 27)
Hình  11a  trình  bày  một  đồ  thị  đường  cong  kiểu  mẫu  bin  của  một  node  định  danh    T - Tài liệu Hardware và software doc
nh 11a trình bày một đồ thị đường cong kiểu mẫu bin của một node định danh T (Trang 30)
Hình 12 Weighted bin sensitivity  (độ nhạy bin trọng số)  Tóm lại chiến lược lựa chọn hiện thực bin được tính toán bằng độ nhạy bin trọng số và tập B T * - Tài liệu Hardware và software doc
Hình 12 Weighted bin sensitivity (độ nhạy bin trọng số) Tóm lại chiến lược lựa chọn hiện thực bin được tính toán bằng độ nhạy bin trọng số và tập B T * (Trang 31)
Bảng trên trình bày kết quả 3 trường hợp áp dụng cho ví dụ modem giải quyết bằng MIBS được  tiến hành tốt hơn nhiều với cách giải quyết GCLP (50% hardware nhỏ hơn so với trường hợp  1,và 32% nhỏ hơn so với trường hợp 2 ) .Điều nầy củng cố giả thuyết hiện  - Tài liệu Hardware và software doc
Bảng tr ên trình bày kết quả 3 trường hợp áp dụng cho ví dụ modem giải quyết bằng MIBS được tiến hành tốt hơn nhiều với cách giải quyết GCLP (50% hardware nhỏ hơn so với trường hợp 1,và 32% nhỏ hơn so với trường hợp 2 ) .Điều nầy củng cố giả thuyết hiện (Trang 34)
Hỡnh 15 kieỏn truực moủun hardware - Tài liệu Hardware và software doc
nh 15 kieỏn truực moủun hardware (Trang 37)
Hình 17 trình bày một xích tổng hợp hardware ,ví dụ ở node thứ 5 là bộ lọc ,đặc tả mức công  việc dùng PTOLEMY ,giả thiết node được ánh xạ sang hardware - Tài liệu Hardware và software doc
Hình 17 trình bày một xích tổng hợp hardware ,ví dụ ở node thứ 5 là bộ lọc ,đặc tả mức công việc dùng PTOLEMY ,giả thiết node được ánh xạ sang hardware (Trang 41)

TỪ KHÓA LIÊN QUAN

w