1530_AURIX_TriCore内核架构_通用寄存器以及系统寄存器

news2024/11/27 0:42:51

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

继续看一下内核手册,这次了解一下通用寄存器以及系统寄存器。最近一段时间最复位以及trap困扰了许久,看看这里面是否能够获取到什么信息。

1. 寄存器从功能类别等角度的划分,之前已经在其他的地方看到了。

2. 内核特殊功能寄存器仅在初始化状态种可以修改,受到ENDINIT的保护。

3. ENDINIT机制还有一个专门的安全版本的。

1. 寄存器从功能上来看是分为地址寄存器以及数据寄存器的。

2. 寄存器A11是调用返回地址的寄存器,有点之前看到的PPC种的链接跳转寄存器的意思。

3. 16bit的执行一般会使用A15和D15两个寄存器,32bit的指令一般是没有专门的限制的。

4. 对于浮点的功能是没有单独的浮点寄存器的。

这里能够看得到这个内核手册系列中的地址表述习惯,基本上全都是基地址加偏移的方式来实现的。

看到过上下文需要64字节对齐的要求,本来想看看这里面的信息是否是64个字节。但是根据这个信息算下来,上下都是56个字节,缺一个SP的信息?

1. PC寄存器、程序状态字、前上下文信息,这些都是上下文切换的时候的一些关键信息。

2. 关于PC寄存器,我之前的理解是下一条运行指令的地址,但是从这里的描述看是当前的。

3. 如果尝试去修改PC寄存器,只能够实在内核停止的时候去修改。不过,这就有一点有趣了,如果内核都已经停了,软件还有修改它的可能性吗?

程序状态字寄存器,这个在上下文切换中还是很有意义的,尤其是IS,涉及到中断的一些条件判断。这里面还有一个信息是安全任务ID,这个又是如何处理的呢?有一些看不通。

1. 保护寄存器组,没有看明白如何用,那就暂时先保持一个这样的概念。

2. 几种不同的模式之前已经看过了,不过针对User-1的模式,有些地方的描述是不同的。针对中断处理的说明,其实不是关闭,而是短暂关闭。

1. IS,前面大概也自己提示预警了一下。这个会用来区分用户堆栈还是共享全局堆栈。前者,会使用ISP的信息作为SP的数值,而后者则是使用当前SP的信息。

2. A0、A1两个寄存器是编译器用的,而A8和A9shi编译器不会用的。

至于哪些寄存器是全局地址寄存器,可以结合这个图来看。

1. 关于调用深度的计数器,感觉上应该是可以用来限制软件递归调用的层级。我现在用的个人计算机应该是有这样的限制的,不知道理解的点是否一致。

2. 程序状态字的用户状态位修改或者清除可能会有副作用。

程序状态寄存器的另外一个作用就是判断是否进位以及溢出等结果发生。

这部分前面其实也有描述的,上下文的切换在这个芯片架构上是硬件来实现的。

这个寄存器的存储信息是先前的上下文信息以及指针寄存器,其中PCX可以用来存储上一次的CSA的信息。

1. 堆栈管理一般是涉及2种中断以及3个寄存器。两种堆栈是用户堆栈以及中断堆栈,三个寄存器一个是SP一个ISP还有一个PSW。

2. OS用的堆栈SP一般是A[10]。

3. 架构实现了ISP的切换,但是没有实现对SP的切换。

4. 如果task被中断的时候,正在使用中断堆栈,那么SP寄存器不会进行预加载而是继续使用中断寄存器。其实,结合上面的一条可以理解,因为中断堆栈的管理是架构实现的。

5. ISP一般只需要初始化一次,但是后续是可以修改的。没有什么方式可以阻断ISR或者系统服务在私有stack(应该是用户堆栈)上的运行。

寄存器有一些读写权限的设置来控制软件对外设的访问,这个在一定程度上是可以实现安全访问的。

这里获得的应该是CPU的类型以及内核版本等信息。

这个应该是我之前在软件中已经看过的内核ID的信息。

1. 中断寄存器可以实现:启停中断、分配优先级编号、连接到可以提供服务的模块上。

2. 存储保护使用的是一个寄存器对儿,可以提供允许访问的存储的上下区间段。

软件自动更新内核特殊功能寄存器的可能性不大。

以上的信息大概就是通用内核寄存器以及系统寄存器的大概内容,这么看下来还是有一定的收获。尤其是对于OS类的调度处理等,有了一定的硬件设计层面的理解框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黄河水稻山东智慧 国稻种芯·中国水稻节:济南泉城米袋子

黄河水稻山东智慧 国稻种芯中国水稻节:济南泉城米袋子 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农业大健康大会报道:又是一年春天。济南黄河流域吴家堡水稻田旁的…

数据挖掘与机器学习:数据挖掘算法原理与实践:数据预处理

目录 第一关:标准化 任务描述: 相关知识: 一、为什么要进行标准化 二、Z-score标准化 三、Min-max标准化 四、MaxAbs标准化 编程要求: 测试说明: 第二关:非线性转换 任务描述: 相关知…

【LeetCode】878. 第 N 个神奇数字

题目描述 一个正整数如果能被 a 或 b 整除,那么它是神奇的。 给定三个整数 n , a , b ,返回第 n 个神奇的数字。因为答案可能很大,所以返回答案 对 109 7 取模 后的值。 示例 1: 输入:n 1, a 2, b 3 输出&#xff…

stm32cubemx hal学习记录:FreeRTOS互斥量

一、互斥量 1、互斥量用于互锁,可以充当资源保护的令牌,当一个任务希望访问某个资源时,它必须先获取令牌,当任务使用完资源后,必须返还令牌,以便其他任务可以访问该资源。 2、互斥量一般用于临界资源保护…

[附源码]计算机毕业设计JAVA教师档案管理系统

[附源码]计算机毕业设计JAVA教师档案管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

LabVIEW通信-CAN

文章目录CANcan总线特点位定位与同步标识符检验滤波报文传输类型CAN CAN属于OSI的物理层与数据链路层 can总线特点 网络各节点之间的数据通信实时性强 开发周期短 结构简单(只有两根线与外部相连,内部继承了错误探测和管理模块) 数据通信没…

Spring IOC

一、为什么要使用Spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 为…

RPA案例|云扩助力保险行业开启超自动化运营新阶段

近五年,全球平均保险深度总体呈小幅平稳下降趋势,2021年中国保险深度为4.15%,全球平均保险深度为5.96%,而美国、英国等发达国家的保险深度则保持在10%以上,中国保险深度仍然具有很大的上升空间。 为进一步拓展增量空间…

软考是什么?---2023年软考最全解析

软考是什么? 软考全称为:计算机技术与软件专业技术资格(水平)考试,发证机构为国家人力资源和社会保障部、工业和信息化部,简称为:人社部和工信部。中日韩三国互认,证书的含金量很高…

Navicat操作数据库与Mysql常见命令操作实战

一:Navicat下载与安装 官网下载链接:Navicat 下载完后直接安装即可 二:数据库的连接 1.打开Navicat软件,点击左上角连接按钮,选择mysql数据库 输入完成后双击连接名,连接成功后,小海豚变绿色 …

Advances in Graph Neural Networks笔记5:Dynamic Graph Neural Networks

诸神缄默不语-个人CSDN博文目录 本书网址:https://link.springer.com/book/10.1007/978-3-031-16174-2 本文是本书第五章的笔记。 懒得看了!反正我也不是做这个的。以后要是真的去做动态图了也不是没资源找,这个我懒得看了,就写一…

CentOS 7安装Redis+Springboot整合Redis

1、虚拟环境条件: 已安装VMwareVMware Tools 使用的是视图界面并配置了基本开发环境,参照超详细VMware安装CentOs图文教程_Sq夏颜的博客-CSDN博客 2、直接把已经下载好的redis安装包拖进来,下载地址:CRUG网站 3、解压 tar -zxv…

美国fba海运清关基本流程

美国fba海运清关是美国物流运输的重要组成部分,准备好清关材料和正确流程是确保货物安全快速进口到美国的关键。虽然很多客户会选择双清包税的方式,但是当跨境电商越来越大的时候,双清包税的成本也会相应增加。选择自税不包清关,按…

react配置项目路径别名@

为什么有的项目引入路径写可以,自己的不行呢? 因为别人的项目是配置过路径别名的,就表示src目录,因此我们也需要配置一遍,以下是react项目示范,vue项目同理。 ts对指向src目录的提示是不支持的&#xff0…

Linux命令学习之原来最简单的ls命令这么复杂

ls命令的使用格式如下 ls [选项] [具体的文件] # [] 表示可选 直接在命令行输入ls将当前目录下的列出当前目录下的文件和目录。 1 2 $ls LICENSE README.md hello.c 也可以指定具体的目录和文件 1 2 3 $ls / bin dev home lib32 libx32 mnt proc run srv tmp …

Kotlin 基础学习笔记第七章——运算符重载及其他约定

如你所知,java在标准库中有一些与特定的类相关联的语言特性。例如,实现java.lang.Iterable接口的对象可以在for循环中使用;实现了java.lang.AutoCloseable接口的对象可以在try-with-resource语句中使用。 一、重载算术运算符 1、重载二元运算…

IIC的使用

借鉴于:蓝桥杯嵌入式快速通关篇,IIC通讯及EEPROM_穿上我的格子衫的博客-CSDN博客 IIC原理超详细讲解---值得一看_Z小旋的博客-CSDN博客_iic 总线空闲:SDA 1,SCL 1; 启动信号:SCL 1,SDA 1 -> 0; 停止信号:SCL …

【王道计算机网络笔记】物理层-通信基础

文章目录物理层接口特性典型的数据通信模型数据通信相关术语三种通信方式(交互方式)串行传输&并行传输(数据传输方式)同步传输&异步传输码元速率带宽失真失真的一种现象——码间串扰奈氏准则(奈奎斯特定理&…

矩阵股份上市首日跌破发行价:振幅达10%,王冠为实际控制人

11月22日,矩阵纵横设计股份有限公司(下称“矩阵股份”,SZ:301365)在深圳证券交易所创业板上市。本次上市,矩阵股份的发行价为34.72元/股,发行数量为3000万股,募资总额约为10.42亿元,…

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.15 SpringBoot 整合 task

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.15 SpringBoot 整合 task5.15.1 SpringBoot 整合 …