具有粒度的增加立即数能力的处理器和方法_4

文档序号:8512434阅读:来源:国知局
过0RI,可以构造 64比特的立即值,该ORI形成目的地在于64比特寄存器的上半部分的32比特立即数,其 被存储在一个通用寄存器中。然后,移位指令将这些32比特移位到64比特寄存器的上半 部分。然后,执行相同的指令以在不同的通用寄存器中提供所想要的低32比特。然后,两 个通用寄存器可以被相加以产生最终的64比特的数值。然后,该寄存器值可以被用在分支 或跳转指令中。因此,分支或跳转到任意的64比特地址需要7条指令(LUI、ORI、SL、LUI、 0RI、ADD、JMP/Branch)。
[0049] 在这种指令序列中,操作顺序也很重要,因为加载高位立即数指令(LUI)破坏该 指令中所标识的寄存器的已有内容,而除非在ORI之前是LUI,否则ORI不能有效。
[0050] 以下给出了可以用于在程序代码中使用以便更直接地控制大(64比特或更多)寄 存器内容的指令集合。这些指令也可以被用在改变程序控制位置的指令的环境中。
【主权项】
1. 一种在处理器中实现的方法,包括: 输入四条指令; 解码所述四条指令中的每条指令,以标识所述四条指令中的每条指令中的相应的立即 值、目的地寄存器和所述目的地寄存器的相应的不同部分; 将来自所述四条指令的立即值中的每个立即值增加到由所述四条指令中的每条指令 所指定的目的地寄存器的所述相应的不同部分的当前内容;以及 然后将程序执行重定向至使用从所述增加得到的值确定的存储器地址。
2. 根据权利要求1所述的产生用于在处理器中执行的机器可执行代码的方法,其中按 顺序输入所述四条指令,并且所述四条指令中的最后一条指令标识所述目的地寄存器的最 低部分、并且指定以下各项中的至少一项:到从所述增加得到的所述值确定的目标地址的 分支和到从所述增加得到的所述值确定的目标地址的跳转。
3. 根据权利要求1所述的产生用于在处理器中执行的机器可执行代码的方法,其中 按顺序输入所述四条指令,并且所述指令中的前三条指令读取所述目的地寄存器中的当前 值、以不破坏并非由该条指令寻址的目的地寄存器的部分的内容的方式执行所述增加,并 且按所述顺序中的第四条指令读取所述目的地寄存器中的当前值、执行所述增加和执行利 用从所述增加的结果计算出的目标地址的条件分支或跳转。
4. 一种产生用于在处理器中执行的机器可执行代码的方法,包括: 确定程序控制应当从起始位置传送到的目的地位置; 基于所述目的地位置和所述起始位置确定立即值;以及 准备指令的序列和操作码描述数据,每条指令包括所确定的立即值的部分、指示寄存 器的相应的不同部分,所述操作码描述数据由所述处理器用来配置执行单元以将所述序列 的每条指令中所包括的所确定的立即值的部分增加到所述寄存器的所述相应的不同部分 处的内容,并且其中所述指令的序列中的最后一条指令包括可由所述处理器解译以发起将 程序控制传送到基于从执行所述指令的序列得到的值确定的存储器地址的数据。
5. 根据权利要求4所述的方法,其中所述立即值中的比特数是寄存器中的比特数的四 分之一,并且所述指令由所述解码单元解码为指示三个不同的移位量中的一个,每个移位 量寻址所述寄存器的第二四分位数、第三四分位数和第四四分位数中的一个四分位数。
6. 一种处理器,包括: 解码单元,被配置为解码表示从指令源提供的指令的数据,其中: 所述指令符合包括增加立即数指令的集合的指令集架构,每条增加立即数指令至少指 定目的地寄存器和立即值,并且 所述解码单元被配置为将来自所述增加立即数指令的集合中的指令解码为指示该条 指令的立即值要被增加到的所述目的地寄存器的相应的不同部分、并且然后存储所述增加 的结果,其中所述增加立即数指令的集合共同地寻址所述目的地寄存器的四个不同部分中 的至少三个部分;以及 执行单元,与所述解码单元耦合并且被配置为根据从所述解码单元接收的数据来执行 操作。
7. 根据权利要求6所述的处理器,其中所述增加立即数指令的集合中的每条增加立即 数指令指定源寄存器、所述目的地寄存器和所述立即值,并且所述解码单元被配置为将所 述指令解码为指示该条指令的立即值要被非破坏性地增加到的所述源寄存器的相应的部 分、并且然后在所述目的地寄存器中存储所述增加的结果。
8. 根据权利要求7所述的处理器,其中所述源寄存器和所述目的地寄存器被指定为相 同的寄存器。
9. 根据权利要求6所述的处理器,其中所述增加立即数指令的集合包括指示所述寄存 器的最高四分位数的增加立即数指令、指示所述寄存器的第三四分位数的增加立即数指令 和指示所述寄存器的第二四分位数的增加立即数指令。
10. 根据权利要求6所述的处理器,其中所述立即值中的比特数是所述寄存器中的比 特数的四分之一,并且所述指令由所述解码单元解码为指示三个不同的移位量中的一个, 每个移位量寻址所述寄存器的第二四分位数、第三四分位数和第四四分位数中的一个四分 位数。
11. 根据权利要求6所述的处理器,其中所述解码单元被配置为按顺序输入所述增加 立即数指令的集合,所述增加立即数指令中的前三条增加立即数指令每条均指定源寄存 器、目的地寄存器和立即值,并且所述解码单元使得所所述指令的所述前三条指令中的每 条指令读取在由该条指令指定的源寄存器中的当前值、以不破坏由该条指令寻址的目的地 寄存器的部分的内容的方式执行所述增加,并且按所述顺序中的第四条指令读取所述源寄 存器中的当前值、执行所述增加和执行利用从所述增加的结果计算出的目标地址的条件分 支或跳转。
12. 根据权利要求6所述的处理器,其中所述目的地寄存器为64比特,所述立即值中的 每个立即值为16比特。
13. 根据权利要求6所述的处理器,其中所述执行单元是加载/存储单元,所述加载/ 存储单元被配置为执行从存储器加载数据或在存储器中存储数据的指令。
14. 根据权利要求6所述的处理器,其中所述执行单元是指令提取单元,所述指令提取 单元被配置为维护程序计数器和控制表示来自存储器的指令的数据的提取。
【专利摘要】处理器可以寻址双字长存储空间(例如64比特寻址)。处理器可以被配置为解码一连串的三条指令和第四指令,该一连串的三条指令引起任意的64比特立即值中的48个比特被构建在寄存器中,该第四指令完成该64比特值并且分支到使用寄存器中64比特值确定的存储位置或访问使用寄存器中64比特值确定的存储位置。指令集架构中的单独的指令可以被提供用于64比特寄存器的16比特部分的非破坏性写入。
【IPC分类】G06F9-38
【公开号】CN104834503
【申请号】CN201510073112
【发明人】R·萨达卡
【申请人】想象技术有限公司
【公开日】2015年8月12日
【申请日】2015年2月11日
【公告号】DE102015101541A1, US20150227365, US20150227366
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1