信息处理设备制造技术

技术编号:2825977 阅读:169 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种信息处理设备,所述信息处理设备具有预解码器,对输入指令中的操作码进行解码,生成条件转移指令信息和指令类型信息,并将条件转移指令信息、指令类型信息和删除了操作码的输入指令写入指令缓存存储器,所述条件转移指令信息指示输入指令是条件转移指令,所述指令类型信息在输入指令是条件转移指令时指示条件转移指令的类型;以及历史信息写单元,作为指令缓存存储器中存储的条件转移指令的运行结果,将指示条件转移指令是否被转移的历史信息写入指令缓存存储器中的如下区域,其中条件转移指令的操作码被删除。

【技术实现步骤摘要】

本专利技术涉及信息处理设备,更具体地涉及用于处理条件转移指令(conditional branch instruction)的信息处理设备。
技术介绍
图10是示出包含条件转移指令的指令群1101的图示。第一行的Add指令表示GR3=GR1+GR2。换言之,该Add指令是将寄存器GR1和GR2的值相加并将加得的值存储到寄存器GR3中的指令。第二行的Subcc指令(减指令)表示GR4=GR3-0x8(十六进制数字)。换言之,该Subcc指令是从寄存器GR3的值中减去0x8(十六进制数字)并将减得的值存储到寄存器GR4中的指令。这种情况下,当计算结果为“0”时,零标志变为“1”,其他情况下变为“0”。第三行的BEQ指令(条件转移指令)是当零标志为“1”时转移到标签名称为Target 0的地址,当零标志为“0”时不转移地前进到后续地址的指令。换言之,当零标志为“1”时,它转移到第六行的And指令;当零标志为“0”时,它前进到第四行的And指令。第四行的And指令(逻辑与指令)表示GR10=GR8 & GR4。换言之,该And指令是计算寄存器GR8和GR4的逻辑与并将算得的值存储到寄存器GR10中的指令。第五行的St指令(存储指令)表示存储器(GR6+GR7)=GR10。换言之,该St指令是将寄存器GR10的值存储到具有如下地址的存储器中的指令,所述地址是通过将寄存器GR6和GR7的值相加算得的值。在标签名称为Target 0的地址中,存储第六行的And指令。第六行的And指令表示GR11=GR4 & GR9。换言之,该And指令是计算寄存器GR4和GR9的逻辑与并将算得的值存储到寄存器GR11中的指令。-->第七行的Ld指令(加载指令)表示GR10=存储器(GR6+GR7)。换言之,该Ld指令是从具有如下地址的存储器中加载(读取)值并将该值存储到寄存器GR10中的指令,所述地址是通过将寄存器GR6和GR7的值相加算得的值。这里,在第三行的BEQ指令(条件转移指令)处,根据零标志的值确定是否转移。因此,在运行BEQ指令(条件转移指令)之后,出现不运行任何指令的周期(转移损失)。通常,转移损失为3到5个时钟周期,有时大于10个时钟周期。转移损失降低了指令群1101的运行速度。图11是示出指令的流水线处理的图示。下文将描述转移损失如何出现。阶段130到134表示流水线阶段。在第一阶段130中,计算要读取指令的地址。在第二阶段131中,从指令缓存存储器中读取指令。在第三阶段132中,从寄存器中读取指令并对指令进行解码。在第四阶段133中,通过算术单元来运行该指令。在第五阶段134中,将运行结果写入寄存器。在图10所示的指令群1101的情况中,根据BEQ指令(条件转移指令)在运行阶段133的结果确定是否转移。当转移时,通过步骤S1201,过程回到第一阶段130以计算标签名称为Target 0的转移目的地址。然后,执行阶段131到133。因此,在BEQ指令(条件转移指令)的运行阶段133和转移目的地的And指令的运行阶段133之间出现转移损失。如上所述,当前的微处理器被流水线化。流水线系统是在阶段130到134独立时并行处理指令的方法。但是,对于条件转移指令,这些阶段相互依赖并且运行阶段133和指令读取地址计算阶段130彼此相关。因此,在运行阶段133后出现不运行任何指令的周期。转移损失就是这样出现的。对于诸如由流水线系统组成的微处理器之类的信息处理设备,转移预测被公认为用于减少在通过运行条件转移指令来转移控制流时生成的流水线失真(pipeline distortion)的方法之一。为了执行高精度的转移预测,需要对每个条件转移指令预测转移成功或失败。因此,作为这样一种方法,考虑提供转移预测表存储与程序中的条件转移指令相对应的转移预测信-->息。但是,在信息处理设备中提供这类转移预测表要求较大的硬件容量。下列专利文献1提出了一种用于在转移指令本身内提供转移预测信息和转移历史信息的方法。但是,根据该方法,存在用于确定转移目的地址的偏移地址可用的比特数减少的问题。另外,下列专利文献2公开了一种信息处理设备,所述信息处理设备具有存储多个转移指令的存储装置,所述转移指令包含指定转移方向的转移预测信息;预取装置,所述预取装置根据转移预测信息从存储装置中预取后面将要运行的指令;以及更新装置,所述更新装置根据转移指令的运行结果来更新转移指令的转移预测信息。[专利文献1]第10-228377号日本专利申请早期公开[专利文献2]第63-75934号日本专利申请早期公开存在这样一个问题,当在信息处理设备中提供包含与程序中的条件转移指令相对应的转移预测信息的转移预测表时,需要转移预测表RAM并且其半导体芯片的面积增加。另外,当转移指令本身内存储转移预测信息时,转移目的地址可用的比特数不得不减少。
技术实现思路
根据实施例的一个方面,一种信息处理设备具有存储指令的指令缓存存储器;预解码器,对输入指令中的操作码进行解码,生成条件转移指令信息和指令类型信息,并将条件转移指令信息、指令类型信息和删除了操作码的输入指令写入指令缓存存储器,所述条件转移指令信息指示输入指令是条件转移指令,所述指令类型信息在输入指令是条件转移指令时指示条件转移指令的类型;以及历史信息写单元,作为指令缓存存储器中存储的条件转移指令的运行结果,所述历史信息写单元将指示条件转移指令是否被转移的历史信息写入指令缓存存储器中的如下区域,其中条件转移指令的操作码被删除。附图说明图1是示出根据本专利技术第一实施例的信息处理设备的配置的图示;-->图2是示出根据第一实施例的流水线处理的图示;图3是示出转换电路的配置的图示;图4是示出根据第一实施例的信息处理设备的处理流程的图示;图5是示出根据第一实施例的信息处理设备的处理流程的图示;图6是示出根据第一实施例的信息处理设备的处理流程的图示;图7是示出根据第一实施例的信息处理设备的处理流程的图示;图8是示出根据本专利技术第二实施例的信息处理设备的配置的图示;图9是示出根据本专利技术第三实施例的信息处理设备的配置的图示;图10是示出包含条件转移指令的指令群的图示;并且图11是示出指令的流水线处理的图示。具体实施方式【第一实施例】图1是示出根据本专利技术第一实施例的信息处理设备的配置的图示。该信息处理设备执行包含五个阶段的流水线处理:第一阶段130、第二阶段131、第三阶段132、第四阶段133和第五阶段134。图2是示出根据本实施例的流水线处理的图示。阶段130到134是流水线阶段。在第一阶段130中,指令提取控制器104计算用于读取指令的地址。在第二阶段131中,指令提取控制器104从指令缓存存储器102中读取指令并将指令传输到指令队列103。在第三阶段132中,指令解码器105从寄存器109中读取值以输出到算术单元107并对指令进行解码。在第四阶段133中,算术单元107运行指令。在第五阶段134中,算术单元107的运行结果写入寄存器109。下文将详细描述第一实施例。CPU(中央处理单元)101是微处理器并通过总线120连接到主存储器121。主存储器121例如是SDRAM并通过总线122连接到外部总线120。CPU 101包括指令缓存本文档来自技高网
...

