当前位置: 首页 > 专利查询>索尼公司专利>正文

指令获取设备和处理器制造技术

技术编号:6640308 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了指令获取设备和处理器。提供了一种指令获取设备,其包括:检测状态设定部件,被配置为设定其指令预取定时要被检测的程序的执行状态;程序执行状态生成部件,被配置为生成程序的当前执行状态;指令预取定时检测部件,被配置为对程序的当前执行状态和其设定执行状态进行比较并在两者匹配的情况下检测指令预取定时;和指令预取部件,被配置为当指令预取定时被检测到时预取下一指令。

【技术实现步骤摘要】

本专利技术涉及指令获取设备。更具体地,本专利技术涉及用于预取包括分支指令的指令序列的指令获取设备和处理器,以及涉及供所述设备和处理器使用的处理方法,并且还涉及用于使得计算机执行所述处理方法的程序。
技术介绍
为了最大化管线型CPU (中央处理单元;或处理器)的处理能力,管线内的指令应当理想地被保持为在无障碍的情况下流动。保持这样的理想状态要求要被处理的下一指令从其被保存到的存储器位置被预取到CPU或指令缓存器。然而,如果程序包括分支指令, 则在分支指令被执行之前,紧接该分支指令后所要被执行的指令的地址不能确定地被识别出。因此,指令获取被暂停;管线迟延发生;并且指令执行的吞吐量下降。因此,许多CPU具有通过不论源自分支的不确定性如何都要执行预取以抑制管线迟延的配置。可通过简单硬件实施的一般预取方案被称为下一行预取(参见日本专利 No. 4327237(图1))。这是一种按照指令被编程的顺序来预取指令的技术。处理器从存储器获取指令的基本模式涉及按照地址顺次上升的顺序访问存储器。因此,此通过硬件的预取构成了将给定地址的指令存储在缓存器中,然后假设还将使用下一缓存行并且还自动地存储下一缓存行的尝试。
技术实现思路
虽然上述下一行预取可以使用简单硬件结构来实施,但是此预取通过假设没有分支发生而被执行的事实频繁地导致不必要的预取(被称为预取失效)。预取失效发生导致如下不利丢弃预取的指令,再次获取正确分支目的地的指令,同时使得CPU在其等待状态中运行较长时间。另外,读写额外数据的需要使得增加了存储器访问并且增大了功耗。此外,频繁无用的预取引起了恶化数据路径中的流量拥塞的问题。用于减小预取无效的另一尝试是使用被称为分支预测的技术。下一行预取涉及通过预测下一行将永不会分支来预取此下一行,而分支预测特征在于基于过去的历史预测分支方向,并且从预测的地址预取指令。分支预测是复杂的并且要求使用包含包括历史表在内的大电路面积的硬件。然而,通过分支预测得到的性能益处依赖于预测算法的效率,许多预测算法需要使用相对较大容量的存储设备和复杂的硬件来实施。当预测失败时,分支预测还造成与由下一行预取所引入的不利类似的不利。大多数实际程序它们的分支中的环路与例外处理的比率不成比例地高,从而分支预测的优点通常胜于其缺点。尽管如此,一些应用还是按照不管可以利用怎样的预测算法都难以提高其预测性能的方式来构建的。特别是,编解码应用倾向于使得它们的预测失效,除了回路的预测以外。随着预测采样数的比率自然希望被增大,用于实施此目的的方案在电路上变得越来越大并且越来越复杂,并且可能不会引起与实际电路的规模相称的性能改善。与上述概括的用于仅在单方向中执行预取的技术相对,已经提出了另一种技术,4其涉及在没有预测的情况中在分支的两个方向中预取指令以消除预取失效。与分支预测的技术相比,此技术能够通过增加有限量的硬件来免除管线迟延。然而,不仅仅要被存储用于预取的数据量简单被翻倍,而且不必要的数据总是必须被读取。导致的数据路径上的拥塞不利地影响了性能;增加的冗余电路使得电路结构复杂化;并且增加的功耗也是不能忽视的。如上概括,现有的预取技术具有它们自己的优点(预期能提升吞吐量)和缺点 (增大了实现CPU的成本;分支预测处理的开销)。对于这些技术中的每种技术,存在成本和性能的折中。本专利技术是鉴于上述情况而做出的,并且提供了一种用于最小化在用于预取指令的下一行预取中所涉及的不利的创新性配置。在实现本专利技术中,根据本专利技术的一个实施例,提供了一种指令获取设备,其包括 检测状态设定部件,被配置为设定其指令预取定时要被检测的程序的执行状态;程序执行状态生成部件,被配置为生成所述程序的当前执行状态;指令预取定时检测部件,被配置为对所述程序的当前执行状态与其设定执行状态进行比较并且在两者一致(match)的情况下检测所述指令预取定时;和指令预取部件,被配置为当所述指令预取定时被检测到时预取下一指令。该指令获取设备提供了在预定执行状态被达到时预取下一指令的效果。优选地,检测状态设定部件可以包括地址设定寄存器,地址设定寄存器被配置为设定其指令预取定时要被检测的指令的地址的至少一部分;程序执行状态生成部件可以包括程序计数器,程序计数器被配置为保存当前正在执行的指令的地址作为所述程序的当前执行状态;并且指令预取定时检测部件可以包括地址比较部件,地址比较部件被配置为对所述程序计数器上的值的至少一部分和地址设定寄存器中的值进行比较并且在两者一致的情况下检测指令预取定时。此结构提供了根据程序计数器的状态来预取下一指令的效: O 优选地,本专利技术的此指令预取设备还可以包括指令分组保存部件,指令分组保存部件被配置为保存由使得程序指令序列分割成预定大小的指令有效载荷以及包括用于指定下一指令有效载荷的预取定时的预取定时信息的指令头构成的指令分组。在此指令预取设备中,检测状态设定部件可以基于预取定时信息来设定地址设定寄存器。此结构提供了根据基于在指令头中包括的预取定时信息而设定的指令地址来预取下一指令的效果。优选地,检测状态设定部件可以包括设定步长地址寄存器,设定步长地址寄存器被配置为保存指示其指令预取定时要被检测的指令的地址的设定粒度的步长值;和乘算部件,乘算部件被配置为通过将在预取定时信息中包括的步长计数与所述步长值相乘来设定地址设定寄存器。此结构提供了根据基于步长值和步长计数而设定的指令地址来预取下一指令的效果。优选地,本专利技术的此指令预取设备还可以包括指令分组保存部件,指令分组保存部件被配置为保存由使得程序指令序列分割成预定大小的指令有效载荷和包括分支预测信息的指令头构成的指令分组,分支预测信息指示在指令有效载荷中包括的分支指令分支到既不是包括在指令有效载荷也不是包括在下一指令有效载荷中的指令的可能性程度。在此指令预取设备中,检测状态设定部件可以基于分支预测信息来设定地址设定寄存器。此结构提供了根据基于在指令头中包括的分支预测信息而设定的指令地址来预取下一指令5优选地,检测状态设定部件可以包括执行次数设定寄存器,执行次数设定寄存器被配置为将预定指令类型的执行次数设定作为其指令预取定时要被检测的所述程序的执行状态;并且程序执行状态生成部件可以生成所述预定指令类型的当前执行次数作为所述程序的当前执行状态。本此结构提供了在预定类型的指令被执行了预定次数时预取下一指令的效果。在此结构中,程序执行状态生成部件可以优选地包括指令类型设定寄存器,被配置为设定所述预定指令类型;指令类型比较部件,被配置为通过在当前正执行的指令的指令类型与所述预定指令类型之间进行比较而检测它们之间的匹配;和执行次数计数器, 被配置为使得每当指令类型比较部件检测到当前正执行的指令的指令类型与所述预定指令类型之间的匹配时,执行次数计数器获取所涉及的指令类型的执行次数。根据本专利技术的另一实施例,提供了一种处理器,其包括检测状态设定部件,被配置为设定其指令预取定时要被检测的程序的执行状态;程序执行状态生成部件,被配置为生成所述程序的当前执行状态;指令预取定时检测部件,被配置为对所述程序的当前执行状态和其设定执行状态进行比较并且在两者一致的情况下检测所述指令预取定时;指令预取部件,被配置为当所述指令预取定时被检测到时预取下一指令;和指令执行部件,被配置本文档来自技高网...

【技术保护点】
1.一种指令获取设备,包括:检测状态设定部件,被配置为设定其指令预取定时要被检测的程序的执行状态;程序执行状态生成部件,被配置为生成所述程序的当前执行状态;指令预取定时检测部件,被配置为对所述程序的当前执行状态和其设定执行状态进行比较并在两者匹配的情况下检测所述指令预取定时;和指令预取部件,被配置为当所述指令预取定时被检测到时预取下一指令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:目次胜彦坂口浩章小林浩甲斐齐山本晴久平尾太一森田阳介长谷川浩一
申请(专利权)人:索尼公司
类型:发明
国别省市:JP

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

1