トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 演算エンジン、マイクロプロセッサ、および、その演算制御方法
【発明者】 【氏名】江浜 真和
【住所又は居所】神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所内

【氏名】川口 敦生
【住所又は居所】神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所内

【氏名】田中 和彦
【住所又は居所】神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所内

【要約】 【課題】演算エンジンを搭載するマイクロプロセッサにおいて、演算エンジンの内部機構が簡易であり、リアルタイムに多様な複数のストリームデータを処理できるようにする。

【解決手段】演算エンジンを、演算設定レジスタと、演算器とで構成し、入力ストリームを、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部として、出力ストリームを、演算結果部と、演算手法または付加データを記述したフッタ部として、演算設定レジスタは、ヘッダ部の演算手法と付加データの一部を入力して、フッタ部を出力し、演算器は、ヘッダ部の付加データの一部とデータ部とに含まれるデータを入力して、演算結果部の演算結果を出力し、出力されるストリームデータのフッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いる。
【特許請求の範囲】
【請求項1】 ストリームデータを入力して演算する演算エンジンにおいて、入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、前記フッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジン。
【請求項2】 ストリームデータを入力して演算する演算エンジンにおいて、この演算エンジンは、演算設定レジスタと、演算器とを含み、入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、前記演算設定レジスタは、前記ヘッダ部の演算手法と付加データとを入力して、フッタ部を出力し、前記演算器は、前記ヘッダ部の付加データと前記データ部とに含まれるデータを入力して、前記演算結果部の演算結果を出力し、前記出力されるストリームデータのフッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジン。
【請求項3】 ストリームデータを入力して演算する演算エンジンの演算制御方法において、入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、前記フッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジンの演算制御方法。
【請求項4】 ストリームデータを入力して演算するマイクロプロセッサにおいて、このマイクロプロセッサは、演算エンジンを含み、主記憶装置には、異なった演算手法により演算する一つ以上のデータ群と、そのデータの演算手法または付加データを記述したヘッダ部とを格納しておき、前記主記憶装置より、入力データストリームとして演算手法または付加データを記述したヘッダ部と、演算対象のデータ部を読み出して、前記演算エンジンに入力し、前記ヘッダ部に記述された演算手法または付加データに基づいて演算した結果を、出力データストリームとして、演算結果部と、演算手法または付加データを記述したフッタ部として出力し、それらを再び前記主記憶装置に書き込むことを特徴とするマイクロプロセッサ。
【請求項5】 ストリームデータを処理するためのコンピュータシステムにおいて、このコンピュータシステムは、ストリームデータを格納する補助記憶装置と、マイクロプロセッサと、主記憶装置と、前記マイクロプロセッサで処理された結果を出力するための出力装置とからなり、前記ストリームデータは、演算手法または付加データを記述した部分と、演算対象となるデータ部とからなり、前記マイクロプロセッサは、前記補助記憶装置からそのストリームデータを読み込み、前記演算手法または付加データを記述した部分の情報を前記主記憶装置に保持して、前記主記憶装置に保持された前記演算手法または付加データを記述した部分の情報に従って、前記マイクロプロセッサは、前記演算対象となるデータ部に対して演算をおこなって、その演算の結果として、前記演算手法または付加データの情報を前記主記憶装置に書き戻し、かつ、前記出力装置に演算結果を出力することによって、異なった演算手法に対応するストリームデータを連続して前記補助記憶装置から読み込んで処理することを特徴とするコンピュータシステム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、演算エンジンとそれを搭載するマイクロプロセッサに係り、特に、画像処理、暗号処理など多様なデータストリームを処理するマルチメディアプロセッサに用いて好適な演算エンジンとそれを搭載するマイクロプロセッサに関する。
【0002】
【従来の技術】近年、プロセッサ技術の進展に伴って、画像データ、暗号データ、音声データなど多様なストリームデータを処理するためのマルチメディアプロセッサが開発されている。
【0003】従来、このようなフォーマットの異なる複数のストリームデータする場合には、リアルタイム性が重視される場合、入力されるストリームデータの数だけ演算器を設け、同時に処理することによりリアルタイムにデータを処理して出力していた。そして、演算結果は、主記憶装置へ保存され、必要に応じて出力される。また、リアルタイム性が重要でない場合には、ある一つのストリームデータ全てを処理して、その結果を主記憶装置へ格納後に、次のストリームデータの処理をおこない、主記憶装置へ格納するといったように順番に処理をおこなっていた。
【0004】画像ストリームを扱う技術としては、特開2000−13712号公報の「マルチ画面表示装置」があり、この公報には、複数の画像ストリームを入力し、それらを選択的に表示する技術が開示されている。この技術は、入力される複数のストリーム毎にIピクチャのみを取り出したデータをまとめて保存し、必要に応じて展開済みのデータを同一の画面に表示できるというものである。
【0005】
【発明が解決しようとする課題】フォーマットの異なる複数のストリームデータを処理する場合、途中で演算を中断することができず、少なくともストリームの切れ目まで処理する必要があった。そのために、ストリーム毎に演算器を設け、専用で処理できるようにしたが、ストリームデータの種類だけ演算器を設ける必要があり、製品コストの増大を招くという問題点があった。
【0006】例えば、上記従来技術では、ストリームデータの数だけ、検出手段、記憶手段を設けなければならなかった。
【0007】また、ある一つのストリームデータを切れ目まで処理し、別のフォーマットであるストリームデータを処理する場合、時間的なずれが生じることを防ぐために、処理後のストリームデータを保存することが可能な記憶装置を設ける必要があった。
【0008】本発明は、上記問題点を解決するためになされたもので、演算エンジンを搭載するマイクロプロセッサにおいて、リアルタイムに多様な複数のストリームデータを処理することが可能であり、しかも、内部機構が簡易な演算エンジンを搭載するマイクロプロセッサを提供することにある。
【0009】
【課題を解決するための手段】この発明に係る演算エンジンは、ストリームデータを入力する演算エンジンであって、演算結果を出力する演算器と、演算器の演算手法を設定することのできる演算設定レジスタとからなる。そして、演算エンジンに入力するストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部とからなる。演算エンジンは、入力されたストリームデータを、ヘッダ部とデータ部に分割して、ヘッダ部の演算手法と付加の一部は、演算設定レジスタに入力され、ヘッダ部の付加データの一部とデータ部のデータは、演算器に入力される。そして、演算終了時に演算設定レジスタの内容をフッタ部のデータとして出力し、演算器の内容を演算結果として出力し、このフッタ部と演算結果により、出力ストリームデータを作成して出力する。
【0010】そして、出力されるフッタ部の情報を、以降の入力ストリームデータのヘッダ部の情報として利用する。このようにして、演算の途中であっても、出力ストリームデータとして、出力し、次回の演算に利用することが可能であるので、特別な記憶装置を用意せずとも、簡単な機構で多種類にわたるストリームデータを効率的に処理することができる。
【0011】
【発明の実施の形態】以下、本発明に係る各実施形態を、図1ないし図6を用いて説明する。
【0012】〔実施形態1〕以下、本発明に係る第一の実施形態を、図1ないし図5を用いて説明する。
【0013】先ず、図1および図2を用いて本発明に係る演算エンジンと、それを搭載するマイクロプロセッサと主記憶装置からなるコンピュータシステムについて説明する。図1は、本発明に係る演算エンジンの構成とストリームデータの関係を示す概略図である。図2は、本発明に係る演算エンジンを搭載するマイクロプロセッサと主記憶装置からなるコンピュータシステムの構成図である。
【0014】図2に示されるように本発明の演算エンジンを搭載するマイクロプロセッサは、演算エンジン200と、コア205からなる。演算エンジン200は、特殊な演算をおこなうための専用のプロセッサであり、コア205は、命令の解釈、実行により、主記憶装置204からのデータをロードしたり、ストアする。
【0015】本発明の実施形態では、主記憶装置204に置かれた入力ストリーム100がマイクロプロセッサコア205を介して演算エンジン200へ転送される。転送された結果はマイクロプロセッサコアから主記憶装置204へ出力ストリーム105として書き戻される。
【0016】次に、図2を用いて本発明に係る演算エンジンの構成と、ストリームデータを処理するときの動作について説明する。
【0017】本発明の演算エンジンに入力される入力ストリーム100は、演算手法や付加データを記述したヘッダ101と演算の対象となる入力データ102から成る。
【0018】この入力ストリーム100を演算エンジン200へ入力し、ヘッダ101の内容の一部は、演算設定レジスタ201に、一部は、演算器202に転送され、また、入力データ102は、演算器202へ転送される。
【0019】そして、転送されたヘッダ101の内容を解釈することによって、演算器202の入力データ102の処理方法が決定され、演算結果104を出力する。入力データ102は、可変長であり、入力データ102の切れ目までは続けて演算器202に入力され演算結果104を出力する。
【0020】演算が終了して、演算エンジンから出力される出力ストリーム105は、演算結果103の後ろにフッタ104を添付した構成である。
【0021】フッタ103は、ヘッダ101を元にして作られるものであり、演算手法や演算途中結果である。
【0022】次に、図3および図4を用いて入力ストリーム100と出力ストリーム105の加工処理について説明する。図3は、入力ストリーム100と出力ストリーム105の各部の関係を示す模式図である。図4は、複数の入力ストリーム100が入力され、複数の出力ストリーム105が出力されるときの様子を示す模式図である。
【0023】図3に示されるように演算エンジン200に、入力ストリーム100として、ヘッダhと、データdが入力される。そして、これの演算結果の出力ストリーム105として、演算結果rと、フッタfが出力されたとする。
【0024】このときに、本発明の演算エンジンを搭載したマイクロプロセッサは、フッタfを、次の入力ストリーム100のヘッダhとして用いられるものである。
【0025】演算の内容としては、フッタfの内容と同一の内容であるときもあるし、それが加工されて用いられるときもある。
【0026】また、図4に示されるように演算エンジンに複数の入力ストリームが入力されるものとする。このとき、入力ストリームAと入力ストリームAは、関連データであり、入力ストリームAが入力ストリームAの続きのデータであるとする。
【0027】そして、入力ストリームBは、それらと無関係に処理されるデータであるとする。
【0028】本来なら、入力ストリームAの、次に、入力ストリームAが処理されるのが最も効率がよい。しかしながら、入力ストリームBをある時間内に処理しなければならない場合には、入力ストリームAに優先して処理することになる。
【0029】本発明では、そのような場合に、入力ストリームAのヘッダAを元にして作られたフッタAにそのような情報を反映させ、それを入力ストリームAのヘッダAを作成することにより、入力ストリームAの演算の途中結果を引き継いで、演算を再開することが可能になる。
【0030】したがって、このような入力ストリームBによる割り込み(順番の乱れ)も許されることになる。
【0031】次に、図5を用いて本発明の演算エンジンにより演算される入力ストリームと出力ストリームの具体例について説明する。図5は、暗号モジュールに用いられる入力ストリームと出力ストリームを示した模式図である。
【0032】本発明の演算エンジンは、例えば、暗号モジュールの処理に利用することができる。ヘッダ部に与える演算手法としては、どのような暗号を使っているかのモードであり、付加データとしては、データ長、暗号鍵、暗号の初期値などがある。
【0033】例えば、暗号のCBCモードを使用する場合のヘッダは、ワード0〜ワード5までのCBCモードを示す暗号モード、データ長n、暗号鍵64ビットと暗号初期値64ビットである。ワード4とワード5に格納されている暗号初期値は、特にCBCモードの場合、演算結果を次の入力データと排他的論理和をとることにより暗号化をおこなうため、最初に演算する場合は、演算結果が存在しないため初期値を予め設定しておく必要があり、そのための初期値である。
【0034】そして、入力ストリーム100のワード6〜ワード(n+5)については、平文、すなわち、暗号前のデータである。
【0035】ヘッダに格納されている暗号モードの部分で演算エンジンの演算手法を定義しており、データ長nにデータである平文の処理量を示しておりこの値の処理が終了した時点で、暗号エンジンはフッタの出力を開始する。この暗号モードと、データ長に格納された情報は、図1に示される演算エンジン200の中の演算設定レジスタ201に送られる。
【0036】また、鍵と暗号初期値は、転送されてくる平文の暗号化に使用されるデータである。これらは、平文データと同様に、演算エンジン200の演算器202へ送られ、演算器で平文データが暗号化される。そして、暗号化をおこなったデータから順に演算結果として、出力され、データ長nの処理が終了した場合には、フッタとして暗号化に使用した暗号モード、データ長n、鍵64ビットと途中結果64ビットを出力する。
【0037】途中結果はCBCモードの排他的論理和で使用する値であり、次の暗号化の暗号初期値となる。
【0038】ここで、データ部にあたるのは、暗号文が格納された出力ストリームのワード0〜ワードnまでの値であり、フッタにあたるのは、暗号モード、データ長n、鍵と途中結果が格納された出力ストリームのワードn〜ワード(n+5)までの値である。そして、次の暗号処理の演算では、これらのフッタの情報をそのままヘッダとして使用でき、続けてデータとして平文を与えてやることで暗号文を得ることが可能である。
【0039】〔実施形態2〕以下、本発明に係る第二の実施形態を、図6を用いて説明する。図6は、本発明の演算エンジンを動画データの処理に応用したシステムのシステム構成図である。
【0040】本実施形態は、本発明の演算エンジンのストリームの処理を、動画データの処理に応用した例である。
【0041】このシステムは、図6に示されるように、ハードディスクなどの補助記憶装置内の動画データA209と動画B210をネットワーク206を用いて、マイクロプロセッサ203へ接続し、動画A209と動画B210を同時に出力できるシステムである。
【0042】先ず、システムは、データA207をネットワーク206を用いてマイクロプロセッサ203へ転送する。マイクロプロセッサ203内のメモリコントローラ212は、受け取ったデータA214を、常に主記憶装置204内に保存しているヘッダA213の後へ保存し、ストリームデータAを作る。
【0043】ストリームデータAは、コプロセッサ211からの要求によりメモリコントローラ212を介して転送されヘッダA213に従って演算をおこない、その結果をメモリコントローラ212を介して主記憶装置204へ保存する。
【0044】この際、保存するデータは演算した結果である動画A215とフッタA216である。このフッタA216はデータA207からくる次のデータのヘッダA213として使用することになるため、このまま主記憶装置204に保持される。主記憶装置204内の動画データ215は、再度メモリコントローラ212を介してNTSC出力213を通り、外部へ動画A209として出力される。また、同時に出力すべきデータB208は、ネットワーク206を介してメモリコントローラ212を通り、主記憶装置204へ転送される。
【0045】一方、この時、転送されたデータB218は、コプロセッサ211がおこなう演算手法を記述したヘッダB217の後へ保存され、ストリームデータBを形成する。ストリームデータBはメモリコントローラを介してコプロセッサ211へ転送されヘッダB217に従って処理をおこない、演算結果である動画B219とフッタBを主記憶装置へ転送する。
【0046】そして、動画B219の部分のみ主記憶装置204からメモリコントローラ212、NTSC出力213を介して動画B210として外部へ出力される。これらの一連の処理は、時分割制御でおこなわれており、コプロセッサ211は、データA214とデータB218を切替えて処理をおこなっており、処理の方式は各々ヘッダA213とヘッダB217に記述されたとおりにおこなれる。
【0047】ヘッダの内容としては、具体的には、動画データの拡大率、表示位置、再生速度などが考えられる。
【0048】ここで重要なのは、ヘッダとフッタは、常に主記憶装置204に常駐しているため、補助記憶装置にアクセスすることなく、演算速度の低下が生じないことにある。
【0049】
【発明の効果】本発明によれば、演算エンジンを搭載するマイクロプロセッサにおいて、リアルタイムに多様な複数のストリームデータを処理することが可能であり、しかも、内部機構が簡易な演算エンジンを搭載するマイクロプロセッサを提供することができる。
【出願人】 【識別番号】000005108
【氏名又は名称】株式会社日立製作所
【住所又は居所】東京都千代田区神田駿河台四丁目6番地
【出願日】 平成14年5月15日(2002.5.15)
【代理人】 【識別番号】100068504
【弁理士】
【氏名又は名称】小川 勝男 (外2名)
【公開番号】 特開2003−330703(P2003−330703A)
【公開日】 平成15年11月21日(2003.11.21)
【出願番号】 特願2002−140061(P2002−140061)