KR940008617B1 - Method and apparatus for efficient resource allocation for error and exception handling in convergent division - Google Patents

Method and apparatus for efficient resource allocation for error and exception handling in convergent division Download PDF

Info

Publication number
KR940008617B1
KR940008617B1 KR1019910701004A KR910701004A KR940008617B1 KR 940008617 B1 KR940008617 B1 KR 940008617B1 KR 1019910701004 A KR1019910701004 A KR 1019910701004A KR 910701004 A KR910701004 A KR 910701004A KR 940008617 B1 KR940008617 B1 KR 940008617B1
Authority
KR
South Korea
Prior art keywords
value
input
input value
seed
convergence
Prior art date
Application number
KR1019910701004A
Other languages
Korean (ko)
Other versions
KR920701904A (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 모토로라 인코포레이티드
Publication of KR920701904A publication Critical patent/KR920701904A/en
Application granted granted Critical
Publication of KR940008617B1 publication Critical patent/KR940008617B1/en

Links

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/52Multiplying; Dividing
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing
    • 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/49905Exception handling
    • 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/49905Exception handling
    • G06F7/49926Division by zero

Abstract

내용 없음.No content.

Description

[발명의 명칭][Name of invention]

수렴성 디비젼에서 에러 및 예외 보정을 위한 자원 할당 방법 및 장치Resource Allocation Method and Device for Error and Exception Correction in Convergence Division

[도면의 간단한 설명][Brief Description of Drawings]

제1도는 종래 기술에 따른 부동 소숫점 디비젼 알고리즘의 구현을 표시하는 일반적인 플로우챠트.1 is a general flow diagram illustrating the implementation of a floating point division algorithm according to the prior art.

제2도는 시드값과 수정된 입력값이 병렬로 지정되는 본 발명의 플로우챠트.2 is a flowchart of the present invention in which seed values and modified input values are specified in parallel.

제3도는 시드값 및 수정된 입력값이 직렬로 지정되는 본 발명의 플로우챠트.3 is a flowchart of the present invention in which a seed value and a modified input value are specified in series.

제4도는 본 발명의 컴퓨터 하드웨어 구현의 블럭 다이어그램.4 is a block diagram of a computer hardware implementation of the present invention.

제5도는 종래 기술에 따라 예외 보정없이 달성된 에러 매트릭스에 따른 테이블.5 is a table according to the error matrix achieved without exception correction according to the prior art.

제6도는 예외 보정을 위해 본 발명의 적용에 따른 테이블.6 is a table according to the application of the present invention for exception correction.

제7도는 본 발명에 따라 주어진 입력 젯수에 대한 출력시트 및 보정된 젯수를 도시하는 테이블.7 is a table showing the output sheet and the corrected number of jets for a given number of input jets in accordance with the present invention.

[발명의 상세한 설명]Detailed description of the invention

[발명의 배경][Background of invention]

수렴성 디비젼 알고리즘을 통해 부동 소숫점 연산을 사용하는 컴퓨터 프로그램을 구비하는 디지탈 신호 프로세서 같은 디지탈 컴퓨터에서 모든 입력을 정확하게 처리할 필요가 있다. 일반적으로, 임의의 오퍼랜드 조합은 다음과 같다. (a) 단순히 처리되지 않는다. (b) 소프트웨어에 의해 이행되는 큰 결정 트리를 요구한다. (c) 하드웨어에의해 이행되는 여러 전처리(preprocessing) 싸이클을 요구한다.Convergence division algorithms require accurate processing of all inputs in a digital computer such as a digital signal processor with a computer program using floating point arithmetic. In general, any operand combination is as follows. (a) It is not simply processed. (b) requires a large decision tree to be implemented by the software. (c) require multiple preprocessing cycles to be implemented by the hardware.

디비젼 계산이 전부 건너뛸 때(105, 108)같은, 즉, 모든 입력이 처리되지 않을 때, 디지탈 신호 프로세서는 유효한 부가적인 시간 소비를 요구하며 또 다른 처리를 위해 처리 프로그램을 재배열하는 조정을 요구할 수도 있다. 소프트웨어 프로그램이 에러-기인 오퍼랜드 조합(106)에 출력을 제공하는 결정 트리를 처리하도록 사용된다면 다시 유효한 부가적인 시간이 소비된다. 과도한 시간 소비를 방지하기 위해 에러-기인 오퍼랜드 조합을 전처리하는 하드웨어 구현(implementation)은 실질적인 자원을 요구한다. 그러므로, 에러-기인 오퍼랜드 조합을 처리하는데 발생하는 문제점을 해결하는 종래의 방법은 유효한 시간 소비 또는 실질적인 자원 할당을 포함한다.When the division calculations are skipped altogether (105, 108), i.e. when all the inputs are not processed, the digital signal processor will require effective additional time consumption and may require adjustments to rearrange the processing program for further processing. It may be. If a software program is used to process the decision tree that provides output to the error-causing operand combination 106, then additional time is available that is valid. Hardware implementations that preprocess the error-cause operand combination to require excessive time consumption require substantial resources. Therefore, conventional methods of solving the problems that occur in handling error-caused operand combinations include effective time consumption or substantial resource allocation.

데이터 조정시, 컴퓨터 프로그램은 각 단계에서 가장 큰 시간 소비 사건(enent)을 수용하도록 디자인된다. 그러므로 하드웨어 해결을 사용하지 않은 상기 기술된 해결책은 각 연산 동작 동안 가장 큰 처리 시간 요구를 수용하도록 컴퓨터 프로그램내에서 길이 세분화 시간 할당을 필요로 한다. 그러므로, 디지탈 플랫폼에서 수렴성 디비젼 알고리즘의 효과적인 보존 시간 및 자원을 달성하기 위한 실용적인 방법과 장치가 필요하다.In adjusting data, the computer program is designed to accommodate the largest time consuming event at each stage. Therefore, the above-described solution without using a hardware solution requires length segmentation time allocation within the computer program to accommodate the largest processing time requirements during each computational operation. Therefore, there is a need for a practical method and apparatus for achieving effective retention time and resources of a convergent division algorithm in a digital platform.

[발명의 요약][Summary of invention]

본 발명에 있어서, 데이터 입력과 함께 효과적인 자원 할당은, 수렴성 디비젼 알고리즘을 통해 데이터 입력을 수정 및 전달하는 기억된 컴퓨터 프로그램을 갖는 컴퓨터 프로그램 기억 매체를 사용하는 디지탈 신호 프로세서 같은 디지탈 컴퓨터에서 계속적이고 정확하고 효과적인 방법으로 모든 데이터 입력의 처리를 허용한다.In the present invention, effective resource allocation with data input is continuous and accurate in a digital computer such as a digital signal processor using a computer program storage medium having a stored computer program that modifies and forwards data input through a convergent division algorithm. Allows for efficient processing of all data inputs.

특히, 한 실시예에서, 젯수(divisor) 입력은 젯수 입력의 예정된 목록에 따른 시드값에 지정되며, 수렴성 디비젼 알고리즘을 통해 효과적인 전달한 적합한 젯수 값을 표시하도록 수정된다. 수렴성 디비젼 알고리즘의 구현을 위해 두 개의 실행 가능한 값의 선택은 효과적이 계산을 위해 사용가능한 예비 결정이다.In particular, in one embodiment, the divisor input is assigned to a seed value according to a predetermined list of jet number inputs, and is modified to indicate a suitable jet number value that is effectively passed through a convergence division algorithm. The choice of two viable values for the implementation of a convergent division algorithm is a preliminary decision available for effective computation.

본 발명에 있어서, 시드값 및 수정된 젯수값이 주의깊은 선택에 의해 모든 입력에 대한 수렴성 디비젼 알고리즘의 해결책은 과거보다 더 짧은 시간동안 계산을하여 신호 처리의 코스트-효과를 개선시킨다.In the present invention, the solution of the convergence division algorithm for all inputs by careful selection of the seed value and the modified jet number value improves the cost-effectiveness of signal processing by performing calculations for a shorter time than in the past.

본 발명을 실행하는 베스트 모드Best Mode for Implementing the Invention

제1도는 참조 번호(100)으로 도시된 바와 같이 종래 기술에 따라 부동-소숫점 디비젼의 구현을 나타내는 도시도이다.1 is an illustration showing an implementation of a floating-point division according to the prior art as shown by reference numeral 100.

종래 기술에 따라서, 프로그래밍 모델은 부동-소숫점 기호 형태로 표시된 두 개의 기호 N 및 D(102)를 사용하는 디비젼 모드를 제공할 수 있다. 상기 프로그램은 젯수 D가 제로인지 아닌지를 결정한다(104). 젯수 D가 제로라면(104), 프로그램은 디비져니 계속 수행하거나(106) 또는 디비젼 전부가 스깊하도록 젯수 대신에 매우 작은 기호를 사용한다. 프로그램은 젯수가 무한대이지 아닌지를 결정한다(108). 젯수가 무한대라면(108), 프로그램은 디비젼이 계속 수행되거나(106) 또는 디비젼 전부가 스깊하도록 매우 큰 기호를 사용할 수 있다. 제로에 의한 디비젼 및 무한대에 의한 디비젼의 검색에 따라, 프로그램은 종래 기술에 따른 디비젼 알고리즘(110)을 수행한다. 프로그램은 필요한 정밀도에 도달되었는지 아닌지를 검색한다(112). 불충분한 정밀도가 도달되면, 프로그램은 필요한 정밀도가 달성되어 중지될때까지(112) 디비젼 알고리즘 계산을 반복한다. 필요한 정밀도가 벌써 달성되었다면(112) 프로그램은 중지한다.According to the prior art, the programming model may provide a division mode using two symbols N and D 102 represented in the form of floating-point symbols. The program determines 104 whether the jet number D is zero or not. If the jet number D is zero (104), the program continues to perform division 106 or uses very small symbols instead of the jet number to deepen the whole division. The program determines whether the jets are infinite (108). If the number of jets is infinite (108), the program may use very large symbols to keep the division running (106) or to deepen the whole division. In accordance with the division by zero and the division by infinity, the program performs the division algorithm 110 according to the prior art. The program retrieves 112 whether the required precision has been reached. If insufficient precision is reached, the program repeats the division algorithm calculation until the required precision has been achieved and stopped (112). If the required precision has already been achieved (112), the program stops.

제2도는 본 발명을 포함하는 프로그래밍 모델에 의해 수행되는 단계를 도시하며, 여기서, 시드 S 및 수정된 입력값 D의 맵핑 구현은 참조번호(200)으로 도시된 바와 같이 병렬로 발생한다. 첫째로 프로그램은 디비젼 알고리즘 계산(202)을 위해 제1값에 연관된 제2값 N과 입력값 D를 얻는다(202). 프로그램은 젯수로 이행되는(104) 입력값 D가 플러스 또는 마이너스 제로인지 검색한다. 젯수 D가 플러스 또는 마이너스 제로라면, 시드 S는 D와 동일한 대응하는 무한값으로 지정되며, 젯수로 이행되는 수정된 입력값 D은 시드 S와 반대인 비-제로값으로 지정되며(208) -S는 작업가능한 값이다. 젯수 D가 플러스 또는 마이너스 제로가 아니라면, 프로그램은 젯수로 이행되는 입력값 D가 플러스 또는 마이너스 무한대인지 검색한다(108).2 shows the steps performed by a programming model incorporating the present invention, wherein the mapping implementation of the seed S and the modified input value D occurs in parallel as shown by reference numeral 200. First, the program obtains a second value N and an input value D associated with the first value for division algorithm calculation 202 (202). The program searches whether the input value D shifted to jet number 104 is plus or minus zero. If the jet number D is positive or negative zero, the seed S is assigned a corresponding infinite value equal to D, and the modified input value D, which transitions to the jet number, is assigned a non-zero value opposite to the seed S (208) -S Is a workable value. If the jet number D is not positive or negative zero, the program retrieves 108 whether the input value D transitioning to the jet number is positive or negative infinity.

젯수 D가 플러스 또는 마이너스 무한대라면 시드 S는 대응 플러스 또는 마이너스 제로로 설정되며, 젯수로 이행되는 수정된 입력값 D은 비-무한대 수로 설정되며(210), S는 작업가능한 값이다. 젯수 D가 플러스 또는 마이너스 무한대라면, 젯수 D는 IEEE 754-1985 표준에 따라 플러스 또는 마이너스로 정상화 또는 비정상화될 수도 있다. 젯수 D가 플러스 또는 마이너스 무한대가 아니라면, 시드 S는 플러스 또는 마이너스 1/D로 설정되며 젯수 D는 동일하다(212). 제로(104)에 의한 디비젼 및 무한대에 의한 디비젼 검색은 필요하다면 적절한 순서로 달성될 수도 있다. 상기 실시예에서, 모든 연산 동작, 덧셈, 감산 및 곱셈은 이진부동 소숫점 연산의 IEEE 754-1985 표준에 따른다.If the jet number D is plus or minus infinity, the seed S is set to the corresponding plus or minus zero, and the modified input value D, which transitions to the jet number, is set to a non-infinity number and S is a workable value. If the jet number D is positive or negative infinity, the jet number D may be normalized or unnormalized to plus or minus in accordance with the IEEE 754-1985 standard. If the jet number D is not plus or minus infinity, the seed S is set to plus or minus 1 / D and the jet number D is the same (212). Division by zero 104 and division search by infinity may be accomplished in the proper order, if necessary. In this embodiment, all computational operations, additions, subtractions, and multiplications are in accordance with the IEEE 754-1985 standard for binary floating point operations.

수정된 또는 비변환된 제2값 N 및 젯수 D는 시드값 S(214)에 의해 각각 사전 곱셈되어 분자 및 분모를 발생한다. 수렴성 기능값 f1은 값 2.0으로부터 분모를 감산함으로써 얻어진다. 프로그램은 수렴성 기능값 f1에 의해 분자 및 분모를 곱하여 각각 다음 분자 및 다음 분모를 갖는 몫을 얻는다(110). 다음 분모는 2.0으로부터 감산되어 다음 수렴성 기능값 f2을 발생한다. 다음 분자 N 및 다음 분모 D를 갖는 몫과 연속적인 수렴성 기능값 f의 반복적인 결정은 다음 분자 N이 충분한 정밀도를 얻어(110, 112) 프로세스가 중지될때까지 계속한다. 수렴성 디비젼 알고리즘은,The modified or unconverted second value N and the jet number D are premultiplied by the seed value S 214 to generate the numerator and denominator, respectively. The convergence function value f1 is obtained by subtracting the denominator from the value 2.0. The program multiplies the numerator and denominator by the convergence function value f1 to obtain a quotient with the next numerator and the next denominator, respectively (110). The next denominator is subtracted from 2.0 to produce the next convergent function value f2. The iterative determination of the quotient with the next molecule N and the next denominator D and the continuous convergence function value f continues until the next molecule N has obtained sufficient precision (110, 112) and the process is stopped. The convergence division algorithm is

본 발명에 사용된다. 수렴성 인수 f는 값 2.0으로부터 수정된 젯수 D를 감산함으로써 얻어진다.Used in the present invention. The convergence factor f is obtained by subtracting the modified jet number D from the value 2.0.

시드 S는 D*S가 2.0보다 적도록 하기 위한 값을 가져야 한다.Seed S must have a value such that D * S is less than 2.0.

제3도는 본 발명을 포함하는 프로그래밍 모델에 의해 수행되는 단계를 도시하며, 여기서 시드 S 및 수정된 입력값 D의 맵핑 구현은 참조번호(300)으로 도시된 바와 같이 직렬로 발생한다.3 illustrates the steps performed by a programming model incorporating the present invention, wherein the mapping implementation of seed S and modified input value D occurs in series, as shown by reference numeral 300.

첫째로, 프로그램은 디비젼 알고리즘 계산을 위해 제1값에 연관된 제2값 N와 입력값 D를 얻는다. 프로그램은 젯수로 이행되는 입력값 D가 플러스 또는 마이너스 제로인지 검색한다. 젯수 D가 플러스 또는 마이너스 제로라면, 시드 S는 대응 플러스 마이너스 무한대 값으로 지정된다(308). 젯수 D가 플러스 또는 마이너스 제로라면(104), 프로그램은 젯수 D가 플러스 또는 마이너스 무한대인지 검색한다. 젯수 D가 플러스 또는 마이너스 무한대라면(108), 시드는 대응 플러스 또는 마이너스 제로로 설정된다. 젯수 D가 플러스 또는 마이너스 무한대가 아니라면(108), 대응 시드 S는 플러스 또는 마이너스 1/D에 인접하게 설정된다(312), 제로에 의한 디비젼(104) 및 무한대에 의한 디비젼(108) 검색은 필요하다면 적절한 순서로 달성될수도 있다.First, the program obtains a second value N and an input value D associated with the first value for division algorithm calculation. The program detects whether the input value D shifted to the jet number is plus or minus zero. If the jet number D is plus or minus zero, the seed S is designated 308 with a corresponding plus minus infinity value. If the jet number D is positive or negative zero (104), the program searches if the jet number D is positive or negative infinity. If the jet number D is plus or minus infinity (108), the seed is set to the corresponding plus or minus zero. If the jet number D is not plus or minus infinity (108), the corresponding seed S is set adjacent to plus or minus 1 / D (312), division 104 by zero and division 108 by infinity are required. If so, they may be achieved in the proper order.

프로그램은 시드값 S에 플러스 또는 마이너스 제로인지 검색한다. 시드값 S가 플러스 또는 마이너스 제로라면, 또는 S가 D에 직접 연관되고 젯수 D가 플러스 또는 마이너스 무한대와 동등한다면 젯수로 이행되는 수정된 입력값 D은 비-무한대 기호로 지정되며(318), S는 작업가능한 값이다. 시드값 S가 플러스 또는 마이너스 제로가 아니라면(314), 프로그램은 시드값 S가 플러스 또는 마이너스 무한대인지 검색한다(316). 시드값 S가 플러스 또는 마이너스 무한대라면, 선택적으로 S가 D에 직접 연관되고 젯수 D가 플러스 또는 마이너스 제로와 동등하다면(316), 젯수로 이행되는 수정된 입력값 D은 S의 반대 부호를 갖는 비-제로 값으로 지정되며 -S는 작업가능한 값이다. 시드값 S가 플러스 또는 마이너스 무한대가 아니라면(316), 디비젼 값은 동등한 상태를 유지한다.The program searches for seed value S whether it is plus or minus zero. If the seed value S is plus or minus zero, or if S is directly associated with D and the jet number D is equal to plus or minus infinity, then the modified input value D, which transitions to the jet number, is designated by a non-infinity symbol (318). Is a workable value. If the seed value S is not positive or negative zero (314), the program searches (316) if the seed value S is positive or negative infinity. If the seed value S is plus or minus infinity, then optionally if S is directly associated with D and the jet number D is equal to plus or minus zero (316), then the modified input value D, which is shifted to the jet number, has a non-signal sign of S. It is assigned a value of zero and -S is a workable value. If the seed value S is not positive or negative infinity (316), then the division value remains equivalent.

그때, 상기 기술된 바와 같은 상기 처리는 만족할 만한 몫이 얻어질때까지 계속한다(218).The process as described above then continues (218) until a satisfactory share is obtained.

제4도는 참조번호(400)으로 도시된 바와 같이 본 발명의 하드웨어 구현을 도시한다. 본 발명의 구현을 위한 컴퓨터 프로그램은 프로그램 메모리(404), 또는 다른 메모리(412)에 기억되며, 또는 ALU(406) 하드웨어에서 사용될 수도 있다. 한 실시예에서, 프로그램 제어 유니트(402)는 본 발명을 구현시키기 위해 프로그램을 선택하는 버스(410)를 사용하며, 상태 레지스터(408)는 제로 또는 무한대에 의한 디비젼이 발생하는지 아닌지를 결정한다. ALU(406)는 상기 기술된 바와 같이 수렴성 디비젼 알고리즘의 적용에 따라 앞에서 기술된 조작을 수행한다. 한 실시예에서 ALU(406)는 8바이너리 비트 메모리에 기억되는 가수를 갖는 초기 시드 S를 발생한다. 가수의 바이너리 기억을 위한 8비트는 대략 8비트로 제1디비젼 반복의 정밀성을 제한한다. 수렴성 디비젼의 각 반복은 비트의 수를 정밀성을 두배로 한다. IEEE 754-1985 단일정도 표준이 사용된다면, 두 반복은 필요한 24비트로 라운드되는 32비트(8*2*2=32)를 얻는데 필요하다.4 illustrates a hardware implementation of the present invention as shown by reference numeral 400. Computer programs for the implementation of the present invention may be stored in program memory 404, or other memory 412, or may be used in ALU 406 hardware. In one embodiment, program control unit 402 uses bus 410 to select a program to implement the present invention, and status register 408 determines whether division by zero or infinity occurs. The ALU 406 performs the manipulations described above in accordance with the application of the convergence division algorithm as described above. In one embodiment, ALU 406 generates an initial seed S with a mantissa stored in an 8 binary bit memory. Eight bits for mantissa binary storage are approximately eight bits, limiting the precision of the first division iteration. Each iteration of the convergence division doubles the precision of the number of bits. If the IEEE 754-1985 single precision standard is used, two iterations are needed to get 32 bits (8 * 2 * 2 = 32) rounded to the required 24 bits.

제5도는 예외 보정없이 달성된 에러 매트릭스의 도시도이다. 상기 종래 기술에 따른 구현은 모든 오퍼랜드가 종래 기술에 따른 구현은 모든 오퍼랜드가 임의의 오퍼랜드 검색없이도 2차 수렴성 알고리즘을 통해 전달하도록 한다. 제로에 의한 디비젼 또는 무한대에 의한 디비젼은 IEEE 754-1985 부동 소숫점 표준과 일치하지 않는 결과 NaN를 초래한다.5 is a diagram of an error matrix achieved without exception correction. The prior art implementation allows all operands to pass through the second convergence algorithm without any operand search. Division by zero or division by infinity results in NaN, which is inconsistent with the IEEE 754-1985 floating point standard.

제6도는 예외 보정을 위한 본 발명의 적용을 도시한다. 오퍼랜드는 본 발명에 따라 수정되며, 수정된 오퍼랜드는 IEEE-754-1985 연산을 사용하며, 몫 및 예외 결과를 출력하며, 제로 사인을 포함하는 2차 수렴성 디비젼 알고리즘을 통해 전달되며, IEEE 754-1985 부동 소숫점 표준에 따라 시작한다.6 shows the application of the present invention for exception correction. Operands are modified in accordance with the present invention, the modified operands use IEEE-754-1985 operations, output quotient and exception results, are passed through a second convergent division algorithm containing zero sine, and IEEE 754-1985. Start with a floating point standard.

제7도는 본 발명에 따른 주어진 입력 젯수의 출력 시드 및 보정된 젯수를 도시한다.Figure 7 shows the output seed and corrected jet number of a given input jet number in accordance with the present invention.

Claims (11)

디지탈 신호 프로세서에 의해 수행되는 기억된 컴퓨터 프로그램을 갖는 컴퓨터 프로그램 기억 매체를 구비하는 신호 처리 프로세서에 있어서, 상기 프로그램은, A) 입력값에 대한 시드값을 결정하는 수단과, B) 수정된 입력값을 제공하기 위해 입력값을 전처리 및 수정하는 수단과, C) 시드값, 제1값에 비례한 제2값, 및 수렴성 디비젼 알고리즘을 통해 수정된 입력값을 기억 및 조정하며 거기에 연관된 수렴성 기능 값을 결정하는 수단을 구비하는 디지탈 신호 프로세서.A signal processing processor having a computer program storage medium having a stored computer program executed by a digital signal processor, the program comprising: A) means for determining a seed value for an input value, and B) a modified input value Means for preprocessing and modifying the input value to provide C, and seeding, a second value proportional to the first value, and a converged function value associated with the modified input value through the convergence division algorithm; And a means for determining the number of digital signals. 제1항에 있어서, 컴퓨터 프로그램 기억 매체는 수행될 다른 하드웨어 프로그램에 요구를 전달하는 프로그램의 기억된 비젼을 구비하는 디지탈 신호 프로세서.2. The digital signal processor of claim 1, wherein the computer program storage medium includes a stored vision of a program that communicates a request to another hardware program to be executed. 제1항에 있어서, 컴퓨터 프로그램 기억 매체는 기억 수단 자체가 프로그램을 수행할 수 있도록 프로그램의 고정된 하드웨어 실시예를 구비하는 디지탈 신호 프로세서.The digital signal processor as claimed in claim 1, wherein the computer program storage medium has a fixed hardware embodiment of the program such that the storage means itself can execute the program. 제1항에 있어서, 필요한 정밀도가 얻어질때까지 단계(C)에서 수렴성 디비젼 알고리즘 및 수렴성 기능 결정을 반복하는 수단을 포함하는 디지탈 신호 프로세서.2. The digital signal processor of claim 1, comprising means for repeating convergent division algorithms and convergent function decisions in step (C) until the required precision is obtained. 제1항에 있어서, 입력값에 대한 시드값을 결정하는 수단은 ∼∞의 입력값에 대한 -0.0의 시드값 ; +∞의 입력값에 대한 +0.0의 시드값 ; -0.0의 입력값에 대한-∞의 시드값 ; +0.0의 입력값에 대한 +∞의 시드값 ; 정극성 비정상화 또는 정상화딘 수의 입력값에 대한 "1/(사인된 수)의 시드값 ; 부극성 비정상화 또는 정상화된 수의 입력값에 대한 "1/(사인된 수)의 시드값을 출력하는 디지탈 신호 프로세서.The method of claim 1, wherein the means for determining a seed value for the input value comprises: a seed value of −0.0 for an input value of ∞; A seed value of +0.0 for an input value of + ∞; A seed value of -∞ for an input value of -0.0; A seed value of + ∞ for an input value of +0.0; For input values of positive or negative normalization, Seed value of 1 / (signed number); For negative negative or normalized numbers of inputs, A digital signal processor that outputs a seed value of 1 / (signed number). 제1항에 있어서, 수정된 입력값을 제공하도록 입력값을 전처리 및 수정하는 수단은 입력값의 ±0.0의 시드값에 대한 수정된 입력값의 비-무한대 값 ; ±"1(수)의 시드값에 대한 수정된 입력값의 ± 그 자체수 ; ±∞의 시드값에 대한 수정된 입력값의 시드값에 반대인 부호를 갖는 비-제로값을 출력하는 디지탈 신호 프로세서.The method of claim 1, wherein the means for preprocessing and modifying the input value to provide a modified input value comprises: a non-infinity value of the modified input value for a seed value of ± 0.0 of the input value; ± " ± its own number of modified inputs for a seed of 1 (number); A digital signal processor for outputting a non-zero value with a sign opposite to the seed value of the modified input value for a seed value of ± ∞. 제1항에 있어서, 시드값, 입력값, 수렴성 디비젼 알고리즘을 통해 제1입력값에 연관된 제2값을 조정하며, 거기에 연관된 수렴성 기능을 결정하는 수단은 ; (A) 분모를 얻기 위해 시드값 및 수정된 입력값을 결정하는 수단과 ; (B) 분자를 얻기 위해 제1입력값에 연관된 제2값과 시드값을 결정하는 수단과, C) 수렴성 기능값을 얻기 위해 2.0으로부터 단계(A)에서 얻어진 분모를 감산하는 수단과, D) 다음 분자 및 다음 분모를 갖는 몫을 결정하기 위해 연관된 분자, 분모 및 수렴성 기능값을 사용하는 수단을 구비하는 디지탈 신호 프로세서.The apparatus of claim 1, further comprising: means for adjusting a second value associated with the first input value via a seed value, an input value, a convergence division algorithm, and determining a convergence function associated therewith; (A) means for determining seed values and modified input values to obtain a denominator; (B) means for determining a second and seed value associated with the first input value to obtain a molecule, C) means for subtracting the denominator obtained in step (A) from 2.0 to obtain a convergent function value, and D) And a means for using the associated numerator, denominator and convergent function values to determine the quotient with the next numerator and the next denominator. 제1항에 있어서, 시드값, 입력값, 수렴성 디비젼 알고리즘을 통해 제1입력값에 연관된 제1값에 연관된 제2값을 조정하며, 거기에 연관된 수렴성 기능을 결정하는 수단은, 예정된 정밀도가 얻어질때까지 단계(C)에서 수렴성 디비젼 알고리즘 및 수렴성 기능값 결정을 반복하는 수단을 포함하며, 상기 반복 수단은, (A) 분모를 얻기 위해 시드값 및 수정된 입력값을 결정하는 수단과 ; B) 분자를 얻기 위해 제1입력값에 연관된 제2값과 시드값을 결정하는 수단과, C) 수렴성 기능값을 얻기 위해 2.0으로부터 단계(A)에서 얻어진 분모를 감산하는 수단과, D) 다음 분자 및 다음 분모를 갖는 몫을 결정하기 위해 연관된 분자, 분모 및 수렴성 기능값을 사용하는 수단과, E) 다음 수렴성 기능값을 얻기 위하여 2.0으로부터 단계(D)에서 얻어진 다음 분모를 감산하는 수단과, F) 필요한 몫의 분자가 예정된 정밀도를 갖기까지 단계(D) 내지 (E)가 반복하는 수단을 구비하는 디지탈 신호 프로세서.The method of claim 1, wherein the means for adjusting the second value associated with the first value associated with the first input value via a seed value, input value, a convergence division algorithm, and determining a convergence function associated therewith, wherein the predetermined precision is obtained. Means for repeating a convergence division algorithm and convergent function value determination in step (C) until it is lost, said repeating means comprising: (A) means for determining a seed value and a modified input value to obtain a denominator; B) means for determining a second and seed value associated with the first input value to obtain a molecule, C) means for subtracting the denominator obtained in step (A) from 2.0 to obtain a convergent function value, and D) next Means for using the associated numerator, denominator and convergent function values to determine the quotient with the numerator and the next denominator, E) means for subtracting the next denominator obtained in step (D) from 2.0 to obtain the next convergent function value, F) A digital signal processor comprising means for repeating steps (D) to (E) until the required share of molecules has a predetermined precision. 디비젼에서 에러 검색 및 예외 보정의 처리를 신속히 하기 위하여 컴퓨터 기억 매체내에 기억된 컴퓨터 프로그램의 데이터 기억 수단 및 데이터 조정 수단을 할당하는 방법에 있어서, A) 입력값을 기억하기 위해 하나 이상의 데이터 입력 디바이스를 할당하는 단계와, B) 제1입력값에 관계된 제2입력값을 기억하기 위해 하나 이상의 데이터 입력 디바이스를 할당하는 단계와, C) 하나 이상의 데이터 조정 및 기억 디바이스를 할당하여 입력값에 연결된 시드값을 할당 및 기억하는 단계와, D) 입력값을 수정하기 위해 하나 이상의 데이터 조정 및 기억 디바이스를 할당하여 수정된 입력값을 기억하는 단계와, E) 시드값, 수정된 입력값, 및 수렴성 디비젼 알고리즘을 통해 제1입력값에 연관된 제2값을 조정하기 위해 하나 이상의 데이터 조정 및 기억 디바이스를 할당하며, 예정된 정밀도가 얻어질때까지 수렴 디비젼 알고리즘의 반복과 수렴성 기능값의 결정에 따라 거기에 연관된 수렴성 기능값을 결정하며, 예외 보정 및 에러 보정 조정의 최적한 시간 및 자원 보존 처리에 따라서 상기 입력 디바이스, 데이터 기억 디바이스 및 데이터 조정 디바이스를 할당하는 단계를 구비하는 컴퓨터 프로그램 할당 방법.A method for allocating data storage means and data adjusting means of a computer program stored in a computer storage medium to expedite the process of error retrieval and exception correction in divisions, the method comprising: A) at least one data input device for storing input values; Allocating one or more data input devices to store a second input value related to the first input value, and C) allocating one or more data adjustment and storage devices to seed values coupled to the input values. (E) assigning and storing the modified input values by assigning one or more data adjustment and storage devices to modify the input values, and (e) seeding, modified input values, and convergent division algorithms. One or more data adjustment and storage devices to adjust a second value associated with the first input value via Assigning and determining the convergence function value associated therewith according to the iteration of the convergence division algorithm and determination of the convergence function value until a predetermined precision is obtained, and the input according to the optimal time and resource conservation processing of exception correction and error correction adjustment. And allocating a device, a data storage device, and a data adjustment device. 에러 검색 및 예외 보정 조정 동안 정밀도를 향상시키고 시간 소비를 최소화하기 위하여 다수의 데이터 입력, 데이터 기억 및 데이터 조정 디바이스 사이에서 최적하게 자원을 할당하는 디지탈 신호 처리 방법에 있어서, A) 예정된 시드값 및 입력값의 선택 및 기억을 위해 데이터 기억 및 데이터 조정 디바이스를 할당하는 단계와, B) 제1입력값에 관계된 제2입력값에 대해 데이터 기억 디바이스를 할당하는 단계와, C) 제1입력값을 수정하며, 시드값, 수정된 입력값 및, 수렴성 디비젼 알고리즘을 통해 제1입력값에 연관된 제2값을 조정하며, 거기에 연관된 수렴성 기능값을 결정하는 단계를 구비하는 디지탈 신호 처리 방법.A digital signal processing method for optimally allocating resources between multiple data inputs, data storage and data adjustment devices to improve precision and minimize time consumption during error detection and exception correction adjustments, comprising: A) a predetermined seed value and input Allocating a data storage and data adjustment device for selection and storage of values; B) assigning a data storage device to a second input value related to the first input value; and C) modifying the first input value. And adjusting a seed value, a modified input value, and a second value associated with the first input value through a convergence division algorithm, and determining a convergence function value associated therewith. 최적한 조정 방법에 따라서 일반 디지탈 컴퓨터와 함께 사용되는 정밀도를 향상시키고 시간 및 자원 처리의 보존을 최대화시키는 시스템에 있어서, A) 제어 신호 세트에 응답하여 상기 처리를 제어하는 처리제어 디바이스와, B) 상기 처리의 동작에 영향을 미치는 입력을 감지하는 다수의 감지기와, C) 상기 감지기와 상기 입력 디바이스에 응답하여, 예정된 조정 최적 방법에 따라서 상기 처리 제어 디바이스에 개선된 제어 신호 세트를 제공하는 제어기와, D) 상기 제어기는 입력값에 대한 시드값을 할당하는 수단과, 수정된 입력값을 얻기 위하여 입력값을 전처리 및 수정하는 수단과, 시드값, 수정된 입력값, 및 수렴성 디비젼 알고리즘을 통해 제1입력값에 연관된 제2입력값을 조정하는 수단을 포함하며, 수렴성 기능값을 결정하는 수단은 상기 디지탈 컴퓨터 시스템내에서 충분한 시간 및 자원 사용을 달성하기 위하여 상기 조정의 반복 수단을 포함하는 시스템.A system for improving the precision used with a general digital computer and maximizing the preservation of time and resource processing in accordance with an optimal tuning method, comprising: A) a process control device controlling said process in response to a set of control signals; A plurality of detectors for sensing inputs affecting the operation of the process, C) a controller in response to the detector and the input device to provide an improved set of control signals to the process control device in accordance with a predetermined adjustment optimization method; D) The controller further comprises means for assigning a seed value for the input value, means for preprocessing and modifying the input value to obtain a modified input value, the seed value, the modified input value, and a convergence division algorithm. Means for adjusting a second input value associated with one input value, wherein the means for determining a convergence function value comprises: And repeating means of said adjustment to achieve sufficient time and resource usage within the computer system.
KR1019910701004A 1989-12-29 1990-12-17 Method and apparatus for efficient resource allocation for error and exception handling in convergent division KR940008617B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US45909089A 1989-12-29 1989-12-29
US459090 1989-12-29
US459,090 1989-12-29
PCT/US1990/007431 WO1991010190A1 (en) 1989-12-29 1990-12-17 Methods and apparatus for efficient resource allocation for error and exception handling in convergent division

Publications (2)

Publication Number Publication Date
KR920701904A KR920701904A (en) 1992-08-12
KR940008617B1 true KR940008617B1 (en) 1994-09-24

Family

ID=23823363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910701004A KR940008617B1 (en) 1989-12-29 1990-12-17 Method and apparatus for efficient resource allocation for error and exception handling in convergent division

Country Status (5)

Country Link
EP (1) EP0461240A4 (en)
JP (1) JPH04504774A (en)
KR (1) KR940008617B1 (en)
CA (1) CA2047180A1 (en)
WO (1) WO1991010190A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724529A (en) * 1985-02-14 1988-02-09 Prime Computer, Inc. Method and apparatus for numerical division
DE68926289T2 (en) * 1989-01-13 1996-10-10 Ibm Floating point division method and arrangement

Also Published As

Publication number Publication date
JPH04504774A (en) 1992-08-20
WO1991010190A1 (en) 1991-07-11
CA2047180A1 (en) 1991-06-30
EP0461240A4 (en) 1993-08-11
EP0461240A1 (en) 1991-12-18
KR920701904A (en) 1992-08-12

Similar Documents

Publication Publication Date Title
US6163791A (en) High accuracy estimates of elementary functions
EP0411491B1 (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
US6256655B1 (en) Method and system for performing floating point operations in unnormalized format using a floating point accumulator
US5570310A (en) Method and data processor for finding a logarithm of a number
US5339266A (en) Parallel method and apparatus for detecting and completing floating point operations involving special operands
US5341321A (en) Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
US5307303A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
JP2557193B2 (en) Floating point calculation execution method and floating point unit
US9069686B2 (en) Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table with exponentially varying step-size
WO2017070710A1 (en) Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof
US5195052A (en) Circuit and method for performing integer power operations
CN111383157B (en) Image processing method and device, vehicle-mounted operation platform, electronic equipment and system
GB2163280A (en) Address computation system for digital processing apparatus
EP0063361B1 (en) Correction circuit for approximate quotient
KR100423893B1 (en) Partial matching partial output cache for computer arithmetic operations
US9582469B1 (en) System and methods for determining attributes for arithmetic operations with fixed-point numbers
KR940008617B1 (en) Method and apparatus for efficient resource allocation for error and exception handling in convergent division
US5648924A (en) Method and apparatus for finding arctangents
US6581086B1 (en) Multiply and accumulate unit (MAC) and method therefor
WO2020161458A1 (en) Encoding special value in anchored-data element
JPH05508724A (en) Apparatus and method for calculating exponential functions
US20030195912A1 (en) Arithmetic processing unit and semiconductor device
KR100309520B1 (en) Multiplication methods and multiplication circuits with round-off capability
US5646876A (en) Method and apparatus for reducing rounding error when evaluating binary floating point polynomials

Legal Events

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

Payment date: 19970707

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee