JP2002207708A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JP2002207708A JP2002207708A JP2001004622A JP2001004622A JP2002207708A JP 2002207708 A JP2002207708 A JP 2002207708A JP 2001004622 A JP2001004622 A JP 2001004622A JP 2001004622 A JP2001004622 A JP 2001004622A JP 2002207708 A JP2002207708 A JP 2002207708A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- arithmetic processing
- unit
- arithmetic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【課題】 複数のプロセッサ間で共有可能なメモリを備
えた演算装置において、データ破壊およびアクセス競合
を回避する。 【解決手段】 親プロセッサとコプロセッサコアとの間
で共有される共有メモリ10は、バッファB0およびB
1を含む。アクセス制御部11は、バッファ指定データ
BNに応じて、バッファB0およびB1の一方ずつを、
親プロセッサおよびコプロセッサコアの一方ずつと排他
的にアクセスさせる。バッファ指定データBNは、特定
アドレスに割り付けられた制御レジスタに格納されて、
親プロセッサによってソフトウェア的に書換えられる。
えた演算装置において、データ破壊およびアクセス競合
を回避する。 【解決手段】 親プロセッサとコプロセッサコアとの間
で共有される共有メモリ10は、バッファB0およびB
1を含む。アクセス制御部11は、バッファ指定データ
BNに応じて、バッファB0およびB1の一方ずつを、
親プロセッサおよびコプロセッサコアの一方ずつと排他
的にアクセスさせる。バッファ指定データBNは、特定
アドレスに割り付けられた制御レジスタに格納されて、
親プロセッサによってソフトウェア的に書換えられる。
Description
【0001】
【発明の属する技術分野】この発明は、演算装置に関
し、より特定的には、互いに独立に処理を実行する複数
のプロセッサを備える演算装置に関する。
し、より特定的には、互いに独立に処理を実行する複数
のプロセッサを備える演算装置に関する。
【0002】
【従来の技術】近年、システム全体の処理性能を向上さ
せるため、MCU(Microprocessor Unit、以下、単に
親プロセッサとも称する)とDSPとをワンチップ化し
たり、MCUに高機能なプログラマブル・コプロセッサ
を付加したシステムを構成する技術が多く用いられるよ
うになってきている。
せるため、MCU(Microprocessor Unit、以下、単に
親プロセッサとも称する)とDSPとをワンチップ化し
たり、MCUに高機能なプログラマブル・コプロセッサ
を付加したシステムを構成する技術が多く用いられるよ
うになってきている。
【0003】これらのシステムにおいては、親プロセッ
サであるMCUが、DSPもしくは、高機能なプログラ
マブル・コプロセッサを制御して、同期をとりながら処
理を進めていく。これらのプロセッサは、互いに独立し
た命令列を実行し、必要に応じて両者を同期させればよ
いので、並列処理が比較的簡単に実現でき、システム全
体の処理性能向上に大きく貢献することができる。以下
においては、DSP(Digital Signal Processor)や、
プログラマブル・コプロセッサを総称して、単にコプロ
セッサとも称する。
サであるMCUが、DSPもしくは、高機能なプログラ
マブル・コプロセッサを制御して、同期をとりながら処
理を進めていく。これらのプロセッサは、互いに独立し
た命令列を実行し、必要に応じて両者を同期させればよ
いので、並列処理が比較的簡単に実現でき、システム全
体の処理性能向上に大きく貢献することができる。以下
においては、DSP(Digital Signal Processor)や、
プログラマブル・コプロセッサを総称して、単にコプロ
セッサとも称する。
【0004】現在、このような親プロセッサとコプロセ
ッサとが別々の命令列を独立して実行するシステムを備
えた演算装置においては、親プロセッサとコプロセッサ
と間におけるインターフェイス方式は、下記の2通りに
大別される。
ッサとが別々の命令列を独立して実行するシステムを備
えた演算装置においては、親プロセッサとコプロセッサ
と間におけるインターフェイス方式は、下記の2通りに
大別される。
【0005】図12および図13は、親プロセッサとコ
プロセッサとを有する従来の演算装置の構成を示す第1
および第2の概略ブロック図である。
プロセッサとを有する従来の演算装置の構成を示す第1
および第2の概略ブロック図である。
【0006】図12を参照して、従来の演算装置100
は、それぞれが独立に演算処理を実行する親プロセッサ
(MCU)101およびコプロセッサ102と、親プロ
セッサ101およびコプロセッサ102によって共有さ
れる共有メモリ103と、これらのユニット間でデータ
授受を可能とするためのバスBSとを備える。親プロセ
ッサ101およびコプロセッサ102の各々は、バスB
Sを経由して、共有メモリ103に対するデータ入出力
を実行することが可能である。
は、それぞれが独立に演算処理を実行する親プロセッサ
(MCU)101およびコプロセッサ102と、親プロ
セッサ101およびコプロセッサ102によって共有さ
れる共有メモリ103と、これらのユニット間でデータ
授受を可能とするためのバスBSとを備える。親プロセ
ッサ101およびコプロセッサ102の各々は、バスB
Sを経由して、共有メモリ103に対するデータ入出力
を実行することが可能である。
【0007】このような構成とすることにより、演算装
置100においては、共有メモリ103を介して、親プ
ロセッサ101およびコプロセッサ102の間でデータ
を共有することができる。
置100においては、共有メモリ103を介して、親プ
ロセッサ101およびコプロセッサ102の間でデータ
を共有することができる。
【0008】図13を参照して、従来の演算装置110
は、それぞれが独立に演算処理を実行する親プロセッサ
(MCU)101およびコプロセッサ102と、親プロ
セッサ101から出力されたデータを一時的に格納して
コプロセッサ102に伝達するための入力バッファ10
5と、コプロセッサ102から出力されたデータを一時
的に格納して親プロセッサ101に伝達するための出力
バッファ106とを備える。
は、それぞれが独立に演算処理を実行する親プロセッサ
(MCU)101およびコプロセッサ102と、親プロ
セッサ101から出力されたデータを一時的に格納して
コプロセッサ102に伝達するための入力バッファ10
5と、コプロセッサ102から出力されたデータを一時
的に格納して親プロセッサ101に伝達するための出力
バッファ106とを備える。
【0009】入力バッファ105および出力バッファ1
06には、たとえば、FIFO(First In First Out)
方式のバッファが用いられる。このように、親プロセッ
サ101およびコプロセッサ102の間で、データを転
送するための特別なハードウェアを設けることによっ
て、親プロセッサ101とコプロセッサ102との間で
データを共有することができる。
06には、たとえば、FIFO(First In First Out)
方式のバッファが用いられる。このように、親プロセッ
サ101およびコプロセッサ102の間で、データを転
送するための特別なハードウェアを設けることによっ
て、親プロセッサ101とコプロセッサ102との間で
データを共有することができる。
【0010】
【発明が解決しようとする課題】しかしながら、図12
および図13で説明した演算装置においては、以下のよ
うな問題点が生じる場合がある。
および図13で説明した演算装置においては、以下のよ
うな問題点が生じる場合がある。
【0011】第1に、データ破壊の発生の危険性が挙げ
られる。データ破壊は、親プロセッサが使用するデータ
をコプロセッサが書換えてしまったり、逆にコプロセッ
サが使用しているデータを親プロセッサが書換えてしま
ったりすることにより発生する。一方、親プロセッサお
よびコプロセッサは、互いに独立して演算処理を実行す
ることから、タイミングを考慮したメモリ管理が困難で
ある。したがって、データ破壊を回避するために、プロ
グラムの作成に細心の注意が必要となるという問題点が
生じていた。
られる。データ破壊は、親プロセッサが使用するデータ
をコプロセッサが書換えてしまったり、逆にコプロセッ
サが使用しているデータを親プロセッサが書換えてしま
ったりすることにより発生する。一方、親プロセッサお
よびコプロセッサは、互いに独立して演算処理を実行す
ることから、タイミングを考慮したメモリ管理が困難で
ある。したがって、データ破壊を回避するために、プロ
グラムの作成に細心の注意が必要となるという問題点が
生じていた。
【0012】第2に、アクセス競合の発生が挙げられ
る。アクセス競合は、親プロセッサおよびコプロセッサ
が、同時に共有メモリに対するデータ読出要求もしくは
データ書込要求を行なったとき、すなわちアクセス要求
を同時に行なったときなどに発生する。アクセス競合を
回避するためには、回路規模の増大を招く、メモリの2
ポート化などによる対応が必要となるという問題点が生
じていた。
る。アクセス競合は、親プロセッサおよびコプロセッサ
が、同時に共有メモリに対するデータ読出要求もしくは
データ書込要求を行なったとき、すなわちアクセス要求
を同時に行なったときなどに発生する。アクセス競合を
回避するためには、回路規模の増大を招く、メモリの2
ポート化などによる対応が必要となるという問題点が生
じていた。
【0013】このようなデータの破壊およびアクセス競
合の発生を回避するために、個々のプロセッサに対して
独立にメモリを割当てるという方式を採用することもで
きる。
合の発生を回避するために、個々のプロセッサに対して
独立にメモリを割当てるという方式を採用することもで
きる。
【0014】しかしながら、このような方式を採用した
場合には、データを共有するために、親プロセッサから
コプロセッサへ、または、コプロセッサから親プロセッ
サに対して、データを転送する必要が生じる。データ転
送には、メモリからのデータ読出処理および他のメモリ
に対するデータ書込処理を繰返し実行する必要が生じる
ため、これらのデータ読出処理およびデータ書込処理に
プロセッサが占有されてしまう。この結果、データ共有
のためにオーバーヘッドが大きくなるという問題点が新
たに生じてしまう。
場合には、データを共有するために、親プロセッサから
コプロセッサへ、または、コプロセッサから親プロセッ
サに対して、データを転送する必要が生じる。データ転
送には、メモリからのデータ読出処理および他のメモリ
に対するデータ書込処理を繰返し実行する必要が生じる
ため、これらのデータ読出処理およびデータ書込処理に
プロセッサが占有されてしまう。この結果、データ共有
のためにオーバーヘッドが大きくなるという問題点が新
たに生じてしまう。
【0015】データ転送によるオーバーヘッドは、シス
テム全体の処理性能の低下、すなわち演算装置の性能低
下につながり、大きな問題点となる。したがって、デー
タ共有に起因するオーバーヘッドが生じない共有メモリ
方式を採用した演算装置において、データ破壊やアクセ
ス競合といった共有メモリ方式に起因した問題点を回避
することが重要となる。
テム全体の処理性能の低下、すなわち演算装置の性能低
下につながり、大きな問題点となる。したがって、デー
タ共有に起因するオーバーヘッドが生じない共有メモリ
方式を採用した演算装置において、データ破壊やアクセ
ス競合といった共有メモリ方式に起因した問題点を回避
することが重要となる。
【0016】この発明は、このような課題を解決するた
めのものであって、この発明の目的は、データ破壊やア
クセス競合を回避可能な、共有メモリ方式の演算装置の
構成を提供することである。
めのものであって、この発明の目的は、データ破壊やア
クセス競合を回避可能な、共有メモリ方式の演算装置の
構成を提供することである。
【0017】
【課題を解決するための手段】請求項1記載の演算装置
は、演算処理を実行するための第1の演算処理部と、第
1の演算処理部および第1の演算処理部とは別に演算処
理を実行可能な第2の演算処理部によって共有されるメ
モリ部とを備える。メモリ部は、各々、データの書込お
よび読出が可能な第1および第2のバッファ部と、第2
の演算処理部によって変更可能なバッファ指定に基づい
て決定される、第1および第2のバッファ部の各々と第
1および第2の演算処理部の一方ずつとの組合わせのそ
れぞれにおいて、排他的にアクセスを実行するためのア
クセス制御部とを含む。
は、演算処理を実行するための第1の演算処理部と、第
1の演算処理部および第1の演算処理部とは別に演算処
理を実行可能な第2の演算処理部によって共有されるメ
モリ部とを備える。メモリ部は、各々、データの書込お
よび読出が可能な第1および第2のバッファ部と、第2
の演算処理部によって変更可能なバッファ指定に基づい
て決定される、第1および第2のバッファ部の各々と第
1および第2の演算処理部の一方ずつとの組合わせのそ
れぞれにおいて、排他的にアクセスを実行するためのア
クセス制御部とを含む。
【0018】請求項2記載の演算装置は、請求項1記載
の演算装置であって、特定アドレスに割り付けられた制
御レジスタをさらに備える。制御レジスタは、バッファ
指定を行なうためのデータをセットする。
の演算装置であって、特定アドレスに割り付けられた制
御レジスタをさらに備える。制御レジスタは、バッファ
指定を行なうためのデータをセットする。
【0019】請求項3記載の演算装置は、請求項1記載
の演算装置であって、第1および第2のバッファは、第
1のアドレス領域に共通に割り付けられ、アクセス制御
部は、第1および第2のバッファ部に対応してそれぞれ
設けられる第1および第2のアドレス選択部と、第1お
よび第2の演算処理部に対応してそれぞれ設けられる第
1および第2のデータ選択部とを有する。第1および第
2のアドレス選択部は、バッファ指定に応じて、第1お
よび第2の演算処理部からアクセスが要求されるアドレ
スをそれぞれ示す第1および第2のアドレスを、第1お
よび第2のバッファの一方ずつに伝達し、第1および第
2のデータ選択部は、バッファ指定に応じて、組のそれ
ぞれにおいて、データ授受を実行する。
の演算装置であって、第1および第2のバッファは、第
1のアドレス領域に共通に割り付けられ、アクセス制御
部は、第1および第2のバッファ部に対応してそれぞれ
設けられる第1および第2のアドレス選択部と、第1お
よび第2の演算処理部に対応してそれぞれ設けられる第
1および第2のデータ選択部とを有する。第1および第
2のアドレス選択部は、バッファ指定に応じて、第1お
よび第2の演算処理部からアクセスが要求されるアドレ
スをそれぞれ示す第1および第2のアドレスを、第1お
よび第2のバッファの一方ずつに伝達し、第1および第
2のデータ選択部は、バッファ指定に応じて、組のそれ
ぞれにおいて、データ授受を実行する。
【0020】請求項4記載の演算装置は、請求項3記載
の演算装置であって、第1および第2のバッファは、第
1のアドレス領域とは異なる、互いに独立した第2およ
び第3のアドレス領域のそれぞれとさらに割り付けられ
る。
の演算装置であって、第1および第2のバッファは、第
1のアドレス領域とは異なる、互いに独立した第2およ
び第3のアドレス領域のそれぞれとさらに割り付けられ
る。
【0021】請求項5記載の演算装置は、請求項1記載
の演算装置であって、バッファ指定は、データ読出時に
おけるアクセス対象を設定するためのリードバッファ指
定と、データ書込時におけるアクセス対象を設定するた
めのライトバッファ指定とを含む。アクセス制御部は、
データ読出時およびデータ書込時のそれぞれにおいて、
リードバッファ指定およびライトバッファ指定にそれぞ
れ基づいて組合わせを決定する。
の演算装置であって、バッファ指定は、データ読出時に
おけるアクセス対象を設定するためのリードバッファ指
定と、データ書込時におけるアクセス対象を設定するた
めのライトバッファ指定とを含む。アクセス制御部は、
データ読出時およびデータ書込時のそれぞれにおいて、
リードバッファ指定およびライトバッファ指定にそれぞ
れ基づいて組合わせを決定する。
【0022】請求項6記載の演算装置は、請求項1記載
の演算装置であって、バッファ指定は、第1および第2
の演算処理部の両方から変更可能な第1のサブバッファ
指定と、第2の演算処理部によって変更可能な第2のサ
ブバッファ指定とを含む。アクセス制御部は、第1の演
算処理部からアクセス要求があった場合には、第1のサ
ブバッファ指定に基づいて組合わせを決定し、第2の演
算処理部からアクセス要求があった場合には、第2のサ
ブバッファ指定に基づいて組合わせを決定する。
の演算装置であって、バッファ指定は、第1および第2
の演算処理部の両方から変更可能な第1のサブバッファ
指定と、第2の演算処理部によって変更可能な第2のサ
ブバッファ指定とを含む。アクセス制御部は、第1の演
算処理部からアクセス要求があった場合には、第1のサ
ブバッファ指定に基づいて組合わせを決定し、第2の演
算処理部からアクセス要求があった場合には、第2のサ
ブバッファ指定に基づいて組合わせを決定する。
【0023】請求項7記載の演算装置は、請求項6記載
の演算装置であって、アクセス制御部は、第1および第
2のバッファ部に対応してそれぞれ設けられる第1およ
び第2のアドレス選択部と、第1および第2の演算処理
部に対応してそれぞれ設けられる第1および第2のデー
タ選択部とを有する。第1および第2のアドレス選択部
は、第2のサブバッファ指定に応じて、第1および第2
の演算処理部からアクセスが要求されるアドレスをそれ
ぞれ示す第1および第2のアドレスを、第1および第2
のバッファの一方ずつに伝達し、第1のデータ選択部
は、第1および第2のバッファ部のうちの第1のサブバ
ッファ指定に応じた一方と、第1の演算処理部との間
で、データ授受を実行し、第2のデータ選択部は、第1
および第2のバッファ部のうちの第2のサブバッファ指
定に応じた一方と、第2の演算処理部との間で、データ
授受を実行する。
の演算装置であって、アクセス制御部は、第1および第
2のバッファ部に対応してそれぞれ設けられる第1およ
び第2のアドレス選択部と、第1および第2の演算処理
部に対応してそれぞれ設けられる第1および第2のデー
タ選択部とを有する。第1および第2のアドレス選択部
は、第2のサブバッファ指定に応じて、第1および第2
の演算処理部からアクセスが要求されるアドレスをそれ
ぞれ示す第1および第2のアドレスを、第1および第2
のバッファの一方ずつに伝達し、第1のデータ選択部
は、第1および第2のバッファ部のうちの第1のサブバ
ッファ指定に応じた一方と、第1の演算処理部との間
で、データ授受を実行し、第2のデータ選択部は、第1
および第2のバッファ部のうちの第2のサブバッファ指
定に応じた一方と、第2の演算処理部との間で、データ
授受を実行する。
【0024】請求項8記載の演算装置は、請求項1記載
の演算装置であって、第1の演算処理部からのバッファ
指定の変更は禁止される。
の演算装置であって、第1の演算処理部からのバッファ
指定の変更は禁止される。
【0025】請求項9記載の演算装置は、請求項1記載
の演算装置であって、バッファ指定の変更は、第1の演
算処理部からも可能である。
の演算装置であって、バッファ指定の変更は、第1の演
算処理部からも可能である。
【0026】請求項10記載の演算装置は、演算処理を
実行するための第1の演算処理部と、第1の演算処理部
および第1の演算処理部とは別に演算処理を実行可能な
第2の演算処理部によって共有されるメモリ部とを備え
る。メモリ部は、互いに独立にデータ書込およびデータ
読出が可能な、各々が2つの入出力ポートを有する第1
および第2のバッファ部と、第1および第2の演算処理
部の少なくとも一方からデータ読出要求があった場合に
おいて、第2の演算処理部によって変更可能な第1のリ
ードバッファ指定に応じて指定される、第1および第2
のバッファ部のうちの一方からの読出データを第1の演
算処理部に対して伝達するとともに、第2の演算処理部
によって変更可能な第2のリードバッファ指定に応じて
指定される、第1および第2のバッファ部のうちの一方
からの読出データを第2の演算処理部に対して伝達する
ためのアクセス制御部とを含む。アクセス制御部は、第
1および第2の演算処理部の一方からデータ書込要求が
あった場合において、第2の演算処理部によって変更可
能なライトバッファ指定に基づいて決定される、第1お
よび第2のバッファ部の一方に対して、第1および第2
の演算処理部の一方からの書込データを伝達する。
実行するための第1の演算処理部と、第1の演算処理部
および第1の演算処理部とは別に演算処理を実行可能な
第2の演算処理部によって共有されるメモリ部とを備え
る。メモリ部は、互いに独立にデータ書込およびデータ
読出が可能な、各々が2つの入出力ポートを有する第1
および第2のバッファ部と、第1および第2の演算処理
部の少なくとも一方からデータ読出要求があった場合に
おいて、第2の演算処理部によって変更可能な第1のリ
ードバッファ指定に応じて指定される、第1および第2
のバッファ部のうちの一方からの読出データを第1の演
算処理部に対して伝達するとともに、第2の演算処理部
によって変更可能な第2のリードバッファ指定に応じて
指定される、第1および第2のバッファ部のうちの一方
からの読出データを第2の演算処理部に対して伝達する
ためのアクセス制御部とを含む。アクセス制御部は、第
1および第2の演算処理部の一方からデータ書込要求が
あった場合において、第2の演算処理部によって変更可
能なライトバッファ指定に基づいて決定される、第1お
よび第2のバッファ部の一方に対して、第1および第2
の演算処理部の一方からの書込データを伝達する。
【0027】請求項11記載の演算装置は、請求項10
記載の演算装置であって、特定アドレスに割り付けられ
た制御レジスタをさらに備る。制御レジスタは、第1お
よび第2のリードバッファ指定と、ライトバッファ指定
とを行なうためのデータ群をセットする。
記載の演算装置であって、特定アドレスに割り付けられ
た制御レジスタをさらに備る。制御レジスタは、第1お
よび第2のリードバッファ指定と、ライトバッファ指定
とを行なうためのデータ群をセットする。
【0028】請求項12記載の演算装置は、請求項10
記載の演算装置であって、第1および第2のリードバッ
ファ指定とライトバッファ指定との、第1の演算処理部
からの変更は禁止される。
記載の演算装置であって、第1および第2のリードバッ
ファ指定とライトバッファ指定との、第1の演算処理部
からの変更は禁止される。
【0029】請求項13記載の演算装置は、請求項10
記載の演算装置であって、第1および第2のリードバッ
ファ指定とライトバッファ指定との変更は、第1の演算
処理部からも可能である。
記載の演算装置であって、第1および第2のリードバッ
ファ指定とライトバッファ指定との変更は、第1の演算
処理部からも可能である。
【0030】請求項14記載の演算装置は、演算処理を
実行するための第1の演算処理部と、第1の演算処理部
および第1の演算処理部とは別に演算処理を実行可能な
第2の演算処理部によって共有されるメモリ部とを備え
る。メモリ部は、互いに独立にデータ書込およびデータ
読出が可能な複数のバッファ部と、第2の演算処理部に
よって変更可能な第1のバッファ指定に基づいて決定さ
れる複数のバッファのうちの1つと第1の演算処理部と
の間、および第2の演算処理部によって変更可能な第2
のバッファ指定に基づいて決定される複数のバッファの
うちの1つと第2の演算処理部との間において、アクセ
スを実行するためのアクセス制御部とを含む。
実行するための第1の演算処理部と、第1の演算処理部
および第1の演算処理部とは別に演算処理を実行可能な
第2の演算処理部によって共有されるメモリ部とを備え
る。メモリ部は、互いに独立にデータ書込およびデータ
読出が可能な複数のバッファ部と、第2の演算処理部に
よって変更可能な第1のバッファ指定に基づいて決定さ
れる複数のバッファのうちの1つと第1の演算処理部と
の間、および第2の演算処理部によって変更可能な第2
のバッファ指定に基づいて決定される複数のバッファの
うちの1つと第2の演算処理部との間において、アクセ
スを実行するためのアクセス制御部とを含む。
【0031】請求項15記載の演算装置は、請求項14
記載の演算装置であって、特定アドレスにそれぞれ割り
付けられた第1および第2の制御レジスタをさらに備え
る。第1および第2の制御レジスタは、第1および第2
のバッファ指定をそれぞれ行なうための第1および第2
のデータをそれぞれセットする。
記載の演算装置であって、特定アドレスにそれぞれ割り
付けられた第1および第2の制御レジスタをさらに備え
る。第1および第2の制御レジスタは、第1および第2
のバッファ指定をそれぞれ行なうための第1および第2
のデータをそれぞれセットする。
【0032】請求項16記載の演算装置は、請求項14
記載の演算装置であって、第1の演算処理部からの第1
および第2のバッファ指定の変更は禁止される。
記載の演算装置であって、第1の演算処理部からの第1
および第2のバッファ指定の変更は禁止される。
【0033】請求項17記載の演算装置は、請求項14
記載の演算装置であって、第1のバッファ指定は、第1
の演算処理部によっても変更可能である。
記載の演算装置であって、第1のバッファ指定は、第1
の演算処理部によっても変更可能である。
【0034】請求項18記載の演算装置は、請求項10
記載の演算装置であって、アクセス制御部は、複数のバ
ッファ部に対応してそれぞれ設けられる複数のアドレス
選択部と、第1および第2の演算処理部に対応してそれ
ぞれ設けられる第1および第2のデータ選択部とを有
し、複数のアドレス選択部の各々は、第1および第2の
演算処理部からアクセスが要求されるアドレスをそれぞ
れ示す第1および第2のアドレスのうちの第2のバッフ
ァ指定に応じた一方を、対応するバッファ部に伝達し、
第1のデータ選択部は、複数のバッファ部のうちの第1
のバッファ指定に応じた1つと、第1の演算処理部との
間で、データ授受を実行し、第2のデータ選択部は、複
数のバッファ部のうちの第2のバッファ指定に応じた1
つと、第2の演算処理部との間で、データ授受を実行す
る。
記載の演算装置であって、アクセス制御部は、複数のバ
ッファ部に対応してそれぞれ設けられる複数のアドレス
選択部と、第1および第2の演算処理部に対応してそれ
ぞれ設けられる第1および第2のデータ選択部とを有
し、複数のアドレス選択部の各々は、第1および第2の
演算処理部からアクセスが要求されるアドレスをそれぞ
れ示す第1および第2のアドレスのうちの第2のバッフ
ァ指定に応じた一方を、対応するバッファ部に伝達し、
第1のデータ選択部は、複数のバッファ部のうちの第1
のバッファ指定に応じた1つと、第1の演算処理部との
間で、データ授受を実行し、第2のデータ選択部は、複
数のバッファ部のうちの第2のバッファ指定に応じた1
つと、第2の演算処理部との間で、データ授受を実行す
る。
【0035】請求項19記載の演算装置は、請求項1、
10または14に記載の演算装置であって、第1の演算
処理部はコプロセッサに相当し、第2の演算処理部はM
CUに相当する。
10または14に記載の演算装置であって、第1の演算
処理部はコプロセッサに相当し、第2の演算処理部はM
CUに相当する。
【0036】
【発明の実施の形態】以下において、本発明の実施の形
態について図面を参照して詳しく説明する。なお、図中
における同一符号は、同一または相当部分を示すものと
する。
態について図面を参照して詳しく説明する。なお、図中
における同一符号は、同一または相当部分を示すものと
する。
【0037】[実施の形態1]図1は、本発明の実施の
形態1に従う演算装置1の構成を示す概略ブロック図で
ある。
形態1に従う演算装置1の構成を示す概略ブロック図で
ある。
【0038】図1を参照して、演算装置1は、コプロセ
ッサ3と、親プロセッサ(MCU)4とを備える。コプ
ロセッサ3は、演算処理を実行するためのコプロセッサ
コア6と、コプロセッサコア6による演算処理に必要な
データを格納するための係数メモリ7および命令メモリ
8と、コプロセッサコア6によって参照される特定デー
タを記憶するための制御レジスタ9と、親プロセッサ4
との間で共有される共有メモリ10とを含む。
ッサ3と、親プロセッサ(MCU)4とを備える。コプ
ロセッサ3は、演算処理を実行するためのコプロセッサ
コア6と、コプロセッサコア6による演算処理に必要な
データを格納するための係数メモリ7および命令メモリ
8と、コプロセッサコア6によって参照される特定デー
タを記憶するための制御レジスタ9と、親プロセッサ4
との間で共有される共有メモリ10とを含む。
【0039】なお、演算装置1においては、親プロセッ
サ(MCU)4とコプロセッサ3とを同一の半導体チッ
プ上に形成することも、それぞれを別々の半導体チップ
上に形成することも可能である。
サ(MCU)4とコプロセッサ3とを同一の半導体チッ
プ上に形成することも、それぞれを別々の半導体チップ
上に形成することも可能である。
【0040】演算装置1は、さらに、親プロセッサ4と
コプロセッサ3との間でデータ授受を実行するためのバ
スBSを備える。バスBSは、制御レジスタ9および共
有メモリ10と、親プロセッサ4との間に配置される。
親プロセッサ4は、共有メモリ10および制御レジスタ
9に対するアクセスを、バスBSを介して実行すること
ができる。
コプロセッサ3との間でデータ授受を実行するためのバ
スBSを備える。バスBSは、制御レジスタ9および共
有メモリ10と、親プロセッサ4との間に配置される。
親プロセッサ4は、共有メモリ10および制御レジスタ
9に対するアクセスを、バスBSを介して実行すること
ができる。
【0041】コプロセッサコア6は、内部バスによっ
て、係数メモリ7、命令メモリ8、制御レジスタ9およ
び共有メモリ10と接続される。したがって、コプロセ
ッサコア6は、共有メモリ10に対するアクセスを実行
することができる。このように、共有メモリ10に対し
て、親プロセッサ4およびコプロセッサコア6の双方か
らアクセス、すなわちデータ読出およびデータ書込を実
行することができる。
て、係数メモリ7、命令メモリ8、制御レジスタ9およ
び共有メモリ10と接続される。したがって、コプロセ
ッサコア6は、共有メモリ10に対するアクセスを実行
することができる。このように、共有メモリ10に対し
て、親プロセッサ4およびコプロセッサコア6の双方か
らアクセス、すなわちデータ読出およびデータ書込を実
行することができる。
【0042】制御レジスタ9は、親プロセッサ4の特定
アドレスに割当てられており、当該特定アドレスに親プ
ロセッサ4が値を書込むことでソフトウェア的にセット
される。
アドレスに割当てられており、当該特定アドレスに親プ
ロセッサ4が値を書込むことでソフトウェア的にセット
される。
【0043】制御レジスタ9への書込は、親プロセッサ
4のみ可能であり、制御レジスタ9からの読出は、親プ
ロセッサ4およびコプロセッサコア6の両方とも可能で
あるものとする。すなわち、コプロセッサコア6から
は、制御レジスタ9に対して読出のみが可能である。
4のみ可能であり、制御レジスタ9からの読出は、親プ
ロセッサ4およびコプロセッサコア6の両方とも可能で
あるものとする。すなわち、コプロセッサコア6から
は、制御レジスタ9に対して読出のみが可能である。
【0044】図2は、図1に示される共有メモリ10の
構成を示す回路図である。図2を参照して、共有メモリ
10は、2つの領域に分割されており、互いに独立にデ
ータ入出力を実行可能なバッファB0およびバッファB
1を含む。図示しないが、バッファB0およびB1の各
々は、親プロセッサ4およびコプロセッサコア6と、専
用のバスによってそれぞれ接続されている。したがっ
て、親プロセッサ4からの、データ読出およびデータ書
込をそれぞれ要求するための制御信号RDmおよびWT
mと、コプロセッサコア6からの、データ読出およびデ
ータ書込をそれぞれ要求するための制御信号RDcおよ
びWTcとを、バッファB0およびB1の各々に対して
伝達することができる。これらの制御信号は、データ読
出/書込が要求される場合に、“1”に設定されるもの
とする。
構成を示す回路図である。図2を参照して、共有メモリ
10は、2つの領域に分割されており、互いに独立にデ
ータ入出力を実行可能なバッファB0およびバッファB
1を含む。図示しないが、バッファB0およびB1の各
々は、親プロセッサ4およびコプロセッサコア6と、専
用のバスによってそれぞれ接続されている。したがっ
て、親プロセッサ4からの、データ読出およびデータ書
込をそれぞれ要求するための制御信号RDmおよびWT
mと、コプロセッサコア6からの、データ読出およびデ
ータ書込をそれぞれ要求するための制御信号RDcおよ
びWTcとを、バッファB0およびB1の各々に対して
伝達することができる。これらの制御信号は、データ読
出/書込が要求される場合に、“1”に設定されるもの
とする。
【0045】制御レジスタ9にセットされたデータに基
づいて、2つのバッファB0およびB1の各々は、親プ
ロセッサ4およびコプロセッサコア6の一方ずつと組合
される。
づいて、2つのバッファB0およびB1の各々は、親プ
ロセッサ4およびコプロセッサコア6の一方ずつと組合
される。
【0046】共有メモリ10は、さらに、上記組合せの
それぞれにおいて、アクセスを排他的に実行するための
アクセス制御部11を含む。アクセス制御部11を設け
ることにより、バッファB0およびバッファB1は、2
ポートメモリである必要はなく、シングルポートのメモ
リで構成することができる。
それぞれにおいて、アクセスを排他的に実行するための
アクセス制御部11を含む。アクセス制御部11を設け
ることにより、バッファB0およびバッファB1は、2
ポートメモリである必要はなく、シングルポートのメモ
リで構成することができる。
【0047】アクセス制御部11は、バッファB0およ
びB1に対応してそれぞれ設けられる、アドレスを選択
的に伝達するためのアドレス選択回路AS0およびAS
1と、親プロセッサ4およびコプロセッサコア6に対応
してそれぞれ設けられ、バッファB0およびバッファB
1のいずれか一方ずつをアクセスすなわちデータ入出力
の対象として選択するためのデータ選択回路DSmおよ
びDScとを有する。
びB1に対応してそれぞれ設けられる、アドレスを選択
的に伝達するためのアドレス選択回路AS0およびAS
1と、親プロセッサ4およびコプロセッサコア6に対応
してそれぞれ設けられ、バッファB0およびバッファB
1のいずれか一方ずつをアクセスすなわちデータ入出力
の対象として選択するためのデータ選択回路DSmおよ
びDScとを有する。
【0048】アドレス選択回路AS0は、制御レジスタ
9にセットされたバッファ指定データBNに応じて、親
プロセッサ4からアクセスが要求されるアドレス(以
下、単に親プロセッサアドレスとも称する)MADおよ
び、コプロセッサコア6からアクセスが要求されるアド
レス(以下、単にコプロセッサアドレスとも称する)C
ADの一方をバッファB0に伝達する。アドレス選択回
路AS1は、アドレス選択回路AS0と相補的な選択を
実行し、親プロセッサアドレスMADおよびコプロセッ
サアドレスCADの他方をバッファB1に伝達する。
9にセットされたバッファ指定データBNに応じて、親
プロセッサ4からアクセスが要求されるアドレス(以
下、単に親プロセッサアドレスとも称する)MADおよ
び、コプロセッサコア6からアクセスが要求されるアド
レス(以下、単にコプロセッサアドレスとも称する)C
ADの一方をバッファB0に伝達する。アドレス選択回
路AS1は、アドレス選択回路AS0と相補的な選択を
実行し、親プロセッサアドレスMADおよびコプロセッ
サアドレスCADの他方をバッファB1に伝達する。
【0049】データ選択回路DSmは、バッファ指定デ
ータBNに応じて、バッファB0およびB1の一方との
間で、親プロセッサ4に対して入出力される親プロセッ
サコアデータMDATを授受する。データ選択回路DS
cは、データ選択回路DSmと相補的なバッファ選択を
実行し、バッファ指定データBNに応じて、バッファB
0およびバッファB1の他方との間で、コプロセッサコ
ア6に対して入出力されるコプロセッサコアデータCD
ATを授受する。
ータBNに応じて、バッファB0およびB1の一方との
間で、親プロセッサ4に対して入出力される親プロセッ
サコアデータMDATを授受する。データ選択回路DS
cは、データ選択回路DSmと相補的なバッファ選択を
実行し、バッファ指定データBNに応じて、バッファB
0およびバッファB1の他方との間で、コプロセッサコ
ア6に対して入出力されるコプロセッサコアデータCD
ATを授受する。
【0050】図3は、図1に示される制御レジスタ9に
セットされるデータの構成を説明する図である。
セットされるデータの構成を説明する図である。
【0051】図3を参照して、制御レジスタ9は、親プ
ロセッサ4の特定アドレス(図3においては、アドレス
0x0606008)に割当てられており、その最下位
ビットにおいて、バッファ指定データBNがセットされ
る。
ロセッサ4の特定アドレス(図3においては、アドレス
0x0606008)に割当てられており、その最下位
ビットにおいて、バッファ指定データBNがセットされ
る。
【0052】バッファ指定データBNの値が“0”の場
合において、親プロセッサ4はバッファB0を、コプロ
セッサコア6はバッファB1をアクセス可能となる。反
対に、バッファ指定データBNの値が“1”の場合にお
いては、親プロセッサはバッファB1を、コプロセッサ
コアはバッファB0をアクセス可能な状態となる。
合において、親プロセッサ4はバッファB0を、コプロ
セッサコア6はバッファB1をアクセス可能となる。反
対に、バッファ指定データBNの値が“1”の場合にお
いては、親プロセッサはバッファB1を、コプロセッサ
コアはバッファB0をアクセス可能な状態となる。
【0053】次に、データ読出時およびデータ書込時に
おける排他的なバッファのアクセス選択について説明す
る。
おける排他的なバッファのアクセス選択について説明す
る。
【0054】再び図2を参照して、バッファB0に対す
る読出制御信号RD0は、親プロセッサ4からデータ読
出が要求されて制御信号RDmが“1”に設定され、か
つバッファ指定データBNの値が“0”である場合、も
しくは、コプロセッサコア6からデータ読出が要求され
て制御信号RDcが“1”に設定され、かつバッファ指
定データBNの値が“1”である場合において、
“1”に活性化される。これに応答して、バッファB0
においては、アドレス選択回路AS0によって選択され
たアドレスに基づいたデータ読出が実行される。バッフ
ァB0からの読出データは、親プロセッサ4およびコプ
ロセッサコア6のうちのデータ読出を要求した一方に対
して、親プロセッサコアデータMDATもしくはコプロ
セッサコアデータCDATとして、データ選択回路DS
mおよびDScの対応する一方によって伝達される。
る読出制御信号RD0は、親プロセッサ4からデータ読
出が要求されて制御信号RDmが“1”に設定され、か
つバッファ指定データBNの値が“0”である場合、も
しくは、コプロセッサコア6からデータ読出が要求され
て制御信号RDcが“1”に設定され、かつバッファ指
定データBNの値が“1”である場合において、
“1”に活性化される。これに応答して、バッファB0
においては、アドレス選択回路AS0によって選択され
たアドレスに基づいたデータ読出が実行される。バッフ
ァB0からの読出データは、親プロセッサ4およびコプ
ロセッサコア6のうちのデータ読出を要求した一方に対
して、親プロセッサコアデータMDATもしくはコプロ
セッサコアデータCDATとして、データ選択回路DS
mおよびDScの対応する一方によって伝達される。
【0055】一方、バッファB1に対する読出制御信号
RD1は、親プロセッサ4からデータ読出が要求されて
制御信号RDmが“1”に設定され、かつバッファ指定
データBNの値が“1”である場合、もしくは、コプロ
セッサコア6からデータ読出が要求されて制御信号RD
cが“1”に設定され、かつバッファ指定データBNの
値が“0”である場合において、“1”に活性化され
る。これに応答して、バッファB1においては、アドレ
ス選択回路AS1によって選択されたアドレスに基づい
たデータ読出が実行される。バッファB1からの読出デ
ータも同様に、親プロセッサ4およびコプロセッサコア
6のうちのデータ読出を要求した一方に対して、親プロ
セッサコアデータMDATもしくはコプロセッサコアデ
ータCDATとして、データ選択回路DSmおよびDS
cの対応する一方によって伝達される。
RD1は、親プロセッサ4からデータ読出が要求されて
制御信号RDmが“1”に設定され、かつバッファ指定
データBNの値が“1”である場合、もしくは、コプロ
セッサコア6からデータ読出が要求されて制御信号RD
cが“1”に設定され、かつバッファ指定データBNの
値が“0”である場合において、“1”に活性化され
る。これに応答して、バッファB1においては、アドレ
ス選択回路AS1によって選択されたアドレスに基づい
たデータ読出が実行される。バッファB1からの読出デ
ータも同様に、親プロセッサ4およびコプロセッサコア
6のうちのデータ読出を要求した一方に対して、親プロ
セッサコアデータMDATもしくはコプロセッサコアデ
ータCDATとして、データ選択回路DSmおよびDS
cの対応する一方によって伝達される。
【0056】図2に示されるように、バッファB0およ
びB1にそれぞれ対応する書込制御信号WT0およびW
T1も、読出制御信号RD0およびRD1と同様に、生
成される。書込制御信号WT0およびWT1の活性化
(“1”設定)にそれぞれ応答して、バッファB0およ
びB1に対するデータ書込は、アドレス選択回路AS0
およびAS1によってそれぞれ選択されたアドレスに応
じて実行される。
びB1にそれぞれ対応する書込制御信号WT0およびW
T1も、読出制御信号RD0およびRD1と同様に、生
成される。書込制御信号WT0およびWT1の活性化
(“1”設定)にそれぞれ応答して、バッファB0およ
びB1に対するデータ書込は、アドレス選択回路AS0
およびAS1によってそれぞれ選択されたアドレスに応
じて実行される。
【0057】親プロセッサ4およびコプロセッサコア6
のうちのデータ書込を要求した一方から入力される親プ
ロセッサコアデータMDATもしくはコプロセッサコア
データCDATは、データ選択回路DSmおよびDSc
の対応する一方によって、データ書込の対象となるバッ
ファB0もしくはB1に伝達される。
のうちのデータ書込を要求した一方から入力される親プ
ロセッサコアデータMDATもしくはコプロセッサコア
データCDATは、データ選択回路DSmおよびDSc
の対応する一方によって、データ書込の対象となるバッ
ファB0もしくはB1に伝達される。
【0058】図4は、演算装置1におけるアドレスマッ
ピングの例を示す概念図である。図4を参照して、アド
レス空間XMEM(写像)は、図1における共有メモリ
10に対応する。アドレス空間YMEMおよびIMEM
は、係数メモリ7および命令メモリ8にそれぞれ対応す
る。また、アドレス空間XMEM♯0およびXMEM♯
1は、バッファB0およびB1にそれぞれ直接対応す
る。なお、図4に示されるこれらのアドレス空間は、演
算装置1全体のアドレスマップを意味するのではなく、
親プロセッサ(MCU)4から見たアドレスマッピング
を示している。
ピングの例を示す概念図である。図4を参照して、アド
レス空間XMEM(写像)は、図1における共有メモリ
10に対応する。アドレス空間YMEMおよびIMEM
は、係数メモリ7および命令メモリ8にそれぞれ対応す
る。また、アドレス空間XMEM♯0およびXMEM♯
1は、バッファB0およびB1にそれぞれ直接対応す
る。なお、図4に示されるこれらのアドレス空間は、演
算装置1全体のアドレスマップを意味するのではなく、
親プロセッサ(MCU)4から見たアドレスマッピング
を示している。
【0059】図4に示されるように、アドレス空間XM
EMに相当するアドレス領域0x0600_0000〜
0x0601_ffffは、共有メモリ10を構成する
バッファB0およびB1の双方に割り当てられる。これ
により、親プロセッサ4からは、同一のアドレスを用い
て、バッファB0およびB1の双方の内容を参照(デー
タ読出)、または更新(データ書込)することができ
る。この際に、バッファB0およびB1のどちらにアク
セスしているかは、既に説明した制御レジスタ9にセッ
トされるバッファ指定データBNの値によって定められ
る。
EMに相当するアドレス領域0x0600_0000〜
0x0601_ffffは、共有メモリ10を構成する
バッファB0およびB1の双方に割り当てられる。これ
により、親プロセッサ4からは、同一のアドレスを用い
て、バッファB0およびB1の双方の内容を参照(デー
タ読出)、または更新(データ書込)することができ
る。この際に、バッファB0およびB1のどちらにアク
セスしているかは、既に説明した制御レジスタ9にセッ
トされるバッファ指定データBNの値によって定められ
る。
【0060】また、バッファB0およびB1に対して
は、上述したアドレス空間に加えて、アドレス空間0x
0608_0000〜0x0609_ffffおよび、
アドレス空間0x060a_0000から0x060b
_ffffがそれぞれ割り当てられる。これらのアドレ
スは、コプロセッサ3の停止中のみにアクセス可能なア
ドレスとする。この結果、コプロセッサ3の停止中にお
いても、親プロセッサ4からバッファB0およびB1に
アクセスすることができる。
は、上述したアドレス空間に加えて、アドレス空間0x
0608_0000〜0x0609_ffffおよび、
アドレス空間0x060a_0000から0x060b
_ffffがそれぞれ割り当てられる。これらのアドレ
スは、コプロセッサ3の停止中のみにアクセス可能なア
ドレスとする。この結果、コプロセッサ3の停止中にお
いても、親プロセッサ4からバッファB0およびB1に
アクセスすることができる。
【0061】制御レジスタは、0x060a_0000
からのアドレスに割当てられ、親プロセッサ4は、この
アドレスに値を書込むことで、制御レジスタ9にバッフ
ァ指定データBNをセットすることができる。バッファ
指定データBNを適宜書き換て、親プロセッサ4および
コプロセッサコア6のアクセス対象バッファを入れ換え
ることにより、親プロセッサ4とコプロセッサコア6と
の間でデータを共有することができる。
からのアドレスに割当てられ、親プロセッサ4は、この
アドレスに値を書込むことで、制御レジスタ9にバッフ
ァ指定データBNをセットすることができる。バッファ
指定データBNを適宜書き換て、親プロセッサ4および
コプロセッサコア6のアクセス対象バッファを入れ換え
ることにより、親プロセッサ4とコプロセッサコア6と
の間でデータを共有することができる。
【0062】このような、実施の形態1に従う演算装置
の構成に従えば、共有メモリ構成によってデータ共有を
可能とした上で、データ破壊やアクセス競合を回避する
ことができる。また、各バッファを形成するメモリを2
ポート化する必要がなく、1ポートメモリによって共有
メモリを構成できる。さらに、データ共有のためのデー
タ転送に起因するオーバーヘッドが生じないという共有
メモリ構成の利点はそのまま維持されている。
の構成に従えば、共有メモリ構成によってデータ共有を
可能とした上で、データ破壊やアクセス競合を回避する
ことができる。また、各バッファを形成するメモリを2
ポート化する必要がなく、1ポートメモリによって共有
メモリを構成できる。さらに、データ共有のためのデー
タ転送に起因するオーバーヘッドが生じないという共有
メモリ構成の利点はそのまま維持されている。
【0063】[実施の形態2]実施の形態2において
は、制御レジスタの機能を追加した構成が示される。
は、制御レジスタの機能を追加した構成が示される。
【0064】図5は、実施の形態2に従う制御レジスタ
にセットされるデータの構成を示す図である。
にセットされるデータの構成を示す図である。
【0065】図5を参照して、実施の形態2において
は、制御レジスタの下位2ビットを用いて、データ読出
時とデータ書込時におけるバッファ指定を独立に行なう
ことができる。具体的には、これらの2ビットを用い
て、リードバッファ指定データRBNおよびライトバッ
ファ指定データWBNがセットされる。
は、制御レジスタの下位2ビットを用いて、データ読出
時とデータ書込時におけるバッファ指定を独立に行なう
ことができる。具体的には、これらの2ビットを用い
て、リードバッファ指定データRBNおよびライトバッ
ファ指定データWBNがセットされる。
【0066】たとえば、リードバッファ指定データRB
Nの値を“0”に設定した場合には、データ読出におい
て、親プロセッサ4はバッファB0を、コプロセッサコ
ア6はバッファB1をアクセス可能となる。同様に、ラ
イトバッファ指定データWBNの値を“0”に設定した
場合には、データ書込において、親プロセッサ4はバッ
ファB1を、コプロセッサコア6はバッファB0をアク
セス可能となる。
Nの値を“0”に設定した場合には、データ読出におい
て、親プロセッサ4はバッファB0を、コプロセッサコ
ア6はバッファB1をアクセス可能となる。同様に、ラ
イトバッファ指定データWBNの値を“0”に設定した
場合には、データ書込において、親プロセッサ4はバッ
ファB1を、コプロセッサコア6はバッファB0をアク
セス可能となる。
【0067】実施の形態1の場合と同様に、制御レジス
タ9への書込は、親プロセッサ4からのみ可能であり、
制御レジスタ9からの読出は、親プロセッサ4およびコ
プロセッサコア6の両方とも可能であるものとする。
タ9への書込は、親プロセッサ4からのみ可能であり、
制御レジスタ9からの読出は、親プロセッサ4およびコ
プロセッサコア6の両方とも可能であるものとする。
【0068】図6は、実施の形態2に従う共有メモリ2
0の構成を示すブロック図である。図6を参照して、実
施の形態2に従う共有メモリ20は、図2に示した実施
の形態1に従う共有メモリ10と比較して、バッファ選
択信号BSLを生成するバッファ選択回路22をさらに
含む点で異なる。
0の構成を示すブロック図である。図6を参照して、実
施の形態2に従う共有メモリ20は、図2に示した実施
の形態1に従う共有メモリ10と比較して、バッファ選
択信号BSLを生成するバッファ選択回路22をさらに
含む点で異なる。
【0069】さらに、アクセス制御部21に含まれる、
アドレス選択回路AS0,AS1およびデータ選択回路
DSm,DScは、バッファ選択回路22によって生成
されるバッファ選択信号BSLに応じた選択を行なう点
が、実施の形態1の構成と異なる。
アドレス選択回路AS0,AS1およびデータ選択回路
DSm,DScは、バッファ選択回路22によって生成
されるバッファ選択信号BSLに応じた選択を行なう点
が、実施の形態1の構成と異なる。
【0070】共有メモリ20においては、アクセスを互
いに排他的に実行する、バッファおよびプロッセサの組
合わせは、データ読出時とデータ書込時とにおいて、独
立に決められる。
いに排他的に実行する、バッファおよびプロッセサの組
合わせは、データ読出時とデータ書込時とにおいて、独
立に決められる。
【0071】バッファ選択回路22は、制御レジスタ9
にセットされるリードバッファ指定データRBNおよび
ライトバッファ指定データWBNと、親プロセッサ読出
書込信号MRWおよびコプロセッサ読出書込信号CRW
に応じてバッファ選択信号BSLを生成する。
にセットされるリードバッファ指定データRBNおよび
ライトバッファ指定データWBNと、親プロセッサ読出
書込信号MRWおよびコプロセッサ読出書込信号CRW
に応じてバッファ選択信号BSLを生成する。
【0072】親プロセッサ読出書込信号MRWは、親プ
ロセッサ4によってデータ読出が要求される場合には
“0”に設定され、データ書込が要求される場合には、
“1”に設定される。同様に、コプロセッサコア読出書
込信号CRWは、コプロセッサによってデータ読出およ
びデータ書込が要求される場合において、それぞれ
“0”および“1”に設定される。
ロセッサ4によってデータ読出が要求される場合には
“0”に設定され、データ書込が要求される場合には、
“1”に設定される。同様に、コプロセッサコア読出書
込信号CRWは、コプロセッサによってデータ読出およ
びデータ書込が要求される場合において、それぞれ
“0”および“1”に設定される。
【0073】ただし、親プロセッサからのデータ読出要
求と、コプロセッサからのデータ書込要求が同時に発生
すること、およびプロセッサからのデータ書込指示およ
びコプロセッサからのデータ読出指示との同時発生とは
生じないものとする。
求と、コプロセッサからのデータ書込要求が同時に発生
すること、およびプロセッサからのデータ書込指示およ
びコプロセッサからのデータ読出指示との同時発生とは
生じないものとする。
【0074】バッファ選択回路22は、入力されたこれ
らの制御信号に応じて、下記(1)式に基づいた論理演
算を実行して、バッファ選択信号BSLを生成する。
らの制御信号に応じて、下記(1)式に基づいた論理演
算を実行して、バッファ選択信号BSLを生成する。
【0075】 BSL=(/MRW・RBN)+(MRW・WBN)+(CRW・WBN)+ (/CRW・RBN) …(1) ただし、(1)式中における記号“/”、“・”および
“+”は、NOT(否定)、AND(論理積)およびO
R(論理和)の論理演算をそれぞれ表わすものとする。
“+”は、NOT(否定)、AND(論理積)およびO
R(論理和)の論理演算をそれぞれ表わすものとする。
【0076】また、読出制御信号RD0,RD1および
書込制御信号WT0,WT1の生成は、図6に示される
ように、実施の形態1の場合と比較して、バッファ指定
データBNに代えてリードバッファ指定データRBNも
しくはライトバッファ指定データWBNを用いればよ
い。
書込制御信号WT0,WT1の生成は、図6に示される
ように、実施の形態1の場合と比較して、バッファ指定
データBNに代えてリードバッファ指定データRBNも
しくはライトバッファ指定データWBNを用いればよ
い。
【0077】実施の形態2に従う演算装置において、共
有メモリの構成および制御レジスタにセットされるデー
タ以外は、実施の形態1と同様であるので、詳細な説明
は繰り返さない。
有メモリの構成および制御レジスタにセットされるデー
タ以外は、実施の形態1と同様であるので、詳細な説明
は繰り返さない。
【0078】このような構成とすることにより、データ
書込およびデータ読出のそれぞれにおいて、アクセス対
象となるバッファを独立に指定することが可能となるの
で、共有メモリ構成を有する実施の形態1に従う演算装
置が奏する効果に加えて、バッファ指定の自由度を向上
させることができる。
書込およびデータ読出のそれぞれにおいて、アクセス対
象となるバッファを独立に指定することが可能となるの
で、共有メモリ構成を有する実施の形態1に従う演算装
置が奏する効果に加えて、バッファ指定の自由度を向上
させることができる。
【0079】[実施の形態3]実施の形態3において
は、データ読出時におけるバッファ指定の自由度をさら
に向上させた構成について説明する。
は、データ読出時におけるバッファ指定の自由度をさら
に向上させた構成について説明する。
【0080】図7は、実施の形態3に従う制御レジスタ
にセットされるデータ構成を説明する図である。
にセットされるデータ構成を説明する図である。
【0081】図7を参照して、実施の形態3において
は、制御レジスタの下位3ビットを用いて、親プロセッ
サ4のデータ読出対象バッファを指定するためのリード
バッファ指定データMRNと、コプロセッサコア6のデ
ータ読出対象バッファを指定するためのリードバッファ
指定データCRNと、データ書込時における対象バッフ
ァの割り当てを示すためのライトバッファ指定データW
BNがセットされる。
は、制御レジスタの下位3ビットを用いて、親プロセッ
サ4のデータ読出対象バッファを指定するためのリード
バッファ指定データMRNと、コプロセッサコア6のデ
ータ読出対象バッファを指定するためのリードバッファ
指定データCRNと、データ書込時における対象バッフ
ァの割り当てを示すためのライトバッファ指定データW
BNがセットされる。
【0082】リードバッファ指定データMRNおよびC
RNの値は、別々のビットを用いて親プロセッサ4およ
びコプロセッサコア6の間で独立に設定することができ
る。したがって、親プロセッサ4およびコプロセッサコ
ア6によって、共通のバッファを対象としたデータ読出
が可能となる。
RNの値は、別々のビットを用いて親プロセッサ4およ
びコプロセッサコア6の間で独立に設定することができ
る。したがって、親プロセッサ4およびコプロセッサコ
ア6によって、共通のバッファを対象としたデータ読出
が可能となる。
【0083】一方、データ書込の対象となるバッファ
は、データ破壊を回避するために、実施の形態2の場合
と同様に、ライトバッファ指定データWBNによって排
他的に指定される。
は、データ破壊を回避するために、実施の形態2の場合
と同様に、ライトバッファ指定データWBNによって排
他的に指定される。
【0084】なお、実施の形態1および2と同様に、制
御レジスタ9への書込は、親プロセッサ4からのみ可能
であり、制御レジスタ9からの読出は、親プロセッサ4
およびコプロセッサコア6の両方とも可能であるものと
する。
御レジスタ9への書込は、親プロセッサ4からのみ可能
であり、制御レジスタ9からの読出は、親プロセッサ4
およびコプロセッサコア6の両方とも可能であるものと
する。
【0085】図8は、本発明の実施の形態3に従う共有
メモリ30の構成を示すブロック図である。
メモリ30の構成を示すブロック図である。
【0086】図8においては、共有メモリ30からのデ
ータ読出に関する構成が示される。図8を参照して、共
有メモリ30においては、親プロセッサ4とコプロセッ
サコア6との双方からの同一バッファを対象としたデー
タ読出を実現するために、2ポートメモリで形成される
バッファBW0およびBW1が配置される。これによ
り、バッファBW0およびBW1の各々において、2つ
のアドレスを読出可能とすることができる。
ータ読出に関する構成が示される。図8を参照して、共
有メモリ30においては、親プロセッサ4とコプロセッ
サコア6との双方からの同一バッファを対象としたデー
タ読出を実現するために、2ポートメモリで形成される
バッファBW0およびBW1が配置される。これによ
り、バッファBW0およびBW1の各々において、2つ
のアドレスを読出可能とすることができる。
【0087】したがって、バッファBW0およびBW1
の各々に対しては、親プロセッサ4もしくはコプロセッ
サコア6のいずれかからデータ読出が要求されて、制御
信号RDmもしくはRDcが“1”に設定された場合
に、読出制御信号RD0およびRD1の各々を“1”に
設定すればよい。
の各々に対しては、親プロセッサ4もしくはコプロセッ
サコア6のいずれかからデータ読出が要求されて、制御
信号RDmもしくはRDcが“1”に設定された場合
に、読出制御信号RD0およびRD1の各々を“1”に
設定すればよい。
【0088】データ選択回路DSmは、バッファBW0
およびBW1の各々から読出データを受けて、リードバ
ッファ指定データMRNに応じた一方を親プロセッサコ
アデータMDATとして、親プロセッサ4に伝達する。
およびBW1の各々から読出データを受けて、リードバ
ッファ指定データMRNに応じた一方を親プロセッサコ
アデータMDATとして、親プロセッサ4に伝達する。
【0089】同様に、データ選択回路DSmは、バッフ
ァBW0およびBW1の各々から読出データを受けて、
リードバッファ指定データCRNに応じた一方をコプロ
セッサコアデータCDATとして、コプロセッサコア6
に伝達する。
ァBW0およびBW1の各々から読出データを受けて、
リードバッファ指定データCRNに応じた一方をコプロ
セッサコアデータCDATとして、コプロセッサコア6
に伝達する。
【0090】なお、共有メモリ30におけるデータ書込
については図示を省略しているが、バッファB0,B1
に対する書込制御信号WT0,WT1を実施の形態2と
同様に生成し、かつ、データ選択回路DSmおよびDS
cにおけるバッファ選択を、ライトバッファ指定データ
WBNおよびその反転信号にそれぞれ応じて実行する構
成とすればよい。
については図示を省略しているが、バッファB0,B1
に対する書込制御信号WT0,WT1を実施の形態2と
同様に生成し、かつ、データ選択回路DSmおよびDS
cにおけるバッファ選択を、ライトバッファ指定データ
WBNおよびその反転信号にそれぞれ応じて実行する構
成とすればよい。
【0091】実施の形態3に従う演算装置において、共
有メモリおよび制御レジスタ以外の部分の構成は、実施
の形態1と同様であるので、詳細な説明は繰り返さな
い。
有メモリおよび制御レジスタ以外の部分の構成は、実施
の形態1と同様であるので、詳細な説明は繰り返さな
い。
【0092】このような構成とすることにより、共有メ
モリ構成を有する実施の形態2に従う演算装置に加え
て、さらにバッファ指定の自由度が向上し、かつ同一バ
ッファからのデータ読出を可能とすることにより、演算
装置の処理性能を向上させることができる。
モリ構成を有する実施の形態2に従う演算装置に加え
て、さらにバッファ指定の自由度が向上し、かつ同一バ
ッファからのデータ読出を可能とすることにより、演算
装置の処理性能を向上させることができる。
【0093】なお、実施の形態1から3の各々におい
て、制御レジスタ9は、親プロセッサ4からだけでな
く、コプロセッサコア6からもバッファ指定データの書
込が可能であるように構成されてもよい。ただし、この
場合には、データ破壊およびアクセス競合を回避するた
めに、制御レジスタ9に対する書き込み制御を行なう必
要がある。
て、制御レジスタ9は、親プロセッサ4からだけでな
く、コプロセッサコア6からもバッファ指定データの書
込が可能であるように構成されてもよい。ただし、この
場合には、データ破壊およびアクセス競合を回避するた
めに、制御レジスタ9に対する書き込み制御を行なう必
要がある。
【0094】[実施の形態4]実施の形態4において
は、2つのバッファに分割された共有メモリを有する実
施の形態1に従う構成を、3以上の複数個のバッファに
分割された共有メモリにも拡張可能な構成について説明
する。
は、2つのバッファに分割された共有メモリを有する実
施の形態1に従う構成を、3以上の複数個のバッファに
分割された共有メモリにも拡張可能な構成について説明
する。
【0095】図9は、本発明の実施の形態4に従う演算
装置2の構成を示す概略ブロック図である。
装置2の構成を示す概略ブロック図である。
【0096】図9を参照して、演算装置2は、図1に示
した演算装置1と比較して、2つのバッファ領域に分割
された共有メモリ10に代えて、(n+1)個のバッフ
ァ領域(n:自然数)に分割された共有メモリ40を備
える点で異なる。
した演算装置1と比較して、2つのバッファ領域に分割
された共有メモリ10に代えて、(n+1)個のバッフ
ァ領域(n:自然数)に分割された共有メモリ40を備
える点で異なる。
【0097】また、制御レジスタ9は、親プロセッサ4
が使用するバッファを指定するための制御レジスタ9a
とコプロセッサコア6が使用するバッファを指定するた
めの制御レジスタ9bとに分割される。その他の部分の
構成は、図1に示した演算装置1と同様であるので、詳
細な説明は繰り返さない。演算装置2においても、親プ
ロセッサ(MCU)4とコプロセッサ3とを同一の半導
体チップ上に形成することも、それぞれを別々の半導体
チップ上に形成することも可能である。
が使用するバッファを指定するための制御レジスタ9a
とコプロセッサコア6が使用するバッファを指定するた
めの制御レジスタ9bとに分割される。その他の部分の
構成は、図1に示した演算装置1と同様であるので、詳
細な説明は繰り返さない。演算装置2においても、親プ
ロセッサ(MCU)4とコプロセッサ3とを同一の半導
体チップ上に形成することも、それぞれを別々の半導体
チップ上に形成することも可能である。
【0098】図10は、実施の形態4に従う制御レジス
タにセットされるデータの構成を示す図である。
タにセットされるデータの構成を示す図である。
【0099】図10(a)を参照して、制御レジスタ9
aの下位(n+1)ビットを用いて、親プロセッサ4か
らのアクセス対象バッファを指定するためのバッファ指
定データMBN(0)〜MBN(n)がセットされる。
親プロセッサ4がアクセス対象に指定するバッファBi
(i:0〜nの整数)においては、対応するバッファ指
定データMBN(i)の値は、“1”に設定される。
aの下位(n+1)ビットを用いて、親プロセッサ4か
らのアクセス対象バッファを指定するためのバッファ指
定データMBN(0)〜MBN(n)がセットされる。
親プロセッサ4がアクセス対象に指定するバッファBi
(i:0〜nの整数)においては、対応するバッファ指
定データMBN(i)の値は、“1”に設定される。
【0100】図10(b)を参照して、制御レジスタ9
bの下位(n+1)ビットを用いて、コプロセッサコア
6からのアクセス対象バッファを指定するためのバッフ
ァ指定データCBN(0)〜CBN(n)がセットされ
る。コプロセッサコア6がアクセス対象に指定するバッ
ファBi(i:0〜nの整数)においては、対応するバ
ッファ指定データCBN(i)の値は、“1”に設定さ
れる。
bの下位(n+1)ビットを用いて、コプロセッサコア
6からのアクセス対象バッファを指定するためのバッフ
ァ指定データCBN(0)〜CBN(n)がセットされ
る。コプロセッサコア6がアクセス対象に指定するバッ
ファBi(i:0〜nの整数)においては、対応するバ
ッファ指定データCBN(i)の値は、“1”に設定さ
れる。
【0101】実施の形態1から3の場合と同様に、制御
レジスタ9aおよび9bに対する書込は親プロセッサ4
からのみ可能であり、制御レジスタ9aおよび9bから
のデータ読出は、親プロセッサ4およびコプロセッサコ
ア6の両方とも可能である。なお、以下においては、バ
ッファ指定データMBN(0)〜MBN(n)およびC
BN(0)〜CBN(n)をそれぞれ総称して、単にバ
ッファ指定データMBNおよびCBNとも称する。
レジスタ9aおよび9bに対する書込は親プロセッサ4
からのみ可能であり、制御レジスタ9aおよび9bから
のデータ読出は、親プロセッサ4およびコプロセッサコ
ア6の両方とも可能である。なお、以下においては、バ
ッファ指定データMBN(0)〜MBN(n)およびC
BN(0)〜CBN(n)をそれぞれ総称して、単にバ
ッファ指定データMBNおよびCBNとも称する。
【0102】図11は、実施の形態4に従う共有メモリ
40の構成を示すブロック図である。
40の構成を示すブロック図である。
【0103】図11を参照して、共有メモリ40は、
(n+1)個の領域に分割されており、互いに独立にデ
ータ入出力が可能なバッファB0〜Bnと、アクセス制
御部41とを含む。
(n+1)個の領域に分割されており、互いに独立にデ
ータ入出力が可能なバッファB0〜Bnと、アクセス制
御部41とを含む。
【0104】アクセス制御部41は、バッファB0〜B
nに対応してそれぞれ設けられるアドレス選択回路AS
0〜ASnと、親プロセッサ4との間で授受される親プ
ロセッサコアデータMDATの選択を行なうためのデー
タ選択回路DSmと、コプロセッサコア6との間で授受
されるコプロセッサコアデータCDATの選択を行なう
ためのデータ選択回路DScとを有する。
nに対応してそれぞれ設けられるアドレス選択回路AS
0〜ASnと、親プロセッサ4との間で授受される親プ
ロセッサコアデータMDATの選択を行なうためのデー
タ選択回路DSmと、コプロセッサコア6との間で授受
されるコプロセッサコアデータCDATの選択を行なう
ためのデータ選択回路DScとを有する。
【0105】アドレス選択回路AS0〜ASnは、制御
レジスタ9aにセットされた親プロセッサ4に対応する
バッファ指定データMBN(0)〜MBN(n)にそれ
ぞれ応じて、親プロセッサアドレスADDおよびコプロ
セッサアドレスCADの一方を選択し、対応するバッフ
ァに伝達する。
レジスタ9aにセットされた親プロセッサ4に対応する
バッファ指定データMBN(0)〜MBN(n)にそれ
ぞれ応じて、親プロセッサアドレスADDおよびコプロ
セッサアドレスCADの一方を選択し、対応するバッフ
ァに伝達する。
【0106】すなわち、親プロセッサ4によってアクセ
ス対象に指定されたバッファに対応するアドレス選択回
路は、親プロセッサアドレスMADを選択して対応する
バッファに伝達する。一方、それ以外の、すなわち対応
するバッファ指定データMBNの値が“0”であるアド
レス選択回路は、コプロセッサアドレスCADを選択し
て対応するバッファに伝達する。
ス対象に指定されたバッファに対応するアドレス選択回
路は、親プロセッサアドレスMADを選択して対応する
バッファに伝達する。一方、それ以外の、すなわち対応
するバッファ指定データMBNの値が“0”であるアド
レス選択回路は、コプロセッサアドレスCADを選択し
て対応するバッファに伝達する。
【0107】データ読出時においては、親プロセッサ4
もしくはコプロセッサコア6からデータ読出が要求され
て、制御信号RDmもしくはRDcが“1”に設定され
ると、バッファB0〜BNにそれぞれ対応する読出制御
信号RD0〜RDnの各々が活性化(“1”に設定)さ
れる。これに応答して、バッファB0〜Bnの各々は、
対応するアドレス選択回路から伝達されたアドレスに応
じてデータ読出を実行する。
もしくはコプロセッサコア6からデータ読出が要求され
て、制御信号RDmもしくはRDcが“1”に設定され
ると、バッファB0〜BNにそれぞれ対応する読出制御
信号RD0〜RDnの各々が活性化(“1”に設定)さ
れる。これに応答して、バッファB0〜Bnの各々は、
対応するアドレス選択回路から伝達されたアドレスに応
じてデータ読出を実行する。
【0108】データ選択回路DSmは、各バッファから
受けた読出データから、バッファ指定データMBNに応
じた1つの読出データを親プロセッサコアデータMDA
Tとして選択して、親プロセッサ4に対して伝達する。
データ選択回路DScは、各バッファから受けた読出デ
ータから、バッファ指定データCBNに応じた1つの読
出データを親プロセッサコアデータMDATとして選択
して、コプロセッサコア6に対して伝達する。
受けた読出データから、バッファ指定データMBNに応
じた1つの読出データを親プロセッサコアデータMDA
Tとして選択して、親プロセッサ4に対して伝達する。
データ選択回路DScは、各バッファから受けた読出デ
ータから、バッファ指定データCBNに応じた1つの読
出データを親プロセッサコアデータMDATとして選択
して、コプロセッサコア6に対して伝達する。
【0109】データ書込時においては、バッファB0〜
BNにそれぞれ対応する書込制御信号WD0〜WDn
は、対応するバッファ指定データMBNと制御信号WD
mとの間、および対応するバッファ指定データCBNと
制御信号WDcとの間における論理演算結果に応じて、
生成させる。
BNにそれぞれ対応する書込制御信号WD0〜WDn
は、対応するバッファ指定データMBNと制御信号WD
mとの間、および対応するバッファ指定データCBNと
制御信号WDcとの間における論理演算結果に応じて、
生成させる。
【0110】具体的には、各バッファにおいて、当該バ
ッファが親プロセッサ4からアクセス対象として指定さ
れており、かつ親プロセッサからデータ書込指示があっ
た場合、もしくは、当該バッファがコプロセッサコア6
からアクセス対象として指定されており、かつコプロセ
ッサコア6からデータ書込指示があった場合において、
対応するデータ書込制御信号が活性化(“1”に設定)
される。
ッファが親プロセッサ4からアクセス対象として指定さ
れており、かつ親プロセッサからデータ書込指示があっ
た場合、もしくは、当該バッファがコプロセッサコア6
からアクセス対象として指定されており、かつコプロセ
ッサコア6からデータ書込指示があった場合において、
対応するデータ書込制御信号が活性化(“1”に設定)
される。
【0111】データ書込時における、アドレス選択回路
AS0〜ASnによるアドレス選択は、データ読出時と
同様に、バッファ指定データMBNに応じて実行される
ので、詳細な説明は繰り返さない。
AS0〜ASnによるアドレス選択は、データ読出時と
同様に、バッファ指定データMBNに応じて実行される
ので、詳細な説明は繰り返さない。
【0112】親プロセッサ4からのデータMDATは、
バッファ指定データMBNに応じたバッファ選択を行な
うデータ選択回路DSmによって、親プロセッサ4のア
クセス対象に指定されたバッファに伝達されて書込まれ
る。同様に、コプロセッサコア6からのデータCDAT
は、バッファ指定データCBNに応じたバッファ選択を
行なうデータ選択回路DScによって、コプロセッサコ
ア6のアクセス対象に指定されたバッファに伝達されて
書込まれる。
バッファ指定データMBNに応じたバッファ選択を行な
うデータ選択回路DSmによって、親プロセッサ4のア
クセス対象に指定されたバッファに伝達されて書込まれ
る。同様に、コプロセッサコア6からのデータCDAT
は、バッファ指定データCBNに応じたバッファ選択を
行なうデータ選択回路DScによって、コプロセッサコ
ア6のアクセス対象に指定されたバッファに伝達されて
書込まれる。
【0113】このような構成とすることにより、3個以
上のバッファを用いて、親プロセッサとコプロセッサと
の間でデータを共有することができるので、処理動作の
汎用性をさらに高めることが可能となる。
上のバッファを用いて、親プロセッサとコプロセッサと
の間でデータを共有することができるので、処理動作の
汎用性をさらに高めることが可能となる。
【0114】さらに、少なくとも制御レジスタ9bのデ
ータを、コプロセッサコア6からも書込可能な構成とし
て、より汎用性を高めたメモリの共有を図ることも可能
である。
ータを、コプロセッサコア6からも書込可能な構成とし
て、より汎用性を高めたメモリの共有を図ることも可能
である。
【0115】このような構成としても、制御レジスタ9
aおよび9bが異なる値となるような制御を行なうか、
もしくは、同じ値を有する場合には、親プロセッサ4の
アクセスが優先されるような制御、たとえば、親プロセ
ッサ用の制御レジスタ9aが優先して親プロセッサ4の
アクセス対象となるバッファを指定する手法を採用する
ことによって、データ破壊およびアクセス競合の発生を
回避することができる。
aおよび9bが異なる値となるような制御を行なうか、
もしくは、同じ値を有する場合には、親プロセッサ4の
アクセスが優先されるような制御、たとえば、親プロセ
ッサ用の制御レジスタ9aが優先して親プロセッサ4の
アクセス対象となるバッファを指定する手法を採用する
ことによって、データ破壊およびアクセス競合の発生を
回避することができる。
【0116】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0117】
【発明の効果】請求項1、8および19に記載の演算装
置は、各々が1ポートメモリで構成される2つのバッフ
ァ部に分割されるメモリ部を、コプロセッサに相当する
第1の演算処理部およびMCUに相当する第2の演算処
理部によって共有できる。この結果、オーバヘッドを回
避したデータ共有とともに、データ破壊やアクセス競合
の回避を図ることができる。
置は、各々が1ポートメモリで構成される2つのバッフ
ァ部に分割されるメモリ部を、コプロセッサに相当する
第1の演算処理部およびMCUに相当する第2の演算処
理部によって共有できる。この結果、オーバヘッドを回
避したデータ共有とともに、データ破壊やアクセス競合
の回避を図ることができる。
【0118】請求項2記載の演算装置は、請求項1記載
の演算装置が奏する効果に加えて、バッファ指定をソフ
トウェアによって行なうことができる。
の演算装置が奏する効果に加えて、バッファ指定をソフ
トウェアによって行なうことができる。
【0119】請求項3記載の演算装置は、請求項1記載
の演算装置が奏する効果に加えて、同一アドレスを用い
て第1および第2のバッファ部の各々にアクセスして、
データ読出およびデータ書込を実行可能である。
の演算装置が奏する効果に加えて、同一アドレスを用い
て第1および第2のバッファ部の各々にアクセスして、
データ読出およびデータ書込を実行可能である。
【0120】請求項4記載の演算装置は、請求項3記載
の演算装置が奏する効果に加えて、第2の演算処理部の
停止中においても、バッファ指定を介することなく第1
および第2のバッファ部にアクセスすることが可能であ
る。
の演算装置が奏する効果に加えて、第2の演算処理部の
停止中においても、バッファ指定を介することなく第1
および第2のバッファ部にアクセスすることが可能であ
る。
【0121】請求項5記載の演算装置は、データ読出時
およびデータ書込時のそれぞれにおいてバッファ指定を
独立に設定できるので、請求項1記載の演算装置が奏す
る効果に加えて、バッファ指定の自由度を向上させるこ
とができる。
およびデータ書込時のそれぞれにおいてバッファ指定を
独立に設定できるので、請求項1記載の演算装置が奏す
る効果に加えて、バッファ指定の自由度を向上させるこ
とができる。
【0122】請求項6および9に記載の演算装置は、た
とえばコプロセッサコアに相当する第1の演算処理部側
からもバッファ指定が可能であるので、請求項1記載の
演算装置が奏する効果に加えて、第1および第2の演算
処理部の間において、より汎用性を高めたメモリの共有
を実現できる。
とえばコプロセッサコアに相当する第1の演算処理部側
からもバッファ指定が可能であるので、請求項1記載の
演算装置が奏する効果に加えて、第1および第2の演算
処理部の間において、より汎用性を高めたメモリの共有
を実現できる。
【0123】請求項7記載の演算装置は、アドレス選択
を第2の演算処理部によるバッファ指定に応じて実行す
るので、請求項6記載の演算装置が奏する効果に加え
て、共有メモリに対するアクセス競合および、共有メモ
リにおけるデータ破壊の発生を防止することができる。
を第2の演算処理部によるバッファ指定に応じて実行す
るので、請求項6記載の演算装置が奏する効果に加え
て、共有メモリに対するアクセス競合および、共有メモ
リにおけるデータ破壊の発生を防止することができる。
【0124】請求項10、12および19に記載の演算
装置は、2ポートメモリで構成されるメモリ部を、コプ
ロセッサに相当する第1の演算処理部およびMCUに相
当する第2の演算処理部によって共有するとともに、第
1および第2の演算処理部によって共通のバッファをデ
ータ読出の対象に指定することができる。この結果、オ
ーバヘッドを回避したデータ共有を図るとともに、バッ
ファ指定の自由度を向上させた上で、データ破壊やアク
セス競合の回避を図ることができる。
装置は、2ポートメモリで構成されるメモリ部を、コプ
ロセッサに相当する第1の演算処理部およびMCUに相
当する第2の演算処理部によって共有するとともに、第
1および第2の演算処理部によって共通のバッファをデ
ータ読出の対象に指定することができる。この結果、オ
ーバヘッドを回避したデータ共有を図るとともに、バッ
ファ指定の自由度を向上させた上で、データ破壊やアク
セス競合の回避を図ることができる。
【0125】請求項11記載の演算装置は、請求項10
記載の演算装置が奏する効果に加えて、第2の演算処理
部によるバッファ指定をソフトウェアによって行なうこ
とができる。
記載の演算装置が奏する効果に加えて、第2の演算処理
部によるバッファ指定をソフトウェアによって行なうこ
とができる。
【0126】請求項13記載の演算装置は、たとえばコ
プロセッサコアに相当する第1の演算処理部側からもバ
ッファ指定が可能であるので、請求項10記載の演算装
置が奏する効果に加えて、第1および第2の演算処理部
の間において、より汎用性を高めたメモリの共有を実現
できる。
プロセッサコアに相当する第1の演算処理部側からもバ
ッファ指定が可能であるので、請求項10記載の演算装
置が奏する効果に加えて、第1および第2の演算処理部
の間において、より汎用性を高めたメモリの共有を実現
できる。
【0127】請求項14、16および19記載の演算装
置は、各々が1ポートメモリで構成される複数のバッフ
ァ部に分割されたメモリ部を、コプロセッサに相当する
第1の演算処理部およびMCUに相当する第2の演算処
理部によって共有する。この結果、汎用性を高めたメモ
リの共有を実現した下で、オーバヘッドを回避したデー
タ共有を、データ破壊やアクセス競合の回避とともに図
ることができる。
置は、各々が1ポートメモリで構成される複数のバッフ
ァ部に分割されたメモリ部を、コプロセッサに相当する
第1の演算処理部およびMCUに相当する第2の演算処
理部によって共有する。この結果、汎用性を高めたメモ
リの共有を実現した下で、オーバヘッドを回避したデー
タ共有を、データ破壊やアクセス競合の回避とともに図
ることができる。
【0128】請求項15記載の演算装置は、請求項14
記載の演算装置が奏する効果に加えて、第1の演算処理
部によるバッファ指定をソフトウェアによって行なうこ
とができる。
記載の演算装置が奏する効果に加えて、第1の演算処理
部によるバッファ指定をソフトウェアによって行なうこ
とができる。
【0129】請求項17記載の演算装置は、たとえばコ
プロセッサに相当する第2の演算処理部側からもバッフ
ァ指定が可能であるので、請求項14記載の演算装置が
奏する効果に加えて、第1および第2の演算処理部の間
において、より汎用性を高めたメモリの共有を実現でき
る。
プロセッサに相当する第2の演算処理部側からもバッフ
ァ指定が可能であるので、請求項14記載の演算装置が
奏する効果に加えて、第1および第2の演算処理部の間
において、より汎用性を高めたメモリの共有を実現でき
る。
【0130】請求項18記載の演算装置は、アドレス選
択を第1の演算処理部によるバッファ指定に応じて実行
するので、請求項10記載の演算装置が奏する効果に加
えて、共有メモリに対するアクセス競合および共有メモ
リにおけるデータ破壊の発生を防止することができる。
択を第1の演算処理部によるバッファ指定に応じて実行
するので、請求項10記載の演算装置が奏する効果に加
えて、共有メモリに対するアクセス競合および共有メモ
リにおけるデータ破壊の発生を防止することができる。
【図1】 本発明の実施の形態1に従う演算装置1の構
成を示す概略ブロック図である。
成を示す概略ブロック図である。
【図2】 図1に示される共有メモリ10の構成を示す
回路図である。
回路図である。
【図3】 図1に示される制御レジスタにセットされる
データの構成を説明する図である。
データの構成を説明する図である。
【図4】 演算装置1におけるアドレスマッピングの例
を示す概念図である。
を示す概念図である。
【図5】 実施の形態2に従う制御レジスタにセットさ
れるデータの構成を示す図である。
れるデータの構成を示す図である。
【図6】 実施の形態2に従う共有メモリ20の構成を
示すブロック図である。
示すブロック図である。
【図7】 実施の形態3に従う制御レジスタにセットさ
れるデータ構成を説明する図である。
れるデータ構成を説明する図である。
【図8】 本発明の実施の形態3に従う共有メモリ30
の構成を示すブロック図である。
の構成を示すブロック図である。
【図9】 本発明の実施の形態4に従う演算装置2の構
成を示す概略ブロック図である。
成を示す概略ブロック図である。
【図10】 実施の形態4に従う制御レジスタにセット
されるデータの構成を示す図である。
されるデータの構成を示す図である。
【図11】 実施の形態4に従う共有メモリ40の構成
を示すブロック図である。
を示すブロック図である。
【図12】 親プロセッサとコプロセッサとを有する従
来の演算装置の構成を示す第1の概略ブロック図であ
る。
来の演算装置の構成を示す第1の概略ブロック図であ
る。
【図13】 親プロセッサとコプロセッサとを有する従
来の演算装置の構成を示す第2の概略ブロック図であ
る。
来の演算装置の構成を示す第2の概略ブロック図であ
る。
3,5 コプロセッサ、4 親プロセッサ(MPU)、
6 コプロセッサコア、7 係数メモリ、8 命令メモ
リ、9,9a,9b 制御レジスタ、10,20,3
0,40,50 共有メモリ、11,21,41 アク
セス制御部、22バッファ選択回路、26 アドレス選
択回路、AS0,AS1〜ASn アドレス選択回路、
B0,B1〜Bn,BW0,BW1 バッファ、BN,
CN バッファ指定データ、CRN,MRN,RBN,
RBN(M),RBN(C) リードバッファ指定デー
タ、WBN,WBN(M),WBN(C) リードバッ
ファ指定データ。
6 コプロセッサコア、7 係数メモリ、8 命令メモ
リ、9,9a,9b 制御レジスタ、10,20,3
0,40,50 共有メモリ、11,21,41 アク
セス制御部、22バッファ選択回路、26 アドレス選
択回路、AS0,AS1〜ASn アドレス選択回路、
B0,B1〜Bn,BW0,BW1 バッファ、BN,
CN バッファ指定データ、CRN,MRN,RBN,
RBN(M),RBN(C) リードバッファ指定デー
タ、WBN,WBN(M),WBN(C) リードバッ
ファ指定データ。
Claims (19)
- 【請求項1】 演算処理を実行するための第1の演算処
理部と、 前記第1の演算処理部および、前記第1の演算処理部と
は別に演算処理を実行可能な第2の演算処理部によって
共有されるメモリ部とを備え、 前記メモリ部は、 各々、データの書込および読出が可能な第1および第2
のバッファ部と、 前記第2の演算処理部によって変更可能なバッファ指定
に基づいて決定される、前記第1および第2のバッファ
部の各々と前記第1および第2の演算処理部の一方ずつ
との組合わせのそれぞれにおいて、排他的にアクセスを
実行するためのアクセス制御部とを含む、演算装置。 - 【請求項2】 特定アドレスに割り付けられた制御レジ
スタをさらに備え、 前記制御レジスタは、前記バッファ指定を行なうための
データをセットする、請求項1記載の演算装置。 - 【請求項3】 前記第1および第2のバッファは、第1
のアドレス領域に共通に割り付けられ、 前記アクセス制御部は、 前記第1および第2のバッファ部に対応してそれぞれ設
けられる第1および第2のアドレス選択部と、 前記第1および第2の演算処理部に対応してそれぞれ設
けられる第1および第2のデータ選択部とを有し、 前記第1および第2のアドレス選択部は、前記バッファ
指定に応じて、前記第1および第2の演算処理部からア
クセスが要求されるアドレスをそれぞれ示す第1および
第2のアドレスを、前記第1および第2のバッファの一
方ずつに伝達し、 前記第1および第2のデータ選択部は、前記バッファ指
定に応じて、前記組のそれぞれにおいて、データ授受を
実行する、請求項1記載の演算装置。 - 【請求項4】 前記第1および第2のバッファは、前記
第1のアドレス領域とは異なる、互いに独立した第2お
よび第3のアドレス領域のそれぞれとさらに割り付けら
れる、請求項3記載の演算装置。 - 【請求項5】 前記バッファ指定は、データ読出時にお
けるアクセス対象を設定するためのリードバッファ指定
と、データ書込時におけるアクセス対象を設定するため
のライトバッファ指定とを含み、 前記アクセス制御部は、前記データ読出時および前記デ
ータ書込時のそれぞれにおいて、前記リードバッファ指
定および前記ライトバッファ指定にそれぞれ基づいて前
記組合わせを決定する、請求項1記載の演算装置。 - 【請求項6】 前記バッファ指定は、前記第1および第
2の演算処理部の両方から変更可能な第1のサブバッフ
ァ指定と、前記第2の演算処理部によって変更可能な第
2のサブバッファ指定とを含み、 前記アクセス制御部は、前記第1の演算処理部からアク
セス要求があった場合には、前記第1のサブバッファ指
定に基づいて前記組合わせを決定し、前記第2の演算処
理部からアクセス要求があった場合には、前記第2のサ
ブバッファ指定に基づいて前記組合わせを決定する、請
求項1記載の演算装置。 - 【請求項7】 前記アクセス制御部は、 前記第1および第2のバッファ部に対応してそれぞれ設
けられる第1および第2のアドレス選択部と、 前記第1および第2の演算処理部に対応してそれぞれ設
けられる第1および第2のデータ選択部とを有し、 前記第1および第2のアドレス選択部は、前記第2のサ
ブバッファ指定に応じて、前記第1および第2の演算処
理部からアクセスが要求されるアドレスをそれぞれ示す
第1および第2のアドレスを、前記第1および第2のバ
ッファの一方ずつに伝達し、 前記第1のデータ選択部は、前記第1および第2のバッ
ファ部のうちの前記第1のサブバッファ指定に応じた一
方と、前記第1の演算処理部との間で、データ授受を実
行し、 前記第2のデータ選択部は、前記第1および第2のバッ
ファ部のうちの前記第2のサブバッファ指定に応じた一
方と、前記第2の演算処理部との間で、データ授受を実
行する、請求項6記載の演算装置。 - 【請求項8】 前記第1の演算処理部からの前記バッフ
ァ指定の変更は禁止される、請求項1記載の演算装置。 - 【請求項9】 前記バッファ指定の変更は、前記第1の
演算処理部からも可能である、請求項1記載の演算装
置。 - 【請求項10】 演算処理を実行するための第1の演算
処理部と、 前記第1の演算処理部および、前記第1の演算処理部と
は別に演算処理を実行可能な第2の演算処理部によって
共有されるメモリ部とを備え、 前記メモリ部は、 互いに独立にデータ書込およびデータ読出が可能な、各
々が2つの入出力ポートを有する第1および第2のバッ
ファ部と、 前記第1および第2の演算処理部の少なくとも一方から
データ読出要求があった場合において、前記第2の演算
処理部によって変更可能な第1のリードバッファ指定に
応じて指定される、前記第1および第2のバッファ部の
うちの一方からの読出データを前記第1の演算処理部に
対して伝達するとともに、前記第2の演算処理部によっ
て変更可能な第2のリードバッファ指定に応じて指定さ
れる、前記第1および第2のバッファ部のうちの一方か
らの読出データを前記第2の演算処理部に対して伝達す
るためのアクセス制御部とを含み、 前記アクセス制御部は、前記第1および第2の演算処理
部の一方からデータ書込要求があった場合において、前
記第2の演算処理部によって変更可能なライトバッファ
指定に基づいて決定される、前記第1および第2のバッ
ファ部の一方に対して、前記第1および第2の演算処理
部の前記一方からの書込データを伝達する、演算装置。 - 【請求項11】 特定アドレスに割り付けられた制御レ
ジスタをさらに備え、 前記制御レジスタは、前記第1および第2のリードバッ
ファ指定と、前記ライトバッファ指定とを行なうための
データ群をセットする、請求項10記載の演算装置。 - 【請求項12】 前記第1および第2のリードバッファ
指定と前記ライトバッファ指定との、前記第1の演算処
理部からの変更は禁止される、請求項10記載の演算装
置。 - 【請求項13】 前記第1および第2のリードバッファ
指定と前記ライトバッファ指定との変更は、前記第1の
演算処理部からも可能である、請求項10記載の演算装
置。 - 【請求項14】 演算処理を実行するための第1の演算
処理部と、 前記第1の演算処理部および、前記第1の演算処理部と
は別に演算処理を実行可能な第2の演算処理部によって
共有されるメモリ部とを備え、 前記メモリ部は、 各々がデータ書込およびデータ読出を実行可能な複数の
バッファ部と、 前記第2の演算処理部によって変更可能な第1のバッフ
ァ指定に基づいて決定される前記複数のバッファのうち
の1つと前記第1の演算処理部との間、および前記第2
の演算処理部によって変更可能な第2のバッファ指定に
基づいて決定される前記複数のバッファのうちの1つと
前記第2の演算処理部との間において、アクセスを実行
するためのアクセス制御部とを含む、演算装置。 - 【請求項15】 特定アドレスにそれぞれ割り付けられ
た第1および第2の制御レジスタをさらに備え、 前記第1および第2の制御レジスタは、前記第1および
第2のバッファ指定をそれぞれ行なうための第1および
第2のデータをそれぞれセットする、請求項14記載の
演算装置。 - 【請求項16】 前記第1の演算処理部からの、前記第
1および第2のバッファ指定の変更は禁止される、請求
項14記載の演算装置。 - 【請求項17】 前記第1のバッファ指定は、前記第1
の演算処理部によっても変更可能である、請求項14記
載の演算装置。 - 【請求項18】 前記アクセス制御部は、 前記複数のバッファ部に対応してそれぞれ設けられる複
数のアドレス選択部と、 前記第1および第2の演算処理部に対応してそれぞれ設
けられる第1および第2のデータ選択部とを有し、 前記複数のアドレス選択部の各々は、前記第1および第
2の演算処理部からアクセスが要求されるアドレスをそ
れぞれ示す第1および第2のアドレスのうちの前記第2
のバッファ指定に応じた一方を、対応する前記バッファ
部に伝達し、 前記第1のデータ選択部は、前記複数のバッファ部のう
ちの前記第1のバッファ指定に応じた1つと前記第1の
演算処理部との間で、データ授受を実行し、 前記第2のデータ選択部は、前記複数のバッファ部のう
ちの前記第2のバッファ指定に応じた1つと前記第2の
演算処理部との間で、データ授受を実行する、請求項1
0記載の演算装置。 - 【請求項19】 前記第1の演算処理部はコプロセッサ
に相当し、 前記第2の演算処理部はMCUに相当する、請求項1、
10または14に記載の演算装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001004622A JP2002207708A (ja) | 2001-01-12 | 2001-01-12 | 演算装置 |
| US09/972,157 US20020095562A1 (en) | 2001-01-12 | 2001-10-09 | Arithmetic unit comprising a memory shared by a plurality of processors |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001004622A JP2002207708A (ja) | 2001-01-12 | 2001-01-12 | 演算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002207708A true JP2002207708A (ja) | 2002-07-26 |
Family
ID=18872781
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001004622A Withdrawn JP2002207708A (ja) | 2001-01-12 | 2001-01-12 | 演算装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20020095562A1 (ja) |
| JP (1) | JP2002207708A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013257939A (ja) * | 2013-09-30 | 2013-12-26 | Hitachi Ltd | 半導体装置、情報処理システム、および記憶装置 |
Families Citing this family (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1391821A3 (en) * | 2002-07-31 | 2007-06-06 | Texas Instruments Inc. | A multi processor computing system having a java stack machine and a risc based processor |
| US8176298B2 (en) | 2002-10-08 | 2012-05-08 | Netlogic Microsystems, Inc. | Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline |
| US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
| US7627721B2 (en) | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
| US9088474B2 (en) | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
| US7346757B2 (en) * | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
| US7461213B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor system using request, data, snoop, and response rings |
| US8478811B2 (en) | 2002-10-08 | 2013-07-02 | Netlogic Microsystems, Inc. | Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip |
| US7984268B2 (en) | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
| US20050044324A1 (en) * | 2002-10-08 | 2005-02-24 | Abbas Rashid | Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads |
| US7924828B2 (en) | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
| US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
| US7961723B2 (en) | 2002-10-08 | 2011-06-14 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for enforcing ordering between information sent on two independent networks |
| US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
| EP1544820B1 (en) * | 2003-12-11 | 2013-07-31 | Atos Worldline S.A. | Electronic data processing device |
| US7840703B2 (en) * | 2007-08-27 | 2010-11-23 | International Business Machines Corporation | System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture |
| US7904590B2 (en) * | 2007-08-27 | 2011-03-08 | International Business Machines Corporation | Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture |
| US8108545B2 (en) | 2007-08-27 | 2012-01-31 | International Business Machines Corporation | Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture |
| US8140731B2 (en) * | 2007-08-27 | 2012-03-20 | International Business Machines Corporation | System for data processing using a multi-tiered full-graph interconnect architecture |
| US7958183B2 (en) | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture |
| US7958182B2 (en) * | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture |
| US7793158B2 (en) * | 2007-08-27 | 2010-09-07 | International Business Machines Corporation | Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture |
| US7822889B2 (en) * | 2007-08-27 | 2010-10-26 | International Business Machines Corporation | Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture |
| US7769891B2 (en) * | 2007-08-27 | 2010-08-03 | International Business Machines Corporation | System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture |
| US7769892B2 (en) * | 2007-08-27 | 2010-08-03 | International Business Machines Corporation | System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture |
| US7809970B2 (en) * | 2007-08-27 | 2010-10-05 | International Business Machines Corporation | System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture |
| US8185896B2 (en) * | 2007-08-27 | 2012-05-22 | International Business Machines Corporation | Method for data processing using a multi-tiered full-graph interconnect architecture |
| US8014387B2 (en) | 2007-08-27 | 2011-09-06 | International Business Machines Corporation | Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture |
| US7827428B2 (en) | 2007-08-31 | 2010-11-02 | International Business Machines Corporation | System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
| US7921316B2 (en) * | 2007-09-11 | 2011-04-05 | International Business Machines Corporation | Cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
| US7779148B2 (en) * | 2008-02-01 | 2010-08-17 | International Business Machines Corporation | Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips |
| US20090198956A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Lakshminarayana B | System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture |
| US8077602B2 (en) | 2008-02-01 | 2011-12-13 | International Business Machines Corporation | Performing dynamic request routing based on broadcast queue depths |
| US9596324B2 (en) | 2008-02-08 | 2017-03-14 | Broadcom Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
| EP2141652A1 (en) * | 2008-07-03 | 2010-01-06 | Telefonaktiebolaget LM Ericsson (PUBL) | Method and device for processing digital images |
| KR101566899B1 (ko) * | 2009-02-26 | 2015-11-06 | 삼성전자주식회사 | 동작 특성들을 변경할 수 있는 반도체 장치와 그 방법, 및 상기 반도체 장치를 포함하는 반도체 시스템 |
| US8417778B2 (en) | 2009-12-17 | 2013-04-09 | International Business Machines Corporation | Collective acceleration unit tree flow control and retransmit |
| US8751655B2 (en) | 2010-03-29 | 2014-06-10 | International Business Machines Corporation | Collective acceleration unit tree structure |
| US10534606B2 (en) | 2011-12-08 | 2020-01-14 | Oracle International Corporation | Run-length encoding decompression |
| CN102906726B (zh) | 2011-12-09 | 2015-11-25 | 华为技术有限公司 | 协处理加速方法、装置及系统 |
| US20140331014A1 (en) * | 2013-05-01 | 2014-11-06 | Silicon Graphics International Corp. | Scalable Matrix Multiplication in a Shared Memory System |
| US11113054B2 (en) | 2013-09-10 | 2021-09-07 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression |
| US10599488B2 (en) | 2016-06-29 | 2020-03-24 | Oracle International Corporation | Multi-purpose events for notification and sequence control in multi-core processor systems |
| US10380058B2 (en) | 2016-09-06 | 2019-08-13 | Oracle International Corporation | Processor core to coprocessor interface with FIFO semantics |
| US10783102B2 (en) | 2016-10-11 | 2020-09-22 | Oracle International Corporation | Dynamically configurable high performance database-aware hash engine |
| US10459859B2 (en) | 2016-11-28 | 2019-10-29 | Oracle International Corporation | Multicast copy ring for database direct memory access filtering engine |
| US10176114B2 (en) | 2016-11-28 | 2019-01-08 | Oracle International Corporation | Row identification number generation in database direct memory access engine |
| US10725947B2 (en) | 2016-11-29 | 2020-07-28 | Oracle International Corporation | Bit vector gather row count calculation and handling in direct memory access engine |
| CA3196122A1 (en) * | 2020-10-19 | 2022-04-28 | Jarrod Ryan MCCLEAN | Quantum computing with kernel methods for machine learning |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5179665A (en) * | 1987-06-24 | 1993-01-12 | Westinghouse Electric Corp. | Microprocessor information exchange with updating of messages by asynchronous processors using assigned and/or available buffers in dual port memory |
| JP3203701B2 (ja) * | 1990-11-01 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法 |
| US5530908A (en) * | 1992-06-26 | 1996-06-25 | Motorola, Inc. | Apparatus for providing fault tolerance in a radio communication system |
| US5671445A (en) * | 1993-07-19 | 1997-09-23 | Oki America, Inc. | Interface for transmitting graphics data to a printer from a host computer system in rasterized form |
| US6073190A (en) * | 1997-07-18 | 2000-06-06 | Micron Electronics, Inc. | System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair |
| JPH11120156A (ja) * | 1997-10-17 | 1999-04-30 | Nec Corp | マルチプロセッサシステムにおけるデータ通信方式 |
| JP2001094989A (ja) * | 1999-09-20 | 2001-04-06 | Toshiba Corp | 動画像送信装置及び動画像通信装置 |
| US6851026B1 (en) * | 2000-07-28 | 2005-02-01 | Micron Technology, Inc. | Synchronous flash memory with concurrent write and read operation |
| US6883044B1 (en) * | 2000-07-28 | 2005-04-19 | Micron Technology, Inc. | Synchronous flash memory with simultaneous access to one or more banks |
-
2001
- 2001-01-12 JP JP2001004622A patent/JP2002207708A/ja not_active Withdrawn
- 2001-10-09 US US09/972,157 patent/US20020095562A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013257939A (ja) * | 2013-09-30 | 2013-12-26 | Hitachi Ltd | 半導体装置、情報処理システム、および記憶装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20020095562A1 (en) | 2002-07-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2002207708A (ja) | 演算装置 | |
| CN103218208B (zh) | 用于实施成形的存储器访问操作的系统和方法 | |
| CN102640127B (zh) | 在一级高速缓存内分配单独的存储器空间的方法 | |
| US9262174B2 (en) | Dynamic bank mode addressing for memory access | |
| JP4672305B2 (ja) | デジタル・メディア・ストリームを処理するための方法及び装置 | |
| US8335892B1 (en) | Cache arbitration between multiple clients | |
| JP4034738B2 (ja) | データマスクマッピング情報取得方法 | |
| JP2002510079A (ja) | メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置 | |
| JPH02310664A (ja) | 共有メモリを用いた通信方式 | |
| JP3523286B2 (ja) | 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム | |
| US20030028702A1 (en) | Data reordering mechanism for data transfer in computer systems | |
| US8266382B1 (en) | Cache interface protocol including arbitration and hints | |
| JP2006507555A (ja) | コントローラプログラミングによるハードウェアへのデータマスクマッピング | |
| US5440708A (en) | Microprocessor and storage management system having said microprocessor | |
| US11475287B2 (en) | Managing control data | |
| JP2007157146A (ja) | メモリ転送処理サイズが異なるプロセッサに関してアトミックな処理を実行するための技術 | |
| US6349370B1 (en) | Multiple bus shared memory parallel processor and processing method | |
| CN100422978C (zh) | 具有多个互相通信的数字信号处理器的集成电路 | |
| JP2003087338A (ja) | データ伝送装置 | |
| JPH0351012B2 (ja) | ||
| US20040064662A1 (en) | Methods and apparatus for bus control in digital signal processors | |
| JP4214521B2 (ja) | 情報処理システム及びマルチプロセッサ・システム | |
| JP4774099B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
| WO2011030498A1 (ja) | データ処理装置及びデータ処理方法 | |
| JPH07182299A (ja) | 並列計算機システムにおける記憶装置アクセス方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080401 |