JPH07105146A - 共有メモリ装置 - Google Patents

共有メモリ装置

Info

Publication number
JPH07105146A
JPH07105146A JP5246678A JP24667893A JPH07105146A JP H07105146 A JPH07105146 A JP H07105146A JP 5246678 A JP5246678 A JP 5246678A JP 24667893 A JP24667893 A JP 24667893A JP H07105146 A JPH07105146 A JP H07105146A
Authority
JP
Japan
Prior art keywords
access
cpua
signal
cpu
cpub
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
Application number
JP5246678A
Other languages
English (en)
Inventor
Noriyuki Takao
宣幸 高尾
Hidetoshi Takano
英俊 高野
Norihiro Yamaki
憲裕 山木
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.)
Sharp Corp
Toyota Motor Corp
Original Assignee
Sharp Corp
Toyota Motor 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 Sharp Corp, Toyota Motor Corp filed Critical Sharp Corp
Priority to JP5246678A priority Critical patent/JPH07105146A/ja
Priority to EP94306577A priority patent/EP0649096A3/en
Priority to AU74141/94A priority patent/AU672333B2/en
Priority to KR1019940024855A priority patent/KR0133236B1/ko
Publication of JPH07105146A publication Critical patent/JPH07105146A/ja
Priority to US08/717,149 priority patent/US5671393A/en
Pending 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

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

Abstract

