KR20070008077A - Method and system for arranging access controller or direct memory having circular multiple processor structure - Google Patents
Method and system for arranging access controller or direct memory having circular multiple processor structure Download PDFInfo
- Publication number
- KR20070008077A KR20070008077A KR1020050063004A KR20050063004A KR20070008077A KR 20070008077 A KR20070008077 A KR 20070008077A KR 1020050063004 A KR1020050063004 A KR 1020050063004A KR 20050063004 A KR20050063004 A KR 20050063004A KR 20070008077 A KR20070008077 A KR 20070008077A
- Authority
- KR
- South Korea
- Prior art keywords
- direct memory
- memory access
- dsp
- data
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 일반적으로 원-칩(one-chip)으로 구성되는 SB3000칩에 내장된 수신 DMAC와 송신 DMAC의 배치 구성도,1 is a layout diagram of a reception DMAC and a transmission DMAC embedded in an SB3000 chip, which is generally configured as a one-chip;
도 2는 본 발명의 제 1 실시 예에 따른 수신 DMAC와 송신 DMAC의 위치를 도시한 도면,2 is a diagram illustrating positions of a receiving DMAC and a transmitting DMAC according to the first embodiment of the present invention;
도 3은 본 발명의 제 2 실시 예에 의한 MPSoC에 내장된 수신 DMAC와 송신 DMAC의 위치를 도시한 도면.3 is a diagram illustrating positions of a reception DMAC and a transmission DMAC embedded in an MPSoC according to a second embodiment of the present invention.
본 발명은 직접 메모리 접근 제어기의 배치 방법 및 시스템에 관한 것으로, 특히 환형 다중 프로세서를 가지는 구조에서 환형 다중 프로세서를 가지는 구조에서 직접 메모리 접근 제어기의 배치 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for arranging a direct memory access controller, and more particularly, to a method and system for arranging a direct memory access controller in a structure having an annular multiprocessor in a structure having an annular multiprocessor.
일반적으로 메모리에 접근하기 위한 제어기 시스템들은 다양한 형태를 가지 고 있으며, 고속의 데이터를 처리하기 위해 디지털 신호 처리기(Digital Signal Processor : 이하 "DSP"라 함)를 사용하여 프로세서들을 구성한다. 이와 같이 메모리에 접근하기 위한 제어기 시스템들의 형태 중 대표적인 방법으로 환형(Circular) 다중 프로세서를 가지는 방식이 존재한다. 이와 같이 프로세서들간 환형으로 연결된 다중 프로세서 시스템에서 통신용 송수신 및 방송용 수신 신호 처리에 효과적인 직접 메모리 접근 제어기(DMAC: Direct Memory Access Controller)는 다양한 칩들이 개발되어 사용되고 있다. 그러면 환형으로 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기를 가지는 칩(chip)에 대하여 살펴보기로 한다.In general, controller systems for accessing a memory have various forms, and processors are configured using a digital signal processor (hereinafter, referred to as a "DSP") to process high-speed data. As a representative method of the types of controller systems for accessing the memory as described above, there is a method having a circular multiprocessor. As described above, various chips have been developed and used in the direct memory access controller (DMAC), which is effective for processing transmission / reception and broadcast reception signals in a multi-processor system connected in a ring between processors. Next, a chip having a direct memory access controller in an annularly connected multiprocessor system will be described.
도 1은 일반적으로 원-칩(one-chip)으로 구성되는 SB3000칩에 내장된 수신 DMAC와 송신 DMAC의 배치 구성도이다. 상기 도 1에 도시한 SB3000칩은 SDR(Software-Defined Radio)용으로 사용하는 다중 프로세서 시스템 온 칩(MPSoC: Multi-Processor System on Chip)을 개발하는 회사인 샌드 브리지 테크(Sandbridge Tech - http://www.sandbridgetech.com) 사(社)의 SB3000칩에 내장된 수신 DMAC와 송신 DMAC의 위치를 도시한 것이다. 칩에 내장된 4개의 DSP는 각각 DSP#1(141), DSP#2(142), DSP#3(143), DSP#4(144)가 데이터 전송 경로인 참조번호 190, 191, 192, 193, 194에 따라 단방향(Uni-directional)으로 전송되는 환(Ring)형 구조로 연결되어 있다. 상기 각 DSP들(141 ~ 144)은 명령어 캐시(I$: Instruction Cache)들(161, 162, 163, 164)과, 데이터 캐시(D$: Data Cache)들(171, 172, 173, 174)과 L2메모리들(181, 182, 183, 184) 및 외부와의 데이터 송수신을 위한 외부 인터페이스(Ext. I/F: External Interface)들(151, 152, 153, 154)을 포함한다. 환형 구조 로 연결된 다중 DSP 블록들(141, 142, 143, 144)은 또 다른 프로세서인 중앙 처리 장치(CPU : Central Processing Unit - ARM926EJ-S)(130)와 브리지(150)를 통하여 연결된다. 상기의 SB3000에서 사용된 상기의 CPU(130)는 ARM(Advanced RISC Machines) 사(社)의 ARM926EJ-S이다.1 is a layout diagram of a reception DMAC and a transmission DMAC embedded in an SB3000 chip, which is generally configured as a one-chip. The SB3000 chip shown in FIG. 1 is Sandbridge Tech, a company that develops a multi-processor system on chip (MPSoC) used for software-defined radio (SDR). /www.sandbridgetech.com) shows the locations of the receiving and transmitting DMACs embedded in the SB3000 chip of the company. The four DSPs embedded in the chip are
상기 도 1에 도시한 바에서 알 수 있듯이 브리지(150)를 기준으로 시계방향으로 DSP#1(141), DSP#2(142), DSP#3(143), DSP#4(144)가 순차적으로 환형 데이터 경로의 데이터 전송 방향에 따라 배치되어 있다. 또한 수신 I/O(Rx I/O)(121)를 통하여 아날로그-디지털 변환기(ADC : Analog-to-Digital Converter)의 출력인 A/D 데이터를 SB3000은 받아들인다. 상기의 A/D 데이터를 수신 직접 메모리 접근 제어기(Rx DMAC : Rx Direct Memory Access Controller)(111)가 DSP#1(141)로 전달한다. 한편, SB3000칩은 송신 I/O(Tx I/O)(122)를 통하여 디지털-아날로그 변환기(DAC : Digital-to-Analog Converter)의 출력인 D/A 변환된 데이터를 출력한다. 상기의 D/A 변환된 데이터는 송신 직접 메모리 접근 제어기(Tx DMAC : Tx Direct Memory Access Controller)(112)가 DSP#2(142)에서 가져오게 한다.As shown in FIG. 1, the
일반적으로 통신용 단말은 수신 신호 처리뿐 아니라 송신 신호의 처리도 수행하며, 대개의 경우 수신 신호 처리가 송신 신호의 처리보다 복잡하고 연산량도 많다. 즉, 전체 필요 연산량의 50%이상이 수신 신호 처리가 차지한다. 예를 들면, 상기의 각 DSP들(141, 142, 143, 144)이 처리할 수 있는 연산량을 600 MIPS(Million Instructions Per Second)라고 하고, 총 4개의 DSP들(141, 142, 143, 144)이 2400 MIPS의 연산량을 처리할 수 있다고 가정하자. 이 경우에 수신 신호 처 리를 위한 연산량이 전체의 70%를 차지하고, 송신 신호 처리를 위한 연산량이 전체의 30%를 차지한다고 했을 때, 수신 및 송신을 위한 연산량은 각각 1680 MIPS, 720 MIPS가 된다. 이 연산량은 하나의 DSP가 처리할 수 있는 연산량인 600 MIPS를 넘기 때문에 여러 DSP에 분산되어 처리되어야 한다. 그러므로 1680 MIPS가 필요한 수신 신호의 처리는 2개의 DSP블록에서 1200 MIPS를 처리하고, 또 하나의 DSP 블록에서 480 MIPS를 처리한다. 그리고, 송신 신호의 처리는 상기의 480 MIPS만 처리한 DSP에서 120 MIPS를 처리하고, 나머지 한 DSP에서 600 MIPS를 처리한다. 따라서 송신 처리를 위해 480 MIPS와 수신 처리를 위해 120 MIPS를 처리하는 DSP는 전체적으로 총 720 MIPS를 처리한다.In general, a communication terminal performs processing of a transmission signal as well as a reception signal processing. In general, the reception terminal processing is more complicated and has a larger amount of calculation than processing of a transmission signal. That is, over 50% of the total required calculation amount is received signal processing. For example, the amount of computation that each of the
상기 도 1과 같은 환형 데이터 전송 경로를 따라 한 DSP에서 시계방향으로 인접한 DSP로 데이터가 이동할 때, 사이클의 수로 표현되는 단위 시간이 소요된다. 실제로 소요되는 사이클의 수는 DSP 내의 어떤 메모리 영역에서 다른 DSP의 어떤 메모리 영역으로 데이터가 이동하느냐에 따라 다를 수 있다. 설명을 간단히 하기 위해 참조번호 190, 191, 192, 193, 194의 데이터 경로를 따라 데이터를 이동시키는데 1 사이클이 소요된다고 한다.When data moves from one DSP to a clockwise adjacent DSP along the annular data transmission path as shown in FIG. 1, it takes unit time expressed as the number of cycles. The number of cycles actually taken may vary depending on which memory area in the DSP moves from one memory area to another. For simplicity, one cycle is required to move data along the
그러면 DSP#1(141)에서 DSP#2(142)로 데이터를 전송하는데 1 사이클이 소요되고, DSP#1(141)에서 DSP#3(143)으로 데이터를 전송하는데 2 사이클이 걸린다고 할 수 있다. 또한 DSP#2(142)에서 DSP#1(141)로 데이터를 이동할 시 4 사이클이 소요된다. 왜냐하면, 경로의 중간에 브리지(150)가 존재하기 전체 소요 시간은 4 사이클이 소요된다. 상기와 같이 송수신 신호 처리를 위한 연산량을 DSP별로 배분할 경우 송신 신호처리를 수행하는 DS들과 수신 신호 처리를 수행하는 DSP들은 서로 주고받는 데이터가 많기 때문에 가능하면 가까이 위치하게 함이 필요하다. 이렇게 함으로써 데이터 이동으로 소요되는 사이클 수를 최소화하고, 상기의 환형 데이터 경로를 따라 불필요하게 데이터가 이동하는 것을 방지하여 상기 환형 데이터 경로의 처리량(throughput)을 높일 수 있다. 따라서 이와 같은 조건 하에 상기의 송수신 신호 처리를 위한 하나의 DSP를 할당의 한 예로써 A/D 데이터를 수신하는 DSP#1(141)은 600 MIPS 처리를 하며, DSP#3(143)은 600 MIPS 처리한다. 또한 DSP#4(144)는 수신용 480 MIPS 처리하며, D/A 데이터를 내보내는 DSP#2(142)는 600 MIPS 처리하고, 상기 DSP#4(144)는 송신용 데이터를 120 MIPS 처리한다. 이와 같은 방법을 이용하여 송신 신호와 수신 신호를 한번에 처리할 수 있다.Then, it can be said that it takes 1 cycle to transfer data from
그런데 상기 도 1과 같이 구성할 경우 송신 신호 처리를 위한 DSP#2(142)가 수신 신호를 처리하기 위한 DSP들 사이에 존재하게 되므로 수신 신호를 처리하기 위한 DSP들이 시계방향으로 인접하지 못한 문제점이 발생한다. 즉, 수신 신호를 처리하기 위한 DSP들이 서로 인접하지 못할 경우 전체적으로 소요시간이 길어지는 문제가 있다. 따라서 상기한 다중 프로세서의 처리율(throughput)을 감소시키게 된다.However, when configured as shown in FIG. 1, since
따라서 본 발명의 목적은 프로세서들간에 환형 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기(Direct Memory Access Controller : 이하 "DMAC"라 함)를 통신용 송수신 및 방송용 수신 신호처리에 효과적인 위치에 배치하기 위한 방법 및 그 시스템을 제공함에 있다.Accordingly, an object of the present invention is to provide a method for arranging a direct memory access controller (Direct Memory Access Controller) (hereinafter referred to as "DMAC") in an annularly connected multiprocessor system at an effective position for communication transmission and reception and broadcast reception signal processing. In providing a system.
본 발명의 다른 목적은 프로세서들간에 환형 연결된 다중 프로세서 시스템에서 DMAC를 적절한 위치에 배치함으로써 수신 신호의 처리와 송신 신호의 처리를 동시에 수행하는 다중 프로세서 시스템에서 수신 신호를 처리하는 프로세서군과 송신 신호처리를 수행하는 프로세서군이 서로 인접하여 프로세서간 데이터 이동으로 인한 불필요한 시간 또는 사이클 수의 낭비를 최소화할 수 있는 방법 및 시스템을 제공함에 있다.Another object of the present invention is a processor group for processing a received signal and a transmit signal processing in a multiprocessor system which simultaneously performs processing of a received signal and a transmitted signal by arranging DMACs at appropriate positions in a multiprocessor system annularly connected between processors. To provide a method and system that can be minimized waste of unnecessary time or cycle due to data movement between processors adjacent to each other.
본 발명의 또 다른 목적은 프로세서들간에 환형 연결된 다중 프로세서 시스템에서 DMAC를 적절한 위치에 배치함으로써 다중 프로세서 시스템에서 마지막으로 신호 처리를 수행하는 프로세서의 출력이 불필요하게 환형 데이터 경로를 통해 이동하는 것을 최소화하고, 상기 출력이 브리지 등을 통해 외부로 전송되는데 소요되는 시간 또는 사이클 수를 최소화할 수 있는 방법 및 시스템을 제공함에 있다.Another object of the present invention is to place DMAC in the proper position in the annularly connected multiprocessor system between the processors to minimize the need for the output of the processor performing the last signal processing in the multiprocessor system to travel unnecessarily through the annular data path. In addition, the present invention provides a method and system capable of minimizing the number of cycles or time required for the output to be transmitted to the outside through a bridge or the like.
상기한 목적들을 달성하기 위한 본 발명의 방법은, 단일 환으로 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기의 배치 방법으로서, 수신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 첫 번째 프로세서와 연결하고, 송신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 마지막 프로세서와 연결함을 특징으로 한다.A method of the present invention for achieving the above objects is a method of arranging a direct memory access controller in a multi-processor system connected by a single ring, wherein the receiving direct memory access controller is based on a bridge that is a connection path between the ring and the outside. The direct memory access controller for transmission is connected to the first processor in the direction of movement, and the last processor is connected to the last processor in the direction of data movement based on a bridge, which is a connection path between the ring and the outside.
상기한 목적들을 달성하기 위한 본 발명의 시스템은, 직접 접근 제어기들이 단일 환으로 연결된 다중 프로세서 시스템으로서, 수신용 직접 메모리 접근 제어기는 상기 단일 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 첫 번째 프로세서와 연결하고, 송신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 마지막 프로세서와 연결하며, 상기 직접 접근 제어기들은 송신 및 수신 데이터를 처리할 수 있는 디지털 신호 처리기를 포함한다.A system of the present invention for achieving the above objects is a multi-processor system in which direct access controllers are connected in a single ring, and a receiving direct memory access controller is a data movement direction based on a bridge that is a connection path between the single ring and the outside. In this case, the direct memory access controller for transmission is connected to the last processor in the direction of data movement based on a bridge, which is a connection path between the ring and the outside, and the direct access controllers can process transmit and receive data. It includes a digital signal processor.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 또한 하기 설명에서는 구체적인 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, specific details appear in the following description, which is provided to help a more general understanding of the present invention, and the present invention may be practiced without these specific matters. Will be self-evident. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 2는 본 발명의 제 1 실시 예에 따른 수신 DMAC와 송신 DMAC의 위치를 도시한 도면이다. 이하 도 2를 종래 기술에서 설명한 도 1과 비교하여 살펴보기로 한다. 도 1과 도 2를 대비하여 살피기 전에 상기 도 2에서는 도 1과 동일한 부분들이더라도 도면의 구분을 용이하게 하기 위하여 참조번호를 200번대를 사용하고 있음에 유의해야 한다. 즉, 예를 들어 도 1의 브리지(150)는 도 2에서도 동일하게 사용 되며, 다만 도면의 구분을 위하여 브리지(250)으로 도시하였다.2 is a diagram illustrating positions of a receiving DMAC and a transmitting DMAC according to the first embodiment of the present invention. Hereinafter, FIG. 2 will be compared with FIG. 1 described in the related art. Before the comparison of FIGS. 1 and 2, it should be noted that the reference numeral 200 is used in FIG. 2 to facilitate the differentiation of the drawings even though the same parts as those of FIG. 1 are used. That is, for example, the
상기 도 2에서는 종래 기술에서 전술한 도 1의 수신 DMAC와 송신 DMAC의 위치를 바꿈으로써 A/D 데이터를 수신하고 600 MIPS 처리하는 DSP#2(242)와, 600 MIPS의 A/D 데이터를 처리하는 DSP#3(243) 및 480 MIPS의 A/D 데이터를 처리하는 DSP#4(244)가 수신 신호의 처리를 수행한다. 한편, 600 MIPS의 D/A 데이터를 처리하는 DSP#1(251)과, 120 MIPS의 D/A 데이터를 처리하는 DSP#4(244)가 송신 신호처리를 수행하도록 한다. 이와 같은 경우 송신 신호 처리를 위한 DSP 사이에 브리지(250)가 존재하여 DSP#4(244)에서 DSP#1(241)로 데이터를 이동시키는데 2사이클이 소요되는 문제점이 있지만 송신 신호 처리를 위한 DSP들과 수신 신호 처리를 위한 DSP들이 인접해 있다는 장점이 존재한다.In FIG. 2,
통신용 단말과 달리 방송용 단말은 대개의 경우 수신 신호 처리만 수행한다. 방송용 단말이 처리해야 하는 연산량이 2100 MIPS라고 하면, 3개의 DSP블록에서 600 MIPS씩을 처리하고, 나머지 한 DSP블록에서 300 MIPS를 처리하면 된다. 그런데 이 경우 도 2와 같은 환형 구조에서는 A/D 데이터를 수신하는 DSP#2(242)를 비롯하여 DSP#3(243), DSP#4(244) 및 DSP#1(241)이 수신 신호를 처리한다. 마지막 처리가 이루어지는 DSP#1(241)에서 처리된 데이터를 브리지(250)를 통하여 CPU(230) 혹은 AHB(Advanced High-speed Bus) I/O(232)를 통하여 외부 메모리 등으로 이동하고자 하면, 상기의 데이터는 데이터 이동 경로들인 참조번호 291, 292, 293, 294를 거쳐야만 브리지(250)에 도달할 수 있다.Unlike a communication terminal, a broadcast terminal generally performs only received signal processing. If the amount of computation that the broadcast terminal needs to process is 2100 MIPS, it is enough to process 600 MIPS for each of the three DSP blocks and 300 MIPS for the other DSP block. In this case, however, in the annular structure of FIG. 2, the
따라서 상기한 제 1 실시 예에서도 환형 데이터 경로(290, 291, 292, 293, 294)로 유입되는 데이터를 증가시키기 때문에 다른 데이터의 이동을 방해함으로써 전체적인 처리량(throughput)을 감소시킬 수 있다.Therefore, in the above-described first embodiment, since the data flowing into the
그러면 다음으로 본 발명의 바람직한 실시 예인 제 2 실시 예에 대하여 살펴보기로 한다.Next, a second embodiment of the present invention will be described.
본 발명의 제 2 실시 예에서는 환형 연결된 다중 프로세서가 모두 동종의 프로세서인 경우에 한정하여 설명하지만 본 발명에서 제시하는 방법을 이용하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 용이하게 환형 연결된 각각의 프로세서가 서로 다른 경우에도 동일하게 적용할 수 있을 것이다. 또한, 본 발명의 실시 예는 시계 방향으로만 데이터가 이동할 수 있는 단일 환으로 연결된 다중 프로세서 시스템에 대해서만 설명하지만 본 발명에서 제시하는 방법을 이용하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 용이하게 시계 방향과 반시계 방향으로 데이터가 이동하는 이중 환으로 연결된 다중 프로세서 시스템에도 적용할 수 있을 것이다. 또한 본 발명의 실시 예는 단방향 DMAC에 대해서만 설명하지만 본 발명에서 제시하는 방법을 이용하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진자는 용이하게 양방향 DMAC에 대해서도 적용할 수 있을 것이다.In the second embodiment of the present invention, the annularly connected multiprocessors are all limited to the same type of processor, but those skilled in the art to which the present invention pertains can easily use the annularly connected method using the method of the present invention. The same applies to different processors. In addition, although the embodiment of the present invention describes only a multi-processor system connected by a single ring in which data can move only in a clockwise direction, a person skilled in the art using the method of the present invention belongs to It can also be applied to multiprocessor systems connected by dual rings that easily move data clockwise and counterclockwise. In addition, the embodiment of the present invention will be described only for unidirectional DMAC, but those skilled in the art to which the present invention pertains may be easily applied to the bidirectional DMAC using the method of the present invention.
도 3은 본 발명의 제 2 실시 예에 의한 MPSoC에 내장된 수신 DMAC와 송신 DMAC의 위치를 도시한 도면이다. 상기 도 3에서도 참조부호를 부여함에 있어, 도면을 구분하기 위해 300번대를 사용하고 있음에 유의하기로 한다.3 is a diagram illustrating positions of a reception DMAC and a transmission DMAC embedded in an MPSoC according to a second embodiment of the present invention. In FIG. 3, reference numerals are used to designate reference numerals 300 to distinguish the drawings.
상기 도 3에 도시한 바와 같이 MPSoC에 내장된 4개의 DSP들(341 ~ 344)은 각각 DSP#1(341), DSP#2(342), DSP#3(343), DSP#4(344)가 데이터 전송 경로들인 참조 번호 390, 391, 392, 393, 394에 따라 단방향(Uni-directional) 환(Ring)형 구조로 연결되어 있다. 각 DSP 블록은 각각 명령어 캐시(I$: Instruction Cache)들(361, 362, 363, 364)과, 데이터 캐시(D$: Data Cache)들(371, 372, 373, 374)과, L2메모리들(381, 382, 383, 384) 및 외부와의 데이터 송수신을 위한 외부 인터페이스(Ext. I/F: External Interface)들(351, 352, 353, 354)을 포함한다. 환형 구조로 연결된 다중 DSP들(341 ~ 344)은 또 다른 프로세서인 CPU(330)와 브리지(350)를 통하여 연결된다. 상기 브리지(350)를 기준으로 시계 방향으로 DSP#1(341), DSP#2(342), DSP#3(343), DSP#4(344)가 순차적으로 환형 데이터 경로의 데이터 전송 방향에 따라 배치되어 있다. As illustrated in FIG. 3, the four
또한 상기 MPSoC는 수신 I/O(Rx I/O)(321)를 통하여 아날로그-디지털 변환기(ADC : Analog-to-Digital Converter)의 출력인 A/D 데이터를 수신한다. 그리고 상기의 A/D 데이터를 수신 직접 메모리 접근 제어기(Rx DMAC : Rx Direct Memory Access Controller)(311)가 DSP#1(341)로 전달한다. 한편, MPSoC는 송신 I/O(Tx I/O)(324)를 통하여 디지털-아날로그 변환기(DAC: Digital-to-Analog Converter)의 출력인 D/A 데이터를 출력한다. 따라서 D/A 데이터는 송신 직접 메모리 접근 제어기(Tx DMAC : Tx Direct Memory Access Controller)가 DSP#4(344)에서 가져오게 한다.In addition, the MPSoC receives A / D data, which is an output of an analog-to-digital converter (ADC), through a receive I / O (Rx I / O) 321. The A / D data is transmitted to the
이와 같이 구성함으로써 본 발명의 제 2 실시 예에서는 프로세서들간에 환형 연결된 다중 프로세서 시스템에서 수신 DMAC를 환형 구조의 데이터 진행 방향을 기준으로 첫 번째 프로세서와 연결하고, 송신 직접 메모리 접근 제어기를 마지막 프 로세서에 연결함으로써 상기의 다중 프로세서 시스템을 이용하여 사용자가 통신 시스템을 프로그래밍할 경우에 수신 신호처리를 수행하는 프로세서군과 송신 신호처리를 수행하는 프로세서군이 서로 인접하게 배치할 수 있게 된다. 따라서 종래 기술에서 살핀 프로세서간 데이터 이동으로 인한 불필요한 시간 또는 사이클 수의 낭비를 최소할 수 있다. 또한 신호 처리를 수행하는 프로세서의 출력이 불필요하게 환형 데이터 경로를 통해 이동하는 것을 최소함으로써 출력이 브리지 등을 통해 외부로 전송되는데 소요되는 시간 또는 사이클의 수를 최소화 할 수 있다.In this configuration, in the second embodiment of the present invention, in a multiprocessor system annularly connected between processors, the receiving DMAC is connected to the first processor based on the data progress direction of the annular structure, and the transmitting direct memory access controller is connected to the last processor. By connecting, when the user programs the communication system using the multiprocessor system, the processor group performing the reception signal processing and the processor group performing the transmission signal processing can be arranged adjacent to each other. Therefore, in the prior art, it is possible to minimize unnecessary waste of time or cycles due to data movement between salping processors. In addition, by minimizing the unnecessary output of the processor performing the signal processing through the annular data path, it is possible to minimize the time or the number of cycles required for the output to be transmitted to the outside through the bridge.
이상에서 살핀 바와 같이 본 발명에 따른 환형 다중 프로세서 구조를 가지는 경우 프로세서간 데이터 전송 시간이 줄어들게 되며, 외부로 출력이 빨라져 전체적인 처리율을 증대시킬 수 있는 이점이 있다.As described above, in the case of the annular multiprocessor structure according to the present invention, data transmission time between processors is reduced, and output is increased to the outside, thereby increasing the overall throughput.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050063004A KR20070008077A (en) | 2005-07-12 | 2005-07-12 | Method and system for arranging access controller or direct memory having circular multiple processor structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050063004A KR20070008077A (en) | 2005-07-12 | 2005-07-12 | Method and system for arranging access controller or direct memory having circular multiple processor structure |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070008077A true KR20070008077A (en) | 2007-01-17 |
Family
ID=38010341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050063004A KR20070008077A (en) | 2005-07-12 | 2005-07-12 | Method and system for arranging access controller or direct memory having circular multiple processor structure |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070008077A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597637A (en) * | 2009-07-28 | 2012-07-18 | Kaz欧洲有限公司 | Combination warm and cool mist humidifier |
US8749567B2 (en) | 2007-09-14 | 2014-06-10 | Samsung Electronics Co., Ltd. | Apparatus for and method of processing vertex |
-
2005
- 2005-07-12 KR KR1020050063004A patent/KR20070008077A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749567B2 (en) | 2007-09-14 | 2014-06-10 | Samsung Electronics Co., Ltd. | Apparatus for and method of processing vertex |
CN102597637A (en) * | 2009-07-28 | 2012-07-18 | Kaz欧洲有限公司 | Combination warm and cool mist humidifier |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537532B2 (en) | Lookahead priority collection to support priority elevation | |
JP7227680B2 (en) | Multi-core bus architecture with non-blocking high performance transaction credit system | |
US8732370B2 (en) | Multilayer arbitration for access to multiple destinations | |
EP1436721B1 (en) | Digital signal processor for wireless baseband processing | |
KR0176262B1 (en) | Method and apparatus for handling interrupts in a multiprocessor computer system | |
JP4386636B2 (en) | Processor architecture | |
US6653859B2 (en) | Heterogeneous integrated circuit with reconfigurable logic cores | |
CN1316402C (en) | Processor structure | |
CN102446158B (en) | Multi-core processor and multi-core processor set | |
WO1991020044A1 (en) | Communication exchange system for a multiprocessor system | |
US20130054852A1 (en) | Deadlock Avoidance in a Multi-Node System | |
US11321268B2 (en) | Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels | |
WO2019090032A1 (en) | Memory network processor | |
US6594711B1 (en) | Method and apparatus for operating one or more caches in conjunction with direct memory access controller | |
WO1991020043A1 (en) | Global registers for a multiprocessor system | |
EP1083487A2 (en) | Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor | |
KR20070008077A (en) | Method and system for arranging access controller or direct memory having circular multiple processor structure | |
US6667636B2 (en) | DSP integrated with programmable logic based accelerators | |
WO2004084064A3 (en) | Type conversion unit in a multiprocessor system | |
KR100976628B1 (en) | Multi-processor system and multi-processing method in multi-processor system | |
KR100279744B1 (en) | Single-Chip Multiprocessor Microprocessor with Synchronized Dedicated Register File | |
CN115858429A (en) | DMA data carrying method and system based on AHB bus | |
Kumura et al. | Performance evaluation of the AV CODEC on a low-power SPXK5SC DSP core | |
JPS6041786B2 (en) | interrupt control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |