KR101567371B1 - 프로세서 내로의 지적 재산(ip) 블록들의 통합 - Google Patents

프로세서 내로의 지적 재산(ip) 블록들의 통합 Download PDF

Info

Publication number
KR101567371B1
KR101567371B1 KR1020147005392A KR20147005392A KR101567371B1 KR 101567371 B1 KR101567371 B1 KR 101567371B1 KR 1020147005392 A KR1020147005392 A KR 1020147005392A KR 20147005392 A KR20147005392 A KR 20147005392A KR 101567371 B1 KR101567371 B1 KR 101567371B1
Authority
KR
South Korea
Prior art keywords
router
endpoints
coupled
fabric
interface
Prior art date
Application number
KR1020147005392A
Other languages
English (en)
Other versions
KR20140056309A (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 KR20140056309A publication Critical patent/KR20140056309A/ko
Application granted granted Critical
Publication of KR101567371B1 publication Critical patent/KR101567371B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

일 실시예에서, 본 발명은 하나 이상의 코어, 메모리 제어기 및 메모리 제어기에 연결된 허브를 갖는 단일 반도체 다이 상에 형성된 장치를 포함한다. 허브는 각자가 제1 프로토콜에 따라 타겟 인터페이스 및 마스터 인터페이스를 통해 주변 제어기와 통신하기 위한 다수의 패브릭을 포함하며, 패브릭들은 업스트림 방향에서는 제1 복수의 타겟 인터페이스를 통해 그리고 다운스트림 방향에서는 제2 복수의 타겟 인터페이스를 통해 직렬로 연결된다. 다른 실시예들이 설명되고 청구된다.

Description

프로세서 내로의 지적 재산(IP) 블록들의 통합{INTEGRATING INTELLECTUAL PROPERTY (IP) BLOCKS INTO A PROCESSOR}
본 발명은 프로세서 내로의 지적 재산(IP) 블록들의 통합에 관한 것이다.
고성능 및 저전력 세그먼트들 양자에서의 주류 프로세서 칩들은 (2002년에 발표된) 주변 컴포넌트 상호접속(PCI(Peripheral Component Interconnect)) 로컬 버스 사양 버전 3.0(이하, PCI 사양)과 같은 PCI 사양을 따르는 장치들에 대한 레거시 지원을 유지하면서, 그래픽, 디스플레이 엔진, 보안 엔진, PCIe(상표) 포트(즉, (2007년에 발표된) 주변 컴포넌트 상호접속 익스프레스(PCI Express(상표)(PCIe(상표))) 사양 기반 사양 버전 2.0(이하, PCIe(상표) 사양)에 따른 포트) 및 다른 PCIe(상표) 기반 주변 장치와 같은 추가적인 기능을 점차 통합하고 있다.
그러한 설계들은 서버, 데스크탑, 모바일, 내장형, 울트라 모바일 및 모바일 인터넷 장치 세그먼트들로부터의 다양한 요구들로 인해 고도로 세그먼트화된다. 상이한 시장들은 프로세서 코어들, 메모리 제어기들, 입출력 제어기들 및 다른 세그먼트 고유 가속 요소들 중 적어도 일부를 단일 칩 상에 결합하는 단일 칩 시스템-온-칩(SoC) 솔루션들을 이용하려고 시도한다. 그러나, 이러한 특징들을 축적하는 설계들은 상이한 지적 재산(IP(intellectual property)) 블록들의 단일 다이 상의 통합의 어려움으로 인해 느리게 나타나고 있다. 이것은 IP 블록들이 다양한 요구들 및 설계 고유성을 가질 수 있고, SoC 내로의 그들의 통합을 가능하게 하기 위해 많은 특수 와이어, 통신 프로토콜 등을 필요로 할 수 있으므로 특히 그러하다. 결과적으로, 각각의 SoC 또는 개발되는 다른 진보된 반도체 장치는 상이한 IP 블록들을 단일 장치 내에 통합하기 위해 많은 양의 설계 복잡성 및 맞춤화를 필요로 한다. 그리고, 프로세서 설계 및 IP 블록 설계 양자의 맞춤화된 특성으로 인해 범용 프로세서 코어들을 그러한 IP 블록들과 함께 수용하는 임의의 SoC를 설계하는 것은 어렵다.
도 1은 본 발명의 일 실시예에 따른 기본 상호접속 아키텍처의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 상호접속 아키텍처의 추가 상세들의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 SoC의 하이 레벨 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 시스템의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 측파대 상호접속의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 측파대 인터페이스를 위해 이용 가능한 시그널링의 상세들의 블록도이다.
도 7은 본 발명의 일 실시예에 따른 주요 채널 패브릭의 상호접속의 블록도이다.
도 8은 본 발명의 일 실시예에 따른 주요 채널 허브에 관한 추가 상세이다.
도 9는 본 발명의 일 실시예에 따른 측파대 아키텍처의 블록도이다.
다양한 실시예들에서, 다이렉트 미디어 인터페이스(DMI)/PCIe(상표) 제어기들, 디스플레이 엔진, 관리성 엔진, 메모리 중재기, 코어들, 전력 제어 유닛 및 다른 그러한 컴포넌트들과 같은 상이한 컴포넌트들이 온-다이 프로토콜을 이용하여 통합될 수 있다. 구체적으로, 단일 반도체 다이 상에 모두 구현되는 이러한 컴포넌트들은 고대역폭 주요 통신 및 저대역폭 측파대 통신을 제공하는 패브릭의 하나 이상의 계층 구조를 통해 결합될 수 있다. 다수의 패브릭 인터페이스를 통해 구현되는 허브는 프로세서들 및 SoC들 내로의 더 많은 IP 통합을 가능하게 하기 위한 기본 플랫폼을 제공할 수 있다.
실시예들은 많은 상이한 타입의 시스템들에서 이용될 수 있다. 예로서, 본 명세서에서 설명되는 구현들은 단일 반도체 다이 상에 제조될 수 있는 프로세서들 또는 기타 반도체 장치들과 같은 반도체 장치들과 관련하여 이용될 수 있다. 특정 구현들에서, 장치는 다양한 동종 및/또는 이종 처리 에이전트들, 및 네트워킹 컴포넌트들, 예컨대 라우터, 제어기, 브리지 장치, 메모리 등과 같은 추가적인 컴포넌트들을 포함하는 시스템-온-칩(SoC) 또는 기타 진보된 프로세서일 수 있다.
일부 구현들은 SoC 또는 다른 칩 내에 지적 자산(IP) 블록들을 부속시키기 위한 표준 온-다이 상호접속 프로토콜을 제공하기 위해 반도체 제조자에 의해 발표되는 통합 온-칩 시스템 패브릭(IOSF) 사양과 같은 소정의 사양에 따라 설계되는 반도체 장치에서 이용될 수 있다. 그러한 IP 블록들은 많은 가운데 특히 순차적 또는 비순차적 코어, 고정 기능 유닛, 그래픽 프로세서, 제어기와 같은 범용 프로세서들을 포함하는 다양한 타입들일 수 있다. 따라서, 상호접속 프로토콜을 표준화함으로써, 상이한 타입의 칩들에서의 IP 에이전트들의 광범위한 사용을 위한 프레임워크가 실현된다. 따라서, 반도체 제조자는 다양한 고객 세그먼트들에 걸쳐 상이한 타입의 칩들을 효율적으로 설계할 수 있을 뿐만 아니라, 사양을 통해 제삼자들로 하여금 그러한 칩들 내에 통합될 IP 에이전트들과 같은 논리를 설계하는 것을 가능하게 할 수도 있다. 더구나, 상호접속 프로토콜의 많은 양상에 대한 다양한 옵션들을 제공함으로써, 설계들의 재사용이 효율적으로 이루어진다. 본 명세서에서 실시예들은 이러한 IOSF 사양과 관련하여 설명되지만, 본 발명의 범위는 이와 관련하여 한정되지 않으며, 실시예들은 많은 상이한 타입의 시스템들에서 이용될 수 있다는 것을 이해해야 한다.
이제, 도 1을 참조하면, 본 발명의 일 실시예에 따른 기본 상호접속 아키텍처의 블록도가 도시되어 있다. 도 1에 도시된 바와 같이, 시스템(10)은 시스템-온-칩 또는 다른 반도체 장치의 일부일 수 있으며, 다양한 컴포넌트들 사이의 상호접속부로서 작용하는 패브릭(20)을 포함한다. 도시된 구현에서, 이러한 컴포넌트들은 계산 능력, 그래픽 능력 등과 같은 다양한 기능을 제공하기 위한 독립 IP 블록들일 수 있는 IP 에이전트들(30, 40)을 포함한다. 따라서, 이러한 IP 에이전트들은 일 실시예에서 IOSF 사양을 따르는 인터페이스를 갖는 IP 블록들 또는 논리 장치들이다. 더 도시된 바와 같이, 패브릭(20)은 브리지(50)에도 인터페이스한다. 도 1의 실시예에는 도시의 편의를 위해 도시되지 않았지만, 브리지(50)는 예를 들어 동일 칩 상의 또는 하나 이상의 상이한 칩 상의 다른 시스템 컴포넌트들에 대한 인터페이스로서 작용할 수 있다는 것을 이해해야 한다.
아래에 더 설명되는 바와 같이, 도 1에 도시된 각각의 요소, 즉 패브릭, IP 에이전트들 및 브리지는 다양한 신호들의 통신을 처리하기 위한 하나 이상의 인터페이스를 포함할 수 있다. 이러한 인터페이스들은 이러한 인터페이스들 상에서의 통신을 위한 신호들, 에이전트들 사이에서의 정보 교환을 위해 사용되는 프로토콜들, 정보 교환을 개시 및 관리하는 데 사용되는 중재 및 흐름 제어 메커니즘들, 지원되는 어드레스 디코딩 및 변환 능력들, 대역내 또는 대역외 통신을 위한 메시징, 전력 관리, 테스트, 검증 및 디버그 지원을 정의하는 IOSF 사양에 따라 정의될 수 있다.
IOSF 사양은 각각의 에이전트에 대해 제공될 수 있는 3개의 독립 인터페이스, 즉 주요 인터페이스, 측파대 메시지 인터페이스, 및 테스트 가능성 또는 테스트를 위한 설계(DFx) 인터페이스를 포함한다. IOSF 사양에 따르면, 에이전트는 이러한 인터페이스들의 임의의 조합을 지원할 수 있다. 구체적으로, 에이전트는 0-N개의 주요 인터페이스, 0-N개의 측파대 메시지 인터페이스 및 옵션인 DFx 인터페이스를 지원할 수 있다. 그러나, 사양에 따르면, 에이전트는 이러한 3개의 인터페이스 중 적어도 하나를 지원해야 한다.
패브릭(20)은 상이한 에이전트들 사이에서 데이터를 이동시키는 하드웨어 요소일 수 있다. 패브릭(20)의 토폴로지는 제품에 고유할 수 있다는 점에 유의한다. 예로서, 패브릭은 버스, 계층 구조 버스, 캐스케이드 허브 등으로서 구현될 수 있다. 이제, 도 2를 참조하면, 본 발명의 일 실시예에 따른 상호접속 아키텍처의 추가 상세들의 블록도가 도시되어 있다. 도 2에 도시된 바와 같이, 패브릭(110)은 주요 인터페이스(112), DFx 인터페이스(114) 및 측파대 인터페이스(116)를 포함하는 다양한 인터페이스들을 포함한다. 주요 인터페이스(112)는 예를 들어 중앙 처리 유닛(CPU) 또는 기타 프로세서와 같은 호스트 프로세서와 에이전트 사이의 대역내 통신을 위해 사용될 수 있다. 주요 인터페이스(112)는 또한 에이전트들과 지원되는 패브릭들 사이의 피어 트랜잭션들의 통신을 가능하게 할 수 있다. 메모리, 입출력(IO), 구성 및 대역내 메시징을 포함하는 모든 트랜잭션 타입들이 주요 인터페이스(112)를 통해 전달될 수 있다. 따라서, 주요 인터페이스는 피어들 사이에서 전송되는 데이터 및/또는 업스트림 컴포넌트들과의 통신을 위한 고성능 인터페이스로서 작용할 수 있다.
다양한 구현들에서, 주요 인터페이스(112)는 최대 동시성을 달성하기 위해 분할 트랜잭션 프로토콜을 구현한다. 즉, 이 프로토콜은 요청 단계, 허가 단계, 및 명령 및 데이터 단계를 제공한다. 주요 인터페이스(112)는 다양한 실시예들에서 3개의 기본 요청 타입, 즉 포스트된(posted) 요청 타입, 포스트되지 않은(non-posted) 요청 타입 및 완료 요청 타입을 지원한다. 일반적으로, 포스트된 트랜잭션은 소스에 의해 전송될 때 소스에 의해 완료된 것으로 간주되는 트랜잭션이며, 소스는 트랜잭션에 관한 완료 또는 기타 확인 메시지를 수신하지 않는다. 포스트된 트랜잭션의 하나의 그러한 예는 기록 트랜잭션일 수 있다. 이와 달리, 포스트되지 않은 트랜잭션은 반환 메시지의 수신시까지, 즉 완료시까지 소스에 의해 완료된 것으로 간주되지 않는다. 포스트되지 않은 트랜잭션의 일례는 소스 에이전트가 데이터의 판독을 요청하는 판독 트랜잭션이다. 따라서, 완료 메시지는 요청된 데이터를 제공한다.
게다가, 주요 인터페이스(112)는 시스템 전반에서의 독립적인 데이터 흐름들을 위한 메커니즘을 제공하기 위해 개별 채널들의 개념을 지원한다. 더 설명되는 바와 같이, 주요 인터페이스(112) 자체는 트랜잭션들을 개시하는 마스터 인터페이스 및 트랜잭션들을 수신하는 타겟 인터페이스를 포함할 수 있다. 주요 마스터 인터페이스는 또한 요청 인터페이스, 명령 인터페이스 및 데이터 인터페이스로 세분될 수 있다. 요청 인터페이스는 트랜잭션의 명령 및 데이터의 이동을 위한 제어를 제공하는 데 사용될 수 있다. 다양한 실시예들에서, 주요 인터페이스(112)는 PCI 배열 규칙들 및 열거를 지원할 수 있다.
또한, 측파대 인터페이스(116)는 모든 대역외 정보를 통신하기 위한 표준 메커니즘일 수 있다. 이러한 방식으로, 소정의 구현을 위해 설계되는 특수 목적 와이어들이 회피될 수 있으며, 따라서 다양한 칩들에 걸친 IP 재사용의 능력을 향상시킬 수 있다. 따라서, 상태, 인터럽트, 전력 관리, 구성 음영화, 테스트 모드 등과 같은 대역외 통신들을 처리하기 위해 전용 와이어들을 사용하는 IP 블록과 달리, IOSF 사양에 따른 측파대 인터페이스(116)는 모든 대역외 통신을 표준화하여, 모듈화를 촉진하고, 상이한 설계들에 걸친 IP 재사용을 위한 검증 요구들을 줄인다. 일반적으로, 측파대 인터페이스(116)는 주요 인터페이스(112)를 통해 통상적으로 통신될 수 있는 주요 데이터 전송을 위해서가 아니라 저성능 정보를 통신하는 데 사용될 수 있다.
도 2에 더 도시된 바와 같이, IP 에이전트들(130, 140, 150) 각각은 대응하는 주요 인터페이스, 측파대 인터페이스 및 DFx 인터페이스를 포함할 수 있다. 그러나, 전술한 바와 같이, 각각의 에이전트는 이러한 인터페이스들 모두를 포함할 필요는 없으며, 소정의 IP 에이전트는 일부 실시예들에서 단일 인터페이스만을 포함할 수 있다.
IOSF 사양을 이용하면, 다양한 상이한 기능을 갖는 다양한 타입의 칩들이 설계될 수 있다. 이제, 도 3을 참조하면, 본 발명의 일 실시예에 따른 SoC의 하이 레벨 블록도가 도시되어 있다. 도 3에 도시된 바와 같이, SoC(200)는 다양한 컴포넌트들을 포함할 수 있고, 이들 모두는 다양한 처리 능력들을 고속 및 저전력으로 제공하기 위해 단일 반도체 다이 상에 통합될 수 있으며, 따라서 비교적 적은 양의 면적을 소비할 수 있다. 도 3에 도시된 바와 같이, SoC(200)는 복수의 코어(2050-205n)를 포함한다. 다양한 실시예들에서, 코어들(205)은 비교적 간단한 순차적 코어들 또는 더 복잡한 비순차적 코어들일 수 있다. 또는, 순차적 및 비순차적 코어들의 조합이 단일 SoC 내에 존재할 수 있다. 도시된 바와 같이, 코어들(205)은 코히런트 상호접속부(215)를 통해 상호접속될 수 있으며, 이 코히런트 상호접속부는 캐시 메모리(210), 예를 들어 공유 최종 레벨 캐시(LLC)에 더 연결된다. 본 발명의 범위는 이와 관련하여 한정되지 않지만, 일 실시예에서 코히런트 상호접속부(215)는 캘리포니아 산타클라라에 소재한 인텔사로부터 이용 가능한 고속 경로 상호접속(QPI)(상표) 사양에 따를 수 있다.
도 3에 더 도시된 바와 같이, 코히런트 상호접속부(215)는 브리지(220)를 통해 IOSF 패브릭일 수 있는 패브릭(250)과 통신할 수 있다. 코히런트 상호접속부(215)는 또한 통합 메모리 제어기(215)를 통해 오프-칩 메모리(도 3의 실시예에서는 도시의 편의를 위해 도시되지 않음)와, 그리고 브리지(230)를 통해 패브릭(250)과 더 통신할 수 있다.
도 3에 더 도시된 바와 같이, 보안 처리, 암호화 기능 등과 같은 다양한 동작들을 수행하는 데 사용될 수 있는 콘텐츠 처리 모듈(CPM; 240)을 포함하는 다양한 컴포넌트들이 패브릭(250)에 결합될 수 있다. 게다가, 디스플레이 프로세서(245)는 관련 디스플레이에 대한 비디오를 렌더링하는 미디어 처리 파이프라인의 일부일 수 있다.
더 도시된 바와 같이, 패브릭(250)은 IP 에이전트(255)에 더 결합될 수 있다. 도 3의 실시예에서는 도시의 편의를 위해 단일 에이전트만이 도시되지만, 다른 구현들에서는 다수의 그러한 에이전트가 가능하다는 것을 이해해야 한다. 게다가, 다른 온-칩 장치들과의 통신을 가능하게 하기 위해, 패브릭(250)은 PCIe(상표) 제어기(260) 및 유니버설 직렬 버스(USB) 제어기(265)와 더 통신할 수 있으며, 이들 양자는 이러한 프로토콜들에 따라 다양한 장치들과 통신할 수 있다. 마지막으로, 도 3의 실시예에는 브리지(270)가 도시되며, 이 브리지는 개방 코어 프로토콜(OCP) 또는 ARM 고급 마이크로컨트롤러 버스 아키텍처(AMBA) 프로토콜과 같은 다른 프로토콜들의 추가적인 컴포넌트들과 통신하는 데 사용될 수 있다. 도 3의 실시예에서는 이러한 특정 컴포넌트들이 도시되지만, 본 발명의 범위는 이러한 방식으로 한정되지 않으며, 상이한 실시예들에서는 추가적인 또는 상이한 컴포넌트들이 존재할 수 있다는 것을 이해해야 한다.
더구나, 도 3에서는 단일 다이 SoC 구현으로서 도시되지만, 실시예들은 다수의 칩이 논(non)-IOSF 인터페이스를 통해 서로 통신하는 시스템에서도 구현될 수 있다는 것을 이해해야 한다. 이제, 도 4를 참조하면, 본 발명의 다른 실시예에 따른 시스템의 블록도가 도시된다. 도 4에 도시된 바와 같이, 시스템은 SoC(200')를 포함할 수 있으며, 이 SoC는 도 3과 관련하여 전술한 것들과 유사한 많은 컴포넌트, 및 추가적인 오프-다이 인터페이스(275)를 포함할 수 있다. 따라서, SoC(200')는 다른 칩(280)과 통신할 수 있으며, 이 칩은 이들 2개의 칩 간의 통신은 물론, 하나 이상의 상이한 사양에 따르는 상이한 주변 장치들과 같은 다양한 오프-칩 장치들과의 통신을 가능하게 하기 위한 다양한 기능을 포함할 수 있다. 구체적으로, 제2 칩(280)은 SoC(200')와의 통신을 가능하게 하기 위한 오프-다이 인터페이스(282)를 포함하는 것으로 도시되며, 이 오프-다이 인터페이스는 또한 본 발명의 일 실시예에 따른 IOSF 패브릭일 수 있는 패브릭(290)과 통신한다. 도시된 바와 같이, 패브릭(290)은 PCIe(상표) 제어기(292), USB 제어기(294) 및 브리지(296)를 포함하는, 오프-칩 장치들과 통신하는 다양한 제어기들에 더 결합될 수 있다.
전술한 바와 같이, 다양한 실시예들에서, 모든 대역외 통신들은 측파대 메시지 인터페이스를 통해 이루어질 수 있다. 이제, 도 5를 참조하면, 본 발명의 일 실시예에 따른 측파대 상호접속부의 블록도가 도시되어 있다. 도 5에 도시된 바와 같이, 측파대 인터페이스 시스템(175)은 도 5의 실시예에서 점대점(PTP) 상호접속부(185)를 통해 결합되는 것으로 도시되는 다수의 라우터(180, 190)를 포함한다. 또한, 각각의 라우터는 예를 들어 주어진 시스템의 IP 에이전트들 또는 기타 컴포넌트들일 수 있는 다양한 엔드포인트들에 결합될 수 있다. 구체적으로, 라우터(180)는 복수의 엔드포인트(186a-186e)에 결합되며, 라우터(190)는 복수의 엔드포인트(196x-196z)에 연결된다.
이제, 도 6을 참조하면, 본 발명의 일 실시예에 따른 측파대 인터페이스를 위해 이용 가능한 시그널링의 상세들의 블록도가 도시되어 있다. 도 6에 도시된 바와 같이, 라우터(180)와 엔드포인트(186) 간의 상호접속이 도시되어 있다. 도시된 바와 같이, 라우터(180)는 타겟 인터페이스(181) 및 마스터 인터페이스(182)를 포함할 수 있다. 일반적으로, 타겟 인터페이스(181)는 착신되는 신호들을 수신하도록 구성될 수 있으며, 마스터 인터페이스(182)는 발신되는 신호들을 전송하도록 구성될 수 있다. 도시된 바와 같이, 엔드포인트(186)도 마스터 인터페이스(187) 및 타겟 인터페이스(188)를 포함한다.
도 6은 크레디트 정보, 풋(put) 정보, 메시지 시그널링의 엔드, 및 데이터를 포함하는, 측파대 인터페이스를 위해 이용 가능한 다양한 시그널링의 상세들을 더 도시한다. 구체적으로, 크레디트 갱신들은 포스트되지 않은 크레디트 갱신 신호(NPCUP) 및 포스트된 크레디트 갱신 신호(PUCCP)로서 측파대 인터페이스들을 통해 통신될 수 있다. 게다가, 풋 신호들(NPPUT 및 PCPUT)이 제공될 수 있다. 게다가, 메시지 엔드(EOM) 신호가 통신될 수 있다. 마지막으로, 일 실시예에서 바이트-폭 통신 채널을 통해 구현될 수 있는 페이로드 패킷들을 통해 데이터가 통신될 수 있다. 도 6의 실시예에서는 이러한 특정 구현과 관련하여 도시되지만, 본 발명의 범위는 이와 관련하여 한정되지 않는다. 크레디트 풋 신호가 하이일 때마다, 이것은 크레디트가 반환되고 있다는 것을 의미한다. 풋 신호가 하이일 때마다, 이것은 페이로드(예로서, 데이터) 신호가 유효하다는 것을 의미한다. 풋 및 EOM이 동시에 하이일 때마다, 이것은 현재 페이로드가 메시지의 최종 페이로드임을 지시한다. 인터페이스는 동일 클럭 사이클에서 데이터 페이로드를 "풋"할 수 있을 뿐만 아니라 크레디트도 "풋"할 수 있다는 점에 유의한다.
이제, 도 7을 참조하면, 본 발명의 일 실시예에 따른 주요 채널 패브릭의 상호접속의 블록도가 도시되어 있다. 도 7에 도시된 바와 같이, 시스템(700)은 순차적 및 비순차적 코어들 양자를 포함할 수 있는, 예를 들어 다중 코어 프로세서의 복수의 코어와 더불어, 상이한 IP 에이전트들을 포함하는 SoC일 수 있다. 게다가, 오프-칩 메모리 및/또는 다른 컴포넌트들에 더하여, 온-칩 칩셋 컴포넌트들이 제공되어, SoC와 온-칩 에이전트들을 인터페이스할 수 있다. 도 7의 실시예에 도시된 바와 같이, 시스템(700)은 IOSF 사양에 따른 개별 패브릭들을 이용하여 구현될 수 있는 허브(710)를 포함한다. 도시된 바와 같이, 이러한 패브릭들은 서로 직렬로 접속될 수 있으며, 더구나 이들 각각은 하나 이상의 상이한 IP 에이전트에 결합될 수 있다. 구체적으로, 업스트림 방향에서, 제1 패브릭(712)은 디스플레이 제어기의 마스터 인터페이스(721) 및 타겟 인터페이스(722)를 통해 디스플레이 제어기(720)와 인터페이스할 수 있다. IOSF 사양에 따른 주요 채널에 대한 위의 설명에서와 같이, 이러한 마스터 및 타겟 인터페이스들은 패브릭(712)의 대응하는 타겟 및 마스터 인터페이스들 각각과 통신할 수 있다. 따라서, 패브릭으로부터 에이전트로의 방향에서, 데이터 및 명령 정보가 IP 에이전트로 지향될 수 있으며, 대응하는 트랜잭션 크레디트들이 패브릭으로 역방향 통신될 수 있다. 그리고, 에이전트로부터 패브릭으로의 방향에서, 데이터, 명령 및 요청 정보가 통신될 수 있고, 대응하는 허가 및 요청 크레디트 정보가 에이전트로 역방향 통신될 수 있다. 더 도시된 바와 같이, 패브릭(712)은 관리성 엔진의 마스터 인터페이스(746) 및 타겟 인터페이스(747)를 통해 관리성 엔진(745)과도 통신할 수 있다.
패브릭들 자체, 즉 패브릭(712), 중간 패브릭(714) 및 업스트림 패브릭(716) 사이의 통신들은 일반적으로 타겟 인터페이스만을 통해 이루어질 수 있다는 점에 유의한다. 즉, 다양한 실시예들에서, 요청 및 허가 통신 또는 크레디트 초기화 프로세스가 존재하지 않는다. 대신에, 패브릭들은 타겟 인터페이스 프로토콜을 통해 서로 통신하며, 따라서 타겟 인터페이스 프로토콜은 IOSF 사양에 따른 마스터-타겟 인터페이스보다 더 기본적인 프로토콜이다. 따라서, 업스트림 방향에서, 업스트림 명령들 및 데이터가 통신되고, 타겟 패브릭 내의 대응하는 버퍼 내에서 공간이 이용 가능해질 때 대응하는 업스트림 트랜잭션 크레디트들이 발송 패브릭(originating fabric)으로 역방향 전송되며, 다운스트림 방향에서 데이터 및 명령 정보가 다운스트림 통신되고, 대응하는 다운스트림 트랜잭션 크레디트들이 개시자(initiator)로 역방향 통신된다. IOSF 사양에 따른 마스터-타겟 인터페이스들 상에서 행해지는 바와 같이, 이러한 크레디트들은 주어진 구현에 대해 고정될 수 있으며, 따라서 크레디트 초기화 프로토콜이 수행되지 않을 수 있다.
패브릭(712)에서와 같이, 패브릭(714)도 다수의 IP 에이전트와 통신할 수 있다. 구체적으로, 패브릭(714)은 대응하는 마스터 및 타겟 인터페이스들(726, 727)을 통해 다수의 PCIe(상표) 제어기, 즉 PCIe(상표) 제어기(725)(예를 들어, PCIe(상표) x 16 제어기)에 그리고 대응하는 마스터 및 타겟 인터페이스들(741, 742)을 통해 PCIe(상표) 제어기(740)(예로서, PCIe(상표) x 4 제어기)에 연결된다. 또한, 패브릭(716)도 대응하는 마스터 및 타겟 인터페이스들(731, 732)을 통해 다수의 IP 에이전트, 즉 PCIe(상표) 제어기(730)(예를 들어, PCIe(상표) x 8 제어기)와, 그리고 도 7의 실시예에서는 도시의 편의를 위해 도시되지 않은 주변 제어기 허브(PCH)와 같은 다른 컴포넌트들과 또한 통신할 수 있는 대응하는 마스터 및 타겟 인터페이스들(736, 737)을 통해 DMI(735)와 통신한다.
IMPH(750)로의 업스트림 통신을 제공하기 위하여, 업스트림 패브릭(716)은 IMPH(750)의 대응하는 마스터 인터페이스(751) 및 타겟 인터페이스(752)와 통신하기 위한 마스터 및 타겟 인터페이스들을 포함할 수 있다. 도시된 바와 같이, IMPH(750)는 메모리 상호접속부를 통해 메모리, 예를 들어 오프-칩 동적 랜덤 액세스 메모리(DRAM)에 결합될 수 있다. 본 발명의 범위는 이와 관련하여 한정되지 않지만, 또한 IMPH(750)는 동종 또는 이종 코어들일 수 있는 복수의 코어(7600-760n), 및 IO 에이전트들(7700-770n)과도 통신할 수 있다. 도 7의 실시예에서는 이러한 특정 구현과 관련하여 도시되지만, 본 발명의 범위는 이와 관련하여 한정되지 않는다는 것을 이해해야 한다.
이제, 도 8을 참조하면, 본 발명의 일 실시예에 따른 주요 채널 허브의 추가 상세들이 도시되어 있다. 구체적으로, 도 8은 패브릭들 및 에이전트들에 대한 업스트림 채널들을 도시한다. 일반적으로 도시된 바와 같이, 각각의 패브릭은 에이전트들로부터 착신되는 트랜잭션들의 업스트림 통신을 제공하기 위한 대응하는 IOSF 큐들의 세트를 포함한다. 또한, 대응하는 중재기에 의해 제어될 수 있는 이러한 큐들은 크레디트 기반 흐름 제어에 따라 동작하여 업스트림 방향으로 트랜잭션들을 제공하는 트랜잭션 중재기에 의해 업스트림 방향으로 또한 제어될 수 있는 내부 트랜잭션 및 데이터 큐들에 결합될 수 있다. 상이한 수의 채널들이 상이한 에이전트들 내에 존재할 수 있으며, 또한 트랜잭션들이 업스트림 허브(716)를 통해 IMPH(750)로 업스트림 통신될 때 더 적은 수의 채널들로 맵핑될 수 있다.
도 8에 구체적으로 도시된 바와 같이, 관리성 엔진(745) 및 디스플레이 엔진(720)으로부터의 착신 트랜잭션들은 패브릭(712)의 대응하는 타겟 인터페이스들(712a, 712b)에 의해 수신될 수 있다. 이러한 타겟 인터페이스들은 IOSF 사양에 따를 수 있으며, 따라서 다수의 큐 및 대응하는 중재기를 포함할 수 있다. 또한, 대응하는 중재기를 통한 전송을 위해 선택될 때, 그들은 트랜잭션 중재기를 더 포함하는 패브릭 대 패브릭 인터페이스(712c)의 대응하는 트랜잭션 및 데이터 큐들에 제공되어, 트랜잭션들을 패브릭(714)의 대응하는 패브릭 대 패브릭 인터페이스(714c)로 전송한다. 또한, 이 인터페이스는 허브(716)의 대응하는 패브릭 대 패브릭 인터페이스(716c)에 결합될 수 있다.
패브릭(714)과 관련하여 더 도시된 바와 같이, PCIe(상표) 제어기들(720, 740)로부터의 착신 트랜잭션들은 IOSF 사양에 따른 대응하는 타겟 인터페이스들(714a, 714b)을 통해 결합될 수 있다. 유사하게, DMI(735) 및 PCIe(상표) 제어기(730)로부터의 착신 트랜잭션들은 IOSF 사양에 따른 패브릭(716)의 대응하는 타겟 인터페이스들(716a, 716b)에 결합될 수 있다. 따라서, 도시된 바와 같이, 각각의 패브릭에서, 위를 향하는 가장 다운스트림 접속된 패브릭으로부터의 가상 채널들을 나타내는 추가적인 가상 채널들이 표현되며, 따라서 업스트림 패브릭(716)은 최대 수의 착신 가상 채널들을 포함하고, 이들을 단일 VC0 채널을 포함하는 더 적은 수의 가상 채널들 상에 할당한다. 도 8에 도시된 실시예에서는 VC0 채널만이 병합되지만, 본 발명의 범위는 이와 관련하여 한정되지 않으며, 다른 실시예들에서는 추가적인 가상 채널들이 함께 병합될 수 있다는 것을 이해해야 한다. 더구나, 다른 실시예들에서는, 모든 VC0 채널들을 함께 병합하는 대신에, 상이한 또는 다양한 가상 채널들이 함께 병합될 수 있다. 도 8에 더 도시된 바와 같이, IMPH(750)는 판독 반환 추적기(756) 및 IO 추적기(758)를 포함한다. 도 8의 실시예에서는 이러한 특정 채널들 및 맵핑들과 관련하여 도시되지만, 본 발명의 범위는 이와 관련하여 한정되지 않는다는 것을 이해해야 한다.
따라서, 도 8의 실시예에서는 타이밍 수렴의 편의를 위해 모든 에이전트 발송 요청들이 에이전트로부터 업스트림 패브릭(716)을 향해, 이어서 IMPH(750)를 향해 흐르고, 모든 IMPH 발송 요청들이 에이전트를 향해 아래로 흐른다. IOSF 인터페이스는 각각의 패브릭과 에이전트 사이에 위치한다. 패브릭들은 IOSF 기반 패브릭으로서 구현되므로, 패브릭 대 패브릭 인터페이스들은 간단한 크레디트 기반 흐름 제어 프로토콜을 이용한다.
각각의 패브릭은 업스트림 및 다운스트림 양 방향에서 모든 착신 채널들 및 요청 타입들의 중재를 지원한다. 도 8에 도시된 실시예에서, 관리성 엔진(745), 디스플레이 제어기(720) 및 PCIe(상표) 제어기(740) 각각은 2개의 채널을 지원한다. PCIe(상표) 제어기들(720, 740) 각각은 1개의 채널을 지원하고, DMI(735)는 4개의 채널을 지원한다. 이것은 패브릭(716)에서의 많은 수의 채널의 축적을 유발하며, 따라서 업스트림 방향에서 중재기는 일 실시예에서 3개의 요청 타입을 각자 지원하는 12개의 채널을 수신한다. 여기서, 중재를 간소화하기 위해, 모든 IP 에이전트들의 모든 VC0 채널들이 단일 VC0으로 합쳐질 수 있다. 이것은 업스트림 패브릭과 IMPH 사이에서 지원될 많은 수의 채널을 제거한다. 일 실시예에서, 아래의 표 1의 간소화된 채널 ID 인코딩들을 이용하여, 가상 채널 트래픽의 채널 식별자들로의 맵핑들을 설정할 수 있다.
Figure 112014019774344-pct00001
Figure 112014019774344-pct00002
Figure 112014019774344-pct00003
Figure 112014019774344-pct00004
합쳐진 VC는 모든 에이전트들의 VC0 채널들에 대해 패브릭(716)과 IMPH(750) 사이에 결합되므로, 패브릭(716)은 소스 정보를 IMPH로 전송하도록 구성될 수 있으며, 따라서 완료들은 적절한 목적지 식별자들을 이용하여 다운스트림으로 복귀할 수 있다. 아래의 표 2는 그러한 목적으로 사용되는 소스 식별자들을 설명한다.
Figure 112014019774344-pct00005
패브릭에 연결된 다양한 에이전트들에 대한 데이터 버스 폭들은 상이할 수 있다. 예를 들어, 일 실시예에서, 디스플레이 엔진 및 IMPH는 마스터 및 타겟 인터페이스들에 대한 상이한 데이터 버스 폭들(예를 들어, 업스트림 방향에서 16 바이트 및 다운스트림 방향에서 32 바이트)을 지원할 수 있다. 이러한 방식으로, 주어진 대역폭 요구들에 대해 하드웨어 설계가 최적화될 수 있다.
패브릭 및 IP 에이전트들은 하드웨어 설계를 최적화하기 위해 상이한 제어 흐름 요청 및 트랜잭션 크레디트들을 지원할 수 있다(따라서, 상이한 수의 대응하는 요청 및 트랜잭션 큐들을 포함할 수 있다. 높은 대역폭이 구현되어야 하는 에이전트들 및 패브릭 인터페이스들에 대해, 파이프라인들 내에 어떠한 버블도 없이 데이터 버스들이 연속적인 요청들을 전송할 수 있는 것을 보증하기 위해 많은 수의 크레디트들(및 대응하는 큐들)이 지원될 수 있다. 대역폭이 중요하지 않은 채널들에 대해서는 더 적은 수의 크레디트, 예를 들어 최소 크레디트(예를 들어, 1개 크레디트)가 지원된다. 그리고, 메모리에 액세스하려고 하는 다양한 IP 에이전트들에 그리고 이들로부터 접속된 트래픽에 대한 주어진 트랜잭션 및 요청 크레디트들에 대해, 주요 패브릭이 가변 피크 대역폭들을 지원할 수 있다.
다양한 실시예들에서, 측파대 네트워크는 다양한 주파수들에서 동작하는 코어들 및 시스템 에이전트 회로(예를 들어, 소위 언코어(uncore))를 포함하는 다양한 IP 에이전트들 사이에서 통신이 이루어지는 것을 가능하게 하는, 라우터들, 주파수 변환기들 및 폭 변환기들을 포함하는 토폴로지를 통해 접속된 복수의 엔드포인트를 포함할 수 있다. 이러한 측파대 네트워크는 제어 레지스터 액세스, DFT 액세스, 전력 관리 흐름 등과 같은 목적들을 위해 사용될 수 있다.
모든 라우터-에이전트 링크들이 IOSF 기반 흐름 제어를 포함할 수 있지만, 임의의 2개의 라우터 사이의 링크들은 기본적인 크레디트 기반 흐름 제어, 즉 하드 인코딩에 의해 구현되는 고정 크레디트들을 대신 구현할 수 있어서, 크레디트 초기화 프로세스에 대한 필요성을 없앨 수 있다.
네트워크 설계를 간소화하기 위해, 2개의 라우터 사이에서만 주파수 변환 및 폭 변환이 행해질 수 있다. 일 실시예에서, 측파대 네트워크는 4개의 상이한 주파수 도메인을 통해 동작할 수 있으며, 8 비트 및 16 비트의 플리트(flit) 폭들을 갖는 통신들을 지원한다.
전술한 바와 같이, 상이한 IP 에이전트들과 같은 다양한 컴포넌트들의 통합을 실현하기 위하여, 패브릭과 인터페이스하기 위한 인터페이스 논리가 각각의 에이전트에 대해 제공될 수 있다. 게다가, 다수의 패브릭 인스턴스화(instantiation)로부터 형성될 수 있는 허브 논리는 패브릭 인스턴스화들 사이에 간소화된 크레디트 기반 메커니즘을 포함할 수 있다. 게다가, 다수의 가상 채널(VC)이 면적 축소를 위해 단일 VC로 합쳐질 수 있다. 이 때문에, 소정의 패킷들은 다수의 VC로의 후속 재분산을 허가하도록 변경될 수 있다. 또한, 측파대 채널 스킴(scheme)에서 주파수 도메인들 사이에서 반집중적인 주파수/폭 변환이 이루어질 수 있다. 크레디트 할당 및 파이프라인 설계는 대역폭 민감 영역들에 대해 충분한 대역폭을 제공할 수 있다.
일 실시예에서, SoC의 IOSF 구현은 다수의 PCIe(상표) 제어기(예로서, x16, x8, x4), DMI 제어기(x4), 디스플레이 엔진, 관리성 엔진, 및 메모리 액세스들에 대한 중재, 및 입출력 장치들 및 하나 이상의 코어에 대한 인터페이스를 제공하는 통합 메모리 및 주변 허브(IMPH) 사이에서 초당 최대 12.8 기가비트의 대역폭을 지원하는 주요 채널 패브릭을 포함할 수 있다. SoC는 다양한 주파수들에서 동작하는 시스템 에이전트 논리 및 다수의 코어에 걸쳐 다양한 유닛들 사이에서 통신이 이루어지는 것을 가능하게 하는, 라우터들, 주파수 변환기들 및 적어도 하나의 폭 변환기를 포함하는 토폴로지를 통해 접속된 많은 수의 엔드포인트를 갖는 측파대 네트워크를 더 포함할 수 있다.
주요 채널 패브릭은 고대역폭, 고주파 설계를 지원하는 데 사용될 수 있다. 하나의 그러한 실시예에서, 복수의 패브릭을 갖는 캐스케이드 구조가 일 실시예에서 800 메가헤르츠(MHz) 주파수에서 동작할 수 있는 허브를 형성할 수 있다. 패브릭에 대응하는 각각의 허브는 요청들이 에이전트를 향해 다운스트림으로 흐르는 것을 가능하게 하기 위해 하나 이상의 IP 에이전트에 대한 주요 인터페이스를 지원한다.
이제, 도 9를 참조하면, 본 발명의 일 실시예에 따른 측파대 아키텍처의 블록도가 도시되어 있다. 도 9에 도시된 바와 같이, 도시된 측파대 시스템(800)은 단지 SoC의 측파대 시스템의 일부일 수 있다. 즉, 일부 구현들에서는 더 많은 컴포넌트가 측파대 시스템 내에 존재할 수 있다.
일반적으로, 도 9에는 복수의 라우터(810a-810c, 815a-815c)가 도시되어 있다. 이러한 라우터들 각각은 또한 하나 이상의 엔드포인트는 물론, 적어도 하나의 다른 라우터에도 결합될 수 있다. 도시된 바와 같이, 엔드포인트들(820a-820g)은 라우터들(810) 중 선택된 라우터들에 결합될 수 있다. 다양한 실시예들에서, 엔드포인트들은 SoC의 컴포넌트들 또는 컴포넌트들의 부분들에 대응할 수 있다. 예를 들어, 다양한 구현들에서, 각각의 엔드포인트는 패브릭, IP 에이전트, 코어, 제어기 또는 다른 컴포넌트 또는 그 일부에 대응할 수 있다. 도 9의 실시예에서, 라우터들(810) 및 엔드포인트들(820)은 소정의 비트 폭, 예로서 8비트의 비트 폭에서 통신할 수 있다. 더 도시된 바와 같이, 주파수 변환기(830a)에서 주파수 변환이 이루어질 수 있다. 따라서, 이러한 주파수 도메인 변화는 라우터들(810b, 810c) 사이에서 발생하며, 따라서 라우터(810c)에 연결된 엔드포인트들은 제1 주파수에서 통신하며, 라우터들(810a, 810b)에 연결된 엔드포인트들은 상이한 주파수에서 통신한다.
도 9를 계속 참조하면, 주파수 변환에 더하여, 비트 폭 변환도 행해질 수 있다. 구체적으로, 비트 폭 변환기(840)는 라우터(810c)와 라우터(815a) 사이에 결합될 수 있다. 도 9에 도시된 실시예에서, 라우터들(815a-815c)은 모두 공통 비트 폭, 예를 들어 16 비트에서 동작할 수 있다. 또한, 각각의 라우터(815)는 하나 이상의 엔드포인트는 물론, 적어도 하나의 다른 라우터에도 결합될 수 있다. 도 9에 도시된 실시예에서, 엔드포인트들(825a-825f)이 존재할 수 있다. 위와 같이, 이러한 엔드포인트들은 SoC의 다양한 컴포넌트들에 대응할 수 있다. 추가적인 주파수 변환을 제공하기 위해 추가적인 주파수 변환기(830b)가 라우터들(815b, 815c) 사이에 결합될 수 있다. 그리고, 비트 폭 변환 및 주파수 변환 모두가 2개의 라우터 사이에서 구현되는 것도 가능하다. 이러한 제한된 라우터들, 엔드포인트들, 주파수 변환기들 및 비트 폭 변환기들이 도시되지만, 본 발명의 범위는 이와 관련하여 한정되지 않으며, 실제 SoC 구현들에서는 더 많은 라우터, 엔드포인트 및 변환기가 존재할 수 있다.
따라서, 실시예들은 고대역폭 요구들을 유지하면서 다양한 컴포넌트들을 통합하는 통신 프로토콜을 구현하기 위해 복수의 코어를 포함하는 SoC에서 이용될 수 있다. 그리고, 이와 동시에, 재사용을 간소화하기 위해 맞춤형 측파대 와이어들 대신에 표준 요청/허가 핸드쉐이크를 제공하는 ISM 핸드쉐이크들의 도움으로 유휴 전력을 더 낮게 유지하기 위해 전력 관리 솔루션들이 구현될 수 있다.
본 발명은 제한된 수의 실시예들과 관련하여 설명되었지만, 이 분야의 기술자들은 그러한 실시예들로부터의 다양한 수정들 및 변경들을 인식할 것이다. 첨부된 청구항들은 본 발명의 진정한 사상 및 범위 내에 속하는 바와 같은 모든 그러한 수정들 및 변경들을 포함하는 것을 의도한다.

Claims (20)

  1. 적어도 하나의 코어와,
    상기 적어도 하나의 코어에 연결된 메모리 제어기와,
    상기 메모리 제어기에 연결된 허브 - 상기 허브는 복수의 패브릭(fabric)을 포함하고, 각 패브릭은 제1 프로토콜에 따라 타겟 인터페이스 및 마스터 인터페이스를 통해 적어도 하나의 주변 제어기와 통신하고, 상기 복수의 패브릭은 업스트림 방향에서는 제1 복수의 타겟 인터페이스를 통하여 그리고 다운스트림 방향에서는 제2 복수의 타겟 인터페이스를 통해 상기 복수의 패브릭의 적어도 하나의 다른 패브릭에 직접 직렬로 결합되며, 상기 복수의 패브릭 중 제1 패브릭은 제1 폭(width)을 갖는 타겟 인터페이스 및 제2 폭을 갖는 마스터 인터페이스를 통해 제1 주변 제어기에 결합되고, 상기 제2 폭은 상기 제1 폭보다 큼 - 를 포함하는
    장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 코어, 상기 메모리 제어기 및 상기 허브는 단일 반도체 다이 상에 구성되는
    장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제1 패브릭의 마스터 인터페이스 및 상기 제1 주변 제어기의 타겟 인터페이스는 복수의 가상 채널을 포함하는
    장치.
  5. 제 1 항에 있어서,
    상기 메모리 제어기에 연결된 상기 복수의 패브릭 중 업스트림 패브릭은 상기 메모리 제어기에 연결된 단일 가상 채널을 통해 상기 복수의 패브릭 중 나머지 패브릭으로부터 수신된 복수의 제1 가상 채널로부터의 트래픽을 통신하는
    장치.
  6. 제 5 항에 있어서,
    상기 업스트림 패브릭은 상기 메모리 제어기로 향하는 트랜잭션을 갖는 소스 에이전트에 대응하는 소스 식별자를 포함하는
    장치.
  7. 제 6 항에 있어서,
    상기 업스트림 패브릭은 상기 소스 식별자와 함께 상기 메모리 제어기로부터 상기 트랜잭션에 대한 완료를 수신하고, 상기 소스 식별자에 응답하여 상기 완료를 상기 소스 에이전트로 라우팅하는
    장치.
  8. 제 1 항에 있어서,
    상기 제1 패브릭은, 제1 비트 폭을 갖는 상기 메모리 제어기로부터의 메시지를 수신하고, 상기 메시지를 제2 비트 폭으로 변환하고, 상기 제2 비트 폭 메시지를 상기 제1 주변 제어기로 전송하는
    장치.
  9. 제 1 항에 있어서,
    상기 제1 패브릭은 상이한 트랜잭션 큐 사이즈를 갖는 제1 마스터 인터페이스를 포함하고 각 트랜잭션 큐 사이즈는 상이한 크레디트 사이즈를 갖는
    장치.
  10. 제 1 항에 있어서,
    제1 라우터 및 제2 라우터를 포함하는 측파대 채널을 더 포함하고, 상기 제1 라우터는 제1 복수의 엔드포인트에 결합되고, 상기 제2 라우터는 제2 복수의 엔드포인트에 결합되고, 상기 제1 라우터와 상기 제2 라우터 사이에서 주파수 변환이 이루어지고, 상기 제1 라우터는 제1 주파수에서 상기 제1 복수의 엔드포인트와 통신하도록 결합되고, 상기 제2 라우터는 제2 주파수에서 상기 제2 복수의 엔드포인트와 통신하는
    장치.
  11. 제 10 항에 있어서,
    상기 제1 라우터는 제1 폭에서 상기 제1 복수의 엔드포인트와 통신하고, 상기 제2 라우터는 제2 폭에서 상기 제2 복수의 엔드포인트와 통신하는
    장치.

  12. 시스템-온-칩(SoC)으로서,
    적어도 하나의 코어와,
    상기 적어도 하나의 코어에 연결된 통합 주변 및 메모리 제어기(IMPH)와,
    상기 IMPH에 연결된 허브 - 상기 허브는 복수의 패브릭을 포함하고, 각 패브릭은 주요 채널 시스템(a primary channel system)을 통해 적어도 하나의 주변 제어기와 통신하고, 상기 복수의 패브릭 각각은 상기 적어도 하나의 주변 제어기와 통신하기 위한 타겟 인터페이스 및 마스터 인터페이스를 가짐 - 와,
    제1 라우터 및 제2 라우터를 포함하는 측파대 채널 시스템 - 상기 제1 라우터는 제1 복수의 엔드포인트에 결합되고, 상기 제2 라우터는 제2 복수의 엔드포인트에 결합되고, 상기 엔드포인트들은 상기 적어도 하나의 코어, 상기 IMPH 및 상기 복수의 패브릭을 포함함 - 을 포함하는
    시스템-온-칩.
  13. 제 12 항에 있어서,
    상기 제1 라우터와 상기 제2 라우터 사이에 연결된 폭 변환기(a width connecter)를 더 포함하고, 상기 제1 라우터는 제1 폭에서 상기 제1 복수의 엔드포인트와 통신하고, 상기 제2 라우터는 제2 폭에서 상기 제2 복수의 엔드포인트와 통신하는
    시스템-온-칩.
  14. 제 13 항에 있어서,
    상기 제1 라우터와 상기 제2 라우터 사이에 연결된 주파수 변환기를 더 포함하고, 상기 제1 라우터는 제1 주파수에서 상기 제1 복수의 엔드포인트와 통신하고, 상기 제2 라우터는 제2 주파수에서 상기 제2 복수의 엔드포인트와 통신하는
    시스템-온-칩.
  15. 제 12 항에 있어서,
    상기 제1 라우터 및 상기 제2 라우터는 상기 제1 라우터와 상기 제2 라우터 사이의 통신을 위한 고정된 수의 크레디트를 갖는
    시스템-온-칩.
  16. 제 15 항에 있어서,
    상기 제1 라우터는 상기 제1 복수의 엔드포인트 각각과의 통신을 위한 설정가능한 수의 크레디트를 갖는
    시스템-온-칩.
  17. 제 16 항에 있어서,
    상기 설정가능한 수의 크레디트는 유휴 상태 머신에 따라 시스템 리셋에서 초기화되는
    시스템-온-칩.
  18. 주파수 변환기를 통해 연결된 제1 라우터 및 제2 라우터를 포함하는 측파대 채널 시스템을 포함하되, 상기 제1 라우터는 제1 복수의 엔드포인트에 결합되고, 상기 제2 라우터는 제2 복수의 엔드포인트에 결합되고, 상기 제1 복수의 엔드포인트는 제1 주파수에서 동작하고, 상기 제2 복수의 엔드포인트는 제2 주파수에서 동작하고, 상기 측파대 채널 시스템은 측파대 정보를 통신하고 주요 채널 시스템으로부터 분리되는
    장치.
  19. 제 18 항에 있어서,
    상기 제1 복수의 엔드포인트와 상기 제2 복수의 엔드포인트 사이에서 통신하기 위한 상기 주요 채널 시스템을 더 포함하되, 상기 제1 복수의 엔드포인트 및 상기 제2 복수의 엔드포인트는 적어도 하나의 코어, 메모리 제어기, 복수의 패브릭으로 형성된 허브를 포함하고, 각 패브릭은 상기 주요 채널 시스템을 통해 적어도 하나의 주변 제어기와 통신하는
    장치.
  20. 제 18 항에 있어서,
    상기 장치는 상기 주요 채널 시스템 및 상기 측파대 채널 시스템을 포함하는 시스템-온-칩(SoC)을 포함하는
    장치.
KR1020147005392A 2011-08-31 2012-08-15 프로세서 내로의 지적 재산(ip) 블록들의 통합 KR101567371B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/222,362 2011-08-31
US13/222,362 US9021156B2 (en) 2011-08-31 2011-08-31 Integrating intellectual property (IP) blocks into a processor
PCT/US2012/050992 WO2013032712A1 (en) 2011-08-31 2012-08-15 Integrating intellectual property (ip) blocks into a processor

Publications (2)

Publication Number Publication Date
KR20140056309A KR20140056309A (ko) 2014-05-09
KR101567371B1 true KR101567371B1 (ko) 2015-11-10

Family

ID=47745321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005392A KR101567371B1 (ko) 2011-08-31 2012-08-15 프로세서 내로의 지적 재산(ip) 블록들의 통합

Country Status (6)

Country Link
US (1) US9021156B2 (ko)
EP (1) EP2751697A4 (ko)
KR (1) KR101567371B1 (ko)
CN (1) CN103890745B (ko)
TW (1) TWI464592B (ko)
WO (1) WO2013032712A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US8929373B2 (en) * 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8805926B2 (en) * 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US9239607B2 (en) * 2011-12-22 2016-01-19 Intel Corporation Storing data using a direct data path architecture to reduce energy consumption and improve performance
GB2503882B (en) * 2012-07-09 2014-07-02 Ultrasoc Technologies Ltd Debug architecture
US9436623B2 (en) * 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
EP3014827A4 (en) * 2013-06-29 2017-01-11 Intel Corporation Service rate redistribution for credit-based arbitration
US9747245B2 (en) * 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US9984017B2 (en) * 2014-12-27 2018-05-29 Intel Corporation Intelligent network fabric to connect multiple computer nodes with one or more SR-IOV devices
US9910481B2 (en) * 2015-02-13 2018-03-06 Intel Corporation Performing power management in a multicore processor
US10210120B2 (en) 2015-03-26 2019-02-19 Intel Corporation Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
US10157160B2 (en) * 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
US10078356B2 (en) 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
TWI738825B (zh) * 2017-07-21 2021-09-11 英業達股份有限公司 伺服器系統
CN108848053B (zh) * 2018-04-28 2020-08-14 中国科学院沈阳自动化研究所 智能浮标模块间的通信方法
US10936048B2 (en) 2019-03-29 2021-03-02 Intel Corporation System, apparatus and method for bulk register accesses in a processor
US11455251B2 (en) * 2020-11-11 2022-09-27 Advanced Micro Devices, Inc. Enhanced durability for systems on chip (SOCs)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300245A1 (en) * 2008-05-30 2009-12-03 Ken Shoemaker Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX9306994A (es) 1992-12-15 1994-06-30 Ericsson Telefon Ab L M Sistema de control de flujo para interruptores de paquete.
US6430182B1 (en) * 1997-10-16 2002-08-06 Nec Corporation Fabric system and method for assigning identifier for fabric apparatus therefor
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
ES2235449T3 (es) 1998-07-31 2005-07-01 Alcatel Metodo, planificador, memoria intermedia inteligente, procesador y sistema de telecomunicaciones para compartir un ancho de banda disponible.
US6182183B1 (en) 1998-11-13 2001-01-30 Sonics, Inc. Communications system and method with multilevel connection identification
US6233632B1 (en) 1999-01-07 2001-05-15 Vlsi Technology, Inc. Optimizing peripheral component interconnect transactions in a mixed 32/64-bit environment by eliminating unnecessary data transfers
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6330647B1 (en) 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
US6788707B1 (en) 1999-08-31 2004-09-07 Broadcom Corporation Method for the suppression and expansion of packet header information in cable modem and cable modem termination system devices
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6611893B1 (en) 1999-12-29 2003-08-26 Agere Systems Inc. Data bus method and apparatus providing variable data rates using a smart bus arbiter
US7124376B2 (en) 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
US6810460B1 (en) 2001-02-15 2004-10-26 Lsi Logic Corporation AMBA bus off-chip bridge
US6816938B2 (en) 2001-03-27 2004-11-09 Synopsys, Inc. Method and apparatus for providing a modular system on-chip interface
US20030072326A1 (en) 2001-08-14 2003-04-17 Mehdi Alasti Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric
US20030088722A1 (en) 2001-11-02 2003-05-08 David Price System and method for managing priorities in a PCI bus system
US7162546B2 (en) 2001-12-27 2007-01-09 Intel Corporation Reordering unrelated transactions from an ordered interface
US7254603B2 (en) * 2002-05-03 2007-08-07 Sonics, Inc. On-chip inter-network performance optimization using configurable performance parameters
US7292580B2 (en) 2002-06-10 2007-11-06 Lsi Corporation Method and system for guaranteeing quality of service in a multi-plane cell switch
US7191249B1 (en) 2002-06-14 2007-03-13 Juniper Networks, Inc. Packet prioritization systems and methods using address aliases
US7266786B2 (en) 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US6907478B2 (en) 2003-02-18 2005-06-14 Adaptec, Inc. Systems and methods optimizing data transfer throughput of a system on chip
US20050010687A1 (en) 2003-06-26 2005-01-13 Silicon Graphics, Inc. Multiprocessor network multicasting and gathering
GB2405052A (en) 2003-08-12 2005-02-16 Orange Personal Comm Serv Ltd Packet data communications
US7756958B2 (en) 2003-09-20 2010-07-13 International Business Machines Corporation Intelligent discovery of network information from multiple information gathering agents
US7065733B2 (en) 2003-12-02 2006-06-20 International Business Machines Corporation Method for modifying the behavior of a state machine
US20050137966A1 (en) 2003-12-19 2005-06-23 Munguia Peter R. Flow control credit synchronization
KR100601881B1 (ko) 2004-01-28 2006-07-19 삼성전자주식회사 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법
KR101034494B1 (ko) 2004-02-11 2011-05-17 삼성전자주식회사 개방형 코어 프로토콜을 기반으로 하는 버스 시스템
KR101089324B1 (ko) 2004-02-20 2011-12-02 삼성전자주식회사 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
TWI259354B (en) 2004-06-25 2006-08-01 Via Tech Inc System and method of real-time power management
US7707434B2 (en) 2004-06-29 2010-04-27 Broadcom Corporation Power control bus for carrying power control information indicating a power supply voltage variability
US20060047849A1 (en) 2004-06-30 2006-03-02 Mukherjee Shubhendu S Apparatus and method for packet coalescing within interconnection network routers
US7525986B2 (en) 2004-10-28 2009-04-28 Intel Corporation Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools
JP2006163516A (ja) 2004-12-02 2006-06-22 Fujitsu Ltd ネットワーク装置、ファイバーチャネルスイッチおよび共用メモリアクセス制御方法
US20060140126A1 (en) 2004-12-27 2006-06-29 Intel Corporation Arbitrating virtual channel transmit queues in a switched fabric network
JP4410190B2 (ja) 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
EP1889412B1 (en) * 2005-05-26 2011-10-12 ST-Ericsson SA Electronic device and method of communication resource allocation
US7308668B2 (en) 2005-06-30 2007-12-11 International Business Machines Corporation Apparatus and method for implementing an integrated circuit IP core library architecture
US7461190B2 (en) 2005-08-11 2008-12-02 P.A. Semi, Inc. Non-blocking address switch with shallow per agent queues
US7457905B2 (en) 2005-08-29 2008-11-25 Lsi Corporation Method for request transaction ordering in OCP bus to AXI bus bridge design
DE102005047368A1 (de) 2005-10-04 2007-04-05 Epcos Ag Piezoelektrischer Transformator und Verfahren zu dessen Herstellung
US8364874B1 (en) 2006-01-17 2013-01-29 Hewlett-Packard Development Company, L. P. Prioritized polling for virtual network interfaces
US7844761B1 (en) 2006-05-10 2010-11-30 Altera Corporation Flexible on-chip datapath interface for facilitating communication between first and second interfaces with different interface properties
US8437369B2 (en) 2006-05-19 2013-05-07 Integrated Device Technology, Inc. Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams
US7694161B2 (en) 2006-06-30 2010-04-06 Intel Corporation Uncore thermal management
WO2008023218A1 (en) 2006-08-23 2008-02-28 Freescale Semiconductor, Inc. Device having priority upgrade mechanism capabilities and a method for updating priorities
US20080059441A1 (en) 2006-08-30 2008-03-06 Lockheed Martin Corporation System and method for enterprise-wide dashboard reporting
US7805621B2 (en) 2006-09-29 2010-09-28 Broadcom Corporation Method and apparatus for providing a bus interface with power management features
US20080147858A1 (en) 2006-12-13 2008-06-19 Ramkrishna Prakash Distributed Out-of-Band (OOB) OS-Independent Platform Management
US20080163005A1 (en) 2006-12-28 2008-07-03 Sonksen Bradley S Error injection in pci-express devices
WO2008091575A2 (en) 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
KR100867640B1 (ko) 2007-02-06 2008-11-10 삼성전자주식회사 다중 접근 경로를 가지는 이미지 프로세싱 메모리를포함하는 시스템 온 칩
US7979592B1 (en) 2007-02-09 2011-07-12 Emulex Design And Manufacturing Corporation Virtualization bridge device
JP4886045B2 (ja) 2007-03-09 2012-02-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散型通信ネットワークにおけるネットワーク管理タスクの分散配置
US7573295B1 (en) 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US20080288689A1 (en) 2007-05-14 2008-11-20 Brian Hoang Opportunistic granting arbitration scheme for fixed priority grant counter based arbiter
BRPI0805829B1 (pt) 2007-05-14 2020-05-26 Samsung Electronics Co., Ltd Método de transmissão de um serviço de difusão móvel, e aparelho para transmissão de um serviço de difusão móvel
US7685346B2 (en) 2007-06-26 2010-03-23 Intel Corporation Demotion-based arbitration
US7734856B2 (en) 2007-08-22 2010-06-08 Lantiq Deutschland Gmbh Method for operating a plurality of arbiters and arbiter system
US8028185B2 (en) 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state
US8286014B2 (en) 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
US7673087B1 (en) 2008-03-27 2010-03-02 Xilinx, Inc. Arbitration for an embedded processor block core in an integrated circuit
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US7849252B2 (en) 2008-05-30 2010-12-07 Intel Corporation Providing a prefix for a packet header
US8225019B2 (en) 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface
EP2224664A1 (en) 2009-02-26 2010-09-01 Vodafone Group PLC Method and system for controlling call admission in IMS
US7873068B2 (en) 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US8170062B2 (en) 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8095700B2 (en) 2009-05-15 2012-01-10 Lsi Corporation Controller and method for statistical allocation of multichannel direct memory access bandwidth
US7934045B2 (en) 2009-06-09 2011-04-26 International Business Machines Corporation Redundant and fault tolerant control of an I/O enclosure by multiple hosts
US8085801B2 (en) 2009-08-08 2011-12-27 Hewlett-Packard Development Company, L.P. Resource arbitration
JP5273002B2 (ja) 2009-09-30 2013-08-28 ブラザー工業株式会社 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム
US8073942B2 (en) 2009-10-20 2011-12-06 Dell Products, Lp System and method for storage discovery in a storage area network using device domains under control of a storage device
US20110179248A1 (en) 2010-01-18 2011-07-21 Zoran Corporation Adaptive bandwidth allocation for memory
WO2012026714A2 (en) 2010-08-27 2012-03-01 Lg Electronics Inc. Mac pdu signaling and operating methods for access class barring and back-off control for large-scale radio access network
WO2012032576A1 (en) 2010-09-09 2012-03-15 Hitachi, Ltd. Computer system control method and computer system
US8789170B2 (en) 2010-09-24 2014-07-22 Intel Corporation Method for enforcing resource access control in computer systems
US9043665B2 (en) 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
US8812785B2 (en) 2011-05-23 2014-08-19 International Business Machines Corporation Managing track discard requests to include in discard track messages
US8904058B2 (en) 2011-05-27 2014-12-02 International Business Machines Corporation Selecting direct memory access engines in an adaptor input/output (I/O) requests received at the adaptor
US8495265B2 (en) 2011-06-01 2013-07-23 International Business Machines Corporation Avoiding non-posted request deadlocks in devices by holding the sending of requests
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300245A1 (en) * 2008-05-30 2009-12-03 Ken Shoemaker Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)

Also Published As

Publication number Publication date
US9021156B2 (en) 2015-04-28
US20130054845A1 (en) 2013-02-28
EP2751697A1 (en) 2014-07-09
EP2751697A4 (en) 2015-08-26
CN103890745A (zh) 2014-06-25
KR20140056309A (ko) 2014-05-09
WO2013032712A1 (en) 2013-03-07
TWI464592B (zh) 2014-12-11
TW201329720A (zh) 2013-07-16
CN103890745B (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
KR101567371B1 (ko) 프로세서 내로의 지적 재산(ip) 블록들의 통합
US9753875B2 (en) Systems and an apparatus with a sideband interface interconnecting agents with at least one router
US9489329B2 (en) Supporting multiple channels of a single interface
JP5922268B2 (ja) 拡張ヘッダを用いたパケット送信
US9213666B2 (en) Providing a sideband message interface for system on a chip (SoC)
US9075929B2 (en) Issuing requests to a fabric
US9658978B2 (en) Providing multiple decode options for a system-on-chip (SoC) fabric
US9448870B2 (en) Providing error handling support to legacy devices
US9122815B2 (en) Common idle state, active state and credit management for an interface
WO2013032715A1 (en) Providing adaptive bandwidth allocation for a fixed priority arbiter
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치

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

Year of fee payment: 5