KR0155797B1 - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
KR0155797B1
KR0155797B1 KR1019950000223A KR19950000223A KR0155797B1 KR 0155797 B1 KR0155797 B1 KR 0155797B1 KR 1019950000223 A KR1019950000223 A KR 1019950000223A KR 19950000223 A KR19950000223 A KR 19950000223A KR 0155797 B1 KR0155797 B1 KR 0155797B1
Authority
KR
South Korea
Prior art keywords
input
data
output
digital signal
signal processing
Prior art date
Application number
KR1019950000223A
Other languages
Korean (ko)
Other versions
KR960029979A (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 KR1019950000223A priority Critical patent/KR0155797B1/en
Publication of KR960029979A publication Critical patent/KR960029979A/en
Application granted granted Critical
Publication of KR0155797B1 publication Critical patent/KR0155797B1/en

Links

Landscapes

  • Microcomputers (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명에 의한 디지탈 신호처리장치에서는 연산부를 산술연산부, 곱셈연산부, 논리연산부, 쉬프트 연산부 및 로그 연산부로 분리하여 설계함으로써 CCITT G.721 ADPCM 알고리즘을 비교적 적은 크기로 구현하므로 디지탈 통신 시스템의 가격을 낮출 수 있고, 저소비전력을 고려한 것이므로 이동통신 시스템에 특히 적합하다. 또한 ADPCM 알고리즘 뿐만 아니라 이와 유사한 알고리즘도 인스트럭션 롬의 프로그램만을 수정하여 쉽게 구현할 수 있다.In the digital signal processing apparatus according to the present invention, the arithmetic operation unit, the multiplication operation unit, the logic operation unit, the shift operation unit, and the logarithm operation unit are designed to implement the CCITT G.721 ADPCM algorithm with a relatively small size, thereby reducing the price of the digital communication system And low power consumption is particularly suitable for mobile communication systems. In addition, the ADPCM algorithm as well as similar algorithms can be easily implemented by modifying only the program of the instruction ROM.

Description

디지탈 신호 처리장치Digital signal processor

제1도는 종래 DSP 프로세서의 연산부의 구조도.1 is a structural diagram of an operation unit of a conventional DSP processor.

제2도는 본 발명에 의한 디지탈 신호 처리장치로 구현한 마이크로프로세서의 전체 블럭도.2 is an overall block diagram of a microprocessor implemented by a digital signal processing apparatus according to the present invention.

제3도는 제2도에 도시된 마이크로프로세서의 상태를 나타낸 도면.3 is a diagram showing the state of the microprocessor shown in FIG.

제4도는 제2도에 도시된 마이크로프로세서에 적용된 파이프라인의 구조도.4 is a structural diagram of a pipeline applied to the microprocessor shown in FIG.

제5a-5c도는 각각 연산부의 동작신호, 동상 혹은 이상의 제어신호와 클럭신호를 나타낸 도면.5A and 5C are diagrams showing an operation signal, an in-phase or abnormal control signal, and a clock signal of an operation unit, respectively.

제6도는 CMOS 회로의 동작시 전력소비를 나타낸 그래프.6 is a graph showing power consumption during operation of a CMOS circuit.

제7a-7e도는 입출력제어에 따른 소비전력 비교도.7a to 7e are diagrams illustrating power consumption according to input / output control.

제8도는 칩검증을 위한 회로.8 is a circuit for chip verification.

제9도는 제2도에 도시된 마이크로프로세서의 클럭신호를 나타낸 도면.9 is a view showing a clock signal of the microprocessor shown in FIG.

제10도는 제2도에 도시된 입출력부의 상세도.FIG. 10 is a detailed view of the input / output unit shown in FIG.

본 발명은 디지탈 신호 처리장치에 관한 것으로서, 특히 디지탈 통신 분야에서 널리 활용되고 있는 ADPCM(Adaptive Differential Pulse Coded Modulation) 알고리즘을 전용 마이크로 프로세서로 구현한 디지탈 신호 처리장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processing apparatus, and more particularly, to a digital signal processing apparatus implementing an adaptive differential pulse coded modulation (ADPCM) algorithm widely used in the field of digital communications with a dedicated microprocessor.

현재, 통신분야에서는 아날로그 방식의 단점을 보완하기 위하여 디지탈 통신방식이 널리 이용되고 있다. 음성대역 데이타 통신에서는 데이타를 이진신호로 부호화하는 PCM(Pulse Coded Modulation) 방식이 널리 이용되고 있으며, 국제 PCM 통신(CCITT 권고안 G.711)에서는 8KHz로 표본화한 음성신호를 8 비트 신호로 부호화하여 64 Kbps로 전송한다. 이 PCM 데이타의 전송율을 감소시킬수로 채널 능력을 증가시킬 수 있다. 그러므로 CCITT에서는 데이타 전송율을 32 kbps로 하는 권고안 G.721 ADPCM을 채택하였다. 32 Kbps ADPCM은 64 Kbps PCM에 비하여 거의 같은 음질의 데이타를 전송하면서 채널 능력을 2배 증가 시키는 효과가 있다.At present, the digital communication method is widely used in the communication field to compensate for the shortcomings of the analog method. In voice band data communication, the Pulse Coded Modulation (PCM) method is widely used to encode data into binary signals.In international PCM communication (CCITT Recommendation G.711), a 64 kHz audio signal sampled at 8 kHz is encoded into an 8-bit signal. Transmit at Kbps. This can increase the channel capacity by reducing the transmission rate of PCM data. Therefore, the CCITT adopted Recommendation G.721 ADPCM with a data rate of 32 kbps. The 32 Kbps ADPCM has the effect of doubling the channel capacity while transmitting nearly the same sound quality as the 64 Kbps PCM.

이러한 ADPCM 알고리즘은 현재 많은 통신시스템에서 적용하여 활용되고 있으며, 이동통신분야에서 급속히 팽창해가는 디지탈 무선 전화기에도 ADPCM이 채용되어, ADPCM 기술은 이동통신분야의 핵심기술로 자리잡아 가고 있다.The ADPCM algorithm is currently being applied to many communication systems, and ADPCM is adopted in digital wireless telephones, which are rapidly expanding in the mobile communication field, and ADPCM technology is becoming a core technology in the mobile communication field.

기존의 시스템에서는 ACPCM 알고리즘을 범용 DSP(Digital Signal Processing)프로세서로 구현하여 많이 이용하고 있다. 그러나, 범용 DSP 프로세서는 범용을 목적으로 개발된 칩이므로 특정 알고리즘을 적용하기에는 여러가지로 부적합한 점이 많다. 예를 들면, 첫째, 연산부가 처리하는 데이타 크기가 필요 이상으로 큰 것이 대부분이므로 연산에 많은 논리소자를 구동해야 하므로 비교적 많은 소비전력을 필요로 하게 되며, 시스템의 크기를 비교적 크게 만드는 요소가 되며, 둘째, 동작주파수가 비교적 높은 것이 대부분이고, 세째, 특정 알고리즘에는 필요하지 않은 명령어와 회로가 많고, 네째, 특정 알고리즘에서 자주 쓰이고 단순한 연산을 범용 DSP 프로세서에서 구현하려면 여러 개의 명령어를 조합하여햐 하는 등의 문제점이 있다. 상기 문제점들은 디지탈 무선전화기와 같은 이동통신 분야에서는 필수적인 저소비전력에 큰 장애요인이 되며, 시스템의 가격을 상승시키는 요인이 된다.In the existing system, the ACPCM algorithm is implemented as a general-purpose DSP (Digital Signal Processing) processor. However, since general purpose DSP processors are chips developed for general purpose, there are many disadvantages in applying specific algorithms. For example, first, since the size of the data processed by the operation unit is much larger than necessary, many logic elements must be driven for the operation, which requires relatively high power consumption, and becomes a factor that makes the size of the system relatively large. Second, the operating frequency is relatively high, and thirdly, there are many instructions and circuits that are not required for a specific algorithm. Fourth, in order to implement frequently used and simple operation in a specific algorithm in a general-purpose DSP processor, it is necessary to combine several instructions. There is a problem. These problems are a major obstacle to low power consumption, which is essential in the field of mobile communications, such as digital wireless telephones, and increases the price of the system.

제1도는 종래의 DSP 프로세서에 있어서 연산부의 구조도로서, 논리연산과 산술연산을 하나의 ALU를 이용하고, 곱셈기, 쉬프트기 등을 종방향으로 배치하여 이용한다. 종래의 DSP 프로세서에서 논리연산과 산술연산을 독립된 연산인데도 불구하고 하나의 ALU로 처리하는 것은 분리된 구조보다 하나의 연산을 수행시에 필요없이 동작하는 게이트수가 증가하기 때문이다. 따라서, 동작게이트수가 증가하는 것에 의해 소비전력도 증가하는 결과를 초래한다.FIG. 1 is a structural diagram of a computing unit in a conventional DSP processor, which uses a single ALU for logical and arithmetic operations, and uses a multiplier, a shifter, and the like in the longitudinal direction. In the conventional DSP processor, even though the logic and arithmetic operations are independent operations, processing of one ALU is because the number of gates that are needed without performing one operation is increased rather than a separate structure. Therefore, the increase in the number of operation gates results in an increase in power consumption.

또한, 각 연산블럭을 종방향으로 배치하면 하나의 연산블럭이 동작하여 출력값이 변화될 경우 이 연산블럭과 연결되어 있는 다른 연산블럭의 입력값이 변화되어 함께 동작하므로 필요없이 동작하는 게이트수를 증가시키게 된다. 예를 들어 살펴보면, 곱셈을 수행하기 위해서는 곱셈기 뿐만 아니라 곱셈기와 연결되어 있는 쉬프트기와 ALU가 필요없이 동작하는 경우가 발생한다.In addition, if each operation block is arranged in the longitudinal direction, if one operation block operates and the output value changes, the input value of another operation block connected to this operation block changes and operates together, thus increasing the number of gates that are not necessary. Let's go. For example, in order to perform multiplication, not only a multiplier but also a shifter connected to a multiplier and an ALU are operated without a need.

또한 종래의 DSP프로세서에서는 처리할 데이타를 모두 처리하고 다음과 처리할 데이타가 입력될 때까지 계속 명령어(NO OPRATION, JUMP OPERATION의 반복)를 수행하여 필요없는 전력을 낭비하는 경우가 있다.In addition, the conventional DSP processor may waste all unnecessary power by processing all the data to be processed and executing the instruction (NO OPRATION, JUMP OPERATION repetition) until the next data is input.

따라서, 본 발명의 목적은 상술한 문제점을 해결하기 위하여 ADPCM 알고리즘을 전용 마이크로프로세서로 구현한 저소비전력의 디지탈 신호 처리장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide a low power consumption digital signal processing apparatus implementing the ADPCM algorithm as a dedicated microprocessor in order to solve the above problems.

상기 목적을 달성하기 위하여 본 발명에 의한 디지탈 신호 처리장치는Digital signal processing apparatus according to the present invention to achieve the above object

3개의 독립된 데이타 버스(BUSA, BUSB, BUSZ);Three independent data buses (BUSA, BUSB, BUSZ);

마이크로프로세서에 필요한 클럭을 발생시키기 위한 클럭발생부;A clock generator for generating a clock required for the microprocessor;

외부와의 인터페이스를 위해 병렬 입출력과 직렬 입출력을 모두 제공하는 입출력부;An input / output unit that provides both parallel input / output and serial input / output for interfacing with the outside;

마이크로프로세서 전체 기능을 제어하기 위하여, 저장된 프로그램을 해석해서 각 데이타들을 상기 3개의 독립된 데이타 버스를 통하여 전달하고, 제어신호와 데이타의 전달을 제어하기 위한 제어부;A control unit for interpreting a stored program, transferring each data through the three independent data buses, and controlling the transfer of control signals and data to control the entire microprocessor function;

산술, 논리, 곱셈, 쉬프트, 로그 연산을 실행하며, 각각 병렬로 독립된 데이타 버스에 연결된 연산부;An arithmetic unit for performing arithmetic, logic, multiplication, shift, and logarithm operations, each connected to independent data buses in parallel;

상기 제어부, 입출력부의 데이타를 일시적으로 저장하는 데이타 저장부; 및A data storage unit for temporarily storing data of the control unit and the input / output unit; And

ADPCM 알고리즘 및 연산에 필요한 명령어 및 데이타를 저장하기 위하여 데이타 버스(BUSZ)에 연결되어 있으며, 상기 제어부, 연산부, 입출력부에 데이타 버스(BUSA, BUSB)를 통하여 데이타를 전송하는 저장부를 포함하는 것을 특징으로 한다.It is connected to a data bus BUSZ to store instructions and data necessary for ADPCM algorithms and operations, and includes a storage unit for transmitting data through data buses BUSA and BUSB to the control unit, arithmetic unit, and input / output unit. It is done.

이하 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

우선, CCITT G.721을 분석해 보면, 대부분의 연산은 쉬프트, 덧셈, 뺄셈, 곱셈과 같은 산술연산과 논리곱, 논리합, 배타논리합과 같은 논리연산으로 이루어진다. 그리고 변수들의 크기는 1 비트에서 19 비트에 이르는 것이 있지만 대부분의 변수들은 16 비트 이하이다. 그리고 부호기와 복호기의 각 메모리 변수의 갯수는 최대 32개 이내이다.First, in analyzing CCITT G.721, most operations consist of arithmetic operations such as shift, addition, subtraction, and multiplication, and logical operations such as AND, OR, and exclusive logical sum. Variables range in size from 1 bit to 19 bits, but most variables are less than 16 bits. The number of each memory variable of the encoder and decoder is up to 32.

본 발명에 의한 디지탈 신호 처리장치의 기본 사양은 CCITT 권고안 G.721 규격을 따르고 있으므로, 기본 자료 크기는 16 비트로 하였고, 시스템의 기본 클럭 주파수는 차후 적용될 시스템 클럭과 같은 것을 쓰기 위하여 16.2 KHz로 되어 있다. 필요한 기본 연산기능은 덧셈, 뺄셈, 곱셈, 쉬프트, 로그, 배타논리합, 논리곱, 논리합, 인버터, 2의 보수로 한다. 그리고, 자료 입출력은 8 KHz 표본화 주기를 가진 상용 PCM CODEC의 입출력과 호환을 유지할 수 있도록 하였으며, PCM입출력은 기본적으로 직렬 입력으로 받고 직렬로 동시에 출력하는 것으로 설계되었다. 또한, PCM 입력클럭은 내부에서 발생되는 것을 이용하거나 외부의 것을 선택적으로 이용한다. PCM신호는 국제 규격(CCITT G.711)의 A-LAW방식과 μ-LAW 방식과 14 비트 선형 PCM을 선택적으로 이용한다. 또한, 상수의 사용이 많은 특징이 있으므로 상수를 저장하고 있는 롬을 배치하며, 시스템 플래그들로는 부호, 제로, PCM 신호의 특성을 나타내는 LAW, COMPAND 와 한 비트 데이타를 위한 플래그를 둔다.Since the basic specification of the digital signal processing apparatus according to the present invention conforms to the CCITT Recommendation G.721 standard, the basic data size is 16 bits, and the basic clock frequency of the system is 16.2 KHz in order to use the same system clock to be applied later. . The basic arithmetic functions required are addition, subtraction, multiplication, shift, logarithm, exclusive logical sum, logical product, logical sum, inverter, and two's complement. In addition, the data input / output is maintained to be compatible with the input / output of commercial PCM codec with 8 KHz sampling cycle. PCM input / output is basically designed to receive serial input and output simultaneously in serial. In addition, the PCM input clock uses internally generated or externally selectively. The PCM signal uses the A-LAW, μ-LAW, and 14-bit linear PCMs of the international standard (CCITT G.711). In addition, since the use of constants has many characteristics, ROMs for storing constants are arranged, and system flags include LAW, COMPAND, and flags for one-bit data indicating characteristics of sign, zero, and PCM signal.

한편, 마이크로인스트럭션의 기본 형태는 한 단어로 이루어지며, 그 이유는 한 클럭 주기내에 하나의 인스트럭션을 가져옴으로써 해석이 쉬운 장점과 파이프 라인을 깨트리지 않게 하여 성능향상을 기하기 위해서이다.On the other hand, the basic form of microinstruction is made up of one word, because the instruction is brought in one clock cycle to improve the performance and easy to interpret without breaking the pipeline.

본 발명에 의한 디지탈 신호 처리장치에서의 마이크로인스트럭션은 31개의 명령어고 이루어져 있으며 부프로그램 호출을 위한 스택(22)을 구성하였으므로 일반 프로세서의 명령어들 중에서 ADPCM에 자주 이용되는 명령어들만을 선택하였다. 또한 ADPCM 알고리즘을 효율적으로 지원하기 위하여 별도의 명령어들 (ENJUMP, GPM, LOG 등)을 부가하였다.In the digital signal processing apparatus according to the present invention, the microinstruction is composed of 31 instructions, and since the stack 22 is configured for subprogram calls, only the instructions frequently used in the ADPCM are selected among the instructions of the general processor. In addition, additional commands (ENJUMP, GPM, LOG, etc.) have been added to support the ADPCM algorithm efficiently.

본 발명에 의한 디지탈 신호 처리장치의 기본 구조는 제2도에 도시된 바와 같이 명령어와 데이타를 분리한 하버드 구조에 한 주기 안에 하나의 명령어를 처리하는 파이프 라인 구조를 가진 RISC 구조로서, 데이타 이동을 위하여 세개의 버스(BUSA, BUSB, BUSZ)를 이용하며 입출력부(38), 제어부(31), 연산부(32~37), 데이타 저장부(22,23,24,27), 레지스터부(25,26,29,30), 클럭발생부(21)로 이루어진다.The basic structure of the digital signal processing apparatus according to the present invention is a RISC structure having a pipelined structure for processing one instruction within one period in a Harvard structure that separates instructions and data, as shown in FIG. For this purpose, three buses (BUSA, BUSB, BUSZ) are used, and the input / output unit 38, the control unit 31, the calculation units 32 to 37, the data storage units 22, 23, 24, 27, and the register unit 25, 26, 29, 30, and the clock generator 21.

위의 연산부를 구성하는 레지스터 파일(36)은 두 개의 출력과 하나의 입력을 기본으로 하는 형식으로 각각 독립된 버스에 연결되어 있다.The register file 36 constituting the above calculation unit is connected to independent buses in a format based on two outputs and one input.

이 중, 클럭발생부(21)는 시스템에 필요한 클럭을 공급하기 위한 것으로서, 시스템의 상태에 따라 제9도에 도시된 바와 같이 클럭을 발생한다. 클럭은 기본적으로 서로 중복이 되지 않는 두개의 페이즈를 가진 클럭(non-overlap two phase clock)을 이용하여 연산부(32~37)에서는 4 페이즈를 이용한다.Among these, the clock generator 21 is for supplying a clock required for the system, and generates a clock as shown in FIG. 9 according to the state of the system. The clock basically uses a non-overlap two phase clock that is not overlapped with each other and uses four phases in the calculation units 32 to 37.

한편, 저소비전력을 위하여 제3도에 도시된 바와 같이 'RESET' 상태 및 'RUN' 상태 이외에 종래의 일반 프로세서에는 없는 'SLEEP' 상태를 채택하는데, 'SLEEP' 상태에서는 시스템 클럭을 발생하지 않도록 하여 입출력 부분을 제외한 모든 회로가 동작하지 않도록 한다. 'SLEEP' 상태는 입력신호에 대한 부호화 및 복호화 기능을 완수하고 다음 입력신호가 들어가기 전까지의 상태이며 이는 그동안 동작하는 게이트수를 최소화할 수 있어 소비전력을 줄일 수 있다. 그리고 다음 입력신호가 들어오면 곧 동작상태(RUN)로 돌아가 부호화 및 복호화 기능을 다시 수행하게 된다.On the other hand, for low power consumption, as shown in FIG. 3, a 'SLEEP' state, which is not present in a conventional processor other than a 'RESET' state and a 'RUN' state, is adopted. In the 'SLEEP' state, a system clock is not generated. Do not operate any circuit except the input / output part. 'SLEEP' state is the state until the completion of the encoding and decoding function for the input signal until the next input signal is entered, which can minimize the number of gates operating in the meantime can reduce power consumption. As soon as the next input signal is received, the process returns to the run state (RUN) and performs the encoding and decoding functions again.

본 발명에 의한 디지탈 신호 처리장치는 범용 DSP 프로세서에 비하여 칩 안에 프로그램을 내장할 수 있으므로 명령어를 읽는 시간(instruction fetch cycle)이 짧은 장점이 있다. 즉, 외부의 메모리 지료를 일기 위해서는 대부분 한 클럭 이상의 시간이 필요하지만 칩 내부의 매모리는 빠른 속도를 지원할 수 있으므로 한 클럭 안에 데이타를 읽어 올 수 있다. 또한 이는 소비전력 면에서도 우수한 장점을 가지고 있다. 또한, 본 발명에 의한 디지탈 신호 처리장치의 큰 특징 중 하나는 모든 명령어가 한 클럭안에 이루어진다는 것이다.Digital signal processing apparatus according to the present invention has the advantage that the instruction fetch cycle is short because the program can be embedded in the chip as compared to the general-purpose DSP processor. In other words, it takes more than one clock time to write an external memory, but the memory inside the chip can support high speed so that data can be read in one clock. It also has an excellent advantage in terms of power consumption. In addition, one of the great features of the digital signal processing apparatus according to the present invention is that all instructions are performed in one clock.

한편, 파이프 라인은 3단계 파이프 라인 구조를 가지고 있으며 각 단계에서의 동작은 제4도에서와 같다.On the other hand, the pipeline has a three-stage pipeline structure and the operation in each stage is the same as in FIG.

제4도를 참조하면, 1F 단계에서는 명령어를 읽어오고 다음 명령어의 주소를 계산한다. 이 계산을 위해 연산부의 회로를 이용하는 것이 아니라 독립된 회로를 두어 처리한다. 이 독립된 회로는 점프명령어 수행시에 점프 조건을 조사하고, 현재 프로그램 카운터에 그에 상대적인 값을 더하는 일을 한다. 이렇게 다음 인스트럭션의 위치를 연산부에서 계산하지 않고 전용회로를 따로 둠으로써 명령어 수행단계와 자원충돌을 피하여 파이프 라인이 깨어지지 않도록 한다. 또한, 한 주기안에 다음 명령어를 읽을 수 있어 프로세서의 성능을 향상시킨다.Referring to FIG. 4, in step 1F, the instruction is read and the address of the next instruction is calculated. Instead of using the circuit of the calculation unit for this calculation, a separate circuit is processed. This independent circuit checks the jump condition when executing the jump instruction and adds a relative value to the current program counter. In this way, the position of the next instruction is not calculated by the operation unit, and a dedicated circuit is set aside so that the pipeline is not broken by avoiding instruction execution steps and resource conflicts. It also improves processor performance by reading the next instruction in one cycle.

ID 단계는 읽어온 명령어의 기능을 해석하는 단계로서 필요한 모든 제어신호를 발생한다. 제어신호는 PHI11과 PHI21 신호에 동기된 두가지 신호를 발생하도록 하였다. 이 제어신호는 연산부에 이용될 때 입력제어와 출력제어에 따로 이용된다. 또한, 제어신호와 클럭신호가 서로 페이즈가 같으면 연산부를 동작하는 실제 제어신호가 오동작을 할 우려가 있다. 이 오동작을 막기 위해 제어신호와 클럭신호는 페이즈가 서로 다른 클럭을 사용하였다. 대부분의 연산블럭의 수행은 제5a도에서와 같이 제어신호와 클럭신호를 논리곱한 신호에 의하여 동작한다. 하지만 클럭신호와 제어신호가 서로 같은 페이즈를 이용한다면 실제 회로에서는 도선의 길이와 기타의 원인에 의하여 제어신호가 지연된다. 그러므로 제5b도의 '601'과 같은 부분에서 글리치 등이 발생하거나 심하면 오동작을 하게 된다. 이를 방지하기 위해서 제5c도에서와 같이 서로 페이즈가 다른 신호를 이용하여 논리곱을 수행한다.The ID stage interprets the function of the read command and generates all necessary control signals. The control signal generates two signals synchronized with the PHI11 and PHI21 signals. This control signal is used separately for input control and output control when used in the calculation unit. In addition, if the control signal and the clock signal have the same phase with each other, there is a fear that an actual control signal for operating the operation unit may malfunction. To prevent this malfunction, the clocks of different phases are used for the control and clock signals. Most of the operation blocks are performed by a signal obtained by logically multiplying the control signal and the clock signal as shown in FIG. However, if the clock signal and the control signal use the same phase, the control signal is delayed in the actual circuit due to the length of the wire and other causes. Therefore, glitches and the like occur in a portion such as '601' in FIG. 5b, or malfunction. In order to prevent this, as shown in FIG. 5C, a logical product is performed using signals having different phases from each other.

다시 제5도로 돌아가서, EX 단계에서는 자료를 가지고 와서 연산한 다음 결과를 레지스터에 저장한다. 일반 프로세서에서는 간접주소지정방법을 이용하여 자료를 읽어올 수 있지만 이는 파이프라인을 깨뜨리는 요인이므로 본 프로세서에서는 채택하지 않았다. 또한, 파이프라인이 깨어지는 것을 막기 위하여 모든 명령어의 수행시간은 한 주기로 고정시킨다.Returning to Figure 5, the EX step takes the data, computes it, and stores the result in a register. In general processor, the indirect addressing method can be used to read the data, but it is not adopted by this processor because it breaks the pipeline. Also, to prevent the pipeline from breaking, the execution time of all instructions is fixed at one cycle.

그리고, 독립된 자료의 전송을 위하여 16 비트 크기의 3개 버스를 이용하는데, 명령어 수행단계에서 클럭은 4개의 페이즈를 이용하며, 이는 오랜 시간동안 변화중인 입력값이 연산블럭의 입력으로 들어가 소비전력을 많이 소모하는 것을 방지하기 위해서이다. 두개의 페이즈를 이용하게 되면 입력버스를 구동하는 것과 동시에 연산블럭의 입력을 구동해야 하므로 구동시간이 길어진다.In addition, three 16-bit buses are used for the transfer of independent data. In the execution of the instruction, the clock uses four phases. This is to prevent a lot of consumption. If two phases are used, the driving time is long because the input bus must be driven simultaneously with the input of the operation block.

CMOS의 전력소비는 제6도에 도시된 바와 같이 값이 변화하는 순간에 대부분 이루어지므로, 구동시간이 길어지면 연산블럭의 전력소비도 이에 비례하게 된다. 이를 수식으로 나타내면 다음과 같다.Since the power consumption of the CMOS is largely achieved at the moment when the value changes, as shown in FIG. 6, the power consumption of the operation block is proportional to the length of the driving time. This is expressed as a formula as follows.

P NpΔt .....(1)P NpΔt ..... (1)

(1)식에서 P는 소비전력, N은 동작 게이트수, p는 순간 소비전력, Δt는 전압변화순간을 각각 나타낸다. (1)식에서 보듯이 소비전력은 동작하는 게이트수와 값의 변화순간과 비례한다. 물론, 소자의 순간 전력소비와도 비례하지만 이는 실제로 설계할 수 있는 것이 아니라 반도체 공정 상의 문제이므로 이는 설계시에 고려할 수 없다. 따라서 본 발명에 의한 마이크로프로세서는 동작하는 게이트수를 줄이는 것과 값의 변화순간시간을 최소화하는데 주안점을 두어 설계한 것이다. 즉, 이런 전력소비를 줄이기 위해서 버스를 구동하는 시간과 연산블럭을 구동하는 시간을 분리한다. 이를 위해 EX 단계에서는 4 페이즈 클럭을 사용하는데, 이는 또한 순간 최대전류값을 낮출 수 있어 시스템이 보다 안정하게 동작하도록 한다.In Equation (1), P is power consumption, N is the number of operating gates, p is instantaneous power consumption, and Δt is the instant of voltage change. As shown in Equation (1), power consumption is proportional to the number of gates operated and the change in value. Of course, it is also proportional to the instantaneous power consumption of the device, but this is not a practical design but a problem in the semiconductor process and this cannot be considered during design. Therefore, the microprocessor according to the present invention is designed with the focus on reducing the number of gates operated and minimizing the change time of values. That is, to reduce the power consumption, the time for driving the bus and the time for driving the operation block are separated. To do this, the EX phase uses a four-phase clock, which can also lower the instantaneous maximum current value, making the system more stable.

제7a도는 제지스터에서 데이타를 읽어 연산을 하는 부분을 나타낸 것이다. A가 레지스터 출력부분이고, A가 연산부 입력버스, C는 연산부분이다. 제7b도는 A부분의 값의 변화를 나타낸 것이다. 이는 클럭신호 PHIi에 의해 B 부분을 구동하여 제7c도와 같은 값의 변화를 갖는다. 이 부분에서 값의 변화는 버스의 저항과 캐패시턴스와 관련된다. 제7d도는 클럭신호인 PHIi와 PHIj가 서로 같은 신호를 이용할 때의 C부분에서의 값의 변화를 나타낸 것이다. 여기서의 값의 변화순간은 버스를 구동하고 다시 연산부의 입력부분을 구동하는데 걸리는 시간이 된다. 제7e도는 PHIj가 입력 버스 구동이 끝난 후에 열렸을때 C 부분의 값의 변화를 나타낸 것이다. 이때의 시간은 연산부의 입력을 구동하는데 걸리는 시간이 된다. 제7d도와 제7e도를 비교해 보며, 대부분의 전력을 소비하는 연산부가 있는 C 부분의 입력값의 변화가 차이가 있음을 알 수 있다. 제6도에서 언급한 바와 같이 변화순간이 길어지면 그 만큼 전력을 많이 소비하므로 제7e도가 제7d도보다 적은 전력을 소비하게 된다.FIG. 7A shows a part of the register which reads data and operates. A is the register output, A is the input bus and C is the operation. Figure 7b shows the change in the value of part A. This causes the portion B to be driven by the clock signal PHIi to have a value change as shown in FIG. This change in value is related to the bus's resistance and capacitance. FIG. 7D shows a change in the value in the C portion when the clock signals PHIi and PHIj use the same signal. The moment of change of the value here is the time taken to drive the bus and drive the input part of the calculation unit again. FIG. 7E shows the change in the value of the C portion when PHIj is opened after the input bus is driven. The time at this time is a time taken to drive the input of the calculation unit. Comparing FIG. 7D and FIG. 7E, it can be seen that there is a difference in the change of the input value of the C portion having the operation unit that consumes most of the power. As mentioned in FIG. 6, the longer the change interval is, the more power is consumed, so that the 7e degree consumes less power than the 7d degree.

한편, 연산부는 산술연산부, 곱셈연산부, 논리연산부, 쉬프트연산부 및 로그연산부로 이루어지는데, 다른 일반 프로세서와는 달리 여러부분으로 분리하여 설계하였다. 이는 한 명령어 수행시에 동작하는 게이트수를 최소화하여 소비전력을 줄이기 위함과 연산부의 시간지연을 최소화하기 위해서이다. 또한, 곱셈기는 16 비트의 입력을 계산하는 것이 아니라 8 비트 입력을 계산하는 곱셈기를 채택한다. 이는 ADPCM 알고리즘에서 8 비트 이상을 곱해야 하는 경우가 거의 없고, 또한 16 비트 곱셈기를 채택하였을 경우 연산결과가 32 비트 데이타가 되어 한 클럭 주기안에 연산결과를 레지스터 파일에 저장할 수 없는 단점 즉, 한 클럭주기안에 하나의 인스트럭션을 수행하는 파이프라인 구조를 깨뜨리는 단점이 발생하기 때문이다.On the other hand, the operation unit consists of an arithmetic operation unit, a multiplication operation unit, a logic operation unit, a shift operation unit and a log operation unit, unlike other general processors, designed to be separated into several parts. This is to reduce the power consumption by minimizing the number of gates operating in one instruction execution and to minimize the time delay of the operation unit. The multiplier also employs a multiplier that calculates 8-bit inputs rather than calculating 16-bit inputs. This is because ADPCM algorithm rarely needs to multiply 8 bits or more. Also, if the 16-bit multiplier is adopted, the operation result is 32-bit data, and the operation result cannot be stored in the register file in one clock period. This is because the disadvantage of breaking the pipeline structure that executes one instruction in a cycle occurs.

한편, 입출력부는 제10도에 도시된 바와 같이, 외부와의 입력과 출력을 맡은 부분으로 병렬 입출력과 직렬 입출력을 모두 제공한다. 직렬 입출력은 상용 PCM CODEC의 입출력신호와 서로 호환이 되도록 함으로써 8 KHz로 표본화된 입력을 직렬로 읽어들인다. 출력은 입력과 동시에 행하도록 설계되어 있으며 짧은 동기신호와 긴 동기신호를 모두 제공하며, 입력클럭을 내부 또는 외부의 신호 중 선택적으로 이용한다. 직력 입출력은 음성심호에 해당하는 PCM 데이타를 입출력하는데 이용되는 반면 ADPCM 데이타는 병렬로 입출력된다. 병렬 입출력에 있어서는 핸드쉐이킹 방식을 이용하며, 입력 또는 출력을 해도 좋다는 플래그신호와 실제로 입력이나 출력을 행하는 제어신호를 둔다. 즉, 플래그신호를 보고 입출력이 가능하면 제어신호로 데이타를 입출력한다.Meanwhile, as shown in FIG. 10, the input / output unit provides both parallel input / output and serial input / output as a part in charge of input and output with the outside. Serial I / O reads serially the input sampled at 8 KHz by making it compatible with I / O signals of commercial PCM codec. The output is designed to run simultaneously with the input and provides both short and long sync signals, and the input clock is selectively used either internally or externally. Serial I / O is used to input and output PCM data corresponding to the voice symbol while ADPCM data is input and output in parallel. In parallel input / output, a handshaking method is used, and a flag signal indicating that input or output may be performed and a control signal that actually performs input or output are provided. In other words, if input and output is possible after viewing the flag signal, data is inputted and outputted as a control signal.

한편, 본 발명에 의한 마이크로프로세서는 공정과 독립된설계를 이루기 위하여 논리자동합성을 이용하였으므로 칩 검증을 위하여 단순한 입력신호갑(test vector)으로 칩을 효율적으로 검증할 수 없다. 왜냐하면 실제 회로는 합성하는 조건과 공정에 따라 달라질 수 있기 때문이다. 특정한 입력들로 칩을 검증한다는 것은 거의 불가능하므로 일반화된 검증방법을 제사할 필요가 있다. 또한, 코어라이브러리화가 목적이므로 검증을 위해 많은 핀을 이용한다는 것은 이 라이브러리를 채택한 칩에 큰 부담이 될 수 있다. 그리고, 일반적으로 많이 사용하는 풀 스캔(FULL SCAN) 방식은 칩 검증을 위해 많은 입력신호가 필요하므로 채택하지 않았다.On the other hand, since the microprocessor according to the present invention uses a logic automatic synthesis to achieve a process-independent design, the chip cannot be efficiently verified with a simple test vector for chip verification. This is because the actual circuit may vary depending on the conditions and processes being synthesized. It is almost impossible to verify the chip with specific inputs, so there is a need to offer a generalized verification method. In addition, since the core library is intended, using a large number of pins for verification can be a heavy burden on a chip adopting this library. In general, the full scan (FULL SCAN) method is not used because many input signals are required for chip verification.

본 발명에 의한 마이크로프로세서에서 제안한 방법은 제8도에 도시된 바와 같이, 인스트럭션 레지스터(INST.REG)와 같은 중요한 레지스터를 여러가지 방식으로 동작시켜서 프로세서의 여러 블럭을 검증하는 방법이다.The method proposed by the microprocessor according to the present invention is a method of verifying various blocks of a processor by operating an important register such as an instruction register (INST.REG) in various ways as shown in FIG.

가장 시스템의 큰 부분을 차지할 인스트럭션 롬 검증을 위해서는 인스트럭션 레지스터를 데이타 압축모드로 동작시키고, 이때 다음 인스트럭션을 계산하는 블럭(NEXT INST)에는 NO_OP(No Operation)을 입력하여 프로그램 카운터(PC)가 순차적으로 읽어내어 압축한 다음 직렬로 외부로 그 데이타를 출력하여 인스트럭션 롬의 회로를 검증한다.In order to verify the instruction ROM which will occupy the largest part of the system, the instruction register is operated in data compression mode.In this case, the program counter (PC) is sequentially entered by inputting NO_OP (No Operation) to the next instruction calculating block (NEXT INST). The circuitry of the instruction ROM is verified by reading, compressing, and outputting the data serially externally.

다음 인스트럭션을 계산하는 블럭(NEXT INST)을 검증하기 위해서는 인스트럭션 레지스터를 난수발생모드로 설정하고 프로그램 카운터는 데이타 압축모드로 설정하여 동작하도록 한다. 그리고, 인스트럭션 레지스터의 초기값을 가지고 신호값과 발생순서를 조절한다. 이렇게 한 다음 프로그램 카운터의 내용을 외부로 출력하여 회로를 검증한다.To verify the next instruction counting block (NEXT INST), set the instruction register to random number generation mode and the program counter to data compression mode. It then adjusts the signal value and the generation order with the initial value of the instruction register. After this, verify the circuit by outputting the contents of the program counter to the outside.

또한, 스택과 연산부 등의 검증을 위하여 인스트럭션 레지스터를 특정 명령어로 설정하고 오퍼랜드만이 난수를 발생하는 모드로 설절하여 상기와 같은 방법으로 회로를 검증한다. 또한 연산부를 위하여 콘트롤레지스터(CTLA)와 이미디어트 레지스터(IMM.REG), 연산결과가 출력되는 버스(BUSZ)의 값을 저장하는 레지스터(BUSZ REG)를 스캔 방식으로 연결하여 부족한 연산부 검증을 수행한다.In order to verify the stack and the calculation unit, the instruction register is set to a specific instruction, and only the operand is set to a mode in which random numbers are generated. In addition, for the operation unit, insufficient control unit verification is performed by connecting the control register (CTLA), the immediate register (IMM.REG), and the register (BUSZ REG) that stores the value of the bus (BUSZ) from which the operation results are output. do.

또한, 인스트럭션 롬에 ADPCM 알고리즘을 구현하고 남은 부분에 회로 검증을 위한 프로그램을 넣어 이용한다.In addition, ADPCM algorithm is implemented in the instruction ROM and the program for circuit verification is used in the remaining part.

검증에 이용되는 입력값들은 회로를 합성한 이후 자동으로 검증신호를 발생하는 ATPG(Automatic Test Pattern Generator) 툴을 선택하는 것이 바람직하다.It is desirable to select an ATPG (Automatic Test Pattern Generator) tool that automatically generates a verification signal after synthesizing the circuits.

본 발명에 의한 ADPCM 전용 마이크로프로세서의 설계 결과를 간단히 요약하면 다음 표1과 같다. 여기서 시스템의 크기는 각 LSI 회사의 라이브러리와 삼성전자(주)의 라이브러리를 이용하여 논리자동합성한 결과이며, 매크로셀인 인스트럭션 롬(ROM)을 제외한 시스템의 크기이다.Table 1 summarizes the design results of the ADPCM dedicated microprocessor according to the present invention. Here, the size of the system is the result of logical automatic synthesis using the libraries of each LSI company and the library of Samsung Electronics Co., Ltd., and the size of the system except the instruction ROM, which is a macro cell.

또한, 시스템의 성능을 고찰하기 위하여 실제 음성신호와 여러 주파수의 톤(tone)을 입력하여 시스템의 성능을 검증하였다. 그리고 ADPCM 수행시간은 실제 음성 데이타와 각 톤 데이타를 에뮬레이터를 통하여 수행하여 얻은 최대값, 최소값 및 평균값이며, 데이타 양은 총 203,980 개 (약 25초)로 하였다.In addition, in order to examine the performance of the system, the performance of the system was verified by inputting the actual voice signal and tones of various frequencies. And ADPCM execution time is the maximum value, minimum value, and average value obtained by performing real voice data and each tone data through the emulator, and the amount of data was 203,980 (about 25 seconds) in total.

본 발명에 의한 마이크로프로세서는 현재 ADPCM 전용으로 설계되어 있으나 마이크로프로그램을 바꾸어 다른 신호처리용 알고리즘에도 적용하여 사용할 수 있다. 또한, 현재의 구조를 유지하며 연산 데이타의 크기나 연산부를 다른 응용분야에 적합한 것으로 수정하여 재설계한다면 마이크로콘트롤러나 통신 등의 다른 응용분야에도 쉽게 활용할 수 있다.The microprocessor according to the present invention is currently designed exclusively for ADPCM, but can be used by changing the microprogram to other signal processing algorithms. In addition, if the current structure is maintained and the size of the calculation data or the calculation unit is modified to be suitable for other applications, it can be easily used for other applications such as a microcontroller or communication.

상술한 바와 같이 본 발명에 의한 디지탈 신호 처리장치에서는 연산부를 산술연산부, 곱셈연산부, 논리연산부, 쉬프트 연산부 및 로그연산부로 분리하여 설계함으로써 CCITT G.721 ADPCM 알고리즘을 비교적 적은 크기로 구현하므로 디지탈 통신 시스템의 가격을 낮출 수 있고, 저소비전력을 고려한 것이므로 이동통신 시스템에 특히 적합하다. 또한, ADPCM 알고리즘 뿐만 아니라 이와 유사한 알고리즘도 인스트럭션 롬의 프로그램만을 수정하여 쉽게 구현할 수 있다.As described above, the digital signal processing apparatus according to the present invention implements the CCITT G.721 ADPCM algorithm with a relatively small size by designing arithmetic operation unit, multiplication operation unit, logic operation unit, shift operation unit, and logarithm operation unit. It is possible to lower the cost of the system and to consider low power consumption, so it is particularly suitable for mobile communication systems. In addition, the ADPCM algorithm as well as similar algorithms can be easily implemented by modifying only the program of the instruction ROM.

Claims (9)

3개의 독립된 데이타 버스(BUSA, BUSB, BUSZ); 마이크로프로세서에 필요한 클럭을 발생시키기 위한 클럭발생부; 외부와의 인터페이스를 위해 병렬 입출력과 직렬 입출력은 모두 제공하는 입출력부; 마이크로프로세서 전체 기능을 제어하기 위하여, 저장된 프로그램을 해석해서 각 데이타들을 상기 3개의 독립된 데이타 버스를 통하여 전달하고, 제어신호와 데이타의 전달을 제어하기 위한 제어부; 산술, 논리, 곱셈, 쉬프트, 로그 연산을 실행하며, 각각 병렬로 독립된 데이타 버스에 연결된 연산부; 상기 제어부, 입출력부의 데이타를 일시적으로 저장하는 데이타 저장부; 및 ADPCM 알고리즘 및 연산에 필요한 명령어 및 데이타를 저장하기 위하여 데이타 버스(BUSZ)에 연결되어 있으며, 상기 제어부, 연산부, 입출력부에 데이타 버스(BUSA, BUSB)를 통하여 데이타를 전송하는 저장부를 포함하는 것을 특징으로 하는 디지탈 신호 처리장치.Three independent data buses (BUSA, BUSB, BUSZ); A clock generator for generating a clock required for the microprocessor; An input / output unit that provides both parallel input / output and serial input / output for interfacing with the outside; A control unit for interpreting a stored program, transferring each data through the three independent data buses, and controlling the transfer of control signals and data to control the entire microprocessor function; An arithmetic unit for performing arithmetic, logic, multiplication, shift, and logarithm operations, each connected to independent data buses in parallel; A data storage unit for temporarily storing data of the control unit and the input / output unit; And a storage unit connected to a data bus BUSZ to store instructions and data necessary for ADPCM algorithms and operations, and transmitting data through data buses BUSA and BUSB to the control unit, the calculation unit, and the input / output unit. Digital signal processing device characterized in that. 제1항에 있어서, 상기 장치는 명령어와 데이타를 분리한 하버드 구조에 한 주기 안에 하나의 명령어를 처리하는 파이프 라인 구조를 가진 RISC 구조임을 특징으로 하는 디지탈 신호 처리장치.The digital signal processing apparatus of claim 1, wherein the apparatus is a RISC structure having a pipelined structure that processes one instruction in one period in a Harvard structure that separates instructions and data. 제1항에 있어서, 상기 연산부는 서로 중복이 되지 않는 두개의 페이즈를 가진 클럭을 이용한 4 페이즈 클럭에 의해 연산기능을 수행하는 것을 특징으로 하는 디지탈 신호 처리장치.The digital signal processing apparatus of claim 1, wherein the operation unit performs an operation by a four-phase clock using a clock having two phases that do not overlap each other. 제1항에 있어서, 상기 장치는 'RESET' 상태, 'RUN' 상태 및 'SLEEP' 상태를 채택하는 것을 특징으로 하는 디지탈 신호 처리장치.The digital signal processing apparatus of claim 1, wherein the apparatus adopts a 'RESET' state, a 'RUN' state, and a 'SLEEP' state. 제4항에 있어서, 상기 'SLEEP' 상태는 입력신호에 대한 부호화 및 복호화 기능을 완수하고 다음 입력신호가 들어가기 전까지의 상태로서, 시스템 클럭을 발생하지 않도록 하여 상기 입출력부를 제외한 모든 회로가 동작하지 않도록 하는 것을 특징으로 하는 디지탈 신호 처리장치.5. The method of claim 4, wherein the 'SLEEP' state is a state until the encoding and decoding functions of the input signal are completed and before the next input signal is input, so that no system clock is generated so that all circuits except the input / output unit do not operate. Digital signal processing apparatus, characterized in that. 제1항에 있어서, 상기 입출력부에서 상기 직렬 입출력은 음성신호에 해당하는 PCM 데이타를 입출력하는데 이용되고, 상기 병렬 입출력은 ADPCM 데이타를 입출력하는데 이용되는 것을 특징으로 하는 디지탈 신호 처리장치.The digital signal processing apparatus of claim 1, wherein the serial input / output unit is used to input / output PCM data corresponding to a voice signal, and the parallel input / output unit is used to input / output ADPCM data. 제6항에 있어서, 상기 병렬 입출력에서는 입력 또는 출력을 해도 좋다는 플래그신호와 실제로 입력이나 출력을 행하는 제어신호를 두는 것을 특징으로 하는 디지탈 신호 처리장치.7. The digital signal processing apparatus according to claim 6, wherein the parallel input / output includes a flag signal indicating that input or output may be performed and a control signal that actually performs input or output. 제1항에 있어서, 상기 연산부의 곱셈연산부분에서는 8 비트 곱셈연산인 것을 특징으로 하는 디지탈 신호 처리장치.The digital signal processing apparatus according to claim 1, wherein the multiplication operation part of the operation unit is an 8-bit multiplication operation. 제1항에 있어서, 상기 장치에서 채택한 파이프라인 구조는 명령어를 읽어오고 다음 명령어의 주소를 계산하는 단계와, 읽어온 명령어의 기능을 해석하는 단계와, 자료를 가지고 와서 연산한 다음 결과를 레지스터에 저장하는 단계로 이루어지는 것을 특징으로 하는 디지탈 신호 처리장치.The pipeline structure of claim 1, wherein the pipeline structure adopted by the device comprises: reading an instruction and calculating the address of the next instruction, interpreting the function of the instruction being read, bringing data and operating the result and then writing the result to a register. Digital signal processing apparatus comprising the step of storing.
KR1019950000223A 1995-01-07 1995-01-07 Digital signal processor KR0155797B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950000223A KR0155797B1 (en) 1995-01-07 1995-01-07 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950000223A KR0155797B1 (en) 1995-01-07 1995-01-07 Digital signal processor

Publications (2)

Publication Number Publication Date
KR960029979A KR960029979A (en) 1996-08-17
KR0155797B1 true KR0155797B1 (en) 1998-11-16

Family

ID=19406502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950000223A KR0155797B1 (en) 1995-01-07 1995-01-07 Digital signal processor

Country Status (1)

Country Link
KR (1) KR0155797B1 (en)

Also Published As

Publication number Publication date
KR960029979A (en) 1996-08-17

Similar Documents

Publication Publication Date Title
US4038643A (en) Microprogramming control system
US4403284A (en) Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address
US6629223B2 (en) Method and apparatus for accessing a memory core multiple times in a single clock cycle
US4402044A (en) Microprocessor with strip layout of busses, ALU and registers
US4694391A (en) Compressed control decoder for microprocessor system
US4868784A (en) Microcomputer with a multi-channel serial port having a single port address
JP2000020305A (en) Method and architecture for custmizable instruction set processor
US4422143A (en) Microprocessor ALU with absolute value function
US4203157A (en) Carry anticipator circuit and method
US6038675A (en) Data processing circuit
US5826100A (en) Digital signal processor for executing multiple instruction words
JP4073721B2 (en) Data processing device
KR0155797B1 (en) Digital signal processor
US5765013A (en) Digital signal processor
JP3570287B2 (en) Microcomputer
EP0769225B1 (en) Signal processing circuit
Tsao et al. Parameterized and low power DSP core for embedded systems
US6704853B1 (en) Digital signal processing apparatus and method for controlling the same
JPH0353650B2 (en)
KR100343459B1 (en) Java processor
KR100388943B1 (en) Apparatus for processing immediate data on a DSP
JP4382076B2 (en) Data processing device
JPH026089B2 (en)
Crochlere et al. Digital signal processors: toward Vision 2001
CN116185333A (en) Method, circuit, chip, medium and equipment for changing end 1 of digital signal into 0

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

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20130624

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee