冷迪,陈瑞,李英
(深圳供电局有限公司,广东深圳 518000)
近些年来,计算机技术已经延伸至多个领域,人们可以通过计算云平台获取相关数据,在运行程序的过程中可以更高效率实现系统的独立、智能运行,避免外界的不良影响[1]。国外的互联网公司非常重视计算云平台实施技术的发展,主要以Linux 宏内核作为计算机平台的操作系统,与Android 操作系统可以实现数据关联,可以在安全机制得到保障的前提下进行计算平台的衍生,真正实现微内核操作平台。国内的华为公司主要从宏内核架构方面进行研究,开发一种可以将数据服务进行平台分离的运行系统,统一PC 云计算平台与移动终端云计算平台的数据计算模式。目前的计算云平台组成架构主要是Mach 结构,这种型号的结构可以为计算云平台提供较为稳定的数据计算环境,满足计算云平台的虚化性,支持多线程的通信,方便实现多个CPU 之间指令的控制发送。
该文主要研究在X86 的架构基础上融入ARM架构,使两种型号的架构可以在计算云平台中发挥数据计算特点,为平台内核提供更安全的保障,同时应用架构中的通信算法,优化计算云平台中的通信环境,从而提升计算云平台的微内核性能。
X86 架构可以在计算云平台中的CPU 与外围设备中进行数据模拟,真实有效地加载计算云平台中的相关指令,具有较高的执行能力与编译能力。X86架构在对外部的计算云平台进行数据传输的过程中,会涉及单元的访问过程,采用储存器数据提取功能,中断计算云平台对核心数据的输出。X86 架构的实现需要使用虚拟地址进行数据储存后,才可以得到数据处理器的认可与访问,随着内存量的逐渐增加,架构被访问的次数也就越来越多[2]。为了能够使X86 与ARM 混合架构可以在计算云平台中具有较好的运行环境,将选用如表1 所示的虚拟平台作为架构基础。
表1 虚拟平台信息
ARM 架构在混合架构中主要体现的是数据处理能力以及对信号的识别功能,可以在计算云平台的数据控制、数据应用方面提供较高的运行性能[3]。为混合架构提供40 个32 位数据寄存器,能够调节架构中的数据储存模式,从不同的虚拟地址中实现数据特定计算方案,基于X86 和ARM 混合构架的虚拟CPU 结构如图1所示。
图1 基于X86和ARM混合构架的虚拟CPU结构
计算云平台中的芯片决定混合架构能否支撑整体数据平台,需要设计数据芯片通信与各类模块,一方面芯片需要满足应用程序的运行需求,另一方面需要满足芯片线路中的宽带兼容、延时效果[4]。总线结构的设计还需要按照X86 和ARM 混合架构的实际结构完成时序仿真,确定总线结构的设计满足平台的计算模块高效率运行。该文研究AMBAAHB 总线设计结构,针对其自身的通信开放性,结合外部的数据开放协议,广泛应用总线协议的数据开放特征。AMBAAHB 总线结构如图2 所示。
图2 AMBAAHB总线结构
AMBAAHB 的单线结构可以同时服务多台计算机平台,计算云平台中的用户访问算法均需要通过单线结构完成请求传输,且在相同的时间段内,只能有一个用户获取访问算法的权限。当多个用户同时向计算云平台发送访问请求,总线结构中的仲裁器会针对不同的用户地址进行仲裁,合理分配不同用户在不同时间段内的访问权,在单线结构内用户还可以获取数据计算地址、算法控制命令等信息[5]。为了解决多个用户共同访问不能同时进行的问题,在总线结构中设计优先级矩阵,可以自主判断处理算法的类型,通过算法与用户信息共联的方式实现总线结构中的高效率运行。
在X86 和ARM 混合架构中的主要运行平台会采用二进制翻译模块实现X86 架构中的指令,访问ARM 结构中的中断控制器。在整个计算云平台中的内部模块均具有互联结构,可以连接外部设备中的地址数据,并对地址数据进行映射,从数据关联的角度完善内部模块之间的数据信号传输关系[6]。每个模块均具有相同复杂度的译码,与外部设备关联后还要对不同模块的指令端口进行代码设计,不同模块的外部设备代码信息如表2 所示。
表2 不同模块的外部设备代码信息
在设备代码已知的情况下,优化混合架构模块中的数据接口,当外部设备分层次对计算云平台进行访问时,不需要占用较多的数据端口,以本地设备中的数据类型作为共享模块参数,还可以降低宽带数据条件,从多个端口完成ARM 模块指令。优化后的结构模块不需要等待X86 架构中的指令,只需在ARM 的双口储存器中形成两条独立的地址传输线与编译传输线,即可实现独立模块的关联运行。优化后的模块结构如图3 所示。
图3 优化后的模块结构
计算云平台首先需要支持X86 和ARM 混合架构的应用程序安装,一般情况下计算云平台中具有混合架构程序的安装目录,在获取用户的访问权后即可进行程序安装[7]。计算云平台中的系统安装要同时符合X86 应用程序与ARM 应用程序,将两种程序的安装包保存在解压目录中等待用户提取,计算云平台安装包解压流程如图4 所示。
图4 计算云平台安装包解压流程
计算云平台获取两种应用程序后,即可对数据进行加载和链接工作,首先依据X86 架构的数据获取特点,实现ARM 架构中的程序加载链接,最后使周边的数据加载器融入计算云平台的算法中[8-10]。在链接库中将X86 架构程序载入虚拟机,实现计算云平台中的数据加载。ARM 加载器具有数据审核功能[11],对于正在加载的数据具有驳回权利,如果计算云平台中没有加载数据的解析文件,将会使用其他的文件格式提取数据代码,映射在虚拟机中模拟储存,同时虚拟机中会显示数据代码的加载地址,此时修改每个数据代码的动态链接即可完成虚拟机的关联与数据审核。
X86 与ARM 混合架构与周边系统的通信以计算云平台为运行基础,平台中的Java 函数可以调动任何程序中的运行机制,保证数据通信环境的稳定性,还要创建一个函数机制调动内核系统的数据[12]。计算云平台内部数据与外部系统的数据传输通过信道参数传递,X86 运行环境可以调用采集功能,在ARM数据环境中使用这些参数,对传输数据种类、数量进行定位,再根据函数应用地址,寻找与函数对应的参数名称,实现信道数据的可逆性,从而提升计算云平台通信功能的安全性。
安装在X86 和ARM 混合架构中的应用程序均需要对数据进行解压与拷贝,解压的数据内容存放在用户的程序目录中,拷贝后的数据可以在应用程序中进行卸载。创建应用程序的文件格式,提取程序中dex 文件,检查文件包是否可以在计算云平台中应用,再对文件包进行验证码验证,预防安装包的安装失败。
应用SkyEye 虚拟机作为混合架构的数据裁剪平台,支持X86 与ARM 应用程序的运行[13]。为了实现应用程序在计算云平台中的执行,第一步要修改虚拟机中的模块文件,储存模块中的ARM 线程数据,并删除其余数据,并且从平台界面中,获取外围设备的其他组件[14]。第二步要修改编译文件,阻止外设模块文件的生成,删除界面共用文件。第三步要删除计算云平台中共有的模块功能,删除反汇编功能与混合架构的执行控制程序,还要对断点的快照数据进行解压储存[15-16]。设计应用程序的跨平台执行方案,从X86 架构的“取指-译码-执行”程序中拓展,融入ARM 的数据寄存功能,应用程序跨平台实现流程如图5 所示。
图5 应用程序跨平台实现流程图
为了验证X86 和ARM 混合架构对计算云平台的作用,对计算云平台的安全性能与工作模式进行测试与对比。首先进行安全性能方面的实验,对传统单架构的计算云平台与该文架构同时进行安全性能的功能性验证,采用的内核编译环境为32 位系统,每套计算云平台运行系统内存为6 GB。安全性能测试实验步骤如下:
1)在不修改原有平台代码的前提下,进行编译内核的设计,获取数据编码内核中的服务镜像信息,可以引用用户作为校验码的传输者。
2)测试两种架构中的计算云平台数据样本,提取样本中的代码并进行初始化,重新对代码数据进行地址修改,观察发送代码的计算方向。
3)引导两种代码向安全方向与不安全方向发展,引导过程中会不断向用户发送安全参数,获取两种样本中的完整代码。安全测试过程中代码引导结果如图6 所示。
再对两种构架下的计算云平台算法进行安全测试,该文研究的计算云平台算法中具有多种通信策略,应用虚拟机建立数据环境模拟软、硬件环境,另外还应用64 位CPU 运行测试环境。设定每种算法在计算云平台中的工作时间为10 分钟,期间每1 分钟中断一次内核服务进程,利用中断时间将寄存器中的数据代入算法中,而算法中的数据提取是根据周期换算而得到的,换算公式如下:
式中,r代表换算周期,h代表寄存器的运行位数,z代表数据处理器主频,l代表数据时间应用参数。最后测试了算法的5 000 次内的安全性能,随着计算次数的提升,安全性能也随之变化,测试结果如图7 所示。
图7 安全性能测试对比结果
根据图7 可知,该文混合架构下的计算云平台算法运行参数较为稳定,经过多次的周期性计算后,安全性能下降不超过20%,而传统架构下的计算云平台算法运行一定周期后,参数稳定性显著降低,最大下降范围达到60%。实验中再对计算云平台的工作效率进行对比,模拟计算云平台的翻译模块实现工作效率的测试与对比。在两种工作计算云平台中的多个寄存器中输入X86 数据指令,并应用ARM 指令存放数据地址,分别在两种计算云平台中输入相同的start-flag 信号,可观察计算云平台对信号的翻译读取程度,翻译模块的信号效率对比结果如图8所示。
图8 翻译模块的信号效率对比结果
根据图8 可知,混合架构下计算云平台翻译模块工作效率更高,可以在多层次对信号实现提取,从总线结构中的多个计算周期完成信号功能实现,而传统计算云平台只能单方面获取信号功能[17-18],不具备在总线结构中的优先访问权。
该文主要研究X86 与ARM 混合构架在计算云平台中的应用,从构架组成的基础上引出计算云平台微内核概念,应用X86 架构与ARM 架构中的特点完善混合架构的缺陷,并引导计算云平台中的不同模块在安全机制、运算效率方面的协同应用。在未来的研究过程中将会倾向以微内核为目标,增强算法在计算云平台的可靠性。