在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

全面概述ARM Mali GPU架構(gòu)演進(jìn)!

安芯教育科技 ? 來源:極術(shù)社區(qū)yuq ? 作者:極術(shù)社區(qū)yuq ? 2021-03-31 13:51 ? 次閱讀

年初有機(jī)會(huì)調(diào)研了一下歷代ARM Mali GPU架構(gòu),目前一共四代【1】,分別是Utgard,Midgard,Bifrost和Valhall。有感于他的演進(jìn)是大GPU架構(gòu)發(fā)展的縮影,所以作文一篇記錄心得。我不打算逐一介紹各代架構(gòu)的細(xì)節(jié),而是針對(duì)Shader處理器聊一聊每代GPU的發(fā)展。對(duì)各代架構(gòu)細(xì)節(jié)有興趣或者希望了解全貌的同學(xué)可以參考【2】【3】【4】【5】。

Shader處理器

圖形API發(fā)展到OpenGL 2.0之后,圖形處理管線擺脫了之前的固定模式,實(shí)現(xiàn)了高度的可定制化。出現(xiàn)了針對(duì)圖形管線各階段的Shader,比如Vertex Shader,F(xiàn)ragment Shader,再到后來的Geometry Shader,Tessellation Shader和Compute Shader。每個(gè)Shader都是一個(gè)用戶編寫的小程序,執(zhí)行這些小程序就是GPU中Shader處理器的工作。

Shader處理器作為核心組件,它的架構(gòu)關(guān)系到GPU的性能表現(xiàn),也是演進(jìn)最為激烈的部分。每代Mali GPU都會(huì)對(duì)Shader處理器做較大調(diào)整以適應(yīng)圖形API和應(yīng)用的發(fā)展。這里著重討論兩個(gè)主要變化——統(tǒng)一處理器架構(gòu)和TLP驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)。

從獨(dú)立到統(tǒng)一

初代的Utgard架構(gòu)有兩種Shader處理器,GP——執(zhí)行Vertex Shader,PP——執(zhí)行Fragment Shader。兩者采用不同的硬件架構(gòu)和指令集,所以編譯器會(huì)將不同的Shader編譯成各自Shader處理器的機(jī)器碼后交由它們分別執(zhí)行。

Vertex Shader是對(duì)每一個(gè)頂點(diǎn)執(zhí)行一次,而Fragment Shader是對(duì)每一個(gè)像素執(zhí)行一次,一般情況下Fragment Shader的執(zhí)行次數(shù)會(huì)多于Vertex Shader;而且很多圖形效果的實(shí)現(xiàn),F(xiàn)ragment Shader都比Vertex Shader更加復(fù)雜。所以Utgard是一個(gè)GP配上多個(gè)PP,比如一個(gè)GP配四個(gè)PP就是MP4,最高能配到MP8。單個(gè)PP的硬件設(shè)計(jì)也相對(duì)GP更加復(fù)雜。

這種獨(dú)立Shader處理器的架構(gòu)Shader處理器之間算力無法互通,當(dāng)一種Shader算力需求遠(yuǎn)大于另一種時(shí),另一種Shader處理器只能干等著無法幫忙,造成利用率下降。而且隨著圖形API加入新的Shader種類,給每一種Shader設(shè)計(jì)一種處理器會(huì)不斷增加軟件和硬件的復(fù)雜度。但其實(shí)這些Shader在純計(jì)算部分幾乎是一樣的,可以復(fù)用大部分的設(shè)計(jì),不必每一個(gè)Shader都搞一套。

所以從Midgard這一代開始,采用了統(tǒng)一Shader處理器架構(gòu)。不同種類的Shader共享計(jì)算部分作為統(tǒng)一Shader處理器,頂點(diǎn)插值和光柵化這些固定功能操作獨(dú)立于外。這樣每種Shader都能跑滿所有的處理器,提高了硬件利用率。

從ILP到TLP

ILP(Instruction Level Parallelism)和TLP(Thread Level Parallelism)都或多或少同時(shí)存在于每代的Shader處理器架構(gòu)中,但是趨勢(shì)是TLP的比重逐漸加大。

Utgard和Midgard架構(gòu)下TLP僅限于處理器級(jí)別,Shader處理器就像CPU的一個(gè)核心,一次運(yùn)行一個(gè)頂點(diǎn)或者像素的Shader,有幾個(gè)處理器就有幾個(gè)線程。比如Mali400MP4,有四個(gè)PP,可以并行處理四個(gè)像素的fragment shader。每個(gè)處理器完全采用了ILP的方式著重優(yōu)化單線程的處理能力。

我們可以從兩種架構(gòu)所使用的VLIW指令【6】一窺ILP的設(shè)計(jì)。Utgard PP的指令編碼可以參見【7】,包含兩個(gè)向量處理單元、兩個(gè)標(biāo)量處理單元、一個(gè)函數(shù)處理單元,還有負(fù)責(zé)各類數(shù)據(jù)加載和執(zhí)行控制的單元。這種VLIW指令和普通的CPU指令不同,一條指令可以完成多個(gè)操作。它對(duì)應(yīng)了硬件上的管線(pipeline)結(jié)構(gòu),如圖一所示。管線是處理器執(zhí)行指令的一條流水線,可以分成多個(gè)階段(stage)。VLIW指令里的各個(gè)操作由這條管線里的各個(gè)階段完成。

1db5cd5c-91ca-11eb-8b86-12bb97331649.jpg

圖一:Utgard PP處理器管線【7】

比如這一系列操作:取貼圖數(shù)據(jù),然后做加法,再做乘法,最后寫結(jié)果到內(nèi)存。精簡指令集(RISC)一般需要四條指令,每條指令都有各自的取指令,執(zhí)行,寫結(jié)果的步驟;但是VLIW可以在一條指令里將這些操作依序串起來,取出的貼圖數(shù)據(jù)不需要寫進(jìn)寄存器文件,直接傳給加法單元處理,加法單元的結(jié)果也是這樣直接傳遞給乘法單元,最后輸出到內(nèi)存。所以VLIW管線會(huì)更長,但是由于略去了操作的中間步驟,整合后更加高效。

普通CPU會(huì)通過復(fù)雜的硬件設(shè)計(jì),動(dòng)態(tài)調(diào)度要執(zhí)行的指令來提高單線程性能,比如并行執(zhí)行和亂序執(zhí)行。VLIW卻是通過在編譯階段,依靠編譯器靜態(tài)調(diào)度各個(gè)操作填充到VLIW指令的單元中。所以很多早期的GPU包括桌面和移動(dòng)的,為了簡化硬件降低功耗,都采用VLIW來加強(qiáng)ILP。但是這種設(shè)計(jì)對(duì)編譯器要求很高。如何調(diào)度Shader里的操作以充分利用一條指令里的所有操作單元決定了硬件的執(zhí)行效率。當(dāng)然Shader本身的邏輯也決定了有沒有足夠可以并行的操作。這些都是ILP發(fā)展方向的限制條件。

好在圖形計(jì)算是一個(gè)天生的數(shù)據(jù)并行良好的鄰域——有大量的圖元需要計(jì)算,而且每個(gè)圖元的計(jì)算可以獨(dú)立進(jìn)行,不依賴其他圖元。所以每個(gè)圖元的計(jì)算都可以作為一個(gè)線程,繪制出一幀畫面就是跑完這成千上萬個(gè)線程的工作。利用大量的線程,獲得很多可以并行執(zhí)行的操作,不用很復(fù)雜的調(diào)度就能達(dá)到很高的硬件利用率,這就是GPU里TLP設(shè)計(jì)的出發(fā)點(diǎn)。

從Bifrost架構(gòu)開始,ARM在單處理器內(nèi)部也引入了TLP。方法是將大量線程每4個(gè)一組(后來擴(kuò)展為8、16個(gè)),然后一組一組在單個(gè)處理器中運(yùn)行。同組的線程執(zhí)行相同的指令,類似于SIMD。這樣就不需要為每個(gè)線程都準(zhǔn)備一套完整的處理器設(shè)計(jì),而是可以多個(gè)線程共享除了執(zhí)行器和寄存器以外的部分。再乘上核心數(shù),同時(shí)運(yùn)行的線程數(shù)量大大增加。

而且為了隱藏一些操作比如內(nèi)存訪問的延遲,還有一個(gè)線程組的池,里面可以準(zhǔn)備執(zhí)行到不同指令的幾十組線程,在一組線程因?yàn)閿?shù)據(jù)訪問等依賴無法馬上執(zhí)行時(shí),硬件調(diào)度器可以掛起這組線程執(zhí)行另一組的線程。也算是利用線程數(shù)量的例子。

不過Bifrost架構(gòu)里依然有很多ILP的設(shè)計(jì),比如句式(Clause)指令(圖二):將很多串行指令組成一個(gè)指令塊——句子,句子是硬件調(diào)度器調(diào)度的最小單位。句子內(nèi)部可以有一些加速操作,比如當(dāng)一個(gè)加法指令輸出是一個(gè)減法指令輸入的時(shí)候,可以不通過寄存器文件直接傳遞數(shù)據(jù)。而且單個(gè)指令雖然減少了單元數(shù)量,但還是有三個(gè)計(jì)算單元。所以編譯器還是需要考慮單指令單元填充以及多指令組成句子的問題。

1e167ecc-91ca-11eb-8b86-12bb97331649.jpg

圖二:Bifrost句式指令【4】

Valhall架構(gòu)就更加依賴TLP來提升性能了,為此放棄了句式指令和多單元指令這些依賴軟件的ILP特性,減小了調(diào)度粒度的同時(shí)也縮短了處理器管線。如圖三所示,Valhall的處理器有三個(gè)計(jì)算單元,包括一個(gè)FMA(Fused-Multiply-Add),一個(gè)CVT(Convert)和一個(gè)SFU(Special Function Unit),線程組調(diào)度器可以在線程組池里找出三個(gè)當(dāng)前指令使用不同計(jì)算單元的線程組,讓他們?cè)谒膫€(gè)時(shí)鐘周期內(nèi)同時(shí)在三個(gè)計(jì)算單元內(nèi)執(zhí)行。而Bifrost雖然也有三個(gè)計(jì)算單元,但是他們屬于一條長指令,而且ADD和Table排在FMA下游,是一個(gè)串行結(jié)構(gòu),這一條管線需要八個(gè)時(shí)鐘周期。

對(duì)比來看Valhall再次加強(qiáng)了TLP,一個(gè)處理器最多可以同時(shí)運(yùn)行三個(gè)線程組,而Bifrost最多只有一個(gè)。反過來看Valhall將三個(gè)Bifrost處理器壓縮為一個(gè),減少了控制邏輯,就可以有更多的空間增加處理器的數(shù)量,也是增加了TLP。

1ee043d8-91ca-11eb-8b86-12bb97331649.jpg

圖三:Valhall和Bifrost處理器對(duì)比【5】

結(jié)語

在GPU架構(gòu)歷史上,統(tǒng)一Shader處理器和TLP驅(qū)動(dòng)架構(gòu)設(shè)計(jì)都是趨勢(shì)。各家各代的GPU都或多或少經(jīng)歷了這個(gè)過程。我們純從架構(gòu)上看后期的GPU都比前期來的先進(jìn),但是放在當(dāng)時(shí)的環(huán)境下,早期的圖形應(yīng)用Shader負(fù)載不是很復(fù)雜,而且移動(dòng)鄰域處理器對(duì)于面積和功耗方面的嚴(yán)格控制,都是他合理性的來源。

引用

Mali (GPU):https://zh.wikipedia.org/wiki/Mali_(GPU)

Lima driver status update:https://xdc2019.x.org/event/5/contributions/328/attachments/420/670/lima.pdf

ARM‘s Mali Midgard Architecture Explored:https://www.anandtech.com/show/8234/arms-mali-midgard-architecture-explored

ARM Unveils Next Generation Bifrost GPU Architecture & Mali-G71: The New High-End Mali:https://www.anandtech.com/show/10375/arm-unveils-bifrost-and-mali-g71

Arm’s New Mali-G77 & Valhall GPU Architecture: A Major Leap:https://www.anandtech.com/show/14385/arm-announces-malig77-gpu

Very long instruction word:https://en.wikipedia.org/wiki/Very_long_instruction_wordA4%E5%AD%97

Mali ISA:https://gitlab.freedesktop.org/panfrost/mali-isa-docs/-/tree/master

編輯:jq

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

    關(guān)注

    0

    文章

    31

    瀏覽量

    23653
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1652

    瀏覽量

    49721
  • TLP
    TLP
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    15883
  • GPU架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    8537

原文標(biāo)題:ARM Mali GPU架構(gòu)演進(jìn)

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Arm助力開發(fā)者加速遷移至Arm架構(gòu)云平臺(tái) Arm云遷移資源分享

    隨著基于 Arm 架構(gòu)的云實(shí)例日益擴(kuò)展,越來越多的用戶正從傳統(tǒng)平臺(tái)遷移至 Arm 平臺(tái)上。
    的頭像 發(fā)表于 04-09 18:23 ?425次閱讀

    智能座艙SoC,急需更強(qiáng)大的GPU IP

    ? 電子發(fā)燒友網(wǎng)報(bào)道(文/梁浩斌)汽車智能化的浪潮勢(shì)不可擋,傳統(tǒng)ECU架構(gòu)因硬件冗余、通信效率低等缺陷逐漸被淘汰,電子電氣架構(gòu)從分布式向集中式演進(jìn),取而代之的是高性能CPU、GPU所支
    的頭像 發(fā)表于 03-09 08:36 ?1904次閱讀
    智能座艙SoC,急需更強(qiáng)大的<b class='flag-5'>GPU</b> IP

    從CPU到GPU:渲染技術(shù)的演進(jìn)和趨勢(shì)

    渲染技術(shù)是計(jì)算機(jī)圖形學(xué)的核心內(nèi)容之一,它是將三維場(chǎng)景轉(zhuǎn)換為二維圖像的過程。渲染技術(shù)一直在不斷演進(jìn),從最初的CPU渲染到后來的GPU渲染,性能和質(zhì)量都有了顯著提升。一、從CPU到GPU:技術(shù)特點(diǎn)
    的頭像 發(fā)表于 02-21 11:11 ?504次閱讀
    從CPU到<b class='flag-5'>GPU</b>:渲染技術(shù)的<b class='flag-5'>演進(jìn)</b>和趨勢(shì)

    計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)演進(jìn)

    計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)演進(jìn)見證了信息技術(shù)的飛速發(fā)展。早期的總線型網(wǎng)絡(luò)架構(gòu),通過一條共享的通信線路連接各個(gè)節(jié)點(diǎn),結(jié)構(gòu)簡單且成本較低,但存在單點(diǎn)故障和傳輸效率不高的問題。隨著技術(shù)的發(fā)展,星型網(wǎng)絡(luò)架構(gòu)
    的頭像 發(fā)表于 01-21 11:11 ?287次閱讀

    芯原發(fā)布新一代Vitality架構(gòu)GPU IP系列

    芯原股份近日宣布,正式推出全新Vitality架構(gòu)的圖形處理器(GPU)IP系列。這一新一代GPU架構(gòu)以其卓越的計(jì)算性能和廣泛的應(yīng)用領(lǐng)域,吸引了業(yè)界的廣泛關(guān)注。 Vitality
    的頭像 發(fā)表于 12-24 10:55 ?704次閱讀

    一文詳解Arm架構(gòu)Armv9.6-A中的最新功能

    Arm CPU 是當(dāng)今人工智能 (AI) 賦能軟件的關(guān)鍵,它可解釋、處理和執(zhí)行指令。Arm 指令集架構(gòu) (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。Arm ISA 持續(xù)
    的頭像 發(fā)表于 12-17 10:22 ?2548次閱讀
    一文詳解<b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b>Armv9.6-A中的最新功能

    《算力芯片 高性能 CPUGPUNPU 微架構(gòu)分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    在數(shù)據(jù)挖掘工作中,我經(jīng)常需要處理海量數(shù)據(jù)的深度學(xué)習(xí)任務(wù),這讓我對(duì)GPU架構(gòu)和張量運(yùn)算充滿好奇。閱讀《算力芯片》第7-9章,讓我對(duì)這些關(guān)鍵技術(shù)有了全新認(rèn)識(shí)。 GPU架構(gòu)從早期的固定功能流
    發(fā)表于 11-24 17:12

    GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)

    眾所周知,在大型模型訓(xùn)練中,通常采用每臺(tái)服務(wù)器配備多個(gè)GPU的集群架構(gòu)。在上一篇文章《高性能GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)(上篇)》中,我們對(duì)GPU
    的頭像 發(fā)表于 11-05 16:20 ?938次閱讀
    <b class='flag-5'>GPU</b>服務(wù)器AI網(wǎng)絡(luò)<b class='flag-5'>架構(gòu)</b>設(shè)計(jì)

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--了解算力芯片GPU

    本篇閱讀學(xué)習(xí)第七、八章,了解GPU架構(gòu)演進(jìn)及CPGPU存儲(chǔ)體系與線程管理 █從圖形到計(jì)算的GPU架構(gòu)演進(jìn)
    發(fā)表于 11-03 12:55

    Arm全面設(shè)計(jì)助力Arm架構(gòu)生態(tài)發(fā)展

    Arm 控股有限公司(納斯達(dá)克股票代碼:ARM,以下簡稱 Arm)近日分享了Arm 全面設(shè)計(jì) (Arm
    的頭像 發(fā)表于 10-21 09:58 ?629次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--全書概覽

    GPU、NPU,給我們剖析了算力芯片的微架構(gòu)。書中有對(duì)芯片方案商處理器的講解,理論聯(lián)系實(shí)際,使讀者能更好理解算力芯片。 全書共11章,由淺入深,較系統(tǒng)全面進(jìn)行講解。下面目錄對(duì)全書內(nèi)容有一個(gè)整體了解
    發(fā)表于 10-15 22:08

    京東廣告投放平臺(tái)整潔架構(gòu)演進(jìn)之路

    設(shè)計(jì)思想到落地框架都進(jìn)行了徹底的革新,涉及內(nèi)容比較多,因此我們希望通過一系列文章循序漸進(jìn)地闡述本次架構(gòu)升級(jí)的始末。新架構(gòu)并不是一日而成的,而是經(jīng)過了多次架構(gòu)升級(jí)的演進(jìn),因此我們將本文作
    的頭像 發(fā)表于 09-18 10:26 ?1101次閱讀
    京東廣告投放平臺(tái)整潔<b class='flag-5'>架構(gòu)</b><b class='flag-5'>演進(jìn)</b>之路

    ARM進(jìn)軍GPU領(lǐng)域,挑戰(zhàn)英偉達(dá)與英特爾

    英國芯片設(shè)計(jì)巨頭ARM正悄然在以色列拉阿納納的研發(fā)中心布局其GPU(圖形處理器)戰(zhàn)略,意圖在全球圖形處理市場(chǎng)與英偉達(dá)和英特爾等業(yè)界巨頭一較高下。據(jù)悉,ARM已在該開發(fā)中心組建了一支由約100名精英芯片與軟件工程師構(gòu)成的全球圖形處
    的頭像 發(fā)表于 08-21 10:19 ?711次閱讀

    Arm發(fā)布針對(duì)旗艦智能手機(jī)的新一代CPU和GPU IP

    全球領(lǐng)先的芯片設(shè)計(jì)公司Arm宣布了針對(duì)旗艦智能手機(jī)市場(chǎng)的全新CPU和GPU IP設(shè)計(jì)方案——Cortex-X925 CPU和Immortalis G925 GPU。這兩款產(chǎn)品均基于Armv9
    的頭像 發(fā)表于 05-31 09:44 ?776次閱讀

    Arm發(fā)布Arm v9架構(gòu)CPU、GPU IP及設(shè)計(jì)軟件,助力AI計(jì)算

    長期以來,全球智能手機(jī)處理器均采用Arm架構(gòu),包括蘋果、高通、聯(lián)發(fā)科在內(nèi)的眾多廠商均依賴Arm提供的IP,且該應(yīng)用范圍已逐漸擴(kuò)展至個(gè)人電腦與數(shù)據(jù)中心領(lǐng)域。
    的頭像 發(fā)表于 05-30 09:17 ?1149次閱讀
    主站蜘蛛池模板: 深夜在线观看大尺度 | 日本aaaaa高清免费看 | 欧美日韩国产成人精品 | 影音先锋色天使 | 国产美女久久 | 欧美三级视频 | 手机看高清特黄a大片 | 国产一级特黄高清在线大片 | 国产香蕉视频在线播放 | 狠狠色综合久久久久尤物 | 美女操出水 | 国产视频一区二区在线观看 | 久久久久久夜精品精品免费啦 | 新激情五月 | 免费的两性视频网站 | 97爱爱爱 | 婷婷激情五月 | 琪琪see色原网一区二区 | 日韩久久精品视频 | 亚洲一区二区精品视频 | 毛片免费网站 | 三级免费黄录像 | 欧美18videosex性欧美69 | 中文字幕1区 | 亚洲一级毛片在线观播放 | 天天色天天草 | 久青草国产手机在线观 | 免费在线黄视频 | 久久久久99精品成人片三人毛片 | 狠狠干b| 四虎免费影院在线播放 | 性xxxx奶大欧美高清 | 亚洲 欧美 精品专区 极品 | 天堂网在线新版www 天堂网在线资源 | 红怡院欧洲 | 亚洲卡5卡6卡7国色天香 | 欧美天天射 | 精品久久久久久婷婷 | 日本黄色免费观看 | 亚洲国产成+人+综合 | 色妞妞网|