专利摘要:
ソフトウェアの非互換性又はハードウェアの陳腐化の問題に対応する方法及び装置である。前記方法は、ハードウェアコンポーネントからのアーキテクチャ及び他の特徴に関する情報をコピーすることと、新しいハードウェアコンポーネントのアーキテクチャに適合するよう、既存のハードウェア固有のソフトウェアを変換することと、適応させたソフトウェアを新たなハードウェアに転送することを含む。前記方法及び前記装置は、コンピュータプロセッサ等のハードウェアコンポーネント同士の間でハードウェア固有のソフトウェアを半自動的に移行することを可能にする。このソフトウェア移行のプロセスにより、ハードウェアコンポーネント同士間で機能が効果的に転送される。この新規なプロセスを用いて、プロセッサ同士間でソフトウェアを移行させることができる。
公开号:JP2011512566A
申请号:JP2010525479
申请日:2008-09-19
公开日:2011-04-21
发明作者:ヴィナイ ヴァイディヤ;ジェイディープ ヴィプラダス
申请人:ケーピーアイティ クミンズ インフォシステムズ リミテッド;
IPC主号:G06F9-44
专利说明:

[0001] 本発明はコンピュータ及び他の電子システムに関し、詳細にはプロセッサ及び他のハードウェアデバイスに関する。より詳細には、本発明はコンピュータ及び他の電子システムにおいてプロセッサ及びハードウェアを使用する際に直面する、プロセッサ及びハードウェアの陳腐化の問題を克服するメカニズム及びシステムに関する。更に、本発明はマイクロプロセッサ同士の間でソフトウェアを移行することに適用性がある。]
背景技術

[0002] コンピュータ又は他の電子システムの一部を形成するプロセッサ又はマイクロプロセッサ及び他のハードウェアデバイスは、より新しく高度な構成又は能力を有するものが旧型に取って代わり、常に進化している。コンピュータハードウェア業界では、高速マイクロプロセッサをより新しい世代へと発展させるのが一般的な傾向である。また、旧型のハードウェアの生産は新世代のハードウェアへと向かうマーケットニーズの移行を見据えて終了する。これら新しい製品世代で下位互換性のあるものはほとんどなく、既存のインストラクションセットアーキテクチャ(ISA)と他のハードウェアの特徴に関する機能性の問題が共通している。このことが、旧コンポーネントと新コンポーネントとの間の互換性に関する問題へとつながり、プロセッサ及び他のハードウェアデバイスのプラグアンドプレイ適応における障害となる。同じく新しいマイクロプロセッサに意図的に移行する必要がある場合には、新しいプロセッサに適合するようにソフトウェアコード全体を書き直す、又は修正する必要がある。]
[0003] 上記の問題を克服する方法及びシステムについては、従来技術で言及している。]
[0004] 上記の問題を克服するために使用する方法の1つは、新しい方式に沿うようにソフトウェアを全て又は部分的に移植すること、又は書き直すことである。新しいプロセッサ又はハードウェアコンポーネントに適合させることは、他のハードウェアコンポーネント及び/又はソフトウェアコンポーネントの構成を伴う可能性がある。しかし、この方法では旧ソフトウェア及び/又はハードウェアに時間と費用をかけることが伴い、大抵の企業は、積極的な市場重視的な資源最適化の方針のため、この方法の実行には消極的である。]
[0005] この問題を克服するために使用されるもう1つの方法は、フィールドプログラマブルゲートアレイ(FPGA)によって旧型のプロセッサをエミュレートすることである。しかし、この方法は高価であるため、業界での応用はほとんど見られない。]
[0006] 特許文献1は、マイクロプロセッサベースの制御装置におけるコンポーネントの陳腐化に対するシステム及び方法について説明している。この方法は、第1の車両システム制御装置とほぼ同じ動作を実行する第2の車両システム制御装置を提供することを含み、第2の車両システム制御装置はマイクロプロセッサの中核の機能部分の動作をエミュレートするよう適応させたプログラマブルハードウェアを有する。しかし、このプロセスは手動によるものであり、ハードウェアにおける「プラグアンドプレイ」タイプの変更の簡便性に欠けている。]
[0007] 上記の問題を対応する別の方法は、ソフトウェア設計においてハードウェア抽象化レイヤを実装し、新しいハードウェアコンポーネントに対してソフトウェアを移植する手間を最小化することである。特許文献2は、オペレーティングシステムに対してプロセッサ固有の機能抽象化のためのハードウェア抽象化レイヤを実装する方法について説明している。詳細には、オペレーティングシステムとそれを実行するコンフィギュラブルプロセッサとの間に統一規格のインタフェースを提供する、オペレーティングシステム可視のコンフィギュラブルプロセッサの特徴を要約している。この方法は、プロセッサの全ての構成にオペレーティングシステムの機能性を提供し、これをハードウェア抽象化レイヤが被覆する。しかし、この方法はコンフィギュラブルプロセッサの場合に適用可能であり、その実行には技術的専門的知識が必要であるという欠点がある。この方法は費用が高いばかりでなく、ソフトウェアの再構築と再実行という追加的なステップを伴い、動作の全体的な簡便性が低下する。]
[0008] 従来技術の方法及びシステムでは、上記の問題に対して満足できる対応ができなかった。]
先行技術

[0009] 米国特許US2006/0282254A1号
国際公開WO01/061490A3号]
発明が解決しようとする課題

[0010] 本発明の発明者は、ハードウェアの陳腐化とマイクロプロセッサ等のデバイス/ハードウェアコンポーネントのソフトウェア非互換性に関する上記の問題を克服するメカニズム及びシステムを考案した。]
[0011] 本発明は、プロセッサ及び他のハードウェアの陳腐化に関する問題に対応するメカニズム及びシステムを提供すると共に、構成の異なるプロセッサ又は他のハードウェアコンポーネントのプラグアンドプレイを可能にするメカニズムを提供する。また、本発明はあるプロセッサ又はハードウェアデバイスに適合した既存のソフトウェアを別のプロセッサ又はハードウェアデバイスへと変換するデバイス及びプロセスを提供する。]
[0012] 本発明は、プロセッサ及び他のハードウェアデバイス/コンポーネントのプラグアンドプレイに関して、長期にわたって端末間で自動的に解決できるという利点を提供する。]
課題を解決するための手段

[0013] 本発明はハードウェアコンポーネント同士の間でのソフトウェアの移行を可能にする方法及び装置に関する。本発明は、このソフトウェア移行プロセスを自動化する手段を提供する。]
[0014] 本発明の一態様では、プロセッサ等のハードウェアを変換装置、即ち移行ツールを含むコンピュータシステム又は組込み機器のいずれかと接続することで、ソフトウェア移行方法が開始される。該変換装置は、あるハードウェアコンポーネント又はプロセッサの通知したハードウェア固有のソフトウェアを別のハードウェアコンポーネント又はプロセッサへと移植する。このようにして、供給する側のハードウェアコンポーネント又はプロセッサの機能が受け入れる側のハードウェアコンポーネント又はプロセッサへと自動的に転送される。]
[0015] 本発明の理解を支援するため、本発明の一実施形態を示す添付の図面を参照する。]
[0016] 本発明の目的は、プロセッサ等の異なるハードウェアコンポーネント同士の間でのソフトウェア移行を可能にする方法を提供することにある。本発明の別の目的は、新たなハードウェアコンポーネント又はプロセッサにソフトウェアを半自動的に移行させることを可能にするデバイスを提供することにより、異なるハードウェアコンポーネント同士のプラグアンドプレイを可能にするメカニズムを提供することにある。]
図面の簡単な説明

[0017] 図1は本発明を実行可能な一方法を示す図である。] 図1
実施例

[0018] 図1は本発明を実行可能な一方法を示す図である。図において、(7)は変換装置を示す。新プロセッサ(1)は、変換システム(3)に対して自身のアーキテクチャ及び特徴の通知を始める。変換システム(3)は同一システム内の別個のデバイス又は組み込みデバイスであり得る。変換システム(3)は新プロセッサ(1)に適合するようにソフトウェアコンポーネントを変換する。(2)は旧プロセッサ、(4)はシステム(7)のメモリ、(6)は旧アプリケーション、(5)は新アプリケーション又は修正済アプリケーションを示す。] 図1
[0019] 本発明はソフトウェアの非互換性の問題とハードウェアの陳腐化の問題に対応するメカニズム及びシステムを提供する。本発明はハードウェア及び/又はソフトウェアの構成及び能力において異なるプロセッサ等のハードウェアコンポーネントのプラグアンドプレイを可能にする。]
[0020] 本発明によれば、上記システム又はメカニズムは、プロセッサ又は他のハードウェアデバイス/コンポーネントが他のソフトウェア、プロセッサ、又はハードウェアデバイス/コンポーネントに対して自身のアーキテクチャ及び他の特徴に関する情報を通知又は交換するプロセスを含む。交換プロセスは、第1プロセッサ若しくはハードウェアデバイス/コンポーネント、又は第2プロセッサ若しくはハードウェアデバイス/コンポーネントのいずれかによって開始され得る。アーキテクチャ及び特徴の通知方法と、プロセッサ又は他のハードウェアコンポーネントの特徴として通知するものには柔軟に選択できる。フォーマット化、符号化、及び情報交換の方法についても柔軟に選択できる。]
[0021] プロセッサ又はハードウェアデバイス/コンポーネントの通知するアーキテクチャとしては、レジスタ数、レジスタ名、各レジスタのサイズ、アドレスバス/データバスのサイズ、プロセッサのピン構成、プロセッサが対応できるメモリの範囲、プロセッサがサポートするメモリモデルのタイプ、プロセッサがサポートする割込みの数及びタイプ等があるが、それらに限定しない。アーキテクチャの通知は全てであっても一部であってもよい。プロセッサ又はハードウェアデバイス/コンポーネントはまた、そのソフトウェアの一部又は全てを自身の特徴として通知することができる。]
[0022] 本発明は、コンピュータ又は埋め込みシステムにプラグインして、他のプロセッサ又はハードウェアデバイス/コンポーネントに適合するようにプロセッサ又はハードウェアデバイス/コンポーネントのソフトウェアコンポーネントを変換できる装置をさらに含む。この変換装置は、コンピュータ又は埋め込み装置であり得る。]
[0023] 本明細書で言及するプラグインは、有線、はんだ付け、ソケット、又は無線等の手段によって行うことができるが、これらに限定しない。]
[0024] 本発明の一実施形態では、ユーザはハードウェアコンポーネントのソースコードを走査して、ハードウェア固有のソースコードをマークしなければならない。ユーザはまた、マークしたソースコードのコンテキストを特定する必要がある。ソフトウェアコードのコンテキストのマーキング及び特定は、多数の方法の中から選択して行うことができるが、その中の一つとしてタグの使用がある。]
[0025] 本発明は、あるプロセッサ又はハードウェアデバイス/コンポーネントに適合した既存のソフトウェアを、異なるプロセッサ又はハードウェアコンポーネント/デバイスに適合するよう変換する新規な方法をさらに含む。]
[0026] 変換装置に提供したマークしたソフトウェアを使用することによって、ハードウェア同士間でソフトウェアが効果的に移行される。ハードウェア固有のソフトウェアの変換に関する方法は移行ツールを介して実行されるが、この移行ツールは変換装置上で実行される変換ソフトウェアを含み、変換装置はあるプロセッサ又はハードウェアデバイス/コンポーネントからの入力を受け取り、システム上の既存のソフトウェアアプリケーションを新プロセッサ上で実行できるように修正する。かかる変換ソフトウェアは、別個の集積回路、コンピュータ、又は埋め込みシステムにおいて実行され得る。]
[0027] 前期変換ソフトウェアは、既存のソースコードを修正、及び/又は幾つかの新たなコードを生成して、通知されたプロセッサ情報及び特徴を用いることによって、実行するアプリケーションにより新プロセッサの特徴を開発する。移行ツールは、旧ハードウェアから新ハードウェアへとハードウェア固有のソフトウェアを移植するよう作用する実行可能なソフトウェアコードを含む。]
[0028] 本発明の好適な実施形態では、ソフトウェア移行プロセスは旧プロセッサ及び新プロセッサの両プロセッサのソースコードを走査してプロセッサ固有のソースコードをマークするという、一度の手作業を伴う。プロセッサマニュアルを用いて作成したプロセッサ情報ファイルとして、このタグ付けした情報を変換装置に手作業で供給し得る。マークを識別し、ソースコードにおけるポート及びレジスタ等の項目のクラスを示すために、C言語又は他の任意の言語シンタックス処理ツールを用いることができる。本発明の好適な実施形態において、実際の移行プロセスは、項目の各クラスに対するソースコードの定義と、選択したクラス及び項目で確認する新プロセッサのターゲットコードの選択と、最終的には新ハードウェアに適合するようにターゲットコードを更新する、という個別のステージを含む。全ての項目の各クラスに対して、新プロセッサに適合するようにターゲットコードを更新するのに使用できる規定のセットのルールが存在する。ターゲットコードの更新はとりわけ、旧ハードウェアから新ハードウェアへと項目及びクラス固有のコードをコピーすることを含む。]
[0029] プロセッサはメモリ及び変換システムと通信することができ、変換システムはプロセッサ及びメモリと通信することができる。]
[0030] 本実施形態では、ソフトウェア移行プロセスはマークしたハードウェア固有のソフトウェアのファイル又はデータベースを手作業で作成し、コンテキストを特定するステージを含む。このように、ソフトウェア移行プロセスは半自動的である。しかし、この手作業による入力が必要なのは一度のみであり、変換ソフトウェアの移植に関するその後の作業は全て、全自動で行われる。]
[0031] 周辺機器として使用される任意のハードウェアデバイスのプラグアンドプレイに対しては同じ手法を適用することができる。例えば、新しいLCDデバイスのプラグアンドプレイには、新デバイスが解像度、寸法、ピン構成といった特徴を、それを使用するソフトウェアコンポーネントに通知できることが必要である。]
[0032] 次の例は本発明をさらに示すものである。この例は単に例示の目的で示すものであり、本発明の範囲を限定するものではない。]
[0033] 実施例1:
プロセッサ固有のソースコードをフリースケールMC68332マイクロプロセッサからMC68340マイクロプロセッサへと移行する:移行ツールを含むデスクトップコンピュータ変換システムに2つのプロセッサを接続した。前者のプロセッサの通知したプロセッサ情報を、それ自体のメモリにコピーし、転送の要求又は割込みを受けて、これを後者のプロセッサに転送した。このようにして、ソースコード変換プロセスがデスクトップで実行された。]
[0034] 1新プロセッサ
2 旧プロセッサ
3変換システム
4メモリ
5 新/修正済アプリケーション
6旧アプリケーション
7 変換装置]
权利要求:

請求項1
ハードウェアコンポーネント同士間でのハードウェア固有のソフトウェアの移行を可能にする方法であって、移行ツールを含む変換装置に旧コンポーネントと新コンポーネントを接続することと、ハードウェアコンポーネントが、他のハードウェアコンポーネント、ソフトウェアコンポーネント、及び前記変換装置に対して自身のアーキテクチャ及び特徴を通知することと、ハードウェア固有のソフトウェアに対するコンテキストにマーキング及び特定することと、タグ付けしたハードウェア固有のソフトウェアをメモリ装置にコピーすることと、既存のハードウェア固有のソフトウェアを、新ハードウェアのアーキテクチャ及び特徴に適合するよう変換することと、変換したソフトウェアを新ハードウェアに転送することと、を含むことを特徴とする方法。
請求項2
前記ハードウェアがマイクロプロセッサを含むこと、を特徴とする請求項1に記載の方法。
請求項3
前記移行ツールが、ハードウェアコンポーネント同士間でハードウェア固有のソフトウェアを移植するためのソフトウェアコードを含み、前記ソフトウェアコードが、前記旧ハードウェアのハードウェア固有のソフトウェアを含むファイルにおいて、特定のハードウェアに対するソフトウェアを識別することにより、ソースコードを定義するためのコードと、前記新ハードウェアのハードウェア固有のソフトウェアを含むファイルにおいて定義されたハードウェアに対するソフトウェアを識別することによって、ターゲットコードを選択するためのコードと、定義したハードウェアの機能に適合するようターゲットコードを更新するためのコードと、をさらに含むこと、を特徴とする請求項1に記載の方法。
請求項4
ターゲットコードを更新するプロセスが、旧ハードウェアから新ハードウェアへとハードウェア固有のソフトウェアを部分的又は全てのいずれかで複製することを含むこと、を特徴とする請求項3に記載の移行ツール。
請求項5
有線、はんだ付け、ソケット、又は無線による接続を含む手段のいずれかを用いて、ハードウェアコンポーネント同士の接続を確立すること、を特徴とする請求項1に記載の方法。
請求項6
アーキテクチャ及び特徴の通知が部分的又は全てであり得ること、を特徴とする請求項1に記載の方法。
請求項7
ハードウェア固有のソフトウェアの前記コンテキストをマーキング及び特定することが、タグを組み込むことを含むこと、を特徴とする請求項1に記載の方法。
請求項8
変換が、システムで実行するハードウェア固有のソフトウェアアプリケーションを新プロセッサで実行できるように適応させることを指すこと、を特徴とする請求項1に記載の方法。
請求項9
前記メモリ装置が、コンピュータ又は埋め込みシステムであり得る前記変換装置のシステムメモリを含むこと、を特徴とする請求項1に記載の方法。
請求項10
ハードウェアコンポーネント同士間でのハードウェア固有のソフトウェアの変換を可能にする装置であって、メモリ装置と、移行ツールと、電源と、プロセッサと、入出力インタフェースとを含むこと、を特徴とする装置。
类似技术:
公开号 | 公开日 | 专利标题
US9772838B2|2017-09-26|Firmware update discovery and distribution
JP6311164B2|2018-04-18|統合コンポーネント相互接続
US20190278717A1|2019-09-12|Graphics processing microprocessor system having master and slave devices
US9513891B2|2016-12-06|Method and device for publishing and implementing wireless application
US8739150B2|2014-05-27|Systems and methods for dynamically replacing code objects via conditional pattern templates
US20180060473A1|2018-03-01|System on chip configuration metadata
KR101119320B1|2012-03-15|이동저장 장치의 펌웨어 업데이트 장치 및 방법
US9329887B2|2016-05-03|System and method for controlling multiple computer peripheral devices using a generic driver
US6826581B2|2004-11-30|Upgrading a device over a network by downloading results of command execution from script file
US8578371B2|2013-11-05|Software distribution method and system with automatic prerequisite installation
US7934209B2|2011-04-26|Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US7243347B2|2007-07-10|Method and system for maintaining firmware versions in a data processing system
US8074231B2|2011-12-06|Configuration of isolated extensions and device drivers
TW494355B|2002-07-11|Method and apparatus for creating and deploying smaller microsoft windows applications for automatic configuration of a computing device
US8572566B2|2013-10-29|Systems and methods for analyzing changes in application code from a previous instance of the application code
TWI292123B|2008-01-01|Method and computer-readable medium of allowing for single implementation of operations common to both kernel mode processing and user mode processing relative to the hardware adapter
US8898627B2|2014-11-25|Systems and methods for applying rules to transform objects of an application
JP4199923B2|2008-12-24|モバイル・デバイスのアプリケーション・インストール方法
CA2534792C|2011-09-20|A system and method for transferring a computing environment between computers of dissimilar configurations
CN101821727B|2013-11-13|管理更新以创建虚拟机复制品
US7487345B2|2009-02-03|Method of comparing build capability flags of replacement BIOS with boot capability flags of current BIOS to determine compatibility between BIOS revisions and installed hardware during flash update
DE112013001711T5|2014-12-11|Optimieren von Unterroutine-Aufrufen auf der Grundlage der Architekturebene einer aufgerufenen Unterroutine
KR100855853B1|2008-09-01|이미지-기반 소프트웨어 설치
US8671222B2|2014-03-11|Systems and methods for dynamically deploying an application transformation tool over a network
CN106095620B|2019-02-05|一种嵌入式Linux存储分区的开发方法
同族专利:
公开号 | 公开日
US20100205599A1|2010-08-12|
WO2009037668A2|2009-03-26|
EP2203814A2|2010-07-07|
EP2203814A4|2012-11-07|
KR20100069695A|2010-06-24|
CN101855617A|2010-10-06|
WO2009037668A3|2009-12-30|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]