KR101355626B1 - 네트워크 제어 장치 - Google Patents

네트워크 제어 장치 Download PDF

Info

Publication number
KR101355626B1
KR101355626B1 KR1020070072736A KR20070072736A KR101355626B1 KR 101355626 B1 KR101355626 B1 KR 101355626B1 KR 1020070072736 A KR1020070072736 A KR 1020070072736A KR 20070072736 A KR20070072736 A KR 20070072736A KR 101355626 B1 KR101355626 B1 KR 101355626B1
Authority
KR
South Korea
Prior art keywords
address
master
received
data
slave
Prior art date
Application number
KR1020070072736A
Other languages
English (en)
Other versions
KR20090009451A (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 삼성전자주식회사
Priority to KR1020070072736A priority Critical patent/KR101355626B1/ko
Priority to US11/873,443 priority patent/US7995567B2/en
Publication of KR20090009451A publication Critical patent/KR20090009451A/ko
Application granted granted Critical
Publication of KR101355626B1 publication Critical patent/KR101355626B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Abstract

본 발명의 네트워크 제어 장치는 하나 이상의 마스터 지능 소자에 의해 생성된 복수의 어드레스를 수신하여 저장하고, 상기 어드레스 각각에 대응하는 데이터가 수신되었는지를 판정하여, 판정 신호를 생성하는 내용 주소 메모리, 및 상기 판정 신호에 따라 상기 어드레스 각각 및 상기 어드레스 각각에 대응하는 데이터를 슬레이브 지능 소자로 전송하는 패킷 디코더를 포함하며, 이를 통해 멀티플 어드레스 이슈 기능을 지원할 수 있다.
Figure R1020070072736
Network On Chip, NoC, Multiple Outstanding

Description

네트워크 제어 장치{APPARATUS FOR NETWORK CONTROL}
본 발명은 네트워크 제어 장치 및 방법에 관한 것으로서, 특히 마스터 (master) 지능 소자(Intellectual Property, IP) 및 슬레이브(slave) 지능 소자 간의 어드레스 및 데이터 송수신을 제어하는 장치 및 방법에 관한 것이다.
회로 설계 및 반도체 제조 기술의 발전으로 반도체 칩의 소형화가 이루어짐에 따라, 종래에는 각각 별개의 칩으로 구현되던 복수의 기능 모듈이 최근에는 하나의 칩에 집적되어 구현되고 있다.
복수의 기능 모듈을 하나의 칩으로 집적하는 기술을 시스템 온 칩(System on Chip, SoC)이라 하며, SoC 기술의 발전으로 인해 컴퓨터, 통신, 방송 등이 통합되는 컨버전스(Convergence)화가 가능해지게 되었다.
또한, SoC 기술의 발전으로 인해 종래에는 각각 별개의 칩으로 생산되던 주문형 집적 회로(Application Specific Integrated Circuit, ASIC) 및 특정 용도 표준 제품(Application Specific Standard Product, ASSP)이 최근에는 SoC 기술을 통해 하나의 칩에 집적되어 구현된다.
SoC 내에서 종래의 ASIC 또는 ASSP의 역할을 대신하는 모듈은 특별히 지능 소자(Intellectual Property, IP)라고 불린다. 종래에 별개의 칩으로 구현되던 기능을 SoC 내의 지능 소자가 대신하는 과정에서, 특히 칩 내에 분산되어 배치되어 있는 복수의 지능 소자들을 연결하는 방법에 대한 연구가 활발히 이루어지고 있다.
복수의 지능 소자들을 연결하기 위한 기술로는 버스를 기반으로 한 연결방식이 주로 사용되고 있다. 그러나, 버스 기반 구조에서는 하나의 지능 소자가 버스를 사용하고 있으면 다른 지능 소자들은 상기 버스를 사용할 수 없다. 따라서, 칩 내의 지능 소자들의 수가 증가하고, 지능 소자들 간의 정보 흐름의 양 또한 증가함에 따라, 확장성을 지원하지 아니하는 버스 구조를 이용한 SoC는 성능의 한계에 도달하게 된다.
버스구조를 이용한 SoC의 성능의 한계를 해소하기 위한 방안으로, 일반적인 네트워크 기술을 SoC에 맞도록 변형하여 IP들을 연결하는 방식의 NoC(Networks on Chip) 기술이 새롭게 제시되었다.
한편, SoC로 구현된 칩 내의 지능 소자들 간의 연결 및 관리를 위해 종래에 사용되는 버스 규격으로서 ARM사의 AMBA(Advanced Microcontroller Bus Architecture)가 있다. AMBA에 속한 하위 개념의 버스로는 AHB(Advanced High-Performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface)를 들 수 있다. 이 중 AXI는 지능 소자의 인터페이스 프로토콜로서, 멀티플 아웃스탠딩 어드레스(Multiple outstanding address) 기능과 데이터 인터리빙(Data interleaving)기능 등의 진보된 기능을 포함하고 있다.
AXI 버스 방식은 진보된 기능을 포함하고 있지만, 어드레스 경로 및 데이 터 경로가 물리적으로 분리되어 있어, 어드레스 경로 및 데이터 경로를 모두 구현하는 데 많은 도선(line)이 필요하다.
따라서, AXI 버스는 면적을 많이 차지하고, 지능 소자들 간에 연결이 곤란한 문제가 있으며, 어드레스 경로 및 데이터 경로를 구현하는 도선들에서 전압의 스위칭이 일어날 경우 전력의 소모 또한 큰 문제가 있다.
이에, SoC로 구현된 칩 내에서 AXI 버스에 맞게 설계된 지능 소자들을 연결하되, 내부에서는 효율적인 버스 구조를 가지면서도 AXI 버스의 장점을 이용할 수 있는 네트워크 제어 장치 및 방법이 필요하게 되었다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 멀티플 아웃스탠딩 어드레스 기능을 지원하면서도, 버스를 구성하는 게이트 수를 늘리지 않아 면적, 전력의 감소, 복수의 지능 소자들 간의 연결의 편리함을 얻을 수 있는 네트워크 제어 장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 마스터 지능 소자의 특성에 따라 구조를 선택하여, 구현의 복잡도를 증가시키지 않으면서도 데이터 전송 효율을 최적화할 수 있는 네트워크 제어 장치 및 방법을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래 기술의 문제점을 해결하기 위하여, 본 발명의 네트워크 제어 장치는 하나 이상의 마스터 지능 소자(Intellectual Property, IP)에 의해 생성된 복수의 어드레스를 수신하여 저장하고, 상기 어드레스 각각에 대응하는 데이터가 수신되었는지를 판정하여, 판정 신호를 생성하는 내용 주소 메모리(Content Addressable Memory, CAM), 및 상기 판정 신호에 따라 상기 어드레스 각각 및 상기 어드레스 각각에 대응하는 데이터를 슬레이브 지능 소자로 전송하는 패킷 디코더를 포함하는 것을 특징으로 한다.
또한, 본 발명의 네트워크 제어 장치는 마스터 지능 소자로부터 복수의 어드레스를 수신하고, 상기 수신한 어드레스를 수신한 순서대로 저장하는 임시 메모리, 및 상기 임시 메모리에 저장된 어드레스 중 가장 먼저 저장된 어드레스 및 상 기 마스터 지능 소자로부터 수신된 데이터를 결합하여 패킷을 생성하고, 상기 생성된 패킷을 슬레이브 지능 소자로 전송하는 중재기(arbiter)를 포함하는 것을 특징으로 한다.
또한, 본 발명의 네트워크 제어 장치는 마스터 지능 소자로부터 이미 수신된 어드레스에 대응하는 데이터가 수신될 때까지 다른 어드레스를 전송하지 않도록 상기 마스터 지능 소자로 핸드셰이크 신호를 전송하는 패킷 인코더, 및 상기 데이터가 수신되면 상기 이미 수신된 어드레스를 상기 패킷 인코더로부터 수신하고, 상기 수신한 어드레스 및 상기 수신한 데이터를 결합하여 패킷을 생성하고, 상기 생성된 패킷을 슬레이브 지능 소자로 전송하는 중재기를 포함하는 것을 특징으로 한다.
또한, 본 발명의 네트워크 제어 장치는 마스터 지능 소자로부터 어드레스를 수신하여 저장하고, 상기 어드레스 및 상기 어드레스에 대응하는 데이터를 슬레이브 지능 소자로 전달하는 마스터 네트워크 인터페이스, 상기 어드레스 및 상기 데이터를 상기 마스터 네트워크 인터페이스로부터 수신하고, 상기 수신된 어드레스 및 상기 수신된 데이터의 경로를 라우팅하는 네트워크 라우터, 및 상기 네트워크 라우터로부터 상기 어드레스를 수신하여 저장하고, 상기 데이터가 수신되면 상기 저장된 어드레스 및 상기 수신된 데이터를 상기 슬레이브 지능 소자로 전달하는 슬레이브 네트워크 인터페이스를 포함하는 것을 특징으로 한다.
또한, 본 발명의 네트워크 제어 방법은 마스터 지능 소자로부터 복수의 어드레스를 수신하고, 상기 수신한 어드레스를 수신한 순서대로 저장하는 단계, 및 상 기 저장된 어드레스 중 가장 먼저 저장된 어드레스 및 상기 마스터 지능 소자로부터 수신된 데이터를 결합하여 패킷을 생성하고, 상기 생성된 패킷을 슬레이브 지능 소자로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 멀티플 아웃스탠딩 어드레스 기능을 지원하면서도, 버스를 구성하는 게이트 수를 늘리지 않아 면적, 전력의 감소, 복수의 지능 소자들 간의 연결의 편리함을 얻을 수 있는 네트워크 제어 장치 및 방법의 구현이 가능하다.
또한, 본 발명에 따르면 마스터 지능 소자의 특성에 따라 구조를 선택하여, 구현의 복잡도를 증가시키지 않으면서도 데이터 전송 효율을 최적화할 수 있는 네트워크 제어 장치 및 방법의 구현이 가능하다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 명세서에서는, 지능 소자들 각각을 데이터 쓰기 및 읽기의 주체가 되는 지능 소자와 객체가 되는 지능 소자로 분류하여, 데이터 쓰기 및 읽기의 주체가 되는 지능 소자를 마스터 지능 소자, 객체가 되는 지능 소자를 슬레이브 지능 소자라 명명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 이용하는 NoC 시스템을 도시하는 도면이다.
도 1을 참조하면, NoC 시스템(100)은 마스터 네트워크 인터페이스들(110, 120, 130, 140), 슬레이브 네트워크 인터페이스들(150, 160) 및 네트워크 라우터들(170, 180)을 포함한다.
마스터 지능 소자 M0은 마스터 네트워크 인터페이스(110)를 통해, 마스터 지능 소자 M1은 마스터 네트워크 인터페이스(120)를 통해 네트워크 라우터 R0(170)과 연결된다.
마스터 지능 소자 M2는 마스터 네트워크 인터페이스(130)를 통해, 마스터 지능 소자 M3은 마스터 네트워크 인터페이스(140)를 통해 네트워크 라우터 R1(180)과 연결된다.
슬레이브 지능 소자 S0은 슬레이브 네트워크 인터페이스(150)를 통해 네트워크 라우터 R0(170)과 연결된다.
슬레이브 지능 소자 S1은 슬레이브 네트워크 인터페이스(160)를 통해 네트워크 라우터 R1(180)과 연결된다.
마스터 및 지능 소자들과, NoC 시스템(100)은 AXI 프로토콜을 따르는 signal들로 연결된다. AXI 버스 구조는 쓰기 어드레스 패킷 AW, 쓰기 데이터 패킷 WD, 읽기 어드레스 패킷 AR, 읽은 데이터 패킷 RD 및 쓰기 응답 패킷 B의 채널이 각각 분리되어 있는 구조이다.
쓰기 트랜잭션은, 마스터 지능 소자가 AW 채널을 통해 어드레스를, WD 채널을 통해 데이터를 전송하면 슬레이브 지능 소자가 상기 전송된 어드레스 및 데이터를 수신하여 상기 수신된 데이터를 상기 수신된 어드레스가 가리키는 위치에 저 장함으로써 수행된다.
이 때, 쓰기 트랜잭션은 인접한 어드레스에 대응하는 데이터를 연속적으로 전송한다. 인접한 어드레스에 대응하는 데이터를 연속적으로 전송하는 것을 버스트(burst) 트랜잭션이라고 한다.
버스트 쓰기 트랜잭션은 연속적으로 전송될 데이터 중 가장 먼저 전송될 데이터의 어드레스를 AW 채널을 통해 전송하고, 연속적으로 전송될 데이터를 WD 채널을 통해 전송한다.
예를 들어, 어드레스 "0100"부터 "0103"까지 저장된 데이터를 버스트 쓰기 트랜잭션을 이용하여 전송한다면, 버스트 쓰기 트랜잭션은 AW 채널을 통해 "0100"만을 전송한다. 이처럼 4개의 인접한 데이터를 연속적으로 전송하는 경우라면, 버스트 길이는 4가 된다.
버스트 쓰기 트랜잭션을 이용하면, AW 채널을 통해 전송되는 어드레스의 양을 줄일 수 있으므로, 결과적으로 버스를 통한 전체 전송량을 줄일 수 있다.
또한, 버스트 쓰기 트랜잭션을 이용하면, WD 채널을 통해 복수의 인접한 데이터가 전송되는 동안 AW 채널을 통해 하나의 어드레스만이 전송되므로 어드레스와 어드레스 사이에 발생하는 빈 전송 시간을 활용하는 것도 가능하다.
AXI 버스는 멀티플 아웃스탠딩 어드레스 기능을 지원한다. 멀티플 아웃스탠딩 어드레스 기능은 멀티플 어드레스 이슈잉(Multiple Address Issuing)이라고도 불린다.
일반적으로, 쓰기 트랜잭션은 다음과 같은 과정을 통해 수행된다.
마스터 지능 소자로부터 AW 채널을 통해 쓰기 어드레스가 전송된다.
마스터 지능 소자로부터 WD 채널을 통해 쓰기 데이터가 전송된다. 만일 버스트 길이 4인 쓰기 트랜잭션이라면 인접한 4개의 데이터가 연속적으로 전송될 것이다.
슬레이브 지능 소자는 인접한 4개의 연속적으로 전송된 데이터가 모두 수신되면 수신 확인 메시지를 마스터 지능 소자로 전송한다.
멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 NoC 시스템에서 두 개의 쓰기 트랜잭션이 수행되는 경우에는, 첫번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 마스터 지능 소자가 수신하여 첫번째 쓰기 트랜잭션이 종료된 후에 두번째 쓰기 트랜잭션이 시작된다.
멀티플 아웃스탠딩 어드레스 기능을 지원하는 NoC 시스템에서 두 개의 쓰기 트랜잭션이 수행되는 경우에는, 마스터 지능 소자로부터 AW 채널을 통해 첫번째 쓰기 트랜잭션의 쓰기 어드레스 및 두번째 쓰기 트랜잭션의 쓰기 어드레스가 연속적으로 전송될 수 있다.
WD 채널을 통해서는, 마스터 지능 소자로부터 첫번째 쓰기 트랜잭션의 4개의 데이터 및 두번째 쓰기 트랜잭션의 4개의 데이터가 연속적으로 전송될 수 있다.
슬레이브 지능 소자는, 첫번째 쓰기 트랜잭션의 4개의 데이터가 모두 수신되면, 첫번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 마스터 지능 소자로 전송한다.
슬레이브 지능 소자는, 두번째 쓰기 트랜잭션의 4개의 데이터가 모두 수신 되면, 두번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 마스터 지능 소자로 전송한다.
멀티플 아웃스탠딩 어드레스 기능을 지원하기 위해서는 슬레이브 지능 소자가 마스터 지능 소자로 전송하는 수신 확인 메시지에 트랜잭션을 식별할 수 있는 식별 코드가 포함되어 있어야 한다.
도 2는 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 NoC 시스템에서 3개의 쓰기 트랜잭션이 수행되는 과정을 시간 순서로 도시하는 도면이다.
도 2를 참조하면, 마스터 지능 소자는 AW 채널을 통해 첫번째 쓰기 트랜잭션의 쓰기 어드레스 A11을 전송한다.
마스터 지능 소자는 WD 채널을 통해 첫번째 쓰기 트랜잭션의 쓰기 데이터 D11 내지 D14를 전송한다.
슬레이브 지능 소자는 쓰기 데이터 D11 내지 D14가 모두 수신되면, 첫번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 전송한다.
마스터 지능 소자는 첫번째 쓰기 트랜잭션에 대한 수신 확인 메시지가 수신되면, AW 채널을 통해 두번째 쓰기 트랜잭션의 쓰기 어드레스 A21을 전송한다.
마찬가지로, 마스터 지능 소자는 두번째 쓰기 트랜잭션에 대한 수신 확인 메시지가 수신된 후에 AW 채널을 통해 세번째 쓰기 트랜잭션의 쓰기 어드레스 A31을 전송한다.
도 3은 멀티플 아웃스탠딩 어드레스 기능을 지원하는 NoC 시스템에서 3개의 쓰기 트랜잭션이 수행되는 과정을 시간 순서로 도시하는 도면이다.
도 3을 참조하면, 마스터 지능 소자는 AW 채널을 통해 3개의 쓰기 트랜잭션의 쓰기 어드레스 A11 내지 A13을 전송한다.
마스터 지능 소자는 WD 채널을 통해 3개의 쓰기 트랜잭션의 쓰기 데이터 D11 내지 D14, D21 내지 D24 및 D31 내지 D34를 전송한다.
슬레이브 지능 소자는 쓰기 데이터 D11 내지 D14가 모두 수신되면, 첫번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 전송한다.
슬레이브 지능 소자는 쓰기 데이터 D21 내지 D24가 모두 수신되면, 두번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 전송한다.
슬레이브 지능 소자는 쓰기 데이터 D31이 수신되면, 세번째 쓰기 트랜잭션에 대한 수신 확인 메시지를 전송한다.
멀티플 아웃스탠딩 어드레스 기능을 지원하는 NoC 시스템의 마스터 지능 소자는 진행 중인 트랜잭션이 종료되기 전에 새로운 트랜잭션을 시작할 수 있다. 따라서, 트랜잭션의 병렬적인 처리가 가능하므로 전체적인 데이터 송수신 시간을 단축할 수 있다.
멀티플 아웃스탠딩 어드레스 기능을 지원하기 위해서는 전송되는 어드레스, 데이터 및 데이터 수신 확인 메시지에 트랜잭션을 식별할 수 있는 식별 코드가 포함되어야 한다.
도 3에 도시된 바와 같이 3개의 쓰기 트랜잭션을 병렬적으로 처리할 수 있는 경우를 멀티플 아웃스탠딩 어드레스 기능의 깊이가 3이라고 한다. 이를 다른 말로 표현하면, 최대 다중 이슈 개수가 3이라고 할 수 있다.
도 4는 도 1에 도시된 슬레이브 네트워크 인터페이스(150)를 상세히 나타낸 블록도이다.
도 4를 참조하면, 슬레이브 네트워크 인터페이스(150)는 내용 주소 메모리(410) 및 패킷 디코더(420)를 포함한다.
내용 주소 메모리(410)는 하나 이상의 마스터 지능 소자에 의해 생성된 복수의 어드레스를 수신하여 저장하고, 상기 어드레스 각각에 대응하는 데이터가 수신되었는지를 판정하여, 판정 신호를 생성한다.
판정 신호는 내용 주소 메모리(410)에 저장된 어드레스 중 어느 어드레스가 일치했는지를 가리키는 정보를 포함한다.
패킷 디코더(420)는 내용 주소 메모리(410)에서 생성된 판정 신호에 따라 상기 어드레스 각각 및 상기 어드레스 각각에 대응하는 데이터를 슬레이브 지능 소자로 전송한다.
멀티플 아웃스탠딩 어드레스 기능의 깊이가 4인 경우라면, 하나의 마스터 지능 소자에서 4개의 어드레스를 연속적으로 생성하여 전송할 수 있으므로 판정 신호는 적어도 4개의 어드레스를 구분할 수 있도록 2 비트 이상의 식별 정보를 포함한다.
마스터 지능 소자 M0가 깊이 4의 멀티플 아웃스탠딩 어드레스 기능을 지원한다고 가정한다. 마스터 지능 소자 M0로부터 슬레이브 지능 소자 S0로 어드레스 및 데이터가 전송되는 쓰기 트랜잭션은 다음과 같이 수행된다.
마스터 지능 소자 M0는 어드레스 및 트랜잭션을 식별할 수 있는 트랜잭션 번호(최대 4개이므로 2비트의 정보가 필요하다.)를 포함하는 어드레스 패킷을 생성하고, 생성된 어드레스 패킷을 마스터 네트워크 인터페이스(110), 네트워크 라우터(170)를 경유하여 슬레이브 네트워크 인터페이스(150)로 전송한다.
마스터 지능 소자 M0는 데이터를 전송할 때에도, 쓰기 데이터 및 트랜잭션 번호를 포함하는 데이터 패킷을 생성하고, 생성된 데이터 패킷을 마스터 네트워크 인터페이스(110), 네트워크 라우터(170)를 경유하여 슬레이브 네트워크 인터페이스(150)로 전송한다.
본 발명의 NoC 시스템(100)은, 슬레이브 네트워크 인터페이스(150)가 포함하는 내용 주소 메모리(410) 및 패킷 디코더(420)에 의해 마스터 지능 소자 M0의 멀티플 아웃스탠딩 어드레스 기능을 완전히 지원할 수 있는 효과를 가진다.
도 5는 내용 주소 메모리(410)가, 내용 주소 메모리(410)에 저장된 어드레스에 대응하는 데이터가 수신되었는지 판정하는 과정을 도시하는 도면이다.
도 5를 참조하면, 내용 주소 메모리(410)는 수신된 어드레스 패킷 중 트랜잭션 번호 및 어드레스를 저장한다.
내용 주소 메모리(410)는 수신된 데이터 패킷(530)에 포함된 트랜잭션 번호(531)가 내용 주소 메모리(410)에 저장된 트랜잭션 번호 중 하나(511)와 일치하는 경우, 일치하는 트랜잭션 번호(511) 및 트랜잭션 번호(511)에 대응하는 어드레스(521)를 판정 신호로서 생성한다.
마스터 지능 소자 M0에 의하여 생성된 어드레스 패킷은 어드레스 패킷이 마스터 지능 소자 M0에 의하여 생성되었음을 나타내는 식별 코드를 더 포함할 수 있다. 마스터 지능 소자 M0뿐 아니라 마스터 지능 소자 M1도 어드레스 패킷을 생성할 수 있기 때문에, 내용 주소 메모리(410)는 어드레스 패킷이 어느 마스터 지능 소자에 의하여 생성된 것인지 식별할 수 있어야 한다.
본 발명의 NoC 시스템(100)의 내용 주소 메모리(410)는, 도 5에 도시된 과정을 통하여 복수의 마스터 지능 소자들(여기서는 M0 및 M1)의 멀티플 아웃스탠딩 어드레스 기능을 완전히 지원할 수 있다.
다시 도 1 및 도 4를 참조하면, 패킷 디코더(420) 및 슬레이브 지능 소자 S0는 어드레스 채널 및 데이터 채널로 연결되고, 어드레스 채널 및 데이터 채널은 서로 분리되어 있다. 어드레스 채널 및 데이터 채널이 분리되어 있는 것은 AXI 버스의 특징이기도 하다.
만일 마스터 지능 소자 M0 및 M1이 깊이 4의 멀티플 아웃스탠딩 어드레스 기능을 지원한다면 내용 주소 메모리(410)는 마스터 지능 소자의 개수 2 및 멀티플 아웃스탠딩 어드레스 기능의 깊이 4를 곱한 8개의 어드레스들을 저장할 수 있는 공간을 가진다.
마스터 지능 소자 M0 및 M1이 각각 4개씩의 트랜잭션을 병렬적으로 처리하는 경우에, M0 및 M1 각각이 4개씩의 어드레스를 연속적으로 전송한 뒤에 데이터를 전송하는 경우도 있을 수 있으므로 내용 주소 메모리(410)는 적어도 8개의 어드레스들을 저장할 수 있는 공간을 가져야 멀티플 아웃스탠딩 어드레스 기능을 지원할 수 있다.
이 때, 마스터 네트워크 인터페이스들(110, 120)은 각각 마스터 지능 소자 M0 및 M1으로부터 복수의 어드레스 패킷을 수신하여 수신한 어드레스 패킷을 네트워크 라우터(170)를 경유하여 슬레이브 네트워크 인터페이스(150) 내의 내용 주소 메모리(410)로 전달한다.
이 때, 내용 주소 메모리(410)는 마스터 지능 소자 M0 및 M1에 의해 생성된 복수의 어드레스를 수신하여 저장한다. 내용 주소 메모리(410)는 데이터를 수신하고, 수신된 데이터가 이미 저장된 어드레스 중 하나에 대응하는지 여부 및 상기 이미 저장된 어드레스 중 하나가 생성된 마스터 지능 소자와 동일한 마스터 지능 소자에 의해 생성된 것인지 여부를 판정한다.
NoC 시스템(100)은 마스터 지능 소자 M0, M1 및 슬레이브 지능 소자 S0, S1과 동일한 칩 상에 설치된다. 별개의 칩으로 구현되어 마더보드 등을 통해 데이터를 송수신하던 종래의 네트워크 시스템을 하나의 칩 상에 구현함으로써 소비전력을 줄이고, 신호의 전달(propagation) 시간을 줄일 수 있다.
도 6은 도 1의 마스터 네트워크 인터페이스(130)를 상세히 나타낸 블록도이다.
도 6을 참조하면, 마스터 네트워크 인터페이스(130)는 임시 메모리(610) 및 중재기(620)를 포함한다.
임시 메모리(610)는 마스터 지능 소자 M2로부터 복수의 어드레스를 수신하고, 상기 수신한 어드레스를 수신한 순서대로 저장한다.
중재기(620)는 임시 메모리(610)에 저장된 어드레스 중 가장 먼저 저장된 어드레스 및 마스터 지능 소자 M2로부터 수신된 데이터를 결합하여 패킷을 생성하 고, 상기 생성된 패킷을 슬레이브 지능 소자 S1로 전송한다.
만일 마스터 지능 소자 M2가 깊이 4의 멀티플 아웃스탠딩 어드레스 기능을 지원한다면 임시 메모리(610)는 마스터 지능 소자 M2의 멀티플 아웃스탠딩 어드레스 기능의 깊이 4에 대응하는 4개의 어드레스들을 저장할 수 있는 공간을 가진다.
마스터 지능 소자 M2가 4개의 트랜잭션을 병렬적으로 처리하는 경우에, 마스터 지능 소자 M2가 4개의 어드레스를 연속적으로 전송한 뒤에 데이터를 전송하는 경우도 있을 수 있으므로 임시 메모리(610)는 4개의 어드레스들을 저장할 수 있는 공간을 가져야 멀티플 아웃스탠딩 어드레스 기능을 지원할 수 있다.
NoC 시스템(100)은, 마스터 네트워크 인터페이스(130)가 포함하는 임시 메모리(610) 및 중재기(620)에 의하여 마스터 지능 소자 M2의 멀티플 아웃스탠딩 어드레스 기능을 지원할 수 있다. 이 때, 마스터 지능 소자 M2는 4개까지의 트랜잭션을 병렬적으로 처리할 수 있지만, 네트워크 라우터 R1(180)을 통해서는 어드레스 및 데이터가 결합된 패킷이 전달된다. 따라서, 슬레이브 지능 소자 S1에서는 트랜잭션이 병렬적으로 수행되지 않고, 각 패킷이 수신되는 순서에 따라 직렬적으로 수행된다.
다시 말하면, NoC 시스템(100)은 마스터 네트워크 인터페이스(130)가 포함하는 임시 메모리(610) 및 중재기(620)에 의하여 마스터 지능 소자 M2의 멀티플 아웃스탠딩 어드레스 기능을 부분적으로 지원할 수 있다. 이 때, 데이터 송수신 성능은 멀티플 아웃스탠딩 어드레스 기능을 완전히 지원하는 실시예에 비해 저하되지만, 하드웨어 구현의 복잡도는 크게 감소한다.
멀티플 아웃스탠딩 어드레스 기능을 완전히 지원하는 실시예에서는, 슬레이브 네트워크 인터페이스들 각각이, 마스터 지능 소자들의 개수 및 멀티플 아웃스탠딩 어드레스 기능의 깊이를 곱한 만큼의 어드레스를 저장할 수 있는 내용 주소 메모리를 포함하고 있어야 한다. 그러나, 멀티플 아웃스탠딩 어드레스 기능을 부분적으로 지원하는 실시예에서는, 마스터 네트워크 인터페이스들 각각이, 멀티플 아웃스탠딩 어드레스 기능의 깊이만큼의 어드레스를 저장할 수 있는 임시 메모리를 포함하고 있으면 되므로, 결과적으로 데이터 송수신 성능을 저하시키는 대신 하드웨어 구현의 복잡도 및 반도체 칩 상의 면적을 감소시키는 트레이드 오프가 가능하다.
도 7은 중재기(620)가 어드레스 및 데이터를 결합하여 패킷을 생성하는 과정을 도시하는 도면이다.
도 7을 참조하면, 중재기(620)는 임시 메모리(610)에 저장된 어드레스 중 가장 먼저 저장된 어드레스(710) 및 마스터 지능 소자 M2로부터 수신된 데이터(720)를 결합하여 패킷(730)을 생성한다.
어드레스(710) 및 데이터(720)는 각각 헤드 플릿(head flit, HF), 페이로드(payload, PL) 플릿, 테일 플릿(tail flit, TF)으로 구성된다.
네트워크 라우터 R1(180)은 수신된 임의의 어드레스 및 데이터의 플릿 타입을 인식하여 요청 메시지 및 승인 메시지 등을 활성화시킨다.
중재기(620)는 어드레스(710)의 테일 플릿(711) 및 데이터(720)의 헤드 플릿(721)을 페이로드 플릿으로 치환하고, 치환된 어드레스(710) 및 데이터(720)를 결합하여 패킷(730)을 생성한다.
패킷(730)은 헤드 플릿 및 테일 플릿을 하나씩 포함하므로, 네트워크 라우터 R1(180)은 패킷(730)을 하나의 패킷으로 인식하여 트랜잭션을 수행한다.
중재기(620)는 패킷(730)을 슬레이브 네트워크 인터페이스(160)를 경유하여 슬레이브 지능 소자 S1로 전송한다.
슬레이브 네트워크 인터페이스(160)는 중재기(620)로부터 패킷(730)을 수신하고, 수신된 패킷(730)으로부터 어드레스(710) 및 데이터(720)를 분리하여 슬레이브 지능 소자 S1로 전송한다.
슬레이브 네트워크 인터페이스(160)는 패킷(730)의 앞에서부터 세번째 페이로드 플릿(731)을 테일 플릿으로 치환하고, 앞에서부터 네번째 페이로드 플릿(732)을 헤드 플릿으로 치환하여 두 개의 패킷을 생성한다.
마스터 네트워크 인터페이스(130)가 마스터 지능 소자 M2로부터 생성되는 어드레스 및 데이터를 순서에 맞게 결합하여 하나의 패킷을 생성하여 슬레이브 네트워크 인터페이스(160)로 전송하므로, 슬레이브 네트워크 인터페이스(160)는 분리된 어드레스 및 데이터를 별도로 저장할 필요 없이 슬레이브 지능 소자 S1로 전송하면 된다.
도 8은 마스터 네트워크 인터페이스(140)를 상세히 나타낸 블록도이다.
도 8을 참조하면, 마스터 네트워크 인터페이스(140)는 패킷 인코더(810) 및 중재기(820)를 포함한다.
패킷 인코더(810)는 마스터 지능 소자 M3으로부터 이미 수신된 어드레스에 대응하는 데이터가 수신될 때까지 다른 어드레스를 전송하지 않도록 마스터 지능 소자 M3으로 핸드셰이크 신호를 전송한다.
즉, 패킷 인코더(810)는 핸드셰이크 신호를 이용하여 마스터 지능 소자 M3가 어드레스 및 데이터를 적합한 순서로 전송하도록 유지한다. 이 때, 마스터 지능 소자 M3은 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않게 된다.
중재기(820)는 상기 데이터가 수신되면 상기 이미 수신된 어드레스를 패킷 인코더(810)로부터 수신하고, 상기 수신한 어드레스 및 상기 수신한 데이터를 결합하여 패킷을 생성하고, 상기 생성된 패킷을 슬레이브 지능 소자 S1로 전송한다.
중재기(820)는 패킷 인코더(810)로부터 수신한 어드레스의 종료 플릿 및 상기 수신한 데이터의 시작 플릿을 페이로드 플릿으로 치환하여 상기 패킷을 생성한다. 중재기(820)가 패킷을 생성하는 과정은 앞서 도 7을 통해 설명한 과정과 동일하다.
중재기(820)는 생성된 패킷을 슬레이브 네트워크 인터페이스(160)를 경유하여 슬레이브 지능 소자 S1로 전송한다.
슬레이브 네트워크 인터페이스(160)는 중재기(820)로부터 생성된 패킷을 수신하고, 수신된 패킷으로부터 어드레스 및 데이터를 분리하여 슬레이브 지능 소자 S1로 전송한다.
슬레이브 네트워크 인터페이스(160)는 수신된 패킷의 앞에서부터 세번째 페이로드 플릿을 테일 플릿으로 치환하고, 앞에서부터 네번째 페이로드 플릿을 헤드 플릿으로 치환하여 두 개의 패킷을 생성한다.
어플리케이션에 따라서는, 마스터 지능 소자들이 멀티플 아웃스탠딩 어드레스 기능을 지원하는 것이 성능에 큰 영향을 주지 아니할 경우가 있을 수 있다. 이 때는 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않더라도 하드웨어 구현의 복잡도를 감소시키는 것이 경제적이다.
NoC 시스템(100)은, 마스터 네트워크 인터페이스(140)가 포함하는 패킷 인코더(810) 및 중재기(820)에 의해, 마스터 지능 소자 M3의 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 대신, 하드웨어 구현의 복잡도를 크게 감소시킬 수 있다.
다시 말하면, 실시예에 따라, 마스터 지능 소자가 멀티플 아웃스탠딩 어드레스 기능을 필요로 하지 않는 경우, 마스터 네트워크 인터페이스 및 슬레이브 네트워크 인터페이스들이 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 실시예가 유용할 수 있다. 이 때, 마스터 네트워크 인터페이스 및 슬레이브 네트워크 인터페이스들이 메모리 회로를 포함하지 않아도 되므로, 하드웨어 구현의 복잡도를 크게 감소시킬 수 있다.
또한, 본 발명의 NoC 시스템(100)은 데이터 송수신 성능의 최적화 및 메모리 회로의 크기를 최적화하는 NoC 시스템을 제공한다.
멀티플 아웃스탠딩 어드레스 기능을 지원하는 마스터 지능 소자는 복수의 트랜잭션을 병렬적으로 수행할 수 있으므로 데이터 송수신 성능을 향상시킬 수 있다는 장점이 있으나, 어플리케이션에 따라서는 멀티플 아웃스탠딩 어드레스 기능의 필요가 크지 않은 경우도 있을 수 있다.
멀티플 아웃스탠딩 어드레스 기능을 지원하기 위해서는 마스터 지능 소자는 물론, 마스터 지능 소자의 주변 블록들을 구현하기 위한 복잡도가 증가하게 마련이다. 따라서, 멀티플 아웃스탠딩 어드레스 기능을 반드시 사용할 필요가 없는 마스터 지능 소자의 경우에는 멀티플 아웃스탠딩 어드레스 기능에 필요한 블록을 제외하여 구현 시의 복잡도를 감소시킬 수 있다.
예를 들어, 도 1에 도시된 바와 같이 마스터 지능 소자 M0 및 M1은 깊이 4의 멀티플 아웃스탠딩 어드레스 기능을 지원하고, 마스터 지능 소자 M2는 깊이 4의 멀티플 아웃스탠딩 어드레스 기능을 지원하지만 멀티플 아웃스탠딩 어드레스 기능의 사용 빈도가 높지 않은 경우를 가정한다.
마스터 지능 소자 M3은 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 것으로 가정한다.
마스터 지능 소자 M0에 연결된 마스터 네트워크 인터페이스(110)는 마스터 지능 소자 M0으로부터 복수의 어드레스를 수신하여 네트워크 라우터 R0(170) 및 R1(180)을 경유하여 슬레이브 지능 소자 S0 및 S1로 수신된 어드레스를 전달한다.
마스터 지능 소자 M1에 연결된 마스터 네트워크 인터페이스(120)는 마스터 지능 소자 M1로부터 복수의 어드레스를 수신하여 네트워크 라우터 R0(170) 및 R1(180)을 경유하여 슬레이브 지능 소자 S0 및 S1로 수신된 어드레스를 전달한다.
마스터 지능 소자 M2에 연결된 마스터 네트워크 인터페이스(130)는 마스터 지능 소자 M2로부터 복수의 어드레스를 수신하여 수신한 순서대로 저장하는 임시 메모리(610) 및 임시 메모리(610)에 저장된 어드레스 중 가장 먼저 저장된 어드레 스 및 마스터 지능 소자 M2로부터 수신된 데이터를 결합한 패킷을 네트워크 라우터 R1(180)로 전송하는 중재기(620)를 포함한다.
마스터 지능 소자 M3에 연결된 마스터 네트워크 인터페이스(140)는 마스터 지능 소자 M3으로부터 이미 수신된 어드레스에 대응하는 데이터가 수신될 때까지 다른 어드레스를 전송하지 않도록 마스터 지능 소자 M3에 핸드셰이크 신호를 전송하는 패킷 인코더(810) 및 상기 데이터가 수신되면 상기 이미 수신된 어드레스를 패킷 인코더(810)로부터 수신하고, 상기 수신한 어드레스 및 데이터를 결합한 패킷을 네트워크 라우터 R1(180)로 전송하는 중재기(820)를 포함한다.
슬레이브 네트워크 인터페이스들(150, 160)은 마스터 지능 소자 M0 및 M1로부터 전송되는 어드레스 및 데이터를 수신하고, 마스터 지능 소자 M2 및 M3으로부터 전송되는 결합된 패킷을 수신한다.
마스터 지능 소자 M0 및 M1의 멀티플 아웃스탠딩 어드레스 기능을 완전히 지원하기 위해서, 슬레이브 네트워크 인터페이스들(150, 160)은 멀티플 아웃스탠딩 어드레스 기능을 지원하는 마스터 지능 소자의 개수 2 및 멀티플 아웃스탠딩 어드레스 기능의 깊이 4를 곱한 8개의 어드레스 및 트랜잭션 코드를 저장할 수 있는 내용 주소 메모리(410)를 포함한다.
슬레이브 네트워크 인터페이스들(150, 160)은 마스터 지능 소자 M2 및 M3으로부터 전송되는 결합된 패킷을 수신하고, 수신된 패킷으로부터 어드레스 및 데이터를 분리한다.
본 발명의 NoC 시스템(100)이 포함하는 메모리 회로의 크기를 계산해 보 면, 다음과 같다.
마스터 네트워크 인터페이스(130)에 포함되는 임시 메모리(610)는 4개의 어드레스를 저장할 수 있는 크기를 가진다.
슬레이브 네트워크 인터페이스들(150, 160)에 포함되는 내용 주소 메모리(410)는 각각 8개의 어드레스 및 트랜잭션 코드를 저장할 수 있는 크기를 가진다.
따라서, NoC 시스템(100)은, 각 마스터 지능 소자들 각각이 멀티플 아웃스탠딩 어드레스 기능을 필요로 하는 정도에 따라 하드웨어 구현의 복잡도 및 데이터 송수신 성능을 최적화할 수 있다.
도 9는 본 발명의 일 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
도 9를 참조하면, 네트워크 제어 방법은 하나 이상의 마스터 지능 소자에 의해 생성된 복수의 어드레스를 수신하여 저장한다(S910).
네트워크 제어 방법은 상기 저장된 어드레스 각각에 대응하는 데이터가 수신되었는지를 판정하여, 판정 신호를 생성한다(S920).
네트워크 제어 방법은 상기 판정 신호에 따라 상기 저장된 어드레스 각각 및 상기 저장된 어드레스 각각에 대응하는 데이터를 슬레이브 지능 소자로 전송한다(S930).
도 10은 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 네트워크 제어 방법은 마스터 지능 소자로부터 복수의 어드레스를 수신하고, 상기 수신한 어드레스를 수신한 순서대로 저장한다(S1010).
네트워크 제어 방법은 상기 저장된 어드레스 중 가장 먼저 저장된 어드레스 및 상기 마스터 지능 소자로부터 수신된 데이터를 결합하여 패킷을 생성한다(S1020).
이 때, 네트워크 제어 방법은 상기 가장 먼저 저장된 어드레스의 종료 플릿 및 상기 데이터의 시작 플릿을 페이로드 플릿으로 치환하여 상기 패킷을 생성할 수 있다.
네트워크 제어 방법은 상기 생성된 패킷을 슬레이브 지능 소자로 전송한다(S1030).
이 때, 네트워크 제어 방법은 상기 생성된 패킷을 수신하고, 상기 수신한 패킷으로부터 어드레스 및 데이터를 분리하여 슬레이브 지능 소자로 전송할 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
도 11을 참조하면, 네트워크 제어 방법은 마스터 지능 소자로부터 이미 수신된 어드레스에 대응하는 데이터가 수신될 때까지 다른 어드레스를 전송하지 않도록 상기 마스터 지능 소자로 핸드셰이크 신호를 전송한다(S1110).
네트워크 제어 방법은 상기 데이터가 수신되면 상기 데이터 및 상기 이미 수신된 어드레스를 결합하여 패킷을 생성한다(S1120).
이 때, 상기 이미 수신된 어드레스의 종료 플릿 및 상기 데이터의 시작 플릿을 페이로드 플릿으로 치환하여 상기 패킷을 생성할 수 있다.
네트워크 제어 방법은 상기 생성된 패킷을 슬레이브 지능 소자로 전송한다(S1130).
본 발명에 따른 네트워크 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역 도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 이용하는 NoC 시스템을 도시하는 도면이다.
도 2는 멀티플 아웃스탠딩 어드레스 기능을 지원하지 않는 NoC 시스템에서 3개의 쓰기 트랜잭션이 수행되는 과정을 시간 순서로 도시하는 도면이다.
도 3은 멀티플 아웃스탠딩 어드레스 기능을 지원하는 NoC 시스템에서 3개의 쓰기 트랜잭션이 수행되는 과정을 시간 순서로 도시하는 도면이다.
도 4는 도 1의 슬레이브 네트워크 인터페이스(150)를 상세히 나타낸 블록도이다.
도 5는 도 4의 내용 주소 메모리(410)가, 내용 주소 메모리(410)에 저장된 어드레스에 대응하는 데이터가 수신되었는지 판정하는 과정을 도시하는 도면이다.
도 6은 도 1의 마스터 네트워크 인터페이스(130)를 상세히 나타낸 블록도이다.
도 7은 도 6의 중재기(620)가 어드레스 및 데이터를 결합하여 패킷을 생성하는 과정을 도시하는 도면이다.
도 8은 도 1의 마스터 네트워크 인터페이스(140)를 상세히 나타낸 블록도이다.
도 9는 본 발명의 일 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
도 10은 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
도 11은 본 발명의 또 다른 실시예에 따른 네트워크 제어 방법을 나타낸 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: NoC 시스템
110, 120, 130, 140: 마스터 네트워크 인터페이스
150, 160: 슬레이브 네트워크 인터페이스
170, 180: 네트워크 라우터

Claims (26)

  1. 네트워크 제어 장치에 있어서,
    하나 이상의 마스터 지능 소자에 의해 생성된 복수의 어드레스를 수신하여 저장하고, 상기 복수의 어드레스 각각에 대응하는 데이터가 상기 하나 이상의 마스터 지능 소자로부터 수신되었는지를 판정하고, 판정 신호를 생성하는 내용 주소 메모리; 및
    상기 판정 신호에 따라, 상기 복수의 어드레스 각각과 상기 복수의 어드레스 각각에 대응하는 데이터를 상기 내용 주소 메모리로부터 슬레이브 지능 소자로 전송하는 패킷 디코더를 포함하고,
    상기 네트워크 제어 장치는 상기 하나 이상의 마스터 지능 소자 및 상기 슬레이브 지능 소자와 동일한 칩 상에 설치되는 온 칩 네트워크 제어 장치인 네트워크 제어 장치.
  2. 제1항에 있어서,
    상기 내용 주소 메모리는,
    복수의 마스터 지능 소자에 의해 생성된 상기 복수의 어드레스를 수신하여 저장하고, 상기 복수의 어드레스 각각에 대응하며, 상기 복수의 어드레스 각각을 생성한 마스터 지능 소자와 동일한 마스터 지능 소자에 의해 생성된 데이터가 수신되었는지를 판정함으로써, 상기 판정 신호를 생성하는 네트워크 제어 장치.
  3. 제1항에 있어서,
    상기 하나 이상의 마스터 지능 소자로부터 상기 복수의 어드레스를 수신하고 상기 복수의 어드레스를 상기 내용 주소 메모리로 전달하는 마스터 네트워크 인터페이스를 더 포함하는 네트워크 제어 장치.
  4. 제1항에 있어서,
    상기 패킷 디코더 및 상기 슬레이브 지능 소자는 어드레스 경로 및 데이터 경로로 연결되고, 상기 어드레스 경로 및 상기 데이터 경로는 서로 분리되어 있는 네트워크 제어 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 네트워크 제어 장치에 있어서,
    마스터 지능 소자로부터 복수의 어드레스를 수신하고, 수신된 복수의 어드레스를 수신한 순서대로 저장하는 임시 메모리; 및
    상기 임시 메모리에 저장된 복수의 어드레스 중 가장 먼저 저장된 어드레스 및 상기 마스터 지능 소자로부터 수신된 데이터를 결합하여 패킷을 생성하고, 생성된 패킷을 슬레이브 지능 소자로 전송하는 중재기를 포함하고,
    상기 네트워크 제어 장치는 상기 마스터 지능 소자 및 상기 슬레이브 지능 소자와 동일한 칩 상에 설치되는 온 칩 네트워크 제어 장치인 네트워크 제어 장치.
  10. 제9항에 있어서,
    상기 중재기로부터 상기 생성된 패킷을 수신하고, 수신한 패킷으로부터 어드레스 및 데이터를 분리하여 상기 슬레이브 지능 소자로 전송하는 슬레이브 네트워크 인터페이스를 더 포함하고,
    상기 중재기는 상기 생성된 패킷을 상기 슬레이브 네트워크 인터페이스를 경유하여 상기 슬레이브 지능 소자로 전송하는 네트워크 제어 장치.
  11. 삭제
  12. 삭제
  13. 네트워크 제어 장치에 있어서,
    마스터 지능 소자로부터 이미 수신된 어드레스에 대응하는 데이터가 수신될 때까지 다른 어드레스를 전송하지 않도록 상기 마스터 지능 소자로 핸드셰이크 신호를 전송하는 패킷 인코더; 및
    상기 데이터가 수신되면 상기 이미 수신된 어드레스를 상기 패킷 인코더로부터 수신하고, 수신된 어드레스 및 수신한 데이터를 결합하여 패킷을 생성하고, 생성된 패킷을 슬레이브 지능 소자로 전송하는 중재기를 포함하며,
    상기 네트워크 제어 장치는 상기 마스터 지능 소자 및 상기 슬레이브 지능 소자와 동일한 칩 상에 설치되는 온 칩 네트워크 제어 장치인 네트워크 제어 장치.
  14. 제13항에 있어서,
    상기 중재기로부터 상기 생성된 패킷을 수신하고, 수신한 패킷으로부터 어드레스 및 데이터를 분리하여 상기 슬레이브 지능 소자로 전송하는 슬레이브 네트워크 인터페이스를 더 포함하고,
    상기 중재기는 상기 생성된 패킷을 상기 슬레이브 네트워크 인터페이스를 경유하여 상기 슬레이브 지능 소자로 전송하는 네트워크 제어 장치.
  15. 삭제
  16. 네트워크 제어 장치에 있어서,
    마스터 지능 소자로부터 어드레스를 수신하여 저장하고, 상기 어드레스 및 상기 어드레스에 대응하는 데이터를 슬레이브 지능 소자로 전달하는 마스터 네트워크 인터페이스;
    상기 어드레스 및 상기 데이터를 상기 마스터 네트워크 인터페이스로부터 수신하고, 수신된 어드레스 및 수신된 데이터의 경로를 라우팅하는 네트워크 라우터; 및
    상기 네트워크 라우터로부터 상기 어드레스를 수신하여 저장하고, 상기 데이터가 수신되면 상기 저장된 어드레스 및 상기 수신된 데이터를 상기 슬레이브 지능 소자로 전달하는 슬레이브 네트워크 인터페이스를 포함하고,
    상기 네트워크 제어 장치는 상기 마스터 지능 소자 및 상기 슬레이브 지능 소자와 동일한 칩 상에 설치되는 온 칩 네트워크 제어 장치인 네트워크 제어 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020070072736A 2007-07-20 2007-07-20 네트워크 제어 장치 KR101355626B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070072736A KR101355626B1 (ko) 2007-07-20 2007-07-20 네트워크 제어 장치
US11/873,443 US7995567B2 (en) 2007-07-20 2007-10-17 Apparatus and method for network control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070072736A KR101355626B1 (ko) 2007-07-20 2007-07-20 네트워크 제어 장치

Publications (2)

Publication Number Publication Date
KR20090009451A KR20090009451A (ko) 2009-01-23
KR101355626B1 true KR101355626B1 (ko) 2014-01-27

Family

ID=40265774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070072736A KR101355626B1 (ko) 2007-07-20 2007-07-20 네트워크 제어 장치

Country Status (2)

Country Link
US (1) US7995567B2 (ko)
KR (1) KR101355626B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2061191A1 (en) * 2007-11-13 2009-05-20 STMicroelectronics (Grenoble) SAS Buffering architecture for packet injection and extraction in on-chip networks.
JP5387918B2 (ja) * 2008-04-30 2014-01-15 日本電気株式会社 ルータ、そのルータを有する情報処理装置及びパケットのルーティング方法
US8533377B2 (en) * 2011-05-28 2013-09-10 Lsi Corporation System and method for allocating transaction ID in a system with a plurality of processing modules
US8504756B2 (en) * 2011-05-30 2013-08-06 Lsi Corporation System, circuit and method for improving system-on-chip bandwidth performance for high latency peripheral read accesses
KR102014118B1 (ko) * 2012-10-19 2019-08-26 삼성전자주식회사 Axi 기반 네트워크 백본 시스템의 서브채널방식의 채널 관리 방법 및 장치
US20230236992A1 (en) * 2022-01-21 2023-07-27 Arm Limited Data elision

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050025078A1 (en) * 2003-07-09 2005-02-03 Samsung Electronics Co., Ltd. Data transmission system, data transmission method, information processor and pointer
US20050273537A1 (en) * 2004-06-08 2005-12-08 Arm Limited Write response signalling within a communication bus
US20070061496A1 (en) * 2005-07-25 2007-03-15 Orion Electric Co., Ltd. Electronic apparatus provided with electronic devices for serial communication and serial communication method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173349B1 (en) * 1996-10-18 2001-01-09 Samsung Electronics Co., Ltd. Shared bus system with transaction and destination ID
US6911975B2 (en) * 2000-09-11 2005-06-28 Canon Kabushiki Kaisha Stereo image display apparatus and method, and storage medium
US7253717B2 (en) * 2000-11-29 2007-08-07 Mobile Technics Llc Method and system for communicating with and tracking RFID transponders
WO2003041430A1 (en) * 2001-11-07 2003-05-15 Cyneta Networks, Inc. System and method for efficient handover in wireless packet data network
US20040193824A1 (en) * 2003-03-24 2004-09-30 Johnson Steven C. Expandable capacity storage device
KR100585179B1 (ko) * 2005-02-07 2006-06-02 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 데이터 기입및 독출 방법
KR101019936B1 (ko) * 2005-12-02 2011-03-09 퀄컴 인코포레이티드 음성 파형의 정렬을 위한 시스템, 방법, 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050025078A1 (en) * 2003-07-09 2005-02-03 Samsung Electronics Co., Ltd. Data transmission system, data transmission method, information processor and pointer
US20050273537A1 (en) * 2004-06-08 2005-12-08 Arm Limited Write response signalling within a communication bus
US20070061496A1 (en) * 2005-07-25 2007-03-15 Orion Electric Co., Ltd. Electronic apparatus provided with electronic devices for serial communication and serial communication method

Also Published As

Publication number Publication date
KR20090009451A (ko) 2009-01-23
US20090024783A1 (en) 2009-01-22
US7995567B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
US7813363B2 (en) Network interface controlling lock operation in accordance with advanced extensible interface protocol, packet data communication on-chip interconnect system including the network interface, and method of operating the network interface
US10848442B2 (en) Heterogeneous packet-based transport
KR100675850B1 (ko) AXI 프로토콜을 적용한 NoC 시스템
KR101355626B1 (ko) 네트워크 제어 장치
US9009648B2 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US20150103822A1 (en) Noc interface protocol adaptive to varied host interface protocols
US7606933B2 (en) Shared memory and high performance communication using interconnect tunneling
US20090198956A1 (en) System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US8937958B2 (en) Router and many-core system
US10104006B2 (en) Bus interface apparatus, router, and bus system including them
US8667195B2 (en) Bus-system including an interconnector, a master device, a slave device, and an operating method thereof
JP2009031954A (ja) データ処理装置およびデータ転送方法
EP1728359A1 (en) Integrated circuit and method for packet switching control
US20080057896A1 (en) Apparatus for controlling electric power of network-on-chip and method using the same
CN108431790B (zh) 用于高速迁移(EXTRA)NoC的路由器的专用SSR管线级
US11714779B2 (en) NoC relaxed write order scheme
JP4687925B2 (ja) 優先調停システム及び優先調停方法
KR20140125311A (ko) 멀티 코어를 가진 네트워크 인터페이스 카드를 이용한 트래픽 처리 장치 및 방법
US20110090924A1 (en) System to connect a serial scsi array controller to a storage area network
EP3631640B1 (en) Communication between field programmable gate arrays
US20210149836A1 (en) System and method for transaction broadcast in a network on chip
US9678905B2 (en) Bus controller, bus control system and network interface
KR102014118B1 (ko) Axi 기반 네트워크 백본 시스템의 서브채널방식의 채널 관리 방법 및 장치
CN116795763B (zh) 基于axi协议的数据分组传输的方法、片上系统和芯片
JP2007020110A (ja) バスシステム及びその経路決定方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 7