码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 1538_AURIX_TriCore内核架构_地址映射以及存储配置


    全部学习汇总: 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寄存器类似,只是这里是数据相关的。

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

  • 相关阅读:
    算法-具有所有最深节点的最小子树(Kotlin)
    计算机体系结构的概念和学习目的
    Vue - 实现任意内容展开 / 收起功能组件(支持自定义高度、动态展开与折叠、自定义展开与收起文案、动态增删数据自动计算高度、过渡动画等)
    基于UNI-APP实现适配器并保证适配器和实现的调用一致
    MYSQL数据库-基本操作
    Nginx 模块开发
    电脑缺失duilib.dll是什么情况,有什么办法可以解决duilib.dll缺失
    Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)
    ubuntu安装最新版本的go基于官网二进制
    聊聊神经网络的基础知识
  • 原文地址:https://blog.csdn.net/grey_csdn/article/details/128087336
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号