奔腾中的圆周率:对其浮点单元中常量的逆向工程

主要观点:Intel 于 1993 年发布强大的奔腾处理器,其浮点单元使用多项式近似超验函数,效率高于早期的 CORDIC 算法。通过显微镜检查奔腾的浮点 ROM,可提取 304 个常数,解释了多项式如何高效计算超验函数及一些常数的意义和用途。
关键信息

  • 1993 年发布奔腾处理器,包含浮点单元,能快速计算多种函数。
  • 奔腾采用多项式近似超验函数,比早期算法快 2 - 3 倍,通过 Remez 算法优化系数。
  • 介绍了奔腾浮点 ROM 的结构,包括常数存储方式、晶体管布局等,如每个 ROM 单元存储 8 个不同常数等。
  • 详细说明了各种超验函数(如反正切、三角函数、指数、对数等)在奔腾中的多项式实现及常数情况,多数常数接近特定值但经过优化。
  • 讲述了研究奔腾浮点 ROM 的过程,包括去除金属和氧化物层、拍照、分析等。
    重要细节
  • 常数 ROM 中特殊值的表示,如正常数、特殊指数值等的颜色区分。
  • 各超验函数多项式实现的具体细节,如三角函数的多种实现方式及范围缩减过程。
  • 奔腾中使用 BiCMOS 技术,其在 ROM 行选择电路中的优势。
  • 整数处理单元的构造及与浮点单元的宽度对比等。
阅读 6
0 条评论