JPWO2014115207A1 - バスインタフェース装置、中継装置、およびそれらを備えたバスシステム - Google Patents

バスインタフェース装置、中継装置、およびそれらを備えたバスシステム Download PDF

Info

Publication number
JPWO2014115207A1
JPWO2014115207A1 JP2014528729A JP2014528729A JPWO2014115207A1 JP WO2014115207 A1 JPWO2014115207 A1 JP WO2014115207A1 JP 2014528729 A JP2014528729 A JP 2014528729A JP 2014528729 A JP2014528729 A JP 2014528729A JP WO2014115207 A1 JPWO2014115207 A1 JP WO2014115207A1
Authority
JP
Japan
Prior art keywords
bus
packet
buffer
transmission
bits
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
JP2014528729A
Other languages
English (en)
Other versions
JP5853211B2 (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
Priority to JP2014528729A priority Critical patent/JP5853211B2/ja
Application granted granted Critical
Publication of JP5853211B2 publication Critical patent/JP5853211B2/ja
Publication of JPWO2014115207A1 publication Critical patent/JPWO2014115207A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

ネットワーク化された半導体バスを備える集積回路のバスシステムにおいて、中継装置内に設けられたバッファの利用効率を改善する。バスシステムでは、複数のバスインタフェース装置および中継装置が、集積回路上に構築されたパケット交換方式のバスによって接続されている。各バスインタフェース装置は、バスシステムの1動作サイクルで送信するデータのビット数が異なる複数の送信ノードと接続されている。各バスインタフェース装置は、接続された送信ノードから受信したデータと、接続された送信ノードに関するビット数を示すサイズ情報を含むヘッダ情報とからパケットを生成して送信する。中継装置は、当該パケットを解析して、ヘッダ情報からサイズ情報を取得し、取得したサイズ情報に基づいてバッファへの格納量を設定し、受信したパケットをバッファに格納する。

Description

本願は、ネットワーク化された半導体バスを備える半導体集積回路において、バスマスタとバススレーブとの間で送受信するデータを伝送する中継装置内に設けられたバッファの利用効率の改善技術に関する。
集積回路の開発において、目的の機能や性能を実現するために、既存のバスマスタを再利用し繋ぎ合わせることで効率的に開発を行う取り組みがある。このような開発では、バス幅やバスプロトコル、要求品質の異なる多種多様なバスマスタを容易に接続できることが求められる。
多種多様なバスマスタを容易に接続させる方法として、複数のバスマスタ間を、ネットワーク化したバスにより接続するネットワーク・オン・チップ(Network on Chip;以下「NoC」と記述する。)技術を利用した開発がある。NoCでは、バス幅やバスプロトコルの異なるバスマスタが送受信するデータがパケットに変換される。各パケットは、パケット交換方式により、中継装置を介して宛先のノードまで伝送される。
パケット交換方式では、多種多様なデータがパケット化して送信される。これにより、共通の伝送路を介した伝送が実現される。しかしながら、伝送中に、中継装置が備えるパケットを格納するバッファの空容量が不足すると、伝送路の性能が低下するという課題がある。
NoCに限らず、パケット交換方式の伝送路では、伝送性能を低下させることなく、限られたバッファの利用効率の改善することが求められる。
特許文献1は、中継装置のバッファの利用効率を改善する方法の一例を開示する。ただし特許文献1は、IP(Internet Protocol)パケットを利用した、一般的なネットワーク技術に関している。特許文献1では、中継装置のバッファが輻輳状態にある場合には、優先度の低いクラスのパケットを廃棄し、優先度の高いクラスのパケットに対しバッファの利用を優先させる。これにより、中継装置の限られたバッファの利用効率が改善される。
特開2002−290455号公報
従来技術では、インターネット等のように伝送経路上でのパケットロスの発生を前提とし、送受信ノード間でフロー制御が行われるネットワークを対象としている。このため、バッファの利用効率を改善するためにパケットを廃棄することが許容されていた。
これに対し、半導体回路上のネットワーク化されたバスは、伝送経路上の中継装置間でフロー制御が行われ、伝送経路上でのパケットロスは基本的に発生しないよう設計されている。つまり、パケットを廃棄することは原則として考えられていない。そのため、中継装置に、特許文献1のような従来技術を適用するだけではバッファの利用効率を改善できない。仮に、バスマスタから送信されたデータを伝送路上で廃棄する場合には、バスマスタ側にデータの再送を行うための機能拡張が必要となる。これは、既存のバスマスタをそのまま再利用できないことを意味する。
上記課題を解決するために、本発明の一態様は、複数のバスインタフェース装置および中継装置が、集積回路上に構築されたパケット交換方式のバスによって接続されたバスシステムであって、前記複数のバスインタフェース装置は、それぞれ、前記バスシステムの1動作サイクルで送信するデータのビット数が異なる複数の送信ノードと接続され、前記複数のバスインタフェース装置の各々は、接続された送信ノードから受信したデータを格納する受信バッファと、接続された前記送信ノードに関する前記ビット数を示すサイズ情報を記憶する記憶部と、前記サイズ情報を含むヘッダ情報を生成するヘッダ情報生成部と、前記ヘッダ情報および前記データからパケットを生成するパケット化部と、前記中継装置への前記パケットの送信を制御する送信制御部とを備え、前記中継装置は、前記バスインタフェース装置から受信した前記パケットを解析して、前記ヘッダ情報から前記サイズ情報を取得するパケット解析部と、受信した前記パケットを格納するバッファと、受信した前記パケットの送信先を決定する中継制御部と、前記バッファからの前記パケットの送信を制御する出力制御部と、取得した前記サイズ情報に基づいて、前記バッファへの格納量を設定するパケット格納制御部とを備えたバスシステムを含む。
上述の一般的かつ特定の態様は、システム、方法およびコンピュータプログラムを用いて実装され、またはシステム、方法およびコンピュータプログラムの組み合わせを用いて実現され得る。
本開示による一実施形態にかかる中継装置は、パケットに付与されたバスマスタ側のバス幅を認識し、バス幅に基づくパケットのバッファへの格納と、バッファからの送信のために、適切なアドレッシングを自動的に行えるため、バッファの利用効率の改善が行える。このため、中継装置毎の個別の設定が不要となり半導体集積回路の設計の簡略が行える。
また、バッファの利用効率の改善により、伝送路のスループットが向上することで、半導体集積回路の性能保証に必要となるバスの動作周波数やバス幅の削減が可能となり、省電力化や面積削減を期待できる。
従来のNoCに設けられた中継装置のバッファ利用方法を示す図である。 例示的な本実施形態にかかるバスシステム400が構築された半導体集積回路の構成の一例を示す図である。 例示的な本実施形態によるバスシステムの動作の概要を示す図である。 本実施形態によるバスシステム400の具体的な接続例を示す図である。 バスI/F402の構成を示す図である。 中継装置403の構成を示す図である。 バスI/F402の動作フローを示す図である。 バスI/F402の入出力信号線の構成を示す図である。 記憶部407に記憶される内容の一例を示す図である。 記憶部407に記憶される内容の一例を示す図である。 パケット化部で生成されるパケット610の構成の一例を示す図である。 ヘッダ情報生成部408の動作フローを示す図である。 パケットヘッダに記載される情報の一例を示す図である。 送信制御部410の動作フローを示す図である。 中継装置403の動作フローを示す図である。 パケット格納制御部413の動作フローを示す図である。 受信フリットをバッファ412に格納する場合、及びバッファ412からフリットを送信する場合のアドレッシングの設定の一例を示す図である。 中継制御部414の動作フローを示す図である。 スイッチ割当部415の動作フローを示す図である。 バスマスタ401からのデータ送信において、動的にバス幅が変化する場合のバスI/F402の動作フローを示す図である。 バス幅の値に加えて、クラスや締切時刻に関する情報をヘッダ情報に記載するバスI/F422の構成を示す図である。 要求品質のクラスや締切時刻を記載するバスI/F422の動作フローを示す図である。 バス幅に加えて、パケットのクラスや締切時刻に関する情報に基づき、受信したフリットをバッファへ格納し、バッファから送信するためのアドレッシングを設定する中継装置403のパケット格納制御部413(図6)の動作フローを示す図である。 バス幅の異なる複数のバスから構成されるシステムバスの例を示す図である。
図1は、従来のNoCに設けられた中継装置のバッファ利用方法を示す。図1では、バス幅が異なるバスマスタ201およびバスマスタ202が、それぞれバスインタフェース装置(以下「バスI/F」と記述する。)203および204を介して、中継装置205に接続されている。中継装置205は中継装置206と接続されている。後述する図2との関係では、中継装置205および中継装置206はシステムバスに設けられており、そのシステムバスのバス幅は64ビットに統一されているとする。
本開示においては、出力に利用するバスの幅(バス幅)が異なる複数のバスマスタがNoC上に存在しているとする。図1では、バスマスタ201が利用するバス幅は64ビットであり、バスマスタ202が利用するバス幅は32ビットである。中継装置205および206は、64ビット単位でバッファを管理しているとする。この「バス幅」とは、バスシステムの1動作サイクルで送信するデータのビット数を意味する。本開示においては、バスマスタのバス幅を示す情報を、「サイズ情報」と呼ぶこともある。
なお後述するように、NoC上を伝送される際、データはパケット化される。そのため、バスマスタが64ビットのデータを出力してもそのデータが一度にそのまま中継装置まで送られることはない。データは複数に分割され、それぞれにヘッダ等が付与されて、64ビットのサイズを有するパケットの形態で伝送される。
バスI/F203、204は、バスマスタから送信されたデータをパケットに変換する回路である。
バスI/F203は、バス幅が64ビットのバスマスタ201から送信されたデータを、64ビットのデータとしてパケット化し、中継装置205へ送信する。
これに対し、バスI/F204は、バス幅が32ビットのバスマスタ202から送信されたデータを、64ビットのバス幅に合わせる処理を行ってパケット化し、中継装置205へ送信する。具体的にはバスI/F204は、バス幅が64ビットの中継装置205へ送信する際に、バス幅の違いに対応するため、32ビットのバス幅で送信されたデータに対し、32ビット分のダミーデータを付与する。これにより、データのバス幅を64ビットに合わせることが可能になる。この64ビットのデータはバスI/F204においてパケット化され、中継装置205に送信される。これにより、中継装置205および206側では、バス幅の異なるバスマスタ201とバスマスタ202が送信したパケットを、全て64ビットのデータが格納されたパケットとして扱うことが可能となる。
いま、中継装置のバッファ(たとえば中継装置206のバッファ207)に注目する。バスI/F204から送信された、バスマスタ202からのデータ、およびダミーデータを含むパケットを、64ビットのパケットとしてそのままバッファ207に格納すると、バッファの一部がダミーデータによって占有される。ダミーデータは情報として利用されないため、ダミーデータがバッファ207に格納されるほど、バッファ207の利用効率が低下する。
例えば、図1の例では、パケット1およびパケット3は、バスマスタ202から送信されたデータを含むパケットである。そのため、パケットの半分をダミーデータが占めている。一方のパケット2は、バスマスタ201から送信されたデータを含むパケットである。このような場合、バッファ207の約1/3がダミーデータに占有されていることになる。これでは、バッファ207の利用効率が低下する。
なお、バス幅が32ビットで送られたデータであっても、データ全体で見たときのサイズが大きい場合には、バスI/F204において、32ビットのデータを2つずつ統合して64ビットのデータを構成することが可能である。このように統合するとダミーデータを削減することができる。しかしながら、全てのデータをそのように取り扱うことはできない。その理由は、コマンドデータのようにサイズの小さいデータが送信され得るからである。サイズの小さいデータが送信された場合には、依然としてダミーデータを付与することが必要である。よって、ダミーデータによるバッファの占有をなくすことができない。
また、バスI/F204において、32ビットのコマンドデータを含むパケットが連続して送信される場合には、コマンドパケットを2つずつ統合し、64ビットのパケットを構成して送信することでダミーデータを削減する方法が考えられる。しかし、コマンドを統合して送信するためには、バスマスタ202から送信されるコマンドが連続して送信されるのか、単発で送信されるのかによって、複数のコマンドを統合して送信すべきか、ダミーデータを付与して送信すべきかの判断が必要となる。このため、バスマスタ202からバスI/F204に対して、これから送信されるコマンドの数や送信間隔を通知するための機能拡張が必要となる。
さらに、バスI/F204側でパケットの統合を行うためには、データを一旦蓄えるためのバッファと専用の回路が必要となる。このような個別の対応をバスマスタやバスI/Fに対して行うと、多種多様なバスマスタを接続した開発が容易に行えなくなる。
データを統合するいずれの変形例に関しても、64ビットのバス幅が利用されるNoC上の中継装置では、バスI/Fは、64ビットのデータとしてパケットを伝送する必要がある、という制約が課せられている。
本発明の一態様の概要は以下のとおりである。
本発明の一態様であるバスシステムは、複数のバスインタフェース装置および中継装置が、集積回路上に構築されたパケット交換方式のバスによって接続されたバスシステムであって、前記複数のバスインタフェース装置は、それぞれ、前記バスシステムの1動作サイクルで送信するデータのビット数が異なる複数の送信ノードと接続され、前記複数のバスインタフェース装置の各々は、接続された送信ノードから受信したデータを格納する受信バッファと、接続された前記送信ノードに関する前記ビット数を示すサイズ情報を記憶する記憶部と、前記サイズ情報を含むヘッダ情報を生成するヘッダ情報生成部と、前記ヘッダ情報および前記データからパケットを生成するパケット化部と、前記中継装置への前記パケットの送信を制御する送信制御部とを備え、前記中継装置は、前記バスインタフェース装置から受信した前記パケットを解析して、前記ヘッダ情報から前記サイズ情報を取得するパケット解析部と、受信した前記パケットを格納するバッファと、受信した前記パケットの送信先を決定する中継制御部と、前記バッファからの前記パケットの送信を制御する出力制御部と、取得した前記サイズ情報に基づいて、前記バッファへの格納量を設定するパケット格納制御部とを備えている。
ある実施形態において、前記中継装置のパケット格納制御部は、前記サイズ情報によって示されるビット数を単位として前記パケットに前記バッファのアドレスを割り振り、前記バッファは、前記パケット格納制御部が割り振ったアドレスにしたがって、受信した前記パケットを格納する。
ある実施形態において、前記複数の送信ノードは、第1のビット数でデータを送信する第1送信ノードと、第1のビット数よりも少ない第2のビット数でデータを送信する第2送信ノードとを含み、前記バスでは、前記第1および第2のビット数以上の第3のビット数で前記データが伝送される場合に、前記第2送信ノードと接続されたバスインタフェース装置の送信制御部は、前記第2のビット数のデータを含む第3のビット数で前記パケットを前記中継装置に送信し、前記中継装置のパケット格納制御部は、前記サイズ情報が示す前記第2のビット数を単位として前記バッファのアドレスを割り振り、前記中継装置のバッファは、前記第2のビット数のパケットを格納する。
ある実施形態において、前記中継装置のパケット格納制御部は、取得した前記サイズ情報に基づいて、前記バッファから送信されるパケットの送信量をさらに制御する。
ある実施形態において、前記サイズ情報は可変であり、所定の送信ノードに関して前記ビット数を示すサイズ情報が変化したときは、前記所定の送信ノードに接続されたバスインタフェース装置のヘッダ情報生成部は、前記ヘッダ情報に含まれるサイズ情報を変更する。
ある実施形態において、前記所定の送信ノードは、電力の消費が異なる複数の動作モードを有しており、前記ビット数を示すサイズ情報の変化は、前記動作モードの変化に応答して発生する。
ある実施形態において、前記所定の送信ノードは、第1のビット数で転送するデータ転送モードと、前記第1のバス幅よりも狭い第2のビット数で転送するデータ転送モードとを切り替えることが可能であり、前記ビット数を示すサイズ情報の変化は、前記データ転送モードの切り替えに応答して発生する。
ある実施形態において、前記バスインタフェース装置は、接続された送信ノードの要求品質を特定する要求品質特定部をさらに備えており、前記バスインタフェース装置のヘッダ情報生成部は、前記要求品質の情報をさらに含むヘッダ情報を生成し、前記中継装置のパケット解析部は、受信した前記パケットのヘッダ情報に記載された、前記サイズ情報と前記要求品質を示す情報を取得し、前記中継装置のパケット格納制御部は、前記サイズ情報および前記要求品質に基づいて、前記バッファへの格納量を設定する。
ある実施形態において、前記要求品質特定部は、接続された前記送信ノードから、前記送信ノードの要求品質を特定する情報を取得し、前記要求品質が遅延時間に関する制約がないことを示しているときは、前記中継装置のパケット格納制御部は、パケット毎に前記ヘッダ情報に含まれるサイズ情報に基づき、前記バッファへの格納量を設定する。
ある実施形態において、前記要求品質特定部は、接続された前記送信ノードから、前記送信ノードの要求品質を特定する情報を取得し、前記要求品質が遅延時間に関する制約が所定値以上に厳しいことを示しているときは、前記中継装置のパケット格納制御部は、前記バッファへの格納量とバッファからの送信量を、予め定めた一定のビット数に基づき制御する。
ある実施形態において、前記遅延時間に対する制約は、要求品質に対する厳しさを表現したクラス、および要求品質で許容できる遅延時間である締切時刻の少なくとも一方によって表される。
ある実施形態において、前記バスインタフェース装置のヘッダ情報生成部は、中継装置が利用する中継装置情報、およびバスインタフェース装置が利用するバスインタフェース情報の順に前記ヘッダ情報を生成する。
ある実施形態において、前記中継装置の中継制御部は、前記パケット解析部によって取得された前記サイズ情報と、前記パケットの送信先である他の装置のバッファの利用状況に基づき、受信した前記パケットを格納するための前記他の装置のバッファを選択する。
ある実施形態において、前記パケットの送信先である他の装置のバッファの利用状況は、前記バッファにおけるフリット格納のされ方、格納しているフリットのビット数の種類、およびバッファの空容量の少なくとも1つである。
本発明の他の一態様であるバスインタフェース装置は、集積回路上に構築されたパケット交換方式のバスと、前記バスにデータを送信する送信ノードと、前記バス上に設けられて前記データの伝送を中継する中継装置とを有するバスシステムにおいて用いられるバスインタフェース装置であって、送信ノードと接続され、前記送信ノードから受信したデータを格納する受信バッファと、前記送信ノードに関するビット数を示すサイズ情報を記憶する記憶部と、前記サイズ情報を含むヘッダ情報を生成するヘッダ情報生成部と、前記ヘッダ情報および前記データからパケットを生成するパケット化部と、前記中継装置への前記パケットの送信を制御する送信制御部とを備えている。
ある実施形態において、前記バスおよび前記中継装置は、1動作サイクルで第1ビット数のデータを送信し、前記送信ノードは、前記第1ビット数と異なる第2ビット数のデータを送信する場合に、前記ヘッダ情報生成部は、前記中継装置において受信したパケットのバッファへの格納量の設定に用いる前記第2ビット数を示すサイズ情報を含むヘッダ情報を生成する。
本発明のさらに他の一態様である中継装置は、バスシステムにおいて用いられる中継装置であって、前記バスシステムは、集積回路上に構築されたパケット交換方式のバスと、前記バスにデータを送信する送信ノードと、前記送信ノードと前記バスとを接続するバスインタフェース装置とを有し、前記バスインタフェース装置は、前記送信ノードから受信したデータ、および前記送信ノードに関するビット数を示すサイズ情報を含むヘッダ情報から生成したパケットを出力し、前記中継装置は、前記バスインタフェース装置から受信したパケットを解析して、前記ヘッダ情報から前記サイズ情報を取得するパケット解析部と、受信した前記パケットを格納するバッファと、受信した前記パケットの送信先を決定する中継制御部と、前記バッファからの前記パケットの送信を制御する出力制御部と、取得した前記サイズ情報に基づいて、前記バッファへの格納量を設定するパケット格納制御部とを備えている。
以下、添付の図面を参照しながら、本開示による通信システム、中継装置、およびインタフェース装置の実施形態を説明する。
本開示の各実施形態の説明に先立って、まず、本開示において対象とする半導体集積回路を説明する。
図2は、本実施形態にかかるバスシステム400が構築された半導体集積回路の構成の一例である。
本実施形態では、バスマスタからの入出力のアクセスのビット幅や、通信のプロトコルの異なる複数のバスマスタを接続して構成されるバスシステムが構築された半導体集積回路を対象としている。各バスマスタは、バスI/Fおよび中継装置を有するネットワーク化されたシステムバスを介して共有メモリと接続される。バスI/Fは、バスマスタが送信したデータをパケットに変換する処理を行い、またパケットからデータを抽出する処理を行う回路である。中継装置は、パケット化されたデータを宛先のノードへと転送する回路である。
なお、図2では中継装置をリング状に接続した構成を示しているが、本開示が対象とする半導体集積回路はリング状に接続された構成に限定されない。中継装置を格子状に配置したメッシュ型や、中継装置を多段に接続した階層型などその他の構成も本開示の対象である。また、図2では、複数のバスマスタが1つの共有メモリに接続する例を示したが、共有メモリの数は1つに限定されるものではなく、複数の共有メモリと接続しても良い。また、メモリ以外にも外部回路とのI/O(Input Output)と接続しても良い。
図3は、本実施形態によるバスシステムの動作の概要を示す。
本実施形態では、バスマスタが送信したデータを、バスI/Fがパケットに変換する際に、パケットヘッダにバスマスタ側のバス幅の値を記載する。中継装置205および206は、パケットヘッダに記載されたバス幅を示す値を読み出すことにより、パケットに含まれる実際のデータとダミーデータの値を判定できる。
なお、ここでいう「ダミーデータ」とは、たとえば64ビットに統一されたバス幅を有するバス(たとえば図2に示すシステムバス)で32ビットのデータを送信する際に、実際に伝送される32ビットのデータに加えて必然的に送信されてしまうデータである。バスを64ビット幅で駆動するため、実際に伝送される32ビットだけでなく、残りの32ビットも結果として何らかのデータが送信されていることになる。このダミーデータは無効な値であり、たとえば予め定められた値(「0」または「1」のみ)を並べたデータを用いても良い。
また、中継装置205および中継装置206は、受信したパケットヘッダに記載されたバス幅の値に基づき、パケットに含まれる実際のデータのみをバッファ207に格納する。
例えば、図3の例では、バス幅32ビットのバスマスタ202からのパケット1とパケット3に対しては、ダミーデータを取り除いた実際のデータ部分だけをバッファに格納する。また、バス幅が64ビットのバスマスタ201のパケットについては、パケット1からダミーデータを取り除いたことで発生した32ビットの空きを詰めてパケットを格納する。これにより、図1の例との比較では、本実施形態ではバッファ207内の利用量を約2/3に削減し、バッファの利用効率を改善することができる。
また、図3の例では、パケットが届いた順に、バッファの0番地から詰めて格納したためパケット2が0番地と1番地に32ビットずつ別れて格納されている。この場合、パケット2の格納、及び取り出しには0番地と1番地に2回アクセスする必要があり、遅延時間が増加する。このため、全てのパケットに対して1回でアクセスができるように、バス幅が64ビットのパケット2を番地1にまとめて格納し、番地0にはバス幅が32ビットのパケット1とパケット3を格納するようにしても良い。
このように、本開示では、パケットヘッダに記載された、送信元のバスマスタからバスI/Fへのアクセス時のバス幅に基づき、中継装置側が、自動的にパケットのバッファ207への格納方法を自動的に変更することで、バッファの利用効率の改善を行う。
以下、図を参照しながら実施の形態を説明する。
図4は、本実施形態によるバスシステム400の具体的な接続例を示す。図4に示すように、バスマスタ401、バスI/F402、中継装置(群)403、バスI/F404、およびバススレーブ405がこの順で接続されている。
本開示のバスI/F402と中継装置403は、バス幅の異なる複数のバスマスタ401と、複数のバススレーブ405を接続するネットワーク・オン・チップでの利用を前提としている。
なお、バスシステム400に組み込まれるバスマスタ401として、既存の処理回路、たとえばメディア処理用のDSP、高速なファイル転送を行うCPUを利用することができる。また、バススレーブ405として共有メモリや共通のIO(input output)等が利用できる。このとき、既存の処理回路に適合するようバスI/F402および404を動作させればよい。
なお、バススマスタ401からバススレーブ405に至るまでにデータが通過する経路を往路とし、スレーブからバスマスタに至るまでにデータが通過する経路を復路とする。往路では、バスマスタ401がデータを送信する送信ノードになる。バスI/F402は、バスマスタ401と中継装置403を接続する回路であり、バスマスタ401から送信されたデータを、中継装置403が受信できるパケットに変換する。また、バスI/F404は、中継装置403とバススレーブ405とを接続する回路である。バスI/F404は、中継装置403から送信されたパケットを受け取り、バススレーブ405が受信できるデータに変換し、バススレーブ405に送信する。
復路では、バススレーブ405がデータを送信する送信ノードになる。バスI/F404は、バススレーブ405から送信されたデータを受け取り、そのデータを中継装置403が受信できるパケットに変換し、中継装置403に送信する。また、バスI/F402は、中継装置403からパケットを受け取り、バスマスタ401が受信できるデータに変換して、バスマスタ401に送信する。
なお、以下の説明では、バスマスタ401が送信ノードとなる往路を例に説明する。
図5は、バスI/F402の構成を示す。
バスI/F402は、受信バッファ406、記憶部407、ヘッダ情報生成部408、パケット化部409、送信制御部410を有している。
受信バッファ406は、バスマスタ401が送信する宛先アドレス、制御信号、データを一時的に記憶するメモリである。
記憶部407は、バスマスタ401がデータの送信時に利用するバス幅を記憶しているメモリである。
ヘッダ情報生成部408は、バスマスタ401から送信された宛先のアドレス、制御信号の内容、及び記憶部407に記憶されたバス幅情報に基づき、パケットに付与するヘッダ情報を生成する回路である。
パケット化部409は、受信バッファ406に格納されたデータに対し、ヘッダ情報生成部408で生成したパケットヘッダを付与することで、データのパケット化を行う回路である。
送信制御部410は、パケット化部408で生成されたパケットを、フリット(1サイクルで送れるデータ単位)に分割し、1フリットずつ中継装置403へ送信を行う回路である。
図6は、中継装置403の構成を示す。
中継装置403は、バスI/F402から送信されたパケットを、宛先のバススレーブ405まで送信する装置である。中継装置403は、パケット解析部411、バッファ412、パケット格納制御部413、出力制御部417を有している。
パケット解析部411は、受信したパケットヘッダ情報から、パケットの宛先アドレスとバス幅の値を取得する回路である。
バッファ412は、パケットを一時的に記憶するメモリである。
パケット格納制御部413は、パケット解析部411で取得したバス幅の情報に基づいて、バッファ412へのフリットの格納処理、及びバッファ412からのフリット送信時におけるアドレッシングの設定を行う回路である。格納処理に関して「アドレッシング」とは、バッファ等の記憶領域にデータを格納するため、記憶領域を割り当てる処理をいう。一方、送信処理に関して「アドレッシング」とは、記憶領域の中から送信先(宛先)へ送るデータを取り出す領域を決定する処理をいう。
中継制御部414は、パケットの宛先アドレスに基づき、中継装置403が送信するパケットを送信先の中継装置で格納するバッファを決定する回路である。
出力制御部417は、バッファからのパケットの送信を制御する。出力制御部417は、スイッチ割当部415およびクロスバスイッチ416を含む。
クロスバスイッチ416は、複数のバッファと中継装置403の出力先との接続を切り替えるスイッチ回路である。
スイッチ割当部415は、クロスバスイッチ416の接続を切り替える回路である。
最後に、バススレーブと接続するバスI/F404は、中継装置403とバススレーブ405を接続する回路であり、中継装置403から送信されたパケットをバススレーブ405が受信できるデータに変換する。
図7は、バスI/F402の動作フローを示す。
バスI/F402は、バスマスタ401から受信したデータを、バスマスタ401とバスI/F402との間のバス幅の値を含むパケットに変換し、パケットを中継装置403に送信するために、以下のステップを実行する。
ステップ501において、バスI/F402は、バスマスタ401からデータ送信の有無を判定する。バスマスタ401からデータ送信があればステップ502へ移る。バスマスタ401からのデータ送信がなければステップ501を繰り返す。
ステップ502において、バスマスタ401からデータ送信がある場合、バスI/F402は、バスマスタから送信されたデータを受信バッファ406内に格納する。
ステップ503において、受信バッファ406にデータが格納されると、ヘッダ情報生成部408は、バスマスタが送信したデータのバス幅の値を含むヘッダ情報を生成する。なお、ヘッダ情報生成部408の詳細な動作については、図11を参照しながら後に説明する。
ステップ504において、パケット化部409は、ヘッダ情報生成部408で生成されたヘッダ情報をバスマスタ401が送信したデータに付与し、パケットの作成を行う。
ステップ505において、送信制御部410は、所定の送信レートに基づく送信間隔で、パケット化部409で生成されたパケットを送信する。
以上、バスIF402は、ステップ501からステップ505の動作を行うことで、バスマスタ401から送信されたデータを、バスマスタ401とバスI/F402の間のバス幅の値を含むパケットに変換し、中継装置403へ送信する。
図8は、バスI/F402の入出力信号線の構成を示す。
バスマスタ401とバスI/F402の間は、データの宛先のアドレスを通知するための信号線601、バスマスタ側のバスプロトコルを制御するための信号線602、実際のデータを伝送するための信号線603で接続されている。
また、バスI/F402と中継装置403の間は、NoC側の機器の制御を行うための信号線604、パケット化されたデータを送信する信号線605で接続されている。
上述のように、バスマスタ401に接続されるバスI/F402の信号線と、中継装置403に接続されるバスI/F402の信号線とは異なっている。中継装置403に接続される信号線のバス幅は予め定められている。よってバスI/F402は、予め定められたデータ幅(サイズ)のデータを送信する。なお、上述のように、データ幅が定められているとしても、その信号線を流れるデータの全てが必要とされるわけではない。全体のうちの、一部のビット(たとえば64ビットのバス幅に対し32ビット)の実効データを送信してもよい。上述したように、送信されるデータには、単なるコマンドもあれば、メモリに記憶させるべきデータもある。送信されるデータの内容によって信号線を流れるデータのサイズも互いに異なり得る。
図9Aおよび9Bは、記憶部407に記憶される内容の一例を示す。記憶部407は、バスマスタ401とバスI/F402とのデータ線のバス幅の値を記録している。
図9Aの例では、バスマスタ401とバスI/F402を接続するバスとして、記憶部407には、バス幅が64ビットのバスが設定されている。バス幅の値は、バスI/F402毎に予め設定されている。また、図9Bの例では、記憶部407にはバス幅が32ビットのバスが設定されている。
なお、記憶部407に記憶されるバス幅の値は、予め設定する以外にも、例えば、バスマスタ401がデータを送信する際に、バスマスタ401からバスI/F402へ制御信号の一部としてバス幅の値を通知する方法や、バスI/F402側がバスマスタ401と接続するデータ線の中から実際に信号が通知された配線を識別し、バス幅の値を取得しても良い。
図10は、パケット化部で生成されるパケット610の構成の一例を示す。図10に示すパケット610の構成は、バス幅が64ビットのバスで伝送される場合の例を示している。パケット610はヘッダ領域611とデータ領域612とに分けられる。
ヘッダ領域611は、パケットの先頭に設けられる。ヘッダ領域611には、後述する図12に示されるヘッダ情報が格納される。このヘッダ情報は、ヘッダ情報生成部408によって生成される。
一方、データ領域612には、バスマスタ401から送信されたデータが格納される。
なお、半導体集積回路のバスシステム400では、パケットの送信は、パケットをさらに分割したフリット単位で行われる。フリットとは、バスシステム400を動作させるクロックの1サイクルでバスが送信可能なデータである。フリットは、パケットに格納されたヘッダ情報を含む、1または複数のヘッダフリット613と、パケットに格納されたデータを含む、1または複数のデータフリット614とに分類される。パケットをフリットに分割する処理は、送信制御部410によって行われる。
なお、図10では、ヘッダ領域611とデータ領域612の双方を含むパケットを示したが、パケット610は、ヘッダ領域611だけから構成されていてもよい。例えば、バスマスタからメモリに対し、リード要求を行う場合には、データを含まない制御信号のみがヘッダ領域に格納されて送信される。
以下、ヘッダ情報生成部408が、パケットのヘッダ領域に格納されるヘッダ情報を生成する処理を説明する。
図11は、ヘッダ情報生成部408の動作フローを示す。
ヘッダ情報生成部408は、バスマスタ401から通知された信号と、記憶部407に記憶されたバス幅に関する情報とに基づいて、ヘッダ情報を生成する。ここでいう「バスマスタ401から通知された信号」とは、図8に示される信号線601を介して伝送される信号であり、データの宛先のアドレスを示す信号である。ヘッダ情報生成部408の具体的な処理が、以下のステップ801からステップ803である。そして、ヘッダ情報生成部408によって生成されたヘッダ情報のデータ構造が、後述する図12に示されている。まず図11を参照しながら、ヘッダ情報を生成する処理を説明する。
図11は、ヘッダ情報生成部408の動作の手順を示すフローチャートである。
ステップ801において、ヘッダ情報生成部408は、バスマスタ401から信号線601を介して送信された宛先アドレスの情報を取得する。また必要に応じて、信号線602を介して伝送される、バスマスタ側で利用されているバスプロトコルの制御情報を取得する。
ステップ802において、ヘッダ情報制御部408は、記憶部407からバス幅の値を取得する。
ステップ803において、ヘッダ情報制御部408は、取得した宛先アドレス、バスプロトコルの制御情報、バス幅の値を含むパケットヘッダを生成する。
以上、ステップ801からステップ803を実行することにより、ヘッダ情報生成部408は、バス幅に関する情報を含むヘッダ情報を生成する。
なお、ヘッダ情報に含まれるバス幅の値は、実施のバス幅の値を直接記載する以外にも、予め利用されるバス幅の種類をバスI/F402と中継装置403の間で定義し、その種類を特定する情報をヘッダ情報に記載するなど、中継装置403側で実際に利用されるバス幅の値が特定できる情報であれば良い。
例えば、事前にバスマスタ401の識別子とバス幅の値を対応づけたテーブルを、バスI/F402と中継装置403がそれぞれ保持し、バス幅の値の代わりにマスタの識別子をヘッダ情報に記載しても良い。
または、ヘッダ情報生成部408は、通信の度にバスマスタ401からバス幅を示す情報を取得しなくてもよい。たとえばバスマスタ401が利用するバスのバス幅が不変である場合には、記憶部407にそのバス幅を示す情報を保持させておき、動作開始時にヘッダ情報生成部408が一度その値を参照すればよい。
図12は、パケットヘッダに記載される情報の一例を示す。
パケットヘッダに記載される情報として、大きく3種類の情報が記載される。
1つ目は、中継装置403の制御に利用する中継装置情報901である。宛先アドレス情報、及びバス幅の値は、中継装置403で必要な情報であり中継装置情報に記載される。
2つ目は、バススレーブ405側のバスIF404で利用されるバスIF情報902である。バスIF情報には、バススレーブ405からの返信用のパケットを作成するために必要となる送信元のアドレスや、送信パケットと返信パケットの対応関係を特定するためのパケットIDなどが記録される。
3つ目は、AXI(Advanced eXtensible Interface)やOPC(Open Core Protocol)などの独自情報を記述するバスプロトコル情報903である。
ヘッダ情報は、パケットが伝送経路上で通過する装置の順に合わせて、まず中継装置で利用される中継装置情報、次にバスI/F404で利用されるバスI/F情報、最後にバスマスタ401とバススレーブ405で利用されるバスプロトコル情報の順に記載する。
この順序でヘッダ情報を構成することで、中継装置403やバスI/F404が、ヘッダ情報からの必要な情報を読み込むまでの時間が短縮され、処理を高速化できる。
図13は、送信制御部410の動作フローを示す。
送信制御部410は、パケット化部409で生成されたパケットを中継装置403に送信するために、以下のステップを行う。
まずステップ1101において、送信制御部410は、予め設定された送信レートに基づき、パケットの送信間隔を調整する。
ステップ1102において、送信制御部410は、パケット化部409で生成されたパケットをフリットに分割する。
ステップ1103において、送信制御部410は、分割したフリットをヘッダフリットから順番に送信する。
以上、ステップ1101からステップ1103を繰り返し行うことで、バスI/F402は、所定の送信レートでパケットを中継装置403へと送信する。
次に、バスI/F402から出力されたパケットを、中継装置403がどのように処理するかを説明する。
図14は、中継装置403の動作フローを示す。
中継装置403は、バスI/F402から出力されたパケットをフリット単位で受信する。このとき中継装置403は、受信パケットに記載されたバス幅の値に基づいて、バッファの利用効率を高くするための処理を行う。具体的には以下のステップを実行する。
ステップ1201において、パケット解析部411は、受信するフリットが存在するかどうかを判定する。フリットを受信しない場合はフリットを受信するまでステップ1201を繰り返す。フリットを受信した場合にはステップ1202に移る。
ステップ1202において、パケット解析部411は、受信したパケットがヘッダフリットであるかどうかを判定する。ヘッダフリットであるかどうかの判断は、たとえば、各フリットに対してフリットの種類を識別する識別子を付与しておき、ヘッダフリットであることを示す識別子の有無により判断すればよい。あるいは、ヘッダフリットに図12に示すデータ構造の一部が含まれているかどうかによって判断してもよい。たとえば、ヘッダフリットが複数存在する場合であっても、最初のヘッダフリットには図12に示す中継装置情報901が格納されている。パケット解析部411は、中継装置情報901が格納されているフリットかどうかによって、受信したパケットがヘッダフリットであるかどうかを判定することができる。ヘッダフリットである場合にはステップ1203に移る。ヘッダフリットでない場合には、ステップ1204に移る。
ステップ1203において、パケット解析部411は、ヘッダフリットに記載されるヘッダ情報から、バス幅の値と宛先アドレスの情報を取得する。
ステップ1204において、パケット格納制御部413は、パケット解析部411で取得したバス幅の情報に基づき、受信したフリットをバッファへ格納し、及びバッファから送信するためのアドレッシングを設定する。パケット格納制御部413の動作の詳細は、図15および図16を参照しながら、後に説明する。
ステップ1205において、中継制御部414は、パケット解析部411で取得した宛先アドレスの情報に基づき、送信先の中継装置403を決定し、さらにそのパケットを格納するためのその中継装置403のバッファ412を選択する。中継制御部414の動作の詳細は図17を参照しながら後に説明する。
ステップ1206において、パケット格納制御部413は、ステップ1204で設定したアドレッシングに基づきフリットをバッファに格納する。
ステップ1207において、スイッチ割当部415は、中継装置403の出力毎に、フリットを送信するバッファを1つ決定する。
ステップ1208において、スイッチ割当部415は、クロスバスイッチ416の接続を切り替えて、ステップ1204で設定したアドレッシングに基づきフリットをバッファ412から送信する。
以上、ステップ1201からステップ1208を行うことで、中継装置403は、受信パケットに記載されたバス幅の値に基づいて、バッファ412の利用効率が高くなるように、パケットを格納する。各中継装置が同様に動作することにより、パケットが宛先のノードまで送信される。
図15は、パケット格納制御部413の動作フローを示す。
パケット格納制御部413は、ヘッダフリットに記載されたバス幅の値に基づいて、受信したフリットをバッファ412へ格納し、バッファ412からの送信のためのアドレッシングを設定するために、ステップ1301からステップ1304を実行する。
ステップ1301において、パケット格納制御部413は、パケット解析部411から、ヘッダフリットに記載されたバス幅の値を取得する。
ステップ1302において、パケット格納制御部413は、受信したフリットを格納するバッファ412を特定する識別情報(バッファID)を取得する。
ステップ1303において、パケット格納制御部413は、まず、ステップ1301で取得したバス幅の値、およびステップ1302で取得したバッファIDに基づいて、受信したフリットをバッファ412に格納し、及びそのフリットをバッファ412から送信するためのアドレッシングの設定を参照する。そしてパケット格納制御部413は、受信したフリットを格納するバッファの、現在のアドレッシングの設定が、バス幅の値と一致するかどうかを判定する。一致しない場合にはステップ1304に移る。一致する場合には処理を終了する。なお、動作開始時には、「現在のアドレッシングの設定」として予め設定されたアドレッシングの設定値が適用される。
ステップ1304において、受信したフリットのバス幅の値に合わせて、バッファ412への格納、及びバッファ412からの送信のためのアドレッシングの設定を変更する。
以上、ステップ1301からステップ1304を実行することにより、パケット格納制御部413は、ヘッダフリットに記載されたバス幅の値に基づいて、受信したフリットをバッファ412へ格納、及びバッファ412からの送信のためのアドレッシングの設定を変更する。
図16は、受信フリットをバッファ412に格納する場合、及びバッファ412からフリットを送信する場合のアドレッシングの設定の一例を示す。
図16の(A)は、受信パケットのヘッダ情報に記載されているバス幅が64ビットのフリットを格納する場合のアドレッシングの例である。
バス幅が64ビットの場合、パケット格納制御部413は、バッファ412には、64ビット毎にフリットを格納するアドレスを割り振る。パケット格納制御部413は、受信したフリットをそのまま格納する。また、バッファ412からフリットを送信する場合は、パケット格納制御部413は、64ビットのサイズでバッファからフリットを取り出し、出力制御部417を介してそのまま送信する。
図16の(B)は、受信パケットのヘッダ情報に記載されているバス幅が32ビットのフリットを格納する場合のアドレッシングの例である。
バス幅が32ビットの場合、バッファ412には、32ビット毎にフリットを格納するようにアドレスが割り振られている。パケット格納制御部413は、受信フリット615のうち、ダミーデータ615bを取り除いた、実際のデータ615aのみをバッファ412に格納する。
また、バッファ412からフリットを送信する場合には、パケット格納制御部413は、32ビットのサイズでバッファからフリット(データ615a)を取り出し、さらに32ビットのダミーデータ616bを付与する。これにより、続く出力制御部417が、アクセスサイズが64ビットのパケット616として送信することができる。
以上のように、パケット格納制御部413が、受信フリットに記載されたバス幅の情報を利用することにより、フリットのバッファ412への格納方法、及びバッファからの送信のためのアドレッシング方法を変更する。これにより、バッファ412の利用効率が大きく改善される。
なお、図16では、バス幅が32ビットと64ビットの場合についてアドレッシングの例を示したが、例えばバス幅が16ビットや256ビットなど図16に示したバス幅以外のであっても良い。
また、図16では、バッファ412の先頭からアドレッシングの割りてる例を示したが、1つのバッファにバス幅の異なるパケット(フリット)が混在する場合には、バッファ412に対し、32ビットのアドレス割り当てと、64ビットのアドレス割り当てが混在しても良い。例えば、32ビットのフリット1個と、64ビットのフリット1個が同じバッファに入る場合には、バッファの先頭から1フリット分は、32ビットでアドレスを割り当て、それ以降は64ビットでアドレスを割り当てる。
図17は、中継制御部414の動作フローを示す。
中継制御部414は、パケットの宛先アドレスの情報に基づき、中継装置403が受信したパケットを送信先の中継装置403(又は図4に記載の、バススレーブ405側のバスI/F404)と、その中継装置403(又はバススレーブ405側のバスI/F404)でパケットを格納するバッファを決定する。そのために、以下のステップ1501とステップ1502を実行する。
ステップ1501において、中継制御部414は、宛先アドレスの情報に基づき次にパケットを送信する出力先を決定する。
パケットの出力先の決定方法としては、例えば、宛先アドレスと中継装置403の出力との関係を定義したルーティングテーブルを用意し、パケットの宛先アドレスの値に応じて出力を選択すればよい。なお、ルーティングテーブルを利用する方法以外にも、宛先アドレスに対して出力を一意に決定できる方法であれば良い。
ステップ1502において、中継制御部414は、ステップ1501で選択された出力先の中継装置403(図6)又はバスI/F404の中で利用可能なバッファ412を特定し、その中から1つを、パケットを格納するバッファとして選択する。
ステップ1501とステップ1502を行うことで、中継装置414はパケットの宛先アドレスの情報に基づき、受信パケットを次に送信する先の中継装置403、又はバススレーブ405側のバスI/F404と、その中継措置403でパケットを格納するバッファを決定する。
次に、図18を参照しながら、図6に記載されたスイッチ割当部415を説明する。
図18は、スイッチ割当部415の動作フローを示す。
スイッチ割当部415は、バッファ412に格納されたフリットを送信するために、以下のステップ1601からステップ1603を繰り返す。
ステップ1601において、スイッチ割当部415は、バッファ412にフリットが格納されているかどうかを判定する。フリットが格納されていない場合はステップ1601を繰り返し、フリットが格納されている場合にはステップ1602に移る。
ステップ1602において、スイッチ割当部415は、出力先が競合するバッファが存在する場合、出力先が競合するバッファ間で、フリットを送信するバッファを1つ選択する。
ステップ1603において、スイッチ割当部416は、選択されたバッファからバッファ毎に設定されたアドレッシングの設定に基づきフリットを送信する。
以上、ステップ1601からステップ1603を繰り返すことにより、バッファ412に格納されたフリットを送信する。
以上、説明したように、本開示の中継装置403は、パケットに付与されたバスマスタ401側のバス幅を認識し、バス幅に基づくパケットのバッファへの格納と、バッファからの送信のために、適切なアドレッシングを自動的に行うことができる。これにより、バッファ412の利用効率を改善することができる。このため、中継装置毎の個別の設定が不要となり半導体集積回路の設計を簡略化できる。
なお、本実施形態では、各中継装置が個別にパケットに付与されたバスマスタ401側のバス幅を認識し、バス幅に基づくパケットのバッファへの格納と、バッファからの送信のためのアドレッシングを行う例を説明した。しかしながら、バッファ内の同じ番地に格納される複数のフリットの送信先が同じ中継装置である場合には、パケット格納制御部413は、バッファの同じ番地に格納された複数のフリットを分割せずそのまま次の中継装置に送信しても良い。
例えば、図16(B)の例では、バス幅が32ビットのフリットが、バッファ内に2個ずつ詰めて格納される。このとき、同じ番地に詰めて格納されたフリットの、それぞれの宛先の中継装置が同じであれば、2個のフリットを分割することなく、バス幅が64ビットのバスを介して同時に送信すればよい。これにより2個のフリットを1度に送ることができるため伝送遅延を削減することができる。
なお、パケット格納制御部413において、同じ番地に格納されるフリットの宛先が同じかどうかの判定は、パケット解析部411により取得されるヘッダ情報に記載の宛先アドレスを比較することで実現できる。
また、本実施形態では、バスマスタからスレーブまでのバス幅が一定である場合を例に説明した。しかしながらこれは一例である。他の例として、バス幅が異なるバスを接続する中継装置において、バス幅の狭いバスから、バス幅の広いバスへデータを送信する際に、バッファ内で連続する番地に格納される複数のフリットの送信先が同じ中継装置であれば、パケット格納制御部413は、送信先の広いバス幅に合わせて、連続する番地に格納されたデータを1つのデータにまとめて送信しても良い。
例えば、図16(A)、(B)において、送信先のバス幅が128ビットのバスであり、バッファ内で連続する番地に格納されるフリットの宛先の中継装置が同じであるとする。この場合には、連続する2つの番地に格納される32ビット、又は64ビットのデータを128ビットのデータにまとめ、バス幅が128ビットのバスを介して送信する。これにより番地2個分のフリットを1度に送ることができるため伝送遅延を削減することができる。
なお、パケット格納制御部413が行う、連続する番地に格納されるフリットの宛先が同じかどうかの判定は、パケット解析部411により取得されるヘッダ情報に記載の宛先アドレスを比較することで実現できる。また、中継装置の送信先のバスがローカルバスであるか、基幹バスであるかは、中継装置毎に予めパケット格納制御部413に記録されている。
また、本実施形態では、バス幅が32ビットのバスマスタと64ビットのバスマスタを接続するために、32ビット分のダミーデータを付与して全て64ビットに揃える例を説明したが、これは一例である。他の例として、バス幅32ビットのバスマスタと256ビットのバスマスタとが接続されたバスシステムを考える。この場合には、全てのバスを256ビットに揃えるために付与されるダミーデータは224ビット必要となり、ダミーデータが占める割合が多くなる。このような場合には、上述した実施形態の効果が大きく現れる。本実施形態によるバッファの利用効率の改善は、バスマスタ間のバス幅の違いが大きいほどより大きくなるといえる。
また、本開示では、1つのバッファ412内に、多くのパケットが格納される場合に、バッファの利用効率の改善が期待できる。このため、例えばバスマスタから共有メモリに対して、リード要求のためのコマンドを送信する場合など、サイズの小さいパケットを伝送する用途でより大きな効果が期待できる。
上記の実施形態では、バスマスタ401からバスI/F402へのデータの送信は、バス幅が変化しないことを前提に説明した。しかしながら、本開示のバスI/F402と中継装置403は、バスマスタ401からバスI/Fへのデータ送信において、バス幅が動的に変化する場合にも対応できる。
たとえば図4のバスシステムにおいて、バスマスタ401からバスI/F402へのデータ送信において、データのバス幅が変化する例としては、例えばプロセッサが、電力の消費が異なる通常モードと省電力モードの動作モードの切り替えた場合が該当する。例えばプロセッサを通常モードから省電力モードで動作させる際に、プロセッサ内の内部バスのバス幅を動的に変更し、利用しないバスへの給電を停止することで消費電力を削減する。このような、バスマスタ401側で利用するバス幅の変更は、制御信号の一部としてバスI/F402に通知される。省電力モードから通常モードへの移行時も同様にバス幅が変更される。
図19は、バスマスタ401からのデータ送信において、動的にバス幅が変化する場合のバスI/F402の動作フローを示す。
図11と同じ動作については同じ参照符号を付与し、説明を省略する。
ステップ1701において、バスI/F402のヘッダ情報生成部408は、バスマスタ401から通知された制御情報からバス幅の情報を取得する。動的にバス幅が変動されたとしても、都度、その時点でのバス幅の情報が制御情報から得られる。図19の動作を行うことで、バスI/F402は、バスマスタ401が設定するバス幅の変化に応じてヘッダ情報に記載するバス幅の値を変更することができる。
なお、図19の動作フローでは、バスマスタ401からデータを送信しているバス幅の値が制御情報の一部として通知される場合について説明を行ったが、これ以外にも、記憶部407に省電力モードでのバス幅と通常モードでのバス幅を事前に記憶しておき、バスマスタ401から制御信号の一部として、省電モードか通常モードかを判別する信号を受け取ることで、バス幅を決定することができる。
また、省電力モード以外にも、バスマスタ401からの送信データのバス幅が変化する例としては、バスマスタ401からのナロー転送処理および通常転送処理の切り替えがある。ナロー転送は、AXI(Advanced eXtensible Interface)などのバスプロトコルなどで利用できる機能であり、例えばバスマスタ401のバス幅(例えば32ビット)よりも、バス幅が小さいバススレーブ405(例えば8ビットや16ビット)と通信する場合や、バススレーブ405がメモリであり、1word中の一部(例えば8ビット)にだけにアクセスしたい場合などに、データ線の一部分だけを利用してデータ転送する機能である。
また、ナロー転送時に利用するバス幅の値は、バスマスタ401からバスI/F402に対して制御信号の一部として通知される。このため、バスI/F402は、バスマスタ401から通知されるバス幅の値に応じてヘッダ情報に記載するバス幅の値を変更することができる。
このように、省電以外の目的であっても、バスマスタ401から通知されるバス幅の情報に基づき、ヘッダ情報に記載するバス幅の値を変更しても良い。
また、ヘッダ情報900には宛先アドレス、バス幅に関する情報以外にも情報を含めることができる。たとえば、中継装置403においてパケット毎の要求品質を保証した制御を行うために、要求品質の厳しさを表現したクラスの情報や、要求品質で許容できる遅延時間である締切時刻の情報などをヘッダ情報900に含めることができる。
このようなクラスや締切時刻に関する情報がヘッダ情報に含まれる場合には、中継装置403は、バス幅の値に加えて、クラスや締切時刻に関する情報に基づき、受信したフリットをバッファへ格納、及びバッファから送信するためのアドレッシングの設定を変更しても良い。
図20は、バス幅の値に加えて、クラスや締切時刻に関する情報をヘッダ情報に記載するバスI/F422の構成を示す。図5と同じ構成に対しては同じ参照符号を付与し、説明を省略する。
バスI/F422は、要求品質特定部1801を有している。
要求品質特定部1801は、バスマスタ401が送信するパケットの要求品質の厳しさを表現したクラスや、品質要求で許容できる遅延時間である締切時刻を特定する回路である。
クラスや締切時刻の値は、バスマスタ401から要求品質特定部1801へ直接通知される。また、予め記憶部407にバスマスタ401のクラスの値を記憶しておき、記憶部407を参照してクラスの値を特定しても良い。また、記憶部407に品質要求で許容できる遅延時間を記憶しておき、バスマスタ401から受信バッファ406にデータが送信された時刻に、品質要求で許容できる遅延時間を加算することで締切時刻を特定しても良い。
ヘッダ情報生成部408は、送信先アドレス、バス幅に加え、要求品質特定部1801で特定されたクラスや締切時刻に関する情報を含むパケットヘッダ情報を作成する。
図21は、要求品質のクラスや締切時刻を記載するバスI/F422の動作フローを示す。
図11と同じ動作フローについては、同じ参照符号を付与し説明を省略する。
ステップ802において、バスマスタと接続するバス幅の値を取得した後、ステップ1901において、要求品質特定部1801は、バスマスタの要求品質を特定する。その後処理は、ステップ803に移る。
以上、図20の構成と、図21の動作フローにより、バスIF402は、パケットのクラスや締切時刻に関する情報を含むパケットを生成し、送信する。
図22は、バス幅に加えて、パケットのクラスや締切時刻に関する情報に基づき、受信したフリットをバッファへ格納し、バッファから送信するためのアドレッシングを設定する中継装置403のパケット格納制御部413(図6)の動作フローを示す。図15と同じ動作については同じ参照符号を付与し、説明を省略する。
ステップ2001において、パケット格納制御部413は、パケット解析部411からヘッダ情報に記載されたクラスや締切時刻を取得し、ステップ2002に移る。
ステップ2002において、受信したパケットに記載されたクラスや締切時刻に基づき、遅延時間に対する制約があるパケットであるかどうかを判定する。遅延時間に対する制約がある場合にはステップ2003に移る。遅延時間に対する制約がない場合にはステップ1303に移る。
ステップ2003において、遅延時間に対する制約があるパケットに対しては、ヘッダ情報に記載されたバス幅の値に依らず、バス幅64ビットのパケットとしてバッファのアドレッシングを行う。
以上、図22の動作フローを行うことで、パケット格納制御部413は、バス幅に加えて、パケットのクラスや締切時刻に関する情報に基づき、受信したフリットをバッファへ格納、及びバッファから送信するためのアドレッシングを設定する。
例えば、音声通話など遅延時間(締切時刻)に対して制約のあるクラスのパケットと、GPU処理などベストエフォートで処理され、遅延時間(締切時刻)に対する制約がないクラスのパケットが中継装置403で混在する場合には、各クラスのパケットを、独立したバッファ412に区別して格納し、音声通話用のパケットを優先的に送信することで音声通話の品質を保証できる。
このように遅延時間に対する制約が異なるクラスのパケットが混在する場合、遅延時間に制約の厳しいクラスのパケットに対しては、バッファの利用効率の改善よりも、より早くフリットを格納し、次へ送信することが求められる。このため、遅延時間(締切時刻)に制約のあるパケットに対しては、バス幅に応じたアドレッシングの設定を行わず、常に64ビットのバス幅で格納と送信を行うことで処理を行う。
これにより、図3の例で示したような、バッファの利用効率を優先することで、パケットがバッファ内の複数の番地に跨って格納され、フリットの格納や取り出しにかかる遅延時間の増加することを回避できる。
一方、遅延時間に制約のないクラスのパケットに対しては、バッファ412の利用効率の改善を優先させるために、バス幅に応じたアドレッシングの設定を行えばよい。
なお、上記の例では、パケットのクラスの種類によりアドレッシングの設定を変更する例を示した。これ以外にも、例えば締切時刻までの残り時間の長さに基づきアドレッシングを変更しても良い。
ヘッダ情報に記載されたバス幅に加え、パケットのクラスや締切時刻の内容を加味したバッファ412のアドレッシングの設定を行うことで、パケット毎の要求品質を考慮しつつ、バッファ412の利用効率の改善を行うことができる。
また、中継装置403にバッファ412が複数設けられている場合、中継制御部414により、送信先の中継装置403でフリットを格納するバッファを選択する際に、パケット解析部411で取得されたバス幅と、送信先のバッファの利用状況に基づいてバッファを選択しても良い。「送信先」とは、隣接する中継器、またはバススレーブ405側のバスI/F404である。
例えば、送信先のバッファの利用状況として、バッファ内のフリットの格納のされ方を利用しても良い。具体的な例として、送信先の中継装置に、アクセス幅が64ビットの2つのバッファ(バッファA、バッファB)があり、バッファAは空状態で、バッファBには32ビットのフリットが格納されている状況を想定する。
この状況において、中継制御部414は、これから送信するパケットが32ビットのフリットの場合は、送信先のバッファの利用効率を向上させるためにバッファBを格納先として選択する。
また、これから送信するパケットが64ビットのフリットの場合、フリットの格納先としてバッファBを選択すると、図3で示したパケット2のように、バッファ内の異なる番地にフリットが分割して格納される。そのため、中継制御部414は、フリットが分割して格納されるのを回避するためバッファAを格納先として選択する。なお、利用状況として、バッファ内でのフリットの格納され方を利用する代わりに、バッファの空き方や空容量を利用しても良い。
また、送信先のバッファの利用状況として、バッファ内に格納されているフリットのバス幅の種類に基づいてバッファを選択しても良い。具体的な例として、送信先の中継装置に、アクセス幅が64ビットの2つのバッファ(バッファA、バッファB)があり、バッファAには32ビットのフリットだけが格納されており、バッファBには64ビットのフリットのみが格納されている状況を想定する。
この状況において、中継制御部414は、これから送信するパケットが32ビットのフリットの場合は、送信先のバッファとして32ビットのフリットだけが格納されているバッファAを選択し、これから送信するパケットが64ビットのフリットの場合は、送信先のバッファとして64ビットのフリットだけが格納されているバッファBを選択する。このようにバッファ毎に、サイズが同じフリットをまとめることで、様々なサイズのフリットが混在する場合に比べ、フリット格納や取出しが容易になり、またバッファの利用効率を改善しやすくなる。
このように、中継制御部414により、これから送信するフリットのバス幅と、送信先のバッファの利用状況に基づき送信先の中継装置で格納するバッファを選択することで、送信先のバッファの利用効率をさらに向上させることができる。
なお、中継制御部414は、送信先の中継措置のバッファの利用状況をNoC側の制御信号604によって管理している。
また、上記の説明では、送信先の中継装置でフリットを格納するバッファを選択するために、バス幅が32ビットと64ビットの2種類のフリットに対するバッファ選択を例に説明したが、フリットのサイズは8ビットや256ビットなど様々なサイズのフリットにも適用可能であり、また、3種類以上のフリットが混在しても良い。
なお、本実施形態では、図4においてバスマスタ401が送信ノードとなる往路でのデータの伝送を例に説明した。バススレーブ405が送信ノードとなる復路についても、バススレーブ405側のバスI/F404が、バスマスタ401側のバスI/F402と同じ構成を持ち、また、バススレーブ405から送信されたデータをバススレーブ405とバスI/F404の間のバス幅の値を含むパケットに変換して中継装置403へ送信することで、往路と同様に中継装置内に設けられたバッファの利用効率を改善できる。
なお、上述の説明では、たとえば図1〜図3に示すように、バス幅の異なる複数のバスマスタ(及びバスIF)が同じバス幅のシステムバスにより接続される場合を例に説明を行った。しかしながら、本開示はシステム全体のバス幅が同じであることに限定されない。例えば、システムバスとローカルバスとが中継装置(ゲートウェイ)を介して接続されている場合において、当該システムバスのバス幅と当該ローカルバスのバス幅とが異なるようなバスシステムも本開示の範疇である。
図23は、バス幅の異なる複数のバスから構成されるシステムバスの例を示す。
図23では、中継装置A(ゲートウェイA)を介して、バス幅32ビットのローカルバスAとバス幅256ビットのシステムバスとが接続され、中継装置B(ゲートウェイB)を介して、バス幅128ビットのローカルバスBとシステムバスとが接続されている。上述した図2は、バスマスタとバスIFとの間で、バス幅がそれぞれ32ビットおよび256ビットの例であり、バスIFがシステムバスの中継装置に接続されていたが、図23は、バスIFとシステムバスとの間にネットワーク(ローカルバス)が含まれる態様に拡張されている。
図23の例において、中継装置Aは、バス幅64ビットのバスマスタ(バスIF)から送信されたデータのパケットを、ローカルバスAを介して受け取り、バス幅256ビットのシステムバスに送信する。このときの中継装置Aの動作は、図3における中継装置205および206と同様である。また中継装置Bは、バス幅128ビットのバスマスタ(バスIF)から送信されたデータのパケットを、ローカルバスBを介して受け取り、256ビットのシステムバスに送信する。このときの中継装置Bの動作も、図3における中継装置205および206と同様である。これにより、システムバスを構成する中継装置のバッファの利用効率を改善できる。
本開示の一実施形態にかかる中継装置は、分散型のバスを備える集積回路において、中継装置のバッファの利用効率を改善するために利用することが可能である。このため、例えば、利用するバス幅が異なる複数のメディア処理用のDSPや、高速なファイル転送を行うCPUなどを、分散バスを用いて1つのSoC(System on Chip)上に集積化する際に、実装に必要なリソースの省資源化と、処理の低遅延化の双方を実現する上で有用である。
400 バスシステム
401 バスマスタ
402、422 バスマスタ側のバスインタフェース装置(バスI/F)
403 中継装置
404 バススレーブ側のバスI/F
405 バススレーブ
406 受信バッファ
407 記憶部
408 ヘッダ情報生成部
409 パケット化部
410 送信制御部
411 パケット解析部
412 バッファ
413 パケット格納制御部
414 中継制御部
415 スイッチ割当部
416 クロスバスイッチ
417 出力制御部
1801 要求品質特定部

Claims (17)

  1. 複数のバスインタフェース装置および中継装置が、集積回路上に構築されたパケット交換方式のバスによって接続されたバスシステムであって、
    前記複数のバスインタフェース装置は、それぞれ、前記バスシステムの1動作サイクルで送信するデータのビット数が異なる複数の送信ノードと接続され、
    前記複数のバスインタフェース装置の各々は、
    接続された送信ノードから受信したデータを格納する受信バッファと、
    接続された前記送信ノードに関する前記ビット数を示すサイズ情報を記憶する記憶部と、
    前記サイズ情報を含むヘッダ情報を生成するヘッダ情報生成部と、
    前記ヘッダ情報および前記データからパケットを生成するパケット化部と、
    前記中継装置への前記パケットの送信を制御する送信制御部とを備え、
    前記中継装置は、
    前記バスインタフェース装置から受信した前記パケットを解析して、前記ヘッダ情報から前記サイズ情報を取得するパケット解析部と、
    受信した前記パケットを格納するバッファと、
    受信した前記パケットの送信先を決定する中継制御部と、
    前記バッファからの前記パケットの送信を制御する出力制御部と、
    取得した前記サイズ情報に基づいて、前記バッファへの格納量を設定するパケット格納制御部と
    を備えた、バスシステム。
  2. 前記中継装置のパケット格納制御部は、前記サイズ情報によって示されるビット数を単位として前記パケットに前記バッファのアドレスを割り振り、
    前記バッファは、前記パケット格納制御部が割り振ったアドレスにしたがって、受信した前記パケットを格納する、請求項1に記載のバスシステム。
  3. 前記複数の送信ノードは、第1のビット数でデータを送信する第1送信ノードと、第1のビット数よりも少ない第2のビット数でデータを送信する第2送信ノードとを含み、前記バスでは、前記第1および第2のビット数以上の第3のビット数で前記データが伝送される場合において、
    前記第2送信ノードと接続されたバスインタフェース装置の送信制御部は、前記第2のビット数のデータを含む第3のビット数で前記パケットを前記中継装置に送信し、
    前記中継装置のパケット格納制御部は、前記サイズ情報が示す前記第2のビット数を単位として前記バッファのアドレスを割り振り、
    前記中継装置のバッファは、前記第2のビット数のパケットを格納する、請求項2に記載のバスシステム。
  4. 前記中継装置のパケット格納制御部は、取得した前記サイズ情報に基づいて、前記バッファから送信されるパケットの送信量をさらに制御する、請求項1に記載のバスシステム。
  5. 前記サイズ情報は可変であり、
    所定の送信ノードに関して前記ビット数を示すサイズ情報が変化したときは、前記所定の送信ノードに接続されたバスインタフェース装置のヘッダ情報生成部は、前記ヘッダ情報に含まれるサイズ情報を変更する、請求項1に記載のバスシステム。
  6. 前記所定の送信ノードは、電力の消費が異なる複数の動作モードを有しており、
    前記ビット数を示すサイズ情報の変化は、前記動作モードの変化に応答して発生する、請求項5に記載のバスシステム。
  7. 前記所定の送信ノードは、第1のビット数で転送するデータ転送モードと、前記第1のバス幅よりも狭い第2のビット数で転送するデータ転送モードとを切り替えることが可能であり、
    前記ビット数を示すサイズ情報の変化は、前記データ転送モードの切り替えに応答して発生する、請求項5に記載のバスシステム。
  8. 前記バスインタフェース装置は、接続された送信ノードの要求品質を特定する要求品質特定部をさらに備えており、
    前記バスインタフェース装置のヘッダ情報生成部は、前記要求品質の情報をさらに含むヘッダ情報を生成し、
    前記中継装置のパケット解析部は、受信した前記パケットのヘッダ情報に記載された、前記サイズ情報と前記要求品質を示す情報を取得し、
    前記中継装置のパケット格納制御部は、前記サイズ情報および前記要求品質に基づいて、前記バッファへの格納量を設定する、請求項1または4に記載のバスシステム。
  9. 前記要求品質特定部は、接続された前記送信ノードから、前記送信ノードの要求品質を特定する情報を取得し、
    前記要求品質が遅延時間に関する制約がないことを示しているときは、
    前記中継装置のパケット格納制御部は、パケット毎に前記ヘッダ情報に含まれるサイズ情報に基づき、前記バッファへの格納量を設定する、請求項8に記載のバスシステム。
  10. 前記要求品質特定部は、接続された前記送信ノードから、前記送信ノードの要求品質を特定する情報を取得し、
    前記要求品質が遅延時間に関する制約が所定値以上に厳しいことを示しているときは、
    前記中継装置のパケット格納制御部は、前記バッファへの格納量とバッファからの送信量を、予め定めた一定のビット数に基づき制御する、請求項8に記載のバスシステム。
  11. 前記遅延時間に対する制約は、要求品質に対する厳しさを表現したクラス、および要求品質で許容できる遅延時間である締切時刻の少なくとも一方によって表される、請求項9または10に記載のバスシステム。
  12. 前記バスインタフェース装置のヘッダ情報生成部は、中継装置が利用する中継装置情報、およびバスインタフェース装置が利用するバスインタフェース情報の順に前記ヘッダ情報を生成する、請求項1に記載のバスシステム。
  13. 前記中継装置の中継制御部は、前記パケット解析部によって取得された前記サイズ情報と、前記パケットの送信先である他の装置のバッファの利用状況に基づき、受信した前記パケットを格納するための前記他の装置のバッファを選択する、請求項1に記載のバスシステム。
  14. 前記パケットの送信先である他の装置のバッファの利用状況は、前記バッファにおけるフリット格納のされ方、格納しているフリットのビット数の種類、およびバッファの空容量の少なくとも1つである、請求項13に記載のバスシステム。
  15. 集積回路上に構築されたパケット交換方式のバスと、前記バスにデータを送信する送信ノードと、前記バス上に設けられて前記データの伝送を中継する中継装置とを有するバスシステムにおいて用いられるバスインタフェース装置であって、
    送信ノードと接続され、前記送信ノードから受信したデータを格納する受信バッファと、
    前記送信ノードに関するビット数を示すサイズ情報を記憶する記憶部と、
    前記サイズ情報を含むヘッダ情報を生成するヘッダ情報生成部と、
    前記ヘッダ情報および前記データからパケットを生成するパケット化部と、
    前記中継装置への前記パケットの送信を制御する送信制御部とを備えた、バスインタフェース装置。
  16. 前記バスおよび前記中継装置は、1動作サイクルで第1ビット数のデータを送信し、前記送信ノードは、前記第1ビット数と異なる第2ビット数のデータを送信する場合において、
    前記ヘッダ情報生成部は、前記中継装置において受信したパケットのバッファへの格納量の設定に用いる前記第2ビット数を示すサイズ情報を含むヘッダ情報を生成する、請求項15に記載のバスインタフェース装置。
  17. バスシステムにおいて用いられる中継装置であって、
    前記バスシステムは、集積回路上に構築されたパケット交換方式のバスと、前記バスにデータを送信する送信ノードと、前記送信ノードと前記バスとを接続するバスインタフェース装置とを有し、前記バスインタフェース装置は、前記送信ノードから受信したデータ、および前記送信ノードに関するビット数を示すサイズ情報を含むヘッダ情報から生成したパケットを出力し、
    前記バスインタフェース装置から受信したパケットを解析して、前記ヘッダ情報から前記サイズ情報を取得するパケット解析部と、
    受信した前記パケットを格納するバッファと、
    受信した前記パケットの送信先を決定する中継制御部と、
    前記バッファからの前記パケットの送信を制御する出力制御部と、
    取得した前記サイズ情報に基づいて、前記バッファへの格納量を設定するパケット格納制御部と
    を備えた、中継装置。
JP2014528729A 2013-01-25 2013-11-20 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム Expired - Fee Related JP5853211B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014528729A JP5853211B2 (ja) 2013-01-25 2013-11-20 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013011952 2013-01-25
JP2013011952 2013-01-25
PCT/JP2013/006823 WO2014115207A1 (ja) 2013-01-25 2013-11-20 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム
JP2014528729A JP5853211B2 (ja) 2013-01-25 2013-11-20 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム

Publications (2)

Publication Number Publication Date
JP5853211B2 JP5853211B2 (ja) 2016-02-09
JPWO2014115207A1 true JPWO2014115207A1 (ja) 2017-01-19

Family

ID=51227028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014528729A Expired - Fee Related JP5853211B2 (ja) 2013-01-25 2013-11-20 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム

Country Status (3)

Country Link
US (1) US10104006B2 (ja)
JP (1) JP5853211B2 (ja)
WO (1) WO2014115207A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9250666B2 (en) 2012-11-27 2016-02-02 International Business Machines Corporation Scalable data collection for system management
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
TWI727236B (zh) * 2018-12-12 2021-05-11 瑞昱半導體股份有限公司 資料位寬轉換器及其系統晶片
US10944696B2 (en) * 2019-02-19 2021-03-09 Pensando Systems Inc. Variable-length packet header vectors
JP7306109B2 (ja) * 2019-06-26 2023-07-11 京セラドキュメントソリューションズ株式会社 情報処理装置、画像形成装置および省電力制御方法
US11412075B2 (en) 2020-08-31 2022-08-09 Micron Technology, Inc. Multiple protocol header processing
US11418455B2 (en) 2020-08-31 2022-08-16 Micron Technology, Inc. Transparent packet splitting and recombining
US11360920B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Mapping high-speed, point-to-point interface channels to packet virtual channels
US11296995B2 (en) 2020-08-31 2022-04-05 Micron Technology, Inc. Reduced sized encoding of packet length field
US11539623B2 (en) 2020-08-31 2022-12-27 Micron Technology, Inc. Single field for encoding multiple elements

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03216776A (ja) * 1990-01-22 1991-09-24 Mitsubishi Electric Corp 集積回路装置及びそれにより構成されたマイクロプロセッサ
US6900812B1 (en) * 2000-08-02 2005-05-31 Ati International Srl Logic enhanced memory and method therefore
JP2002290455A (ja) 2001-03-28 2002-10-04 Oki Electric Ind Co Ltd パケットバッファ装置
JP3506130B2 (ja) * 2001-06-19 2004-03-15 日本電気株式会社 バッファリング装置及びバッファリング方法
JP2006135379A (ja) * 2004-11-02 2006-05-25 Fujitsu Ltd パケット処理装置及びパケット処理方法
WO2006083965A2 (en) * 2005-02-01 2006-08-10 Hong Kong Applied Science And Technology System and method for efficient traffic processing
JP4207912B2 (ja) * 2005-03-24 2009-01-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20080205432A1 (en) * 2005-04-07 2008-08-28 Koninklijke Philips Electronics, N.V. Network-On-Chip Environment and Method For Reduction of Latency
DE102005046702B4 (de) * 2005-09-29 2009-09-03 Infineon Technologies Ag Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten
KR100912545B1 (ko) * 2007-09-21 2009-08-18 한국전자통신연구원 패킷 처리 장치 및 방법
JP5230665B2 (ja) * 2010-01-08 2013-07-10 株式会社日立情報制御ソリューションズ データ受信装置、データ受信方法

Also Published As

Publication number Publication date
US10104006B2 (en) 2018-10-16
WO2014115207A1 (ja) 2014-07-31
JP5853211B2 (ja) 2016-02-09
US20150010005A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
JP5853211B2 (ja) バスインタフェース装置、中継装置、およびそれらを備えたバスシステム
JP5603481B2 (ja) 中継装置
US7940788B2 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting the data
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
CN111104775B (zh) 一种片上网络拓扑结构及其实现方法
JP5552196B2 (ja) 中継装置、中継装置の制御方法、およびコンピュータプログラム
JP4756158B2 (ja) 通信リソース割り当て電子デバイスおよび方法
US9961005B2 (en) Bus system and computer program
JP2007529808A (ja) 集積回路及び通信サービスマッピング方法
JP2008546298A (ja) 電子装置及び通信リソース割り当ての方法
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
JP6191833B2 (ja) 通信装置、通信装置を有するルータ、バスシステム、およびバスシステムを有する半導体回路の回路基板
US20070053350A1 (en) Buffering data packets according to multiple flow control schemes
US20090323540A1 (en) Electronic device, system on chip and method for monitoring data traffic
JPWO2013046607A1 (ja) 制御装置
JP5834178B2 (ja) 半導体回路のバスシステム
JP5842174B2 (ja) バス制御装置、中継装置およびバスシステム
JP2008520119A (ja) 電子デバイスおよび通信資源割り当て方法
JP2010500641A (ja) 電子装置及び通信同期方法
JP2008522306A (ja) データ・トラフィックを変換し、同期化するデータ処理システム及び方法
US9678905B2 (en) Bus controller, bus control system and network interface
CN117667300A (zh) 计算系统及相关方法
JP2014197789A (ja) バスインターフェース装置およびバスシステム
JP2011199461A (ja) データ通信装置

Legal Events

Date Code Title Description
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: 20150714

R151 Written notification of patent or utility model registration

Ref document number: 5853211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees