“TriCore”保护系统提供了隔离错误的基本功能。该系统不引人注目,开销很小,避免了不确定的运行时行为。
保护系统包含硬件机制,保护用户指定的内存范围不受未经授权的读、写或指令获取访问。该保护硬件还可以方便应用程序调试。
一、内存保护子系统概述
下面子系统涉及内存保护
1、Trap系统
trap是由于诸如 不可屏蔽中断(NMI)、指令异常或非法访问等事件而产生的。
TriCore架构包含八个Trap类,这些陷阱类进一步分为同步或异步、硬件或软件。
2、I/O特权级别
I/O模式有三种:
·User-0模式
·User-1模式
·Supervisor模式
3、基于范围的内存保护
基于范围的内存保护系统专为小型和低成本应用程序设计,为不需要虚拟内存的系统提供粗粒度内存保护
4、基于页的内存保护
对于需要虚拟内存的应用程序,可选的内存管理单元(memory Management Unit, MMU)支持一种熟悉的模型,该模型为每个内存页提供自己的访问权限。
5、有效地址
有两种转换机制: ·直接翻译
·基于页表条目(PTE)的翻译(仅限可选的MMU)。
二、基于范围的内存保护
1、保护范围
保护的范围是地址空间的连续部分,可以为其指定访问权限。
保护范围由“下限”和“上限”定义
一个地址属于以下范围:
下边界<=地址<上边界
保护范围分为两组:
·数据保护范围用于指定数据访问权限
·代码保护范围指定指令获取权限
代码和数据保护范围的数量取决于具体实现,每个限制为最少4个,最多32个
上下边界的粒度对于数据保护范围为8字节,对于代码保护范围为32字节数据
保护上限和下限寄存器的三个最低有效位是不可写的,并且总是返回零(重置位)
代码保护上限和下限寄存器的五个最低有效位是不可写的,并且总是返回零(重置位)
2、访问权限
访问权限定义了对保护范围允许的访问类型:
·数据读取
&nb

本文详细阐述了TriCore系统中的内存保护机制,包括Trap系统、I/O特权级别、基于范围和页的内存保护,以及相关寄存器的工作原理和设置过程,重点介绍了如何通过保护集管理和权限控制内存访问,以及Trap产生的条件和处理方式。
最低0.47元/天 解锁文章
2159





