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 PDF

Info

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
Application number
KR1020050063004A
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 KR1020050063004A priority Critical patent/KR20070008077A/en
Publication of KR20070008077A publication Critical patent/KR20070008077A/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor 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

A method and a system for arranging a DMAC(Direct Memory Access Controller) in a structure having ring type multiple processors are provided to increase an entire processing rate by reducing a data transfer time between the processors and quickly outputting data to the outside. A reception DMAC(311) is connected to the first processor in a data transfer direction based on a bridge(350) used as a connection path between a single ring and the outside. A transmission DMAC(314) is connected to the last processor in the data transfer direction based on the bridge. The DMACs include a DSP(Digital Signal Processor)(341-344) capable of processing the transmitted and received data.

Description

환형 다중 프로세서를 가지는 구조에서 직접 메모리 접근 제어기의 배치 방법 및 시스템{METHOD AND SYSTEM FOR ARRANGING ACCESS CONTROLLER OR DIRECT MEMORY HAVING CIRCULAR MULTIPLE PROCESSOR STRUCTURE}METHOD AND SYSTEM FOR ARRANGING ACCESS CONTROLLER OR DIRECT MEMORY HAVING CIRCULAR MULTIPLE PROCESSOR STRUCTURE}

도 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 DSP # 1 141, DSP # 2 142, DSP # 3 143, and DSP # 4 144, respectively, reference numerals 190, 191, 192, and 193, which are data transmission paths. It is connected in a ring-type structure that is transmitted uni-directionally according to 194. Each of the DSPs 141 to 144 includes instruction caches (I $) 161, 162, 163, and 164, and data caches (D $: 172, 172, 173, and 174). And L2 memories 181, 182, 183, and 184, and external interfaces (Ext. I / F) 151, 152, 153, and 154 for data transmission and reception with an external device. The multiple DSP blocks 141, 142, 143, and 144 connected in an annular structure are connected to another processor, a central processing unit (CPU: ARM926EJ-S) 130, through a bridge 150. The CPU 130 used in the SB3000 is ARM926EJ-S manufactured by ARM (Advanced RISC Machines).

상기 도 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 DSP # 1 141, the DSP # 2 142, the DSP # 3 143, and the DSP # 4 144 sequentially rotate clockwise with respect to the bridge 150. Are arranged according to the data transmission direction of the annular data path. In addition, the SB3000 receives A / D data, which is an output of an analog-to-digital converter (ADC), through a receive I / O (Rx I / O) 121. The Rx Direct Memory Access Controller (Rx DMAC) 111 transmits the A / D data to the DSP # 1 141. Meanwhile, the SB3000 chip outputs D / A-converted data, which is an output of a digital-to-analog converter (DAC), through a transmission I / O (Tx I / O) 122. The D / A-converted data causes the Tx Direct Memory Access Controller (Tx DMAC) 112 to be retrieved from DSP # 2 142.

일반적으로 통신용 단말은 수신 신호 처리뿐 아니라 송신 신호의 처리도 수행하며, 대개의 경우 수신 신호 처리가 송신 신호의 처리보다 복잡하고 연산량도 많다. 즉, 전체 필요 연산량의 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 DSPs 141, 142, 143, and 144 can process is referred to as 600 Million Instructions Per Second (MIPS), and a total of four DSPs 141, 142, 143, and 144 are processed. Suppose we can handle this 2400 MIPS of computation. In this case, when the amount of computation for processing the received signal occupies 70% of the total, and the amount of computation for the transmission signal processing occupies 30% of the total, the computations for receiving and transmitting become 1680 MIPS and 720 MIPS, respectively. . Since this amount of computation exceeds 600 MIPS, which can be processed by one DSP, it must be distributed and processed among several DSPs. Therefore, processing of a received signal requiring 1680 MIPS processes 1200 MIPS in two DSP blocks and 480 MIPS in another DSP block. In the processing of the transmission signal, 120 MIPS is processed in the DSP which processes only the 480 MIPS, and 600 MIPS is processed in the other DSP. Thus, a DSP that processes 480 MIPS for transmit processing and 120 MIPS for receive processing handles a total of 720 MIPS.

상기 도 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 data paths 190, 191, 192, 193, 194.

그러면 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 DSP # 1 141 to DSP # 2 142 and 2 cycles to transfer data from DSP # 1 141 to DSP # 3 143. . In addition, it takes four cycles to move data from DSP # 2 142 to DSP # 1 141. Because, the total time required for the bridge 150 to exist in the middle of the path takes 4 cycles. As described above, when the amount of computation for transmitting / receiving signal processing is distributed for each DSP, the DSs that perform the transmission signal processing and the DSPs that perform the reception signal processing need to be located as close as possible because there is a lot of data. In this way, the number of cycles required for data movement can be minimized, and data can be prevented from moving unnecessarily along the annular data path, thereby increasing throughput of the annular data path. Therefore, under this condition, as an example of allocating one DSP for the transmission / reception signal processing, DSP # 1 141 which receives A / D data performs 600 MIPS processing, and DSP # 3 143 is 600 MIPS. Process. In addition, DSP # 4 144 processes 480 MIPS for reception, DSP # 2 142 for exporting D / A data performs 600 MIPS processing, and DSP # 4 144 processes 120 MIPS for transmission data. Using this method, the transmission signal and the reception signal can be processed at once.

그런데 상기 도 1과 같이 구성할 경우 송신 신호 처리를 위한 DSP#2(142)가 수신 신호를 처리하기 위한 DSP들 사이에 존재하게 되므로 수신 신호를 처리하기 위한 DSP들이 시계방향으로 인접하지 못한 문제점이 발생한다. 즉, 수신 신호를 처리하기 위한 DSP들이 서로 인접하지 못할 경우 전체적으로 소요시간이 길어지는 문제가 있다. 따라서 상기한 다중 프로세서의 처리율(throughput)을 감소시키게 된다.However, when configured as shown in FIG. 1, since DSP # 2 142 for processing a transmission signal exists between DSPs for processing a received signal, DSPs for processing a received signal may not be adjacent in a clockwise direction. Occurs. In other words, if the DSPs for processing the received signal are not adjacent to each other, the entire time is long. Therefore, the throughput of the multiprocessor is reduced.

따라서 본 발명의 목적은 프로세서들간에 환형 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기(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 bridge 150 of FIG. 1 is used the same in FIG. 2, but is illustrated as the bridge 250 to distinguish the drawings.

상기 도 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, DSP # 2 242 for receiving A / D data and processing 600 MIPS and A / D data for 600 MIPS are processed by changing the positions of the reception DMAC and the transmission DMAC of FIG. DSP # 3 243 and DSP # 4 244 which process A / D data of 480 MIPS perform processing of the received signal. On the other hand, the DSP # 1 251 processing 600 MIPS D / A data and the DSP # 4 244 processing 120 MIPS D / A data perform transmission signal processing. In this case, there is a problem that it takes two cycles to move data from DSP # 4 244 to DSP # 1 241 because there is a bridge 250 between DSPs for the transmission signal processing. And DSPs for processing received signals are adjacent.

통신용 단말과 달리 방송용 단말은 대개의 경우 수신 신호 처리만 수행한다. 방송용 단말이 처리해야 하는 연산량이 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 DSP # 2 242, the DSP # 4 243, the DSP # 4 244, and the DSP # 1 241, which receive the A / D data, process the received signal. do. If you want to move the data processed by DSP # 1 241 in which the last processing is performed to the external memory through the bridge 250 through the CPU 230 or the Advanced High-speed Bus (AHB) I / O 232, The data may reach the bridge 250 only through the data movement paths 291, 292, 293, and 294.

따라서 상기한 제 1 실시 예에서도 환형 데이터 경로(290, 291, 292, 293, 294)로 유입되는 데이터를 증가시키기 때문에 다른 데이터의 이동을 방해함으로써 전체적인 처리량(throughput)을 감소시킬 수 있다.Therefore, in the above-described first embodiment, since the data flowing into the annular data paths 290, 291, 292, 293, and 294 is increased, the overall throughput may be reduced by preventing the movement of other data.

그러면 다음으로 본 발명의 바람직한 실시 예인 제 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 DSPs 341 to 344 built in the MPSoC are respectively DSP # 1 341, DSP # 2 342, DSP # 3 343, and DSP # 4 344. Are connected in a uni-directional ring structure according to reference numerals 390, 391, 392, 393 and 394. Each DSP block includes instruction caches (I $) (361, 362, 363, 364), data caches (D $: data caches) 371, 372, 373, 374, and L2 memories, respectively. 381, 382, 383, and 384, and external interfaces (Ext. I / F: External Interfaces) 351, 352, 353, and 354 for data transmission and reception with the outside. The multiple DSPs 341 to 344 connected in an annular structure are connected to another processor CPU 330 through a bridge 350. The DSP # 1 341, the DSP # 2 342, the DSP # 3 343, and the DSP # 4 344 sequentially rotate clockwise with respect to the bridge 350 according to the data transmission direction of the annular data path. It is arranged.

또한 상기 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 DSP # 1 341 by a Rx Direct Memory Access Controller (Rx DMAC) 311. Meanwhile, the MPSoC outputs D / A data, which is an output of a digital-to-analog converter (DAC), through a transmission I / O (Tx I / O) 324. Therefore, the D / A data causes a Tx Direct Memory Access Controller (Tx DMAC) to be taken from DSP # 4 (344).

이와 같이 구성함으로써 본 발명의 제 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)

단일 환으로 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기의 배치 방법에 있어서,In a method of disposing a direct memory access controller in a multi-processor system connected by a single ring, 수신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 첫 번째 프로세서와 연결하고,The receiving direct memory access controller connects with the first processor in the direction of data movement based on the bridge, which is the link between the ring and the outside. 송신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 마지막 프로세서와 연결함을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.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. 제 1 항에 있어서,The method of claim 1, 상기 송신용 및 수신용 직접 메모리 접근 제어기는 단방향 직접 메모리 접근 제어기임을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.And transmitting and receiving direct memory access controllers are unidirectional direct memory access controllers. 제 1 항에 있어서,The method of claim 1, 상기 송신용 및 수신용 직접 메모리 접근 제어기는 양방향 직접 메모리 접근 제어기임을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.And transmitting and receiving direct memory access controllers are bidirectional direct memory access controllers. 직접 접근 제어기들이 단일 환으로 연결된 다중 프로세서 시스템에 있어서,In a multiprocessor system in which direct access controllers are connected in a single ring, 수신용 직접 메모리 접근 제어기는 상기 단일 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 첫 번째 프로세서와 연결하고, 송신용 직접 메모리 접근 제어기는 환과 외부와의 연결 통로인 브리지를 기준으로 하여 데이터 이동 방향으로 마지막 프로세서와 연결하며,The receiving direct memory access controller connects to the first processor in the direction of data movement based on the bridge, which is the linkage between the single ring and the outside, and the direct memory access controller for transmission is based on the bridge, which is the linkage between the ring and the outside. To the last processor in the direction of data movement, 상기 직접 접근 제어기들은 송신 및 수신 데이터를 처리할 수 있는 디지털 신호 처리기를 포함함을 특징으로 하는 상기 시스템.And said direct access controllers comprise a digital signal processor capable of processing transmission and reception data. 이중 환으로 연결된 다중 프로세서 시스템에서 직접 메모리 접근 제어기의 배치 방법에 있어서,In a method of disposing a direct memory access controller in a multi-processor system connected by a dual ring, 수신용 직접 메모리 접근 제어기는 상기 이중 환과 외부와의 연결 통로인 브리지를 기준으로 하여 첫 번째 프로세서와 연결하고,Receiving direct memory access controller is connected to the first processor on the basis of the bridge that is the connection path between the double ring and the outside, 송신용 직접 메모리 접근 제어기는 상기 이중 환과 외부와의 연결 통로인 브리지를 기준으로 하여 마지막 프로세서와 연결함을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.The direct memory access controller for transmission is connected to the last processor on the basis of the bridge which is a connection path between the double ring and the outside. 제 5 항에 있어서,The method of claim 5, 상기 송신용 및 수신용 직접 메모리 접근 제어기는 단방향 직접 메모리 접근 제어기임을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.And transmitting and receiving direct memory access controllers are unidirectional direct memory access controllers. 제 5 항에 있어서,The method of claim 5, 상기의 송신용 및 수신용 직접 메모리 접근 제어기는 양방향 직접 메모리 접근 제어기임을 특징으로 하는 직접 메모리 접근 제어기 배치 방법.And transmitting and receiving direct memory access controllers are bidirectional direct memory access controllers.
KR1020050063004A 2005-07-12 2005-07-12 Method and system for arranging access controller or direct memory having circular multiple processor structure KR20070008077A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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