• DocumentCode
    1385585
  • Title

    Division algorithms and implementations

  • Author

    Oberman, Stuart F. ; Flynn, Michael J.

  • Author_Institution
    Comput. Syst. Lab., Stanford Univ., CA, USA
  • Volume
    46
  • Issue
    8
  • fYear
    1997
  • fDate
    8/1/1997 12:00:00 AM
  • Firstpage
    833
  • Lastpage
    854
  • Abstract
    Many algorithms have been developed for implementing division in hardware. These algorithms differ in many aspects, including quotient convergence rate, fundamental hardware primitives, and mathematical formulations. The paper presents a taxonomy of division algorithms which classifies the algorithms based upon their hardware implementations and impact on system design. Division algorithms can be divided into five classes: digit recurrence, functional iteration, very high radix, table look-up, and variable latency. Many practical division algorithms are hybrids of several of these classes. These algorithms are explained and compared. It is found that, for low-cost implementations where chip area must be minimized, digit recurrence algorithms are suitable. An implementation of division by functional iteration can provide the lowest latency for typical multiplier latencies. Variable latency algorithms show promise for simultaneously minimizing average latency while also minimizing area
  • Keywords
    algorithm theory; floating point arithmetic; iterative methods; table lookup; average latency minimization; digit recurrence algorithms; division algorithms; functional iteration algorithms; fundamental hardware primitives; hardware; low-cost implementations; mathematical formulations; minimized chip area; multiplier latencies; quotient convergence rate; system design; table look-up; variable latency algorithms; very high radix; Algorithm design and analysis; Approximation algorithms; Computational complexity; Computer applications; Convergence; Delay; Digital arithmetic; Floating-point arithmetic; Hardware; Taxonomy;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/12.609274
  • Filename
    609274