(57)【要約】【課題】データバスの利用における効率を向上させる手法を開示する。【解決手段】バス・システムは、データを転送するバスを含み、バス上で転送することを必要とするデータを備える機能モジュールと、機能モジュールとバスとの間に結合される先入先出デバイス（FIFO）とを含む、データを転送するようバスに結合されるデバイスを更に含む。FIFOを備えて、機能モジュールからの待ち状態データを、バスが機能部分に認可される前に、バス上でデータを転送する旨のバス要求（BUS＿REQ）に応じて記憶し、FIFOにおける上層データは、バスがデバイス又は機能モジュールに認可されるとバス上で直ちに転送されるようにバスを常に駆動させる。【選択図】図２
2006323817.tif 000002
【特許請求の範囲】
【請求項１】
データを交換するようバスに結合されるよう構成されるデバイスであって、
前記バス上で転送される対象のデータを備える機能モジュールと、
該機能モジュールと前記バスとの間に結合されて、前記機能モジュールからの前記データを、前記バスが前記機能モジュールに認可される前に、前記バス上で前記データを転送する旨のバス要求（BUS＿REQ）に応じてバッファリングし始める先入先出デバイス（FIFO）とを備え、
該FIFOにおける上層データは、前記バスが機能部分に認可されると前記上層データが前記バス上で直ちに転送されるように前記バスを駆動させることを特徴とするデバイス。
【請求項２】
請求項1記載のデバイスであって、
前記FIFOにおける前記上層データが出力された後、
前記FIFOにおける次のデータが前記バス上に押し出され、同時に、前記機能モジュールからの次のデータが、前記データが完了するまで受信されることを特徴とするデバイス。
【請求項３】
請求項1記載のデバイスであって、
前記FIFOは、前記機能モジュールからの待ち状態データを、前記機能モジュールが前記バス要求を行う前か該バス要求が行われると同時に一時的に記憶することを特徴とするデバイス。
【請求項４】
請求項3記載のデバイスであって、
前記FIFOがD型トリガであることを特徴とするデバイス。
【請求項５】
請求項1記載のデバイスであって、
前記データは、バス・コントローラからの肯定応答信号を受信すると直ちに前記バスに転送されることを特徴とするデバイス。
【請求項６】
請求項1記載のデバイスであって、
前記機能モジュールは、同期メモリ・モジュール又はコデック・モジュールであることを特徴とするデバイス。
【請求項７】
バス・システムであって、
データを転送するバスと、
データを転送するよう前記バスに結合されて、該バス上で転送することを必要とするデータを備える機能モジュールと、該機能モジュールと前記バスとの間に結合される先入先出デバイス（FIFO）とを含むデバイスとを備え、
前記FIFOは、前記機能モジュールからの待ち状態データを、前記バスが機能部分に認可される前に、前記バス上で前記データを転送する旨のバス要求（BUS＿REQ）に応じて
一時的に記憶し、
前記FIFOにおける上層データは、前記バスが前記デバイス又は前記機能モジュールに認可されると前記上層データが前記バス上で直ちに転送されるように前記バスを常に駆動させることを特徴とするバス・システム。
【請求項８】
請求項7記載のバス・システムであって、
前記FIFOにおける前記上層データが出力された後、
前記FIFOにおける次のデータが前記バス上に押し出され、同時に、同期メモリ・デバイスによって備えられる前記データを前記FIFOに、前記データ転送が終了するまで読み込み得ることを特徴とするバス・システム。
【請求項９】
請求項8記載のバス・システムであって、
前記データは、バス・コントローラからの肯定応答信号を受信すると直ちに前記バスに転送されることを特徴とするバス・システム。
【請求項１０】
請求項7記載のバス・システムであって、
前記FIFOは、前記機能モジュールからの待ち状態データを、前記機能モジュールが前記バス要求を行う前か該要求が行われると同時に一時的に記憶することを特徴とするバス・システム。
【請求項１１】
請求項7記載のバス・システムであって、
前記機能モジュールは、同期メモリ・モジュール又はコデック・モジュールであることを特徴とするバス・システム。
【請求項１２】
バス・システムにおいてデータを交換する方法であって、
前記バス・システムは、バスと、バス・コントローラと、前記バスに結合されるデバイスとを含み、
該デバイスは、転送される対象のデータを備える機能モジュールと、
該機能モジュールと前記バスとの間に結合される先入先出デバイス（FIFO）とを備え、
前記方法は、
前記バス上で転送するよう前記バス・コントローラにバス要求（BUS＿REQ）を行う工程と、
前記機能モジュールからの前記データを前記FIFOにバッファリングし始める工程と、
前記バス・コントローラからバス・アクティブ・コマンドを受信すると前記FIFOからの前記データを直ちに転送する工程とを備えることを特徴とする方法。
【請求項１３】
請求項12記載の方法であって、
前記FIFOにおける上層データは、前記バスが前記デバイス又は前記機能モジュールに認可されると前記バス上で直ちに転送されるように前記バスを常に駆動させることを特徴とする方法。
【請求項１４】
請求項13記載の方法であって、
前記FIFOにおける前記上層データが出力された後、前記FIFOにおける次のデータが前記バス上に押し出され、同時に、前記機能モジュールからの次のデータが、前記データが使い果たされるまで前記FIFOに読み込まれることを特徴とする方法。
【請求項１５】
請求項14記載の方法であって、
前記機能モジュールは、同期メモリ・モジュール又はコデック・モジュールであることを特徴とする方法。
【請求項１６】
請求項12記載の方法であって、
前記上層データを前記バス上で同時に転送する工程を更に備えることを特徴とする方法。
【請求項１７】
請求項12記載の方法であって、
前記データをバッファリングし始める工程は、機能部分が前記BUS_REQを行う前か、前記BUS_REQが行われると同時に、行われることを特徴とする方法。
【請求項１８】
請求項12記載の方法であって、
前記データは、1クロック・サイクルを失うことなく前記バスに直ちに転送されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス・システムに関し、特に、アクセス・レーテンシが何らなしでバスに結合される機能デバイスと、機能デバイスとバスとの間でデータを交換する方法とに関する。
【背景技術】
【０００２】
コンピュータ・ベースのシステムの大半は、バスに結合される機能デバイス間又は、バスに結合される機能デバイス及び組み込みメモリの間でデータを転送する1つ又は複数のバスを含む。バスに結合される機能デバイスは、特殊機能を行い、他のデバイスからはいくぶん自律的であるが、こうしたデバイスによって行われる機能は通常、バス上の他のデバイスとのデータ交換を伴う。機能デバイスの例は、プロセッサ、コーダ、エンコーダ等を含む。そうしたメモリは通常、記憶機能を行い、メモリ自体が機能デバイスとしてみなされるという点で機能デバイスとデータを交換する。
【０００３】
データ交換についての従来のデバイスの動作を説明する必要があり得る。図１は、例示的な機能デバイスの動作タイミング図を示す。バスを介してデバイスにおけるデータを転送する必要がある場合、クロック信号の立ち上がりエッジでデバイスがバス要求（ＢＵＳ＿ＲＥＱ）をバス・コントローラに送るものとする。バス・コントローラは、バスがデバイスに認可されるか否かをデバイスの優先度によって判定する。デバイスの優先度が最大である場合、バス・アクティブ・コマンド（ＢＵＳ＿ＡＣＫ）がデバイスに返信される。
ＢＵＳ＿ＲＥＱからＢＵＳ＿ＡＣＫまでの、図１に示す２つのサイクルなどの、必然的な周期遅延は、バス・コントローラの固有の特性によってバスがこの時点でアイドル状態にあっても必要である。
【０００４】
すなわち、ＢＵＳ＿ＡＣＫがデバイスに返信されたかバスがデバイスに認可された後、デバイスは、バス上でデータを送信し始めるうえで少なくとも1クロック・サイクル、遅れなければならないが、それは、バス上に転送される前にデバイスに備えられるトリガにラッチされることが必要であるからであり、それによってバスの少なくとも1クロック・サイクルが浪費され、バスの効率が低下する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
よって、バス上のデータ交換の効率を向上させる手法に対する必要性が存在する。
【課題を解決するための手段】
【０００６】
この部分は、本発明の一部の特徴を要約し、好ましい実施例の一部を簡単に紹介する目的のためのものである。本明細書のこの部分や要約書、本発明の名称における簡略化や省略を、この部分、要約書や名称の目的をわかりにくくしないようにするよう行い得る。そうした簡略化や省略は、本発明の範囲を限定することを意図するものでない。
【０００７】
一般的に、本発明は、バス上でのデータ交換の効率を向上させる手法に係わる。本発明の一特徴によれば、バス・システムは、データを転送するバスと、データを交換するようバスに結合されるデバイスとを含む。デバイスは、転送することを必要とするデータを備え、バス上でのデータ転送に対するバス要求を行う同期メモリ・モジュールと、同期メモリ・モジュールとバスとの間に結合される先入先出デバイス(FIFO)とを含む。FIFOを用いて、バスがデバイスに認可される前に待ち状態データを記憶する。FIFOにおける上層データは、バスが認可されると上層データがバス上で同期メモリ・モジュールに直ちに転送されるようにバスを常に駆動させる。
【０００８】
本発明においては数多くの機能、便益及び効果が存在し、そのうちの１つは、本発明が、更に効率的にバス上でデータを転送するシステム、方法又は装置を備えるというものである。本発明は、種々の形態で実施し得る。一実施例によれば、本発明は、データを交換するよう、バスに結合されるよう構成されるデバイスであり、デバイスは、バス上で転送される対象のデータを備える機能モジュールと、バスが機能モジュールに認可される前に、バス上でデータを転送する旨のバス要求（BUS＿REQ）に応じて機能モジュールからデータをバッファリングし始める、機能モジュールとバスとの間に結合される先入先出デバイス（FIFO）とを備え、FIFOにおける上層データは、バスが機能部分に認可されるとバス上で上層データが直ちに転送されるようにバスを駆動させる。
【０００９】
別の実施例によれば、本発明は、データを転送するバスを備え、バス上で転送することが必要なデータを備える機能モジュールと、機能モジュールとバスとの間に結合される先入先出デバイス（FIFO）とを含む、データ転送するようバスに結合されるデバイスとを更に備えるバス・システムであり、FIFOは、バスが機能部分に認可される前に、バス上でデータを転送する旨のバス要求（BUS＿REQ）に応じて機能モジュールからの待ち状態データを一時的に記憶し、FIFOにおける上層データは、バスがデバイス又は機能モジュールに認可されると上層データがバス上で直ちに転送されるようにバスを常に駆動させる。
【００１０】
更に別の実施例では、本発明はバス・システムにおいてデータを交換する方法であり、バス・システムは、バスと、バスに結合されるバス・コントローラ及びデバイスとを含み、デバイスは、転送する対象のデータを備える機能モジュールと、機能モジュールとバスとの間に結合される先入先出デバイス (FIFO)とを含み、方法は、バス上で転送するよう、バス・コントローラにバス要求（BUS_REQ）を行う工程と、FIFOにおいて機能モジュールからのデータをバッファリングし始める工程と、バス・コントローラからバス・アクティブ・コマンドを受信するとFIFOからのデータを直ちに転送する工程とを備える。
【００１１】
本発明の目的、特徴及び効果の１つは、バスの利用における効率を向上させるためにバス上でデータを交換する手法を備えるというものである。
【発明を実施するための最良の形態】
【００１２】
本発明の他の目的、特徴及び効果は、添付図面とともに検討する、以下の、その実施例の詳細説明を検討することによって明らかになる。
【００１３】
本発明のこれらや他の特徴、局面及び効果は、以下の記載、本特許請求の範囲及び添付図面に関して更に分かるようになるものである。
【００１４】
本発明の詳細説明は、本発明において想定されるデバイス又はシステムの動作に直接又は間接的に類似した手順、工程、論理ブロック、処理や他の記号表現によって概ね提示される。こうした記述や表現は、自らの成果を当該技術分野における他の当業者に最も効果的に伝えるよう当業者によって通常用いられる。
【００１５】
本明細書及び特許請求の範囲における「one  embodiment」や「an  embodiment」への言及は、当該実施例に関して説明する特定の特徴、構造又は特性を本発明の少なくとも一実施例に含めることができるということを意味する。本明細書における種々の箇所において「in  one  embodiment」の句が生起することは必ずしも、全てが同じ実施例を表すものでなく、他の実施例と独立排他的に別個の実施例又は代替的な実施例を表すものでもない。更に、本発明の1つ又は複数の実施例を表す、プロセス・フローチャート又はプロセス図におけるブロックの順序や、連番の使用は、本来的に、何れかの特定の順序を示すものでも本発明における何れかの制約を示唆するものでもない。
【実施例】
【００１６】
次に、いくつかの図にわたって同じ数字が同じ部分を表す添付図面を参照する。図2は、本発明の一実施例による例示的なバス・システム200を示す。バス・システム200は、バス202と、バス・コントローラ204と、210及び220の２つのみを示す複数の機能デバイスとを含む。バス・コントローラ204は、バス上でデータを転送することが可能なデバイスを判定するよう構成される。デバイスの機能によって、デバイスの各々は、FIFO212と、同期メモリ214又はコデック・モジュール216を含む。
【００１７】
本発明の説明を容易にするよう、同期メモリ・モジュール214又はコデック・モジュール216は、デバイスの機能を支配する機能部分又は機能モジュールとして表す。よって、デバイス210は、メモリ・デバイス（例えば、USBフラッシュ・ドライブ）であってよく、デバイス220は、カメラとのインタフェース（例えば、画像データを符号化又は復号化するDSPチップ）であってよい。本発明の特徴をわかりにくくしないよう、そうしたデバイスの例はこれ以上列挙しないこととする。
【００１８】
図２に示すように、FIFO212は、機能モジュール214又は216と、バス202との間に結合される。一実施例では、D型フリップ・フロップ（トリガ）をFIFOとして構成して、クロックの現在のサイクルでデータを出力する。バス・システム200の動作を全面的に理解するよう、図3を備えて、バス・システム200の動作に関して相当するタイミング図を示す。
【００１９】
機能デバイス210におけるデータをバス202上に転送する必要がある場合、メモリ・モジュール214は、バスのクロック信号の立ち上がりエッジでバス要求（BUS＿REQ）をバス・コントローラ204に行う。バス・コントローラ204は、機能デバイス210の優先度によってバスが機能デバイス210に認可されるか否かを判定する。機能デバイス210の優先度が最大の場合、バス・アクティブ・コマンド（BUS＿ACK）は機能デバイス210に返信される。機能デバイス210は更に、同期モジュール214からの待ち状態データをFIFO212に、FIFO212が一杯になるまで、BUS＿ACKがもう一度受信される前に転送し始める。なお、FIFO212を備えて待ち状態データを一時的に記憶する。一実施例では、待ち状態データがFIFO212に、BUS＿REQが送られる前か、BUS＿REQが行われると同時に書き込まれる。
【００２０】
BUS＿ACKが受信されると、FIFO212は、上層データを宛先デバイスにバス上で出力するが、それは、FIFOにおける上層データが常時バスを駆動させ、先行技術システムとして説明した、1クロック・サイクルの遅延を必要としない。すなわち、上層データをバス上でバスのクロックの第１のサイクル中にBUS＿ACKが受信された後に転送し得る。FIFO212における上層データが出力された後、FIFO212における次のデータが上層に押し出されることになり、同時に、同期メモリ・デバイス214において転送されることが必要な残りのデータが、FIFO２１２にデータ転送が終了するまで書き込まれる。バス上の転送速度は、FIFO212の出力速度に等しいので、FIFO212はバス上の転送速度に悪影響を何ら及ぼさないものである。
【００２１】
図１及び図３を比較すれば、１クロック・サイクルのレーテンシが、本発明のバス・システムにおいてBUS＿ACKが受信された後に節約され、それによってバスの利用における効率が増加する。
【００２２】
本発明は、ある程度の特定性をもって十分詳細に説明した。本願の実施例の開示は例として行ったに過ぎず、部分の配置及び組み合わせにおける種々の変更を、本特許請求の範囲記載の本発明の技術思想及び範囲から逸脱することなく行使し得るということが当業者に分かるものである。よって、本発明の範囲は、実施例の上記説明よりも本特許請求の範囲によって規定される。
【図面の簡単な説明】
【００２３】
【図１】例示的な機能デバイスを示す動作タイミング図である。
【図２】本発明の一実施例による例示的なバス・システムを示す図である。
【図３】本発明の一実施例によるバス・システムを示す動作タイミング図のタイミングを示す図である。
【符号の説明】
【００２４】
200  バス・システム
202  バス
204  バス・コントローラ
210  機能デバイス
212  FIFO
214  メモリ・デバイス
216  コデック・デバイス
220  機能デバイス
【図１】
2006323817.tif 000003
【図２】
2006323817.tif 000004
【図３】
2006323817.tif 000005
【外国語明細書】
2006323817.tif 000006
2006323817.tif 000007
2006323817.tif 000008
2006323817.tif 000009
2006323817.tif 000010
2006323817.tif 000011
2006323817.tif 000012
2006323817.tif 000013
2006323817.tif 000014
2006323817.tif 000015
2006323817.tif 000016
2006323817.tif 000017
2006323817.tif 000018
【図１】
2006323817.tif 000019
【図２】
2006323817.tif 000020
【図３】
2006323817.tif 000021