JP2008186093A - Bus interface circuit and information processor - Google Patents

Bus interface circuit and information processor Download PDF

Info

Publication number
JP2008186093A
JP2008186093A JP2007016989A JP2007016989A JP2008186093A JP 2008186093 A JP2008186093 A JP 2008186093A JP 2007016989 A JP2007016989 A JP 2007016989A JP 2007016989 A JP2007016989 A JP 2007016989A JP 2008186093 A JP2008186093 A JP 2008186093A
Authority
JP
Japan
Prior art keywords
period
bus
data
address
interface circuit
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.)
Withdrawn
Application number
JP2007016989A
Other languages
Japanese (ja)
Inventor
Tetsuya Toi
哲也 戸井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007016989A priority Critical patent/JP2008186093A/en
Publication of JP2008186093A publication Critical patent/JP2008186093A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique capable of improving use efficiency of a bus. <P>SOLUTION: An internal processing module 311 detects the head of a first period repeated at a constant frequency. The internal processing module 311 outputs, when the head of the first period visits first after receipt of a bus use permission signal, the address of data that is a reading object to the bus 100 within a second period shorter than the first period. The module 311 inputs, after a lapse of a third period calculated by multiplying the period by a predetermined positive integer, data corresponding to the address which is output by a slave device to the bus 100 within a fourth period after reduction of the second period from the period successively to the third period. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、バスインターフェース回路および情報処理装置に関する。   The present invention relates to a bus interface circuit and an information processing apparatus.

バスに複数の装置が接続されている電子機器では、ある装置(マスタ装置)がバスの動作速度よりも動作速度の遅い他の装置(スレーブ装置)からデータの読み出しを行う場合、スレーブ装置によるデータの準備に遅れが生じることがある。その場合、バスが使用されない期間が発生するので、バスの使用効率が低下してしまう。図13は、データ伝送のタイミングチャートの例であり、読み出しの対象であるデータのアドレスが伝送されてからこのアドレスに対応するデータが伝送されるまでの間に信号が伝送されない無効サイクルが生じている様子を表している。   In an electronic device in which a plurality of devices are connected to the bus, when a device (master device) reads data from another device (slave device) whose operation speed is slower than the operation speed of the bus, the data from the slave device There may be a delay in preparation. In such a case, a period in which the bus is not used occurs, and the use efficiency of the bus decreases. FIG. 13 is an example of a timing chart of data transmission. An invalid cycle in which a signal is not transmitted occurs after an address of data to be read is transmitted until data corresponding to the address is transmitted. It shows how it is.

バスの使用効率を向上させるための技術として、例えば、特許文献1では、プロセッサに接続されたプロセッサバス、メモリに接続されたメモリバス、入出力装置に接続されたシステムバスの3つを接続する接続装置を備えた情報処理装置が開示されている。この技術によれば、プロセッサ、メモリ、入出力装置のいずれか2つが連動して動作している場合に残る1つが独立して動作できるので、バスの使用効率が向上するとされていが、バス毎の使用効率を向上させる技術は開示されていない。
特許2910303号公報
As a technique for improving the use efficiency of the bus, for example, in Patent Document 1, a processor bus connected to a processor, a memory bus connected to a memory, and a system bus connected to an input / output device are connected. An information processing apparatus including a connection device is disclosed. According to this technology, when any two of the processor, the memory, and the input / output device are operating in conjunction with each other, the remaining one can operate independently. There is no disclosure of a technique for improving the use efficiency.
Japanese Patent No. 2910303

本発明は、バスの使用効率を向上させることのできる技術の提供を目的とする。   An object of the present invention is to provide a technique capable of improving the use efficiency of a bus.

上述の課題を解決するために、請求項1に記載の発明は、バスに接続された複数の装置による該バスの使用期間が重複しないように該バスの使用期間を各装置に割り当てるバスアービタに、該バスの使用の要求を表すバス使用要求信号を送信する要求信号送信手段と、前記バスアービタが送信した前記バスの使用の許可を表すバス使用許可信号を受信する許可信号受信手段と、一定の周期で繰り返される第1の期間の先頭を検出し、前記許可信号受信手段が前記バス使用許可信号を受信してから最初に前記先頭が訪れた場合に、前記第1の期間よりも短い第2の期間内に、読み出しの対象であるデータのアドレスを前記バスに出力するアドレス出力手段と、前記第2の期間に続いて、予め定められた正の整数を前記周期に乗じた第3の期間が経過した場合に、前記第3の期間に続いて、前記周期から前記第2の期間を差し引いた第4の期間内に、前記アドレス出力手段が出力したアドレスに対応するデータであって、スレーブ装置が前記バスに出力したデータを入力するデータ入力手段とを有することを特徴とするバスインターフェース回路を提供する。   In order to solve the above-described problem, the invention according to claim 1 is directed to a bus arbiter that allocates the bus usage period to each device so that the bus usage periods of a plurality of devices connected to the bus do not overlap. A request signal transmitting means for transmitting a bus use request signal indicating a request for use of the bus; a permission signal receiving means for receiving a bus use permission signal indicating permission for use of the bus transmitted by the bus arbiter; and a constant cycle When the head is first visited after the permission signal receiving means receives the bus use permission signal, the second period shorter than the first period is detected. Within a period, there is an address output means for outputting an address of data to be read to the bus, and a third period obtained by multiplying the period by a predetermined positive integer following the second period. If there is, the slave device is data corresponding to an address output by the address output means within a fourth period obtained by subtracting the second period from the period following the third period. And a data input means for inputting data output to the bus. A bus interface circuit is provided.

請求項2に記載の発明は、請求項1に記載のバスインターフェース回路において、前記データ入力手段は、前記第3の期間に続いて、前記スレーブ装置が前記データの準備のための期間を前記第3の期間だけ延長することを要求した場合に、さらに前記第3の期間だけ待機した後、前記第4の期間内に前記データを入力することを特徴とする。   According to a second aspect of the present invention, in the bus interface circuit according to the first aspect, the data input means sets a period for the slave device to prepare the data following the third period. When it is requested to extend the period of 3, the data is input within the fourth period after waiting for the third period.

請求項3に記載の発明は、請求項2に記載のバスインターフェース回路において、前記スレーブ装置が前記データの準備のための期間を前記第3の期間だけ延長することを要求し、且つ、前記アドレス出力手段がアドレスを出力してからの経過時間が所定値に達した場合に、前記スレーブ装置に処理の中止を指示する中止指示手段を有することを特徴とする。   According to a third aspect of the present invention, in the bus interface circuit according to the second aspect, the slave device requests that the period for preparing the data be extended by the third period, and the address And a stop instructing unit for instructing the slave device to stop processing when an elapsed time after the output unit outputs the address reaches a predetermined value.

請求項4に記載の発明は、請求項1乃至3のいずれかに記載のバスインターフェース回路において、前記アドレス出力手段は、前記許可信号受信手段が前記バス使用許可信号を受信してから最初に前記先頭が訪れた場合に、前記第2の期間内に、データの書き込み先のアドレスを前記バスに出力し、前記アドレス出力手段がデータの書き込み先のアドレスを出力した前記第2の期間に続いて前記第3の期間が経過した場合に、該第3の期間に続いて、前記第4の期間内に、該アドレスに対応するデータを前記バスに出力するデータ出力手段を有することを特徴とする。   According to a fourth aspect of the present invention, in the bus interface circuit according to any one of the first to third aspects, the address output unit is configured such that the address output unit first receives the bus use permission signal after the permission signal reception unit receives the bus use permission signal. When the head arrives, the address of the data write destination is output to the bus within the second period, and the address output means outputs the address of the data write destination following the second period. And a data output means for outputting data corresponding to the address to the bus within the fourth period following the third period when the third period has elapsed. .

請求項5に記載の発明は、一定の周期で繰り返される第1の期間の先頭を検出し、前記第1の期間よりも短い第2の期間内に、マスタ装置がバスに出力したアドレスを入力するアドレス入力手段と、前記アドレス入力手段がアドレスを入力した前記第2の期間に続いて、予め定められた正の整数を前記周期に乗じた第3の期間が経過した場合に、前記第3の期間に続いて、前記周期から前記第2の期間を差し引いた第4の期間内に、該アドレスに対応するデータを前記バスに出力するデータ出力手段とを有することを特徴とするバスインターフェース回路を提供する。   The invention according to claim 5 detects the head of the first period repeated at a constant cycle, and inputs the address output by the master device to the bus within the second period shorter than the first period. And when the third period obtained by multiplying the period by a predetermined positive integer has passed after the second period in which the address is input by the address input means. And a data output means for outputting data corresponding to the address to the bus within a fourth period obtained by subtracting the second period from the period. I will provide a.

請求項6に記載の発明は、請求項5に記載のバスインターフェース回路において、前記データ出力手段は、前記第3の期間内に前記アドレスに対応するデータの出力の準備が完了しなかった場合に、該データの準備のための期間を前記第3の期間だけ延長することを前記マスタ装置に要求するとともに、さらに前記第3の期間だけ該準備を実行することを特徴とする。   According to a sixth aspect of the present invention, in the bus interface circuit according to the fifth aspect, when the data output means does not complete preparation for outputting data corresponding to the address within the third period. The master device is requested to extend the period for preparing the data by the third period, and the preparation is further executed only for the third period.

請求項7に記載の発明は、請求項6に記載のバスインターフェース回路において、前記データ出力手段は、前記マスタ装置が処理の中止を指示した場合に、前記準備のための処理を中止することを特徴とする。   According to a seventh aspect of the present invention, in the bus interface circuit according to the sixth aspect, the data output means stops the processing for the preparation when the master device instructs to stop the processing. Features.

請求項8に記載の発明は、請求項5乃至7のいずれかに記載のバスインターフェース回路において、前記アドレス入力手段が入力したアドレスがデータの書き込み先のアドレスであるか否かを判別する判別手段と、前記判別手段による判別の結果、前記アドレスがデータの書き込み先のアドレスである場合に、前記第4の期間内にマスタ装置が前記バスに出力したデータを入力するデータ入力手段を有することを特徴とする。   According to an eighth aspect of the present invention, in the bus interface circuit according to any one of the fifth to seventh aspects, the determination unit determines whether or not the address input by the address input unit is a data write destination address. And a data input means for inputting the data output to the bus by the master device within the fourth period when the address is a data write destination address as a result of the determination by the determination means. Features.

請求項9に記載の発明は、請求項1乃至4のいずれかに記載のバスインターフェース回路において、前記アドレス出力手段が、前記第2の期間の先頭から途中までの期間にアドレスの出力を行うことを特徴とする。   According to a ninth aspect of the present invention, in the bus interface circuit according to any one of the first to fourth aspects, the address output means outputs an address during a period from the beginning to the middle of the second period. It is characterized by.

請求項10に記載の発明は、請求項4乃至8のいずれかに記載のバスインターフェース回路において、前記データ出力手段が、前記第3の期間の先頭から途中までの期間にデータの出力を行うことを特徴とする。   According to a tenth aspect of the present invention, in the bus interface circuit according to any one of the fourth to eighth aspects, the data output means outputs data during a period from the beginning to the middle of the third period. It is characterized by.

請求項11に記載の発明は、データを伝送するバスと、前記バスに接続された複数の装置による前記バスの使用期間が重複しないように前記バスの使用期間を各装置に割り当てるバスアービタと、請求項1に記載のバスインターフェース回路と、請求項5に記載のバスインターフェース回路とを有することを特徴とする情報処理装置を提供する。   The invention according to claim 11 is a bus for transmitting data, a bus arbiter for allocating the use period of the bus to each device so that the use periods of the bus by a plurality of devices connected to the bus do not overlap. An information processing apparatus comprising the bus interface circuit according to claim 1 and the bus interface circuit according to claim 5 is provided.

本発明によれば、バスの使用効率を向上させることができる。   According to the present invention, the bus use efficiency can be improved.

以下、図面を参照して、本発明の実施形態について説明する。本実施形態は、本発明を情報処理装置に適用した例である。
図1は、本実施形態の全体構成を表す図である。
バス100は、情報処理装置1を構成する各装置間でのデータの遣り取りを行うための伝送路である。バス100は、アドレスを伝送するためのアドレスバスと、読み出し/書き込みの対象となるデータを伝送するためのデータバスと、各種制御信号を伝送するためのコントロールバスとからなる(図示省略)。アドレスバス、データバスおよびコントロールバスはそれぞれが複数の信号線からなり、信号線の数に応じたビット数のデータを同時に伝送することができる。
Embodiments of the present invention will be described below with reference to the drawings. The present embodiment is an example in which the present invention is applied to an information processing apparatus.
FIG. 1 is a diagram illustrating the overall configuration of the present embodiment.
The bus 100 is a transmission path for exchanging data between the devices constituting the information processing apparatus 1. The bus 100 includes an address bus for transmitting addresses, a data bus for transmitting data to be read / written, and a control bus for transmitting various control signals (not shown). Each of the address bus, the data bus, and the control bus includes a plurality of signal lines, and can simultaneously transmit data having the number of bits corresponding to the number of signal lines.

バス100には、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304、外部I/F(Interface)305、I/O(Input/Output)装置306、バスアービタ200および発振器400が接続されている。
HDD304にはOS(Operating System)等のプログラムが記憶されている。ROM302にはIPL(Initial Program Loader)が記憶されており、情報処理装置1に電源が投入されるとCPU301がIPLを実行し、OSがHDD304からRAM303上に読み出され、CPU301がOSを実行することによって情報処理装置1の各部の制御を行う。また、HDD304には、データ処理の手順を記述したプログラムが記憶されており、CPU301がこのプログラムを実行することによって、データ処理が行われる。
The bus 100 includes a central processing unit (CPU) 301, a read only memory (ROM) 302, a random access memory (RAM) 303, a hard disk drive (HDD) 304, an external interface (I / F) 305, an I / O ( Input / Output) device 306, bus arbiter 200, and oscillator 400 are connected.
The HDD 304 stores a program such as an OS (Operating System). The ROM 302 stores an IPL (Initial Program Loader). When the information processing apparatus 1 is powered on, the CPU 301 executes IPL, the OS is read from the HDD 304 onto the RAM 303, and the CPU 301 executes the OS. Thus, each part of the information processing apparatus 1 is controlled. The HDD 304 stores a program describing a data processing procedure, and the CPU 301 executes the program to perform data processing.

外部I/F305は、ネットワークNWに接続されており、情報処理装置1とネットワークNWとの間のデータの授受を仲介する。I/O装置306は、キーボード、マウス、表示装置等からなり、ユーザがI/O装置306を操作することによって、情報処理装置1に対して指示を入力することができる。   The external I / F 305 is connected to the network NW and mediates exchange of data between the information processing apparatus 1 and the network NW. The I / O device 306 includes a keyboard, a mouse, a display device, and the like, and a user can input an instruction to the information processing device 1 by operating the I / O device 306.

以下の説明では、他の装置に対してデータの読み出しまたは書き込みを要求する装置をマスタ装置、マスタ装置からの要求に応じてデータの読み出しまたは書き込みを行う装置をスレーブ装置と呼ぶ。例えば、CPU301がHDD304に対してデータの読み出しまたは書き込みを要求する場合、CPU301をマスタ装置、HDD304をスレーブ装置と呼ぶ。CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306のいずれもがマスタ装置またはスレーブ装置になり得る。
また、以下の説明では、CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306を区別する必要のない場合には、これらを単に装置300と呼ぶ。
In the following description, a device that requests data reading or writing to another device is called a master device, and a device that reads or writes data in response to a request from the master device is called a slave device. For example, when the CPU 301 requests the HDD 304 to read or write data, the CPU 301 is called a master device and the HDD 304 is called a slave device. Any of the CPU 301, the ROM 302, the RAM 303, the HDD 304, the external I / F 305, and the I / O device 306 can be a master device or a slave device.
In the following description, when it is not necessary to distinguish the CPU 301, ROM 302, RAM 303, HDD 304, external I / F 305, and I / O device 306, these are simply referred to as the device 300.

バスアービタ200は、バス100に接続された各マスタ装置にバス100の使用期間を割り当てる機能を有する。具体的には、マスタ装置がスレーブ装置からのデータの読み出しまたはスレーブ装置へのデータの書き込みを行う場合、マスタ装置はバス100の使用の要求を表すバス使用要求信号(BR信号)をコントロールバス経由でバスアービタ200に送信する。すると、バスアービタ200は、複数のマスタ装置によるバス100の使用期間が重複しないように公知の方式によって調停を行い、各マスタ装置にバス100の使用期間を割り当てる。そして、バスアービタ200は、バス100の使用の許可を表すバス使用許可信号(BG信号)を許可の対象であるマスタ装置にコントロールバス経由で送信する。マスタ装置は、BG信号を受け取った場合にバス100にアドレスやデータを出力することができる。図6は、BR信号、BG信号の伝送の様子を表すタイミングチャートである。   The bus arbiter 200 has a function of assigning a usage period of the bus 100 to each master device connected to the bus 100. Specifically, when the master device reads data from the slave device or writes data to the slave device, the master device sends a bus use request signal (BR signal) indicating a request for using the bus 100 via the control bus. To the bus arbiter 200. Then, the bus arbiter 200 performs arbitration by a known method so that the use periods of the bus 100 by a plurality of master devices do not overlap, and assigns the use period of the bus 100 to each master device. Then, the bus arbiter 200 transmits a bus use permission signal (BG signal) indicating permission of use of the bus 100 to the master device to be permitted via the control bus. The master device can output an address and data to the bus 100 when receiving the BG signal. FIG. 6 is a timing chart showing how BR signals and BG signals are transmitted.

発振器400は、バス100上のデータ伝送の動作周波数を定めるバスクロック信号BCLKをバス100を介して各装置300およびバスアービタ200に供給する。
なお、各装置300の内部におけるデータ伝送は、バスクロック信号BCLKよりも周波数の高い内部クロック信号CLKに従って行われる。
The oscillator 400 supplies a bus clock signal BCLK that determines an operating frequency of data transmission on the bus 100 to each device 300 and the bus arbiter 200 via the bus 100.
Note that data transmission in each device 300 is performed according to an internal clock signal CLK having a frequency higher than that of the bus clock signal BCLK.

図2は、バスインターフェース回路310を表す図である。すべての装置300にバスインターフェース回路310が設けられており、各装置300はそれぞれバスインターフェース回路310を介してバス100に接続されている。
内部処理モジュール311は、バス100の使用の要求を表すバス使用要求信号(BR信号)をバスアービタ200に送信する。また、内部処理モジュール311は、スレーブ装置が送信したデータを入力段FIFO(First-In First-Out)330を介してバス100から入力し、入力したデータを用いて所定の処理を行う。また、内部処理モジュール311は、スレーブ装置に送信するデータを出力段FIFO320を介してバス100に出力する。また、内部処理モジュール311は、バスクロック信号BCLKをカウントするカウンタを備えている。
有効アドレス生成器312は、読み出しまたは書き込みの対象であるデータのスレーブ装置におけるアドレスを生成する。
FIG. 2 is a diagram illustrating the bus interface circuit 310. All devices 300 are provided with a bus interface circuit 310, and each device 300 is connected to the bus 100 via the bus interface circuit 310.
The internal processing module 311 transmits a bus use request signal (BR signal) indicating a request for using the bus 100 to the bus arbiter 200. The internal processing module 311 inputs data transmitted from the slave device from the bus 100 via an input stage FIFO (First-In First-Out) 330, and performs predetermined processing using the input data. The internal processing module 311 outputs data to be transmitted to the slave device to the bus 100 via the output stage FIFO 320. The internal processing module 311 includes a counter that counts the bus clock signal BCLK.
The effective address generator 312 generates an address in the slave device of data to be read or written.

出力段FIFO320は、内部処理モジュール311が出力したアドレス、データ等を格納し、内部処理モジュール311が出力を指示した場合に、格納時期の最も古いアドレス、データ等をバッファ321を介してバス100に出力する。
入力段FIFO330は、内部処理モジュール311がデータの入力を指示した場合に、バス100からバッファ331を介してデータを取り込み、内部処理モジュール311に転送する。
アドレスデコーダ340は、バス100からアドレスを入力し、入力したアドレスが自局のアドレスに対応するか否かを判定し、自局のアドレスに対応する場合にはその旨を内部処理モジュール311に通知する。
The output stage FIFO 320 stores the address, data, and the like output from the internal processing module 311. When the internal processing module 311 instructs the output, the output stage FIFO 320 stores the address, data, etc. with the oldest storage time to the bus 100 via the buffer 321. Output.
The input stage FIFO 330 takes in data from the bus 100 via the buffer 331 and transfers it to the internal processing module 311 when the internal processing module 311 instructs to input data.
The address decoder 340 inputs an address from the bus 100, determines whether or not the input address corresponds to the address of its own station, and if it corresponds to the address of its own station, notifies the internal processing module 311 to that effect. To do.

図3は、バス100上でアドレスを伝送する期間とそれに対応するデータを伝送する期間との関係を表す図である。図4は、バス100上のデータ伝送のタイミングチャートである。本実施形態では、バスクロック信号BCLKの7クロック分の期間をスロット(第1の期間)と呼び、7クロック周期でスロットの先頭が訪れる。また、各スロットの先頭から2クロック分の期間を第2の期間と呼び、第2の期間に続く2スロット分(=14クロック分)の期間を第3の期間と呼び、第3の期間に続く5クロック分の期間を第4の期間と呼ぶ。つまり、連続する3スロット分の期間は、順に第2の期間、第3の期間および第4の期間から構成されている。   FIG. 3 is a diagram illustrating a relationship between a period for transmitting an address on the bus 100 and a period for transmitting data corresponding thereto. FIG. 4 is a timing chart of data transmission on the bus 100. In the present embodiment, a period of 7 clocks of the bus clock signal BCLK is called a slot (first period), and the head of the slot comes at a cycle of 7 clocks. Also, a period of 2 clocks from the beginning of each slot is called a second period, a period of 2 slots (= 14 clocks) following the second period is called a third period, The subsequent period of 5 clocks is called a fourth period. That is, a period corresponding to three consecutive slots is composed of a second period, a third period, and a fourth period in order.

本実施形態では、図3に示すとおり、あるデータのアドレスをマスタ装置からスレーブ装置に送信した場合、当該アドレスに対応するデータの伝送を当該アドレスが伝送されたスロット内では行わず、当該スロットから所定のオフセット値だけ後ろのスロット内で行う。本実施形態では、オフセット値n=2とする。すなわち、図3において、アドレスaに対応するデータaの伝送は、アドレスaが伝送されたスロットから2スロットだけ後ろのスロット内で行う。   In the present embodiment, as shown in FIG. 3, when an address of certain data is transmitted from the master device to the slave device, data corresponding to the address is not transmitted in the slot in which the address is transmitted, but from the slot. This is done in the slot behind by a predetermined offset value. In the present embodiment, the offset value n = 2. That is, in FIG. 3, transmission of data a corresponding to address a is performed in a slot that is two slots behind the slot in which address a was transmitted.

さらに、本実施形態では、信号の衝突を防止するために、アドレスもデータも伝送しない期間を設けている。具体的には以下のとおりである。ある装置300がバス100に信号を出力した直後に他の装置300がバスに信号を出力すると、バス100の信号線を駆動する駆動素子がワイヤードORである場合を除いて、図5の×印で示すようにバス100上で2つの信号が衝突し、伝送に障害が生じることがある。このような事態を防ぐためには、図5の○印で示すように、アドレスを伝送する期間とデータを伝送する期間との間にアドレスもデータも伝送しない期間を設ければよい。本実施形態では、図4に示すとおり、第2の期間の最初の1クロック分の期間をアドレスを伝送するアドレスサイクルとし、それに続く1クロック分の期間をターンオフサイクルとする。ターンオフサイクルは、バス上で信号が衝突することを防ぐために信号の伝送を行わない期間である。また、第4の期間の最初の4クロック分の期間をデータを伝送するデータサイクルとし、それに続く1クロック分の期間をターンオフサイクルとする。   Furthermore, in this embodiment, a period in which neither an address nor data is transmitted is provided in order to prevent signal collision. Specifically, it is as follows. When one device 300 outputs a signal to the bus 100 immediately after another device 300 outputs a signal to the bus 100, the X mark in FIG. 5 is used unless the drive element that drives the signal line of the bus 100 is a wired OR. As shown in FIG. 2, there are cases where two signals collide on the bus 100 and a failure occurs in transmission. In order to prevent such a situation, a period in which neither an address nor data is transmitted may be provided between an address transmission period and a data transmission period, as indicated by a circle in FIG. In the present embodiment, as shown in FIG. 4, the first one clock period of the second period is an address cycle for transmitting an address, and the subsequent one clock period is a turn-off cycle. The turn-off cycle is a period in which signal transmission is not performed in order to prevent signals from colliding on the bus. Further, the first four clock periods of the fourth period are set as data cycles for transmitting data, and the subsequent one clock period is set as a turn-off cycle.

アドレスの伝送終了からそのアドレスに対応するデータの伝送開始までの遅延クロック数は次式によって求められる。
(アドレス伝送からデータ伝送までの遅延クロック数d)
=(スロットサイズm)×(オフセット値n)+(ターンオフサイクル) 式(1)
本実施形態では、m=7、n=2であるから、d=15である。すなわち、アドレスの伝送終了から15クロック経過後、当該アドレスに対応するデータの伝送を開始する。
The number of delay clocks from the end of address transmission to the start of data transmission corresponding to that address is obtained by the following equation.
(Number of delay clocks d from address transmission to data transmission)
= (Slot size m) x (offset value n) + (turn-off cycle) Equation (1)
In this embodiment, since m = 7 and n = 2, d = 15. That is, after 15 clocks have elapsed from the end of address transmission, data transmission corresponding to the address is started.

図4は、CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306の各々がマスタ装置である場合のデータ伝送の様子を表している。ここで、各装置300は、バスアービタ200による調停に従ってアドレスを送信するから、同一スロット内で2つ以上の装置300からアドレスが送信されることは起こらない。そして、各アドレスに対応するデータの伝送は対応するアドレスから常に所定の遅延クロック数だけ遅延されて開始されるから、同一スロット内で2つの装置300からデータが送信されることは起こらない。従って、図4の301乃至306を重ね合わせると、ALLで示されるように、バス100上ではアドレスの伝送とデータの伝送とが一定の周期で繰り返し行われるようになる。つまり、本実施形態では、アドレスの伝送から当該アドレスに対応するデータの伝送までに遅延クロック数dだけの遅延が発生するものの、バス100のスループット、すなわち単位時間あたりのデータ伝送量の実効値は、本構成を有しない場合と比較して高く保たれるのである。   FIG. 4 shows a state of data transmission when each of the CPU 301, ROM 302, RAM 303, HDD 304, external I / F 305, and I / O device 306 is a master device. Here, since each device 300 transmits an address according to the arbitration by the bus arbiter 200, the address is not transmitted from two or more devices 300 in the same slot. Since transmission of data corresponding to each address is always started after being delayed by a predetermined number of delay clocks from the corresponding address, data is not transmitted from the two devices 300 in the same slot. Therefore, when 301 to 306 in FIG. 4 are overlapped, as shown by ALL, address transmission and data transmission are repeatedly performed on the bus 100 at a constant cycle. That is, in this embodiment, although a delay of the delay clock number d occurs from the transmission of the address to the transmission of the data corresponding to the address, the throughput of the bus 100, that is, the effective value of the data transmission amount per unit time is Therefore, it is kept high compared to the case without this configuration.

次に、バスインターフェース回路310の動作について説明する。
ここで、情報処理装置1には電源が投入されており、CPU301がOS等のプログラムを実行中である。
図8は、マスタ装置としての装置300がスレーブ装置としての装置300にデータの読み出しまたは書き込みを要求する場合のマスタ装置におけるバスインターフェース回路310の動作のフローを表す図である。マスタ装置は例えばCPU301、スレーブ装置は例えばHDD304である。
Next, the operation of the bus interface circuit 310 will be described.
Here, the information processing apparatus 1 is powered on, and the CPU 301 is executing a program such as an OS.
FIG. 8 is a diagram illustrating an operation flow of the bus interface circuit 310 in the master device when the device 300 as the master device requests the device 300 as the slave device to read or write data. The master device is, for example, the CPU 301, and the slave device is, for example, the HDD 304.

まず、ステップS01では、内部処理モジュール311が、バス使用要求信号(BR信号)をバス100を介してバスアービタ200に送信する。また、有効アドレス生成器312が読み出しまたは書き込みの対象であるデータのスレーブ装置におけるアドレスを生成し、このアドレスを出力段FIFO320に出力する。また、内部処理モジュール311は、読み出し/書き込みの区別を表す識別信号を出力段FIFO320に出力する。   First, in step S01, the internal processing module 311 transmits a bus use request signal (BR signal) to the bus arbiter 200 via the bus 100. The effective address generator 312 generates an address in the slave device of data to be read or written, and outputs this address to the output stage FIFO 320. Further, the internal processing module 311 outputs an identification signal indicating the read / write distinction to the output stage FIFO 320.

BR信号を受信したバスアービタ200は、複数のマスタ装置によるバス100の使用期間が重複しないように調停を行い、各マスタ装置にバス100の使用期間を割り当てる。そして、バスアービタ200は、バス使用許可信号(BG信号)を許可の対象であるマスタ装置に送信する。   The bus arbiter 200 that has received the BR signal performs arbitration so that the use periods of the bus 100 by a plurality of master devices do not overlap, and assigns the use period of the bus 100 to each master device. Then, the bus arbiter 200 transmits a bus use permission signal (BG signal) to the master device to be permitted.

ステップS02では、内部処理モジュール311がバス使用許可信号(BG信号)を受信するまで待機する。BG信号を受信した場合(ステップS02:YES)には、ステップS03に進む。
ステップS03では、内部処理モジュール311がカウンタをリセットし、バスクロック信号BCLKのカウントを開始する。
ステップS04では、内部処理モジュール311がスロットの先頭が訪れるまで待機する。スロットの先頭が訪れると(ステップS04:YES)、ステップS05に進む。
In step S02, the process waits until the internal processing module 311 receives a bus use permission signal (BG signal). When the BG signal is received (step S02: YES), the process proceeds to step S03.
In step S03, the internal processing module 311 resets the counter and starts counting the bus clock signal BCLK.
In step S04, the internal processing module 311 waits until the head of the slot comes. When the head of the slot comes (step S04: YES), the process proceeds to step S05.

ステップS05では、内部処理モジュール311が、アドレスと識別信号を出力するよう出力段FIFO320に命ずる。すると、出力段FIFO320は、アドレスと識別信号とをバッファ321を介してバス100に出力する。
ステップS06では、当該要求がデータの読み出しの要求である場合には、内部処理モジュール311がカウンタをリセットし、バスクロック信号BCLKのカウントを開始する。一方、当該要求がデータの書き込みの要求である場合には、内部処理モジュール311が書き込み対象のデータを出力段FIFO320に出力し、カウンタをリセットし、バスクロック信号BCLKのカウントを開始する。
ステップS07では、所定の遅延クロック数に達するまで待機し、所定の遅延クロック数に達したならば(ステップS07:YES)、ステップS08に進む。
In step S05, the internal processing module 311 instructs the output stage FIFO 320 to output an address and an identification signal. Then, the output stage FIFO 320 outputs the address and the identification signal to the bus 100 via the buffer 321.
In step S06, if the request is a data read request, the internal processing module 311 resets the counter and starts counting the bus clock signal BCLK. On the other hand, if the request is a data write request, the internal processing module 311 outputs the data to be written to the output stage FIFO 320, resets the counter, and starts counting the bus clock signal BCLK.
In step S07, the process waits until the predetermined delay clock number is reached. If the predetermined delay clock number is reached (step S07: YES), the process proceeds to step S08.

ステップS08では、内部処理モジュール311が、スレーブ装置に対する要求が読み出し/書き込みのどちらであるかを判別する。読み出しの要求である場合(ステップS08:YES)には、ステップS10に進み、書き込みの要求である場合(ステップS08:NO)には、ステップS09に進む。
ステップS09では、内部処理モジュール311は、書き込み対象のデータを出力するよう出力段FIFO320に命ずる。すると、出力段FIFO320は、書き込み対象のデータをバッファ321を介してバス100に出力する。
一方、ステップS10では、内部処理モジュール311は、読み出し対象のデータをバス100からバッファ331を介して入力段FIFO330に取り込む。なお、ステップS10では、読み出し対象のデータが取り込まれない場合がある。これについては、スレーブ装置における処理が関連するので、後述する。
In step S08, the internal processing module 311 determines whether the request to the slave device is read / write. If it is a read request (step S08: YES), the process proceeds to step S10, and if it is a write request (step S08: NO), the process proceeds to step S09.
In step S09, the internal processing module 311 instructs the output stage FIFO 320 to output data to be written. Then, the output stage FIFO 320 outputs the write target data to the bus 100 via the buffer 321.
On the other hand, in step S <b> 10, the internal processing module 311 takes in data to be read from the bus 100 to the input stage FIFO 330 via the buffer 331. In step S10, data to be read may not be captured. Since this is related to processing in the slave device, it will be described later.

ここで、スレーブ装置が行う処理について説明する。図9は、スレーブ装置におけるバスインターフェース回路310の動作のフローを表す図である。
ステップB01では、アドレスデコーダ340が、図4に示したスロットの先頭が到来する度に、バス100からアドレスと識別信号とを取り込む。
ステップB02では、アドレスデコーダ340が、取り込んだアドレスが自局に対応するアドレスであるか否かを判定する。自局に対応するアドレスである場合(ステップB02:YES)にはその旨を内部処理モジュール311に通知し、ステップS03に進む。自局に対応するアドレスでない場合(ステップB02:NO)、ステップB01にもとる。
ステップB03では、内部処理モジュール311が、マスタ装置からの要求が読み出し/書き込みのどちらであるかを識別信号によって判別する。書き込みの要求の場合(ステップB03:YES)にはステップB04に進み、読み出しの要求の場合(ステップB03:NO)にはステップB05に進む。
Here, processing performed by the slave device will be described. FIG. 9 is a diagram illustrating an operation flow of the bus interface circuit 310 in the slave device.
In step B01, the address decoder 340 fetches an address and an identification signal from the bus 100 every time the head of the slot shown in FIG.
In step B02, the address decoder 340 determines whether or not the fetched address is an address corresponding to the own station. If it is an address corresponding to the own station (step B02: YES), the internal processing module 311 is notified to that effect, and the process proceeds to step S03. If the address does not correspond to the own station (step B02: NO), the process is also taken to step B01.
In step B03, the internal processing module 311 determines whether the request from the master device is read / write based on the identification signal. In the case of a write request (step B03: YES), the process proceeds to step B04. In the case of a read request (step B03: NO), the process proceeds to step B05.

ステップB04では、データの書き込みのための処理を行う。図10は、図9のステップB04における処理のフローを表す図である。
ステップC01では、内部処理モジュール311が、カウンタをリセットしてバスクロック信号BCLKのカウントを開始する。
ステップC02では、内部処理モジュール311が、所定の遅延クロック数に達するまで待機する。この遅延クロック数は、マスタ装置の説明における遅延クロック数と同じである。所定の遅延クロック数に達したならば(ステップC02:YES)、ステップC03に進む。
In step B04, a process for writing data is performed. FIG. 10 is a diagram showing the flow of processing in step B04 in FIG.
In step C01, the internal processing module 311 resets the counter and starts counting the bus clock signal BCLK.
In step C02, the internal processing module 311 waits until a predetermined number of delay clocks is reached. This delay clock number is the same as the delay clock number in the description of the master device. If the predetermined number of delay clocks has been reached (step C02: YES), the process proceeds to step C03.

ステップC03では、内部処理モジュール311は、バスクロック信号BCLKに従った速度で、書き込み対象のデータをバス100からバッファ331を介して入力段FIFO330に取り込む。そして、入力段FIFO330が、取り込んだデータを内部クロック信号CLKに従った速度で内部処理モジュール311に転送する。
ステップC04では、内部処理モジュール311が、取り込まれたデータが有効なデータであるか否かを判定する。ここで、「有効なデータ」とは、スレーブ装置が処理の対象とするデータである。取り込まれたデータが有効なデータである場合(ステップC04:YES)には、処理を終了する。一方、有効なデータでない場合(ステップC04:NO)には、ステップC01以降の処理を繰り返す。
In step C03, the internal processing module 311 fetches data to be written from the bus 100 to the input stage FIFO 330 via the buffer 331 at a speed according to the bus clock signal BCLK. Then, the input stage FIFO 330 transfers the fetched data to the internal processing module 311 at a speed according to the internal clock signal CLK.
In step C04, the internal processing module 311 determines whether the fetched data is valid data. Here, “valid data” is data to be processed by the slave device. If the fetched data is valid data (step C04: YES), the process ends. On the other hand, if the data is not valid (step C04: NO), the processing after step C01 is repeated.

図9の説明に戻り、ステップB05以降の処理について説明する。
ステップB05では、内部処理モジュール311が、マスターキャンセル信号が受信されたか否かを判定する。マスターキャンセル信号は、スレーブ装置におけるデータの読み出しが所定期間内に行われなかった場合にマスタ装置からスレーブ装置に送信される信号である。詳しくは、後述する。ここでは、まず、マスターキャンセル信号が受信されなかった場合(ステップB05:NO)、すなわちステップB07の処理について説明する。
Returning to the description of FIG. 9, the processing after step B05 will be described.
In step B05, the internal processing module 311 determines whether a master cancel signal has been received. The master cancel signal is a signal transmitted from the master device to the slave device when data reading in the slave device is not performed within a predetermined period. Details will be described later. Here, first, the case where the master cancel signal is not received (step B05: NO), that is, the process of step B07 will be described.

ステップB07では、内部処理モジュール311は、データの読み出しのための処理を行う。図11は、図9のステップB07における処理のフローを表す図である。
ステップD01では、内部処理モジュール311が、読み出しを要求されたデータの出力の準備を開始する。例えばスレーブ装置がHDD304である場合、図9のステップB01で取り込んだアドレスに対応するデータを磁気ディスクの記録面から読み出すための処理を行う。
ステップD02では、内部処理モジュール311が、カウンタをリセットしてバスクロック信号BCLKのカウントを開始する。
In step B07, the internal processing module 311 performs processing for reading data. FIG. 11 is a diagram showing the flow of processing in step B07 in FIG.
In step D01, the internal processing module 311 starts preparation for output of data requested to be read. For example, when the slave device is the HDD 304, processing for reading data corresponding to the address fetched in step B01 in FIG. 9 from the recording surface of the magnetic disk is performed.
In step D02, the internal processing module 311 resets the counter and starts counting the bus clock signal BCLK.

ステップD03では、内部処理モジュール311が、所定の遅延クロック数に達するまで待機する。この遅延クロック数は、マスタ装置の説明における遅延クロック数と同じである。所定の遅延クロック数に達したならば(ステップD03:YES)、ステップD04に進む。
ステップD04では、要求されたデータの準備が完了しているか否かを判定する。データの準備が完了しているならば(ステップD04:YES)、ステップD05に進み、データの準備が完了していないならば(ステップD04:NO)、ステップD06に進む。
ステップD05では、内部処理モジュール311が、準備されたデータを出力段FIFO320に出力し、バスクロック信号BCLKに従った速度でバッファ321を介してバス100に出力する。
In step D03, the internal processing module 311 waits until a predetermined number of delay clocks is reached. This delay clock number is the same as the delay clock number in the description of the master device. If the predetermined number of delay clocks has been reached (step D03: YES), the process proceeds to step D04.
In step D04, it is determined whether or not the requested data has been prepared. If the data preparation is complete (step D04: YES), the process proceeds to step D05. If the data preparation is not complete (step D04: NO), the process proceeds to step D06.
In step D05, the internal processing module 311 outputs the prepared data to the output stage FIFO 320 and outputs it to the bus 100 via the buffer 321 at a speed according to the bus clock signal BCLK.

一方、ステップD06では、内部処理モジュール311が、Retry応答をマスタ装置に送信する。ここで、Retry応答とは、データの読み出しのための期間の延長をマスタ装置に要求するものである。具体的には、バス100のコントロールバスには、通常L(Low)レベルのValid信号が流されている。Retry(1)応答の際には、図7のタイミングチャートに示すように、データサイクルの先頭の1クロック分の期間だけValid信号をH(High)レベルにする。当該データサイクルは、有効なデータが伝送されない無効データサイクルとなる。その後、内部処理モジュール311が、ステップD02以降の処理を繰り返す。   On the other hand, in step D06, the internal processing module 311 transmits a Retry response to the master device. Here, the Retry response is to request the master device to extend the period for reading data. Specifically, a valid signal of a normal L (Low) level is supplied to the control bus of the bus 100. In the case of the Retry (1) response, as shown in the timing chart of FIG. 7, the Valid signal is set to the H (High) level only for the period corresponding to the first clock of the data cycle. The data cycle is an invalid data cycle in which valid data is not transmitted. Thereafter, the internal processing module 311 repeats the processing after step D02.

次に、図8に戻り、ステップS11以降の処理について説明する。
ステップS11では、内部処理モジュール311が、バス100から有効なデータが取り込まれたか否かを判定する。上述のとおり、所定の遅延クロック数に達するまでにデータの準備が完了しなかった場合、スレーブ装置はデータサイクルの先頭においてValid信号をHレベルにする。内部処理モジュール311は、データサイクルの先頭においてValid信号がHレベルである場合に、有効なデータが取り込まれなかったと判定する。有効なデータが取り込まれた場合(ステップS11:YES)には、処理を終了する。一方、有効なデータが取り込まれなかった場合(ステップS11:NO)には、ステップS12に進む。
Next, returning to FIG. 8, the processing after step S11 will be described.
In step S <b> 11, the internal processing module 311 determines whether valid data has been fetched from the bus 100. As described above, when data preparation is not completed before the predetermined number of delay clocks is reached, the slave device sets the Valid signal to the H level at the beginning of the data cycle. The internal processing module 311 determines that valid data has not been captured when the Valid signal is at the H level at the beginning of the data cycle. If valid data has been taken in (step S11: YES), the process ends. On the other hand, when valid data is not captured (step S11: NO), the process proceeds to step S12.

ステップS12では、内部処理モジュール311が、スレーブ装置にアドレスを送信してからの経過時間が所定値に達したか否かを判定する。図11で示したとおり、スレーブ装置は、マスタ装置から要求されたデータの準備が所定の遅延クロック数に達するまでに完了しなかった場合、Retry応答を発し、データの準備のための処理を無限に続けるようになっている。処理が無限に続くこと避けるために本実施形態では以下の処理を行う。すなわち、経過時間が所定値に達していない場合(ステップS12:NO)には、ステップS06以降の処理を繰り返し、経過時間が所定値に達している場合(ステップS12:YESには、ステップS13に進む。
ステップS13では、内部処理モジュール311が、BR信号を再度、バスアービタ200に送信する。
In step S12, the internal processing module 311 determines whether or not the elapsed time after transmitting the address to the slave device has reached a predetermined value. As shown in FIG. 11, when the preparation of the data requested from the master device is not completed before the predetermined delay clock number is reached, the slave device issues a Retry response, and the process for preparing the data is infinite. To continue to. In this embodiment, the following processing is performed in order to avoid infinite processing. In other words, when the elapsed time has not reached the predetermined value (step S12: NO), the processing after step S06 is repeated, and when the elapsed time has reached the predetermined value (step S12: YES, the process goes to step S13). move on.
In step S <b> 13, the internal processing module 311 transmits the BR signal to the bus arbiter 200 again.

ステップS14では、内部処理モジュール311が、BG信号を受信するまで待機する。BG信号を受信したならば(ステップS14:YES)、ステップS15に進む。
ステップS15では、内部処理モジュール311が、カウンタをリセットしてバスクロック信号BCLKのカウントを開始する。
ステップS16では、内部処理モジュール311が、スロットの先頭が到来するまで待機し、スロットの先頭が到来したならば(ステップS16:YES)、ステップS17に進む。
ステップS17では、内部処理モジュール311が、マスターキャンセル信号をスレーブ装置に送信し、処理を終了する。マスターキャンセル信号は、図7のタイミングチャートに示すとおり、アドレスサイクルにおいてValid信号をHレベルにすることによって送信される。
In step S14, the internal processing module 311 waits until it receives a BG signal. If the BG signal is received (step S14: YES), the process proceeds to step S15.
In step S15, the internal processing module 311 resets the counter and starts counting the bus clock signal BCLK.
In step S16, the internal processing module 311 waits until the beginning of the slot arrives. If the beginning of the slot has arrived (step S16: YES), the process proceeds to step S17.
In step S17, the internal processing module 311 transmits a master cancel signal to the slave device, and ends the process. As shown in the timing chart of FIG. 7, the master cancel signal is transmitted by setting the Valid signal to the H level in the address cycle.

次に、マスタ装置が送信したマスターキャンセル信号をスレーブ装置が受信した場合について説明する。スレーブ装置のバスインターフェース回路310では、内部処理モジュール311が、アドレスサイクルにおいてValid信号がHレベルである場合に、マスターキャンセル信号を受信したと判断し(図9、ステップB05:YES)、ステップB06に進む。ステップB06では、内部処理モジュール311が、データの読み出しのための処理を中止する。   Next, a case where the slave device receives a master cancel signal transmitted by the master device will be described. In the bus interface circuit 310 of the slave device, the internal processing module 311 determines that the master cancel signal has been received when the Valid signal is at the H level in the address cycle (FIG. 9, step B05: YES), and proceeds to step B06. move on. In step B06, the internal processing module 311 stops the process for reading data.

図14は、本実施形態の構成において、バーストサイズ4/8/16サイクルでスロットのオフセット値nを変化させた場合のバス使用効率(%)のシミュレーション結果である。この結果によると、バーストサイズ4/8サイクルではオフセット値が2の場合に、バーストサイズ16サイクルではオフセット値が1の場合に遅延時間が最小で、スループットが最大になることが判る。   FIG. 14 is a simulation result of bus utilization efficiency (%) when the slot offset value n is changed in a burst size of 4/8/16 cycles in the configuration of the present embodiment. According to this result, it can be seen that the delay time is minimum and the throughput is maximum when the offset value is 2 in the burst size 4/8 cycle and the offset value is 1 in the burst size 16 cycles.

<変形例>
以上説明した形態に限らず、本発明は種々の形態で実施可能である。例えば、上述の実施形態を以下のように変形した形態でも実施可能である。
<変形例1>
上記の実施形態ではデータサイクルの先頭においてValid信号をHレベルにすることによってRetry応答を表す例を示したが、データサイクルの直前に1クロック分の期間を設け、後続のデータサイクルで有効なデータが送信されるか否かを表す信号をスレーブ装置がこの期間に送信するようにしてもよい。図12に示す例では、8クロック分の期間を1スロットとし、アドレスサイクル、ターンオフサイクルに続いて、ヘッダを送信するためのヘッダサイクルを設けている。そして、例えば、有効なデータを送信する場合にはヘッダの値を「0」とし、有効なデータを送信しない場合にはヘッダの値を「1」とする。マスタ装置は、ヘッダが「1」である場合に、Retry応答が送信されたと判断する。
この構成によれば、Valid信号専用の信号線を設ける必要がなくなるので、情報処理装置1の構成を簡素化することができる。
<Modification>
The present invention is not limited to the form described above, and can be implemented in various forms. For example, the embodiment described above can be modified as follows.
<Modification 1>
In the above embodiment, the Retry response is expressed by setting the Valid signal to the H level at the beginning of the data cycle. However, a period of one clock is provided immediately before the data cycle, and valid data in the subsequent data cycle The slave device may transmit a signal indicating whether or not is transmitted during this period. In the example shown in FIG. 12, a period of 8 clocks is set as one slot, and a header cycle for transmitting a header is provided following the address cycle and the turn-off cycle. For example, the header value is “0” when valid data is transmitted, and the header value is “1” when valid data is not transmitted. When the header is “1”, the master device determines that the Retry response has been transmitted.
According to this configuration, there is no need to provide a signal line dedicated to the Valid signal, and the configuration of the information processing apparatus 1 can be simplified.

<変形例2>
また、アドレスサイクルに送信するアドレスのビット数がバス100の信号線数よりも少ない場合(例えば、アドレス30ビットに対して、信号線が32本の場合等)は、余剰の信号線を用いてValid信号を送信するようにしてもよい。
例えば、処理を中止しない場合は「0」の値を、処理を中止する場合は「1」の値を送信する。スレーブ装置は当該Valid情報が「1」である場合に、マスタキャンセル信号が送信されたと判断する。
このようにすれば、Valid信号専用の信号線を設ける必要がなくなるので、情報処理装置1の構成を簡素化することができる。
<Modification 2>
Further, when the number of address bits transmitted in the address cycle is smaller than the number of signal lines of the bus 100 (for example, when there are 32 signal lines for 30 bits of address), an extra signal line is used. A Valid signal may be transmitted.
For example, the value “0” is transmitted when the process is not stopped, and the value “1” is transmitted when the process is stopped. If the valid information is “1”, the slave device determines that the master cancel signal has been transmitted.
In this way, it is not necessary to provide a signal line dedicated to the Valid signal, so that the configuration of the information processing apparatus 1 can be simplified.

<変形例3>
スロット、アドレスサイクル、データサイクル、ターンオフサイクルの長さを、扱うデータの種類、装置の構成等、諸条件に応じて適宜変更してもよい。
また、バス100に接続する装置の数は2つ以上ならばいくつでもよい。
<Modification 3>
The length of the slot, address cycle, data cycle, and turn-off cycle may be changed as appropriate according to various conditions such as the type of data to be handled and the configuration of the apparatus.
Further, the number of devices connected to the bus 100 is not limited as long as it is two or more.

<変形例4>
上記の実施形態ではターンオフサイクルを設ける例を示したが、ターンオフサイクルを設けない構成としてもよい。また、アドレスサイクルの後、またはデータサイクルの後のいずれかにターンオフサイクルを設ける構成としてもよい。
<Modification 4>
In the above embodiment, an example in which a turn-off cycle is provided has been described, but a configuration in which a turn-off cycle is not provided may be employed. Alternatively, a turn-off cycle may be provided either after the address cycle or after the data cycle.

<変形例5>
上記の実施形態ではバス100に接続された各装置300がマスタ装置とスレーブ装置の両方の機能を有する例を示したが、すべての装置300がマスタ装置とスレーブ装置の両方の機能を有している必要はなく、ある装置300がマスタ装置としての機能だけを有し、他の装置300がスレーブ装置としての機能だけを有していてもよい。つまり、バス100にマスタ装置とスレーブ装置がそれぞれ1つ以上接続されていればよい。
また、マスタ装置がスレーブ装置に対して書き込みの要求だけを行い、かつ、スレーブ装置がマスタ装置からの要求に応じた書き込みだけを行うようにしてもよい。この場合、マスタ装置による識別信号の出力、および、スレーブ装置が識別信号に基づいて読み出し/書き込みを判別する処理は行わなくてよい。
<Modification 5>
In the above embodiment, each device 300 connected to the bus 100 has the function of both the master device and the slave device. However, all the devices 300 have the functions of both the master device and the slave device. It is not necessary that a certain device 300 has only a function as a master device, and another device 300 has only a function as a slave device. That is, one or more master devices and slave devices may be connected to the bus 100.
Alternatively, the master device may only make a write request to the slave device, and the slave device may only make a write in response to a request from the master device. In this case, the output of the identification signal by the master device and the processing for the slave device to determine read / write based on the identification signal may not be performed.

<変形例6>
上記の実施形態では読み出し/書き込みの区別を表す識別信号をマスタ装置がコントロールバス経由でスレーブ装置に送信する例を示したが、例えばアドレスサイクルの前または後に1クロック分の期間を設け、この期間に読み出し/書き込みの区別を表すデータを送信するようにしてもよい。
<Modification 6>
In the above embodiment, an example in which the master device transmits the identification signal indicating the read / write distinction to the slave device via the control bus has been described. For example, a period of one clock is provided before or after the address cycle, and this period The data indicating the read / write distinction may be transmitted to.

<変形例7>
上記の実施形態では本発明を情報処理装置に適用した例を示したが、画像処理装置、画像形成装置、通信装置、表示装置、音響装置等、装置内部で複数の装置がバスを介してデータの遣り取りを行う装置であれば、本発明をいかなる電子機器に適用してもよい。
<Modification 7>
In the above-described embodiment, an example in which the present invention is applied to an information processing apparatus has been described. The present invention may be applied to any electronic device as long as it is a device that exchanges information.

実施形態の全体構成を表す図である。It is a figure showing the whole structure of embodiment. バスインターフェース回路310を表す図である。3 is a diagram illustrating a bus interface circuit 310. FIG. オフセット値nが2の場合のデータ伝送の様子を表す図である。It is a figure showing the mode of data transmission in case offset value n is 2. FIG. バス100上のデータ伝送のタイミングチャートである。3 is a timing chart of data transmission on the bus 100. ターンオフサイクルを表す図である。It is a figure showing a turn-off cycle. BR信号、BG信号を表す図である。It is a figure showing BR signal and BG signal. Valid信号を表す図である。It is a figure showing a Valid signal. マスタ装置におけるバスインターフェース回路310の動作のフローを表す図である。It is a figure showing the flow of operation | movement of the bus interface circuit 310 in a master apparatus. スレーブ装置におけるバスインターフェース回路310の動作のフローを表す図である。It is a figure showing the flow of operation | movement of the bus interface circuit 310 in a slave apparatus. 図9のステップB04における処理のフローを表す図である。It is a figure showing the flow of a process in step B04 of FIG. 図9のステップB07における処理のフローを表す図である。It is a figure showing the flow of a process in step B07 of FIG. ヘッダサイクルを表す図である。It is a figure showing a header cycle. 従来のデータ伝送のタイミングチャートである。It is a timing chart of conventional data transmission. バス使用効率のシミュレーション結果である。It is a simulation result of bus use efficiency.

符号の説明Explanation of symbols

1…情報処理装置、100…バス、200…バスアービタ、300…装置、301…CPU、302…ROM、303…RAM、304…HDD、305…外部I/F、306…I/O装置、400…発振器、310…バスインターフェース回路、311…内部処理モジュール、312…有効アドレス生成器、320…出力段FIFO、321…バッファ、330…入力段FIFO、331…バッファ、340…アドレスデコーダ。   DESCRIPTION OF SYMBOLS 1 ... Information processing apparatus, 100 ... Bus, 200 ... Bus arbiter, 300 ... Device, 301 ... CPU, 302 ... ROM, 303 ... RAM, 304 ... HDD, 305 ... External I / F, 306 ... I / O device, 400 ... Oscillator 310 ... Bus interface circuit, 311 ... Internal processing module, 312 ... Effective address generator, 320 ... Output stage FIFO, 321 ... Buffer, 330 ... Input stage FIFO, 331 ... Buffer, 340 ... Address decoder.

Claims (11)

バスに接続された複数の装置による該バスの使用期間が重複しないように該バスの使用期間を各装置に割り当てるバスアービタに、該バスの使用の要求を表すバス使用要求信号を送信する要求信号送信手段と、
前記バスアービタが送信した前記バスの使用の許可を表すバス使用許可信号を受信する許可信号受信手段と、
一定の周期で繰り返される第1の期間の先頭を検出し、前記許可信号受信手段が前記バス使用許可信号を受信してから最初に前記先頭が訪れた場合に、前記第1の期間よりも短い第2の期間内に、読み出しの対象であるデータのアドレスを前記バスに出力するアドレス出力手段と、
前記第2の期間に続いて、予め定められた正の整数を前記周期に乗じた第3の期間が経過した場合に、前記第3の期間に続いて、前記周期から前記第2の期間を差し引いた第4の期間内に、前記アドレス出力手段が出力したアドレスに対応するデータであって、スレーブ装置が前記バスに出力したデータを入力するデータ入力手段と
を有することを特徴とするバスインターフェース回路。
Request signal transmission for transmitting a bus use request signal representing a request for use of the bus to a bus arbiter that allocates the use period of the bus to each device so that the use periods of the bus by a plurality of devices connected to the bus do not overlap. Means,
Permission signal receiving means for receiving a bus use permission signal indicating permission of use of the bus transmitted by the bus arbiter;
When the head of the first period repeated at a constant period is detected and the head first arrives after the permission signal receiving means receives the bus use permission signal, it is shorter than the first period. Address output means for outputting an address of data to be read to the bus within a second period;
Subsequent to the second period, when the third period obtained by multiplying the period by a predetermined positive integer has elapsed, the second period from the period is changed from the period to the third period. Data input means for inputting data corresponding to the address output by the address output means within the fourth period subtracted and which is output by the slave device to the bus. circuit.
前記データ入力手段は、前記第3の期間に続いて、前記スレーブ装置が前記データの準備のための期間を前記第3の期間だけ延長することを要求した場合に、さらに前記第3の期間だけ待機した後、前記第4の期間内に前記データを入力することを特徴とする請求項1に記載のバスインターフェース回路。   When the data input means requests the slave device to extend the period for preparing the data by the third period following the third period, the data input unit further includes the third period. The bus interface circuit according to claim 1, wherein the data is input within the fourth period after waiting. 前記スレーブ装置が前記データの準備のための期間を前記第3の期間だけ延長することを要求し、且つ、前記アドレス出力手段がアドレスを出力してからの経過時間が所定値に達した場合に、前記スレーブ装置に処理の中止を指示する中止指示手段を有することを特徴とする請求項2に記載のバスインターフェース回路。   When the slave device requests to extend the period for preparing the data by the third period, and when the elapsed time since the address output means outputs the address reaches a predetermined value 3. The bus interface circuit according to claim 2, further comprising stop instruction means for instructing the slave device to stop processing. 前記アドレス出力手段は、前記許可信号受信手段が前記バス使用許可信号を受信してから最初に前記先頭が訪れた場合に、前記第2の期間内に、データの書き込み先のアドレスを前記バスに出力し、
前記アドレス出力手段がデータの書き込み先のアドレスを出力した前記第2の期間に続いて前記第3の期間が経過した場合に、該第3の期間に続いて、前記第4の期間内に、該アドレスに対応するデータを前記バスに出力するデータ出力手段を有する
ことを特徴とする請求項1乃至3のいずれかに記載のバスインターフェース回路。
The address output means, when the head first visits after the permission signal receiving means receives the bus use permission signal, sets an address to which data is written to the bus within the second period. Output,
When the third period has elapsed following the second period in which the address output means has output the address to which data is written, within the fourth period following the third period, The bus interface circuit according to any one of claims 1 to 3, further comprising data output means for outputting data corresponding to the address to the bus.
一定の周期で繰り返される第1の期間の先頭を検出し、前記第1の期間よりも短い第2の期間内に、マスタ装置がバスに出力したアドレスを入力するアドレス入力手段と、
前記アドレス入力手段がアドレスを入力した前記第2の期間に続いて、予め定められた正の整数を前記周期に乗じた第3の期間が経過した場合に、前記第3の期間に続いて、前記周期から前記第2の期間を差し引いた第4の期間内に、該アドレスに対応するデータを前記バスに出力するデータ出力手段と
を有することを特徴とするバスインターフェース回路。
An address input means for detecting a head of a first period repeated at a constant period and inputting an address output by the master device to the bus within a second period shorter than the first period;
Following the second period when the address input means inputs the address, when a third period obtained by multiplying the period by a predetermined positive integer has elapsed, following the third period, A bus interface circuit comprising: data output means for outputting data corresponding to the address to the bus within a fourth period obtained by subtracting the second period from the cycle.
前記データ出力手段は、前記第3の期間内に前記アドレスに対応するデータの出力の準備が完了しなかった場合に、該データの準備のための期間を前記第3の期間だけ延長することを前記マスタ装置に要求するとともに、さらに前記第3の期間だけ該準備を実行することを特徴とする請求項5に記載のバスインターフェース回路。   The data output means extends a period for preparing the data by the third period when preparation for outputting the data corresponding to the address is not completed within the third period. The bus interface circuit according to claim 5, wherein the bus interface circuit requests the master device and executes the preparation only for the third period. 前記データ出力手段は、前記マスタ装置が処理の中止を指示した場合に、前記準備のための処理を中止することを特徴とする請求項6に記載のバスインターフェース回路。   7. The bus interface circuit according to claim 6, wherein the data output means stops the preparation process when the master device instructs to stop the process. 前記アドレス入力手段が入力したアドレスがデータの書き込み先のアドレスであるか否かを判別する判別手段と、
前記判別手段による判別の結果、前記アドレスがデータの書き込み先のアドレスである場合に、前記第4の期間内にマスタ装置が前記バスに出力したデータを入力するデータ入力手段を有する
ことを特徴とする請求項5乃至7のいずれかに記載のバスインターフェース回路。
Determining means for determining whether or not the address input by the address input means is an address to which data is written;
When the address is a data write destination address as a result of determination by the determination means, the master device has data input means for inputting the data output to the bus within the fourth period. The bus interface circuit according to claim 5.
前記アドレス出力手段が、前記第2の期間の先頭から途中までの期間にアドレスの出力を行うことを特徴とする請求項1乃至4のいずれかに記載のバスインターフェース回路。   5. The bus interface circuit according to claim 1, wherein the address output means outputs an address during a period from the beginning to the middle of the second period. 前記データ出力手段が、前記第3の期間の先頭から途中までの期間にデータの出力を行うことを特徴とする請求項4乃至8のいずれかに記載のバスインターフェース回路。   9. The bus interface circuit according to claim 4, wherein the data output means outputs data during a period from the beginning to the middle of the third period. データを伝送するバスと、
前記バスに接続された複数の装置による前記バスの使用期間が重複しないように前記バスの使用期間を各装置に割り当てるバスアービタと、
請求項1に記載のバスインターフェース回路と、
請求項5に記載のバスインターフェース回路と
を有することを特徴とする情報処理装置。
A bus for transmitting data;
A bus arbiter that allocates the use period of the bus to each device so that the use periods of the bus by a plurality of devices connected to the bus do not overlap;
A bus interface circuit according to claim 1;
An information processing apparatus comprising: the bus interface circuit according to claim 5.
JP2007016989A 2007-01-26 2007-01-26 Bus interface circuit and information processor Withdrawn JP2008186093A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007016989A JP2008186093A (en) 2007-01-26 2007-01-26 Bus interface circuit and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007016989A JP2008186093A (en) 2007-01-26 2007-01-26 Bus interface circuit and information processor

Publications (1)

Publication Number Publication Date
JP2008186093A true JP2008186093A (en) 2008-08-14

Family

ID=39729122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007016989A Withdrawn JP2008186093A (en) 2007-01-26 2007-01-26 Bus interface circuit and information processor

Country Status (1)

Country Link
JP (1) JP2008186093A (en)

Similar Documents

Publication Publication Date Title
JP5102789B2 (en) Semiconductor device and data processor
JP2011150397A (en) Bus arbitration device
JP2003162498A (en) Bus system and retry method
JP2018519587A (en) Configurable mailbox data buffer device
JP4198376B2 (en) Bus system and information processing system including bus system
JP2009093227A (en) Memory access control device and memory access control method
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
JP2006113689A (en) Bus bridge device and data transfer method
JP6290761B2 (en) Data transfer control system, data transfer control method, and data transfer control program
JP2009116702A (en) Semiconductor integrated circuit
JP6142783B2 (en) Memory controller, information processing apparatus, and memory controller control method
JP2008186093A (en) Bus interface circuit and information processor
US20080320178A1 (en) DMA transfer apparatus
JP2011090485A (en) Circuit and method for pipe arbitration
KR100932925B1 (en) Direct memory access control device and its method for the transmission efficiency of MMO
JP4514411B2 (en) Inter-bus communication interface device
JP5334173B2 (en) Data transfer system and retry control method
JP6339331B2 (en) Information processing apparatus and interface control method for controlling interface
JP4840963B2 (en) Bus system and control method thereof
JP2008021040A (en) Bus master circuit, bus control method and computer program
CN116149453A (en) Controller, electronic device and data transmission system
JP2007011884A (en) Data transfer unit
JP5387155B2 (en) DMA transfer control device and DMA transfer control method
JP2007172510A (en) Dma transfer device
JP2006085732A (en) Bus system and information processing system comprising bus system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110720

A761 Written withdrawal of application

Effective date: 20110815

Free format text: JAPANESE INTERMEDIATE CODE: A761