使用OCP总线接口的3D图形硬件IP
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提供了能够满足上述设计挑战所需的完整规范和基础架构。
评论