色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

測試手機芯片帶寬性能及優化測試方法

電子設計 ? 來源:互聯網 ? 作者:佚名 ? 2018-01-02 11:36 ? 次閱讀

手機的帶寬吞吐性能是影響手機總體性能的一個重要指標,目前幾乎所有第三方的手機評測軟件都有對這一項指標的單獨測試。但這些測試基本上都存在一些問題,并不能全面真實地反映手機的帶寬吞吐性能。文章從硬件的角度深入分析了CPU、Cache、DDR等模塊的實現方式對帶寬測試軟件的影響,并結合最常用的ARM系列CPU做了對比,最后提出了新的帶寬吞吐性能評價方式。

0引言

隨著智能手機的快速普及,2015年全球的出貨量已達14億臺。這其中大半部分都是Android系統的手機,它們的核心操作系統基本一樣,但硬件平臺就各有不同了。對手機硬件性能的評測成為了業界以及用戶所關注的重點。相應的,第三方的手機測評軟件就應運而生了。這些測評軟件往往將紛繁復雜的各項硬件性能轉化為一個個清晰明了的數字,讓消費者以最直觀的方式了解一部手機的性能水平。由于其使用的簡便性和直觀性,不光是手機的最終消費者經常使用它作為手機選擇的參考,不少方案廠商也利用這些測評軟件作為手機芯片選擇的依據。

現代的手機主控芯片都是多核系統,運算能力越來越強,但內存性能卻提升有限。因此內存性能往往成為系統性能的瓶頸,對內存帶寬吞吐性能的測試也顯得尤為重要。本文將分析目前帶寬性能測試軟件的一些局限性,結合硬件設計探討影響帶寬性能測試的因素,最后提出對帶寬性能測試優化的方向。

1 CPU測試帶寬的局限性

手機的主控芯片是個復雜的SoC(System on Chip),有多個主設備可以訪問DDR(內存),DDR控制器的復雜程度也越來越高,它可以協調均衡各個主設備的訪問。但除了CPU,其他的主設備第三方用戶是不方便直接用軟件來控制的,如視頻編解碼模塊,這些模塊都需要專門的驅動程序來控制,而驅動程序都是由硬件廠商提供,第三方用戶不了解其中的細節。因此一般是利用統計CPU訪問DDR的速度來評估芯片總的帶寬吞吐性能。這就帶來一個問題,可能CPU全速運行測試程序所需要的帶寬也達不到DDR能提供的理論帶寬,這時帶寬吞吐性能受限于CPU發讀寫命令的能力,而不是受限于DDR。

例如,以ARM cortexA9 CPU做仿真實驗,在CPU訪存接口上掛一個理想的32位DDR模型(有訪問請求立即響應,沒有延時),CPU頻率為1 008 MHz時,測得數據拷貝帶寬為2 140 MB/s。而手機上一般會配置540 MHz 32位DDR,能提供的理論帶寬為4 320 MB/s,已經遠超cortex-A9的帶寬吞吐能力了,這種情況下帶寬性能測試得到的只是CPU的訪存性能,而不是DDR的總體帶寬性能。

2 Cache對帶寬吞吐測試的影響

現在的帶寬吞吐性能評測軟件都是利用統計CPU訪問DDR的速度來評估芯片總的帶寬吞吐性能,這就需要考慮CPU Cache的影響。

為了加快訪問數據的速度,現代多核處理器通常包含私有緩存(L1 Cache)和末級共享緩存(L2 Cache)[3]。L1 Cache大小通常有幾十KB,L2 Cache通常有數百KB到幾MB。CPU對數據的訪問都會經過Cache再到DDR。不同的Cache行為實現會導致CPU對DDR訪問量的巨大差異。

目前手機主控芯片幾乎都是采用ARM Cortex系列的CPU,下面就以ARM cortex系列最常用的CPU(A5,A7,A9,A53)來分析不同的Cache配置對CPU訪存性能的影響。

2.1對連續地址的寫操作

CPU對連續地址的寫入速度是反映帶寬性能的重要指標,軟件上對應memset操作,用C語言描述如下:

int *dst;

for(int i=0;i

*dst= value

實際上由于Cache的存在,數值并不是直接寫到DDR中。對于ARM cortexA5和cortexA9 CPU,這一過程如圖1所示。

L1 data Cache一般都配置為write back + write allocate。但ARM對所有系列CPU的L1 Cache都做了優化:檢測到連續地址3次Cache line的write操作,即自動切換為write through + write no allocate。所以可以看到在圖中L1 data Cache只有前3個Cache line(0x1000000~0x1000040)的數據從DDR中讀取出來了,后面的數據就直接寫入L2 Cache了。

CortexA5和cortexA9的L2 Cache 依然是write back+write allocate。但沒有類似于L1 Cache那樣的自動切換到write through + write no allocate的機制。所以每次從L1 data Cache有數據寫到L2 Cache,都應該從DDR中讀取相應地址的一個Cache line大小的數據分配到L2 Cache中,再對這個分配好的Cache line做寫操作。但實際上由于L1 data Cache每次對L2 Cache的寫操作都是一個Cache line的大小,即整個Cache line都被重寫了,因此也不用關心DDR中對應這個Cache line地址的數據是什么了。這里L2 Cache就直接分配了一個Cache line來存放L1 data Cache寫過來的數據,沒有再去讀DDR。

ARM cortexA7和cortexA53的情況又有所不同,如圖2。

CortexA7和cortexA53的L1 data Cache 實現機制與前面一樣,但L2 Cache的實現不同。雖然同樣是write back + write allocate,但其有個自動檢測機制,檢測到連續地址的127次Cache line的write操作可以自動切換到write through+write no allocate。如圖2所示,地址0x1002000之后的數據就直接寫到DDR中了。

根據上面的分析,對于CPU向外寫數據的操作,在小于一定大小的情況下,實際上并不會操作DDR,而是在操作L2 Cache。表1是兩款手機CPU 同頻下的memset性能對比,它們的CPU分別使用了ARM cortexA7和cortexA9。

從表中數據可以看出,在size小于10 KB時,cortexA9性能好于cortexA7,此時都是對L2 Cache的訪問,性能決定于CPU的指令發射能力以及流水線的亂序執行能力,這些能力cortexA9都強于cortexA7。在10 KB 100 KB時,cortexA9的性能逐漸被cortexA7反超,因為此時cortexA9也開始有訪問DDR的操作了,size越大訪問DDR占比越大,最后幾乎完全是對DDR的訪問了。這時性能主要由DDR的性能決定。

2.2對連續地址的讀操作

CPU對連續地址的讀取速度也是反映帶寬性能的重要指標,可用C語言描述如下:

int *src;

for(int i=0;i

value = *(src + i);

cortexA5和cortex-A9的L2 Cache是非exclusive模式,即L1不命中時,從DDR讀取回來的Cache line會保存在L2 Cache中。如圖3。

CortexA7和cortexA53的L2 Cache是exclusive模式,即L1不命中時,從DDR讀取回來的Cache line不會保存在L2 Cache中。只有當被改寫過的Cache line從L1 Cache刷出來時才會存到L2 Cache中。如圖4。

以上兩種實現方式各有利弊。做重復讀取性能測試時,如果數據量小于L1 data Cache size,exclusive模式和非exclusive模式性能相當。當數據量大于L1 data Cache size,且小于L2 Cache size時,非exclusive模式性能較好。當數據量大于L2 Cache size時,exclusive模式性能略好,如果除了讀操作還有其他的寫操作,那么exclusive模式性能優勢就更明顯了,因為這種模式下讀操作占用了較少的L2 Cache,可以分配給其他操作使用。

2.3數據拷貝性能

數據拷貝是CPU最常見的訪存行為,也是帶寬性能測試軟件最常用的測試方式。數據拷貝包含了從源地址的讀數據操作和向目標地址的寫數據操作。一般來講數據地址都是連續的。前面兩節討論了連續地址的寫操作和讀操作,這兩項性能也大致決定了數據拷貝的性能。

除此之外,DDR控制器在讀寫交替時的處理也會影響數據拷貝的性能。

DDR的地址線分為bank、row和column。一個bank中同時只能打開一個row,而處于不同bank中的row是可以同時打開的。為了充分利用這一特性來優化DDR訪問效率,bank、row、column地址和物理地址的對應方式會被精心設計,有多種映射方式[4]。圖5是某款手機的地址排列方式。

假設做數據拷貝,源地址是0x100000(對應row2,bank0),目標地址是0x200000(對應row4,bank0),它們對應同一個bank的不同row。從源地址讀一組Cacheline大小的數據,需要打開DDR的bank0_row2,然后CPU將這組數據寫入目標地址,這時就需要先關閉bank0_row2,再打開bank0_row4。在這個讀寫交替的過程中,就有對DDR某一row的關閉和打開操作,需要耗費較多的時間。

同樣還是做這樣的數據拷貝,如果將目標地址換成0x201000(對應bank1_row4),再做寫操作時就不用將bank0_row2關閉,直接打開bank1_row4就可以了。并且由于源和目標地址的row都沒有關閉,后面的讀寫操作都不用再做打開row的操作了,這就大大地提高了數據拷貝的性能。表2是某款手機(采用cortex-A9 CPU)在不同目標地址條件下數據拷貝性能的測試數據。

可以看到,僅僅是改變目標地址就使連續地址的數據拷貝性能出現了很大差異,避免讀寫地址沖突后數據拷貝性能可提高31%。

3帶寬性能測試的優化方向

前面分析了目前手機帶寬性能測試的局限性,并結合硬件設計探討影響帶寬性能測試的因素。根據這些因素,可以從以下幾個方面進一步優化完善帶寬性能測試方式:

(1)多個主設備同時訪問DDR,盡量達到DDR的帶寬極限。手機主控芯片中除了CPU,對帶寬需求最大的就是GPU,而GPU一般都可以通過上層的openGL軟件操作。GPU的測例可以使用多個圖層的疊加操作,這種操作對GPU的運算能力需求較弱,對帶寬要求較高。在測試時,讓CPU密集執行數據拷貝操作,同時讓GPU做圖層疊加,結合兩者的實際完成時間給出帶寬性能評估分數。

(2)用CPU測試數據拷貝性能,數據量要遠大于L2 Cache的大小,避免Cache的影響。除了連續地址的數據拷貝,還要增加非連續地址的數據讀取性能測試,以避免CPU預取功能的影響,更真實地反映DDR的單次延時。如以下C代碼:

int *src;

for(int i=0;i

value = *(src+i);

注意STRIDE的取值要大于兩個Cache line size,以免觸發連續Cache line的預取操作。將連續地址的數據拷貝和非連續地址的數據讀取性能結合評估并打分。

(3)為全面考察不同地址對數據拷貝性能的影響,做多次數據拷貝操作,每次都改變一下目標數據地址的偏移,如以下C代碼:

int *src, *dst;

for(int j=0;j

for(int i=0;i

*(dst+i+j*0x1000) = *(src+i);

4結束語

第三方的帶寬吞吐性能測試軟件不僅為終端消費者提供了手機性能的比較手段,也為手機方案廠商選擇芯片提供了可靠依據,甚至最上游的芯片設計廠商也會利用這些測試軟件來指導芯片架構的設計。本文提出的帶寬吞吐性能測試優化方式可以更全面公正地評估手機芯片的實際性能,加快了芯片設計性能問題的收斂,具有良好效果。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9088

    瀏覽量

    367408
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10855

    瀏覽量

    211606
  • 帶寬
    +關注

    關注

    3

    文章

    926

    瀏覽量

    40913
  • soc
    soc
    +關注

    關注

    38

    文章

    4163

    瀏覽量

    218172
  • 手機芯片
    +關注

    關注

    9

    文章

    367

    瀏覽量

    48916
收藏 人收藏

    評論

    相關推薦

    傳AMD再次進軍手機芯片領域,能否打破PC廠商折戟移動市場的“詛咒”

    ? 電子發燒友網報道(文/黃山明)近日,業內突傳AMD將進軍手機芯片領域。外媒報道,AMD計劃進入到智能手機市場中,并可能推出類似APU的“Ryzen AI”移動SoC。不久后,臺媒爆料稱,AMD
    的頭像 發表于 11-26 08:17 ?2327次閱讀
    傳AMD再次進軍<b class='flag-5'>手機芯片</b>領域,能否打破PC廠商折戟移動市場的“詛咒”

    高通新推手機芯片技術,攜手小米等伙伴強化AI應用合作

    據路透社等媒體報道,高通公司于當地時間10月21日宣布了一項重大技術革新:將原本專為筆記本電腦芯片設計的技術引入至手機芯片領域,旨在大幅提升其在人工智能(AI)任務處理上的能力。
    的頭像 發表于 10-23 17:11 ?578次閱讀

    聯發科發布天璣9400手機芯片

    聯發科近日正式推出了其最新的手機芯片——天璣9400。這款芯片采用了先進的第二代3nm制程工藝,集成了高達291億的晶體管,展現了聯發科在芯片制造技術上的卓越實力。
    的頭像 發表于 10-10 17:11 ?619次閱讀

    辨別射頻芯片性能好壞的6個高效測試方法

    無論是手機通信,還是衛星導航,射頻芯片都是其核心組件之一。因此射頻芯片質量的好壞非常重要,可以通過外觀檢查、電氣參數測試性能
    的頭像 發表于 09-25 14:42 ?407次閱讀
    辨別射頻<b class='flag-5'>芯片</b><b class='flag-5'>性能</b>好壞的6個高效<b class='flag-5'>測試</b><b class='flag-5'>方法</b>

    手機芯片的歷史與發展

    手機芯片的歷史和由來
    的頭像 發表于 09-20 08:50 ?3298次閱讀

    【北京迅為】itop-3588開發板快速測試手冊-銀河麒麟系統功能測試

    【北京迅為】itop-3588開發板快速測試手冊-銀河麒麟系統功能測試
    的頭像 發表于 09-09 14:44 ?714次閱讀
    【北京迅為】itop-3588開發板快速<b class='flag-5'>測試手</b>冊-銀河麒麟系統功能<b class='flag-5'>測試</b>

    電源紋波測試帶寬設置的應用

    電源紋波測試是電子設備設計和制造過程中的一個重要環節,它可以幫助我們評估電源系統的穩定性和可靠性。在進行電源紋波測試時,帶寬設置是一個關鍵因素,它直接影響測試結果的準確性和可靠性。 一
    的頭像 發表于 08-02 09:50 ?576次閱讀

    性能測試的實現方法是什么

    性能測試是一種評估軟件系統在不同負載下性能表現的測試方法。它可以幫助開發團隊發現性能瓶頸,
    的頭像 發表于 05-29 15:44 ?612次閱讀

    想了解芯片推力測試?點擊這里,了解最新測試方法

    最近,小編收到了很多來自半導體行業客戶的咨詢,主要關于芯片推力測試的問題,他們想知道應該采用何種設備和方法。為了滿足客戶的測試需求,科準測試
    的頭像 發表于 05-15 16:55 ?1011次閱讀
    想了解<b class='flag-5'>芯片</b>推力<b class='flag-5'>測試</b>?點擊這里,了解最新<b class='flag-5'>測試</b><b class='flag-5'>方法</b>!

    芯片的出廠測試與ATE測試的實施方法

    隨著集成電路技術的飛速發展,芯片作為現代電子設備的核心組件,其性能和質量對于整個系統的穩定性和可靠性具有至關重要的影響。因此,在芯片生產過程中,出廠測試和ATE(自動
    的頭像 發表于 04-19 10:31 ?1940次閱讀
    <b class='flag-5'>芯片</b>的出廠<b class='flag-5'>測試</b>與ATE<b class='flag-5'>測試</b>的實施<b class='flag-5'>方法</b>

    阿里云攜手聯發科為手機芯片適配大模型

    聯發科,作為全球智能手機芯片市場的佼佼者,最近攜手阿里云取得了重大突破。聯發科在其旗艦芯片天璣9300上成功部署了通義千問大模型,這是首次在手機芯片端實現大模型的深度適配。這一技術革新意味著,即使在離線狀態下,通義千問也能流暢運
    的頭像 發表于 03-29 11:00 ?648次閱讀

    URAT測試性能測試方法

    Technology,非授權無線接入技術)測試作為確保無線通信設備性能的關鍵步驟,具有不可或缺的重要性。 URAT測試是一種針對非授權頻譜中無線通信設備的性能
    的頭像 發表于 03-06 10:29 ?500次閱讀
    URAT<b class='flag-5'>測試</b>的<b class='flag-5'>性能</b><b class='flag-5'>測試</b><b class='flag-5'>方法</b>

    手機芯片好壞對手機有什么影響

    手機芯片手機的核心組件,它的好壞對手機性能、功能和用戶體驗有著直接的影響。
    的頭像 發表于 02-19 13:50 ?6768次閱讀

    TLT507-EVM-評估板測試手

    TLT507-EVM-評估板測試手
    的頭像 發表于 01-26 09:27 ?736次閱讀
    TLT507-EVM-評估板<b class='flag-5'>測試手</b>冊

    TL3588-EVM評估板測試手

    TL3588-EVM評估板測試手
    的頭像 發表于 01-24 10:27 ?890次閱讀
    TL3588-EVM評估板<b class='flag-5'>測試手</b>冊
    主站蜘蛛池模板: 亚洲三级视频在线观看| 牲高潮99爽久久久久777| 免费观看高清黄页网址大全| 久久午夜一区二区| 免费一级特黄欧美大片久久网| 美女伊人网| 日本无卡无吗在线| 丝袜美女自摸| 亚洲熟妇无码乱子AV电影| 116美女写真成人午夜视频| MELODY在线播放无删减| 国产激情视频在线| 饥渴的新婚女教师| 免费无遮挡又黄又爽网站| 三级黄色网| 亚洲欭美日韩颜射在线二| 99九九99九九九视频精品| 俄罗斯一级毛片aaaa| 国产一级做a爰片久久毛片男| 久久在精品线影院精品国产| 欧美午夜福利主线路| 午夜国产精品视频| 在线中文字幕| 嘟嘟嘟影院免费观看视频| 九九热视频在线观看| 欧美国产日韩久久久| 午夜影视不充值观看| 中文无码有码亚洲 欧美| 俄罗斯性xxxx| 久久综合给会久久狠狠狠| 色爱AV综合区| 伊人网站在线| 高肉黄暴NP文公交车| 久久精品国产在热亚洲| 日韩欧美中文字幕在线| 夜月视频直播免费观看| 超h高h肉h文教室生理课| 精品视频中文字幕| 日韩精品 中文字幕 有码| 友田真希息与子中文字幕| 国产福利秒拍weipai.ee|