JPH0773136A - Operation method for computer system - Google Patents
Operation method for computer systemInfo
- 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
- bus
- priority
- 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
Description
【0001】[0001]
【産業上の利用分野】本発明は、CPUが特定のデバイ
スにアクセスするための信号バスと、DMAコントロー
ラが他のデバイスにアクセスするための信号バスとを備
えているコンピュータシステムの動作方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of operating a computer system having a signal bus for a CPU to access a specific device and a signal bus for a DMA controller to access another device.
【0002】[0002]
【従来の技術】基本的なコンピュータシステムは、CP
U、メモリ、I/OデバイスおよびDMAコントローラ
などを、一つの信号バスに接続して構成する。信号バス
は、アドレスバスとデータバスとで構成する。2. Description of the Related Art The basic computer system is CP
A U, a memory, an I / O device, a DMA controller, and the like are connected to one signal bus and configured. The signal bus is composed of an address bus and a data bus.
【0003】この場合、CPUは、アドレスバスからア
ドレス信号を出力して、アクセスするメモリアドレスや
I/Oアドレスを指定する。そして、データバスを介し
て、指定したメモリやI/Oデバイスとの間でデータを
入出力する。また、CPUが、DMAコントローラを起
動すると、DMAコントローラは、上記CPUの場合と
同様に、信号バスを使用して、各デバイスに対するデー
タの入出力動作を実行する。In this case, the CPU outputs an address signal from the address bus to specify a memory address or an I / O address to be accessed. Then, data is input / output to / from the specified memory or I / O device via the data bus. When the CPU activates the DMA controller, the DMA controller uses the signal bus to execute the data input / output operation for each device, as in the case of the CPU.
【0004】上記構成の場合、DMAコントローラは、
動作中、信号バスを専有してしまうので、CPUは、そ
の信号バスを同時に使用して各デバイスにアクセスする
ことができない。In the case of the above configuration, the DMA controller is
During operation, the CPU occupies the signal bus, and therefore the CPU cannot access each device by using the signal bus at the same time.
【0005】このような不都合を無くすものとして、例
えば、特開平3−286241号公報に見られる提案が
ある。この提案は、CPUが特定のデバイスにアクセス
する際に使用するCPU用信号バスと、DMAコントロ
ーラが他のデバイスにアクセスする際に使用するDMA
用信号バスとをそれぞれ配設するものである。この提案
によれば、CPUのアクセス動作と、DMAコントロー
ラのアクセス動作とを同時に実行することができるの
で、コンピュータシステムは、各種処理を能率よく短時
間で実行することができるようになる。As a method for eliminating such inconvenience, for example, there is a proposal found in Japanese Patent Laid-Open No. 3-286241. This proposal proposes a signal bus for the CPU used when the CPU accesses a specific device, and a DMA used when the DMA controller accesses another device.
And a signal bus for use. According to this proposal, the access operation of the CPU and the access operation of the DMA controller can be simultaneously executed, so that the computer system can efficiently execute various processes in a short time.
【0006】一方、上記構成の場合、CPUは、必要に
応じてDMA用信号バス側の各デバイスにもアクセスす
る必要がある。上記提案では、このようなアクセス動作
を実行する場合には、CPU用信号バスとDMA用信号
バスとを連結するようにしていた。On the other hand, in the case of the above configuration, the CPU needs to access each device on the DMA signal bus side as necessary. In the above proposal, the CPU signal bus and the DMA signal bus are connected when performing such an access operation.
【0007】[0007]
【発明が解決しようとする課題】ここで、図12に示す
ように、DMAコントローラによるDMAデータ転送実
行中に、CPUからDMA用信号バス側のデバイスへの
アクセス要求が生じたとする。DMAデータ転送動作
は、DMAサイクルと呼ばれる規定周期T1単位で実行
するものである。従ってこの場合、実行中の1サイクル
が終了すると、そのDMAデータ転送動作は一時休止す
る。そして、CPUが、CPUサイクルと呼ばれる別の
規定周期T2単位で所定のデータ転送を実行する。その
後、再びDMAサイクルでDMAデータ転送動作を再開
するようになる。Here, as shown in FIG. 12, it is assumed that an access request is issued from the CPU to a device on the signal bus line for DMA during the execution of DMA data transfer by the DMA controller. The DMA data transfer operation is executed in units of a prescribed cycle T1 called a DMA cycle. Therefore, in this case, when one cycle being executed is completed, the DMA data transfer operation is suspended. Then, the CPU executes predetermined data transfer in units of another prescribed cycle T2 called a CPU cycle. After that, the DMA data transfer operation is restarted in the DMA cycle.
【0008】しかし、DMAサイクルとCPUサイクル
とはお互いに無頓着に動作するので、CPUはDMAサ
イクルをモニタし、DMAサイクルの終了を検知してか
らバスを明け渡してもらうという手順を踏まなくてはな
らない。また、バスが接続され、CPUがDMA用信号
バス側の各デバイスにアクセスし、そのアクセスが終了
したときもバスを切離してDMAコントローラ側にバス
を引き渡す手順が必要であり、少なくとも接続及び切離
しの手順のための時間T3、T4のタイムラグが発生し
てしまい、コンピュータシステムが能率よく動作するこ
とができないという問題があった。However, since the DMA cycle and the CPU cycle operate independently of each other, the CPU must follow the procedure of monitoring the DMA cycle, detecting the end of the DMA cycle, and then giving up the bus. . Further, when the bus is connected, the CPU accesses each device on the DMA signal bus side, and when the access is completed, it is necessary to disconnect the bus and hand over the bus to the DMA controller side. There has been a problem that a computer system cannot operate efficiently because a time lag of time T3 and T4 for the procedure occurs.
【0009】また、CPUによるDMA用信号バスアク
セスがストリング命令によるものであった場合は、スト
リング命令による連続アクセスが終了するまでは、本来
のDMA転送が止められ、一定間隔毎にサービスする必
要のあるDMA転送要求がある場合、それに対応するこ
とができなくなる。Further, if the DMA signal bus access by the CPU is by a string instruction, the original DMA transfer is stopped until the continuous access by the string instruction is completed, and it is necessary to provide service at regular intervals. If there is a certain DMA transfer request, it cannot be handled.
【0010】ここで、ストリング命令について説明す
る。コンピュータシステムにおいては、メモリに連続し
て定義されるデータを扱うことが多い。例えば、メモリ
の8000H番地から始まる100Hバイトのデータを
メモリの9000H番地から始まる90FFH番地まで
の領域に転送するいわゆるブロック転送がある。その他
にも、CPUのあるレジスタの値とメモリに連続して定
義されるデータとを比較していく比較操作等がある。こ
れらの操作をメモリに連続して定義されるデータに対し
て一度に行なうのがストリング命令である。The string instruction will be described below. Computer systems often handle data defined continuously in memory. For example, there is so-called block transfer in which 100 Hbytes of data starting from address 8000H of memory are transferred to an area up to address 90FFH starting from address 9000H of memory. In addition, there is a comparison operation for comparing the value of a register in the CPU with the data continuously defined in the memory. A string instruction performs these operations at once on data defined continuously in memory.
【0011】ここで、CPUからDMAバス上のデバイ
スにストリング命令等により連続アクセスした場合の問
題点について、図13を参照して説明する。Here, a problem when the CPU continuously accesses the device on the DMA bus by a string instruction or the like will be described with reference to FIG.
【0012】同図において、DMA1〜5はDMA用信
号バス側のデバイス(DMA要求源)からの優先順位の
無い互いに対等なDMA要求である。ここで、DMA1
は、一定間隔で適切に処理(サービス)されるべきDM
A要求である。In FIG. 1, DMAs 1 to 5 are equal DMA requests without priorities from devices on the DMA signal bus side (DMA request sources). Where DMA1
Is a DM that should be appropriately processed (serviced) at regular intervals
A request.
【0013】さて、DMA1〜5の要求源に対して、要
求された順番に、DMA3、DMA1、DMA2の順に
DMAコントローラが順次サービスしていると、DMA
2のサービスの最中にCPUがDMAバスにアクセス要
求してきたので、DMA2のサービスが終わると、その
アクセス要求を受入れる。しかし、そのCPUアクセス
はストリング命令による連続アクセスであるので、DM
AバスはCPUサイクルで実行される連続アクセスに専
有され、DMA1〜5の要求源の要求は、その連続アク
セスが終わるまで待たされ続けることになる。When the DMA controller sequentially services the request sources of DMA1 to DMA5 in the order requested, DMA3, DMA1 and DMA2.
Since the CPU has made an access request to the DMA bus during the second service, when the DMA2 service ends, the access request is accepted. However, since the CPU access is continuous access by the string instruction, DM
The A bus is exclusively used for continuous access executed in the CPU cycle, and requests from the request sources of the DMA1 to DMA5 are kept waiting until the continuous access ends.
【0014】とりわけ、一定期間毎にサービスされるべ
きDMA1に対して、一定期間内にサービスすることが
できなくなってしまう。In particular, it becomes impossible to service the DMA 1 which should be serviced at regular intervals within a fixed period.
【0015】本発明は、上記の問題を解決し、能率のよ
いコンピュータシステムの動作方法を提供することを目
的とする。An object of the present invention is to solve the above problems and provide an efficient method for operating a computer system.
【0016】[0016]
【課題を解決するための手段】このために本発明は、C
PUが、DMA用信号バス側のデバイスにアクセスする
場合には、DMAコントローラの規定周期つまりDMA
サイクルで、デバイスをリードライト制御してデータを
入出力するようにしている。To this end, the present invention provides C
When the PU accesses the device on the side of the signal bus for DMA, the specified period of the DMA controller, that is, DMA
In a cycle, read / write control is performed on the device to input / output data.
【0017】また、DMA要求に優先順位を持たせ、そ
の優先順位を固定優先と回転優先とに分け、上記要求の
有無をサンプリングしながら監視し、上記要求をラッチ
すると上記優先順位に従って順番にサービスし、そのサ
ービスが回転優先の要求に対するものであった場合はそ
のサービス終了後に回転優先の優先順位を回転させる一
方、ラッチした前記要求を一定間隔ごとにクリアし再び
サンプリングしなおすようにしている。Further, the DMA request is given a priority, the priority is divided into fixed priority and rotation priority, the presence or absence of the request is monitored while being sampled, and if the request is latched, the services are serviced in order according to the priority. If the service is for the rotation priority request, the rotation priority priority is rotated after the service ends, while the latched request is cleared and re-sampled at regular intervals.
【0018】また、CPUのDMA用信号バスアクセス
要求を他のDMA要求から独立させ、CPUのアクセス
要求があった場合は、CPUのアクセスを優先してサー
ビスし、CPUのアクセス要求が無かった場合は、優先
順位に従って他のDMA要求に対してサービスするよう
にしている。When a signal bus access request for DMA of the CPU is made independent of other DMA requests, and when there is an access request of the CPU, the access of the CPU is prioritized to be serviced, and there is no access request of the CPU. Attempts to service other DMA requests in priority order.
【0019】[0019]
【作用】DMAコントローラのデバイスアクセスを一時
休止して、CPUのデバイスアクセスを実行する場合
に、DMAサイクルを単位としてデバイスアクセスを一
時休止するだけでよくなり、回路動作のタイムラグが減
少すると共に、DMAバス側のデバイスのDMA要求に
対しても、適切に対応できるので、コンピュータシステ
ムが能率よく動作することができるようになる。When the device access of the DMA controller is temporarily suspended and the device access of the CPU is executed, it is sufficient to temporarily suspend the device access in units of DMA cycle, which reduces the time lag of the circuit operation and also the DMA. The computer system can operate efficiently because it can appropriately respond to the DMA request of the device on the bus side.
【0020】[0020]
【実施例】以下、添付図面を参照しながら、本発明の実
施例を詳細に説明する。Embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
【0021】図1は、本発明の一実施例に係るコンピュ
ータシステムのブロック構成図を示したものである。FIG. 1 is a block diagram of a computer system according to an embodiment of the present invention.
【0022】同図において、このコンピュータシステム
には、CPUバス1とDMAバス2との2組の信号バス
が配設されている。CPUバス1は、アドレスバス1a
とデータバス1bとで構成され、DMAバス2は、アド
レスバス2aとデータバス2bとで構成されている。In this figure, this computer system is provided with two sets of signal buses, a CPU bus 1 and a DMA bus 2. The CPU bus 1 is the address bus 1a
And a data bus 1b, and the DMA bus 2 is composed of an address bus 2a and a data bus 2b.
【0023】バスバッファ回路3aは、必要に応じてア
ドレスバス1aとアドレスバス2aとを連結するもの
で、バスバッファ回路3bおよびバッファ&ラッチ回路
3cは、データバス1bとデータバス2bとを連結する
ものである。なお、バスバッファ回路3a、3bによる
バス連結時には、CPUバス1側の信号がDMAバス2
側に出力され、バッファ&ラッチ回路3cによるバス連
結時には、データバス2bの信号がデータバス1bに出
力されるようになる。The bus buffer circuit 3a connects the address bus 1a and the address bus 2a as needed. The bus buffer circuit 3b and the buffer & latch circuit 3c connect the data bus 1b and the data bus 2b. It is a thing. When the buses are connected by the bus buffer circuits 3a and 3b, the signal on the CPU bus 1 side is the DMA bus 2
When the buffer & latch circuit 3c connects the buses, the signal of the data bus 2b is output to the data bus 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から信号を入力し、各部に信号を出力するよう
に配設されている。The CPU bus 1 includes a CPU 4, a DMA bus request circuit 5, a DMA controller 6, a memory 7 and an I.
/ O device 8 is connected. On the DMA bus 2,
In addition to the above DMA controller 6, an I / O device 9,
10 and the memory 11 are connected. The competition control circuit 12 is arranged to receive signals from the DMA bus request circuit 5 and the I / O devices 9 and 10 and output signals to the respective parts.
【0025】メモリ7には、CPU4の制御プログラム
やその他のデータが格納されている。このメモリ7とI
/Oデバイス8は、CPU4だけがアクセスするもので
ある。I/Oデバイス9、10およびメモリ11は、D
MAコントローラ6がアクセスするほか、CPU4が必
要に応じてアクセスするものである。The memory 7 stores a control program for the CPU 4 and other data. This memory 7 and I
The / O device 8 is accessed only by the CPU 4. The I / O devices 9, 10 and the memory 11 are D
In addition to being accessed by the MA controller 6, the CPU 4 is also accessed as necessary.
【0026】CPU4は、このシステム全体を監視制御
するものである。DMAバス要求回路5は、CPU4が
I/Oデバイス9、10またはメモリ11にアクセスす
る際に、DMAバス2を使用するために、競合制御回路
12に所定の要求を出すものである。競合制御回路12
は、DMAバス要求回路5やI/Oデバイス9、10か
らのそれぞれの要求を調停し、必要に応じてCPUバス
1とDMAバス2の連結や分離を実行するものである。The CPU 4 monitors and controls the entire system. The DMA bus request circuit 5 issues a predetermined request to the contention control circuit 12 in order to use the DMA bus 2 when the CPU 4 accesses the I / O devices 9, 10 or the memory 11. Contention control circuit 12
Arbitrates requests from the DMA bus request circuit 5 and the I / O devices 9 and 10, and connects or disconnects the CPU bus 1 and the DMA bus 2 as needed.
【0027】DMAコントローラ6は、CPU4の介在
を受けずにI/Oデバイス9、10とメモリ11間のデ
ータ転送を実行するものである。The DMA controller 6 executes data transfer between the I / O devices 9, 10 and the memory 11 without the intervention of the CPU 4.
【0028】以上の構成で、図2は、本実施例のコンピ
ュータシステムが1つの処理を実行する際の動作手順の
一例を示している。With the above configuration, FIG. 2 shows an example of an operation procedure when the computer system of this embodiment executes one process.
【0029】すなわち、このコンピュータシステムの動
作開始時には、CPUバス1とDMAバス2は電気的に
分離している(処理101)。この状態で、CPU4
は、メモリ7から制御プログラムを読み出して動作を開
始する。そして、図3(a)に示すように、CPU4
は、CPUバス1を介して、メモリ7やI/Oデバイス
8にアクセスし、それらとの間でデータ転送する(処理
102)。That is, when the operation of this computer system is started, the CPU bus 1 and the DMA bus 2 are electrically separated (process 101). In this state, CPU4
Reads the control program from the memory 7 and starts the operation. Then, as shown in FIG.
Accesses the memory 7 and the I / O device 8 via the CPU bus 1 and transfers data to and from them (process 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)。Here, for example, I / O devices 9 and 10
Suppose you need to transfer data to and from memory. In this case, the CPU 4 activates the DMA controller 6 (process 103). As a result, the DMA controller 6 executes data transfer between the I / O devices 9, 10 and the memory 11 via the DMA bus 2 as shown in FIG. This DMA data transfer is executed in parallel with the data transfer of the CPU bus 1 (process 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)。Next, it is assumed that the CPU 4 needs to output data to the I / O device 9 or 10 or write data to the memory 11. In this case, the CPU 4
A request for data output to the DMA bus 2 side is issued to the DMA bus request circuit 5 (process 105). Then, the address of the I / O device 9, 10 or the address of the memory 11 is output from the address bus 1a, and
6), output data from the data bus 1b (Process 10)
7).
【0032】ところで、CPU4は、規定のCPUサイ
クルで各デバイスにアクセスし、DMAコントローラ6
は、別のDMAサイクルで各デバイスにアクセスする。
この場合、CPUサイクルとDMAサイクルとは非同期
である。このため、ここでCPU4は、動作中の一つの
DMAサイクルの終了を待つ(処理108)。By the way, the CPU 4 accesses each device in a prescribed CPU cycle, and the DMA controller 6
Accesses each device in another DMA cycle.
In this case, the CPU cycle and the DMA cycle are asynchronous. Therefore, the CPU 4 here waits for the end of one DMA cycle in operation (process 108).
【0033】次いで、DMAコントローラ6のデバイス
制御機能のみ有効にする。すなわち、DMAコントロー
ラ6は、各デバイスにアクセスする場合、転送元や転送
先の各アドレスを出力したり、目的デバイスをリードラ
イト制御したり、転送データ数を計数して所定量のデー
タ転送が完了するとCPU4に割込みをかけたりする。
ここでは、それらの各機能の内、デバイスに対するライ
ト制御機能のみ有効にして、他の機能を無効にする(1
09)。Then, only the device control function of the DMA controller 6 is enabled. That is, when accessing each device, the DMA controller 6 outputs each address of the transfer source and the transfer destination, controls the read / write of the target device, counts the number of transfer data, and completes the transfer of a predetermined amount of data. Then, the CPU 4 is interrupted.
Here, of those functions, only the write control function for the device is enabled and the other functions are disabled (1
09).
【0034】次に、バスバッファ回路3a、3bによ
り、CPUバス1とDMAバス2とを連結する。これに
より、アドレスバス1aの信号をアドレスバス2a側、
データバス1bの信号をデータバス2bにそれぞれ出力
する(処理110)。そして、DMAコントローラ6
は、所定のDMAサイクルで、目的デバイスをライト制
御する(処理111)。Next, the CPU bus 1 and the DMA bus 2 are connected by the bus buffer circuits 3a and 3b. As a result, the signal of the address bus 1a is transferred to the address bus 2a side,
The signal of the data bus 1b is output to the data bus 2b (process 110). Then, the DMA controller 6
Performs write control of the target device in a predetermined DMA cycle (process 111).
【0035】これにより、図3(c)に示すように、C
PU4から出力されたデータが、I/Oデバイス9、1
0またはメモリ11に出力される。この出力動作は、一
つのDMAサイクルで実行される。この1サイクルが終
了すると、CPUバス1とDMAバス2とを分離する
(処理112)。これにより、上記処理104の状態に
戻る。As a result, as shown in FIG. 3C, C
The data output from the PU 4 is the I / O device 9, 1
0 or output to the memory 11. This output operation is executed in one DMA cycle. When this one cycle ends, the CPU bus 1 and the DMA bus 2 are separated (process 112). As a result, the state of the processing 104 is returned to.
【0036】次に、上記処理104の状態において、C
PU4が、I/Oデバイス9または10からデータ入
力、またはメモリ11からデータ読み出しを実行する必
要が生じたとする。この場合、図4に示すように、CP
U4は、DMAバス要求回路5にDMAバス2を介して
データ入力する旨の要求を出す(処理113)Next, in the state of the above processing 104, C
It is assumed that the PU 4 needs to input data from the I / O device 9 or 10 or read data from the memory 11. In this case, as shown in FIG.
U4 issues a request to the DMA bus request circuit 5 to input data via the DMA bus 2 (process 113).
【0037】次いで、前記と同様に、アドレスバス1a
にアクセス先のアドレスを出力する(処理114)。こ
の後、動作中のDMAサイクルの終了を待つ(処理11
5)。そして、この場合、DMAコントローラ6のデバ
イスに対するリード制御機能のみ有効にする(処理11
6)Then, as described above, the address bus 1a
The address of the access destination is output to (step 114). After this, wait for the end of the operating DMA cycle (Process 11
5). Then, in this case, only the read control function for the device of the DMA controller 6 is enabled (Processing 11
6)
【0038】次いで、CPUバス1とDMAバス2とを
連結する。但し、この場合、バスバッファ回路3aによ
り、アドレスバス1aからアドレスバス2aに信号出力
する一方、バッファ&ラッチ回路3cによりデータバス
2bからデータバス1bに信号出力する(処理11
7)。Next, the CPU bus 1 and the DMA bus 2 are connected. However, in this case, the bus buffer circuit 3a outputs a signal from the address bus 1a to the address bus 2a, while the buffer & latch circuit 3c outputs a signal from the data bus 2b to the data bus 1b (process 11).
7).
【0039】次いで、DMAコントローラ6により目的
デバイスをリード制御する(処理118)。これによ
り、図3(d)に示すように、I/Oデバイス9、10
またはメモリ11からデータが読み出される。Next, the DMA controller 6 performs read control of the target device (process 118). As a result, as shown in FIG. 3D, the I / O devices 9, 10
Alternatively, the data is read from the memory 11.
【0040】そして、そのDMAサイクル終了時にバッ
ファ&ラッチ回路3cで、読み出されたデータをラッチ
する(処理119)。そして、CPUバス1とDMAバ
ス2とを分離する(処理120)。この後CPU4は、
バッファ&ラッチ回路3cにラッチされたデータを読み
取る(処理121)。At the end of the DMA cycle, the buffer & latch circuit 3c latches the read data (process 119). Then, the CPU bus 1 and the DMA bus 2 are separated (process 120). After this, the CPU 4
The data latched in the buffer & latch circuit 3c is read (process 121).
【0041】このようにして、前記処理104の状態に
戻る。この後、CPU4とDMAコントローラ6とは、
それぞれ独立に各動作を実行することになる。In this way, the state of the processing 104 is returned to. After that, the CPU 4 and the DMA controller 6
Each operation will be executed independently.
【0042】図5は、上記動作の一例を示すタイムチャ
ートである。すなわち、いま、DMAサイクルである規
定周期をT1とすると、DMAバス2には、同図(a)
に示すように、そのDMAサイクルに同期したタイミン
グでアドレス信号やデータ信号が転送されることにな
る。FIG. 5 is a time chart showing an example of the above operation. That is, assuming that the specified cycle, which is the DMA cycle, is T1, the DMA bus 2 is shown in FIG.
As shown in, the address signal and the data signal are transferred at the timing synchronized with the DMA cycle.
【0043】一方、CPUサイクルである規定周期をT
2とすると、CPUバス1では、同図(b)に示すよう
に、そのCPUサイクルに同期したタイミングでアドレ
ス信号やデータ信号が転送されることになる。On the other hand, the specified cycle which is a CPU cycle is T
If the number is 2, the CPU bus 1 transfers the address signal and the data signal at the timing synchronized with the CPU cycle, as shown in FIG.
【0044】ここで、一つのDMAサイクルの動作実行
中に、同図(c)に示すように、CPU4からDMAバ
ス2へのデータ出力要求が出されたとする。これは、前
記処理105で説明した動作である。この場合、同図
(d)に示すように、その次のDMAサイクルで、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理110の動作である。そして、CPU4からD
MAバス2側のいずれかのデバイスにデータが出力され
るようになる。Here, it is assumed that a data output request from the CPU 4 to the DMA bus 2 is issued as shown in FIG. 3C during the execution of one DMA cycle operation. This is the operation described in the process 105. In this case, the CPU bus 1 and the DMA bus 2 are immediately connected in the next DMA cycle as shown in FIG. This is the operation of process 110. And from CPU4 to D
Data will be output to any device on the MA bus 2 side.
【0045】また、前記処理113で説明したDMAバ
ス2側からのデータ入力要求が出された場合にも、直ち
にCPUバス1とDMAバス2とが連結される。これ
は、処理117の動作である。そして、DMAバス2側
のいずれかのデバイスからデータが読み出される。この
場合、同図(e)に示すように、DMAサイクル終了時
に、読み出したデータがバッファ&ラッチ回路3cにラ
ッチされ、その後でも、CPU間4がその読み出しデー
タを入力することができるようになる。Also, when the data input request from the DMA bus 2 side described in the processing 113 is issued, the CPU bus 1 and the DMA bus 2 are immediately connected. This is the operation of process 117. Then, the data is read from any device on the DMA bus 2 side. In this case, as shown in (e) of the figure, the read data is latched in the buffer & latch circuit 3c at the end of the DMA cycle, and even after that, the CPU 4 can input the read data. .
【0046】以上のように、本実施例では、CPU4
が、I/Oデバイス9、10あるいはメモリ11にアク
セスする場合には、DMAサイクルで、それらのデバイ
スをリードライト制御してデータを入出力するようにし
ている。As described above, in this embodiment, the CPU 4
However, when accessing the I / O devices 9, 10 or the memory 11, the devices are read / write-controlled in a DMA cycle to input / output data.
【0047】従って、DMAコントローラ6によるDM
Aデータ転送実行中に、CPU4がDMAバス2側のデ
バイスにアクセスする場合には、DMAコントローラ6
は、DMAサイクルを単位としてCPU4にDMAバス
2を明け渡せばよい。これにより、そのDMAサイクル
の期間に、CPU4による目的デバイスのアクセス動作
が実行されるので、DMAバス2がCPU4に専有され
る時間を最小限にできる。Therefore, DM by the DMA controller 6
When the CPU 4 accesses a device on the side of the DMA bus 2 during execution of the A data transfer, the DMA controller 6
Need only yield the DMA bus 2 to the CPU 4 in units of DMA cycles. As a result, the access operation of the target device by the CPU 4 is executed during the DMA cycle, so that the time when the DMA bus 2 is occupied by the CPU 4 can be minimized.
【0048】これにより、回路動作のタイムラグが減少
し、コンピュータシステムが能率よく動作することがで
きるようになる。As a result, the time lag of circuit operation is reduced, and the computer system can operate efficiently.
【0049】また、本実施例では、CPU4が上記各デ
バイスにアクセスする場合、DMAコントローラ6の一
部の機能を無効にして、それらのデバイスのリードライ
ト制御をDMAコントローラ6により実行させるように
したので、そのようなリードライト制御を実行する専用
の回路を配設しなくてもよい。Further, in the present embodiment, when the CPU 4 accesses each of the above devices, some functions of the DMA controller 6 are disabled and the read / write control of those devices is executed by the DMA controller 6. Therefore, it is not necessary to provide a dedicated circuit for executing such read / write control.
【0050】以上説明してきた方法により、CPUがD
MAバスにDMAサイクルでアクセスできるわけである
が、次に、DMA用信号バス側のデバイスのDMA転送
を止めることなく、CPUからのDMA用信号バスのア
クセスを可能とする方法の実施例について詳細に説明す
る。According to the method described above, the CPU
The MA bus can be accessed in the DMA cycle. Next, an embodiment of a method for enabling the DMA signal bus access from the CPU without stopping the DMA transfer of the device on the DMA signal bus side will be described in detail. Explained.
【0051】先ず、競合制御回路12の構成について図
6を参照しながら説明する。First, the configuration of the competition control circuit 12 will be described with reference to FIG.
【0052】同図において、ラッチ回路41、42は同
一のサンプリングクロックにより高優先、低優先それぞ
れの要求をラッチする。なお、このサンプリングによる
要求のラッチは、ラッチされた要求に対してサービス中
の期間は行われない。In the figure, latch circuits 41 and 42 latch high priority requests and low priority requests by the same sampling clock. Note that the sampling request is not latched during the service period for the latched request.
【0053】ラッチ回路41がラッチした要求は固定優
先回路43で固定の優先順位で調停され、ラッチ回路4
2がラッチした要求は、回転優先回路44で回転する優
先順位で調停される。The requests latched by the latch circuit 41 are arbitrated by the fixed priority circuit 43 in a fixed priority order, and the latch circuit 4
The requests latched by 2 are arbitrated by the rotation priority circuit 44 in the priority order of rotation.
【0054】そして、サービス権巡回回路45は、ラッ
チした要求に対して、優先順位に従って、順にサービス
をするための各種信号を生成するものである。また、ス
ライスタイマ回路46はCPUにより設定された設定値
からカウントダウンを行ない、0になった時点(タイム
アウト)でラッチ回路41、42にリセット信号を出力
する。リセット信号出力後は、再度設定値よりカウント
ダウン動作を繰り返す。Then, the service right circulation circuit 45 generates various signals for servicing the latched requests in order of priority. Further, the slice timer circuit 46 counts down from the set value set by the CPU, and outputs a reset signal to the latch circuits 41 and 42 when it reaches 0 (timeout). After outputting the reset signal, the countdown operation is repeated again from the set value.
【0055】ラッチ回路41、42は、このリセット信
号によりラッチした要求をリセットし、再度要求をサン
プリングし、ラッチし、上記動作を繰り返す。なお、ス
ライスタイマがいずれかの要求に対するサービス中にタ
イムアウトになった場合は、そのサービス終了後に、要
求をリセットする。The latch circuits 41 and 42 reset the request latched by this reset signal, sample and latch the request again, and repeat the above operation. If the slice timer times out during service for any request, the request is reset after the service ends.
【0056】以上のように構成される本実施例の作用に
ついて、サービス権の遷移状態を示す図7、及び図8の
タイミングチャートを用いて説明を行なう。The operation of the present embodiment configured as described above will be described with reference to the timing charts of FIG. 7 and FIG. 8 showing transition states of service right.
【0057】図7は、ラッチされた要求がどのような優
先順位でサービスされるかを示している。(*)はサー
ビス権を意味しており、回転優先の優先順位の状態で決
まる全体としての優先順位に従って遷移していくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。回転優先の優先順
位の状態が変化するのは、回転優先の要求がサービスさ
れるときである。FIG. 7 shows in what priority the latched request is serviced. (*) Means a service right, and changes according to the overall priority order determined by the priority order state of rotation priority. The service right (*) is not passed to the request that is not latched. Also, every time the slice timer times out, the service right (*) is forcibly transferred to the initial state DMA1. Also, if you latch the request,
The service right (*) is forcibly transferred to the initial state DMA1. However, even if the service right shifts to the initial state, the priority order of rotation priority retains that state. The rotation priority status changes when the rotation priority request is serviced.
【0058】図8においてDMA1及び2は高優先要求
源であり、DMA3〜6は低優先要求源である。そし
て、DMA1としてCPUからのアクセスの要求を割り
当てる。要求状態のサンプリングはラッチした要求に対
してサービス中でない場合は、常時サンプリングされて
いるが、図8に示されたS1〜S8は、サービス要求の
状態のサンプリングのうち、少なくと一つのサービス要
求をラッチした場合のものを示している。In FIG. 8, DMA1 and DMA2 are high priority request sources, and DMA3 to DMA6 are low priority request sources. Then, an access request from the CPU is assigned as DMA1. Although the sampling of the request status is always performed when the latched request is not in service, S1 to S8 shown in FIG. 8 are at least one of the service request status samplings. It shows the case where is latched.
【0059】先ず最初に、常時サンプリング状態でDM
A4の要求のみアクティブとなるためこの要求がサンプ
リングされラッチされる(S1)。そしてDMA4に対
するサービスを行なう。なお、DMA4は、低優先要求
源として割り当てられているため、そのサービスが終了
した時点で図7に示す回転優先部の優先順位は今サービ
スされたDMA4の次のDMA5が最高位となり、優先
順位の状態が(202)となる。なお、低優先要求源が
サービスされなかった場合は回転優先部の優先順位は変
化しない。First, the DM is always sampled.
Since only the A4 request is active, this request is sampled and latched (S1). Then, the service for the DMA4 is performed. Since the DMA4 is assigned as a low-priority request source, when the service ends, the priority of the rotation priority unit shown in FIG. 7 is the DMA5 next to the currently serviced DMA4, which is the highest priority. The state becomes (202). When the low priority request source is not serviced, the priority order of the rotation priority unit does not change.
【0060】次に、DMA4のサービスが終了した時点
で、要求状態がサンプリングされラッチされる(S
2)。この時、DMA2の要求がアクティブとなってい
るため、次はDMA2がサービスされる。また、DMA
2のサービス中スライスタイマがタイムアウトとなるた
めDMA2のサービス終了後にラッチした要求状態をリ
セット(この場合は、ラッチされていた要求は、DMA
2のみであったのでリセットされてしまう要求はな
い。)し、再度要求状態がサンプリングされラッチされ
る(S3)。なお、DMA2のサービス終了後の優先順
位の状態は、DMA2は回転優先の要求源ではないの
で、(202)のままである。Next, when the service of the DMA4 is completed, the request state is sampled and latched (S
2). At this time, since the request of DMA2 is active, DMA2 is serviced next. Also, DMA
Since the in-service slice timer of No. 2 times out, the request state latched after the end of the DMA2 service is reset (in this case, the latched request is DMA
Since it was only 2, there is no request to be reset. ), And the request state is sampled and latched again (S3). The status of the priority order after the service of the DMA2 remains (202) because the DMA2 is not the rotation priority request source.
【0061】この時DMA3とDMA5の要求がアクテ
ィブとなっているため優先順位の状態(202)に従っ
てDMA5、DMA3の順にサービスする。なお、この
サービス後の優先順位の状態は、DMA5のサービス後
に(203)となり、DMA3のサービス後に(20
1)となる。At this time, since the requests of DMA3 and DMA5 are active, DMA5 and DMA3 are serviced in this order according to the priority state (202). The priority status after this service is (203) after the service of DMA5 and (20) after the service of DMA3.
It becomes 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)となる。When the service of the DMA3 is completed, the request state is sampled and latched again (S
4). At this time, since only the request of DMA1 (CPU) is active, the DMA1 (CPU) is serviced. After the service of DMA1 is completed, sampling is performed again and the requests of DMA2 and DMA6 are latched (S5). First, the DMA2 having the highest priority is serviced. During this service, since the slice timer times out, the DMA6 request currently latched is reset after the DMA2 service ends, and the request including the DMA6 request is sampled and latched again (S
6). At this time, the requests of DMA1 and DMA6 are latched, and DMA1 and DMA6 are serviced in descending order of priority. After the service of the DMA 6 is completed, the priority order state is (200).
【0063】DMA6のサービス終了後再度要求をサン
プリングし、この時DMA1とDMA4の要求をラッチ
する(S7)。ここでのサービスも優先順位に従ってD
MA1、DMA4の順にサービスされる。尚、サービス
終了後は、回転優先部の状態は(202)となる。After the service of DMA6 is completed, the request is sampled again, and at this time, the requests of DMA1 and DMA4 are latched (S7). The services here are also in order of priority D
MA1 and DMA4 are serviced in this order. After the service is completed, the state of the rotation priority section becomes (202).
【0064】DMA4のサービス終了直後にスライスタ
イマがタイムアウトとなるため、ラッチしている要求を
リセットし(ここではラッチされている要求は無い)要
求を再びサンプリングし、DMA1とDMA2の要求が
ラッチされる(S8)。そして、優先順位に従ってDM
A1、DMA2の順にサービスされる。Since the slice timer times out immediately after the end of the DMA4 service, the latched request is reset (here, there is no latched request), the request is sampled again, and the DMA1 and DMA2 requests are latched. (S8). And DM according to priority
Services are provided in the order of A1 and DMA2.
【0065】以上説明したように、要求源を固定優先と
回転優先とに分けて、一回のサンプリングで全要求源の
要求状態をラッチして、優先順位の高い要求からサービ
スを行なうと共に、スライスタイマにて一定間隔でサン
プリングし直すため、固定優先の要求に対しては、必ず
一定期間毎にサービスを行なうことができる。As described above, the request sources are divided into the fixed priority and the rotation priority, the request states of all the request sources are latched by one sampling, and the service having the highest priority is serviced and the slice is sliced. Since the timer resamples at regular intervals, fixed priority requests can always be serviced at regular intervals.
【0066】また、一回のサンプリングでラッチした要
求をサービスする時間の合計がスライスタイマの設定時
間より長い場合でも、優先順位の低い要求に対しても平
均的にサービスすることができる。Further, even if the total time for servicing the requests latched in one sampling is longer than the set time of the slice timer, it is possible to service the requests with low priority on average.
【0067】つまり、図8の場合にDMA1〜DMA6
までのすべての要求源が頻繁にサービスを要求し、ラッ
チされた場合、スライスタイマの設定によっては、DM
A1〜6を連続してサービスするのに要する時間が、そ
の設定した時間より長くなりうる。ここで、もし優先順
位の低い要求の順位が回転しないとすると、順位が低い
要求の中で比較的優先順位の高い要求はサービスされて
も、比較的優先順位の低い要求はサービスされる前にス
ライスタイマによってリセットされてしまい、その比較
的優先順位の低い要求はサービスされないままになって
しまう。That is, DMA1 to DMA6 in the case of FIG.
Depending on the setting of the slice timer, if all request sources request service frequently and are latched, DM
The time required to service A1 to 6 continuously may be longer than the set time. Here, if the lower priority requests do not rotate, the lower priority requests will be serviced while the lower priority requests will be serviced before the lower priority requests are serviced. It will be reset by the slice timer, leaving the relatively low priority request unserved.
【0068】しかし、優先順位が低い要求を回転優先に
すれば、ある時比較的優先順位の高かった要求は、いず
れは優先順位が回転して優先順位が低くなり、また、あ
る時比較的優先順位の低かった要求はその逆にいずれは
優先順位が回転して優先順位が高くなるので平均的にサ
ービスできるのである。However, if a request with a low priority is given rotation priority, a request with a relatively high priority at one time will have a low priority due to a rotation of the request, and a priority at a certain time. On the contrary, a request with a low priority will be serviced on average because the priority will eventually rotate and the priority will increase.
【0069】次に、DMA用信号バス側のDMA転送を
止めることなく、CPUからのアクセスを可能とする別
の方法について詳細に説明する。Next, another method for enabling access from the CPU without stopping the DMA transfer on the DMA signal bus side will be described in detail.
【0070】先ず、競合制御回路12の構成について図
9を参照しながら説明する。First, the configuration of the competition control circuit 12 will be described with reference to FIG.
【0071】この構成は、図6の構成に、優先順位判定
回路47が追加されたものであり、CPUからのアクセ
スは、他のDMA要求よりも優先してサービスを行なよ
うにするものである。This configuration is a configuration in which a priority order determination circuit 47 is added to the configuration of FIG. 6, and the access from the CPU gives priority to service other DMA requests. is there.
【0072】各要求源の要求は、同一サンプリングクロ
ックにてラッチ回路41、42にラッチされ、固定優先
化回路43、回転優先回路44にて優先順位が決定され
た後、サービス権巡回回路45にてサービス権をもった
DMA要求が選択され処理される。この時、優先順位判
定回路47にてCPUによるDMAバスアクセスを認識
し、もし要求があった場合は、CPUからのアクセスを
優先してサービスし、CPUからの要求が無かった場合
は、サービス権巡回回路45にて選択されたDMA要求
がそのままサービスされる。The requests from the respective request sources are latched by the latch circuits 41 and 42 at the same sampling clock, and the priority order is determined by the fixed priority circuit 43 and the rotation priority circuit 44, and then the service right circulation circuit 45. A DMA request having a service right is selected and processed. At this time, the priority determination circuit 47 recognizes the DMA bus access by the CPU, and if there is a request, gives priority to the access from the CPU and services it. If there is no request from the CPU, the service right is given. The DMA request selected by the circulation circuit 45 is directly serviced.
【0073】以上のように構成される本実施例の作用に
ついて、サービス権の遷移状態を示す図10、及び図1
1のタイミングチャートを用いて説明を行なう。With respect to the operation of this embodiment configured as described above, FIG. 10 and FIG. 1 showing transition states of service right
The description will be given using the timing chart of No. 1.
【0074】図10は、ラッチされた要求がどのような
優先順位でサービスされるかを示している。(*)はサ
ービス権を意味しており、回転優先の優先順位の状態で
決まる全体としての優先順位に従って移っていくもので
ある。ラッチされなかった要求に対しては、サービス権
(*)は渡されない。また、スライスタイマがタイムア
ウトとなる毎に、サービス権(*)は、強制的に初期状
態のDMA1に移る。また、要求をラッチした場合も、
サービス権(*)は、強制的に初期状態のDMA1に移
る。しかし、サービス権が初期状態に移っても、回転優
先の優先順位はその状態を保持する。FIG. 10 shows in what priority the latched request is serviced. (*) Means service right, and moves according to the overall priority determined by the priority of rotation priority. The service right (*) is not passed to the request that is not latched. Also, every time the slice timer times out, the service right (*) is forcibly transferred to the initial state DMA1. Also, if you latch the request,
The service right (*) is forcibly transferred to the initial state DMA1. However, even if the service right shifts to the initial state, the priority order of rotation priority retains that state.
【0075】図11においてDMA1および2は高優先
要求源であり、DMA3〜5は低優先要求源である。そ
して、CPUからのアクセスの要求は、優先順位判定回
路47に入力される。各要求源のサービス要求状態のサ
ンプリングはラッチされた要求のサービス中で無い場合
は、常時サンプリングされているが、図11に示され
た、S1〜S7は、サービス要求状態のサンプリングの
うち、少なくと一つのサービス要求をラッチした場合を
示している。In FIG. 11, DMAs 1 and 2 are high priority request sources, and DMAs 3 to 5 are low priority request sources. Then, the access request from the CPU is input to the priority determination circuit 47. The sampling of the service request state of each request source is always sampled when the latched request is not being serviced. However, S1 to S7 shown in FIG. And one service request is latched.
【0076】先ず、この図11においては、最初、常時
サンプリング状態でDMA3の要求のみアクティブとな
るためこの要求がサンプリングされラッチされる(S
1)。そして、DMA3に対してサービスを行なう。な
お、DMA3は低優先要求源として割り当てられている
ため、そのサービスが終了した時点で図10に示す回転
優先の優先順位は今サービスされたDMA3の次のDM
A4が最高位となり、優先順位の状態は(301)とな
る。なお、低優先要求源がサービスされなかった場合は
回転優先部の優先順位は変化しない。First, in FIG. 11, at first, only the request of DMA3 is active in the always sampling state, so this request is sampled and latched (S).
1). Then, the DMA 3 is serviced. Since the DMA3 is assigned as the low-priority request source, when the service ends, the priority order of the rotation priority shown in FIG. 10 is the next DM of the currently serviced DMA3.
A4 is the highest rank, and the priority status is (301). When the low priority request source is not serviced, the priority order of the rotation priority unit does not change.
【0077】次に、DMA3のサービスが終了した時点
で、要求源の要求状態をサンプリングする(S2)。こ
の時、DMA1の要求がアクティブとなっているため次
はDMA1がサービスされる。また、このサービス中
に、スライスタイマがタイムアウトとなったので、サー
ビス終了後ラッチされていた要求はリセットされ、要求
がサンプリングし直される(S3)。この時、DMA2
とDMA4の要求がアクティブとなっているため優先順
位に従ってDMA2、DMA4の順にサービスされると
ころであるが、DMA2のサービス中に、CPUからの
要求があったのでDMA4をサービスする前に、CPU
の要求を優先してサービスする、そして、CPUのサー
ビスが終わってから、DMA4に対してサービスする。
なお、優先順位の状態は、DMA2のサービス後は変化
せず、CPUのサービス後も変化せず、DMA4のサー
ビス後に(302)となる。Next, when the service of the DMA3 is completed, the request state of the request source is sampled (S2). At this time, since the request of DMA1 is active, DMA1 is serviced next. Further, since the slice timer has timed out during this service, the request latched after the service ends is reset and the request is resampled (S3). At this time, DMA2
Since the request of DMA4 and DMA4 is active, DMA2 and DMA4 are being serviced in this order according to the priority order. However, since there was a request from the CPU during the service of DMA2, the CPU was serviced before DMA4 was serviced.
Request is given priority, and the DMA4 is serviced after the CPU service is completed.
The priority status does not change after the service of DMA2, does not change after the service of CPU, and becomes (302) after the service of DMA4.
【0078】このDMA4のサービスが終了した時点で
再度要求がサンプリングされラッチされる(S4)。こ
の時、DMA1と、DMA5の要求がアクティブになっ
ているが、CPUの要求があるので、最優先でCPUに
対するサービスを行なう。そのCPUのサービス中に、
スライスタイマがタイムアウトとなるためCPUのサー
ビス終了後にラッチした要求状態をリセットし、再度要
求源の要求がサンプリングされDMA1とDMA5の要
求がラッチされる(S5)。そして、DMA1からサー
ビスするが、そのサービス中にCPUの要求があるの
で、DMA1のサービス終了後に、CPUの要求を優先
してサービスし、その後でDMA5のサービスをする。When the service of the DMA4 is completed, the request is sampled and latched again (S4). At this time, the requests of DMA1 and DMA5 are active, but since there is a request of the CPU, the CPU is serviced with the highest priority. During the service of that CPU,
Since the slice timer times out, the request state latched after the service of the CPU is reset, the request of the request source is sampled again, and the requests of DMA1 and DMA5 are latched (S5). Then, the service is provided from the DMA 1, but since there is a request from the CPU during the service, after the service of the DMA 1 is completed, the request from the CPU is given priority to the service, and then the service of the DMA 5 is provided.
【0079】そのサービス終了後、再度サンプリングを
行ない(S6)、DMA1とDMA3の要求がラッチさ
れるが、CPUの要求があるので先ずCPUのサービス
をする。その後で、優先順位の高いDMA1からサービ
スが行われるところであるが、ちょうど、CPUのサー
ビスが終わったところで、スライスタイマがタイムアウ
トとなるため現在ラッチしているDMA1と3の要求を
リセットし、再度DMA1と3の要求がサンプリングし
なおされる(S7)。そして、優先順位の高いDMA1
がサービスされる。そのサービス中に、CPUからの要
求があったので、次は、DMA3の前にCPUが優先し
てサービスされる。After the service is completed, sampling is performed again (S6), and the requests of DMA1 and DMA3 are latched. However, since there is a request of the CPU, the service of the CPU is first provided. After that, the service is being performed from the DMA1 having a higher priority, but just after the CPU service is completed, the slice timer times out, so that the currently latched requests of DMA1 and 3 are reset, and the DMA1 is again performed. Requests 3 and 3 are resampled (S7). And DMA1 with a high priority
Will be serviced. Since there was a request from the CPU during the service, the CPU is serviced prior to the DMA 3 next.
【0080】以上説明したように、CPUからのアクセ
ス要求を他の要求源の要求と独立させて、最終段の優先
順位判定回路で他の要求源の優先順位に関係なく優先し
てサービスするようにしたので、CPUがアクセス要求
した時に他の要求源に対してサービス中であっても、そ
の一つのサービスが終われば、その他のサービス要求が
ラッチされていたとしても、CPUのアクセス要求を優
先してサービスするので、CPUのアクセスは、アクセ
スを要求してから、DMAバスサイクル一つ分以上の時
間待たされることがことがないと共に、CPUをそのよ
うに優先しても、一定期間毎のサービスを必要とするよ
うな、固定優先の要求に対して一定期間内にサービスす
ることが可能となる。また、優先順位の低い要求に対し
ても平均的にサービスすることができることはいうまで
もない。As described above, the access request from the CPU is made independent of the requests of other request sources, and the priority determination circuit at the final stage gives priority to the service regardless of the priority of the other request sources. Therefore, even if the CPU is in service to another request source at the time of making an access request, if one service ends, the access request of the CPU is given priority even if the other service request is latched. Since the CPU does not wait for a time longer than one DMA bus cycle after requesting the access, even if the CPU is prioritized in such a manner, the CPU access is performed at regular intervals. It becomes possible to serve a fixed priority request that requires service within a certain period of time. Further, it goes without saying that even low-priority requests can be serviced on average.
【0081】なお、以上の実施例では、CPUバス1と
DMAバス2という2つのバスを備えている構成を例に
とって説明したが、1つのバスをCPU4とDMAコン
トローラ6とが交互に使用する場合にも、本発明を適用
することが考えられる。In the above embodiments, the configuration in which the two buses of the CPU bus 1 and the DMA bus 2 are provided has been described as an example, but in the case where the CPU 4 and the DMA controller 6 alternately use one bus. Also, it is possible to apply the present invention.
【0082】[0082]
【発明の効果】以上のように、本発明によれば、CPU
が、DMAバス側の各デバイスにアクセスする場合に
は、DMAコントローラ側サイクルで、デバイスをリー
ドライト制御してデータを入出力するようにしたので、
回路動作のタイムラグか減少し、能率よく動作すること
ができるようになるとともに、CPUがDMAバスにア
クセスする場合でも、本来のDMA転送が停滞すること
がない。As described above, according to the present invention, the CPU
However, when accessing each device on the DMA bus side, the read / write control of the device is performed in the cycle of the DMA controller side to input / output data.
The time lag of the circuit operation is reduced and the circuit can operate efficiently, and even when the CPU accesses the DMA bus, the original DMA transfer is not delayed.
【図1】本発明の一実施例に係るコンピュータシステム
のブロック構成図である。FIG. 1 is a block diagram of a computer system according to an embodiment of the present invention.
【図2】上記コンピュータシステムの動作手順の一例を
示すフローチャートである。FIG. 2 is a flowchart showing an example of an operation procedure of the computer system.
【図3】各種デバイス間のデータ転送動作の説明図であ
る。FIG. 3 is an explanatory diagram of a data transfer operation between various devices.
【図4】上記コンピュータシステムの動作手順の一例を
示すフローチャートである。FIG. 4 is a flowchart showing an example of an operation procedure of the computer system.
【図5】上記コンピュータシステムの動作の一例を示す
タイムチャートである。FIG. 5 is a time chart showing an example of the operation of the computer system.
【図6】本発明の一実施例に係る競合制御回路のブロッ
ク構成図である。FIG. 6 is a block configuration diagram of a competition control circuit according to an embodiment of the present invention.
【図7】サービス権の遷移状態を示すものである。FIG. 7 shows a transition state of service right.
【図8】上記競合制御回路の動作手順の一例を示すタイ
ミングチャートである。FIG. 8 is a timing chart showing an example of an operation procedure of the competition control circuit.
【図9】本発明の別の実施例にかかる競合制御回路のブ
ロック構成図である。FIG. 9 is a block configuration diagram of a competition control circuit according to another embodiment of the present invention.
【図10】サービス権の遷移状態を示すものである。FIG. 10 shows a transition state of service right.
【図11】上記競合制御回路の動作手順の一例を示すタ
イミングチャートである。FIG. 11 is a timing chart showing an example of an operation procedure of the competition control circuit.
【図12】従来のコンピュータシステムの動作を示す説
明図である。FIG. 12 is an explanatory diagram showing the operation of a conventional computer system.
【図13】従来のコンピュータシステムの動作を示すタ
イミングチャートである。FIG. 13 is a timing chart showing the operation of a conventional computer system.
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 優先順位判定回路 1 CPU Bus 1a, 2a Address Bus 1b, 2b Data Bus 2 DMA Bus 3a, 3b Bus Buffer Circuit 3c Buffer & Latch Circuit 4 CPU 5 DMA Bus Request Circuit 6 DMA Controller 7, 11 Memory 8-10 I / O Device 12 Contention Control circuit 41, 42 Latch circuit 43 Fixed priority circuit 44 Rotation priority circuit 45 Service right circulation circuit 46 Slice timer circuit 47 Priority determination circuit
Claims (4)
際に使用するCPU用信号バスと、DMAコントローラ
が他のデバイスにアクセスする際に使用するDMA用信
号バスとを備え、上記CPUと上記DMAコントローラ
とは、それぞれ互いに非同期の規定周期で各デバイスを
リードライト制御してデータを入出力する一方、上記C
PUは、必要に応じてDMA用信号バスを使用して上記
他のデバイスにアクセスするコンピュータシステムの動
作方法において、上記CPUが、上記他のデバイスにア
クセスする場合には、上記DMAコントローラ側の規定
周期でデバイスをリードライト制御してデータを入出力
することを特徴とするコンピュータシステムの動作方
法。1. A CPU signal bus used when the CPU accesses a specific device, and a DMA signal bus used when the DMA controller accesses another device. The CPU and the DMA controller. Means that each device performs read / write control at a specified cycle asynchronous with each other to input / output data, and
In the operating method of the computer system, where the PU uses the signal bus for DMA to access the other device as necessary, when the CPU accesses the other device, the regulation of the DMA controller side A method for operating a computer system, characterized in that read / write control is performed on a device at a cycle to input / output data.
セスする場合には、上記DMAコントローラのリードラ
イト制御機能を利用することを特徴とする請求項1記載
のコンピュータシステムの動作方法。2. The method for operating a computer system according to claim 1, wherein the CPU uses the read / write control function of the DMA controller when accessing the other device.
順位を固定優先と回転優先とに分け、上記要求の有無を
サンプリングしながら監視し、上記要求をラッチすると
上記優先順位に従って順番にサービスし、そのサービス
が回転優先の要求に対するものであった場合はそのサー
ビス終了後に回転優先の優先順位を回転させる一方、ラ
ッチした前記要求を一定間隔ごとにクリアし再びサンプ
リングしなおすことを特徴とする請求項1または2記載
のコンピュータシステムの動作方法。3. A DMA request is provided with a priority order, the priority order is divided into a fixed priority order and a rotation priority order, the presence or absence of the request is monitored while being sampled, and when the request is latched, the services are serviced in order according to the priority order. However, when the service is for the rotation priority request, the rotation priority priority is rotated after the service ends, while the latched request is cleared and resampled at regular intervals. A method of operating a computer system according to claim 1.
要求を他のDMA要求から独立させ、上記CPUのアク
セス要求があった場合は、上記CPUのアクセスを優先
してサービスし、上記CPUのアクセス要求が無かった
場合は、優先順位に従って前記他のDMA要求に対して
サービスするようにしたことを特徴とする請求項3記載
のコンピュータシステムの動作方法。4. A signal bus access request for DMA of the CPU is made independent from other DMA requests, and when there is an access request of the CPU, the access of the CPU is serviced with priority and the access request of the CPU is issued. 4. The method of operating a computer system according to claim 3, wherein the other DMA request is serviced according to the priority order when there is no such request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34921193A JPH0773136A (en) | 1993-06-30 | 1993-12-28 | Operation method for computer system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5-183149 | 1993-06-30 | ||
JP18314993 | 1993-06-30 | ||
JP34921193A JPH0773136A (en) | 1993-06-30 | 1993-12-28 | Operation method for computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0773136A true JPH0773136A (en) | 1995-03-17 |
Family
ID=26501696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34921193A Pending JPH0773136A (en) | 1993-06-30 | 1993-12-28 | Operation method for computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0773136A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008192090A (en) * | 2007-02-07 | 2008-08-21 | Sharp Corp | Dma transfer device and data transfer device |
JP2012190414A (en) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | Data transfer system and data transfer method |
-
1993
- 1993-12-28 JP JP34921193A patent/JPH0773136A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008192090A (en) * | 2007-02-07 | 2008-08-21 | Sharp Corp | Dma transfer device and data transfer device |
JP2012190414A (en) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | Data transfer system and data transfer method |
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 (en) | Bus system and execution scheduling method for access commands thereof | |
US6782433B2 (en) | Data transfer apparatus | |
JPH1063610A (en) | Data processor provided with dma function | |
JPH0773136A (en) | Operation method for computer system | |
JP2504818B2 (en) | Common memory control method in multiprocessor device | |
JPH064314A (en) | Inter-task synchronizing communication equipment | |
EP0336756A2 (en) | Direct memory access controller | |
JP2000132505A (en) | Bus access method and device therefor, and device and system using the bus access method and device | |
JPH0830549A (en) | Bus control device | |
JP3050131B2 (en) | Arbitration method | |
JPH09190407A (en) | Controller | |
JPH0573483A (en) | Bus use right control method | |
JPH1185673A (en) | Method and device for controlling shared bus | |
JPS6336543B2 (en) | ||
JPH1115794A (en) | Parallel data processor | |
JPH07319827A (en) | System and device for controlling shared memory | |
JPH05134980A (en) | Bus system | |
JPH09231163A (en) | Io bridge | |
JPH08110887A (en) | Common bus system | |
JPH06314249A (en) | Data transfer equipment | |
JPH08249266A (en) | Data transfer circuit | |
JPH0764925A (en) | Controller for multistage parallel bus | |
JPH02214960A (en) | Input/output system | |
JPS593615A (en) | Dma control system |