[发明专利]内存系统、内存存取方法以及图形处理系统有效
申请号: | 200910001592.8 | 申请日: | 2009-01-15 |
公开(公告)号: | CN101470671A | 公开(公告)日: | 2009-07-01 |
发明(设计)人: | 焦阳;提莫·佩塔西 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06T1/60 |
代理公司: | 北京林达刘知识产权代理事务所 | 代理人: | 刘新宇 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 系统 存取 方法 以及 图形 处理 | ||
技术领域
本发明有关于应用于图形处理器的一种可编程图形处理管线流程,特别有关于在多个并列处理单元执行顶点着色以及几何着色程序的架构中,使用分享的共用顶点数据高速缓存。
背景技术
传统技术的图形处理管线流程(pipeline)使用单一的顶点着色(vertex shader,VS)以及像素着色(pixel shader,PS)程序,其中顶点着色以及像素着色程序分配至位于图形处理管线流程不同阶段的不同处理单元。如本领域技术人员所知,具有专用顶点数据高速缓存(以下称为顶点快取)的顶点着色器,由于可由顶点快取提供所需的数据,且不需要特别将数据排序,因此通常较有效率。然而,传统顶点快取具有许多缺点。图1显示传统顶点快取的读取请求先进先出缓冲器(first-infirst-out,FIFO)的架构。当硬件在高速缓存更新数据且由下一管线阶段单元(例如设定引擎)读取之前即执行快取命中测试(hit test)时,将会发生问题。对于后端的顶点快取,快取命中测试是根据前端的顶点快取的顶点索引来执行。若发生快取命中(hit),命中的快取线(cache line)的参考计数器的计数值会增加,代表此快取线中有一读取指令正在等待,而此快取线的地址连同其它基元(primitive)数据一起写入一等待快取的读取请求先进先出缓冲器(first-in first-out,FIFO)。
当数据由下一管线阶段单元读取时,参考计数器的计数值会减少,代表读取动作已经完成。若顶点快取发生快取失误(miss)的情形,快取控制器搜寻并取代一快取线给予此快取失误的顶点。当此快取线的参考计数器的计数值为零时,代表先前等待中的读取指令皆已被读取完毕,所以此快取线可自由被取代。然而,当所有快取线的参考计数器的计数值皆不为零时,快取命中测试以及后续快取线取代步骤将会被延滞(stall)。由于执行顶点着色需耗费相当长的时间才能完成,因此在快取命中测试与数据读取之间具有明显的延迟(latency)。当高速缓存的容量很小时,长时间的延迟会导致高速缓存的动作频繁地被拖延,阻断了快取命中测试的结果。举例来说,若执行顶点着色需耗费200个频率周期的时间,高速缓存包括32条快取线,而每条快取线平均在一次快取失误后会快取命中两次,在96个频率周期后,由于各快取线皆具有待处理的读取要求,且其参考计数器的计数值皆不为零,因此高速缓存发生延滞的现象。通过增加快取线的数目以提高高速缓存的容量可以解决上述问题。然而,上述方式必须增加额外的快取标记(cache tag)以及比较器,导致成本增加。再者,达到某个高速缓存容量以上后,增加更多具有快取标记的快取线并无法显著提高快取命中率,且依然会导致成本增加。
其它机制可用来解决高速缓存容量以及延迟补偿问题。举例来说,使用前端参考计数器以及后端参考计数器以允许在快取命中测试阶段的同一快取线发生多重快取失误,亦即重复使用,无须等待所有先前的读取要求完成与否。然而,此技术同样具有许多缺点。首先,顶点着色处理程序必须依序执行,且数据必须在高速缓存中依序更新。另外,当实际数据配置对应至位于一组相联高速缓存(set-associative cache)前端的快取标记,而且快取冲突(cache conflict)较严重时,高速缓存的随机存取内存(random-access memory,RAM)并无法被有效地利用。在此,快取冲突的情形是请求并未均匀分布在所有的组,且在单一组中有相当多的请求命中。
传统顶点高速缓存的另外一个缺点在于高速缓存、部分的标记区以及索引区的容量为固定值。举例来说,以具有既定容量的四组高速缓存为例,高速缓存的容量设定为四组存储线与每条存储线的字节的乘积,同时设定储存于标记随机存取内存中的标记区的容量。若通过增加组数的方式来增加高速缓存的容量,则必须对应调整标记区以及索引区的容量。
图2A所示的图形处理管线流程说明了上述问题。微软所提出的应用程序接口(application programming interface,API)描述了图形处理管线流程包括一输入组合器(input assembler)21、顶点着色器22、几何着色器23、串流输出装置24、图形渲染器(rasterizer)25(或插补器(interpolator))、像素着色器26、输出合并器(output merger)27以及内存资源28。内存资源28可为虚拟内存或图形处理器以及系统的内存。图2A的组成为本领域技术人员所熟知,因此省略描述以精简说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910001592.8/2.html,转载请声明来源钻瓜专利网。