JPWO2012140848A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JPWO2012140848A1
JPWO2012140848A1 JP2013509776A JP2013509776A JPWO2012140848A1 JP WO2012140848 A1 JPWO2012140848 A1 JP WO2012140848A1 JP 2013509776 A JP2013509776 A JP 2013509776A JP 2013509776 A JP2013509776 A JP 2013509776A JP WO2012140848 A1 JPWO2012140848 A1 JP WO2012140848A1
Authority
JP
Japan
Prior art keywords
transmission interval
initiator
access
transmission
bus
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
JP2013509776A
Other languages
English (en)
Other versions
JP5776022B2 (ja
Inventor
石井 友規
友規 石井
山口 孝雄
孝雄 山口
篤 吉田
篤 吉田
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2013509776A priority Critical patent/JP5776022B2/ja
Publication of JPWO2012140848A1 publication Critical patent/JPWO2012140848A1/ja
Application granted granted Critical
Publication of JP5776022B2 publication Critical patent/JP5776022B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

制御装置は、イニシエータから受け取ったアクセス要求の送信タイミング(送信間隔)を制御する。制御装置は、第1バスにより接続された、隣接する第1イニシエータからバーストアクセスに関するアクセス要求を受信し、前記アクセス要求をネットワーク化された第2バスに送信する送受信部と、前記バーストアクセスが継続する期間中の前記バーストアクセスの密度および前記第2バスのアクセス負荷に応じて、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御する送信間隔制御部とを備えている。

Description

本願は、ネットワーク化された通信バスを備える半導体チップにおいて、通信バスの制御を行うための装置、方法及びプログラムに関する。
近年、システム・オン・チップ(System on Chip;以下「SoC」)や、マルチコア・プロセッサ分野における通信バスとして、ネットワーク・オン・チップ(Network−on−Chip、以下「NoC」)が用いられるようになってきた。
図1は、イニシエータI1〜I4とターゲットT1〜T4との間のメインバスにNoCを適用した一般的な接続構成の例を示す。イニシエータは、たとえば、DSP(Digital Signal Processor)、CPU(Central Processing Unit)、DMAC(Direct Memory Access Controller)などである。また、ターゲットは、たとえば、外部のDRAMに接続されるメモリコントローラ、SRAM、外部との入出力用のバッファメモリなどである。
イニシエータおよびターゲットは、ネットワーク・インタフェース・コントローラ(Network Interface Controller;NIC)であるNIC1〜NIC8を介して、NoCルータR1〜R4で構成されるネットワークバスにより、相互に通信可能な状態に接続されている。NoCでは、バス上でのデータのやりとりは全てパケット単位で行われる。そのために、NICはイニシエータやターゲットが送受信するトランザクションデータをパケット化および脱パケット化する機能を有する。またNoCの構造上、ルータ間を接続するリンクL1〜L8は、複数のイニシエータI1〜I4からターゲットT1〜T4へパケットが送信される際に共用される。
図1のような構成のNoCにおいて、各リンクの通信帯域は、相反する2つの制約の下で設計される。すなわち、リンク帯域を向上させることにより、各イニシエータが要求するレイテンシやスループットなどの伝送品質を確保するという第一の制約と、リンク帯域を低減させることにより、回路の高周波設計を避け、消費電力を低減するという第二の制約である。
各イニシエータが要求する帯域は、一般的には時間変動するため、単位時間当たりに要求される平均帯域と最大帯域とは一致しない。仮に、同一のリンクを共用し、非同期的にパケットの送信を行う複数のイニシエータがターゲットに対してほぼ同時に最大帯域のアクセスを行った場合、経路上のリンクは全てのアクセスを収容することができず、レイテンシの増加やスループットの低下が発生する。とくに、バースト型のアクセスを行うイニシエータが存在する場合、一連のアクセス(バーストアクセス)の発生中は、送信経路上のリンクが過負荷となることで、リンクを共用する他のイニシエータの通信品質も低下させ、処理のリアルタイム性を阻害する。
ここでいう「バースト型のアクセス」または「バーストアクセス」とは、たとえば、一定数のアクセスを連続的に行った後に内部で計算処理を行い、再び一定数のアクセスを連続的に行う形態のアクセスである。図2は、メモリへのバーストアクセスの一例を示す。横軸が時間を表し、縦軸がメモリから読み出したデータ量(メモリアクセスの量)を示している。一定期間継続する一連のアクセスが発生した後、アクセスが一旦止まり、その後再び一定期間継続する一連のアクセスが発生していることが理解される。
特許文献1は、非同期的に動作する複数のイニシエータ間で通信バスを共用する場合のパケット送信の競合を回避する技術を開示する。イニシエータが通信バスをモニタすることで送信の競合を検出し、イニシエータ毎にランダムな待ち時間を設定して待機し、待ち時間の経過後に再び送信動作を行う。かかる動作により、各イニシエータは、自律的に送信パケットの競合を避けながら通信バスを共用することが可能となる。
また非特許文献1には、待機時間の計算方法が示されている。非特許文献1によれば、他のイニシエータとの競合を検出している時間が長いほど、待機時間も長くすることで、効率的に送信要求の競合を防ぐことが可能となる。
特開昭61−230444号公報
IEEE Std 802.3規格書(セクション4.2.3.2.5)
非特許文献1は、一般的なネットワークにおける伝送プロトコル技術に関しており、NoCに一律に適用することは困難である。その理由は、一般的なネットワークの通信はベストエフォート型通信であり、遅延が許容されるが、NoCにおける通信の多くはリアルタイム性が必要とされることが多く、遅延が許容されないからである。
そのため、NoCにおいて、たとえばバーストアクセスの発生中に、処理のリアルタイム性を向上させる技術が必要とされていた。
本発明の一態様による制御装置は、イニシエータから受け取ったアクセス要求の送信タイミングを制御する制御装置であって、第1バスにより接続された、隣接する第1イニシエータからバーストアクセスに関するアクセス要求を受信し、前記アクセス要求をネットワーク化された第2バスに送信する送受信部と、前記バーストアクセスが継続する期間中の前記バーストアクセスの密度および前記第2バスのアクセス負荷に応じて、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御する送信間隔制御部とを備えている。
本発明の一態様によれば、NoCにおいて、たとえばバーストアクセスの発生中に、処理のリアルタイム性を向上させ、帯域の利用効率を向上することが可能となる。
イニシエータI1〜I4とターゲットT1〜T4との間のメインバスにNoCを適用した一般的な接続構成の例を示す図である。 メモリへのバーストアクセスの一例を示す図である。 従来技術を適用した場合において、処理の締切時刻までに全てのアクセスが完了されない例を示す図である。 本発明の一実施形態にかかる、NoCバスを有するSoC100の構成例を示す図である。 DMACが生成した要求トランザクション10のデータ構造の例を示す図である。 NIC1によってパケットヘッダPHが付加されてパケット化された要求トランザクション12を示す図である。 NIC5がMEM1から受け取った返信トランザクション14のデータ構造の一例を示す図である。 パケット化された返信トランザクション16および18のデータ構造の一例を示す図である。 典型的なバーストアクセスの様子を示した例を示す図である。 DMAC、ENC、DECが同時にMEM1に対してアクセス要求を行った場合に、DMACのアクセスが遅延する様子を示す図である。 DMAC、ENC、DECが送信間隔の調整を行いながらMEM1に対してアクセス要求を行った場合の、DMACのアクセスが遅延する様子を示す図である。 イニシエータ側のNIC120の基本的な構成を示す図である。 送信間隔制御部125の基本構成を示す図である。 送信間隔制御部125が管理するパラメータを記録するためのレジスタ群の例を示す図である。 送信間隔制御部125の処理の手順を示すフローチャートである。 バーストアクセスの種類を示す図である。 ENC、DEC、DMACのアクセスをモデル化し、ソフトウェアシミュレータにより、レイテンシの大きさを比較評価した図である。 ENC、DEC、DMACのアクセスをモデル化し、ソフトウェアシミュレータにより、レイテンシの大きさを比較評価した図である。
上述したとおり、一般的なネットワークの通信はベストエフォート型通信であり、遅延が許容される。一方、NoCにおける通信の多くはリアルタイム性が必要とされることが多く、遅延が許容されない。NoCに関しては、このような事情が存在する。以下に、具体的に説明する。
映像や音声の信号処理を行うDSPは、映像フレームまたは音声フレームの周期を分周したデータ処理周期で動作する。そのため、DSPはデータ処理周期の先頭で複数のパケットを非同期的に送信する傾向が強い。このようにして送信された複数のパケットは、同一周期内に全て処理が完了しなければならないという点で同じ処理完了期限を有している。しかしながら、それらのパケットがほぼ同じ時刻にバス上に多数送信された場合、リソースの競合によりバスの負荷が上昇し、処理完了期限を守ることができなくなる。非同期的に複数パケットが連続送信される例としては、メモリなどに対するバーストアクセスが代表的である。
上述した従来技術を適用することによって上記の課題を解決することは困難である。従来技術では、競合が繰返し発生した場合、待機時間の上限を切り上げながら、ランダムに待機時間を延ばしていく。この結果、一周期内に全てのアクセスを完了することができず、リアルタイム性が損なわれ、信号処理の処理落ちが発生する。
図3は、従来技術を適用した場合において、処理の締切時刻までに全てのアクセスが完了されない例を示す。図3に示されるイニシエータ1およびイニシエータ2は、ともにバーストアクセスを行うイニシエータであるとする。バーストアクセスを行う複数のイニシエータが競合する状況下では、図3に示すように、競合の繰返し発生による待機時間上限の切り上げが起こる。イニシエータ1およびイニシエータ2がともに時刻t0で同時にアクセス要求を開始すると仮定する。すなわち、最初のアクセス競合は時刻t0で発生する。このとき、イニシエータ1、イニシエータ2はそれぞれ上限をLとするランダムな待機時間を設定して競合回避を行う。イニシエータ1の待機時間のほうがイニシエータ2の待機時間よりも短かった場合、イニシエータ1がイニシエータ2より先に、バーストアクセスを再開させる。イニシエータ2の待機状態が時刻t1に解除されると、再び競合が発生する。このとき、イニシエータ2は連続した2回の競合を検出しているため、待機時間の上限は2倍に切り上げられる。その結果、再びイニシエータ1の待機時間上限のほうがイニシエータ2よりも短くなる。さらに、時刻t2にイニシエータ2の待機状態が解除されると、先にアクセスを再開させたイニシエータ1との間で再び競合が発生し、イニシエータ2は3回の競合を検出したため、待機時間の上限は4倍に切り上げられる。
このように初回の競合で長時間待機したイニシエータ2が、その後の再競合でも不利となり、再びイニシエータ2のアクセスが開始される時刻は、時刻t3となる。時刻t3においては、イニシエータ1のアクセスは全て完了しているため、イニシエータ2のバーストアクセスが再開される。しかしながら、度重なる待機時間の延長により、図示されている処理の締切時刻までに全てのアクセスを完了するだけの時間的な余裕はもはや存在しない。このように従来技術では、データ処理周期以内に既定量のアクセスが実行できず、処理のリアルタイム性を確保することができなかった。
本願明細書では、バーストアクセスを行う複数のイニシエータまたはノードが競合する状況下であっても、競合を適切に抑え、処理のリアルタイム性を確保する技術を開示する。
本発明の一態様による制御装置は、イニシエータから受け取ったアクセス要求の送信タイミングを制御する制御装置であって、第1バスにより接続された、隣接する第1イニシエータからバーストアクセスに関するアクセス要求を受信し、前記アクセス要求をネットワーク化された第2バスに送信する送受信部と、前記バーストアクセスが継続する期間中の前記バーストアクセスの密度および前記第2バスのアクセス負荷に応じて、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御する送信間隔制御部とを備えている。
前記送信間隔制御部は、前記バーストアクセスが継続する期間中の前記第1イニシエータからのアクセス要求の回数に基づいて前記バーストアクセスの密度を算出してもよい。
前記第2バスには第2イニシエータが接続されており、前記送信間隔制御部は、前記アクセス要求を前記第2イニシエータに送信してから応答が帰ってくるまでの時間であるレイテンシを、前記第2バスのアクセス負荷として求めてもよい。
前記送信間隔制御部は、前記第1イニシエータからのアクセス要求に許容される遅延量である許容遅延の値が非負のときに、前記レイテンシを求め、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御してもよい。
前記送信間隔制御部は、予め定められたサイクル、残されたサイクル数および残されたアクセス要求の数に基づいて、前記許容遅延の値を計算してもよい。
前記送信間隔制御部は、前記第1イニシエータと前記第2バスに接続された前記第2イニシエータとの間のレイテンシを求め、前記レイテンシが、予め定められた少なくとも1つの閾値よりも大きいときは、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを遅らせるよう、送信間隔を拡大してもよい。
前記送信間隔制御部は、現在設定されている第1送信間隔に、前記バーストアクセスの密度に応じた値を加算して第2送信間隔を求め、前記第2送信間隔が前記許容遅延の値よりも小さいときは、前記第2送信間隔に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御してもよい。
前記送信間隔制御部は、前記第1イニシエータと前記第2バスに接続された前記第2イニシエータとの間のレイテンシを求め、前記レイテンシが、予め定められた少なくとも1つの閾値以下のときは、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを早めるよう、送信間隔を縮小してもよい。
前記送信間隔制御部は、現在設定されている第1送信間隔から、前記バーストアクセスの密度に応じた値を減算して第2送信間隔を求め、前記第2送信間隔が前記許容遅延の値よりも小さいときは、前記第2送信間隔に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御してもよい。
前記送信間隔制御部は、前記第2送信間隔が前記許容遅延の値以上のときは、前記許容遅延の値に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御してもよい。
前記送信間隔制御部は、前記第2送信間隔およびトランザクションの転送に要する時間の和に相当する期間は、前記第1イニシエータからのアクセス要求の発行を禁止してもよい。
本発明の一態様によれば、同一の処理完了時刻を有する複数パケットを非同期的に通信する通信バス(たとえば半導体バス)において、複数パケットの送信間隔を適切に調整することにより、処理完了時刻を守りながら、必要なアクセス量を最短時間で実行する。これにより、低い通信バス速度・低いバス消費電力で、メディア処理などのアプリケーションのリアルタイム性を確保しながら、帯域の利用効率を向上することが可能となる。
以下、添付の図面を参照しながら、本発明の一態様による送信間隔制御装置の実施形態を説明する。以下の実施形態においては、携帯電話やAV機器に組み込まれるSoCのメインバスとしてNoCを使用する例を挙げて、送信間隔制御装置を説明する。
図4は、NoCバスを有するSoC100の構成例を示す。SoC100は、たとえば携帯電話やAV機器に組み込まれる。図4においては、最上段に記載されたイニシエータから、最下段に記載されたターゲットにデータが伝送される。または、当該イニシエータからの読み出し要求に応答して、ターゲットからイニシエータにデータが伝送される。
図4にはバスのイニシエータおよびターゲットの一例が示されている。すなわちイニシエータとして、画面への表示処理を行うDMAC(Direct Memory Access Controller)、映像信号のMPEG(Motion Picture Expert Group)符号化を行うENC(Encoder)、映像信号のMPEG復号化を行うDEC(Decoder)、ウェブブラウザやユーザインタフェース処理などを行うCPU(Central Processing Unit)が含まれる。またターゲットとして、外部のDRAM1〜DRAM4に接続されたメモリコントローラMEM1(Memory Controller 1)からMEM4(Memory Controller 4)が含まれる。
各イニシエータおよび各ターゲットは、ネットワーク・インタフェース・コントローラNICn(n:1〜8の整数)と接続されている。そして、複数のネットワーク・インタフェース・コントローラの間は、ルータRk(k:1〜4の整数)によって接続されている。これにより、各イニシエータおよび各ターゲットが相互に通信可能に接続される。
本発明の一態様に係る送信間隔制御装置は、イニシエータと接続されたNICn(n:1〜4の整数)として機能する。送信間隔制御装置として機能するNICの構成は、後に図12を参照しながら詳細に説明する。
以下では、SoC100におけるデータの基本的な処理およびデータの流れを概説する。
イニシエータは、まずターゲットへのアクセス要求である要求トランザクションを生成し、自身と接続されたNICに出力する。
イニシエータから要求トランザクションを受け取ったNICは、受け取った要求トランザクションをパケット化し、ルータRk(k:1〜4の整数)同士の接続によって構成されるネットワークバスに送出する。
NICは、ルータRを介してイニシエータ側からパケットを受信し、そのパケットからイニシエータの要求トランザクションを構成する。そしてNICは、得られた要求トランザクションを、自身と接続されたメモリコントローラに転送する。メモリコントローラは、要求トランザクションに従ってDRAMへのデータの書き込みを行い(データライト)、または、DRAMに格納されたデータを読み出す(データリード)。その結果は、そのメモリコントローラMEMからNICに渡される。
メモリコントローラMEMに接続されたNICは、メモリコントローラMEMがDRAMにリードまたはライトすることによって得られた結果である返信トランザクションをパケット化し、ルータRで構成されるネットワークバス上に送出する。
そしてイニシエータに接続されたNIC1〜4は、ターゲットから送られた返信パケットを受け取って脱パケット化し、返信トランザクションを構成して、アクセス結果としてイニシエータに通知する。
次に、上述の要求トランザクションおよび返信トランザクションの具体例を説明する。ここでは、DMACが要求トランザクション10を送信して、MEM1に格納されたデータを読み出す例を説明する。
図5はDMACが生成した要求トランザクション10のデータ構造の例を示す。要求トランザクション10は、R/Wフィールド、ADDRフィールドおよびSIZEフィールドを有している。図5ではそれぞれ「R/W」、「ADDR」、「SIZE」と示されている。以下の図6〜8でも同様に記載する。
R/Wフィールドにはメモリからの読み出し動作を行うことを示す命令が記述される。ADDRフィールドにはデータの読み出しを行うDRAMのアドレスが記述される。またSIZEフィールドで読み出すべきデータのサイズが指定されている。
図6は、NIC1によってパケットヘッダPHが付加されてパケット化された要求トランザクション12を示している。パケットヘッダPHには、要求元(その要求を送信したイニシエータ)としてNIC1のノードのIDが格納される。またパケットヘッダPHには、要求の宛先としてNIC5のノードのIDが格納される。NIC5は、パケット化された要求トランザクション12からパケットヘッダを除去する処理(脱パケット化処理)を行って図5に示した要求トランザクション10を再構成し、その要求トランザクション10をMEM1に転送する。
MEM1は、要求トランザクション10に記述されたR/Wフィールドに基づいて読み出し動作であることを特定する。さらにMEM1は、ADDRフィールドおよびSIZEフィールドを読み取り、ADDRフィールドに指定されたDRAM上の番地から、SIZEフィールドに指定されたサイズのデータを読み出す。その後MEM1は、読み出した結果得られたデータを、NIC5に出力する。
図7はNIC5がMEM1から受け取った返信トランザクション14のデータ構造の一例を示す。NIC5は返信トランザクションをパケット化し、ネットワークバスに転送する。
図8は、パケット化された返信トランザクション16および18のデータ構造の一例を示す。返信トランザクション16は、取得したデータにパケットヘッダPHを付して生成される。なお、返信するデータのサイズが大きい場合には、複数のパケットに分けて返信されてもよい。1つの返信パケット16または複数の返信パケット18を受け取った後、NIC1は、返信パケット16または18を脱パケット化処理することにより、図7に示す返信トランザクション14を再構築する。NIC1は、そのデータをDMACに転送することで、DMACのメモリアクセスが完了する。
次に、本実施形態によるSoC100の動作を説明する。
以下では、イニシエータであるDMACが映像を画面(図示せず)表示する処理を行うとする。ただし、SoC100上ではDMACのみが動作するのではなく、ENC、DEC、CPUも並列的に動作しつつ、データの授受を行う状況を想定する。
表示される映像にコマ落ちやフリーズが発生すると、製品のユーザ価値を低下させてしまう。そのようなコマ落ちやフリーズを発生させないためには、メモリアクセス時のレイテンシに関しては厳しい要求が課され、リアルタイム性の確保が重要となる。
一方、MPEGに代表される映像や音声の符号化と復号化のアルゴリズムを実行するENC及びDECは、その信号処理の過程で、バースト的なアクセスを発生させる。図9は典型的なバーストアクセスの様子を示した例である。図9中の“Tb"はバーストが発生する周期である。MPEGのマクロブロック単位で信号処理を行うコーデックであれば、Tbは1マクロブロック時間に相当するサイクル数で表される。“Np"は1回のバーストで発生するアクセスの回数である。Npはバーストアクセスの開始に先立って、コーデックの処理アルゴリズムにより決定される。
またCPUは、ユーザとのインタラクション処理やインターネットのブラウジング処理などに用いられる。アクセスが発生するタイミングやアクセス量を事前に見積もることは困難であるが、他のイニシエータと比較すると、CPUの処理に関してはリアルタイム性に対する要求は厳しくない。
ネットワークバスを構成するルータは、パケットヘッダに格納された宛先に従って出力ポートを決定し、パケットの転送を行っていく。1パケットを転送するために必要なサイクル数Tpは、内部のハードウェア構成とパケットサイズによって異なる。
図10はDMAC、ENC、DECが同時にMEM1に対してアクセス要求を行った場合に、DMACのアクセスが遅延する様子を示す。図面の上からENC、DEC、DMAC、R1およびR3がパケットを出力していること、および、パケットを出力した時刻(サイクル)が示されている。なお図中で各パケットに振られた番号は、パケットを区別するための番号であり、説明の都合上付加したものに過ぎない。
図10の例では、ENCとDECが同一のタイミングでパケット1とパケット2のデータを送信し、続くサイクルでパケット3とパケット4を送信し、続くサイクルでパケット5とパケット6を送信している。そして、パケット5および6が出力されたタイミングと同一のタイミングでDMACがパケット7を送信している。
以下の説明では、ルータR1およびR3は、ENC、DECからの送信パケットとの干渉待合が発生しなければ、1パケットの転送に1サイクルを要すると仮定する。つまり、DMACから出力されたパケット7は2サイクル後に、MEM1に到着するものとする。
ENCとDMACが送信したパケットは、1サイクル後にルータR1に受信され、後段のルータR3へと中継される。一方、ENCからのパケット5の送信と同時にDMACから送信されたパケット7は、ENCからのパケット5と同時にルータR1を通過できない。そこで、たとえばパケット7はパケット5の後に中継される。このときパケット7には1サイクルの遅延が発生することになる。
一方、DECは、ENCの送信開始のタイミングと同一のタイミングでパケット2、パケット4、パケット6を順に送信している。パケット2、4、6はルータR2を経由してルータR3に送信される。ルータR3は、ルータR1の中継パケットと共にパケット2、4、6を中継する。ルータR3は、ルータR1からのパケットと、DECからのパケットを交互に出力する。
図10のルータR3のパケット出力タイミングによれば、ルータR3によって中継され、MEM1に到着するパケット7には、最速でMEM1に到達する2サイクルを基準として、4サイクル分の遅延が発生していることが分かる。この遅延はルータ網上でのパケット競合に起因している。したがって、ネットワークバスの段数が増えると遅延は更に大きくなり、DMACのメモリアクセスのレイテンシが許容時間を超える状況が発生する。
一方、図11は、DMAC、ENC、DECが送信間隔の調整を行いながらMEM1に対してアクセス要求を行った場合の、DMACのアクセスが遅延する様子を示す。図11に示すように、DMAC、ENC、DECが送信間隔を調整するとDMACのレイテンシは大幅に短縮される。ENCおよびDECは送信パケット間隔を空けてパケット1〜6を送信している。一方、DMACは、ENCおよびDECからパケットが送信されていないタイミングでパケット7を送信している。DMACが送信したパケット7は、ENCとDECからの送信パケットの間の空きサイクルを利用して最短のレイテンシである2サイクルでMEM1に到着している。
本実施形態では、ENC、DECは、アクセス負荷の状態とアクセスの進捗度合いを用いて動的にパケットの送信間隔を決定する。
図12は、イニシエータ側のNIC120の基本的な構成を示す。NIC120は、たとえば図4のNIC1〜4である。なお、以下に説明する機能に鑑みて、NIC120は「送信間隔制御装置」と呼ぶこともある。
NIC120は、たとえば、図1の構成が実装されたNoC上の電子的な回路であってもよいし、所定のチップセットに統合されたチップであってもよい。これらの電子的な回路(NIC120)は、特定の物理層および/またはデータリンク層を使用して通信を行うことができる。
NIC120は、パケット化部121と、脱パケット化部122と、パケットバッファ123と、パケット送受信部124と、送信間隔制御部125とを備えている。
パケットバッファ123は、たとえばSRAMなどの半導体メモリである。
一方、パケット化部121、脱パケット化部122、パケット送受信部124、および送信間隔制御部125は、それぞれ、たとえば、後述する各機能を実現するための論理回路によって構成される。なお、これらの構成要素が1つのチップ上に実装される場合、チップ上で各構成要素は明確には区分できない場合がある。
パケット化部121、脱パケット化部122、パケット送受信部124、および送信間隔制御部125の各々は、データを受け取ると、1サイクルまたは数サイクルを要してそのデータを処理し、処理したデータを次のサイクルで出力する。
パケット化部121は、イニシエータから送信されたデータを受け取り、そのデータにパケットヘッダを付加し、パケット化する。たとえば、パケット化部121は、イニシエータから送信された要求トランザクション10(図5)を受け取り、パケットヘッダPHを付加してパケット化された要求トランザクション12(図6)を生成する。この処理はパケット化処理とも呼ばれる。
脱パケット化部122は、パケット化部121の処理と逆の処理を行う。すなわち、脱パケット化部122は、ルータから受け取ったパケットからパケットヘッダを除去する。この処理は脱パケット化処理とも呼ばれる。
パケットバッファ123は、パケットを一時的に格納するために設けられたバッファである。
パケット送受信部124は、パケットの送受信に関連する処理を行う。パケットの送信時には、パケット送受信部124は、パケットバッファ123に格納されたパケットデータを送信データバス幅ごとに読み出して、パケットの送信処理を行う。パケットの受信時には、パケット送受信部124は、受信データバス幅毎に受信されたデータをパケットバッファ123に格納していくことでパケットを再構築する。
より具体的には、パケット送受信部124は、バスにより接続された、あるサイクルタイミングにおいて隣接するイニシエータからバーストアクセスに関するアクセス要求を受信し、別のサイクルタイミングにおいて当該アクセス要求をネットワーク化された異なるバスに送信する。当該アクセス要求を送出する際のタイミングは、送信間隔制御部125によって制御される。
送信間隔制御部125は、バーストアクセスが継続する期間中のバーストアクセスの密度、およびパケット送受信部124がアクセス要求を送出するバスのアクセス負荷の情報をそれぞれ所定のサイクルタイミングで受け取る。そして送信間隔制御部125は、その情報に応じて、イニシエータから受け取ったアクセス要求の送信タイミングを決定し、パケット送受信部124を制御して、所定のタイミングでアクセス要求を送信させる。
送信間隔制御部125の詳細は図13を参照しながら後に詳細に説明する。
パケット化部121、脱パケット化部122、パケットバッファ123およびパケット送受信部124は、一般的なNICに存在する機能である。これらの構成要素に基づくNIC120の処理を概説する。
パケット送信時の処理は以下のとおりである。パケット化部121はイニシエータからデータを受け取り、そのデータにパケットヘッダを付加してパケット化処理を行う。パケットバッファ123はそのパケットを一時的に格納する。パケット送受信部124はパケットバッファ123に保持されたパケットデータを送信データバス幅ごとに読み出してパケットの送信処理を行う。
パケットの受信時の処理は以下のとおりである。パケット送受信部124は受信データバス幅毎にデータを受信し、パケットバッファ123に格納する、これにより、パケットが再構築される。脱パケット化部122は、得られたパケットからパケットヘッダを除去し、残されたデータをイニシエータに出力する。
次に、送信間隔制御部125を説明する。
送信間隔制御部125は、本実施形態にかかるNIC120に固有の機能要素である。
図13は送信間隔制御部125の基本構成を示す。送信間隔制御部125は、許容遅延管理部131と、調整方法選択部132と、送信間隔決定部133とを有している。
許容遅延管理部131は、バーストアクセスの進捗情報に基づいて、リアルタイム性が確保可能な通信間隔の調整範囲を決定する。進捗情報は、許容遅延管理部131が計算し管理する情報である。
調整方法選択部132は、負荷情報に基づいて通信間隔の調整方法を選択し、間隔制御情報を生成する。
送信間隔決定部133は、調整範囲情報と間隔制御情報に基づいて通信間隔を決定し、データの送信許可情報を生成する。
図14は、送信間隔制御部125が管理するパラメータを記録するためのレジスタ群の例を示す。以下、各レジスタに設定されるパラメータの意味を説明する。
Tbはバーストアクセスが発生する周期であり、Tpはトランザクションの転送に要するサイクル数である。たとえば、128バイトのトランザクションを64ビットバスで送信する場合であれば、サイクル数128/64*8=16サイクルとなる。
Npは単一のバースト周期内に生成されるアクセス回数である。Sbはバースト周期の開始時刻のサイクル数を格納するためのレジスタであり、Rpはバースト周期内に生成されるべきアクセス数Npから既に生成されたアクセス数を差し引いたアクセスの残数である。RcはRp回のアクセスを完了するまでに残されたサイクル残数である。またGは次回のアクセスまでの送信間隔であり、Lは直近のレイテンシである。
パラメータTb、Tp、Npは、イニシエータから要求されるメモリアクセス特性を決定する。これらは、メモリへのアクセス開始に先立ってイニシエータによって各レジスタ上で初期化される。またパラメータSb、Rp、Rc、G、Lは、送信間隔制御部125が管理する内部パラメータを記録するために用いられる。チップの電源投入時またはリセット時に各レジスタ上でゼロクリアされる。また以下の説明で登場するTcは、サイクルカウンタの現在値であり、システム上での現在時刻を表す。サイクルカウンタは、チップの電源投入時またはリセット時にゼロにクリアされ、1クロックサイクル毎にインクリメントされるnビットのカウンタで良い。
以下、送信間隔制御部125の動作を説明する。
図15は、送信間隔制御部125の処理の手順を示すフローチャートである。この処理は、アクセス要求毎に繰り返して行われるループ処理である。
まず、イニシエータからターゲットへのアクセス要求が発生し、NIC120がトランザクションを受け取ったことを、送信間隔制御部133が検出すると、処理が開始される。たとえば送信間隔制御部133は、パケットバッファ123(図12)をモニタしている。送信間隔制御部133は、トランザクションのデータの存在を検出することにより、上述のアクセス要求およびトランザクションの受信を検出する。または、送信間隔制御部133がパケット送受信部124またはパケット化部121から通知を受けることにより、上述の検出を行ってもよい。
上述のようにアクセス要求が検出されると処理が開始される。
ステップS2において、送信間隔制御部133は、アクセス残数レジスタRpの読み出しを行う。アクセス残数レジスタRpがRp=0のときは処理はステップS4に進み、Rp=1のときは処理はステップS8に進み、Rpの値がそれら以外のときは処理はステップS6に進む。このように処理をアクセス残数レジスタRpの値に応じて変えている理由は、バーストアクセスの種類に応じて適切な処理を行うためである。
図16は、バーストアクセスの種類を示している。図16に示すように、Rp=0の場合には、バースト周期内での先頭アクセスであることを意味する。またRp=1の場合には、バースト周期内での最後尾(最終の)アクセスであることを意味する。それ以外の場合には、バースト中のアクセス(中間アクセス)であることを意味する。適切な動作になるよう、本実施形態においてはそれぞれの場合で各部の行う処理内容を異ならせている。
再び図15を参照する。ステップS4は先頭アクセスの場合の処理である。許容遅延管理部131は、数1〜数4に従い、関連パラメータの初期化処理を行う。
Figure 2012140848

Figure 2012140848

Figure 2012140848

Figure 2012140848
数3におけるTb’はバースト周期Tbから時間余裕として確保するべきマージン量を差し引いた値である。イニシエータは、バースト周期内の全てのアクセスを完了した後にデータ処理を行うための時間マージンが必要であり、確保するべきマージン量を決定する主な要因はその処理に要する最大のサイクル数である。
ステップS4の処理が完了すると、処理はステップS32に進む。
次に、ステップS6の処理を説明する。ステップS6は中間アクセスの場合の処理である。
ステップS6において許容遅延管理部131は、数5に従い、サイクル残数Rcを更新する。
Figure 2012140848
さらにステップS10において許容遅延管理部131は、数6に従い、許容遅延Iを計算する。
Figure 2012140848
許容遅延管理部131は、許容遅延Iの値を調整範囲情報として調整方法選択部132および送信間隔決定部133に通知する。
ステップS12において調整方法選択部132は、調整範囲情報のIの値が非負か負かを判定する。非負の場合には処理はステップS14に進み、負の場合には処理はステップS16に進む。
ステップS14において、許容遅延管理部131は、現在のネットワークバスの負荷状況を推定するため、負荷情報を取得する。負荷の把握に利用する情報として、直近のトランザクション処理に要したレイテンシの値Lを用いることができる。レイテンシは、要求を出してから応答が帰ってくるまでの時間である。レイテンシの値Lの具体的な求め方の一例は以下のとおりである。まず、パケット送受信部124は要求トランザクションをネットワークバスに送出する時点におけるサイクルカウンタTcの値をパケットヘッダ内に記録しておく。ターゲット側のNICは返信トランザクションを送出する際に、先に受信していたパケットのパケットヘッダ内に記録されていたサイクルカウンタの値を、送出しようとする返信トランザクションのパケットのパケットヘッダ内に記録(コピー)する。そして許容遅延管理部131は、イニシエータ側のNICに返信トランザクションのパケットが到着した時点でのサイクルカウンタの値を、コピーされたサイクルカウンタの値(=要求トランザクション送出時点でのサイクルカウンタの値)から差し引くことによって求めてもよい。
上述の説明では、イニシエータ側のNIC120が要求トランザクションをネットワークバスに送出する時点を起点とし、その起点からの経過時間をレイテンシとして計測した。しかしながら、たとえばイニシエータからの要求トランザクションの受信時を起点とし、当該イニシエータが要求を出してから応答が帰ってくるまでの時間をレイテンシとして計測してもよい。
また、複数のイニシエータが相互に直接通信を行う場合も想定され得る。その場合には、イニシエータからの要求トランザクションの受信時を起点とし、当該イニシエータが他のイニシエータに要求を出してから応答が帰ってくるまでの時間をレイテンシとして計測してもよい。
次のステップS18において、調整方法選択部132は、算出したレイテンシの値Lの値を予め設定された閾値L1およびL2(L1<L2)とを比較し、調整方法の選択を行う。L>L2に該当するときは、負荷が大きい、つまり伝送されているパケット数が多いことを意味する。よって、送信間隔を増加させ、パケットの密度を減少させる必要がある。一方、L≦L1に該当するときは、負荷が小さい、つまり伝送されているパケット数が少ないことを意味する。このときは、送信間隔を縮小させ、パケットの密度を増加させることができる。L2>L≧L1に該当するときは、負荷が中程度であると言える。
L2>L≧L1の場合には、処理はステップS20に進み、送信間隔決定部133は、段階的に送信間隔を拡大する調整を行う。送信間隔Gは、G+K1により求められる。
K1は段階調整幅であり、数7のように定義する。
Figure 2012140848
この定義によると、バースト周期内でデータ送信を行うサイクルの割合が小さいイニシエータほど、送信間隔の調整幅は大きくすることができる。なお、kは調整パラメータであり、シミュレーションなどにより決定される定数である。
数7をより詳しく説明する。数7に含まれる(Np・Tp)は、単一のバースト周期内に生成されるアクセス回数Npと1パケットを転送するために必要なサイクル数Tpとの積であるから、1バースト周期内において必要とされるサイクル数である。よって、バースト周期Tbを(Np・Tp)で除算すると、バーストアクセス期間中における、1サイクル当たりの時間長が得られる。本願明細書では、このように得られた値を「バーストアクセスの密度」と呼ぶ。数7のK1は、当該バーストアクセスの密度に調整パラメータkを乗じて得られる値であり、バーストアクセスの密度に応じた値である。
L≦L1の場合には、処理はステップS22に進み、送信間隔決定部133は、段階的に送信間隔を縮小する調整を行う。送信間隔Gは、G−K2により求められる。
K2は段階調整幅であり、K2=1としてもよいし、数7のK1をK2としてK1と同じように定義してもよい。
そしてL>L2の場合には、処理はステップS24に進み、調整方法選択部132は、非段階的に送信間隔を拡大する調整を行う。
ステップS24においては、送信間隔決定部133は、数8に従い、送信間隔Gを更新する。
Figure 2012140848
なお図15のステップS24では、a=0と表している。
非段階的な調整は、必須ではないが、段階的な調整でレイテンシが改善しないような過負荷な状態から、速やかに脱却できる可能性がある。aは乱数の発生区間の下限であり、a=I/2などとしてもよいし、a=K1などとしてもよい。また乱数の確率分布は一様分布を用いてもよい。
調整方法選択部132は、決定された調整方法を間隔制御情報として、送信間隔決定部133に通知する。その後、処理はステップS26およびS28に進む。
ステップS26において、送信間隔決定部133は送信間隔Gと許容遅延Iとを比較する。送信間隔Gが許容遅延Iより小さいときには、ステップS30に進み、その送信間隔Gを記録する。送信間隔Gが許容遅延I以上のときには、ステップS28に進み、許容遅延Iをその送信間隔Gとして設定する。そしてステップS30において、その送信間隔Gを記録する。
なお、この例においては閾値L1およびL2を2つ設けたが、これは一例である。閾値はL1のみであってもよい。このときは、L>L1の場合には、段階的に送信間隔を拡大する調整を行い、L≦L1の場合には、段階的に送信間隔を縮小する調整を行ってもよい。
このとき、送信間隔Gは以下の処理により求めることができる。
まず段階的に送信間隔を拡大する場合(L>L1)には、送信間隔決定部133は、数9に従い、送信間隔Gを更新する。
Figure 2012140848
K1は上述の数7に示す通りである。
また、段階的に送信間隔を縮小する場合(L≦L1)には、送信間隔決定部133は、数10に従い、送信間隔Gを更新する。
Figure 2012140848
K2=1としてもよいし、数7のように定義してもよい。
なお、数9および数10の“min”は、図15のステップS26およびS28の処理を包含していることに留意されたい。
送信間隔決定部133は、内部にデクリメントカウンタを持ち、デクリメントカウンタの保持する値が、ゼロの場合だけ、送信許可信号をアサート(Assert)して、イニシエータが要求トランザクションを発行可能な状態にする。デクリメントカウンタにゼロ以外の値が書き込まれると、送信許可信号はネゲート(Negate)され、イニシエータは新たな要求トランザクションが発行可能な状態となるまで、メモリアクセスを待機させる。デクリメントカウンタの値は、サイクルカウンタがインクリメントされる度にデクリメントされることで次第にゼロに近づく。
先頭アクセスの場合に実行されるステップS32では、アクセス残数Rpをデクリメントし(Rp=Rp−1)、ステップS34においてTp+Gをデクリメントカウンタに書き込む。そしてステップS38において、送信間隔決定部133は送信許可信号を“DISABLE”に設定する。これによりTp+Gサイクル以内のイニシエータからの要求トランザクションの発行が禁止される。
中間アクセスの場合に実行されるステップS16において、送信間隔決定部133は、調整範囲情報により許容遅延Iの値が負であることを検出した場合には、イニシエータが行う処理のリアルタイム性を確保するため、調整範囲情報GをG=0に更新する。その後処理はステップS30に進んで送信間隔Gの値が記録される。次のステップS32ではアクセス残数Rpをデクリメントし(Rp=Rp−1)、ステップS34においてデクリメントカウンタにTp+Gを書き込む。そしてステップS38において、送信間隔決定部133は送信許可信号を“DISABLE”に設定する。これによりTp+Gサイクル以内のイニシエータからの要求トランザクションの発行が禁止される。
最後尾アクセスの場合に実行されるステップS8において、送信間隔決定部133は、アクセス残数Rpをゼロクリアし、ステップS36においてデクリメントカウンタにSb+Tbを書き込む。そしてステップS38において、送信間隔決定部133は送信許可信号を“DISABLE”に設定する。これによりTp+Sbサイクル以内のイニシエータからの要求トランザクションの発行が禁止される。
その後、ステップS40においてカウンタがリセットされたことを検出すると、ステップS42において送信間隔決定部133は送信許可信号を“ENABLE”に設定する。これにより、イニシエータからの要求トランザクションの発行が許可される。
送信間隔の拡大だけでなく縮小を行うことにより、Np回のアクセスを早期に完了させ、後から発生するであろう他のイニシエータのアクセスを可能な限りバスの帯域内に収容することができる。例えば図4のCPUは、ユーザとのインタラクションやインターネットのブラウジングなどに利用されるため、ユーザの指定した処理を実行するために発生するメモリアクセス量は、事前に予測することが困難である。そのような場合でも、送信間隔の縮小により、各イニシエータが早期に全てのメモリアクセスを完了していれば、ユーザによって起動されたCPU処理のアクセスをバス帯域内に収容することができ、バス帯域の利用効率が向上する。
以上のように送信間隔制御部125が働くことにより、イニシエータ間でリンクを共用するネットワークバス上でのリアルタイム性の確保が可能となるとともに、バス帯域の利用効率も向上させることができる。図17及び図18は、ENC、DEC、DMACのアクセスをモデル化し、ソフトウェアシミュレータにより、レイテンシの大きさを比較評価したものである。横軸は時間(サイクルクロックの値)を、縦軸はレイテンシの値(単位はサイクル)を示している。使用した3種類のイニシエータのアクセスモデルは以下のように条件設定した。
ENC: Tb=4000、Np=250、Tp=4 (灰色)
DEC: Tb=4000、Np=250、Tp=4 (灰色)
DMAC:Tb=400、 Np=4、 Tp=4 (黒色)
図17は送信間隔制御を行わない場合のパケットのレイテンシの結果を示す。0サイクルからENCとDECのバーストアクセスが開始されると、レイテンシは一定の傾斜で大きくなっていき、850サイクル程度まで増加していることが分かる。バーストアクセスによりバスが過負荷となっている間に行われたDMACのメモリアクセスも、バーストアクセスの影響でレイテンシが同様に伸びている。
一方、図18は本実施形態による送信間隔制御を行った場合のパケットのレイテンシの結果を示す。0サイクルから開始されたENCとDECのバーストアクセスは、レイテンシの増加とともに、送信間隔が制御され、50サイクル程度のレイテンシに抑制されている。またこのため、DMACのアクセスも送信間隔制御されたためにできた空きサイクルにより、低レイテンシでアクセスが完了していることが分かる。また送信間隔が縮小される制御が入っているため、0から4000サイクルの間で実行されるべきENC及びDECの各4000回のアクセスは、2000サイクル迄の間で全て完了していることが分かる。このように、イニシエータ毎のリアルタイム性の確保とバス帯域の利用効率向上がなされることがシミュレーションで確認できる。
本実施形態では、送信間隔制御部はイニシエータ側のNICの一部として説明したが、NIC機能ブロックの外部に位置していてもよい。またイニシエータとターゲット間を接続するネットワークバスのトポロジーとして、フライ網を仮定したが、メッシュ網やトーラス網などの他のトポロジーであってもよい。
本発明の一態様にかかる制御装置は、TV、レコーダなどのAV家電、携帯電話などのモバイル機器をはじめとして各種組込機器上でリアルタイム処理を行う半導体LSI上のパケット通信型のバスに適用可能である。また、本発明の他の態様である制御方法、制御プログラムは、バスを共用する複数のイニシエータを、パケットの送信間隔を制御することによって効率的に通信させるために利用可能である。
100 システム・オン・チップ(SoC)
121 パケット化部
122 脱パケット化部
123 パケットバッファ部
124 パケット送受信部
125 送信間隔制御部
131 許容遅延管理部
132 調整方法選択部
133 送信間隔決定部

Claims (11)

  1. イニシエータから受け取ったアクセス要求の送信タイミングを制御する制御装置であって、
    第1バスにより接続された、隣接する第1イニシエータからバーストアクセスに関するアクセス要求を受信し、前記アクセス要求をネットワーク化された第2バスに送信する送受信部と、
    前記バーストアクセスが継続する期間中の前記バーストアクセスの密度および前記第2バスのアクセス負荷に応じて、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御する送信間隔制御部と
    を備えた、送信間隔を制御する制御装置。
  2. 前記送信間隔制御部は、前記バーストアクセスが継続する期間中の前記第1イニシエータからのアクセス要求の回数に基づいて前記バーストアクセスの密度を算出する、請求項1に記載の制御装置。
  3. 前記第2バスには第2イニシエータまたはターゲットが接続されており、
    前記送信間隔制御部は、前記アクセス要求を前記第2イニシエータまたはターゲットに送信してから応答が帰ってくるまでの時間であるレイテンシを、前記第2バスのアクセス負荷として求める、請求項2に記載の制御装置。
  4. 前記送信間隔制御部は、前記第1イニシエータからのアクセス要求に許容される遅延量である許容遅延の値が非負のときに、前記レイテンシを求め、前記第1イニシエータから受け取った前記アクセス要求の送信タイミングを制御する、請求項1に記載の制御装置。
  5. 前記送信間隔制御部は、予め定められたサイクル、残されたサイクル数および残されたアクセス要求の数に基づいて、前記許容遅延の値を計算する、請求項4に記載の制御装置。
  6. 前記送信間隔制御部は、前記第1イニシエータと前記第2バスに接続された前記第2イニシエータまたはターゲットとの間のレイテンシを求め、前記レイテンシが、予め定められた少なくとも1つの閾値よりも大きいときは、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを遅らせるよう、送信間隔を拡大する、請求項4に記載の制御装置。
  7. 前記送信間隔制御部は、現在設定されている第1送信間隔に、前記バーストアクセスの密度に応じた値を加算して第2送信間隔を求め、前記第2送信間隔が前記許容遅延の値よりも小さいときは、前記第2送信間隔に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御する、請求項5に記載の制御装置。
  8. 前記送信間隔制御部は、前記第1イニシエータと前記第2バスに接続された前記第2イニシエータまたはターゲットとの間のレイテンシを求め、前記レイテンシが、予め定められた少なくとも1つの閾値以下のときは、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを早めるよう、送信間隔を縮小する、請求項4に記載の制御装置。
  9. 前記送信間隔制御部は、現在設定されている第1送信間隔から、前記バーストアクセスの密度に応じた値を減算して第2送信間隔を求め、前記第2送信間隔が前記許容遅延の値よりも小さいときは、前記第2送信間隔に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御する、請求項5に記載の制御装置。
  10. 前記送信間隔制御部は、前記第2送信間隔が前記許容遅延の値以上のときは、前記許容遅延の値に基づいて、前記第1イニシエータから受け取ったアクセス要求の送信タイミングを制御する、請求項6から9のいずれかに記載の制御装置。
  11. 前記送信間隔制御部は、前記第2送信間隔およびトランザクションの転送に要する時間の和に相当する期間は、前記第1イニシエータからのアクセス要求の発行を禁止する、請求項10に記載の制御装置。
JP2013509776A 2011-04-13 2012-04-03 制御装置 Active JP5776022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013509776A JP5776022B2 (ja) 2011-04-13 2012-04-03 制御装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011089243 2011-04-13
JP2011089243 2011-04-13
JP2013509776A JP5776022B2 (ja) 2011-04-13 2012-04-03 制御装置
PCT/JP2012/002309 WO2012140848A1 (ja) 2011-04-13 2012-04-03 制御装置

Publications (2)

Publication Number Publication Date
JPWO2012140848A1 true JPWO2012140848A1 (ja) 2014-07-28
JP5776022B2 JP5776022B2 (ja) 2015-09-09

Family

ID=47009043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509776A Active JP5776022B2 (ja) 2011-04-13 2012-04-03 制御装置

Country Status (3)

Country Link
US (1) US9262355B2 (ja)
JP (1) JP5776022B2 (ja)
WO (1) WO2012140848A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5838367B2 (ja) * 2011-07-08 2016-01-06 パナソニックIpマネジメント株式会社 制御装置および演算回路の数を決定するための設計方法
WO2013046607A1 (ja) * 2011-09-29 2013-04-04 パナソニック株式会社 制御装置
JP6314083B2 (ja) * 2014-12-22 2018-04-18 ルネサスエレクトロニクス株式会社 半導体装置、メモリアクセス制御方法、及び半導体装置システム
CN109996307B (zh) * 2017-12-29 2021-06-01 华为技术有限公司 一种数据路由方法以及终端
CN112306918B (zh) * 2019-07-31 2024-06-14 北京百度网讯科技有限公司 数据访问方法、装置、电子设备和计算机存储介质
US11368768B2 (en) * 2019-12-05 2022-06-21 Mellanox Technologies, Ltd. Optical network system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627018A (en) * 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
JPS61230444A (ja) 1985-04-04 1986-10-14 Japan Radio Co Ltd 時分割ランダム多元接続方式
JPS63280364A (ja) * 1987-05-13 1988-11-17 Fujitsu Ltd デ−タ転送制御方式
JP3101023B2 (ja) * 1991-09-17 2000-10-23 沖電気工業株式会社 バス使用権制御方法
JP3334589B2 (ja) * 1998-01-13 2002-10-15 日本電気株式会社 信号遅延装置及び半導体記憶装置
US6681285B1 (en) * 1999-07-22 2004-01-20 Index Systems, Inc. Memory controller and interface
GB0012196D0 (en) * 2000-05-19 2000-07-12 Nokia Networks Oy Control circuitry
JP3668110B2 (ja) 2000-08-31 2005-07-06 株式会社東芝 画像伝送システムおよび画像伝送方法
DE60314347T2 (de) * 2002-09-30 2007-09-27 Matsushita Electric Industrial Co., Ltd., Kadoma Betriebsmittelverwaltungsgerät
CN1300703C (zh) * 2003-11-05 2007-02-14 松下电器产业株式会社 调节电路及其具有它的功能处理电路
JP2005339198A (ja) * 2004-05-27 2005-12-08 Internatl Business Mach Corp <Ibm> キャッシュヒット率推定装置、キャッシュヒット率推定方法、プログラム及び記録媒体
WO2006001245A1 (ja) * 2004-06-24 2006-01-05 Matsushita Electric Industrial Co., Ltd. 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置
JP2008536391A (ja) 2005-04-07 2008-09-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 待ち時間の削減のためのネットワークオンチップ環境及び方法
JP4974508B2 (ja) * 2005-10-28 2012-07-11 キヤノン株式会社 バスマスタ装置、バス調停装置及びバス調停方法
JP4715801B2 (ja) * 2007-04-26 2011-07-06 日本電気株式会社 メモリアクセス制御装置
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device
WO2009119009A1 (ja) * 2008-03-27 2009-10-01 パナソニック株式会社 アクセス制御装置
US7864623B2 (en) * 2008-05-22 2011-01-04 Elpida Memory, Inc. Semiconductor device having latency counter
KR101020290B1 (ko) * 2009-01-12 2011-03-07 주식회사 하이닉스반도체 버스트모드 제어회로
JP2011133940A (ja) * 2009-12-22 2011-07-07 Seiko Epson Corp アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム
US9735673B2 (en) * 2011-03-30 2017-08-15 Infineon Technologies Ag Burst-mode operation of a switching converter
JP6184064B2 (ja) * 2012-07-19 2017-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリサブシステム、コンピュータ・システム

Also Published As

Publication number Publication date
US20140019663A1 (en) 2014-01-16
WO2012140848A1 (ja) 2012-10-18
JP5776022B2 (ja) 2015-09-09
US9262355B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
JP5776022B2 (ja) 制御装置
JP6179812B2 (ja) 制御装置
JP6054464B2 (ja) トランザクションの優先レベルを設定するデータ処理装置および方法
JP6247398B2 (ja) オンチップネットワークにおける回線交換事前予約
JP5619865B2 (ja) コンピュータ可読メモリ、装置、および、その方法
JP2016523399A (ja) エネルギー効率的なモバイルプラットフォームのための適応的割り込みコアレッシング
WO2014169876A1 (zh) 一种总线仲裁方法及装置、存储介质
KR20150130360A (ko) 네트워크 디바이스들에서의 유연한 전송 및 백-오프 간격들
JP5838367B2 (ja) 制御装置および演算回路の数を決定するための設計方法
WO2014127259A2 (en) Proportional scheduling in communications systems
CN116074267B (zh) 一种数据通信系统及SoC芯片
WO2012113224A1 (zh) 多节点计算系统下选择共享内存所在节点的方法和装置
JP7226084B2 (ja) 情報処理装置
Kostrzewa et al. Supporting dynamic voltage and frequency scaling in networks-on-chip for hard real-time systems
WO2019127925A1 (zh) 一种神经网络的数据传输方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品
JP6090492B1 (ja) メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び、プログラム
EP2963859B1 (en) Idle scheduling method and home network node
US9405719B2 (en) Circuitry to generate and/or use at least one transmission time in at least one descriptor
TWI760690B (zh) 一種資料傳輸系統及其資源配置方法
Sallam et al. The connection-then-credit flow control protocol for networks-on-chips: Implementation trade-offs
JP2004151877A (ja) ダイレクト・メモリ・アクセス・コントローラ、メモリアービタ及びこれらを設けたメモリ制御装置
JP5621747B2 (ja) マルチタスクシステム
CN117371249A (zh) 带宽参数设置方法、芯片设计方法、装置及相关设备
JP2010154329A (ja) Ieee1394通信lsiおよびアシンクロナス送信方法
CN116974966A (zh) 差额加权轮询仲裁方法和仲裁装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140926

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

R151 Written notification of patent or utility model registration

Ref document number: 5776022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151