KR20110000741A - 멀티코어 처리 시스템 - Google Patents

멀티코어 처리 시스템 Download PDF

Info

Publication number
KR20110000741A
KR20110000741A KR1020107023111A KR20107023111A KR20110000741A KR 20110000741 A KR20110000741 A KR 20110000741A KR 1020107023111 A KR1020107023111 A KR 1020107023111A KR 20107023111 A KR20107023111 A KR 20107023111A KR 20110000741 A KR20110000741 A KR 20110000741A
Authority
KR
South Korea
Prior art keywords
consistency group
core
processor
information
consistency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
KR1020107023111A
Other languages
English (en)
Inventor
3세 페리 에이치. 펠리
조지 피. 호크스트라
루시오 에프.씨. 페소아
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 KR20110000741A publication Critical patent/KR20110000741A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

시스템(10)은 제1 일관성 그룹(18) 내의 제1 복수의 코어(16)를 구비한다. 각각의 코어(26, 28, 30, 32)는 패킷들 내에서 데이터를 전송한다. 코어들은 직렬로 직접 결합되어 직렬 경로를 형성한다. 데이터 패킷들은 직렬 경로를 따라 전송된다. 직렬 경로는 일 단부가 패킷 스위치(14)에 결합된다. 패킷 스위치는 메모리(12)에 결합된다. 제1 복수의 코어 및 패킷 스위치는 집적 회로 상에 위치한다. 메모리는 집적 회로 상에 위치하거나 위치하지 않을 수 있다. 다른 양태에서, 제2 일관성 그룹(20) 내의 제2 복수의 코어가 패킷 스위치에 결합된다. 제1 및 제2 복수의 코어들은 제1 및 제2 일관성 그룹들과 다른 일관성 그룹들의 일부를 형성하거나 일부가 되도록 재구성될 수 있다.

Description

멀티코어 처리 시스템{MULTI-CORE PROCESSING SYSTEM}
본 발명은 일반적으로 처리 시스템에 관한 것으로서, 구체적으로는 복수의 코어를 갖춘 처리 시스템에 관한 것이다.
데이터의 처리는 복수의 코어가 사용될 경우에 더 효율적인 것으로 밝혀졌다. 멀티코어 시스템은 상이한 작업들의 동시 처리를 가능하게 한다. 복잡한 동작들은 다수의 작업으로 분할될 수 있는 경향이 있으며, 따라서 멀티코어 시스템은 복잡한 동작들을 위해 양호하게 작동하는 경향이 있다. 매우 복잡한 동작들은 많은 작업을 가질 수 있으며, 따라서 많은 코어를 갖는 것이 유리할 수 있다. 동작들은 조정되어야 하며, 따라서 상이한 코어들의 결과들도 조정되어야 한다. 이것은 사용되는 메모리가 일관성(coherency)을 유지할 수 있어야 함을 포함한다. 즉, 코어들은 메인 메모리로부터 정보를 이용할 수 있어야 하는데, 그 이유는 각각의 코어와 관련될 수 있는 캐시가 충분하지 않기 때문이다. 메모리 일관성은 캐시를 사용하는 임의의 시스템에서 유지하기 어려울 수 있으며, 코어들의 수가 증가함에 따라 더 복잡해진다.
따라서, 멀티코어 시스템들에 대한 문제점들을 해결하거나 개선하는 멀티코어 시스템에 대한 요구가 존재한다.
본 발명은 동일한 참조 부호들이 유사한 요소들을 지시하는 첨부 도면들에 의해 제한되는 것이 아니라, 예시적으로 도시된다. 도면들 내의 요소들은 간명하게 도시되며, 반드시 축척으로 그려진 것은 아니다.
도 1은 일 실시예에 따른 시스템의 블록도.
도 2는 도 1의 시스템에 사용되는 코어의 블록도.
도 3은 대안 구성에서의 도 1의 시스템의 블록도.
도 4는 다른 실시예에 따른 시스템의 블록도.
도 5는 대안 구성에서의 도 4의 시스템의 블록도.
일 양태에서, 시스템은 제1 일관성 그룹 내의 제1 복수의 코어를 구비한다. 각각의 코어는 패킷들 내에서 데이터를 전송한다. 코어들은 직렬로 직접 결합되어 직렬 경로를 형성한다. 데이터 패킷들은 직렬 경로를 따라 전송된다. 직렬 경로는 일 단부가 패킷 스위치에 결합된다. 패킷 스위치는 메모리에 결합된다. 제1 복수의 코어 및 패킷 스위치는 집적 회로 상에 위치한다. 메모리는 집적 회로 상에 위치하거나 위치하지 않을 수 있다. 다른 양태에서, 제2 일관성 그룹 내의 제2 복수의 코어가 패킷 스위치에 결합된다. 제1 및 제2 복수의 코어들은 제1 및 제2 일관성 그룹들과 다른 일관성 그룹들의 일부를 형성하거나 일부가 되도록 재구성될 수 있다. 이것은 아래의 설명 및 도면들을 참조하여 더 잘 이해된다.
도 1에는 메모리(12), 패킷 스위치(14), 및 일관성 그룹(18), 일관성 그룹(20), 일관성 그룹(22) 및 일관성 그룹(24)을 형성하도록 결합되는 코어들의 어레이(16)를 포함하는 멀티코어 시스템(10)이 도시되어 있다. 일관성 그룹(18)은 패킷 스위치(14)에 결합되는 코어(26), 코어(26)에 결합되는 코어(28), 코어(28)에 결합되는 코어(30) 및 코어(30)에 결합되는 코어(32)를 포함한다. 일관성 그룹(20)은 패킷 스위치(14)에 결합되는 코어(34), 코어(34)에 결합되는 코어(36), 코어(36)에 결합되는 코어(38) 및 코어(38)에 결합되는 코어(40)를 포함한다. 일관성 그룹(22)은 패킷 스위치(14)에 결합되는 코어(42), 코어(42)에 결합되는 코어(44), 코어(44)에 결합되는 코어(46) 및 코어(46)에 결합되는 코어(48)를 포함한다. 일관성 그룹(24)은 패킷 스위치(14)에 결합되는 코어(50), 코어(50)에 결합되는 코어(52), 코어(52)에 결합되는 코어(54) 및 코어(54)에 결합되는 코어(56)를 포함한다. 코어들(26, 28, 30, 32)은 직렬로 결합되며, 따라서 일관성 그룹(18)은 데이터의 패킷들을 직렬로 전송한다. 마찬가지로, 일관성 그룹들(20, 22, 24) 각각은 직렬 데이터 경로를 따라 데이터를 전송하는 직렬 결합 코어들이다. 메모리(12)는 일관성 그룹들(18, 20, 22, 24)과 각각 관련된 파티션들(58, 60, 62, 64)을 구비한다. 데이터의 패킷은 데이터 자체 및 패킷에 대한 추가 정보도 포함한다. 추가 정보는 에러 정정, 패킷 순서, 타겟 ID, 소스 ID, 우선 순위 및 크기를 포함할 수 있다. 패킷들을 전송하기 위한 프로토콜의 일례는 RapidIOTM(프리스케일 반도체사의 상표) 프로토콜이다. 패킷은 제어 정보와 같은 데이터가 아닌 다른 유형의 정보를 포함할 수 있다.
도 2에는 도 1의 코어들 모두를 대표하는 코어(26)가 더 상세히 도시되어 있다. 코어(26)는 캐시(74) 및 적어도 2개의 포트(66, 70)를 구비한다. 일관성 그룹 1에서, 코어(26)는 하나의 포트가 패킷 스위치(14)에 결합되고, 다른 포트가 코어(28)의 포트에 결합된다. 각각의 일관성 그룹은 패킷 스위치(14)에 결합되는 제1 단자를 구비한다. 각각의 일관성 그룹은 하나의 다른 코어에만 결합되는 코어가 존재하는 제2 단자도 구비한다. 따라서, 일관성 그룹들(20, 22, 24)의 제1 단자는 코어들(34, 42, 50)이 패킷 스위치(14)에 각각 결합되는 곳이다. 일관성 그룹들(18, 20, 22, 24)의 제2 단자는 각각 코어들(32, 40, 48, 56)에 존재한다. 코어(26)는 총 4개의 포트에 대한 2개의 추가 포트(72, 68) 및 재구성 라인(69) 상의 신호에 응답하는 재구성 레지스터(73)를 구비하는 것으로 도시되어 있다. 추가 포트들(72, 68) 및 재구성 레지스터(73)는 시스템(10)을 재구성하는 데 사용된다.
예시적인 동작에서, 데이터의 패킷이 코어(30)로부터 메모리(12)로 전송되는데, 이는 전파라고도 할 수 있다. 이러한 동작은 코어(30) 내에 존재하는 캐시의 기입을 포함한다. 패킷은 코어(30)에서 코어(28)로 전송될 것이다. 코어(28)는 패킷을 코어(26)로 전송한다. 코어(26)는 패킷을 패킷 스위치(14)로 전송한다. 이어서, 패킷 스위치(14)는 패킷을 메모리(12)의 파티션(58)에 기입한다. 코어(30)는 또한 패킷을 코어(32)로 전송할 것이다. 코어들 사이의 데이터의 전송은 매우 빠르게 이루어지며, 따라서 최소의 지연이 존재한다. 이것은 광학적으로, 무선 주파수에 의해 또는 저전압 차동 시그널링에 의해서도 행해질 수 있다. 무선 주파수의 경우, 초광대역 무선 통신의 적극적인 개발이 신뢰성 있는 제조를 약속하고 있다. 또한, 각각의 코어는 패킷이 기입될 어드레스를 적어도 판독하는 것을 필요로 할 것이다. 어드레스가 캐시 히트인 경우, 캐시 내의 해당 엔트리에는 무효 플래그가 첨부된다. 일상적으로, 캐시들은 해당 위치에 있는 데이터가 유효 또는 무효임을 지시하도록 설정될 수 있는 유효 비트들을 구비한다. 대안으로 그러나 다소의 전송 저속화의 대가로, 데이터도 판독되고, 캐시가 갱신될 수 있다. 어느 경우에나, 각각의 코어의 캐시는 일관성을 유지한다. 캐시(76)를 일례로서 이용하면, 코어(26)는 코어(28)로부터 패킷을 수신하고, 이를 패킷 스위치(14)로 빠르게 전송하면서, 또한 적어도 어드레스 또는 어드레스들을 판독한다. 데이터가 해당 어드레스 또는 어드레스들 중 하나에 있는 캐시(74)에 저장되는 경우, 그 어드레스는 캐시 히트이다. 이어서, 히트가 발생한 위치에 대한 유효 비트가 무효를 지시하도록 설정되거나, 그 위치에 데이터가 기입된다. 이 예에서, 일관성 그룹(18)은 일관성이 유지되는 것을 보장하기 위해 파티션(58)에만 기입하는 것이 허가된다. 일관성 그룹(18)이 파티션들(60, 62 또는 64)로부터 판독하는 것은 거의 문제가 없지만, 여전히 코어들(26, 28, 30, 32)의 캐시들은 판독을 행할 때 갱신이 방지되어야 한다. 코어(32)의 경우, 코어(30)는 필요한 기입 일관성 정보를 제공하기 위해 전체 패킷을 반드시 전송할 필요는 없다. 코어(32)가 그의 캐시 내에서 일관성을 유지할 수 있도록 필요한 기입 일관성 정보를 제공하기 위해 어드레스 또는 어드레스들 및 이것이 판독인지 또는 기입인지를 간단히 전송하는 것으로 충분할 수 있다.
도 3에는 그룹 제어기(75)를 이용하여 도 1에 도시된 시스템으로부터 재구성된 시스템(10)을 도시하고 있다. 그룹 제어기(75)는 코어들의 포트들을 재구성하여, 어레이(16), 따라서 시스템(10)을 재구성하기 위해 어레이(16)의 코어들 모두로 신호를 직렬로 전송한다. 이러한 라인은 디버깅을 위해서도 사용될 수 있다. 그룹 제어기(75)는 또한 포트를 통해 집적 회로 외부에서 액세스될 수 있다. 그룹 제어기(75)는 패킷 스위치(14)를 제어하고 메모리(12)에 액세스하기 위해 패킷 스위치(14)에 결합된다. 메모리(12)도 재구성될 수 있다. 메모리(12)의 재구성은 파티션들(84, 86, 88, 90)을 갖는 것으로 도시되어 있다. 도 3에 의해 암시되는 바와 같이, 파티션들(84, 86, 88, 90)은 상이한 크기를 가질 수 있다. 도 3의 구성에서, 코어들(26, 28, 30, 32, 40, 38)은 일관성 그룹(76)을 형성하고, 코어들(34, 36)은 일관성 그룹(78)을 형성하고, 코어들(42, 44, 46)은 일관성 그룹(80)을 형성하며, 코어들(48, 50, 52, 54, 56)은 일관성 그룹(82)을 형성한다. 어레이(16)는 행들 및 열들로 배열되며, 따라서 각각의 코어는 적어도 2개의 인접 코어를 가지며, 4개의 인접 코어를 가질 수 있다. 예를 들어, 코어(26)는 인접 코어들(34, 28)을 가지며, 코어(38)는 인접 코어들(30, 36, 40, 46)을 갖는다. 도 2의 코어(26)에 대해 도시된 바와 같이, 각각의 코어는 4개의 포트를 갖는다. 2개의 포트는 인접 코어에 결합되도록 구성될 수 있다. 이 예에서, 코어(40)는 일관성 그룹의 제2 단자가 아니라 코어(32)에 결합되도록 재구성되었다. 도 3의 일관성 그룹들의 경우에서와 같이, 일관성 그룹들(76, 78, 80, 82)은 패킷 스위치(14)에 결합되는 제1 단자로서의 하나의 코어 및 직렬 결합된 코어들 내의 최종 코어로서의 제2 단자를 구비한다. 이 경우, 패킷 스위치(14)에 결합되는 코어들은 각각 일관성 그룹들(76, 78, 80, 82)의 제1 단자인 코어들(26, 34, 42, 50)이다. 일관성 그룹들(76, 78, 80, 82)의 제2 단자들은 각각 코어들(38, 36, 46, 48)이다. 도 1의 시스템(10)에 대해 설명된 바와 같이, 패킷은 일관성 그룹 내의 코어들 모두로 직렬 전송된다. 또한, 패킷을 코어(30)에서 메모리(12)로 전송하는 것을 일례로서 이용하면, 패킷은 코어(28)로 전송되며, 여기서 패킷은 코어(26)로 전송된다. 코어(26)는 기입을 메모리(12)의 파티션(84) 내로 지향시키는 패킷 스위치(14)에 결합된다. 코어(30)도 패킷을 코어(32)로 전송한다. 코어(32)는 패킷을 코어(40)로 전송한다. 코어(40)는 패킷을 코어(38)로 전송한다. 전체 패킷을 코어들(32, 40, 38)로 전송할 필요는 없을 수 있다. 어드레스만이 전송될 필요가 있을 수 있으며, 따라서 코어들(32, 40, 38)의 캐시들 내의 유효 비트가 히트의 존재시에 무효 상태로 설정될 수 있다.
도 4에는 메모리(102), 패킷 스위치(104), 패킷 스위치(106) 및 코어들의 어레이(108)를 포함하는 시스템(100)이 도시되어 있다. 어레이(108)는 일관성 그룹들(142, 144, 146, 148)을 포함한다. 메모리(102)는 일관성 그룹들(142, 144, 146, 148)과 각각 관련된 파티션들(150, 152, 154, 156)을 구비한다. 일관성 그룹(142)은 4개보다 많은 코어를 포함하는 복수의 코어를 포함한다. 4개의 코어가 도시되어 있다. 일관성 그룹(142)을 포함하는 것으로 도시된 4개의 코어는 패킷 스위치(104)에 결합되는 코어(110), 코어(110)에 결합되는 코어(112), 패킷 스위치(106)에 결합되는 코어(116) 및 코어(116)에 결합되는 코어(114)를 포함한다. 일관성 그룹(144)을 포함하는 것으로 도시된 4개의 코어는 패킷 스위치(104)에 결합되는 코어(118), 코어(118)에 결합되는 코어(120), 패킷 스위치(106)에 결합되는 코어(124) 및 코어(124)에 결합되는 코어(122)를 포함한다. 일관성 그룹(146)을 포함하는 것으로 도시된 4개의 코어는 패킷 스위치(104)에 결합되는 코어(126), 코어(126)에 결합되는 코어(128), 패킷 스위치(106)에 결합되는 코어(132) 및 코어(132)에 결합되는 코어(130)를 포함한다. 일관성 그룹들 내에 도시된 것들에 추가적인 코어들이 존재하는 것에 더하여, 도시된 것들과 다른 일관성 그룹들이 존재할 수 있다. 패킷 스위치들(104, 106)은 메모리(102)에 결합된다. 동작은 도 1의 시스템(10)의 동작과 유사하며, 패킷을 제공하는 코어에 가장 가까운 패킷 스위치가 메모리에 기입하는 패킷 스위치라는 점이 추가 특징이다. 하나의 예시적인 동작은 패킷을 메모리(102)로 전송하는 코어(114)에 대한 것이다. 이 경우에, 코어(114)는 패킷을 코어(116)로 전송한다. 코어(116)는 패킷을 패킷 스위치(106)로 전송한다. 패킷 스위치(106)는 데이터를 패킷 스위치로부터 메모리(102)의 파티션(150)에 기입한다. 또한, 코어(114)는 패킷 또는 적어도 패킷의 어드레스 또는 어드레스들을 코어들(112, 110)을 향해 전송한다. 이어서, 일관성 그룹 내의 모든 패킷들은 그들의 캐시들을 일관성 있게 유지할 수 있다. 이어서, 시스템(100)은 일관성 그룹의 양 단자들이 패킷 스위치에서 종료되게 함으로써 패킷이 일관성 그룹의 단부까지 최단 거리를 갖는 것을 허가한다.
도 5에는 재구성된 코어들을 갖는 시스템(10)이 도시되어 있다. 시스템(10)은 모든 코어를 통해 이어지는 출력을 갖는 그룹 제어기(109)를 더 구비한다. 이 출력은 도 2에 도시된 라인 69와 유사하며, 코어들에 재구성 정보를 제공한다. 그룹 제어기(109)는 도 3에 도시된 그룹 제어기(75)와 유사하며, 패킷 스위치들(104, 106)에 대한 접속 및 외부 포트에 대한 접속을 갖는다. 이 예에서, 그룹 제어기는 시스템(100)이 재구성되어 일관성 그룹들(146, 148)로부터의 코어들이 일관성 그룹들(155, 157)로 재구성되게 하는 구성 정보를 제공한다. 일관성 그룹(155)은 패킷 스위치(104)에 결합되는 코어(134), 코어(134)에 결합되는 코어(126), 코어(136)에 결합되는 코어(128), 코어(138)에 결합되는 코어(136) 및 코어(140)에 결합되는 코어(138)를 포함한다. 코어들(136, 138) 사이에는 적어도 하나의 코어가 존재한다. 일관성 그룹(157)은 패킷 스위치(106)에 결합되는 코어(132) 및 코어(132)에 결합되는 코어(130)를 포함한다. 일관성 그룹(157)은 패킷 스위치(104)가 아니라 패킷 스위치(106)에 결합된다.
시스템들(10, 100)은 많은 수의 코어가 존재하는 경우에 특히 유용하다. 패킷들의 직렬 결합은 특히, 메모리의 소정 영역들에만 기입하는 것으로 제한되는 상이한 일관성 그룹들을 가짐으로써 일관성을 유지하는 데에 효율적이다. 일관성은 일관성 그룹 내의 코어들의 직렬 접속에 의해 그리고 개별적으로 유지되는 일관성 그룹들에 의해 쉽게 유지된다. 또한, 일관성 그룹들은 상이한 크기들로 재구성될 수 있다. 결함을 갖게 되는 코어들은 어떠한 일관성 그룹 내에도 존재하지 못하게 될 수 있다. 코어들의 수가 증가함에 따라, 고속 직렬 경로들의 이용은 다수의 코어를 이용하고 그들의 일관성을 유지하는 능력에 있어서 더 높은 효율을 제공할 것이다.
다양한 응용들이 제안되는 방법 및 장치로부터 이익을 얻을 수 있다. 예컨대, 코어들은 그룹 제어기에 피드백을 제공할 수 있는 고장 검출 회로를 포함할 수 있으며, 그룹 제어기는 이 피드백을 이용하여 고장 코어를 극복하도록 나머지 코어들을 재구성할 수 있다. 코어들은 예를 들어 그룹 제어기에 피드백을 제공할 수 있는 온도 검출 회로를 포함할 수 있으며, 그룹 제어기는 이 피드백을 이용하여, 처리 시스템에서의 방열을 더 양호하게 분산시키도록 코어들을 재구성할 수 있다. 코어들은 그룹 제어기에 피드백을 제공할 수 있는 마모 레벨 회로를 포함할 수 있으며, 그룹 제어기는 이 피드백을 이용하여, 코어들의 마모 레벨을 더 양호하게 분산시키도록 코어들을 재구성할 수 있다. 동작 동안, 작업들이 상이한 코어들 및 각각의 일관성 그룹들에 동적으로 할당될 수 있으며, 따라서 복수의 코어를 갖는 처리 시스템의 개선된 이용이 가능할 수 있다.
이제, 집적 회로 내의 정보 시스템을 동작시키기 위한 방법이 제공되었음을 알아야 한다. 이 방법은 상기 집적 회로의 멀티 프로세서 코어 회로의 제1 프로세서 코어에 의해 정보의 제1 패킷을 생성하는 단계를 포함하며, 상기 정보의 제1 패킷은 메모리로 지향된다. 이 방법은 상기 정보의 제1 패킷을 상기 제1 프로세서 코어로부터 상기 메모리로 전송하는 단계를 더 포함하며, 상기 전송 단계는 상기 제1 패킷을 상기 멀티 프로세서 코어 회로의 제2 프로세서 코어를 통해 전송하는 단계를 포함하고, 상기 제1 패킷을 제2 프로세서 코어를 통해 전송하는 단계는 상기 제2 프로세서 코어에 의해 상기 제1 패킷을 수신하고, 상기 제2 프로세서 코어에 의해 상기 제1 패킷을 전송하는 단계를 포함한다. 이 방법은, 상기 메모리로 전송하는 단계가 패킷 스위치 회로를 통해 상기 메모리로 전송하는 단계를 포함하고, 상기 제2 프로세서 코어가 상기 패킷을 상기 패킷 스위치 회로로 전송하는 것을 더 특징으로 할 수 있다. 이 방법은, 상기 멀티 프로세서 코어 회로가 제3 프로세서 코어를 포함하고, 상기 제3 프로세서 코어가 상기 제1 패킷의 기입 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 이 방법은 더 특징으로 할 수 있다. 이 방법은 상기 제1 프로세서 코어에 의해 기입 일관성 정보를 상기 멀티 프로세서 코어 회로의 제4 프로세서 코어로 전송하는 단계를 더 포함할 수 있으며, 상기 제4 프로세서 코어는 상기 제1 프로세서 코어로부터 상기 기입 일관성 정보를 수신하고, 상기 제4 프로세서 코어는 상기 기입 일관성 정보를 이용하여, 상기 제1 패킷이 상기 제4 프로세서 코어 내에 캐시된 위치에서 상기 메모리 내의 데이터를 변경하고 있는지를 결정한다. 이 방법은 상기 제4 프로세서 코어에 의해 상기 기입 일관성 정보를 상기 멀티 프로세서 코어 회로의 제5 프로세서 코어로 전송하는 단계를 더 포함할 수 있으며, 상기 제5 프로세서 코어는 상기 기입 일관성 정보를 이용하여, 상기 제1 패킷이 상기 제5 프로세서 코어 내에 캐시된 장소에서 상기 메모리 내의 데이터를 변경하고 있는지를 결정한다. 이 방법은 상기 제3 프로세서 코어에 의해 정보의 제2 패킷을 생성하는 단계-상기 정보의 제2 패킷은 상기 메모리로 지향됨-, 및 상기 정보의 제2 패킷을 상기 메모리로 전송하는 단계를 더 포함할 수 있으며, 상기 전송 단계는 상기 제2 패킷을 상기 멀티 프로세서 코어 회로의 제4 프로세서 코어 및 패킷 스위치 회로를 통해 전송하는 단계를 포함하며, 상기 패킷을 제4 프로세서 코어를 통해 전송하는 단계는 상기 제4 프로세서 코어에 의해 상기 정보 패킷을 수신하고, 상기 제4 프로세서 코어에 의해 상기 패킷을 전송하는 단계를 포함한다. 이 방법은 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어가 상기 제2 패킷의 기입 일관성 정보를 수신하지 않고, 상기 제4 프로세서 코어가 상기 제1 패킷의 기입 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 이 방법은 상기 정보의 제1 패킷을 상기 메모리로 전송하는 단계가 상기 제1 패킷을 상기 제3 프로세서 코어 및 상기 제4 프로세서 코어가 아니라 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어에 의해 액세스될 수 있는 상기 메모리의 제1 파티션으로 전송하는 단계를 포함하고, 상기 정보의 제2 패킷을 상기 메모리로 전송하는 단계가 상기 제2 패킷을 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어가 아니라 상기 제3 프로세서 코어 및 상기 제4 프로세서 코어에 의해 액세스될 수 있는 제2 파티션으로 전송하는 단계를 포함하는 것을 더 특징으로 할 수 있다. 이 방법은 상기 제1 파티션 및 상기 제2 파티션이 오버랩핑되지 않는 어드레스들을 갖는 것을 더 특징으로 할 수 있다. 이 방법은, 상기 전송 동안, 상기 멀티 프로세서 코어 회로가 제1 일관성 그룹을 포함하고, 상기 제1 일관성 그룹이 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어를 포함하는 상기 멀티 프로세서 코어 회로의 제1 복수의 프로세서 코어를 포함하고, 상기 제1 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제1 일관성 그룹의 각각의 프로세서 코어가 상기 제1 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하는 것을 더 특징으로 할 수 있다. 이 방법은, 상기 전송 동안, 상기 멀티 프로세서 코어 회로가 제2 일관성 그룹을 포함하고, 상기 제2 일관성 그룹이 상기 멀티 프로세서 코어 회로의 제2 복수의 프로세서 코어를 포함하고, 상기 제2 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제2 일관성 그룹의 각각의 프로세서 코어가 상기 제2 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 이 방법은, 상기 전송 동안, 상기 멀티 프로세서 코어 회로가 제3 일관성 그룹을 포함하고, 상기 제3 일관성 그룹이 상기 멀티 프로세서 코어 회로의 제3 복수의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어가 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 그리고 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 이 방법은, 다른 시간 동안, 상기 멀티 프로세서 코어 회로가 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제3 일관성 그룹 및 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제4 일관성 그룹을 포함하고, 상기 제3 일관성 그룹이 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어 및 상기 제2 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어가 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제4 일관성 그룹의 프로세서 코어들에 의해 생성되는, 상기 제3 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는, 그리고 상기 제3 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않고, 상기 제4 일관성 그룹이 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제4 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제4 일관성 그룹의 각각의 프로세서 코어가 상기 제4 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제3 일관성 그룹의 프로세서 코어들에 의해 생성되는, 상기 제4 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는, 그리고 상기 제4 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 이 방법은 상기 패킷의 데이터를 상기 메모리 내의 위치에 기입하는 단계를 더 포함할 수 있으며, 상기 위치의 어드레스는 상기 패킷 내에 지시된다. 이 방법은 상기 정보의 제1 패킷을 전송하는 단계가 흐름 제어 및 다수의 우선 순위화된 트랜잭션들을 지원하는 순서화된 패킷들(ordered packets)을 갖는 패킷 기반 프로토콜에 의해 상기 제1 패킷을 전송하는 단계를 포함하는 것을 더 특징으로 할 수 있다.
또한, 멀티 프로세서 코어 회로를 포함하는 집적 회로를 포함하는 장치가 설명된다. 상기 멀티 프로세서 코어 회로는 제1 일관성 그룹을 포함하도록 동작 가능하고, 상기 제1 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제1 복수의 프로세서 코어를 포함하고, 상기 제1 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제1 일관성 그룹의 각각의 프로세서 코어는 상기 제1 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신한다. 상기 멀티 프로세서 코어 회로는 제2 일관성 그룹을 더 포함하도록 동작 가능하고, 상기 제2 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제2 복수의 프로세서 코어를 포함하고, 상기 제2 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제2 일관성 그룹의 각각의 프로세서 코어는 상기 제2 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는다. 상기 장치는 상기 제1 일관성 그룹의 각각의 프로세서 코어가 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 것을 더 특징으로 한다. 상기 집적 회로는 패킷 스위치 회로를 더 포함할 수 있으며, 상기 멀티 프로세서 코어 회로가 상기 패킷 스위치 회로를 통해 상기 메모리에 통신 결합되는 것을 메모리의 특징으로 할 수 있다. 상기 집적 회로는 상기 멀티 프로세서 코어 회로의 프로세서 코어들에 결합되는 제어기를 더 포함할 수 있으며, 상기 제어기는 상기 멀티 프로세서 코어 회로의 프로세서 코어들을 일관성 그룹들로 그룹화하기 위한 일관성 제어 정보를 제공한다. 상기 멀티 프로세서 코어 회로는 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제3 일관성 그룹 및 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제4 일관성 그룹을 포함하도록 동작 가능하고, 상기 제3 일관성 그룹은 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어 및 상기 제2 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어가 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제4 일관성 그룹의 프로세서 코어들에 의해 생성되는, 상기 제3 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는, 그리고 상기 제3 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않으며, 상기 장치는 상기 제4 일관성 그룹이 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제4 일관성 그룹의 프로세서 코어들이 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제4 일관성 그룹의 각각의 프로세서 코어가 상기 제4 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제3 일관성 그룹의 프로세서 코어들에 의해 생성되는, 상기 제4 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는, 그리고 상기 제4 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 것을 더 특징으로 할 수 있다. 상기 일관성 그룹은 상기 제1 일관성 그룹의 프로세서 코어들 사이에 통신 링크들을 통해 직렬로 통신 결합되는 것을 더 특징으로 할 수 있으며, 상기 통신 링크들은 광 통신 링크들, 무선 라디오 주파수 통신 링크들 및 저전압 차동 시그널링 통신 링크들로 구성되는 그룹 중 적어도 하나를 포함한다.
본 발명은 특정 실시예들과 관련하여 본 명세서에 설명되었지만, 아래의 청구항들에 기재된 바와 같은 본 발명의 범위를 벗어나지 않고 다양한 수정 및 변경이 이루어질 수 있다. 예를 들어, 그룹 제어기로부터 코어들을 통해 단일 라인이 직렬로 도시되었으며, 이것은 그룹 제어기로부터 다수의 라인 또는 상이한 라인들로 달성될 수 있다. 따라서, 명세서 및 도면들은 제한적인 것이 아니라 예시적인 것으로 간주되어야 하며, 그러한 모든 변경들은 본 발명의 범위 내에 포함되는 것을 의도한다. 특정 실시예들과 관련하여 여기에 설명되는 임의의 이익들, 이점들 또는 문제 해결책들은 임의의 또는 모든 청구항들의 중요한, 필요한 또는 필수적인 특징 또는 요소인 것으로 해석되는 것을 의도하지 않는다.
본 명세서에서 사용되는 바와 같은 "결합되는"이라는 용어는 직접 결합 또는 기계적 결합으로 한정되는 것을 의도하지 않는다.
또한, 본 명세서에서 사용되는 바와 같은 "하나"라는 용어는 하나 또는 하나보다 많은 것으로 정의된다. 또한, 청구항들에서 "적어도 하나" 및 "하나 이상"과 같은 도입 문구들의 사용은 "하나"라는 부정관사에 의한 다른 청구항 요소의 도입이 그러한 도입된 청구항 요소를 포함하는 임의의 특정 청구항을, 이 동일 청구항이 도입 문구들 "하나 이상" 또는 "적어도 하나" 및 "하나"와 같은 부정관사를 포함하는 경우에도, 하나의 그러한 요소만을 포함하는 발명들로 한정함을 의미하는 것으로 해석되지 않아야 한다. 이것은 정관사의 사용에 대해서도 그러하다.
달리 언급되지 않는 한, "제1" 및 "제2"와 같은 용어들은 그러한 용어들이 설명하는 요소들을 임의의 구별하는 데 사용된다. 따라서, 이러한 용어들은 그러한 요소들의 시간적인 또는 다른 우선 순위를 지시하는 것을 반드시 의도하지는 않는다.

Claims (20)

  1. 집적 회로 내의 정보 시스템을 동작시키기 위한 방법으로서,
    상기 집적 회로의 멀티 프로세서 코어 회로의 제1 프로세서 코어에 의해 정보의 제1 패킷을 생성하는 단계-상기 정보의 제1 패킷은 메모리로 지향됨-; 및
    상기 정보의 제1 패킷을 상기 제1 프로세서 코어로부터 상기 메모리로 전송하는 단계
    를 포함하며,
    상기 전송 단계는 상기 제1 패킷을 상기 멀티 프로세서 코어 회로의 제2 프로세서 코어를 통해 전송하는 단계를 포함하고, 상기 제1 패킷을 제2 프로세서 코어를 통해 전송하는 단계는 상기 제2 프로세서 코어에 의해 상기 제1 패킷을 수신하고, 상기 제2 프로세서 코어에 의해 상기 제1 패킷을 전송하는 단계를 포함하는, 정보 시스템 동작 방법.
  2. 제1항에 있어서, 상기 메모리로 전송하는 단계는 패킷 스위치 회로를 통해 상기 메모리로 전송하는 단계를 포함하고, 상기 제2 프로세서 코어는 상기 패킷을 상기 패킷 스위치 회로로 전송하는, 정보 시스템 동작 방법.
  3. 제1항에 있어서, 상기 멀티 프로세서 코어 회로는 제3 프로세서 코어를 포함하고, 상기 제3 프로세서 코어는 상기 제1 패킷의 기입 일관성 정보(write coherency information)를 수신하지 않는, 정보 시스템 동작 방법.
  4. 제3항에 있어서, 상기 제1 프로세서 코어에 의해 기입 일관성 정보를 상기 멀티 프로세서 코어 회로의 제4 프로세서 코어로 전송하는 단계를 더 포함하며,
    상기 제4 프로세서 코어는 상기 제1 프로세서 코어로부터 상기 기입 일관성 정보를 수신하고, 상기 제4 프로세서 코어는 상기 기입 일관성 정보를 이용하여, 상기 제1 패킷이 상기 제4 프로세서 코어 내에 캐시된 위치에서 상기 메모리 내의 데이터를 변경하고 있는지를 결정하는, 정보 시스템 동작 방법.
  5. 제4항에 있어서, 상기 제4 프로세서 코어에 의해 상기 기입 일관성 정보를 상기 멀티 프로세서 코어 회로의 제5 프로세서 코어로 전송하는 단계를 더 포함하며,
    상기 제5 프로세서 코어는 상기 기입 일관성 정보를 이용하여, 상기 제1 패킷이 상기 제5 프로세서 코어 내에 캐시된 장소에서 상기 메모리 내의 데이터를 변경하고 있는지를 결정하는, 정보 시스템 동작 방법.
  6. 제3항에 있어서,
    상기 제3 프로세서 코어에 의해 정보의 제2 패킷을 생성하는 단계-상기 정보의 제2 패킷은 상기 메모리로 지향됨-; 및
    상기 정보의 제2 패킷을 상기 메모리로 전송하는 단계
    를 더 포함하며,
    상기 전송 단계는 상기 제2 패킷을 상기 멀티 프로세서 코어 회로의 제4 프로세서 코어 및 패킷 스위치 회로를 통해 전송하는 단계를 포함하고, 상기 패킷을 제4 프로세서 코어를 통해 전송하는 단계는 상기 제4 프로세서 코어에 의해 상기 정보 패킷을 수신하고, 상기 제4 프로세서 코어에 의해 상기 패킷을 전송하는 단계를 포함하는, 정보 시스템 동작 방법.
  7. 제6항에 있어서, 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어가 상기 제2 패킷의 기입 일관성 정보를 수신하지 않고, 상기 제4 프로세서 코어가 상기 제1 패킷의 기입 일관성 정보를 수신하지 않는, 정보 시스템 동작 방법.
  8. 제6항에 있어서,
    상기 정보의 제1 패킷을 상기 메모리로 전송하는 단계는 상기 제1 패킷을 상기 제3 프로세서 코어 및 상기 제4 프로세서 코어가 아니라 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어에 의해 액세스될 수 있는 상기 메모리의 제1 파티션으로 전송하는 단계를 포함하고,
    상기 정보의 제2 패킷을 상기 메모리로 전송하는 단계는 상기 제2 패킷을 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어가 아니라 상기 제3 프로세서 코어 및 상기 제4 프로세서 코어에 의해 액세스될 수 있는 제2 파티션으로 전송하는 단계를 포함하는, 정보 시스템 동작 방법.
  9. 제8항에 있어서, 상기 제1 파티션 및 상기 제2 파티션이 오버랩핑되지 않는 어드레스들을 갖는, 정보 시스템 동작 방법.
  10. 제1항에 있어서, 상기 전송 동안, 상기 멀티 프로세서 코어 회로가 제1 일관성 그룹을 포함하고, 상기 제1 일관성 그룹은 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어를 포함하는 상기 멀티 프로세서 코어 회로의 제1 복수의 프로세서 코어를 포함하고, 상기 제1 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제1 일관성 그룹의 각각의 프로세서 코어는 상기 제1 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하는, 정보 시스템 동작 방법.
  11. 제10항에 있어서, 상기 전송 동안, 상기 멀티 프로세서 코어 회로는 제2 일관성 그룹을 포함하고, 상기 제2 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제2 복수의 프로세서 코어를 포함하고, 상기 제2 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제2 일관성 그룹의 각각의 프로세서 코어는 상기 제2 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는, 정보 시스템 동작 방법.
  12. 제11항에 있어서, 상기 전송 동안, 상기 멀티 프로세서 코어 회로는 제3 일관성 그룹을 포함하고, 상기 제3 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제3 복수의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어는 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 그리고 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는, 정보 시스템 동작 방법.
  13. 제11항에 있어서,
    다른 시간 동안, 상기 멀티 프로세서 코어 회로는 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제3 일관성 그룹 및 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제4 일관성 그룹을 포함하고, 상기 제3 일관성 그룹은 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어 및 상기 제2 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어는 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제4 일관성 그룹의 프로세서 코어들에 의해 생성되고, 상기 제3 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되고, 그리고 상기 제3 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않고,
    상기 제4 일관성 그룹은 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제4 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제4 일관성 그룹의 각각의 프로세서 코어는 상기 제4 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제3 일관성 그룹의 프로세서 코어들에 의해 생성되고, 상기 제4 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되고, 그리고 상기 제4 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는, 정보 시스템 동작 방법.
  14. 제1항에 있어서, 상기 패킷의 데이터를 상기 메모리 내의 위치에 기입하는 단계를 더 포함하며, 상기 위치의 어드레스는 상기 패킷 내에 지시되는, 정보 시스템 동작 방법.
  15. 제1항에 있어서, 상기 정보의 제1 패킷을 전송하는 단계는 흐름 제어 및 다수의 우선 순위화된 트랜잭션들을 지원하는 순서화된(ordered) 패킷들을 갖는 패킷 기반 프로토콜에 의해 상기 제1 패킷을 전송하는 단계를 포함하는, 정보 시스템 동작 방법.
  16. 멀티 프로세서 코어 회로를 포함하는 집적 회로
    를 포함하며,
    상기 멀티 프로세서 코어 회로는
    제1 일관성 그룹-상기 제1 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제1 복수의 프로세서 코어를 포함하고, 상기 제1 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제1 일관성 그룹의 각각의 프로세서 코어는 상기 제1 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신함-;
    제2 일관성 그룹-상기 제2 일관성 그룹은 상기 멀티 프로세서 코어 회로의 제2 복수의 프로세서 코어를 포함하고, 상기 제2 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제2 일관성 그룹의 각각의 프로세서 코어는 상기 제2 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않음-
    을 포함하도록 동작 가능하고,
    상기 제1 일관성 그룹의 각각의 프로세서 코어는 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 장치.
  17. 제16항에 있어서, 상기 집적 회로는 패킷 스위치 회로를 더 포함하며, 상기 멀티 프로세서 코어 회로는 상기 패킷 스위치 회로를 통해 상기 메모리에 통신 결합되는 장치.
  18. 제16항에 있어서, 상기 집적 회로는 상기 멀티 프로세서 코어 회로의 프로세서 코어들에 결합되는 제어기를 더 포함하며, 상기 제어기는 상기 멀티 프로세서 코어 회로의 프로세서 코어들을 일관성 그룹들로 그룹화하기 위한 일관성 제어 정보를 제공하는 장치.
  19. 제16항에 있어서,
    상기 멀티 프로세서 코어 회로는 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제3 일관성 그룹 및 상기 멀티 프로세서 코어 회로의 프로세서 코어들의 제4 일관성 그룹을 포함하도록 동작 가능하고,
    상기 제3 일관성 그룹은 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어 및 상기 제2 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제3 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제3 일관성 그룹의 각각의 프로세서 코어는 상기 제3 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제4 일관성 그룹의 프로세서 코어들에 의해 생성되고, 상기 제3 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되고, 그리고 상기 제3 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않으며,
    상기 제4 일관성 그룹은 상기 제1 복수의 프로세서 코어 중 적어도 하나의 프로세서 코어를 포함하고, 상기 제4 일관성 그룹의 프로세서 코어들은 정보 패킷들을 전송하도록 직렬로 통신 결합되고, 상기 제4 일관성 그룹의 각각의 프로세서 코어는 상기 제4 일관성 그룹의 다른 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들로부터 캐시 일관성 정보를 수신하고, 상기 제3 일관성 그룹의 프로세서 코어들에 의해 생성되고, 상기 제4 일관성 그룹 내에 있지 않은 상기 제1 일관성 그룹의 프로세서 코어들에 의해 생성되고, 그리고 상기 제4 일관성 그룹 내에 있지 않은 상기 제2 일관성 그룹의 프로세서 코어들에 의해 생성되는 상기 메모리로의 기입 패킷들의 캐시 일관성 정보를 수신하지 않는 장치.
  20. 제16항에 있어서, 상기 제1 일관성 그룹은 상기 제1 일관성 그룹의 프로세서 코어들 사이에 통신 링크들을 통해 직렬로 통신 결합되며, 상기 통신 링크들은 광 통신 링크들, 무선 라디오 주파수 통신 링크들 및 저전압 차동 시그널링 통신 링크들로 구성되는 그룹 중 적어도 하나를 포함하는 장치.
KR1020107023111A 2008-04-15 2009-02-16 멀티코어 처리 시스템 Ceased KR20110000741A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/103,250 2008-04-15
US12/103,250 US7941637B2 (en) 2008-04-15 2008-04-15 Groups of serially coupled processor cores propagating memory write packet while maintaining coherency within each group towards a switch coupled to memory partitions

Publications (1)

Publication Number Publication Date
KR20110000741A true KR20110000741A (ko) 2011-01-05

Family

ID=41164943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107023111A Ceased KR20110000741A (ko) 2008-04-15 2009-02-16 멀티코어 처리 시스템

Country Status (6)

Country Link
US (2) US7941637B2 (ko)
JP (1) JP5419107B2 (ko)
KR (1) KR20110000741A (ko)
CN (1) CN101999115B (ko)
TW (1) TW200945048A (ko)
WO (1) WO2009128981A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8547971B1 (en) 2009-01-07 2013-10-01 Marvell Israel (M.I.S.L) Ltd. Multi-stage switching system
US8358651B1 (en) 2009-09-21 2013-01-22 Marvell International Ltd. Switch device having a plurality of processing cores
US9460038B2 (en) * 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US9172659B1 (en) 2011-07-12 2015-10-27 Marvell Israel (M.I.S.L.) Ltd. Network traffic routing in a modular switching device
US9372724B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9372723B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9733981B2 (en) 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
US9448741B2 (en) 2014-09-24 2016-09-20 Freescale Semiconductor, Inc. Piggy-back snoops for non-coherent memory transactions within distributed processing systems
US11449452B2 (en) 2015-05-21 2022-09-20 Goldman Sachs & Co. LLC General-purpose parallel computing architecture
ES2929626T3 (es) * 2015-05-21 2022-11-30 Goldman Sachs & Co Llc Arquitectura de computación paralela de propósito general
US10904150B1 (en) 2016-02-02 2021-01-26 Marvell Israel (M.I.S.L) Ltd. Distributed dynamic load balancing in network systems
US10866753B2 (en) * 2018-04-03 2020-12-15 Xilinx, Inc. Data processing engine arrangement in a device
CN112948282A (zh) * 2019-12-31 2021-06-11 北京忆芯科技有限公司 用于数据快速查找的计算加速系统
WO2022047422A1 (en) * 2020-08-31 2022-03-03 Botimer Jacob Inter-layer communication techniques for memory processing unit architectures
US12086066B1 (en) * 2023-03-15 2024-09-10 Cornami, Inc. Cache architecture for a massively parallel processing array

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
JPH07104923B2 (ja) * 1988-12-28 1995-11-13 工業技術院長 並列画像表示処理方法
US7106742B1 (en) 2000-01-13 2006-09-12 Mercury Computer Systems, Inc. Method and system for link fabric error detection and message flow control
US6754752B2 (en) 2000-01-13 2004-06-22 Freescale Semiconductor, Inc. Multiple memory coherence groups in a single system and method therefor
US6862283B2 (en) 2000-01-13 2005-03-01 Freescale Semiconductor, Inc. Method and apparatus for maintaining packet ordering with error recovery among multiple outstanding packets between two devices
US7031258B1 (en) 2000-01-13 2006-04-18 Mercury Computer Systems, Inc. Digital data system with link level message flow control
US6678773B2 (en) 2000-01-13 2004-01-13 Motorola, Inc. Bus protocol independent method and structure for managing transaction priority, ordering and deadlocks in a multi-processing system
US6996651B2 (en) 2002-07-29 2006-02-07 Freescale Semiconductor, Inc. On chip network with memory device address decoding
CN1320464C (zh) * 2003-10-23 2007-06-06 英特尔公司 用于维持共享高速缓存一致性的方法和设备
JP2005135359A (ja) * 2003-10-31 2005-05-26 Hitachi Hybrid Network Co Ltd データ処理装置
US7243205B2 (en) 2003-11-13 2007-07-10 Intel Corporation Buffered memory module with implicit to explicit memory command expansion
US7590797B2 (en) 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7240160B1 (en) * 2004-06-30 2007-07-03 Sun Microsystems, Inc. Multiple-core processor with flexible cache directory scheme
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
US7624250B2 (en) * 2005-12-05 2009-11-24 Intel Corporation Heterogeneous multi-core processor having dedicated connections between processor cores
US20070168620A1 (en) * 2006-01-19 2007-07-19 Sicortex, Inc. System and method of multi-core cache coherency

Also Published As

Publication number Publication date
US8090913B2 (en) 2012-01-03
CN101999115A (zh) 2011-03-30
TW200945048A (en) 2009-11-01
US20090259825A1 (en) 2009-10-15
WO2009128981A1 (en) 2009-10-22
JP2011517003A (ja) 2011-05-26
US20110093660A1 (en) 2011-04-21
JP5419107B2 (ja) 2014-02-19
CN101999115B (zh) 2014-04-02
US7941637B2 (en) 2011-05-10

Similar Documents

Publication Publication Date Title
KR20110000741A (ko) 멀티코어 처리 시스템
KR100985926B1 (ko) 메모리 시스템 컴포넌트들 사이에서 신호들을 리라우팅하는시스템 및 방법
CN101076790B (zh) 动态多群集系统重新配置
US12457271B2 (en) System, apparatus and method for handling multi-protocol traffic in data link layer circuitry
US9009372B2 (en) Processor and control method for processor
KR101245096B1 (ko) 상호연결 시스템에서의 스큐 관리
KR102546932B1 (ko) 타일드 라스트 레벨 캐시들을 위한 비균일 버스 상호 연결 프로토콜
JPH08500687A (ja) ウェハ規模の集積化のためのフォルトトレラントな高速度のバス装置及びバスインタフェース
KR102092660B1 (ko) Cpu 및 다중 cpu 시스템 관리 방법
WO2013081580A1 (en) Raw memory transaction support
US20150186277A1 (en) Cache coherent noc with flexible number of cores, i/o devices, directory structure and coherency points
US10268617B2 (en) Frame format for a serial interface
NO343359B1 (en) Interconnect switch in multiprocessor systems
US8782468B2 (en) Methods and tools to debug complex multi-core, multi-socket QPI based system
KR101183739B1 (ko) 멀티포트 메모리 슈퍼셀 및 데이터 경로 스위칭 회로를 갖는 집적 회로
CN106951390A (zh) 一种可降低跨节点访存延时的numa系统构建方法
US10628365B2 (en) Packet tunneling for multi-node, multi-socket systems
US10592465B2 (en) Node controller direct socket group memory access
US7596650B1 (en) Increasing availability of input/output (I/O) interconnections in a system
US10776309B2 (en) Method and apparatus to build a monolithic mesh interconnect with structurally heterogenous tiles
CN117420945A (zh) 用于经由多个模式存取存储器装置的控制器和方法
JP5595796B2 (ja) 動的サブネットワークを備えた相互接続ネットワーク
US20250181491A1 (en) System, method, and computer program product for improving memory systems

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20101015

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20140217

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150803

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20160329

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20150803

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I