KR100628086B1 - Apparatus and Method of address generation for DSP - Google Patents

Apparatus and Method of address generation for DSP Download PDF

Info

Publication number
KR100628086B1
KR100628086B1 KR1020050017204A KR20050017204A KR100628086B1 KR 100628086 B1 KR100628086 B1 KR 100628086B1 KR 1020050017204 A KR1020050017204 A KR 1020050017204A KR 20050017204 A KR20050017204 A KR 20050017204A KR 100628086 B1 KR100628086 B1 KR 100628086B1
Authority
KR
South Korea
Prior art keywords
address
channel
register
size
value
Prior art date
Application number
KR1020050017204A
Other languages
Korean (ko)
Other versions
KR20060096573A (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 KR1020050017204A priority Critical patent/KR100628086B1/en
Publication of KR20060096573A publication Critical patent/KR20060096573A/en
Application granted granted Critical
Publication of KR100628086B1 publication Critical patent/KR100628086B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B47/00Devices for handling or treating balls, e.g. for holding or carrying balls
    • A63B47/02Devices for handling or treating balls, e.g. for holding or carrying balls for picking-up or collecting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B67/00Sporting games or accessories therefor, not provided for in groups A63B1/00 - A63B65/00
    • A63B67/18Badminton or similar games with feathered missiles
    • A63B67/183Feathered missiles
    • A63B67/187Shuttlecocks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/04Badminton

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 DSP의 주소 생성에 관한 것이다. 본 발명은, 현재의 메모리 주소가 저장되는 주소 레지스터와, 상기 메모리의 뱅크 사이즈가 저장되는 뱅크 사이즈 레지스터와, 전체 채널 중 마지막 채널과 첫번째 채널 간 주소 전환을 위한 주소 전환 레지스터와, 채널 사이즈값을 입력받아 현재 채널 번호와의 비교에 따라 상기 뱅크 사이즈 레지스터에 저장된 값 또는 주소 전환 레지스터에 저장된 값 중 하나를 선택적으로 출력하는 먹스와, 상기 주소 레지스터 저장된 값과 상기 먹스의 출력값을 더하는 덧셈기를 포함하여 구성되는 DSP의 주소 생성 장치를 제공한다. 따라서, 본 발명에 의하면, 상기 주소 생성 장치를 통해 데이터 엑세스에 필요한 주소를 생성함으로써 별도의 주소 계산 사이클이 필요없게 되어 사이클 낭비 없이 인터리빙된 데이터를 엑세스할 수 있는 효과가 있다.The present invention relates to address generation of a DSP. The present invention provides an address register for storing a current memory address, a bank size register for storing a bank size of the memory, an address switching register for switching addresses between the last channel and the first channel of all channels, and a channel size value. And a mux for selectively outputting one of a value stored in the bank size register or a value stored in an address change register according to a comparison with a current channel number, and an adder for adding the stored value of the address register and an output value of the mux. It provides an address generator of the DSP is configured. Therefore, according to the present invention, since an address required for data access is generated through the address generation device, an additional address calculation cycle is not required, and thus the interleaved data can be accessed without wasting cycles.

데이터 엑세스, 주소 생성 장치, DSP, 뱅크 사이즈, 채널 사이즈 Data Access, Address Generator, DSP, Bank Size, Channel Size

Description

DSP의 주소 생성 장치 및 방법{Apparatus and Method of address generation for DSP}Apparatus and Method of address generation for DSP

도 1은 일반적인 오디오 인코더 / 디코더에서 채널별로 인터리빙된 데이터가 저장된 메모리 구조를 나타낸 도면1 illustrates a memory structure in which interleaved data is stored for each channel in a general audio encoder / decoder

도 2는 종래 기술에 따른 데이터 엑세스 방법을 나타낸 플로우 챠트2 is a flowchart illustrating a data access method according to the prior art.

도 3은 본 발명에 따른 인터리빙된 데이터의 엑세스를 위한 주소 생성 장치를 나타낸 도면3 is a diagram illustrating an address generator for accessing interleaved data according to the present invention;

도 4는 본 발명에 따른 주소 생성 방법을 나타낸 플로우 챠트4 is a flowchart illustrating an address generation method according to the present invention.

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

10 : 주소 레지스터 20 : 뱅크 사이즈 레지스터10: address register 20: bank size register

30 : 주소 전환 레지스터 40 : 먹스(MUX)30: address switching register 40: mux

50 : 덧셈기50: adder

본 발명은 주소 생성에 관한 것으로, 보다 상세하게는 DSP에서의 다중 채널 데이터 엑세스를 위한 주소 생성 장치 및 방법에 관한 것이다.The present invention relates to address generation, and more particularly, to an apparatus and method for generating an address for multi-channel data access in a DSP.

DSP(Digital Signal Processing)란 디지털 신호 처리를 위한 프로세서(processor)를 의미한다. 따라서, 일반적인 프로세서와는 구별되는 여러가지 데이터 주소 할당 모드(data addressing mode)를 사용한다.Digital signal processing (DSP) refers to a processor for digital signal processing. Therefore, it uses various data addressing modes that are distinct from the general processor.

상기 모드에는 주소 증가 모드(address increment mode), 주소 감소 모드(address decrement mode), 인덱스 레지스터에 의한 주소 증가 모드(address increment by index register mode), 인덱스 레지스터에 의한 주소 감소 모드(address decrement by index register mode), 순환적 주소 할당 모드(circular addressing mode), 리버스 모드(reverse mode) 등이 있으며, 이들은 모든 또는 특정한 알고리즘(Algorithm) 구현에 적용되어 사용된다.The mode includes an address increment mode, an address decrement mode, an address increment by index register mode, and an address decrement by index register. mode, circular addressing mode, reverse mode, etc., which are applied to all or specific algorithm implementations.

일반적으로 오디오 인코더/디코더의 경우 입/출력되는 데이터는 각 채널(channel)별로 인터리빙(interleaving)되어 있다. 샘플당, 또는 특정 갯수당 채널 별로 인터리빙 되어 있는 이 데이터들은 각각의 채널 별로 저장 또는 출력되게 되는데, 이를 첨부한 도면을 참조하여 설명하면 다음과 같다.In general, in the case of an audio encoder / decoder, input / output data are interleaved for each channel. These data interleaved per channel or per specific number of channels are stored or output for each channel, which will be described below with reference to the accompanying drawings.

도 1은 일반적인 오디오 인코더 / 디코더에서 채널별로 인터리빙된 데이터가 저장된 메모리 구조를 나타낸 도면이다.FIG. 1 illustrates a memory structure in which interleaved data is stored for each channel in a general audio encoder / decoder.

도 1과 같이, 데이터는 메모리에서 각 채널별 즉, 2 채널의 경우 Right, Left 채널로, 5.1 채널의 경우는 Right, Left, Surround Right, Surround Left, Center, Low Freq. 채널별로 인터리빙되어 저장되고 출력된다. 이때, 상기 메모리는 각 채널별로 뱅크(bank) 단위로 구분되어 사용되어진다.As shown in FIG. 1, data is divided into channels for each channel in the memory, namely, right and left channels for two channels, and for Right, Left, Surround Right, Surround Left, Center, and Low Freq. Each channel is interleaved, stored, and output. In this case, the memory is divided into banks for each channel and used.

이와 같이 인터리빙되어 저장된 메모리에서, 상기 인터리빙된 데이터를 엑세 스(Access, read or write)하기 위해선, 데이터의 주소 할당 작업이 필요하게 된다.In the interleaved and stored memory as described above, in order to access (access, read or write) the interleaved data, an address assignment operation of data is required.

이를, 종래 기술에 따른 데이터 엑세스 방법을 나타낸 플로우 챠트인 첨부한 도 2를 참조하여 설명하면 다음과 같다.This will be described with reference to the accompanying FIG. 2, which is a flowchart illustrating a data access method according to the prior art.

먼저, 2채널의 인터리빙된 데이터를 엑세스하는 경우를 살펴보면, 도 2와 같이, Left 채널에 대해서 주소를 계산하는 단계가 필요하고, 상기 단계에 따라 계산된 주소에 데이터를 엑세스 하게 되며, 나머지 Right 채널에 대해서도 마찬가지 작업이 수행된다.First, referring to the case of accessing the interleaved data of two channels, as shown in FIG. 2, a step of calculating an address for the left channel is needed, and accessing the data to the address calculated according to the above steps, and the remaining right channel The same is done for.

또한, 5.1 채널에 대해서도, 각 채널에 대해 먼저 주소를 계산하는 작업이 선행되어야 하며, 이는 각 주소 계산 단계마다 대략 2∼3 사이클, 많게는 4∼5 사이클이 소요되는 작업이다.In addition, for 5.1 channels, an operation for calculating an address must first be performed for each channel, which takes approximately 2 to 3 cycles and as many as 4 to 5 cycles for each address calculation step.

이러한 경우, ATSC(Advanced Television System Committee) 규격에 따라 구현하게 되면 초당 48,000 셈플을 상기의 방식으로 주소 할당하게 되며, 따라서, 이러한 주소 할당 부분에서만 9∼13 MIPS(Million Instructions Per Second), 많게는 30 MIPS 정도를 사용하게 된다.In this case, implementation according to the Advanced Television System Committee (ATSC) standard will assign 48,000 samples per second in the above manner, and therefore only 9 to 13 Million Instructions Per Second (MIPS), and as many as 30 MIPS, in this address allocation portion. You will use the degree.

이처럼 수십 MIPS를 단지 주소 할당에만 사용하게 되며, 이는 사이클의 낭비라 할 수 있다. 따라서, 인터리빙된 데이터의 엑세스에 있어 사이클의 낭비 없이 주소를 할당 할 수 있는 방법의 개발은 중요한 문제가 아닐 수 없다.As a result, dozens of MIPS are used only for address assignment, which is a waste of cycles. Therefore, the development of a method for assigning addresses without wasting cycles in accessing interleaved data is an important problem.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 인터리빙되어 저장된 데이터의 엑세스를 위한 효율적인 주소 생성 장치 및 방법을 제안하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to propose an efficient address generation apparatus and method for accessing interleaved and stored data.

상기 목적을 달성하기 위하여, 본 발명은, 현재의 메모리 주소가 저장되는 주소 레지스터와, 상기 메모리의 뱅크 사이즈가 저장되는 뱅크 사이즈 레지스터와, 전체 채널 중 마지막 채널과 첫번째 채널 간 주소 전환을 위한 주소 전환 레지스터와, 채널 사이즈값을 입력받아 현재 채널 번호와의 비교에 따라 상기 뱅크 사이즈 레지스터에 저장된 값 또는 주소 전환 레지스터에 저장된 값 중 하나를 선택적으로 출력하는 먹스와, 상기 주소 레지스터 저장된 값과 상기 먹스의 출력값을 더하는 덧셈기를 포함하여 구성되는 DSP의 주소 생성 장치를 제공한다.In order to achieve the above object, the present invention provides an address register for storing a current memory address, a bank size register for storing a bank size of the memory, and an address switching for address switching between the last channel and the first channel of all channels. A mux for receiving a register and a channel size value and selectively outputting one of a value stored in the bank size register or a value stored in an address change register according to a comparison with a current channel number; It provides an address generator of a DSP that includes an adder that adds an output value.

상기 주소 전환 레지스터에는 채널 사이즈에서 1을 뺀 값과 뱅크 사이즈를 곱한 값을 1에서 빼준 값이 저장되는 것을 특징으로 한다.The address change register stores a value obtained by subtracting 1 from a channel size and a product of a bank size.

본 발명은, 채널 사이즈 값과 뱅크 사이즈 값을 저장하는 단계와, 최초 설정된 주소에 매 데이터 엑세스를 수행할때마다 상기 뱅크 사이즈만큼 증가된 주소를 출력하는 단계와, 상기 채널 사이즈만큼 데이터 엑세스를 수행한 이후에는 상기 최초 설정된 주소에서 1 워드 증가된 주소를 출력하는 단계를 포함하여 이루어지는 DSP의 주소 생성 방법을 제공한다. The present invention provides a method of storing a channel size value and a bank size value, outputting an address increased by the bank size every time data access is performed to an initially set address, and performing data access by the channel size. After that, the present invention provides a method for generating an address of a DSP, which includes outputting an address increased by one word from the initially set address.

따라서, 본 발명에 의하면, 상기 주소 생성 장치를 통해 데이터 엑세스에 필요한 주소를 생성함으로써 별도의 주소 계산 사이클이 필요없게 되어 사이클 낭비 없이 인터리빙된 데이터를 엑세스할 수 있는 효과가 있다.Therefore, according to the present invention, since an address required for data access is generated through the address generation device, an additional address calculation cycle is not required, and thus the interleaved data can be accessed without wasting cycles.

이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described.

아울러, 본 발명에서 사용되는 용어는 현재 널리 사용되는 일반적인 용어를 선택하였으나, 새로운 기술의 출현에 따라 본 발명에서 출원인이 가장 적합하다고 판단한 용어도 임의로 사용하였으며, 이에 대해서는 해당 설명부에서 용어의 의미를 명확히 설명하기로 한다. 따라서, 본 발명을 이해함에 있어 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 됨을 밝혀 두고자 한다.In addition, the term used in the present invention was selected a general term that is widely used at present, but according to the emergence of a new technology, the term that the applicant deemed most appropriate in the present invention was arbitrarily used, and the meaning of the term in the corresponding description. It will be explained clearly. Therefore, in the understanding of the present invention, it is intended that the present invention should be understood as the meaning of terms rather than simple names of terms.

도 3은 본 발명에 따른 인터리빙된 데이터의 엑세스를 위한 주소 생성 장치를 나타낸 도면이다.3 is a diagram illustrating an address generation apparatus for accessing interleaved data according to the present invention.

도 3과 같이, 본 발명에 따른 주소 생성 장치는, 현재의 메모리 주소가 저장되는 주소 레지스터(Address register)(10)와, 메모리의 뱅크 사이즈(Bank Size)가 저장되는 뱅크 사이즈 레지스터(20)와, 전체 채널 중 마지막 채널과 첫번째 채널간 주소 전환을 위한 레지스터(30)와, 채널 사이즈 값을 입력받아 현재 채널 번호와의 비교에 따라 상기 뱅크 사이즈 레지스터(20)에 저장된 값 또는 상기 마지막 채널과 첫번째 채널간 주소 전환 레지스터(30)에 저장된 값 중 하나를 선택적으로 출력하는 먹스(MUX)(40)와, 상기 주소 레지스터(10)에 저장된 값과 상기 먹스(40)의 출력값을 더하는 덧셈기(adder)(50)를 포함하여 구성된다.As shown in FIG. 3, the address generator according to the present invention includes an address register 10 in which a current memory address is stored, a bank size register 20 in which a bank size of a memory is stored, A value stored in the bank size register 20 or the last channel and the first channel according to a comparison between the register 30 and the channel size value for receiving an address between the last channel and the first channel among all the channels. A mux 40 for selectively outputting one of the values stored in the inter-channel address switching register 30, and an adder for adding the value stored in the address register 10 and the output value of the mux 40. It consists of 50.

이와 같이 구성되는 본 발명에 따른 주소 생성 장치의 동작 관계를 설명하면 다음과 같다. 이때, 설명의 편의를 위해 메모리의 구조를 나타낸 첨부한 도 1을 참조하여 설명함을 밝혀둔다.The operation relationship of the address generation device according to the present invention configured as described above is as follows. In this case, for convenience of description, it will be described with reference to the accompanying Figure 1 showing the structure of the memory.

상기 도 1의 경우, 5.1 채널을 갖는 데이터가 저장된 메모리의 구조를 나타낸 것으로, 뱅크 사이즈는 20h, 전체 채널 사이즈는 6인 경우를 예시한 것이다. 이때, 상기 뱅크 사이즈란 인터리빙된 데이터가 얼마만큼의 간격으로 정렬되어 있는지를 나타낸 것이다.1 illustrates a structure of a memory in which data having 5.1 channels is stored. The bank size is 20h and the total channel size is 6, for example. In this case, the bank size indicates how many intervals the interleaved data is aligned.

최초, 주소 레지스터(10)에는 첫번째 채널의 주소를 나타내는 0번지가 저장된다. 또한, 뱅크 사이즈 레지스터(20)에는 뱅크 사이즈인 20h 가 저장된다. 다음의 마지막 채널과 첫번째 채널간 주소 전환을 위한 레지스터(30)에는 아래의 수식에 따른 값이 저장된다.Initially, address 0 indicating the address of the first channel is stored in the address register 10. The bank size register 20 also stores 20h as a bank size. A value according to the following expression is stored in the register 30 for address switching between the next last channel and the first channel.

[1-{(채널 사이즈 - 1) * 뱅크 사이즈}] [1-{(channel size-1) * bank size}]

상기 수식은 마지막 채널의 첫번째 주소의 경우 채널 사이즈에서 1을 뺀 값과 뱅크 사이즈를 곱한값임을 이용한 것으로, 후술할 계산 과정에 따라 상기 값에 마지막 채널에 위치한 현재 주소를 빼고 다시 1을 더한 값이 첫번째 채널의 다음 주소가 될 것이다.In the above formula, the first address of the last channel is a value obtained by subtracting 1 from the channel size and the bank size. The value obtained by subtracting the current address located in the last channel and adding 1 again is calculated according to a calculation process to be described later. It will be the next address of the first channel.

따라서, 상기 마지막 채널과 첫번째 채널간 주소 전환을 위한 레지스터(30)에는, 채널 사이즈가 6이고 뱅크 사이즈가 20h인 경우를 예시하면, 상기 수학식 1에 따라 -99h의 값이 저장될 것이다.Therefore, assuming that the channel size is 6 and the bank size is 20h, the value of -99h will be stored in the register 30 for address switching between the last channel and the first channel.

이후, 다음 채널의 주소는 먹스(40)를 통해 뱅크 사이즈 레지스터(20)에 저장된 값이 덧셈기(50)로 전달되고, 상기 현재 채널의 주소와 더해져 주소 레지스터(10)에 저장된다. 즉, 현재 채널의 주소인 0h와 상기 뱅크 사이즈 레지스터(20)에 저장된 20h가 더해져 다음 채널의 주소는 20h가 되는 것이다.Thereafter, the address of the next channel is transmitted to the adder 50 through the mux 40 and the value stored in the bank size register 20 is added to the adder 50 and stored in the address register 10. That is, 0h, which is the address of the current channel, and 20h stored in the bank size register 20 are added to make the address of the next channel 20h.

이때, 상기 먹스(40)에서는 현재 채널 번호와 채널 사이즈 값을 비교하여 같지 않은 경우에는 상기 뱅크 사이즈 레지스터(20)에 저장된 값을 덧셈기(50)로 출력하게 된다.In this case, the mux 40 compares the current channel number with the channel size value and outputs the value stored in the bank size register 20 to the adder 50 when it is not the same.

즉, 현재 채널 번호가 채널 사이즈인 6이 되기 전까지는 상기 뱅크 사이즈 레지스터(20)에 저장된 값이 출력되도록 함으로써 순차적으로 뱅크 사이즈만큼 주소가 증가되도록 하는 것이다. In other words, the address stored in the bank size register 20 is outputted until the current channel number becomes 6, which is the channel size.

이와 같이 주소를 생성하다가 상기 현재 채널 번호가 채널 사이즈인 6이 되면, 상기 마지막 채널과 첫번째 채널간 주소 전환을 위한 레지스터(30)에 저장된 값을 출력되도록 하여 마지막 채널에서 다시 첫번째 채널의 다음 주소가 생성되도록 한다.When the current channel number is 6, which is the channel size, the value stored in the register 30 for address switching between the last channel and the first channel is outputted. To be created.

따라서, 도 1과 같은 메모리에서 현재 채널 주소가 100h이면, 상기 레지스터(30)에 저장된 -99h 값이 먹스(40)를 통해 덧셈기(500)로 출력되고, 상기 100h와 -99h가 더해져 다음 주소는 첫번째 채널의 1h가 된다.Therefore, when the current channel address is 100h in the memory as shown in FIG. 1, the -99h value stored in the register 30 is output to the adder 500 through the mux 40, and the next address is added by adding 100h and -99h. 1h of the first channel.

즉, 최초의 데이터를 엑세스하면 주소는 자동적으로 뱅크 사이즈만큼 증가하여 다음 뱅크의 해당 주소를 가르키게 되며, 이러한 수행을 채널 사이즈만큼 수행하면 자동적으로 주소는 최초 데이터의 다음 워드(word)를 가르키게 되는 것이다. 이러한 단계는 뱅크 사이즈만큼 반복된다.In other words, when the first data is accessed, the address is automatically increased by the bank size to point to the corresponding address of the next bank. When this operation is performed by the channel size, the address is automatically pointed to the next word of the first data. Will be. This step is repeated by bank size.

이와 같은 본 발명에 따른 주소 생성 방법을 첨부한 도 4를 참조하여 좀 더자세히 설명하면 다음과 같다.Referring to Figure 4 attached to the address generation method according to the present invention in more detail as follows.

도 4는 본 발명에 따른 주소 생성 방법을 나타낸 플로우 챠트로써, 도 4에서 사용되는 K는 채널 번호를, A는 현재 주소 위치를, I는 반복 횟수를 의미한다.4 is a flowchart illustrating an address generation method according to the present invention, in which K denotes a channel number, A denotes a current address position, and I denotes a repetition number.

도 4와 같이, 최초, 채널 번호 K 및 반복 횟수 I는 1로 설정되고, 현재 주소 위치는 0이 될 것이다.(S10)As shown in Fig. 4, initially, the channel number K and the repetition number I are set to 1, and the current address position will be 0. (S10)

따라서, 현재의 주소는 A 값인 0이 될것이고(S20), 상기 설정된 주소에 따라 데이터 엑세스 과정이 진행된다.(S30)Accordingly, the current address will be 0, which is an A value (S20), and a data access process is performed according to the set address.

이후, 채널 번호인 K 값이 채널 사이즈 값과 같은지 확인하여, 같지 않은 경우에는 상기 채널 번호 K 값을 1 증가 시키고, 상기 현재 주소 A에 뱅크 사이즈를 더한다.(S40)Thereafter, it is checked whether the K value, which is the channel number, is equal to the channel size value, and if it is not the same, the channel number K value is increased by 1 and the bank size is added to the current address A.

따라서, 다음의 주소는 현재 주소 A에 뱅크 사이즈를 더한 값이 되고, 상기 단계를 반복함으로써 주소가 생성된다.Therefore, the next address becomes the current address A plus the bank size, and the address is generated by repeating the above steps.

이와 같이 반복하다가, 상기 채널 번호 K가 채널 사이즈 값과 같게 되면, 이는 현재 주소가 마지막 채널에 위치한 것으로, [A-(k-1)*뱅크 사이즈] 연산을 수행한다.(S60)In this manner, if the channel number K becomes equal to the channel size value, the current address is located in the last channel, and a [A- (k-1) * bank size] operation is performed.

상기 연산 수행후, 반복 횟수가 뱅크 사이즈와 같게 되었는지 확인한 연후에(S70), 상기 연산이 수행된 현재 주소 및 반복 횟수를 각각 1씩 더한다.(S80) 따라서, 이와 같은 단계 이후에는 다서 첫번째 채널의 다음 주소가 현재 주소가 되며, 상기 반복 횟수는 뱅크 사이즈 크기만큼 반복된다.After checking that the number of repetitions is equal to the bank size after performing the operation (S70), the current address and the number of repetitions on which the operation is performed are each added by one (S80). The next address becomes the current address, and the number of repetitions is repeated by the bank size.

즉, 상기와 같은 연산이 본 발명에 따른 주소 생성 장치에서 자동적으로 수행되어 별도의 주소 계산 사이클이 수행될 필요없이 인터리빙된 데이터를 엑세스 하게 된다.That is, the above operation is automatically performed in the address generation apparatus according to the present invention to access the interleaved data without the need for a separate address calculation cycle.

본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. The present invention is not limited to the above-described embodiments, and as can be seen in the appended claims, modifications can be made by those skilled in the art to which the invention pertains, and such modifications are within the scope of the present invention.

상기에서 설명한 본 발명에 따른 DSP의 주소 생성 장치 및 방법은 상기 주소 생성 장치를 통해 데이터 엑세스에 필요한 주소를 생성함으로써 별도의 주소 계산 사이클이 필요없게 되어 사이클 낭비 없이 인터리빙된 데이터를 엑세스할 수 있는 효과가 있다.The address generation apparatus and method of the DSP according to the present invention described above can generate an address required for data access through the address generation apparatus, thereby eliminating the need for a separate address calculation cycle, thereby allowing access to interleaved data without wasting cycles. There is.

Claims (3)

현재의 메모리 주소가 저장되는 주소 레지스터;An address register that stores a current memory address; 상기 메모리의 뱅크 사이즈가 저장되는 뱅크 사이즈 레지스터;A bank size register in which a bank size of the memory is stored; 전체 채널 중 마지막 채널과 첫번째 채널 간 주소 전환을 위한 주소 전환 레지스터;An address translation register for address switching between the last channel and the first channel of all channels; 채널 사이즈값을 입력받아 현재 채널 번호와의 비교에 따라 상기 뱅크 사이즈 레지스터에 저장된 값 또는 주소 전환 레지스터에 저장된 값 중 하나를 선택적으로 출력하는 먹스; 그리고,A mux for receiving a channel size value and selectively outputting one of a value stored in the bank size register or a value stored in an address change register according to a comparison with a current channel number; And, 상기 주소 레지스터 저장된 값과 상기 먹스의 출력값을 더하는 덧셈기를 포함하여 구성됨을 특징으로 하는 DSP의 주소 생성 장치.And an adder for adding the stored value of the address register and the output value of the mux. 제 1 항에 있어서,The method of claim 1, 상기 주소 전환 레지스터에는 채널 사이즈에서 1을 뺀 값과 뱅크 사이즈를 곱한 값을 1에서 빼준 값이 저장되는 것을 특징으로 하는 DSP의 주소 생성 장치.And a value obtained by subtracting 1 from a channel size and a value obtained by multiplying a bank size by 1 is stored in the address conversion register. 채널 사이즈 값과 뱅크 사이즈 값을 저장하는 단계;Storing a channel size value and a bank size value; 최초 설정된 주소에 매 데이터 엑세스를 수행할때마다 상기 뱅크 사이즈만큼 증가된 주소를 출력하는 단계;Outputting an address increased by the bank size every time data access is performed to an initially set address; 상기 채널 사이즈만큼 데이터 엑세스를 수행한 이후에는 상기 최초 설정된 주소에서 1 워드 증가된 주소를 출력하는 단계를 포함하여 이루어짐을 특징으로 하는 DSP의 주소 생성 방법.And outputting an address increased by one word from the initially set address after performing data access by the channel size.
KR1020050017204A 2005-03-02 2005-03-02 Apparatus and Method of address generation for DSP KR100628086B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050017204A KR100628086B1 (en) 2005-03-02 2005-03-02 Apparatus and Method of address generation for DSP

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050017204A KR100628086B1 (en) 2005-03-02 2005-03-02 Apparatus and Method of address generation for DSP

Publications (2)

Publication Number Publication Date
KR20060096573A KR20060096573A (en) 2006-09-13
KR100628086B1 true KR100628086B1 (en) 2006-09-26

Family

ID=37624072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050017204A KR100628086B1 (en) 2005-03-02 2005-03-02 Apparatus and Method of address generation for DSP

Country Status (1)

Country Link
KR (1) KR100628086B1 (en)

Also Published As

Publication number Publication date
KR20060096573A (en) 2006-09-13

Similar Documents

Publication Publication Date Title
US9495291B2 (en) Configurable spreading function for memory interleaving
KR930017444A (en) Deinterleave Method and Deinterleave Device of D2 MAC Receiver
KR20000023513A (en) Semiconductor memory device
US20100077187A1 (en) System and Method to Execute a Linear Feedback-Shift Instruction
US7958321B2 (en) Apparatus and method for reducing memory access conflict
KR100760976B1 (en) Computing circuits and method for running an mpeg-2 aac or mpeg-4 aac audio decoding algorithm on programmable processors
JP4569921B2 (en) Power-saving memory access control device
KR100628086B1 (en) Apparatus and Method of address generation for DSP
KR100518295B1 (en) Digital communication system having a deinterleaver and a method deinterleaving thereof
JPS6233599B2 (en)
CN110968538B (en) Data buffering method and device
US7565595B2 (en) Convolutional interleaving and de-interleaving circuit and method thereof
KR0170288B1 (en) Memory access apparatus and method
JP2614711B2 (en) Double tone generator
TWI662409B (en) Physical region page address converter and physical region page list access method
JP5597120B2 (en) Memory access device
JP5007560B2 (en) Signal processing device
KR970024633A (en) State metric memory operating method and device using one memory in Viterbi decoder
KR19990057181A (en) AC-3 decoder's window nesting / adding device
KR840000437B1 (en) System for accessing memory modules
KR100186314B1 (en) Sound source generator
JP4811909B2 (en) Address generation circuit and data storage device
KR20040026505A (en) Turbo interleaving apparatus and method in mobile communication system having turbo code
JPH0981134A (en) Signal processor
JP2010061371A (en) Flash memory control device, flash memory control method and flash memory control program

Legal Events

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

Payment date: 20120827

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160824

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee