JP2009069974A - バスインターフェース回路および情報処理装置 - Google Patents

バスインターフェース回路および情報処理装置 Download PDF

Info

Publication number
JP2009069974A
JP2009069974A JP2007235424A JP2007235424A JP2009069974A JP 2009069974 A JP2009069974 A JP 2009069974A JP 2007235424 A JP2007235424 A JP 2007235424A JP 2007235424 A JP2007235424 A JP 2007235424A JP 2009069974 A JP2009069974 A JP 2009069974A
Authority
JP
Japan
Prior art keywords
address
period
bus
output
data
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.)
Granted
Application number
JP2007235424A
Other languages
English (en)
Other versions
JP5082703B2 (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 JP2007235424A priority Critical patent/JP5082703B2/ja
Publication of JP2009069974A publication Critical patent/JP2009069974A/ja
Application granted granted Critical
Publication of JP5082703B2 publication Critical patent/JP5082703B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】バスの使用効率を向上させる。
【解決手段】第1の期間の先頭を検出する度に、入力したアドレスが自局のアドレスであるか否かを判定し、自局のアドレスである場合に、第1の正の整数を周期に乗じた第1の遅延期間だけ遅延させて当該アドレスおよび当該アドレスに対応するデータを下流側のバスに出力する。第1の期間の先頭を検出するたびに、アドレスの出力の有無を判定し、アドレスの出力がない場合に、第1の期間よりも短い第2の期間内に、スレーブ装置における書き込み先のアドレスを下流側のバスに出力する。当該アドレスを出力した後、第2の正の整数を周期に乗じた第2の遅延期間が経過したのに続いて、周期から第2の期間を差し引いた第3の期間内に、当該アドレスに対応するデータを下流側のバスに出力する。
【選択図】図2

Description

本発明は、バスインターフェース回路および情報処理装置に関する。
バスに複数の装置が接続されている電子機器では、ある装置(マスタ装置)がバスの動作速度よりも動作速度の遅い他の装置(スレーブ装置)からデータの読み出しを行う場合、スレーブ装置によるデータの準備に遅れが生じることがある。その場合、バスが使用されない期間が発生するので、バスの使用効率が低下してしまう。図14は、信号の伝送の様子を表すタイミングチャートであり、読み出しの対象であるデータのアドレスが伝送されてからこのアドレスに対応するデータが伝送されるまでの間に信号が伝送されない無効サイクルが生じている様子を表している。
バスの使用効率を向上させるための技術として、例えば、特許文献1では、プロセッサに接続されたプロセッサバス、メモリに接続されたメモリバス、入出力装置に接続されたシステムバスの3つを接続する接続装置を備えた情報処理装置が開示されている。この技術によれば、プロセッサ、メモリ、入出力装置のいずれか2つが連動して動作している場合に残る1つが独立して動作できるので、バスの使用効率が向上するとされていが、バス毎の使用効率を向上させる技術は開示されていない。
特許第2910303号公報
本発明は、バスの使用効率を向上させることのできる技術の提供を目的とする。
請求項1に係る発明は、マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記マスタ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、前記検出手段が前記先頭を検出するたびに、前記遅延出力手段によるアドレスの出力の有無を判定する第2の判定手段と、前記第2の判定手段による判定の結果、前記遅延出力手段によるアドレスの出力がない場合に、前記第1の期間よりも短い第2の期間内に、前記スレーブ装置における書き込み先のアドレスを下流側の前記バスに出力するアドレス出力手段と、前記アドレス出力手段がアドレスを出力した後、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを下流側の前記バスに出力するデータ出力手段とを有することを特徴とするバスインターフェース回路を提供する。
請求項2に係る発明は、マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記マスタ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、前記検出手段が前記先頭を検出するたびに、前記遅延出力手段によるアドレスの出力の有無を判定する第2の判定手段と、前記第2の判定手段による判定の結果、前記遅延出力手段によるアドレスの出力がない場合に、前記スレーブ装置における読み出し先のアドレスを下流側の前記バスに出力するアドレス出力手段と、前記アドレス出力手段がアドレスを出力した後、前記入力手段が入力したアドレスが自局から出力されたアドレスであるか否かを判定する第3の判定手段と、前記第3の判定手段による判定の結果、前記入力手段が入力したアドレスが自局から出力されたアドレスである場合に、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを上流側の前記バスから入力するデータ入力手段とを有することを特徴とするバスインターフェース回路を提供する。
請求項3に係る発明は、請求項2に記載のバスインターフェース回路において、前記アドレス出力手段は、前記スレーブ装置による前記データの準備が完了できなかった旨の通知を受け取った場合に、該データのアドレスを再び下流側の前記バスに出力することを特徴とする。
請求項4に係る発明は、請求項3に記載のバスインターフェース回路において、前記スレーブ装置による前記データの準備が完了できなかった旨の通知を受け取り、且つ、前記アドレス出力手段がアドレスを出力してからの経過時間が所定値に達した場合に、前記スレーブ装置に処理の中止を指示する中止指示手段を有することを特徴とする。
請求項5に係る発明は、マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記スレーブ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスである場合に、前記アドレスが書き込み先のアドレスであるか否かを判定する第2の判定手段と、前記第2の判定手段による判定の結果、前記アドレスが書き込み先のアドレスである場合に、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを上流側の前記バスから入力するデータ入力手段とを有することを特徴とするバスインターフェース回路を提供する。
請求項6に係る発明は、マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記スレーブ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスである場合に、前記アドレスが読み出し先のアドレスであるか否かを判定する第2の判定手段と、前記第2の判定手段による判定の結果、前記アドレスが読み出し先のアドレスである場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスを下流側の前記バスに出力するアドレス出力手段と、前記アドレス出力手段がアドレスを出力した後、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを下流側の前記バスに出力するデータ出力手段とを有することを特徴とするバスインターフェース回路を提供する。
請求項7に係る発明は、請求項6に記載のバスインターフェース回路において、前記データ出力手段が前記第2の遅延期間の終了までに前記アドレスに対応するデータの出力の準備を完了することができなかった場合に、該準備が完了しなかった旨をマスタ装置に通知する通知手段を有することを特徴とする。
請求項8に係る発明は、請求項7に記載のバスインターフェース回路において、前記データ出力手段は、前記入力手段が前記アドレスと同一のアドレスを再び入力した場合に、該アドレスに対応するデータの出力の準備を行うことを特徴とする。
請求項9に係る発明は、請求項8に記載のバスインターフェース回路において、前記データ出力手段は、前記マスタ装置が処理の中止を指示した場合に、前記準備を中止することを特徴とする。
請求項10に係る発明は、請求項1または2に記載のバスインターフェース回路を備えた第1の装置と、請求項5または6に記載のバスインターフェース回路を備えた第2の装置とを有し、前記第1の装置と前記第2の装置との総数が3以上であり、該装置間を別々のバスで接続することによって環状の伝送路を形成したことを特徴とする情報処理装置を提供する。
本発明によれば、バスの使用効率を向上させることができる。
以下、図面を参照して、本発明の実施形態について説明する。本実施形態は、本発明を情報処理装置に適用した例である。
図1は、本実施形態の全体構成を表す図である。
情報処理装置1は、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を備えている。
なお、以下の説明では、CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306を区別する必要のない場合には、これらを単に装置300と呼ぶ。
バス101乃至106は、情報処理装置1に備えられた各装置300間の信号の伝送を行う。CPU301とROM302とはバス101によって接続されている。また、ROM302とRAM303とはバス102によって、RAM303とHDD304とはバス103によって、HDD304と外部I/F305とはバス104によって、外部I/F305とI/O装置306とはバス105によって、そして、I/O装置306とCPU301とはバス106によって、それぞれ接続されている。すなわち、CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306とバス101乃至106とが全体として環状の伝送路を形成している。
なお、以下の説明では、バス101乃至106を区別する必要のない場合には、これらを単にバス100と呼ぶ。
バス100は、アドレスを伝送するために用いられるアドレスバスと、読み出し/書き込みの対象であるデータを伝送するために用いられるデータバスとが同一の信号線を時分割多重して使用する、いわゆるマルチプレックスバス(Multiplex Bus)である(図示省略)。バス100は複数の信号線からなり、信号線の数に応じたビット数の信号を同時に伝送することができる。なお、以下の説明では、アドレス、データ、各種制御信号を区別する必要のない場合にはこれらを単に信号と呼ぶ。
HDD304には情報処理装置1の基本的な動作を制御するためのOS(Operating System)等のプログラムや各種のアプリケーションプログラムが記憶されている。ROM302にはIPL(Initial Program Loader)が記憶されており、情報処理装置1に電源が投入されるとCPU301がIPLを実行し、これによってOSがHDD304からRAM303上に読み出される。そして、CPU301がOSを実行することによって情報処理装置1の各部の制御を行う。また、OSの実行中にアプリケーションプログラムの実行が指示された場合には、CPU301はアプリケーションプログラムをHDD304からRAM303上に読み出して実行する。
外部I/F305は、LAN(Local Area Network)等の通信ネットワーク(図示省略)に接続されており、情報処理装置1から通信ネットワークへの信号の出力、および通信ネットワークから情報処理装置1への信号の入力を仲介する。I/O装置306は、キーボード、マウス、表示装置等からなり、ユーザがキーボードおよびマウスを操作することによって、情報処理装置1に対して指示を入力することができる。
以下の説明では、他の装置300に対してデータの読み出しまたは書き込みを要求する装置300をマスタ装置、マスタ装置からの要求に応じてデータの読み出しまたは書き込みを行う装置300をスレーブ装置と呼ぶ。例えば、CPU301がHDD304に対してデータの読み出しまたは書き込みを要求する場合、CPU301をマスタ装置、HDD304をスレーブ装置と呼ぶ。CPU301、ROM302、RAM303、HDD304、外部I/F305、I/O装置306のいずれもがマスタ装置としての機能とスレーブ装置としての機能とを兼ね備えている。
発振器400は、バス100上の信号の伝送の動作周波数を定めるバスクロック信号BCLKを各装置300に供給する。
図2は、バスインターフェース回路310を表す図である。すべての装置300にバスインターフェース回路310が設けられており、各装置300はそれぞれバスインターフェース回路310を介してバス100に接続されている。
内部処理モジュール311は、他の装置300がバス100に出力した信号を入力段FIFO(First-In First-Out)320を介してバス100から入力し、入力した信号を用いて所定の処理を行う。また、内部処理モジュール311は、他の装置300へ送信すべき信号を出力段FIFO330を介してバス100に出力する。また、内部処理モジュール311は、バスクロック信号BCLKをカウントするカウンタの機能を備えている。
有効アドレス生成器312は、スレーブ装置におけるデータの読み出し先のアドレス(以下、「読み出しアドレス」という)、または、スレーブ装置におけるデータの書き込み先のアドレス(以下、「書き込みアドレス」という)を生成する。
入力段FIFO320は、他の装置300がバス100に出力した信号をバス100から遅延なく入力し、内部処理モジュール311にこの信号を転送する。
出力段FIFO330は、内部処理モジュール311から受け取った信号を格納し、CPU101が信号の出力を指示した場合に、格納時期の最も古い信号をバス100に出力する。
アドレスデコーダ340は、他の装置30がバス100に出力したアドレスをバス100から入力し、入力したアドレスが自局のアドレスであるか否かを判定する。入力したアドレスが自局のアドレスである場合にはその旨を内部処理モジュール311に通知する。
バイパスFIFO350は、アドレスデコーダ340に入力されたアドレスが自局のアドレスでない場合に、当該アドレスおよび当該アドレスに対応するデータを一時的に格納しておくための記憶領域である。バイパスFIFO350は、格納された信号を、それぞれがアドレスデコーダ340または入力段FIFO330に入力されてから所定の期間(第1の遅延期間)だけ遅延させてバス100に出力する。本実施形態では、バスクロック信号BCLKの15クロック分の期間を第1の遅延期間とする。
さて、情報処理装置1は、環状の伝送路上で信号を一方向に伝送するために以下のとおり構成されている。
まず、CPU301に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス106に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス101に接続されている。従って、入力段FIFO320はバス106から信号を入力し、出力段FIFO330とバイパスFIFO350はバス101へ信号を出力する。
また、ROM302に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス101に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス102に接続されている。従って、入力段FIFO320はバス101から信号を入力し、出力段FIFO330とバイパスFIFO350はバス102へ信号を出力する。
また、RAM303に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス102に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス103に接続されている。従って、入力段FIFO320はバス102から信号を入力し、出力段FIFO330とバイパスFIFO350はバス103へ信号を出力する。
また、HDD304に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス103に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス104に接続されている。従って、入力段FIFO320はバス103から信号を入力し、出力段FIFO330とバイパスFIFO350はバス104へ信号を出力する。
また、通信I/F305に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス104に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス105に接続されている。従って、入力段FIFO320はバス104から信号を入力し、出力段FIFO330とバイパスFIFO350はバス105へ信号を出力する。
また、I/O装置306に備えられたバスインターフェース回路310においては、入力段FIFO320の入力端子がバス105に接続され、出力段FIFO330とバイパスFIFO350の出力端子がバス106に接続されている。従って、入力段FIFO320はバス105から信号を入力し、出力段FIFO330とバイパスFIFO350はバス106へ信号を出力する。
上記の構成により、情報処理装置1の内部では、図1に矢印で示されているとおり、環状の伝送路上を反時計回りに信号が伝送される。なお、以下の説明では、各装置300において入力段FIFO320に接続されているバス100を伝送方向上流側のバス100と呼び、各装置300において出力段FIFO330に接続されているバスを伝送方向下流側のバス100と呼ぶ。例えば、I/O装置306においては、バス105が伝送方向上流側のバス100であり、バス106が伝送方向下流側のバス100である。
図3、図4、図5は、バス100上で伝送されるフレームの構成を表す図である。
ます、アドレスサイクルにおけるフレームについて説明する。本実施形態ではアドレスバスのバス幅が64bit(=8Byte)であり、バスクロック信号BCLKの1クロック分の期間内に64bitの信号を伝送することができる。本実施形態では、アドレスを伝送するためのアドレスサイクルとして1クロック分の期間を設け、この期間内にアドレスおよび当該アドレスに関連する情報を伝送する。1回のアドレスサイクルの期間内にアドレスバス上で伝送される64bitの信号は、アドレス(40bit)、R/Wフラグ(1bit)、サイズ情報(3bit)、拡張コード(4bit)、ECC(Error Correcting Code)(16bit)からなる。
アドレスは、スレーブ装置における読み出しアドレス、または、スレーブ装置における書き込みアドレスである。
R/Wフラグは、当該アドレスサイクルに対応する処理が、データの書き込みと読み出しのどちらであるかを表すフラグである。本実施形態では、R/Wフラグ=0の場合はWriteすなわちデータの書き込みを表し、この場合、伝送されるアドレスはスレーブ装置における書き込みアドレスである。一方、R/Wフラグ=1の場合はReadすなわちデータの読み出しを表し、この場合、伝送されるアドレスはスレーブ装置における読み出しアドレスである。
サイズ情報は当該アドレスに対応するデータのデータ量を表す。
拡張コードは、当該アドレスサイクルに対応する処理の内容を表す。
拡張コード0hは、通常の処理を表す。通常の処理とは、読み出しアドレスで表される読み出し先からのデータの読み出し、または書き込みアドレスで表される書き込み先へのデータの書き込みである。拡張コード1hは、アドレスのみの伝送を表す。この場合、データの伝送は行われない。拡張コード2hは、キャッシュメモリの無効化を表す。拡張コード3hは、マスタキャンセルを表す。マスタキャンセルについては後述する。拡張コード4hはブロードキャスト、すなわち、特定のアドレスを指定せず、情報処理装置1内のすべての装置300にデータを送信することを表す。拡張コード5h〜Chは予備である。拡張コードDhは、自己診断の指示を表す。拡張コードEhは、自己診断の応答、すなわち、拡張コードDhによって自己診断を指示されたスレーブ装置からの応答である。拡張コードFhは、バス100上の信号の伝送に障害が発生した場合における各バスインターフェース回路310の再起動を表す。
ECCは誤り訂正符号である。本実施形態では、ECCを信号の誤り訂正を目的として用いるとともに、当該アドレスサイクルにおいてアドレスをバス100に出力することが可能か否かを判断するためにも用いる。この判断の手順については後述する。
次に、データサイクルにおけるフレームについて説明する。本実施形態ではデータバスのバス幅が64bit(=8Byte)であり、バスクロック信号BCLKの1クロック分の期間内に64bitの信号を伝送することができる。本実施形態では、データを伝送するためのデータサイクルとして各アドレスサイクルに続く4クロック分の期間を設け、1クロック毎に64bitずつ、データおよび当該データに関連する情報を伝送する。1回のデータサイクルの期間内にデータバス上で伝送される256bit(=32Byte)の信号は、ヘッダ4Byteとボディ28Byteに大別される。
ヘッダは、Readyフラグ(1bit)、フォーマットID(3bit)、コンテンツID(4bit)、予備(24bit)からなる。Readyフラグは、当該データサイクルで伝送されるデータが有効であるか否かを表す。Readyフラグ=1ならばデータが有効であることを表し、Readyフラグ=0ならばデータが無効であることを表す。データが無効である場合、当該データサイクルを無効データサイクルと呼ぶ。フォーマットIDは、データの形式を表す。フォーマットIDが0hの場合、データはrawすなわち生データであり、圧縮等の処理は加えられていない。フォーマットIDが1h乃至6hの場合、データは圧縮されており、順にJPEG(Joint Photographic Experts Group)、JBIG(Joint Bi-lebel Image experts Group)、MMR(Modified Modified Read)、MR(Modified Read)、MH(Modified Huffman)、RLE(Run Length Encoding)の各方式で圧縮されていることを表す。コンテンツIDは、データの内容を表す。コンテンツIDが0hの場合、データの内容は指定されていない。コンテンツIDが1h乃至5hの場合、データの内容が指定されており、順にプログラム、制御情報、静止画、動画、音声を表す。
一方、ボディは、データ (192bit =24Byte)、ECC(32bit)からなる。データは、読み出しまたは書き込みの対象であるデータである。
次に、バスインターフェース回路310の動作について説明する。
ここで、情報処理装置1には電源が投入されており、CPU301がOS等のプログラムを実行中である。
(1)書き込み要求の場合
まず、マスタ装置がスレーブ装置にデータの書き込みを要求する場合のマスタ装置およびスレーブ装置におけるバスインターフェース回路310の動作について説明する。ここでは、CPU301がマスタ装置、HDD304がスレーブ装置である場合の例を用いて説明する。
図6は、マスタ装置におけるバスインターフェース回路310の動作のフローを表す図である。図10、図11は、各バス100上における信号の伝送の様子を表すタイミングチャートである。図10は、時刻t=t0からt46までの期間を表し、図11は、時刻t=t45からt90までの期間を表す。
本実施形態では、バスクロック信号BCLKの5クロック分の期間をスロット(第1の期間)と呼ぶ。つまり、5クロックを1周期としてスロットの先頭が繰り返し訪れる。また、各スロットの最初の1クロック分の期間をアドレスサイクル(第2の期間)と呼び、アドレスサイクルに続く4クロック分の期間をデータサイクル(第3の期間)と呼ぶ。
まず、マスタ装置としてのCPU301に備えられたバスインターフェース回路310の動作について説明する。
図6のステップA01では、有効アドレス生成器312が、HDD304における書き込みアドレスを生成し、内部処理モジュール311に出力する。内部処理モジュール311は、生成された書き込みアドレスに対応するR/Wフラグ、サイズ情報、拡張コードおよびECCを生成し、生成されたこれらの情報を用いて図3に示したアドレスサイクルのフレームを生成し、このフレームを出力段FIFO330に出力する。続いて、内部処理モジュール311は、当該書き込みアドレスに対応するデータと、このデータに対応するReadyフラグ、フォーマットID、コンテンツIDおよびECCを生成し、生成されたこれらの情報を用いて図3に示したデータサイクルのフレームを生成し、このフレームを出力段FIFO330に出力する。そして、内部処理モジュール311は、バスクロック信号BCLKを監視し、スロットの先頭を検出する度に、当該スロットのアドレスサイクルが空いているか否かを判定する。
具体的には、内部処理モジュール311は、スロットの先頭を検出する度に、所定のアルゴリズムに従って演算を行う。本アルゴリズムは、有効アドレスが入力された場合に、そのフレームに含まれるECCを用いた演算結果が所定値に一致するように構成されている。演算結果が所定値に一致しない場合は、有効アドレスではないので、当該スロットのアドレスサイクルが空いていると判定される。
自局宛でないフレームが入力された場合、上述のとおり、内部処理モジュール311は、そのフレームをバイパスFIFO350に格納し、第1の遅延期間だけ遅延させて伝送方向下流側のバス100に出力する。つまり、当該フレームの入力から第1の遅延期間経過後のアドレスサイクルにおいては、伝送方向下流側のバス100は自局宛でないフレームの伝送に使用されるから、他のフレームの伝送には使用することができない。そのため、内部処理モジュール311は、有効アドレス生成器312が生成した書き込みアドレスを含むフレームを送信するために、伝送方向下流側のバス100が使用されていないアドレスサイクル、すなわち空いているアドレスサイクルが訪れるのを待つ必要がある。本実施形態では、ECCを用いた演算結果によって、アドレスサイクルが空いているか否かを判定するのである。
内部処理モジュール311は、当該アドレスサイクルが空いている場合(ステップA01:YES)にはステップA02の処理に進み、当該アドレスサイクルが空いていない場合(ステップA01:NO)にはステップA01の処理を繰り返す。
ステップA02では、内部処理モジュール311は、フレームの出力を出力段FIFO330に指示する。すると、出力段FIFO330は、格納時期の最も古いフレーム、すなわち書き込みアドレスを含むフレームをバス101に出力する。その結果、図10のバス101の線上に示されているとおり、書き込みアドレスを含むフレームがアドレスサイクルの期間内(t=t0〜t1)にバス101に出力される。また、内部処理モジュール311は、このフレームに含まれるR/Wフラグを記憶する。
ここで、図中に示されている文字列「W4」は、読み出し(R:Read)/書き込み(W:Write)の区別およびスレーブ装置の符号の下1桁を表す。この例では、スレーブ装置としてのHDD304に対して書き込みを要求していることを表している。
ステップA03では、内部処理モジュール311は、ステップA02で出力したフレームが読み出し要求と書き込み要求のどちらを表すかを判定する。この判定は、ステップA02で記憶したR/Wフラグを用いて行われる。内部処理モジュール311は、出力したフレームが読み出し要求を表すフレーム(R/Wフラグ=1)であるならば(ステップA03:YES)ステップA05の処理に進み、書き込み要求を表すフレーム(R/Wフラグ=0)であるならば(ステップA03:NO)ステップA04の処理に進む。この例では、出力したフレームは書き込み要求を表すから、内部処理モジュール311はステップA04の処理に進む。
ステップA04では、内部処理モジュール311は、バスクロック信号BCLKをカウントし、書き込みアドレスを含むフレームを出力したアドレスサイクルの終了後、所定の遅延クロック数に達したならば、データを含むフレームの出力を出力段FIFO330に指示する。本実施形態では、遅延クロック数をバスクロック信号BCLKの10クロック分(=2スロット分)とし、この遅延クロック数に相当する期間を第2の遅延期間と呼ぶ。フレームの出力を指示されると、出力段FIFO330は、格納時期の最も古いフレーム、すなわちデータを含むフレームをバス101に出力する。その結果、図10のバス101の線上に示されているとおり、書き込みアドレスを含むフレームを出力したアドレスサイクルが終了(t=t1)した後、第2の遅延期間だけ遅延されて、データを含むフレームの出力が開始される(t=t11)。このフレームは、データサイクルの期間内(t=t11〜t15)にバス101に出力される。ここで、図中に示されている文字列「1→4」はデータの送信元と送信先の装置の符号の下1桁を表す。この例では、このデータがCPU301からHDD304に送信されたデータであることを表している。
上記のようにしてバス101に出力されたフレームは、ROM302に入力される。ROM302に備えられたバスインターフェース回路310では、以下に示す処理が行われる。まず、アドレスデコーダ340はt=t0〜t1の期間内にバス101からフレームを入力する。このフレームに含まれる書き込みアドレスは自局のアドレスでないため、内部処理モジュール311はこのフレームをバイパスFIFO350に格納し、このフレームの入力(t=t0〜t1)から第1の遅延期間(15クロック=3スロット)だけ遅延させてt=t15〜t16の期間内にこのフレームをバス102に出力する。
RAM303においても同様の処理が行われる。すなわち、アドレスデコーダ340はt=t15〜t16の期間内にバス102からフレームを入力する。このフレームに含まれる書き込みアドレスは自局のアドレスでないため、内部処理モジュール311はこのフレームをバイパスFIFO350に格納し、このフレームの入力(t=t15〜t16)から第1の遅延期間だけ遅延させてt=t30〜t31の期間内にこのフレームをバス103に出力する。
上記のようにしてバス103に出力されたフレームは、HDD304に入力される。
次に、スレーブ装置としてのHDD304に備えられたバスインターフェース回路310の動作について説明する。図7は、スレーブ装置におけるバスインターフェース回路310の動作のフローを表す図である。
まず、ステップB01では、アドレスデコーダ340がバスクロック信号BCLKを監視し、スロットの先頭を検出する度にアドレスサイクルの期間内にバス103からアドレスを含むフレームを入力する。
ステップB02では、アドレスデコーダ304は、入力されたアドレスが自局のアドレスであるか否かを判定する。自局のアドレスである場合(ステップB02:YESにはステップB03の処理に進み、自局のアドレスでない場合(ステップB02:NO)にはステップB01の処理を繰り返す。ここではアドレスが自局、すなわちHDD304のアドレスであるから、ステップB03の処理に進む。
ステップB03では、内部処理モジュール311は、入力したフレームが読み出し要求と書き込み要求のどちらを表すかを判定する。内部処理モジュール311は、入力したフレームが読み出し要求を表すフレーム(R/Wフラグ=1)であるならば(ステップB03:NO)ステップB05の処理に進み、書き込み要求を表すフレーム(R/Wフラグ=0)であるならば(ステップB03:YES)ステップB04の処理に進む。ここでは当該フレームが書き込み要求を表すから、ステップB04の処理に進む。
図8は、スレーブ装置におけるバスインターフェース回路310が行う書き込みの動作のフローを表す図である。なお、このフローは、図7のステップB04の内容を詳細に表したものである。ここで、バスロック信号BCLKをカウントするためのカウンタはリセットされている。
まず、ステップC01では、内部処理モジュール311は、バスクロック信号BCLKのカウント地を1だけ加算する。
ステップC02では、内部処理モジュール311が、第2の遅延期間に相当する遅延クロック数、すなわち10クロックに達したか否かを判定し、遅延クロック数に達していないならば(ステップC02:NO)、ステップC01に戻る。遅延クロック数に達したならば(ステップC02:YES)、ステップC03に進む。
ステップC03では、入力段FIFO330が、バスクロック信号BCLKに従った速度で、書き込み対象のデータをバス100から入力する。そして、入力段FIFO330が、入力されたデータを内部処理モジュール311に転送する。
ステップC04では、内部処理モジュール311が、入力されたデータが有効なデータであるか否かを判定する。ここで、「有効なデータ」とは、スレーブ装置が処理の対象とするデータであり、Readyフラグ=1の場合である。取り込まれたデータが有効なデータである場合(ステップC04:YES)には、処理を終了する。一方、有効なデータでない場合(ステップC04:NO)には、ステップC01以降の処理を繰り返す。
以上が、マスタ装置がスレーブ装置にデータの書き込みを要求する場合のバスインターフェース回路310の動作である。
(2)読み出し要求の場合
次に、マスタ装置がスレーブ装置にデータの読み出しを要求する場合のバスインターフェース回路310の動作について説明する。ここでは、HDD304がマスタ装置、I/O装置306がスレーブ装置である場合の例を用いて説明する。
まず、マスタ装置としてのHDD304に備えられたバスインターフェース回路310の動作について説明する。
図6のステップA01では、有効アドレス生成器312が、I/O装置306における読み出しアドレスを生成する。また、内部処理モジュール311は、生成された読み出しアドレスに対応するR/Wフラグ、サイズ情報、拡張コードおよびECCを生成し、これらの情報と読み出しアドレスとを用いて図3に示したフレームを生成し、このフレームを出力段FIFO330に出力する。そして、内部処理モジュール311は、バスクロック信号BCLKを監視し、スロットの先頭を検出する度に、当該スロットのアドレスサイクルが空いているか否かを判定する。なお、ステップA01にて内部処理モジュール311は、バスクロック信号BCLKをカウントするためのカウンタをリセットする。
ステップA02では、内部処理モジュール311は、フレームの出力を出力段FIFO330に指示する。すると、出力段FIFO330は、格納時期の最も古いフレーム、すなわち読み出しアドレスを含むフレームをバス104に出力する。その結果、図10のバス104の線上に示されているとおり、読み出しアドレスを含むフレームがアドレスサイクルの期間中にバス104に出力される。ここで、図中に示されている文字列「R6」は、スレーブ装置としてのI/O装置306に対して書き込みを要求していることを表している。
ステップA03では、当該処理は読み出し要求であるから、内部処理モジュール311はステップA05の処理に進む。
ステップA05では、内部処理モジュール311は、自局、すなわちHDD304が出力した読み出し要求が伝送路を一巡してきたか否かを判定する。具体的には以下のとおりである。内部処理モジュール311は、ステップA02で自局がバス104に出力したフレーム(読み出しアドレスを含むフレーム)が一巡したか否か、すなわち、バス104から外部I/F305、バス105、I/O装置306、バス106、CPU301、バス101、ROM302、バス102、RAM303およびバス103を経てHDD304に入力されたか否かを判定する。
ここで、HDD304が出力した読み出し要求が伝送路を一巡してくるまでに他の装置300で行われる処理について説明する。
バス104に出力されたフレームは、外部I/F305によって受信される。外部I/F305のバスインターフェース回路310においては、このフレームに含まれるアドレスが自局のアドレスでないため、バス104からフレームを入力した後、このフレームをバイパスFIFO305に格納し、入力から第1の遅延期間だけ遅延させてバス105に出力する。その結果、図10のバス105の線上に示すとおり、バス104このフレームが出力されてから第1の遅延期間だけ遅延されて、バス105にこのフレームが出力される。
バス105に出力されたフレームは、スレーブ装置としてのI/O装置306に入力される。
次に、スレーブ装置としてのI/O装置306に備えられたバスインターフェース回路310の動作について説明する。
まず、ステップB01では、アドレスデコーダ340がバスクロック信号BCLKを監視し、スロットの先頭を検出する度にアドレスサイクルの期間内にバス105からアドレスを含むフレームを入力する。
ステップB02では、アドレスが自局、すなわちI/O装置306のアドレスであるから、ステップB03の処理に進む。
ステップB03では、当該要求が読み出し要求であるから、ステップB05に進む。
ステップB05では、内部処理モジュール311は、データの読み出しのための処理を行う。図9は、スレーブ装置におけるバスインターフェース回路310が行う読み出しの動作のフローを表す図である。なお、このフローは、図7のステップB05の内容を詳細に表したものである。
まず、ステップD01では、内部処理モジュール311が、読み出しを要求されたデータの出力の準備を開始する。例えば、図7のステップB01で入力したアドレスに対応するデータをI/O装置306が備える記憶領域から読み出すための処理を開始する。ここで、内部処理モジュール311はカウンタをリセットする。
ステップD02では、内部処理モジュール311が、マスタキャンセル信号が受信されたか否かを判定する。マスタキャンセル信号は、スレーブ装置におけるデータの読み出しが所定期間内に行われなかった場合にマスタ装置からスレーブ装置に送信される信号である。マスタキャンセル信号が受信されなかった場合(ステップD02:NO)にはステップD03に進み、マスタキャンセル信号が受信された場合(ステップD02:YES)には、ステップD10に進む。
ステップD03では、内部処理モジュール311はバスクロック信号BCLKのカウント値を1だけ加算する。
ステップD04では、内部処理モジュール311が、第2の遅延期間に相当する遅延クロック数、すなわち10クロックに達したか否かを判定し、遅延クロック数に達していないならば(ステップD04:NO)、ステップD02に戻る。遅延クロック数に達したならば(ステップD04:YES)、ステップD05に進む。
ステップD05では、内部処理モジュール311は、要求されたデータの準備が完了しているか否かを判定する。データの準備が完了しているならば(ステップD05:YES)、ステップD06に進み、データの準備が完了していないならば(ステップD05:NO)、ステップD07に進む。
ステップD06では、内部処理モジュール311が、準備されたデータを出力段FIFO320に出力し、バスクロック信号BCLKに従った速度でバス106に出力する。その結果、図10のバス106の線上に示されているとおり、アドレスを含むフレームがバス106に出力されてから第2の遅延期間だけ遅延されて、データを含むフレームがデータサイクルの期間中にバス106に出力される。ここで、図中に示されている文字列「6→4」は、I/O装置306からHDD304に送信されたデータであることを表している。バス106に出力されたフレームはCPU101のバイパスFIFO350に格納された後、図11に示すように、第2の遅延期間だけ遅延されてバス101に出力され、同様にROM302、バス102、RAM303、バス103を経て、HDD304に受信される。
一方、ステップD07では、内部処理モジュール311が、無効応答を表すフレームマスタ装置としてのHDD304に送信する。ここで、無効応答とは、読み出しを要求されたデータの準備が完了していないことを表す応答であり、図5に示したReadyフラグを「0」としたフレームをマスタ装置に送信することによって行われる。
ステップD08では、内部処理モジュール311は、スロットの先頭を検出する度にアドレスサイクルの期間内にバス105からアドレスを含むフレームを取り込む。
そして、ステップD09では、内部処理モジュール311は、当該フレームが前回と同一の読み出しアドレスに対する再読み出し要求であるか否かを判定する。再読み出し要求である場合(ステップD09)には、内部処理モジュール311は、ステップD02以降の処理を繰り返す。
次に、図6に戻り、ステップA05以降の処理について説明する。
ステップA05では、内部処理モジュール311は、自局が出力した読み出し要求が伝送路を一巡してきたか否かを判定する。図10、11から判るとおり、HDD304がI/O装置306に送信した読み出し要求は、装置300の総数から1を差し引いた数を第1の期間(スロット)に乗じた期間だけ遅延されてHDD304に戻って来る。従って、内部処理モジュール311は、読み出し要求を送信してからこの期間が経過した後にバス103から入力されたフレームが自局が送信したフレームであるか否かを判定する。
ステップA06では、内部処理モジュール311は、バスクロック信号BCLKのカウント値を1だけ加算する。
ステップA07では、内部処理モジュール311は、第2の遅延期間に相当する遅延クロック数、すなわち10クロックに達したか否かを判定し、遅延クロック数に達していないならば(ステップA07:NO)、ステップA06に戻る。遅延クロック数に達したならば(ステップA07:YES)、ステップA08に進む。
ステップA08では、内部処理モジュール311はデータサイクルの期間内にバス103からフレームを取り込む。
ステップA09では、内部処理モジュール311は、有効なデータが取り込まれたか否かを判定する。上述のとおり、所定の遅延クロック数に達するまでにデータの準備が完了しなかった場合、スレーブ装置は無効応答をマスタ装置に送信するので、内部処理モジュール311は、フレームに含まれるReadyフラグに基づいてデータの有効/無効を判定する。有効なデータが取り込まれた場合(ステップA09:YES)には、処理を終了する。一方、有効なデータが取り込まれなかった場合(ステップA09:NO)には、ステップA10に進む。
ステップA10では、内部処理モジュール311が、I/O装置306に読み出し要求を送信してからの経過時間が所定値に達したか否かを判定する。図9で示したとおり、スレーブ装置は、マスタ装置から要求されたデータの準備が所定の遅延クロック数に達するまでに完了しなかった場合、無効応答を発し、データの準備のための処理を無限に続けるようになっている。処理が無限に続くことを避けるために本実施形態では以下の処理を行う。すなわち、経過時間が所定値に達していない場合(ステップA10:NO)には、内部処理モジュール311はステップA13に進み、再度、I/O装置306の同一のアドレスに対する読み出し要求を送信し、ステップA05以降の処理を繰り返す。
一方、経過時間が所定値に達している場合(ステップA10:YES)には、内部処理モジュール311はステップA11に進み、バスクロック信号BCLKを監視し、スロットの先頭を検出する度に、当該スロットのアドレスサイクルが空いているか否かを判定する。アドレスサイクルが空いている場合には内部処理モジュール311はステップA12に進み、マスタキャンセルを送信する。マスタキャンセルは、図4に示したとおり、拡張コードを3hとしたフレームによって表される。
マスタ装置が送信したマスタキャンセルをスレーブ装置が受信すると(図9のステップD02:YES)、スレーブ装置の内部処理モジュール311がデータの読み出しのための処理を中止する(ステップD10)。
以上が、マスタ装置がスレーブ装置にデータの読み出しを要求する場合のバスインターフェース回路310の動作である。
さて、上記の説明では各装置300がマスタ装置、スレーブ装置のいずれかである場合を例として説明したが、本実施形態では、すべての装置300がマスタ装置としての機能とスレーブ装置としての機能とを兼ね備えている。従って、伝送方向上流側のバス100から入力したアドレスが自局に対応していない場合には、このアドレスに対応するフレームは第2の期間だけ遅延されて当該装置300を通過する。
また、各バス100は、それぞれに対して伝送方向上流側に接続されている装置300によって別々に駆動される。従って、各バス100はそれぞれが別々の信号を同時に伝送することができる。
一例として、6つの装置300のすべてがマスタ装置として他の装置300に対して読み出しまたは書き込みの要求を発した場合のタイミングチャートの例を図12に示す
<変形例>
以上説明した形態に限らず、本発明は種々の形態で実施可能である。例えば、上述の実施形態を以下のように変形した形態でも実施可能である。
<変形例1>
上記の実施形態ではマスタキャンセルをアドレスサイクルにおける拡張コードで表し、無効応答をデータサイクルにおけるReadyフラグ(=0)によって表す例を示したが、以下に示すように構成してもよい。すなわち、マスタキャンセルおよび無効応答を表すValid信号を送信するための専用の信号線を各バス100に設ける。そして、図13に示すように、Valid信号を通常はLレベルとし、マスタキャンセルの場合はアドレスサイクルにおいてValid信号をHレベルとする。また、無効応答の場合はデータサイクルの先頭のクロックにおいてValid信号をHレベルとする。このように構成すれば、バスインターフェース回路310の構成を簡略化することができる。
<変形例2>
スロットのクロック数、アドレスサイクルのクロック数、データサイクルのクロック数、遅延クロック数を、扱うデータの種類、装置の構成等、諸条件に応じて適宜変更してもよい。
また、バスに接続する装置の数は3つ以上ならばいくつでもよい。
<変形例3>
上記の実施形態では伝送方向が一方向に定められた伝送路の例を示したが、この場合、例えば伝送方向と逆方向に隣接した装置300に書き込みを要求すると(例えば、CPU301からI/O装置306への書き込み要求)、隣接しているにも関わらず、ROM302、RAM303、HDD304、外部I/F305を経て信号を伝送しなければならず、伝送に長時間を要するだけでなく、伝送路全体の伝送効率が低くなってしまう。この問題を解決するためには、互いに伝送方向を逆方向とした2つの伝送路を設ければよい。具体的には、図15に示すように、双方向の伝送が可能なバスインターフェース回路610を各装置300に設ける。図16は、バスインターフェース回路610の構成を表す図である。内部処理モジュール611は、他の装置300宛に書き込み要求を送信する場合に、伝送に要する時間の長さに応じて出力方向を決定する。例えば、CPU301からI/O装置306に書き込み要求を送信する場合、図15において時計回りに伝送した方が反時計回りに伝送するよりも短い時間で伝送を完了することができるので、CPU301に設けられているバスインターフェース回路610の内部処理モジュール611は、時計回りの方向に書き込み要求を出力する。
同様に、CPU301の内部処理モジュール611は、ROM302またはRAM303に書き込みを要求する場合は反時計回りに、外部I/F305に書き込みを要求する場合は時計回りに書き込み要求を出力する。HDD304に対してはどちらの伝送路でも伝送に要する時間は同じであるから、予め時計回り、反時計回りの一方に伝送方向を定めておく。
<変形例4>
図17は、本発明を適用したCPUブリッジ700の例である。同図において、データスイッチ部710は図1に示した環状の伝送路である。バスコンバータ720は、別々の伝送路間での信号の伝送を仲介する。出力段FIFO730、入力段FIFO740は、CPU700とともに環状の伝送路を構成している次段の装置に接続されている。また、入力段FIFO750、出力段FIFO760は前段の装置に接続されている。
この構成によって、CPU701、システムメモリ702、I/O装置703相互のデータ転送、およびCPUブリッジ700と環状の伝送路を構成する他の装置との間のデータ転送の効率を高めることができる。。
図18は、CPUブリッジ700を用いて構成された画像形成装置のコントローラの例である。この構成によって、画像形成装置内のデータ転送の効率を高めることができる。
<変形例5>
上記の実施形態では本発明を情報処理装置に適用した例を示したが、画像処理装置、画像形成装置、通信装置、表示装置、音響装置等、装置内部で複数の装置がバスを介してデータの遣り取りを行う装置であれば、本発明をいかなる電子機器に適用してもよい。
実施形態の全体構成を表す図である。 バスインターフェース回路310を表す図である。 バス100上を伝送されるフレームの構成を表す図である。 フレームの内容を表す図である。 フレームの内容を表す図である。 マスタ装置におけるバスインターフェース回路310の動作のフローを表す図である。 スレーブ装置におけるバスインターフェース回路310の動作のフローを表す図である。 スレーブ装置におけるバスインターフェース回路310が行う書き込みの動作のフローを表す図である。 スレーブ装置におけるバスインターフェース回路310が行う読み出しの動作のフローを表す図である。 信号の伝送の様子を表すタイミングチャートである。 信号の伝送の様子を表すタイミングチャートである。 信号の伝送の様子を表すタイミングチャートである。 Valid信号の例を表す図である。 信号の伝送の様子を表すタイミングチャートである。 バスインターフェース回路610を各装置300に設けた例である。 バスインターフェース回路610の構成を表す図である。 CPUブリッジ700の例である。 CPUブリッジ700を用いて構成されたコントローラの例である。
符号の説明
1…情報処理装置、301…CPU、302…ROM、303…RAM、304…HDD、305…外部I/F、306…I/O装置、300…装置、100、101、102、103、104、105、106…バス、310…バスインターフェース回路、311…内部処理モジュール、312…有効アドレス生成器、320…入力段FIFO、330…出力段FIFO、340…アドレスデコーダ、350…バイパスFIFO、400…発振器

Claims (10)

  1. マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記マスタ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、
    一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、
    前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、
    前記検出手段が前記先頭を検出するたびに、前記遅延出力手段によるアドレスの出力の有無を判定する第2の判定手段と、
    前記第2の判定手段による判定の結果、前記遅延出力手段によるアドレスの出力がない場合に、前記第1の期間よりも短い第2の期間内に、前記スレーブ装置における書き込み先のアドレスを下流側の前記バスに出力するアドレス出力手段と、
    前記アドレス出力手段がアドレスを出力した後、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを下流側の前記バスに出力するデータ出力手段と
    を有することを特徴とするバスインターフェース回路。
  2. マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記マスタ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、
    一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、
    前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、
    前記検出手段が前記先頭を検出するたびに、前記遅延出力手段によるアドレスの出力の有無を判定する第2の判定手段と、
    前記第2の判定手段による判定の結果、前記遅延出力手段によるアドレスの出力がない場合に、前記スレーブ装置における読み出し先のアドレスを下流側の前記バスに出力するアドレス出力手段と、
    前記アドレス出力手段がアドレスを出力した後、前記入力手段が入力したアドレスが自局から出力されたアドレスであるか否かを判定する第3の判定手段と、
    前記第3の判定手段による判定の結果、前記入力手段が入力したアドレスが自局から出力されたアドレスである場合に、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを上流側の前記バスから入力するデータ入力手段と
    を有することを特徴とするバスインターフェース回路。
  3. 前記アドレス出力手段は、前記スレーブ装置による前記データの準備が完了できなかった旨の通知を受け取った場合に、該データのアドレスを再び下流側の前記バスに出力することを特徴とする請求項2に記載のバスインターフェース回路。
  4. 前記スレーブ装置による前記データの準備が完了できなかった旨の通知を受け取り、且つ、前記アドレス出力手段がアドレスを出力してからの経過時間が所定値に達した場合に、前記スレーブ装置に処理の中止を指示する中止指示手段を有することを特徴とする請求項3に記載のバスインターフェース回路。
  5. マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記スレーブ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、
    一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、
    前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスである場合に、前記アドレスが書き込み先のアドレスであるか否かを判定する第2の判定手段と、
    前記第2の判定手段による判定の結果、前記アドレスが書き込み先のアドレスである場合に、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを上流側の前記バスから入力するデータ入力手段と
    を有することを特徴とするバスインターフェース回路。
  6. マスタ装置とスレーブ装置とを含む3以上の装置の間がそれぞれ別々のバスで接続されて伝送方向が一方向に定められた環状の伝送路における前記スレーブ装置の上流側の前記バスからアドレスまたはデータを入力する入力手段と、
    一定の周期で繰り返される第1の期間の先頭を検出する検出手段と、
    前記検出手段が前記先頭を検出する度に、前記入力手段が入力したアドレスが自局のアドレスであるか否かを判定する第1の判定手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスでない場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスと前記アドレスに対応するデータとを下流側の前記バスに出力する遅延出力手段と、
    前記第1の判定手段による判定の結果、前記アドレスが自局のアドレスである場合に、前記アドレスが読み出し先のアドレスであるか否かを判定する第2の判定手段と、
    前記第2の判定手段による判定の結果、前記アドレスが読み出し先のアドレスである場合に、第1の正の整数を前記周期に乗じた第1の遅延期間だけ遅延させて前記アドレスを下流側の前記バスに出力するアドレス出力手段と、
    前記アドレス出力手段がアドレスを出力した後、第2の正の整数を前記周期に乗じた第2の遅延期間が経過したのに続いて、前記周期から前記第2の期間を差し引いた第3の期間内に、該アドレスに対応するデータを下流側の前記バスに出力するデータ出力手段と
    を有することを特徴とするバスインターフェース回路。
  7. 前記データ出力手段が前記第2の遅延期間の終了までに前記アドレスに対応するデータの出力の準備を完了することができなかった場合に、該準備が完了しなかった旨をマスタ装置に通知する通知手段を有することを特徴とする請求項6に記載のバスインターフェース回路。
  8. 前記データ出力手段は、前記入力手段が前記アドレスと同一のアドレスを再び入力した場合に、該アドレスに対応するデータの出力の準備を行うことを特徴とする請求項7に記載のバスインターフェース回路。
  9. 前記データ出力手段は、前記マスタ装置が処理の中止を指示した場合に、前記準備を中止することを特徴とする請求項8に記載のバスインターフェース回路。
  10. 請求項1または2に記載のバスインターフェース回路を備えた第1の装置と、
    請求項5または6に記載のバスインターフェース回路を備えた第2の装置と
    を有し、
    前記第1の装置と前記第2の装置との総数が3以上であり、該装置間を別々のバスで接続することによって環状の伝送路を形成した
    ことを特徴とする情報処理装置。
JP2007235424A 2007-09-11 2007-09-11 バスインターフェース回路および情報処理装置 Expired - Fee Related JP5082703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007235424A JP5082703B2 (ja) 2007-09-11 2007-09-11 バスインターフェース回路および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007235424A JP5082703B2 (ja) 2007-09-11 2007-09-11 バスインターフェース回路および情報処理装置

Publications (2)

Publication Number Publication Date
JP2009069974A true JP2009069974A (ja) 2009-04-02
JP5082703B2 JP5082703B2 (ja) 2012-11-28

Family

ID=40606188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007235424A Expired - Fee Related JP5082703B2 (ja) 2007-09-11 2007-09-11 バスインターフェース回路および情報処理装置

Country Status (1)

Country Link
JP (1) JP5082703B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム
JP2011023897A (ja) * 2009-07-14 2011-02-03 Toshiba Corp 半導体集積装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102559A (ja) * 1989-09-18 1991-04-26 Fujitsu Ltd 情報処理装置
JPH0424858A (ja) * 1990-05-21 1992-01-28 Oki Electric Ind Co Ltd ホストコンピュータとツールとのハンドシェイク方式
JPH0528104A (ja) * 1991-07-20 1993-02-05 Fuji Xerox Co Ltd マルチプロセツサシステム
JPH06216923A (ja) * 1993-01-14 1994-08-05 Totoku Electric Co Ltd 通信方式
JPH06236345A (ja) * 1993-02-09 1994-08-23 Mitsubishi Electric Corp 信号伝送用バス
JPH06332852A (ja) * 1993-05-20 1994-12-02 Hitachi Ltd データ転送システム
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
JPH10289191A (ja) * 1997-04-11 1998-10-27 Kofu Nippon Denki Kk データ転送装置およびデータ転送システム
JP2002141922A (ja) * 2000-11-01 2002-05-17 Ricoh Co Ltd ループ型バスシステム
JP2003196230A (ja) * 2001-12-28 2003-07-11 Texas Instr Japan Ltd デバイス識別の付与を備えた通信の方法および装置
JP2006163640A (ja) * 2004-12-03 2006-06-22 Sony Corp 装置接続インターフェース

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102559A (ja) * 1989-09-18 1991-04-26 Fujitsu Ltd 情報処理装置
JPH0424858A (ja) * 1990-05-21 1992-01-28 Oki Electric Ind Co Ltd ホストコンピュータとツールとのハンドシェイク方式
JPH0528104A (ja) * 1991-07-20 1993-02-05 Fuji Xerox Co Ltd マルチプロセツサシステム
JPH06216923A (ja) * 1993-01-14 1994-08-05 Totoku Electric Co Ltd 通信方式
JPH06236345A (ja) * 1993-02-09 1994-08-23 Mitsubishi Electric Corp 信号伝送用バス
JPH06332852A (ja) * 1993-05-20 1994-12-02 Hitachi Ltd データ転送システム
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
JPH10289191A (ja) * 1997-04-11 1998-10-27 Kofu Nippon Denki Kk データ転送装置およびデータ転送システム
JP2002141922A (ja) * 2000-11-01 2002-05-17 Ricoh Co Ltd ループ型バスシステム
JP2003196230A (ja) * 2001-12-28 2003-07-11 Texas Instr Japan Ltd デバイス識別の付与を備えた通信の方法および装置
JP2006163640A (ja) * 2004-12-03 2006-06-22 Sony Corp 装置接続インターフェース

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム
US8769142B2 (en) 2009-07-01 2014-07-01 Fujitsu Limited Data transfer apparatus, information processing apparatus and method of setting data transfer rate
JP2011023897A (ja) * 2009-07-14 2011-02-03 Toshiba Corp 半導体集積装置

Also Published As

Publication number Publication date
JP5082703B2 (ja) 2012-11-28

Similar Documents

Publication Publication Date Title
US9076491B2 (en) Audio data inputting apparatus and audio data outputting apparatus
WO2000079401A1 (en) System and method for multi-level context switching in an electronic network
KR100208012B1 (ko) 디지털 오디오/비디오 데이터 전송 장치 및 방법
US8018931B2 (en) Communication apparatus and integrated circuit for communication
JPS63294146A (ja) 通信制御装置
JP5082703B2 (ja) バスインターフェース回路および情報処理装置
US6519265B1 (en) System and method for context switching in an electronic network
JP2004349836A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP4184458B2 (ja) 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路
JP2010198138A (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP2005303787A (ja) パケット生成装置
JP4135374B2 (ja) 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法
JP4037411B2 (ja) Ip画像伝送装置
JP2018173856A (ja) 情報処理装置およびその制御方法
WO2008004301A1 (fr) Unité de transfert de données, unité de traitement, et procédé de transfert de données
JP6833491B2 (ja) 情報処理装置
JP2011101249A (ja) 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体
JP2528947B2 (ja) 通信制御装置
JP2002024167A (ja) データ転送装置
JP2002281079A (ja) 画像データ伝送装置
JP3967792B2 (ja) パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路
JP4387488B2 (ja) オーバフロー保護回路及びこれを用いた画像伝送装置
JP4172921B2 (ja) 撮像装置
JP2005107818A (ja) 調停装置およびそれを用いる画像形成装置
WO2013070241A1 (en) Circuitry to generate and/or use at least one transmission time in at least one descriptor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120820

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees