【技术实现步骤摘要】
一种面向GPU硬件拷贝缓冲区算法的TLM微结构
本专利技术涉及计算机硬件建模
,尤其涉及一种面向GPU硬件拷贝缓冲区算法的TLM微结构。
技术介绍
在图形处理器芯片(下简称GPU)设计与开发中,算法的正确性和高效性是决定GPU功能和性能的重要因素。OpenGLAPI支持从缓冲区拷贝像素,但是并没有定义当拷贝坐标在缓冲区外时,拷贝的像素该如何处理。当拷贝的坐标位于缓冲区外,或者拷贝宽高大于缓冲区时,很容易处理读取越界或者拷贝错位,或者大量的无效拷贝行为,降低GPU的硬件性能,这都是需要解决的技术问题。GPU芯片硬件在调试上述算法细节时,很难在RTL阶段验证到并debug。因此需要在RTL设计之前,尽可能早的对算法进行验证,为RTL设计提供参考依据。
技术实现思路
基于
技术介绍
中存在的问题,本专利技术提供的一种面向GPU硬件拷贝缓冲区算法的TLM微结构,能够解决RTL仿真拷贝缓冲区算法的正确性以及高效性,能够协助RTL提前对拷贝缓冲区算法的硬件微结构在TLM模型上进行功能验证。本专利技术的技术解决方案是:一种面向GPU硬件拷贝缓冲区算法的TLM微结构,包括计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3、高度方向缓冲区内处理模块4、缓冲区上边界处理模块5、tile行像素拷贝模块6;所述计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3和tile行像素拷贝模块6依次连接;所述计算拷贝参数模块1、缓冲区分派模块2、高度方向缓冲区内处理模块4和ti ...
【技术保护点】
1.一种面向GPU硬件拷贝缓冲区算法的TLM微结构,其特征在于:包括计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3、高度方向缓冲区内处理模块4、缓冲区上边界处理模块5和tile行像素拷贝模块6;/n所述计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3和tile行像素拷贝模块6依次连接;/n所述计算拷贝参数模块1、缓冲区分派模块2、高度方向缓冲区内处理模块4和tile行像素拷贝模块6依次连接;/n所述计算拷贝参数模块1、缓冲区分派模块2、缓冲区上边界处理模块5和tile行像素拷贝模块6依次连接;/n所述计算拷贝参数模块1用于计算y方向超过上界的距离,x和y方向正负的拷贝距离、x和y方向的拷贝起始坐标、拷贝起始tile坐标、x方向拷贝tile个数、y方向正负的拷贝tile个数;/n所述缓冲区分派模块2用于将y负方向的tile分派给缓冲区下边界处理模块3,将y正方向的tile分派给高度方向缓冲区内处理模块4,将超界的tile行分派给缓冲区上边界处理模块5;/n所述缓冲区下边界处理模块3用于处理y负方向的tile行拷贝像素;/n所述高度方向缓冲区内处理模块4用于处理y ...
【技术特征摘要】
1.一种面向GPU硬件拷贝缓冲区算法的TLM微结构,其特征在于:包括计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3、高度方向缓冲区内处理模块4、缓冲区上边界处理模块5和tile行像素拷贝模块6;
所述计算拷贝参数模块1、缓冲区分派模块2、缓冲区下边界处理模块3和tile行像素拷贝模块6依次连接;
所述计算拷贝参数模块1、缓冲区分派模块2、高度方向缓冲区内处理模块4和tile行像素拷贝模块6依次连接;
所述计算拷贝参数模块1、缓冲区分派模块2、缓冲区上边界处理模块5和tile行像素拷贝模块6依次连接;
所述计算拷贝参数模块1用于计算y方向超过上界的距离,x和y方向正负的拷贝距离、x和y方向的拷贝起始坐标、拷贝起始tile坐标、x方向拷贝tile个数、y方向正负的拷贝tile个数;
所述缓冲区分派模块2用于将y负方向的tile分派给缓冲区下边界处理模块3,将y正方向的tile分派给高度方向缓冲区内处理模块4,将超界的tile行分派给缓冲区上边界处理模块5;
所述缓冲区下边界处理模块3用于处理y负方向的tile行拷贝像素;
所述高度方向缓冲区内处理模块4用于处理y正方向的tile行拷贝像素;
所述缓冲区上边界处理模块5用于处理超过显存上界的tile行拷贝像素;
所述tile行像素拷贝模块6用于进行tile行像素的拷贝操作;
所述高度方向缓冲区内处理模块4包括读取像素子模块41、x方向拷贝像素子模块42和tile行位置计算子模块43;
其中,tile表示4x4像素块,最左下角像素的x,y坐标均为4的整数倍,
tile行表示4个像素行,起始像素行的y坐标是4的整数倍,
设定缓冲区的左下角坐标(x,y)为原点。
2.根据权利要求1所述的面向GPU硬件拷贝缓冲区算法的TLM微结构,其特征在于:
所述计算拷贝参数模块1接收拷贝坐标和拷贝宽高;
计算y方向超过上界的距离,x和y方向正负的拷贝距离、x和y方向的拷贝起始坐标、拷贝起始tile坐标、x方向拷贝tile个数、y方向正负的拷贝tile个数;
后将y方向超过上界的距离、x和y方向正负的拷贝距离、x和y方向的拷贝起始坐标、拷贝起始tile坐标、x方向拷贝tile个数、y方向正负的拷贝tile个数通过TLM接口发送给缓冲区分派模块2。
3.根据权利要求1所述的面向GPU硬件拷贝缓冲区算法的TLM微结构,其特征在于:
所述缓冲区分派模块2收到计算拷贝参数模块1发送的x和y方向正负的拷贝距离、x和y方向的拷贝起始坐标、拷贝起始tile坐标、x方向拷贝tile个数、y方向正负的拷贝tile个数,
将y方向负的拷贝距离通过TLM接口发送给缓冲区下边界处理模块3;
将y方向的拷贝起始坐标、y方向正的拷贝距离、拷贝起始tile坐标、x方向拷贝tile个数、x方向负的拷贝距离通过TLM接口发送给高度方向缓冲区内处理模块4;
将y方向超过上界的距离通过TLM接口发送给缓冲区上边界处理模块5;
将x方向的拷贝起始坐标通过TLM接口发...
【专利技术属性】
技术研发人员:陈佳,姜丽云,张少锋,吴晓成,任向隆,赵彬,
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。