[发明专利]在推测多线程计算系统中处理访存请求的方法及其设备无效
申请号: | 200810098593.4 | 申请日: | 2008-05-22 |
公开(公告)号: | CN101587434A | 公开(公告)日: | 2009-11-25 |
发明(设计)人: | 侯锐;常晓涛 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F13/16 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 鲍 进 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 推测 多线程 计算 系统 处理 请求 方法 及其 设备 | ||
技术领域
本发明涉及推测多线程计算技术,更具体地,涉及一种在推测多线程计算系统中处理对存储器的访问请求的方法和设备以及使用该方法和设备的存储器控制器。
背景技术
为了提高处理器的处理速度,使用推测多线程计算技术。推测多线程也被称为线程级推测(TLS),它是一种依赖于乱序执行(Out ofOrder)来实现多处理器CPU加速的动态并行化技术。也就是说,推测多线程是一种在线程级发生的推测执行,它与指令级发生的推测执行相对。
推测多线程计算技术包括推测并行化、辅助线程和事务存储器等,该技术在多内核芯片中的使用变得越来越普及,并且近年来已经成为计算机架构中的热门话题之一。这些推测线程迅速用于增强性能。实质上,在推测线程真正违反原始语义之前,推测线程可以不服从原始语义。直到推测线程真正违反了原始语义,才中断这些推测线程并重新执行。在推测并行化技术中,线程由顺序程序产生,尽管它们可能具有数据或控制依赖。在使用专用硬件机制在运行时检测到数据或控制违背时,这些推测线程应当被中断并重新执行。此外,事务存储器系统使程序员调用事务,并且依赖于系统使事务的执行看起来象是原子的和独立的。成功的事务将被提交,而与并发事务冲突的不成功事务将被中断。
在当今的多内核设计中存储器带宽问题变得越来越严重。在多内核芯片上越来越紧密的集成给对存储器系统的芯片外访问施加了更高的压力。这是由于存在需要访问芯片外存储器系统的内核的数量不断增长,并且这些内核可能会竞争有限的芯片管脚。
通常,当前的多内核系统支持并发运行的多个应用,每一个应用具有包括推测线程和非推测线程的多个线程。实质上,在芯片存储器系统中非推测线程应当具有比推测线程高的优先级。应当重新考虑芯片存储器接口的设计以便利用推测线程和非推测线程的不同,从而在推测多线程计算系统中减轻越来越严重的存储器带宽问题。
例如,2003年5月20日公布的美国专利US 6,567,901B1内已经公开了一种指令级的推测执行技术。具体地,该专利公开了:使用一个或多个队列来存储存储器请求,在使用多个队列的情况下,一个队列用于存储非推测请求,而另一个队列用于存储推测请求;仅在队列中不存在非推测请求时,才读取队列中的推测请求;以此方式,在清空队列中的推测请求之前清空队列中的非推测请求;使用优先级化的不同队列可以允许从单个处理器系统到多处理器系统的适当转换。也就是说,在该专利中,给予非推测请求比推测请求高的优先级。此外,该专利申请公开的技术方案仅仅适用于单处理系统。对于推测多线程系统,这可能带来严重后果,例如,使得线程根本无法继续执行。
如果象美国专利US 6,567,901B1中那样只要队列中存在非推测请求就不满足队列中的推测请求,那么在推测多线程系统中将严重影响推测请求的执行,并且使得不能有效地利用存储器带宽。
因此,需要一种在推测多线程系统中适当地处理非推测请求和推测请求以便有效地利用访存带宽的方法、装置和存储器控制器。
发明内容
考虑到现有技术中存在的上述问题,本发明通过适当地调整推测请求和非推测请求被执行的次序,来克服现有技术中存在的缺陷,从而提高了访存带宽的利用率。此外,本发明可以使用现有的部件,还可以节省成本。
为了实现上述目的,提供了一种在推测多线程系统中处理访存请求存储模块中的访存请求的方法,包括步骤:在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理;以及在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理。
为了实现上述目的,提供了一种在推测多线程系统中处理访存请求的访存请求处理器,包括:访存请求存储模块,用于存储非推测访存请求和推测访存请求;输入选择控制单元,用于将非推测访存请求和推测访存请求放入访存请求存储模块;输出选择控制单元,用于在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理,而在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理;以及请求取出单元,用于在输出选择控制单元的控制下从访存请求存储模块中取出非推测访存请求或推测访存请求。
为了实现上述目的,提供了一种存储器控制器,包括上述访存请求处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810098593.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:致动步进式透镜摄像头模块
- 下一篇:一种在X光片上制作条码的方法