KR100253182B1 - Address generation circuit and method for digital signal processor - Google Patents

Address generation circuit and method for digital signal processor Download PDF

Info

Publication number
KR100253182B1
KR100253182B1 KR1019970018538A KR19970018538A KR100253182B1 KR 100253182 B1 KR100253182 B1 KR 100253182B1 KR 1019970018538 A KR1019970018538 A KR 1019970018538A KR 19970018538 A KR19970018538 A KR 19970018538A KR 100253182 B1 KR100253182 B1 KR 100253182B1
Authority
KR
South Korea
Prior art keywords
address
value
register
array
area
Prior art date
Application number
KR1019970018538A
Other languages
Korean (ko)
Other versions
KR19980083290A (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 KR1019970018538A priority Critical patent/KR100253182B1/en
Publication of KR19980083290A publication Critical patent/KR19980083290A/en
Application granted granted Critical
Publication of KR100253182B1 publication Critical patent/KR100253182B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Abstract

PURPOSE: A circuit and method for creating an address of a digital signal processor is provided to facilitate an access with respect to a memory of a two dimensions array by adding a multiplier and directly creating an address of the corresponding area in accessing a predetermined area of another column after accessing a predetermined area of one column. CONSTITUTION: The first register(210) stores a row value(Di2) of a memory of a two dimensions array. A multiplier(220) multiplies wanted column value(Di3) of a memory of two dimensions array by the row value(Di2) stored in the first register(210). A multiplexer(230) selects and outputs one out of the output value of the multiplier(220), input data and a reference value. A calculating logic(240) adds or subtracts a previous address to the reference value in the multiplexer(230) in case that a specific area address of wanted array is created by calculating a successively selected an output value in the multiplexer(230) and the input data(Di) and a row direction area are successively selected from the specific address of the array. The second register(250) stores an output signal of the calculating logic(240) and outputs to the current address and feeds back the signal into the calculating logic(240).

Description

디지털 신호 처리기의 어드레스 생성 회로 및 방법{ADDRESS GENERATION CIRCUIT AND METHOD FOR DIGITAL SIGNAL PROCESSOR}Address generation circuit and method of digital signal processor {ADDRESS GENERATION CIRCUIT AND METHOD FOR DIGITAL SIGNAL PROCESSOR}

본 발명은 디지털 신호 처리기에 관한 것으로 특히, 2차원 배열 어드레스를 생성하기 위한 디지털 신호 처리기의 어드레스 생성 회로 및 방법에 관한 것이다.The present invention relates to digital signal processors, and more particularly, to address generation circuits and methods of digital signal processors for generating two-dimensional array addresses.

일반적으로 디지털 신호 처리기(DSP : Digital Signal Processor)는 고속으로 디지털 신호를 처리하기 위한 마이크로 프로세서이다.In general, a digital signal processor (DSP) is a microprocessor for processing digital signals at high speed.

현재 많은 범용의 디지털 신호 처리기는 데이터 메모리의 액세스를 쉽게 하기 위해 어드레스 생성 회로를 구비하고 있다.Many general-purpose digital signal processors are now equipped with address generation circuits to facilitate access of the data memory.

상기 어드레스 생성 회로는 원하는 어드레스를 생성하기 위해 가산 또는 감산 연산을 수행하는 연산 로직을 구비하고 있다.The address generation circuit has arithmetic logic that performs addition or subtraction operations to generate a desired address.

도1 은 종래의 어드레스 생성 회로의 블록도로서 이에 도시된 바와 같이, 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값)(Di) 또는 레퍼런스 값(REF)을 선택하는 멀티플렉서(110)와, 이 멀티플렉서(110)의 출력 데이터를 누적값에 가산 또는 감산하는 연산 로직(120)과, 이 연산 로직(120)의 출력값을 저장하여 어드레스(Addr)로 출력함과 아울러 상기 연산 로직(120)에 궤환시키는 레지스터(130)로 구성된다.1 is a block diagram of a conventional address generation circuit, as shown therein, a multiplexer 110 for selecting input data (or a value of a data memory transferred to a data bus) Di or a reference value REF; Arithmetic logic 120 that adds or subtracts the output data of the multiplexer 110 to a cumulative value, stores the output value of the arithmetic logic 120, outputs it to an address Addr, and outputs the arithmetic logic 120 to the arithmetic logic 120. It consists of a register 130 for feedback.

이와같은 종래 회로의 동작 과정을 설명하면 다음과 같다.Referring to the operation of the conventional circuit as follows.

멀티플렉서(110)에서 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값)(Di)를 선택하면 연산 로직(120)을 통해 레지스터(130)에 저장된 후 어드레스(addr)로 출력된다.When the multiplexer 110 selects the input data (or the value of the data memory transmitted to the data bus) Di, it is stored in the register 130 through the operation logic 120 and then output to the address addr.

이때, 임의의 어드레스를 발생시키기 위하여 데이터(Di)가 입력되면 멀티플렉서(110)를 통해 연산 로직(120)에 출력된다.In this case, when data Di is input to generate an arbitrary address, the data Di is output to the operation logic 120 through the multiplexer 110.

이에 따라, 연산 로직(120)이 레지스터(130)에 저장된 어드레스값(Addr)을 멀티플렉서(110)로부터 입력되는 데이터(Di)를 이용하여 가산 또는 감산하면 그 결과가 상기 레지스터(130)에 저장되어 어드레스(Addr)로 출력되어진다.Accordingly, when the operation logic 120 adds or subtracts the address value Addr stored in the register 130 using the data Di input from the multiplexer 110, the result is stored in the register 130. It is output to the address Addr.

또한, 레퍼런스 값(REF)을 멀티플렉서(110)가 입력시키면 연산 로직(120)에서 레지스터(130)의 저장값을 상기 레퍼런스 값(REF)으로 가산 또는 감산하여 어드레스(Addr)를 생성시키게 된다.In addition, when the multiplexer 110 inputs the reference value REF, the operation logic 120 generates an address Addr by adding or subtracting the stored value of the register 130 to the reference value REF.

즉, 연산 로직(120)에서 가산 또는 감산 동작을 수행하여 레지스터(130)의 값을 증가 또는 감소시킴에 의해 어드레스(Addr)를 생성함으로써 데이터 메모리의 임의의 영역을 순차적으로 액세스하게 된다.That is, the operation logic 120 sequentially accesses any area of the data memory by generating an address Addr by performing an addition or subtraction operation to increase or decrease the value of the register 130.

이러한 동작을 수행하는 종래 기술은 2차원 배열 방식의 데이터 메모리를 액세스하려는 경우 아래와 같은 2가지 방법을 이용한다.The prior art for performing such an operation uses the following two methods when accessing a two-dimensional array data memory.

1) 2차원 배열의 각 1차원 배열당 시작 포인터를 데이터 메모리에 저장하여 두고 먼저 포인터가 저장된 메모리 어드레스를 레지스터(130)에 읽어 들인 후 이를 다시 어드레스(Addr)로 하여 원하는 1차원 배열의 포인터값을 레지스터에 읽어 들여 사용한다.1) The start pointer for each one-dimensional array of the two-dimensional array is stored in the data memory, and first, the memory address where the pointer is stored is read into the register 130, and then the address value of the desired one-dimensional array is added as an address (Addr). Read into a register and use it.

2) 2차원 배열의 어드레스를 산술 로직 유니트(Arithmetic Logic Unit)에서 계산한 후 이를 메모리에 저장하고 다시 이를 레지스터(130)에 로드하여 어드레스(Addr)로 사용한다.2) After calculating the address of the two-dimensional array in an Arithmetic Logic Unit (Arithmetic Logic Unit) and stores it in the memory and loads it again in the register 130 to use as an address (Addr).

예를 들어, 2차원 배열의 메모리에서 1배열의 임의의 영역에서 2배열의 임의의 영역을 액세스하는 경우 연산 로직(120)에서 레지스터(130)에 저장된 1배열의 임의의 영역에 대한 어드레스값에서 멀티플렉서(110)로 입력되는 데이터를 가산하는 동작을 반복하여 2배열의 임의의 영역에 대한 어드레스를 생성하게 된다.For example, in a two-dimensional array of memory, if an arbitrary region of two arrays is accessed from any region of one array, the arithmetic logic 120 at the address value for any region of the first array stored in register 130 may be used. The operation of adding data input to the multiplexer 110 is repeated to generate an address for an arbitrary region of two arrays.

그러나, 이러한 종래의 기술은 많은 응용 프로그램에서 사용되는 2차원 배열 방식의 테이블 구조의 메모리를 액세스하기에는 가산 또는 감산 동작을 수행하는 연산 로직의 구조가 복잡하여 프로그램이 어렵고 몇 개의 더미 메모리를 필요로 하는 단점이 있다.However, such a conventional technique is difficult to program and requires a few dummy memories because the structure of arithmetic logic that performs addition or subtraction operations is difficult to access a two-dimensional array type table memory used in many applications. There are disadvantages.

따라서, 본 발명은 종래의 문제점을 개선하기 위하여 종래의 회로에 곱셈기(multiplier)를 부가하여 하나의 열의 임의의 영역을 액세스한 후 다른 열의 임의의 영역을 액세스하는 경우 그 해당 영역의 어드레스를 직접 생성하도록 함으로써 2차원 배열의 메모리에 대한 액세스를 용이하게 하도록 창안한 디지털 신호 처리기의 어드레스 생성 회로 및 방법을 제공함에 목적이 있다.Accordingly, the present invention adds a multiplier to a conventional circuit to improve a conventional problem, and then directly generates an address of the corresponding area when accessing an arbitrary area of one column and then accessing an arbitrary area of another column. It is an object of the present invention to provide an address generation circuit and method of a digital signal processor, which is invented to facilitate access to a two-dimensional array of memory.

도 1은 종래의 어드레스 생성 회로의 블록도.1 is a block diagram of a conventional address generation circuit.

도 2는 본 발명에 따른 어드레스 생성 회로의 블록도.2 is a block diagram of an address generation circuit according to the present invention;

도 3은 6*4의 2차원 배열 어드레스의 저장을 보인 예시도.3 is an exemplary view showing storage of a 6 * 4 two-dimensional array address.

도 4는 5*4의 2차원 배열 메모리의 구성도.4 is a configuration diagram of a 5 * 4 two-dimensional array memory.

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

210,250 : 레지스터 220 : 곱셈기210,250: Register 220: Multiplier

230 : 멀티플렉서 240 : 연산 로직230: multiplexer 240: arithmetic logic

본 발명은 상기의 목적을 달성하기 위하여 2차원 배열의 메모리의 행 값을 저장하는 제1 레지스터와, 그 2차원 배열의 메모리의 원하는 열의 값을 상기 레지스터에 저장된 행의 값과 곱하는 곱셈기와, 이 곱셈기의 출력값 또는 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값) 또는 레퍼런스 값중 하나를 선택하여 출력하는 멀티플렉서와, 이 멀티플렉서에서 순차 선택되는 상기 곱셈기의 출력값과 상기 입력 데이터를 연산하여 원하는 배열의 특정 영역 주소를 생성하고 그 배열의 특정 영역 주소로부터 순차적으로 행방향의 영역을 선택하는 경우 상기 멀티플렉서에서의 레퍼런스 값으로 이전 어드레스값을 가산 또는 감산하는 연산 로직과, 이 연산 로직의 출력 신호를 저장하여 현재의 어드레스로 출력함과 동시에 상기 연산 로직으로 궤환시키는 제2 레지스터로 구성함을 특징으로 한다.The present invention provides a first register for storing row values of a memory of a two-dimensional array, and a multiplier for multiplying a value of a desired column of a memory of a two-dimensional array with a value of a row stored in the register. A multiplexer which selects and outputs one of a multiplier's output value or input data (or a value of a data memory transferred to a data bus) or a reference value, and calculates an output value of the multiplier sequentially selected by the multiplexer and the input data to When generating a specific area address and sequentially selecting a row direction area from the specific area address of the array, operation logic for adding or subtracting the previous address value to the reference value in the multiplexer, and storing the output signal of the operation logic Output to the current address and at the same time And it characterized in that it consists of the second register to ring.

또한, 본 발명은 상기의 목적을 달성하기 위하여 2차원 배열의 메모리의 행값을 저장하는 단계와, 원하는 열의 값을 상기에서 저장한 행의 값과 곱하여 그 원하는 열의 시작 어드레스를 산출하는 단계와, 상기 원하는 열의 시작 어드레스에 원하는 행의 값을 더하여 원하는 배열의 특정 영역의 어드레스를 구하는 단계와, 상기에서의 원하는 배열의 특정 영역으로부터 행 방향으로 임의의 영역을 액세스하려는 경우 상기 특정 영역의 어드레스값에 어드레스 단위 증가분을 가감산하여 임의의 영역에 대한 어드레스를 구하는 단계를 수행함을 특징으로 한다.In addition, to achieve the above object, the present invention comprises the steps of storing the row values of the memory of the two-dimensional array, multiplying the value of the desired column with the value of the row stored in the above to calculate the start address of the desired column; Obtaining an address of a specific region of a desired array by adding a desired row value to a start address of a desired column; and when accessing an arbitrary region in a row direction from the specific region of the desired array, an address is added to the address value of the specific region. And calculating the address of an arbitrary area by adding or subtracting the unit increment.

이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the drawings.

도2 는 본 발명의 실시예를 보인 블록도로서 이에 도시한 바와 같이, 2차원 배열의 메모리의 행 값(Di2)을 저장하는 제1 레지스터(210)와, 그 2차원 배열의 메모리의 원하는 열의 값(Di3)을 상기 레지스(210)터에 저장된 행의 값(Di2)과 곱하는 곱셈기(220)와, 이 곱셈기(220)의 출력값 또는 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값)(Di1) 또는 레퍼런스 값(REF)중 하나를 선택하여 출력하는 멀티플렉서(230)와, 이 멀티플렉서(230)에서 순차 선택되는 상기 곱셈기(220)의 출력값과 상기 입력 데이터(Di)를 연산하여 원하는 배열의 특정 영역 주소를 생성하고 그 배열의 특정 영역 주소로부터 순차적으로 행방향의 영역을 선택하는 경우 상기 멀티플렉서(230)에서의 레퍼런스 값(REF)으로 이전 어드레스값을 가산 또는 감산하는 연산 로직(240)과, 이 연산 로직(240)의 출력 신호를 저장하여 현재의 어드레스(Addr)로 출력함과 동시에 상기 연산 로직(240)으로 궤환시키는 제2 레지스터(250)로 구성한다.Fig. 2 is a block diagram showing an embodiment of the present invention, as shown therein, for a first register 210 for storing a row value Di2 of a memory of a two-dimensional array, and a desired column of the memory of the two-dimensional array. A multiplier 220 for multiplying a value Di3 by a value Di2 of a row stored in the register 210 and an output value or input data (or a value of a data memory transferred to a data bus) of the multiplier 220 ( A multiplexer 230 for selecting and outputting either Di1) or a reference value REF, and outputting the multiplier 220 sequentially selected by the multiplexer 230 and the input data Di to calculate Operation logic 240 that adds or subtracts a previous address value to a reference value REF in the multiplexer 230 when generating a specific area address and sequentially selecting a row direction area from a specific area address of the array; , With this operation Storing an output signal of 240 to constitute at the same time as the output to the current address (Addr) to the second register 250 for feedback to the operational logic 240.

이와같이 구성한 본 발명의 실시예에 대한 동작 및 작용 효과를 설명하면 다음과 같다.Referring to the operation and effect of the embodiment of the present invention configured as described above are as follows.

본 발명은 멀티플렉서(230)가 곱셈기(220)의 출력 단자를 선택함이 없이 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값)(Di1) 또는 레퍼런스 값(REF)을 선택하면 종래의 회로와 동일한 동작으로 어드레스를 생성함으로써 레지스터(250)에서 어드레스(Addr)를 출력하게 된다.According to the present invention, when the multiplexer 230 selects the input data (or the value of the data memory transmitted to the data bus) Di1 or the reference value REF without selecting the output terminal of the multiplier 220, The address Addr is output from the register 250 by generating an address in the same operation.

만일,어드레스(Addr)를 생성하여 2차원 배열의 메모리의 임의의 영역을 액세스한 후 다른 열(Column)의 임의의 영역을 액세스하려는 경우 즉, 2차원 배열의 메모리가 도4 의 구성과 같을 때 영역([0,0])에서 영역([2,1])을 액세스하려는 경우를 예를 들면 레지스터(250)를 초기화시키고 레지스터(210)에 1배열의 행의 값(Di2='4')을 저장한 후 원하는 열의 값(Di3='2')을 입력하면 곱셈기(220)는 1배열의 행의 값('4')과 입력된 열의 값('2')을 곱하여 3번째 열(Column = 2)의 시작 영역([2,0])의 어드레스를 생성하기 위한 값을 멀티플레서(230)으로 출력하게 된다.If, after creating an address (Addr) to access any area of the memory of the two-dimensional array and then to access any area of the other columns (that is, the memory of the two-dimensional array is the same as the configuration of Figure 4) In the case of accessing the area [2, 1] from the area [0, 0], for example, the register 250 is initialized and the value of the array of one row in the register 210 (Di2 = '4') After inputting the value of the desired column (Di3 = '2'), the multiplier 220 multiplies the value of the row of the first array ('4') by the value of the input column ('2') and the third column (Column). = 2) outputs a value for generating the address of the start area ([2, 0]) to the multiplexer 230.

이때, 곱셈기(220)의 출력값은 멀티플렉서(230)에 의해 연산 로직(240)에 출력되어 연산됨에 의해 레지스터(250)에는 3번째 열의 시작 영역([2,0])의 어드레스가 저장되어진다.At this time, the output value of the multiplier 220 is outputted to the operation logic 240 by the multiplexer 230 and is calculated, so that the address of the start area [2, 0] of the third column is stored in the register 250.

이 후, 상기 멀티플렉서(230)는 메모리 단위 공간을 나타내는 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값)(Di1=1)를 선택하여 상기 연산 로직(240)에 출력하게 된다.Thereafter, the multiplexer 230 selects input data representing a memory unit space (or a value of a data memory transmitted to a data bus) (Di1 = 1) and outputs the same to the operation logic 240.

이에 따라, 연산 로직(240)이 레지스터(250)의 저장값에 멀티플렉서(230)에 의해 입력되는 값(해당 영역의 행의 값=1)을 가산하여 레지스터(250)에 저장함으로써 상기 레지스터(250)에서 영역([2,1])의 어드레스(Addr)를 출력하게 된다.Accordingly, the operation logic 240 adds the value input by the multiplexer 230 to the stored value of the register 250 (the value of the row of the corresponding area = 1) and stores the value in the register 250. ) Outputs the address Addr of the area [2, 1].

이 후, 3번째 배열의 영역([2,2])([2,3])를 액세스하려는 경우 멀티플렉서(230)가 레퍼런스 값(REF)을 선택하면 연산 로직(240)이 레지스터(250)의 저장값([2,1])의 행값에 '1'을 순차적으로 가산함으로써 상기 레지스터(250)에서의 어드레스(Addr)가 영역([2,2])([2,3])을 순차적으로 선택하기 위한 어드레스로 출력되어진다.Subsequently, when the multiplexer 230 selects the reference value REF when trying to access the region ([2, 2]) ([2, 3]) of the third array, the operation logic 240 causes the register 250 to be deactivated. By sequentially adding '1' to the row value of the stored value [2,1], the address Addr in the register 250 sequentially stores the regions [2,2] and [2,3]. It is output to the address for selection.

상기와 같은 동작을 도3 의 6*4의 2차원 배열의 메모리를 예를 들어 설명하면 다음과 같다.The above operation will be described with reference to the memory of the 6 * 4 two-dimensional array of FIG. 3 as an example.

여기서, 영역([5,3])의 어드레스에서 영역([4,2])의 어드레스를 생성하고자 하는 경우로서 단, 영역([0,0])의 어드레스는 '400h'라고 가정한다.Here, it is assumed that the address of the area [4, 2] is generated from the address of the area [5, 3], except that the address of the area [0, 0] is '400h'.

먼저, 레지스터 파일의 임의의 레지스터에 '400h'를 로드한다.First, load '400h' into any register in the register file.

그리고, 레지스터(210)에 각 1차원 배열의 메모리 공간(행의 값)을 나타내는 'Di2=4'를 로드하고 곱셈기(220)의 일측 입력단자에 5번째 배열을 나타내는 'Di3=4'를 로드한다.Then, the register 210 loads 'Di2 = 4' representing the memory space (row value) of each one-dimensional array, and loads 'Di3 = 4' representing the fifth array to one input terminal of the multiplier 220. do.

이때, 곱셈기(220)가 5번째 배열을 나타내는 '4'와 레지스터(210)에 저장된 1차원 배열의 메모리 공간(행의 값)을 나타내는 '4'를 곱셈하면 멀티플렉서(230)가 연산 로직(240)에 출력하여 레지스터(250)에 5번째 배열의 시작 어드레스가 저장되도록 한다.In this case, when the multiplier 220 multiplies '4' representing the fifth array and '4' representing the memory space (row value) of the one-dimensional array stored in the register 210, the multiplexer 230 generates arithmetic logic 240. ), So that the start address of the fifth array is stored in the register 250.

이때의 상기 레지스터(250)의 저장값은 영역([4,0])의 어드레스이다.At this time, the stored value of the register 250 is the address of the area [4, 0].

따라서, 영역([4,2])의 어드레스를 레지스터(250)에 저장하기 위해서는 '2'를 더해주면 되므로 멀티플렉서(230)가 입력 데이터(Di1='2')를 선택하면 연산 로직(240)이 상기 레지스터(250)에 저장된 어드레스([4,0])에 가산하여 다시 그 레지스터(250)에 저장함에 의해 영역([4,2])의 어드레스(Addr)를 생성하게 된다.Therefore, in order to store the address of the area [4, 2] in the register 250, '2' should be added. Therefore, when the multiplexer 230 selects the input data Di1 = '2', the operation logic 240 The address Addr of the area [4, 2] is generated by adding to the address [4, 0] stored in the register 250 and storing the register 250 again.

이상과 같은 동작을 수행함에 의해 부가적인 메모리의 사용없이 2차원 배열의 원하는 어드레스를 간단히 얻을 수 있다.By performing the above operation, it is possible to simply obtain a desired address of the two-dimensional array without using additional memory.

상기에서 상세히 설명한 바와 같이 본 발명은 종래의 어드레스 생성 회로에 곱셈기를 부가하여 디지털 신호 처리 알고리즘을 프로그램할 때 2차원 배열의 어드레스를 쉽게 생성할 수 있으므로 사용자가 프로그램하기가 쉽고 이 곱셈기를 이용하여 어드레스 생성을 유연성있게 할 수 있는 효과가 있다.As described in detail above, the present invention can easily generate a two-dimensional array of addresses when programming a digital signal processing algorithm by adding a multiplier to a conventional address generation circuit, so that the user is easy to program and uses the multiplier to address This has the effect of being flexible.

Claims (2)

2차원 배열의 메모리에 대한 행의 값을 저장하는 제1 레지스터와, 원하는 열의 값을 상기 레지스터에 저장된 행의 값과 곱하여 원하는 열의 시작 영역의 어드레스를 산출하는 곱셈기와, 이 곱셈기의 출력값 또는 입력 데이터(또는 데이터 버스로 전송되는 데이터 메모리의 값) 또는 레퍼런스 값중 하나를 선택하여 출력하는 멀티플렉서와, 이 멀티플렉서에서 순차 선택되는 상기 곱셈기의 출력값과 상기 입력 데이터를 연산하여 원하는 배열의 특정 영역 주소를 생성하고 그 배열의 특정 영역 주소로부터 순차적으로 행방향의 영역을 선택하는 경우 상기 멀티플렉서에서의 레퍼런스 값으로 이전 어드레스값을 가산 또는 감산하는 연산 로직과, 이 연산 로직의 출력 신호를 저장하여 현재의 어드레스로 출력함과 동시에 상기 연산 로직으로 궤환시키는 제2 레지스터로 구성함을 특징으로 하는 디지털 신호 처리기의 어드레스 생성 회로.A first register for storing a row value for a memory of a two-dimensional array, a multiplier for multiplying a value of a desired column with a value of a row stored in the register to calculate an address of a start region of a desired column, and an output value or input data of the multiplier A multiplexer that selects and outputs one of a reference memory (or a value of a data memory to be transferred to a data bus), an output value of the multiplier sequentially selected from the multiplexer, and the input data to generate a specific area address of a desired array; When sequentially selecting a row direction area from a specific area address of the array, arithmetic logic that adds or subtracts a previous address value to a reference value of the multiplexer, stores the output signal of this arithmetic logic, and outputs it to the current address. And at the same time returning to the operation logic An address generation circuit of a digital signal processor, characterized by comprising a register. 2차원 배열의 메모리의 행(Row) 값을 저장하는 제1 단계와, 액세스를 원하는 영역의 열(Column)의 값을 입력하는 제2 단계와, 상기에서의 행,열값을 곱하여 액세스를 원하는 영역이 존재하는 열(Column)의 시작 어드레스를 산출하는 제3 단계와, 상기 원하는 열의 시작 어드레스에 원하는 행의 값을 더하여 원하는 배열의 특정 영역의 어드레스를 구하는 제4 단계와, 상기에서의 특정 영역의 어드레스값에 어드레스 단위 증가분을 가감산하여 동일 배열의 임의의 영역에 대한 어드레스를 구하는 단계를 수행함을 특징으로 하는 디지털 신호 처리기의 어드레스 생성 방법.A first step of storing row values of a two-dimensional array of memory, a second step of inputting a column value of an area to be accessed, and an area to be accessed by multiplying the row and column values A third step of calculating a start address of the existing column; a fourth step of obtaining an address of a specific area of a desired array by adding a desired row value to a start address of the desired column; and And subtracting an address unit increment to an address value to obtain an address for any area of the same array.
KR1019970018538A 1997-05-13 1997-05-13 Address generation circuit and method for digital signal processor KR100253182B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970018538A KR100253182B1 (en) 1997-05-13 1997-05-13 Address generation circuit and method for digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970018538A KR100253182B1 (en) 1997-05-13 1997-05-13 Address generation circuit and method for digital signal processor

Publications (2)

Publication Number Publication Date
KR19980083290A KR19980083290A (en) 1998-12-05
KR100253182B1 true KR100253182B1 (en) 2000-05-01

Family

ID=19505760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970018538A KR100253182B1 (en) 1997-05-13 1997-05-13 Address generation circuit and method for digital signal processor

Country Status (1)

Country Link
KR (1) KR100253182B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984707B1 (en) * 2008-10-23 2010-10-01 한국과학기술원 Address generation method, address generation slave device, master slave system and multi master slave system

Also Published As

Publication number Publication date
KR19980083290A (en) 1998-12-05

Similar Documents

Publication Publication Date Title
EP1281118A1 (en) Method and apparatus for performing computations using residue arithmetic
KR19980065431A (en) Modulo address generator and its method
KR19980701803A (en) Log / Inverse Log Converter, Calculation Device and Log Value Generation Method
US6065031A (en) Log converter utilizing offset and method of use thereof
US7299338B2 (en) Vector indexed memory unit and method
US9223752B2 (en) Digital signal processor with one or more non-linear functions using factorized polynomial interpolation
KR100253182B1 (en) Address generation circuit and method for digital signal processor
KR100513160B1 (en) Carry look-ahead adder having reduced area
US5847980A (en) Product-summing arithmetic circuit
JP2856064B2 (en) Digital filter
KR100188027B1 (en) Address generation circuit
US7015839B1 (en) Mapping method utilizing look-up table and related apparatus
US9069685B2 (en) Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table
JP2609630B2 (en) Divider and division method
US6052768A (en) Circuit and method for modulo address generation with reduced circuit area
JPH0695855A (en) Inverse number generating circuit and digital signal processor using the same
KR100588728B1 (en) Method for implementing division of orthogonal frequency division multiplexing by digital signal processor
JP2005227811A (en) Approximation circuit
JPH10333883A (en) Multiplying method and circuit therefor
KR100190019B1 (en) Address generator for graphic controller
JP3392726B2 (en) Data receiving device and data receiving method
JP2778478B2 (en) Correlation processor
KR100236530B1 (en) Address generating circuit of a digital signal processor
JP2533893B2 (en) Data processing device
JP2850594B2 (en) RAM address generation 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: 20051201

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee