<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSP處理器與通用處理器的比較

          DSP處理器與通用處理器的比較

          作者: 時間:2016-12-21 來源:網(wǎng)絡(luò) 收藏

          DSP處理器通用處理器的比較

          1 對密集的乘法運算的支持

          GPP不是設(shè)計來做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。
          同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。

          2 存儲器結(jié)構(gòu)
          傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期。
          大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時對它們進行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實現(xiàn)單周期的MAC指令。
          還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。
          GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問。在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中。程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線。
          此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存。這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復(fù)使用。

          3 零開銷循環(huán)
          如果了解到DSP算法的一個共同的特點,即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán)。所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1。
          與此相反,GPP的循環(huán)使用軟件來實現(xiàn)。某些高性能的GPP使用轉(zhuǎn)移預(yù)報硬件,幾乎達到與硬件支持的零開銷循環(huán)同樣的效果。

          4 定點計算
          大多數(shù)DSP使用定點計算,而不是使用浮點。雖然DSP的應(yīng)用必須十分注意數(shù)字的精確,用浮點來做應(yīng)該容易的多,但是對DSP來說,廉價也是非常重要的。定點機器比起相應(yīng)的浮點機器來要便宜(而且更快)。為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。

          5 專門的尋址方式
          DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的。例如,模塊(循環(huán))尋址(對實現(xiàn)數(shù)字濾波器延時線很有用)、位倒序?qū)ぶ罚▽FT很有用)。這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn)。

          6 執(zhí)行時間的預(yù)測
          大多數(shù)的DSP應(yīng)用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴格的實時應(yīng)用,所有的處理必須在指定的時間內(nèi)完成。這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間。
          如果打算用低成本的GPP去完成實時信號處理的任務(wù),執(zhí)行時間的預(yù)測大概不會成為什么問題,應(yīng)為低成本GPP具有相對直接的結(jié)構(gòu),比較容易預(yù)測執(zhí)行時間。然而,大多數(shù)實時DSP應(yīng)用所要求的處理能力是低成本GPP所不能提供的。
          這時候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預(yù)測和推理執(zhí)行等。因此,由一段給定的代碼來預(yù)測所要求的執(zhí)行時間是完全直截了當?shù)?。從而使程序員得以確定芯片的性能限制。

          7 定點DSP指令集
          定點DSP指令集是按兩個目標來設(shè)計的:
          使處理器能夠在每個指令周期內(nèi)完成多個操作,從而提高每個指令周期的計算效率。
          將存貯DSP程序的存儲器空間減到最?。ㄓ捎诖鎯ζ鲗φ麄€系統(tǒng)的成本影響甚大,該問題在對成本敏感的DSP應(yīng)用中尤為重要)。
          為了實現(xiàn)這些目標,DSP處理器的指令集通常都允許程序員在一個指令內(nèi)說明若干個并行的操作。例如,在一條指令包含了MAC操作,即同時的一個或兩個數(shù)據(jù)移動。在典型的例子里,一條指令就包含了計算FIR濾波器的一節(jié)所需要的所有操作。這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。
          GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言。而對于DSP的程序員來說,不幸的是主要的DSP應(yīng)用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的)。這里有兩個理由:首先,大多數(shù)廣泛使用的高級語言,例如C,并不適合于描述典型的DSP算法。其次,DSP結(jié)構(gòu)的復(fù)雜性,如多存儲器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器。
          即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務(wù)仍然很重。典型的DSP應(yīng)用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優(yōu)化必不可少(至少是對程序的最關(guān)鍵部分)。因此,考慮選用DSP的一個關(guān)鍵因素是,是否存在足夠的能夠較好地適應(yīng)DSP處理器指令集的程序員。

          8 開發(fā)工具的要求
          因為DSP應(yīng)用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作。例如,大多數(shù)廠商都提供處理器的仿真工具,以準確地仿真每個指令周期內(nèi)處理器的活動。無論對于確保實時操作還是代碼的優(yōu)化,這些都是很有用的工具。
          GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息。GPP缺乏精確到指令周期的仿真工具,是DSP應(yīng)用開發(fā)者所面臨的的大問題:由于幾乎不可能預(yù)測高性能GPP對于給定任務(wù)所需要的周期數(shù),從而無法說明如何去改善代碼的性能。


          微處理器(Microprocessor)的分類

          通用處理器(GPP)

          采用馮.諾依曼結(jié)構(gòu),程序和數(shù)據(jù)的存儲空間合二而一
          8-bit Apple(6502),NEC PC-8000(Z80)
          8086/286/386/486/Pentium/Pentium II/ Pentium III
          PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP)
          CISC 復(fù)雜指令計算機, RISC 精簡指令計算機
          采取各種方法提高計算速度,提高時鐘頻率,高速總線,多級Cashe,協(xié)處理器等

          Single Chip Computer/ Micro Controller Unit(MCU)

          除開通用CPU所具有的ALU和CU,還有存儲器(RAM/ROM)寄存器,時鐘,計數(shù)器,定時器,串/并口,有的還有A/D,D/A
          INTEL MCS/48/51/96(98)
          MOTOROLA HCS05/011

          DSP

          采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)分開存儲
          采用一系列措施保證數(shù)字信號的處理速度,如對FFT的專門優(yōu)化


          MCU與DSP的簡單比較

          MCU DSP
          低檔 高檔 低檔 高檔
          指令周期(ns) 600 40 50 5
          乘加時間(ns) 1900 80 50 5
          US$/MIPS 1.5 0.5 0.15 0.1


          飛速發(fā)展的數(shù)字信號處理器
            由于超大規(guī)模集成電路技術(shù)的迅猛發(fā)展,過去二十年中,數(shù)字信號處理技術(shù),即DSP(Digital Signal Processor)技術(shù)也得到了突飛猛進的發(fā)展,這種發(fā)展趨勢在今后十年內(nèi)仍將保持下去。據(jù)世界半導體貿(mào)易統(tǒng)計組織發(fā)布的統(tǒng)計與預(yù)測報告,2001~2006年可編程DSP市場的預(yù)期增長率為27.2%。預(yù)期2006年DSP市場將達到141.9億美元,且增長率是逐年遞增的,2005年的增長率預(yù)期為34%。到2010年,DSP芯片的集成度將會提高11倍,單個芯片上將會集成5億只晶體管。目前DSP的生產(chǎn)工藝正在由0.35μm轉(zhuǎn)向0.25μm、0.18μm、0.13μm,到2005年可能達到0.075μm。

             集成度的提高使得硅片的面積進一步縮小,從而導致DSP芯片成本降低,價格下降。價格下降促使需求的上升和應(yīng)用領(lǐng)域的擴展。DSP已從軍用轉(zhuǎn)向民用,在計算機、通信、消費類電子產(chǎn)品方面即所謂3C領(lǐng)域得到了廣泛的應(yīng)用。DSP在通信領(lǐng)域應(yīng)用最多,占72%,計算機占3%,消費類、辦公自動化各占2%,從趨勢上看,工業(yè)(特別是變頻電機控制)中的應(yīng)用,以及消費類產(chǎn)品中應(yīng)用的份額會有所上升。
            在通信領(lǐng)域,DSP產(chǎn)品涵蓋了從3G無線基站到無線局域網(wǎng)的廣泛應(yīng)用,數(shù)字化電視也離不開DSP。DSP在語言處理中的應(yīng)用也是盡人皆知的,包括語言的壓縮與解壓,語言的合成,語言的識別等。
            計算機的硬盤驅(qū)動器在使用DSP技術(shù)以后可大大提高存取速度,提高容量和縮小體積,以至于今后有可能用于掌上電腦。在PC機中,DSP可加速圖形處理功能。以后的PC機,可能每臺PC中含有不只一顆DSP芯片。在計算機外設(shè)中,激光打印機、掃描儀、光盤機等需要大量數(shù)據(jù)傳輸?shù)脑O(shè)備,都有可能用到DSP技術(shù)。
            DSP技術(shù)發(fā)展的另一趨勢是速度更快,功耗更低,DSP片外的速度能達到幾十兆赫已經(jīng)近于極限,為了降低系統(tǒng)的噪聲,提高系統(tǒng)抗干擾能力,片外時鐘有進一步降低的趨勢,即外部使用幾兆赫的振蕩器就夠了,而片內(nèi)則用壓控振蕩器加鎖相環(huán)的技術(shù),把片內(nèi)時鐘速度提高到100MHz、200MHz乃至更高,會有更多的DSP片內(nèi)時鐘達到1GHz。預(yù)期到2010年,同類水平的DSP的功耗將降到原來的1/3。
          DSP與CPU
            如果用普通計算機中的CPU來處理算法,做乘法和加法都要調(diào)用相應(yīng)的乘法、加法函數(shù),如果是浮點數(shù)運算,通常CPU需要將浮點運算交給協(xié)處理處理,雖然協(xié)處理器的浮點運算速度可能很快,但加上CPU將輸入?yún)?shù)傳出,再將運算結(jié)果取回的時間,會顯得速度很慢;做循環(huán)時,要有循環(huán)變量,每次循環(huán)變量加1后再判斷是否已經(jīng)循環(huán)了n次,這一過程是比較慢的。

            而DSP則在硬件設(shè)計上針對這類計算采取了一些獨特的設(shè)計,以求最快的運算速度,以至于趨于模擬電路的延遲時間。
            DSP能在一個時鐘周期內(nèi)完成乘法和加法運算,并能并行地同時將下面運算要用到的兩個參數(shù)傳入相應(yīng)的運算用寄存器。在乘法及乘加指令的執(zhí)行方式上,DSP的小數(shù)乘法在算法上分定點算法DSP與浮點算法DSP。在定點類DSP中,小數(shù)點的位置是固定的,不論定點的DSP還是浮點的DSP,乘法器都是用硬件邏輯完成的,乘法可以在一個指令周期內(nèi)完成。
            在循環(huán)方面,DSP有諸如重復(fù)n次(Repeat n),或循環(huán)n次(DO Loop n)等指令,使DSP能迅速完成n次循環(huán),而不必每次都檢查是不是已經(jīng)循環(huán)n次了。這就是DSP在做數(shù)字信號處理方面的優(yōu)勢與獨到之處。也是DSP區(qū)別于CPU的地方。
            DSP與CPU在結(jié)構(gòu)方面的另一區(qū)別是,DSP往往采用哈佛結(jié)構(gòu),而傳統(tǒng)的CPU多為馮.諾曼結(jié)構(gòu)(Von Neuman)。馮.諾曼結(jié)構(gòu)指的是將程序與數(shù)據(jù)統(tǒng)一編址,不區(qū)分存儲器的程序空間和數(shù)據(jù)空間。而哈佛結(jié)構(gòu)指將程序空間與數(shù)據(jù)空間分開編址,這樣在DSP處理數(shù)據(jù)空間運算與數(shù)據(jù)傳輸?shù)耐瑫r可以并行地從程序空間讀取下一條指令。采用哈佛結(jié)構(gòu),將程序空間與數(shù)據(jù)空間分開編址的好處是速度快,讀程序和讀寫數(shù)據(jù)可以同時進行。
            DSP在內(nèi)核設(shè)計方面還有一個特點是采用多重流水線結(jié)構(gòu),流水線結(jié)構(gòu)的層次深度可以從3級到6級。程序的執(zhí)行過程大致可分為讀指令、指令譯碼、指令執(zhí)行等幾個階段。DSP在第一個時鐘周期內(nèi)讀第一條指令,在第二個周期譯碼第一條指令同時在第二個周期內(nèi)讀入第二條指令,在第三個時鐘周期內(nèi)執(zhí)行第一條指令,譯碼第二條指令,同時讀入第三條指令,這樣雖然執(zhí)行一條指令仍需要三個周期,可是由于并行的流水線處理,看起來好像每條指令都是在一個周期內(nèi)完成的,這就是流水線結(jié)構(gòu)。
          DSP的特點

          DSP在體系結(jié)構(gòu)上與通用微處理器有很大的區(qū)別。下面是幾個關(guān)鍵的不同點:
          單周期指令:大多數(shù)DSP都擁有流水結(jié)構(gòu),它可以在一個時鐘周期內(nèi)執(zhí)行一條語句。
          快速乘法器:信號處理算法往往大量用到乘加(multiply-accumulate,MAC)運算。DSP有專用的硬件乘法器,它可以在一個時鐘周期內(nèi)完成MAC運算。硬件乘法器占用了DSP芯片面積的很大一部分。(與之相反,通用微處理器采用一種較慢的、迭代的乘法技術(shù),它可以在多個時鐘周期內(nèi)完成一次乘法運算,但是占用了較少了硅片資源)。
          多總線:DSP有分開的代碼和數(shù)據(jù)總線(一般用術(shù)語“哈佛結(jié)構(gòu)”表示),這樣在同一個時鐘周期內(nèi)可以進行多次存儲器訪問——這是因為數(shù)據(jù)總線也往往有好幾組。有了這種體系結(jié)構(gòu),DSP就可以在單個時鐘周期內(nèi)取出一條指令和一個或者兩個(或者更多)的操作數(shù)。
          地址發(fā)生器:DSP有專用的硬件地址發(fā)生單元,這樣它可以支持許多信號處理算法所要求的特定數(shù)據(jù)地址模式。這包括前(后)增(減)、環(huán)狀數(shù)據(jù)緩沖的模地址以及FFT的比特倒置地址。地址發(fā)生器單元與主ALU和乘法器并行工作,這就進一步增加了DSP可以在一個時鐘周期內(nèi)可以完成的工作量。
          硬件輔助循環(huán):信號處理算法常常需要執(zhí)行緊密的指令循環(huán)。對硬件輔助循環(huán)的支持,可以讓DSP高效的循環(huán)執(zhí)行代碼塊而無需讓流水線停轉(zhuǎn)或者讓軟件來測試循環(huán)終止條件。
          數(shù)據(jù)格式:除了標準的整數(shù)型格式外,DSP一般支持定點和(或)浮點數(shù)。對數(shù)據(jù)格式和精度的選擇取決于應(yīng)用程序所需,例如:
          16位定點DSP可以滿足語音信號處理和控制所需
          24位和32位定點DSP可以滿足高質(zhì)量音頻信號處理所需
          32位浮點DSP可以滿足圖形和圖像處理所需

          DSP的特點:
          DSP處理器采用哈佛結(jié)構(gòu)和改進的哈佛結(jié)構(gòu)。
          哈佛結(jié)構(gòu)就是將程序代碼和數(shù)據(jù)的存儲空間分開,各有自己的地址和數(shù)據(jù)總線。之所以采用哈佛結(jié)構(gòu),是為了并行進行指令和數(shù)據(jù)處理,從而可以大大地提高運算的速度。為了進一步提高信號處理的效率,在哈佛結(jié)構(gòu)的基礎(chǔ)上,又加以改善。使得程序代碼和數(shù)據(jù)存儲空間之間可以進行數(shù)據(jù)的傳輸,稱為改善的哈佛結(jié)構(gòu)。

          采用流水技術(shù)。
          流水技術(shù)是將各指令的各個步驟重疊起來執(zhí)行。DSP處理器所采用的將程序存儲空和數(shù)據(jù)存儲空間的地址與數(shù)據(jù)總線分開的哈佛結(jié)構(gòu),為采用流水技術(shù)提供了很大的方便。

          為了提高DSP處理器的運算速度,它們無例外地設(shè)置了硬件乘法器,以及MAC(乘并且累加)一類的指令。
          DSP處理器都為DMA單獨設(shè)置了完全獨立的總線和控制器,這是和通用的CPU很不相同,其目的是在進行數(shù)據(jù)傳輸是完全不影響CPU及其相關(guān)總線的工作。
          在DSP處理器中,設(shè)置了專門的數(shù)據(jù)地址發(fā)生器來產(chǎn)生所需的數(shù)據(jù)地址。數(shù)據(jù)地址的產(chǎn)生與CPU的工作是并行的,從而節(jié)省CPU的時間,提高信號的處理速度。
          DSP處理器為了自身工作的需要和外部環(huán)境的協(xié)調(diào)工作。往往都設(shè)置了豐富的外設(shè)。如時鐘發(fā)生器。定時器等。
          定點DSP處理器和浮點DSP處理器。定點DSP中經(jīng)常要考慮溢出問題,在浮點DSP基本上可以不考慮。與定點DSP處理器相比,浮點DSP處理器的速度更快,尤其是作浮點運算。在實時性要求很到的場合。往往考慮浮點DSP處理器。而浮點DSP處理器的價格比較高,開發(fā)難度更大。

          本文引用地址:http://www.ex-cimer.com/article/201612/332415.htm

          為什么CCS需要安裝Driver?
          CCS是開放的軟件平臺,它可以支持不同的硬件接口,因此不同的硬件接口必須通過標準的Driver同CCS連接。
          Driver安裝的常見問題?
          請認真閱讀“安裝手冊”和Driver盤中的Readme。 1)對于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。3)對于SEED-XDSUSB,必須連接目標板,安裝Readme中的步驟,將I/O口設(shè)為A,USB連接后,主機將自動激活相應(yīng)的Driver。 4)對于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240,PCI接口板插入主機后,主機將自動激活相應(yīng)的Driver。 5)對于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對于C5402 DSK,將I/O口設(shè)為請認真閱讀“安裝手冊”和Driver盤中的Readme。 1)對于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。注意主機BIOS中并口的型式必須同xds510pp.ini中一致。 3)對于SEED-XDSUSB,必須連接目標板,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,USB連接后,主機將自動激活相應(yīng)的Driver。 4)對于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,PCI接口板插入主機后,主機將自動激活相應(yīng)的Driver。 5)對于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對于C5402 DSK,將I/O口設(shè)為378或278。 7)對于C6211/6711 DSK,將I/O口設(shè)為378或278。 8)對于C6201/C6701 EVM,將I/O口設(shè)為0。

          Link的cmd文件的作用是什么?
          Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結(jié)果是未定位的,DSP沒有操作系統(tǒng)來定位執(zhí)行代碼,每個客戶設(shè)計的DSP系統(tǒng)的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以C5000為例,基本格式為:
          -o sample.out
          -m sample.map
          -stack 100
          sample.obj meminit.obj
          -l rts.lib
          MEMORY {
          PAGE 0: VECT: origin = 0xff80, length 0x80
          PAGE 0: PROG: origin = 0x2000, length 0x400
          PAGE 1: DATA: origin = 0x800, length 0x400
          }
          SECTIONS {
          .vectors : {} >PROG PAGE 0
          .text : {} >PROG PAGE 0
          .data : {} >PROG PAGE 0
          .cinit : {} >PROG PAGE 0
          .bss : {} >DATA PAGE 1
          }
          如何將OUT文件轉(zhuǎn)換為16進制的文件格式?
          DSP的開發(fā)軟件集成了一個程序,可以從執(zhí)行文件OUT轉(zhuǎn)換到編程器可以接受的格式,使得編程器可以用次文件燒寫EPROM或Flash。對于C2000的程序為DSPHEX;對于C3x程序為HEX30;對于C54x程序為HEX500;對于C55x程序為HEX55;對于C6x程序為Hex6x。以C32為例,基本格式為:
          sample.out
          -x
          -memwidth 8
          -bootorg 900000h
          -iostrb 0h
          -strb0 03f0000h
          -strb1 01f0000h
          -o sample.hex
          ROMS {
          EPROM: org = 0x900000,len=0x02000,romwidth=8
          }
          SECTIONS {
          .text: paddr="boot"
          .data: paddr="boot"
          }



          關(guān)鍵詞: DSP處理器通用處理

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();