JPH0773136A - コンピュータシステムの動作方法 - Google Patents
コンピュータシステムの動作方法Info
- Publication number
- JPH0773136A JPH0773136A JP34921193A JP34921193A JPH0773136A JP H0773136 A JPH0773136 A JP H0773136A JP 34921193 A JP34921193 A JP 34921193A JP 34921193 A JP34921193 A JP 34921193A JP H0773136 A JPH0773136 A JP H0773136A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- cpu
- request
- priority
- bus
- 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
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 回路動作のタイムラグを減少させ、能率よく
動作する。 【構成】 DMAコントローラが特定のデバイスにアク
セスするためのDMA用信号バスを備えている構成で、
CPUが、DMA用信号バスを使用してそれらのデバイ
スをアクセスする場合には、CPUサイクルによらず、
DMAサイクルによりデバイスをリードライト制御す
る。 【効果】 DMAサイクルを単位として、CPUにDM
A用信号バスを明け渡せばよいので、回路動作のタイム
ラグが減少すると共に、CPUがDMA用信号バスをア
クセスするときでも、DMAバス側のデバイスはのDM
A転送が止められることがない。
動作する。 【構成】 DMAコントローラが特定のデバイスにアク
セスするためのDMA用信号バスを備えている構成で、
CPUが、DMA用信号バスを使用してそれらのデバイ
スをアクセスする場合には、CPUサイクルによらず、
DMAサイクルによりデバイスをリードライト制御す
る。 【効果】 DMAサイクルを単位として、CPUにDM
A用信号バスを明け渡せばよいので、回路動作のタイム
ラグが減少すると共に、CPUがDMA用信号バスをア
クセスするときでも、DMAバス側のデバイスはのDM
A転送が止められることがない。
Description
【0001】
【産業上の利用分野】本発明は、CPUが特定のデバイ
スにアクセスするための信号バスと、DMAコントロー
ラが他のデバイスにアクセスするための信号バスとを備
えているコンピュータシステムの動作方法に関する。
スにアクセスするための信号バスと、DMAコントロー
ラが他のデバイスにアクセスするための信号バスとを備
えているコンピュータシステムの動作方法に関する。
【0002】
【従来の技術】基本的なコンピュータシステムは、CP
U、メモリ、I/OデバイスおよびDMAコントローラ
などを、一つの信号バスに接続して構成する。信号バス
は、アドレスバスとデータバスとで構成する。
U、メモリ、I/OデバイスおよびDMAコントローラ
などを、一つの信号バスに接続して構成する。信号バス
は、アドレスバスとデータバスとで構成する。
【0003】この場合、CPUは、アドレスバスからア
ドレス信号を出力して、アクセスするメモリアドレスや
I/Oアドレスを指定する。そして、データバスを介し
て、指定したメモリやI/Oデバイスとの間でデータを
入出力する。また、CPUが、DMAコントローラを起
動すると、DMAコントローラは、上記CPUの場合と
同様に、信号バスを使用して、各デバイスに対するデー
タの入出力動作を実行する。
ドレス信号を出力して、アクセスするメモリアドレスや
I/Oアドレスを指定する。そして、データバスを介し
て、指定したメモリやI/Oデバイスとの間でデータを
入出力する。また、CPUが、DMAコントローラを起
動すると、DMAコントローラは、上記CPUの場合と
同様に、信号バスを使用して、各デバイスに対するデー
タの入出力動作を実行する。
【0004】上記構成の場合、DMAコントローラは、
動作中、信号バスを専有してしまうので、CPUは、そ
の信号バスを同時に使用して各デバイスにアクセスする
ことができない。
動作中、信号バスを専有してしまうので、CPUは、そ
の信号バスを同時に使用して各デバイスにアクセスする
ことができない。
【0005】このような不都合を無くすものとして、例
えば、特開平3−286241号公報に見られる提案が
ある。この提案は、CPUが特定のデバイスにアクセス
する際に使用するCPU用信号バスと、DMAコントロ
ーラが他のデバイスにアクセスする際に使用するDMA
用信号バスとをそれぞれ配設するものである。この提案
によれば、CPUのアクセス動作と、DMAコントロー
ラのアクセス動作とを同時に実行することができるの
で、コンピュータシステムは、各種処理を能率よく短時
間で実行することができるようになる。
えば、特開平3−286241号公報に見られる提案が
ある。この提案は、CPUが特定のデバイスにアクセス
する際に使用するCPU用信号バスと、DMAコントロ
ーラが他のデバイスにアクセスする際に使用するDMA
用信号バスとをそれぞれ配設するものである。この提案
によれば、CPUのアクセス動作と、DMAコントロー
ラのアクセス動作とを同時に実行することができるの
で、コンピュータシステムは、各種処理を能率よく短時
間で実行することができるようになる。
【0006】一方、上記構成の場合、CPUは、必要に
応じてDMA用信号バス側の各デバイスにもアクセスす
る必要がある。上記提案では、このようなアクセス動作
を実行する場合には、CPU用信号バスとDMA用信号
バスとを連結するようにしていた。
応じてDMA用信号バス側の各デバイスにもアクセスす
る必要がある。上記提案では、このようなアクセス動作
を実行する場合には、CPU用信号バスとDMA用信号
バスとを連結するようにしていた。
【0007】
【発明が解決しようとする課題】ここで、図12に示す
ように、DMAコントローラによるDMAデータ転送実
行中に、CPUからDMA用信号バス側のデバイスへの
アクセス要求が生じたとする。DMAデータ転送動作
は、DMAサイクルと呼ばれる規定周期T1単位で実行
するものである。従ってこの場合、実行中の1サイクル
が終了すると、そのDMAデータ転送動作は一時休止す
る。そして、CPUが、CPUサイクルと呼ばれる別の
規定周期T2単位で所定のデータ転送を実行する。その
後、再びDMAサイクルでDMAデータ転送動作を再開
するようになる。
ように、DMAコントローラによるDMAデータ転送実
行中に、CPUからDMA用信号バス側のデバイスへの
アクセス要求が生じたとする。DMAデータ転送動作
は、DMAサイクルと呼ばれる規定周期T1単位で実行
するものである。従ってこの場合、実行中の1サイクル
が終了すると、そのDMAデータ転送動作は一時休止す
る。そして、CPUが、CPUサイクルと呼ばれる別の
規定周期T2単位で所定のデータ転送を実行する。その
後、再びDMAサイクルでDMAデータ転送動作を再開
するようになる。
【0008】しかし、DMAサイクルとCPUサイクル
とはお互いに無頓着に動作するので、CPUはDMAサ
イクルをモニタし、DMAサイクルの終了を検知してか
らバスを明け渡してもらうという手順を踏まなくてはな
らない。また、バスが接続され、CPUがDMA用信号
バス側の各デバイスにアクセスし、そのアクセスが終了
したときもバスを切離してDMAコントローラ側にバス
を引き渡す手順が必要であり、少なくとも接続及び切離
しの手順のための時間T3、T4のタイムラグが発生し
てしまい、コンピュータシステムが能率よく動作するこ
とができないという問題があった。
とはお互いに無頓着に動作するので、CPUはDMAサ
イクルをモニタし、DMAサイクルの終了を検知してか
らバスを明け渡してもらうという手順を踏まなくてはな
らない。また、バスが接続され、CPUがDMA用信号
バス側の各デバイスにアクセスし、そのアクセスが終了
したときもバスを切離してDMAコントローラ側にバス
を引き渡す手順が必要であり、少なくとも接続及び切離
しの手順のための時間T3、T4のタイムラグが発生し
てしまい、コンピュータシステムが能率よく動作するこ
とができないという問題があった。
【0009】また、CPUによるDMA用信号バスアク
セスがストリング命令によるものであった場合は、スト
リング命令による連続アクセスが終了するまでは、本来
のDMA転送が止められ、一定間隔毎にサービスする必
要のあるDMA転送要求がある場合、それに対応するこ
とができなくなる。
セスがストリング命令によるものであった場合は、スト
リング命令による連続アクセスが終了するまでは、本来
のDMA転送が止められ、一定間隔毎にサービスする必
要のあるDMA転送要求がある場合、それに対応するこ
とができなくなる。
【0010】ここで、ストリング命令について説明す
る。コンピュータシステムにおいては、メモリに連続し
て定義されるデータを扱うことが多い。例えば、メモリ
の8000H番地から始まる100Hバイトのデータを
メモリの9000H番地から始まる90FFH番地まで
の領域に転送するいわゆるブロック転送がある。その他
にも、CPUのあるレジスタの値とメモリに連続して定
義されるデータとを比較していく比較操作等がある。こ
れらの操作をメモリに連続して定義されるデータに対し
て一度に行なうのがストリング命令である。
る。コンピュータシステムにおいては、メモリに連続し
て定義されるデータを扱うことが多い。例えば、メモリ
の8000H番地から始まる100Hバイトのデータを
メモリの9000H番地から始まる90FFH番地まで
の領域に転送するいわゆるブロック転送がある。その他
にも、CPUのあるレジスタの値とメモリに連続して定
義されるデータとを比較していく比較操作等がある。こ
れらの操作をメモリに連続して定義されるデータに対し
て一度に行なうのがストリング命令である。
【0011】ここで、CPUからDMAバス上のデバイ
スにストリング命令等により連続アクセスした場合の問
題点について、図13を参照して説明する。
スにストリング命令等により連続アクセスした場合の問
題点について、図13を参照して説明する。
【0012】同図において、DMA1〜5はDMA用信
号バス側のデバイス(DMA要求源)からの優先順位の
無い互いに対等なDMA要求である。ここで、DMA1
は、一定間隔で適切に処理(サービス)されるべきDM
A要求である。
号バス側のデバイス(DMA要求源)からの優先順位の
無い互いに対等なDMA要求である。ここで、DMA1
は、一定間隔で適切に処理(サービス)されるべきDM
A要求である。
【0013】さて、DMA1〜5の要求源に対して、要
求された順番に、DMA3、DMA1、DMA2の順に
DMAコントローラが順次サービスしていると、DMA
2のサービスの最中にCPUがDMAバスにアクセス要
求してきたので、DMA2のサービスが終わると、その
アクセス要求を受入れる。しかし、そのCPUアクセス
はストリング命令による連続アクセスであるので、DM
AバスはCPUサイクルで実行される連続アクセスに専
有され、DMA1〜5の要求源の要求は、その連続アク
セスが終わるまで待たされ続けることになる。
求された順番に、DMA3、DMA1、DMA2の順に
DMAコントローラが順次サービスしていると、DMA
2のサービスの最中にCPUがDMAバスにアクセス要
求してきたので、DMA2のサービスが終わると、その
アクセス要求を受入れる。しかし、そのCPUアクセス
はストリング命令による連続アクセスであるので、DM
AバスはCPUサイクルで実行される連続アクセスに専
有され、DMA1〜5の要求源の要求は、その連続アク
セスが終わるまで待たされ続けることになる。
【0014】とりわけ、一定期間毎にサービスされるべ
きDMA1に対して、一定期間内にサービスすることが
できなくなってしまう。
きDMA1に対して、一定期間内にサービスすることが
できなくなってしまう。
【0015】本発明は、上記の問題を解決し、能率のよ
いコンピュータシステムの動作方法を提供することを目
的とする。
いコンピュータシステムの動作方法を提供することを目
的とする。
【0016】
【課題を解決するための手段】このために本発明は、C
PUが、DMA用信号バス側のデバイスにアクセスする
場合には、DMAコントローラの規定周期つまりDMA
サイクルで、デバイスをリードライト制御してデータを
入出力するようにしている。
PUが、DMA用信号バス側のデバイスにアクセスする
場合には、DMAコントローラの規定周期つまりDMA
サイクルで、デバイスをリードライト制御してデータを
入出力するようにしている。
【0017】また、DMA要求に優先順位を持たせ、そ
の優先順位を固定優先と回転優先とに分け、上記要求の
有無をサンプリングしながら監視し、上記要求をラッチ
すると上記優先順位に従って順番にサービスし、そのサ
ービスが回転優先の要求に対するものであった場合はそ
のサービス終了後に回転優先の優先順位を回転させる一
方、ラッチした前記要求を一定間隔ごとにクリアし再び
サンプリングしなおすようにしている。
の優先順位を固定優先と回転優先とに分け、上記要求の
有無をサンプリングしながら監視し、上記要求をラッチ
すると上記優先順位に従って順番にサービスし、そのサ
ービスが回転優先の要求に対するものであった場合はそ
のサービス終了後に回転優先の優先順位を回転させる一
方、ラッチした前記要求を一定間隔ごとにクリアし再び
サンプリングしなおすようにしている。
【0018】また、CPUのDMA用信号バスアクセス
要求を他のDMA要求から独立させ、CPUのアクセス
要求があった場合は、CPUのアクセスを優先してサー
ビスし、CPUのアクセス要求が無かった場合は、優先
順位に従って他のDMA要求に対してサービスするよう
にしている。
要求を他のDMA要求から独立させ、CPUのアクセス
要求があった場合は、CPUのアクセスを優先してサー
ビスし、CPUのアクセス要求が無かった場合は、優先
順位に従って他のDMA要求に対してサービスするよう
にしている。
【0019】
【作用】DMAコントローラのデバイスアクセスを一時
休止して、CPUのデバイスアクセスを実行する場合
に、DMAサイクルを単位としてデバイスアクセスを一
時休止するだけでよくなり、回路動作のタイムラグが減
少すると共に、DMAバス側のデバイスのDMA要求に
対しても、適切に対応できるので、コンピュータシステ
ムが能率よく動作することができるようになる。
休止して、CPUのデバイスアクセスを実行する場合
に、DMAサイクルを単位としてデバイスアクセスを一
時休止するだけでよくなり、回路動作のタイムラグが減
少すると共に、DMAバス側のデバイスのDMA要求に
対しても、適切に対応できるので、コンピュータシステ
ムが能率よく動作することができるようになる。
【0020】
【実施例】以下、添付図面を参照しながら、本発明の実
施例を詳細に説明する。
施例を詳細に説明する。
【0021】図1は、本発明の一実施例に係るコンピュ
ータシステムのブロック構成図を示したものである。
ータシステムのブロック構成図を示したものである。
【0022】同図において、このコンピュータシステム
には、CPUバス1とDMAバス2との2組の信号バス
が配設されている。CPUバス1は、アドレスバス1a
とデータバス1bとで構成され、DMAバス2は、アド
レスバス2aとデータバス2bとで構成されている。
には、CPUバス1とDMAバス2との2組の信号バス
が配設されている。CPUバス1は、アドレスバス1a
とデータバス1bとで構成され、DMAバス2は、アド
レスバス2aとデータバス2bとで構成されている。
【0023】バスバッファ回路3aは、必要に応じてア
ドレスバス1aとアドレスバス2aとを連結するもの
で、バスバッファ回路3bおよびバッファ&ラッチ回路
3cは、データバス1bとデータバス2bとを連結する
ものである。なお、バスバッファ回路3a、3bによる
バス連結時には、CPUバス1側の信号がDMAバス2
側に出力され、バッファ&ラッチ回路3cによるバス連
結時には、データバス2bの信号がデータバス1bに出
力されるようになる。
ドレスバス1aとアドレスバス2aとを連結するもの
で、バスバッファ回路3bおよびバッファ&ラッチ回路
3cは、データバス1bとデータバス2bとを連結する
ものである。なお、バスバッファ回路3a、3bによる
バス連結時には、CPUバス1側の信号がDMAバス2
側に出力され、バッファ&ラッチ回路3cによるバス連
結時には、データバス2bの信号がデータバス1bに出
力されるようになる。
【0024】CPUバス1には、CPU4、DMAバス
要求回路5、DMAコントローラ6、メモリ7およびI
/Oデバイス8が接続されている。DMAバス2には、
上記DMAコントローラ6のほか、I/Oデバイス9、
10およびメモリ11が接続されている。また、競合制
御回路12は、DMAバス要求回路5やI/Oデバイス
9、10から信号を入力し、各部に信号を出力するよう
に配設されている。
要求回路5、DMAコントローラ6、メモリ7およびI
/Oデバイス8が接続されている。DMAバス2には、
上記DMAコントローラ6のほか、I/Oデバイス9、
10およびメモリ11が接続されている。また、競合制
御回路12は、DMAバス要求回路5やI/Oデバイス
9、10から信号を入力し、各部に信号を出力するよう
に配設されている。
【0025】メモリ7には、CPU4の制御プログラム
やその他のデータが格納されている。このメモリ7とI
/Oデバイス8は、CPU4だけがアクセスするもので
ある。I/Oデバイス9、10およびメモリ11は、D
MAコントローラ6がアクセスするほか、CPU4が必
要に応じてアクセスするものである。
やその他のデータが格納されている。このメモリ7とI
/Oデバイス8は、CPU4だけがアクセスするもので
ある。I/Oデバイス9、10およびメモリ11は、D
MAコントローラ6がアクセスするほか、CPU4が必
要に応じてアクセスするものである。
【0026】CPU4は、このシステム全体を監視制御
するものである。DMAバス要求回路5は、CPU4が
I/Oデバイス9、10またはメモリ11にアクセスす
る際に、DMAバス2を使用するために、競合制御回路
12に所定の要求を出すものである。競合制御回路12
は、DMAバス要求回路5やI/Oデバイス9、10か
らのそれぞれの要求を調停し、必要に応じてCPUバス
1とDMAバス2の連結や分離を実行するものである。
するものである。DMAバス要求回路5は、CPU4が
I/Oデバイス9、10またはメモリ11にアクセスす
る際に、DMAバス2を使用するために、競合制御回路
12に所定の要求を出すものである。競合制御回路12
は、DMAバス要求回路5やI/Oデバイス9、10か
らのそれぞれの要求を調停し、必要に応じてCPUバス
1とDMAバス2の連結や分離を実行するものである。
【0027】DMAコントローラ6は、CPU4の介在
を受けずにI/Oデバイス9、10とメモリ11間のデ
ータ転送を実行するものである。
を受けずにI/Oデバイス9、10とメモリ11間のデ
ータ転送を実行するものである。
【0028】以上の構成で、図2は、本実施例のコンピ
ュータシステムが1つの処理を実行する際の動作手順の
一例を示している。
ュータシステムが1つの処理を実行する際の動作手順の
一例を示している。
【0029】すなわち、このコンピュータシステムの動
作開始時には、CPUバス1とDMAバス2は電気的に
分離している(処理101)。この状態で、CPU4
は、メモリ7から制御プログラムを読み出して動作を開
始する。そして、図3(a)に示すように、CPU4
は、CPUバス1を介して、メモリ7やI/Oデバイス
8にアクセスし、それらとの間でデータ転送する(処理
102)。
作開始時には、CPUバス1とDMAバス2は電気的に
分離している(処理101)。この状態で、CPU4
は、メモリ7から制御プログラムを読み出して動作を開
始する。そして、図3(a)に示すように、CPU4
は、CPUバス1を介して、メモリ7やI/Oデバイス
8にアクセスし、それらとの間でデータ転送する(処理
102)。
【0030】ここで、例えば、I/Oデバイス9や10
とメモリとのデータ転送が必要になったとする。この場
合、CPU4は、DMAコントローラ6を起動する(処
理103)。これにより、DMAコントローラ6は、図
3(b)に示すように、I/Oデバイス9、10とメモ
リ11とのデータ転送をDMAバス2を介して実行す
る。このDMAデータ転送は、CPUバス1のデータ転
送と並行して実行することになる(処理104)。
とメモリとのデータ転送が必要になったとする。この場
合、CPU4は、DMAコントローラ6を起動する(処
理103)。これにより、DMAコントローラ6は、図
3(b)に示すように、I/Oデバイス9、10とメモ
リ11とのデータ転送をDMAバス2を介して実行す
る。このDMAデータ転送は、CPUバス1のデータ転
送と並行して実行することになる(処理104)。
【0031】次に、CPU4から、I/Oデバイス9ま
たは10にデータ出力、またはメモリ11にデータ書き
込みする必要が生じたとする。この場合、CPU4は、
DMAバス要求回路5に、DMAバス2側にデータ出力
したい旨の要求を出す(処理105)。次いで、アドレ
スバス1aから、I/Oデバイス9、10のアドレスま
たはメモリ11のアドレスを出力すると共に(処理10
6)、データバス1bからデータを出力する(処理10
7)。
たは10にデータ出力、またはメモリ11にデータ書き
込みする必要が生じたとする。この場合、CPU4は、
DMAバス要求回路5に、DMAバス2側にデータ出力
したい旨の要求を出す(処理105)。次いで、アドレ
スバス1aから、I/Oデバイス9、10のアドレスま
たはメモリ11のアドレスを出力すると共に(処理10
6)、データバス1bからデータを出力する(処理10
7)。
【0032】ところで、CPU4は、規定のCPUサイ
クルで各デバイスにアクセスし、DMAコントローラ6
は、別のDMAサイクルで各デバイスにアクセスする。
この場合、CPUサイクルとDMAサイクルとは非同期
である。このため、ここでCPU4は、動作中の一つの
DMAサイクルの終了を待つ(処理108)。
クルで各デバイスにアクセスし、DMAコントローラ6
は、別のDMAサイクルで各デバイスにアクセスする。
この場合、CPUサイクルとDMAサイクルとは非同期
である。このため、ここでCPU4は、動作中の一つの
DMAサイクルの終了を待つ(処理108)。
【0033】次いで、DMAコントローラ6のデバイス
制御機能のみ有効にする。すなわち、DMAコントロー
ラ6は、各デバイスにアクセスする場合、転送元や転送
先の各アドレスを出力したり、目的デバイスをリードラ
イト制御したり、転送データ数を計数して所定量のデー
タ転送が完了するとCPU4に割込みをかけたりする。
ここでは、それらの各機能の内、デバイスに対するライ
ト制御機能のみ有効にして、他の機能を無効にする(1
09)。
制御機能のみ有効にする。すなわち、DMAコントロー
ラ6は、各デバイスにアクセスする場合、転送元や転送
先の各アドレスを出力したり、目的デバイスをリードラ
イト制御したり、転送データ数を計数して所定量のデー
タ転送が完了するとCPU4に割込みをかけたりする。
ここでは、それらの各機能の内、デバイスに対するライ
ト制御機能のみ有効にして、他の機能を無効にする(1
09)。
【0034】次に、バスバッファ回路3a、3bによ
り、CPUバス1とDMAバス2とを連結する。これに
より、アドレスバス1aの信号をアドレスバス2a側、
データバス1bの信号をデータバス2bにそれぞれ出力
する(処理110)。そして、DMAコントローラ6
は、所定のDMAサイクルで、目的デバイスをライト制
御する(処理111)。
り、CPUバス1とDMAバス2とを連結する。これに
より、アドレスバス1aの信号をアドレスバス2a側、
データバス1bの信号をデータバス2bにそれぞれ出力
する(処理110)。そして、DMAコントローラ6
は、所定のDMAサイクルで、目的デバイスをライト制
御する(処理111)。
【0035】これにより、図3(c)に示すように、C
PU4から出力されたデータが、I/Oデバイス9、1
0またはメモリ11に出力される。この出力動作は、一
つのDMAサイクルで実行される。この1サイクルが終
了すると、CPUバス1とDMAバス2とを分離する
(処理112)。これにより、上記処理104の状態に
戻る。
PU4から出力されたデータが、I/Oデバイス9、1
0またはメモリ11に出力される。この出力動作は、一
つのDMAサイクルで実行される。この1サイクルが終
了すると、CPUバス1とDMAバス2とを分離する
(処理112)。これにより、上記処理104の状態に
戻る。
【0036】次に、上記処理104の状態において、C
PU4が、I/Oデバイス9または10からデータ入
力、またはメモリ11からデータ読み出しを実行する必
要が生じたとする。この場合、図4に示すように、CP
U4は、DMAバス要求回路5にDMAバス2を介して
データ入力する旨の要求を出す(処理113)
PU4が、I/Oデバイス9または10からデータ入
力、またはメモリ11からデータ読み出しを実行する必
要が生じたとする。この場合、図4に示すように、CP
U4は、DMAバス要求回路5にDMAバス2を介して
データ入力する旨の要求を出す(処理113)
【0037】次いで、前記と同様に、アドレスバス1a
にアクセス先のアドレスを出力する(処理114)。こ
の後、動作中のDMAサイクルの終了を待つ(処理11
5)。そして、この場合、DMAコントローラ6のデバ
イスに対するリード制御機能のみ有効にする(処理11
6)
にアクセス先のアドレスを出力する(処理114)。こ
の後、動作中のDMAサイクルの終了を待つ(処理11
5)。そして、この場合、DMAコントローラ6のデバ
イスに対するリード制御機能のみ有効にする(処理11
6)
【0038】次いで、CPUバス1とDMAバス2とを
連結する。但し、この場合、バスバッファ回路3aによ
り、アドレスバス1aからアドレスバス2aに信号出力
する一方、バッファ&ラッチ回路3cによりデータバス
2bからデータバス1bに信号出力する(処理11
7)。
連結する。但し、この場合、バスバッファ回路3aによ
り、アドレスバス1aからアドレスバス2aに信号出力
する一方、バッファ&ラッチ回路3cによりデータバス
2bからデータバス1bに信号出力する(処理11
7)。
【0039】次いで、DMAコントローラ6により目的
デバイスをリード制御する(処理118)。これによ
り、図3(d)に示すように、I/Oデバイス9、10
またはメモリ11からデータが読み出される。
デバイスをリード制御する(処理118)。これによ
り、図3(d)に示すように、I/Oデバイス9、10
またはメモリ11からデータが読み出される。
【0040】そして、そのDMAサイクル終了時にバッ
ファ&ラッチ回路3cで、読み出されたデータをラッチ
する(処理119)。そして、CPUバス1とDMAバ
ス2とを分離する(処理120)。この後CPU4は、
バッファ&ラッチ回路3cにラッチされたデータを読み
取る(処理121)。
ファ&ラッチ回路3cで、読み出されたデータをラッチ
する(処理119)。そして、CPUバス1とDMAバ
ス2とを分離する(処理120)。この後CPU4は、
バッファ&ラッチ回路3cにラッチされたデータを読み
取る(処理121)。
【0041】このようにして、前記処理104の状態に
戻る。この後、CPU4とDMAコントローラ6とは、
それぞれ独立に各動作を実行することになる。
戻る。この後、CPU4とDMAコントローラ6とは、
それぞれ独立に各動作を実行することになる。
【0042】図5は、上記動作の一例を示すタイムチャ
ートである。すなわち、いま、DMAサイクルである規
定周期をT1とすると、DMAバス2には、同図(a)
に示すように、そのDMAサイクルに同期したタイミン
グでアドレス信号やデータ信号が転送されることにな
る。
ートである。すなわち、いま、DMAサイクルである規
定周期をT1とすると、DMAバス2には、同図(a)
に示すように、そのDMAサイクルに同期したタイミン
グでアドレス信号やデータ信号が転送されることにな
る。
【0043】一方、CPUサイクルである規定周期をT
2とすると、CPUバス1では、同図(b)に示すよう
に、そのCPUサイクルに同期したタイミングでアドレ
ス信号やデータ信号が転送されることになる。
2とすると、CPUバス1では、同図(b)に示すよう
に、そのCPUサイクルに同期したタイミングでアドレ
ス信号やデータ信号が転送されることになる。
【0044】ここで、一つのDMAサイクルの動作実行
中に、同図(c)に示すように、CPU4からDMAバ
ス2へのデータ出力要求が出されたとする。これは、前
記処理105で説明した動作である。この場合、同図
(d)に示すように、その次のDMAサイクルで、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理110の動作である。そして、CPU4からD
MAバス2側のいずれかのデバイスにデータが出力され
るようになる。
中に、同図(c)に示すように、CPU4からDMAバ
ス2へのデータ出力要求が出されたとする。これは、前
記処理105で説明した動作である。この場合、同図
(d)に示すように、その次のDMAサイクルで、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理110の動作である。そして、CPU4からD
MAバス2側のいずれかのデバイスにデータが出力され
るようになる。
【0045】また、前記処理113で説明したDMAバ
ス2側からのデータ入力要求が出された場合にも、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理117の動作である。そして、DMAバス2側
のいずれかのデバイスからデータが読み出される。この
場合、同図(e)に示すように、DMAサイクル終了時
に、読み出したデータがバッファ&ラッチ回路3cにラ
ッチされ、その後でも、CPU間4がその読み出しデー
タを入力することができるようになる。
ス2側からのデータ入力要求が出された場合にも、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理117の動作である。そして、DMAバス2側
のいずれかのデバイスからデータが読み出される。この
場合、同図(e)に示すように、DMAサイクル終了時
に、読み出したデータがバッファ&ラッチ回路3cにラ
ッチされ、その後でも、CPU間4がその読み出しデー
タを入力することができるようになる。
【0046】以上のように、本実施例では、CPU4
が、I/Oデバイス9、10あるいはメモリ11にアク
セスする場合には、DMAサイクルで、それらのデバイ
スをリードライト制御してデータを入出力するようにし
ている。
が、I/Oデバイス9、10あるいはメモリ11にアク
セスする場合には、DMAサイクルで、それらのデバイ
スをリードライト制御してデータを入出力するようにし
ている。
【0047】従って、DMAコントローラ6によるDM
Aデータ転送実行中に、CPU4がDMAバス2側のデ
バイスにアクセスする場合には、DMAコントローラ6
は、DMAサイクルを単位としてCPU4にDMAバス
2を明け渡せばよい。これにより、そのDMAサイクル
の期間に、CPU4による目的デバイスのアクセス動作
が実行されるので、DMAバス2がCPU4に専有され
る時間を最小限にできる。
Aデータ転送実行中に、CPU4がDMAバス2側のデ
バイスにアクセスする場合には、DMAコントローラ6
は、DMAサイクルを単位としてCPU4にDMAバス
2を明け渡せばよい。これにより、そのDMAサイクル
の期間に、CPU4による目的デバイスのアクセス動作
が実行されるので、DMAバス2がCPU4に専有され
る時間を最小限にできる。
【0048】これにより、回路動作のタイムラグが減少
し、コンピュータシステムが能率よく動作することがで
きるようになる。
し、コンピュータシステムが能率よく動作することがで
きるようになる。
【0049】また、本実施例では、CPU4が上記各デ
バイスにアクセスする場合、DMAコントローラ6の一
部の機能を無効にして、それらのデバイスのリードライ
ト制御をDMAコントローラ6により実行させるように
したので、そのようなリードライト制御を実行する専用
の回路を配設しなくてもよい。
バイスにアクセスする場合、DMAコントローラ6の一
部の機能を無効にして、それらのデバイスのリードライ
ト制御をDMAコントローラ6により実行させるように
したので、そのようなリードライト制御を実行する専用
の回路を配設しなくてもよい。
【0050】以上説明してきた方法により、CPUがD
MAバスにDMAサイクルでアクセスできるわけである
が、次に、DMA用信号バス側のデバイスのDMA転送
を止めることなく、CPUからのDMA用信号バスのア
クセスを可能とする方法の実施例について詳細に説明す
る。
MAバスにDMAサイクルでアクセスできるわけである
が、次に、DMA用信号バス側のデバイスのDMA転送
を止めることなく、CPUからのDMA用信号バスのア
クセスを可能とする方法の実施例について詳細に説明す
る。
【0051】先ず、競合制御回路12の構成について図
6を参照しながら説明する。
6を参照しながら説明する。
【0052】同図において、ラッチ回路41、42は同
一のサンプリングクロックにより高優先、低優先それぞ
れの要求をラッチする。なお、このサンプリングによる
要求のラッチは、ラッチされた要求に対してサービス中
の期間は行われない。
一のサンプリングクロックにより高優先、低優先それぞ
れの要求をラッチする。なお、このサンプリングによる
要求のラッチは、ラッチされた要求に対してサービス中
の期間は行われない。
【0053】ラッチ回路41がラッチした要求は固定優
先回路43で固定の優先順位で調停され、ラッチ回路4
2がラッチした要求は、回転優先回路44で回転する優
先順位で調停される。
先回路43で固定の優先順位で調停され、ラッチ回路4
2がラッチした要求は、回転優先回路44で回転する優
先順位で調停される。
【0054】そして、サービス権巡回回路45は、ラッ
チした要求に対して、優先順位に従って、順にサービス
をするための各種信号を生成するものである。また、ス
ライスタイマ回路46はCPUにより設定された設定値
からカウントダウンを行ない、0になった時点(タイム
アウト)でラッチ回路41、42にリセット信号を出力
する。リセット信号出力後は、再度設定値よりカウント
ダウン動作を繰り返す。
チした要求に対して、優先順位に従って、順にサービス
をするための各種信号を生成するものである。また、ス
ライスタイマ回路46はCPUにより設定された設定値
からカウントダウンを行ない、0になった時点(タイム
アウト)でラッチ回路41、42にリセット信号を出力
する。リセット信号出力後は、再度設定値よりカウント
ダウン動作を繰り返す。
【0055】ラッチ回路41、42は、このリセット信
号によりラッチした要求をリセットし、再度要求をサン
プリングし、ラッチし、上記動作を繰り返す。なお、ス
ライスタイマがいずれかの要求に対するサービス中にタ
イムアウトになった場合は、そのサービス終了後に、要
求をリセットする。
号によりラッチした要求をリセットし、再度要求をサン
プリングし、ラッチし、上記動作を繰り返す。なお、ス
ライスタイマがいずれかの要求に対するサービス中にタ
イムアウトになった場合は、そのサービス終了後に、要
求をリセットする。
【0056】以上のように構成される本実施例の作用に
ついて、サービス権の遷移状態を示す図7、及び図8の
タイミングチャートを用いて説明を行なう。
ついて、サービス権の遷移状態を示す図7、及び図8の
タイミングチャートを用いて説明を行なう。
【0057】図7は、ラッチされた要求がどのような優
先順位でサービスされるかを示している。(*)はサー
ビス権を意味しており、回転優先の優先順位の状態で決
まる全体としての優先順位に従って遷移していくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。回転優先の優先順
位の状態が変化するのは、回転優先の要求がサービスさ
れるときである。
先順位でサービスされるかを示している。(*)はサー
ビス権を意味しており、回転優先の優先順位の状態で決
まる全体としての優先順位に従って遷移していくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。回転優先の優先順
位の状態が変化するのは、回転優先の要求がサービスさ
れるときである。
【0058】図8においてDMA1及び2は高優先要求
源であり、DMA3〜6は低優先要求源である。そし
て、DMA1としてCPUからのアクセスの要求を割り
当てる。要求状態のサンプリングはラッチした要求に対
してサービス中でない場合は、常時サンプリングされて
いるが、図8に示されたS1〜S8は、サービス要求の
状態のサンプリングのうち、少なくと一つのサービス要
求をラッチした場合のものを示している。
源であり、DMA3〜6は低優先要求源である。そし
て、DMA1としてCPUからのアクセスの要求を割り
当てる。要求状態のサンプリングはラッチした要求に対
してサービス中でない場合は、常時サンプリングされて
いるが、図8に示されたS1〜S8は、サービス要求の
状態のサンプリングのうち、少なくと一つのサービス要
求をラッチした場合のものを示している。
【0059】先ず最初に、常時サンプリング状態でDM
A4の要求のみアクティブとなるためこの要求がサンプ
リングされラッチされる(S1)。そしてDMA4に対
するサービスを行なう。なお、DMA4は、低優先要求
源として割り当てられているため、そのサービスが終了
した時点で図7に示す回転優先部の優先順位は今サービ
スされたDMA4の次のDMA5が最高位となり、優先
順位の状態が(202)となる。なお、低優先要求源が
サービスされなかった場合は回転優先部の優先順位は変
化しない。
A4の要求のみアクティブとなるためこの要求がサンプ
リングされラッチされる(S1)。そしてDMA4に対
するサービスを行なう。なお、DMA4は、低優先要求
源として割り当てられているため、そのサービスが終了
した時点で図7に示す回転優先部の優先順位は今サービ
スされたDMA4の次のDMA5が最高位となり、優先
順位の状態が(202)となる。なお、低優先要求源が
サービスされなかった場合は回転優先部の優先順位は変
化しない。
【0060】次に、DMA4のサービスが終了した時点
で、要求状態がサンプリングされラッチされる(S
2)。この時、DMA2の要求がアクティブとなってい
るため、次はDMA2がサービスされる。また、DMA
2のサービス中スライスタイマがタイムアウトとなるた
めDMA2のサービス終了後にラッチした要求状態をリ
セット(この場合は、ラッチされていた要求は、DMA
2のみであったのでリセットされてしまう要求はな
い。)し、再度要求状態がサンプリングされラッチされ
る(S3)。なお、DMA2のサービス終了後の優先順
位の状態は、DMA2は回転優先の要求源ではないの
で、(202)のままである。
で、要求状態がサンプリングされラッチされる(S
2)。この時、DMA2の要求がアクティブとなってい
るため、次はDMA2がサービスされる。また、DMA
2のサービス中スライスタイマがタイムアウトとなるた
めDMA2のサービス終了後にラッチした要求状態をリ
セット(この場合は、ラッチされていた要求は、DMA
2のみであったのでリセットされてしまう要求はな
い。)し、再度要求状態がサンプリングされラッチされ
る(S3)。なお、DMA2のサービス終了後の優先順
位の状態は、DMA2は回転優先の要求源ではないの
で、(202)のままである。
【0061】この時DMA3とDMA5の要求がアクテ
ィブとなっているため優先順位の状態(202)に従っ
てDMA5、DMA3の順にサービスする。なお、この
サービス後の優先順位の状態は、DMA5のサービス後
に(203)となり、DMA3のサービス後に(20
1)となる。
ィブとなっているため優先順位の状態(202)に従っ
てDMA5、DMA3の順にサービスする。なお、この
サービス後の優先順位の状態は、DMA5のサービス後
に(203)となり、DMA3のサービス後に(20
1)となる。
【0062】このDMA3のサービスが終了した時点で
再度要求状態がサンプリングされラッチされる(S
4)。この時、DMA1(CPU)の要求のみがアクテ
ィブとなっているため、DMA1(CPU)に対するサ
ービスを行なう。DMA1のサービス終了後、再度サン
プリングを行ない、DMA2とDMA6の要求をラッチ
する(S5)。先ず優先順位の高いDMA2からサービ
スされる。このサービス中、スライスタイマがタイムア
ウトとなるためDMA2のサービス終了後現在ラッチし
ているDMA6の要求をリセットし、再度DMA6の要
求を含めて要求がサンプリングされラッチされる(S
6)。この時、DMA1とDMA6の要求がラッチさ
れ、優先順位の高い順にDMA1、DMA6がサービス
される。尚、DMA6のサービス終了後は、優先順位の
状態は(200)となる。
再度要求状態がサンプリングされラッチされる(S
4)。この時、DMA1(CPU)の要求のみがアクテ
ィブとなっているため、DMA1(CPU)に対するサ
ービスを行なう。DMA1のサービス終了後、再度サン
プリングを行ない、DMA2とDMA6の要求をラッチ
する(S5)。先ず優先順位の高いDMA2からサービ
スされる。このサービス中、スライスタイマがタイムア
ウトとなるためDMA2のサービス終了後現在ラッチし
ているDMA6の要求をリセットし、再度DMA6の要
求を含めて要求がサンプリングされラッチされる(S
6)。この時、DMA1とDMA6の要求がラッチさ
れ、優先順位の高い順にDMA1、DMA6がサービス
される。尚、DMA6のサービス終了後は、優先順位の
状態は(200)となる。
【0063】DMA6のサービス終了後再度要求をサン
プリングし、この時DMA1とDMA4の要求をラッチ
する(S7)。ここでのサービスも優先順位に従ってD
MA1、DMA4の順にサービスされる。尚、サービス
終了後は、回転優先部の状態は(202)となる。
プリングし、この時DMA1とDMA4の要求をラッチ
する(S7)。ここでのサービスも優先順位に従ってD
MA1、DMA4の順にサービスされる。尚、サービス
終了後は、回転優先部の状態は(202)となる。
【0064】DMA4のサービス終了直後にスライスタ
イマがタイムアウトとなるため、ラッチしている要求を
リセットし(ここではラッチされている要求は無い)要
求を再びサンプリングし、DMA1とDMA2の要求が
ラッチされる(S8)。そして、優先順位に従ってDM
A1、DMA2の順にサービスされる。
イマがタイムアウトとなるため、ラッチしている要求を
リセットし(ここではラッチされている要求は無い)要
求を再びサンプリングし、DMA1とDMA2の要求が
ラッチされる(S8)。そして、優先順位に従ってDM
A1、DMA2の順にサービスされる。
【0065】以上説明したように、要求源を固定優先と
回転優先とに分けて、一回のサンプリングで全要求源の
要求状態をラッチして、優先順位の高い要求からサービ
スを行なうと共に、スライスタイマにて一定間隔でサン
プリングし直すため、固定優先の要求に対しては、必ず
一定期間毎にサービスを行なうことができる。
回転優先とに分けて、一回のサンプリングで全要求源の
要求状態をラッチして、優先順位の高い要求からサービ
スを行なうと共に、スライスタイマにて一定間隔でサン
プリングし直すため、固定優先の要求に対しては、必ず
一定期間毎にサービスを行なうことができる。
【0066】また、一回のサンプリングでラッチした要
求をサービスする時間の合計がスライスタイマの設定時
間より長い場合でも、優先順位の低い要求に対しても平
均的にサービスすることができる。
求をサービスする時間の合計がスライスタイマの設定時
間より長い場合でも、優先順位の低い要求に対しても平
均的にサービスすることができる。
【0067】つまり、図8の場合にDMA1〜DMA6
までのすべての要求源が頻繁にサービスを要求し、ラッ
チされた場合、スライスタイマの設定によっては、DM
A1〜6を連続してサービスするのに要する時間が、そ
の設定した時間より長くなりうる。ここで、もし優先順
位の低い要求の順位が回転しないとすると、順位が低い
要求の中で比較的優先順位の高い要求はサービスされて
も、比較的優先順位の低い要求はサービスされる前にス
ライスタイマによってリセットされてしまい、その比較
的優先順位の低い要求はサービスされないままになって
しまう。
までのすべての要求源が頻繁にサービスを要求し、ラッ
チされた場合、スライスタイマの設定によっては、DM
A1〜6を連続してサービスするのに要する時間が、そ
の設定した時間より長くなりうる。ここで、もし優先順
位の低い要求の順位が回転しないとすると、順位が低い
要求の中で比較的優先順位の高い要求はサービスされて
も、比較的優先順位の低い要求はサービスされる前にス
ライスタイマによってリセットされてしまい、その比較
的優先順位の低い要求はサービスされないままになって
しまう。
【0068】しかし、優先順位が低い要求を回転優先に
すれば、ある時比較的優先順位の高かった要求は、いず
れは優先順位が回転して優先順位が低くなり、また、あ
る時比較的優先順位の低かった要求はその逆にいずれは
優先順位が回転して優先順位が高くなるので平均的にサ
ービスできるのである。
すれば、ある時比較的優先順位の高かった要求は、いず
れは優先順位が回転して優先順位が低くなり、また、あ
る時比較的優先順位の低かった要求はその逆にいずれは
優先順位が回転して優先順位が高くなるので平均的にサ
ービスできるのである。
【0069】次に、DMA用信号バス側のDMA転送を
止めることなく、CPUからのアクセスを可能とする別
の方法について詳細に説明する。
止めることなく、CPUからのアクセスを可能とする別
の方法について詳細に説明する。
【0070】先ず、競合制御回路12の構成について図
9を参照しながら説明する。
9を参照しながら説明する。
【0071】この構成は、図6の構成に、優先順位判定
回路47が追加されたものであり、CPUからのアクセ
スは、他のDMA要求よりも優先してサービスを行なよ
うにするものである。
回路47が追加されたものであり、CPUからのアクセ
スは、他のDMA要求よりも優先してサービスを行なよ
うにするものである。
【0072】各要求源の要求は、同一サンプリングクロ
ックにてラッチ回路41、42にラッチされ、固定優先
化回路43、回転優先回路44にて優先順位が決定され
た後、サービス権巡回回路45にてサービス権をもった
DMA要求が選択され処理される。この時、優先順位判
定回路47にてCPUによるDMAバスアクセスを認識
し、もし要求があった場合は、CPUからのアクセスを
優先してサービスし、CPUからの要求が無かった場合
は、サービス権巡回回路45にて選択されたDMA要求
がそのままサービスされる。
ックにてラッチ回路41、42にラッチされ、固定優先
化回路43、回転優先回路44にて優先順位が決定され
た後、サービス権巡回回路45にてサービス権をもった
DMA要求が選択され処理される。この時、優先順位判
定回路47にてCPUによるDMAバスアクセスを認識
し、もし要求があった場合は、CPUからのアクセスを
優先してサービスし、CPUからの要求が無かった場合
は、サービス権巡回回路45にて選択されたDMA要求
がそのままサービスされる。
【0073】以上のように構成される本実施例の作用に
ついて、サービス権の遷移状態を示す図10、及び図1
1のタイミングチャートを用いて説明を行なう。
ついて、サービス権の遷移状態を示す図10、及び図1
1のタイミングチャートを用いて説明を行なう。
【0074】図10は、ラッチされた要求がどのような
優先順位でサービスされるかを示している。(*)はサ
ービス権を意味しており、回転優先の優先順位の状態で
決まる全体としての優先順位に従って移っていくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。
優先順位でサービスされるかを示している。(*)はサ
ービス権を意味しており、回転優先の優先順位の状態で
決まる全体としての優先順位に従って移っていくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。
【0075】図11においてDMA1および2は高優先
要求源であり、DMA3〜5は低優先要求源である。そ
して、CPUからのアクセスの要求は、優先順位判定回
路47に入力される。各要求源のサービス要求状態のサ
ンプリングはラッチされた要求のサービス中で無い場合
は、常時サンプリングされているが、図11に示され
た、S1〜S7は、サービス要求状態のサンプリングの
うち、少なくと一つのサービス要求をラッチした場合を
示している。
要求源であり、DMA3〜5は低優先要求源である。そ
して、CPUからのアクセスの要求は、優先順位判定回
路47に入力される。各要求源のサービス要求状態のサ
ンプリングはラッチされた要求のサービス中で無い場合
は、常時サンプリングされているが、図11に示され
た、S1〜S7は、サービス要求状態のサンプリングの
うち、少なくと一つのサービス要求をラッチした場合を
示している。
【0076】先ず、この図11においては、最初、常時
サンプリング状態でDMA3の要求のみアクティブとな
るためこの要求がサンプリングされラッチされる(S
1)。そして、DMA3に対してサービスを行なう。な
お、DMA3は低優先要求源として割り当てられている
ため、そのサービスが終了した時点で図10に示す回転
優先の優先順位は今サービスされたDMA3の次のDM
A4が最高位となり、優先順位の状態は(301)とな
る。なお、低優先要求源がサービスされなかった場合は
回転優先部の優先順位は変化しない。
サンプリング状態でDMA3の要求のみアクティブとな
るためこの要求がサンプリングされラッチされる(S
1)。そして、DMA3に対してサービスを行なう。な
お、DMA3は低優先要求源として割り当てられている
ため、そのサービスが終了した時点で図10に示す回転
優先の優先順位は今サービスされたDMA3の次のDM
A4が最高位となり、優先順位の状態は(301)とな
る。なお、低優先要求源がサービスされなかった場合は
回転優先部の優先順位は変化しない。
【0077】次に、DMA3のサービスが終了した時点
で、要求源の要求状態をサンプリングする(S2)。こ
の時、DMA1の要求がアクティブとなっているため次
はDMA1がサービスされる。また、このサービス中
に、スライスタイマがタイムアウトとなったので、サー
ビス終了後ラッチされていた要求はリセットされ、要求
がサンプリングし直される(S3)。この時、DMA2
とDMA4の要求がアクティブとなっているため優先順
位に従ってDMA2、DMA4の順にサービスされると
ころであるが、DMA2のサービス中に、CPUからの
要求があったのでDMA4をサービスする前に、CPU
の要求を優先してサービスする、そして、CPUのサー
ビスが終わってから、DMA4に対してサービスする。
なお、優先順位の状態は、DMA2のサービス後は変化
せず、CPUのサービス後も変化せず、DMA4のサー
ビス後に(302)となる。
で、要求源の要求状態をサンプリングする(S2)。こ
の時、DMA1の要求がアクティブとなっているため次
はDMA1がサービスされる。また、このサービス中
に、スライスタイマがタイムアウトとなったので、サー
ビス終了後ラッチされていた要求はリセットされ、要求
がサンプリングし直される(S3)。この時、DMA2
とDMA4の要求がアクティブとなっているため優先順
位に従ってDMA2、DMA4の順にサービスされると
ころであるが、DMA2のサービス中に、CPUからの
要求があったのでDMA4をサービスする前に、CPU
の要求を優先してサービスする、そして、CPUのサー
ビスが終わってから、DMA4に対してサービスする。
なお、優先順位の状態は、DMA2のサービス後は変化
せず、CPUのサービス後も変化せず、DMA4のサー
ビス後に(302)となる。
【0078】このDMA4のサービスが終了した時点で
再度要求がサンプリングされラッチされる(S4)。こ
の時、DMA1と、DMA5の要求がアクティブになっ
ているが、CPUの要求があるので、最優先でCPUに
対するサービスを行なう。そのCPUのサービス中に、
スライスタイマがタイムアウトとなるためCPUのサー
ビス終了後にラッチした要求状態をリセットし、再度要
求源の要求がサンプリングされDMA1とDMA5の要
求がラッチされる(S5)。そして、DMA1からサー
ビスするが、そのサービス中にCPUの要求があるの
で、DMA1のサービス終了後に、CPUの要求を優先
してサービスし、その後でDMA5のサービスをする。
再度要求がサンプリングされラッチされる(S4)。こ
の時、DMA1と、DMA5の要求がアクティブになっ
ているが、CPUの要求があるので、最優先でCPUに
対するサービスを行なう。そのCPUのサービス中に、
スライスタイマがタイムアウトとなるためCPUのサー
ビス終了後にラッチした要求状態をリセットし、再度要
求源の要求がサンプリングされDMA1とDMA5の要
求がラッチされる(S5)。そして、DMA1からサー
ビスするが、そのサービス中にCPUの要求があるの
で、DMA1のサービス終了後に、CPUの要求を優先
してサービスし、その後でDMA5のサービスをする。
【0079】そのサービス終了後、再度サンプリングを
行ない(S6)、DMA1とDMA3の要求がラッチさ
れるが、CPUの要求があるので先ずCPUのサービス
をする。その後で、優先順位の高いDMA1からサービ
スが行われるところであるが、ちょうど、CPUのサー
ビスが終わったところで、スライスタイマがタイムアウ
トとなるため現在ラッチしているDMA1と3の要求を
リセットし、再度DMA1と3の要求がサンプリングし
なおされる(S7)。そして、優先順位の高いDMA1
がサービスされる。そのサービス中に、CPUからの要
求があったので、次は、DMA3の前にCPUが優先し
てサービスされる。
行ない(S6)、DMA1とDMA3の要求がラッチさ
れるが、CPUの要求があるので先ずCPUのサービス
をする。その後で、優先順位の高いDMA1からサービ
スが行われるところであるが、ちょうど、CPUのサー
ビスが終わったところで、スライスタイマがタイムアウ
トとなるため現在ラッチしているDMA1と3の要求を
リセットし、再度DMA1と3の要求がサンプリングし
なおされる(S7)。そして、優先順位の高いDMA1
がサービスされる。そのサービス中に、CPUからの要
求があったので、次は、DMA3の前にCPUが優先し
てサービスされる。
【0080】以上説明したように、CPUからのアクセ
ス要求を他の要求源の要求と独立させて、最終段の優先
順位判定回路で他の要求源の優先順位に関係なく優先し
てサービスするようにしたので、CPUがアクセス要求
した時に他の要求源に対してサービス中であっても、そ
の一つのサービスが終われば、その他のサービス要求が
ラッチされていたとしても、CPUのアクセス要求を優
先してサービスするので、CPUのアクセスは、アクセ
スを要求してから、DMAバスサイクル一つ分以上の時
間待たされることがことがないと共に、CPUをそのよ
うに優先しても、一定期間毎のサービスを必要とするよ
うな、固定優先の要求に対して一定期間内にサービスす
ることが可能となる。また、優先順位の低い要求に対し
ても平均的にサービスすることができることはいうまで
もない。
ス要求を他の要求源の要求と独立させて、最終段の優先
順位判定回路で他の要求源の優先順位に関係なく優先し
てサービスするようにしたので、CPUがアクセス要求
した時に他の要求源に対してサービス中であっても、そ
の一つのサービスが終われば、その他のサービス要求が
ラッチされていたとしても、CPUのアクセス要求を優
先してサービスするので、CPUのアクセスは、アクセ
スを要求してから、DMAバスサイクル一つ分以上の時
間待たされることがことがないと共に、CPUをそのよ
うに優先しても、一定期間毎のサービスを必要とするよ
うな、固定優先の要求に対して一定期間内にサービスす
ることが可能となる。また、優先順位の低い要求に対し
ても平均的にサービスすることができることはいうまで
もない。
【0081】なお、以上の実施例では、CPUバス1と
DMAバス2という2つのバスを備えている構成を例に
とって説明したが、1つのバスをCPU4とDMAコン
トローラ6とが交互に使用する場合にも、本発明を適用
することが考えられる。
DMAバス2という2つのバスを備えている構成を例に
とって説明したが、1つのバスをCPU4とDMAコン
トローラ6とが交互に使用する場合にも、本発明を適用
することが考えられる。
【0082】
【発明の効果】以上のように、本発明によれば、CPU
が、DMAバス側の各デバイスにアクセスする場合に
は、DMAコントローラ側サイクルで、デバイスをリー
ドライト制御してデータを入出力するようにしたので、
回路動作のタイムラグか減少し、能率よく動作すること
ができるようになるとともに、CPUがDMAバスにア
クセスする場合でも、本来のDMA転送が停滞すること
がない。
が、DMAバス側の各デバイスにアクセスする場合に
は、DMAコントローラ側サイクルで、デバイスをリー
ドライト制御してデータを入出力するようにしたので、
回路動作のタイムラグか減少し、能率よく動作すること
ができるようになるとともに、CPUがDMAバスにア
クセスする場合でも、本来のDMA転送が停滞すること
がない。
【図1】本発明の一実施例に係るコンピュータシステム
のブロック構成図である。
のブロック構成図である。
【図2】上記コンピュータシステムの動作手順の一例を
示すフローチャートである。
示すフローチャートである。
【図3】各種デバイス間のデータ転送動作の説明図であ
る。
る。
【図4】上記コンピュータシステムの動作手順の一例を
示すフローチャートである。
示すフローチャートである。
【図5】上記コンピュータシステムの動作の一例を示す
タイムチャートである。
タイムチャートである。
【図6】本発明の一実施例に係る競合制御回路のブロッ
ク構成図である。
ク構成図である。
【図7】サービス権の遷移状態を示すものである。
【図8】上記競合制御回路の動作手順の一例を示すタイ
ミングチャートである。
ミングチャートである。
【図9】本発明の別の実施例にかかる競合制御回路のブ
ロック構成図である。
ロック構成図である。
【図10】サービス権の遷移状態を示すものである。
【図11】上記競合制御回路の動作手順の一例を示すタ
イミングチャートである。
イミングチャートである。
【図12】従来のコンピュータシステムの動作を示す説
明図である。
明図である。
【図13】従来のコンピュータシステムの動作を示すタ
イミングチャートである。
イミングチャートである。
1 CPUバス 1a、2a アドレスバス 1b、2b データバス 2 DMAバス 3a、3b バスバッファ回路 3c バッファ&ラッチ回路 4 CPU 5 DMAバス要求回路 6 DMAコントローラ 7、11 メモリ 8〜10 I/Oデバイス 12 競合制御回路 41、42 ラッチ回路 43 固定優先回路 44 回転優先回路 45 サービス権巡回回路 46 スライスタイマ回路 47 優先順位判定回路
Claims (4)
- 【請求項1】 CPUが特定のデバイスにアクセスする
際に使用するCPU用信号バスと、DMAコントローラ
が他のデバイスにアクセスする際に使用するDMA用信
号バスとを備え、上記CPUと上記DMAコントローラ
とは、それぞれ互いに非同期の規定周期で各デバイスを
リードライト制御してデータを入出力する一方、上記C
PUは、必要に応じてDMA用信号バスを使用して上記
他のデバイスにアクセスするコンピュータシステムの動
作方法において、上記CPUが、上記他のデバイスにア
クセスする場合には、上記DMAコントローラ側の規定
周期でデバイスをリードライト制御してデータを入出力
することを特徴とするコンピュータシステムの動作方
法。 - 【請求項2】 上記CPUが、上記他のデバイスにアク
セスする場合には、上記DMAコントローラのリードラ
イト制御機能を利用することを特徴とする請求項1記載
のコンピュータシステムの動作方法。 - 【請求項3】 DMA要求に優先順位を持たせ、該優先
順位を固定優先と回転優先とに分け、上記要求の有無を
サンプリングしながら監視し、上記要求をラッチすると
上記優先順位に従って順番にサービスし、そのサービス
が回転優先の要求に対するものであった場合はそのサー
ビス終了後に回転優先の優先順位を回転させる一方、ラ
ッチした前記要求を一定間隔ごとにクリアし再びサンプ
リングしなおすことを特徴とする請求項1または2記載
のコンピュータシステムの動作方法。 - 【請求項4】 上記CPUのDMA用信号バスアクセス
要求を他のDMA要求から独立させ、上記CPUのアク
セス要求があった場合は、上記CPUのアクセスを優先
してサービスし、上記CPUのアクセス要求が無かった
場合は、優先順位に従って前記他のDMA要求に対して
サービスするようにしたことを特徴とする請求項3記載
のコンピュータシステムの動作方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP34921193A JPH0773136A (ja) | 1993-06-30 | 1993-12-28 | コンピュータシステムの動作方法 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5-183149 | 1993-06-30 | ||
| JP18314993 | 1993-06-30 | ||
| JP34921193A JPH0773136A (ja) | 1993-06-30 | 1993-12-28 | コンピュータシステムの動作方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0773136A true JPH0773136A (ja) | 1995-03-17 |
Family
ID=26501696
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34921193A Pending JPH0773136A (ja) | 1993-06-30 | 1993-12-28 | コンピュータシステムの動作方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0773136A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008192090A (ja) * | 2007-02-07 | 2008-08-21 | Sharp Corp | Dma転送装置およびデータ転送装置 |
| JP2012190414A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
-
1993
- 1993-12-28 JP JP34921193A patent/JPH0773136A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008192090A (ja) * | 2007-02-07 | 2008-08-21 | Sharp Corp | Dma転送装置およびデータ転送装置 |
| JP2012190414A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6304923B1 (en) | Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values | |
| KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
| US6782433B2 (en) | Data transfer apparatus | |
| JP2996183B2 (ja) | Dma機能を備えたデータ処理装置 | |
| JPH0773136A (ja) | コンピュータシステムの動作方法 | |
| JP2504818B2 (ja) | マルチプロセッサ装置における共通メモリ制御方法 | |
| JPH064314A (ja) | タスク間同期通信装置 | |
| JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
| JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
| JPH09190407A (ja) | 制御装置 | |
| JP3050131B2 (ja) | アービトレーション方式 | |
| JPH0830549A (ja) | バス制御装置 | |
| JPH0573483A (ja) | バス使用権制御方法 | |
| JP2702832B2 (ja) | 低優先度アダプタの救済制御装置 | |
| JPH07319823A (ja) | プロセッサ間通信方式 | |
| JPH09160868A (ja) | バス調停装置およびバス調停方法 | |
| JPH08180027A (ja) | 調停回路 | |
| JPH06314249A (ja) | データ転送装置 | |
| JPH05334239A (ja) | バスシステム | |
| JPH08110887A (ja) | 共通バスシステム | |
| JPH05134980A (ja) | バスシステム | |
| JPH05197675A (ja) | バス権調停方式 | |
| JPH0764925A (ja) | 多段並列バスの制御装置 | |
| JPS593615A (ja) | Dma制御方式 | |
| JPH1115794A (ja) | 並列データ処理装置 |