0 导言
跟着微电子技能和核算机技能的开展,嵌入式设备的功用越来越高,功用越来越杂乱,机载电子设备的杂乱程度也越来越高,需求有更多的传感器,集成更多的信号处理模块和其他各种运用模块。电子设备归纳化将多个功用单元集成到一块电路板上,以削减设备的尺度、分量,完结低功耗、体积小、低成本、高集成度等方针。
新式嵌入式设备选用高功用通用处理器,归纳化的机载设备则支撑不同安全要害等级的运用软件同享同一套硬件资源,并供给一种安全性机制确保运用程序之间彼此阻隔,这就要求体系不只应具有高功用核算才干和扩展才干,还有具有安全、牢靠、低成本和低功耗的特色。一般,在航空航天范畴的嵌入式设备较多选用PowerPC系列处理器或DSP等微处理器,但跟着ARM处理器架构的晋级,除功用越来越强悍外, 在内核中完结了一些额定添加的扩展,其间安全扩展、虚拟化扩展技能以满意嵌入式设备对安全性和牢靠性的技能要求,并以其强壮的核算才干和高度集成的硬件规划为航电电子产品的研制带来更多可能性。
本文以ARMV7A中的虚拟存储体系架构(VMSA)为研讨目标,对引进安全扩展、虚拟化扩展、大物理地址扩展(LPAE)后VMSA架构的MMU技能完结进行了解析,并对根据该处理器的虚拟化运用进行研讨与展望。
1 VMSA简介
1.1 VMSA存储办理简介
ARM处理器进行存储拜访时的地址转化为映射一个地址到别的一个地址的进程,如映射VA到IPA,或映射VA到PA。在ARMv7体系结构中,共界说了两种存储办理体系架构,其间关于ARMv7-A架构系列,运用VMSA存储架构,而关于ARMv7-R系列,则运用PMSA(Protected Memory System Architecture)。
ARMv7经过转化表界说地址转化的机制,转化表基地址寄存器表明了转化表的开端方位。运用体系操控协处理器进行存储办理,完结虚拟存储空间到物理存储空间的映射、及存储空间拜访权限、缓冲特性的分配,其完结方法首要是经过内存中的页表描述符,在体系操控协处理器中保存该页表的基地址,当MMU使能时,处理器建议的一切拜访操作均需经过MMU,地址转化进程如图1所示。
在VMSAv7中,包括安全扩展、多处理器扩展、大物理地址扩展、以及虚拟化扩展等扩展。在引进这些扩展的VMSA中,将处理器形式划分为两部分:安全态(Secure State)和非安全态(Non-Secure State),处理器内核可在一般区域和安全区域中履行代码,并在安全形式下添加了一种处理器状况:监控形式(Monitor Mode),可在监控形式进行安全态或非安全态的切换。在包括虚拟化扩展的完结中,处理器的特权被分为3个等级,分别为PL0、PL1以及PL2,如图2所示。在杂乱体系中要求安全性、稳定性和高度可装备性的电子体系都需求这种嵌入式虚拟机技能,航空电子也需求运用虚拟机监控程序来阻隔程度,进步牢靠性。
1.2 扩展VMSA的地址转化机制
在扩展的VMSAv7中,包括虚拟化扩展必包括大物理地址扩展(LPAE)以支撑40位物理地址,此刻支撑两个阶段地址转化。在安全状况或非安全的PL2只支撑一阶段的地址转化;在非安全状况,程序履行在PL1 或PL0时,可到达两个阶段的地址转化, 如图3所示为不同状况下地址转化机制及完结转化运用的寄存器。客户操作体系运用虚拟地址,经过操作体系供给的页表将虚拟地址转化为中心物理地址(IPA)完结第一阶段的转化,再将IPA地址运用第二阶段页表才干转化为真实的物理地址,第二阶段地址转化进程及页表对客户操作体系是不行见的,由虚拟机办理器操控。
2 VMSA扩展功用研讨
2.1 大物理地址扩展的地址转化
在包括大物理地址扩展的ARMv7 VMSA完结中,存在两种格局的描述符,即32位的短描述符表格局和64位的长描述符表格局,如表1所示。
2.2 虚拟化扩展后的地址转化
虚拟化技能是嵌入式体系的最新开展方向之一,经过虚拟化技能能够使得同一处理器履行多个虚拟机(Virtual Machine,VM), 答应多个操作体系存于同一硬件渠道,并具有体系安全防护的特性。ARM 处理器的ARMv7和ARMv8架构引进了硬件虚拟化扩展,硬件辅佐的全虚拟化解决方案使得 ARM 渠道上的虚拟机功用得到了明显的进步,可经过虚拟机办理程序(hypervisor)供给的有限接口完结阻隔,操控体系的行为,并设置安全策略对要害数据目标和内核履行流程进行维护,其权限高于客户操作体系的权限,可有用发现防护客户操作体系内核中的歹意行为。
在ARMv7A体系结构中,添加了虚拟化形式(hyp mode),该形式拥有比操作体系的办理形式(svc mode)更高的权限。因而,在办理形式中履行的悉数特权指令会被主动捕获,而且操控权被转移到虚拟化形式中的虚拟机监视器中。一起,办理形式中寄存器的状况会被保存,以便在回来的时分读取。
在ARMv7-A不再运用快速上下文切换机制(FCSE),该机制不适合多核处理器的存储办理。VMSA 在ASID的基础上,地址转化表添加了虚拟机ID(VMID),以确保在进行虚拟机切换时或线程切换时,Cache的共同性问题,因而每次上下文切换处理器只需保存某些形式特定的寄存器,可在确保功用的基础上也会愈加灵敏。
为了更好地支撑虚拟化的运用,在包括虚拟化扩展的MMU完结中,供给两个阶段的地址转化机制。第一阶段的转化由虚拟机操作体系完结,虚拟机操作体系界说其虚拟地址到内部物理地址(IPA)的转化,第二阶段的地址转化由虚拟机办理器完结,将虚拟机的内部物理地址转化为物理地址,也能够经过装备第2阶段转化页表项中的特点操控位来完结客户操作体系对内存的拜访操控。经过该机制,虚拟机办理器能够重映射虚拟机的地址映射,将客户物理地址映射为机器物理地址,第二阶段的转化对虚拟机操作体系不行见。在包括虚拟化扩展的VMSA中,存储办理首要有如下特性:
(1)为削减TLB维护操作,VMSA区别大局页和线程相关页,ASID表明与特定线程相关的页,在线程切换时不需求TLB维护操作;
(2)VMID与特定虚拟机相关,TLB进口包括了VMID信息,即更改虚拟机不需求改写TLB,关于阶段2的转化,一切转化均与VMID相关,而无大局页的概念。
2.3 安全形式扩展的地址转化
归纳化的机载嵌入式设备只需部分运用处理一些要害数据,需考虑设备的安全问题,ARM公司提出了相应的解决方案,即 TrustZone 技能,可抵挡许多的特定进犯,提高体系的安全牢靠性。在包括安全扩展的完结中,将地址空间分为安全或非安全的地址空间,处理器运转形式也相应划分为即安全环境(Secure world)和一般环境(Normal)。航空电子设备在要害使命体系中运用可信核算技能,使得安全环境中的要害使命不能被一般环境的组件所拜访。
在处理器中引进安全扩展后,VMSA的安全扩展则供给了两个物理地址空间:安全物理地址空间和非安全物理地址空间。对PL1&0阶段1的地址转化,转化表基地址寄存器TTBR0、TTBR1及TTBCR在安全和非安全状况是分组的。处理器在安全状况时,存储拜访挑选对应状况的寄存器,运用独立的安全和非安全转化表的版别,转化表查找在对安全状况对应的转化表地址空间进行。
3 扩展VMSA运用研讨
跟着ARM处理器硬件体系结构的晋级,扩展的VMSA供给虚拟化扩展、安全扩展、大物理地址扩展,为根据硬件的虚拟化供给了不同的运用,首要可打开如下的运用。
3.1 多虚拟机的规范通用处理模块
根据ARM虚拟化扩展及安全扩展的支撑下,将硬件虚拟化技能和体系安全问题结合起来,经过虚拟机办理程序能够对多个虚拟操作体系进行有用的办理,在规范处理硬件模块,完结多个虚拟操作体系对规范底层硬件的同享拜访,有利于多种不同设备的功用整合、削减整机功耗,供给体系的牢靠性。
虚拟化可完结以下几种运用:
(1)在通用的处理器渠道办理多个虚拟机,一起运转多个操作体系,完结多个模块的快速整合;
(2)把多种负荷较小的体系,经过虚拟化移植到其他一致的硬件渠道;
(3)根据安全性考虑,把简单遭到安全进犯的服务和内核阻隔,供给维护;
(4)把不同功用的操作体系运转在一起,由不同的操作体系供给不同的服务。
3.2 根据规范通用处理模块分区操作体系
跟着归纳模块化航空电子体系结构的运用与开展,其软件结构选用了分区的软件架构概念,契合ARINC 653规范,该规范要求操作体系的各个分区在空间上确保彼此阻隔,当一个分区出现问题时,不会影响其他分区。
在扩展VMSA架构的规范通用模块上,将虚拟化和分区操作体系相结合,运用一致的硬件渠道,完结分区操作体系,充分运用VMSA供给的虚拟化机制,将ARINC 653分区对应于一个根据虚拟化处理器模块中运转的虚拟机, 并能够确保分区切换时的功用以及Cache共同性,下降运用软件的耦合度。
4 结束语
嵌入式设备归纳化开展的需求,需求运用ARMv7-A 架构MMU中添加的扩展功用,以完结设备的归纳化和安全阻隔。本文首要对VMSA的地址转化机制进行研讨,在此基础上对包括安全扩展、虚拟化扩展及大物理地址扩展后的地址转化机制进行剖析,最终对运用VMSA的特征在设备归纳化运用进行了剖析。对后续根据ARM渠道的嵌入式设备的规划研制具有必定的运用价值。