ADSP2106x中并行處理指令的應(yīng)用技巧
發(fā)布時(shí)間:2007/8/20 0:00:00 訪問(wèn)次數(shù):450
摘要:ADSP2106x是AD公司推出的一款性能優(yōu)秀的高速DSP處理芯片,具有多個(gè)并行的內(nèi)部處理單元和豐富的并行指令,本文主要介紹該DSP芯片中并行運(yùn)算處理指令的應(yīng)用技巧。
關(guān)鍵詞:DSP
并行處理指令 ADSP2106x
引言
根據(jù)處理器芯片的指令及其實(shí)現(xiàn)形式,我們可以把處理器芯片分為復(fù)雜指令系統(tǒng)(CISC)和精簡(jiǎn)指令系統(tǒng)(RISC),前者追求單條指令的強(qiáng)大功能以簡(jiǎn)化編程;后者強(qiáng)調(diào)指令的簡(jiǎn)化以提高硬件效率。由于RISC具有指令長(zhǎng)度一致、單周期執(zhí)行時(shí)間、易于并行和流水線處理等優(yōu)點(diǎn),絕大多數(shù)的DSP處理芯片都采用了RISC。另外,根據(jù)計(jì)算機(jī)的存儲(chǔ)器結(jié)構(gòu)及其總線連接形式,計(jì)算機(jī)系統(tǒng)可以被分為馮諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),前者共用數(shù)據(jù)存儲(chǔ)空間和程序存儲(chǔ)空間,共用存儲(chǔ)器總線;后者具有分離的數(shù)據(jù)和程序空間及分離的訪問(wèn)總線。由于哈佛結(jié)構(gòu)在指令執(zhí)行時(shí),取指和取數(shù)可以并行,因此具有更高的執(zhí)行效率,所以大多數(shù)的DSP芯片都采用了哈佛結(jié)構(gòu)。
ADSP2106x就是一款采用超級(jí)哈佛結(jié)構(gòu)和RISC的DSP處理芯片,其強(qiáng)大的浮點(diǎn)、定點(diǎn)運(yùn)算功能和大容量的片內(nèi)存儲(chǔ)器,使其可以勝任苛刻的實(shí)時(shí)信號(hào)處理任務(wù);而它豐富的外部接口和10個(gè)通道的DMA可以使所處理數(shù)據(jù)的暢通無(wú)阻[1];再加上片內(nèi)的仲裁邏輯,6個(gè)ADSP2106x和一個(gè)主機(jī)可以很容易連在一起構(gòu)成一個(gè)并行處理系統(tǒng)。利用ADSP2106x可以開發(fā)出功能很強(qiáng)的信號(hào)處理系統(tǒng)[2]。
雖然ADSP2106x芯片本身提供了優(yōu)異的性能,但該性能的發(fā)揮離不開軟件編程的支持。比如,ADSP2106x的峰值運(yùn)算速度可達(dá)120MFLOPS(主頻40MHz),即在一個(gè)時(shí)鐘周期內(nèi)可以完成一次乘法、一次加法和一次減法,但這三個(gè)并行運(yùn)算指令是需要合理安排才能實(shí)現(xiàn)的。另外,由于芯片內(nèi)部采用了超級(jí)哈佛結(jié)構(gòu),因此可以在一定條件下同時(shí)存取兩個(gè)數(shù)據(jù),但這也需要合理安排數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器中的放置,才能使并行的存取指令有效。
本文主要介紹ADSP2106x中并行指令的一些應(yīng)用技巧,重點(diǎn)針對(duì)并行運(yùn)算指令和數(shù)據(jù)存取指令。通過(guò)這些技巧的應(yīng)用,可以提高編程效率,充分發(fā)揮硬件潛力,同時(shí)對(duì)ADSP2106x的內(nèi)部結(jié)構(gòu)有更為深入的了解。
ADSP2106x中的運(yùn)算處理單元
ADSP2106x中的核心處理部分包含了三個(gè)運(yùn)算單元:ALU、乘法器和移位器,它們與寄存器組間的連接關(guān)系如圖1所示[3]。三個(gè)運(yùn)算單元的功能如下:
(1)ALU單元:定點(diǎn)、浮點(diǎn)加減法和求平均;邏輯運(yùn)算;求絕對(duì)值、最大值、最小值、限幅、比較;定點(diǎn)<-->浮點(diǎn)轉(zhuǎn)換。
(2)乘法器:浮點(diǎn)乘法;定點(diǎn)乘法及乘法累加。
(3)移位器:移位操作;位操作;位場(chǎng)(bit field)提取和存儲(chǔ)。
ADSP2106x中三個(gè)運(yùn)算處理單元的數(shù)據(jù)通道只與寄存器組相連,而不能直接從存儲(chǔ)器中存取操作數(shù),這是典型的RISC結(jié)構(gòu),這種結(jié)構(gòu)往往需要大量的寄存器來(lái)存儲(chǔ)和交換中間結(jié)果,ADSP2106x中具有32個(gè)寄存器,其中16個(gè)工作于前臺(tái),16個(gè)工作于后臺(tái)。乘法器從兩個(gè)寄存器輸入操作數(shù),把結(jié)果存入另一個(gè)寄存器;移位器從3個(gè)寄存器輸入數(shù)據(jù),把一個(gè)結(jié)果存入另一個(gè)寄存器;ALU從兩個(gè)寄存器輸入操作數(shù),把兩個(gè)運(yùn)算結(jié)果分別存入另兩個(gè)寄存器。
寄存器可以在一個(gè)時(shí)鐘周期內(nèi)從數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器中各存取1個(gè)數(shù)據(jù),這正是ADSP2106x超級(jí)哈佛結(jié)構(gòu)的優(yōu)勢(shì)。另外,運(yùn)算單元的運(yùn)算與寄存器的存取可以并行不悖,但在編程時(shí),這種并行往往伴隨一個(gè)流水線的過(guò)程。
&
摘要:ADSP2106x是AD公司推出的一款性能優(yōu)秀的高速DSP處理芯片,具有多個(gè)并行的內(nèi)部處理單元和豐富的并行指令,本文主要介紹該DSP芯片中并行運(yùn)算處理指令的應(yīng)用技巧。
關(guān)鍵詞:DSP
并行處理指令 ADSP2106x
引言
根據(jù)處理器芯片的指令及其實(shí)現(xiàn)形式,我們可以把處理器芯片分為復(fù)雜指令系統(tǒng)(CISC)和精簡(jiǎn)指令系統(tǒng)(RISC),前者追求單條指令的強(qiáng)大功能以簡(jiǎn)化編程;后者強(qiáng)調(diào)指令的簡(jiǎn)化以提高硬件效率。由于RISC具有指令長(zhǎng)度一致、單周期執(zhí)行時(shí)間、易于并行和流水線處理等優(yōu)點(diǎn),絕大多數(shù)的DSP處理芯片都采用了RISC。另外,根據(jù)計(jì)算機(jī)的存儲(chǔ)器結(jié)構(gòu)及其總線連接形式,計(jì)算機(jī)系統(tǒng)可以被分為馮諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),前者共用數(shù)據(jù)存儲(chǔ)空間和程序存儲(chǔ)空間,共用存儲(chǔ)器總線;后者具有分離的數(shù)據(jù)和程序空間及分離的訪問(wèn)總線。由于哈佛結(jié)構(gòu)在指令執(zhí)行時(shí),取指和取數(shù)可以并行,因此具有更高的執(zhí)行效率,所以大多數(shù)的DSP芯片都采用了哈佛結(jié)構(gòu)。
ADSP2106x就是一款采用超級(jí)哈佛結(jié)構(gòu)和RISC的DSP處理芯片,其強(qiáng)大的浮點(diǎn)、定點(diǎn)運(yùn)算功能和大容量的片內(nèi)存儲(chǔ)器,使其可以勝任苛刻的實(shí)時(shí)信號(hào)處理任務(wù);而它豐富的外部接口和10個(gè)通道的DMA可以使所處理數(shù)據(jù)的暢通無(wú)阻[1];再加上片內(nèi)的仲裁邏輯,6個(gè)ADSP2106x和一個(gè)主機(jī)可以很容易連在一起構(gòu)成一個(gè)并行處理系統(tǒng)。利用ADSP2106x可以開發(fā)出功能很強(qiáng)的信號(hào)處理系統(tǒng)[2]。
雖然ADSP2106x芯片本身提供了優(yōu)異的性能,但該性能的發(fā)揮離不開軟件編程的支持。比如,ADSP2106x的峰值運(yùn)算速度可達(dá)120MFLOPS(主頻40MHz),即在一個(gè)時(shí)鐘周期內(nèi)可以完成一次乘法、一次加法和一次減法,但這三個(gè)并行運(yùn)算指令是需要合理安排才能實(shí)現(xiàn)的。另外,由于芯片內(nèi)部采用了超級(jí)哈佛結(jié)構(gòu),因此可以在一定條件下同時(shí)存取兩個(gè)數(shù)據(jù),但這也需要合理安排數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器中的放置,才能使并行的存取指令有效。
本文主要介紹ADSP2106x中并行指令的一些應(yīng)用技巧,重點(diǎn)針對(duì)并行運(yùn)算指令和數(shù)據(jù)存取指令。通過(guò)這些技巧的應(yīng)用,可以提高編程效率,充分發(fā)揮硬件潛力,同時(shí)對(duì)ADSP2106x的內(nèi)部結(jié)構(gòu)有更為深入的了解。
ADSP2106x中的運(yùn)算處理單元
ADSP2106x中的核心處理部分包含了三個(gè)運(yùn)算單元:ALU、乘法器和移位器,它們與寄存器組間的連接關(guān)系如圖1所示[3]。三個(gè)運(yùn)算單元的功能如下:
(1)ALU單元:定點(diǎn)、浮點(diǎn)加減法和求平均;邏輯運(yùn)算;求絕對(duì)值、最大值、最小值、限幅、比較;定點(diǎn)<-->浮點(diǎn)轉(zhuǎn)換。
(2)乘法器:浮點(diǎn)乘法;定點(diǎn)乘法及乘法累加。
(3)移位器:移位操作;位操作;位場(chǎng)(bit field)提取和存儲(chǔ)。
ADSP2106x中三個(gè)運(yùn)算處理單元的數(shù)據(jù)通道只與寄存器組相連,而不能直接從存儲(chǔ)器中存取操作數(shù),這是典型的RISC結(jié)構(gòu),這種結(jié)構(gòu)往往需要大量的寄存器來(lái)存儲(chǔ)和交換中間結(jié)果,ADSP2106x中具有32個(gè)寄存器,其中16個(gè)工作于前臺(tái),16個(gè)工作于后臺(tái)。乘法器從兩個(gè)寄存器輸入操作數(shù),把結(jié)果存入另一個(gè)寄存器;移位器從3個(gè)寄存器輸入數(shù)據(jù),把一個(gè)結(jié)果存入另一個(gè)寄存器;ALU從兩個(gè)寄存器輸入操作數(shù),把兩個(gè)運(yùn)算結(jié)果分別存入另兩個(gè)寄存器。
寄存器可以在一個(gè)時(shí)鐘周期內(nèi)從數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器中各存取1個(gè)數(shù)據(jù),這正是ADSP2106x超級(jí)哈佛結(jié)構(gòu)的優(yōu)勢(shì)。另外,運(yùn)算單元的運(yùn)算與寄存器的存取可以并行不悖,但在編程時(shí),這種并行往往伴隨一個(gè)流水線的過(guò)程。
&
熱門點(diǎn)擊
- 采用SAA7110和AL250集成芯片TV/
- 分形圖像壓縮
- 新一代數(shù)字信號(hào)處理器TMS320C55X
- 閉路電視數(shù)字視頻編解碼器ADV611/ADV
- TMS320LF240x DSP控制器的應(yīng)用
- DTMF信號(hào)收、發(fā)芯片MT8888原理及應(yīng)用
- PC微機(jī)與松下FPIPLC遠(yuǎn)程通信的與實(shí)現(xiàn)
- 卷積編譯碼盤的設(shè)計(jì)與實(shí)現(xiàn)
- 用TMS320LF2407和FPGA實(shí)現(xiàn)電能
- 自適應(yīng)計(jì)算減少Q(mào)CELP功率
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究