JP4125933B2 - Processor system with common memory - Google Patents
Processor system with common memory Download PDFInfo
- Publication number
- JP4125933B2 JP4125933B2 JP2002250149A JP2002250149A JP4125933B2 JP 4125933 B2 JP4125933 B2 JP 4125933B2 JP 2002250149 A JP2002250149 A JP 2002250149A JP 2002250149 A JP2002250149 A JP 2002250149A JP 4125933 B2 JP4125933 B2 JP 4125933B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- timing
- access
- ring bus
- memory
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 25
- 238000011144 upstream manufacturing Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 10
- 230000009977 dual effect Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、複数のプロセッサから1つの共通メモリをアクセスするように構成されたプロセッサシステム関し、特に共通メモリへのアクセスに必要な時間を予め決めた最大時間よりも必ず小さくすることが可能な共通メモリを備えたプロセッサシステムに関する。
【0002】
【従来の技術】
複数のプロセッサで共通のメモリをアクセスする共通メモリを備えたプロセッサシステムとして、従来、例えば特開平11−134312に記述されるようなリングバスを用いた方式が提案されている。この方式では、共通メモリをアクセスしたいプロセッサは、まず、ブロードキャスト信号として要求信号を送信し、他のプロセッサからのアクセスに対して邪魔をせず、また、他のプロセッサからのアクセスで邪魔をされないことを確認した後、実際に共通メモリへのアクセスを行うことができる。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来の共通メモリを備えたプロセッサシステムでは、共通メモリをアクセスしたいときに、リングバスが他のプロセッサからのアクセスで使われていた場合、リングバスが空くまで待ち時間が必要になる。特に、多くのプロセッサが同時にアクセスを要求するような状況では、この待ち時間が大きくなり、共通メモリのアクセスに必要な時間を正確に見積ることができず、場合によっては、アクセスを諦めなければならない状況もあり得るという問題点があった。
本発明は、以上の点を考慮してなされたものであり、共通メモリのアクセスに必要な時間を予め定めた最大時間よりも必ず小さくできる共通メモリを備えたプロセッサシステムを提供することを目的とする。
【0004】
【課題を解決するための手段】
上記目的を達成するため本発明は、複数のプロセッサから読み出し及び書き込みをする共通メモリと、該共通メモリとプロセッサ間のアクセス信号を伝送する信号用リングバスと、タイミング信号を伝送するタイミング用リングバスと、該タイミング用リングバスに有限のタイミング値からなる前記タイミング信号を送信するタイミング生成部と、バス制御部を備えた複数のプロセッサと、前記信号用リングバスと前記共通メモリとの間で信号の仲介をするメモリ制御部とを有し、前記プロセッサは、プロセッサ・コアと該プロセッサ・コア側と前記バス制御部側から独立に読み書きできるデュアルポートメモリと、書き込みと読み出しの区別、共通メモリアドレス及びデュアルポートメモリ・アドレスから成る共通メモリアクセス指示内容を格納する要求レジスタと、共通メモリアドレス及びデュアルポートメモリ・アドレスから成る共通メモリ読み出し指示内容を格納する応答レジスタと、前記要求レジスタへの書き込みと読み出しに合わせてセットとリセットが行われる要求フラグと、前記応答レジスタへの書き込みと読み出しに合わせてセットとリセットが行われる応答フラグを有し、前記バス制御部は、ランダム書き込みが可能な終了ビットを付加した前記共通メモリアクセス指示内容を格納するFIFO構造のメモリで構成され、前記要求フラグがセットならば前記要求レジスタに格納されている共通メモリアクセス指示内容を格納してから該要求フラグをリセットする一方で、前記終了ビットを順に調べてセットになっているとき、前記応答フラグがリセットならば前記共通メモリ読み出し指示内容を生成して前記応答レジスタに格納してから該応答フラグをセットする要求キューと、アクセス信号を送信または受信できる予め定めたアクセスタイミング値を記憶するタイミングメモリと、前記要求キューに格納されている共通メモリアクセス指示内容を読み出し、これに基づいてアクセス信号を生成する一方で、前記タイミングメモリからアクセスタイミング値を知り、前記タイミング用リングバスのタイミング値が該アクセスタイミング値と一致したとき、前記信号用リングバスへ前記アクセス信号を送信する送信制御部と、前記タイミングメモリからアクセスタイミング値を知り、前記タイミング用リングバスのタイミング値が該アクセスタイミング値と一致したとき、前記信号用リングバスからアクセス信号を受信し、メモリ読み出し結果を抽出してデュアルポートメモリの対応するアドレスに格納し、前記要求キューの対応する終了ビットをセットする受信制御部とを有し、前記メモリ制御部は、前記信号用リングバスから入力したアクセス信号を前記共通メモリに渡し、該アクセス信号が読み出しを意味する場合、該共通メモリからのメモリ読み出し結果を対応するプロセッサへのアクセス信号として前記信号用リングバスへ出力し、前記入力したアクセス信号が書き込みを意味する場合、前記共通メモリへデータを書き込むことを特徴とするように構成したものである。
【0005】
【発明の実施の形態】
図1は、本発明の共通メモリを備えたプロセッサシステムの第一の実施形態を示すブロック図である。図1は、5個のプロセッサで1つの共通メモリをアクセスする場合を示している。図1において、111、112、113、114、115はプロセッサ、121、122、123、124、125はバス制御部、13はタイミング生成部、14は信号用リングバス、15はタイミング用リングバス、16はメモリ制御部、17は共通メモリである。
【0006】
タイミング生成部13は、巡回的なタイミング値からなるタイミング信号を発生し、タイミング用リングバス15へ送信する。ここでは、タイミング値は、例えば、0から7まで1ずつ増えた後で0に戻るような巡回的な値をとることを仮定している。
【0007】
一例としてプロセッサ111とバス制御部121を例に、共通メモリ17へのアクセス動作を説明する。プロセッサ111は、共通メモリ17に対し書き込みまたは読み出しをしたい場合、バス制御部121へアクセス信号の送信を指示する。バス制御部121は、プロセッサ111からの指示を受けて、アクセス信号を生成し、タイミング用リングバス15のタイミング値が予め定められたアクセスタイミング値になったときに、信号用リングバス14へアクセス信号を送信する。ここでは、アクセスタイミング値として、バス制御部121、122、123、124、及び125に対して、それぞれ、0、1、2、3、4、及び5が設定されているものと仮定する。このため、バス制御部121は、タイミング用リングバス15のタイミング値が0のときに、信号用リングバス14へアクセス信号を送信する。アクセス信号には、書き込みと読み出しの区別、プロセッサ111に対応する送信元アドレス、共通メモリアドレス、書き込みの場合は書き込みデータなどの情報が含まれている。
【0008】
メモリ制御部16は、常に信号用リングバス14を監視しており、アクセス信号が来たら受信する。そして、受信したアクセス信号が書き込みを意味していたら、共通メモリアドレスと書き込みデータを抽出し、共通メモリ17の共通メモリアドレスへ書き込みデータを書き込む。一方、受信したアクセス信号が読み出しを意味していたら、送信元アドレスと共通メモリアドレスを抽出し、共通メモリ17の共通メモリアドレスから読み出しを行う。
【0009】
読み出し処理の場合、読み出し結果は、一般に時間的に遅れて、共通メモリ17から出力される。メモリ制御部16は、読み出し結果からアクセス信号を生成し、プロセッサ111に対応する送信元アドレスに対して予め定められたアクセスタイミング値が0であることから、タイミング用リングバス15のタイミング値が0のときに、信号用リングバス14へアクセス信号を送信する。
【0010】
バス制御部121は、タイミング用リングバス15のタイミング値が0のときに、アクセス信号の受信を行う。そして、アクセス信号から読み出し結果を抽出し、プロセッサ111へ渡すことで、プロセッサ111は共通メモリからの読み出し処理を完了する。なおこの例では、アクセスタイミング値として、全て1つの値のみを仮定したが、複数の値を設定することも可能である。すなわち、例えば、タイミング値6と7が未割り当てになっているので、これをバス制御部121に割り当てれば、バス制御部121からの共通メモリアクセス効率、すなわち、プロセッサ111からの共通メモリアクセス効率を向上できる。
【0011】
図2は、本発明のプロセッサシステムにおけるプロセッサ及びバス制御部の構成例を示すブロック図である。図2において、21はプロセッサ、22はバス制御部、211はプロセッサ・コア、212はデュアルポートメモリ(以下、DPメモリと略す)、213は応答レジスタ、214は要求レジスタ、215は応答フラグ、216は要求フラグ、221は要求キュー、222はタイミングメモリ、223は送信制御部、224は受信制御部である。先の説明と同様に、一例として図1のプロセッサ111とバス制御部121について説明する。
【0012】
プロセッサ111(図2では、プロセッサ21に対応する)から、共通メモリ17に対し書き込みまたは読み出しをしたい場合、プロセッサ・コア211は、要求フラグ216の状態を調べる。要求フラグ216は、セットとリセットの2状態を有する1ビットのフラグであり、共通メモリアクセス要求があるときにはセット、ないときにはリセットとなる。プロセッサ・コア211は、要求フラグ216がリセットであれば、要求レジスタ214に、書き込みと読み出しの区別、共通メモリアドレス、書き込みの場合は書き込みデータが格納されているDPメモリ・アドレスを格納し、その後、要求フラグ216をセットする。もし、要求フラグ216がセットになっていれば、先行する共通メモリアクセス要求が未だ処理されていないため、プロセッサ・コア211は処理を待たなければならない。
【0013】
バス制御部121(図2では、バス制御部22に対応する)は、要求フラグ216を監視し、これがセットになっているとき、要求レジスタ214の内容を読み出し、要求キュー221へ内容を格納し、要求フラグ216をリセットする。要求キュー221は、ランダム書き込みが可能な終了ビットを付加した変則的なFIFO構造のメモリであり、終了ビット以外は、先に格納された内容から順に読み出すことができる。
【0014】
タイミングメモリ222は、バス制御部121に対して予め定められた送信または受信を許すアクセスタイミング値を記憶している。バス制御部121に対するアクセスタイミング値は0と仮定する。
【0015】
送信制御部223は、要求キュー221から最も先に書き込まれた内容を読み出し、これに基づいて、アクセス信号を生成する。アクセス信号には、書き込みと読み出しの区別、プロセッサ111に対応する送信元アドレス、共通メモリアドレス、書き込みの場合はDPメモリのDPメモリアドレスから得られる書き込みデータなどの情報が含まれている。一方、送信制御部223は、タイミングメモリ222から、アクセスタイミング値0を知り、タイミング用リングバス15のタイミング値が0のときに、信号用リングバス14へアクセス信号を送信する。また、送信制御部223は、読み出し処理の場合は、要求キュー221の対応する終了ビットをセットする。もし、要求キュー221に読み出す内容がなければ、読み出す内容が格納されるのを待つことになる。
【0016】
メモリ制御部16は、常に信号用リングバス14を監視しており、アクセス信号が来たら受信する。そして、受信したアクセス信号が書き込みを意味していたら、共通メモリアドレスと書き込みデータを抽出し、共通メモリ17の共通メモリアドレスへ書き込みデータを書き込む。一方、受信したアクセス信号が読み出しを意味していたら、送信元アドレスと共通メモリアドレスを抽出し、共通メモリ17の共通メモリアドレスから読み出しを行う。
【0017】
読み出し処理の場合、読み出し結果は、一般に時間的に遅れて、共通メモリ17から出力される。メモリ制御部16は、読み出し結果からアクセス信号を生成し、プロセッサ111に対応する送信元アドレスに対して予め定められたアクセスタイミング値が0であることから、タイミング用リングバス15のタイミング値が0のときに、信号用リングバス14へアクセス信号を送信する。
【0018】
バス制御部121(図2では、バス制御部22に対応する)において、受信制御部224は、タイミング用リングバス15のタイミング値が0のときに、アクセス信号の受信を行う。そして、アクセス信号から読み出し結果とDPメモリアドレスを抽出し、DPメモリ212のDPメモリアドレスへ読み出し結果を書き込み、その後、要求キュー221の対応する終了ビットをセットする。DPメモリ212は、受信制御部224からの書き込みと送信制御部223への読み出しを同時に行うことはできないのが普通である。しかし、送信制御部223において書き込み処理のためにアクセス信号を生成する場合、送信に先行してDPメモリ212からの読み出しが行われるため、特に問題になることは少ないと考えられる。
【0019】
要求キュー221は、終了ビットを順に調べ、それがセットされていたら、応答フラグ215の状態を調べる。応答フラグ215は、セットとリセットの2状態を有する1ビットのフラグであり、共通メモリ読み出し結果があるときにはセット、ないときにはリセットとなる。要求キュー221は、応答フラグ215がリセットであれば、応答レジスタ213に、共通メモリアドレス、DPメモリ・アドレスを格納し、その後、応答フラグ215をセットする。もし、応答フラグ215がセットになっていれば、先行する共通メモリ読み出し結果が未だ処理されていないため、要求キュー221は処理を待たなければならない。
【0020】
プロセッサ112(図2では、プロセッサ21に対応する)において、プロセッサ・コア211は、応答フラグ215の状態を調べ、これがセットされていれば、応答レジスタ213の内容を読み出し、DPメモリ212のDPメモリ・アドレスから共通メモリの読み出し結果を読む。その後、プロセッサ・コア211は、応答フラグ215をリセットしてから、必要な処理を行うことができる。
【0021】
先に、図2におけるプロセッサ21では、送信及び受信したデータを格納するために、DPメモリ212を用いているため、受信制御部224からの書き込みと送信制御部223への読み出しを同時にできないが、通常は問題にならないと記述した。しかし、特定のプロセッサに連続する複数のアクセスタイミング値を割り当てるような場合には、送信制御部223における後方のアクセスタイミング値でのアクセス信号の送信のためのDPメモリ212からの読み出しが、受信制御部224における前方のアクセスタイミング値での受信によるDPメモリ212への書き込みと一致することが起こり得る。このような場合、送信専用と受信専用のDPメモリを設ける、あるいは、DPメモリではなく同時に送受信可能な専用回路を設けるなどの工夫を行い、DPメモリ212において書き込みと読み出しを同時に行うことができるようにして、解決することも可能である。
【0022】
図3は、本発明のプロセッサシステムの第二の実施形態を示すブロック図である。図3は、図1と同様に、5個のプロセッサで1つの共通メモリをアクセスする場合を示している。図3において、31は乗換え回路であり、図1と同じ構成要素には同じ符号が付されている。
【0023】
乗換え回路31は、信号用リングバス14を伝送されてくるアクセス信号に対して、優先順位を付けてから、メモリ制御部16との仲介をする回路である。各プロセッサに対応する各バス制御部からのアクセス信号は、固有のタイミング値において乗換え回路に到着するため、優先順位処理は、タイミング用リングバス15のタイミング値のみを用いて行うことができる。このような構成とすることで、優先的に共通メモリをアクセスする必要があるプロセッサからの共通メモリアクセスを確実に行うことが可能になる。
【0024】
図4は、本発明の乗換え回路の構成例を示すブロック図である。図4において、41は上り受信部、42は上り優先キュー、43は上り一般キュー、44は上り送信部、45は下り受信部、46は下りキュー、47は下り送信部である。上り優先キュー42、上り一般キュー43、及び下りキュー46は、それぞれFIFO構造のメモリで構成される。
【0025】
上り受信部41は、信号用リングバス14からのアクセス信号を受信し、タイミング用リングバス15のタイミング値に応じて、上り優先キュー42または上り一般キュー43を選択し、アクセス信号を格納する。上り送信部44は、まず、上り優先キュー42から読み出しを行い、上り優先キュー42が空のときのみ上り一般キュー43から読み出しを行い、読み出したアクセス信号をメモリ制御部へ渡す。もし、上り優先キュー42と上り一般キュー43共に空ならば、上り送信部44は、処理を待つことになる。
【0026】
下り受信部45は、メモリ制御部からの共通メモリ読み出し結果を含むアクセス信号を受信し、下りキュー46へ格納する。下り送信部47は、下りキュー46からアクセス信号を読み出し、アクセス信号内の送信元アドレスに対するアクセスタイミング値を調べて、タイミング用リングバス15のタイミング値がアクセスタイミング値に一致するときに、信号用リングバスへアクセス信号を送信する。
【0027】
図5は、本発明のプロセッサシステムの第三の実施形態を示すブロック図である。図5は、一例として、全部で7個のプロセッサで1つの共通メモリをアクセスする場合を示している。図5において、511、512はプロセッサ、521、522はバス制御部、53は第一の信号用リングバス、54は第一のタイミング用リングバス、55は第二の信号用リングバス、56は第二のタイミング用リングバスであり、図1及び3と同じ構成要素には同じ符号が付されている。
【0028】
図5では、それぞれ2つの信号用リングバス53、55とタイミング用リングバス54、56を設け、これらの間を乗換え回路31で結んでいる。また、5つのプロセッサ111、112、113、114、及び115と対応するバス制御部121、122、123、124、及び125は第一の信号用リングバス53と第一のタイミング用リングバス54に接続され、他の2つのプロセッサ511及び512と対応するバス制御部521及び522、そして、メモリ制御部16とそれに繋がる共通メモリ17は第二の信号用リングバス55と第二のタイミング用リングバス56に接続されている。このような構成にすることで、第二の信号用リングバス55に接続された2つのプロセッサからの共通メモリアクセスを最優先で行うようにし、更に、第一の信号用リングバス53に接続された5つのプロセッサの間でも優先順位付けを行うことで、きめ細かい共通メモリアクセスの優先順位処理を行うことが可能になる。
【0029】
以上、共通メモリにアクセスするプロセッサシステムについて説明したが、本発明は、上述したような実施形態に限定されるものではなく、他にも、本発明の主旨を逸脱しない範囲で、様々な変形実施可能であることは勿論である。
【発明の効果】
以上詳細に説明したように、本発明によれば、各プロセッサからの共通メモリアクセスを予め定めたタイミング用リングバスのタイミング値を条件に制御できるため、予め設定した速度で共通メモリをアクセスすることができ、共通メモリのアクセスに必要な時間を予め定めた最大時間よりも必ず小さくすることができる共通メモリを備えたプロセッサシステムを提供することができる。
【図面の簡単な説明】
【図1】 本発明の共通メモリを備えたプロセッサシステムの第一の実施形態を示すブロック図である。
【図2】 本発明の共通メモリを備えたプロセッサシステムにおけるプロセッサ及びバス制御部の構成例を示すブロック図である。
【図3】 本発明の共通メモリを備えたプロセッサシステムの第二の実施形態を示すブロック図である。
【図4】 本発明の乗換え回路の構成例を示すブロック図である。
【図5】 本発明の共通メモリを備えたプロセッサシステムの第三の実施形態を示すブロック図である。
【符号の説明】
111、112、113、114,115:プロセッサ、121、122、123、124、125:バス制御部、13:タイミング生成部、14:信号用リングバス、15:タイミング用リングバス、16:メモリ制御部、17:共通メモリ、21:プロセッサ、22:バス制御部、211:プロセッサ・コア、212:デュアルポートメモリ、213:応答レジスタ、214:要求レジスタ、215:応答フラグ、216:要求フラグ、221:要求キュー、222:タイミングメモリ、223:送信制御部、224:受信制御部、31:乗換え回路、41:上り受信部、42:上り優先キュー、43:上り一般キュー、44:上り送信部、45:下り受信部、46:下りキュー、47:下り送信部、511、512:プロセッサ、521、522:バス制御部、53:第一の信号用リングバス、54:第一のタイミング用リングバス、55:第二の信号用リングバス、56:第二のタイミング用リングバス。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a processor system configured to access one common memory from a plurality of processors, and in particular, a common that can make sure that the time required for accessing the common memory is smaller than a predetermined maximum time. The present invention relates to a processor system having a memory.
[0002]
[Prior art]
As a processor system having a common memory for accessing a common memory by a plurality of processors, a system using a ring bus as described in, for example, Japanese Patent Laid-Open No. 11-13412 has been proposed. In this method, the processor that wants to access the common memory first sends a request signal as a broadcast signal so that it does not interfere with access from other processors and is not disturbed by access from other processors. After confirming the above, it is possible to actually access the common memory.
[0003]
[Problems to be solved by the invention]
However, in the processor system having the conventional common memory described above, when the ring bus is used for access from another processor when it is desired to access the common memory, a waiting time is required until the ring bus becomes free. . Especially in situations where many processors request access at the same time, this waiting time becomes large and the time required to access the common memory cannot be accurately estimated, and in some cases, the access must be given up. There was a problem that the situation was possible.
The present invention has been made in consideration of the above points, and an object of the present invention is to provide a processor system having a common memory that can make the time required for accessing the common memory smaller than a predetermined maximum time. To do.
[0004]
[Means for Solving the Problems]
To achieve the above object, the present invention provides a common memory for reading and writing from a plurality of processors, a signal ring bus for transmitting an access signal between the common memory and the processor, and a timing ring bus for transmitting a timing signal. A timing generator that transmits the timing signal having a finite timing value to the timing ring bus, a plurality of processors including a bus controller, and a signal between the signal ring bus and the common memory. A memory control unit that mediates between the processor, the processor core, a dual-port memory that can be read and written independently from the processor core side and the bus control unit side, a distinction between writing and reading, a common memory address And common memory access instructions consisting of dual-port memory addresses A request register for storing; a response register for storing a common memory read instruction including a common memory address and a dual port memory address; a request flag that is set and reset in accordance with writing to and reading from the request register; A FIFO structure having a response flag that is set and reset in accordance with writing to and reading from the response register, and wherein the bus control unit stores the content of the common memory access instruction to which an end bit capable of random writing is added If the request flag is set, the contents of the common memory access instruction stored in the request register are stored and then the request flag is reset. If the response flag is reset A request queue for setting the response flag after generating the common memory read instruction content and storing it in the response register, a timing memory for storing a predetermined access timing value capable of transmitting or receiving an access signal, and the request While reading the common memory access instruction content stored in the queue and generating an access signal based on this, the access timing value is obtained from the timing memory, and the timing value of the timing ring bus is the same as the access timing value. When matched, a transmission control unit that transmits the access signal to the signal ring bus, and an access timing value from the timing memory, and when the timing value of the timing ring bus matches the access timing value, Access from the signal ring bus A reception control unit that receives the access signal, extracts a memory read result, stores it in a corresponding address of the dual port memory, and sets a corresponding end bit of the request queue, and the memory control unit The access signal input from the signal ring bus is passed to the common memory, and when the access signal means reading , the memory read result from the common memory is output to the signal ring bus as an access signal to the corresponding processor. and, if the access signal wherein the input means writing, which is constituted as and writes the data into the common memory.
[0005]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing a first embodiment of a processor system having a common memory according to the present invention. FIG. 1 shows a case in which one common memory is accessed by five processors. In FIG. 1, 111, 112, 113, 114, 115 are processors, 121, 122, 123, 124, 125 are bus control units, 13 is a timing generation unit, 14 is a signal ring bus, 15 is a timing ring bus,
[0006]
The timing generator 13 generates a timing signal including a cyclic timing value and transmits the timing signal to the
[0007]
As an example, the access operation to the
[0008]
The
[0009]
In the case of the read process, the read result is output from the
[0010]
The
[0011]
FIG. 2 is a block diagram showing a configuration example of the processor and the bus control unit in the processor system of the present invention. In FIG. 2, 21 is a processor, 22 is a bus control unit, 211 is a processor core, 212 is a dual port memory (hereinafter abbreviated as DP memory), 213 is a response register, 214 is a request register, 215 is a response flag, 216 Is a request flag, 221 is a request queue, 222 is a timing memory, 223 is a transmission control unit, and 224 is a reception control unit. Similar to the above description, the
[0012]
When the processor 111 (corresponding to the
[0013]
The bus control unit 121 (corresponding to the
[0014]
The
[0015]
The
[0016]
The
[0017]
In the case of the read process, the read result is output from the
[0018]
In the bus control unit 121 (corresponding to the
[0019]
The
[0020]
In the processor 112 (corresponding to the
[0021]
First, since the
[0022]
FIG. 3 is a block diagram showing a second embodiment of the processor system of the present invention. FIG. 3 shows a case where one common memory is accessed by five processors, as in FIG. In FIG. 3, 31 is a transfer circuit, and the same components as those in FIG.
[0023]
The
[0024]
FIG. 4 is a block diagram showing a configuration example of the transfer circuit of the present invention. In FIG. 4,
[0025]
The
[0026]
The
[0027]
FIG. 5 is a block diagram showing a third embodiment of the processor system of the present invention. FIG. 5 shows an example in which one common memory is accessed by a total of seven processors. In FIG. 5, 511 and 512 are processors, 521 and 522 are bus control units, 53 is a first signal ring bus, 54 is a first timing ring bus, 55 is a second signal ring bus, and 56 is This is a second timing ring bus, and the same components as those in FIGS. 1 and 3 are denoted by the same reference numerals.
[0028]
In FIG. 5, two
[0029]
Although the processor system for accessing the common memory has been described above, the present invention is not limited to the above-described embodiment, and various modifications may be made without departing from the spirit of the present invention. Of course, it is possible.
【The invention's effect】
As described above in detail, according to the present invention, since the common memory access from each processor can be controlled on the condition of the timing value of the predetermined timing ring bus, the common memory is accessed at a preset speed. Therefore, it is possible to provide a processor system including a common memory that can always make the time required for accessing the common memory smaller than a predetermined maximum time.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of a processor system having a common memory according to the present invention.
FIG. 2 is a block diagram illustrating a configuration example of a processor and a bus control unit in a processor system including a common memory according to the present invention.
FIG. 3 is a block diagram showing a second embodiment of a processor system having a common memory according to the present invention.
FIG. 4 is a block diagram illustrating a configuration example of a transfer circuit according to the present invention.
FIG. 5 is a block diagram showing a third embodiment of a processor system having a common memory according to the present invention.
[Explanation of symbols]
111, 112, 113, 114, 115: processor, 121, 122, 123, 124, 125: bus control unit, 13: timing generation unit, 14: signal ring bus, 15: timing ring bus, 16: memory control Unit: 17: common memory, 21: processor, 22: bus control unit, 211: processor core, 212: dual port memory, 213: response register, 214: request register, 215: response flag, 216: request flag, 221 : Request queue, 222: timing memory, 223: transmission control unit, 224: reception control unit, 31: transfer circuit, 41: uplink reception unit, 42: uplink priority queue, 43: uplink general queue, 44: uplink transmission unit, 45: Downlink reception unit, 46: Downstream queue, 47: Downstream transmission unit, 511, 512: Processor, 52 , 522: bus control unit, 53: first signal ring bus, 54: first timing ring bus, 55: second signal ring bus, 56: second timing ring bus.
Claims (3)
前記プロセッサは、プロセッサ・コアと該プロセッサ・コア側と前記バス制御部側から独立に読み書きできるデュアルポートメモリと、書き込みと読み出しの区別、共通メモリアドレス及びデュアルポートメモリ・アドレスから成る共通メモリアクセス指示内容を格納する要求レジスタと、共通メモリアドレス及びデュアルポートメモリ・アドレスから成る共通メモリ読み出し指示内容を格納する応答レジスタと、前記要求レジスタへの書き込みと読み出しに合わせてセットとリセットが行われる要求フラグと、前記応答レジスタへの書き込みと読み出しに合わせてセットとリセットが行われる応答フラグを有し、
前記バス制御部は、
ランダム書き込みが可能な終了ビットを付加した前記共通メモリアクセス指示内容を格納するFIFO構造のメモリで構成され、前記要求フラグがセットならば前記要求レジスタに格納されている共通メモリアクセス指示内容を格納してから該要求フラグをリセットする一方で、前記終了ビットを順に調べてセットになっているとき、前記応答フラグがリセットならば前記共通メモリ読み出し指示内容を生成して前記応答レジスタに格納してから該応答フラグをセットする要求キューと、
アクセス信号を送信または受信できる予め定めたアクセスタイミング値を記憶するタイミングメモリと、
前記要求キューに格納されている共通メモリアクセス指示内容を読み出し、これに基づいてアクセス信号を生成する一方で、前記タイミングメモリからアクセスタイミング値を知り、前記タイミング用リングバスのタイミング値が該アクセスタイミング値と一致したとき、前記信号用リングバスへ前記アクセス信号を送信する送信制御部と、
前記タイミングメモリからアクセスタイミング値を知り、前記タイミング用リングバスのタイミング値が該アクセスタイミング値と一致したとき、前記信号用リングバスからアクセス信号を受信し、メモリ読み出し結果を抽出してデュアルポートメモリの対応するアドレスに格納し、前記要求キューの対応する終了ビットをセットする受信制御部とを有し、
前記メモリ制御部は、前記信号用リングバスから入力したアクセス信号を前記共通メモリに渡し、該アクセス信号が読み出しを意味する場合、該共通メモリからのメモリ読み出し結果を対応するプロセッサへのアクセス信号として前記信号用リングバスへ出力し、前記入力したアクセス信号が書き込みを意味する場合、前記共通メモリへデータを書き込むことを特徴とする共通メモリを備えたプロセッサシステム。A common memory for reading and writing from a plurality of processors, a signal ring bus for transmitting an access signal between the common memory and the processor, a timing ring bus for transmitting a timing signal, and a timing ring bus A timing generation unit that transmits the timing signal including a timing value; a plurality of processors including a bus control unit; and a memory control unit that mediates a signal between the signal ring bus and the common memory. And
The processor includes a processor core, a dual port memory that can be read / written independently from the processor core side and the bus control unit side, a distinction between writing and reading, a common memory access instruction comprising a common memory address and a dual port memory address A request register for storing contents, a response register for storing common memory read instruction contents including a common memory address and a dual port memory address, and a request flag that is set and reset in accordance with writing to and reading from the request register And a response flag that is set and reset in accordance with writing to and reading from the response register,
The bus control unit
If the request flag is set, the common memory access instruction content stored in the request register is stored if the request flag is set. The request flag is reset and then the end bits are sequentially checked and set, and if the response flag is reset, the common memory read instruction content is generated and stored in the response register. A request queue that sets the response flag;
A timing memory for storing a predetermined access timing value capable of transmitting or receiving an access signal;
The contents of the common memory access instruction stored in the request queue are read and an access signal is generated based on the read instruction, while the access timing value is known from the timing memory, and the timing value of the timing ring bus is the access timing. A transmission control unit that transmits the access signal to the signal ring bus when the value matches,
Knowing the access timing value from the timing memory, when the timing ring bus timing value coincides with the access timing value, the access signal is received from the signal ring bus and the memory read result is extracted to obtain the dual port memory And a reception control unit that sets a corresponding end bit of the request queue.
The memory control unit passes the access signal input from the signal ring bus to the common memory, and when the access signal means reading, the memory reading result from the common memory is used as an access signal to the corresponding processor. A processor system comprising a common memory, wherein the processor system outputs data to the signal ring bus, and writes data to the common memory when the input access signal signifies writing.
前記バス制御部はそれぞれ、前記タイミング用リングバスのタイミング信号が予め定められた値になったときに前記信号用リングバスに対し前記アクセス信号を入力または出力し、
前記乗換え回路は、前記第一の信号用リングバスに接続される各プロセッサからの前記アクセス信号に対して優先順位を付けて仲介処理をし、
前記メモリ制御部は、前記信号用リングバスから入力したアクセス信号を前記共通メモリに渡し、該アクセス信号が読み出しを意味する場合、該共通メモリからのメモリ読み出し結果を対応するプロセッサへのアクセス信号として前記信号用リングバスへ出力し、前記入力したアクセス信号が書き込みを意味する場合、前記共通メモリへデータを書き込むことを特徴とする共通メモリを備えたプロセッサシステム。A common memory you read and write from a plurality of processors, concluding part of the plurality of processors, and a ring bus for the first signal to be transmitted access signals between said common memory, said plurality of processors A second signal ring bus for transmitting an access signal to and from the common memory, and a first signal for transmitting a timing signal in parallel with the first signal ring bus. A timing ring bus, a second timing ring bus for transmitting timing signals in parallel with the second signal ring bus, and a timing signal having a finite timing value are transmitted to the first timing ring bus. A timing generator, a bus controller provided in each of the plurality of processors, the first signal ring bus, and the second signal. A transfer circuit that mediates the access signal to and from the first timing ring bus and the timing signal between the first timing ring bus and the second timing ring bus; and the second signal A memory controller that mediates signals between the ring bus for use and the common memory,
Each of the bus control units inputs or outputs the access signal to the signal ring bus when a timing signal of the timing ring bus reaches a predetermined value,
The transfer circuit performs a mediation process by assigning priorities to the access signals from the processors connected to the first signal ring bus,
The memory control unit passes the access signal input from the signal ring bus to the common memory, and when the access signal means reading, the memory reading result from the common memory is used as an access signal to the corresponding processor. A processor system comprising a common memory, wherein the processor system outputs data to the signal ring bus, and writes data to the common memory when the input access signal signifies writing.
前記上り受信部は、前記アクセス信号が到来したときの前記タイミング用リングバスのタイミング値に応じて、最初に前記上り優先キューから読み出しを行い、該上り優先キューが空のときに前記上り一般キューから読み出しを行い、前記アクセス信号を前記信号用リングバスへ渡すことを特徴とする請求項2に記載の共通メモリを備えたプロセッサシステム。The transfer circuit includes an upstream receiving unit that receives the access signal from the signal ring bus, an upstream priority queue and an upstream general queue that temporarily store an access signal from the upstream receiving unit, and the upstream priority queue. And an upstream transmission unit that reads an access signal from the upstream general queue and passes the access signal to memory control, a downstream reception unit that receives the access signal from the memory control unit, and temporarily receives the access signal from the downstream reception unit A downlink queue that accumulates, and a downlink receiver that reads an access signal from the downlink queue and transmits the read signal to the signal ring bus,
The uplink receiver first reads from the uplink priority queue according to the timing value of the timing ring bus when the access signal arrives, and the uplink general queue when the uplink priority queue is empty 3. The processor system having a common memory according to claim 2, wherein the access signal is transferred to the signal ring bus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002250149A JP4125933B2 (en) | 2002-08-29 | 2002-08-29 | Processor system with common memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002250149A JP4125933B2 (en) | 2002-08-29 | 2002-08-29 | Processor system with common memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004086797A JP2004086797A (en) | 2004-03-18 |
| JP4125933B2 true JP4125933B2 (en) | 2008-07-30 |
Family
ID=32057049
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002250149A Expired - Fee Related JP4125933B2 (en) | 2002-08-29 | 2002-08-29 | Processor system with common memory |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4125933B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4760301B2 (en) * | 2005-10-27 | 2011-08-31 | セイコーエプソン株式会社 | Multiprocessor system |
| JP5365693B2 (en) * | 2009-07-17 | 2013-12-11 | 日本電気株式会社 | Semiconductor device and data transfer method in semiconductor device |
-
2002
- 2002-08-29 JP JP2002250149A patent/JP4125933B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004086797A (en) | 2004-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3340738B2 (en) | Method and apparatus for a parallel packet bus | |
| US6584522B1 (en) | Communication between processors | |
| JP4124491B2 (en) | Packet routing switch that controls access to shared memory at different data rates | |
| US6925512B2 (en) | Communication between two embedded processors | |
| JP5231400B2 (en) | Multiprocessor gateway | |
| EP0991999A1 (en) | Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates | |
| JPH01147647A (en) | Data processor | |
| WO1999022307A1 (en) | Data interface and high-speed communication system using the same | |
| US7447872B2 (en) | Inter-chip processor control plane communication | |
| CN118502323A (en) | Industrial Ethernet data transmission method and FPGA | |
| KR102303424B1 (en) | Direct memory access control device for at least one processing unit having a random access memory | |
| US20040230717A1 (en) | Processing device | |
| JP4104939B2 (en) | Multiprocessor system | |
| JP2591502B2 (en) | Information processing system and its bus arbitration system | |
| US11789884B2 (en) | Bus system and method for operating a bus system | |
| JP4125933B2 (en) | Processor system with common memory | |
| US20040054843A1 (en) | Configuration and method having a first device and a second device connected to the first device through a cross bar | |
| WO2001050216A2 (en) | Communication bus for a multi-processor system | |
| US7177997B2 (en) | Communication bus system | |
| US9268725B2 (en) | Data transferring apparatus and data transferring method | |
| JPS6298444A (en) | Data communication method | |
| KR0138063B1 (en) | Inter processor communication apparatus of broad circuit distributing system | |
| JP2573790B2 (en) | Transfer control device | |
| JP2004054419A (en) | Inter-node transaction processor | |
| JP2885166B2 (en) | High-speed memory controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050607 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071217 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080220 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080328 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080422 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080509 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |