异构硬件体系间软件移植的系统的制作方法

文档序号:6557282阅读:320来源:国知局
专利名称:异构硬件体系间软件移植的系统的制作方法
异构硬件体系间软件移植的系统技术领域
本发明涉及计算机,尤其涉及计算机的异构硬件体系间软件移植的系统。背景技术
计算机时代的到来给嵌入式的发展带来了挑战和机遇,不同架构的硬件体系门类繁多,仅RISC就有ARM、 MIPS (计算机)、PowerPC, ColdFire (微控制器)以及国产的龙芯CPU等等。众多的处理器架构给应用带来了更广阔 的选择空间,但随之而来的是OS (操作系统)、应用程序移植所带来的难题。 不同架构体系间的系统软件、应用软件不能直接移植,需要借助兼容层技术实现不同架构之间的通信。传统的跨平台技术是指在同一硬件架构下实现的软件移植和复用。例如, IBM跨平台信息与流程整合工具、JAVA虚拟机、豪杰公司研发的兼容层技术 (该技术可以让WINDOWS下的开发直接登陆Linux )、金山公司的跨Linux 平台的办公软件等等,以上技术可归纳为"横向跨平台"技术。但是,这种横向跨平台无法解决异构架构下(不同硬件架构下)软件的 移植问题。
发明内容本发明的目的在于,提供一种异构硬件体系间软件移植的系统,解决异 构架构下软件移植的问题。本发明所采用的技术方案为提供一种异构硬件体系间软件移植的系统, 包括RISC处理器,所述的系统还包括2X86层和VBIOS (视频基本输入输出 系统)层,其中所述的2x86层在RISC处理器上模拟一个X86兼容的软处理器;所述VBIOS层在2x86层模拟的兼容X86的软处理器上虚拟一个完整平 台,在RISC架构下虛拟X86硬件平台并直接移植X86硬件平台下的操作系 统及应用程序。更具体地,所述2X86层完成计算机语言的识别。更具体地,所述2X86层包括寄存器。 结果的指令流水线。更具体地,所述VBIOS层将设备、资源、中断服务程序、操作系统引导方法、内存管理机制及显示机制统一虛拟成一个平台。更具体地,所述VB10S层实现所有X86平台上BIOS的功能和接口 。 更具体地,所述VBIOS层集成了各种PC总线的管理模块。 更具体地,所述VBIOS层实现X86整个硬件平台的兼容。 更具体地,所述VBIOS层实现X86CPU的指令兼容。 更具体地,所述VBIOS层实现兼容x86平台操作系统引导机制。 与现有技术相比,本发明的有益效果在于本发明的异构硬件体系间软 件移植的系统通过在RISC体系硬件平台添加一个虛拟软件层,实现一个虚拟 而且兼容x86的硬件平台,从而顺利运行x86平台下的所有OS、应用程序等 系列软件。
图1是本发明的异构硬件体系间软件移植的系统示意图。 图2是图1的VBIOS层的组成示意图。
具体实施方式请参阅图1,本发明的异构硬件体系间软件移植的系统包括RISC处理器、 2x86层及VBIOS (视频基本输入输出系统)层。所述2x86层负责实现在不 同的RISC (精简指令系统计算结构)处理器上模拟一个Intel 80486兼容的软 处理器。所述VBIOS层,负责在2x86层模拟的X86兼容的软处理器上,为 操作系统层虛拟一个PC兼容的完整平台。所述2x86层和VBIOS层有机的结 合,实现从RISC处理器到X86处理器的跨度、从RISC平台到X86平台的完 整仿真。原有的操作系统及其上的应用软件完全不必做任何的修改,直接运 行。操作系统及其上的应用软件只知X86,无法知道真实的硬件平台一一RISC 体系平台。所述2X86层相当于RISC到X86体系的一个"翻译官"。X86层实现了 在RISC的处理器上虚拟一个软件x86处理器模型,包括其所有寄存器和运算, 取指、加载、计算、保存结果的指令流水线,同时还翻译所有x86世界的语 言——x86 二进制机器码。所述2X86层具体的实现有 1 )、 32位80486兼容寿欠处理器才莫型为兼容X86世界的软件,2X86层首先必须要为其建立一个完全兼容的寄 存器组一一即X86处理器模型。同时,这些寄存器要保证在任何时候/任何模 式下软件都能访问得到,因此,在一些不支持高速緩沖机制,必须在普通内 存中实现的RISC处理器中,要避免出现"访问空洞"。2) 、指令流水线所述2X86层实现单一流水线指令运行机制。按照X86处理器运行机制, 总是以CS: IP (保护模式下为CS: EIP )寄存器指向的内存单元为下一条待 执行的指令。指令执行的过程屏蔽外部中断,实现x86体系处理器端指令不 可被中断规则。3) 、上电/复位管理所述2x86层捕捉X86硬件平台上的上电/复位信号。在对RISC处理器和 平台进行必须的初始化之后,即建立x86处理器模型,并建立对应的初始值, 从而启动指令流水线模块,进行x86指令的加载运行。4) 、实模式/保护模式机制管理所述2x86层实现实模式向保护模式的管理和切换。在实模式向保护模式 转换时,开放相关的寄存器,同时进行操作权限级别的鉴定,扩大处理器可 访问的内存空间为4G,启用段页式内存管理机制;在保护模式向实模式转换 时,屏蔽相关的寄存器,将内存可访问空间回到1M,启用分段式内存管理机制。5) 、 SM1及系统管理模式在RISC体系的处理器中选用一个最高先级的中断来模拟SM1中断(系 统管理中断),相应的中断服务程序实现系统管理模式的切换和堆栈保护。在 收到SMI中断时,保存寄存器于堆栈中,同是通知内存管理单元,切换系统 管理内存为可访问状态。在系统管理模式,使用专用内存段。该段为实模式 下A000和B000段,128KB大小,内存管理单元保证,在系统管理模式下所 指向的为RAM,而不是VGA设备的显示緩沖。6) 、内存管理模块2x86层的内存管理模块在RISC处理器实现分段式内存管理和段页式内 存管理两种机制。实模式下的分段式内存管理由纯软件实现,在寻址时根据l殳寄存器和偏移寄存器的值计算内存物理地址的方法决定。|殳页式管理+艮据有MMU和不含MMU两种RISC处理器有两种不同的机制实现。所述VBIOS层,负责在2x86层模拟的X86兼容的软处理器上,为操作 系统层虛拟一个PC兼容的完整平台。要实现RISC向X86平台的兼容,在实 现兼容CPU指令的前提下,还必须实现整个平台的兼容。VBIOS层负责完成 设备、资源、中断服务程序、操作系统引导方法、内存管理机制、显示机制 等各个方面统一 "虚拟"。所述VBIOS层实现了所有X86平台上BIOS的功 能和接口。请参阅图2, VBIOS层具体的实现有 1 )、形成兼容内存映象所述VBIOS层在运行结束加载^f喿作系统前,形成一个x86平台下完全兼 容的实模式下的内存映象。最低端1M为DOS兼容格式,包括0-0x400为中 断向量表,0x400-0x500为BIOS Data Area,其数据结构也完全兼容。A000 和B000段为显示设备用緩存,其译码走向外部总线,并不译向系统内存。 C000-F000为扩展内存区,也译向外部总线。4G-1M的地址译向一个指定的 FLASH区域,兼容x86平台下BIOS的译码区间。2) 、系统设备管理VBIOS有专门针对系统级设备,包括显示设备(标准输出设备)、键盘 (标准输出设备)的专门管理模块,在开机上电时,针对此两类设备做专门 的初始化和检测。按照x86平台下显示设备自主BIOS (通常意义上的VGA BIOS )存放于C000: 0地址的标准要求,在VBIOS模块中实现叫用VGA BIOS 的运行机制,确保VGA设备正常运行。同时根据RISC具体平台,将键盘控 制器仿真为一x86平台下标准控制器(8042),通过截获所有对60/64端口进 行I/O的操作,转换成对RISC平台下物理键盘控制器的实际操作。3) 、总线管理VBIOS层集成了对各种PC总线的管理模块。其中包括ISA总线的PnP (即插即用)管理/实现机制、PCI总线及其上的设备的初始化。VBIOS层在 运行期间,扫描所有PnP的总线,先禁用所有设备,接着搜索系统级设备, 使能及初始化,再逐个按顺序搜索其它设备,为设备分配可用的总线资源, 对设备进行使能和初始化操作,并形成一个设备资源清单,供操作系统获取
平台i殳备时使用。所述VBIOS层实现的功能,完全兼容于PC业ISA总线上PnP标准及PCI总线标准。4) 、虛拟硬件在x86世界,自旧M公开PC标准以来,所有的PC都兼容它,并提供几 种基本的硬件部件,如中断控制器(8259 )、 DMA控制器(8237)、时钟控 制器(8254 )、软驱控制器(FDC)、硬盘控制器ATA标准和IDE接口,两个 串行和一个并行通信接口 。这些硬件设备是x86平台的基本配置。在RISC体 系平台中,这些设备并不是标准配置,有的平台有,有的平台没有。而且由 于在RISC体系中并没有1/0读写机制,即使有对应功能的设备其资源和访问 方法也不相同。VBIOS通过捕捉和截获类似这些操作标准PC设备的指令, 将其转换到对应功能的设备资源中,以实现设备和软件间的对话。实现此功 能的模块在VBIOS称为虛拟硬件。5) 、驻留中断服务在X86体系平台上,VBIOS层执行完加载OS之前提供了很多标准的驻 留中断服务,供后续的操作系统使用。如INT19—一系统引导中断服务,INT 13——磁盘读写中断服务,INT1A——PCI设备访问中断服务,INT 15——内 存属性中断服务和电源管理中断服务等,其中涉及到PCI/APM/PnP/USB等多 个标准规范。所述异构硬件体系间软件移植的系统在VBIOS层实现了这些标 准。相对虛拟硬件模块实现I/O层的兼容仿真,驻留中断服务实现的是API 层的兼容仿真。这些中断服务也称为Runtime模块,用于上层OS操作设备调 用。与X86平台的BIOS不同的是,VBIOS面向的并不是标准PC的硬件, 而RISC体系功能相同,但访问方式不同的硬件平台。而VBIOS实现了标准 PC的硬件功能,掩蔽了访问方式的差异。6) 、引导操作系统所述VBIOS层也实现了兼容x86平台操作系统引导机制,INT 19中断 服务。在VBIOS层的INT 19中断服务程序实现时,完全遵循x86平台下的运 行机制。首先将引导设备的磁盘参数加载到INT4E中断向量处,接着加载引 导设备的引导扇区代码到内存0:7c00处,并跳转到该处继续执行。如果在加 载设备数据的过程中出现问题,则提示错误码,寻找下一个可引导的设备。INT 19中断服务也可以被用户设备BIOS接管,以执行用户设备定义的启动程序。
权利要求
1、一种异构硬件体系间软件移植的系统,包括RISC处理器,其特征在于,所述的系统还包括2X86层和VBIOS(视频基本输入输出系统)层,其中所述的2x86层在RISC(精简指令系统计算结构)处理器上模拟一个X86兼容的软处理器;所述VBIOS层在2x86层模拟的兼容X86的软处理器上虚拟一个完整平台,在RISC架构下虚拟X86硬件平台并直接移植X86硬件平台下的操作系统及应用程序。
2、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述2X86层完成计算机语言的识别。
3、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述2X86层包括寄存器。
4、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层将设备、资源、中断服务程序、操作系统引导方法、内存管理 机制及显示机制统一虛拟成一个平台。
5、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层实现所有X86平台上BIOS的功能和接口 。
6、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层集成了各种PC总线的管理模块。
7 、如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层实现X86整个硬件平台的兼容。
8、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层实现X86CPU的指令兼容。
9、 如权利要求1所述的异构硬件体系间软件移植的系统,其特征在于, 所述VBIOS层实现兼容x86平台操作系统? 1导机制。
全文摘要
本发明公开了一种异构硬件体系间软件移植的系统,包括RISC处理器、2X86层和VBIOS(视频基本输入输出系统)层,其中所述的2x86层在RISC(精简指令系统计算结构)处理器上模拟一个X86兼容的软处理器;所述VBIOS层在2x86层模拟的兼容X86的软处理器上虚拟一个完整平台,在RISC架构下虚拟X86硬件平台并直接移植X86硬件平台下的操作系统及应用程序。本发明的异构硬件体系间软件移植的系统通过在RISC体系硬件平台添加一个软件层,实现一个虚拟而且兼容x86的硬件平台,从而顺利运行x86平台下的所有OS、应用程序等软件。
文档编号G06F9/455GK101118499SQ200610062018
公开日2008年2月6日 申请日期2006年8月4日 优先权日2006年8月4日
发明者刘志永 申请人:深圳市研祥智能科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1