KR20070028406A - 시간 슬롯 할당을 위한 집적 회로 및 방법 - Google Patents

시간 슬롯 할당을 위한 집적 회로 및 방법 Download PDF

Info

Publication number
KR20070028406A
KR20070028406A KR1020067025908A KR20067025908A KR20070028406A KR 20070028406 A KR20070028406 A KR 20070028406A KR 1020067025908 A KR1020067025908 A KR 1020067025908A KR 20067025908 A KR20067025908 A KR 20067025908A KR 20070028406 A KR20070028406 A KR 20070028406A
Authority
KR
South Korea
Prior art keywords
network
slot
slots
connection
time slot
Prior art date
Application number
KR1020067025908A
Other languages
English (en)
Other versions
KR101110808B1 (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 KR20070028406A publication Critical patent/KR20070028406A/ko
Application granted granted Critical
Publication of KR101110808B1 publication Critical patent/KR101110808B1/ko

Links

Images

Classifications

    • 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/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/43Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

복수의 처리 모듈(M, S; IP) 및 상기 모듈(M, S; IP)을 연결하기 위해 배열된 네트워크(N)를 포함하는 집적 회로가 제공된다. 상기 집적 회로는 복수의 네트워크 인터페이스(NI)를 더 포함하는데, 각 인터페이스는 상기 처리 모듈(M, S; IP) 중 하나와 상기 네트워크(N) 사이에 연결된다. 상기 네트워크(N)는 네트워크 링크(L)를 통해 인접 라우터(R)에 연결된 복수의 라우터(R)를 포함한다. 상기 처리 모듈(M, S; IP)은 네트워크(N)를 통한 연결 경로(C1-C12)를 사용하는 연결을 통해 서로간에 통신하되, 상기 연결 경로(C1-C12) 각각은 필요한 수의 시간 슬롯 동안 적어도 하나의 네트워크 링크(L)를 사용한다. 시간 슬롯을 상기 네트워크 링크(L)에 할당하기 위해, 사용되지 않은 시간 슬롯을 결정하기 위해, 그리고 이미 할당된 시간 슬롯에 덧붙여서, 결정된 사용되지 않은 시간 슬롯을 상기 네트워크 링크를 사용하는 하나 이상의 연결에 할당하기 위해, 적어도 하나의 시간 슬롯 할당 유닛(SA)이 제공된다.

Description

시간 슬롯 할당을 위한 집적 회로 및 방법{INTEGRATED CIRCUIT AND METHOD FOR TIME SLOT ALLOCATION}
본 발명은 복수의 처리 모듈 및 (처리 모듈을 연결하기 위해 배열된) 네트워크를 구비하는 집적 회로와, 이러한 집적 회로에서의 시간 슬롯 할당을 위한 방법과, 데이터 처리 시스템에 대한 것이다.
시스템 온 실리콘은 기존의 기능에 대한 새로운 특징 및 개선을 구현하는 것에 대한 계속해서 증가하는 요구로 인한 복잡도에서의 연속적인 증가를 나타낸다. 이는 구성요소가 집적 회로 상에 집적될 수 있는 증가하는 밀도에 의해 가능해진다. 동시에, 회로가 작동되는 클록 스피드 역시 증가하는 경향이 있다. 증가된 구성요소 밀도와 조합된 더 높은 클록 스피드가 동일한 클록 도메인 내에서 동시에 작동할수 있는 영역을 감소시켜 왔다. 이는 모듈식 접근법에 대한 요구를 초래해 왔다. 이러한 접근법에 따라, 처리 시스템은 복수의 비교적 독립적인 복잡한 모듈을 포함한다. 종래의 처리 시스템에서, 이 시스템 모듈은 보통 버스를 통해 서로 통신한다. 그러나 모듈 수가 증가함에 따라, 이러한 통신 방식은 더 이상 다음과 같은 이유로 실용적이지 않다. 한편에서, 다수의 모듈이 너무 높은 버스 로드를 형성하고, 버스는 오직 하나의 디바이스만이 버스에 데이터를 보내게 함에 따라 통신 병목현상을 만들어낸다.
통신 네트워크는 이러한 단점을 극복하기 위한 효과적인 방식을 형성한다. 네트워크 온 칩(NoC)이 고도로-복잡한 칩에서의 상호 문제점에 대한 해법으로서 최근에 상당한 주목을 받아왔다. 이유는 두가지이다. 우선, NoC가 글로벌 와이어를 구성하고 관리함에 따라, 새로운 딥-서브미크론 기술에서의 전기 문제를 해결하는 것을 돕는다. 동시에 NoC는 와이어를 공유해서, 수를 감소시키고 이용도를 증가시킨다. NoC는 또한 에너지 효율적일 수 있고 신뢰할만하며, 버스에 비해 스케일러블하다. 둘째로, NoC는 또한 계산을 통신으로부터 연결해제하는데, 이는 빌리언-트랜지스터 칩의 설계를 관리하는데 필수적이다. NoC는 이러한 연결해제를 달성하는데, 그 이유는 통상적으로, 통신 서비스 이용을 서비스 구현으로부터 분리하는 잘-한정된 인터페이스를 제공하는, 프로토콜 스택을 사용해서 설계되기 때문이다.
온-칩 상호연결부로서 네트워크를 도입하는 것은 버스 또는 스위치와 같은, 직접 상호연결부에 비해 통신을 급격히 변경시킨다. 이는 네트워크의 멀티-홉 특성 때문인데, 통신 모듈은 직접 연결되지 않으나 하나 이상의 네트워크 노드에 의해 원격으로 분리된다. 이는 모듈이 직접 연결되는 지배적인 기존의 상호연결부(즉, 버스)와 대조적이다. 이러한 변경의 함축은 (중앙형에서 분산형으로 변경해야 하는) 임의성에, 그리고 (지능형 특성 블록(IP) 또는 네트워크에 의해 처리되어야 하는) 통신 특성(예컨대, 순서화, 또는 흐름 제어)에 존재한다.
이러한 토픽의 대부분은 이미 근거리 및 광역 네트워크(컴퓨터 네트워크) 분야에서 그리고 병렬 기계 상호연결 네트워크에 대한 상호연결부로서 연구 주제가 되어 왔다. 둘 모두는 온-칩 네트워크와 매우 관련이 있으며, 이 분야에서의 결과 중 다수가 또한 온칩에 적용가능하다. 그러나, NoC의 전제는 오프-칩 네트워크와 상이하며, 따라서, 네트워크 설계 선택의 대부분은 재평가되어야 한다. 온-칩 네트워크는 상이한 특성(예컨대, 더 타이트한 링크 동기화) 및 제약(예컨대, 더 높은 메모리 비용)을 가져서 상이한 설계 선택을 초래하는데, 이 선택은 궁극적으로 네트워크 서비스에 영향을 미친다.
NoC는 주로 제약 및 동기화에서 오프-칩 네트워크와 상이하다. 통상적으로, 자원 제약은 오프 칩 보다 온 칩에서 더 타이트하다. 스토리지(즉, 메모리) 및 계산 자원은 비교적 더 비싼 반면에, 점대점 링크 수는 오프 칩보다 온 칩이 더 많다. 스토리지는 비싼데, 그 이유는 RAM과 같은 범용 온-칩 메모리가 넓은 영역을 차지하기 때문이다. 비교적 작은 크기의 네트워크 구성요소에서 분산된 메모리를 갖는 것이 더욱 악화되는데, 메모리에서 오버헤드 영역이 지배적이 되기 때문이다.
오프-칩 네트워크는 통상적으로 패킷 스위칭을 사용하고 최상의-노력(best-effort) 서비스를 제공한다. 회선경합이 각각의 네트워크 노드에서 발생할 수 있어, 지연 보장(latency quarantee)을 제공하는 것을 매우 어렵게 한다. 레이트-기반 스위칭 또는 데드라인-기반 패킷 스위칭과 같은 방식을 사용해서 처리량 보장이 여전히 제공될 수 있으나 높은 버퍼링 비용이 든다. 이러한 시간-관련 보장을 제공하기 위한 대안은 시-분할 다중 접속(TDMA) 회로를 사용하는 것인데, 모든 회로가 네트워크 접속에 전용된다. 회로는 비교적 낮은 메모리 및 계산 비용으로 보장을 제공한다. 네트워크 아키텍쳐가 임의의 나머지(left-over) 보장된 대역폭으로 하여 금 최상의-노력 통신에 의해 사용되게 할 때 네트워크 자원 이용도가 증가된다.
네트워크 온 칩(NoC)은 통상적으로 복수의 라우터 및 네트워크 인터페이스로 구성된다. 라우터는 네트워크 노드로서 작용하며, 정확한 경로 상의 데이터를 고정된 토대 상에서 목적지로 라우팅하거나(즉, 라우팅이 미리 결정되며 변경되지 않는다), 동적인 토대 상에서 라우팅함으로써(즉, 라우팅이 핫 스팟을 피하기 위해 예컨대, NoC 부하에 따라 변경될 수 있다), 소스 네트워크 인터페이스로부터 목적지 네트워크 인터페이스로 데이터를 전송하는데 사용된다. 라우터는 또한 (예컨대, 레이트-기반으로, 데드라인-기반으로, 또는 TDMA 방식의 파이프라인형 회로를 사용해서) 시간 보장을 구현할 수 있다. 라우터 아키텍쳐에 대한 더 세부사항은 Edwin Rijpkema, Kees Goossens, 및 Paul Wielage에 의한 A router architecture for networks on silicon, In PROGRESS, 2001년 10월에서 발견될 수 있다.
네트워크 인터페이스는 임의의 종류의 데이터 처리 유닛을 나타낼 수 있는 또는 메모리, 브리지 등일 수도 있는, IP 블록(지능형 블록)에 연결된다. 특히, 네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성한다. 인터페이스는 보통 기존의 버스 인터페이스와 호환가능하다. 따라서, 네트워크 인터페이스는 데이터 시계열화(제공된 명령어, 플래그, 어드레스, 및 데이터를 고정된-대역폭(예컨대 32 비트) 신호 그룹에 적합하게 함) 및 패킷화(네트워크에 의해 내부적으로 요구되는 패킷 헤더 및 트레일러를 추가함)를 처리하도록 설계된다. 네트워크 인터페이스는 또한 패킷 스케줄링을 구현할 수 있는데, 이 스케줄링은 타이밍 보장 및 승인 제어를 포함할 수 있다.
온-칩 시스템은 종종 상호연결 통신에 대한 타이밍 보장을 요구한다. 따라서, 통신 클래스가 제공되는데, 이 클래스에서 처리량, 지연 및 지터가 글로벌 시간의 개념(즉, 네트워크 구성요소 즉, 라우터와 네트워크 인터페이스 사이의 동기성 개념)을 기초로 해서 보장되는데, 기본 시간 유닛은 슬롯 또는 시간 슬롯이라 불린다. 모든 네트워크 구성요소는 보통, 네트워크 구성요소의 각 출력 포트에 대해 동일한 크기의 슬롯 테이블을 포함하는데, 시간 슬롯이 상이한 연결에 대해 예약되며 슬롯 테이블이 동기화되어 진행한다(즉, 모두가 동일한 시간에 동일한 슬롯에 있다). 연결은 상이한 트래픽 클래스를 식별하도록 그리고 특성을 클래스와 연관시키도록 사용된다.
시간-관련 보장(즉, 처리량, 지연 및 지터)을 제공하는 비용-효과적인 방식은 TDMA(시 분할 다중 접속) 방식의 파이프라인형 회로를 사용하는 것인데, 이는 타이트한 동기화를 갖는 시스템 온 칩(SoC)에 대한 레이트-기반의 그리고 데드라인 기반의 방식에 비해 더 작은 버퍼 공간을 요구함에 따라 유리하다.
각각의 슬롯에서, 데이터 항목은 하나의 네트워크 구성요소로부터 그 다음의 하나 즉, 라우터 사이의 또는 라우터와 네트워크 인터페이스 사이의 구성요소로 이동된다. 따라서, 슬롯이 출력 포트에서 예약될 때, 그 다음 슬롯이 마스터 모듈과 슬레이브 모듈 사이의 경로를 따르는 후속하는 출력 포트에 예약되어야 하는 등이다.
타이밍 보장을 이용하는 다중 연결이 설정될 때, 어떠한 클래쉬도 존재하지 않도록(즉, 하나 초과의 연결에 할당된 어떠한 슬롯도 존재하지 않도록) 슬롯 할당 이 수행되어야 한다. 소정의 네트워크 토폴로지 즉, 소정수의 라우터 및 네트워크 인터페이스, 및 IP 블록 사이의 연결 세트에 대한 최적의 슬롯 할당을 발견하는 작업은 고도로 계산-집약적인 문제인데(NP complete), 이는 엄청난 계산 시간을 요구하는 최적 해법을 발견하는 것을 수반하기 때문이다.
따라서, 본 발명의 목적은 네트워크 온 칩 환경에서 개선된 슬롯 할당을 제공하는 것이다.
이 목적은 청구항 1에 따른 집적 회로 및 청구항 6에 따른 시간 슬롯 할당 방법뿐만 아니라 청구항 7에 따른 데이터 처리 시스템에 의해 달성된다.
따라서, 복수의 처리 모듈 및 상기 모듈을 연결하기 위해 배열된 네트워크를 포함하는 집적 회로가 제공된다. 상기 집적 회로는 복수의 네트워크 인터페이스를 더 포함하는데, 각 인터페이스는 상기 처리 모듈 중 하나와 상기 네트워크 사이에 연결된다. 상기 네트워크는 네트워크 링크를 통해 인접 라우터에 연결된 복수의 라우터를 포함한다. 상기 처리 모듈은 네트워크를 통해 연결 경로를 사용하는 연결을 통해 서로간에 통신하는데, 상기 연결 경로 각각은 필요한 수의 시간 슬롯에 대해 적어도 하나의 네트워크 링크를 사용한다. 적어도 하나의 시간 슬롯 할당 유닛이 제공되는데, 이는 사용되지 않은 시간 슬롯을 결정하기 위해, 시간 슬롯을 상기 네트워크 링크에 할당하기 위해 그리고 이미 할당된 시간 슬롯에 덧붙여, 결정된 사용되지 않은 시간 슬롯을 상기 네트워크 링크를 사용하는 하나 이상의 연결에 할당하기 위해서이다.
따라서, 시간 슬롯 할당후에 사용되지 않은 시간 슬롯은 이러한 연결의 지연이 감소되도록 연결의 일부에 사용될 수 있다.
본 발명은 또한 복수의 처리 모듈, 상기 모듈을 연결하기 위해 배열된 네트워크 및 복수의 네트워크 인터페이스를 구비하는 집적 회로에서의 시간 슬롯 할당 방법에 대한 것으로서, 각 인터페이스는 상기 처리 모듈 중 하나 사이에 연결된다. 상기 네트워크는 네트워크 링크를 통해 인접 라우터에 연결된 복수의 라우터를 포함한다. 처리 모듈 사이의 통신은 네트워크를 통한 연결 경로를 사용하는 연결을 통해 수행되는데, 상기 연결 경로 각각은 필요한 수의 시간 슬롯에 대해 적어도 하나의 네트워크 링크를 사용한다. 시간 슬롯을 할당하는 동안에 사용되지 않은 시간 슬롯이 결정되고, 이미 할당된 시간 슬롯에 덧붙여서, 상기 네트워크 링크를 사용하는 하나 이상의 연결에 할당된다.
본 발명은 나아가 복수의 처리 모듈 및 상기 처리 모듈을 연결하기 위해 배열된 네트워크를 포함하는 데이터 처리 시스템에 대한 것이다. 상기 집적 회로는 복수의 네트워크 인터페이스를 포함하는데, 각 인터페이스는 상기 처리 모듈 중 하나와 상기 네트워크 사이에 연결된다. 상기 네트워크는 네트워크 링크를 통해 인접 라우터에 연결된 복수의 라우터를 포함한다. 상기 처리 모듈은 네트워크를 통한 연결 경로를 사용하는 연결을 통해 서로간에 통신하는데, 상기 연결 경로 각각은 필요한 수의 시간 슬롯에 대해 적어도 하나의 네트워크 링크를 사용한다. 적어도 하나의 시간 슬롯 할당 유닛이 제공되는데, 이는 사용되지 않은 시간 슬롯을 결정하기 위해, 시간 슬롯을 상기 네트워크 링크에 할당하기 위해 그리고 이미 할당된 시간 슬롯에 덧붙여서, 결정된 사용되지 않은 시간 슬롯을 네트워크 링크를 사용하는 하나 이상의 연결에 할당하기 위해서이다.
따라서, 시간 슬롯 할당이 또한 다수-칩 네트워크 또는 수개의 별개의 집적 회로를 구비하는 시스템 또는 네트워크에서 수행될 수 있다.
본 발명은 사용되지 않은 시간 슬롯을 이미 할당된 시간 슬롯에 덧붙여서 네트워크 온 칩 환경에서 연결에 할당함으로써 시간 슬롯 할당 후에 사용되지 않은 시간 슬롯을 사용해서, 이러한 연결의 지연을 감소시키는 아이디어에 기초한다.
본 발명의 다른 측면은 종속항에서 한정된다.
본 발명이 이제 도면을 참조해서 더 상세히 설명될 것이다.
도 1은 본 발명에 따른 네트워크 온 칩의 기본 구조도.
도 2는 도 1에 따른 네트워크에서의 연결을 위한 기본 슬롯 할당을 도시하는 도면.
도 3은 도 1에 따른 네트워크에서 슬롯 할당을 더 상세히 도시하는 도면.
도 4는 본 발명에 따른 더욱 상세한 슬롯 할당을 도시하는 도면.
도 5는 본 발명에 따른 더욱 상세한 슬롯 할당을 도시하는 도면.
도 6은 본 발명에 따른 더욱 상세한 슬롯 할당을 도시하는 도면.
도 7은 제1 실시예에 따른 네트워크 온 칩 환경을 도시하는 도면.
도 8은 도 7의 네트워크 온 칩 환경의 섹션을 도시하는 도면.
도 9는 자유 슬롯을 발견하는 방법의 예시를 도시하는 도면.
도 10은 수개의 연결을 구비하는 네트워크 온 칩을 도시하는 도면.
도 11은 계산된 링크 가중치를 갖는 도 9에 따른 네트워크 온 칩을 도시하는 도면.
도 12는 계산된 링크 가중치를 갖는 도 10에 따른 네트워크 온 칩을 도시하는 도면.
도 13은 도 10에 따른 모든 연결에 대한 상세한 슬롯 할당을 도시하는 도면.
후술하는 실시예는 시스템 온 칩에 대한 것이다, 즉, 동일한 칩 상에서 복수의 모듈이 일정 종류의 상호연결부를 통해 서로 통신한다. 상호연결부는 네트워크 온 칩(NOC)으로 구현된다. 네트워크 온 칩은 와이어, 버스, 시-분할 다중송신, 스위치, 및/또는 라우터를 네트워크 내에 포함할 수 있다. 상기 네트워크의 전송층에서, 모듈간의 통신이 연결을 통해 수행된다. 연결은 채널 세트로 간주되는데, 각 채널은 제1 모듈과 적어도 하나의 제2 모듈 사이의 연결 특성 세트를 구비한다. 제1 모듈과 단일의 제2 모듈 사이의 연결을 위해, 이 연결은 두 개의 채널 즉, 제1 모듈로부터 제2 모듈로의 하나의 채널 즉, 요청 채널, 및 제2 모듈로부터 제1 모듈로의 제2 채널 즉, 응답 채널을 포함할 수 있다. 요청 채널이 제1 모듈로부터 제2 모듈로의 데이터 및 메시지를 위해 예약되는 반면, 응답 채널은 제2 모듈로부터 제1 모듈로의 데이터 및 메시지를 위해 예약된다. 어떠한 응답도 필요하지 않은 경우, 이 연결은 단지 하나의 채널만을 포함할 수 있다. 그러나, 이 연결이 하나의 제1 및 N 개의 제2 모듈을 수반하는 경우, 2*N 개의 채널이 제공된다. 그러므로, 연결 또는 네트워크를 통한 연결의 경로 즉, 이 연결 경로는 적어도 하나의 채널을 포함한다. 다시 말해서, 채널은 오직 하나의 채널만이 사용되는 경우 연결의 연결 경로에 대응한다. 두 개의 채널이 위에서 언급된 바와 같이 사용되는 경우, 하나의 채널이 예컨대, 마스터로부터 슬레이브로의 연결 경로를 제공하는 반면에, 제2 채널은 슬레이브로부터 마스터로의 연결 경로를 제공할 것이다. 따라서, 통상적인 연결에서, 연결 경로는 두 개의 채널을 포함할 것이다. 연결 특성은 순서화(데이터 전송 순서), 흐름 제어(원격 버퍼가 연결을 위해 예약되고, 생성된 데이터에 공간이이용가능하다는 것을 보장할 때에만 데이터 생성기가 데이터를 보내도록 허용될 것이다), 처리량(처리량에 대한 하한이 보장된다), 지연(지연에 대한 상한이 보장된다), 유실(데이터 드롭), 송신 종료, 트랜잭션 완성, 데이터 정확도, 우선순위, 또는 데이터 전달을 포함할 수 있다.
도 1은 본 발명에 따른 네트워크 온 칩을 도시한다. 이 시스템은 수개의 소위 지능형 특성 블록(IP)(계산 요소, 메모리 또는 내부에 상호연결 모듈을 포함할 수 있는 서브시스템)을 포함하는데, 이 블록 각각은 네트워크 인터페이스(NI) 각각을 통해 네트워크(N)에 연결된다. 네트워크(N)는 복수의 라우터(R)를 포함하는데, 이 라우터는 각각의 링크를 통해 인접 라우터(R)에 연결된다.
네트워크 인터페이스(NI)는 IP 블록과 네트워크(N) 사이의 인터페이스로서 사용된다. 네트워크 인터페이스(NI)는 각각의 IP 블록과 네트워크(N)의 통신을 관리하도록 제공되어, IP 블록은 네트워크(N) 또는 다른 IP 블록과의 통신을 다룰 필요없이 전용 동작을 수행할 수 있다. IP 블록은 요청을 개시하는 마스터로서 작용 하거나, 마스터로부터 요청을 수신하고 이 요청을 적절히 처리하는 슬레이브로서 작용할 수 있다.
도 2는 도 1에 따른 네트워크 온 칩에서 연결 및 기본 슬롯 할당의 블록도를 도시한다. 특히, 마스터(N)와 슬레이브(S) 사이의 연결이 도시되어 있다. 이 연결은 마스터(M)와 연관된 네트워크 인터페이스(NI), 두 개의 라우터, 및 슬레이브(S)와 연관된 네트워크 인터페이스(NI)에 의해 구현된다. 마스터(M)와 연관된 네트워크 인터페이스(NI)는 시간 슬롯 할당 유닛(SA)을 포함한다. 대안적으로, 슬레이브(S)와 연관된 네트워크 인터페이스(NI) 또한 시간 슬롯 할당 유닛(SA)을 포함할 수 있다. 제1 링크(L1)가 마스터(M)와 연관된 네트워크 인터페이스(NI)와 제1 라우터(R) 사이에 존재하고, 제2 링크(L2)가 두 개의 라우터(R) 사이에 존재하며, 제3 링크(L3)가 슬레이브(S)와 연관된 네트워크 인터페이스(NI)와 라우터 사이에 존재한다. 각각의 네트워크 구성요소의 출력 포트를 위한 3개의 슬롯 테이블(ST1 - ST3)이 또한 도시되어 있다. 이 슬롯 테이블은 바람직하게는, 네트워크 인터페이스 및 라우터와 같은 네트워크 요소의 출력 측 즉, 데이터 생성 측 상에 구현된다. 각각의 요청된 슬롯에 대해, 하나의 슬롯이 연결 경로를 따르는 링크의 각 슬롯 테이블 내에 예약된다. 모든 이러한 슬롯이 자유로워야 한다 즉, 다른 채널에 의해 예약되지 않아야 한다. 데이터가 각 슬롯에서 하나의 네트워크 구성요소로부터 다른 구성요소로 이동하기 때문에, 슬롯(s=1)에서 시작해서, 연결을 따르는 그 다음 슬롯은 슬롯(s=2)에서 그리고 이후 슬롯(s=3)에서 예약되어야 한다.
시간 슬롯 할당 유닛(SA)에 의해 수행된 슬롯 할당 결정을 위한 입력은 상호 연결부, 및 슬롯 테이블 크기, 및 연결 세트를 구비하는 네트워크 구성요소와 같은, 네트워크 토폴로지이다. 모든 연결에 대해, 경로 및 대역폭, 지연, 지터, 및/또는 슬롯 요건이 제공된다. 연결은 적어도 두 개의 채널 또는 연결 경로(마스터로부터 슬레이브로의 요청 채널, 및 슬레이브로부터 마스터로의 응답 채널)로 구성된다. 이러한 채널의 각각은 개별 경로 상에 설정되고, 상이한 대역폭, 지연, 지터 및/또는 슬롯 요건을 구비하는 상이한 링크를 포함할 수 있다. 시간 관련 보장을 제공하기 위해, 슬롯이 링크에 대해 예약되어야 한다. 상이한 슬롯이 TDMA를 이용해 상이한 연결에 대해 예약될 수 있다. 연결을 위한 데이터가 이때 연속 슬롯에서 연결을 따르는 연속 링크를 통해 전송된다.
도 3은 도 2의 테이블 구현을 더 상세히 도시한다. 여기서, 두 개의 네트워크 인터페이스(NI1, NI2)와, 두 개의 라우터(R1, R2)와, 네트워크 인터페이스(NI1)와 라우터(R1) 사이의, 라우터(R1)와 라우터(R2) 사이의, 그리고 라우터(R1)와 네트워크 인터페이스(NI2) 사이의 세 개의 링크(L1 - L3)가 각각 도시되어 있다. IP 블록은 도시되어 있지 않다. 슬롯 테이블(ST1 - ST3)이 라벨링된 링크(L1 - L3)의 각각에 대해 도시되어 있다. 이러한 링크는 양방향이며, 따라서, 각각의 링크에 대해, 두 개의 방향 각각에 대한 슬롯 테이블이 존재한다; 슬롯 테이블(ST1 - ST3)은 단지 하나의 방향에 대해서만 도시되어 있다. 추가로, 세 개의 연결(c1 - c3)이 도시되어 있다. 위의 세 개의 슬롯 테이블(ST1 - ST3)에 덧붙여서, 추가적인 슬롯 테이블(ST4 - ST6)이 도시되어 있다. 이제 세 개의 연결(c1 - c3)과 관련있는 모든 슬롯 테이블(ST1 - ST6)이 도시된다. 제 1 연결(c1)은 라우터(R1 및 R2)를 통해 네트워크 인터페이스(NI1)로부터 네트워크 인터페이스(NI2)까지 확장한다. 제2 연결(c2)은 네트워크 인터페이스(NI1)로부터 라우터(R1)까지 확장하고 이후 슬롯 테이블(ST4)를 사용해서 (미도시된) 추가적인 네트워크 구성요소까지 확장한다. 제3 연결(c3)은 미도시된 네트워크 구성요소로부터 발생해서 라우터(R1)로부터 라우터(R2)까지 통과할 수 있으며 나아가 슬롯 테이블(ST6)을 사용해서 또 하나의 미도시된 네트워크 구성요소까지 통과할 수 있다. 연결(c1)은 세 개의 링크(L1 - L3) 각각에서 하나의 슬롯을 예약하며, 각 링크는 NI1부터 R1까지, R1 부터 R2까지, 그리고 R2부터 NI2까지 사용한다. 이 링크 내의 슬롯은 연속적이어야 한다(슬롯 2, 슬롯 3, 및 슬롯 4, 각각). 라우터 관점으로부터, 시간 슬롯에, 라우터는 링크(L1 - L3)가 예약되어 있는 연결(c1 - c3) 상에서, 입력 링크로부터 데이터를 수신한다. 데이터가 라우터에 저장된다. 동시에, 라우터가 이전 슬롯에 수신한 데이터를 출력 링크에 보낸다. 이러한 모델에 따르면, 데이터가 최대 하나의 슬롯 동안 라우터에 저장됨에 따라, 연결 슬롯이 연속적으로 예약되어야 한다.
슬롯 할당 문제의 가능한 일반화 또는 대안이 데이터로 하여금 하나 초과의 슬롯 지속시간 동안 라우터에 버퍼링되게 한다. 이 결과, 슬롯 할당이 더 유연해지는데, 이는 더 많은 버퍼링, 및 잠재적으로는 더 긴 지연에 대한 대가로 더 양호한 링크 이용도를 초래할 수 있다.
링크 상에서 어떠한 충돌도 존재하지 않도록 슬롯이 예약되어야 한다. 이는 동일한 링크의 동일한 슬롯을 예약하는 어떠한 두 개의 연결도 존재하지 않는다는 것이다. 그러므로, C1은 NI1과 R1 사이의 링크를 위해 슬롯2를 예약한다. 결과적으 로, C2가 동일한 링크를 위해 슬롯2를 사용할 수 없다.
도 4는 제1, 제2 및 제3 링크(L1 - L3) 각각에 대해 어떠한 슬롯이 어떠한 연결에 예약되는지를 명시하는 테이블을 구현함으로써 간단한 슬롯 테이블 구현예를 도시한다. 특히, 3개의 링크(L1 - L3)를 위한 3개의 연결(c1 - c3)이 필요로 하는 슬롯 테이블(ST1 - ST3)만이 도시되어 있다. 이 테이블을 저장하기 위한 바람직한 위치는 해당 링크를 위한 데이터를 생성하는 라우터/네트워크 인터페이스 즉, 출력 포트에 있는데, 그 이유는 해당 링크를 위한 데이터를 생성하기 위해, 링크가 예약되어 있는 때 또는 그렇지 않은 때를 라우터/네트워크 인터페이스가 알아야 하기 때문이다. 테이블은 또한 시간 슬롯 할당 유닛(SA)의 일부일 수 있다.
도 5는 더 효과적인 슬롯-할당 인코딩을 도시한다. 여기서, 3개의 링크(L1 - L3)를 위한 3개의 연결(c1 - c3)이 필요로 하는 슬롯 테이블(ST1 - ST3)만이 도시되어 있다. 슬롯이 속해 있는 연결에 대한 정보가 네트워크 인터페이스(NI)에 그리고 특히 시간 슬롯 할당 유닛(SA)에 저장되는 한편, 라우터 내의 슬롯 데이블(ST1 - ST3)은 단지 슬롯이 링크에 대해 예약되어 있는지 그렇지 않은지를 마크한다. 라우터는 단지 데이터를 하나의 네트워크 요소로부터 또 하나의 요소로 그리고 최종적으로 패킷 헤더(목적지 어드레스 또는 목적지로의 경로를 포함함)를 기초로 해서 정확한 출력으로 이동시킴에 따라, 슬롯과 연관된 연결을 알 필요가 없다.
도 6에, 도 4 및 도 5의 위 인코딩에 대한 가능한 변형예가 도시되어 있다. 여기서, 라우팅 정보는 (패킷 헤더 대신에) 라우터 자체에 저장되어 있다. 출력 포트 슬롯 테이블(ST1 - ST3) 내에서, 슬롯은 입력 데이터가 어느것으로부터 소비되 는지를 나타낸다. 이러한 방식으로, 패킷 헤더가 생략될 수 있으며, 이는 라우터 내의 더 큰 슬롯 테이블을 대가로, 더 많은 처리량을 초래한다.
도 7은 본 발명의 바람직한 실시예에 따른 네트워크 온 칩을 도시한다. 네트워크 온 칩은 두 개의 라우터(R7, R4)로서 7×7 라우터 및 4×4 라우터 각각을 포함한다. 이 두 개의 라우터는 8개의 네트워크 인터페이스(NI1 - NI8) 각각을 통해 추가적인 IP 블록에 연결된다. IP블록은 디컴프(압축해제기) 유닛, L0 메모리 유닛, ME/MC(움직임 추정/움직임 보상) 유닛, 컴프(압축) 유닛, 메모리(MEM), 추가적인 디컴프 유닛, 및 추가적인 ME/MC 유닛 각각이다. 각각의 IP 블록의 특정 기능이 본 발명의 원리를 설명하는데 있어 중요하지 않기 때문에, 상세한 설명은 생략될 것이다.
또한, 도 7은 네트워크 인터페이스(NI)와 라우터(R7, R4) 사이의 각 링크를 위한 두 개의 슬롯 테이블을 도시한다. 특히, 하나의 슬롯 테이블이 순방향으로 제공되며 하나의 슬롯 테이블이 역방향으로 각각 제공된다. 나아가, 두 개의 슬롯 테이블이 두 개의 라우터(R7, R4) 사이에서 통신하기 위한 라우터간의 링크에서 제공되는데, 즉 하나는 순방향이고 하나는 역방향이다. 따라서, 전체 18개의 슬롯 테이블이 이러한 네트워크 온 칩 내에서 9개의 링크에 대해 도시된다. 18개의 슬롯 테이블이 도면에 도시되나 단지 하나의 슬롯 테이블(예컨대, 순방향)만이 하나의 네트워크 인터페이스에 필요하고 라우터는 전혀 어떠한 슬롯 테이블도 필요로 하지 않음에 따라 물리적으로는 단지 8개의 슬롯 테이블만이 존재할 수 있다는 것에 주목하자.
도 7에, 시간 슬롯 할당이 이러한 네트워크 온 칩 내의 몇 가지 연결에 대해 수행된 후의 상황이 도시되어 있다. 슬롯 테이블 중 일부는 완전히 예약된다는 것을 알 수 있다(예컨대, 제2 네트워크 인터페이스(NI2) 및 제3 네트워크 인터페이스(NI3)와 연관된 순방향 슬롯 테이블뿐만 아니라 제4 및 제8 네트워크 인터페이스(NI4, NI8)와 연관된 역방향 슬롯 테이블). 나머지 슬롯 테이블 중 일부, 예컨대 제5 네트워크 인터페이스(NI5)와 연관된 순방향 및 역방향 슬롯 테이블에서 20개의 시간 슬롯 중 단지 1개가 예약된다.
18개의 슬롯 테이블에서, 예약 슬롯은 회색 상자로 나타나는 반면에, 임의의 자유 시간 슬롯은 흰색 상자로 나타난다. 여기서, 모든 18개의 슬롯 테이블은 20개의 시간 슬롯을 포함해서 이 시간 슬롯을 동기화된 채로 유지한다. 예컨대, 제1 네트워크 인터페이스(NI1) 사이의 링크 내에서 순방향 슬롯 테이블은 17개의 예약 시간 슬롯 및 3개의 자유 시간 슬롯을 포함한다. 17개의 예약 시간 슬롯으로부터, 이 시간 슬롯 중 16개는 하나의 연결과 연관될 수 있는 반면에 하나의 예약 시간 슬롯은 추가적인 연결과 연관될 수 있다. 또한, 제8 네트워크 인터페이스(NI8)와 라우터(R7) 사이의 링크 내에서 순방향 슬롯 테이블은 4개의 예약 슬롯 및 16개의 빈 슬롯을 포함한다.
18개의 슬롯 테이블 중 다수 개가 빈 슬롯인 이유 즉, 예약되지 않은 이유는 상이한 IP 블록에 필요한 데이터 레이트가 이용가능한 데이터 레이트보다 더 작기때문이다. 슬롯 테이블 크기는 이러한 네트워크 온 칩 내의 모든 연결에 대한 연결 요건을 이행하도록 절충을 만들어 낸다. 슬롯 테이블 내의 각각의 시간 슬롯을 할 당하기 위해 사용된 슬롯 테이블 할당 알고리즘은 모든 슬롯 테이블에 대한, 슬롯 테이블 프레그먼트화 즉, 상이한 슬롯 테이블 내의 빈 슬롯을 최소화하도록 설계된다. 따라서, 이러한 알고리즘은 네트워크 온 칩 내의 모든 연결을 이용가능한 슬롯 테이블에 매핑해서, 완전히 쓸모없는 슬롯을 최소화한다. 이용도 관점으로부터, 이러한 시간 슬롯 할당이 바람직한데, 이는 이 할당이 슬롯 테이블 내에서 최소수의 시간 슬롯을 사용하기 때문이다. 그러나, 이러한 시간 슬롯 할당에 의해 야기된 지연은 일부 경우에 최적과는 거리가 멀다. 예컨대, 제8 네트워크 인터페이스(NI8)와 연관된 순방향 슬롯 테이블은 20개의 이용가능한 시간 슬롯으로부터 4개의 예약 시간 슬롯을 포함한다. 따라서, 16개의 시간 슬롯이 자유로움에 따라, 최악의 경우의 시나리오는 최대 16번의 사이클을 기다려야 한다는 것이다. 그러나, 하나의 IP 블록으로부터 또 하나의 IP 블록으로의 연결의 지연을 감소시키기 위해, 사용되지 않은 또는 자유 시간 슬롯이 사용된다.
도 8은 도 7에 따른 네트워크 온 칩으로부터 선택된 요소를 도시한다. 따라서, 필요하지 않은 모든 요소가 도 8에서 생략되었다. 특히, 두 개의 라우터(R7, R4), 제2, 제6 및 제8 네트워크 인터페이스(NI2, NI6, NI8)뿐만 아니라 각각의 순방향 및 역방향 슬롯 테이블이 도시되어 있다. 또한, 두 개의 라우터(R7, R4)와 연관된 순방향 및 역방향 슬롯 테이블이 또한 도 8에 도시되어 있다. 나아가, 두 개의 연결(C1, C2)이 또한 도 8에 도시되어 있다. 제1 연결(C1)은 제8 네트워크 인터페이스(NI8), 이 인터페이스의 연관 슬롯 테이블(ST1-F 및 ST1-R), 제2 네트워크 인터페이스와 연관된 슬롯 테이블2(ST2-F 및 ST2-R), 및 제2 네트워크 인터페이 스(NI2)를 통해 ME/MC로부터 L0 메모리까지 통신하기 위해 3개의 시간 슬롯을 필요로 한다. 제2 연결(C2)은 제8 네트워크 인터페이스(NI8), 이 인터페이스의 순방향 슬롯 테이블(ST1-F), 라우터(R7), 두 개의 라우터(R7, R4) 사이에 연관된 슬롯 테이블(ST3-F), 슬롯 테이블(ST4-R), 제6 네트워크 인터페이스(NI6)를 통해, ME/MC로부터 메모리(MEM)까지 통신하기 위해 한 개의 시간 슬롯을 필요로 한다.
연결(C1)이 단지 라우터(R7)만을 통과함에 따라, 필요한 지연뿐만 아니라 처리량을 보장하기 위해, 단지 순방향인 두 개의 슬롯 테이블, 즉 슬롯 테이블(ST1-F 및 ST2-F)뿐만 아니라 역방향인 두 개의 슬롯 테이블 즉, ST1-R 및 ST2-R만이 정렬될 필요가 있다. 제2 연결(c2)의 경우에, 순방향인 세 개의 슬롯 테이블 즉, ST1-F, ST3-F 및 ST4-F 및 역방향인 세 개의 슬롯 테이블 즉, ST1-R, ST3-R 및 ST4-R이 정렬될 필요가 있다.
위에서 언급된 바와 같이, 연결의 지연은 슬롯 테이블 내의 두 개의 할당 시간 슬롯 사이의 간격에 따른다. 따라서, 연결의 지연을 감소시키기 위해, 여전히 사용되지 않은 시간 슬롯이 기존의 연결 중 일부에 할당된다. 추가적인 시간 슬롯 즉, 사용되지 않은 또는 자유 시간 슬롯(지연 감소 수단으로서 연결에 할당될 수 있음)의 수는 네트워크 온 칩의 일측으로부터 타측으로 데이터를 전송하기 위한 연결 경로를 따르는 각각의 슬롯 테이블 내에서 이용가능한 시간 슬롯의 최소수이다. 위에서 언급된 바와 같이, 연속적인 시간 슬롯이 연결 경로 내에서 슬롯 테이블을 따라 예약되어야 한다.
단지 하나의 시간 슬롯이 제2 네트워크 인터페이스(NI2)와 연관된 슬롯 테이 블(ST2-R) 내에서 여전히 이용가능한 한편, 16개의 시간 슬롯이 슬롯 테이블(ST1-F)에서 여전히 이용가능함에 따라, 단지 하나의 슬롯만이 제1 연결(C1) 내에서 지연 감소를 위해 사용될 수 있다. 3개의 슬롯 테이블(ST1-F, ST3-F, ST4-R) 내에서, 제2 연결(C2)을 위해 15, 16 및 16개의 슬롯이 각각 이용가능하다.
따라서, 하나의 추가적인 슬롯이 제1 연결(C1)에 할당될 수 있고, 15개의 추가적인 슬롯이 제2 연결(C2)에 할당될 수 있다. 따라서, 최악의 경우에 대한 지연 대기 시간 즉, 슬롯 테이블 내에서 총 슬롯 수 빼기 할당된 시간 슬롯 수는, 제1 연결(C1)에 대해 17(20개의 시간 슬롯 - 3개의 예약 슬롯)로부터 16(20개의 슬롯 - (3개의 할당 슬롯 + 1개의 지연 감소 슬롯))으로 감소된다. 제2 연결(C2)을 위한 최악의 경우의 시나리오에서 대기 시간은 19(20개의 슬롯 - 1개의 할당 슬롯)로부터 4(20개의 슬롯 - (1개의 할당 슬롯 + 15개의 지연 감소 슬롯))로 감소된다. 따라서, 지연 감소의 효율성은 슬롯 할당 후의 자유 시간 슬롯 또는 사용되지 않은 시간 슬롯의 양에 상당히 의존한다. 본 발명에 따른 이러한 기술을 수행하지 않고 버려질 수 있는 이러한 슬롯이 사용됨에 따라, 이러한 기술이 어떠한 비용 또는 복잡도도 야기하지 않는 한 슬롯 할당 후의 자유 시간 슬롯 또는 사용되지 않은 시간 슬롯을 사용하는 것이 유리하다.
바람직한 실시예에 대한 원리가 단지 하나의 슬롯 테이블의 연결에 대해서만 설명되었으나, 동일한 기술이 또한 네트워크 온 칩 내의 슬롯 테이블 내에서 임의의 연결에도 적용가능하다. 지연 감소에 대해 사용되지 않은 슬롯을 사용하는 기술이 복수의 연결뿐만 아니라 복수의 슬롯 테이블을 포함하는 네트워크 온 칩 내에서 수행되는 경우, 지연 감소에 이용가능한 사용되지 않은 슬롯 및 자유 슬롯이 분할되거나 사용되지 않은 슬롯 또는 지연 중복 슬롯을 구비하는 슬롯 테이블을 사용해서 연결 사이에서 공유되어야 한다.
바람직하게는, 상이한 우선순위가 네트워크 온 칩 내에서 연결과 연관될 수 있는데, 이는 증가 지연 감소를 요구하는 이러한 연결이 우선 제공될 수 있도록 하기 위함이다. 이는 우선순위 목록을 시간 슬롯 할당 유닛에 저장함으로써 달성될 수 있다.
지연 감소에 사용될 수 있는 사용되지 않은 슬롯의 식별을 더 개선하기 위해, 슬롯 할당 유닛(SA)이 각각의 시간 슬롯을 사용된, 사용되지 않은 또는 지연 감소에 대해 예약된 것으로 마크할 수 있다. 슬롯 할당 유닛(SA) 내의 마커 유닛(MU)의 이러한 구현예에서, 두 개 대신에 세 개의 값을 갖는 마커가 제공되어야 한다. 제3 값 즉, 지연 감소에 예약된 값은 임의의 다른 목적을 위해 이러한 슬롯의 이용을 허용할 수 있다. 마커의 이러한 구현예는 연결의 보장된 처리량에 영향을 미치지 않을 것이다.
실제적인 이용가능한 지연 감소가 소정의 연결을 위한 슬롯 할당 및 네트워크 온 칩 환경 내의 슬롯 테이블 내에서 사용되지 않은 슬롯의 위치에 따를 것임을 주목해야 한다. 위에서 설명된 개선된 슬롯 할당 기술의 이점은 데이터를 전송하는 연결의 지연이 감소된다는 것이다. 이러한 지연 감소의 구현예는 임의의 추가 비용 또는 복잡도를 수반하지 않을 것이다. 단지 복잡도의 증가가 감소 지연 비트에 의해 야기된다. 이러한 비트는 네트워크 온 칩 환경 내의 또는 연결 특성을 저장하는 중앙형 관리 유닛 내의 슬롯 테이블에 위치될 수 있다. 또한, 각각의 연결의 보장된 처리량에 영향을 미치지 않고, 마크된 슬롯이 다른 목적을 위해 이용될 수 있음을 즉, 또 하나의 연결에 이용되도록 구성될 수 있음을 나타내기 위해 추가적인 마커가 제공된다.
지연 감소 슬롯 할당이 슬롯 할당 후에 수행될 수 있거나 슬롯 할당의 시작과 동시에 사용될 수 있다. 이러한 지연 감소 슬롯 할당은 다중 동기식 TDMA에서 사용될 수 있으며 또한 단일 TDMA 시스템(예컨대, Sonics 백 플레인)에서도 사용될 수 있다.
이제 위의 사용되지 않은 슬롯 결정 전에 시간 슬롯 할당 유닛(SA) 내에서 구현될 수 있는 실제 슬롯 할당 기능이 설명될 것이다. 이 결과 슬롯 요건에 대응하는 슬롯 할당을 초래한다. 연결 경로 내에서 각 링크에 대해, 대역폭, 지연, 지터 우선선위 및/또는 해당 링크를 사용하는 연결 경로 내에서 각각의 채널(chi)에 요청된 슬롯 수의 함수로서 가중치가 계산된다:
Figure 112006091062233-PCT00001
대안적으로, 연결 경로 내에서 적어도 하나의 채널 내의 각 링크에 대해, 가중치가 해당 링크를 사용하는 각 연결 경로 즉, 각 채널에 요청된 또는 필요한 슬롯수의 합으로 계산된다:
Figure 112006091062233-PCT00002
이때 연결 경로 내의 각 채널에 대해, 가중치가 연결 경로의 일부로서 채널 경로 내에서 링크의 가중치 및 가능하게는 채널의 다른 특성(예컨대, 대역폭, 지연, 우선순위)의 함수(예컨대, 합)로서 계산된다:
Figure 112006091062233-PCT00003
또는, 대안적으로는, 각 채널(즉, 각 연결 경로)에 대해, 가중치가 채널 경로 내에서 링크의 가중치의 합으로 계산된다:
Figure 112006091062233-PCT00004
대안적인 위의 간단한 함수에 대해,
Figure 112006091062233-PCT00005
이 알고리즘은 다음과 같은 의사 코드로 구현될 수 있다:
Figure 112006091062233-PCT00006
슬롯이 계산된 가중치에 대해 내림 차순으로 채널에 할당된다. 각각의 요청 된 슬롯에 대해, 채널 경로를 따르는 링크의 각각의 슬롯 테이블에 예약된 하나의 슬롯이 존재한다. 모든 이러한 슬롯이 자유로워야 한다 즉, 다른 채널에 의해 이전에 예약되지 않아야 한다. 이러한 슬롯은 시행착오 방식: 특정 슬롯에서 시작해서, 경로를 따르는 모든 링크에서 자유 슬롯이 발견될 때까지 다수의 슬롯이 점검되는 방식으로 할당될 수 있다.
슬롯은 상이한 정책을 사용해서 할당을 위해 시도될 수 있다. 예는 연속 슬롯, 또는 고르게 분산된 슬롯이다. 다수 정책이 필요한 이유는 상이한 특성이 상이한 정책을 사용해서 최적화될 수 있기 때문이다. 예컨대, 연속 슬롯이 헤더 오버헤드를 감소시킬 수 있는 한편, 고르게 분산된 슬롯은 지연을 감소시킬 수 있다.
제안된 기술은 O(C ×L×S)인 낮은 복잡도를 갖는데, C는 채널수이고, L은 링크수이며, S는 슬롯 테이블 크기이다. 이 알고리즘을 이용해서 획득된 슬롯 할당은 (훨씬 더 높은 복잡도: O(Sc)에서 획득된) 최적, 및 (채널 할당을 위해 무작위 순서를 이용하는) 그리디(greedy) 알고리즘보다 더 양호한 2인 인수와 비교할 만하다.
대안적인 예시적인 알고리즘이 이제 설명된다. 다시, 각 링크에 대해, 가중치가 해당 링크를 사용하는 각 채널에 요청된 슬롯수의 합으로 계산된다:
Figure 112006091062233-PCT00007
이때 각 채널에 대해, 가중치가 채널 경로 내에서 링크의 가중치의 합으로 계산된다:
Figure 112006091062233-PCT00008
여기서, a 1 , a 2 , a 3 는 상수이다(이는 가중 공식의 예이나, 다른 공식도 또한 가능하다).
이러한 예시적인 알고리즘은 다음과 같은 의사 코드로 구현될 수 있다:
Figure 112006091062233-PCT00009
제2 실시예에 따른 링크 가중치의 계산은 제1 코드에서 설명된 바와 같으나, 채널 가중치는 상이하게 계산된다. 이러한 채널 가중 공식 뒤에 있는 아이디어는 빈번하게 사용된 링크를 통과함에 따라 즉, 핫 스팟(높은 부하 및 따라서 예약될 큰 슬롯을 갖는 링크)을 통과함에 따라 더 많은 슬롯을 요구하는 채널, 및 먼저 스케줄링되도록 더 높은 가중치만큼 긴 경로를 갖는 채널을 이용해 스케줄링하기 시작하는 것이다. 그 이유는 이러한 연결이 더 많은 제약을 가지며, 따라서, 종국에도 남는 경우, 자유 슬롯을 발견할 더 적은 기회를 갖기 때문이다. 이와 반대로, 더 적게 이용된 링크를 통과하는 더 짧은 채널이 슬롯을 발견하는데 있어 더 많은 자유를 가지며 따라서 슬롯 할당의 종국을 향해 남겨질 수 있다.
슬롯은 계산된 가중치에 대해 내림 차순으로 채널(즉, 각 연결 경로)에 할당될 수 있다. 각각의 요청된 슬롯에 대해, 도 2에 도시된 바와 같은 채널 경로를 따르는 링크의 각 슬롯 테이블에 예약된 하나의 슬롯이 존재한다. 모든 이러한 슬롯은 자유로워야 한다 즉, 다른 채널(즉, 각 연결 경로)에 의해 이전에 예약되지 않아야 한다. 이러한 슬롯은 시행착오 방식: 특정 슬롯에서 시작해서, 경로를 따르는 모든 링크에서 필요한 수의 슬롯이 자유로운 것으로 발견될 때까지 슬롯이 점검되는 방식으로 할당된다. 예시적인 알고리즘 추적(trace)이 다음 섹션에 제시된다.
도 9는 자유 시간 슬롯을 발견하는 방법을 도시하고 있다. 여기서, 예로서, 크기가 16인 슬롯 테이블이 도시되어 있다. 슬롯 발견 프로세스가 다양한 방식으로 수행될 수 있다. 하나의 예는 그리디 방식으로 슬롯을 발견하는 것 즉, 제1 N 개의 자유 슬롯을 발견하는 것이다. 또 하나의 예는 버퍼 공간을 최소화하기 위해 동일하게 이격된 슬롯을 발견하는 것이다. 이는 제1 자유 슬롯(ffs)을 발견하고, 슬롯 테이블 내에서 동일하게 이격된 위치를 계산하고, 이후 가장 가까운 자유 위치를 발견하기 위해 계산된 위치 주위에서 로컬방식으로 탐색함으로써 행해질 수 있다. 이미 예약되어 있는 슬롯이 도 9에서 크로스(×)를 이용해 마크되어 있다. 제1 자유 슬롯(ffs)은 슬롯2이다. 16개의 슬롯이 존재함에 따라, 나머지 두 개의 슬롯에 대한 이상적인 위치(제2 위치(ip2), 제3 위치(ip3))는 각각 (이들 사이에 동일한 간격을 얻기 위해) 슬롯 7 및 13이다. 슬롯 7이 이미 예약되어 있기 때문에, 자유 슬롯이 슬롯 7 부근에서 탐색된다. 발견된 가장 가까운 자유 슬롯은 슬롯 5이다. 슬롯 13이 자유롭기 때문에, 마찬가지로 예약될 수 있다. 그 결과, 예약된 세 개의 슬롯은 2, 5, 및 13이며 검은공 모양으로 마크된다.
연결을 위한 자유 슬롯이 완전한 경로를 따르는 자유로운 슬롯이라는 것이 주목되어야 한다 즉, 연속 시간 슬롯이 경로를 따르는 연속 링크에서 자유로워야 한다. 따라서, 연결 경로를 따르는 모든 슬롯 테이블이 특정 연결을 위한 자유 슬롯을 발견하도록 점검되어야 한다. 연결을 위한 자유 슬롯을 탐색하는 간단한 방식은 제1 연결 링크에서 시작해서, 경로를 따르는 모든 후속 슬롯 테이블을 시도하는 것인데, 예약된 슬롯은 스킵한다. 탐색 시간을 최소화하기 위해, 가장 부하가 많은 링크에서 시작할 수도 있다.
도 10은 단지 슬롯 예약만이 도 5에 도시된 바와 같이 (1 비트를 사용해서) 저장되는 경우에 대한 자유 슬롯의 탐색을 가속시키는 또 하나의 기술을 도시한다. 이는 다수의 슬롯을 동시에 점검하는 것을 기초로 한다. 이는 하드웨어(임의의 고정 비트 수를 점검하기 위한 유닛 즉, 시간 슬롯 할당 유닛(SA)) 및 소프트웨어 모두로 수행될 수 있다(CPU 데이터 워드는 예컨대, 16 또는 32개의 슬롯 예약을 동시에 저장할 수 있다). 도 10의 좌측에, 링크(L1 내지 L4)를 위한 슬롯 테이블(lst)이 예로서 도시되어 있다. 우측에, 경로를 따르는 자유 슬롯을 결정하기 위해 사용된 자유 슬롯 워드(fsw)가 도시되어 있다. 자유 슬롯은 슬롯 테이블을 이동하고 예약 슬롯을 필터링하고, (필요한 슬롯 정렬에 대응하는) 각 링크에서 하나의 위치를 갖는 탐색 슬롯을 자리이동(>>(1))시킴으로써 발견된다. 우선, 경로의 제1 링 크(L1)가 선택되는데, 이는 예약 슬롯 0, 1, 6, 9, 11, 12, 및 14를 포함한다. 이 슬롯은 자유 슬롯 워드에서 예약된 것으로 예컨대 'X'로 마크된다. 이후, 자유 슬롯 워드(fsw)는 슬롯 정렬을 반영하기 위해 우측으로 하나의 위치만큼 자리이동되고, OR-ed 즉, OR 연산이 제2 링크의 예약 슬롯(슬롯 3, 6, 10, 및 12)을 추가하기 위해 수행된다. 이러한 단계는 제3 및 제4 링크(L3, L4)에 대해 반복되는데, 이는 경로를 따르는 모든 링크에서 자유 슬롯 벡터를 야기한다. 경로를 제1 링크(L1)와 정렬하기 위해, 세 개의 위치만큼 좌측으로 자리이동된다. 그 결과는 제1 링크(L1)의 슬롯 4, 8, 10, 및 13이 소정의 경로를 따르는 모든 링크(L1 - L4)에서 자유롭다는 것이다. 특히, 슬롯 4가 링크(L1)에 대해 자유로운 한편, 슬롯 5, 6, 및 7이 링크(L2, L3 및 L4)에 대해 각각 자유롭다. 슬롯 8이 링크(L1)에서 자유로운 한편, 슬롯 9, 10, 11이 링크(L2, L3, L4) 각각에서 자유롭다. 또한, 슬롯 10이 링크(L1)에서 자유로운 한편, 슬롯 11, 12, 및 13은 링크(L2, L3 및 L4)에 대해 각각 자유롭다. 슬롯 13이 링크(L1)에서 자유로운 한편, 슬롯 14, 15, 및 1이 링크(L2, L3 및 L4)에 대해 각각 자유롭다.
도 11은 4개의 라우터(R1 - R4) 및 7개의 네트워크 인터페이스(NI(NI1-NI7))로 구성되는 네트워크 온 칩의 예를 도시하고 있다. 네트워크 인터페이스가 연결되어 있는 IP 블록은 도시되어 있지 않다. 예로서 12개의 연결(C1 - C12)이 선택되어 있다. 이러한 연결은 네트워크 인터페이스(NI)에 부착된 IP 모듈(미도시) 사이에서 데이터를 전송하기 위해 사용되며, 따라서, 두 개의 네트워크 인터페이스(NI) 사이에서 연결이 항상 설정된다. 간략하게 하기 위해, 모든 연결이 일방향이라고 가정 하나(하나의 채널로 구성됨), 실제로 양방향 연결(두 개의 채널)이 또한 존재할 수 있다. 예컨대, 연결(C1)이 NI1에서 시작하고, R1 및 R4를 통과해서 NI6에 도달한다. 유사하게, 연결(C2)이 NI1, R1, R2, R3, 및 NI4를 통과한다. 연결(C3)이 NI1, R1, R2 및 NI2를 통과한다. 연결(C4)이 NI2, R2, R3, R4 및 NI7을 통과한다. 연결(C5)이 NI2, R2 및 NI3를 통과한다. 연결(C6)이 NI3, R2, R1 및 NI1을 통과한다. 연결(C7)이 NI3, R2, R3 및 NI5를 통과한다. 연결(C8)이 NI4, R3 및 NI5를 통과한다. 연결(C9)이 NI5, R3, R4, R1, 및 NI1를 통과한다. 연결(C10)이 NI6, R4, R3, R2, 및 NI2를 통과한다. 연결(C11)이 NI7, R4, R3, R2 및 NI3를 통과한다. 연결(C12)이 NI7, R4, R1, 및 NI1를 통과한다. 각 연결을 위해, 다수의 슬롯이 예약되어야 한다. 이 수는 도 9의 우측에 나열되어 있다 즉, 연결(C1-C12)은 1, 1, 5, 2, 4, 3, 2, 6, 1, 2, 1, 및 2개의 슬롯을 각각 필요로 한다.
도 12는 도 11에 따른 네트워크 온 칩을 도시하고 있다. 알고리즘은 링크 가중치를 계산하는 것에서 시작한다. 이는 해당 링크를 사용하는 모든 연결을 위해 요청된 슬롯 수를 각 링크에 대해 합산해서 행해진다. 이는 각 방향에 대해 별개로 수행된다. 링크는 둘러싸여 있으며 링크 가중치 결과는 옆에 기록되어 있다. 예컨대, R2로부터 R3로의 링크를 위해, 연결(C2, C4 및 C7)에 의해 요청된 슬롯이 추가된다. 이는 1(C2) + 2 (C4) + 2(C7) = 5인 링크 가중치를 야기한다. NI1과 R1 사이의 링크는 7개의 슬롯을 필요로 하고, R1과 NI1 사이의 링크는 6개의 슬롯을 필요로 하는 등이다. 알고리즘은 연결 가중치를 계산한다. 연결 가중치 공식에서, a1 = 1이고, a2 = 0이며, a3 = 0이다(즉, 합산 링크 가중치). 대안적으로, 상이한 값이 선택될 수 있다. 연결 가중치의 결과가 도 11의 우측에 도시되어 있다. 예컨대, 연결(C1)에 대한 가중치는 NI1로부터 R1로의, R1로부터 R4로의, 그리고 R4로부터 NI10으로의 링크의 가중치의 합인데, 이 합은 7+ 1+ 1 = 9이다. 연결은 이때 계산된 가중 인수에 대해 감소해서 정렬되고 그 순서로 스케줄링된다.
도 13에, 모든 연결(C1 - C12)에 대한 시간 슬롯 할당이 도시되어 있다. 우선 필요한 자유 슬롯이 할당되어 있다고 가정하자. 예로서, 슬롯 테이블은 9개의 슬롯 크기를 갖는다. 슬롯 테이블 내의 도시된 수는 이러한 슬롯이 할당된 각각의 연결(C1-C12)에 대응한다.
5개의 슬롯을 필요로 하는 연결(C3)에 대해, 모든 슬롯이 자유로우며, 따라서 NI1로부터 R1로의 링크의 슬롯 1 내지 5, R1로부터 R2로의 링크의 슬롯 2-6, 및 R2로부터 NI2로의 링크의 슬롯 3-8이 연결(C3)에 할당된다. 하나의 슬롯을 필요로 하는 연결(C2)에 대해, 제1의 5개의 슬롯이 이미 제1 링크에 예약되어 있으며, 따라서, 이 링크는 경로를 따르는 각각의 슬롯 테이블 내에 슬롯 6, 7, 8 및 9를 예약한다. 두 개의 슬롯을 필요로 하는 연결(C7)은 제1의 두 개의 슬롯에서 어떠한 충돌도 존재하지 않으며 따라서, 이들을 할당한다. 제1의 두 개의 슬롯이 (R2로부터 R3로의) 제2 링크에서 C7에 대해 예약됨에 따라, 2개의 슬롯을 필요로 하는 연결(C4)이 단지 슬롯 3 및 4만을 예약할 수 있다. 연결(C11)이 다시 어떠한 충돌도 갖지 않으며, 네트워크 인터페이스(NI7)와 라우터(R4)의 링크에서 슬롯 테이블 내의 제1 슬롯뿐만 아니라 나머지 링크에서 슬롯 테이블 내의 연속 슬롯을 예약한다.
그러나, 2개의 슬롯을 필요로 하는 연결(C10)의 경우에, 제1의 4개의 슬롯이 R2로부터 NI2로의 링크에서 C3에 대해 예약된 슬롯과 충돌하며, 따라서, 제1의 자유 슬롯은 5 및 6이다. 연결(C6)은 3개의 슬롯 즉, 네트워크 인터페이스(NI3)와 라우터(R2)의 링크에서는 슬롯 3-5; 라우터(R2)와 라우터(R1)의 링크의 슬롯 테이블 내의 슬롯 4-6; 그리고 라우터(R1)와 네트워크 인터페이스(NI1)의 링크에서는 슬롯 테이블 내의 슬롯 5-7을 할당한다. 연결(C8)은 6개의 슬롯 즉, 네트워크 인터페이스(NI4)와 라우터(R3)의 링크에서는 슬롯 1, 4-8; 그리고 라우터(R3)와 네트워크 인터페이스(NI5)의 링크에서는 슬롯 테이블 내의 슬롯 2, 5-9를 할당하는데, 이는 라우터(R3)와 네트워크 인터페이스(NI5)의 링크의 슬롯 테이블 내의 슬롯 3-4이 이미 연결7에 할당되어 있거나 예약되어 있기 때문이다.
연결(C9)은 1개의 슬롯 즉, 네트워크 인터페이스(NI5)와 라우터(R3)의 링크에서는 슬롯 1; 라우터(R3)와 라우터(R4)의 링크의 슬롯 테이블 내의 슬롯 2; 라우터(R4)와 라우터(R5)의 링크의 슬롯 테이블 내의 슬롯 3; 그리고 라우터(R1)와 네트워크 인터페이스(NI1)의 링크에서는 슬롯 테이블 내의 슬롯 4를 할당한다. 연결(C12)은 2개의 슬롯 즉, 네트워크 인터페이스(NI7)와 라우터(R4)의 링크에서는 슬롯 6-7; 라우터(R4)와 라우터(R1)의 링크에서는 슬롯 7-8; 그리고 라우터(R1)와 네트워크 인터페이스(NI1)의 링크의 슬롯 테이블 내의 슬롯 8-9를 할당하는데, 이는 라우터(R1)와 네트워크 인터페이스(NI1)의 링크의 슬롯 테이블 내의 슬롯 4 및 슬롯 5-7이 연결(C9 및 C6)에 이미 각각 할당되어 있기 때문이다.
연결(C5)은 4개의 슬롯 즉, 네트워크 인터페이스(NI2)와 라우터(R2)의 링크의 슬롯 테이블 내의 슬롯 1-2 및 5-6; 그리고 라우터(R2)와 네트워크 인터페이 스(NI3)의 링크의 슬롯 테이블 내의 슬롯 2-3 및 6-7을 할당하는데, 이는 네트워크 인터페이스(NI2)와 라우터(R2)의 링크의 슬롯 테이블 내의 슬롯 3-4이 연결(C4)에 이미 할당되어 있기 때문이다. 마지막으로, 연결(C1)이 1개의 슬롯, 즉, 네트워크 인터페이스(NI1)와 라우터(R1)의 링크의 슬롯 테이블 내의 슬롯 7, 라우터(R1)와 라우터(R4)의 링크의 슬롯 테이블 내의 슬롯 8; 그리고 라우터(R4)와 네트워크 인터페이스(NI6)의 링크의 슬롯 테이블 내의 슬롯 9를 할당한다. 이로써, 슬롯 할당의 최종 결과가 도 13에 도시되어 있다.
슬롯 테이블 할당을 수행한 후에, 여전히 사용되지 않은 비트에 대한 결정이 시간 슬롯을 식별하기 위해 위에서 설명된 바와 유사한 방식으로 수행될 수 있는데, 이 시간 슬롯은 이러한 시간 슬롯을 연결 중 적어도 하나에 할당해서 지연 감소를 위해 사용될 수 있다.
위에서 시간 슬롯 할당 유닛이 네트워크 인터페이스에 배열되는 것으로 설명되었으나, 시간 슬롯 할당 유닛은 또한 네트워크 내의 라우터에 배열될 수도 있다.
위에서 설명된 시간 슬롯 할당은 네트워크 온 단일 칩뿐만 아니라, 수개의 분리된 집적 회로 또는 다수-칩 네트워크를 포함하는 임의의 데이터 처리 디바이스에 적용될 수 있다.
위에서 언급된 실시예는 본 발명을 제한하기보다는 예시하는 것이며 당업자는 첨부된 청구항의 범위를 이탈하지 않고도 다수의 대안적인 실시예를 설계할 수 있다는 것이 주목되어야 한다. 청구항에서, 괄호 사이에 위치된 임의의 참조 부호는 청구항 발명을 제한하는 것으로 해석되지 않을 것이다. "포함하는"이라는 단어 는 청구항에 나열된 요소 또는 단계 이외의 요소 또는 단계의 존재를 배제하지 않는다. 단수 요소는 복수의 이러한 요소의 존재를 배제하지 않는다. 수개의 수단을 열거하는 디바이스 청구항에서, 수개의 이러한 수단이 하나의 하드웨어 항목으로 구현될 수 있다. 일정 수단이 상호 상이한 종속항에 언급되어 있다는 단순한 사실은 유리하게 하기 위해 이 수단의 조합이 이용될 수 없다는 것을 나타내지 않는다.
더 나아가, 청구항 내의 임의의 참조부호는 청구항의 범위를 제한하는 것으로 해석되지 않아야 한다.
본 발명은 복수의 처리 모듈 및 (처리 모듈을 연결하기 위해 배열된) 네트워크를 구비하는 집적 회로와, 이러한 집적 회로에서의 시간 슬롯 할당을 위한 방법과, 데이터 처리 시스템에 이용가능하다.

Claims (7)

  1. 데이터 처리 시스템으로서,
    - 복수의 처리 모듈(M, S; IP) 및 상기 모듈(M, S; IP)을 연결하기 위해 배열된 네트워크(N)로서, 이 네트워크는,
    - 복수의 네트워크 인터페이스(NI)로서, 각 인터페이스가 상기 처리 모듈(M, S; IP) 중 하나와 상기 네트워크(N) 사이에 연결되되;
    상기 네트워크(N)는 네트워크 링크(L)를 통해 인접 라우터(R)에 연결된 복수의 라우터(R)를 포함하고;
    상기 처리 모듈(M, S; IP)은 네트워크(N)를 통한 연결 경로(C1-C12)를 사용하는 연결을 통해 서로간에 통신하며, 상기 연결 경로(C1-C12) 각각은 필요한 수의 시간 슬롯에 대해 적어도 하나의 네트워크 링크(L)를 사용하는, 복수의 네트워크 인터페이스(NI), 및
    - 시간 슬롯을 상기 네트워크 링크(L)에 할당하기 위한, 사용되지 않은 시간 슬롯을 결정하기 위한, 그리고 이미 할당된 시간 슬롯에 덧붙여서, 결정된 사용되지 않은 시간 슬롯을 네트워크 링크를 사용하는 하나 이상의 연결에 할당하기 위한, 적어도 하나의 시간 슬롯 할당 유닛(SA)
    을 포함하는, 데이터 처리 시스템.
  2. 제1 항에 따른 데이터 처리 시스템을 포함하는 집적 회로.
  3. 제2 항에 있어서,
    상기 적어도 하나의 시간 슬롯 할당 유닛(SA)은 상기 연결 경로 내의 각 네트워크 링크(L)를 위해 상기 사용되지 시간 슬롯을 결정하도록 적응되되, 연속적인 사용되지 않은 시간 슬롯이 연속적인 네트워크 링크(L)에 대해 할당되는, 집적 회로.
  4. 제2 항 또는 제3 항에 있어서,
    상기 적어도 하나의 시간 슬롯 할당 유닛(SA)은 사용되지 않을 시간 슬롯을 상기 시간 슬롯 할당 유닛(SA) 내에 저장된 우선순위 목록에 따라 상기 연결에 할당하도록 적응되는, 집적 회로.
  5. 제2 항에 있어서,
    상기 적어도 하나의 시간 슬롯 할당 유닛(SA)은 상기 연결 중 하나의 지연을 감소시키기 위해 상기 네트워크 링크(L)의 시간 슬롯을 마크하기 위한 마커 유닛(MU)을 포함하는, 집적 회로.
  6. 제2 항 또는 제3 항에 있어서,
    상기 적어도 하나의 시간 슬롯 할당 유닛(SA)은 상기 연결에 할당되는 엔트리를 구비하는 시간 슬롯 테이블(ST)을 포함하되, 상기 시간 슬롯 할당 테이블(ST) 은 하나의 지연 감소 비트를 포함하는, 집적 회로.
  7. 복수의 처리 모듈(M, S; IP) 및 상기 모듈(M, S; IP)을 연결하기 위해 배열된 네트워크(N), 및 복수의 네트워크 인터페이스(NI)를 포함하는 집적 회로 내의 시간 슬롯 할당 방법이되, 각 인터페이스가 상기 처리 모듈(M, S; IP) 중 하나 사이에 연결되고 상기 네트워크(N)는 네트워크 링크(N)를 통해 인접 라우터(R)에 연결된 복수의 라우터(R)를 포함하는, 시간 슬롯 할당 방법으로서,
    - 네트워크(N)를 통한 연결 경로(C1-C12)를 사용하는 연결을 통해 처리 모듈(M, S; IP) 사이에서 통신하는 단계로서, 상기 연결 경로(C1-C12) 각각은 필요한 수의 시간 슬롯 동안 적어도 하나의 네트워크 링크(L)를 사용하는, 통신 단계,
    - 시간 슬롯을 상기 네트워크 링크(L)에 할당하는 단계,
    - 사용되지 않은 시간 슬롯을 결정하는 단계, 및
    - 이미 할당된 시간 슬롯에 덧붙여서, 결정된 사용되지 않은 시간 슬롯을 상기 네트워크를 사용하는 하나 이상의 연결에 할당하는 단계
    를 포함하는, 시간 슬롯 할당 방법.
KR1020067025908A 2004-06-09 2005-06-08 시간 슬롯 할당을 위한 집적 회로 및 방법 KR101110808B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04102607A EP1605727A1 (en) 2004-06-09 2004-06-09 Integrated circuit and method for time slot allocation
EP04102607.1 2004-06-09
PCT/IB2005/051864 WO2005122631A1 (en) 2004-06-09 2005-06-08 Integrated circuit and method for time slot allocation

Publications (2)

Publication Number Publication Date
KR20070028406A true KR20070028406A (ko) 2007-03-12
KR101110808B1 KR101110808B1 (ko) 2012-03-15

Family

ID=34929183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025908A KR101110808B1 (ko) 2004-06-09 2005-06-08 시간 슬롯 할당을 위한 집적 회로 및 방법

Country Status (7)

Country Link
US (1) US20080267211A1 (ko)
EP (2) EP1605727A1 (ko)
JP (1) JP4870671B2 (ko)
KR (1) KR101110808B1 (ko)
CN (1) CN1965606B (ko)
DE (1) DE602005003473T2 (ko)
WO (1) WO2005122631A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101180841B (zh) * 2005-05-26 2011-11-30 Nxp股份有限公司 通信资源分配的电子设备及方法
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
EP1995660B1 (en) * 2007-05-24 2013-07-10 STMicroelectronics Srl Method and system for full-duplex mesochronous communications and corresponding computer program product
US8135878B1 (en) * 2008-04-07 2012-03-13 Tellabs San Jose Inc. Method and apparatus for improving throughput on a common bus
JP5397167B2 (ja) * 2009-11-05 2014-01-22 富士通株式会社 タイムスロット割り当て方法、プログラム及び装置
EP2343656A1 (en) * 2009-12-15 2011-07-13 Nxp B.V. Network scheduling method, computer program product and network-on-chip
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
TWI420335B (zh) * 2010-03-03 2013-12-21 Himax Tech Ltd 用於具有晶片模型與非晶片模型之電子裝置的訊號分析方法
US8982695B2 (en) 2012-09-29 2015-03-17 Intel Corporation Anti-starvation and bounce-reduction mechanism for a two-dimensional bufferless interconnect
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US10666578B2 (en) * 2016-09-06 2020-05-26 Taiwan Semiconductor Manufacturing Company Limited Network-on-chip system and a method of generating the same
CN115460708A (zh) * 2022-11-10 2022-12-09 南京控维通信科技有限公司 基于存储优先的tdma时隙分配方法
CN116389357B (zh) * 2023-06-06 2023-09-29 太初(无锡)电子科技有限公司 基于片上网络的空洞地址处理方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530700A (en) * 1994-07-29 1996-06-25 Motorola, Inc. Method and device for controlling time slot contention to provide fairness between a plurality of types of subscriber units in a communication system
SE508850C2 (sv) * 1997-03-10 1998-11-09 Ericsson Telefon Ab L M Tidsväljarsteg för smal- och bredbandiga signaler med säkerställande av ram och sekvensintegritet
US6034831A (en) * 1997-05-09 2000-03-07 International Business Machines Corporation Dynamic reverse reassign apparatus and method for a data recording disk drive
US6934250B1 (en) * 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US7068618B2 (en) * 2001-08-10 2006-06-27 Interdigital Technology Corp. Dynamic link adaption for time division duplex (TDD)
US6958986B2 (en) * 2002-01-10 2005-10-25 Harris Corporation Wireless communication system with enhanced time slot allocation and interference avoidance/mitigation features and related methods
US7339897B2 (en) * 2002-02-22 2008-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Cross-layer integrated collision free path routing
US7443793B2 (en) * 2002-02-28 2008-10-28 Agere Systems Inc. Processor with dynamic table-based scheduling using linked transmission elements for handling transmission request collisions
US7769893B2 (en) * 2002-10-08 2010-08-03 Koninklijke Philips Electronics N.V. Integrated circuit and method for establishing transactions
US7382799B1 (en) * 2004-05-18 2008-06-03 Rockwell Collins, Inc. On-demand broadcast protocol

Also Published As

Publication number Publication date
CN1965606B (zh) 2010-06-16
JP2008502263A (ja) 2008-01-24
WO2005122631A1 (en) 2005-12-22
EP1605727A1 (en) 2005-12-14
EP1759559A1 (en) 2007-03-07
EP1759559B1 (en) 2007-11-21
CN1965606A (zh) 2007-05-16
DE602005003473T2 (de) 2008-09-25
DE602005003473D1 (de) 2008-01-03
KR101110808B1 (ko) 2012-03-15
US20080267211A1 (en) 2008-10-30
JP4870671B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
KR101110808B1 (ko) 시간 슬롯 할당을 위한 집적 회로 및 방법
KR101125647B1 (ko) 시간 슬롯 할당을 위한 집적 회로 및 방법, 및 데이터 처리 시스템
JP4756158B2 (ja) 通信リソース割り当て電子デバイスおよび方法
JP2008535435A (ja) ネットワーク・オン・チップ環境及び遅延低減方法
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
US20080205432A1 (en) Network-On-Chip Environment and Method For Reduction of Latency
CN101189843B (zh) 电子设备和通信资源分配方法
CN116235469A (zh) 网络芯片和网络设备
US8964760B2 (en) Interprocessor communication system and communication method, network switch, and parallel calculation system
US20080123666A1 (en) Electronic Device And Method Of Communication Resource Allocation
US8670454B2 (en) Dynamic assignment of data to switch-ingress buffers
CN101069434B (zh) 用于转换及同步数据通信量的数据处理系统和方法
US7345995B2 (en) Conflict resolution in data stream distribution
Tong et al. Exploration of slot allocation for On-Chip TDM virtual circuits

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