JP2007183957A - マルチプロセッサシステム及びそれのデータ伝送方法 - Google Patents
マルチプロセッサシステム及びそれのデータ伝送方法 Download PDFInfo
- Publication number
- JP2007183957A JP2007183957A JP2006352387A JP2006352387A JP2007183957A JP 2007183957 A JP2007183957 A JP 2007183957A JP 2006352387 A JP2006352387 A JP 2006352387A JP 2006352387 A JP2006352387 A JP 2006352387A JP 2007183957 A JP2007183957 A JP 2007183957A
- Authority
- JP
- Japan
- Prior art keywords
- slave
- write
- bus
- read
- data
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】マルチプロセッサシステム及びそれのデータ伝送方法を提供する。
【解決手段】マルチプロセッサシステムは複数のマスタと、第1クロック周波数で動作する少なくとも一つの第1類型のスレーブ、及び第1クロック周波数より高い第2クロック周波数で動作する少なくとも一つの第2類型のスレーブを含む。アービタはマスタとスレーブとの間でアクセスをアービタと第1類型のスレーブとの間に単一読み出し/書き込みバス経路を通じて、アービタと第2類型のスレーブとの間に複数の読み出しバス経路と/または複数の書き込みバス経路を通じて調整される。
【選択図】図5
【解決手段】マルチプロセッサシステムは複数のマスタと、第1クロック周波数で動作する少なくとも一つの第1類型のスレーブ、及び第1クロック周波数より高い第2クロック周波数で動作する少なくとも一つの第2類型のスレーブを含む。アービタはマスタとスレーブとの間でアクセスをアービタと第1類型のスレーブとの間に単一読み出し/書き込みバス経路を通じて、アービタと第2類型のスレーブとの間に複数の読み出しバス経路と/または複数の書き込みバス経路を通じて調整される。
【選択図】図5
Description
本発明はマルチプロセッサシステムに係り、より具体的にはマルチプロセッサシステムにおいてスレーブが高いクロック周波数で動作するために有効バス帯域幅を増加させるマルチプロセッサシステムに関する。
図1はマスタブロック102とスレーブブロック104とを有するマルチプロセッサシステム100のブロック図を示す。マスタブロック102は第1マスタ112、第2マスタ114、及び第m番目のマスタ116などを含む複数個のマスタを有する。それぞれのマスタ112、114…116はデータプロセッサ、例えば、中央処理装置(central processing unit、CPU)またはデジタル信号処理器(digital signal processor、DSP)である。
スレーブブロック104は第1スレーブ122、第2スレーブ124、及び第n番目のスレーブ126を含む複数個のスレーブを有する。それぞれのスレーブ122、124…126は少なくとも一つのマスタ112、114…116によってサクセスされる。例えば、それぞれのスレーブ122、124…126はメモリ装置である。
バスアービタ130は優先的方法によって第1バス132と第2バス134を通じて前記マスタ112、114…116の間にスレーブ122、124…126にサクセスするように仲栽する。一般的に、マスタ112、114…116のうちの一つはスレーブ122、124…126の中一つをアクセスすると同時にバス132、134にサクセスが許容される。
例えば、第1及び第2マスタ112、114は第2スレーブ124にデータを書き込むためにバスアービタ130に各要請信号を伝送する。バスアービタは第1承認サクセスによって第1マスタ112に応答する。その場合に、第1マスタ112はコントロール、アドレス、及びデータ信号を第1バス132を通じてバスアービタに伝送する。その後に、バスアービタ130はコントロール、アドレス、及びデータ信号を第2バス134を通じてスレーブブロック104に伝送する。解読したアドレス信号に対応する第2スレーブ124は書き込みデータによってメモリコアに応答する。
次に、バスアービタ130は応答してコントロール、アドレス、データ信号を第1バス132を通じてバスアービタに伝送する第2マスタ114へのアクセスを許容する。解読したアドレス信号に対応する第2スレーブ124は書き込みデータによってメモリコアに応答する。
図2はアドレス及びコントロール(address and control、AC)マルチプレクサ(multiplexer、142)、書き込み(write、WR)マルチプレクサ(multiplexer、144)、読み出し(read、RD)マルチプレクサ(multiplexer、146)、及びマルチプレクサコントローラ(multiplexer controller、148)を有するバスアービタ130のための実施形態を示す。マスタブロック102及びバスアービタ130の間の第1バス132はAC(address and control)信号の通信のためのAC(address and control)マスタバス152、書き込みデータの通信のためのWR(write)マスタバス154、及び読み出しデータの通信のためのRD(read)マスタバス156で構成されている。さらに、バスアービタ130とスレーブブロック104との間の第2バス134はAC信号の通信のためのAC(address and control)スレーブバス162、書き込みデータの通信のためのWR(write)スレーブバス164、及び読み出しデータの通信のためのRD(read)スレーブバス166で構成されている。
マスタ112、114…116はアドレス及びコントロール信号ACM1、ACM2… ACMmをACマスタバス152を通じてACマルチプレクサ142にそれぞれ伝送する。マスタ112、114…116は書き込みデータWRM1、WRM2…WRMmを書き込みマスタバス154を通じてWRマルチプレクサ144にそれぞれ伝送する。マスタ112、114…116は読み出しデータRDM1、RDM2…RDMmをRDマルチプレクサ146からRDマスタバス156を通じてそれぞれ受信する。
スレーブ122、124…126はアドレス及びコントロール信号ACS1、ACS2…ACSnをそれぞれACマルチプレクサ142からACスレーブバス162を通じて受信する。スレーブ122、124…126は書き込みデータWRS1、WRS2…WRSnをWRマルチプレクサ144からWRスレーブバス164を通じてそれぞれ受信する。スレーブ122、124…126は読み出しデータRDS1、RDS2…RDSnをそれぞれRDスレーブバス166を通じてRDマルチプレクサ146に伝送する。
マルチプレクサコントローラ148はACマルチプレクサ142を制御してスレーブ122、124…126にそれぞれ連結されたアドレス及びコントロール信号ACM1、ACM2…ACMmとしてアクセスを有するマスタ112、114…116のうちの一つからアドレス及びコントロール信号ACM1、ACM2…ACMmのうちの一つを選択する第1制御信号AC_SELを生成する。選択されたアドレス信号はアクセスされたスレーブ122、124…126のうちの一つをしめし、選択されたスレーブはデータの読み出し動作またはデータ書き込み動作に応答する。
マルチプレクサコントローラ148はまた、WRマルチプレクサ144を制御してスレーブ122、124…126にそれぞれ連結された書き込みデータWRS1、WRS2…WRSnとしてアクセスを有するマスタ112、114…116のうちの一つから書き込み信号WRM1、WRM2…WRMmのうちの一つを選択する第2制御信号WR_SELを生成する。マルチプレクサコントローラ148はRDマルチプレクサ146を制御してマスタ112、114…116にそれぞれ連結された読み出し信号RDM1、RDM2…RDMmとしてアクセスされたスレーブ122、124…126のうちの一つから読み出しデータRDS1、RDS2…RDSnのうちの一つを選択する第3制御信号RD_SELをさらに生成する。
マルチプロセッサシステム100において読み出し動作は図3のタイミング図を参照して説明する。図2及び図3を参照すれば、T0時点で、第2スレーブ124は、第2スレーブ124からデータを読み出す第1要請信号のために第1マスタ112によって生成されたアドレス及びコントロール信号ACM1を受ける。マルチプレクサコントローラ148はACマルチプレクサ142を制御してスレーブ122、124…126にそれぞれ連結されたそれぞれのアドレス及びコントロール信号ACS1、ACS2…ACSnで出力された第1マスタ112からアドレス及びコントロール信号ACM1を選択するAC_SEL信号を生成する。
ACM1信号に指定されたアドレス信号に対応した第2スレーブ124はT2‐T4の時間の間にACM1信号に対応する第1読み出しデータを準備するによって応答する。T2‐T3のインターフェース時間の後に、第2スレーブ124はRDスレーブバス166上にRDS2として第1読み出しデータを出力し始める。
現在使用されるメモリ装置は以前より高い性能を有する、従って、第2スレーブ124はバス164、166より高いクロック周波数において動作する。T2‐T3のインターフェース時間に、読み出しデータは第2スレーブ124の高いクロック周波数からRDスレーブバス166の低いクロック周波数に交替される。
第2スレーブ124はT2‐T4の相対的に短い時間の間に用意した第1読み出しデータを有する。なぜなら、第2スレーブ124はより高いクロック周波数で動作するためである。しかし、第1読み出しデータは読み出しスレーブバス166がより低いクロック周波数で動作するため、T3‐T6の比較的に長い時間の間にRDスレーブバス166に出力される。
さらに、図3のT1時点において、第2スレーブ124には第2要請信号のために第2マスタ114によって生成されたアドレス及びコントロール信号ACM2が入力され、第2スレーブ124からデータを読み出す。マルチプレクサコントローラ148はAC_SEL信号を生成する。AC_SEL信号はACマルチプレクサ142を制御して第2マスタ114から出力されたアドレス及びコントロール信号ACM2を選択するようにする。アドレス及びコントロール信号SCM2はアドレス及びコントロール信号ACS1〜ACSnとしてスレーブ122、124…126に提供される。
ACM2信号に指定されたアドレス信号に対応した第2スレーブ124は、第1読み出しデータをあらかじめ用意した後、T4‐T5時間の間にACM2信号に対応する第2読み出しデータを準備することによって応答する。そのような第2読み出しデータはT5時点において読み出しスレーブバス166に出力されるように用意される。しかし、RDスレーブバス166は第1読み出しデータをT6の時点まで第1マスタ112のために出力するように使用される。T6時点において、第2読み出しデータはT6‐T7の時間の間にRDスレーブバス166にRDS2として出力される。
また第2読み出しデータのために、第2スレーブ124は高いクロック周波数で動作するため、T4‐T5の相対的に短い時間の間に用意した第2読み出しデータを有する。しかし、第2読み出しデータはRDスレーブバス166が低いクロック周波数で動作するため、T6‐T7の相対的に高い時間の間にRDスレーブバス166に出力される。
第1及び第2読み出しデータをRDスレーブバス166に出力するためのT3‐T6及びT6‐T7のそのような長い時間はマルチプロセッサシステム100の動作を不利に減速させる。
図4はマルチプロセッサシステム100において書き込み動作の例を示すタイミング図である。図2及び図4を参照すれば、T0時点において、第2スレーブ124は第1マスタ112によって第1要請信号が前記第2スレーブ124にデータを書き込むために生成されるため、アドレス及びコントロール信号ACM1を受ける。マルチプレクサコントローラ148はACマルチプレクサ142を制御してスレーブ122、124…126にそれぞれ連結されたそれぞれのアドレス及びコントロール信号ACS1、ACS2…ACSnとして出力される第1マスタ112からアドレス及びコントロール信号を選択するAC_SEL信号を生成する。
ACM1信号で指定されたアドレス信号と対応した第2スレーブ124はT2‐T4の時間の間、WRスレーブバス164から第1書き込むデータの入力によって応答する。さらに、T2‐T3のインターフェース時間の後、第2スレーブ124はメモリコアの中にWRS2の第1書き込みデータを書き始める。
第2スレーブ124が高いクロック周波数で動作するため、第2スレーブ124はT3‐T5の相対的に短い時間の間、第1書き込みデータをそのメモリコアの中に書き込む。しかし、WRスレーブバス164が低いクロック周波数で動作するため、第1書き込みデータはT2‐T4の比較的に長い時間の間、WRバス164から入力される。
さらに、図4のT1時点において、第2スレーブ124は第2スレーブ124にデータを書き込むための第2要請信号のために、第2マスタ114によって生成されたアドレス及びコントロール信号ACM2を受ける。マルチプレクサコントローラ148はACマルチプレクサ142を制御してスレーブ122、124…126とそれぞれ連結されたそれぞれのアドレス及びコントロール信号ACS1、ACS2…ACSnに出力された第2マスタ114からアドレス及びコントロール信号ACM2を選択するAC_SEL信号を生成する。
ACM2信号で指定されたアドレス信号と対応する第2スレーブ124はT4‐T7の時間の間、WRスレーブバス164から第2書き込みデータを入力することによって応答する。さらに、第2スレーブ124はT4‐T6のインターフェース時間の後、メモリコアの中にWRS2の第2書き込みデータを書き始める。
第2スレーブ124が高いクロック周波数で動作するため、第2スレーブ124はT6‐T8の比較的に短い時間の間にメモリコアの中に第2書き込みデータを書き込む。しかし、WRスレーブバス164は低いクロック周波数で動作するため、第2書き込みデータはT4‐T7の比較的に長い時間の間にWRスレーブバス164から入力される。
WRバス164から第1及び第2書き込みデータを入力するためのT2‐T4及びT4‐T7のそのような長い時間はマルチプロセッサシステム100の動作を不利に減速させる。
このような短所を解決するための一つの方法は、バス164、166の動作速度を高めることである。また、他の解決方法は図3のT2‐T3と図4のT2‐T4及びT4‐T6のインターフェース時間を短縮させることである。しかし、その解決方法は費用が非常にかさむ。
そのため、低い価格のメカニズムはバス162、164がスレーブ122、124…126のうちの一つにおいてより低いクロック周波数で動作する時、マルチプロセッサシステム100のその低い動作を防ぐことが望ましい。
本発明は前記の問題を解決するためなされたもので、本発明の目的はバスのクロック周波数を高くしなくても動作速度を上げることができるマルチプロセッサシステム及びそのデータ伝送方法を提供することにある。
したがって、本発明の一般的の面において、複数個の読み出しおよび/または書き込みバス経路は高いクロック周波数で動作するスレーブのために形成される。
本発明の実施形態によるマルチプロセッサシステムは複数個のマスタ、第1クロック周波数で動作する少なくとも一つの第1類型のスレーブ、第1クロック周波数より高い第2クロック周波数で動作する少なくとも一つの第2類型のスレーブを含む。マルチプロセッサシステムは、また、マスタとスレーブとの間でアクセスを調整するためのアービタを含み、アービタ及び第1類型のスレーブの間で単一読み出し/書き込みバス経路を含む。マルチプロセッサシステムはアービタと第2類型のスレーブとの間で複数個の読み出しバス経路および/または複数個の読み出しバス経路をさらに含む。
特に、バス経路が低いクロック周波数で動作する時、第2類型のスレーブは読み出しデータを時間重複で多重読み出しバス経路上に出力し/または時間重複で多重書き込みバス経路から書き込みデータを入力する。アービタは複数個のマスタと複数個のスレーブとの間でそのような時間重複でデータ伝送を調整するためのマルチプレクサとマルチプレクサコントローラとを含む。
このような方法によって、データは時間重複で多重バス経路に伝送されるため、バス経路の遅いクロック周波数は高いクロック周波数で動作するスレーブを有するマルチプロセッサシステムの動作を減速させない。
本発明によるマルチプロセッサシステムは高速スレーブを使用してバスのクロック周波数を上げなくても、データプロセッシングでレイテンシを最小化することができる。
本発明の他の特徴及び利点を添付の図面を参照した発明の詳細な説明においてより具体的に説明する。
図5は本発明の実施形態によるマルチプロセッサシステム200のブロック図を示す。マルチプロセッサシステム200はマスタブロック202、スレーブブロック204、及びバスアービタ206を含む。マスタブロック202は第1マスタ212、第2マスタ214…第m番目のマスタ216を含む複数個のマスタを有する。それぞれのマスタ212、214…216は例えば、中央処理装置(central processing unit、CPU)またはデジタル信号処理器(digital signal processor、DSP)のようなデータプロセッサである。
スレーブブロック204は第1スレーブ222、第2スレーブ224…第n番目のスレーブ226を含む複数個のスレーブを有する。それぞれのスレーブ222、224…226はマスタ212、214…216の少なくとも一つによってアクセスされる。例えば、それぞれのスレーブ222、224…226はメモリ装置である。
第n回目のスレーブ226が第1クロック周波数で動作する第1類型でおり、第1及び第2スレーブ222、224は第1クロック周波数よりさらに高い第2クロック周波数で動作する第2類型である。本発明の実施形態において、スレーブブロック204にある速いスレーブ222、224を除外した第n番目のスレーブ226のような残りのスレーブはさらに低いクロック周波数で動作する第1類型である。
前記バスアービタ206はマスタ212、214…216とスレーブ222、224…226との間でアクセスを仲栽する。バスアービタ206はアドレス及びコントロールマルチプレクサ(address and control multiplexer、232)、第1書き込み(write、WR)マルチプレクサ234、第2WR'(write)マルチプレクサ236、第1読み出し(read、RD)マルチプレクサ238、及び第2RD'(read)マルチプレクサ240を含む複数個のマルチプレクサを含む。
バスアービタ206はまた第1セレクタマルチプレクサ244、第2セレクタマルチプレクサ246、及び第m番目のセレクタマルチプレクサ248を含むmマルチプレクサで構成された単一セレクタ242を含む。マルチプレクサコントローラ250は優先的な方法によるマルチプレクサ232、234、236、240、244、246…248を調節するための調節信号を生成する。
マスタ212、214…216はアドレス及びコントロール(address and control、AC)信号ACM1、ACM2…ACMmをそれぞれアドレス及びコントロールACマスタバス252を通じてACマルチプレクサ232に伝送する。マスタ212、214…216は書き込みデータWRM1、WRM2…WRMmを書き込み(write)、マスタバス254を通じて第1WRマルチプレクサ234に伝送する。マスタ212、214…216は読み出し(read)マスタバス256を通じて単一セレクタ242から読み出しデータRDM1、RDM2…RDMmを受信する。
スレーブ222、224…226はアドレス及びコントロール(address and control)信号ACS1、ACS2…ACSnをACスレーブバス258を通じてACマルチプレクサ234から受信する。スレーブ222、224…226が第1書き込みデータWRS1、WRS2…WRSnを第1書き込み(write、WR)スレーブバス260を通じて第1WRマルチプレクサ234からそれぞれ受信する。より高いクロック周波数で動作する速いスレーブ222、224は第2書き込みデータWRS1'、WRS2'を第2書き込みWR'スレーブバス262を通じて第2WR'マルチプレクサからそれぞれ受信する。
スレーブ222、224…226は第1読み出しデータRDS1、RDS2…RDSnを第1読み出し(read、RD)スレーブバス264を通じて第1RDマルチプレクサ238に伝送する。より高いクロック周波数で動作する速いスレーブ222、224は第2読み出しデータRDS1'、RDS2'を第2読み出しRD'スレーブバス266を通じて第2RD'マルチプレクサ240にそれぞれ伝送する。
このような方法によって、より高いクロック周波数で動作する速いスレーブ222、224はWR及びWR'スレーブバス260、262及びWR及びWR'マルチプレクサ234、236を通じてそれぞれ2個の書き込みバス経路を有する。同様に、より速いスレーブ222、224はRD及びRD'スレーブバス264、266及びRD及びRD'マルチプレクサ238、240を通じてそれぞれ2個の読み出しバス経路を有する。
一方、より低いクロック周波数で動作するある遅いスレーブ226は第1WRスレーブバス260及び第1WRマルチプレクサ234を通じて単一シングルバス経路を有する。同様に、遅いスレーブ226は第1RDスレーブバス264及び第1RDマルチプレクサ238を通じて単一読み出しバス経路を有する。
マルチプロセッサシステム200において読み出し動作は図6のタイミング図を参照して説明する。図5及び図6を参照すれば、T0時点において、第2スレーブ224は第1マスタ212によって第2スレーブ224からデータを読み出す第1要請信号のために生成されたアドレス及びコントロール信号ACM1を受信する。マルチプレクサコントローラ250はACマルチプレクサ232を制御してスレーブ222、224…226に連結されたそれぞれのアドレス及びコントロール信号ACS1、ACS2…ACSnに出力された第1マスタ212からアドレス及びコントロール信号ACM1を選択するAC_SEL信号を生成する。
ACM1信号において指定されたアドレス信号に対応した第2スレーブ224はT2‐T4の時間の間、ACM1信号に対応した第1読み出しデータRDS2を準備することによって応答する。T2‐T3のインターフェース時間の後、第2スレーブ224はRDS2の第1読み出しデータを第1RDスレーブバス264上に出力し始める。
マルチプレクサコントローラ250は第1RDマルチプレクサ238を制御してその出力として第2スレーブ224から第1読み出しデータRDS2を選択するRD_SEL信号を生成する。マルチプレクサコントローラ250はまた、第1セレクタマルチプレクサ224を制御して第1マスタ212に連結された読み出しデータRDM1として第1RDマルチプレクサ238の出力を選択するS1信号を生成する。このような方法によって、第2スレーブ224からの第1読み出しデータRDS2は第1マスタ212に向けるようになる。
第2スレーブ224は第1RDスレーブバス264のためのバスクロック周波数より高いスレーブクロック周波数で動作する。T2‐T3のインターフェース時間は、第2スレーブ224の高いクロック周波数から第1RDスレーブバス264の低いクロック周波数に交替される時間である。
第2スレーブ224が高いクロック周波数で動作するため、第2スレーブ224はT2‐T4の相対的に短い時間の間に用意した第1読み出しデータRDS2を有する。しかし、第1RDスレーブバス264が低いクロック周波数で動作するため、第1読み出しデータRDS2はT3‐T7の比較的に長い時間の間に第1RDスレーブバス264に出力される。
また、図6のT1時点において、第2スレーブ224は第2マスタ214によって第2スレーブ224からデータを読み出す第2要請信号のために生成されたアドレス及びコントロール信号ACM2を受信する。マルチプレクサコントローラ250はAC_SEL信号を生成する。AC_SEL信号はACマルチプレクサ232を制御して第2マスタ214から出力されたアドレス及びコントロール信号ACM2を選択するようにする。アドレス及びコントロール信号ACM2はアドレス及びコントロール信号 ACS1、 ACS2…ACSnとしてスレーブ222、224…226に提供される。
ACM2信号に指定されたアドレス信号に対応する第2スレーブ224はT4‐T6の時間の間、ACM2信号に対応する第2読み出しデータRDS2'を準備することによって応答する。T4‐T5のインターフェース時間の後、第2スレーブ224は第2読み出しデータRDS2'を第2RD'スレーブバス266の上に出力し始める。
マルチプレクサコントローラ250は第2RD'マルチプレクサ240を制御してその出力である第2スレーブ224から第2読み出しデータRDS'2を選択するRD'_SEL信号を生成する。マルチプレクサコントローラ250はまた、第2セレクタマルチプレクサ246を制御して第2マスタ214に連結された第2データRDM2である2RD'マルチプレクサ240の出力を選択するS2信号を生成する。このような方法によって、第2スレーブ224の第2読み出しデータRDS2'は第2マスタ214に向けるようになる。
第2スレーブ224が高いスレーブクロック周波数で動作するため、T4‐T6の比較的に短い時間の間に用意した第2読み出しデータRDS2'を有する。しかし、第2読み出しデータRDS2'は第2RD'スレーブバス266が低いバスクロック周波数で動作するため、T5‐T8の比較的に長い時間の間に第2RD'スレーブバス266に出力される。
それにもかかわらず、第2スレーブ224は第1及び第2読み出しデータRDS2、RDS2'が図6のT5‐T7の時間の重複で第1及び第2RD、RD'読み出しスレーブバス264、266上に出力されたように2個の読み出しバス経路を有する。そのような時間の重複は従来技術の全般的な時間(図3のT3‐T7)と比較して、第2スレーブ224から第1及び第2読み出しデータRDS2、RDS2'を出力するための図6のT3‐T8の全般的な時間を減少させる。
図7はマルチプロセッサシステム200において、書き込み動作の例を示すタイミング図である。図5及び図7を参照すると、TOの時点において、第2スレーブ224は、アドレス及び制御信号ACM1が入力される。アドレス及び制御信号ACM1は第1マスタ212から生成される。アドレス及び制御信号ACM1は第2スレーブ224にデータを書き込むように要請するための第1要請信号である。マルチプレクサコントロール250はAC_SEL信号を生成する。AC_SEL信号はACマルチプレクサ232を制御して第1マスタ212から出力されたアドレス及びコントロール信号ACM1を選択するようにする。アドレス及びコントロール信号ACM1はアドレス及びコントロール信号ACS1、ACS2…ACSnとしてスレーブ222、224…226に提供される。
また、マルチプレクサ250はWR_SEL信号を生成する。WR_SEL信号は第1WRマルチプレクサ234を制御して第1マスタ212から出力された第1書き込みデータWRM1を選択するようにする。第1書き込みデータWRM1は第1書き込みデータWRS1、WRS2…WRSnとして第1WRスレーブバス260を経由してスレーブ222、224…226に提供される。ACM1信号で指定されたアドレス信号に対応した第2スレーブ224はT2‐T5の時間の間に第1WRスレーブバス260から第1書き込みデータWRS2を入力することによって応答する。さらに、T2‐T4のインターフェース時間の後、第2スレーブ224は第1書き込みデータWRS2をそれのメモリコアに書き込み始める。
第2スレーブ224が高いクロック周波数で動作するため、第2スレーブ224はT4-T6の相対的に短い時間の間に第1書き込みデータWRS2をメモリコアの中に書き込む。しかし、第1書き込みデータWRS2は第1WRスレーブバス260が低いクロック周波数で動作するため、T2‐T5の比較的に長い時間の間、第1WRスレーブバス260から入力される。
また、図7のT1時点において、第2スレーブ224はアドレス及び制御信号ACM2が入力される。アドレス及び入力信号ACM2は第2マスタ214から生成される。アドレス及び制御信号ACM2は第2スレーブ224にデータを書き込むように要請するための第2要請信号である。マルチプレクサコントローラ250はAC_SEL信号を生成する。AC_SEL信号はACマルチプレクサ232を制御して、第2マスタ214から出力されたアドレス及びコントロール信号ACM2を選択するようにする。アドレス及び制御信号ACM2はアドレスコントロール信号ACS1、ACS2…ACSnとしてスレーブ222、224…226に提供される。(図7に“AC switching”と示す。)
さらに、マルチプレクサコントローラ250はWR'_SEL信号を生成する。WR'_SEL信号は第2WR'プレクサ236を制御して第2マスタから出力された第2書き込みデータWRM2を選択するようにする。第2書き込みデータWRM2はWRS1'、WRS2'として第2 WR'スレーブバス262を経由して速いスレーブ222、224に提供される。ACM2信号で指定されたアドレス信号に対応した第2スレーブ224はT3‐T8の時間の間、第2WR'スレーブバス262から第2書き込みデータWRS2'を入力することによって応答する。さらに、第2スレーブ224はT3‐T7のインターフェースの時間の後、メモリコアの中に第2書き込みデータWRS2'を書き始める。
第2スレーブ224が高いクロック周波数で動作するため、第2スレーブ224はT7‐T9の相対的に短い時間の間にメモリコアの中に第2書き込みデータWRS2'を書き込み。しかし、第2WR'スレーブバス262が低いクロック周波数で動作するため、第2書き込みデータWRS2'はT3‐T8の相対的に長い時間の間に第2WR'スレーブバス262から入力される。
それにもかかわらず、第2スレーブ224は第1及び第2書き込みデータWRS2、WRS2'が図7においてT3‐T5の時間の重複で第1及び第2WR及びWR'書き込みスレーブバス260、262から入力されるような2個の書き込みバス経路を有する。そのような時間重複は従来技術の全般的の時間(図4のT2‐T7)と比べて第2スレーブ224に第1及び第2書き込みデータWRS2、WRS2'を入力するための図7においてT2‐T8の重複時間を減少させる。
図8は第2スレーブ224のような高いクロック周波数で動作するスレーブ222、224の実施形態のブロック図を示す。第2スレーブ224はメモリコア270及びスレーブインターフェース272を含む。スレーブインターフェースは第1書き込みデータレジスタ274、第2書き込みデータレジスタ276、第1読み出しデータレジスタ278、及び第2読み出しデータレジスタ280を含む。書き込みセレクタ282は前記書き込みデータレジスタ274、276とメモリコア270との間で連結される。読み出しセレクタ284は読み出しデータレジスタ278、280とメモリコア270との間で連結される。
図6及び図8を参照すると、読み出しセレクタ284はT2‐T4の時間の間に第1読み出しデータRDS2をメモリコア270から第1読み出しデータレジスタ278にルートを定め、T4‐T6の時間の間に第2読み出しデータRDS2'をメモリコア270から第2読み出しデータレジスタ280にルートを定める。メモリコア270からそのような読み出しデータ伝送はメモリコア270の高いクロック周波数で同期化され、そのような読み出しデータ伝送は読み出しデータレジスタ278、280に順に行われる。
また図6及び図8を参照すると、第1読み出しデータレジスタ278はT3‐T7の時間の間に第1読み出しデータRDS2を第2RDスレーブバス264上に出力する。第2読み出しデータレジスタ280はT5‐T8の時間の間に第2読み出しデータRDS2'を第2読み出しRD'スレーブバス266上に出力する。第1及び第2読み出しデータレジスタ278、280はT5‐T7の時間の重複で第1及び第2読み出しデータRDS2、RDS2'をそれぞれ第1及び第2RD、RD'スレーブバス264、266上に出力する。読み出しデータレジスタ278、280からRD及びRD'スレーブバス264、266上にそのような読み出しデータ伝送は前記スレーブバス264、266の低いクロック周波数で同期化される。
図7及び図8を参照すると、書き込みセレクタ282はT4‐T6の時間の間に第1書き込みデータWRS2を第1書き込みデータレジスタ274からメモリコア270にルートを定め、T7‐T9の時間の間に第2書き込みデータWRS2'を第2書き込みデータレジスタ276からメモリコア270にルートを定める。メモリコア270にそのような書き込みデータ伝送はメモリコア270の高いクロック周波数で同期化され、そのような書き込みデータ伝送は書き込みデータレジスタ274、276から順に行われる。
また図7及び図8を参照すると、第1書き込みデータレジスタ274はT2‐T5の時間の間に第1WRスレーブバス260から第1書き込みデータWRS2を入力する。第2書き込みデータレジスタ276はT3‐T8の時間の間に第2WR'スレーブバス262から第2書き込みデータWRS2'を入力する。第1及び第2書き込みデータレジスタ274、276はT3‐T5の時間の重複でそれぞれ第1及び第2WR、WR'スレーブバス260、262から第1及び第2書き込みデータWRS2、WRS2'を入力する。WR及びWR'スレーブバス260、262から書き込みデータレジスタ272、276においてそのような書き込みデータ伝送はスレーブバス260、262の低いクロック周波数で同期化される。
このような方法によって、バスクロック周波数が速いスレーブのためのX個の書き込みバス経路とX個の読み出しバス経路を使用して、スレーブクロック周波数より低い場合にもバス上やバスからデータ伝送でレイテンシ(latency)は最小化される。本発明の実施形態において、スレーブバス(260、262、264、あるいは266、Xまで多数の)のクロック周波数は速いスレーブ(222あるいは224)のクロック周波数より大きい。そのような複数の書き込みバス経路及び複数の読み出し経路は、遅いバス(slower buses)からデータを読み出すまたは遅いバス(slower buses)にデータを書き込む時、時間重複(time overall)を許容する。従って、本発明によるマルチプロセッサシステム200はデータを処理する時、レイテンシ(latency)を最小化することができる。
前記の実施形態はただ一例として示したが、これに限定されない。例えば、前記の説明したような実施形態は一つ方法である。本発明は特許請求の範囲だけでなく、均等な範囲によって定めて制限される。
Claims (30)
- 複数個のマスタと、
第1クロック周波数で動作する少なくとも一つの第1類型のスレーブと、
前記第1クロック周波数より高い第2クロック周波数で動作する少なくとも一つの第2類型のスレーブと、
前記マスタ及びスレーブの間でアクセスを調整するためのアービタと、
前記アービタと前記第1類型のスレーブとの間にある単一読み出し/書き込みバス経路と、
前記アービタと前記第2類型のスレーブとの間にある複数の読み出しバス経路あるいは複数の書き込みバス経路とを含むことを特徴とするマルチプロセッサシステム。 - 前記アービタと前記第2類型のスレーブとの間にある複数の読み出しバス経路及び複数の書き込みバス経路をさらに含むことを特徴とする請求項1に記載のマルチプロセッサシステム。
- 前記アービタと前記第1類型のスレーブとの間で単一読み出しバス経路を含み、
前記アービタと前記第2類型のスレーブとの間で一対の読み出しバス経路を含み、
前記アービタは前記単一読み出しバス経路と前記一対の読み出しバス経路のうちの一つを選択するための、そして前記スレーブのうちの一つから前記マスタのうちの一つに読み出しデータを伝送するための第1読み出しマルチプレクサを含むことを特徴とする請求項1に記載のマルチプロセッサシステム。 - 複数の前記第2類型のスレーブを含み、
それぞれの前記第2類型のスレーブはそれぞれ一対の読み出しバス経路を有し、
前記アービタは前記それぞれの一対の読み出しバス経路のためのそれぞれ一つのバス経路を選択するための、そして前記第2類型のスレーブのうちの一つから前記マスタの一つに読み出しデータを伝送するための第2読み出しマルチプレクサを含むことを特徴とする請求項3に記載のマルチプロセッサシステム。 - 前記アービタと前記第1類型のスレーブとの間で単一書き込みバス経路を含み、
前記アービタと前記第2類型のスレーブとの間で一対の書き込み経路を含み、
前記アービタは前記単一書き込みバス経路と前記一対の書き込みバス経路のうちの一つを選択するための、そして前記スレーブのうちの一つから前記マスタのうちの一つに書き込みデータを伝送するための第1書き込みマルチプレクサを含むことを特徴とする請求項1に記載のマルチプロセッサシステム。 - 複数の前記第2類型のスレーブを含み、
それぞれの前記第2類型のスレーブはそれぞれ一対の書き込みバス経路を有し、
前記アービタは前記それぞれの一対の書き込みバス経路のためのそれぞれ一つのバス経路を選択するための、そして前記マスタのうちの一つから前記第2類型のスレーブのうちの一つに書き込みデータを伝送するための第2書き込みマルチプレクサを含むことを特徴とする請求項5に記載のマルチプロセッサシステム。 - 前記アービタと前記第2類型のスレーブとの間に一対の読み出しバス経路を含み、
前記第2類型のスレーブはスレーブクロックに同期して、スレーブコアから順に伝送される読み出しデータを貯蔵する一対の読み出しデータレジスタを含み、
前記読み出しデータレジスタに貯蔵された読み出しデータはバスクロックに同期し、前記読み出しバス経路を経由して、時間重複されて伝送されることを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記スレーブクロックは前記バスクロックよりさらに速いことを特徴とする請求項7に記載のマルチプロセッサシステム。
- 前記アービタと前記第2類型のスレーブとの間に一対の書き込みバス経路を含み、
前記第2類型のスレーブはバスクロックに同期して、時間重複されて前記書き込みバス経路から入力された書き込みデータを貯蔵するための一対の書き込みデータレジスタを含み、
前記書き込みレジスタから出力された書き込みデータはスレーブクロックに同期して順にスレーブコアに貯蔵されることを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記スレーブクロックは前記バスクロックよりさらに速いことを特徴とする請求項9に記載のマルチプロセッサシステム。
- 前記アービタと前記第2類型のスレーブとの間に一対の読み出しバス経路を含み、
前記一対の読み出しバス経路は前記第2類型のスレーブから前記アービタに時間重複されて、それぞれの読み出しデータを伝送することを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記アービタと前記第2類型のスレーブとの間に一対の書き込みバス経路を含み、
前記一対の書き込みバス経路は前記アービタから前記第2類型のスレーブに、時間重複されて、それぞれの書き込みデータを伝送することを特徴とする請求項1に記載のマルチプロセッサシステム。 - 複数のマスタと、
複数のスレーブと、
前記マスタと前記スレーブとの間でアクセスを調整するためのアービタと、
少なくとも一つの前記スレーブそれぞれと前記アービタとの間にあるそれぞれの複数の書き込みバス経路とを含むことを特徴とするマルチプロセッサシステム。 - 前記アービタと前記スレーブのうちの一つにある単一書き込みバス経路を含み、
前記アービタと前記スレーブのうちの他の一つにある一対の書き込みバス経路を含み、
前記アービタは前記単一書き込みバス経路と前記一対の書き込みバス経路のうちの一つを選択するための、そして前記マスタのうちの一つから前記スレーブのうちの一つに書き込みデータを伝送するための第1書き込みマルチプレクサを含むことを特徴とする請求項13に記載のマルチプロセッサシステム。 - 少なくとも二つのスレーブのためにそれぞれ一対の書き込みバス経路を含み、
前記アービタは前記それぞれ一対の書き込みバス経路のためにそれぞれ一つの書き込みバス経路を選択するための、そして前記マスタのうちの一つから前記スレーブのうちの一つに書き込みデータを伝送するための第2書き込みマルチプレクサを含むことを特徴とする請求項14に記載のマルチプロセッサシステム。 - 前記アービタと前記スレーブとの間にある一対の書き込みバス経路を含み、
前記スレーブのうちの一つはバスクロックに同期して時間重複されて、前記書き込みバス経路から入力された書き込みデータを貯蔵するための一対の書き込みデータレジスタを含み、
前記書き込みレジスタから出力された書き込みデータはスレーブクロックに同期して順にスレーブコアに貯蔵されることを特徴とする請求項13に記載のマルチプロセッサシステム。 - 前記スレーブクロックは前記バスクロックよりさらに速いことを特徴とする請求項16に記載のマルチプロセッサシステム。
- 前記アービタと前記スレーブとの間にある一対の書き込みバス経路を含み、
前記一対の書き込みバス経路は前記アービタから前記スレーブのうちの一つに時間重複されて、それぞれの書き込みデータを伝送することを特徴とする請求項13に記載のマルチプロセッサシステム。 - マルチプロセッサシステムのデータ伝送方法において、
第1クロック周波数で少なくとも一つの第1類型のスレーブが動作する段階と、
前記第1クロック周波数より高い第2クロック周波数で少なくとも一つの第2類型のスレーブが動作する段階と、
複数のマスタとスレーブとの間にアクセスを調整する段階と、
単一読み出し/書き込みバス経路を通じて前記第1類型のスレーブからまたは前記第1類型のスレーブにデータを伝送する段階と、
複数の読み出しバス経路あるいは複数の書き込みバス経路を通じて前記第2類型のスレーブからまたは前記第2類型のスレーブにデータを伝送する段階とを含むことを特徴とするデータ伝送方法。 - 複数の読み出しバス経路及び複数の書き込みバス経路を通じて前記第2類型のスレーブからまたは前記第2類型のスレーブにデータを伝送する段階をさらに含むことを特徴とする請求項19に記載のデータ伝送方法。
- 単一読み出しバス経路を通じて前記第1類型のスレーブから読み出しデータを伝送する段階と、
一対の読み出しバス経路を通じて前記第2類型のスレーブから読み出しデータを伝送する段階と、
前記単一読み出しバス経路と前記一対の読み出しバス経路のうちの一つを選択し、スレーブのうちの一つからマスタのうちの一つに読み出しデータを伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 一対の読み出しバス経路それぞれを通じて複数の第2類型のスレーブそれぞれのためのそれぞれの読み出しデータを伝送する段階と、
前記一対の読み出しバス経路それぞれのためのそれぞれ一つの読み出しバス経路を選択し、前記第2類型のスレーブのうちの一つから前記マスタのうちの一つに読み出しデータを伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 単一書き込みバス経路を通じて前記第1類型のスレーブに書き込みデータを伝送する段階と、
一対の書き込みバス経路を通じて前記第2類型のスレーブに書き込みデータを伝送する段階と、
前記単一書き込みバス経路と一対の書き込みバス経路のうちの一つを選択し、前記マスタのうちの一つから前記スレーブのうちの一つに書き込みデータを伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 一対の書き込みバス経路それぞれを通じて複数の第2類型のスレーブそれぞれにそれぞれの書き込みデータを伝送する段階と、
前記一対の書き込みバス経路それぞれのためのそれぞれ一つの書き込みバス経路を選択し、前記マスタのうちの一つから前記第2類型のスレーブのうちの一つに書き込みデータを伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 一対の読み出しバス経路を通じて前記第2類型のスレーブから読み出しデータを伝送する段階と、
スレーブクロックに同期して、スレーブコアから一対の読み出しデータレジスタに前記読み出しデータを順に伝送する段階と、
バスクロックに同期して時間重複されて、前記読み出しデータレジスタに貯蔵された読み出しデータを前記一対の読み出しバス経路に伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 前記スレーブクロックは前記バスクロックよりさらに速いことを特徴とする請求項25に記載のデータ伝送方法。
- 一対の書き込みバス経路を通じて前記第2類型のスレーブに書き込みデータを伝送する段階と、
バスクロックに同期して時間重複して、前記一対の書き込みバス経路から一対の書き込みデータレジスタに前記書き込みデータを伝送する段階と、
スレーブクロックに同期して前記書き込みデータレジスタからスレーブコアに順に前記書き込みデータを伝送する段階とをさらに含むことを特徴とする請求項19に記載のデータ伝送方法。 - 前記スレーブクロックは前記バスクロックよりさらに速いことを特徴とする請求項27に記載のデータ伝送方法。
- 時間重複されて、一対の読み出しバス経路それぞれを通じて前記第2類型のスレーブからそれぞれの読み出しデータを伝送する段階をさらに含むことを特徴とする請求項19に記載のデータ伝送方法。
- 時間重複されて、一対の書き込みバス経路それぞれを通じて前記第2類型のスレーブにそれぞれの書き込みデータを伝送する段階をさらに含むことを特徴とする請求項19に記載のデータ伝送方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060001041A KR100706801B1 (ko) | 2006-01-04 | 2006-01-04 | 멀티 프로세서 시스템 및 그것의 데이터 전송 방법 |
US11/480,707 US20070156937A1 (en) | 2006-01-04 | 2006-07-03 | Data transfer in multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183957A true JP2007183957A (ja) | 2007-07-19 |
Family
ID=38339932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006352387A Pending JP2007183957A (ja) | 2006-01-04 | 2006-12-27 | マルチプロセッサシステム及びそれのデータ伝送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007183957A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010205154A (ja) * | 2009-03-05 | 2010-09-16 | Fujitsu Ltd | クロック供給方法及び情報処理装置 |
-
2006
- 2006-12-27 JP JP2006352387A patent/JP2007183957A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010205154A (ja) * | 2009-03-05 | 2010-09-16 | Fujitsu Ltd | クロック供給方法及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7290075B2 (en) | Performing arbitration in a data processing apparatus | |
US20030088743A1 (en) | Mobile wireless communication device architectures and methods therefor | |
US6996659B2 (en) | Generic bridge core | |
JP5330513B2 (ja) | 調停装置、調停システム、調停方法、半導体集積回路、及び画像処理装置 | |
KR100551480B1 (ko) | 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법 | |
JP4182801B2 (ja) | マルチプロセサシステム | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
JP2023539737A (ja) | 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ | |
JPH0784863A (ja) | 情報処理装置およびそれに適した半導体記憶装置 | |
US20140359195A1 (en) | Crossbar switch, information processing apparatus, and information processing apparatus control method | |
JP2011081553A (ja) | 情報処理装置及びその制御方法 | |
US9798492B2 (en) | Semiconductor device including a plurality of function blocks | |
US8386719B2 (en) | Method and apparatus for controlling shared memory and method of accessing shared memory | |
JP4902640B2 (ja) | 集積回路、及び集積回路システム | |
US9128924B2 (en) | Method and apparatus for wireless broadband systems direct data transfer | |
US20090119429A1 (en) | Semiconductor integrated circuit | |
JP2007183957A (ja) | マルチプロセッサシステム及びそれのデータ伝送方法 | |
US7673091B2 (en) | Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system | |
US7574548B2 (en) | Dynamic data transfer control method and apparatus for shared SMP computer systems | |
JP2006127423A (ja) | バス制御装置、調停装置、並びに、その方法及びプログラム | |
JP4633334B2 (ja) | 情報処理装置およびメモリアクセス調停方法 | |
JP2010124439A (ja) | バス中継装置 | |
JP2006202271A (ja) | ストリームプロセッサ及び情報処理装置 | |
KR20150093461A (ko) | 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법 | |
JP2011022781A (ja) | データ転送装置、データ転送方法及びデータ転送プログラム |