0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PICA200内核实现OCP构建模块的应用方案

电子设计 来源:维库电子网 作者:维库电子网 2021-03-23 09:46 次阅读

嵌入式系统中的图形处理技术(如用户界面和游戏)正在不断发展和改善,例如从基于2D的交互图形发展到基于3D的交互图形。便携式游戏站(PSP)这样的便携式设备就实现了PlayStation 2类3D图形质量。而在PC图形方面,可以让开发人员在顶点和片段层级配置功能的可编程着色方案已经成为DirectX和OpernGL API基础架构的主要方案,这类硬件在像Xbox360和PlayStation 3这样的游戏设备上已经形成了非常丰富的内容和经验。然而嵌入式系统中的图形处理存在着很多问题和挑战需要开发人员去解决,例如为了保持长电池寿命所需的低功耗,因为空间约束要使系统的器件数量最少,以及限制门的数量以降低成本。

Khronos Group公司正在定义针对嵌入式领域的各种媒体API,目前已经发布了一种图形API,即OpenGL ES。该OpenGL ES共有1.x和2.x两个版本,分别针对固定图形管线和可编程图形管线,这种方法与PC图形中用的方法是一样的。

DMP图形内核概述

DMP为嵌入式领域中的便携式设备、移动电话、汽车导航系统、娱乐游戏机和所有其它嵌入式图形设备提供了可扩展的高性能、低功耗3D图形内核。PICA200是最新的3D图形IP内核,涵盖了前面提到的所有应用领域。

该内核由多个组件组成,包括OpenGL ES标准功能以及我们自己最初的图形技术。这些组件是根据用户要求以及带有定制要素(如性能、存储器带宽和功耗)的目标系统构建的。在选择IP接口方案时,很难设定在这么宽的应用范围下用户的具体要求。在采用开放内核协议(OCP)作为我们组件的标准总线接口方面DMP一直做得非常成功。

Maestro技术

通过采用OpenGL ES 1.1和我们自己的、被称为Maestro的扩展图形API,图形内核已经取得了很好的高性能低功耗效果。这些Maestro功能包括了各种目标应用中频繁使用和实用的图形功能,包括各种光照和明暗处理模型,例如Phong、Cook-Torrance和BRDF、阴影效应、多边形细分以及过程纹理。

1:Maestro功能、光照、阴影和微粒效果

Maestro功能利用我们改进的最初算法以硬连线逻辑形式实现,从而解决了嵌入式系统设计中低功耗与高性能的矛盾。Maestro功能可以实现非常丰富的内容,比如PC和便携式设备上的控制台图形(图1)。

Maestro功能包括以下一些效果:

1. 光照Maestro-包括按照每个片断的高性能光照功能,并支持各种明暗处理模型,如Phong、同向/异向 BRD以及下表面散射;

2. 阴影Maestro-支持实时的硬阴影和软阴影处理;

3. 形状Maestro-通过用硬件(例如NURBS和多边形细分)产生精细的多边形来减少存储器带宽,因此可以使输入数据量实现最小化;

4. 映像Maestro-支持凹凸映像和过程纹理,并且过程纹理不需要任何存储器读取来生成纹理图像,因为图像是根据算术等式产生的;

5. 微粒Maestro-用硬件产生雾化、云和气体效果。

图1:由Futuremark和DMP合作开发的PICA200演示场景。

图2:只使用OpenGL ES的渲染结果(左边)以及用OpenGL ES 和我们的Maestro API后的渲染结果(右边)

图3:利用我们的阴影Maestro API实现的实时软阴影渲染。

图4:使用形状Maestro的多边形细分实例。左边的图形显示了来自主CPU的输入控制多边形,右边的图形显示了我们的图形硬件实时产生的多边形。

图5:映像Maestro实例(左边:针对每个片段光照的凹凸映像,右边:利用没有任何纹理存储器访问的过程纹理硬件实现的木纹图案)。

图6:微粒 Maestro可以产生雾化、云和气体效果。在我们的渲染算法中,清晰和模糊对象的组合没有任何的瑕疵。

2:硬件框图

这些Maestro技术通过算法优化以及多个研究机构的长期研究得以实现。目前我们正在向嵌入式系统引入PC级的图形和经验。

硬件框图

下面是图形内核的框图。

在图7中的所有红色箭头都指向了采用OCP的存储器总线接口。

图7:PICA200框图。

在开发PICA200内核的过程中解决了以下一些挑战:

1)为了涵盖所有嵌入式系统,IP内核必须支持各种运行光谱的设备,包括从带微型显示屏的移动电话到带很大显示器的娱乐设备。

2)3D图形硬件需要极大的带宽用于命令、纹理、色彩和z缓冲器读/写访问,而这种带宽将确定3D IP内核的性能,并且

3)IP内核应能很容易地集成到SoC系统环境中。

为解决所有这些问题,我们决定采用OCP作为我们构建模块方案的标准接口基础架构。结果是,我们可以提供下面的选项来满足用户的需求(表1)。

以移动电话系统为例,要求支持OpenGL ES功能和VGA显示器尺寸,功耗应该最小,因此在这种情况下,顶点处理器和纹理管线的数量需要分别优化为两个(当然这里的数量仅仅是一个例子)。Maestro功能的实现并不仅仅支持Open ES,因为在大量的蜂窝电话中不需要非标准的功能。纹理缓存参数也可以针对SoC总线特性进行优化,因为事实上这些参数是由OCP标准自动提供的。在像娱乐游戏机这样的应用中,所有Maestro功能都需要组件来支持更高质量和吸引人的内容以及高性能和大显示器尺寸。

我们还采用了利用OCP线程协议的预取机制。这对于避免渲染管线的停顿以保持很高的渲染性能来说是很重要的。表2给出了在该图形内核中线程ID分配的实例,在这个例子中,内核共有四个纹理模块。

OCP2.2支持标示哪个线程允许失序响应,但是这个特殊DMP内核并不支持失序处理,因为对色彩和深度缓冲器的访问需要使用基于读-修改-写锁定的访问,对其它的访问没有针对失序访问支持的逻辑和FIFO,以便生成小型IP内核及支持上述各种应用。为了在没有标示功能条件下获得较好的存储器访问性能,这种图形内核针对基于模块化的光栅化处理进行了优化,所有从三角函数产生的象素都要通过4X4这样的矩形块处理,以便通过长突发长度访问和数据访问跟上对齐地址而充分利用存储器访问,并为纹理和色彩缓冲器获得较高的缓存利用率。

3:OCP好处

使用OCP的最大好处是广泛使用的行业标准是开放的,任何人都能得到。此外,大多数主要的SoC销售商利用和支持OCP。这样一来,我们可以根据协议在我们的接口和缓存中定义某些参数,以优化我们的用户总线访问接口和系统参数,就像表1中的最后一行,这为IP提供商和SoC供应商同时提供了一种高层次的构建模块概念。

本文小结

这种内核最早是在SIGGRAPH 2006上发布的(图8),目前PICA200构建内核已经能够供货。

图8:在SIGGRAPH 2006上的FPGA原型展示。

我们多年来一直在为嵌入式应用开发3D图形技术,而利用OCP可以减少开发这种技术的时间和成本。对于IP内核和SoC供应商来说,系统整合工作是一项非常耗时的工作。PICA200内核不仅支持各种嵌入式应用,还通过利用基于OCP的构建模块方案优化了每个系统的性能。OCP提供了能够满足上述设计挑战所需的完整规范和基础架构。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5075

    文章

    19039

    浏览量

    303705
  • 存储器
    +关注

    关注

    38

    文章

    7458

    浏览量

    163648
  • 电池
    +关注

    关注

    84

    文章

    10482

    浏览量

    129169
收藏 人收藏

    评论

    相关推荐

    FreeRTOS实时内核实用指南

    FreeRTOS实时内核实用指南
    发表于 09-18 08:02

    《RT-Thread 内核实现与应用开发实战—基于STM32》分享

    RT-Thread 内核实现与应用开发实战—基于STM32 基于STM32的论文+实战 主要是RT-Thread
    发表于 01-29 15:29

    嵌入式微内核实时操作系统的Wolf测试怎么实现

    介绍嵌入式微内核实时操作系统的体系结构;针对Wolf嵌入式操作系统,设计一套微内核嵌入式操作系统测试实现方案。在Wolf操作系统支持下,已产业化的阅读不耗电电子书(eBook)验证了W
    发表于 09-05 06:03

    RT-Thread 内核实现与应用开发实战指南

    RT-Thread 内核实现与应用开发实战指南
    发表于 04-03 11:43

    FreeRTOS内核实现与应用开发实战指南

    本书是野火嵌入式教学丛书“RTOS 内核实现与应用开发实战指南的”FreeRTOS 版本,其中机械工业出版社出版的《RT-Thread 内核实现与应用开发实战指南—基于 STM32》是该书的姐妹篇
    发表于 09-28 08:05

    嵌入式Linux内核实时性研究及改进

    分析了嵌入式Linux 存在实时性缺陷的原因,从Linux 调度机制入手提出了可行的改进方案,并详细阐述了代码实现。经测试,改进后的内核实时性能得到很大提高。在嵌入式技术
    发表于 07-30 10:13 8次下载

    OCP互连一致方案应用

    基于STM32的USB OTG数据通信的实现_OCP互连有助于支持基于消息的一致方案。集中的一致管理器可以串化从单独内核发出的一致消息.
    发表于 09-09 10:27 1.3w次阅读

    英特尔最小型内核实现边缘智能

    英特尔打造核心技术英特尔最小型内核实现边缘智能
    发表于 12-28 18:10 0次下载

    嵌入式内核实

    嵌入式内核实
    发表于 01-22 13:58 0次下载

    易于使用的TimerBlox系列的定时构建模块

    TimerBlox系列推出系列多功能,易于使用,精确的定时构建模块_zh
    的头像 发表于 08-26 06:10 2629次阅读

    FreeRTOS 内核实现与应用开发实战指南PDF电子书免费下载

    本书是野火嵌入式教学丛书“RTOS 内核实现与应用开发实战指南的”FreeRTOS 版本,其中机械工业出版社出版的《RT-Thread 内核实现与应用开发实战指南—基于 STM32》是该书的姐妹篇
    发表于 11-18 08:00 1696次下载
    FreeRTOS <b class='flag-5'>内核实现</b>与应用开发实战指南PDF电子书免费下载

    Linux内核实现内存管理的基本概念

    本文概述Linux内核实现内存管理的基本概念,在了解基本概念后,逐步展开介绍实现内存管理的相关技术,后面会分多篇进行介绍。
    发表于 06-23 11:56 802次阅读
    Linux<b class='flag-5'>内核实现</b>内存管理的基本概念

    面向GPS的射频IC构建模块解决方案

    本文介绍了用于实现GPS RF-to-IF接收器的Analog高性能CMOS和硅锗(SiGe)构建模块RF IC系列。有许多商用的用于GPS应用的IF至基带IC解决方案,许多公司选择设计自己的专有
    的头像 发表于 06-26 17:29 617次阅读
    面向GPS的射频IC<b class='flag-5'>构建模块</b>解决<b class='flag-5'>方案</b>

    物联网的构建模块:构建物联网的技术和解决方案

    电子发烧友网站提供《物联网的构建模块:构建物联网的技术和解决方案.pdf》资料免费下载
    发表于 11-22 10:39 0次下载
    物联网的<b class='flag-5'>构建模块</b>:<b class='flag-5'>构建</b>物联网的技术和解决<b class='flag-5'>方案</b>

    内核实时操作系统的介绍

    内核实时操作系统(Microkernel Real-Time Operating System, μRTOS)是一种专为实时设计的操作系统。它采用微内核架构,以提高系统的可靠性、安全性和可扩展性。以下是关于微内核实时操作系统的
    的头像 发表于 05-11 17:13 474次阅读