[go: up one dir, main page]

JP3454094B2 - 共有メモリ制御装置および共有メモリ制御方法 - Google Patents

共有メモリ制御装置および共有メモリ制御方法

Info

Publication number
JP3454094B2
JP3454094B2 JP19618597A JP19618597A JP3454094B2 JP 3454094 B2 JP3454094 B2 JP 3454094B2 JP 19618597 A JP19618597 A JP 19618597A JP 19618597 A JP19618597 A JP 19618597A JP 3454094 B2 JP3454094 B2 JP 3454094B2
Authority
JP
Japan
Prior art keywords
shared memory
bus
access bandwidth
cycle
time
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
Application number
JP19618597A
Other languages
English (en)
Other versions
JPH1139207A (ja
Inventor
雅隆 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP19618597A priority Critical patent/JP3454094B2/ja
Priority to US09/120,239 priority patent/US6457106B1/en
Publication of JPH1139207A publication Critical patent/JPH1139207A/ja
Application granted granted Critical
Publication of JP3454094B2 publication Critical patent/JP3454094B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、唯一の共有メモリ
に対してアクセスする複数のバスマスタを統合制御する
共有メモリ制御装置および共有メモリ制御方法に関す
る。
【0002】
【従来の技術】図8は従来の共有メモリシステムの概略
構成を示すブロック図である。この図において、30
1,302はそれぞれ共有メモリアクセスするバスマス
タBM1,BM2であり、これらと共有メモリ304と
はデータバス310で接続されている。303は共有メ
モリバス調停を行うアービタである。バスマスタBM
1、BM2は、共有メモリ304にアクセスする場合、
それぞれの共有メモリアクセス権リクエスト信号(アク
セス要求信号311,313)を使用し、アービタ30
3に共有メモリアクセス要求を伝える。
【0003】アービタ303は共有メモリバスアクセス
調停(アービトレーション)を行う。すなわち、共有メ
モリアクセス要求信号311,313によってバスマス
タBM1、BM2からアクセス要求が来ると、アービタ
303はどちらかのバスマスタにアクセス許可信号31
2,314を供給する。いま、例えば、バスマスタBM
1が共有メモリバスアクセス権を得たとすると、バスマ
スタBM1からのアドレスコマンド信号307は、バッ
ファ305を介して共有メモリ304の共有メモリバス
309を経てメモリアクセスする。同様に、バスマスタ
BM2が共有メモリバスアクセス権を得た時には、アド
レスコマンド信号308がバッファ306を介して共有
メモリ304の共有メモリバス309を経てメモリアク
セスする。
【0004】こうした共有メモリ制御におけるアービト
レーションの基本的な例は、ローティング(回転)アー
ビトレーションである。単純なローティングアービトレ
ーションには、アービタ303が一旦あるバスマスタ側
に共有メモリアクセス権を引渡した後は、その後に新た
に共有メモリアクセスを必要とする他のバスマスタが出
現しても、現在アクセス権を獲得しているバスマスタ側
がアクセス権を放棄するまで新たに共有メモリアクセス
を必要とする他のバスマスタ側を待機させねばならな
い、という問題がある。
【0005】この問題を回避するには、バスマスタ側に
与えた共有メモリアクセス権をアービタが強制的に奪取
する制御が必要となり、これ故、アービタと対応する機
能回路が複雑化する弊害が生じている。そこで、このよ
うな弊害を回避するものとして、例えば、共有メモリア
クセス1サイクル毎に、共有メモリにアクセスするバス
マスタを決めるアクセス制御方法を開示した特開平3−
137754号公報の技術が知られている。しかしなが
ら、この方法では共有メモリアクセスする複数のバスマ
スタに対し、それぞれのバスマスタが一定時間に必要と
するメモリアクセスバンド幅を保証する仕組が取り入れ
ていない。
【0006】一方、図9に図示する従来の共有メモリ制
御システムでは、共有メモリ405に対するアドレスコ
マンドデータ信号は共有メモリコントローラ404が一
括制御し、共有メモリを使用するバスマスタBM1(4
01)やBM2(402)は直接、共有メモリ405に
対してアドレスコマンド制御は行わない。つまり、図3
および図4に図示する従来の共有メモリ制御方法では、
バスマスタBM1,BM2がバス310またはバス41
2に対するバス占有権を獲得した場合の最大バス占有時
間を、バスマスタBM1,BM2について1回の占有時
案を個別に設定することにより、共有メモリアクセス時
間を制限し、バス310もしくはバス417の使用効率
を向上させている。
【0007】
【発明が解決しようとする課題】さて、上述した従来の
共有メモリ制御システムでは、唯一の共有メモリに対し
てリード・ライトアクセスするバスマスタが複数存在す
る場合、共有メモリにアクセスするバスマスタが変更さ
れると、それ迄共有メモリに対して出力されていたペー
ジアドレスが変る場合が多く、この様な場合にはページ
ミスとなる為、リード・ライト処理が一時中断されてし
まうという弊害が生じている。
【0008】つまり、換言すれば、従来の共有メモリ制
御システムにおいては、共有メモリアクセスする複数の
バスマスタに対し、それぞれのバスマスタが必要とする
単位時間当りのメモリアクセスバンド幅を維持するアー
ビトレーションが考慮されていない、という問題があ
る。
【0009】そこで本発明は、このような事情に鑑みて
なされたもので、バスマスタが必要とする単位時間当り
のメモリアクセスバンド幅を維持して効率良いメモリ制
御を実現する共有メモリ制御装置および共有メモリ制御
方法を提供することを目的としている。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、カレント共有メモリサイ
クルにおいて、随時、各バスマスタのそれぞれの単位時
間当たりのメモリアクセスバンド幅を計算し、カレント
共有メモリサイクルの終了前に、次のメモリサイクル制
御を決定して各バスマスタが最低限必要とするメモリア
クセスバンド幅を維持することを特徴とする。
【0011】また、請求項2に記載の発明では、共有メ
モリと、当該共有メモリに対してアクセスする複数のバ
スマスタを制御する共有メモリコントローラとから構成
される共有メモリ制御システムにおいて、前記共有複数
のバスマスタのそれぞれについて、前記共有メモリに対
する単位時間当りに必要なメモリアクセスバンド幅値φ
と、カレント共有メモリサイクル時点における共有メモ
リアクセスバンド幅値Ψとを算出する算出手段と、前記
メモリアクセスバンド幅値φと共有メモリアクセスバン
ド幅値Ψとを比較して前記カレント共有メモリサイクル
が終了する以前に、共有メモリアクセスバンド幅値Ψを
維持するよう予測処理する予測制御手段とを具備するこ
とを特徴としている。
【0012】さらに、請求項3に記載の発明では、唯一
の共有メモリを使用する複数のバスマスタを有する装置
であって、これら各バスマスタの夫々について、単位時
間当りに必要な第1の共有メモリアクセスバンド幅値
と、カレント共有メモリサイクル時点で随時算出される
各バスマスタ毎の第2の共有メモリアクセスバンド幅値
とを比較し、前記第1の共有メモリアクセスバンド幅値
が所定値を維持するよう予測処理することを特徴とす
る。
【0013】本発明では、カレント共有メモリサイクル
において、随時、各バスマスタのそれぞれのメモリアク
セスバンド幅を計算し判断することによって、カレント
共有メモリサイクルの終了前に、次のメモリサイクル制
御を決定するようにしたから、各バスマスタが最低限必
要とするメモリアクセスバンド幅が維持され、結果、共
有メモリを効率良く使用し得る。
【0014】
【発明の実施の形態】以下、本発明の実施の形態である
共有メモリ制御システムについて、図面を参照して説明
する。図1は、本発明による共有メモリ制御システムの
構成を示すブロック図である。この図において、共有メ
モリ104と共有メモリコントローラ103とは、共有
メモリデータバス115とその他の共有メモリバス11
4とにより1対1で接続され、共有メモリコントローラ
103が共有メモリ104を一括制御する。バスマスタ
BM1(100)、MB2(101)およびBM3(1
02)は、バス113を介して共有メモリコントローラ
103に接続され、当該コントローラ103を経て共有
メモリ104に対してメモリアクセスする。なお、この
図では、バスマスタ数が3組の場合を一例として説明す
るが、バスマスタ数はこれに限らず3組以上でも良い。
【0015】バスマスタBM1〜BM3は、それぞれバ
ス権要求信号107,109,112により共有メモリ
コントローラ103に対してバス113のバス権獲得要
求を発する。共有メモリコントローラ103は、各バス
マスタBM1〜BM3のいずれかに対してバス権アクノ
リッジ信号108,110,111を送出してバス権獲
得を知らせる。
【0016】共有メモリコントローラ103は、CAC
N121、CBFC122およびMMC123とから構
成される。MMC123は、共有メモリ104に対して
現在ドライブしているコマンド(アドレスを含む)やそ
のデータ幅等を記憶する一方、共有メモリ104に使用
しているデバイス毎のセンスアンプの開始アドレスおよ
び終了アドレスを全て記録するユニット709と、さら
に共有メモリ104への制御を行うユニット710とか
ら構成される。CBFC122は、共有メモリ104に
対するプリフェッチバッファユニット(PFBFU)7
12と、バスマスタBM1〜BM3から共有メモリ10
4へのライトデータを格納するライトバッファユニット
(WBFU)711とを備える。
【0017】中央分岐予測コントローラ(CACN)1
21は、構成要素704〜708とから形成される。S
BMT705は、各バスマスタBM1〜BM3のそれぞ
れについて単位時間(T)当りの最低限必要な共有メモ
リアクセスバンド幅値(以後、バスマスタBM1に対す
る共有メモリアクセスバンド幅値をSBMT1,バスマ
スタBM2に対する共有メモリアクセスバンド幅値をS
BMT2,バスマスタBM3に対する共有メモリアクセ
スバンド幅値をSBMT3と記す)を記録する。CBM
CU704は、SBMT705を参照してα時点(後述
する)におけるバスマスタBM1〜BM3の各メモリア
クセス達成値ならびにそれらの比率を記憶する。
【0018】ここで、図3を参照し、単位時間Tと時点
α、β、γとの関係について述べておく。時点α、β、
γは単位時間T期間中に含まれると仮定し、α時点を含
むT期間より1T時間だけ前のタイミングをT’期間と
する。図3において、T’期間の開始時刻を”0”と定
義し、T’期間の終了時刻を”t”と定義しており、こ
れによりT期間の開始時刻はtとなり、終了時刻は2t
となる。そして、時刻tと時点α、β、γとの関係は、
次式(1)にて表現されるものとする。 0<t<α<β<γ<2t …(1)
【0019】さて、再び図2に戻り、CACN121の
構成について説明を続ける。上述したCBMCU704
は、上記T期間においてもT’期間におけるデータを記
録保持しておく。α時点においては、T期間の最初から
α時点までの期間内のデータを記録し、T期間の最後ま
でデータ更新して行く。また、CBMCU704は、
T’期間およびT期間における各バスマスタBM1〜B
M3のそれぞれの最初のアクセス要求時点a,b,cを
記録すると共に、リクエスト回数(以下、RCと記す)
並びにバス113の占有率(以下、APと記す)とを記
録保持する。
【0020】さらに、CBMCU704は、T’期間お
よびT期間におけるSBMT1、SBMT2およびSB
MT3に対して実施された各バスマスタBM1〜BM3
についてのデータ転送達成比率(以後、このデータ転送
達成比率をメモリアクセスバンド幅達成比率と称し、各
バスマスタBM1〜BM3のメモリアクセスバンド幅達
成比率をそれぞれMAP1,MAP2,MAP3と記
す)を記録する。図3に図示した一例の場合、T’期間
ではMAPT1が60%、MAPT2が100%、MA
PT3が40%であり、T期間のα時点ではMAPT1
が30%、MAPT2が40%、MAPT3が40%で
となっている。
【0021】CBMCU704は、このようなメモリア
クセスバンド幅達成比率MAP1,MAP2,MAP3
の他、T’期間に各バスマスタBM1〜BM3がそれぞ
れ1サイクル中にバスマスタ権を獲得した時の、1サイ
クル中の平均転送量(以後、MVAと記す)をも記録保
持する。このMAVについてはT期間終了後、T’期間
のMAVと平均化する。また、T’期間における各バス
マスタBM1〜BM3の平均転送時間MAVTも併せて
記録するようになっており、この平均転送時間MAVT
についてもMAVと同様、T期間終了後、T’期間のM
AVTと平均化する。
【0022】PPU706は、各バスマスタBM1〜B
M3がアクセスする共有メモリ104へのアドレス等を
予測計算する。CJU708は上述したCBMCU70
4,SBMT705およびPPU706からの情報に基
づき、α時点での共有メモリコントローラ103の処理
命令を出す。ARC707は、上記CJU708の指示
に応じて各バスマスタBM1〜BM3に対するアービト
レーションを行う。
【0023】次に、図4を参照してα時点における共有
コントローラ103の処理について説明する。まず、S
BMT705およびCBMCU704の情報に基づき、
α時点以降の処理で、カレントメモリ終了後、各バスマ
スタBM1〜BM3の共有メモリアクセスバンド幅値が
満足する為に、β時点のリクエストを待たずに先行処理
が必要であるか否かをステップS901で判断する。こ
こで、後述の(2)式あるいは(3)式に示す条件に該
当するバスマスタが存在する時には、ステップS902
の優先処理へ移行し、そうでない場合にはステップS9
03へ進む。
【0024】(2)式に示す条件とは、T期間にある各
バスマスタBM1〜BM3のそれぞれのMAP間に差分
があり、MAP最小値に対応するバスマスタをBMZと
仮定し、当該バスマスタBMZのMAVをMAVZ、S
BMTをSBMTZとすると、α時点からT期間終了ま
での時間(以後、これをδ期間と称す)に対して、M AVZ×(δ÷(ΣMAVT))<SBMTZ …(2) が満たされることを言う。なお、この(2)式におい
て、ΣMAVT=MAVT1+MAVT2+MAVT3
である。
【0025】また、(3)式に示す条件とは、下記
(3)式の条件を満たすバスマスタをBMYとすると、
このBMYが2組以上になる場合である。すなわち、バ
スマスタのT’期間での共有メモリアクセス要求時刻を
yとし、該当するT’期間のMAPをMAPYT’、T
期間のα時点までのMAPをMAPYとした場合、 (α−y)÷T>(MAPYT’+MAPYT)…(3) YY=T×(MAPYt’+MAPYt)÷(α−y) …(4)
【0026】ステップS902では、まずα時点におい
てBMZからバスマスタBM3(103)に対してバス
113アクセス要求がされている場合、かつ、バス11
3がアイドルの場合をS902−1とする。S902−
1では、BMZからアクセス要求を受け付ける。BMZ
の要求が書込み要求であって、かつWBFU711に十
分な空きがある場合には、α時点でBMZから共有メモ
リ104に対するライトサイクルを受け付ける。また、
BMZの要求が読み出し要求であった時には、WBFU
711およびPFBF_U712に対してリクエストア
ドレスをスヌープし、ヒットした場合はα時点でBMZ
に対してリードサイクルを受け付ける。S902−1に
おいて、WBFU711およびPFBF_U712にて
バッファ対応が中断される場合には、一旦、BMZに対
するサイクルを中断し、β時点から中断された要求を再
開する。
【0027】一方、バス113がアイドル状態でない場
合をステップS902−2とする。このステップS90
2−2では、PPU706によりBZMの次の共有メモ
リサイクルが予測可能であるかどうかを判断する。予測
可能であって、BMZの次のリクエストサイクルがリー
ド(読み出し)の場合は、α時点のカレント共有メモリ
サイクル終了後、MMC123より共有メモリコントロ
ーラ103に対して先読み処理を実施し、PFBF_U
712に格納してBMZからの共有メモリアクセス要求
に対して先行準備する。
【0028】予測リクエストサイクルがライト(書込
み)である場合には、WBFU711に対して、BMZ
から共有メモリ104に対するライトサイクルを出来る
だけWBFU711に取込めるように準備する。具体的
には、WBFU711に格納されているデータで、共有
メモリ104と不一致のデータがある場合は、β時点以
降BMZからの要求がくるまでの間、WBFU711に
格納されている当該データを、共有メモリ104に書き
戻す処理を行う。
【0029】また、ステップS902において、PPU
706の予測が可能でない場合には、予測が可能で、か
つ予測サイクルがライトの場合と同様に、カレント共有
メモリサイクル終了後、β時点でのBMZから共有メモ
リ104へのアクセス要求があった場合に備えてWBF
U711に格納されているデータで、共有メモリ104
に格納されているデータと不一致のデータについてはβ
時点以降、BMZからの要求が来るまでの間、共有メモ
リ104に書き戻す処理を行う。
【0030】上記ステップS902の処理においては、
α時点でβ時点以降の処理を決定することでβ時点の状
況から次の共有メモリ104に対する制御を行うための
判断時間を削減することで共有メモリサイクルの効率化
を促進させ得る。
【0031】次に、ステップS903の処理に進む場合
について説明する。α時点において、T’期間およびT
期間の各MAPの和をSMAPとすると、 SMAP=MAPT’+MAPT …(5) となる。ステップS903では、ステップS904とス
テップS905を同時に処理する。ステップS905で
は、PPU706によって、各バスマスタBM1〜BM
3の次に共有メモリサイクルが予測可能であるか否かが
判断され、可能でない場合はステップS908のβ時点
判断処理に分岐する。
【0032】ステップS904では、α時点でSMAP
の最小値をとるバスマスタから、共有メモリ104にア
クセスするために共有メモリコントローラ103に対し
てバス113アクセス要求がなされているかどうかが判
断される。アクセス要求されている場合には、ステップ
S907の先行処理に移行する。一方、アクセス要求さ
れていない場合には、ステップS908のβ時点判断処
理へ進む。なお、ステップS908のβ時点判断処理
は、従来技術の範疇なので、ここでは言及せずに説明を
省略する。
【0033】さて、ステップS904からステップS9
07へ移行した場合には、最小値のSMAPをとるバス
マスタに対してPPU706より予測が可能である場合
は、カレントサイクル終了後、直ちにCACN121か
らMMC123,CBFC122に対して予測に基づく
処理が準備され、カレントサイクル終了後、当該バスマ
スタの共有メモリサイクルに移行する。
【0034】予測不可能な場合には、α時点のカレント
サイクル中、WBFU711,PFBF_U712の各
バッファに対して当該バスマスタのサイクルによって余
分なWBFU711,PFBF_U712のバッファ内
部のリプレースメントが生じないように準備する。例え
ば、カレント共有メモリサイクルがリード(読み出し)
である場合、PFBF_U712にカレントサイクルの
必要以上のデータを格納しない等である。
【0035】次に、ステップS904からステップS9
07への分岐要因はなく、ステップS905からステッ
プS907へ進む場合の処理について述べる。ステップ
S905からステップS907に移行した時、ステップ
S907ではステップS907−1とステップS907
−2とに場合分けされる。これについて図5を参照して
説明する。
【0036】図5において、ステップS1000は、ス
テップS905からステップS907に移行した場合で
あって、かつα時点で要求がない場合を指す。α時点で
バス権要求信号107,109,112のいずれかが発
生した時にステップS1001に移行する。ステップS
1000では、次のステップS1000−0,S100
0−1,S1000−2,S1000−3の順に条件が
満たされた場合、条件が満たされた先行処理を、ステッ
プS1001へ移行する条件、すなわち、各バスマスタ
BM1〜BM3のいずれかから要求が出されるまで行
う。
【0037】ステップS1000−0では、WBFU7
11に格納されたデータの中で、共有メモリ104より
新しいデータが格納されている場合、当該データのアド
レスをC_SEA+CMP709と比較し、一致してい
るデータが存在する時にはカレント共有メモリサイクル
終了後、直ちに当該データを共有メモリ104に書き戻
す処理を行う。一方、全く一致するデータが存在しない
時には、WBFU711に格納されているデータの内、
最も時間が長いデータから順番に共有メモリ104に書
き戻す処理を行う。
【0038】ステップS1000−1では、上記ステッ
プS1000−0によってWBFU711に格納された
データを共有メモリ104に書き戻す処理の最中に実行
される。PPU706の予測により、各バスマスタBM
1〜BM3のいずれかが、次の共有メモリサイクルがリ
ード(読み出し)であって、かつその予測アドレスが共
有メモリ104に書き戻すデータのアドレスと一致して
いる場合、当該データを共有メモリ104に書き戻す処
理と同時に、PFBF_U712に十分な空きがある場
合は上記PFBF_U712にも当該データをストアさ
せる処理を行う。
【0039】ステップS1000−2では、PPU70
6の予測により、あるバスマスタがリードで、かつ、各
バッファ711,712に予測アドレスがヒットせず
(予測したデータ量が各バッファ711,712に格納
されていない場合)、かつ、カレント共有メモリサイク
ルのアドレスのセンスアンプアドレスを変更することな
く、PPU706の予測に対応する先読みリードが可能
な場合であって、しかもPFBF_U712に十分な空
きがある場合に共有メモリコントローラ103が予測に
基づいて先読み処理を行う。
【0040】ステップS1000−3では、PPU70
6のあるバスマスタの予測がリードで、かつ、各バッフ
ァ711,712に予測アドレスがヒットしなく、C_
SEA+CMP709に格納されている共有メモリ10
4を構成するデバイスの中のいずれかのセンスアンプア
ドレスにPPU706の予測アドレスが一致する(セン
スアンプのアドレスに予測アドレスが該当する場合)で
あって、かつ、その予測アドレスを共有メモリバス11
5にドライブ制御する場合の、ペナルティによるウェイ
トが少ない場合で、かつ、バッファ712に共有メモリ
104から読み出してきたデータを格納するのに十分な
空きがある場合において、カレント共有メモリサイクル
終了後、共有メモリコントローラ103がPPU706
の予測に基づく先読み処理を行い、バッファ712に先
読みしたデータを格納する。
【0041】各バスマスタBM1〜BM3のいずれかか
ら要求が来た時点で上述のステップS1000−0,S
1000−1,S1000−2,S1000−3の先行
処理は、現在の処理を終了して要求に応じた処理、すな
わち、ステップS908のβ時点判断処理に移行する。
これにより、α時点での判断および先行処理によって、
共有メモリ104を使用する各バスマスタBM1〜BM
3のそれぞれの共有メモリアクセスバンド幅値を維持し
た共有メモリ制御が可能になっている。
【0042】次に、図6および図7を参照して変形例に
ついて説明する。図6に示す共有メモリシステムが図1
のものと相違する点は、図6に図示するバス213がス
プリットトランザクションに対応することにある。こう
したシステムにおける処理フローについて図7を参照し
て説明する。
【0043】ステップS901の分岐条件が「YES」
となった場合には、ステップS902の優先処理に移行
し、前述と同様の処理を行う。これに対し、ステップS
901の判断結果が「NO」となった場合には、ステッ
プS910に進み、バス113がアイドルが否かを判断
する。
【0044】アイドル状態にあると、ステップS911
に処理を進め、各バスマスタBM1〜BM3からのメモ
リアクセス要求を受け付ける。そして、アクセス要求が
あれば、ステップS912に進み、一方、アクセス要求
が無ければステップS913へ進む。ステップS912
に進んだ場合には、アクセス要求がライトリクエストで
あるか否かを判断する。ライトリクエストであれば、ス
テップS914の処理Bへ移行し、ライトリクエストで
無ければステップS913に進む。また、ステップS9
01において、前述の(2)式および(3)式で表現さ
れた条件に該当するバスマスタが存在せず、しかもバス
213がアイドル状態になければ、この場合もステップ
S913に進む。
【0045】ステップS903では、β時点で共有メモ
リリクエストしているバスマスタからのリクエストアド
レスを受けて処理する従来技術で対応するので、ここで
はその内容については割愛する。
【0046】次に、ステップS912に分岐する状態に
ついて詳述する。ステップS911の状態とは、現在、
バス213はアイドルであり、共有メモリバス114は
アイドル状態である。よって、ステップS902のα時
点において、バス114と独立に先行処理できること
は、共有メモリリクエストがライトである場合に、その
ライトデータを共有メモリコントローラ103のライト
バッファ711に格納することである。
【0047】したがって、ステップS902において、
バッファ711に十分な空きがあり、かつ共有メモリラ
イト要求してくるバスマスタがあると、そのバスマスタ
に対してスプリットトランザクション制御によって再度
データアクセスを許可し、α時点において共有メモリへ
のライトデータとそのアドレスとをバッファ711に格
納することが可能になる。このステップS914での先
行処理が終了した時点で、ステップS913に移行し、
共有メモリバス114がアイドルになったβ時点で、リ
クエストされたその他の共有メモリサイクルに対して共
有メモリコントローラ103が共有メモリ104と各バ
ッファ711,712等を制御する。
【0048】以上のように、本発明によれば、カレント
共有メモリサイクルにおいて、随時、各バスマスタのそ
れぞれのメモリアクセスバンド幅を計算し判断すること
によって、カレント共有メモリサイクルの終了前に、次
のメモリサイクル制御を決定するようにしたから、各バ
スマスタが最低限必要とするメモリアクセスバンド幅が
維持され、結果、共有メモリを効率良く使用し得るよう
になる訳である。
【0049】
【発明の効果】本発明によれば、カレント共有メモリサ
イクルにおいて、随時、各バスマスタのそれぞれのメモ
リアクセスバンド幅を計算し判断することによって、カ
レント共有メモリサイクルの終了前に、次のメモリサイ
クル制御を決定するようにしたので、各バスマスタが最
低限必要とするメモリアクセスバンド幅が維持され、結
果、共有メモリを効率良く使用することができる。
【図面の簡単な説明】
【図1】 本発明による共有メモリ制御システムの概略
構成を示すブロック図である。
【図2】 共有メモリコントローラ103の構成を示す
ブロック図である。
【図3】 時間軸を説明するための図である。
【図4】 α時点における処理動作を説明するためのフ
ローチャートである。
【図5】 先行処理の詳細を示すフローチャートであ
る。
【図6】 変形例を説明するためのブロック図である。
【図7】 変形例の動作を示すフローチャートである。
【図8】 従来例を説明するための図である。
【図9】 従来例を説明するための図である。
【符号の説明】
100〜102 バスマスタBM1〜BM3 103 共有メモリコントローラ 104 共有メモリ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 カレント共有メモリサイクルにおいて、
    随時、各バスマスタのそれぞれの単位時間当たりのメモ
    リアクセスバンド幅を計算し、カレント共有メモリサイ
    クルの終了前に、次のメモリサイクル制御を決定して各
    バスマスタが最低限必要とするメモリアクセスバンド幅
    を維持することを特徴とする共有メモリ制御方法。
  2. 【請求項2】 共有メモリと、当該共有メモリに対して
    アクセスする複数のバスマスタを制御する共有メモリコ
    ントローラとから構成される共有メモリ制御システムに
    おいて、 前記共有複数のバスマスタのそれぞれについて、前記共
    有メモリに対する単位時間当りに必要なメモリアクセス
    バンド幅値φと、カレント共有メモリサイクル時点にお
    ける共有メモリアクセスバンド幅値Ψとを算出する算出
    手段と、 前記メモリアクセスバンド幅値φと共有メモリアクセス
    バンド幅値Ψとを比較して前記カレント共有メモリサイ
    クルが終了する以前に、共有メモリアクセスバンド幅値
    Ψを維持するよう予測処理する予測制御手段とを具備す
    ることを特徴とする共有メモリ制御装置。
  3. 【請求項3】 唯一の共有メモリを使用する複数のバス
    マスタを有する装置であって、これら各バスマスタの夫
    々について、単位時間当りに必要な第1の共有メモリア
    クセスバンド幅値と、カレント共有メモリサイクル時点
    で随時算出される各バスマスタ毎の第2の共有メモリア
    クセスバンド幅値とを比較し、前記第1の共有メモリア
    クセスバンド幅値が所定値を維持するよう予測処理する
    ことを特徴とする共有メモリ制御装置。
JP19618597A 1997-07-22 1997-07-22 共有メモリ制御装置および共有メモリ制御方法 Expired - Fee Related JP3454094B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP19618597A JP3454094B2 (ja) 1997-07-22 1997-07-22 共有メモリ制御装置および共有メモリ制御方法
US09/120,239 US6457106B1 (en) 1997-07-22 1998-07-22 Shared memory control system and shared memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19618597A JP3454094B2 (ja) 1997-07-22 1997-07-22 共有メモリ制御装置および共有メモリ制御方法

Publications (2)

Publication Number Publication Date
JPH1139207A JPH1139207A (ja) 1999-02-12
JP3454094B2 true JP3454094B2 (ja) 2003-10-06

Family

ID=16353616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19618597A Expired - Fee Related JP3454094B2 (ja) 1997-07-22 1997-07-22 共有メモリ制御装置および共有メモリ制御方法

Country Status (2)

Country Link
US (1) US6457106B1 (ja)
JP (1) JP3454094B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690797B1 (en) * 1998-07-28 2004-02-10 Thomson Licensing S.A. Descrambling device for the use of several conditional access sub-systems
US6601126B1 (en) * 2000-01-20 2003-07-29 Palmchip Corporation Chip-core framework for systems-on-a-chip
JP2002164812A (ja) 2000-11-24 2002-06-07 Nec Corp スペクトラム拡散通信用パスサーチ回路
JP2004171209A (ja) * 2002-11-19 2004-06-17 Matsushita Electric Ind Co Ltd 共有メモリデータ転送装置
US7908416B2 (en) * 2004-06-01 2011-03-15 Ssd Company Limited Data processing unit and bus arbitration unit
US7458117B2 (en) * 2004-12-23 2008-12-02 Contour Fabricators, Inc. Protective cover and patient security apparatus
JP5074820B2 (ja) * 2007-05-22 2012-11-14 ルネサスエレクトロニクス株式会社 画像処理装置および画像処理方法
US8543750B1 (en) * 2008-10-15 2013-09-24 Octasic Inc. Method for sharing a resource and circuit making use of same
US8689218B1 (en) 2008-10-15 2014-04-01 Octasic Inc. Method for sharing a resource and circuit making use of same
CN103544123A (zh) * 2012-07-16 2014-01-29 深圳市中兴微电子技术有限公司 Sdram控制器及对sdram存储空间的访问方法
US10963323B2 (en) * 2018-10-25 2021-03-30 Sangyung University Industry-Academy Cooperation Foundation Method and apparatus for transformation of MPI programs for memory centric computers
CN110968349B (zh) * 2019-12-06 2023-07-28 海光信息技术股份有限公司 一种抵御投机执行侧信道攻击的处理器缓存技术方案

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62149099A (ja) 1985-12-23 1987-07-03 Toshiba Corp メモリアクセス制御回路
DE3800388A1 (de) 1988-01-09 1989-07-20 Bayer Ag Sio(pfeil abwaerts)2(pfeil abwaerts)-gebundenes zeolith x-granulat und dessen verwendung fuer die sauerstoffanreicherung
JPH01205362A (ja) 1988-02-12 1989-08-17 Sanyo Electric Co Ltd バス制御装置
JPH03137754A (ja) 1989-10-24 1991-06-12 Kyocera Corp 共有メモリのアクセス制御方式
JPH03216755A (ja) 1990-01-22 1991-09-24 Sanyo Electric Co Ltd 情報処理装置
JPH03257655A (ja) 1990-03-08 1991-11-18 Nec Corp 識別番号付与方式
JPH0589027A (ja) 1991-09-27 1993-04-09 Casio Comput Co Ltd 監視機能付ライトバツフア
JP3137754B2 (ja) 1992-08-20 2001-02-26 新日本製鐵株式会社 深絞り性の極めて優れた冷延鋼板の効率的な製造方法
JP3371978B2 (ja) 1993-03-04 2003-01-27 横河電機株式会社 情報処理装置
JP3257655B2 (ja) 1993-12-24 2002-02-18 キヤノン株式会社 光学的情報記録再生装置
JP3216755B2 (ja) 1994-05-10 2001-10-09 富士電機株式会社 下降溶解型オゾン反応槽
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US6385678B2 (en) * 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US5784582A (en) * 1996-10-28 1998-07-21 3Com Corporation Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
US6046982A (en) * 1997-03-18 2000-04-04 Cabletron Systems, Inc. Method and apparatus for reducing data loss in data transfer devices
US6119196A (en) * 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6006303A (en) * 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture

Also Published As

Publication number Publication date
US6457106B1 (en) 2002-09-24
JPH1139207A (ja) 1999-02-12

Similar Documents

Publication Publication Date Title
JP3454094B2 (ja) 共有メモリ制御装置および共有メモリ制御方法
KR100610730B1 (ko) 메모리 액세스 대기시간을 감소시키기 위한 메모리 액세스스케쥴링 방법 및 장치
US5283883A (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
US20060253649A1 (en) Software defined FIFO memory for storing a set of data from a stream of source data
US20080320176A1 (en) Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units
JP2011248389A (ja) キャッシュメモリ、キャッシュメモリシステム
JP2001014212A (ja) メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置
US6278467B1 (en) Display memory control apparatus
JPH076088A (ja) 情報記憶装置
JP4536189B2 (ja) Dma転送装置及びdma転送システム
US20080016296A1 (en) Data processing system
JP3573980B2 (ja) 情報処理装置及び情報処理システム
US7788448B2 (en) Sequencer cache and method for operating the same
JP5168800B2 (ja) マルチプロセッサシステム
JP4335327B2 (ja) 調停装置および方法
JP2002183074A (ja) データ転送制御装置
JP2008146516A (ja) 記録装置のデータ先読み処理方法
KR20010050234A (ko) 메모리(mem)와 결합한 데이터 처리용 디바이스
JP2000242544A (ja) メモリ制御装置及びダイレクトメモリアクセス制御装置
JP2008269348A (ja) メモリ制御装置およびメモリ制御方法
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
JP2001084216A (ja) データプリフェッチシステム、プリフェッチ方法、記録媒体
JP2004240520A (ja) ノンキャッシュ領域内高速メモリアクセス方法
JPS6331808B2 (ja)
JP4856373B2 (ja) メモリ・システムとその制御方法、データ・コヒーレンシを保つ方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070725

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100725

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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