当前位置: 首页 > news >正文

访问的网站显示建设中重庆百度推广排名优化

访问的网站显示建设中,重庆百度推广排名优化,网站域名怎么解释,商会网站建设本文以Cortex-A53处理器为例,通过访问 处理器中的内部存储单元(tag RAM和dirty RAM),来读取cache line 中的MOESI信息。 Cortex-A53提供了一种通过读取一些系统寄存器,来访问Cache 和 TLB使用的一些内部存储单元的机制…

本文以Cortex-A53处理器为例,通过访问 处理器中的内部存储单元(tag RAM和dirty RAM),来读取cache line 中的MOESI信息。
Cortex-A53提供了一种通过读取一些系统寄存器,来访问Cache 和 TLB使用的一些内部存储单元的机制。这个功能可以探查出当缓存中的数据与主存中的数据不一致时存在的问题。
此外,A64模式和A32模式的读取方式不同:
当处理器处于A64模式时,先通过一些只写(write-only)寄存器来选择具体的cache line和内存地址,然后通过只读寄存器来读取具体的tag信息。下图为相关寄存器以及相关操作指令,需要注意的是,这些操作只在EL3时可用,如果在其他模式下使用这些指令,将会进入Undefined Instruction 异常。
在这里插入图片描述
当处理器处于A32模式下时,先通过一些只写(write-only)CP15寄存器来选择具体的cache line和内存地址,然后通过只读CP15寄存器来读取具体的tag信息。下图为相关寄存器以及相关操作指令,需要注意的是,这些操作只在EL3时可用,如果在其他模式下使用这些CP15指令,将会进入Undefined Instruction 异常。
在这里插入图片描述
接下来,本文以Cortex-A53的Data cache为例,读取其某个cache line的tag信息,其具体的步骤很简单,分为两步:

  1. 写入Data Cache Tag Read Operation Register,写入的内容为具体的Set和way信息,通过way index和set index来定位到想要读取的cache line。
  2. 读取相应的 Data Register 0 和 Data Register 1寄存器,通过对Data Register寄存器里面的数据进行解码,来获取tag 信息。
    其他信息,比如Data cache 的data信息Instruction Cache的data或者tag信息,以及TLB的data信息,都可以用这种方式读取得到。

Step1:将Set/way信息写入Data Cache Tag Read Operation Register

首先,我们需要从一个虚拟地址(VA)中解析出Set index信息。
下图为Cortex-A57的4-way组相连的32KB大小的data cache结构,其cache line大小也为64 bytes,从图中可知,一个VA可以被分成几个部分:Tag,Set index,word index以及byte index。其中Set index = VA[13:6]。
在这里插入图片描述
在另一个实例中,32KB大小的4-way组相连data cache,cache line大小为32 bytes,其Set index = VA[12:5]:
在这里插入图片描述
Cortex-A53的Data cache为4-way 组相连结构。假设其为32KB,一个cache line的大小为64 bytes,我们就可以求出该data cache中有 32 KB / 64 B / 4 = 2^7 = 128个set(组),也就是说至少需要7个bit才能完整解析出具体的set index。如下图所示,可以通过公式:

S = log2(Data cache size / 4).

来计算出Set index的范围:Set index = VA[12:6]。
由于是4-way 组相连结构,cache line 可以存在与任意一个way中,所以我们的cache way可能为0,1,2,3中任意一个数字。
求得了set和way的index后,需要对其进行编码,然后写入到Data Cache Tag Read Operation Register寄存器中。其编码规则如下图所示,只需将Set和way的值写入对应的bit中即可,其中Rd[5:3]为cahche double word数据的偏移量,由于本次示例是读取tag信息,所以Rd[5:3]为0即可。
在这里插入图片描述
所以我们要写入Data Cache Tag Read Operation Register的Rd的值可以通过以下代码获取:

unsigned int get_Rd_data(int * VA, way_num)
{unsigned int set_way_index = VA | 0x1FC0; //get way index, VA[12:6]set_way_index |= way_num < 30; //way_num could be 0,1,2,3 return set_way_index;
}

Rd中除了Set和way信息,其他值均为0,0x1FC0为VA[12:6]全为1的情况:
在这里插入图片描述
然后我们使用CP15寄存器将Rd的值写入,假设Rd为R0:

MCR p15, 3, r0, c15, c2, 0   ; r0 = get_Rd_data(VA,way_num)

Step2:读取Data Register 1和Data Register 0数据并解码

将Set/way信息写入Data Cache Tag Read Operation Register 后,相当于选择了想要操作的cache line,接下来我们将读取Data Register 1和Data Register 0的数据来获取该cache line里的tag信息,除了tag信息外,我们还可以从Data Register 1和Data Register 0两个寄存器中获取:

  1. MOESI 状态信息
  2. outer内存属性
  3. valid 信息
    可获得的信息具体见下图:
    在这里插入图片描述
    在这里插入图片描述
    需要注意的是,如果是想获取MOESI状态信息,则需要两个寄存器配合使用,即读取Data Register 0 [1:0]以及Data Register 1 [30:29] ,Data Register 0 [1:0]里的为来自Dirty RAM的部分状态信息,Data Register 1 [30:29]里的为来自tag RAM的部分MOESI信息,
    其具体的组合见下图:
    在这里插入图片描述
    比如读取到的Data Register 0 [1:0]为1,以及Data Register 1 [30:29]也为1,根据上图的组合关系,可知当前cache line的MOESI状态为 SharedDirty(O)。

示例代码如下:

; step 1: write set index and way num into Data Cache Tag Read Operation Register
MCR p15, 3, r0, c15, c2, 0   ; r0 = get_Rd_data(VA,way_num)
; step 2: read Data Register 1 and Data Register 0
MCR p15, 3, r1, c15, c0, 0   ;r1 =  Data Register 0 
MCR p15, 3, r2, c15, c0, 1   ;r2 =  Data Register 1 

参考文章:
DDI0500E_cortex_a53_r0p3_trm.pdf

http://www.15wanjia.com/news/36112.html

相关文章:

  • 网站seo快速排名软件网站模板定制
  • 做淘宝优惠网站免费b站软件下载
  • 玉林网站推广软文营销策划方案
  • 前程无忧深圳招聘网站域名状态查询工具
  • 怎么看网站是不是h5做的新手怎么做电商
  • 网站建设不用备案的天津seo外包团队
  • 做网站的前景竞价托管一般多少钱
  • 广东网站设计推荐焊工培训内容
  • 百度网站数据统计怎么做深圳最新通告今天
  • 电商网站开发用什么语言表达企业网络推广服务
  • 网站建设这个搜索引擎优化与推广技术
  • 一个公网ip可以做几个网站广州最新发布最新
  • 深圳建网站技术百度网盘app下载安装
  • wordpress get_the_permalink优化的近义词
  • 做企业网站可以没有后台吗kj6699的seo综合查询
  • 腾讯服务器做网站湛江seo网站管理
  • html个人网页代码泉州seo代理商
  • 做百度竞价网站修改影响排名吗足球联赛排名
  • 上海市工程建设信息网官方网站seo优化评论
  • 如何搭建公司内部网站线在科技成都网站推广公司
  • 响应式网站用什么语言网络服务商主要包括哪些
  • 做标签刷单平台网站天津百度推广
  • 酷狗音乐网站开发语言哪里做网络推广好
  • 易语言可以做网站嘛产品推广方案怎么写
  • wordpress网站添加背景音乐搜索引擎营销简称
  • html怎么设置网页背景图片网站优化的方式有哪些
  • 网站建设技术参数什么平台可以免费打广告
  • 厦门小程序开发的公司珠海seo关键词排名
  • 西宁网站建设排名深圳市网络营销推广服务公司
  • 网络设计与实施课程设计湖南企业seo优化首选