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

阿里巴巴建设电子商务网站目的打开app下载

阿里巴巴建设电子商务网站目的,打开app下载,网站建设移动端官网,软件开发文档包括本文以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.ds6.com.cn/news/80349.html

相关文章:

  • 旅游做攻略网站好今日最新财经新闻
  • 宝安区做外贸网站的公司百度知道答题赚钱
  • 做外贸网站要多少钱互联网营销推广
  • 织梦网站还原青岛seo排名收费
  • 网站设计评分标准百度推广官方网站
  • 做网站的软件wd的叫啥百度搜索官方网站
  • 网站用 做有什么好处网站推广的方法和途径
  • 制作旅游网站的步骤黄冈网站推广优化找哪家
  • 同里做网站搜索引擎推广培训
  • 怎么用ps做网站浏览器网页版入口
  • 那些公司做网站好百度权重5的网站能卖多少钱
  • 织梦网站如何做优化广东深圳龙华区
  • 马鞍山住房和城乡建设委员会网站手机怎么做网站免费的
  • 网站建设推来客在哪里浙江网站推广运营
  • 怎么登录企业网站seo网站优化工具
  • 哈尔滨专业网站制作设计网络销售培训
  • 做演讲和做演讲视频网站广告位招商怎么找客户
  • wordpress 出错网站优化公司哪个好
  • 涪陵网站建设公司网络服务商主要包括
  • 网站建站作业百度指数对比
  • 外贸网站增加权重网络营销是做什么的
  • 外贸服装网站开发搜狗搜索引擎推广
  • 怎么建自己的手机网站吗长沙排名推广
  • wordpress耍留言论述搜索引擎优化的具体措施
  • 大连网站建设仟亿科技外链平台有哪些
  • 游戏推荐网站怎么做软件商店安装
  • 长春网站建设q479185700強企业营销网站建设系统
  • 昆明企业为什么要做网站seo培训教程视频
  • 网络营销软件哪个好优化课程体系
  • 郑州做营销型网站网页设计怎么做