KR100315303B1 - Digital signal processor - Google Patents

Digital signal processor Download PDF

Info

Publication number
KR100315303B1
KR100315303B1 KR1019970045342A KR19970045342A KR100315303B1 KR 100315303 B1 KR100315303 B1 KR 100315303B1 KR 1019970045342 A KR1019970045342 A KR 1019970045342A KR 19970045342 A KR19970045342 A KR 19970045342A KR 100315303 B1 KR100315303 B1 KR 100315303B1
Authority
KR
South Korea
Prior art keywords
data
bits
bit
rounding
computing
Prior art date
Application number
KR1019970045342A
Other languages
Korean (ko)
Other versions
KR19990021768A (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 KR1019970045342A priority Critical patent/KR100315303B1/en
Priority to US09/143,351 priority patent/US6209017B1/en
Priority to GB9818919A priority patent/GB2330226B/en
Priority to GB0007909A priority patent/GB2345562B/en
Priority to GB0007912A priority patent/GB2345563B/en
Priority to DE19839627A priority patent/DE19839627B4/en
Publication of KR19990021768A publication Critical patent/KR19990021768A/en
Application granted granted Critical
Publication of KR100315303B1 publication Critical patent/KR100315303B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Abstract

PURPOSE: A digital signal processor is provided to execute an integer calculation and a fixed-point calculation effectively. CONSTITUTION: The first external bus(31) is used as the first read data bus of n-bit. The first register(30) temporarily stores 'n' bit data from a memory through the first external bus(31). The first and second bit aligners(32,34) shift the 'n' bit data from the first register(30), and extend the data from 'n' bit to 'N+r' bit. The first multiplexer(36) supplies data of "N+r" bit on the first input port or data of "N+r" bit on the second input port to the first guard bits attaching unit(38) in accordance with a fixed-point/integer calculation. The first guard bits attaching unit(38) attaches a guard bit to the "N+r" bit data from the first multiplexer(36). The guard bit is set as '0' all or extends a sign of data. The second register(40) temporarily stores 'n' bit data from a memory being inputted through the first external bus(31). The second external bus(33) is used as the second read data bus. The second multiplexer(42) supplies one of the data out of n' bit data from the first external bus(31) being supplied to the first input port and n' bit data from the second external bus(33) being supplied to the second input port to the third register(44). The third register(44) temporarily stores the 'n' bit data from the second multiplexer(42). A multiplier(46) multiplies two of the data stored in the second and third registers(40,44).

Description

디지탈신호처리기{Digital Signal Processor}Digital Signal Processor

본 발명은 각종 디지탈(Digital)신호를 소프트웨어에 의해 처리하는 디지탈신호처리기(Digital Signal Processor: 이하 "DSP"라 함)에 관한 것이다.The present invention relates to a digital signal processor (hereinafter referred to as a "DSP") for processing various digital signals by software.

DSP는 연산기능을 가지는 중앙처리장치(Central Processing Unit: 이하 "CPU"라 함)의 일종으로서, 원래 미합중국의 전자회사인 "텍사스 인스트루먼츠(Texas Instruments; 이하 "TI"라 함) 사의 주도하에 발전되었다. 이 DSP는 최근에 비디오 및 오디오신호의 처리에 적용되면서 그 사용이 급격하게 증가되고 있다. 특히, 오디오신호의 여러가지 처리방식들 중에서 MPEG(Moving Picture Expert Group)에 의해 국제표준으로 제정되어진 오디오압축알고리듬인 "뮤지캠(Musicam)" 이나 "돌비(Dolby) 사"의 디지탈 오디오 압축ㆍ복원 알고리듬인 "AC-3" 등을 구현하는 DSP들이 급격하게 출현하고 있다. 이에 따라, 세계 유수의 기업들(특히, 구미의 여러회사들)은 자사의 이익을 증대하기 위하여 자사 고유의 독자적인 DSP의 개발에 박차를 가하고 있는 실정이다.DSP is a type of central processing unit (CPU) with arithmetic functions. It was originally developed by the US electronics company, Texas Instruments (TI). In recent years, the DSP has been applied to the processing of video and audio signals, and its use has increased rapidly.In particular, among the various processing methods of audio signals, audio compression has been established as an international standard by the Moving Picture Expert Group (MPEG). DSPs that implement the algorithm "Musicam" or "Dolby" 's digital audio compression and restoration algorithm "AC-3" are rapidly emerging. Many companies in the US, in particular, are spurring the development of their own DSPs to increase their profits.

이러한 오디오신호 처리용의 DSP는 지금까지 보편적으로 사용되어온 "TI"사의 고정소수점(Fixed-Point) DSP에 비하여 내부 연산을 위한 워드길이(Word Length)가 길다. 예를 들면, "TI"사의 TMS320C5x 시리즈의 DSP는 16 비트(Bits)의 데이타 워드길이와 32 비트의 연산로직유니트(Arithmatic Logic Unit; 이하 "ALU"라 함)를 구비하는 반면에 MEPG의 "뮤지캠" 및 돌비 사의 "AC-3"을 구현하기 위해 개발되어진 최근의 DSP들은 거의 모두 20비트 이상의 데이타 워드길이와 48 비트 이상의 ALU를 구비하고 있다. 좀더 구체적으로 언급하면, "야마하(Yamaha)"사의 "YSS243", "모토로라(Motorola)"사의 "DSP5600x", "크리스탈 세미론덕터(Crystal Semiconductor)"사의 "CS2923" 및 "메디아닉스 세미콘덕터(Medianix Semiconductor)"사의 MED25201 등의 DSP들을 모두 "돌비"사의 "AC-3"의 오디오신호를 디코딩(Decoding)하기 위해 24 비트의 데이다 워드길이와 56 비트의 ALU를 구비한다. 또한, "조란(Zoran)"사의 "ZR38000" 및 "후지쓰(Fujitsu)"의 "MB86342" 등과 같은 DSP들은 모두 "돌비"사의 "AC-3"의 오디오신호를 디코딩하기 위해 20 비트의 데이타 워드길이와 48 비트의 ALU를 구비한다.The DSP for audio signal processing has a longer word length for internal operation compared to the fixed-point DSP of TI, which has been commonly used up to now. For example, the DSP of the TMS320C5x series from "TI" has a 16-bit data word length and a 32-bit Arithmetic Logic Unit (hereinafter referred to as "ALU"), while the MEPG "music" The latest DSPs, developed to implement Cam and Dolby's "AC-3", almost all have a data word length of more than 20 bits and an ALU of more than 48 bits. More specifically, "YSS243" from "Yamaha", "DSP5600x" from "Motorola", "CS2923" from "Crystal Semiconductor" and "Medianix Semiconductor (Medianix) Semiconductors, Inc.'s MED25201 and the like all have a 24-bit dada word length and a 56-bit ALU to decode the audio signal of "Dolby's" AC-3 ". Also, DSPs such as "ZR38000" from "Zoran" and "MB86342" from "Fujitsu" are all 20-bit data word lengths for decoding audio signals of "AC-3" from "Dolby". And 48 bit ALU.

이와 같은 구성되어진 DSP들은 모두 N비트의 길이를 가지는 두개의 데이타를 도1 에서와 같이 연산하게 된다. 제1 및 제2 데이타(10,12)는 메모리로부터 판독되어 승산기에 의해 승산됨으로써 그 승산결과인 제3 데이타를 발생시킨다. 제1 및 제2 데이타(10,12)는 모두 N 비트의 길이를 가지며 정수부와 소수부로 구성된다. 승산기의 승산결과인 제3 데이타(14)는 최대 2N 비트의 길이를 가질 수 있고 이에 따라 2N 비트의 승산용 레지스터에 일시적으로 저장되게 된다. 이어서 제3 데이타(14)는 제1 및 제2 데이타(10,12)의 정수부(Integsr Part)의 비트 수, 예를 들면 R 비트 만큼 배릴쉬프터(Barrel Shifter)에 의해 쉬프트되어 그 쉬프트 결과인 2N 비트의 제4 데이타(16)가 산출되도록 한다. 제4 데이타(16)는 ALU에 의해 로직연산됨으로써 제5 데이타(18)를 생성시킨다. ALU의 연산결과인 제5 데이타(18)에는 오버플로우(Overflow)가 발생될 수 있다. 이 오버플로우를 처리하기 위하여, "TI"사의 "TMS320C5x"와 같은 DSP에서는 제5 데이타(18)를 포화시킨다. 이를 상세히 하면, ALU에 의해 연산된 제5 데이타(18)가 2N 비트의 누적용 레지스터에 저장되기 곤란한 비트길이를 가지는 경우, 즉 제5 데이타(18)에 오버플로우가 발생되면 "TMS320C5x"의 DSP는 제5 데이타(18)를 포화시키고 그 포화된 제5 데이타(18)를 누적용 레지스터에 저장함으로써 오버플로우에 의한 오차를 완화시킨다. 이와는 달리, "모토로라" 사의 "DSP5600x" 등과 같은 DSP들은 도1 에서와 같이 8비트를 오버플로우 보호용으로서 누적용 레지스터에 부가한다. 이 경우, ALU와 누적용 레지스터는 모두 "8 + 2N" 비트의 길이를 가지게 된다. 이러한 오버플로우 보호비트를 앞서 열거한 "AC-3"전용 DSP들에 적용하면, 24 비트의 데이타 워드길이를 가지는 DSP들은 데이타가 N=24 비트이므로 56 비트의 누적기를 그리고 20 비트의 데이타 워드길이를 가지는 DSP들은 데이타가 N=20 비트이므로 48 비트의 누적기를 각각 포함하게 된다. 그리고 오버플로우 보호비트들이 부가된 제5 데이타(18)는 포화처리됨으로써 메모리에 저장되어진 제1 및 제2 데이타(10,12)와 같은 비트길이를 가지는 제6 데이타(20)로 변화된다.The DSPs configured as described above operate two data having a length of N bits as shown in FIG. The first and second data 10, 12 are read from the memory and multiplied by a multiplier to generate third data that is the result of the multiplication. The first and second data 10, 12 both have a length of N bits and consist of an integer part and a fractional part. The third data 14, which is the result of multiplication of the multiplier, may have a maximum length of 2N bits, and is thus temporarily stored in a multiplication register of 2N bits. Subsequently, the third data 14 is shifted by a barrel shifter by the number of bits of the integer parts (eg, R bits) of the first and second data 10, 12, for example, R bits, and the shift result is 2N. A fourth data 16 of bits is to be calculated. The fourth data 16 is logically operated by the ALU to generate the fifth data 18. Overflow may occur in the fifth data 18 that is an operation result of the ALU. In order to deal with this overflow, the fifth data 18 is saturated in a DSP such as "TMS320C5x" by "TI". In detail, when the fifth data 18 calculated by the ALU has a bit length that is difficult to be stored in the 2N bit accumulation register, that is, when an overflow occurs in the fifth data 18, the DSP of "TMS320C5x" is generated. Saturates the fifth data 18 and stores the saturated fifth data 18 in an accumulation register to mitigate errors due to overflow. In contrast, DSPs such as "DSP5600x" from Motorola, Inc. add 8 bits to the accumulation register for overflow protection as shown in FIG. In this case, both the ALU and the accumulation register have a length of "8 + 2N" bits. Applying this overflow protection bit to the "AC-3" dedicated DSPs listed above, DSPs with 24-bit data word lengths have 56-bit accumulators and 20-bit data word lengths since the data is N = 24 bits. Since DSPs have N = 20 bits, each of them has a 48-bit accumulator. The fifth data 18 to which the overflow protection bits are added is converted into sixth data 20 having the same bit length as the first and second data 10 and 12 stored in the memory by being saturated.

상기한 일련의 연산과정을 수행하기 위하여 대부분의 DSP들은 48 비트 이상의 큰 워드길이를 가지는 ALU 및 누적용 레지스터를 구비하여야만 했었다. 48 비트 이상의 큰 워드길이를 가지는 이들 ALU 및 누적기는 DSP 칩(Chip)상의 다이 사이즈(Die Size)를 크게하고 아울러 ALU에서의 전파지연량을 증가시킨다. 따라서, 워드길이가 큰 ALU 및 누적기는 DSP 칩의 제조비용을 증가시키는 요인이 됨은 물론 DSP의 동작속도를 저하시키는 요인으로 작용하게 된다.In order to perform the above series of operations, most DSPs had to have ALUs and cumulative registers having a large word length of 48 bits or more. These ALUs and accumulators, which have large word lengths of 48 bits or more, increase the die size on the DSP chip and increase the amount of propagation delay in the ALU. Therefore, the ALU and accumulator having a large word length not only increases the manufacturing cost of the DSP chip but also acts as a factor of decreasing the operation speed of the DSP.

그리고 대부분의 DSP에서는 데이타의 포화처리에 앞서 라운딩(Rounding)연산을 지원한다. 예를 들면, "모토로라"사의 DSP는 "rnd"라는 명령어에 의해 누적용 레지스터에 저장된 "8 + 2N" 비트의 데이타를 "8 + N" 비트의 데이타로 변환한다. 이 라운딩된 데이타는 최종적으로 "N"비트의 데이타로 포화된 후 메모리에 저장된다. 이러한 라운딩 연산을 위하여 대부분의 DSP들은 하나의 명령어 또는 클럭주기를 추가로 소모하고 있다.Most DSPs support rounding operations before saturating the data. For example, the "Motorola" DSP converts the data of "8 + 2N" bits stored in the accumulation register into "8 + N" bits by the command "rnd". This rounded data is finally saturated with "N" bits of data and then stored in memory. For these rounding operations, most DSPs consume an additional instruction or clock period.

이 같은 명령어 또는 클럭주기의 추가적인 소모는 루우핑(Looping) 또는 블록반복(Block Repeating)이 적용되는 코드 세그먼트(Code Segment)에 라운딩 연산이 들어가는 경우 추가로 소모되는 클럭주기들이 매우 많아져서 DSP의 전체적인 연산량이 크게 증가된다.This additional consumption of instructions or clock cycles results in a lot of additional clock cycles when the rounding operation is applied to the code segment to which looping or block repeating is applied. The amount of computation is greatly increased.

또한, "TI"사의 "TMS320C5x"와 같은 DSP는 ALU 앞단에 위치한 프리-스케일링 쉬프터(Pre-scaling Shifter)를 이용하여 ALU에서 연산될 이진데이타를 0 내지 16 비트까지 좌측으로 쉬프트시킨다. 이 때, "0"번째 비트에서 "15"번째 비트까지의 쉬프트동작은 통상 이진데이타를 스케일링하는데 이용되지만, "16"번째 비트까지의 쉬프트동작은 정수(Integer) 연산이 아닌 고정소수점(Fixed Point) 연산이 수행될 경우에 사용된다. 이는 고정소수점연산의 경우에 메모리로부터 판독된 16비트 데이타가 32 비트의 누적용 레지스터의 상위비트들에 정렬되어야 하기 때문이다. 데이타를 스케일링하기 위한 "0"번째 비트 내지 "15"번째 비트까지의 쉬프트동작은 주어진 알고리듬에 따라 특히 부호화(Coding) 방식에 따라 유용하게 사용될 수도 있고 그렇지 않을 수도 있다. 프리스케일링이 유용하게 사용되지 않는 코드로 구현된 알고리듬을 수행하는 경우에 스케일핑 쉬프터는 그다지 도움을 주지 않으면서 DSP 칩의 다이 사이즈를 크게함과 아울러 전파지연량을 증가시킨다. 일례로, "모토로라"사의 DSP에 포함된 프리-스케일링 쉬프터는 데이타를 좌측 또는 우측으로 1비트 만큼 쉬프트시키게 되어 있다. 대신에, "모토로라"의 DSP는 부동소수점 연산과 정수 연산을 위해 서로 다른 승산명령어를 제공함으로써 "TI"사의 "TMS320C5x"가 데이타를 16 비트 만큼 좌측으로 쉬프트하는 동작을 흡수하고 있다.In addition, DSPs such as "TMS320C5x" from "TI" use a pre-scaling shifter located in front of the ALU to shift the binary data to be calculated in the ALU to the left from 0 to 16 bits. At this time, the shift operation from the "0" th bit to the "15" th bit is normally used to scale binary data, but the shift operation up to the "16" th bit is a fixed point, not an integer operation. ) Is used when the operation is performed. This is because in the case of fixed-point arithmetic, 16-bit data read from memory must be aligned with the upper bits of the 32-bit accumulation register. Shift operations from the "0" th bit to the "15" th bit for scaling data may or may not be usefully used depending on a given algorithm, in particular, a coding method. When performing algorithms implemented in code where prescaling is not useful, the scaling shifter increases the DSP chip die size and increases propagation delay without much help. In one example, the pre-scaling shifter included in the "Motorola" DSP is to shift data one bit to the left or to the right. Instead, Motorola's DSPs offer different multiply instructions for floating-point and integer operations, absorbing the "TI" 's "TMS320C5x" shifting data left by 16 bits.

다음으로, DSP에서는 각 명령어가 얼마나 빠르게 수행될 수 있는가 하는 것이 중요하게 여겨지고 있다. 명령어의 고속 수행을 위하여는 DSP에 인가되는 명령어의 주기가 짧아져야 하고 가능한 많은 명령어가 병렬로 처리되어야 한다. 전자의 명령어 주기를 짧게하는 것은 하드웨어, 즉 회로구성에 관련된 문제로서 DSP에 가능한 불필요한 블록(예를 들면, 이미 언급한 프리-스케일링 쉬프터)이 존재하지 않도록 하여 회로적인 경로를 짧게 하는 것이다. 후자의 명령어의 병렬처리능력은 DSP가 많은 계산을 필요로 하는 비디오/오디오 디코딩의 용도로 사용되면서 과거와 같은 순차적인 명령수행방식으로는 필요한 계산능력을 갖추지 못하는 것에서 비롯된다. 따라서, DSP들은 병렬처리가 가능한 특수한 명령어들을 갖추어 가고 있는 실정이다. 예를들면, "아날로그 디바이스(Analog Device)"사의 DSP인 "DSP21020"은 FFT 연산을 위한 버터플라이(Butterfly) 연산과 같이 다수의 복합연산식들을 몇개의 클럭주기만에 수행하는 특수 명령어들을 가지고 있다. 이를 위하여, "ADSP21020"은 연산과 관련된 최소 12개의 레지스터들로 구성되어진 레지스터 화일(Register File)을 갖추고 있다. 또한, "Zoran"사의 "ZR38000"도 FFT용 버터플라이와 같은 다수의 복합연산식들을 단 몇개의 클럭주기만에 수행한다. 이를 위해, ZR38000은 8개의 레지스터들로 이루어진 레지스터 화일을 가짐과 아울러 승산과 그 결과의 가감산을 한 클릭주기안에 한꺼번에 수행하는 구조를 가지고 있다.Next, in DSP, it is important to know how fast each instruction can be executed. For fast execution of instructions, the period of instructions applied to the DSP should be shortened and as many instructions as possible should be processed in parallel. Shortening the former instruction cycle is a hardware-, circuit-related problem that shortens the circuit path by eliminating unnecessary blocks (e.g., the pre-scaling shifters already mentioned) possible in the DSP. The parallelism of the latter instruction comes from the fact that DSPs are used for video / audio decoding, which requires a lot of computation, and the sequential instruction execution method of the past does not have the necessary computational capability. Therefore, DSPs are equipped with special instructions capable of parallel processing. For example, "DSP21020", a DSP from "Analog Device", has special instructions for performing multiple complex expressions in a few clock cycles, such as a butterfly operation for FFT operations. For this purpose, the "ADSP21020" has a register file consisting of at least 12 registers associated with the operation. In addition, Zor38000 also performs many complex equations, such as butterfly for FFT, in just a few clock cycles. To this end, the ZR38000 has a register file consisting of eight registers and a structure that performs multiplication and addition and subtraction of the result in one click cycle.

따라서, 본 발명의 목적은 정수 연산 및/또는 고정소수점 연산을 효율적으로수행할 수 있는 DSP를 제공함에 있다.Accordingly, an object of the present invention is to provide a DSP capable of efficiently performing integer operations and / or fixed point operations.

본 발명의 다른 목적은 데이타의 라운딩에 클릭주기가 추가데이타의 라운딩에 클럭주기가 추가로 소요되지 않도록 하는 DSP를 제공함에 있다.Another object of the present invention is to provide a DSP such that a click period is not added to the rounding of the data so that a clock period is not additionally added to the rounding of the additional data.

본 발명의 또 다른 목적은 논리값의 스케일을 포함하는 연산을 고속으로 수행할 수 있는 DSP를 제공함에 있다.It is still another object of the present invention to provide a DSP capable of performing an operation including a scale of a logic value at a high speed.

도1 은 종래의 DSP의 신호처리과정을 개략적으로 도시하는 도면.1 is a diagram schematically showing a signal processing procedure of a conventional DSP.

도2 는 본 발명의 실시예에 따른 DSP의 블럭도.2 is a block diagram of a DSP in accordance with an embodiment of the present invention.

도3 은 도2 에서의 고정소수점 연산과정 및 정수 연산과정을 설명하는 블럭도.3 is a block diagram illustrating a fixed point arithmetic operation and an integer arithmetic operation in FIG.

<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

30,40,44,48,64,66,76,78 : 제1 내지 제8 레지스터30,40,44,48,64,66,76,78: first through eighth registers

32,34,82,84 : 제1 내지 제4 비트정렬기 38 : 가드비트부가기32, 34, 82, 84: first to fourth bit sorter 38: guard bit adder

36,42,52,54,56,62,68,70,74,80,88 : 제1 내지 제11 멀티플렉서36,42,52,54,56,62,68,70,74,80,88: first to eleventh multiplexers

46 : 승산기 38 : 비트조절기46: multiplier 38: beat controller

58,72 : 제1 및 제2 ALU 60 : 배럴쉬프터58,72: first and second ALU 60: barrel shifter

86 : 라운딩/포화처리기86: rounding / saturation processor

상기 목적을 달성하기 위하여, 본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트하는 고정쉬프터와, 고정쉬프터로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타에서 상위 N 비트만을 추출하는 추출수단을 구비한다.In order to achieve the above object, a DSP according to the present invention includes an input means for inputting N bits of data, a fixed shifter for shifting the N bit data from the input means to the left by r bits, and data from the fixed shifter. Calculating means for calculating and extracting means for extracting only the upper N bits from the data from the calculating means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 우측으로 쉬프트하는 고정쉬프터와, 고정쉬프터로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타에서 하위 N 비트만을 추출하는 추출수단을 구비한다.The DSP according to the present invention includes an input means for inputting N bits of data, a fixed shifter for shifting right by n bits to N bit data from the input means, an operation means for calculating data from the fixed shifter, and Extracting means for extracting only the lowest N bits from the data from the means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 좌측으로 쉬프트하는 제1 고정쉬프터와, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 우측으로 쉬프트하는 제2 고정쉬프터와, 제1 및 제2 고정쉬프터 중 어느 한쪽으로부터의 데이타를 선택하는 제1 선택수단과, 제1 선택수단으로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타에서 상위 N 비트만을 추출하는 제1 추출수단과, 연산수단으로부터의데이타에서 하위 N 비트만을 추출하는 제2 추출수단과, 제1 및 제2 추출수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비한다.The DSP according to the present invention has an input means for inputting N bits of data, a first fixed shifter that shifts left by n bits to N bits of data from the input means, and r bits in N bits of data from the input means. A second fixed shifter shifting to the right, first selecting means for selecting data from any one of the first and second fixed shifters, computing means for calculating data from the first selecting means, and First extracting means for extracting only upper N bits from data, second extracting means for extracting only lower N bits from data from arithmetic means, and second selecting means for data from either one of the first and second extracting means; Selection means is provided.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타를 N 보다 작은 r비트 만큼 좌측으로 쉬프트시키는 고정쉬프터와, 고정쉬프터로부터의 데이타의 상위비트에 g비트의 가드비트를 부가하는 가드비트 부가수단과, 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타중 상위의 g+1 비트로부터 N비트를 추출하는 추출수단과, 연산수단으로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 추출수단과 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 선택수단을 구비한다.The DSP according to the present invention has an input means for inputting N bits of data, a fixed shifter for shifting the N bit data from the input means to the left by r bits smaller than N, and g in the upper bits of the data from the fixed shifter. Guard bit adding means for adding guard bits of bits, calculating means for calculating data from the guard bit adding means, extraction means for extracting N bits from the upper g + 1 bits of data from the calculating means, and calculating Rounding / saturation processing means for performing rounding and saturation of data from the means, and selection means for selecting data from either of the extraction means and the rounding / saturation processing means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타를 N 보다 작은 r비트 만큼 우측으로 쉬프트시키는 고정쉬프터와, 고정쉬프터로부터의 데이타의 상위비트에 g비트의 가드비트를 부가하는 가드비트 부가수단과, 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타중 하위의 N비트를 추출하는 추출수단과, 연산수단으로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 추출수단과 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 선택수단을 구비한다.The DSP according to the present invention has an input means for inputting N bits of data, a fixed shifter for shifting the N bit data from the input means to the right by r bits smaller than N, and g in the upper bits of the data from the fixed shifter. Guard bit adding means for adding guard bits of bits, arithmetic means for computing data from the guard bit adding means, extracting means for extracting the lower N bits of data from the computing means, and data from the computing means. Rounding / saturation processing means for performing rounding and saturation processing, and selection means for selecting data from any one of extraction means and rounding / saturation processing means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 좌측으로 쉬프트하는 제1 고정쉬프터와,입력수단으로부터의 N비트 데이타에 r 비트 만큼 우측으로 쉬프트하는 제2 고정쉬프터와, 제1 및 제2 고정쉬프터 중 어느 한쪽으로부터의 데이타를 선택하는 제1 선택수단과, 제1 선택수단으로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과, 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타에서 하위 N 비트을 추출하는 제1 추출수단과, 연산수단으로부터의 데이타에서 상위 g+1 번째 비트로부터하위쪽으로 N 비트을 추출하는 제2 추출수단과, 연산수단으로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 제1 및 제2 추출수단과 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비한다,The DSP according to the present invention has an input means for inputting N bits of data, a first fixed shifter shifting left by n bits to N bits of data from the input means, and r bits in N bits of data from the input means. G-bit guard bits are added to the second fixed shifter shifting to the right, the first selecting means for selecting data from any one of the first and second fixed shifters, and the upper bits of the data from the first selecting means. The guard bit adding means, the calculating means for calculating the data from the guard bit adding means, the first extracting means for extracting the lower N bits from the data from the calculating means, and the upper g + 1th bit in the data from the calculating means. Second extracting means for extracting N bits from the lower side, and rounding / saturation processing for performing rounding and saturation of data from the computing means. Means, and second selection means for selecting data from any one of the first and second extraction means and the rounding / saturation processing means,

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 데이타 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 좌측으로 쉬프트하는 고정쉬프터와, 고정쉬프토로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과, 가드비트 부자수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타를 일시적으로 저장하고 귀환루프와 연결된 메모리와, 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과, 스케일링수단으로부터의 데이타와 연산수단으로부터의 데이타를 선택적으로 메모리쪽으로 전송하는 제1 선택수단과, 연산수단으로부터의 데이타에서 상위 g+1 번째 비트로부터하위쪽으로 N 비트을 추출하는 추출수단과, 연산수단으로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 추출수단과 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비한다.The DSP according to the present invention is a data input means for inputting N bits of data, a fixed shifter shifting left by n bits to N bit data from the input means, and g bits in the upper bits of the data from the fixed shifter. A guard bit adding means for adding guard bits of; a computing means for calculating data from the guard bit rich means and data from the feedback loop; a memory temporarily storing data from the computing means and connected to the feedback loop; Scaling means for scaling data from the bit appending means, first selecting means for selectively transferring data from the scaling means and data from the computing means into a memory, and the upper g + 1th bit in the data from the computing means; Extracting means for extracting N bits downward from Rounding / saturation processing means for performing rounding and saturation of the data, and second selection means for selecting data from any one of the extraction means and the rounding / saturation processing means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 데이타 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 우측으로 쉬프트하는 고정쉬프터와, 고정쉬프토로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과, 가드비트 부가수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타를 일시적으로 저장하고 귀환루프와 연결된 메모리와, 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과, 스케일링수단으로부터의 데이타와 연산수단으로부터의 데이타를 선택적으로 메모리쪽으로 전송하는 제1 선택수단과, 메모리로부터의 데이타에서 하위의 N 비트을 추출하는 추출수단과, 메모리로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 추출수단과 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비한다.The DSP according to the present invention is a data input means for inputting N bits of data, a fixed shifter for shifting right by n bits to N bit data from the input means, and g bits in the upper bits of the data from the fixed shifter. A guard bit adding means for adding guard bits of a; a computing means for calculating data from the guard bit adding means and data from the feedback loop; a memory temporarily storing data from the computing means and connected to the feedback loop; Scaling means for scaling the data from the bit appending means, first selecting means for selectively transferring the data from the scaling means and the data from the computing means into the memory, and extracting the lower N bits from the data from the memory; Means for performing rounding and saturation of data from memory. Has rounding / saturation processing means and second selection means for selecting data from either of the extraction means and the rounding / saturation processing means.

본 발명에 따른 DSP는 N 비트의 데이타를 입력하기 위한 데이타 입력수단과, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 좌측으로 쉬프트하는 제1 고정쉬프터와, 입력수단으로부터의 N비트 데이타에 r 비트 만큼 우측으로 쉬프트하는 제2 고정쉬프터와, 제1 및 제2 고정쉬프트중 어느 한쪽으로부터의 데이타를 선택하기 위한 제1 선택수단과, 제1 선택수단으로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과, 가드비트 부가수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과, 연산수단으로부터의 데이타를 일시적으로 저장하고 귀환루프와 연결된 메모리와, 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과, 스케일링수단으로부터의 데이타와 연산수단으로부터의 데이타를 선택적으로 메모리쪽으로 전송하는 제2 선택수단과, 메모리로부터의 데이타에서 하위의 N 비트을 추출하는 제1 추출수단과, 메모리로부터의 데이타에서 상위의 g+1 번째 비트로부터 하위쪽의 N 비트을 추출하는 제2 추출수단과, 메모리로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과, 제1 및 제2 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제3 선택수단을 구비한다.The DSP according to the present invention provides data input means for inputting N bits of data, a first fixed shifter shifting left by n bits to N bit data from the input means, and r bits in the N bit data from the input means. A second fixed shifter shifting to the right by a number, first selecting means for selecting data from either one of the first and second fixed shifts, and a g-bit guard bit in an upper bit of the data from the first selecting means. Guard bit adding means for adding the data, a computing means for calculating data from the guard bit adding means and data from the feedback loop, a memory temporarily storing data from the computing means and connected to the feedback loop, and guard bit adding means. Scaling means for scaling data from the data and from the data and computing means Second selecting means for selectively transferring data to the memory, first extracting means for extracting the lower N bits from the data from the memory, and lower N bits from the upper g + 1 th bit from the data from the memory; Second extracting means, rounding / saturating processing means for rounding and saturating data from the memory, and first and second extracting means and data for selecting data from any one of the rounding / saturating processing means. Three selection means are provided.

상기 목적외에 본 발명의 다른 목적 및 잇점들은 첨부한 도면을 참조한 실시 예에 대한 상세한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention other than the above object will be apparent from the detailed description of the embodiments with reference to the accompanying drawings.

이하, 본 발명의 실시예를 첨부한 도2 및 도4 을 참조하여 상세히 설명하기로 한다.Hereinafter, with reference to Figures 2 and 4 attached to an embodiment of the present invention will be described in detail.

이하, 본 발명의 실시예를 첨부한 도2 및 도3 을 참조하여 상세히 설명하기로 한다.Hereinafter, with reference to Figures 2 and 3 attached to an embodiment of the present invention will be described in detail.

도2 를 참조하면, 제1 외부버스(31)로부터 N 비트의 데이타를 입력하기 위한 제1 레지스터(30)와,이 제1 레지스터(30)에 병렬 접속된 제1 및 제2 비트정렬기(32,34)를 구비하는 본 발명의 실시예에 따른 DSP가 도시되어 있다. 제1 외부버스(31)는 도시하지 않은 작업용 메모리에 공통적으로 접속되어진 N 개의 데이타라인들로 구성된 것으로서 N비트의 제1 읽기전용데이타버스(First Read Data Bus)로 사용된다. 제1 레지스터(30)는 제1 외부버스(31)를 경유하여 메모리로부터의 N 비트의 데이타를 일시적으로 보관하게 된다. 제1 및 제2 비트정렬기(32,34)는제1 레지스터(30)로부터의 N비트의 데이타를 쉬프트시킴으로써 데이타를 N 비트에서 N+r 비트로 확장시키는 역할을 한다. 이를 상세히 하면, 제1 비트정렬기(32)는 고정소수점 연산을 위해 N 비트의 데이타를 r 비트 만큼 좌측으로 쉬프트시킨다. 이를 위해, 제1 비트정렬기(32)는 제1 레지스터(30)의 N비트의 출력라인들을 제1 멀티플렉서(36)의 N+r 개의 단자들로 이루어진 제1 입력포트중 상위 N 개의 입력단자들에 접속시키는 배선을 가진다. 제2 비트정렬기(34)는 정수 연산을 위해 N 비트의 데이타를 r 비트 만큼 우측으로 쉬프트시킨다. 이 때, 상위 r 비트들은 DSP의 사인-확장모드(Sign-Extension Mode)에 따라 사인(정(+) 또는 부(-)) 비트들로서 채워지기도 하고 또는 "0"의 값들로 채워지기도 한다. 이를 위해, 제2 비트정렬기(34)는 제1 레지스터(30)의 N비트의 출력라인들을 제1 멀티플렉서(36)의 N+r 개의 단자들로 이루어진 제2 입력포트중 하위 N 개의 입력단자들에 접속시키는 배선을 가진다. 상위 r비트는 상기 언급한대로 Sign bit 혹은 "0" 으로 채워진다. 제1 멀티플렉서(36)는 연산의 종류, 즉 고정소수점/정수 연산에 따라 제1 입력포트상의 N+r 비트의 데이타 또는 제2 입력포트상의 N+r 비트의 데이타를 제1 가드비트(Guard Bits)부가기(38)에 공급한다. 이 제1 가드비트부가기(38)는 제1 멀티플렉서(36)로부터의 N+r 비트의 데이타에 g 비트의 가드비트들을 부가한다. g 비트의 가드비트들은 모두 "0"으로 세트되거나 데이타의 사인을 확장시키게 된다. 이를 상세히 하면, g 비트의 가드비트들은 사인-확장모드가 세트된 경우에 모두 데이타의 사인비트와 동일한 논리값을 그리고 사인-확장모드가 리세트된 경우에는 모두 "0"의 논리값을 가지게 된다. 사인-확장모드는 특정한 명령어에 의해 세트 또는 리세트된다, 이들 g 비트의 가드비트들을 N+r 비트의 데이타에 부가하기 위하여, 제1 가드비트부가기(38)는 N+r 개의 단자들로 이루어진 제1 멀티플렉서(36)의 출력포트를 제1 내부버스(35)에 포함된 g+N+r 개의 라인들 중 하위의 N+r개의 라인들에 연결시키는 배선을 가진다.Referring to Fig. 2, a first register 30 for inputting N bits of data from a first external bus 31, and first and second bit aligners connected in parallel to the first register 30, A DSP in accordance with an embodiment of the present invention having 32, 34 is shown. The first external bus 31 is composed of N data lines commonly connected to a working memory (not shown) and is used as an N-bit first read data bus. The first register 30 temporarily stores N bits of data from the memory via the first external bus 31. The first and second bit sorters 32 and 34 serve to extend data from N bits to N + r bits by shifting N bits of data from the first register 30. In detail, the first bit sorter 32 shifts N bits of data to the left by r bits for fixed-point arithmetic. To this end, the first bit sorter 32 connects the N-bit output lines of the first register 30 to the upper N input terminals of the first input port including N + r terminals of the first multiplexer 36. Wiring to be connected to each other. The second bit sorter 34 shifts N bits of data to the right by r bits for integer arithmetic. At this time, the upper r bits may be filled as sine (positive or negative) bits or filled with values of "0" according to the DSP's Sign-Extension Mode. To this end, the second bit sorter 34 connects N-bit output lines of the first register 30 to the lower N input terminals of the second input port including N + r terminals of the first multiplexer 36. Wiring to be connected to each other. The upper r bits are filled with the sign bit or "0" as mentioned above. The first multiplexer 36 receives N + r bits of data on the first input port or N + r bits of data on the second input port according to the type of operation, that is, fixed-point / integer operation. ) Is supplied to the adder 38. This first guard bit adder 38 adds g bits of guard bits to the N + r bits of data from the first multiplexer 36. Guard bits of g bits are all set to "0" or extend the sign of the data. In detail, all g-bit guard bits have the same logic value as the sign bit of data when the sign-extension mode is set, and all logic values of "0" when the sign-extension mode is reset. . The sign-extension mode is set or reset by a specific instruction. In order to add these g-bit guard bits to the N + r bit data, the first guard bit adder 38 is divided into N + r terminals. The output port of the first multiplexer 36 is connected to the lower N + r lines among the g + N + r lines included in the first internal bus 35.

상기 DSP는 제1 외부버스(31)에 직렬 접속된 제2 레지스터(40) 및 승산기(46)와, 제1 및 제2 외부버스(31,33)와 접속되어진 제2 멀티플렉서(42)를 추가로 구비한다. 제2 레지스터(40)는 제1 레지스터(30)와 마찬가지로 제1 외부버스(31)를 경유하여 입력되는 메모리로부터의 N 비트 데이타를 일시적으로 저장하는 역할을 담당한다. 제2 외부버스(33)는 도시하지 않은 프로그램 메모리 및 CPU에 공통적으로 접속된 N개의 라인들로 구성된 것으로서 제2 읽기전용 데이타 버스(Second read data bus)로 사용된다. 제2 멀티플렉서(42)는 자신의 제1 입력포트에 공급되는 제1 외부버스(31)로부터 N비트 데이타와 자신의 제2 입력포트에 공급되는 제2 외부버스(33)로부터의 N비트 데이타 중 어느 한 데이타를 제3 레지스터(44)에 공급한다, 제3 레지스터(44)는 제2 멀티플렉서(42)로부터의 N 비트 데이타를 일시적으로 저장한다. 승산기(46)는 제2 및 제3 레지스터(40,44)에 저장된 두개의 데이타를 승산한다. 이 승산기(46)에 의해 승산되어진 결과는 2N 비트를 가질 수 있다. 이에 따라, 승산기(46)으로부터의 데이타를 일시적으로 저장하는 제4 레지스터(48)는 2N 비트의 길이를 가진다. 제4 레지스터(48)와 제2 내부버스(37) 사이에 접속된 배선조절기(50)는 제4 레지스터(48)에 저장되어진 2N 비트의 데이타를 2N 보다 작은 N+r 비트의 데이타로 변환하고 그 변환된 N+r 비트의 데이타에 g비트의 가드비트를 부가한다.The DSP adds a second register 40 and a multiplier 46 connected in series to the first external bus 31 and a second multiplexer 42 connected to the first and second external buses 31 and 33. It is provided with. Like the first register 30, the second register 40 is responsible for temporarily storing N-bit data from the memory input via the first external bus 31. The second external bus 33 is composed of N lines commonly connected to a program memory and a CPU (not shown) and is used as a second read-only data bus. The second multiplexer 42 includes N bit data from the first external bus 31 supplied to its first input port and N bit data from the second external bus 33 supplied to its second input port. Any data is supplied to the third register 44, which temporarily stores the N bit data from the second multiplexer 42. Multiplier 46 multiplies two data stored in second and third registers 40 and 44. The result multiplied by this multiplier 46 may have 2N bits. Accordingly, the fourth register 48 that temporarily stores data from the multiplier 46 has a length of 2N bits. The wiring controller 50 connected between the fourth register 48 and the second internal bus 37 converts 2N bits of data stored in the fourth register 48 into N + r bits of data smaller than 2N. A g-bit guard bit is added to the converted N + r-bit data.

그리고 상기 DSP는 제1 내부버스(35)에 공통적으로 접속되어진 제3 내지 제5 멀티플렉서(52 내지 56)를 구비한다. 제3 멀티플렉서(52)는 제1, 제2 및 제4 내부버스(35,37,43)로부터 g+N+r 비트의 데이타를 각각 입력하는 제1 내지 제3 입력포트를 가진다. 제3 멀티플렉서(52)는 제1, 제2 및 제4 내부버스(35,37,43)로부터의 3개의 데이타 중 어느 하나를 제1 ALU(58)에 공급한다. 제4 멀티플렉서(54)는 "0"의 논리값을 입력하는 제1 입력포트(39)와, 제1 및 제3 내부버스(35,41)로부터 g+N+r 비트의 데이타를 각각 입력하는 제2 및 제3 입력포트를 구비한다. 제4 멀티플렉서(54)는 자신의 제1 내지 제3 입력포트상의 3개의 데이타 중 어느 하나를 제1 ALU(58)에 공급하게 된다. 제1 ALU(58)는 제3 및 제4 멀티플렉서(52,54)로부터의 두개의 데이타를 연산하여 그 연산된 결과를 제6 멀티플렉서(62)에 공급한다. 제5 멀티플렉서(56)도 제1 내부버스(35)로부터의 g+N+r 비트의 데이타와 제3 내부버스(41)로부터의 g+N+r 비트의 데이타를 선택적으로 배럴쉬프터(60)에 공급한다. 배럴쉬프터(60)는 제5 멀티플렉서(56)로부터의 데이타의 논리값을 스케일하고 그 스케일링된 데이타를 제6 멀티플렉서(62)에 공급한다. 이 데이타의 스케일링을 위해 배럴쉬프터(60)는 스케일링 양에 해당하는 비트수 만큼 제5 멀티플렉서(56)로부터의 데이타의 좌측 또는 우측방향으로 쉬프트시킨다. 또한, 배럴쉬프터(60)는 제1 ALU(58)와 병렬 접속되므로써 데이타의 전파지연시간을 최소화 할 수 있다. 이에 따라, 상기 DSP는 사칙연산, 스케일링 및 그를 포함한 사칙연산을 고속으로 수행할 수 있다. 제6 멀티플렉서(62)는 제1 ALU(58)로부터의 g+N+r 비트의 사칙연산되어진 데이타와 배럴쉬프터(60)로 부터의 스케일드된 데이타를 선택적으로 제5 또는 제6 레지스터(64 또는 66)에 공급한다. 제5 또는 제6 레지스터(64 또는 66)에 저장되는 데이타는 제3 내부버스(41)에 공급되게 된다. 제5및 제6 레지스터(64,66)는 누적용 레지스터들로서 제1 ALU(58)와 함께 제1 누적기를 구성하게 된다. 제5 및 제6 레지스터(64,66) 모두 g+N+r 비트의 데이타를 일시적으로 저장하기 위해 g+N+r 비트의 길이를 가지며 아울러 제3 내부버스(41)도 g+N+r 개의 라인으로 구성된다.The DSP includes third to fifth multiplexers 52 to 56 that are commonly connected to the first internal bus 35. The third multiplexer 52 has first to third input ports for inputting g + N + r bits of data from the first, second and fourth internal buses 35, 37 and 43, respectively. The third multiplexer 52 supplies any one of three data from the first, second and fourth internal buses 35, 37 and 43 to the first ALU 58. The fourth multiplexer 54 inputs g + N + r bits of data from the first input port 39 for inputting a logic value of “0” and the first and third internal buses 35 and 41, respectively. And second and third input ports. The fourth multiplexer 54 supplies any one of three pieces of data on its first to third input ports to the first ALU 58. The first ALU 58 computes two data from the third and fourth multiplexers 52 and 54 and supplies the calculated result to the sixth multiplexer 62. The fifth multiplexer 56 also selectively outputs g + N + r bits of data from the first internal bus 35 and g + N + r bits of data from the third internal bus 41 to the barrel shifter 60. To feed. The barrel shifter 60 scales the logical value of the data from the fifth multiplexer 56 and supplies the scaled data to the sixth multiplexer 62. In order to scale this data, the barrel shifter 60 shifts left or right of the data from the fifth multiplexer 56 by the number of bits corresponding to the scaling amount. In addition, since the barrel shifter 60 is connected in parallel with the first ALU 58, the propagation delay time of data can be minimized. Accordingly, the DSP can perform arithmetic operations, scaling and arithmetic operations including the same at high speed. The sixth multiplexer 62 selectively selects the g + N + r bits from the first ALU 58 and the scaled data from the barrel shifter 60 to the fifth or sixth register 64. Or 66). Data stored in the fifth or sixth register 64 or 66 is supplied to the third internal bus 41. The fifth and sixth registers 64 and 66 constitute the first accumulator together with the first ALU 58 as accumulation registers. Both the fifth and sixth registers 64 and 66 have a length of g + N + r bits to temporarily store g + N + r bits of data, and the third internal bus 41 also has g + N + r bits. It consists of two lines.

또한 상기 DSP는 제1 내부버스(35) 및 제4 내부버스(43)와 접속되어진 제7 멀티플렉서(68)와, 제1 및 제2 내부버스(35,37)차 접속되어진 제8 멀티플렉서(70)를 구비한다. 제7 멀티플렉서(68)는 "0"의 논리값을 입력하는 제1 입력포트(45)와, 제1 및 제4 내부버스(35,43)로부터 g+N+r 비트의 데이타를 각각 입력하는 제2 및 제3 입력포트를 구비한다. 제7 멀티플렉서(68)는 자신의 제1 내지 제3 입력포트상의 3개의 데이타 중 어느 하나를 제2 ALU(72)에 공급하게 된다. 제8 멀티플렉서(70)는 제1 및 제2 내부버스(35,37)로부터 g+N+r 비트의 데이타를 각각 입력하는 제1 및 제2 입력포트를 가진다. 제8 멀티플렉서(70)는 제1 및 제2 내부버스(35,37)로부터의 2개의 데이타 중 어느 하나를 제2 ALU(72)에 공급한다. 제2 ALU(72)는 제7 및 제8 멀티플렉서(68,70)로부터의 두개의 데이타를 연산하여 그 연산된 결과를 제9 멀티플렉서(74)에 공급한다. 제9 멀티플렉서(74)는 제2 ALU(72)로부터의 g+N+r 비트의 연산되어진 데이타와 배럴쉬프터(60)로부터의 스케일링된 데이타를 선택적으로 제7 또는 제8 레지스터(76 또는 78)에 공급한다. 제7 또는 제8레지스터(76,78)는 제9 멀티플렉서(74)로부터의 데이타를 제4 내부버스(43)에 공급되게 된다. 제7 및 제8 레지스터(76,78)는 누적용 레지스터로서 제2 ALU(72)와 함께 제2 누적기를 구성하며, 이 제2 누적기는 제1 누적기와 병렬로 접속됨으로써 2 이상의 복합연산식들이 병렬로 연산되도록 한다. 제7 및 제8 레지스터(76,78) 모두 g+N+r 비트의 데이타를 일시적으로 저장하기 위해 g+N+r 비트의 길이를 가진다. 또한, 제7 및 제8 레지스터(76,78)는 제5 및 제6 레지스터(64,66)와 함께 다수의 복합연산식들이 빠르게 연산되도록 한다.In addition, the DSP includes a seventh multiplexer 68 connected to the first internal bus 35 and the fourth internal bus 43, and an eighth multiplexer 70 connected to the first and second internal buses 35 and 37. ). The seventh multiplexer 68 inputs g + N + r bits of data from the first input port 45 and the first and fourth internal buses 35 and 43 to input a logic value of “0”, respectively. And second and third input ports. The seventh multiplexer 68 supplies any one of three pieces of data on its first to third input ports to the second ALU 72. The eighth multiplexer 70 has first and second input ports for inputting g + N + r bits of data from the first and second internal buses 35 and 37, respectively. The eighth multiplexer 70 supplies any one of two data from the first and second internal buses 35, 37 to the second ALU 72. The second ALU 72 calculates two data from the seventh and eighth multiplexers 68 and 70 and supplies the calculated result to the ninth multiplexer 74. The ninth multiplexer 74 selectively stores the g + N + r bits of the computed data from the second ALU 72 and the scaled data from the barrel shifter 60 to the seventh or eighth register 76 or 78. To feed. The seventh or eighth registers 76 and 78 are supplied with data from the ninth multiplexer 74 to the fourth internal bus 43. The seventh and eighth registers 76 and 78 constitute a second accumulator together with the second ALU 72 as a cumulative register. To be computed in parallel. Both the seventh and eighth registers 76, 78 have a length of g + N + r bits to temporarily store g + N + r bits of data. In addition, the seventh and eighth registers 76 and 78, together with the fifth and sixth registers 64 and 66, allow multiple complex expressions to be computed quickly.

더 나아가, 상기 DSP는 제3 및 제4 내부버스(41,43)로부터의 두개의 g+N+r 비트 데이타들을 선택하기 위한 제10 멀티플렉서(80)와,이 제10 멀티플렉서(80)에 공통적으로 접속되어진 제3 및 제4 비트정렬기(82,84)와 라운딩/포화(Rounding/Saturation)처리기(82)를 추가로 구비한다. 제10 멀티플렉서(80)는 제3 내부버스(41)를 경유한 제5 또는 제6 레지스터(64,66)로부터의 g+N+r 비트의 데이타와 제4 내부버스(23)를 경유한 제7 또는 제8 레지스터(76,78)로부터의 g+N+r 비트의 데이타 중 어느 한 데이타를 제3 및 제4 비트정렬기(82,84)와 라운딩/포화 처리기(86)에 공통적으로 공급한다. 제3 및 제4 비트정렬기(82,84)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타에서 N 비트만을 추출하여 그 추출된 N 비트의 데이타를 제11 멀티플렉서(88)의 제1 및 제2 입력포트에 각각 공급한다. 이를 상세히 하면, 제3 비트정렬기(82)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타 중 상위 g+1 번째 비트로부터 N 비트의 데이타만을 추출하여 그 추출된 N비트의 데이타를 제11 멀티플렉서(88)의 제1 입력포트에 공급한다. 이를 위하여, 제3 비트정렬기(82)는 제10 멀티플렉서(80)의 g+N+r 개의 출력단자들 중 상위 g+1 번째 단자로부터 N 개의 단자들, 즉 상위 g 개의 단자들과 하위 r개의 단자들을 제외한 나머지 N 개의 단자들을 N 개의 단자들로 이루어진 제11 멀티플렉서(88)의 제1 입력포트에 접속시키는 배선을 구비한다. 단순히 배선에 의해서만 제3 비트정렬기(82)는 g+N+r 비트의 데이타를 N 비트의 데이타로 변환시킨다. 제4 비트정렬기(84)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타 중 하위 N 비트의 데이타만을 추출하여 그 추출된 N비트의 데이타를 제11 멀티플렉서(88)의 제2 입력포트에 공급한다. 이를 위하여,제4 비트정렬기(84)는 제10 멀티플렉서(80)의 g+N+r 개의 출력단자들 중 하위 N개의 단자들, 즉 상위 g+r 개의 단자들을 제외한 나머지 N 개의 단자들을 N개의 단자들로 이루어진 제11 멀티플렉서(88)의 제2 입력포트에 접속시키는 배선을 가진다. 제4 비트정렬기(84)는 제1 내지 제3 비트정렬기들(32,34,82)과 함께 단순히 배선에 의해 구성됨으로써 별도의 회로블록을 요구하지 않는다. 이에 따라, 제1 내지 제4 비트정렬기들(32,34,82,84)은 DSP의 회로구성을 간소화 할 수 있음은 물론 고정소수점 연산 및 정수연산 모두가 고속으로 수행되도록 한다.Furthermore, the DSP is common to the tenth multiplexer 80 and the tenth multiplexer 80 for selecting two g + N + r bit data from the third and fourth internal buses 41 and 43. Third and fourth bit aligners 82 and 84 and a rounding / saturation processor 82 connected to are further provided. The tenth multiplexer 80 stores the data of g + N + r bits from the fifth or sixth registers 64 and 66 via the third internal bus 41 and the fourth internal bus 23. Commonly supplies any of the g + N + r bits of data from the seventh or eighth registers 76,78 to the third and fourth bit sorters 82,84 and the rounding / saturation processor 86. do. The third and fourth bit sorters 82 and 84 extract only N bits from g + N + r bits of data from the tenth multiplexer 80 to extract the extracted N bits of data from the eleventh multiplexer 88. Supply to the first and second input ports respectively. In detail, the third bit sorter 82 extracts only N bits of data from the upper g + 1 th bit of the g + N + r bits from the tenth multiplexer 80 to extract the N bits of the extracted N bits. Data is supplied to the first input port of the eleventh multiplexer 88. For this purpose, the third bit sorter 82 may have N terminals from the upper g + 1 th terminal among the g + N + r output terminals of the tenth multiplexer 80, that is, the upper g terminals and the lower r. Wiring for connecting the remaining N terminals except for the N terminals to the first input port of the eleventh multiplexer 88 including N terminals is provided. Only by wiring, the third bit sorter 82 converts data of g + N + r bits into N bits of data. The fourth bit sorter 84 extracts only the lower N bits of the data of the g + N + r bits from the tenth multiplexer 80, and extracts the extracted N bits of data from the eleventh multiplexer 88. 2 Supply to the input port. To this end, the fourth bit sorter 84 may select N N terminals other than the lower N terminals, that is, the upper g + r terminals, among the g + N + r output terminals of the tenth multiplexer 80. And a wiring for connecting to the second input port of the eleventh multiplexer 88 consisting of four terminals. The fourth bit sorter 84, together with the first to third bit sorters 32, 34 and 82, is simply configured by wiring so that no separate circuit block is required. Accordingly, the first to fourth bit sorters 32, 34, 82, and 84 can simplify the circuit configuration of the DSP and allow both fixed-point and integer operations to be performed at high speed.

라운딩/포화처리기(86)는 도시하지 않은 제어기로 부터의 명령에 따라 라운딩처리모드, 포화처리모드, 또는 병합모드로 구동된다. 라운딩 모드시 라운딩/포화처리기(86)는 제10멀티플랙서(80)로 부터의 g+N+r 비트의 데이타에서 r+1번째 하위비트로부터 N비트의 데이타를 선택하여 제11 멀티플랙서(88)의 제3 입력포트에 공급한다. 다음으로 라운딩/포화처리기(86)는 포화모드시에는 제10 멀티플랙서(80)로부터의 g+N+r 비트의 데이타에서 상위 g+1 비트들의 논리값에 따라 데이타를 처리하게 된다. 이를 상세히하면, 라운딩/포화 처리기(86)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타에서 상위 g+1 비트들(즉, g개의 가드비트들과 1개의 사인비트)의 논리값들이 모두 동일한가에 따라 오버플로우(Overflow)의 발생여부를 판단한다. 상위 g+1 비트들의 논리값들이 모두 동일한 경우에 라운딩/포화 처리기(86)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타중 상위 g 비트와 하위 r 비트를 제외한 나머지 N 비트의 데이타를 연산되어진 결과로써 제11 멀티플렉서(88)의 제3 입력포트에 공급한다. 반대로 상위 g+1 비트들의 논리값들이 모두 동일하지 않은 경우에 라운딩/포화 처리기(86)는 g 개의 가드비트들중 최상위비트의 논리값이 "0" 또는 "1"인가를 판단한다. 라운딩/포화처리기(86)는 최상위 가드비트의 논리값이 "0"인 경우에 제10 멀티플렉서(80)로부터의 데이타가 오버플로우가 발생되어진 정(+)의 데이타인 것으로 간주하여 최상위 비트만이 "0"의 논리값을 가지는 최대값의 N 비트의 데이타(즉, "0111…11")를 제11 멀티플렉서(88)의 제3 입력포트에 공급한다. 이와는 달리 최상위 가드비트의 논리값이 "1"인 경우, 라운딩/포화 처리기(86)는 제10 멀티플렉서(80)로부터의 데이타가 오버플로우가 발생기어진 부(0)의 데이타인 것으로 간주하여 최상위 비트만이 "1"의 논리값을 가지는 N 비트의 데이타(즉, "1000…00")를 제11 멀티플렉서(88)의 제3 입력포트에 공급한다. 이와 같이 포화처리기(86)는 가드비트들과 사인비트의 논리값에 근거하여 ALU(58 또는 72)에 의해 연산된 데이타의 포화논리값(즉, 오버플로우가 발생되어진 논리값)을 정확하게 처리하게 된다. 마지막으로 병합모드시,라운딩/포화처리기(86)는 제10 멀티플렉서(80)로부터의 g+N+r 비트의 데이타에 대하여 상기 라운딩 처리를 수행한 다음 그 라운딩된 g+N 비트의 데이타에 대하여 포화처리를 수행하게 된다. 이렇게 라운딩/포화처리기(86)에 의해 라운딩 및 포화처리된 N비트 데이타는 제11 멀티플랙서(88)에 공급되게 된다. 이경우, 라운딩/포화처리기(86)는 하위 비트들에 대한 라운딩 처리를 먼저 수행하되, 라운딩과 포화 처리를 하나의 클럭주기내에 수행함으로써 별도의 라운딩 처리시간을 소모하지 않는다. 이에 따라, 라운딩/포화 처리기(86)는 별도의 시간을 소모하지 않으면서 고정소수점 연산되어진 데이타를 라운딩 할 수 있는 이점을 제공한다. 제11 멀티플렉서(88)는 제3 및 제4 비트정렬기(82,84)와 라운딩/포화 처리기(86)로부터의 3개의 N 비트 데이타중 어느 하나를 제3 외부버스(47)쪽으로 전송한다. 제3 외부버스(47)는 기록용데이타버스(Write Data Bus) 및 기록용어드레스버스(Write Address Bus)로 구성된 N개의 라인으로 이루어져 있다.The rounding / saturation processor 86 is driven in the rounding processing mode, the saturation processing mode, or the merge mode in accordance with a command from a controller (not shown). In the rounding mode, the rounding / saturation processor 86 selects N bits of data from the r + 1 th lower bits in the g + N + r bits of data from the 10th multiplexer 80 to select the 11th multiplexer. It is supplied to the 3rd input port of (88). Next, in the saturation mode, the rounding / saturation processor 86 processes the data according to the logical value of the upper g + 1 bits in the g + N + r bits of the data from the tenth multiplexer 80. In detail, the rounding / saturation processor 86 performs the processing of the upper g + 1 bits (ie, g guard bits and one sign bit) in the g + N + r bits of data from the tenth multiplexer 80. It is determined whether overflow occurs according to whether all logic values are the same. When the logic values of the upper g + 1 bits are all the same, the rounding / saturation processor 86 performs the remaining N bits except for the upper g bit and the lower r bit among the g + N + r bits of data from the tenth multiplexer 80. Is supplied to the third input port of the eleventh multiplexer 88 as a result of the calculation. On the contrary, when the logic values of the upper g + 1 bits are not the same, the rounding / saturation processor 86 determines whether the logical value of the most significant bit of the g guard bits is “0” or “1”. When the logical value of the most significant guard bit is "0", the rounding / saturation processor 86 considers that the data from the tenth multiplexer 80 is positive data having overflowed, so that only the most significant bit is present. A maximum value of N bits of data having a logical value of "0" (that is, "0111 ... 11") is supplied to the third input port of the eleventh multiplexer 88. In contrast, when the logical value of the most significant guard bit is "1", the rounding / saturation processor 86 considers the data from the tenth multiplexer 80 to be the negative (0) data from which the overflow occurred. Only N-bit data (ie, "1000 ... 00") having a logic value of "1" is supplied to the third input port of the eleventh multiplexer 88. In this way, the saturation processor 86 can correctly process the saturation logic of the data calculated by the ALU 58 or 72 based on the logic values of the guard bits and the sine bits (that is, the logic value at which the overflow occurred). do. Finally, in merge mode, the rounding / saturation processor 86 performs the rounding process on the g + N + r bits of data from the tenth multiplexer 80 and then rounds the rounded g + N bits of data. Saturation treatment is performed. The N-bit data rounded and saturated by the rounding / saturation processor 86 is supplied to the eleventh multiplexer 88. In this case, the rounding / saturation processor 86 performs rounding processing for the lower bits first, but does not consume a separate rounding processing time by performing the rounding and saturation processing in one clock period. Accordingly, the rounding / saturation processor 86 provides an advantage of rounding the data that has been fixed point operation without consuming extra time. The eleventh multiplexer 88 transmits any one of three N-bit data from the third and fourth bit sorters 82 and 84 and the rounding / saturation processor 86 to the third external bus 47. The third external bus 47 is composed of N lines composed of a write data bus and a write address bus.

도3 은 도2 에서의 고정소수점 연산과정 및 정수 연산과정을 설명하는 블럭도이다. 도3 에서, 레지스터(100)는 도시하지 않은 메모리로부터의 N 비트의 데이타를 일시적으로 저장한다. 제1 비트정렬기(102)는 레지스터(102)로부터의 N비트의 데이타를 배선에 의해 N 보다 작은 임의의 비트수(r) 만큼 좌측으로 쉬프트하여 N 비트 데이타를 스케일링-업 시킨다. 비슷하게, 제2 비트정렬기(104)도 레지스터(102)로부터의 N비트의 데이타를 배선에 의해 N 보다 작은 임의의 비트수(r) 만큼 우측으로 쉬프트하여 N 비트 데이타를 스케일링-다운 시킨다. 그러면, 누적기(106)은 제1 비트정렬기(102)로부터 순차적으로 입력되는 N+r 비트의 데이타를 누적연산함으로써 고정소수점 누적연산을 수행하거나, 또는 제2 비트정렬기(104)로부터 순차적으로 입력되는 N+r 비트의 데이타를 누적함으로써 정수 누적연산을 수행하게된다. 제3 비트정렬기(108)은 배선구조를 이용하여 누적기(106)에 의해 누적연산된 N+r 비트의 데이타중 상위 N비트의 데이타만근 메모리쪽으로 전송한다. 결국, 제1 및 제3 비트정렬기(108)은 배선에 의해 데이타를 쉬프트시킴으로으로써 고정소수점 연산이 고속으로 수행되도록 한다. 제4 비트정렬기(110)은 배선구조를 이용하여 누적기(106)에 의해 누적연산된 N+r 비트의 데이타중 하위 N비트의 데이타만을 메모리쪽으로 전송한다. 결국, 제2 및 제4 비트정렬기(104,110)은 배선에 의해 데이타를 쉬프트시킴으로써 정수 연산이 고속으로 수행되도록 한다. 이와 같이 배선에 의해 데이타를 쉬프트시킴으로써 DSP는 쉬프터와 같은 별도의 회로블록을 요구하지 않으며 아울러 고정소수점 연산 및 정수 연산을 빠르게 할 수 있다.FIG. 3 is a block diagram illustrating a fixed point arithmetic operation and an integer arithmetic operation in FIG. 2. In Fig. 3, the register 100 temporarily stores N bits of data from a memory not shown. The first bit sorter 102 scales up the N-bit data by shifting the N-bit data from the register 102 to the left by an arbitrary number of bits r smaller than N by wiring. Similarly, the second bit sorter 104 also scales down the N-bit data by shifting the N-bit data from the register 102 to the right by an arbitrary number of bits r smaller than N by wiring. Then, the accumulator 106 performs fixed-point accumulation by accumulating N + r bits of data sequentially input from the first bit sorter 102 or sequentially from the second bit sorter 104. Integer accumulation is performed by accumulating N + r bits of data. The third bit sorter 108 transfers only the upper N bits of the data of the N + r bits accumulated by the accumulator 106 to the near memory using a wiring structure. As a result, the first and third bit sorters 108 shift the data by wiring so that fixed-point arithmetic operations are performed at high speed. The fourth bit sorter 110 transfers only the lower N bits of data of the N + r bits accumulated by the accumulator 106 to the memory using a wiring structure. As a result, the second and fourth bit sorters 104 and 110 shift the data by wiring so that integer operations are performed at high speed. By shifting data by wiring in this way, the DSP does not require a separate circuit block such as a shifter, and can also perform fixed-point and integer operations quickly.

