KR101028806B1 - Communication apparatus of soc network applicable to various communication methods - Google Patents

Communication apparatus of soc network applicable to various communication methods Download PDF

Info

Publication number
KR101028806B1
KR101028806B1 KR1020090126992A KR20090126992A KR101028806B1 KR 101028806 B1 KR101028806 B1 KR 101028806B1 KR 1020090126992 A KR1020090126992 A KR 1020090126992A KR 20090126992 A KR20090126992 A KR 20090126992A KR 101028806 B1 KR101028806 B1 KR 101028806B1
Authority
KR
South Korea
Prior art keywords
router
network
communication
linker
data transmission
Prior art date
Application number
KR1020090126992A
Other languages
Korean (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 KR1020090126992A priority Critical patent/KR101028806B1/en
Application granted granted Critical
Publication of KR101028806B1 publication Critical patent/KR101028806B1/en

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A communication device of a SoC network capable of applying various communication method according to a data transmission method is provided to obtain network structure corresponding to a communication method with a existing various protocols through usage of a linker of other structure. CONSTITUTION: A router(110) has a plurality of links(130-1~130-3). The router determines data transmission path about a communication request signal. A network interface(120-1~120-5) starts communicating among an IP(Intellectual Property) or a local network and the router if a communication permission signal is inputted from the router. The linker interlinks the router(110-1) and a neighboring router(110-1). According to data transmission method between the routers, linker has a supportable structure of a corresponding data transmission method.

Description

다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치{Communication apparatus of SoC network applicable to various communication methods}Communication apparatus of SoC network applicable to various communication methods

본 발명은 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치에 관한 것으로, 보다 상세하게는, 에스오씨(System on Chip : SoC) 내부와 외부에서 데이터의 교환을 위한 통신을 담당하는 장치에 관한 것이다.The present invention relates to a communication device of the SOS network applicable to various communication methods, and more particularly, to a device for the communication for the exchange of data in and out of the SOS (System on Chip: SoC). .

종래의 온칩 버스 또는 오프칩 버스는 각각 서로 다른 통신 방식을 사용하는데, 이들을 통신 방식에 따라 살펴보면 다음과 같다.Conventional on-chip bus or off-chip bus each use a different communication scheme, and look at them according to the communication scheme as follows.

먼저 AMBA AHB로 대표되는 공유 버스 기반의 온칩 버스는 마스터가 통신을 시작하고 슬레이브가 이에 반응하여 응답하는 방식으로 통신을 진행한다. 통신이 진행되는 동안 채널은 계속 열려 있어야 하며, 다른 IP는 해당 채널을 사용할 수 없다. 또한 하나의 데이터를 위한 통신에 대해 응답이 있어야 다음 데이터를 위한 통신을 진행할 수 있으므로 채널은 와이어로 직접 연결되어 있어야 성능 저하가 발생하지 않는다. 만일 레지스터 등을 거쳐 잠복기를 가지고 통신을 하면 통신 성능이 급격히 저하된다. 이러한 방식의 버스 구조는 통신을 하는 두 IP 또는 디바이스 사이를 잠복기 없는 와이어를 통해 진행해야 하므로 동작 주파수를 높이거나 시스템 확장이 어렵다.First, the shared bus based on-chip bus, represented by AMBA AHB, communicates in such a way that the master initiates communication and the slave responds to it. The channel must remain open while communication is in progress, and other IPs cannot use the channel. In addition, since there is a response to communication for one data, communication for the next data can be performed so that the channel must be directly connected by wire so that performance does not occur. If communication is performed with a latency through a register or the like, the communication performance is drastically degraded. This type of bus architecture requires high latency between the two IPs or devices that communicate with each other, making it difficult to increase the operating frequency or expand the system.

AMBA AXI로 대표되는 온칩 버스 또는 네트워크는 레지스터 슬라이싱이 가능하여 마스터와 슬레이브 사이에 필요한 만큼 잠복기가 허용된다. 잠복기에 따른 성능 저하를 막기 위해 전송 요청 신호와 응답 신호가 분리되어 전송되고, 버스트 기반의 통신을 주로 수행한다. 또한, 비순차 통신처리(out-of-order transaction completion) 및 아웃스탠딩 어드레스(outstanding address) 방식의 통신이 가능하다. 그러나 이러한 특성을 지원하지 않는 AMBA AHB와 같은 온칩 버스와 연결되면 통신 성능이 저하된다.On-chip buses or networks represented by AMBA AXI can be register-sliced, allowing for as much latency as needed between the master and slave. In order to prevent performance degradation due to the incubation period, the transmission request signal and the response signal are transmitted separately, and mainly perform burst-based communication. In addition, communication in an out-of-order transaction completion and outstanding address scheme is possible. However, when connected to an on-chip bus such as AMBA AHB, which does not support these characteristics, communication performance is degraded.

PCI-e로 대표되는 오프칩 버스는 PCB를 통해 통신을 진행하므로 비용과 동작 주파수 등을 고려하여 채널 폭을 줄여 직렬 방식에 가까운 통신을 하면서 온칩과는 다른 동작 주파수를 사용하는 경우가 많다. 따라서 온칩에서 발생한 데이터는 오프칩 통신을 위해 데이터 폭을 변환하는 과정 및 동작 주파수의 차이에 따라 전송률을 바꾸는 과정을 필요로 한다. 이 과정에서 성능의 저하가 나타난다.The off-chip bus, represented by PCI-e, communicates through the PCB, reducing the channel width in consideration of cost and operating frequency, and using the operating frequency different from the on-chip. Therefore, data generated from on-chip requires a process of converting a data width and changing a transmission rate according to a difference in operating frequency for off-chip communication. There is a performance penalty in this process.

네트워크 온 칩(Network-on-Chip : NoC)의 경우, 수많은 연산기 사이에서 통신이 발생하고, 이때 발생하는 데이터는 패킷 방식으로 내부 네트워크를 통해 전달된다. 따라서 네트워크 내부에서 전달되는 많은 데이터 패킷에 의해 발생할 수 있는 데드락(deadlock)을 방지하고 통신 효율을 개선하기 위해 가상 채널(virtual chanel)을 사용하는 경우가 많다. 이를 통해 네트워크 내부에서 패킷의 추월이나 임시 보관이 가능해진다. 이러한 목적을 달성하기 위해 하나의 기본 통신 유닛은 일반적으로 다른 통신 유닛과 연결되는 4개의 통신 포트와 IP를 위한 하나의 포트 등 총 5개의 포트로 구성된다. 이는 통신을 위한 연결성을 강조한 구조로, 기존 AMBA AHB 등의 온칩 버스가 사용된 시스템에 적용하기에는 효율성이 떨어져 적합하지 않은 구조이다.In the case of a network-on-chip (NoC), communication occurs between a large number of calculators, and the generated data is transmitted through an internal network in a packet manner. Therefore, virtual channels are often used to prevent deadlocks and improve communication efficiency caused by many data packets transmitted inside the network. This makes it possible to overtake or temporarily store packets inside the network. To achieve this goal, one basic communication unit generally consists of a total of five ports, including four communication ports connected to other communication units and one port for IP. This is a structure that emphasizes connectivity for communication, and it is not suitable for being applied to a system using an on-chip bus such as AMBA AHB.

위에서 언급한 네 가지의 통신 방식은 서로 다른 네트워크 구조를 필요로 한다. 그러나 복잡한 시스템을 설계할 때 어느 하나의 통신 방식으로만 네트워크를 구성하는 것은 어렵다. 따라서 두 가지 이상의 통신 방식이 혼합되면 그 경계를 지날 때마다 신호의 변환 과정이 필요한데, 이는 통신 효율을 저하시킬 뿐만 아니라 시스템 설계와 변경 및 검증을 어렵게 할 수 있다.The four communication methods mentioned above require different network structures. However, when designing a complex system, it is difficult to construct a network using only one communication method. Therefore, when two or more communication methods are mixed, a signal conversion process is required every time the boundary is crossed, which may not only reduce communication efficiency but also make system design, modification, and verification difficult.

본 발명이 이루고자 하는 기술적 과제는, 기존의 다양한 통신 방식에 사용되는 버스 또는 네트워크 구조를 하나로 통합하여 별도의 신호 변환 과정 없이 데이터 전달이 가능하도록 하는 에스오씨 네트워크의 통신 장치를 제공하는 데 있다.An object of the present invention is to provide a communication device of the SOS network to integrate the bus or network structure used in various existing communication schemes into one to enable data transfer without a separate signal conversion process.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치는, 서로 독립적인 입력 및 출력 포트로 이루어진 복수의 링크를 가지며, 입력받은 통신 요청 신호에 대해 데이터 전송 경로를 결정하여 에스오씨 네트워크에서의 데이터 전송을 위한 채널을 형성하는 라우터; 상기 에스오씨 네트워크의 목적지로 데이터를 전송하는 아이피(Intellectual Property : IP) 또는 로컬 네트워크에 연결되어 상기 라우터에 통신 요청 신호를 전송하고, 상기 라우터로부터 통신 허가 신호가 입력되면 상기 아이피 또는 로컬 네트워크와 상기 라우터 사이의 통신을 개시하는 네트워크 인터페이스; 및 상기 라우터 및 인접한 라우터를 서로 연결하여 양방향으로 통신 요청 신호를 전송하고, 상기 라우터와 인접한 라우터 사이의 데이터 전송 방식에 따라 해당 데이터 전송 방식을 지원하도록 설계된 구조를 가지는 링커;를 구비한다.In order to achieve the above technical problem, the communication apparatus of the SOS network applicable to various communication methods according to the present invention, has a plurality of links consisting of input and output ports independent of each other, and the data for the received communication request signal A router determining a transmission path to form a channel for data transmission in an SOS network; Connected to an IP (Intellectual Property: IP) or a local network that transmits data to a destination of the SOS network, and transmits a communication request signal to the router, and when a communication permission signal is input from the router, the IP or local network and the A network interface for initiating communication between routers; And a linker having a structure designed to connect the router and the adjacent router to each other to transmit a communication request signal in both directions, and to support a corresponding data transmission method according to a data transmission method between the router and the adjacent router.

본 발명에 따른 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치에 의하면, 데이터 전송 방식에 따라 다른 구조를 가지는 링커를 사용함으로써 기존의 다양한 프로토콜과 통신 방식에 대응하는 네트워크 구조를 가질 수 있으므로 에스오씨 기반의 네트워크 설계시 구조적 유연성을 향상시킬 수 있다. 또한 기존 시스템의 구조를 바꾸지 않고 네트워크 구조만 설계하여 적용하면 전체 시스템의 재설계나 검증에 따른 부담을 줄이면서 네트워크 구조를 개선할 수 있다. 나아가 시스템의 구조 변경이나 확장시 유연한 네트워크 구조로 인해 적은 노력으로 시스템 설계가 가능하다.According to the communication device of the SOS network applicable to various communication methods according to the present invention, by using a linker having a different structure according to the data transmission method SOS may have a network structure corresponding to various existing protocols and communication methods The structural flexibility can be improved when designing the network based. In addition, by designing and applying the network structure without changing the structure of the existing system, the network structure can be improved while reducing the burden of redesigning or verifying the entire system. Furthermore, the system design is possible with little effort due to the flexible network structure when changing or expanding the system structure.

이하에서 첨부된 도면들을 참조하여 본 발명에 따른 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the communication device of the SOS network applicable to various communication schemes according to the present invention.

도 1은 본 발명에 따른 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치에 대한 바람직한 일 실시예의 구성을 도시한 도면이다.FIG. 1 is a diagram illustrating a configuration of a preferred embodiment of a communication device of an SOS network applicable to various communication methods according to the present invention.

도 1을 참조하면, 본 발명에 따른 에스오씨 네트워크의 통신 장치는 라우터(110), 네트워크 인터페이스(120, 이하 'NI'라 한다) 및 링커(130)를 구비한다. 이하 본 발명에서 에스오씨 네트워크는 에스오씨 내부 네트워크 뿐만 아니라 에스오씨 사이의 연결까지도 포함하는 의미, 즉 에스오씨 구조를 기반으로 하는 네트워크의 의미로 사용된다. 라우터(110)는 채널 형성 및 데이터 전송의 기능을 수행하며, NI(120)는 라우터(110)와 아이피(Intellectual Property : IP) 또는 로컬 네트워크를 연결하고, 링커(130)는 라우터(110) 및 인접한 다른 라우터(110-1)를 연결한다. 여기서 IP는 에스오씨 네트워크 구조를 칩 상에 구현할 때 필요로 하는 설계 자산으로서, 요구되는 기능을 실현하기 위해 사전에 설계된 것이다. 또한 로컬 네트워크는 복수의 IP가 버스 구조에 의해 연결된 네트워크 구조로서, NI(120)와는 브릿지(bridge) 장치를 통해 연결된다. 도 1에서 점선으로 표시된 링크는 NI(120) 또는 링커(130)와 라우터(110) 사이의 신호 전달을 위한 것이고, 실선으로 표시된 링크는 IP로부터 전송된 데이터 및 주소 정보를 전달하기 위한 것이다.Referring to FIG. 1, a communication device of an SOS network according to the present invention includes a router 110, a network interface 120 (hereinafter referred to as NI), and a linker 130. Hereinafter, in the present invention, the SOS network is used to mean not only the SOS internal network but also a connection between SOS, that is, a network based on the SOS structure. The router 110 performs the functions of channel formation and data transmission, and the NI 120 connects the router 110 to an IP (Intellectual Property (IP)) or a local network, and the linker 130 connects to the router 110 and Connect another adjacent router (110-1). IP is a design asset required to implement SOS network structure on a chip, and is designed in advance to realize the required function. In addition, the local network is a network structure in which a plurality of IPs are connected by a bus structure, and are connected to the NI 120 through a bridge device. In FIG. 1, the link indicated by the dotted line is for signal transmission between the NI 120 or linker 130 and the router 110, and the link indicated by the solid line is for transmitting data and address information transmitted from the IP.

본 발명에 따른 에스오씨 네트워크의 통신 장치는 링커(130)를 통해 복수 개가 서로 연결될 수 있으며, 이와 같이 복수의 에스오씨 네트워크의 통신 장치로 이루어진 네트워크 구조를 이하에서는 통합 에스오씨 네트워크 구조(Unified SoC Network Architecture, USNA)라고 한다. USNA는 종래의 다양한 버스 또는 네트워크 구조를 하나로 통합하여 사용할 수 있도록 하여 통일된 인터페이스 프로토콜 하에서 신호 변환에 따른 불편을 해소하기 위해 개발된 것이다. USNA에서는 NI(120)를 통해 IP 또는 로컬 네트워크를 라우터(110)와 연결할 수 있고, 링커(130)를 사용하여 라우터(110)를 추가함으로써 네트워크 확장이 가능하다.A communication device of the SOS network according to the present invention can be connected to a plurality of linkers 130 through each other, and thus a network structure consisting of a plurality of communication devices of the SOS network in the following unified SoC network structure (Unified SoC Network Architecture, USNA). USNA was developed to solve the inconvenience of signal conversion under a unified interface protocol by enabling the use of various conventional bus or network structures in one. In USNA, the IP 120 or the local network may be connected to the router 110 through the NI 120, and the network may be extended by adding the router 110 using the linker 130.

라우터(110)는 서로 독립적인 입력 및 출력 채널로 이루어진 복수의 링크를 가지며, 입력받은 통신 요청 신호에 대해 데이터 전송 경로를 결정하여 에스오씨 네트워크에서의 데이터 전송을 위한 채널을 형성한다.The router 110 has a plurality of links composed of input and output channels independent from each other, and determines a data transmission path with respect to the received communication request signal to form a channel for data transmission in the SOS network.

도 2는 라우터(110)의 내부 구조를 도시한 개념도이다. 도 2를 참조하면, 라우터(110)는 라우팅 로직과 스위치 매트릭스의 두 개의 기능 모듈로 구성된다. 라우팅 로직은 외부로부터 목적지 주소 및 통신 요청이 입력되면 우선순위에 따라 목적지 링크를 내부 참조 테이블(Look-Up Table : LUT)에서 찾고, 목적지 링크가 사 용 가능한 것으로 판단되면 스위치 매트릭스로 채널 제어 신호를 보내 채널을 형성하도록 한다. 스위치 매트릭스는 입력된 채널 제어 신호에 따라 데이터 전송을 위한 물리적인 채널을 제공한다. 목적지 링크가 사용 가능하지 않은 것으로 판단되면 채널이 형성되지 않으며, NI(120)는 라우터(110)로부터 허가 신호가 수신될 때까지 계속하여 통신 요청을 전송하므로 라우팅 로직은 다음 사이클에 다시 채널 생성을 시도하게 된다.2 is a conceptual diagram illustrating an internal structure of the router 110. Referring to FIG. 2, the router 110 is composed of two functional modules of routing logic and a switch matrix. The routing logic looks for the destination link in the internal look-up table (LUT) according to the priority when the destination address and communication request are input from the outside, and sends the channel control signal to the switch matrix when the destination link is determined to be available. Send to form a channel. The switch matrix provides a physical channel for data transmission according to the input channel control signal. If it is determined that the destination link is not available, no channel is formed, and the NI 120 continues to send communication requests until a grant signal is received from the router 110, so routing logic resumes channel creation in the next cycle. Will try.

도 2에 도시된 라우터(110)의 내부 구조에서 점선으로 표시된 링크를 통해 전달되는 정보는 모두 라우팅 로직으로 입력되며, 실선으로 표시된 링크의 경우에는 전달되는 정보 중에서 라우팅 로직에서 라우팅에 필요로 하는 일부 정보만 선택적으로 입력된다.In the internal structure of the router 110 illustrated in FIG. 2, all information transmitted through a link indicated by a dotted line is input to the routing logic, and in the case of a link indicated by a solid line, some of the information transmitted for routing is required by the routing logic. Only information is optionally entered.

또한 도면에 도시된 라우터(110)는 8개의 링크가 구비되어 있는 사각형의 형태를 가지지만, 링크의 개수는 라우터(110)의 구조에 따라 달라질 수 있다. 즉, 라우터(110)는 6개의 링크가 구비된 삼각형, 10개의 링크가 구비된 오각형 및 12개의 링크가 구비된 육각형 등 다양한 형태로 설계될 수 있다. 만약 사각형의 라우터(110)만 제공되어 하나의 라우터(110)에 의해 시스템이 완벽하게 구성되어 있다면, 시스템에 하나의 IP를 추가하기 위해서는 하나의 라우터(110)를 추가하거나 라우터(110)의 하나의 링크를 브릿지 및 지역 네트워크가 연결된 형태로 재구성하여야 한다. 그러나 이와 같이 다양한 형태의 라우터(110)가 제공되는 경우에는 토폴로지의 유연성을 향상시킬 수 있다.In addition, the router 110 shown in the drawing has a rectangular shape in which eight links are provided, but the number of links may vary depending on the structure of the router 110. That is, the router 110 may be designed in various forms such as a triangle having six links, a pentagon having ten links, and a hexagon having twelve links. If only a rectangular router 110 is provided so that the system is completely configured by one router 110, in order to add one IP to the system, one router 110 is added or one of the routers 110 is added. The link of the node must be reconfigured to be connected to the bridge and the local network. However, when various types of routers 110 are provided as described above, flexibility of the topology may be improved.

라우터(110)의 형태가 삼각형 또는 사각형인 경우에는 하나의 라우터(110)에 연결 가능한 IP의 수는 적지만 각각의 라우터(110)의 동작 속도가 빨라지며, 차지하는 면적이 감소한다. 그러나 라우터(110)에 구비된 링크의 수가 적어질수록 목적지로의 데이터 전송을 위해 링커(130)를 사용하여 다른 라우터(110)를 거쳐야 하는 경우가 증가하므로 전체 라우팅 사이클이 증가할 수 있다. 반면, 라우터(110)의 형태가 오각형 또는 육각형인 경우에는 하나의 라우터(110)에 연결 가능한 IP의 수는 증가하지만 각각의 라우터(110)의 동작 속도는 다소 감소하게 되고, 하나의 라우터(110)의 면적이 증가하게 된다. 그러나 다른 라우터(110)를 거쳐 데이터 전송을 해야 하는 경우가 감소하기 때문에 라우팅 사이클 수가 크게 증가하지 않는다는 장점을 가진다. 이와 같이 라우터(110)의 형태에 따라 발생하는 트레이드오프(trade-off) 관계를 고려하여 각 시스템의 특징에 적합한 라우터(110)의 형태를 선택함으로써 유연하게 네트워크 구조를 설계할 수 있다.When the shape of the router 110 is triangular or square, the number of IPs that can be connected to one router 110 is small, but the operation speed of each router 110 is increased, and the area occupied is reduced. However, as the number of links included in the router 110 decreases, the number of links required to pass through another router 110 using the linker 130 for data transmission to the destination increases, thereby increasing the overall routing cycle. On the other hand, when the shape of the router 110 is pentagonal or hexagonal, the number of IPs that can be connected to one router 110 increases, but the operation speed of each router 110 is somewhat reduced, and one router 110 ) Area increases. However, the number of routing cycles does not increase greatly because the number of data transmissions required through other routers 110 is reduced. In this way, the network structure can be flexibly designed by selecting the type of router 110 suitable for the characteristics of each system in consideration of the trade-off relationship generated according to the shape of the router 110.

하나의 라우터(110)에서 동일 사이클에 형성 가능한 채널의 수는 라우팅 로직의 구조에 따라 결정되고, 동시에 열려 있는 채널의 개수는 서로 충돌이 발생하지 않으면 모든 링크가 동시에 통신할 수 있는 개수와 같게 할 수 있다. 또한 요구되는 대역폭이 적은 경우에는 동시에 통신 가능한 채널 수를 줄여 라우터(110) 내부 구조를 간단하게 만들 수 있다.The number of channels that can be formed in the same cycle in one router 110 is determined by the structure of the routing logic, and the number of simultaneously open channels is equal to the number that all links can communicate at the same time unless collision occurs. Can be. In addition, when the required bandwidth is small, the internal structure of the router 110 may be simplified by reducing the number of channels that can be simultaneously communicated.

도 3은 도 2에 도시된 것과 같은 구조를 가지는 라우터(110)의 내부에서 라우팅이 일어나는 과정을 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a process in which routing occurs in the router 110 having a structure as illustrated in FIG. 2.

앞의 도 2에서 설명한 바와 같이 라우터(110) 내부의 라우팅 로직으로는 라우터(110)의 모든 링크로부터 라우팅에 필요한 모든 정보가 입력된다. 도 3에서는 라우팅 로직이 모두 8개의 링크로부터 라우팅에 필요한 정보를 입력받게 된다.As described above with reference to FIG. 2, all information necessary for routing is input from all links of the router 110 into the routing logic inside the router 110. In FIG. 3, routing logic receives information necessary for routing from all eight links.

라우팅 로직의 우선순위 로직(priority logic)에서는 입력받은 정보들 중에서 사전에 설정되어 있는 우선순위 정책에 따라 순위가 우선하는 링크로부터 입력된 정보만을 선택하여 통과시킨다. 선택되는 정보의 개수는 라우팅 로직의 구조에 따라 한 개의 링크에 대한 정보만 선택될 수도 있고, 세 개 이상의 링크에 대한 정보가 선택될 수도 있다. 도 3에서는 두 개의 링크에 대한 정보가 선택되었다. 이때 통과시킬 정보를 선택하기 위한 우선순위 정책으로는 고정 우선순위(static priority), 라운드 로빈(round robin) 방식, TDMA(Time, Division Multiple Access) 방식, 로터리(lottery) 방식 등 다양한 방식이 사용될 수 있다. 또한 네트워크가 QoS(Quality of Service)를 보장하는 경우에는 관련된 로직이 우선순위 로직 내부에 구현되어 링크 선택에 관여하게 된다.Priority logic of the routing logic selects and passes only information input from a link having a priority according to a priority policy set among preset information. According to the structure of the routing logic, the number of information to be selected may be selected for only one link or information for three or more links. In FIG. 3, information on two links is selected. At this time, as a priority policy for selecting information to be passed, various methods such as a static priority, a round robin method, a time divisional access (TDMA) method, and a rotary method may be used. have. In addition, when the network guarantees a quality of service (QoS), related logic is implemented inside the priority logic to participate in link selection.

우선순위 로직에서 선택된 링크의 정보는 LUT 입력에 적합한 신호로 변환되어 LUT에 입력된다. 일반적으로 LUT에 입력되는 신호는 링크로부터 입력된 신호에 비해 단순화된 형태를 가진다. LUT에서는 입력된 신호에 따라 연결될 링크, 즉 목적지 링크의 위치가 결정된다. 라우터(110)가 많이 포함된 복잡한 구조의 네트워크에서는 LUT가 복잡해질 수 있는데, 이를 해결하기 위한 다양한 방식이 LUT의 구성에 적용될 수 있다. 또한 연결될 링크가 라우터(110)의 내부 링크가 아닌 경우에는 하나 이상의 경로가 존재할 수 있으므로, 가능한 링크 정보가 모두 출력된다.The link information selected in the priority logic is converted into a signal suitable for the LUT input and input to the LUT. In general, the signal input to the LUT has a simplified form compared to the signal input from the link. In the LUT, the position of the link to be connected, that is, the destination link, is determined according to the input signal. In a network having a complicated structure including a large number of routers 110, the LUT may be complicated, and various methods for solving this problem may be applied to the configuration of the LUT. In addition, when the link to be connected is not an internal link of the router 110, since one or more paths may exist, all possible link information is output.

다음으로 충돌 감지기(collision detector)에서는 두 개 이상의 라우팅이 동시에 일어나게 될 때 목적지 링크가 동일한지 여부를 감지한다. 그 결과 목적지 링 크가 동일한 경우에는 우선순위가 더 높은 신호에 대하여만 채널 제어 신호를 생성하여 스위치 매트릭스로 출력한다. 목적지 링크가 상이하여 충돌이 발생하지 않는 경우에는 두 개의 채널을 동시에 생성하기 위한 채널 제어 신호를 출력한다. 형성되는 채널이 링커(130)로 연결되는 경우에는 목적지 링커(130)가 두 개 이상 존재할 수 있으므로 해당 링커(130)의 상태 신호(status signal)를 참조하여 사용 유무를 판단한 후, 사용하지 않는 링커(130) 중에 하나를 선택하여 채널을 형성시킨다. Next, a collision detector detects whether the destination link is the same when two or more routings occur simultaneously. As a result, when the destination link is the same, the channel control signal is generated only for the signal of higher priority and output to the switch matrix. If a collision does not occur because the destination links are different, a channel control signal for simultaneously generating two channels is output. When the formed channel is connected to the linker 130, two or more destination linkers 130 may exist, and after determining whether the channel is used by referring to the status signal of the corresponding linker 130, the linker that is not used One of the 130 is selected to form a channel.

이상에서 설명한 라우팅 과정은 라우팅 로직의 동작을 설명하기 위한 하나의 실시예에 해당하는 것이며, 라우팅 로직은 가능한 모든 방법에 의해 목적지 링크를 결정하고, 스위치 매트릭스로 채널 형성을 위한 신호를 출력할 수 있다. 또한 라우팅 로직의 구조는 NI 프로토콜과 설계자의 목적에 따라 달라질 수 있다.The above-described routing process corresponds to one embodiment for explaining the operation of the routing logic, and the routing logic may determine the destination link by all possible methods and output a signal for channel formation to the switch matrix. . The structure of the routing logic also depends on the NI protocol and the designer's purpose.

NI(120)는 에스오씨 네트워크의 목적지로 데이터를 전송하는 IP 또는 로컬 네트워크에 연결되어 라우터(110)에 통신 요청 신호를 전송하고, 라우터(110)로부터 통신 허가 신호가 입력되면 IP 또는 로컬 네트워크와 라우터(110) 사이의 통신을 개시한다.The NI 120 is connected to an IP or local network that transmits data to a destination of an SOS network, transmits a communication request signal to the router 110, and receives a communication permission signal from the router 110. Initiate communication between routers 110.

IP 또는 로컬 네트워크로부터 목적지 IP 또는 로컬 네트워크로 데이터를 전송하고자 할 때, 점대점(point-to-point) 프로토콜 기반의 IP는 통신 요청 신호를 전송할 수 없기 때문에 NI(120)가 통신 요청 신호를 라우터(110)로 전송한다. 라우터(110)가 수신된 통신 요청을 기초로 채널 형성을 하는 동안 NI(120)는 전송 신호인 데이터를 대기시키고, 라우터(110)로부터 채널이 형성되었음을 알리는 허가 신호가 수신되면 통신을 개시한다.When you want to transfer data from an IP or local network to a destination IP or local network, the NI 120 routes the communication request signal because the IP based on the point-to-point protocol cannot transmit the communication request signal. Transmit to 110. While the router 110 forms a channel based on the received communication request, the NI 120 waits for data, which is a transmission signal, and starts communication when a permission signal indicating that the channel has been formed is received from the router 110.

또한 NI(120)는 또 다른 IP와 라우터(110) 사이를 연결하는 인접한 NI(120)와 연결될 수 있다. 도 4는 본 발명에 따른 에스오씨 네트워크의 통신 장치를 이용한 데이터 전송 경로를 도시한 도면이다. 도 4에서 ①로 표시된 경로를 참조하면, 라우터(110)의 서로 이웃한 두 개의 링크에 각각 연결된 두 개의 NI(120-2, 120-3)는 각각 서로 다른 IP에 연결되어 있으며, 두 개의 NI(120-2, 120-3)는 서로 연결되어 있다. 이와 같이 서로 연결된 NI(120-2, 120-3)에는 각각 상대방 NI에 연결된 IP 또는 로컬 네트워크의 주소 영역이 저장되어 있다.In addition, the NI 120 may be connected to an adjacent NI 120 connecting between another IP and the router 110. 4 is a diagram illustrating a data transmission path using a communication device of an SOS network according to the present invention. Referring to the path indicated by ① in FIG. 4, two NIs 120-2 and 120-3 connected to two neighboring links of the router 110 are connected to different IPs, and two NIs are connected to different IPs. 120-2 and 120-3 are connected to each other. As described above, the NIs 120-2 and 120-3 connected to each other store an IP or local area of an IP network connected to the counterpart NI.

①의 화살표 방향이 나타내는 것과 같이 위쪽의 IP로부터 아래쪽의 IP로 데이터를 전송하고자 하는 경우, 위쪽의 IP에 연결된 NI(120-2)에는 아래쪽 IP의 주소가 저장되어 있으므로, 위쪽 IP의 목적지 주소가 아래쪽 IP의 주소와 일치하면 라우터(110)로 통신 요청을 전송하지 않고 상대방 NI, 즉 아래쪽 NI(120-3)로 통신 요청을 전송한다. 통신 요청을 수신한 아래쪽 NI(120-3)는 현재 통신중이 아니라면 자신과 연결된 아래쪽 IP와의 연결을 통해 즉시 통신이 가능하도록 한다. 이러한 연결 방식을 직접 연결(direct connection)이라 하며, IP 또는 로컬 네트워크 사이에서 직접적으로 이루어질 수 있는 전용 통신(dedicated communication)을 지원한다. 이와 같은 직접 연결을 통한 데이터 전송이 이루어지는 경우, 라우터(110)의 어떠한 리소스도 사용하지 않고 라우팅이 가능하므로 추가적인 대역폭을 제공할 수 있어 네트워크 성능을 향상시킨다.As indicated by the arrow direction ①, when you want to transfer data from the upper IP to the lower IP, the lower IP address is stored in the NI 120-2 connected to the upper IP. If it matches the address of the lower IP, the router 110 does not transmit a communication request but transmits the communication request to the counterpart NI, that is, the lower NI 120-3. Upon receiving the communication request, the lower NI 120-3 enables communication immediately through the connection with the lower IP connected to the lower NI 120-3 if it is not currently communicating. This type of connection is called a direct connection, and supports dedicated communication that can be made directly between IP or local networks. When data transmission is performed through such a direct connection, routing is possible without using any resources of the router 110, so that additional bandwidth may be provided, thereby improving network performance.

링커(130)는 라우터 및 인접한 라우터를 서로 연결하여 양방향으로 통신 요청 신호를 전송하고, 라우터와 인접한 라우터 사이의 데이터 전송 방식에 따라 해 당 데이터 전송 방식을 지원하도록 설계된 구조를 가진다.The linker 130 has a structure designed to connect a router and an adjacent router to each other to transmit a communication request signal in both directions, and to support a corresponding data transmission method according to a data transmission method between the router and the adjacent router.

앞에서 설명한 NI(120)는 IP와 라우터(110)를 연결하므로 IP로부터만 통신 요청을 수신하여 라우터(110)로 전송한다. 따라서 IP와의 연결부와 라우터(110)와의 연결부의 기능이 서로 상이하다. 그러나 링커(130)는 도 1에 도시된 바와 같이 두 개의 라우터(110) 사이를 연결하므로 둘 중 하나의 라우터(110)로부터 통신 요청이 수신되면 다른 라우터(110-1)로 수신된 통신 요청을 전송한다. 따라서 링커(130)는 양방향 NI(120)의 역할을 하며, 대칭적인 동작을 수행한다. 또한 앞에서 인접한 NI(120-2, 120-3)끼리 서로 연결되어 IP 또는 로컬 네트워크 사이의 전용 통신을 지원하였던 것과 마찬가지로, 링커(130) 역시 인접한 NI(120)와 연결 가능하며, 최대 두 개의 NI(120)와 연결되어 직접 연결을 통한 데이터 전송을 지원할 수 있다.Since the aforementioned NI 120 connects the IP and the router 110, the NI 120 receives a communication request only from the IP and transmits the communication request to the router 110. Therefore, the functions of the connection part with the IP and the connection part with the router 110 are different from each other. However, since the linker 130 connects the two routers 110 as shown in FIG. 1, when the communication request is received from one of the routers 110, the linker 130 transmits the received communication request to the other router 110-1. send. Therefore, the linker 130 functions as a bidirectional NI 120 and performs symmetrical operation. In addition, linkers 130 can be connected to adjacent NIs 120, as well as adjacent NIs 120-2 and 120-3s that are connected together to support dedicated communication between IP or local networks. Connected to 120 may support data transmission through a direct connection.

USNA는 앞에서 설명한 직접 연결 및 네트워크 연결(network routing)의 두 가지 라우팅 모드를 지원한다. 도 4에서 ②로 표시된 데이터 전송 경로인 네트워크 연결은 라우터(110)에 의해 생성된 채널을 통한 모든 라우팅을 말한다. 즉, 네트워크 연결은 하나의 라우터(110)에 연결된 두 개의 NI(120)를 통해 이루어지는 데이터 전송, 즉 도 4의 ②번 경로 중에서 왼쪽의 경로, 그리고 링커(130)를 사용하여 두 개의 인접한 라우터(110, 110-1)에 걸쳐 생성된 채널을 통해 이루어지는 데이터 전송, 즉 도 4의 ②번 경로 중에서 오른쪽 경로를 포함한다.USNA supports two routing modes: direct connection and network routing. In FIG. 4, the network connection, which is a data transmission path indicated by ②, refers to all routing through a channel generated by the router 110. That is, the network connection is data transmission through two NIs 120 connected to one router 110, that is, the path on the left side of the path ② of FIG. 4, and two adjacent routers using the linker 130. 110, 110-1) includes data transmitted through the channel generated over the path, that is, the right path among the ② path of FIG.

링커(130)를 통한 데이터 전송의 경우에도 링커(130)가 자신과 연결된 두 개의 라우터(110, 110-1)에 대해 양쪽으로 NI(120)의 기능을 수행하므로, 라우 터(110)의 입장에서는 링커(130)와 NI(120)를 동일하게 취급한다. 이와 같이 양쪽으로 연결된 라우터(110, 110-1)에 대해 NI(120)로 동작하는 것은 링커(130)의 중요한 기술적 특징이라 할 수 있다.In the case of data transmission through the linker 130, since the linker 130 performs the functions of the NI 120 on both sides of the two routers 110 and 110-1 connected thereto, the entry of the router 110 is performed. Treats the linker 130 and the NI 120 in the same manner. As such, operating as the NI 120 for the routers 110 and 110-1 connected to both sides may be an important technical feature of the linker 130.

한편, 링커(130)의 중요한 다른 기술적 특징은 통일된 인터페이스 프로토콜을 제공하는 USNA의 특징에 관련된 것으로, 신호의 연결을 제어하는 것이다. 신호 연결을 제어하기 위한 링커(130)의 구성은 사용하는 프로토콜과 시스템의 구조에 따라 달라진다.On the other hand, another important technical feature of the linker 130 relates to a feature of USNA that provides a unified interface protocol, and controls the connection of the signal. The configuration of the linker 130 for controlling the signal connection depends on the protocol used and the structure of the system.

도 5는 단순 와이어 연결에 사용되는 링커(130)의 구조를 도시한 도면이다. 도 5를 참조하면, 링커(130)는 입력된 신호, 즉 주소 및 데이터를 즉시 출력으로 내보낸다. 이때 라우터(130)에서 신호가 입력된 사이클에 채널 생성이 보장되지 않으면 주소 또는 헤더를 저장하는 기능을 가질 수 있다.5 is a view showing the structure of the linker 130 used for a simple wire connection. Referring to FIG. 5, the linker 130 immediately outputs an input signal, that is, an address and data, to an output. In this case, if the channel generation is not guaranteed in the cycle in which the signal is input from the router 130, the router 130 may have a function of storing an address or a header.

또한 도 6은 레지스터 슬라이싱을 사용하는 네트워크에 적용되는 링커(130)의 구조를 도시한 도면이다. 도 6을 참조하면, 입력 신호는 링커(130)에 구비된 레지스터를 거쳐 출력되며, 핸드쉐이크 신호에 따라 데이터가 보관된다. 이때 링커(130)는 입력 주소 또는 데이터가 필요 이상으로 레지스터에 머무르지 않도록 통신 요청 신호를 적절한 타이밍에 생성해야 한다.6 is a diagram showing the structure of the linker 130 applied to a network using register slicing. Referring to FIG. 6, an input signal is output through a register provided in the linker 130, and data is stored according to the handshake signal. At this time, the linker 130 should generate a communication request signal at an appropriate timing so that the input address or data does not stay in the register more than necessary.

도 7은 NoC 등에서와 같이 가상 채널을 사용하는 네트워크에서 사용되는 링커(130)의 구조를 도시한 도면이다. 도 7을 참조하면, 링커(130)의 내부에는 가상 채널 수만큼의 버퍼 메모리가 존재하며, 하나의 버퍼는 하나의 패킷을 저장할 수 있다. 이 경우에 링커(130)는 패킷의 헤더 부분을 해석할 수 있어야 하므로 프로토 콜에 따라 서로 다른 구조를 가진다.FIG. 7 illustrates a structure of a linker 130 used in a network using a virtual channel as in NoC. Referring to FIG. 7, there are buffer memories corresponding to the number of virtual channels in the linker 130, and one buffer may store one packet. In this case, since the linker 130 should be able to interpret the header portion of the packet, the linker 130 has a different structure according to the protocol.

도 8은 서로 다른 주파수 영역 또는 데이터 폭을 가지는 라우터(110) 사이에 연결된 링커(130)의 구조를 도시한 도면이다. 도 8을 참조하면, 링커(130)는 동기화기(synchronizer) 및 입력 데이터의 크기를 변환하기 위한 수단을 구비한다. 이러한 기능은 오프칩 통신을 하는 경우에 일반적으로 동작 주파수 및 데이터 폭이 달라지므로 유용하다.8 is a diagram illustrating a structure of a linker 130 connected between routers 110 having different frequency domains or data widths. Referring to FIG. 8, linker 130 has a synchronizer and means for converting the size of the input data. This feature is useful for off-chip communication, because the operating frequency and data width typically vary.

도 5 내지 도 8에 도시된 구조 외에도 링커(130)는 라우터(110) 사이에서 필요한 모든 종류의 통신을 지원할 수 있는 구조를 가지며, 설계하고자 하는 시스템에 따라 다양한 구조로 설계하여 사용할 수 있다. 따라서 하나의 시스템이 여러 개의 칩으로 구성되고, 칩 내부에 NoC 구조가 포함된 SoC가 존재하는 경우에도 하나의 네트워크 구조와 프로토콜을 사용하여 시스템 설계가 가능하다.In addition to the structure illustrated in FIGS. 5 to 8, the linker 130 has a structure capable of supporting all kinds of communication required between the routers 110, and may be designed and used in various structures according to a system to be designed. Therefore, even if a system is composed of several chips and there is an SoC including a NoC structure inside the chip, the system can be designed using one network structure and protocol.

네트워크 구조를 설계할 때에는 통신 기능과 연산 기능의 비율을 조절하여 시스템의 특성에 따라 적절한 구조로 설계할 수 있다. 예를 들면, 기존의 AMBA AHB와 같은 온칩 버스를 대체하는 네트워크를 설계하는 경우에는 하나 또는 두 개의 라우터(110)를 사용하여 IP의 배치를 최대로 하고, 라우터(110) 사이의 통신은 통신량을 고려하여 하나 또는 두 개의 링커(130)를 사용하여 수행하도록 할 수 있다.When designing the network structure, it is possible to design the appropriate structure according to the characteristics of the system by adjusting the ratio of communication function and arithmetic function. For example, when designing a network to replace an on-chip bus such as AMBA AHB, one or two routers 110 are used to maximize the placement of IP, and communication between routers 110 In consideration of this, it may be performed using one or two linkers 130.

또한 NoC 구조에 적용하는 경우에는 네 개 이상의 링커(130)를 사용하여 라우터(110) 사이의 통신 대역폭을 증가시킬 수 있다. 특히 통신이 집중되는 위치에서는 8개의 링커(130)를 사용하여 통신 기능만을 수행하도록 하고, 통신량이 많지 않은 위치에서는 연산기의 수를 늘려 연산 기능의 수행 비율을 증가시켜 전체적인 시스템의 효율성을 향상시킬 수 있다. 이는 기존의 NoC가 특정 시스템에 최적화되어 개발된 결과, 유연성이 부족한 점을 극복할 수 있도록 한다. 따라서 USNA에 의해 기존의 모든 SoC 기반 시스템의 통신 네트워크를 구현할 수 있다. 이는 시스템 특성에 따라 다양한 구조로 설계할 수 있는 링커(130)를 사용함에 따라 얻어지게 되는 본 발명의 중요한 효과이다.In addition, when applied to the NoC structure it is possible to increase the communication bandwidth between the router 110 by using four or more linkers (130). Particularly, in a location where communication is concentrated, only the linker 130 is used to perform a communication function, and in a place where there is not much communication, the number of calculators can be increased to increase the execution rate of the calculation function, thereby improving the efficiency of the overall system. have. This allows existing NoCs to be optimized for specific systems and overcome the lack of flexibility. Therefore, USNA can implement communication networks of all existing SoC-based systems. This is an important effect of the present invention obtained by using the linker 130 that can be designed in a variety of structures depending on the system characteristics.

이하에서는 본 발명에 따른 에스오씨 네트워크의 통신 장치를 사용하여 설계된 다양한 시스템 네트워크 구성을 설명한다.Hereinafter, various system network configurations designed using the communication device of the SOS network according to the present invention will be described.

도 9는 본 발명을 이용한 시스템 네트워크 구성의 일 예를 도시한 도면이다. 도 9에서 R0 내지 R4는 라우터(110)이고, L0 내지 L6로 표시된 블록은 링커(130)를 나타낸다. 나머지 블록들은 NI(120) 및 그에 연결된 IP를 나타낸다. 도 9의 네트워크는 모두 다섯 개의 라우터(110)로 구성되며, 각각의 라우터(110)에 연결된 NI(120) 및 링커(130)의 개수는 서로 상이하다. R0의 경우에는 하나의 링커(130)만이 연결되어 있고 나머지 7개의 링크에는 모두 NI(120) 및 IP가 연결되어 있으므로 연산량이 많으나 라우터(110) 내부의 통신이 주를 이루고 라우터(110) 밖으로 나가는 통신량은 적다는 것을 알 수 있다. 반면에 R2는 네트워크의 중앙에 위치하며 다른 라우터(110)들과의 통신이 활발하게 수행된다. 따라서 대역폭 확보를 위해 모두 다섯 개의 링커(130)가 연결되어 있어 연산 기능에 비해 통신 기능을 주로 수행한다.9 is a diagram illustrating an example of a system network configuration using the present invention. In FIG. 9, R0 to R4 are routers 110, and blocks denoted by L0 to L6 represent linkers 130. The remaining blocks represent the NI 120 and its associated IP. The network of FIG. 9 is composed of all five routers 110, and the number of NIs 120 and linkers 130 connected to each router 110 are different from each other. In the case of R0, only one linker 130 is connected and the remaining seven links are all connected with the NI 120 and IP. However, a large amount of calculation is performed, but communication inside the router 110 is mainly performed and out of the router 110. It can be seen that the traffic is low. On the other hand, R2 is located in the center of the network and communication with other routers 110 is actively performed. Therefore, in order to secure the bandwidth, all five linkers 130 are connected to perform a communication function as compared to a calculation function.

그 밖에 다른 라우터(110)들을 살펴보면, R1은 R2 및 R3와 주로 통신을 수행하므로 L1과 L2가 연결되어 있고, R3는 R1, R2 및 R4와의 통신을 위해 세 개의 링 커가 연결되어 있다. 마지막으로 R4는 R2 및 R3와 주로 통신을 수행한다. 자주 발생하지 않는 통신은 중간 라우터(110)를 거쳐 데이터를 전송하면 되므로 링커(130)를 통해 직접 연결할 필요가 없다. 이와 같이 통신량의 수요에 따라 링커(130)를 적절한 위치에 배치하여 최적의 통신 효율을 얻을 수 있다.Looking at the other routers 110, since R1 mainly communicates with R2 and R3, L1 and L2 are connected, and R3 has three linkers for communication with R1, R2, and R4. Finally, R4 primarily communicates with R2 and R3. Infrequent communication does not need to be directly connected through the linker 130 because data is transmitted through the intermediate router 110. As such, the linker 130 may be disposed at an appropriate position according to the demand of the communication amount to obtain an optimal communication efficiency.

연결되는 링커(130)의 구조는 앞에서 설명한 것과 같이 프로토콜에 따라 직접 연결 방식이나 레지스터 슬라이싱 방식에 따른 구조를 사용할 수 있다. 즉, AHB와 같은 양방향 통신의 정지 및 대기(stop and wait) 방식을 사용하는 경우에는 도 5에 도시한 것과 같은 직접 연결 방식의 링커(130)를 사용하고, AXI와 같이 레지스터 슬라이싱을 허용하는 단방향 통신의 경우에는 도 6에 도시된 것과 같은 레지스터 슬라이스 방식의 링커(130)를 사용한다.As described above, the structure of the linker 130 to be connected may use a structure according to a direct connection method or a register slicing method according to a protocol. That is, when using a stop and wait method of bidirectional communication such as AHB, a linker 130 of a direct connection method as shown in FIG. 5 is used, and a unidirectional method that allows register slicing as in AXI. In the case of communication, the linker 130 of the register slice method as shown in FIG. 6 is used.

도 10은 USNA를 NoC에 적용한 일 예를 도시한 도면이다. 도 10을 참조하면, 라우터(110) R0 내지 R8이 3×3 구조로 배열되어 있으며, 음영으로 표시된 블록들은 링커(130), 나머지 블록들은 NI(120) 및 그에 연결된 IP를 나타낸다. 또한 링커(130)들 중에서 바깥쪽에 위치하는 링커들은 두 개의 라우터(110)에 연결되어 있는 링커(130)에 비해 1/2의 두께를 가지도록 표현되어 있는데, 이는 해당 링커(130)가 반대편에 있는 다른 링커(130)와 동일하다는 것을 의미한다. 예를 들면, 라우터(110) R0의 좌측 상단에 연결된 링커(130)는 R6의 좌측 하단에 연결된 링커(130)와 동일한 것으로, R0와 R6가 링커(130)에 의해 연결되어 있음을 나타내는 것이다. 다른 라우터(110)들의 가장자리에 연결된 링커(130)들도 마찬가지이다.10 illustrates an example of applying USNA to NoC. Referring to FIG. 10, routers R0 to R8 are arranged in a 3 × 3 structure, and the shaded blocks represent the linker 130 and the remaining blocks represent the NI 120 and the IP connected thereto. In addition, the linkers located in the outer side of the linkers 130 are expressed to have a thickness of 1/2 compared to the linker 130 connected to the two routers 110, which is the linker 130 on the opposite side It is the same as other linker 130 that is present. For example, the linker 130 connected to the upper left of the router 110 R0 is the same as the linker 130 connected to the lower left of the R6, indicating that R0 and R6 are connected by the linker 130. The same is true of linkers 130 connected to the edges of the other routers 110.

도 10을 참조하면, 일반적인 NoC의 경우에는 하나의 라우터에 하나의 IP가 존재하고 네 개의 다른 라우터가 연결되지만, 본 발명을 적용한 USNA는 하나의 라우터(110)에 네 개의 IP와 네 개의 라우터(110)가 연결되고, 필요할 경우에는 IP의 수를 줄이고 링커(130)의 수를 늘려 대역폭을 늘릴 수 있다.Referring to FIG. 10, in the case of a general NoC, one IP exists in one router and four other routers are connected. However, USNA according to the present invention has four IPs and four routers in one router 110. 110 may be connected, and if necessary, bandwidth may be increased by reducing the number of IPs and increasing the number of linkers 130.

도 10에서 R0와 R8에 연결된 IP가 서로 통신을 하기 위해서는 중간에 최소 2개의 라우터(110)를 거쳐야 하지만, R0와 R8에서 IP를 하나씩 제거하고 링커(130)를 연결하면 라우터(110)가 직접 연결되어 성능을 향상시킬 수 있다. 기존의 NoC에서는 이것이 불가능하며, 대부분 특정한 목적으로 라우터(110)에 해당하는 구성요소를 설계하여 다른 목적의 시스템에 적용하기 어렵다. 그러나 USNA를 사용하면 시스템의 특성에 따라 자유롭게 구조를 설계할 수 있으므로 유연한 시스템 설계가 가능하다.In FIG. 10, IPs connected to R0 and R8 must pass through at least two routers 110 in the middle in order to communicate with each other. However, routers 110 directly remove the IPs from R0 and R8 and connect the linker 130. To improve performance. In the existing NoC, this is not possible, and most of the components corresponding to the router 110 for a specific purpose are difficult to apply to other purpose systems. However, USNA allows flexible system design because the structure can be freely designed according to the characteristics of the system.

도 11은 다양한 통신 방식이 동시에 이루어지는 구조의 일 예를 도시한 도면이다. 도 11을 참조하면, 칩 1과 칩 2는 서로 오프칩 통신을 수행하며, 칩 사이에서는 4비트 데이터 폭으로 100MHz에서 동작한다. 칩 1의 내부에서는 64비트 데이터 폭으로 50MHz에서 동작하므로 링커 L0 및 L7이 동기화 및 데이터 폭 변환을 수행한다. 칩 2의 내부에서는 도메인(domain) 1과 도메인 2가 서로 다른 데이터 폭으로 서로 다른 주파수에서 동작한다. 즉, 도메인 1은 64비트의 데이터 폭으로 50MHz에서 동작하며, 도메인 2는 32비트 데이터 폭으로 200MHz에서 동작한다. 이때 링커 L1은 동기화 및 데이터 폭 변환을 수행하여 두 도메인 사이의 통신을 원활하게 한다. 따라서 본 발명에 따른 에스오씨 네트워크의 통신 장치를 사용하면 SoC가 아닌 다중 칩 시스템에서 USNA를 적용하여 전체 시스템의 설계가 가능하고, 기능별로 요 구사항이 다른 경우에도 링커(130)를 통해 문제를 해결할 수 있다.11 is a diagram illustrating an example of a structure in which various communication methods are simultaneously performed. Referring to FIG. 11, chip 1 and chip 2 perform off-chip communication with each other, and operate at 100 MHz with a 4-bit data width between chips. Inside Chip 1, operating at 50MHz with 64-bit data width, linkers L0 and L7 perform synchronization and data width conversion. Inside chip 2, domain 1 and domain 2 operate at different frequencies with different data widths. That is, domain 1 operates at 50 MHz with a 64-bit data width and domain 2 operates at 200 MHz with a 32-bit data width. At this time, the linker L1 performs synchronization and data width conversion to facilitate communication between the two domains. Therefore, when using the communication device of the SOS network according to the present invention, it is possible to design the entire system by applying the USNA in the multi-chip system, not SoC, and even if the requirements are different for each function through the linker 130 I can solve it.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

도 1은 본 발명에 따른 다양한 통신 방식에 적용 가능한 에스오씨 네트워크의 통신 장치에 대한 바람직한 일 실시예의 구성을 도시한 도면,1 is a diagram showing the configuration of a preferred embodiment of a communication device of the SOS network applicable to various communication schemes according to the present invention,

도 2는 라우터의 내부 구조를 도시한 개념도,2 is a conceptual diagram illustrating an internal structure of a router;

도 3은 라우터의 내부에서 라우팅이 일어나는 과정을 설명하기 위한 도면,3 is a view for explaining a process in which routing occurs in the router;

도 4는 본 발명에 따른 에스오씨 네트워크의 통신 장치를 이용한 데이터 전송 경로를 도시한 도면,4 is a diagram illustrating a data transmission path using a communication device of an SOS network according to the present invention;

도 5는 단순 와이어 연결에 사용되는 링커의 구조를 도시한 도면,5 is a view showing the structure of a linker used for a simple wire connection,

도 6은 레지스터 슬라이싱을 사용하는 네트워크에 적용되는 링커의 구조를 도시한 도면,6 shows a structure of a linker applied to a network using register slicing;

도 7은 NoC 등에서와 같이 가상 채널을 사용하는 네트워크에서 사용되는 링커의 구조를 도시한 도면,FIG. 7 illustrates a structure of a linker used in a network using a virtual channel, such as in NoC. FIG.

도 8은 서로 다른 주파수 영역 또는 데이터 폭을 가지는 라우터 사이에 연결된 링커의 구조를 도시한 도면,8 illustrates a structure of a linker connected between routers having different frequency domains or data widths;

도 9는 본 발명을 이용한 시스템 네트워크 구성의 일 예를 도시한 도면,9 is a diagram illustrating an example of a system network configuration using the present invention;

도 10은 USNA를 NoC에 적용한 일 예를 도시한 도면, 그리고,10 is a view showing an example in which USNA is applied to NoC, and

도 11은 다양한 통신 방식이 동시에 이루어지는 구조의 일 예를 도시한 도면이다.11 is a diagram illustrating an example of a structure in which various communication methods are simultaneously performed.

Claims (13)

서로 독립적인 입력 및 출력 포트로 이루어진 복수의 링크를 가지며, 입력받은 통신 요청 신호에 대해 데이터 전송 경로를 결정하여 에스오씨 네트워크에서의 데이터 전송을 위한 채널을 형성하는 라우터;A router having a plurality of links composed of input and output ports independent of each other, and determining a data transmission path with respect to an input communication request signal to form a channel for data transmission in an SOS network; 상기 에스오씨 네트워크의 목적지로 데이터를 전송하는 아이피(Intellectual Property : IP) 또는 로컬 네트워크에 연결되어 상기 라우터에 통신 요청 신호를 전송하고, 상기 라우터로부터 통신 허가 신호가 입력되면 상기 아이피 또는 로컬 네트워크와 상기 라우터 사이의 통신을 개시하는 네트워크 인터페이스; 및Connected to an IP (Intellectual Property: IP) or a local network that transmits data to a destination of the SOS network, and transmits a communication request signal to the router, and when a communication permission signal is input from the router, the IP or local network and the A network interface for initiating communication between routers; And 상기 라우터 및 인접한 라우터를 서로 연결하여 양방향으로 통신 요청 신호를 전송하고, 상기 라우터와 인접한 라우터 사이의 데이터 전송 방식에 따라 해당 데이터 전송 방식을 지원하도록 설계된 구조를 가지는 링커;를 포함하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.And a linker having a structure designed to connect the router and the adjacent router to each other to transmit a communication request signal in both directions, and to support a corresponding data transmission method according to the data transmission method between the router and the adjacent router. Communication device of SOC network. 제 1항에 있어서,The method of claim 1, 상기 링커는 상기 라우터 및 인접한 라우터를 와이어에 의해 직접 연결하는 구조를 가져 입력된 신호가 즉시 출력될 수 있도록 하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The linker has a structure that directly connects the router and the adjacent router by a wire so that the input signal can be output immediately. 제 1항에 있어서,The method of claim 1, 상기 링커는 입력된 신호가 레지스터를 거쳐 출력되는 레지스터 슬라이싱 방식의 데이터 전송 방식을 제공하도록 상기 레지스터를 구비한 구조를 가지는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.And the linker has a structure including the register to provide a register slicing data transmission method in which an input signal is output through a register. 제 1항에 있어서,The method of claim 1, 상기 링커는 가상 채널을 사용하는 네트워크 구조에 적용되도록 패킷이 저장되는 버퍼 메모리를 구비한 구조를 가지는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.And the linker has a structure including a buffer memory in which packets are stored to be applied to a network structure using a virtual channel. 제 1항에 있어서,The method of claim 1, 상기 링커는 상기 라우터 및 인접한 라우터 내부에서 데이터 전송에 사용하는 데이터 폭 및 동작 주파수가 서로 상이한 경우 또는 비동기 신호를 사용하는 경우에는 동기화기 및 데이터 폭을 변환하는 수단을 구비하는 구조를 가지는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The linker may have a structure including a synchronizer and a means for converting data widths when data widths and operating frequencies used for data transmission in the router and adjacent routers are different from each other or when asynchronous signals are used. Communication device of SOS network. 제 1항에 있어서,The method of claim 1, 상기 링커는 상기 라우터 및 인접한 라우터 사이에서 오프칩 통신이 수행될 때 사용되는 데이터 폭 및 동작 주파수가 상기 라우터 및 인접한 라우터 내부에서 사용되는 데이터 폭 및 동작 주파수와 상이한 경우에는 동기화기 및 데이터 폭을 변환하는 수단을 구비하는 구조를 가지는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The linker converts the synchronizer and the data width when the data width and operating frequency used when off-chip communication is performed between the router and the adjacent router are different from the data width and operating frequency used inside the router and the adjacent router. Communication apparatus of the SOS network having a structure having a means for. 제 1항 내지 제 6항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 6, 상기 네트워크 인터페이스는 상기 아이피 또는 로컬 네트워크로부터 전송된 데이터가 인접한 네트워크 인터페이스에 연결된 아이피 또는 로컬 네트워크로 상기 라우터를 거치지 않고 직접 전송되도록 상기 인접한 네트워크 인터페이스와 직접 연결되는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The network interface is directly connected to the adjacent network interface so that data transmitted from the IP or local network is directly transmitted to the IP or local network connected to the adjacent network interface without passing through the router. . 제 7항에 있어서,The method of claim 7, wherein 상기 네트워크 인터페이스에는 상기 인접한 네트워크 인터페이스에 연결된 아이피 또는 로컬 네트워크의 주소 정보가 저장되며, 상기 데이터와 함께 입력된 목적지 주소가 상기 저장된 주소 정보와 일치하면 상기 데이터를 상기 인접한 네트워크 인터페이스로 전송하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The network interface stores address information of an IP or a local network connected to the adjacent network interface, and transmits the data to the adjacent network interface when a destination address input together with the data matches the stored address information. Communication device of SOS network. 제 1항 내지 제 6항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 6, 상기 링커는 두 개의 네트워크 인터페이스와 직접 연결되어 상기 두 개의 네트워크 인터페이스에 각각 연결된 아이피 또는 로컬 네트워크 사이에서 상기 라우터를 거치지 않고 데이터가 직접 전송되도록 하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The linker is directly connected to two network interfaces so that data is directly transmitted between the IP or local networks connected to each of the two network interfaces without passing through the router. 제 1항 내지 제 6항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 6, 상기 라우터의 각각의 링크에 연결되는 상기 네트워크 인터페이스 및 상기 링커의 개수는 상기 라우터에서 발생하는 통신량에 따라 결정되는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.And the number of the network interface and the linker connected to each link of the router is determined according to the amount of communication generated in the router. 제 1항 내지 제 6항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 6, 상기 라우터에 구비된 상기 링크의 개수는 상기 에스오씨 네트워크 내에 포함된 상기 아이피의 개수 및 상기 라우터의 동작 속도를 기초로 결정되는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The number of the links provided in the router is a communication device of the SOS network, characterized in that determined based on the number of the IP contained in the SOS network and the operating speed of the router. 제 1항 내지 제 6항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 6, 상기 라우터는,The router, 상기 링크를 통해 상기 네트워크 인터페이스 또는 상기 링커로부터 통신 요청 신호와 함께 데이터 전송의 목적지 주소가 입력되면 내부 참조 테이블(Look-Up Table : LUT)에서 상기 목적지 주소에 대응하는 목적지 링크를 검색하고, 상기 목적지 링크가 사용 가능한 것으로 판단되면 데이터 전송 채널을 형성하기 위한 채널 제어 신호를 출력하는 라우팅 로직; 및If a destination address of a data transmission is input together with a communication request signal from the network interface or the linker through the link, a lookup table (LUT) searches for a destination link corresponding to the destination address, and the destination Routing logic for outputting a channel control signal for forming a data transmission channel when it is determined that the link is available; And 상기 채널 제어 신호를 입력받아 물리적인 데이터 전송 채널을 형성하는 스위치 매트릭스;를 구비하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.And a switch matrix configured to receive the channel control signal and form a physical data transmission channel. 제 12항에 있어서,The method of claim 12, 상기 라우팅 로직은 복수의 링크를 통해 통신 요청 신호와 함께 입력된 복수의 목적지 주소가 서로 상이하면 상기 각각의 목적지 주소에 대응하는 목적지 링크로의 복수의 데이터 전송 채널을 형성하기 위한 채널 제어 신호를 출력하고, 상기 복수의 목적지 주소가 서로 동일하면 상기 내부 참조 테이블에 사전에 설정되어 저장된 우선순위를 기초로 상기 복수의 링크 중에서 우선순위가 가장 높은 링크를 통해 입력된 목적지 주소에 대응하는 목적지 링크로의 데이터 전송 채널을 형성하기 위한 채널 제어 신호를 출력하는 것을 특징으로 하는 에스오씨 네트워크의 통신 장치.The routing logic outputs a channel control signal for forming a plurality of data transmission channels to destination links corresponding to the respective destination addresses when the plurality of destination addresses input together with the communication request signal through the plurality of links are different from each other. And if the plurality of destination addresses are the same as each other, to a destination link corresponding to the destination address input through the link having the highest priority among the plurality of links based on the priorities previously set and stored in the internal reference table. And a channel control signal for forming a data transmission channel.
KR1020090126992A 2009-12-18 2009-12-18 Communication apparatus of soc network applicable to various communication methods KR101028806B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090126992A KR101028806B1 (en) 2009-12-18 2009-12-18 Communication apparatus of soc network applicable to various communication methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090126992A KR101028806B1 (en) 2009-12-18 2009-12-18 Communication apparatus of soc network applicable to various communication methods

Publications (1)

Publication Number Publication Date
KR101028806B1 true KR101028806B1 (en) 2011-04-12

Family

ID=44050012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090126992A KR101028806B1 (en) 2009-12-18 2009-12-18 Communication apparatus of soc network applicable to various communication methods

Country Status (1)

Country Link
KR (1) KR101028806B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411761A (en) * 2016-10-17 2017-02-15 桐城市闲产网络服务有限公司 Router
KR20170054259A (en) * 2015-10-26 2017-05-17 에이취지에스티 네덜란드 비.브이. Fabric interconnection for memory banks based on network-on-chip methodology
US10243881B2 (en) 2015-10-27 2019-03-26 Western Digital Technologies, Inc. Multilayer 3D memory based on network-on-chip interconnection
KR20220116892A (en) * 2021-02-16 2022-08-23 숭실대학교산학협력단 Network-on-chip communication apparatus and router apparatus for network-on-chip communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050119798A (en) * 2004-06-17 2005-12-22 이찬호 System on chip bus architecture providing multiple channel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050119798A (en) * 2004-06-17 2005-12-22 이찬호 System on chip bus architecture providing multiple channel

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170054259A (en) * 2015-10-26 2017-05-17 에이취지에스티 네덜란드 비.브이. Fabric interconnection for memory banks based on network-on-chip methodology
KR101956855B1 (en) * 2015-10-26 2019-03-12 에이취지에스티 네덜란드 비.브이. Fabric interconnection for memory banks based on network-on-chip methodology
US11165717B2 (en) 2015-10-26 2021-11-02 Western Digital Technologies, Inc. Fabric interconnection for memory banks based on network-on-chip methodology
US11546272B2 (en) 2015-10-26 2023-01-03 Western Digital Technologies, Inc. Fabric interconnection for memory banks based on network-on-chip methodology
US10243881B2 (en) 2015-10-27 2019-03-26 Western Digital Technologies, Inc. Multilayer 3D memory based on network-on-chip interconnection
CN106411761A (en) * 2016-10-17 2017-02-15 桐城市闲产网络服务有限公司 Router
KR20220116892A (en) * 2021-02-16 2022-08-23 숭실대학교산학협력단 Network-on-chip communication apparatus and router apparatus for network-on-chip communication
KR102462577B1 (en) * 2021-02-16 2022-11-03 숭실대학교산학협력단 Network-on-chip communication apparatus and router apparatus for network-on-chip communication

Similar Documents

Publication Publication Date Title
Bjerregaard et al. A router architecture for connection-oriented service guarantees in the MANGO clockless network-on-chip
US8284766B2 (en) Multi-core processor and method of communicating across a die
US9634866B2 (en) Architecture and method for hybrid circuit-switched and packet-switched router
Richardson et al. A hybrid SoC interconnect with dynamic TDMA-based transaction-less buses and on-chip networks
US20040114609A1 (en) Interconnection system
US20150003247A1 (en) Mechanism to control resource utilization with adaptive routing
CN111104775A (en) Network-on-chip topological structure and implementation method thereof
WO2012103814A9 (en) Method and apparatus for low-latency interconnection networks using hierarchical rings
Modarressi et al. A hybrid packet-circuit switched on-chip network based on SDM
US20210344618A1 (en) Interconnection Network With Adaptable Router Lines For Chiplet-Based Manycore Architecture
Krishna et al. Single-cycle collective communication over a shared network fabric
KR101028806B1 (en) Communication apparatus of soc network applicable to various communication methods
US20070140280A1 (en) Computer chip for connecting devices on the chip utilizing star-torus topology
CN114338824A (en) Message protocol for data processing system
Effiong et al. Scalable and power-efficient implementation of an asynchronous router with buffer sharing
CN107018071B (en) Route mode switching configurator based on 'packet-circuit' switching technology
Kumar et al. Towards power efficient wireless NoC router for SOC
Nambinina et al. Extension of the lisnoc (network-on-chip) with an axi-based network interface
US20170293587A1 (en) Non-Blocking Network
Jain et al. Asynchronous bypass channels: Improving performance for multi-synchronous nocs
US10185606B2 (en) Scalable autonomic message-transport with synchronization
US11144457B2 (en) Enhanced page locality in network-on-chip (NoC) architectures
FallahRad et al. Cirket: A performance efficient hybrid switching mechanism for noc architectures
Sethuraman et al. Multi2 router: A novel multi local port router architecture with broadcast facility for FPGA-based networks-on-chip
Guo et al. A bypass-based low latency network-on-chip router

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140318

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee