[发明专利]一种基于二叉树的大窗口访存流量调度缓冲结构及方法有效
申请号: | 201910852487.9 | 申请日: | 2019-09-10 |
公开(公告)号: | CN110688209B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 郑方;吕晖;刘骁;石嵩;谭弘兵;周玉瀚;张昆 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 任婷婷 |
地址: | 214100 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 二叉 窗口 流量 调度 缓冲 结构 方法 | ||
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种基于二叉树的大窗口访存流量调度缓冲结构及方法。一种基于二叉树的大窗口访存流量调度缓冲结构,包括存储条目,用于记录访存请求的信息;空条目队列,用于以队列的形式挂载存储条目;调度二叉树,用于以二叉树的形式组织存储条目。访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。本申请在访存请求到达缓冲时,即将其组织成二叉树结构,在发射时只需要选择二叉树的根节点即可,能够在面对大量访存请求时,实现大规模的访存请求调度,挖掘访存序列的局部性,提高访存带宽,缓解访存墙问题。
技术领域
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种基于二叉树的大窗口访存流量调度缓冲结构及方法。
背景技术
随着处理器制造工艺的不断进步及实际应用需要,众核结构已成为当前高性能微处理器的发展趋势,众核处理器系统的访存带宽难以匹配计算性能的“存储墙”问题是当今计算机体系结构中研究的热点问题。为了提升实际访存带宽,需要充分挖掘访存序列中的访存局部性。访存调度缓冲,是一种挖掘访存序列局部性的有效结构。
在众核处理器中,访存序列众多,这就需要大规模的访存调度缓冲。传统的访存调度缓冲的工作原理,是根据上次发射的访存请求地址从缓冲请求中选择下一个可以发射的访存请求。这种“在发射时选择”的结构,不利于大规模访存调度缓冲的实现。
传统上,访存调度的窗口尺寸为16条目,最大不超过32条目.对于众核处理器而言,由于处理核心众多,所要求的调度窗口尺寸远大于32,通过传统技术实现较大深度的调度缓冲开销巨大,延迟很长。
发明内容
本发明针对现有技术存在的问题,提出了一种基于二叉树的大窗口访存流量调度缓冲结构及方法。
本发明解决其技术问题所采用的技术方案是:一种基于二叉树的大窗口访存流量调度缓冲结构,包括
存储条目,用于记录访存请求的信息;
空条目队列,用于以队列的形式挂载存储条目;
调度二叉树,用于以二叉树的形式组织存储条目。
作为优选,所述访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。
一种基于二叉树的大窗口访存流量调度方法,包括
1)当有新的访存请求到达时,从空条目队列中取出一个空的存储条目,记录访存请求的访存请求信息;
2)根据访存请求信息查找调度二叉树,并将新的访存请求挂载到调度二叉树上;
3)选择调度二叉树的新根节点进行发射;
4)将新的根节点挂载至1)中对应的存储条目。
作为优选,2)具体为,如果调度二叉树已经存在与访存请求信息相同的节点,那么将新的访存请求挂载到该节点的左子指针;否则,将新的访存请求挂载到二叉树的最右子节点的右子指针上。
作为优选,3)具体为,如果调度二叉树的根节点的左子指针不为空,则将该左子指针作为调度二叉树的新根节点,原根节点的右子指针挂载到新根节点的右子指针上;否则,将原根节点的右子指针作为二叉树的新根节点。
本发明的有益效果是,本申请在访存请求到达缓冲时,即将其组织成二叉树结构,在发射时只需要选择二叉树的根节点即可,能够在面对大量访存请求时,实现大规模的访存请求调度,挖掘访存序列的局部性,提高访存带宽,缓解访存墙问题。
附图说明
图1为本申请空条目队列的结构示意图;
图2为本申请调度二叉树的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910852487.9/2.html,转载请声明来源钻瓜专利网。