KR101453581B1 - 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처 - Google Patents

통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처 Download PDF

Info

Publication number
KR101453581B1
KR101453581B1 KR1020097018172A KR20097018172A KR101453581B1 KR 101453581 B1 KR101453581 B1 KR 101453581B1 KR 1020097018172 A KR1020097018172 A KR 1020097018172A KR 20097018172 A KR20097018172 A KR 20097018172A KR 101453581 B1 KR101453581 B1 KR 101453581B1
Authority
KR
South Korea
Prior art keywords
processor
packet
processor core
packet switched
semiconductor die
Prior art date
Application number
KR1020097018172A
Other languages
English (en)
Other versions
KR20090104137A (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 KR20090104137A publication Critical patent/KR20090104137A/ko
Application granted granted Critical
Publication of KR101453581B1 publication Critical patent/KR101453581B1/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/14Handling requests for interconnection or transfer
    • 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
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

메모리 칩들에의 프로세서 액세스의 인터페이스들이 각 칩의 부분으로서의 고속 패킷 스위칭 방식 직렬 인터페이스들로서 구현되는 컴퓨팅 및 통신 칩 아키텍처가 제공된다. 일 실시예에서, 상기 인터페이스는 칩의 일부로서 통합된 프로토콜 프로세서에 의해 제공되는 기가비트 이더넷(gigabit Ethernet) 인터페이스를 통해 달성된다. 상기 프로토콜 프로세서는 동일한 마더보드 상에, 또는 심지어 상이한 회로 카드들 상에 위치하는 프로세서와 메모리 칩들 사이의 통신을 위한 이더넷 패킷으로서, 메모리 어드레스 및 판독(Read), 기입(Write), 연속 바이트들의 수 등과 같은 제어 정보를 캡슐화(encapsulate)한다. 일 실시예에서, 상기 이더넷 프로토콜의 통신 오버헤드는, 제한된 이웃(constrained neighborhood) 내에 단축된 데이터 프레임들을 갖는 강화된 이더넷 프로토콜을 이용하여, 및/또는 상기 컴퓨팅 또는 통신 아키텍처를 구성하는 엘리먼트들 사이에 직접 접속 경로들이 설정될 수 있는 비트 스트림 스위치를 이용하여 더욱 감소된다.
통합된 고속 패킷 스위칭 방식, 직렬 인터페이스, 프로세서 칩 아키텍처

Description

통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처{PROCESSOR CHIP ARCHITECTURE HAVING INTEGRATED HIGH-SPEED PACKET SWITCHED SERIAL INTERFACE}
본 발명은 일반적으로 컴퓨팅 및 통신 아키텍처의 분야에 관한 것으로, 특히, 프로세서 배열(processor arrangement)과 동일한 칩 상에 직접 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 이용한 프로세서 및 메모리 액세스를 위한 아키텍처에 관한 것이다.
용어 컴퓨터 아키텍처는 매우 폭넓은 의미에서 명령들을 실행하고 데이터에 작용하는 프로세싱 서브시스템, 프로세싱 서브시스템과 협력하여 선택된 데이터 및 명령들이 저장되고 프로세싱 서브시스템과의 사이에 전송되는 것을 가능하게 하는 메모리 서브시스템, 및 적어도 프로세싱 서브시스템이 컴퓨터 외부의 네트워크 및 주변 환경과 데이터 및 명령들을 교환하는 것을 허용하는 입력/출력(I/O) 서브시스템을 포함하는 기능 유닛들의 코어 세트의 상호 접속을 의미한다. 이 기능 유닛들의 코어 세트는 그 기능 유닛들 사이의 통신들의 교환을 제어하는 다양한 통신 상호 접속 배열들을 이용하여 상이한 컴퓨터 시스템 토폴로지들로 구성될 수 있다. 예를 들면, 프로세서 및 그의 메모리들은 회로 카드에서 로컬로 연결될 수 있고 또 는 그것은 백 플레인 상호 접속(back plane interconnection)을 통해 시스템 섀시의 도처에 지리적으로 확산될 수 있다.
퍼스널 컴퓨터(PC)는 가장 성공적이고 널리 사용되는 컴퓨터 아키텍처를 나타낸다. 아키텍처에 있어서, PC는 1980년대에 처음 도입되었기 때문에 많은 것이 변하지는 않았다. 그의 코어에서, 전형적인 PC는, 중앙 처리 장치(CPU)로서 작용하는 마이크로프로세서를 포함하는 마더보드라고 불리는 단일 회로 보드, 시스템 메모리 및 마더보드 상에 위치하는 CPU 칩과 시스템 메모리 칩들 사이의 상호 접속을 제공하는 로컬 또는 시스템 버스 및 마더보드의 가장자리를 따라 전형적으로 커넥터들에 의해 정의되는 I/O 포트들로 이루어진다. PC 아키텍처의 성공에 대한 중요한 이유들 중 하나는 컴포넌트들이 상호 접속되게 한 산업 표준화 방식(industry-standardized manner)이었다.
인기 있는 섀시 기반(chassis-based) 컴퓨터 아키텍처의 보다 최근의 예는 고성능 컴퓨팅(high performance computing; HPC)의 영역에서 발견될 수 있다. HPC 영역에서의 아키텍처 혁신들 중 하나는 서버 블레이드, 메모리 블레이드, I/O 블레이드, PC 블레이드와 같은 하나 이상의 블레이드(blade)들이 산업 표준에 기초하는 공통의 랙(rack)에 플러그 접속되는 서버 블레이드 구성의 채택이었다. 컴퓨터 시스템에 대한 모든 칩들을 단일 마더보드 상에 배치하는 대신에, 컴퓨터 시스템의 기능 엘리먼트들은 블레이드라고 불리는 보다 작은 회로 카드들로 분해되고 그것들은 그 후 상이한 블레이드들 사이에 많은 양의 데이터를 라우팅하는 백플레인에 의해 함께 연결된다. 이들 HPC 블레이드 구성들의 대부분에서, 공통의 랙을 위한 백플레인 패브릭(backplane fabric)은 PCI 버스와 같은 표준화된 병렬 버스 상호 접속 기술에 의해 구현되었다. 기능 컴포넌트들을 블레이드들로 분해하는 것은 컴포넌트들의 구성에 있어서 보다 많은 융통성을 허용하고, PCI 버스와 같은 표준화된 상호 접속의 사용은 상이한 제공자들로부터의 블레이드들이 동일한 공통의 랙에서 함께 구성되는 것을 허용한다. 성공적인 PC 아키텍처와 마찬가지로, PCI 버스와 같은 표준화된 로컬 또는 시스템 버스 인터페이스의 사용은 HPC 및 서버 컴퓨터 시스템을 위한 블레이드 아키텍처의 성공에 결정적이었다.
시스템 성능 및 구현에 상당한 영향을 미치는 파라미터들 중 하나는 프로세서에 의해 이용되는 메모리 액세스 방법이다. 메모리에 액세스하는 2가지의 기본적인 아키텍처가 있다. 그 아키텍처들 중 하나는 폰 노이만(Von Neumann) 아키텍처로서, 이 아키텍처에서는 프로세서와 메모리 사이에 하나의 데이터 버스 및 하나의 어드레스 버스로 명령들(프로그램) 및 데이터를 저장하기 위해 하나의 공유 메모리가 이용된다. 이 아키텍처는 명령들 및 데이터가 순차적으로 페치될 것을 요구하여, 종종 "폰 노이만 병목"(Von Neuman Bottleneck)이라고 불리는 동작 대역폭의 제한을 도입한다. 메모리에 액세스하는 제2의 아키텍처는 하버드(Harvard) 아키텍처라고 불리고, 이것은 그의 명령들 및 데이터를 위해 물리적으로 별개의 메모리들 및 전용 버스들을 이용한다. 따라서 명령들 및 피연산자들은 동시에 페치될 수 있다. 양쪽 아키텍처들은 프로세서와 메모리 사이에 정보를 전송하기 위해 버스 또는 버스들을 필요로 한다. 이 기술 분야의 숙련자는 프로세서 및 메모리 속도에 관계없이, 프로세스와 메모리 사이의 정보 전송의 속도는 실질적으로 컴퓨터 시스템의 성능에 영향을 미칠 수 있다는 것을 알 것이다.
이용 가능한 CPU 능력, 메모리 용량, 및 컴퓨터 시스템의 개별 컴포넌트들에 대한 메모리 속도들에 관하여 상당한 진보가 이루어졌지만, 로컬 또는 시스템 병렬 버스의 속도에 관하여 프로세서-메모리 상호 접속 및 메모리 액세스의 진보는 멀리 뒤처졌다. 3 GHz 이상의 클록에서 동작할 수 있는 프로세서들 및 메모리들이 알려져 있지만, 프로세서 속도에 필적하는 속도로 병렬 버스 상호 접속으로서 동작할 수 있는 로컬 시스템 버스들은 매우 드문데, 이는 그러한 고속 버스들은 구현하기가 어렵기 때문이다. 예를 들면, 펜티엄 4 마이크로프로세서에 외부적으로 인터페이스하기 위해 이용되는, 프런트 사이드 버스(front side bus)라고 불리는 시스템 버스는 그 프로세서의 속도보다 느리게 동작한다. 통상적으로, 마더보드 외부의 I/O 장치들은 PCI(Peripheral Component Interconnect) 버스와 같은 저속 I/O 버스를 통해 통신하고, 이 I/O 버스는 브리지라고 불리는 마더보드 상의 칩셋에 접속되고, 이 칩셋은 프런트 사이드 버스를 통하여 CPU와 통신한다. 이러한 접근법은 I/O 장치들이 프로세스 및 메인 메모리의 속도보다 훨씬 느린 속도로 통신하는 경우에 잘 작용하였지만, Infiniband 및 Multi Gigabit Ethernet과 같은, I/O 기술의 현재의 발전들은 초당 수 기가비트 이상에 접근하는 속도로 I/O 통신들을 전달할 수 있다. 이러한 발전들은 CPU-메모리 및 CPU-I/O 트랜잭션들 사이의 종래의 차이들을 흐리게 하였고 I/O 통신들을 PCI 버스와 같은 개별의 보다 느린 I/O 버스로 격하시키는 근본적 이유(rationale)를 무효화시켰다.
PCI 버스 및 PCI X(PCI Extended) 버스와 같은, I/O 버스들의 속도를 증가키 려고 하는 데 있어서 어려운 과제들 중 하나는, 병렬 버스 배열은, 예를 들면, 매우 작은 경로 길이만큼 서로 다를 수 있는 개별 병렬 데이터 경로들에서 흐르는 데이터 사이에 클록 스큐(clock skew)의 문제를 겪기 쉽다는 것이다. 클록 복구 및 데이터 재구성은, 경로 길이, 데이터 전송 속도 및/또는 병렬 경로의 수가 증가됨에 따라 점점 더 문제가 되고 신뢰할 수 없는 것으로 판명되었다. 또한, 병렬 버스들은 상당한 회로 보드 리얼 에스테이트(circuit board real estate)를 차지한다.
프런트 사이드 버스들 및 I/O 버스들에 대한 병렬 버스들 상의 증가하는 속도에 의해 제기되는 문제들에 대한 종래 기술의 해법들은, 대개의 경우, 마이크로 칩 및 칩셋의 소정의 제공자에 특유한 독점적 프로토콜(proprietary protocol)의 사용을 필요로 하였다. 예를 들면, AMD(Advanced Micro Devices)에 의한, Athelon 64/FX/Opteron 상의 프런트 사이드 버스의 진보된 버전은 32 비트 폭의 병렬 버스에 있어서 14400 MB/s의 이론적 대역폭에 대하여 1Ghz에 접근하는 속도로 동작할 수 있다. 불행하게도, 이것은 새로운 제품들에 대하여 마켓팅하는 시간 및 비용을 줄이기 위해 다른 벤더들의 해법들과 상호 운용 가능한(interoperable) 제품들을 개발하도록 벤더들을 격려하는 산업 전반의 표준(industry wide standard)의 채택으로 이동하는 일반적인 동향과 양립할 수 없는 독점적 해법이다.
프로세서 속도와 메모리 액세스 속도 사이의 이러한 일탈(divergence)에 의해 생기는 문제는 잘 알려져 있고 종래 기술에서는 메모리 갭(memory gap) 또는 메모리 월(memory wall) 문제로 불리었다. 예를 들면, Cuppa et al., "Organizational Design Trade-Offs at the DRAM, Memory Bus and Memory Controller Level: Initial Results", University of Maryland Systems & Computer Architecture Group Technical Report UMD-SCA-1999-2, November 1999를 참조한다. 메모리 갭 문제는 큰 메모리 용량을 어드레싱하는 필요에 의해 더욱 심화된다. 메모리 월/메모리 갭 문제를 극복하기 위해 종래 기술에서 채용된 하나의 해법은 프로세서와 메모리 사이의 병렬 버스 인터페이스를 제거하고 PCI 버스와 같은 병렬 버스 대신에 직렬 백플레인 인터페이스를 이용하는 것이다.
프로세서들과 메모리들 사이에 표준화된 직렬 백플레인 인터페이스를 설정하기 위한 하나의 초기 시도는 SCI(Scalable Coherent Interface)였다. Gustavson, D. and Li, Q., "The Scalable Coherent Interface (SCI)". IEEE Communications (Aug. 1996). 불행하게도, 이 제안은 널리 채택되지 않았다.
보다 최근에는, AMD® HyperTransport 및 Intel® Fully buffered Dimm(FB DIMM)과 같은, 칩 제조업체들에 의해 프로세서들과 메모리들 사이의 독점적 고속 직렬 인터페이스들이 개발되었다. 다른 대안들은 Trynosky, "Serial Backplane Interface to a Shared Memory", Application Note: Virtex -Ⅱ Pro FPGA Family, XILINX, November 30, 2004에 기술된 바와 같은 직렬 칩 대 칩 인터페이스(serial chip-to-chip interfaces) 또는 Davis, "The Memory Channel", Summit Computer Systems, Inc. September 19, 2004에 기술된 바와 같은 다중 싱글 바이트 직렬 프로세서 대 메모리 인터페이스(multiple single byte serial processor to memory interfaces)의 형태로 제안되었다.
컴퓨팅 아키텍처 내의 컴포넌트들 사이에 병렬 인터페이스에서 직렬 인터페이스를 이동하는 것은 프로세서/메모리 인터페이스에 유일하지 않다. 직렬 인터페이스는 또한 백 플레인들을 포함하는 거의 모든 I/O 통신 채널들에 대한 표준이 되었다. 계층 구조 및 다중 고속 클록 방식 직렬 데이터 레인 채널(multiple high speed clocked serial data lanes channels) 또는 독점적 패킷 스위칭 방식(proprietary packet switched) DMA 기법들을 이용하는 ASI(Advanced Switching Interconnect) 스위칭 패브릭은, 예를 들면, 미국 특허 번호 6,766,383에 기술되어 있다. Infiniband, Fibre Channel 및 Gigabit Ethernet과 같은 산업 표준 I/O 프로토콜들은 초당 수 기기비트 이상에 접근하는 속도로 I/O 통신을 전달할 수 있다.
직렬 I/O 프로토콜의 속도는 이론적으로 프로세서/메모리 인터페이스에 필요한 속도에 접근할 수 있지만, 직렬 I/O 프로토콜들과 관련된 통신 오헤드(communication overhead)는 프로세서/메모리 인터페이스를 위한 근거(basis)로서 직렬 I/O 프로토콜들을 이용하는 것을 고려하려는 임의의 진지한 시도들을 생략하였다. 직렬 I/O 통신 프로토콜들은 일반적으로 디스크 상에 또는 네트워크 상에 저장된 많은 양의 데이터에 액세스하기에 더 적합한 보다 큰 패킷 및 어드레스 사이즈들을 갖는다. 보다 큰 패킷 및 어드레스 사이즈들은 결과적으로 통신 오버헤드 페널티(communication overhead penalty)의 증가를 초래한다. 프로세서/메모리 인터페이스는 전통적으로 하나의 어드레스 위치에 대하여 프로세스와 메모리 사이에 데이터를 전송하는 능력을 필요로 하였고, 그러한 요건 때문에 I/O 전송들 및 프로토콜들의 오버헤드는 매시브 오버킬(massive overkill)로서 간주되었다. 또 한, 프로세서 대 메모리 인터페이스의 경우보다 I/O 통신의 경우에 처리될 필요가 있는 전송 차단(transmission blocking) 및 메모리 경합(memory contention) 우려들이 더 많이 있다.
병렬 버스 상호 접속 기술 대신에 백플레인 접속을 위해 직렬 I/O 인터페이스 프로토콜을 이용하는 몇몇 대안들이 제안되었다. 미국 공개 출원 번호 20050091304는 적어도 하나의 애플리케이션 모듈, 적어도 하나의 기능 모듈, 및 포털 이그제큐티브(portable executive)를 하우징하는 플랫폼 관리 버스 및 이더넷 백플레인을 갖는 모듈식 섀시(modular chassis)를 포함하는 통신 포털을 위한 제어 시스템을 개시하고 있다. 이 특허 출원에서, 1000BaseT(Gigabit Ethernet) 백플레인은 패킷 스위칭 방식 네트워크를 제공하고, 여기서 접속된 모듈들 각각은 PCI 버스와 같은 종래의 병렬 버스 접속과 대조적으로 네트워크 상의 개별 노드로서 작용한다.
미국 공개 출원 번호 20060123021은 Ethernet, RapidIO, PCI Express 또는 Infiniband와 같은 계층적 패킷 기반 상호 접속 패브릭과 상호 접속되는 AMC(Advanced Mezzanine Card)를 위해 도터 보드들(daughter boards)의 진보된 TCA(Advanced Telecommunication Computing Architecture)를 이용하는 전자 장비를 위한 계층적 패키징 배열을 개시하고 있다. 이 배열에서, 각 로컬 큐브(local cube) 내의 AMC들은 로컬 큐브 내의 접속을 위한 Gigabit Ethernet과 같은 제1의 저속 인터페이스에 의해 및 큐브들 사이의 접속을 위한 10G Ethernet과 같은 제2의 고속 인터페이스에 의해 계층적 구성으로 접속된다.
대기 시간(latency), 흐름 제어, 정체 관리(congestion management) 및 서비스 품질에 있어서의 이더넷 스위칭 방식 백플레인 아키텍처의 문제들은 잘 알려져 있고, 예를 들면, Lee, "Computation and Communication Systems Need Advanced Switching", Embedded Intel Solutions, Winter 2005에 기술되어 있다. 이들 문제들은 일반적으로 프로세서들과 메모리 사이의 통신에 직렬 I/O 프로토콜들을 채택하는 것을 단념시켰고, 이는 그러한 직렬 I/O 프로토콜들이 보다 작은 물리적 치수의 회로 보드 또는 백플레인에 의해 상호 접속된 다수의 카드들/블레이드들을 갖는 컴퓨터 또는 통신 랙 또는 캐비닛(cabinet)에서 사용되고 있는 경우에도 그러했다. 대신에, 동향은 단일 칩 또는 회로 보드 상에 보다 많은 프로세서들 및 메모리를 수용하기 위해 개별 칩들의 용량 및 서브 블레이드들 각각의 물리적 사이즈를 증가시킴으로써, 백플레인을 가로질러 중재되어야 하는 프로세서 및 메모리 상호 접속의 필요를 감소시키는 것이었다.
프로세서 속도, 메모리 속도 및 네트워크 속도가 계속해서 증가함에 따라, 그리고 외부 I/O가 점점 더 기가바이트 속도를 초과하는 속도로 데이터를 전달할 수 있음에 따라, 컴퓨팅 및 통신 아키텍처 내에 서브시스템들을 배열하기 위한 현재의 아키텍처들은 더 이상 능률적이지 않다. 폰 노이만 및 하바드 아키텍처와 같은 메모리 액세스의 문제는, 칩 내의 다수의 프로세서 코어들에 비추어, 프로세스 및 메모리 상호 접속 기술을 더욱 악화시킨다. 따라서 현재의 아키텍처의 한계에 의해 제한되지 않고 산업 구성 표준들과 양립할 수 있고 차세대 컴퓨터 및 통신 장비의 수렴되는 컴퓨팅 환경의 속도, 용량 및 프로세싱 코어 요건들에 필적하도록 스케일링 가능한 컴퓨팅 및 통신 칩 아키텍처가 요구된다.
[발명의 개요]
본 발명은 프로세서 및 메모리 칩들의 오프-칩 인터페이스들이 반도체 패키지 내의 각 칩의 부분으로서의 고속 패킷 스위칭 방식 직렬 인터페이스들로서 구현되는 컴퓨팅 및 통신 칩 아키텍처에 관한 것이다. 일 실시예에서, 상기 고속 패킷 스위칭 방식 직렬 인터페이스는 상기 칩 패키지 내의 적어도 하나의 프로세서 코어와 같은 장소에 배치된(co-located) 패킷 프로세서에 의해 구현된 기가비트 이더넷(gigabit Ethernet) 인터페이스이다. 상기 직렬 인터페이스는 직렬 패킷화된 프로토콜(serial packetized protocol)을 이용하여 시스템 메인 메모리와 같은 외부 메모리 장치로부터 및 외부 메모리 장치에 데이터를 페치 및 기입하기 위해 필요한, 데이터, 어드레스 및 제어 정보를 전송하도록 구성된다. 적어도 하나의 프로세서와 상기 외부 메모리 장치 사이의 통신은 다수의 직렬화된 프로토콜들 사이에 변환하는 것이 가능한 적어도 하나의 브리지 장치 및 옵션으로 프로세서 코어, 캐시, 및 패킷 프로세서와 같은 온-칩 엔티티들 사이의 통신, 및 온-칩 엔티티들과 시스템 메인 메모리와 같은 오프-칩 장치들 사이의 통신을 중재하도록 적응된 스위치 장치에 의해 중재될 수 있다.
예시적인 실시예에서, 상기 패킷 프로세서는 상기 칩의 부분으로서 통합된 온 더 플라이 프로그램 가능한 비트 스트림 프로토콜 프로세서(on the fly programmable bit stream protocol processor)로서 구현된다. 일 실시예에서, 캐시를 갖는 프로세서가 상기 마이크로프로세서 칩의 부분으로서 통합된 비트 스트림 프로토콜 프로세서를 통하여 시스템 또는 메인 메모리 칩셋에 접속될 수 있다. 일 실시예에서 상기 프로세서 직렬 인터페이스는 10기가 비트 이더넷(10Giga bit Ethernet) 인터페이스일 수 있다. 이들 실시예들에서, 상기 프로토콜 프로세서는 동일한 칩 상에, 또는 마더보드 상에, 또는 다르게는 상이한 회로 카드들 상에 위치하는 프로세서(들)와 메모리 칩들 사이의 통신을 위한 이더넷 패킷으로서 메모리 어드레스 및 판독(Read), 기입(Write), 또는 연속 바이트들의 수 등과 같은 제어 정보를 캡슐화(encapsulate)한다. 일 실시예에서, 상기 이더넷 프로토콜의 통신 오버헤드는, 제한된 이웃(constrained neighborhood) 내에 단축된 데이터 프레임들을 갖는 강화된 이더넷 프로토콜을 이용하여, 및/또는 상기 컴퓨팅 또는 통신 아키텍처를 구성하는 엘리먼트들 사이에 직접 접속 경로들이 설정될 수 있는 비트 스트림 스위치를 이용하여 더욱 감소된다.
본 발명의 다양한 실시예들에 대한 상기 개요는 본 발명의 각 예시된 실시예 또는 모든 구현을 설명하기 위해 의도된 것이 아니다. 다음에 오는 상세한 설명 내의 도면들은 이들 실시예들을 더욱 상세히 예시한다.
본 발명은 본 발명의 다양한 실시예들에 대한 다음의 상세한 설명을 첨부 도면들과 함께 고찰할 때 더 완전히 이해될 수 있다.
도 1A, 1B, 1C, 1D, 및 1E는 종래 기술의 프로세서 칩셋 아키텍처들에 대한 프런트 사이드 버스 배열들의 다양한 구성들을 도시한다.
도 2A는 프로세서 칩 패키지가 다이 상에 위치하는 패킷 프로세서 기반 병렬 버스 대 직렬 인터페이스 변환기로부터 연장하는 적어도 하나의 직렬 라인을 통하여 외부적으로 통신하는 본 발명의 하나의 양태에 따른 칩 아키텍처를 도시한다.
도 2B는 칩 패키지 내에 위치하는 스위치 및 병렬 버스 대 직렬 인터페이스 모듈로부터 연장하는 적어도 하나의 프로그램 가능한 직렬 상호 접속을 통하여 칩 외부의 장치에 통신으로 연결되는 본 발명의 일 실시예에 따른 멀티-코어 프로세서 칩 패키지의 블록도 표현이다.
도 2C는 패키지 내에 위치하고 스위치 및 병렬 버스 대 직렬 인터페이스의 조합으로서 기능하도록 적응된 모듈로부터 연장하는 적어도 하나의 직렬 라인을 통하여 칩 외부의 장치에 통신으로 연결되는 본 발명의 일 실시예에 따른 멀티-코어 프로세서 칩 패키지의 블록도 표현이다.
도 2D는 프로토콜 변환을 제공하고 통합된 컴퓨팅, 백플레인, 및 네트워크 아키텍처를 특징으로 하는 프로세서 칩 내의 "사우스브리지"(Southbridge)로서 기능하는 패킷 프로세서 기반 이더넷 브리지의 블록도 표현이다.
도 3A는 본 발명의 일 실시예에 따른 시스템 내의 통신 생성 및 소비 노드들 사이의 이더넷에 토큰 기반, 포인트-투-포인트 통신을 통합하는 패킷 프로세서 기반 병렬 버스 대 직렬 인터페이스 변환기의 보다 상세한 블록도를 도시한다.
도 3B는 본 발명의 일 실시예에 따른 사전 정의된 직렬 패킷 프로토콜에 기초하여 병렬 버스 통신과 직렬 패킷화된 통신 사이에 변환하는 패킷 프로세서 기반 병렬 버스 대 직렬 인터페이스의 상세한 블록도를 도시한다.
도 3C는 패킷 프로세서 기반 병렬 버스 대 직렬 인터페이스 변환기로부터의 직렬 패킷 프로토콜 출력이 프로그램 가능한 패킷 프로세서 기반 병렬 버스 대 직렬 인터페이스 변환기의 개략 표현이다.
도 4는 3차원 칩 아키텍처로 통합된 본 발명의 실시예를 도시한다.
도 5A는 본 발명의 일 실시예에 따른 적어도 하나의 직렬 라인을 통하여 외부적으로 통신하는 단일 프로세서 "코어"를 포함하는 프로세서 칩 패키지의 블록도이다.
도 5B는 다수의 프로세서 "코어들"을 포함하는 프로세서 칩 패키지의 블록도로서, 각각의 프로세서 코어는 외부 스위치 상의 포트와 직렬 통신하게 되어 있고, 외부 스위치는 칩 패키지 외부의 장치들과 통신한다.
도 5C는 다수의 프로세서 "코어들"을 포함하는 프로세서 칩 패키지의 블록도로서, 각각의 프로세서 코어는 칩 패키지 내에 포함되고 적어도 하나의 직렬 라인을 통하여 칩 외부의 장치들과 직렬 통신하게 되어 있는 멀티-포트 병렬 버스 대 직렬 인터페이스 변환기와 통신한다.
본 발명은 다양하게 수정될 수 있고 및 대안적인 형태들로 될 수 있지만, 그의 명세는 도면들에서 예로서 도시되었고 상세히 설명될 것이다. 그러나, 그 의도는 본 발명을 설명된 특정 실시예들로 제한하려는 것이 아니라는 점을 이해해야 한다. 도리어, 그 의도는 첨부된 청구항들에 의해 정의된 발명의 정신 및 범위 내에 속하는 모든 수정들, 동등물들, 및 대안들을 커버하려는 것이다.
도 1A, 1B, 1C, 1D, 및 1E는 종래 기술의 프로세서 칩셋 아키텍처들에 대한 프런트 사이드 버스(다르게는 "채널") 배열들의 다양한 구성들을 도시한다. 이들 구성들 각각에서는, 컴퓨터 아키텍처(5)의 다양한 엘리먼트들 사이에 데이터 및 명령들을 라우팅할 목적으로 프로세서 칩(15)과 하나 이상의 지원 칩들(20) 사이에 클록 방식 버스 인터페이스(clocked bus interface)(10)가 이용된다.
종래의 아키텍처들은 프런트 사이드 버스(Front Side Bus; "FSB"), 프로세서 사이드 버스, 메모리 버스, 데이터 버스, 또는 시스템 버스로서 다양하게 불리는 채널을 특징으로 하고, 그를 통해 CPU는, 예를 들면, 도 1D에 도시된 노스브리지(Northbridge) 및 사우스브리지(Southbridge) 컨트롤러들과 같은 마더보드 칩셋과 통신한다. 노스브리지(25)는 CPU(15)를 FSB를 통해 RAM 메모리(30)에 상호 접속한다. 노스브리지는 또한 AGP 및 PCI 익스프레스(PCI Express)와 같은 고속 채널들을 통해 그래픽 카드(35)와 같은 주변 장치들을 접속한다. 사우스브리지 컨트롤러(40)는 이더넷 및 PCI 익스프레스와 같은 통신 프로토콜들을 실행하는 다른 채널들을 통해 하드 드라이브, USB, 직렬 및 병렬 포트들 및 외부 저장 장치들을 포함하는 I/O를 핸들링한다.
일반적으로, 대부분의 프런트-사이드 버스(FSB) 속도는 동시대의 산업 전반의 표준들에 따르도록 설계된 전기 통신 및 컴퓨팅 애플리케이션들에 요구되는 성능을 전달할 수 없다. 예를 들면, PICMG® Advanced Mezzanine Card(AMC) 사양은 광범위의 차세대 고속 메자닌(mezzanine) 카드들에 대한 기본 레벨의 요건들을 정의한다. 예를 들면, AMC 카드 상호 접속은 차동 쌍(differential pair)에 대하여 12.5 Gbps로 특정된다. 자이링스(Xilinx)는 8 Gbps에서 동작하고 후지쯔(Fujitsu)는 10-기가비트 이더넷 스위치를 제공한다. 이에 비교하여, Intel Itanium 2 프로세서 프런트-사이드 버스(FSB) 속도는 대략 667 MHz이고, AMP Opteron(TM) 프런트 사이드 버스 주파수는 대략 1.4 - 2.8 GHz이고, 노드브리지 및 사우스브리지 컨트롤러들 대신에 메모리 컨트롤러 및 I/O 컨트롤러를 이용하는, 인텔 허브 아키텍처(Intel Hub Architecture; IHA)는, 도 1D에 도시된 바와 같이 3.2 GB/s의 메모리 대역폭을 전달하기 위해, 듀얼 RDRAM이 메모리 컨트롤러 허브(MCH)(25)를 통해 동작할지라도, 400 GHz의 속도로 동작이 가능한 CPU와 메모리 컨트롤러 사이의 시스템 버스를 특징으로 한다. 도 1E는 이 기술 분야에 알려진 IHA 기반 멀티프로세서 아키텍처를 도시한다.
이 기술 분야의 숙련자는 FSB를 통한 그리고, 예를 들면, 도 1E의 메모리 컨트롤러 허브(45)를 통한 통신은 RAM 메모리 판독 동작에서 대기 시간을 도입한다는 것을 알 것이다. 또한, RAM 메모리 액세스와 I/O는 FSB 대역폭을 공유하고 이는 FSB의 성능을 더욱 퇴화시킬 수 있다. 전술한 산업 사양들에 따르도록 설계된 전기 통신 및 고성능 컴퓨팅 애플리케이션들은 전술한 상호 접속들의 성능 한계보다 더 빠르고 이더넷 및 PCI 익스프레스와 같은 광범위의 산업 표준 프로토콜들 하에서 동작이 가능한 아키텍처를 필요로 한다는 것은 분명하다.
도 2A-2C를 참조하면, 본 발명의 제1 실시예에 따른 멀티-코어 프로세서 아키텍처(50)가 도시되어 있다. 도시된 멀티-코어 프로세서 아키텍처(50)의 하나의 양태는 단일 프로세서 소켓(도시되지 않음)에 수용되는 단일 물리적 패키지(55)(다르게는 "프로세서 칩 패키지)의 형태를 취한다. 이 단일 물리적 패키지(55)는 복수의 실행 코어들(다르게는, 계산 엔진들, 또는 프로세싱 엔진들)(60)을 포함하지만 외부 운영 체제는 그 패키지를 단일 프로세서로서 인식한다. 일 실시예에서, 코어(60)는 현존하는 프로세서 소켓들과 핀 호환 가능하다(pin compatible). 각 실행 코어(60)는, 도 5A-5C의 도시들에서 관찰되는 바와 같이, 예를 들면, 캐시, ALU(arithmetic logic unit), 우선 순위 인터럽트 컨트롤러(priority interrupt controller), 아키텍처 레지스터(architectural register), 파이프라인 예측 메커니즘(pipeline prediction mechanism), 명령 세트와 같은 그 자신의 프로세서 특정 기능 블록들을 포함한다. 각 실행 코어는 외부 운영 체제의 지시 하에 프로그램 명령들 및 복수의 스레드들을 독립적으로 실행하는 것이 가능하다. 관련된 실시예들에서, 코어들은 패키지 내의 나머지 코어 또는 코어들과 협력하여 내부 및/또는 외부 명령들을 실행할 수 있고, 운영 체제는 코어들 각각에 의해 제공되는 서비스들을 구별할 수 있고, 코어들은 예를 들면 도 2A 및 2C에서 관찰되는 캐시 및 외부 시스템 메모리와 같은 공유된 리소스들에 액세스할 수 있다. 다른 실시예들에서, 운영 체제는 다수의 코어들 사이에 병렬 실행을 지원하는 것이 가능할 수 있고, 각 코어, 또는 코어들의 다양한 조합들은 운영 체제에 의해 개별 병렬 프로세싱 유닛들로서 보일 수 있다.
본 발명은 단일 물리적 패키지(55) 내에 존재할 수 있는 임의의 특정 코어 또는 다수의 코어들에 의해 제한되지 않는다는 것을 알 것이다. 특히, 실행 코어들은 인텔의 90 나노미터 Pentium D 및 Pentium Extreme Edition 840, 인텔의 65 나노미터 Pentium Extreme Edition 955 프로세서에서 이용되는 Presler 코어, AMD의 90 나노미터 Egypt 및 Denmark 코어들 중 하나 이상일 수 있다. 본 발명의 범위 내에서 그 밖의 코어들이 이용될 수 있다.
본 발명의 중요한 특징은 프로세서(55)와 시스템 장치들(80) 사이의 데이터 통신은 적어도 일 실시예에서 예를 들면 도 5C에서 관찰되는 바와 같이 스위치 아키텍처(105)와 통신하는 브리지-아키텍처(100)에 의해 중재되는 적어도 하나의 직렬 상호 접속(90)을 통해 일어난다는 것이다. 스위치-아키텍처(5C)는 그를 통해 시스템 내의 나머지 장치(80)들과 프로세서가 통신하는 게이트웨이이다. 일 실시예에서, 브리지-아키텍처(100) 및 옵션으로 스위치-아키텍처(105)(다르게는 집합적으로 "병렬 버스 대 직렬 인터페이스 변환기")는 도 2C에 도시된 바와 같이 통합된 구성으로 프로세서 다이 상에 위치한다. 그러한 경우에, 브리지-아키텍처 및 스위치-아키텍처의 하나 이상은 다이 상에 추가 코어 또는 코어들의 형태로 구현될 수 있다. 프로세서 다이 구성들의 예시적인 실시예들은 도 5A-5C에 도시되어 있다. 다른 구성에서, 스위치는 도 2A, 2B, 5A 및 5B에 도시된 바와 같이 다이 외부에 위치할 수 있다. 이 기술 분야의 숙련자는 브리지-아키텍처 및 스위치-아키텍처의 모든 그러한 구성들이 본 발명의 범위 내에 포함된다는 것을 쉽사리 인지할 것이다. 비록 전술한 실시예들은 멀티-코어 아키텍처에 대하여 설명되었지만, 개시된 발명은 프로세서 패키지가 하나의 코어(단일 코어)만을 포함하는 경우에 및 브리지-아키텍처 및 스위치-아키텍처가, 예를 들면 도 2C 및 5C의 병렬 버스 대 직렬 인터페이스 변환기(120)와 같은, 단일 모듈인 경우에 동등하게 적용될 수 있다는 것이 강조되어야 한다.
일 실시예에서, 브리지-아키텍처는 도 3A-3C에 도시된 바와 같은 패키지 프로세서 아키텍처를 이용하여 구현된다. 도 3B는 본 발명에 따른 전형적인 패킷 프로세서의 특정 실시예이다. 예시적인 프로세서 칩 패키지(55) 내의 프로세서 코어(60에 의해 발행된 외부 시스템 메모리로의 "기입" 명령과 관련된 데이터, 어드레스 및 제어 정보와 같은, 병렬 버스(150)를 통해 전송되는 프로세서로부터의 통신들은 칩 패키지(55) 외부의 하나 이상의 직렬 라인들(90)을 통해 전송되는 직렬 패킷화된 통신들(155(165))을 생성하도록 패킷 프로세서 부분(180)에 의해 처리된다. 칩 패키지(55) 외부로부터 수신된 직렬 통신들(160(170))은 도 3A 및 3B에 예시된 바와 같이 패킷 프로세서 부분(188)에 의해 병렬 버스(150)를 통하여 프로세서에 전송되는 병렬 통신들로 처리된다. 직렬 대 병렬 변환들은 본 발명의 범위 내에서 칩 패키지 내의 프로세서 코어들, 프로세서-코어와 다른 칩 패키지들 및 I/O 장치들을 포함하는 외부 장치들 사이의 통신들에 적용될 수 있다는 것을 알 것이다. 도 3A 및 3B의 기능 블록들은 예를 들면 도 3C에 도시된 비트스트림 프로세서(BSP) 아키텍처에 따라 적응될 수 있다. 비트스트림 프로세서는 고성능 파이프라인 방식 패킷 스위칭 아키텍처(pipelined packet switching architecture)를 이용하는 온 더 플라이 프로그램 가능한 통합 패킷 프로세서, 보안 엔진 및 트래픽 관리자(on the fly programmable integrated packet processor, security engine anc traffic manager)이다. 비트스트림 프로세서는 본 발명의 범위 내에 있으면서 프로세서 다이 상에 또는 독립 실행형 칩(stand-alone chip) 상에 다른 논리 장치들과 통합된, 추가의 "코어"로서 물리적으로 구현될 수 있다.
본 발명의 일 실시예에서, 비트스트림 프로세서는 레거시, 현존하는 및 최근 만들어진 보드-레벨 및 네트워크-레벨 데이터 통신/시그널링 프로토콜들(legacy, existing and emergind board-level and network-level data communication/signaling protocols)에의 적응을 위한 고도의 유연성을 제공하는 프로그램 가능한 파이프라인 방식 아키텍처를 이용하여 순방향 및 역방향 브리징 기능(forward anc reverse bridging function)을 수행한다. 파이프라인 내의 각 스테이지/블록은 임의의 관련 정보를 후속 블록들에게 이용 가능하게 만드는 특정 기능들 및 책임들을 갖는다. 그 결과, 각 스테이지에 대한 아키텍처는 서로 다르고 주어진 기능을 핸들링하도록 최적화된다. 각 스테이지는 한 패킷씩(on a packet by packet basis) 동적으로 프로그램될 수 있고 프로세서 코어들은 병렬 통신 링크를 통하여 한 번에 몇 개의 비트를 송신함으로써 데이터/명령들을 전송한다. 인트라-코어(intra-core) 데이터/명령들은, 예를 들면, 인텔에 의한 프런트 사이드 버스와 호환되는 시그널링, AMD 또는 다른 독점적/비독점적 버스 프로토콜들에 의한 하이퍼 전송 기술 기반 상호 접속 프로토콜(hyper transport technology based interconnect protocol)과 같은, 벤더-특정 CPU 아키텍처를 특징짓는 프로세서-코어 및 관련 시스템 버스에 네이티브(native)인 시그널링을 이용한다. 비트스트림 프로세서는 인트라-프로세서 프로토콜과, 보드-레벨 및 네트워크 레벨 직렬 통신 프로토콜들의 세트 중 하나 사이에 브리징한다. 브리지로부터 프로세서로의 업스트림 정보 전송들은, 프로세서 코어들에 의해 사용되는 네이티브 시그널링을 나타내도록, 병렬화되고, 포매팅되고 클로킹된다. 코어들로부터의 응답들(즉, 예를 들면, 메모리 요청들 또는 다른 시스템 요청들과 같은 다운스트림 정보 전송들)은 비트스트림 프로세서에 의해 직렬화되고 패킷화된다.
일 실시예에서 패킷들을 처리하는 비트스트림 프로세서는 2006년 8월 23일에 출원된, "Omin-Protocol Engine for Reconfigurable Bit-Stream Processing in High-Speed Networks"라는 명칭의, 미국 출원 일련 번호 11/466,367(그의 명세서는 본 명세서에 참고로 통합됨)에서 더 상세히 설명된 것과 같은 형태를 갖는다. 비트스트림 프로세서에 의한 패킷 처리는 패킷들이 원하는 보드 레벨 또는 네트워크 레벨 프로토콜/버스-아키텍처들로 브리징되고 스위치-아키텍처에 전송되게 한다. 예시적인 프로토콜들은, PCI-Express, 10 Gagabit Ethernet, Infiniband, Advanced Switching, RapidIO, SPI 4.2, XAUI 및 Serial I/O를 포함하지만, 이에 제한되는 것은 아니다. 본 발명의 범위를 제한하지 않고 다른 프로토콜들이 유리하게 이용될 수 있다.
도 5A 및 5B에 도시된, 본 발명의 대안 실시예는 패킷 프로세서가 하나 이상의 프로세서 핀들로 구성된 개별 포트들을 통해 복수의 프로토콜 각각에 대한 온-다이 접속들(on-die connections)을 가능하게 하는 프로세서 및 브리지의 배열을 고려한다. 각 포트는 특정한 미리 정의된 프로토콜에 따라 프로세서에 직렬 입력/출력을 제공하도록 구성된다.
다른 관련 실시예에서, 비트스트림 프로세서는 임의의 특정 직렬 상호 접속 또는 포트에서의 통신들을 특징짓는 프로토콜들의 소프트웨어 기반 프로그래밍을 허용하도록 프로그램 가능하다. 코어들 각각은 애플리케이션 특정(application specific)이도록 전문화될 수 있다 - 예를 들면, 전기 통신을 위한 패킷 처리, 게임을 위한 그래픽 엔진 기능, 및 고성능 계산을 위한 병렬 계산. 비트스트림 프로세서는 특정 코어와 관련된 모든 트래픽을 지정된 포트에 할당하도록 프로그램될 수 있다. 본 발명의 다른 실시예에서 전술한 포트는 AMC(Advanced Mezzanine Card)에 연결되고 적절한 경우 그 모듈에 프로세서 지원을 제공하고 또는 AdvancedTCA®(ATCA) 기반 개방형 모듈식 시스템 아키텍처(open modular system architecture)에서 MMC(Module Management Controller) 기능의 전부 또는 일부를 제공할 수 있다.
다시 도 2C를 참조하면, 본 발명의 다른 특징의 블록도 표현이 도시되어 있다. 도 2C에 도시된 바와 같이, 패킷 프로세서 기반 브리지-아키텍처는 직렬 상호 접속을 통해 스위치-아키텍처에 연결된다. 스위치-아키텍처는 다수의 장치들과 프로세서 사이에 컷-스루(cut-through) 모드에서 직렬, 고속, 포인트-투-포인트 접속들을 제공하는 논-블로킹 스위치(non-blocking switch)이다. 스위치-아키텍처는, 예를 들면, DDS 네트웍스(DDS Networks)에 의한 GigPCI-Express 스위치, 모델 6468- 8-포트 Gigabit Ethernet 스위치, 또는 후지쯔 마이크로일렉트로닉스 아메리카(Fujitsu Microelectronics America)에 의한 MB8AA3020 20-포트, 10Gbps Ethernet(10GbE) 스위치 IC와 같은 상업 스위치들을 통하여 구현될 수 있다.
도 5B 및 5C에는 듀얼 코어들을 갖는 본 발명의 Ether PC의 멀티 코어 실시예가 도시되어 있고, 그 코어들 중 하나는 통신 애플리케이션에 전용이다. 이 도시된 멀티 코어 실시예에서는, 개별 프로그램 공간 및 데이터 공간이 있다. 코어들은 그 2개의 공간들 사이에 스위칭함으로써 임의의 공간에 액세스할 수 있다. I/O에 대한 데이터가 스위칭된다. 스위치는 실행 코어에서 비롯하는 메모리 요청이 하나 이상의 외부 메모리 리소스들에 스위칭되는 것을 허용하고, 그에 의해 메모리 요청들이 단일 시스템 메모리 리소스에 및 단일 시스템 메모리 리소스로부터 단일 데이터 통신 버스를 가로지르는 종래의 아키텍처들에 내재하는 메모리 대역폭 한계를 극복한다.
본 발명의 다른 실시예는 도 2C 및 5C에 도시된 패킷 프로세서를 이용하는 스위칭 아키텍처 구현을 고려한다. 그러한 실시예의 특징들 중 하나는 프로세서 다이 상에 위치하는 결합된 브리지-스위치 아키텍처이고 상술한 서비스들을 제공할 수 있다.
다른 실시예는 2007년 7월 25일에 출원된, "Telecommunication and Computing Platforms with Serial Packet Switched Integrated Memory Access Technology"라는 명칭의, 미국 출원 일련 번호 11/828,239(그의 명세서는 본 명세서에 참고로 통합됨)에 개시된 아키텍처들을 단일 다이/프로세서 패키지에 통합하는 것을 고려한다.
도 3A에 도시된 일 실시예에서, 패킷 프로토콜 프로세서는 2007년 8월 13일에 출원된, "Enhanced Ethernet Protocol for Shortened Data Frames Within a Constrained Neighborhood Based on Unique ID"라는 명칭의, 미국 출원 일련 번호 11/838,198(그의 명세서는 본 명세서에 참고로 통합됨)에 설명된 시스템 내의 장치들과 프로세서 사이에 이더넷에서 단순 토큰 기반 통신을 구현하기 위해 이용되는 라인 속도 QoS 패킷 스위칭을 허용한다. 이 실시예에서, 브리지-스위치-이키텍처 상의 패킷화된 통신은 시스템에서의 스피드업 지속된 포인트-투-포인트 통신(speed-up sustained, point-to-point communications)에 더 전문화된다. 각 패킷은 소스 어드레스(SA) 및 데스티네이션 어드레스(DA) 및 통신 링크 상의 엔드 포인트들 사이에 고유 토큰을 교섭하는 데 이용하기 위한 VLAN 태그와 같은 E-타입을 구비한다. E-타입 확장들(E-type extensions)은, 예를 들면, UNIQUE ID 또는 TOKEN GRANT에 대한 요청; 승인(grant)된 토큰에 의한 데이터 통신 및 TOKEN을 회수(retire)하는 요청일 수 있다. 일단 토큰이 승인되면, SA 및 DA 필드들은 E-타입과 함께 쇼트 데이터(short date)를 전달하는 데 이용된다. 이것은 또한 STA, 및 SAS에 대한 큰 데이터 블록들을 포함하도록 확장될 수 있다. 다른 실시예들에서, 일단 UNIQUE ID가 엔드-포인트들과 이들 엔드-포인트들을 연결하는 중간 노드 사이에 교섭되면, 고정된 프레임들을 전송하는 데 예측 가능한 성능을 링크에 부여하고 그 결과 다양한 레거시 요건들을 만족시키기 위해 고정된 프레임 사이즈가 이용된다. 예를 들면, SA/DA 쌍은 12 바이트의 데이터, 2 E-타입 바이트 및 2 바이트 TAG를 송신하기 위해 이용될 수 있다.
다중 확장된 메모리들과 함께 가는 실시예들 중 하나는 다중 캐시들이다. 일 실시예에서, 프로세서 카드는 2개의 스위칭 가능한 캐시들(스레드들을 위한 2개의 레지스터 파일들과 같은)을 구비한다. 캐시 미스(cache miss) 시에, 프로세서는 제1 캐시로부터 제2 캐시로 스위칭하여 제2 케이스와 관련된 제2 프로그램 스레드의 처리를 시작한다. 다른 실시예에서는, 확장된 메모리마다 캐시(cache per extended memory)가 있을 수 있다.
일 실시예에서, 확장된 이더넷 프로토콜의 일부로서 컨트롤이 제공된다. 이것은 또한 2개 이상의 프로세서가 동일한 메모리 블록을 요청하면 CPU에 대기 사이클들을 "추가"할 수 있다. 어떤 점에서 그것은 대기 시간의 한 성분일 것이다. 그 이유는 실행을 위해 예정된 명령들 및 프로세서는 데이터 로캘러티 의존 대기 시간(data locality dependent latency)(액세스 및 전송의 속도) 대 동시성 제어 기반 데이터 액세스 "갭"(concurrency control based data access "gap")을 구별할 수 없기 때문이고, 이것은 데이터 미러링 동시 액세스(data access mirroring concurrent access)를 방해하는 것은 즉시 액세스(instantaneous access)가 아니기 때문이다.
다른 실시예에서, 도 2A 및 2C의 도시의 메모리 모듈들은 4개의 채널 FB-DIMM(Fully-Buffered Dual Inline Memory Module)들을 포함한다. FB-DIMM 메모리는 각 메모리 모듈을 통과하는 양방향 직렬 메모리 버스를 이용한다. FB-DIMM은, 각 FB-DIMM 모듈 내에 조립된 AMB(Advanced Memory Buffer) 칩들에 의해 정확히 제어되는, 패킷들로 메모리 데이터를 전송한다. 본 발명의 일 실시예에서, 4개의 채널 FB-DIMM들은 40G 라인들에 접속되고 FB-DIMM 레인(lane)들에 터미네이트(terminate)된다. AMB는 10 레인 직렬 사우스 바운드(serial south bound) 및 14 레인 직렬 노스 바운드(serial North bound)이다. 도 2C의 AMC 카드에 관하여, AMB는 도 4A의 메모리 컨트롤러로부터 나오는 5 Gbps 미만의 총 대역폭을 갖는 16 레인 패브릭(Lane Fabric)이도록 구성된다. 예를 들면, 레인마다 10G의 속도를 제공할 수 있는 후지쯔 Axel X(후지쯔 마이크로일렉트로닉스 아메리카 제조)와 같은 상업 칩들을 이용하면, 전술한 요건들은 단일 10G 레인의 이용에 의해 만족될 수 있다. 다수의 AMC 또는 다수의 레인들의 이용에 의해 5 Gbps를 초과하는 추가 대역폭이 제공된다. DRAM 측의 직렬화(Serialization) 및 역직렬화(De-serialization)가 있고 프로세서 측의 직렬화 및 역직렬화가 있다는 것을 알 것이다. 스위치의 대기 시간 페널티, 및 직렬화/역직렬화로 인한 직렬화 및 역직렬화 방법들에서의 임의의 오버헤드는 다음의 단락들에서 설명되는 방식으로 극복될 수 있다.
일 실시예에서, 이더넷 스위치 패브릭 내의 대기 시간 및 경합/동시성 문제들은 "억제된 네트워크"(contained network) 내에서 해결된다. (본 명세서에서 설명된 패키징 배열과 같은) "잘 억제된 네트워크"를 통한 결정적 대기 시간(허용 마진 지터(tolerable margin jitter))은 실제로 가능하다. "Enhanced Ethernet Protocol for Shortened Data Frames Within a Constrained Neighborhood Based on Unique ID"라는 명칭의 전술한 출원에 개시된 스위칭 우선 순위, 전용 포트들(전용 메모리 포토들에의 의사 포트(pseudo port)), 이들 포트들 사이에 고유 ID들을 통해 통신하는 것 및 다른 기법들은 대기 시간 및/또는 경합/동시성 관련 문제들을 극복하는 데에 유리하게 이용된다.
다른 실시예에서, 본 발명은 스위칭 방식 이더넷 패브릭을 통해 프로세서-프로세서 상호 접속의 메시 아키텍처(mesh architecture)를 지원하도록 적응될 수 있다. 일 실시예에서, N-1개 접속들이 각 노드에 만들어지고 각 노드는 모든 다른 노드들에 2개의 접속을 갖는다. 다른 실시예들에서, 이더넷 포트/카드의 수, 포트/스위치의 수 및 스위치/패키징 배열의 수의 상이한 조합들이 노드당 접속의 다양한 조합들을 제공한다.
다른 실시예들에서, 비트 스트림 프로토콜 프로세서는 우선 순위화된 스위칭을 가능하게 한다. 이전 단락의 모듈식 및 스케일링 가능한 3차원 칩 아키텍처와 관련하여, 본 발명은 N-계층 계층 구조의 멀티프로세서들의 생성을 허용하고, 여기서 N은 비트 스트림 프로토콜 프로세서 중재된 패브릭에서 프로토콜들의 상이한 서브세트들에 제공되는 우선 순위를 변경함으로써 동적으로 선택 가능하고 하드웨어 독립적인 것이다. 이 실시예는 칩 아키텍처가 메시지 전달 모델 멀티프로세서 머신뿐만 아니라 공유 메모리 모델 머신으로서 구성되는 것을 가능하게 한다. 다르게는, 본 발명의 일 실시예에 따른 아키텍처는 서버, 저장 영역 네트워크 컨트롤러, 그리드 컴퓨팅 기반 모델(grid computing based model)에서의 고성능 네트워크 노드, 또는 전기 통신 네트워크에서의 스위치/라우터로서 구성될 수 있다. 동일한 기본 머신은 원하는 경우 전술한 특수 목적 머신들 중 하나 이상으로 프로그램에 의해 또는 수동으로 변경될 수 있다는 것을 인지할 것이다.
마지막으로, 본 발명은 특정 실시예들에 관하여 설명되었지만, 이 기술 분야의 숙련자들은 그들이 개시된 개념 및 특정 실시예들을 첨부된 청구항들에 의해 정의된 발명의 정신 및 범위에서 벗어남이 없이 본 발명의 동일한 목적을 수행하기 위한 다른 구조들을 설계하거나 수정하기 위한 토대로서 쉽사리 이용할 수 있다는 것을 알 것이다.
본 발명의 청구항들을 해석하기 위해, 본 청구항에서 "~를 위한 수단" 또는 "~를 위한 단계"라는 특정 용어들이 기재되지 않는 한 35 U.S.C의 섹션 112, 6번째 단락의 조항들은 의지되지 않을 것임을 명백히 의도한다.

Claims (19)

  1. 집적 회로 상의 고속 패킷 스위칭 방식 직렬 인터페이스(high-speed packet switched serial interface)를 이용한 프로세서 및 메모리 액세스를 위한 컴퓨팅 및 통신 칩 아키텍처를 구현하는 장치로서,
    적어도 하나의 프로세서 코어; 및
    상기 적어도 하나의 프로세서 코어의 각각과 고유하게 관련된 적어도 하나의 패킷 프로세서 ― 상기 적어도 하나의 패킷 프로세서는 상기 적어도 하나의 프로세서 코어에 고속 패킷 스위칭 방식 직렬 인터페이스를 제공하도록 되어있음 ―
    를 포함하고,
    상기 적어도 하나의 프로세서 코어 및 상기 적어도 하나의 패킷 프로세서는, 상기 고속 패킷 스위칭 방식 직렬 인터페이스가 액세스 가능한 적어도 하나의 외부 포트를 갖는 반도체 다이 패키지 상에 같은 장소에 배치되어(co-located),
    상기 고속 패킷 스위칭 방식 직렬 인터페이스가, 직렬 패킷화된 프로토콜(serial packetized protocol)을 이용하여 상기 적어도 하나의 프로세서 코어를 위한 시스템 메인 메모리로서 구성된 외부 메모리 장치로부터 데이터를 페치하고 상기 외부 메모리 장치에 데이터를 기입하기 위해 필요한 데이터, 어드레스 및 제어 정보를 전송하도록 하는 장치.
  2. 제1항에 있어서,
    복수의 프로세서 코어들 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―; 및
    각 패킷 프로세서에 접속되어 동작 가능하고, 상기 반도체 다이 패키지 상에 같은 장소에 배치되며, 상기 고속 패킷 스위칭 방식 직렬 인터페이스를 통하여 통신되는 다수의 직렬화된 프로토콜들 사이에 변환(translate)하도록 되어있는 적어도 하나의 브리지 인터페이스
    를 더 포함하는 장치.
  3. 제1항에 있어서,
    복수의 프로세서 코어들 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―; 및
    각 패킷 프로세서 및 상기 적어도 하나의 외부 포트에 접속되어 동작 가능하고, 상기 반도체 다이 패키지 상에 같은 장소에 배치되며, 상기 패킷 프로세서들과 상기 적어도 하나의 외부 포트 사이의 직렬 패킷화된 통신들을 중재하도록 되어있는 적어도 하나의 스위치 인터페이스
    를 더 포함하는 장치.
  4. 제1항에 있어서, 상기 프로세서 코어는 그 프로세서 코어에 대해 관련된 적어도 하나의 패킷 프로세서를 통해 액세스되는 캐시 메모리를 더 포함하는 장치.
  5. 제1항에 있어서, 상기 패킷 프로세서는 온-더-플라이 프로그램 가능한 비트 스트림 프로세서(on-the-fly programmable bit stream processor)로서 구현되는 장치.
  6. 제1항에 있어서, 상기 고속 패킷 스위칭 방식 직렬 인터페이스는 이더넷 인터페이스인 장치.
  7. 제1항에 있어서, 상기 고속 패킷 스위칭 방식 직렬 인터페이스는 또한 상기 시스템 메인 메모리에 더하여 외부 패킷 스위칭 방식 네트워크로부터 그리고 상기 외부 패킷 스위칭 방식 네트워크에 데이터를 전송하도록 되어있는 장치.
  8. 제7항에 있어서, 상기 외부 패킷 스위칭 방식 네트워크는 인터넷인 장치.
  9. 집적 회로 상의 고속 패킷 스위칭 방식 직렬 인터페이스를 이용한 프로세서 및 메모리 액세스를 위한 컴퓨팅 및 통신 칩 아키텍처를 구현하는 방법으로서,
    적어도 하나의 프로세서 코어 및 상기 적어도 하나의 프로세서 코어의 각각과 고유하게 관련된 적어도 하나의 패킷 프로세서가 같은 장소에 배치된 반도체 다이 패키지를 제공하는 단계 ― 상기 적어도 하나의 패킷 프로세서는 상기 적어도 하나의 프로세서 코어에 고속 패킷 스위칭 방식 직렬 인터페이스를 제공하도록 되어있음 ―; 및
    직렬 패킷화된 프로토콜을 이용하여 상기 적어도 하나의 프로세서 코어를 위한 시스템 메인 메모리로서 구성된 외부 메모리 장치로부터 데이터를 페치하고 상기 외부 메모리 장치에 데이터를 기입하기 위해 필요한 데이터, 어드레스 및 제어 정보를 전송하기 위해 상기 고속 패킷 스위칭 방식 직렬 인터페이스를 이용하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 반도체 다이 패키지 상에 복수의 프로세서 코어들을 제공하는 단계 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―;
    각 패킷 프로세서에 접속되어 동작 가능하며 상기 반도체 다이 패키지 상에 같은 장소에 배치된 적어도 하나의 브리지 인터페이스를 제공하는 단계; 및
    상기 고속 패킷 스위칭 방식 직렬 인터페이스를 통하여 통신되는 다수의 직렬화된 프로토콜들 사이에 변환하기 위해 상기 적어도 하나의 브리지 인터페이스를 이용하는 단계
    를 더 포함하는 방법.
  11. 제9항에 있어서,
    상기 반도체 다이 패키지 상에 복수의 프로세서 코어들을 제공하는 단계 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―;
    각 패킷 프로세서 및 적어도 하나의 외부 포트에 접속되어 동작 가능하며 상기 반도체 다이 패키지 상에 같은 장소에 배치된 적어도 하나의 스위치 인터페이스를 제공하는 단계; 및
    상기 패킷 프로세서들과 상기 적어도 하나의 외부 포트 사이의 직렬 패킷화된 통신들을 중재하기 위해 상기 적어도 하나의 스위치 인터페이스를 이용하는 단계
    를 더 포함하는 방법.
  12. 제9항에 있어서, 상기 반도체 다이 패키지 상에, 상기 적어도 하나의 프로세서 코어에 대해 관련된 적어도 하나의 패킷 프로세서를 통해 액세스되도록 되어있는 상기 적어도 하나의 프로세서 코어에 대한 캐시 메모리를 제공하는 단계를 더 포함하는 방법.
  13. 제9항에 있어서, 상기 고속 패킷 스위칭 방식 직렬 인터페이스는 또한 상기 시스템 메인 메모리에 더하여 외부 패킷 스위칭 방식 네트워크로부터 그리고 상기 외부 패킷 스위칭 방식 네트워크에 데이터를 전송하는 방법.
  14. 반도체 다이 패키지 상의 집적 회로 상의 고속 패킷 스위칭 방식 직렬 인터페이스를 이용한 프로세서 및 메모리 액세스를 위한 컴퓨팅 및 통신 칩 아키텍처를 구현하기 위한 명령어들이 기록되어 있는 컴퓨터 판독 가능한 매체로서,
    적어도 하나의 프로세서 코어의 각각과 고유하게 관련된 적어도 하나의 패킷 프로세서와 상기 반도체 다이 패키지 상에 같은 장소에 배치된 상기 적어도 하나의 프로세서 코어를 정의하는 명령어들 ― 상기 적어도 하나의 패킷 프로세서는 상기 적어도 하나의 프로세서 코어에 고속 패킷 스위칭 방식 직렬 인터페이스를 제공하도록 되어있음 ―; 및
    상기 고속 패킷 스위칭 방식 직렬 인터페이스가 액세스 가능한 적어도 하나의 외부 포트를 상기 반도체 다이 패키지에 정의하는 명령어들
    을 포함하여,
    상기 고속 패킷 스위칭 방식 직렬 인터페이스가, 직렬 패킷화된 프로토콜을 이용하여 상기 적어도 하나의 프로세서 코어를 위한 시스템 메인 메모리로서 구성된 외부 메모리 장치로부터 데이터를 페치하고 상기 외부 메모리 장치에 데이터를 기입하기 위해 필요한 데이터, 어드레스 및 제어 정보를 전송하도록 하는, 컴퓨터 판독 가능한 매체.
  15. 제14항에 있어서,
    상기 반도체 다이 패키지 상에 복수의 프로세서 코어들을 정의하는 명령어들 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―; 및
    각 패킷 프로세서에 접속되어 동작 가능하고, 상기 반도체 다이 패키지 상에 같은 장소에 배치되며, 상기 고속 패킷 스위칭 방식 직렬 인터페이스를 통하여 통신되는 다수의 직렬화된 프로토콜들 사이에 변환하기 위해 이용되도록 되어있는 적어도 하나의 브리지 인터페이스를 정의하는 명령어들
    을 더 포함하는, 컴퓨터 판독 가능한 매체.
  16. 제14항에 있어서,
    상기 반도체 다이 패키지 상에 복수의 프로세서 코어들을 정의하는 명령어들 ― 각 프로세서 코어는 고유하게 관련된 적어도 하나의 패킷 프로세서를 가짐 ―; 및
    각 패킷 프로세서 및 상기 적어도 하나의 외부 포트에 접속되어 동작 가능하며 상기 반도체 다이 패키지 상에 같은 장소에 배치되어, 상기 패킷 프로세서들과 상기 적어도 하나의 외부 포트 사이의 직렬 패킷화된 통신들을 중재하는 적어도 하나의 스위치 인터페이스를 정의하는 명령어들
    을 더 포함하는, 컴퓨터 판독 가능한 매체.
  17. 제14항에 있어서, 상기 적어도 하나의 프로세서 코어에 대해 관련된 적어도 하나의 패킷 프로세서를 통해 액세스되도록 되어있는 상기 적어도 하나의 프로세서 코어에 대한 캐시 메모리를 정의하는 명령어들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  18. 제14항에 있어서, 상기 반도체 다이 패키지는 FPGA(field programmable gate array)이고, 상기 명령어들은 상기 FPGA를 구성하도록 되어있는 펌웨어인, 컴퓨터 판독 가능한 매체.
  19. 제14항에 있어서, 상기 반도체 다이 패키지는 ASIC(application specific integrated circuit)이고, 상기 명령어들은 상기 ASIC를 구성하도록 되어있는 펌웨어인, 컴퓨터 판독 가능한 매체.
KR1020097018172A 2007-02-02 2008-02-04 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처 KR101453581B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88798907P 2007-02-02 2007-02-02
US60/887,989 2007-02-02
PCT/US2008/052969 WO2008095201A1 (en) 2007-02-02 2008-02-04 Processor chip architecture having integrated high-speed packet switched serial interface

Publications (2)

Publication Number Publication Date
KR20090104137A KR20090104137A (ko) 2009-10-05
KR101453581B1 true KR101453581B1 (ko) 2014-10-22

Family

ID=39674524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018172A KR101453581B1 (ko) 2007-02-02 2008-02-04 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처

Country Status (4)

Country Link
US (5) US7822946B2 (ko)
KR (1) KR101453581B1 (ko)
CN (1) CN101918931B (ko)
WO (1) WO2008095201A1 (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912075B1 (en) * 2006-05-26 2011-03-22 Avaya Inc. Mechanisms and algorithms for arbitrating between and synchronizing state of duplicated media processing components
US8392634B2 (en) * 2007-03-09 2013-03-05 Omron Corporation Programmable controller with building blocks having modules that can be combined into a single unit
US8379656B2 (en) 2009-09-04 2013-02-19 Equinix, Inc. Real time configuration and provisioning for a carrier ethernet exchange
US8612711B1 (en) 2009-09-21 2013-12-17 Tilera Corporation Memory-mapped data transfers
US9082091B2 (en) 2009-12-10 2015-07-14 Equinix, Inc. Unified user login for co-location facilities
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US9081653B2 (en) 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
TW201322697A (zh) * 2011-11-30 2013-06-01 Hon Hai Prec Ind Co Ltd 基板管理控制器、電子裝置及其控制方法
CN102591602B (zh) * 2011-12-30 2014-07-09 浙江大学 一种基于多核处理器的高速数码印花处理***及方法
US9525621B2 (en) * 2012-08-29 2016-12-20 Marvell World Trade Ltd. Semaphore soft and hard hybrid architecture
WO2014059037A2 (en) * 2012-10-09 2014-04-17 Cupp Computing As Transaction security systems and methods
US9129071B2 (en) * 2012-10-24 2015-09-08 Texas Instruments Incorporated Coherence controller slot architecture allowing zero latency write commit
CN103838689B (zh) * 2012-11-23 2016-11-23 普诚科技股份有限公司 接口传输方法以及数据传输***
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9201837B2 (en) * 2013-03-13 2015-12-01 Futurewei Technologies, Inc. Disaggregated server architecture for data centers
US9252131B2 (en) * 2013-10-10 2016-02-02 Globalfoundries Inc. Chip stack cache extension with coherency
CN103647708A (zh) * 2013-11-29 2014-03-19 曙光信息产业(北京)有限公司 基于atca的数据报文处理板
WO2015127327A1 (en) * 2014-02-23 2015-08-27 Rambus Inc. Distributed procedure execution and file systems on a memory interface
US10397634B2 (en) * 2014-03-25 2019-08-27 Synamedia Limited System and method for synchronized presentation of video timeline metadata
US9407574B2 (en) 2014-04-17 2016-08-02 Adva Optical Networking Se Using SerDes loopbacks for low latency functional modes with full monitoring capability
US9491886B1 (en) * 2014-08-29 2016-11-08 Znyx Networks, Inc. Compute and networking function consolidation
EP3001610B1 (en) * 2014-09-29 2017-05-24 F5 Networks, Inc Methods for sharing bandwidth across a packetized bus and systems thereof
US9971733B1 (en) 2014-12-04 2018-05-15 Altera Corporation Scalable 2.5D interface circuitry
KR102237991B1 (ko) 2015-03-20 2021-04-08 한국전자통신연구원 Pci 익스프레스 전용 통신 모듈을 이용한 통신 방법과 이를 포함하는 네트워크 장치
US20160292117A1 (en) * 2015-03-30 2016-10-06 Integrated Device Technology, Inc. Methods and Apparatus for Efficient Network Analytics and Computing Card
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
CN104794088B (zh) * 2015-04-22 2018-05-01 成都为开微电子有限公司 一种多接口总线转换扩展芯片设计
JP2016225943A (ja) * 2015-06-03 2016-12-28 富士通株式会社 装置状態の復旧システム,及びシステムの装置状態復旧方法
US10091904B2 (en) * 2016-07-22 2018-10-02 Intel Corporation Storage sled for data center
US10225230B2 (en) 2016-12-14 2019-03-05 Raytheon Company System and method for address-mapped control of field programmable gate array (FPGA) via ethernet
CN108268940B (zh) * 2017-01-04 2022-02-18 意法半导体股份有限公司 用于创建可重新配置的互连框架的工具
US11095556B2 (en) 2017-06-30 2021-08-17 Intel Corporation Techniques to support multiple protocols between computer system interconnects
US11249808B2 (en) 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
RU183879U1 (ru) * 2017-10-25 2018-10-08 Публичное акционерное общество "Институт электронных управляющих машин им. И.С. Брука" Процессорный модуль
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
CN110297793B (zh) * 2018-03-22 2021-07-23 杭州海康威视数字技术股份有限公司 芯片识别方法、装置及电子设备
US11951131B2 (en) 2018-07-03 2024-04-09 The United States Of America, As Represented By The Secretary, Department Of Health And Human Services Anti-SLAMF7 chimeric antigen receptors
US11789883B2 (en) * 2018-08-14 2023-10-17 Intel Corporation Inter-die communication of programmable logic devices
US10871906B2 (en) 2018-09-28 2020-12-22 Intel Corporation Periphery shoreline augmentation for integrated circuits
KR20200066774A (ko) 2018-12-03 2020-06-11 삼성전자주식회사 반도체 장치
CN109669729B (zh) * 2018-12-26 2022-11-01 杭州迪普科技股份有限公司 一种处理器的启动引导方法
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN109522265A (zh) * 2019-01-17 2019-03-26 蓝怡科技集团股份有限公司 一种数据交换装置和方法
CN110262993B (zh) * 2019-06-11 2022-02-08 浙江华创视讯科技有限公司 输入信息的读取方法及电路、存储介质、电子装置
US11176065B2 (en) * 2019-08-12 2021-11-16 Micron Technology, Inc. Extended memory interface
US11164847B2 (en) 2019-12-03 2021-11-02 Intel Corporation Methods and apparatus for managing thermal behavior in multichip packages
CN112039805B (zh) * 2020-08-27 2021-09-03 成都坤恒顺维科技股份有限公司 一种低时延抖动高速信号交换***
US12007929B2 (en) 2020-10-09 2024-06-11 Altera Corporation Low-latency optical connection for CXL for a server CPU
CN112395233A (zh) * 2020-11-30 2021-02-23 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于cpu和sdi芯片的软件定义交换***及方法
RU208501U1 (ru) * 2021-06-28 2021-12-22 Общество с ограниченной ответственностью "Форк" Системная плата
CN113594077B (zh) * 2021-07-22 2024-03-08 重庆双芯科技有限公司 一种多级芯片串联***芯片定位方法及多级芯片串联***
CN114063520B (zh) * 2021-11-17 2024-03-12 首都师范大学 交换机、通信***及控制方法
CN114490502A (zh) * 2022-01-04 2022-05-13 超越科技股份有限公司 一种基于飞腾处理器的计算机主板
CN115903613B (zh) * 2022-12-15 2024-06-21 鹏城实验室 基于risc-v核的工业控制及通信芯片架构
CN118069570A (zh) * 2024-04-19 2024-05-24 沐曦集成电路(上海)有限公司 一种门铃式芯片访问***、装置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080158177A1 (en) 2007-01-03 2008-07-03 Apple Inc. Master/slave mode for sensor processing devices

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
CA2051222C (en) * 1990-11-30 1998-05-05 Pradeep S. Sindhu Consistent packet switched memory bus for shared memory multiprocessors
US6453388B1 (en) * 1992-06-17 2002-09-17 Intel Corporation Computer system having a bus interface unit for prefetching data from system memory
US5347514A (en) * 1993-03-26 1994-09-13 International Business Machines Corporation Processor-based smart packet memory interface
US5544162A (en) * 1995-01-10 1996-08-06 International Business Machines Corporation IP bridge for parallel machines
US5613071A (en) * 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
US6434156B1 (en) * 1998-07-24 2002-08-13 Nortel Networks Limited Virtual switching for interconnected networks
US6928505B1 (en) * 1998-11-12 2005-08-09 Edwin E. Klingman USB device controller
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US6778548B1 (en) * 2000-06-26 2004-08-17 Intel Corporation Device to receive, buffer, and transmit packets of data in a packet switching network
US6731652B2 (en) * 2001-02-14 2004-05-04 Metro Packet Systems Inc. Dynamic packet processor architecture
US7401126B2 (en) * 2001-03-23 2008-07-15 Neteffect, Inc. Transaction switch and network interface adapter incorporating same
JP2003084919A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd ディスクアレイ装置の制御方法およびディスクアレイ装置
US6981110B1 (en) * 2001-10-23 2005-12-27 Stephen Waller Melvin Hardware enforced virtual sequentiality
US20040019704A1 (en) * 2002-05-15 2004-01-29 Barton Sano Multiple processor integrated circuit having configurable packet-based interfaces
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
US20050281282A1 (en) * 2004-06-21 2005-12-22 Gonzalez Henry J Internal messaging within a switch
US7453904B2 (en) * 2004-10-29 2008-11-18 Intel Corporation Cut-through communication protocol translation bridge

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080158177A1 (en) 2007-01-03 2008-07-03 Apple Inc. Master/slave mode for sensor processing devices

Also Published As

Publication number Publication date
US20130007414A1 (en) 2013-01-03
US8234483B2 (en) 2012-07-31
US20160147689A1 (en) 2016-05-26
US10437764B2 (en) 2019-10-08
US20110035571A1 (en) 2011-02-10
US8924688B2 (en) 2014-12-30
CN101918931A (zh) 2010-12-15
US9940279B2 (en) 2018-04-10
US7822946B2 (en) 2010-10-26
WO2008095201A1 (en) 2008-08-07
CN101918931B (zh) 2013-09-04
US20080244150A1 (en) 2008-10-02
KR20090104137A (ko) 2009-10-05
US20180143930A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
US10437764B2 (en) Multi protocol communication switch apparatus
US8165111B2 (en) Telecommunication and computing platforms with serial packet switched integrated memory access technology
KR100690557B1 (ko) 시스템 온 칩 디자인을 위한 컴포넌트로서의 독립프로세서 서브시스템
US10924430B2 (en) Streaming platform flow and architecture for an integrated circuit
US10725942B2 (en) Streaming platform architecture for inter-kernel circuit communication for an integrated circuit
CN112970010B (zh) 流式传输平台流和架构
KR102654610B1 (ko) 멀티스테이지 부트 이미지 로딩 및 프로그램가능 로직 디바이스들의 구성
US20200242059A1 (en) HyperConverged NVMF Storage-NIC Card
CN117651940A (zh) 管芯到管芯互连
Sano et al. ESSPER: Elastic and scalable FPGA-cluster system for high-performance reconfigurable computing with supercomputer Fugaku
Wu et al. A flexible FPGA-to-FPGA communication system
Chou et al. Sharma et al.
WO2008013888A2 (en) Telecommunication and computing platforms with seria packet switched integrated memory access technolog
Geer Networks on processors improve on-chip communications
Wu et al. A flexible FPGA-to-FPGA interconnect interface design and implementation
JP2006513489A (ja) クラスタ化されたコンピュータシステムのための適応プロセッサノードのスケーラブルな相互接続のためのシステムおよび方法
Nüßle Acceleration of the hardware-software interface of a communication device for parallel systems
Mas et al. Network-on-chip: The intelligence is in the wire
Litz Improving the scalability of high performance computer systems
Paulson The ins and outs of new local I/O trends
Duato Introduction to Network Architectures
Wong A message controller for distributed processing systems
Sha et al. Design of Cloud Server Based on Godson Processors
Moh et al. KinCA: An InfiniBand host channel adapter based on dual processor cores

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
LAPS Lapse due to unpaid annual fee