JP2014041412A - Pciバスの制御装置 - Google Patents

Pciバスの制御装置 Download PDF

Info

Publication number
JP2014041412A
JP2014041412A JP2012182245A JP2012182245A JP2014041412A JP 2014041412 A JP2014041412 A JP 2014041412A JP 2012182245 A JP2012182245 A JP 2012182245A JP 2012182245 A JP2012182245 A JP 2012182245A JP 2014041412 A JP2014041412 A JP 2014041412A
Authority
JP
Japan
Prior art keywords
unit
access request
clock signal
setting
storage unit
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
JP2012182245A
Other languages
English (en)
Other versions
JP6098066B2 (ja
JP2014041412A5 (ja
Inventor
Atsushi Kojima
淳 小嶋
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.)
Casio Computer Co Ltd
Casio Electronics Co Ltd
Original Assignee
Casio Computer Co Ltd
Casio Electronics 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 Casio Computer Co Ltd, Casio Electronics Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012182245A priority Critical patent/JP6098066B2/ja
Publication of JP2014041412A publication Critical patent/JP2014041412A/ja
Publication of JP2014041412A5 publication Critical patent/JP2014041412A5/ja
Application granted granted Critical
Publication of JP6098066B2 publication Critical patent/JP6098066B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

【課題】演算処理部からのリトライ応答の後の演算処理部へのアクセス要求のタイミングを調整し、より短い時間でデータの転送を完了することを課題とする。
【解決手段】演算処理部と、該演算処理部に備えられた第1の記憶部にPCIバスを介してアクセスを行うデバイスとを有するPCIバスの制御装置であって、デバイスからの第1の記憶部へのアクセス要求に対して許可応答が送信された後、第1の記憶部に記憶されたデータの転送処理が完了するまでのクロック数を計数する計数部と、演算処理部からリトライ応答が出力された後のデバイスからの再度のアクセス要求までの時間を遅延させる設定部と、該設定部に設定されたクロック数に対応して、計数部によって計数されたクロック数のデータを記憶し、部によって計数されたクロック数が最も少ないときの、設定部に設定されたクロック数のデータを、以後デバイスからの再度のアクセス要求までのクロック数として使用することを特徴とする。
【選択図】 図1

Description

本発明はPCIバス(Peripheral Component Interconnect Bus)を使用し、複数のデバイスをマザーボード(ホスト制御部)に接続してデータの授受を行うPCIバスの制御装置に関する。
PCIバスにPCIスロットを用いて複数のデバイスを接続し、マザーボード上(ホスト制御部上)のメモリをアクセスする場合、マザーボードに構築されたホストブリッジを介してメモリへのアクセスを行う。例えば、デバイスとしてプリンタ装置を使用する場合、プリンタ装置のビデオ転送回路をPCIスロットに接続し、PCIバスを介してマザーボード上のメモリをアクセスする。
ホストブリッジはデバイス側から、例えばデータリードの要求(REQ)があると、メモリをアクセスし、要求のあったデータを用意し、送信の準備が整うまで当該デバイスに対してリトライ応答(STOP)を行い、その後のデバイス側からのデータリードの要求の際、送信準備が整うと、送信可能である旨の応答(TRDY)を行い、以後メモリからデータをデバイス側に送信する。
しかし、今日マザーボード側のCPUやメモリの処理が高速化し、PCIバスとの動作周波数が異なり、更に非同期である場合も少なくない。この場合、マザーボード側のCPUとPCIデバイス側の制御部は異なったクロック周波数で動作することになり、それ相応の処理時間が必要となる。
尚、特許文献1は、上記リトライが解消されるまでの時間を計測し、最初のアクセスから計測した時間が経過するまでは該当するPCIデバイスからの再度のアクセスをマスクすることによってアクセス効率を向上させる発明を開示する。
特開2000−207354号公報
従来のPCIバスの制御方法では、PCIデバイスから2度目以降のデータリード要求があると、マザーボード側でデータの準備が整い次第、メモリからデータがPCIデバイスに送信される。しかし、マザーボード側からデータを転送したとしても、用意されたデータ量が中途半端であると、データの転送処理が途中で中断し、却ってデータ転送を遅らせる結果となる。
そこで、本発明はリトライ発生後の2度目以降のマザーボード側へのアクセスを開始するタイミングを調整し、より短い時間でデータの転送を完了することができるタイミングを設定するPCIバスの制御装置を提供するものである。
上記課題は本発明によれば、演算処理部と、該演算処理部により制御される第1の記憶部と、該第1の記憶部にPCIバスを介してアクセスを行うデバイスとを有し、前記デバイスは、該デバイスからの前記第1の記憶部へのアクセス要求に対して前記演算処理部から許可応答が送信された後、前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理が完了するまでの間に単位時間間隔で繰り返し発生するクロック信号の発生回数を計数する計数部と、前記演算処理部からリトライ応答が出力された後前記デバイスが先のアクセス要求発生後再度アクセス要求を発生するまでの再アクセス要求時間を変化させる前記クロック信号の発生回数を設定する設定部と、前記設定部に順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数を設定して計数させる待機時間変更部と、前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に、前記計数部によって計数される前記クロック信号の発生回数を前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に対応して記憶する第2の記憶部と、前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に前記計数部によって計数される前記クロック信号の発生回数が最も少ないときの、前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数を前記第2の記憶部から読み出し、前記設定部に設定する制御部と、を有するPCIバスの制御装置を提供することによって達成できる。
本発明によれば、マザーボード側からリトライ応答が行われた後、再度のリードアクセスの要求タイミングを調整し、メモリからのデータ転送の終了時間が最も短くなるアクセスタイミングを設定することによって、マザーボード上のメモリからのデータ転送を効率よく行うことができる。
本実施形態のPCIバスを含むシステム構成図である。 (a)は、PCIバスを使用する通常のデータ転送処理を説明するタイムチャートである。(b)は、リトライ応答が行われた後、再度のリードアクセスの要求タイミングを+1クロック増加(遅延)させた場合のタイムチャートである。(c)は、リトライ応答が行われた後、再度のリードアクセスの要求タイミングを+2クロック増加(遅延)させた場合のタイムチャートである。(d)は、リトライ応答が行われた後、再度のリードアクセスの要求タイミングを+3クロック増加(遅延)させた場合のタイムチャートである。(e)は、リトライ応答が行われた後、再度のリードアクセスの要求タイミングを+4クロック増加(遅延)させた場合のタイムチャートである。 本実施形態の基本的な処理を説明するフローチャートである。 本実施形態の転送速度を測定する処理を説明するフローチャートである。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本実施形態のPCIバスを含むシステム構成図である。同図において、マザーボード(ホスト制御部)にはCPU1及びメモリ2が構築され、CPU1は中央処理装置(演算処理部)であり、メモリ2に記憶されたプログラムに従って処理を行う。また、メモリ2には印刷データのコマンド解析によって作成したビデオデータも記憶されている。
ホストブリッジ3は、マザーボード上のCPU1とPCIバスに接続されたデバイス間のインターフェース(I/F)であり、ホストブリッジ3にはPCIバスを介してPCIデバイス4が接続されている。このPCIデバイス4はマスター機能を有し、例えばマザーボード上のメモリ2へのアクセスを行なう。尚、ホストブリッジ3はPCIデバイスからのアクセス要求に対し、メモリ2との間でデータの授受を行う。
PCIデバイス4はPCIバスとの接続を行なうPCIスロット5、及び主制御部6、待機カウンタ7、有効データ数カウンタ8、クロック数保管部9で構成され、例えばメモリ2に記憶されたビデオデータを不図示のビデオ転送回路に転送する。尚、ビデオ転送回路はメモリ2から転送されたビデオデータを、例えば不図示の印字ヘッドに送信する。
主制御部6はホストブリッジ3にビデオデータを読み出す為のリードアクセスを行い、またメモリ2から読み出されるビデオデータの転送制御を行なう。さらに、待機カウンタ7に後述するクロック数のデータを順次準備する。また、主制御部6にはカウンタ10が設けられ、カウンタ10は後述するFRAME信号出力後、計数処理を開始し、ビデオデータの転送が終了するまで計数処理を行う。
待機カウンタ7はリトライ後のリードリクエストを行う際の送信タイミングを調整する為のカウンタであり、例えば1クロック毎に順次更新するクロック数のデータが主制御部6によってセットされる。
有効データ数カウンタ8はPCIデバイス4がメモリ2からビデオデータを読み出す際のデータ数を計数するカウンタであり、本例では“0”〜“15”の16個のデータを有効データ数としてカウントする。また、有効データ数カウンタ8はビデオデータを16カウントすると、クロック数保管部9にカウント終了信号を出力する。
クロック数保管部9は上記待機カウンタ7にセットするクロック数のデータに対応して、上記カウンタ10の計数結果を保管する。例えば、待機カウンタ7に+1のクロック数がセットされた場合、この時のビデオデータの転送に要するクロック数をカウンタ10によって計測し、この計測値を保管する。また、待機カウンタ7に+2のクロック数がセットされた場合、この時のビデオデータの転送に要するクロック数をカウンタ10によって計測し、この計測値を保管する。以下同様に、待機カウンタ7に+3、+4、・・のクロック数がセットされた場合、それぞれの場合のビデオデータの転送に要するクロック数をカウンタ10によって計測し、計測値を保管する。
尚、PCIバスには上記PCIデバイス4の他に、例えばデータの圧縮処理や伸張処理を行う際に使用するデバイスや、表示データの送受信を行う際に使用するデバイス等の複数のデバイスの接続が可能である。
以上の構成において、以下に本例の処理を説明する。
図2(a)〜(e)は本例の処理を説明するタイムチャートであり、図3及び図4は本例の処理を説明するフローチャートである。
先ず、マザーボード上のメモリ2からビデオデータを読み出す際の通常の処理を説明する。図2(a)に示すタイムチャート、及び図3に示すフローチャートはこの処理を説明するものである。
先ず、PCIデバイス4の主制御部6はマザーボード上のメモリ2に記憶されたビデオデータを読み出すべく、PCIバスを介してホストブリッジ3に対してリードアクセスの要求(REQ)を行う(ステップ(以下、STで示す)1)。
ホストブリッジ3では上記リクエストの要求を受信すると、PCIバスの使用が可能であるか判断する。ここで、PCIバスの使用が可能であればグラント信号(GNT)をアサートし(ST2がYES)、主制御部6は、待機カウント終了を判断する(ST3)。この判断は前述の待機カウンタ7にセットされたクロック数のカウント終了を判断するものであるが、この通常処理において待機カウンタ7は、例えば“0”にリセットされており、直ちにPCIデバイス4によるPCIバスの使用を可能とする。
したがって、ホストブリッジ3からグラント信号が出力されると、主制御部6はFRAMEを出力し(ST4)、PCIデバイス4側の受信準備が整っていることを示すIRDY信号を出力する(ST5)。
図2(a)に示すタイムチャートは上記FARAME出力後の処理を示し、上記FRAMEが出力されると(図2(a)に示す「1」)、メモリ2に対するリードデータのアドレスを提示するアドレスフェーズ(AD)のタイミングが確保される。
次に、ホストブリッジ3はDEVSEL信号を出力し(ST6がYES、図2(a)に示す「2」)、メモリ2から要求されたデータを読み出し、送信の準備ができるまでバスサイクルを中止すべく、STOP(リトライ)を出力する(ST7がYES、図2(a)に示す「3」)。尚、前述のようにマザーボード側とPCIバス側では使用するクロック周波数が異なり、例えば図2(a)で示すaは、要求されたリードデータのメモリ2上のアドレスを認識し、データをメモリ2側のクロック周波数に同期させる為の時間を示し、bはメモリ2から読み出したデータをPCIバス側のクロック周波数に同期させる為の時間を示す。
したがって、本例の場合、上記bに示す時間が経過した後、メモリ2から読み出したデータの送信準備が整うことになる。また、同図(a)のcに示す“0”〜“15”はメモリ2から読み出されるビデオデータを示す。
したがって、マザーボード側でビデオデータの送信準備が整うまで上記処理を繰り返し(ST1〜ST7)、例えば図2(a)に示す例では2回目のSTOP(リトライ)が出力され(図2(a)に示す「4」)、その次のリクエスト要求の際マザーボード側でビデオデータの送信準備が整う。
マザーボード側で送信準備が整うと、ホストブリッジ3からTRDYが出力され(ST8がYES、図2に示す「5」)、主制御部6はメモリ2からPCIバスを介してビデオデータを読み出し、PCIデバイス4から不図示のビデオ転送回路に送信する(ST9がNO、ST10がNO)。この間、有効データ数カウンタ8はビデオデータの転送が終了するまでのクロック数をカウントし、予定していた数のビデオデータの転送が完了すると(ST9がYES)、有効データ数カウンタ8からカウント終了信号がクロック数保管部9に出力され、更に主制御部6に通知され、処理を終了する。
次に、上記通常アクセス時の処理に対して、ビデオデータの転送完了までの時間を短縮する本例の処理を説明する。本例においては、例えば上記有効データ数のビデオデータを転送する際、CPU1からのSTOP(リトライ)出力後の再アクセスまでの時間を、上記通常処理に対して、1クロック毎に増加させ(遅延させ)、ビデオデータの転送完了までの時間を計測する。そして、最も短時間でビデオデータの転送を完了する再アクセスまでの時間を取得する。以下、STOP(リトライ)出力後の再アクセスまでの時間を1クロック毎に増加させた(遅延させた)場合について、タイムチャートを使用して具体的に説明する。
図2(b)は通常アクセスに対して再アクセスまでの時間を1クロック増加(遅延)させた場合のタイムチャートを示し、図2(c)は通常アクセスに対して2クロック増加(遅延)させた場合のタイムチャートを示し、図2(d)は通常アクセスに対して3クロック増加(遅延)させた場合のタイムチャートを示し、図2(e)は通常アクセスに対して4クロック増加(遅延)させた場合のタイムチャートを示す。
図4は上記各場合について、ビデオデータの転送終了までのクロック数を計数し、転送速度を測定するフローチャートである。また、この転送速度の測定には前述のカウンタ10を使用する。尚、前述の図3に示すフローチャートも基本的には使用されるが、前述の説明と重複するので、図3に示すフローチャートについては、本例の処理において追加される待機カウンタの終了処理について説明する。
先ず、図2(b)に示す再アクセスまでの時間を1クロック増加させた場合について説明する。この場合、上記と同様、先ずマザーボード上のメモリ2に記憶されたビデオデータを読み出すべく、PCIバスを介してホストブリッジ3に対してリードアクセスの要求を行う(ステップ(以下、図4においてSで示す)1)。その後、ホストブリッジ3からグラント信号をアサートすると(S2がYES)、PCIデバイス4の主制御部6はFRAMEを出力し、カウンタ10は計数処理を開始する(S3、図2(b)に示す「1」)。
その後、待機カウンタ7はカウント処理を継続し、CPU1側ではデータ転送の準備が整うまでSTOP(リトライ)を出力する(図2(b)に示す「3」)。この場合、上記のように最初のリトライの出力後、再アクセスまでの時間を1クロック遅らせている。すなわち、図2(a)に示す再FRAMEの出力タイミング(図2(a)に示す「6」)に対して、図2(b)に示す再FRAMEの出力タイミング(図2(b)に示す「7」)を1クロック遅らせている。このことによって、CPU1から出力される次のSTOP(リトライ)も1クロック遅れるが、この間に転送データの準備が整わない為、CPU1から再度STOP(リトライ)が出力されている(図2(b)に示す「4」)。
この処理は前述の図3に示すフローチャートの判断(ST3)によって実行され、この例の場合、待機カウンタ7には主制御部6からのクロック数“1”のデータがセットされており、待機カウンタ7において1クロック分の計数が行われた後、FRAMEをホストブリッジ3に出力する。
その後、CPU1側の送信準備が整うと、ホストブリッジ3からTRDYが出力される(図2(b)に示す「5´」)。したがって、この例ではその後、メモリ2からPCIバスを介してビデオデータを読み出し、PCIデバイス4から不図示のビデオ転送回路に送信する。カウンタ10は前述のFRAMEが出力されてからビデオデータの転送が終了するまでカウント処理を継続しており(S4がNO)、転送処理が終了するとカウンタ10は計数処理を終了し(S4がYES)、計測結果であるクロック数のデータをクロック数保管部9に保管する(S5)。この時、リトライ後の再アクセスまでのクロック数“1”のデータに対応してカウンタ10のカウント値がクロック数保管部9に保管される。
この場合、カウンタ10のカウント値は“41”であり、PCIバスのクロック周波数を66MHzとし、ビット幅を32ビットとすると、転送レートは90.1MB/s(66MHz×4バイト×14ワード/41クロック)となる。尚、上記カウント値“41”は次のビデオデータを読み出す為のFRAME出力までの計数値を上記カウンタ10の計数値に加算した値である。
次に、図2(c)に示す再アクセスまでの時間を2クロック増加させた場合について説明する。この場合も、上記と同様、先ずマザーボード上のメモリ2に記憶されたビデオデータを読み出すべく、PCIバスを介してホストブリッジ3に対してリードアクセスの要求を行う(S1)。その後、ホストブリッジ3からグラント信号をアサートし(S2がYES)、主制御部6からホストブリッジ3にFRAMEを送信し、カウンタ10の計数処理を開始する(S3、図2(c)に示す「1」)。
その後、前述と同様カウンタ10は計数処理を継続し、CPU1側ではデータ転送の準備が整うまでSTOP(リトライ)を出力する(図2(c)に示す「3」)。この例の場合、最初のリトライの出力後、再アクセスまでの時間を2クロック遅らせている。すなわち、図2(a)に示す再FRAMEの出力タイミング(図2(a)に示す「6」)に対して、図2(c)に示す再FRAMEの出力タイミング(図2(c)に示す「8」)を2クロック遅らせている。このことによって、CPU1から出力される次のSTOP(リトライ)も2クロック遅れ、この間に転送データの準備が整い、ホストブリッジ3からTRDY#が出力される(図2(c)に示す「9」)。
この処理も前述の図3に示すフローチャートの判断(ST3)によって実行され、この例の場合、待機カウンタ7には主制御部6からのクロック数“2”のデータがセットされており、待機カウンタ7において2クロック分の計数が行われた後、FRAMEをホストブリッジ3に出力する。したがって、この例ではその後、メモリ2からPCIバスを介してビデオデータを読み出し、PCIデバイス4から不図示のビデオ転送回路に送信される。
しかし、この例では16個のデータ転送中にディスコネクトが発生し、データ転送が中止される。この例では“0”〜“13”のビデオデータを転送した後、ディスコネクトが発生し、全てのデータ転送が終了しておらず(S4がNO)、カウンタ10はカウント処理を継続する。その後、再度FRAMEが出力され、ホストブリッジ3からTRDYが再度出力されると(図2(c)に示す「10」)、メモリ2からPCIバスを介して残りのビデオデータ(“14”、“15”)がPCIバスを介して不図示のビデオ転送回路に送信される。そして、転送処理が終了するとカウンタ10は計数処理を終了し(S4がYES)、計測結果であるクロック数のデータをクロック数保管部9に保管する(S5)。この時、リトライ後の再アクセスまでのクロック数“2”のデータに対応してカウンタ10のカウント値がクロック数保管部9に保管される。
この場合、カウンタ10のカウント値は“44”であり、転送レートは84.0MB/s(66MHz×4バイト×14ワード/44クロック)となる。尚、上記カウント値“44”も次のビデオデータを読み出す為のFRAME出力までの計数値を上記カウンタ10の計数値に加算した値である。
次に、図2(d)に示す再アクセスまでの時間を3クロック増加させた場合について説明する。この場合も、上記と同様、先ずマザーボード上のメモリ2に記憶されたビデオデータを読み出すべく、PCIバスを介してホストブリッジ3に対してリードアクセスの要求を行う(S1)。その後、ホストブリッジ3からGNTをアサートし(S2)、主制御部6からホストブリッジ3にFRAMEを送信し、カウンタ10の計数処理を開始する(S3、図2(d)に示す「1」)。
その後、前述と同様カウンタ10はカウント処理を継続し、CPU1側ではデータ転送の準備が整うまでSTOP(リトライ)を出力する(図2(d)に示す「3」)。この例の場合、最初のリトライの出力後、再アクセスまでの時間を3クロック遅らせている。すなわち、図2(a)に示す再FRAMEの出力タイミング(図2(a)に示す「6」)に対して、図2(d)に示す再FRAMEの出力タイミング(図2(d)に示す「11」)を3クロック遅らせている。
この処理も前述の図3に示すフローチャートの判断(ST3)によって実行され、この例の場合、待機カウンタ7には主制御部6からのクロック数“3”のデータがセットされており、待機カウンタ7において3クロック分の計数が行われた後、FRAMEをホストブリッジ3に出力する。このことによって、CPU1から出力される次のSTOP(リトライ)も3クロック遅れ、この間に転送データの準備が整い、ホストブリッジ3からTRDYが出力される(図2(d)に示す「12」)。したがって、この例ではその後、メモリ2からPCIバスを介してビデオデータを読み出し、PCIデバイス4から不図示のビデオ転送回路に送信される。
そして、転送処理が終了するとカウンタ10は計数処理を終了し(S4がYES)、計測結果であるクロック数の値をクロック数保管部9に保管する(S5)。この時、リトライ後の再アクセスまでのクロック数“3”のデータに対応してカウンタ10のカウント値がクロック数保管部9に保管される。
この場合、カウンタ10のカウント値は“36”であり、転送レートは117.3MB/s(66MHz×4バイト×14ワード/36クロック)となる。尚、上記カウント値“36”も次のビデオデータを読み出す為のFRAME出力までの計数値を上記カウンタ10の計数値に加算した値である。
最後に、図2(e)に示す再アクセスまでの時間を4クロック遅らせた場合について説明する。この場合も、上記と同様、先ずマザーボード上のメモリ2に記憶されたビデオデータを読み出すべく、PCIバスを介してホストブリッジ3に対してリードアクセスの要求を行う(S1)。その後、ホストブリッジ3からGNTをアサートし(S2)、主制御部6はホストブリッジ3にFRAMEを送信し、カウンタ10が計数処理を開始する(S3、図2(e)に示す「1」)。
その後、前述と同様カウンタ10はカウント処理を継続し、CPU1側ではデータ転送の準備が整うまでSTOP(リトライ)を出力する(図2(e)に示す「3」)。この例の場合、最初のリトライの出力後、再アクセスまでの時間を4クロック遅らせている。すなわち、図2(a)に示す再FRAMEの出力タイミング(図2(a)に示す「6」)に対して、図2(e)に示す再FRAMEの出力タイミング(図2(e)に示す「13」)を4クロック遅らせている。
この処理も前述の図3に示すフローチャートの判断(ST3)によって実行され、この例の場合、待機カウンタ7には主制御部6からのクロック数“4”のデータがセットされており、待機カウンタ7において4クロック分の計数が行われた後、FRAMEをホストブリッジ3に出力する。このことによって、CPU1から出力される次のSTOP(リトライ)も4クロック遅れ、この間に転送データの準備が整い、ホストブリッジ3からTRDYが出力される(図2(e)に示す「14」)。したがって、この例ではその後、メモリ2からPCIバスを介してビデオデータを読み出し、PCIデバイス4から不図示のビデオ転送回路に送信される。
そして、転送処理が終了するとカウンタ10は計数処理を終了し(S4がYES)、計測結果であるクロック数の値をクロック数保管部9に保管する(S5)。この時、リトライ後の再アクセスまでのクロック数“4”のデータに対応してカウンタ10のカウント値がクロック数保管部9に保管される。
この場合、待機カウンタ7のカウント値は“38”であり、転送レートは111.2MB/s(66MHz×4バイト×14ワード/38クロック)となる。尚、上記カウント値“38”も次のビデオデータを読み出す為のFRAME出力までの計数値を上記カウンタ10の計数値に加算した値である。
以下、待機カウンタ7にクロック数“5”、“6”、・・を順次セットし、上記と同様の処理を繰り返す。そして、クロック数保管部9に順次増加させたクロック数のデータと共に、カウンタ10のカウント値のデータを保管し、カウンタ10によって得られたカウント値は最も小さいクロック数のデータを、以後待機カウンタ7のクロック数として設定する。
このように処理することによって、以後カウンタ10によるカウント値が最も小さくなるクロック数のデータが待機カウンタ7に設定され、メモリ2からのビデオデータの転送に使用する。したがって、以後最も短時間でビデオデータの転送処理を行うことができるクロック数のデータが待機カウンタ7に設定され、最も効率よいビデオデータの転送処理を行うことができる。
尚、上記転送要求信号の発生最適時間を求める処理は、実際にデータを転送する作業を行う前に実施するものである。装置電源のON後、CPU1によりPCIの設定が終了し、CPU1がPCIデバイス4を認識した時点で、CPU1がPCIデバイス4に対して最適時間の計測処理開始を指示する。
尚、上記実施形態の説明において、待機カウンタ7に設定するカウント値は、+1クロック、+2クロック、・・と順次増加する方向に更新するように設定したが、逆に例えば+10クロック、+9クロック、・・と順次減少させる方向に更新するように設定してもよい。
また、前述の図2(a)に示す通常処理の場合、待機カウンタ7の設定値は“0”であり、この場合カウンタ10によってビデオデータの転送処理が終了するまでの計数を行うとカウント数は39クロックとなり、この場合もPCIバスのクロック周波数を66MHzとし、ビット幅を32ビットとすると、転送レートは94.8MB/s(66MHz×4バイト×14ワード/39クロック)となる。
本発明はいくつかの実施形態を説明したが、本発明は特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下、本件特許出願の出願当初の特許請求の範囲に記載された発明を付記する。
付記1
演算処理部と、
該演算処理部により制御される第1の記憶部と、
該第1の記憶部にPCIバスを介してアクセスを行うデバイスとを有し、
前記デバイスは、
該デバイスからの前記第1の記憶部へのアクセス要求に対して前記演算処理部から許可応答が送信された後、前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理が完了するまでの間に単位時間間隔で繰り返し発生するクロック信号の発生回数を計数する計数部と、
前記演算処理部からリトライ応答が出力された後前記デバイスが先のアクセス要求発生後再度アクセス要求を発生するまでの再アクセス要求時間を変化させる前記クロック信号の発生回数を設定する設定部と、
前記設定部に順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数を設定して計数させる待機時間変更部と、
前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に、前記計数部によって計数される前記クロック信号の発生回数を前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に対応して記憶する第2の記憶部と、
前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に前記計数部によって計数される前記クロック信号の発生回数が最も少ないときの、前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数を前記第2の記憶部から読み出し、前記設定部に設定する制御部と、
を有することを特徴とするPCIバスの制御装置。
付記2
前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理の完了の判断は、前記デバイスに設けられた第3の計数部が前記第1の記憶部から転送される所定個のデータを計数することによって行うことを特徴とする付記1に記載のPCIバスの制御装置。
付記3
前記演算処理部からの前記リトライ応答は、前記デバイスへの転送データの準備が整うまでの間、前記待機時間変更部から出力され、前記設定部に設定される順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数は、順次増加する数、又は順次減少する数であることを特徴とする付記1、又は2に記載のPCIバスの制御装置。
付記4
前記デバイスは印刷装置のビデオデータの転送回路であり、前記第1の記憶部に記憶された前記ビデオデータを前記PCIバスを介して印字ヘッドへ転送する際、前記設定部へ前記クロック信号の発生回数を設定し、前記ビデオデータの転送時間を最短にすることを特徴とする付記1、2、又は3に記載のPCIバスの制御装置。
付記5
演算処理部により制御される第1の記憶部にデバイスからPCIバスを介してアクセスを行うPCIバスの制御方法であって、
前記デバイスからの前記第1の記憶部へのアクセス要求に対して前記演算処理部から許可応答が送信された後、前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理が完了するまでの間に単位時間間隔で繰り返し発生するクロック信号の発生回数を計数する計数処理と、
前記演算処理部からリトライ応答が出力された後前記デバイスが先のアクセス要求発生後再度アクセス要求を発生するまでの再アクセス要求時間を変化させる前記クロック信号の発生回数を設定する設定処理と、
前記設定処理において順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数数を設定して計数させる待機時間変更処理と、
前記待機時間変更処理により設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に応じて処理された前記転送処理が完了する迄の間に、前記計数処理によって計数される前記クロック信号の発生回数を前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に対応して第2の記憶部に記憶する処理と、
前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に前記計数処理によって計数される前記クロック信号発生回数が最も少ないときの、前記設定処理に使用された前記再アクセス要求時間を変化させる前記クロック数信号発生回を前記第2の記憶部から読み出し、前記設定処理のクロック信号の発生回数として使用する、
ことを特徴とするPCIバスの制御方法。
1・・・CPU
2・・・メモリ
3・・・ホストブリッジ
4・・・PCIデバイス
5・・・PCIスロット
6・・・主制御部
7・・・待機カウンタ
8・・・有効データ数カウンタ
9・・・クロック数保管部
10・・カウンタ

Claims (5)

  1. 演算処理部と、
    該演算処理部により制御される第1の記憶部と、
    該第1の記憶部にPCIバスを介してアクセスを行うデバイスとを有し、
    前記デバイスは、
    該デバイスからの前記第1の記憶部へのアクセス要求に対して前記演算処理部から許可応答が送信された後、前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理が完了するまでの間に単位時間間隔で繰り返し発生するクロック信号の発生回数を計数する計数部と、
    前記演算処理部からリトライ応答が出力された後前記デバイスが先のアクセス要求発生後再度アクセス要求を発生するまでの再アクセス要求時間を変化させる前記クロック信号の発生回数を設定する設定部と、
    前記設定部に順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数を設定して計数させる待機時間変更部と、
    前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に、前記計数部によって計数される前記クロック信号の発生回数を前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に対応して記憶する第2の記憶部と、
    前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に前記計数部によって計数される前記クロック信号の発生回数が最も少ないときの、前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数を前記第2の記憶部から読み出し、前記設定部に設定する制御部と、
    を有することを特徴とするPCIバスの制御装置。
  2. 前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理の完了の判断は、前記デバイスに設けられた第3の計数部が前記第1の記憶部から転送される所定個のデータを計数することによって行うことを特徴とする請求項1に記載のPCIバスの制御装置。
  3. 前記演算処理部からの前記リトライ応答は、前記デバイスへの転送データの準備が整うまでの間、前記待機時間変更部から出力され、前記設定部に設定される順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数は、順次増加する数、又は順次減少する数であることを特徴とする請求項1、又は2に記載のPCIバスの制御装置。
  4. 前記デバイスは印刷装置のビデオデータの転送回路であり、前記第1の記憶部に記憶された前記ビデオデータを前記PCIバスを介して印字ヘッドへ転送する際、前記設定部へ前記クロック信号の発生回数を設定し、前記ビデオデータの転送時間を最短にすることを特徴とする請求項1、2、又は3に記載のPCIバスの制御装置。
  5. 演算処理部により制御される第1の記憶部にデバイスからPCIバスを介してアクセスを行うPCIバスの制御方法であって、
    前記デバイスからの前記第1の記憶部へのアクセス要求に対して前記演算処理部から許可応答が送信された後、前記第1の記憶部に記憶されたデータの前記デバイスへの転送処理が完了するまでの間に単位時間間隔で繰り返し発生するクロック信号の発生回数を計数する計数処理と、
    前記演算処理部からリトライ応答が出力された後前記デバイスが先のアクセス要求発生後再度アクセス要求を発生するまでの再アクセス要求時間を変化させる前記クロック信号の発生回数を設定する設定処理と、
    前記設定処理において順次更新される前記再アクセス要求時間を変化させる前記クロック信号の発生回数数を設定して計数させる待機時間変更処理と、
    前記待機時間変更処理により設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に応じて処理された前記転送処理が完了する迄の間に、前記計数処理によって計数される前記クロック信号の発生回数を前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号の発生回数に対応して第2の記憶部に記憶する処理と、
    前記設定部に設定された前記再アクセス要求時間を変化させる前記クロック信号発生回数に応じて処理された前記転送処理が完了する迄の間に前記計数処理によって計数される前記クロック信号発生回数が最も少ないときの、前記設定処理に使用された前記再アクセス要求時間を変化させる前記クロック数信号発生回を前記第2の記憶部から読み出し、前記設定処理のクロック信号の発生回数として使用する、
    ことを特徴とするPCIバスの制御方法。
JP2012182245A 2012-08-21 2012-08-21 Pciバス制御システム及びpciバスの制御方法 Expired - Fee Related JP6098066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012182245A JP6098066B2 (ja) 2012-08-21 2012-08-21 Pciバス制御システム及びpciバスの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012182245A JP6098066B2 (ja) 2012-08-21 2012-08-21 Pciバス制御システム及びpciバスの制御方法

Publications (3)

Publication Number Publication Date
JP2014041412A true JP2014041412A (ja) 2014-03-06
JP2014041412A5 JP2014041412A5 (ja) 2015-10-15
JP6098066B2 JP6098066B2 (ja) 2017-03-22

Family

ID=50393641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012182245A Expired - Fee Related JP6098066B2 (ja) 2012-08-21 2012-08-21 Pciバス制御システム及びpciバスの制御方法

Country Status (1)

Country Link
JP (1) JP6098066B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11345198A (ja) * 1998-06-03 1999-12-14 Nec Corp バスマスタ機構およびその制御方法
JP2000122969A (ja) * 1998-10-15 2000-04-28 Matsushita Electric Ind Co Ltd データ転送装置、データ転送方法および記録媒体
US6081859A (en) * 1998-03-12 2000-06-27 Vlsi Technology, Inc. Address dependent retry system to program the retry latency of an initiator PCI agent
JP2001127825A (ja) * 1999-10-22 2001-05-11 Nec Ic Microcomput Syst Ltd 通信装置および通信装置の要求再送方法
JP2001256179A (ja) * 2000-03-14 2001-09-21 Sharp Corp プロセッサシステム
JP2001273247A (ja) * 2000-03-27 2001-10-05 Mitsubishi Electric Corp 階層型バス装置
JP2004213255A (ja) * 2002-12-27 2004-07-29 Casio Electronics Co Ltd Pciバスの制御方法
JP2005242437A (ja) * 2004-02-24 2005-09-08 Sony Corp 情報処理装置および方法、並びにプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081859A (en) * 1998-03-12 2000-06-27 Vlsi Technology, Inc. Address dependent retry system to program the retry latency of an initiator PCI agent
JPH11345198A (ja) * 1998-06-03 1999-12-14 Nec Corp バスマスタ機構およびその制御方法
JP2000122969A (ja) * 1998-10-15 2000-04-28 Matsushita Electric Ind Co Ltd データ転送装置、データ転送方法および記録媒体
JP2001127825A (ja) * 1999-10-22 2001-05-11 Nec Ic Microcomput Syst Ltd 通信装置および通信装置の要求再送方法
JP2001256179A (ja) * 2000-03-14 2001-09-21 Sharp Corp プロセッサシステム
JP2001273247A (ja) * 2000-03-27 2001-10-05 Mitsubishi Electric Corp 階層型バス装置
JP2004213255A (ja) * 2002-12-27 2004-07-29 Casio Electronics Co Ltd Pciバスの制御方法
JP2005242437A (ja) * 2004-02-24 2005-09-08 Sony Corp 情報処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JP6098066B2 (ja) 2017-03-22

Similar Documents

Publication Publication Date Title
WO2017084400A1 (zh) 一种NVMe网络化存储的实现方法、终端、服务器及系统
US9025194B2 (en) Data transmission apparatus for transferring data to an output device for outputting data, printer, information processing apparatus, and control method thereof
KR20170110610A (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US20200201808A1 (en) Time-division multiplexing (tdm) data transfer on serial interfaces
US9940288B1 (en) SerDes alignment process
US20010004749A1 (en) Arbitration of control chipsets in bus transaction
JP6098066B2 (ja) Pciバス制御システム及びpciバスの制御方法
JP2007122410A (ja) バス調停回路及びバス調停方法
US10489319B2 (en) Automatic transmission of dummy bits in bus master
JP4499235B2 (ja) Pciバス互換性を有するマスターおよびアービターと仲裁方法
JP3602435B2 (ja) 制御チップセット間におけるデータトランザクション方法
CN115794713A (zh) Axi总线读写事务均衡方法、装置、电子设备及介质
JP2014041412A5 (ja) 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法
US7302508B2 (en) Apparatus and method for high speed data transfer
JP5677007B2 (ja) バス調停装置、バス調停方法
US11023392B2 (en) Method for arbitrating access to a shared memory, and corresponding electronic device
US20080270668A1 (en) Method to Hide or Reduce Access Latency of a Slow Peripheral in a Pipelined Direct Memory Access System
JP2001256179A (ja) プロセッサシステム
JP5111940B2 (ja) 情報処理装置及びアクセス制御方法
JP7226084B2 (ja) 情報処理装置
WO2012093475A1 (ja) 情報転送装置および情報転送装置の情報転送方法
JP2004213255A (ja) Pciバスの制御方法
JP4969513B2 (ja) データ転送システム
CN113032305A (zh) 一种接口中断测量方法及装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150820

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

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: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R150 Certificate of patent or registration of utility model

Ref document number: 6098066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees