KR20130033898A - 3차원 네트워크 온 칩 - Google Patents

3차원 네트워크 온 칩 Download PDF

Info

Publication number
KR20130033898A
KR20130033898A KR1020110097856A KR20110097856A KR20130033898A KR 20130033898 A KR20130033898 A KR 20130033898A KR 1020110097856 A KR1020110097856 A KR 1020110097856A KR 20110097856 A KR20110097856 A KR 20110097856A KR 20130033898 A KR20130033898 A KR 20130033898A
Authority
KR
South Korea
Prior art keywords
router
packet
cores
optical
destination
Prior art date
Application number
KR1020110097856A
Other languages
English (en)
Other versions
KR101254706B1 (ko
Inventor
김형주
이재훈
한태희
한환수
송용호
Original Assignee
성균관대학교산학협력단
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 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020110097856A priority Critical patent/KR101254706B1/ko
Publication of KR20130033898A publication Critical patent/KR20130033898A/ko
Application granted granted Critical
Publication of KR101254706B1 publication Critical patent/KR101254706B1/ko

Links

Images

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks

Abstract

본 발명은 코어 보다 적은 개수의 라우터를 포함하면서도 대역폭 저하를 방지할 수 있는 3차원 네트워크 온 칩에 관한 것으로, Z좌표를 따라 수직 배열되는 둘 이상의 레이어; 상기 둘 이상의 레이어 각각에 X좌표와 Y좌표를 따라 매트릭스 배열되는 복수의 코어; 상기 복수의 코어를 분류한 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어 각각에 상기 X좌표와 Y좌표를 따라 매트릭스 배열되고, 상기 각 레이어 내에서 상호 연결되는 적어도 하나의 라우터; 및 상기 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어에 각각 배치되어 상호 수직하는 둘 이상의 라우터를 연결하도록, 상기 둘 이상의 레이어를 관통하는 적어도 하나의 TSV를 포함하는 네트워크 온 칩을 제공한다. 이때, 상기 적어도 하나의 클러스터 각각은, 상기 적어도 하나의 라우터 중 대응하는 하나의 라우터, 및 상기 복수의 코어 중 상기 대응하는 하나의 라우터와 스타 토폴로지(star topology)를 이루도록 각각 연결되는 둘 이상의 코어를 포함한다.

Description

3차원 네트워크 온 칩{THREE-DIMENSIONAL NETWORK ON CHIP}
본 발명은 서로 연결된 복수의 코어(Core)를 각각 포함하는 둘 이상의 레이어(layer)를 수직방향으로 적층한 다중 적층 칩(multiple stacked chips)으로 이루어진 3차원 네트워크 온 칩에 관한 것이다.
반도체 칩이 점차 미세화 및 복잡화되면서, 각각의 기능을 수행하는 복수의 코어(Core, 또는 IP블록(IP block: Intellecture Property block)으로도 지칭함)를 하나의 칩으로 집적하기 위한 시스템 온 칩(System on Chip: SoC) 기술이 대두되었다.
그런데, 시스템 온 칩의 경우, 각 코어에 병렬로 연결된 버스(BUS) 기반의 브로드캐스트(BROAD CASTING) 방식으로, 코어 간에 데이터를 송수신한다. 즉, 버스에 연결된 다수 개의 IP 블록 중 단 하나의 IP 블록에만, 데이터 송신을 위한 버스 이용 권한이 주어질 수 있다. 그러므로, 시스템 온 칩은, 코어의 개수가 증가하거나, 또는 코어 간에 송수신되는 데이터의 용량이 증가할수록, 버스에서의 데이터 지연시간이 기하급수적으로 증가함에 따라, 데이터 지연시간에 대응하여 집적할 수 있는 코어의 개수가 한정되는 문제점이 있다.
이러한 시스템 온 칩의 문제점을 극복하고자, 네트워크 온 칩(Network on Chip: NoC) 기술이 제안되었다.
네트워크 온 칩은, 버스 기반 대신, 각 코어에 대응하는 라우터(ROUTER)에 의한 패킷(PACKET) 기반의 네트워크(NETWORK) 방식으로, 코어 간에 데이터를 송수신한다. 즉, 많은 개수의 코어를 집적하더라도, 버스 이용 권한을 기다릴 필요 없이, 라우터를 통해 송신지정보와 수신지정보를 포함한 패킷 형태로 데이터를 송수신함에 따라, 시스템 온 칩(SoC)에 비해, 데이터 전송 처리량(throughput)을 대폭 향상시킬 수 있고, 이로써 전력소모(power consumption)을 낮출 수 있다. 이 뿐만 아니라, 네트워크 온 칩은 라우터의 연결 형태인 토폴로지(Topology)를 조절하여, 네트워크 환경을 자유롭게 바꿀 수 있으므로, 시스템 온 칩보다 높은 유연성 및 확장성을 갖는다.
이때, 네트워크 온 칩의 토폴로지로는 하나의 중심라우터에 다수 개의 주변라우터를 연결한 형태의 스타 토폴로지(star topology), 다수 개의 라우터를 사방(四方)으로 이웃한 것끼리 연결한 형태인 메쉬 토폴로지(mesh topology), 다수 개의 라우터를 중심케이블인 버스(bus)에 연결한 형태인 버스 토폴로지(bus topology), 다수 개의 라우터를 일방향으로 이웃한 것끼리 원형을 이루도록 연결한 형태인 링 토폴로지(ring topology), 및 다수 개의 라우터를 수직관계의 피라미드로 연결한 형태인 트리 토폴로지(tree topology) 등을 들 수 있다.
한편, 시스템 온 칩(SoC)보다 높은 데이터 전송 처리량(thoughput) 및 낮은 전력소모를 갖는 네트워크 온 칩(NoC)의 이점을 유지하면서, 칩의 집적도, 동작속도 및 전력소모를 더욱 향상시키기 위한 방안으로, 3차원 집적회로(three-Dimensional integrated circuits: 3D IC)를 적용한 네트워크 온 칩(NoC)이 부각되고 있다.
일반적으로, 3차원 네트워크 온 칩(3D NoC)은 각 레이어(layer)에 메쉬 토폴로지로 연결된 다수의 코어를 포함한 다중 적층 칩(multiple stacked chips)들로 이루어지되, 다중 적층 칩(multiple stacked chips)은 TSV(Through Silicon Via: 관통 실리콘 비아)를 이용하여 수직 방향으로 집적된다.
이때, 각 레이어에서 다수의 코어를 메쉬 토폴로지로 연결하면, 모든 링크의 길이가 동일해져서, 사전에 레이아웃 상에 라우터를 배치할 수 있는 장점 및 수직방향의 차원 간 라우팅이 교착(데드락: deadlock) 없이, 간단한 통신일 수 있는 장점이 있다. 그러나, 코어의 개수가 증가할수록, 라우터의 개수도 비례하여 증가하면서, 평균 통신 홉 수(average communication hop count)가 증가하고, 높은 부하(heavy loads)일 때의 성능 저하가 심화되는 문제점이 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 코어보다 적은 개수의 라우터를 포함하여 평균 통신 홉 수를 감소시킬 수 있어 전체 지연시간을 감소시킬 수 있으면서도, 적은 개수의 라우터로 인한 대역폭 저하를 방지할 수 있는 3차원 네트워크 온 칩에 관한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 의하면, 3차원 네트워크 온 칩(Network-on- Chip) 에 있어서, Z좌표를 따라 수직 배열되는 둘 이상의 레이어; 상기 둘 이상의 레이어 각각에 X좌표와 Y좌표를 따라 매트릭스 배열되는 복수의 코어; 상기 복수의 코어를 분류한 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어 각각에 상기 X좌표와 Y좌표를 따라 매트릭스 배열되고, 상기 각 레이어 내에서 상호 연결되는 적어도 하나의 라우터; 및 상기 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어에 각각 배치되어 상호 수직하는 둘 이상의 라우터를 연결하도록, 상기 둘 이상의 레이어를 관통하는 적어도 하나의 TSV를 포함하는 네트워크 온 칩을 제공한다. 이때, 상기 적어도 하나의 클러스터 각각은, 상기 적어도 하나의 라우터 중 대응하는 하나의 라우터, 및 상기 복수의 코어 중 상기 대응하는 하나의 라우터와 스타 토폴로지(star topology)를 이루도록 각각 연결되는 둘 이상의 코어를 포함한다.
이상과 같이, 본 발명에 따르면, 수직 배열된 둘 이상의 레이어 각각에 매트릭스 배열되는 복수의 코어, 복수의 코어를 분류한 적어도 하나의 클러스터에 각각 대응하고 각 레이어 내에서 메쉬 토폴로지를 이루도록 상호 연결되는 적어도 하나의 라우터를 포함하되, 적어도 하나의 클러스터는 대응하는 하나의 라우터 및 그와 스타 토폴로지를 이루도록 각각 연결되는 둘 이상의 코어를 포함한다. 이때, 라우터는 TSV와 연결되어 수직한 다른 레이어의 라우터와 연결되는 전기적 스위칭 유닛 및 동일 레이어 내 다른 클러스터와 연결되는 광학적 스위칭 유닛을 포함한다.
즉, 각 레이어에서, 하나의 라우터는 하나의 코어에만 연결되는 것이 아니라, 하나의 클러스터로 분류된 둘 이상의 코어에 공통으로 연결되어 있어, 코어 보다 적은 개수로 마련될 뿐만 아니라, 클러스터 내 코어 간 통신이 한 홉으로 가능해지므로, 평균 통신 홉 수를 감소시킬 수 있다. 이로써, 평균 통신 홉 수에 비례한 전체 지연시간을 감소시킬 수 있다.
또한, 각 라우터는 레이어 간 패킷 송수신 및 클러스터 내 코어와의 패킷 송수신을 전기적 스위칭 유닛을 이용한 전기적 네트워크로 실시하고, 레이어 내 클러스터 간 패킷 송수신을 광학적 스위칭 유닛을 이용한 광학적 네트워크로 실시한다. 이와 같이, 레이어 간 패킷 송수신과 클러스터 간 패킷 송수신을 다른 물리적 수단으로 분리함으로써, 라우터 개수 감소로 인한 대역폭의 저하를 방지할 수 있을 뿐만 아니라, 데이터를 분산시킬 수 있어, 통신 집중에 따른 데이터충돌 문제를 완화시킬 수 있다. 이로써, 네트워크 부하가 높은 경우에서의 성능 저하를 완화시킬 수 있다.
도 1은 본 발명의 실시예에 따른 3차원 네트워크 온 칩을 나타낸 분해사시도이다.
도 2는 도 1의 제 3 레이어를 나타낸 평면도이다.
도 3은 도 2의 제 6 라우터를 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 패킷의 헤더 구조를 나타낸 도면이다.
도 5는 도 3에 도시한 제 6 라우터의 구조의 일 예를 나타낸 도면이다.
도 6은 도 5에 도시한 마이크로공명기의 턴온, 턴오프 동작을 나타낸 일 예이다.
도 7은 패킷의 전송 경로로 설정된 라우터의 라우팅 방법을 나타낸 순서도이다.
도 8은 본 발명의 실시예에 따른 3차원 네트워크 온 칩에서 패킷 전송 경로의 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하에서는, 도 1 내지 도 6을 참조하여, 본 발명의 실시예에 따른 3차원 네트워크 온 칩에 대해 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 3차원 네트워크 온 칩을 나타낸 분해사시도이다. 도 2는 도 1의 제 3 레이어를 나타낸 평면도이고, 도 3은 도 2의 제 6 라우터를 나타낸 블록도이다. 도 4는 본 발명의 실시예에 따른 패킷의 헤더 구조를 나타낸 도면이다. 그리고, 도 5는 도 3에 도시한 제 6 라우터의 구조의 일 예를 나타낸 도면이다. 또한, 도 6은 도 5에 도시한 마이크로공명기의 턴온, 턴오프 동작을 나타낸 일 예이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 3차원 네트워크 온 칩(NOC, NETWORK ON CHIP)은 서로 수직하게 배치되는 둘 이상의 레이어(100, 101, 102), 및 둘 이상의 레이어(100, 101, 102)를 관통하는 적어도 하나의 TSV(Through Silicon Via, 200)를 포함한다. 도 1의 3차원 네트워크 온 칩은 Z좌표를 따라 순차적으로 수직 배열된 제 1 레이어(100), 제 2 레이어(101) 및 제 3 레이어(102)를 포함하는 것으로 도시되었다.
그리고, 3차원 네트워크 온 칩은 제1 내지 제 3 레이어(101, 102, 103) 각각에 X좌표와 Y 좌표를 따라 매트릭스 배열되는 복수의 코어, 및 복수의 코어를 분류한 적어도 하나의 클러스터에 각각 대응하여 제 1 내지 제3 레이어(100, 101, 102) 각각에 X좌표와 Y 좌표를 따라 매트릭스 배열되고, 각 레이어(100, 101, 102) 내에서 상호 연결되는 적어도 하나의 라우터를 포함한다. 이때, 상호 수직하게 배치된 각 레이어(100, 101, 102)의 라우터들은 그에 대응한 하나의 TSV(200)로 서로 연결된다.
이때, 복수의 코어(Core)는 각각의 연산을 수행하는 프로세서 코어(Processor Core) 또는 IP블록(IP block: Intellecture Property block)이라 지칭되기도 한다.
제 1 내지 제 3 레이어(100, 101, 102) 중 제 3 레이어(102)를 예로 들어 보면, 도 2에 도시한 바와 같이, 제 3 레이어(102) 상에, 복수의 코어(C1(0,0) ~ C64(7,7))가 X좌표와 Y좌표를 따라 매트릭스 배열되고, 복수의 코어(C1(0,0) ~ C64(7,7)) 중 서로 이웃한 둘 이상의 코어끼리 분류한 적어도 하나의 클러스터(CL1(0,0) ~ CL16(3,3))에 각각 대응하는 적어도 하나의 라우터(R1(0,0) ~ R16(3,3))가 각각 X좌표와 Y좌표를 따라 매트릭스 배열된다.
여기서, 적어도 하나의 클러스터(CL1(0,0) ~ CL16(3,3)) 각각은, 적어도 하나의 라우터(R1(0,0) ~ R16(3,3)) 중 대응하는 하나의 라우터, 및 복수의 코어 중 하나의 라우터와 스타 토폴로지(star topology)를 이루도록 각각 연결되는 둘 이상의 코어를 포함한다. 여기서, 스타 토폴로지(star topology)는 둘 이상의 코어 각각과 하나의 라우터를 동일 길이의 물리적 링크(LINK)로 연결한 라우터의 연결 형태를 지칭한다.
특히, 적어도 하나의 라우터(R1(0,0) ~ R16(3,3))은 각각 대응하는 클러스터에 포함된 둘 이상의 코어에 전기적으로 연결(도 1에서 실선으로 도시함)되고, 광학적으로도 연결(도 1에서 점선으로 도시함)된다. 또한, 적어도 하나의 라우터(R1(0,0) ~ R16(3,3))은 각각 대응하는 TSV(200)와 전기적으로 연결(도 1 에서 실선으로 도시함)되고, 각 레이어 내 다른 클러스터의 라우터와 광학적으로 연결(도 1에서 점선으로 도시함)된다.
적어도 하나의 클러스터(CL1(0,0) ~ CL16(3,3)) 중 제 6 클러스터(CL6(1,1))를 예로 들어보면, 제 6 클러스터(CL6(1,1))는 그에 대응하는 제 6 라우터(R6(1,1)), 및 제 6 라우터(R6(1,1))에 동일 길이의 물리적 링크로 연결되는 제 19 코어(C19(2,2)), 제 20 코어(C20(3,2)), 제 27 코어(C27(2,3)) 및 제 28 코어(C28(3,3))를 포함한다. 더불어, 제 6 클러스터(CL6(1,1))에서, 제 19 코어(C19(2,2)), 제 20 코어(C20(3,2)), 제 27 코어(C27(2,3)) 및 제 28 코어(C28(3,3))는 X좌표와 Y좌표를 따라 매트릭스 배열되면서, 제 6 라우터(R6(1,1))와 동일 길이의 링크로 연결되어야 하므로, 서로 대각선으로 마주하는 두 쌍의 코어라고 지칭될 수 있다. 즉, 각 클러스터(CL1(0,0) ~ CL16(3,3))에 포함되는 둘 이상의 코어는 서로 대각선으로 마주하는 두 쌍의 코어일 수 있다.
더불어, 도 2의 도시에서, X축 방향 중 좌측을 동(E: EAST), 우측을 서(W: WEST), Y축 방향 중 상측을 북(N: NORTH), 하측을 남(S: SOUTH)라 지칭한다. 즉, 제 6 클러스터(CL6(1,1))에 대응하는 제 6 라우터(R6(1,1))를 기준으로 하여, 동(E), 서(W), 남(S), 북(N) 방향으로 각각 이웃한 라우터는 제 5 라우터(R5(0,1)), 제 7 라우터(R7(2,1)), 제 2 라우터(R2(1,0)) 및 제 10 라우터(R10(1,2))가 된다.
그리고, 제 6 라우터(R6(1,1))는 남동(SE: SouthEast), 남서(SW: SouthWest), 북동(NE: NorthEast) 및 북서(NW: NorthWest) 방향으로, 제 19 코어(C19(2,2)), 제 20 코어(C20(3,2)), 제 27 코어(C27(2,3)) 및 제 28 코어(C28(3,3))과 연결되는 것으로도 지칭될 수 있다.
도 3에 도시한 바와 같이, 라우터(R1(0,0) ~ R16(3,3)) 각각은 전기적 스위칭 유닛(Electrical Switching Unit), 광학적 스위칭 유닛(Optical Switching Unit) 및 컨트롤 유닛(Control Unit)을 포함한다.
전기적 스위칭 유닛(Electrical Switching Unit)은 적어도 하나의 클러스터(CL1(0,0) ~ CL16(3,3)) 중 대응하는 클러스터에 포함되는 둘 이상의 코어(SE, SW, NE, NW)와 동일 길이의 전기적 링크(참고로, 도 1 및 도 2의 실선에 해당함)로 상호 연결되어, 대응하는 클러스터 내 둘 이상의 코어와 양방향으로 패킷을 송수신한다. 그리고, 적어도 하나의 TSV(200) 중 연결된 하나의 TSV를 통해, 수직하게 상/하측에 배치된 다른 레이어의 라우터(UP Router, DOWN Router)와 전기적으로 상호 연결되어, 다른 레이어의 라우터와 양방향으로 패킷을 송수신한다.
광학적 스위칭 유닛(Optical Switching Unit)은 대응하는 클러스터에 포함되는 둘 이상의 코어(SE, SW, NE, NW)와 광 도파로(도 1 및 도 2에서, 점선으로 도시함)로 상호 연결되어, 대응하는 클러스터 내 둘 이상의 코어에 패킷을 일방향으로 출력한다. 그리고, 레이어 내에 메쉬 토폴로지(mesh topology)를 이루도록, 사방(四方)으로 이웃한 다른 클러스터의 라우터(E, W, S, N)와 광 도파로로 상호 연결되어, 레이어 내 다른 클러스터의 라우터와 양방향으로 패킷을 송수신한다.
컨트롤 유닛(Control Unit)은 전기적 스위칭 유닛(Electrical Switching Unit)과 광학적(Optical Switching Unit)에 제어신호를 인가한다.
이때, 패킷(packet)은 각 레이어의 라우터(R1(0,0) ~ R16(3,3))에 의해 형성된 네트워크(network)를 통해 코어 간 데이터를 송수신하는 단위이다.
특히, 도 4에 도시한 바와 같이, 본 발명의 실시예에 따른 패킷의 헤더(header)는 전송 타입 태그(Trans Type), 목적지 라우터 번호 태그(Router No.), 수신지 주소 필드(DestinationCore_addr), 출발지 주소 필드(SourceCore_addr), 및 전송데이터의 길이 필드(Length of DATA)를 포함한다. 그리고, 수신지 주소 필드(DestinationCore_addr)는 목적지 레이어의 번호(Layer No.), 목적지 라우터의 좌표(Router_X, Router_Y), 및 목적지 코어의 좌표(Core No.)를 포함한다.
이러한 패킷의 헤더는 32비트(bit)로 이루어질 수 있다.
다시, 도 3을 이어서, 제 6 라우터(R6(1,1))의 전기적 스위칭 유닛(Electrical Switching Unit)과 광학적 스위칭 유닛(Optical Switching Unit)에 대해 설명한다.
제 6 라우터(R6(1,1))의 전기적 스위칭 유닛(Electrical Switching Unit)은 제 6 라우터(R6(1,1))에 남동, 남서, 북동 및 북서 방향(SE, SW, NE, NW)의 제 19 코어(C19(2,2)), 제 20 코어(C20(3,2)), 제 27 코어(C27(2,3)) 및 제 28 코어(C28(3,3))에 각각 전기적으로 연결(도 2에서 실선으로 도시함)되어, 양방향으로 패킷을 입, 출력한다 (도 3에서, 얇은 두께의 입, 출력 화살표로 표시함). 그리고, 제 6 라우터(R6(1,1))와 연결된 TSV(도 1의 200)를 통해 상/하측 레이어의 라우터(UP Router, DOWN Router)와 전기적으로 연결되어, 양방향으로 패킷을 입출력한다 (도 3에서, 두꺼운 두께의 입, 출력 화살표로 표시함). 만약, 제 2 레이어(도 1 의 101)에 배치된 제 6 라우터(R6(1,1))인 경우, 제 6 라우터(R6(1,1))의 전기적 스위칭 유닛(Electrical Switching Unit)은 그보다 수직하게 상측에 배치되는 제 3 레이어(102)의 제 6 라우터(UP Router)와 연결되고, 그보다 수직하게 하측에 배치되는 제 1 레이어(100)의 제 6 라우터(DOWN Router)와 연결된다.
제 6 라우터(R6(1,1))의 광학적 스위칭 유닛(Optical Switching Unit)은 제 6 라우터(R6(1,1))에 남동, 남서, 북동 및 북서 방향(SE, SW, NE, NW)의 제 19 코어(C19(2,2)), 제 20 코어(C20(3,2)), 제 27 코어(C27(2,3)) 및 제 28 코어(C28(3,3))에 각각 광학적으로 연결(참고로, 도 1 및 도 2의 점선에 해당함)되어, 패킷을 포함한 광신호를 일방향으로 출력한다 (도 3에서, 얇은 두께의 출력 화살표로 표시함). 그리고, 동, 서, 남 및 북 방향(E, W, S, N)의 제 5 라우터(R5(0,1)), 제 7 라우터(R7(2,1)), 제 10 라우터(R10(1,2)) 및 제 2 라우터(R2(1,0))에 각각 광학적으로 연결(도 2에서 점선으로 도시함)되어, 패킷을 포함한 광신호를 양방향으로 입, 출력한다 (도 3에서, 두꺼운 두께의 입, 출력 화살표로 표시함).
더욱 구체적으로, 도 5에 도시한 바와 같이, 각 라우터(R1(0,0) ~ R16(3,3))의 전기적 스위칭 유닛(Electrical Switching Unit)은 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input), 둘 이상의 전기적 출력포트(SE Core Output, SW Core Output, NE Core Output, NW Core Output), 업포트/다운포트(UP Router Port, DOWN Router Port), 크로스바 스위치(Crossbar) 및 라우팅버퍼(XY-Routing Buffer)를 포함한다.
그리고, 각 라우터(R1(0,0) ~ R16(3,3))의 광학적 스위칭 유닛(Optical Switching Unit)은 전기적 스위칭 유닛(Electrical Switching Unit)의 라우팅버퍼(XY-Routing Buffer)와 연결되는 광변조기(Optical Modulator), 인젝션포트(Injection Port), 이젝션포트(Ejection Port), 마이크로공명기(Microresonator), 적어도 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port), 역다중화기(Optical DeMuX), 및 둘 이상의 광학적 출력포트(Optical Core Output)를 포함한다.
이하에서는 적어도 하나의 라우터(R1(0,0) ~ R16(3,3)) 중 제 6 클러스터(CL6(1,1))에 대응한 제 6 라우터(R6(1,1))를 일 예로 들어, 본 발명의 실시예에 따른 라우터를 더욱 상세히 설명한다.
우선, 제 6 라우터(R6(1,1))의 전기적 스위칭 유닛(Electrical Switching Unit)에 있어서, 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)는 제 6 라우터(R6(1,1))를 기준으로 하여, 남동(SE) 방향의 제 19 코어(C19(2,2))와 연결되는 남동 입력버퍼(SE Core Input), 남서(SW) 방향의 제 20 코어(C20(3,2))와 연결되는 남서 입력버퍼(SW Core Input), 북동(NE) 방향의 제 27 코어(C27(2,3))와 연결되는 북동 입력버퍼(NE Core Input) 및 북서(NW) 방향의 제 28 코어(C28(3,3))와 연결되는 북서 입력버퍼(NW Core Input)를 포함한다.
이러한 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)는 각각에 연결된 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3))로부터 다른 레이어 또는 다른 클러스터로 전송할 패킷을 입력 받아, 임시 저장한다.
둘 이상의 전기적 출력포트(SE Core Output, SW Core Output, NE Core Output, NW Core Output)는 제 6 라우터(R6(1,1))를 기준으로 하여, 남동(SE) 방향의 제 19 코어(C19(2,2))와 연결되는 남동 출력포트(SE Core Output), 남서(SW) 방향의 제 20 코어(C20(3,2))와 연결되는 남서 출력포트(SW Core Output), 북동(NE) 방향의 제 27 코어(C27(2,3))와 연결되는 북동 출력포트(NE Core Output) 및 북서(NW) 방향의 제 28 코어(C28(3,3))와 연결되는 북서 출력포트(NW Core Output)를 포함한다.
이러한 둘 이상의 전기적 출력포트(SE Core Output, SW Core Output, NE Core Output, NW Core Output)는 TSV(200)를 이용한 레이어 간 수직 통신을 통해 다른 레이어의 라우터로부터 수신한 패킷, 또는 제 6 클러스터(CL6(1,1)) 내 코어 간 수평 통신에 의한 패킷을, 둘 이상의 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3)) 중 그의 목적지 주소 필드에 따라 선택되는 어느 하나의 코어로 출력한다.
업포트/다운포트(UP Router Port, DOWN Router Port)는 각 레이어(100, 101, 102)의 제 6 라우터(R6(1,1))들을 연결하는 어느 하나의 TSV(200)에 의한 레이어 간 수직 통신을 통해 패킷을 양방향으로 송, 수신한다.
예를 들어, 제 2 레이어(101)의 제 6 라우터에서, 업포트(UP Router Port)는 그 상측으로 수직하게 배열된 제 3 레이어(102)의 제 6 라우터와 연결되고, 다운포트(DOWN Router Port)는 그 하측으로 수직하게 배열된 제 1 레이어(100)의 제 6 라우터와 연결된다.
특히, 업포트/다운포트(UP Router Port, DOWN Router Port)는 다른 레이어의 라우터로 패킷을 출력하는 것만을 실시하고, 다른 레이어의 라우터로부터 수신한 패킷은 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input) 중 적어도 하나에서 입력 받을 수도 있다.
크로스바 스위치(Crossbar)는 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input), 둘 이상의 전기적 출력포트(SE Core Output, SW Core Output, NE Core Output, NW Core Output), 업포트/다운포트(UP Router Port, DOWN Router Port) 및 후술할 라우팅버퍼(XY-Routing Buffer) 중 어느 하나에서 다른 하나로 전기 신호를 스위칭한다.
라우팅버퍼(XY-Routing Buffer)는 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)와 연결된다. 그리고, 도 4에서 별도로 도시하고 있지 않으나, 라우팅버퍼(XY-Routing Buffer)는 업포트/다운포트(UP Router Port, DOWN Router Port)와 더 연결될 수 있다.
이러한 라우팅버퍼(XY-Routing Buffer)는 그에 연결된 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input) 또는 업포트/다운포트(UP Router Port, DOWN Router Port)에 입력된 패킷 중 레이어 내 수평통신을 통해, 각 레이어(100, 101, 102) 내 다른 클러스터의 라우터로 전송할 패킷을 임시 저장한다.
이와 같이, 전기적 스위칭 유닛(Electrical Switching Unit)은 TSV(200)를 이용하여 레이어 간 수직통신을 위한 전기적 네트워크를 제공한다.
이 뿐만 아니라, 대응하는 클러스터에 포함된 네 방향의 코어에 대해 스타 토폴로지를 이루도록 공통으로 연결되어, 클러스터 내 코어 간 수평통신을 한 홉(hop)으로 가능하게 함으로써, 평균 통신 홉 수를 감소시킬 수 있어, 평균 통신 홉 수에 비례한 전체 지연시간도 감소시킬 수 있다.
즉, 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)는 각각에 연결되는 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3))로부터 제 6 클러스터(CL6(1,1)) 내 다른 목적지 코어로 전송할 패킷을 입력 받으면, 이를 크로스바 스위치(crossbar)를 이용한 한 홉(hop)으로 클러스터(CL6(1,1)) 내 목적지코어에 전송한다.
또는, 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)는 각각에 연결되는 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3))로부터, 다른 목적지 레이어의 목적지 코어로 전송할 패킷을 입력 받으면, 이를 업포트(UP Router Port) 와 다운포트(DOWN Router Port) 중 목적지 레이어에 인접한 방향인 어느 하나로 전달한다. 이때, 패킷을 전달받은 업포트(UP Router Port) 또는 다운포트(DOWN Router Port)는 그에 연결된 TSV(200)를 이용한 레이어 간 수직통신으로 패킷을 목적지 레이어를 향해 전송한다.
또는, 둘 이상의 입력버퍼(SE Core Input, SW Core Input, NE Core Input, NW Core Input)는 각각에 연결되는 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3))로부터, 동일한 레이어 내 다른 클러스터에 대응한 목적지 라우터 및 그에 연결된 목적지 코어로 전송할 패킷을 입력 받으면, 이를 라우팅버퍼(XY-Routing Buffer)에 임시 저장한다.
더불어, 제 6 라우터(R6(1,1))의 광학적 스위칭 유닛(Optical Switching Unit)에 있어서, 광변조기(Optical Modulator)는 전기적 스위칭 유닛(Electrical Switching Unit)의 라우팅버퍼(XY-Routing Buffer)와 연결된다.
이러한 광변조기(Optical Modulator)는 라우팅버퍼(XY-Routing Buffer)에 임시 저장된 패킷 각각의 헤더 중 라우터 번호 태그(도 4의 Router No.)에 기초하여, 동일한 라우터 번호 태그를 갖는 적어도 하나의 패킷을 파장분할다중화(Wavelength Division Multiplexing: WDM)하여 광신호로 변조(modulation)한다. 특히, 파장분할다중화(WDM)를 통해, 동일한 라우터 번호 태그를 갖는 다수 개의 패킷을 각각의 파장을 갖도록 다중화하여, 하나의 광신호로 변조함에 따라, 다수 개의 패킷을 한번에 송수신할 수 있어, 통신효율 면에서 유리해진다.
더불어, 라우팅버퍼(XY-Routing Buffer) 전체에 동일한 라우터 번호 태그를 갖는 패킷으로만 채워진 경우, 라우팅버퍼(XY-Routing Buffer) 전체에 저장된 패킷들을 모두 하나의 광신호로 변조할 수 있도록, 광변조기(Optical Modulator)는 적어도 라우팅버퍼(XY-Routing Buffer)의 개수로 마련된다.
인젝션포트(Injection Port)는 광변조기(Optical Modulator)에 이어지는 광 도파로(Waveguide, 도 5의 광학적 스위칭 유닛(Optical Switching Unit) 내 실선에 해당함)의 일단에 해당하고, 광변조기(Optical Modulator)로부터 출력된 광신호를 광 도파로(Waveguide)에 주입한다.
이젝션포트(Ejection Port)는 광 도파로(Waveguide) 중 적어도 하나의 일단에 해당하고, 광 도파로(Waveguide) 내 불필요한 광신호를 방출한다.
마이크로공명기(Microresonator)는 두 종류의 1×2 스위칭 요소(switching element)로써, 광 도파로(Waveguide) 간의 교차 영역 중 적어도 하나에 배치되고, 컨트롤 유닛(Control Unit)의 제어신호에 기초하여, 광 도파로 내 광 신호의 진행 방향을 변경시킨다.
예를 들어, 도 6(a)에 도시한 바와 같이, 마이크로공명기(Microresonator)가 컨트롤 유닛(Control Unit)의 제어신호에 따라 턴온 상태(on-state)이면, 광신호의 진행 방향을 입력 방향에 대해 직진 방향이 아닌 다른 방향의 광 도파로를 향하도록 변경시킨다. 반면, 도 6(b)에 도시한 바와 같이, 마이크로공명기(Microresonator)가 컨트롤 유닛(Control Unit)의 제어신호에 따라 턴오프 상태(off-state)이면, 광신호의 진행 방향은 입력 방향에 대해 직진 방향으로 유지한다.
이에, 광 도파로(Waveguide)로 주입된 광신호가 광 도파로(Waveguide)의 서로 다른 일단에 배치된 이젝션포트(Ejection Port), 적어도 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port) 및 역다중화기(Optical DeMuX) 중 어느 것으로든 향할 수 있도록, 광 도파로(Waveguide) 내 마이크로공명기(Microresonator)의 개수 및 배치를 조절한다. 특히, 도 5에 도시한 바와 같이, 광학적 스위칭 유닛(Optical Switching Unit)은, 광변조기(Optical Modulator), 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port), 하나의 이젝션포트(Ejection Port), 및 하나의 역다중화기(Optical DeMuX)를 포함한다고 가정할 때, 20개의 마이크로공명기(Microresonator)를 포함할 수 있다.
적어도 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port)는 사방(四方)으로 이웃한 클러스터의 라우터와 연결된다. 예를 들어, 제 6 라우터(R6(1,1))의 경우, 적어도 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port)는 동(E) 방향의 제5 라우터(R5(0,1))에 연결되는 이스트 라우터포트(E Router Port), 서(W) 방향의 제7 라우터(R7(2,1))에 연결되는 웨스트 라우터포트(W Router Port), 남(S) 방향의 제 2 라우터(R2(1,0))에 연결되는 사우스 라우터포트(S Router Port) 및 북(N) 방향의 제 10 라우터(R10(1,2))에 연결되는 노스 라우터포트(N Router Port)를 포함한다.
또는, 도 2 및 도 4 내지 도 5에 별도로 도시하진 않았으나, 적어도 네 개의 라우터포트(E Router Port, W Router Port, S Router Port, N Router Port)는 남동(SE) 방향, 남서(SW) 방향, 북동(NE) 방향 및 북서(NW) 방향의 X 좌표와 Y좌표에 대한 대각선 방향으로 이웃한 클러스터의 라우터와 연결되는 라우터포트들을 더 포함할 수 있다.
역다중화기(Optical DeMuX)는 레이어 내 수평통신을 통해 레이어 내 다른 클러스터의 라우터로부터 수신한 광신호를 파장 별로 역다중화(DeMultiplexing)한다.
즉, 앞서 언급한 바와 같이, 광변조기(Optical Modulator)에 의한 광신호는 적어도 하나의 패킷을 각각의 파장으로 다중화한 신호인 바, 역다중화기(Optical DeMuX)는 광신호를 각각의 파장으로 역다중화하여, 각 파장에 대응한 각 패킷의 광신호로 분리한다.
그리고, 둘 이상의 광학적 출력포트(Optical Core Output)는 역다중화기(Optical DeMuX)와 클러스터 내 둘 이상의 코어 각각 사이에 각각 연결되어, 역다중화기(Optical DeMuX)로부터 출력되는 각 패킷의 광신호를 클러스터 내 둘 이상의 코어로 브로드캐스팅(broadcasting)한다. 예를 들어, 제 6 라우터(R6(1,1))의 경우, 둘 이상의 광학적 출력포트(Optical Core Output)의 일단은 역다중화기(Optical DeMuX)의 출력단에 연결되고, 다른 일단은 남동(SE) 방향의 제 19 코어(C19(2,2)), 남서(SW) 방향의 제 20 코어(C20(3,2)), 북동(NE) 방향의 제 27 코어(C27(2,3)) 및 북서(NW) 방향의 제 28 코어(C28(3,3)) 각각과 연결된다.
이때, 클러스터 내 둘 이상의 코어(C19(2,2), C20(3,2), C27(2,3), C28(3,3)) 각각은 광신호를 전기신호로 복조하는 광복조기를 포함하여, 각각에 연결된 둘 이상의 광학적 출력포트(Optical Core Output)로부터 브로드캐스팅되는 각 패킷의 광신호를 전기신호로 복조하고, 복조한 패킷의 목적지 주소 필드에 기초하여, 목적지 코어 좌표와 일치하는 코어는 복조한 패킷을 수신하고, 목적지 코어 좌표와 불일치하는 코어는 복조한 패킷을 드롭(drop)한다.
한편, 적어도 하나의 라우터(R1(0,0) ~ R16(3,3)) 각각의 컨트롤유닛(Control Unit)은 라우팅버퍼(XY-Routing Buffer)에 레이어 내 다른 클러스터의 라우터를 목적지 라우터로 하는 패킷이 임시 저장되면, 패킷의 목적지 주소 필드에 기초하여, 목적지 라우터의 패킷 수신 가능 여부 및 출발지와 목적지 사이의 패킷 전송 경로가 설정되는지 여부를 확인하기 위한 요청신호를 목적지 라우터로 전송한다.
그리고, 목적지 라우터로부터 요청신호에 대응한 응답신호를 수신하면, 라우터번호가 목적지 라우터로 동일한 패킷들을 광변조기(Optical Modulator)로 전달하여, 이 패킷들이 파장분할다중화한 광신호로 변조되도록 한다.
이때, 응답신호가 이동하는 경로에 포함되는 레이어 내 적어도 하나의 라우터는 출발지와 목적지 사이의 패킷 전송 경로로 설정된다. 이에, 컨트롤유닛(Control Unit)은 응답 신호의 수신 경로로 설정되는 패킷 전송 경로를 따라, 광신호를 전송한다.
그리고, 패킷 전송 경로로 설정된 레이어 내 적어도 하나의 라우터 중 이웃한 클러스터의 라우터로 광신호를 전송한 라우터는 패킷 전송 경로에서 해제된다.
다음, 도 7 및 도 8을 참고하여, 본 발명의 실시예에 따른 3차원 네트워크 온 칩에 있어, 패킷 전송 과정을 설명한다.
우선, 도 7에서, C_Router는 전기신호 또는 광신호의 패킷이 도달한 현재 라우터(Current Router)를 의미하고, S_Router는 패킷의 출발지 라우터(Source Router)를 의미하며, D_Router는 패킷의 목적지 라우터(Destination_Router)를 의미한다. 그리고, ZC, XC, YC는 현재 라우터(Current Router: C_Router)의 Z좌표, X 좌표, Y좌표를 의미하고, ZD, XD, YD는 목적지 라우터(Destination_Router: D_Router)의 Z좌표, X 좌표, Y좌표를 의미하되, Z좌표는 레이어의 번호에 대응하고, X좌표와 Y좌표는 레이어 내 매트릭스 배열 좌표에 대응한다.
도 7에 도시한 바와 같이, 레이어 간 수직 통신으로 패킷을 목적지 레이어에 전송하는 단계(S100), 레이어 내 수평 통신으로 패킷을 목적지 라우터와 동일한 X좌표를 갖는 어느 하나의 라우터에 전송하는 단계(S200) 및 레이어 내 수평 통신으로 패킷을 목적지 라우터로 전송하는 단계(S300)를 포함한다. 이때, 앞서 언급한 바와 같이, 레이어 간 수직통신은 TSV(200)를 이용한 전기적 스위칭 유닛으로 이루어지고, 레이어 내 수평통신은 광학적 스위칭 유닛으로 이루어진다.
레이어 간 수직 통신으로 패킷을 목적지 레이어에 전송하는 단계(S100)에 있어, 현재 라우터(C_Router)는 자신의 Z좌표(ZC)와 목적지 라우터(D_Router)의 Z좌표(ZD)를 비교하여, 현재 라우터(C_Router)의 Z좌표가 목적지 라우터(D_Router)의 Z좌표보다 크면(ZC>ZD), 목적지 라우터(D_Router)의 Z좌표에 인접해지도록, 현재 라우터(C_Router)의 Z좌표를 하나의 레이어만큼 감소시킨다 (ZC=ZC-1). 반대로, 현재 라우터(C_Router)의 Z좌표가 목적지 라우터(D_Router)의 Z좌표보다 작으면(ZC<ZD), 목적지 라우터(D_Router)의 Z좌표에 인접해지도록, 현재 라우터(C_Router)의 Z좌표를 하나의 레이어만큼 증가시킨다 (ZC=ZC+1). 이와 같이, 현재 라우터(C_Router)의 Z좌표를 하나의 레이어만큼 감소 또는 증가시킴에 따라, 패킷이 위치하는 현재 라우터(C_Router)가 변경된다 (S400).
그리고, 현재 라우터(C_Router)의 Z좌표가 목적지 라우터(D_Router)의 Z좌표와 동일해지면(ZC=ZD), 패킷이 목적지 레이어에 위치한 것으로 간주하고, 레이어 내 수평 통신으로 패킷을 목적지 라우터(D_Router)와 동일한 X좌표를 갖는 어느 하나의 라우터에 전송하는 단계(S200)가 진행된다. 즉, 현재 라우터(C_Router)는 자신의 X좌표(XC)와 목적지 라우터(D_Router)의 X좌표(XD)를 비교하여, 현재 라우터(C_Router)의 X좌표가 목적지 라우터(D_Router)의 X좌표보다 크면(XC>XD), 목적지 라우터(D_Router)의 X좌표에 인접해지도록, 현재 라우터(C_Router)의 X좌표를 하나의 클러스터만큼 감소시킨다 (XC=XC-1). 반대로, 현재 라우터(C_Router)의 X좌표가 목적지 라우터(D_Router)의 X좌표보다 작으면(XC<XD), 목적지 라우터(D_Router)의 X좌표에 인접해지도록, 현재 라우터(C_Router)의 X좌표를 하나의 클러스터만큼 증가시킨다 (XC=XC+1). 이와 같이, 현재 라우터(C_Router)의 X좌표를 하나의 클러스터만큼 감소 또는 증가시킴에 따라, 패킷이 위치하는 현재 라우터(C_Router)가 변경된다 (S400).
이어서, 현재 라우터(C_Router)의 X좌표가 목적지 라우터(D_Router)의 X좌표와 동일해지면(XC=XD), 패킷이 목적지 레이어 및 목적지 라우터와 동일한 X좌표를 갖는 어느 하나의 라우터에 위치한 것으로 간주하고, 레이어 내 수평 통신으로 패킷을 목적지 라우터(D_Router)로 전송하는 단계(S300)가 진행된다. 이때, 현재 라우터(C_Router)의 Z좌표 및 X좌표가 목적지 라우터(D_Router)와 동일해졌으므로, 레이어 내 수평 통신으로 패킷을 목적지 라우터(D_Router)로 전송하는 단계(S300)에서, 현재 라우터(C_Router)를 패킷 전송 경로에서 해제한다 (S500).
즉, 현재 라우터(C_Router)는 자신의 Y좌표(YC)와 목적지 라우터(D_Router)의 Y좌표(YD)를 비교하여, 현재 라우터(C_Router)의 Y좌표가 목적지 라우터(D_Router)의 Y좌표보다 크면(YC>YD), 현재 라우터(C_Router)를 패킷 전송 경로에서 해제하고 (S500), 목적지 라우터(D_Router)의 Y좌표에 인접해지도록, 현재 라우터(C_Router)의 Y좌표를 하나의 클러스터만큼 감소시킨다 (YC=YC-1). 반대로, 현재 라우터(C_Router)의 Y좌표가 목적지 라우터(D_Router)의 Y좌표보다 작으면(YC<YD), 현재 라우터(C_Router)를 패킷 전송 경로에서 해제하고 (S500), 목적지 라우터(D_Router)의 Y좌표에 인접해지도록, 현재 라우터(C_Router)의 Y좌표를 하나의 클러스터만큼 증가시킨다 (YC=YC+1). 이와 같이, 현재 라우터(C_Router)의 Y좌표를 하나의 클러스터만큼 감소 또는 증가시킴에 따라, 패킷이 위치하는 현재 라우터(C_Router)가 변경된다 (S400).
이어서, 현재 라우터(C_Router)의 Y좌표까지 목적지 라우터(D_Router)의 Y좌표와 동일해지면(YC=YD), 패킷이 목적지 라우터(D_Router)에 도달된 것이 된다 (C_Router=D_Router). 이때, 목적지 라우터(D_Router)는 광신호의 패킷을 역다중화하여, 그에 연결된 둘 이상의 코어로 브로드캐스팅하고, 둘 이상의 코어 각각은 브로드캐스팅된 광신호의 패킷을 전기신호로 복조한다. 그리고, 둘 이상의 코어 중 복조한 패킷의 목적지 주소 필드와 일치하는 코어는 복조한 패킷을 수신하고, 복조한 패킷의 목적지 주소 필드와 불일치하는 코어는 복조한 패킷을 드롭(drop)한다.
예를 들어, 도 8에 도시한 바와 같이, 제 1 레이어(100)의 제3 코어(이하, "C(2,0,0)"으로 지칭함)를 출발지 주소로 하고, 제 3 레이어(102)의 제 32 코어(이하, "C(7, 3, 2)"으로 지칭함)를 목적지 주소로 하는 패킷을 전송하고자 하는 경우, 패킷의 목적지 주소 필드에서, 목적지 레이어의 번호는 C(7, 3, 2)의 Z좌표인 "2"이 되고, 목적지 라우터의 좌표는 C(7, 3, 2)에 연결된 제 3 레이어(102)의 제 8 라우터(이하, "R(3,1,2)"라 함)의 X좌표와 Y좌표인 "(3,1)"이 되며, 목적지 코어의 좌표는 C(7, 3, 2)의 X좌표와 Y좌표인 "(7,3)"이 되고, 목적지 라우터 번호 태그는 R(3,1,2)에 대응한 "8"이 된다고 가정한다.
패킷의 출발지인 C(2,0,0)는 그에 연결된 제1 레이어(100)의 제2 라우터(이하, "R(1,0,0)"이라 함)의 전기적 스위칭 유닛(Electric Switching Unit)의 입력버퍼(SE Core Input)로 전송할 패킷을 전달한다. R(1,0,0)은 패킷의 목적지 주소 필드에 기초하여 입력버퍼에 저장된 패킷이 레이어 간 수직 전송을 통해 다른 레이어의 라우터로 전송되는 것임을 확인하면, 그에 연결된 TSV(200)를 이용한 레이어 간 수직 전송으로, 목적지 레이어의 번호(2)와 일치하는 제 3 레이어(102)의 제 2 라우터(R(1,0,2))로 패킷을 전송한다.
제 3 레이어(102)의 제 2 라우터(R(1,0,2))는 패킷의 목적지 주소 필드 또는 목적지 라우터 번호 태그에 기초하여, 패킷이 제 3 레이어 내 클러스터 간 수평 전송을 통해 다른 클러스터의 라우터인 R(3,1,2)를 목적지 라우터로 함을 확인한다. 이러한 확인 결과에 따라, 그의 광학적 스위칭 유닛(Optical Switching Unit)을 이용하여, 패킷을 포함하는 광신호를 X방향을 따라 순차적으로 이동시킨다. 이때, 패킷 전송 경로는 제 3 레이어(102)의 제 3 라우터(R(2,0,2)) 및 제 4 라우터(R(3,0,2))를 포함한다.
그리고, 목적지 라우터인 R(3,1,2)과 동일한 X좌표를 갖는 제 3 레이어(102)의 제 4 라우터(R(1,3,2))의 광학적 스위칭 유닛(Optical Switching Unit)은, 광신호를 Y 방향을 따라 순차적으로 이동시킨다. 이때, 패킷 전송 경로는 R(3,1,2)를 포함한다.
R(3,1,2)은 광신호를 수신하여, 이를 각 파장별로 역다중화하고, 이와 같이 파장 별로 분리된 각 패킷의 광신호를 R(3,1,2)에 연결된 둘 이상의 코어, 즉, 제 3 레이어(102)의 제 23 코어(C23(8,2,2)), 제24 코어(C24(9,2,2)), 제 31 코어(C31(6,3,2)) 및 제32 코어(C32(7,3,2))에 브로드캐스팅한다. 이후, 제 3 레이어(102)의 제 23 코어(C23(8,2,2)), 제24 코어(C24(9,2,2)), 제 31 코어(C31(6,3,2)) 및 제32 코어(C32(7,3,2))은 각각 광신호를 전기신호로 복조하고, 그 중 패킷의 목적지 주소 필드에 일치하는 제32 코어(C32(7,3,2))는 패킷을 수신하고, 패킷의 목적지 주소 필드에 불일치하는 나머지 코어들은 패킷을 드롭한다 (S600).
이상과 같이, 본 발명의 실시예에 따른 3차원 네트워크 온 칩은 전기적 스위칭 유닛과 광학적 스위칭 유닛을 각각 포함하는 라우터를 포함하고, 전기적 스위칭 유닛에 의한 전기적 네트워크를 통해 클러스터 내 코어 간 통신 및 레이어 간 데이터 수직 전송을 처리하고, 광학적 스위칭 유닛에 의한 광학적 네트워크를 통해 레이어 내 클러스터 간 데이터 수평 전송을 처리한다. 이와 같이, 레이어 간 데이터 수직 통신과, 레이어 내 데이터 수평 통신을 서로 다른 물리적 수단, 즉 전기적 네트워크와 광학적 네트워크로 분리함으로써, 클러스터 단위로 배정되어 코어보다 적은 개수의 라우터로 인한 대역폭 저하를 방지할 수 있고, 데이터를 다른 물리적 수단으로 분산시킬 수 있어, 통신 집중에 따른 데이터 충돌 문제를 완화시킬 수 있으며, 이로써 네트워크 부하가 높은 경우에서의 성능 저하를 완화시킬 수 있다.
한편, 코어에 각각 대응하고 메쉬 토폴로지를 이루도록 서로 연결되며, 광학적 스위칭 유닛으로만 이루어진 라우터를 포함하는 제 1 비교예의 3차원 네트워크 온 칩과, 둘 이상의 코어를 포함하는 클러스터에 대응하고 메쉬 토폴로지를 이루도록 서로 연결되며, 광학적 스위칭 유닛으로만 이루어진 라우터를 포함하는 제 2 비교예의3차원 네트워크 온 칩 각각의 처리량을 비교해본 결과, 동일 개수의 코어에서 제 1 비교예의 처리량은 제 2 비교예보다 약 30% 향상되는 것을 확인하였다. 이는, 제 2 비교예가 제 1 비교예보다 절대적으로 라우터의 개수가 감소함에 따라, 어느 하나의 라우터로 데이터가 집중되는 현상이 심화되기 때문이다.
특히, 본 발명의 실시예에 따른 3차원 네트워크 온 칩의 처리량(throughput)은 제 1 비교예보다 약 19% 향상되는 것을 확인하였다. 이는 본 발명의 실시예에 따르면, 전기적 네트워크와 광학적 네트워크로 분리된 수직통신과 수평통신을 동시에 실시할 수 있어, 데이터의 집중 현상을 완화시킬 수 있을 뿐만 아니라 지연시간을 감소시킬 수 있기 때문이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100, 101, 102: 둘 이상의 레이어
200: 적어도 하나의 TSV
C1(0,0) ~ C64(7,7): 각 레이어의 복수의 코어
CL1(0,0) ~ CL16(3,3): 각 레이어의 적어도 하나의 클러스터
R1(0,0) ~ R16(3,3): 각 레이어의 적어도 하나의 라우터
Electrical Switching Unit: 전기적 스위칭 유닛
Optical Switching Unit: 광학적 스위칭 유닛

Claims (14)

  1. 3차원 네트워크 온 칩(Network-on- Chip) 에 있어서,
    Z좌표를 따라 수직 배열되는 둘 이상의 레이어;
    상기 둘 이상의 레이어 각각에 X좌표와 Y좌표를 따라 매트릭스 배열되는 복수의 코어;
    상기 복수의 코어를 분류한 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어 각각에 상기 X좌표와 Y좌표를 따라 매트릭스 배열되고, 상기 각 레이어 내에서 상호 연결되는 적어도 하나의 라우터; 및
    상기 적어도 하나의 클러스터에 각각 대응하여, 상기 둘 이상의 레이어에 각각 배치되어 상호 수직하는 둘 이상의 라우터를 연결하도록, 상기 둘 이상의 레이어를 관통하는 적어도 하나의 TSV를 포함하되,
    상기 적어도 하나의 클러스터 각각은, 상기 적어도 하나의 라우터 중 대응하는 하나의 라우터, 및 상기 복수의 코어 중 상기 대응하는 하나의 라우터와 스타 토폴로지(star topology)를 이루도록 각각 연결되는 둘 이상의 코어를 포함하는 3차원 네트워크 온 칩.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 라우터 각각은,
    상기 적어도 하나의 클러스터 중 대응하는 하나의 클러스터에 포함된 상기 둘 이상의 코어와 동일 길이의 전기적 링크로 상호 연결되고, 상기 적어도 하나의 TSV 중 연결된 하나의 TSV를 통해, 수직하게 배치된 다른 레이어의 라우터와 전기적으로 상호 연결되어, 상기 대응하는 하나의 클러스터 내의 둘 이상의 코어 및 다른 레이어의 라우터와 패킷을 송수신하는 전기적 스위칭 유닛;
    상기 대응하는 하나의 클러스터에 포함된 상기 둘 이상의 코어와 광 도파로로 상호 연결되고, 상기 둘 이상의 레이어 중 해당하는 하나의 레이어 내 적어도 하나의 라우터와 메쉬 토폴로지(mesh topology)를 이루도록 상기 광 도파로로 상호 연결되어, 상기 대응하는 하나의 클러스터에 포함된 상기 둘 이상의 코어 및 상기 레이어 내 다른 클러스터의 라우터와 패킷을 송수신하는 광학적 스위칭 유닛; 및
    상기 전기적 스위칭 유닛과 상기 광학적 스위칭 유닛에 제어신호를 인가하는 컨트롤 유닛을 포함하는 3차원 네트워크 온 칩.
  3. 제 2 항에 있어서,
    상기 패킷은
    목적지 주소 필드, 출발지 주소 필드, 전송데이터의 길이 필드, 목적지 라우터 번호 태그 및 전송 타입 태그를 포함하되,
    상기 목적지 주소 필드는 목적지 코어의 좌표, 목적지 라우터의 좌표 및 목적지 레이어의 번호를 포함하는 3 차원 네트워크 온 칩.
  4. 제 3 항에 있어서,
    상기 전기적 스위칭 유닛은,
    상기 둘 이상의 코어에 각각 연결되어, 상기 둘 이상의 코어 각각의 패킷을 입력 받는 둘 이상의 입력버퍼;
    상기 둘 이상의 코어에 각각 연결되어, 상기 둘 이상의 코어에 다른 코어의 패킷을 출력하는 둘 이상의 전기적 출력포트;
    상기 하나의 TSV를 통해, 상기 하나의 라우터의 상/하측에 배치된 다른 레이어의 라우터와 연결되어, 다른 레이어의 라우터와 패킷을 송수신하는 업/다운포트;
    상기 컨트롤 유닛의 제어신호에 기초하여, 상기 둘 이상의 입력버퍼, 상기 둘 이상의 전기적 출력포트, 및 상기 업/다운포트 사이의 전기적 링크를 이용한 전기적 네트워크를 형성하는 크로스바 스위치; 및
    상기 둘 이상의 입력버퍼와 연결되어, 상기 하나의 레이어 내 다른 클러스터의 라우터로 전송할 패킷을 임시 저장하는 라우팅버퍼를 포함하는 3차원 네트워크 온 칩.
  5. 제 4 항에 있어서,
    상기 둘 이상의 입력버퍼 중 어느 하나는, 그에 연결되는 코어로부터 다른 레이어의 코어로 전송할 제 1 패킷을 수신하면, 상기 크로스바 스위치를 이용하여, 상기 제 1 패킷을 업/다운포트로 전송하고,
    상기 업/다운포트는 상기 하나의 TSV에 연결된 상측 또는 하측 레이어의 라우터 중 상기 제 1 패킷의 목적지 주소 필드에 따른 레이어의 번호에 인접한 레이어의 라우터로 상기 제 1 패킷을 전송하는 3차원 네트워크 온 칩.
  6. 제 4 항에 있어서,
    상기 둘 이상의 입력버퍼 중 어느 하나는, 그에 연결되는 코어 또는 상기 업/다운포트로부터 상기 하나의 레이어 내 다른 클러스터의 라우터로 전송할 제 2 패킷을 수신하면,
    상기 수신한 제 2 패킷을 상기 라우팅버퍼에 순차적으로 임시 저장하는 3차원 네트워크 온 칩.
  7. 제 4 항에 있어서,
    상기 광학적 스위칭 유닛은,
    상기 라우팅버퍼와 연결되고, 상기 라우팅버퍼에 임시 저장된 패킷 중 동일한 목적지 라우터 번호 태그를 갖는 적어도 하나의 패킷을 각각의 파장으로 다중화한 광신호로 변조하는 광변조기;
    상기 광변조기에서 출력되는 상기 광신호를 상기 광 도파로에 주입하는 인젝션포트;
    상기 광 도파로의 광신호를 방출하는 이젝션포트;
    상기 광 도파로 간의 교차 영역 중 적어도 하나에 배치되고, 상기 컨트롤 유닛의 제어신호에 기초하여, 상기 광신호의 진행방향을 변경시키는 마이크로공명기;
    상기 레이어 내 사방(四方)으로 이웃한 다른 클러스터의 라우터와 각각 연결되는 적어도 네 개의 라우터포트;
    상기 레이어 내 다른 클러스터의 라우터로부터 수신한 광신호를 파장 별로 역다중화하는 역다중화기; 및
    상기 역다중화기와 상기 둘 이상의 코어 사이에 각각 연결되어, 상기 파장 별로 역다중화한 광신호를 상기 둘 이상의 코어에 브로드캐스팅하는 둘 이상의 광학적 출력포트를 포함하는 3차원 네트워크 온 칩.
  8. 제 7 항에 있어서,
    상기 복수의 코어 각각은 상기 파장 별로 역다중화한 광신호를 전기신호로 복조하는 광복조기를 포함하는 3차원 네트워크 온 칩.
  9. 제 7 항에 있어서,
    상기 광변조기는 적어도 상기 라우팅 버퍼의 개수로 마련되어,
    상기 라우팅 버퍼에 임시 저장되고, 동일한 목적지 라우터 번호를 갖는 패킷들을 각각의 파장으로 다중화하여, 하나의 광신호로 변조하는 3차원 네트워크 온 칩.
  10. 제 7 항에 있어서,
    상기 컨트롤 유닛은,
    상기 라우팅 버퍼에 상기 하나의 레이어 내 다른 클러스터의 목적지 라우터로 전송할 제 1 패킷이 임시 저장되면,
    상기 제 1 패킷의 목적지 주소 필드에 기초하여, 목적지 라우터의 패킷 수신 가능 여부를 확인하고 상기 제 1 패킷의 전송 경로를 설정하기 위한 요청 신호를 상기 목적지 라우터에 전송하고,
    상기 요청 신호에 대응한 응답 신호를 수신하면, 상기 응답 신호의 수신 경로로 설정되는 상기 제 1 패킷의 전송 경로를 따라, 상기 광변조기에 의해 변조되어 상기 제 1 패킷을 포함하는 광신호를 전송하는 3차원 네트워크 온 칩.
  11. 제 10 항에 있어서,
    상기 하나의 레이어 내 적어도 하나의 라우터 중 상기 제 1 패킷의 전송 경로로 설정된 라우터는, 그의 이웃한 클러스터의 라우터로 상기 제 1 패킷을 포함하는 광신호를 전송하면, 상기 제 1 패킷의 전송 경로에서 해제되는 3차원 네트워크 온 칩.
  12. 제 10 항에 있어서,
    상기 목적지 라우터는 상기 제 1 패킷을 포함하는 광신호를 수신하면, 이를 파장 별로 역다중화하여, 상기 제 1 패킷의 광신호를 상기 목적지 라우터에 스타 토폴로지로 연결된 둘 이상의 코어에 브로드캐스팅하는 3차원 네트워크 온 칩.
  13. 제 12 항에 있어서,
    상기 목적지 라우터에 스타 토폴로지로 연결된 둘 이상의 코어는 각각의 광복조기를 이용하여, 상기 제 1 패킷의 광신호를 전기신호로 복조하고, 상기 제 1 패킷의 목적지 주소 필드에 기초하여, 목적지 코어 좌표에 일치하는지 여부를 확인하며, 목적지 코어 좌표에 일치하면 상기 제 1 패킷을 수신하고, 목적지 코어 좌표에 불일치하면 상기 제 1 패킷을 드롭하는 3차원 네트워크 온 칩.
  14. 제 1 항에 있어서,
    상기 적어도 하나의 클러스터 각각에 포함되는 이웃한 둘 이상의 코어는, 서로 대각선으로 마주하는 두 쌍의 코어인 3차원 네트워크 온 칩.
KR1020110097856A 2011-09-27 2011-09-27 3차원 네트워크 온 칩 KR101254706B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110097856A KR101254706B1 (ko) 2011-09-27 2011-09-27 3차원 네트워크 온 칩

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110097856A KR101254706B1 (ko) 2011-09-27 2011-09-27 3차원 네트워크 온 칩

Publications (2)

Publication Number Publication Date
KR20130033898A true KR20130033898A (ko) 2013-04-04
KR101254706B1 KR101254706B1 (ko) 2013-04-15

Family

ID=48436180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110097856A KR101254706B1 (ko) 2011-09-27 2011-09-27 3차원 네트워크 온 칩

Country Status (1)

Country Link
KR (1) KR101254706B1 (ko)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015094468A1 (en) * 2013-12-19 2015-06-25 Netspeed Systems Automatic pipelining of noc channels to meet timing and/or performance
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
US9590813B1 (en) 2013-08-07 2017-03-07 Netspeed Systems Supporting multicast in NoC interconnect
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9769077B2 (en) 2014-02-20 2017-09-19 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9825887B2 (en) 2015-02-03 2017-11-21 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
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
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
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
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10074053B2 (en) 2014-10-01 2018-09-11 Netspeed Systems Clock gating for system-on-chip elements
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10084692B2 (en) 2013-12-30 2018-09-25 Netspeed Systems, Inc. Streaming bridge design with host interfaces and network on chip (NoC) layers
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10257076B2 (en) 2015-09-10 2019-04-09 Samsung Electronics Co., Ltd. Apparatus and method transmitting packets
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
CN109951342A (zh) * 2019-04-02 2019-06-28 上海交通大学 空间信息网络的三维矩阵拓扑表示及路由遍历优化实现方法
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
US10355996B2 (en) 2012-10-09 2019-07-16 Netspeed Systems Heterogeneous channel capacities in an interconnect
US10419300B2 (en) 2017-02-01 2019-09-17 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10496770B2 (en) 2013-07-25 2019-12-03 Netspeed Systems System level simulation in Network on Chip architecture
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10735335B2 (en) 2016-12-02 2020-08-04 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
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
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
CN112825101A (zh) * 2019-11-21 2021-05-21 北京希姆计算科技有限公司 芯片架构及其数据处理方法、电子设备及存储介质
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)
KR20210063382A (ko) * 2019-03-06 2021-06-01 구글 엘엘씨 광학 네트워크들을 사용하는 재구성가능한 컴퓨팅 포드들
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101382606B1 (ko) 2013-06-10 2014-04-07 성균관대학교산학협력단 하이브리드 광학 네트워크 온 칩의 태스크 매핑 장치 및 방법과 이를 이용한 하이브리드 광학 네트워크 온 칩 시스템
CN103473210A (zh) * 2013-09-03 2013-12-25 上海大学 多芯核三维芯片的拓扑系统和数据包路由方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8102884B2 (en) * 2008-10-15 2012-01-24 International Business Machines Corporation Direct inter-thread communication buffer that supports software controlled arbitrary vector operand selection in a densely threaded network on a chip

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10355996B2 (en) 2012-10-09 2019-07-16 Netspeed Systems Heterogeneous channel capacities in an interconnect
US10496770B2 (en) 2013-07-25 2019-12-03 Netspeed Systems System level simulation in Network on Chip architecture
US9590813B1 (en) 2013-08-07 2017-03-07 Netspeed Systems Supporting multicast in NoC interconnect
WO2015094468A1 (en) * 2013-12-19 2015-06-25 Netspeed Systems Automatic pipelining of noc channels to meet timing and/or performance
US10084692B2 (en) 2013-12-30 2018-09-25 Netspeed Systems, Inc. Streaming bridge design with host interfaces and network on chip (NoC) layers
US9769077B2 (en) 2014-02-20 2017-09-19 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US10110499B2 (en) 2014-02-20 2018-10-23 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US10074053B2 (en) 2014-10-01 2018-09-11 Netspeed Systems Clock gating for system-on-chip elements
US9860197B2 (en) 2015-02-03 2018-01-02 Netspeed Systems, Inc. Automatic buffer sizing for optimal network-on-chip design
US9825887B2 (en) 2015-02-03 2017-11-21 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
US9829962B2 (en) 2015-02-12 2017-11-28 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
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
US10218581B2 (en) 2015-02-18 2019-02-26 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
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
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
US10257076B2 (en) 2015-09-10 2019-04-09 Samsung Electronics Co., Ltd. Apparatus and method transmitting packets
US10564703B2 (en) 2016-09-12 2020-02-18 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10613616B2 (en) 2016-09-12 2020-04-07 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10564704B2 (en) 2016-09-12 2020-02-18 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10749811B2 (en) 2016-12-02 2020-08-18 Netspeed Systems, Inc. Interface virtualization and fast path for Network on Chip
US10735335B2 (en) 2016-12-02 2020-08-04 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
US10523599B2 (en) 2017-01-10 2019-12-31 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
US10469338B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10419300B2 (en) 2017-02-01 2019-09-17 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
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
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
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
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
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)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
KR20210063382A (ko) * 2019-03-06 2021-06-01 구글 엘엘씨 광학 네트워크들을 사용하는 재구성가능한 컴퓨팅 포드들
CN109951342A (zh) * 2019-04-02 2019-06-28 上海交通大学 空间信息网络的三维矩阵拓扑表示及路由遍历优化实现方法
CN109951342B (zh) * 2019-04-02 2021-05-11 上海交通大学 空间信息网络的三维矩阵拓扑表示及路由遍历优化实现方法
CN112825101A (zh) * 2019-11-21 2021-05-21 北京希姆计算科技有限公司 芯片架构及其数据处理方法、电子设备及存储介质
CN112825101B (zh) * 2019-11-21 2024-03-08 广州希姆半导体科技有限公司 芯片架构及其数据处理方法、电子设备及存储介质

Also Published As

Publication number Publication date
KR101254706B1 (ko) 2013-04-15

Similar Documents

Publication Publication Date Title
KR101254706B1 (ko) 3차원 네트워크 온 칩
TWI552536B (zh) 光資料中心網路系統以及光交換器
US9332323B2 (en) Method and apparatus for implementing a multi-dimensional optical circuit switching fabric
WO2017092215A1 (zh) 一种数据中心网络系统及信号传输系统
CN101917333B (zh) 基于区域的光电双层片上网络系统及路由方法
WO2018183542A1 (en) Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths
US20120099863A1 (en) Hybrid optical/electrical switching system for data center networks
CN102281478B (zh) 用于混合交换的片上光路由器
WO2018183553A1 (en) Non-blocking any-to-any data center network having multiplexed packet spraying within access node groups
JP5586597B2 (ja) デジタルおよび光エキスプレススルーノードを横断するリンクダイバーシティおよび負荷バランス
WO2015051023A1 (en) Distributed optical switching architecture for data center networking
US8472313B2 (en) System and method for optical bypass routing and switching
US9560427B2 (en) Scalable silicon photonic switching architectures for optical networks
CN104285395A (zh) 光学数据传输系统
CN105451103B (zh) 基于波长分配的三维光片上网络路由器通信系统及方法
CN105530199B (zh) 基于sdn多域光网络虚拟化技术的资源映射方法及装置
JP2018533331A (ja) ラインカードシャーシ、マルチシャーシクラスタルータおよびパケット処理
KR101465420B1 (ko) 네트워크 온 칩 및 네트워크 온 칩의 신호를 라우팅하는 방법
CN104883224B (zh) 构建数据中心交换网络的方法及节点装置
Pal et al. RODA: A reconfigurable optical data center network architecture
US20200162373A1 (en) Data Center Network (DCN) Architecture and Communication
US20160269197A1 (en) large-scale data center based on a contiguous network
Zhu et al. Efficient hybrid multicast approach in wireless data center network
CN103716183B (zh) 一种光传送网的管理方法和装置
Zhu et al. Scalable and topology adaptive intra-data center networking enabled by wavelength selective switching

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee