00000 Index Invalidate              INDEX_INVALIDATE_I          (I)
00001 Index WriteBack Invalidate INDEX_WRITEBACK_INV_D (D)
00101 Index Load Tag INDEX_LOAD_TAG_D (D)
01001 Index Store Tag INDEX_STORE_TAG_D (D)
10001 Hit Invalidate HIT_INVALIDATE_D (D)
10101 Hit WriteBack Invalidate HIT_WRITEBACK_INV_D (D)
// R10000-specific cacheops
11001 Index Load Data INDEX_LOAD_DATA_D (D)
11101 Index Store Data INDEX_STORE_DATA_D (D)
00011 Index WriteBack Invalidate INDEX_WRITEBACK_INV_S(/D) (S)
00111 Index Load Tag INDEX_LOAD_TAG_S(/D) (S)
01011 Index Store Tag INDEX_STORE_TAG_S(/D) (S)
10011 Hit Invalidate HIT_INVALIDATE_S(/D) (S)
10111 Hit WriteBack Invalidate HIT_WRITEBACK_INV_S(/D) (S)
11011 Index Load Data INDEX_LOAD_DATA_S (S)
11111 Index Store Data INDEX_STORE_DATA_S (S)

Index WriteBack Invalidate (S) 指令将二级Cache 中的对应块置为Invalid 状态。如果二级Cache 对应块的数据是脏的,则将数据写到处理器系统接口部件。由于二级Cache与数据Cache 和指令Cache 保持包含关系,因此在二级Cache 无效写回前先将数据Cache和指令Cache 中的对应数据无效,如果数据Cache 中对应的数据是脏的,则先将其写入二级Cache,最后完成二级Cache 块的无效写回。PA[16:5]定义物理地址,PA[1:0]定义无效的组号。
无效写回操作过程如下:
1. 处理器从二级 Cache 的Tag 数组读取STag 和状态位.如果状态位State=00(Invalid),则不需要采取任何操作。如果对应Cache 块是有效的,STag 用来对对指令和数据Cache 进行操作。
2. 查询指令 Cache,如果指令Cache 的ITag=STag 并且指令Cache 中该块的状态IState=1(Valid),处理器将指令Cache 中的对应块无效,即将状态置位为0(Invalid)。
3. 查询数据 Cache,如果数据Cache 的DTag=STag 并且数据Cache 中该块的状态DState 不等于00(Invalid),若Dirty 位的值为1,则将数据写入二级Cache,无效对应Cache 块。若Dirty 位的值为0,则直接无效数据Cache 的对应块。
4. 将二级 Cache 块的状态置为00(Invalid)。如果二级Cache 的状态为11(Dirty),将对应块写回到处理器接口。

Hit WriteBack Invalidate (S) 指令二级Cache 中地址PA 匹配的对应块置为Invalid 状态。如果二级Cache 对应块的数据是脏的,则将数据写到处理器系统接口部件。由于二级Cache 与数据Cache 和指令Cache 保持包含关系,因此在二级Cache 无效写回前先将数据Cache 和指令Cache 中的对应数据无效,如果数据Cache 中对应的数据是脏的,则先将其写入二级Cache,最后完成二级Cache 块的无效写回。
无效写回操作过程如下:
1. 处理器用 PA 从二级Cache 的Tag 数组读取STag 和状态位。如果STag 的值与PA对应位的值相同,且状态位State 不等于00(Invalid),则发生了命中。如果没有发生命中,该Cache 指令操作完成。
2. 查询指令 Cache,如果指令Cache 的ITag=STag 并且指令Cache 中该块的状态IState=1(Valid),处理器将指令Cache 中的对应块无效,即将状态置位为0(Invalid)。
3. 查询数据 Cache,如果数据Cache 的DTag=STag 并且数据Cache 中该块的状态DState 不等于00(Invalid),若Dirty 位的值为1,则将数据写入二级Cache,无效对应Cache 块。若Dirty 位的值为0,则直接无效数据Cache 的对应块。
4. 将二级 Cache 块的状态置为00(Invalid)。如果二级Cache 的状态为11(Dirty),将对应块写回到处理器接口。

Hit Invalidate (S) 指令将二级Cache 中地址匹配的对应块置为Invalid 状态。由于二
级Cache 与数据Cache 和指令Cache 保持包含关系,因此在二级Cache 无效写回前先将数据Cache 和指令Cache 中的对应数据无效,最后完成二级Cache 块的无效。
无效操作过程如下:
1.处理器用PA 从二级Cache 的Tag 数组读取STag 和状态位。如果STag 的值与PA对应位的值相同,且状态位State 不等于00(Invalid),则发生了命中。如果没有
发生命中,该Cache 指令操作完成。
2.查询指令Cache,如果指令Cache 的PA 与STag 匹配,并且指令Cache 中该块的状态IState=1(Valid),处理器将指令Cache 中的对应块无效,即将状态置位为0(Invalid)。
3.查询数据Cache,如果数据Cache 的DTag=STag 并且数据Cache 中该块的状态DState 不等于00(Invalid),则无效数据Cache 的对应块。4.将二级Cache 块的状态置为00(Invalid)。

loongson 2f 和u-boot中的cache命令对照的更多相关文章

  1. spring boot 中 Cache 的使用

    参考:https://blog.csdn.net/qq_38974634/article/details/80650810 一.JSR107 Java Caching 定义5个核心的接口,分别是Cac ...

  2. spring boot(三):Spring Boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...

  3. springboot(三):Spring boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...

  4. 在Spring Boot中使用数据缓存

    春节就要到了,在回家之前要赶快把今年欠下的技术债还清.so,今天继续.Spring Boot前面已经预热了n篇博客了,今天我们来继续看如何在Spring Boot中解决数据缓存问题.本篇博客是以初识在 ...

  5. Spring Boot:Spring Boot 中 Redis 的使用

    Redis 介绍 Redis 是目前业界使用最广泛的内存数据存储.相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化.除此 ...

  6. (转)Spring Boot(三):Spring Boot 中 Redis 的使用

    http://www.ityouknow.com/springboot/2016/03/06/spring-boot-redis.html Spring Boot 对常用的数据库支持外,对 Nosql ...

  7. 204. jetcache:在Spring Boot中怎么玩?

      [视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...

  8. 学习Spring Boot:(二十三)Spring Boot 中使用 Docker

    前言 简单的学习下怎么在 Spring Boot 中使用 Docker 进行构建,发布一个镜像,现在我们通过远程的 docker api 构建镜像,运行容器,发布镜像等操作. 这里只介绍两种方式: 远 ...

  9. Spring boot(三)在Spring boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...

随机推荐

  1. H5软键盘兼容方案

    前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上.需求很明确,看似很简单,其实不然.从实验过一些机型上看,发现主要存在以下问题: ...

  2. CentOS7 64位下MySQL5.7安装与配置(YUM)

    1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # 下载mysql源安装包 shell> wget ...

  3. 详解volatile 关键字与内存可见性

    先来看一个例子: public class VolatileTest {            public static void main(String[] args) {           T ...

  4. LeetCode33—搜索旋转排序数组

    方法一:先找到旋转点,然后根据目标值重新确定二分查找区域. 时间复杂度:用到两次二分查找,每次二分查找粗略的认为是O(logn),那么时间复杂度为2 * O(logn): 空间复杂度:O(1). in ...

  5. React Navigation & React Native & React Native Navigation

    React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...

  6. Tenka1 Programmer Contest 2019

    C:即要使前一部分为白色后一部分为黑色,枚举分割点前缀和计算答案取min即可. #include<bits/stdc++.h> using namespace std; #define l ...

  7. Scrapy 框架简介

    Scrapy 框架 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的 ...

  8. emwin之创建窗口与窗口回调函数的句柄是一致的

    @2019-04-28 [小记] 由函数GUI_CreateDialogBox 创建的窗口所返回的句柄与回调函数形参中的窗口句柄参数是一样的

  9. CF700E E. Cool Slogans

    https://codeforces.com/contest/700/problem/E 题解:https://www.luogu.org/problemnew/solution/CF700E 其实就 ...

  10. dgraph解决社交关系中的正反向查找

    dgraph解决社交关系中的正反向查找 本篇介绍的是, 社交关系中的关注者与被关注者在dgraph中如何实现查找. 对dgraph的基本操作不太清楚的可以看看我之前写的博客 dgraph实现基本操作 ...