JP2008186093A - Bus interface circuit and information processor - Google Patents
Bus interface circuit and information processor Download PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
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つが独立して動作できるので、バスの使用効率が向上するとされていが、バス毎の使用効率を向上させる技術は開示されていない。
本発明は、バスの使用効率を向上させることのできる技術の提供を目的とする。 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
請求項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
請求項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
本発明によれば、バスの使用効率を向上させることができる。 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
バス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
The HDD 304 stores a program such as an OS (Operating System). The
外部I/F305は、ネットワークNWに接続されており、情報処理装置1とネットワークNWとの間のデータの授受を仲介する。I/O装置306は、キーボード、マウス、表示装置等からなり、ユーザがI/O装置306を操作することによって、情報処理装置1に対して指示を入力することができる。
The external I /
以下の説明では、他の装置に対してデータの読み出しまたは書き込みを要求する装置をマスタ装置、マスタ装置からの要求に応じてデータの読み出しまたは書き込みを行う装置をスレーブ装置と呼ぶ。例えば、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
In the following description, when it is not necessary to distinguish the
バスアービタ200は、バス100に接続された各マスタ装置にバス100の使用期間を割り当てる機能を有する。具体的には、マスタ装置がスレーブ装置からのデータの読み出しまたはスレーブ装置へのデータの書き込みを行う場合、マスタ装置はバス100の使用の要求を表すバス使用要求信号(BR信号)をコントロールバス経由でバスアービタ200に送信する。すると、バスアービタ200は、複数のマスタ装置によるバス100の使用期間が重複しないように公知の方式によって調停を行い、各マスタ装置にバス100の使用期間を割り当てる。そして、バスアービタ200は、バス100の使用の許可を表すバス使用許可信号(BG信号)を許可の対象であるマスタ装置にコントロールバス経由で送信する。マスタ装置は、BG信号を受け取った場合にバス100にアドレスやデータを出力することができる。図6は、BR信号、BG信号の伝送の様子を表すタイミングチャートである。
The
発振器400は、バス100上のデータ伝送の動作周波数を定めるバスクロック信号BCLKをバス100を介して各装置300およびバスアービタ200に供給する。
なお、各装置300の内部におけるデータ伝送は、バスクロック信号BCLKよりも周波数の高い内部クロック信号CLKに従って行われる。
The
Note that data transmission in each
図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
The
The
出力段FIFO320は、内部処理モジュール311が出力したアドレス、データ等を格納し、内部処理モジュール311が出力を指示した場合に、格納時期の最も古いアドレス、データ等をバッファ321を介してバス100に出力する。
入力段FIFO330は、内部処理モジュール311がデータの入力を指示した場合に、バス100からバッファ331を介してデータを取り込み、内部処理モジュール311に転送する。
アドレスデコーダ340は、バス100からアドレスを入力し、入力したアドレスが自局のアドレスに対応するか否かを判定し、自局のアドレスに対応する場合にはその旨を内部処理モジュール311に通知する。
The
The
The
図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
本実施形態では、図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
アドレスの伝送終了からそのアドレスに対応するデータの伝送開始までの遅延クロック数は次式によって求められる。
(アドレス伝送からデータ伝送までの遅延クロック数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
次に、バスインターフェース回路310の動作について説明する。
ここで、情報処理装置1には電源が投入されており、CPU301がOS等のプログラムを実行中である。
図8は、マスタ装置としての装置300がスレーブ装置としての装置300にデータの読み出しまたは書き込みを要求する場合のマスタ装置におけるバスインターフェース回路310の動作のフローを表す図である。マスタ装置は例えばCPU301、スレーブ装置は例えばHDD304である。
Next, the operation of the bus interface circuit 310 will be described.
Here, the
FIG. 8 is a diagram illustrating an operation flow of the bus interface circuit 310 in the master device when the
まず、ステップS01では、内部処理モジュール311が、バス使用要求信号(BR信号)をバス100を介してバスアービタ200に送信する。また、有効アドレス生成器312が読み出しまたは書き込みの対象であるデータのスレーブ装置におけるアドレスを生成し、このアドレスを出力段FIFO320に出力する。また、内部処理モジュール311は、読み出し/書き込みの区別を表す識別信号を出力段FIFO320に出力する。
First, in step S01, the
BR信号を受信したバスアービタ200は、複数のマスタ装置によるバス100の使用期間が重複しないように調停を行い、各マスタ装置にバス100の使用期間を割り当てる。そして、バスアービタ200は、バス使用許可信号(BG信号)を許可の対象であるマスタ装置に送信する。
The
ステップS02では、内部処理モジュール311がバス使用許可信号(BG信号)を受信するまで待機する。BG信号を受信した場合(ステップS02:YES)には、ステップS03に進む。
ステップS03では、内部処理モジュール311がカウンタをリセットし、バスクロック信号BCLKのカウントを開始する。
ステップS04では、内部処理モジュール311がスロットの先頭が訪れるまで待機する。スロットの先頭が訪れると(ステップS04:YES)、ステップS05に進む。
In step S02, the process waits until the
In step S03, the
In step S04, the
ステップS05では、内部処理モジュール311が、アドレスと識別信号を出力するよう出力段FIFO320に命ずる。すると、出力段FIFO320は、アドレスと識別信号とをバッファ321を介してバス100に出力する。
ステップS06では、当該要求がデータの読み出しの要求である場合には、内部処理モジュール311がカウンタをリセットし、バスクロック信号BCLKのカウントを開始する。一方、当該要求がデータの書き込みの要求である場合には、内部処理モジュール311が書き込み対象のデータを出力段FIFO320に出力し、カウンタをリセットし、バスクロック信号BCLKのカウントを開始する。
ステップS07では、所定の遅延クロック数に達するまで待機し、所定の遅延クロック数に達したならば(ステップS07:YES)、ステップS08に進む。
In step S05, the
In step S06, if the request is a data read request, the
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
In step S09, the
On the other hand, in step S <b> 10, the
ここで、スレーブ装置が行う処理について説明する。図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
In step B02, the
In step B03, the
ステップ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
In step C02, the
ステップC03では、内部処理モジュール311は、バスクロック信号BCLKに従った速度で、書き込み対象のデータをバス100からバッファ331を介して入力段FIFO330に取り込む。そして、入力段FIFO330が、取り込んだデータを内部クロック信号CLKに従った速度で内部処理モジュール311に転送する。
ステップC04では、内部処理モジュール311が、取り込まれたデータが有効なデータであるか否かを判定する。ここで、「有効なデータ」とは、スレーブ装置が処理の対象とするデータである。取り込まれたデータが有効なデータである場合(ステップC04:YES)には、処理を終了する。一方、有効なデータでない場合(ステップC04:NO)には、ステップC01以降の処理を繰り返す。
In step C03, the
In step C04, the
図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
ステップB07では、内部処理モジュール311は、データの読み出しのための処理を行う。図11は、図9のステップB07における処理のフローを表す図である。
ステップD01では、内部処理モジュール311が、読み出しを要求されたデータの出力の準備を開始する。例えばスレーブ装置がHDD304である場合、図9のステップB01で取り込んだアドレスに対応するデータを磁気ディスクの記録面から読み出すための処理を行う。
ステップD02では、内部処理モジュール311が、カウンタをリセットしてバスクロック信号BCLKのカウントを開始する。
In step B07, the
In step D01, the
In step D02, the
ステップD03では、内部処理モジュール311が、所定の遅延クロック数に達するまで待機する。この遅延クロック数は、マスタ装置の説明における遅延クロック数と同じである。所定の遅延クロック数に達したならば(ステップD03:YES)、ステップD04に進む。
ステップD04では、要求されたデータの準備が完了しているか否かを判定する。データの準備が完了しているならば(ステップD04:YES)、ステップD05に進み、データの準備が完了していないならば(ステップD04:NO)、ステップD06に進む。
ステップD05では、内部処理モジュール311が、準備されたデータを出力段FIFO320に出力し、バスクロック信号BCLKに従った速度でバッファ321を介してバス100に出力する。
In step D03, the
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
一方、ステップ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
次に、図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
ステップS12では、内部処理モジュール311が、スレーブ装置にアドレスを送信してからの経過時間が所定値に達したか否かを判定する。図11で示したとおり、スレーブ装置は、マスタ装置から要求されたデータの準備が所定の遅延クロック数に達するまでに完了しなかった場合、Retry応答を発し、データの準備のための処理を無限に続けるようになっている。処理が無限に続くこと避けるために本実施形態では以下の処理を行う。すなわち、経過時間が所定値に達していない場合(ステップS12:NO)には、ステップS06以降の処理を繰り返し、経過時間が所定値に達している場合(ステップS12:YESには、ステップS13に進む。
ステップS13では、内部処理モジュール311が、BR信号を再度、バスアービタ200に送信する。
In step S12, the
In step S <b> 13, the
ステップS14では、内部処理モジュール311が、BG信号を受信するまで待機する。BG信号を受信したならば(ステップS14:YES)、ステップS15に進む。
ステップS15では、内部処理モジュール311が、カウンタをリセットしてバスクロック信号BCLKのカウントを開始する。
ステップS16では、内部処理モジュール311が、スロットの先頭が到来するまで待機し、スロットの先頭が到来したならば(ステップS16:YES)、ステップS17に進む。
ステップS17では、内部処理モジュール311が、マスターキャンセル信号をスレーブ装置に送信し、処理を終了する。マスターキャンセル信号は、図7のタイミングチャートに示すとおり、アドレスサイクルにおいてValid信号をHレベルにすることによって送信される。
In step S14, the
In step S15, the
In step S16, the
In step S17, the
次に、マスタ装置が送信したマスターキャンセル信号をスレーブ装置が受信した場合について説明する。スレーブ装置のバスインターフェース回路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
図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
<変形例>
以上説明した形態に限らず、本発明は種々の形態で実施可能である。例えば、上述の実施形態を以下のように変形した形態でも実施可能である。
<変形例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.
<
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
<変形例2>
また、アドレスサイクルに送信するアドレスのビット数がバス100の信号線数よりも少ない場合(例えば、アドレス30ビットに対して、信号線が32本の場合等)は、余剰の信号線を用いてValid信号を送信するようにしてもよい。
例えば、処理を中止しない場合は「0」の値を、処理を中止する場合は「1」の値を送信する。スレーブ装置は当該Valid情報が「1」である場合に、マスタキャンセル信号が送信されたと判断する。
このようにすれば、Valid信号専用の信号線を設ける必要がなくなるので、情報処理装置1の構成を簡素化することができる。
<
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
<変形例3>
スロット、アドレスサイクル、データサイクル、ターンオフサイクルの長さを、扱うデータの種類、装置の構成等、諸条件に応じて適宜変更してもよい。
また、バス100に接続する装置の数は2つ以上ならばいくつでもよい。
<
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
<変形例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つ以上接続されていればよい。
また、マスタ装置がスレーブ装置に対して書き込みの要求だけを行い、かつ、スレーブ装置がマスタ装置からの要求に応じた書き込みだけを行うようにしてもよい。この場合、マスタ装置による識別信号の出力、および、スレーブ装置が識別信号に基づいて読み出し/書き込みを判別する処理は行わなくてよい。
<
In the above embodiment, each
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クロック分の期間を設け、この期間に読み出し/書き込みの区別を表すデータを送信するようにしてもよい。
<
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>
上記の実施形態では本発明を情報処理装置に適用した例を示したが、画像処理装置、画像形成装置、通信装置、表示装置、音響装置等、装置内部で複数の装置がバスを介してデータの遣り取りを行う装置であれば、本発明をいかなる電子機器に適用してもよい。
<
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.
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
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.
前記アドレス出力手段がデータの書き込み先のアドレスを出力した前記第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.
前記アドレス入力手段がアドレスを入力した前記第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.
前記判別手段による判別の結果、前記アドレスがデータの書き込み先のアドレスである場合に、前記第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.
前記バスに接続された複数の装置による前記バスの使用期間が重複しないように前記バスの使用期間を各装置に割り当てるバスアービタと、
請求項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.
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) |
-
2007
- 2007-01-26 JP JP2007016989A patent/JP2008186093A/en not_active Withdrawn
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 |