• Hexagon_V65_Programmers_Reference_Manual(26)


    11.2.9.14 二级缓存全局操作

    对整个二级缓存执行维护操作。

    指令提交并设置SYSCFG:L2GCA位,以指示全局缓存状态机处于活动状态。一旦启动状态机,它将处理每个L2在后台缓存行。处理完所有缓存行后SYSCFG:L2GCA状态位已清除。

    L2KILL使每一行无效。需要在使用L2之前执行此指令在上电复位后,因为高速缓存将在未知状态下启动。
    L2GCLEAN强制对所有脏的二级缓存线执行清理(刷新)操作。
    L2GCLEANINV强制对脏L2线路进行清洁(冲洗),然后使其无效。
    L2GUNLOCK清除所有二级缓存线的锁定位。

    L2GCLEAN和L2GCLEANINV具有PA范围和掩码选项。在里面在这种形式下,Rtt寄存器在低位字中包含掩码,在高位字中包含匹配值单词如果缓存行的物理页码与掩码的“d”相等则执行缓存操作。否则,将保留缓存行不变。

    对于L2中的每个缓存行,语义是:如果Rtt[23:0]&PA[35:12])==Rtt[55:32]),在缓存行上执行clean/cleaniv。
    在这里插入图片描述
    类别:系统(插槽0)

    注意

    ■ 这是一个单独的指令。不得将其与其他指令分组小包裹

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常

    编码

    在这里插入图片描述

    11.2.9.15 按地址的二级缓存操作

    L2LOCKA首先根据Rs中提供的地址在L2中分配一行,然后设置锁定位,以便将来不会更换线路,除非明确解锁。取回为数据启动。最后,该指令将状态结果返回到目标谓语

    如果操作成功,则谓词设置为0xff;如果操作未成功,则为0x00达到目的可以返回失败状态,因为所有二级缓存方式都已启用或者由于某些内部瞬态条件。软件应解决以下问题:

    通过多次尝试(1000推荐)。

    L2UNLOCKA指令清除二级缓存行上的锁位,该行保存它提供了一个地址。

    在这里插入图片描述
    类别:系统(插槽0)

    笔记

    ■ 此指令只能与ALU32或非浮点XTYPE分组说明书

    ■ 此指令生成的谓词不能用作.new谓词,也不能用作它可以自动与另一个谓词连接。

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常。

    编码

    在这里插入图片描述

    11.2.9.16 L2标签读/写

    L2TAGR读取由Rs指示的标记,并将数据返回到Rd。此指令可以:

    可以与A型和X型指令分组。L2TAGW指令不应为空

    分组。

    寄存器Rs的格式如下:

    Rs[31:8] = Set
    Rs[7:0] = Way
    Return register Rd is formatted as follows:
    Rd[31] = A1
    Rd[30] = A0
    Rd[28:8] = Tag address bits 35:15
    Rd[4] = Lock bit
    Rd[3] = Reserve bit
    Rd[2:0] = State[2:0]
    The state bits are defined as follows:
    0 = Invalid
    1,3 = Reserved
    4 = Valid & Clean
    6 = Valid & Dirty
    在这里插入图片描述
    类别:系统(插槽0)

    注意

    ■ 此指令只能与ALU32或非浮点XTYPE分组说明书

    ■ 如果标签读或写地址为不存在的集合或方式,则结果未定义。

    ■ 这是一个单独的指令。不得将其与其他指令分组小包裹

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常
    在这里插入图片描述

    11.2.9.17 从物理地址加载

    MEMW_ PHYS使用源中保存的36位物理地址执行字加载
    寄存器Rt:Rs。Rs保持PA[10:0],Rt保持PA[35:11]的最低有效位。

    该指令首先在L1和L2缓存中查找数据。如果找到,则会删除数据返回。如果缓存中的访问未命中,则将其视为非分配(未缓存)负载。

    硬件强制两个最低有效位为零,因此将永远不会导致错误对齐冲突。

    本说明用于监视器软件浏览访客模式页面表,以及更容易调试。
    在这里插入图片描述
    类别:系统(插槽0)

    笔记

    ■ 这是一个单独的指令。不得将其与其他指令分组小包裹

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常。

    编码
    在这里插入图片描述

    11.2.9.18 在线程上提高NMI

    Rs的低位指定线程掩码,其中位0对应于线程0定义位的数量取决于支持多少硬件线程。

    NMI为掩码中指定的所有线程引发不可屏蔽的NMI中断。这中断将导致线程跳转到EVB中指定地址处的NMI向量。
    在这里插入图片描述
    类别:系统(插槽3)

    注意

    ■ 这是一个单独的指令。不得将其与其他指令分组小包裹

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常。

    编码

    在这里插入图片描述

    11.2.9.19 从等待模式恢复

    Rs的低位指定线程掩码,其中位0对应于线程0定义位的数量取决于支持多少硬件线程。

    RESUME使掩码中指定的所有处于等待模式的线程退出等待模式返回到主管模式或用户模式(以线程运行时处于活动状态的模式为准)进入等待模式)。如果要恢复的线程已关闭(停止模式)或已在运行(用户或主管模式),恢复说明不起作用。

    在这里插入图片描述
    类别:系统(插槽3)

    笔记

    ■ 这是一个单独的指令。不得将其与其他指令分组小包裹

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常。

    编码
    在这里插入图片描述

    11.2.9.20 从异常返回

    RTE用于从中断或异常处理程序返回。此指令清除并跳到ELR寄存器中指定的位置。

    此指令还清除SYSCFG。从而释放TLB锁如果需要,允许其他线程获取锁。RTE不应与另一个导致该指令的异常。如果RTE与任何其他指令分组导致异常,行为未定义。
    在这里插入图片描述
    类别:系统(插槽2)

    注意

    ■ 这是监视器级功能。如果在用户或来宾模式下执行发生错误或异常。

    编码

    在这里插入图片描述

  • 相关阅读:
    java计算机毕业设计小福星宠物领养演示视频源程序+mysql+系统+lw文档+远程调试
    八大排序-python
    电影票房排名查询易语言代码
    调整elment-ui的表头字体大小
    Go 语言学习总结(10)—— Go 初学者必知的十个命令
    MyBatis foreach标签有什么作用呢?
    ​​2年测试媛分享|女生到底适不适合做软件测试?优势在哪里?
    不同朝向的房间,怎么选择舒适的墙布颜色?-江南爱窗帘十大品牌
    李宏毅老师《机器学习》课程笔记-4.1 Self-attention
    前台主页搭建、后台主页轮播图接口设计、跨域问题详解、前后端互通、后端自定义配置、git软件的初步介绍
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/126400619