• OR1200数据Cache运用情景分析


    以下摘录《步骤吓得核心——软-core处理器的室内设计与分析》一本书

    13.7 DCache使用情景之中的一个——存储指令运行阶段DCache失靶

          存储指令运行阶段DCache失靶这样的情景在通写法、回写法策略下有不同的运行过程,在通写法策略下直接写存储器中相应的地址,不操作DCache

    在回写法策略下。首先推断目的地址相应的DCache中文件夹表的line是否被改动,假设是(Dirty1)。则将该line写回到内存,然后将目的地址所在的内存块读入DCache,填充到相应line,然后再改动DCache中相应目的地址的数据。假设目的地址相应的line没有被改动(Dirty0),那么直接将目的地址所在的内存块读入DCache,填充到相应line,然后再改动DCache中相应目的地址的数据。

    如图13.7所看到的。

    (详细分析过程參考书中正文)

    13.8 DCache使用情景之二——存储指令运行阶段DCache命中

          存储指令运行阶段DCache命中这样的情景在通写法、回写法策略下也有不同的运行过程,在通写法策略下,既要写DCache中文件夹表相应的line,还要写内存中相应的地址,在回写法策略下,仅仅是写DCache中文件夹表相应的line。如图13.11所看到的。

    (详细分析过程參考书中正文)

    13.9 DCache使用情景之三——l.mtspr指令写DCache中特殊寄存器

          DCache中有三个特殊寄存器:DCBIRDCBFRDCBWR,其作用在13.3节已说明。从代码分析中能够发现,在通写法策略下,仅仅能使用DCBIRDCBFR。在回写法策略下,能够使用所有三个特殊寄存器。这也是非常好理解的,在通写法策略下。DCache文件夹表中line的标志位Dirty始终为0。所以DCBIRDCBFR的作用是一样。而且不是必需存在DCBWR寄存器,所以本章将指令l.mtsprDCache中特殊寄存器这一情景又分为例如以下四种情景:

          (1)通写法策略下。指令l.mtsprDCBIRDCBFR

          (2)回写法策略下,指令l.mtsprDCBIR

          (3)回写法策略下,指令l.mtsprDCBWR

          (4)回写法策略下。指令l.mtsprDCBFR

    (详细分析过程參考书中正文)

    13.10 DCache分析小结

          DCache有多种使用情景,本章仅仅是分析了当中的三种,但这已经足够我们了解DCache的工作过程了。其余情景的处理过程与此是类似的。笔者个人感觉DCache模块是OR1200中最复杂的模块,由于要考虑到载入、存储指令,还要考虑採用的写策略是通写法、回写法,还要考虑DCache中相应文件夹项的标志位VDirty的情况,所以非常复杂。

    为此。在本章最后分别给出在通写法、回写法情况下。DCache的工作流程图,如图13.1813.19所看到的,当中也给出了DC_FSM模块中有限状态机各个状态之间的转换情况。

     

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    ubuntu切换中英文通用方法,ubuntu中文语言
    ubuntu安装ibus-goolepinyin通用方法
    ubuntu12.04 64位系统配置jdk1.6和jdk-6u20-linux-i586.bin下载地址
    ubuntu创建桌面快捷方式
    vim记住上次编辑和浏览位置
    ubuntu12.04安装tftp,配置,修改目录,错误类型
    Ubuntu 12.04 make menuconfig 出现 Unable to find the ncurses libraries or the required header files.
    nginx六 之Session共享
    nginx五 之高可用
    nginx四 之缓存模块
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4720367.html
Copyright © 2020-2023  润新知