-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
dsp代碼優(yōu)化等級(jí)(dsp代碼優(yōu)化等級(jí)是多少)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于dsp代碼優(yōu)化等級(jí)的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、如何將DSP和MCU兩者完美結(jié)合
按照傳統(tǒng)方式,嵌入式應(yīng)用中的數(shù)字信號(hào)處理器(DSP)相對(duì)于主微控制器(MCU)起從屬作用。在這些
應(yīng)用中,MCU用作系統(tǒng)控制器,而大量的數(shù)據(jù)處理留給DSP。例如,在音頻或視頻處理應(yīng)用中有可能需要人
機(jī)界面管理,或者是整個(gè)系統(tǒng)的控制。
設(shè)計(jì)方案選擇
為完成這些任務(wù),有幾種系統(tǒng)設(shè)計(jì)方案選擇。
第一種方案將DSP和MCU芯片組合在印制電路板(PCB)上。這種方案成本高并且占用面積大,但是可
適當(dāng)?shù)卣{(diào)整每個(gè)芯片的尺寸以最大限度地滿足系統(tǒng)需要。
第二種方案是一種將DSP和MCU組合在單個(gè)封裝內(nèi)的多芯片模塊(MCM)。這種方案的局限性是,設(shè)計(jì)
工程師必須按“50/50”的時(shí)間比例分配給控制和DSP功能;例如,一旦DSP超出時(shí)間,MCU將不能完成計(jì)算
任務(wù)。像第一種方案選擇一樣,當(dāng)DSP和MCU內(nèi)核獨(dú)立存在時(shí),需要兩套開發(fā)工具。
第三種方案是將DSP功能合并到一個(gè)MCU中。這種方案只適合于直接的信號(hào)處理應(yīng)用。MCU的時(shí)鐘頻率
和計(jì)算體系結(jié)構(gòu)根本上不太適合大量的數(shù)字處理。有些MCU試圖通過增加一個(gè)乘法和累加器(MAC)(DSP
的一個(gè)特點(diǎn))來補(bǔ)償上述不足。但是這種方案仍然缺乏高級(jí)應(yīng)用所需要的基本的“由下至上 ”的體系結(jié)
構(gòu)設(shè)計(jì) 。
最近,已經(jīng)出現(xiàn)第四種方案它是將MCU的功能合并到一個(gè)DSP中。這類方案的一個(gè)例子是美國模擬器件
公司(Anolog Device Inc.,簡(jiǎn)稱ADI)的Blackfin™ 處理器系列。這些新型處理器具有統(tǒng)一的經(jīng)過優(yōu)化的
體系結(jié)構(gòu),不僅適于數(shù)據(jù)計(jì)算,而且也適于有關(guān)的控制任務(wù)。通過平衡執(zhí)行控制任務(wù)與復(fù)雜計(jì)算的要求,
這種方案可以根據(jù)系統(tǒng)實(shí)時(shí)處理的需要,完成100%的控制或者100%的計(jì)算任務(wù)。完成所有這一切任務(wù)不需
要在DSP模式和MCU模式之間的模式轉(zhuǎn)換。
(translation of graphics)
System Control blocks=系統(tǒng)控制單元
Emulator & Test control=仿真器和測(cè)試控制
Voltage regulation=穩(wěn)壓電源
Event controller=事件控制器
Clock(PLL)=時(shí)鐘
鎖相環(huán)(PLL)
Memory dma=存儲(chǔ)器
直接存儲(chǔ)器存?。―MA)
Watchdog timer=監(jiān)視定時(shí)器
Real Time clock=實(shí)時(shí)時(shí)鐘
Core=內(nèi)核
48 KB Instruction SRAM/Cache=48 KB指令
靜態(tài)存儲(chǔ)器(SRAM)
和高速緩存
32 KB Instruction rom="32" KB指令
只讀存儲(chǔ)器(ROM)
32 KB Data SRAM/Cache=32 KB數(shù)據(jù)
靜態(tài)存儲(chǔ)器(SRAM)
和高速緩存
4 KB Scratchpad ram="4" KB
高速暫存
隨機(jī)存儲(chǔ)器(RAM)
System Interface unit=系統(tǒng)接口單元
External Memory interface=外部存儲(chǔ)器接口
High Speed I/O=高速I/O端口
Parallel Peripheral Interface/GPIO=并行外圍接口(PPI)
和通用輸入輸出接口(GPIO)
UART=通用異步收發(fā)器
SPI=串行外圍接口(SPI)
Hi-speed Serial ports=高速串行端口
PCI/USB=可編程通信接口(PCI)和通用串行總線(USB)
Timers 0/1/2=定時(shí)器0,1,2
Peripheral blocks=外圍設(shè)備單元
一類新型的DSP也提供一套R(shí)ISC指令系統(tǒng)集、存儲(chǔ)器管理單元、事件控制器和多種外設(shè)以便在一顆單
芯片內(nèi)提供大量計(jì)算和高效系統(tǒng)控制功能。
DSP與MCU比較
首先讓我們回顧一下DSP和MCU的典型功能。DSP主要是在一單個(gè)時(shí)鐘周期內(nèi)盡可能完成多個(gè)MAC(乘法
和累加)操作。為了這一點(diǎn),指令的操作代碼通常是可變的超長(zhǎng)的指令字(VLIW)。DSP也適于工作在緊
密、高效的環(huán)路中。另外,為了達(dá)到性能指標(biāo)通常需要編寫優(yōu)化的匯編代碼。由于DSP的算法程序一般裝
在小容量、短等待時(shí)間的內(nèi)置存儲(chǔ)器中,所以代碼密度通常不是大問題。
像DSP主要用于完成計(jì)算一樣,MCU主要用于完成控制功能。同樣地,典型的MCU應(yīng)用包括許多條件操
作,在程序流程中頻繁地跳轉(zhuǎn)。通常使用C或者C++語言編寫程序。代碼密度極為重要,并且根據(jù)編譯代
碼的長(zhǎng)度來評(píng)估算法。存儲(chǔ)器系統(tǒng)是基于高速緩存從而允許該系統(tǒng)設(shè)計(jì)工程師用較長(zhǎng)等待時(shí)間從較大的存
儲(chǔ)器中調(diào)用較大程序。利用基于高速緩存系統(tǒng),程序員不需要考慮如何以及何時(shí)將指令輸入到內(nèi)核去執(zhí)行
。
統(tǒng)一的DSP和MCU兼?zhèn)鋬烧叩膬?yōu)點(diǎn)。它的指令集由16 bit,32 bit和64 bit操作碼組成,但是由于最常
用的指令采用16 bit編碼,所以編譯代碼密度大小與那些流行的MCU相同。另外,它包括一個(gè)存儲(chǔ)器保護(hù)
功能以及指令高速緩存和數(shù)據(jù)高速緩存,作為整個(gè)存儲(chǔ)器管理單元(MMU)的一部分。此外,容易提供一
套完整的C/C++開發(fā)工具,提供可選匯編語言或者全部匯編語言適合算法優(yōu)化的編程。
支持RTOS
系統(tǒng)控制的一個(gè)重要方面是任務(wù)管理。實(shí)時(shí)操作系統(tǒng)(RTOS)逐漸地用于控制復(fù)雜系統(tǒng)中多種正在進(jìn)
行的和同時(shí)發(fā)生的任務(wù)。通過提供對(duì)任務(wù)調(diào)度與管理的支持,RTOS簡(jiǎn)化了編程模式,這通常是由MCU控制
的,由于普通的DSP不具備支持RTOS需要的所有功能以便有效地控制。
然而,統(tǒng)一的DSP和MCU促進(jìn)了RTOS幾個(gè)重要功能的發(fā)展。第一個(gè)是限制訪問功能以保護(hù)或者保留存儲(chǔ)
單元。第二個(gè)是配備單獨(dú)的堆棧和幀指針以減少操作系統(tǒng)(OS)請(qǐng)求以及中斷和異常處理所需的等待時(shí)間
。第三個(gè)是具備單獨(dú)的用戶操作模式和管理員操作模式。過去,DSP按照等效于管理員操作模式工作,從
而允許在任何時(shí)間完全訪問所有的系統(tǒng)資源。然而MCU提供類似的在用戶操作模式,它允許在OS的頂層運(yùn)
行應(yīng)用軟件。現(xiàn)在,在一個(gè)統(tǒng)一的體系結(jié)構(gòu)下提供兩種操作模式,因?yàn)樵鰪?qiáng)的DSP系統(tǒng)能夠限制用戶應(yīng)用
軟件僅通過OS訪問系統(tǒng)資源。
外圍設(shè)備
MCU的一個(gè)優(yōu)點(diǎn)是包含使用靈活和種類齊全的外圍設(shè)備。作為通用的嵌入式控制器,它們通常具備可
編程輸入輸出(I/O)標(biāo)志、定時(shí)器、串行接口和日益增加越來越復(fù)雜的標(biāo)準(zhǔn)接口。MCU外圍設(shè)備的主要作
用是嵌入式控制,而不是大量計(jì)算。例如,一個(gè)實(shí)時(shí)時(shí)鐘信號(hào)可以喚醒一只溫度傳感器用以采集環(huán)境溫度
并且將一個(gè)延遲的信息通過I/O引腳反饋到MCU。然后,一個(gè)定時(shí)器的脈沖寬度調(diào)制(PWM)輸出相應(yīng)地能
夠增加或者減小風(fēng)扇電機(jī)的轉(zhuǎn)速。
像MCU一樣,統(tǒng)一的DSP和MCU具備一套系統(tǒng)控制外圍設(shè)備(例如,實(shí)時(shí)時(shí)鐘、多功能定時(shí)器、監(jiān)視定
時(shí)器、雙向標(biāo)志位引腳)。然而,它還包括一些高速接口(例如,PCI、異步或者同步存儲(chǔ)器控制器、USB
、并行視頻接口)以便通過這些接口,與許多DMA通道配合快速搬移數(shù)據(jù),從而有助于有效利用高速DSP內(nèi)
核的信號(hào)處理能力。
電源管理
功耗控制一直是嵌入式控制器的一項(xiàng)功能。但是,當(dāng)系統(tǒng)要求DSP具有優(yōu)良的性能時(shí),對(duì)其電源的選
擇就不太理想。如果將獨(dú)立的MCU和DSP芯片應(yīng)用于電源敏感的場(chǎng)合,通常必須為每個(gè)芯片提供一個(gè)單獨(dú)的
開關(guān)穩(wěn)壓器,因?yàn)檫@兩個(gè)器件的內(nèi)核電壓經(jīng)常不一致。這會(huì)導(dǎo)致降低電源變換效率和增加設(shè)計(jì)器件的引腳
數(shù)目,最終增加布線的復(fù)雜程度和解決方案的成本。此外,當(dāng)MCU和DSP的內(nèi)核集成到一個(gè)芯片上時(shí),電源
解決方案本質(zhì)上不是最佳的,因?yàn)樗仨殱M足2個(gè)完全獨(dú)立并具有不同負(fù)載特性處理器的需求。
將這種情況與統(tǒng)一的DSP和MCU相比較,它包含一個(gè)集成動(dòng)態(tài)電源管理(DPM)控制器。由于它是只有
一個(gè)處理器的體系結(jié)構(gòu),所以該控制器能夠完全適合給定應(yīng)用的需求。它提供幾種固有的電源模式以支持
多種系統(tǒng)性能等級(jí)。另外,對(duì)于未使用的時(shí)鐘和L2存儲(chǔ)器可選擇性地禁止。該P(yáng)LL的頻率可在一個(gè)寬范圍
(通常1倍~31倍)進(jìn)行調(diào)節(jié),以滿足在DSP和MCU內(nèi)部多層次的處理需求。最后能夠調(diào)節(jié)電壓(外部或者
通過一個(gè)集成的開關(guān)控制器)以提供指數(shù)式的節(jié)省功耗。
由于系統(tǒng)成本、開發(fā)容易、器件采購和升級(jí)能力的原因,設(shè)計(jì)工程師正趨向采用一種單芯片解決方案
用于嵌入式信號(hào)處理解決方案。這種單芯片解決方案必須能夠同樣好地完成DSP和MCU的功能,所以有必要
提出一種統(tǒng)一的處理器體系結(jié)構(gòu)。面對(duì)MCU的挑戰(zhàn),比較簡(jiǎn)單的解決方案是將MCU的功能合并到一個(gè)高性能
的DSP內(nèi)核,而不是與此相反。當(dāng)今一個(gè)統(tǒng)一的DSP和MCU平臺(tái)(由Blackfin™ DSP系列產(chǎn)品說明)已經(jīng)投放
二、請(qǐng)問FPGA與DSP有什么區(qū)別?
請(qǐng)問FPGA與DSP有什么區(qū)別?
這么說吧
DSP是處理器,它的作用是高速執(zhí)行串行算法,數(shù)字信號(hào)處理常用。
FPGA是一塊邏輯門電路陣列,通過改變其內(nèi)部邏輯單元的鏈接,用它能夠?qū)崿F(xiàn)各種各樣的 組合數(shù)字電路。
這兩者之間沒有什么必然的聯(lián)系,但您之所以一起問 也許是因?yàn)?現(xiàn)在FPGA由于邏輯單元數(shù)量節(jié)節(jié)攀升,導(dǎo)致在一些高規(guī)格的FPGA芯片上已經(jīng)能夠?qū)崿F(xiàn)DSP處理器了(或者單片機(jī) ARM的軟核) 通過植入DSP處理器的軟核,在FPGA上能夠?qū)崿F(xiàn)靈活的設(shè)計(jì),最終節(jié)約開發(fā)設(shè)計(jì)周期和成本。
FPGA與單片機(jī),DSP,PLC,DCS有什么區(qū)別???
FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。
MCU嵌入式微控制器(Microcontroller Unit)簡(jiǎn)稱單片機(jī),是典型的集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。
FPGA與單片機(jī)比較,相當(dāng)于FPGA用EDA硬件描述語言(軟件)實(shí)現(xiàn)了單片機(jī)的硬件功能。單片機(jī)接口單一,一般只能提供TTL,CMOS等接口電平,其它的就需要外圍電路實(shí)現(xiàn);而現(xiàn)在FPGA的發(fā)展,大有超越和包含CPU的趨勢(shì),甚至能涵蓋整個(gè)系統(tǒng)——只有想不到,沒有做不到。
但是單片機(jī)簡(jiǎn)單實(shí)用,在機(jī)電工控領(lǐng)域應(yīng)用廣泛;而FPGA前途無量但復(fù)雜難學(xué)……
DSP(digital signal processor)與單片機(jī)區(qū)別在于核心的DSP核的運(yùn)算能力(信號(hào)處理能力,如時(shí)鐘頻率、加乘法器、特定事件處理硬件等)與接口控制能力等。但是也有結(jié)合了DSP與單片機(jī)的產(chǎn)品問世,可見各種優(yōu)缺點(diǎn)。關(guān)鍵看產(chǎn)品的需求了。
PLC (Programmable Logic Controller,可編程邏輯控制器)可以說是加強(qiáng)型的工業(yè)單片機(jī),可適應(yīng)于較為惡劣的工作環(huán)境。她的進(jìn)一步開發(fā),可以應(yīng)用梯形圖編寫等等方法實(shí)現(xiàn)邏輯控制等。
DCS(distributedcontrolsystems)是一種“分散式控制系統(tǒng)”,而 PLC(可編程控制器)只是一種控制“裝置”,兩者是“系統(tǒng)”與“裝置”的區(qū)別。系統(tǒng)可以實(shí)現(xiàn)任何裝置的功能與協(xié)調(diào),PLC裝置只實(shí)現(xiàn)本單元所具備的功能。
具體你可以參考其他資料,希望回答了您的問題……
GPU與DSP有什么區(qū)別
GPU英文全稱Graphic Processing Unit,中文翻譯為“圖形處理器”。GPU是相對(duì)于CPU的一個(gè)概念,由于在現(xiàn)代的計(jì)算機(jī)中(特別是家用系統(tǒng),游戲的發(fā)燒友)圖形的處理變得越來越重要,需要一個(gè)專門的圖形的核心處理器。
GPU的作用
GPU是顯示卡的“心臟”,也就相當(dāng)于CPU在電腦中的作用,它決定了該顯卡的檔次和大部分性能,同時(shí)也是2D顯示卡和3D顯示卡的區(qū)別依據(jù)。2D顯示芯片在處理3D圖像和特效時(shí)主要依賴CPU的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內(nèi),也即所謂的“硬件加速”功能。顯示芯片通常是顯示卡上最大的芯片(也是引腳最多的)?,F(xiàn)在市場(chǎng)上的顯卡大多采用NVIDIA和ATI兩家公司的圖形處理芯片。
于是NVIDIA公司在1999年發(fā)布GeForce 256圖形處理芯片時(shí)首先提出GPU的概念。GPU使顯卡減少了對(duì)CPU的依賴,并進(jìn)行部分原本CPU的工作,尤其是在3D圖形處理時(shí)。GPU所采用的核心技術(shù)有硬體T&L、立方環(huán)境材質(zhì)貼圖和頂點(diǎn)混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術(shù)可以說是GPU的標(biāo)志。
簡(jiǎn)單說GPU就是能夠從硬件上支持T&L(Transform and Lighting,多邊形轉(zhuǎn)換與光源處理)的顯示芯片,因?yàn)門&L是3D渲染中的一個(gè)重要部分,其作用是計(jì)算多邊形的3D位置和處理動(dòng)態(tài)光線效果,也可以稱為“幾何處理”。一個(gè)好的T&L單元,可以提供細(xì)致的3D物體和高級(jí)的光線特效;只大多數(shù)PC中,T&L的大部分運(yùn)算是交由CPU處理的(這就也就是所謂的軟件T&L),由于CPU的任務(wù)繁多,除了T&L之外,還要做內(nèi)存管理、輸入響應(yīng)等非3D圖形處理工作,因此在實(shí)際運(yùn)算的時(shí)候性能會(huì)大打折扣,常常出現(xiàn)顯卡等待CPU數(shù)據(jù)的情況,其運(yùn)算速度遠(yuǎn)跟不上今天復(fù)雜三維游戲的要求。即使CPU的工作頻率超過1GHz或更高,對(duì)它的幫助也不大,由于這是PC本身設(shè)計(jì)造成的問題,與CPU的速度無太大關(guān)系。
GPU與DSP的區(qū)別
GPU在幾個(gè)主要方面有別于DSP架構(gòu)。其所有計(jì)算均使用浮點(diǎn)算法,而且目前還沒有位或整數(shù)運(yùn)算指令。此外,由于GPU專為圖像處理設(shè)計(jì),因此存儲(chǔ)系統(tǒng)實(shí)際上是一個(gè)二維的分段存儲(chǔ)空間,包括一個(gè)區(qū)段號(hào)(從中讀取圖像)和二維地址(圖像中的X、Y坐標(biāo))。此外,沒有任何間接寫指令。輸出寫地址由光柵處理器確定,而且不能由程序改變。這對(duì)于自然分布在存儲(chǔ)器之中的算法而言是極大的挑戰(zhàn)。最后一點(diǎn),不同碎片的處理過程間不允許通信。實(shí)際上,碎片處理器是一個(gè)SIMD數(shù)據(jù)并行執(zhí)行單元,在所有碎片中獨(dú)立執(zhí)行代碼。
盡管有上述約束,但是GPU還是可以有效地執(zhí)行多種運(yùn)算,從線性代數(shù)和信號(hào)處理到數(shù)值仿真。雖然概念簡(jiǎn)單,但新用戶在使用GPU計(jì)算時(shí)還是會(huì)感到迷惑,因?yàn)镚PU需要專有的圖形知識(shí)。這種情況下,一些軟件工具可以提供幫助。兩種高級(jí)描影語言CG和HLSL能夠讓用戶編寫類似C的代碼,隨后編譯成碎片程序匯編語言。Brook是專為GPU計(jì)算設(shè)計(jì),且不需要圖形知識(shí)的高級(jí)語言。因此對(duì)第一次使用GPU進(jìn)行開發(fā)的工作人員而言,它可以算是一個(gè)很好的起點(diǎn)。Brook是C語言的延伸,整合了可以直接映射到GPU的簡(jiǎn)單數(shù)據(jù)并行編程構(gòu)造。經(jīng) GPU存儲(chǔ)和操作的數(shù)據(jù)被形象地比喻成“流”(stream),類似于標(biāo)準(zhǔn)C中的數(shù)組。核心(Kernel)是在流上操作的函數(shù)。在一系列輸入流上調(diào)用一個(gè)核心函數(shù)意味著在流元素上實(shí)施了隱含的循環(huán),即對(duì)每一個(gè)流元素調(diào)用核心體。Brook還提供了約簡(jiǎn)機(jī)制,例如對(duì)一個(gè)流中所有的元素進(jìn)行和、最大值或乘積計(jì)算。Brook還完全隱藏了圖形API的所有細(xì)節(jié),并把GPU中類似二維存儲(chǔ)器系統(tǒng)這樣許多用戶不熟悉的部分進(jìn)行了虛擬化處理。用Brook編寫的應(yīng)用程序包括線性代數(shù)子程序、快速傅立葉轉(zhuǎn)換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE匯編優(yōu)化Pentium 4執(zhí)行條件下,許多此類應(yīng)用的速度提升高達(dá)7倍之多。
對(duì)GPU計(jì)算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級(jí)編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優(yōu)勢(shì)。訪問GPU計(jì)算功能的便利性也使得GPU的演變將繼續(xù)下去,不僅僅作為繪制引擎,而是會(huì)成為個(gè)人電腦的主要計(jì)算引擎。
EDA 與FPGA 有什么區(qū)別
FPGA是一種芯片,EDA是電子設(shè)計(jì)自動(dòng)化的意思,是一種技術(shù),兩者談區(qū)別似乎不太恰當(dāng),利用EDA技術(shù)可以在FPGA芯片上構(gòu)造自己所需的硬件電路,EDA技術(shù)包括編寫verilog代碼或者VHDL代碼,仿真、綜合。
有人知道DSP ARM OMAP FPGA都有什么區(qū)別嗎?
老大,你問的問題太直接了吧。。。
DSP,一般用于復(fù)雜而要求實(shí)時(shí)的數(shù)字信號(hào)處理上,比如圖像處理、音頻處理等。因?yàn)槠鋬?nèi)部至少有2個(gè)ALU(邏輯運(yùn)算單元),所以其支持并行指令(并行32bit加法)。有的廠家的DSP根據(jù)其特點(diǎn),內(nèi)嵌硬件視頻、音頻處理IP。如ADI的Blackfin5xx系列DSP就內(nèi)嵌了多個(gè)視頻處理IP,對(duì)圖像處理有很快的響應(yīng)。
ARM,本人搞得不多。了解過三星的S3C6410 & 意法半導(dǎo)體的STM32F107。感覺,就內(nèi)核而言,與MCU比較接近。但是,多了DLL、cache等高性能機(jī)制。而且,根據(jù)芯片應(yīng)用不通,其還具備圖像處理、2D加速等硬件IP。ARM的控制性能應(yīng)該比DSP強(qiáng),因?yàn)槠浣涌诜N類、驅(qū)動(dòng)強(qiáng)度等更豐富吧,但高速處理能力沒有DSP強(qiáng)。畢竟DSP有多個(gè)ALU&硬件視頻、音頻處理IP。
OMAP,是TI公司的利器吧。沒怎么用過,只是了解過一點(diǎn)點(diǎn)。好像,里面集成了ARM9 + DSP了??梢哉f是嵌入式中信號(hào)處理與外設(shè)控制的很好結(jié)合了。但是IC的價(jià)格也很給力,200多RMB!
FPGA,最后說說它吧。在相同頻率下,任何CPU對(duì)外界信號(hào)的響應(yīng)都沒有FPGA快!因?yàn)镃PU對(duì)外界的響應(yīng),尤其是中斷,需要幾個(gè)機(jī)器周期,中斷下甚至還得進(jìn)行壓棧過程!而FPGA就沒有這些瑣事了,其運(yùn)行完全按照同步時(shí)鐘來的。CPU不是基于同步電路設(shè)計(jì)的,其執(zhí)行是按照指令周期為最小時(shí)間單位(即使使用指令流水)。FPGA完全基于同步電路設(shè)計(jì),其執(zhí)行完全按照電路的時(shí)鐘進(jìn)行的,其沒有指令的。所以,F(xiàn)PGA最適合做高速編碼與解碼、視頻緩沖接口等邏輯不是很復(fù)雜,但是對(duì)時(shí)間要求很嚴(yán)格的場(chǎng)合。
這里,只能簡(jiǎn)單的講一講了,具體的關(guān)系很是很復(fù)雜很有內(nèi)容的。
請(qǐng)問co *** osworks與COSMOS有什么區(qū)別
我理解co *** osworks是COSMOS的一部分,co *** osworks是分析用的,還有co *** o *** otion等,應(yīng)該都是co *** os的一部分 查看原帖>>
請(qǐng)問: ourself 與ourselves有什么區(qū)別
ourselves
pron.
1. (反身代詞)我們自己
We have bought ourselves a new house.
我們給自己買了一棟新房子。
2. (用以加強(qiáng)語氣)我們親自,我們本人
We have a bathroom to ourselves.
我們自己有一間浴室,不必和人共用。
We did it by ourselves.
我們自己做了。
We ourselves built the house.
我們自己造的房子。
We renovated the old furniture ourselves.
我們自己動(dòng)手把舊家具整修如新。
3. 我們正常的情緒;我們的正常健康狀況
ourself
pron.
1. 本人
都是代詞,唯一的區(qū)別就是,ourself只有一個(gè)意思吧?。?/p>
請(qǐng)問know of 與know有什么區(qū)別?
■know作“認(rèn)識(shí)”、“知道”解
例句:
1.I know your brother but not your sister.
我認(rèn)識(shí)你的弟弟, 但不認(rèn)識(shí)你的妹妹。
2.We've known each other eight years.
我們相識(shí)已有八年了。
■know of 作“ 聽說過”、“ 略知”解。
例句:
1.Do you know Mr Morrison? No, but I know of him.
你認(rèn)識(shí)莫里森先生嗎? 不認(rèn)識(shí), 但是我聽說過他。
2.I know o f Mr. Edward McCrath, of couse. But I don't know him.
我當(dāng)然聽說過愛德華·麥克拉斯先生,但是我不認(rèn)識(shí)他。
請(qǐng)問PET與APET有什么區(qū)別?
pet分為纖維級(jí)和非纖維級(jí)的聚酯切片統(tǒng)稱,非纖維級(jí)還有瓶,薄膜,等!apet是和pvc做對(duì)比的,比pvc強(qiáng)度高百分之20以上,apet可以用做膠片,食品包裝,建筑,汽車等上面的應(yīng)用,(120度范圍可以長(zhǎng)期使用,短期可以在150度范圍使用,)可以阻擋紫外線等功能!
請(qǐng)問innerHTML與innerTest有什么區(qū)別?
一樓的說法已經(jīng)非常明確了,innerHTML就是在JS里加入HTML標(biāo)簽代碼。而innerText則是插入文本內(nèi)容。至于簡(jiǎn)單實(shí)例,我留了個(gè)地址給你,你看看。
三、dsp信息流優(yōu)化是什么?
就是出價(jià)和創(chuàng)意的優(yōu)化,說簡(jiǎn)單點(diǎn)就是怎樣做才是最好的
四、對(duì)DSP而言,CCS用C語言編程和匯編編程,二者的效率相差多少?
我用的是28XX系列的,不知道經(jīng)驗(yàn)對(duì)你有沒有用,因?yàn)椴煌盗械男酒嗌儆行┎顒e。
TI提供的庫已經(jīng)相當(dāng)可以了,兼顧易用與效率。我當(dāng)時(shí)做過這樣的測(cè)試
1. 用IQMATH實(shí)現(xiàn)
2. 直接C語言實(shí)現(xiàn)
3. C語言優(yōu)化實(shí)現(xiàn)
4. 原生匯編實(shí)現(xiàn)
IQMATH的運(yùn)行周期在1000左右,比方案3快幾十個(gè)周期,比方案4慢幾個(gè)周期,方案2是10000多個(gè)周期。
另外,因?yàn)橹皇菃为?dú)測(cè)的算法,匯編之所以快是快在寄存器的使用上,操作數(shù)可以直接入寄存器,但是考慮到程序其他部分是用C語言編寫的話,把操作棧的時(shí)間也加上,并不比方案1快。畢竟我對(duì)TI的匯編吃的也不透。
在編寫上,無疑是方案1提供了最接近C語言風(fēng)格的實(shí)現(xiàn),幾乎不用考慮ISA方面的問題。
另外對(duì)于執(zhí)行效率,我覺得主要考慮三點(diǎn):
1.分支的使用
CCS對(duì)C語言的優(yōu)化我沒做過太多比對(duì)。其實(shí)單從反匯編的結(jié)果看,我接觸過的嵌入式開發(fā)環(huán)境的編譯器都能做出很好的優(yōu)化。但是幾乎每個(gè)編譯器都會(huì)在邏輯的優(yōu)化上有欠缺——它只能對(duì)一些顯而易見的判斷條件進(jìn)行優(yōu)化,而在寫程序的過程中,我們經(jīng)常出于易讀性的考慮,或者穩(wěn)定性的考慮,或者其他的考慮加入幾乎不會(huì)發(fā)生的分支,這樣的分支判斷會(huì)消耗一定比率的代碼段執(zhí)行效率,視乎代碼段內(nèi)有用功能的長(zhǎng)度而定,越長(zhǎng)這個(gè)比率越小,越短這個(gè)比率越高。
2.一般操作,就是各種賦值操作
在一般的操作上,編譯器的優(yōu)化已經(jīng)很令人滿意了,基本上可以作為編寫匯編的范本。我覺得所謂效率能達(dá)到90%就是針對(duì)這個(gè)部分說的。
3.特殊操作,比如對(duì)整塊內(nèi)存的操作,或者是浮點(diǎn)運(yùn)算上。
在一些特殊的操作上,就要看是否有現(xiàn)成的庫,或者看硬件是否支持。比如對(duì)整塊內(nèi)存操作就別用循環(huán)一個(gè)字節(jié)一個(gè)字節(jié)的搬了。
以上三點(diǎn)都能考慮到的話,相信執(zhí)行效率方面已經(jīng)沒有太大的提升空間了。
另外如果你的代碼發(fā)生在初始化部分,也就是只在系統(tǒng)運(yùn)行開始的時(shí)候運(yùn)行一次,那么優(yōu)化不優(yōu)化其實(shí)沒有太大的必要,除非你對(duì)系統(tǒng)初始化的時(shí)間有嚴(yán)格的要求。但是如果你的代碼是作為任務(wù)要被反復(fù)運(yùn)行的,那就有優(yōu)化的必要了。
在CCS里有代碼消耗時(shí)鐘周期的統(tǒng)計(jì),如果你覺得某段代碼效率低下的話,可以先分段進(jìn)行消耗時(shí)鐘周期的計(jì)算,這樣優(yōu)化比較有針對(duì)性。
以上就是關(guān)于dsp代碼優(yōu)化等級(jí)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
什么都可以看的瀏覽器(免費(fèi)的adspower指紋瀏覽器)