• 沒有找到結果。

重組態系統監控機制之設計

N/A
N/A
Protected

Academic year: 2022

Share "重組態系統監控機制之設計"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)

重組態系統監控機制之設計

林之棟 黃朝章 洪億樹

台灣科技大學 元智大學 元智大學

[email protected] [email protected] [email protected] 摘要

本論文提出在動態重組態架構下,為 了使系統可以準確的更換所需模組,故必 須有完善的資源指標 (Resource Index) 以 瞭解目前硬體實際狀態,並且提供系統作 為是否進行重組態或置換模組的參考依 據,我們利用系統資源狀態擷取、監控以 及管理之方法,使系統可根據應用程式之 複雜度,有效分割交由軟硬體執行來提升 加速運算的效能。

圖 1.1 彈性與執行效能 關鍵詞:動態、重組態、擷取、監控 重 組 態 架 構 執 行 效 能 如 圖 1.1 所

示。將重組態運算運用至硬體電路上,可 以明顯的看出在效能上與以 ASIC 設計 方式的電路相當,並且重組態架構兼具高 度彈性,使硬體電路有多種不同的運作模 組及功能,增加硬體電路的彈性,當實際 電路因應本身電路大小受限之考慮,可以 採重組態架構方式使電路可以彈性組態具 備不同功能之模組,而效能則可以超越指 令集架構設計方式。

一、簡介

硬 體 電 路 的 重 組 態 架 構 (Reconfigurable Architecture) 概 念 源 自 於 重 組 態 運 算 [1][2](Reconfigurable Computing,RC),重組態運算具有可重覆 執行不同功能模組的運算能力,依照實際 程式運作,不同之運算法則需要更換不同 的子模組。基於此運算模式應用在硬體電 路上,衍生出重組態架構。若單純以重組 態運算模式進行單一指令或單一功能運算 時,運作過程較傳統運作方式來得複雜,

導致在實際進行模組置換過程的執行效能 小於傳統方式,不過,當功能模組在使用 上較為頻繁時,運用重組態運算方式能增 加整體運作效能[3]。

二、資源監控系統

(一) 設計背景

當利用 FPGA (Field Programmable Gate Array)邏輯元件來設計一個動態重組 態系統時,若無法掌握 FPGA 上的使用現 況,則無法實現在系統運作時,依據系統 現況,決定是否有足夠資源用以重組態出 新功能的子模組,或者在資源不足時,判 斷是否需要置換現有模組。以上的判斷,

都必須根據系統資源現況著手,因此我們

(2)

表 2.2 基本單元總數表 在此提出系統資源管理系統,研究如何將

這些系統資源經過擷取、監控及管理,以 提供系統作為參考。

(二) 系統資源資訊

依 照 FPGA 使 用 狀 況 主 要 分 為 Slice、IOB(Input/Output Block)、LUT(Look Up Table)、TBUF(Tri-state Buffer)四種單 元,我們可以依照此四種單元的使用狀況 做為邏輯閘(Logic Gate)使用量的依據,並 以這些單元之基本邏輯閘的使用個數做為 資源資訊,經系統解讀資源資訊後能清楚 瞭解目前 FPGA 使用狀況。

表 2.1 模組使用元件列表

Logic Element The Num. of Total Num. of occupied Slices 2 out of 2,352 Num. of bonded IOBs 14 out of 284 Num. of 4 input LUTs 3 out of 4,704 Num. of TBUFs

16 out of 2,464

Num. of GCLKs

1 out of 4

Num. of GCLKIOBs

1 out of 4

邏輯元件

單元

AND OR NOT TBUF Buff D-FF

Slices

* * * - - -

IOBs

- - - - 568 284

LUTs

9408 4704 4704 - - -

TBUFs

- - - 2464 - -

我們將資源資訊再細分及閘、或閘、

反向閘、三態閘、暫存器以及 D 型正反器 等邏輯元件為使用資源狀態資訊。此資源 資訊是記錄目前邏輯閘之使用量,從表 2.2 得知各個元件的最大使用數,單元與邏輯 閘總數的關係如表 2.2 所示。表 2.2 第一列 表示基本邏輯元件;第一欄則表示 FPGA 所使用之單元。由於 Slice 是由兩個 LUT 單元所構成,其使用總數從表 2.1 來看是 LUT 總數的一半。在表 2.1 所記錄的 LUT 使用數為三個,換為 Slice 則可看成使用一 個半的 Slice,故在記錄上記為使用兩個 Slice。因此分析基本邏輯元件使用率可以 僅記錄 LUT 的使用率,表示已記算在 LUT 欄位中,故 Slice 欄位資訊記錄以星號(*) 註記,表示省略。

(三) 系統資源資訊存放設計

每 筆 資 料 具 有 24 個 位 元 數 (24 Bits),前 8 位元表示目前欄位,用以分辨 起始、各基本元件欄位;後 16 位元則表示 目前使用個數。資料區段格式如圖 2.1 所 示。

若將上述四種單元加以分析,Slice 單元主要是由兩個 LUT 元件構成,而 LUT 元件是以一個反向閘(NOT Gate)、兩個及 閘(AND Gate)、一個或閘(OR Gate)邏輯元 件構成,故 Slice 單元將會使用到四個及 閘、兩個反向閘、兩個或閘;IOB 是由三 個 D 型正反器(D Type Flip-Flop)及一個輸 入 暫 存 器 (Input Buffer) 及 輸 出 暫 存 器 (Output Buffer)邏輯元件所構成;TBUF 狀 態之基本元件會使用到一個三態閘。

資訊欄 8bit 使用個數記錄欄 16bits 圖 2.1 資料區段

每組資源資訊除了包含六組基本邏

輯元件的資源使用資訊之外,在資訊起始

與結尾部份採用 AA 與 EE 來表示資料之

起始,另外在使用記錄欄若無資源之使用

(3)

記錄,故給予 16Bits 高電位(FFFF)來表示 此欄位無使用資源。因此,每組資訊包含 六筆基本邏輯元件資訊再加上起始與結尾 資訊兩筆共是八筆資料,其中每筆資料使 用個數欄為 16Bits,而資訊欄為 8bits,每 一筆資料共使用 24Bit,而每子模組資源資 訊共有八筆資料,則會使用到 192Bit。最 後每筆資源資訊使用總數以十六進制表 示,如表 2.3 所示。

圖 2.2 子模組架構圖 表 2.3 資源資訊定義表

Logic Element Index

使用個數

AND Gate

F1 24C0

NOR Gate

F2 1260

NOT Gate

F3 1260

Tri-State

F4 09A0

Buffer

F5 0238

D Flip-Flop

F6 011C

Start

AA FFFF

End

EE FFFF

在固定模組部份,我們將原有的重組 態架構進行修改,額外增加三個部份:記 憶體單元、控制核心單元、傳送控制單元。

記憶體單元是以記憶體(RAM)為儲 存媒介,其目的為儲存多個子模組的資源 資訊。控制模組核心(Control Core)主要負 責處理四種狀態,包含有(1)接收系統所發 送 的 要 求 資 源 資 訊 之 訊 號 (Request Signal)。(2)接收從子模組端所傳送之區段 值。(3)從記憶體單元中讀取代表現階段子 模組之資源資訊。(4)資訊接收後置入暫存 器(Buffer)送至傳送單元送出。而傳送單元 負責將暫存器中之資源資訊傳送至系統。

整體固定模組細部架構如圖 2.3。

(四) 系統資源資訊擷取機制

在資源資訊的建立與資訊資料的擺 放,基於子模組可運用空間的考量,我們 採取將資源資訊與子模組分開放置,最主 要的目的為降低子模組空間的使用。因 此,我們將重組態架構再進一步細分,把 原有可重組態區域的子模組,額外加入代 表子模組區段的暫存值,我們稱之為子模 組區段值(Sub Module Segment Value,

Sub-SV),我們盡可能的減少暫存值所使用 之位元數,以降低子模組空間運用。我們 將子模組區段值使用三個位元表示,故在 完整系統中可以置換八組不同的子模組。

子模組架構設置方式如圖 2.2。 圖 2.3 固定模組架構圖

在控制核心單元中的控制序列以有

限狀態機流程圖說明如圖 2.4 (Finite State

Machine,FSM),主要負責固定模組中所

有單元之訊號傳送與接收。由於控制核心

(4)

除了將原有重組態架構中所接收到的數值 送至解碼器之外,尚需執行子模組區段值 訊號之接收、傳送記憶體位址、接收記憶 體中的資源資訊、傳送核心中暫存器之資 訊至傳送單元等等之工作,為了能將上述 工作準確達成,我們製訂出下列規則搭配 有限狀態機執行,以達成預期目標。

圖 2.4 有限狀態機流程圖 圖 2.5 系統執行程式流程圖

(五) 系統資源監控單元

在系統開始執行程式時,先行判斷要 使用硬體(使用 FPGA 實作之專用電路)或 是軟體(泛用型處理器)執行,當系統經由 演算法判定要使用硬體執行時,再由系統 資源監控單元來做硬體資源資訊的判斷,

利用前述之資源資訊擷取架構可以得知硬 體資源是否足夠,若系統資源足夠,則組 態或重組態一個專用之功能單元,若資源 不足則使用軟體來實作執行。其運作判斷 流程如圖 2.5。

三、系統實作

(一) 系統整體架構

由於一般的應用程式大部分皆由泛

用型處理器來執行,假如有一部分運算複

雜的演算法切割出來改由硬體(FPGA 實

作之專用電路)來執行,就能夠提昇整體系

統效能[4][5][6]。為使整體系統執行效能更

加提升,本論文應用處理法則,分別利用

軟體及硬體實現。為了有效區分軟體與硬

體,我們提出擴增的架構。如圖 3.1。

(5)

圖 3.1 系統整體架構圖 假設系統要執行應用程式,則交由

MicroBlaze[7][8][9]應用程式之程式碼,這 時資源監控系統會判定是否要把程式運算 複雜的區段獨立出來,利用 Reconfigurable Module 來 執 行 , 根 據 Reconfigurable Module 目前的資源情況去判定是否足夠 重組態成新的 Module,或是仍由泛用處理 器來繼續做運算處理。資源監控系統也可 以 判 斷 在 Reconfigurable Module 裡 Function Unit 使用情況,當要做置換時把 執行較少次數的 Function Unit 置換掉,換 成目前想要執行的 Function Unit。此時資 源 監 控 系 統 就 必 須 考 慮 置 換 優 先 度

( Priority ) 來 置 換 成 為 新 的 Function Unit。以及 memory 的使用率,可以得知 現在硬體 memory 使用了多少容量。LUTs

(Look Up Table)所佔多少百分比…等 等。這些資源資訊,都能夠當作資源系統 判斷的依據。

(二) 實作

本論文在 Xilinx Vertex II Pro FPGA 板上實作了本論文所提出之系統資源監控 系統,並在 Reconfigurable Module 中先行 存 放 了 兩 個 模 組 分 別 為 Incremeter 、

MyRegister,並設計了一個 DCT Function Unit 提供系統置換之用,其中各模組之硬 體置換條件比較如表 3.1 所示。

Function unit

Memory Usage

gate count

Exe.

time LUT

DCT

118 MB 2,168,576 3 1694

Incrementer 95MB 96

1 8

MyRegister 93MB 115

2 15 表 3.1 硬體置換條件比較

經過驗證,當系統執行影像壓縮程式 時,可以向系統資源監控系統詢問系統之 硬體資源現況,並成功將 Incremeter 模組 經由重組態置換為 DCT 模組。並提昇影像 壓縮程式之執行速度。

四、結論

重組態架構使系統增加了彈性置換

的空間,也提升了系統執行效能。但是當

執行重組態架構時,必須先判斷該置換目

前硬體裡哪一個模組,而使整體系統有較

大的效能,假設缺少這方面的判斷機制,

(6)

直接進行系統的重組態,系統的執行效能 可能會更加沒有效率,另一方面也會浪費 硬體的資源。

因此本論文提出一個重組態系統監 控機制的設計,來判斷現今系統硬體資源 是否足夠作組態或是重組態的動作。這個 機制所考慮的硬體資源條件非常嚴謹,首 先將系統內部重組態過後的資料,逐一的 比對分析每一項硬體資源的數據,最後才 來判定是否作重組態的動作。在判定期 間,假設其中任一判定條件不足夠作重組 態的動作,則回復到軟體執行。

另一方面,系統在做重組態動作時還 同時考慮重組態所花費的時間,因為如果 需要處理的時間過長,整體系體執行的效 能反而會更久。未來為了改善這個問題,

我們使用額外的記憶體(System ACE)來 存 放 先 前 已 經 被 組 態 過 的 模 組 , 這 個 System ACE 可以儲存使用者所設計的功 能單元(Function Unit),而且一次可以 儲存 8 個功能單元。所以當要做重組態 時,我們就先利用 System ACE 搜尋先前 是否已經組態過這個功能單元。如果已經 組態過,則直接拿來執行;如果沒有組態 過,則去檢視重組態的條件,看是否要做 重組態或是回復到軟體執行。這樣就可以 縮短重組態的時間,讓系統效能更有效率。

五、參考文獻

[1] Kia Bazargan,Seda Ogrenci,Majid Sarrafradeh,"Integrating scheduling and physical design into a coherent compilation cycle for reconfigurable computing architectures"

[2] Dinesh BhatiaX,"Reconfigurable Computing",I0th International Conferenceon VLSI Design -January I997

[3] Yan-Xiang Deng,Chao-Jang Hwang,

Der-Chyuan Lou,"Two-stage reconfigurable computing system architecture",2005.08

[4] Roman Lysecky and Frank Vahid,"A Study of the Speedups and

Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning",

2005 IEEE

[5] Henkel, J., Y. Li. Energy-conscious HW/SW-partitioning of embedded system:A case Study on an MPEG-2 Encoder. Proceedings of Sixth

International Workshop on

Hardware/Software Codesign,March 1998,pp. 23-27

[6] Henkel, J. A low power

hardware/software partitioning approach for core-based embedded system. Design Automation Conference.pp. 122-127,1999 [7] XILINX,Inc,"EDK MicroBlaze

Tutorial",2004.01

[8] CIC,"2003 XUP Microblaze SOC on Xilinx's FPGA"2003.07

[9] XILINX,Inc,"MicroBlaze Processor

Reference Guide"2000.12

數據

表 2.2 基本單元總數表 在此提出系統資源管理系統,研究如何將 這些系統資源經過擷取、監控及管理,以 提供系統作為參考。  (二) 系統資源資訊  依 照 FPGA 使 用 狀 況 主 要 分 為 Slice、IOB(Input/Output Block)、LUT(Look  Up Table)、TBUF(Tri-state Buffer)四種單 元,我們可以依照此四種單元的使用狀況 做為邏輯閘(Logic Gate)使用量的依據,並 以這些單元之基本邏輯閘的使用個數做為 資源資訊,經系統解讀資源資訊後能
圖 3.1 系統整體架構圖  假設系統要執行應用程式,則交由 MicroBlaze[7][8][9]應用程式之程式碼,這 時資源監控系統會判定是否要把程式運算 複雜的區段獨立出來,利用 Reconfigurable  Module 來 執 行 , 根 據 Reconfigurable  Module 目前的資源情況去判定是否足夠 重組態成新的 Module,或是仍由泛用處理 器來繼續做運算處理。資源監控系統也可 以 判 斷 在 Reconfigurable Module 裡 Function Unit 使用

參考文獻

相關文件

動態時間扭曲:又稱為 DTW(Dynamic Time Wraping, DTW) ,主要是用來比

上列兩個範例是屬於連續型資料相同,但是組距不相同,比較看看,統計圖表有

zSELECT 欄位名稱1, 欄位名稱2, … FROM 資料表名稱 WHERE 條件式 ORDER BY 欄 位名稱 (字串需以單引號 '

發放一筆過津貼給學校以推廣 STEM 教育。每所學校的津貼

 培養具有檔案學基礎知識與文化知識,掌握現代資訊技術的基 本技能,能在檔案館、國家機關和企事業單位的檔案機構、資

電腦內部是使⽤用位元 (Bit) 這個基本單位來表⽰示資料 並儲存於記憶單元 (記憶體) 或輔助記憶單元 (硬碟) 中。.. 每個位元只可以表⽰示

 透過一系列 一系列 一系列 一系列的圖畫 圖畫 圖畫 圖畫與少許相關文字 相關文字 相關文字 相關文字或者完全沒有 文字的結合,來傳遞資訊 傳遞資訊 傳遞資訊或說故事 傳遞資訊

自 1998 年起,教育局制訂了一系列資訊科技教育策略,促進學 校將資訊科技融入學與教當中。於 2000