|
CORDIC (for COordinate Rotation DIgital Computer), also known as the digit-by-digit method and Volder's algorithm, is a simple and efficient algorithm to calculate hyperbolic and trigonometric functions. It is commonly used when no hardware multiplier is available (e.g. in simple microcontrollers and FPGAs) as the only operations it requires are addition, subtraction, bitshift and table lookup. ==Origins == The modern CORDIC algorithm was first described in 1959 by Jack E. Volder. It was developed at the aeroelectronics department of Convair to replace the analog resolver in the B-58 bomber's navigation computer.〔(J. E. Volder, "The Birth of CORDIC", J. VLSI Signal Processing 25, 101 (2000). )〕 Although CORDIC is similar to mathematical techniques published by Henry Briggs as early as 1624, it is optimized for low complexity finite state CPUs. John Stephen Walther at Hewlett-Packard further generalized the algorithm into the ''Unified CORDIC'' algorithm, allowing it to calculate hyperbolic and exponential functions, logarithms, multiplications, divisions, and square roots.〔(J. S. Walther, "The Story of Unified CORDIC", J. VLSI Signal Processing 25, 107 (2000). )〕 The CORDIC subroutines for trigonometric and hyperbolic functions can share most of their code. Originally, CORDIC was implemented using the binary numeral system. In the 1970s, decimal CORDIC became widely used in pocket calculators, most of which operate in binary-coded decimal (BCD) rather than binary. This change in the input and output format did not alter CORDIC's core calculation algorithms. CORDIC is particularly well-suited for handheld calculators, in which low cost – and thus low chip gate count – is much more important than speed. CORDIC has been implemented in the cores of some x86 CPUs for some kinds of floating point instructions, mainly as a way to reduce the gate counts (and complexity) of the FPU subsystem. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「CORDIC」の詳細全文を読む スポンサード リンク
|