상술한 바와 같이, 본발명의 DSP는 ALU에 공급되는 데이타의 비트수(즉, 워드길이)를 배선에 의해 조절함으로써, ALU 및 누적용 레지스터의 길이를 짧게 할 수 있다. 또한, 본 발명에 따른 DSP는 데이타의 포화처리시에 데이타의 라운딩이 동시에 수행됨으로써 데이타의 라운딩 처리에 소요되는 시간을 없앨 수 있다. 이에 따라, 본 발명에 따른 DSP는 신호처리를 고속화 할 수 있다.As described above, the DSP of the present invention can shorten the length of the ALU and the accumulation register by adjusting the number of bits (i.e., word length) of data supplied to the ALU by wiring. In addition, the DSP according to the present invention can eliminate the time required for the rounding process of the data by performing the rounding of the data at the same time during the data saturation processing. Accordingly, the DSP according to the present invention can speed up signal processing.

또한, 본 발명에 따른 DSP에서는 배선으로 구현되어진 비트정렬기들이 누적기의 전단 및 후단에 배치됨으로써 고정소수점 및 정수 연산이 빠르게 수행됨과 아울러 회로구성이 간소화 된다.In addition, in the DSP according to the present invention, since the bit sorters implemented as wirings are disposed at the front and rear ends of the accumulator, fixed-point and integer operations are performed quickly, and the circuit configuration is simplified.

나아가 본 발명에 따른 DSP는 배럴쉬프터를 ALU와 병렬 접속시킴으로써 전파지연시간을 최소화 할 수 있음은 물론 연산에 필요한 클럭의 수를 작게 할 수 있다. 이에 따라, 본 발명에 따른 DSP는 연산, 스케일링 및 그를 포함한 연산을 고속으로 수행할 수 있다.Furthermore, the DSP according to the present invention can minimize the propagation delay time by connecting the barrel shifter to the ALU in parallel and can reduce the number of clocks required for the calculation. Accordingly, the DSP according to the present invention can perform calculations, scaling, and calculations including the same at high speed.

본 발명에 따른 DSP는 병렬 접속되어진 한쌍의 ALU를 이용하여 두개의 복합연산식을 병렬로 연산함으로써 다수의 복합연산식들을 고속으로 연산할 수 있다.The DSP according to the present invention can compute a plurality of complex equations at high speed by computing two complex equations in parallel using a pair of ALUs connected in parallel.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져야만 한다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (51)

N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting the N-bit data from the input means to the left by r bits; 상기 고정쉬프터로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the fixed shifter; 상기 연산수단으로부터의 상기 데이타에서 상위 N 비트만을 추출하는 추출수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And extracting means for extracting only upper N bits from said data from said calculating means. 제 1 항에 있어서,The method of claim 1, 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 우측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting the N-bit data from the input means to the right by r bits; 상기 고정쉬프터로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the fixed shifter; 상기 연산수단으로부터의 상기 데이타에서 하위 N 비트만을 추출하는 추출수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And extracting means for extracting only the lower N bits from said data from said calculating means. 제 4 항에 있어서,The method of claim 4, wherein 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트시키는 제1 고정쉬프터와,A first fixed shifter for shifting the N-bit data from the input means to the left by r bits; 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 우측으로 쉬프트시키는 제2 고정쉬프터와,A second fixed shifter for shifting the N-bit data from the input means to the right by r bits; 상기 제1 및 제2 고정쉬프터 중 어느 한쪽으로부터의 데이타를 선택하는 제1 선택수단과,First selecting means for selecting data from either one of said first and second fixed shifters; 상기 제1 선택수단으로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from said first selecting means; 상기 연산수단으로부터의 데이타에서 상위 N 비트만을 추출하는 제1 추출수단과,First extracting means for extracting only the upper N bits from the data from the computing means; 상기 연산수단으로부터의 상기 데이타에서 하위 N 비트만을 추출하는 제2 추출수단과,Second extraction means for extracting only the lower N bits from the data from the computing means; 상기 제1 및 제2 추출수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And second selection means for selecting data from either one of said first and second extraction means. 제 7 항에 있어서,The method of claim 7, wherein 상기 제1 및 제2 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the first and second fixed shifters are implemented by wiring. 제 7 항 또는 제 8 항에 있어서,The method according to claim 7 or 8, 상기 제1 및 제2 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈 신호처리기.And the first and second extraction means are implemented by wiring. N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 상기 N 보다 작은 r비트 만큼 좌측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting the N-bit data from the input means to the left by r bits smaller than N; 상기 고정쉬프터로부터의 데이타의 상위비트에 g비트히 가드비트를 부가하는 가드비트 부가수단과,Guard bit adding means for adding a g bit guard bit to an upper bit of data from said fixed shifter; 상기 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means; 상기 연산수단으로부터의 데이타중 상위의 g+1 비트로부터 N비트를 추출하는추출수단과,Extraction means for extracting N bits from an upper g + 1 bit of data from said computing means; 상기 연산수단으로부터의 데이타를 라운딩과 포화처리를 행하는 라운딩/포화처리수단과,Rounding / saturation processing means for rounding and saturating data from the computing means; 상기 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 선택수단을 구비하는 것을 특징으로 하는 디지탈선호처리기.And a selection means for selecting data from either the extraction means or the rounding / saturation processing means. 제 10 항에 있어서,The method of claim 10, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 11 항에 있어서,The method of claim 11, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 12 항에 있어서,The method of claim 12, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data in which only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from the computing means is "1" and the data from the computing means. And when the logical value of the most significant bit is " 0 ", only the most significant bit generates N bits of data having a logic value of " 0 ". 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,The method according to any one of claims 10 to 13, 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 14 항에 있어서,The method of claim 14, 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. 제 14 항에 있어서,The method of claim 14, 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the guard bit adding means is implemented by wiring. N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 상기 N 보다 작은 r비트 만큼 우측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting the N bit data from the input means to the right by r bits smaller than N; 상기 고정쉬프터로부터의 데이타의 상위비트에 g비트의 가드비트를 부가하는 가드비트 부가수단과,Guard bit adding means for adding a g bit guard bit to an upper bit of data from the fixed shifter; 상기 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means; 상기 연산수단으로부터의 데이타중 하위의 N비트를 추출하는 추출수단과,Extraction means for extracting the lower N bits of the data from the calculation means; 상기 연산수단으로부터의 데이타에 대하여 그 데이타의 상위 g+1 비트들의 논리값에 따라 라운딩과 포화처리를 행하는 라운딩/포화처리수단과,Rounding / saturating processing means for performing rounding and saturation processing on the data from said computing means according to a logic value of upper g + 1 bits of the data; 상기 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 선택수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And selection means for selecting data from either the extraction means or the rounding / saturation processing means. 제 17 항에 있어서,The method of claim 17, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 18 항에 있어서,The method of claim 18, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 19 항에 있어서,The method of claim 19, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data in which only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from the computing means is "1" and the data from the computing means. And when the logical value of the most significant bit is " 0 ", only the most significant bit generates N bits of data having a logic value of " 0 ". 제 17 항 내지 제 20 항 중 어느 한 항에 있어서,The method according to any one of claims 17 to 20, 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 21 항에 있어서,The method of claim 21, 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. 제 22 항에 있어서,The method of claim 22, 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the guard bit adding means is implemented by wiring. N 비트의 데이타를 입력하기 위한 입력수단과,Input means for inputting N bits of data, 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트시키는 제1 고정쉬프터와,A first fixed shifter for shifting the N-bit data from the input means to the left by r bits; 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 우측으로 쉬프트시키는 제2 고정쉬프터와,A second fixed shifter for shifting the N-bit data from the input means to the right by r bits; 상기 제1 및 제2 고정쉬프터 중 어느 한쪽으로부터의 데이타를 선택하는 제1선택수단과,First selecting means for selecting data from either one of said first and second fixed shifters; 상기 제1 선택수단으로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과,Guard bit adding means for adding g bits of guard bits to the upper bits of data from said first selecting means; 상기 가드비트 부가수단으로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means; 상기 연산수단으로부터의 데이타에서 하위 N 비트를 추출하는 제1 추출수단과,First extracting means for extracting a lower N bit from data from said computing means; 상기 연산수단으로부터의 상기 데이타에서 상위 g+1 번째 비트로부터 하위쪽으로 N 비트를 추출하는 제2 추출수단과,Second extracting means for extracting N bits downward from an upper g + 1 th bit in said data from said computing means; 상기 연산수단으로부터의 데이타를 라운딩과 포화처리를 행하는 라운딩/포화처리수단과,Rounding / saturation processing means for rounding and saturating data from the computing means; 상기 제1 및 제2 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And second selection means for selecting data from any one of the first and second extraction means and the rounding / saturation processing means. 제 24 항에 있어서,The method of claim 24, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 25 항에 있어서,The method of claim 25, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 26 항에 있어서,The method of claim 26, 상기 라운딩/포화처리수단은 상기 연산수단으로.부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는 최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data having a logical value of "1" when only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from to the calculating means is from the calculating means. And when the logical value of the most significant bit of the data is " 0 ", only the most significant bit generates N bits of data having a logical value of " 0 ". 제 24 항 내지 제 27 항 중 어느 한 항에 있어서,The method according to any one of claims 24 to 27, 상기 제1 및 제2 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the first and second fixed shifters are implemented by wiring. 제 28 항에 있어서,The method of claim 28, 상기 제1 및 제2 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈 신호처리기.And the first and second extraction means are implemented by wiring. 제 28 항에 있어서,The method of claim 28, 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the guard bit adding means is implemented by wiring. N 비트의 데이타를 입력하기 위한 데이타 입력수단과,Data input means for inputting N bits of data; 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting the N-bit data from the input means to the left by r bits; 상기 고정쉬프트로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과,Guard bit adding means for adding g bits of guard bits to the upper bits of the data from the fixed shift; 상기 가드비트 부가수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means and data from the feedback loop; 상기 연산수단으로부터의 데이타를 일시적으로 저장하고 상기 귀환루프와 연결된 메모리와,A memory for temporarily storing data from said computing means and connected to said feedback loop; 상기 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과,Scaling means for scaling data from the guardbit adding means; 상기 스케일링수단으로부터의 데이타와 상기 연산수단으로부터의 데이타를 선택적으로 상기 메모리쪽으로 전송하는 제1 선택수단과,First selecting means for selectively transferring data from the scaling means and data from the computing means to the memory; 상기 연산수단으로부터의 상기 데이타에서 상위 g+1 번째 비트로부터 하위쪽으로 N 비트를 추출하는 추출수단과,Extraction means for extracting N bits downward from an upper g + 1 th bit in said data from said computing means; 상기 연산수단으로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과,Rounding / saturation processing means for performing rounding and saturation processing of data from said computing means; 상기 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And second selection means for selecting data from either the extraction means or the rounding / saturation processing means. 제 31 항에 있어서,The method of claim 31, wherein 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 32 항에 있어서,The method of claim 32, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 33 항에 있어서,The method of claim 33, wherein 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는 최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data in which only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from the computing means is "1" and the data from the computing means. And when the logical value of the most significant bit of " 0 " is " 0 " 제 31 항 내지 제 34 항 중 어느 한 항에 있어서,The method according to any one of claims 31 to 34, wherein 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 35 항에 있어서,36. The method of claim 35 wherein 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. 제 35 항에 있어서,36. The method of claim 35 wherein 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the guard bit adding means is implemented by wiring. N 비트의 데이타를 입력하기 위한 데이타 입력수단과,Data input means for inputting N bits of data; 상기 입력수단으로부터의 상기 N비트 데이타즈 r 비트 만큼 우측으로 쉬프트시키는 고정쉬프터와,A fixed shifter for shifting right by the N bit data r bits from the input means; 상기 고정쉬프트로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과,Guard bit adding means for adding g bits of guard bits to the upper bits of the data from the fixed shift; 상기 가드비트 부가수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means and data from the feedback loop; 상기 연산수단으로부터의 데이타를 일시적으로 저장하고 상기 귀환루프와 연결된 메모리와,A memory for temporarily storing data from said computing means and connected to said feedback loop; 상기 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과,Scaling means for scaling data from the guardbit adding means; 상기 스케일링수단으로부터의 데이타와 상기 연산수단으로부터의 데이타를 선택적으로 상기 메모리쪽으로 전송하는 제1 선택수단과,First selecting means for selectively transferring data from the scaling means and data from the computing means to the memory; 상기 메모리로부터의 상기 데이타에서 하위의 N 비트를 추출하는 추출수단과,Extraction means for extracting a lower N bit from the data from the memory; 상기 메모리로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과,Rounding / saturating processing means for rounding and saturating data from the memory; 상기 추출수단과 상기 라운딩/포화처리수단중 어느 한쪽으로부터의 데이타를 선택하는 제2 선택수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And second selection means for selecting data from either the extraction means or the rounding / saturation processing means. 제 38 항에 있어서,The method of claim 38, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 39 항에 있어서,The method of claim 39, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 40 항에 있어서,The method of claim 40, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는 최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data in which only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from the computing means is "1" and the data from the computing means. And when the logical value of the most significant bit of " 0 " is " 0 " 제 38 항 내지 제 41 항 중 어느 한 항에 있어서,The method according to any one of claims 38 to 41, 상기 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.Digital signal processor, characterized in that the fixed shifter is implemented by a wiring. 제 42 항에 있어서,The method of claim 42, 상기 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the extraction means is implemented by wiring. 제 42 항에 있어서,The method of claim 42, 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 터지탈신호처리기.And the guard bit adding means is implemented by wiring. N 비트의 데이타를 입력하기 위한 데이타 입력수단과,Data input means for inputting N bits of data; 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 좌측으로 쉬프트시키는 제1 고정쉬프터와,A first fixed shifter for shifting the N-bit data from the input means to the left by r bits; 상기 입력수단으로부터의 상기 N비트 데이타를 r 비트 만큼 우측으로 쉬프트시키는 제2 고정쉬프터와,A second fixed shifter for shifting the N-bit data from the input means to the right by r bits; 상기 제1 및 제2 고정쉬프트중 어느 한쪽으로부터의 데이타를 선택하기 위한 제1 선택수단과,First selecting means for selecting data from either one of said first and second fixed shifts; 상기 선택수단으로부터의 데이타의 상위비트에 g비트의 가드비트들을 부가하는 가드비트 부가수단과,Guard bit adding means for adding g-bit guard bits to upper bits of data from said selecting means; 상기 가드비트 부가수단으로부터의 데이타와 귀환루프로부터의 데이타를 연산하는 연산수단과,Calculating means for calculating data from the guard bit adding means and data from the feedback loop; 상기 연산수단으로부터의 데이타를 일시적으로 저장하고 상기 귀환루프와 연결된 메모리와,A memory for temporarily storing data from said computing means and connected to said feedback loop; 상기 가드비트 부가수단으로부터의 데이타를 스케일링하기 위한 스케일링수단과,Scaling means for scaling data from the guardbit adding means; 상기 스케일링수단으로부터의 데이타와 상기 연산단으로부터의 데이타를 선택적으로 상기 메모리쪽으로 전송하는 제2 선택수단과,Second selecting means for selectively transferring data from said scaling means and data from said computing stage to said memory; 상기 메모리로부터의 상기 데이타에서 하위의 N 비트을 추출하는 제1 추출수단과,First extracting means for extracting a lower N bit from the data from the memory; 상기 메모리로부터의 상기 데이타에서 상위의 g+1 번째 비트로부터 하위쪽의 N 비트를 추출하는 제2 추출수단과,Second extraction means for extracting a lower N bit from an upper g + 1 th bit in the data from the memory; 상기 메모리로부터의 데이타를 라운딩과 포화처리를 수행하는 라운딩/포화처리수단과,Rounding / saturating processing means for rounding and saturating data from the memory; 상기 제1 및 제2 추출수단과 상기 라운딩/포화치리수단중 어느 한쪽으로부터의 데이타를 선택하는 제3 선텍수단을 구비하는 것을 특징으로 하는 디지탈신호처리기.And third selecting means for selecting data from any one of said first and second extracting means and said rounding / saturation processing means. 제 45 항에 있어서,The method of claim 45, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타에 대하여 상기 라운딩처리, 상기 포화처리, 및 이들의 병합처리를 선택적으로 수행하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means selectively performs said rounding processing, said saturation processing, and a merging processing thereof on data from said computing means. 제 46 항에 있어서,The method of claim 46, 상기 라운딩/포화처리 수단은 포화처리시에 상기 연산수단으로부터의 데이타의 상위 g+1 비트들의 논리값에 따라 상기 데이타를 다르게 처리하는 것을 특징으로 하는 디지탈신호처리기.And said rounding / saturation processing means processes said data differently according to a logic value of upper g + 1 bits of data from said computing means during saturation processing. 제 47 항에 있어서,The method of claim 47, 상기 라운딩/포화처리수단은 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "1"일 때 최상위비트만이 "1"의 논리값을 가지는 N비트의 데이타를 발생하고 상기 연산수단으로부터의 데이타의 최상위 비트의 논리값이 "0"일 때에는최상위비트만이 "0"의 논리값을 가지는 N비트의 데이타를 발생하는 것을 특징으로 하는 디지탈신호처리기.The rounding / saturation processing means generates N bits of data in which only the most significant bit has a logic value of "1" when the logical value of the most significant bit of the data from the computing means is "1" and the data from the computing means. And when the logical value of the most significant bit is " 0 ", only the most significant bit generates N bits of data having a logic value of " 0 ". 제 45 항 내지 제 48 항 중 어느 한 항에 있어서,49. The method of any of claims 45-48, 상기 제1 및 제2 고정쉬프터가 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the first and second fixed shifters are implemented by wiring. 제 49 항에 있어서,The method of claim 49, 상기 제1 및 제2 추출수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈 신호처리기.And the first and second extraction means are implemented by wiring. 제 49 항에 있어서,The method of claim 49, 상기 가드비트 부가수단이 배선에 의해 구현된 것을 특징으로 하는 디지탈신호처리기.And the guard bit adding means is implemented by wiring.
KR1019970045342A 1997-08-30 1997-08-30 Digital signal processor KR100315303B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1019970045342A KR100315303B1 (en) 1997-08-30 1997-08-30 Digital signal processor
US09/143,351 US6209017B1 (en) 1997-08-30 1998-08-28 High speed digital signal processor
GB9818919A GB2330226B (en) 1997-08-30 1998-08-28 Digital signal processor
GB0007909A GB2345562B (en) 1997-08-30 1998-08-28 Digital signal processor
GB0007912A GB2345563B (en) 1997-08-30 1998-08-28 Digital signal processor
DE19839627A DE19839627B4 (en) 1997-08-30 1998-08-31 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970045342A KR100315303B1 (en) 1997-08-30 1997-08-30 Digital signal processor

Publications (2)

Publication Number Publication Date
KR19990021768A KR19990021768A (en) 1999-03-25
KR100315303B1 true KR100315303B1 (en) 2002-04-06

Family

ID=37531562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045342A KR100315303B1 (en) 1997-08-30 1997-08-30 Digital signal processor

Country Status (1)

Country Link
KR (1) KR100315303B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644039B1 (en) * 2015-06-11 2016-07-29 에스케이텔레콤 주식회사 Method for operating of fixed point and apparatus therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434502B1 (en) * 2002-05-07 2004-06-05 삼성전자주식회사 Data extraction/insertion method for digital signal processor and device thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644039B1 (en) * 2015-06-11 2016-07-29 에스케이텔레콤 주식회사 Method for operating of fixed point and apparatus therefor

Also Published As

Publication number Publication date
KR19990021768A (en) 1999-03-25

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US6209017B1 (en) High speed digital signal processor
KR100291383B1 (en) Module calculation device and method supporting command for processing digital signal
US4075704A (en) Floating point data processor for high speech operation
US4179734A (en) Floating point data processor having fast access memory means
US5583804A (en) Data processing using multiply-accumulate instructions
US20030041082A1 (en) Floating point multiplier/accumulator with reduced latency and method thereof
EP1049025B1 (en) Method and apparatus for arithmetic operations
JPH1195981A (en) Multiplication circuit
JPH07210369A (en) Circuit and method for execution of parallel addition and average operation
KR19990013698A (en) Calculation method and device
US9372665B2 (en) Method and apparatus for multiplying binary operands
US10255041B2 (en) Unified multiply unit
EP0478745A1 (en) High performance interlock collapsing scism alu apparatus
US6446193B1 (en) Method and apparatus for single cycle processing of data associated with separate accumulators in a dual multiply-accumulate architecture
KR100254915B1 (en) Two-bit booth multiplier with reduced data path width
KR100315303B1 (en) Digital signal processor
KR100251547B1 (en) Digital signal processor
GB2396708A (en) Arithmetic logic unit with feedback to a first adder via registers and output via a second adder.
KR100246472B1 (en) Digital signal processor
KR100297544B1 (en) Digital signal processor
KR100251546B1 (en) Digital signal processor
JP3579087B2 (en) Arithmetic unit and microprocessor
EP0534760A2 (en) High speed multiplier device
US6182105B1 (en) Multiple-operand addition with intermediate saturation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20000729

Effective date: 20010928

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee