JPH10177543A - Bus control circuit - Google Patents

Bus control circuit

Info

Publication number
JPH10177543A
JPH10177543A JP33788896A JP33788896A JPH10177543A JP H10177543 A JPH10177543 A JP H10177543A JP 33788896 A JP33788896 A JP 33788896A JP 33788896 A JP33788896 A JP 33788896A JP H10177543 A JPH10177543 A JP H10177543A
Authority
JP
Japan
Prior art keywords
bus
data
master
width
output
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
JP33788896A
Other languages
Japanese (ja)
Inventor
Toshimasa Mimori
敏正 三森
Takuya Sayama
卓也 佐山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP33788896A priority Critical patent/JPH10177543A/en
Publication of JPH10177543A publication Critical patent/JPH10177543A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the using efficiency of a data bus and to decrease the processing interruption frequency by adding the information on the width of buses used for every bus master and managing the data bus in each byte. SOLUTION: When a bus arbitration part 302 recognizes a bus request 311 of a bus master A301, the part 302 compares the data bus width with the value obtained by adding together the data bus width 319 under use and the using request data width 312 and outputs this comparison result to a bus arbitration circuit. When the bus arbitration circuit decides that the bus width whose use is requested can be secured on one of data buses 340 to 343, a bus use enabling signal 313 is transmitted to the master A301. Thus, it is possible to simultaneously transmit the 16-bit data transferred from the master A301 and the 16-bit data transferred from a bus master B304 to one of data buses 340 to 343 of 32-bit width.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マルチバスマスタ
構成をとるシステムにおける、バスの制御回路に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bus control circuit in a system having a multi-bus master configuration.

【0002】[0002]

【従来の技術】まず始めに、マルチバスマスタのシステ
ムについて述べる。従来のマルチCPU構成をとるマル
チマスタのシステムのバス制御方法は、特開昭52−6
7934号に開示されている。図9はマルチバスマスタ
システムの構成例の概念図を示す。図9において、マル
チバスマスタシステムは、バスマスタA100、バスマ
スタB101、バス調停回路102、16ビット幅のメ
モリ103、32ビット幅メモリ104、8ビット幅の
I/Oデバイス105、データバス106、バスマスタ
Aのバスリクエスト信号120、バスグラント(転送許
諾)信号121、バス転送終了信号122、バスマスタ
Bのバスリクエスト信号123、バスグラント信号12
4、バス転送終了信号125から構成されるとする。
2. Description of the Related Art First, a multi-bus master system will be described. A conventional bus control method for a multi-master system having a multi-CPU configuration is disclosed in
No. 7934. FIG. 9 shows a conceptual diagram of a configuration example of a multi-bus master system. In FIG. 9, a multi-bus master system includes a bus master A 100, a bus master B 101, a bus arbitration circuit 102, a 16-bit width memory 103, a 32-bit width memory 104, an 8-bit width I / O device 105, a data bus 106, and a bus master A. Bus request signal 120, bus grant (transfer permission) signal 121, bus transfer end signal 122, bus request signal 123 of bus master B, bus grant signal 12
4. Assume that it is composed of a bus transfer end signal 125.

【0003】バスマスタA100がデータバス106を
介して104をアクセスする場合は、データバス106
を利用する要求をバスリクエスト信号120でバス調停
回路102に知らせる。バス調停回路102はその時の
バスマスタB101のバス使用状況をもとに判断し、バ
スが使用されていないことを判別すると、バスマスタA
100にバスグラント信号121を出力することにより
バス転送許可を与え、バスマスタA100のバス転送サ
イクルが開始される。一方、バスマスタB101が既に
データバス106を使用している時にバスマスタA10
0がバスリクエスト信号120を出力してバスリクエス
トする場合、バス調停回路102はバスが使用中である
と判断し、バスマスタB101の転送サイクルがバス転
送終了信号125で終了を示すまで、バスグラント信号
121をアクティブにしないので、バスマスタA100
は、待機状態となる。バスマスタB101が転送サイク
ルが終了しバス転送終了信号125をアクティブにする
ことにより、バスマスタA100の転送が開始される。
上記のように、マルチバスマスタ構成のシステムにおい
て、一つのバスマスタがバスを使用している期間には、
他のプロセッサはバスを使用することができなくなり、
バスを使用のバスマスタプロセッサはデータバスが開放
されるまでデータバスを使用する処理を中断することに
なる。
When the bus master A 100 accesses the data bus 104 via the data bus 106, the data bus 106
Is notified to the bus arbitration circuit 102 by a bus request signal 120. The bus arbitration circuit 102 makes a determination based on the bus usage status of the bus master B 101 at that time, and if it determines that the bus is not used, the bus arbitration circuit 102
The bus transfer permission is given by outputting the bus grant signal 121 to the bus master 100, and the bus transfer cycle of the bus master A100 is started. On the other hand, when the bus master B 101 is already using the data bus 106, the bus master A 10
0 outputs a bus request signal 120 and makes a bus request, the bus arbitration circuit 102 determines that the bus is in use, and until the transfer cycle of the bus master B 101 indicates the end by the bus transfer end signal 125, the bus grant signal Since bus 121 is not activated, bus master A 100
Enters a standby state. When the bus master B101 completes the transfer cycle and activates the bus transfer end signal 125, the transfer of the bus master A100 is started.
As described above, in a system with a multi-bus master configuration, while one bus master is using the bus,
Other processors can no longer use the bus,
The bus master processor using the bus suspends the processing using the data bus until the data bus is released.

