KR100798302B1 - System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network - Google Patents

System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network Download PDF

Info

Publication number
KR100798302B1
KR100798302B1 KR1020060090365A KR20060090365A KR100798302B1 KR 100798302 B1 KR100798302 B1 KR 100798302B1 KR 1020060090365 A KR1020060090365 A KR 1020060090365A KR 20060090365 A KR20060090365 A KR 20060090365A KR 100798302 B1 KR100798302 B1 KR 100798302B1
Authority
KR
South Korea
Prior art keywords
chip
module
slave
bus
processor
Prior art date
Application number
KR1020060090365A
Other languages
Korean (ko)
Other versions
KR20070061307A (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 한국전자통신연구원
Publication of KR20070061307A publication Critical patent/KR20070061307A/en
Application granted granted Critical
Publication of KR100798302B1 publication Critical patent/KR100798302B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Abstract

본 발명은 하나 이상의 프로세서와 상기 프로세서에 의해서 제어되는 다양한 하드웨어 모듈을 포함하는 시스템 온칩의 통신 구조에 관한 것으로,The present invention relates to a communication structure of a system on a chip comprising at least one processor and various hardware modules controlled by the processor,

본 발명의 시스템 온칩은 상기 시스템 온칩에 포함된 하드웨어 모듈들의 동작을 제어하는 하나 이상의 프로세서와, 상기 하드웨어 모듈들 중 상기 프로세서의 제어를 받아서 동작하는 하나 이상의 슬레이브 모듈과, 상기 하드웨어 모듈들 중 상기 슬레이브 모듈을 제어하되, 상기 프로세서의 제어를 받지 않고 동작하는 하나 이상의 마스터 모듈과, 상기 프로세서와 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 버스와, 상기 마스터 모듈과 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 네트워크를 포함한다.The system on chip of the present invention includes one or more processors for controlling the operation of hardware modules included in the system on chip, one or more slave modules operating under the control of the processor among the hardware modules, and the slave among the hardware modules. At least one master module operating under the control of the processor, an on-chip bus serving as a data communication path between the processor and the slave module, and a data communication path between the master module and the slave module Includes on-chip networks.

본 발명에 따른 시스템 온칩은 두 가지의 데이터 통신 경로를 복합적으로 갖도록 하여, 데이터 전송의 특성에 따라서 서로 다른 통신 경로를 사용하도록 함으로써 우수한 성능의 시스템 온칩을 설계할 수 있도록 하는 효과가 있다.The system on a chip according to the present invention has the effect of having a combination of two data communication paths, and by using different communication paths according to the characteristics of the data transmission to design a system on a chip of excellent performance.

시스템 온칩, 프로세서, 온칩 버스, 온칩 네트워크 System On Chip, Processor, On Chip Bus, On Chip Network

Description

버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩{System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network}System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network

도 1은 본 발명의 제1 실시 예에 따른 시스템 온칩 구조도,1 is a structural diagram of a system on chip according to a first embodiment of the present invention;

도 2는 본 발명의 제2 실시 예에 따른 시스템 온칩 구조도.2 is a system on-chip structure diagram according to a second embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100, 200 : 프로세서 100, 200: processor

110, 210 : 온칩 버스110, 210: on-chip bus

120, 220 : 슬레이브 모듈 120, 220: slave module

130, 230 : 온칩 네트워크130, 230: on-chip network

140, 240 : 마스터 모듈140, 240: master module

250 : 슬레이브-마스터 모듈250: slave-master module

본 발명은 하나 이상의 프로세서와 상기 프로세서에 의해서 제어되는 다양한 하드웨어(hardware) 모듈을 포함하는 시스템 온칩 (System On Chip, 이하 "SoC"라 함)의 통신 구조에 관한 것으로, 더욱 상세하게는 상기 SoC에 포함된 상기 프로세서와 다수의 하드웨어 모듈 사이의 데이터 통신을 효율적으로 수행하기 위해 온칩 버스와 온칩 네트워크와 같은 통신 경로를 복합적으로 갖는 시스템 온칩에 관한 것이다. The present invention relates to a communication structure of a System On Chip (hereinafter referred to as "SoC") including one or more processors and various hardware modules controlled by the processor, and more particularly, to the SoC. The present invention relates to a system on-chip having a communication path such as an on-chip bus and an on-chip network to efficiently perform data communication between the included processor and a plurality of hardware modules.

일반적으로, 상기 SoC는 시스템 전체를 제어하는 프로세서와 그 프로세서에 의해서 제어되는 다양한 하드웨어 모듈로 구성된다. 상기 하드웨어 모듈은 프로세서의 제어를 받기만 하는 슬레이브(Slave) 모듈과 스스로 다른 슬레이브 모듈에 데이터 통신을 요구할 수 있는 마스터 (Master) 모듈로 구분된다. 경우에 따라서는 하나의 하드웨어 모듈이 슬레이브와 마스터 기능을 겸할 수도 있다.In general, the SoC is composed of a processor that controls the entire system and various hardware modules controlled by the processor. The hardware module is divided into a slave module that is only controlled by a processor and a master module that can request data communication from another slave module by itself. In some cases, one hardware module can also function as a slave and a master.

상기 SoC 내에서의 프로세서와 하드웨어 모듈 간의 데이터 통신을 위해, 종래의 기술들은 프로세서와 하드웨어 모듈을 하나의 공통된 온칩 버스 또는 여러 개의 온칩 버스에 연결하여 데이터를 전송하는 방법을 사용하였으며, 최근에는 온칩 네트워크를 이용하는 방법들이 연구되고 있다.In order to communicate data between a processor and a hardware module in the SoC, conventional technologies have used a method of transmitting data by connecting a processor and a hardware module to one common on-chip bus or several on-chip buses. Methods of using are being studied.

상기 온칩 버스를 사용하는 가장 대표적인 버스 시스템은 ARM(Advanced RISC Machine) 사의 AMBA(Advanced Microcontroller Bus Architecture)와, 개방형 코어 프로토콜을 기반으로 하는 소닉사(SONICs Inc.) 의 실리콘 백플레인 마이크로 네트워크(Silicon Backplane Micronetwork) 를 들 수 있다.The most representative bus systems using the on-chip bus are Advanced Microcontroller Bus Architecture (AMBA) from Advanced RISC Machine (ARM), and Silicon Backplane Micronetwork from SONICs Inc. based on open core protocol. ).

