OR1200数据Cache运用情景分析
以下摘录《步骤吓得核心——软-core处理器的室内设计与分析》一本书
13.7DCache使用情景之中的一个——存储指令运行阶段DCache失靶
存储指令运行阶段DCache失靶这样的情景在通写法、回写法策略下有不同的运行过程,在通写法策略下直接写存储器中相应的地址,不操作DCache。
在回写法策略下。首先推断目的地址相应的DCache中文件夹表的line是否被改动,假设是(Dirty为1)。则将该line写回到内存,然后将目的地址所在的内存块读入DCache,填充到相应line,然后再改动DCache中相应目的地址的数据。假设目的地址相应的line没有被改动(Dirty为0),那么直接将目的地址所在的内存块读入DCache,填充到相应line,然后再改动DCache中相应目的地址的数据。
如图13.7所看到的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVpc2hhbmd3ZW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(详细分析过程參考书中正文)
13.8 DCache使用情景之二——存储指令运行阶段DCache命中
存储指令运行阶段DCache命中这样的情景在通写法、回写法策略下也有不同的运行过程,在通写法策略下,既要写DCache中文件夹表相应的line,还要写内存中相应的地址,在回写法策略下,仅仅是写DCache中文件夹表相应的line。如图13.11所看到的。
(详细分析过程參考书中正文)
13.9 DCache使用情景之三——l.mtspr指令写DCache中特殊寄存器
DCache中有三个特殊寄存器:DCBIR、DCBFR、DCBWR,其作用在13.3节已说明。从代码分析中能够发现,在通写法策略下,仅仅能使用DCBIR、DCBFR。在回写法策略下,能够使用所有三个特殊寄存器。这也是非常好理解的,在通写法策略下。DCache文件夹表中line的标志位Dirty始终为0。所以DCBIR、DCBFR的作用是一样。而且不是必需存在DCBWR寄存器,所以本章将指令l.mtspr写DCache中特殊寄存器这一情景又分为例如以下四种情景:
(1)通写法策略下。指令l.mtspr写DCBIR、DCBFR
(2)回写法策略下,指令l.mtspr写DCBIR
(3)回写法策略下,指令l.mtspr写DCBWR
(4)回写法策略下。指令l.mtspr写DCBFR
(详细分析过程參考书中正文)
13.10 DCache分析小结
DCache有多种使用情景,本章仅仅是分析了当中的三种,但这已经足够我们了解DCache的工作过程了。其余情景的处理过程与此是类似的。笔者个人感觉DCache模块是OR1200中最复杂的模块,由于要考虑到载入、存储指令,还要考虑採用的写策略是通写法、回写法,还要考虑DCache中相应文件夹项的标志位V、Dirty的情况,所以非常复杂。
为此。在本章最后分别给出在通写法、回写法情况下。DCache的工作流程图,如图13.18、13.19所看到的,当中也给出了DC_FSM模块中有限状态机各个状态之间的转换情况。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVpc2hhbmd3ZW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
版权声明:本文博客原创文章,博客,未经同意,不得转载。
OR1200数据Cache运用情景分析的更多相关文章
- OR1200数据Cache介绍
以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 上一章剖析了ICache模块. 本章将剖析DCache模块.首先指出DCache模块相比ICache的特别之处.由于这 ...
- Linux内核源代码情景分析系列
http://blog.sina.com.cn/s/blog_6b94d5680101vfqv.html Linux内核源代码情景分析---第五章 文件系统 5.1 概述 构成一个操作系统最重要的就 ...
- OR1200指令Cache使用举例
下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 12.4 ICache中的特殊寄存器 通过ICache的接口可知其具有特殊寄存器,而且是不可读的特殊寄存器,OR1200处理器中IC ...
- 《Android系统源代码情景分析》连载回忆录:灵感之源
上个月,在花了一年半时间之后,写了55篇文章,分析完成了Chromium在Android上的实现,以及Android基于Chromium实现的WebView.学到了很多东西,不过也挺累的,平均不到两个 ...
- Android系统--Binder系统具体框架分析(二)Binder驱动情景分析
Android系统--Binder系统具体框架分析(二)Binder驱动情景分析 1. Binder驱动情景分析 1.1 进程间通信三要素 源 目的:handle表示"服务",即向 ...
- Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理
Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理 1. 回顾 我们知道Android输入系统是Reader线程通过驱动程序得到上报的输入事件,还要经过处理 ...
- go语言调度器源代码情景分析之五:汇编指令
本文是<go调度器源代码情景分析>系列 第一章 预备知识的第4小节. 汇编语言是每位后端程序员都应该掌握的一门语言,因为学会了汇编语言,不管是对我们调试程序还是研究与理解计算机底层的一些运 ...
- go语言调度器源代码情景分析之四:函数调用栈
本文是<go调度器源代码情景分析>系列 第一章 预备知识的第3小节. 什么是栈 栈是一种“后进先出”的数据结构,它相当于一个容器,当需要往容器里面添加元素时只能放在最上面的一个元素之上,需 ...
- go语言调度器源代码情景分析之三:内存
本文是<go调度器源代码情景分析>系列 第一章 预备知识的第2小节. 内存是计算机系统的存储设备,其主要作用是协助CPU在执行程序时存储数据和指令. 内存由大量内存单元组成,内存单元大小为 ...
随机推荐
- 【HTML+CSS】(1)基本语法
HTML基金会 <em>他强调标签,<strong>加粗标签 <q>短文本引用.<blockquote>长文本引用,这两个标签会让文字带双引號. 空 ...
- Windows Phone – 裁剪图片 (Crop Image)
原文:Windows Phone – 裁剪图片 (Crop Image) 最近在处理图像的功能,对於图像的比例我也不是非常的清楚,因此,在编辑图片上花了不少时间. 该篇文章主要说明的是:如何对图片选择 ...
- C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
于 C# 6.0 包裹在异常处理的新功能,有两个方面的改进: 异步处理(async and await)能力 catch block 总结使用.于 C# 5.0 释放 async and await, ...
- 安装github for windows问题解决
到官网下载windows环境下的github,在安装时出现下面问题 An error occurred trying to download 'http://github-windows.s3.ama ...
- Ural 1309 Dispute (递归)
意甲冠军: 给你一个数列: f(0) = 0 f(n) = g(n,f(n-1)) g(x,y) = ((y-1)*x^5+x^3-xy+3x+7y)%9973 让你求f(n) n <= 1e ...
- PHP第七课 使用方法数组2
学习平台: 1.了解数组函数 2.输出随机验证码 1.数组函数: 数组函数: //作用:提供了非常多官方写的非常实用的代码段,提高编写速度. 1.数组的键值操作函数 2.统计数组的元素和唯一性 3.使 ...
- 旧Mj下拉刷新 An instance 0xca90200 of class UITableView was deallocated while key value observers were s
An instance 0xca90200 of class UITableView was deallocated while key value observers were still regi ...
- linux内核数据包转发流程(三)网卡帧接收分析
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 每一个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不 ...
- Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异
本文介绍了7样的结构模型中的其余2种:轻量级.代理模式. 一.享元模式FlyWeight 享元模式比較简单且重要,在非常多场合都被用到.仅仅只是封装起来了用户看不到.其概念:运用共享内存技术最大限度的 ...
- Objective-C辛格尔顿
单例类是一种特殊的类.在一个进程种仅仅会存在一个该类的对象,在iOS应用中仅仅会出现一个对象.这样的设计模式在系统框架中很多地方都使用了.如NSFileManager.UIApplication等. ...