• 沒有找到結果。

2. 緒論 (Previous work)

2.3. 論文研究目標

要實現兩個或以上平行的處理器分工,妥善的軟體整合十分重要,如何在現有的 硬體架構下,利用軟體的分工來達到高效能的表現是一個很重要的課題。在目前的軟 體設計環境趨勢中,大多根據資料處理的特性來進行工作的分配,而且這種工作的分 配是離線的(off-time),在編譯的階段就需要被決定了,決定哪些工作要在 GPP 上執 行,哪些工作要在 DSP 上執行。但是每個使用者的使用習慣和使用環境都不盡相同,

核心間的狀況來分配的,當 DSP 忙碌時,GPP 也可以幫忙做些多媒體的工作,使得系 統 的 設 計 變 的 更 有 彈 性 。 以 下 我 們 定 義 了 兩 個 新 的 名 詞 : Loosely-Coupled 和 Tightly-Coupled,Loosely-Coupled 即是在編譯階段(compile time)就決定工作分配的方

式;Tightly-Coupled 強調的是在程式執行時(run time)根據各個核心間的狀態來分配工 作的機制。

2.3.1. Loosely-Coupled Dual-Core System

以 Freescale 針對 MXC 架構所建議的智慧型手機的軟體架構為例,利用 ARM1136 來執行作業系統以及使用者介面的控制;StarCore DSP 來處理一些具有即時性及需要 大量運算的工作,如音訊的解壓縮、通訊協定(Layer1、2、3)的處理[32]。

User Interface

Applications

Service Providers

Open OS &

Middleware Framework

Signalling SP

Audio Codec

Physical Layer Tasks

RTOS Shared

Memory

MCU SCM

Engine

Layer 3 Layer 2 Layer 1 User Interface

Applications

Service Providers

Open OS &

Middleware Framework

Signalling SP

Audio Codec

Physical Layer Tasks

RTOS Shared

Memory

MCU SCM

Engine

Layer 3 Layer 2 Layer 1

Fig. 5 Mobile Extreme Convergence Smartphone Software Architecture

這樣的設計具有一定的優點,因為軟體切割的完整性,使的在設計上具有非常強 烈的模組性。GPP 和 DSP 的設計流程是獨立的,有助於軟體的開發和除錯,而且具有 高度的產品移植性,對於快速進入市場有相當程度的優勢。在雙核心平台上,利用資 料 處 理 的 特 性 來 決 定 該 工 作 該 由 哪 個 核 心 來 執 行 的 排 程 , 我 們 定 義 為 [Loosely-Coupled dual-core system]。但是這種靜態排程潛藏著一些值得探討的問題,

當 DSP 已經很忙碌時,我們是否適合把認為該是 DSP 處理的工作再往 DSP 丟,而加 重 DSP 的負擔,而且可能這時 GPP 正處於閒置的狀態,如圖 5 所示。

RISC core start

Video encode job Job to DSP

DSP core start

Signal ?

Video Compression

process

Generate Interrupt Receive

Interrupt

Output the bitstream

Yes

No

Other processing /IDLE RISC core start

Video encode job Job to DSP

DSP core start

Signal ?

Video Compression

process

Generate Interrupt Receive

Interrupt

Output the bitstream

Yes

No

Other processing /IDLE

Fig. 6 video encode for loosely-coupled dual-core system

這種機制還有一個缺點,就是程式設計人員必須對多媒體任務的特性有相當程度 的了解,他必須先經過相當多的資料分析和測試,才能決定哪些工作是適合 GPP 做 的,哪些工作是適合 DSP 做的,加重了程式設計人員的負擔。

2.3.2. Tightly-Coupled Dual-Core System

在 Freescale 所建議的軟體架構中(圖 5),我們可以發現 DSP 所需要負責的工作越 來越多,包含當初是 MCU 所負責的 layer2、layer3[32]。如果在這個平台上我們想要 增加一項多媒體播放或錄影的功能,按照多媒體特性的直覺,我們可能會將這一項任 務分配給 DSP 來處理。但是這真的是洽當的嗎?

當我們考慮利用雙核心平台來進行需要大量的運算的視訊壓縮時,龐大的資料處 理量(如 HDTV)可能不是 DSP 處理核心還有辦法負擔的,在不改變現有的硬體架構 下,我們希望藉由運算能力日益強大的 GPP 的幫忙來達到使用者的要求。本論文針對 多媒體視訊壓縮器提出 [Tightly-Coupled dual-core system] 的架構 (圖 6),希望在既 有的雙核心硬體平台環境下,利用 GPP 和 DSP 來平行處理視訊壓縮工作,來達到即 時性的要求。

9

RISC core start

Video encode job Job to DSP

DSP core start

Signal ?

Processing Part of task

“A”

G enerate Interrupt M ux

O utput the bitstream

Yes

No

Processing Part of task

“A”

RISC core start

Video encode job Job to DSP

DSP core start

Signal ?

Processing Part of task

“A”

G enerate Interrupt M ux

O utput the bitstream

Yes

No

Processing Part of task

“A”

Fig. 7 Video Encoder for tightly-coupled dual-core system

相關文件