JPWO2013046607A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JPWO2013046607A1
JPWO2013046607A1 JP2013535881A JP2013535881A JPWO2013046607A1 JP WO2013046607 A1 JPWO2013046607 A1 JP WO2013046607A1 JP 2013535881 A JP2013535881 A JP 2013535881A JP 2013535881 A JP2013535881 A JP 2013535881A JP WO2013046607 A1 JPWO2013046607 A1 JP WO2013046607A1
Authority
JP
Japan
Prior art keywords
transmission
initiator
intermittent
information
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
JP2013535881A
Other languages
English (en)
Other versions
JP6179812B2 (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 Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2013046607A1 publication Critical patent/JPWO2013046607A1/ja
Application granted granted Critical
Publication of JP6179812B2 publication Critical patent/JP6179812B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

バスの動作周波数を抑制しつつ伝送性能の保証を行う制御装置を提供する。制御装置は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて、バスを介して受け取ったイニシエータからのアクセス要求の送信タイミングを制御するために使用される。制御装置は、システム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から生成された、パケット間の干渉を制限可能な間欠周期の情報、および各イニシエータのリアルタイム性能を保証可能な最小のバス動作周波数を示すバス動作周波数の情報を含む間欠情報を記憶する。制御装置は、バス動作周波数の情報に従いクロックを生成するクロック生成部と、通信部と、間欠周期、送信要求の検出時刻、および直前の送信時刻から、送信要求に対する送信許可の発行時刻を決定する送信間隔決定部とを備えている。

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へパケットが送信される際に共用される。
図2は、パケット100の構成例を示す。パケットはトランザクションデータと読み書きの対象となるメモリアドレス等が格納されるパケットヘッダから構成される。パケットが実際にルータ網を転送される際には、フリットと呼ばれる単位に分割されて順次送信される。図3は、複数のフリット101から構成されるパケット100を示す。パケットの先頭部分を含むフリットは「ヘッダフリット」と呼ばれる。フリット101のデータ幅Wは、通常ルータ間を接続する信号線のビット幅となる。またNoCの構造上、ルータ間を接続するリンクL1〜L8は複数のイニシエータからのターゲットへのアクセスで共用される。
メディア処理をはじめとするリアルタイム用途に用いられるバスでは、イニシエータとターゲット間で性能保証を行う必要がある。性能保証としては、レートとレイテンシの保証が含まれる。レートの保証とは、単位時間あたりのイニシエータの要求帯域に対して、100パーセントの取得帯域が与えられることを意味する。レイテンシの保証とは、最も許容レイテンシの短いイニシエータで、実際のアクセス時のレイテンシ(イニシエータが要求トランザクションをバス上に発行してから、ターゲットで要求が処理され、それに対する返信トランザクションを受け取る迄の時間)が、許容レイテンシ以下となることを意味する。
図4は、イニシエータとターゲット間の通信形態を示す。いま、イニシエータAとターゲットBが通信関係にあるとする。図4に示すように、イニシエータが発行した要求トランザクション(たとえばメモリアクセス要求)が、ターゲットBに到着するのに要したサイクル数をXサイクルとする。また、ターゲットBが発行した返信トランザクション(たとえばメモリ読み出し結果等の返信)が、イニシエータAに到着するのに要したサイクル数をYサイクルであるとする。そしてイニシエータAで許容できるレイテンシがSサイクル以内であるとすると、下記数1の関係を満たせることがレイテンシ保証の条件となる。
S≧X+Y (数1)
全てのイニシエータとターゲットの組合せに対して、上記に示した性能保証条件が満たされているとき、システムとして性能保証されていると定義する。
いま、図1に示したような、複数のイニシエータとターゲットとが帯域資源を共用するバスで接続されたシステム上で、各イニシエータのレートやレイテンシを保証する場合を想定する。特許文献1は、バスを共用する各イニシエータ毎に保証したいピーク時のバンド幅を見積り、その値を全てのイニシエータについて加算した値でバスの動作周波数を設計する方法を開示する。また特許文献2は、イニシエータ側で送信タイミングの制御を行うことで伝送性能を保証する方法を開示する。
特開2008−171232号公報 特開2006−293799号公報
上述した従来の技術では、バスの動作周波数の低下、消費電力の低減、設計の簡単化、および/またはバス帯域の利用率の少なくとも1つに関し、さらなる向上が求められていた。または、レイテンシが保証されることも求められていた。
本願の、限定的ではない例示的なある実施形態は、バスの動作周波数を抑制しつつ伝送性能の保証を行う制御装置を提供するを提供する。
本発明の例示的な一実施形態にかかる制御装置は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、前記イニシエータから前記バスを介して受け取ったアクセス要求の送信タイミングを制御する。前記制御装置は、前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報とを用いて生成された間欠周期情報を記憶する間欠情報記憶部と、前記システム構成情報および前記フロー構成情報を用いて生成された各イニシエータのリアルタイム性能を保証可能なバス動作周波数で駆動されるクロック信号を取得するとともに、イニシエータから入力されたデータをパケット化し、前記クロック信号に従い、ルータへの送信パケットの送信と、入力された前記データの送信時刻を記録する通信部と、前記間欠周期情報、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、前記送信要求に対する送信許可の発行時刻を決定する送信間隔決定部とを備えている。
上述の一般的かつ特定の態様は、システム、方法およびコンピュータプログラムを用いて実装され、またはシステム、方法およびコンピュータプログラムの組み合わせを用いて実現され得る。
複数のイニシエータとターゲットが接続された分散型の通信バスにおいて、各イニシエータの送受信特性に基づいた送信間隔の制御を行うことで、イニシエータ間でのデータ干渉を制限し、各イニシエータのレート保証及びレイテンシ保証を行うと共に、低いバス動作周波数でバスを動作させることを可能とする。これにより、バスのAV信号処理を含む各種リアルタイム用途への適用を可能とする。また動作周波数が低減できるため、実装面積など省資源化が可能となる。
イニシエータI1〜I4とターゲットT1〜T4との間のメインバスにNoCを適用した一般的な接続構成の例を示す図である。 パケット100の構成例を示す図である。 複数のフリット101から構成されるパケット100を示す図である。 イニシエータとターゲット間の通信形態を示す図である。 図1内に示されたイニシエータI1〜I4の要求帯域の時間変動の様子を示す図である。 バス帯域の設計過程を示す図である。 イニシエータA〜Cとターゲットであるメモリがバスにより接続されている様子を示す図である。 イニシエータAとイニシエータBのメモリアクセス要求の要求帯域の時間変動の様子を示す図である。 イニシエータ間で発生しているアクセス干渉を示す図である。 イニシエータI1〜I4が同時にターゲットT1宛に、最大のパケットサイズN1〜N4でパケット送信を行ったタイミングt1を示す図である。 ターゲットT1に向かう各パケットの到着の様子を示す図である。 トランザクションから生成されたフリットが、メモリT1で受信されるタイミングを示す図である。 動作周波数低減の効果を示す図である。 各プロセッサIiが、サイクル数Pだけ間隔を空けて、要求トランザクション1と要求トランザクション2を発行した場合のタイミングを示す図である。 イニシエータ(プロセッサ)側のNIC130の基本的な構成を示す図である。 システム構成情報の例を示す図である。 フロー構成情報の例を示す図である。 図17から抜粋したメモリT1に関係する性能保証が必要なフローを示す図である。 メモリT2を宛先とする、イニシエータI1〜I3のフロー構成情報を示す図である。 間欠情報生成部131の処理フローを示す図である。 プロセッサI1に接続されたNIC1の管理テーブルの構成例を示す図である。 NIC1がI1から要求される平均アクセス回数M1以下のアクセス・トランザクションを受け付けている様子を示す図である。 プロセッサI1以外の他のプロセッサがメモリへのアクセスを行っておらず、プロセッサI1のみがメモリT1に対して連続的にアクセスを行った場合のNIC1でのアクセス送信タイミングと、メモリT1側で観測されるアクセスタイミングとを示す図である。 管理テーブルに記録された平均アクセス数M1を越える回数の要求トランザクションがプロセッサI1から送信された場合のNIC1での送信間隔の調整の様子を示す図である。 送信間隔決定部134の処理フローを示す図である。 実施形態1の変形例を示す図である。 増加型のカウンタを用いた例を示す図である。 減少型のカウンタを用いた例を示す図である。 例示的な実施形態2のシステム構成図である。 ポートI1のフロー構成情報を示す図である。 宛先をI3とするフローだけを抽出した結果を示す図である。 ポートI1に接続されたNIC1の管理テーブルの例を示す図である。 プロセッサI1のメモリT1宛のフロー11におけるアクセスのタイミングを示す図である。 管理テーブルの例を示す図である。 フロー11の送信間隔がどのように制御されるかを示す図である。 例示的な実施形態3にかかる送信間隔決定部134の処理フローを示す図である。
上述の特許文献1の方法を用いてバスの帯域設計を行った場合、伝送性能を保証するために必要となるバスの動作周波数が高くなり、消費電力も増加し、設計も難しくなる上、バス帯域の利用率が低くなる。一般的なイニシエータを考えた場合、内部の処理や他のイニシエータとの処理の関係により、要求帯域は時間的に常に一定ではなく、最大要求帯域と最小要求帯域の間で変動する。そのような時間変動する全てのイニシエータで性能保証を行うために、特許文献1では、バスを共用する各イニシエータ毎に保証したいピークのバンド幅を見積り、その値を全てのイニシエータについて加算した値でバスの動作周波数を設計する。全てのイニシエータに対して、ピークのバンド幅がバス上で確保されていた。これにより、レート保証とレイテンシ保証の条件は満たされる。しかし、全てのイニシエータが同時に最大要求帯域で動作しない限り、平均要求帯域を上回る部分のバス帯域は殆ど利用されないため、帯域資源が無駄になる。図5は、図1内に示されたイニシエータI1〜I4の要求帯域の時間変動の様子を示す。横軸tはバスクロックのサイクル、縦軸rは要求帯域、pは最大要求帯域、aは平均要求帯域を示す。図6は、バス帯域の設計過程を示す。p1〜p4の総和がバス帯域B(MB/s)となり、バス幅をWバイトとした場合、バスの動作周波数Fpeak(MHz)は、下記数2として設計される。
Fpeak=B/W (数2)
上述の特許文献2には、イニシエータ側で要求トランザクションの送信間隔を制御することで、最大要求帯域を調整し、バスの動作周波数を抑制する方法が示されている。図7はイニシエータA〜Cとターゲットであるメモリがバスにより接続されている様子を示す。各イニシエータは送信間隔を調整するための属性表を参照しながら、その間隔設定に従って、バス上にメモリアクセス要求を発行する。属性表には、アクセス対象のメモリアドレス、データのサイズ、次のアクセスを行う迄の遅延サイクル数が上位のプロセッサ(図示せず)によりDMA転送のセットアップ時に設定される。図8は、イニシエータAとイニシエータBのメモリアクセス要求の要求帯域の時間変動の様子を示す。送信間隔制御によって最大要求帯域が抑制されることで、図5と比較してp1、p2が低減され、バスの動作周波数としても低減されていることが分かる。しかしながら特許文献2の方法では、送信間隔が属性表の遅延サイクル数により遅延させられる。よって、イニシエータがアクセス要求を出そうとしたタイミングと実際にバス上でアクセスが開始されるタイミングの間に遅延が発生し、また他のイニシエータとの間での送信タイミングの調整が行われていないために、同時にバス上に発行されたアクセス間でも干渉による遅延が発生する。図9は、イニシエータ間で発生しているアクセス干渉を示す。これらの要因により、特許文献2の技術ではイニシエータAが許容できるレイテンシを守れず、レイテンシ保証ができなかった。
本発明の一態様の概要は以下のとおりである。
本発明の一態様である制御装置は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、前記イニシエータから前記バスを介して受け取ったアクセス要求の送信タイミングを制御する制御装置であって、前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報とを用いて生成された間欠周期情報を記憶する間欠情報記憶部と、前記システム構成情報および前記フロー構成情報を用いて生成された各イニシエータのリアルタイム性能を保証可能なバス動作周波数で駆動されるクロック信号を取得するとともに、イニシエータから入力されたデータをパケット化し、前記クロック信号に従い、ルータへの送信パケットの送信と、入力された前記データの送信時刻を記録する通信部と、前記間欠周期情報、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、前記送信要求に対する送信許可の発行時刻を決定する送信間隔決定部とを備えている。
前記間欠情報記憶部は、たとえば、各イニシエータが同時に送信可能な最大データ長で、全てのイニシエータが同時に送信した場合において、ターゲットが全てのデータを受信し終えるまでに要するバスサイクル数を、前記間欠周期として記憶する。
前記間欠情報記憶部は、少なくとも前記間欠周期を用いて算出された、パケットの送受信に要する最大レイテンシを記憶し、前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で特定される最小のバス動作周波数を、前記バス動作周波数として記憶する。
前記送信間隔決定部は、前記間欠周期が、連続するパケットの最小の送信間隔となるよう、前記送信要求に対する送信許可の発行時刻を決定する。
前記送信間隔決定部は、前記システムの仕様として予め定められたレート保証期間内の送信数を、予め定められた回数以下に制限する。
前記送信間隔決定部は、連続するパケットの送信間隔を、前記システムの仕様として予め定められた平均アクセス間隔に近づけるように決定する。
前記間欠情報記憶部は、送信対象となるターゲット及びイニシエータ毎に、各イニシエータのパケットサイズに基づいて算出された前記間欠周期を記憶する。
前記間欠情報記憶部は、送信対象となるターゲット毎に算出された間欠周期を記憶する。
本発明の他の一態様である制御装置は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、前記イニシエータから前記バスを介して受け取ったアクセス要求の送信タイミングを制御する制御装置であって、前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から、パケット間の干渉を制限可能な間欠周期の情報、および各イニシエータのリアルタイム性能を保証可能な最小のバス動作周波数を示すバス動作周波数の情報を含む間欠情報を生成する間欠情報生成部と、前記バス動作周波数の情報に従いクロックを生成するクロック生成部と、前記クロックで動作し、入力されたデータをパケット化して送信し、入力された前記データの送信時刻を記録する通信部と、前記間欠周期、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、前記送信要求に対する送信許可の発行時刻を決定する送信間隔決定部とを備えている。
前記間欠情報生成部は、各イニシエータが同時に送信可能な最大データ長で、全てのイニシエータが同時に送信した場合において、ターゲットが全てのデータを受信し終えるまでに要するバスサイクル数を、前記間欠周期として算出する。
前記間欠情報生成部は、少なくとも前記間欠周期を用いて、パケットの送受信に要する最大レイテンシを算出し、前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で特定される最小のバス動作周波数を、前記バス動作周波数として決定する。
前記送信間隔決定部は、前記間欠周期が、連続するパケットの最小の送信間隔となるよう、前記送信要求に対する送信許可の発行時刻を決定する。
前記送信間隔決定部は、前記システムの仕様として予め定められたレート保証期間内の送信数を、予め定められた回数以下に制限する。
前記送信間隔決定部は、連続するパケットの送信間隔を、前記システムの仕様として予め定められた平均アクセス間隔に近づけるように決定する。
前記間欠情報生成部は、送信対象となるターゲット及びイニシエータ毎に、各イニシエータのパケットサイズに基づいて前記間欠周期を算出する。
前記間欠情報生成部は、送信対象となるターゲット毎に、間欠周期を算出する。
上述のいずれかの態様にかかる制御装置の前記通信部は、イニシエータから入力されたデータの送信時刻として、システム内のクロック信号の周期を計数するカウンタ値を用いる。
上述のいずれかの態様にかかる制御装置の前記通信部は、システム内のクロック信号の周期を計数するカウンタを有し、イニシエータから入力されたデータの送信時刻に前記カウンタを初期化し、前記カウンタ値を経過時刻情報として送信間隔決定部に供給し、前記送信間隔決定部は、前記経過時刻情報が前記間欠周期情報または所定の計数値に達したことを判定し、前記イニシエータからの送信要求に対する送信許可を発行する。
上述のいずれかの態様にかかる制御装置では、前記イニシエータが前記ターゲットに対し、連続的にアクセス要求を送信している場合において、前記送信間隔決定部は、前記間欠周期情報によって示される周期で、前記アクセス要求を前記ターゲットに宛てて定間隔に送信する。
本発明の他の一態様である方法は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムのバス周波数を決定するシステム設計方法であって、予め用意された、前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から、パケット間の干渉を制限可能な間欠周期を生成するステップと、少なくとも前記間欠周期に基づいてパケットの送受信に要する最大レイテンシを算出するステップと、前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で最小となるバス動作周波数を決定するステップとを包含する。
以下、添付の図面を参照しながら、本開示における制御装置の例示的な実施形態を説明する。
本開示による制御装置は、イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、イニシエータからバスを介して受け取ったアクセス要求の送信タイミングを制御する。
この制御装置は、間欠情報生成部または間欠情報記憶部と、クロック生成部と、通信部と、送信間隔決定部とを備えている。
間欠情報生成部は、システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から間欠情報を生成する。間欠情報は、パケット間の干渉を制限可能な間欠周期の情報、および各イニシエータのリアルタイム性能を保証可能な最小のバス動作周波数を示すバス動作周波数の情報を含む。間欠情報生成部に代えて間欠情報記憶部が設けられている場合には、間欠情報記憶部は、たとえばシステムの設計者が生成した間欠情報を記憶する。
クロック生成部は、バス動作周波数の情報に従いクロックを生成する。通信部はクロックで動作し、入力されたデータをパケット化して送信し、入力されたデータの送信時刻を記録する。送信間隔決定部は、間欠周期、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、送信要求に対する送信許可の発行時刻を決定する。
本構成により、制御装置は各イニシエータ間のパケット干渉の制限を行うことが可能になる。以下、図面を参照して具体的に説明する。
図10は、イニシエータI1〜I4が同時にターゲットT1宛に、最大のパケットサイズN1〜N4でパケット送信を行ったタイミングt1を示す。図11は、ターゲットT1に向かう各パケットの到着の様子を示している。イニシエータI1〜I4が同時送信したパケット以外に干渉するパケットが無ければ、Pサイクルの間に全てのパケットが到着する。この図11は、各イニシエータが要求する後続のパケットを、送信間隔Pサイクル以上を保って、送信した場合のタイミングを示す。
図12は、ターゲットT1における各パケットの到着の様子を示す。図12より、各イニシエータがPサイクル以上の送信間隔でパケットを送信すれば、1回目と2回目の同時送信パケット同士で干渉することが無いため、干渉によるレイテンシをPサイクル以下に制限することができる。
また、各イニシエータの許容レイテンシを守るために、最も許容レイテンシの小さいイニシエータに着目する。図11に示したパケットの到着順の並びで、最も許容レイテンシの小さいイニシエータI1の送信したパケットが、最後に到着する場合が、最もレイテンシが厳しくなる条件である。その条件下でもイニシエータI1の要求する許容レイテンシSを守ることが可能な最小のバス動作周波数でバスを駆動する。
図13は、動作周波数低減の効果を示す。パケットの送信間隔をPサイクル以上に調整することで、最大要求帯域が削減される。その理由は、Pサイクルより短いサイクル間隔で発行されるパケットが存在しないためである。図13の実線で示した矩形は、本開示の送信間隔制御を行った場合の各イニシエータの要求帯域を示す。破線で示した矩形は、図5と対比するために設けられている。最も許容レイテンシの小さいイニシエータI1に着目すると、パケット送信間隔がPサイクル以上に調整されることにより、時間方向には遅延される。しかしながら、最大要求帯域は低減される。また時間方向の遅延量は、イニシエータI1の許容レイテンシ制約を満たせるように決定されるため、各イニシエータのリアルタイム性への影響は無い。各イニシエータに対応する実線及び破線の矩形の面積の和は、イニシエータが送信するデータ量を示しており、両者の面積は等しい。本開示では、以上のように、各イニシエータの伝送性能の保証と、必要最低限のバス動作周波数の決定を行うことができる。
以下、本開示による制御装置の実施形態1〜3をそれぞれ説明する。
(実施形態1)
まず、図1に示すイニシエータI1〜I4とターゲットT1〜T4の通信形態とその諸元を説明する。図1は、イニシエータI1〜I4とターゲットT1〜T4との間のメインバスにNoCを適用した一般的な接続構成の例である。この構成は本実施形態および後述の実施形態においても採用され得る。本実施形態では、各イニシエータI1、I2、I3、I4を、リアルタイム処理を実行するプロセッサ、各ターゲットT1、T2、T3、T4をメモリコントローラとして説明を行う。ただしこれは一例である。本開示はこれに限定されるものではない。
イニシエータは、バスのマスタとして動作するものであれば何でもよい。たとえば、イニシエータは、DSP(Digital Signal Processor)、CPU(Central Processing Unit)、ASIC(Application Specific IC)、DMAC(Direct Memory Access Controller)、各種デバイスに繋がる入出力ポートである。
また、ターゲットは、バスのスレーブとして動作するものであれば何でもよい。たとえば、ターゲットは、外部のDRAMに接続されるDRAMコントローラ、SRAM、外部との入出力用のバッファメモリ、各種デバイスに繋がる入出力ポートである。
プロセッサI1、I2、I3、I4は、実行中のプログラムとメモリマップで定義された割当に従い、メモリT1、T2、T3、T4に対してアクセス要求トランザクションを行う。本明細書では説明の簡略化のため、ターゲットT1へのアクセスに着目する。
プロセッサI1〜I4はプロセッサ上で実行される性能保証が必要な動作プログラムの性能保証を実現する。そこで、適切なタイミングで、メモリT1からのデータの読出やメモリT1へのデータの書き込みをおこなうため、プロセッサI1〜I4はNIC1〜NIC4に対してアクセス要求トランザクションを発行しようとする。ここでは、各プロセッサI1、I2、I3、I4がメモリT1に対する一回のアクセスに要するデータの最大サイズを、それぞれN1、N2、N3、N4とする。単位はバイトである。
各プロセッサI1、I2、I3、I4の発行するメモリT1へのアクセスの時間間隔は一般的に変動すると考えられるため、平均アクセス間隔をそれぞれA1、A2、A3、A4とする。またI1、I2、I3、I4がリアルタイム処理を行うために要求する許容レイテンシをS1、S2、S3、S4とする。許容レイテンシSi(i=1〜4)は、プロセッサIi(i=1〜4)がメモリアクセスのための要求トランザクションを発行しようとしたタイミングから起算して、該要求トランザクションに対する返信トランザクションを受け取る迄に待つことのできる最長の時間である。A1〜A4、S1〜S4は時間の単位を持つが、バスの動作周波数がF(Hz)として、下記数3、数4によりバスサイクルの単位に変換可能である。
Ai‘=F×Ai (cycle) (数3)
Si‘=F×Si (cycle) (数4)
次に図1に示すNoCバスのトポロジーとその諸元を説明する。図ではイニシエータ側のNIC1〜NIC4とターゲット側のNIC5〜NIC8がバタフライ網と呼ばれるトポロジーで接続されたルータR1〜R4を介して、相互に通信可能な状態に結合されている。ただし本開示はこれに限定されるものではない。ルータの網のトポロジーは、メッシュ網、ツリー網、リング網、スター網、トーラス網、または三次元に拡張されたこれらの網などであってもよい。
NIC1〜NIC8は、たとえば、接続されたイニシエータやターゲットがインタフェースするバスプロトコル処理、通信先のNICとデータを送受するためのパケッタイズ処理(パケット化処理)およびデパケッタイズ処理(脱パケット化処理)、接続されたルータとデータを送受するためのフリッタイズ処理(フリット化処理)およびデフリッタイズ処理(脱フリット化処理)などを行う。それらの処理には一般に固定の処理サイクル数を要するため、NICで消費されるサイクル数をNで表す。またルータR1〜R4では接続されたNICまたは隣接のルータとフリット化されたデータの送受を行うためのバッファマネージメント処理、出力ポートのスイッチング処理などを行う。それらの処理には一般に固定の処理サイクル数を要すため、ルータで消費されるサイクル数をRで表す。
図1では、いずれの場合もプロセッサから発行された要求トランザクションは、2個のNICと2個のルータを通過し、返信トランザクションは、2個のNICと2個のルータを通過する。そのためアクセスの往復のトランザクションで固定的に発生するレイテンシのサイクル数Cは、下記数5で表される。
C=2×(2×N+2×R) (cycle) (数5)
数5は経路上のルータが2段の場合の算出例である。イニシエータからターゲットに至る経路上で通過するNICやルータの個数が経路毎に異なるようなシステム構成の場合には、各々の個数をシステム構成情報に含めることで、各イニシエータ毎に各ターゲットにアクセスする場合の固定レイテンシの値の算出が可能である。
プロセッサの実際のメモリアクセス時に発生するレイテンシは、レイテンシのサイクル数Cに加えて、ルータやNIC上での他のパケットとの待ち合わせによっても変動する。その変動量をVとすると、プロセッサが要求トランザクションを発行してから、該要求トランザクションに対する返信トランザクションを受信する迄に要する総レイテンシVは、下記数6で表される。
Z=C+V (cycle) (数6)
プロセッサの要求する許容レイテンシがS(sec)以内でアクセスが完了するためには、バスの動作周波数をF(Hz)を下記数7によって決定する必要がある。
S×F≧C+V (数7)
しかし総レイテンシVは他のアクセストランザクションとの干渉の度合いにより、変動する。よって、バスの動作周波数Fを定量的に見積もることが出来ず、プロセッサの要求するリアルタイム性を保証し得ない。
本実施形態では、総レイテンシVを定量化可能とし、システムが動作する最小限のバス動作周波数Fを設計可能とする。そして、プロセッサのアクセストランザクションの発行間隔を動的に制御し、待ち合わせによる変動レイテンシVの最大値を規定し、数7に従った動作周波数でバスを駆動することで、無駄のないバス帯域の設計と省電力化を実現する。
次に図1の構成で、各プロセッサが発行するアクセストランザクションのタイミングの制御を説明する。先ほど説明した図10および図11と、図14とを参照する。
図10は、図1内のプロセッサI1〜I4が同じメモリT1に対して、最大のサイズNiで要求トランザクション1を同時発行した場合を示す。このときI1〜I4が発行した要求トランザクションはバス上で待ち合わせが発生する。例えば図11は、メモリT1に到着する様子を示す。
プロセッサIiのトランザクションを構成するパケットをメモリT1が受信するために要するサイクル数P1(i)は、1フリットを1サイクルで送信するという条件の下で、下記数8で示される。
Figure 2013046607

ここでHはパケットヘッダのサイズ(単位はバイト)、LiはプロセッサIiのトランザクションの最大サイズ(単位はバイト)、Wはバス幅(単位はバイト)である。数8は、プロセッサIiが同時に送信するデータによって消費されるサイクル数を表す値であるため、もしプロセッサIiが同時にz個のトランザクションを生成する場合は,数8の右辺の値もz倍とする。
プロセッサI1〜I4が同時に発行した4個の要求トランザクションが全てメモリT1に受信されるために要するサイクル数Pは、下記数9で表される。
Figure 2013046607
図14は、各プロセッサIiが、サイクル数Pだけ間隔を空けて、要求トランザクション1と要求トランザクション2を発行した場合のタイミングを示す。また図12は、これらのトランザクションから生成されたフリットが、メモリT1で受信されるタイミングを示す。I1〜I4が時刻t1に同時に発行した4個の要求トランザクション1はプロセッサI2、I3、I4、I1の順でメモリT1に受信され、続いて間隔Pサイクルを空けて時刻t2に発行した4個の要求トランザクション2は、プロセッサI2、I4、I3、I1の順でメモリT1に受信される。時刻t1に発行されたトランザクション同士及び時刻t2に発行されたトランザクション同士はメモリT1に受信される順序により、待ち合わせが発生し、各プロセッサから見た場合のレイテンシZは変動する。だたし、その変動量Vは高々Pである。また時刻t1に発行されたトランザクションと時刻t2に発行されたトランザクションは、発行間隔Pだけ離されて発行されているため、相互に待ち合わせが発生することはなく、時刻t1に発行されたトランザクションの中で最後にメモリT1に到着したトランザクションが完全に受信された直後に、時刻t2に発行されたトランザクションの中で最初にメモリT1に到着したトランザクションの受信が開始される。このため、上述の数7は下記数10に置き換え可能であり、全てのプロセッサIiに対して下記数10の関係が成立する最小のバス動作周波数Fでバスを駆動すると共に、各プロセッサのトランザクション発行間隔が最小でもPサイクルとなるように制御することにより、全てのプロセッサのリアルタイム性を保証した周波数設計が可能となる。
Si×F≧C+P (数10)
図15は、イニシエータ(プロセッサ)側のNIC130の基本的な構成を示す。NIC130は、たとえば図1のNIC1〜4である。なお、以下に説明する機能に鑑みて、NIC130は「送信間隔制御装置」または「制御装置」と呼ぶこともある。
以下、本実施形態における制御装置130の構成を説明する。
制御装置130は、間欠情報生成部131と、クロック生成部132と、通信部133と、送信間隔決定部134とを備えている。
間欠情報生成部131は、システム構成情報と各プロセッサI1〜I4のフロー構成情報を基にパケット間の干渉を制限可能な間欠周期情報Pと、各プロセッサI1〜I4で守るべき許容レイテンシS1〜S4で規定されるリアルタイム性能を保証できる最小のバス動作周波数Fを決定する。
クロック生成部132は、最小周波数Fに従いバスの動作周波数を生成する。
通信部133は、動作周波数Fをバスクロックとして動作し、入力された要求トランザクションを送信パケットとして出力すると共に、直前の要求トランザクションの送信時刻を記録する。
送信間隔決定部134は、間欠周期情報Pと送信要求の検出時刻と直前の送信時刻から送信要求に対する送信許可の発行時刻を決定する。
以下、基本構成の各処理部毎に詳細な動作を説明する。
(間欠情報生成部131)
間欠情報生成部は、事前に定義されたシステム構成情報とフロー構成情報を基に、間欠情報を決定する。間欠情報とは、パケット間の干渉を制限可能な間欠周期情報Pと、プロセッサのリアルタイム性能を保証できる最小のバス動作周波数Fを含む。
システム構成情報は、たとえば図1に示すような、イニシエータ、バス、中継装置、ルータ、およびターゲットによって構成されるシステムの構成に関する情報である。図16は、システム構成情報の例を示す。バス幅WはNoCの各リンクのバス幅であり、単位はバイトである。Wバイトのデータ信号は1サイクルで送信することができるため、Wはフリットサイズと等価となる。NIC及びルータの処理遅延は、NIC及びルータの内部におけるパケット転送などの処理で消費される固定量の処理サイクル数である。パケットヘッダサイズは、パケットのヘッダとペイロードがフリット単位で分離されるほうがNIC及びルータでの処理が行い易いため、一般的にはWの倍数とするのが良い。バス動作周波数の初期値F0は、バスを駆動する最小バス動作周波数を決定する際の初期値である。
一方、フロー構成情報は、イニシエータ(たとえばプロセッサ)毎のターゲット(たとえばメモリ)等に対するアクセスに必要とされる仕様を、タスクやメモリ割当等の処理(フロー)単位に分離した情報である。図17は、フロー構成情報の例を示す。図の例では、イニシエータであるプロセッサI1〜I4には各2本のフローが定義されている。例えばプロセッサI1が仮想化機能を有しており、2種類のOSが各仮想マシン上で動作し、各OSの要求するアクセスをフローIDの11と12で管理されている状態などが考えられる。また別の例では、プロセッサI2に対して定義されたメモリマップにより、2つのメモリT1とT2の各領域が割り当てられている場合に、それらに対して、フローIDの21と22が対応しているとしても良い。
フロー構成情報では、各プロセッサに対して定義されたフロー毎に、フローの特性を表す、性能保証の必要性、アクセスの宛先となるメモリのノードID、アクセストランザクションの最大サイズ(単位はバイト)、平均アクセス間隔(単位はsec)、リアルタイム処理の時間制約である許容レイテンシの値(単位はsec)、レート保証期間(単位はsec)などの諸元が定義される。またプロセッサI4は性能保証が不要なリアルタイム処理を行わないプロセッサの例であり、平均アクセス間隔や許容レイテンシなどは定義されていない。このようなプロセッサの例として、バックエンドでファイルの転送を行うような処理を担うプロセッサが挙げられる。図17では、性能保証の対象となるプロセッサはI1〜I3であり、フローIDが11〜32の6本のフローである。
メモリT1に対する間欠間隔P1を求める方法を説明する。図18は、図17から抜粋したメモリT1に関係する性能保証が必要なフローを示す。メモリT1に対してプロセッサ間のパケットの干渉を制限可能な間欠間隔P1は、上記数8、数9より、下記数11で求められる。
Figure 2013046607
図19は、メモリT2を宛先とする、イニシエータI1〜I3のフロー構成情報を示す。メモリT2に対する間欠間隔P2についても、図19を用いて、P1と同様に下記数12で求められる。
Figure 2013046607
最小のバス動作周波数F(Hz)は、メモリT1、メモリT2を宛先とする性能保証が必要な全てのフローに対して、レート保証とレイテンシ保証が可能な値でなければならない。このため、間欠情報生成部131は、最小のバス動作周波数Fを求めるための周波数探索の初期値としてF0を用い、メモリT1に関連したフローに対して性能保証が可能な周波数F1とメモリT2に関連したフローに対して性能保証が可能な周波数F2をそれぞれ求める。そして、周波数F1およびF2のうち大きいほうの値をバスの動作周波数Fとする。これにより、全てのメモリに関連するフローで性能保証が可能となる。以下、間欠情報生成部131が、メモリT1に対する最小動作周波数F1を求める方法を説明する。
メモリT1を宛先とする性能保証型のフローは、最大でP1サイクルの間、送信を保留される可能性がある。送信間隔決定部134が後続のアクセスパケットとの干渉を制限するためである。送信が最大P1サイクル保留されても、平均レートでのアクセスが可能であり、かつ許容レイテンシを守れるためのフロー11に対する必要条件は、下記数13で与えられる。式中のC1は上述の数5で算出される固定レイテンシである。
Figure 2013046607
またフロー11における要求トランザクションが最大でP1サイクルの間保留された後NIC1から送信され、他のプロセッサから同時に送信されたメモリT1宛のパケットと干渉することで発生するレイテンシの最大量は、数10よりP1サイクルとなる。よって、フロー11に属するアクセストランザクションがプロセッサI1が要求する許容レイテンシS1を満たすためには、下記数14の関係が成り立つことが必要条件である。
Figure 2013046607
上述の数13及び数14より、フロー11に関して、下記数15の関係が成り立つことが性能保証が可能な条件となる。
Figure 2013046607
数15の関係が成立しない場合には、成立するまで動作周波数F0の値を増加させる必要がある。数15の関係を成立させる最小の動作周波数F11が存在し、その値がフロー11に対して性能保証を行える最小のバス動作周波数の値となる。同様の方法で、間欠情報生成部131は、メモリT1を宛先とする残りの全てのフロー21、31に対しても、性能保証が可能な最小のバス動作周波数F21、F31を決定する。下記数16は、メモリT1を宛先とする全てのフローで性能保証が可能な最小のバス動作周波数F1を求める。
Figure 2013046607
メモリT1に対して行った方法と同様の方法で、図19と数12を用いて、メモリT2を宛先とする全ての性能保証型のフロー12、22、32で性能保証可能な最小のバス動作周波数F2を求めることができる。F1、F2を用いて、システムの最小バス動作周波数Fは、下記数17で決定される。
Figure 2013046607
決定された周波数Fは、最小周波数としてクロック生成部132に出力する。
決定された最小のバス動作周波数Fを用いて、レート管理情報を計算する方法を説明する。プロセッサI1のレート保証期間g1はFを乗じることによりサイクル単位の値G1に変換可能である。またG1サイクル内のメモリT1に対する平均アクセス回数M1はg1/A11となる。またメモリT2に対する平均アクセス回数M2はg1/A12となる。間欠情報生成部131は、レート保証期間の値G1と全ての宛先メモリに対する平均アクセス回数の値M1、M2を算出し、レート管理情報として、送信間隔決定部134に通知する。この説明から明らかな通り、間欠情報生成部131は、最小のバス動作周波数Fが得られた後にレート管理情報を算出する。したがって、レート管理情報は副次的に得られる情報であると言える。図15では、破線によって、レート管理情報が副次的に得られる情報であることが示されている。
図20は、間欠情報生成部131の処理フローを示す。図20は上述の処理の手順を表している。改めて個々のステップを説明することは省略する。
(クロック生成部132)
クロック生成部132は、間欠情報生成部131によって決定された最小周波数の値F(Hz)を周波数とするクロック信号を発生させる。クロック信号はチップ上のクロックツリー等のクロック用配線により、NICやルータ等のバス構成要素の動作クロックとして供給される。
(通信部133)
通信部133は、プロセッサ側とインタフェースされたバスから送信データとしての要求トランザクションを受け取り、パケット化の処理により要求パケットとして構成し、ルータ側とインタフェースされたバスに対してフリット単位で送信する。通信部133は、要求パケットの先頭のフリットをルータ側に送信した時刻と宛先のメモリを、送信時刻情報として送信間隔決定部134に通知する。
(送信間隔決定部134)
送信間隔決定部134は、間欠情報生成部131から通知された間欠周期情報及びレート管理情報と、通信部133から通知された宛先毎の送信時刻情報を管理テーブルに保持する。管理テーブルは、たとえば送信間隔決定部134の内蔵メモリ(図示せず)に記録されている。送信間隔決定部134は、プロセッサから要求トランザクションを受け入れるタイミングを制御することで、送信間隔の制御を実行する。
図21は、プロセッサI1に接続されたNIC1の管理テーブルの構成例を示す。プロセッサI1では、アクセス先のメモリとしてフロー11に対してはメモリT1、フロー12に対してはメモリT2の2つが利用されている。宛先メモリT1に関しては、G1サイクルの期間にM1回の要求トランザクションを送信するというプロセッサの要求帯域に関する諸元と、前後に送信された要求パケットとの干渉を制限するために確保すべき最小送信間隔である間欠周期情報P1(単位はサイクル)の値、直近の要求トランザクションの送信時刻の情報である送信時刻情報J1、レート保証期間G1サイクルの間に実際に送信された要求トランザクションの計数結果であるm1、送信間隔の制御により現在保留中の要求トランザクションが送信されるべき時刻の情報であるD1(「次回送信時刻情報D1」とも記述する。)を格納する。送信時刻情報J1、次回送信時刻情報D1はバスの動作周波数F(Hz)を計数するシステムクロック等を使用しても良く、その場合は送信時刻情報J1、次回送信時刻情報D1の時刻の単位はサイクルとなる。即ち、イニシエータから入力されたデータの送信時刻として、システム内のクロック信号の周期を計数するカウンタ値を用いることで送信間隔の決定が実現される。
次に、プロセッサI1からメモリT1に対してアクセスされる要求トランザクションを例にとって、送信間隔決定部134が、NIC1で発行されるアクセスのタイミングをどのように調整されるかを説明する。図22は、NIC1がプロセッサI1から要求される平均アクセス回数M1以下のアクセス・トランザクションを受け付けている様子を示す。時刻t0からレート保証期間が開始され、時刻t0+G1に至る迄のG1サイクルの区間内でM1回のアクセスが発行されることで、プロセッサI1はレート保証がなされるように動作する。また管理テーブル内のレート保証期間G1、平均アクセス間隔M1、間欠周期情報P1は、レート保証期間中に変更されることはないが、送信時刻情報J1、アクセス回数m1、次回送信時刻情報D1に関しては、送信間隔の制御を行うための状態変数として逐次変更がなされるものとする。
レート保証期間が開始される時刻t0の時点で、送信時刻情報J1には、時刻t0―G1に開始された直前のレート保証期間中で最後にNIC1から送信された宛先T1宛の要求トランザクションの送信時刻が記録されている。またアクセス回数m1はゼロに初期化されている。図22では、時刻t0から開始されるレート保証期間内に要求されたプロセッサI1のメモリT1宛のアクセス・トランザクションに番号を付して、1、2、3と表している。また4回目以降のアクセスも、M1回に達する迄は同様に処理される。プロセッサI1から要求された要求トランザクション1は、NIC1から同時刻に要求パケットとして送信される。これにより、アクセス回数m1=1となり、送信時刻情報J1にはその送信時刻であるt0が記録される。次にプロセッサI1から要求されたトランザクション2は、要求時刻t1(I)と送信時刻情報J1との時間差であるΔt1が間欠周期情報P1以上であるため、直ちに要求が受け付けられて、NIC1から送信される。これにより、アクセス回数m1=2となり、その時刻が送信時刻情報J1に格納される。次にプロセッサI1から要求されたトランザクション3は、要求時刻t2(I)と送信時刻情報J1の時間差であるΔt2が間欠周期情報P1未満のため、要求が保留される。そして、次回送信時刻情報D1が下記数18によって決定され、管理テーブルに記録される。
D1=J1+P1 (数18)
図22の例では、次回時刻情報D1に、要求トランザクション3がNIC1から送信され、m1=3となる。送信時刻情報J1としてその送信時刻が格納される。NIC1から要求パケットを送信する間隔として、最小でもP1サイクルが確保されるため、前後の要求パケット間の干渉を制限できる。
ここで、プロセッサI1以外の他のプロセッサがメモリへのアクセスを行っておらず、プロセッサI1のみがメモリT1に対して連続的にアクセスを行う例を考える。換言すれば、プロセッサI1のみがメモリT1に対して連続的にアクセスを行う例を考える。
図23は、プロセッサI1による連続的な要求タイミングと、NIC1によるアクセス要求の送信タイミングと、メモリT1におけるアクセスが観測されるタイミングとを示す。プロセッサI1からの連続したアクセスがNIC1を通過する際、送信間隔決定部134は、間欠周期情報P1によって示される定間隔のアクセスに変換する。他のプロセッサのアクセスがないため、ルータでのリソース競合が無ければ、メモリT1側で観測されるアクセスのタイミングもまた定間隔となる。
また、レート保証期間G1サイクル内で、プロセッサI1の要求するアクセス数に対して、NIC1で受け付けるアクセス数をM1回以下に制限したい場合には、平均アクセス回数M1とNIC1が送信した要求トランザクション数m1を比較することにより可能となる。
図24は、管理テーブルに記録された平均アクセス数M1を越える回数の要求トランザクションがプロセッサI1から送信された場合のNIC1での送信間隔の調整の様子を示す。時刻tM(I)にプロセッサI1からメモリT1宛に要求されたアクセス・トランザクションは、図22で説明した制御の結果、時刻tM(N)にNIC1から送信され、m1=M1、J1=tM(N)が管理テーブル内に記録されている。続いて同一レート保証期間内にM+1回目のアクセスが要求された場合、条件m1=M1が既に成立しているため、次回送信時刻が次のレート保証期間となるように下記数19に従って、管理テーブル内のD1を更新する。
D1=t0+G1 (数19)
フロー11がレート保証期間G1内に、M1回以上の過剰なアクセス要求を行うような場合に、他のフローの割当帯域を奪わないためには、実際のアクセス回数をM1以下に制限する機能が必要となる。
図25は送信間隔決定部134の処理フローを示す。図25は上述の処理の手順を表している。改めて個々のステップを説明することは省略する。
かかる構成によれば、最小のバス動作周波数でイニシエータの性能保証を行うことが可能となる。また本実施形態では、複数の宛先メモリが存在する場合を説明しているが、宛先メモリが単一の場合であっても同様である。また本実施形態では、間欠情報生成部131が間欠周期情報および最小周波数情報を算出し、クロック生成部132が通信部133に送るバスの動作周波数を、最小周波数情報に従い動的に調整する構成を示したが、全てを動的に行わなくてもよい。
さらに、間欠情報生成部131を設計ツール内の処理として実装し、ツールによって決定された間欠周期情報や最小周波数情報の値を設計パラメータとして用いて、他の構成部分の回路設計を行っても良い。その場合、クロック生成部132は、VCXOなどのクロック信号の周波数を動的に変更できる機能を有していなくても、設計パラメータとして決定された最小周波数情報に従った固定の周波数で発振するクロックジェネレータとして構成されても良い。または、クロック生成部132は、外部から所定周波数で駆動されるクロック信号を取得しても良い。このときの「所定周波数」は、設計ツールによって計算で生成された、最小の周波数である。また間欠周期情報やレート管理情報については、レジスタファイルやメモリやフリップフロップで構成された記憶領域などに格納しておくことにより、送信間隔決定部134が動作開始時に読み込むようにしても良い。間欠情報生成部131を設計ツールとして実装することにより、バスの帯域設計を計算プログラム等で行えるようになり、シミュレーションやエミュレーションによるバス帯域のカット・アンド・トライによる設計と検証が不要となり、開発工数が短縮できるという優れた効果を有する。
図26は、実施形態1によるNIC130の構成の変形例を示す。
図26に示すNIC130と、図15に示すNIC130との相違点は、図15に示すNIC130の間欠情報生成部131に代えて、間欠情報記憶部135を設けた点にある。
間欠情報記憶部135は、たとえばフリップフロップを用いたレジスタとして構成され、設計ツールを用いて算出された間欠周期情報を記憶する。設計ツールで算出された最小周波数情報で駆動されたクロック信号は、外部で生成され、通信部133に印加される。通信部133はクロック信号に従って、ルータとの間でデータの通信を行う。間欠情報を生成する間欠情報生成部131に代えて、外部から受け取った間欠情報を記憶する間欠情報記憶部を設けた点を除いては、上述した実施形態1にかかる構成要素の動作は図26に示す構成にも適用可能である。
送信時刻情報は、要求パケットの送信時刻を記録しても良いし、要求パケット送信時刻毎に初期化され、経時的に増加または減少するカウンタの値を管理しても良い。
図27は、増加型のカウンタを用いた例を示す。通信部での要求パケット送信のタイミングでカウンタの計数値は0に初期化され、カウンタの値は要求パケット送信時刻からの経過時間を表す。送信間隔決定部134は、経過時刻情報としてカウンタの計数値を取得し、間欠周期情報の値以上であれば、イニシエータからの送信要求に呼応して送信許可を発行する。計数値を管理するカウンタは、送信間隔決定部134に設けられていても良い。その場合には、要求パケットを送信したタイミングを示す情報を通信部133から通知すれば良い。
図28は、減少形のカウンタを用いた例を示す。通信部133は、要求パケットを送信したタイミングを送信間隔決定部134に通知する。送信間隔決定部134は通知を受けたタイミングでカウンタ値を間欠周期情報の値に初期化する。計数値が0以下であれば、イニシエータからの送信要求に呼応して送信許可を発行する。計数値を管理するカウンタは通信部133に設けられていても良い。その場合には、通信部133が間欠周期情報を間欠情報記憶部131から読み出す構成とすれば良い。
その結果、通信部133がシステム内のクロック信号の周期を計数するカウンタを有し、イニシエータから入力されたデータの送信時刻にカウンタを初期化し、カウンタ値を経過時刻情報として送信間隔決定部134に供給する。送信間隔決定部134は、経過時刻情報が間欠周期情報または所定の計数値に達したことを判定し、イニシエータからの送信要求に対する送信許可を発行すればよい。
(実施形態2)
図29は、本実施形態のシステム構成図である。図29では、図1と同じ構成要素については同じ符号を用いている。それらの説明は実施形態1において既に説明したので、ここでは説明を省略する。
本実施形態では、実施形態1に加えて、イニシエータI1とイニシエータI3の間でメモリを介さない直接通信を行う。以下においても、図15に示す構成のNIC130を適宜参照しながら説明する。図15に示すNIC130は、たとえば図29に示すNIC1に対応する。以下では便宜的にNIC1と記述する。
図29のルータR3は、I3を宛先とするパケットを受け取った際に、リンクL3を介してルータR2に送るように経路表が設定されている。このような通信形態の具体的な例としては、イニシエータI1及びイニシエータI3が外部のハードディスクドライブをインタフェースするための入出力ポートのコントローラデバイスなどが考えられる。
以下、ポートI1に接続されたハードディスクドライブからポートI3に接続されたハードディスクドライブにメモリを介さずに高速に格納データをコピーする処理の例を説明する。
図29において、ポートI1にはデータの転送元となるハードディスクドライブHDDAが接続されている。またポートI3にはデータの転送先となるハードディスクドライブHDDBが接続されている。ハードディスクドライブの接続インタフェースは、たとえばシリアルATAである。
図30は、ポートI1のフロー構成情報を示す。I4については、変更が無いため省略している。また図31は、宛先をI3とするフローだけを抽出した結果を示す。イニシエータ間の直接通信がある場合であっても、通信先のイニシエータをひとつの宛先として扱うだけで性能を保証することができる。
NIC1では、間欠情報生成部131における間欠周期情報の算出時には、T1、T2に加えて、I3の宛先についても算出を行う。宛先I3に対する間欠周期情報をP5で表すと、下記数20により間欠周期情報が求められる。
Figure 2013046607
イニシエータ間での直接通信においては、通信経路上に存在するルータは、I1とI3の直接通信の場合が、ルータR1、R3、R2の3個であり、メモリを宛先とする場合よりも1段多くなるため、固定レイテンシC5は下記数21により算出する。
Figure 2013046607
直接通信のフローに対する性能保証の判定には、下記数22を用いる。
Figure 2013046607
間欠情報生成部131は、全てのメモリ宛のフローに加えて、全ての直接通信のフローについても数22が成り立つ動作周波数Fを選択することで最小周波数情報を決定する。図32は、ポートI1に接続されたNIC1の管理テーブルの例を示す。ポートI3宛の直接通信のフローに関するパラメータである、レート保証期間G1、間欠周期情報P5、送信時刻情報J5、次回送信時刻D5については、最小周波数情報Fでサイクル単位に変換され格納されている。NIC1の送信間隔決定部134は、図32の管理テーブルに従い、実施形態1と同様の制御を宛先I3に対しても行う。
本実施形態に示したようなイニシエータ間の直接通信を行うことによって、ターゲットT1〜T4の物理帯域を越えた通信スループットを得ることが出来る点で優れた効果を有する。とくにターゲットとして全てのイニシエータ間で共有するシステムメモリを考えた場合、全てのフローがシステムメモリを介する構成では、メモリの物理帯域が非常に大きくならざるを得ない。イニシエータ間の直接通信のフローは、メモリを介さないため、メモリの物理帯域とは独立に、イニシエータのスループットを向上することができる。
(実施形態3)
図1において、イニシエータのアクセスタイミングに揺らぎがある場合に、その揺らぎの幅が大きいと、揺らぎを吸収するためにターゲット側に必要なデジッタリング・バッファのサイズが大きくなる。その結果、面積へのインパクトが問題となったり、複数のプロセッサが密なアクセスを行っている期間に、I4のような非保証型のアクセスが処理され難くなることがある。その場合には、本実施形態に示す方法で、送信間隔決定部134(図15)を構成することで、これらの問題を回避することができる。
図33は、プロセッサI1のメモリT1宛のフロー11におけるアクセスのタイミングを示す。フロー11は、レート保証期間であるG1サイクルの期間内に、10回のアクセス(M1=10)を行うが、そのアクセスタイミングには揺らぎがあり、アクセスがバースト的に連続する密な期間と、アクセスが中断する疎な期間が繰り返されている。このような疎密の揺らぎの要因の例として、イニシエータの内部キャッシュでのヒット/ミスヒットによるもの等が考えられる。
図33には、NIC1が送信するアクセス要求のタイミングを併せて示している。密な期間に連続的に要求されたアクセスの間隔が、フロー11の平均アクセス間隔に収束するように送信間隔が調整されている。このような送信間隔制御を実現するための送信間隔決定部134の動作を説明する。
本実施形態にかかるNICの構成は、送信間隔決定部134以外の部分の構成については実施形態1のNIC130(図15)と同じである。特に説明しない構成要素については、図15に示す実施形態1のNIC130の説明を援用し、説明を省略する。
(送信間隔決定部134)
図34は、送信間隔決定部134が保持する管理テーブルの例を示す。実施形態1の管理テーブル(図21)に加えて、宛先毎の累積サイクル数が記録されていることが理解される。累積サイクル数は、レート保証期間の開始時に零に初期化され、レート保証期間中は、NICからの送信タイミングと平均アクセス間隔とのサイクル単位でのずれを累積するために使用される。図35は、フロー11の送信間隔がどのように制御されるかを示す。説明のため、プロセッサI1がメモリT1宛に送信するフロー11のパケットに1から6の番号を付した。パケットのサイズはN1フリットとすると、1個のパケットを転送するのに要するサイクル数qは、下記数23で表される。
Figure 2013046607
説明を簡単化するため、プロセッサI1、I2、I3がメモリT1宛に送信するパケットのサイズは全てqであるとする。レート保証間隔G1の開始サイクルt0において、サイクル累積値n1は零に初期化されている。間欠周期情報P1と平均コマンド間隔A11の間には、下記数24の関係が成り立つとする。
Figure 2013046607
プロセッサI1から最初の送信要求が発行されると、送信間隔決定部134は、直前のレート保証期間の最終送信パケットの送信タイミングからの間隔が間欠周期情報であるP1サイクル以上空いていれば、直ちにパケット1のメモリT1への送信を行う。続いて発行された送信要求2に対しては、直前のパケット1の送信タイミングから、平均コマンド間隔であるA11の間隔を空けて、パケット2の送信を行う。アクセスの揺らぎにより、プロセッサI1からの送信要求2から送信要求3までの区間にはアクセス要求は発行されず、続く送信要求3がパケット3としてメモリT1に送信される。このとき送信間隔決定部134は、パケット2の送信タイミングからの経過時間と平均コマンド間隔との差(ずれ)を記録する。図35に示す例では、差(ずれ)は2qサイクルである。送信間隔決定部134は、その2qサイクルの値をサイクル累積値としてn1に記録する。次にプロセッサI1から送信要求4が発行されると、平均コマンド間隔とのずれであるサイクル累積値n1を考慮し、下記数25に従い、パケット4の送信タイミングを計算する。
Figure 2013046607
t3、t4は、それぞれパケット3及びパケット4を送信した時刻を表す。図35の例でt4を計算すると、下記数26が成り立つ。
Figure 2013046607

よって、間欠周期情報P1の間隔でパケット4が送信される。このとき、下記数27に示すようにサイクル累積値n1から使用したサイクル数を差し引くことでn1を更新する。
Figure 2013046607
図35では、n1の値が2qからqに更新されている。続く送信要求5でも同様にサイクル累積値n1に累積された累積値qを使用して、送信タイミングを平均コマンド間隔A11よりもqサイクルだけ早めている。その結果、サイクル累積値n1は零となっている。このため、プロセッサI1から発行された送信要求6は、平均コマンド間隔A11の間隔を空けて、パケット6としてメモリT1に送信されている。
以上のようなサイクル累積値の管理により、各プロセッサの送信要求を平均化し、揺らぎを吸収することが可能となる。図36は、本実施形態における送信間隔決定部134の処理フローを示す。図36は上述の処理の手順を表している。改めて個々のステップを説明することは省略する。
本実施形態によれば、たとえば間欠周期情報P1とプロセッサの平均アクセス間隔(平均コマンド間隔A11)との差が比較的小さい場合で、かつ平均アクセス間隔以上の間隔でアクセスが揺らいだ場合であっても、直近のパケット送信タイミングからの経過時間と平均コマンド間隔との差(ずれ)を算出し、その差を減らすよう、次のパケットの送信タイミングを早くする。これにより、プロセッサの平均要求帯域を守ることが可能になる。
本開示は、組込機器向けのSoCにおけるオンチップバスや、汎用プロセッサ、DSP上のローカルバスにおける、データ転送経路の制御技術を備えたネットワークバス制御装置、制御方法、制御プログラムに利用可能である。
130 制御装置
131 間欠情報生成部
132 クロック生成部
133 通信部
134 送信間隔決定部
135 間欠情報記憶部

Claims (20)

  1. イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、前記イニシエータから前記バスを介して受け取ったアクセス要求の送信タイミングを制御する制御装置であって、
    前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報とを用いて生成された間欠周期情報を記憶する間欠情報記憶部と、
    前記システム構成情報および前記フロー構成情報を用いて生成された各イニシエータのリアルタイム性能を保証可能なバス動作周波数で駆動されるクロック信号を取得するとともに、イニシエータから入力されたデータをパケット化し、前記クロック信号に従い、ルータへの送信パケットの送信と、入力された前記データの送信時刻を記録する通信部と、
    前記間欠周期情報、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、前記送信要求に対する送信許可の発行時刻を決定する送信間隔決定部と
    を備えた制御装置。
  2. 前記間欠情報記憶部は、各イニシエータが同時に送信可能な最大データ長で、全てのイニシエータが同時に送信した場合において、ターゲットが全てのデータを受信し終えるまでに要するバスサイクル数を、前記間欠周期として記憶する、請求項1に記載の制御装置。
  3. 前記間欠情報記憶部は、少なくとも前記間欠周期を用いて算出された、パケットの送受信に要する最大レイテンシを記憶し、前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で特定される最小のバス動作周波数を、前記バス動作周波数として記憶する、請求項1または2に記載の制御装置。
  4. 前記送信間隔決定部は、前記間欠周期が、連続するパケットの最小の送信間隔となるよう、前記送信要求に対する送信許可の発行時刻を決定する、請求項3に記載の制御装置。
  5. 前記送信間隔決定部は、前記システムの仕様として予め定められたレート保証期間内の送信数を、予め定められた回数以下に制限する、請求項4に記載の制御装置。
  6. 前記送信間隔決定部は、連続するパケットの送信間隔を、前記システムの仕様として予め定められた平均アクセス間隔に近づけるように決定する、請求項4に記載の制御装置。
  7. 前記間欠情報記憶部は、送信対象となるターゲット及びイニシエータ毎に、各イニシエータのパケットサイズに基づいて算出された前記間欠周期を記憶する、請求項1に記載の制御装置。
  8. 前記間欠情報記憶部は、送信対象となるターゲット毎に算出された間欠周期を記憶する、請求項1に記載の制御装置。
  9. イニシエータ、およびターゲットが分散型のバスで接続されたシステムにおいて使用され、前記イニシエータから前記バスを介して受け取ったアクセス要求の送信タイミングを制御する制御装置であって、
    前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から、パケット間の干渉を制限可能な間欠周期の情報、および各イニシエータのリアルタイム性能を保証可能な最小のバス動作周波数を示すバス動作周波数の情報を含む間欠情報を生成する間欠情報生成部と、
    前記バス動作周波数の情報に従いクロックを生成するクロック生成部と、
    前記クロックで動作し、入力されたデータをパケット化して送信し、入力された前記データの送信時刻を記録する通信部と、
    前記間欠周期、イニシエータからの送信要求の検出時刻、および直前の送信時刻から、前記送信要求に対する送信許可の発行時刻を決定する送信間隔決定部と
    を備えた、制御装置。
  10. 前記間欠情報生成部は、各イニシエータが同時に送信可能な最大データ長で、全てのイニシエータが同時に送信した場合において、ターゲットが全てのデータを受信し終えるまでに要するバスサイクル数を、前記間欠周期として算出する、請求項9に記載の制御装置。
  11. 前記間欠情報生成部は、少なくとも前記間欠周期を用いて、パケットの送受信に要する最大レイテンシを算出し、前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で特定される最小のバス動作周波数を、前記バス動作周波数として決定する、請求項9または10に記載の制御装置。
  12. 前記送信間隔決定部は、前記間欠周期が、連続するパケットの最小の送信間隔となるよう、前記送信要求に対する送信許可の発行時刻を決定する、請求項11に記載の制御装置。
  13. 前記送信間隔決定部は、前記システムの仕様として予め定められたレート保証期間内の送信数を、予め定められた回数以下に制限する、請求項12に記載の制御装置。
  14. 前記送信間隔決定部は、連続するパケットの送信間隔を、前記システムの仕様として予め定められた平均アクセス間隔に近づけるように決定する、請求項12に記載の制御装置。
  15. 前記間欠情報生成部は、送信対象となるターゲット及びイニシエータ毎に、各イニシエータのパケットサイズに基づいて前記間欠周期を算出する、請求項9に記載の制御装置。
  16. 前記間欠情報生成部は、送信対象となるターゲット毎に、間欠周期を算出する、請求項9に記載の制御装置。
  17. イニシエータ、およびターゲットが分散型のバスで接続されたシステムのバス周波数を決定するシステム設計方法であって、
    予め用意された、前記システムの構成に関するシステム構成情報、および各イニシエータからのターゲットへのアクセスに必要とされる仕様をフロー単位で示すフロー構成情報から、パケット間の干渉を制限可能な間欠周期を生成するステップと、
    少なくとも前記間欠周期に基づいてパケットの送受信に要する最大レイテンシを算出するステップと、
    前記最大レイテンシが、最も小さい許容レイテンシを持つイニシエータの許容レイテンシを越えない条件下で最小となるバス動作周波数を決定するステップと
    を包含する、システム設計方法。
  18. 前記通信部は、イニシエータから入力されたデータの送信時刻として、システム内のクロック信号の周期を計数するカウンタ値を用いる、請求項1または9に記載の制御装置。
  19. 前記通信部は、システム内のクロック信号の周期を計数するカウンタを有し、イニシエータから入力されたデータの送信時刻に前記カウンタを初期化し、前記カウンタ値を経過時刻情報として送信間隔決定部に供給し、
    前記送信間隔決定部は、前記経過時刻情報が前記間欠周期情報または所定の計数値に達したことを判定し、前記イニシエータからの送信要求に対する送信許可を発行する、請求項1から16のいずれかに記載の制御装置。
  20. 前記イニシエータが前記ターゲットに対し、連続的にアクセス要求を送信している場合において、
    前記送信間隔決定部は、前記間欠周期情報によって示される周期で、前記アクセス要求を前記ターゲットに宛てて定間隔に送信する、請求項1から16のいずれかに記載の制御装置。
JP2013535881A 2011-09-29 2012-09-20 制御装置 Active JP6179812B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011213869 2011-09-29
JP2011213869 2011-09-29
PCT/JP2012/005984 WO2013046607A1 (ja) 2011-09-29 2012-09-20 制御装置

Publications (2)

Publication Number Publication Date
JPWO2013046607A1 true JPWO2013046607A1 (ja) 2015-03-26
JP6179812B2 JP6179812B2 (ja) 2017-08-16

Family

ID=47994692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013535881A Active JP6179812B2 (ja) 2011-09-29 2012-09-20 制御装置

Country Status (3)

Country Link
US (1) US9189013B2 (ja)
JP (1) JP6179812B2 (ja)
WO (1) WO2013046607A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9473359B2 (en) * 2014-06-06 2016-10-18 Netspeed Systems Transactional traffic specification for network-on-chip design
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63280364A (ja) * 1987-05-13 1988-11-17 Fujitsu Ltd デ−タ転送制御方式
JPH0573483A (ja) * 1991-09-17 1993-03-26 Oki Electric Ind Co Ltd バス使用権制御方法
JP2009301588A (ja) * 2005-07-06 2009-12-24 Panasonic Corp アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
JP4732632B2 (ja) * 2001-08-06 2011-07-27 株式会社フジクラ 通信システム
JP2006293799A (ja) 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
JP4873557B2 (ja) 2007-01-12 2012-02-08 ルネサスエレクトロニクス株式会社 データ処理装置及び半導体集積回路
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device
JP2009237763A (ja) * 2008-03-26 2009-10-15 Hitachi Ltd サーバシステム及びその制御方法
WO2009119009A1 (ja) * 2008-03-27 2009-10-01 パナソニック株式会社 アクセス制御装置
US8510606B2 (en) * 2010-02-04 2013-08-13 Randolph Eric Wight Method and apparatus for SAS speed adjustment
US8463949B2 (en) * 2010-06-02 2013-06-11 Hitachi, Ltd. Storage system having SAS as its backend communication standard
WO2012140848A1 (ja) * 2011-04-13 2012-10-18 パナソニック株式会社 制御装置
JP6184064B2 (ja) * 2012-07-19 2017-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリサブシステム、コンピュータ・システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63280364A (ja) * 1987-05-13 1988-11-17 Fujitsu Ltd デ−タ転送制御方式
JPH0573483A (ja) * 1991-09-17 1993-03-26 Oki Electric Ind Co Ltd バス使用権制御方法
JP2009301588A (ja) * 2005-07-06 2009-12-24 Panasonic Corp アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法

Also Published As

Publication number Publication date
JP6179812B2 (ja) 2017-08-16
WO2013046607A1 (ja) 2013-04-04
US9189013B2 (en) 2015-11-17
US20130311819A1 (en) 2013-11-21

Similar Documents

Publication Publication Date Title
JP6179812B2 (ja) 制御装置
CN111104775B (zh) 一种片上网络拓扑结构及其实现方法
JP5335892B2 (ja) パケット交換オンチップ相互接続ネットワークの高速仮想チャネル
JP4612094B2 (ja) バス間でのメッセージの自動ルーティングのためのゲートウェイ
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
JP5853211B2 (ja) バスインタフェース装置、中継装置、およびそれらを備えたバスシステム
US10193831B2 (en) Device and method for packet processing with memories having different latencies
WO2019127597A1 (zh) 一种发送报文的方法、设备和系统
Carvalho et al. Congestion-aware task mapping in heterogeneous MPSoCs
JP5975446B2 (ja) アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム
JP5895153B2 (ja) インタフェース装置およびバスシステム
JP5776022B2 (ja) 制御装置
Becker et al. Partitioning and analysis of the network-on-chip on a COTS many-core platform
JP2022121525A (ja) 処理装置、処理方法及びプログラム
JP2018520434A (ja) Usb2.0帯域幅予約のための方法およびシステム
WO2020062305A1 (zh) 运算加速器、交换器、任务调度方法及处理系统
JP5838367B2 (ja) 制御装置および演算回路の数を決定するための設計方法
CN110601996B (zh) 一种采用令牌保底分布式贪心算法的环网防饥饿流控方法
JP6375849B2 (ja) ファイルシステム、管理装置の制御プログラム、および、ファイルシステムの制御方法
JP5772132B2 (ja) データ転送装置、データ転送方法および情報処理装置
JP5715458B2 (ja) 情報処理システム、調停方法
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
US9678905B2 (en) Bus controller, bus control system and network interface
JP5319722B2 (ja) ネットワークノード
Grammatikakis et al. Chip-Level Communication Services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170706

R151 Written notification of patent or utility model registration

Ref document number: 6179812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151