• 沒有找到結果。

在數位化時代來臨後,高速運算的需求增加,而 SoC 更掀起數位與類比間相互轉換的整 合風潮。在市場的帶動下所提升對資料處理的需求,再加上 DSP 在技術上的發展和對於商 品在成本和上市時程的考量下,使得 DSP 在不同領域中被廣泛的運用。TMS320C6701 DSP 為 VelociTI VLIW (Very-Long-Instruction-Word) CPU 架構之浮點運算處理器,在 167 MHz 的 時脈下,運算速度可達每秒 10

9

次浮點運算,其架構大致分為中央處理器(CPU)、記憶體與 週邊元件等三大部分[9][10],吾人將分別介紹之。

(a) TMS320C6701 之 CPU 結構解說

圖十四為 TMS320C6701 DSP 結構方塊圖,包含 CPU、記憶體及內部周邊元件。此 DSP 採用 VelociTI VLIW 之高效能 CPU 結構,圖十五為此 DSP 之 CPU 結構圖,其具有兩組功能 單 元 (function unit) 及 兩 組 一 般 暫 存 器 (register file A , register file B) , 功 能 單 元 分 別 為.L1、.L2、.S1、.S2 及.M1、.M2、.D1、.D2,介紹如下:

(1) L1、.L2:邏輯運算器、計數器

(2) S1、.S2:位元移位(bit Shift)、分枝(branch)程式碼執行 (3) M1、.M2:乘法器

(4) D1、.D2:線性、環狀定址器

兩組一般暫存器各自包含 16 個 32 位元暫存器,可支援 16 位元至 40 位元之固定點(fixed point)資料處理及支援 16 位元至 64 位元之浮點(floating point)資料處理。

19

(b) TMS320C6701 記憶體之解說

C6701 DSP 使用 32-bit 之位址線,理論上可定址至 4G Bytes 之記憶體,不過其規劃如圖 十六所示,包括 64 Kbytes 內部程式記憶體(internal program memory)、64 Kbytes 內部資料記 憶體(internal data memory)及 52 Mbytes 之外部記憶體(external memory),另有部分位址留做 周邊控制用。

(1) 內部程式記憶體:由程式記憶體控制器(Program Memory Controller, PMEMC)設定其 工作模式,包括

I. 快取模式(cache mode):所有記憶體被定義為快取記憶體,分為 2K 個 256-bit 的快取線(cache line)供 CPU 存取程式碼,其架構如圖十七所示。而在快取模式 中,直接記憶體控制器(Direct Memory Access Controller, DMA controller)無法存 取此區塊之資料。

II. 映射模式(mapped mode):記憶體區塊為分 Map 0 和 Map 1 兩種定義。當定義為 Map 0 時,位址 0x01400000h 至 0x0140FFFFh 為程式記憶體;當定義為 Map 1 時位址 0x00000000h 至 0x0000FFFFh 為程式記憶體。在映射模式中,CPU 和 DMA controller 皆可存取程式記憶體任意位址,但 CPU 之存取優先權較 DMA controller 為高,若兩者同時存取同一位址,DMA controller 需在 CPU 存取完成 後才可執行存取動作。

(2) 內部資料記憶體:由資料記憶體控制器(Data MEMory Controller, DMEMC)將記憶體 分為各 32 Kbytes 之兩大區塊,每一區塊再細分為 8 個槽,每個槽提供 2 Khalfword (1 halfword = 16 bits)的儲存空間(圖十八)。

CPU 和 DMA 控制器可以同時存取在相同區塊,相同槽中相鄰的 16-bit 資料,並不因此 產生衝突而造成 CPU 效能的降低。

(c) TMS320C6701 之周邊元件解說

周 邊 元 件 將 簡 單 介 紹 包 含 外 部 記 憶 體 存 取 介 面 (External Memory access Interface, EMIF)、DMA、主電腦埠介面(Host Port Interface, HPI)及中斷(interrupt)訊號。

(1) EMIF:此 DSP 之 EMIF 支援四個記憶體空間,分別是 CE0,CE1,CE2,CE3,可

20

支援許多不同的外部元件,包括同步靜態記憶體(Synchronous Burst Static Random Access Memory, SBSRAM)、非同步靜態記憶體(Asynchronous Static Random Access Memory, ASRAM)、同步動態記憶體(Synchronous Dynamic Random Access Memory, SDRAM),唯讀記憶體(Read Only Memory, ROM)及先進先出元件(First In First Out, FIFO)等,其中 CE1 只支援非同步記憶體元件。EMIF 可接受不同的服務要求,如 圖十九,分別是程式記憶體控制器要求 CPU 執行程式存取,資料記憶體控制器要 求 CPU 執行資料存取以及 DMA 控制器要求資料存取。

(2) DMA:利用 DMA 可以不必透過 CPU 而存取內部記憶體間的資料、內部周邊的資 料及外部周邊的資料。此 DSP 包含四條 DMA 通道以及一條輔助通道(auxiliary channel),其中四條 DMA 可同時執行四種不同的 DMA 操作,輔助通道可提供 HPI 跟 CPU 要求記憶體空間。

(3) HPI:HPI 為提供主電腦直接存取 DSP 之 CPU 記憶體空間的介面,其提供主電腦和 DSP 之間 16 位元之資料傳輸埠,由於此 DSP 之 32 位元字元架構,主電腦送兩個 連續 16 位元的半字元為 DSP 接收之一個字元。

(4) 中斷訊號:DSP 所處的發展環境,常與外部之非同步元件連接,此時 DSP 與此非 同步元件需要一套機制以協調相互間工作之先後,中斷訊號即用來達成此一機制。

此 DSP 有三種中斷訊號,分別是重置(reset)、可屏蔽中斷(maskable interrupt)及非屏 蔽中斷(Nonmaskable Interrupt, NMI)。重置是用來中斷 CPU 使其回到某已知之狀 態;NMI 是當硬體出現問題,對 CPU 提出警訊的中斷訊號;可屏蔽中斷訊號包含 INT4- INT15,其中 INT4-INT7 是 DSP 與外界界面的中斷訊號,INT8-INT15 是 DSP 內部周邊的中斷訊號。欲使用 INT4-INT15 中斷訊號,必須對控制狀態暫存器 (Control State Register, CSR)(圖二十)及中斷致能暫存器(Interrupt Enable Register, IER)(圖二十一)作以下之設定:將 CSR 中的宇中斷致能(Global Interrupt Enable, GIE) 設為 1;將 IER 中的 NMI 設為 1;將 IER 中欲使用的中斷訊號暫存器的中斷致能 (Interrupt Enable, IE)設為 1。

21

相關文件