国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

測試手機芯片帶寬性能及優(yōu)化測試方法

電子設(shè)計 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-01-02 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

0引言

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

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

1 CPU測試帶寬的局限性

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

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

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

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

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

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

2.1對連續(xù)地址的寫操作

CPU對連續(xù)地址的寫入速度是反映帶寬性能的重要指標(biāo),軟件上對應(yīng)memset操作,用C語言描述如下:

int *dst;

for(int i=0;i

*dst= value

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

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

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

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

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

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

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

2.2對連續(xù)地址的讀操作

CPU對連續(xù)地址的讀取速度也是反映帶寬性能的重要指標(biāo),可用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中。只有當(dāng)被改寫過的Cache line從L1 Cache刷出來時才會存到L2 Cache中。如圖4。

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

2.3數(shù)據(jù)拷貝性能

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

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

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

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

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

可以看到,僅僅是改變目標(biāo)地址就使連續(xù)地址的數(shù)據(jù)拷貝性能出現(xiàn)了很大差異,避免讀寫地址沖突后數(shù)據(jù)拷貝性能可提高31%。

3帶寬性能測試的優(yōu)化方向

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

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

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

int *src;

for(int i=0;i

value = *(src+i);

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

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

int *src, *dst;

for(int j=0;j

for(int i=0;i

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

4結(jié)束語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9553

    瀏覽量

    391909
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    225015
  • 帶寬
    +關(guān)注

    關(guān)注

    3

    文章

    1040

    瀏覽量

    43372
  • soc
    soc
    +關(guān)注

    關(guān)注

    40

    文章

    4576

    瀏覽量

    229150
  • 手機芯片
    +關(guān)注

    關(guān)注

    9

    文章

    375

    瀏覽量

    50738
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    超全的芯片測試原理講解

    芯片測試的同學(xué)經(jīng)常會涉及到Continuity測試、Leakage測試、GPIOdrivecapability測試、GPIOpullup/
    的頭像 發(fā)表于 02-13 10:01 ?111次閱讀
    超全的<b class='flag-5'>芯片</b><b class='flag-5'>測試</b>原理講解

    芯片CP測試與FT測試的區(qū)別,半導(dǎo)體測試工程師必須知道

    個體終檢,通過測試座連接引腳,在全溫域下全面驗證性能參數(shù),保障產(chǎn)品交付質(zhì)量。二者在測試階段、對象、目的及技術(shù)實現(xiàn)上截然不同,結(jié)合兩者數(shù)據(jù)可優(yōu)化芯片
    的頭像 發(fā)表于 01-26 11:13 ?469次閱讀

    開關(guān)電源測試流程方法合集

    的標(biāo)準(zhǔn)解決方案,因此本文針對開關(guān)電源電性能測試流程和方法進行總結(jié)。 本文主要介紹開關(guān)電源的基礎(chǔ)測試項目流程和方法,其中溫度、濕度以及電磁類
    的頭像 發(fā)表于 10-31 09:36 ?1306次閱讀
    開關(guān)電源<b class='flag-5'>測試</b>流程<b class='flag-5'>方法</b>合集

    Coremark測試集分析與性能優(yōu)化思路

    優(yōu)化 從手冊和書上找到三種較普遍的微體系結(jié)構(gòu)的優(yōu)化方法 (1) 分支預(yù)測技術(shù): 將默認(rèn)的靜態(tài)預(yù)測改為動態(tài)預(yù)測(分支歷史表BHT、N比特飽和計數(shù)器、分支目標(biāo)緩沖器BTB) (2) 存儲空間
    發(fā)表于 10-24 08:21

    提高RISC-V在Drystone測試中得分的方法

    :編譯器如何優(yōu)化生成的機器代碼也會影響Drystone的得分。優(yōu)化的編譯器能夠生成更高效的機器代碼,從而提高性能。 提高 RISC-V 在 Drystone 測試中得分的
    發(fā)表于 10-21 13:58

    新思科技測試IO方案加速HPC和AI芯片量產(chǎn)

    方法和經(jīng)過改進的自動化測試設(shè)備(ATE),才能保持信號的完整性、準(zhǔn)確性和性能。 隨著半導(dǎo)體復(fù)雜性的增加,器件的結(jié)構(gòu)測試變得更具挑戰(zhàn)性,既要求配備高
    的頭像 發(fā)表于 10-15 11:33 ?756次閱讀
    新思科技<b class='flag-5'>測試</b>IO方案加速HPC和AI<b class='flag-5'>芯片</b>量產(chǎn)

    FPGA測試DDR帶寬跑不滿的常見原因及分析方法

    在 FPGA 中測試 DDR 帶寬時,帶寬無法跑滿是常見問題。下面我將從架構(gòu)、時序、訪問模式、工具限制等多個維度,系統(tǒng)梳理導(dǎo)致 DDR 帶寬跑不滿的常見原因及分析
    的頭像 發(fā)表于 10-15 10:17 ?1041次閱讀

    BW-4022A半導(dǎo)體分立器件綜合測試平臺---精準(zhǔn)洞察,卓越測量

    應(yīng)用中的各種工作場景,如在智能手機芯片測試中,測試設(shè)備會模擬手機的多種運行模式,像高負(fù)荷游戲運行時的高速運算場景、低功耗待機場景等。通過向芯片
    發(fā)表于 10-10 10:35

    相變材料及器件的電學(xué)測試方法與方案

    芯片工藝不斷演進的今天,材料的物理特性與器件層面的可靠性測試正變得前所未有的重要。近日,在泰克云上大講堂關(guān)于《芯片的物理表征和可靠性測試》的直播中,大家就新型存儲技術(shù)、先進材料電學(xué)表
    的頭像 發(fā)表于 08-11 17:48 ?1313次閱讀
    相變材料及器件的電學(xué)<b class='flag-5'>測試</b><b class='flag-5'>方法</b>與方案

    汽車非金屬材料機械性能測試內(nèi)容有哪些?

    不可替代的作用。北京沃華慧通測控技術(shù)有限公司在未來的研究和生產(chǎn)中,會持續(xù)優(yōu)化機械性能測試技術(shù)的發(fā)展,不斷完善測試方法和標(biāo)準(zhǔn),以更好地適應(yīng)汽車
    的頭像 發(fā)表于 06-18 10:30 ?627次閱讀
    汽車非金屬材料機械<b class='flag-5'>性能</b><b class='flag-5'>測試</b>內(nèi)容有哪些?

    干簧繼電器:芯片測試儀的“性能催化劑”

    在集成電路(IC)制造領(lǐng)域,測試環(huán)節(jié)是確保芯片性能和可靠性的重要步驟。然而,測試過程往往伴隨著高昂的成本和復(fù)雜的設(shè)備需求。本文將探討如何通過優(yōu)化
    發(fā)表于 04-07 16:40

    干簧繼電器:芯片測試儀的“性能催化劑”

    在集成電路(IC)制造領(lǐng)域,測試環(huán)節(jié)是確保芯片性能和可靠性的重要步驟。然而,測試過程往往伴隨著高昂的成本和復(fù)雜的設(shè)備需求。本文將探討如何通過優(yōu)化
    的頭像 發(fā)表于 04-07 16:38 ?1556次閱讀
    干簧繼電器:<b class='flag-5'>芯片</b><b class='flag-5'>測試</b>儀的“<b class='flag-5'>性能</b>催化劑”

    ipx8防水測試儀-40米檢測手機的操作方法

    如今,隨著智能手機功能的日益豐富,防水性能已經(jīng)成為高端機型的“標(biāo)準(zhǔn)”,IPX8作為國際防護等級標(biāo)準(zhǔn)之一,需要經(jīng)過嚴(yán)格的測試和驗證。ipx8防水測試儀-40米是實現(xiàn)這一目標(biāo)的專業(yè)設(shè)備,其
    的頭像 發(fā)表于 03-28 14:13 ?2532次閱讀
    ipx8防水<b class='flag-5'>測試</b>儀-40米檢測<b class='flag-5'>手機</b>的操作<b class='flag-5'>方法</b>

    單晶硅納米力學(xué)性能測試方法

    在材料納米力學(xué)性能測試的眾多方法中,納米壓痕技術(shù)憑借其獨特的優(yōu)勢脫穎而出,成為當(dāng)前的主流測試手段。
    的頭像 發(fā)表于 03-25 14:38 ?1481次閱讀
    單晶硅納米力學(xué)<b class='flag-5'>性能</b><b class='flag-5'>測試</b><b class='flag-5'>方法</b>

    使用是德示波器完成開關(guān)電源環(huán)路響應(yīng)測試方法

    開關(guān)電源環(huán)路響應(yīng)測試是評估電源系統(tǒng)穩(wěn)定性和性能的關(guān)鍵環(huán)節(jié),通過測量系統(tǒng)在閉環(huán)控制下的動態(tài)響應(yīng)特性(如相位裕度、增益裕度、帶寬等),工程師可以優(yōu)化系統(tǒng)設(shè)計,確保電源在負(fù)載變化或輸入擾動下
    的頭像 發(fā)表于 03-18 11:36 ?1548次閱讀
    使用是德示波器完成開關(guān)電源環(huán)路響應(yīng)<b class='flag-5'>測試</b>的<b class='flag-5'>方法</b>