KR20050083730A - 데이터 교환용 집적 회로 및 방법 - Google Patents

데이터 교환용 집적 회로 및 방법 Download PDF

Info

Publication number
KR20050083730A
KR20050083730A KR1020057005986A KR20057005986A KR20050083730A KR 20050083730 A KR20050083730 A KR 20050083730A KR 1020057005986 A KR1020057005986 A KR 1020057005986A KR 20057005986 A KR20057005986 A KR 20057005986A KR 20050083730 A KR20050083730 A KR 20050083730A
Authority
KR
South Korea
Prior art keywords
module
network
data
integrated circuit
transaction
Prior art date
Application number
KR1020057005986A
Other languages
English (en)
Other versions
KR101016987B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32088020&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20050083730(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050083730A publication Critical patent/KR20050083730A/ko
Application granted granted Critical
Publication of KR101016987B1 publication Critical patent/KR101016987B1/ko

Links

Classifications

    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Computer And Data Communications (AREA)
  • Microcomputers (AREA)

Abstract

제 1 모듈과 하나 이상의 제 2 모듈(M,S) 사이에 하나 이상의 접속을 제공하기 위해 배열되는 복수의 프로세싱 모듈(M,S) 및 네트워트(N;RN)을 포함하는 집적 회로가 제공된다. 이 접속은 제 1 모듈로부터 제 2 모듈로의 아웃고잉 메시지 및 리턴 메시지를 포함하는 트랜잭션을 지원한다. 이 집적 회로는 제 1 모듈 및 제 2 모듈에 의해 교환되는 드로핑 데이타를 드로핑하기 위한 하나 이상의 드로핑 수단(DM)을 포함한다. 따라서, 트랜잭션 완료를 위한 선택적인 계획이 제공되어, 완전하고 신속한 트랙잭션 완료가 소정 케이스에 적용될 수 있다. 본 발명은 소정 케이스에서 데이터의 드로핑을 허용하는 아이디어에 기초한다.

Description

데이터 교환용 집적 회로 및 방법{INTEGRATED CIRCUIT AND METHOD FOR EXCHANGING DATA}
본 발명은 복수의 프로세싱 모듈 및 프로세싱 모듈들 사이의 접속을 제공하는 네트워크를 갖는 집적 회로 및 그러한 집적 회로에서 메시지를 교환하는 방법에 관한 것이다.
실리콘 상의 시스템은, 새로운 특성을 구현하고 기존 기능을 향상시키기 위한 필요성이 계속해서 증가함으로 인해 지속적으로 복잡해지고 있다. 이것은 구성 요소들이 집적 회로 상에 집적될 수 있도록 밀도를 증가시킴으로써 가능하다. 동시에 회로가 동작되는 클록 속도도 증가되는 경향이 있다. 구성 요소의 증가된 밀도와 높은 클록 속도는 동일한 클록 도메인 내에서 동기적으로(synchronously) 동작할 수 있는 영역을 감소시켰다. 이것은 모듈형 접근 방식에 대한 필요성을 만들었다. 그러한 접근 방식에 따르면, 프로세싱 시스템은 비교적 독립적이고 복잡한 복수의 모듈을 포함한다. 종래의 프로세싱 시스템에서, 시스템 모듈은 통상적으로 버스를 통해 상호 통신한다. 그러나, 모듈의 수가 증가함에 따라, 이 방식의 통신은 후술하는 이유로 인해 더 이상 실용적이지 않다. 먼저, 많은 수의 모듈은 너무 높은 버스 부하를 초래한다. 다른 한편으로는, 버스는 하나의 소자만이 그 버스에 데이터를 전송하도록 하기 때문에 통신 병목을 초래한다. 통신 네트워크는 이들 단점을 극복하기 위한 효율적인 방식을 제공한다.
고도로 복잡한 칩에서의 상호 접속 문제에 대한 해결책으로서 최근 네트워크온 칩(Network on Chip: NoC)이 상당한 주목을 받고 있다. 그 이유는 두 가지이다. 첫째로, NoC는 전체적인 와이어를 구성하고 운영하기 때문에 새로운 딥-서브마이크론(deep-submicron)에서의 전기적 문제점을 해결하는 데 도움을 준다. 동시에 NoC는 와이어를 공유하여, 그 수를 감소시키며 그 유용성을 증가시킨다. 또한, NoC는 에너지 효율적이고 신뢰성 있으며, 버스에 비해 스케일 가능하다(scalable). 또한, 둘째로, NoC는 통신으로부터 연산을 분리하는데, 이는 수십억개의 트랜지스터 칩의 설계를 운영하는데 필수적이다. 전형적으로, NoC는 서비스 구현으로부터 통신 서비스 이용을 구별하는 잘 정의된 인터페이스를 제공하는 프로토콜 스택을 이용하여 설계되기 때문에, 이 분리를 달성한다.
그러나, 시스템 온 칩(System on Chip: SoC)을 설계하는 경우에 단일 칩 통신용 네트워크를 이용하는 것은 고려해야 할 새로운 문제점을 일으킨다. 이것은, 통신 모듈이 집적 접속되는 기존 단일 칩 상호 접속(예; 버스, 스위치, 또는 점대점 와이어)과 대조적으로 NoC에서는 모듈이 네트워느 노드를 통해 원격적으로 통신하기 때문이다. 결과적으로, 상호 접속 중계가 집중형에서 분산형으로 변하며, 비순차 트랜잭션과 높은 지연을 일으키고, 종점간 흐름 제어는 지적 재산권(IP) 블록 또는 네트워크에 의해 처리되어야 한다.
이들 문제점의 대부분은 이미 근거리 네트워크와 광대역 네트워크(컴퓨터 네트워크) 분야 및 평행 머신 상호 접속 네트워크를 위한 상호 접속으로서 연구 주제였다. 양자는 온-칩 네트워크에 상당히 관련이 있으며, 또한, 그 분야에서의 많은 결과들이 칩에 적용 가능하다. 그러나, NoC의 구역(premises)은 오프-칩 네트워크와 상이하며, 그러므로, 네트워크 설계 선택의 대부분은 재평가되어야 한다. 온-칩 네트워크는 상이한 설계 선택을 유도하는 상이한 특성(예; 보다 엄격한 링크 동기화) 및 제한(보다 높은 메모리 비용)을 가지며, 이는 네트워크 서비스에 결정적인 영향을 미친다.
NoC는 주로 그 제한 및 동기화에 있어서 오프-칩 네트워크와는 상이하다. 전형적으로, 리소스 제한이 오프 칩에서보다 온 칩에서 엄격하다. 점대점 링크의 수가 오프 칩에서보다 온 칩에서 많은 데 반해, 스토리지(즉, 메모리) 및 연산 리소스는 상대적으로 더 고가이다. RAM과 같은 범용 온-칩 메모리가 많은 영역을 차지하기 때문에 스토리지가 고가이다. 메모리의 오버헤드 영역이 우세해지기 때문에, 메모리를 비교적 작은 사이즈로 네트워크 구성 요소에서 분산되게 하는 것은 더욱 나쁘다.
온-칩 네트워크에 있어서, 연산하는 데 오프-칩 네트워크에 비해 상대적으로 높은 비용이 든다. 오프-칩 네트워크 인터페이스는 통상적으로 네트워크 계층 또는 훨씬 높은 층으로 프로토콜 스택 업(stack up)을 구현하는 전용 프로세서를 보유하여, 호스트 프로세서를 통신 프로세싱으로부터 해제시킨다. 네트워크 인터페이스의 사이즈가 네트워크에 접속되는 IP와 유사하거나 더 커지기 때문에, 네트워크 인터페이스에 전용 프로세서를 포함시키는 것은 온 칩에서는 가능하지 않다. 또한, 간혹 이들 IP가 단지 하나의 전용 기능만을 가지며 네트워크 프로토콜 스택을 운영할 능력이 없기 때문에, 프로토콜 스택을 IP 그 자체 상에서 운영하는 것 역시 가능하지 않다.
네트워크 구성 요소를 접속시키는 와이어 및 핀의 수는 오프 칩에서보다 온 칩에서 훨씬 많다. 만일 와이어 및 핀이 NoC 통신 이외의 기타 목적에 대량으로 이용되지 않는다면, 광대역 점대점 상호 접속(예; 300 비트 링크)이 허용될 것이다. 이것은 링크가 비교적 좁은 오프 칩(8~16 비트)에서는 가능하지 않다.
또한, 온-칩 와이어는 오프 칩보다 상대적으로 짧아서 오프 칩보다 훨씬 엄격한 동기화를 허용한다. 이것은, 통신이 보다 작은 단위(granularity)에서 수행될 수 있기 때문에, 라우터의 버퍼 공간의 감소를 허용한다. 최근의 반도체 기술에서, 와이어 또한 신속하고 신뢰성 있어서, 보다 간단한 링크-계층 프로토콜을 허용한다(예를 들어, 에러 교정 또는 재전송의 필요가 없음). 또한, 이것은 메모리 및 연산적 리소스의 부족을 보상한다.
신뢰성 있는 통신: 엄격한 온-칩 리소스 제한의 중요성은 네트워크 구성 요소(즉, 라우터 및 네트워크 인터페이스)가 연산 및 메모리 요건을 최소화시키기 위해 매우 간단해야 한다는 것이다. 다행스럽게도, 온-칩 와이어는, 신뢰성 있는 통신을 제공하기 위해 오프-칩 네트워크에 의해 초래되는 상당한 오버헤드를 피하도록 도울 수 있는 신뢰성 있는 통신 매체를 제공한다. 데이터 링크 계층에서 데이터 무결성이 저비용으로 제공될 수 있다.
교착 상태(Deadlock): 일반적으로 컴퓨터 네트워크 기술은 불규칙적인(동적인) 구조를 가지며, 이는 버퍼 사이클을 유도한다. 또한, 예를 들어, 토폴로지 또는 라우팅에 제한을 유도함으로써 교착 상태를 피할 수 있다. 버퍼 오버플로우의 경우에 네트워크의 패킷을 되돌려 보냄으로써 교착 상태를 피할 수 있는 팻 트리형 토폴로지(fat-tree topologies)가 NoC용으로 이미 고려되었다. 시스템 설계를 위한 타일(tile)에 기초하는 접근은, 예를 들어, 턴-모델(turn-model) 라우팅 알고리즘을 이용하여 교착 상태를 피할 수 있는 망형(mesh) 또는 원환면(torus) 네트워크 토폴로지를 이용한다. 교착 상태는 주로 버퍼의 사이클에 의해 발생된다. 교착 상태를 피하기 위해, 라우팅은 저비용으로 신뢰성 있는 통신을 달성하므로 사이클 제한이 없어야 한다. 교착 상태의 제 1 원인은 트랜잭션의 원자 체인(atomic chain)이다. 그 이유는 모듈이 고정되는 동안, 트랜잭션을 저장하는 큐가 고정된 모듈에 도달하려는 체인에서의 트랜잭션의 액세스를 차단하며 원자 트랜잭션 체인 외부의 트랜잭션으로 채워질 수 있기 때문이다. 만일 원자 트랜잭션 체인이 구현되어야 한다면(MIPS와 같은 것들을 허용하는 프로세서와 호환성이 있어야 한다면), 네트워크 노드는 원자 체인의 트랜잭션을 필터링할 수 있어야 한다.
네트워크 플로우 제어 및 버퍼링 방안: 네트워크 플로우 제어 및 버퍼링 방안은 네트워크의 메모리 이용에 직접적인 영향을 끼친다. 웜홀(wormhole) 라우팅은 라우터에서 (큐 당) 단지 하나의 플릿 버퍼(flit buffer)만을 요구하는 데 반해, 스토어-앤드-포워드 라우팅(store-and-forward routing) 및 버츄얼-컷-스루 라우팅(virtual-cut-thruogh)은 적어도 패킷을 수용할 버퍼 공간을 요구한다. 따라서, 온 칩에서는, 웜홀 라우팅이 버츄얼-컷-스루 라우팅 또는 스토어-앤드-포워드 라우팅보다 바람직할 것이다. 유사하게, 인풋 큐잉(input queuing)이 보다 적은 큐를 가지므로 버츄얼-아웃풋-큐잉 또는 아웃풋-큐잉을 대체하여 적은 메모리 비용이 들 것이다. 또한, 전용(저비용) FIFO 메모리 구조는 보다 우수한 성능을 위해 버츄얼-컷-스루 라우팅 또는 버츄얼 아웃풋 큐잉의 이용을 가능하게 한다. 그러나, 버츄얼-컷-스루 라우팅과 버츄얼 아웃풋 큐잉을 동시에 이용하는 것은 너무 고비용이 든다.
시간 관련 보장: 전형적으로 오프-칩 네트워크는 패킷 교환을 이용하며 최선형(best-effort) 서비스를 제공한다. 각 네트워크 노드에 충돌이 발생할 수 있어서, 지연 보장을 제공하기 매우 어렵다. 레이트-기반 교환 또는 데드라인-기반 패킷 교환과 같은 기법을 이용하여 스루풋 보장이 제공될 수 있지만 높은 버퍼링 비용을 갖는다. 그러한 시간-관련 보증을 제공하는 대안은, 모든 회로가 하나의 네트워크 접속에 전용되는 시분할 다중 접속(TDMA) 회로를 이용하는 것이다. 회로는 비교적 낮은 메모리 비용 및 연산 비용으로 보장을 제공한다. 네트워크 리소스 이용은 네트워크 아키텍쳐가 보장된 대역폭의 어떤 나머지가 최선형 통신에 의해 이용되도록 허용하는 경우에 증가된다.
네트워크를 온-칩 상호 접속으로서 유도하는 것은 버스 또는 스위치와 같은 직접 상호 접속과 비교하면 근본적으로 통신을 변화시킨다. 이것은, 통신 모듈이 직접 접속되지는 않지만 하나 또는 그 이상의 네트워크 노드에 의해 분리되는, 하나의 네트워크에 대한 멀티-홉(multi-hop) 성질로 인한 것이다. 이것은 모듈이 직접 접속되는 기존의 보급된 상호 접속(즉, 버스)에 대조적이다. 이 변화의 의미는 (집중형에서 분산형으로 변화해야 하는) 중재 및 통신 특성(예; 순서화(ordering), 또는 플로우 제어)에 있다.
NoC와 버스의 차이점의 개요를 후술할 것이다. 최근에 가장 많이 이용되는 온-칩 상호 접속은 버스이므로, 직접 상호 접속으로서 주로 버스를 언급한다. 또한, 버스 특성의 대부분은 기타 직접 상호 접속(예를 들어, 스위치)에 대해 적용된다. 멀티레벨 버스는 버스와 NoC의 혼성물이다. 설명을 위해, 브릿지의 기능성에 의존하여, 멀티레벨 버스는 간단한 버스 또는 NoC처럼 동작한다. 전형적으로, 버스의 프로그래밍 모듈은 원시 버스 트랜잭션의 시퀀스로서 구현되는 로딩 및 저장 동작으로 구성된다. 전형적으로, 버스 인터페이스는 명령, 주소, 데이터 작성 및 데이터 판독을 위한 와이어 그룹에 전용된다. 버스는 다중 IP에 의해 공유되는 리소스이다. 그러므로, 버스를 이용하기 전에, IP는 버스에 액세스를 요구하는 중재 단계를 거쳐야 하고, 버스가 인증될 때까지 차단된다.
버스 트랜잭션은 요구를 포함하며 가능하다면 응답을 포함할 수 있다. 요구를 발신하는 모듈을 마스터라고 하고, 요구에 따르는 모듈을 슬레이브라고 한다. 만일 한 쌍의 요구-응답에 대해 하나의 중재가 존재하면, 그 버스는 비분할(non-split)이라고 한다. 이 경우에, 버스는 장시간이 걸리더라도 응답이 도달될 때까지 트랜잭션 마스터에 할당된 채로 남게 된다. 이와 달리, 분할 버스(split bus)에서는 버스는 여러 마스터로부터의 트랜잭션이 초기화되도록 허용하는 요구 후에 해제된다. 그러나, 슬레이브가 버스에 액세스할 수 있도록 응답에 대한 새로운 중재가 수행되어야 한다.
분할 버스 및 비분할 버스 모두에 있어서, 양자 모두 트랜잭션 상태로의 직접적이고 즉각적인 액세스를 갖는다. 대조적으로, 네트워크 트랜잭션은 소스의 출력 버퍼로부터 목적지에서 어떤 동작을 일으키는 목적지의 입력 버퍼로의 단방향 전송자이고, 동작의 발생은 소스에서 가시적이지 않다. 네트워크 트랜잭션의 효과는 추가적인 트랜잭션을 통해서만 관측 가능하다. 요구-응답 타입의 동작이 여전히 가능하지만, 2개 이상의 별도의 네트워크 트랜잭션이 필요하다. 따라서, NoC에서 버스형 트랜잭션은 필수적으로 분할 트랜잭션일 것이다.
또한, 프로토콜 스택의 각 계층의 네트워크에서, 데이터와 함께 제어 정보(예를 들어, 패킷 타입, 네트워크 어드레스, 또는 패킷 사이즈)가 제공되어야 한다. 이 제어 정보는 엔벨로프(envelope)로서 데이터 주변에 구성된다. 즉, 우선 헤더가 송신되고, 그 후 실제 데이터(페이로드: payload)가 후속되고 나서, 트레일러가 후속될 수도 있다. 그러한 다중 엔벨로프는 각각 네트워크 프로토콜 스택의 각 계층에 대해 대응하는 제어 정보를 지닌 동일한 데이터에 제공된다.
버퍼링 및 플로우 제어: 통신으로부터 연산을 분리하기 위해 마스터의 버퍼링 데이터(출력 버퍼링)가 버스 및 NoC 모두에 이용된다. 그러나, NoC에 있어서 출력 버퍼링은 데이터를 마샬링하는(marshal) 데에도 필요하며, 마샬링은 (a)네트워크에 의해 전송되는 작은 패킷의 인출 데이터를 분할하고, (b)데이터 주변의 네트워크에 제어 정보를 추가하는 것(packet header)으로 구성된다. 출력 버퍼 오버플로우를 피하기 위해, 마스터는 현재 이용 가능한 공간보다 많은 데이터를 발생시키는 트랜잭션을 초기화해서는 안된다. 출력 버퍼링에 유사하게, 입력 버퍼링 또한 통신에서 연산을 분리하는 데 이용된다. NoC에서, 입력 버퍼링 또한 데이터를 언마샬링하는 데 필요하다.
또한, 입력 버퍼에 대한 플로우 제어는 버스 및 NoC에 대한 플로우 제어와 상이하다. 버스에 있어서, 소스와 목적지는 직접 링크되므로, 목적지는 직접 소스에 송신할 수 있어서 버스는 데이터를 수신할 수 없다. 이 정보는 전체 버퍼에 기록하려고 하는 트랜잭션에 버스가 인증되지 않도록 중재자에 이용 가능할 수도 있다.
그러나, NoC에서, 트랜잭션의 목적지는 직접 소스에 송신할 수 없어서 NoC의 입력 버퍼가 가득차게 된다. 결과적으로, 목적지의 입력 버퍼가 가득 찬 후, 아마도 다중 소스로부터 목적지로의 트랜잭션이 시작될 수 있다. 만일 입력 버퍼가 가득 차면, 추가적인 인입 전이는 수용되지 않고, 네트워크에 저장된다. 그러나, 이 접근 방안은 결국 데이터가 소스로 가는 동안 저장될 수 있기 때문에 네트워크 정체, 백 프레셔(back pressure) 및 교착 상태를 유발하기 쉬워서 그 사이에서 링크를 블로킹하게 된다.
마스터가 슬레이브에 데이터를 송신할 필요가 있는 경우, 마스터의 버퍼 공간이 가득 차 있으면 마스터는 슬레이브에 의해 직접 중지될 수 없다. 버퍼 오버플로우를 피하기 위해서는, 즉, 추가적인 버퍼 공간이 소비되는 경우에, 마스터와 슬레이브 사이에, 슬레이브가 마스터를 위한 버퍼 공간을 예약하고 이용 가능한 버퍼 공간을 마스터가 인식하도록 유지시키는 어떤 종류의 합의가 있어야 한다. 그러나, 이 방안은 네트워크에서 추가 트래픽을 발생시키고, 예를 들어, 비관적 버퍼 할당으로 인해 비효율적인 네트워크 리소스 이용을 유발할 수 있다.
입력 버퍼 오버플로우를 피하기 위해, 종점간 플로우 제어와 함께 접속이 이용될 수 있다. 하나의 마스터와 하나 또는 그 이상의 슬레이브 사이에 설정된 접속에, 버퍼 공간은 슬레이브의 네트워크 인터페이스에 할당되고, 마스터의 네트워크 인터페이스는 슬레이브의 버퍼 공간량을 반영하는 크레디트에 할당된다. 마스터는 목적지 슬레이브에 대한 충분한 크레디트를 가진 경우에만 데이터를 송신할 수 있다. 슬레이브는 데이터를 소비할 때 크레디트를 마스터에 인증한다.
종점간 플로우 제어는 데이터를 모듈들 사이의 접속에서 드로핑되지 않도록 하기 위해 마스터와 슬레이브 사이에 구현된다. 요구된 순서대로 시간 내에 데이터가 도달하므로, 네트워크에 충돌 또는 "트래픽 잼(traffic jam)" 이 발생하지 않는다. 그러나, 종점간 플로우 제어는 구현하기에 고가의 비용이 든다.
도 1은 제 1 실시예에 따른 시스템 온 칩을 도시한다.
도 2는 제 2 실시예에 따른 시스템 온 칩을 도시한다.
본 발명의 목적은, 집적 회로 및 저비용으로 트랜잭션 완료를 보장하는 집적 회로에서 메시지를 교환하는 방법을 제공하는 것이다.
이 목적은 청구항 1에 따른 집적 회로 및 청구항 9에 따른 메시지를 교환하는 방법에 의해 달성된다.
그러므로, 복수의 프로세싱 모듈(M,S) 및 제 1 모듈과 하나 이상의 제 2 모듈(M,S) 사이에 하나 이상의 접속을 제공하기 위해 배열되는 네트워크(N;RN)를 포함하는 집적 회로가 제공된다. 이 접속은 제 1 모듈로부터 제 2 모듈로의 인출 메시지 및 제 2 모듈로부터 제 1 모듈로의 귀환 메시지를 포함하는 트랜잭션을 지원한다. 이 집적 회로는 제 1 모듈과 제 2 모듈(M,S)에 의해 교환되는 드로핑 데이터에 대한 하나 이상의 드로핑 수단(DM)을 포함한다.
따라서, 소정 경우에는 완전하고 즉각적인 트랜잭션 완료가 단순히 적용되는 트랜잭션 완료를 위한 대체 방안이 제공된다.
본 발명은 소정 경우에 데이터의 드로핑을 허용하는 아이디어에 기초한다.
본 발명의 한 양태에 따르면, 모듈(M,S)과 네트워크 사이의 인터페이스를 관리하기 위한 하나 이상의 인터페이스 수단(ANIP,PNIP)을 포함하는 집적 회로가 제공되며, 인터페이스 수단(ANIP, PNIP)은 데이터를 드로핑하기 위한 드로핑 수단(DM)을 포함한다. 그러므로, 데이터의 드로핑 및 트래잭션 완료가 인터페이스 수단에 의해 제어될 수 있다.
본 발명의 다른 양태에 따르면, 데이터를 드로핑 하지 않고 데이터를 전송하기 위한 복수의 네트워크 라우터로 구성되는 네트워크(N,RN)를 갖는 집적 회로,즉, 인터페이스 수단만이 데이터를 드로핑할 수 있는 집적 회로가 제공된다.
본 발명의 다른 양태에 따르면, 드로핑 수단(DM)은 데이터가 드로핑되면 에러 메시지를 발생시키도록 구성된다. 그러므로, 데이터의 소스가 데이터의 드로핑을 인식하여, 차후에 데이터를 재송신할 수 있으며, 이는 다른 트랜잭션의 일부가 될 것이다.
본 발명의 다른 양태에 따르면, 드로핑 수단(DM)은 에러 메시지를 제 1 드로핑 수단(DM)에 송신하도록 구성된다. 따라서, 에러 메시지는 인터페이스 수단의 드로핑 수단에 송신된다.
본 발명의 또 다른 양태에 따르면, 드로핑 수단(DM)은 상기 에러 메시지를 상기 제 1 모듈에 송신하도록 구성된다. 에러 메시지는 제 1 모듈에 직접 송신된다.
본 발명의 다른 양태에 따르면, 인터페이스 수단(ANIP, PNIP)은 수신된 에러 메시지를 저장하도록 구성된다. 그러므로, 인터페이스 수단이 트랜잭션의 완료를 추적할 수 있다.
본 발명의 다른 양태에 따르면, 제 1 모듈(M)에 관련되는 인터페이스(ANIP)는 에러 메시지를 드로핑하지 않도록 구성된다.
또한, 본 발명은 복수의 모듈을 포함하는 집적 회로에서 메시지를 교환하는 방법에 관한 것이다. 모듈들 사이의 메시지는 네트워크를 통한 접속을 거쳐 교환되고, 제 1 모듈 및 제 2 모듈(M,S)에 의해 교환된 데이터는 드로핑될 수 있다.
또한, 본 발명은 전술한 바와 같이 복수의 보듈을 포함하는 집적 회로에서의 메시지를 교환하기 위한 방법에 관한 것이다.
본 발명의 다른 양태는 종속항에서 설명되어 있다.
본 발명의 이들 양태 및 다른 양태들은 이하 설명되는 실시예를 참조하여 명백해질 것이다.
후술하는 실시예는 시스템 온 칩, 즉, 동일한 칩 상의 복수의 모듈이 어떤 종류의 상호 접속을 통해 서로 통신하는 시스템에 관한 것이다. 상호 접속은 네트워크 온 칩(NOC)으로서 구체화된다. 네트워크 온 칩은 네트워크 내에 와이어, 버스, 시분할 다중화, 스위치 및/또는 라우터를 포함할 수 있다. 이 네트워크의 전송 계층에서, 모듈들 사이의 통신은 접속을 거쳐서 수행된다. 접속은 제 1 모듈과 하나 이상의 제 2 모듈 사이에 각각 접속 특성을 갖는 채널의 세트로 고려된다. 제 1 모듈과 단일의 제 2 모듈 사이의 접속에 있어서, 2개의 채널, 다시 말해 제 1 모듈로부터 제 2 채널로의 채널인 요구 채널 및 제 2 모듈로부터 제 1 모듈로의 채널인 응답 채널을 포함한다. 요구 채널은 제 1 모듈로부터 제 2 모듈로의 데이터 및 메시지를 위해 예약되고, 응답 채널은 제 2 모듈로부터 제 1 모듈로의 데이터 및 메시지를 위해 예약된다. 그러나, 만일 접속이 하나의 제 1 모듈과 N개의 제 2 모듈을 포함하면, 2×N개의 채널이 제공된다. 접속 특성은 순서화(순서대로 데이터 전송), 플로우 제어(원격 버퍼는 접속을 위해 예약되고, 데이터 발생기는 발생되는 데이터를 위해 공간이 이용 가능하다는 것이 보장되는 경우에만 데이터를 송신하도록 허용될 것임), 스루풋(스루풋에 대한 하한도가 보장됨), 지연(지연에 대한 상한도가 보장됨), 손실(데이터 드로핑), 전송 종료, 트랜잭션 완료, 데이터 보정 또는 데이터 전송을 포함할 수 있다.
도 1은 제 1 실시예에 따른 시스템 온 칩을 도시하고 있다. 시스템은 마스터 모듈(M) 및 슬레이브 모듈(S)을 포함한다. 도 1에는 하나의 슬레이브 모듈이 도시되었지만, 시스템은 복수의 슬레이브 모듈을 포함할 수 있다. 각 모듈은 네트워크 인터페이스(NI)를 통해 각각 네트워크(N)에 접속된다. 네트워크 인터페이스(NI)는 마스터 모듈 및 슬레이브 모듈(M,S)과 네트워크(N) 사이의 인터페이스로서 이용된다. 네트워크 인터페이스는 각 모듈과 네트워크(N)의 통신을 관리하기 위해 제공되어, 모듈이 네트워크 또는 기타 모듈과의 통신을 다루지 않고 그 전용된 동작을 수행할 수 있다. 각 네트워크 인터페이스는 데이터 및 메시지를 버퍼링하기 위한 버퍼를 포함한다.
본 실시예에 따른 통신은 트랜잭션 기반이다. 이들 트랜잭션은 요구 및 응답으로 구성된다. 전형적으로, 요구는 마스터(M)에 의해 초기화되고(a), 2개의 네트워크 인터페이스(NI) 및 네트워크(N)를 통해 슬레이브(S)에 송신된다(b). 슬레이브(S)는 응답할 수 있고(c) 응답이 마스터(M)에 회신된다(d). 그러나, 슬레이브(S)로부터의 응답이 필요하지 않은 트랜잭션이 존재할 수 있다. 그러한 경우에는, 트랜잭션이 슬레이브 모듈(S)에 의해 실행되면 트랜잭션이 완료된다. 응답이 있는 트랜잭션은 응답이 마스터에 전송되면 완료된다. 그러므로, 마스터는 응답을 수신하면 트랜잭션의 완료만을 검출할 수 있다. 네트워크에서 플로우 제어가 구현되는 한, 응답 뿐만 아니라 요구의 전송도 보장되므로, 트랜잭션 완료가 보장된다. 그러나, 만일 종점간 플로우 제어가 구현되지 않으면, 요구 및 응답 모두 드로핑될 수 있으므로, 트랜잭션이 보장되지 않는다.
도 2는 제 2 실시예에 따른 시스템 온 칩을 도시한다. 시스템은 2개의 모듈, 즉, 마스터 모듈(M) 및 슬레이브 모듈(S), 라우터 네트워크(RN) 및 모듈과 라우터 네트워크(RN) 사이의 2개의 네트워크 인터페이스(ANIP,PNIP)를 포함한다. 네트워크 인터페이스는 모듈이 라우터 네트워크(RN) 또는 라우터 네트워크(RN)을 통한 기타 모듈과 통신하는 2개의 네트워크 인터페이스 포트(NIP)(요구 포트 및 응답 포트)를 제공한다. 마스터 모듈(M)에 관한 네트워크 인터페이스는 능동 네트워크 인터페이스 포트(Active Network Interface Port: ANIP)라고 하고, 슬레이브 모듈(S)에 관한 네트워크 인터페이스는 수동 네트워크 인터페이스 포트(Passive Network Interface Port: PNIP)라고 한다. 마스터 모듈(M)과 슬레이브 모듈(S) 사이의 통신은 마스터 모듈(M)이 어떤 데이터 또는 요구되는 접속 특성을 포함할 수 있는 요구를 배치함으로써 트랜잭션을 개시하는 요구-응답 트랜잭션에 기초한다. 요구(REQ)는 능동 네트워크 인터페이스 포트(ANIP), 라우터 네트워크(RN) 및 수동 네트워크 인터페이스 포트(PNIP)를 통해 슬레이브 모듈(S)로 전송된다. 요구는 슬레이브 모듈(S)에 의해 실행되고, 필요하거나 요구되는 경우에 데이터가 응답(RESP)으로서 회신된다. 이 응답(RESP)은 마스터 모듈(M)에 대한 데이터 및/또는 승인을 포함할 수 있다.
여기서, 네트워크(N, RN), 즉, 라우터 네트워크는 데이터를 드로핑하지 않는 것으로 가정한다. 수동 네트워크 인터페이스(PNIP) 뿐만 아니라 능동 네트워크 인터페이스(ANIP)도 각각 드로핑 매니저(DM)을 포함한다. 이들 드로핑 매니저(DM)는 데이터 또는 메시지의 드로핑을 책임진다. 특히, 요구는 능동 네트워크 인터페이스 포트(ANIP)에 의해서만 드로핑될 수 있고, 반면에 응답은 수동 네트워크 인터페이스 포트(PNIP)에 의해서만 드로핑될 수 있다. 가능한 시나리오는, (a)최고(最古)의 메시지가 드로핑되거나(우유 정책: milk policy), 또는 (b)최신의 메시지가 드로핑되는 것(포도주 정책:wine policy)을 포함한다.
트랜잭션은 다음의 메시지로부터 구성된다.
명령 메시지(CMD)가 ANIP에 의해 송신되고, PNIP에 접속되는 슬레이브 모듈에서 실행되는 동작을 설명한다. 명령의 예는, 판독, 기록, 테스트와 설정 및 플러시(flush)가 있다. 명령은 트랜잭션에서 유일한 강제적인 메시지이다. 파라미터를 갖지 않는 단일의 명령(예를 들어, 고정된 사이즈, 어드레스 없는 기록)만을 허용하는 NIP에 있어서, 암시적이더라도(즉, IP에 의해 명백히 송신되지 않더라도) 여전히 명령 메시지가 존재하는 것으로 가정한다.
아웃 데이터 메시지(OUTDATA)는 실행될 데이터를 필요로 하는 명령(예를 들어, 기록, 멀티 캐스트 및 테스트-앤드-세트)에 후속하여 ANIP에 의해 송신된다.
리턴 데이터 메시지(RETDATA)는 데이터를 발생시키는 트랜잭션 실행의 결과(예를 들어, 판독 및 테스트-앤드-세트)로서 PNIP에 의해 송신된다.
완료 승인 메시지(RETSTAT)는 명령이 완료되면 PNIP에 의해 복귀되는 선택적인 메시지이다. 완료 승인 메시지는 성공적인 완료 또는 에러를 발신할 수 있다. RETDATA 및 RETSTAT 모두를 포함하는 트랜잭션에 있어서, 2개의 메시지는 효율성을 위해 단일 메시지로 결합될 수 있다. 그러나, 개념적으로, 양쪽 모두 존재한다. RETSTAT는 데이터의 존재 또는 에러를 발신하고, RETDATA는 그 데이터를 전송한다.
트랜잭션을 구성하는 메시지는 아웃고잉 메시지인 CMD 및 OUTDATA와 응답 메시지인 RETDATA, RETSTAT로 구분된다. 트랜잭션 내에서, CMD는 모든 다른 메시지에 우선하고, RETDATA가 존재하는 경우 RETSTAT에 우선한다. 이들 규칙은 마스터와 ANIP 사이 및 PNIP와 슬레이브 사이 모두에 적용된다.
응답이 없는 트랜잭션(예를 들어, 게시 기록(posted write))은 슬레이브에 의해 실행된 경우에 완료되게 된다. 마스터로의 응답 메시지가 존재하지 않으므로, 트랜잭션 완료에 관한 보장이 주어질 수 없다. 응답이 있는 트랜잭션(예를 들어, 승인 기록)은 ANIP로부터 RETSTAT 메시지가 수신되는 경우에 완료되게 된다. 데이터가 응답(RETDATA)으로서 수신되는 경우, 그 데이터를 확인하기 위해 (아마도 암시적인) RETSTAT도 수신된다는 점을 상기하자. 트랜잭션은, 성공적으로 실행되면 성공 RETSTAT가 복귀되고, 슬레이브 모듈에서 그 실행이 실패되면 실행 에러 RETSTAT가 복귀될 수 있고, 또는, 플로우 제어와의 접속이 없는 버퍼 오버플로우로 인해 실패하게 되면, 오버플로우 에러를 보고할 수 있다. 슬레이브가 응답을 요구하는 CMD를 수신하는 경우에는, 슬레이브 모듈(S)은 항상 응답을 발생시키는 것으로 가정한다.
드로핑 메니저(DM)는 버퍼 오버플로우의 경우에 데이터를 드로핑할 수 있다. CMD, OUTDATA 및 RETDATA 모두 드로핑될 수 있다. 트랜잭션 완료를 보장하기 위해, RETSTAT는 드로핑되도록 허용되지 않는다. 결과적으로, ANIP에서, 모든 미해결 트랜잭션용 RETSTAT 메시지를 수용하기 위한 충분한 버퍼 공간이 제공되어야 한다. 이것은 미해결 트랜잭션의 수를 한정(bounding)함으로써 수행된다.
전술한 시스템의 여러 슬레이브 모듈(S)의 경우에 있어서, 리턴 메시지 또는 응답 메시지는 다음과 같이 결합될 수 있다. 만일 (마스터(M)에 의해 초기화되는) 기록 트랜잭션의 각각이 모든 슬레이브 모듈(S)에 의해 성공적으로 실행된 경우, 모든 트랜잭션은 마스터로 전송되는 단일 메시지에서 ANIP에 의해 결합될 수 있는 RETSTAT=RETOK 메시지를 복귀시킬 것이다.
만일 기록 트랜잭션이 단지 몇몇의 슬레이브에 의해서만 성공적으로 실행되면, RETSTAT(RETOK와 RETERROR)의 혼합이 존재할 것이다. 그들은,
a)에러가 발생한 것을 표시하기 위한 단일 RETSTAT=RETERROR, 또는
b)에러가 발생한 곳을 인코딩하는 보다 크고 보다 자세한 단일 RETSTAT
로 조합될 수 있다.
모든 RETSTAT는 마스터에 대한 단일 RETSTAT로 함께 결합되거나, 마스터에 대한 단일 RETSTAT를 구성하기 위해 <슬레이브 식별자, 에러 코드> 짝으로 결합될 수도 있다.
만일 결합이 플로우 제어를 갖지 않으면, 메시지는 드로핑 메니저(DM)에 의해 드로핑되어, RETSTAT=RETLOST 메시지를 초래할 수 있다. 전술한 바와 같은 결합이 다시 구성될 수 있다.
마스터 모듈(M)은 항상 트랜잭션으로의 응답을 수신하여야 한다. 이것은 드로핑 메니저(DM)에 의해 달성된다. 만일 수동 네트워크 인터페이스 포트(PNIP)의 드로핑 메니저(DM)가 아마도 버퍼 오버플로우로 인해 데이터 또는 메시지를 드로핑 하면, 항상 FAIL/ERROR 메시지를 ANIP로 복귀시킨다. 이 복귀 상태(RESTAT) 메시지는 트랜잭션을 초기화하는 ANIP가 초기화하는 모든 트랜잭션의 리턴 메시지를 위한 공간을 예약할 것이므로 능동 네트워크 인터페이스 포트(ANIP)의 드로핑 메니저에 의해 절대 드로핑되지 않는다. 공간을 예약하고 메시지가 드로핑될 때마다 에러 메시지를 발생시키는 이 조합은 플로우 제어를 유도하는 하나의 방식이다. RETSTAT 메시지는 선택적으로 중계 네트워크 노드에서도 발생될 수 있지만 바람직하게는 슬레이브 모듈의 인터페이스에 의해 발생된다.
전술한 드로핑 방안을 구현함으로써, 트랜잭션 완료가 보장된다, 즉, 개시된 트랜잭션이,
a)슬레이브에서 성공적으로 전송 및 실행된다(슬레이브에 의해 발생되는 RETSTAT=OK),
b)슬레이브에서 절대 전송되지 않는다(PNIP에 의해 발생되고 ANIP로 복귀되는 RETSTAT=REQLOST),
c)슬레이브에서 전송되지만, 성공적으로 실행되지 않는다(슬레이브에 의해 발생되는 RETSTAT=ERROR), 또는
d)슬레이브에서 성공적으로 전송 및 실행되지만 응답 메시지가 드로핑된다(ANIP에 의해 발생되고 마스터 모듈(M)로 전송되는 RETSTAT=RETLOST)
는 것이 항상 알려져 있다.
이것은 (플로우-제어된 접속) 메시지를 드로핑함으로써, 이 경우 RETSTAT는 OK 또는 ERROR, 또는 (플로우 제어가 없는 접속 상에) 메시지가 드로핑되도록 허용함으로써 달성되는 것이 아니라, 메시지가 드로핑될 때마다 RESTAT(REQOST 또는 RETLOST)를 발생시커나, 메시지가 드로핑되지 않을 때마다 RETOK 또는 RETERROR를 발생시킴으로써 달성된다.
그러나, RETSTAT가 트랜잭션을 완료시키므로, RETSTAT를 절대 드로핑하지 않는 것이 필수적이다. 이것은 RETSTAT에 대한 버퍼가 마스터의 ANIP에 위치한다는 점에서 실현된다. 트랜잭션을 초기화할 때 ANIP는 RETSTAT를 위한 공간을 예약하고, (유한 사이즈의 RETSTAT 버퍼를 위해) 미해결 트랜잭션의 수를 한정한다.
아웃고잉 접속 및 리턴 접속에 관한 플로우 제어는 이론적으로 독립적이다. 따라서, 아웃고잉 플로우 제어 및 리턴 플로우 제어에 있어서, RETSTAT 메시지는 전술한 a) 내지 c)에 따른다. 아웃고잉 플로우 제어 및 리턴 플로우 제어가 없는 경우, RETSTAT 메시지는 전술한 a) 또는 b) 또는 d)이다. 아웃고잉 플로우 제어 및 리턴 플로우 제어가 없는 경우, RETSTAT 메시지는 전술한 a) 또는 b) 또는 c)이다.
전술한 시스템에 있어서, 접속은 다음과 같이 분류될 수 있다.
- 간단한 접속은 하나의 ANIP와 하나의 PNIP 사이의 접속이다.
- 내로우캐스트(narrowcast) 접속은 하나의 ANIP와 하나 또는 그 이상의 PNIP 사이의 접속이며, 이는 ANP가 개시하는 각 트랜잭션의 정확히 하나의 PNP에 의해 실행된다. 내로우캐스트 접속의 일례는, ANIP가 트랜잭션을 2개의 메모리 모듈 상에 맵핑된 어드레스 공간 상에서 수행하는 것이다. 트랜잭션 어드레스에 따라서, 이들 2개의 메모리 중 하나의 메모리에서만 트랜잭션이 실행된다.
- 멀티캐스트 접속은 하나의 ANIP와 하나 또는 그 이상의 PNIP 사이의 접속이며, 이는 송신된 메시지가 중복되고 각 PNIP가 이들 메시지의 카피를 수신하는 것이다. 멀티캐스트 접속에서, 그들이 발생시키는 대량의 트래픽(즉, 목적지 당 하나의 응답)으로 인해 리턴 메시지는 현재 허용되지 않는다. 또한, PNIP로부터의 개별 응답은 ANIP에 대한 단일 응답으로 합병되어야 하므로 ANIP에서 복잡성을 증가시킨다. 이것은 합병 그 자체를 위한 버퍼 공간 및/또는 추가적인 연산을 필요로 한다.
접속을 위해 구성될 수 있는 접속 특성은 보장된 메시지 무결성, 보장된 트랜잭션 완료, 각종 트랜잭션 순서화, 보장된 스루풋, 한정된 지연 및 지터, 및 접속 플로우 제어와 같다.
도 1 및 도 2에 도시된 모듈은 상기 네트워크 인터페이스(NI)에서 네트워크와 상호 작용하는 소위 지적 재산권 블록(IPs)(연산 소자 또는 메모리이지만 상호 작용 소자는 아님)일 수 있다. NI는 통신 서비스가 액세스되는 NI 포트(NIP)를 제공한다. NI는 하나 또는 그 이상의 IP가 접속될 수 있는 여러 NIP를 가질 수 있다. 유사하게, IP는 하나 이상의 NI 및 NIP에 접속될 수 있다.
네트워크를 통한 통신은 접속 상의 네트워크 인터페이스에 의해 수행된다, 즉, 마스터 모듈 및 슬레이브 모듈은 네트워크에 가시적이지 않다. 접속은 보장된 스루풋, 한정된 지연 및 지터, 순서화된 전송 또는 플로우 제어와 같은 상이한 특성을 갖는 통신을 기술하고 식별하도록 유도된다. 본 발명의 본 실시예에 따른 접속은 우선 이전에 이용된 바람직한 특성을 지니며 개발 또는 설치되어야 한다. 이것은 네트워크 내부의 리소스 예약(예를 들어, 버퍼 공간, 또는 시간 단위당 링크 사용 백분율)을 일으킬 수 있다. 요구된 리소스가 이용 가능하지 않으면, 네트워크(RN)는 요구를 거절할 것이다. 사용 후, 접속이 폐쇄되고, 그 접속에 의해 점유되었던 리소스를 자유롭게 한다.
ANIP 및 PNIP 모두에서, 동일한 접속 상의 상이한 트랜잭션에 속하는 아웃고잉 메시지는 인터리빙(interleave)되도록 허용된다. 예를 들어, 2개의 기록 명령이 발행되고, 그 후에야 데이터가 발행될 수 있다. OUTDATA 메시지의 순서가 CMD 메시지의 순서와 상이하면, 트랜잭션 식별자를 도입하여 OUTDATA를 그 대응하는 CMD에 관련시키게 된다.
아웃고잉 메시지는 PNIP에 의해 슬레이브(b 참조)로 다음과 같이 전송될 수 있다.
- 순서화 없음. PNIP에서 상이한 트랜잭션의 아웃고잉 메시지의 전송에 대한 순서가 부과되지 않고 전송될 수 있다.
- 부분적인 순서화. 트랜잭션은 그들이 송신된 순서대로 각 PNIP에 전송되어야 하지만 PNIP를 지나서는 순서가 부과되지 않는다. 부분적으로-순서화된 아웃고잉 메시지의 전송은 순서화된 데이터 전송에 의해 또는 PNIP에서 아웃고잉 메시지를 재순서화함으로써 제공될 수 있다.
- 전체적인 순서화. 트랜잭션은 접속의 모든 PNIP를 지나서 송신된 순서대로 전송되어야 한다. 트랜잭션의 아웃고잉 부분의 전체적으로-순서화된 전송은 고가의 동기화 메커니즘이다.
RETDATA 메시지 및 RETSTAT 메시지가 CMD가 슬레이브에 전송된 것과 동일한 순서대로 복귀되는 경우(b), 트랜잭션 응답 메시지는 (c)의 순서화에 따라 슬레이브에 의해 PNIP로 전송될 수 있고, 그렇지 않은 경우 순서화되지 않는다. 응답이 순서화되지 않는 경우, 응답이 속하는 트랜잭션을 식별하는 메커니즘이 존재해야 한다. 이것은 항상 트랜잭션 식별자를 위해 메시지에 부착되는 (VCI에서의 태그에 유사한) 태그를 이용하여 수행된다.
응답 메시지는 ANIP에 의해 다음과 같이 마스터(d 참조)로 전송될 수 있다.
- 순서화 없음. 응답의 전송에 대한 순서가 부과되지 않은 채로 전송될 수 있다. 여기서, 또한, 태그는 대응하는 CMD와 응답을 연관시키는 데 이용되어야 한다.
- 부분적인 순서화. 단일 슬레이브에 대한 트랜잭션의 RETDATA 및 RETSTAT 메시지는 원시 CMD가 마스터 모듈에 의해 표현된 순서대로 ANIP에 전송된다.
- 전체적인 순서화. 접속의 모든 응답은 원시 CMD와 동일한 순서대로 마스터에 전송된다. 트랜잭션이 접속 상으로 전송되면, 응답의 전체적으로-순서화된 전송은 ANIP에서 재순서화될 필요가 있다.
전술한 순서화 중의 모든 3×2×3= 18 조합이 가능하다. 이들 외에, 다음의 2개가 정의된다. 순서화되지 않은 접속은 트랜잭션의 어떤 부분에서도 순서화가 가정되지 않는 접속이다. 결과적으로, 응답은 어떤 트랜잭션에 그들이 속하는지를 식별할 수 있도록 태깅되어야(tagged) 한다. 그러나, 순서화되지 않은 접속을 구현하는 것은 저비용이며, 이용하기에 보다 어려울 수 있고, 태깅의 오버헤드를 유발할 수 있다.
다른 실시예에서, 전술한 바와 같이 드로핑 수단은 네트워크의 몇몇 라우터에서 구현될 수 있어서, 이들 라우터는 데이터를 드로핑할 수 있다. 그러나, 그러한 경우에, 전술한 방안을 따라야 하고 특히 전술한 메시지를 발생시켜야 한다.
본 발명의 또 다른 실시예에서, 트랜잭션 완료는 단일 접속을 갖는 시스템과 등가인 시스템처럼 접속 기반이 아닌 시스템에서 구현될 수 있다.
전술한 실시예는 본 발명을 한정하기 위한 것이 아니라 예시를 위한 것이며, 당업자는 첨부된 청구 범위를 벗어나지 않고 많은 다른 실시예를 설계할 수 있을 것이다. 청구 범위에서, 괄호 안의 어떠한 참조 기호도 청구 범위를 제한하는 것으로 해석되어서는 안된다. "포함한다"라는 단어가 청구 범위에 기재되지 않은 다른 구성 요소나 과정이 존재하는 것을 배제한다는 의미는 아니다. 구성 요소 앞에 붙는 "하나의"라는 단어가 그러한 구성 요소가 복수로 존재하는 것을 배제한다는 의미는 아니다. 여러 수단을 열거하는 장치에 관한 청구항에서, 이들 여러 수단은 하나의 동일한 하드웨어 아이템으로 구현될 수 있다. 임의의 수단이 서로 다른 종속항에서 인용된다고 해서, 이들 수단을 조합하여 사용할 수 없다는 것은 아니다.
또한, 청구 범위의 어떠한 참조 기호도 청구 범위를 제한하는 것으로 해석되어서는 안된다.

