1538_AURIX_TriCore内核架构_地址映射以及存储配置
创始人
2024-02-25 08:31:37
0

全部学习汇总: GreyZhang/g_tricore_architecture: some learning note about tricore architecture. (github.com)

继续看TriCore的内核手册,这一次看一下地址映射以及存储配置。我大概顺了一遍之后,感觉这部分还是很简单的。而看完这部分,对于整个AURIX芯片系列的存储排布感觉也有了一点更加准确的了解。不过,关于cache的使用与否以及优劣等,还得在具体的实操中去体会总结。

1. TriCore能够寻址的范围是4GB,在分区上拆分成了16个256GB。正好,对应着十六进制的16个字符,以此定义出来了16个段。其实,之前在其他的文档中看到这个分段信息的时候,也大概总结出来了这样的规律。

2. 关于SRAM的分段,有两个段,一个是C段还有一个是D段。结合缩写,其实很好区分,分别是用于程序和数据的。而针对这部分的存储的访问,多核系统中可以访问0~7段的地址,这是相应存储的镜像。这个访问,在对应关系上考虑了8核,对应关系是倒序的。

1. 每一个段的访问特性可以有PMAx寄存器来控制。

2. 关于cache的设计,程序和数据都是存在的。

3. 外设空间比较特殊,这个是不支持cache的,也容易理解,外设的信息需要保证数据的一些时效性。另外,外设的变化种类较多,也很难实现统一的cache加速机制。关于这部分地址空间,只有管理员以及用户0模式可以访问。这里面的所有的信息读取都是非cache加速的,也不会进行预测处理。

1. 访问分为必要以及预测两种情况,主要是说读取的功能。

2. 预测功能的设计,主要是为了提升性能。预测功能,只支持读取不支持写入。

3. 关于各个段的cache特性有几个原则:第一,外设是不支持的;第二,程序cache不能够用于数据的缓存;第三,数据的cache不能够用于程序的缓存。

4. 从上面给出来的表格看,可以用于cache的地址段是很有限的。

PMA0主要是用于DSPR的数据分段的配置,这里的field中的DAC应该是数据访问cache设置的意思吧。

PMA1主要是用于code的配置,CAC的意思应该是程序访问cache。这么看,PMA0与PMA1其四是没有太大的冲突的,因为重合的部分其实都是不可以设置的,因此两个寄存器设置的其实是独立区。这个我第一次看的时候其实没理解到,现在整理笔记的时候倒是看明白了。

PMA2的一些设置是可以实现对PMA0以及PMA1的一些配置的覆盖的。而从cache相应的设置信息看,如果数值为0代表着开启,数值为1代表着关闭。

PMA0、PMA1、PMA2的关系以及有效性可能与这个寄存器有关,具体的MCU都有自己特定的实现。这个寄存器是程序相关的。

跟PCONx寄存器类似,只是这里是数据相关的。

这样这个章节就简单看完了,虽然内容看上去不多,但是还是解决了我曾经的很多疑惑的。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...