KR20160049456A - 온-다이 상호접속부의 아키텍처 - Google Patents

온-다이 상호접속부의 아키텍처 Download PDF

Info

Publication number
KR20160049456A
KR20160049456A KR1020150135176A KR20150135176A KR20160049456A KR 20160049456 A KR20160049456 A KR 20160049456A KR 1020150135176 A KR1020150135176 A KR 1020150135176A KR 20150135176 A KR20150135176 A KR 20150135176A KR 20160049456 A KR20160049456 A KR 20160049456A
Authority
KR
South Korea
Prior art keywords
point
metal layer
network switch
network
interconnect
Prior art date
Application number
KR1020150135176A
Other languages
English (en)
Other versions
KR101736593B1 (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 인텔 코포레이션
Publication of KR20160049456A publication Critical patent/KR20160049456A/ko
Application granted granted Critical
Publication of KR101736593B1 publication Critical patent/KR101736593B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/5221Crossover interconnections
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

실시예에서, 장치는 반도체 다이 상에 구성된 복수의 아일랜드 - 복수의 아일랜드는 각기 복수의 코어를 가지고 있음 - 와, 반도체 다이 상에서 각기 복수의 아일랜드와 연관되게 구성되는 복수의 네트워크 스위치 - 각각의 네트워크 스위치는 복수의 출력 포트를 포함하고, 제 1 세트의 출력 포트는 각기 포인트-투-포인트 상호접속부를 통해 한 아일랜드의 연관된 네트워크 스위치에 결합하고 제 2 세트의 출력 포트는 각기 포인트-투-멀티포인트 상호접속부를 통해 복수의 아일랜드의 연관된 네트워크 스위치에 결합함 - 를 포함한다. 다른 실시예가 기술되고 청구된다.

Description

온-다이 상호접속부의 아키텍처{ARCHITECTURE FOR ON-DIE INTERCONNECT}
본 발명은 미국 정부 지원에 따라 에너지 부에 의해 수여된 계약 번호 제 B600738 호 하에서 수행되었다. 정부는 본 발명에 소정의 권한을 갖는다.
기술분야
본 개시는 컴퓨팅 시스템에 관한 것으로, 특히 온-다이 상호접속부(on-die interconnect)에 관한 것이나, 이에 국한되지 않는다.
도 1a는 본 발명의 실시예에 따른 프로세서 또는 SoC의 코어 집단 또는 일단의 코어 그룹의 블록도이다.
도 1b는 실시예에 따른 복수의 프로세서 아일랜드(island)의 블록도이다.
도 2는 본 발명의 실시예에 따른 SoC 또는 다른 프로세서의 블록도이다.
도 3은 본 발명의 실시예에 따른 네트워크 스위치의 블록도이다.
도 4는 본 발명의 실시예에 따른 네트워크 스위치를 통해 패킷을 라우팅하는 방법의 흐름도이다.
도 5는 본 발명의 실시예에 따른 시스템의 블록도이다.
도 6은 실시예가 사용될 수 있는 예시적인 시스템의 블록도이다.
도 7은 실시예가 사용될 수 있는 다른 예시적인 시스템의 블록도이다.
도 8은 실시예에 따른 칩 상의 시스템의 블록도이다.
도 9는 본 발명의 실시예에 따른 시스템의 블록도이다.
컴퓨팅 기술이 진보함에 따라, 대량의 계산 능력이 단일의 반도체 다이에서 실행 가능해지고 있다. 현재, 4, 8 또는 그 이상의 코어를 가진 다중 코어 프로세서가 사용 가능하다. 미래의 프로세서는 수백 또는 심지어 수천 개의 소형의 계산 코어를 단일의 실리콘 다이에 집적할 수 있으리라 예상된다. 그러나, 현재의 온-다이 상호접속부 패브릭은 허용 가능한 대역폭을 제공하면서, 특히 최소의 전력 소비와 지연을 유지한 채로 그렇게 많은 수의 노드까지 효과적으로 확대할 수 없다. 이차원 메시, 링 버스 또는 링 메시 토폴로지를 포함하는 통상의 네트워크 토폴로지는 그렇게 기대하는 프로세서를 위해 효과적으로 확대될 수 없고, 그 결과 근본적으로 네트워크에서 다수의 중간 홉 및 버퍼링으로 인하여 과도한 지연과 엄두도 못 낼 정도로 높은 전력 소비를 초래한다.
다양한 실시예에서, 최신 기술의 반도체 프로세스 기술에 의해 제공되는 풍부한 상호접속부 자원 및 및 금속 스택의 계층적인 빌드업(hierarchical buildup)의 고유 지연/에너지/대역폭/리피터 간격(repeater spacing) 특성을 이용하는 온-다이 상호접속부 토폴로지가 제공된다. 이러한 방식으로 실시예에 따른 상호접속부 패브릭은 애플리케이션 수행을 위한 낮은 지연/에너지와 허용 가능한 대역폭으로 수천 개의 노드의 네트워크 확장성(network scalability)을 성취할 수 있다.
실시예는 서브마이크론 반도체 처리를 위한 현존하는 첨단 기술 노드를 적극 활용한다. 한 예로서, 반도체 다이에 적응된 금속 스택은 풍부한 한 세트의 금속 자원(예를 들면, 9 개 이상의 층)을 제공한다. 실시예에서, 이러한 층 중에서 4개 이상의 층은 온-다이 상호접속부 패브릭 용도로 사용될 수 있다. 각각의 금속층은 이것으로 한정되지 않지만, 상이한 폭/간격(spacing)/재료 속성을 비롯한 상이한 물리적 특징을 가지고 있다. 예로서, 상이한 층은 상이한 에너지 특징(예를 들면, 에너지/밀리미터(mm)), 지연 특징(예를 들면, 지연/mm), 대역폭 특징(배선/mm), 및 최적한 리피터 간격 특징을 가질 수 있다. 일부 실시예에서, 상호접속되는 코어 또는 다른 계산 로직의 크기는 상위급 금속의 최적한 리피터 간격보다 작을 수 있고, 그런 만큼 리피터가 필요 없을 수 있으며, (하위급 금속층의 배선보다 크고 및/또는 두꺼울 수 있는) 상위급 금속층의 배선은 더 낮은 지연을 제공할 수 있으며 단일의 클럭 사이클 내에서 복수개의 코어를 가로지르고/횡단할 수 있다는 것을 주목하여야 한다.
실시예에 따른 상호접속부 패브릭은 배선의 계층 구조를 사용할 수 있는데, 이러한 배선의 계층 구조에서 하위급/중간급 층은 이웃 코어(또는 코어 그룹)의 클러스터들 사이를 포인트-투-포인트 상호접속부에 의해 결합하기에 충분한 대역폭을 갖는 배선을 포함한다. 또한, 상위급의 금속층은 단일의 클럭 사이클 내에서 포인트-투-멀티포인트 상호접속부에 의해 복수개 코어 그룹의 전반에 걸쳐 이어져 연결하는 배선을 포함한다. 실시예는 납작해진(flattened) 로직 스위치 계층 구조 및 물리적으로/논리적으로 인접한 노드 및 멀리 있는 노드를 계층적으로 결합하는 배선의 계층 구조를 갖는 계층적 네트워크 토폴로지를 제공한다. 코어(또는 노드)의 크기가 작으므로, 스위치를 코어 당 단위로 납작하게 만들 수 없고, 그 대신 토폴로지가 일단의 코어 그룹에서 하나로 납작해질 수 있다.
본 출원에서 기술된 바와 같은 토폴로지는 계층적인 포인트-투-포인트 및 포인트-투-멀티포인트 상호접속부로 상호접속되는 높은 기수(high-radix)의 납작해진 스위치를 포함한다. 계층적 배선의 연결성을 높인 스위치를 납작하게 하면 스위치의 기수가 증가되며, 그래서 홉 카운트(hop count)가 최소화되고 전체적인 네트워크 지연/에너지가 최소화된다. 대역폭이 일정하게 유지되는 한, 개개의 스위치 에너지는 크게 (일차까지) 증가하지 않는다. 스위치 기수와, 대역폭과, 그리고 계층적 배선의 간격 및 드롭 카운트(drop count)와의 균형을 없애 버림으로써 주어진 기술(자원), 코어 카운트 및 애플리케이션 요건에 대한 네트워크 토폴로지가 최적화될 수 있다. 예를 들면, 금속 폭/간격의 선택은 대역폭/지연 간의 이해득실을 결정한다. 이격이 더 커진 넓은 금속 배선은 대역폭(배선/mm)이 작아진 대가로 낮은 지연을 가져올 수 있다. 유사하게, 코어 크기가 줄어들면, 단일의 사이클 내에서 더 많은 코어가 연결될 수 있다.
구체적으로, 실시예는 아일랜드(island) 당 단위로 납작해진 스위치를 사용한다. N 코어(아일랜드) 그룹은 네트워크 스위치를 공유한다. 아일랜드 내 코어는 크로스바 네트워크를 이용하여 연결된다. 이제 도 1a를 참조하면, 본 발명의 실시예에 따른 프로세서 또는 SoC의 코어 집단 또는 일단의 코어 그룹의 블록도가 도시된다. 도 1a에서, 집단(100)은 본 출원에서 도메인 또는 아일랜드라고 지칭될 수 있다. 일부 실시예에서, 아일랜드는 독립적인 전압 및 주파수 도메인을 가질 수 있다. 도시된 바와 같이, 복수의 코어(1100-110n)가 존재한다. 비록 실시예에서 바뀔지라도, 예시된 예에서는 8개의 코어가 존재하지만, 다른 실시예에서는 주어진 아일랜드에서 더 많거나 더 적은 수의 코어가 존재할 수 있다고 이해하여야 한다.
코어(110)는 서로 제 1 토폴로지의 상호접속부(120)를 통해 결합한다. 일 예로서, 상호접속부(120)는 코어가 서로 통신할 수 있는 크로스바 네트워크일 수 있다. 아일랜드(100)는 스위치(130)를 더 포함한다. 실시예에서, 스위치(130)는 높은 기수의 스위치이다. 스위치(130)는 아일랜드(100) 내 코어와 프로세서 또는 SoC의 다른 부분과의 (또한 칩 밖의 장소와의) 상호접속 및 통신을 제공한다. 또한, 본 출원에서 기술되는 바와 같이, 네트워크 스위치(130)는 여러 형태의 상호접속부에 의해 다른 도메인 또는 아일랜드와 통신할 수 있고, 이 경우 이러한 상호접속부의 적어 부분적으로 빌드업 스택(buildup stack)의 여러 금속층 상에서 구성된다. 이러한 빌드업 스택의 자체적으로 상이한 속성을 갖는 여러 금속층의 특성을 적극 활용함으로써, 다른 동작 특성 중에서 지연, 대역폭과 같은 상호접속부 자체의 동작 특성이 변한다. 그러한 특성은 금속 배선의 폭/간격에 관한 선택의 함수일 수 있다. 하위의 층은 더 빽빽한 간격과 더 좁은 폭을 가질 수 있고, 그 결과 증가된 저항으로 인하여 더 높은 (mm 당) 대역폭 및 더 높은 지연을 초래할 수 있다. 상위의 층은 더 넓은 폭과 더 높은 간격을 가지며, 그 결과로서 저항이 줄어듦으로써 (mm 당) 대역폭이 적지만 지연이 낮아진다.
예시적인 실시예에서, 네트워크 스위치(130)의 제 1 세트의 출력 포트는 포인트-투-포인트 상호접속부(도 1a에서 용이한 설명을 위해 도시되지 않음)를 통해 인접한 도메인 또는 아일랜드와 통신한다. 그 다음으로, 네트워크 스위치(130)의 제 2의 출력 포트 집합은 포인트-투-멀티포인트 상호접속부(도 1a에서 용이한 설명을 위해 도시되지 않음)를 통해 인접하지 않은 도메인 또는 아일랜드와 통신한다. 도 1a의 예에서는 이렇게 높은 수준으로 도시되지만, 많은 변형 예 및 대안 예가 가능하다고 이해하여야 한다.
이제 도 1b를 참조하면, 실시예에 따른 복수의 프로세서 아일랜드의 블록도가 도시된다. 도시된 바와 같이, 다섯 개의 아일랜드(1000-100n)가 존재한다. 높고 일반적인 수준으로 도시되지만, 각각의 아일랜드는 복수의 코어(예를 들면, 8개)와, 크로스바 상호접속부 네트워크와, 스위치를 포함할 수 있는 이종의 자원을 포함할 수 있는 것으로 이해하여야 한다. 상호접속부의 적어도 일부분이 상이한 아일랜드를 서로 결합하는 상이한 금속층의 고유 특성을 활용함으로써, 상이한 통신 지연이 일어난다. 그래서, 도 1b에 도시된 바와 같이, (예를 들어) 단일의 클럭 사이클 내에서, 네트워크 스위치(1300)의 제 1 출력 포트는 출력 유닛(예를 들면, 패킷)을 상호접속부(140) - 실시예에서 상호접속부는 제 1 금속층(예를 들면, 빌드업 스택의 중간급 금속층) 상에서 적어도 일부가 구성된 포인트-투-포인트 상호접속부로서 구현됨 - 를 통해 인접한 아일랜드(1001)의 네트워크 스위치(1301)의 대응하는 입력 포트로 제공한다. 대신에, 네트워크 스위치(1300)의 제 2 출력 포트는 출력 유닛을 복수의 네트워크 스위치, 즉 네트워크 스위치(1302, 1302, 및 130n)의 대응하는 입력 포트로 제공한다. 이러한 통신은 네트워크 스위치(1300)의 이러한 출력 포트로부터 제 2 금속층(예를 들면, 중간 급 금속층 보다 적어도 상위인 빌드업 스택의 상위 금속층) 상에서 적어도 일부가 구성된 포인트-투-멀티포인트 상호접속부(150)를 통해 수행될 수 있다는 것을 주목하여야 한다.
도 1b에는 이러한 예시적인 예가 도시되지만, 실시예는 인접하지 않은 단지 세 개의 아일랜드에만 결합하는 멀티포인트 상호접속부로 한정되지 않는다고 이해하여야 한다. 다른 실시예에서, 그러한 상호접속부는 인접하지 않은 추가의 상호접속부에 결합할 수 있다(그리고 선택 사양으로는 인접한 아일랜드에도 마찬가지로 결합될 수 있다). 뿐만 아니라, 이러한 단일의 사이클의 통신 지연으로 기술되지만, 본 발명의 범위는 이러한 점에서 한정되지 않으며, 다른 예에서, 상호접속부가 결합되어 있는 주어진 목적지로의 통신 지연은 단일의 사이클보다 적거나 클 수 있다는 것을 이해하여야 한다.
일 예에서, 온-다이 상호접속부 구조체는 다음과 같은 컴포넌트, 즉, 16x16 노드 네트워크에서 8 코어/아일랜드 및 아일랜드당 하나의 스위치를 256 아일랜드로서 구성된 2048 코어를 갖는 엑사스케일(exascale) SoC 또는 다른 프로세서 용도로 구현될 수 있다. 이러한 예시적인 토폴로지에서, 각각의 네트워크 스위치는 복수의 출력 포트, 즉 네 방향에서 가장 가까운 이웃에 결합하는 네 개의 포트 및 네 개의 아일랜드를 각 방향으로 이어주는 포인트-투-멀티포인트 상호접속부에 결합하는 네 개의 포트를 포함할 수 있다. 이러한 디자인의 다른 추정은 가상의 두 채널(각자 요청 및 응답 용으로 사용됨), 64 바이트(B) 패킷 크기, 및 균일한 랜덤 트래픽 패턴(uniform random traffic pattern) 하에서 아일랜드 당 초당 64 기가바이트(gigabytes per second, Gbps) 주입 대역폭의 최소 대역폭을 가진 차원 순서(dimension-ordered) XY 라우팅을 포함한다.
이제 도 2를 참조하면, 본 발명의 실시예에 따른 SoC 또는 다른 프로세서의 블록도가 도시된다. 도 2의 예에서, 프로세서(200)는 매우 많은 수의 코어를 포함하는 엑사스케일 프로세서이다. 예로서, 1024 또는 2048 코어가 존재할 수 있다. 일반적으로, 코어는 아일랜드 내에 배열될 수 있다. 높은 수준으로 도시된 바와 같이, 16x16 아일랜드(2100,0-210n,n)의 어레이가 존재한다. 각각의 아일랜드는 소정 개수의 코어를 포함할 수 있다. 여러 예에서, 동종의 코어 또는 이종 코어의 혼합체가 있을 것으로 생각된다. 상호접속을 제공하기 위해, 온-다이 상호접속부 패브릭은 복수의 네트워크 스위치, 예를 들면 도 1a 및 도 1b에 대하여 대체로 앞에서 기술한 바와 같이 구성된, 각 아일랜드 내부에 존재하는 높은 기수의 네트워크 스위치를 통해 구현될 수 있다.
이와 같이, 각각의 네트워크 스위치(130)는 제 1 형태의 상호접속부(즉 포인트-투-포인트 상호접속부)를 통해 인접한 아일랜드를 X, Y 방향으로 결합한다(다이의 둘레에 있는 아일랜드는 인접한 네 개의 아일랜드에 결합할 수 없다는 것을 이해하여야 한다). 또한, 각각의 네트워크 스위치(130)는 또한 제 2 형태의 상호접속부(즉, 포인트-투-멀티포인트 상호접속부)를 통해 인접하지 않은 아일랜드에 결합한다.
실시예에 따른 토폴로지는 낮은 부하 조건 하에서 최저의 지연을 성취할 수 있으며, 스위치 대역폭이 같은 경우라면, 2D 메시 네트워크와 비교하여 볼 때 균일한 랜덤 트래픽 조건 하에서 네트워크가 포화하기 전 주입 율의 세 배까지 높게 성취할 수 있다는 것을 주목하여야 한다. 고도로 지역화된 가장 가까운 이웃 트래픽 패턴의 경우, 토폴로지는 2D 메시 네트워크에 비해 경쟁적으로 수행한다.
도 2의 토폴로지는 일반적인 토폴로지의 예이며, 정확한 사양은 기술 선택, 회로 파라미터, 코어 카운트/크기 등을 기초로 할 수 있다는 것을 이해하여야 한다. 그러므로 실시예는 온-다이 상호접속부 패브릭의 적응적인 구현을 제공한다. 각 포인트-투-멀티포인트 상호접속부의 간격 및 드롭 카운트는 기본 기술 사양서(예를 들면, 금속층의 수, 배선/mm, 최적한 리피터 간격 등), 회로 파라미터(예를 들면, 그 중에서 전압, 클럭 사이클 주기), 및 코어 카운트로 정의될 수 있다는 것을 주목하여야 한다. 이러한 고려 사항은 원하는 네트워크 직경(에너지/지연) 및 대역폭에 대비하여 균형이 맞추어 질 수 있다. 네트워크 스위치의 특정 주입/배출 대역폭에 대해, 국부적인 통신에 더 높은 대역폭을 제공하기 위해 중간 층 금속의 더 많은 수의 배선/mm 이 사용될 수 있다.
이제 도 3을 참조하면, 본 발명의 실시예에 따른 네트워크 스위치의 블록도가 도시된다. 도 3에 도시된 바와 같이, 네트워크 스위치(300)는 프로세서 또는 SoC의 여러 도메인 또는 아일랜드 전반에 걸쳐 예를 들어 설명될 수 있다. 이러한 스위치를 사용하여, 각종 라우팅, 중재 및 관련된 동작이 수행될 수 있다. 도시된 바와 같이, 네트워크 스위치(300)는 (예를 들면, 포인트-투-포인트 상호접속부 또는 포인트-투-멀티포인트 상호접속부를 통해 수신되는 것으로서) 다른 아일랜드로부터 입력을 수신하도록 구성된 복수의 입력 포트(I0-In)를 통해 입력을 수신한다. 다른 입력 포트는 네트워크 스위치(300)가 포함되는 아일랜드의 각종 로컬 코어에 결합될 수 있다. 이와 같이, 다수의 출력 포트보다 많은 입력 포트가 있다(도시된 실시예에서는 출력 포트(O0-O7)가 제공된다).
요청 정보 또는 응답 정보의 형태일 수 있는 인입하는 정보에 대해 언급하면, 인입하는 정보는 대응하는 경로(lane) 또는 요청 가상 채널에 대응하는 가상 채널(3100), 및 응답 가상 채널에 대응하는 가상 채널(3101)로 제공된다. 도시된 바와 같이, 각각의 채널은 복수의 독립 버퍼(3120-312n)를 포함한다. 예를 들어, 주어진 프로세서에 맞는 패킷 크기의 주어진 입력 유닛에 실려 수신될 수 있는 인입 정보는 예를 들면, 그 주어진 패킷에 포함된 어드레스 및 제어 정보에 기초하여 대응하는 적절한 목적지를 결정하는 라우트 계산 로직(3140-314n)으로 제공된다. 이러한 라우트 결정 정보에 기초하여, 주어진 패킷을 전달하는 적절한 출력 포트를 결정하는 포트 중재기(315)에서 포트 중재가 수행될 수 있다.
그러나, 출력하기 전에, 버스 중재기(320)에서 버스 중재가 먼저 일어난다. 도시된 바와 같이, 이러한 중재 점에서, 주어진 목적지가 해당하는 패킷을 수신하기에 충분한 자원을 가지고 있는지를 결정하기 위해 흐름 제어 정보가 고려된다. 그러므로 도시된 바와 같이, 흐름 제어 정보는 피드백 방식으로 버스 중재기(320)에 제공될 수 있다(구체적으로는 버스 중재 로직(3220-322n)으로 제공될 수 있다).
대응하는 버스 중재 로직(322)으로부터 중재된 패킷은 대응하는 파이프 스테이지(3260, 3280, 3290-326n, 328n, 329n)로 제공된다. 도시된 바와 같이, 패킷은 크로스바 로직(335)을 포함하는 크로스바 라우터(330)에 제공된다. 이러한 방식으로, 패킷은 (용이한 설명을 위해 도 3에 도시되지 않은, 크로스바 라우터(330)에 결합된 로컬 코어를 포함하는) 선택된 목적지로 제공될 수 있다. 도시된 바와 같이, 패킷이 네트워크 스위치(300)의 주어진 출력 포트로부터 출력되는 경우, 패킷은 대응하는 선택기 또는 멀티플렉서(3380-3387)를 통해 전달된다. 이와 같이, 출력된 패킷은 (각기 포인트-투-포인트 상호접속부에 결합되는) 출력 포트(O0-O3)에 결합된 파이프 스테이지(3400-3403)를 통해 인접한 아일랜드 중 어떤 곳으로 제공되며, 출력 포트에서 패킷은 한 사이클의 지연되어 인접한 아일랜드의 인접한 스위치 네트워크로 전달될 수 있다. 대신에, 연관된 네트워크 스위치를 통해 복수의 인접하지 않은 아일랜드 중 한 아일랜드로 제공되는 패킷은 멀티플렉서(3384-3387)로부터 대응하는 파이프 스테이지(3400-3407)를 통해 (각기 포인트-투-멀티포인트 상호접속부에 결합되는) 대응하는 출력 포트(O4-O7)로 전송된다.
그러므로 예시된 바와 같이, 네트워크 스위치(300)는 온-다이 패브릭 용도의 높은 기수의 스위치이다. 이렇게 요청 및 응답용의 별개의 경로 또는 가상 채널을 가진 특정한 예시로 도시되지만, 본 발명이 범위는 이러한 점에서 한정되지 않으며 다른 구현예에서는 부가적이거나 상이한 가상 채널이 제공될 수도 있다.
이제 도 4를 참조하면, 본 발명의 실시예에 따른 네트워크 스위치를 통해 패킷을 라우팅하는 방법의 흐름도가 도시된다. 도 4에 도시된 바와 같이, 방법(400)은 네트워크 스위치 내부에서 다양한 로직에 의해 수행될 수 있다. 도시된 바와 같이, 방법(400)은 처리될 다중 패킷을 수신함으로써 시작한다(블록 410). 그러한 패킷은 네트워크 스위치 내부에서 그의 로컬 코어로부터 뿐만 아니라 네트워크 스위치의 각종 입력 포트에 결합된 포인트-투-포인트 및 포인트-투-멀티포인트 상호접속부로부터 수신될 수 있다. 그 다음 블록(420)에서, 출력을 위한 적절한 패킷을 결정하기 위해 중재가 수행될 수 있다. 중재는 특정한 소스로부터의 패킷이 부족하지 않거나 다른 소스의 패킷이 전송되지 않게 하는 공정성에 입각한 라운드 로빈 중재(a round-robin arbitration)를 기반으로 할 수 있다. 또한, 포트 및 버스 중재를 비롯한 중재가 흐름 제어 정보를 또한 고려할 수 있고, 그래서 목적지가 인입 패킷을 다루기에 충분한 자원을 갖지 못한 경우에는 패킷이 선택되지 않게 된다.
계속하여 도 4를 참조하면, 다음 블록(430)에서, 네트워크 스위치 로직에 의해 출력될 각각의 주어진 패킷(예를 들면, 패킷(1-P), 이 때 입력 포트보다 출력 포트의 개수가 적다)에 대해 프로세스가 수행될 수 있다. 도시된 바와 같이, 선택된 패킷의 라우팅이 결정될 수 있다(블록(440)). 그런 다음 그 라우팅에 기초하여, 목적지가 로컬 코어인지 결정될 수 있다(판단 블록(450)). 만일 목적지가 로컬 코어이면, 컨트롤은 주어진 패킷 처리를 위해 블록(455)으로 진행하며, 이 블록에서 패킷은 (크로스바 네트워크의 일부일 수 있고 그래서 패킷을 아일랜드의 내부 코어로 제공할 수 있는) 로컬 포트를 통해 로컬 코어로 전송될 수 있다.
그렇지 않고 목적지가 로컬 코어가 아니면, 컨트롤은 목적지가 인접한 아일랜드 범위 내에 있는지를 결정하는 판단 블록(460)으로 진행한다. 만일 그러하다면, 컨트롤은 블록(470)으로 진행하며, 이 블록에서 패킷은 포인트-투-포인트 상호접속부에 결합되어 있는 출력 포트를 통해 인접한 네트워크 스위치로 전송될 수 있다. 그렇지 않고, 목적지가 인접한 아일랜드가 아니면, 컨트롤은 블록(470)으로 진행하며, 이 블록에서 패킷은 포인트-투-멀티포인트 상호접속부에 결합되어 있는 출력 포트를 통해 인접하지 않은 복수의 네트워크 스위치로 전송될 수 있다. 패킷을 포인트-투-멀티포인트 상호접속부를 통해 전송할 때, 패킷을 (주어진 네트워크 스위치 내부의 라우팅 테이블을 기초로 할 수 있는) 최종 목적지로 포워딩하는 홉의 역할을 하는 스위치에서만 패킷이 넣어지는 것을 보장하기 위해 사이드밴드(sideband) 제어 신호가 또한 제공될 수 있다. 그래서, 패킷은 상호접속부에 결합된 다른(목적지가 아닌/홉 역할을 하지 않는) 스위치에는 넣어지지 않는다. 이러한 방식으로, 사이드밴드 상호접속부 정보를 사용함으로써, 패킷은 목적지가 아닌 스위치에서 라우트 계산을 겪어야 할 필요가 없다. 도 4의 실시예에서 이렇게 높은 수준으로 도시되어 있을지라도, 본 발명의 범위는 이러한 점에서 한정되지 않는 것으로 이해하여야 한다.
본 출원에서 기술된 바와 같은 온-다이 상호접속부를 포함하는 엑사스케일 프로세서 또는 SoC(또는 다른 집적 회로)는 소형의 휴대용 디바이스에서부터 고성능의 컴퓨팅 시스템 및 네트워크에 이르는 수 많은 여러 시스템에서 사용될 수 있다. 이제 도 5를 참조하면, 본 발명의 실시예에 따른 시스템의 블록도가 도시된다. 도 5의 실시예에서, 시스템(900)은 복수의 도메인을 포함하는 SoC일 수 있으며, 각각의 도메인은 독립적인 동작 전압 및 동작 주파수로 동작하도록 제어될 수 있다. 각각의 도메인은 네트워크 스위치를 포함하면서 본 출원에서 기술된 바와 같이 상호접속된 이종 아일랜드일 수 있다는 것을 주목하여야 한다. 특정한 예시적인 예로서, 시스템(900)은 인텔 코포레이션으로부터 구입 가능한 i3, i5, i7 또는 그러한 다른 프로세서와 같은 인텔® 아키텍처 코어TM 기반의 SoC일 수 있다. 그러나, 캘리포니아 서니베일 소재의 어드밴스드 마이크로 디바이스 인코포레이티드(Advanced Micro Devices, AMD)로부터 구입 가능한 바와 같은 다른 저전력 SoC 또는 프로세서, ARM 홀딩스 리미티드 또는 그의 실시권자나 어댑터(adopter)로부터 구입 가능한 ARM 기반 디자인, 또는 캘리포니아 서니베일 소재의 MIPS 테크놀로지 인코포레이티드 또는 그의 실시권자나 어댑터로부터 구입 가능한 MIPS 기반 디자인, 이를 테면, Apple A7 프로세서, 퀄컴 스냅드래콘 프로세서, 또는 텍사스 인스트루먼트 OMAP 프로세서가 다른 실시예에서 그 대신 존재할 수 있다. 그러한 SoC는 스마트폰, 태블릿 컴퓨터 패블릿 컴퓨터, 울트라북TM 컴퓨터, IoT 디바이스, 착용 디바이스, 또는 기타 휴대 컴퓨팅 디바이스와 같은 저전력 시스템에서 사용될 수 있다.
도 5에 도시된 높은 수준의 도면에서, SoC(900)는 복수의 코어 유닛(9100-910n)을 포함한다. 각각의 코어 유닛은 하나 이상의 프로세서 코어, 하나 이상의 캐시 메모리 및 기타 회로를 포함할 수 있다. 각각의 코어 유닛(910)은 하나 이상의 명령어 집합(예를 들면, x86 명령어 집합(신규 버전으로 추가된 약간의 확장 있음)과, MIPS 명령어 집합과, ARM 명령어 집합(NEON과 같은 선택 사양의 추가 확장 있음)) 또는 기타 명령어 집합이나 이들의 조합을 지원할 수 있다. 코어 유닛의 일부는 (예를 들면, 상이한 디자인의) 이종 자원일 수 있다는 것을 주목하여야 한다. 또한, 각각의 그러한 코어는 실시예에서 공유 레벨(L2) 캐시 메모리일 수 있는 캐시 메모리(도시되지 않음)에 결합될 수 있다. 비휘발성 저장소(930)는 각종 프로그램 및 기타 데이터를 저장하는데 사용될 수 있다. 예를 들면, 이러한 저장소는 마이크로코드의 적어도 일부분, BIOS와 같은 부팅 정보, 또는 기타 시스템 소프트웨어 등을 저장하는데 사용될 수 있다.
각각의 코어 유닛(910)은 SoC의 부가적인 회로에 상호 접속할 수 있게 해주는 네트워크 인터페이스와 같은 인터페이스를 또한 포함할 수 있다. 실시예에서, 각각의 코어 유닛(910)은 메모리 컨트롤러(935)에 결합되는 일차 캐시 코히어런트 온-다이 상호접속부로서 작용할 수 있는 온-다이 상호접속부로 구성된 코히어런트 패브릭에 결합한다. 또한, 메모리 컨트롤러(935)는 DRAM(도 5에서 용이한 설명을 위해 도시되지 않음)와 같은 메모리와의 통신을 제어한다.
코어 유닛 이외에, 프로세서 내에는 그래픽 처리를 수행할 뿐만 아니라 아마도 그래픽 프로세서에서 범용 동작(general purpose operations on the graphics processor) (소위 GPGPU 동작)을 수행하는 하나 이상의 그래픽 처리 유닛(graphics processing unit, GPU)을 포함할 수 있는 적어도 하나의 그래픽 유닛(920)을 비롯한 부가적인 처리 엔진이 존재한다. 그 밖에, 적어도 하나의 영상 신호 프로세서(925)가 존재할 수 있다. 신호 프로세서(925)는 SoC의 내부 또는 칩 외부의 하나 이상의 촬영 디바이스로부터 수신되는 인입 영상 데이터를 처리하도록 구성될 수 있다.
다른 가속도계가 또한 존재할 수 있다. 도 5의 예시에서, 비디오 코더(950)는 비디오 정보의 인코딩 및 디코딩을 비롯한 코딩 동작을 수행, 예를 들면 고선명 비디오 콘텐츠를 위한 하드웨어 가속 지원을 제공할 수 있다. 디스플레이 컨트롤러(955)도 또한 시스템의 내부 및 외부 디스플레이에 필요한 지원을 제공하는 것을 비롯하여 디스플레이 동작을 가속화하도록 제공될 수 있다. 또한, 보안 프로세서(945)가 보안 동작을 수행하기 위해 존재할 수 있다. 각각의 유닛은 각종 전력 관리 기술을 수행하는 제어 로직을 포함할 수 있는 전력 관리자(940)를 통해 자체 전력 소비량을 제어 받을 수 있다.
일부 실시예에서, SoC(900)는 각종 주변 디바이스가 결합될 수 있는 코히어런트 패브릭에 결합되는 논-코히어런트 패브릭을 더 포함할 수 있다. 하나 이상의 인터페이스(960a-960d)는 하나 이상의 오프-칩 디바이스와 통신할 수 있게 해준다. 그러한 통신은 다른 형태의 통신 프로토콜 중에서, PCIeTM, GPIO, USB, I2C, UART, MIPI, SDIO, DDR, SPI, HDMI와 같은 각종 통신 프로토콜에 따라서 수행될 수 있다. 비록 도 5의 실시예에서 이렇게 높은 수준으로 도시되어 있을지라도, 본 발명의 범위는 이러한 점에서 한정되지 않는다고 이해하여야 한다.
이제 도 6을 참조하면, 실시예가 사용될 수 있는 예시적인 시스템의 블록도가 도시된다. 도시된 바와 같이, 시스템(1200)은 스마트폰 또는 다른 무선 통신기일 수 있다. 베이스밴드 프로세서(1205)는 시스템으로부터 전송되는 또는 시스템에 의해 수신되는 통신 신호에 대해 각종 신호 처리를 수행하도록 구성된다. 또한, 베이스밴드 프로세서(1205)는 OS 및 기타 시스템 소프트웨어, 그 외에 널리 알려진 많은 소셜 미디어 및 멀티미디어 앱을 실행하는 시스템의 메인 SoC일 수 있는 애플리케이션 프로세서(1210)에 결합된다. 애플리케이션 프로세서(1210)는 또한 디바이스의 각종 다른 컴퓨팅 동작을 수행하도록 구성될 수 있으며, 본 출원에서 기술된 바와 같은 온-다이 상호접속부 아키텍처를 포함할 수 있다.
또한, 애플리케이션 프로세서(1210)는 사용자 인터페이스/디스플레이(1220), 예를 들면, 터치 스크린 디스플레이에 결합될 수 있다. 또한, 애플리케이션 프로세서(1210)는 비휘발성 메모리, 즉 플래시 메모리(1230) 및 시스템 메모리, 즉 다이나믹 랜덤 액세스 메모리(DRAM)(1235)를 포함하는 메모리 시스템에 결합될 수 있다. 또한 도시된 바와 같이, 애플리케이션 프로세서(1210)는 비디오 및/또는 정지 이미지를 녹화할 수 있는 하나 이상의 영상 촬영 디바이스와 같은 촬영 디바이스(1240)에도 또한 결합될 수 있다.
계속 도 6를 참조하면, 가입자 식별 모듈 및 아마 보안 저장소와 암호처리프로세서(cryptoprocessor)를 포함하는 범용 집적 회로 카드(universal integrated circuit card, UICC)(1240)가 또한 애플리케이션 프로세서(1210)에 결합된다. 시스템(1200)은 애플리케이션 프로세서(1210)에 결합될 수 있는 보안 프로세서(1250)를 더 포함할 수 있다. 복수의 센서(1225)는 가속도계 및 기타 환경 정보와 같은 감지된 각종 정보가 입력될 수 있도록 애플리케이션 프로세서(1210)에 결합될 수 있다. 오디오 출력 디바이스(1295)는 사운드를, 예를 들면, 음성 통신, 재생된 또는 스트리밍 오디오 데이터 등의 형태로 출력하는 인터페이스를 제공할 수 있다.
또한 예시된 바와 같이, 근접장 통신(near field communication, NFC) 비접촉 인터페이스(1260)가 제공되며, NFC 인터페이스는 NFC 안테나(1265)를 통해 NFC 근접장으로 통신한다. 도 6에서 별개의 안테나가 도시되지만, 일부 구현예에서는 하나의 안테나 또는 여러 세트의 안테나가 각종 무선 기능을 가능할 수 있도록 제공될 수 있다는 것을 이해하여야 한다.
전력 관리 집적 회로(power management integrated circuit, PMIC)(1215)는 애플리케이션 프로세서(1210)에 결합되어 플랫폼 레벨의 전력 관리를 수행한다. 이를 위하여, PMIC(1215)는 필요에 따라 전력 관리 요청을 애플리케이션 프로세서(1210)에 발행하여 소정의 전력 상태로 진입한다. 뿐만 아니라, 플랫폼 제약 조건에 따라서, PMIC(1215)는 또한 시스템(1200)의 다른 컴포넌트의 전력 레벨을 제어할 수도 있다.
통신 신호가 전송되고 수신될 수 있도록 하기 위해, 베이스 밴드 프로세서(1205)와 안테나(1290) 사이에는 각종 회로가 결합될 수 있다. 구체적으로, 무선 주파수(radio frequency, RF) 송수신기(1270) 및 무선 근거리 네트워크(wireless local area network, WLAN) 송수신기(1275)가 존재할 수 있다. 일반적으로 RF 송수신기(1270)는 예컨대, 코드 분할 다중 액세스(code division multiple access, CDMA), 세계 이동 통신 시스템(global system for mobile communication, GSM), 롱 텀 에볼루션(long term evolution, LTE) 또는 다른 프로토콜에 따른 3G 또는 4G와 같은 특정한 무선 통신 프로토콜에 따라서 무선 데이터 및 호(call)를 수신하고 전송하는데 사용될 수 있다. 그 밖에, GPS 센서(1280)가 존재할 수 있다. 무선 신호, 예를 들면, AM/FM 및 기타 신호의 수신 또는 발신과 같은 다른 무선 통신이 또한 제공될 수 있다. 또한, WLAN 송수신기(1275)를 통해, 이를 테면, 블루투스TM 표준 또는 IEEE 802.11a/b/g/n과 같은 IEEE 802.11 표준에 따라서 로컬 무선 통신이 또한 실현될 수 있다.
이제 도 7을 참조하면, 시스템이 사용될 수 있는 다른 예시적인 시스템의 블록도가 도시된다. 도 7의 예시에서, 시스템(1300)은 태블릿 컴퓨터, 2:1 태블릿, 패블릿 또는 기타 컨버터블 또는 스탠드얼론 태블릿 시스템과 같은 모바일 저전력 시스템일 수 있다. 예시된 바와 같이, SoC(1310)가 존재하며 디바이스의 애플리케이션 프로세서로서 동작하도록 구성될 수 있다. SoC(1310)는 본 출원에서 기술된 바와 같은 온-다이 상호접속부 아키텍처를 포함할 수 있다.
각종 디바이스가 SoC(1310)에 결합될 수 있다. 도시된 예시에서, 메모리 서브시스템은 SoC(1310)에 결합된 플래시 메모리(1340) 및 DRAM(1345)을 포함한다. 또한, 터치 패널(1320)이 SoC(1310)에 결합되어 디스플레이 기능 및 터치를 통한 사용자 입력을 제공하는 것을 비롯하여, 터치 패널(1320)의 디스플레이 상에 가상 키보드를 제공한다. 유선의 네트워크 연결성을 제공하기 위해, SoC(1310)는 이더넷 인터페이스(1330)에 결합된다. 주변 장치 허브(1325)는 SoC(1310)에 결합되어 이를 테면, 임의의 각종 포트 또는 다른 커넥터를 통해 시스템(1300)에 결합될 수 있는 각종 주변 디바이스와의 인터페이스를 가능하게 한다.
SoC(1310) 내부의 내부 전력 관리 회로 및 기능 이외에도, PMIC(1380)가 SoC(1310)에 결합되어, 예를 들면, 시스템이 배터리(1390)에 의해 또는 AC 어댑터(1395)를 통한 AC 전력에 의해 전력을 공급받는지에 따라서 플랫폼 기반의 전력 관리를 제공한다. 이러한 전력원 기반의 전력 관리 이외에, PMIC(1380)는 환경 및 사용 조건에 따라 플랫폼 전력 관리 작동을 또한 수행할 수 있다. 또한, PMIC(1380)는 제어 및 상태 정보를 SoC(1310)로 전달하여 SoC(1310) 내부에서 각종 전력 관리 작동이 일어나게 할 수 있다.
계속 도 7을 참조하면, 무선 기능을 제공하기 위하여, WLAN 유닛(1350)이 SoC(1310)에 결합되고 결국 안테나(1335)에 결합된다. 다양한 구현예에서, WLAN 유닛(1350)은 IEEE 802.11 프로토콜, 블루투스TM 프로토콜 또는 임의의 다른 무선 프로토콜을 비롯한, 하나 이상의 무선 프로토콜에 따라서 통신을 제공될 수 있다.
또한 예시된 바와 같이, 복수의 센서(1360)가 SoC(1310)에 결합될 수 있다. 이러한 센서는 사용자 제스처 센서를 비롯한 각종 가속도계, 환경 센서 및 기타 센서를 포함할 수 있다. 마지막으로, 오디오 코덱(1365)이 SoC(1310)에 결합되어 오디오 출력 디바이스(1370)와의 인터페이스를 제공한다. 물론 도 7에서 이렇게 특정한 구현예가 도시되지만, 많은 변경과 대안이 가능하다는 것을 이해하여야 한다.
다음으로 도 8을 참조하면, 실시예에 따른 SoC 디자인의 실시예가 도시된다. 특정한 예시적인 예에서, SoC(2000)는 사용자 장비(user equipment, UE)에 포함된다. 일 실시예에서, UE는 최종 사용자에 의해 사용되는 임의의 디바이스, 이를 테면, 착용 휴대 전화, 스마트폰, 태블릿, 울트라 신 노트북, 노트북 IoT 디바이스, 또는 임의의 다른 유사 디바이스를 말한다. 보통 UE는 특성 상 잠재적으로 GSM 네트워크의 이동국(mobile station, MS)에 해당하는 기지국 또는 노드에 접속한다.
여기서, SoC(2000)는 2 코어(2006 및 2006)를 포함한다. 앞에서 논의된 바와 유사하게, 코어(2006 및 2007)는 인텔® 아키텍처 코어TM 기반 프로세서, 어드밴스드 마이크로 디바이스 인코포레이티드(AMD) 프로세서, MIPS 기반 프로세서, ARM 기반 프로세서 디자인, 또는 이들의 커스토머 뿐만 아니라 이들의 실시권자나 그의 각색 사용자와 같은 명령어 집합 아키텍처에 준용할 수 있다. 코어(2006 및 2007)는 SoC(2000)의 다른 부품과 통신하기 위해 버스 인터페이스 유닛(2009) 및 L2 캐시(2010)와 연관된 캐시 컨트롤(2008)에 결합된다. 상호접속부(2010)는 본 출원에서 기술된 이종의 계층적 아키텍처를 가질 수 있는 온-칩 상호접속부를 포함한다.
상호접속부(2010)는 코어(2006 및 2007)에 의해 SoC(2000)를 초기화하고 부팅하도록 실행하기 위한 부팅 코드를 보유하는 부트 ROM(2035), 외부 메모리(예를 들면, DRAM(2060))와 인터페이스하는 SDRAM 컨트롤러(2040), 비휘발성 메모리(예를 들면, 플래시(2065)와 인터페이스하는 플래시 컨트롤러(2045), 주변 장치와 인터페이스하는 주변 장치 컨트롤러(2050)(예를 들면, 직렬 주변 장치 인터페이스(Serial Peripheral Interface)), MIPI 또는 HDMI/DP 인터페이스 중 하나를 통한 입력(예를 들면, 터치 가능한 입력)을 디스플레이하고 수신하는 비디오 코덱(2020) 및 비디오 인터페이스(2025), 그래픽 관련 계산을 수행하는 GPU(2015) 등과 같은 다른 컴포넌트에게 통신 채널을 제공한다.
또한, 시스템은 블루투스 모듈(2070), 3G 모뎀(2075), GPS(2080), 및 WiFi(2085)와 같은 통신용 주변 장치를 예시한다. 또한 시스템에는 전력 컨트롤러(2055)가 포함된다.
이제 도 9를 참조하면, 본 발명의 실시예에 따른 시스템의 블록도가 도시된다. 도 9에 도시된 바와 같이, 고성능 컴퓨팅 시스템과 같은 멀티프로세서 시스템(1500)은 궁극적으로 HPC 네트워크의 다른 시스템에 결합될 수 있다. 시스템(1500)은 포인트-투-포인트 상호접속부(1550)를 통해 결합되는 제 1 프로세서(1570) 및 제 2 프로세서(1580)를 포함한다. 도 9에 도시된 바와 같이, 각각의 프로세서(1570 및 1580)는 본 출원에서 기술된 바와 같은 온-다이 상호접속부 아키텍처를 통해 상호접속될 수 있는 예를 들면, 100개 이상의 아일랜드 중 두 아일랜드를 대표하는 제 1 및 제 2 프로세서 코어(즉, 프로세서 코어(1574a 및 1574b) 및 프로세서 코어(1584a 및 1584b))를 포함하는 많은 코어 프로세서 일 수 있다.
계속 도 9를 참조하면, 제 1 프로세서(1570)는 메모리 컨트롤러 허브(memory controller hub, MCH)(1572) 및 포인트-투-포인트(P-P) 인터페이스(1576 및 1578)를 더 포함한다. 유사하게, 제 2 프로세서(1580)는 MCH(1582) 및 P-P 인터페이스(1586 및 1588)를 포함한다. 도 9에 도시된 바와 같이, MCH(1572 및 1582)는 프로세서를 각각의 프로세서에 국부적으로 부착되는 시스템 메모리(예를 들면, DRAM)의 일부일 수 있는 각각의 메모리, 즉 메모리(1532) 및 메모리(1534)에 결합한다. 제 1 프로세서(1570) 및 제 2 프로세서(1580)는 각기 P-P 상호접속부(1562 및 1564)를 통해 칩세트(1590)에 결합될 수 있다. 도 9에 도시된 바와 같이, 칩세트(1590)은 P-P 인터페이스(1594 및 1598)를 포함한다.
뿐만 아니라, 칩세트(1590)은 P-P 상호접속부(1539)에 의해 칩세트(1590)을 고성능 그래픽 엔진(1538)과 결합하는 인터페이스(1592)를 포함한다. 또한, 칩세트(1590)은 인터페이스(1596)를 통해 제 1 버스(1516)에 결합될 수 있다. 도 9에 도시된 바와 같이, 각종 입력/출력(I/O) 디바이스(1514)가 제 1 버스(1516)를 제 2 버스(1520)에 결합하는 버스 브릿지(1518)와 함께 제 1 버스(1516)에 결합될 수 있다. 예를 들면, 키보드/마우스(1522), 통신 디바이스(1526), 및 일 실시예에서 코드(1530)를 포함할 수 있는 디스크 드라이브 또는 데이터 저장 디바이스와 같은 데이터 저장 유닛(1528)을 비롯한 각종 디바이스가 제 2 버스(1520)에 결합될 수 있다. 또한, 오디오 I/O(1524)가 제 2 버스(1520)에 결합될 수 있다.
다음과 같은 예가 또 다른 실시예에 관련된다.
일 예에서, 장치는, 반도체 다이 상에서 구성된 복수의 아일랜드 -복수의 아일랜드 중 적어도 두 아일랜드는 복수의 코어를 가지고 있음 - 와, 반도체 다이 상에서 복수의 아일랜드와 연관되게 구성되는 복수의 네트워크 스위치 - 복수의 네트워크 스위치 중 제 1 네트워크 스위치는 복수의 출력 포트를 포함하고, 복수의 출력 포트 중 제 1 세트의 출력 포트는 포인트-투-포인트 상호접속부를 통해 한 아일랜드의 연관된 네트워크 스위치에 결합하고 출력 포트 중 제 2 세트의 출력 포트는 포인트-투-멀티포인트 상호접속부를 통해 복수의 아일랜드의 연관된 네트워크 스위치에 결합함 - 를 포함한다.
일 예에서, 포인트-투-포인트 상호접속부는 적어도 부분적으로 제 1 금속층 상에서 구성된다.
일 예에서, 포인트-투-멀티포인트 상호접속부는 적어도 부분적으로 제 2 금속층 상에서 구성되며, 제 2 금속층은 상기 제 1 금속층보다 상위의 금속층이다.
일 예에서, 제 1 금속층 상에 구성된 포인트-투-포인트 상호접속부의 배선 폭은 상위의 금속층 상에 구성된 포인트-투-멀티포인트 상호접속부의 배선 폭보다 크다.
일 예에서, 포인트-투-멀티포인트 상호접속부는 네트워크 스위치로부터의 출력 정보를 한 클럭 사이클 내에 복수의 아일랜드의 연관된 네트워크 스위치로 전달하도록 구성되며, 복수의 아일랜드는 물리적으로 네트워크 스위치의 아일랜드에 인접하지 않다.
일 예에서, 포인트-투-포인트 상호접속부는 네트워크 스위치로부터의 출력 정보를 한 클럭 사이클 내에 아일랜드의 연관된 네트워크 스위치로 전달하도록 구성되며, 아일랜드는 물리적으로 네트워크 스위치의 아일랜드에 인접하다.
일 예에서, 장치는 복수의 네트워크 스위치, 포인트-투-포인트 상호접속부 및 포인트-투-멀티포인트 상호접속부를 포함하는 온-다이 상호접속부 패브릭을 더 포함한다.
일 예에서, 온-다이 상호접속부 패브릭은 한 아일랜드의 복수의 코어를 각자 상호접속하는 복수의 크로스바 네트워크와, 복수의 아일랜드 중 인접한 아일랜드를 상호접속하는 복수의 포인트-투-포인트 상호접속부와, 복수의 아일랜드 중 인접하지 않은 아일랜드를 상호접속하는 복수의 포인트-투-멀티포인트 상호접속부를 포함하는 계층적 네트워크를 포함한다.
다른 예에서, 장치는 반도체 다이 상에서 구성된 네트워크 스위치를 포함하며, 네트워크 스위치는 다른 네트워크 스위치로부터 정보를 수신하는 복수의 입력 포트와, 제 1 금속층을 통해 인접한 복수의 네트워크 스위치에 결합하는 복수의 제 1 출력 포트와, 제 2 금속층을 통해 인접하지 않은 복수의 네트워크 스위치에 결합하는 복수의 제 2의 출력 포트를 포함한다.
일 예에서, 복수의 입력 포트의 개수는 복수의 제 1 출력 포트의 개수 및 복수의 제 2 출력 포트의 개수의 합보다 크다.
일 예에서, 네트워크 스위치는 제 1 가상 채널과 연관된 적어도 하나의 제 1 버퍼와, 제 2 가상 채널과 연관된 적어도 하나의 제 2 버퍼와, 복수의 코어 - 복수의 코어는 아일랜드를 가짐 - 를 네트워크 스위치에 결합하는 크로스바 네트워크와, 복수의 코어 중 적어도 일부 코어로부터 발생한 출력 요청들을 중재하는 중재기를 더 포함한다.
일 예에서, 복수의 제 1 출력 포트 중 적어도 하나의 출력 포트는 적어도 부분적으로 제 1 금속층 상에서 구성된 포인트-투-포인트 상호접속부를 통해 인접한 네트워크 스위치에 결합한다.
일 예에서, 복수의 제 2 출력 포트 중 적어도 하나의 출력 포트는 적어도 부분적으로 제 2 금속층 상에서 구성된 포인트-투-멀티포인트 상호접속부를 통해 인접하지 않은 복수의 네트워크 스위치에 결합하며, 제 2 금속층은 제 1 금속층보다 상위의 층이고, 제 1 및 제 2 금속층은 반도체 다이 상에서 구성된 빌드업 스택을 갖는다.
일 예에서, 복수의 제 1 출력 포트 중 적어도 하나의 출력 포트는 제 1 클럭 사이클 내에 출력 유닛을 인접한 네트워크 스위치로 전달하며 복수의 제 2 출력 포트 중 적어도 하나의 출력 포트는 제 1 클럭 사이클 내에 출력 유닛을 인접하지 않은 복수의 네트워크 스위치로 전달한다.
일 예에서, 장치는 복수의 코어를 포함하는 엑사스케일 시스템 온-칩(system-on-chip, SoC)을 포함한다.
일 예에서, 엑사스케일 SoC는 복수의 아일랜드를 포함하고, 각각의 아일랜드는 복수의 코어 중 일부와 네트워크 스위치를 갖는다.
다른 예에서, 명령어가 저장된 머신 판독가능한 매체는 명령어가 머신에 의해 수행되는 경우 머신으로 하여금, 온-다이 상호접속부의 네트워크 스위치에서 복수의 패킷을 수신하는 단계와, 복수의 패킷의 제 1 패킷에 대한 라우팅을 결정하는 단계와, 제 1 패킷이 인접한 네트워크 스위치와 연관된 도메인 내 목적지 로직을 향해 전달되기로 정해져 있으면 제 1 패킷을 포인트-투-포인트 상호접속부에 결합된 제 1 출력 포트를 통해 인접한 네트워크 스위치로 전송하는 단계와, 제 1 패킷이 인접하지 않은 복수의 네트워크 스위치 중 하나의 네트워크 스위치와 연관된 도메인 내 목적지 로직을 향해 전달되기로 정해져 있으면 제 1 패킷을 포인트-투-멀티포인트 상호접속부에 결합된 제 2 출력 포트를 통해 인접하지 않는 복수의 네트워크 스위치로 전송하는 단계를 포함하는 방법을 수행하게 한다.
일 예에서, 방법은 제 1 패킷이 상기 네트워크 스위치를 포함하는 도메인의 로컬 코어를 향해 전달되기로 정해져 있으면 제 1 패킷을 로컬 코어로 전송하는 단계를 더 포함한다.
일 예에서, 방법은 제 1 패킷을 제 1 금속층 상에 적어도 부분적으로 구성된 포인트-투-포인트 상호접속부를 통해 인접한 네트워크 스위치로 전송하는 단계를 더 포함한다.
일 예에서, 방법은 제 1 패킷을 제 2 금속층 - 상기 제 2 금속층은 제 1 금속층 보다 상위의 금속층임 - 상에 적어도 부분적으로 구성된 포인트-투-멀티포인트 상호접속부를 통해 인접하지 않은 복수의 네트워크 스위치로 전송하는 단계를 더 포함한다.
실시예는 많은 여러 유형의 시스템에서 사용될 수 있다. 예를 들면, 일 실시예에서, 통신 디바이스는 본 출원에서 기술되는 다양한 방법 및 기술을 수행하도록 구성될 수 있다. 물론, 본 발명의 범위는 통신 디바이스로 한정되지 않으며, 그 대신 다른 실시예는 명령어를 처리하는 다른 유형의 장치나, 컴퓨팅 디바이스에서 실행되는 것에 응답하여, 디바이스로 하여금 본 출원에서 기술되는 방법 및 기술 중 한가지 이상을 실행하게 하는 명령어를 포함하는 하나 이상의 머신 판독가능한 매체에 관한 것일 수 있다.
실시예는 코드로 구현될 수 있으며 명령어를 수행하기 위해 시스템을 프로그램하는데 사용될 수 있는 명령어를 저장한 비-일시적 저장 매체에 저장될 수 있다. 저장 매체는 이것으로 한정되는 것은 아니지만, 플로피 디스크, 광 디스크, 고체 상태 드라이브(solid state drive, SSD), 콤팩트 디스크 판독-전용-메모리(compact disk read-only memory, CD-ROM), 콤팩트 디스크 리라이터블(compact disk rewritable, CD-RW), 광자기 디스크를 를 포함하는 임의의 유형의 디스크, 판독-전용 메모리(read-only memory, ROM), 다이나믹 랜덤 액세스 메모리(dynamic random access memories, DRAM)와 같은 랜덤 액세스 메모리(RAM), 스태틱 랜덤 액세스 메모리(static random access memory, SRAM), 소거가능 프로그래머블 판독 전용 메모리(erasable programmable read-only memory, EPROM), 플래시 메모리, 전기적으로 소거가능한 프로그래머블 판독-전용 메모리(electrically erasable programmable read-only memory, EEPROM)와 같은 반도체 디바이스, 자기 또는 광학 카드, 또는 전자적 명령어를 저장하기에 적합한 임의의 다른 유형의 매체를 포함할 수 있다.
본 발명이 제한된 수의 실시예에 대해 기술되었지만, 본 기술분야에서 통상의 지식을 가진 자라면 그로부터의 수많은 수정 및 변형을 인식할 것이다. 첨부된 청구범위는 본 발명의 진정한 사상 및 범위에 속하는 그러한 모든 수정 및 변형을 망라하는 것으로 의도된다.

Claims (20)

  1. 반도체 다이 상에서 구성된 복수의 아일랜드(island) - 상기 복수의 아일랜드 중 적어도 두 아일랜드는 복수의 코어를 가지고 있음 - 와,
    상기 복수의 아일랜드와 연관되게 상기 반도체 다이 상에서 구성되는 복수의 네트워크 스위치 - 상기 복수의 네트워크 스위치 중 제 1 네트워크 스위치는 복수의 출력 포트를 포함하되, 상기 복수의 출력 포트 중 제 1 세트의 출력 포트는 포인트-투-포인트 상호접속부를 통해 한 아일랜드의 상기 연관된 네트워크 스위치에 결합하고 상기 출력 포트 중 제 2 세트의 출력 포트는 포인트-투-멀티포인트 상호접속부를 통해 복수의 아일랜드의 상기 연관된 네트워크 스위치에 결합함 - 를 포함하는
    장치.
  2. 제 1 항에 있어서,
    상기 포인트-투-포인트 상호접속부는 적어도 부분적으로는 제 1 금속층 상에서 구성되는
    장치.

  3. 제 2 항에 있어서,
    상기 포인트-투-멀티포인트 상호접속부는 적어도 부분적으로는 제 2 금속층 상에서 구성되며, 상기 제 2 금속층은 상기 제 1 금속층보다 상위의 금속층인
    장치.
  4. 제 3 항에 있어서,
    상기 제 1 금속층 상에 구성된 상기 포인트-투-포인트 상호접속부의 배선 폭은 상기 상위의 금속층 상에 구성된 상기 포인트-투-멀티포인트 상호접속부의 배선 폭보다 큰
    장치.
  5. 제 1 항에 있어서,
    상기 포인트-투-멀티포인트 상호접속부는 상기 네트워크 스위치로부터의 출력 정보를 한 클럭 사이클 내에 상기 복수의 아일랜드의 상기 연관된 네트워크 스위치로 전달하도록 구성되며, 상기 복수의 아일랜드는 물리적으로 상기 네트워크 스위치의 상기 아일랜드에 인접하지 않은
    장치.
  6. 제 5 항에 있어서,
    상기 포인트-투-포인트 상호접속부는 상기 네트워크 스위치로부터의 출력 정보를 한 클럭 사이클 내에 상기 아일랜드의 상기 연관된 네트워크 스위치로 전달하도록 구성되며, 상기 아일랜드는 물리적으로 상기 네트워크 스위치의 상기 아일랜드에 인접한
    장치.
  7. 제 1 항에 있어서,
    상기 복수의 네트워크 스위치, 상기 포인트-투-포인트 상호접속부 및 상기 포인트-투-멀티포인트 상호접속부를 포함하는 온-다이 상호접속부 패브릭을 더 포함하는
    장치.
  8. 제 7 항에 있어서,
    상기 온-다이 상호접속부 패브릭은 한 아일랜드의 상기 복수의 코어를 각각 상호접속하는 복수의 크로스바 네트워크와, 상기 복수의 아일랜드 중 인접한 아일랜드를 상호접속하는 복수의 포인트-투-포인트 상호접속부와, 상기 복수의 아일랜드 중 인접하지 않은 아일랜드를 상호접속하는 복수의 포인트-투-멀티포인트 상호접속부를 포함하는 계층적 네트워크를 포함하는
    장치.
  9. 반도체 다이 상에 구성된 네트워크 스위치를 포함하는 장치로서,
    상기 네트워크 스위치는,
    다른 네트워크 스위치로부터 정보를 수신하는 복수의 입력 포트와,
    제 1 금속층을 통해 인접한 복수의 네트워크 스위치에 결합하는 복수의 제 1 출력 포트와,
    제 2 금속층을 통해 인접하지 않은 복수의 네트워크 스위치에 결합하는 복수의 제 2의 출력 포트를 포함하는
    장치.
  10. 제 9 항에 있어서,
    상기 복수의 입력 포트의 개수는 상기 복수의 제 1 출력 포트의 개수 및 상기 복수의 제 2 출력 포트의 개수의 합보다 큰
    장치.
  11. 제 9 항에 있어서,
    상기 네트워크 스위치는,
    제 1 가상 채널과 연관된 적어도 하나의 제 1 버퍼와,
    제 2 가상 채널과 연관된 적어도 하나의 제 2 버퍼와,
    복수의 코어를 상기 네트워크 스위치에 결합하는 크로스바 네트워크 - 상기 복수의 코어는 아일랜드를 가짐 - 와,
    상기 복수의 코어 중 적어도 일부의 코어로부터의 출력 요청들을 중재하는 중재기를 더 포함하는
    장치.
  12. 제 9 항에 있어서,
    상기 복수의 제 1 출력 포트 중 적어도 하나의 출력 포트는 적어도 부분적으로 상기 제 1 금속층 상에서 구성된 포인트-투-포인트 상호접속부를 통해 상기 인접한 네트워크 스위치에 결합하는
    장치.
  13. 제 12 항에 있어서,
    상기 복수의 제 2 출력 포트 중 적어도 하나의 출력 포트는 적어도 부분적으로 상기 제 2 금속층 상에서 구성된 포인트-투-멀티포인트 상호접속부를 통해 상기 인접하지 않은 복수의 네트워크 스위치에 결합하며, 상기 제 2 금속층은 상기 제 1 금속층보다 상위의 층이고, 상기 제 1 금속층 및 상기 제 2 금속층은 반도체 다이 상에서 구성된 빌드업 스택(a buildup stack)을 갖는
    장치.
  14. 제 13 항에 있어서,
    상기 복수의 제 1 출력 포트 중 적어도 하나의 출력 포트는 제 1 클럭 사이클 내에 출력 유닛을 상기 인접한 네트워크 스위치로 전달하며, 상기 복수의 제 2 출력 포트 중 적어도 하나의 출력 포트는 상기 제 1 클럭 사이클 내에 출력 유닛을 상기 인접하지 않은 복수의 네트워크 스위치로 전달하는
    장치.
  15. 제 9 항에 있어서,
    상기 장치는 복수의 코어를 포함하는 엑사스케일(exascale) 시스템 온-칩(system-on-chip, SoC)을 포함하는
    장치.
  16. 제 15 항에 있어서,
    상기 엑사스케일 SoC는 복수의 아일랜드를 포함하고, 각각의 아일랜드는 상기 복수의 코어 중 일부와 네트워크 스위치를 갖는
    장치.
  17. 명령어가 저장된 머신 판독가능한 매체로서,
    상기 명령어는 머신에 의해 수행되는 경우 상기 머신으로 하여금,
    온-다이 상호접속부의 네트워크 스위치에서 복수의 패킷을 수신하는 단계와,
    상기 복수의 패킷의 제 1 패킷에 대한 라우팅을 결정하는 단계와,
    상기 제 1 패킷이 인접한 네트워크 스위치와 연관된 도메인 내 목적지 로직을 향해 전달되기로 정해져 있으면 상기 제 1 패킷을 포인트-투-포인트 상호접속부에 결합된 제 1 출력 포트를 통해 상기 인접한 네트워크 스위치로 전송하는 단계와,
    상기 제 1 패킷이 인접하지 않은 복수의 네트워크 스위치 중 하나의 네트워크 스위치와 연관된 도메인 내 목적지 로직을 향해 전달되기로 정해져 있으면 상기 제 1 패킷을 포인트-투-멀티포인트 상호접속부에 결합된 제 2 출력 포트를 통해 상기 인접하지 않는 복수의 네트워크 스위치로 전송하는 단계를 포함하는 방법을 수행하게 하는
    머신 판독 가능한 매체.
  18. 제 17 항에 있어서,
    상기 방법은,
    상기 제 1 패킷이 상기 네트워크 스위치를 포함하는 도메인의 로컬 코어를 향해 전달되기로 정해져 있으면 상기 제 1 패킷을 상기 로컬 코어로 전송하는 단계를 더 포함하는
    머신 판독 가능한 매체.
  19. 제 17 항에 있어서,
    상기 방법은,
    상기 제 1 패킷을 제 1 금속층 상에 적어도 부분적으로 구성된 상기 포인트-투-포인트 상호접속부를 통해 상기 인접한 네트워크 스위치로 전송하는 단계를 더 포함하는
    머신 판독 가능한 매체.
  20. 제 19 항에 있어서,
    상기 방법은,
    상기 제 1 패킷을 상기 제 2 금속층 - 상기 제 2 금속층은 상기 제 1 금속층 보다 상위의 금속층임 - 상에 적어도 부분적으로 구성된 상기 포인트-투-멀티포인트 상호접속부를 통해 상기 인접하지 않은 복수의 네트워크 스위치로 전송하는 단계를 더 포함하는
    머신 판독 가능한 매체.
KR1020150135176A 2014-10-27 2015-09-24 온-다이 상호접속부의 아키텍처 KR101736593B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/524,622 2014-10-27
US14/524,622 US9287208B1 (en) 2014-10-27 2014-10-27 Architecture for on-die interconnect

Publications (2)

Publication Number Publication Date
KR20160049456A true KR20160049456A (ko) 2016-05-09
KR101736593B1 KR101736593B1 (ko) 2017-05-16

Family

ID=54140298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150135176A KR101736593B1 (ko) 2014-10-27 2015-09-24 온-다이 상호접속부의 아키텍처

Country Status (7)

Country Link
US (2) US9287208B1 (ko)
EP (1) EP3016335A1 (ko)
JP (1) JP6092971B2 (ko)
KR (1) KR101736593B1 (ko)
CN (1) CN105553887B (ko)
BR (1) BR102015024708A2 (ko)
RU (1) RU2625558C2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934179B2 (en) * 2015-02-17 2018-04-03 Mediatek Inc. Wafer-level package with at least one input/output port connected to at least one management bus
US10152445B2 (en) 2015-02-17 2018-12-11 Mediatek Inc. Signal count reduction between semiconductor dies assembled in wafer-level package
US20160313760A1 (en) * 2015-04-23 2016-10-27 PhotonIC International Pte. Ltd. Photonics-Optimized Processor System
KR101696151B1 (ko) * 2016-06-09 2017-01-12 신재광 IoT 기반의 모듈러 로보틱스 시스템
EP3474515B1 (en) * 2017-10-20 2020-07-29 Tap Sound System A method of improving synchronization of the playback of audio data between a plurality of audio sub-systems
GB202100742D0 (en) * 2021-01-20 2021-03-03 Graphcore Ltd Exchange between stacked die
US11264361B2 (en) * 2019-06-05 2022-03-01 Invensas Corporation Network on layer enabled architectures

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264165A (ja) * 1994-03-18 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 波長多重光結線装置
JPH11510012A (ja) * 1995-07-19 1999-08-31 フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド クロスバー交換機及びマルチポイントトポロジーを使用するシリアル制御並びにデータ相互接続システム
US6289021B1 (en) * 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6693357B1 (en) * 2003-03-13 2004-02-17 Texas Instruments Incorporated Methods and semiconductor devices with wiring layer fill structures to improve planarization uniformity
US7191311B2 (en) * 2003-12-13 2007-03-13 International Business Machines Corporation Method and system of interconnecting processors of a parallel computer to facilitate torus partitioning
US8121122B2 (en) * 2006-08-23 2012-02-21 International Business Machines Corporation Method and device for scheduling unicast and multicast traffic in an interconnecting fabric
US8181059B2 (en) * 2008-09-26 2012-05-15 Apple Inc. Inter-processor communication channel including power-down functionality
JP5190414B2 (ja) * 2009-05-27 2013-04-24 パナソニック株式会社 半導体装置
JP5534444B2 (ja) * 2009-09-08 2014-07-02 日本電気株式会社 集積回路およびデータ転送方法
RU2447594C2 (ru) * 2009-11-23 2012-04-10 Валов Сергей Геннадьевич Способ синхронной ассоциативной маршрутизации/коммутации
US8325726B2 (en) * 2010-02-09 2012-12-04 Juniper Networks, Inc. Data structure-less distributed fabric multicast
US8850250B2 (en) 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
EP2482191B1 (en) * 2011-01-31 2017-03-22 Fujitsu Limited Memory correctness checking in distributed computer systems
WO2013025338A1 (en) * 2011-08-17 2013-02-21 Rambus Inc. Multi-chip package and interposer with signal line compression
CN103765825B (zh) * 2011-09-28 2017-02-15 慧与发展有限责任合伙企业 响应于不可用的路径实施交换结构
JP5701806B2 (ja) * 2012-03-29 2015-04-15 株式会社東芝 Ebg構造体および半導体装置
US9065722B2 (en) * 2012-12-23 2015-06-23 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network
US9477627B2 (en) * 2012-12-26 2016-10-25 Intel Corporation Interconnect to communicate information uni-directionally
US9432280B2 (en) * 2013-10-30 2016-08-30 Alcatel Lucent Network device configured to generate empty route for limiting number of withdrawal messages

Also Published As

Publication number Publication date
US9998401B2 (en) 2018-06-12
EP3016335A1 (en) 2016-05-04
BR102015024708A2 (pt) 2016-05-03
RU2625558C2 (ru) 2017-07-14
US20160173413A1 (en) 2016-06-16
US9287208B1 (en) 2016-03-15
RU2015141014A (ru) 2017-03-30
CN105553887A (zh) 2016-05-04
CN105553887B (zh) 2019-07-12
KR101736593B1 (ko) 2017-05-16
JP6092971B2 (ja) 2017-03-08
JP2016085733A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
KR101736593B1 (ko) 온-다이 상호접속부의 아키텍처
US9860197B2 (en) Automatic buffer sizing for optimal network-on-chip design
US9563735B1 (en) Automatic pipelining of NoC channels to meet timing and/or performance
US9294354B2 (en) Using multiple traffic profiles to design a network on chip
US10110499B2 (en) QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9529400B1 (en) Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
US20170171111A1 (en) Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces
US9152595B2 (en) Processor-based system hybrid ring bus interconnects, and related devices, processor-based systems, and methods
US20170063609A1 (en) Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
WO2016082320A1 (zh) 混合异构主机系统及资源配置方法、任务调度方法
US10419300B2 (en) Cost management against requirements for the generation of a NoC
US9762474B2 (en) Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
WO2022178675A1 (zh) 一种互联系统、数据传输方法以及芯片
CN111357016A (zh) 用于神经网络处理器的片上通信系统
CN112148453A (zh) 用于隐私计算的计算芯片及网络计算系统
TW201717042A (zh) 共享網目技術

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