[发明专利]一种cache中提前返回访存数据的方法有效
申请号: | 201210274732.0 | 申请日: | 2012-08-03 |
公开(公告)号: | CN102831078A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 衣晓飞;邓让钰;晏小波;李永进;周宏伟;张英;窦强;曾坤;谢伦国 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;周长清 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cache 提前 返回 数据 方法 | ||
技术领域
本发明主要涉及到多核微处理器中的cache流水线设计领域,特指一种cache中提前返回访存数据的方法。
背景技术
在现代微处理器设计中,它的存储系统往往采用cache来减小访存延迟。在cache处理的访存指令中,主要包括load和store两类指令,其中处理器的执行对load类指令的延迟更加敏感。cache中如果load命中,则很快就能返回数据,如果不命中,则会有较长的延时。在高效微处理器设计中,为了使命中的访存指令早点返回,往往采用较短流水线,不命中的指令需要多次通过流水线才能完成,而多遍执行将导致不命中访存指令的执行时间过长。
如图1所示,为现有技术中cache不命中时的操作流程:1.核发出访存请求;2.第一遍走cache流水线,如发现cache不命中,就向下一级cache或者存控发送读请求;3.下一级cache和存控执行读操作,返回数据给cache;4.将响应返回的数据填充到cache;5.完成填充后,访存指令再走一遍流水线,直到命中,读取cache中的数据;6.将数据返回给核。
即,当第一遍发生不命中,就向存控(存储控制器)或者下一级cache发送读请求,随后如果没有空闲的Cache行,则发生替换;选择Cache中已经存在的一个Cache行写回内存,然后等存控或者下一级cache返回数据后,对cache进行填充,填充完以后重走流水线读出/写入数据,然后将数据或者Ack返回给核。在短流水线的cache中,不命中的访存请求至少走了三遍流水线,导致Cache不命中的访存延迟很大。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够大大提高访存速度、减小硬件开销的cache中提前返回访存数据的方法。
为解决上述技术问题,本发明采用以下技术方案:
一种cache中提前返回访存数据的方法,其流程为:
(1)在核发出访存请求;
(2)第一遍走cache流水线,发现cache不命中,则会向下一级cache或者存控发送读请求;
(3)下一级cache和存控执行读操作,返回数据给cache;
(4)将数据返回给核;
(5)将响应返回的数据填充到cache。
作为本发明的进一步改进:
首先在Cache中设置缓冲区MB,该缓冲区MB是一个CAM结构,它包含一个ID号和控制信息两个域;当核向cache发出访存请求时,会将没有命中的指令存放在缓冲区MB中,同时被存储的还有指令流经流水线所记录的需要返回的控制信息,它的ID域是cache向下一级cache发出的请求的ID号;
所述步骤(3)中,下一级cache的响应报文返回时,会根据响应报文的ID号查找缓冲区MB,从中读出缓冲区MB中的对应ID的控制信息,将响应报文的数据和读出的控制信息拼合成返回报文,返回给核。
与现有技术相比,本发明的优点在于:本发明的cache中提前返回访存数据的方法,原理简单、操作简便,能够解决不命中指令的执行时间过长的问题,从而大大提高了访存速度、减小了硬件开销。
附图说明
图1是现有技术中cache不命中时的操作流程示意图。
图2是本发明的流程示意图。
图3是本发明中cache返回报文的组装示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图2所示,当cache不命中时,本发明cache中提前返回访存数据的方法的流程为:
1.在核发出访存请求;
2.第一遍走cache流水线,发现cache不命中,则会向下一级cache或者存控发送读请求;
3.下一级cache和存控执行读操作,返回数据给cache;
4.将数据返回给核;
5.将响应返回的数据填充到cache。
即,当访存指令流经第一遍流水线时,记录响应的地址及控制信息,当数据从存控(MCU)或者下一级Cache返回时,会将数据立即返回给发出访问请求的核,而后将数据填充到cache。这样,就在数据/Ack返回过程中避免了后面的两遍流水线,从而大大提高了访存速度。在该数据返回,一直到数据填充到Cache中的时间段内,后续的指令需要修正其控制信息。
在具体应用实例中,本发明的具体流程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210274732.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置