상기 AMBA 구조로는 단일 버스 구조를 갖는 ASB(Advanced System Bus) 와 멀티레이어 버스 구조를 갖는 AHB(Advanced Highperformance Bus) 가 대표적이다. 기존의 ASB에서는 하나의 물리적인 버스를 하나의 마스터 모듈이 점유하고 있으면, 다른 마스터 모듈은 통신을 할 수가 없었다. 즉, 한 버스에 하나의 프로세서 또는 마스터 모듈만 존재하는 경우에는 효율적으로 데이터를 전송할 수 있지만, 2개 이상의 프로세서나 마스터 모듈이 연결되면 버스에 대한 주도권을 넘겨주는 시간이 필요하며, 하나의 프로세서나 마스터 모듈이 버스를 사용하고 있으면 다른 프로세서나 마스터 모듈은 버스를 사용하기 위해서 대기하고 있어야 한다. The AMBA structure includes an ASB (Advanced System Bus) having a single bus structure and an Advanced High Performance Bus (AHB) having a multilayer bus structure. In the conventional ASB, if one master module occupies one physical bus, the other master module could not communicate. In other words, if only one processor or master module exists on a bus, data can be transmitted efficiently. However, when two or more processors or master modules are connected, it takes time to transfer control over the bus. If the master module is using a bus, another processor or master module must be waiting to use the bus.

이를 해결하기 위해 상기 AHB는 멀티레이어로 구성된 여러 개의 물리적인 버스를 사용한다. 이러한 물리적인 버스 간의 통신은 버스 브리지를 이용하여 통신을 하는데 상기 버스 브리지는 동시에 서로 다른 버스를 충돌없이 연결할 수 있는 인터커넥션 매트릭스(Interconnection matrix)구조를 갖는다. 버스 레이어 수에 따라서 동시에 처리할 수 있는 통신량이 증가하지만, 각각의 독립된 버스 레이어마다 중재기와 디코더가 있어야 하기 때문에 많은 마스터 모듈이 동작하는 시스템에서는 버스 레이어를 추가할 때마다 비용이 증가하고 버스 레이어를 변경하는 데이터를 전송하는 경우에 한 사이클이 소모되므로 데이터 처리량이 감소하는 문제점이 있다.To solve this problem, the AHB uses multiple physical buses composed of multiple layers. These physical buses communicate using a bus bridge, which has an interconnection matrix structure that can simultaneously connect different buses without collision. Depending on the number of bus layers, the amount of communication that can be handled simultaneously increases, but since each independent bus layer must have an arbiter and a decoder, in a system with many master modules, the cost increases every time a bus layer is added and Since one cycle is consumed in the case of transmitting changing data, data throughput is reduced.

한편, 상기 소닉사의 실리콘 백플레인 마이크로 네트워크는 동일한 버스를 사용하면서 버스를 시분할 하여 점유하도록 하는 방식을 채택하고 있다. 버스에 연결된 마스터 모듈에게 각각 사용할 수 있는 시간 영역을 부여를 하고, 버스 중재기는 정해진 시간 동안만 마스터 모듈에게 버스 사용권을 부여하게 된다. 이렇게 되면 버스에 연결된 마스터 모듈은 하나의 마스터 모듈이 많은 시간을 점유해서 그 시간 동안 버스를 기다릴 필요가 없어지고, 자신의 차례가 되어 필요한 통신이 있 으면 버스를 사용하게 된다. 즉, 마스터 모듈은 대역폭이 낮아진 버스를 마스터 모듈 자신이 계속해서 사용하는 것으로 보이게 된다. 그러나 상기 마스터 모듈에 대해 정해진 시간별로 버스 사용권을 부여하기 위해, 각 마스터 모듈별로 별도의 에이전트가 필요하며, 수십여 개의 마스터 모듈이 사용되는 SoC의 설계에 있어서, 상기 에이전트와 같은 추가적인 구성은 전체 버스 사이즈가 커진다는 점과 비용 증가의 원인이 된다는 문제점이 있다.Meanwhile, Sonic's silicon backplane micro network adopts a method of time-sharing the bus while using the same bus. Each master module connected to a bus is given a time zone that can be used, and the bus arbiter grants a bus right to the master module only for a predetermined time. This means that a master module connected to a bus does not have to wait for a bus for one master module to occupy much time and use the bus when it is in its turn to have the necessary communication. In other words, the master module appears to be continuously using the lower bandwidth bus by the master module itself. However, in order to grant a bus license for a predetermined time for the master module, a separate agent is required for each master module, and in the design of an SoC in which dozens of master modules are used, an additional configuration such as the agent is used for the entire bus. The problem is that the size is increased and the cost is increased.

한편, 상기 온칩 네트워크 구조는 여러 개의 프로세서나 마스터 모듈이 여러 개의 슬레이브 모듈과 동시에 데이터 전송을 수행할 수 있다. 이는 네트워크의 특징을 그대로 온칩에 적용한 것이다. 상기 온칩 네트워크에서는 하나의 모듈이 네트워크를 사용할 동안 다른 모듈이 네트워크의 사용 요청을 하고 기다리는 것이 아니라 동시에 네트워크를 사용할 수 있는바, 이는 패킷 단위로 데이터를 송수신하는 구성과 상기 패킷을 수집하고 원하는 목적지까지 보내는 역할을 하는 스위치의 구성을 통해 가능하다. 또한, 상기 모듈과 스위치까지 서로 다른 패스로 연결하는 구성에 따라 네트워크를 통해 동시에 여러 패킷을 전송할 수 있다.On the other hand, in the on-chip network structure, several processors or master modules may simultaneously perform data transmission with several slave modules. This is an on-chip application of the network features. In the on-chip network, while one module uses the network, the other module can use the network at the same time instead of waiting for a request for use of the network, which is a configuration for transmitting and receiving data in packet units and collecting the packets and going to a desired destination. This is possible through the configuration of a switch that acts as a sender. In addition, depending on the configuration of connecting the module and the switch in different paths, it is possible to transmit several packets at the same time through the network.

한편, 상기 스위치는 패킷이 입력되는 인포트(Inport)와 패킷이 출력되는 아웃포트(Outport), 상기 아웃 포트가 비어있는지 여부를 확인하는 중재기(Arbiter)로 구성된다. 상기 인포트를 통해 여러 목적지를 갖는 패킷들이 입력되면, 상기 패킷의 태그(Tag)를 디코딩해서 중재기에 아웃 포트 요청 신호를 보내며, 중재기는 아웃 포트가 비어 있는 경우 요청신호를 받아들여 인포트에 있는 패킷을 아웃 포트 로 보내게 된다. 아웃 포트 개수만큼의 패킷을 동시에 목적지로 보낼 수 있으며, 아웃 포트가 사용 중이라면 패킷은 인포트에서 대기를 하게 되어 큐잉(Queuing)이 일어나는데, 상기 버스 구조와 비교할 때, 하나의 마스터 모듈이 원하는 모든 작업을 마치는 동안 버스의 사용 승인을 기다리는 것보다는 작은 수의 패킷을 기다리게 될 것이다. 상기와 같은 구성을 통해 상기 마스터 모듈의 대기 시간을 감소시킬 수 있지만, 일반적으로 온칩 네트워크 구조는 첫 데이터의 전송이 온칩 버스에 비해서 시간이 더 걸리는 단점이 있다. On the other hand, the switch is composed of an Inport (Inport) that the packet is input, the Outport (Outport) that the packet is output, and the Arbiter (Arbiter) to check whether the outport is empty. When the packets having multiple destinations are input through the inport, the tags of the packets are decoded and an outport request signal is sent to the arbiter. When the outport is empty, the arbiter accepts the request signal and the port is located in the port. The packet will be sent out port. As many out-port packets can be sent to the destination at the same time, if out-ports are in use, the packets are queued on the in-port and queuing occurs. While you're done, you'll be waiting for a small number of packets rather than waiting for the bus to approve your use. Through the above configuration, the standby time of the master module can be reduced, but in general, the on-chip network structure has a disadvantage in that the first data transfer takes longer than the on-chip bus.

이것은 온칩 버스와 온칩 네트워크의 파이프라인 구조 특성의 차이에 따른 것인데, 상기 온칩 버스의 경우 크게 페치(fetch), 디코딩(decode), 실행(execution)의 단계를 거치는 파이프라인 구조를 가짐에 비하여, 상기 온칩 네트워크는 크게 입력 데이터의 패킷(packet)화 단계, 패킷 라우팅 및 전달 단계, 디패킷(depacket)화의 단계를 거치는 파이프라인 구조를 갖는다. 이때, 경우에 따라서 상기 패킷 라우팅 단계는 1~수 사이클의 시간이 걸릴 수 있어서 상기 온칩 버스 구조에 비해 초기 전달 시간이 더 많이 걸릴 수도 있다.This is due to the difference in the characteristics of the pipeline structure of the on-chip bus and the on-chip network, whereas the on-chip bus has a pipeline structure that is largely fetched, decoded, and executed. The on-chip network has a pipeline structure that goes through a packetization step, a packet routing and delivery step, and a depacketization step of input data. In this case, in some cases, the packet routing step may take one to several cycles, and thus, an initial propagation time may be longer than that of the on-chip bus structure.

따라서, 상술한 문제점을 해결하기 위하여 본 발명은 온칩 버스와 온칩 네트워크를 복합적으로 적용하여 데이터 전송의 특성에 따라 적합한 통신 경로를 사용하도록 함으로써, 더욱 우수한 성능을 갖는 시스템 온칩을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a system on-chip having more excellent performance by using a suitable communication path according to the characteristics of data transmission by applying the on-chip bus and on-chip network in combination to solve the above problems. .

상기 목적을 달성하기 위한 본 발명의 시스템 온칩은 상기 시스템 온칩에 포함된 하드웨어 모듈들의 동작을 제어하는 하나 이상의 프로세서와, 상기 하드웨어 모듈들 중 상기 프로세서의 제어를 받아서 동작하는 하나 이상의 슬레이브 모듈과, 상기 하드웨어 모듈들 중 상기 슬레이브 모듈을 제어하되, 상기 프로세서의 제어를 받지 않고 동작하는 하나 이상의 마스터 모듈과, 상기 프로세서와 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 버스와, 상기 마스터 모듈과 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 네트워크를 포함한다.The system on a chip of the present invention for achieving the above object is at least one processor for controlling the operation of the hardware modules included in the system on chip, at least one slave module operating under the control of the processor of the hardware module, One or more master modules that control the slave module among hardware modules, and operate without control of the processor, an on-chip bus that becomes a data communication path between the processor and the slave module, the master module and the slave module. It includes an on-chip network that is a data communication path between.

바람직하게, 상기 하드웨어 모듈들 중 상기 슬레이브 모듈을 제어하되, 상기 프로세서의 제어를 받고 동작하는 하나 이상의 슬레이브-마스터 모듈을 더 포함하며, 상기 슬레이브-마스터 모듈은 상기 온칩 버스를 통해 상기 프로세서와 데이터 통신을 하고, 상기 온칩 네트워크를 통해 상기 슬레이브 모듈과 데이터 통신을 하는 것을 특징으로 한다.Advantageously, further comprising at least one slave-master module controlling said slave module of said hardware modules and operating under the control of said processor, said slave-master module communicating data with said processor via said on-chip bus. And it is characterized in that the data communication with the slave module via the on-chip network.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 시스템 온칩의 제1 실시 예를 도시한 도면이다.1 is a diagram illustrating a first embodiment of a system on chip according to the present invention.

도 1을 참조하면, 통신의 주체가 되는 프로세서(100), 슬레이브 모듈(120) 및 마스터 모듈(140)이 포함되어 있으며, 통신 경로가 되는 온칩 버스(110)와 온칩 네트워크(140)가 포함되어 있다.Referring to FIG. 1, a processor 100, a slave module 120, and a master module 140, which are subjects of communication, are included, and an on-chip bus 110 and an on-chip network 140, which are communication paths, are included. have.

상기 온칩 버스(110)를 통해 통신을 하는 모듈은 상기 프로세서(100)와 슬레 이브 모듈(120)이다. 상기 온칩 버스(110)에 연결된 프로세서(100)는 일반적으로 하나이지만, 필요에 따라 복수 개의 프로세서를 연결할 수 있으며, 상기 프로세서(100)는 상기 슬레이브 모듈(120)에 대해 제어신호를 보내고 슬레이브 모듈(120)로부터 전달받은 데이터를 처리한다. 또한, 상기 슬레이브 모듈(120)은 프로세서의 제어를 받아 각 모듈의 특성에 따라서 시스템 외부나 다른 모듈로부터 데이터를 입력받아서 정해진 동작을 수행하고, 그 결과를 다른 모듈이나 시스템 외부로 전송한다. 이때, 상기 슬레이브 모듈(120)은 상기 프로세서(100)의 제어를 받기만 하며, 능동적으로 통신요구를 하지 않으므로, 통상의 온칩 버스 구조에서 발생하는 문제점인 동일한 버스를 공유하는 다른 마스터 모듈의 대기 문제 등이 없다. The module communicating through the on-chip bus 110 is the processor 100 and the slave module 120. The processor 100 connected to the on-chip bus 110 is generally one, but a plurality of processors may be connected as needed, and the processor 100 may transmit a control signal to the slave module 120 and may use a slave module ( 120 process the data received from. In addition, the slave module 120 receives the data from the outside of the system or another module according to the characteristics of each module under the control of the processor, performs a predetermined operation, and transmits the result to the other module or the outside of the system. In this case, since the slave module 120 is only under the control of the processor 100 and does not actively request communication, a standby problem of another master module sharing the same bus, which is a problem occurring in a typical on-chip bus structure, etc. There is no

상기 온칩 버스(110)로는 앞서 설명한 AMBA 구조를 갖는 AHB와 ASB 버스 구조 또는 실리콘 백플레인 마이크로 네트워크 구조를 가질 수 있으며, 그 밖에 IBM 사의 CoreConnect 버스 구조, OpenCore 그룹에서 추천하는 Wishbone 버스 구조 또는 별도의 버스 형태를 사용할 수 있으나, 쓰기 또는 읽기 응답 시간이 1~2 사이클 이내로 빠른 버스 구조를 사용하는 것이 바람직하다.The on-chip bus 110 may have an AHB and an ASB bus structure or a silicon backplane micro network structure having the above-described AMBA structure. In addition, the CoreConnect bus structure of IBM, the Wishbone bus structure recommended by the OpenCore group, or a separate bus type However, it is preferable to use a bus structure with a fast write or read response time of 1 to 2 cycles.

한편, 상기 온칩 네트워크(130)를 통해 통신하는 모듈은 상기 마스터 모듈(140)과 상기 슬레이브 모듈(120)이다. 상기 마스터 모듈(140)은 상기 슬레이브 모듈(120)을 제어하면서 이들에게 데이터를 전송하거나 슬레이브 모듈(120)로부터의 데이터 전송을 요구할 수 있으며, 이들은 상기 프로세서(100)의 제어를 받지않고 동작한다. 이와 같이 각 마스터 모듈(140)은 스스로 다른 슬레이브 모듈(110)에 데이터 통신을 요구할 수 있는바, 복수 개의 마스터 모듈과 복수 개의 슬레이브 모듈을 상기 온칩 버스(110)를 통해 통신하게 할 경우, 버스에 대한 우선권을 갖지 않는 다른 마스터 모듈의 대기 문제가 발생하므로, 온칩 네트워크(130)를 통해 통신하도록 한다.Meanwhile, the modules communicating through the on-chip network 130 are the master module 140 and the slave module 120. The master module 140 may transmit data to or request data from the slave module 120 while controlling the slave module 120, and they operate without the control of the processor 100. As described above, each master module 140 may request data communication to another slave module 110 by itself. When a plurality of master modules and a plurality of slave modules communicate with each other via the on-chip bus 110, Since there is a waiting problem of another master module that does not have a priority for the on-chip network 130 to communicate.

상기 온칩 네트워크(130)의 쓰기 또는 읽기 응답 시간은 2 사이클 이상이 될 수 있지만, 동시에 여러 경로의 데이터를 전송할 수 있어야 하며, 한 번에 많은 양의 데이터를 전송할 때의 평균 응답 시간은 1 사이클에 가깝도록 짧은 것이 바람직하다. The write or read response time of the on-chip network 130 may be two or more cycles, but the data of multiple paths should be able to be transmitted at the same time, and the average response time of transmitting a large amount of data at one time is one cycle. Short as close as possible is preferred.

상기 네트워크 통신구조에서 사용하는 데이터 전송방식으로는 회선 스위칭(circuit-switching) 방식 또는 패킷 스위칭(packet-switching) 방식을 사용할 수 있다. 상기 회선 스위칭 방식은 통신하고자 하는 두 노드 사이에서 데이터를 전송하기 전에 두 노드 간의 물리적인 회선을 먼저 결정하고 이를 독점적으로 사용하는 방식을 말한다. As a data transmission method used in the network communication structure, a circuit-switching method or a packet-switching method may be used. The circuit switching method refers to a method of first determining a physical circuit between two nodes and using it exclusively before transmitting data between two nodes to communicate with.

또한, 상기 패킷 스위칭 방식은 통신하고자 하는 두 노드 사이에 경로가 물리적으로 지정되지 않고 목적지 주소와 전송하고자 하는 데이터가 포함된 패킷을 여러 선로를 통해서 전달하는 방식으로, 패킷 교환기를 통해 패킷을 전달한다. 상기 패킷 교환기는 발신자가 보낸 패킷의 주소에 포함된 도착지 주소를 보고, 목적지로 가는 최적의 경로를 선택하여 다음 교환기로 보내며, 다음 교환기에서도 같은 일이 순차적으로 이루어져 목적지로 전송된다. In addition, the packet switching method transmits a packet including a destination address and data to be transmitted through a plurality of lines, without a path being physically specified between two nodes to communicate with each other. . The packet exchanger looks at the destination address included in the address of the packet sent by the sender, selects the best route to the destination, and sends it to the next exchange. The same operation is sequentially performed at the next exchange and is transmitted to the destination.

도 2는 본 발명에 따른 시스템 온칩의 제2 실시 예를 도시한 도면이다.2 is a diagram illustrating a second embodiment of a system on chip according to the present invention.

도 2를 참조하면, 통신의 주체가 되는 프로세서(200), 슬레이브 모듈(220), 마스터 모듈(240) 및 슬레이브-마스터 모듈(250)이 포함되어 있으며, 통신 경로가 되는 온칩 버스(210)와 온칩 네트워크(240)가 포함되어 있다. 제2 실시 예에서는 상기 제1 실시 예와 달리, 슬레이브-마스터 모듈(250)이 포함되어 있다.Referring to FIG. 2, a processor 200, a slave module 220, a master module 240, and a slave-master module 250, which are subjects of communication, are included, and an on-chip bus 210 serving as a communication path is provided. On-chip network 240 is included. In the second embodiment, unlike the first embodiment, the slave-master module 250 is included.

기본적인 통신구조는 상기 제1 실시 예와 거의 같다. 다만, 상기 슬레이브-마스터 모듈(250)은 상기 슬레이브 모듈(220)을 제어하는 상기 마스터 모듈(220)의 특성이 있지만, 직접적으로 상기 프로세서(200)의 제어를 받는 슬레이브 모듈의 특성도 갖추고 있어, 상기 마스터 모듈의 특성과 슬레이브 모듈의 특성을 모두 갖는 모듈로서 동작한다. 상기 슬레이브-마스터 모듈은 상기 슬레이브 모듈을 제어하는 마스터 모듈 중에 프로세서의 제어를 받아야 할 필요가 있는 경우에 사용된다. The basic communication structure is almost the same as in the first embodiment. However, the slave-master module 250 has the characteristics of the master module 220 for controlling the slave module 220, but also has the characteristics of the slave module directly controlled by the processor 200, It operates as a module having both the characteristics of the master module and the characteristics of the slave module. The slave-master module is used when it is necessary to control the processor among the master modules controlling the slave module.

이때, 상기 슬레이브 마스터 모듈(250)은 하나 이상 포함될 수 있다.In this case, one or more slave master modules 250 may be included.

따라서, 상기 슬레이브-마스터 모듈(250)은 상기 온칩 버스(210)를 통해 상기 프로세서(200)의 제어를 받으며, 상기 온칩 네트워크(230)를 통해 상기 슬레이브 모듈(220)과 데이터 통신을 할 수도 있다. 경우에 따라서는 상기 온칩 버스(210)를 통해 상기 슬레이브 모듈(220)과 데이터 통신을 할 수도 있다.Therefore, the slave-master module 250 may be controlled by the processor 200 through the on-chip bus 210 and may perform data communication with the slave module 220 through the on-chip network 230. . In some cases, data communication with the slave module 220 may be performed through the on-chip bus 210.

도 2를 다시 참조하면, 상기 온칩 버스(210)를 통해 통신을 하는 모듈은 상기 프로세서(200), 슬레이브 모듈(220) 및 슬레이브-마스터 모듈(250)이다. 상기 프로세서(200)와 슬레이브 모듈(220) 간의 통신 구조는 제1 실시 예와 같다. Referring back to FIG. 2, the modules communicating through the on-chip bus 210 are the processor 200, the slave module 220, and the slave-master module 250. The communication structure between the processor 200 and the slave module 220 is the same as in the first embodiment.

한편, 상기 슬레이브-마스터 모듈(250)의 통신 구조를 살펴보면, 상기 프로세서(200)가 상기 온칩 버스(210)를 통해 통신을 하는 경우에는 슬레이브-마스터 모듈(250)이 버스를 통한 통신을 시도하기 위해 대기할 수도 있지만, 상기 온칩 네트워크(230)를 통한 통신이 가능하므로 대기할 필요가 없게 된다. Meanwhile, referring to the communication structure of the slave-master module 250, when the processor 200 communicates through the on-chip bus 210, the slave-master module 250 attempts to communicate through the bus. Although waiting may be performed, communication through the on-chip network 230 is possible, so there is no need to wait.

상기 온칩 버스(210)로는 제1 실시 예와 같은 버스 구조를 사용할 수 있다.As the on-chip bus 210, the same bus structure as the first embodiment may be used.

한편, 상기 온칩 네트워크(230)를 통해 통신하는 모듈은 상기 마스터 모듈(240), 슬레이브 모듈(220) 및 슬레이브-마스터 모듈(250)이다. 상기 마스터 모듈(240)과 슬레이브 모듈(220) 간의 통신 구조는 제1 실시 예와 같다.Meanwhile, the modules communicating through the on-chip network 230 are the master module 240, the slave module 220, and the slave-master module 250. The communication structure between the master module 240 and the slave module 220 is the same as in the first embodiment.

또한, 상기 슬레이브-마스터 모듈(250)은 기본적으로 마스터 모듈로서의 특성을 가지므로, 상기 온칩 네트워크(230)구조에서 노드가 하나 더 추가된다는 점 외에는 통신 구조 자체에 큰 변화가 없다. 따라서, 상기 슬레이브-마스터 모듈(250)은 상기 마스터모듈(240)과 마찬가지로 상기 슬레이브 모듈(220)에 데이터를 전송하거나 슬레이브 모듈(220)들로부터의 데이터 전송을 요구할 수 있다.In addition, since the slave-master module 250 basically has a characteristic as a master module, there is no significant change in the communication structure itself except that one more node is added in the on-chip network 230 structure. Thus, like the master module 240, the slave-master module 250 may transmit data to the slave module 220 or request data transmission from the slave modules 220.

상기 온칩 네트워크(230)로는 제1 실시 예와 같은 네트워크 구조를 사용할 수 있다.As the on-chip network 230, the same network structure as in the first embodiment may be used.

본 발명은 하나 이상의 프로세서와 하나 이상의 하드웨어 모듈로 구성되는 시스템 온칩의 통신 구조를 제시한 것으로, 본 발명에 따른 시스템 온칩은 두 가지 의 데이터 통신 경로를 복합적으로 갖도록 하여, 데이터 전송의 특성에 따라서 서로 다른 통신 경로를 사용하도록 함으로써 우수한 성능의 시스템 온칩을 설계할 수 있도록 하는 효과가 있다.The present invention proposes a communication structure of a system on a chip consisting of one or more processors and one or more hardware modules. The system on a chip according to the present invention has two data communication paths in a complex manner, and according to characteristics of data transmission. The use of different communication paths has the effect of enabling the design of high performance system on chips.

Claims (4)

시스템 온칩에 있어서,In system on chip, 상기 시스템 온칩에 포함된 하드웨어 모듈들의 동작을 제어하는 하나 이상의 프로세서와,One or more processors for controlling the operation of hardware modules included in the system on chip; 상기 하드웨어 모듈들 중 상기 프로세서의 제어를 받아서 동작하는 하나 이상의 슬레이브 모듈과,One or more slave modules operating under the control of the processor among the hardware modules; 상기 하드웨어 모듈들 중 상기 슬레이브 모듈을 제어하되, 상기 프로세서의 제어를 받지 않고 동작하는 하나 이상의 마스터 모듈과,One or more master modules controlling the slave module among the hardware modules, the one or more master modules operating without the control of the processor; 상기 프로세서와 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 버스와,An on-chip bus serving as a data communication path between the processor and the slave module; 상기 마스터 모듈과 상기 슬레이브 모듈 사이의 데이터 통신 경로가 되는 온칩 네트워크On-chip network that is a data communication path between the master module and the slave module 를 포함하는 시스템 온칩.System on chip comprising a. 제1항에 있어서, 상기 하드웨어 모듈들 중 상기 슬레이브 모듈을 제어하되, 상기 프로세서의 제어를 받고 동작하는 하나 이상의 슬레이브-마스터 모듈을 더 포함하는 시스템 온칩.The system on chip of claim 1, further comprising at least one slave-master module controlling the slave module of the hardware modules, wherein the slave module is operated under the control of the processor. 제2항에 있어서, 상기 슬레이브-마스터 모듈은 상기 온칩 버스를 통해 상기 프로세서와 데이터 통신을 하고, 상기 온칩 네트워크를 통해 상기 슬레이브 모듈과 데이터 통신을 하는 것을 특징으로 하는 시스템 온칩.3. The system on chip of claim 2, wherein the slave-master module is in data communication with the processor via the on-chip bus and in data communication with the slave module via the on-chip network. 제3항에 있어서, 상기 슬레이브-마스터 모듈은 상기 프로세서가 상기 온칩 버스를 사용하지 않는 동안에 상기 온칩 버스를 통해 상기 슬레이브 모듈과 데이터 통신을 하는 것을 특징으로 하는 시스템 온칩.4. The system on chip of claim 3, wherein the slave-master module is in data communication with the slave module via the on-chip bus while the processor is not using the on-chip bus.
KR1020060090365A 2005-12-08 2006-09-19 System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network KR100798302B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119436 2005-12-08
KR20050119436 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061307A KR20070061307A (en) 2007-06-13
KR100798302B1 true KR100798302B1 (en) 2008-01-28

Family

ID=38357240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060090365A KR100798302B1 (en) 2005-12-08 2006-09-19 System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network

Country Status (1)

Country Link
KR (1) KR100798302B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101841173B1 (en) 2010-12-17 2018-03-23 삼성전자주식회사 Device and Method for Memory Interleaving based on a reorder buffer
KR102497804B1 (en) 2016-04-01 2023-02-10 한국전자통신연구원 On-chip network device capable of networking in dual swithching network modes and operation method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0589033A (en) * 1991-09-27 1993-04-09 Fujitsu Ltd Semiconductor integrated circuit
US20020144045A1 (en) 2001-03-27 2002-10-03 Sagar Edara Method and apparatus for providing a modular system on-chip interface
US20030145144A1 (en) 2002-01-30 2003-07-31 International Business Machines Corporation N-way pseudo cross-bar using discrete processor local busses
US20040230729A1 (en) 2003-05-16 2004-11-18 Ming-Ju Ho On chip streaming multiple bus protocol
KR20060068092A (en) * 2004-12-15 2006-06-21 삼성전자주식회사 Dual layer bus architecture, system-on-a-chip having the dual layer bus architecture and method of accessing the dual layer bus
KR20060118875A (en) * 2005-05-17 2006-11-24 삼성전자주식회사 Bus interface

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0589033A (en) * 1991-09-27 1993-04-09 Fujitsu Ltd Semiconductor integrated circuit
US20020144045A1 (en) 2001-03-27 2002-10-03 Sagar Edara Method and apparatus for providing a modular system on-chip interface
US20030145144A1 (en) 2002-01-30 2003-07-31 International Business Machines Corporation N-way pseudo cross-bar using discrete processor local busses
US20040230729A1 (en) 2003-05-16 2004-11-18 Ming-Ju Ho On chip streaming multiple bus protocol
KR20060068092A (en) * 2004-12-15 2006-06-21 삼성전자주식회사 Dual layer bus architecture, system-on-a-chip having the dual layer bus architecture and method of accessing the dual layer bus
KR20060118875A (en) * 2005-05-17 2006-11-24 삼성전자주식회사 Bus interface

Also Published As

Publication number Publication date
KR20070061307A (en) 2007-06-13

Similar Documents

Publication Publication Date Title
US7165131B2 (en) Separating transactions into different virtual channels
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
US8285912B2 (en) Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
EP0991999B1 (en) Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates
JP4808514B2 (en) Communication node architecture in a global asynchronous network-on-chip system
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
JP3365705B2 (en) Distributed data processing system
US20120120959A1 (en) Multiprocessing computing with distributed embedded switching
US10749811B2 (en) Interface virtualization and fast path for Network on Chip
US6715055B1 (en) Apparatus and method for allocating buffer space
EP1832064A2 (en) Arbitrating virtual channel transmit queues in a switched fabric network
JPH04218861A (en) Multiple-cluster-signal processor
JP2008546298A (en) Electronic device and communication resource allocation method
US20080043757A1 (en) Integrated Circuit And Method For Packet Switching Control
JP2006087093A (en) Packet transmission using output buffer
JP3427926B2 (en) Switching system and switching architecture
US6721816B1 (en) Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
KR100798302B1 (en) System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network
US20020172197A1 (en) System interconnect with minimal overhead suitable for real-time applications
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
Nambinina et al. Extension of the lisnoc (network-on-chip) with an axi-based network interface
EP1187422B1 (en) Method and device for tunable packet arbitration
KR0168904B1 (en) Data exchange with the group communications
WO2010103610A1 (en) Information processing device

Legal Events

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

Payment date: 20110104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 20