KR101220481B1 - Networks on chip system and method of routing thereof - Google Patents

Networks on chip system and method of routing thereof Download PDF

Info

Publication number
KR101220481B1
KR101220481B1 KR1020110060324A KR20110060324A KR101220481B1 KR 101220481 B1 KR101220481 B1 KR 101220481B1 KR 1020110060324 A KR1020110060324 A KR 1020110060324A KR 20110060324 A KR20110060324 A KR 20110060324A KR 101220481 B1 KR101220481 B1 KR 101220481B1
Authority
KR
South Korea
Prior art keywords
data packet
parallel
common bus
router
address
Prior art date
Application number
KR1020110060324A
Other languages
Korean (ko)
Other versions
KR20120140529A (en
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 KR1020110060324A priority Critical patent/KR101220481B1/en
Publication of KR20120140529A publication Critical patent/KR20120140529A/en
Application granted granted Critical
Publication of KR101220481B1 publication Critical patent/KR101220481B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

네트워크 온 칩 시스템은 적어도 하나의 IP 모듈, IP 모듈 별로 연결된 적어도 하나의 로컬 라우터, 및 로컬 라우터와 연결된 병렬 라우터를 각각 포함하는 다수의 레이어부를 포함하되, 병렬 라우터는 공통 버스에 병렬 연결되며 다른 레이어부의 병렬 라우터와 브로드캐스트 방식으로 데이터 패킷을 송수신한다.The network-on-chip system includes a plurality of layer portions each including at least one IP module, at least one local router connected to each IP module, and a parallel router connected to the local router, wherein the parallel routers are connected in parallel to a common bus and have different layers. Sends and receives data packets with a negative parallel router in a broadcast manner.

Description

네트워크 온 칩 시스템 및 그 라우팅 방법{NETWORKS ON CHIP SYSTEM AND METHOD OF ROUTING THEREOF}Network on chip system and its routing method {NETWORKS ON CHIP SYSTEM AND METHOD OF ROUTING THEREOF}

본 발명은 네트워크-온-칩(Networks-On-Chip) 시스템 및 그에 대한 데이터 라우팅 방법에 관한 것이다.The present invention relates to a network-on-chip system and a data routing method thereof.

반도체 기술의 발전에 따른 회로의 집적도 향상으로 하나의 칩(Chip) 내부에 수십억 개의 트랜지스터를 집적할 수 있게 되었다. 이와 더불어 소비자가 요구하는 조건들이 점점 다양해짐에 따라 이를 만족시키기 위해 수십 개에서 수백 개의 IP를 갖는 시스템-온 칩(System-on-Chip, SoC)이 사용되고 있다.As the integration of circuits increases with the development of semiconductor technology, billions of transistors can be integrated in one chip. In addition, as the demands of consumers vary, system-on-chips (SoCs) with dozens or hundreds of IPs are used to satisfy these requirements.

이렇게 많은 수의 IP들이 단일 칩 내부에 집적되어 있는 경우, 칩 내부의 통신을 담당하는 대표적 구조인 공유 버스 시스템은 IP의 개수가 증가할수록 병목현상이 발생할 확률이 증가한다. 이를 해결해서 네트워크-온-칩 (Network-on-Chip, NoC)이라는 구조가 연구되고 있다. When such a large number of IPs are integrated in a single chip, the shared bus system, which is a representative structure for communication within the chip, increases the probability of bottlenecks as the number of IPs increases. To solve this problem, a structure called network-on-chip (NoC) has been studied.

한편 소자들을 평면으로 배치하는 2차원 집적 회로는 내부 소자들의 수가 증가할수록 지연 증가, 전력 소모 증가 등의 단점이 발생한다. 이를 해결하기 위해 연구된 3차원 집적 회로는 짧은 통신 거리와 소모되는 전력이 감소해 시스템의 성능을 향상시킨다. 이러한 장점들을 바탕으로 3차원 집적회로 기술과 NoC 기술을 접목시킨 3차원 NoC에 관한 연구가 활발하게 진행되고 있다. Meanwhile, two-dimensional integrated circuits in which devices are disposed in a plan have disadvantages such as increased delay and increased power consumption as the number of internal devices increases. The three-dimensional integrated circuits studied to solve this problem improve the system performance by reducing the short communication distance and power consumption. On the basis of these advantages, research on 3D NoC combining 3D integrated circuit technology and NoC technology is being actively conducted.

그런데, 종래의 3차원 NoC 구조는 대칭적 NoC (Symmetric NoC)로서, 공유 버스 시스템이 모든 레이어(Layer)를 통과하는 구조이다. 따라서, 레이어 간 통신 시 데이터가 다수의 레이어를 통과하는데 따른 다수의 홉(Hop)이 소비되는 문제점이 있다. However, the conventional three-dimensional NoC structure is a symmetric NoC (Symmetric NoC), the shared bus system is a structure that passes through all the layers (Layer). Accordingly, there is a problem in that a plurality of hops are consumed as data passes through a plurality of layers in inter-layer communication.

전술한 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 데이터 전송 지연을 감소시킬 수 있는 3차원 네트워크 온 칩 시스템 및 그 라우팅 방법을 제공하고자 한다.In order to solve the above problems of the prior art, an embodiment of the present invention is to provide a three-dimensional network on a chip system and a routing method that can reduce the data transmission delay.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 네트워크 온 칩 시스템은, 적어도 하나의 IP(Intellecture Property) 모듈, 상기 IP 모듈 별로 연결된 적어도 하나의 로컬 라우터, 및 상기 로컬 라우터와 연결된 병렬 라우터를 각각 포함하는 다수의 레이어(layer)부를 포함하되, 상기 병렬 라우터는 공통 버스(common bus)에 병렬 연결되며 다른 레이어부의 병렬 라우터와 브로드캐스트(broad cast) 방식으로 데이터 패킷을 송수신한다.Network on a chip system according to an aspect of the present invention for achieving the above technical problem, at least one IP (Intellecture Property) module, at least one local router connected to each of the IP module, and parallel to the local router A plurality of layer units each comprising a router, wherein the parallel router is connected in parallel to a common bus and transmits and receives data packets in parallel with a parallel router of another layer unit.

그리고, 본 발명의 다른 측면에 따른 네트워크 온 칩(Network-on-Chip) 시스템 상의 다수의 레이어(layer)부에 각각 구성되어 공통 버스(common bus)와 병렬로 연결된 병렬 라우팅 장치는, 다른 레이어부의 IP(Intellecture Property) 모듈로부터 발생된 입력 데이터 패킷을 상기 공통 버스를 통해 수신하고, 상기 입력 데이터 패킷의 목적지 주소를 확인하는 데이터 입력부; 상기 입력 데이터 패킷의 목적지 주소가 상기 병렬 라우팅 장치의 주소와 일치하면 상기 입력 데이터 패킷을 상기 목적지 주소에 따른 목적지 로컬 라우터로 전송하고, 상기 목적지 주소가 상기 병렬 라우팅 장치의 주소와 일치하지 않으면 상기 입력 데이터 패킷을 드롭(drop) 처리하는 경로 제어부; 및 상기 병렬 라우팅 장치가 구성된 레이어부의 IP 모듈로부터 발생된 출력 데이터 패킷을 임시 저장하고, 상기 공통 버스의 사용 권리를 획득하면 상기 출력 데이터 패킷을 상기 공통 버스를 통해 다른 병렬 라우팅 장치로 브로드캐스트(broad cast) 전송하는 데이터 출력부를 포함하되, 상기 레이어부는, 적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함한다.In addition, a parallel routing device each configured in a plurality of layer units on a network-on-chip system according to another aspect of the present invention and connected in parallel with a common bus may include another layer unit. A data input unit for receiving an input data packet generated from an IP (Intellecture Property) module through the common bus and confirming a destination address of the input data packet; If the destination address of the input data packet matches the address of the parallel routing device, send the input data packet to a destination local router according to the destination address; and if the destination address does not match the address of the parallel routing device, the input A path controller for drop processing a data packet; And temporarily storing the output data packet generated from the IP module of the layer unit in which the parallel routing device is configured, and when the right to use the common bus is obtained, broadcast the output data packet to another parallel routing device through the common bus. cast) includes a data output unit for transmitting, wherein the layer unit includes at least one IP module and at least one local router connected to the IP module.

또한, 본 발명의 또 다른 측면에 따른 네트워크 온 칩(Network-on-Chip) 시스템 상의 공통 버스(common bus)에 각각 병렬로 연결된 다수의 레이어(layer)부에 대한 병렬 라우팅 방법은, 임의의 레이어부가 상기 공통 버스를 통해 다른 레이어부에 포함된 IP(Intellecture Property) 모듈로부터 발생된 입력 데이터 패킷을 수신하는 단계; 및 상기 입력 데이터 패킷의 목적지 주소와 상기 임의의 레이어부의 주소가 매칭되는 경우 상기 입력 데이터 패킷을 상기 임의의 레이어부에 포함된 목적지 로컬 라우터로 전송하는 단계를 포함하되, 상기 레이어부는, 적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함하는 한다.In addition, a parallel routing method for a plurality of layer units connected in parallel to a common bus on a network-on-chip system according to another aspect of the present invention may include any layer. Receiving an input data packet generated from an IP (Intellecture Property) module included in another layer unit through the common bus; And transmitting the input data packet to a destination local router included in the arbitrary layer part when the destination address of the input data packet matches the address of the arbitrary layer part, wherein the layer part includes at least one It includes an IP module and at least one local router connected to the IP module.

또한, 본 발명의 또 다른 측면에 따른 네트워크 온 칩(Network-on-Chip) 시스템 상의 공통 버스(common bus)에 각각 병렬로 연결된 다수의 레이어(layer)부에 대한 병렬 라우팅 방법은, 임의의 레이어부에 포함된 IP(Intellecture Property) 모듈로부터 발생되는 출력 데이터 패킷을 임시 저장하는 단계; 상기 임의의 레이어부에 대한 상기 공통 버스의 사용 권리 획득을 판단하는 단계; 및 상기 공통 버스의 사용 권리를 획득하면, 상기 출력 데이터 패킷을 순차적으로 상기 공용 버스로 출력하여 다른 레이어부로 브로드캐스트(broad cast) 전송하는 단계를 포함하되, 상기 레이어부는, 적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함한다.In addition, a parallel routing method for a plurality of layer units connected in parallel to a common bus on a network-on-chip system according to another aspect of the present invention may include any layer. Temporarily storing an output data packet generated from an IP (Intellecture Property) module included in the unit; Determining acquisition of a usage right of the common bus for the arbitrary layer unit; And if the right to use the common bus is obtained, sequentially outputting the output data packet to the shared bus and transmitting the broadcast data to another layer unit, wherein the layer unit includes: at least one IP module; At least one local router connected to the IP module.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다수의 레이어가 공통 버스에 병렬로 연결되는 3차원 네트워크 온 칩 시스템을 제공함으로써 레이어간 데이터 전송 시 홉(hop)을 감소시켜 데이터 전송 지연 시간을 감소시킬 수 있다는 효과가 있다.According to any one of the above-described means for solving the problem of the present invention, by providing a three-dimensional network on a chip system in which a plurality of layers are connected in parallel to a common bus, the data transfer delay time by reducing the hop during data transfer between layers There is an effect that can be reduced.

도 1은 본 발명의 일 실시예에 따른 NoC시스템의 구조를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 IP 토폴로지 구조를 나타낸 도면이다.
도 3은 본 발명의 다른 실시예에 따른 IP 토폴로지 구조를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 병렬 라우터의 구조를 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 NoC 시스템에서의 데이터 패킷 구조를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 입력 데이터에 대한 병렬 라우팅 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 출력 데이터에 대한 병렬 라우팅 방법을 설명하기 위한 순서도이다.
1 is a view showing the structure of a NoC system according to an embodiment of the present invention.
2 is a diagram illustrating an IP topology structure according to an embodiment of the present invention.
3 is a diagram illustrating an IP topology structure according to another embodiment of the present invention.
4 is a block diagram showing the structure of a parallel router according to an embodiment of the present invention.
5 is a diagram illustrating a data packet structure in a NoC system according to an embodiment of the present invention.
6 is a flowchart illustrating a parallel routing method for input data according to an embodiment of the present invention.
7 is a flowchart illustrating a parallel routing method for output data according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1 은 본 발명의 일 실시예에 따른 NoC시스템의 구조를 나타내는 도면이다. 1 is a view showing the structure of a NoC system according to an embodiment of the present invention.

그리고, 도 2 는 본 발명의 일 실시예에 따른NoC 시스템에서의 IP 토폴로지 구조를 나타낸 도면이고, 도 3은 본 발명의 다른 실시예에 따른 NoC 시스템에서의 IP 토폴로지 구조를 나타낸 도면이다.2 is a diagram illustrating an IP topology structure in a NoC system according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating an IP topology structure in a NoC system according to another embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 멀티 코어 프로세서 환경에서의NoC 시스템은 다수의 레이어(Layer 1, 2, 3……n)부가 병렬 구조로 구성되어 있다.As shown in FIG. 1, in a NoC system in a multi-core processor environment according to an exemplary embodiment of the present invention, a plurality of layers (Layer 1, 2, 3... N) are configured in a parallel structure.

구체적으로, 각 레이어(Layer 1, 2, 3......n)부는 다수의 IP(Intellcture Property) 모듈(이하, “IP”라고 함)을 포함하며, 각 IP는 로컬 라우터(Local Router)와 연결되어 있다. 또한, 레이어부 별로 구성된 다수의 로컬 라우터들은 하나의 병렬 라우터(Parallel Router)와 연결되며, 각 레이어부의 병렬 라우터는 하나의 공통 버스(common bus)(40)에 병렬로 접속되어 있다.Specifically, each layer (Layer 1, 2, 3 ...... n) part includes a plurality of IP (Intellcture Property) module (hereinafter referred to as "IP"), each IP is a local router ) In addition, a plurality of local routers configured for each layer unit are connected to one parallel router, and the parallel routers of each layer unit are connected in parallel to one common bus 40.

이때, 레이어부는 도 2 및 도 3에서와 같은 구조로 다수의 IP 및 로컬 라우터들이 연결될 수 있다.In this case, the layer unit may be connected to a plurality of IP and local routers in the same structure as in FIGS. 2 and 3.

먼저, 도 2에서 도시한 바와 같이, 본 발명의 일 실시예에 따른 NoC 시스템에서의 IP(10)들은 각각 로컬 라우터(LR)(20)와 일대일로 연결되어 있으며, 다수의IP(10)와LR(20)들은 메시(mesh) 토폴로지 구조로 연결된다. First, as shown in FIG. 2, the IPs 10 in the NoC system according to the exemplary embodiment of the present invention are connected one-to-one with the local router (LR) 20, respectively, and the plurality of IPs 10 The LRs 20 are connected in a mesh topology structure.

예를 들어, 도 2에서는 n개의 레이어부 중 n 번째 레이어부(Layer n)에 9개의 IP(10) 및 9개의 LR(20)이 포함된 것을 나타내었으며, 9개의 LR(20)은 모두 상위 라우터인 PR(30)과 연결되어 있는 것을 나타내었다. 이와 같은, PR(30)은 상기 도 1에서 도시한 바와 같이 하나의 공통 버스(40)에 병렬 연결되어 다른 레이어부의 PR(30)들과 데이터를 송수신한다.For example, FIG. 2 shows that the nineth IP 10 and the nine LRs 20 are included in the n-th layer part among n layer parts, and the nine LRs 20 are all higher. The connection with the PR 30, which is a router, is shown. As shown in FIG. 1, the PR 30 is connected to one common bus 40 in parallel to transmit and receive data to and from the PR 30 of other layer units.

또한, 도 3에서 도시한 바와 같이, 본 발명의 다른 실시예에 따른 NoC 시스템에서는 레이어부 별로 포함된 다수의 IP(10)들이 기설정된 개수의 IP(10)로 구성되는 복수의 그룹으로 그룹화되고, 각 그룹 별로 포함되는 IP(10)들이 하나의 LR(20)에 연결되는 스타 토폴로지 구조로 구성될 수 있다. 그리고, 각 그룹의 LR(20)들이 하나의 PR(30)에 연결된다.In addition, as shown in FIG. 3, in the NoC system according to another embodiment of the present invention, a plurality of IPs 10 included in each layer unit are grouped into a plurality of groups consisting of a predetermined number of IPs 10. In addition, the IP 10 included in each group may be configured in a star topology structure connected to one LR 20. Then, LRs 20 of each group are connected to one PR 30.

예를 들어, 도 3에서는 n개의 레이어부 중 n 번째 레이어부(Layer n)에 16개의 IP(10)가 포함된 것을 나타내었으며, 4개의 IP(10)가 하나의 그룹으로 그룹화되는 것을 나타내었다. 이때, 각 그룹의 IP(10)들은 하나의 LR(20)에 연결되며, 4개의 LR(20)들은 링 토폴로지 구조로 연결되어 IP(10) 간에 송수신되는 데이터를 라우팅한다. 그리고, 4개의 LR(20)들은 모두 하나의PR(30)에 연결되어 있다. 이와 같은, PR(30)은 상기 도 1에서 도시한 바와 같이 하나의 공통 버스(40)에 병렬 연결되어 다른 레이어부의 PR(30)들과 데이터를 송수신한다.For example, FIG. 3 shows that 16 IPs 10 are included in an nth layer part among n layer parts, and 4 IPs 10 are grouped into one group. . At this time, the IP 10 of each group is connected to one LR 20, the four LR 20 is connected in a ring topology structure to route data transmitted and received between the IP (10). Four LRs 20 are all connected to one PR 30. As shown in FIG. 1, the PR 30 is connected to one common bus 40 in parallel to transmit and receive data to and from the PR 30 of other layer units.

한편, 본 발명의 실시예에 따른 NoC 시스템에서 각 레이어부에 구성되는 IP(10) 및 LR(20)의 토폴로지 구조는 상기 도 2 및 도 3에서 도시된 IP토폴로지 구조 외에도 다양한 토폴로지 구조가 적용될 수 있다.  Meanwhile, in the NoC system according to the embodiment of the present invention, the topology structure of the IP 10 and the LR 20 configured in each layer part may be applied in addition to the IP topology structures shown in FIGS. 2 and 3. have.

그리고, 본 발명의 실시예에 따른 NoC 시스템에서 하나의 레이어부에 포함되는 IP 및 LR의 개수는 레이어부 별로 서로 상이 또는 동일하게 구성될 수 있다. And, in the NoC system according to an embodiment of the present invention, the number of IPs and LRs included in one layer unit may be configured differently or identically for each layer unit.

또한, IP 및 LR들은 각각 다수의 입/출력 포트를 포함하며, 입/출력 포트를 통해 데이터를 입/출력할 수 있다. 이때, LR(20)은 연결된 IP(10)로부터 발생되는 데이터를 목적지 IP로 전송하는 경로 설정 스위치 역할을 한다. In addition, the IP and the LRs each include a plurality of input / output ports, and can input / output data through the input / output ports. At this time, the LR 20 serves as a routing switch for transmitting data generated from the connected IP 10 to the destination IP.

이처럼, 본 발명의 일 실시예에 따른 NoC 시스템은 3차원 라우팅 처리를 수행한다. 즉, 각 레이어부 내에 구성된 LR(20)들 간에 수평 라우팅 처리를 수행하고, 다수의 레이어부에 각각 포함된 병렬 라우터(30) 간에 수직(즉, 병렬) 라우팅 처리를 수행한다.As such, the NoC system according to an embodiment of the present invention performs a three-dimensional routing process. That is, horizontal routing processing is performed between the LRs 20 configured in each layer unit, and vertical (ie, parallel) routing processing is performed between the parallel routers 30 respectively included in the plurality of layer units.

한편, 도 3 및 도 4에서는 본 발명의 일 실시예에 따른 NoC 시스템에서 PR(30)이 해당 레이어부의 LR(20)들과 일대일로 연결된 것을 나타내었으나, PR(30)은 수평 통신 방식에 따른 마지막 단(즉, 공통 버스 이전의 마지막 단)의 LR(20)과만 연결되는 것도 가능하다. 이처럼, 마지막 단의 LR(20)과만 연결됨으로써, PR(30)의 입/출력 포트의 개수를 줄일 수 있다. 이때, 각 레이어부의 PR(30) 및LR(20)들은 X-Y 라우팅 방식으로 데이터를 라우팅할 수 있다.Meanwhile, in FIGS. 3 and 4, in the NoC system according to an embodiment of the present invention, the PR 30 is connected one-to-one with the LRs 20 of the corresponding layer part. However, the PR 30 is based on a horizontal communication method. It is also possible to connect only to the LR 20 of the last stage (ie the last stage before the common bus). As such, by only connecting the LR 20 of the last stage, the number of input / output ports of the PR 30 can be reduced. At this time, the PR 30 and the LR 20 of each layer unit may route data in an X-Y routing manner.

한편, 도 1 내지 도 3에서는 본 발명의 일 실시예에 따른 NoC 시스템에서 하나의 레이어부 당 다수의 LR(20)과 하나의 PR(30)이 구성되는 것을 나타내었다. 그런데, 본 발명의 다른 실시예에 따른 NoC 시스템에서는 레이어부 별로 각 LR(20)이 PR(30)과 하나로 구성되는 것이 가능하다. 즉, 하나의 레이어부 당 각 IP(10)와 연결된 LR(20) 별로 PR(30) 기능을 하는 모듈을 더 포함하는 ‘시스템 라우터’가 다수 개 포함된다. 이때, 상기 시스템 라우터에서 PR(30)의 기능을 하는 모듈의 입출력 포트는 각각 다른 레이어부들과의 공통 버스에 병렬로 연결된다.Meanwhile, FIGS. 1 to 3 show that a plurality of LRs 20 and one PR 30 are configured per layer part in the NoC system according to an embodiment of the present invention. However, in the NoC system according to another embodiment of the present invention, each LR 20 may be configured as one of the PR 30 for each layer unit. That is, a plurality of "system routers" including a module that functions as a PR 30 for each LR 20 connected to each IP 10 per one layer part are included. In this case, the input and output ports of the module functioning as the PR 30 in the system router are connected in parallel to a common bus with other layer units, respectively.

이하, 도 4 내지 도 7을 참조하여 본 발명의 일 실시예에 따른 NoC 시스템 상에서의 병렬 라우팅 장치 및 병렬 라우팅 방법에 대해서 상세히 설명하도록 한다.Hereinafter, a parallel routing apparatus and a parallel routing method on a NoC system according to an embodiment of the present invention will be described in detail with reference to FIGS. 4 to 7.

도 4는 본 발명의 일 실시예에 따른 병렬 라우터의 구조를 나타내는 블록도이다.4 is a block diagram showing the structure of a parallel router according to an embodiment of the present invention.

그리고, 도 5는 본 발명의 일 실시예에 따른 NoC 시스템에서의 데이터 패킷 구조를 나타내는 도면이다.5 is a diagram illustrating a data packet structure in a NoC system according to an embodiment of the present invention.

먼저, 도 4에서 도시한 바와 같이, 본 발명의 일 실시예에 따른 병렬 라우터(30)는 데이터 입력부(301), 입력 데이터 버퍼(302), 경로 제어부(303), 출력 데이터 버퍼(304), 및 데이터 출력부(305)를 포함한다.First, as shown in FIG. 4, the parallel router 30 according to an embodiment of the present invention includes a data input unit 301, an input data buffer 302, a path controller 303, an output data buffer 304, And a data output unit 305.

데이터 입력부(301)는 공통 버스(40)를 통해 다른 레이어부의 IP로부터 발생된 입력 데이터를 순차적으로 수신한다. 그리고, 데이터 입력부(301)는 입력 데이터의 목적지 주소를 확인하여 경로 제어부(303)로 전달한다.The data input unit 301 sequentially receives input data generated from the IP of another layer unit through the common bus 40. The data input unit 301 checks the destination address of the input data and transfers it to the path controller 303.

참고로, 본 발명의 일 실시예에 따른 NoC 시스템(10)에서 각 레이어부 간에 송수신되는 데이터는 패킷 형태로서 다수의 필드를 포함하는 구조이다.For reference, in the NoC system 10 according to an exemplary embodiment of the present invention, data transmitted and received between each layer unit may have a structure including a plurality of fields in a packet form.

예를 들어, 도 5의(a)에서 도시한 바와 같이, 본 발명의 일 실시예에 따른 데이터 패킷은 해당 데이터 패킷이 발생된 IP에 대한 소스 주소(source)정보가 저장되는 ‘소스 주소’ 필드, 목적지 병렬 라우터 및 목적지 로컬 라우터의 주소 정보가 저장되는 ‘목적지 주소’ 필드(P50), 해당 데이터 패킷의 순서를 나타내는 시작 및 종료 정보가 저장되는 ‘타입’ 필드, 및 실제 데이터가 저장되는 ‘패이로드’(payload) 필드 구조를 갖는다. For example, as shown in (a) of FIG. 5, a data packet according to an embodiment of the present invention has a 'source address' field in which source address information of an IP where a corresponding data packet is generated is stored. A 'destination address' field (P50) in which address information of the destination parallel router and destination local router is stored, a 'type' field in which start and end information indicating the order of the corresponding data packet is stored, and a 'payment' in which actual data is stored. It has a payload field structure.

이때, 도 5의 (b)에서 도시한 바와 같이, ‘목적지 주소’ 필드(P50)은 ‘병렬 주소’ 필드(P51) 및 ‘수평 주소’ 필드(P52)를 포함할 수 있다. 이와 같은, ‘병렬 주소’ 필드(P51)에는 병렬로 연결된 다수의 레이어부 중 특정 레이어부를 목적지로 선택하기 위한 병렬 라우터 주소가 저장되고, ‘수평 주소’ 필드(P52)에는 하나의 레이어부 내에 수평으로 연결된 다수의 로컬 라우터 중 특정 로컬 라우터를 목적지로 선택하기 위한 로컬 라우터 주소가 저장된다.In this case, as shown in FIG. 5B, the 'destination address' field P50 may include a 'parallel address' field P51 and a 'horizontal address' field P52. In the parallel address field P51, a parallel router address for selecting a specific layer part as a destination among a plurality of layer parts connected in parallel is stored, and the horizontal address field P52 is horizontal in one layer part. The local router address for selecting a specific local router as a destination among a plurality of local routers connected to the server is stored.

다시 도 5로 돌아와서, 입력 데이터 버퍼(302)는 경로 제어부(303)의 제어에 따라 데이터 입력부(301)를 통해 수신되는 입력 데이터 중 해당 레이어부를 목적지로 하는 입력 데이터를 순차적으로 임시 저장한다.5, the input data buffer 302 sequentially stores the input data destined for the layer unit among the input data received through the data input unit 301 under the control of the path controller 303.

그리고, 입력 데이터 버퍼(302)는 경로 제어부(303)의 제어에 따라 상기 임시 저장된 입력 데이터를 해당 목적지 로컬 라우터 측으로 순차적으로 전송한다. The input data buffer 302 sequentially transmits the temporarily stored input data to the corresponding destination local router under the control of the path controller 303.

경로 제어부(303)는 입력 데이터 패킷의 목적지 주소를 확인하여 목적지 병렬 라우터 주소가 해당 병렬 라우터의 주소와 일치하면 상기 입력 데이터 패킷을 목적지 로컬 라우터로 전송하고, 목적지 주소가 해당 병렬 라우터의 주소와 일치하지 않으면 상기 입력 데이터 패킷을 드롭(drop) 처리한다.The path controller 303 checks the destination address of the input data packet, and if the destination parallel router address matches the address of the parallel router, transmits the input data packet to the destination local router, and the destination address matches the address of the parallel router. Otherwise, the input data packet is dropped.

이때, 경로 제어부(303)는 상기 입력 데이터 패킷 중 목적지 주소가 해당 병렬 라우터인 입력 데이터 패킷을 입력 데이터 버퍼(302)에 저장한 후 순차적으로 해당 목적지 로컬 라우터 측으로 출력되도록 제어한다.In this case, the path controller 303 stores the input data packet whose destination address is the corresponding parallel router among the input data packets in the input data buffer 302 and sequentially outputs the input data packet to the corresponding destination local router side.

출력 데이터 버퍼(304)는 데이터 출력부(305)의 제어에 의해 해당 레이어부에 포함된 IP 중 어느 하나로부터 발생된 출력 데이터를 임시 저장한다. 그리고, 출력 데이터 버퍼(304)는 사전에 더미(dummy) 데이터 패킷이 저장되어 있으며, 더미 데이터 패킷은 공통 버스(40)의 사용 권리의 종료를 알리는 종료 정보를 포함한다. 참고로, 더미 데이터 패킷을 수신한 병렬라우터들은 상기 더미 데이터 패킷을 전송한 병렬 라우터가 공통 버스(40)의 사용 권리를 종료하였다고 판단한다. The output data buffer 304 temporarily stores output data generated from any one of IPs included in the layer unit under the control of the data output unit 305. The output data buffer 304 stores a dummy data packet in advance, and the dummy data packet includes end information indicating the end of the use right of the common bus 40. For reference, the parallel routers receiving the dummy data packet determine that the parallel router transmitting the dummy data packet has terminated the right to use the common bus 40.

데이터 출력부(305)는 해당 병렬 라우터가 구성된 레이어부의 IP로부터 발생된 출력 데이터 패킷을 출력 데이터 버퍼에 임시 저장한다. 그리고, 데이터 출력부(305)는 공통 버스(40)의 사용 권리를 획득하면 상기 임시 저장되어 있던 출력 데이터 패킷을 공통 버스(40)를 통해 출력한다. 즉, 해당 병렬 라우터를 통해 출력되는 출력 데이터 패킷이 다른 레이어부의 병렬 라우터로 브로드캐스트(broad cast) 전송된다.The data output unit 305 temporarily stores the output data packet generated from the IP of the layer unit in which the corresponding parallel router is configured in the output data buffer. When the data output unit 305 acquires the right to use the common bus 40, the data output unit 305 outputs the temporarily stored output data packet through the common bus 40. That is, the output data packet output through the parallel router is broadcasted to the parallel router of another layer part.

이때, 데이터 출력부(305)는 공통 버스의 사용 권리 획득 시, 임시 저장된 출력 데이터 패킷이 존재하지 않는 경우 기설정된 사용 권리 종료 알림용 더미 데이터 패킷을 출력 데이터 버퍼(304)로부터 획득하여 공통 버스(40)로 출력한다. At this time, the data output unit 305 acquires a preset dummy data packet for notification of termination of usage right from the output data buffer 304 when there is no temporarily stored output data packet when the usage right of the common bus is acquired. 40).

한편, 본 발명의 일 실시예에 따른 NoC 시스템에서는 사전에 설정된 공통 버스 사용 권리 획득 순서에 기초하여 다수의 병렬 라우터(30)들이 순차적으로 공통 버스(40)의 사용 권리를 획득하는 토큰 버스(token bus) 방식을 적용한다.Meanwhile, in the NoC system according to an exemplary embodiment of the present invention, a token bus in which a plurality of parallel routers 30 sequentially acquires the right to use the common bus 40 is based on a predetermined common bus use right acquisition order. bus method is applied.

이때, 데이터 출력부(305)는 수신된 입력 데이터 패킷이 기설정된 순서 중 해당 병렬 라우터의 직전 순서의 병렬 라우터로부터 수신된 것이며, 종료 정보를 포함하는지 여부를 판단하여 공통 버스의 사용 권리 획득을 판단한다.In this case, the data output unit 305 is received from the parallel routers in the immediately preceding order of the corresponding parallel routers in the preset order, and determines whether to obtain the right to use the common bus by determining whether the received input data packet includes termination information. do.

참고로, 도 5에서 도시한 바와 같이, 입력 데이터 패킷의 ‘타입’ 필드에는 상기 입력 데이터 패킷이 해당 레이어부의 병렬 라우터로부터 전송되는 패킷 중 마지막 패킷 임을 의미하는 ‘종료 정보’가 저장된다. For reference, as shown in FIG. 5, the 'type' field of the input data packet stores 'end information', which means that the input data packet is the last packet transmitted from the parallel router of the layer unit.

이하, 도 6 및 도 7을 참조하여 본 발명의 일 실시예에 따른 NoC 시스템에서의 병렬 라우팅 방법에 대해서 상세히 설명하도록 한다.Hereinafter, a parallel routing method in a NoC system according to an embodiment of the present invention will be described in detail with reference to FIGS. 6 and 7.

도 6은 본 발명의 일 실시예에 따른 입력 데이터에 대한 병렬 라우팅 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a parallel routing method for input data according to an embodiment of the present invention.

먼저, 공통 버스를 통해 데이터 입력이 발생되면(S610), 입력된 데이터에 포함된 목적지 주소를 확인한다(S620).First, when data input is generated through the common bus (S610), the destination address included in the input data is checked (S620).

이때, 입력된 데이터는 다른 레이어부에 포함된 IP로부터 발생되어 공통 버스를 통해 브로드캐스트된 데이터 패킷이다.In this case, the input data is a data packet generated from an IP included in another layer unit and broadcast through a common bus.

그런 후, 상기 확인된 목적지 주소에 포함된 병렬 주소(즉, 목적지 병렬 라우터 주소)가 해당 레이어부와 매칭되는지 판단한다(S630).Thereafter, it is determined whether the parallel address (that is, the destination parallel router address) included in the checked destination address matches the corresponding layer part (S630).

참고로, 상기 병렬 주소와 해당 병렬 라우터의 주소를 비교하여 상기 매칭을 판단할 수 있다.For reference, the matching may be determined by comparing the parallel address with the address of the parallel router.

상기 단계 (S630)의 판단 결과 상기 병렬 주소가 해당 레이어부와 매칭되는 경우, 상기 목적지 주소에 포함된 수평 주소에 기초하여 상기 입력된 데이터를 목적지 로컬 라우터 측으로 전송한다(S640).When the parallel address matches the layer unit as a result of the determination in step S630, the input data is transmitted to the destination local router side based on the horizontal address included in the destination address (S640).

이때, 입력된 데이터는 해당 레이어부의 병렬 라우터 이전 단의 로컬 라우터를 통해 목적지 로컬 라우터까지 수평 라우팅(예를 들어, X-Y 라우팅)되거나, 병렬 라우터에 일대일로 연결된 목적지 로컬 라우터로 직접 라우팅될 수 있다.In this case, the input data may be horizontally routed (for example, X-Y routing) to a destination local router through a local router before the parallel router of the layer unit, or may be directly routed to a destination local router connected one-to-one to the parallel router.

반면, 상기 (S630)의 판단 결과 상기 병렬 주소가 해당 레이어부와 매칭되지 않는 경우 상기 입력된 데이터를 드롭 처리한다(S650).On the other hand, if the parallel address does not match with the corresponding layer part as a result of the determination in S630, the input data is dropped (S650).

도 7은 본 발명의 일 실시예에 따른 출력 데이터에 대한 병렬 라우팅 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a parallel routing method for output data according to an embodiment of the present invention.

먼저, 해당 레이어부에 대한 공통 버스 사용 권리가 발생되면(S710), 기저장되어 있거나 발생되는 출력 데이터의 유무를 판단한다(S720).First, when a common bus use right for the layer unit is generated (S710), it is determined whether there is pre-stored or generated output data (S720).

이때, 출력 데이터는 해당 레이어부의 IP 중 어느 하나로부터 발생된 데이터이다. 그리고, 기설정된 순서 중 직전 순서의 레이어부로부터 전송 종료 정보를 포함하는 데이터 패킷을 수신한 경우 해당 레이어부에 대한공통 버스의 사용 권리가 발생된 것으로 판단한다.In this case, the output data is data generated from any one of IPs of the corresponding layer unit. If a data packet including transmission termination information is received from a layer unit of a previous sequence among the preset sequences, it is determined that a common bus usage right has been generated for the layer unit.

상기 단계 (S720)의 판단 결과, 출력 데이터가 존재한다고 판단된 경우 해당 출력 데이터를 공통 버스(40)로 출력하여 다른 병렬 라우터로 브로드캐스트한다(S730).If it is determined in step S720 that the output data exists, the corresponding output data is output to the common bus 40 and broadcasted to another parallel router (S730).

이때, 적어도 하나의 출력 데이터가 순차적으로 출력될 수 있으며, 각 출력 데이터에는 목적지 주소 정보 및 타입 정보가 포함되어 있다. In this case, at least one output data may be sequentially output, and each output data includes destination address information and type information.

반면, 상기 단계 (S720)의 판단 결과, 출력 데이터가 존재하지 않는다고 판단된 경우 사전에 설정되어 있던 더미 데이터를 공통 버스로 출력하여 다른 병렬 라우터로 브로드캐스트한다(S740).On the other hand, if it is determined in step S720 that the output data does not exist, the preset dummy data is output to the common bus and broadcasted to another parallel router (S740).

이때, 더미 데이터는 해당 레이어부의 병렬 라우터가 획득한 공통 버스 사용 권리에 대한 종료 정보가 포함되어 있다.In this case, the dummy data includes termination information on the common bus usage right acquired by the parallel router of the layer unit.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

10: IP 20: 로컬 라우터
30: 병렬 라우터 40: 공통 버스
10: IP 20: local router
30: parallel router 40: common bus

Claims (17)

네트워크 온 칩(Network-on-Chip) 시스템에 있어서,
적어도 하나의 IP(Intellecture Property) 모듈,
상기 IP 모듈 별로 연결된 적어도 하나의 로컬 라우터, 및
상기 로컬 라우터와 연결된 병렬 라우터를 각각 포함하는 다수의 레이어(layer)부를 포함하되,
상기 병렬 라우터는,
공통 버스(common bus)에 병렬 연결되며 다른 레이어부의 병렬 라우터와 브로드캐스트(broad cast) 방식으로 데이터 패킷을 송수신하고,
상기 공통 버스를 통해 수신되는 입력 데이터 패킷의 목적지 주소가 상기 병렬 라우터의 주소이면 상기 입력 데이터 패킷을 상기 병렬 라우터에 연결된 목적지 로컬 라우터로 전송하고, 상기 입력 패킷의 목적지 주소가 다른 병렬 라우터의 주소이면 상기 입력 데이터 패킷을 드롭(drop) 처리하는 네트워크 온 칩 시스템.
In a network-on-chip system,
At least one IP (Intellecture Property) module,
At least one local router connected to each of the IP modules, and
Including a plurality of layer (layer) portion each including a parallel router connected to the local router,
The parallel router,
It is connected in parallel to a common bus and sends and receives data packets in parallel with other layer parallel routers.
If the destination address of the input data packet received through the common bus is the address of the parallel router, the input data packet is transmitted to the destination local router connected to the parallel router, and if the destination address of the input packet is the address of another parallel router A network on chip system for drop processing the input data packet.
제 1 항에 있어서,
상기 병렬 라우터는,
상기 공통 버스를 통해 상기 데이터 패킷을 토큰 버스(token bus) 방식으로 송신하되,
상기 토큰 버스 방식은 기설정된 순서의 병렬 라우터가 상기 공통 버스의 사용 권리를 종료한 이후 다음 순서의 병렬 라우터가 상기 공통 버스의 사용 권리를 획득하는 것인 네트워크 온 칩 시스템.
The method of claim 1,
The parallel router,
The data packet is transmitted through a common bus in a token bus manner,
The token bus method is a network on a chip system after the parallel router in a predetermined order to terminate the right to use the common bus, the next parallel router to obtain the right to use the common bus.
제 1 항 또는 제 2 항에 있어서,
상기 데이터 패킷은,
소스 주소 필드, 목적지 주소 필드, 타입 정보 필드, 및 패이로드(payload) 필드 중 적어도 하나의 필드를 포함하되,
상기 목적지 주소 필드는 목적지 병렬 라우터 주소 및 목적지 로컬 라우터 주소가 저장되고,
상기 타입 정보 필드는 상기 데이터 패킷의 시작 및 종료 정보가 저장되는 것인 네트워크 온 칩 시스템.
3. The method according to claim 1 or 2,
The data packet is,
And at least one of a source address field, a destination address field, a type information field, and a payload field,
The destination address field stores a destination parallel router address and a destination local router address;
And the type information field stores start and end information of the data packet.
제 3 항에 있어서,
상기 병렬 라우터는,
기설정된 순서 중 직전 순서의 병렬 라우터로부터 상기 종료 정보를 포함하는 데이터 패킷을 수신하면 상기 공통 버스의 사용 권리를 획득한 것으로 판단하는 네트워크 온 칩 시스템.
The method of claim 3, wherein
The parallel router,
And receiving a data packet including the termination information from a parallel router in a previous order of a preset sequence, and determining that the right to use the common bus has been acquired.
제 1 항에 있어서,
상기 병렬 라우터는,
상기 공통 버스의 사용 권리를 획득한 후 유효 데이터 패킷을 상기 공통 버스로 출력하되,
상기 유효 데이터 패킷이 존재하지 않는 경우 기설정된 사용 권리 종료 알림용 더미 데이터 패킷을 상기 공통 버스로 출력하는 네트워크 온 칩 시스템.
The method of claim 1,
The parallel router,
After acquiring the usage right of the common bus, output a valid data packet to the common bus,
And outputting a preset dummy data packet for end of use right notification to the common bus when the valid data packet does not exist.
삭제delete 제 1 항에 있어서,
상기 IP 모듈 및 로컬 라우터들은 메시(mesh) 토폴로지 구조 또는 스타 토폴로지 구조로 연결되는 것인 네트워크 온 칩 시스템.
The method of claim 1,
The IP module and local routers are connected in a mesh topology structure or a star topology structure.
네트워크 온 칩(Network-on-Chip) 시스템 상의 다수의 레이어(layer)부에 각각 구성되어 공통 버스(common bus)와 병렬로 연결된 병렬 라우팅 장치에 있어서,
다른 레이어부의 IP(Intellecture Property) 모듈로부터 발생된 입력 데이터 패킷을 상기 공통 버스를 통해 수신하고, 상기 입력 데이터 패킷의 목적지 주소를 확인하는 데이터 입력부;
상기 입력 데이터 패킷의 목적지 주소가 상기 병렬 라우팅 장치의 주소와 일치하면 상기 입력 데이터 패킷을 상기 목적지 주소에 따른 목적지 로컬 라우터로 전송하고, 상기 목적지 주소가 상기 병렬 라우팅 장치의 주소와 일치하지 않으면 상기 입력 데이터 패킷을 드롭(drop) 처리하는 경로 제어부; 및
상기 병렬 라우팅 장치가 구성된 레이어부의 IP 모듈로부터 발생된 출력 데이터 패킷을 임시 저장하고, 상기 공통 버스의 사용 권리를 획득하면 상기 출력 데이터 패킷을 상기 공통 버스를 통해 다른 병렬 라우팅 장치로 브로드캐스트(broad cast) 전송하는 데이터 출력부를 포함하되,
상기 레이어부는,
적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함하는 것인 병렬 라우팅 장치.
In a parallel routing device each configured in a plurality of layer units on a network-on-chip system and connected in parallel with a common bus,
A data input unit for receiving an input data packet generated from an IP (Intellecture Property) module of another layer unit through the common bus and confirming a destination address of the input data packet;
If the destination address of the input data packet matches the address of the parallel routing device, send the input data packet to a destination local router according to the destination address; and if the destination address does not match the address of the parallel routing device, the input A path controller for drop processing a data packet; And
Temporarily storing the output data packet generated from the IP module of the layer unit configured to the parallel routing device, if the right of use of the common bus is obtained, broadcast the output data packet to another parallel routing device through the common bus (broad cast) ) Includes a data output unit for transmitting,
The layer unit,
And at least one IP module and at least one local router coupled to the IP module.
제 8 항에 있어서,
상기 데이터 출력부는,
상기 공통 버스의 사용 권리 획득 시, 상기 출력 데이터 패킷이 존재하지 않는 경우 기설정된 사용 권리 종료 알림용 더미 데이터 패킷을 상기 공통 버스로 출력하는 병렬 라우팅 장치.
The method of claim 8,
The data output unit,
And, when the output data packet does not exist, outputting a preset dummy data packet for end of use right notification to the common bus when the use right of the common bus is acquired.
제 8 항에 있어서,
상기 입력 및 출력 데이터 패킷은,
소스 주소 필드, 목적지 주소 필드, 타입 정보 필드, 및 패이로드(payload) 필드 중 적어도 하나의 필드를 포함하되,
상기 목적지 주소 필드는 목적지 병렬 라우팅 장치 주소 및 목적지 로컬 라우터 주소가 저장되고,
상기 타입 정보 필드는 상기 데이터 패킷의 시작 및 종료 정보가 저장되는 것인 병렬 라우팅 장치.
The method of claim 8,
The input and output data packet,
And at least one of a source address field, a destination address field, a type information field, and a payload field,
The destination address field stores a destination parallel routing device address and a destination local router address;
And the type information field stores start and end information of the data packet.
제 10 항에 있어서,
상기 데이터 출력부는,
상기 데이터 입력부를 통해 수신된 입력 데이터 패킷이 기설정된 순서 중 직전 순서의 병렬 라우팅 장치로부터 수신되며 상기 종료 정보를 포함하는지 여부를 판단하여 상기 공통 버스의 사용 권리 획득을 판단하는 병렬 라우팅 장치.
11. The method of claim 10,
The data output unit,
And judging whether an input data packet received through the data input unit is received from a parallel routing device in a previous order of a preset order and including the termination information to determine acquisition of a right to use the common bus.
제 8 항에 있어서,
상기 IP 모듈 및 로컬 라우터들은 메시(mesh) 토폴로지 구조 또는 스타 토폴로지 구조로 연결되는 것인 병렬 라우팅 장치.
The method of claim 8,
Wherein the IP modules and local routers are connected in a mesh or star topology structure.
네트워크 온 칩(Network-on-Chip) 시스템 상의 공통 버스(common bus)에 각각 병렬로 연결된 다수의 레이어(layer)부에 대한 병렬 라우팅 방법에 있어서,
임의의 레이어부가 상기 공통 버스를 통해 다른 레이어부에 포함된 IP(Intellecture Property) 모듈로부터 발생된 입력 데이터 패킷을 수신하는 단계; 및
상기 입력 데이터 패킷의 목적지 주소와 상기 임의의 레이어부의 주소가 매칭되는 경우 상기 입력 데이터 패킷을 상기 임의의 레이어부에 포함된 목적지 로컬 라우터로 전송하고, 상기 입력 데이터 패킷의 목적지 주소와 상기 임의의 레이어부의 주소가 매칭되지 않는 경우 상기 입력 데이터 패킷을 드롭(drop) 처리하는 단계를 포함하되,
상기 레이어부는,
적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함하는 것인 병렬 라우팅 방법.
In the parallel routing method for a plurality of layer units connected in parallel to each common bus on a network-on-chip system,
Receiving, by an arbitrary layer unit, an input data packet generated from an IP (Intellecture Property) module included in another layer unit through the common bus; And
If the destination address of the input data packet matches the address of the arbitrary layer portion, the input data packet is transmitted to the destination local router included in the arbitrary layer portion, and the destination address of the input data packet and the arbitrary layer. If the negative address does not match, dropping the input data packet;
The layer unit,
And at least one IP module and at least one local router coupled to the IP module.
삭제delete 네트워크 온 칩(Network-on-Chip) 시스템 상의 공통 버스(common bus)에 각각 병렬로 연결된 다수의 레이어(layer)부에 대한 병렬 라우팅 방법에 있어서,
임의의 레이어부에 포함된 IP(Intellecture Property) 모듈로부터 발생되는 출력 데이터 패킷을 임시 저장하는 단계;
상기 임의의 레이어부에 대한 상기 공통 버스의 사용 권리 획득을 판단하는 단계; 및
상기 공통 버스의 사용 권리를 획득하면, 상기 출력 데이터 패킷을 순차적으로 상기 공통 버스로 출력하여 다른 레이어부로 브로드캐스트(broad cast) 전송하는 단계를 포함하되,
상기 레이어부는,
적어도 하나의 IP 모듈 및 상기 IP 모듈과 연결된 적어도 하나의 로컬 라우터를 포함하는 것인 병렬 라우팅 방법.
In the parallel routing method for a plurality of layer units connected in parallel to each common bus on a network-on-chip system,
Temporarily storing an output data packet generated from an IP (Intellecture Property) module included in an arbitrary layer unit;
Determining acquisition of a usage right of the common bus for the arbitrary layer unit; And
When acquiring the right to use the common bus, and outputting the output data packet to the common bus in sequence to send a broadcast (broad cast) to another layer unit,
The layer unit,
And at least one IP module and at least one local router coupled to the IP module.
제 15 항에 있어서,
상기 공통 버스의 사용 권리 획득을 판단하는 단계에서,
기설정된 순서 중 상기 임의의 레이어부의 직전 순서의 레이어부로부터 종료 정보를 포함하는 데이터 패킷을 수신한 경우 상기 공통 버스의 사용 권리를 획득한 것이라고 판단하는 것인 병렬 라우팅 방법.
The method of claim 15,
In determining the acquisition of the use rights of the common bus,
And determining that the right to use the common bus has been acquired when a data packet including termination information is received from the layer unit in the immediately preceding order of the predetermined layer unit in a predetermined order.
제 15 항에 있어서,
상기 출력 데이터 패킷을 임시 저장하는 단계 이전에,
상기 임의의 레이어부에 대한 상기 공통 버스의 사용 권리 획득을 판단하는 단계; 및
상기 공통 버스의 사용 권리를 획득하면, 기설정된 사용 권리 종료 알림용 더미 데이터 패킷을 상기 공통 버스를 통해 다른 레이어부로 브로드캐스트(broad cast) 전송하는 단계를 더 포함하는 병렬 라우팅 방법.
The method of claim 15,
Prior to the step of temporarily storing the output data packet,
Determining acquisition of a usage right of the common bus for the arbitrary layer unit; And
And if the right to use the common bus is acquired, broadcasting a preset dummy data packet for end of use right notification to another layer unit through the common bus.
KR1020110060324A 2011-06-21 2011-06-21 Networks on chip system and method of routing thereof KR101220481B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110060324A KR101220481B1 (en) 2011-06-21 2011-06-21 Networks on chip system and method of routing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110060324A KR101220481B1 (en) 2011-06-21 2011-06-21 Networks on chip system and method of routing thereof

Publications (2)

Publication Number Publication Date
KR20120140529A KR20120140529A (en) 2012-12-31
KR101220481B1 true KR101220481B1 (en) 2013-01-21

Family

ID=47906560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110060324A KR101220481B1 (en) 2011-06-21 2011-06-21 Networks on chip system and method of routing thereof

Country Status (1)

Country Link
KR (1) KR101220481B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2586029B (en) * 2019-07-29 2022-07-27 Siemens Ind Software Inc Emulating broadcast in a network on chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100662471B1 (en) * 2005-10-11 2007-01-02 엘지전자 주식회사 System-on-chip structure and method for transferring data
KR100901691B1 (en) 2007-12-04 2009-06-08 한국전자통신연구원 Network communication system of mesh-star mixing on-chip and communication method thereof
KR20110018558A (en) * 2009-08-18 2011-02-24 한국과학기술원 Network on chip and network on chip systems
US20110103799A1 (en) 2006-12-22 2011-05-05 Assaf Shacham Systems And Methods For On-Chip Data Communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100662471B1 (en) * 2005-10-11 2007-01-02 엘지전자 주식회사 System-on-chip structure and method for transferring data
US20110103799A1 (en) 2006-12-22 2011-05-05 Assaf Shacham Systems And Methods For On-Chip Data Communication
KR100901691B1 (en) 2007-12-04 2009-06-08 한국전자통신연구원 Network communication system of mesh-star mixing on-chip and communication method thereof
KR20110018558A (en) * 2009-08-18 2011-02-24 한국과학기술원 Network on chip and network on chip systems

Also Published As

Publication number Publication date
KR20120140529A (en) 2012-12-31

Similar Documents

Publication Publication Date Title
US8819611B2 (en) Asymmetric mesh NoC topologies
WO2016045411A1 (en) Network on chip system, and method for establishing network on chip communication link
US20120195321A1 (en) Method and Apparatus for Low-Latency Interconnection Networks Using Hierarchical Rings
US8621131B2 (en) Uniform multi-chip identification and routing system
US9148298B2 (en) Asymmetric ring topology for reduced latency in on-chip ring networks
US20180159702A1 (en) Packet forwarding
US10218581B2 (en) Generation of network-on-chip layout based on user specified topological constraints
KR101609288B1 (en) Data processing method of noc without buffer and noc electronic element
CN108512755B (en) Method and device for learning routing information
RU2015141014A (en) ARCHITECTURE OF CRYSTAL INTERCONNECTIONS
Lusala et al. Combining sdm-based circuit switching with packet switching in a NoC for real-time applications
CN105095148B (en) A kind of mixed type network on three-dimensional chip
KR101220481B1 (en) Networks on chip system and method of routing thereof
US9864728B2 (en) Automatic generation of physically aware aggregation/distribution networks
US9007910B2 (en) Load balancing across a link aggregation group
JP5943109B1 (en) Semiconductor chip, integrated circuit, and data transfer method
Phing et al. Towards high performance network-on-chip: A survey on enabling technologies, open issues and challenges
Li et al. A nesting ring optical network on chip (onoc) architecture for multi-chip systems
US20230066045A1 (en) Diagonal torus network
Ebrahimi et al. A Fault Resilient Routing Algorithm for Sparsely Connected 3D NoCs
Kavyashree et al. Architectural based congestion management for Network on Chip implemented on FPGA
Singh Performance evaluation of different routing algorithms in network on chip
US9928204B2 (en) Transaction expansion for NoC simulation and NoC design
CN117478580A (en) Method for sending load information, method and device for sending message
Aslam et al. High Performance and Connection-retaining Fault-Tolerant Routing Algorithm for NoCbased many core Systems

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

FPAY Annual fee payment

Payment date: 20181004

Year of fee payment: 6

R401 Registration of restoration
LAPS Lapse due to unpaid annual fee