Claims (9)

  1. 집적 회로로서,
    복수의 프로세싱 모듈(M,S) 및
    제 1 모듈과 하나 이상의 제 2 모듈(M,S) 사이에 하나 이상의 접속부를 제공하기 위해 배열되는 네트워크(N;RN)를 포함하고,
    상기 접속부는 상기 제 1 모듈로부터 상기 제 2 모듈로의 아웃고잉 메시지 및 상기 제 2 모듈로부터 상기 제 1 모듈로의 리턴 메시지를 포함하는 트랜잭션을 지원하며,
    상기 집적 회로는 상기 제 1 모듈 및 상기 제 2 모듈(M,S)에 의해 교환되는 데이터를 드로핑(dropping)하기 위한 하나 이상의 드로핑 수단(DM)을 포함하는
    집적 회로.
  2. 제 1 항에 있어서,
    모듈(M,S)과 상기 네트워크(N,RN) 사이의 인터페이스를 관리하기 위한 하나 이상의 인터페이스 수단(ANIP, PNIP)을 더 포함하고,
    상기 인터페이스 수단(ANIP,PNIP)은 데이터를 드로핑하기 위한 제 1 드로핑 수단(DM)을 포함하는
    집적 회로.
  3. 제 2 항에 있어서,
    상기 네트워크(N,RN)가 데이터를 드로핑하지 않고 전송하기 위한 복수의 네트워크 라우터를 포함하는
    집적 회로.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 드로핑 수단(DM)은 데이터가 드로핑되면 에러 메시지를 발생시키는
    집적 회로.
  5. 제 4 항에 있어서,
    상기 드로핑 수단(DM)은 상기 에러 메시지를 제 1 드로핑 수단(DM)에 송신하도록 구성되는
    집적 회로.
  6. 제 4 항에 있어서,
    상기 드로핑 수단(DM)은 상기 에러 메시지를 상기 제 1 모듈에 송신하는
    집적 회로.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 인터페이스 수단(ANIP, PNIP)은 수신된 에러 메시지를 저장하는
    집적 회로.
  8. 제 7 항에 있어서,
    상기 제 1 모듈(M)에 결합되는 인터페이스(ANIP)는 에러 메시지를 드로핑하는
    집적 회로.
  9. 복수의 모듈을 포함하는 집적 회로에서 메시지를 교환하는 방법으로서,
    상기 모듈들 사이의 메시지는 네트워크를 통한 접속부를 거쳐 교환되고,
    상기 접속부는 제 1 모듈로부터 제 2 모듈로의 아웃고잉 메시지 및 제 2 모듈로부터 제 1 모듈로의 리턴 메시지를 포함하는 트랜잭션을 지원하며,
    상기 제 1 모듈 및 상기 제 2 모듈(M,S)에 의해 교환된 데이터는 드로핑될 수 있는
    메시지 교환 방법.
KR1020057005986A 2002-10-08 2003-07-04 집적 회로 KR101016987B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02079196 2002-10-08
EP02079196.8 2002-10-08

Publications (2)

Publication Number Publication Date
KR20050083730A true KR20050083730A (ko) 2005-08-26
KR101016987B1 KR101016987B1 (ko) 2011-02-25

Family

ID=32088020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057005986A KR101016987B1 (ko) 2002-10-08 2003-07-04 집적 회로

Country Status (10)

Country Link
US (3) US7769893B2 (ko)
EP (3) EP1552669B1 (ko)
JP (3) JP2006502642A (ko)
KR (1) KR101016987B1 (ko)
CN (5) CN100342370C (ko)
AT (2) ATE373922T1 (ko)
AU (3) AU2003299454A1 (ko)
DE (2) DE60316458T2 (ko)
TW (1) TWI307840B (ko)
WO (3) WO2004034173A2 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005010768A1 (en) * 2003-07-30 2005-02-03 Koninklijke Philips Electronics N.V. Integrated circuit with dynamic communication service selection
EP1726132A2 (en) * 2004-03-03 2006-11-29 Koninklijke Philips Electronics N.V. Data processing circuit wherein data processing units communicate via a network.
WO2005103934A1 (en) * 2004-04-26 2005-11-03 Koninklijke Philips Electronics N.V. Integrated circuit and method for issuing transactions
EP1751667B1 (en) * 2004-05-18 2008-05-21 Koninklijke Philips Electronics N.V. Integrated circuit and method for buffering to optimize burst length in networks on chips
EP1605727A1 (en) * 2004-06-09 2005-12-14 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
FR2875982B1 (fr) * 2004-09-28 2006-12-22 Commissariat Energie Atomique Architecture de communication semi-automatique noc pour applications "flots de donnees"
US7596653B2 (en) * 2004-11-08 2009-09-29 Intel Corporation Technique for broadcasting messages on a point-to-point interconnect
WO2006051471A1 (en) * 2004-11-09 2006-05-18 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
EP1820356A1 (en) * 2004-12-01 2007-08-22 Koninklijke Philips Electronics N.V. Data processing system and method for converting and synchronising data traffic
US7711787B2 (en) * 2004-12-15 2010-05-04 Electronics And Telecommunications Research Institute On-chip network interfacing apparatus and method
JP2008535435A (ja) * 2005-04-06 2008-08-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワーク・オン・チップ環境及び遅延低減方法
EP1869845A1 (en) * 2005-04-07 2007-12-26 Koninklijke Philips Electronics N.V. Network-on-chip environment and method for reduction of latency
US20090122703A1 (en) * 2005-04-13 2009-05-14 Koninklijke Philips Electronics, N.V. Electronic Device and Method for Flow Control
WO2006129294A1 (en) * 2005-06-03 2006-12-07 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation.
EP1744497B1 (en) * 2005-07-14 2008-01-23 Interuniversitair Microelektronica Centrum Vzw Method for managing a plurality of virtual links shared on a communication line and network implementing said method
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
US7802040B2 (en) * 2005-12-22 2010-09-21 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
JP4611901B2 (ja) * 2006-01-16 2011-01-12 株式会社ソニー・コンピュータエンタテインメント 信号伝送方法、ブリッジユニット、および情報処理装置
JP4372110B2 (ja) * 2006-02-10 2009-11-25 エヌイーシーコンピュータテクノ株式会社 データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
FR2900017B1 (fr) * 2006-04-12 2008-10-31 Arteris Sa Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
FR2904445B1 (fr) * 2006-07-26 2008-10-10 Arteris Sa Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce
US7961605B2 (en) * 2006-07-31 2011-06-14 International Business Machines Corporation System and method for enabling management of a plurality of messages in a communication network
US8045573B2 (en) 2006-08-16 2011-10-25 Arm Limited Bit ordering for packetised serial data transmission on an integrated circuit
KR100737943B1 (ko) * 2006-09-13 2007-07-13 삼성전자주식회사 네트워크-온-칩 응답 신호 제어 장치 및 그 방법
US8689244B2 (en) * 2007-01-26 2014-04-01 Objective Interface Systems, Inc. Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration
WO2008126471A1 (ja) * 2007-04-06 2008-10-23 Nec Corporation 半導体集積回路およびその試験方法
US7860085B2 (en) * 2007-05-14 2010-12-28 Alcatel Lucent Dual OSS management of an Ethernet access network
CN101075961B (zh) * 2007-06-22 2011-05-11 清华大学 片上网络设计用的一种自适应打包方法
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) * 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
JP4554703B2 (ja) * 2007-12-27 2010-09-29 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US20110029706A1 (en) * 2008-04-09 2011-02-03 Nxp B.V. Electronic device and method for controlling an electronic device
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8214845B2 (en) * 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8494833B2 (en) * 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US20090282211A1 (en) * 2008-05-09 2009-11-12 International Business Machines Network On Chip With Partitions
US8392664B2 (en) * 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) * 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8195884B2 (en) * 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
FR2945396A1 (fr) * 2009-05-07 2010-11-12 St Microelectronics Grenoble 2 Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101563195B1 (ko) * 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
US8204731B2 (en) * 2010-03-01 2012-06-19 Himax Technologies Limited Signal analyzing method for electronic device having on-chip network and off-chip network
US8819116B1 (en) 2010-03-08 2014-08-26 Amazon Technologies, Inc. Providing services using a device capabilities service
US8861410B2 (en) 2011-10-31 2014-10-14 Qualcomm Incorporated Method and apparatus for scalable network transaction identifier for interconnects
US8640230B2 (en) 2011-12-19 2014-01-28 International Business Machines Corporation Inter-thread communication with software security
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
JP2013196167A (ja) 2012-03-16 2013-09-30 Toshiba Corp 情報処理装置
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8838861B2 (en) 2012-05-09 2014-09-16 Qualcomm Incorporated Methods and apparatuses for trace multicast across a bus structure, and related systems
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9471538B2 (en) 2012-09-25 2016-10-18 Qualcomm Technologies, Inc. Network on a chip socket protocol
WO2014052261A1 (en) * 2012-09-25 2014-04-03 Arteris SAS Network on a chip socket protocol
EP2741452A1 (en) * 2012-12-10 2014-06-11 Robert Bosch Gmbh Method for data transmission among ECUs and/or measuring devices
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US9456071B2 (en) 2013-11-12 2016-09-27 At&T Intellectual Property I, L.P. Extensible kernel for adaptive application enhancement
US9270659B2 (en) 2013-11-12 2016-02-23 At&T Intellectual Property I, L.P. Open connection manager virtualization at system-on-chip
US9602587B2 (en) * 2014-06-26 2017-03-21 Altera Corporation Multiple plane network-on-chip with master/slave inter-relationships
US9747239B2 (en) 2014-08-25 2017-08-29 Apple Inc. Transaction filter for on-chip communications network
US10078356B2 (en) * 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
US10243882B1 (en) * 2017-04-13 2019-03-26 Xilinx, Inc. Network on chip switch interconnect
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
CN109302296B (zh) * 2018-10-10 2020-12-29 上海保险交易所股份有限公司 用于在区块链网络中广播消息的方法、设备和存储介质
CN114077568A (zh) * 2020-08-18 2022-02-22 Oppo广东移动通信有限公司 核间通信方法、装置、电子组件以及电子设备
US20240211422A1 (en) * 2022-12-21 2024-06-27 Xilinx, Inc. Noc routing in a multi-chip device
CN116389357B (zh) * 2023-06-06 2023-09-29 太初(无锡)电子科技有限公司 基于片上网络的空洞地址处理方法、装置、设备及介质
US12088735B1 (en) 2023-09-13 2024-09-10 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12045350B1 (en) 2023-09-13 2024-07-23 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12015719B1 (en) 2023-09-13 2024-06-18 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570220A (en) * 1983-11-25 1986-02-11 Intel Corporation High speed parallel bus and data transfer method
US4807118A (en) * 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
US4842740A (en) 1988-08-05 1989-06-27 Hoechst Celanese Corporation Membranes prepared from blend of polybenzimidazole with polyarylates
US5098985A (en) * 1988-10-11 1992-03-24 The Dow Chemical Company Copolymers containing polybenzoxazole, polybenzothiazole and polybenzimidazole moieties
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5341369A (en) * 1992-02-11 1994-08-23 Vitesse Semiconductor Corp. Multichannel self-routing packet switching network architecture
JP2675968B2 (ja) * 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 加入者分散2相コミット・プロトコルの拡張機能
CN1174619A (zh) * 1995-02-17 1998-02-25 尢罗佩国际公司 由集成电路控制的事务管理系统
EP0753979A1 (en) * 1995-07-13 1997-01-15 International Business Machines Corporation Routing method and system for a high speed packet switching network
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US6400715B1 (en) * 1996-09-18 2002-06-04 Texas Instruments Incorporated Network address matching circuit and method
US6018782A (en) * 1997-07-14 2000-01-25 Advanced Micro Devices, Inc. Flexible buffering scheme for inter-module on-chip communications
JP3815841B2 (ja) * 1997-03-28 2006-08-30 ローム株式会社 IrDA変復調IC
US6248469B1 (en) * 1997-08-29 2001-06-19 Foster-Miller, Inc. Composite solid polymer electrolyte membranes
US5940448A (en) * 1997-09-03 1999-08-17 National Semiconductor Corporation Universal serial bus receiver having input signal skew compensation
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
US6446173B1 (en) * 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
JPH11187031A (ja) * 1997-12-19 1999-07-09 Fujitsu Ltd Atm交換機
US6256740B1 (en) * 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6339788B1 (en) * 1998-06-12 2002-01-15 International Business Machines Corporation Method for encapsulating hardware to allow multi-tasking of microcode
US6311212B1 (en) * 1998-06-27 2001-10-30 Intel Corporation Systems and methods for on-chip storage of virtual connection descriptors
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion
DE19851498A1 (de) 1998-11-09 2000-07-06 Aventis Res & Tech Gmbh & Co Polymerzusammensetzung, Membran enthaltend diese, Verfahren zu deren Herstellung und deren Verwendung
US6539450B1 (en) * 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6381638B1 (en) * 1999-02-24 2002-04-30 3Com Corporation System and method for options based address reuse
EP1083768A1 (en) * 1999-09-08 2001-03-14 TELEFONAKTIEBOLAGET LM ERICSSON (publ) A method for facilitating data transmission
US6768742B1 (en) * 1999-10-08 2004-07-27 Advanced Micro Devices, Inc. On-chip local area network
US6594704B1 (en) * 1999-12-15 2003-07-15 Quarry Technologies Method of managing and using multiple virtual private networks in a router with a single routing table
US6769046B2 (en) * 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
JP3623712B2 (ja) * 2000-03-16 2005-02-23 日本電気エンジニアリング株式会社 バッファ制御システム及びその方法並びにその制御プログラム記録媒体
US6813275B1 (en) 2000-04-21 2004-11-02 Hewlett-Packard Development Company, L.P. Method and apparatus for preventing underflow and overflow across an asynchronous channel
CN1439032A (zh) 2000-06-02 2003-08-27 Sri国际公司 聚合物组合物
GB2367406B (en) * 2000-06-13 2002-06-05 Siroyan Ltd Predicated execution of instructions in processors
US6629166B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Methods and systems for efficient connection of I/O devices to a channel-based switched fabric
DE10052242A1 (de) * 2000-10-21 2002-05-02 Celanese Ventures Gmbh Mit Säure dotierte, ein- oder mehrschichtige Kunststoffmembran mit Schichten aufweisend Polymerblends umfassend Polymere mit wiederkehrenden Azoleinheiten, Verfahren zur Herstellung solche Kunststoffmembranen sowie deren Verwendung
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US20020144078A1 (en) * 2001-03-30 2002-10-03 Siroyan Limited Address translation
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US7165128B2 (en) * 2001-05-23 2007-01-16 Sony Corporation Multifunctional I/O organizer unit for multiprocessor multimedia chips
US6910092B2 (en) * 2001-12-10 2005-06-21 International Business Machines Corporation Chip to chip interface for interconnecting chips
US7389319B2 (en) * 2002-03-22 2008-06-17 Sun Microsystems, Inc. Adaptive connection routing over multiple communication channels
US6885638B2 (en) * 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication
US7099983B2 (en) * 2002-11-25 2006-08-29 Lsi Logic Corporation Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US6825688B1 (en) * 2003-08-15 2004-11-30 Lsi Logic Corporation System for yield enhancement in programmable logic
US7219209B2 (en) * 2003-08-29 2007-05-15 Motorola, Inc. Bus filter for memory address translation

Also Published As

Publication number Publication date
EP1552399A2 (en) 2005-07-13
DE60316458T2 (de) 2008-06-26
WO2004034176A3 (en) 2004-08-19
DE60316587T2 (de) 2008-07-03
CN1703682A (zh) 2005-11-30
EP1552399B1 (en) 2007-09-26
WO2004034176A2 (en) 2004-04-22
DE60316458D1 (de) 2007-10-31
AU2003267730A8 (en) 2004-05-04
WO2004034173A2 (en) 2004-04-22
US20060041889A1 (en) 2006-02-23
US7366818B2 (en) 2008-04-29
CN1703683A (zh) 2005-11-30
CN100370443C (zh) 2008-02-20
CN1689312B (zh) 2010-04-14
CN100367250C (zh) 2008-02-06
WO2004034173A3 (en) 2004-12-16
CN1703881A (zh) 2005-11-30
EP1552669B1 (en) 2007-09-19
JP2006502487A (ja) 2006-01-19
EP1552669A1 (en) 2005-07-13
TW200419358A (en) 2004-10-01
JP4560409B2 (ja) 2010-10-13
EP1552411A2 (en) 2005-07-13
AU2003299282A1 (en) 2004-05-04
AU2003267730A1 (en) 2004-05-04
CN1689312A (zh) 2005-10-26
WO2004034676A1 (en) 2004-04-22
JP2006502642A (ja) 2006-01-19
CN1688990A (zh) 2005-10-26
JP2006502650A (ja) 2006-01-19
ATE374399T1 (de) 2007-10-15
TWI307840B (en) 2009-03-21
DE60316587D1 (de) 2007-11-08
US20060041888A1 (en) 2006-02-23
CN100342370C (zh) 2007-10-10
KR101016987B1 (ko) 2011-02-25
US7373449B2 (en) 2008-05-13
US7769893B2 (en) 2010-08-03
US20060095920A1 (en) 2006-05-04
AU2003299454A8 (en) 2004-05-04
AU2003299454A1 (en) 2004-05-04
ATE373922T1 (de) 2007-10-15

Similar Documents

Publication Publication Date Title
KR101016987B1 (ko) 집적 회로
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
KR100687659B1 (ko) Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법
US7594052B2 (en) Integrated circuit and method of communication service mapping
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
US8014401B2 (en) Electronic device and method of communication resource allocation
JP2008535435A (ja) ネットワーク・オン・チップ環境及び遅延低減方法
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
KR20070010152A (ko) 트랜잭션을 발행하기 위한 집적 회로 및 방법
Rădulescu et al. Communication services for networks on chip
US20080123666A1 (en) Electronic Device And Method Of Communication Resource Allocation
US10289598B2 (en) Non-blocking network
US8645557B2 (en) System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol
US7631137B2 (en) Data processing system and method for converting and synchronising data traffic
Nejad et al. An FPGA bridge preserving traffic quality of service for on-chip network-based systems
TW200419357A (en) Integrated circuit and method for sending requests
Parkes et al. SpaceWire-RT
Ferrer et al. Quality of Service in NoC for Reconfigurable Space Applications
WO2008035265A2 (en) Electronic device, and method of controlling a communication between processing units

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150211

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160211

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170206

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180212

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190213

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200214

Year of fee payment: 10