• 沒有找到結果。

4.3 實驗設計

4.3.5 模擬結果

 DSP 利用率計算 I

圖 4-13 表示這三個 cases 執行 JPEG Encoding 所花費的執行時間(X 軸為 JPEG 圖 片的張數,Y 軸為其對應的執行時間)。

DSP Execution Time on JPEG Encoding

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

1 2 3 4 5

Number of image

Second

Case I Case II Case III

圖 4-13 DSP 執行 JPEG 的執行時間

以下公式為表 DSP 利用率的計算方式:

(Total Program Count)/(DSP Operation Freq.)

U= (Total Execution Time)

(4-1)

經過公式計算,DSP 的利用率分別為:

 Case I:55.5%

 Case II:66.7%

 Case III:93.4%

 DSP 空閒的時間

圖 4-14 表示 DSP 空閒的時間(DSP 空閒時間 = DSP 總執行時間– DSP 實際花在 運算的時間)。其結果顯示 Process Management 的工作交由 HPI 來處理,相對於 Case I/Case II,將可節省 11/7 倍的時間花在實際的運算。

DSP Idle Time

0 2000000 4000000 6000000 8000000 10000000 12000000

1 2 3 4 5

Number of image

Clock cycle

Case I Case II Case III

圖 4-14 DSP 空閒的時間

 DSP 利用率計算 II(將 DSP 可運算的執行緒標準化到 7 個) Thread 所佔據的利用率),其餘部分 21.4%(100-78.6)的時間是花在兩個 Processes 之 間的溝通(當一個 Process 結束後,Supervisor Thread 還需要花些時間來更改 Table,經 過一段時間後,另一個新的 Process 才會被分派),而執行緒每個時間週期都在做切換,

會讓此段時間的溝通變的較沒效率。

DSP Exe. Time on JPEG (normalize to 7 threads)

0

Number of image

Second

Case I Case II Case III

圖 4-15 DSP 執行 JPEG 的執行時間(DSP 可運算的執行緒標準化到 7 個)

如表 4-8 為使用 TSMC 0.13µm CMOS 製程技術的合成結果,提出的 HPI 所使用的 電晶體數量相對於 DSP 處理器本身增加了 6.25%,是幾乎可以乎略的。

表 4-8 合成結果

Technology TSMC 0.13µm CMOS technology

Core gate count 129536

HPI gate count 8103

Operating Frequency 100MHz

5 總結及未來工作 總結及未來工作 總結及未來工作 總結及未來工作

我們首先提及在嵌入式系統,傳統單一的通用處理器已經無法滿足現代行動多媒體 所需的運算量,而以異質性整合的雙核心處理器來處理這些多樣性的任務,已經是一個 普遍且正確的做法。然而我們發現 DSP 的利用率通常都不高,其原因來自於(1)指令的 延遲時間造成管線裡充滿著管線延遲;(2)有限的 ILP,使得像 VLIW 架構的處理器其指 令的 Issue Slot 充滿著無效的運算;(3)繁複的處理器之間的溝通與 Process Management 造成兩處理器之間的相互等待,而沒有在做運算;這些都使 DSP 的利用率都在 60%以 下 。 我 們 利 用 了 IMT 的 架 構 來 實 作 DSP 處 理 器 , IMT 執 行 緒 切 換 的 方 式 為 Cycle-by-Cycle,可以避免 Short Stalls 和 Long Stalls;另外我們提出 HPI 來負責 Process Management,使得處理器之間的溝通次數降低,進而提升 DSP 的利用率;另外,Process 的分派是 Priority-based 的,高優先權的 Process 將會優先分派,而 DSP 的 Thread Slot 不會被低優先權的 Process 佔住而慢下來。

第二章說明指令延遲時間造成管線延遲的原因,資料相依性阻礙了 ILP。現階段高效能

處理是將以 TLP 來獲得更高的平行度,來解決 ILP 所面臨的問題。多執行緒處理器依 執行緒切換的方式可分為 IMT 與 BMT。IMT 可避開因指令延遲時間與資料相依性所造 成的管線延遲;而 BMT 執行緒的切換是以 Even Driven 方式,當遇到一個很長的延遲時 間(如 L2 Cache Miss)才做切換。而另ㄧ種同時 Exploiting TLP 與 ILP 的 SMT,其架 構建立在 Superscalar 處理器上,SMT 架構非常複雜,同時在多個執行緒中探詢平行指 令,造成設計上的困難。SMT 架構,常被運用在伺服器的處理器市場中。最後提及兩 處理器的溝通機制;並以 TI OMAP 為例,說明其溝通的步驟與相關需注意的議題。

第三章說明了 Data Flow Process Network 的基本概念,以及所提出的 HPI 如何以此 概念來完成 Process Management 的工作。HPI 內部維護了三個 Tables:分別為 Process List Table、Queue Table 和 Dispatch Table。一個 Process 要能分派到 DSP 上必須先滿足三個 條件:(1)DSP 有無閒置的 Thread Slot;(2)有無 Page 可供 Process 儲存運算完的結果;

(3)選一個具有高的優先權 Process 來分派。DSP 的執行緒藉由 Dispatch Table 的 Thread Enable 來 Initialization。執行緒的 Termination 藉由特定的指令(SlotFree)加在運算 Process 的最後的一行來為之。資料記憶體分成固定大小的 Page,記憶體管理單元則在動態的去 Allocate 或 De-Allocate 這些 Page 給一個新的 Process 或一個終止的 Process 。處理器之 間的溝通分三部份:(1)Synchronization 為 Mailbox;(2)Communication 為經由事先定義 好的 FIFO Queue;(3)I/O Process 負責協助處理器之間的溝通。

第四章說明將所提出的 DSP 核在 ARM Versatile 上實現;另外在實驗設計方面,以 JPEG Encoding 為其多媒體應用程式,設計了三個 Cases:(1) Case I:將 Process Management 的工作由 ARM 來執行;(2) Case II:將 Process Management 的工作由 DSP 來執行;(3) Case III:將 Process Management 的工作由 HPI 來執行。從模擬的結果得知,

所提出的 HPI 來負責 Process Management,其 DSP 的利用率為 93%,而其所使用的電 晶體數量大約為 DSP 處理器的 6.25%,是幾乎可以忽略的。

我們現在正朝向讓 HPI 的設計能夠支援多個輸入與多個輸出(MIMO)的模型。對 於 DSP 核部分,我們將增加其指令的 Issue Bandwidth 到一次可以 Issue 兩道指令,其

架構會類似於 IMT + VLIW。另外,我們將增加其管線的階數,從 5 級增加到 8 級,8 個執行緒的 IMT 允許 8 級的管線內不會產生 Short Stalls,並且 8 級的管線將允許有更複 雜的資料路徑(CISC-like),使 DSP 擁有更高的效能。

參考文獻 參考文獻 參考文獻 參考文獻

[1] A. Gatherer, T. Stetzler, M. McMahan, and E. Auslander, “DSP-based architecture for mobile communications: past, present and future,” in IEEE Commun. Mag., vol.38, pp.84-90, Jan. 2000

[2] J. Chaoui, K. Cyr, S. Gregorio, J. Giacalone, J. Webb, and Y. Masse, “Open

multimedia application platform: enabling multimedia applications in third generation wireless terminals through a combined RISC/DSP architecture,” ICASSP’01, vol. 2, pp. 1009-1012, May,2001

[3] M. S. Lam and R. P. Wilson, “Limits of control flow on parallelism,” in Proc. 18th ISCA, May 27-30, 1992, pp. 46-57

[4] D. W. Wall, “Limits of instruction-level parallelism. in Proc. Int. Conf. ASPLOS-IV, April 8-11,1991, pp. 176-188

[5] M. Michael, T. Y. Yeh, Y. Patt, M. Alsup, H. Scales, and M. Shebanow, “Single instruction stream parallelism is greater than two,” in Proc. 18th ISCA, May 27-30, 1992, pp. 46-57

[6] Evaluating real-time operating systems for DSP. [Online]. Available:

http://www.rtcmagazine.com/home/article.php?id=100498&pg=2 [7] RTOS to DSP: what makes it tick? [Online]. Available:

http://www.openlicensesociety.org/docs/RTOS_for_DSP.pdf

[8] J. L. Henessy and D. A. Patternson, Computer Architecture – A Quantitative Approach, 4th Edition, S.F.:Morgan Kaufmann Publishers, 2007

[9] Theo Ungerer, Borut Robi , and Jurij ilc, “A survey of Processors with explicit multithreading,” ACM Computing Surveys, 35(1), 2003

[10] Inter-processor communication. [Online]. Available:

http://www.3dsp.com/pdf/InterProcessorCommunication.pdf [11] Linux DSP Gateway specification. [Online]. Available:

http://dspgateway.sourceforge.net/pub/3.1/DSP_Gateway31_spec.pdf

[12] PrimeCell vectored interrupt controller (PL190). [Online]. Available:

http://www.arm.com/pdfs/DDI0181E_vic_pl190_r1p2_trm.pdf

[13] E. A. Lee and T. M. Pards, “Dataflow process networks,” in Proc. IEEE, vol83, 1995 [14] Independent JPEG Group, http//www.ijg.org

[15] Versatile Platform Baseboard for ARM926EJ-S. [Online]. Available:

http://www.arm.com/

[16] AMBA Specification Rev 2.0, ARM Limited, 1999

作者簡歷 作者簡歷 作者簡歷 作者簡歷

卓志宏,1976 年 4 月 11 日出生於彰化縣。2002 年取得明新科技大學電機工程學系 學士學位。2007 年在劉志尉教授指導下,取得碩士學位。本篇論文「適於雙核心多媒體 系統晶片之多重執行緒協同處理器介面」為其碩士論文。

相關文件