[go: up one dir, main page]

JPH1139266A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置

Info

Publication number
JPH1139266A
JPH1139266A JP9192702A JP19270297A JPH1139266A JP H1139266 A JPH1139266 A JP H1139266A JP 9192702 A JP9192702 A JP 9192702A JP 19270297 A JP19270297 A JP 19270297A JP H1139266 A JPH1139266 A JP H1139266A
Authority
JP
Japan
Prior art keywords
cpu
bus
shared memory
slave
access
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.)
Withdrawn
Application number
JP9192702A
Other languages
English (en)
Inventor
Kanzo Noda
完三 野田
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
Original Assignee
Sharp 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 filed Critical Sharp Corp
Priority to JP9192702A priority Critical patent/JPH1139266A/ja
Publication of JPH1139266A publication Critical patent/JPH1139266A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 スレーブCPUの消費電力を削減し、共有メ
モリへのアクセス要求を調停するための複雑な調停回路
が不要なマルチプロセッサ装置を提供すること。 【解決手段】 マルチプロセッサ装置は、マスタCPU
1が共有メモリ3へアクセスするとき、スレーブCPU
2を停止状態にするためのクロック制御回路8と、クロ
ック制御回路8によってスレーブCPU2が停止状態に
あるときはマスタCPU1のバス10を共有メモリ3の
バス12に接続し、クロック制御回路8によってスレー
ブCPU2が動作状態にあるときはスレーブCPU2の
バス11を共有メモリ3のバス12に接続するためのス
レーブ停止ビットのレジスタ6とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
に分散処理をさせるマルチプロセッサ装置に関し、特
に、共有メモリへのアクセス権の調停を行なうための複
雑な調停回路が不要であり、装置全体の消費電力を低減
することが可能なマルチプロセッサ装置に関する。
【0002】
【従来の技術】近年、マルチメディア処理や高精細画像
処理などのさまざまな分野で、プロセッサ性能の向上に
対する要求が高まっている。しかし、現在のLSI(La
rge Scale Integration )製造技術ではデバイスの高速
化にも限度がある。そこで、分散処理方式のマルチプロ
セッサ装置が注目を浴びており、盛んに研究、開発され
ている。
【0003】このようなマルチプロセッサ装置において
は、各プロセッサの接続方式により種々の構成が開発さ
れている。その1つとして、複数のプロセッサにメモリ
を共有させ、各プロセッサ間の情報およびデータ転送を
この共有メモリを介して行なう方式がある。マルチプロ
セッサ装置におけるプロセッサ間のデータ転送は、共有
メモリを介して行なわれるため、複数のプロセッサから
の共有メモリへのアクセスの調停を行なうための共有メ
モリ制御回路が必要となる。
【0004】図8は、従来のマルチプロセッサ装置の概
略構成を示すブロック図である。マルチプロセッサ装置
は、CPU(Central Processing Unit )A100、C
PUB101、共有メモリ102、CPUA100のバ
ス105またはCPUB101のバス106と共有メモ
リバス107との接続を切換えるためのバス選択回路1
03、およびバス選択回路103のバス切換の制御を行
なうための調停回路104を含む。なお、説明の簡略化
のために、CPUA100およびCPUB101がアク
セスする対象を共有メモリ102に限定しており、一般
的なマルチプロセッサ装置を構成するメインメモリおよ
びI/O装置などは省略している。
【0005】図8を参照して、CPUA100が共有メ
モリ102にアクセスする場合、CPUA100の共有
メモリ102へのアクセス要求信号であるREQA信号
をアクティブにする。調停回路104は、REQA信号
がアクティブになると、CPUB101が共有メモリ1
02へアクセスしておらず、CPUA100の共有メモ
リ102へのアクセスが可能であれば、バスの切換を行
なうためのSELECT信号によってバス選択回路10
3にCPUA100のバス105を共有メモリ102の
バス107に接続させる。また、CPUB101が共有
メモリ102へアクセスする場合も同様に、CPUB1
01が共有メモリ102へのアクセス要求信号であるR
EQB信号をアクティブにする。そして、調停回路10
4はCPUA100から共有メモリ102へのアクセス
が行なわれていず、CPUB101の共有メモリ102
へのアクセスが可能であれば、SELECT信号によっ
てバス選択回路103にCPUB101のバス106を
共有メモリ102のバス107に接続させる。ここで、
CPUA100とCPUB101との共有メモリ102
へのアクセスが同時に発生した場合、調停回路104は
予め定められた優先順位に従ったアクセスの調停を行な
う。
【0006】たとえば、CPUからのアクセス要求の早
い順に優先順位を高くするとした場合、CPUA100
からのアクセス要求が先に発生し、その後にCPUB1
01からのアクセス要求が発生したとき、調停回路10
4は先にアクセス要求があったCPUA100のアクセ
ス要求を許可する。すなわち、調停回路104はSEL
ECT信号によってバス選択回路103にCPUA10
0のバス105と共有メモリ102のバス107とを接
続させる。そして、調停回路104はCPUB101に
対してWAITB信号をアクティブにし、CPUB10
1のアクセス要求を待たせる。そして、CPUA100
の共有メモリ102へのアクセス要求が終了した後、C
PUA100からのREQA信号がインアクティブにな
ると、調停回路104はCPUB101へのWAITB
信号をインアクティブにし、SELECT信号によって
バス選択回路103にCPUB101のバス106と共
有メモリ102のバス107とを接続させる。このこと
により、CPUB101が共有メモリ102へアクセス
することが可能となる。
【0007】上述したマルチプロセッサ装置に関連する
技術として、特開昭60−169968号公報に開示さ
れた発明がある。特開昭60−169968号公報に開
示された発明は、各プロセッサの共通メモリへのアクセ
スを可能にすることによって減少するメモリアクセス領
域を拡張することが可能なマルチプロセッサ装置に関す
る技術が記載されている。共通メモリへのアクセスを制
御するためのコントロールユニットは、マスタプロセッ
サとスレーブプロセッサとの間で排他的に共通メモリの
使用権を与えるものであり、マスタプロセッサとスレー
ブプロセッサとから共有メモリへのアクセス要求が同時
に発生した場合に、先にアクセス要求を出力した一方の
プロセッサに対して共通メモリの使用を許可し、他方の
プロセッサを待機状態にする。先にアクセス要求を出し
たプロセッサの共通メモリへのアクセスが終了した後
に、待機状態にあった他方のプロセッサの共通メモリへ
のアクセス要求が選択され、待機状態が解除されて共有
メモリへのアクセスが可能となる。
【0008】しかし、特開昭60−169968号公報
に開示された発明は、共通メモリへのアクセスを制御す
るコントロールユニットに関する技術自体は、共通メモ
リへのアクセス調停を排他的に行なうものであり、図8
に示す従来の共有メモリ制御回路と同じものである。
【0009】
【発明が解決しようとする課題】マスタ/スレーブ方式
のマルチプロセッサ装置においては、マスタプロセッサ
がスレーブプロセッサの制御を行なっていた。すなわ
ち、スレーブプロセッサはマスタプロセッサから依頼さ
れた処理を実行し、マスタプロセッサから依頼された処
理を終了すると処理結果をマスタプロセッサに引き渡し
て、スレーブプロセッサは処理を終了する。その後、ス
レーブプロセッサはマスタプロセッサからの次の処理要
求があるまで待機状態となる。
【0010】上述した従来の共有メモリ制御回路をマス
タ/スレーブ方式のマルチプロセッサ装置に適用した場
合、スレーブプロセッサはマスタプロセッサからの処理
要求をポーリングするため、ループプログラムを実行す
る必要がある。このとき、スレーブプロセッサは待機状
態であるにもかかわらず、マスタプロセッサからの処理
要求をポーリングする必要があるため、スレーブプロセ
ッサ自体も動作していた。
【0011】また、マスタプロセッサからスレーブプロ
セッサへの処理要求は共有メモリを介して行なわれるた
め、スレーブプロセッサが次の処理要求をポーリングす
る際にも共有メモリへのアクセスが発生し、マスタプロ
セッサとスレーブプロセッサとのアクセス競合が頻繁に
発生するため、処理効率の低下を招いていた。さらに
は、スレーブプロセッサとマスタプロセッサとの共有メ
モリへのアクセスを可能にするためには、上述した複雑
な共有メモリ制御回路が必要となるか、または高価なデ
ュアルポートメモリを使用する必要があるという問題点
があった。
【0012】本発明は、上記問題点を解決するためにな
されたものであり、請求項1〜5に記載の発明の目的
は、共有メモリへのアクセスのための複雑な調停回路を
不要とし、不要な消費電力の削減が可能なマルチプロセ
ッサ装置を提供することである。
【0013】
【課題を解決するための手段】請求項1に記載のマルチ
プロセッサ装置は、第1のCPUが共有メモリへアクセ
スするとき、第2のCPUを停止状態にするための停止
手段と、停止手段によって第2のCPUが停止状態にあ
るときは第1のCPUのバスを共有メモリのバスに接続
し、停止手段によって第2のCPUが動作状態にあると
きは第2のCPUのバスを共有メモリのバスに接続する
ためのバス選択手段とを含む。
【0014】停止手段は第1のCPUが共有メモリへア
クセスするとき、第2のCPUを停止状態にするため、
第2のCPUの消費電力を削減することが可能となる。
また、バス選択手段は第2のCPUの停止状態に基づい
て共有メモリのバスを切換えるため、そのハードウェア
構成を簡略化することが可能となる。
【0015】請求項2に記載のマルチプロセッサ装置
は、請求項1記載のマルチプロセッサ装置であって、停
止手段は第2のCPUに入力されるクロック信号を停止
することによって第2のCPUを停止状態にする。
【0016】請求項3に記載のマルチプロセッサ装置
は、第1のCPUからの指示によって第1のCPUを停
止状態にし、第1のCPUの停止状態を第2のCPUに
通知するための停止手段と、停止手段によって第1のC
PUが停止状態にあるときは第2のCPUのバスを共有
メモリのバスに接続し、停止手段によって第1のCPU
が動作状態にあるときは第1のCPUのバスを共有メモ
リのバスに接続するためのバス選択手段と、第2のCP
Uからの指示によって停止手段による第1のCPUの停
止状態を解除するための解除手段とを含む。
【0017】停止手段は、第1のCPUからの指示によ
って第1のCPU自身を停止状態にするので、第1のC
PUの消費電力を削減することが可能となる。また、バ
ス選択手段は、第1のCPUの停止状態に基づいて共有
メモリのバスの接続を切換えるため、その回路構成を簡
略化することが可能となる。
【0018】請求項4に記載のマルチプロセッサ装置
は、第1のCPUおよび第2のCPUによる共有メモリ
へのアクセス状況を検出するための検出手段と、検出手
段によって検出されたアクセス状況に基づいて共有メモ
リのバスを第1のCPUのバスか第2のCPUのバスの
いずれかに接続するためのバス選択手段と、バス選択手
段が共有メモリのバスを第1のCPUのバスに接続して
いるときは、第2のCPUを停止状態にするための停止
手段とを含む。
【0019】停止手段は、バス選択手段が共有メモリの
バスを第1のCPUのバスに接続しているときは、第2
のCPUを停止状態にするので、第2のCPUの消費電
力を削減することが可能となる。また、バス選択手段
は、検出手段によって検出されたアクセス状況に基づい
て共有メモリのバスを第1のCPUのバスか第2のCP
Uのバスのいずれかに接続するため、その回路構成を簡
略化することが可能となる。
【0020】請求項5に記載のマルチプロセッサ装置
は、請求項4記載のマルチプロセッサ装置であって、検
出手段は所定時間以下の間隔で発生する共有メモリへの
アクセス群を検出し、当該アクセス群を所定回検出した
ときにバス検出手段にバスの接続の切換を指示する。
【0021】
【発明の実施の形態】
[実施の形態1]図1は、本発明の実施の形態1におけ
るマルチプロセッサ装置の概略構成を示すブロック図で
ある。マルチプロセッサ装置は、マスタCPU1と、ス
レーブCPU2と、共有メモリ3と、バスバッファ4お
よび5と、スレーブCPU2を停止させるためのスレー
ブ停止ビットのレジスタ6と、スレーブCPU2が待機
状態にあることを示すためのRDYビットのレジスタ7
と、スレーブCPU2へ供給するクロック信号を制御す
るためのクロック制御回路8と、インバータ9とを含
む。なお、図1は、説明の簡略化のためにマスタCPU
1およびスレーブCPU2のアクセス対象を共有メモリ
3に限定しており、一般的なマルチプロセッサ装置を構
成するメインメモリやI/O装置等は省略している。
【0022】共有メモリ3に対するアクセスは、マスタ
CPU1およびスレーブCPU2の両方から可能である
が、同時にアクセスすることはできない。すなわち、停
止指示信号がハイレベルにあるときは、バスバッファ4
がアクティブとなり、マスタCPU1のバス10が共有
メモリ3のバス12に接続される。また、停止指示信号
がロウレベルのときは、バスバッファ5がアクティブと
なり、スレーブCPU2のバス11が共有メモリ3のバ
ス12に接続される。通常状態では、スレーブ停止ビッ
ト6がリセット状態となっており、停止指示信号がロウ
レベルであるので、スレーブCPU2のバス11が共有
メモリ3のバス12に接続されており、スレーブCPU
2からの共有メモリ3へのアクセスが可能である。
【0023】マスタCPU1が共有メモリ3へアクセス
する場合、RDYビット7によってスレーブCPU2が
アイドル状態であることを確認した後、スレーブ停止ビ
ット6をセットすることにより停止指示信号をハイレベ
ルにし、バスバッファ4をアクティブにする。このこと
により、マスタCPU1のバス10が共有メモリ3のバ
ス12に接続され、マスタCPU1が共有メモリ3へア
クセスすることが可能となる。
【0024】RDYビット7は、マスタCPU1および
スレーブCPU2のそれぞれのアドレス空間上に割付け
られた1ビットのレジスタ(I/Oポートまたはメモリ
マップドI/O)であり、スレーブCPU2がプログラ
ム操作によってセット/リセットが可能である。また、
マスタCPU1はRDYビット7をプログラム操作によ
って読取ることが可能である。
【0025】同様に、スレーブ停止ビット6は、マスタ
CPU1およびスレーブCPU2のそれぞれのアドレス
空間上に割付けられた1ビットのレジスタであり、マス
タCPU1がプログラム操作によってセット/リセット
が可能である。また、スレーブCPU2はスレーブ停止
ビット6をプログラム操作によって読取ることが可能で
ある。
【0026】マスタCPU1によってスレーブ停止ビッ
ト6がセットされると、停止指示信号がハイレベルとな
り、インバータ9の出力がロウレベルとなってバスバッ
ファ4がイネーブル状態となる。一方、バスバッファ5
はディスエーブルとなり、バスバッファ5の出力はハイ
インピーダンスとなる。したがって、マスタCPU1の
バス10が共有メモリ3のバス12に接続され、マスタ
CPU1から共有メモリ3へアクセスすることが可能と
なる。
【0027】クロック制御回路8は、停止指示信号がハ
イレベルとなったときに、スレーブCPU2の動作タイ
ミング(バスサイクルのタイミング)と同期を取ってス
レーブCPU2へ供給するクロック信号を停止する。こ
れにより、スレーブCPU2は停止状態になり、スレー
ブCPU2の消費電力を削減することができる。
【0028】図2は、本発明の実施の形態1におけるマ
ルチプロセッサ装置の処理手順を説明するためのフロー
チャートである。まず、スレーブCPU2は、アイドル
状態(マスタCPU1から依頼された処理を終了した状
態)になると、RDYビット7をセットする(S1)。
マスタCPU1は、RDYビット7をポーリングしてお
り、RDYビット7が“1”となった場合(S2,YE
S)、スレーブ停止ビット6をセットする(S3)。ス
レーブ停止ビット6がセットされることにより、クロッ
ク制御回路8はクロック信号を停止してスレーブCPU
2を停止状態にする。
【0029】マスタCPU1は、共有メモリ3にスレー
ブCPU2に対するコマンドと処理データとを書込み
(S4)、スレーブ停止ビット6をリセットする(S
5)。スレーブ停止ビット6がリセットされることによ
り、クロック制御回路8はスレーブCPU2に対してク
ロック信号の供給を再開する。
【0030】スレーブCPU2は、S1においてRDY
ビット7をセットした後、スレーブ停止ビット6をポー
リングしており、スレーブ停止ビット6が“0”となる
のを検出して停止状態が解除されたことを知る。スレー
ブCPU2は、停止状態が解除された後、RDYビット
7をリセットし(S6)、共有メモリ3からマスタCP
U1が書込んだコマンドと処理データとを読込む(S
7)。そして、スレーブCPU2は、コマンドに従った
処理を実行した後(S8)、共有メモリ3に対してステ
ータスと処理結果を書込む(S9)。そして、スレーブ
CPU2は、再びRDYビット7をセットする(S1
0)。
【0031】マスタCPU1は、RDYビット7が
“1”となったことを検出し(S11,YES)、スレ
ーブ停止ビット6をセットすることにより、スレーブC
PU2へ供給されるクロック信号を停止し(S12)、
共有メモリ3からスレーブCPU2が書込んだステータ
スと処理結果とを読込む(S13)。そして、マスタC
PU1は、ステップS4へ戻り以上の処理を繰返す。
【0032】本実施の形態においては、スレーブCPU
2を停止状態にするために、クロックの供給を停止して
いるが、スレーブCPU2の動作モード制御、たとえば
ホールド等が可能である場合には、クロックの供給を停
止する代わりにスレーブCPU2を停止モードにする
か、またはスレーブCPU2をリセット状態にしてスレ
ーブCPU2の動作を停止するようにしてもよい。ま
た、本実施の形態においては、1個のマスタCPU1と
1個のスレーブCPU2により構成されているが、スレ
ーブCPU2を複数個の構成にすることも可能である。
【0033】以上説明したように、スレーブCPU2が
アイドル状態にあるときに、マスタCPU1によって停
止状態にされるので、スレーブCPU2の消費電力を削
減することが可能となり、また従来のような共有メモリ
3に対するアクセスを調停するための複雑な調停回路が
不要となる。さらには、スレーブCPU2がマスタCP
U1からの処理依頼をポーリングする必要がなくなり、
停止状態が解除されると同時に処理を開始することが可
能となるので、迅速な処理が可能である。
【0034】[実施の形態2]図3は、本発明の実施の
形態2におけるマルチプロセッサ装置の概略構成を示す
ブロック図である。マルチプロセッサ装置は、マスタC
PU1と、スレーブCPU2と、共有メモリ3と、バス
バッファ4および5と、スレーブCPU2のクロック信
号の制御を行なうためのクロック制御回路8と、インバ
ータ9と、クロック制御回路8から出力されるHALT
信号の状態を保持するためのHALTビットのレジスタ
15と、スレーブCPU2に対して起動を要求するため
のスレーブ起動ビットのレジスタ16と、スレーブCP
U2からの指示によってクロック制御回路8にクロック
の停止指示信号を出力するための停止ビットのレジスタ
17とを含む。
【0035】通常状態においては、停止ビット17はリ
セット状態であり、クロック制御回路8に入力される停
止指示信号はインアクティブである。クロック制御回路
8は、停止指示信号がインアクティブの場合には、スレ
ーブCPU2に対してクロック信号を供給し、HALT
信号をロウレベルにし、バスバッファ5をアクティブに
する。したがって、スレーブCPU2のバス11が共有
メモリ3のバス12に接続され、スレーブCPU2から
共有メモリ3に対するアクセスが可能である。
【0036】スレーブCPU2は、アイドル状態になる
と、自らの動作を停止するために、停止ビット17をセ
ットする。クロック制御回路8は、停止指示信号がアク
ティブになると、スレーブCPU2へのクロック信号を
停止するとともに、HALT信号をハイレベルにする。
HALT信号がハイレベルになることにより、バスバッ
ファ4がアクティブとなり、マスタCPU1のバス10
が共有メモリ3のバス12に接続される。
【0037】マスタCPU1が共有メモリ3にアクセス
する場合、HALTビット15が“1”(スレーブCP
U2が停止状態)であることを確認した後、共有メモリ
3に対するアクセスを行なう。
【0038】停止ビット17は、1ビットのレジスタで
あり、スレーブCPU2によってセットすることが可能
である。また、停止ビット17は、マスタCPU1がス
レーブ起動ビット16をセットすることによりリセット
される。
【0039】HALTビット15は、マスタCPU1の
アドレス空間上に割付けられた1ビットのレジスタであ
り、マスタCPU1はプログラム操作によって読取るこ
とが可能である。また、スレーブ起動ビット16は、マ
スタCPU1のアドレス空間上に割付けられた1ビット
のレジスタであり、マスタCPU1がプログラム操作に
よってセット/リセットすることが可能である。
【0040】マスタCPU1は、共有メモリ3へのアク
セスが終了すると、スレーブ起動ビット16をセット
し、停止ビット17をリセットすることによりスレーブ
CPU2の停止状態を解除するとともに、共有メモリ3
に対するアクセス権をスレーブCPU2に渡す。
【0041】図4は、本発明の実施の形態2におけるマ
ルチプロセッサ装置の処理手順を示すフローチャートで
ある。まず、スレーブCPU2は、アイドル状態になる
と停止ビット17をセットする(S21)。マスタCP
U1は、HALTビット15をポーリングしており、H
ALT信号が“1”になったとき(S22,YES)、
共有メモリ3に対してコマンドと処理データを書込む
(S23)。そして、マスタCPU1は、スレーブ起動
ビット16をセットする(S24)。スレーブ起動ビッ
ト16のセットにより、起動信号にロウレベルのパルス
が出力され、停止ビット17がリセットされる。この停
止ビット17のリセットにより、停止指示信号はロウレ
ベルとなり、クロック制御回路8はスレーブCPU2へ
のクロック信号の供給を再開するとともに、HALT信
号をロウレベルにし、スレーブCPU2のバス11と共
有メモリ3のバス12とを接続する。
【0042】スレーブCPU2は、停止状態が解除され
た後、マスタCPU1によって書込まれた共有メモリ3
のコマンドと処理データとを読出し(S25)、コマン
ドに従った処理を実行する(S26)。スレーブCPU
2は、共有メモリ3にアクセスし、ステータスと処理結
果を書込み(S27)、再び停止ビット17をセットす
る(S28)。
【0043】マスタCPU1は、HALTビット15を
ポーリングしており、HALTビットが“1”となった
とき(S29,YES)、共有メモリ3にアクセスし、
スレーブCPU2が書込んだステータスと処理結果とを
読出す(S30)。そして、マスタCPU1は、ステー
タS23へ戻り、以上の処理を繰返す。
【0044】以上説明したように、本実施の形態におけ
るマルチプロセッサ装置は、スレーブCPU2がアイド
ル状態にあるときに、自らを停止状態にするので消費電
力の削減が可能になるとともに、従来のような共有メモ
リへのアクセスを調停するための調停回路が不要とな
る。また、スレーブCPU2は、マスタCPU1からの
処理依頼をポーリングする必要がなくなり、停止状態が
解除されると同時に処理を開始することが可能となるの
で、迅速な処理が可能になる。
【0045】[実施の形態3]図5は、本発明の実施の
形態3におけるマルチプロセッサ装置の概略構成を示す
ブロック図である。マルチプロセッサ装置は、マスタC
PU1と、スレーブCPU2と、共有メモリ3と、バス
バッファ4および5と、スレーブCPU2のクロック信
号を制御するためのクロック制御回路8と、インバータ
9と、共有メモリに対するアクセス状況を検出するため
の共有メモリアクセス検出回路20とを含む。
【0046】共有メモリアクセス検出回路20は、共有
メモリのバス12に接続され、共有メモリのアクセス状
況を監視する回路である。共有メモリアクセス検出回路
20は、マスタCPU1とスレーブCPU2との共有メ
モリ3に対するアクセスを監視し、予め設定された一定
時間内に発生する連続アクセスの途切れを検出するため
の回路である。すなわち、マスタ/スレーブ方式のマル
チプロセッサ装置においては、共有メモリ3に対するア
クセス要求が連続して発生することに着目したものであ
る。共有メモリへのアクセスは、次に、示す4種類の連
続したアクセス要求が所定の時間をおいて繰返されるこ
とによって行なわれる。
【0047】(1) マスタCPU1によるコマンドと
データの書込。 (2) スレーブCPU2によるコマンドとデータの読
取。
【0048】(3) スレーブCPU2によるステータ
スとデータの書込。 (4) マスタCPU1によるステータスとデータの読
取。
【0049】図6は、共有メモリアクセス検出回路20
の回路構成の一例を示す図である。共有メモリアクセス
検出回路20は、共有メモリ3へのアクセス要求が発生
したときにリセットされ、共有メモリ3へのアクセス要
求が所定時間ない場合に出力をセットするカウンタ22
および28と、インバータ23および29と、JKフリ
ップフロップ24および30と、Dフリップフロップ2
5および31と、NANDゲート26および32と、R
Sフリップフロップ27とを含む。
【0050】図7は、図6に示す共有メモリアクセス検
出回路20のタイミングチャートである。まず、マスタ
CPU1が共有メモリ3に対してコマンドとデータを書
込むときに、に示すタイミングでカウンタ22の出力
信号1aがロウレベルとなる。マスタCPU1による、
共有メモリ3に対する最後のアクセスの後、所定時間が
経過したに示すタイミングでカウンタ22の出力1a
がハイレベルとなる。同じタイミングでインバータ23
の出力1bが立下がり、この立下がりによってJKフリ
ップフロップ24の出力信号1cが反転する。信号1c
の立上がりの1クロック後に、Dフリップフロップ25
の出力信号1dがハイレベルとなり、その結果NAND
ゲート26の出力信号1eに1クロック分のロウレベル
のパルスが出力される。このパルスによってRSフリッ
プフロップ27の出力信号である停止指示信号がロウレ
ベルとなる。
【0051】次に、スレーブCPU2が共有メモリ3か
らコマンドとデータとを読取る際に発生するアクセス要
求によって、に示すタイミングでカウンタ28の出力
信号2aがロウレベルとなる。そして、スレーブCPU
2が共有メモリ3に対して最後のアクセス要求を行なっ
た後、所定時間経過後にに示すタイミングでカウンタ
28の出力信号2aがハイレベルとなる。同じタイミン
グでインバータ29の出力2bが立下がり、この立下が
りによってJKフリップフロップ30の出力信号2cが
反転する。
【0052】さらに、スレーブCPU2が共有メモリ3
にステータスとデータを書込む際に、に示すタイミン
グでカウンタ28の出力信号2aがロウレベルとなる。
そして、スレーブCPU2が共有メモリ3に対して最後
のアクセス要求を行なった後、所定時間経過したに示
すタイミングで、カウンタ28の出力信号2aがハイレ
ベルとなる。同じタイミングでインバータ29の出力信
号2bが立下がり、この立下がりによってJKフリップ
フロップ30の出力信号2cがロウレベルとなる。信号
2cが立下がった後、1クロック後にDフリップフロッ
プ31の出力信号2dが立下がり、その結果NANDゲ
ート32の出力信号2eに1クロック分のロウレベルの
パルスが出力される。この出力信号2eのパルスによっ
て、RSフリップフロップ27の出力である停止指示信
号がハイレベルとなる。
【0053】さらに、マスタCPU1が共有メモリ3か
らステータスとデータを読取る際に発生するアクセス要
求によって、に示すタイミングでカウンタ22の出力
信号1aがロウレベルとなる。マスタCPU1が最後に
共有メモリ3にアクセスした後、所定時間経過後にに
示すタイミングで、カウンタ22の出力信号1aがハイ
レベルとなる。同じタイミングでインバータ23の出力
2bが立下がり、この立下がりによってJKフリップフ
ロップ24の出力信号1cがロウレベルとなる。
【0054】その後、マスタCPU1がコマンドとデー
タを書込む際に発生するアクセス要求によって、に示
すタイミング以降の各信号の変化が繰返される。
【0055】RSフリップフロップ27の出力信号であ
る停止指示信号がハイレベルのときはバスバッファ4を
イネーブル状態にすることによってマスタCPU1のバ
ス10と共有メモリ3のバス12とを接続する。また、
バスバッファ5をディスエーブルにすることによってバ
スバッファ5の出力をハイインピーダンスにする。
【0056】停止指示信号がロウレベルになったとき
に、バスバッファ4がディスエーブルとなり、バスバッ
ファの出力がハイインピーダンスとなる。また、停止指
示信号がロウレベルとなったときに、バスバッファ5を
イネーブルにすることにより、スレーブCPU2のバス
11と共有メモリ3のバス12とを接続する。
【0057】以上説明したように、共有メモリアクセス
検出回路20は、スレーブCPU2のアイドル状態を自
動的に検出し、スレーブCPU2のクロック信号を停止
するとともに、共有メモリ3に対するアクセス権の切換
を行なうので、スレーブCPU2の消費電力を削減する
ことができ、従来のような共有メモリへのアクセス要求
の調停を行なうための調停回路が不要になる。
【0058】さらには、スレーブCPU2は、マスタC
PU1からの処理依頼をポーリングする必要がなく、ス
レーブCPU2の停止状態が解除されると同時にスレー
ブCPU2が処理を開始することが可能になるので、迅
速な処理が可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるマルチプロセッ
サ装置の概略構成を示すブロック図である。
【図2】本発明の実施の形態1におけるマルチプロセッ
サ装置の処理手順を示すフローチャートである。
【図3】本発明の実施の形態2におけるマルチプロセッ
サ装置の概略構成を示すブロック図である。
【図4】本発明の実施の形態2におけるマルチプロセッ
サ装置の処理手順を示すフローチャートである。
【図5】本発明の実施の形態3におけるマルチプロセッ
サ装置の概略構成を示すブロック図である。
【図6】図5の共有メモリアクセス検出回路20の回路
構成の一例を示す図である。
【図7】図5の共有メモリアクセス検出回路20のタイ
ミングチャートである。
【図8】従来のマルチプロセッサ装置の概略構成を示す
ブロック図である。
【符号の説明】
1 マスタCPU 2 スレーブCPU 3 共有メモリ 4,5 バスバッファ 6 スレーブ停止ビットのレジスタ 7 RDYビットのレジスタ 8 クロック制御回路 9 インバータ 15 HALTビットのレジスタ 16 スレーブ起動ビットのレジスタ 17 停止ビットのレジスタ 20 共有メモリアクセス検出回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1のCPUが共有メモリへアクセスす
    るとき、第2のCPUを停止状態にするための停止手段
    と、 前記停止手段によって前記第2のCPUが停止状態にあ
    るときは前記第1のCPUのバスを前記共有メモリのバ
    スに接続し、前記停止手段によって前記第2のCPUが
    動作状態にあるときは前記第2のCPUのバスを前記共
    有メモリのバスに接続するためのバス選択手段とを含む
    マルチプロセッサ装置。
  2. 【請求項2】 前記停止手段は、前記第2のCPUに入
    力されるクロック信号を停止することによって前記第2
    のCPUを停止状態にする、請求項1記載のマルチプロ
    セッサ装置。
  3. 【請求項3】 第1のCPUからの指示によって該第1
    のCPUを停止状態にし、該第1のCPUの停止状態を
    第2のCPUに通知するための停止手段と、 前記停止手段によって前記第1のCPUが停止状態にあ
    るときは前記第2のCPUのバスを前記共有メモリのバ
    スに接続し、前記停止手段によって前記第1のCPUが
    動作状態にあるときは前記第1のCPUのバスを前記共
    有メモリのバスに接続するためのバス選択手段と、 前記第2のCPUからの指示によって前記停止手段によ
    る第1のCPUの停止状態を解除するための解除手段と
    を含むマルチプロセッサ装置。
  4. 【請求項4】 第1のCPUおよび第2のCPUによる
    共有メモリへのアクセス状況を検出するための検出手段
    と、 前記検出手段によって検出されたアクセス状況に基づい
    て共有メモリのバスを前記第1のCPUのバスか前記第
    2のCPUのバスのいずれかに接続するためのバス選択
    手段と、 前記バス選択手段が前記共有メモリのバスを前記第1の
    CPUのバスに接続しているときは、前記第2のCPU
    を停止状態にするための停止手段とを含むマルチプロセ
    ッサ装置。
  5. 【請求項5】 前記検出手段は、所定時間以下の間隔で
    発生する前記共有メモリへのアクセス群を検出し、当該
    アクセス群を所定回検出したときに前記バス検出手段に
    バスの接続の切換を指示する、請求項4記載のマルチプ
    ロセッサ装置。
JP9192702A 1997-07-17 1997-07-17 マルチプロセッサ装置 Withdrawn JPH1139266A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9192702A JPH1139266A (ja) 1997-07-17 1997-07-17 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9192702A JPH1139266A (ja) 1997-07-17 1997-07-17 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JPH1139266A true JPH1139266A (ja) 1999-02-12

Family

ID=16295635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9192702A Withdrawn JPH1139266A (ja) 1997-07-17 1997-07-17 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JPH1139266A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346672A (ja) * 2004-06-07 2005-12-15 Canon Inc メモリ制御方法、メモリ制御システム、プログラム及び記憶媒体
JP2008134893A (ja) * 2006-11-29 2008-06-12 Yamaha Corp 集積回路装置
JP2018049489A (ja) * 2016-09-23 2018-03-29 カシオ計算機株式会社 制御装置、電子時計、処理制御方法、及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346672A (ja) * 2004-06-07 2005-12-15 Canon Inc メモリ制御方法、メモリ制御システム、プログラム及び記憶媒体
JP2008134893A (ja) * 2006-11-29 2008-06-12 Yamaha Corp 集積回路装置
JP2018049489A (ja) * 2016-09-23 2018-03-29 カシオ計算機株式会社 制御装置、電子時計、処理制御方法、及びプログラム
CN107870891A (zh) * 2016-09-23 2018-04-03 卡西欧计算机株式会社 控制装置、电子表、处理控制方法及计算机可读存储介质
CN107870891B (zh) * 2016-09-23 2021-09-17 卡西欧计算机株式会社 控制装置、电子表、处理控制方法及计算机可读存储介质

Similar Documents

Publication Publication Date Title
JP4685312B2 (ja) データ処理システムおよび電力節約方法
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
JPH0218657A (ja) 複数バス・マイクロコンピユータ・システム
KR19990076908A (ko) 전원 관리 장치 및 방법
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
JP2532191B2 (ja) 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法
JPH0679305B2 (ja) 保留バスを用いて割り込みに応じる装置及び方法
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
JPH1139266A (ja) マルチプロセッサ装置
JPH0581178A (ja) パイプラインバス
WO1992006432A1 (en) Device for controlling bus
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JP3240863B2 (ja) 調停回路
JPH0962640A (ja) 共有メモリのアクセス制御方法
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH05289987A (ja) バス権調停回路
JP2007052685A (ja) マイクロコントローラ
JP2697974B2 (ja) デッドロックを回避する方法
JPH02291039A (ja) メモリ制御システム
KR100583455B1 (ko) 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기
KR930001586B1 (ko) 다중 버스 마이크로 컴퓨터 시스템
JP2504552B2 (ja) マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置
JPH05282243A (ja) バスマスター装置及び該装置を用いた電子機器

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041005