一种图形处理器预取单元及指令与顶点的预取方法技术

技术编号:37201776 阅读:12 留言:0更新日期:2023-04-20 22:57
本发明专利技术适用于图形处理技术领域,提供一种图形处理器预取单元及指令与顶点预取方法,所述图形处理器预取单元包括外存接口模块、状态机控制模块、一级缓存模块、二级缓存模块和输出模块。通过将图形处理器预取的指令、顶点和索引进行状态机控制和两级缓存,将指令、顶点和索引三类数据分时进行传输,由于指令和顶点的传输长度不同以及顶点的重复使用,在两段传输段之间通过比对指令和顶点的指针,仲裁下一段读写的数据类型,实现了根据不同类型数据的预取和输出状态动态调整指令和顶点的传输先后顺序,减少了缓存中由于出现指令、顶点、索引的数据空或者满状态的情况和等待时间,优化了数据传输效率,提高了图形处理器预取数据带宽。宽。宽。

【技术实现步骤摘要】
一种图形处理器预取单元及指令与顶点的预取方法


[0001]本专利技术属于图形处理
,尤其涉及一种图形处理器预取单元及指令与顶点的预取方法。

技术介绍

[0002]在图形处理器中,指令和顶点是图形处理的前端数据入口,指令是着色语言程序通过图形编译器编译后生成的,顶点是组成图元的基本单元,顶点在着色器中进行空间变换和光照后送入到图元装配、图元处理组装成图元,图元进行光栅化之后生成片段,片段像素数量远远大于顶点数量。顶点和片段像素数据主要包含空间坐标、颜色值、纹理坐标、法向向量等,每个属性最多包含四个分量,每个分量可能是一个单精度浮点类型。指令和顶点数据在图形处理前存储在外存中。
[0003]在图形管线中,片段像素的带宽需求大于指令和顶点的带宽需求。在同一个图形处理器中,指令、顶点和片段像素的传输速率应该尽量匹配,一方面避免硬件资源浪费,另一方面保证图形处理性能。
[0004]图形管线中,对外存中相关联的指令、顶点、索引的原始数据依次进行小段传输的方法,缓存中依次轮流写入一段指令、顶点、索引,然后依次读取到着色器。当缓存中的指令、顶点、索引的数据处于空或者满状态时会导致读或写数据的等待,传输效率不高。

技术实现思路

[0005]鉴于上述问题,本专利技术的目的在于提供一种图形处理器预取单元及指令与顶点的预取方法,旨在解决现有图形处理器的数据传输效率不高的技术问题。
[0006]一方面,所述图形处理器预取单元包括:
[0007]外存接口模块,用于将状态机控制模块在缓存写地址状态时计算出来的外存读地址和传输长度发送给外存的控制器,并将外存返回的数据传输到一级缓存模块;
[0008]状态机控制模块,具有读状态机和写状态机,分别用于控制缓存的读状态和写状态;
[0009]一级缓存模块,用于将外存接口模块通过状态机控制模块传输过来的指令、顶点、索引数据分区存储,并读出到二级缓存模块或输出模块;
[0010]二级缓存模块,包括二级顶点缓存和二级索引缓存,用于当状态机控制模块仲裁选择从一级缓存模块读出顶点、索引数据时,首先写入索引,然后对重复的索引序号进行标记,在写入顶点时跳过重复顶点属性数据;
[0011]输出模块,用于将从一级缓存模块和二级缓存模块读取的指令、索引及顶点数据进行格式拆分整合后输出给统一渲染架构着色器。
[0012]另一方面,图形处理器中的指令与顶点预取方法,包括一级缓存写入数据和一级缓存读出数据;
[0013]S11、当状态机控制模块在接收到图形处理启动工作命令后,缓存写状态机从空闲
状态跳转到仲裁状态;
[0014]S12、仲裁状态下,当一级缓存数据未满时,缓存写状态机主动发起外存读取请求,从配置好的外存地址读取一笔数据;
[0015]S13、缓存写状态机对数据段的头数据进行配置特征位解析;
[0016]S14、如果配置特征位为配置,则进入配置状态,配置外存指令、顶点、索引的地址和传输长度;
[0017]S15、如果配置特征位为不配置,则按照外存指令、顶点、索引的地址和传输长度的寄存器当前值跳转到地址状态;
[0018]S16、在地址状态下,缓存写状态机在得到外存接口模块的应答信号后进入数据状态,每当接收到一笔外存的数据,将数据写入一级缓存对应区域,计数值从传输长度减1,直至计数值为0结束本次缓存写操作,同时将外存地址修改为外存地址加上传输长度;
[0019]所述一级缓存读出数据的具体过程如下:
[0020]S21、当一级缓存不为空时,缓存读状态机从空闲状态跳转到仲裁状态;
[0021]S22、仲裁状态下,查询一级缓存中指令和顶点对应的指针并进行大小比较;
[0022]S23、若指令指针小于顶点指针时,仲裁选择指令数据,在输出模块接收准备好时,直接从一级缓存读出指令数据传给输出模块,当指令计数值减少到0时,重新进行仲裁选择;
[0023]S24、若顶点指针大于或等于指令指针时,仲裁选择顶点数据,将待读出顶点数据对应的索引从一级缓存读出写入到二级索引缓存中,当索引计数值减少到0时,开始从一级缓存读出未命中序号的顶点数据写入到二级顶点缓存直到顶点计数值减少到0时,重新进行仲裁选择;
[0024]S25、当二级顶点缓存和二级索引缓存数据满时,在输出模块接收准备好时,从二级缓存读出数据传给输出模块。
[0025]本专利技术的有益效果是:本专利技术提供的图形处理器预取单元,通过将图形处理器预取的指令、顶点和索引进行状态机控制和两级缓存,将指令、顶点和索引三类数据分时进行传输,由于指令和顶点的传输长度不同以及顶点的重复使用,在两段传输段之间通过比对指令和顶点的指针,仲裁下一段读写的数据类型,实现了根据不同类型数据的预取和输出状态动态调整指令和顶点的传输先后顺序,减少了缓存中由于出现指令、顶点、索引的数据空或者满状态的情况和等待时间,优化了数据传输效率,提高了图形处理器预取数据带宽。
附图说明
[0026]图1是本专利技术实施例提供的图形处理器预取单元的结构图;
[0027]图2是本专利技术实施例提供的预取单元一级缓存写数据流程图;
[0028]图3是本专利技术实施例提供的预取单元一级缓存读数据流程图;
[0029]图4是本专利技术实施例提供的缓存数据分布图;
[0030]图5是本专利技术实施例提供的传输数据示例图。
具体实施方式
[0031]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0032]为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。
[0033]图1示出了本专利技术实施例提供的图形处理器预取单元的结构,为了便于说明仅示出了与本专利技术实施例相关的部分。
[0034]如图1所示,本实施例提供的图形处理器预取单元包括:
[0035]外存接口模块,用于将状态机控制模块在缓存写地址状态时计算出来的外存读地址和传输长度发送给外存的控制器,并将外存返回的数据传输到一级缓存模块;
[0036]状态机控制模块,具有读状态机和写状态机,分别用于控制缓存的读状态和写状态,其中缓存读状态包含空闲、仲裁、命中判断、地址、数据的子状态,缓存写状态空闲、仲裁、配置、地址、数据的子状态;
[0037]一级缓存模块,用于将外存接口模块通过状态机控制模块传输过来的指令、顶点、索引数据分区存储,并读出到二级缓存模块或输出模块;
[0038]二级缓存模块,包括二级顶点缓存和二级索引缓存,用于当状态机控制模块仲裁选择从一级缓存模块读出顶点、索引数据时,首先写入索引,然后对重复的索引序号进行标记,在写入顶点时跳过重复顶点属性数据;
[0039]输出模块,用于将从一级缓存模块和二级缓存模块读取的指令、索引及顶点数据进行格式拆分整合后输出给统一渲染架构着色器。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图形处理器预取单元,其特征在于,所述图形处理器预取单元包括:外存接口模块,用于将状态机控制模块在缓存写地址状态时计算出来的外存读地址和传输长度发送给外存的控制器,并将外存返回的数据传输到一级缓存模块;状态机控制模块,具有读状态机和写状态机,分别用于控制缓存的读状态和写状态;一级缓存模块,用于将外存接口模块通过状态机控制模块传输过来的指令、顶点、索引数据分区存储,并读出到二级缓存模块或输出模块;二级缓存模块,包括二级顶点缓存和二级索引缓存,用于当状态机控制模块仲裁选择从一级缓存模块读出顶点、索引数据时,首先写入索引,然后对重复的索引序号进行标记,在写入顶点时跳过重复顶点属性数据;输出模块,用于将从一级缓存模块和二级缓存模块读取的指令、索引及顶点数据进行格式拆分整合后输出给统一渲染架构着色器。2.一种图形处理器中的指令与顶点预取方法,其特征在于,所述预取方法包括一级缓存写入数据和一级缓存读出数据;所述一级缓存写入数据具体包括下述步骤:S11、当状态机控制模块在接收到图形处理启动工作命令后,缓存写状态机从空闲状态跳转到仲裁状态;S12、仲裁状态下,当一级缓存数据未满时,缓存写状态机主动发起外存读取请求,从配置好的外存地址读取一笔数据;S13、缓存写状态机对数据段的头数据进行配置特征位解析;S14、如果配置特征位为配置,则进入配置状态,配置外存指令、顶点、索引的地址和传输长度;S15、如果配置特征位为不配置,则按照外存指令、顶点、索引的地址和传输长度的寄存器当前值跳转到地址状态;S16、在地址状态下,缓存写状态机在得到外存接口模块的应答信号后进入数据状态,每当接收到一笔外存的数据,将数据写入一级缓存对应区域,计数值从传输长度减1,直...

【专利技术属性】
技术研发人员:张祥秦信刚张义伟阮航
申请(专利权)人:武汉凌久微电子有限公司
类型:发明
国别省市:

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

1