KR20070061307A - 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 PDFInfo
- Publication number
- KR20070061307A KR20070061307A KR1020060090365A KR20060090365A KR20070061307A KR 20070061307 A KR20070061307 A KR 20070061307A KR 1020060090365 A KR1020060090365 A KR 1020060090365A KR 20060090365 A KR20060090365 A KR 20060090365A KR 20070061307 A KR20070061307 A KR 20070061307A
- Authority
- KR
- South Korea
- Prior art keywords
- chip
- module
- slave
- bus
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
Description
도 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 is represented by an Advanced System Bus (ASB) 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
상기 온칩 버스(110)를 통해 통신을 하는 모듈은 상기 프로세서(100)와 슬레 이브 모듈(120)이다. 상기 온칩 버스(110)에 연결된 프로세서(100)는 일반적으로 하나이지만, 필요에 따라 복수 개의 프로세서를 연결할 수 있으며, 상기 프로세서(100)는 상기 슬레이브 모듈(120)에 대해 제어신호를 보내고 슬레이브 모듈(120)로부터 전달받은 데이터를 처리한다. 또한, 상기 슬레이브 모듈(120)은 프로세서의 제어를 받아 각 모듈의 특성에 따라서 시스템 외부나 다른 모듈로부터 데이터를 입력받아서 정해진 동작을 수행하고, 그 결과를 다른 모듈이나 시스템 외부로 전송한다. 이때, 상기 슬레이브 모듈(120)은 상기 프로세서(100)의 제어를 받기만 하며, 능동적으로 통신요구를 하지 않으므로, 통상의 온칩 버스 구조에서 발생하는 문제점인 동일한 버스를 공유하는 다른 마스터 모듈의 대기 문제 등이 없다. The module communicating through the on-
상기 온칩 버스(110)로는 앞서 설명한 AMBA 구조를 갖는 AHB와 ASB 버스 구조 또는 실리콘 백플레인 마이크로 네트워크 구조를 가질 수 있으며, 그 밖에 IBM 사의 CoreConnect 버스 구조, OpenCore 그룹에서 추천하는 Wishbone 버스 구조 또는 별도의 버스 형태를 사용할 수 있으나, 쓰기 또는 읽기 응답 시간이 1~2 사이클 이내로 빠른 버스 구조를 사용하는 것이 바람직하다.The on-
한편, 상기 온칩 네트워크(130)를 통해 통신하는 모듈은 상기 마스터 모듈(140)과 상기 슬레이브 모듈(120)이다. 상기 마스터 모듈(140)은 상기 슬레이브 모듈(120)을 제어하면서 이들에게 데이터를 전송하거나 슬레이브 모듈(120)로부터의 데이터 전송을 요구할 수 있으며, 이들은 상기 프로세서(100)의 제어를 받지않고 동작한다. 이와 같이 각 마스터 모듈(140)은 스스로 다른 슬레이브 모듈(110)에 데이터 통신을 요구할 수 있는바, 복수 개의 마스터 모듈과 복수 개의 슬레이브 모듈을 상기 온칩 버스(110)를 통해 통신하게 할 경우, 버스에 대한 우선권을 갖지 않는 다른 마스터 모듈의 대기 문제가 발생하므로, 온칩 네트워크(130)를 통해 통신하도록 한다.Meanwhile, the modules communicating through the on-
상기 온칩 네트워크(130)의 쓰기 또는 읽기 응답 시간은 2 사이클 이상이 될 수 있지만, 동시에 여러 경로의 데이터를 전송할 수 있어야 하며, 한 번에 많은 양의 데이터를 전송할 때의 평균 응답 시간은 1 사이클에 가깝도록 짧은 것이 바람직하다. The write or read response time of the on-
상기 네트워크 통신구조에서 사용하는 데이터 전송방식으로는 회선 스위칭(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
기본적인 통신구조는 상기 제1 실시 예와 거의 같다. 다만, 상기 슬레이브-마스터 모듈(250)은 상기 슬레이브 모듈(220)을 제어하는 상기 마스터 모듈(220)의 특성이 있지만, 직접적으로 상기 프로세서(200)의 제어를 받는 슬레이브 모듈의 특성도 갖추고 있어, 상기 마스터 모듈의 특성과 슬레이브 모듈의 특성을 모두 갖는 모듈로서 동작한다. 상기 슬레이브-마스터 모듈은 상기 슬레이브 모듈을 제어하는 마스터 모듈 중에 프로세서의 제어를 받아야 할 필요가 있는 경우에 사용된다. The basic communication structure is almost the same as in the first embodiment. However, the slave-
이때, 상기 슬레이브 마스터 모듈(250)은 하나 이상 포함될 수 있다.In this case, one or more
따라서, 상기 슬레이브-마스터 모듈(250)은 상기 온칩 버스(210)를 통해 상기 프로세서(200)의 제어를 받으며, 상기 온칩 네트워크(230)를 통해 상기 슬레이브 모듈(220)과 데이터 통신을 할 수도 있다. 경우에 따라서는 상기 온칩 버스(210)를 통해 상기 슬레이브 모듈(220)과 데이터 통신을 할 수도 있다.Therefore, the slave-
도 2를 다시 참조하면, 상기 온칩 버스(210)를 통해 통신을 하는 모듈은 상기 프로세서(200), 슬레이브 모듈(220) 및 슬레이브-마스터 모듈(250)이다. 상기 프로세서(200)와 슬레이브 모듈(220) 간의 통신 구조는 제1 실시 예와 같다. Referring back to FIG. 2, the modules communicating through the on-
한편, 상기 슬레이브-마스터 모듈(250)의 통신 구조를 살펴보면, 상기 프로세서(200)가 상기 온칩 버스(210)를 통해 통신을 하는 경우에는 슬레이브-마스터 모듈(250)이 버스를 통한 통신을 시도하기 위해 대기할 수도 있지만, 상기 온칩 네트워크(230)를 통한 통신이 가능하므로 대기할 필요가 없게 된다. Meanwhile, referring to the communication structure of the slave-
상기 온칩 버스(210)로는 제1 실시 예와 같은 버스 구조를 사용할 수 있다.As the on-
한편, 상기 온칩 네트워크(230)를 통해 통신하는 모듈은 상기 마스터 모듈(240), 슬레이브 모듈(220) 및 슬레이브-마스터 모듈(250)이다. 상기 마스터 모듈(240)과 슬레이브 모듈(220) 간의 통신 구조는 제1 실시 예와 같다.Meanwhile, the modules communicating through the on-
또한, 상기 슬레이브-마스터 모듈(250)은 기본적으로 마스터 모듈로서의 특성을 가지므로, 상기 온칩 네트워크(230)구조에서 노드가 하나 더 추가된다는 점 외에는 통신 구조 자체에 큰 변화가 없다. 따라서, 상기 슬레이브-마스터 모듈(250)은 상기 마스터모듈(240)과 마찬가지로 상기 슬레이브 모듈(220)에 데이터를 전송하거나 슬레이브 모듈(220)들로부터의 데이터 전송을 요구할 수 있다.In addition, since the slave-
상기 온칩 네트워크(230)로는 제1 실시 예와 같은 네트워크 구조를 사용할 수 있다.As the on-
본 발명은 하나 이상의 프로세서와 하나 이상의 하드웨어 모듈로 구성되는 시스템 온칩의 통신 구조를 제시한 것으로, 본 발명에 따른 시스템 온칩은 두 가지 의 데이터 통신 경로를 복합적으로 갖도록 하여, 데이터 전송의 특성에 따라서 서로 다른 통신 경로를 사용하도록 함으로써 우수한 성능의 시스템 온칩을 설계할 수 있도록 하는 효과가 있다.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)
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 true KR20070061307A (en) | 2007-06-13 |
KR100798302B1 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886861B2 (en) | 2010-12-17 | 2014-11-11 | Samsung Electronics Co., Ltd. | Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS |
US10091136B2 (en) | 2016-04-01 | 2018-10-02 | Electronics & Telecommunications Research Institute | On-chip network device capable of networking in dual switching network modes and operation method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0589033A (en) * | 1991-09-27 | 1993-04-09 | Fujitsu Ltd | Semiconductor integrated circuit |
US6816938B2 (en) | 2001-03-27 | 2004-11-09 | Synopsys, Inc. | Method and apparatus for providing a modular system on-chip interface |
US6823411B2 (en) | 2002-01-30 | 2004-11-23 | International Business Machines Corporation | N-way psuedo cross-bar having an arbitration feature using discrete processor local busses |
US6981082B2 (en) | 2003-05-16 | 2005-12-27 | Agere Systems Inc. | On chip streaming multiple bus protocol with dedicated arbiter |
KR100596982B1 (en) * | 2004-12-15 | 2006-07-05 | 삼성전자주식회사 | 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 |
-
2006
- 2006-09-19 KR KR1020060090365A patent/KR100798302B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886861B2 (en) | 2010-12-17 | 2014-11-11 | Samsung Electronics Co., Ltd. | Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS |
US10091136B2 (en) | 2016-04-01 | 2018-10-02 | Electronics & Telecommunications Research Institute | On-chip network device capable of networking in dual switching network modes and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR100798302B1 (en) | 2008-01-28 |
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 | |
US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
EP0991999B1 (en) | Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates | |
EP2497023B1 (en) | Multiprocessing computing with distributed embedded switching | |
US7058750B1 (en) | Scalable distributed memory and I/O multiprocessor system | |
JP3365705B2 (en) | Distributed data processing system | |
US10749811B2 (en) | Interface virtualization and fast path for Network on Chip | |
EP1779609B1 (en) | Integrated circuit and method for packet switching control | |
US6715055B1 (en) | Apparatus and method for allocating buffer space | |
WO2011151241A1 (en) | Network-on-a-chip with quality-of-service features | |
JPH04218861A (en) | Multiple-cluster-signal processor | |
JP2008546298A (en) | Electronic device and communication resource allocation method | |
US20060140126A1 (en) | Arbitrating virtual channel transmit queues in a switched fabric network | |
JP2006087093A (en) | Packet transmission using output buffer | |
JP3427926B2 (en) | Switching system and switching architecture | |
WO2005088912A1 (en) | Integrated circuit and method for packet switching control | |
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 | |
CN100401279C (en) | Configurable multi-port multi-protocol network interface to support packet processing | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
CN105871761A (en) | High order matrix switch, network on chip and communication method | |
KR100798302B1 (en) | System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network | |
US20040151175A1 (en) | Transparent data format within host device supporting differing transaction types | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates |
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 |