문맥 (context)
시스템 온 실리콘은 기존의 기능에 대한 새로운 특징 및 개선을 구현하는 것에 대한 계속해서 증가하는 요구로 인한 복잡도에서의 연속적인 증가를 나타낸다. 이는 구성요소가 집적 회로 상에 집적될 수 있는 증가하는 밀도에 의해 가능해진다. 동시에, 회로가 작동되는 클록 스피드 역시 증가하는 경향이 있다. 증가된 구성요소 밀도와 조합된 더 높은 클록 스피드가 동일한 클록 도메인 내에서 동시에 작동할수 있는 영역을 감소시켜 왔다. 이는 모듈식 접근법에 대한 요구를 초래해 왔다. 이러한 접근법에 따라, 처리 시스템은 복수의 비교적 독립적인 복잡한 모듈을 포함한다. 종래의 처리 시스템에서, 이 시스템 모듈은 보통 버스를 통해 서로 통신한다. 그러나 모듈 수가 증가함에 따라, 이러한 통신 방식은 더 이상 다음과 같은 이유로 실용적이지 않다. 한편에서, 다수의 모듈이 너무 높은 버스 로드를 형성하고, 버스는 오직 하나의 디바이스만이 버스에 데이터를 보내게 함에 따라 통신 병목현상을 만들어낸다.
통신 네트워크는 이러한 단점을 극복하기 위한 효과적인 방식을 형성한다. 네트워크 온 칩(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), 이는 엄청난 계산 시간을 요구하는 최적 해법을 발견하는 것을 수반하기 때문이다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
네트워크 온 칩(NoC) 환경에서 네트워크 인터페이스는 IP 블록과 네트워크 사이에서 어떠한 역할을 수행하며, 데이터 처리를 위해 구체적으로 어떤 작업을 수행하는가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation네트워크 인터페이스의 기능적 역할과 데이터 처리 방식(시계열화, 패킷화)에 대한 관계를 파악한다.
-
2정보 추출
information_extraction네트워크 인터페이스가 IP 블록과 네트워크 사이의 통신 인터페이스임을 확인하고, 수행하는 구체적 작업인 데이터 시계열화와 패킷화를 추출한다.
- 특히, 네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성한다.
- 따라서, 네트워크 인터페이스는 데이터 시계열화(제공된 명령어, 플래그, 어드레스, 및 데이터를 고정된-대역폭(예컨대 32 비트) 신호 그룹에 적합하게 함) 및 패킷화(네트워크에 의해 내부적으로 요구되는 패킷 헤더 및 트레일러를 추가함)를 처리하도록 설계된다.
-
3근거 선택
evidence_selection네트워크 인터페이스의 정의와 설계 목적을 뒷받침하는 원문을 선별한다.
- 네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성한다.
- 네트워크 인터페이스는 데이터 시계열화(제공된 명령어, 플래그, 어드레스, 및 데이터를 고정된-대역폭(예컨대 32 비트) 신호 그룹에 적합하게 함) 및 패킷화(네트워크에 의해 내부적으로 요구되는 패킷 헤더 및 트레일러를 추가함)를 처리하도록 설계된다.
-
4논리 통합
logical_integration네트워크 인터페이스가 IP 블록과 네트워크를 연결하는 매개체로서, 데이터를 네트워크 규격에 맞게 변환하는 역할을 한다는 관계를 통합한다.
-
5결론 도출
conclusion_formulation네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스 역할을 하며, 데이터 시계열화와 패킷화 작업을 수행한다.
- 네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성한다.
- 네트워크 인터페이스는 데이터 시계열화(제공된 명령어, 플래그, 어드레스, 및 데이터를 고정된-대역폭(예컨대 32 비트) 신호 그룹에 적합하게 함) 및 패킷화(네트워크에 의해 내부적으로 요구되는 패킷 헤더 및 트레일러를 추가함)를 처리하도록 설계된다.
-
6답변 생성
answer_generation질문에 명시된 역할과 구체적 작업 내용을 결합하여 답변을 작성한다.
최종 답변 (final_answer)
네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성하는 역할을 한다. 구체적으로는 데이터를 고정된 대역폭 신호 그룹에 적합하게 만드는 데이터 시계열화와 네트워크 내부에서 요구되는 패킷 헤더 및 트레일러를 추가하는 패킷화 작업을 처리하도록 설계된다.
핵심 해석 (core_interpretation)
네트워크 인터페이스는 IP 블록과 네트워크 사이의 통신 인터페이스를 구성하며 데이터 시계열화와 패킷화 작업을 처리한다.