(57)【要約】ソフトウェアの非互換性又はハードウェアの陳腐化の問題に対応する方法及び装置である。前記方法は、ハードウェアコンポーネントからのアーキテクチャ及び他の特徴に関する情報をコピーすることと、新しいハードウェアコンポーネントのアーキテクチャに適合するよう、既存のハードウェア固有のソフトウェアを変換することと、適応させたソフトウェアを新たなハードウェアに転送することを含む。前記方法及び前記装置は、コンピュータプロセッサ等のハードウェアコンポーネント同士の間でハードウェア固有のソフトウェアを半自動的に移行することを可能にする。このソフトウェア移行のプロセスにより、ハードウェアコンポーネント同士間で機能が効果的に転送される。この新規なプロセスを用いて、プロセッサ同士間でソフトウェアを移行させることができる。【選択図】図１
2011512566.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアコンポーネント同士間でのハードウェア固有のソフトウェアの移行を可能にする方法であって、
移行ツールを含む変換装置に旧コンポーネントと新コンポーネントを接続することと、
ハードウェアコンポーネントが、他のハードウェアコンポーネント、ソフトウェアコンポーネント、及び前記変換装置に対して自身のアーキテクチャ及び特徴を通知することと、
ハードウェア固有のソフトウェアに対するコンテキストにマーキング及び特定することと、
タグ付けしたハードウェア固有のソフトウェアをメモリ装置にコピーすることと、
既存のハードウェア固有のソフトウェアを、新ハードウェアのアーキテクチャ及び特徴に適合するよう変換することと、
変換したソフトウェアを新ハードウェアに転送することと、
を含むことを特徴とする方法。
【請求項２】
前記ハードウェアがマイクロプロセッサを含むこと、を特徴とする請求項１に記載の方法。
【請求項３】
前記移行ツールが、ハードウェアコンポーネント同士間でハードウェア固有のソフトウェアを移植するためのソフトウェアコードを含み、前記ソフトウェアコードが、
前記旧ハードウェアのハードウェア固有のソフトウェアを含むファイルにおいて、特定のハードウェアに対するソフトウェアを識別することにより、ソースコードを定義するためのコードと、
前記新ハードウェアのハードウェア固有のソフトウェアを含むファイルにおいて定義されたハードウェアに対するソフトウェアを識別することによって、ターゲットコードを選択するためのコードと、
定義したハードウェアの機能に適合するようターゲットコードを更新するためのコードと、をさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項４】
ターゲットコードを更新するプロセスが、旧ハードウェアから新ハードウェアへとハードウェア固有のソフトウェアを部分的又は全てのいずれかで複製することを含むこと、を特徴とする請求項３に記載の移行ツール。
【請求項５】
有線、はんだ付け、ソケット、又は無線による接続を含む手段のいずれかを用いて、ハードウェアコンポーネント同士の接続を確立すること、を特徴とする請求項１に記載の方法。
【請求項６】
アーキテクチャ及び特徴の通知が部分的又は全てであり得ること、を特徴とする請求項１に記載の方法。
【請求項７】
ハードウェア固有のソフトウェアの前記コンテキストをマーキング及び特定することが、タグを組み込むことを含むこと、を特徴とする請求項１に記載の方法。
【請求項８】
変換が、システムで実行するハードウェア固有のソフトウェアアプリケーションを新プロセッサで実行できるように適応させることを指すこと、を特徴とする請求項１に記載の方法。
【請求項９】
前記メモリ装置が、コンピュータ又は埋め込みシステムであり得る前記変換装置のシステムメモリを含むこと、を特徴とする請求項１に記載の方法。
【請求項１０】
ハードウェアコンポーネント同士間でのハードウェア固有のソフトウェアの変換を可能にする装置であって、メモリ装置と、移行ツールと、電源と、プロセッサと、入出力インタフェースとを含むこと、
を特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ及び他の電子システムに関し、詳細にはプロセッサ及び他のハードウェアデバイスに関する。より詳細には、本発明はコンピュータ及び他の電子システムにおいてプロセッサ及びハードウェアを使用する際に直面する、プロセッサ及びハードウェアの陳腐化の問題を克服するメカニズム及びシステムに関する。更に、本発明はマイクロプロセッサ同士の間でソフトウェアを移行することに適用性がある。
【背景技術】
【０００２】
コンピュータ又は他の電子システムの一部を形成するプロセッサ又はマイクロプロセッサ及び他のハードウェアデバイスは、より新しく高度な構成又は能力を有するものが旧型に取って代わり、常に進化している。コンピュータハードウェア業界では、高速マイクロプロセッサをより新しい世代へと発展させるのが一般的な傾向である。また、旧型のハードウェアの生産は新世代のハードウェアへと向かうマーケットニーズの移行を見据えて終了する。これら新しい製品世代で下位互換性のあるものはほとんどなく、既存のインストラクションセットアーキテクチャ（ＩＳＡ）と他のハードウェアの特徴に関する機能性の問題が共通している。このことが、旧コンポーネントと新コンポーネントとの間の互換性に関する問題へとつながり、プロセッサ及び他のハードウェアデバイスのプラグアンドプレイ適応における障害となる。同じく新しいマイクロプロセッサに意図的に移行する必要がある場合には、新しいプロセッサに適合するようにソフトウェアコード全体を書き直す、又は修正する必要がある。
【０００３】
上記の問題を克服する方法及びシステムについては、従来技術で言及している。
【０００４】
上記の問題を克服するために使用する方法の１つは、新しい方式に沿うようにソフトウェアを全て又は部分的に移植すること、又は書き直すことである。新しいプロセッサ又はハードウェアコンポーネントに適合させることは、他のハードウェアコンポーネント及び／又はソフトウェアコンポーネントの構成を伴う可能性がある。しかし、この方法では旧ソフトウェア及び／又はハードウェアに時間と費用をかけることが伴い、大抵の企業は、積極的な市場重視的な資源最適化の方針のため、この方法の実行には消極的である。
【０００５】
この問題を克服するために使用されるもう１つの方法は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）によって旧型のプロセッサをエミュレートすることである。しかし、この方法は高価であるため、業界での応用はほとんど見られない。
【０００６】
特許文献１は、マイクロプロセッサベースの制御装置におけるコンポーネントの陳腐化に対するシステム及び方法について説明している。この方法は、第１の車両システム制御装置とほぼ同じ動作を実行する第２の車両システム制御装置を提供することを含み、第２の車両システム制御装置はマイクロプロセッサの中核の機能部分の動作をエミュレートするよう適応させたプログラマブルハードウェアを有する。しかし、このプロセスは手動によるものであり、ハードウェアにおける「プラグアンドプレイ」タイプの変更の簡便性に欠けている。
【０００７】
上記の問題を対応する別の方法は、ソフトウェア設計においてハードウェア抽象化レイヤを実装し、新しいハードウェアコンポーネントに対してソフトウェアを移植する手間を最小化することである。特許文献２は、オペレーティングシステムに対してプロセッサ固有の機能抽象化のためのハードウェア抽象化レイヤを実装する方法について説明している。詳細には、オペレーティングシステムとそれを実行するコンフィギュラブルプロセッサとの間に統一規格のインタフェースを提供する、オペレーティングシステム可視のコンフィギュラブルプロセッサの特徴を要約している。この方法は、プロセッサの全ての構成にオペレーティングシステムの機能性を提供し、これをハードウェア抽象化レイヤが被覆する。しかし、この方法はコンフィギュラブルプロセッサの場合に適用可能であり、その実行には技術的専門的知識が必要であるという欠点がある。この方法は費用が高いばかりでなく、ソフトウェアの再構築と再実行という追加的なステップを伴い、動作の全体的な簡便性が低下する。
【０００８】
従来技術の方法及びシステムでは、上記の問題に対して満足できる対応ができなかった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許ＵＳ２００６／０２８２２５４Ａ１号
【特許文献２】国際公開ＷＯ０１／０６１４９０Ａ３号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の発明者は、ハードウェアの陳腐化とマイクロプロセッサ等のデバイス／ハードウェアコンポーネントのソフトウェア非互換性に関する上記の問題を克服するメカニズム及びシステムを考案した。
【００１１】
本発明は、プロセッサ及び他のハードウェアの陳腐化に関する問題に対応するメカニズム及びシステムを提供すると共に、構成の異なるプロセッサ又は他のハードウェアコンポーネントのプラグアンドプレイを可能にするメカニズムを提供する。また、本発明はあるプロセッサ又はハードウェアデバイスに適合した既存のソフトウェアを別のプロセッサ又はハードウェアデバイスへと変換するデバイス及びプロセスを提供する。
【００１２】
本発明は、プロセッサ及び他のハードウェアデバイス／コンポーネントのプラグアンドプレイに関して、長期にわたって端末間で自動的に解決できるという利点を提供する。
【課題を解決するための手段】
【００１３】
本発明はハードウェアコンポーネント同士の間でのソフトウェアの移行を可能にする方法及び装置に関する。本発明は、このソフトウェア移行プロセスを自動化する手段を提供する。
【００１４】
本発明の一態様では、プロセッサ等のハードウェアを変換装置、即ち移行ツールを含むコンピュータシステム又は組込み機器のいずれかと接続することで、ソフトウェア移行方法が開始される。該変換装置は、あるハードウェアコンポーネント又はプロセッサの通知したハードウェア固有のソフトウェアを別のハードウェアコンポーネント又はプロセッサへと移植する。このようにして、供給する側のハードウェアコンポーネント又はプロセッサの機能が受け入れる側のハードウェアコンポーネント又はプロセッサへと自動的に転送される。
【００１５】
本発明の理解を支援するため、本発明の一実施形態を示す添付の図面を参照する。
【００１６】
本発明の目的は、プロセッサ等の異なるハードウェアコンポーネント同士の間でのソフトウェア移行を可能にする方法を提供することにある。本発明の別の目的は、新たなハードウェアコンポーネント又はプロセッサにソフトウェアを半自動的に移行させることを可能にするデバイスを提供することにより、異なるハードウェアコンポーネント同士のプラグアンドプレイを可能にするメカニズムを提供することにある。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明を実行可能な一方法を示す図である。
【発明を実施するための形態】
【００１８】
図１は本発明を実行可能な一方法を示す図である。図において、（７）は変換装置を示す。新プロセッサ（１）は、変換システム（３）に対して自身のアーキテクチャ及び特徴の通知を始める。変換システム（３）は同一システム内の別個のデバイス又は組み込みデバイスであり得る。変換システム（３）は新プロセッサ（１）に適合するようにソフトウェアコンポーネントを変換する。（２）は旧プロセッサ、（４）はシステム（７）のメモリ、（６）は旧アプリケーション、（５）は新アプリケーション又は修正済アプリケーションを示す。
【００１９】
本発明はソフトウェアの非互換性の問題とハードウェアの陳腐化の問題に対応するメカニズム及びシステムを提供する。本発明はハードウェア及び／又はソフトウェアの構成及び能力において異なるプロセッサ等のハードウェアコンポーネントのプラグアンドプレイを可能にする。
【００２０】
本発明によれば、上記システム又はメカニズムは、プロセッサ又は他のハードウェアデバイス／コンポーネントが他のソフトウェア、プロセッサ、又はハードウェアデバイス／コンポーネントに対して自身のアーキテクチャ及び他の特徴に関する情報を通知又は交換するプロセスを含む。交換プロセスは、第１プロセッサ若しくはハードウェアデバイス／コンポーネント、又は第２プロセッサ若しくはハードウェアデバイス／コンポーネントのいずれかによって開始され得る。アーキテクチャ及び特徴の通知方法と、プロセッサ又は他のハードウェアコンポーネントの特徴として通知するものには柔軟に選択できる。フォーマット化、符号化、及び情報交換の方法についても柔軟に選択できる。
【００２１】
プロセッサ又はハードウェアデバイス／コンポーネントの通知するアーキテクチャとしては、レジスタ数、レジスタ名、各レジスタのサイズ、アドレスバス／データバスのサイズ、プロセッサのピン構成、プロセッサが対応できるメモリの範囲、プロセッサがサポートするメモリモデルのタイプ、プロセッサがサポートする割込みの数及びタイプ等があるが、それらに限定しない。アーキテクチャの通知は全てであっても一部であってもよい。プロセッサ又はハードウェアデバイス／コンポーネントはまた、そのソフトウェアの一部又は全てを自身の特徴として通知することができる。
【００２２】
本発明は、コンピュータ又は埋め込みシステムにプラグインして、他のプロセッサ又はハードウェアデバイス／コンポーネントに適合するようにプロセッサ又はハードウェアデバイス／コンポーネントのソフトウェアコンポーネントを変換できる装置をさらに含む。この変換装置は、コンピュータ又は埋め込み装置であり得る。
【００２３】
本明細書で言及するプラグインは、有線、はんだ付け、ソケット、又は無線等の手段によって行うことができるが、これらに限定しない。
【００２４】
本発明の一実施形態では、ユーザはハードウェアコンポーネントのソースコードを走査して、ハードウェア固有のソースコードをマークしなければならない。ユーザはまた、マークしたソースコードのコンテキストを特定する必要がある。ソフトウェアコードのコンテキストのマーキング及び特定は、多数の方法の中から選択して行うことができるが、その中の一つとしてタグの使用がある。
【００２５】
本発明は、あるプロセッサ又はハードウェアデバイス／コンポーネントに適合した既存のソフトウェアを、異なるプロセッサ又はハードウェアコンポーネント／デバイスに適合するよう変換する新規な方法をさらに含む。
【００２６】
変換装置に提供したマークしたソフトウェアを使用することによって、ハードウェア同士間でソフトウェアが効果的に移行される。ハードウェア固有のソフトウェアの変換に関する方法は移行ツールを介して実行されるが、この移行ツールは変換装置上で実行される変換ソフトウェアを含み、変換装置はあるプロセッサ又はハードウェアデバイス／コンポーネントからの入力を受け取り、システム上の既存のソフトウェアアプリケーションを新プロセッサ上で実行できるように修正する。かかる変換ソフトウェアは、別個の集積回路、コンピュータ、又は埋め込みシステムにおいて実行され得る。
【００２７】
前期変換ソフトウェアは、既存のソースコードを修正、及び／又は幾つかの新たなコードを生成して、通知されたプロセッサ情報及び特徴を用いることによって、実行するアプリケーションにより新プロセッサの特徴を開発する。移行ツールは、旧ハードウェアから新ハードウェアへとハードウェア固有のソフトウェアを移植するよう作用する実行可能なソフトウェアコードを含む。
【００２８】
本発明の好適な実施形態では、ソフトウェア移行プロセスは旧プロセッサ及び新プロセッサの両プロセッサのソースコードを走査してプロセッサ固有のソースコードをマークするという、一度の手作業を伴う。プロセッサマニュアルを用いて作成したプロセッサ情報ファイルとして、このタグ付けした情報を変換装置に手作業で供給し得る。マークを識別し、ソースコードにおけるポート及びレジスタ等の項目のクラスを示すために、Ｃ言語又は他の任意の言語シンタックス処理ツールを用いることができる。本発明の好適な実施形態において、実際の移行プロセスは、項目の各クラスに対するソースコードの定義と、選択したクラス及び項目で確認する新プロセッサのターゲットコードの選択と、最終的には新ハードウェアに適合するようにターゲットコードを更新する、という個別のステージを含む。全ての項目の各クラスに対して、新プロセッサに適合するようにターゲットコードを更新するのに使用できる規定のセットのルールが存在する。ターゲットコードの更新はとりわけ、旧ハードウェアから新ハードウェアへと項目及びクラス固有のコードをコピーすることを含む。
【００２９】
プロセッサはメモリ及び変換システムと通信することができ、変換システムはプロセッサ及びメモリと通信することができる。
【００３０】
本実施形態では、ソフトウェア移行プロセスはマークしたハードウェア固有のソフトウェアのファイル又はデータベースを手作業で作成し、コンテキストを特定するステージを含む。このように、ソフトウェア移行プロセスは半自動的である。しかし、この手作業による入力が必要なのは一度のみであり、変換ソフトウェアの移植に関するその後の作業は全て、全自動で行われる。
【００３１】
周辺機器として使用される任意のハードウェアデバイスのプラグアンドプレイに対しては同じ手法を適用することができる。例えば、新しいＬＣＤデバイスのプラグアンドプレイには、新デバイスが解像度、寸法、ピン構成といった特徴を、それを使用するソフトウェアコンポーネントに通知できることが必要である。
【００３２】
次の例は本発明をさらに示すものである。この例は単に例示の目的で示すものであり、本発明の範囲を限定するものではない。
【００３３】
実施例１：
プロセッサ固有のソースコードをフリースケールＭＣ６８３３２マイクロプロセッサからＭＣ６８３４０マイクロプロセッサへと移行する：移行ツールを含むデスクトップコンピュータ変換システムに２つのプロセッサを接続した。前者のプロセッサの通知したプロセッサ情報を、それ自体のメモリにコピーし、転送の要求又は割込みを受けて、これを後者のプロセッサに転送した。このようにして、ソースコード変換プロセスがデスクトップで実行された。
【符号の説明】
【００３４】
１  新プロセッサ
２  旧プロセッサ
３  変換システム
４  メモリ
５  新／修正済アプリケーション
６  旧アプリケーション
７  変換装置
【図１】
2011512566.tif 000003
【国際調査報告】
2011512566.tif 000004