一种高数据通量纹理Cache层次结构制造技术

技术编号:13163931 阅读:115 留言:0更新日期:2016-05-10 10:00
本发明专利技术涉及一种高数据通量纹理Cache层次结构,该结构包括两组多端口、非阻塞、流水线的纹理一级Cache、纹理滤波单元、纹理解压缩单元和流水线纹理二级Cache;纹理一级Cache与纹理滤波单元相连,用于提供纹素给纹理滤波单元进行纹理滤波;纹理一级Cache还有一端与纹理解压缩单元相连,用于当一级Cache发生缺失时通过纹理二级Cache和纹理解压缩单元获取更新数据;纹理解压缩单元一端与纹理一级Cache相连,另一端与纹理二级Cache相连,用于解压缩纹理二级Cache的数据;所述纹理二级Cache与纹理解压缩单元相连。本发明专利技术的纹理Cache数据吞吐率高,延迟小,并发性强,适用于多纹理流水线的处理。

【技术实现步骤摘要】

本专利技术涉及计算机硬件
,尤其涉及一种高数据通量纹理Cache结构。
技术介绍
3D图形绘制的纹理映射功能存在大量需要被贴图的片段,每个片段的纹理过滤时会发出多个纹理存储器访问请求,纹理存储器需要为纹理过滤单元提供“高带宽、低延迟”的纹理数据,而3D图形绘制中大量的纹理数据需要存储在片外的DDR存储器上,因此需要使用高数据通量的cache完成数据的获取。
技术实现思路
本专利技术提供了一种高数据通量纹理Cache层次结构,解决了图形处理器内部存储带宽瓶颈问题。本专利技术的技术解决方案是:本专利技术为一种高数据通量纹理Cache层次结构,其特殊之处在于:该结构包括两组多端口、非阻塞、流水线的纹理一级Cache、纹理滤波单元、纹理解压缩单元和流水线纹理二级Cache;所述纹理一级Cache与纹理滤波单元相连,用于提供纹素给纹理滤波单元进行纹理滤波;纹理一级Cache还有一端与纹理解压缩单元相连,用于当一级Cache发生缺失时通过纹理二级Cache和纹理解压缩单元获取更新数据;所述纹理解压缩单元一端与纹理一级Cache相连,另一端与纹理二级Cache相连,用于解压缩纹理二级Cache的数据;所述纹理二级Cache与纹理解压缩单元相连。上述纹理一级Cache为多Bank多端口 Cache,可同时处理纹理地址产生器并发的多组纹理请求;上述纹理一级Cache为非阻塞Cache,纹理地址产生器的某个纹理请求发生缺失后,纹理一级Cache可以继续取后续纹理地址产生器的纹理请求;上述纹理一级Cache为流水线Cache,发生命中时能够每时钟周期完成一组纹理访问请求的访问。上述的纹理二级Cache为流水线Cache,发生命中时每个时钟周期可以完成一次纹理请求的处理;所述纹理二级Cache内部存储压缩格式的纹理,根据纹理一级Cache的更新请求将压缩纹理通过解压缩模块解压缩后更新纹理一级Cache。纹理存储访问是3D图形处理中对于DDR带宽需求巨大的访问。采用两级纹理Cache可以有效地降低3D图形处理对于DDR带宽的需求。图形处理器中设置多个并行的纹理单元可以极大地提高纹理贴图速度,多个纹理单元需要并行读取多个纹理数据,对应的纹理Cache系统应该可以一次提供多个数据访问,多端口多Bank的Cache设计能够满足多个纹理请求同时访问的需求。纹理贴图时多个纹理贴图之间没有相关性,某个纹理访问纹理Cache时发生缺失的更新等待期间纹理处理单元可以处理后续的纹理,将Cache数据的更新和纹理的请求并行起来,所以Cache应该是非阻塞的。本专利技术为了进一步减少存储带宽需求,纹理数据可以采用压缩格式存储在DDR中。由于纹理映射过程对于每个三角形仅执行一次,所以可以使用有损压缩。S3TC压缩算法将纹理图像划分为4*4的Tiles,压缩算法针对每个Tile进行。将一个Tile的16个颜色值用4个参考值(其中两个需要存储,另外两个通过插值获得)和16个2位的索引值标志。因此本专利技术的具有以下优点: 1、本专利技术内部集成一级Cache和二级Cache,一级Cache又根据纹理需求划分为多个子Cache。一级Cache采用多Bank、多端口、非阻塞、流水线设计,能够同时为多个并发的纹理流水线提供多组纹理数据。2、本专利技术的二级Cache采用流水线设计,内部采用压缩存储,提高总体带宽。3、本专利技术的层次结构的纹理Cache数据吞吐率高,延迟小,并发性强,适用于多纹理流水线的处理。【附图说明】:图1是本专利技术的结构框图;图2是本专利技术中纹理一级Cache的结构框图;图3是本专利技术中纹理二级Cache的结构框图;图4是本专利技术中纹理解压缩的结构框图。【具体实施方式】:下面结合附图和具体实施例,对本专利技术的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本专利技术的保护范围。参见图1,本专利技术的具体实施例中,该结构包括两组多端口、非阻塞、流水线的纹理一级Cache2、纹理滤波单元3、纹理解压缩单元4和流水线纹理二级Cache5,其外部分别与纹理地址处理器I和外部纹理DDR缓冲区6连接;其中:纹理一级Cache2—端与纹理地址处理器I相连,用于接收纹理地址处理器产生的并行的多个纹理访问请求,另一端与纹理滤波单元3相连,用于提供纹素给纹理滤波单元进行纹理滤波;纹理一级Cache还有一端与纹理解压缩单元4相连,用于当一级Cache发生缺失时通过纹理二级Cache和纹理解压缩单元4获取更新数据; 纹理解压缩单元4一端与纹理一级Cache I相连,另一端与纹理二级Cache5相连,用于解压缩纹理二级Cache的数据;纹理二级Cache5—端与纹理解压缩单元4相连,另一端与外部纹理DDR缓冲区6相连,用于当纹理一级Cache发生缺失时从外部DDR中更新纹理图像到一级Cache。参见图2,纹理一级Cache设计为多端口、多Bank、非阻塞、流水线的Cache。分为三个部分:输入请求冲突检测及请求合并划分2.1、多端口多Bank的纹理一级Cache核2.2、非阻塞单元2.3。其中输入请求冲突检测及合并划分模块负责将纹理地址计算单元送来的纹理请求进行合并,并检测纹素地址的Bank冲突,一次将不冲突的最多9个纹素请求送到多Bank的纹理一级Cache核进行访问。纹理一级Cache核是标准的多端口、多Bank、流水线Cache,最多可以同时接收9个请求并输出9组数据。非阻塞单元用于非阻塞请求及数据缓冲、更新请求合并、缺失更新以及输出数据按照纹理访问特性进行组装,并将结果送到纹理过滤单元。当前第1页1 2 本文档来自技高网...

【技术保护点】
一种高数据通量纹理Cache层次结构,其特征在于:该结构包括两组多端口、非阻塞、流水线的纹理一级Cache、纹理滤波单元、纹理解压缩单元和流水线纹理二级Cache;所述纹理一级Cache与纹理滤波单元相连,用于提供纹素给纹理滤波单元进行纹理滤波;纹理一级Cache还有一端与纹理解压缩单元相连,用于当一级Cache发生缺失时通过纹理二级Cache和纹理解压缩单元获取更新数据;所述纹理解压缩单元一端与纹理一级Cache相连,另一端与纹理二级Cache相连,用于解压缩纹理二级Cache的数据;所述纹理二级Cache与纹理解压缩单元相连。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑新建田泽吴晓成韩立敏任向隆张骏
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1