【0004】図10は上記バスアクセスを、横軸にサイ
クル、縦軸には回路に伝達されたデータ及び各種制御信
号としてタイミング図としたものである。この例では、
データバスとアドレスバスが分離しており、データ幅は
32ビットとし、データバス上に8ワードのバーストで
転送サイクルを起こしているとする。アドレスは、バー
スト転送の開始時点で決定され、それ以降のバースト期
間中はアドレスは使用されない。
FIG. 10 is a timing diagram showing the bus access as a cycle on the horizontal axis and data and various control signals transmitted to the circuit on the vertical axis. In this example,
It is assumed that the data bus and the address bus are separated, the data width is 32 bits, and a transfer cycle is generated in a burst of 8 words on the data bus. The address is determined at the start of the burst transfer, and the address is not used during the subsequent burst period.

【0005】バスマスタB101はサイクル1の期間に
バスリクエスト信号123をアクティブにする。サイク
ル2の期間でバス調停回路102がバスグラント信号1
24をバスマスタB101に出力する。サイクル3の期
間でバスマスタB101はバースト転送を開始し、アド
レスA1をアドレスバスに送出するとともに、16ビッ
トデータを下位データDL3として出力する。同期間に
おいて、上位データDH3は無効データとなる。サイク
ル4〜10は前記下位データDL3に続くバーストデー
タDL4〜DL10を出力する。同期間において、DH
4〜DH10は無効データである。サイクル4〜10の
期間は、無効アドレスである。サイクル4において、バ
スマスタA100はバスリクエスト信号120を出力す
る。サイクル5の時点ではバスマスタB101がバスを
使用しているため、バスマスタA100のバス使用許諾
信号121は出力されない。サイクル10において、バ
スマスタB101の最後のバーストデータを出力すると
同時にバスマスタA100のバス転送許諾信号121を
出力する。サイクル11においてバスマスタA100の
バースト転送サイクルが開始され、アドレスバスにA2
を出力し、DL11にデータを出力する。
The bus master B 101 activates the bus request signal 123 during cycle 1. During the cycle 2, the bus arbitration circuit 102 outputs the bus grant signal 1
24 to the bus master B101. In the period of cycle 3, the bus master B101 starts burst transfer, sends out the address A1 to the address bus, and outputs 16-bit data as the lower data DL3. In the same period, the upper data DH3 becomes invalid data. In cycles 4 to 10, burst data DL4 to DL10 following the lower data DL3 are output. During the same period, DH
4 to DH10 are invalid data. The period of cycles 4 to 10 is an invalid address. In cycle 4, the bus master A 100 outputs a bus request signal 120. At the time of cycle 5, since the bus is used by the bus master B101, the bus permission signal 121 of the bus master A100 is not output. In the cycle 10, the last burst data of the bus master B101 is output, and at the same time, the bus transfer permission signal 121 of the bus master A100 is output. In cycle 11, the burst transfer cycle of the bus master A100 is started, and A2 is transferred to the address bus.
And outputs data to DL11.

【0006】[0006]

【発明が解決しようとする課題】上記従来の技術の場合
において、データバスが32ビット幅であるとして、バ
スマスタであるバスマスタB101がバーストデータ転
送に使用しているデータ幅が16ビットであれば、バー
スト転送中は常に無効なデータがデータバスにのること
になる。しかし、その無効なデータが乗っているバスラ
インにもう一方のバスマスタであるバスマスタA100
のデータを乗せようとしても、バスマスタB101がバ
ス転送終了信号をアクティブにするまではバスの使用権
利を得られないので転送は不可能である。したがって、
バスマスタB101のデータ転送において、データバス
の一部しか使用されているにも関わらず、バスマスタB
101のデータ転送が終了するまで、バスマスタA10
0は処理を中断しなければならない。
In the case of the prior art described above, if the data bus has a 32-bit width and the data width used by the bus master B101 for burst data transfer is 16 bits, During burst transfer, invalid data is always on the data bus. However, the bus master A100, which is the other bus master, is connected to the bus line on which the invalid data is on.
Transfer is impossible because the right to use the bus cannot be obtained until the bus master B101 activates the bus transfer end signal. Therefore,
In the data transfer of the bus master B 101, the bus master B 101 uses only a part of the data bus.
Until the data transfer of the bus master 101 is completed.
0 means that processing must be interrupted.

【0007】従って、本発明は、マルチバスマスタのシ
ステムにおけるバスの制御方法において、データの転送
を高速化するバス制御回路を提供することを目的とす
る。
Accordingly, it is an object of the present invention to provide a bus control circuit for speeding up data transfer in a bus control method in a multi-bus master system.

【0008】[0008]

【課題を解決するための手段】上記の問題点を解決する
ために、本発明のバス制御方法では、各バスマスタ毎に
バスリクエスト、バスグラント、バス転送終了の情報の
ほかに、使用するバス幅の情報を付け加え、データバス
をバイト毎に管理することにより、前記バス幅が使用要
求をしたときデータ転送に使用されていないバスの幅以
下であれば未使用領域にデータを流せるようになり、デ
ータバスの使用効率を向上させ、バスマスタの処理の中
断を減少させる。
In order to solve the above-mentioned problems, a bus control method according to the present invention uses a bus width, a bus request, a bus grant, and a bus transfer completion information for each bus master. By managing the data bus on a byte-by-byte basis, if the bus width is less than the width of a bus not used for data transfer when a use request is made, data can flow to an unused area, It improves the efficiency of use of the data bus and reduces interruption of bus master processing.

【0009】上記方法を実現する請求項1記載の発明
は、転送中のデータ幅と、データ転送に使用しているバ
スの領域を保持するレジスタと、バスマスタから出力さ
れるバスの転送要求と転送要求するデータ幅を入力し、
前記レジスタに保持されたデータ幅と前記バス転送要求
幅の合計とデータバスの幅を比較する比較回路と、前記
比較回路の出力と前記バスの転送要求から前記バスマス
タにバスの転送許諾を決定するバス調停回路と、前記レ
ジスタに保持されたデータ転送に使用しているバスの領
域よりバスの未使用領域を検出するバス状態制御部と、
前記バス状態制御部の出力により、データバスに出力す
るデータを出力するセレクタと有効領域のみバスを駆動
するバス駆動回路とを具備するバス制御回路である。
According to a first aspect of the present invention, there is provided a register for holding a data width during transfer, a bus area used for data transfer, and a bus transfer request and transfer output from a bus master. Enter the required data width,
A comparison circuit for comparing the sum of the data width held in the register and the bus transfer request width with the width of the data bus; and determining a bus transfer permission to the bus master from the output of the comparison circuit and the bus transfer request. A bus arbitration circuit, a bus state control unit that detects an unused area of the bus from a bus area used for data transfer held in the register,
A bus control circuit comprising: a selector for outputting data to be output to a data bus according to an output of the bus state control unit; and a bus driving circuit for driving the bus only in an effective area.

【0010】[0010]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図8を用いて説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS.

【0011】(実施の形態1)図3は本発明のマルチバス
マスタのバス制御回路の構成例を示す。図3において、
301は32ビットバスマスタA、302はバス調停
部、303はバスステートレジスタ、311はバスマス
タA301がデータバス340〜343へのアクセスを
要求するバスリクエスト信号、312はバスマスタA3
01がデータバス340〜343にアクセスするときに
使用要求するデータ幅、313はデータバス340〜3
43に対するバス使用承諾信号、314はバスマスタA
301の転送が終了したことを示すバス転送終了信号で
ある。
(Embodiment 1) FIG. 3 shows a configuration example of a bus control circuit of a multi-bus master according to the present invention. In FIG.
Reference numeral 301 denotes a 32-bit bus master, 302 denotes a bus arbitration unit, 303 denotes a bus state register, 311 denotes a bus request signal for requesting the bus master A 301 to access the data bus 340 to 343, and 312 denotes a bus master A3.
01 is a data width requested when accessing the data buses 340 to 343, and 313 is a data width of the data buses 340 to 343.
A bus use approval signal 314 is a bus master A.
This is a bus transfer end signal indicating that the transfer of 301 has been completed.

【0012】331はバスマスタA301と直に接する
32ビット幅のローカルデータバスであり、バイト選択
回路305に入力される。321はバイト選択回路30
5により8ビット毎に区切られたデータを340〜34
3のどのデータバスに転送するかを決定するバイト選択
回路制御信号である。320はバスマスタA301が起
こすバスサイクルにおいて、340〜343のどのバス
を駆動するかを示すバス駆動回路制御信号である。
Reference numeral 331 denotes a local data bus having a width of 32 bits which is in direct contact with the bus master A 301 and is inputted to the byte selection circuit 305. 321 is a byte selection circuit 30
The data delimited every 8 bits by 5 is 340 to 34
3 is a byte selection circuit control signal for determining which data bus to transfer to. Reference numeral 320 denotes a bus drive circuit control signal indicating which of the buses 340 to 343 is to be driven in the bus cycle generated by the bus master A301.

【0013】350は使用中のデータ幅、351は使用
中のデータ領域であり、バスステートレジスタ303に
含まれる。319は使用中のデータ幅350の出力デー
タ、333は使用中のデータ領域351の出力データで
あり、バス調停部302に供給される。
Reference numeral 350 denotes a data width in use, and 351 denotes a data area in use, which is included in the bus state register 303. 319 is output data of the used data width 350 and 333 is output data of the used data area 351, and is supplied to the bus arbitration unit 302.

【0014】304は32ビットバスマスタB、315
はバスマスタB304がデータバス340〜343への
アクセスを要求するバスリクエスト信号、316はバス
マスタB304がデータバス340〜343にアクセス
するときに使用要求するデータ幅、317はデータバス
340〜343に対するバス使用承諾信号、318はバ
スマスタB304の転送が終了したことを示すバス転送
終了信号である。
Reference numeral 304 denotes a 32-bit bus master B, 315
Is a bus request signal for requesting the bus master B304 to access the data buses 340 to 343, 316 is a data width requested when the bus master B304 accesses the data buses 340 to 343, and 317 is a bus use for the data buses 340 to 343. An acceptance signal 318 is a bus transfer end signal indicating that the transfer of the bus master B 304 has been completed.

【0015】332はバスマスタB304と直に接する
32ビット幅のデータバスで、バイト選択回路306に
入力される。323はバイト選択回路306より8ビッ
ト毎に区切られたデータを340〜343のどのデータ
バスに転送するかを決定するバイト選択回路制御信号で
あり、322はバスマスタB304が起こすバスサイク
ルにおいて340〜343のどのバスを駆動するかを示
すバス駆動回路制御信号である。
Reference numeral 332 denotes a 32-bit data bus which is in direct contact with the bus master B 304 and is input to the byte selection circuit 306. Reference numeral 323 denotes a byte selection circuit control signal for determining to which of the data buses 340 to 343 the data divided every eight bits by the byte selection circuit 306 is transferred. Reference numeral 322 denotes a bus selection signal 340 to 343 in the bus cycle generated by the bus master B 304. Is a bus drive circuit control signal indicating which bus is to be driven.

【0016】329はバスマスタA301から出力され
るアドレスであり、330はバスマスタB304から出
力されるアドレスである。324は前記アドレス329
と330のうちどちらのアドレスを使用するかを決定す
るアドレスセレクタ制御信号であり、アドレスセレクタ
307に入力される。アドレスセレクタ307により選
択されたアドレスはアドレスバス327に出力される。
アドレスデコード回路308はアドレス327を入力
し、メモリ選択信号326を生成する。
Reference numeral 329 denotes an address output from the bus master A 301, and reference numeral 330 denotes an address output from the bus master B 304. 324 is the address 329
And 330, an address selector control signal for determining which address to use, and is input to the address selector 307. The address selected by the address selector 307 is output to the address bus 327.
The address decode circuit 308 receives the address 327 and generates a memory selection signal 326.

【0017】309は領域選択回路であり、340〜3
43のデータバスを入力し、バイト選択信号325によ
り32ビットデータから16ビットを選択し16ビット
メモリバス328に出力する。
Reference numeral 309 denotes an area selection circuit, which is 340 to 3
Forty-three data buses are input, 16-bit data is selected from 32-bit data by a byte selection signal 325, and output to a 16-bit memory bus 328.

【0018】310は16ビットデータ幅のメモリであ
り、メモリ選択信号326がアクティブの時にメモリバ
ス328より16ビットデータを入力する。
Reference numeral 310 denotes a memory having a 16-bit data width. When the memory selection signal 326 is active, 16-bit data is input from the memory bus 328.

【0019】図4は図3におけるバイト選択回路305
の内部構成を示す。バイト選択回路306の内部構成は
バイト選択回路305と同一である。図4において、4
00は331の最上位バイト、401は最上位バイト4
00より1つ下位のバイト、402は最上位バイト40
0より2つ下位のバイト、403は最下位バイトを示し
ており、それぞれはセレクタ410、411、412、
413に入力される。410〜413は、バイト選択回
路制御信号321により、それぞれに入力されている4
00、401、402、403からどれを出力とするか
を決定し、それぞれの出力である選択データ420、4
21、422、423を出力する。選択データ420〜
423はそれぞれに対応したバス駆動回路430〜43
3に入力され、選択データ430〜433はバス駆動回
路制御信号320により、入力したデータをデータバス
340〜343に出力するのか、ハイインピーダンスに
するかを決定する。
FIG. 4 shows the byte selection circuit 305 in FIG.
2 shows the internal configuration of FIG. The internal configuration of the byte selection circuit 306 is the same as that of the byte selection circuit 305. In FIG. 4, 4
00 is the most significant byte of 331, 401 is the most significant byte 4
Byte one lower than 00, 402 is most significant byte 40
403 indicates the least significant byte, and 403 indicates the least significant byte.
413 is input. Reference numerals 410 to 413 are input to the respective 4 by the byte selection circuit control signal 321.
00, 401, 402, 403, which output is to be determined, and selection data 420, 4
21, 422 and 423 are output. Selection data 420 ~
423 is a bus drive circuit 430 to 43 corresponding to each.
3, the selection data 430 to 433 determine whether the input data is output to the data buses 340 to 343 or set to high impedance according to the bus drive circuit control signal 320.

【0020】図5は図3におけるバス調停部302の内
部構成を示した図である。図5において、500は使用
要求データ幅312と316を入力するセレクタ、50
1はセレクタ500からの出力とバスステートレジスタ
303からデータ幅350を入力とする加算回路であ
る。502はデータバスの幅を与える定数であり、実施
の形態1においては出力は32である。503はデータ
バス幅502と加算回路501の出力を比較する比較回
路であり、比較結果をバス調停回路504に供給する。
504は比較回路503の出力と、バスマスタA301
から出力されるバスリクエスト信号311とバス転送終
了信号314、バスマスタB304から出力されるバス
リクエスト信号315とバス転送終了信号318を入力
し、バス使用許諾信号313と317を出力する。50
5はバス状態制御部であり、バス調停回路504の出
力、バス使用許諾信号313、セレクタ出力508、バ
ス使用許諾信号317、データ領域333を入力し、バ
スマスタA301には制御信号320、321、バスマ
スタB304には制御信号322、323を出力すると
ともに、更新された使用中のデータ領域506と更新さ
れた使用中のデータ幅507をバスステートレジスタ3
03に出力する。
FIG. 5 is a diagram showing the internal configuration of the bus arbitration unit 302 in FIG. In FIG. 5, reference numeral 500 denotes a selector for inputting use request data widths 312 and 316;
Reference numeral 1 denotes an addition circuit that receives an output from the selector 500 and a data width 350 from the bus state register 303 as inputs. Reference numeral 502 denotes a constant that gives the width of the data bus, and the output is 32 in the first embodiment. A comparison circuit 503 compares the data bus width 502 with the output of the addition circuit 501, and supplies the comparison result to the bus arbitration circuit 504.
Reference numeral 504 denotes the output of the comparison circuit 503 and the bus master A301.
, And a bus transfer end signal 314 and a bus request signal 315 and a bus transfer end signal 318 output from the bus master B 304, and output bus use permission signals 313 and 317. 50
Reference numeral 5 denotes a bus state control unit, which receives an output of the bus arbitration circuit 504, a bus license signal 313, a selector output 508, a bus license signal 317, and a data area 333, and inputs control signals 320 and 321 and a bus master to a bus master A301. Control signals 322 and 323 are output to B304, and the updated used data area 506 and the updated used data width 507 are stored in the bus state register 3.
03 is output.

【0021】以下に、32ビット幅のデータバスのバス
マスタB304が下位16ビットのデータバスを使用中
にもう一つのバスマスタA301が16ビット幅のデー
タをメモリ310に転送する場合の動作内容を示す。こ
の時点で、データバスは図6に示されるように、下位1
6ビットの602、603にはバスマスタB304が出
力したデータが乗っており、上位16ビットの600、
601は未使用領域となっている。
The operation contents when the bus master B 304 of the 32-bit data bus uses the lower 16-bit data bus and the other bus master A 301 transfers 16-bit data to the memory 310 will be described below. At this point, the data bus has the lower one, as shown in FIG.
The data output from the bus master B 304 is carried in the 6-bit 602 and 603, and the upper 16 bits 600 and 603 are stored.
Reference numeral 601 denotes an unused area.

【0022】まず、バスマスタA301がバスサイクル
を起こす場合、バスリクエスト311と、使用要求デー
タ幅312をバス調停部302に出力する。バス調停部
302は、バスリクエスト311を認識した時点で、使
用中のデータ幅319とセレクタ出力508を加算した
値とデータバス幅502の値を比較回路503で比較す
ることにより判別して結果をバス調停回路504に出力
し、バス調停回路504が使用要求を受けているバス幅
をデータバス340〜343上のいずれかに確保できる
と判別した場合には、バス使用許諾信号313をバスマ
スタA301に送信する。バス使用許諾を得たバスマス
タA301はアドレス329を出力するとともに、ロー
カルデータバス331を介してデータをバイト選択回路
305に送出する。バス状態制御部505はバス調停回
路504の出力とデータ領域333、データバス幅50
2、セレクタ出力508により図1のフローで制御信号
320、321を出力する。バイト選択回路305はバ
ス調停部302により出力される制御信号321によ
り、バスマスタA301が出力した16ビットのデータ
をデータバス340、341に出力することを決定し、
制御信号320により、バス駆動回路430、431は
データバス340と341をドライブし、データバス3
42と343はハイインピーダンスにする。この時のバ
ス駆動回路430、431、432、433の出力の並
びを図7に示す。
First, when the bus master A 301 causes a bus cycle, it outputs a bus request 311 and a use request data width 312 to the bus arbitration unit 302. When the bus arbitration unit 302 recognizes the bus request 311, the comparison circuit 503 compares the value obtained by adding the data width 319 in use and the selector output 508 with the value of the data bus width 502, and determines the result. When the bus arbitration circuit 504 determines that the requested bus width can be secured on any of the data buses 340 to 343, the bus arbitration circuit 504 sends the bus licensing signal 313 to the bus master A301. Send. The bus master A 301 that has obtained the bus use license outputs the address 329 and sends the data to the byte selection circuit 305 via the local data bus 331. The bus state control unit 505 outputs the output of the bus arbitration circuit 504, the data area 333, and the data bus width 50.
2. The control signals 320 and 321 are output according to the flow of FIG. The byte selection circuit 305 determines to output the 16-bit data output by the bus master A 301 to the data buses 340 and 341 according to the control signal 321 output from the bus arbitration unit 302,
In response to the control signal 320, the bus driving circuits 430 and 431 drive the data buses 340 and 341 and
42 and 343 are set to high impedance. FIG. 7 shows an arrangement of outputs of the bus driving circuits 430, 431, 432, and 433 at this time.

【0023】以上の操作により、バスマスタA301が
転送する16ビットデータとバスマスタB304が転送
する16ビットデータを図8に示すように同時期にデー
タバスに送出することが可能となる。
With the above operation, the 16-bit data transferred by the bus master A 301 and the 16-bit data transferred by the bus master B 304 can be simultaneously transmitted to the data bus as shown in FIG.

【0024】前記の操作でデータバスに送出されたバス
マスタA301のデータをメモリ310に書き込むため
の操作を以下に示す。バスマスタA301が出力したア
ドレス329はアドレスセレクタ307に入力される。
バス調停部302がバスマスタA301のバス使用許諾
をしているので、制御信号324はアドレスセレクタ3
07がバスマスタA301のアドレスが選択されるよう
に操作する。アドレスセレクタ307により選択された
バスマスタA301のアドレスはアドレスバス327を
通過してメモリ310に供給され、メモリのアドレッシ
ングが行われる。一方、バスマスタA301が出力した
データはデータバス340と341に出力されているこ
とがバス調停部302が出力するバイト選択信号325
により示されており、領域選択回路309はバイト選択
信号325の操作によりデータをデータバス340と3
41から入力し16ビットデータとしてバス328を介
してメモリ310に供給され、バスマスタA301の出
力したアドレスとデータがメモリ310に揃い、書き込
みが可能となる。
The operation for writing the data of the bus master A 301 sent to the data bus by the above operation to the memory 310 will be described below. The address 329 output by the bus master A 301 is input to the address selector 307.
Since the bus arbitration unit 302 licenses the bus of the bus master A301, the control signal 324 is set to the address selector 3
07 operates so that the address of the bus master A301 is selected. The address of the bus master A 301 selected by the address selector 307 is supplied to the memory 310 through the address bus 327, and the memory is addressed. On the other hand, the fact that the data output by the bus master A 301 is output to the data buses 340 and 341 indicates that the byte selection signal 325 output by the bus arbitration unit 302.
The area selection circuit 309 transfers data by operating the byte selection signal 325 to the data buses 340 and 3.
The address and data output from the bus master A 301 are aligned in the memory 310 as 16-bit data input from the memory 41 and supplied as 16-bit data via the bus 328, thereby enabling writing.

【0025】図2は以上の動作を横軸にサイクル、縦軸
に回路に伝達されたデータ、各種制御信号としてタイミ
ング図としたものである。図2のタイミング図はデータ
バスが32ビット幅で8ワードのバーストで転送サイク
ルを起こしていることを前提としている。
FIG. 2 is a timing chart showing the above operation as a cycle on the horizontal axis, data transmitted to the circuit on the vertical axis, and various control signals. The timing diagram of FIG. 2 assumes that the data bus is generating a transfer cycle in bursts of 8 words with a width of 32 bits.

【0026】サイクル1の期間に、バスマスタB304
はバスリクエスト信号315をアクティブにすると同時
に、使用要求データ幅316により16ビットであるこ
とを明示する信号を出力する。
During cycle 1, bus master B 304
Activates the bus request signal 315 and outputs a signal indicating that the bus request signal 315 is 16 bits by the use request data width 316.

【0027】サイクル2の期間でバス調停部302がバ
ス使用許諾信号317をバスマスタB304に出力す
る。
During the cycle 2, the bus arbitration unit 302 outputs the bus license signal 317 to the bus master B 304.

【0028】サイクル3の期間でバスマスタB304は
アドレスAをアドレスバス330に送出するとともに、
16ビットデータをデータバス342にD33、343
にD43を出力する。同期間において、上位データバス
340のD13と341のD23は無効データとなる。
In cycle 3, the bus master B 304 sends the address A to the address bus 330,
16-bit data is transferred to the data bus 342 by D33 and 343.
Is output to D43. In the same period, D13 of the upper data bus 340 and D23 of the 341 become invalid data.

【0029】サイクル4において、バスマスタA301
のバスリクエスト信号311がアクティブとなり、同期
間にバスマスタA301が転送に使用するバス幅が16
ビットであることを使用要求データ幅312により示
す。D34とD45はバスマスタB304が出力するデ
ータである。
In cycle 4, bus master A301
Bus request signal 311 becomes active, and the bus width used by the bus master
This is indicated by the use request data width 312. D34 and D45 are data output by the bus master B304.

【0030】サイクル5では、データバス340と34
1の合計16ビットが未使用であるから、バスマスタA
301にバス使用許諾信号313を出力する。D35と
D45はバスマスタB304が出力するデータである。
In cycle 5, data buses 340 and 34
Since a total of 16 bits of 1 are unused, bus master A
A bus license signal 313 is output to 301. D35 and D45 are data output by the bus master B304.

【0031】サイクル6において、バスマスタA301
が出力するアドレスA2がアドレスバス329にのり、
バスマスタA301が出力するデータは340にD1
6、341にD26として出力され、バスマスタB30
4の出力するデータは下位データバス342と343に
D36、D46として出力される。
In cycle 6, bus master A301
Output on the address bus 329,
The data output from the bus master A301 is D1 at 340.
6, 341 and output as D26 to the bus master B30.
4 is output to the lower data buses 342 and 343 as D36 and D46.

【0032】サイクル7〜11において、D37〜D3
11、D47〜D411にはバスマスタB304のデー
タが出力され、D17〜D111、D27〜D211は
バスマスタA301のデータが出力される。
In cycles 7 to 11, D37 to D3
11, D47 to D411 output data of the bus master B304, and D17 to D111 and D27 to D211 output data of the bus master A301.

【0033】なお、以上の説明ではデータをバイト毎に
管理しているが、その他のデータ幅での管理も同様に実
施可能である。
In the above description, data is managed for each byte. However, management for other data widths can be similarly performed.

【0034】[0034]

【発明の効果】以上のように、本発明によるバス制御回
路を用いてシステムを構成することにより、複数のバス
マスタが1つのデータバスを扱う場合、1つのバスマス
タがデータバス幅以下の幅のデータを転送している時
に、他のバスマスタがデータ転送要求をした場合、双方
のデータの幅の合計がデータ幅以下であれば、双方のデ
ータを重複して転送することが可能となるので、転送効
率が向上し、また、各バスマスタのデータ転要求での待
機時間が減少するためバスマスタの動作も高速化するこ
とが可能となる。
As described above, by constructing a system using the bus control circuit according to the present invention, when a plurality of bus masters handle one data bus, one bus master has a data width less than the data bus width. When another bus master makes a data transfer request while transferring data, if the total width of both data is less than the data width, it is possible to transfer both data redundantly. Efficiency is improved, and the waiting time for a data transfer request from each bus master is reduced, so that the operation of the bus master can be accelerated.

【0035】本発明において典型的に効果があるのは、
複数のバスマスタのうち、1つのバスマスタがデータ幅
の狭いスレーブデバイスを常に監視し、かつ前記スレー
ブデバイスから出力されるデータの取りこぼしが許され
ない場合である。前記の場合、前記スレーブデバイスの
アクセスがもっとも優先順位の高いバス転送となるが、
この転送のために、他のバスマスタのデータバスアクセ
スが阻害され、システム高速化に支障がある。本発明を
用いることにより、前記デバイスのデータ転送中であっ
ても、データバス上のあまっているデータバスラインを
使用することができるので、データバスアクセスが可能
となり、システムの高速化に効果がある。
In the present invention, it is typically effective that
In this case, one of the plurality of bus masters always monitors a slave device having a narrow data width, and data output from the slave device cannot be lost. In the above case, the access of the slave device is the bus transfer with the highest priority,
This transfer hinders data bus access by other bus masters, and hinders speeding up of the system. By using the present invention, the data bus line on the data bus can be used even during the data transfer of the device, so that the data bus can be accessed, which is effective in increasing the speed of the system. is there.

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

【図1】バス状態制御部505の処理フロー図FIG. 1 is a processing flowchart of a bus state control unit 505.

【図2】本発明の実施の形態1に係るマルチバスマスタ
のバス制御の信号パターンを示した概念図
FIG. 2 is a conceptual diagram showing a bus control signal pattern of the multi-bus master according to the first embodiment of the present invention.

【図3】本発明の実施の形態1に係るマルチバスマスタ
のバス制御回路の構成図
FIG. 3 is a configuration diagram of a bus control circuit of the multi-bus master according to the first embodiment of the present invention;

【図4】図3におけるバイト選択回路の内部構成図FIG. 4 is an internal configuration diagram of a byte selection circuit in FIG. 3;

【図5】図3におけるバス調停部の内部構成図FIG. 5 is an internal configuration diagram of a bus arbitration unit in FIG. 3;

【図6】実施の形態1において、304が16ビットデ
ータを32ビットデータバスの下位16ビットの領域に
出力した時のデータの並びを示した図
FIG. 6 is a diagram showing an arrangement of data when 304 outputs 16-bit data to a lower 16-bit area of a 32-bit data bus in the first embodiment;

【図7】実施の形態1において、301が16ビットデ
ータをデータバスに出力した時の430,431,43
2,433の出力したデータの並びを示した図
FIG. 7 is a diagram illustrating a configuration in which the first embodiment outputs 430, 431, and 43 when 16-bit data is output to the data bus;
Diagram showing arrangement of data output by 2,433

【図8】301と304がデータバスを同時に使用して
いる時の32ビットデータの並びを示した図
FIG. 8 is a diagram showing the arrangement of 32-bit data when the data buses 301 and 304 are simultaneously used.

【図9】従来におけるマルチバスマスタのシステムにお
ける基本的なバス構成図
FIG. 9 is a basic bus configuration diagram in a conventional multi-bus master system.

【図10】従来におけるマルチバスマスタのバス制御の
信号パターンを示した概念図
FIG. 10 is a conceptual diagram showing a signal pattern of a conventional bus control of a multi-bus master.

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

301 バスマスタA 302 バス調停部 303 バスステートレジスタ 304 バスマスタB 305 バスマスタAのバイト選択回路 306 バスマスタBのバイト選択回路 310 16ビットメモリ 311 バスマスタAのバスリクエスト 312 バスマスタAの使用要求データ幅 313 バスマスタAへのバス使用許諾 314 バスマスタAの転送終了信号 315 バスマスタBのバスリクエスト 316 バスマスタBの使用要求データ幅 317 バスマスタBへのバス使用許諾 318 バスマスタBの転送終了信号 319 使用中のデータ幅出力 320 バスマスタAのバス駆動回路制御信号 321 バスマスタAのバイト選択回路制御信号 322 バスマスタBのバス駆動回路制御信号 323 バスマスタBのバイト選択回路制御信号 324 アドレスセレクタ制御信号 325 バイト選択信号 326 メモリ選択信号 327 アドレスバス 430〜433 バス駆動回路 501 加算回路 502 データバス幅 503 比較回路 504 バス調停回路 505 バス状態制御部 506 更新された使用中のデータ領域 507 更新された使用中のデータ幅 301 Bus master A 302 Bus arbitration unit 303 Bus state register 304 Bus master B 305 Byte selection circuit of bus master A 306 Byte selection circuit of bus master B 310 16-bit memory 311 Bus request of bus master A 312 Requested data width of bus master A 313 To bus master A 314 Bus master A transfer end signal 315 Bus master B bus request 316 Bus master B use request data width 317 Bus master B bus license 318 Bus master B transfer end signal 319 Bus width output during use 320 Bus master A 321 Bus drive circuit control signal of bus master A 322 Bus drive circuit control signal of bus master B 323 Byte select circuit control signal of bus master B 324 SEL 325 Byte selection signal 326 Memory selection signal 327 Address bus 430 to 433 Bus driving circuit 501 Adder circuit 502 Data bus width 503 Comparison circuit 504 Bus arbitration circuit 505 Bus state controller 506 Updated data area in use 507 Updated in-use data width

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 転送中のデータ幅と、データ転送に使用
しているバスの領域を保持するレジスタと、 バスマスタから出力されるバスの転送要求と転送要求す
るデータ幅を入力し、前記レジスタに保持されたデータ
幅と前記バス転送要求幅の合計とデータバスの幅を比較
する比較回路と、 前記比較回路の出力と前記バスの転送要求から前記バス
マスタにバスの転送許諾を決定するバス調停回路と、 前記レジスタに保持されたデータ転送に使用しているバ
スの領域よりバスの未使用領域を検出するバス状態制御
部と、 前記バス状態制御部の出力により、データバスに出力す
るデータを出力するセレクタと有効領域のみバスを駆動
するバス駆動回路とを具備するバス制御回路。
1. A register for holding a data width during transfer, a bus area used for data transfer, a bus transfer request output from a bus master and a data width requested for transfer, are input to the register. A comparison circuit that compares the sum of the held data width and the bus transfer request width with the width of the data bus; and a bus arbitration circuit that determines a bus transfer permission to the bus master from the output of the comparison circuit and the bus transfer request. A bus state control unit for detecting an unused area of a bus from a bus area used for data transfer held in the register; and outputting data to be output to a data bus by an output of the bus state control unit. A bus control circuit, comprising: a selector for controlling a bus and a bus driving circuit for driving a bus only in an effective area.
【請求項2】 前記バス状態制御部は、前記バス調停回
路から出力される制御信号により接続するデータの領域
を変更することを特徴とする請求項1記載のバス制御回
路。
2. The bus control circuit according to claim 1, wherein the bus state control unit changes a data area to be connected according to a control signal output from the bus arbitration circuit.
JP33788896A 1996-12-18 1996-12-18 Bus control circuit Pending JPH10177543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33788896A JPH10177543A (en) 1996-12-18 1996-12-18 Bus control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33788896A JPH10177543A (en) 1996-12-18 1996-12-18 Bus control circuit

Publications (1)

Publication Number Publication Date
JPH10177543A true JPH10177543A (en) 1998-06-30

Family

ID=18312950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33788896A Pending JPH10177543A (en) 1996-12-18 1996-12-18 Bus control circuit

Country Status (1)

Country Link
JP (1) JPH10177543A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511828A (en) * 2003-11-13 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Electronic data processing circuit for transmitting pack words via a bus
JP2009508247A (en) * 2005-09-14 2009-02-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and system for bus arbitration
JP2009294853A (en) * 2008-06-04 2009-12-17 Fujitsu Ltd Information processing apparatus, data transferring apparatus, and data transferring method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511828A (en) * 2003-11-13 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Electronic data processing circuit for transmitting pack words via a bus
JP2009508247A (en) * 2005-09-14 2009-02-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and system for bus arbitration
JP2009294853A (en) * 2008-06-04 2009-12-17 Fujitsu Ltd Information processing apparatus, data transferring apparatus, and data transferring method

Similar Documents

Publication Publication Date Title
JP3231596B2 (en) Bus system with latency and shadow timer
US4737932A (en) Processor
KR100255551B1 (en) A method and an apparatus for enabling a processor to access an external component through a private bus or a shared bus
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
US5619661A (en) Dynamic arbitration system and method
CN1155894C (en) Enhanced bus orbitrator using variable priority and reasonableness
US5666515A (en) Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US6226702B1 (en) Bus control apparatus using plural allocation protocols and responsive to device bus request activity
KR980010805A (en) Universal Computer Architecture Processor Subsystem
KR980010806A (en) Computer system that provides a general-purpose structure adaptable to various processors and bus protocols
US6249833B1 (en) Dual bus processing apparatus wherein second control means request access of first data bus from first control means while occupying second data bus
KR980010804A (en) Signal Processing Protocol Converter between Processor and High Performance System Bus
JP2854474B2 (en) Bus use request arbitration device
JPH10177543A (en) Bus control circuit
JPH076122A (en) Method and apparatus for request of data
JPH0556548B2 (en)
JP3377797B2 (en) A method in which a first agent informs a second agent of a need for service on a bus for transferring data between a plurality of data processing agents
US6940311B2 (en) Data transmission system
JPH06282528A (en) Method and system for transfer of data
KR100340815B1 (en) Process and arrangement for operating a bus system
JP2727514B2 (en) Transfer destination ID designating circuit
JPH05282242A (en) Bus control system
EP0784819A1 (en) A cache flush mechanism for a secondary cache memory
JPS63175964A (en) Shared memory
JP2712130B2 (en) Bus arbitration method