JP2012090129A - NoCシステム及び入力切替装置 - Google Patents

NoCシステム及び入力切替装置 Download PDF

Info

Publication number
JP2012090129A
JP2012090129A JP2010236052A JP2010236052A JP2012090129A JP 2012090129 A JP2012090129 A JP 2012090129A JP 2010236052 A JP2010236052 A JP 2010236052A JP 2010236052 A JP2010236052 A JP 2010236052A JP 2012090129 A JP2012090129 A JP 2012090129A
Authority
JP
Japan
Prior art keywords
switching device
input switching
router
noc
buffers
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
JP2010236052A
Other languages
English (en)
Other versions
JP5543894B2 (ja
Inventor
Masahiro Tokuoka
正寛 徳岡
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010236052A priority Critical patent/JP5543894B2/ja
Priority to US13/277,800 priority patent/US8855112B2/en
Publication of JP2012090129A publication Critical patent/JP2012090129A/ja
Application granted granted Critical
Publication of JP5543894B2 publication Critical patent/JP5543894B2/ja
Priority to US14/464,104 priority patent/US9246831B2/en
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/10Flow control; Congestion control
    • H04L47/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements

Abstract

【課題】NoCシステムのスループットの低下を回避する。
【解決手段】NoCシステムの複数のNoCルータのうちの特定ルータと接続された複数の機能ブロック(NoCルータまたはIP)と、該特定ルータとの間に、入力切替装置200が設けられている。特定ルータは、入力切替装置200からのフリットを一時的に格納する複数の第1のバッファ(FIFO311〜315)を有する。入力切替装置200における複数の第2のバッファ(FIFO211〜215)は、上記複数の機能ブロックに夫々対応し、該機能ブロックからのフリットを一時的に格納する。制御部220は、複数の第1のバッファの空き容量に基づいて、各第2のバッファに格納されたフリットの出力先を、複数の第1のバッファのうちの1つに選択的に設定する。分配器230は、各第2のバッファに格納されたフリットを、制御部220により該フリットに対して設定された出力先に出力する。
【選択図】図3

Description

本発明は、ルーティング、具体的にはNoC(Network on Chip)システムにおけるルーティング技術に関する。
近年、半導体プロセスの微細化につれ、1つのチップ内に搭載できるプロセッサ・コア(Processor Core)などのIP(Intellectual Property:知能素子)の数は、増加の一途を辿っている。IP数の増加に伴い、IPを繋ぐ配線は複雑化し、配線数も増加している。このような背景において、従来のオン・チップ・バスに代わる結合網として、NoC(Network on Chip)が注目されている(非特許文献1)。
図5は、非特許文献1のスライド8から抽出したものであり、NoCのネットワークトポロジを示す。図中丸は、NoCルータを示す。なお、以下の説明において、「NoCルータ」を単に「ルータ」とも呼ぶ。
NoCは、ツリー(Tree)型、メッシュ(Mesh)型など様々なトポロジーを有する。メッシュ型は、グリッド(Grid)型とも呼ばれる。
図5の上部に示すように、ツリー型では、複数のルータが階層的に接続され、上位階層の各ルータは、直下の階層の各ルータと直接接続されている。図5の上部の例は、2階層のツリー型を示しているが、ツリーの階層は何階層であってもかまわない。なお、本明細書の説明において、機能ブロックAと機能ブロックBが直接接続されていることは、該2つの機能ブロックが、ルータを介さずに、データの送受信ができるように接続されていることを意味する。機能ブロックは、NoCルータまたはIP(Intellectual Property)である。IPとNoCルータの間にはNI(Network Interface)という装置があるが、便宜上IPとNoCルータは直接接続されていると称す。また、機能ブロックAと直接接続されている機能ブロックBは、「Aの隣のB」や「Aに隣接するB」ともいう。
図5の下部に示すように、メッシュ型では、複数のルータが格子状に配置され、各ルータは、上下左右の他のルータと直接接続されている。メッシュ型を例にして、NoCのルータのハードウェア構造を説明する。
図6は、非特許文献1のスライド32の一部を抽出して符号を追加したものであり、5入力5出力のルータ10の概略を示す。図中「X+」、「X−」、「Y+」、「Y−」は、ルータ10の「右隣」、「左隣」、「真下」、「真上」のルータ(隣接ルータ)を夫々示し、図中「CORE」は、ルータ10と直接接続されたプロセッサ・コアなどのIPである。
図7は、図6におけるルータ10と、CORE及び各隣接ルータとの座標関係が分かるように示した図である。図7から分かるように、ルータ10は、COREと、4つの隣接ルータとに直接接続されている。
図6に示すように、ルータ10は、5本のパス11によりCORE及び4つの隣接ルータと夫々接続されており、5つのFIFO12と、調停器(図中ARBITER)14と、XBAR16を有する。
5つのFIFO12は、5つのパス11に夫々接続されており、当該パス11に接続されたCOREまたは隣接ルータからのパケットを一時的に格納する。
調停器14は、5つのFIFO12に夫々格納されたパケットの宛先に応じて、該パケットの出力先の調停を行う。XBAR16は、スイッチ機能を有し、調停器14の調停結果の出力先にパケットを出力する。例えば、「X+」のルータから、CORE宛てのパケットが入力されると、該パケットは、「X+」のルータに対応するFIFO12に一時格納された後、COREに出力される。また、例えば、「X+」のルータから、「Y+」のルータに直接接続されたIP(図示せず)宛てのパケットが入力されると、該パケットは、「X+」のルータに対応するFIFO12に一時格納された後、「Y+」のルータに出力される。
図8を参照し、あるIPから別のIPに送信する場合の信号の流れの例を用いて、NoCのパケットの構成を説明する。
図8の例において、IP20は、送信側IPすなわちマスターであり、IP30は、受信側IPすなわちスレーブである。IP20から送出された信号は、NI(Network Interface)22、ルータ24、ルータ26、NI28を経由して、IP30に到達する。なお、ルータ24からルータ26までは、さらに他のルータを経由する場合もある。
ルータ24は、IP20と直接接続されたルータであり、ルータ26は、IP30と直接接続されたルータである。
NI22は、IP20が送出した信号をパケット化して、複数のフリットを得てルータ24に出力する。
NI22により得られた複数のフリットのうちの先頭のフリットは、ヘッドフリットと呼ばれ、制御信号部42(Control Signal)、出発地部44(Source)、目的地部46(Destination)を有する。出発地部44と目的地部46は、アドレス情報であり、送信元(ここではIP20)と宛先(ここではIP30)の夫々のアドレスである。
2番目からの各フリットは、ボディフリットと呼ばれ、信号の中身を示すデータが挿入されている。ボディフリットのうちの末尾のフリットは、テイルフリットと呼ばれる。
なお、バスプロトコルによっては、アドレス情報は、2番目のフリット(ヘッドフリットの次のフリット)に含まれる場合もある。
以下の説明において、送信元のIPから送出した1つの信号をパケット化して得た、ヘッドフリットからテイルフリットまでの複数のフリットを、1つの「フリットグループ」という。
ルータ24は、NI22からの各フリットを、時分割多重で順次転送する。具体的には、1つのフリットグループに対して、目的地部46から次のルータを決定し、ヘッドフリットからテイルフリットまでの各フリットを、次のルータに順次転送する。
ルータ24からの各フリットは、ルータ24とルータ26の間のルータを経由して、ルータ26に到達する。ルータ26は、これらをNI28に順次出力する。
NI28は、ルータ26からの、1つのフリットグループを構成する複数のフリットを、IPが送受信する信号に復元してIP30に出力する。NI28によるこの復元処理は、NI22が行う「パケット化」とは逆の処理であり、以下「デパケット」という。
このようにして、マスターとしてのIP20から、スレーブとしてのIP30への送信が実現される。
NoCシステムに対して、種々の視点からの提案がなされている。
例えば、特許文献1には、IPのインタフェースプロトコルであるAXI(Advanced eXtensible Inteface)をNoCに適用した場合において、データの円滑な転送を図る技術が開示されている。図9を参照して説明する。
図9は、特許文献1の図2において符号を変更したものであり、特許文献1の技術を適用したNoCルータ50の構成を示す。
NoCルータ50は、スイッチ53、仲裁器51、インターリーブ装置80を備え、複数のAXIマスター(IP)から転送される複数のデータ(フリット)をスイッチングしてNI60を介してAXIスレーブ70(IP)に伝達する。
仲裁器51は、スイッチ53に到達したデータを通過させるスイッチング順序を決定する。スイッチ53は、仲裁器51により決定されたスイッチング順序で、到達したデータをスイッチングして1つずつインターリーブ装置80に伝達する。なお、図9に示していないが、スイッチ53は、データの出力先がインターリーブ装置80である点を除き、図6における複数のFIFO12とXBAR16と同様の機能を有すると考えられる。
インターリーブ装置80は、分類器81と、複数のAXIマスターに対して夫々設けられた複数のバッファ83と、出力器85と、インターリーブマネージャー87を備える。
分類器81は、スイッチ53からのデータを分類し、複数のバッファ83のうちの1つに伝達する。なお、分類器81は、入力されたデータがいずれのAXIマスターから入力されたかに応じて分類し、該当AXIマスターに対応するバッファ83にデータを伝達する。
出力器85は、インターリーブマネージャー87の制御によって選択された1つ以上のバッファ83からのデータを取り出し、取り出されたデータがインターリーブされるように出力する。
インターリーブマネージャー87は、AXIスレーブ70からインターリーブ許容能力に対する情報を受信し、インターリーブ許容能力に符合する数のデータがインターリーブされ、AXIスレーブ70に提供されるように出力器85を制御する。
NI60は、出力器85から出力されたデータ(インターリーブされたデータ)をデパケットし、AXIスレーブ70に出力する。
特開2007−115252号公報
Network−on−Chip最前線、Revised Version、2008年8月26日、インターネット<http:/www.am.ics.keio.ac.jp/members/matutani/papers/matsutani_kyushu2008.ppt>
以上の説明から分かるように、NoCシステムにおいて、ルータ内に、フリットの転送を行うパス毎、すなわち、該ルータと直接接続されたIP及びルータ毎に、バッファが設けられており、これらのバッファは、自身に対応するIPまたはルータからのフリットを一時的に格納する。
そのため、あるパスを介してフリットが連続して入力され、該パスに対応するバッファがいっぱいになった場合、該バッファに空きができるまで、ルータは、同じパスからの後続のフリットを受け入れることができない。これでは、NoCシステムのスループットが低下し、所謂「Head of Line Blocking Problem」という問題が生じてしまう。
本発明は、上記事情に鑑みてなされたものであり、NoCシステムのスループットの低下を回避する技術を提供する。
本発明の一つの態様は、フリットの転送を行うNoCルータを複数備えたNoCシステムである。各NoCルータは、複数の機能ブロックと直接接続されている。機能ブロックは、該NoCルータ以外のNoCルータまたはIP(Intellectual Property)である。
少なくとも1つのNoCルータは、特定ルータである。「特定ルータ」は、該ルータと、該ルータと直接接続された複数の機能ブロックとの間に、入力切替装置が設けられたルータであり、複数の第1のバッファと、転送部を有する。
前記複数の第1のバッファは、入力切替装置からのフリットを一時的に格納する。前記転送部は、該複数の第1のバッファに一時的に格納されたフリットを、前記複数の機能ブロックのうちの、該フリットの転送先となる機能ブロックに転送する。
入力切替装置は、複数の第2のバッファと、制御部と、分配部とを有する。
前記複数の第2のバッファは、前記複数の機能ブロックに夫々対応し、該機能ブロックからのフリットを一時的に格納する。
制御部は、前記特定ルータにおける前記複数の第1のバッファの空き容量に基づいて、前記複数の第2のバッファに格納されたフリットの出力先を、前記複数の第1のバッファのうちの1つに選択的に設定する。
分配部は、前記複数の第2のバッファに格納されたフリットを、前記制御部により該フリットに対して設定された前記出力先に出力する。
なお、上記態様のシステムを方法や装置に置き換えて表現したもの、上記態様のシステムに含まれる入力切替装置や該入力切替装置による切替方法なども、本発明の態様としては有効である。
本発明にかかる技術によれば、NoCシステムのスループットの低下を回避できる。
本発明の実施の形態にかかるNoCシステムを示す図である。 図1に示すNoCシステムにおける転送装置を示す図である。 図2に示す転送装置における入力切替装置を示す図である。 図3に示す入力切替装置における処理の流れを示すフローチャートである。 NoCのネットワークトポロジを説明するための図である。 NoCルータのハードウェア構成を説明するための図である。 図6に示すルータと他の機能ブロックの座標関係を説明するための図である。 NoCのパケット構成を説明するための図である。 従来技術を説明するための図である。
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。
図1は、本発明の実施の形態にかかるNoCシステム100を示す。図1において、丸(110)はプロセッサ・コアなどのIPであり、小さい矩形(120)はNI(Network Interface)であり、大きい矩形(140)は転送装置である。
NI120は、直接接続されたIP110と転送装置140の間に設けられており、「パケット化」機能と「デパケット」機能を有する。具体的には、NI120は、IP110が出力した信号をパケット化してフリットを得て、該IP110と直接接続された転送装置140に出力し、転送装置140からIP110へのフリットをデパケットして信号に戻してIP110に出力する。なお、前述したように、「直接接続される」とは、NoCルータを介さずに、データの送受信ができるように接続されることを意味する。
転送装置140について後に詳細に説明するが、各転送装置140は、フリットの転送を行うNoCルータを有する。すなわち、本実施の形態のNoCシステム100は、メッシュ型のNoCシステムであり、NoCルータ同士は、格子状に接続されている。また、各NoCルータは、複数の機能ブロックと直接接続されており、これらの機能ブロックは、IPまたは他のNoCルータである。これらの機能ブロックのうちのNoCルータを夫々真上、真下、左隣、右隣のルータともいう。
なお、図示の例では、転送装置140毎、すなわちNoCルータ毎に1つのIP110が直接接続されるようになっているが、転送装置140には、必ずIPが接続されるとは限らず、また、接続されるIPの数も1つとは限らない。
図2は、転送装置140の構成を示す。分かりやすいように、図2は、転送装置140について、フリットが入力される側と、フリットを出力する側とを分けて示すものである。
転送装置140は、入力切替装置200とNoCルータ300を有する。NoCルータ300と直接接続された各機能ブロック(上下左右の4つのNoCルータと、IP)から該転送装置140へ出力したフリット(F1、F2、F3、F4、FIP)は、まず、入力切替装置200に入力される。なお、F1、F2、F3、F4は、夫々、右隣のルータ(X+)、左隣のルータ(X−)、真下のルータ(Y+)、真上のルータ(Y−)からのフリットであり、FIPは、NI120を介してIP110からのフリットである。
NoCルータ300は、直接接続された複数の機能ブロックとの間に入力切替装置200が設けられている点と、後述する混雑度通知部340を備える点を除き、通常のNoCルータと同様である。このようなNoCルータを、以下では、特定ルータともいう。また、説明上の便宜のため、NoCルータ300と、該NoCルータ300と直接接続された各機能ブロックとの間に設けられた入力切替装置200を、該NoCルータ300の入力切替装置200という。
本実施の形態のNoCシステム100において、例として、全てのNoCルータ300は特定ルータであり、隣接するNoCルータ300の入力切替装置200同士は、さらに直接接続されており、NoCルータ300を介さずに、互いにデータの送受信ができる。
入力切替装置200には、NoCルータ300の上下左右の4つのNoCルータの入力切替装置200からのフリットFS(1,2,3,4)も入力される。
入力切替装置200は、入力されたフリット(F1、F2、F3、F4、FIP、FS)をNoCルータ300に出力し、NoCルータ300は、入力切替装置200からのフリットを、上下左右の4つの隣接ルータと、IP110との5つの機能ブロックのうちの、該フリットの転送先となる機能ブロックに出力する。
入力切替装置200は、フリットをNoCルータ300に出力せず、上下左右の4つの隣接ルータのいずれかの入力切替装置200に出力する場合もある。このように出力されたフリットは、出力先の入力切替装置200にフリットFSとして入力される。
NoCルータ300は、入力切替装置200と接続された5つの入力ポート301〜305と、該5つの入力ポート301〜305と接続されたバッファリング部310と、バッファリング部310と接続された5つの出力ポート321〜325と、出力ポート321〜325と接続された転送部330と、混雑度通知部340を有する。
バッファリング部310は、入力ポート301〜305と夫々接続された5つの第1のバッファ(ここではFIFO)311〜315を備え、これらのFIFO311〜315の出力側は、出力ポート321〜〜325に夫々接続されている。転送部330は、ARBITER332とXBAR334を備える。
入力ポート301〜305、バッファリング部310、出力ポート321〜325、転送部330は、通常のNoCルータに備えられたものと同様であり、ここで簡単に説明する。
入力ポート301〜305は、入力切替装置200からのフリットを、バッファリング部310における、自身と接続されたFIFOに出力する。FIFO311〜315は、フリットを一時的に格納する。出力ポート321〜325は、FIFO311〜315に一時的に格納されたフリットをXBAR334に出力する。
XBAR334は、ARBITER332の制御に従って、出力ポート321〜325からのフリットを、上下左右の4つの隣接ルータと、IP110との5つの機能ブロックのうちの、該フリットの転送先となる機能ブロックに出力する。
混雑度通知部340は、バッファリング部310における各第1のバッファ(FIFO311〜315)の空き容量を示しうる混雑度情報Sを入力切替装置200に出力するものである。この混雑度情報Sは、FIFO311〜315の夫々の空き容量を示すことができればいかなる形式のものであってもよい。例えば、本実施の形態において、FIFO311〜315は、複数段を備え、1段毎に1つのフリットを格納する構造を有し、混雑度情報Sは、FIFO311〜315の夫々の空き段数を示す情報である。
図3を参照して入力切替装置200を詳細に説明する。
図3に示すように、入力切替装置200は、6つの第2のバッファ(ここではFIFO211〜216)と、制御部220と、分配器230を有する。
FIFO211〜215は、上下左右のNoCルータとIP110に夫々対応し、これらの機能ブロックからのフリット(F1、F2、F3、F4、FIP)を一時的に格納する。FIFO216は、該入力切替装置200と接続された他の入力切替装置200からのフリットFSを一時的に格納する。
デフォルトでは、FIFO211〜215に格納されたフリットは、NoCルータ300におけるFIFO311〜315に夫々出力されるように設定されており、FIFO216に格納されたフリットは、FIFO311〜315のうちの1つ例えばFIFO311に出力されるように設定されている。
制御部220は、FIFO211〜216に格納されたフリットの出力先を設定する。FIFO211〜216に格納されたフリットの出力先は、NoCルータ300における入力ポート301〜305のいずれか1つ、または上下左右の4つのルータの入力切替装置200のいずれか1つである。また、制御部220は、上下左右の4つのルータの入力切替装置200に拒否信号BPを送信する場合もある。この出力先の設定は、NoCルータ300からの混雑度情報Sと、上下左右の4つのルータの入力切替装置200からの拒否信号BPに基づいてなされ、拒否信号BPの送信は、NoCルータ300からの混雑度情報Sに基づいてなされる。
制御部220は、NoCルータ300の各第1のバッファ(FIFO311〜315)のうちに、第1の閾値以上の空き容量を有するFIFOが存在し、かつ、該FIFO以外に、第1の閾値以下の第2の閾値以上の空き容量を有するFIFOが存在することを判定条件として、該判定条件が満たされているときに、フリットの出力先を、FIFO311〜315のうちの、上記第1の閾値以上の空き容量を有するFIFOの入力ポートに設定する。言い換えれば、FIFO311〜315のうちに、第2の閾値以上の空き容量を有するFIFOが複数あり、かつ、これらの複数のFIFOのうちに、第1の閾値以上の空き容量を有するFIFOが存在することを判定条件が満たされているときに、フリットの出力先を、第1の閾値以上の空き容量を有するFIFOに設定する。
第1の閾値と第2の閾値は、予め設定された値とすることができる。例えば、各第1のバッファ(FIFO311〜315)が4段のFIFOである場合に、第1の閾値と第2の閾値を夫々「2段」と「1段」、または、「2段」と「2段」などとすることができる。
上記判定条件が満たされていない場合に、制御部220は、フリットの入力を受け付けないことを示す拒否信号BP(バック・プレッシャ)を、各隣接ルータの入力切替装置200に出力すると共に、その後、自身に入力された各フリットの出力先を、各隣接ルータの入力切替装置200のうちの、拒否信号BPを出力していない入力切替装置200に設定すると共に、NoCルータ300を介さずに、該入力切替装置200にフリットを直接出力する。
分配器230は、制御部220により制御されるスイッチとして機能し、制御部220からのフリットを、制御部220により設定された出力先(NoCルータ300の入力ポート301〜305のいずれか、実質的にはFIFO311〜315のいずれか)に出力する。
図4を参照して入力切替装置200の動作をより詳細に説明する。
図4は、入力切替装置200における処理の流れを示すフローチャートである。入力切替装置200の制御部220は、まず、FIFO211〜216にフリットが格納されているか否かを確認し、いずれのFIFOにもフリットが無ければ、フリットが入力されるまで待機する(S100:No、S100〜)。
前述したように、入力切替装置200のFIFO211〜215には、上下左右の4つの隣接ルータ、IP110からのフリット(F1〜F4、FIP)が入力され、FIFO216には、上下左右の4つの隣接ルータの入力切替装置200からフリット(FS)が入力される。いずれかのFIFOにフリットが入力されると、制御部220は、該フリットがヘッドフリットであるか否かを確認する(S100:Yes、S102)。
ステップS102において、ヘッドフリットであると確認されれば、入力切替装置200は、NoCルータ300、より具体的には混雑度通知部340から混雑度情報Sを取得し、判定条件が満たされているか否かを確認する(S102:Yes、S104)。
この判定条件は、前述したように、「FIFO311〜315のうちに、第2の閾値(例えば1段)以上の空き容量を有するFIFOが複数あり、かつ、これらの複数のFIFOのうちに、少なくとも1つのFIFOが第1の閾値(例えば2段)以上の空き容量を有する」ことである。
上記判定条件が満たされていれば、制御部220は、FIFO211〜216の当該FIFOに対して、それに格納されたフリットの出力先を、FIFO311〜315のうちの、第1の閾値以上の空き容量を有するFIFOの入力ポートに設定して、固定する(S104:Yes、S110)。「固定する」とは、FIFO211〜216の当該FIFOに格納された、ステップS102で入力されたヘッドフリットに対応するテイルフリットまでの各後続のフリットの出力先を、上記ヘッドフリットに対して設定した出力先のままにすることを意味する。例えば、FIFO211にヘッドフリットが格納され、制御部220は、NoCルータ300の混雑度通知部340からの混雑度情報Sに基づいて該ヘッドフリットの出力先を入力ポート301に設定したとする。その後、FIFO211に格納された、テイルフリットまでの各後続のフリットの出力先を入力ポート301のままに設定する。
ステップS104において判定条件が満たされており、さらに、FIFO311〜315のうちに、第1の閾値以上の空き容量を有するFIFOが複数ある場合に、制御部220は、これらの複数のFIFOのうちのいずれか任意の1つ、または空き容量が最も多いFIFOの入力ポートを出力先に設定する。あるいは、第1の閾値以上の空き容量を有するFIFOのうちに、デフォルト設定のFIFOが含まれる場合には、デフォルト設定のFIFOの入力ポートを出力先に設定し、デフォルト設定のFIFOが含まれない場合には、空き容量が最も多いFIFOの入力ポートを出力先に設定するようにしてもよい。
例えば、FIFO211にヘッドフリットが格納され、FIFO311、FIFO312、FIFO313のいずれも第1の閾値以上の空き容量を有する場合、制御部220は、該ヘッドフリットの出力先をFIFO311、FIFO312、FIFO313のいずれか任意の1つの入力ポートに設定してもよいし、FIFO311、FIFO312、FIFO313のうちの、空き容量が最も多いFIFOの入力ポートに設定してもよい。あるいは、FIFO211のデフォルトの出力先となるFIFO311の入力ポート301に設定してもよい。
ステップS104において、判定条件が満たされていなければ、制御部220は、上下左右の4つの隣接ルータに拒否信号BPを出力する(拒否信号BPをアクティブにする)と共に、上下左右の4つの隣接ルータの入力切替装置200のうちに、拒否信号BPを出力していない入力切替装置200があるか否かを確認する(S104:No、S120、S122)。
上下左右の4つの隣接ルータの入力切替装置200のうちに、拒否信号BPを出力していない入力切替装置200があれば、制御部220は、該入力切替装置200を、出力先に設定して、固定する(S122:Yes、S124)。
一方、ステップS122において、上下左右の4つの隣接ルータの入力切替装置200のいずれからも拒否信号BPが出力されていれば(S122:No)、制御部220は、FIFO211〜FIFO216のうちの当該バッファに対して、入力ポート301〜305のうちの、該バッファのデフォルトの入力ポートを出力先に設定して、固定する(S130)。
例えば、FIFO211にヘッドフリットが格納された際に、FIFO311〜FIFO315のいずれの空き容量も第1の閾値より少なく、上下左右の4つの隣接ルータのうちの真上のルータの入力切替装置200のみが拒否信号BP信号を出力していない場合に、制御部220は、FIFO211に対して、真上のルータの入力切替装置200を出力先に設定する。
一方、FIFO211にヘッドフリットが格納された際に、FIFO311〜FIFO315のいずれの空き容量も第1の閾値より少なく、かつ、上下左右の4つの隣接ルータのいずれの入力切替装置200も拒否信号BP信号を出力している場合に、制御部220は、FIFO211に対して、デフォルト設定の入力ポート301を出力先に設定する。
このようにして、FIFO211〜216のいずれかにヘッドフリットが格納されると、制御部220により、NoCルータ300からの混雑度情報Sが示すFIFO311〜315の混雑程度と、上下左右の隣接NoCルータの入力切替装置200からの拒否信号BPの有無に基づいて、該ヘッドフリットの出力先が設定される(S110、S124、S130)。
ステップS140において、FIFO211〜216に格納されたフリットの出力がなされる。具体的には、制御部220は、入力ポート301〜305のいずれかを出力先に設定した場合に(S110またはS130)、該フリットを分配器230に出力する。分配器230は、制御部220からのフリットを、制御部220により設定された入力ポートに出力する。一方、制御部220は、上下左右の4つの隣接ルータのいずれかの入力切替装置200を出力先に設定した場合に、該フリットを、設定された出力先の入力切替装置200に出力する(S140)。
なお、ステップS130からステップS140に移行する際に、出力先の入力ポートに対応するバッファが空き容量を有しておらず、フリットを受け付けることができない場合がある。この場合、上記バッファに空き容量ができるまで待機して、該バッファに空き容量ができてからそれにフリットを出力すればよい。
その後、FIFO211〜FIFO216の当該バッファに格納された、テイルフリットまでの各後続のフリットを、ステップS110、S124、S130で設定された出力先に出力する(S102:No、S140、S150:No、S140〜)。
FIFO211〜216の当該バッファからテイルフリットが出力されると、制御部220は、該バッファに対して設定した出力先の固定を解除する(S160)。
その後、入力切替装置200にフリットが入力される度に、ステップS102からの処理が繰り返される。
本実施の形態のNoCシステム100において、各NoCルータ300は、直接接続された複数の機能ブロック(他のNoCルータ300またはIP110)との間に入力切替装置200が設けられた特定ルータである。NoCルータ300内の複数の第2のバッファ(FIFO311〜315)の空き容量を示しうるNoCルータ300からの混雑度情報Sに基づいて、該NoCルータ300と直接接続された各機能ブロックの出力先を、FIFO311〜315のいずれかに選択的に設定することができる。すなわち、入力切替装置200内のFIFO211〜215は、NoCルータ300に直接接続された複数の機能ブロックとは1対1の関係ではあるものの、NoCルータ300内のFIFO311〜315は、上記複数の機能ブロックとは1対1の関係にはならないため、FIFO311〜315に格納するフリットの量を分散させることができる。そのため、「Head of Line Blocking Problem」という問題を軽減し、NoCシステムのスループットの低下を回避することができる。
また、本実施の形態のNoCシステム100において、ヘッドフリットに対して出力先を設定した後に、該ヘッドフリットに対応するテイルフリットまでの各後続のフリットに対して出力先を固定することによって、同一のフリットグループに属する各フリットがルータの同一のバッファに出力されることを保証することができる。
さらに、本実施の形態のNoCシステム100において、入力切替装置200は、自身と接続されたNoCルータ300のFIFO311〜315が上述した判定条件を満たさない場合に、該NoCルータ300と直接接続された他のNoCルータ300の入力切替装置200に拒否信号BPを出すと共に、FIFO211〜216に格納されたフリットを、他のNoCルータ300の入力切替装置200のうちの、拒否信号BP信号を出力していない入力切替装置200に出力する。こうすることにより、入力切替装置200と接続されたNoCルータ300のFIFO311〜315が混雑し、後続のフリットを受け付けることができない場合には、該NoCルータ300と直接接続された他のNoCルータ300の入力切替装置200に後続のフリットを出力して転送させることができる。従って、隣接するNoCルータ300間で転送の負荷を分散させることができ、NoCシステムのスループットをより向上させることができる。
また、本実施の形態のNoCシステム100において、入力切替装置200の制御部220は、自身のバッファ(FIFO211〜216)に格納されたフリットを、自身と接続されたNoCルータ300と、他の入力切替装置200とのいずれに出力するかを決定する際に、NoCルータ300のFIFO311〜315のうちに、「第1の閾値以上の空き容量を有するバッファ」に加え、他に、「第1の閾値以下の第2の閾値以上の空き容量を有するバッファ」が存在することを判定条件にしている。こうすることにより、FIFO311〜315のうちに、1つのバッファ例えばFIFO311以外の各バッファが混雑している場合に、フリットが集中してFIFO311に出力されるようなことを回避できる。
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減を行ってもよい。これらの変更、増減が行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば、本実施の形態のNoCシステム100において、全てのNoCルータ300が特定ルータであるが、NoCシステムに含まれるNoCルータのうちの一部のNoCルータのみが特定ルータであるようにしてもよい。
具体的には、例えば、NoCシステムにおいて、直接接続された複数の機能ブロックからのフリット量のバラつきが多い場所におけるNoCルータのみが特定ルータになるようにすることができる。この場合、この特定ルータの入力切替装置は、該特定ルータの混雑度情報Sに基づいて、該特定ルータと直接接続された各機能ブロックからのフリットの出力先を、該特定ルータが有する複数のバッファのうちの1つに選択的に設定するため、特定ルータの複数のバッファに格納されるフリットの量が分散され、あるバッファにのみフリットが集中して出力されることに起因するスループットの低下を回避することができる。
また、ある特定ルータと直接接続された機能ブロックのうちに複数の他の特定ルータが含まれる場合において、該特定ルータの入力切替装置を、複数のほかの特定ルータのうちの一部のルータの入力切替装置にのみ接続するようにしてもよい。この場合、該特定ルータの入力切替装置は、フリットを他の入力切替装置に出力する必要があるときに、上記一部のルータの入力切替装置からフリットの出力先を選択すればよい。
勿論、各特定ルータの入力切替装置に対して、フリットを他の入力切替装置に出力する必要があるときに、該入力切替装置に接続された他の入力切替装置の数に関わらず、該他の入力切替装置のうちの1つのみを出力先に設定できるようにしてもよい。
また、本実施の形態のNoCシステム100において、特定ルータに備えられたバッファ(FIFO311など)の数が、該特定ルータと直接接続された機能ブロックの数と同一であるが、特定ルータに備えられるバッファの数が、2つ以上の任意の数とすることができる。
また、NoCシステム100において、入力切替装置200には、他の入力切替装置からのフリットを格納するバッファがFIFO216の1つのみであるが、入力切替装置200に、各他の入力切替装置に夫々対応バッファを夫々設けるようにしてもよい。
また、NoCシステム100は、本発明の技術をメッシュ型のNoCシステムに適用した例であるが、本発明にかかる技術は、ツリー型など、他のパケット多入力多出力のNoCシステムにも同様に適用することができる。
10 ルータ 11 パス
12 FIFO 14 調停器
16 XBAR 20 IP
22 NI 24 ルータ
26 ルータ 28 NI
30 IP 42 制御信号部
44 出発地部 46 目的地部
50 NoCルータ 51 仲裁器
53 スイッチ 60 NI
70 AXIスレーブ 80 インターリーブ装置
81 分類器 83 バッファ
85 出力器 87 インターリーブマネージャー
100 NoCシステム 110 IP
120 NI 140 転送装置
200 入力切替装置 211 FIFO
212 FIFO 213 FIFO
214 FIFO 215 FIFO
216 FIFO 220 制御部
230 分配器 300 NoCルータ
301 入力ポート 302 入力ポート
303 入力ポート 304 入力ポート
305 入力ポート 310 バッファリング部
311 FIFO 312 FIFO
313 FIFO 314 FIFO
315 FIFO 321 出力ポート
322 出力ポート 323 出力ポート
324 出力ポート 325 出力ポート
330 転送部 332 ARBITER
334 XBAR 340 混雑度通知部

Claims (16)

  1. フリットの転送を行うNoCルータを複数備えたNoCシステムにおいて、
    各NoCルータは、複数の機能ブロックと直接接続されており、前記機能ブロックは、該NoCルータ以外のNoCルータまたはIP(Intellectual Property)であり、
    少なくとも1つのNoCルータは、該NoCルータと、該NoCルータと直接接続された前記複数の機能ブロックとの間に、入力切替装置が設けられた特定ルータであり、
    前記特定ルータは、
    前記入力切替装置からのフリットを一時的に格納する複数の第1のバッファと、
    該複数の第1のバッファに一時的に格納されたフリットを、前記複数の機能ブロックのうちの、該フリットの転送先となる機能ブロックに転送する転送部とを有し、
    前記入力切替装置は、
    前記複数の機能ブロックに夫々対応し、該機能ブロックからのフリットを一時的に格納する複数の第2のバッファと、
    前記特定ルータにおける前記複数の第1のバッファの空き容量に基づいて、前記複数の第2のバッファに格納されたフリットの出力先を、前記複数の第1のバッファのうちの1つに選択的に設定する制御部と、
    前記複数の第2のバッファに格納されたフリットを、前記制御部により該フリットに対して設定された前記出力先に出力する分配部とを備えることを特徴とするNoCシステム。
  2. 前記制御部は、
    前記第2のバッファに格納されたヘッドフリットに対して前記出力先を設定した後に、該第2のバッファに格納された、前記ヘッドフリットに対応するテイルフリットまでの各後続のフリットの出力先を、前記ヘッドフリットに対して設定した出力先に固定することを特徴とする請求項1に記載のNoCシステム。
  3. 前記制御部は、
    前記特定ルータにおける前記複数の第1のバッファのうちに、第1の閾値以上の空き容量を有する第1のバッファが存在することを判定条件とし、該判定条件が満たされているときに、前記第1の閾値以上の空き容量を有する第1のバッファを前記出力先に設定することを特徴とする請求項2に記載のNoCシステム。
  4. 前記特定ルータは、
    自身に設けられた前記複数の第1のバッファの夫々の空き容量を示しうる混雑度情報を、該特定ルータに対応する前記入力切替装置に出力する混雑度通知部を備え、
    前記入力切替装置における前記制御部は、前記特定ルータにおける前記混雑度通知部からの前記混雑度情報に基づいて前記出力先を設定することを特徴とする請求項3に記載のNoCシステム。
  5. 前記特定ルータと直接接続された前記複数の機能ブロックのうちに他の特定ルータが含まれており、
    夫々の前記特定ルータの前記入力切替装置が互いに接続されており、
    前記入力切替装置における前記制御部は、
    前記判定条件が満たされていないときに、
    該入力切替装置の前記複数の第2のバッファに格納されたフリットの出力先を、該入力切替装置と接続された他の入力切替装置に設定すると共に、該他の入力切替装置に前記フリットを出力することを特徴とする請求項3または4に記載のNoCシステム。
  6. 前記入力切替装置における前記制御部は、
    前記判定条件が満たされていないときに、
    フリットの入力を受け付けないことを示す拒否信号を、前記他の入力切替装置に出力すると共に、
    前記他の入力切替装置が前記拒否信号を出力していないことを条件に、該入力切替装置を前記出力先に設定することを特徴とする請求項5に記載のNoCシステム。
  7. 前記入力切替装置における前記制御部は、
    該入力切替装置に対応する前記特定ルータにおいて、前記第1の閾値以上の空き容量を有する前記第1のバッファが複数ある場合に、該複数の第1のバッファのうちの、空き容量が最も多い第1のバッファを前記出力先に設定することを特徴とする請求項3から6のいずれか1項に記載のNoCシステム。
  8. 前記入力切替装置における前記制御部は、
    該入力切替装置に対応する前記特定ルータの前記複数の第1のバッファの中に、前記第1の閾値以上の空き容量を有する第1のバッファ以外に、前記第1の閾値以下の第2の閾値以上の空き容量を有する他の第1のバッファが存在することを前記判定条件とすることを特徴とする請求項3から7のいずれか1項に記載のNoCシステム。
  9. NoCルータと、該NoCルータと直接接続された複数の機能ブロックとの間に設けられた入力切替装置であって、前記機能ブロックは、該NoCルータ以外のNoCルータまたはIP(Intellectual Property)であり、前記NoCルータは、前記入力切替装置からのフリットを一時的に格納する複数の第1のバッファと、該複数の第1のバッファに一時的に格納されたフリットを、前記複数の機能ブロックのうちの、該フリットの転送先となる機能ブロックに転送する転送部とを有する前記入力切替装置において、
    前記複数の機能ブロックに夫々対応し、該機能ブロックからのフリットを一時的に格納する複数の第2のバッファと、
    前記NoCルータにおける前記複数の第1のバッファの空き容量に基づいて、前記複数の第2のバッファに格納されたフリットの出力先を、前記複数の第1のバッファのうちの1つに選択的に設定する制御部と、
    前記複数の第2のバッファに格納されたフリットを、前記制御部により該フリットに対して設定された前記出力先に出力する分配部とを備えることを特徴とする入力切替装置。
  10. 前記制御部は、
    前記第2のバッファに格納されたヘッドフリットに対して前記出力先を設定した後に、該第2のバッファに格納された、前記ヘッドフリットに対応するテイルフリットまでの各後続のフリットの出力先を、前記ヘッドフリットに対して設定した出力先に固定することを特徴とする請求項9に記載の入力切替装置。
  11. 前記制御部は、
    前記複数の第1のバッファのうちに、第1の閾値以上の空き容量を有する第1のバッファが存在することを判定条件とし、該判定条件が満たされているときに、前記第1の閾値以上の空き容量を有する第1のバッファを前記出力先に設定することを特徴とする請求項10に記載の入力切替装置。
  12. 前記NoCルータは、自身に設けられた前記複数の第1のバッファの夫々の空き容量を示しうる混雑度情報を、前記入力切替装置に出力する混雑度通知部を備え、
    前記入力切替装置における前記制御部は、前記混雑度通知部からの前記混雑度情報に基づいて前記出力先を設定することを特徴とする請求項11に記載の入力切替装置。
  13. 前記NoCルータと直接接続された前記複数の機能ブロックに含まれる他のNoCルータの前記入力切替装置と接続されており、
    前記制御部は、
    前記判定条件が満たされていないときに、
    前記複数の第2のバッファに格納されたフリットの出力先を、前記他のNoCルータの前記入力切替装置に設定すると共に、該入力切替装置に前記フリットを出力することを特徴とする請求項11または12に記載の入力切替装置。
  14. 前記制御部は、
    前記判定条件が満たされていないときに、
    フリットの入力を受け付けないことを示す拒否信号を、前記他のNoCルータの前記入力切替装置に出力すると共に、
    該入力切替装置が前記拒否信号を出力していないことを条件に、該入力切替装置を前記出力先に設定することを特徴とする請求項13に記載の入力切替装置。
  15. 前記制御部は、
    前記第1の閾値以上の空き容量を有する前記第1のバッファが複数ある場合に、該複数の第1のバッファのうちの、空き容量が最も多い第1のバッファを前記出力先に設定することを特徴とする請求項11から14のいずれか1項に記載の入力切替装置。
  16. 前記制御部は、
    前記複数の第1のバッファの中に、前記第1の閾値以上の空き容量を有する第1のバッファ以外に、前記第1の閾値以下の第2の閾値以上の空き容量を有する他の第1のバッファが存在することを前記判定条件とすることを特徴とする請求項11から15のいずれか1項に記載の入力切替装置。
JP2010236052A 2010-10-21 2010-10-21 NoCシステム及び入力切替装置 Expired - Fee Related JP5543894B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010236052A JP5543894B2 (ja) 2010-10-21 2010-10-21 NoCシステム及び入力切替装置
US13/277,800 US8855112B2 (en) 2010-10-21 2011-10-20 NoC system and input switching device
US14/464,104 US9246831B2 (en) 2010-10-21 2014-08-20 NoC system and input switching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010236052A JP5543894B2 (ja) 2010-10-21 2010-10-21 NoCシステム及び入力切替装置

Publications (2)

Publication Number Publication Date
JP2012090129A true JP2012090129A (ja) 2012-05-10
JP5543894B2 JP5543894B2 (ja) 2014-07-09

Family

ID=45972966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010236052A Expired - Fee Related JP5543894B2 (ja) 2010-10-21 2010-10-21 NoCシステム及び入力切替装置

Country Status (2)

Country Link
US (2) US8855112B2 (ja)
JP (1) JP5543894B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5024493B1 (ja) * 2012-03-01 2012-09-12 富士ゼロックス株式会社 集積回路及び電子機器
JP2015119387A (ja) * 2013-12-19 2015-06-25 公立大学法人会津大学 誤り耐性ルータ、これを使用するic、及び誤り耐性ルータの制御方法
JP2015202839A (ja) * 2014-04-16 2015-11-16 株式会社デンソー 車載ネットワークシステム及び車載中継装置

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10750023B2 (en) 2008-01-28 2020-08-18 Afiniti Europe Technologies Limited Techniques for hybrid behavioral pairing in a contact center system
KR101841173B1 (ko) * 2010-12-17 2018-03-23 삼성전자주식회사 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법
WO2014031105A1 (en) * 2012-08-21 2014-02-27 Hewlett-Packard Development Company, L.P. Flow control in a network
CN102868604B (zh) * 2012-09-28 2015-05-06 中国航空无线电电子研究所 一种应用于片上网络的二维Mesh双缓冲容错路由单元
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8934377B2 (en) 2013-03-11 2015-01-13 Netspeed Systems Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis
US9294419B2 (en) * 2013-06-26 2016-03-22 Intel Corporation Scalable multi-layer 2D-mesh routers
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
CN103618673A (zh) * 2013-11-15 2014-03-05 中国航空无线电电子研究所 一种保障服务质量的片上网络路由方法
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9419912B2 (en) * 2014-02-11 2016-08-16 International Business Machines Corporation Selective underflow protection in a network switch
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
CN105095147B (zh) 2014-05-21 2018-03-13 华为技术有限公司 片上网络的Flit传输方法及装置
CN104049200B (zh) * 2014-06-23 2016-08-17 合肥工业大学 NoC中基于链路分配的无冲突测试调度方法
US10528682B2 (en) 2014-09-04 2020-01-07 Netspeed Systems Automatic performance characterization of a network-on-chip (NOC) interconnect
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9477280B1 (en) 2014-09-24 2016-10-25 Netspeed Systems Specification for automatic power management of network-on-chip and system-on-chip
US10042404B2 (en) 2014-09-26 2018-08-07 Netspeed Systems Automatic generation of power management sequence in a SoC or NoC
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9529400B1 (en) 2014-10-29 2016-12-27 Netspeed Systems Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
WO2016082198A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 一种片上网络、通信控制方法及控制器
US9992042B2 (en) * 2014-12-17 2018-06-05 Intel Corporation Pipelined hybrid packet/circuit-switched network-on-chip
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
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
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10157133B2 (en) 2015-12-10 2018-12-18 Arm Limited Snoop filter for cache coherency in a data processing system
US9900260B2 (en) * 2015-12-10 2018-02-20 Arm Limited Efficient support for variable width data channels in an interconnect network
CN113095657A (zh) * 2016-04-18 2021-07-09 阿菲尼帝有限公司 用于对联系中心系统中的配对策略进行基准检测的技术
US9990292B2 (en) 2016-06-29 2018-06-05 Arm Limited Progressive fine to coarse grain snoop filter
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
CN106603420B (zh) * 2016-11-22 2019-07-12 北京控制工程研究所 一种具有实时和容错特性的片上网络路由器
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10042766B1 (en) 2017-02-02 2018-08-07 Arm Limited Data processing apparatus with snoop request address alignment and snoop response time alignment
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
CN107395503A (zh) * 2017-08-25 2017-11-24 东南大学 一种基于线性规划的片上网络路由方法
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
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
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)
US11580054B2 (en) * 2018-08-24 2023-02-14 Intel Corporation Scalable network-on-chip for high-bandwidth memory
US10944696B2 (en) * 2019-02-19 2021-03-09 Pensando Systems Inc. Variable-length packet header vectors
US10707875B1 (en) * 2019-05-10 2020-07-07 Achronix Semiconductor Corporation Reconfigurable programmable integrated circuit with on-chip network
US10970248B2 (en) * 2019-05-10 2021-04-06 Achronix Semiconductor Corporation Processing of ethernet packets at a programmable integrated circuit
US10936525B2 (en) 2019-05-10 2021-03-02 Achronix Semiconductor Corporation Flexible routing of network data within a programmable integrated circuit
US10860762B2 (en) 2019-07-11 2020-12-08 Intel Corpration Subsystem-based SoC integration
CN111786894B (zh) * 2020-07-01 2021-08-10 无锡中微亿芯有限公司 实现片上网络传输带宽扩充功能的fpga装置
US11734224B2 (en) 2020-09-28 2023-08-22 Tenstorrent Inc. Overlay layer hardware unit for network of processor cores
KR20220102160A (ko) 2021-01-11 2022-07-20 삼성전자주식회사 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법
CN113162906B (zh) * 2021-02-26 2023-04-07 西安微电子技术研究所 一种NoC传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053800A (ja) * 1999-08-11 2001-02-23 Mitsubishi Heavy Ind Ltd クロスバスイッチ
JP2003069622A (ja) * 2001-08-23 2003-03-07 Mitsubishi Electric Corp 伝送単位交換機
JP2007510345A (ja) * 2003-10-31 2007-04-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データの欠乏を避けるための集積回路および方法
JP2008522526A (ja) * 2004-12-01 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ・トラフィックを同期化するデータ処理システム及び方法
WO2010137572A1 (ja) * 2009-05-25 2010-12-02 日本電気株式会社 ネットワークオンチップとネットワークルーティング方法とシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653087B1 (ko) 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053800A (ja) * 1999-08-11 2001-02-23 Mitsubishi Heavy Ind Ltd クロスバスイッチ
JP2003069622A (ja) * 2001-08-23 2003-03-07 Mitsubishi Electric Corp 伝送単位交換機
JP2007510345A (ja) * 2003-10-31 2007-04-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データの欠乏を避けるための集積回路および方法
JP2008522526A (ja) * 2004-12-01 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ・トラフィックを同期化するデータ処理システム及び方法
WO2010137572A1 (ja) * 2009-05-25 2010-12-02 日本電気株式会社 ネットワークオンチップとネットワークルーティング方法とシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5024493B1 (ja) * 2012-03-01 2012-09-12 富士ゼロックス株式会社 集積回路及び電子機器
JP2015119387A (ja) * 2013-12-19 2015-06-25 公立大学法人会津大学 誤り耐性ルータ、これを使用するic、及び誤り耐性ルータの制御方法
JP2015202839A (ja) * 2014-04-16 2015-11-16 株式会社デンソー 車載ネットワークシステム及び車載中継装置

Also Published As

Publication number Publication date
US9246831B2 (en) 2016-01-26
US8855112B2 (en) 2014-10-07
JP5543894B2 (ja) 2014-07-09
US20140355449A1 (en) 2014-12-04
US20120099475A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
JP5543894B2 (ja) NoCシステム及び入力切替装置
US9264371B2 (en) Router, method for controlling the router, and computer program
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
US8819611B2 (en) Asymmetric mesh NoC topologies
CN103986664A (zh) 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法
JP5083464B2 (ja) ネットワークオンチップとネットワークルーティング方法とシステム
US9825809B2 (en) Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US7889725B2 (en) Computer cluster
JP2009512260A (ja) 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法
JP4815284B2 (ja) パケット転送装置
US20070140280A1 (en) Computer chip for connecting devices on the chip utilizing star-torus topology
JP6946955B2 (ja) 情報処理装置、演算処理装置及び情報処理装置の制御方法
CN109716719B (zh) 数据处理方法及装置、交换设备
US9258358B2 (en) Parallel computing system and control method of parallel computing system
Cota et al. NoC basics
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
JP6580333B2 (ja) Lsiチップ及びネットワークシステム
JP5694064B2 (ja) ルータおよび転送方法
JP6683090B2 (ja) 中継装置
JP6418291B1 (ja) 中継装置
JP2013243582A (ja) NoCルータ及びネットワークインタフェース並びにNoCシステム
JP6631415B2 (ja) 中継装置
JP5943115B1 (ja) 集積回路、半導体装置、カード及びデータ転送方法
JP5024493B1 (ja) 集積回路及び電子機器
JP2011193258A (ja) 半導体集積回路装置、経路決定回路及び経路決定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140509

R150 Certificate of patent or registration of utility model

Ref document number: 5543894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees