• DocumentCode
    1414508
  • Title

    Division and square root: choosing the right implementation

  • Author

    Soderquist, Peter ; Leeser, Miriam

  • Author_Institution
    Cornell Univ., Ithaca, NY, USA
  • Volume
    17
  • Issue
    4
  • fYear
    1997
  • Firstpage
    56
  • Lastpage
    66
  • Abstract
    Floating-point support has become a mandatory feature of new microprocessors due to the prevalence of business, technical, and recreational applications that use these operations. Spreadsheets, CAD tools, and games, for instance, typically feature floating-point-intensive code. Over the past few years, the leading architectures have incorporated several generations of floating-point units (FPUs). However, while addition and multiplication implementations have become increasingly efficient, support for division and square root has remained uneven. The design community has reached no consensus on the type of algorithm to use for these two functions, and quality and performance of the implementations vary widely. This situation originates in skepticism about the importance of division and square root and an insufficient understanding of the design alternatives. Quantifying what constitutes good performance is challenging. One rule thumb, for example, states that the latency of division should be three times that of multiplication; this figure is based on division frequencies in a selection of typical scientific applications. Even if we accept this doctrine at face value, implementing division-and square root-involves much more than relative latencies. We must also consider area, throughput, complexity, and the interaction with other operations. This article explores the various trade-offs involved and illuminates the consequences of different design choices, thus enabling designers to make informed decisions
  • Keywords
    digital arithmetic; microprocessor chips; complexity; design choices; division; floating-point support; floating-point-intensive code; microprocessors; square root; throughput; Algorithm design and analysis; Delay; Floating-point arithmetic; Hardware; Microprocessors; Registers; Sun; Throughput;
  • fLanguage
    English
  • Journal_Title
    Micro, IEEE
  • Publisher
    ieee
  • ISSN
    0272-1732
  • Type

    jour

  • DOI
    10.1109/40.612224
  • Filename
    612224