JP2004326228A - 並列演算処理装置 - Google Patents

並列演算処理装置 Download PDF

Info

Publication number
JP2004326228A
JP2004326228A JP2003116844A JP2003116844A JP2004326228A JP 2004326228 A JP2004326228 A JP 2004326228A JP 2003116844 A JP2003116844 A JP 2003116844A JP 2003116844 A JP2003116844 A JP 2003116844A JP 2004326228 A JP2004326228 A JP 2004326228A
Authority
JP
Japan
Prior art keywords
processing
output
external
external input
unit
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.)
Pending
Application number
JP2003116844A
Other languages
English (en)
Inventor
Yasuhiro Kubo
泰裕 久保
Tatsuro Shigesato
達郎 重里
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003116844A priority Critical patent/JP2004326228A/ja
Publication of JP2004326228A publication Critical patent/JP2004326228A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Picture Signal Circuits (AREA)

Abstract

【課題】並列演算処理装置の各演算ユニットで実施できる処理は決まっており、スケジューリングによっては待ちが発生する。
【解決手段】並列演算処理装置101は、外部入力手段102と、ストリーム入出力手段103と、外部出力手段104と、バス網105と、専用処理回路106と、演算ユニット107〜109と、第1〜第3のクロック113〜115を選択するセレクタ110〜112と、外部入力処理、外部出力処理、外部入力処理および外部出力処理以外の処理を適応的に演算ユニット107〜109に割り当てる制御手段122を備える。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は複数の演算ユニットを具備する並列演算装置において、各演算ユニットに適応的に処理を割り当てる並列演算処理装置に関するものである。
【0002】
【従来の技術】
従来の専用ハードウエア構成によるメディア処理LSIのブロック図を図9に示す。901はLSIであり、902は入出力処理手段、903、906、908はSRAM、904は外部SDRAM、905はME処理手段、907はコーデック処理手段、909はストリーム入力手段、910はストリーム出力手段である。
【0003】
入出力処理手段902は、外部入力ビデオ信号や外部出力ビデオ信号と同期した処理を行う。例えば、リサイズ、ズーム、補間、ノイズキャンセラ、プリフィルタ、ポストフィルタ、逆γ補正、γ補正、撮像処理、特徴抽出、NTSC/PALのエンコード/デコード、補色/RGB変換、RGB/YUV変換、輝度・色合い・色相変換、OSD、画像合成、インタレース/プログレッシブ変換などの処理である。
【0004】
外部から入力されたビデオ信号は、入出力処理手段902で入力側の処理をされ、処理後のデータが外部SDRAM904に保存される。SRAM903は入出力処理手段902でローカルに使用されるメモリである。
【0005】
図9中の破線は、入出力信号とは非同期の処理、すなわち、内部クロックに同期した処理を示すブロックである。エンコード時には、外部SDRAM904からのデータを受け、ME処理手段905は、動き検出処理を行い、コーデック処理手段907は離散コサイン変換(以下DCT)や量子化(以下Q)や可変長符号化(以下VLC)などの処理を行い、MPEG2やMPEG4のストリームは生成され、ストリーム出力手段910を介して出力される。SRAM906、SRAM908は、それぞれME処理手段905、コーデック処理手段907でローカルに使用されるメモリである。
【0006】
また、デコード時には、ストリーム入力手段909からのストリームに対し、コーデック処理手段907は、可変長復号化(以下VLD)や逆量子化(以下IQ)や逆離散コサイン変換(以下IDCT)を行い、外部SDRAM904にデータを保存する。入出力処理手段902は、外部SDRAM904からデータを読み出し、出力側の処理を行い、ビデオ出力する。
【0007】
図9に示した専用ハードウエア構成によるLSIの特徴は、各処理手段毎に処理を最適化することができるため、消費電力を低くすることができる。しかしながら、汎用性に欠け、各手段の処理を変更するためには人数も期間もかかってしまう。例えば、コーデック手段の処理をMPEG2からMPEG2とMPEG4の兼用にする。あるいは、JPEGからJPEG2000にするなどといった変更の場合、ハードウエアロジックで該当部分を一から作り直す必要があり、膨大な開発期間、開発コストが必要とされる。
【0008】
一方、汎用ハードウエア構成によるメディア処理LSIのブロック図を図10に示す。1001はLSIであり、1002は外部入出力手段、1003はバス網であり、1004、1005、1006は演算ユニットであり、1007はストリーム入出力手段、1008は外部SDRAMである。
【0009】
ビデオ信号は、外部入出力手段1002に入力され、データはバス網1003を介して演算ユニット1004〜1006の間でやり取りされる。各演算ユニットでは、外部入出力処理または外部入出力以外の処理(例えばコーデック処理)が設計段階で割り当てられている。なお、外部SDRAM1008は演算ユニット1004〜1006の各処理で使用され、バス網1003を介してデータ転送される。
【0010】
エンコードの場合、例えば、演算ユニット1004、1005で外部入出力処理を行い、前記以外の演算ユニットでコーデック処理を行い、バス網1003を介して外部SDRAM1008に保存する。ストリーム入出力手段1007は外部SDRAMから読み出したストリームを出力する。出力されたストリームは、図示されていないが、メモリカードなどに記録される。
【0011】
デコードの場合、TVチューナやメモリカードからストリームがストリーム入出力手段1007を介して供給され、例えば、演算ユニット1004、1005以外の演算ユニットでコーデック処理を行い、バス網1003を介して外部SDRAM1008に保存する。演算ユニット1004、1005は外部SDRAM1008からデータを読み出し、外部入出力処理を行い、外部入出力手段1002よりビデオ信号が出力される。
【0012】
図10に示した汎用ハードウエア構成によるLSIの特徴は、全体で動作周波数が最適化されており、専用ハードウエア構成によるLSIに比べ、その周波数も高くなり、消費電力やチップサイズの面で見劣りする。その反面、開発や変更が容易である点で優れている。
【0013】
特に最近の市場では、一番最初に新商品を投入した企業がその市場のシェアを占める「先行企業による寡占化」が進んできており、開発の期間短縮が求められている。そのため、規格化の段階で開発を開始せざるを得ない状況も発生しており、ソフトウエアによりロジック変更が可能である汎用的なメディア処理LSIが求められている(例えば、特許文献1参照)。
【0014】
【特許文献1】
特開平5−108586号公報
【0015】
【発明が解決しようとする課題】
従来の並列演算装置の各演算ユニットでは、あらかじめ各処理への割り当てが決められており変更はできない。例えば外部入出力処理の演算ユニットの処理が空いていても、外部入出力以外の処理を実行している演算ユニットがあれば、空いている演算ユニットではスケジューリングによる待ちが発生していた。この時、空いている演算ユニットは電力を消費しており、消費電力の面で劣っていた。
【0016】
本発明では、各処理を個々の演算ユニットに適応的に割り当てることにより、上記のような演算ユニットが最適に利用されていないという課題を解決する。
【0017】
【課題を解決するための手段】
上述した課題を解決するために、第1の本発明(請求項1に記載の本発明に対応)は、外部入力手段と、外部出力手段と、処理を選択可能な複数の演算ユニットと、制御手段を具備し、前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットに割り当てることを特徴とする並列演算処理装置である。
【0018】
また、第2の本発明(請求項3に記載の本発明に対応)は、外部入出力手段と、処理を選択可能な複数の演算ユニットと、制御手段を具備し、前記制御手段は前記外部入出力手段からの外部入出力処理と、前記外部入出力手段以外の処理を個々の演算ユニットに割り当てることを特徴とする並列演算処理装置である。
【0019】
また、第3の本発明(請求項5に記載の本発明に対応)は、外部入力手段と、外部出力手段と、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに割り当て、前記外部入力手段あるいは前記外部出力手段とのデータのやり取りは、前記メモリを介して行うことを特徴とする並列演算処理装置である。
【0020】
また、第4の本発明(請求項7に記載の本発明に対応)は、外部入出力手段と、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、前記制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに割り当て、前記外部入出力手段とのデータのやり取りは、前記メモリを介して行うことを特徴とする並列演算処理装置である。
【0021】
また、第5の本発明(請求項9に記載の本発明に対応)は、外部入力手段と、外部出力手段と、第1のバッファと、第2のバッファと、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに割り当て、前記外部入力手段とのデータのやり取りは、前記第1のバッファを介し、前記メモリまたは前記演算ユニットと前記第1のバッファ間で通信し、前記外部出力手段とのデータのやり取りは、前記第2のバッファを介し、前記メモリまたは前記演算ユニットと前記第2のバッファ間で通信することを特徴とする並列演算処理装置である。
【0022】
また、第6の本発明(請求項11に記載の本発明に対応)は、外部入出力手段と、バッファと、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、前記制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに割り当て、前記外部入出力手段とのデータのやり取りは前記バッファを介し、前記メモリまたは前記演算ユニットとバッファ間で通信することを特徴とする並列演算処理装置である。
【0023】
【発明の実施の形態】
以下に、本発明の第1〜第6の実施の形態を図1〜図6にて説明する。なお、各実施の形態の制御手段は図7を用いて後述する。同様に、各実施の形態の演算ユニットは図8を用いて後述する。
【0024】
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるブロック図である(請求項1記載の本発明に相当)。本発明の第1の実施の形態の並列演算処理装置101は、外部入力手段102、ストリーム入出力手段103、外部出力手段104、バス網105、専用処理回路106、演算ユニット107〜109、セレクタ110〜112、第1のクロック113、第2のクロック114、第3のクロック115、セレクタ制御信号116〜118、ユニット制御信号119〜121、制御手段122、外部SDRAM123で構成される。
【0025】
外部入力手段102から入力されたビデオ信号は、バス網105を介して、専用処理回路106、演算ユニット107〜109、外部SDRAM123のいずれかへ転送される。演算ユニット107〜109は、外部入力処理と、外部出力処理と、コーデック処理のいずれか一つの処理を実行する。前記処理の割り当ては、制御手段122のユニット制御信号119〜121によって実施される。
【0026】
また、第1のクロック113は、外部入力処理に使用される外部入力クロック、第2のクロック114は、外部出力処理に使用される外部出力クロック、第3のクロック115は、コーデック処理などに使用される内部クロックである。セレクタ110〜112には、前記3つのクロック113〜115が入力され、制御手段122からのセレクタ制御信号116〜118によって3つのクロックのいずれか1つが選択されることにより、演算ユニット107〜109の動作クロックが決定される。
【0027】
また、専用処理回路106は、第3のクロック115で動作し、演算ユニット107〜109で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCT/IDCTなど)を実行する。
【0028】
また、外部SDRAM123は、バス網105に接続されている各手段におけるデータ処理時に使用される。
【0029】
また、演算ユニット107〜109または外部SDRAM123からの出力は、バス網105を介して外部出力手段104からビデオ出力される。
【0030】
以上の構成により、並列演算処理装置101は、演算ユニット107〜109に外部入力処理、外部出力処理、コーデック処理を割り当てることができる。また、本構成は、外部入力と外部出力の動作周波数が異なる場合に有効である。
【0031】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段122は、演算ユニット107に外部入力処理を、演算ユニット108に外部出力処理を、演算ユニット107、108以外の演算ユニット(以下、第1の実施の形態のコーデック処理用演算ユニット)にコーデック処理を割り当てる。すなわち、制御手段122は、多くの演算ユニットにコーデック処理を割り当てる。
【0032】
エンコードの場合、外部入力手段102から入力されたビデオ信号は、バス網105を介して、演算ユニット107で外部入力処理され、外部SDRAM123にデータが保存される。コーデック処理用演算ユニットおよび専用処理回路106は、前記データをエンコード処理し、外部SDRAM123にストリームを保存する。ストリーム入出力手段103は、前記ストリームを外部SDRAM123より読み出し、ストリームはメモリカードなどに記録される。
【0033】
デコードの場合、ストリーム入出力手段103から入力されたストリームは、バス網105を介し、外部SDRAM123に保存される。第1の実施の形態のコーデック用演算ユニットおよび専用処理回路106は、デコード処理し、外部SDRAM123にデータを保存する。演算ユニット108は、外部SDRAM123のデータを外部出力処理し、外部出力手段104はビデオ信号を出力する。
【0034】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段122は、演算ユニット107、108に外部入力処理を割り当て、演算ユニット109に外部入力処理および外部出力処理以外の処理を割り当て、前記以外の演算ユニット(以下、第1の実施の形態の外部出力処理用演算ユニット)に外部出力処理を割り当てる。すなわち、制御手段122は、多くの演算ユニットに外部入力処理および外部出力処理を割り当てる。
【0035】
この時、外部入力手段102から入力されたビデオ信号は、演算ユニット107、108で外部入力処理され、外部SDRAM123に保存される。第1の実施の形態の外部出力処理用演算ユニットは、外部SDRAM123から読み出したデータを外部出力処理し、外部出力手段104よりビデオ信号を出力する。
【0036】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0037】
なお、専用処理回路106は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)が存在しても構わない。
【0038】
また、ストリーム入出力手段103は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0039】
図7は、本発明の第1の実施の形態で使用される制御手段のブロック図である。なお以下に記載する実施の形態2〜6で使用される制御手段についても同様である。制御手段701は、命令キャッシュ702と、命令デコーダ703と、制御回路704、BIOS705で構成され、ホストからの命令706、演算ユニット状態信号709、動作モード選択信号710、動作状態信号711が制御手段701への入力であり、ユニット制御信号707(図1の119〜121、図2の217〜219、図3の322〜324、図4の420〜422、図5の518〜520、図6の615〜617に相当)、セレクタ制御信号708(図1の116〜118、図2の214〜216、図3の319〜321、図4の417〜419に相当)が出力である。制御回路704は、BIOS705を更新することにより新しいアルゴリズムで動作変更が可能なものとする。
【0040】
制御手段701は、外部または(図1〜図6では図示していない)内部ホストからの命令706を命令キャッシュ702に保存し、命令デコーダ703は命令キャッシュから読み出した命令をデコードする。制御回路704は、デコード結果と演算ユニット状態信号709、動作モード選択信号710、動作状態信号711から各演算ユニットで実行する各種処理の割り当てや動作クロックを変更するために、ユニット制御信号707、セレクタ制御信号708を出力する。
【0041】
動作状態信号711を制御回路704に入力することにより、例えばBIOS705の更新や再起動(リセット)がなされたことを制御回路704は知ることができ、本信号をトリガとしてBIOS705より新しいプログラムをロードし、新規アルゴリズムでユニット制御信号707またはセレクタ制御信号708を制御することができる。
【0042】
また、動作モード選択信号710を制御回路704に入力することにより、動作モードに応じて各演算ユニットの処理のウェイトを変更することができる。例えばカメラモードとTVモードの2種類の動作モードを持つ並列演算処理装置の場合、カメラモードにおけるRAWデータ出力などでは、外部入出力処理の処理ウェイトが高く、TVモードの場合には、コーデック処理の処理ウェイトが高くなると考えられる。ユーザがスイッチで前記動作モードのどの動作モードを選択したかを示す動作モード選択信号710を用いることで、カメラモードでは、外部入出力処理に多くの演算ユニットを割り当て、TVモードでは、コーデック処理を多くの演算ユニットに割り当てることができ、より効率的な動作をする並列演算処理装置を提供することができる。なお、動作モードは、この2種類に限定されるものではない。
【0043】
また、各演算ユニットの動作状態(負荷、処理量、処理時間、動作状態など)を示す演算ユニット状態信号709を制御回路704にフィードバックすることにより、負荷の高い演算ユニットが実行している演算を空いている演算ユニットに振り分けることができる。さらに、各演算ユニットのスケジュールのタイミングなどを調整することができる。
【0044】
また、前記動作モード選択信号710が(制御回路704に入力されず)前記ホストに入力され、動作モード選択をホストからの命令で指示する場合、制御回路704にホストからの命令706のデコード結果を反映させることにより、各演算ユニットへ処理を割り当てることができる)。なお、制御手段701は、前記ホストを含んでいる場合も考えられる。
【0045】
図8は、本発明の第1の実施の形態で使用される演算ユニットのブロック図である。なお、実施の形態2〜6で使用される演算ユニットについても同様である。演算ユニット801は、ローカルバス802、積和演算回路803、論理演算回路804、算術演算回路805、シフト演算回路806、ME処理回路807、制御回路808で構成され、各演算回路や処理回路で処理されるデータはローカルバス802を介してバス網809を通じてやり取りが行われる。制御回路808は、本発明の第1〜第6の実施の形態における制御手段からのユニット制御信号810(図1の119〜121、図2の217〜219、図3の322〜324、図4の420〜422、図5の518〜520、図6の615〜617に相当)を入力とし、積和演算回路803、論理演算回路804、算術演算回路805、シフト演算回路806、ME処理回路807の処理をそれぞれ設定する。演算ユニット801の動作クロックは、第1の実施の形態では、セレクタで選択された第1〜第3のクロック113〜115のいずれかであり、第3の実施の形態では、第3のクロック318であり、第5の実施の形態では、第3のクロック517である。
【0046】
さらに、選択クロック811を演算ユニット801に直接入力する代わりに、選択クロック811を1/nにするn分周回路812と、セレクタ813と、フリップフロップ814で構成される破線部の回路を追加し、クロック信号817を演算ユニット801に入力することで、低消費電力化の効果を得られる。セレクタ813は、第1〜第6の実施の形態の制御手段が出力する(図7に示していない)分周クロック選択信号815により、選択クロック811またはそのn分周クロックを選択する。フリップフロップ814は、前記制御手段が出力する(図7に示していない)クロック制御信号816により、セレクタ813で選択されたクロックをそのまま出力あるいは出力をホールドする。
【0047】
以上のように、本構成で前記制御手段は(図7に示していない)クロック制御信号816をさらに出力することにより、演算ユニット801に供給されるクロックをホールドし、そのスイッチングを低減することができる。その結果、動作周波数の2乗に比例する消費電力を低減することができる。
【0048】
さらに、前記制御手段は(図7に示していない)分周クロック選択信号815を出力し、あわせてn個の演算ユニットに処理を割り当てることにより、各演算ユニットの動作周波数を1/nに低減し、消費電力を低減することができる。例えば、66MHzで動作する1個の演算ユニットがあり、動作停止している演算ユニットが1つある場合、両演算ユニットを1/2に分周した33MHzで動作させることにより(消費電力は動作周波数の2乗に比例するため)、トータルの消費電力を低減できる。
【0049】
なお、演算ユニット801に含まれる各種演算回路の一部がなくなり、バス網809に汎用プロセッサが接続される場合も考えられる。また、演算ユニット801は、図8に示す各種演算回路以外の回路が含まれる場合も考え得る。
【0050】
(第2の実施の形態)
図2は、本発明の第2の実施の形態におけるブロック図である(請求項3記載の本発明に相当)。本発明の第2の実施の形態の並列演算処理装置201は、外部入出力手段202、ストリーム入出力手段203、バス網204、専用処理回路205、演算ユニット206〜208、セレクタ209〜211、第1のクロック212、第2のクロック213、セレクタ制御信号214〜216、ユニット制御信号217〜219、制御手段220、外部SDRAM221で構成される。
【0051】
外部入出力手段202から入力されたビデオ信号は、バス網204を介して、専用処理回路205、演算ユニット206〜208、外部SDRAM221のいずれかへ転送される。演算ユニット206〜208は、外部入出力処理と、コーデック処理のどちらかの処理を実行する。前記処理の割り当ては、制御手段220のユニット制御信号217〜219によって実施される。
【0052】
また、第1のクロック212は、外部入出力処理に使用される外部入出力クロック、第2のクロック213は、コーデック処理などに使用される内部クロックである。セレクタ209〜211には、前記2つのクロック212、213が入力され、制御手段220からのセレクタ制御信号214〜216によって2つのクロックのどちらか1つが選択されることにより、演算ユニット206〜208の動作クロックがそれぞれ決定される。
【0053】
また、専用処理回路205は、第2のクロック213で動作し、演算ユニット206〜208で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCT/IDCTなど)を実行する。
【0054】
また、外部SDRAM221は、バス網204に接続されている各手段におけるデータ処理時に使用される。
【0055】
また、演算ユニット206〜208または外部SDRAM221からの出力は、バス網204を介して外部入出力手段202からビデオ出力される。
【0056】
以上の構成により、並列演算処理装置201は、演算ユニット206〜208に外部入出力処理、コーデック処理を割り当てることができる。また、本構成は、外部入力と外部出力が同じ動作周波数である場合、あるいは、再生専用機器のように外部出力のみを処理する場合、あるいは、記録専用機器のように外部入力のみを処理する場合に有効である。
【0057】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段220は、演算ユニット206に外部入出力処理を割り当て、演算ユニット207〜208にコーデック処理を割り当てる。すなわち、制御手段220は、多くの演算ユニットにコーデック処理を割り当てる。
【0058】
エンコードの場合、外部入出力手段202から入力されたビデオ信号は、バス網204を介して、演算ユニット206で外部入出力処理され、外部SDRAM221にデータが保存される。演算ユニット207〜208および専用処理回路205は、前記データをエンコード処理し、外部SDRAM221にストリームを保存する。ストリーム入出力手段203は、外部SDRAM221より前記ストリームを読み出し、ストリームはメモリカードなどに記録される。
【0059】
デコードの場合、ストリーム入出力手段203から入力されたストリームは、バス網204を介し、外部SDRAM221に保存される。演算ユニット207〜208および専用処理回路205は、デコード処理し、外部SDRAM221にデータを保存する。演算ユニット206は、外部SDRAM221のデータを外部出力処理し、バス網204を介し、外部入出力手段202からビデオ信号を出力する。
【0060】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段220は、演算ユニット206に外部入出力処理以外の処理を割り当て、演算ユニット207〜208に外部入出力処理を割り当てる。すなわち、制御手段220は、多くの演算ユニットに外部入出力処理を割り当てる。
【0061】
外部入出力手段202から入力されたビデオ信号は、演算ユニット207〜208で外部入出力処理され、外部SDRAM221に保存される。演算ユニット207〜208は、外部SDRAM221から読み出したデータを外部入出力処理し、外部入出力手段202よりビデオ信号を出力する。
【0062】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0063】
なお、専用処理回路205は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)が存在していても構わない。
【0064】
また、ストリーム入出力手段203は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0065】
(第3の実施の形態)
図3は、本発明の第3の実施の形態におけるブロック図である(請求項5記載の本発明に相当)。本発明の第3の実施の形態の並列演算処理装置301は、外部入力手段302と、ストリーム入出力手段303と、外部出力手段304と、バス網305と、専用処理回路306と、メモリ307〜309と、演算ユニット310〜312と、セレクタ313〜315と、第1のクロック316と、第2のクロック317と、第3のクロック318と、セレクタ制御信号319〜321と、ユニット制御信号322〜324と、制御手段325と、外部SDRAM326で構成される。
【0066】
また、第1のクロック316は、外部入力処理に使用される外部入力クロック、第2のクロック317は、外部出力処理に使用される外部出力クロック、第3のクロック318は、コーデック処理などに使用される内部クロックである。
【0067】
外部入力手段302から入力されたビデオ信号は、バス網305を介して、専用処理回路306、メモリ307〜309、外部SDRAM326のいずれかへ転送される。演算ユニット310〜312はメモリ307〜309とそれぞれ1対1に対応し、外部入力処理と、外部出力処理と、コーデック処理のいずれか一つの処理を実行する。前記処理の割り当ては、制御手段325のユニット制御信号322〜324によって実施される。各演算ユニット310〜312は、制御手段325によって割り当てられた処理に応じて、それぞれメモリ307〜309とデータのやり取りを行い、必要であれば、外部SDRAM326とメモリ307〜309間でデータのやり取りを行う。
【0068】
また、各演算ユニットの動作クロックは、第3のクロック318である。メモリ307〜309は、デュアルポートRAMのようにバス網305からのリード・ライトと、演算ユニット310〜312からのリード・ライトを処理できるものとする。デュアルポートRAMとは、別々のアドレス、データ、及び共通のRAMデータアレイにアクセスするための制御信号をもった、1つのスタティックRAMアレイであり、ランダムにデータにアクセスでき、同一データの複数読み取りが必要な場合に検索が可能である。従って、演算結果を内部メモリに保存し、その結果を演算ユニット間で再利用することができ、また、SDRAMを介さずに他の演算ユニットに渡すことが可能である。これにより、内部メモリに比べ消費電力のかかるSDRAMなどへの外部IOへのアクセスよりも低消費電力化を図る事ができる。
【0069】
セレクタ313〜315には、第1〜第3のクロック316〜318が入力され、制御手段325からのセレクタ制御信号319〜321によって3つのクロックのいずれか1つが選択されることにより、メモリ307〜309の動作クロックがそれぞれ決定される。
【0070】
また、専用処理回路306は、第3のクロック318で動作し、演算ユニット310〜312で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCTなど)を実行する。
【0071】
また、外部SDRAM326は、バス網305に接続されている各手段におけるデータ処理時に使用される。
【0072】
また、メモリ307〜309または外部SDRAM326からの出力は、バス網305を介して外部出力手段304からビデオ出力される。
【0073】
以上の構成により、並列演算処理装置301は、演算ユニット310〜312とメモリ307〜309に外部入力処理、外部出力処理、コーデック処理を割り当てることができる。また、演算ユニット310〜312や専用処理回路306は、同一クロックで動作するため、スケジューリングも容易である。また、本構成は、外部入力と外部出力の動作周波数が異なる場合に有効である。
【0074】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段325は、演算ユニット310とメモリ307に外部入力処理を、演算ユニット311とメモリ308に外部出力処理を、演算ユニット310、311以外の演算ユニットとメモリ307、308以外のメモリ(以下、第3の実施の形態のコーデック処理用演算ユニットとメモリ)にコーデック処理を割り当てる。すなわち、制御手段325は、多くの演算ユニットにコーデック処理を割り当てる。
【0075】
エンコードの場合、外部入力手段302から入力されたビデオ信号は、バス網305を介して、演算ユニット310とメモリ307で外部入力処理され、外部SDRAM326にデータが保存される。第3の実施の形態のコーデック処理用演算ユニットとメモリ、および専用処理回路306は、前記データをエンコード処理し、外部SDRAM326にストリームを保存する。ストリーム入出力手段303は、前記ストリームを外部SDRAM326より読み出し、ストリームはメモリカードなどに記録される。
【0076】
デコードの場合、ストリーム入出力手段303から入力されたストリームは、バス網305を介し、外部SDRAM326に保存される。第3の実施の形態のコーデック用演算ユニットとメモリ、および専用処理回路306は、デコード処理し、外部SDRAM326にデータを保存する。演算ユニット311とメモリ308は、外部SDRAM326のデータを外部出力処理し、外部出力手段304はビデオ信号を出力する。
【0077】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段325は、演算ユニット310とメモリ307および演算ユニット311とメモリ308に外部入力処理を割り当て、演算ユニット312とメモリ309に外部入力処理および外部出力処理以外の処理を割り当て、前記以外の演算ユニット(以下、第3の実施の形態の外部出力処理用演算ユニットとメモリ)に外部出力処理を割り当てる。すなわち、制御手段325は、多くの演算ユニットに外部入力処理および外部出力処理を割り当てる。
【0078】
この時、外部入力手段302から入力されたビデオ信号は、演算ユニット310とメモリ307および演算ユニット311とメモリ308で外部入力処理され、外部SDRAM326に保存される。第3の実施の形態の外部出力処理用演算ユニットとメモリは、外部SDRAM326から読み出したデータを外部出力処理し、外部出力手段304よりビデオ信号を出力する。
【0079】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0080】
なお、専用処理回路306は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)があっても構わない。
【0081】
また、ストリーム入出力手段303は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0082】
(第4の実施の形態)
図4は、本発明の第4の実施の形態におけるブロック図である(請求項7記載の本発明に相当)。本発明の第4の実施の形態の並列演算処理装置401は、外部入出力手段402と、ストリーム入出力手段403と、バス網404と、専用処理回路405と、メモリ406〜408と、演算ユニット409〜411と、セレクタ412〜414と、第1のクロック415と、第2のクロック416と、セレクタ制御信号417〜419と、ユニット制御信号420〜422と、制御手段423と、外部SDRAM424で構成される。
【0083】
また、第1のクロック415は、外部入出力処理に使用される外部入出力クロック、第2のクロック416は、コーデック処理などに使用される内部クロックである。
【0084】
外部入出力手段402から入力されたビデオ信号は、バス網404を介して、専用処理回路405、メモリ406〜408、外部SDRAM424のいずれかへ転送される。演算ユニット409〜411はメモリ406〜408とそれぞれ1対1に対応し、外部入出力処理と、コーデック処理のどちらかの処理を実行する。前記処理の割り当ては、制御手段423のユニット制御信号420〜422によって実施される。各演算ユニット409〜411は、制御手段423によって割り当てられた処理に応じて、それぞれメモリ406〜408とデータのやり取りを行い、必要であれば、外部SDRAM424とメモリ406〜408間でデータのやり取りを行う。
【0085】
また、各演算ユニットの動作クロックは、第2のクロック416である。メモリ406〜408は、デュアルポートRAMのようにバス網404からのリード・ライトと、演算ユニット409〜411からのリード・ライトを処理できるものとする。
【0086】
セレクタ412〜414には、第1のクロック415と第2のクロック416が入力され、制御手段423からのセレクタ制御信号417〜419によって2つのクロックのどちらか1つが選択されることにより、メモリ406〜408の動作クロックがそれぞれ決定される。
【0087】
また、専用処理回路405は、第2のクロック416で動作し、演算ユニット409〜411で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCTなど)を実行する。
【0088】
また、外部SDRAM424は、バス網404に接続されている各手段におけるデータ処理時に使用される。
【0089】
また、メモリ406〜408または外部SDRAM424からの出力は、バス網404を介して外部入出力手段402からビデオ出力される。
【0090】
以上の構成により、並列演算処理装置401は、演算ユニット409〜411とメモリ406〜408に外部入出力処理、コーデック処理を割り当てることができる。また、演算ユニット409〜411や専用処理回路405は、同一クロックで動作するため、スケジューリングも容易である。また、本構成は、外部入力と外部出力が同じ動作周波数である場合、あるいは、再生専用機器のように外部出力のみを処理する場合、あるいは、記録専用機器のように外部入力のみを処理する場合に有効である。
【0091】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段423は、演算ユニット409とメモリ406に外部入出力処理を、演算ユニット410〜411とメモリ407〜408にコーデック処理を割り当てる。すなわち、制御手段423は、多くの演算ユニットにコーデック処理を割り当てる。
【0092】
エンコードの場合、外部入出力手段402から入力されたビデオ信号は、バス網404を介して、演算ユニット409とメモリ406で外部入出力処理され、外部SDRAM424にデータが保存される。演算ユニット410〜411とメモリ407〜408、および専用処理回路405は、前記データをエンコード処理し、外部SDRAM424にストリームを保存する。ストリーム入出力手段403は、前記ストリームを外部SDRAM424より読み出し、ストリームはメモリカードなどに記録される。
【0093】
デコードの場合、ストリーム入出力手段403から入力されたストリームは、バス網404を介し、外部SDRAM424に保存される。演算ユニット410〜411とメモリ407〜408、および専用処理回路405は、デコード処理し、外部SDRAM424にデータを保存する。演算ユニット409とメモリ406は、外部SDRAM424のデータを外部出力処理し、外部入出力手段402はビデオ信号を出力する。
【0094】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段423は、演算ユニット409とメモリ406に外部入出力処理以外の処理を割り当て、演算ユニット410〜411とメモリ407〜408に外部入出力処理を割り当てる。すなわち、制御手段423は、多くの演算ユニットに外部入出力処理を割り当てる。
【0095】
この時、外部入出力手段402から入力されたビデオ信号は、演算ユニット410〜411とメモリ407〜408で外部入出力処理され、外部SDRAM424に保存される。演算ユニット410〜411とメモリ407〜408は、外部SDRAM424から読み出したデータを外部入出力処理し、外部入出力手段402よりビデオ信号を出力する。
【0096】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0097】
なお、専用処理回路405は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)があっても構わない。
【0098】
また、ストリーム入出力手段403は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0099】
(第5の実施の形態)
図5は、本発明の第5の実施の形態におけるブロック図である(請求項9記載の本発明に相当)。本発明の第5の実施の形態の並列演算処理装置501は、外部入力手段502と、入力バッファ503と、外部出力手段504と、出力バッファ505と、ストリーム入出力手段506と、バス網507と、専用処理回路508と、メモリ509〜511と、演算ユニット512〜514と、第1のクロック515と、第2のクロック516と、第3のクロック517と、ユニット制御信号518〜520と、制御手段521と、外部SDRAM522で構成される。
【0100】
また、第1のクロック515は、外部入力クロック、第2のクロック516は、外部出力クロック、第3のクロック517は、内部クロックである。
【0101】
外部入力手段502から入力されたビデオ信号は、入力バッファ503に第1のクロック515で書き込まれ、第3のクロック517で読み出される(FIFOメモリ的な動作である)。同様に、出力データは、出力バッファ505に第3のクロック517で書き込まれ、第2のクロック516で読み出され(FIFOメモリ的な動作である)、外部出力手段504より出力される。
【0102】
入力バッファ503からのデータは、バス網507を介して、専用処理回路508、メモリ509〜511、外部SDRAM522のいずれかへ転送される。演算ユニット512〜514は、メモリ509〜511とそれぞれ1対1に対応し、外部入力処理と、外部出力処理と、コーデック処理のいずれか一つの処理を実行する。前記処理の割り当ては、制御手段521のユニット制御信号518〜520によって実施される。各演算ユニット512〜514は、制御手段521によって割り当てられた処理に応じて、それぞれメモリ509〜511とデータのやり取りを行い、必要であれば、外部SDRAM522とメモリ509〜511間でデータのやり取りを行う。
【0103】
また、演算ユニット512〜514、メモリ509〜511の動作クロックは、第3のクロック517である。メモリ509〜511は、デュアルポートRAMのようにバス網507からのリード・ライトと、演算ユニット512〜514からのリード・ライトを処理できるものとする。
【0104】
また、専用処理回路508は、第3のクロック517で動作し、演算ユニット512〜514で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCTなど)を実行する。
【0105】
また、外部SDRAM522は、バス網507に接続されている各手段におけるデータ処理時に使用される。
【0106】
また、メモリ509〜511または外部SDRAM522からの出力は、バス網507を介して出力バッファ505に書き込まれ、外部出力手段504により読み出され、ビデオ出力される。
【0107】
以上の構成により、並列演算処理装置501は、演算ユニット512〜514とメモリ509〜511に外部入力処理、外部出力処理、コーデック処理を割り当てることができる。また、第1、第2のクロックは入力バッファ、出力バッファで切離されるため、演算ユニット512〜514、専用処理回路508、メモリ509〜511は、第3のクロックのみで動作しており、実施の形態1から4に示した図1〜図4の構成と異なり、演算ユニット、専用処理回路、メモリのクロック切替回路が不要となる。また、メモリ509〜511や演算ユニット512〜514や専用処理回路508は、同一クロックで動作するため、スケジューリングはさらに容易である。また、本構成は、外部入力と外部出力の動作周波数が異なる場合に有効である。
【0108】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段521は、演算ユニット512とメモリ509に外部入力処理を、演算ユニット513とメモリ510に外部出力処理を、演算ユニット512、513以外の演算ユニットとメモリ509、510以外のメモリ(以下、第5の実施の形態のコーデック処理用演算ユニットとメモリ)にコーデック処理を割り当てる。すなわち、制御手段521は、多くの演算ユニットにコーデック処理を割り当てる。
【0109】
エンコードの場合、外部入力手段502から入力されたビデオ信号は、入力バッファ503に書き込まれる。その後、入力バッファ503から読み出され、バス網507を介して、演算ユニット512とメモリ509で外部入力処理され、外部SDRAM522にデータが保存される。第5の実施の形態のコーデック処理用演算ユニットとメモリ、および専用処理回路508は、前記データをエンコード処理し、外部SDRAM522にストリームを保存する。ストリーム入出力手段506は、前記ストリームを外部SDRAM522より読み出し、ストリームはメモリカードなどに記録される。
【0110】
デコードの場合、ストリーム入出力手段506から入力されたストリームは、バス網507を介し、外部SDRAM522に保存される。第5の実施の形態のコーデック用演算ユニットとメモリ、および専用処理回路508は、デコード処理し、外部SDRAM522にデータを保存する。演算ユニット513とメモリ510は、外部SDRAM522のデータを外部出力処理し、出力バッファ505に書き込む。外部出力手段504は、出力バッファ505より読み出し、ビデオ信号を出力する。
【0111】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段521は、演算ユニット512とメモリ509および演算ユニット513とメモリ510に外部入力処理を割り当て、演算ユニット514とメモリ511に外部入力処理および外部出力処理以外の処理を割り当て、前記以外の演算ユニット(以下、第5の実施の形態の外部出力処理用演算ユニットとメモリ)に外部出力処理を割り当てる。すなわち、制御手段521は、多くの演算ユニットに外部入力処理および外部出力処理を割り当てる。
【0112】
この時、外部入力手段502から入力されたビデオ信号は、入力バッファ503に書き込まれる。その後、入力バッファ503から読み出され、演算ユニット512とメモリ509および演算ユニット513とメモリ510で外部入力処理され、外部SDRAM522に保存される。第5の実施の形態の外部出力処理用演算ユニットとメモリは、外部SDRAM522から読み出したデータを外部出力処理し、出力バッファ505に書き込む。外部出力手段504は、出力バッファ505より読み出し、ビデオ信号を出力する。
【0113】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0114】
なお、専用処理回路508は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)があっても構わない。
【0115】
また、ストリーム入出力手段506は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0116】
(第6の実施の形態)
図6は、本発明の第6の実施の形態におけるブロック図である(請求項11記載の本発明に相当)。本発明の第6の実施の形態の並列演算処理装置601は、外部入出力手段602と、入出力バッファ603と、ストリーム入出力手段604と、バス網605と、専用処理回路606と、メモリ607〜609と、演算ユニット610〜612と、第1のクロック613と、第2のクロック614と、ユニット制御信号615〜617と、制御手段618と、外部SDRAM619で構成される。
【0117】
また、第1のクロック613は、外部入出力クロック、第2のクロック614は、内部クロックである。
【0118】
外部入出力手段602から入力されたビデオ信号は、入出力バッファ603に第1のクロック613で書き込まれ、第2のクロック614で読み出される(FIFOメモリ的な動作である)。同様に、出力データは、入出力バッファ603に第2のクロック614で書き込まれ、第1のクロック613で読み出され(FIFOメモリ的な動作である)、外部入出力手段602より出力される。
【0119】
入出力バッファ603からのデータは、バス網605を介して、専用処理回路606、メモリ607〜609、外部SDRAM619のいずれかへ転送される。演算ユニット610〜612は、メモリ607〜609とそれぞれ1対1に対応し、外部入出力処理と、コーデック処理のどちらかの処理を実行する。前記処理の割り当ては、制御手段618のユニット制御信号615〜617によって実施される。各演算ユニット610〜612は、制御手段618によって割り当てられた処理に応じて、それぞれメモリ607〜609とデータのやり取りを行い、必要であれば、外部SDRAM619とメモリ607〜609間でデータのやり取りを行う。
【0120】
また、演算ユニット610〜612、メモリ607〜609の動作クロックは、第2のクロック614である。メモリ607〜609は、デュアルポートRAMのようにバス網605からのリード・ライトと、演算ユニット610〜612からのリード・ライトを処理できるものとする。
【0121】
また、専用処理回路606は、第2のクロック614で動作し、演算ユニット610〜612で処理を行うよりも専用回路にすることで回路の小規模化が期待されるコーデック処理の一部の演算(例えば、DCTなど)を実行する。
【0122】
また、外部SDRAM619は、バス網605に接続されている各手段におけるデータ処理時に使用される。
【0123】
また、メモリ607〜609または外部SDRAM619からの出力は、バス網605を介して入出力バッファ603に書き込まれ、外部入出力手段602により読み出され、ビデオ出力される。
【0124】
以上の構成により、並列演算処理装置601は、演算ユニット610〜612とメモリ607〜609に外部入力処理、外部出力処理、コーデック処理を割り当てることができる。また、メモリ607〜609や演算ユニット610〜612や専用処理回路606は、同一クロックで動作するため、スケジューリングはさらに容易である。また、本構成は、外部入力と外部出力が同じ動作周波数である場合、あるいは、再生専用機器のように外部出力のみを処理する場合、あるいは、記録専用機器のように外部入力のみを処理する場合に有効である。
【0125】
以下に、動作の一例を示す。TVモードのMPEG2またはMPEG4のようなコーデック処理の場合、制御手段618は、演算ユニット610とメモリ607に外部入出力処理を、演算ユニット611〜612とメモリ608〜609にコーデック処理を割り当てる。すなわち、制御手段618は、多くの演算ユニットにコーデック処理を割り当てる。
【0126】
エンコードの場合、外部入出力手段602から入力されたビデオ信号は、入出力バッファ603に書き込まれる。その後、入出力バッファ603から読み出され、バス網605を介して、演算ユニット610とメモリ607で外部入出力処理され、外部SDRAM619にデータが保存される。第6の実施の形態のコーデック処理用演算ユニットとメモリ、および専用処理回路606は、前記データをエンコード処理し、外部SDRAM619にストリームを保存する。ストリーム入出力手段604は、前記ストリームを外部SDRAM619より読み出し、ストリームはメモリカードなどに記録される。
【0127】
デコードの場合、ストリーム入出力手段604から入力されたストリームは、バス網605を介し、外部SDRAM619に保存される。第6の実施の形態のコーデック用演算ユニットとメモリ、および専用処理回路606は、デコード処理し、外部SDRAM619にデータを保存する。演算ユニット610とメモリ607は、外部SDRAM619のデータを外部入出力処理し、入出力バッファ603に書き込む。外部入出力手段602は、入出力バッファ603より読み出し、ビデオ信号を出力する。
【0128】
また、カメラモードにおけるRAWデータ出力のような外部入出力処理の場合、制御手段618は、演算ユニット610とメモリ607に外部入出力処理以外の処理を割り当て、演算ユニット611〜612とメモリ608〜609に外部入出力処理を割り当てる。すなわち、制御手段618は、多くの演算ユニットに外部入出力処理を割り当てる。
【0129】
この時、外部入出力手段602から入力されたビデオ信号は、入出力バッファ603に書き込まれる。その後、入出力バッファ603から読み出され、演算ユニット611〜612とメモリ608〜609で外部入出力処理され、外部SDRAM619に保存される。演算ユニット611〜612とメモリ608〜609は、外部SDRAM619から読み出したデータを外部入出力処理し、入出力バッファ603に書き込む。外部入出力手段602は、入出力バッファ603より読み出し、ビデオ信号を出力する。
【0130】
なお、上記割り当ては、一例であり、これに限られるものではない。
【0131】
なお、専用処理回路606は存在せず、すべての処理を演算ユニットで行っても構わない。また、複数の専用処理回路(例えばVLC/VLDなど)があっても構わない。
【0132】
また、ストリーム入出力手段604は、ストリーム入力手段、ストリーム出力手段の2つの構成であっても構わない。
【0133】
【発明の効果】
以上説明したことから明らかなように、請求項1または請求項5または請求項9に記載の本発明は、外部入力と外部出力の動作周波数が異なる場合に、各演算ユニットに外部入力処理と外部出力処理とコーデック処理を割り当てる並列演算処理装置を提供することができる。
【0134】
請求項3または請求項7または請求項11に記載の本発明は、外部入力と外部出力の動作周波数が同じ場合、あるいは再生専用機器のように外部出力のみを処理する場合、あるいは、記録専用機器のように外部入力のみを処理する場合、各演算ユニットに外部入出力処理とコーデック処理を割り当てる並列演算処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における並列演算処理装置のブロック図
【図2】本発明の第2の実施の形態における並列演算処理装置のブロック図
【図3】本発明の第3の実施の形態における並列演算処理装置のブロック図
【図4】本発明の第4の実施の形態における並列演算処理装置のブロック図
【図5】本発明の第5の実施の形態における並列演算処理装置のブロック図
【図6】本発明の第6の実施の形態における並列演算処理装置のブロック図
【図7】本発明の第1〜第6の実施の形態における並列演算処理装置の制御手段のブロック図
【図8】本発明の第1〜第6の実施の形態における並列演算処理装置の演算ユニットのブロック図
【図9】従来の専用ハードウエア構成によるLSIの一例を示すブロック図
【図10】従来の汎用ハードウエア構成によるLSIの一例を示すブロック図
【符号の説明】
101 並列演算処理装置
102 外部入力手段
103 ストリーム入出力手段
104 外部出力手段
105 バス網
106 専用処理回路
107、108、109 演算ユニット
110、111、112 セレクタ
113 第1のクロック
114 第2のクロック
115 第3のクロック
116、117、118 セレクタ制御信号
119、120、121 ユニット制御信号
122 制御手段
123 外部SDRAM
201 並列演算処理装置
202 外部入出力手段
203 ストリーム入出力手段
204 バス網
205 専用処理回路
206、207、208 演算ユニット
209、210、211 セレクタ
212 第1のクロック
213 第2のクロック
214、215、216 セレクタ制御信号
217、218、219 ユニット制御信号
220 制御手段
221 外部SDRAM
301 並列演算処理装置
302 外部入力手段
303 ストリーム入出力手段
304 外部出力手段
305 バス網
306 専用処理回路
307、308、309 メモリ
310、311、312 演算ユニット
313、314、315 セレクタ
316 第1のクロック
317 第2のクロック
318 第3のクロック
319、320、321 セレクタ制御信号
322、323、324 ユニット制御信号
325 制御手段
326 外部SDRAM
401 並列演算処理装置
402 外部入出力手段
403 ストリーム入出力手段
404 バス網
405 専用処理回路
406、407、408 メモリ
409、410、411 演算ユニット
412、413、414 セレクタ
415 第1のクロック
416 第2のクロック
417、418、419 セレクタ制御信号
420、421、422 ユニット制御信号
423 制御手段
424 外部SDRAM
501 並列演算処理装置
502 外部入力手段
503 入力バッファ
504 外部出力手段
505 出力バッファ
506 ストリーム入出力手段
507 バス網
508 専用処理回路
509、510、511 メモリ
512、513、514 演算ユニット
515 第1のクロック
516 第2のクロック
517 第3のクロック
518、519、520 ユニット制御信号
521 制御手段
522 外部SDRAM
601 並列演算処理装置
602 外部入出力手段
603 入出力バッファ
604 ストリーム入出力手段
605 バス網
606 専用処理回路
607、608、609 メモリ
610、611、612 演算ユニット
613 第1のクロック
614 第2のクロック
615、616、617 ユニット制御信号
618 制御手段
619 外部SDRAM
701 制御手段
702 命令キャッシュ
703 命令デコーダ
704 制御回路
705 BIOS
706 ホストからの命令
707 ユニット制御信号
708 セレクタ制御信号
709 演算ユニット状態信号
710 動作モード選択信号
711 動作状態信号
801 演算ユニット
802 ローカルバス
803 積和演算回路
804 論理演算回路
805 算術演算回路
806 シフト演算回路
807 ME処理回路
808 制御回路
809 バス網
810 ユニット制御信号
811 選択クロック
812 n分周回路
813 セレクタ
814 フリップフロップ
815 分周クロック選択信号
816 クロック制御信号
817 クロック信号
901 LSI
902 入出力処理手段
903、906、908 SRAM
904 外部SDRAM
905 ME処理手段
907 コーデック処理手段
909 ストリーム入力手段
910 ストリーム出力手段
1001 LSI
1002 外部入出力手段
1003 バス網
1004、1005、1006 演算ユニット
1007 ストリーム入出力手段
1008 外部SDRAM

Claims (24)

  1. 外部入力手段と、外部出力手段と、処理を選択可能な複数の演算ユニットと、制御手段を具備し、
    前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットに割り当てることを特徴とする並列演算処理装置。
  2. 請求項1記載の制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットに動的に割り当てることを特徴とする並列演算処理装置。
  3. 外部入出力手段と、処理を選択可能な複数の演算ユニットと、制御手段を具備し、
    前記制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットに割り当てることを特徴とする並列演算処理装置。
  4. 請求項3記載の制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットに動的に割り当てることを特徴とする並列演算処理装置。
  5. 外部入力手段と、外部出力手段と、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、
    前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに割り当て、
    前記外部入力手段あるいは前記外部出力手段とのデータのやり取りは、前記メモリを介して行うことを特徴とする並列演算処理装置。
  6. 請求項5記載の制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに動的に割り当てることを特徴とする並列演算処理装置。
  7. 外部入出力手段と、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、
    前記制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに割り当て、
    前記外部入出力手段とのデータのやり取りは、前記メモリを介して行うことを特徴とする並列演算処理装置。
  8. 請求項7記載の制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに動的に割り当てることを特徴とする並列演算処理装置。
  9. 外部入力手段と、外部出力手段と、第1のバッファと、第2のバッファと、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、
    前記制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに割り当て、
    前記外部入力手段とのデータのやり取りは、前記第1のバッファを介し、前記メモリまたは前記演算ユニットと前記第1のバッファ間で通信し、
    前記外部出力手段とのデータのやり取りは、前記第2のバッファを介し、前記メモリまたは前記演算ユニットと前記第2のバッファ間で通信することを特徴とする並列演算処理装置。
  10. 請求項9記載の制御手段は、前記外部入力手段からの外部入力処理と、前記外部出力手段への外部出力処理と、外部入力および外部出力以外の処理を個々の演算ユニットとメモリに動的に割り当てることを特徴とする並列演算処理装置。
  11. 外部入出力手段と、バッファと、処理を選択可能な複数の演算ユニットと、前記演算ユニットに1対1に対応した複数のメモリと、制御手段を具備し、
    前記制御手段は、前記外部入出力手段からの外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに割り当て、
    前記外部入出力手段とのデータのやり取りは前記バッファを介し、前記メモリまたは前記演算ユニットとバッファ間で通信することを特徴とする並列演算処理装置。
  12. 請求項11記載の制御手段は、前記外部入出力手段の外部入出力処理と、外部入出力以外の処理を個々の演算ユニットとメモリに動的に割り当てることを特徴とする並列演算処理装置。
  13. 請求項1〜11記載の並列演算処理装置において、
    制御手段は、BIOSの更新や再起動により、各演算ユニットへの処理を割り当てることを特徴とする並列演算処理装置。
  14. 請求項1〜11記載の並列演算処理装置において、
    制御手段は、あらかじめ決められた複数種類の動作モードに応じて、各演算ユニットへ処理を割り当てることを特徴とする並列演算処理装置。
  15. 請求項1〜11記載の並列演算処理装置において、
    制御手段は、各演算ユニットの負荷または処理量または処理時間、あるいはそれらの組み合わせに応じて、各演算ユニットへ処理を割り当てることを特徴とする並列演算処理装置。
  16. 請求項1〜11記載の並列演算処理装置において、
    制御手段は、各演算ユニットに対する命令に応じて、各演算ユニットへ処理を割り当てることを特徴とする並列演算処理装置。
  17. 請求項1〜11記載の並列演算処理装置において、
    演算ユニットは、入力クロックの停止機能を具備し、
    制御手段は、演算が不要である演算ユニットの前記入力クロックを個別に停止することを特徴とする並列演算処理装置。
  18. 請求項17記載の並列演算処理装置において、
    演算ユニットは、入力クロックの選択機能を具備し、
    制御手段は、ある演算ユニットの動作周波数が高く、また、入力クロックが停止している別の演算ユニットがn−1個(nはn≧2を満たす自然数)存在する場合、合計n個の演算ユニットへの入力クロックに1/nに分周された入力クロックを選択し、演算処理させることを特徴とする並列演算処理装置。
  19. 請求項1〜12記載の外部入出力処理または外部入力処理または外部出力処理とは、リサイズ、ズーム、補間、ノイズキャンセラ、プリフィルタ、ポストフィルタ、逆γ補正、γ補正、撮像処理、特徴抽出、NTSC/PALのエンコード/デコード、補色/RGB変換、RGB/YUV変換、輝度・色合い・色相変換、OSD、画像合成、インタレース/プログレッシブ変換のいずれか、または組み合わせであることを特徴とする並列演算処理装置。
  20. 請求項1〜12記載の外部入出力以外の処理または、外部入力および外部出力以外の処理とは、映像あるいは音声のコーデック処理であることを特徴とする並列演算処理装置。
  21. 請求項20記載のコーデック処理とは、MPEG2またはMPEG4のコーデック処理であることを特徴とする並列演算処理装置。
  22. 請求項20記載のコーデック処理とは、JPEGまたはJPEG2000であることを特徴とする並列演算処理装置。
  23. 請求項20記載のコーデック処理とは、MP3またはAC3であることを特徴とする並列演算処理装置。
  24. 請求項1〜18のいずれかの並列演算処理装置に記載の、各手段の機能の全部または一部をコンピュータに実行させるためのプログラムを格納したことを特徴とするプログラム記録媒体。
JP2003116844A 2003-04-22 2003-04-22 並列演算処理装置 Pending JP2004326228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003116844A JP2004326228A (ja) 2003-04-22 2003-04-22 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003116844A JP2004326228A (ja) 2003-04-22 2003-04-22 並列演算処理装置

Publications (1)

Publication Number Publication Date
JP2004326228A true JP2004326228A (ja) 2004-11-18

Family

ID=33496930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003116844A Pending JP2004326228A (ja) 2003-04-22 2003-04-22 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP2004326228A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172569A (ja) * 2005-11-28 2007-07-05 Fujitsu Ltd 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
US8325609B2 (en) 2009-07-30 2012-12-04 Renesas Electronics Corporation Data processing device
JP2013143695A (ja) * 2012-01-11 2013-07-22 Ricoh Co Ltd 信号処理回路、画像処理装置及び信号処理方法
CN114928730A (zh) * 2022-06-23 2022-08-19 湖南国科微电子股份有限公司 图像处理方法和图像处理装置
US11494121B2 (en) 2020-06-17 2022-11-08 Samsung Electronics Co., Ltd. Memory device for performing in-memory processing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172569A (ja) * 2005-11-28 2007-07-05 Fujitsu Ltd 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
JP4647533B2 (ja) * 2005-11-28 2011-03-09 富士通セミコンダクター株式会社 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
US8325609B2 (en) 2009-07-30 2012-12-04 Renesas Electronics Corporation Data processing device
JP2013143695A (ja) * 2012-01-11 2013-07-22 Ricoh Co Ltd 信号処理回路、画像処理装置及び信号処理方法
US11494121B2 (en) 2020-06-17 2022-11-08 Samsung Electronics Co., Ltd. Memory device for performing in-memory processing
CN114928730A (zh) * 2022-06-23 2022-08-19 湖南国科微电子股份有限公司 图像处理方法和图像处理装置
CN114928730B (zh) * 2022-06-23 2023-08-22 湖南国科微电子股份有限公司 图像处理方法和图像处理装置

Similar Documents

Publication Publication Date Title
US5798719A (en) Parallel Huffman decoder
JP3806936B2 (ja) データ・フロー制御および複数の処理装置を有する画像圧縮コプロセッサ
KR100418437B1 (ko) 멀티미디어 신호처리를 위한 영상복원 프로세서
US20050262510A1 (en) Multi-threaded processing design in architecture with multiple co-processors
US8539120B1 (en) System and method of video decoding using hybrid buffer
US20150092833A1 (en) Parallel encoding of bypass binary symbols in cabac encoder
US6119213A (en) Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
US8532196B2 (en) Decoding device, recording medium, and decoding method for coded data
JP2002506251A (ja) 共有メモリを有するマルチプロセッサ装置
WO2009130871A1 (ja) 復号化装置
JP5309700B2 (ja) 動画像復号装置および符号化装置
KR20010029924A (ko) 데이터 처리장치
US8443413B2 (en) Low-latency multichannel video port aggregator
JP2004326228A (ja) 並列演算処理装置
JP4728083B2 (ja) メディア処理装置
IL150149A (en) Special memory device
JP3356677B2 (ja) 非同期に実行すべきタスクが多数あっても、非同期イベントタスクを効率良く実行することができるプロセッサ
JP2002027477A (ja) Mpeg画像処理装置およびそのデータ転送方法
US20090141807A1 (en) Arrangements for processing video
JP2000242549A (ja) ラインメモリ構成方法およびラインメモリ
US7350035B2 (en) Information-processing apparatus and electronic equipment using thereof
JP2001084215A (ja) データ処理装置
KR20110101530A (ko) 동영상 변환 장치
KR100710305B1 (ko) 비디오 디코딩 장치의 데이터 관리기
US6614437B1 (en) Apparatus and method for efficient memory utilization in an electronic system