下面内容摘自《步步惊芯——软核处理器内部设计分析》一书

2 IMMU中的特殊寄存器

OR1200处理器中的IMMU包括第2组特殊寄存器,如表10.1所看到的。

ITLBW0MRx是指令TLB匹配寄存器,其格式如表10.2所看到的。

表10.2是OpenRISC 1000规范中的定义,实际在OR1200处理器中仅仅实现了当中一部分字段,包含VPN(Virtual
Page Number)的一部分、V(Valid标志位)。ITLBW0MRx相应图10.7中MR_RAM的表项,每个表项相应一个ITLBW0MRx,表项中“有效地址的19-31位”相应ITLBW0MRx的19-31位,表项中的V相应ITLBW0MRx中的V。如图10.8所看到的。

ITLBW0TRx是指令TLB翻译寄存器,其格式如表10.3所看到的。

表10.3是OpenRISC 1000规范中的定义,实际在OR1200中也仅仅实现了当中一部分字段,包含PPN(Physical Page Number)的一部分、UXE、SXE、CI。ITLBW0TRx相应图10.7中TR_RAM的表项,每个表项相应一个ITLBW0TRx,详细的相应关系也非常直接。如图10.9所看到的。

ITLB最大可配置有128项,所以ITLBW0MRx、ITLBW0TRx的x是从0-127,默认ITLB仅仅配置有64项,此时ITLBW0MRx、ITLBW0TRx中的x仅仅有0-63是有效的。

3 OR1200中关于IMMU的一些配置

在or1200_defines.v中有一些与IMMU相关的宏定义,用户能够通过改动宏定义实现对IMMU的配置,主要宏定义例如以下:

or1200中IMMU分析(续)的更多相关文章

  1. or1200于IMMU分析

    以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 1 IMMU结构 OR1200中实现IMMU的文件有or1200_immu_top.v.or1200_immu_tlb ...

  2. OR1200中指令Cache的结构

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 12.3 ICache结构 OR1200中实现ICache的文件有or1200_ic_top.v.or1200_ic_fsm.v.o ...

  3. or1200中载入存储类指令说明

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 OR1200中实现的载入存储类指令有8条,每条指令的作用与说明如表9.1所看到的. watermark/2/text/aHR0cDo ...

  4. Linux安装程序Anaconda分析(续)

    本来想写篇关于Anaconda的文章,但看到这里写的这么详细,转,原文在这里:Linux安装程序Anaconda分析(续) (1) disptach.py: 下面我们看一下Dispatcher类的主要 ...

  5. (转)ffmpeg 中 av_read_frame_internal分析

    作者: chenwei1983    时间: 2012-3-5 04:21 PM标题: ffmpeg 中 av_read_frame_internal分析                       ...

  6. 《Lucene in Action 第二版》第4章节 学习总结 -- Lucene中的分析

    通过第四章的学习,可以了解lucene的分析过程是怎样的,并且可以学会如何使用lucene内置分析器,以及自定义分析器.下面是具体总结 1. 分析(Analysis)是什么? 在lucene中,分析就 ...

  7. Vue中computed分析

    Vue中computed分析 在Vue中computed是计算属性,其会根据所依赖的数据动态显示新的计算结果,虽然使用{{}}模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的,在模板中放入太 ...

  8. 谷歌chrome浏览器network中Stalled分析和优化

    谷歌chrome浏览器network中Stalled分析和优化 问题由来 最近项目上要求首页的加载速度,查看浏览器的network发现接口加载速度非常慢. 问题解决思路 SSL 网上有人因为图片加载, ...

  9. Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

    要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...

随机推荐

  1. JavaScript 中的内存和性能、模拟事件(读书笔记思维导图)

    由于事件处理程序可以为现代 Web 应用程序提供交互能力,因此许多开发人员会不分青红皂白地向页面中添加大量的处理程序.在 JavaScript 中,添加到页面上的事件处理程序数量将直接关系到页面的整体 ...

  2. 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。

    原文:使用ROW_NUMBER()查询:列名 'RowNumber' 无效. 使用ROW_NUMBER()方法查询结果集:语句如下:   select ROW_NUMBER() OVER(ORDER ...

  3. Spark SQL Catalyst源代码分析Optimizer

    /** Spark SQL源代码分析系列*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer 以及核心类库TreeNode,本文将具体解说S ...

  4. 在不同版本号hdfs集群之间转移数据

    在不同版本号hdfs集群之间转移数据     最简单的办法就是把src集群的数据导到本地,然后起还有一个进程将本地数据传到des集群上去. 只是这有几个问题: 效率减少 占用本地磁盘空间 不能应付实时 ...

  5. jQuery 自学笔记—5 遍历

    什么是遍历? jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素.以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止. 下图展示了一个家族树. ...

  6. java中浮点数的比较(double, float)(转)

    问题的提出:如果我们编译运行下面这个程序会看到什么? public static void main(String args[]){ System.out.println(0.05+0.01); Sy ...

  7. C#-gdi画图,双缓冲画图,Paint事件的触发---ShinePans

    在使用gdi技术画图时,有时会发现图形线条不够流畅,或者在改变窗口大小时会闪烁不断的现象.(Use DoubleBuffer to solve it!)                         ...

  8. Algorithm Part I:Priority Queues

    1.binary heap实现 BinaryHeap.h #ifndef BINARYHEAP_H #define BINARYHEAP_H class BinaryHeap { public: Bi ...

  9. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化

    VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化 VMware ThinApp 应用程序虚拟化软件是无代理解决方案,通过将应用程序隔离并封装为EXE ...

  10. wscript:329: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are

    安装node错: wscript:329: error: Could not autodetect OpenSSL support. Make sure OpenSSL development pac ...