• Hexagon_V65_Programmers_Reference_Manual(18)


    11.4 J

    J 指令类包括从(PC 相对)立即地址值获取目标地址的分支指令(跳转和调用)。 J 指令可在slot 2 和slot 3 上执行。

    11.4.1 调用子程序

    将程序流程更改为子程序。 该指令首先将下一个程序计数器 (NPC) 值传送到链接寄存器,然后跳转到目标地址。

    该指令可以出现在插槽 2 或 3 中。
    在这里插入图片描述

    Class: J (slots 2,3)
    注意

    • 该指令可以根据谓词寄存器的值有条件地执行。 如果指令前面有“if Pn”,则该指令仅在谓词寄存器的最低有效位为 1 时执行。类似地,如果指令前面有“if !Pn”,则仅当最低有效位为 1 时才执行该指令。 -Pn 的有效位为 0。
    • Next PC 值是紧跟在包含该指令的数据包中最后一条指令之后的地址。
    • PC 值是数据包的起始地址
    • PC 相对地址是通过获取解码的立即数并将其添加到当前 PC 值而形成的。

    编码
    在这里插入图片描述

    字段名称描述
    ICLASS指令类
    DNDot-new
    Parse数据包/循环解析位
    u2编码寄存器 u 的字段

    11.4.2 比较和跳转

    比较两个寄存器,或者一个寄存器和立即数,并用结果写一个谓词。 然后使用谓词结果有条件地跳转到一个PC相对的目标地址。

    可用作操作数的寄存器仅限于 R0-R7 和 R16-R23。 谓词目的地仅限于 P0 和 P1。

    在汇编语法中,该指令在数据包中显示为两条指令:比较和单独的条件跳转。 汇编器可以将相邻的比较和跳转指令转换为复合比较跳转形式。

    在这里插入图片描述
    在这里插入图片描述

    Class: J (slots 0,1,2,3)
    编码
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    字段名称描述
    ICLASS指令类
    Parse数据包/循环解析位
    s4编码寄存器 s 的字段
    t4编码寄存器 t 的字段

    11.4.3 跳转到地址

    将程序流程更改为目标地址。 该指令将程序计数器更改为相对于 PC 地址的目标地址。 与当前 PC 地址的偏移量包含在指令编码中。

    推测的跳转指令包括指定条件表达式的预期值的提示(“采用”或“未采用”)。 如果谓词的实际生成值与此预期值不同,则跳转指令会导致性能损失。

    该指令可以出现在插槽 2 或 3 中。
    在这里插入图片描述

    Class: J (slots 0,1,2,3)
    注意

    • 该指令可以根据谓词寄存器的值有条件地执行。 如果指令前面有“if Pn”,则该指令仅在谓词寄存器的最低有效位为 1 时执行。类似地,如果指令前面有“if !Pn”,则仅当最低有效位为 1 时才执行该指令。 -Pn 的有效位为 0。

    编码
    在这里插入图片描述

    字段名称描述
    ICLASS指令类
    DNDot-new
    PT预测
    Parse数据包/循环解析位
    u2编码寄存器 u 的字段

    11.4.4 跳转到以新谓词为条件的地址

    进行推测跳跃。

    如果新生成的谓词的 LSB 为真,则跳转。 谓词必须在与推测的跳转指令相同的数据包中生成。

    推测的跳转指令包括指定条件表达式的预期值的提示(“采用”或“未采用”)。 如果谓词的实际生成值与此预期值不同,则跳转指令会导致性能损失。

    该指令可以出现在插槽 2 或 3 中。
    在这里插入图片描述

    Class: J (slots 0,1,2,3)
    注意

    • 该指令可以根据谓词寄存器的值有条件地执行。 如果指令前面有“if Pn”,则该指令仅在谓词寄存器的最低有效位为 1 时执行。类似地,如果指令前面有“if !Pn”,则仅当最低有效位为 1 时才执行该指令。 -Pn 的有效位为 0。

    编码
    在这里插入图片描述

    字段名称描述
    ICLASS指令类
    DNDot-new
    PT预测
    Parse数据包/循环解析位
    u2编码寄存器 u 的字段

    11.4.5 跳转到寄存器值的地址条件

    执行寄存器条件跳转。

    如果指定的寄存器表达式为真则跳转。

    寄存器条件跳转包括一个提示(“采用”或“未采用”),它指定寄存器表达式的预期值。 如果表达式的实际生成值与此预期值不同,则跳转指令会导致性能损失。

    该指令只能出现在插槽 3 中。
    在这里插入图片描述

    Class: J (slot 3)
    注意

    • 该指令将在未来版本中弃用。

    编码
    在这里插入图片描述

    字段名称描述
    sm仅主管模式
    ICLASS指令类
    Parse数据包/循环解析位
    s5编码寄存器 s 的字段

    11.4.6 转移和跳跃

    将无符号立即数或寄存器值移动到目标寄存器并无条件跳转。 在汇编语法中,该指令在数据包中显示为两条指令,一条传输和一条单独的跳转。 汇编器可以将相邻的传输和跳转指令转换为复合传输-跳转形式。

    在这里插入图片描述

    Class: J (slots 2,3)

    编码
    在这里插入图片描述

    字段名称描述
    ICLASS指令类
    Parse数据包/循环解析位
    d4编码寄存器 d 的字段
    s4编码寄存器 s 的字段
  • 相关阅读:
    学习Bootstrap 5的第六天
    软件开发通识之二:如何从零开始学编程
    NSSCTF中的pop、babyupload、cve版本签到、奇妙的MD5、easy_html
    vsftpd使用
    elasticsearch5.6设置用户名密码
    概念:云计算
    交换机IOS模式
    vscode Markdown使用
    如何配置Log4j以便将日志信息输出到文件,并指定日志文件的格式?请解释Log4j中的PatternLayout,并给出一个常用的日志格式模式。
    Ensembling Off-the-shelf Models for GAN Training(GAN模型迎来预训练时代,仅需1%的训练样本)
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/126155164