嵌入式领域里面,不同的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:
矢量图形加速
 

 
 以后继续更新。。。
 
参考文档:
 
 

移动终端的GPU显卡介绍的更多相关文章

  1. VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU

    一.驱动软件准备:从nvidia网站下载驱动,注意,和普通显卡下载驱动地址不同. 按照ESXi对应版本不同下载不同的安装包.安装包内含ESXi主机驱动和虚拟机驱动. GPU显卡和物理服务器兼容查询:( ...

  2. Linux终端打印命令使用介绍

    常用linux打印命令 日常使用中或shell脚本中linux终端打印命令有echo和printf.  echo命令 功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--he ...

  3. Centos7 kernel 内核升级 GPU显卡驱动程序编译安装

    1.NVIDIA官网下载相关显卡驱动 #在服务器上查看网卡型号 lspci -mm | grep NVIDIA   #在NVIDIA官网下载相应型号驱动程序 https://www.geforce.c ...

  4. gpu 显卡 本质

    根据一切皆文件的理念,显卡.gpu.显示器是特殊的单向的只写文件.

  5. 【matlab】GPU 显卡版本与计算能力(compute capability)兼容性问题

    MathWorks - Bug Reports 1. 问题说明 当运行 alexnet 等卷积神经网络需要使用 GPU 加速时,matlab 如果提示如下的警告信息: GPUs of compute ...

  6. windows下hashcat利用GPU显卡性能破解密码

    由于一般密码破解工具的破解速度实在是太慢,而且支持的密码破解协议也不多,暴力破解的话,有的密码1年时间也破不出来,用字典跑的话必须要明文密码在字典里才行,而且密码字典太大的话,也很浪费时间,跑不出来也 ...

  7. Linux 终端 Bash 常用快捷键介绍及经验

    1. 最重要的自动补全 命令 解释 Tab 自动补全 不用多说,自动补全可以节省大量时间 2. 编辑跳转 命令 解释 Ctrl + A 跳转到当前行首 Ctrl + E 跳转到当前行末 Alt + F ...

  8. 并行计算基础(1)(GPU架构介绍)

    一.常用术语 Task:任务.可以完整得到结果的一个程序,一个程序段或若干个程序段.例如搬砖. Parallel Task:并行任务.可以并行计算的任务.多个人搬砖. Serial Execution ...

  9. Python gpu 显卡小工具 gpu

    安装 pip install gpustat 或者 换源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade gpust ...

随机推荐

  1. 解决Minikube start卡住的方法

    安装与问题 在mac上安装minikube对k8s进行学习,根据官方Quick Start brew cask install minikube 就可以完成minikube的安装 在安装前需要安装vi ...

  2. 没有dockerfile的情况下如何查看docker的镜像信息

    前言 参考资料 https://baijiahao.baidu.com/s?id=1564406878758073&wfr=spider&for=pc 很实用的功能哈.. 步骤 1.先 ...

  3. JVM参数说明

    转载于https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html文章 JVM参数说明 -Xms:初始堆大小  默认值=物理内存的1 ...

  4. 前端每日实战:69# 视频演示如何用纯 CSS 创作一个单元素抛盒子的 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/qKwXbx 可交互视频 此视频是可 ...

  5. 每天一个Linux命令:locate(19)

    locate locate命令 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...

  6. HDU 6040 Hints of sd0061 —— 2017 Multi-University Training 1

    Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...

  7. linux0.11源码内核——系统调用,int80的实现细节

    linux0.11添加系统调用的步骤 假设添加一个系统调用foo() 1.修改include/linux/sys.h 添加声明 extern int foo(); 同时在sys_call_table数 ...

  8. MyBank后感

    MyBank系统主要的构成部分有:银行账户的初始化,开户,存款,取款,转账,查询余额,修改密码这些操作. =============================================== ...

  9. 汇编 “ program has no starting address ”解决方法

           

  10. vue.js样式绑定

    vue.js样式绑定 class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处理 class 和 styl ...