99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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ī)會調(diào)研了一下歷代ARM Mali GPU架構(gòu),目前一共四代【1】,分別是Utgard,Midgard,Bifrost和Valhall。有感于他的演進(jìn)是大GPU架構(gòu)發(fā)展的縮影,所以作文一篇記錄心得。我不打算逐一介紹各代架構(gòu)的細(xì)節(jié),而是針對Shader處理器聊一聊每代GPU的發(fā)展。對各代架構(gòu)細(xì)節(jié)有興趣或者希望了解全貌的同學(xué)可以參考【2】【3】【4】【5】。

Shader處理器

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

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

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

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

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

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

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

從ILP到TLP

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

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

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

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管線會更長,但是由于略去了操作的中間步驟,整合后更加高效。

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

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

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

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

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

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

圖二:Bifrost句式指令【4】

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

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

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

圖三:Valhall和Bifrost處理器對比【5】

結(jié)語

在GPU架構(gòu)歷史上,統(tǒng)一Shader處理器和TLP驅(qū)動架構(gòu)設(shè)計都是趨勢。各家各代的GPU都或多或少經(jīng)歷了這個過程。我們純從架構(gòu)上看后期的GPU都比前期來的先進(jìn),但是放在當(dāng)時的環(huán)境下,早期的圖形應(yīng)用Shader負(fù)載不是很復(fù)雜,而且移動鄰域處理器對于面積和功耗方面的嚴(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • GP
    GP
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

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

    關(guān)注

    1

    文章

    1662

    瀏覽量

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

    關(guān)注

    0

    文章

    34

    瀏覽量

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

    關(guān)注

    0

    文章

    15

    瀏覽量

    8585

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】+NVlink技術(shù)從應(yīng)用到原理

    前言 【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」書中的芯片知識是比較接近當(dāng)前的頂尖芯片水平的,同時包含了芯片架構(gòu)的基礎(chǔ)知識,但該部分知識比較晦澀難懂,或許是由于我一直從事的事芯片
    發(fā)表于 06-18 19:31

    GPU架構(gòu)深度解析

    GPU架構(gòu)深度解析從圖形處理到通用計算的進(jìn)化之路圖形處理單元(GPU),作為現(xiàn)代計算機(jī)中不可或缺的一部分,已經(jīng)從最初的圖形渲染專用處理器,發(fā)展成為強(qiáng)大的并行計算引擎,廣泛應(yīng)用于人工智能、科學(xué)計算
    的頭像 發(fā)表于 05-30 10:36 ?391次閱讀
    <b class='flag-5'>GPU</b><b class='flag-5'>架構(gòu)</b>深度解析

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM MaliArm 公司面向移動設(shè)備、嵌入式系統(tǒng)和
    的頭像 發(fā)表于 05-29 10:12 ?1097次閱讀

    Arm架構(gòu)何以成為現(xiàn)代計算的基礎(chǔ)

    2025 年 4 月,Arm 架構(gòu)迎來了問世 40 周年。這個始于英國劍橋一隅、懷揣雄心壯志的項目,如今已成為全球廣泛采用的計算架構(gòu)。從傳感器、智能手機(jī)、筆記本電腦,到汽車、數(shù)據(jù)中心等諸多領(lǐng)域,有數(shù)十億設(shè)備如今運(yùn)行在
    的頭像 發(fā)表于 05-20 10:02 ?504次閱讀

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

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

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

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

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

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

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

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

    一文詳解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 ?3502次閱讀
    一文詳解<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ù),這讓我對GPU架構(gòu)和張量運(yùn)算充滿好奇。閱讀《算力芯片》第7-9章,讓我對這些關(guān)鍵技術(shù)有了全新認(rèn)識。 GPU架構(gòu)從早期的固定功能流
    發(fā)表于 11-24 17:12

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

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

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

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

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

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

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

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

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

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