KR100849531B1 - Method of direct memory access in digital signal processor and digital signal processor by using the same - Google Patents

Method of direct memory access in digital signal processor and digital signal processor by using the same Download PDF

Info

Publication number
KR100849531B1
KR100849531B1 KR1020060075966A KR20060075966A KR100849531B1 KR 100849531 B1 KR100849531 B1 KR 100849531B1 KR 1020060075966 A KR1020060075966 A KR 1020060075966A KR 20060075966 A KR20060075966 A KR 20060075966A KR 100849531 B1 KR100849531 B1 KR 100849531B1
Authority
KR
South Korea
Prior art keywords
memory
data
dsp
digital signal
bits
Prior art date
Application number
KR1020060075966A
Other languages
Korean (ko)
Other versions
KR20080014367A (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 엠텍비젼 주식회사
Priority to KR1020060075966A priority Critical patent/KR100849531B1/en
Publication of KR20080014367A publication Critical patent/KR20080014367A/en
Application granted granted Critical
Publication of KR100849531B1 publication Critical patent/KR100849531B1/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/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microcomputers (AREA)

Abstract

디지털 신호 처리 장치의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치의 직접 메모리 액세스 방법에 있어서, 외부 메모리에 기록된 데이터를 m비트 단위로 독출(read)하고, 독출된 데이터를 m비트 단위로 l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모리로 전송하되, 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법이 제공된다.Disclosed are a direct memory access method of a digital signal processing apparatus and a digital signal processing apparatus using the same. According to a preferred embodiment of the present invention, in a direct memory access method of a digital signal processing apparatus of an n-bit processing unit connected to an external memory having an m-bit bandwidth, data written to the external memory is read in m-bit units ( read) and transfer the read data to the internal data memory with the memory width of lxk (l is a natural number of 1 or more, k is the least common multiple of m and n) in units of m bits, but the data stored in the internal data memory is Provided is a direct memory access method of a digital signal processing apparatus, which is read and calculated in units of n bits.

본 발명에 따르면, 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속도를 떨어뜨리지 않는 장점이 있다.According to the present invention, there is no need for a combination circuit for various data input and output, there is an advantage that does not reduce the processing speed of the DSP.

디지털신호처리장치, DSP, DMA, 직접, 메모리, 액세스, FIFO Digital Signal Processor, DSP, DMA, Direct, Memory, Access, FIFO

Description

디지털 신호 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치{Method of direct memory access in digital signal processor and digital signal processor by using the same}Method of direct memory access in digital signal processor and digital signal processor by using the same}

도 1은 종래의 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면.1 illustrates an interface for direct memory access in a conventional DSP.

도 2는 종래의 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이터가 저장되는 과정을 나타낸 도면.2 is a diagram illustrating a process of storing data in a data memory by a direct memory access method in a conventional DSP.

도 3은 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면.3 illustrates an interface for direct memory access in a DSP in accordance with one preferred embodiment of the present invention.

도 4는 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이터가 저장되는 과정을 나타낸 도면.4 is a diagram illustrating a process of storing data in a data memory by a direct memory access method in a DSP according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시예에 따른 DSP에서 데이터 메모리에 저장된 데이터를 독출하는 과정을 나타낸 도면.5 is a diagram illustrating a process of reading data stored in a data memory in a DSP according to an exemplary embodiment of the present invention.

본 발명은 디지털 신호 처리 장치(DSP : Digital Signal Processor, 이하 DSP라 함)에 관한 것으로서, 보다 상세하게는 DSP와 외부 메모리의 대역폭이 다른 경우 DSP의 직접 메모리 액세스 방법 및 이를 이용한 DSP에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor (DSP), and more particularly, to a direct memory access method of a DSP and a DSP using the same when a bandwidth between the DSP and an external memory is different.

DSP는 디지털 연산에 의해 신호 처리를 하는 하나의 집적 회로(IC : Integrated Circuit) 칩으로 된 마이크로프로세서(microprocessor)이다.A DSP is a microprocessor of one integrated circuit (IC) chip that processes signals by digital operations.

DSP는 주로 음성 합성, 음성 인식, 음성 부호화, 압축, 고속 모뎀, 반향 소거 장치 등의 음성 및 통신 장치에 널리 사용되고 있다. 특히, 수학 연산에 있어서 우수한 성능을 나타내므로 호프만 디코딩, 역양자화 등의 수학적 연산이 많은 음성 데이터를 처리하기 위해서 일반 프로세서(processor)보다 DSP가 널리 사용된다.DSPs are widely used in speech and communication devices, mainly speech synthesis, speech recognition, speech encoding, compression, high speed modems, echo cancellation devices, and the like. In particular, since it shows excellent performance in mathematical operations, DSP is more widely used than a general processor to process speech data having many mathematical operations such as Hoffman decoding and inverse quantization.

DSP는 수학 연산을 위해 부동 소수점 연산을 내장하거나 곱셈과 덧셈을 한 사이클(cycle)에 수행할 수 있는 MAC(Multiply and Accumulation) 연산 기능 등이 하드웨어적으로 설계되어 내장되어 있으며, 또한 DSP 내부에 두개 이상의 명령어를 수행하고, 반복 연산을 빠르게 수행할 수 있도록 구성되기도 한다.DSP has built-in hardware design and built-in floating point operation for mathematical operation or multiply and accumulation (MAC) operation function that can perform multiplication and addition in one cycle. It can also be configured to perform the above instructions and to perform repetitive operations quickly.

직접 메모리 액세스(DMA : Direct Memory Access, 이하 DMA라 함)는 별도의 프로그램의 실행없이 기억 장치인 메모리로 직접 데이터를 전송하는 방식으로 데이터의 입출력 속도를 향상시킬 수 있는 메모리 액세스 방식이다.Direct memory access (DMA) is a memory access method that improves the input / output speed of data by transferring data directly to a memory device, without executing a separate program.

한편, DSP의 내부에는 프로그램 메모리와 프로그램이 사용할 데이터 메모리를 포함하여 구성되며, 데이터 메모리는 X메모리와 Y메모리 두개로 구성될 수 있다.On the other hand, the DSP is configured to include a program memory and a data memory to be used by the program, and the data memory may be composed of two X memories and two Y memories.

프로그램 메모리에는 프로그램이 저장되며 또한, 음성 데이터 처리를 위한 MP3, WMA, ACC 등의 디지털 음성 신호 데이터의 경우에도 프로그램 메모리에 저장된다.The program is stored in the program memory, and also in the case of digital voice signal data such as MP3, WMA, and ACC for voice data processing.

프로그램 메모리에 저장된 프로그램은 실제로 연산을 수행하는 DSP 코어(core)가 페치(petch)하여 디코딩(decoding)하고 실행한다. DSP 코어(core)에는 컴파일러(compiler)나 디버거(debugger)와 같은 구성 요소가 포함될 수 있다.The program stored in the program memory is fetched, decoded, and executed by a DSP core that actually performs an operation. The DSP core may include components such as a compiler or debugger.

프로그램 메모리는 외부 메모리에서 입력되는 프로그램이 전송되어 저장되므로 외부 메모리의 대역폭과 같은 32비트로 구성된다.The program memory is composed of 32 bits equal to the bandwidth of the external memory because the program input from the external memory is transmitted and stored.

그러나, 현재 널리 사용되는 DSP는 24비트의 처리 단위를 가지므로 DSP에서 연산된 데이터가 저장되는 데이터 메모리는 24비트 대역폭을 가진 메모리로 구성된다.However, currently widely used DSP has a processing unit of 24 bits, so the data memory in which data calculated in the DSP is stored is composed of a memory having 24-bit bandwidth.

따라서 데이터 메모리가 24비트의 대역폭을 가지므로 데이터 메모리에서 외부 메모리로 데이터를 입/출력하는 경우 외부 메모리와 서로 대역폭이 맞지 않는 문제점이 있다.Therefore, since the data memory has a bandwidth of 24 bits, there is a problem that the bandwidth does not match with the external memory when inputting / outputting data from the data memory to the external memory.

이러한 문제점을 해결하기 위한 DSP의 구성이 제안되었으나 이러한 경우에도 문제점이 발생되고 있다. 이에 대하여 관련 도면을 참조하여 상세히 설명하기로 한다.A DSP configuration has been proposed to solve this problem, but a problem has arisen in such a case. This will be described in detail with reference to the accompanying drawings.

상기한 데이터 메모리에서 외부 메모리로 데이터를 입출력하는 경우 서로 대역폭이 맞지 않는 문제점을 해결하기 위한 종래의 DSP의 구성과 데이터 입출력을 도 1을 참조하여 살펴본다.Referring to FIG. 1, a configuration and data input / output of a conventional DSP for solving a problem in which bandwidths do not coincide with each other when data is input / output from the data memory to the external memory are described.

도 1은 종래의 DSP에서의 직접 메모리 액세스를 위한 인터페이스를 도시한 도면이다.1 is a diagram illustrating an interface for direct memory access in a conventional DSP.

도 1에 도시된 바와 같이, 종래의 DSP는 복수의 DSP DMA 제어부(100a, 100b, … , 이하 100으로 통칭함), 선택부(Selector)1(110), 선택부(Selector)2(120), AHB(Advanced High-performance Bus) 마스터(master)(130), DSP 슬레이브(slave)(140), AHB 슬레이브(150), SFR(Special Function Register)(160)을 포함한다.As shown in FIG. 1, a conventional DSP includes a plurality of DSP DMA controllers 100a, 100b, ..., hereinafter referred to collectively as 100, a selector 1 (110), and a selector 2 (120). AHB (Advanced High-performance Bus) master (130), DSP slave (Slave) 140, AHB slave 150, SFR (Special Function Register) (160).

도 1에는 미도시하였으나, 전술한 바와 같이 DSP에는 명령어를 읽고 실행하는 DSP 코어가 더 포함되며, DSP 내부의 프로그램 메모리와 데이터 메모리가 더 포함된다.Although not shown in FIG. 1, the DSP further includes a DSP core that reads and executes an instruction, and further includes a program memory and a data memory inside the DSP.

종래의 DSP에 포함되는 DSP DMA 제어부(100)는 DSP 내의 데이터 메모리와 프로그램 메모리로의 직접 메모리 액세스를 제어하는 부분으로 AHB 마스터(102), FIFO(104), DSP 마스터(106)를 포함한다.The DSP DMA control unit 100 included in the conventional DSP includes an AHB master 102, a FIFO 104, and a DSP master 106 as a part for controlling direct memory access to data memory and program memory in the DSP.

FIFO(104)는 DSP와 데이터 메모리의 대역폭이 서로 맞지 않는 문제점을 해결하기 위해 채널마다 하드웨어적으로 추가되는 선입선출 장치 또는 회로이다. FIFO(104)는 특정 데이터가 인입될 때 시간 기록을 추가하여 다른 데이터가 인입될 필요가 있을 때 가장 먼저 인입된 데이터를 교체시키는 방법을 실행한다.The FIFO 104 is a first-in, first-out device or circuit that is added in hardware for each channel to solve the problem that the bandwidths of the DSP and data memory do not match each other. FIFO 104 implements a method that adds a time stamp when certain data is imported to replace the first imported data when other data needs to be imported.

이러한 FIFO(104)에 인입된 데이터는 DSP DMA 제어부(100)와 데이터 메모리간의 인터페이스를 통하여 데이터 메모리에 액세스한다The data introduced into the FIFO 104 accesses the data memory through an interface between the DSP DMA controller 100 and the data memory.

따라서 데이터 메모리와 DSP간의 데이터 입출력, 프로그램 메모리와 DSP간의 데이터 입출력과 같은 다양한 데이터 입출력을 위한 조합 회로가 필요하게 되며, 다양한 조합회로의 사용은 결국 DSP의 처리 속도를 떨어뜨리는 문제점이 있다.Therefore, a combination circuit for a variety of data input and output, such as data input and output between the data memory and the DSP, data input and output between the program memory and the DSP is required, the use of the various combination circuits, there is a problem that reduces the processing speed of the DSP.

이러한 DSP의 처리 속도를 떨어뜨리지 않기 위해 DSP의 메인 클럭 주파수를 올리는 방법이 있으나, 이 경우 소비 전력이 증가되는 문제점이 있다.In order to reduce the processing speed of the DSP, there is a method of increasing the main clock frequency of the DSP, but in this case, there is a problem in that power consumption is increased.

또한 DSP에서 데이터 메모리로 데이터를 입력하는 경우 문제점을 도 2를 참조하여 살펴본다.In addition, the problem of inputting data from the DSP into the data memory will be described with reference to FIG. 2.

도 2는 종래의 DSP 내부에서 직접 메모리 액세스 방법에 의해 데이터 메모리로 데이터를 저장하는 과정을 나타낸 도면이다.2 is a diagram illustrating a process of storing data into a data memory by a direct memory access method in a conventional DSP.

도 2는 종래의 24비트 처리 단위를 가진 DSP가 32비트 외부 메모리(200)에서 데이터를 읽어 24비트의 데이터 메모리(210)에 데이터를 저장하는 경우를 예시한 것이다.2 illustrates a case in which a DSP having a conventional 24-bit processing unit reads data from a 32-bit external memory 200 and stores data in a 24-bit data memory 210.

도 2에 도시된 바와 같이, 먼저 32비트의 대역폭을 가진 외부 메모리(200)의 LSB로부터 가로 방향으로 차례로 데이터를 읽어 FIFO(104)에 아래에서부터 순차적으로 기록하고, FIFO(104)에 기록된 데이터를 24비트의 대역폭을 가진 데이터 메모리(210)의 LSB에서부터 가로 방향으로 순차적으로 기록하여야 한다.As shown in FIG. 2, first, data is sequentially read from the LSB of the external memory 200 having a 32-bit bandwidth in the horizontal direction and sequentially written to the FIFO 104 from below, and the data written to the FIFO 104. Are sequentially recorded in the horizontal direction from the LSB of the data memory 210 having a 24-bit bandwidth.

그러나 이 경우 외부 메모리(200)의 대역폭은 32비트임에 비해 데이터 메모리(210)의 대역폭은 24비트이므로 외부 메모리에서 읽어 FIFO(104)에 기록된 데이터 중 일부가 손실되는 데이터 로스(loss)가 발생하는 문제점이 있다.However, in this case, the bandwidth of the external memory 200 is 32 bits, whereas the bandwidth of the data memory 210 is 24 bits. Therefore, a data loss in which some of the data read from the external memory and written to the FIFO 104 is lost is lost. There is a problem that occurs.

이러한 데이터의 손실을 방지하기 위해서는 외부 메모리(200)에서 FIFO(104)로 데이터를 한번만 읽고 FIFO(104)에 기록된 데이터를 데이터 메모리(210)에 두 번 기록하는 방식을 적용할 수 있으나, 이 경우 24비트 대역폭의 데이터 메모리(210) 중 나머지 저장 공간은 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 채워지게 되는 문제점이 있다.In order to prevent such data loss, a method of reading data from the external memory 200 to the FIFO 104 only once and reading the data recorded in the FIFO 104 twice into the data memory 210 may be applied. In this case, there is a problem in that the remaining storage space of the data memory 210 having a 24-bit bandwidth is filled with so-called 'garbage value' which is meaningless data.

이러한 데이터 메모리에 기록된 '쓰레기 값'은 특히 예를 들어, 오디오 데이터의 경우라면 프로그램 작성자가 이를 미리 알고 디코딩되지 않도록 프로그램하지 않으면 소음으로 발생되는 등의 문제점이 있다.The 'garbage value' recorded in such a data memory is, for example, especially in the case of audio data, there is a problem such that noise is generated if the program creator does not know the program in advance and does not program it to be decoded.

상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 데이터 메모리와 DSP간의 데이터 입출력, 프로그램 메모리와 DSP간의 데이터 입출력과 같은 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속도를 떨어뜨리지 않는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치를 제안하는 것이다.In order to solve the conventional problems as described above, the present invention does not require a combination circuit for various data input and output, such as data input and output between the data memory and the DSP, data input and output between the program memory and the DSP does not reduce the processing speed of the DSP Disclosed are a direct memory access method in a digital processing device and a digital signal processing device using the same.

또한, 본 발명은 DSP의 처리 속도를 떨어뜨리지 않기 위해 DSP의 메인 클럭 주파수를 올리지 않아 소비 전력을 줄일 수 있는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치를 제안하는 것이다.In addition, the present invention proposes a direct memory access method and a digital signal processing apparatus using the same in a digital processing apparatus that can reduce power consumption by not increasing the main clock frequency of the DSP so as not to reduce the processing speed of the DSP.

그리고 본 발명은 데이터의 손실이나 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 데이터 메모리가 채워지지 않도록 하는 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치를 제안하는 것이다.The present invention also proposes a direct memory access method and a digital signal processing apparatus using the same in a digital processing apparatus such that the data memory is not filled with a so-called 'garbage value' that is data having no data loss or meaning.

본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Still other objects of the present invention will be readily understood through the following description of the embodiments.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 디지털 처리 장치에서의 직접 메모리 액세스 방법이 제공된다. In order to achieve the above object, according to an aspect of the present invention, a direct memory access method in a digital processing apparatus is provided.

본 발명의 바람직한 일 실시예에 따르면, m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal processor)의 직접 메모리 액세스 방법에 있어서, 상기 외부 메모리에 기록된 데이터를 m비트 단위로 독출(read)하는 단계(a); 및 상기 독출된 데이터를 m비트 단위로 l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모리로 전송하는 단계(b)를 포함하되, 상기 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법이 제공된다.According to a preferred embodiment of the present invention, in a direct memory access method of a digital signal processor (DSP) of an n-bit processing unit connected to an external memory having an m-bit bandwidth, the external memory recorded in the external memory (A) reading data in m-bit units; And transmitting (b) the read data to an internal data memory having a memory width of lxk (l is a natural number of 1 or more, k is a least common multiple of m and n) in units of m bits. Provided is a direct memory access method of a digital signal processing apparatus, wherein the data stored in the data memory is read and calculated in units of n bits.

상기 데이터의 전송은 AHB(Advanced High-performance Bus)를 통해 수행될 수 있다.The data transmission may be performed through an advanced high-performance bus (AHB).

상기 수신된 데이터를 m비트 단위로 k(k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모리로 전송하는 단계는 상기 내부 데이터 메모리의 LSB(Least Significant Bit)부터 m비트 단위로 순차적으로 수행될 수 있다.Transmitting the received data to an internal data memory having a memory width of k bits (k is a least common multiple of m and n) in m-bit units from LSB (Least Significant Bit) of the internal data memory to m-bit units. May be performed sequentially.

본 발명의 다른 측면에 의하면, 디지털 신호 처리 장치가 제공된다.According to another aspect of the present invention, a digital signal processing apparatus is provided.

본 발명의 바람직한 일 실시예에 따르면, m비트 대역폭을 가지는 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal processor)에 있어서, l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수) 비트의 단위의 메모리 폭을 가지는 내부 데이터 메모리; 및 상기 외부 메모리로부터 m비트 단위로 독출된 데이터가 m비트 단위로 상기 내부 데이터 메모리에 기록되도록 하고, 상기 내부 데이터 메모리로부터 기록된 데이터가 연산을 위해 n비트 단위로 독출되도록 하는 DSP DMA(Direct Memory Access) 제어부를 포함하는 것을 특징으로 하는 디지털 신호 처리 장치가 제공된다.According to an embodiment of the present invention, in a digital signal processor (DSP) of an n-bit processing unit connected to an external memory having an m-bit bandwidth, lxk (l is a natural number of 1 or more, k is m An internal data memory having a memory width in units of bits); And a DSP DMA (Direct Memory), in which data read in m-bit units from the external memory is written to the internal data memory in m-bit units, and data written from the internal data memory is read in n-bit units for calculation. Access) There is provided a digital signal processing apparatus comprising a control unit.

상기 내부 데이터 메모리는 복수일 수 있다.The internal data memory may be plural.

상기 디지털 신호 처리 장치는 프로그램을 저장하는 내부 프로그램 메모리를 포함할 수 있으며, 상기 프로그램 메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩(decoding)하고 실행하는 DSP 코어를 포함할 수 있다.The digital signal processing apparatus may include an internal program memory that stores a program, and may include a DSP core that fetches, decodes, and executes a program stored in the program memory according to an input command. .

상기 디지털 신호 처리 장치는 데이터와 제어 신호의 전송을 위한 버스(bus)를 포함할 수 있으며, 상기 버스는 AHB(Advanced High-performance Bus) 방식일 수 있다.The digital signal processing apparatus may include a bus for transmitting data and control signals, and the bus may be an advanced high-performance bus (AHB) scheme.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것 으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be.

반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same or corresponding components will be denoted by the same reference numerals regardless of the reference numerals and redundant description thereof will be omitted.

먼저 도 3을 참조하여 본 발명의 바람직한 일 실시예에 따른 디지털 신호 처리 장치(DSP : Digital Signal Processor, 이하 DSP라 함)에 대해 살펴본다.First, a digital signal processor (DSP: Digital Signal Processor (DSP)) according to an exemplary embodiment of the present invention will be described with reference to FIG. 3.

도 3은 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스 를 위한 인터페이스를 도시한 도면이다.3 is a diagram illustrating an interface for direct memory access in a DSP according to an embodiment of the present invention.

도 3에서는 미도시하였으나, 본 발명의 바람직한 일 실시예에 따른 DSP는 내부에 프로그램 메모리와 프로그램이 사용할 데이터 메모리를 포함하여 구성된다. 또한, 데이터 메모리는 X메모리와 Y메모리 두개로 구성될 수 있으나 이에 한정되는 것은 아니다.Although not shown in FIG. 3, the DSP according to an exemplary embodiment of the present invention includes a program memory and a data memory to be used by the program. In addition, the data memory may be configured of two X memories and Y memories, but is not limited thereto.

프로그램 메모리에는 프로그램이 저장되며 또한, 음성 데이터 처리를 위한 MP3, WMA, ACC 등의 디지털 음성 신호 데이터의 경우에도 프로그램 메모리에 저장될 수 있다.The program is stored in the program memory, and in the case of digital voice signal data such as MP3, WMA, and ACC for voice data processing, the program memory may be stored in the program memory.

또한, DSP는 내부에 프로그램 메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩(decoding)하고 실행하는 DSP 코어를 더 포함할 수 있다.Also, the DSP may further include a DSP core that fetches, decodes, and executes a program stored in a program memory according to an input command.

이하의 설명에서는 현재 널리 사용되는 24비트의 처리 단위를 가지는 DSP 코어와 32비트 대역폭을 가지는 프로그램 메모리를 포함하는 DSP를 예시로 하여 설명하기로 하나, 본 발명에 의한 디지털 처리 장치에서의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치는 서로 다른 대역폭을 가지는 프로그램 메모리와 DSP 코어를 포함하는 DSP의 경우에도 적용될 수 있음은 자명하다.In the following description, a DSP including a DSP core having a 24-bit processing unit and a program memory having a 32-bit bandwidth will be described as an example. However, direct memory access in a digital processing apparatus according to the present invention will be described. It is apparent that the method and the digital signal processing apparatus using the same can be applied to a DSP including a program memory having a different bandwidth and a DSP core.

도 3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 DSP는 복수의 DSP DMA 제어부(300a, 300b, …, 이하 300으로 통칭함), 선택부(Selector)1(310), 선택부2(320), AHB(Advanced High-performance Bus) 마스터(master)(330), DSP 슬레이브(slave)(340), AHB 슬레이브(350), SFR(Special Function Register)(360)을 포함할 수 있다.As shown in FIG. 3, a DSP according to an exemplary embodiment of the present invention includes a plurality of DSP DMA controllers 300a, 300b,..., 300, a selector 1 310, and a selector. 2 (320), Advanced High-performance Bus (AHB) master (330), DSP slave (Slave) (340), AHB slave 350, may include a SFR (Special Function Register) (360). .

DSP DMA 제어부(300)는 데이터 메모리와 프로그램 메모리로의 직접 메모리 액세스를 제어하는 부분으로 도 3에 도시된 바와 같이 DSP 마스터(302)만을 포함하여 구성된다.The DSP DMA control unit 300 is a part for controlling direct memory access to the data memory and the program memory, and includes only the DSP master 302 as shown in FIG.

종래의 DSP DMA 제어부와 비교하여 FIFO와 AHB 마스터를 포함하지 않으며, 입출력될 데이터가 직접 DSP 마스터(302)를 통해 입출력된다.Compared with the conventional DSP DMA control unit, the FIFO and AHB masters are not included, and the data to be input / output is directly input / output through the DSP master 302.

DSP DMA 제어부(300)에는 32비트 대역폭을 가지는 DSP 마스터(302)를 포함하여 32비트 대역폭을 가진 외부 메모리에서 32비트 대역폭으로 데이터를 수신할 수 있게 되며, 또한, 내부 데이터 메모리에도 32비트 대역폭으로 데이터를 전달할 수 있다.The DSP DMA controller 300 may include a DSP master 302 having a 32-bit bandwidth to receive data in 32-bit bandwidth from an external memory having a 32-bit bandwidth. Can pass data

따라서 종래와 달리 다른 대역폭(예를 들면, 24 비트)을 고려하지 않고 32비트 대역폭을 가지는 외부 메모리와 인터페이스할 수 있도록 DSP DMA 제어부(300)를 구성한다.Accordingly, unlike the related art, the DSP DMA controller 300 is configured to interface with an external memory having a 32-bit bandwidth without considering another bandwidth (for example, 24 bits).

선택부1(310)는 복수의 DSP DMA 제어부(300)를 통해 전송되는 데이터를 선택적으로 DSP 내부의 메모리를 제외한 다른 장치들(예를 들면, DSP 코어 등)에 AHB를 통해 전달하는 장치이다.The selector 1 310 is a device that selectively transfers data transmitted through the plurality of DSP DMA controllers 300 to the devices (for example, DSP cores, etc.) other than the internal memory of the DSP through the AHB.

선택부2(320)는 복수의 DMA 제어부(300)에서 전송되는 데이터를 프로그램 메모리 또는 데이터 메모리로 선택적으로 전달하는 장치이다.The selector 2 320 selectively transfers data transmitted from the plurality of DMA controllers 300 to a program memory or a data memory.

AHB 마스터(330)와 AHB 슬레이브 (350)는 AMBA(Advanced Micro controller Bus Architecture)의 버스 규격 중 하나인 AHB 방식을 지원하기 위한 구성 요소이 다.The AHB master 330 and the AHB slave 350 are components for supporting the AHB scheme, which is one of the AMBA bus specifications.

AMBA(Advanced Micro controller Bus Architecture)는 ARM사가 개발한 오픈 표준 버스 규격으로서 AHB(Advanced High-performance Bus), ASB(Advanced System Bus), APB(Advanced Peripheral Bus) 등의 방식이 있다.AMBA (Advanced Microcontroller Bus Architecture) is an open standard bus specification developed by ARM, which includes Advanced High-performance Bus (AHB), Advanced System Bus (ASB) and Advanced Peripheral Bus (APB).

AHB는 높은 클럭 주파수의 고성능 버스로서 대역폭이 넓고, 다수의 마스터 장치를 지원하며, 예를 들어, 메모리 컨트롤러, 인터럽트 컨트롤러 등에 사용된다.AHB is a high clock frequency, high performance bus with a wide bandwidth and supporting a number of master devices, for example, used in memory controllers, interrupt controllers and the like.

ASB는 AHB와 마찬가지로 고성능 버스이나 AHB보다는 하위 성능의 버스로서 1개 이상의 마스터 장치를 지원하며, APB는 저속, 저전력 버스로서 주변 기능들을 지원하기 위한 복잡성을 줄인 버스로서 레지스터 맵핑된 슬레이브 장치들을 지원한다.The ASB, like the AHB, supports one or more master devices as a high-performance bus or a lower-performance bus than the AHB, while the APB supports a register-mapped slave device as a low-speed, low-power bus that reduces complexity to support peripheral functions. .

도 3에서는 DSP에서 널리 사용되는 AHB 방식을 예로 하여 AHB 마스터와 AHB 슬레이브를 포함하여 구성되는 것으로 예시하였으나, 데이터와 제어 신호의 전송을 위한 버스 방식은 이에 한정되는 것은 아니다.In FIG. 3, an AHB master and an AHB slave are used as an example of an AHB widely used in a DSP. However, the bus system for transmitting data and control signals is not limited thereto.

DSP 슬레이브(340)는 제어 신호 또는 외부 메모리에서 입력되는 데이터가 처음 전달되는 장치이다.The DSP slave 340 is a device to which a control signal or data input from an external memory is first transmitted.

AHB 슬레이브(350)는 AHB 마스터로부터 데이터를 전달받아 SFR(Special Function Register)에 전달하며, SFR(360)는 레지스터의 한 종류로서 DSP에서 반복적 또는 주기적으로 처리된 데이터를 일시적으로 정보를 저장한다. The AHB slave 350 receives data from the AHB master and transfers the data to a special function register (SFR), and the SFR 360 temporarily stores information on data repeatedly or periodically processed by the DSP as a type of register.

SFR(360)에 일시 저장된 데이터는 DSP 코어(미도시)에서의 제어 신호에 따라 선택부2(320)에 의해 선택적으로 프로그램 메모리 또는 데이터 메모리로 전달된다.The data temporarily stored in the SFR 360 is selectively transferred to the program memory or the data memory by the selection unit 2 320 according to a control signal from the DSP core (not shown).

한편, DSP DMA 제어부(300)의 구성은 종래와 달리 DSP DMA 제어부에 FIFO나 AHB 마스터를 포함하지 않으므로 하드웨어적으로 회로의 구성이 단순하게 된다.On the other hand, the configuration of the DSP DMA control unit 300 does not include the FIFO or the AHB master in the DSP DMA control unit, unlike the prior art, the circuit configuration is simplified in hardware.

또한 외부 메모리로부터 DSP DMA 제어부를 통한 데이터 메모리로의 연결이 32비트 대역폭을 가진다.In addition, the connection from the external memory to the data memory through the DSP DMA control unit has 32-bit bandwidth.

따라서 종래와 비교하여 회로의 구성이 단순하고 되어 또한 32비트 대역폭의 버스를 통해 데이터가 전송되므로 DSP의 처리 속도를 떨어뜨리지 않는 이점이 있다.Therefore, the circuit configuration is simpler than in the related art, and data is transmitted through a bus having a 32-bit bandwidth, which does not reduce the processing speed of the DSP.

이러한 32비트 대역폭을 가진 버스를 통해 데이터가 전송되는 내부 데이터 메모리의 구성과 데이터의 저장 과정에 대해 살펴 본다.The structure of the internal data memory where data is transmitted through the bus with 32-bit bandwidth and the process of storing the data will be described.

FIFO나 AHB 마스터를 포함하지 않고 DSP DMA 제어부(300)를 구성하더라도 DSP의 처리 대역폭과 외부 메모리의 대역폭이 다르므로 데이터 메모리의 구성과 데이터 저장을 다르게 처리하여야만 한다.Even if the DSP DMA controller 300 is configured without including the FIFO or the AHB master, the processing bandwidth of the DSP and the bandwidth of the external memory are different. Therefore, the configuration of the data memory and the data storage must be handled differently.

이하에서는 도 4를 참조하여 데이터 메모리에 데이터를 저장하는 과정을 살펴본다.Hereinafter, a process of storing data in the data memory will be described with reference to FIG. 4.

먼저 본 발명의 바람직한 일 실시예에 따른 DSP에 포함되는 데이터 메모리의 폭(width)은 DSP의 처리 단위와 외부 메모리(400)의 대역폭에 의해 결정되며, 그 값은 DSP의 처리 단위와 외부 메모리(400)의 대역폭의 최소 공배수로 결정된다.First, a width of a data memory included in a DSP according to an exemplary embodiment of the present invention is determined by the processing unit of the DSP and the bandwidth of the external memory 400, and the values of the data memory are determined by the processing unit and the external memory of the DSP. It is determined by the least common multiple of the bandwidth of 400).

예를 들어, 24비트 처리단위를 가진 DSP와 DSP에 연결되는 외부 메모리의 대역폭은 32비트라면 데이터 메모리의 폭은 96비트(즉, 24와 32의 최소 공배수)가 된 다.For example, if the bandwidth of a 24-bit processing unit and the external memory connected to the DSP is 32 bits, the width of the data memory is 96 bits (that is, the least common multiple of 24 and 32).

물론 DSP의 처리 단위와 외부 메모리(400)의 대역폭의 최소 공배수의 정수배로 데이터 메모리의 폭(width)을 결정할 수 있음은 자명하다.Of course, it is obvious that the width of the data memory can be determined by an integer multiple of the least common multiple of the processing unit of the DSP and the bandwidth of the external memory 400.

앞서 예시한 바와 같이 24비트 처리단위를 가진 DSP와 DSP에 연결되는 외부 메모리의 대역폭은 32비트라면 데이터 메모리의 폭은 96비트뿐만 아니라, 192비트, 288비트 등으로 생성하는 것도 가능하다.As illustrated above, if the bandwidth of the 24-bit processing unit and the external memory connected to the DSP is 32 bits, the width of the data memory is not only 96 bits but also 192 bits and 288 bits.

ASIC(Application Specific Integrated Circuit) 작업에 사용되는 메모리는 메모리 생성기에 깊이(depths)와 폭(widths)의 입력하면 생성된다. Memory for ASIC (Application Specific Integrated Circuit) operations is created by entering depths and widths into the memory generator.

본 발명의 바람직한 일 실시예에 따른 DSP 내부의 데이터 메모리는 깊이가 DSP를 포함하는 시스템에 필요한 만큼 임의로 정해지고 메모리 폭은 24와 32의 최소 공배수(least common multiple)인 96비트로 생성한다.The data memory inside the DSP according to the preferred embodiment of the present invention is arbitrarily determined as necessary for the system including the DSP, and the memory width is generated as 96 bits having a least common multiple of 24 and 32.

이러한 데이터 메모리의 생성과 구성을 참조하여 외부 메모리에서 읽어온 데이터를 DSP 내부에 포함되는 데이터 메모리에 저장하는 과정을 살펴본다.With reference to the creation and configuration of the data memory, the process of storing the data read from the external memory in the data memory included in the DSP will be described.

도 4는 본 발명의 바람직한 일 실시예에 따른 DSP에서의 직접 메모리 액세스 방법에 의해 데이터 메모리에 데이터를 저장하는 과정을 나타낸 도면이다.4 is a diagram illustrating a process of storing data in a data memory by a direct memory access method in a DSP according to an exemplary embodiment of the present invention.

도 4에 도시된 바와 같이, 32비트의 대역폭을 가진 외부 메모리(400)가 메모리 폭이 4라고 하면 데이터가 저장되는 공간인 하나의 셀에는 8비트씩 데이터가 저장된다. 8비트씩 4개의 셀에 저장된 32비트의 크기의 저장 데이터가 1 워드(word)가 된다.As shown in FIG. 4, when the external memory 400 having a bandwidth of 32 bits has a memory width of 4, data is stored by 8 bits in one cell, which is a space in which data is stored. 32 bits of stored data stored in four cells of 8 bits each is one word.

한편, DSP 내부의 데이터 메모리(410)는 24와 32의 최소 공배수(least common multiple)인 96비트로 생성되므로 3 워드를 가진 메모리가 된다.On the other hand, the data memory 410 inside the DSP is generated with 96 bits, which is the least common multiple of 24 and 32, resulting in a memory having three words.

한편, 일반적으로 메모리에 저장하거나 읽는 경우에는 LSB(Least Significant Bit)부터 저장되고 읽어오게 되므로 외부 메모리(400)에서 전송된 데이터는 저장된 DSP 내부의 데이터 메모리(410)에도 LSB부터 저장될 수 있으나 이에 한정되는 것은 아니다.On the other hand, when storing or reading in the memory in general, since it is stored and read from the LSB (Least Significant Bit), the data transmitted from the external memory 400 may be stored from the LSB in the data memory 410 inside the stored DSP, but It is not limited.

먼저, 외부 메모리(400)의 데이터를 내부 데이터 메모리(410)에 저장하는 경우 DSP DMA 제어부(300)와 외부 메모리(400), DMA 제어부(300)와 내부 데이터 메모리(410)간의 버스는 각각 32비트 대역폭을 가지므로 32비트 단위로 내부 데이터 메모리(410)에 저장된다.First, when the data of the external memory 400 is stored in the internal data memory 410, the buses between the DSP DMA controller 300, the external memory 400, the DMA controller 300, and the internal data memory 410 are 32 respectively. Since the bit bandwidth is stored in the internal data memory 410 in units of 32 bits.

따라서, 이러한 방법을 순차적으로 수행하면 외부 메모리(400)에 저장된 데이터의 손실없이 모든 데이터를 내부 데이터 메모리(410)에 저장되게 된다.Therefore, if the method is sequentially performed, all data is stored in the internal data memory 410 without losing data stored in the external memory 400.

한편 이러한 방법에 의해 저장된 데이터를 DSP에서 연산 등을 수행하기 위해 데이터를 독출하는 경우를 도 5를 참조하여 살펴본다.On the other hand, a case in which data is read in order to perform the operation of the data stored by such a method in the DSP will be described with reference to FIG. 5.

도 5에 도시된 바와 같이, DSP의 처리 단위는 24비트이므로 DSP는 내부 데이터 메모리(410)에 저장된 데이터를 3개의 셀씩 즉 24비트씩 독출하여 독출된 데이터를 DSP 코어(500)에서 처리하는 과정을 수행하게 된다. 따라서 32비트씩 3워드로 써진 96비트의 데이터를 내부 데이터 메모리(410)에서 4번 독출함으로써 손실되는 데이터없이 데이터를 모두 독출할 수 있게 된다.As shown in FIG. 5, since the processing unit of the DSP is 24 bits, the DSP reads data stored in the internal data memory 410 by three cells, that is, 24 bits, and processes the read data in the DSP core 500. Will be performed. Therefore, by reading the 96-bit data written in three words of 32 bits four times in the internal data memory 410, it is possible to read all the data without losing data.

또한, 내부 데이터 메모리(410)에 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 채워지게 되는 저장 공간이 전혀 발생하지 않게 된다.In addition, the storage space to be filled with so-called 'garbage value' which is meaningless data in the internal data memory 410 does not occur at all.

따라서, 본 발명에 의한 DSP에 의하면 외부 메모리와 DSP의 대역폭이 다른 경우에도 외부 메모리에 저장된 데이터를 데이터의 손실없이 DSP 내부의 데이터 메모리(410)에 모두 저장할 수 있고, 또한 의미없는 데이터가 내부 데이터 메모리(410)의 저장 공간에 채워지지 않고도 DSP의 내부 데이터 메모리(410)에 데이터를 저장하고 연산 등의 데이터 처리를 위해 데이터를 독출할 수 있게 된다.Therefore, according to the DSP of the present invention, even when the bandwidth between the external memory and the DSP is different, all data stored in the external memory can be stored in the data memory 410 inside the DSP without losing data, and meaningless data is stored in the internal data. The data may be stored in the internal data memory 410 of the DSP without being filled in the storage space of the memory 410 and data may be read for data processing such as an operation.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.

이상에서 설명한 바와 같이, 본 발명에 의한 디지털 처리 장치의 직접 메모리 액세스 방법 및 이를 이용한 디지털 신호 처리 장치에 의하면, 다양한 데이터 입출력을 위한 조합 회로가 필요없어 DSP의 처리 속도를 떨어뜨리지 않는 장점이 있다.As described above, the direct memory access method of the digital processing apparatus and the digital signal processing apparatus using the same according to the present invention do not require a combination circuit for various data inputs and outputs and thus do not reduce the processing speed of the DSP.

또한, DSP의 처리 속도를 떨어뜨리지 않아 DSP의 메인 클럭 주파수를 올리지 않아도 되므로 소비 전력을 줄일 수 있는 장점이 있다.In addition, there is an advantage in reducing power consumption since the DSP does not increase the processing speed of the DSP, thereby increasing the DSP's main clock frequency.

그리고 데이터의 손실이나 아무런 의미가 없는 데이터인 소위 '쓰레기 값'으로 데이터 메모리가 채워지지 않는 장점이 있다.In addition, there is an advantage that the data memory is not filled with so-called 'garbage value', which is data loss or meaningless data.

Claims (9)

m비트 대역폭을 가진 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal processor)의 직접 메모리 액세스 방법에 있어서,In the direct memory access method of a digital signal processor (DSP) of n-bit processing unit connected to an external memory having an m-bit bandwidth, 상기 외부 메모리에 기록된 데이터를 m비트 단위로 독출(read)하는 단계(a); 및(A) reading data written in the external memory in units of m bits; And 상기 독출된 데이터를 m비트 단위로 l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수)비트 단위의 메모리 폭을 가진 내부 데이터 메모리로 전송하는 단계(b)를 포함하되,(B) transferring the read data to an internal data memory having a memory width in units of bits of l x k (l is a natural number of 1 or more, k is a least common multiple of m and n) in units of m bits, 상기 내부 데이터 메모리에 저장된 데이터는 n비트 단위로 독출되어 연산되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법.The data stored in the internal data memory is read and calculated in units of n bits, the direct memory access method of the digital signal processing apparatus. 제1항에 있어서,The method of claim 1, 상기 단계(a)와 상기 단계(b)는,Step (a) and step (b), AHB(Advanced High-performance Bus)를 통해 수행되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법.A direct memory access method of a digital signal processing device, characterized in that it is performed through an Advanced High-performance Bus (AHB). 제1항에 있어서,The method of claim 1, 상기 단계(b)는,Step (b) is, 상기 내부 데이터 메모리의 LSB(Least Significant Bit)부터 m비트 단위로 순차적으로 수행되는 것을 특징으로 하는 디지털 신호 처리 장치의 직접 메모리 액세스 방법.Direct memory access method of a digital signal processing apparatus, characterized in that sequentially performed from the LSB (Least Significant Bit) of the internal data memory in m-bit units. m비트 대역폭을 가지는 외부 메모리와 연결되는 n비트 처리 단위의 디지털 신호 처리 장치(DSP: Digital Signal processor)에 있어서,A digital signal processor (DSP) of an n-bit processing unit connected to an external memory having an m-bit bandwidth, l x k(l은 1이상의 자연수, k는 m과 n의 최소공배수) 비트의 단위의 메모리 폭을 가지는 내부 데이터 메모리; 및an internal data memory having a memory width in units of l x k (l is a natural number greater than or equal to 1, k is a least common multiple of m and n); And 상기 외부 메모리로부터 m비트 단위로 독출된 데이터가 m비트 단위로 상기 내부 데이터 메모리에 기록되도록 하고, 상기 내부 데이터 메모리로부터 기록된 데이터가 연산을 위해 n비트 단위로 독출되도록 하는 DSP DMA(Direct Memory Access) 제어부를 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.DSP Direct Memory Access to allow data read out from the external memory in units of m bits to be written to the internal data memory in units of m bits, and to read data written from the internal data memory in units of n bits for operation. Digital signal processing apparatus comprising a control unit. 제4항에 있어서,The method of claim 4, wherein 상기 내부 데이터 메모리는 복수인 것을 특징으로 하는 디지털 신호 처리 장치The internal data memory is a plurality of digital signal processing apparatus, characterized in that 제4항에 있어서,The method of claim 4, wherein 프로그램을 저장하기 위한 내부 프로그램 메모리가 더 포함되는 것을 특징으로 하는 디지털 신호 처리 장치.And an internal program memory for storing a program. 제6항에 있어서,The method of claim 6, 상기 내부 프로그램 메모리에 저장된 프로그램을 입력된 명령어에 따라 페치(petch)하여 디코딩(decoding)하고 실행하는 DSP 코어를 더 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.And a DSP core that fetches, decodes, and executes a program stored in the internal program memory according to an input command. 제4항에 있어서,The method of claim 4, wherein 데이터와 제어 신호의 전송을 위한 버스(bus)를 더 포함하는 것을 특징으로 하는 디지털 신호 처리 장치.A digital signal processing apparatus further comprising a bus for transmitting data and control signals. 제8항에 있어서,The method of claim 8, 상기 버스는 AHB(Advanced High-performance Bus) 방식인 것을 특징으로 하 는 디지털 신호 처리 장치.The bus is a digital signal processing device, characterized in that the AHB (Advanced High-performance Bus) system.
KR1020060075966A 2006-08-11 2006-08-11 Method of direct memory access in digital signal processor and digital signal processor by using the same KR100849531B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060075966A KR100849531B1 (en) 2006-08-11 2006-08-11 Method of direct memory access in digital signal processor and digital signal processor by using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060075966A KR100849531B1 (en) 2006-08-11 2006-08-11 Method of direct memory access in digital signal processor and digital signal processor by using the same

Publications (2)

Publication Number Publication Date
KR20080014367A KR20080014367A (en) 2008-02-14
KR100849531B1 true KR100849531B1 (en) 2008-07-31

Family

ID=39341670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060075966A KR100849531B1 (en) 2006-08-11 2006-08-11 Method of direct memory access in digital signal processor and digital signal processor by using the same

Country Status (1)

Country Link
KR (1) KR100849531B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789097B2 (en) 2001-07-09 2004-09-07 Tropic Networks Inc. Real-time method for bit-reversal of large size arrays
JP2004288021A (en) 2003-03-24 2004-10-14 Matsushita Electric Ind Co Ltd Memory access controller
KR100664009B1 (en) 2000-01-04 2007-01-03 엘지전자 주식회사 Memory access controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664009B1 (en) 2000-01-04 2007-01-03 엘지전자 주식회사 Memory access controller
US6789097B2 (en) 2001-07-09 2004-09-07 Tropic Networks Inc. Real-time method for bit-reversal of large size arrays
JP2004288021A (en) 2003-03-24 2004-10-14 Matsushita Electric Ind Co Ltd Memory access controller

Also Published As

Publication number Publication date
KR20080014367A (en) 2008-02-14

Similar Documents

Publication Publication Date Title
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
JP2004171209A (en) Shared memory data transfer device
CN104520817A (en) Multiport memory emulation using single-port memory devices
JP2002323995A (en) Trace circuit
KR20030051380A (en) Microprocessor
KR100849531B1 (en) Method of direct memory access in digital signal processor and digital signal processor by using the same
JP2000322235A (en) Information processor
JPH03204718A (en) Information processor
KR20020059763A (en) Digital signal processor having a plurality of independent dedicated processors
US7467240B2 (en) Serial host interface generates index word that indicates whether operation is read or write operation
US20090235010A1 (en) Data processing circuit, cache system, and data transfer apparatus
JPH0844560A (en) Memory control circuit and integrated circuit element incorporating this circuit
Tsao et al. Parameterized and low power DSP core for embedded systems
JP3569811B2 (en) Data processing device having pipeline processing function
JP5929600B2 (en) Information processing system, information processing apparatus, and electronic apparatus
JP6570046B2 (en) DMA controller, realization method and computer storage medium
JP3558057B2 (en) Audio coding apparatus and method
US7053900B2 (en) Personal computer system and core logic chip applied to same
JP2005044124A (en) Mpu
JP2012247907A (en) Information processing apparatus
CN116107950A (en) Data processing device, communication system, chip, board card and electronic equipment
KR100460101B1 (en) Circuit Structure for support a Functional of Microprocessor Development System
JP2001100991A (en) Digital signal processor
KR20080048943A (en) Integrated circuit apparatus
JP2010287150A (en) Data transfer circuit

Legal Events

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

Payment date: 20130626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 11