Memory Protection System(MPU内存保护系统)

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

        “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

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值