异构虚拟处理器的制作方法

文档序号:6557281阅读:262来源:国知局
专利名称:异构虚拟处理器的制作方法
异构虛拟处理器技术领域
本发明涉及计算机,尤其涉及多种RISC架构下虛拟X86兼容的异构虛 拟处理器。背景技术
计算机时代的到来给嵌入式的发展带来了挑战和机遇,不同架构的硬件 体系门类繁多,仅RISC就有ARM、 MIPS (计算机)、PowerPC、 ColdFire (微 控制器)以及国产的龙芯CPU等等。众多的处理器架构给应用带来了更广阔 的选择空间,但随之而来的是OS (操作系统)、应用程序移植所带来的难题。 不同架构体系间的系统软件、应用软件不能直接移植,需要借助兼容层技术 实现不同架构之间的通信。传统的跨平台技术是指在同一硬件架构下实现的软件移植和复用。例如, IBM跨平台信息与流程整合工具、JAVA虚拟机、豪杰公司研发的兼容层技术 (该技术可以让WINDOWS下的开发直接登陆Linux )、金山公司的跨Linux 平台的办公软件等等。以上技术可归纳为"横向跨平台,,技术,但是,这种橫向跨平台无法解决异构架构(不同硬件架构)下软件的移 植问题。
发明内容本发明的目的在于,提供一种异构虚拟处理器,解决异构架构下软件的 移植问题。本发明所采用的技术方案为提供一种异构虚拟处理器,其特征在于, 所述异构虛拟处理器包括2X86层和VBIOS层,所述2X86层在RISC处理器 上虛拟兼容X86的软处理器,所述VBIOS层在X86兼容的软处理器上为操 作系统层虛拟一个PC兼容的完整平台,从而所述异构虚拟处理器实现从RISC 处理器到X86平台间的跨度,运行X86平台的操作系统和应用软件。更具体地,所述VB10S层在多种RISC架构下虛拟X86硬件平台并直接 移植X86硬件平台下的操作系统及应用程序。
更具体地,所述2X86层完成计算机语言的识别。 更具体地,所述2X86层包括寄存器。 更具体地,所述2X86层实现单一流水线指令运行机制。 更具体地,所述2x86层捕捉X86硬件平台上的上电/复位信号。 更具体地,所述2x86层实现实模式向保护模式的管理和切换。 更具体地,所述2x86层支持分段式内存管理和段页式内存管理两种机制。 与现有技术相比,本发明的有益效果在于本发明的异构虛拟处理器通 过在RISC体系硬件平台添加一个虚拟软件层,实现一个虚拟而且兼容x86的 完整平台,从而顺利运行x86平台下的所有OS、应用程序等系列软件。
图1是本发明的异构虛拟处理器和X86平台、RISC处理器的组合示意图。 图2是本发明的2X86层的系统框图。
具体实施方式本发明提供一种异构虛拟处理器,所述异构虚拟处理器包括2X86层 VBIOS层。所述异构虚拟处理器在RISC处理器上虛拟兼容X86平台的软处 理器,实现从RISC处理器到X86处理器间的2争度及从RISC平台到X86平台 的完整仿真,运行X86的硬件平台的操作系统和应用软件。请参阅图1,异构虚拟处理器包括2x86层和VBIOS (视频基本输入输出 系统)层。所述2x86层负责实现在不同的RISC (精简指令系统计算结构) 处理器上模拟一个Intel 80486兼容的软处理器。所述VBIOS层,负责在2x86 层模拟的X86兼容的软处理器上,为操作系统层虛拟一个PC兼容的完整平 台。所述2x86层和VBIOS层有^U的结合,实现从RISC处理器到X86处理 器的J争度、从RISC平台到X86平台的完整仿真。原有的操作系统及其上的 应用软件完全不必做任何的修改,直接运行。操作系统及其上的应用软件只 知X86,无法知道真实的硬件平台一一RISC体系平台。所述2X86层相当于RISC到X86体系的一个"翻译官"。X86层实现了 在RISC的处理器上虚拟一个软件x86处理器模型,包括其所有寄存器和运算, 取指、加载、计算、保存结果的指令流水线,同时还翻译所有x86世界的语 言——x86 二进制机器码。请参阅图2,所述2X86层具体的实现有
1 )、 32位80486兼容软处理器模型为兼容X86世界的软件,首先必须要为其建立一个完全兼容的寄存器组。 寄存器是X86体系统中运算/传递速度最快的 一种存储单元,为此实现时使用 了高速緩沖,以保证效率。同时,这些寄存器要保证在任何时候/任何模式下 软件都能访问得到,因此,在一些不支持高速緩冲机制,必须在普通内存中 实现的RISC处理器中,要避免出现"访问空洞"。在X86处理器中,有些寄 存器不是单纯的数据寄存器,如状态寄存器等,直接影响指令执行机制的寄 存器,也实现了相关的寄存器读写所附带的效果。2) 、指令流水线本软件实现单一流水线指令运行机制。按照X86处理器运行机制,总是 以CS: IP (保护模式下为CS: EIP)寄存器指向的内存单元为下一条待执行 的指令。本软件通过从软处理器的寄存器中读取这两个寄存器的值,经内存 管理机制转换为物理内存地址,从对应的内存单元读首字节,根据首字节判 断指令长度,继续加载后续字节,直到整条指令加载成功,将指令进行"翻 译",转换成RISC处理器相对应的操作进行运算,之后再将结果存入X86软 处理器相应的寄存器中。整个过程屏蔽外部中断,实现X86体系处理器单指 令不可被中断规则。3) 、上电/复位管理在2X86软件层有一专门模块用于捕捉平台上的上电/复位信号,在对 RISC处理器和平台进行必须的初始化之后,即建立X86处理器模型,并建立 对应的初始值,从而启动指令流水线模块,进行X86指令的加载运行。4) 、实模式/保护模式机制管理在X86体系处理器中,支持实模式和保护模式两种模式。而在RISC体 系中处理器并没有与此对应的模式概念。两种模式所能访问的寄存器组合和 内存管理机制不相同。为此跨平台软件兼容层软件的2X86专门有一模块实现 两种机制的管理和切换。在实模式向保护模式转换时,开放相关的寄存器, 同时进行操作权限级别的鉴定,扩大处理器可访问的内存空间为4G,启用段 页式内存管理机制;在保护模式向实模式转换时,屏蔽相关的寄存器,将内 存可访问空间回到1M,启用分段式内存管理机制。5) 、 SMI及系统管理模式
X86处理器有一种特殊的运行模式,称为系统管理模式(SMM),它必须 由一外部中断信号触发才能进入,称为SMI中断(系统管理中断)。在RISC 体系的处理器中没有此类模式和中断。鉴于SMI的中断最高优先级和不可屏 蔽特点,在RISC体系的处理器中选用 一个最高先级的中断来才莫拟SMI中断, 相应的中断服务程序实现系统管理模式的切换和堆栈保护。在收到SMI中断 时,保存寄存器于堆栈中,同是通知内存管理单元,切换系统管理内存为可 访问状态。在系统管理模式,使用专用内存段。该段为实模式下A000和B000 段,128KB大小,内存管理单元保证,在系统管理模式下所指向的为RAM, 而不是VGA设备的显示緩沖。6)、内存管理模块X86处理器因为兼容早期处理器的原因,有实模式、增强模式、保护模 式、虚拟实模式和系统管理模式之分,不同的模式其内存管理机制不同,有 分段式内存管理和段页式内存管理两种机制。RISC处理器大都是平铺时内存 管理,含MMU的处理器可支持虛拟内存。本内存管理模块就是在RISC处理 器实现两种内存管理机制,由两个子模块组成。实模式下的分段是管理由纯 软件实现,在寻址时根据段寄存器和偏移寄存器的值计算内存物理地址的方 法决定。段页式管理根据有MMU和不含MMU两种RISC处理器有两种不同 的实现机制。
权利要求
1、一种异构虚拟处理器,其特征在于,所述异构虚拟处理器包括2X86层和VBIOS层,所述2X86层在RISC处理器上虚拟兼容X86的软处理器,所述VBIOS层在X86兼容的软处理器上为操作系统层虚拟一个PC兼容的完整平台,从而所述异构虚拟处理器实现从RISC处理器到X86平台间的跨度,运行X86平台的操作系统和应用软件。
2、 如权利要求1所述的异构虚拟处理器,其特征在于,所述VBIOS层 在多种RISC架构下虚拟X86硬件平台并直接移植X86硬件平台下的操作系 统及应用程序。
3、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2X86层完 成计算机语言的识别。
4、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2X86层包 括寄存器。
5、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2X86层实 现单一流水线指令运行机制。
6、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2x86层捕 捉X86硬件平台上的上电/复位信号。
7、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2x86层实 现实模式向保护模式的管理和切换。
8、 如权利要求1所述的异构虚拟处理器,其特征在于,所述2x86层支 持分段式内存管理和段页式内存管理两种机制。
全文摘要
本发明公开了一种异构虚拟处理器,所述异构虚拟处理器包括2X86层和VBIOS层,所述2X86层在RISC处理器上虚拟兼容X86的软处理器,所述VBIOS层在X86兼容的软处理器上为操作系统层虚拟一个PC兼容的完整平台,从而所述异构虚拟处理器实现从RISC处理器到X86平台间的跨度,运行X86平台的操作系统和应用软件。本发明异构虚拟处理器通过在RISC体系硬件平台添加一个软件层来模拟X86平台,实现一个虚拟而且兼容X86的硬件平台,从而顺利运行X86平台下的所有OS、应用程序等系列软件。
文档编号G06F9/44GK101118488SQ20061006201
公开日2008年2月6日 申请日期2006年8月3日 优先权日2006年8月3日
发明者刘志永 申请人:深圳市研祥智能科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1