JP2006285719A - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- JP2006285719A JP2006285719A JP2005105750A JP2005105750A JP2006285719A JP 2006285719 A JP2006285719 A JP 2006285719A JP 2005105750 A JP2005105750 A JP 2005105750A JP 2005105750 A JP2005105750 A JP 2005105750A JP 2006285719 A JP2006285719 A JP 2006285719A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor core
- register
- processing
- output
- 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.)
- Withdrawn
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
【課題】 複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うこと。
【解決手段】 情報処理装置1は、ローカルメモリをそれぞれ備えたプロセッサコアが直列に接続され、各プロセッサコア間では、SIレジスタおよびSOレジスタによってデータの入出力を行う。そのため、複数のプロセッサコア間で共有されるメモリへのアクセス待ちとなる状態を回避することができる。また、各プロセッサコアにおいては、実行するソフトウェアにより、柔軟に処理を変更することが可能である。この結果、複数のプロセッサコア間でメモリを共有する装置において同様の処理を実行する場合に比べ、処理効率および処理速度を向上させることが可能である。即ち、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
【選択図】 図1
【解決手段】 情報処理装置1は、ローカルメモリをそれぞれ備えたプロセッサコアが直列に接続され、各プロセッサコア間では、SIレジスタおよびSOレジスタによってデータの入出力を行う。そのため、複数のプロセッサコア間で共有されるメモリへのアクセス待ちとなる状態を回避することができる。また、各プロセッサコアにおいては、実行するソフトウェアにより、柔軟に処理を変更することが可能である。この結果、複数のプロセッサコア間でメモリを共有する装置において同様の処理を実行する場合に比べ、処理効率および処理速度を向上させることが可能である。即ち、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
【選択図】 図1
Description
本発明は、複数のプロセッサコアを有するマルチプロセッサを備えた情報処理装置および情報処理方法に関する。
近年、いわゆる情報家電を始めとして、複雑なデジタル処理を要求する機器が多数利用されつつあり、このような機器においては、コストと性能・消費電力を両立することが求められている。
また、このような機器においては、多様なデジタル処理(例えば、画像処理、映像処理、音声処理あるいはデータ圧縮・復号処理等)を行うことが要求されるが、その規格は頻繁に変更される状況にある。
また、このような機器においては、多様なデジタル処理(例えば、画像処理、映像処理、音声処理あるいはデータ圧縮・復号処理等)を行うことが要求されるが、その規格は頻繁に変更される状況にある。
そのため、高性能化のために専用のハードウェアを実装してデジタル処理を行うと、規格の変更に対応させる場合に多大なコストを要することとなる。
ところで、近年、LSI製造技術の進歩により、1つのASIC(Application Specific Integrated Circuit)に複数のプロセッサコアや小容量のメモリを搭載することが可能となっている。
ところで、近年、LSI製造技術の進歩により、1つのASIC(Application Specific Integrated Circuit)に複数のプロセッサコアや小容量のメモリを搭載することが可能となっている。
そのため、従来、単一のプロセッサコアで行っていた処理を複数のプロセッサコアによって行うことにより、性能を向上させることが期待される。
このように、プロセッサの性能向上により上記デジタル処理を高速化する場合には、ソフトウェアの変更により規格の変更に対して柔軟に対応することができ、上記デジタル処理を行うために適した装置を実現することができる。
このように、プロセッサの性能向上により上記デジタル処理を高速化する場合には、ソフトウェアの変更により規格の変更に対して柔軟に対応することができ、上記デジタル処理を行うために適した装置を実現することができる。
なお、複数のプロセッサコアを備えることにより、専用のハードウェアを用いることなく、ソフトウェアによって処理を行う技術は、例えば、特許文献1〜3等に記載されている。
特開平5−210640号公報
特開平8−101810号公報
特開平11−184824号公報
しかしながら、特許文献1〜3に記載された技術を含め、従来提案されているような、複数のプロセッサコアによって処理を行う技術においては、専用のハードウェアを、プロセッサとメモリとによって置き換え、ソフトウェアによりデジタル処理を行うものとしているが、複数のプロセッサコアが1つのメモリを共有し、その共有メモリを介してデータの受け渡しを行う構成とされている。
そのため、複数のプロセッサコア間でメモリアクセスの調停が行われることから、プロセッサコアにおける処理が待機状態となる期間が発生し、期待される性能が実現できないものとなっていた。
なお、特許文献1〜3に記載された技術においては、このような不具合を軽減するために各種手法を採用しているが、複数のプロセッサコアがメモリを共有する構成は維持されているため、抜本的な改善策であるとはいえなかった。また、改善のための回路や制御手順が大掛かりなものとなるため、特に消費電力の削減が求められている情報家電においては、消費電力の増加が課題となった。
なお、特許文献1〜3に記載された技術においては、このような不具合を軽減するために各種手法を採用しているが、複数のプロセッサコアがメモリを共有する構成は維持されているため、抜本的な改善策であるとはいえなかった。また、改善のための回路や制御手順が大掛かりなものとなるため、特に消費電力の削減が求められている情報家電においては、消費電力の増加が課題となった。
本発明の課題は、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことである。
以上の課題を解決するため、本発明は、
複数のプロセッサコアを備える情報処理装置であって、前記プロセッサコアは、入力された処理対象データを格納する入力データ格納手段(例えば、図2のSI通信回路21bおよびSIレジスタ22b−1)と、該プロセッサコアによる処理結果のデータを格納する出力データ格納手段(例えば、図2のSOレジスタ22b−2およびSO通信回路28b)とを備え、一の前記プロセッサコアにおける前記出力データ格納手段と、他の前記プロセッサコアにおける前記入力データ格納手段とが接続されることにより、前記複数のプロセッサコアが、直列に接続されていることを特徴としている。
複数のプロセッサコアを備える情報処理装置であって、前記プロセッサコアは、入力された処理対象データを格納する入力データ格納手段(例えば、図2のSI通信回路21bおよびSIレジスタ22b−1)と、該プロセッサコアによる処理結果のデータを格納する出力データ格納手段(例えば、図2のSOレジスタ22b−2およびSO通信回路28b)とを備え、一の前記プロセッサコアにおける前記出力データ格納手段と、他の前記プロセッサコアにおける前記入力データ格納手段とが接続されることにより、前記複数のプロセッサコアが、直列に接続されていることを特徴としている。
このような構成により、複数のプロセッサコア間でメモリを共有した場合に、プロセッサコア間でデータを受け渡すために、共有されるメモリへのアクセス待ちとなる状態を回避することができ、各プロセッサコアにおいては、実行するソフトウェアにより、柔軟に処理を変更することが可能となる。
そのため、複数のプロセッサコアを備える装置において、処理効率および処理速度を向上させることが可能である。
そのため、複数のプロセッサコアを備える装置において、処理効率および処理速度を向上させることが可能である。
即ち、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
また、前記複数のプロセッサコアは、処理を行う際に使用するローカルメモリ(例えば、図1のローカルメモリ30a〜30d)をそれぞれ備えていることを特徴としている。
このような構成により、処理を行う際に使用するメモリを他のプロセッサコアと共有しないことから、処理を行うためにメモリへのアクセスを待つ必要がなく、処理速度を向上させることができる。
また、前記複数のプロセッサコアは、処理を行う際に使用するローカルメモリ(例えば、図1のローカルメモリ30a〜30d)をそれぞれ備えていることを特徴としている。
このような構成により、処理を行う際に使用するメモリを他のプロセッサコアと共有しないことから、処理を行うためにメモリへのアクセスを待つ必要がなく、処理速度を向上させることができる。
また、前記入力データ格納手段は、入力されたデータを記憶する入力データ用レジスタ(例えば、図2のSIレジスタ22b−1)と、該レジスタに対するデータの読み出しあるいは書き込みを制御する入力通信制御手段(例えば、図2のSI通信回路21b)とを備え、前記入力通信制御手段は、該プロセッサコアが前記入力データ用レジスタの読み出しを行った際に、データが記憶されていない場合には、該プロセッサコアにおける演算処理を待機状態とさせることを特徴としている。
このような構成により、入力データが取得できない場合に、プロセッサコアがデータの取得状態をポーリングすることなく、入力通信制御手段によって自動的に待機状態とされるため、消費電力を低減することが可能となる。
また、前記出力データ格納手段は、処理結果のデータを記憶する出力データ用レジスタ(例えば、図2のSOレジスタ22b−2)と、該レジスタに対するデータの読み出しあるいは書き込みを制御する出力通信制御手段(例えば、図2のSO通信回路28b)とを備え、前記出力通信制御手段は、前記出力データ用レジスタに記憶されたデータを読み出して外部に出力している場合には、該プロセッサコアにおける演算処理を待機状態とさせることを特徴としている。
また、前記出力データ格納手段は、処理結果のデータを記憶する出力データ用レジスタ(例えば、図2のSOレジスタ22b−2)と、該レジスタに対するデータの読み出しあるいは書き込みを制御する出力通信制御手段(例えば、図2のSO通信回路28b)とを備え、前記出力通信制御手段は、前記出力データ用レジスタに記憶されたデータを読み出して外部に出力している場合には、該プロセッサコアにおける演算処理を待機状態とさせることを特徴としている。
このような構成により、出力データを出力している場合に、プロセッサコアがデータの出力状態をポーリングすることなく、出力通信制御手段によって自動的に待機状態とされるため、消費電力を低減することが可能となる。
また、本発明は、
複数のプロセッサコアを備える情報処理装置における情報処理方法であって、前記複数のプロセッサコアそれぞれに、接続された各プロセッサコア間においてデータを直接入出力するためのデータ入出力手段と、各プロセッサコアが専用に使用するメモリとを備えておき、前記複数のプロセッサコアを直列に接続し、各プロセッサコアに、パイプライン処理可能な所定処理を行わせて、前記データ入出力手段によってデータを後段のプロセッサコアに順次転送することにより、一連の前記所定処理を行うことを特徴としている。
また、本発明は、
複数のプロセッサコアを備える情報処理装置における情報処理方法であって、前記複数のプロセッサコアそれぞれに、接続された各プロセッサコア間においてデータを直接入出力するためのデータ入出力手段と、各プロセッサコアが専用に使用するメモリとを備えておき、前記複数のプロセッサコアを直列に接続し、各プロセッサコアに、パイプライン処理可能な所定処理を行わせて、前記データ入出力手段によってデータを後段のプロセッサコアに順次転送することにより、一連の前記所定処理を行うことを特徴としている。
これにより、複数のプロセッサコアによって、ソフトウェアによるパイプライン処理を行うことができる。
このように、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
このように、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
以下、図を参照して本発明に係る情報処理装置の実施の形態を説明する。
まず、構成を説明する。
図1は、本発明に係る情報処理装置1の機能構成を示すブロック図である。
図1において、情報処理装置1は、データインターフェース10と、プロセッサコア20a〜20dと、ローカルメモリ30a〜30dとを含んで構成され、データインターフェース10を介して、不図示のCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入出力装置(I/O)等と接続されている。
まず、構成を説明する。
図1は、本発明に係る情報処理装置1の機能構成を示すブロック図である。
図1において、情報処理装置1は、データインターフェース10と、プロセッサコア20a〜20dと、ローカルメモリ30a〜30dとを含んで構成され、データインターフェース10を介して、不図示のCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入出力装置(I/O)等と接続されている。
データインターフェース10は、情報処理装置1がデータの入出力を行うためのインターフェース回路であり、情報処理装置1と接続されたCPU、ROMあるいはRAM等から入力されたデータをプロセッサコア20aに入力すると共に、プロセッサコア20dから出力されたデータをCPUあるいはRAM等に出力する。
プロセッサコア20a〜20dは、処理対象データの入力を受け付けるためのSIレジスタと、処理結果のデータを出力するためのSOレジスタとを備えており、それぞれのプロセッサコアは、初期設定あるいはCPUからの命令によって設定された所定の処理を行う。
プロセッサコア20a〜20dは、処理対象データの入力を受け付けるためのSIレジスタと、処理結果のデータを出力するためのSOレジスタとを備えており、それぞれのプロセッサコアは、初期設定あるいはCPUからの命令によって設定された所定の処理を行う。
メモリ30a〜30dは、プロセッサコア20a〜20dそれぞれに備えられたローカルメモリであり、プロセッサコア20a〜20dにおいて処理が実行される際にワークエリアを形成する。
ここで、プロセッサコア20a〜20dの内部構成について説明する。
なお、プロセッサコア20a〜20dの内部構成は同様であるため、代表としてプロセッサコア20bを例に挙げて説明する。
ここで、プロセッサコア20a〜20dの内部構成について説明する。
なお、プロセッサコア20a〜20dの内部構成は同様であるため、代表としてプロセッサコア20bを例に挙げて説明する。
図2は、プロセッサコア20bの内部構成を示すブロック図である。
図2において、プロセッサコア20bは、SI通信回路21bと、レジスタファイル22bと、演算回路23bと、周辺回路24bと、メモリコントローラ25bと、キャッシュ26bと、プログラム制御回路27bと、SO通信回路28bとを含んで構成される。
SI通信回路21bは、プロセッサコア20bにデータを入力するための入力端子からデータの入力を受け付け、通信制御を行って、後述するSIレジスタ22b−1にデータを書き込む。
図2において、プロセッサコア20bは、SI通信回路21bと、レジスタファイル22bと、演算回路23bと、周辺回路24bと、メモリコントローラ25bと、キャッシュ26bと、プログラム制御回路27bと、SO通信回路28bとを含んで構成される。
SI通信回路21bは、プロセッサコア20bにデータを入力するための入力端子からデータの入力を受け付け、通信制御を行って、後述するSIレジスタ22b−1にデータを書き込む。
また、SI通信回路21bは、演算回路23bによってSIレジスタの読み出しが行われた際に、SIレジスタにデータが格納されていない状態である場合、プログラム制御回路27bに対し、動作を一時的に停止させるためのウェイト信号を出力する。
レジスタファイル22bは、プロセッサコア20bに入力されたデータを書き込むためのSIレジスタ22b−1と、プロセッサコア20bから出力するデータを書き込むためのSOレジスタ22b−2と、プロセッサコア20bにおいて演算を行う際の演算対象あるいは演算結果のデータを書き込むための汎用レジスタ22b−3とを含んで構成される。
レジスタファイル22bは、プロセッサコア20bに入力されたデータを書き込むためのSIレジスタ22b−1と、プロセッサコア20bから出力するデータを書き込むためのSOレジスタ22b−2と、プロセッサコア20bにおいて演算を行う際の演算対象あるいは演算結果のデータを書き込むための汎用レジスタ22b−3とを含んで構成される。
演算回路23bは、プログラム制御回路27bの制御の下、レジスタファイル22bに記憶された処理対象のデータに対し、加算、乗算等の数値演算や、各種論理演算を施し、処理結果をレジスタファイル22bに書き戻す。
周辺回路24bは、コプロセッサ等、必要に応じて備えられる各種回路である。
メモリコントローラ25bは、ローカルメモリ30bに対するアクセス、即ち、データの読み出しや書き込みを制御する。例えば、メモリコントローラ25bは、演算回路23bによって指定されたローカルメモリ30bのアドレスからデータを読み出したり、ローカルメモリ30bから読み出されたデータをレジスタファイル22bに出力したりする。
周辺回路24bは、コプロセッサ等、必要に応じて備えられる各種回路である。
メモリコントローラ25bは、ローカルメモリ30bに対するアクセス、即ち、データの読み出しや書き込みを制御する。例えば、メモリコントローラ25bは、演算回路23bによって指定されたローカルメモリ30bのアドレスからデータを読み出したり、ローカルメモリ30bから読み出されたデータをレジスタファイル22bに出力したりする。
キャッシュ26bは、ローカルメモリ30bとの間で入出力されるデータを一時的にキャッシュしておくためのキャッシュメモリである。
プログラム制御回路27bは、プロセッサコア20b全体を制御するものであり、例えば、実行する命令の管理やステータスの変更等、プロセッサコア20bにおける動作状態の管理等を行う。
プログラム制御回路27bは、プロセッサコア20b全体を制御するものであり、例えば、実行する命令の管理やステータスの変更等、プロセッサコア20bにおける動作状態の管理等を行う。
また、プログラム制御回路27bは、SI通信回路21bあるいはSO通信回路28bからウェイト信号が入力されると、プロセッサコア20bの動作を待機状態とし、ウェイト信号が解除された場合に動作を再開させる。
SO通信回路28bは、プロセッサコア20bからデータを出力するための出力端子に対し、通信制御を行って、SOレジスタ22b−2に書き込まれたデータを出力する。
SO通信回路28bは、プロセッサコア20bからデータを出力するための出力端子に対し、通信制御を行って、SOレジスタ22b−2に書き込まれたデータを出力する。
また、SO通信回路28bは、演算回路23bによってSOレジスタにデータが書き込まれた状態である場合、プログラム制御回路27bに対し、動作を一時的に停止させるためのウェイト信号を出力する。
次に、動作を説明する。
上述の構成を有するプロセッサコア20a〜20bは、それぞれのSI通信回路およびSIレジスタと、SO通信回路およびSOレジスタとによって、互いに接続された隣接するプロセッサコアとデータの入出力を行い、複数のプロセッサコアを用いて、ソフトウェアによるパイプライン処理を実現する。
次に、動作を説明する。
上述の構成を有するプロセッサコア20a〜20bは、それぞれのSI通信回路およびSIレジスタと、SO通信回路およびSOレジスタとによって、互いに接続された隣接するプロセッサコアとデータの入出力を行い、複数のプロセッサコアを用いて、ソフトウェアによるパイプライン処理を実現する。
即ち、プロセッサコア20a〜20dは、隣接する上流側のプロセッサコアから入力されたデータに対し、それぞれ設定された所定処理を行い、下流側のプロセッサコアに順次データを引き渡す。
図3は、SI通信回路とSO通信回路とにおけるデータの入出力を示すタイミングチャートである。
図3は、SI通信回路とSO通信回路とにおけるデータの入出力を示すタイミングチャートである。
図3において、データ出力側のSO通信回路とデータ入力側のSI通信回路とは、データを転送するためのデータ信号線、データ転送の有効・無効の状態を示すValid信号線、データ転送結果の確認を示すAck信号線によって接続されている。
データ入力側のプロセッサコアは、データの処理が可能な状態になると、まず、SIレジスタからデータの読み出しを試みる。
データ入力側のプロセッサコアは、データの処理が可能な状態になると、まず、SIレジスタからデータの読み出しを試みる。
このとき、SIレジスタにデータが格納されていない場合には、処理を進行できないことから、プログラム制御回路27bに対し、ウェイト信号を出力する。
そして、データ出力側のプロセッサコアがデータを出力できる状態になると、まず、SOレジスタにデータを格納する。
次いで、データ出力側のプロセッサコアは、データ信号線にSOレジスタのデータを示す信号を出力すると共に、Valid信号線をハイレベルの状態(データ転送が有効である状態)とする。このとき、SO通信回路は、プログラム制御回路に対し、ウェイト信号を出力する(図3における状態(1))。
そして、データ出力側のプロセッサコアがデータを出力できる状態になると、まず、SOレジスタにデータを格納する。
次いで、データ出力側のプロセッサコアは、データ信号線にSOレジスタのデータを示す信号を出力すると共に、Valid信号線をハイレベルの状態(データ転送が有効である状態)とする。このとき、SO通信回路は、プログラム制御回路に対し、ウェイト信号を出力する(図3における状態(1))。
受信側のSI通信回路は、Valid信号線がハイレベルの状態であることを検出すると、データ信号線からデータを取り込み、SIレジスタに格納すると共に、Ack信号線をハイレベルの状態(データ転送に成功したことを示す状態)として、送信側のSO通信回路にデータ転送の成功を通知する。また、受信側のSI通信回路は、ここでウェイト信号を解除し、受信側のプロセッサコアにおける動作を再開させる(図3における状態(2))。
続いて、送信側のSO通信回路が、Ack信号線がハイレベルの状態であることを検出すると、Valid信号線をローレベルの状態(データ転送が無効であることを示す状態)に戻し、ウェイト信号を解除して、送信側のプロセッサコアにおける動作を再開させる(図3における状態(3))。
さらに、受信側のSI通信回路は、Valid信号線がローレベルの状態であることを検出すると、Ack信号線をローレベルの状態に戻し、データ転送が終了する(図3における状態(4))。
さらに、受信側のSI通信回路は、Valid信号線がローレベルの状態であることを検出すると、Ack信号線をローレベルの状態に戻し、データ転送が終了する(図3における状態(4))。
このように、プロセッサコア20a〜20dは、ソフトウェアによりSIレジスタへのデータ入力あるいはSOレジスタからのデータ出力の有無をポーリングすることなく、SI通信回路あるいはSO通信回路の通信制御によって、自動的に動作の停止、再開が行われる。
続いて、情報処理装置1における各プロセッサコアの動作について説明する。
続いて、情報処理装置1における各プロセッサコアの動作について説明する。
図4は、各プロセッサコアが実行する処理を示すフローチャートである。
各プロセッサコアは、初期設定あるいはCPUからの命令によって設定された所定の処理を、上流のプロセッサコア等から入力されたデータに順次施し、下流のプロセッサコア等に出力する。
ここで、各プロセッサコアが実行する処理は、例えば、情報処理装置1がフォントの描画を行う装置であれば、制御点の座標計算、レンダリング、ラスタライズ、VRAMへの書き込みといった処理であり、各プロセッサがこれらの処理を専用に行うことにより、ソフトウェアによるパイプライン処理が実現される。
各プロセッサコアは、初期設定あるいはCPUからの命令によって設定された所定の処理を、上流のプロセッサコア等から入力されたデータに順次施し、下流のプロセッサコア等に出力する。
ここで、各プロセッサコアが実行する処理は、例えば、情報処理装置1がフォントの描画を行う装置であれば、制御点の座標計算、レンダリング、ラスタライズ、VRAMへの書き込みといった処理であり、各プロセッサがこれらの処理を専用に行うことにより、ソフトウェアによるパイプライン処理が実現される。
図4において、処理の実行が指示されると、プロセッサコアは、ループの初期化(パラメータのリセット等)を実行し(ステップS1)、SIレジスタから処理対象のデータを読み出す(ステップS2)。
次いで、プロセッサコアは、ローカルメモリにアクセスしつつ、読み出したデータに対し、設定されている所定処理を施し(ステップS3)、処理結果をSOレジスタに書き込む(ステップS4)。
次いで、プロセッサコアは、ローカルメモリにアクセスしつつ、読み出したデータに対し、設定されている所定処理を施し(ステップS3)、処理結果をSOレジスタに書き込む(ステップS4)。
そして、プロセッサコアは、ループの終了であるか否か、即ち、処理の終了が指示されたか否かの判定を行い(ステップS5)、ループの終了でないと判定した場合には、ステップS2の処理に移行し、ループの終了であると判定した場合には、処理を終了する。
このように、各プロセッサコアにおいて、ポーリング等を行うことなく、単純に処理を繰り返す動作とすることができる。
このように、各プロセッサコアにおいて、ポーリング等を行うことなく、単純に処理を繰り返す動作とすることができる。
以上のように、本実施の形態に係る情報処理装置1は、ローカルメモリをそれぞれ備えたプロセッサコアが直列に接続され、各プロセッサコア間では、SIレジスタおよびSOレジスタによってデータの入出力を行う。
そのため、複数のプロセッサコア間で共有されるメモリへのアクセス待ちとなる状態を回避することができる。
そのため、複数のプロセッサコア間で共有されるメモリへのアクセス待ちとなる状態を回避することができる。
また、各プロセッサコアにおいては、実行するソフトウェアにより、柔軟に処理を変更することが可能である。
この結果、複数のプロセッサコア間でメモリを共有する装置において同様の処理を実行する場合に比べ、処理効率および処理速度を向上させることが可能である。また、メモリの調停を行うための信号制御やプロセッサコアの待ち時間が無くなるため、消費電力を減らすことが可能となる。
この結果、複数のプロセッサコア間でメモリを共有する装置において同様の処理を実行する場合に比べ、処理効率および処理速度を向上させることが可能である。また、メモリの調停を行うための信号制御やプロセッサコアの待ち時間が無くなるため、消費電力を減らすことが可能となる。
図5は、複数のプロセッサコア間でメモリを共有する装置における場合と、本発明に係る情報処理装置1における場合との処理時間を比較する概念図である。
図5において、複数のプロセッサコア間でメモリを共有する装置の場合、前段の処理結果が、共有メモリを介して後段のプロセッサコアに渡されるため、共有メモリに対して、前段のプロセッサコアが処理結果を書き込む動作と、後段のプロセッサコアが処理対象データを読み出す動作とを並列に行うことができない。
図5において、複数のプロセッサコア間でメモリを共有する装置の場合、前段の処理結果が、共有メモリを介して後段のプロセッサコアに渡されるため、共有メモリに対して、前段のプロセッサコアが処理結果を書き込む動作と、後段のプロセッサコアが処理対象データを読み出す動作とを並列に行うことができない。
そのため、各処理はシリアルに実行されることとなり、図5に示す動作全体として、36サイクルを要している。
一方、本発明に係る情報処理装置1の場合、前段の処理結果がSOレジスタおよびSIレジスタを介して後段のプロセッサコアに渡されるため、前段のプロセッサコアが処理結果を出力する動作と、後段のプロセッサコアが処理対象データを受け取る動作とを並列に実行することができる。
一方、本発明に係る情報処理装置1の場合、前段の処理結果がSOレジスタおよびSIレジスタを介して後段のプロセッサコアに渡されるため、前段のプロセッサコアが処理結果を出力する動作と、後段のプロセッサコアが処理対象データを受け取る動作とを並列に実行することができる。
そのため、各処理は、並列的にパイプライン処理されることとなり、図5に示す動作全体として、15サイクルとなる。また、SOレジスタおよびSIレジスタを介してデータを送受信する処理は、共有メモリに対するデータの書き込みあるいは読み出しよりも短期間であるため、処理時間をより短いものとすることが可能である。
このように、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
このように、本発明によれば、複数のプロセッサコアを有する装置において、少ない消費電力で、柔軟かつ効率的に処理を行うことが可能となる。
1 情報処理装置、10 データインターフェース、20a〜20d プロセッサコア、30a〜30d ローカルメモリ、21a〜21d SI通信回路、 22a〜22d レジスタファイル、22a−1〜22d−1 SIレジスタ、22a−2〜22d−2 SOレジスタ、23a−1〜23d−1 汎用レジスタ、23a〜23d 演算回路、24a〜24d 周辺回路、25a〜25d メモリコントローラ、26a〜26d キャッシュ、27a〜27d プログラム制御回路
Claims (5)
- 複数のプロセッサコアを備える情報処理装置であって、
前記プロセッサコアは、
入力された処理対象データを格納する入力データ格納手段と、
該プロセッサコアによる処理結果のデータを格納する出力データ格納手段と、
を備え、
一の前記プロセッサコアにおける前記出力データ格納手段と、他の前記プロセッサコアにおける前記入力データ格納手段とが接続されることにより、前記複数のプロセッサコアが、直列に接続されていることを特徴とする情報処理装置。 - 前記複数のプロセッサコアは、処理を行う際に使用するローカルメモリをそれぞれ備えていることを特徴とする請求項1記載の情報処理装置。
- 前記入力データ格納手段は、入力されたデータを記憶する入力データ用レジスタと、該レジスタに対するデータの読み出しあるいは書き込みを制御する入力通信制御手段とを備え、
前記入力通信制御手段は、該プロセッサコアが前記入力データ用レジスタの読み出しを行った際に、データが記憶されていない場合には、該プロセッサコアにおける演算処理を待機状態とさせることを特徴とする請求項1または2記載の情報処理装置。 - 前記出力データ格納手段は、処理結果のデータを記憶する出力データ用レジスタと、該レジスタに対するデータの読み出しあるいは書き込みを制御する出力通信制御手段とを備え、
前記出力通信制御手段は、前記出力データ用レジスタに記憶されたデータを読み出して外部に出力している場合には、該プロセッサコアにおける演算処理を待機状態とさせることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。 - 複数のプロセッサコアを備える情報処理装置における情報処理方法であって、
前記複数のプロセッサコアそれぞれに、接続された各プロセッサコア間においてデータを直接入出力するためのデータ入出力手段と、各プロセッサコアが専用に使用するメモリとを備えておき、前記複数のプロセッサコアを直列に接続し、各プロセッサコアに、パイプライン処理可能な所定処理を行わせて、前記データ入出力手段によってデータを後段のプロセッサコアに順次転送することにより、一連の前記所定処理を行うことを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005105750A JP2006285719A (ja) | 2005-04-01 | 2005-04-01 | 情報処理装置および情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005105750A JP2006285719A (ja) | 2005-04-01 | 2005-04-01 | 情報処理装置および情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285719A true JP2006285719A (ja) | 2006-10-19 |
Family
ID=37407570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005105750A Withdrawn JP2006285719A (ja) | 2005-04-01 | 2005-04-01 | 情報処理装置および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006285719A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972769B2 (en) | 2010-02-09 | 2015-03-03 | Canon Kabushiki Kaisha | Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios |
-
2005
- 2005-04-01 JP JP2005105750A patent/JP2006285719A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972769B2 (en) | 2010-02-09 | 2015-03-03 | Canon Kabushiki Kaisha | Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2725498B1 (en) | DMA vector buffer | |
EP1582980A1 (en) | Context switching method, device, program, recording medium, and central processing unit | |
JP4836488B2 (ja) | データ転送装置及び半導体集積回路装置 | |
US20100281238A1 (en) | Execution of instructions directly from input source | |
JP2009064411A (ja) | データおよび命令をコンピュータにロードするための方法および装置 | |
US9513923B2 (en) | System and method for context migration across CPU threads | |
JP2006209778A (ja) | ダイレクトメモリアクセスの実現方法および装置、ダイレクトメモリアクセスコンピュータシステム | |
EP1821211A2 (en) | Cooperative multitasking method in a multiprocessor system | |
US20110179251A1 (en) | Power saving asynchronous computer | |
JP5213485B2 (ja) | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム | |
US7934075B2 (en) | Method and apparatus for monitoring inputs to an asyncrhonous, homogenous, reconfigurable computer array | |
JP2006285719A (ja) | 情報処理装置および情報処理方法 | |
EP1821199A1 (en) | Microloop computer instructions | |
JP2007172129A (ja) | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム | |
JP6183049B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP2010086497A (ja) | 画像処理装置及びデータプロセッサ | |
JP2008158699A (ja) | プロセッサ | |
US20240176616A1 (en) | Processor and method of controlling processor | |
JP2006285724A (ja) | 情報処理装置および情報処理方法 | |
JP2006285722A (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
JP4388557B2 (ja) | 画像処理システム | |
JP2009116445A (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
CN111857822A (zh) | 一种运算装置及其操作方法 | |
JP2007328627A (ja) | 半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070404 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |