環境に配慮した演算処理異種計算機システム
【課題】環境に配慮した演算処理異種計算機システムを提供する。
【解決手段】ソフトウェアを実行するための本異種計算機システムは、1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサがソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを有する。該ハイパーバイザプロセッサは、該プロセッサ支援論理回路により支援されて、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【解決手段】ソフトウェアを実行するための本異種計算機システムは、1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサがソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを有する。該ハイパーバイザプロセッサは、該プロセッサ支援論理回路により支援されて、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、環境に配慮した演算処理、即ち演算消費電力の最小化に概ね関する。特に、本発明は、最小の演算消費電力で高性能演算処理する異種計算機システムを実現するようブリッジ論理回路を介して標準のx86アーキテクチャに加えられた低電力マスタープロセッサを有する異種計算機に関する。
【背景技術】
【0002】
様々な種類の計算機が現代文明の不可欠な装置となっている。インテルx86(元のアーキテクチャは米国インテル社により設計され米国AMD社により最新の64ビットCISCアーキテクチャに進化している)は長く計算機の主流を支配してきた。一方、商業上重要性のある非x86計算機の世界は、スマートフォン及びタッチスクリーン装置を含む携帯演算装置においてARMプロセッサ(英国ARM社により開発されたRISC・ARMアーキテクチャ)が現在優勢である。環境に配慮した(グリーンな)演算処理の観点から、x86と非x86演算処理の両者の問題は下記の通りである。
【0003】
x86デスクトップの休止消費電力を削減するグリーンな演算処理が必要とされている。x86演算処理は演算能力を必要とするアプリケーションに適している。数億の家庭及びオフィスのデスクトップ及び携帯計算機、専門家用の高性能ワークステーション、及び様々なネット商取引用のサーバーが全世界で設置されており、演算エネルギー消費が環境問題となっている。主要な問題の1つは、演算処理アイドリング(計算機は使用されていないが遮断されていない状態)に関する。
【0004】
消費電力削減の努力、例えば米国で始まり多くの国で採用されあるレベルの省電力を達成する国際規格であるエネルギースターが存在する。x86系主流計算機業界も標準電力管理を有する。例えば、オープン業界標準であるACPI(Advanced Configuration and Power Interface)はオペレーティングシステムが計算機ハードウェアの省電力機能を直接制御するのを可能にする。
【0005】
しかし、x86系主流デスクトップ及びラップトップは、内蔵された不便で限定された電力管理機能のため、大多数のユーザにとって真にグリーンな動作を実現するのがしばしば困難である。多くの計算機ユーザにとって、ACPIのスリープ/スタンバイ/ハイバネーション電力管理モードは複雑で、計算機が使用に便利で省電力であるよう最良パラメータ設定に調整する仕方を理解しづらい。一方、より高性能な演算処理、例えば複数のセッションの仮想演算処理を含む演算処理の場合、円滑な電力管理をできず、ACPIは計算機をクラッシュさせるかVMセッションを扱うのが困難であり易い。
従って、その巨大な数のためにデスクトップによる大幅なエネルギー節約の大きな余地が存在する。
【0006】
x86系スマート携帯装置を実用的にするグリーンな演算処理が必要とされている。また、標準x86業界において入手可能な電力管理技術の不完全さのために、x86系スマートパーソナル装置(例えば、x86系携帯電話)はバッテリー持続時間が短く実用的でない。実際、商業上のx86系スマートフォンは存在しない。大多数のx86系ラップトップ計算機は移動中バッテリーで一生懸命に丸一日働き続けるのに問題が生じる。その結果、移動中、x86アプリケーションソフトウェアにアクセスするのが不便である。
【0007】
x86ソフトウェアベースにアクセスできる非x86装置が必要とされている。ARMプロセッサは携帯のために必要な省電力アプリケーション、特にスマートフォンアプリケーションのために開発されたが、重要な計算アプリケーションのためではない。本質的に、x86ソフトウェアベースへの実際的な直接アクセスはできない。ウィンドウズ(登録商標)・ソフトウェアは日常生活及びビジネスの多くの面において依然優勢であるので、x86アプリケーションへの非x86のアクセスの困難さは不便を引き起こす。移動中か事務所にいるユーザは、ARM優勢携帯及びx86優勢ウィンドウズ・アプリケーションの両方にアクセスできるよう両方のハードウェアを手元に持つ必要がある。
【0008】
混在アプリケーションへの同時の、統合された、継ぎ目のないアクセスのためのクロスOS計算機システムが必要とされている。x86ウィンドウズとARMスマートフォンとのアプリケーションの両方へのアクセスが、多くの人にとって日常より必要になるとともに、両方への同時アクセスを提供する計算機装置の必要性が現実になっている。現在のx86系アーキテクチャ(及び幾つかの非x86)は、仮想演算処理技術によりウィンドウズと非ウィンドウズとのソフトウェアアプリケーションを同じ計算機ハードウェア上で同時に実行可能である。例えば、x86計算機は、複数のオペレーティングシステムの1つをそれぞれ実行する複数のゲスト仮想計算機を支援するLinux(登録商標)、Windows(登録商標)、又は他のホストオペレーティングシステムを有してよい。しかし、非x86ゲストOSの命令セットのホストプロセッサによるエミュレーションは、処理能力を消費する。これはデスクトップにとって許容できるが、スマート携帯装置にとってバッテリー持続時間のため許容できない。
【0009】
特に、携帯電話とパソコンとの機能を結合するために、Cuppsらは一連の米国特許及び特許出願においてx86系アーキテクチャとARMプロセッサ系組込みシステムとのハードウェアを結合した電子装置を開示している。例えば、特許文献1において、CuppsらはARM等の低電力システムプロセッサを本質的にx86系計算機である装置全体のコントローラとして働くよう使用する装置を開示している。
【0010】
特許文献1の電子装置は、本質的にPCプロセッサを備えるx86計算機に携帯電話組込みARMプロセッサを組み込んだ電子装置である。ARMプロセッサは元のPCプロセッサと同様にx86アーキテクチャのノースブリッジとサウスブリッジに接続されている。特許文献1は、低電力ARMシステムプロセッサが電子装置のx86アーキテクチャの高性能PCプロセッサの上位のマスタープロセッサとして働くことが出来ることを開示している。
【0011】
しかし、ノースブリッジの高速バス(PCI‐e)にx86アーキテクチャの表示コントローラ及びメモリサブシステムと同様にARMプロセッサを配置することで、特許文献1の電子装置は装置全体に対して限定されたマスター制御を有する。実際、装置内でのARMプロセッサのバス接続は、ARMプロセッサを電子装置全体の最高マスタープロセッサではなく、標準x86アーキテクチャにおけるバスマスターに分類する。このシステムアーキテクチャでは、PCプロセッサの下のメインx86アーキテクチャは、例えばACPIの下で完全で適切な電力管理ステータスを維持しなければならないので、ステータスの完全性を破る僅かな中断もデータ喪失を引き起こし且つ再起動が必要になる。頻繁に、特許文献1の装置内のARMプロセッサは、PCプロセッサの処理能力を必要とする重いタスクの場合、PCプロセッサメインx86システムを再起動する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】米国特許出願公開第2002/0173344号明細書
【発明の概要】
【発明が解決しようとする課題】
【0013】
従って、演算能力を犠牲にすることなく演算消費電力を最小化しグリーンなx86コンピュータを実現する異種計算機システムが必要とされている。
【0014】
また、演算消費電力を最小化し、1回の充電でバッテリーで1日以上動作する実用的なx86系スマート携帯装置を実現する異種計算機システムが必要とされている。
【課題を解決するための手段】
【0015】
本発明は上記及び他の目的を達成するために、x86プロセッサとx86演算処理アーキテクチャとを有するx86コアと、x86プロセッサより低い性能を有するハイパーバイザプロセッサと、該ハイパーバイザプロセッサをx86コアにx86プロセッサのローカルバスを介して接続するブリッジ論理回路とを備え、該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有するソフトウェアタスクを実行し、該x86プロセッサを休止(スリープ/ハイバネーション/遮断)にし、該ハイパーバイザプロセッサはx86プロセッサを起こして自身が処理するのに不十分な処理能力を有するソフトウェアタスクを実行させる異種計算機システムを提供する。
【0016】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、1つ以上の第1プロセッサと、該1つ以上の第1プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の第1プロセッサより少ない電力を消費する第2プロセッサとを備える。該プロセッサ支援論理回路に支援された該第2プロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の第1プロセッサを電力節約状態にする。
【0017】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを備える。該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【0018】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、ローカルプロセッサバスを有する1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサと、該ハイパーバイザプロセッサを該プロセッサ支援論理回路に該ローカルプロセッサバスを介して接続するブリッジ論理回路とを備える。該ブリッジ論理回路を介して接続された該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが両方のプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【図面の簡単な説明】
【0019】
【図1】標準x86アーキテクチャにブリッジ回路チップを介して付加されたハイパーバイザプロセッサを有する本発明の異種計算機システムの実施形態のブロック図を概略的に示す。
【図2】本発明の異種計算機システムの別の実施形態、標準x86アーキテクチャに付加されるハイパーバイザプロセッサコア及びその必要なブリッジ論理回路が同じ半導体チップ上に作られた実施形態のブロック図を概略的に示す。
【図3】本発明の異種計算機システムの更に別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上に作られたハイパーバイザプロセッサコア及び必要なブリッジ論理回路を有する実施形態のブロック図を概略的に示す。
【図4】本発明の異種計算機システムの別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上でハイパーバイザプロセッサとして働く低電力x86コアを有する実施形態のブロック図を概略的に示す。
【図5】本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。
【図6】本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。
【図7】本発明の異種計算機システムの構成のために使用されるブリッジの概念を概略的に示す。
【図8】本異種計算機システムにおけるハイパーバイザプロセッサとx86アーキテクチャの主プロセッサとのブリッジ論理回路によるx86チップセットの前側バスへの接続を概略的に示す。
【図9】本発明の好適な実施形態に係るブリッジ論理回路の基本機能要素を概略的に示す。
【図10】図9のブリッジ論理回路の論理回路要素をより詳細に概略的に示す。
【図11】本発明の好適な実施形態に係る異種計算機システムの回路ブロック図を概略的に示す。
【図12】本発明の好適な実施形態に係るブリッジ論理回路内の論理回路要素を概略的に示す。
【図13】図8〜図12の異種計算機システムの動作モードを示す。
【図14】図8〜図12の異種計算機システムの動作モードを示す。
【図15】図8〜図12の異種計算機システムの動作モードを示す。
【図16】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図17】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図18】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図19】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図20】継ぎ目のないクロスOSソフトウェアアプリケーションのために本異種計算機システムを動作させるスーパーOSを概略的に示す。
【図21】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図22】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図23】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図24】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【発明を実施するための形態】
【0020】
本発明の独創的な計算機システムは深くグリーンな演算処理を提供する異種プロセッサシステムに基づいている。低電力マスター「ハイパーバイザ」プロセッサを主流標準x86アーキテクチャにブリッジ論理回路を介して加えて、グリーンで高性能な演算処理のための高性能で省エネルギーの異種計算機システムを構成する。
【0021】
この独創的な計算機システムはx86演算処理における消費電力を可能な限り削減して、(1)x86優勢主流演算処理全体が大幅な炭素排出削減に貢献でき、(2)膨大なx86ソフトウェアベースが真に実際上、携帯での使用のために携帯ユーザからアクセス可能となるようにする。この独創的な異種計算機システムはクロスOS演算処理も実現して、異なるOSからソフトウェアアプリケーションへの同時の、統合された、継ぎ目のないアクセスを可能にする。
【0022】
言い換えると、本発明の異種計算機システムは、これらの課題に対処し2つ以上の主な目的を達成する。第1に、この計算機システムは携帯スマート装置への解決策、具体的には新タイプのスマートフォンを提供する。このスマートフォンは膨大な既存のx86アプリケーションソフトウェアベースへのアクセスが可能であり、同時に十分に省電力で丸一日以上バッテリーで動作できる。多くの商用旅行者にとって、このような携帯装置は重いスマートフォンとラップトップとのペアを置き換えるであろう。
【0023】
第2に、より重要であるが、本計算機システムはデスクトップ、ワークステーション、及びサーバーを含む主流計算機において深くグリーンな演算処理を実現できる。世界中の各計算機が寄与する省電力は集まると消費電力の巨大な削減になる。
【0024】
一方、これらの目的を達成すると同時に、本発明の異種計算機システムは、同じハードウェアを使用する異なるOSからソフトウェアアプリケーションへの同時の、統合された、継ぎ目のないアクセスを可能にする。
【0025】
なお、本明細書において用語「x86アプリケーション」は、x86ハードウェアアーキテクチャで使用可能な様々なOSの下で実行可能な広義の意味のx86ソフトウェアアプリケーション全てを指す。従って、この用語は現在x86アーキテクチャでサポートされているWindows、Linux、Mac OS、Solaris等のOS用に書かれた全てのソフトウェアアプリケーションを意味する。
【0026】
また、演算処理における「ハイパーバイザ」は通常、仮想マシンモニター(VMM)(ハードウェアよりもソフトウェア技術である)を意味する。しかし、本明細書においてこの用語は、本発明の非対称異種プロセッサシステムにおけるマスタープロセッサ、即ち低電力ARMを指すのにも使用される。マスタープロセッサは、システムの高性能であるが高電力消費の構成要素であるx86プロセッサ(基本的にマスターARMの下のスレーブプロセッサ)を監督する。この用語は、マスタープロセッサは実際本発明のソフトウェアシステムに必然的に組み込まれた仮想マシンを監視し制御するので選択されている。
【0027】
ARMマスタープロセッサは、概念的に本発明の異種計算機システムの主ハードウェアであるx86ハードウェアを監督するx86プロセッサより1レベル高いので、そう呼ばれる。これは、マスターARMはそのスレーブx86(主x86ハードウェアを監督する)を「ハイパーバイズ」する事を意味する。
【0028】
また、用語「高性能プロセッサ」は標準x86アーキテクチャ内の主x86プロセッサを指すために使用される。こう呼ばれるのは本異種計算機システムにおけるx86プロセッサは大量の数字を処理するジョブを担当する事実を反映する。
【0029】
計算機が処理能力を犠牲にすることなく電力消費を最小化できるための解決策を見つけ出すことは、勿論既知の技術課題であり、既知の方策がある。携帯演算処理(ラップトップ、タッチスクリーンコンピュータ、スマートフォン等)では、出来るだけ長く動作を続ける(移動中、一日以上働き続ける)ために電力管理にうまく対処しなければならない。主流デスクトップコンピュータは、多量に世界中に設置されているので電力管理は重要であり、乗用車のMPG(燃費)性能に匹敵する世界的な環境問題である。
【0030】
しかし、従来の電力管理はx86アーキテクチャを実際の移動時アプリケーションのために十分に省電力で動かせるという目標を達成できない。これは今日のx86の限界であり、x86はそのようには設計されていない。
【0031】
解決策は異種プロセッサという概念に存在する。このような異種計算機システムが商業上成功するためには、計算機システムは出来る限り既存の業界標準と互換性がなければならない。非常に大きな勢力を有するWintelを変える事を考えるのは実際的でない。異種計算機システムという解決策は既存物と適合し、その逆であってはならない。これはハードウェアとソフトウェアの両方において調整は出来る限り僅かでなければならない事を意味する。
【0032】
A:ブリッジ論理回路を含む異種計算機システム
システムハードウェア・アーキテクチャの観点から、本発明の異種計算機システムは、標準x86アーキテクチャのローカル(前側)バスに存在するハイパーバイザプロセッサを有する。図1〜図4を参照。これは上記した特許文献1の電子装置(システムプロセッサをシステムバスを介してx86アーキテクチャのノースブリッジに接続する)とは基本的に異なる。
【0033】
図1は標準x86アーキテクチャにブリッジ回路チップを介して付加されたハイパーバイザプロセッサを有する本発明の異種計算機システムの実施形態のブロック図を概略的に示す。本発明の好適な実施形態において、異種計算機システム100は、x86CPU120と支援x86チップセット162とを含む完全なx86コンピュータを自身だけで構成する標準x86アーキテクチャ160を有する。
【0034】
ハイパーバイザプロセッサ110が標準x86アーキテクチャ160にブリッジチップ140を介して付加されている。ブリッジチップ140はx86アーキテクチャ160にx86CPUの前側バス(FSB)134を介して挿入されるハイパーバイザプロセッサ110、即ちARM、又は低電力x86プロセッサ(例えば、386又は286でも)のためのデジタル電子回路を含む。
【0035】
図7は本発明の異種計算機システムの構成のために使用されるこの概念のブリッジを概略的に示す。ブリッジ論理回路は、例えば図1のシステムにおいてハイパーバイザARMプロセッサ110を既存のx86系計算機システム160に接続するブリッジ素子(論理回路)を意味する。本発明の記載中、図7に概略的に示したブリッジ素子407は3方向データスイッチ408として機能する。言い換えると、データスイッチ408は多方向スイッチ、即ち3つのうちいずれかから残りの2つのどれかにデータを通過させる3方向T又はYスイッチ素子である。ブリッジ論理回路がハイパーバイザプロセッサをx86アーキテクチャに挿入する方法の詳細を下記に説明する。
【0036】
図2は本発明の異種計算機システムの別の実施形態、標準x86アーキテクチャに付加されるハイパーバイザプロセッサコア及びその必要なブリッジ論理回路が同じ半導体チップ上に作られた実施形態のブロック図を概略的に示す。本実施形態において、異種計算機システム200は、x86CPU220と支援x86チップセット262とを含む完全なx86コンピュータを自身だけで構成する標準x86アーキテクチャ260を有する。
【0037】
ARM又はx86コアの形態のハイパーバイザプロセッサ210を標準x86アーキテクチャ260にブリッジ論理回路240を介して付加されている。ブリッジ論理回路240はx86アーキテクチャ260にx86CPUの前側バス(FSB)234を介して挿入されるハイパーバイザプロセッサ210のためのデジタル電子回路を含む。本実施形態ではハイパーバイザプロセッサ210及び必要なブリッジ論理回路240は同じ半導体集積チップ、ハイパーバイザチップ242上に作られている。
【0038】
図3は本発明の異種計算機システムの更に別の実施形態のブロック図を概略的に示す。このシステムは標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上に作られたハイパーバイザプロセッサコア及び必要なブリッジ論理回路を有する。
【0039】
本実施形態では、異種計算機システム300はそれ自身、標準x86アーキテクチャであり、x86CPU344と支援x86チップセット362とを含む完全なx86コンピュータを自身だけで構成する。x86CPU344は従来のものの改良型であり、同じ半導体ダイ上のx86高性能プロセッサ、例えば最新多コアx86プロセッサ320と、ハイパーバイザARM又は低性能x86コア310と、ハイパーバイザと高性能コアとを前側バス334を介して橋渡しするブリッジ論理回路340とから基本的に構成されている。
【0040】
図4は本発明の異種計算機システムの別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上でハイパーバイザプロセッサとして働く低電力x86コアを有する実施形態のブロック図を概略的に示す。
【0041】
本実施形態では、異種計算機システム400はそれ自身、標準x86アーキテクチャであり、x86CPU446と支援x86チップセット462とを含む完全なx86コンピュータを構成する。x86CPU446は従来のものの別の改良型であり、同じ半導体ダイ上のx86高性能プロセッサコア421、422と、ハイパーバイザ低電力x86コア410とから基本的に構成されている。ハイパーバイザコア410が高性能コア421、422の縮小された命令セットを実行し同じ内部バスを共有するので、ブリッジ論理回路は必要ない。ハイパーバイザを備える高性能プロセッサ446は標準x86コンピュータボードと同様、標準FSB434を介してx86チップセット462に接続されている。
【0042】
図1〜図4に示すように、本発明の異種計算機システムを構成する概念は、低電力マスター、現在最も適切そうな、ARMをx86コンピュータに付加することである。この概念は、低電力ハイパーバイザプロセッサを高電力消費で主力のx86をハイパーバイズするよう常時起こしておくことである。この概念では、x86はARMハイパーバイザプロセッサの下の純粋なスレーブであり、エネルギーを節約するために深い休止状態にされ、相対的に低性能プロセッサがシステムに割り当てられたタスクを処理できないか、不十分な時だけ活動させられる。
【0043】
異種計算機システムの使用の主目的に依り、x86システムは、例えば、CAD/CAMワークステーション用の最新のインテル第2世代Core(登録商標)技術プロセッサ系高性能システムであってもよい。または、選択されたx86は、頻繁に出張する人用のスマートフォン・ラップトップのペアを置き換える目的の携帯装置用のAtom(登録商標)系低電力システムであってもよい。
【0044】
既存のx86アーキテクチャを使用して、このような異種計算機システムハードウェアは容易に構成できる。商業用途の場合、図1〜図4に示す下記の解決策は、計算機業界サプライチェーンに沿って様々な計算機ハードウェア製造業者に適切である。
【0045】
図1及び図2の計算機システムアーキテクチャは、現在の計算機マザーボード及びシステムメーカにビジネスとなる。彼らはARMプロセッサとブリッジチップを調達して製品を製造することが出来る。しかし、図3のアーキテクチャは、現在のx86及び互換プロセッサメーカのどれもがこの技術を採用し彼らのプロセッサ半導体チップに調整を加えて彼らのバージョンの異種計算機システムCPUを作るか否かに依存する。
【0046】
これはビジネスの観点から可能である。現在のどのCPUメーカにとっても、この概念は既存の多コア製品への半導体変更をほとんど含まないが、この新しい概念のCPUによりコンピュータの性能に大きなインパクト(グリーン演算処理)がある可能性がある。図4は主流デスクトップ/ワークステーション演算処理に最も適切なこのようなアーキテクチャのイメージを示す。
【0047】
図5及び図6は本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。このようなx86スマート装置は携帯電話とx86系コンピュータの両方の機能を有し、携帯電話とラップトップ計算機との商用旅行者にとって必須のペアを置き換えることが出来る。
【0048】
本実施形態では、図1の例と同様に、異種計算機システムのスマートフォン+ラップトップバージョン500は、x86CPU520と支援x86チップセット562とを含む完全なx86コンピュータを自身だけで構成するx86アーキテクチャ560を有する。携帯電話機能を提供するために、携帯電話通信ユニット570がx86アーキテクチャの一部として含まれてよい。
【0049】
ハイパーバイザプロセッサ510は、x86アーキテクチャ560にx86CPUの前側バス(FSB)534を介して挿入されるハイパーバイザプロセッサ510、即ちARMのためのデジタル電子回路を含むブリッジチップ540を介してx86アーキテクチャ560に接続されている。
【0050】
図5に閉じた破線で示したように、x86スマート携帯装置500が携帯電話機能を働かせる時、x86CPU520と主x86チップセット562とを含むx86コア560全体を、ハイパーバイザARMプロセッサ510の下で動作する携帯電話通信ユニット570を除いて休止させることが出来る。
【0051】
一方、装置500がその携帯コンピュータを動作させ、例えば図6に示したようにウィンドウズ・アプリケーションを実行させる時、装置500の携帯電話通信ユニット570を除く全構成要素は活性化される。例えば、ネット決済アプリケーションはARMの監督の下のx86システムにより実行されうる。低電力ARMは常時監視を行い、バッテリーエネルギーの節約のために装置のx86部分を休止させうる時を決定する。
【0052】
グリーン演算処理を実現して図1〜図4に示した異種計算機システムのデスクトップ実施形態がエネルギーを節約でき、図5及び図6に示したx86スマート携帯装置がバッテリーエネルギーを少しずつ消費して移動中、丸一日働き続け、両方が同時の、統合された、継ぎ目のない混合OSソフトウェアアプリケーション群を有するために、上記ハードウェアは対応するシステムソフトウェアを有し上記の全てを実現する必要がある。このようなソフトウェアシステムを下記に詳細に説明する。
【0053】
B:異種計算機システムのためのブリッジ論理回路
図8は本異種計算機システムにおけるハイパーバイザプロセッサ610と主x86プロセッサ620とのブリッジ論理回路6400によるx86チップセット662の前側バス(FSB)への接続を概略的に示す。本発明の異種計算機システムの基本概念は監督マイクロプロセッサ、即ちハイパーバイザプロセッサを高能力のマイクロプロセッサ、即ちx86プロセッサを既に有する高性能コンピュータに導入することである。この概念はハイパーバイザプロセッサは出来るだけ少ない電力を消費して、本異種計算機システムの電源がONの間、常時活性であり高性能x86サブシステムの計算処理を管理する。この異種計算機システムでは、ハイパーバイザプロセッサが割り当てられた演算タスクが低電力ハイパーバイザプロセッサの能力を超えていると判断した時だけ、高性能x86サブシステムを休止から抜け出させて働かせる。
【0054】
そうするために、図1〜図4の実施形態で説明し、図8でより詳細に示すように、ブリッジ論理回路6400は、x86高性能プロセッサ620と標準x86コンピュータの前側バス上のx86チップセット662との間に存在する。標準x86コンピュータ内の前側バスを介するx86プロセッサのx86チップセットのノースブリッジへの直接接続は、ブリッジ論理回路6400により遮られる。x86プロセッサ620とノースブリッジ6624との間の元のFSB接続は、なお存在するが、ブリッジ論理回路6400の制御の下で2つの部分、x86プロセッサ側のFSB6452とチップセット側のFSB634に分割されている。一方、同様にブリッジ論理回路6400は付加されたハイパーバイザプロセッサ610とx86チップセット662のノースブリッジ6624に接続されたFSB634との間に存在する。
【0055】
ブリッジ論理回路6400はハイパーバイザ動作論理回路6410、プロセッサ命令セット/計算機コマンド翻訳論理回路又はプロセッサ言語翻訳論理回路6430、及び高速バススイッチ6407を含む。バススイッチ6407はx86プロセッサFSBに適合した切替え速度を有する。図7に示すように、バススイッチ6407は3方向スイッチであるのが好ましく、うち1つのポート(図ではA)はx86プロセッサ620のFSB6452に直接接続されている。バススイッチ6407の第2ポート(B)はプロセッサ言語翻訳論理回路6430を介してハイパーバイザプロセッサ610のプロセッサバス6454に接続されている。バススイッチ6407の第3ポート(C)はチップセット662のノースブリッジのFSB634に直接接続されている。
【0056】
高速バススイッチ6407によるこのような接続はx86高性能プロセッサ620と低電力ハイパーバイザプロセッサ610の両方がx86アーキテクチャのノースブリッジ6624にFSB634を介してアクセスするのを可能にする。バススイッチ6407がポートAとCを接続するよう設定されると、x86高性能プロセッサ620は通常のx86コンピュータにおけるのと同様にノースブリッジに直接接続できる。
【0057】
一方、バススイッチ6407がポートBとCを接続するよう設定されると、低電力ハイパーバイザプロセッサ610はx86チップセット662にアクセスできる。ハイパーバイザプロセッサ610が高性能x86プロセッサと同じ命令セットかx86プロセッサ命令セットのサブセットを実行する低電力x86プロセッサである場合、プロセッサ言語翻訳論理回路6430はx86命令セットの異なるレベル間の簡単な変換を提供しさえすればよい。
【0058】
しかし、低電力ハイパーバイザプロセッサ610が完全に異なる命令セットを実行するプロセッサ、例えばARM又はMIPSである場合、ハイパーバイザプロセッサ610はプロセッサ言語翻訳論理回路6430を使用して高性能x86プロセッサをエミュレートする必要がある。この場合、翻訳論理回路6430はハイパーバイザプロセッサ610個有コマンドを高性能x86プロセッサ620の等価なコマンド(高性能プロセッサ620個有命令)に翻訳又は変換する。
【0059】
本質的に、プロセッサ言語翻訳論理回路6430はx86プロセッサ言語(命令)とハイパーバイザ(例えばARM)プロセッサ言語(命令)との間の翻訳を行うことで、ハイパーバイザ610が計算機システムにおけるx86の活動を理解し完全に監視し、x86プロセッサ620はハイパーバイザ610から命令を受け取れる。また、翻訳論理回路6430は高速x86FSB634と低電力ハイパーバイザプロセッサ610の比較的低速のバス、例えばARM装置が通常採用するAMBA(Advanced Microcontroller Bus Architecture)バスとの間のデータ交換を同期させる。
【0060】
言い換えると、通常、より低い性能のハイパーバイザプロセッサの高性能x86アーキテクチャへのアクセスを可能にするために、ブリッジ論理回路6400は(1)プロセッサ言語と(2)バス通信電気信号との翻訳をするよう構成されなければならない。図9及び図10の例におけるようにバスラッパー6414はバスプロトコル変換を担当し、データバス幅、アドレスバス長、及びバス信号電気レベル、タイミング等の変換を実行する。
【0061】
図8に示した好適な実施形態では、全てのこのような変換をハイパーバイザ動作論理回路6410と一緒に実行できる。ハイパーバイザ動作論理回路6410はx86プロセッサの全活動を監視し、x86プロセッサが目覚めた後、動作を継ぎ目なく引き継げるようシステムステータスのコピーを維持する。ハイパーバイザ動作論理回路6410も、x86プロセッサ620が休止にされARMが仮想マシン、実行時コマンド/命令翻訳等の技術によりx86コードを実行する時、ARMコマンドをx86コマンドに翻訳できてもよい。
【0062】
なお、ブリッジ論理回路6400は低電力ハイパーバイザプロセッサ(ARM)により動作させられる受動デジタル論理回路か又はマイクロプロセッサベース能動論理回路であってよい。また、高性能x86プロセッサはインテル、AMD、又はCyrixプロセッサであってよく、低電力ハイパーバイザプロセッサはARM、MIPS、又は縮小x86コアであってよい。
【0063】
まとめると、ブリッジ論理回路スイッチ6407、及び論理回路6410、6430は一緒に働いてブリッジ機能を提供し、x86プロセッサ620はハイパーバイザプロセッサ610の制御の下でx86アーキテクチャ662に直接アクセスして本異種計算機システムに割り当てられた高性能タスクを実行する。一方、x86プロセッサ620が必要とされていない時、ハイパーバイザプロセッサ610はx86アーキテクチャ662に間接アクセスしてもよい。
【0064】
なお、本明細書中、本異種計算機システムのハイパーバイザ又は高性能プロセッサの、例えば「マイクロプロセッサ命令セット」における用語「命令セット」は、コンピュータアーキテクチャのプログラミングに関する部分であって、固有データタイプ、命令、レジスタ、アドレッシングモード、メモリアーキテクチャ、割込み・例外処理、及び外部I/Oを含む部分を意味する。また、本明細書中、本異種計算機システムのハイパーバイザ又は高性能プロセッサの、例えば「計算機コマンド」における用語「コマンド」は、計算機システムが実行できる演算処理を表す人工言語を意味する。
【0065】
図9は本発明の好適な実施形態に係るブリッジ論理回路の基本機能要素を概略的に示す。ブリッジ論理回路6400のプロセッサ命令セット翻訳論理回路6430の機能は周辺装置ステータス保守部6436、周辺装置ステータステーブル6432、及び周辺装置IRQ制御部6434により提供される。これは本異種計算機システムに取り付けられた周辺装置のステータスの記録を常に保持する。
【0066】
一方、ブリッジ論理回路6400のハイパーバイザ動作論理回路6410の機能はFSBコマンドハンドラー6412とバスラッパー6414とにより提供される。基本的にFSBコマンドハンドラー6412は高性能プロセッサ620により実行される計算機コマンドを監視して、上述のように周辺装置ステータスセットを維持して本異種計算機システムの周辺装置(通常、x86チップセット662のサウスブリッジに取り付けられる)の記録を保持することで、高性能x86プロセッサが休止している時、目覚めた後、正しいステータスを引き継ぐことが出来る。
【0067】
一方、高性能x86プロセッサ620が休止している時、ハイパーバイザプロセッサ610はFSBコマンドハンドラー6412とバスラッパー6414とによりそのコマンドをx86コマンドに翻訳してx86チップセットにアクセスする。基本的に、バスラッパー6414は非x86ハイパーバイザプロセッサ610が固有x86コマンドを「話す」よう通訳の役割をする。これはハイパーバイザプロセッサ610がx86アーキテクチャ資源に直接アクセスするのを、高性能プロセッサ620が休止しているか否かにかかわらず可能にする。
【0068】
図11は本発明の好適な実施形態に係る異種計算機システムの回路ブロック図を概略的に示す。この実施形態では、ブリッジ論理回路7400は僅かに異なる論理回路構成を有する。バススイッチ7407は4方向スイッチであり、ハイパーバイザプロセッサ710と高性能x86プロセッサの両方のx86アーキテクチャへの直接アクセスをなお提供する。しかし、コマンド翻訳論理回路としてのコマンドハンドラー7412とハイパーバイザ動作論理回路としての周辺装置ステータスマップ部7438はバススイッチ7407の第4ポートに接続されている。この例ではコマンドハンドラー7412は下記のタスクを担当する。
1.コマンド待ち行列管理とコマンド解析
2.x86コマンドの対応するARMコマンドへの翻訳
3.ARMコマンドの対応するx86コマンドへの翻訳
4.x86ステータス保守
5.周辺装置への直接又は間接アクセス
【0069】
周辺装置ステータスマップ部7438は下記のタスクを担当する。
1.ARMプロセッサのための周辺装置マッピング
2.周辺装置ステータスの保守
【0070】
バススイッチ7407は下記のタスクを担当する。
1.高速FSB(インテル、AMD、又はVia−Cyrix高性能プロセッサの)と比較的低速AMBAバス(ARMの)間のブリッジ
2.x86アーキテクチャへのx86直接又は間接アクセスのためのブリッジ
【0071】
高性能x86プロセッサは自身の作業RAM724を有してもよく、ハイパーバイザプロセッサ710は組込みプロセッサ712であり、自身の作業RAM714と内蔵ブートローダー716とを有してもよい。
【0072】
図12は本発明の好適な実施形態に係るブリッジ論理回路内の論理回路要素を概略的に示す。ブリッジ論理回路7400がx86チップセット及びシステムの2つのプロセッサと協働していることが示されている。ブリッジ論理回路7400は、x86コードを低電力ARMハイパーバイザのコードに翻訳及びその逆の翻訳をする図11と同じコマンドハンドラー7412を含む。コマンドハンドラー7412はARM制御下のダム論理回路かプロセッサベースコマンドハンドラーであってよい。
【0073】
図12の実施形態の周辺装置ステータス保守部7436は図11の周辺装置ステータスマップ部7438と僅かに異なる。自身のメモリ及び/又はレジスタを有し、周辺装置ステータス保守部7436はARMハイパーバイザがx86メインシステムの正確なステータスを完全に把握するのを可能にする同期部である。ステータス保守により(1)ARMがいつでも正しいシステムステータスを持ってx86のタスクを引き継ぐ(例えば、仮想演算処理技術により)ことが出来る(2)休止(スタンバイ/スリープ/ハイバネーション)から戻った時、x86プロセッサは正しいステータスを持ってARMのタスクを引き継ぐことが出来る(例えば、ARMがタスクに対して能力不足である場合)。周辺装置ステータス保守部7436はARM制御下で動作するダム論理回路かプロセッサベース保守部であってよい。
【0074】
図10は図9のブリッジ論理回路の論理回路要素の別の例をより詳細に概略的に示す。
図8〜図12を用いて上記で説明した異種計算機システムの全実施形態は、図13〜図15に示す3つのモードの1つで動作する。図13に示す第1モードは従来のデスクトップコンピュータの動作とかなり類似する。高性能x86プロセッサ620に複雑で処理能力が必要なCAD又は迫真のゲームジョブ(x86プロセッサ620はフル動作する)が割り当てられる場合がある。一方、ハイパーバイザプロセッサ610も活性で、計算機システムステータスを監視し保守して高性能x86プロセッサをいつでも休止させられるようにする。
【0075】
図において、FSBに沿いプロセッサ620とx86チップセット662とを指す2つ矢先の矢印は、プロセッサ620はx86システムへの通常のアクセスをすることを示す。一方、FSBに沿いハイパーバイザプロセッサ610とx86チップセット662とを指す2つ矢先の点線矢印は、ハイパーバイザ610は全システムの監視を継続していることを示す。
【0076】
図14に示す異種計算機システム動作モード2は、例えば内蔵ハイパーバイザARMプロセッサにより携帯アプリケーションを実行可能なx86ベーススマート携帯装置の場合を示す。スマート携帯装置がARMを使用して携帯コールする時、高性能x86プロセッサを休止にできる(幻のプロセッサ620で表わす)。
【0077】
図15に示す異種計算機システム動作モード3は、例えば移動時、ARMを使用して携帯コールすると同時にActive−Xを必要とする遠隔決済ウィンドウズ・アプリケーションを実行するx86ベーススマート携帯装置の場合を示す。この場合、ハイパーバイザプロセッサ610は活性で、軽い通信タスクを実行しながら、同時にシステムステータスを監視し保守する。一方、高性能x86プロセッサ620も活性で、割り当てられた遠隔決済タスクを実行する。ARMアプリケーションとx86アプリケーションがそれぞれ、例えばAndroidとWindows OSの下で同じ異種計算機システム表示画面上で同時に実行され、互いにデータを交換することも出来る(同じハードウェア上に統合され継ぎ目なく同時に実行される混合OSソフトウェアアプリケーションのシナリオ、下記で説明する)。
【0078】
C:本異種計算機システムのための起動アルゴリズム
図16〜図19は本異種計算機システムを起動するための制御アルゴリズムを示す。電源切断状態から本計算機システムを起動する4つのルートが可能である。
モードA:低電力ハイパーバイザプロセッサシステムだけが起動される。
モードB:ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動する。
モードC:高性能x86プロセッサシステムだけが起動される。
モードD:高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動する。
【0079】
モードA:
ハイパーバイザプロセッサだけを起動するシーケンスを図16に示す。
ステップ1:
1a:第1に周辺装置ステータス保守部(PSM)がBIOSをアクセスする。
1b:次に周辺装置リスト及びマップテーブルがシステムBIOS情報に基づいて更新される。
1c:次に低電力ハイパーバイザが起動し、内部バス上の周辺装置を起動し、周辺装置割込みサービスを開始する。
ステップ2:
2a:第1にPSMがIRQを低電力ハイパーバイザプロセッサへ送信する。
2b:次に低電力ハイパーバイザプロセッサは周辺装置保守サービスを開始する。
ステップ3:
3a:低電力ハイパーバイザプロセッサは本システムに接続された全周辺装置を起動する。
【0080】
モードB:
ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動するシーケンスを図17に示す。
ステップ1:
1a:低電力ハイパーバイザが起動信号をFSBコマンドハンドラーに送信する。
1b:FSBコマンドハンドラーはリセット命令を高性能x86に送信する。
ステップ2:
2a:FSBコマンドハンドラーはPSMに必要なシステム情報を要求する(PSMはx86プロセッサにとってBIOS)。
2b:FSBコマンドハンドラーは必要な情報を高性能x86プロセッサの起動中に高性能x86プロセッサに提供する。
ステップ3‐1:間接アクセス
3‐1a:高性能x86は間接アクセスのためのFSBコマンドを送信する。
3‐1b:低電力ハイパーバイザプロセッサはプロクシとして働き、高速x86間接アクセスコマンドを実行する。
ステップ3‐2:直接アクセス
3‐2a:高性能x86は直接アクセスのためのFSBコマンドを送信する。
3‐2b:PSMは直接アクセスを監視する。
【0081】
モードC:
高性能x86プロセッサだけを起動するシーケンスを図18に示す。これは本異種計算機システムが高性能x86だけを起動させる場合、起動のデフォルトモードであり、ファームウェア制御なしで純粋なハードウェアで実現できる。
ステップ1:
1a:高速データスイッチはモードをリセットしバイパス混成ブリッジサブシステムとして働く(これは本異種システムが高性能x86だけを起動させる場合のデフォルトモードであり、ファームウェア制御なしで純粋なハードウェアで実現できる)。
ステップ2:
2a:高性能x86は通常どおり起動する。
【0082】
モードD:
高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動するシーケンスを図19に示す。
ステップ1:
1a:PSMはBIOSと情報を同期する。
1b:PSMは周辺装置リスト及びマップテーブルを更新する。
ステップ2:
2a:低電力ハイパーバイザが起動し、内部バスに接続された周辺装置を起動し、割込みサービスを開始する。
ステップ3:
3a:PSMがIRQを低電力ハイパーバイザへ送信する。
3b:低電力ハイパーバイザは周辺装置保守サービスを開始する。
ステップ4:
4a:低電力ハイパーバイザはブリッジ論理回路に通知し、システムサービスを引き継ぐよう要求する。
【0083】
D:本異種計算機システムのためのスーパーオペレーティングシステム
ソフトウェアの観点から、本発明の異種計算機システムの実施形態は、x86‐OS(例えばWindows又はLinux)とARM‐OS(例えばAndroid)の両方の元のバージョンをソフトウェアシステム内の異種ハイパーバイザ層上で実行する。この異種ハイパーバイザ層の機能は、本計算機システムのハードウェア上の2つの活性なOSの共存を可能にし、両方のアプリケーションの同時実行のために2つのOS間の継ぎ目のない通信を可能にする事である。
【0084】
これを実現するために、x86‐ARM上で動く一般的なOSのための異種ハイパーバイザ層ソフトウェアの試験的なバージョンが作成されて試験に成功した。x86用Windows及びARM用Androidのためのハイパーバイザ層のバージョンが試験された。これらの試験的な異種ハイパーバイザ層ソフトウェアの改訂バージョン、即ちスーパーOSは異種計算機システムハードウェアのARMとx86プロセッサを並列に動作させることができ、2つの異なるOSのソフトウェアアプリケーションを支援する。
【0085】
従って、本発明の異種計算機システム上で、2つの異なるOSが起動され、同時に動作し、それぞれ自身のアプリケーションを支援できる。1つのOSのアプリケーションを他のOS上で実行でき、異なるOSの2つのアプリケーションが互いに継ぎ目なく直接対話できる。
【0086】
図20は本発明の異種計算機システムのためのスーパーOSを概略的に示す。このようなスーパーOSは従来のOS、例えばWindows、Linux、Solaris、スマート携帯装置用のAndroidなどを自身の下にサブOSとして配置する。これらの従来のOSはスーパーOSの下で動作する場合、変更される必要がない。これらのOSにとって、これらが実行される異種計算機システムハードウェアは、これらが通常実行される従来のx86ハードウェアと全く変わらない。スーパーOSが本異種計算機システム上で起動した後、2つの異なるOSが同じハードウェア上で同時に活性であり、両方のOSのソフトウェアアプリケーションを継ぎ目なく同時に支援することが出来、両者間のデータ交換を可能にする。
【0087】
スーパーOSの構成のために、異種ハイパーバイザ層が作成され、OSとハードウェア層の間に挿入され、その2つを繋ぐ。本異種計算機システム技術のこのソフトウェアアーキテクチャにより、継ぎ目のないクロスOSソフトウェアアプリケーションが可能である。例えば、ウィンドウズ・ワードはx86ハードウェア上のWindowsOS上で直接動作できる。また、ARMプロセッサは異種ハイパーバイザ層を介する仮想演算処理によりワードを実行できる。これを実現するために、既存のソフトウェア技術、例えばオープンソース仮想演算処理技術を完全に利用する。
【0088】
図21〜図24は図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。図20のスーパーOSが立ち上げる自身の4つのモードは下記を含む。
モードA:低電力ハイパーバイザプロセッサシステムだけが起動される。
モードB:ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動する。
モードC:高性能x86プロセッサシステムだけが起動される。
モードD:高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動する。
【0089】
ハイパーバイザプロセッサOSだけを起動するシーケンスを図21に示す。このモードはハイパーバイザプロセッサだけ用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備してソフトウェアアプリケーション、例えばAndroid又はLinuxを実行できるようにする。起動シーケンスは下記を含む。
1.ハイパーバイザプロセッサ(ARM)を電源投入する。
2.ブリッジは自身に直接接続された全周辺装置、例えば作業RAM(x86チップセットのサウスブリッジに通常接続されるコンピュータ周辺装置と区別される)を初期化する。
3.ハイパーバイザプロセッサ(ARM)がブートローダーをロードする。
4.ブートローダーが異種ハイパーバイザ層パートAをロードする。
5.異種ハイパーバイザ層パートAがOS1をロードする。
【0090】
ハイパーバイザプロセッサOSが活性化された後、高性能x86プロセッサOSを起動するシーケンスを図22に示す。このモードはハイパーバイザプロセッサOS及び高性能x86プロセッサOS用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備して同時で継ぎ目のないクロスOSソフトウェアアプリケーションを可能にする。起動シーケンスは下記を含む。
1.ハイパーバイザプロセッサを電源投入する。
2.ブリッジは自身に直接接続された全周辺装置を起動する。
3.ハイパーバイザプロセッサがブートローダーをロードする。
4.ブートローダーが異種ハイパーバイザ層パートAをロードする。
5.異種ハイパーバイザ層パートAがOS1をロードする。
6.異種ハイパーバイザ層パートAが高速x86を電源投入する。
7.高速x86が異種ハイパーバイザ層パートBをロードする。
8.異種ハイパーバイザ層パートBがOS2をロードする。
【0091】
高性能x86プロセッサOSだけを起動するシーケンスを図23に示す。起動シーケンスは下記を含む。
1.高性能x86を電源投入する。
2.ブリッジがバイパス混成ブリッジサブシステムとして働く。
3.高性能x86がBIOS、EFI、又はUEFIをロードする。
4.高性能x86が異種ハイパーバイザ層パートBをロードする。
5.異種ハイパーバイザ層パートBがOS2をロードする。
【0092】
高性能x86プロセッサOSが活性化された後、ハイパーバイザプロセッサOSを起動するシーケンスを図24に示す。このモードはハイパーバイザプロセッサOS及び高性能x86プロセッサOS用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備して同時で継ぎ目のないクロスOSソフトウェアアプリケーションを可能にする。起動シーケンスは下記を含む。
1.高性能x86を電源投入する。
2.ブリッジがバイパス混成ブリッジサブシステムとして働く。
3.高性能x86がBIOS又はEFI又はUEFIをロードする。
4.高性能x86が異種ハイパーバイザ層パートBをロードする。
5.異種ハイパーバイザ層パートBがOS2をロードする。
6.ブリッジ(PSM)はBIOSと同期し自身に接続されたx86チップセットを除く全周辺装置を起動する。
7.異種ハイパーバイザ層パートBがハイパーバイザプロセッサを電源投入する。
8.ハイパーバイザプロセッサがブートローダーをロードする。
9.ブートローダーが異種ハイパーバイザ層パートAをロードする。
10.異種ハイパーバイザ層パートAが異種ハイパーバイザ層パートBにハイパーバイザサービスを引き継ぐよう知らせる。
11.異種ハイパーバイザ層パートAがOS1をロードする。
12.OS1がシステムサービスを引き継ぐ。
【0093】
上記は特定の実施形態の完全な説明であるが、様々な変形、代替え構成、及び等価物を使用してもよい。例えば、本異種計算機システムの同じ物理的ハードウェア上にハイパーバイザプロセッサと高性能プロセッサとを有する例を使用して本発明を説明した。しかし、プロセッサはクラウドコンピューティングにおけるように物理的に離され2つ以上の位置に存在してもよいことは容易に理解できる。このような場合、スーパーOSの異種ハイパーバイザソフトウェア層の高性能プロセッサ用とハイパーバイザプロセッサ用のパートAとパートBは通信手段、クラウドコンピューティングにおけるインターネット、を介して接続されうる。従って、上記説明及び図は本発明の範囲を限定すると解釈されるべきでない。
【符号の説明】
【0094】
100、200、300 異種計算機システム
110、210、310 ハイパーバイザプロセッサ
120、220、320 高性能プロセッサ
134、234、334 ローカルプロセッサバス(FSB)
140、240、340 ブリッジ論理回路
162、262、362 プロセッサ支援論理回路
【技術分野】
【0001】
本発明は、環境に配慮した演算処理、即ち演算消費電力の最小化に概ね関する。特に、本発明は、最小の演算消費電力で高性能演算処理する異種計算機システムを実現するようブリッジ論理回路を介して標準のx86アーキテクチャに加えられた低電力マスタープロセッサを有する異種計算機に関する。
【背景技術】
【0002】
様々な種類の計算機が現代文明の不可欠な装置となっている。インテルx86(元のアーキテクチャは米国インテル社により設計され米国AMD社により最新の64ビットCISCアーキテクチャに進化している)は長く計算機の主流を支配してきた。一方、商業上重要性のある非x86計算機の世界は、スマートフォン及びタッチスクリーン装置を含む携帯演算装置においてARMプロセッサ(英国ARM社により開発されたRISC・ARMアーキテクチャ)が現在優勢である。環境に配慮した(グリーンな)演算処理の観点から、x86と非x86演算処理の両者の問題は下記の通りである。
【0003】
x86デスクトップの休止消費電力を削減するグリーンな演算処理が必要とされている。x86演算処理は演算能力を必要とするアプリケーションに適している。数億の家庭及びオフィスのデスクトップ及び携帯計算機、専門家用の高性能ワークステーション、及び様々なネット商取引用のサーバーが全世界で設置されており、演算エネルギー消費が環境問題となっている。主要な問題の1つは、演算処理アイドリング(計算機は使用されていないが遮断されていない状態)に関する。
【0004】
消費電力削減の努力、例えば米国で始まり多くの国で採用されあるレベルの省電力を達成する国際規格であるエネルギースターが存在する。x86系主流計算機業界も標準電力管理を有する。例えば、オープン業界標準であるACPI(Advanced Configuration and Power Interface)はオペレーティングシステムが計算機ハードウェアの省電力機能を直接制御するのを可能にする。
【0005】
しかし、x86系主流デスクトップ及びラップトップは、内蔵された不便で限定された電力管理機能のため、大多数のユーザにとって真にグリーンな動作を実現するのがしばしば困難である。多くの計算機ユーザにとって、ACPIのスリープ/スタンバイ/ハイバネーション電力管理モードは複雑で、計算機が使用に便利で省電力であるよう最良パラメータ設定に調整する仕方を理解しづらい。一方、より高性能な演算処理、例えば複数のセッションの仮想演算処理を含む演算処理の場合、円滑な電力管理をできず、ACPIは計算機をクラッシュさせるかVMセッションを扱うのが困難であり易い。
従って、その巨大な数のためにデスクトップによる大幅なエネルギー節約の大きな余地が存在する。
【0006】
x86系スマート携帯装置を実用的にするグリーンな演算処理が必要とされている。また、標準x86業界において入手可能な電力管理技術の不完全さのために、x86系スマートパーソナル装置(例えば、x86系携帯電話)はバッテリー持続時間が短く実用的でない。実際、商業上のx86系スマートフォンは存在しない。大多数のx86系ラップトップ計算機は移動中バッテリーで一生懸命に丸一日働き続けるのに問題が生じる。その結果、移動中、x86アプリケーションソフトウェアにアクセスするのが不便である。
【0007】
x86ソフトウェアベースにアクセスできる非x86装置が必要とされている。ARMプロセッサは携帯のために必要な省電力アプリケーション、特にスマートフォンアプリケーションのために開発されたが、重要な計算アプリケーションのためではない。本質的に、x86ソフトウェアベースへの実際的な直接アクセスはできない。ウィンドウズ(登録商標)・ソフトウェアは日常生活及びビジネスの多くの面において依然優勢であるので、x86アプリケーションへの非x86のアクセスの困難さは不便を引き起こす。移動中か事務所にいるユーザは、ARM優勢携帯及びx86優勢ウィンドウズ・アプリケーションの両方にアクセスできるよう両方のハードウェアを手元に持つ必要がある。
【0008】
混在アプリケーションへの同時の、統合された、継ぎ目のないアクセスのためのクロスOS計算機システムが必要とされている。x86ウィンドウズとARMスマートフォンとのアプリケーションの両方へのアクセスが、多くの人にとって日常より必要になるとともに、両方への同時アクセスを提供する計算機装置の必要性が現実になっている。現在のx86系アーキテクチャ(及び幾つかの非x86)は、仮想演算処理技術によりウィンドウズと非ウィンドウズとのソフトウェアアプリケーションを同じ計算機ハードウェア上で同時に実行可能である。例えば、x86計算機は、複数のオペレーティングシステムの1つをそれぞれ実行する複数のゲスト仮想計算機を支援するLinux(登録商標)、Windows(登録商標)、又は他のホストオペレーティングシステムを有してよい。しかし、非x86ゲストOSの命令セットのホストプロセッサによるエミュレーションは、処理能力を消費する。これはデスクトップにとって許容できるが、スマート携帯装置にとってバッテリー持続時間のため許容できない。
【0009】
特に、携帯電話とパソコンとの機能を結合するために、Cuppsらは一連の米国特許及び特許出願においてx86系アーキテクチャとARMプロセッサ系組込みシステムとのハードウェアを結合した電子装置を開示している。例えば、特許文献1において、CuppsらはARM等の低電力システムプロセッサを本質的にx86系計算機である装置全体のコントローラとして働くよう使用する装置を開示している。
【0010】
特許文献1の電子装置は、本質的にPCプロセッサを備えるx86計算機に携帯電話組込みARMプロセッサを組み込んだ電子装置である。ARMプロセッサは元のPCプロセッサと同様にx86アーキテクチャのノースブリッジとサウスブリッジに接続されている。特許文献1は、低電力ARMシステムプロセッサが電子装置のx86アーキテクチャの高性能PCプロセッサの上位のマスタープロセッサとして働くことが出来ることを開示している。
【0011】
しかし、ノースブリッジの高速バス(PCI‐e)にx86アーキテクチャの表示コントローラ及びメモリサブシステムと同様にARMプロセッサを配置することで、特許文献1の電子装置は装置全体に対して限定されたマスター制御を有する。実際、装置内でのARMプロセッサのバス接続は、ARMプロセッサを電子装置全体の最高マスタープロセッサではなく、標準x86アーキテクチャにおけるバスマスターに分類する。このシステムアーキテクチャでは、PCプロセッサの下のメインx86アーキテクチャは、例えばACPIの下で完全で適切な電力管理ステータスを維持しなければならないので、ステータスの完全性を破る僅かな中断もデータ喪失を引き起こし且つ再起動が必要になる。頻繁に、特許文献1の装置内のARMプロセッサは、PCプロセッサの処理能力を必要とする重いタスクの場合、PCプロセッサメインx86システムを再起動する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】米国特許出願公開第2002/0173344号明細書
【発明の概要】
【発明が解決しようとする課題】
【0013】
従って、演算能力を犠牲にすることなく演算消費電力を最小化しグリーンなx86コンピュータを実現する異種計算機システムが必要とされている。
【0014】
また、演算消費電力を最小化し、1回の充電でバッテリーで1日以上動作する実用的なx86系スマート携帯装置を実現する異種計算機システムが必要とされている。
【課題を解決するための手段】
【0015】
本発明は上記及び他の目的を達成するために、x86プロセッサとx86演算処理アーキテクチャとを有するx86コアと、x86プロセッサより低い性能を有するハイパーバイザプロセッサと、該ハイパーバイザプロセッサをx86コアにx86プロセッサのローカルバスを介して接続するブリッジ論理回路とを備え、該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有するソフトウェアタスクを実行し、該x86プロセッサを休止(スリープ/ハイバネーション/遮断)にし、該ハイパーバイザプロセッサはx86プロセッサを起こして自身が処理するのに不十分な処理能力を有するソフトウェアタスクを実行させる異種計算機システムを提供する。
【0016】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、1つ以上の第1プロセッサと、該1つ以上の第1プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の第1プロセッサより少ない電力を消費する第2プロセッサとを備える。該プロセッサ支援論理回路に支援された該第2プロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の第1プロセッサを電力節約状態にする。
【0017】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを備える。該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【0018】
更に本発明は上記及び他の目的を達成するために、ソフトウェアを実行するための異種計算機システムを提供する。該異種計算機システムは、ローカルプロセッサバスを有する1つ以上の高性能プロセッサと、該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサと、該ハイパーバイザプロセッサを該プロセッサ支援論理回路に該ローカルプロセッサバスを介して接続するブリッジ論理回路とを備える。該ブリッジ論理回路を介して接続された該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該休止状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが両方のプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する。
【図面の簡単な説明】
【0019】
【図1】標準x86アーキテクチャにブリッジ回路チップを介して付加されたハイパーバイザプロセッサを有する本発明の異種計算機システムの実施形態のブロック図を概略的に示す。
【図2】本発明の異種計算機システムの別の実施形態、標準x86アーキテクチャに付加されるハイパーバイザプロセッサコア及びその必要なブリッジ論理回路が同じ半導体チップ上に作られた実施形態のブロック図を概略的に示す。
【図3】本発明の異種計算機システムの更に別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上に作られたハイパーバイザプロセッサコア及び必要なブリッジ論理回路を有する実施形態のブロック図を概略的に示す。
【図4】本発明の異種計算機システムの別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上でハイパーバイザプロセッサとして働く低電力x86コアを有する実施形態のブロック図を概略的に示す。
【図5】本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。
【図6】本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。
【図7】本発明の異種計算機システムの構成のために使用されるブリッジの概念を概略的に示す。
【図8】本異種計算機システムにおけるハイパーバイザプロセッサとx86アーキテクチャの主プロセッサとのブリッジ論理回路によるx86チップセットの前側バスへの接続を概略的に示す。
【図9】本発明の好適な実施形態に係るブリッジ論理回路の基本機能要素を概略的に示す。
【図10】図9のブリッジ論理回路の論理回路要素をより詳細に概略的に示す。
【図11】本発明の好適な実施形態に係る異種計算機システムの回路ブロック図を概略的に示す。
【図12】本発明の好適な実施形態に係るブリッジ論理回路内の論理回路要素を概略的に示す。
【図13】図8〜図12の異種計算機システムの動作モードを示す。
【図14】図8〜図12の異種計算機システムの動作モードを示す。
【図15】図8〜図12の異種計算機システムの動作モードを示す。
【図16】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図17】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図18】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図19】本異種計算機システムを起動するための制御アルゴリズムを示す。
【図20】継ぎ目のないクロスOSソフトウェアアプリケーションのために本異種計算機システムを動作させるスーパーOSを概略的に示す。
【図21】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図22】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図23】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【図24】図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。
【発明を実施するための形態】
【0020】
本発明の独創的な計算機システムは深くグリーンな演算処理を提供する異種プロセッサシステムに基づいている。低電力マスター「ハイパーバイザ」プロセッサを主流標準x86アーキテクチャにブリッジ論理回路を介して加えて、グリーンで高性能な演算処理のための高性能で省エネルギーの異種計算機システムを構成する。
【0021】
この独創的な計算機システムはx86演算処理における消費電力を可能な限り削減して、(1)x86優勢主流演算処理全体が大幅な炭素排出削減に貢献でき、(2)膨大なx86ソフトウェアベースが真に実際上、携帯での使用のために携帯ユーザからアクセス可能となるようにする。この独創的な異種計算機システムはクロスOS演算処理も実現して、異なるOSからソフトウェアアプリケーションへの同時の、統合された、継ぎ目のないアクセスを可能にする。
【0022】
言い換えると、本発明の異種計算機システムは、これらの課題に対処し2つ以上の主な目的を達成する。第1に、この計算機システムは携帯スマート装置への解決策、具体的には新タイプのスマートフォンを提供する。このスマートフォンは膨大な既存のx86アプリケーションソフトウェアベースへのアクセスが可能であり、同時に十分に省電力で丸一日以上バッテリーで動作できる。多くの商用旅行者にとって、このような携帯装置は重いスマートフォンとラップトップとのペアを置き換えるであろう。
【0023】
第2に、より重要であるが、本計算機システムはデスクトップ、ワークステーション、及びサーバーを含む主流計算機において深くグリーンな演算処理を実現できる。世界中の各計算機が寄与する省電力は集まると消費電力の巨大な削減になる。
【0024】
一方、これらの目的を達成すると同時に、本発明の異種計算機システムは、同じハードウェアを使用する異なるOSからソフトウェアアプリケーションへの同時の、統合された、継ぎ目のないアクセスを可能にする。
【0025】
なお、本明細書において用語「x86アプリケーション」は、x86ハードウェアアーキテクチャで使用可能な様々なOSの下で実行可能な広義の意味のx86ソフトウェアアプリケーション全てを指す。従って、この用語は現在x86アーキテクチャでサポートされているWindows、Linux、Mac OS、Solaris等のOS用に書かれた全てのソフトウェアアプリケーションを意味する。
【0026】
また、演算処理における「ハイパーバイザ」は通常、仮想マシンモニター(VMM)(ハードウェアよりもソフトウェア技術である)を意味する。しかし、本明細書においてこの用語は、本発明の非対称異種プロセッサシステムにおけるマスタープロセッサ、即ち低電力ARMを指すのにも使用される。マスタープロセッサは、システムの高性能であるが高電力消費の構成要素であるx86プロセッサ(基本的にマスターARMの下のスレーブプロセッサ)を監督する。この用語は、マスタープロセッサは実際本発明のソフトウェアシステムに必然的に組み込まれた仮想マシンを監視し制御するので選択されている。
【0027】
ARMマスタープロセッサは、概念的に本発明の異種計算機システムの主ハードウェアであるx86ハードウェアを監督するx86プロセッサより1レベル高いので、そう呼ばれる。これは、マスターARMはそのスレーブx86(主x86ハードウェアを監督する)を「ハイパーバイズ」する事を意味する。
【0028】
また、用語「高性能プロセッサ」は標準x86アーキテクチャ内の主x86プロセッサを指すために使用される。こう呼ばれるのは本異種計算機システムにおけるx86プロセッサは大量の数字を処理するジョブを担当する事実を反映する。
【0029】
計算機が処理能力を犠牲にすることなく電力消費を最小化できるための解決策を見つけ出すことは、勿論既知の技術課題であり、既知の方策がある。携帯演算処理(ラップトップ、タッチスクリーンコンピュータ、スマートフォン等)では、出来るだけ長く動作を続ける(移動中、一日以上働き続ける)ために電力管理にうまく対処しなければならない。主流デスクトップコンピュータは、多量に世界中に設置されているので電力管理は重要であり、乗用車のMPG(燃費)性能に匹敵する世界的な環境問題である。
【0030】
しかし、従来の電力管理はx86アーキテクチャを実際の移動時アプリケーションのために十分に省電力で動かせるという目標を達成できない。これは今日のx86の限界であり、x86はそのようには設計されていない。
【0031】
解決策は異種プロセッサという概念に存在する。このような異種計算機システムが商業上成功するためには、計算機システムは出来る限り既存の業界標準と互換性がなければならない。非常に大きな勢力を有するWintelを変える事を考えるのは実際的でない。異種計算機システムという解決策は既存物と適合し、その逆であってはならない。これはハードウェアとソフトウェアの両方において調整は出来る限り僅かでなければならない事を意味する。
【0032】
A:ブリッジ論理回路を含む異種計算機システム
システムハードウェア・アーキテクチャの観点から、本発明の異種計算機システムは、標準x86アーキテクチャのローカル(前側)バスに存在するハイパーバイザプロセッサを有する。図1〜図4を参照。これは上記した特許文献1の電子装置(システムプロセッサをシステムバスを介してx86アーキテクチャのノースブリッジに接続する)とは基本的に異なる。
【0033】
図1は標準x86アーキテクチャにブリッジ回路チップを介して付加されたハイパーバイザプロセッサを有する本発明の異種計算機システムの実施形態のブロック図を概略的に示す。本発明の好適な実施形態において、異種計算機システム100は、x86CPU120と支援x86チップセット162とを含む完全なx86コンピュータを自身だけで構成する標準x86アーキテクチャ160を有する。
【0034】
ハイパーバイザプロセッサ110が標準x86アーキテクチャ160にブリッジチップ140を介して付加されている。ブリッジチップ140はx86アーキテクチャ160にx86CPUの前側バス(FSB)134を介して挿入されるハイパーバイザプロセッサ110、即ちARM、又は低電力x86プロセッサ(例えば、386又は286でも)のためのデジタル電子回路を含む。
【0035】
図7は本発明の異種計算機システムの構成のために使用されるこの概念のブリッジを概略的に示す。ブリッジ論理回路は、例えば図1のシステムにおいてハイパーバイザARMプロセッサ110を既存のx86系計算機システム160に接続するブリッジ素子(論理回路)を意味する。本発明の記載中、図7に概略的に示したブリッジ素子407は3方向データスイッチ408として機能する。言い換えると、データスイッチ408は多方向スイッチ、即ち3つのうちいずれかから残りの2つのどれかにデータを通過させる3方向T又はYスイッチ素子である。ブリッジ論理回路がハイパーバイザプロセッサをx86アーキテクチャに挿入する方法の詳細を下記に説明する。
【0036】
図2は本発明の異種計算機システムの別の実施形態、標準x86アーキテクチャに付加されるハイパーバイザプロセッサコア及びその必要なブリッジ論理回路が同じ半導体チップ上に作られた実施形態のブロック図を概略的に示す。本実施形態において、異種計算機システム200は、x86CPU220と支援x86チップセット262とを含む完全なx86コンピュータを自身だけで構成する標準x86アーキテクチャ260を有する。
【0037】
ARM又はx86コアの形態のハイパーバイザプロセッサ210を標準x86アーキテクチャ260にブリッジ論理回路240を介して付加されている。ブリッジ論理回路240はx86アーキテクチャ260にx86CPUの前側バス(FSB)234を介して挿入されるハイパーバイザプロセッサ210のためのデジタル電子回路を含む。本実施形態ではハイパーバイザプロセッサ210及び必要なブリッジ論理回路240は同じ半導体集積チップ、ハイパーバイザチップ242上に作られている。
【0038】
図3は本発明の異種計算機システムの更に別の実施形態のブロック図を概略的に示す。このシステムは標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上に作られたハイパーバイザプロセッサコア及び必要なブリッジ論理回路を有する。
【0039】
本実施形態では、異種計算機システム300はそれ自身、標準x86アーキテクチャであり、x86CPU344と支援x86チップセット362とを含む完全なx86コンピュータを自身だけで構成する。x86CPU344は従来のものの改良型であり、同じ半導体ダイ上のx86高性能プロセッサ、例えば最新多コアx86プロセッサ320と、ハイパーバイザARM又は低性能x86コア310と、ハイパーバイザと高性能コアとを前側バス334を介して橋渡しするブリッジ論理回路340とから基本的に構成されている。
【0040】
図4は本発明の異種計算機システムの別の実施形態、標準x86コンピュータボードのCPUソケットに直接差し込まれる多コアx86プロセッサの同じ半導体上でハイパーバイザプロセッサとして働く低電力x86コアを有する実施形態のブロック図を概略的に示す。
【0041】
本実施形態では、異種計算機システム400はそれ自身、標準x86アーキテクチャであり、x86CPU446と支援x86チップセット462とを含む完全なx86コンピュータを構成する。x86CPU446は従来のものの別の改良型であり、同じ半導体ダイ上のx86高性能プロセッサコア421、422と、ハイパーバイザ低電力x86コア410とから基本的に構成されている。ハイパーバイザコア410が高性能コア421、422の縮小された命令セットを実行し同じ内部バスを共有するので、ブリッジ論理回路は必要ない。ハイパーバイザを備える高性能プロセッサ446は標準x86コンピュータボードと同様、標準FSB434を介してx86チップセット462に接続されている。
【0042】
図1〜図4に示すように、本発明の異種計算機システムを構成する概念は、低電力マスター、現在最も適切そうな、ARMをx86コンピュータに付加することである。この概念は、低電力ハイパーバイザプロセッサを高電力消費で主力のx86をハイパーバイズするよう常時起こしておくことである。この概念では、x86はARMハイパーバイザプロセッサの下の純粋なスレーブであり、エネルギーを節約するために深い休止状態にされ、相対的に低性能プロセッサがシステムに割り当てられたタスクを処理できないか、不十分な時だけ活動させられる。
【0043】
異種計算機システムの使用の主目的に依り、x86システムは、例えば、CAD/CAMワークステーション用の最新のインテル第2世代Core(登録商標)技術プロセッサ系高性能システムであってもよい。または、選択されたx86は、頻繁に出張する人用のスマートフォン・ラップトップのペアを置き換える目的の携帯装置用のAtom(登録商標)系低電力システムであってもよい。
【0044】
既存のx86アーキテクチャを使用して、このような異種計算機システムハードウェアは容易に構成できる。商業用途の場合、図1〜図4に示す下記の解決策は、計算機業界サプライチェーンに沿って様々な計算機ハードウェア製造業者に適切である。
【0045】
図1及び図2の計算機システムアーキテクチャは、現在の計算機マザーボード及びシステムメーカにビジネスとなる。彼らはARMプロセッサとブリッジチップを調達して製品を製造することが出来る。しかし、図3のアーキテクチャは、現在のx86及び互換プロセッサメーカのどれもがこの技術を採用し彼らのプロセッサ半導体チップに調整を加えて彼らのバージョンの異種計算機システムCPUを作るか否かに依存する。
【0046】
これはビジネスの観点から可能である。現在のどのCPUメーカにとっても、この概念は既存の多コア製品への半導体変更をほとんど含まないが、この新しい概念のCPUによりコンピュータの性能に大きなインパクト(グリーン演算処理)がある可能性がある。図4は主流デスクトップ/ワークステーション演算処理に最も適切なこのようなアーキテクチャのイメージを示す。
【0047】
図5及び図6は本発明の計算機システムの別の実施形態、x86系スマート携帯装置のブロック図を概略的に示す。このようなx86スマート装置は携帯電話とx86系コンピュータの両方の機能を有し、携帯電話とラップトップ計算機との商用旅行者にとって必須のペアを置き換えることが出来る。
【0048】
本実施形態では、図1の例と同様に、異種計算機システムのスマートフォン+ラップトップバージョン500は、x86CPU520と支援x86チップセット562とを含む完全なx86コンピュータを自身だけで構成するx86アーキテクチャ560を有する。携帯電話機能を提供するために、携帯電話通信ユニット570がx86アーキテクチャの一部として含まれてよい。
【0049】
ハイパーバイザプロセッサ510は、x86アーキテクチャ560にx86CPUの前側バス(FSB)534を介して挿入されるハイパーバイザプロセッサ510、即ちARMのためのデジタル電子回路を含むブリッジチップ540を介してx86アーキテクチャ560に接続されている。
【0050】
図5に閉じた破線で示したように、x86スマート携帯装置500が携帯電話機能を働かせる時、x86CPU520と主x86チップセット562とを含むx86コア560全体を、ハイパーバイザARMプロセッサ510の下で動作する携帯電話通信ユニット570を除いて休止させることが出来る。
【0051】
一方、装置500がその携帯コンピュータを動作させ、例えば図6に示したようにウィンドウズ・アプリケーションを実行させる時、装置500の携帯電話通信ユニット570を除く全構成要素は活性化される。例えば、ネット決済アプリケーションはARMの監督の下のx86システムにより実行されうる。低電力ARMは常時監視を行い、バッテリーエネルギーの節約のために装置のx86部分を休止させうる時を決定する。
【0052】
グリーン演算処理を実現して図1〜図4に示した異種計算機システムのデスクトップ実施形態がエネルギーを節約でき、図5及び図6に示したx86スマート携帯装置がバッテリーエネルギーを少しずつ消費して移動中、丸一日働き続け、両方が同時の、統合された、継ぎ目のない混合OSソフトウェアアプリケーション群を有するために、上記ハードウェアは対応するシステムソフトウェアを有し上記の全てを実現する必要がある。このようなソフトウェアシステムを下記に詳細に説明する。
【0053】
B:異種計算機システムのためのブリッジ論理回路
図8は本異種計算機システムにおけるハイパーバイザプロセッサ610と主x86プロセッサ620とのブリッジ論理回路6400によるx86チップセット662の前側バス(FSB)への接続を概略的に示す。本発明の異種計算機システムの基本概念は監督マイクロプロセッサ、即ちハイパーバイザプロセッサを高能力のマイクロプロセッサ、即ちx86プロセッサを既に有する高性能コンピュータに導入することである。この概念はハイパーバイザプロセッサは出来るだけ少ない電力を消費して、本異種計算機システムの電源がONの間、常時活性であり高性能x86サブシステムの計算処理を管理する。この異種計算機システムでは、ハイパーバイザプロセッサが割り当てられた演算タスクが低電力ハイパーバイザプロセッサの能力を超えていると判断した時だけ、高性能x86サブシステムを休止から抜け出させて働かせる。
【0054】
そうするために、図1〜図4の実施形態で説明し、図8でより詳細に示すように、ブリッジ論理回路6400は、x86高性能プロセッサ620と標準x86コンピュータの前側バス上のx86チップセット662との間に存在する。標準x86コンピュータ内の前側バスを介するx86プロセッサのx86チップセットのノースブリッジへの直接接続は、ブリッジ論理回路6400により遮られる。x86プロセッサ620とノースブリッジ6624との間の元のFSB接続は、なお存在するが、ブリッジ論理回路6400の制御の下で2つの部分、x86プロセッサ側のFSB6452とチップセット側のFSB634に分割されている。一方、同様にブリッジ論理回路6400は付加されたハイパーバイザプロセッサ610とx86チップセット662のノースブリッジ6624に接続されたFSB634との間に存在する。
【0055】
ブリッジ論理回路6400はハイパーバイザ動作論理回路6410、プロセッサ命令セット/計算機コマンド翻訳論理回路又はプロセッサ言語翻訳論理回路6430、及び高速バススイッチ6407を含む。バススイッチ6407はx86プロセッサFSBに適合した切替え速度を有する。図7に示すように、バススイッチ6407は3方向スイッチであるのが好ましく、うち1つのポート(図ではA)はx86プロセッサ620のFSB6452に直接接続されている。バススイッチ6407の第2ポート(B)はプロセッサ言語翻訳論理回路6430を介してハイパーバイザプロセッサ610のプロセッサバス6454に接続されている。バススイッチ6407の第3ポート(C)はチップセット662のノースブリッジのFSB634に直接接続されている。
【0056】
高速バススイッチ6407によるこのような接続はx86高性能プロセッサ620と低電力ハイパーバイザプロセッサ610の両方がx86アーキテクチャのノースブリッジ6624にFSB634を介してアクセスするのを可能にする。バススイッチ6407がポートAとCを接続するよう設定されると、x86高性能プロセッサ620は通常のx86コンピュータにおけるのと同様にノースブリッジに直接接続できる。
【0057】
一方、バススイッチ6407がポートBとCを接続するよう設定されると、低電力ハイパーバイザプロセッサ610はx86チップセット662にアクセスできる。ハイパーバイザプロセッサ610が高性能x86プロセッサと同じ命令セットかx86プロセッサ命令セットのサブセットを実行する低電力x86プロセッサである場合、プロセッサ言語翻訳論理回路6430はx86命令セットの異なるレベル間の簡単な変換を提供しさえすればよい。
【0058】
しかし、低電力ハイパーバイザプロセッサ610が完全に異なる命令セットを実行するプロセッサ、例えばARM又はMIPSである場合、ハイパーバイザプロセッサ610はプロセッサ言語翻訳論理回路6430を使用して高性能x86プロセッサをエミュレートする必要がある。この場合、翻訳論理回路6430はハイパーバイザプロセッサ610個有コマンドを高性能x86プロセッサ620の等価なコマンド(高性能プロセッサ620個有命令)に翻訳又は変換する。
【0059】
本質的に、プロセッサ言語翻訳論理回路6430はx86プロセッサ言語(命令)とハイパーバイザ(例えばARM)プロセッサ言語(命令)との間の翻訳を行うことで、ハイパーバイザ610が計算機システムにおけるx86の活動を理解し完全に監視し、x86プロセッサ620はハイパーバイザ610から命令を受け取れる。また、翻訳論理回路6430は高速x86FSB634と低電力ハイパーバイザプロセッサ610の比較的低速のバス、例えばARM装置が通常採用するAMBA(Advanced Microcontroller Bus Architecture)バスとの間のデータ交換を同期させる。
【0060】
言い換えると、通常、より低い性能のハイパーバイザプロセッサの高性能x86アーキテクチャへのアクセスを可能にするために、ブリッジ論理回路6400は(1)プロセッサ言語と(2)バス通信電気信号との翻訳をするよう構成されなければならない。図9及び図10の例におけるようにバスラッパー6414はバスプロトコル変換を担当し、データバス幅、アドレスバス長、及びバス信号電気レベル、タイミング等の変換を実行する。
【0061】
図8に示した好適な実施形態では、全てのこのような変換をハイパーバイザ動作論理回路6410と一緒に実行できる。ハイパーバイザ動作論理回路6410はx86プロセッサの全活動を監視し、x86プロセッサが目覚めた後、動作を継ぎ目なく引き継げるようシステムステータスのコピーを維持する。ハイパーバイザ動作論理回路6410も、x86プロセッサ620が休止にされARMが仮想マシン、実行時コマンド/命令翻訳等の技術によりx86コードを実行する時、ARMコマンドをx86コマンドに翻訳できてもよい。
【0062】
なお、ブリッジ論理回路6400は低電力ハイパーバイザプロセッサ(ARM)により動作させられる受動デジタル論理回路か又はマイクロプロセッサベース能動論理回路であってよい。また、高性能x86プロセッサはインテル、AMD、又はCyrixプロセッサであってよく、低電力ハイパーバイザプロセッサはARM、MIPS、又は縮小x86コアであってよい。
【0063】
まとめると、ブリッジ論理回路スイッチ6407、及び論理回路6410、6430は一緒に働いてブリッジ機能を提供し、x86プロセッサ620はハイパーバイザプロセッサ610の制御の下でx86アーキテクチャ662に直接アクセスして本異種計算機システムに割り当てられた高性能タスクを実行する。一方、x86プロセッサ620が必要とされていない時、ハイパーバイザプロセッサ610はx86アーキテクチャ662に間接アクセスしてもよい。
【0064】
なお、本明細書中、本異種計算機システムのハイパーバイザ又は高性能プロセッサの、例えば「マイクロプロセッサ命令セット」における用語「命令セット」は、コンピュータアーキテクチャのプログラミングに関する部分であって、固有データタイプ、命令、レジスタ、アドレッシングモード、メモリアーキテクチャ、割込み・例外処理、及び外部I/Oを含む部分を意味する。また、本明細書中、本異種計算機システムのハイパーバイザ又は高性能プロセッサの、例えば「計算機コマンド」における用語「コマンド」は、計算機システムが実行できる演算処理を表す人工言語を意味する。
【0065】
図9は本発明の好適な実施形態に係るブリッジ論理回路の基本機能要素を概略的に示す。ブリッジ論理回路6400のプロセッサ命令セット翻訳論理回路6430の機能は周辺装置ステータス保守部6436、周辺装置ステータステーブル6432、及び周辺装置IRQ制御部6434により提供される。これは本異種計算機システムに取り付けられた周辺装置のステータスの記録を常に保持する。
【0066】
一方、ブリッジ論理回路6400のハイパーバイザ動作論理回路6410の機能はFSBコマンドハンドラー6412とバスラッパー6414とにより提供される。基本的にFSBコマンドハンドラー6412は高性能プロセッサ620により実行される計算機コマンドを監視して、上述のように周辺装置ステータスセットを維持して本異種計算機システムの周辺装置(通常、x86チップセット662のサウスブリッジに取り付けられる)の記録を保持することで、高性能x86プロセッサが休止している時、目覚めた後、正しいステータスを引き継ぐことが出来る。
【0067】
一方、高性能x86プロセッサ620が休止している時、ハイパーバイザプロセッサ610はFSBコマンドハンドラー6412とバスラッパー6414とによりそのコマンドをx86コマンドに翻訳してx86チップセットにアクセスする。基本的に、バスラッパー6414は非x86ハイパーバイザプロセッサ610が固有x86コマンドを「話す」よう通訳の役割をする。これはハイパーバイザプロセッサ610がx86アーキテクチャ資源に直接アクセスするのを、高性能プロセッサ620が休止しているか否かにかかわらず可能にする。
【0068】
図11は本発明の好適な実施形態に係る異種計算機システムの回路ブロック図を概略的に示す。この実施形態では、ブリッジ論理回路7400は僅かに異なる論理回路構成を有する。バススイッチ7407は4方向スイッチであり、ハイパーバイザプロセッサ710と高性能x86プロセッサの両方のx86アーキテクチャへの直接アクセスをなお提供する。しかし、コマンド翻訳論理回路としてのコマンドハンドラー7412とハイパーバイザ動作論理回路としての周辺装置ステータスマップ部7438はバススイッチ7407の第4ポートに接続されている。この例ではコマンドハンドラー7412は下記のタスクを担当する。
1.コマンド待ち行列管理とコマンド解析
2.x86コマンドの対応するARMコマンドへの翻訳
3.ARMコマンドの対応するx86コマンドへの翻訳
4.x86ステータス保守
5.周辺装置への直接又は間接アクセス
【0069】
周辺装置ステータスマップ部7438は下記のタスクを担当する。
1.ARMプロセッサのための周辺装置マッピング
2.周辺装置ステータスの保守
【0070】
バススイッチ7407は下記のタスクを担当する。
1.高速FSB(インテル、AMD、又はVia−Cyrix高性能プロセッサの)と比較的低速AMBAバス(ARMの)間のブリッジ
2.x86アーキテクチャへのx86直接又は間接アクセスのためのブリッジ
【0071】
高性能x86プロセッサは自身の作業RAM724を有してもよく、ハイパーバイザプロセッサ710は組込みプロセッサ712であり、自身の作業RAM714と内蔵ブートローダー716とを有してもよい。
【0072】
図12は本発明の好適な実施形態に係るブリッジ論理回路内の論理回路要素を概略的に示す。ブリッジ論理回路7400がx86チップセット及びシステムの2つのプロセッサと協働していることが示されている。ブリッジ論理回路7400は、x86コードを低電力ARMハイパーバイザのコードに翻訳及びその逆の翻訳をする図11と同じコマンドハンドラー7412を含む。コマンドハンドラー7412はARM制御下のダム論理回路かプロセッサベースコマンドハンドラーであってよい。
【0073】
図12の実施形態の周辺装置ステータス保守部7436は図11の周辺装置ステータスマップ部7438と僅かに異なる。自身のメモリ及び/又はレジスタを有し、周辺装置ステータス保守部7436はARMハイパーバイザがx86メインシステムの正確なステータスを完全に把握するのを可能にする同期部である。ステータス保守により(1)ARMがいつでも正しいシステムステータスを持ってx86のタスクを引き継ぐ(例えば、仮想演算処理技術により)ことが出来る(2)休止(スタンバイ/スリープ/ハイバネーション)から戻った時、x86プロセッサは正しいステータスを持ってARMのタスクを引き継ぐことが出来る(例えば、ARMがタスクに対して能力不足である場合)。周辺装置ステータス保守部7436はARM制御下で動作するダム論理回路かプロセッサベース保守部であってよい。
【0074】
図10は図9のブリッジ論理回路の論理回路要素の別の例をより詳細に概略的に示す。
図8〜図12を用いて上記で説明した異種計算機システムの全実施形態は、図13〜図15に示す3つのモードの1つで動作する。図13に示す第1モードは従来のデスクトップコンピュータの動作とかなり類似する。高性能x86プロセッサ620に複雑で処理能力が必要なCAD又は迫真のゲームジョブ(x86プロセッサ620はフル動作する)が割り当てられる場合がある。一方、ハイパーバイザプロセッサ610も活性で、計算機システムステータスを監視し保守して高性能x86プロセッサをいつでも休止させられるようにする。
【0075】
図において、FSBに沿いプロセッサ620とx86チップセット662とを指す2つ矢先の矢印は、プロセッサ620はx86システムへの通常のアクセスをすることを示す。一方、FSBに沿いハイパーバイザプロセッサ610とx86チップセット662とを指す2つ矢先の点線矢印は、ハイパーバイザ610は全システムの監視を継続していることを示す。
【0076】
図14に示す異種計算機システム動作モード2は、例えば内蔵ハイパーバイザARMプロセッサにより携帯アプリケーションを実行可能なx86ベーススマート携帯装置の場合を示す。スマート携帯装置がARMを使用して携帯コールする時、高性能x86プロセッサを休止にできる(幻のプロセッサ620で表わす)。
【0077】
図15に示す異種計算機システム動作モード3は、例えば移動時、ARMを使用して携帯コールすると同時にActive−Xを必要とする遠隔決済ウィンドウズ・アプリケーションを実行するx86ベーススマート携帯装置の場合を示す。この場合、ハイパーバイザプロセッサ610は活性で、軽い通信タスクを実行しながら、同時にシステムステータスを監視し保守する。一方、高性能x86プロセッサ620も活性で、割り当てられた遠隔決済タスクを実行する。ARMアプリケーションとx86アプリケーションがそれぞれ、例えばAndroidとWindows OSの下で同じ異種計算機システム表示画面上で同時に実行され、互いにデータを交換することも出来る(同じハードウェア上に統合され継ぎ目なく同時に実行される混合OSソフトウェアアプリケーションのシナリオ、下記で説明する)。
【0078】
C:本異種計算機システムのための起動アルゴリズム
図16〜図19は本異種計算機システムを起動するための制御アルゴリズムを示す。電源切断状態から本計算機システムを起動する4つのルートが可能である。
モードA:低電力ハイパーバイザプロセッサシステムだけが起動される。
モードB:ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動する。
モードC:高性能x86プロセッサシステムだけが起動される。
モードD:高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動する。
【0079】
モードA:
ハイパーバイザプロセッサだけを起動するシーケンスを図16に示す。
ステップ1:
1a:第1に周辺装置ステータス保守部(PSM)がBIOSをアクセスする。
1b:次に周辺装置リスト及びマップテーブルがシステムBIOS情報に基づいて更新される。
1c:次に低電力ハイパーバイザが起動し、内部バス上の周辺装置を起動し、周辺装置割込みサービスを開始する。
ステップ2:
2a:第1にPSMがIRQを低電力ハイパーバイザプロセッサへ送信する。
2b:次に低電力ハイパーバイザプロセッサは周辺装置保守サービスを開始する。
ステップ3:
3a:低電力ハイパーバイザプロセッサは本システムに接続された全周辺装置を起動する。
【0080】
モードB:
ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動するシーケンスを図17に示す。
ステップ1:
1a:低電力ハイパーバイザが起動信号をFSBコマンドハンドラーに送信する。
1b:FSBコマンドハンドラーはリセット命令を高性能x86に送信する。
ステップ2:
2a:FSBコマンドハンドラーはPSMに必要なシステム情報を要求する(PSMはx86プロセッサにとってBIOS)。
2b:FSBコマンドハンドラーは必要な情報を高性能x86プロセッサの起動中に高性能x86プロセッサに提供する。
ステップ3‐1:間接アクセス
3‐1a:高性能x86は間接アクセスのためのFSBコマンドを送信する。
3‐1b:低電力ハイパーバイザプロセッサはプロクシとして働き、高速x86間接アクセスコマンドを実行する。
ステップ3‐2:直接アクセス
3‐2a:高性能x86は直接アクセスのためのFSBコマンドを送信する。
3‐2b:PSMは直接アクセスを監視する。
【0081】
モードC:
高性能x86プロセッサだけを起動するシーケンスを図18に示す。これは本異種計算機システムが高性能x86だけを起動させる場合、起動のデフォルトモードであり、ファームウェア制御なしで純粋なハードウェアで実現できる。
ステップ1:
1a:高速データスイッチはモードをリセットしバイパス混成ブリッジサブシステムとして働く(これは本異種システムが高性能x86だけを起動させる場合のデフォルトモードであり、ファームウェア制御なしで純粋なハードウェアで実現できる)。
ステップ2:
2a:高性能x86は通常どおり起動する。
【0082】
モードD:
高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動するシーケンスを図19に示す。
ステップ1:
1a:PSMはBIOSと情報を同期する。
1b:PSMは周辺装置リスト及びマップテーブルを更新する。
ステップ2:
2a:低電力ハイパーバイザが起動し、内部バスに接続された周辺装置を起動し、割込みサービスを開始する。
ステップ3:
3a:PSMがIRQを低電力ハイパーバイザへ送信する。
3b:低電力ハイパーバイザは周辺装置保守サービスを開始する。
ステップ4:
4a:低電力ハイパーバイザはブリッジ論理回路に通知し、システムサービスを引き継ぐよう要求する。
【0083】
D:本異種計算機システムのためのスーパーオペレーティングシステム
ソフトウェアの観点から、本発明の異種計算機システムの実施形態は、x86‐OS(例えばWindows又はLinux)とARM‐OS(例えばAndroid)の両方の元のバージョンをソフトウェアシステム内の異種ハイパーバイザ層上で実行する。この異種ハイパーバイザ層の機能は、本計算機システムのハードウェア上の2つの活性なOSの共存を可能にし、両方のアプリケーションの同時実行のために2つのOS間の継ぎ目のない通信を可能にする事である。
【0084】
これを実現するために、x86‐ARM上で動く一般的なOSのための異種ハイパーバイザ層ソフトウェアの試験的なバージョンが作成されて試験に成功した。x86用Windows及びARM用Androidのためのハイパーバイザ層のバージョンが試験された。これらの試験的な異種ハイパーバイザ層ソフトウェアの改訂バージョン、即ちスーパーOSは異種計算機システムハードウェアのARMとx86プロセッサを並列に動作させることができ、2つの異なるOSのソフトウェアアプリケーションを支援する。
【0085】
従って、本発明の異種計算機システム上で、2つの異なるOSが起動され、同時に動作し、それぞれ自身のアプリケーションを支援できる。1つのOSのアプリケーションを他のOS上で実行でき、異なるOSの2つのアプリケーションが互いに継ぎ目なく直接対話できる。
【0086】
図20は本発明の異種計算機システムのためのスーパーOSを概略的に示す。このようなスーパーOSは従来のOS、例えばWindows、Linux、Solaris、スマート携帯装置用のAndroidなどを自身の下にサブOSとして配置する。これらの従来のOSはスーパーOSの下で動作する場合、変更される必要がない。これらのOSにとって、これらが実行される異種計算機システムハードウェアは、これらが通常実行される従来のx86ハードウェアと全く変わらない。スーパーOSが本異種計算機システム上で起動した後、2つの異なるOSが同じハードウェア上で同時に活性であり、両方のOSのソフトウェアアプリケーションを継ぎ目なく同時に支援することが出来、両者間のデータ交換を可能にする。
【0087】
スーパーOSの構成のために、異種ハイパーバイザ層が作成され、OSとハードウェア層の間に挿入され、その2つを繋ぐ。本異種計算機システム技術のこのソフトウェアアーキテクチャにより、継ぎ目のないクロスOSソフトウェアアプリケーションが可能である。例えば、ウィンドウズ・ワードはx86ハードウェア上のWindowsOS上で直接動作できる。また、ARMプロセッサは異種ハイパーバイザ層を介する仮想演算処理によりワードを実行できる。これを実現するために、既存のソフトウェア技術、例えばオープンソース仮想演算処理技術を完全に利用する。
【0088】
図21〜図24は図8〜図12に示した異種計算機システムの継ぎ目のないクロスOSソフトウェアアプリケーションを支援する動作モードを示す。図20のスーパーOSが立ち上げる自身の4つのモードは下記を含む。
モードA:低電力ハイパーバイザプロセッサシステムだけが起動される。
モードB:ハイパーバイザプロセッサシステムが活性化された後、高性能x86プロセッサが起動する。
モードC:高性能x86プロセッサシステムだけが起動される。
モードD:高性能x86システムが活性化された後、ハイパーバイザプロセッサシステムが起動する。
【0089】
ハイパーバイザプロセッサOSだけを起動するシーケンスを図21に示す。このモードはハイパーバイザプロセッサだけ用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備してソフトウェアアプリケーション、例えばAndroid又はLinuxを実行できるようにする。起動シーケンスは下記を含む。
1.ハイパーバイザプロセッサ(ARM)を電源投入する。
2.ブリッジは自身に直接接続された全周辺装置、例えば作業RAM(x86チップセットのサウスブリッジに通常接続されるコンピュータ周辺装置と区別される)を初期化する。
3.ハイパーバイザプロセッサ(ARM)がブートローダーをロードする。
4.ブートローダーが異種ハイパーバイザ層パートAをロードする。
5.異種ハイパーバイザ層パートAがOS1をロードする。
【0090】
ハイパーバイザプロセッサOSが活性化された後、高性能x86プロセッサOSを起動するシーケンスを図22に示す。このモードはハイパーバイザプロセッサOS及び高性能x86プロセッサOS用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備して同時で継ぎ目のないクロスOSソフトウェアアプリケーションを可能にする。起動シーケンスは下記を含む。
1.ハイパーバイザプロセッサを電源投入する。
2.ブリッジは自身に直接接続された全周辺装置を起動する。
3.ハイパーバイザプロセッサがブートローダーをロードする。
4.ブートローダーが異種ハイパーバイザ層パートAをロードする。
5.異種ハイパーバイザ層パートAがOS1をロードする。
6.異種ハイパーバイザ層パートAが高速x86を電源投入する。
7.高速x86が異種ハイパーバイザ層パートBをロードする。
8.異種ハイパーバイザ層パートBがOS2をロードする。
【0091】
高性能x86プロセッサOSだけを起動するシーケンスを図23に示す。起動シーケンスは下記を含む。
1.高性能x86を電源投入する。
2.ブリッジがバイパス混成ブリッジサブシステムとして働く。
3.高性能x86がBIOS、EFI、又はUEFIをロードする。
4.高性能x86が異種ハイパーバイザ層パートBをロードする。
5.異種ハイパーバイザ層パートBがOS2をロードする。
【0092】
高性能x86プロセッサOSが活性化された後、ハイパーバイザプロセッサOSを起動するシーケンスを図24に示す。このモードはハイパーバイザプロセッサOS及び高性能x86プロセッサOS用のソフトウェアアプリケーションを動作させる。起動手順は本異種計算機システムを準備して同時で継ぎ目のないクロスOSソフトウェアアプリケーションを可能にする。起動シーケンスは下記を含む。
1.高性能x86を電源投入する。
2.ブリッジがバイパス混成ブリッジサブシステムとして働く。
3.高性能x86がBIOS又はEFI又はUEFIをロードする。
4.高性能x86が異種ハイパーバイザ層パートBをロードする。
5.異種ハイパーバイザ層パートBがOS2をロードする。
6.ブリッジ(PSM)はBIOSと同期し自身に接続されたx86チップセットを除く全周辺装置を起動する。
7.異種ハイパーバイザ層パートBがハイパーバイザプロセッサを電源投入する。
8.ハイパーバイザプロセッサがブートローダーをロードする。
9.ブートローダーが異種ハイパーバイザ層パートAをロードする。
10.異種ハイパーバイザ層パートAが異種ハイパーバイザ層パートBにハイパーバイザサービスを引き継ぐよう知らせる。
11.異種ハイパーバイザ層パートAがOS1をロードする。
12.OS1がシステムサービスを引き継ぐ。
【0093】
上記は特定の実施形態の完全な説明であるが、様々な変形、代替え構成、及び等価物を使用してもよい。例えば、本異種計算機システムの同じ物理的ハードウェア上にハイパーバイザプロセッサと高性能プロセッサとを有する例を使用して本発明を説明した。しかし、プロセッサはクラウドコンピューティングにおけるように物理的に離され2つ以上の位置に存在してもよいことは容易に理解できる。このような場合、スーパーOSの異種ハイパーバイザソフトウェア層の高性能プロセッサ用とハイパーバイザプロセッサ用のパートAとパートBは通信手段、クラウドコンピューティングにおけるインターネット、を介して接続されうる。従って、上記説明及び図は本発明の範囲を限定すると解釈されるべきでない。
【符号の説明】
【0094】
100、200、300 異種計算機システム
110、210、310 ハイパーバイザプロセッサ
120、220、320 高性能プロセッサ
134、234、334 ローカルプロセッサバス(FSB)
140、240、340 ブリッジ論理回路
162、262、362 プロセッサ支援論理回路
【特許請求の範囲】
【請求項1】
ソフトウェアを実行するための異種計算機システムであって、
1つ以上の高性能プロセッサと、
該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを備え、
該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は
該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該電力節約状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は
該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する、異種計算機システム。
【請求項2】
前記1つ以上の高性能プロセッサのそれぞれと、前記ハイパーバイザプロセッサはx86プロセッサであり、同じ半導体チップ上に存在する請求項1に記載の異種計算機システム。
【請求項3】
前記1つ以上の高性能プロセッサのそれぞれはx86プロセッサであり、前記ハイパーバイザプロセッサはARMプロセッサであり、全て同じ半導体チップ上に存在する請求項1に記載の異種計算機システム。
【請求項4】
ソフトウェアを実行するための異種計算機システムであって、
ローカルプロセッサバスを有する1つ以上の高性能プロセッサと、
該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサと、
該ハイパーバイザプロセッサを該プロセッサ支援論理回路に該ローカルプロセッサバスを介して接続するブリッジ論理回路と
を備え、
該ブリッジ論理回路を介して接続された該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は
該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該電力節約状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は
該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが両方のプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する、異種計算機システム。
【請求項5】
前記ブリッジ論理回路は独立した半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項6】
前記ブリッジ論理回路は前記ハイパーバイザプロセッサと同じ半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項7】
前記ブリッジ論理回路、前記ハイパーバイザプロセッサ、及び前記1つ以上の高性能プロセッサは同じ半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項8】
前記1つ以上の高性能プロセッサのそれぞれはx86プロセッサである請求項4〜7のいずれかに記載の異種計算機システム。
【請求項9】
前記ハイパーバイザプロセッサはARMプロセッサである請求項4〜7のいずれかに記載の異種計算機システム。
【請求項10】
ソフトウェアを実行するための異種計算機システムであって、
1つ以上の第1プロセッサと、
該1つ以上の第1プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の第1プロセッサより少ない電力を消費する第2プロセッサと
を備え、
該プロセッサ支援論理回路に支援された該第2プロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の第1プロセッサを電力節約状態にする、異種計算機システム。
【請求項11】
前記第2プロセッサは前記1つ以上の第1プロセッサと異なる位置に存在する請求項10に記載の異種計算機システム。
【請求項12】
前記第1プロセッサのうち1つ以上は前記第1と第2プロセッサの残りと異なる位置に存在する請求項10に記載の異種計算機システム。
【請求項1】
ソフトウェアを実行するための異種計算機システムであって、
1つ以上の高性能プロセッサと、
該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサとを備え、
該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は
該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該電力節約状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は
該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが全てのプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する、異種計算機システム。
【請求項2】
前記1つ以上の高性能プロセッサのそれぞれと、前記ハイパーバイザプロセッサはx86プロセッサであり、同じ半導体チップ上に存在する請求項1に記載の異種計算機システム。
【請求項3】
前記1つ以上の高性能プロセッサのそれぞれはx86プロセッサであり、前記ハイパーバイザプロセッサはARMプロセッサであり、全て同じ半導体チップ上に存在する請求項1に記載の異種計算機システム。
【請求項4】
ソフトウェアを実行するための異種計算機システムであって、
ローカルプロセッサバスを有する1つ以上の高性能プロセッサと、
該1つ以上の高性能プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の高性能プロセッサより少ない電力を消費するハイパーバイザプロセッサと、
該ハイパーバイザプロセッサを該プロセッサ支援論理回路に該ローカルプロセッサバスを介して接続するブリッジ論理回路と
を備え、
該ブリッジ論理回路を介して接続された該プロセッサ支援論理回路に支援された該ハイパーバイザプロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の高性能プロセッサを電力節約状態にするか、又は
該ハイパーバイザプロセッサは該1つ以上の高性能プロセッサを該電力節約状態から抜け出させて、自身が処理するのに不十分な処理能力を有する該ソフトウェアのタスクを実行させるか、又は
該1つ以上の高性能プロセッサと該ハイパーバイザプロセッサとが両方のプロセッサの結合された処理能力を必要とする該ソフトウェアのタスクを同時に実行する、異種計算機システム。
【請求項5】
前記ブリッジ論理回路は独立した半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項6】
前記ブリッジ論理回路は前記ハイパーバイザプロセッサと同じ半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項7】
前記ブリッジ論理回路、前記ハイパーバイザプロセッサ、及び前記1つ以上の高性能プロセッサは同じ半導体チップ上に存在する請求項4に記載の異種計算機システム。
【請求項8】
前記1つ以上の高性能プロセッサのそれぞれはx86プロセッサである請求項4〜7のいずれかに記載の異種計算機システム。
【請求項9】
前記ハイパーバイザプロセッサはARMプロセッサである請求項4〜7のいずれかに記載の異種計算機システム。
【請求項10】
ソフトウェアを実行するための異種計算機システムであって、
1つ以上の第1プロセッサと、
該1つ以上の第1プロセッサが該ソフトウェアのタスクを実行するのを支援するプロセッサ支援論理回路と、
該1つ以上の第1プロセッサより少ない電力を消費する第2プロセッサと
を備え、
該プロセッサ支援論理回路に支援された該第2プロセッサは、自身が処理するのに十分な処理能力を有する該ソフトウェアのタスクを実行し、該1つ以上の第1プロセッサを電力節約状態にする、異種計算機システム。
【請求項11】
前記第2プロセッサは前記1つ以上の第1プロセッサと異なる位置に存在する請求項10に記載の異種計算機システム。
【請求項12】
前記第1プロセッサのうち1つ以上は前記第1と第2プロセッサの残りと異なる位置に存在する請求項10に記載の異種計算機システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2012−256306(P2012−256306A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−264749(P2011−264749)
【出願日】平成23年12月2日(2011.12.2)
【出願人】(599060434)財團法人資訊工業策進會 (27)
【Fターム(参考)】
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願日】平成23年12月2日(2011.12.2)
【出願人】(599060434)財團法人資訊工業策進會 (27)
【Fターム(参考)】
[ Back to top ]