JPH0895899A - Dma transfer controller - Google Patents

Dma transfer controller

Info

Publication number
JPH0895899A
JPH0895899A JP22758794A JP22758794A JPH0895899A JP H0895899 A JPH0895899 A JP H0895899A JP 22758794 A JP22758794 A JP 22758794A JP 22758794 A JP22758794 A JP 22758794A JP H0895899 A JPH0895899 A JP H0895899A
Authority
JP
Japan
Prior art keywords
bus
request
read
control circuit
packet
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
Application number
JP22758794A
Other languages
Japanese (ja)
Inventor
Hidenori Inai
秀則 井内
Takeshi Aimoto
毅 相本
Hiroshi Iwamoto
博志 岩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22758794A priority Critical patent/JPH0895899A/en
Publication of JPH0895899A publication Critical patent/JPH0895899A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE: To provide an I/O device, which is connected to a high-performance split type I/O bus, with a high-throughput, low-latency DMA transfer control function. CONSTITUTION: On the I/O device, plural controllers 123 and 124 which serve bus requests outputted to a split bus at the same time, a buffer 112 which temporarily holds response packets to a read request, a request packet generating circuit 111 which generates request packets from the outputs of the controllers 123 and 124, and a response packet processing circuit 110 which distributes the services of the response packets to corresponding read controllers are provided, and, by constituting the controllers 123 and 124 dividing into a function which services request packets and a function which services response packets, parallel processing in the controllers is made possible. Since not only the parallel operation of the controllers which serves a bus transaction, but also the parallel operation in the controllers are made possible, the DMA transfer controller which has higher performance than before is obtained.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はパーソナルコンピータ、
ワークステーション等の計算機システムに於いて、スプ
リットバスに接続されるI/O装置内の高速DMA転送制
御方式に関わる。特に、メモリ装置とI/O装置間の低レ
イテンシ、高スループットDMA 転送装置の実現に適
している。
BACKGROUND OF THE INVENTION The present invention relates to a personal computer,
In a computer system such as a workstation, it is concerned with a high-speed DMA transfer control system in an I / O device connected to a split bus. In particular, it is suitable for realizing a low latency and high throughput DMA transfer device between a memory device and an I / O device.

【0002】[0002]

【従来の技術】高性能バスとして従来のインタロック方
式のバスの代わりにスプリットバス方式が採用されつつ
ある。この動きは特に、密結合マルチプロセッサシステ
ムに於いて顕著である。従来のインタロック方式のバス
は一つのバストランザクションが完結するまで次のバス
トランザクションを開始することができない。一方スプ
リットバスはバストランザクションを要求フェーズと応
答フェーズに分離することによりバスのロックを可能な
限り避けることによりバスの帶域を有効利用することが
可能である。このためインタロック方式のバスと比較す
ると低レイテンシ、高スループットデータ転送を行うこ
とができる。
2. Description of the Related Art As a high performance bus, a split bus system is being adopted in place of the conventional interlock system bus. This movement is particularly noticeable in tightly coupled multiprocessor systems. The conventional interlocking type bus cannot start the next bus transaction until one bus transaction is completed. On the other hand, the split bus can effectively use the bus area by separating the bus transaction into a request phase and a response phase to avoid the lock of the bus as much as possible. Therefore, as compared with the interlock system bus, low latency and high throughput data transfer can be performed.

【0003】スプリットバスの例としてXDBusと呼ばれ
るバスがある。(日経エレクトロニクス1993.10.25(pp.9
7-114)参照) XDBusでは情報はパケットの形で転送され
る。トランザクションは、要求パケットと応答パケット
が対になって完結する。XDBusでは、I/O装置に割り当て
られているIDが一個に限定されており、XDBusに接続さ
れる全ての装置は要求パケットと応答パケットの対応付
けを応答パケットの出し側で保証しなければならないと
いう制限がある。XDBusのようにI/O装置あたり1個のID
しか持たないスプリットバスでは、応答パケットの出し
側で一つのI/O装置からの要求パケットの到着順序を記
憶し、その順序通りに応答パケットを出す必要があると
いう問題がある。この問題を解決するために、I/O装置
に複数のIDを割り当て、連続する要求パケットに異なる
ID(以降、TID(Transaction ID)と呼ぶ))を付けて要求を
出し、応答側では応答パケットを返す準備ができた時点
で、要求パケットに付けられていたTIDを応答パケット
に付けて要求元に返すことにより任意の順序で応答パケ
ットを返すことができる。また、複数のTIDを使用する
ことによりスプリットバスの処理速度を上げるための技
術として、以下に示す2つの手段を用いていた。
An example of the split bus is a bus called XDBus. (Nikkei Electronics 1993.10.25 (pp.9
(See 7-114)) In XDBus, information is transferred in the form of packets. A transaction is completed by a pair of request packet and response packet. In XDBus, the number of IDs assigned to I / O devices is limited to one, and all devices connected to XDBus must guarantee the correspondence between request packets and response packets on the output side of response packets. There is a limitation. 1 ID per I / O device like XDBus
In a split bus that has only this, there is a problem that it is necessary to store the order of arrival of request packets from one I / O device on the output side of the response packet and output the response packet in that order. To solve this problem, I / O devices are assigned multiple IDs, and different request packets are assigned different IDs.
ID (hereinafter called TID (Transaction ID)) is added to the request, and when the response side is ready to return the response packet, the TID attached to the request packet is attached to the response packet The response packets can be returned in any order by returning to. In addition, as a technique for increasing the processing speed of the split bus by using a plurality of TIDs, the following two means have been used.

【0004】(1) 複数のパケット制御回路をTID毎に用
意し、それらを並列に動作させる。但し、パケット制御
回路は要求パケット処理と要求パケットに対応する応答
パケット処理を順番に制御するための回路である。
(1) A plurality of packet control circuits are prepared for each TID, and they are operated in parallel. However, the packet control circuit is a circuit for sequentially controlling the request packet processing and the response packet processing corresponding to the request packet.

【0005】(2) 要求パケットの出し側が要求パケッ
トを可能な限り連続的にバスに出力する。これを実現す
るためには、I/O装置内部のバス要求受付処理とバス上
でのバス要求受付処理を非同期に実行する必要がある
が、これは予めバスリクエスタからのバス要求の受付順
序をI/O装置内部のキューに記憶しておき、予め生成し
ておいた要求パケットをバスからバスグラント信号をも
らった時にバスに出力することにより実現できる。
(2) The request packet output side outputs the request packet to the bus as continuously as possible. In order to realize this, it is necessary to execute the bus request reception process inside the I / O device and the bus request reception process on the bus asynchronously. This is because the order of reception of bus requests from the bus requester is set in advance. This can be implemented by storing the request packet in a queue inside the I / O device and outputting the request packet generated in advance to the bus when the bus grant signal is received from the bus.

【0006】[0006]

【発明が解決しようとする課題】スプリットバスの処理
速度を上げるための手段としてI/O装置内部で複数のパ
ケット制御回路を並列動作させる(1)の方法については
考慮されていたが、一つのパケット制御回路内で要求パ
ケット処理と応答パケット処理をオーバラップして実行
する方法については余り考慮されていなかった。
The method (1) of operating a plurality of packet control circuits in parallel inside the I / O device has been considered as a means for increasing the processing speed of the split bus. The method of overlapping the request packet processing and the response packet processing in the packet control circuit has not been considered so much.

【0007】[0007]

【課題を解決するための手段】上記の課題を解決するた
めに、従来はシリアルにしか実行されていなかった要求
パケット処理と応答パケット処理を一つのパケット制御
回路内で並列実行する。
In order to solve the above-mentioned problems, request packet processing and response packet processing, which were conventionally executed only serially, are executed in parallel in one packet control circuit.

【0008】図4に上記の課題を解決するパケット制御
回路の構成を示す。図4の構成では、装置には3個のTID
が割り当てられており、各々のTIDに対してパケット制
御回路が存在し、最大2つのリードバストランザクショ
ン、1つのライトバストランザクションの並列動作が可
能である。但し、リードバストランザクションは要求パ
ケットと応答パケットからなるが、ライトバストランザ
クションは要求パケットのみからなるとする。上記の課
題を解決するために、リードコントローラ内には要求パ
ケットを出す要因となるバス要求を出したバスリクエス
タのID情報を第一のタグIDとして、応答パケットデータ
を受け取るべきバスリクエスタのID情報を第二のタグID
として記憶する。なお、要求パケットのみでバストラン
ザクションが完結するライトコントローラは第一のタグ
IDのみを持つ。第一のタグIDは第一のバス要求を受け付
けてから次に第二のバス要求を受け付けるまでの間第一
のバス要求を出したバスリクエスタIDを記憶し、第二の
タグIDは第一のバス要求に対応するバスグラントをもら
ってから、第二のバス要求に対するバスグラントをもら
うまでの間第一のバス要求を出したバスリクエスタIDを
記憶する。
FIG. 4 shows the configuration of a packet control circuit that solves the above problems. In the configuration of Figure 4, the device has three TIDs.
Is assigned, and there is a packet control circuit for each TID, and up to two read bus transactions and one write bus transaction can operate in parallel. However, the read bus transaction consists of a request packet and a response packet, but the write bus transaction consists of only a request packet. In order to solve the above problem, the ID information of the bus requester that issued the bus request that causes the request packet in the read controller is the first tag ID, and the ID information of the bus requester that should receive the response packet data. The second tag ID
Memorize as. The write controller that completes the bus transaction with only the request packet is the first tag.
Has only an ID. The first tag ID stores the bus requester ID that issued the first bus request between the reception of the first bus request and the reception of the next second bus request, and the second tag ID is the first The bus requester ID that issued the first bus request is stored from the time when the bus grant corresponding to the second bus request is received until the time when the bus grant corresponding to the second bus request is received.

【0009】[0009]

【作用】このように要求パケットと応答パケットが対に
なって完結するバストランザクションのサービスを制御
するパケット制御回路に於て、連続する2つのバス要求
元のバスリクエスタIDを2つのタグIDに記憶することが
できるので、応答パケットを期待しているバスリクエス
タに対するサービスを実行しながら別のバスリクエスタ
からのバス要求を受付けることができ、要求パケットの
処理と応答パケットの処理を同一パケット制御回路内で
オーバラップ動作させることが可能になり、スプリット
バスの処理速度を上げることができる。
[Operation] In the packet control circuit for controlling the service of the bus transaction in which the request packet and the response packet are completed as a pair in this way, the bus requester IDs of two consecutive bus request sources are stored in two tag IDs. Therefore, it is possible to accept a bus request from another bus requester while executing a service to a bus requester that expects a response packet, and process the request packet and the response packet in the same packet control circuit. The overlap operation can be performed, and the split bus processing speed can be increased.

【0010】[0010]

【実施例】以下、図1〜6を用いて本発明のDMA転送制
御方式に基づいて動作するDMA転送処理装置の実施例
について詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a DMA transfer processing device which operates based on the DMA transfer control method of the present invention will be described in detail below with reference to FIGS.

【0011】図1にDMA転送処理装置のブロック図を
示す。100はバスに接続されたDMA転送処理装置であ
る。ここでは、スプリットバス101は、バストランザク
ションがDMAリードの場合には、要求パケットをスプ
リットバスに出力する要求フェーズ、及び応答パケット
をスプリットバスから受け取る応答フェーズからなり、
DMAライトの場合には要求パケットをバスに出力する
要求フェーズのみからなるバスであるとする。従って、
DMAリード要求パケットにはリードアドレスが要求パ
ケットデータとして、DMAライト要求パケットには同
様にライトアドレス、及びライトデータが要求パケット
データとして含まれる。またDMAリード応答パケット
にはリードデータが応答パケットデータとして含まれ
る。102はバスインタフェイス回路である。107は応答パ
ケットの到着を示すタイミング信号であり、108は応答
パケットに含まれるトランザクションID値であり、応答
パケットに対応するリード要求パケットに含まれるトラ
ンザクションID値と同一値である。但し、トランザクシ
ョンID値は、要求パケットを出した装置のIDを示すバス
上の制御信号である。106は内部データバスである。
FIG. 1 shows a block diagram of a DMA transfer processing device. Reference numeral 100 is a DMA transfer processing device connected to the bus. Here, the split bus 101 includes a request phase for outputting a request packet to the split bus and a response phase for receiving a response packet from the split bus when the bus transaction is DMA read.
In the case of DMA write, it is assumed that the bus includes only a request phase for outputting a request packet to the bus. Therefore,
The DMA read request packet includes a read address as request packet data, and the DMA write request packet similarly includes a write address and write data as request packet data. Further, the read data is included in the DMA read response packet as response packet data. 102 is a bus interface circuit. 107 is a timing signal indicating the arrival of the response packet, and 108 is the transaction ID value included in the response packet, which is the same value as the transaction ID value included in the read request packet corresponding to the response packet. However, the transaction ID value is a control signal on the bus that indicates the ID of the device that issued the request packet. 106 is an internal data bus.

【0012】応答パケット処理回路110は、リード要求
をサービスするコントローラに対する応答データ到着タ
イミング信号117を生成すると同時に、応答パケットを
バスリクエスタに正しく転送する機能を有する。なお、
応答パケットデータはバスリクエスタに引き渡される前
にタイミング信号129に従ってデータバッファ112に書き
込まれた後、適当なタイミングでバスリクエスタがデー
タバッファの内容をリード要求の順序通りに読みだすこ
とにより応答パケットの到着順序が逆転したとしても要
求順序通りにバスリクエスタにデータを引き渡すことが
可能である。
The response packet processing circuit 110 has a function of generating the response data arrival timing signal 117 for the controller servicing the read request, and at the same time properly transferring the response packet to the bus requester. In addition,
The response packet data is written to the data buffer 112 according to the timing signal 129 before being delivered to the bus requester, and then the response packet arrives by the bus requester reading the contents of the data buffer in the order of the read request at an appropriate timing. Even if the order is reversed, the data can be delivered to the bus requester in the requested order.

【0013】図2に応答パケット処理回路の一実施例を
示す。比較器201は応答パケットの中に含まれるトラン
ザクションID値108と自装置のID値206との一致比較を行
う。応答パケットの中に含まれるトランザクションID値
は、自装置宛のパケットであればリード要求パケットを
出した装置のID値と等しいので、この比較器によりスプ
リットバス上の応答パケットが自装置宛のパケットであ
るかどうかの判定を行うことができる。比較器202はリ
ードコントローラA123がサービスする応答パケットであ
るかどうかの判定を行い、比較器203はリードコントロ
ーラB124がサービスする応答パケットであるかどうかの
判定を行う。208はリードコントローラAがサービスする
要求パケットに付けたトランザクションID値のLSBビッ
トを、209はリードコントローラBがサービスする要求パ
ケットに付けたトランザクションID値のLSBビットを示
す。本実施例ではリードコントローラは2個しかないの
で、応答パケットをサービスするリードコントローラを
区別するためのビットは1ビットで十分であるが、リー
ドコントローラが3個以上ある場合には、2ビット以上必
要である。213は、リードコントローラAがサービスすべ
き応答パケットが到着しているタイミングを示すデータ
バリッド信号であり、214も同様に、リードコントロー
ラBがサービスすべき応答パケットが到着しているタイ
ミングを示すデータバリッド信号である。215はデコー
ダであり、応答パケットを期待しているバスリクエスタ
に対応する第二のタグID値128、及び前記データバリッ
ド信号からリード要求を出したバスリクエスタに対する
データ書き込みタイミング信号129を生成する。
FIG. 2 shows an embodiment of the response packet processing circuit. The comparator 201 compares the transaction ID value 108 included in the response packet with the ID value 206 of its own device. Since the transaction ID value included in the response packet is the same as the ID value of the device that issued the read request packet if the packet is addressed to its own device, this comparator causes the response packet on the split bus to be addressed to its own device. Can be determined. The comparator 202 determines whether the response packet is served by the read controller A123, and the comparator 203 determines whether the response packet is served by the read controller B124. Reference numeral 208 indicates the LSB bit of the transaction ID value attached to the request packet serviced by the read controller A, and 209 indicates the LSB bit of the transaction ID value attached to the request packet serviced by the read controller B. In the present embodiment, since there are only two read controllers, one bit is sufficient to distinguish the read controller that services the response packet, but if there are three or more read controllers, two or more bits are required. Is. Reference numeral 213 is a data valid signal indicating the timing at which a response packet to be serviced by the read controller A has arrived. Similarly, 214 is a data valid signal indicating the timing at which a response packet to be serviced by the read controller B has arrived. It is a signal. A decoder 215 generates a second tag ID value 128 corresponding to the bus requester expecting a response packet, and a data write timing signal 129 for the bus requester that issued the read request from the data valid signal.

【0014】要求パケット処理回路111は、パケット制
御回路119からの制御信号に基づいてDMAリード、又
はDMAライト等の要求パケットを生成し、バスインタ
フェイス回路102に引き渡すと同時にパケット制御回路
内のコントローラに対する動作タイミング信号、及びラ
イト要求を出したバスリクエスタ130からのデータ読み
出しタイミング信号139を生成する。
The request packet processing circuit 111 generates a request packet for DMA read or DMA write based on the control signal from the packet control circuit 119 and transfers it to the bus interface circuit 102, and at the same time, a controller in the packet control circuit. And the data read timing signal 139 from the bus requester 130 which issued the write request.

【0015】図3に要求パケット処理回路の一実施例を
示す。まず最初にバスリクエストアービタ制御回路116
からリード要求信号126、又はライト要求信号137を受け
取ることによりバスリクエスト信号103をアサートす
る。次にバスグラント信号105を受けとった時まだバス
に出力していない要求パケットをバスリクエストアービ
タ制御回路116が出すバス要求順序をバスリクエストキ
ュー制御回路304で記憶することによりバスリクエスト
アービタ制御回路116からの要求順序通りにバスに出力
する。バスグラント信号のアサートにより、次にバスに
出力すべき要求パケットがリード要求パケットであれば
リード要求バスグラント信号115を、ライト要求パケッ
トであればライト要求バスグラント信号118を返す。バ
スリクエストキュー制御回路304は、バスリクエストキ
ューの制御を行うステートマシンである。但し、バスリ
クエストキューとは各コントローラに対する起動要求信
号の生起順序を記憶するキューのことである。このステ
ートマシンは起動要求信号の生起順序を記憶するために
各コントローラに対する起動要求信号のアサートにより
エンキュー処理を行い、バスグラント信号105がアサー
トされると、リクエストキューの先頭に位置する起動要
求信号を受け付けたコントローラに対してバスグラント
信号をアサートすると同時にデキュー処理を行う。ま
た、キューの先頭に位置するバス要求をサービスするコ
ントローラに対してバス要求順位TOP信号をアサートす
る。バスリクエストを出してからバスグラントをもらう
までの期間、リード要求パケットの要求順位TOP信号12
5、リード要求を出したバスリクエスタに対応する第一
のタグID値128、ライト要求パケットの要求順位TOP信号
134、ライト要求を出したバスリクエスタに対応するタ
グID値138は変化しないので、これをエンコーダ301でエ
ンコードすることにより要求パケットの属性を示す制御
信号104を生成する。但し、リードコントローラのバス
要求順位TOP信号125とライトコントローラのバス要求順
位TOP信号134は排他信号であり、ライト要求パケットの
データ有効信号を生成するためにライトデータバリッド
信号135を入力する。要求パケットの属性を示す制御信
号は、アドレス有効信号、データ有効信号、自装置のID
値206から作られるトランザクションID値、バストラン
ザクションコマンド等の情報を含む。同様に、ライトコ
ントローラがサービスすべきライト要求パケットに含ま
れるデータをバスに出力するためのタイミング信号135
とタグID値138をデコーダ302でデコードすることにより
実際にバス要求を出した一つのバスリクエスタに対する
データ読み出しタイミング信号139を生成する。バスリ
クエスト制御回路303は、リードコントローラに対する
起動要求信号126、ライトコントローラに対する起動要
求信号137を論理的にORした信号によりバスリクエスト
信号108をアサートしバスグラント信号105のアサートに
よりバスリクエスト信号108をネゲートする。
FIG. 3 shows an embodiment of the request packet processing circuit. First, the bus request arbiter control circuit 116
The bus request signal 103 is asserted by receiving the read request signal 126 or the write request signal 137 from. Next, the bus request arbiter control circuit 116 stores the bus request order issued by the bus request arbiter control circuit 116 when the bus grant signal 105 is received and the request packet not yet output to the bus is stored in the bus request arbiter control circuit 116. Output to the bus in the order requested by. By asserting the bus grant signal, a read request bus grant signal 115 is returned if the next request packet to be output to the bus is a read request packet, and a write request bus grant signal 118 is returned if it is a write request packet. The bus request queue control circuit 304 is a state machine that controls the bus request queue. However, the bus request queue is a queue that stores the occurrence order of the activation request signal for each controller. This state machine performs enqueue processing by asserting the activation request signal to each controller in order to store the occurrence order of the activation request signal, and when the bus grant signal 105 is asserted, the activation request signal located at the head of the request queue is sent. At the same time as asserting the bus grant signal to the accepted controller, dequeue processing is performed. Also, the bus request priority TOP signal is asserted to the controller that services the bus request located at the head of the queue. Request signal of the read request packet during the period from issuing the bus request to receiving the bus grant TOP signal 12
5, the first tag ID value 128 corresponding to the bus requester that issued the read request, the request priority TOP signal of the write request packet
134. Since the tag ID value 138 corresponding to the bus requester that issued the write request does not change, the encoder 301 encodes this to generate the control signal 104 indicating the attribute of the request packet. However, the bus request order TOP signal 125 of the read controller and the bus request order TOP signal 134 of the write controller are exclusive signals, and the write data valid signal 135 is input to generate the data valid signal of the write request packet. The control signals that indicate the attributes of the request packet are the address valid signal, the data valid signal, and the ID of the own device.
It includes information such as a transaction ID value created from the value 206, a bus transaction command, and the like. Similarly, a timing signal 135 for the write controller to output the data contained in the write request packet to be serviced to the bus.
By decoding the tag ID value 138 and the tag ID value 138 by the decoder 302, the data read timing signal 139 for one bus requester that actually issued the bus request is generated. The bus request control circuit 303 asserts the bus request signal 108 by a signal obtained by logically ORing the activation request signal 126 for the read controller and the activation request signal 137 for the write controller, and negates the bus request signal 108 by asserting the bus grant signal 105. To do.

【0016】パケット制御回路119は、リードコントロ
ーラA123、及びリードコントローラB124、ライトコント
ローラ135からなり、リード要求のサービスとライト要
求のサービスは各々のコントローラで独立制御すること
により並列動作を可能にしている。各コントローラはス
プリットバスの仕様に依存しないプリミティブなDMA
制御機能のみを提供する。
The packet control circuit 119 comprises a read controller A123, a read controller B124, and a write controller 135. The read request service and the write request service are independently controlled by each controller to enable parallel operation. . Each controller is a primitive DMA that does not depend on the split bus specifications.
Provides control functions only.

【0017】バスリクエストアービタ制御回路116はリ
ード要求を出した複数のバスリクエスタ120、及びライ
ト要求を出した複数のバスリクエスタ130からのバス要
求をシリアライズした後、シリアライズしたバス要求を
サービスすべきコントローラを選択して起動すると同時
に、要求を受け付けたバスリクエスタに対してグラント
信号を返すことにより次の要求の出力を許可する機能を
有する。シリアライズしたバス要求がリード要求の場合
にはリードコントローラ起動信号126を、ライト要求の
場合にはライトコントローラ起動信号137をアサートす
る。バス要求のシリアライズのアルゴリズムは例えば以
下の通りである。
The bus request arbiter control circuit 116 serializes the bus requests from the plurality of bus requesters 120 that issued read requests and the plurality of bus requesters 130 that issued write requests, and then services the serialized bus requests. And has a function of permitting output of the next request by returning a grant signal to the bus requester that has accepted the request. When the serialized bus request is a read request, the read controller activation signal 126 is asserted, and when the serialized bus request is a write request, the write controller activation signal 137 is asserted. The bus request serialization algorithm is as follows, for example.

【0018】まず第一に、レディ状態にあるコントロー
ラに対してサービスを要求するバスリクエスタのみがシ
リアライズの調停に参加する資格を有する。ここで、レ
ディ状態とはバス要求に対するバストランザクションの
制御を実行していない状態のことを指す。例えば、リー
ドコントローラのレディ信号127がネゲートされている
場合には、たとえリード要求信号121がアサートれてい
てもリード要求は受け付けられない。従って、この場
合、リード要求を行っているバスリクエスタに対して要
求を受け付けたことを示すグラント信号122はアサート
されない。この時、ライトコントローラがレデイ状態、
かつバスリクエスタからのライト要求信号131がアサー
トされている場合には、シリアライズの結果としてライ
ト要求を受け付ける。具体的には、ライトコントローラ
起動要求信号137をアサートすることによりライトコン
トローラ135を起動すると同時に、ライト要求を出した
バスリクエスタに対して要求を受け付けたことを示すグ
ラント信号132をアサートする。グラント信号132のアサ
ートによりライト要求信号131はネゲートされる。
First of all, only bus requesters requesting service to the controller in the ready state are eligible to participate in serialization arbitration. Here, the ready state refers to a state in which bus transaction control for a bus request is not being executed. For example, when the ready signal 127 of the read controller is negated, the read request cannot be accepted even if the read request signal 121 is asserted. Therefore, in this case, the grant signal 122 indicating that the request has been accepted to the bus requester making the read request is not asserted. At this time, the light controller is in the ready state,
When the write request signal 131 from the bus requester is asserted, the write request is accepted as a result of serialization. Specifically, the write controller 135 is activated by asserting the write controller activation request signal 137, and at the same time, the grant signal 132 indicating that the request has been accepted is asserted to the bus requester that issued the write request. The write request signal 131 is negated by the assertion of the grant signal 132.

【0019】逆に、ライトコントローラのレディ信号13
6がネゲートされていてリードコントローラのレディ信
号127がアサートされている場合には、リード要求を受
け付ける。具体的には、リード要求信号126をアサート
することによりリードコントローラA123、又はリードコ
ントローラB124を起動すると同時に、リード要求を出し
たバスリクエスタに対して要求を受け付けたことを示す
グラント信号122をアサートする。グラント信号122のア
サートによりリード要求信号126はネゲートされるが、
次のリード要求がある場合にはリード要求信号126は再
びアサートされる。このように複数のリードコントロー
ラを有することにより応答パケットの到着を待たずにレ
ディ状態のリードコントローラを次々に起動することが
できのでリード要求を連続発行することができる。ま
た、リードコントローラ、ライトコントローラ共にレデ
ィ状態の場合には、優先順位に従って一つのコントロー
ラのみを起動する。例えば、ラウンドロビンに基づく優
先順位アルゴリズムでは、前回シリアライズした要求が
リード要求であった場合には、次回リード要求とライト
要求が同時にアサートされた場合にはライト要求を優先
して受け付けるようにする。また、バスリクエストアー
ビタ制御回路116は、上記シリアライズの結果選択した
コントローラを起動する際に、サービスを要求したバス
リクエスタのID値をタグID値114に変換するが、次のバ
ス要求を受け付けるとこの値は変化してしまうためにタ
グID 値114は起動されたコントローラ内部にバストラン
ザクションが完結するまで記憶する。なお、タグID 値
は選択されたバスリクエスタID値と一意に対応する。
On the contrary, the ready signal 13 of the write controller
When 6 is negated and the read signal 127 of the read controller is asserted, the read request is accepted. Specifically, by asserting the read request signal 126, the read controller A123 or the read controller B124 is activated, and at the same time, the grant signal 122 indicating that the request has been accepted is asserted to the bus requester that issued the read request. . The read request signal 126 is negated by asserting the grant signal 122,
When there is a next read request, the read request signal 126 is asserted again. By having a plurality of read controllers in this way, the read controllers in the ready state can be activated one after another without waiting for the arrival of the response packet, so that read requests can be issued continuously. When both the read controller and the write controller are ready, only one controller is activated according to the priority order. For example, in the priority algorithm based on the round robin, when the previously serialized request is a read request, the write request is preferentially accepted when the next read request and the write request are asserted at the same time. Further, the bus request arbiter control circuit 116 converts the ID value of the bus requester requesting the service into the tag ID value 114 when activating the controller selected as a result of the serialization. Since the value changes, the tag ID value 114 is stored in the activated controller until the bus transaction is completed. The tag ID value uniquely corresponds to the selected bus requester ID value.

【0020】次に、図4にバスリクエストキュー制御回
路304を各コントローラの内部に分散して持つ場合のパ
ケット制御回路の実施例を示す。本実施例では、図1に
示したパケット制御回路119と同様に2個のリードコント
ローラ、及び1個のライトコントローラが並列動作す
る。図3に示したバスリクエストキュー制御回路304をス
レーブシーケンサとして各コントローラ内に分散して持
つ点で図1に示したパケット制御回路119と異なる。まず
最初にシーケンサ動作に必要となるシーケンサ以外の論
理について説明する。403、413はリード要求を出したバ
スリクエスタのタグID値を記憶する二つのラッチと応答
パケットの最後のデータを検出するためのカウンタ等か
ら構成する。タグID値として要求パケットに対応するタ
グID値と応答パケットに対応するタグID値があり、応答
パケットの受信処理中に次の要求パケットを出力する準
備をする場合には、二つのタグID値は異なる値を持つ。
423も同様にライト要求を出したバスリクエスタのタグI
D値を記憶するラッチと要求パケットの最後のデータを
検出するためのカウンタから構成する。
Next, FIG. 4 shows an embodiment of the packet control circuit in the case where the bus request queue control circuits 304 are dispersedly provided inside each controller. In this embodiment, like the packet control circuit 119 shown in FIG. 1, two read controllers and one write controller operate in parallel. This is different from the packet control circuit 119 shown in FIG. 1 in that the bus request queue control circuit 304 shown in FIG. 3 is distributed in each controller as a slave sequencer. First, the logic other than the sequencer necessary for the sequencer operation will be described. 403 and 413 are composed of two latches that store the tag ID value of the bus requester that issued the read request and a counter that detects the last data of the response packet. If there is a tag ID value corresponding to the request packet and a tag ID value corresponding to the response packet as the tag ID value, and when preparing to output the next request packet during the reception processing of the response packet, two tag ID values Have different values.
Similarly, the 423 also issued a write request. Tag I of the bus requester.
It consists of a latch to store the D value and a counter to detect the last data of the request packet.

【0021】次に、図5A、図5B、図5Cに示す状態遷移図
を用いて図4に示した各コントローラ内部のシーケンサ
動作について詳細に説明する。図5Aはリードコントロー
ラ内のマスタシーケンサ401、411の状態遷移図を、図5B
はライトコントローラ内のマスタシーケンサ422の状態
遷移図を示す。図5Cは各コントローラ内のスレーブシー
ケンサ402、412、422の状態遷移図を示す。
Next, the sequencer operation inside each controller shown in FIG. 4 will be described in detail with reference to the state transition diagrams shown in FIGS. 5A, 5B and 5C. 5A is a state transition diagram of the master sequencers 401 and 411 in the read controller, and FIG.
Shows a state transition diagram of the master sequencer 422 in the write controller. FIG. 5C shows a state transition diagram of the slave sequencers 402, 412, 422 in each controller.

【0022】例としてバスリクエストアービタ制御回路
116がリード、ライト、リードの順にバス要求を受け付
けた場合の各部の動作を順を追って説明する。以下の説
明に対する理解を容易にするために図6に各コントロー
ラの内部信号のタイミング図を示す。最初に各コントロ
ーラは全てレディ状態にいると仮定する。レディ状態で
は、マスタシーケンサ、及びスレーブシーケンサは共に
アイドル状態にいる。最初のリード要求126Aを受け付け
ると同時に要求を受け付けたリードコントローラA123内
のマスタシーケンサ401はバスグラント待ち状態502に遷
移する。このバスグラント待ち状態に於いて、要求パケ
ットセット信号404がアサートされ続ける。要求パケッ
トセット信号404のアサートにより、他のコントローラ
から入力される要求パケットセット信号(414、424)がこ
の時点ではまだアサートされていないためにスレーブシ
ーケンサ402は、バスグラント待ち順位TOP状態522に遷
移する。このバスグラント待ち順位TOP状態に於いて要
求パケットTOP順位信号125がアサートされ続ける。その
後バスグラント信号105が到着すると、バスグラント待
ち順位TOP状態にいるスレーブシーケンサ402はマスタシ
ーケンサ401に対するバスグラント信号405をアサートす
ることによりマスタシーケンサ401を応答パケット待ち
状態503に遷移させる。一方、バスグラント待ち順位TOP
状態にいるスレーブシーケンサ402はバスグラント信号
の到着と同時にアイドル状態521に遷移する。なお、マ
スタシーケンサ401に対するバスグラント信号405のアサ
ートによりマスタシーケンサ、スレーブシーケンサ共に
状態遷移するので要求パケットセット信号404、バス要
求順位TOP信号125Aは共にネゲートされる。第一のリー
ド要求に対する応答パケットが到着すると応答パケット
到着信号117Aがアサートされ、その結果適当なタイミン
グで信号406がアサートされマスタシーケンサ401は次の
要求を受け付けない場合にはアイドル状態501に、次の
要求を受け付けた場合にはバスグラント待ち状態502に
遷移する。以上のシーケンスを辿って第一のリード要求
に対する要求パケット出力フェーズ、応答パケット受信
処理フェーズが終了する。応答パケット受信処理フェー
ズに於いて、応答パケットの最初のデータが到着した時
点で信号406をアサートする方式を採ると応答パケット
の受信処理中に次のリード要求パケットの出力処理を開
始することが可能になるのでリードスループット性能が
向上する。
As an example, a bus request arbiter control circuit
The operation of each unit when the bus request is received by the 116 in the order of read, write, and read will be described step by step. To facilitate understanding of the following description, FIG. 6 shows a timing diagram of internal signals of each controller. First, assume that each controller is all ready. In the ready state, both the master sequencer and the slave sequencer are in the idle state. At the same time that the first read request 126A is received, the master sequencer 401 in the read controller A123 that has received the request transits to the bus grant wait state 502. In this bus grant wait state, the request packet set signal 404 continues to be asserted. Due to the assertion of the request packet set signal 404, the request packet set signals (414, 424) input from other controllers have not yet been asserted at this point, so the slave sequencer 402 transits to the bus grant wait top state 522. To do. In this bus grant wait order TOP state, the request packet TOP order signal 125 continues to be asserted. After that, when the bus grant signal 105 arrives, the slave sequencer 402 in the bus grant waiting order TOP state asserts the bus grant signal 405 to the master sequencer 401, thereby causing the master sequencer 401 to transit to the response packet waiting state 503. On the other hand, the top ranking for bus grants
The slave sequencer 402 in the state transits to the idle state 521 upon arrival of the bus grant signal. It should be noted that both the master packet sequencer and the slave cell sequencer are in a state transition due to the assertion of the bus grant signal 405 to the master sequencer 401, so that the request packet set signal 404 and the bus request order TOP signal 125A are both negated. When the response packet for the first read request arrives, the response packet arrival signal 117A is asserted, and as a result, the signal 406 is asserted at an appropriate timing, and the master sequencer 401 does not accept the next request. When the request is received, the state transits to the bus grant waiting state 502. Following the above sequence, the request packet output phase and the response packet reception processing phase for the first read request are completed. In the response packet reception processing phase, if the method of asserting the signal 406 when the first data of the response packet arrives, it is possible to start the output processing of the next read request packet during the reception processing of the response packet. Therefore, the read throughput performance is improved.

【0023】なお、要求パケット処理に係わる第一のタ
グID値407はリードコントローラA123が起動されてから
バスグラントが到着するまで保持されており、応答パケ
ット処理に係わる第二のタグID値408は、バスグラント
が到着してから次のバスグラントが到着するまでの間保
持される。従って、応答パケットが到着している期間、
第二のタグID値408の値は変化しないことが保証され
る。従って第二のタグID値408を応答パケット処理回路1
10でデコードすることにより応答パケットに含まれる応
答データを実際にリード要求を出したバスリクエスタに
正しく書き込むことが可能になる。なお、信号406を応
答パケットの最後のデータが到着した時点でアサートす
る方式を採ると第一のタグID値407と第二のタグID値408
は同一ラッチの出力とすることができハードウェアが簡
素化される反面、応答パケットの受信処理中に次の要求
パケットを出力することができないので他のリードコン
トローラがレディでない場合には、応答パケットの受信
と同時に次のリード要求を受け付けることができないの
でリード性能が低下する。
The first tag ID value 407 relating to the request packet processing is held until the bus grant arrives after the read controller A123 is activated, and the second tag ID value 408 relating to the response packet processing is , It is held between the arrival of one bus grant and the arrival of the next. Therefore, while the response packet arrives,
It is guaranteed that the value of the second tag ID value 408 will not change. Therefore, the second tag ID value 408 is set to the response packet processing circuit 1
By decoding at 10, it becomes possible to correctly write the response data contained in the response packet to the bus requester that actually issued the read request. If the method of asserting the signal 406 when the last data of the response packet arrives is adopted, the first tag ID value 407 and the second tag ID value 408
Can be output from the same latch and the hardware can be simplified, but the next request packet cannot be output during the reception process of the response packet, so if another read controller is not ready, the response packet Since the next read request cannot be received at the same time as the reception of, the read performance is degraded.

【0024】次のライト要求によりライトコントローラ
起動要求信号137を受け付けたライトコントローラ133内
のマスタシーケンサ421はバスグラント待ち状態512に遷
移する。一方、スレーブシーケンサ422は、以前に出し
たリード要求に対するバスグラントが到着していない場
合には、リードコントローラA123の要求パケットセット
信号404が既にアサートされているためにバスグラント
待ち優先順位2番目状態523に遷移し、以前に出したリー
ド要求に対するバスグラントが既に到着している場合に
は、リードコントローラA123の要求パケットセット信号
404が既にネゲートされているために直ちにバスグラン
ト待ち順位TOP状態522に遷移する。この状態に於いてバ
ス要求順位TOP信号134がアサートされ続ける。その後バ
スグラント信号105の到着によりスレーブシーケンサ422
はマスタシーケンサ421に対するバスグラント信号426を
アサートすることによりマスタシーケンサ421をライト
データ出力終了待ち状態513に遷移させると同時にスレ
ーブシーケンサ422はアイドル状態521に遷移する。ライ
トデータ出力終了待ち状態513ではライトデータバリッ
ド信号135がアサートされる。なお、マスタシーケンサ4
21に対するバスグラント信号426のアサートにより要求
パケットセット信号424、バス要求順位TOP信号134は共
にネゲートされる。ライトデータの最後のデータをバス
に出力するタイミングで信号427がアサートされマスタ
シーケンサ401は次のライト要求を受け付けない場合に
はアイドル状態511に、次のライト要求を受け付けた場
合にはバスグラント待ち状態512に遷移する。
The master sequencer 421 in the write controller 133 which has received the write controller activation request signal 137 by the next write request transits to the bus grant wait state 512. On the other hand, when the bus grant for the previously issued read request has not arrived, the slave sequencer 422 has the bus grant wait priority second state because the request packet set signal 404 of the read controller A123 has already been asserted. When transitioning to 523 and the bus grant for the previously issued read request has already arrived, the request packet set signal of the read controller A123.
Since 404 is already negated, the state immediately transits to the bus grant waiting order TOP state 522. In this state, the bus request order TOP signal 134 continues to be asserted. After that, when the bus grant signal 105 arrives, the slave sequencer 422
Asserts a bus grant signal 426 to the master sequencer 421 to cause the master sequencer 421 to transition to the write data output end wait state 513, and at the same time the slave sequencer 422 to transition to the idle state 521. In the write data output end waiting state 513, the write data valid signal 135 is asserted. In addition, master sequencer 4
By asserting the bus grant signal 426 for 21, the request packet set signal 424 and the bus request order TOP signal 134 are both negated. When the signal 427 is asserted at the timing of outputting the last data of the write data to the bus and the master sequencer 401 does not accept the next write request, it enters the idle state 511, and when it accepts the next write request, it waits for the bus grant. Transition to state 512.

【0025】2番目のリード要求は、最初のリード要求
に対する応答パケットが到着していない場合には、リー
ドコントローラA123はレディ状態にいないために必ずリ
ードコントローラB124によりサービスされるが、最初の
リード要求に対する応答パケット処理が終了している場
合には、既にリードコントローラA123はレディ状態にな
っているのでリードコントローラA123によりサービスし
てもよい。但し、図6では2番目のリード要求は1番目の
リード要求とは異なりリードコントローラBによってサ
ービスされるものとする。リードコントローラB124内の
マスタシーケンサ411の動作はリードコントローラA123
内のマスタシーケンサの動作と全く同じである。一方、
スレーブシーケンサ412の状態遷移は、バスグラント信
号105の到着タイミングによって以下の3つのケースがあ
る。(図6には(2)のケースを示した。) (1)2番目のリード要求を受け付けた時点で最初のリード
要求、及び 次のライト要求に対するバスグラントがま
だ到着していない場合には、まずバスグラント待ち順位
3番目状態524に遷移し、次に最初のリード要求に対する
バスグラントが到着した時点でバスグラント待ち優先順
位2番目状態523に遷移し、次にライト要求に対するバス
グラントが到着した時点でバスグラント待ち順位TOP状
態522に遷移する。
The second read request is always serviced by the read controller B124 because the read controller A123 is not in the ready state when the response packet for the first read request has not arrived. When the response packet processing for the is completed, the read controller A123 may be serviced by the read controller A123 because the read controller A123 is already in the ready state. However, in FIG. 6, unlike the first read request, the second read request is serviced by the read controller B. The operation of the master sequencer 411 in the read controller B124 is the read controller A123.
The operation is exactly the same as the master sequencer inside. on the other hand,
The state transition of the slave sequencer 412 has the following three cases depending on the arrival timing of the bus grant signal 105. (Fig. 6 shows the case of (2).) (1) If the bus grant for the first read request and the next write request has not yet arrived when the second read request is accepted. First, the waiting order for the bus grant
Wait for the bus grant when the bus grant for the first read request arrives in the third state 524. Wait for the bus grant when the bus grant for the first read request arrives and the bus grant for the second request arrives next. Transition to the TOP status 522.

【0026】(2)2番目のリード要求を受け付けた時点で
最初のリード要求に対するバスグラントが既に到着して
いて、次のライト要求に対するバスグラントが到着して
いない場合には、まずバスグラント待ち優先順位2番目
状態523に遷移し、次にライト要求に対するバスグラン
トが到着した時点でバスグラント待ち順位TOP状態522に
遷移する。
(2) If the bus grant for the first read request has already arrived and the bus grant for the next write request has not arrived at the time when the second read request is accepted, first wait for the bus grant. It transits to the second priority state 523, and transits to the bus grant waiting priority TOP state 522 when the bus grant for the write request arrives next.

【0027】(3)2番目のリード要求を受け付けた時点で
最初のリード要求、及び 次のライト要求に対するバス
グラントが既に到着している場合には、直ちにバスグラ
ント待ち順位TOP状態522に遷移する。
(3) If the bus grant for the first read request and the next write request have already arrived at the time when the second read request is accepted, the state immediately transits to the bus grant waiting order TOP state 522. .

【0028】上記いずれのケースもスレーブシーケンサ
412はバスグラント待ち順位TOP状態522に状態遷移した
時点でバスグラント信号を受け付けることによりマスタ
シーケンサを応答パケット待ち状態503に遷移させ次に
応答パケットが到着した時点で応答パケットの処理を行
う。
In any of the above cases, the slave sequencer
412 receives the bus grant signal at the time when the state transits to the bus grant waiting order TOP state 522, transitions the master sequencer to the response packet waiting state 503, and processes the response packet when the next response packet arrives.

【0029】以上の説明から分かるように、バスリクエ
ストキュー制御回路を各コントローラ内のスレーブシー
ケンサに分散して記憶する分散制御方式では、マスタシ
ーケンサは各コントローラが並列動作せずに自コントロ
ーラのみが単独で動作すると仮定した場合の、いわゆ
る"シーケンサ"としての動作を行い、スレーブシーケン
サは各コントローラが多重動作する時に発生する競合動
作を調停するためのシーケンサとしての動作を行うもの
と考えることができる。
As can be seen from the above description, in the distributed control system in which the bus request queue control circuits are distributed and stored in the slave sequencer in each controller, the master sequencer does not operate in parallel and only its own controller operates independently. It can be considered that the slave sequencer operates as a so-called "sequencer", and the slave sequencer operates as a sequencer for arbitrating conflicting operations that occur when the controllers perform multiple operations.

【0030】なお、本実施例ではリード要求をサービス
するリードコントローラとライト要求をサービスするコ
ントローラは物理的に異なる回路により構成している
が、上記の説明から分かるようにマスタシーケンサの状
態遷移はリードとライトで異なることはないので兼用す
ることが可能である。即ち、トランザクションIDを3個
使用することができるI/O装置のパケット制御回路をリ
ードコントローラ2個、ライトコントローラ1個から構成
することもリードライトコントローラ3個から構成する
ことも可能である。
In this embodiment, the read controller servicing the read request and the controller servicing the write request are composed of physically different circuits. However, as can be seen from the above description, the state transition of the master sequencer is read. There is no difference between the light and the light, so it can be used for both. That is, the packet control circuit of the I / O device that can use three transaction IDs can be composed of two read controllers, one write controller, or three read / write controllers.

【0031】[0031]

【発明の効果】本発明によれば、TID毎に割り当てられ
た、バストランザクションをサービスするコントローラ
の並列動作のみならず、コントローラ内部の並列動作が
可能になるので従来よりも性能の高いDMA転送制御装
置を実現することができるという効果がある。また、コ
ントローラをリードライト兼用コントローラとして構成
することにより、局所的にコントローラの並列動作度を
高めることができるので、リード専用コントローラ、ラ
イト専用コントローラとして構成するよりも高いDMA
転送性能を実現することができる。
According to the present invention, not only the parallel operation of the controllers servicing bus transactions allocated for each TID but also the parallel operation inside the controllers becomes possible, so that the DMA transfer control with higher performance than the conventional one is possible. The effect is that the device can be realized. Further, by configuring the controller as a read / write controller, it is possible to locally increase the parallel operation degree of the controllers. Therefore, it is possible to achieve a higher DMA than the read-only controller and the write-only controller.
Transfer performance can be realized.

【0032】また、TID毎に割り当てられているコント
ローラは独立動作するので、バスが飽和しない限りTID
の数を増やすことによりDMA転送性能をスケーラブル
に向上させることができるという効果もある。
Further, since the controller assigned to each TID operates independently, unless the bus is saturated, the TID
There is also an effect that the DMA transfer performance can be improved in a scalable manner by increasing the number of.

【0033】さらに、TIDの数を増やした場合に必要と
なるコントローラの内部論理変更はスレーブシーケンサ
に限定されており、しかもスレーブシーケンサの状態数
をリニヤに増やすだけでよいので変更が容易である。ま
た、応答パケットの中のデータを一時的に記憶しておく
ためのデータバッファを装置に割り当てられたTIDの個
数以上持ち、バッファIDをリクエスタID情報に含ませて
バス要求を出すことにより応答パケットの到着順序が逆
転したとしても、バスリクエスタ側に正しい順番でデー
タを引き渡すことができる。
Further, the internal logic change of the controller, which is necessary when the number of TIDs is increased, is limited to the slave sequencer, and moreover, the change is easy because the number of states of the slave sequencer only needs to be linearly increased. In addition, the data packet for temporarily storing the data in the response packet has more than the number of TIDs allocated to the device, and the buffer ID is included in the requester ID information to issue the bus request, and the response packet Even if the arrival order of is reversed, the data can be delivered in the correct order to the bus requester side.

【図面の簡単な説明】[Brief description of drawings]

【図1】DMA転送制御装置のブロック図。FIG. 1 is a block diagram of a DMA transfer control device.

【図2】応答パケット処理回路の構成ブロック図。FIG. 2 is a configuration block diagram of a response packet processing circuit.

【図3】要求パケット処理回路の構成ブロック図。FIG. 3 is a configuration block diagram of a request packet processing circuit.

【図4】リードコントローラ、ライトコントローラの構
成ブロック図。
FIG. 4 is a configuration block diagram of a read controller and a write controller.

【図5】リードコントローラ、ライトコントローラ内部
のシーケンサの状態遷移図。
FIG. 5 is a state transition diagram of a sequencer inside a read controller and a write controller.

【図6】リード、ライト、リードの順番でバス要求を受
け付けた場合のパケット制御回路のタイミング図。
FIG. 6 is a timing chart of the packet control circuit when bus requests are received in the order of read, write, and read.

【符号の説明】[Explanation of symbols]

100…DMA転送制御装置 101…スプリットバス 102…バスインタフェイス回路 103…バスリクエスト信号 104…要求パケットの属性を指定する信号 105…バスグラント信号 106…内部データバス 107…応答パケットのデータ有効信号 108…応答パケットののトランザクションID値 110…応答パケット処理回路 111…要求パケット処理回路 112…リードトランザクションに対する応答データバッ
ファ 114…バスリクエスタのタグID値 115…リードコントローラに対するバスグラント信号 116…バスリクエストアービタ制御回路 117…117A、117Bからなる束信号 117A…リードコントローラAに対する応答データ有効信
号 117B…リードコントローラBに対する応答データ有効信
号 118…ライトコントローラに対するバスグラント信号 119…パケット制御回路 120…リード要求バスリクエスタ 121…リード要求信号 122…リード要求に対するグラント信号 123…リードコントローラA 124…リードコントローラB 125…125A、125Bからなる束信号 125A…リードコントローラAがサービスするバス要求が
リクエストキューの先頭にあることを示す信号 125B…リードコントローラBがサービスするバス要求が
リクエストキューの先頭にあることを示す信号 126…126A、126Bからなる束信号 126A…リードコントローラAに対するリードコントロー
ラ起動要求信号 126B…リードコントローラBに対するリードコントロー
ラ起動要求信号 127…127A、127Bからなる束信号 127A…リードコントローラAレディ信号 127B…リードコントローラBレディ信号 128…リードコントローラ内に記憶しているタグID値(要
求ハ゜ケットのタク゛ID値と応答ハ゜ケットのタク゛ID値からなる) 129…リード要求バスリクエスタに対する動作タイミン
グ信号 130…ライト要求バスリクエスタ 131…ライト要求信号 132…ライト要求に対するグラント信号 133…ライトコントローラ 134…ライトコントローラがサービスするバス要求がリ
クエストキューの先頭にあることを示す信号 135…ライト要求パケットのデータに対するデータ有効
信号 136…ライトコントローラレディ信号 137…ライトコントローラ起動要求信号 138…ライトコントローラ内に記憶しているタグID値 139…ライト要求バスリクエスタに対する動作タイミン
グ信号 201、202、203…比較器 204、205…AND回路 206…DMA転送制御装置のID値 207…応答パケットがDMA転送制御装置宛であること
を示す信号 208…リードコントローラAがサービスする要求パケット
に含まれるTIDのLSB値 209…リードコントローラBがサービスする要求パケット
に含まれるTIDのLSB値 210、211…比較器の一致出力信号 213…リードコントローラAがサービスする応答パケット
が有効であることを示す信号 214…リードコントローラBがサービスする応答パケット
が有効であることを示す信号 215…デコーダ 301…エンコーダ 302…デコーダ 303…バスリクエスト制御回路 304…バスリクエストキュー制御回路 305…OR回路 401…リードコントローラA内のマスタシーケンサのステ
ートマシン 402…リードコントローラA内のスレーブシーケンサのス
テートマシン 403…リードコントローラA内のシーケンサ以外の論理 404…リードコントローラAがサービスする要求パケット
セット信号 405…リードコントローラAに対するバスグラント信号 406…リードコントローラAがサービスする応答パケット
の受信処理タイミング信号 407…リードコントローラAがサービスする要求パケット
に対応するタグID値 408…リードコントローラAがサービスする応答パケット
に対応するタグID値 411…リードコントローラB内のマスタシーケンサのステ
ートマシン 412…リードコントローラB内のスレーブシーケンサのス
テートマシン 413…リードコントローラB内のシーケンサ以外の論理 414…リードコントローラBがサービスする要求パケット
のセット信号 415…リードコントローラBに対するバスグラント信号 416…リードコントローラBがサービスする応答パケット
受信処理タイミング信号 417…リードコントローラBがサービスする要求パケット
に対応するのタグID値 418…リードコントローラBがサービスする応答パケット
に対応するタグID値 421…ライトコントローラ内のマスタシーケンサのステ
ートマシン 422…ライトコントローラ内のスレーブシーケンサのス
テートマシン 423…ライトコントローラ内のシーケンサ以外の論理 424…ライトコントローラがサービスする要求パケット
のセット信号 425…ライトコントローラがサービスする要求パケット
データバリッド信号 426…ライトコントローラに対するバスグラント信号 427…ライトコントローラがサービスする要求パケット
データのラストタイミング信号 428…ライトコントローラ内に記憶しているタグID値 500…リードコントローラ内のマスタシーケンサの状態
遷移図 510…ライトコントローラ内のマスタシーケンサの状態
遷移図 520…スレーブシーケンサの状態遷移図 501…リードコントローラ内のマスタシーケンサのアイ
ドル状態 502…リードコントローラ内のマスタシーケンサのバス
グラント待ち状態 503…リードコントローラ内のマスタシーケンサの応答
パケット待ち状態 511…ライトコントローラ内のマスタシーケンサのアイ
ドル状態 512…ライトコントローラ内のマスタシーケンサのバス
グラント待ち状態 513…ライトコントローラ内のマスタシーケンサのラス
トデータ待ち状態 521…スレーブシーケンサのアイドル状態 522…スレーブシーケンサがバスグラント待ち行列の先
頭にいる状態 523…スレーブシーケンサがバスグラント待ち行列の2番
目にいる状態 524…スレーブシーケンサがバスグラント待ち行列の3番
目にいる状態
100 ... DMA transfer control device 101 ... Split bus 102 ... Bus interface circuit 103 ... Bus request signal 104 ... Signal that specifies request packet attribute 105 ... Bus grant signal 106 ... Internal data bus 107 ... Response packet data valid signal 108 ... Transaction ID value 110 of response packet ... Response packet processing circuit 111 ... Request packet processing circuit 112 ... Response data buffer for read transaction 114 ... Tag ID value of bus requester 115 ... Bus grant signal for read controller 116 ... Bus request arbiter control Circuit 117 ... Bundle signal composed of 117A and 117B 117A ... Response data valid signal to read controller A 117B ... Response data valid signal to read controller B 118 ... Bus grant signal to write controller 119 ... Packet control circuit 120 ... Read request bus request Star 121 ... Read request signal 122 ... Grant signal for read request 123 ... Read controller A 124 ... Read controller B 125 ... Bundle signal consisting of 125A and 125B 125A ... The bus request serviced by read controller A must be at the head of the request queue Signal 125B ... A signal indicating that the bus request serviced by read controller B is at the head of the request queue 126 ... 126A, a bundle signal consisting of 126B 126A ... Read controller start request signal 126B ... Read controller B to read controller A Read controller start request signal 127 ... Bundle signal composed of 127A and 127B 127A ... Read controller A ready signal 127B ... Read controller B ready signal 128 ... Tag ID value stored in read controller (tag ID value of request packet and response) (Consisting of the tag ID value of the packet) 129 Operation timing signal for read request bus requester 130 ... Write request bus requester 131 ... Write request signal 132 ... Grant signal for write request 133 ... Write controller 134 ... Signal indicating that the bus request serviced by the write controller is at the head of the request queue 135 ... Data valid signal for data of write request packet 136 ... Write controller ready signal 137 ... Write controller start request signal 138 ... Tag ID value stored in write controller 139 ... Operation timing signal for write request bus requester 201, 202 , 203 ... Comparator 204, 205 ... AND circuit 206 ... ID value of DMA transfer control device 207 ... Signal indicating that response packet is addressed to DMA transfer control device 208 ... TID included in request packet serviced by read controller A LSB value of 209 ... LSB value of the TID included in the request packet serviced by the tracker B 210, 211 ... Match output signal of the comparator 213 ... Signal indicating that the response packet serviced by the read controller A is valid 214 ... Serviced by the read controller B A signal indicating that the response packet is valid 215 ... Decoder 301 ... Encoder 302 ... Decoder 303 ... Bus request control circuit 304 ... Bus request queue control circuit 305 ... OR circuit 401 ... State machine 402 of the master sequencer in the read controller A ... State machine of slave sequencer in read controller A 403 ... Logic other than sequencer in read controller A 404 ... Request packet set signal that read controller A services 405 ... Bus grant signal to read controller A 406 ... Read controller A services Response packet Reception processing timing signal 407 ... Tag ID value corresponding to request packet serviced by read controller A 408 ... Tag ID value corresponding to response packet serviced by read controller A 411 ... State machine 412 of master sequencer in read controller B ... State machine of slave sequencer in read controller B 413 ... Logic other than sequencer in read controller B 414 ... Set signal of request packet serviced by read controller B 415 ... Bus grant signal to read controller B 416 ... Serviced by read controller B Response packet reception processing timing signal 417 ... Tag ID value corresponding to request packet serviced by read controller B 418 ... Tag ID value corresponding to response packet serviced by read controller B 421 ... in write controller State machine of master sequencer 422… State machine of slave sequencer in write controller 423… Logic other than sequencer in write controller 424… Set signal of request packet serviced by write controller 425… Request packet data valid signal serviced by write controller 426 ... Bus grant signal to write controller 427 ... Last timing signal of request packet data serviced by write controller 428 ... Tag ID value stored in write controller 500 ... State transition diagram of master sequencer in read controller 510 ... Write State transition diagram of the master sequencer in the controller 520 ... State transition diagram of the slave sequencer 501 ... Idle state of the master sequencer in the read controller 502 ... Waiting state for master PLC sequencer in read controller 503… Waiting state for master sequencer in write controller 511… Waiting state for master sequencer in write controller 512… Waiting state for master sequencer in write controller 513… Within write controller Master sequencer waits for last data 521… Slave sequencer is idle 522… Slave sequencer is at the top of the bus grant queue 523… Slave sequencer is second in the bus grant queue 524… Slave sequencer is the bus grant The third in the queue

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】バスに接続されるI/O装置に接続された複
数のバスリクエスタが発行するリード要求、及びライト
要求を連続してバスに出力するための第一の手段、及び
前記リード要求に対してバスから到着する応答データの
バスリクエスタへの書き込みを次のリード要求、又はラ
イト要求に対するバストランザクション動作と並行して
行うための第二の手段を有することを特徴とする、DM
A転送制御装置。
1. A first means for continuously outputting a read request and a write request issued by a plurality of bus requesters connected to an I / O device connected to the bus to the bus, and the read request. A second means for writing response data arriving from the bus to the bus requester to the bus requester in parallel with a bus transaction operation for the next read request or write request.
A transfer control device.
【請求項2】前記第一の手段に於いて、複数のバスリク
エスタが非同期に出力するバス要求を調停してシリアラ
イズするためのバスリクエストアービタ制御回路、該バ
スリクエストアービタ制御回路で受け付けられたが、バ
スではまだ受け付けられていないバス要求を出したバス
リクエスタのバス要求順序を記憶するためのリクエスト
キュー制御回路、同時にバスに対して出力するリード要
求バストランザクション、又はライト要求バストランザ
クションのサービスを行うための複数のシーケンス制御
回路、該バスリクエストアービタ制御回路からのバス要
求に従ってバスリクエスト信号をアサートするためのバ
スリクエスト制御回路、及びバスに出力すべきパケット
を予め生成しておくための要求パケット制御回路を有
し、バスリクエストアービタ制御回路で調停したバス要
求によりバスリクエスト信号をアサートすると同時に該
バス要求をサービスするシーケンス制御回路をバスグラ
ント待ち状態に待機させておき、バスグラント信号のア
サートにより該リクエストキューの先頭に位置するバス
要求をサービスするシーケンス制御回路を特定し、バス
の使用許可権を得た該シーケンス制御回路からの指示に
従って要求パケット制御回路が該バス要求パケットをバ
スに出力することを特徴とする、請求項1記載のDMA
転送制御装置。
2. A bus request arbiter control circuit for arbitrating and serializing bus requests asynchronously output by a plurality of bus requesters in the first means, wherein the bus request arbiter control circuit receives the bus requests. , A request queue control circuit for storing the bus request order of a bus requester that has issued a bus request that has not yet been accepted by the bus, and simultaneously services read request bus transactions or write request bus transactions that are output to the bus A plurality of sequence control circuits, a bus request control circuit for asserting a bus request signal according to a bus request from the bus request arbiter control circuit, and a request packet control for generating a packet to be output to the bus in advance Has a circuit, bus request The bus request signal is asserted by the bus request arbitrated by the arbiter control circuit, and at the same time, the sequence control circuit that services the bus request is placed in the waiting state for the bus grant, and is positioned at the head of the request queue by asserting the bus grant signal. 6. A sequence control circuit that services a bus request is specified, and the request packet control circuit outputs the bus request packet to the bus in accordance with an instruction from the sequence control circuit that has obtained the right to use the bus. DMA described in 1
Transfer control device.
【請求項3】前記第二の手段に於いて、同時にバスで行
われるリードバストランザクション、又はライトバスト
ランザクションのサービスを行うための複数のシーケン
ス制御回路、及び応答パケットの内容から該応答パケッ
トをサービスすべき該シーケンス制御回路を特定するた
めの応答パケット処理回路を有し、バスから応答パケッ
トを受け取ると同時に該応答パケットをサービスすべき
シーケンス制御回路を特定し、応答パケット待ち状態に
いる該シーケンス制御回路の指示に従って該応答パケッ
トを期待しているバスリクエスタに対する書き込みを行
うことを特徴とする、請求項1記載のDMA転送制御装
置。
3. In the second means, a plurality of sequence control circuits for servicing a read bus transaction or a write bus transaction simultaneously performed on the bus, and the response packet are serviced from the contents of the response packet. A sequence control circuit that has a response packet processing circuit for specifying the sequence control circuit to be processed, specifies the sequence control circuit that should service the response packet at the same time as receiving the response packet, and waits for the response packet. 2. The DMA transfer control device according to claim 1, wherein writing is performed to a bus requester expecting the response packet according to an instruction of the circuit.
【請求項4】前記リード要求をサービスするシーケンス
制御回路に於いて、リード要求を出したバスリクエスタ
に関する第一の識別情報を該リード要求に対する要求受
付許可信号を受け取ってから次のリード要求要求に対す
る要求受付許可信号を受け取るまでの期間記憶保持し、
該リード要求に対する応答データをバスリクエスタに書
き込むために必要となるバスリクエスタに関する第二の
識別情報を該リード要求に対するバスグラント信号を受
け取ってから次のリード要求に対するバスグラント信号
を受け取るまでの期間記憶保持し、リード要求に対応す
る応答データの到着と同時に該リードバストランザクシ
ョンをサービスすべきシーケンス制御回路を次のリード
要求を受付可能な状態に遷移させ、応答データのテバイ
スへの書き込みと次のリード要求の受付を同一シーケン
ス制御回路内でオーバラップして行うことことを特徴と
する、請求項3記載のDMA転送制御装置。
4. A sequence control circuit for servicing the read request receives first request identification information about the bus requester that issued the read request, and then receives a request acceptance permission signal for the read request and then responds to the next read request request. Holds the memory until the request acceptance permission signal is received,
Storage of the second identification information regarding the bus requester necessary for writing the response data to the read request to the bus requester during the period from the reception of the bus grant signal for the read request to the reception of the bus grant signal for the next read request. At the same time as the arrival of the response data corresponding to the read request, the sequence control circuit that should service the read bus transaction is transited to the state where the next read request can be accepted, and the response data is written to the device and the next read is performed. 4. The DMA transfer control device according to claim 3, wherein requests are received overlappingly in the same sequence control circuit.
【請求項5】前記シーケンス制御回路に於いて、バスリ
クエスタからリード要求があればリードバストランザク
ションの制御を、ライト要求があれびライトバストラン
ザクションの制御を行うことを特徴とする、請求項1記
載のDMA転送制御装置。
5. The sequence control circuit according to claim 1, wherein if a read request is issued from a bus requester, the read bus transaction is controlled, and if the write request is issued, the write bus transaction is controlled. DMA transfer controller.
【請求項6】前記シーケンス制御回路内にリクエストキ
ュー制御回路を分散して有し、バスから到着するバスグ
ラント信号が自シーケンス制御回路に対するバスグラン
ト信号であるかどうかを各シーケンス制御回路で個別に
判定することを特徴とする、請求項2〜5のうちいずれ
かに記載のDMA転送制御装置。
6. A request queue control circuit is distributed in the sequence control circuit, and whether or not a bus grant signal arriving from a bus is a bus grant signal for its own sequence control circuit is individually determined by each sequence control circuit. The DMA transfer control device according to claim 2, wherein the determination is made.
JP22758794A 1994-09-22 1994-09-22 Dma transfer controller Pending JPH0895899A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22758794A JPH0895899A (en) 1994-09-22 1994-09-22 Dma transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22758794A JPH0895899A (en) 1994-09-22 1994-09-22 Dma transfer controller

Publications (1)

Publication Number Publication Date
JPH0895899A true JPH0895899A (en) 1996-04-12

Family

ID=16863261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22758794A Pending JPH0895899A (en) 1994-09-22 1994-09-22 Dma transfer controller

Country Status (1)

Country Link
JP (1) JPH0895899A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005235197A (en) * 2004-02-20 2005-09-02 Samsung Electronics Co Ltd Bus system for connecting subsystem including a plurality of masters with bus based on open core protocol
JP2009093536A (en) * 2007-10-11 2009-04-30 Yokogawa Electric Corp Data transfer device and semiconductor test device
US7930445B2 (en) 2006-09-06 2011-04-19 Hitachi, Ltd. Computer system using remote I/O and I/O data transfer method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005235197A (en) * 2004-02-20 2005-09-02 Samsung Electronics Co Ltd Bus system for connecting subsystem including a plurality of masters with bus based on open core protocol
US7930445B2 (en) 2006-09-06 2011-04-19 Hitachi, Ltd. Computer system using remote I/O and I/O data transfer method
JP2009093536A (en) * 2007-10-11 2009-04-30 Yokogawa Electric Corp Data transfer device and semiconductor test device

Similar Documents

Publication Publication Date Title
US6393506B1 (en) Virtual channel bus and system architecture
US6671761B2 (en) Bus system
US6651148B2 (en) High-speed memory controller for pipelining memory read transactions
WO1996036912A2 (en) Address and data bus arbiter for pipelined transactions on a split bus
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5649209A (en) Bus coupling information processing system for multiple access to system bus
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
US6681270B1 (en) Effective channel priority processing for transfer controller with hub and ports
JPH0728758A (en) And device for dynamic time loop arbitration
JP3444154B2 (en) Memory access control circuit
USRE40261E1 (en) Apparatus and method of partially transferring data through bus and bus master control device
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US5887195A (en) Bus arbitration between an I/O device and processor for memory access using FIFO buffer with queue holding bus access flag bit
JPH0895899A (en) Dma transfer controller
US7730247B2 (en) Information processing apparatus
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
EP0675446A1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
JPH04134551A (en) Method of informing second agent of necessity of service from first agent in bus for transferring data between a lurality of data processing agents
KR100487218B1 (en) Apparatus and method for interfacing an on-chip bus
JPH09223103A (en) Information processing system
EP0923031B1 (en) Method for reading data from a shared memory in a multiprocessor computer system
JP2718702B2 (en) Memory access control method
JP3094944B2 (en) Arbitration method and device
JP3240863B2 (en) Arbitration circuit
EP1380960B1 (en) Memory access from different clock domains