当前位置:首页 > 单片机 > 单片机
[导读] 一、硬件架构1、AXI总线(1)通过系统总线的NS位保护,为1表示Non-Secure,为0代表Secure(2)通过AXI-to-APB bridge保护外设安全,安全的连接外设(3)内存混叠:cache增加了一个tag位,标志着Secure和Non-Secure,由32位

 一、硬件架构

1、AXI总线

(1)通过系统总线的NS位保护,为1表示Non-Secure,为0代表Secure

(2)通过AXI-to-APB bridge保护外设安全,安全的连接外设

(3)内存混叠:cache增加了一个tag位,标志着Secure和Non-Secure,由32位地址扩充到33位地址(要注意保持数据的连贯性),数据分两份分别保存在Secure和Non-Secure中,在修改的时候要注意保持数据的一致。

2、处理器架构

2.1 世界切换:

(1) 用时间片划分的方式使用两个虚拟内核,通过monitor mode进行切换。

(2) 通过SMC指令、IRQ、FIQ或者异常(需要配置)进入monitor mode

(3) Monitor用于保存上下文,恢复被切换的世界

(4) 除非位于monitor,否则CP15中的SCR中的NS位标志着world。当位于monitor mode时,都是处于安全世界,但是当NS为1时,可以接受normal world的数据。

(5) 如果在Secure模式中把NS置为1,将会变为normal模式,使得normal看见secure中的敏感数据(不建议)。

2.2 L1高速缓存系统:

(1) L1 memory中最主要的部分是MMU,对两个世界的虚拟地址进行映射,分别独立。

(2) Non-Secure在进行地址映射时,忽略NS位(因为它只能读取到NS=1的数据),Secure选择一个memory进行读取,这使得secure可以读取到Non-Secure世界和Secure世界的数据。

(3) 为了快速转换世界,在TLB上标记了入口,不同世界执行不同路径,切换世界之后不用重置TLB。

(4) Cache上加了一个tag位,可动态改变,Cache动态更新时,Secure和Non-Secure可以任意驱逐。

(5) Non-Secure和Secure通过World-shared memory共享数据,使得可以不用重置cache。

(6) TCM:紧耦合内存,和Cache功能差不多,程序代码可以精确地控制什么函数或代码放在哪儿(RAM里)。当然TCM永远不会被踢出主存储器,因此,他会有一个被用户预设的性能,而不是象cache那样是统计特性的性能提高。 TCM对于以下几种情况的代码是非常有用、也是需要的:可预见的实时处理(中断处理)、时间可预见(加密算法)、避免cache分析(加密算法)、或者只是要求高性能的代码(编解码功能)。它有两个独立块,可以分别分给Secure和Non-Secure,也可以分别独立控制。

(7) ACP:加速一致性接口,允许过程化语言对CPU存储空间的一致性访问,是AXI的衍生接口。ACP代表着处理器处理外部(可选),使ARM处理器中Cache层次定位到外设,减少了对Cache的清理,改善了与外设共享信息的软件的执行速度,如DMA。

(8) AXI衍生系统通过ARIDMx、AWIDMx区分processor内部处理和以ACP为代表的外部处理。

2.3 安全中断:

(1) 允许对安全中断进行灵活的配置,安全中断不能被normal世界复制,建议用IRQ进入normal world,用FIQ进入secure world,如果处理器正在使用正确的内核,那么monitor不用切换世界。

(2) 为了防止恶意软件掩盖安全世界的敏感中断,CP15中有一个配置寄存器,防止更改F(FIQ mask)位和A(external abort mask)位,这个控制寄存器只能被Secure world接触。

(3) 有三个额外的中断表,分别代表Normal world、Monitor、Secure world。

(4) Secure world的基地址使用VINITHI重置,未维护的话是0x00000000,否则就是0xFFFF0000

(5) 各个向量表可以在运行时变化,通过VBAR实现。

(6) V位可以控制搞地质向量能否被使用,如果设置了V位,处理器异常总是从staring(0xFFFF0000)开始,V位是堆积的,是得Normal world和Secure可以独立配置向量表,而Monitor异常表总是被明确定义在MVBAR中。

(7) 各种配置选项被当作是敏感数据,只有Secure可以修改,Normal只能read,而设置是非敏感的,可以被任意世界加载,使得各个世界可以独立控制。有一些只有安全世界可以修改的全局配置,但是可以影响Norma world。尤其是在一些低级硬件中,比如Cache lockdown,合法的软件在normal world中执行时需要的很少或者不用改变。

(8) ARM可以支持多处理器(1-4),可选SMP和AMP模式,都需要维护数据一致性。多处理器系统一般有ACP,每个世界都有Secure和Normal,通过MMU进行独立控制。

(9) 一个明确的软件回喜安智安全世界的并发执行,减少安全风险,一致性硬件会使用Cache tag,要Secure和Norma保持一致。

(10) SCU(侦测控制单元)中有一个决定自己配置的配置寄存器,SCU中的ACR决定哪个处理器可以改变SCU配置寄存器以及是否可以重新编制。

(11) TrustZone-aware允许处理Secure和Non-secure中断,禁止非安全内存读取或修改安全中断配置,当一个中断被配置为安全世界的中断,Non-secure就不能修改配置了,安全世界中断的优先级大于normal中断,防止Secure使用中断时被normal world攻击。

(12) 只产生FIQ和IRQ中断,其他中断可以被配置为FIQ和IRQ。

2.4 调试架构:

分处理器调试和系统调试,debug control signal可以配置为全局允许或不允许,但是debug需要很多资源,为了防止被攻击,建议全局不允许。

(1) 处理器中断可以分别独立控制为SPIDEN、SPNIDEN、SUIDEN、SUNIDE,具体见3-17。

(2) 全局调试允许信号,DBGEN/NIDEN,着可以使核的可视化调试不可用,包括normal world的调试。

(3) 多处理器系统中,各个处理器独立控制,在SMP模式下,侵略性debug处理器可以修改不可侵略debug处理器的数据。

(4) 执行分析:CP15中有一个执行监视器,在运行时间对代码计时和对处理器事件计数,如Cache的调入调出。

(5) System debug用的是ARM CoreSight和跟踪技术,CoreSight不用标准的AXI-to-APB,它需要接受Non-secure内存事物。

(6) Debug模式会使normal直接影响secure和monitor。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对LED显示屏的认识,本文将对节能LED显示屏的设计予以介绍。

关键字: LED 指数 显示屏

为增进大家对LED显示屏的认识,本文将对LED显示屏的部件组成、LED显示屏的选型技巧予以介绍。

关键字: LED 指数 显示屏

LED显示屏的身影。为增进大家对LED显示屏的认识,本文将对LED灯珠对LED显示屏的影响予以介绍。

关键字: LED 指数 显示屏

为增进大家对双电层电容器的认识,本文将对双电层电容器物料、双电层电容器的优缺点予以介绍。

关键字: 电容器 指数 双电层电容器

为增进大家对双电层电容器的认识,本文将对双电层电容器的原理、双电层电容器的工艺予以介绍。

关键字: 电容器 指数 双电层电容器

为增进大家对电容器的认识,本文将对双电层电容器和赝电容器的区别予以详细介绍。

关键字: 电容器 双电层电容器 赝电容器 指数

本文中,将对示波器的原理、示波器带宽不够会带来的影响予以介绍。

关键字: 示波器 指数 数字示波器 模拟示波器

为增进大家对示波器的认识,本文将对示波器采样时间的设置、示波器采样率、示波器触发等知识予以介绍。

关键字: 示波器 指数 数字示波器 模拟示波器

为增进大家对示波器的认识,本文将对示波器的时基以及普源示波器波形粗的原因予以介绍。

关键字: 示波器 普源示波器 指数

Apr. 16, 2024 ---- NVIDIA新一代平台Blackwell,包含B系列GPU及整合NVIDIA自家Grace Arm CPU的GB200等。TrendForce集邦咨询指出,GB200的前一代为GH2...

关键字: CPU GPU
关闭
关闭