JP2002259323A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JP2002259323A JP2002259323A JP2001054443A JP2001054443A JP2002259323A JP 2002259323 A JP2002259323 A JP 2002259323A JP 2001054443 A JP2001054443 A JP 2001054443A JP 2001054443 A JP2001054443 A JP 2001054443A JP 2002259323 A JP2002259323 A JP 2002259323A
- Authority
- JP
- Japan
- Prior art keywords
- register
- cpus
- cpu
- bus
- signal
- 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.)
- Granted
Links
Landscapes
- Bus Control (AREA)
- Microcomputers (AREA)
Abstract
に使用することが可能であるマイクロコンピュータを提
供する。 【解決手段】 マイコン1に設けれらたDMA調停回路
3は、CPU2A,2Bの内何れか1つがCPU選択レ
ジスタ12に選択データの書き込みを行うと、その書き
込まれたデータに基づいて、CPU2A,2Bの何れか
1つとDMA4との間でデータ転送を行うための制御信
号,BUSREQ,BUSACK が伝達されるように調停を行う。
Description
周辺回路間におけるデータ転送を行うデータ転送装置と
を備えてなるマイクロコンピュータに関する。
ュータの処理性能を向上させて高機能化を図るため、複
数のCPUを用いてシステムを構成するものがあり、そ
の一例が、特開平5−282246号公報に開示されて
いる。図13は、この従来技術の構成を示す機能ブロッ
ク図である。各マイコン101(A,B,C)は、夫
々、CPU102,メモリ103,DMA(Direct Memo
ry Access)コントローラ(以下、単にDMAと称す)1
04及び共有バス制御部105を備えて構成されてい
る。そして、3つのマイコン101は、共有バス106
を介して共有メモリ107に対するアクセスを夫々行う
ようになっている。
101(A,B,C)は夫々DMA04を備えている
が、各マイコン101が夫々備えている何れかのメモリ
103と共有メモリ107との間でデータ転送が行われ
る場合は、実質的に何れか1つのDMA104だけが動
作可能であり、その他2つのDMA104が並行して動
作することはできない。従って、必ずしもリソースを有
効に活用しているとは言えなかった。
あり、その目的は、複数のCPUが1つのデータ転送装
置を共通に使用することが可能であるマイクロコンピュ
ータを提供することにある。
コンピュータによれば、調停回路は、複数のCPUの内
何れか1つが選択レジスタにCPU選択用データの書き
込みを行うと、その書き込まれた選択用データに基づい
て、複数のCPUの内何れか1つとデータ転送装置との
間で、データ転送を行うために必要な制御信号が伝達さ
れるように調停を行う。尚、ここでの“何れか1つ”と
は、固定的な意味ではなく、任意選択的な意味で用いて
いる。
のCPUが存在している場合でも、選択レジスタにデー
タの書込みを行うことで何れか1つのCPUを選択する
と、データ転送装置との制御インターフェイスとして使
用される前記制御信号は、その選択された1つのCPU
とデータ転送装置との間において伝達されるように調停
回路が振り分ける。
1つのデータ転送装置を共通に使用することが可能とな
り、従来のように各CPUが夫々使用するデータ転送装
置を個別に配置する必要がなくなるので、回路の配置面
積を削減して小形化を図ることができると共に低コスト
化を図ることができる。
れば、データ転送を行うために必要な制御信号を、デー
タ転送装置が何れか1つのCPUに対して出力するバス
開放要求信号と、そのバス開放要求信号が入力された場
合に、前記CPUが所定の処理を終了した段階でデータ
転送装置に対して出力するバス開放承認信号とする。
尚、ここでの“バス”とは、CPUとデータ転送装置と
が共通に使用する可能性があるバスである。
CPUとデータ転送装置との間で伝達されることで、デ
ータ転送装置は、前記CPUによるバスのアクセスを一
時的に停止させた状態で、そのバスを使用してデータ転
送を行うことができる。そして、これらの信号は、CP
Uとデータ転送装置との間のインターフェイスにおいて
一般的に使用される信号であるから、調停回路がこれら
の信号の入出力先を選択レジスタに書き込まれたデータ
に基づいて調整することで、複数のCPUの何れか1つ
が択一的にデータ転送装置を使用できるようになる。
れば、選択レジスタは、データ転送装置がデータ転送処
理を実行している状態でその他のCPUが書込みを行う
と、その書き込みを無視する。そして、書込み結果観測
レジスタには、選択レジスタに対して実行した書込みが
無視されたことが記憶され、その記憶状態がCPUによ
って読出し可能となる。
他的に制御されると共に、各CPUは、書込み結果観測
レジスタを参照することによって、自身が選択レジスタ
に対して行った書込みが有効に行われたか否かを確認す
ることができ、無効にされていた場合には選択レジスタ
に対する書込みを再度行うなどの処理を行うことも可能
となる。
れば、選択レジスタは、何れか1つのCPUが既に選択
レジスタに対して書込みを行っている状態でその他のC
PUが書込みを行うと、その書き込みを無視する。そし
て、書込み結果観測レジスタには、選択レジスタに対し
て実行した書込みが無視されたことが記憶され、その記
憶状態がCPUによって読出し可能となる。
請求項3と同様に排他的に制御される。また、各CPU
は、請求項3と同様に書込み結果観測レジスタを参照し
て自身が選択レジスタに対して行った書込みが有効に行
われたか否かを確認することができる。
れば、複数のCPUは、夫々、書込み結果観測レジスタ
の読み出し結果に基づいて、データ転送装置に対してパ
ラメータの設定を行なうか否かを判断する。即ち、選択
レジスタに対して実行した書込みが無視されることなく
有効に実行されたことを認識したCPUだけに、データ
転送装置に対するパラメータの設定を可能とすること
で、パラメータ設定の排他制御を容易且つ確実に行なう
ことができる。
れば、何れかのCPUが信号状態検出レジスタの読出し
を行うと、データ転送を行うために必要な制御信号の状
態を検出することが可能となる。従って、各CPUは、
信号状態検出レジスタを参照することで、自身以外のC
PUによるデータ転送装置の使用状態やデータ転送装置
の動作状態などを確認することができる。
れば、複数の周辺回路は、複数系統に分割された共有バ
スのブロックに別れて接続されているので、例えば、デ
ータ転送装置が1つの共有バスを使用して2つの周辺回
路間でデータ転送を実行している場合であっても、CP
Uは、その他の共有バスを使用して異なるブロックの周
辺回路にアクセスすることが可能となる。従って、処理
効率を向上させることができる。
1実施例について図1乃至図7を参照して説明する。図
1は、マイクロコンピュータの電気的構成を示す機能ブ
ロック図である。マイクロコンピュータ(マイコン)1
は、2つのCPU2A,2Bを備えており、これらのC
PU2A,2BがDMA調停回路3を介して1つのDM
Aコントローラ(データ転送装置)4を共通に使用する
ように構成されている。
(及びバス制御信号線)は、DMA調停回路3,マルチ
プレクサ(MUX)6A及びローカルメモリ7Aに接続
されており、データバス8Aは、ローカルメモリ7A及
びトランスミッションゲート(以下、単にTゲートと称
する)9Aに接続されている。尚、Tゲートは、実際に
は双方向バッファとして構成され方向制御が行われるも
のであるが、図示の都合上Tゲートで表している。ま
た、CPU2B側はCPU2A側と対称に構成されてお
り、図1では同一符号に“B”を付して示している。
MA側のアドレスバス10及びデータバス11によって
接続されている。そして、これらのバス10及び11に
は、CPU選択レジスタ12,書込み結果観測レジスタ
13及び信号状態検出レジスタ14の3つのレジスタが
接続されている。これらのレジスタ12〜14は、CP
U2A,2BによりDMA調停回路3を介してアクセス
されるようになっている。
ス開放要求信号であるBUSREQを出力し、DMA調停回路
3は、その信号BUSREQをCPU選択レジスタ12の書込
み結果に応じてCPU2A,2Bの何れか一方に対し信
号BUSREQ(A),(B) として夫々出力するようになってい
る。また、CPU2A,2Bは、DMA調停回路3に対
してバス開放承認信号であるBUSACK(A),(B) を夫々出力
するが、DMA調停回路3は、その信号BUSACK(A),(B)
の何れか一方をCPU選択レジスタ12の書込み結果に
応じてDMA4に信号BUSACKとして出力するようになっ
ている。
電気的構成を示すものである。CPU2A,2B側のア
ドレスバス5A,5Bは、アクセス権調停回路15に夫
々接続されている。また、アドレスバス5Aは、出力バ
ッファ16A及びMUX17Aの入力ポート“0”に接
続されており、アドレスバス5Bは、出力バッファ16
B及びMUX17Bの入力ポート“0”に接続されてい
る。そして、MUX17A及び17Bの入力ポート
“1”には、DMA側のアドレスバス10が接続されて
いる。また、出力バッファ16A及び16Bの出力側
は、アドレスバス10に接続されている。
は、CPU2A,2B側のDMAアドレスバス18A,
18Bが接続されている。DMA側のデータバス11
は、Tゲート19A及び19Bの一方側に共通に接続さ
れており、Tゲート19A及び19Bの他方側は、CP
U2A,2B側のDMAデータバス20A,20Bに接
続されている。
2Bによってアドレスバス5A,5Bに出力されるアド
レスのデコード結果に応じて、DMA4並びに3つのレ
ジスタ12〜14に対するアクセス権を与えるアクセス
許可信号ACS(A),(B)を、出力バッファ16A及び16
B,Tゲート19A及び19Bに対しイネーブル信号と
して排他的に出力するようになっている。
ゲート21及び22の一方の入力端子に与えられてお
り、CPU選択レジスタ12によって出力される選択信
号DMASELは、ANDゲート21他方の入力端子,及びA
NDゲート22他方の入力端子にインバータ(INV)
ゲート23を介して与えられている。ANDゲート2
1,22の出力端子からは信号BUSREQ(A),(B) が夫々出
力されるようになっており、それらの信号はアクセス権
調停回路15にも与えられている。
る信号BUSACK(A),(B) は、MUX24の入力端子
“0”,“1”に夫々与えられていると共にアクセス権
調停回路15にも与えられており、MUX24の出力端
子からは、DMA4に対して信号BUSACKが出力される。
MUX24の選択切替え信号には選択信号DMASELが用い
られており信号DMASELが“ロウ”の場合は入力端子
“0”側が選択され、信号DMASELが“ハイ”の場合は入
力端子“1”側が選択されるようになっている。
得たCPU2A,2BがDMA4或いはレジスタ12〜
14の何れかにアクセスを行うと、内部のステートカウ
ンタに基づく適当なタイミングで、CPU2A,2Bに
バスアクセス終了信号であるACK(A),(B)を出力するよう
になっている(図1では図示せず)。また、アクセス権
調停回路15は、MUX17A,17Bに選択信号DMA
(A),(B) を出力するようになっており、CPU2A,2
Bの何れかが信号BUSACK(A),(B) を出力するとそれに応
じて何れか一方の選択信号DMA (A),(B) を“ハイ”にす
ることで、DMA側のアドレスバス10をCPU2A,
2B側のDMAアドレスバス18A,18Bに接続する
ようになっている。
電気的構成を示すものである。CPU選択レジスタ12
は、直列に接続されたマスタラッチ12M及びスレーブ
ラッチ12Sよりなるダブルラッチ構成であり、これら
のラッチ12M,12Sは、二相クロック信号CKB,
CKAに同期して夫々ラッチ動作を行うようになってい
る。クロック信号CKAは、CPU2A,2Bの動作ク
ロックと同相であり,クロック信号CKBはその逆相側
である。
力のANDゲート25より出力されるようになってお
り、ANDゲート25の入力端子には、CPU選択レジ
スタ12のアドレスデコード信号とクロック信号CKB
が与えられていると共に、CPU2Aまたは2Bが出力
する負論理のライト信号WRと、バス開放要求信号BUSR
EQとが、夫々INVゲート26,27を介して与えられ
ている。一方、スレーブラッチ12Sのラッチ信号に
は、クロック信号CKAが直接与えられている。また、
これらのラッチ12M及び12Sは、マイコン1のシス
テムリセット信号によってリセットされるようになって
いる。
11の何れかのビット線に接続されており、スレーブラ
ッチ12Sの出力側は信号DMASELを出力すると共に、出
力バッファ28を介してデータバス11の何れかのビッ
ト線に接続されている。出力バッファ28のイネーブル
信号はANDゲート29より出力されるようになってお
り、ANDゲート29の入力端子には、CPU選択レジ
スタ12のアドレスデコード信号が与えられていると共
に、CPU2Aまたは2Bが出力する負論理のリード信
号RDがINVゲート30を介して与えられている。
ータの書込みは、DMA4が出力する信号BUSREQがイン
アクティブの状態にある場合にANDゲート25の出力
端子がハイレベルとなることで可能となるように構成さ
れており、書込みデータ(選択用データ)が“0”,
“1”の何れであるかに応じて信号DMASELの状態が変化
するようになっている。
電気的構成を示すものである。書込み結果レジスタ13
は、CPU選択レジスタ12と同様に、マスタラッチ1
3M及びスレーブラッチ13Sよりなるダブルラッチ構
成であり、これらのラッチ信号には、クロック信号CK
B,CKAが夫々直接与えられている。
31の出力端子が接続されており、そのORゲート31
の一方の入力端子には、3入力ANDゲート32の出力
端子が接続されている。ANDゲート32の入力端子に
は、CPU選択レジスタ13のアドレスデコード信号と
バス開放要求信号BUSREQとが与えられていると共に、負
論理のライト信号WRがINVゲート33を介して与え
られている。
ファ34を介してデータバス11の何れかのビット線に
接続されている。出力バッファ34のイネーブル信号は
ANDゲート35より出力されるようになっており、A
NDゲート35の入力端子には、書込み結果レジスタ1
3のアドレスデコード信号が与えられていると共に、負
論理のリード信号RDがINVゲート36を介して与え
られている。
NDゲート37の出力端子が接続されている。ANDゲ
ート37の入力端子には、スレーブラッチ13Sの出力
信号と、3入力NANDゲート38の出力端子が接続さ
れている。NANDゲート38の入力端子には、書込み
結果レジスタ13のアドレスデコード信号が与えられて
いると共に、負論理のライト信号WRがINVゲート3
9を介して与えられ、データバス11の何れかのビット
線がINVゲート40を介して接続されている。また、
これらのラッチ13M及び13Sは、マイコン1のシス
テムリセット信号によってリセットされるようになって
いる。
4が出力する信号BUSREQがアクティブの状態にある場合
に何れかのCPU2A,2BがCPU選択レジスタ12
に任意のデータの書込みを行うと、ANDゲート32の
出力端子がハイレベルとなることでデータ“1”が自動
的に書き込まれる構成である。
号BUSREQがアクティブの状態にある場合には、CPU2
A,2BがCPU選択レジスタ12にデータの書込み行
うことはできない(無視される)。そして、書込み結果
レジスタ13は、CPU選択レジスタ12に対する書込
みが無視されたことを記憶保持するために設けられてい
る。
レジスタ13にデータ“1”が既に書き込まれている状
態で、何れかのCPU2A,2Bが自らデータ“0”を
書き込んでクリアしようとすとロウレベルとなり、AN
Dゲート37をロウレベルにして“0”を書き込むため
に設けられている。
4をも図示している。信号状態検出レジスタ14は、実
質的には3ビットの出力バッファであり、その入力側に
はバス開放要求信号BUSREQ,BUSREQ(A),BUSREQ(B) が夫
々与えられ、出力側はデータバス11の異なるビット線
に夫々接続されている。そして、バッファのイネーブル
信号として、信号状態検出レジスタ14のデコード信号
が与えられている。
ード信号を生成するデコーダは明示していないが、これ
らは、各レジスタ12〜14毎に持っていても良いし、
DMA調停回路3の内部に配置しても良い。また、CP
U2A,2B側で出力されたアドレスをデコードして、
そのデコード結果をDMA調停回路3の内部において選
択して出力するようにしても良い。
降の構成について説明する。DMAアドレスバス18
A,18Bは、MUX6A,6Bの他方の端子に夫々接
続されており、MUX6Aの出力端子は、アドレスバス
41Aを介して共有バス制御回路42A及び42Bと、
出力バッファ43A及び43Bの入力側に接続されてい
る。一方、MUX6Bの出力端子は、アドレスバス41
Bを介して共有バス制御回路42A及び42Bと、出力
バッファ44A及び44Bの入力側に接続されている。
は、共有アドレスバス45を介して、例えばDRAMで
構成される共有メモリ(周辺回路)46のアドレス入力
端子が接続されている。また、出力バッファ43B及び
44Bの出力側は、共有アドレスバス47を介して周辺
回路48(1,…,N)のアドレス入力端子が接続され
ている。
調停回路3によって出力される制御信号(選択信号DMA
(A),(B) )によって行われる。また、出力バッファ43
A及び44A,43B及び44Bのイネーブル制御は、
共有バス制御回路42A,42Bのアドレスデコード結
果に基づいて行われるようになっている。
は、データバス49Aを介して2つのTゲート50A,
50Bに接続されている。Tゲート50Aの他方側に
は、共有データバス51を介して共有メモリ46のデー
タ入出力端子が接続されており、Tゲート50Bの他方
側には、共有データバス52を介して周辺回路48のデ
ータ入出力端子が接続されている。
ス49Bを介して2つのTゲート53A,53Bに接続
されており、それらのTゲート53A,53Bの他方側
には、共有データバス51,52が接続されている。そ
して、DMAデータバス20A,20Bは、Tゲート5
4A,54Bを介してデータバス49A,49Bに夫々
接続されている。
MA調停回路3によって出力される制御信号(選択信号
DMA (A),(B) とリード信号RD,ライト信号WRに基づ
く信号)によって行われる。また、Tゲート50A及び
53A,50B及び53Bのイネーブル制御は、共有バ
ス制御回路42A,42Bのアドレスデコード結果に基
づいて行われるようになっている。尚、共有バス制御回
路42A,出力バッファ43A及び44A,Tゲート5
0A及び53Aはバス調停回路55Aを構成しており、
共有バス制御回路42B,出力バッファ43B及び44
B,Tゲート50B及び53Bはバス調停回路55Bを
構成している。
7を参照して説明する。図5は、CPU2AがDMA4
にDMA転送を行わせる場合の処理の流れを示すフロー
チャートである。CPU2Aは、先ず、信号状態検出レ
ジスタ14にアクセスして読み出しを行う(ステップS
1)。
調停回路15は、CPU2Aがドライブしたアドレスを
デコードして、その時点でCPU2BがDMA4側のデ
バイスにアクセスを行っていなければ、アクセス許可信
号ACS(A)を出力バッファ16A並びにTゲート19Aに
対し出力する。そして、信号状態検出レジスタ14はア
ドレスデコード信号が与えられてイネーブルとなり、デ
ータバス11の例えばD0,D1,D2には、BUSREQ,
BUSREQ(A),BUSREQ(B) の信号状態に応じたレベルが出力
される。
(B) が何れもインアクティブであることを確認すると
(ステップS2,「YES」)、CPU選択レジスタ1
2にデータ“0”を書き込む(ステップS3)。する
と、選択信号DMASELはロウレベルとなる。また、BUSRE
Q, BUSREQ(B) の何れがアクティブである場合には(ス
テップS2,「NO」)ステップS1に戻る。
込み結果観測レジスタ13を読み出すと(ステップS
4)、ステップS3で行われた書込みの結果が「OK」
であるか否かを判断する。書込み結果観測レジスタ13
より読み出されたデータが“0”であれば書込み結果は
「OK」であり(ステップS5,「YES」)、CPU
2Aは、続いてDMA4に転送パラメータの設定を行う
(ステップS6)。
み出されたデータが“1”であれば、ステップS2にお
ける信号状態の確認後にCPU2BがCPU選択レジス
タ12に書込みを行ったため、ステップS3で行われた
書込みは無視されていることを示す。従って、CPU2
Aは、ステップS5で「NO」と判断してステップS1
に戻り、シーケンスを最初からやり直す。
は、ステップS3でレジスタ12に行った書込みが確実
に行われていることを確認できなければ、それ以降のD
MA4側に対するアクセスを行うことはない。
ータ”とは、DMA転送の転送元(ソース)アドレス,
転送先(デスティネーション)アドレス,転送サイズ
(ビット幅),転送データ量,転送開始条件などを示
す。これらのパラメータを、CPU2AがDMA4に内
蔵されている制御レジスタに書き込んで設定する。
2Aのハードウエアによって処理されるシーケンスであ
る。また、図6は、この場合の各信号波形の状態を示す
タイミングチャートである。DMA4は、転送開始条件
(例えば、何れかの周辺回路が発生した割込み信号の入
力など)が成立すると、DMA転送を実行するためにバ
ス開放要求信号BUSREQをアサート(ハイアクティブ)し
てCPU2側にバスの開放要求を出力する(図6,
)。この場合、選択信号DMASELはロウレベルであるか
ら、DMA調停回路3においてはANDゲート22がハ
イレベルとなってBUSREQ(A) がアサートされる(図6,
)。
ートされると(ステップS7,「YES」)、その時点
で自身が何らかの処理中である場合にはその処理が終了
するまで待機し(ステップS8)、前記処理が終了する
と(「NO」)バス開放応答信号BUSACK(A) をアサート
する(ステップS9,図6,)。CPU2Aが信号BU
SACK(A) をアサートすると、DMA調停回路3において
は選択信号DMASELがロウレベルであるからMUX24の
(A)側が選択され、BUSACK(A) がBUSACKとしてDMA
4側に出力される(図6,)。
SACKのアサートを受けてDMA転送を開始する。例え
ば、転送元が共有バス45,51側における周辺回路
(図示せず)であり、転送先が共有メモリ46である場
合、DMA4は、設定されたソースアドレスをドライブ
して周辺回路にリードアクセスを行う(図6,)。
停回路15においては、バス開放応答信号BUSACK(A) が
アサートされていることでDMA転送の実行信号DMA(A)
がハイレベルとなり、MUX17Aの“0”側が選択さ
れてDMA側のアドレスバス10がCPU2A側のアド
レスバス18Aに接続される。また、Tゲート19Aは
イネーブルとなり、DMA側のデータバス11がCPU
2A側のデータバス20Aに接続される。
は、MUX6Aにおいてバス18A側が選択されること
でアドレスバス41A上に出力されて共有バス制御回路
42Aにおいてデコードされ、その結果、出力バッファ
43がイネーブルとなって共有アドレスバス45がドラ
イブされる。
おけるデータバッファ等にリードアクセスを行いデータ
を読み出すと、次のバスサイクルではデスティネーショ
ンアドレスを出力して転送先の共有メモリ46にライト
アクセスを行うことでDMA転送を実行する。図6に示
す例では、アドレス5200Hをリードしてデータ33
0Hを読み出し(図6,)、次に、アドレス5400
Hに読み出したデータ330Hを書き込んでいる(図
6,)。
転送先へのライトのサイクルを交互に繰り返す。この
間、CPU2Aは、図6に示すように外部サイクルを実
行することなく待機している。そして、CPU2Aが設
定した転送量に相当するデータを共有メモリ46に転送
してDMA転送を終了すると、DMA4は、バス開放要
求信号BUSREQをネゲートする(図6,)。すると、C
PU2A側の信号BUSREQ(A) がネゲートされるので(図
6,:図5,ステップS10,「YES」)、CPU
2Aは、BUSACK(A) をネゲートする(ステップS11,
図6,)。それから、DMA4側の信号BUSACKがネゲ
ートされて(図6,“10”)、一連の処理が終了する。
5,51側においてDMA転送を行っている間、CPU
2B側は、図6に示すように、共有バス45,51とは
分離されている共有バス47,52側において周辺回路
48に対するアクセスを行うことが可能となっている。
尚、以上の処理は、CPU2Bが図5のフローチャート
に示す設定を行うことで、実行させても良い。
が設定を行うことで、DMA調停回路3によりCPU2
B側にバス開放を要求させて、DMA4が共有バス4
7,52側においてDMA転送を実行する場合の例であ
る。即ち、図5に示すフローチャートのステップS3に
おいて、CPU2A,2Bの何れかがCPU選択レジス
タ12に“1”を書き込むことで選択信号DMASELはハイ
レベルとなり、CPU2B側にバス開放を要求させるこ
とができる。
号BUSREQをアサートすると(図7,)、選択信号DMAS
ELはハイレベルであるからDMA調停回路3においては
ANDゲート21がハイレベルとなってBUSREQ(B) がア
サートされる(図7,)。そして、CPU2Bは、BU
SREQ(B) がアサートされるとその時点で行っている処理
が終了した時点でバス開放応答信号BUSACK(B) をアサー
トする(図7,)。CPU2Bが信号BUSACK(B) をア
サートすると、DMA調停回路3においては選択信号DM
ASELがハイレベルであるからMUX24のB側が選択さ
れ、BUSACK(B)がBUSACKとしてDMA4側に出力される
(図7,)。
る。例えば、転送元が共有バス47,52側における2
つの周辺回路48間で行われる場合、DMA4は、設定
されたソースアドレスをドライブして例えば周辺回路4
8(1)にリードアクセスを行う。図7に示す例では、
アドレス6200HをリードしてデータAA0Hを読み
出し(図7,)、次に、アドレス6400Hに読み出
したデータAA0Hを書き込んでいる(図7,)。こ
の間、CPU2Bは、外部サイクルを実行することなく
待機している。
4はバス開放要求信号BUSREQをネゲートする(図7,
)。すると、CPU2B側の信号BUSREQ(B) がネゲー
トされるので(図7,)、CPU2Bは、BUSACK(B)
をネゲートする(図7,)。それから、DMA4側の
信号BUSACKがネゲートされて(図7,“10”)、一連の
処理が終了する。尚、この場合も、DMA4が共有バス
47,52側においてDMA転送を行っている間、CP
U2A側は、図7に示すように、共有バス45,51側
において例えば共有メモリ46に対するアクセスを行う
ことが可能となっている。
1に設けれらたDMA調停回路3は、CPU2A,2B
の内何れか一方がCPU選択レジスタ12に選択用デー
タの書き込みを行うと、その書き込まれたデータに基づ
いて、CPU2A,2Bの何れか一方とDMA4との間
でデータ転送を行うための制御信号,BUSREQ,BUSACKが
伝達されるように調停を行うようにした。
路3を介して1つのDMA4を共通に使用することが可
能となり、従来のように各CPU2A,2Bが夫々使用
するDMA4を個別に配置する必要がなくなるので、回
路の配置面積を削減して小形化を図ることができると共
に低コスト化を図ることができる。
2A,2Bの何れかが既に書込みを行うことでDMA4
がデータ転送を実行している状態で、その他のCPU2
A,2Bが書込みを行うとその書き込みを無視し、書込
み結果観測レジスタ13には、CPU選択レジスタ12
に対して実行した書込みが無視されたことが記憶され、
その記憶状態がCPU2A,2Bによって読出し可能と
なるように構成した。
書込みは排他的に制御されると共に、各CPU2A,2
Bは、書込み結果観測レジスタ13を参照することで、
自身がCPU選択レジスタ12に対して行った書込みが
有効に行われたか否かを確認することができ、無効にさ
れていた場合にはCPU選択レジスタ12に対する書込
みを再度行うなどの処理を行うことも可能となる。
み結果観測レジスタ13の読み出し結果に基づいて、D
MA4に対して転送パラメータの設定を行なうか否かを
判断するので、CPU選択レジスタ12に対して実行し
た書込みが無視されることなく有効に実行されたことを
認識したCPUだけがDMA4に対する転送パラメータ
の設定が可能となり、転送パラメータ設定の排他制御を
容易且つ確実に行なうことができる。
Bの何れかが信号状態検出レジスタ14の読出しを行う
と、信号BUSREQ, BUSREQ(A),BUSREQ(B) の状態を検出す
ることができるので、各CPU2A,2Bは、信号状態
検出レジスタ14を参照することで、自身以外のCPU
2A,2BによるDMA4の使用状態やDMA4の動作
状態などを確認することができる。
複数の周辺回路(48,共有メモリ46を含む)を、複
数系統に分割された共有バス45及び51、並びに47
及び52の各ブロックに分けて接続しているので、例え
ば、DMA4が一方の共有バス45及び51を使用して
2つの周辺回路間でDMA転送を実行している場合であ
っても、CPU2Bは、他方の共有バス47及び52を
使用して異なるブロックの周辺回路48にアクセスする
ことができ、処理効率を向上させることができる。
る場合に限ることなく、例えば、CPU2Aによる共有
メモリ46に対するアクセスと、CPU2Bによる周辺
回路48(1)に対するアクセスとを並行して同時に実
行することが可能となる。
よる)DMA転送を行っている間、バス調停回路55A
によってDMA転送のサイクルの途中にCPU2のサイ
クルを割り込ませてメモリ46にアクセスさせることも
できるので(例えば、DMA4が出力するバス制御信号
によって他のCPUによるサイクルが割り込めないよう
に排他制御する構成を採用しなければ良い)、CPU2
の処理効率の低下を極力防止することができる。
を示すものであり、第1実施例と同一部分には同一符号
を付して説明を省略し、以下異なる部分についてのみ説
明する。第2実施例のマイコン56は、第1実施例のマ
イコン1における信号状態検出レジスタ14を取り除
き、CPU2A,2B側のローカルなバス5A及び8
A,5B及び8B内に信号状態検出レジスタ57A,5
7Bを夫々配置したものである。
するレジスタ57Aでは、CPU2B側のバス開放要求
信号BUSREQ(B) の状態を参照できるようになっており、
逆に、CPU2Bがローカルにアクセスするレジスタ5
7Bでは、CPU2A側の信号BUSREQ(A) の状態を参照
できるようになっている。
14は、DMA4がDMA転送を行っている場合には実
質的にCPU2A,2Bがアクセスを行うことができ
ず、利用効率が余り良くない。そこで、第2実施例で
は、信号状態検出レジスタ57A,57Bを夫々配置す
ることで、CPU2A,2Bは、DMA調停回路3を介
すことなくレジスタ57A,57Bにローカルにアクセ
スすることができ、信号状態検出レジスタ57A,57
Bの利用効率を向上させることができる。
を示すものであり、第1実施例と同一部分には同一符号
を付して説明を省略し、以下異なる部分についてのみ説
明する。第3実施例のマイコン58は、第1実施例のマ
イコン1におけるバス調停回路55B並びに共有バス4
7及び52側を削除して、周辺回路48を、共有メモリ
46と共に共有バス45及び51側に配置したものであ
る。
ば、DMA4がDMA転送を行っている場合には、CP
U2A,2Bの何れも共有メモリ46や周辺回路48に
アクセスすることはできないが、夫々ローカルなバス5
A及び8A,5B及び8Bにおいてローカルメモリ7
A,7Bにインストラクションアクセス等を行うことは
可能である。そして、DMA4を共通に使用することに
ついては、第1実施例と同様に行うことができる。
例を示すものであり、第1乃至第3実施例と同一部分に
は同一符号を付して説明を省略し、以下異なる部分につ
いてのみ説明する。第3実施例のマイコン59は、第2
実施例のマイコン56と、第3実施例のマイコン58の
特徴的な構成を組み合わせたものである。即ち、CPU
2A,2B側のバス5A及び8A,5B及び8B内に信
号状態検出レジスタ57A,57Bを夫々配置し、且
つ、周辺回路48を共有メモリ46と共に共有バス45
及び51側に配置したものである。
0A,50Bが削除されており、バス調停回路60を構
成している。そして、CPU2A側のデータバス8Aは
Tゲート9Aを介してデータバス51に直結されてい
る。同様に、CPU2B側のデータバス8BはTゲート
9Bを介してデータバス51に直結されている。更に、
DMA調停回路3側のデータバス20B及びTゲート5
4Bも削除されており、Tゲート54Aの一方の側(D
MA調停回路3と反対の側)には、データバス51に直
結されている。
の内部においてMUX17A,17Bは削除されてお
り、MUX6A,6Bには、アドレスバス18A,18
Bに代えてDMA4側のアドレスバス10が共通に入力
されている。
は、DMA4側にデータアクセスする際は、Tゲート9
A,データバス51及びTゲート54を介してアクセス
することになり、CPU2Bは、Tゲート9B,データ
バス51及びTゲート54を介してアクセスすることに
なる。
たは第3実施例と同様の効果が得られると共に、バス制
御に必要な回路素子を第3実施例の場合よりも少なくす
ることができるので、小形化及び低コスト化を一層図る
ことができる。
の第5実施例を示すものであり、第1実施例と異なる部
分についてのみ説明する。第5実施例では、CPU選択
レジスタ12に対する書き込みを制御する周辺回路の構
成が第1実施例と異なっている。即ち、図11に示すよ
うに、第1実施例においてANDゲート25の入力端子
に接続されていたINVゲート27に代えてDフリップ
フロップ61が配置され、そのQバー出力端子が前記入
力端子に接続されている。このQバー出力端子からは、
書込み制御信号WFバーが出力される。
ルアップされており、クロック入力端子には、ANDゲ
ート25の出力端子がディレイライン64を介して接続
されている。Dフリップフロップ61のQ出力端子から
は書込み制御信号WFが出力され、その信号WFは、図
12に示すように、書込み結果観測レジスタ13側のA
NDゲート32の入力端子に、信号BUSREQに代えて与え
られている。
子には、ORゲート62の出力端子が接続されている。
そのORゲート62の一方の入力端子にはリセット信号
が与えられており、他方の入力端子はワンショットマル
チバイブレータ(OMVと称す)63のQ出力端子に接
続されている。OMV63のトリガ入力端子T(負論
理)には、信号BUSACKが与えられている。その他の構成
は第1実施例と同様である。
る。Dフリップフロップ61は、初期状態ではリセッ
ト信号によりリセットされており、書込み制御信号WF
はロウレベル,WFバーはハイレベルとなっているた
め、CPU選択レジスタ12は書込み可能な状態にあ
る。
BがCPU選択レジスタ12に書込みを行なうとAND
ゲート25の出力端子がハイレベルとなり、その信号の
遷移状態がディレイライン64を介してDフリップフロ
ップ61のクロック入力端子に与えられる。すると、D
フリップフロップ61は前記信号の遷移における立上が
りエッジによってセットされ、書込み制御信号WFはハ
イレベル,WFバーはロウレベルとなるので、CPU選
択レジスタ12は書込み不能となる。尚、ディレイライ
ン64によって付与される遅延時間は、マスタラッチ1
2Mにおけるラッチ信号のハイレベルホールドタイムが
十分確保できるように設定する。
で、何れかのCPU2A,2BがCPU選択レジスタ1
2に書込みを行なうと、ANDゲート32の出力端子が
ハイレベルとなり書込み結果観測レジスタ13にデータ
“1”がセットされる。即ち、この状態に至ると、第1
実施例の図5に示すフローチャートにおいては、CPU
選択レジスタ12に対する書込みを成功させたCPU以
外のCPUは、ステップS5から先に進めなくなる。
タ12に対する書込みを成功させたCPUの設定に基づ
くDMA転送を終了して例えば図6に示すタイミングチ
ャートのにおいて信号BUSREQをネゲートすると、CP
U2AがBUSACK(A) をネゲートする。それに応じてDM
A4側の信号BUSACKがネゲートされると(図6,“1
0”)、OMV63は、信号BUSACKの立下がりエッジを
トリガとして所定パルス幅(Dフリップフロップ61を
リセットするのに十分な時間に相当する)のハイレベル
信号をワンショットで出力する。すると、そのワンショ
ットパルスの出力期間でANDゲート63の出力端子が
ハイレベルとなりDフリップフロップ61はリセットさ
れ、CPU選択レジスタ12は、上記と同様の書込み
可能な状態に戻る。その他の作用については、第1実施
例と全く同様であり、処理の流れは図5に示すフローチ
ャートに従って実行される。
選択レジスタ12を、CPU2A,2Bの何れかが書込
みを行った時点で直ちに書込みが不能となるように構成
し、その他のCPU2A,2Bが行なう書き込みを無視
するようにしたので、CPU選択レジスタ12に対する
書込みの排他制御をより確実に行なうことができる。
にのみ限定されるものではなく、次のような変形または
拡張が可能である。第1実施例において、DMA転送
を、例えば周辺回路48(1)から共有メモリ46に対
して行っても良い。書込み結果観測レジスタ13につい
ても、第2実施例の信号状態検出レジスタ57A,57
Bと同様に、CPU2A,2B側のローカルなバス5A
及び8A,5B及び8B内に夫々配置しても良い。CP
U選択レジスタ12のデータ値を読み出す機能は必要に
応じて設ければく、不要な場合はゲート28〜30を削
除しても良い。また、書込み結果観測レジスタ13にデ
ータ“0”を書込む機能も必要に応じて設ければ良く、
不要な場合はゲート31,37〜40を削除して,AN
Dゲート32の出力端子をマスタラッチ13Mの入力側
に直結すれば良い。また、書込み結果観測レジスタ13
及び信号状態検出レジスタ14は、必要に応じて設けれ
ば良い。
A,57Bにおいて、DMA4が出力する信号BUSREQの
状態を参照できるように構成しても良い。第3実施例に
おける共有側のバス構成を、第4実施例と同様にしても
良い。データ転送を行うために必要な制御信号は、バス
開放要求信号,及びバス開放承認信号に限ることなく、
個別の設計に応じて必要とされる制御信号であれば良
い。第1乃至第3実施例においても、第4実施例と同様
に、DMA調停回路3の内部のMUX17A,17Bを
削除し、MUX6A,6BにDMA4側のアドレスバス
10を共通に入力するように構成しても良い。CPUは
3個以上あっても良く、調停回路は、そのCPUの数に
応じて、選択レジスタに書き込まれる選択用データに基
づき制御信号の振り分けを行うように構成すれば良い。
また、共有バスについても、3系統以上あっても良い。
データ転送装置は、複数のCPUによって共通に使用さ
れるものが2個以上あっても良い。マイクロコンピュー
タは、ワンチップ構成のものに限らず、ディスクリート
デバイスを組み合わせて構成したものでも良い。
ータの電気的構成を示す機能ブロック図
す図
図
図
処理の流れを示すフローチャート
形の状態を示すタイミングチャート(その1)
DMA調停回路、4はDMAコントローラ(データ転送
装置)、12はCPU選択レジスタ、13は書込み結果
観測レジスタ、14は信号状態検出レジスタ、45,4
7はアドレスバス(共有バス)、51,52はデータバ
ス(共有バス)、56はマイクロコンピュータ、57
A,57Bは信号状態検出レジスタ、58,59はマイ
クロコンピュータを示す。
Claims (7)
- 【請求項1】 複数のCPUと、 これら複数のCPUと共有バスを介して接続されている
複数の周辺回路と、 前記複数のCPUによって共通に使用され、それらのC
PUによって設定されたパラメータに基づいて、前記複
数の周辺回路間におけるデータ転送を行うデータ転送装
置と、 前記複数のCPUの内何れか1つによって、CPU選択
用のデータの書き込みが行われる選択レジスタと、 この選択レジスタに書き込まれたデータに基づいて、前
記複数のCPUの内何れか1つと前記データ転送装置と
の間で、前記データ転送を行うために必要な制御信号が
伝達されるように調停を行う調停回路とを備えてなるこ
とを特徴とするマイクロコンピュータ。 - 【請求項2】 前記データ転送を行うために必要な制御
信号は、 前記データ転送装置が何れか1つのCPUに対してバス
の開放を要求するために出力するバス開放要求信号と、 前記バス開放要求信号が入力された場合に、前記CPU
が所定の処理を終了した段階で、前記データ転送装置に
対してバスの開放を承認するために出力するバス開放承
認信号とであることを特徴とする請求項1記載のマイク
ロコンピュータ。 - 【請求項3】 前記選択レジスタは、前記データ転送装
置がデータ転送処理を実行している状態で、その他の何
れかのCPUが当該レジスタに対して実行した書き込み
を無視するように構成されており、 前記選択レジスタに対して実行した書込みが無視された
ことが記憶され、その記憶状態が読出し可能に構成され
る書込み結果観測レジスタを備えたことを特徴とする請
求項1または2記載のマイクロコンピュータ。 - 【請求項4】 前記選択レジスタは、何れか1つのCP
Uが既に書込みを行っている状態で、その他の何れかの
CPUが当該レジスタに対して実行した書き込みを無視
するように構成されており、 前記選択レジスタに対して実行した書込みが無視された
ことが記憶され、その記憶状態が読出し可能に構成され
る書込み結果観測レジスタを備えたことを特徴とする請
求項1または2記載のマイクロコンピュータ。 - 【請求項5】 前記複数のCPUは、夫々、前記書込み
結果観測レジスタの読み出し結果に基づいて、前記デー
タ転送装置に対して前記パラメータの設定を行なうか否
かを判断することを特徴とする請求項3または4記載の
マイクロコンピュータ。 - 【請求項6】 何れかのCPUが読出しを行うことで、
前記データ転送を行うために必要な制御信号の状態を検
出することが可能に構成される信号状態検出レジスタを
備えたことを特徴とする請求項1乃至5の何れかに記載
のマイクロコンピュータ。 - 【請求項7】 前記共有バスは、複数系統に分割されて
おり、 前記周辺回路は、1つ以上毎に、前記複数系統に分割さ
れた共有バスのブロックに別れて接続されていることを
特徴とする請求項1乃至6の何れかに記載のマイクロコ
ンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001054443A JP4319788B2 (ja) | 2001-02-28 | 2001-02-28 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001054443A JP4319788B2 (ja) | 2001-02-28 | 2001-02-28 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002259323A true JP2002259323A (ja) | 2002-09-13 |
JP4319788B2 JP4319788B2 (ja) | 2009-08-26 |
Family
ID=18914773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001054443A Expired - Fee Related JP4319788B2 (ja) | 2001-02-28 | 2001-02-28 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4319788B2 (ja) |
-
2001
- 2001-02-28 JP JP2001054443A patent/JP4319788B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4319788B2 (ja) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4270167A (en) | Apparatus and method for cooperative and concurrent coprocessing of digital information | |
US7096296B2 (en) | Supercharge message exchanger | |
US5339395A (en) | Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode | |
EP0426329B1 (en) | Combined synchronous and asynchronous memory controller | |
JP3661235B2 (ja) | 共有メモリシステム、並列型処理装置並びにメモリlsi | |
US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
US20040236893A1 (en) | Bus architecture for system on a chip | |
JP2004005613A (ja) | 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法 | |
JPH10134008A (ja) | 半導体装置およびコンピュータシステム | |
JPH0833875B2 (ja) | バス裁定システム | |
JPH02289017A (ja) | コンピユータシステム内でデータ転送方法 | |
JPS6035696B2 (ja) | デ−タ処理装置における母線制御装置 | |
JPS5925254B2 (ja) | デイジタル・デ−タ処理装置 | |
JP2001202327A (ja) | バス使用効率を高めた集積回路装置のバス制御方式 | |
US6487617B1 (en) | Source-destination re-timed cooperative communication bus | |
JPH11184804A (ja) | 情報処理装置及び情報処理方法 | |
JPH10116187A (ja) | マイクロコンピュータ | |
WO2007105376A1 (ja) | 集積回路、及び集積回路システム | |
US6202117B1 (en) | Host adapter integrated circuit having autoaccess pause | |
JPS581451B2 (ja) | デ−タ転送方式 | |
JP2002259323A (ja) | マイクロコンピュータ | |
JPS62154045A (ja) | バス調停方式 | |
JPS61166647A (ja) | マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法 | |
JP3511407B2 (ja) | インタフェースボード及び命令処理装置 | |
KR100579419B1 (ko) | Ddr sdram 데이터 전송을 위한 amba인터페이스 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050825 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090319 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090529 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140605 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |