[go: up one dir, main page]

KR101800320B1 - Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded - Google Patents

Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded Download PDF

Info

Publication number
KR101800320B1
KR101800320B1 KR1020160072372A KR20160072372A KR101800320B1 KR 101800320 B1 KR101800320 B1 KR 101800320B1 KR 1020160072372 A KR1020160072372 A KR 1020160072372A KR 20160072372 A KR20160072372 A KR 20160072372A KR 101800320 B1 KR101800320 B1 KR 101800320B1
Authority
KR
South Korea
Prior art keywords
router
nodes
network
topology
chip system
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020160072372A
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 KR1020160072372A priority Critical patent/KR101800320B1/en
Application granted granted Critical
Publication of KR101800320B1 publication Critical patent/KR101800320B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06F17/509
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F17/5077

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따르는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법은 (a) 복수의 노드와 라우터를 포함하는 네트워크 온 칩 시스템에 대하여, 버스 프로토콜 주소에 기반한 주소 네트워크 토폴로지를 설계하는 단계; 및 (b) 상기 주소 네트워크 토폴로지에 기반하여, 상기 주소 네트워크 토폴로지의 라우터에 종속된 데이터 네트워크 토폴로지를 설계하는 단계;를 포함한다.According to an embodiment of the present invention, a bus protocol based network on chip system design method comprises the steps of: (a) designing an address network topology based on a bus protocol address for a network on chip system comprising a plurality of nodes and a router ; And (b) designing a data network topology dependent on a router of the address network topology, based on the address network topology.

Description

버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체{NETWORK ON CHIP SYSTEM BASED ON BUS PROTOCOL, DESIGN METHOD FOR THE SAME AND COMPUTER READABLE RECORDING MEDIUM IN WHICH PROGRAM OF THE DESIGN METHOD IS RECORDED}TECHNICAL FIELD [0001] The present invention relates to a network-on-chip system based on a bus protocol, a method for designing the same, and a computer readable recording medium on which a program for designing the same is recorded. OF THE DESIGN METHOD IS RECORDED}

본 발명은 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 관한 것으로서, 보다 상세하게는, 버스 프로토콜 기반 IP를 재사용할 수 있는 네트워크 온 칩 설계에 있어, 성능 개선과 설계시간 단축을 달성하기 위한 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bus-protocol-based network-on-chip system, a design method thereof, and a computer- The present invention relates to a bus-protocol-based network-on-chip system, a method of designing the same, and a computer-readable recording medium on which a program for designing the method is recorded.

다중 프로세서-온-칩(Multi-Processor SoC, MPSoC)에서의 코어 및 IP 개수 증가 추세에 따라, 온-칩 인터 커넥트 구조 설계가 중요해지고 있다. 전통적인 버스 구조의 경우, 연결되는 컴포넌트 수가 증가함에 따른 병목현상으로 인해 확장성에 한계가 있다. 이러한 문제를 해결하기 위해서 병렬처리와 확장성에 유리한 네트워크-온-칩 (Network-on-Chip, NoC)이 유망한 인터커넥션 아키텍처 기술로 주목 받고 있다. With the increasing number of cores and IPs in the Multi-Processor SoC (MPSoC), on-chip interconnect structure design is becoming important. In the case of the conventional bus structure, scalability is limited due to the bottleneck as the number of connected components increases. In order to solve this problem, Network-on-Chip (NoC), which is advantageous for parallel processing and scalability, is attracting attention as a promising interconnection architecture technology.

하지만 현재 표준화된 NoC 프로토콜의 부재 및 기존 버스 프로토콜로 설계된 legacy IP의 호환성 문제 등으로 인해 NoC의 성능을 제대로 활용하지 못하고 있다. 특히 확장성에 초점을 맞춘 NoC 설계는 지연시간에 매우 민감한 디스플레이 IP 및 실시간 처리가 필요한 어플리케이션에 대하여 설계의 검증 및 데드라인 충족하기 위한 최적화 과정을 반드시 필요로 한다.However, due to the absence of the standardized NoC protocol and compatibility of legacy IP designed with existing bus protocol, the performance of NoC is not utilized properly. Especially, the NoC design focused on scalability requires optimization process to verify design and meet deadline for display IP which is very sensitive to delay time and application requiring real time processing.

NoC에서의 지연시간은 데이터가 경과하는 홉(즉, 노드) 수와 직접적인 연관이 있다. 그에 따라, 지연시간을 최소화하기 위해 이분 그래프 (Bipartite graph)를 이용한 라우터 할당 기법, MCF (Multicommodity Flow) 기반의 경로 계산을 적용한 토폴로지 합성 방법, 링크 추가를 통한 대체 경로 생성 방법 및 메시지 스케줄링을 적용하여 지연시간을 개선하는 방법 등이 제시되고 있다. 그러나, 이러한 종래의 기법들은 경로 및 링크의 특성을 반영한 설계법을 제안하고 있기는 하나, 버스 프로토콜 호환 가능한 NoC에서 버스 프로토콜의 트랜잭션 지연시간 최적화를 위한 방법에 대해서는 제안하고 있지 않다. The delay time at NoC is directly related to the number of hops (i.e., nodes) over which the data passes. Therefore, to minimize the delay time, a router allocation technique using a bipartite graph, a topology synthesis method using a path calculation based on a MCF (Multicastity Flow), an alternative path generation method using a link addition method, and a message scheduling And a method for improving the delay time. However, although these conventional techniques suggest a design method reflecting the characteristics of the path and the link, there is no proposal for a method for optimizing the transaction delay time of the bus protocol in the bus protocol compatible NoC.

한국 등록특허 제10-1077539호 (등록일 : 2011.10.21)Korean Patent No. 10-1077539 (Registered on October 21, 2011)

본 발명은 버스 프로토콜 호환 가능한 네트워크 온 칩 시스템 설계 시, 데이터 네트워크 토폴로지와 주소 네트워크 토폴로지를 구분하여 설계함으로써, 지연시간 증가 문제를 최소화하는 것을 목적으로 한다. The present invention aims at minimizing the delay time increase problem by designing the data network topology and the address network topology separately in designing a bus-protocol compatible network-on-chip system.

본 발명의 일 실시예에 따르는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법은 (a) 복수의 노드와 라우터를 포함하는 네트워크 온 칩 시스템에 대하여, 버스 프로토콜 주소에 기반한 주소 네트워크 토폴로지를 설계하는 단계; 및 (b) 상기 주소 네트워크 토폴로지에 기반하여, 상기 주소 네트워크 토폴로지의 라우터에 종속된 데이터 네트워크 토폴로지를 설계하는 단계;를 포함한다. According to an embodiment of the present invention, a bus protocol based network on chip system design method comprises the steps of: (a) designing an address network topology based on a bus protocol address for a network on chip system comprising a plurality of nodes and a router ; And (b) designing a data network topology dependent on a router of the address network topology, based on the address network topology.

본 발명의 다른 실시예에 따르는, 버스 프로토콜 기반의 네트워크 온 칩 시스템은, 복수의 노드와 복수의 라우터를 포함하되, 상기 복수의 노드와 복수의 라우터는 별도로 설계된 주소 네트워크 토폴로지와 데이터 네트워크 토폴로지에 연결되되, 상기 데이터 네트워크 토폴로지는, 버스 프로토콜 주소에 기반한 상기 주소 네트워크 토폴로지의 라우터에 종속되도록 설계된다.A bus protocol based network-on-chip system according to another embodiment of the present invention includes a plurality of nodes and a plurality of routers, wherein the plurality of nodes and the plurality of routers are connected to an address network topology and a data network topology separately designed Wherein the data network topology is designed to be subordinate to a router of the address network topology based on a bus protocol address.

본 발명은 버스 프로토콜 기반 IP에 대한 주소 네트워크 토폴로지와 데이터 네트워크 토폴로지를 구분하여 설계함으로써, 주소 네트워크 토폴로지에서는 노드 수의 최소화를 달성하고, 데이터 전송량이 상대적으로 훨씬 많은 데이터 네트워크 토폴로지에서는 경로 충돌 문제를 해결함으로써 경로 다양성을 보장할 수 있다. The present invention achieves minimization of the number of nodes in the address network topology by designing the address network topology and the data network topology for IP based on the bus protocol, and solves the path conflict problem in the data network topology where the data transmission amount is relatively large Thereby ensuring path diversity.

이에 따라, 버스 프로토콜 기반으로 구성된 IP를 이용한 네트워크 온 칩 시스템의 성능 개선(즉, 지연시간 단축)을 달성할 수 있으며, 설계시간 단축을 가져올 수 있다. Accordingly, performance improvement (i.e., delay time reduction) of a network-on-chip system using an IP configured based on a bus protocol can be achieved, and design time can be shortened.

도 1은 본 발명의 일 실시예에 따르는 네트워크 온 칩 시스템의 구조도이다.
도 2 내지 도 4는 본 발명의 일 실시예의 네트워크 온 칩 시스템 설계 중 주소 네트워크 토폴로지 설계 단계를 도식화한 개념도이다.
도 5는 본 발명의 일 실시예에 따르는 네트워크 온 칩 시스템 설계 방법에 대한 순서도이다.
도 6은 본 발명의 일 실시예에 따르는 주소 네트워크 토폴로지 설계 단계를 구체화한 순서도이다.
도 7은 본 발명의 일 실시예에 따르는 데이터 네트워크 토폴로지 설계 단계를 구체화한 순서도이다.
1 is a structural diagram of a network-on-chip system according to an embodiment of the present invention.
FIGS. 2 to 4 are schematic diagrams illustrating an address network topology designing step in a network-on-chip system design according to an exemplary embodiment of the present invention.
5 is a flowchart of a method of designing a network-on-chip system according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating an address network topology design step according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a data network topology design step 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 order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters 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.

본 발명의 일 실시예에 따르는 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법은 컴퓨터 장치에 의해 수행될 수 있는 것으로서, 메모리에 저장된 네트워크 온 칩 시스템 설계를 위한 컴퓨터 프로그램을 프로세서가 수행함으로써 실행될 수 있다. 이때, 컴퓨터 장치는 다양한 장치나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터 장치는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), LTE(Long Term Evolution) 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. A method for designing a network-on-chip system based on a bus protocol according to an embodiment of the present invention can be performed by a computer device, and can be executed by a processor executing a computer program for designing a network on-chip system stored in a memory. At this time, the computer device may be implemented by various devices or portable terminals. Here, the computer device includes, for example, a notebook computer, a desktop computer, a laptop computer, and the like, each of which is equipped with a web browser (WEB Browser) (International Mobile Telecommunication) -2000, Code Division Multiple Access (CDMA) -2000, W-CDMA (W-CDMA), Wireless Broadband Internet (Wibro), LTE (Long Term Evolution) A smart phone, a tablet PC, and the like.

이하, 도면을 통하여 본 발명의 일 실시예에 대하여 구체적으로 설명하도록 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

도 1을 참조하면, 본 발명의 일 실시예는 복수의 노드(100)(즉, 코어)와 라우터(200)를 포함하여 구성되되, 주소 네트워크 토폴로지와 데이터 네트워크 토폴로지가 구분되어 설계될 수 있다. 이때, 주소 네트워크 토폴로지란 버스 프로토콜 기반의 IP 주소 정보와 제어정보를 전송하는 네트워크 토폴로지이며, 데이터 네트워크 토폴로지란 주소 주소 및 제어정보가 아닌 다른 실질적인 데이터들을 전송하는 네트워크 토폴로지를 의미한다.Referring to FIG. 1, an embodiment of the present invention includes a plurality of nodes 100 (that is, a core) and a router 200, and the address network topology and the data network topology may be separately designed. In this case, the address network topology is a network topology for transmitting IP address information and control information based on a bus protocol, and a data network topology is a network topology for transmitting substantial data other than address addresses and control information.

이때, 각 노드(100)들은 버스 프로토콜 기반의 고유 IP 주소(IP1 ~ IP8)를 가지며, 주소 네트워크 토폴로지 내에서 라우터(200)를 통하여 계층적인 구조로 조직화된다. 또한, 데이터 네트워크의 입력포트(300) 및 출력포트(400)와의 연결을 통해 데이터 네트워크 통신을 수행한다. 각 노드(100)들은 네트워크 인터페이스(NI : Network Interface)를 통해 주소 및 데이터 네트워크 토폴로지와 호환될 수 있다. At this time, each of the nodes 100 has unique IP addresses (IP1 to IP8) based on a bus protocol and is organized in a hierarchical structure through the router 200 in the address network topology. In addition, data network communication is performed through connection with the input port 300 and the output port 400 of the data network. Each node 100 may be compatible with an address and data network topology via a network interface (NI).

이와 같이 본 발명의 일 실시예는 주소 네트워크와 데이터 네트워크를 서로 구분하여 이종 토폴로지로 설계함으로써, 시스템 연산의 지연시간을 최소화하고 설계시간 단축을 제공할 수 있다. As described above, according to the embodiment of the present invention, the address network and the data network are separated from each other and designed in a heterogeneous topology, thereby minimizing the delay time of the system operation and shortening the design time.

이러한 효과를 제공하기 위한 이종 토폴로지 설계문제는 아래 수학식의 TG() 함수를 찾는 문제로 귀결된다. The heterogeneous topology design problem to provide this effect results in the problem of finding the TG () function of the following equation.

Figure 112016055873425-pat00001
Figure 112016055873425-pat00001

여기서, G(V,E)는 노드(100) 간의 통신을 나타내는 커뮤니케이션 추적 그래프(Communication Trace Graph) 값으로서, V는 노드(100)를, e는 노드(100)가 데이터를 전송하는 통신을 의미한다. 그리고, AT(U,R,F)는 주소 네트워크 토폴로지 그래프 값을 의미하며, U는 노드(100) 및 IP를 나타내고, R은 해당 토폴로지에 존재하는 각각의 라우터(200)를 나타내며, F는 노드(100)와 라우터(200) 사이의 연결 또는 라우터(200) 간의 연결을 나타낸다. 또한, DT(U,C,F)는 데이터 네트워크 토폴로지 그래프 값을 의미하며, U는 노드(100) 및 IP를 나타내고, C는 해당 토폴로지 내의 크로스바(cross-bar)를 의미하며, F는 코어와 크로스바 간의 연결 또는 크로스바 간의 연결을 나타낸다. Here, G (V, E) is a communication trace graph value indicating communication between the nodes 100, V denotes a node 100, and e denotes a communication in which the node 100 transmits data do. U denotes a node 100 and an IP, R denotes a router 200 in the topology, F denotes a node 200 in the topology, AT denotes an address network topology graph, A connection between the router 100 and the router 200 or a connection between the router 200 and the router 200. [ DT denotes a data network topology graph value, U denotes a node 100 and IP, C denotes a cross-bar in the corresponding topology, F denotes a core, It represents the connection between crossbars or the connection between crossbars.

이때, TG() 함수는 다음과 같은 세가지 조건을 만족해야 한다. At this time, the TG () function must satisfy the following three conditions.

첫 번째 조건으로서, TG() 함수는 주소 네트워크에서의 지연시간은 주로 연산시 거쳐가야만 하는 노드(100)의 개수의 영향을 받으므로 총 노드(100) 개수를 최소화시키도록 구성되어야 한다. 총 노드(100) 개수에 대한 수학식은 아래와 같다. As a first condition, the TG () function should be configured to minimize the total number of nodes 100 since the delay time in the address network is mainly influenced by the number of nodes 100 that must go through operation. The equation for the total number of nodes 100 is as follows.

Figure 112016055873425-pat00002
Figure 112016055873425-pat00002

여기서, BW(ei , j)는 i노드(100)가 j 노드(100)로 보내는 통신의 대역폭을 의미하며, CV(ei, j)는 한 번의 통신시 전송할 수 있는 최대 데이터량을 의미하고, hops(ei, j)는 i 노드(100)에서 j 노드(100)까지 통신시 거쳐가는 노드(100)의 개수를 의미한다.Here, BW (e i , j ) denotes a bandwidth of communication transmitted from the i-node 100 to the j-th node 100, and CV (e i, j ) denotes a maximum data amount that can be transmitted in one communication And hops (e i, j ) denotes the number of nodes 100 going through the communication from the i-th node 100 to the j-th node 100.

두 번째 조건으로서, TG() 함수는 데이터 네트워크에서 경로 충돌을 최소화하기 위해 각 링크에 중복되는 통신의 수를 최소화시킬 수 있는 방향으로 데이터 네트워크 토폴로지를 설계해야 한다. As a second condition, the TG () function should design the data network topology in such a way as to minimize the number of overlapped communications on each link to minimize path conflicts in the data network.

세 번째 조건으로서, 주소 정보를 주소 네트워크가 갖고 있기 때문에, 데이터 네트워크의 경로 설정을 주소 네트워크에서 제어해야만 한다. 이러한 경우, 주소 네트워크에서의 라우터(200)들이 데이터 네트워크를 분산 제어할 수 있어야 한다. As a third condition, since the address network has address information, the routing of the data network must be controlled in the address network. In this case, the routers 200 in the address network must be able to distribute and control the data network.

본 발명의 일 실시예에 따르는 네트워크 온 칩 시스템은 상술한 세 가지의 조건을 만족시키기 위한 TG() 함수를 기반으로 설계된다. The network-on-chip system according to an embodiment of the present invention is designed based on the TG () function to satisfy the three conditions described above.

이하, 상술한 세 가지 조건을 만족시키기 위한 버스 프로토콜 기반의 네트워크 온칩 시스템 설계 방법에 대하여 도 2 내지 도 7을 참조하여 구체적으로 설명하도록 한다. Hereinafter, a method of designing a network-on-chip system based on a bus protocol for satisfying the above three conditions will be described in detail with reference to FIG. 2 to FIG.

먼저, 도 5를 참조하면, 본 발명의 일 실시예에 따르는 네트워크 온 칩 시스템 설계 방법은 두 가지 단계로 구성된다. First, referring to FIG. 5, a method of designing a network-on-chip system according to an embodiment of the present invention includes two steps.

즉, 버스 프로토콜 주소에 기반한 주소 네트워크 토폴로지를 설계하는 단계(S100) 후, 주소 네트워크 토폴로지에 기반하여 데이터 네트워크 토폴로지를 설계하는 단계(S200)로 진행된다. That is, after designing the address network topology based on the bus protocol address (S100), the process proceeds to step S200 of designing the data network topology based on the address network topology.

먼저, 주소 네트워크 토폴로지를 설계하는 방법에 대하여 도 2 내지 4 및 도 6을 참조하여 설명하도록 한다. First, a method of designing an address network topology will be described with reference to FIGS. 2 to 4 and FIG.

주소 네트워크 토폴로지 설계 단계는 네트워크 온 칩 시스템 내의 복수의 노드(100)들 간의 전체 통신량이 최소화되도록 (예를 들어, 기 설정된 값보다 적도록) 각 라우터(200)마다 노드(100)를 할당하도록 수행된다. The address network topology design step is performed to allocate a node 100 for each router 200 so that the total traffic between the plurality of nodes 100 in the network-on-chip system is minimized (e.g., less than a predetermined value) do.

이때, 트리 구조 기반의 토폴로지 기법을 통해 라우터(200)에 대한 노드(100) 할당이 수행될 수 있다. 트리 토폴로지는 노드(100) 수를 최적화함과 동시에 확장 가능한 솔루션을 제공할 수 있는 정형적인 토폴로지이다. 트리 토폴로지는 계층적으로 구성되는데, 노드(100)에서 상위 라우터(200)로, 상위 라우터(200)에서 최상위 라우터(200)로 한 레벨씩 통신이 지나갈 때마다 홉(hop) 수가 증가되기 때문에, 상위 레벨을 지나가는 통신을 줄이는 것이 전체 홉 수 감소에 매우 효과적인 설계법이 된다. 트리 토폴로지의 홉 수는 다음과 같은 수학식으로 도출될 수 있다.At this time, the allocation of the node 100 to the router 200 can be performed through the topology technique based on the tree structure. The tree topology is a typical topology that can provide a scalable solution while optimizing the number of nodes 100. The tree topology is hierarchically structured. Since the number of hops increases every time communication is passed from the node 100 to the upper router 200 and from the upper router 200 to the uppermost router 200 one level at a time, Reducing the communication through the upper level is a very effective design method for reducing the total number of hops. The number of hops of the tree topology can be derived by the following equation.

Figure 112016055873425-pat00003
Figure 112016055873425-pat00003

여기서 LHei , j는 ei , j가 경과하는 상위 라우터(200)의 레벨, LLei , j는 하위 라우터(200)의 레벨을 나타낸다. The LHe i, j is e i, the level of the upper router 200, which has passed j, LLe i, j represents the level of the sub-router 200.

먼저, 전체 통신량이 최소화되도록 복수의 노드(100)를 그룹핑한다(S110). 이때, 각 노드(100)들 간의 통신 루트 또는 통신량에 관한 정보를 나타내는 커뮤니케이션 추적 그래프(Communication Trace Graph, CTG)값을 기초로 노드(100)들을 그룹핑할 수 있다. 특히, CTG를 다수의 그래프로 분할 하여 트리 토폴로지로 매핑하였을 때 서로 다른 서브 그래프로 분할되는 통신은 상위 라우터(200)를 지나가게 되므로 홉 수가 증가하게 될 수 있다. 이에 따라, 통신량 최소화를 위하여 균등 그래프 분할 (Balanced graph partitioning) 기반의 알고리즘을 통하여 노드(100)들을 그룹핑할 수 있다. First, a plurality of nodes 100 are grouped so that the total communication amount is minimized (S110). At this time, the nodes 100 may be grouped based on a Communication Trace Graph (CTG) value indicating information about a communication route or a communication amount between the nodes 100. In particular, when the CTG is divided into a plurality of graphs and mapped to a tree topology, the communication divided into different subgraphs passes through the upper router 200, and thus the number of hops may increase. Accordingly, the nodes 100 can be grouped through an algorithm based on a balanced graph partitioning in order to minimize traffic.

구체적으로, 먼저, 도 2와 같은 형태의 복수의 노드(100) 구조를 가정한다. 이때, 화살표는 노드(100) 간 통신을 의미하는 것으로서, 예를 들어, 노드(100) 1은 노드(100) 6으로 데이터를 전송하는 것을 의미한다. 이어서, 도 3과 같이 그룹핑을 수행한다. 이때, 각 그룹 간에는 각 노드(100)들 간에 설정된 통신 루트에 기인하여 그룹 간을 연결하도록 발생되는 통신 루트(즉, 외부 엣지)가 발생된다. 예를 들어, 노드(100) 1, 2, 6이 포함된 그룹은 노드(100) 9, 10, 11이 포함된 그룹에 대하여 3개의 외부 엣지가 발생된다. 이때, 이러한 외부 엣지가 최소화되도록, 즉, 임의로 그룹핑된 경우의 외부 엣지보다 적은 외부 엣지를 갖도록 그룹핑을 수행한다. 도 3의 경우, 노드(100) 6이 타 노드(100)에 대해 가능 많은 통신루트를 갖기 때문에, 노드(100) 6을 중심으로 그룹핑이 수행될 수 있다. 또한, 그룹핑은 가장 많은 통신량을 보유하고 있는 노드(100)(즉, 통신 루트의 개수가 미리 설정된 개수 이상인 노드(100))가 포함된 그룹은 타 그룹보다 적은 개수의 노드(100)를 포함하도록 그룹핑될 수도 있다. 예를 들어, 통신량이 매우 많은 노드(100)가 속한 그룹의 노드(100) 개수는 1-2개이되, 다른 그룹의 노드(100) 개수는 3개 이상이 될 수도 있다. Specifically, first, a plurality of node 100 structures of the type shown in FIG. 2 are assumed. In this case, the arrow indicates communication between nodes 100, for example, node 100 1 means transmitting data to node 100 (6). Then, grouping is performed as shown in FIG. At this time, a communication route (i.e., an external edge) generated to connect the groups due to the communication routes established between the respective nodes 100 is generated between the groups. For example, a group including nodes 100, 1, 2, and 6 has three outer edges for a group including nodes 100, 9, 10, At this time, the grouping is performed so that the outer edges are minimized, that is, the outer edges are smaller than the outer edges when randomly grouped. In the case of FIG. 3, grouping may be performed centering on node 100 6, since node 100 6 has as many communication routes as possible to other node 100. In addition, the grouping is performed so that the group including the node 100 having the largest amount of communication (i.e., the node 100 having the number of communication routes equal to or greater than the predetermined number) includes the smaller number of nodes 100 May be grouped. For example, the number of nodes 100 in a group to which a node 100 having a very large amount of traffic belongs may be one to two, and the number of nodes 100 in another group may be three or more.

이어서, 각 그룹에 대하여 각 라우터(200)를 할당하고, 하위 라우터(200)에 대해서는 상위 라우터(200)를 할당한다(S120).Subsequently, each router 200 is assigned to each group, and the upper router 200 is assigned to the lower router 200 (S120).

이때, 노드(100)들 간의 전체 통신량을 최소화하는 트리 토폴로지 생성을 위해, 우선적으로 전체 노드(100) 개수(n)와 라우터(200)의 포트 수(p)에 따라 수학식 2를 최소화하는 그래프 분할을 통해 라우터(200)를 할당할 수 있다. In order to generate the tree topology that minimizes the total communication amount between the nodes 100, a graph that minimizes the expression (2) according to the number (n) of all the nodes 100 and the number (p) The router 200 can be allocated through division.

즉, 최상위 라우터(200)는 그보다 높은 상위 라우터(200)로의 링크가 없으므로, 최상위 라우터(200)에 연결 가능한 하위 라우터(200)는 (p, 1+p/n) - 그래프 분할을 통하여 생성할 수 있다. 반면 하위 라우터(200)에 대한 최하위 라우터(200)는 (p-1, 1+(p-1)/n)-그래프 분할을 통하여 생성할 수 있다. 이때, 하나의 최하위 라우터(200)에 배치되는 최대 노드(100)의 수는 아래 수학식 4와 같다.That is, since the uppermost router 200 does not have a link to the upper router 200 higher than the upper router 200, the lower router 200 connectable to the uppermost router 200 generates (p, 1 + p / n) . On the other hand, the lowest router 200 for the lower router 200 can be generated by (p-1, 1 + (p-1) / n) - graph partitioning. At this time, the number of maximum nodes 100 arranged in one lowest router 200 is expressed by Equation (4) below.

Figure 112016055873425-pat00004
Figure 112016055873425-pat00004

그래프 분할을 각 하위 라우터(200)에 포함되는 노드(100)의 개수가 p-1이하가 될 때까지 수행하며, 결국 리프 라우터(200)에는 p-1이하의 노드(100)가 연결된 트리 구조 기반 정형 토폴로지가 구성될 수 있다. 그에 따라, 도 4와 같은 노드(100), 하위 라우터(200a), 상위 라우터(200b) 구조가 구성될 수 있다. The graph partitioning is performed until the number of nodes 100 included in each lower router 200 becomes equal to or smaller than p-1. As a result, a tree structure in which nodes 100 of p-1 or less are connected to the leaf router 200 Based orthopedic topology can be constructed. Accordingly, the node 100, the lower router 200a, and the upper router 200b shown in FIG. 4 can be configured.

이어서, 트리구조 토폴로지의 최적화를 수행한다(S130). 구체적으로, 노드(100)가 연결되지 않은 라우터(200)는 제거한다. 또는, 통합이 가능한 리프 라우터(200)들은 하나의 리프 라우터(200)로 통합한다. 예를 들어, 라우터(200)의 개수가 노드(100)의 개수와 같거나 큰 라우터(200)와 노드(100) 조합들을 서로 통합하여 하나의 라우터(200) 및 노드(100) 조합으로 생성한다. Then, optimization of the tree structure topology is performed (S130). Specifically, the router 200 to which the node 100 is not connected removes it. Alternatively, the integrable leaf routers 200 are integrated into one leaf router 200. For example, the combination of the router 200 and the node 100 having the number of the routers 200 equal to or greater than the number of the nodes 100 is integrated into one router 200 and a combination of the nodes 100 .

이상, 상술한 방식을 통하여 버스 프로토콜 기반의 주소 네트워크 토폴로지 설계를 완료한다. Thus, the address network topology design based on the bus protocol is completed through the above-described method.

이어서, 도 7을 참조하여, 데이터 네트워크 토폴로지 설계 방법에 대하여 구체적으로 설명하도록 한다. Next, a data network topology design method will be described in detail with reference to FIG.

데이터 네트워크 토폴로지는 어느 한 라우터(200)부터 마지막 라우터(200)까지 각 라우터(200)마다 순차적으로 수행되어 설계된다. 이때, 각 라우터(200)마다 베니스 토폴로지를 기반으로 한 네트워크 토폴로지가 설계된다. 데이터 네트워크는 경로 충돌을 최소화시키기 위해 경로의 다양성을 보장하여야 하는데, 이를 위해서는 분산 제어가 가능한 데이터 네트워크 설계가 필요하다. 그러므로, 베니스(Benes) 토폴리지 기반의 데이터 네트워크 설계가 수반되어야 한다. The data network topology is designed to be sequentially performed for each router 200 from one router 200 to the last router 200. At this time, a network topology based on the Venice topology is designed for each router 200. Data networks must ensure diversity of paths in order to minimize path conflicts. For this purpose, a data network design capable of distributed control is required. Therefore, a Benes topology based data network design should be accompanied.

먼저, 어느 한 라우터(200)에 대하여 베니스 토폴로지를 생성한다(S210). 이때의 베니스 토폴로지는 입력과 출력의 개수가 각각 n개인 베니스 토폴로지이다.First, a venue topology is created for a router 200 (S210). The Venice topology at this time is the Venice topology with n inputs and outputs.

한편, 생성된 베니스 토폴로지를 2개의 서브 베니스 토폴로지가 구성되는 형태로 분할 생성한다(S220). 예를 들어, 입력과 출력의 개수가 각각 n/2 개인 서브 베니스 토폴로지 2개로 분할하여 생성할 수 있다. (n =2a, a는 자연수) Meanwhile, the generated Venice topology is divided into two sub-Venice topologies (S220). For example, a subnetwork topology with n / 2 inputs / outputs can be divided into two subnetwork topologies. (n = 2a, a is a natural number)

이어서, 데이터 네트워크의 입력포트(300)와 데이터 네트워크의 출력포트(400)를 베니스 토폴로지에 매핑한다(S230). 즉, 2개의 서브 베니스 토폴로지의 입력과 데이터 네트워크 입력포트(300) 간의 매칭 및 2개의 서브 베니스 토폴로지의 출력과 데이터 네트워크 출력포트(400) 간의 매칭의 경우의 수가 여러가지가 도출될 수 있는데, 어느 한 가지 경우에 대한 매칭을 수행한다. Then, the input port 300 of the data network and the output port 400 of the data network are mapped to the Venice topology (S230). That is, the number of matches between the input of two sub-Venice topologies and the data network input port 300 and the number of matches between the output of two sub-Venice topologies and the data network output port 400 can be derived. And performs matching on the cases.

이어서, 크로스바 비용(cross-bar cost)이 최소화되었는지 판단한다(S240). 크로스바 스위치는 네트워크 상에서 입력단과 출력단 연결을 위해 조직되는 연결구조를 의미하는 것으로서, S240단계는 불필요한 크로스바 스위치는 제거하고 가장 비용 효율적인 매핑 구조를 도출하기 위해 수행된다. Then, it is determined whether the cross-bar cost is minimized (S240). The crossbar switch refers to a connection structure that is organized for input and output connection on the network. Step S240 is performed to remove unnecessary crossbar switches and to derive the most cost effective mapping structure.

만약 최소 비용이 아닌 경우, 베니스 토폴로지의 입력, 출력과 데이터 네트워크의 입력포트(300), 출력포트(400) 간의 매핑 조합을 다른 경우의 수로 변경한다(S250). If it is not the minimum cost, the mapping combination between the input and output of the Venice topology and the input port 300 and the output port 400 of the data network is changed to the number of other cases (S250).

S240 단계를 통과한 경우, 서브 베니스 토폴로지가 2 x 2 (입력 및 출력의 개수가 2개) 크기인지 판단하고(S260), 그렇지 않은 경우, 서브 베니스 토폴로지에 대한 분할을 수행하여, 서브 베니스 토폴로지의 크기가 2 x 2가 될 때까지, S220 및 S260 단계를 반복 수행한다.If the step S240 is reached, it is determined whether the sub-Venice topology is 2 x 2 (the number of inputs and outputs is two) (S260). If not, the sub-Venice topology is divided to perform sub- Steps S220 and S260 are repeated until the size becomes 2 x 2.

이를 통해 베니스 토폴로지가 한 라우터(200)에 대하여 완성된 경우, 아직 베니스 토폴로지가 생성되지 않은 다른 라우터(200)가 있는지 확인한다(S270). 만약 다른 라우터(200)가 남아 있는 경우, 다른 라우터(200)에 대하여 S210 단계 내지 S260 단계를 반복수행한다(S280). If the Venice topology is completed with respect to one router 200, it is determined whether there is another router 200 in which the Venice topology has not yet been generated (S270). If another router 200 remains, steps S210 and S260 are repeated for the other router 200 (S280).

이를 통하여 전체 라우터(200)에 대하여, 각 라우터(200)에 종속된 베니스 토폴로지가 생성된 경우, 데이터 네트워크 입력포트(300) 및 출력포트(400)에 대한 스테이지를 생성함으로써, 네트워크 온 칩 설계를 완료한다(S290). In this way, for the entire router 200, by creating a stage for the data network input port 300 and the output port 400 when a Venice topology dependent on each router 200 is created, (S290).

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. The computer-readable medium may also include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics 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 defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 노드 200: 라우터
300: 데이터 네트워크 입력포트
400 : 데이터 네트워크 출력포트
100: node 200: router
300: Data network input port
400: Data network output port

Claims (14)

컴퓨터 장치에 의해 수행되는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법에 있어서,
(a) 복수의 노드와 라우터를 포함하는 네트워크 온 칩 시스템에 대하여, 버스 프로토콜 주소에 기반한 주소 네트워크 토폴로지를 설계하는 단계; 및
(b) 상기 주소 네트워크 토폴로지에 기반하여, 상기 주소 네트워크 토폴로지의 라우터에 종속된 데이터 네트워크 토폴로지를 설계하는 단계;를 포함하며,
상기 (a) 단계는,
(a-1) 상기 복수의 노드 간의 통신 루트에 관한 정보를 기준으로 상기 복수의 노드를 복수의 그룹으로 그룹핑하는 단계; 및
(a-2) 상기 복수의 그룹과 복수의 라우터가 서로 매핑되도록 상기 각 그룹에 대하여 라우터를 할당하는 단계;를 포함하는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
A bus protocol based network on chip system design method performed by a computer device,
(a) designing an address network topology based on a bus protocol address, for a network-on-chip system comprising a plurality of nodes and a router; And
(b) designing a data network topology dependent on a router of the address network topology, based on the address network topology,
The step (a)
(a-1) grouping the plurality of nodes into a plurality of groups based on information on a communication route between the plurality of nodes; And
(a-2) assigning a router to each group so that the plurality of groups and a plurality of routers are mapped to each other.
제 1 항에 있어서,
상기 (a) 단계는,
상기 네트워크 온 칩 시스템 내의 복수의 노드들 간의 전체 통신량이 기 설정된 값보다 적도록 각 라우터마다 노드를 할당하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
The method according to claim 1,
The step (a)
And allocating a node for each router such that the total amount of communication between the plurality of nodes in the network-on-chip system is less than a predetermined value.
제 2 항에 있어서,
상기 (a) 단계는,
트리 구조 기반의 토폴로지 기법으로 각 라우터에 대하여 상기 복수의 노드들을 할당하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
3. The method of claim 2,
The step (a)
A network-on-chip system design method based on a bus protocol, wherein the plurality of nodes are allocated to each router in a tree structure-based topology scheme.
제 2 항에 있어서,
상기 (a) 단계는,
균등 그래프 분할 (Balanced graph partitioning) 기반의 알고리즘을 통하여 설계하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
3. The method of claim 2,
The step (a)
A method for designing a network-on-chip system based on a bus protocol, designed through an algorithm based on balanced graph partitioning.
삭제delete 제 1 항에 있어서,
상기 (a-1) 단계는,
상기 복수의 노드 간에 설정된 통신 루트에 기인하여 상기 복수의 그룹 간을 연결하도록 발생되는 통신 루트의 개수가 임의로 그룹핑된 경우의 통신 루트의 개수보다 적도록 그룹핑하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
The method according to claim 1,
The step (a-1)
Wherein the grouping is performed such that the number of communication routes generated to connect the plurality of groups due to the communication route established between the plurality of nodes is smaller than the number of communication routes when the number of communication routes is arbitrarily grouped. System design method.
제 1 항에 있어서,
상기 (a-1) 단계는,
상기 통신 루트의 개수가 미리 설정된 개수 이상인 노드가 포함된 그룹은 타 그룹보다 적은 개수의 노드를 포함하도록 그룹핑하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
The method according to claim 1,
The step (a-1)
Wherein the group including the nodes having the number of communication routes equal to or greater than the predetermined number is grouped to include a smaller number of nodes than the other groups.
제 1 항에 있어서,
상기 (a) 단계는,
(a-3) 상기 (a-2) 단계 후, 각 라우터에 대하여 상위 라우터를 할당하는 단계;
(a-4) 노드가 연결되지 않은 라우터를 제거하는 단계; 및
(a-5) 라우터의 개수가 노드의 개수와 같거나 큰 라우터와 노드 조합들을 서로 통합하여 하나의 라우터 및 노드 조합으로 생성하는 단계;를 더 포함하는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
The method according to claim 1,
The step (a)
(a-3) assigning an upper router to each router after the step (a-2);
(a-4) removing a router to which a node is not connected; And
(a-5) a step of creating a router and a node combination by integrating a combination of routers and nodes having a number of routers equal to or greater than the number of nodes, .
제 1 항에 있어서,
상기 (b) 단계는,
어느 한 라우터부터 마지막 라우터까지 각 라우터마다 순차적으로 데이터 네트워크 토폴로지를 설계하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
The method according to claim 1,
The step (b)
Wherein the data network topology is designed sequentially for each router from one router to the last router.
제 9 항에 있어서,
상기 (b) 단계는,
각 라우터마다 베니스 토폴로지를 기반으로 한 네트워크 토폴로지를 설계하는 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
10. The method of claim 9,
The step (b)
A network-on-chip system design method based on a bus protocol, wherein each router is designed with a network topology based on a Venice topology.
제 10 항에 있어서,
상기 (b) 단계는,
(b-1) 입력과 출력의 개수가 각각 n개인 베니스 토폴로지를 설계하되, 입력과출력의 개수가 각각 n/2 개인 서브 베니스 토폴로지 2개로 분할하여 설계하는 단계; (n =2a, a는 자연수) 및
(b-2) 데이터 네트워크의 입력포트와 데이터 네트워크의 출력포트를 상기 베니스 토폴로지에 매핑하고, 복수의 매핑의 경우의 수 중 가장 적은 비용을 나타내는 경우의 매핑을 선택하는 단계;
를 포함하는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
11. The method of claim 10,
The step (b)
(b-1) Designing a Venice topology with n inputs and outputs, and dividing into two sub-Venice topologies with n / 2 inputs and outputs; (n = 2a, a is a natural number) and
(b-2) mapping the input port of the data network and the output port of the data network to the Venice topology, and selecting a mapping when the least cost among the plurality of mapping cases is selected;
Based on the bus protocol.
제 11 항에 있어서,
상기 (b) 단계는,
(b-3) 상기 (b-2) 단계 후, 상기 서브 베니스 토폴로지에 대하여 상기 (b-1) 및 (b-2) 단계를 반복 수행하되, 입력과 출력의 개수가 각각 2개가 될 때까지 수행하는 단계; 및
(b-4) 상기 복수의 노드들이 연결된 데이터 네트워크 입력포트와 출력포트를 생성하는 단계;를 더 포함하는, 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법.
12. The method of claim 11,
The step (b)
(b-3) repeating the steps (b-1) and (b-2) with respect to the sub-Venice topology after the step (b-2), until the number of inputs and outputs becomes two ; And
(b-4) generating a data network input port and an output port to which the plurality of nodes are connected.
제 1 항 내지 제 4 항 및 제 6 항 내지 제 12 항 중 어느 한 항에 따르는 버스 프로토콜 기반의 네트워크 온 칩 시스템 설계 방법을 수행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 기록매체.A computer program for executing a method for designing a network-on-a-chip system based on a bus protocol according to any one of claims 1 to 4 and 6 to 12. 버스 프로토콜 기반의 네트워크 온 칩 시스템에 있어서,
복수의 노드와 복수의 라우터를 포함하되,
상기 복수의 노드와 복수의 라우터는 별도로 설계된 주소 네트워크 토폴로지와 데이터 네트워크 토폴로지에 연결되되,
상기 주소 네트워크 토폴로지는,
상기 복수의 노드 간의 통신 루트에 관한 정보를 기준으로 상기 복수의 노드가 복수의 그룹으로 그룹핑된 후, 상기 복수의 그룹과 복수의 라우터가 서로 매핑되도록 상기 각 그룹에 대하여 라우터가 할당되도록 설계된 것이며,
상기 데이터 네트워크 토폴로지는, 버스 프로토콜 주소에 기반한 상기 주소 네트워크 토폴로지의 라우터에 종속되도록 설계된 것인, 버스 프로토콜 기반의 네트워크 온 칩 시스템.
In a bus-protocol-based network-on-chip system,
A plurality of nodes and a plurality of routers,
Wherein the plurality of nodes and the plurality of routers are connected to a separately designed address network topology and a data network topology,
The address network topology includes:
A plurality of groups are grouped into a plurality of groups based on information on a communication route between the plurality of nodes and a router is assigned to each group so that the plurality of groups and the plurality of routers are mapped to each other,
Wherein the data network topology is designed to be subordinate to a router of the address network topology based on a bus protocol address.
KR1020160072372A 2016-06-10 2016-06-10 Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded Expired - Fee Related KR101800320B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160072372A KR101800320B1 (en) 2016-06-10 2016-06-10 Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160072372A KR101800320B1 (en) 2016-06-10 2016-06-10 Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded

Publications (1)

Publication Number Publication Date
KR101800320B1 true KR101800320B1 (en) 2017-11-22

Family

ID=60809804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160072372A Expired - Fee Related KR101800320B1 (en) 2016-06-10 2016-06-10 Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded

Country Status (1)

Country Link
KR (1) KR101800320B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102042194B1 (en) * 2019-08-08 2019-11-07 마인엔지니어링건축사사무소 주식회사 System for home network with efficient control
KR102042186B1 (en) * 2019-08-08 2019-11-27 마인엔지니어링건축사사무소 주식회사 Method for home networking system with customizable and controllable to user
CN116886591A (en) * 2023-09-06 2023-10-13 芯来智融半导体科技(上海)有限公司 Topology structure and routing method of network on chip

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548695B1 (en) 2014-11-03 2015-09-01 성균관대학교산학협력단 Apparatus and method for topology design of hybrid optical networks on chip

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548695B1 (en) 2014-11-03 2015-09-01 성균관대학교산학협력단 Apparatus and method for topology design of hybrid optical networks on chip

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"지연시간 효율 개선을 위한 On-Chip Network 구조 설계 및 구현", 전자공학회 논문지 제46권 SD편 제11호(pp. 56-65), 2009년 11월*
"하이브리드 광학 네트워크-온-칩에서 지연 시간 최적화를 위한 매핑 알고리즘", 전자공학회 논문지 제50권 7호(pp. 131-139), 2013년 7월

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102042194B1 (en) * 2019-08-08 2019-11-07 마인엔지니어링건축사사무소 주식회사 System for home network with efficient control
KR102042186B1 (en) * 2019-08-08 2019-11-27 마인엔지니어링건축사사무소 주식회사 Method for home networking system with customizable and controllable to user
CN116886591A (en) * 2023-09-06 2023-10-13 芯来智融半导体科技(上海)有限公司 Topology structure and routing method of network on chip
CN116886591B (en) * 2023-09-06 2023-12-15 芯来智融半导体科技(上海)有限公司 Computer network system and routing method

Similar Documents

Publication Publication Date Title
CN111149330B (en) Topology aware controller association in software defined networks
Ferguson et al. Hierarchical policies for software defined networks
CN108462594B (en) Virtual private network and rule table generation method, device and routing method
CN107113241B (en) Route determination method, network configuration method and related device
US11310169B2 (en) Network-on-chip topology generation
CN115426312B (en) Method and device for managing, optimizing and forwarding identifiers in large-scale multi-modal network
CN114844827A (en) A shared storage-based spanning tree routing hardware architecture and method for on-chip network chips
Fuerst et al. Virtual network embedding with collocation: Benefits and limitations of pre-clustering
KR101800320B1 (en) Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded
CN108965134B (en) Message forwarding method and device
US20130227171A1 (en) Apparatus and method for interconnecting heterogeneous networks
Liao et al. Distributed FlowVisor: a distributed FlowVisor platform for quality of service aware cloud network virtualisation
Miao et al. Multicast virtual network mapping for supporting multiple description coding-based video applications
CN114064206A (en) A pod method, system, device and storage medium for accessing edge nodes
US11411855B1 (en) Computation of ranked path options in networks
CN113452758A (en) Service access method and device
US12081923B1 (en) Low congestion routing method of Optical Network-on-Chip and related device
Li et al. Towards full virtualization of SDN infrastructure
CN107294746B (en) Method and equipment for deploying service
CN103491023B (en) Method for routing for three-dimensional torus photoelectricity hybrid network
Yang et al. Scalable forwarding tables for supporting flexible policies in enterprise networks
Gomez-Lopez et al. Implementation and testing of a KNS topology in an InfiniBand cluster
Sun et al. Minimally buffered router and deflection routing algorithm for 3D mesh NoC
CN117951079B (en) Network on chip, chip and data transmission method in chip
Bitar Building Networking Applications from a NoC-Enhanced FPGA

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PC1903 Unpaid annual fee

Not in force date: 20221117

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20221117

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000