JP3826859B2 - 情報処理方法とその方法を実現するプログラム及び記録媒体 - Google Patents
情報処理方法とその方法を実現するプログラム及び記録媒体 Download PDFInfo
- Publication number
- JP3826859B2 JP3826859B2 JP2002238437A JP2002238437A JP3826859B2 JP 3826859 B2 JP3826859 B2 JP 3826859B2 JP 2002238437 A JP2002238437 A JP 2002238437A JP 2002238437 A JP2002238437 A JP 2002238437A JP 3826859 B2 JP3826859 B2 JP 3826859B2
- Authority
- JP
- Japan
- Prior art keywords
- central processing
- executed
- storage means
- processing unit
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 40
- 238000003672 processing method Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 title claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は情報処理方法とその方法を実現するためのプログラム、及び該プログラムを記録した記録媒体に関するものである。
【0002】
【従来の技術】
近年においては、一つの半導体チップ上にCPU(中央演算処理装置)やメモリが搭載されたシステムオンチップ(以下、単に「SOC」ともいう)が開発されてきている。このようなSOCは、CPUとメモリとの間におけるバス幅が広く取れるという利点を有し、構成要素としてシステムに組み込まれる。ここでSOCにおいては、該チップの大きさに応じて混載できるメモリの容量に限度があるため、混載されたメモリを効率的に使用することが重要とされる。
【0003】
一方、近年における音楽配信や携帯オーディオ機器に使用されている音声圧縮方式(コーデック−Codec)には、MPEG1 Audio、MPEG2 Audio等多くの種類が存在する。このとき、音声データの圧縮・伸長を実行するシステムを複数のCPU(マルチプロセッサ)により構成することによって負荷を分散し、一つのCPUでは時間のかかる処理を高速処理することができる。すなわち例えば、コーデック毎にCPUを割り当てることにより、第1のCPUによりデコードしたデータを同時に第2のCPUでエンコードするトランスコーディング動作や、異なるコーデックで並列的にエンコードする動作を実現することができる。
【0004】
図5は、従来の情報処理システムの構成を示すブロック図である。図5に示されるように、従来の情報処理システムはバス3と、バス3により相互接続されるチップ1と外部メモリ110とホストCPU111及びサーバ120を備える。そして、チップ1には内部メモリ101と、外部メモリ110から直接外部メモリ110へ実行可能コードやデータを転送するDMA(Direct Memory Access)コントローラ102、第1CPU103、第2CPU104、及びブート用メモリ105を含む。なお、チップ1内に形成された内部メモリ101とDMA(Direct Memory Access)コントローラ102、第1CPU103、第2CPU104、及びブート用メモリ105は、チップ1内に形成されたバスにより相互接続される。
【0005】
ここで、上記のような構成を有するチップ1は、相互に独立して動作すると共に、内部メモリ101を共有する複数のCPUを備えるため、「粗結合マルチプロセッサ」と呼ばれる。
【0006】
上記のような構成を有する情報処理システムでは、まずホストCPU111の指示により第1CPU103用及び第2CPU104用のブートストラップがブート用メモリ105に格納される。そして、第1CPU103及び第2CPU104が、上記ブートストラップに応じて外部メモリ110又はネットワーク上のサーバ120からDMAコントローラ102を使用して実行可能コードを内部メモリ101へダウンロードし、該システムを起動する。
【0007】
一方、上記実行可能コードは以下のように作成される。図6に示されるように、チップ1内に設けられたCPU毎に作成されたプログラム(第1CPU用プログラム及び第2CPU用プログラム)と、複数のCPUにより共用されるプログラム(共通ライブラリプログラム)とをコンパイルさせることにより、各プログラムに対応したオブジェクトコード(CPU0用オブジェクトコード、CPU1用オブジェクトコード、共通ライブラリオブジェクトコード)が生成される。
【0008】
次に、これらのオブジェクトコードは、内部メモリ101内における配置先を指定する先頭アドレスを含んだリンク情報505とリンクされ、実行可能コードが生成される。従って、生成された実行可能コード506は、命令とデータ、及び内部メモリ101への配置先アドレスを記述するものとされる。なお、図6においては、第1CPUに対しコーデックAにおいてエンコード動作を実現させ、第2CPUに対しコーデックBにおいてデコード動作を実現させるための実行可能コード506が例示される。
【0009】
そして、後述するように該実行可能コード506は内部メモリ101にロードされる。
【0010】
ここで、該情報システムのOS(Operating System)がダイナミックライブラリやリンク機能を有し、あるいはハードウェア的に仮想アドレスをサポートするものである場合には、一般的にプログラムのロード時に実行可能コードのアドレスを変更することができるものの、上記のような機能を持たないOSが搭載されたシステム、またはOSが搭載されていないシステムに該チップ1が組み込まれるような場合には実行可能コード作成時にアドレスが固定され、動的にコードのロード先を切り替えることができない。
【0011】
従って、複数のコーデックによりCPUを動作させるためには、想定される全パターンのコードを内部メモリ101等に保持しておく必要がある。このとき、使用したいコーデックが多数あって内部メモリ101内に該コードが納まらない場合には、該実行可能コードを外部メモリ110やサーバ120等に保持しておき、必要に応じたダウンロードを実行してコーデックの種類や動作を切り替えることができる。
【0012】
ただし、図6に示されるように、従来の実行可能コード506内には第1CPU用のコードと第2CPU用のコードとがまとめられているため、第1CPU103あるいは第2CPU104のいずれか一方の動作のみを切り替えたいような場合には、実行可能コード506全体を内部メモリ101にロードし直す必要がある。
【0013】
ここで、図7及び図8を参照して、従来の情報処理システムにおける該動作の切り替えを説明する。なお、図7においては外部メモリ110に第1から第4の命令コード212〜215が予め格納され、最初に第1命令コード212が内部メモリ101にロードされた場合が示される。上記において第2命令コード213は第1CPU103に対してコーデックAによりエンコード動作させ、第2CPU104に対してコーデックDによりデコード動作させるコードを含み、第3命令コード214は第1CPU103に対してコーデックCによりエンコード動作させ、第2CPU104に対してコーデックBによりデコード動作させるコードを含み、第4命令コード215は第1CPU103に対してコーデックCによりエンコード動作させ、第2CPU104に対してコーデックDによりデコード動作させるコードを含むものとされる。
【0014】
図8を参照して、図7に示された第1及び第2のCPU103,104の動作を説明する。まずステップS1においてホストCPU111が第1CPU103をリセットし、ステップS2においてホストCPU111がブート用メモリ105にブートストラップを書き込む。次に、ステップS3において、ホストCPU111が第1CPU103のリセット状態を解除する。そして、ステップS4において、第1CPU103はブート用メモリ105に書き込まれたブートストラップを実行し、ステップS5においてDMAコントローラ102を用いて外部メモリ110から内部メモリ101へ例えば第1命令コード212をDMA転送する。
【0015】
ステップS6では、第1CPU103が上記転送の終了を確認した後に第2CPU104をリセットし、さらに該リセット状態を解除することにより第2CPU104を起動する。ステップS7では、第1CPU103は内部メモリ101に格納された第1CPU103用の命令コードを実行する。
【0016】
これより、ステップS8において第1CPU103はコーデックAのエンコーダとして動作すると共に、ステップS9において第2CPU104は内部メモリ101に格納された第2CPU104用の命令コードを実行することによってコーデックBのデコーダとして動作する。
【0017】
このとき上記のように、第1CPU用の命令コードと第2CPU用の命令コードとが一つの命令コードとしてまとめられていることから、例えば第1CPU103をコーデックCのエンコーダとして動作させたい場合には、たとえ第2CPU104の機能を変更する必要がない場合であっても、内部メモリ101にロードされた第1命令コード212全体を第3命令コード214に入れ替える必要がある。
【0018】
以上より、上記のような従来の情報処理システムにおいては、以下のような問題がある。まず、第1CPU103向けの命令と第2CPU104向けの命令をまとめてコンパイルするため、実行可能コードを構成する命令の組み合わせが固定的となってしまう。このため、複数のCPUを複数のコーデックにおいて動作させるためには、各動作状態に応じたコンパイル済みコードを予め外部メモリ110(あるいはネットワーク上のサーバ120)に保持しておく必要がある。
【0019】
また、上記のように第1CPU103向けの命令と第2CPU104向けの命令とにより一つの実行可能コードが構成されるため、実行可能コードのサイズが大きくなる。これより、入れ替えるべき内部メモリ101内のコードサイズも大きなものとなるため、コード入れ替え時間が大きなものとなる。
【0020】
さらに、第1CPU103向けの命令と第2CPU104向けの命令とにより一つの実行可能コードが構成されることから、上記のように例えば第1CPU103の動作のみを変更したい場合でも、第2CPU104の動作も中断させなければならない。すなわち例えば、第2CPU104によりコーデックBの下でデコードした結果を、第1CPU103によりコーデックAの下でエンコードするトランスコーディング動作中においては、第1CPU103の動作のみを変更することはできず、第2CPU104のデコーダも中断させなくてはならない。
【0021】
【発明が解決しようとする課題】
本発明は、上記のような問題を解消するためになされたもので、複数のCPUを有する情報処理システムにおいて、該システムにおいて必要とされる記憶容量を低減できると共に処理速度を高速化し、他のCPUの動作に影響を与えることなく各CPUの機能を容易に変更することのできる情報処理方法と、その方法を実現するプログラム及び該プログラムを記録した記録媒体を提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明の目的は、複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実現される情報処理方法であって、ホスト演算手段の指示により、いずれか一つの中央演算処理装置が共通コードと自己において実行するよう定められた命令コードとを外部記憶手段から内部記憶手段へロードすると共に、他の中央演算処理装置が自己において実行するよう定められた命令コードを外部記憶手段から内部記憶手段へロードするステップと、各々の中央演算処理装置が、内部記憶手段にロードされた共通コードと自己において実行するよう定められた命令コードとをそれぞれ実行するステップとを有することを特徴とする情報処理方法、あるいは該方法を実現するためのプログラム若しくは該プログラムを記録した記録媒体を提供することにより達成される。
【0023】
このような手段によれば、各々の中央演算処理装置が自己において実行するよう定められた命令コードを内部記憶手段へロードして実行するため、外部記憶手段へ格納すべき共通コード及び命令コードを効率化することができ、外部記憶手段に必要とされる記憶容量と、外部記憶手段から内部記憶手段にロードすべき情報量とを低減することができる。
【0024】
また、上記において、ホスト演算手段が選択的に中央演算処理装置をリセットするステップと、ホスト演算手段の指示により、選択的にリセットされた中央演算処理装置が自己において実行するよう定められた命令コードを外部記憶手段から内部記憶手段へ新たにロードするステップと、リセットされた中央演算処理装置が、内部記憶手段に新たにロードされた自己において実行するよう定められた命令コードを実行するステップとをさらに有する情報処理方法、あるいは該方法を実現するためのプログラム若しくは該プログラムを記録した記録媒体によれば、他の中央演算処理装置の動作に影響を与えることなく、選択された中央演算処理装置の機能を容易に変更することができる。
【0025】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照しつつ詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【0026】
図1は、本発明の実施の形態に係る情報処理を説明する図である。図1に示されるように、本実施の形態に係る情報処理は、バス3により相互接続されたホストCPU411とチップ1、及び外部メモリ110により構成された情報処理システムにおいて実現される。ここで、チップ1には内部バスにより相互接続されたDMAコントローラ102と第1CPU103、第2CPU104、ブート用メモリ105、及び内部メモリ101が設けられる。
【0027】
なお、上記において外部メモリ110の替わりに、あるいは外部メモリ110と共に、バス3に接続されたネットワーク上のサーバを備えた情報システムにおいても本実施の形態に係る情報処理を実現することができる。
【0028】
以下において、図2を参照しつつ、上記情報処理システムにおいて実行される本実施の形態に係る実行可能コードについて説明する。本実施の形態においては、上記第1CPU103と第2CPU104が独立して動作できるように、各CPUで実行されるオブジェクトコードにそれぞれ共通オブジェクトコードがリンクされ、CPU毎の実行可能コードが生成される。
【0029】
すなわち、図2に示されるように、第1CPU103にて実行される第1CPU用プログラムがコンパイルされることにより第1CPU用オブジェクトコードが生成され、第2CPU104にて実行される第2CPU用プログラムがコンパイルされることにより第2CPU用オブジェクトコードが生成される。また、第1及び第2CPU103,104にて実行される共通ライブラリプログラムがコンパイルされることにより共通ライブラリオブジェクトコードが生成される。
【0030】
次に、内部メモリ101内における共通オブジェクトコードの格納先を示す共通ライブラリ先頭アドレスと、内部メモリ101内における第1CPUオブジェクトコードの格納先を示す第1CPU先頭アドレスとを記述したリンク情報302を上記第1CPU用オブジェクトコードと上記共通ライブラリオブジェクトコードにリンクさせて実行可能コード305を生成すると共に、上記と同じ共通ライブラリ先頭アドレスと、内部メモリ101内における第2CPUオブジェクトコードの格納先を示す第2CPU先頭アドレスとを記述したリンク情報304を上記第2CPU用オブジェクトコードと上記共通ライブラリオブジェクトコードにリンクさせて実行可能コード306を生成する。
【0031】
なお、上記の各先頭アドレスは、対応する各オブジェクトコードが内部メモリ101に格納される際に必要とされる記憶容量を考慮して決定される。
【0032】
また、上記において共通オブジェクトコードが記述される共通ライブラリ領域においては読み出し専用のテキスト命令が作成され、第1CPU103用あるいは第2CPU104用のオブジェクトコードが記述される領域においては読み出し専用のテキスト命令と読み書き可能なデータ領域とが作成される。
【0033】
ここで、オブジェクトコード301及びオブジェクトコード303に含まれる共通オブジェクトコードは全く同じものとされ、リンク情報302,304に含まれる該共通オブジェクトコードに対応した先頭アドレスも同じアドレスとされる。従って、上記実行可能コード305,306が共に内部メモリ101へロードされた場合には、図2に示されるように共通オブジェクトコードが共有される。
【0034】
これより、本実施の形態に係る情報処理においては、後述するように第1CPU103と第2CPU104とにおいて一つの共通オブジェクトコードが共用されるため、必要とされる内部メモリ101の容量が低減される。
【0035】
次に、図1を参照しつつ、上記情報処理システムにおいて実現される上記実行可能コード305,306を用いた情報処理方法を説明する。
【0036】
図1に示されるように、外部メモリ110には予め共通ライブラリ412と第1CPUコード群CG0、及び第2CPUコード群CG1の3種類の実行可能ファイルが格納される。ここで、第1CPUコード群CG0には第1CPU103をコーデックAのエンコーダとして動作させる命令コード413と第1CPU103をコーデックCのエンコーダとして動作させる命令コード415とが含まれる。また、第2CPUコード群CG1には第2CPU104をコーデックBのデコーダとして動作させる命令コード414と第2CPU103をコーデックDのデコーダとして動作させる命令コード416とが含まれる。
【0037】
なお、共通ライブラリ412は第1CPU103と第2CPU104とにおいて共用される命令と、該命令の内部メモリ101内における配置先を指定するアドレスとを含み、先頭アドレスが予め決められる。また、命令コード413,415は、第1CPU103に対する命令とデータ及びそれらの内部メモリ101内における配置先を示すアドレスを含む。同様に命令コード414,416は、第2CPU104に対する命令とデータ及びそれらの内部メモリ101内における配置先を示すアドレスを含む。
【0038】
そして、初回起動時には、共通ライブラリ412と第1CPU用の命令コード413及び第2CPU用の命令コード414が、ブートストラップを使って内部メモリ101にロードされる。このとき、共通ライブラリ412は第1CPU103と第2CPU104とにより共用されるので、一度だけ内部メモリ101にロードされれば足りる。
【0039】
また、本実施の形態においては、内部メモリ101の記憶領域が第1領域R1と第2領域R2及び第3領域R3に予め分割され、上記共通ライブラリ412は第1領域R1に格納され、第1CPU用の命令コード413,415は第2領域R2に格納され、第2CPU用の命令コード414,416は第3領域R3に格納される。
【0040】
以下において、図3を参照しつつ、本実施の形態に係る情報処理をより詳しく説明する。ステップS1においてホストCPU411が第1CPU103をリセットし、ステップS2においてホストCPU411が第2CPU104をリセットする。そして、ステップS3では、ホストCPU411がブート用メモリ105に第1CPU用のブートストラップを書き込み、ステップS4においてホストCPU411が同じブート用メモリ105に第2CPU用のブートストラップを書き込む。
【0041】
ステップS5においてはホストCPU411が第1CPU103のリセット状態を解除し、ステップS6においてはホストCPU411が第2CPU104のリセット状態を解除する。
【0042】
ステップS7では、ホストCPU411の指示により第1CPU103がブート用メモリ105に格納された第1CPU用のブートストラップを実行し、第1CPU103がDMAコントローラ102を用いて外部メモリ110から内部メモリ101へ共通ライブラリ412と第1CPU用の命令コード413とをDMA転送する。
【0043】
次に、ステップS8においては、ホストCPU411の指示により第2CPU104がブート用メモリ105に格納された第2CPU用のブートストラップを実行し、第2CPU104がDMAコントローラ102を用いて外部メモリ110から内部メモリ101へ第2CPU用の命令コード414をDMA転送する。
【0044】
そして、ステップS9において、第1CPU103は命令コード413の該DMA転送が終了したことを確認した後に、内部メモリ101に格納された第1CPU用の命令コード413を実行する。また、ステップS10において、第2CPU104は命令コード414の該DMA転送が終了したことを確認した後に、内部メモリ101に格納された第2CPU用の命令コード414を実行する。
【0045】
なお、上記ステップS9及びステップS10において、第1CPU103と第2CPU104は必要に応じて内部メモリ101に格納された共通ライブラリ412を読み出して実行する。
【0046】
これより、ステップS11において第1CPU103はコーデックAのエンコーダとして動作を開始し、ステップS12において第2CPU104はコーデックBのデコーダとして動作を開始する。
【0047】
次に、図1及び図4を参照して、第1CPU103あるいは第2CPU104の機能を変更する場合の情報処理方法を説明する。本実施の形態に係る情報処理方法においては、少なくとも第1CPU103又は第2CPU104のいずれか一方の機能を変更する場合には、内部メモリ101にロードされている第1CPU用あるいは第2CPU用の命令コードを入れ替える必要がある。
【0048】
従って、第1CPU103の機能を変更する場合には、第1CPUコード群CG0に含まれた第1CPU用の他の命令コードを内部メモリ101にロードし、第2CPU104の機能を変更する場合には、第2CPUコード群CG1に含まれた第2CPU用の他の命令コードを内部メモリ101にロードして実行する。
【0049】
このとき、各CPUは共通ライブラリ412に記述されたコードを読み取ると共に、内部メモリ101における該CPU専用のデータ領域においてデータの読み書きを実行しているため、上記のような命令コードの入れ替えは他のCPUの動作に影響を与えることがない。
【0050】
以下において、図4を参照しつつ、図1に示された第1CPU103に対する機能変更方法の具体例を詳しく説明する。
【0051】
まずステップS1において、上記のように第1CPU103はコーデックAでデータをエンコードし、第2CPU104は上記のように第1CPU103の動作によりエンコードされたデータをコーデックBでデコードしているものとする。
【0052】
次に、ステップS2においてホストCPU411が第1CPU103をリセットする。そして、ステップS3において、ホストCPU411がブート用メモリ105に第1CPU用のブートストラップを書き込む。
【0053】
ステップS4において、ホストCPU411が第1CPU103のリセット状態を解除する。さらに、ステップS5において第1CPU103はブート用メモリ105に書き込まれたブートストラップを実行し、第1CPU103はDMAコントローラ102を用いて外部メモリ110から内部メモリ101へ第1CPU用の命令コード415のみをDMA転送する。
【0054】
次に、ステップS6において、第1CPU103は命令コード415の該DMA転送が終了したことを確認した後に、内部メモリ101に格納された命令コード415を実行する。これより、第1CPU103はその機能が変更され、ステップS7においてコーデックCのエンコーダとして動作する。
【0055】
以上より、本発明の実施の形態に係る情報処理方法においては、外部メモリ110あるいはサーバ120に格納される共通ライブラリ412が第1CPU103と第2CPU104とにおいて共用される。また、各CPUにより実行されるオブジェクトコードが独立して外部メモリ110等に格納され、該オブジェクトコードを単位として内部メモリ101へロードされる。
【0056】
これより、本発明の実施の形態に係る情報処理方法によれば、他のCPUの動作に影響を与えることなく各CPUの機能を変更することができると共に、外部メモリ110等に保持すべきコードのサイズを低減することができる。
【0057】
また、本発明の実施の形態に係る情報処理方法によれば、上記機能の変更に際して入れ替えるべき内部メモリ101内の命令コードのサイズが低減されるため、高速にCPUの機能を変更することができる。
【0058】
なお、上記情報処理方法はコンピュータにより実行されるプログラムにより記述でき、さらに該プログラムはフレキシブルディスクやCD−ROM等の記録媒体に記録することができる。従って、該プログラムをコンピュータにより実行することにより、本実施の形態に係る情報処理方法を容易に実現することができる。
【0059】
以上より、本発明の実施の形態に係る情報処理方法によれば、複数のコーデックによる音声圧縮展開プログラムを外部メモリ110に効率的に保持することができると共に、あるCPUに実行させるプログラム(命令コード)を他のCPUの動作に影響を与えることなく入れ替えることができる。
【0060】
【発明の効果】
本発明に係る情報処理方法あるいは該方法を実現するためのプログラム若しくは該プログラムを記録した記録媒体によれば、外部記憶手段に必要とされる記憶容量と、外部記憶手段から内部記憶手段にロードすべき情報量とを低減することができるため、該システム規模及びコストを低減し、該システムにおける情報処理速度を高めることができる。
【0061】
また、本発明に係る情報処理方法あるいは該方法を実現するためのプログラム若しくは該プログラムを記録した記録媒体によれば、他の中央演算処理装置の動作に影響を与えることなく、選択された中央演算処理装置の機能を容易に変更することができるため、動作の信頼性を担保しつつ該システムの汎用性を高めることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る情報処理を説明する図である。
【図2】本発明の実施の形態に係る実行可能コードを説明する図である。
【図3】図1に示された第1CPU及び第2CPUの動作を示すフローチャートである。
【図4】図1に示された第1CPUに対する機能変更方法の具体例を示すフローチャートである。
【図5】従来の情報処理システムの構成を示すブロック図である。
【図6】従来の実行可能コードを説明する図である。
【図7】図5に示された情報処理システムの動作を説明する図である。
【図8】図5に示された第1CPU及び第2CPUの動作を示すフローチャートである。
【符号の説明】
1 チップ、3 バス、101 内部メモリ、102 DMAコントローラ、103 第1CPU、104 第2CPU、105 ブート用メモリ、110 外部メモリ、111,411 ホストCPU、120 サーバ、212 第1命令コード、213 第2命令コード、214 第3命令コード、215 第4命令コード、302,304,505 リンク情報、305,306,506 実行可能コード、412 共通ライブラリ、413〜416 命令コード、501 オブジェクトコード、CG0 第1CPUコード群、CG1 第2CPUコード群。
Claims (12)
- 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実現される情報処理方法であって、
前記ホスト演算手段の指示により、いずれか一つの前記中央演算処理装置が前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードすると共に、他の前記中央演算処理装置が自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードするステップと、
各々の前記中央演算処理装置が、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行するステップとを有することを特徴とする情報処理方法。 - 前記ホスト演算手段が選択的に前記中央演算処理装置をリセットするステップと、
前記ホスト演算手段の指示により、選択的にリセットされた前記中央演算処理装置が前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードするステップと、
リセットされた前記中央演算処理装置が、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行するステップとをさらに有する請求項1に記載の情報処理方法。 - 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実現される情報処理方法であって、
前記ホスト演算手段が前記中央演算処理装置を選択的にリセットするステップと、
前記ホスト演算手段が、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込むステップと、
前記ホスト演算手段が、前記リセットされた中央演算処理装置のリセット状態を解除するステップと、
リセット状態が解除されたいずれか一つの前記中央演算処理装置が前記ブート用記憶手段に書き込まれた前記起動コードを実行することにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードすると共に、リセット状態が解除された他の前記中央演算処理装置が前記ブート用記憶手段に書き込まれた前記起動コードを実行することにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードするステップと、
リセット状態が解除された各々の前記中央演算処理装置が、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行するステップとを有することを特徴とする情報処理方法。 - 前記ホスト演算手段が選択的に前記中央演算処理装置を新たにリセットするステップと、
前記ホスト演算手段が、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込むステップと、
前記ホスト演算手段が、前記新たにリセットされた前記中央演算処理装置のリセット状態を解除するステップと、
リセット状態が解除された前記中央演算処理装置が前記新たな起動コードを実行することにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードするステップと、
前記リセット状態が解除された中央演算処理装置が、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行するステップとをさらに有する請求項3に記載の情報処理方法。 - 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムであって、
いずれか一つの前記中央演算処理装置に対し、前記ホスト演算手段からの指示に応じて前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードさせ、他の前記中央演算処理装置に対し、自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードさせ、
各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とするプログラム。 - さらに、前記ホスト演算手段に対して、選択的に前記中央演算処理装置をリセットさせ、
選択的にリセットされた前記中央演算処理装置に対し、前記ホスト演算手段の指示により、前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
リセットされた前記中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項5に記載のプログラム。 - 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムであって、
前記ホスト演算手段に対して、前記中央演算処理装置を選択的にリセットさせ、
前記ホスト演算手段に対して、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込ませ、
前記ホスト演算手段に対して、前記リセットされた中央演算処理装置のリセット状態を解除させ、
リセット状態が解除されたいずれか一つの前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせると共に、リセット状態が解除された他の前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせ、
リセット状態が解除された各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とするプログラム。 - さらに、前記ホスト演算手段に対して選択的に前記中央演算処理装置を新たにリセットさせ、
前記ホスト演算手段に対して、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込ませ、
前記ホスト演算手段に対して、前記新たにリセットされた中央演算処理装置のリセット状態を解除させ、
リセット状態が解除された前記中央演算処理装置に対して、前記新たな起動コードを実行させることにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
前記リセット状態が解除された中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項7に記載のプログラム。 - 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムを記録した記録媒体であって、前記プログラムは、
いずれか一つの前記中央演算処理装置に対し、前記ホスト演算手段からの指示に応じて前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードさせ、他の前記中央演算処理装置に対し、自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードさせ、
各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とする記録媒体。 - 前記プログラムはさらに、
前記ホスト演算手段に対して、選択的に前記中央演算処理装置をリセットさせ、
選択的にリセットされた前記中央演算処理装置に対し、前記ホスト演算手段の指示により、前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
リセットされた前記中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項9に記載の記録媒体。 - 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムを記録した記録媒体であって、前記プログラムは、
前記ホスト演算手段に対して前記中央演算処理装置を選択的にリセットさせ、前記ホスト演算手段に対して、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込ませ、
前記ホスト演算手段に対して、前記リセットされた中央演算処理装置のリセット状態を解除させ、
リセット状態が解除されたいずれか一つの前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせると共に、リセット状態が解除された他の前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせ、
リセット状態が解除された各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とする記録媒体。 - 前記プログラムはさらに、
前記ホスト演算手段に対して選択的に前記中央演算処理装置を新たにリセットさせ、
前記ホスト演算手段に対して、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込ませ、
前記ホスト演算手段に対して、前記新たにリセットされた中央演算処理装置のリセット状態を解除させ、
リセット状態が解除された前記中央演算処理装置に対して、前記新たな起動コードを実行させることにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
前記リセット状態が解除された中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項11に記載の記録媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002238437A JP3826859B2 (ja) | 2002-08-19 | 2002-08-19 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
PCT/JP2003/010409 WO2004017200A1 (ja) | 2002-08-19 | 2003-08-18 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
US10/523,786 US7363481B2 (en) | 2002-08-19 | 2003-08-18 | Information processing method for controlling the function of a plurality of processors, program for realizing the method, and recording medium |
EP03788134A EP1544731A4 (en) | 2002-08-19 | 2003-08-18 | INFORMATION PROCESSING METHOD AND PROGRAM AND RECORDING MEDIUM FOR IMPLEMENTING THE PROCESS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002238437A JP3826859B2 (ja) | 2002-08-19 | 2002-08-19 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078604A JP2004078604A (ja) | 2004-03-11 |
JP3826859B2 true JP3826859B2 (ja) | 2006-09-27 |
Family
ID=31884455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002238437A Expired - Fee Related JP3826859B2 (ja) | 2002-08-19 | 2002-08-19 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7363481B2 (ja) |
EP (1) | EP1544731A4 (ja) |
JP (1) | JP3826859B2 (ja) |
WO (1) | WO2004017200A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4976817B2 (ja) * | 2006-11-06 | 2012-07-18 | オンセミコンダクター・トレーディング・リミテッド | プログラム処理装置及びプログラム処理方法 |
JP2008276395A (ja) * | 2007-04-26 | 2008-11-13 | Toshiba Corp | 情報処理装置およびプログラム実行制御方法 |
US8788850B1 (en) * | 2009-01-22 | 2014-07-22 | Marvell International Ltd. | Systems and methods for using a security circuit to monitor a voltage of an integrated circuit to counter security threats to the integrated circuit |
CN102467472B (zh) * | 2010-11-08 | 2015-01-28 | 中兴通讯股份有限公司 | SoC芯片的BOOT启动装置和SoC芯片 |
JP5259784B2 (ja) * | 2011-07-25 | 2013-08-07 | 株式会社東芝 | 情報処理装置およびプログラム実行制御方法 |
US9229729B2 (en) * | 2012-11-26 | 2016-01-05 | International Business Machines Corporation | Initializing processor cores in a multiprocessor system |
US9753710B2 (en) * | 2013-11-07 | 2017-09-05 | Netronome Systems, Inc. | Resource allocation with hierarchical scope |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59100967A (ja) | 1982-11-30 | 1984-06-11 | Fuji Facom Corp | マルチプロセツサ・システムのイニシヤル処理方式 |
JPH01194054A (ja) * | 1988-01-29 | 1989-08-04 | Hitachi Ltd | 分散処理システムのプログラムローデイング方式 |
EP0335812B1 (en) * | 1988-03-28 | 1995-05-10 | International Business Machines Corporation | Secondary processor initialization scheme |
JPH0264844A (ja) * | 1988-08-31 | 1990-03-05 | Nec Corp | 情報処理装置 |
EP0483433A1 (en) * | 1990-10-31 | 1992-05-06 | International Business Machines Corporation | Initialization method for the initialization of secondary stations in an information processing system |
JP2906958B2 (ja) | 1993-12-17 | 1999-06-21 | 日本電気株式会社 | ユーザプログラムロード方式 |
JPH08185384A (ja) * | 1994-10-31 | 1996-07-16 | Nec Corp | ロードモジュール割り当て方法および割り当て装置 |
JPH08161283A (ja) | 1994-12-07 | 1996-06-21 | Sony Corp | 複数プロセツサシステム |
US6041180A (en) * | 1997-04-28 | 2000-03-21 | International Business Machines Corporation | System and method for optimizing template object files |
JPH1131076A (ja) | 1997-07-10 | 1999-02-02 | Nec Robotics Eng Ltd | マルチcpuシステム |
JP2000235495A (ja) * | 1999-02-17 | 2000-08-29 | Nippon Telegr & Teleph Corp <Ntt> | ファイル作成及びファイルローディング装置 |
JP4317296B2 (ja) * | 1999-09-17 | 2009-08-19 | 株式会社ターボデータラボラトリー | 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット |
WO2001027753A2 (en) * | 1999-10-12 | 2001-04-19 | Scientific-Atlanta, Inc. | Method and apparatus for loading software into a plurality of processors |
KR100387059B1 (ko) * | 2001-02-06 | 2003-06-12 | 삼성전자주식회사 | 이동통신 시스템에서 보드별 식별자를 이용하는 프로그램공용화 방법 |
-
2002
- 2002-08-19 JP JP2002238437A patent/JP3826859B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-18 EP EP03788134A patent/EP1544731A4/en not_active Withdrawn
- 2003-08-18 US US10/523,786 patent/US7363481B2/en not_active Expired - Fee Related
- 2003-08-18 WO PCT/JP2003/010409 patent/WO2004017200A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US7363481B2 (en) | 2008-04-22 |
EP1544731A4 (en) | 2009-12-16 |
US20060010312A1 (en) | 2006-01-12 |
JP2004078604A (ja) | 2004-03-11 |
EP1544731A1 (en) | 2005-06-22 |
WO2004017200A1 (ja) | 2004-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI524185B (zh) | 使用多重分頁表執行之技術 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
KR100883655B1 (ko) | 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법 | |
JP3826859B2 (ja) | 情報処理方法とその方法を実現するプログラム及び記録媒体 | |
JP2009020696A (ja) | 情報処理装置及びシステム | |
JPS61182160A (ja) | デ−タ処理装置 | |
US4991083A (en) | Method and system for extending address space for vector processing | |
CN103140834A (zh) | 用于填充存储器区域的处理器支持 | |
JPH09231071A (ja) | コンピュータ装置 | |
JP2009134565A (ja) | 仮想計算機システム及び仮想計算機システムの制御方法 | |
JP4471947B2 (ja) | データ処理装置及びデータ処理方法 | |
US20120005464A1 (en) | Start up processing method, information processing apparatus, and computer-readable storage medium storing program | |
US6105101A (en) | 16 bit bios interrupt calls under 32 bit protected mode application | |
JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
JP5187944B2 (ja) | コンピュータ使用可能コードを実行する装置及び方法 | |
JP2008046981A (ja) | システム制御装置、情報処理装置および入出力要求制御方法 | |
JP3733737B2 (ja) | プログラマブルコントローラおよび記録媒体 | |
JP6080492B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP7078380B2 (ja) | 命令制御装置、命令制御方法およびプログラム | |
KR20100111100A (ko) | 코드의 동적 재배치 방법 및 이를 이용한 디스크 드라이브 | |
KR20000008845A (ko) | 컴퓨터 시스템의 부팅방법 | |
JP4724289B2 (ja) | データ処理装置およびデータ処理装置のメモリアクセス制御方法 | |
JP2015215641A (ja) | 情報処理装置,エミュレーションプログラム,及びエミュレーション方法 | |
JP2004021422A (ja) | マイクロコンピュータ | |
JP6080490B2 (ja) | 情報処理装置、起動方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050531 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060626 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3826859 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |