JP3826859B2 - 情報処理方法とその方法を実現するプログラム及び記録媒体 - Google Patents

情報処理方法とその方法を実現するプログラム及び記録媒体 Download PDF

Info

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
Application number
JP2002238437A
Other languages
English (en)
Other versions
JP2004078604A (ja
Inventor
茂夫 杉森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002238437A priority Critical patent/JP3826859B2/ja
Priority to PCT/JP2003/010409 priority patent/WO2004017200A1/ja
Priority to US10/523,786 priority patent/US7363481B2/en
Priority to EP03788134A priority patent/EP1544731A4/en
Publication of JP2004078604A publication Critical patent/JP2004078604A/ja
Application granted granted Critical
Publication of JP3826859B2 publication Critical patent/JP3826859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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

【0001】
【発明の属する技術分野】
本発明は情報処理方法とその方法を実現するためのプログラム、及び該プログラムを記録した記録媒体に関するものである。
【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のリセット状態を解除する。そして、ステップSにおいて、第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. 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実現される情報処理方法であって、
    前記ホスト演算手段の指示により、いずれか一つの前記中央演算処理装置が前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードすると共に、他の前記中央演算処理装置が自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードするステップと、
    各々の前記中央演算処理装置が、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行するステップとを有することを特徴とする情報処理方法。
  2. 前記ホスト演算手段が選択的に前記中央演算処理装置をリセットするステップと、
    前記ホスト演算手段の指示により、選択的にリセットされた前記中央演算処理装置が前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードするステップと、
    リセットされた前記中央演算処理装置が、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行するステップとをさらに有する請求項1に記載の情報処理方法。
  3. 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実現される情報処理方法であって、
    前記ホスト演算手段が前記中央演算処理装置を選択的にリセットするステップと、
    前記ホスト演算手段が、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込むステップと、
    前記ホスト演算手段が、前記リセットされた中央演算処理装置のリセット状態を解除するステップと、
    リセット状態が解除されたいずれか一つの前記中央演算処理装置が前記ブート用記憶手段に書き込まれた前記起動コードを実行することにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードすると共に、リセット状態が解除された他の前記中央演算処理装置が前記ブート用記憶手段に書き込まれた前記起動コードを実行することにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードするステップと、
    リセット状態が解除された各々の前記中央演算処理装置が、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行するステップとを有することを特徴とする情報処理方法。
  4. 前記ホスト演算手段が選択的に前記中央演算処理装置を新たにリセットするステップと、
    前記ホスト演算手段が、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込むステップと、
    前記ホスト演算手段が、前記新たにリセットされた前記中央演算処理装置のリセット状態を解除するステップと、
    リセット状態が解除された前記中央演算処理装置が前記新たな起動コードを実行することにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードするステップと、
    前記リセット状態が解除された中央演算処理装置が、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行するステップとをさらに有する請求項3に記載の情報処理方法。
  5. 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムであって、
    いずれか一つの前記中央演算処理装置に対し、前記ホスト演算手段からの指示に応じて前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードさせ、他の前記中央演算処理装置に対し、自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードさせ、
    各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とするプログラム。
  6. さらに、前記ホスト演算手段に対して、選択的に前記中央演算処理装置をリセットさせ、
    選択的にリセットされた前記中央演算処理装置に対し、前記ホスト演算手段の指示により、前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
    リセットされた前記中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項5に記載のプログラム。
  7. 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムであって、
    前記ホスト演算手段に対して、前記中央演算処理装置を選択的にリセットさせ、
    前記ホスト演算手段に対して、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込ませ、
    前記ホスト演算手段に対して、前記リセットされた中央演算処理装置のリセット状態を解除させ、
    リセット状態が解除されたいずれか一つの前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせると共に、リセット状態が解除された他の前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせ、
    リセット状態が解除された各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とするプログラム。
  8. さらに、前記ホスト演算手段に対して選択的に前記中央演算処理装置を新たにリセットさせ、
    前記ホスト演算手段に対して、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込ま
    前記ホスト演算手段に対して、前記新たにリセットされた中央演算処理装置のリセット状態を解除させ、
    リセット状態が解除された前記中央演算処理装置に対して、前記新たな起動コードを実行させることにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
    前記リセット状態が解除された中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項7に記載のプログラム。
  9. 複数の中央演算処理装置と内部記憶手段とを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムを記録した記録媒体であって、前記プログラムは、
    いずれか一つの前記中央演算処理装置に対し、前記ホスト演算手段からの指示に応じて前記共通コードと自己において実行するよう定められた前記命令コードとを前記外部記憶手段から前記内部記憶手段へロードさせ、他の前記中央演算処理装置に対し、自己において実行するよう定められた前記命令コードを前記外部記憶手段から前記内部記憶手段へロードさせ、
    各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とする記録媒体。
  10. 前記プログラムはさらに、
    前記ホスト演算手段に対して、選択的に前記中央演算処理装置をリセットさせ、
    選択的にリセットされた前記中央演算処理装置に対し、前記ホスト演算手段の指示により、前記自己において実行するよう定められた命令コードを前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
    リセットされた前記中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項9に記載の記録媒体。
  11. 複数の中央演算処理装置と内部記憶手段とブート用記憶手段とダイレクトメモリアクセスコントローラを含むプロセッサと、前記複数の中央演算処理装置において共通して実行される共通コード及び予め定められたいずれか一つの前記中央演算処理装置において実行される命令コードが格納された外部記憶手段と、ホスト演算手段とがバスにより相互接続されたシステムにおいて実行されるプログラムを記録した記録媒体であって、前記プログラムは、
    前記ホスト演算手段に対して前記中央演算処理装置を選択的にリセットさせ、前記ホスト演算手段に対して、リセットされた前記中央演算処理装置により実行される起動コードを前記ブート用記憶手段へ書き込ませ、
    前記ホスト演算手段に対して、前記リセットされた中央演算処理装置のリセット状態を解除させ、
    リセット状態が解除されたいずれか一つの前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、前記共通コードと自己において実行するよう定められた前記命令コードとを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせると共に、リセット状態が解除された他の前記中央演算処理装置に対して、前記ブート用記憶手段に書き込まれた前記起動コードを実行させることにより、自己において実行するよう定められた前記命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へロードさせ、
    リセット状態が解除された各々の前記中央演算処理装置に対して、前記内部記憶手段にロードされた前記共通コードと前記自己において実行するよう定められた命令コードとをそれぞれ実行させることを特徴とする記録媒体。
  12. 前記プログラムはさらに、
    前記ホスト演算手段に対して選択的に前記中央演算処理装置を新たにリセットさせ、
    前記ホスト演算手段に対して、新たにリセットされた前記中央演算処理装置により実行される新たな起動コードを前記ブート用記憶手段へ書き込ませ、
    前記ホスト演算手段に対して、前記新たにリセットされた中央演算処理装置のリセット状態を解除させ、
    リセット状態が解除された前記中央演算処理装置に対して、前記新たな起動コードを実行させることにより、前記自己において実行するよう定められた命令コードを前記ダイレクトメモリアクセスコントローラを用いて前記外部記憶手段から前記内部記憶手段へ新たにロードさせ、
    前記リセット状態が解除された中央演算処理装置に対して、前記内部記憶手段に新たにロードされた前記自己において実行するよう定められた命令コードを実行させる請求項11に記載の記録媒体。
JP2002238437A 2002-08-19 2002-08-19 情報処理方法とその方法を実現するプログラム及び記録媒体 Expired - Fee Related JP3826859B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 이동통신 시스템에서 보드별 식별자를 이용하는 프로그램공용화 방법

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