トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 ビジー状態処理システム
【発明者】 【氏名】江井 正彦

【要約】 【課題】処理プログラムを不要とし、ビジー状態の処理を高速化可能なビジー状態処理システムを提供する。

【解決手段】ACK信号生成回路(0系)4及びACK信号生成回路(1系)5はDPM1から出力されるビジー信号(0系)101及びビジー信号(1系)102を取入れている。ACK信号生成回路(0系)4及びACK信号生成回路(1系)5はDPM1からビジー信号(0系)101及びビジー信号(1系)102が出力されている間、競合するCPUにACK信号を出力させない。
【特許請求の範囲】
【請求項1】 デュアルポートメモリへのバスアクセス処理においてアクノリッジ信号の応答をもって実際のアクセス処理を開始する中央処理装置に対して前記デュアルポートメモリでのアクセス競合時にビジー信号が出力されるビジー状態処理システムであって、前記デュアルポートメモリからの前記ビジー信号を基に前記アクセス競合時に競合する中央処理装置への前記アクノリッジ信号の出力を抑止する手段を有することを特徴とするビジー状態処理システム。
【請求項2】 前記アクノリッジ信号の出力を抑止することで、前記競合する中央処理装置を前記アクノリッジ信号の入力待ち状態としたことを特徴とする請求項1記載のビジー状態処理システム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明はビジー状態処理システムに関し、特にウェイトポートを持たないCPU(中央処理装置)がバスアクセス処理にACK(アクノリッジ)信号を使用しかつそのCPUがDPM(Dual Port Memory)へのバスアクセス処理を行う場合においてDPMの両側のポートから同時に同一アドレスにアクセスする際にアクセス競合が生じた時のビジー状態の処理回路に関する。
【0002】
【従来の技術】従来、ウェイトポートを持たないCPUがDPMにバスアクセスする場合のビジー(BUSY)状態の監視方法としては、特開平09−231122号公報に開示されているように、アクセス競合が生じた時に出力されるビジー信号をF/F(フリップフロップ)回路等を使用してラッチし、これをCPUが読込みソフトウェアでビジー状態であることを検知することによって、その後にアクセスしようとする別のCPUのアクセスを禁止する第1の方法がある。
【0003】また、ビジー状態の他の監視方法としては、図4に示すように、アクセス競合が生じた時にDPM11から出力されるビジー信号201,202を、割込み信号生成回路14,15が直接割込み信号203,204に入力し、割込み信号203,204をもってCPU12,13がビジー状態を認識する第2の方法もある。
【0004】さらに、ウェイトポートを持つCPUの場合には、図5に示すように、DPM21から出力されるビジー信号301,302を、非選択側のCPU22,23のウェイトポートに入力させ、アクセス競合が回避されるまで、このCPU22,23の処理をウェイトさせることによって、アクセス競合によるビジー状態の処理を行っている。
【0005】
【発明が解決しようとする課題】上述した従来のビジー状態の監視方法では、使用するCPUがウェイトポートをもたない場合、上記のような第1及び第2の方法のビジー状態処理回路による処理が必要となる。
【0006】しかしながら、第1の方法の場合には、ウェイトポートを持たないCPUが、ラッチしたビジー信号をI/O(入出力)ポートに取込んで認識する際に、DPMにバスアクセスする度にI/Oポートを介してF/Fの出力信号状態を監視する必要があるため、1回のバスアクセスで1回の状態監視処理を必要とし、ソフトウェアへの負荷が大きくなり、処理スピードの低下につながる。
【0007】また、CPUがF/Fの出力信号状態を監視する際に、ある固定バスアクセス数間隔で行うと、上記の方法と比較して監視回数が低減されるが、実際にビジー状態が発生すると、全てのバスアクセスをやり直す必要がある。さらに、これらの監視はビジー状態が実際に発生していなくとも実施する必要があるため、実際にビジー状態が発生する頻度と対比して考えると、かなり効率が悪い。
【0008】一方、第2の方法の場合には、アクセス競合が生じた時に出力されるビジー信号を直接割込み信号に入力し、割込み信号をもってビジー状態を認識する際に、アクセス競合が生じていない通常時にF/Fの出力信号状態を監視するというソフトウェアを介した処理が不要となる。しかしながら、ビジー状態が発生した時にはこの割込み信号を利用した処理においても、ソフトウェアを介してビジー状態の処理を行うことになるので、ビジー状態が発生した時の処理に時間がかかるという問題がある。
【0009】上記のように、従来技術ではアクセス競合が生じた場合に、ラッチされたビジー信号やビジー信号を使用しての割込み信号をCPUに入力させることによって、ソフトウェアを介した処理が必要になるという問題がある。
【0010】そこで、本発明の目的は上記の問題点を解消し、処理プログラムを不要とし、ビジー状態の処理を高速化することができるビジー状態処理システムを提供することにある。
【0011】
【課題を解決するための手段】本発明によるビジー状態処理システムは、デュアルポートメモリへのバスアクセス処理においてアクノリッジ信号の応答をもって実際のアクセス処理を開始する中央処理装置に対して前記デュアルポートメモリでのアクセス競合時にビジー信号が出力されるビジー状態処理システムであって、前記デュアルポートメモリからの前記ビジー信号を基に前記アクセス競合時に競合する中央処理装置への前記アクノリッジ信号の出力を抑止する手段を備えている。
【0012】すなわち、本発明のビジー状態処理回路は、バスアクセス後、ACK(アクノリッジ)信号等の応答信号を待ってから動作するCPUのACK生成回路の部分に、アクセス競合が生じた時にDPM(Dual Port Memory)から出力されるビジー(BUSY)信号を加えるようにしている。
【0013】このACK生成回路にDPMから出力されるビジー信号を取入れることは、従来のACK生成回路に、ビジー信号が出力されている間、ACK信号を出力せずに、ビジー状態が回避されてからACK信号を出力するという動作を実行させるためである。
【0014】これによって、DPMからビジー信号が出力されている間は非選択側のCPUにはACK信号が返らないため、そのCPUは動作せず、指定したアドレスへのアクセスを行うことができず、ACK信号待ち状態となる。これはCPUがビジー状態をソフトウェアで認識しているのではなく、ただACK信号を待っているだけの状態である。
【0015】そのため、選択された側のCPUが同一であったアドレスへのアクセスが終了すると、DPMからビジー信号が出力されなくなるため、ACK信号待ち状態であったCPUへのACK信号が出力され、待たされていたCPUは直ちにDPMへのアクセスを開始する。これは従来のソフトウェアでビジー状態を監視し、ビジー状態が解除されたのをCPUが認識してからアクセス処理を再開するよりも処理が高速になる。
【0016】上記のように、ウェイトポートを持たないCPUがバスアクセス処理にACK信号を使用(ACK信号の応答をもって実際のアクセス処理を開始する)しかつそのCPUがDPMのバスアクセス処理を行う場合に、DPMでアクセス競合が生じた時のビジー状態処理をハード的に行うことによって、処理プログラムが不要となり、従来技術のソフトウェアを介した処理に比べてビジー状態の処理を高速化することが可能となる。
【0017】
【発明の実施の形態】次に、本発明の一実施例について図面を参照して説明する。図1は本発明の一実施例によるビジー状態処理システムの構成を示すブロック図である。図1において、本発明の一実施例によるビジー状態処理システムはDPM(Dual Port Memory)1にCPU(0系)2をアドレスバス(0系)103及びデータバス(0系)105で接続し、DPM1にCPU(1系)3をアドレスバス(1系)104及びデータバス(1系)106で接続して構成されている。
【0018】ここで、CPU(0系)2はバスアクセス後、ACK(アクノリッジ)信号生成回路(0系)4からのACK信号(0系)109等の応答信号を待ってDPM1を用いてデータ転送を行うよう構成され、CPU(1系)3はバスアクセス後、ACK信号生成回路(1系)5からのACK信号(1系)110等の応答信号を待ってDPM1を用いてデータ転送を行うよう構成されている。
【0019】ACK信号生成回路(0系)4はアドレスバス(0系)103上の信号と、DPM1からのビジー(BUSY)信号(0系)101と、CPU(0系)2からのCPU出力クロック(CLK)(バスCLK)107とを入力し、ACK信号(0系)109をCPU(0系)2に出力する。
【0020】ACK信号生成回路(1系)5はアドレスバス(1系)104上の信号と、DPM1からのビジー信号(1系)102と、CPU(1系)3からのCPU出力クロック108とを入力し、ACK信号(1系)110をCPU(1系)3に出力する。
【0021】このACK信号生成回路(0系)4及びACK信号生成回路(1系)5にDPM1から出力されるビジー信号(0系)101及びビジー信号(1系)102を取入れることは、従来のACK信号生成回路に、ビジー信号(0系)101及びビジー信号(1系)102が出力されている間、ACK信号(0系)109及びACK信号(1系)110を出力せずに、ビジー状態が回避されてからACK信号(0系)109及びACK信号(1系)110を出力するという動作を実行させるためである。
【0022】すなわち、アクセス競合時にビジー状態となるCPU(0系)2及びCPU(1系)3にACK信号(0系)109及びACK信号(1系)110を出力しないように、DPM1から出力されるビジー信号(0系)101及びビジー信号(1系)102を、アドレスバス(0系)103及びアドレスバス(1系)104上の信号と、CPU出力クロック107,108とともに、ACK信号生成回路(0系)4及びACK信号生成回路(1系)5に供給している。このACK信号生成回路(0系)4及びACK信号生成回路(1系)5の出力であるACK信号(0系)109及びACK信号(1系)110はCPU(0系)2及びCPU(1系)3に入力され、応答信号として使用される。
【0023】ACK信号生成回路(0系)4及びACK信号生成回路(1系)5はDPM1からビジー信号(0系)101及びビジー信号(1系)102が出力されている間、競合するCPUにACK信号を出力させないことによって、指定したアドレスへのアクセスを行うことができなくし、競合するCPUをACK信号待ち状態とさせる。
【0024】これはCPUがビジー状態をソフトウェアで認識しているのではなく、ただACK信号を待っているだけの状態である。そのため、選択された側のCPUがアドレス競合の生じたアドレスへのアクセスを終了すると、DPM1からビジー信号が出力されなくなるため、ACK信号待ち状態であったCPUへのACK信号が出力され、待たされていたCPUは直ちにDPM1へのアクセスを開始する。
【0025】これによって、本発明の一実施例によるビジー状態処理システムでは、従来のソフトウェアでビジー状態を監視してビジー状態が解除されたのをCPUが認識してからアクセス処理を再開するという処理よりも、高速になるという効果が得られる。
【0026】図2は図1のACK信号生成回路(0系)4の構成を示すブロック図である。図2において、ACK信号生成回路(0系)4はACK信号生成部40と、F/F(フリップフロップ)回路45と、EXOR(排他的論理和)回路46と、AND(論理積)回路47,48と、OR(論理和)回路49とから構成されている。
【0027】ACK信号生成部40は、図示せぬ従来のACK信号生成回路と同様の構成となっており、アドレスデコーダ41と、F/F回路42と、EXOR回路43と、カウンタ44とから構成されている。
【0028】ACK信号生成回路(0系)4ではACK信号生成部40のアドレスデコーダ41でアドレスバス(0系)103上の信号をデコードし、F/F回路42を介してEXOR回路43でEXORをとることによってパルス(Pulse)化し、これをロード及びカウンタスタートとして、カウンタ44でCPU出力クロック107をカウントする。
【0029】カウンタ44にACK信号(0系)109をウェイトさせる時間分をロード値140としてセットすることによって、任意の遅延を持ってRCOからACK信号141を出力させる。
【0030】0系及び1系の両側でのアドレスが一致した場合を示す状態信号であるビジー信号(0系)101をACK信号生成部40に入力することによって、ビジー状態の時にはACK信号生成部40からのACK信号141を出力されないようにマスクをかけ、さらにビジー信号(0系)101をF/F回路45を介してEXOR回路43でEXORをとり、またビジー信号(0系)101をAND回路48でANDをとることによって、ビジー状態が回避されると、OR回路49からACK信号(0系)109が出力されるようになっている。
【0031】このようにして、上述した処理を実行することができる。尚、図示していないが、ACK信号生成回路(1系)5の構成はACK信号生成回路(0系)4の構成と同様であり、その動作も同様である。
【0032】図3は図1のACK信号生成回路(0系)4の動作を示すタイミングチャートである。これら図1〜図3を参照してACK信号生成回路(0系)4の動作について説明する。
【0033】CPU(1系)3がアドレス(Address)“A”をアクセスしている間に、CPU(0系)2がアドレス“B”をアクセスしたとすると、アドレス“A”とアドレス“B”とが異なれば、アクセス競合が生じず、ビジー信号(0系)101が出力されないので、アドレスバス(0系)103がアドレス“B”を出力し、任意の時間遅延させた後に、CPU(0系)2に対するACK信号(0系)109が出力される。
【0034】これに対し、アドレス“A”とアドレス“B”とが同一であった場合、ACK信号生成部40からのACK信号141はビジー信号(0系)101とのANDがAND回路47でとられることによって、AND回路47からの出力信号142はビジー信号(0系)101によってマスクされ、出力されない。
【0035】一方、ビジー信号(0系)101はF/F回路45を介してEXOR回路43でEXORがとられる。EXOR回路43からの信号144はAND回路48で再びビジー信号(0系)101とのANDがとられることによって、アクセス競合が生じた時にはビジー状態が解除されると同時に、ACK信号(0系)109を出力させることが実現される。
【0036】このビジー状態が生じない時に出力されるACK信号141と、ビジー状態が生じた時に出力されるACK信号とのORをOR回路49でとることによって、ACK信号(0系)109を生成する。
【0037】尚、図示していないが、ACK信号生成回路(1系)5は上記のACK信号生成回路(0系)4と同様の構成及び動作となっており、ACK信号生成回路(0系)4の構成及び動作と同様となっている。
【0038】この結果、アクセス競合が生じ、ビジー状態になると、後からアクセスしたCPUにはビジー状態である時にACK信号が出力されず、CPUはACK信号待ち状態となる。その後、先にアクセスしていたCPUが競合しているアドレスのアクセスを終了し、ビジー状態が回避されると、直ちにACK信号待ち状態となっていたCPUにACK信号が出力され、待たされていたCPUは動作を再開することができる。
【0039】これによって、一般的に使用されているビジー信号を割込み信号としてCPUに入力することで、プログラムでソフト処理を行う必要がなくなり、ビジー状態の処理速度の高速化を実現することができる、また、処理プログラムが不要になるため、プログラムの簡略化を図ることができるという効果もある。
【0040】尚、上記の形態では、ACK信号生成回路(0系)4として、図2に示した構成をとる。これはACK信号生成回路(0系)4にDPM1からビジー信号(0系)101を加えた回路の簡単な一形態を示したもので、アドレスバス(0系)103とCPU出力クロック107とともに、DPM1からのビジー信号(0系)101を入力することによって、種々に構成することができる。
【0041】このように、ウェイトポートを持たないCPU(0系)2及びCPU(1系)3がバスアクセス処理にACK信号(0系)109及びACK信号(1系)110を使用し、かつCPU(0系)2及びCPU(1系)3がDPM1へのバスアクセス処理を行う場合において、ACK信号生成回路(0系)4及びACK信号生成回路(1系)5にDPM1から出力されるビジー信号(0系)101及びビジー信号(1系)102を加えるという基本構成に基づいてDPM1でアクセス競合が生じたビジー状態の処理を高速化することができる。尚、本発明は上記の一実施例に限定されず、本発明の技術思想の範囲内において、実施例は適宜変更され得ることは明らかである。
【0042】
【発明の効果】以上説明したように本発明によれば、デュアルポートメモリへのバスアクセス処理においてアクノリッジ信号の応答をもって実際のアクセス処理を開始する中央処理装置に対してデュアルポートメモリでのアクセス競合時にビジー信号が出力されるビジー状態処理システムにおいて、デュアルポートメモリからのビジー信号を基にアクセス競合時に競合する中央処理装置へのアクノリッジ信号の出力を抑止することによって、処理プログラムを不要とし、ビジー状態の処理を高速化することができるという効果がある。
【出願人】 【識別番号】000232047
【氏名又は名称】日本電気エンジニアリング株式会社
【出願日】 平成12年9月28日(2000.9.28)
【代理人】 【識別番号】100088812
【弁理士】
【氏名又は名称】▲柳▼川 信
【公開番号】 特開2002−108696(P2002−108696A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−295346(P2000−295346)