移动终端的GPU显卡介绍

嵌入式领域里面,不同的SOC芯片往往喜欢采用不同的GPU,目前为止有4家公司提供移动端的GPU芯片:ARM、Imagination Technologies、Vivante和Nvidia (高通Adreno和Broadcom VideoCore不在名单)。

下面的这个列表是比较老的系列芯片,最新的产品可以去官网查看:

ARM Imagination Technologies Vivante Nvidia
  • Mali-400 Series:
    • Mali-400 MP(Rockchip RK3066)
    • Mali-450 MP
  • Mali-600 Series
    • Mali-T604
    • Mali-T624
    • Mali-T628
    • Mali-T658
    • Mali-T678
  • PowerVR SGX Series 5:
    • SGX520
    • SGX530
    • SGX531
    • SGX535
    • SGX540
    • SGX545
  • PowerVR SGX Series 5XT:
    • SGX543MP1-16
    • SGX544MP1-16
    • SGX554MP1-16( AllWinner A31/ OMAP 5430)
  • PowerVR SGX Series 6:
    • G6200
    • G6230
    • G6400
    • G6430
    • G6600
  • 2D graphics:
    • GC300
    • GC350
  • 3D graphics:
    • GC400
    • GC800
    • GC1000
    • GC2000(Freescale i.MX6)
    • GC4000
  • ULP GeForce (Tegra 2/3)
  • 74-core GeForce (Tegra 4)

下面是GPU的参数介绍,比较重要的参数标红了:

  Mali-400 MP4 PowerVR SGX544MP2 GC2000 Tegra 3 GPU
Frequency 240 MHz to 533 MHz 532 MHz 528MHz (600 MHz shader) 520 MHz
Shader Core 4 8 4 12
Geometry Rate 44M Tri/s for 1 core @ 400 MHz 70 M Tri/s per core @ 400 MHz 100 M Tri/s (Freescale claims 200 M Tri/s in i.MX6, i.MX6 Reference Manual: 88 Mtri/s,… go figure)
Textured Pixel Rate 1.6G Pix/s for 1 core @ 400 MHz 1 G Pix/s per core @ 200 MHz 1.25 G Pix/s (i.MX6 RM: 1.066G pixels/sec)
Core Processing 7.2 GFLOPS @ 200 MHz 12.8 GFLOPS @ 200 MHz
(34 GFLOPS @ 532 MHz)
24 GFLOPS (21.6 GFLOPS
 in i.MX6)
7.2 GFLOPS @ 300MHz
Antutu 3.x 2D: 1338
3D: 2338
Resolution: 1280×672
Device: MK808 (Android 4.1.1)
2D: 1058
3D: 4733
Resolution: 1024×768
Device: Onda V812 (Android 4.1.1)
2D: 733
3D: 1272
Resolution: 1280×672
Device: Hi802 (Android 4.0.4)
2D: 814
3D: 2943
Resolution: 800×1205
Device: Nexus 7 (Android 4.2.1)
Silicon Area 4×4.7mm2 ?  – 6.9 mm2  –
Process 65nm LP or GP 40nm TSMC 40nm LP 40nm
API support OpenGL ES 1.1 & 2.0
OpenVG 1.1
OpenGL ES 2.0 and OpenGL ES 1.1 + Extension Pack
OpenVG 1.1 enabling Flash and SVG
PVR2D for legacy 2D Support (BLTs, ROP2/3/4)
OpenWF enabling advanced compositing
OpenCL Embedded for GP-GPU
OpenGL ES 1.1/2.0/Halti

OpenCL 1.1 EP
OpenVG 1.1
DirectFB 1.4
GDI/Direct2D
X11/EXA
DirectX 11 9.3
OpenGL ES 1.1/2.0
OpenVG 1.1
EGL 1.4
Operating System support Android
Linux
Linux, Symbian and Android
Microsoft WinCE
RTOS on request
Android
Linux
Windows
QNX
Android
Windows 8
 
下面重点讲讲 GC2000:

Host Interface:GPU和CPU还有内存通讯的接口。

  Memory Controller:GPU内存控制器。

  Graphics Pipeline Front End:相当于GPU内部的DMA,用于从内存中取指令和数据给GPU处理。

  Ultra-threaded Unifed Shader:统一着色器,即可用作顶点着色器(vertex shader)也能用作片元着色器(fragment shader)。用作vertex shader时主要负责几何变换和光照计算,用作fragment shader时主要负责处理贴图数据和计算像素颜色。

  3D Rendering Engine:负责将三角形和线段转换为像素(光栅化),计算三角形面的颜色属性等。

  Texture Engine:用于材质贴图的处理。

  Pixel Engine/Resolve:负责像素透明处理,可见平面的测定和抗锯齿的一些处理,并将GPU处理完成的图像数据输出到frambuffer。

GC2000 GPU使用的图形API:OpenGL ES / Driect X / OpenCL / DirectFB  /X11 / Direct2D / OpenVG

OpenGL ES:

     典型EGL系统布局

DirectFB :
针对linux 系统下的显示接口,通过open /dev/fb0 设备,ioctl,mmap,来显示图像。
 
X11:
server/client 模式的窗口管理系统,比较复杂,Wayland 是Update版本
 
OpenCL:
并行计算用的,多用于算法。
 
Direct2D:
2D 图形加速 (光栅图就是像素图,矢量图笼统地说有两步,就是 设定 和 光栅化。)
 
OpenVG:
矢量图形加速
 
 
 以后继续更新。。。
 
参考文档:
 
 
原文地址:https://www.cnblogs.com/hutiann/p/11248824.html