久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

暴強技術(shù)貼:Cortex-A8、ARM11,、ARM9,、Xscale、PowerPc,、x86...

 leo.cn 2010-08-10

暴強技術(shù)貼:Cortex-A8,、ARM11、ARM9,、Xscale,、PowerPc、x86 性能橫向?qū)Ρ葘崪y(11P)

本帖最后由 ak47hcooh 于 2009.12.3 12:59 編輯

文章寫的很專業(yè),,沒興趣的網(wǎng)友看圖片就行了,,結(jié)果一目了然



Cortex-a8 arm11 arm9 xscale powerpc 嵌入式處理器實測性能

 


一、前言

   嵌入式處理器層出不窮,,系列和種類繁多,。經(jīng)常在嵌入式產(chǎn)業(yè)界見到的處理器,僅指令集家族就有x86,,arm,,powerpc,mips,,sh等,。每種指令集往往又有很多系列,下面還有不同版本,,甚至同一版本有不同芯片廠家實現(xiàn)產(chǎn)品,。這還不夠,再加上不同的主頻、總線結(jié)構(gòu),、存儲器cache配置,,即使在行業(yè)里打拼多年的專業(yè)人士也難免眼花繚亂。

   所以,,經(jīng)常有人會問:200Mhz的arm9比起嵌入式工控機上的賽揚有多大的性能差距,?四千多買的500MHz的智能手機究竟比筆記本電腦慢多少?

   在短時間內(nèi)全面解釋這類問題,,介紹清楚各種嵌入式處理器的來龍去脈是不可能的,。筆者前日對手里的幾個嵌入式處理器進(jìn)行了性能評測,獲得了一些有趣兒的結(jié)果,,能夠一定程度上說明問題,,于是撰文跟大家分享

   涉及的對象包括arm家族常用的系列嵌入式處理器,,從初學(xué)者都知道的S3C2410到基于arm1136jf-s的OMAP2420,,還有新一代產(chǎn)品新寵OMAP3/Cortex-a8。軟件運行的操作系統(tǒng)為linux-2.6.24以及之后版本和gcc-4編譯器,。最終的測試結(jié)果說明了目前嵌入式處理器的性能現(xiàn)狀,,可供感興趣的讀者參考,最后還提供了筆者使用的測試代碼下載,。筆者也非常希望愛好者在自己的嵌入式平臺上測試,,并將結(jié)果發(fā)帖交流。

二,、測試方法介紹

   本文的內(nèi)容主要基于筆者親自測試的結(jié)果,,也有部分結(jié)果來自于他人的測試,絕大多數(shù)的測試對于稍有嵌入式Linux經(jīng)驗的人都可以很容易的重復(fù),。測試項目包括nbench整數(shù)性能,,nbench內(nèi)存帶寬,nbench雙精度浮點性能,,單精度浮點FIR性能,,SIMD向量單精度浮點FIR性能。測試軟件簡介nbench

   nbench是一個簡單的用于測試處理器,,存儲器性能的基準(zhǔn)測試程序,。即著名的BYTE Magazine雜志的BYTEmark benchmark program。nbench在系統(tǒng)中運行并將結(jié)果和一臺運行Linux的AMD K6-233電腦比較,,得到的比值作為性能指數(shù),。由于是完全開源的,愛好者可以在各種平臺和操作系統(tǒng)上運行nbench,,并進(jìn)行優(yōu)化和測試,,是一個簡單有效的性能測試工具,。nbench的結(jié)果主要分為MEM、INT和FP,,其中MEM指數(shù)主要體現(xiàn)處理器總線,、CACHE和存儲器性能,INT當(dāng)然是整數(shù)處理性能,,F(xiàn)P則體現(xiàn)雙精度浮點性能(大多數(shù)嵌入式處理器都沒有強大的雙精度浮點能力),。

fp_fir

    fp_fir是筆者編寫的單精度浮點FIR性能測試程序,簡單并直觀的評價系統(tǒng)的單精度浮點數(shù)乘加性能(玩過DSP就知道,,浮點乘加是TigerSHARC的拿手好戲),。fp_fir的一個亮點是可以很容易的SIMD向量化,即利用SSE3/Altivec/Neon等SIMD指令集加速執(zhí)行,。這個測試的結(jié)果也是最有戲劇性的,。


三、測試結(jié)果

1.nbench測試MEM部分

    此測試包括字符排序,、數(shù)據(jù)賦值和位操作,。這個測試中,高主頻,、高速的片內(nèi)CACHE和快速的外存儲器非常重要,。采用新架構(gòu)的Cortex-a8和強勁的桌面x86占有很大優(yōu)勢,,其中很大一部分是源于片上的二級CACHE結(jié)構(gòu)
具體分?jǐn)?shù)如下

表1 nbench 存儲器性能



圖1 nbench 存儲器性能


2.nbench測試INT部分

此測試包含整數(shù)排序,,模擬浮點運算,霍夫曼編碼,,IDEA加密算法,。在此測試?yán)铮黝l是最主要的性能因素,,指令集的并行度也有很大影響,,所以超標(biāo)量處理器PentiumIII和Cortex-a8的優(yōu)勢不僅來自于主頻,也來自于單周期執(zhí)行多條指令,、分支預(yù)測等綜合能力,。但是更老的PPC440也是雙發(fā)射的超標(biāo)量CPU,不過并沒有體現(xiàn)太大優(yōu)勢,,一方面是PPC440的ALU指令并不能雙發(fā),,另一方面也是因為通用整數(shù)運算內(nèi)在的并行度并不高,指令級并行受限較多,,并行加速不如主頻提高明顯,。

表2 nbench 整數(shù)性能


圖2 nbench 整數(shù)性能




3.nbench測試FP部分

   此測試包括雙精度浮點傅立葉變換、神經(jīng)網(wǎng)絡(luò),、LU分解,。在此測試?yán)锩孀烂嫣幚砥饕恢Κ毿?,主要是因為PentiumIII擁有強大的SSE浮點處理能力,雙精度浮點硬件流水線性能遠(yuǎn)超其他處理器,,尤其是只有傳統(tǒng)標(biāo)量整數(shù)指令集的嵌入式處理器,,如S3C2410和PPC440。

   低功耗的嵌入式處理器一般不會集成雙精度流水線FPU,,主要是因為硅片面積和功耗較大,,實現(xiàn)浮點處理靠另外的方法。

S3C2410(ARM920T)和PPC440利用softfloat庫實現(xiàn)浮點處理,,性能是最低的,。(當(dāng)然,僅僅是比其他的高級處理器低,,雖然只有K6-233性能的百分之幾,。如果你測試很多S3C2410開發(fā)板自帶的oabi gcc-2.95硬浮點工具鏈,加上內(nèi)核NWFPE模擬浮點指令,,會得到更慘的結(jié)果,。oabi+NWFPE性能只有softfloat的10到20分之一,是向量浮點的幾千分之一)

   XSCALE以及其他ARMV5TE以上的處理器可以利用定點向量指令加快softfloat庫模擬,,其中支持iWMMXT的PXA270可以使用64位定點向量指令顯著加快速度,。

   新的ARM處理器如OMAP2420集成硬件了VFP,雖然不是桌面CPU規(guī)模的流水線FPU,,還是比軟件模擬快很多,。

   也許讀者會奇怪OMAP3 600MHz的浮點性能比OMAP2 400MHz還低,這是因為Cortex-a8比arm11進(jìn)一步簡化了VFP的硬件以降低功耗和面積,,并引入了如同Pentium4處理器的向量指令集neon,。該指令集最大數(shù)據(jù)寬度和SSE3一樣為128bit,可以支持完全流水的向量定點和單精度浮點處理,,僅僅比SSE3少了雙精度浮點流水處理,。由于nbench進(jìn)行雙精度浮點測試,并且使用glibc內(nèi)建的未優(yōu)化的數(shù)學(xué)庫,,所以無法發(fā)揮neon的性能,。



