KR100236530B1 - Address generating circuit of a digital signal processor - Google Patents

Address generating circuit of a digital signal processor Download PDF

Info

Publication number
KR100236530B1
KR100236530B1 KR1019970000334A KR19970000334A KR100236530B1 KR 100236530 B1 KR100236530 B1 KR 100236530B1 KR 1019970000334 A KR1019970000334 A KR 1019970000334A KR 19970000334 A KR19970000334 A KR 19970000334A KR 100236530 B1 KR100236530 B1 KR 100236530B1
Authority
KR
South Korea
Prior art keywords
address
registers
latch
register
switching means
Prior art date
Application number
KR1019970000334A
Other languages
Korean (ko)
Other versions
KR19980065386A (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 KR1019970000334A priority Critical patent/KR100236530B1/en
Publication of KR19980065386A publication Critical patent/KR19980065386A/en
Application granted granted Critical
Publication of KR100236530B1 publication Critical patent/KR100236530B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 디지탈 신호 처리장치의 어드레스 발생회로를 공개한다. 그 회로는 제1뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제1레지스터들, 제2뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제2레지스터들, 제1제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제1레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제1스위칭 수단들, 상기 복수개의 제1스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제1래치, 제2제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제2레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제2스위칭 수단들, 상기 복수개의 제2스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제2래치, 상기 제1래치 및 제2래치의 출력신호를 가산하여 상기 복수개의 제1 및 제2레지스터들 각각에 입력하기 위한 가산수단, 및 모드 선택 데이타에 응답하여 상기 제1래치의 출력신호 또는 제2래치의 출력신호를 어드레스 버스로 전송하기 위한 제3스위칭 수단들로 구성되어 있다. 따라서, 최소의 하드웨어의 추가로 어드레스 포인터의 갯수를 늘릴 수 있으므로 집적화시에 칩면적의 증가를 방지할 수 있다.The present invention discloses an address generating circuit of a digital signal processing apparatus. The circuit includes a plurality of first registers for storing a first bank address pointer value, a plurality of second registers for storing a second bank address pointer value, and the plurality of first registers in response to a decoding signal of first control bit data. A plurality of first switching means for transmitting an output signal of a register selected from among the first registers, a first latch, and second control bit data for storing an address selected by the plurality of first switching means A plurality of second switching means for transmitting an output signal of a selected one of the plurality of second registers in response to a decoded signal of the second register, a second for storing an address selected by the plurality of second switching means Inputting each of the plurality of first and second registers by adding an output signal of a second latch and the first and second latches; And third switching means for transmitting the output signal of the first latch or the output signal of the second latch to the address bus in response to the mode selection data. Therefore, the number of address pointers can be increased by adding a minimum of hardware, so that an increase in chip area at the time of integration can be prevented.

Description

디지탈 신호 처리장치의 어드레스 발생회로Address generation circuit of digital signal processing device

본 발명은 디지탈 신호 처리장치에 관한 것으로, 특히 디지탈 신호 처리장치내의 메모리 억세스를 위한 디지탈 신호 처리장치의 어드레스 발생회로에 관한 것이다.The present invention relates to a digital signal processing apparatus, and more particularly, to an address generating circuit of a digital signal processing apparatus for memory access in the digital signal processing apparatus.

디지탈 신호 처리기에는 기본적으로 메모리를 기초로 한 구조를 가진다. 따라서, 여러 디지탈 신호 처리 알고리즘을 구현하기 위해서 입력 데이타나 계수, 그리고 출력 데이타 등을 메모리로 부터 읽거나 쓰는 명령어들이 중요한 부분을 차지하며 매우 빈번한 빈도로 발생한다. 그러므로, 메모리 억세스를 위한 어드레스를 발생시키는 어드레스 발생기의 구성은 디지탈 신호 처리장치의 성능을 좌우하는 중요한 요소의 하나이다.Digital signal processors basically have a memory-based structure. Therefore, in order to implement various digital signal processing algorithms, instructions that read or write input data, coefficients, and output data from memory are an important part and occur very frequently. Therefore, the configuration of the address generator for generating an address for memory access is one of the important factors that influence the performance of the digital signal processing apparatus.

어드레스 발생기의 대부분을 차지하는 로직은 간접 어드레싱(indirect addressing)을 위한 덧셈기와 레지스터들이다. 간접 어드레싱은 선택된 어드레스 포인터 레지스터의 값을 어드레스 버스에 실어 메모리에 어드레스를 보내주고, 그 어드레스를 인덱스 레지스터의 값과 더해 다음 억세스할 어드레스를 어드레스 포인터에 업데이트하는 어드레싱 방법으로 디지탈 신호 처리 알고리즘의 가장 기본적인 필터 등을 구현하는데 있어서 데이타들을 순차적으로 읽어오는 경우등에서 매우 유용하게 사용된다. 이 경우 어드레스 포인터에는 억세스하고자 하는 메모리 데이타 세그먼트의 초기 데이타를 저장하고 인덱스 레지스터에는 모디파이어(modifier) 값을 저장한다. 예를 들면, 한 메모리 데이타 세그먼트에 값을 순차적으로 억세스하려면 모디파이어에 "1"을 저장하면 되고, 더블 프리시젼(double precision) 값을 순차적으로 억세스하는 경우에는 모디파이어에 "2"를 저장하면 된다.The logic that occupies most of the address generator is adders and registers for indirect addressing. Indirect addressing is an addressing method that puts the value of the selected address pointer register on the address bus and sends the address to memory, adds the address with the value of the index register, and updates the address to be accessed next to the address pointer. This is very useful when reading data sequentially in implementing a filter. In this case, the address pointer stores initial data of a memory data segment to be accessed and an index register stores a modifier value. For example, to sequentially access a value in one memory data segment, "1" may be stored in the modifier. In the case of sequentially accessing a double precision value, "2" may be stored in the modifier.

간접 어드레싱에는 또 어드레스 포인터에 각 데이타 메모리 세그먼트의 베이스 어드레스 값을 저장하고 인덱스 레지스터에 인덱스 값을 넣어서 세그먼트의 특정 데이타를 억세스하는 인덱스드 어드레싱(indexed addressing)도 가능하다.Indirect addressing also allows indexed addressing, which stores the base address value of each data memory segment in an address pointer and inserts an index value into an index register to access specific data in the segment.

이러한 간접 어드레싱에서 중요한 점은 몇개의 어드레스 포인터와 몇개의 인덱스 레지스터를 둘 것인가 하는 점이다. 왜냐하면 최적의 어드레스 포인터의 갯수와 인덱스 레지스터의 갯수는 알고리즘에 매우 종속적이기 때문이다. 여러개의 메모리 세그먼트가 필요한 알고리즘에서는 어드레스 포인터의 갯수가 지배적인 팩터(dominant factor)가 되고 하나의 세그먼트내에서 불규칙적인 메모리 억세스가 필요한 경우에는 인덱스 레지스터의 갯수가 지배적인 팩터로 작용한다.The important thing in this indirect addressing is how many address pointers and how many index registers to put. This is because the optimal number of address pointers and the number of index registers is highly algorithm dependent. In algorithms that require multiple memory segments, the number of address pointers is the dominant factor, and if irregular memory accesses are required within one segment, the number of index registers is the dominant factor.

범용 디지탈 신호 처리 장치는 프로그램가능한 장치로 어느 특정 응용만을 위한 것이 아니라 여러가지 응용에 적용 가능해야 하는데 특정한 갯수의 어드레스 포인터와 인덱스 레지스터로 하드웨어가 고정되면 어떤 응용에서는 효율적으로 동작하지 못할 수 있다.A general-purpose digital signal processing device is a programmable device and should be applicable to various applications, not just for any particular application. If the hardware is fixed by a certain number of address pointers and index registers, it may not operate efficiently in some applications.

도1은 종래의 디지탈 신호 처리장치의 어드레스 발생회로의 블럭도로서, 2개의 어드레스 포인터와 4개의 인덱스를 갖는 어드레스 발생회로를 나타내는 것이다. 도1의 어드레스 발생회로는 어드레스 포인터를 지정하기 위한 어드레스 포인터 레지스터들(10, 12), 인덱스 값을 저장하기 위한 인덱스 레지스터들(14, 16, 18, 20), 입력 버퍼들(34, 36), 가산기(40), 및 통로 제어용 3상태 버퍼들(22, 24, 26, 28, 30, 32, 38)로 구성되어 있다. 그리고, 도1에 나타낸 어드레스 발생회로를 위하여 16비트 디지탈 신호 처리장치에서 사용되는 16비트 명령어 레지스터내에 2개의 어드레스 포인터를 선택하기 위한 1비트와 4개의 인덱스 값중 하나를 선택하기 위한 2비트를 각각 디코딩하여 3상태 래치들(22, 24) 및 (26, 28, 30, 32)을 제어한다. 도1에서 가산기(40)의 출력신호가 어드레스 포인터 레지스터(10, 12)로 궤환됨으로써 어드레스 포인터가 업데이트되게 된다. 즉, 간접 어드레싱 명령어가 수행되면 명령어에서 선택된 어드레스 포인터의 값을 어드레스 버스로 보내고 난 후 명령어에서 선택된 인덱스 레지스터의 값을 더해 어드레스 포인터 레지스터로 출력하여 어드레스 포인터를 업데이트한다.Fig. 1 is a block diagram of an address generating circuit of a conventional digital signal processing apparatus, which shows an address generating circuit having two address pointers and four indexes. The address generating circuit of Fig. 1 includes address pointer registers 10 and 12 for designating an address pointer, index registers 14, 16, 18 and 20 for storing an index value, and input buffers 34 and 36. , Adder 40, and tri-state buffers 22, 24, 26, 28, 30, 32, 38 for passage control. Then, for the address generating circuit shown in Fig. 1, 1 bit for selecting two address pointers and 2 bits for selecting one of four index values are respectively decoded in the 16-bit instruction register used in the 16-bit digital signal processing apparatus. To control the tri-state latches 22, 24 and 26, 28, 30, 32. In FIG. 1, the output signal of the adder 40 is fed back to the address pointer registers 10 and 12 so that the address pointer is updated. That is, when the indirect addressing instruction is executed, the value of the address pointer selected in the instruction is sent to the address bus, and then the address pointer is updated by adding the value of the index register selected in the instruction to the address pointer register.

상술한 종래의 디지탈 신호 처리장치의 어드레스 발생회로는 한 시점에서 최대 2개의 어드레스 포인터를 사용한 어드레싱밖에는 사용할 수 없으며 인덱스 레지스터는 어드레스 포인터에 더해지는 모디파이어 값만을 저장하였다. 따라서, 2개의 어드레스 포인터와 4개의 인덱스 레지스터를 가지고 있을 경우에 3개이상의 데이타 세그먼트가 필요한 경우 기존의 어드레스 포인터 값을 메모리 장치나 그 밖의 장소에 저장하였다가 필요한 어드레스 포인터 값을 옮겨와야 하므로 매 세그먼트가 바뀔시 사이클이 증가하게되어 성능의 저하를 야기하게 된다는 문제점이 있었다.The above-described address generation circuit of the conventional digital signal processing apparatus can use only addressing using up to two address pointers at a time, and the index register stores only modifier values added to the address pointers. Therefore, if more than three data segments are required in the case of having two address pointers and four index registers, the existing address pointer values must be stored in a memory device or elsewhere, and the required address pointer values must be moved. There is a problem that the cycle is increased when is changed to cause a decrease in performance.

상술한 문제점을 해결하기 위하여 종래의 디지탈 신호 처리 장치에서 사용하고 있는 방법의 하나는 쉐도우 레지스터(shadow register)의 개념을 이용해서 각 어드레스 포인터에 해당하는 대체 레지스터를 두고 특정 명령어를 수행해 액티브 레지스터 뱅크를 교환하거나 프로세서의 상태를 나타내는 상태 레지스터(status register)에 특정 비트를 할당해 모드를 바꿈으로써 대체 뱅크의 어드레스 포인터를 특정시점에서 사용하도록 하는 것이다. 그러나, 이 방법은 레지스터와 같이 사이즈가 큰 하드웨어를 추가해야 한다는 문제점이 있다.In order to solve the above problems, one of the methods used in the conventional digital signal processing apparatus uses the concept of a shadow register to execute an active register bank by executing a specific instruction with an alternate register corresponding to each address pointer. By swapping or assigning a specific bit to a status register indicating the status of the processor, the mode is changed so that the address pointer of the alternate bank can be used at a particular point in time. However, this method has a problem of adding a large hardware such as a register.

본 발명의 목적은 최소의 하드웨어의 추가로 어드레스 포인터의 갯수와 인덱스 값을 조절할 수 있는 디지탈 신호 처리장치의 어드레스 발생회로를 제공하는데 있다.An object of the present invention is to provide an address generating circuit of a digital signal processing apparatus that can adjust the number of address pointers and index values with the addition of a minimum of hardware.

이와같은 목적을 달성하기 위한 본 발명의 디지탈 신호 처리장치의 어드레스 발생회로는 제1뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제1레지스터들, 제2뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제2레지스터들, 제1제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제1레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제1스위칭 수단들, 상기 복수개의 제1스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제1래치, 제2제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제2레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제2스위칭 수단들, 상기 복수개의 제2스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제2래치, 상기 제1래치 및 제2래치의 출력신호를 가산하여 상기 복수개의 제1 및 제2레지스터들 각각에 입력하기 위한 가산수단, 및 모드 선택 데이타에 응답하여 상기 제1래치의 출력신호 또는 제2래치의 출력신호를 어드레스 버스로 전송하기 위한 제3스위칭 수단들을 구비한 것을 특징으로 한다.The address generating circuit of the digital signal processing apparatus of the present invention for achieving the above object includes a plurality of first registers for storing a first bank address pointer value and a plurality of second registers for storing a second bank address pointer value. Registers, a plurality of first switching means for transmitting an output signal of a selected one of the plurality of first registers in response to the decoding signal of the first control bit data, the plurality of first switching means A plurality of second switching means for transmitting an output signal of a register selected from the plurality of second registers in response to a first latch for storing an address selected by the second control bit data; A second latch, said first latch and a second latch for storing an address selected by a plurality of second switching means Addition means for adding the output signals of the first and second registers to each of the plurality of first and second registers, and transmitting the output signal of the first latch or the output signal of the second latch to an address bus in response to mode selection data. It is characterized by having a third switching means for.

도 1 은 종래의 디지탈 신호 처리장치의 어드레스 발생회로의 블럭도이다.1 is a block diagram of an address generating circuit of a conventional digital signal processing apparatus.

도 2 는 본 발명의 디지탈 신호 처리장치의 어드레스 발생회로의 블럭도이다.2 is a block diagram of an address generating circuit of the digital signal processing apparatus of the present invention.

도 3 은 도 2 에 나타낸 회로를 제어하기 위한 제어회로의 논리 회로도이다.3 is a logic circuit diagram of a control circuit for controlling the circuit shown in FIG.

이하, 첨부된 도면을 참고로 하여 본 발명의 디지탈 신호 처리장치의 어드레스 발생회로를 설명하면 다음과 같다.Hereinafter, an address generating circuit of the digital signal processing apparatus of the present invention will be described with reference to the accompanying drawings.

도2는 본 발명의 디지탈 신호 처리장치의 어드레스 발생회로의 블럭도로서, 2개의 어드레스 포인터와 4개의 인덱스 값을 갖는 주소 발생회로를 나타내는 것이다. 도2에 나타낸 주소 발생회로는 뱅트0 어드레스 포인터 레지스터들(10, 12), 뱅크1 어드레스 포인터 레지스터들(14, 16, 18, 20), 입력 래치들(34, 36), 가산기(40), 및 통로 제어용 3상태 버퍼들(22, 24, 26, 28, 30, 32, 38, 42)로 구성되어 있다. 도2에 나타낸 회로의 구성은 가산기(40)의 출력신호가 종래의 어드레스 포인터 레지스터들뿐만 아니라 인덱스 레지스터들로도 궤환되도록 구성되어 있고 또한, 입력 래치(36)의 출력신호가 가산기(40)뿐만 아니라 통로 제어용 3상태 버퍼(42)를 통하여 어드레스 버스로도 출력되게 구성되어 있는 것이 도1에 나타낸 회로 구성과 다른 점이다.Fig. 2 is a block diagram of an address generating circuit of the digital signal processing apparatus of the present invention, which shows an address generating circuit having two address pointers and four index values. The address generation circuit shown in Fig. 2 includes bank 0 address pointer registers 10 and 12, bank 1 address pointer registers 14, 16, 18 and 20, input latches 34 and 36, adder 40, And three-state buffers 22, 24, 26, 28, 30, 32, 38, and 42 for passage control. The circuit shown in Fig. 2 is configured such that the output signal of the adder 40 is fed back not only to the conventional address pointer registers but also to the index registers. It is different from the circuit configuration shown in Fig. 1 that the control 3-state buffer 42 is also output to the address bus.

이와같이 구성함으로써 뱅크0 어드레스 포인터뿐만아니라 뱅크1 어드레스 포인터를 어드레스 포인터로 사용할 수 있게 되어 6개의 어드레스 포인터를 가질 수 있는데, 이것은 한 시점에서 최대 6개의 어드레스 포인터를 가질 수 있다는 것이 아니라 뱅크 교환을 통해서 한 시점에서 2개 어드레스 포인터 레지스터들(10, 12)에 저장된 어드레스 포인터들 혹은 4개의 어드레스 포인터 레지스터들(14, 16, 18, 20)에 저장된 어드레스 포인터들을 가질 수 있다는 것이다.In this configuration, not only the bank 0 address pointer but also the bank 1 address pointer can be used as the address pointer, so that it can have six address pointers. At this point, it may have either address pointers stored in the two address pointer registers 10, 12 or address pointers stored in the four address pointer registers 14, 16, 18, 20.

도2에 나타낸 회로의 동작을 제어하기 위하여 뱅크0를 위한 레지스터 선택 비트 1비트와 뱅크1을 위한 레지스터 선택 비트 2비트가 필요함으로해서 종래의 명령어 형태의 변화없이 명령어 셋트를 그대로 사용할 수 있다. 그리고 상태 레지스터(status register)와 같이 디지탈 신호 처리장치의 상태를 지시하는 레지스터에 어드레스 모드를 위한 1비트를 할당해 주어, 그 비트가 "0"일 때는 도1에 나타낸 것과 같이 뱅크0를 어드레스 포인터로 사용하고 뱅크1을 인덱스 레지스터로 사용하면 되고, "1"일 때는 뱅크1을 어드레스 포인터로 사용하고 뱅크0를 인덱스 레지스터로 사용하면 된다. 따라서, 사용자는 시스템 응용의 특징에 따라 모드를 선택해서 응용 프로그램을 만들거나 때에 따라 하나의 응용내에서 필요한 시기에 모드를 바꾸어가며 어드레싱을 수행할 수 있다.In order to control the operation of the circuit shown in FIG. 2, since the register select bit 1 bit for bank 0 and the register select bit 2 bit for bank 1 are required, the instruction set can be used as it is without changing the conventional instruction form. 1 bit for the address mode is allocated to a register indicating a state of the digital signal processing apparatus such as a status register. When the bit is "0", bank 0 is indicated as an address pointer as shown in FIG. Bank 1 can be used as an index register. If "1", bank 1 can be used as an address pointer and bank 0 can be used as an index register. Therefore, the user can select the mode according to the characteristics of the system application to create an application program, or sometimes perform the addressing while changing the mode as needed in one application.

도3은 도2에 나타낸 회로를 제어하기 위한 제어회로의 논리 회로도로서, 명령어 레지스터(50), 상태 레지스터(60), 인버터들(70, 72, 74, 76, 78, 100), 및 AND게이트들(80, 82, 84, 86, 88, 90, 92, 94, 96, 98)로 구성되어 있다.3 is a logic circuit diagram of a control circuit for controlling the circuit shown in FIG. 2, which includes an instruction register 50, a status register 60, inverters 70, 72, 74, 76, 78, 100, and an AND gate. Field 80, 82, 84, 86, 88, 90, 92, 94, 96, 98.

만일 상태 레지스터(60)의 제어비트가 "0"이면 뱅크0 레지스터의 값이 어드레스 포인터로 사용되고 뱅크1 레지스터의 값이 인덱스 값으로 사용된다. 이 제어비트의 값은 도2의 3상태 버퍼(38)을 도통하게 하여 래치(34)의 값이 어드레스 버스로 출력되게 한다. 그리고, 이때 명령어 레지스터(50)의 뱅크0 선택 제어비트가 "0"이면 버퍼(24)가 도통되어 레지스터(12)의 출력신호가 래치(34)에 래치되고 "1"이면 버퍼(22)가 도통되어 레지스터(10)의 출력신호가 래치(34)에 래치된다. 또한, 뱅크1 선택 제어비트가 "0"이면 AND게이트(86)의 출력신호가 "1"이 되어 버퍼(32)가 도통됨으로 래치(36)에는 뱅크1 레지스터(20)의 출력신호가 래치(34)에 래치된다. 그리고, 제어비트가 "1"이면 레지스터(18), 제어비트가 "10"이면 레지스터(16), 제어비트가 "11"이면 레지스터(14)의 출력신호가 각각 래치(34)에 래치된다.If the control bit of the status register 60 is "0", the value of the bank 0 register is used as the address pointer and the value of the bank 1 register is used as the index value. The value of this control bit causes the tri-state buffer 38 of FIG. 2 to conduct so that the value of the latch 34 is output to the address bus. At this time, if the bank 0 selection control bit of the instruction register 50 is "0", the buffer 24 is turned on, and if the output signal of the register 12 is latched to the latch 34, and the buffer 22 is "1", And the output signal of the register 10 is latched to the latch 34. In addition, when the bank1 selection control bit is "0", the output signal of the AND gate 86 becomes "1" and the buffer 32 is turned on so that the latch 36 latches the output signal of the bank1 register 20. Is latched 34). If the control bit is "1", the register 18 is latched, if the control bit is "10", the register 16 is latched, and if the control bit is "11", the output signal of the register 14 is latched to the latch 34, respectively.

만일 상태 레지스터(60)의 값이 "1"이면 뱅크0 레지스터의 값이 인덱스 값으로 사용되고 뱅크1 레지스터의 값이 어드레스 포인터로 사용되고, 모드 제어비트의 값은 도2의 버퍼(42)를 도통하게 하여 래치(36)의 값이 어드레스 버스로 출력되게 한다. 그리고 뱅크0 선택 제어비트 및 뱅크1 선택 제어비트의 데이타에 따른 레지스터의 선택은 상술한 바와 동일한다.If the value of the status register 60 is "1", the value of the bank 0 register is used as the index value, the value of the bank 1 register is used as the address pointer, and the value of the mode control bit is conducted to the buffer 42 of FIG. The latch 36 is then output to the address bus. The selection of the register according to the data of the bank 0 selection control bit and the bank 1 selection control bit is the same as described above.

상술한 실시예에서는 2개의 어드레스 포인터나 4개의 어드레스 포인터를 가질 수 있는 어드레스 발생회로만을 기술하였지만 명령어 레지스터의 뱅크 선택 비트를 조절함에 의해서 뱅크들의 어드레스 포인터의 갯수를 조절할 수 있고, 상태 레지스터의 비트수를 늘리고 명령어 레지스터의 제어뱅크의 갯수를 늘림에 의해서 보다 다양한 어드레스의 발생이 가능하다.In the above-described embodiment, only the address generating circuit which can have two address pointers or four address pointers is described, but the number of address pointers of the banks can be adjusted by adjusting the bank select bit of the instruction register, and the number of bits of the status register. By increasing the number and increasing the number of control banks in the instruction register, more various addresses can be generated.

따라서, 본 발명의 디지탈 신호 처리장치의 어드레스 발생회로는 최소의 하드웨어의 추가로 어드레스 포인터의 갯수를 늘릴 수 있으므로 집적화시에 칩면적의 증가를 방지할 수 있다.Therefore, the address generating circuit of the digital signal processing apparatus of the present invention can increase the number of address pointers with the addition of a minimum of hardware, thereby preventing an increase in chip area during integration.

Claims (3)

제1뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제1레지스터들; 제2뱅크 어드레스 포인터 값을 저장하기 위한 복수개의 제2레지스터들; 제1제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제1레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제1스위칭 수단들; 상기 복수개의 제1스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제1래치; 제2제어비트 데이타의 디코딩신호에 응답하여 상기 복수개의 제2레지스터들중 선택된 하나의 레지스터의 출력신호를 전송하기 위한 복수개의 제2스위칭 수단들; 상기 복수개의 제2스위칭 수단들에 의해서 선택된 어드레스를 저장하기 위한 제2래치; 어드레스 포인터의 개수를 증가시키기 위해 상기 제1래치 및 제2래치의 출력신호를 가산하여 상기 복수개의 제1 및 제2레지스터들 각각에 입력하기 위한 가산수단; 및 모드 선택 데이타에 응답하여 상기 제1래치의 출력신호 또는 제2래치의 출력신호를 어드레스 버스로 전송하기 위한 제3스위칭 수단들을 구비한 것을 특징으로 하는 디지탈 신호 처리장치의 어드레스 발생회로.A plurality of first registers for storing a first bank address pointer value; A plurality of second registers for storing a second bank address pointer value; A plurality of first switching means for transmitting an output signal of a selected one of the plurality of first registers in response to the decoding signal of the first control bit data; A first latch for storing an address selected by the plurality of first switching means; A plurality of second switching means for transmitting an output signal of a selected one of the plurality of second registers in response to the decoding signal of the second control bit data; A second latch for storing an address selected by the plurality of second switching means; Adding means for adding the first and second latch output signals to each of the plurality of first and second registers to increase the number of address pointers; And third switching means for transmitting the output signal of the first latch or the output signal of the second latch to an address bus in response to mode selection data. 제1항에 있어서, 상기 제1 및 2제어 비트 데이타들은 명령어 레지스터에 저장되어 있는 것을 특징으로 하는 디지탈 신호 처리장치의 어드레스 발생회로.The address generating circuit of claim 1, wherein the first and second control bit data are stored in an instruction register. 제1항에 있어서, 상기 모드 선택 데이타는 상태 레지스터에 저장되어 있는 것을 특징으로 하는 디지탈 신호 처리장치의 어드레스 발생회로.The address generation circuit of a digital signal processing apparatus according to claim 1, wherein said mode selection data is stored in a status register.
KR1019970000334A 1997-01-09 1997-01-09 Address generating circuit of a digital signal processor KR100236530B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970000334A KR100236530B1 (en) 1997-01-09 1997-01-09 Address generating circuit of a digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970000334A KR100236530B1 (en) 1997-01-09 1997-01-09 Address generating circuit of a digital signal processor

Publications (2)

Publication Number Publication Date
KR19980065386A KR19980065386A (en) 1998-10-15
KR100236530B1 true KR100236530B1 (en) 2000-01-15

Family

ID=19494301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970000334A KR100236530B1 (en) 1997-01-09 1997-01-09 Address generating circuit of a digital signal processor

Country Status (1)

Country Link
KR (1) KR100236530B1 (en)

Also Published As

Publication number Publication date
KR19980065386A (en) 1998-10-15

Similar Documents

Publication Publication Date Title
US5014195A (en) Configurable set associative cache with decoded data element enable lines
US4733346A (en) Data processor with multiple register blocks
US5341500A (en) Data processor with combined static and dynamic masking of operand for breakpoint operation
JP2625277B2 (en) Memory access device
EP0507209A2 (en) A data processor with concurrent independent static and dynamic masking of operand information
US6901501B2 (en) Data processor
EP0213843A2 (en) Digital processor control
KR970011207B1 (en) Method and apparatus for a register providing atomic access to set and clear individual bits of shared registers without software interlock
US5165029A (en) Cache memory with test function
JP3110230B2 (en) Data access instruction decoding method and apparatus
US5761740A (en) Method of and apparatus for rapidly loading addressing registers
KR100236530B1 (en) Address generating circuit of a digital signal processor
JPS5844263B2 (en) memory control circuit
US7133959B2 (en) Data-driven information processing device and method to access multiple bank memories according to multiple addresses
US6665770B2 (en) Device and method for updating a pointer value by switching between pointer values
US5590302A (en) Device for generating structured addresses
US6519692B1 (en) Method for updating a pointer to access a memory address in a DSP
JPH0795269B2 (en) Instruction code decoding device
JPH0814791B2 (en) Processing system
KR930009666B1 (en) Access mechanism of memory unit
JP2616714B2 (en) Semiconductor storage device
JPH03116256A (en) Memory device
JPH05143445A (en) Memory accelerating mechanism for virtual memory computer
JPH05258124A (en) Interface circuit
JPS61190642A (en) Main memory control system

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: 20071001

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee