[发明专利]一种基于函数调用栈的数据预取方法和装置在审
申请号: | 201810719750.2 | 申请日: | 2018-07-03 |
公开(公告)号: | CN108897699A | 公开(公告)日: | 2018-11-27 |
发明(设计)人: | 郑重;郭维;雷国庆;王俊辉;王永文;黄立波;孙彩霞;隋兵才 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F12/0853 | 分类号: | G06F12/0853;G06F12/0875 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于函数调用栈的数据预取方法和装置,方法步骤包括跟踪程序执行的函数调用和函数返回指令;函数调用时,将当前堆栈地址存入先进后出队列头部;函数返回时,将队列头部调用该函数时放入的堆栈地址删除;使用当前队列头部的堆栈地址,生成数据预取请求并进行数据预取操作;装置包括Call/Ret指令跟踪单元、堆栈地址缓存单元以及预取请求生成单元。本发明基于函数调用栈规律实现,具有准确率高、实现代价小、不影响现有预取器、集成方便、使用灵活的优点。 | ||
搜索关键词: | 堆栈地址 函数调用栈 队列头部 数据预取 方法和装置 函数调用 预取 请求生成单元 返回指令 跟踪程序 规律实现 函数返回 缓存单元 生成数据 指令跟踪 和函数 灵活的 预取器 准确率 放入 调用 删除 | ||
【主权项】:
1.一种基于函数调用栈的数据预取方法,其特征在于实施步骤包括:1)跟踪指令执行部件当前执行的指令信息,如果指令跟踪结果为函数调用指令Call则跳转执行步骤2);如果指令跟踪结果为函数返回指令Ret则跳转执行步骤3);2)将指令跟踪结果发送给堆栈地址缓存单元,所述堆栈地址缓存单元主要包含了一个先进后出的堆栈地址队列,堆栈地址队列的每项存储一个堆栈地址,将当前堆栈寄存器的值放入堆栈地址队列的头部,跳转执行步骤1);3)将指令跟踪结果发送给堆栈地址缓存单元,将堆栈地址队列头部的存储项删除,并将新的队列头部地址读出,跳转执行步骤4);4)根据读出的新的队列头部地址生成相应的预取请求,并将生成的预取请求发送给处理器中的存储部件,预取请求包含预取地址、预取粒度、预取目标。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810719750.2/,转载请声明来源钻瓜专利网。