圖3 nbench 雙精度浮點性能



4.fp_fir測試

    在fp_fir測試中,為了對Cortex-a8的noen向量處理能力進(jìn)行對比,,加入了高性能的處理器PentiumD 920 3.0GHz的對比評測,。該系統(tǒng)配備2GB雙通道DDR2內(nèi)存,運行Linux-2.6.27 x86_64 64-bits系統(tǒng),。同樣,,也加入了基于老式arm920t的S3C2410“陪太子讀書”

    需要知道的是PentiumD 920除了擁有嵌入式處理器難以企及的3GHz主頻,更有2MB L2CACHE和800MHz 64-bits前端總線,,并且同樣集成了SSE3 128-bit SIMD指令集,。

表4 測試平臺功能對比




      本次測試將fp_fir程序分別編譯到不同平臺上,,分為9中不同的CPU與配置組合


表5 測試配置和編譯選項



    新版本gcc-4.3已經(jīng)加入了neon向量指令支持,而對sse的支持在更早版本中就已經(jīng)加入了,。要啟用向量指令自動生成功能,,需要在編譯參數(shù)中加入適當(dāng)?shù)奶幚砥髦噶罴瘶?biāo)記和浮點選擇標(biāo)記,在arm架構(gòu)下為:
-mfloat-abi=softfp -mfpu=neon -ftree-vectorize -ffast-math

在x86架構(gòu)下為:
-mfpmath=sse -ftree-vectorize -mmmx -msse -msse2 -msse3 -ffast-math

    另外,,在arm linux平臺下,,如果使用的是EABI(embedded application binary interface)配置則允許系統(tǒng)中混合運行softfp,vfp,,neon向量浮點等各種浮點實現(xiàn)代碼,。例如在cortex-a8上運行同時運行優(yōu)化的向量浮點代碼和老式arm920t的軟浮點代碼,這使得上述測試能夠方便的完成,。如果用老的oabi環(huán)境,,切換不同的浮點配置必須把全部的用戶代碼重新編譯。
下載地址在這里可以找到,。


表6 fp_fir 單精度浮點乘加性能



圖4 fp_fir 單精度浮點乘加性能  單位:秒  越小越好



    由于向量處理和傳統(tǒng)非流水標(biāo)量處理性能差距很大,,去掉前面5種地性能的配置。截取后4種向量處理配置的柱狀圖,,可以清晰的看到neon和sse3性能PK

圖5 fp_fir 單精度浮點乘加性能  單位:秒  越小越好


    可以看到流水線化的向量協(xié)處理對數(shù)值運算幫助非常大,,有數(shù)量級的性能提升。這也是為什么INTEL/AMD等處理器廠商都把多媒體指令集作為亮點大肆宣傳,,各種操作系統(tǒng)和軟件也積極應(yīng)用SIMD指令來進(jìn)行加速,。

    因為嵌入式處理器原本就沒有集成全流水線FPU,這種加速對嵌入式處理器如cortex-a8尤其明顯,。

    此外,,嵌入式處理器指令集兼容的歷史包袱比x86要少得多,,完全可以直接采用向量指令集得到接近大型CPU和傳統(tǒng)高端DSP的數(shù)值計算性能,,有的嵌入式CPU干脆把這類指令叫做嵌入式DSP指令。這類向量指令集在視頻圖像處理,、語音識別,、計算機視覺、軟件無線電和人工智能等應(yīng)用上擁有極大的性能/功耗比優(yōu)勢,。


    由此可見,,新式的嵌入式處理器實現(xiàn)了一系列同等于原來桌面處理器才有的功能,性能也可以在某種程度上接近傳統(tǒng)的桌面處理器,,同時保持了極低的功耗,。

    文中提到的測試代碼下載請見:

嵌入式系統(tǒng)性能測試下載
本文作者:周明 原載于嵌入式技術(shù)博客,請尊重作者勞動,,歡迎轉(zhuǎn)載但需注明原文鏈接,!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多