(57)【要約】 【目的】 共有メモリアクセスに際して、ソフトウエア
排除、データ転送速度の向上、CPU負荷の相互影響防
止を実現する。 【構成】 CPUAとCPUBに処理を分散し共有メモ
リを用いて両者のデータ交換を行う際、CPUAのメモ
リアクセスタイミングを示すクロックCKGを生成し、
CKGと同期し共有メモリのアクセス権を示すゲート信
号Gを生成する。各CPUは、共有メモリのアクセスを
要求する際、対応するチップセレクト信号CSA又は
CSBをL値とする。アクセス権は常にはCPUAを
向いており、CPUBからのアクセス要求に応じてCP
UBに切り替わる。CPUBは1回のアクセス終了時に
CSBをH値とし、アクセス権はCPUAに切り替わ
る。CPUAは1回のアクセス終了時にCSAをH値
とする。その時点でCPUBからアクセスが要求されて
いればアクセス権はCPUBに切り替わり、要求されて
いなければCPUAのままとされる。各CPUの同期化
は、待機信号WAITAにより行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサ(C
PU)によって共有される共有メモリ装置に関し、特に
アクセス権の移行制御に関する。
【0002】
【従来の技術】図7には、メインCPU10と複数の機
能モジュール12の間をメインシステムバス14により
接続したシステム構成が示されている。機能モジュール
12は、メインシステムバス14を介してメインCPU
10から供給される情報に所定の処理を施し、あるいは
メインシステムバス14を介してメインCPU10に情
報を供給する。例えばある機能モジュール12が通信モ
ジュールである場合、この機能モジュール12は、送信
時には、メインシステムバス14を介してメインCPU
10から受け取ったデータについて処理を施し、処理の
結果得られるデータを外部機器に送信する。受信時に
は、外部機器からデータを受信して処理を施し、処理の
結果得られるデータをメインシステムバス14を介して
メインCPU10に渡す。
【0003】機能モジュール12における処理を高速化
させるためには、例えば、処理の分散という手法を使用
できる。図8に示されるように、機能モジュール12の
各種機能を単一のCPUに担わせるのではなく、複数の
CPUに分散する。この図では、機能モジュール12が
実行すべき処理のうちメインシステムバス14を介した
メインCPU10とのデータ送受処理がシステムバスイ
ンターフェイスCPU16により担われており、また、
通信等の機能処理が機能処理CPU18により担われて
いる。システムバスインターフェイスCPU16と機能
処理CPU18の間では、必要に応じてデータ伝送を行
う。このようにすると、CPU1個当たりの処理負担が
軽減されることとなるから高速処理が可能になる。
【0004】このような処理分散を好適に実現するため
には、CPU16と18の間のデータ転送速度を向上さ
せる必要がある。すなわち、各CPUは一般に非同期で
動作しており、その間でのデータ転送が容易でない。従
って、機能モジュール12内部での処理分散を推し進め
たとしても、CPU間データ転送速度が低ければ、機能
モジュール12の高速動作にはつながらない。この問題
を解決するためには、処理分散に係る複数のCPUによ
って共有されるメモリ、すなわち共有メモリを設けると
いう手段がある。
【0005】図9及び図10には、共有メモリの一般的
な構成が示されている。
【0006】まず図9に示されるのは、デュアルポート
RAM20を共有メモリとして用いた例である。デュア
ルポートRAM20はポート1及び2を有しており、C
PUAはポート1を使用して、CPUBはポート2を使
用して、デュアルポートRAM20をアクセスする。C
PUA及びBは、例えば図8のシステムバスインターフ
ェイスCPU16及び機能処理CPU18に相当する。
図中、22及び24はそれぞれCPUA及びBのシステ
ムバスである。
【0007】このような構成の共有メモリを使用するこ
とにより、通常、簡単にかつ高速で、すなわちCPUA
又はBによるリード/ライトのみで、CPU間データ転
送を実現できる。しかし、デュアルポートRAMは一般
に高価であり、また大容量のものが少ない。従って、図
7に示されるようなシステムにおいて各機能モジュール
12毎にこのような共有メモリを用いると、システムコ
ストの増大等の問題が生じてしまう。
【0008】図10に示される共有メモリは、デュアル
ポートRAMを用いることなくCPU間データ転送を実
行可能にした構成であり、擬似デュアルポートRAM2
6として構成されている。擬似デュアルポートRAM2
6は、汎用SRAM28及びバスアービタ・バス選択部
30から構成されている。CPUA又はBが汎用SRA
M28にアクセスする場合には、バスアービタ・バス選
択部30によってアクセス権の調停やバス接続の切り替
えが実行される。このような構成の共有メモリにおいて
は、安価でかつ大容量の汎用SRAM28の使用によっ
てコスト低減等の利点が得られる。また、バスアービタ
・バス選択部30は、セミカスタムLSI等を用いて集
積化できるため、装置構成も小型で済む。
【0009】擬似デュアルポートRAM26の例として
は、例えば、特開平4−195202号に記載されたも
のがある。この公報に記載されている例は、プログラマ
ブルコントローラ本体とその周辺機器の間のデータ転送
をシングルポートRAMを用いて行い、その際、ステー
タスレジスタ制御部によってバス切り替え制御を行う方
法である。共有メモリたるシングルポートRAMへのア
クセス権は、あるCPU(プログラマブルコントローラ
本体及びその周辺機器のうち1個)が一連のアクセス
(リード又はライト)を実行した後に、他のCPUに譲
られる。このような方法によれば、安価なシングルポー
トRAMを共有メモリとして使用しているため、高速か
つ安価なデータ転送を実現できる。
【0010】擬似デュアルポートRAM26は、また、
図11に示されるような構成によっても実現される。こ
の図においては、バスアービタ・バス選択部30が、バ
スアービタ32、データバス選択部34及びアドレスバ
ス選択部36から構成されている。
【0011】バスアービタ32は、CPUA及びBを選
択的に汎用SRAM28に接続するバス接続制御を実行
する。CPUA及びBは、そのため、バスアービタ32
との間で各種コントロール信号を授受する。バスアービ
タ32は、CPUA又はBからのアクセス要求に応じ、
また、そのアクセス終了に応じ、汎用SRAM28に接
続すべきCPUを選択する。バスアービタ32は、選択
結果に応じ、データバス選択部34にゲートコントロー
ル信号を、アドレスバス選択部36にアクセス権指示信
号を、それぞれ供給する。
【0012】データバス選択部34は、CPUAのデー
タバス38に接続された双方向バスバッファ40、CP
UBのデータバス42に接続された双方向バスバッファ
44、並びに双方向バスバッファ40及び44を汎用S
RAM28に接続するデータバス46から構成されてい
る。双方向バスバッファ40及び44は、バスアービタ
32から供給されるゲートコントロール信号に応じ、一
方が開いているときには他方が閉じるよう、開閉する。
従って、ゲートコントロール信号により、データバス4
6に接続するバスがデータバス38及び42のいずれか
に切り替えられる。このようにして、データバス選択接
続が行われる。
【0013】また、アドレスバス選択部36は、CPU
Aのアドレスバス48及びCPUBのアドレスバス50
を選択的に汎用SRAM28のアドレスバス52に接続
する。この選択接続は、アクセス権指示信号に応じて行
われる。なお、実際には、CPUA及びBからのリード
/ライト信号線も、アドレスバスと共に選択接続される
が、この図では図示の簡略化のため省略している。
【0014】図12には、バスアービタ32の構成が示
されている。この図に示されるバスアービタ32は、2
個のDフリップフロップ(以下、DFF)54及び5
6、RSフリップフロップ(以下、RSFF)58及び
3個のAND60、62及び64から構成されている。
【0015】CPUA及びCPUBは、汎用SRAM2
8へのアクセスを要求する際、アクセス要求信号を発す
る。CPUAからのアクセス要求信号(CPUAアクセ
ス要求信号)はDFF54に、CPUBからのアクセス
要求信号(CPUBアクセス要求信号)はDFF56
に、それぞれクロックとして入力される。DFF54の
D入力はDFF56のQN出力であり、DFF56のD
入力はDFF54のQN出力である。さらに、DFF5
4のQN出力は、AND62を介しDFF56にリセッ
ト信号として反転入力されているから、DFF54のQ
N出力がL値となるとDFF56がリセットされる。こ
のような接続の結果、DFF54及び56のQ出力から
得られる信号は、それぞれCPUAアクセス可信号又は
CPUBアクセス可信号として使用される。
【0016】CPUA及びCPUBは、アクセスの際、
逐次、CPUアクセス可信号を参照する。2種類のCP
Uアクセス可信号のうちCPUAが汎用SRAM28を
アクセスしていないことを示しているのは、CPUAア
クセス可信号であり、CPUBが汎用SRAM28をア
クセスしていないことを示しているのは、CPUBアク
セス可信号である。CPUAアクセス可信号がH(Hi
gh)値であることはCPUAに対し汎用SRAM28
へのアクセスが許可されていることを意味し、逆にL
(Low)値であることは禁止されていることを意味す
る。この論理は、CPUBアクセス可信号についても同
様である。
【0017】汎用SRAM28へのアクセスの際、デー
タバス選択部34及びアドレスバス選択部36にゲート
コントロール信号又はアクセス権指示信号として供給さ
れるバス選択信号は、RSFF58のQ出力である。R
SFF58は、DFF56のQN出力によりセットさ
れ、AND64を介して供給されるDFF54のQN出
力によりリセットされる。バス選択信号がL値の場合、
データバス選択部34及びアドレスバス選択部36は、
CPUAによる汎用SRAM28へのアクセスが可能と
なるよう動作し、逆にH値の場合、CPUBによるアク
セスが可能となるよう動作する。
【0018】CPUA及びCPUBは、汎用SRAM2
8へのアクセスが終了すると、アクセス終了信号を発す
る。CPUAからのアクセス終了信号(CPUAアクセ
ス終了信号)はDFF54に、CPUBからのアクセス
終了信号(CPUBアクセス終了信号)はDFF56
に、それぞれAND60又は62を介し、リセット信号
として反転入力される。また、AND60及び62には
更にシステムリセット信号が入力されている。従って、
システムリセット信号がL値となるとDFF54及び5
6はリセットされる。
【0019】次に、図11及び図12の構成の動作につ
いて、場合分けして説明する。
【0020】(1)CPUAがアクセスを要求する場合 この場合、まず、CPUAは、CPUBアクセス可信号
を参照する。このとき、CPUBアクセス可信号がH値
であるならば、CPUBが汎用SRAM28をアクセス
している、と認められる。この場合、CPUAは、CP
UBのアクセスが終了するまで(何もせずあるいは他の
処理を実行しながら)待機する。CPUBは、アクセス
が終了すると、CPUBアクセス終了信号をバスアービ
タ32に供給し、これによりCPUBアクセス可信号を
リセットする(L値にする)。
【0021】CPUBアクセス可信号がL値であるなら
ば、CPUBが汎用SRAM28をアクセスしていな
い、と認められる。この場合、CPUAは、バスアービ
タ32に対しCPUAアクセス要求信号を発する。バス
アービタ32から出力されるバス選択信号はこれに応じ
L値となり、CPUAアクセス可信号はH値となる。バ
ス選択信号がL値となると、データバス選択部34及び
アドレスバス選択部36は、データバス38及びアドレ
スバス48を、汎用SRAM28に接続する。これによ
り、CPUAは、汎用SRAM28をアクセス可能にな
る。CPUAは、CPUAアクセス可信号がH値となっ
たことを確認した上で、汎用SRAM28に対するアク
セス(リード/ライト)を行う。CPUAは、一連のア
クセス動作が終了した後、バスアービタ32に対し、ア
クセスが終了した旨を示すCPUAアクセス終了信号を
出力する。CPUAアクセス可信号は、これによりリセ
ットされる。
【0022】(2)CPUBがアクセスを要求する場合 この場合の動作は、CPUAとCPUBを入れ替えたの
みで、(1)と同様である。すなわち、まず、CPUB
がCPUAアクセス可信号を参照する。CPUAアクセ
ス可信号がH値である場合、CPUBはCPUAのアク
セスが終了するまで待つ。CPUAによるアクセスが終
了すると、CPUAアクセス終了信号がバスアービタ3
2に供給されCPUAアクセス可信号がリセットされ
る。
【0023】CPUAアクセス可信号がL値である場
合、CPUBはバスアービタ32に対しCPUBアクセ
ス要求信号を発し、これに応じてバス選択信号及びCP
UBアクセス可信号がH値となる。バス選択信号がH値
となると、データバス選択部34及びアドレスバス選択
部36は、データバス42及びアドレスバス50を汎用
SRAM28に接続する。CPUBは、CPUBアクセ
ス可信号がH値となったことを確認した上で、汎用SR
AM28に対するアクセスを行う。CPUBは、一連の
アクセス動作が終了した後、バスアービタ32に対しC
PUBアクセス終了信号を出力し、CPUBアクセス可
信号がこれに応じリセットされる。
【0024】(3)CPUA及びCPUBが同時にアク
セスを要求した場合 CPUAとCPUBそれぞれによるアクセス要求に僅か
でも時間差があれば、バスアービタ32は、先にアクセ
スを要求したCPUにアクセス権を与える。すなわち、
汎用SRAM28へのアクセスを行わせる。
【0025】もし、両者によるアクセスが全く同時であ
った場合、バスアービタ32は、いずれかのCPUにア
クセス権を与える。図12の回路では、DFF54のQ
N出力がL値に転ずることによりDFF56がリセット
されるから、同時にアクセスが要求された場合にはCP
UAにアクセス権が付与される。
【0026】このように、相手側CPUが汎用SRAM
28をアクセスしていないことを確認した上でアクセス
要求を発したとしても、自分に必ずアクセス権が付与さ
れるとは限らない。例えばCPUAは、汎用SRAM2
8をアクセスする場合に、CPUBが汎用SRAM28
をアクセスしていないことをCPUBアクセス可信号に
より確認した上で、CPUAアクセス要求信号を発する
が、僅かでも先にCPUBがアクセス要求信号を発して
いれば、CPUB側にバス切り替えが行われてしまう。
また、CPUBは、汎用SRAM28をアクセスする場
合に、CPUAが汎用SRAM28をアクセスしていな
いことをCPUAアクセス可信号により確認した上で、
CPUBアクセス要求信号を発するが、僅かでも先にあ
るいは同時にCPUAがアクセス要求信号を発していれ
ば、CPUA側にバス切り替えが行われてしまう。従っ
て、先に(1)及び(2)にて説明したように、各CP
Uは、自分宛てのアクセス可信号の値を参照した上で、
アクセスを行う必要がある。
【0027】この様に、従来においては、各CPUから
のアクセス要求に応じてバスアービタ32がアクセス権
を調停しながら、汎用SRAM28を用いたデータ授受
が行われていた。
【0028】
【発明が解決しようとする課題】しかしながら、従来の
擬似デュアルポートRAMを用いたCPU間データ転送
には、あるCPUが共有メモリ(汎用SRAM)をアク
セスする際、他のCPUによるアクセスが終了するのを
待つ必要があったため、次のような問題点が生じてい
た。
【0029】第1に、共有メモリへのアクセスの際、他
のCPUによるアクセスが終了しているのか、他のCP
Uがアクセスを要求していないか、といった状況判断が
必要になるため、ソフトウエア的な手続きが必要であっ
た。これは、そのためのソフトウエア開発を必要し、さ
らに共有メモリアクセスの際に当該ソフトウエアを実行
するための時間を必要とする。すなわち、ソフトウエア
開発のための工数を発生させ、また、データ転送時間・
効率の向上に支障となる。
【0030】第2に、あるCPUが共有メモリをアクセ
スしようとしたときに他のCPUが共有メモリをアクセ
スしていたとすると、その場合、当該他のCPUによる
アクセスが終了するまで、アクセスを行うことができな
い。従って、あるCPUが少量のデータ転送を行おうと
する場合であっても、アクセス権を得ていない場合に
は、他のCPUのアクセスが終了し自己にアクセス権が
付与されるまで、待たなければならない。これは、ある
CPUの負荷が他のCPUに影響を及ぼすことを意味
し、その結果、複数のCPUへの処理の分散の効果が低
減することとなる。また、当該他のCPUによるアクセ
スが終了したか否かを監視しなければならず、無駄時間
の発生、データ処理の実行速度の低下といった問題が生
じる。
【0031】第3に、あるCPUが他のメモリやI/O
上のデータを共有メモリに転送する場合や、逆に共有メ
モリ上のデータを他のメモリやI/Oに転送する場合に
は、共有メモリを共有している他のCPUの待ち時間は
さらに顕著なものとなる。例えば他のメモリやI/O上
のデータを共有メモリに転送する場合、この処理は、
「他のメモリやI/O上のデータのリード」及び「読み
出したデータの共有メモリへのライト」という動作の繰
り返しとなるから、共有メモリに直接関連しない動作
(他のメモリ等のデータのリード)によってデータ転送
処理時間の半分以上が占有される。このような問題は、
DMA(ダイレクトメモリアクセス)等の高速モードを
使用したとしても、発生する。
【0032】第4に、特に特開平4−195202号に
記載された構成においては、あるCPUによる共有メモ
リのアクセスが終了すると、他のCPUにアクセス権が
付与されるため、ある特定のCPUが連続して共有メモ
リをアクセスすることができない。
【0033】本発明は、このような問題点を解決するこ
とを課題としてなされたものであり、ソフトウエアの介
在なく通常のメモリアクセスと同様の処理のみで共有メ
モリをアクセス可能とし、転送時間の短縮、効率の向
上、共有メモリアクセス用ソフトウエア開発の不要化を
実現することを目的とする。また、本発明は、少量のデ
ータを共有メモリに書き込みあるいは読み出す際に、他
のCPUからのアクセス権の譲渡を待つ必要をなくし、
あるCPUの負荷が他のCPUに影響を及ぼしにくくか
つ無駄時間の発生やデータ処理の実行速度の低下が生じ
ないようにすることを目的とする。そして、本発明は、
他のメモリやI/Oと共有メモリとの間のデータ転送の
際に、CPUが当該他のメモリやI/Oをアクセスして
いる間に他のCPUにより共有メモリをアクセス可能と
し、待ち時間の発生を防止することを目的とする。
【0034】
【課題を解決するための手段】このような目的を達成す
るために、本発明の共有メモリ装置は、複数のプロセッ
サからの随時発せられるアクセス要求を調停する際、ア
クセス権を有するプロセッサによる共有メモリに対する
アクセス権を、アクセス1回終了毎に一旦放棄させ、ア
クセス権が一旦放棄された時点で他のプロセッサからア
クセス要求が発せられている場合に、当該他のプロセッ
サにアクセス権を付与し、アクセス権が一旦放棄された
時点で他のプロセッサからアクセス要求が発せられてお
らずそれまでアクセス権を有していたプロセッサからア
クセス要求が発せられている場合に、当該それまでアク
セス権を有していたプロセッサに引き続きアクセス権を
付与することを特徴とする。
【0035】
【作用】本発明においては、アクセス権を有するプロセ
ッサが、アクセス1回終了毎にアクセス権を一旦放棄す
る。その時点で他のプロセッサからアクセス要求が発せ
られている場合には当該他のプロセッサにアクセス権が
付与され、発せられたいない場合にはそれまでアクセス
権を有していたプロセッサに引き続きアクセス権が付与
される。従って、複数のプロセッサによるアクセス要求
が競合している場合には、これらのプロセッサの間でア
クセス権が交互に譲受されることとなり、またこの譲受
はアクセス1回毎に行われる。この結果、あるプロセッ
サによる一連のアクセスが終了するまで他のプロセッサ
が待機する必要がなくなり、また、特定のプロセッサが
連続して共有メモリをアクセスすることが可能になる。
これにより、あるプロセッサの負荷が他のプロセッサの
処理に影響する事態は発生しにくくなり、無駄時間の発
生やデータ処理速度向上のボトルネックが排除される。
加えて、上述の調停論理はソフトウエア処理ではなくハ
ードウエアにより実現可能であるため、ソフトウエア処
理やその開発に起因した不具合も生じない。
【0036】
【実施例】以下、本発明の好適な実施例について図面に
基づき説明する。なお、図7乃至図12に示される従来
例と同様の構成には同一の符号を付し、説明を省略す
る。図1及び図2には、本発明の一実施例に係る装置の
構成が示されている。本実施例の装置は、バス選択部6
6(図1)及びバスアービタ68(図2)から構成され
ている。なお、これらの図においては、処理の分散に係
るCPUA及びBは図示を省略している。また、図1に
示されるバス選択部66の構成は、簡略化して描いてお
り、実施する際には、CPUA及びBの動作に応じてバ
ス切替タイミングを設定する必要がある。
【0037】(1)バス選択部66の構成 図1に示されるバス選択部66には、後述するアクセス
権制御部からはゲート信号Gが、CPUAからはCPU
A書込信号WRA、CPUA読出信号RDA及びC
PUAチップセレクト信号CSAが、CPUBからは
CPUB書込信号WRB、CPUB読出信号RDB
及びCPUBチップセレクト信号CSBが、供給され
ている。また、バス選択部66は、CPUAのデータバ
ス38とCPUBのデータバス42を選択的にデータバ
ス46に接続する手段として、双方向バスバッファ40
及び44を備えており、さらに、CPUAのアドレスバ
ス48とCPUBのアドレスバス50を選択的にアドレ
スバス52に接続する手段として、マルチプレクサ70
を備えている。バス選択部66は、その他、OR72〜
80を備えている。
【0038】まず、ゲート信号Gは、双方向バスバッフ
ァ40にOR72を介してCPUAゲート信号GA
して供給されており、また、双方向バスバッファ44に
インバータ82及びOR74を介してCPUBゲート信
号GBとして供給されている。双方向バスバッファ4
0及び44は、それぞれ、対応するCPUのアドレスデ
コーダ等により生成されるCPUAゲート信号GA
はCPUBゲート信号GBがL値のときに、対応する
データバス38又は42をデータバス46に接続する。
従って、OR72及び74の他の入力であるCPUAチ
ップセレクト信号CSA及びCPUBチップセレクト
信号CSBが共にL値である場合、双方向バスバッフ
ァ40及び44は、一方が開けば他方が閉じるよう動作
する。また、CPUAチップセレクト信号CSAがH
値であれば双方向バスバッファ40はCPUAゲート信
号GAの値如何にかかわらず閉じ、CPUBチップセ
レクト信号CSBがH値であれば双方向バスバッファ
44はCPUBゲート信号GBの値如何にかかわらず
閉じる。
【0039】また、ゲート信号Gは、マルチプレクサ7
0にも供給されている。マルチプレクサ70は、ゲート
信号GがL値のときに、アドレスバス48、CPUA書
込信号線84及びCPUA読出信号線86を、アドレス
バス52、書込信号線88及び読出信号線90に接続す
る。CPUA書込信号線84及びCPUA読出信号線8
6はOR76又は78の出力であり、OR76にはCP
UA書込信号WRA及びCPUAチップセレクト信号
CSAが、OR78にはCPUA読出信号RDA
びCPUAチップセレクト信号CSAが、それぞれ入
力されている。従って、CPUAチップセレクト信号C
SAがL値であればCPUA書込信号WRAやCP
UA読出信号RDAが汎用SRAM28に書込信号又
は読出信号として供給される。CPUAチップセレクト
信号CSAの値がH値である場合には、汎用SRAM
28に供給される書込信号及び読出信号はH値となる。
【0040】逆に、ゲート信号GがH値のときには、ア
ドレスバス50、CPUB書込信号線92及びCPUB
読出信号線94が、マルチプレクサ70により、アドレ
スバス52、書込信号線88及び読出信号線90に接続
される。CPUB書込信号線92はOR80の出力であ
り、OR80にはCPUB書込信号WRB及びCPU
Bチップセレクト信号CSBが入力されている。従っ
て、CPUBチップセレクト信号CSBがL値であれ
ばCPUB書込信号WRBやCPUB読出信号RDB
が汎用SRAM28に書込信号又は読出信号として供
給される。CPUBチップセレクト信号CSBの値が
H値である場合には、汎用SRAM28に供給される書
込信号はH値となる。
【0041】従って、CPUAチップセレクト信号CS
及びCPUBチップセレクト信号CSBがL値で
あれば、ゲート信号GがL値のときには、CPUAのデ
ータバス38及びアドレスバス48がデータバス46及
びアドレスバス52を介して汎用SRAM28に接続さ
れ、またCPUA書込信号WRA及び読出信号RDA
が汎用SRAM28に供給され得る状態となる。逆
に、ゲート信号GがH値のときには、CPUBのデータ
バス42及びアドレスバス50がデータバス46及びア
ドレスバス52を介して汎用SRAM28に接続され、
またCPUB書込信号WRB及び読出信号RDB
汎用SRAM28に供給され得る状態となる。すなわ
ち、CPUAは、ゲート信号GがL値のときにアクセス
権を獲得し、CPUBは、H値のときに獲得する。な
お、CPUA読出信号RDA及びCPUB読出信号R
DBは、データ転送方向(読出か書込か)を示す方向
指示信号DIRとして、対応する双方向バスバッファ4
0又は44に供給される。
【0042】また、CPUAチップセレクト信号CSA
又はCPUBチップセレクト信号CSBがH値であ
れば、対応する双方向バスバッファ40又は44が閉
じ、また汎用SRAM28に供給される書込信号及び読
出信号がH値になる。この状態では、対応するチップセ
レクト信号の値がH値となったCPU(CPUA又はC
PUB)は、ゲート信号Gの値如何にかかわらず、汎用
SRAM28をアクセスできない。
【0043】(2)バスアービタ68の構成 次に、図2に示されるバスアービタ68は、CPUAア
クセスタイミングクロック生成部96、WAITA生成
部98、WAITB生成部100及びアクセス権制御部
102を備えている。また、バスアービタ68には、C
PUAからその基本クロックCKA及びCPUAチップ
セレクト信号CSAが、CPUBからその基本クロッ
クCKB及びCPUBチップセレクト信号CSBが、
それぞれ供給されている。さらに、バスアービタ68
は、CPUA及びCPUBにそれぞれCPUA待機信号
WAITA及びWAITBを供給しており、また、
バス選択部66にゲート信号Gを供給している。
【0044】(2.1)CPUAアクセスタイミングク
ロック生成部96の構成 まず、CPUAアクセスタイミングクロック生成部96
は、2個のDFF104及び106並びにJKFF10
8から構成された分周器であり、CPUAの基本クロッ
クCKAがDFF104のCK及びJKFF108のC
KNに入力されている。DFF104のQN出力はその
D及びDFF106のCKに、DFF104のQ出力は
JKFF108のKに、DFF106のQN出力はその
Dに、DFF106のQ出力はJKFF108のJに、
それぞれ入力されている。従って、JKFF108のQ
Nからは、図3に示されるように、基本クロックCKA
を4分周したデューティ比3/4の信号CKGが出力さ
れる。この信号CKGを、以下、CPUAアクセスタイ
ミングクロックと呼ぶ。
【0045】CPUAアクセスタイミングクロックCK
Gは、従ってCPUAの基本クロックCKAに同期した
クロックとなる。また、CPUAアクセスタイミングク
ロックCKGは、アクセス権制御部102に供給されて
いる。後述するように、アクセス権制御部102は、C
PUAアクセスタイミングクロックCKGに同期してゲ
ート信号Gを生成しており、このゲート信号Gはバス選
択部66の他、WAITA生成部98及びWAITB生
成部100に供給されているから、バスアービタ68の
動作は基本クロックCKAに同期する。
【0046】CPUAのメモリアクセス動作(汎用SR
AM28の他、CPUAのシステムメモリ等へのアクセ
スを含む)は、基本クロックCKAに同期しているか
ら、バスアービタ68の動作は、CPUAのメモリアク
セス動作に同期することになる。具体的には、CPUA
は、CPUAアクセスタイミングクロックCKGの立ち
下がりから立上がりまでの期間(CKGの1クロック)
内で、各種メモリへのアクセスを行い、少なくともCP
UAアクセスタイミングクロックCKGの次の立上がり
までには、当該メモリアクセスを終了する。
【0047】(2.2)アクセス権制御部102の構成 次に、アクセス権制御部102は、DFF110、イン
バータ112、NAND114並びにNOR116及び
118から構成されている。DFF110のCKNには
CPUAアクセスタイミングクロックCKGが入力され
ており、従ってDFF110のQ出力、すなわちゲート
信号Gは、図4に示されるように、CPUAアクセスタ
イミングクロックCKGに同期した信号となり、この結
果、汎用SRAM28に対するアクセス権は、CPUA
アクセスタイミングクロックCKGの立ち下がりタイミ
ングで切り替わることになる。
【0048】また、CPUBチップセレクト信号CSB
がH値となると、CPUAチップセレクト信号CSA
の値にかかわらずNOR118の出力がL値になるか
ら、CPUAアクセスタイミングクロックCKGの立ち
下がりタイミングにおいてゲート信号GがL値となる。
ゲート信号GがL値となると、前述したように、CPU
Aがアクセス権を獲得する。逆に、CPUBチップセレ
クト信号CSBがL値となると、それまでのゲート信
号Gの値がL値であってもDFF110のD入力がH値
になるから、ゲート信号Gの値はH値となり、前述した
ように、CPUBがアクセス権を獲得する。従って、本
実施例では、CPUAアクセスタイミングクロックCK
Gの立ち下がりタイミングにおいてCPUBチップセレ
クト信号CSBがアクセス権切り替えを行っており、
またCPUAチップセレクト信号CSA及びCPUB
チップセレクト信号CSBが共にL値であるならアク
セス権は基本CPUたるCPUAに付与されることにな
る。
【0049】(2.3)WAITA生成部100の構成 WAITA生成部100は、2個のDFF120及び1
22、NOR124、OR126並びにインバータ12
8から構成されている。順に縦続接続されているDFF
120及び122のCKには、いずれも、CPUAの基
本クロックCKAが入力されており、従って、DFF1
22のQ出力とCPUAチップセレクト信号CSA
ORであるCPUA待機信号WAITは、基本クロッ
クCKAの立上がりタイミングで立ち上がる。
【0050】また、CPUAチップセレクト信号CSA
がL値の期間では、DFF122のQ出力がCPUA
待機信号WAITとなる。そのときゲート信号GがH
値であればNOR124の出力がL値となるから、図4
及び図5に示されるように、CPUA待機信号WAIT
はL値となる。言い換えれば、CPUAは、CPUA
待機信号WAITがL値となったことを検出すること
により、CPUBがアクセス権を獲得していることを知
ることができ、汎用SRAM28に対するアクセスを待
つことができる。これは、CPUA待機信号WAIT
により、CPUAのメモリアクセス動作とCPUBのメ
モリアクセス動作が同期化されることを意味している。
【0051】CPUAチップセレクト信号CSA及び
ゲート信号GがL値である場合、CPUAアクセスタイ
ミングクロックCKGがH値に転ずると基本クロックC
KAがNOR124の出力となりまたDFF120及び
122のCKに基本クロックCKAが供給されているか
ら、CPUA待機信号WAITは、CPUAアクセス
タイミングクロックCKGが立ち上がった後最初の基本
クロックCKAの立上がりタイミングで立ち上がる。基
本クロックCKAは、DFF120及び122により2
分周され、CPUA待機信号WAITとなる。従っ
て、CPUA待機信号WAITは、図4及び図5に示
されるように、CPUAアクセスタイミングクロックC
KGが立ち下がってから2回目の基本クロックCKAの
立ち下がりでH値となる。このように、CPUAは、自
己にアクセス権が付与されている場合に、CPUAアク
セスタイミングクロックCKGに同期して立ち上がるC
PUA待機信号WAITを検出することにより、自己
に対する待機指令の解除を知ることができる。CPUA
は、待機指令の解除に応じてメモリアクセスを実行し、
CPUAアクセスタイミングクロックCKGが立ち下が
ってから3回目の基本クロックCKAの立ち下がりまで
に、メモリアクセスを終了する。
【0052】さらに、OR126にCPUAチップセレ
クト信号CSAが入力されているから、CPUAチッ
プセレクト信号CSAがH値である間は、CPUA待
機信号WAITはH値となり、CPUAは、H値を有
するCPUA待機信号WAITを検出することによ
り、自己に対する待機指令の解除を知ることができ、同
様にメモリアクセス動作を実行する。
【0053】(2.4)WAITB生成部100の構成 WAITB生成部100は、DFF130、NAND1
32及び134並びにインバータ136から構成されて
いる。DFF130のCKにはCPUBの基本クロック
CKBが入力されているから、DFF130のQ出力、
ひいてはNAND134の出力たるCPUB待機信号W
AITBは、図4及び図6に示されるように、CPU
Bのメモリアクセス動作に同期した信号となる。また、
CPUBチップセレクト信号CSBがH値である場合
には、インバータ136の出力がL値となるためCPU
B待機信号WAITBはH値となる。
【0054】CPUBチップセレクト信号CSBがL
値である場合には、DFF130のQ出力がCPUB待
機信号WAITBとなる。CPUBチップセレクト信
号CSBがL値のときには、NOR118の出力がH
値となり、ゲート信号Gの値がCPUAアクセスタイミ
ングクロックCKGの立ち下がりでH値となるから、基
本クロックCKBの次の立上がりで、CPUB待機信号
WAITBがL値となる。
【0055】従って、図6に示されるように、ゲート信
号GがL値の状態(CPUAがアクセス権を有している
状態)からCPUBがチップセレクト信号CSBをH
値からL値に変えると、CPUB待機信号WAITB
がL値となる。CPUBは、これにより待機状態をと
る。この後、CPUAアクセスタイミングクロックCK
Gの立ち下がりに同期してゲート信号Gが立ち上がる
と、基本クロックCKBのその後最初の立上がりで、C
PUB待機信号WAITBがH値となる。すなわち、
CPUBの待機状態は、汎用SRAM28のアクセス権
がCPUAからCPUBに切り替わった後最初に生じる
基本クロックCKBの立上がりで終了し、CPUBはこ
の後汎用SRAM28へのアクセスを実行する。
【0056】(3)全体動作 次に、装置全体の動作について、場合分けして説明す
る。
【0057】(3.1)CPUA及びBがいずれもアク
セスを要求していない場合 まず、CPUA及びBは、汎用SRAM28に対するア
クセスを要求する場合には、自己のチップセレクト信号
CSA又はCSBをL値にし、アクセスを要求しな
い場合にはH値とする。従って、CPUA及びBがいず
れもアクセスを要求していない状態では、チップセレク
ト信号CSA及びCSBは共にH値となっている。
チップセレクト信号CSA及びCSBが共にH値で
ある場合、先の説明から明らかなように、待機信号WA
ITA及びWAITBはいずれもH値となる。その
一方で、CPUBチップセレクト信号CSBがH値で
あるからCPUAアクセスタイミングクロックCKGの
立ち下がりタイミングにおいてゲート信号GがL値とな
り、CPUAがアクセス権を獲得する。このように、C
PUA及びBがいずれもアクセスを要求していない場
合、汎用SRAM28に対するアクセス権は、常に、C
PUAに割り当てられている。
【0058】(3.2)CPUBが汎用SRAM28を
アクセスしていないときにCPUAがアクセスを要求し
た場合 この場合も、CPUBチップセレクト信号CSBがH
値であるからゲート信号GがL値であり、CPUAにア
クセス権が付与される。
【0059】(3.3)CPUAが汎用SRAM28を
アクセスしていないときにCPUBがアクセスを要求し
た場合 この場合、CPUBによるアクセス要求以前はゲート信
号GがL値であり、CPUAにアクセス権が与えられて
いる。CPUBがチップセレクト信号CSBをL値に
して汎用SRAM28ヘのアクセスを要求すると、図6
に示されるようにCPUB待機信号WAITがL値に
なり、CPUBは待機状態となる。この後、CPUAア
クセスタイミングクロックCKGが立ち下がりゲート信
号Gが立ち上がる。すなわち、CPUBにアクセス権が
切り替わる。すると、その後最初の基本クロックCKB
の立上がりでCPUB待機信号WAITがH値にな
り、これに応じてCPUBは汎用SRAM28へのアク
セスを行う。このアクセスが終了すると、CPUBはチ
ップセレクト信号CSBをH値に戻す。その後CPU
AアクセスタイミングクロックCKGが立ち下がると、
ゲート信号Gがこれに同期して立ち下がり、アクセス権
はCPUAに戻る。
【0060】(3.4)CPUBが汎用SRAM28を
アクセスしているときにCPUAがアクセスを要求した
場合 CPUBが汎用SRAM28をアクセスしている状態で
は、ゲート信号GはH値でありアクセス権はCPUBに
ある。CPUAが汎用SRAM28のアクセスを要求す
べくチップセレクト信号CSAをL値にすると、図5
に示されるように、待機信号WAITAがL値とな
る。CPUAは、これに応じて待機状態に入る。CPU
Bは、汎用SRAM28に対する1回のアクセスを終了
すると、チップセレクト信号CSBをH値にする。す
ると、図4に示されるように、CPUAアクセスタイミ
ングクロックCKGの次の立ち下がりでゲート信号Gが
L値となり、CPUAにアクセス権が切り替わる。CP
UAは、これに応じて汎用SRAM28へのアクセスを
実行する。CPUAは、CPUAアクセスタイミングク
ロックCKGに同期してこの動作を実行し、このクロッ
クCKGが次に立ち下がるまでにはアクセスを完了す
る。アクセス完了後、CPUAは、チップセレクト信号
CSAをH値とする。CPUAアクセスタイミングク
ロックCKGが立ち下がった時点でチップセレクト信号
CSBがL値となっていれば、すなわちCPUBがア
クセスを要求していれば、ゲート信号Gの値はH値とな
り、CPUBによるアクセスが可能になる。逆に、チッ
プセレクト信号CSBがH値であれば、ゲート信号G
はL値のままであり、CPUAに引き続きアクセス権が
与えられる。
【0061】(3.5)CPUAが汎用SRAM28を
アクセスしているときにCPUBがアクセスを要求した
場合 CPUAが汎用SRAM28をアクセスしている状態で
は、ゲート信号GはL値でありアクセス権はCPUAに
ある。CPUBが汎用SRAM28のアクセスを要求す
べくチップセレクト信号CSBをL値にすると、図6
に示されるように、待機信号WAITBがL値とな
る。CPUBは、これに応じて待機状態に入る。CPU
Aは、CPUAアクセスタイミングクロックCKGに同
期してメモリアクセス動作を実行し、このクロックCK
Gが次に立ち下がるまでにはアクセスを完了する。CP
UAは、汎用SRAM28に対する1回のアクセスを終
了すると、チップセレクト信号CSAをH値にする。
すると、図4に示されるように、CPUAアクセスタイ
ミングクロックCKGの次の立ち下がりでゲート信号G
がH値となり、CPUBにアクセス権が切り替わる。C
PUBは、これに応じて汎用SRAM28へのアクセス
を実行する。アクセス完了後、CPUBは、チップセレ
クト信号CSBをH値とする。その後、CPUAアク
セスタイミングクロックCKGが立ち下がった時点で、
ゲート信号Gの値はL値となり、CPUAにアクセス権
が与えられる。
【0062】(3.6)CPUA及びBが同時にアクセ
スを要求した場合 CPUA及びBがチップセレクト信号CSA及びCS
を同時にL値にしアクセスを要求した場合、CPU
AアクセスタイミングクロックCKGの次の立ち下がり
でゲート信号GはまずH値となり、アクセス権がCPU
Bに付与される。この後CPUBがアクセスを終了しチ
ップセレクト信号CSBをH値にすると、CPUAア
クセスタイミングクロックCKGの次の立ち下がりでア
クセス権がCPUAに切り替わる。
【0063】(3.7)CPUA及びBがそれぞれ連続
してアクセスを要求した場合 この場合、CPUA及びBは汎用SRAM28に対する
アクセスを1回行うごとに交互にチップセレクト信号を
立ち上げる。従って、上述の動作の組み合わせにより、
アクセス権はCPUAとBの間で交互に移り変わる。
【0064】(4)実施例の効果 このように、本実施例によれば、ハードウエア的に生成
される待機信号WAITA及びWAITB、チップ
セレクトCSA及びCSB並びにCPUAアクセス
タイミングクロックCKGを用いているため、他のCP
Uがアクセスを要求しているのかいないのかを判別する
ソウトウエアが不要となる。従って、ソフトウエア開発
のための工数の発生が防止され、データ転送時間・効率
が好適に改善される。
【0065】また、汎用SRAM28へのアクセス権
が、汎用SRAM28へのアクセス1回ごとに切り替わ
るため、無駄時間の発生や、実行速度の低下が防止され
る。
【0066】さらに、他のメモリやI/Oと汎用SRA
M28との間のデータ転送の際、汎用SRAM28に直
接関連しない動作(他のメモリやI/Oへのアクセス
等)により他方のCPUの待ち時間の発生を防止でき
る。
【0067】加えて、他のCPUがアクセスを要求して
いなければ、特定のCPU(CPUA又はB)が連続し
てアクセスを行うことも可能であり、CPUの負荷が他
のCPUの負荷に影響を与えることもなくなる。
【0068】なお、以上の説明では、CPUAの基本ク
ロックCKAに同期したCPUAアクセスタイミングク
ロックCKGを用いてアクセス権切替タイミングを生成
していたが、CPUBの基本クロックCKBに同期した
クロックを用いても構わない。また、CPUの個数は2
個に限定されない。さらに、図2に示されるCPUAア
クセスタイミングクロック生成部96は、CPUAの基
本クロックCKAの3周期の間立ち上がるCPUAアク
セスタイミングクロックCKGを生成している(すなわ
ちCPUAが基本クロックCKAの3クロックでメモリ
アクセスを行っている)が、本発明はこのような構成は
限定されず、使用するCPUのメモリアクセスサイクル
に応じて設計できる。さらには、本発明は、機能モジュ
ール12内のCPU間のデータ転送のみならず、メイン
CPU10と機能モジュール12巻のデータ転送にも使
用できる。
【0069】
【発明の効果】以上説明したように、本発明によれば、
アクセス1回終了毎にアクセス権を一旦放棄させ、その
時点でのアクセス要求状態に鑑みアクセス権の切替等を
行うようにしたため、複数のプロセッサによるアクセス
要求が競合している場合にこれらのプロセッサの間でア
クセス権がアクセス1回毎に交互に譲受されることとな
り、プロセッサの顕著な待機を防止でき、また特定のプ
ロセッサによる連続アクセスが可能になる。これによ
り、あるプロセッサの負荷が他のプロセッサの処理に影
響しにくくなり、無駄時間の発生やデータ処理速度向上
のボトルネックを排除できる。加えて、ハードウエアに
より実現した場合、ソフトウエア処理やその開発に起因
した不具合を防止できる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるバス選択部の内部構
成を示すブロック図である。
【図2】この実施例におけるバスアービタの内部構成を
示すブロック図である。
【図3】CPUAアクセスタイミングクロックCKGを
示す図である。
【図4】バスアクセス権の切り替えタイミングを示すタ
イミングチャートである。
【図5】CPUA待機信号WAITAの内容を示すタ
イミングチャートである。
【図6】CPUB待機信号WAITBの内容を示すタ
イミングチャートである。
【図7】複数の機能モジュールをメインCPUにより制
御するシステムの構成を示すブロック図である。
【図8】各機能モジュールにおける処理分散の考え方を
示すブロック図である。
【図9】デュアルポートRAMを共有メモリとして用い
た機能モジュールの構成を示すブロック図である。
【図10】擬似デュアルポートRAMを共有メモリとし
て用いた機能モジュールの構成を示すブロック図であ
る。
【図11】一従来例に係る擬似デュアルポートRAMの
構成を示すブロック図である。
【図12】この従来例におけるバスアービタの一例構成
を示すブロック図である。
【符号の説明】
10 メインCPU 12 機能モジュール 14 メインシステムバス 16 システムバスインターフェイスCPU 18 機能処理CPU 22 CPUAのシステムバス 24 CPUBのシステムバス 28 汎用SRAM 38 CPUAのデータバス 40,44 双方向バスバッファ 42 CPUBのデータバス 46 汎用SRAMのデータバス 48 CPUAのアドレスバス 50 CPUBのアドレスバス 52 汎用SRAMのアドレスバス 66 バス選択部 68 バスアービタ 70 マルチプレクサ 72〜80,126 OR 82,112,128,136 インバータ 96 CPUAアクセスタイミングクロック生成部 98 WAITA生成部 100 WAITB生成部 102 アクセス権制御部 104,106,110,120,122,130 D
フリップフロップ 108 JKフリップフロップ 114,132,134 NAND 116,118,124 NOR A,B 処理分散に係るCPU G ゲート信号 GA CPUAゲート信号 GB CPUBゲート信号 WRA CPUA書込信号 WRB CPUB書込信号 RDA CPUA読出信号 RDB CPUB読出信号 CSA CPUAチップセレクト信号 CSB CPUBチップセレクト信号 WAITA CPUA待機信号 WAITB CPUB待機信号 CKA CPUA基本クロック CKB CPUB基本クロック CKG CPUAアクセスタイミングクロック DIR 方向指示信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山木 憲裕 大阪市阿倍野区長池町22番22号 シャープ 株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アクセス権を得たプロセッサによりアク
    セスされる共有メモリと、複数のプロセッサからのアク
    セス要求を調停しつつ、アクセス要求を発したプロセッ
    サのいずれかにアクセス権を付与する調停手段と、を備
    える共有メモリ装置において、 調停手段が、 共有メモリに対するアクセスを1回終了する毎にアクセ
    ス権を一旦放棄させ、 アクセス権が一旦放棄された時点で他のプロセッサから
    アクセス要求が発せられている場合に、当該他のプロセ
    ッサにアクセス権を付与し、 アクセス権が一旦放棄された時点で他のプロセッサから
    アクセス要求が発せられておらずそれまでアクセス権を
    有していたプロセッサからアクセス要求が発せられてい
    る場合に、当該それまでアクセス権を有していたプロセ
    ッサに引き続きアクセス権を付与することを特徴とする
    共有メモリ装置。
JP5246678A 1993-10-01 1993-10-01 共有メモリ装置 Pending JPH07105146A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP5246678A JPH07105146A (ja) 1993-10-01 1993-10-01 共有メモリ装置
EP94306577A EP0649096A3 (en) 1993-10-01 1994-09-07 Shared memory system and arbitration method and its system.
AU74141/94A AU672333B2 (en) 1993-10-01 1994-09-21 Shared memory system and arbitration method and system
KR1019940024855A KR0133236B1 (ko) 1993-10-01 1994-09-30 공유메모리 시스템 및 조정시스템과 조정방법
US08/717,149 US5671393A (en) 1993-10-01 1996-09-20 Shared memory system and arbitration method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5246678A JPH07105146A (ja) 1993-10-01 1993-10-01 共有メモリ装置

Publications (1)

Publication Number Publication Date
JPH07105146A true JPH07105146A (ja) 1995-04-21

Family

ID=17151994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5246678A Pending JPH07105146A (ja) 1993-10-01 1993-10-01 共有メモリ装置

Country Status (5)

Country Link
US (1) US5671393A (ja)
EP (1) EP0649096A3 (ja)
JP (1) JPH07105146A (ja)
KR (1) KR0133236B1 (ja)
AU (1) AU672333B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122699A (en) * 1996-06-03 2000-09-19 Canon Kabushiki Kaisha Data processing apparatus with bus intervention means for controlling interconnection of plural busses
US6385704B1 (en) * 1997-11-14 2002-05-07 Cirrus Logic, Inc. Accessing shared memory using token bit held by default by a single processor
US6401176B1 (en) * 1997-11-14 2002-06-04 Agere Systems Guardian Corp. Multiple agent use of a multi-ported shared memory
US6173425B1 (en) 1998-04-15 2001-01-09 Integrated Device Technology, Inc. Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
US5982700A (en) * 1998-05-21 1999-11-09 Integrated Device Technology, Inc. Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same
US6216205B1 (en) 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
US5999478A (en) * 1998-05-21 1999-12-07 Integrated Device Technology, Inc. Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
DE59901649D1 (de) 1998-07-03 2002-07-11 Siemens Ag Verfahren zur steuerung der zuteilung eines speicherzugriffs
JP4081963B2 (ja) * 2000-06-30 2008-04-30 セイコーエプソン株式会社 記憶装置および記憶装置に対するアクセス方法
US6546461B1 (en) 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
GB2376390B (en) * 2001-06-05 2003-08-06 3Com Corp Asic system architecture including data aggregation technique
AU2003242750A1 (en) * 2002-07-12 2004-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Memory access from different clock domains
EP1380960B1 (en) * 2002-07-12 2010-02-24 Telefonaktiebolaget LM Ericsson (publ) Memory access from different clock domains
JP4633334B2 (ja) * 2003-01-27 2011-02-16 パナソニック株式会社 情報処理装置およびメモリアクセス調停方法
US7042792B2 (en) * 2004-01-14 2006-05-09 Integrated Device Technology, Inc. Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
KR100609265B1 (ko) * 2004-11-10 2006-08-09 삼성전자주식회사 메모리 장치 및 메모리 장치의 듀얼 포트 동작 방법
US9262326B2 (en) * 2006-08-14 2016-02-16 Qualcomm Incorporated Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
US8918594B2 (en) * 2010-11-16 2014-12-23 Micron Technology, Inc. Multi-interface memory with access control
CN103810124A (zh) * 2012-11-09 2014-05-21 辉达公司 用于数据传输的系统及方法
CN107544927B (zh) * 2017-09-19 2020-06-23 中国核动力研究设计院 一种双口ram跟随访问方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4374413A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4374414A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
US4682282A (en) * 1984-10-25 1987-07-21 Unisys Corp. Minimum latency tie-breaking arbitration logic circuitry
US4797815A (en) * 1985-11-22 1989-01-10 Paradyne Corporation Interleaved synchronous bus access protocol for a shared memory multi-processor system
US4882702A (en) * 1986-03-31 1989-11-21 Allen-Bradley Company, Inc. Programmable controller with I/O expansion module located in one of I/O module positions for communication with outside I/O modules
US4773037A (en) * 1987-02-20 1988-09-20 Gte Communication Systems Corporation Increased bandwidth for multi-processor access of a common resource
US5047921A (en) * 1989-01-31 1991-09-10 International Business Machines Corporation Asynchronous microprocessor random access memory arbitration controller
JPH04195202A (ja) * 1990-11-22 1992-07-15 Omron Corp プログラマブルコントローラシステムの共有メモリ構造

Also Published As

Publication number Publication date
KR950012175A (ko) 1995-05-16
AU672333B2 (en) 1996-09-26
AU7414194A (en) 1995-04-13
EP0649096A2 (en) 1995-04-19
EP0649096A3 (en) 1995-10-11
KR0133236B1 (ko) 1998-04-24
US5671393A (en) 1997-09-23

Similar Documents

Publication Publication Date Title
JPH07105146A (ja) 共有メモリ装置
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
JP3661235B2 (ja) 共有メモリシステム、並列型処理装置並びにメモリlsi
KR970001919B1 (ko) 다수의 버스간의 정보 전송 시스템 및 방법
JPH0973430A (ja) バス調停システムおよびバスアービタならびにバス制御方法
EP1653370A2 (en) Bus controller
US6163828A (en) Methods and apparatus for providing multi-processor access to shared memory
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
WO1996035172A1 (en) Controller for providing access to a video frame buffer in a split-bus transaction environment
US5446847A (en) Programmable system bus priority network
JPS5927938B2 (ja) 多重処理装置
JPH064401A (ja) メモリアクセス回路
EP0284094B1 (en) Tandem priority resolver
Kessels et al. Designing an asynchronous bus interface
US20020069311A1 (en) Bus control device
JPH02281356A (ja) 共有メモリ装置
JPH02211571A (ja) 情報処理装置
JP2976417B2 (ja) マルチプロセッサシステム
KR19980026521A (ko) 멀티 포트 메모리 비동기 중재 방법
JPH02113358A (ja) ローカルバス式
JPH01205259A (ja) ブロック転送回路
JPH02170256A (ja) バス制御方法および装置
JPH1195812A (ja) プログラマブルコントローラ
JPS63155254A (ja) 情報処理装置
JPH03132859A (ja) マイクロコンピュータシステム