JPH09231122A - プロセッサシステム - Google Patents
プロセッサシステムInfo
- Publication number
- JPH09231122A JPH09231122A JP4155796A JP4155796A JPH09231122A JP H09231122 A JPH09231122 A JP H09231122A JP 4155796 A JP4155796 A JP 4155796A JP 4155796 A JP4155796 A JP 4155796A JP H09231122 A JPH09231122 A JP H09231122A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- access
- port memory
- memory access
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】メモリアクセスをウェイトする機能を持たない
プロセッサのデュアルポートメモリへのアクセスの正常
性を保証する。 【解決手段】プロセッサ2はメモリアクセスを実行する
と、入力端子11よりSRFF8の状態を読み込む。SRFF8
は、アクセスの競合を示すDPRAM1の!BUSY端子6Lより
の信号によってセットされる。プロセッサ2は、SRFF8
の状態がセットされていれば、SRFF8内の値を出力端子
12からの出力によりリセットし、DPRAM1の同じ領域
に対し再度メモリアクセスを行う。DPRAM1のR/!W端子
の入力は、OR9によりSRFF8がセットされている間は、
書き込みが行われないようHiに固定される。
プロセッサのデュアルポートメモリへのアクセスの正常
性を保証する。 【解決手段】プロセッサ2はメモリアクセスを実行する
と、入力端子11よりSRFF8の状態を読み込む。SRFF8
は、アクセスの競合を示すDPRAM1の!BUSY端子6Lより
の信号によってセットされる。プロセッサ2は、SRFF8
の状態がセットされていれば、SRFF8内の値を出力端子
12からの出力によりリセットし、DPRAM1の同じ領域
に対し再度メモリアクセスを行う。DPRAM1のR/!W端子
の入力は、OR9によりSRFF8がセットされている間は、
書き込みが行われないようHiに固定される。
Description
【0001】
【発明の属する技術分野】本発明は、2つのプロセッサ
間で一つのメモリを共有するシステムにおける、メモリ
アクセスの技術に関するものである。
間で一つのメモリを共有するシステムにおける、メモリ
アクセスの技術に関するものである。
【0002】
【従来の技術】2つのプロセッサ間で一つのメモリを共
有するシステムとしては、マルチプロセッサシステム
や、異なるネットワーク間の通信プロトコルの変換など
を行うゲートウェイ装置がある。
有するシステムとしては、マルチプロセッサシステム
や、異なるネットワーク間の通信プロトコルの変換など
を行うゲートウェイ装置がある。
【0003】このようなシステムでは、2つのプロセッ
サ間で共有するメモリとして、2つのプロセッサが同時
にアクセスを行うことのできるデュアルポートメモリ
(以下、DPRAM)が用いられることが多い。ただし、こ
のようなDPRAMでも、2つのプロセッサが同じアドレス
領域を同時にアクセスすることはできない。
サ間で共有するメモリとして、2つのプロセッサが同時
にアクセスを行うことのできるデュアルポートメモリ
(以下、DPRAM)が用いられることが多い。ただし、こ
のようなDPRAMでも、2つのプロセッサが同じアドレス
領域を同時にアクセスすることはできない。
【0004】そこで、DPRAMには、同じアドレス領域に
対する2つのプロセッサのReadまたはWriteが重複した
場合に後着のプロセッサに対してアクセスの不可を知ら
せるbusy信号を発する機能が備えられる場合が多い。こ
のようなDPRAMと、DPRAMからのbusy信号に応じてメモリ
アクセスにウェイトをかけ遅延させる機能を備えた2つ
のプロセッサを用いれば、DPRAMの同じアドレス領域へ
のアクセスが競合した場合にも正常なメモリアクセスを
行うことができるシステムを実現することができる。
対する2つのプロセッサのReadまたはWriteが重複した
場合に後着のプロセッサに対してアクセスの不可を知ら
せるbusy信号を発する機能が備えられる場合が多い。こ
のようなDPRAMと、DPRAMからのbusy信号に応じてメモリ
アクセスにウェイトをかけ遅延させる機能を備えた2つ
のプロセッサを用いれば、DPRAMの同じアドレス領域へ
のアクセスが競合した場合にも正常なメモリアクセスを
行うことができるシステムを実現することができる。
【0005】しかしながら、メモリアクセスにウェイト
をかけ遅延させるメモリアクセスウェイト機能を備えな
いプロセッサを用いる必要がある場合がある。プロセッ
サの一方に特殊な機能が必要であり、このような特殊な
機能を備えたプロセッサとして、メモリアクセスウェイ
ト機能を備えないプロセッサのみが実現、供給されてい
る場合などである。
をかけ遅延させるメモリアクセスウェイト機能を備えな
いプロセッサを用いる必要がある場合がある。プロセッ
サの一方に特殊な機能が必要であり、このような特殊な
機能を備えたプロセッサとして、メモリアクセスウェイ
ト機能を備えないプロセッサのみが実現、供給されてい
る場合などである。
【0006】このようなメモリアクセスウェイト機能を
備えないプロセッサを用いる場合、このままでは正常な
メモリアクセスを保証することができないことになる。
備えないプロセッサを用いる場合、このままでは正常な
メモリアクセスを保証することができないことになる。
【0007】そこで、特開平5-20212号公報では、DPRAM
からメモリアクセスウェイト機能を備えないプロセッサ
へのbusy信号に基づいて、エラー信号を生成してメモリ
アクセスウェイト機能を備えないプロセッサに通知し、
そのメモリアクセスを禁止することが提案されている。
からメモリアクセスウェイト機能を備えないプロセッサ
へのbusy信号に基づいて、エラー信号を生成してメモリ
アクセスウェイト機能を備えないプロセッサに通知し、
そのメモリアクセスを禁止することが提案されている。
【0008】
【発明が解決しようとする課題】しかしながら、特開平
5-20212号公報記載のシステムでは、DPRAMへのメモリア
クセスの競合を完全には排除することができない。busy
信号が出力されてからメモリアクセスウェイト機能を備
えないプロセッサ自身が、そのメモリアクセスを禁止す
るまでのタイムラグの間、DPRAMへのメモリアクセスは
競合したままとなり、この間に、誤ったデータがDPRAM
に書き込まれてしまう可能性がある。
5-20212号公報記載のシステムでは、DPRAMへのメモリア
クセスの競合を完全には排除することができない。busy
信号が出力されてからメモリアクセスウェイト機能を備
えないプロセッサ自身が、そのメモリアクセスを禁止す
るまでのタイムラグの間、DPRAMへのメモリアクセスは
競合したままとなり、この間に、誤ったデータがDPRAM
に書き込まれてしまう可能性がある。
【0009】また、特開平5-20212号公報記載のシステ
ムでは、DPRAMへのメモリアクセスは競合は、ある程度
排除することができるが、メモリアクセスウェイト機能
を備えないプロセッサのメモリアクセスの正常性は保証
されない。禁止されたメモリアクセスの正常性を保証す
る手段が何ら講じられていないからである。
ムでは、DPRAMへのメモリアクセスは競合は、ある程度
排除することができるが、メモリアクセスウェイト機能
を備えないプロセッサのメモリアクセスの正常性は保証
されない。禁止されたメモリアクセスの正常性を保証す
る手段が何ら講じられていないからである。
【0010】そこで、本発明は、2つのプロセッサ間で
一つのメモリを共有するシステムであって、プロセッサ
としてメモリアクセスをウェイトする機能を持たないプ
ロセッサを用いた場合にも、メモリアクセスの正常性を
保証することのできるプロセッサシステムを提供するこ
とを目的とする。
一つのメモリを共有するシステムであって、プロセッサ
としてメモリアクセスをウェイトする機能を持たないプ
ロセッサを用いた場合にも、メモリアクセスの正常性を
保証することのできるプロセッサシステムを提供するこ
とを目的とする。
【0011】
【課題を解決するための手段】前記目的達成のために本
発明は、2つのプロセッサと、当該2つのプロセッサの
アクセスを各々受け付ける2つのポートを備え、2つの
ポートで受け付けたアクセスが競合した場合に、より後
にアクセスを受け付けたポートからアクセスの競合を通
知するビジー信号を出力するデュアルポートメモリとを
備えたプロセッサシステムであって、前記2つのポート
のうちの一方のポートからビジー信号が出力された際
に、当該ビジー信号を保持する保持回路を備え、前記一
方のポートでデュアルポートメモリへのアクセスが受け
付けられるプロセッサは、当該プロセッサのデュアルポ
ートメモリへのアクセスの実行後に、前記保持回路が保
持している内容を読み込み、前記保持回路が保持してい
る内容がビジー信号である場合に、前記実行したデュア
ルポートメモリへのアクセスを再度行うリトライ手段と
を有することを特徴とするプロセッサシステムを提供す
る。
発明は、2つのプロセッサと、当該2つのプロセッサの
アクセスを各々受け付ける2つのポートを備え、2つの
ポートで受け付けたアクセスが競合した場合に、より後
にアクセスを受け付けたポートからアクセスの競合を通
知するビジー信号を出力するデュアルポートメモリとを
備えたプロセッサシステムであって、前記2つのポート
のうちの一方のポートからビジー信号が出力された際
に、当該ビジー信号を保持する保持回路を備え、前記一
方のポートでデュアルポートメモリへのアクセスが受け
付けられるプロセッサは、当該プロセッサのデュアルポ
ートメモリへのアクセスの実行後に、前記保持回路が保
持している内容を読み込み、前記保持回路が保持してい
る内容がビジー信号である場合に、前記実行したデュア
ルポートメモリへのアクセスを再度行うリトライ手段と
を有することを特徴とするプロセッサシステムを提供す
る。
【0012】本発明に係るプロセッサシステムによれ
ば、メモリアクセスをウェイトする機能を持たないプロ
セッサであっても、前記保持回路に保持されるビジー信
号の有無に応じて、アクセスのリトライを行うので、デ
ュアルポートへ正常なメモリアクセスを行うことができ
る。
ば、メモリアクセスをウェイトする機能を持たないプロ
セッサであっても、前記保持回路に保持されるビジー信
号の有無に応じて、アクセスのリトライを行うので、デ
ュアルポートへ正常なメモリアクセスを行うことができ
る。
【0013】また、前記デュアルポートメモリは、前記
2つのポートに当該ポートでアクセスが受け付けられる
プロセッサより入力される書き込み指示信号に応じて、
デュアルポートメモリへの書き込みアクセスを当該書き
込み指示信号が入力されたポートで受け付けるデュアル
ポートメモリである場合に、前記保持回路に保持されて
いる内容ががビジー信号である場合に、前記一方のポー
トでデュアルポートメモリへのアクセスが受け付けられ
るプロセッサから出力された書き込み指示信号の前記一
方のポートへの入力を抑止する抑止回路を備えれば、ア
クセスの競合時に即座に後着の書き込みアクセスを抑止
することができ、誤ったデータがDPRAMに書き込まれて
しまうことを防ぐことができる。
2つのポートに当該ポートでアクセスが受け付けられる
プロセッサより入力される書き込み指示信号に応じて、
デュアルポートメモリへの書き込みアクセスを当該書き
込み指示信号が入力されたポートで受け付けるデュアル
ポートメモリである場合に、前記保持回路に保持されて
いる内容ががビジー信号である場合に、前記一方のポー
トでデュアルポートメモリへのアクセスが受け付けられ
るプロセッサから出力された書き込み指示信号の前記一
方のポートへの入力を抑止する抑止回路を備えれば、ア
クセスの競合時に即座に後着の書き込みアクセスを抑止
することができ、誤ったデータがDPRAMに書き込まれて
しまうことを防ぐことができる。
【0014】
【発明の実施の形態】以下、本発明に係るプロセッサシ
ステムの実施の形態について説明する。
ステムの実施の形態について説明する。
【0015】まず、第1の実施の形態について説明す
る。
る。
【0016】図1に、本第1実施形態に係るプロセッサ
システムの構成を示す。
システムの構成を示す。
【0017】図1において、デュアルポートメモリ(以
下、「DPRAM」と記す)1の、図中右側のポートには、
メモリアクセスに対しウェイト機能を持つプロセッサ3
がアドレスバス4R、データバス5Rにより接続されてい
る。また、右側のポートのリード/ライト指示信号(以
下、「R/!W信号」と記す)入力端子15には、プロセッ
サ3のR/!W信号出力端子16が接続されている。また、
2つのプロセッサ2、3が同じアドレス領域にメモリア
クセスした場合であって、プロセッサ3が後着であった
場合に!BUSY信号(Low信号)が出力される右側ポートの
!BUSY端子6Rには、プロセッサ3のメモリレディ(MR)
端子10に接続されている。メモリレディ(MR)端子10
に!BUSY信号(Low信号)が入力されているとき、プロセ
ッサ3はメモリアクセスをウェイトさせる。ただし、本
明細書では、文章作成上の技術的な問題から、図面では
上線を付して表した、Low信号(論理値0)を有意とし
て取り扱う信号の入出力端子の前に、!を付して表して
いる。
下、「DPRAM」と記す)1の、図中右側のポートには、
メモリアクセスに対しウェイト機能を持つプロセッサ3
がアドレスバス4R、データバス5Rにより接続されてい
る。また、右側のポートのリード/ライト指示信号(以
下、「R/!W信号」と記す)入力端子15には、プロセッ
サ3のR/!W信号出力端子16が接続されている。また、
2つのプロセッサ2、3が同じアドレス領域にメモリア
クセスした場合であって、プロセッサ3が後着であった
場合に!BUSY信号(Low信号)が出力される右側ポートの
!BUSY端子6Rには、プロセッサ3のメモリレディ(MR)
端子10に接続されている。メモリレディ(MR)端子10
に!BUSY信号(Low信号)が入力されているとき、プロセ
ッサ3はメモリアクセスをウェイトさせる。ただし、本
明細書では、文章作成上の技術的な問題から、図面では
上線を付して表した、Low信号(論理値0)を有意とし
て取り扱う信号の入出力端子の前に、!を付して表して
いる。
【0018】一方、DPRAM1の図中左側のポートには、
メモリアクセスに対しウェイト機能を持たないプロセッ
サ2がアドレスバス4L、データバス5Lにより接続さ
れている。また、また、2つのプロセッサ2、3が同じ
アドレス領域にメモリアクセスした場合であって、プロ
セッサ2が後着であった場合に!BUSY信号(Low信号)が
出力される左側ポートの!BUSY端子6Lと左側ポートのR
/!W端子14は、 !BUSY信号保持回路7に接続されてい
る。
メモリアクセスに対しウェイト機能を持たないプロセッ
サ2がアドレスバス4L、データバス5Lにより接続さ
れている。また、また、2つのプロセッサ2、3が同じ
アドレス領域にメモリアクセスした場合であって、プロ
セッサ2が後着であった場合に!BUSY信号(Low信号)が
出力される左側ポートの!BUSY端子6Lと左側ポートのR
/!W端子14は、 !BUSY信号保持回路7に接続されてい
る。
【0019】この!BUSY信号保持回路7は、信号を保持
可能なセットリセットフリップフロップ(以下、「SRF
F」と記す)8とORゲート9により構成されている。!BU
SY端子6Lは、SRFF8のセット入力端子(!S)に接続され
ており、SRFF8は、メモリアクセス競合時に!BUSY信号
によってセットされる。また、SRFF8の出力端子(Q)
は、プロセッサ2の入力端子11に接続されており、プ
ロセッサ2からSRFF8の保持している内容を取り込める
ようになっている。また、プロセッサ2の出力端子12
と、SRFF8のリセット入力端子(!R)は接続されており、
プロセッサ2は任意にSRFF8をリセットすることができ
る。
可能なセットリセットフリップフロップ(以下、「SRF
F」と記す)8とORゲート9により構成されている。!BU
SY端子6Lは、SRFF8のセット入力端子(!S)に接続され
ており、SRFF8は、メモリアクセス競合時に!BUSY信号
によってセットされる。また、SRFF8の出力端子(Q)
は、プロセッサ2の入力端子11に接続されており、プ
ロセッサ2からSRFF8の保持している内容を取り込める
ようになっている。また、プロセッサ2の出力端子12
と、SRFF8のリセット入力端子(!R)は接続されており、
プロセッサ2は任意にSRFF8をリセットすることができ
る。
【0020】また、プロセッサ2のR/!W信号出力端子1
3は、SRFF8の出力端子(Q)と共にORゲート9に接続さ
れ、ORゲート9の出力はDPRAM1の左側ポートのR/!W信
号入力端子14に接続されている。
3は、SRFF8の出力端子(Q)と共にORゲート9に接続さ
れ、ORゲート9の出力はDPRAM1の左側ポートのR/!W信
号入力端子14に接続されている。
【0021】以下、このようなプロセッサシステムにお
けるメモリアクセスの動作について説明する。
けるメモリアクセスの動作について説明する。
【0022】まず、図2に、メモリアクセスに対しウェ
イト機能を持たないプロセッサ2のDPRAM1へのメモリ
アクセスの手順を示す。
イト機能を持たないプロセッサ2のDPRAM1へのメモリ
アクセスの手順を示す。
【0023】図示するように、ウェイト機能を持たない
プロセッサ2は、まずメモリアクセスを実行する(20
0)。このメモリアクセスでは、DPRAM1の単一のアド
レスのアクセスの場合もあるし、複数のアドレスに連続
してアクセスする場合もある。そして、その実行が正常
であったかどうか確認のために入力端子11よりSRFF8
の状態を得る(201)。このとき、もし、DPRAM1に
おいてメモリアクセスの競合が生じており、プロセッサ
2が後着であった場合には、!BUSY端子6Lに出力され
たLow信号によってSRFF8はセットされている。
プロセッサ2は、まずメモリアクセスを実行する(20
0)。このメモリアクセスでは、DPRAM1の単一のアド
レスのアクセスの場合もあるし、複数のアドレスに連続
してアクセスする場合もある。そして、その実行が正常
であったかどうか確認のために入力端子11よりSRFF8
の状態を得る(201)。このとき、もし、DPRAM1に
おいてメモリアクセスの競合が生じており、プロセッサ
2が後着であった場合には、!BUSY端子6Lに出力され
たLow信号によってSRFF8はセットされている。
【0024】入力端子11がHigh(論理値1)であるな
らば、メモリアクセスは正常に行われなかった可能性が
あるので、SRFF8内の値をプロセッサ2の出力端子12
からの出力によりリセットした(202)後に、同じ領
域に対し再度メモリアクセスを行う(200)。
らば、メモリアクセスは正常に行われなかった可能性が
あるので、SRFF8内の値をプロセッサ2の出力端子12
からの出力によりリセットした(202)後に、同じ領
域に対し再度メモリアクセスを行う(200)。
【0025】そして、ステップ201において入力端子
11の値がLow(論理値0)と判定されるまで、以上の
処理を繰り返し、入力端子11の値がLow(論理値0)
と判定されたなら次の処理に進む(203) ここで、図2に示したメモリアクセスの手順は、たとえ
ば、図3に示すようなプログラムによって実現すること
ができる。
11の値がLow(論理値0)と判定されるまで、以上の
処理を繰り返し、入力端子11の値がLow(論理値0)
と判定されたなら次の処理に進む(203) ここで、図2に示したメモリアクセスの手順は、たとえ
ば、図3に示すようなプログラムによって実現すること
ができる。
【0026】このプログラムの、第1行目はSRCのデー
タをDPRAM1のアドレスDSTに書き込む処理を表してお
り、第2行目は入力端子11の値がHigh(論理値)であ
る間、第3行目、第4行目の処理を繰り返すことを示し
ている。そして、第3行目は出力端子12からLow(論
理値0)を出力してSRFF8をリセットする処理を、第4
行目は第1行目と同じくSRCのデータをDPRAM1のアドレ
スDSTに書き込む処理を表している。
タをDPRAM1のアドレスDSTに書き込む処理を表してお
り、第2行目は入力端子11の値がHigh(論理値)であ
る間、第3行目、第4行目の処理を繰り返すことを示し
ている。そして、第3行目は出力端子12からLow(論
理値0)を出力してSRFF8をリセットする処理を、第4
行目は第1行目と同じくSRCのデータをDPRAM1のアドレ
スDSTに書き込む処理を表している。
【0027】このように、本実施形態では、プロセッサ
2がメモリアクセスウェイト機能を持たないために、プ
ロセッサ2の行う処理に追加することが必要となるの
は、メモリアクセスのウェイト機能を持たないプロセッ
サ2のDPRAM1へのアクセス処理を、図2に示した手順
とすることのみである。さらには、たとえば、図3のプ
ログラムを、DPRAM1へのアクセスの際に呼び出され
る、引数としてSRCとDSTを受け取るモジュールとして用
意すれば、この図2の手順を実現するためのプログラム
の作成上の負担を、より小さくすることができる。
2がメモリアクセスウェイト機能を持たないために、プ
ロセッサ2の行う処理に追加することが必要となるの
は、メモリアクセスのウェイト機能を持たないプロセッ
サ2のDPRAM1へのアクセス処理を、図2に示した手順
とすることのみである。さらには、たとえば、図3のプ
ログラムを、DPRAM1へのアクセスの際に呼び出され
る、引数としてSRCとDSTを受け取るモジュールとして用
意すれば、この図2の手順を実現するためのプログラム
の作成上の負担を、より小さくすることができる。
【0028】さて、ここで、このような本実施形態に係
るプロセッサシステムにおけるDPRAM1のアクセスのタ
イムチャートを図4に示す。
るプロセッサシステムにおけるDPRAM1のアクセスのタ
イムチャートを図4に示す。
【0029】図4の(1)(2)の様にプロセッサ3が
メモリアクセスを行っている時に、プロセッサ3のメモ
リアクセスが同一アドレスに対して行われると、(3)
に示されるようにプロセッサ2の側の!BUSY端子6Lに!
BUSY信号(LOW)が出力される。この!BUSY信号はSRFF8に
て保持され、SRFF8の出力信号は(4)に示すようにな
る。プロセッサ2はSRFF8の出力を得ることで、!BUSY
信号を検出し、SRFF8をリセットすると共に、前述した
ように従い同一アドレスに再度メモリアクセスを行う。
メモリアクセスを行っている時に、プロセッサ3のメモ
リアクセスが同一アドレスに対して行われると、(3)
に示されるようにプロセッサ2の側の!BUSY端子6Lに!
BUSY信号(LOW)が出力される。この!BUSY信号はSRFF8に
て保持され、SRFF8の出力信号は(4)に示すようにな
る。プロセッサ2はSRFF8の出力を得ることで、!BUSY
信号を検出し、SRFF8をリセットすると共に、前述した
ように従い同一アドレスに再度メモリアクセスを行う。
【0030】ここで、プロセッサ2のメモリアクセスの
タイミングによっては、!BUSY信号6Lが解除された直
後からプロセッサ2のDPRAMへのアクセスを許可するよ
うにすると、メモリへの書込時に図3の(2)の斜線部
の様な異常データを書き込む恐れがある。そこで、本第
1実施形態では、ORゲート9によりSRFF8により保持さ
れた!BUSY信号と(5)に示すプロセッサ2のR/!W信号
のORをとった信号を、DPRAM1のR/!W信号入力端子14
に与える。これにより、メモリアクセス競合により!BUS
Y信号が出力されてからリトライ時の書き込みまでDPRAM
1への書き込みが行われなように抑止する。
タイミングによっては、!BUSY信号6Lが解除された直
後からプロセッサ2のDPRAMへのアクセスを許可するよ
うにすると、メモリへの書込時に図3の(2)の斜線部
の様な異常データを書き込む恐れがある。そこで、本第
1実施形態では、ORゲート9によりSRFF8により保持さ
れた!BUSY信号と(5)に示すプロセッサ2のR/!W信号
のORをとった信号を、DPRAM1のR/!W信号入力端子14
に与える。これにより、メモリアクセス競合により!BUS
Y信号が出力されてからリトライ時の書き込みまでDPRAM
1への書き込みが行われなように抑止する。
【0031】以上、本発明の第1の実施形態について説
明した。
明した。
【0032】以下、本発明の第2の実施形態について説
明する。
明する。
【0033】図5に、本第2実施形態に係るプロセッサ
システムの構成を図5に示す。
システムの構成を図5に示す。
【0034】図示するように、本第2実施形態に係るプ
ロセッサシステムの、メモリウェイト機能を備えたプロ
セッサ3とDPRAM1との接続は、前述した第1実施形態
に係るプロセッサシステム(図1参照)のプロセッサ3
とDPRAM1との接続と同じである。
ロセッサシステムの、メモリウェイト機能を備えたプロ
セッサ3とDPRAM1との接続は、前述した第1実施形態
に係るプロセッサシステム(図1参照)のプロセッサ3
とDPRAM1との接続と同じである。
【0035】また、メモリウェイト機能を備えていない
プロセッサ2とDPRAM1とは次のように接続されるてい
る。
プロセッサ2とDPRAM1とは次のように接続されるてい
る。
【0036】すなわち、DPRAM1の図中左側のポートに
は、メモリアクセスに対しウェイト機能を持たないプロ
セッサ2がアドレスバス4L、データバス5Lにより接
続されている。
は、メモリアクセスに対しウェイト機能を持たないプロ
セッサ2がアドレスバス4L、データバス5Lにより接
続されている。
【0037】また、DPRAM1の左側のポートの!BUSY端子
6Lは、セットリセットフリップフロップ(SRFF)8の
セット入力端子(!S)に接続されている。SRFF8の出力
(Q)は、トリステートバッファ25を介してプロセッサ
2のデータバスの最上位端子(D7)に接続されている。ま
た、SRFF8のリセット入力端子(!R)も、トリステート
バッファ24を介してプロセッサ2のデータバスの最上
位端子(D7)に接続されている。
6Lは、セットリセットフリップフロップ(SRFF)8の
セット入力端子(!S)に接続されている。SRFF8の出力
(Q)は、トリステートバッファ25を介してプロセッサ
2のデータバスの最上位端子(D7)に接続されている。ま
た、SRFF8のリセット入力端子(!R)も、トリステート
バッファ24を介してプロセッサ2のデータバスの最上
位端子(D7)に接続されている。
【0038】トリステートバッファ24、25は、AND
ゲート21、22、23を介してプロセッサ2がアドレ
スバス4Lに出力するアドレスと、プロセッサ2がR/!W
出力端子13に出力する信号によって、出力をハイイン
ピーダンスとする状態と、入力に従った出力を行う状態
(便宜上、「スルー状態」と呼ぶ)が制御される。ま
た、図示は、省略したが、プロセッサ2のデータバスの
最上位端子(D7)除く7つの端子(D0-D7)には、各々、
トリステートバッファ25と同じ状態に制御される7つ
のトリステートバッファを介して、Hi(論理値1)が接続
されている。
ゲート21、22、23を介してプロセッサ2がアドレ
スバス4Lに出力するアドレスと、プロセッサ2がR/!W
出力端子13に出力する信号によって、出力をハイイン
ピーダンスとする状態と、入力に従った出力を行う状態
(便宜上、「スルー状態」と呼ぶ)が制御される。ま
た、図示は、省略したが、プロセッサ2のデータバスの
最上位端子(D7)除く7つの端子(D0-D7)には、各々、
トリステートバッファ25と同じ状態に制御される7つ
のトリステートバッファを介して、Hi(論理値1)が接続
されている。
【0039】以下、このようなプロセッサシステムにお
けるメモリアクセスの動作について説明する。
けるメモリアクセスの動作について説明する。
【0040】まず、図6に、メモリアクセスに対しウェ
イト機能を持たないプロセッサ2のDPRAM1へのメモリ
アクセスの手順を示す。
イト機能を持たないプロセッサ2のDPRAM1へのメモリ
アクセスの手順を示す。
【0041】プロセッサ2は、まずメモリアクセスを実
行する(601)。そして、その実行が正常であったか
どうかわからないため、D000のアドレスのデータを読み
込むようにアクセスする(602)。すると、図5にお
いて、アドレスバスの上位4ビット(A15、A14、A13、A
12)と接続された(A13は反転している)4入力のANDゲ
ート21の出力がHiになる。アドレスバスの最下位ビッ
ト(A0)とR/!W信号は4入力のANDゲート21の出力と共
に3入力のANDゲート22に接続されており、アドレスD0
00の読み込み時に3入力のANDゲート22の出力はHiにな
る。一方、3アドレスバスの最下位ビット(A0)とR/!W
信号は反転されて、4入力のANDゲート21の出力と共に
3入力のANDゲート23に接続されているため、アドレス
番地D000の読み込み時に3入力のANDゲート23の出力は
Lowになる。これにより、トリステートバッファ25は
スルー状態、トリステートバッファ24はハイインピー
ダンス状態となり、SRFF8の出力がデータバスの最上位
端子に入力され、プロセッサ2はSRFF8の出力状態を認
識することができる。
行する(601)。そして、その実行が正常であったか
どうかわからないため、D000のアドレスのデータを読み
込むようにアクセスする(602)。すると、図5にお
いて、アドレスバスの上位4ビット(A15、A14、A13、A
12)と接続された(A13は反転している)4入力のANDゲ
ート21の出力がHiになる。アドレスバスの最下位ビッ
ト(A0)とR/!W信号は4入力のANDゲート21の出力と共
に3入力のANDゲート22に接続されており、アドレスD0
00の読み込み時に3入力のANDゲート22の出力はHiにな
る。一方、3アドレスバスの最下位ビット(A0)とR/!W
信号は反転されて、4入力のANDゲート21の出力と共に
3入力のANDゲート23に接続されているため、アドレス
番地D000の読み込み時に3入力のANDゲート23の出力は
Lowになる。これにより、トリステートバッファ25は
スルー状態、トリステートバッファ24はハイインピー
ダンス状態となり、SRFF8の出力がデータバスの最上位
端子に入力され、プロセッサ2はSRFF8の出力状態を認
識することができる。
【0042】ここで、もし、プロセッサ2が、メモリア
クセスの競合時に後着であった場合、!BUSY端子(Q)にLo
wが出力され、その信号はSRFF8のセット入力端子(!S)
に与えられSRFF8をセットする。したがい、プロセッサ
2がステップ602でアドレスD000から読み込んだデー
タが255であるならば、メモリアクセスは正常に行わ
れなかった可能性があると判断することができる。逆
に、アドレスD000から読み込んだデータが127である
ならば、メモリアクセスが正常に実行されたと判断する
ことができる。
クセスの競合時に後着であった場合、!BUSY端子(Q)にLo
wが出力され、その信号はSRFF8のセット入力端子(!S)
に与えられSRFF8をセットする。したがい、プロセッサ
2がステップ602でアドレスD000から読み込んだデー
タが255であるならば、メモリアクセスは正常に行わ
れなかった可能性があると判断することができる。逆
に、アドレスD000から読み込んだデータが127である
ならば、メモリアクセスが正常に実行されたと判断する
ことができる。
【0043】そこで、次に、ステップ602で読み込ん
だデータが255であるか否かを判定し(603)、2
55でなければ正常にメモリアクセスが行われたものと
して次の処理に進む。
だデータが255であるか否かを判定し(603)、2
55でなければ正常にメモリアクセスが行われたものと
して次の処理に進む。
【0044】一方、ステップ602で読み込んだデータ
が255である場合には、アドレスD001に127を書き
込む(604)。この書き込みによって、4入力のANDゲ
ート21の出力がHiになり。3入力のANDゲート22の出
力はLowになる。一方、3入力のANDゲート23はHighに
なる。これにより、トリステートバッファ24はスルー
状態、トリステートバッファ25はハイインピーダンス
状態となり、データバスの最上位端子の状態LowがSRFF
8のリセット端子(!R)に入力され、SRFF8はリセットさ
れる。
が255である場合には、アドレスD001に127を書き
込む(604)。この書き込みによって、4入力のANDゲ
ート21の出力がHiになり。3入力のANDゲート22の出
力はLowになる。一方、3入力のANDゲート23はHighに
なる。これにより、トリステートバッファ24はスルー
状態、トリステートバッファ25はハイインピーダンス
状態となり、データバスの最上位端子の状態LowがSRFF
8のリセット端子(!R)に入力され、SRFF8はリセットさ
れる。
【0045】そして、DPRAM1の同じアドレスに再度メモ
リアクセスを行う(601)。
リアクセスを行う(601)。
【0046】また、前述した本第1実施形態と同様に、
ORゲート9によりSRFF8により保持された!BUSY信号と
プロセッサ2のR/!W信号のORをとった信号を、DPRAM1
のR/!W信号入力端子14に与える、メモリアクセス競合
により!BUSY信号が出力されてからリトライ時の書き込
みまでDPRAM1への書き込みが行われなように抑止して
いる。
ORゲート9によりSRFF8により保持された!BUSY信号と
プロセッサ2のR/!W信号のORをとった信号を、DPRAM1
のR/!W信号入力端子14に与える、メモリアクセス競合
により!BUSY信号が出力されてからリトライ時の書き込
みまでDPRAM1への書き込みが行われなように抑止して
いる。
【0047】ここで、図6に示したメモリアクセスの手
順は、たとえば、図7に示すようなプログラムによって
実現することができる。
順は、たとえば、図7に示すようなプログラムによって
実現することができる。
【0048】このプログラムの、第1行目では、変数Y
の値として127を定義している。第2行目はSRCのデ
ータをDPRAM1のアドレスDSTに書き込む処理を表してお
り、第3行目はアドレスD001からデータを読み込み、こ
の値を変数Xの値とする処理を表している。第4行目
は、Xの値が255である間、第5行目、第6行目の処
理を繰り返すことを示している。そして、第5行目はア
ドレスD001にY(127)を書き込んで、SRFF8をリセッ
トする処理を、第6行目は第1行目と同じくSRCのデー
タをDPRAM1のアドレスDSTに書き込む処理を表してい
る。
の値として127を定義している。第2行目はSRCのデ
ータをDPRAM1のアドレスDSTに書き込む処理を表してお
り、第3行目はアドレスD001からデータを読み込み、こ
の値を変数Xの値とする処理を表している。第4行目
は、Xの値が255である間、第5行目、第6行目の処
理を繰り返すことを示している。そして、第5行目はア
ドレスD001にY(127)を書き込んで、SRFF8をリセッ
トする処理を、第6行目は第1行目と同じくSRCのデー
タをDPRAM1のアドレスDSTに書き込む処理を表してい
る。
【0049】このように、本第2実施形態でも、前記第
1実施形態と同様に、メモリアクセスウェイト機能を持
たないプロセッサを用いたプロセッサシステムにおい
て、メモリアクセスの正常性を保証することができる。
また、本題2実施形態では、メモリアクセスウェイト機
能を持たないプロセッサのデータバス以外の入出力端子
を第1実施形態のごとく利用できない場合でも実現する
ことができる。
1実施形態と同様に、メモリアクセスウェイト機能を持
たないプロセッサを用いたプロセッサシステムにおい
て、メモリアクセスの正常性を保証することができる。
また、本題2実施形態では、メモリアクセスウェイト機
能を持たないプロセッサのデータバス以外の入出力端子
を第1実施形態のごとく利用できない場合でも実現する
ことができる。
【0050】なお、以上では、2つのプロセッサのうち
の一方のみが、メモリアクセスウェイト機能を持たない
プロセッサである場合について説明したが、2つのプロ
セッサの双方がメモリアクセスウェイト機能を持たない
場合でも以上で説明した2つの実施形態は同様に適用す
ることができる。すなわち、この場合には、各プロセッ
サとDPRAMの接続を、前記第1、第2実施形態における
プロセッサとDPRAMの接続と同じように行えばよい。
の一方のみが、メモリアクセスウェイト機能を持たない
プロセッサである場合について説明したが、2つのプロ
セッサの双方がメモリアクセスウェイト機能を持たない
場合でも以上で説明した2つの実施形態は同様に適用す
ることができる。すなわち、この場合には、各プロセッ
サとDPRAMの接続を、前記第1、第2実施形態における
プロセッサとDPRAMの接続と同じように行えばよい。
【0051】
【発明の効果】以上のように、本発明によれば2つのプ
ロセッサ間で一つのメモリを共有するシステムであっ
て、プロセッサとしてメモリアクセスをウェイトする機
能を持たないプロセッサを用いた場合にも、メモリアク
セスの正常性を保証することのできるプロセッサシステ
ムを提供することができる。
ロセッサ間で一つのメモリを共有するシステムであっ
て、プロセッサとしてメモリアクセスをウェイトする機
能を持たないプロセッサを用いた場合にも、メモリアク
セスの正常性を保証することのできるプロセッサシステ
ムを提供することができる。
【図1】本発明の第1実施形態に係るプロセッサシステ
ムの構成を示す図である。
ムの構成を示す図である。
【図2】本発明の第1実施形態におけるメモリアクセス
の手順を示す図である。
の手順を示す図である。
【図3】本発明の第1実施形態におけるメモリアクセス
を実現するプログラムを示す図である。
を実現するプログラムを示す図である。
【図4】本発明の第1実施形態に係るプロセッサシステ
ムにおけるメモリアクセスのタイミングを示すタイムチ
ャートである。
ムにおけるメモリアクセスのタイミングを示すタイムチ
ャートである。
【図5】本発明の第2実施形態に係るプロセッサシステ
ムの構成を示す図である。
ムの構成を示す図である。
【図6】本発明の第2実施形態におけるメモリアクセス
の手順を示す図である。
の手順を示す図である。
【図7】本発明の第2実施形態におけるメモリアクセス
を実現するプログラムを示す図である。
を実現するプログラムを示す図である。
1…デュアルポートメモリ、2…ウェイト機能を持たな
いプロセッサ、3…ウェイト機能を持つプロセッサ、4
L、4R…アドレスバス、5L、5R…データバス、6
L、6R…!BUSY信号出力端子、7、20…!BUSY信号保
持回路、8…セットリセットフリップフロップ、9…2
入力ORゲート、10…メモリレディ端子、11…入力端
子、12…出力端子、13、14…R/!W信号出力端子、
21…4入力ANDゲート、22、23…3入力NDゲー
ト、24、25…トリステートバッフ
いプロセッサ、3…ウェイト機能を持つプロセッサ、4
L、4R…アドレスバス、5L、5R…データバス、6
L、6R…!BUSY信号出力端子、7、20…!BUSY信号保
持回路、8…セットリセットフリップフロップ、9…2
入力ORゲート、10…メモリレディ端子、11…入力端
子、12…出力端子、13、14…R/!W信号出力端子、
21…4入力ANDゲート、22、23…3入力NDゲー
ト、24、25…トリステートバッフ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 池田 光二 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内
Claims (5)
- 【請求項1】2つのプロセッサと、 当該2つのプロセッサのアクセスを各々受け付ける2つ
のポートを備え、2つのポートで受け付けたアクセスが
競合した場合に、より後にアクセスを受け付けたポート
からアクセスの競合を通知するビジー信号を出力するデ
ュアルポートメモリとを備えたプロセッサシステムであ
って、 前記2つのポートのうちの一方のポートからビジー信号
が出力された際に、当該ビジー信号を保持する保持回路
を備え、 前記一方のポートでデュアルポートメモリへのアクセス
が受け付けられるプロセッサは、当該プロセッサのデュ
アルポートメモリへのアクセスの実行後に、前記保持回
路が保持している内容を読み込み、前記保持回路が保持
している内容がビジー信号である場合に、前記実行した
デュアルポートメモリへのアクセスを再度行うリトライ
手段とを有することを特徴とするプロセッサシステム。 - 【請求項2】請求項1記載のプロセッサシステムであっ
て、 前記一方のポートでデュアルポートメモリへのアクセス
が受け付けられるプロセッサは、当該プロセッサのデュ
アルポートメモリへのアクセスの実行後に、読み込んだ
前記保持回路が保持している内容がビジー信号である場
合に、前記保持回路の保持している内容を初期化する手
段を有することを特徴とするプロセッサシステム。 - 【請求項3】請求項2記載のプロセッサシステムであっ
て、 前記デュアルポートメモリは、前記2つのポートに当該
ポートでアクセスが受け付けられるプロセッサより入力
される書き込み指示信号に応じて、デュアルポートメモ
リへの書き込みアクセスを当該書き込み指示信号が入力
されたポートで受け付けるデュアルポートメモリであっ
て、 前記保持回路に保持されている内容ががビジー信号であ
る場合に、前記一方のポートでデュアルポートメモリへ
のアクセスが受け付けられるプロセッサから出力された
書き込み指示信号の前記一方のポートへの入力を抑止す
る抑止回路を備えたことを特徴とするプロセッサシステ
ム。 - 【請求項4】請求項2または3記載のプロセッサシステ
ムであって、 前記一方のポートでデュアルポートメモリへのアクセス
が受け付けられるプロセッサの特定アドレスへのアクセ
スに応じて前記保持回路の保持内容を初期化する初期化
回路と、 前記一方のポートでデュアルポートメモリへのアクセス
が受け付けられるプロセッサの特定アドレスへのリード
アクセスに応じて、前記保持回路の保持内容を当該プロ
セッサに当該リードアクセスに対するリードデータとし
て送る中継回路とを備えたことを特徴とするプロセッサ
システム。 - 【請求項5】請求項2または3記載のプロセッサシステ
ムであって、 前記一方のポートでデュアルポートメモリへのアクセス
が受け付けられるプロセッサは、前記保持回路の保持内
容を読み出すための入力端子と、前記保持回路を初期化
するための信号を出力するための出力端子とを、前記デ
ュアルポートメモリへのアクセスに用いる端子とは別個
に備えていることを特徴とするプロセッサシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4155796A JPH09231122A (ja) | 1996-02-28 | 1996-02-28 | プロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4155796A JPH09231122A (ja) | 1996-02-28 | 1996-02-28 | プロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09231122A true JPH09231122A (ja) | 1997-09-05 |
Family
ID=12611741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4155796A Pending JPH09231122A (ja) | 1996-02-28 | 1996-02-28 | プロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09231122A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100720663B1 (ko) * | 2005-08-03 | 2007-05-21 | 경북대학교 산학협력단 | 듀얼포트램 동기화 장치 및 상기 장치를 사용하는 마이크로프로세서 |
| JP2007316880A (ja) * | 2006-05-25 | 2007-12-06 | Meidensha Corp | デュアルポートメモリのアクセス権調停方式 |
| KR100847968B1 (ko) * | 2005-08-05 | 2008-07-22 | 키몬다 아게 | 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법 |
| JP2009237980A (ja) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | マルチポートメモリおよび情報処理システム |
-
1996
- 1996-02-28 JP JP4155796A patent/JPH09231122A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100720663B1 (ko) * | 2005-08-03 | 2007-05-21 | 경북대학교 산학협력단 | 듀얼포트램 동기화 장치 및 상기 장치를 사용하는 마이크로프로세서 |
| KR100847968B1 (ko) * | 2005-08-05 | 2008-07-22 | 키몬다 아게 | 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법 |
| JP2007316880A (ja) * | 2006-05-25 | 2007-12-06 | Meidensha Corp | デュアルポートメモリのアクセス権調停方式 |
| JP2009237980A (ja) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | マルチポートメモリおよび情報処理システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5398211A (en) | Structure and method for providing prioritized arbitration in a dual port memory | |
| JPH096717A (ja) | インバウンド及びアウトバウンド読取り並びにポステッド書込みのためのバッファリング機構を含むデータ処理システム及び方法 | |
| JPH01147647A (ja) | データ処理装置 | |
| JPH07105146A (ja) | 共有メモリ装置 | |
| JPH09231122A (ja) | プロセッサシステム | |
| US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
| JPH04278286A (ja) | 半導体記憶装置およびそれからのデータ読出方法 | |
| US7472212B2 (en) | Multi CPU system | |
| GB2412767A (en) | Processor with at least two buses between a read/write port and an associated memory with at least two portions | |
| KR19980068130A (ko) | 공유메모리를 이용한 데이터 액세스 제어장치 | |
| KR100217743B1 (ko) | 공유메모리 접속장치 및 그 접속방법 | |
| JP2537526B2 (ja) | マルチプロセッサシステム | |
| JPH0652067A (ja) | マルチポートramチェック制御方法 | |
| JPH01293456A (ja) | 共有メモリ装置 | |
| JP5061504B2 (ja) | デュアルポートメモリのアクセス権調停方式 | |
| JPH07160655A (ja) | メモリアクセス方式 | |
| JPH05257903A (ja) | マルチプロセッサシステム | |
| JPH0120453B2 (ja) | ||
| JP2713204B2 (ja) | 情報処理システム | |
| JP3057754B2 (ja) | メモリ回路および分散処理システム | |
| JP2856709B2 (ja) | バス間結合システム | |
| JPH0326867B2 (ja) | ||
| JP2610971B2 (ja) | 中央処理装置間ダイレクトメモリアクセス方式 | |
| JP2606824Y2 (ja) | マルチポートメモリ装置 | |
| KR960007835B1 (ko) | 다중 프로세서의 공통 메모리 억세스 장치 |