操作一异质性电脑系统的方法技术领域
本发明关于绿能运算(Green Computing)及运算耗能的最小化。具体而言,
本发明关于一种操作一异质性电脑的方法,其将一低耗能的主要处理器增加至标准
x86架构,使一异质性系统能以最小的运算耗能来执行运算。
背景技术
在现代社会中,各式各样的电脑已经成不可或缺的设备。Intel x86架构(其原
始架构由美国加利福尼亚州圣塔克拉拉市的Intel公司所设计,而最新的64-bit
CISC架构则是由美国加利福尼亚州桑尼维尔市的Advanced Micro Devices公司逐
步开发的)在主流的运算架构中长期地占有支配性的地位。另一方面,目前非x86
架构运算在商业界里是由移动运算(包含智慧型手机及触控式屏幕装置)中的ARM
处理器(RISC ARM的架构是由英国的ARM Holding plc of Cambridge所研发)所
主导。由绿能运算的角度观之,x86及非x86运算具有如下的问题。
为实现绿能运算,因此有必要减少采用x86架构的桌上型电脑于闲置(idling)
时的耗能。对那些需要运算资源的应用程序而言,采用x86运算较为合适。在全球
已安装了数以百万计的家用型及办公室桌上型电脑及携带式电脑、专业高性能工作
站电脑及各种基于电子商务所设置的服务器电脑的情况下,运算耗能已然成为环保
的议题。这些议题之一便是与电脑运算闲置(亦即,电脑未被使用,亦未被关机的
时间)相关。
目前已有一些降低耗能的方案,例如能源之星(Energy Star)-一个起源于美
国且被许多其他国家所采用的国际标准,这些方案实现了某种程度的运算节能。以
x86架构为基础的主流电脑工业亦有标准的电源管理。举例而言,进阶组态及电源
介面(Advanced Configuration and Power Interface,ACPI)-一个开放的工业标准
-便允许一作业系统对电脑硬件的节省功能作直接的控制。
然而,由于不便及内建的电源管理有限,对使用者而言,以x86架构为基础
的主流桌上型及笔记型电脑要达成真正的绿能运算有其难度。对于多数电脑用户来
说,ACPI的睡眠/待机/休眠的电源管理模式过于复杂,让使用者难以轻易地找到
能让电脑既方便操作又能节省耗能的最佳参数设定。另外,对于那些更复杂的运算,
例如涉及多重连线(multiple session)的虚拟运算,ACPI往往不能提供平稳的电源
管理,反而是容易造成电脑当机或是无法处理虚拟机器连线(VM session)。
因此,由于存在为数众多的桌上型电脑,要达成显著的节能仍有相当大的空
间。
为了使以x86架构为基础的智慧型移动装置更加实用,有需要采行绿能运算。
此外,由于在标准x86架构的领域里可使用的能源管理技术并不完善,以x86架构
为基础的智慧型个人装置(例如,x86架构的手机)也因为电池的寿命过短而不实
用。事实上,目前并不存在采用x86架构的精密商业智慧型手机。在外出使用电池
的情况下,大部份采用x86架构的笔记型电脑无法一整天持续辛勤地运作。这造成
的结果便是,当离开办公室或外出时,要存取x86应用程序就变得格外的不方便。
非x86架构的装置亦有存取x86应用程序的需求。ARM处理器已发展出移动
装置所需要的节能应用程序,特别是智慧型手机的应用程序。然而,它们不是针对
需要严峻运算的应用程序而设计的,此外,在本质上,它们并无法实际地直接存取
x86软件的核心。由于Windows软件在日常生活及商业界的许多方面仍占有主导
地位,非x86架构在存取x86应用程序的困难确实会造成不便。无论外出或是在办
公室,使用者需要同时拥有二种电脑硬件才能存取ARM所支配的移动装置应用程
序以及x86所支配的Windows应用程序。
为同步、整合及无缝(seamless)地存取混合的应用程序,需要一种跨作业系
统的电脑系统。当存取x86架构的Windows及ARM智慧型手机的应用程序为许
多人的日常生活需求时,对于一种能同时存取二种架构的电脑的需求就变得非常实
际。目前以x86为基础的架构(和其他一些非x86的架构)能通过虚拟运算技术,
在同一电脑硬件上同步地执行Windows及非Windows的电脑软件应用程序。例如,
一x86电脑能安装Linux、Windows或其他能支援多个客体电脑的主作业系统,各
执行所支援的不同数量的支援作业系统之一。然而,主机处理器模拟其他非x86
客体作业系统的指令集会消耗处理电力。尽管这种情形对桌上型电脑是可被接受
的,但对智慧型移动装置而言,考虑到电池寿命的因素,便无法被接受了。
Cupps等人试图整合手机及个人电脑的功能于其他装置中,他们在一列的美国
专利案及专利申请案中揭露一种电子装置,此种电子装置结合了一个以x86为基础
的架构及一个ARM架构处理器的嵌入式系统。例如,在美国专利公开案第US
2002/0173344号所揭露的「新颖的个人电子装置(Novel personal electronic device)」
中,Cupps等人描述了一种装置,此装置使用一种低耗能的系统处理器(例如:ARM)
作为整个装置的系统控制器,而此装置实质上是一个采用x86架构的电脑。
Cupps等人的作法实际上是将一种具有移动运算功能的嵌入式ARM处理器插
入一个具有PC处理器的x86电脑。此ARM采用与原PC处理器一样的方式,连
接至x86架构的北桥及南桥。Cupps等人指出低耗能的ARM系统处理器能因此作
为电子装置的主处理器一于x86架构的高性能PC处理器之上运作。
然而,采用与x86架构的显示控制器及存储器子系统相同的配置方式,亦即,
将ARM处理器配置于北桥的高速总线(high-speed buses,PCI-e)上,Cupps等人
所提出的技术对于装置整体的「主要控制」会有所限制。事实上,由于ARM处理
器以总线的方式于装置内连接,因此会被归类为标准x86架构下的总线控制装置
(bus master device),而非整个电子装置的最高主要处理器。在此系统架构下,
因为在PC处理器控制下的主要x86架构必须在控制之下(例如:在ACPI的控制
下)维持一个完整且健全的电源管理状态,若有任何丝毫的干扰会破坏此完整健全
的状态,将会造成数据的损失且电子装置需要完整的重新启动。更常见的情况是,
Cupps等人所提供的装置里的ARM处理器会重新启动以PC处理器为基础的x86
系统,以便执行那些需要PC处理器的处理能力的重度任务。
发明内容
有鉴于前述因素,确实需要一种操作一异质性电脑系统的方法,在不牺牲运
算能力的情况下,将运算耗能最小化,藉此成为一绿能x86电脑。
另外,也需要一种操作一异质性电脑系统的方法以将运算耗能最小化,以便
让一采用x86架构的智慧型移动装置的电池在每次充电后都能支援至少一整天的
工作。
另需一种操作一异质性电脑系统的方法,以使一非x86架构的智慧型移动装
置能存取x86电脑软件库。
另需要一种操作一跨作业系统异质性电脑系统的方法,以便对不同作业系统
的软件应用程序进行同步、整合及无缝整合的存取。
本发明经由提供一异质性电脑系统以实现上述及其他目的。该异质性电脑系
统包含一x86核心、一虚拟处理器(Hypervisor)及一桥接逻辑单元,其中该x86
核心包含一x86处理器及一x86运算架构,该虚拟处理器的运算能力低于该x86
处理器,该桥接逻辑单元通过该x86处理器的一区域总线,将该虚拟处理器连接至
该x86核心,其中,该虚拟处理器执行那些它有足够电力执行的电脑软件的任务,
并使该x86处理器处于省电状态(睡眠/休眠/关机),且该虚拟处理器使该x86处
理器脱离省电状态,以便执行那些虚拟处理器未具足够电力执行的电脑软件的任
务。
本发明更提供一种操作一异质性电脑系统以执行电脑软件的方法,来实现上
述及其他目的。该异质性电脑系统包含一或多个第一处理器、一处理器支援逻辑单
元及一第二处理器,其中,该处理器支援逻辑单元支援该一或多个第一处理器执行
该软件的任务,该第二处理器较该一或多个第一处理器省电。操作该异质性电脑系
统的方法包含下列步骤其中之一:(i)启动该第二处理器;(ii)于启动该第二处理器
后,启动该一或多个第一处理器;(iii)启动该一或多个第一处理器;(iv)于启动该一
或多个第一处理器后,启动该第二处理器。于启动后,该第二处理器在该处理器支
援逻辑单元的支援下,执行那些该第二处理器有足够电力执行的软件的任务,并使
该至少一第一处理器处于一省电状态。
本发明更经由提供一种操作一异质性电脑系统以执行电脑软件的方法,来实
现上述及其他目的。该异质性电脑系统包含至少一高性能处理器、一处理器支援逻
辑单元及一虚拟处理器,其中,该处理器支援逻辑单元支援该至少一高性能处理器
执行该电脑软件的任务,且该虚拟处理器较该至少一高性能处理器省电。操作该异
质性电脑系统的方法包含下列步骤其中之一:(i)启动该虚拟处理器;(ii)于启动该
虚拟处理器后,启动该至少一高性能处理器;(iii)启动该至少一高性能处理器;(iv)
于启动该至少一高性能处理器后,启动该虚拟处理器。于启动后,该虚拟处理器执
行该虚拟处理器具有足够电力执行的电脑软件的任务,并使该至少一高性能处理器
处于一省电状态。该虚拟处理器使该至少一高性能处理器脱离该省电状态,并使该
至少一高性能处理器执行该虚拟处理器未具足够电力执行的该电脑软件的任务。该
至少一高性能处理器与该虚拟处理器同步地执行需要全部处理器的电力执行的该
电脑软件的任务。
本发明更经由提供一种操作一异质性电脑系统以执行电脑软件的方法,来实
现上述及其他目的。该异质性电脑系统包含至少一高性能处理器、一处理器支援逻
辑单元、一桥接逻辑单元及一虚拟处理器,其中,该至少一高性能处理器包含一区
域性处理器总线,该处理器支援逻辑单元支援该至少一高性能处理器执行该电脑软
件的任务,该桥接逻辑单元通过该区域处理器总线连接该虚拟处理器及该处理器支
援逻辑单元,该虚拟处理器较该至少一高性能处理器省电。操作该异质性电脑系统
的方法包含下列步骤其中之一:(i)启动该虚拟处理器;(ii)于启动该虚拟处理器后,
启动该至少一高性能处理器;(iii)启动该至少一高性能处理器;(iv)于启动该至少一
高性能处理器后,启动该虚拟处理器。于启动后,该虚拟处理器在该处理器支援逻
辑单元的支援下,执行该虚拟处理器有足够电力执行的该电脑软件的任务,并使该
至少一高性能处理器处于一省电状态。该虚拟处理器使该至少一高性能处理器脱离
该省电状态,并使该至少一高性能处理器执行该虚拟处理器未具足够电力执行的该
电脑软件的任务。该至少一高性能处理器与该虚拟处理器同步地执行需要全部处理
器的电力执行的该电脑软件的任务。
附图说明
图1描绘本发明的异质性电脑系统的一种实现方式的方块示意图,其中一虚
拟处理器通过桥接电路芯片被增加至标准x86架构;
图2描绘本发明的异质性电脑系统的另一种实现方式的方块示意图,其中一
虚拟处理器核心及其必要的桥接逻辑单元被配置在同一半导体芯片上,以便被增加
至标准x86架构;
图3描绘本发明的异质性电脑系统的又一种实现方式的方块示意图,其中一
虚拟处理器核心及其必要的桥接逻辑单元配置与一多核心x86处理器被配置在同
一半导体上,以便被直接地插入一标准x86电脑主机板的CPU插槽;
图4描绘本发明的异质性电脑系统的另一种实现方式的方块示意图,一省电
x86核心作为虚拟处理器,且与一多核心x86处理器被配置于同一半导体上,以便
被直接地插入一标准x86电脑主机板的CPU插槽;
图5及6描绘本发明的电脑系统的另一实施例的示意图,其中电脑系统为一
x86架构智慧型移动装置;
图7描绘用以建构本发明的异质性电脑系统的桥接逻辑单元的概念示意图;
图8描绘桥接逻辑单元所提供的连接方式的示意图,其将虚拟处理器及x86
架构的主要处理器连接于x86芯片组之前侧总线;
图9描绘本发明的较佳实施例的桥接逻辑单元的基本功能元件;
图10描绘图9的桥接逻辑单元的逻辑电路元件的详细示意图;
图11描绘本发明的较佳实施例的异质性电脑系统的电路方块示意图;
图12描绘本发明的较佳实施例的桥接逻辑单元的逻辑电路元件的示意图;
图13-15分别描绘图8-12的异质性电脑系统的操作模式;
图16-19分别描绘使异质性电脑系统启动的不同的控制演算法的示意图;
图20描绘操作异质性电脑系统的超级作业系统的示意图,其能实现无缝的跨
作业系统电脑软件应用程序;以及
图21-24分别描绘图8-12的异质性电脑系统的操作模式,用以支援无缝的跨
作业系统电脑软件应用程序。
主要元件符号说明:
100异质性电脑系统
110虚拟处理器
120x86CPU
134前侧总线
140桥接芯片
160标准x86架构
162x86芯片组
200异质性电脑系统
210虚拟处理器
220x86CPU
234前侧总线
240桥接逻辑单元
242虚拟处理器芯片
260标准x86架构
262x86芯片组
300异质性电脑系统
310低阶x86核心
320最新的多核心x86
334前侧总线
340桥接逻辑单元
344x86CPU
362x86芯片组
400异质性电脑系统
407桥接装置
408三方数据切换器
410虚拟省电x86核心
421x86高性能处理器核心
422x86高性能处理器核心
434前侧总线
446x86CPU
462x86芯片组
500异质性电脑系统
510虚拟处理器
520x86CPU
534前侧总线
540桥接芯片
560x86架构
562x86芯片组
570蜂巢式通信单元
610虚拟处理器
620x86处理器
634前侧总线
662x86芯片组
6400桥接逻辑电路
6407高速总线切换器
6410虚拟处理器操作逻辑单元
6412前侧总线命令处理器
6414总线封装器
6430处理器语言转换逻辑单元
6432周边状态表
6434周边IRQ控制器
6436周边状态维持器
6452前侧总线
6454处理器总线
6624北桥
710虚拟处理器
712嵌入式处理器
714随机存取存储器
716内建启动载入器
724随机存取存储器
7400桥接逻辑单元
7407总线切换器
7412命令处理器
7436周边状态维持器
7438周边状态对映器
具体实施方式
本发明的电脑系统是建构于一种能执行绿能运算(深度绿能运算)的异质性
处理器系统。低耗能的主「虚拟(hypervisor)」处理器通过一桥接逻辑电路被增
加至主流的标准x86架构,通过此种方式,能使一异质性电脑系统在执行绿能运算
上,不仅具有强大的运算能力,且能达成节能的效果。
本发明的异质性电脑系统在进行x86运算时,尽可能地减少电源的消耗,以
便(1)使整个x86主导的主流运算能大量地减少二氧化碳的释放,以及(2)使大量的
x86电脑软件库能被移动用户依其移动需求进行实际的存取。本发明的异质性电脑
系统更执行跨作业系统的运算,藉此能对来自不同作业系统的软件应用程序进行同
步的、整合的及无缝的存取。
换句话说,本发明的异质性电脑系统旨在解决这些问题,并达成至少二个主
要目标。首先,本发明的电脑系统为可携式智慧型装置提供一种解决方案,具体来
说,为一种新类型的智慧型手机,其能存取现有大量的x86电脑软件库,同时也能
充分地节省电力以维持至少工作一整天所需要的电池电力。对众多的商务旅客而
言,这整新类型的移动装置将会取代累赘的智慧型手机及笔记型电脑组合。
其次,且更重要的是,本发明电脑系统能够在主流电脑(包含桌上型、工作
站及服务器电脑)上实现深度的绿能运算。考虑到所有的电脑所节约的电源的总和,
整体的电脑运算耗能确实会被大幅地降低。
在实现这些目标的同时,本发明的异质性电脑系统能在使用同样硬件的情形
下,同步、整合及无缝地存取不同作业系统的电脑软件应用程序。
需注意的是,本案说明书的用语「x86应用程序」泛指所有能在x86电脑硬件
架构下以各种不同作业系统执行的x86电脑软件应用程序。因此,此用语指针对
x86架构目前所支援的作业系统(例如:Windows、Linux、Mac OS及Solaris等)
而写的所有的软件应用程序。
此外,用语「虚拟处理器」在运算领域里通常是指虚拟机器监控器(Virtual
Machine Monitor,VMM),与其将之视为电脑硬件,更应将之视为电脑软件技术。
然而,此用语在此亦指主处理器、低耗能ARM,在本发明的不对称异质性处理器
系统里监控x86处理器,其中,x86处理器于本系统为有效率但耗能的元件,其在
主处理器ARM的控制下为从属处理器。选择此用语的原因在于,主处理器确实会
监控及控制嵌入于本发明的电脑软件系统所需的虚拟机器。
会如此命名亦是因为ARM主处理器相较于监控x86硬件(一异质性电脑系统
中的主要硬件)的x86处理器,在概念上高一阶,此意味着主要的ARM「虚拟使
用」其附属的且用以监控主要x86电脑硬件的x86处理器。
此外,用语「高性能处理器」指标准x86架构中的主要x86处理器。此命名
用以反应x86处理器在本发明的异质性电脑系统中用以负责大量危急的任务。
在不牺牲电脑的运算能力的前提下,为电脑耗能最小化寻求解决之道,确实
为一既有的议题。在移动运算里(笔记型电脑、触控式电脑及智慧型手机等),必
须聪明地处理电源管理,以尽可能地延长能执行运算的时间一至少一工作天。在主
流的桌上型电脑运算中,由于全球大量地加以安装,因此电源管理亦非常重要,相
较轿车上的MPG效能,亦为一个全球的环境议题。
但是,对一些外出使用的应用程序而言,传统的电源管理方式并无法使一x86
架构有在省电的状态下有效率地运作。这是现今x86架构的限制,因为它们并非在
这样的理念下被设计出来的。
解决之道落在异质性处理器这样的概念上。若要使这样的异质性电脑系统在
商场上成功,电脑系统必须尽可能的与现在的工业标准相容。以Wintel目前所达
成的成就观之,要对之进行改变乃不切实际的事。异质性电脑系统解决方法必须适
用现有的系统/方法。这意味着对电脑硬件和软件所作的调整越轻微越好。
A:具有一桥接逻辑单元的异质性电脑系统
从系统硬件架构的角度来看,本发明的一异质性(Heterogeneous)电脑系统
具有一「虚拟」处理器,其配置于标准x86架构的区域(前侧)总线。请参考图
1-4,本发明的架构在基础上便与Cupps等人所提出的电子装置不同,他们的电子
装置是将系统处理器通过系统总线连接至x86架构的北桥。
图1描绘本发明的异质性电脑系统的一实施方式的示意图,此异质性电脑系
统通过桥接电路芯片将一虚拟处理器增加至标准x86架构上。于本发明的较佳实施
例中,异质性电脑系统100具有一标准x86架构160,此标准x86架构160包含x86
CPU 120及支援x86芯片组162,因此能作为一完整的x86电脑。
虚拟处理器110通过一桥接芯片140被增加至标准x86架构160。桥接芯片体
140包含数字电子电路,以便使虚拟处理器110、一ARM或一低耗能x86处理器
(例如386或甚至286)能通过x86 CPU之前侧总线(front-side bus;FSB)134
而被插至x86架构160。
图7描绘利用桥接逻辑单元以建构本发明的异质性电脑系统的概念的示意图。
「桥接逻辑单元」指一种能让虚拟ARM处理器110连接至一现有x86架构电脑系
统160的桥接装置(逻辑单元),如图1所绘示。在本发明的脉络里,如图7所描
绘,桥接装置407作为一个三方数据切换器408。换句话说,数据切换器408于此
为一多方切换器,一个三方T型或Y型切换装置,其能让数据由任一埠传递至其
余二埠之一。以下将详述桥接逻辑单元如何运作以使虚拟处理器被安插至一x86
架构。
图2描绘本发明的异质性电脑系统的另一实施方式的示意图,此异质性电脑
系统包含一虚拟处理器核心及其必要的桥接逻辑单元。此桥接逻辑单元与虚拟处理
器核心配置于同一半导体芯片上,且发挥将虚拟处理器核心增加至标准x86架构的
功能。在本发明的此实施例里,异质性电脑系统200包含一标准x86架构260,此
标准x86架构260包含一x86 CPU 220及支援x86芯片组262,因此能作为一完整
的x86电脑。
虚拟处理器210可为一ARM或一x86核心,并会通过桥接逻辑单元240被加
至标准x86架构。桥接逻辑单元240包含数字电子电路,其功能在于通过x86 CPU
之前侧总线234,将虚拟处理器210插至x86架构260。在一具体范例中,虚拟处
理器210及必要的桥接逻辑单元240被配置在同一整合芯片上,例如:虚拟处理器
芯片242。
图3描绘本发明的异质性电脑系统的另一实施方式的示意图。此异质性电脑
系统包含一虚拟处理器核心及其必要的桥接逻辑单元,二者与一多核心x86处理器
被配置于同一半导体上,以方便将之直接地插入一标准x86电脑主机板的CPU插
槽。
于本实施例中,异质性电脑系统300本身为一标准x86架构,其包含x86 CPU
344及支援x86芯片组362,因此能作为一完整的x86电脑。x86 CPU 344为传统
x86 CPU的变形。x86 CPU 344包含一x86高性能处理器(例如:最新的多核心x86
320)、一虚拟ARM或一低阶x86核心310及桥接逻辑单元340于同一半导体芯
片上,其中桥接逻辑单元340通过前侧总线334桥接虚拟处理器至高性能核心。
图4描绘本发明的异质性电脑系统的另一种实施方面的示意图。此异质性电
脑系统包含一作为虚拟处理器的省电x86核心,其与一多核心x86处理器被配置于
同一半导体上,以方便将的直接地插入一标准x86电脑主机板的CPU插槽。
于本实施例中,异质性电脑系统400符合一标准x86架构,其包含x86 CPU 446
及支援x86芯片组462,因此能做为一完整的x86电脑。x86 CPU 446为传统CPU
的变形,其包含x86高性能处理器核心421、422及一虚拟省电x86核心410于同
一半导体芯片上。由于虚拟核心410采用高性能核心421及422的简化的指令集,
且共享相同的内部总线,因此无配置桥接逻辑单元的必要。配有虚拟处理器的高性
能处理器446,以与标准x86架构电脑主机板相同的方式,通过一正规的前侧总线
434连接至x86芯片组462。
就字面意义而言,如图1-4所示,本发明建构一异质性电脑系统的概念为,增
加一低耗能(power-sipping)的主处理器(目前最可能者为ARM)至一x86电脑。
此概念使低耗能的虚拟处理器总是处于清醒模式(awake mode),以便将过度耗电
的x86高性能核心虚拟化。在此概念下,x86处理器纯粹是ARM虚拟处理器的附
属处理器,x86会处于深层休眠的状态以便节省电源,直到遇到低效能处理器无法
或未具足够能力去处理的系统任务,x86才被唤醒。
视本发明的异质性电脑系统的使用目的而定,若使用目的为例如CAD/CAM
等工作站,则其x86系统可为以最新的Intel第二代核心(Intel 2nd Generation CoreTM)
技术处理器为基础的高性能系统。又,假设使用目的为移动装置,用以取代使用者
出差需同时携带智慧型手机及笔记型电脑的情形,则x86可为一以AtomTM为基础
的低耗能系统。
使用现有的x86架构,可简单地建造这样的异质性电脑系统的硬件。对商业
上的应用程序,图1-4所绘示的解决方法适用于不同电脑工业供应链上的不同电脑
硬件制造商。
图1-2所绘示的电脑系统架构适用于目前的商业电脑主机板及系统制造商。他
们能将ARM处理器及桥接芯片引入他们制造的产品。至于图3所绘示的架构,则
需视现今x86及相容处理器的制造商是否愿意采用,并调整他们的处理器半导体,
以便制造出他们自己具有异质性电脑系统概念的处理器。
从商业的观点来看,确实有可能成真。对于现今任何的CPU制造商而言,若
要采用这样的概念,仅需对他们的多核心产品做极小的半导体改变,且具有此新概
念(亦即,绿能运算)的高性能CPU却能带来极大又极深远的影响。图4所描绘
的架构则最适合当今主流的桌上型电脑/工作站的运算。
图5及6描绘本发明的电脑系统作为一x86架构智慧型移动装置的一实施例
的示意图。此x86智慧型装置同时具有手机及x86架构电脑的功能,且能被用以取
代使用者出差时需同时携带的智慧型手机及笔记型电脑。
与图1所示的范例相似,在此具体范例中,智慧型手机联合笔记型电脑这种
型态的异质性电脑系统500包含一x86架构560,此x86架构560包含x86 CPU 520
及支援x86芯片组562,因此能作为一完整的x86电脑。为提供移动通信的功能,
能于x86架构内设置一蜂巢式通信单元570。
虚拟处理器510通过桥接芯片540连接至x86架构560,此桥接芯片540包含
数字电子电路,以便让虚拟处理器510(亦即,ARM)通过x86 CPU的前侧总线
534被插至x86架构560上。
由图5所示的虚线可知,当x86智慧型移动装置500执行其手机功能时,包
含x86 CPU 520及主要x86芯片组562的整体x86核心560会进入省电状态,例外
的部份则是蜂巢式通信单位570,其仍在虚拟ARM处理器510的控制下运作。
另一方面,当装置500使其可携式电脑的那部份运作,例如执行Windows应
用程序,如图6所示,则装置500中除了蜂巢式通信单位570的外的所有元件皆会
被唤醒。举例而言,若有一网络银行应用程序,其便是由x86系统在ARM的监控
下执行。低耗能的ARM会持续地监控,以判断是否让设备里的x86部份进入休眠
的状态,藉此节省电池的电力。
为了实现绿能运算,以使如图1-4所示的桌上型电脑型态的异质性电脑系统节
省能源,也使如第5-6图所示的x86智慧型移动装置仅消耗一点点的电源以维持一
整天工作的电力,并使二者能以同步、整合及无缝的方式执行混合作业系统的电脑
软件应用程序,前述的电脑硬件必须搭配一个相应的系统软件。以下将详述符合这
些需求的系统软件。
B:用于异质电脑系统的桥接逻辑单元
图8描绘本发明的异质性电脑系统的连接方式-通过桥接逻辑单元6400,将
虚拟处理器610与主要的x86处理器620连接于x86芯片组662之前侧总线。本发
明的异质性电脑系统的概念是将一监控微处理器(虚拟处理器)引至一高性能的电
脑,此高性能的电脑本身已具有具运算能力的微处理器(x86处理器)。本发明的
概念是,当异质性电脑系统启动时,虚拟处理器尽可能地以消耗极微电力的方式,
维持在总是可运作(active)的状态,并管理本发明的装置中的高性能x86子系统
的运算工作。在这样的异质性电脑系统里,只有在虚拟处理器判断所分配到运算任
务已超出低耗能虚拟处理器的能力时,高性能x86子系统才会脱离省电状态来工
作。
为实现这部份,如先前针对图1-4的实施例的描述内容及针对图8的更详细说
明,桥接逻辑电路6400配置于前侧总线上且介于x86高性能处理器620及标准x86
电脑的x86芯片组662之间。如字面上所言,x86处理器通过标准x86电脑里之前
侧总线而与x86芯片组的北桥间的直接连结方式,被桥接逻辑单元6400所中断。
原先被配置于x86处理器620及北桥6624之间的前侧总线仍在,但却被分成二个
部分,亦即,在x86处理器端的前侧总线6452及在芯片组端的前侧总线634,它
们皆被桥接逻辑电路6400控制。另一方面,桥接逻辑电路6400亦界于新增的虚拟
处理器610及连接至x86芯片组662的北桥6624的前侧总线634之间。
桥接逻辑单元6400包含一虚拟处理器运算逻辑单元6410,一处理器指令集/
电脑命令转换逻辑单元(或概要地称的为处理器语言转换逻辑单元6430),以及
一高速总线切换器6407。总线切换器6407的切换率与x86处理器之前侧总线相容。
如图7所示,总线切换器6407的较佳实施方面为一个三方切换器,其中一埠(如
图7的元件符号A)直接地连接至x86处理器620之前侧总线6452。总线切换器
6407的一第二埠(如图7的元件符号B)通过处理器语言转换逻辑单元6430,连
接至虚拟处理器610的处理器总线6454。总线切换器6407的第三埠(如图7的元
件符号C)则直接地连接至芯片组662的北桥之前侧总线634。
高速总线切换器6407所提供的连接方式,让x86高性能处理器620及低耗能
虚拟处理器610接能通过前侧总线634存取x86架构的北桥6624。每当切换器6407
被设定为连接其埠A及埠C,高性能x86处理器620便能直接地连接至北桥,就
如同一标准x86电脑一样。
另一方面,当切换器6407被设定为连接其埠B及埠C,低耗能虚拟处理器610
能存取x86芯片组662。在此情形中,虚拟处理器610为另一低耗能x86处理器,
其使用与高性能x86处理器相同的x86处理器指令集或使用该x86处理器指令集
的一子集,因此,处理器语言转换逻辑单元6430只需在不同位阶的x86指令集之
间进行转换。
然而,如果低耗能虚拟处理器610为一个使用完全不同指令集的处理器(例
如:ARM或MIPS),虚拟处理器610需要利用处理器语言转换逻辑单元6430来
摸拟或模仿高性能x86处理器。于此情形下,处理器语言转换逻辑单元6430会对
虚拟处理器610的本机命令进行翻译或转换,使之变为高性能x86处理器620所使
用的本机指令中的相对应的部份。
本质上,语言转换逻辑单元6430在x86及虚拟处理器(例如ARM)所使用
的语言(指令)间进行转换,使虚拟处理器610能了解并彻底地监控电脑系统里的
x86的活动状态,且x86处理器620能自虚拟处理器610接收命令。语言转换逻辑
单元6430亦会对在高速x86前侧总线634及低耗能虚拟处理器610所使用的典型
低速总线(例如,AMBA;Advanced Microcontroller Bus Architecture,通常被ARM
装置采用)间交换的数据进行同步。
换言之,为使低耗能虚拟处理器能正常地存取高性能x86架构,桥接逻辑电
路6400必须具有如下的转换功能:(1)处理器「语言」间的转换,以及(2)总线通信
电子信号间的转换。举例而言,第9及10图所绘示的总线封装器6414负责总线协
定转换及与数据总线寬度、位址总线长度、总线信号电子位准及时序相关的转换。
如图8所描绘的较佳实施例,所有的转换能在虚拟处理器操作逻辑单元6410
内完成,其监控在x86处理器下的所有x86活动,维持一份x86休眠时的系统状态,
如此一来,x86处理器被唤醒后便能无缝地接着运作。当x86处理器620处于省电
状态且ARM通过类似虚拟机器及即时命令/指令转换的技术来执行x86核心时,
虚拟处理器操作逻辑单元6410也可以将ARM命令转换为x86命令。
须说明者,桥接逻辑电路6400可为由低耗能虚拟处理器(ARM)所设置的被
动式数字逻辑单元,或者,其本身可为一以微处理器为基础的主动逻辑单元。此外,
高性能x86处理器可以是一Intel、一AMD或一Cyrix处理器,且低耗能虚拟处理
器可以是一ARM、一MIPS或一简化的x86核心。
总而言之,桥接逻辑元件切换器6407、逻辑单元6410及逻辑单元6430一起
运作以提供一桥接功能,使x86处理器620能在虚拟处理器610的控制下存取x86
架构662,以便执行分配给异质性电脑系统的任务。另一方面,当x86处理器620
不需存取x86架构662时,虚拟处理器610能间接地存取x86架构662。
另须说明者,用语「指令集」(Instruction Set)及用语「微处理器指令集」用
于本发明异质性电脑系统的虚拟处理器或高性能处理器,其指电脑架构中与编程有
关的部份,包含本机数据型态、指令、暂存器、定址模式、存储器架构、中断与例
外处理及外部输入/输出。此外,用语「命令」(Commands)及用语「电脑命令」
用于本发明异质性电脑系统的虚拟处理器或高性能处理器,其指那些用来表示可被
电脑系统执行的运算的语言。
图9描绘本发明的较佳实施例中的桥接逻辑单元的基本功能元件。桥接逻辑
单元6400中的处理器指令集转换逻辑单元6430的功能由周边状态维持器6436、
周边状态表6432及周边IRQ控制器6434所提供。这样便能持续地记录连接于异
质性电脑系统的周边装置的状态。
同时,桥接逻辑单元6400的虚拟处理器操作逻辑单元6410的功能是由被前
侧总线命令处理器6412及总线封装器6414所提供。实质上,前侧总线命令处理器
6412监控着由高性能处理器620所执行的电脑命令,以便如前所述地维持周边的
状态,以追踪异质性电脑系统的周边装置(通常被连接至x86芯片组662的南桥),
如此一来,当高性能x86由省电状态被唤醒时,便能回复最适当的状态。
另一方面,当高性能x86处理器620处于省电状态时,虚拟处理器610经由
前侧总线命令处理器6412及总线封装器6414将其本身的命令转换为x86命令,以
便存取x86芯片组。本质上,总线封装器6414扮演非x86虚拟处理器610的翻译
员的角色,它使非x86虚拟处理器610能使用x86的本机命令语言。通过这样的设
计,不论高效能处理器620是否处于省电的状态,虚拟处理器610都能直接存取
x86架构的资源。
图11描绘本发明的较佳实施例的异质性电脑系统的电路示意图。于本实施例
中,桥接逻辑单元7400的逻辑电路配置稍有不同。总线切换器7407是一个四方切
换器,但其仍能虚拟处理器710及高性能x86处理器皆直接地存取x86架构。然而,
作为指令转换逻辑单元的命令处理器7412及作为虚拟操作逻辑单元的周边状态对
映器(Peripheral Status Mapper)7438位于总线切换器7407的第四埠上。于本实施
例中,命令处理器7412负责以下任务:
1.命令伫例及命令解析。
2.将x86命令转换为相对应的ARM命令。
3.将ARM命令转换为相对应的x86命令。
4.维持x86的状态。
5.直接或间接地存取周边装置。
周边状态对映器7438负责以下任务:
1.为ARM处理器进行周边装置的对映。
2.维持周边装置的状态。
总线切换器7407具有以下任务:
1.桥接高速的前侧总线(其属于Intel、AMD及Via-Cyrix高性能处理器)及
低速AMBA总线(其属于ARM)。
2.为x86提供桥接的功能,使x86能直接或间接地存取x86架构。
此外,高性能x86处理器可具有自己的工作用随机存取存储器(RAM)724,
虚拟处理器710为一嵌入式处理器712,且嵌入式处理器712也具有自己的工作用
随机存取存储器714及一内建启动载入器716。
图12描绘本发明的较佳实施例的桥接逻辑单元的逻辑电路元件。桥接逻辑单
元7400用以与系统中的x86芯片组及二个处理器一起运作。桥接逻辑单元7400
包含如图11所绘示的命令处理器7412,其将x86程序码转换为低耗能ARM的程
序码,反之亦然。命令处理器7412可为在ARM控制下的基本型逻辑单元(dumb
logic)或一以处理器为基础的命令处理器。
图12所示的周边状态维持器7436的实作方式与图11所示的周边状态对映器
7438稍有不同。由于具有自己的存储器及/或暂存器,PSM 7436为一同步装置,其
能让ARM虚拟处理器完全地掌握x86主要系统的实际的状态。状态维持使(1)ARM
能根据正确的系统状态,于任何时间点继续x86的任务(例如,通过虚拟运算技术),
以及(2)当x86处理器在脱离省电状态(待机/睡眠/休眠)时,能根据正确的状态,
继续ARM的任务(例如,在某些情况下,ARM处于供电不足的状态)。同样的,
周边状态维持器7436可为在ARM控制下的基本型逻辑单元或一以处理器为基础
的维持器。
图10描绘图9的桥接逻辑单元的逻辑电路元件的详细示意图。
图8-12所绘示的本发明的异质性电脑系统皆能以图13-15所绘示的3种模式
其中之一进行运作。图13所绘示的第1种模式与传统桌上型电脑的运作方式极为
相像。高性能x86处理器620可能会被分配到一个复杂且极为耗电的CAD任务,
或高画质的游戏操作,在这些情况下,x86处理器620会处于工作满载的状态。
同时,虚拟处理器610也处于可运作的状态(active),监控及维持电脑系统状态,
使得高性能x86随时都能进入省电的状态时。
在图中,以实线呈现的双箭头沿着前侧总线指向处理器620及x86芯片组662,
此意味着处理器620能对x86系统进行一般的存取。同时,以虚线呈现的双箭头沿
着前侧总线指向虚拟处理器610及x86芯片组662,此意味着虚拟处理器610能维
持在监控整个系统的状态。
异质性电脑系统的第二种操作模式如图14绘示,其描绘一种情境,举例而言,
一个具有移动通信功能的x86智慧型移动装置,其能以内建虚拟ARM处理器的方
式来实现。当这种智慧型装置使用其ARM来进行移动通信时,高性能x86处理器
则能进入省电状态。
异质性电脑系统的第三种操作模式如图15所绘示,其描绘一种情境,同样的
举例而言,一x86架构智慧型移动装置同时使用其ARM来进行移动通信,且执行
一需要Active-X的远端银行视窗应用程序。在此范例中,虚拟处理器610处在能
运作的状态且执行负担较轻的移动通信任务,且同时监控及维持系统状态。另一方
面,高性能x86处理器620也处在能运作的状态,并执行分派给它的远端银行交易
任务。位于Android作业系统(举例说明而已)的ARM及位于Windows作业系统
下的x86应用程序被同时地执行,异质性电脑系统的同一显示屏幕上,而且甚至能
彼此交换数据。以下将描述一种能于同一硬件上无缝地且同步地执行的混合式作业
系统的软件应用程序。
C:启动异质性系统的演算法
图16-19分别地描述启动异质性系统的控制演算法。四种将本发明的电脑系统
从关机中启动的方法如下:
模式A:只有低耗能的虚拟处理器系统被启动。
模式B:于虚拟处理器系统被启动后,启动高性能x86处理器。
模式C:只有高性能x86处理器系统被启动。
模式D:于高性能x86系统被启动后,启动虚拟处理器系统。
模式A:
图16描绘仅启动虚拟处理器的运行顺序。
步骤1:
1a:首先,周边状态维持器(Peripheral Status Maintainer,PSM)存取BIOS。
1b:接着,根据系统BIOS资讯,更新周边装置清单(Peripheral list)及对映
表(Mapping table)。
1c:之后,启动低耗能虚拟处理器,于内部总线将周边装置初始化,并开始
提供周边装置之中断服务。
步骤2:
2a:首先,周边状态维持器发送IRQ至低耗能虚拟处理器。
2b:之后,低耗能虚拟处理器开始提供维持周边装置状态的服务。
步骤3:
3a:低耗能虚拟处理器对连接至系统的周边装置进行初始化。
模式B:
图17描绘于虚拟处理器系统被启动后,启动高性能x86处理器的运行顺序。
步骤1:
1a:低耗能虚拟处理器发送启动信号至前侧总线命令处理器(FSB Command
Handler)。
1b:前侧总线发送重置(restset)指令至高性能x86。
步骤2:
2a:前侧总线命令处理器向周边状态维持器(PSM本身可作为x86处理器的
BIOS)请求必要系统资讯。
2b:在启动高性能x86时,前侧总线命令处理器提供必要资讯给高性能x86
处理器。
步骤3-1:间接存取
3-1a:高性能x86传送前侧总线命令以进行间接存取。
3-1b:低耗能虚拟处理器扮演一代理服务器(Proxy)的角色,且执行高速x86
间接存取命令。
步骤3-2:直接存取
3-2a:高性能x86传送前侧总线命令以进行直接存取。
3-2b:周边状态维持器监控直接存取。
模式C:
图18描绘仅启动高性能x86处理器的运行顺序。若异质电脑系统只启动高性
能x86,则此模式可作为预设的模式,且可经由纯硬件来加以实现,不需要韧体的
控制。
步骤1:
1a:高速数据交换器(High-speed Data Switch)将模式重设,以作为一分流混
合桥接子系统(Bypass hybrid bridge sub system)。(如果异质性电脑系统先/仅启
动高性能x86,这可作为预设模式,且能以纯硬件来实现,不需要韧体的控制。)
步骤2:
2a:正常地启动高性能x86。
模式D:
图19描绘于高性能x86系统被启动后,启动虚拟处理器系统的运行顺序。
步骤1:
1a:周边状态维持器将其资讯与BIOS同步。
1b:周边状态维持器更新周边装置清单及对应表。
步骤2:
2a:启动低耗能虚拟处理器,对连接至内部总线的周边装置进行初始化,并
对中断服务进行初始化。
步骤3:
3a:周边状态维持器发送IRQ至低耗能虚拟处理器。
3b:低耗能虚拟处理器开始提供周边装置的维持服务。
步骤4:
4a:低耗能虚拟处理器通知并请求桥接逻辑单元接管系统服务。
D:用于异质性电脑系统的超级作业系统
由电脑软件的角度观之,本发明的异质性电脑系统的一种实现方式于软件系
统的异质性虚拟层执行x86(例如:Windows或Linux)及ARM(例如:Android)
作业系统的原始版本。此异质性虚拟层的功能便是使在本发明的电脑系统上执行的
二个运行中的作业系统能够共存,并使二个系统所对应的环境中所运行的应用程序
能进行无缝地联。
为达此目的,针对各种能执行于x86-ARM异质性电脑系统的常用的作业系统,
数种异质虚拟层(Layer)电脑软件的实验版本已被发展出来且已测试成功。目前
异质虚拟层的版本涵盖x86架构的Windows及ARM的Android,且已经通过测试。
这些经测试过的异质性虚拟层电脑软件的修正版本,从字面上来说,可称之为一超
级作业系统,可让ARM及x86处理器能平行地于整个异质性电脑系统的电脑硬件
运作,且在二个不同作业系统上执行的应用程序能彼此支援。
因此,二个不同的作业系统能在本发明的异质性电脑系统上被同时地启动及
执行,各自支援其本身应用程序。一个作业系统的应用程序甚至能在其他的作业系
统里执行,且二个不同作业系统中的应用程序能够彼此直接地及无缝地互相沟通。
图20描绘用于本发明异质性电脑系统的超级作业系统的示意图。本发明的超
级作业系统可以取代传统的作业系统,例如Windows、Linux、Solaris及用于智慧
型移动装置的Android,这些习知的作业系统能作为超级作业系统的「子作业系统」。
运作于超级作业系统下时,这些传统的作业系统不需要被改变。对这些作业系统而
言,他们所赖以执行的异质性电脑系统硬件与传统x86体并无不同。一旦超级作业
系统启动于异质性电脑系统上,二种不同的作业系统能够同步地存在于相同的电脑
硬件上,并同时无缝地支援二个作业系统上的多个电脑软件应用程序,并允许交换
彼此之间的数据。
为建构超级作业系统,必须在作业系统层及硬件层之间开发一异质性虚拟层,
且此异质性虚拟层需横跨二种作业系统。经由本发明的异质性电脑系统的软件架
构,无缝且跨作业系统的电脑软件应用程序确实可行。举例而言,Windows Word
可以直接在x86硬件中的Windows作业系统来执行,或是通过异质性虚拟层内的
虚拟运算来使ARM执行。达成此目的后,现有的电脑软件技术,例如开放原始码
的虚拟运算技术便能被加以使用。
图21-24分别描绘图8-12的本发明异质性电脑系统的操作模式的示意图,其
能支援无缝的跨作业系统电脑软件应用程序。图20所绘示的超级作业系统能以4
种模式加以启动并部署自己,这4种模式包含:
模式A:只有低耗能虚拟处理器系统被启动。
模式B:于虚拟处理器系统被启动后,启动高性能x86处理器。
模式C:只有高性能x86处理器系统被启动。
模式D:于高性能x86系统被启动后,启动虚拟处理器系统。
图21描绘仅启动虚拟处理器作业系统的运行程序。此模式仅会操作适用于虚
拟处理器的软件应用程序。启动程序使本发明的异质性电脑系统处于准备好的状
态,使软件应用程序,例如Android或Linux,能被执行。启动程序包含:
1.打开虚拟处理器(ARM)的电源。
2.桥接单元对所有直接连接至其本身的周边装置(例如:工作用的RAM)进
行初始化,此用来与其他连接至x86芯片组的南桥的电脑周边装置进行区别。
3.虚拟处理器(ARM)载入启动载入器。
4.启动载入器载入异质性虚拟层Part-A。
5.异质性虚拟层Part-A载入作业系统1。
图22描绘于虚拟处理器作业系统被启动后,启动高性能x86处理器作业系统
的运行程序。此模式会操作适用于虚拟处理器及高性能x86处理器作业系统的电脑
软件应用程序。启动程序使本发明的异质性电脑系统处于准备好的状态,因此,同
步及无缝的跨作业系统的应用程序能被实现。启动程序包含:
1.打开虚拟处理器的电源。
2.桥接单元对所有直接连接至其本身的周边装置进行初始化。
3.虚拟处理器(ARM)载入启动载入器。
4.启动载入器载入异质性虚拟层Part-A。
5.异质性虚拟层Part-A载入作业系统1。
6.异质性虚拟层Part-A打开高速x86的电源。
7.高速x86载入异质性虚拟层Part-B。
8.异质性虚拟层Part-B载入作业系统2。
图23描绘仅启动高性能x86处理器作业系统的运行程序。启动程序包含:
1.打开高性能x86的电源。
2.桥接单元作为一分流混合桥接子系统。
3.高性能x86载入BIOS、EFI或UEFI。
4.高性能x86载入异质性虚拟层Part-B。
5.异质性虚拟层Part-B载入作业系统2。
图24描绘于高性能x86处理器作业系统被启动后,启动虚拟处理器作业系统
的运行程序。此模式操作适用于虚拟处理器及高性能x86处理器作业系统的电脑软
件应用程序。启动程序始本发明的异质性电脑系统处于准备好的状态,因此,同步
及无缝跨作业系统的软件应用程序确实能被实现。启动程序包含:
1.打开高性能x86的电源。
2.桥接单元作为一分流混合桥接子系统。
3.高性能x86载入BIOS、EFI或UEFI。
4.高性能x86载入异质性虚拟层Part-B。
5.异质性虚拟层Part-B载入作业系统2。
6.桥接单元(周边状态维持器)与BIOS同步,且对所有连接至其本身的周
边装置,除x86芯片组外,进行初始化。
7.异质性虚拟层Part-B打开虚拟处理器的电源。
8.虚拟处理器载入启动载入器。
9.启动载入器载入异质性虚拟层Part-A。
10.异质性虚拟层Part-A通知异质性虚拟层Part-B接管虚拟服务。
11.异质性虚拟层Part-A载入作业系统1。
12.作业系统1接管系统所提供的服务。
上述内容仅为多个具体实施例的完整描述,本发明亦涵盖其他各种修改、替
代架构及具有相对应功能的系统。因此,上述内容及图式不应用来限制本发明的范
围。