【技术保护点】
一种信息处理设备,包含:指令缓存存储器,存储指令;预解码器,对输入指令中的操作码进行解码,生成条件转移指令信息和指令类型信息,并将所述条件转移指令信息、所述指令类型信息和删除了所述操作码的输入指令写入所述指令缓存存储器,所述条件转移指令信息指示所述输入指令是条件转移指令,所述指令类型信息在所述输入指令是条件转移指令时指示所述条件转移指令的类型;以及历史信息写单元,作为所述指令缓存存储器中存储的条件转移指令的运行结果,将指示所述条件转移指令是否被转移的历史信息写入所述指令缓存存储器中的删除了所述条件转移指令的操作码的区域。

【技术特征摘要】
JP 2007-2-22 2007-0423431.一种信息处理设备,包含:指令缓存存储器,存储指令;预解码器,对输入指令中的操作码进行解码,生成条件转移指令信息和指令类型信息,并将所述条件转移指令信息、所述指令类型信息和删除了所述操作码的输入指令写入所述指令缓存存储器,所述条件转移指令信息指示所述输入指令是条件转移指令,所述指令类型信息在所述输入指令是条件转移指令时指示所述条件转移指令的类型;以及历史信息写单元,作为所述指令缓存存储器中存储的条件转移指令的运行结果,将指示所述条件转移指令是否被转移的历史信息写入所述指令缓存存储器中的删除了所述条件转移指令的操作码的区域。2.根据权利要求1所述的信息处理设备,其中所述预解码器将所述指令类型信息写入所述指令缓存存储器中的删除了所述条件转移指令的操作码的区域。3.根据权利要求1所述的信息处理设备,其中所述历史信息写单元进行写以将最新的历史信息添加到所述指令缓存存储器中存储的先前历史信息。4.根据权利要求1所述的信息处理设备,还包括转移预测器,当所述指令缓存存储器中的条件转移指令被读取时,基于所述条件转移指令的历史信息来预测所述条件转移指令是否会被转移,并指导生成预测的后续读取地址。5.根据权利要求1所述的信息处理设备,其中,当对应于历史信息的条件转移指令被再次读取时,所述历史信息写单元基于所述历史信息预测所述条件转移指令是否会被转移,并将预测信息和所述历史信息写入所述指令缓存存储器。6.根据权利要求5所述的信息处理设备,还包括地址发生器,当所述指令缓存存储器中的条件转移指令被读取时,生成由所述条件转移指令的预测信息指示的后续读取地址。7.根据权利要求1所述的信息处理设备,其中所述指令缓存存储器被分成两个或更多个指令缓存存储器来分布地写入所述输入指令。8.根据权利要求1所述的信息处理设备,其中所述指令缓存存储器具有存储所述条件转移指令信息、所述指令类型信息和删除了所述操作码的输入指令的单端口存储器,以及存储所述历史信息的双端口存储器。9.根据权利...

【专利技术属性】
技术研发人员:山崎恭启
申请(专利权)人:富士通半导体股份有限公司
类型:发明
国别省市:JP[日本]

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

1