当前位置:首页 > 单片机 > 单片机
[导读] 一、硬件架构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 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