一种支持数据快速获取的存储访问方法和装置制造方法及图纸

技术编号:19691716 阅读:23 留言:0更新日期:2018-12-08 11:09
本发明专利技术公开了一种支持数据快速获取的存储访问方法和装置,方法步骤包括检测使用同一基地址寄存器访问相同Cache行的存储访问,将这些存储访问读取的Cache行放入快速访问缓存中,使用基地址寄存器号查询快速访问缓存获取数据,跳过地址转换和访问Cache访问,缩短存储访问延迟;支持数据快速获取的存储访问装置包括快速访问缓存、快速访问判断逻辑、数据写回模块以及快速访问跟踪单元。本发明专利技术具有能够减少数据访问延迟、降低存储访问功耗、使用灵活方便的优点。

【技术实现步骤摘要】
一种支持数据快速获取的存储访问方法和装置
本专利技术涉及微处理器存储领域,具体涉及一种支持数据快速获取的存储访问方法和装置。
技术介绍
微处理器设计中,存储访问部件是设计的重点和难点,存储部件需要执行指令系统中的数据获取和存储指令,为其它指令部件提供操作的数据来源,并将操作完成的数据存入存储器中。处理器核心和存储系统之间由于速度差异造成的“存储墙”问题日益严重,也就是存储系统数据供应难以适应处理器核心的数据处理速度,存储部件成为系统性能提升的“瓶颈”。当前微处理器的存储访问部件的设计中通过多级Cache来缓解存储压力,减小数据获取的延迟。如图1所示,存储访问的数据获取过程一般要经过虚拟地址生成、虚拟地址翻译成物理地址(访问TLB)、Cache访问仲裁、访问Cache、判断是否命中、数据写回等阶段。这一列操作需要多个时钟周期,而普通的整数算术运算操作一般只需要1个时钟周期,所以存储访问延迟优化仍是处理器性能提升的关键。在处理器设计中,可以通过多种方式优化存储访问的延迟,例如,可以通过将Cache设计为虚拟地址寻址、物理地址标记,通过虚拟地址来访问Cache,从而将TLB的访问和Cache访问并行,减小访问Cache带来的延迟。但是,即便在这样的设计下,当前主流高性能处理器在一级Cache命中的情况下仍需要3~4个周期才能返回数据。存储访问延迟无法进一步压缩的原因是要等虚拟地址生成后才能够访问Cache和TLB。同时Cache体一般比较大,无法进一步压缩访问所需的延迟。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种支持数据快速获取的存储访问方法和装置,本专利技术具有能够减少数据访问延迟、降低存储访问功耗、使用灵活方便的优点。为了解决上述技术问题,本专利技术采用的技术方案为:一种支持数据快速获取的存储访问方法,实施步骤包括:1)跟踪存储访问的基地址和Cache行信息,并根据基地址寄存器号查询快速访问缓存中所有项,通过比较寄存器号确定快速访问缓存中是否有命中的项,若没有命中的项,则跳转执行步骤4);否则跳转执行步骤2);2)将快速访问缓存中命中项的数据读出,所述快速访问缓存中命中项存储的内容包括有效位、寄存器号、虚拟地址和存储的Cache数据;3)将地址产生模块生成的虚拟地址和在快速访问缓存中读出的Cache行的虚拟地址进行比较,若地址一致则判定在快速访问缓存中读取的数据是正确的,直接将在快速访问缓存中读取的数据写结果到目的寄存器中,跳转执行步骤1);若地址不一致,则跳转执行步骤4);4)进行普通的TLB和Cache访问,在Cache中读取数据并写入到目的寄存器中,根据Cache访问更新快速访问缓存中的存储项;跳转执行步骤1)。优选地,步骤4)中根据Cache访问更新快速访问缓存中的存储项的详细步骤包括:4.1)跟踪当前Cache访问的基地址寄存器号和Cache行号;4.2)将当前Cache访问的基地址寄存器号和本地的地址追踪缓存中的信息进行比较,判断是否有匹配的缓存项目,如果有匹配的缓存项目则跳转执行步骤4.3);否则如果没有匹配的缓存项目则跳转执行步骤4.6);4.3)将当前Cache访问的Cache行号和匹配的缓存项目的Cache行号进行比较,判断是否有Cache行号也匹配的缓存项目,如果有Cache行号也匹配的缓存项目,则跳转执行步骤4.4);否则,如果没有Cache行号也匹配的缓存项目,则跳转执行步骤4.5);4.4)不做任何操作;结束并退出;4.5)在本地的地址追踪缓存中将匹配的缓存项目的Cache行号修改为当前Cache访问的Cache行号;结束并退出;4.6)在本地的地址追踪缓存中新分配一个缓存项,并将新分配的缓存项中写入当前Cache访问的基地址寄存器号和Cache行号;结束并退出。本专利技术还提供一种支持数据快速获取的存储访问装置,包括支持数据快速获取的存储访问功能的微处理器,微处理器被编程以执行本专利技术支持数据快速获取的存储访问方法的步骤。本专利技术还提供一种支持数据快速获取的存储访问装置,包括:快速访问缓存,包括寄存器号比较逻辑和多个缓存项,存储访问时寄存器号比较逻辑使用基地址寄存器号查找多个缓存项,确定当前基地址寄存器号对应的缓存项,再从对应的缓存项中读取数据,包括有效位、寄存器号、虚拟地址和存储的Cache数据;快速访问判断逻辑,将地址产生模块生成的虚拟地址和在快速访问缓存中读出的Cache行的虚拟地址进行比较,若地址一致则判定在快速访问缓存中读取的数据是正确的,否则判定在快速访问缓存中读取的数据是不正确的;数据写回模块,用于在判定快速访问缓存中读取的数据正确时直接将在快速访问缓存中读取的数据写结果到目的寄存器中,在判定快速访问缓存中读取的数据不正确时进行普通的TLB和Cache访问,在Cache中读取数据并写入到目的寄存器中;快速访问跟踪单元,用于根据Cache访问更新快速访问缓存中的存储项和现有技术相比,本专利技术具有下述优点:1、减小数据获取的延迟。快速访问缓存通过寄存器号访问,无需虚拟地址或者物理地址。可以和地址产生单元并行,通过从快速访问缓存获取数据,可以避免TLB和Cache访问的延迟,在命中快速访问存储的情况下,最快只需要1个时钟周期就能获取到需要的数据,从而数据获取操作可以节省1~3个时钟周期。2、减小数据访问功耗。由于快速访问缓存只存少量的数据(几百字节),与访问Cache(几万字节)相比,在命中的情况下,访问的功耗大大降低。3、使用灵活。由于本专利技术的快速访问方法可以不修改原有存储访问的数据读取路径,通过在现有部件的基础上增加相应的模块进行即可实现,可以广泛应用于不同结构的存储部件。附图说明图1为现有存储部件的结构示意图。图2为本专利技术实施例方法的基本实施流程示意图。图3为应用本专利技术在现有存储部件上实施的结构示意图。图4为本专利技术实施例中快速访问缓存和快速访问判断逻辑结构示意图。图5为本专利技术实施例中快速访问缓存项的结构示意图。具体实施方式如图2所示,本实施例支持数据快速获取的存储访问方法的实施步骤包括:1)跟踪存储访问的基地址和Cache行信息,并根据基地址寄存器号查询快速访问缓存中所有项,通过比较寄存器号确定快速访问缓存中是否有命中的项,若没有命中的项,则跳转执行步骤4);否则跳转执行步骤2);2)将快速访问缓存中命中项的数据读出,所述快速访问缓存中命中项存储的内容包括有效位、寄存器号、虚拟地址和存储的Cache数据;3)将地址产生模块生成的虚拟地址和在快速访问缓存中读出的Cache行的虚拟地址进行比较,若地址一致则判定在快速访问缓存中读取的数据是正确的,直接将在快速访问缓存中读取的数据写结果到目的寄存器中,跳转执行步骤1);若地址不一致,则跳转执行步骤4);4)进行普通的TLB和Cache访问,在Cache中读取数据并写入到目的寄存器中,根据Cache访问更新快速访问缓存中的存储项;跳转执行步骤1)。本实施例中,步骤4)中根据Cache访问更新快速访问缓存中的存储项的详细步骤包括:4.1)跟踪当前Cache访问的基地址寄存器号和Cache行号;4.2)将当前Cache访问的基地址寄存器号和本地的地址追踪缓存中的信息进行比较,判断是否有匹配的缓存项目,如果本文档来自技高网...

【技术保护点】
1.一种支持数据快速获取的存储访问方法,其特征在于实施步骤包括:1)跟踪存储访问的基地址和Cache行信息,并根据基地址寄存器号查询快速访问缓存中所有项,通过比较寄存器号确定快速访问缓存中是否有命中的项,若没有命中的项,则跳转执行步骤4);否则跳转执行步骤2);2)将快速访问缓存中命中项的数据读出,所述快速访问缓存中命中项存储的内容包括有效位、寄存器号、虚拟地址和存储的Cache数据;3)将地址产生模块生成的虚拟地址和在快速访问缓存中读出的Cache行的虚拟地址进行比较,若地址一致则判定在快速访问缓存中读取的数据是正确的,直接将在快速访问缓存中读取的数据写结果到目的寄存器中,跳转执行步骤1);若地址不一致,则跳转执行步骤4);4)进行普通的TLB和Cache访问,在Cache中读取数据并写入到目的寄存器中,根据Cache访问更新快速访问缓存中的存储项;跳转执行步骤1)。

【技术特征摘要】
1.一种支持数据快速获取的存储访问方法,其特征在于实施步骤包括:1)跟踪存储访问的基地址和Cache行信息,并根据基地址寄存器号查询快速访问缓存中所有项,通过比较寄存器号确定快速访问缓存中是否有命中的项,若没有命中的项,则跳转执行步骤4);否则跳转执行步骤2);2)将快速访问缓存中命中项的数据读出,所述快速访问缓存中命中项存储的内容包括有效位、寄存器号、虚拟地址和存储的Cache数据;3)将地址产生模块生成的虚拟地址和在快速访问缓存中读出的Cache行的虚拟地址进行比较,若地址一致则判定在快速访问缓存中读取的数据是正确的,直接将在快速访问缓存中读取的数据写结果到目的寄存器中,跳转执行步骤1);若地址不一致,则跳转执行步骤4);4)进行普通的TLB和Cache访问,在Cache中读取数据并写入到目的寄存器中,根据Cache访问更新快速访问缓存中的存储项;跳转执行步骤1)。2.根据权利要求1所述的支持数据快速获取的存储访问方法,其特征在于,步骤4)中根据Cache访问更新快速访问缓存中的存储项的详细步骤包括:4.1)跟踪当前Cache访问的基地址寄存器号和Cache行号;4.2)将当前Cache访问的基地址寄存器号和本地的地址追踪缓存中的信息进行比较,判断是否有匹配的缓存项目,如果有匹配的缓存项目则跳转执行步骤4.3);否则如果没有匹配的缓存项目则跳转执行步骤4.6);4.3)将当前Cache访问的Cache行号和匹配的缓存项目的Cache行号进行比较,判断是否有Cache行号也匹配的缓存项目,如果有Cache行号也匹配的缓...

【专利技术属性】
技术研发人员:郑重王俊辉郭维雷国庆王永文黄立波孙彩霞隋兵才
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1