网易首页 > 网易号 > 正文 申请入驻

90微秒算完正切:8087芯片里藏了两种算法

0
分享至

1980年,英特尔推出8087,让IBM PC等系统的浮点运算快了一大截。这颗芯片的正切指令背后,用的是一套把两种算法拼起来的方案。

三角函数计算有两条常见路子。一条叫CORDIC,另一条是多项式逼近。8087把两者结合,同时拿到了高精度和高性能。相比8086微处理器,它的提速相当夸张:算一次正切只要90微秒,而不是13000微秒。


要弄清正切指令FPTAN背后的算法,得先看芯片的电路和微码。有人用凿子撬开芯片顶盖,再用显微镜拍出高分辨率图像。微码ROM是芯片中央那块大矩形区域,装着控制整颗芯片的1648条微指令。芯片下半部分(红框)是数据通路,负责对80位数值做浮点计算。

数据通路里有什么

放大数据通路,能看到几个关键功能单元。指数ROM存放算法需要的固定指数值;常量ROM存放常量,其中包括CORDIC算法用到的那些常量。移位器是个大部件,能把64位值左右移动任意位数。加法器是8087计算的核心,除了加减,还被用在循环里做乘法、除法和平方根。B寄存器保存加法器的一个输入,另一个输入可以有多个来源。和寄存器保存加法器的输出。八个栈寄存器和临时寄存器存放浮点数。移位寄存器则保存CORDIC计算用的16个状态位。

CORDIC是怎么来的

CORDIC是个巧妙的算法,用简单硬件就能快速算超越函数:靠移位、加法和查表,不需要乘法或除法。它诞生于1956年,最初是为B-58 Hustler研制的——那是第一架能以2马赫飞行的轰炸机。飞机上装的是模拟导航计算机,但模拟元件精度有限。工程师Jack Volder接到的任务,是设计一台数字计算机来替换模拟计算机。

一个关键难题是:模拟计算机用叫分解器的机电装置就能轻松生成正弦和余弦,但三角函数在数字电路里很难做,尤其在那个晶体管还很慢的年代。Volder想出了用简单硬件快速计算三角函数的方法,他把算法和实现它的计算机都命名为CORDIC,即"坐标旋转数字计算机"。

CORDIC把角度转成向量,向量的坐标就给出所需的三角函数值。诀窍在于把角度拆成一串特殊角度,这些角度能让向量旋转变得容易。特殊角度预先算好存在表里,所以即使在1950年代的硬件上,CORDIC计算也能跑得很快。每次迭代多提供一位精度,算法收敛得很快。CORDIC后来流行起来,科学计算器也在用,只不过用的是十进制CORDIC而非二进制。

角度怎么变成坐标

三角函数和点的坐标关系很直接。给定角度θ,它对应单位圆上一点(X, Y),基本公式是X=cos θ、Y=sin θ、Y/X=tan θ。所以只要能确定坐标(X, Y),就能确定三角函数值。如果点不在单位圆上,比如(X', Y'),仍然能轻松求出tan θ——8087做的正是这件事。但这时sin θ和cos θ就变得麻烦了。

做过计算机图形的人大概见过旋转矩阵怎么把点旋转一个角度。把点(X, Y)乘上旋转矩阵,就得到新点(X', Y')。麻烦在于旋转矩阵本身需要sin和cos,看起来帮不上忙。把矩阵除以cos θ也没好到哪去,因为矩阵里出现了tan,而这正是想求的东西,而且向量长度还会变长。

CORDIC的关键是使用特殊角度αn = arctan(2⁻ⁿ)。把这种特殊角度代入矩阵,得到的矩阵在硬件里很容易算:乘以2的幂,移位就行。把结果作用到点(X, Y)上,得到的方程只涉及加法、减法和二进制移位,在机器语言或硬件里都又快又简单。

有了这些铺垫,CORDIC的流程就清楚了。先把输入角度拆成一串特殊角度的组合,让它们加起来等于目标角度。然后从单位向量(1, 0)出发,对每个特殊角度套用上面的旋转公式。最后得到的点(X, Y)就落在目标角度上,所求的正切就是Y/X。由于特殊角度表是预先算好的,arctan运算并不会拖慢整个过程。顺带一提,特殊角度在头几项之后会趋近于2⁻ⁿ,所以每一步大约缩小一半。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
这4种病一得,生命就进入倒计时?医生:千万别低估体检的重要性

这4种病一得,生命就进入倒计时?医生:千万别低估体检的重要性

健康科普365
2026-09-29 09:27:23
陪睡陪玩只是开胃菜,舔手指塞拳头、集体嫖娼、背后的事藏不住了

陪睡陪玩只是开胃菜,舔手指塞拳头、集体嫖娼、背后的事藏不住了

北海史记
2026-08-12 19:57:54
教师要资格证,校长要资格证,为什么近六成基层教育局长未上过讲台?

教师要资格证,校长要资格证,为什么近六成基层教育局长未上过讲台?

行者殷涛
2026-09-28 20:49:40
当年一针疫苗没打的500万人,如今结局出人意料,太真实了!

当年一针疫苗没打的500万人,如今结局出人意料,太真实了!

坠入二次元的海洋
2026-09-11 00:35:48
林诗栋领奖时,遭现场观众挑衅!樊振东当年说的话,一点都没错

林诗栋领奖时,遭现场观众挑衅!樊振东当年说的话,一点都没错

十点街球体育
2026-09-29 11:09:00
回溯刘嘉玲 90 年被绑旧闻,不雅照轰动全港,当晚究竟经历了什么

回溯刘嘉玲 90 年被绑旧闻,不雅照轰动全港,当晚究竟经历了什么

搞笑娱乐笑话
2026-09-08 13:54:55
99%的人不懂的人性潜规则:不要和熟人谈利益,利益面前,再好的关系也容易破裂

99%的人不懂的人性潜规则:不要和熟人谈利益,利益面前,再好的关系也容易破裂

清风拂心
2026-09-28 07:30:16
和妻子去民政局领证时,她去接电话,工作人员告诉我:新郎不是您

和妻子去民政局领证时,她去接电话,工作人员告诉我:新郎不是您

云端小院
2026-09-30 09:41:56
演员万千惠巴黎遇盗:对方假意请求帮拍照,30秒偷走相机

演员万千惠巴黎遇盗:对方假意请求帮拍照,30秒偷走相机

观察者网
2026-09-30 07:05:53
哈工程处分事件发酵!网传一女生保研刚好卡在线下,就差那一个名额,于是把那些人翻墙的痕迹都整理出来举报

哈工程处分事件发酵!网传一女生保研刚好卡在线下,就差那一个名额,于是把那些人翻墙的痕迹都整理出来举报

火山詩话
2026-09-29 14:25:00
油库马上见底?菲律宾电话打遍全球,问北京这油,到底还送不送?

油库马上见底?菲律宾电话打遍全球,问北京这油,到底还送不送?

究竟谁主沉浮
2026-09-30 05:01:58
真是偷鸡不成蚀把米!据爆料,鸟哥已经与梁女士分手了,估摸着这下梁女士肠子都悔青了吧

真是偷鸡不成蚀把米!据爆料,鸟哥已经与梁女士分手了,估摸着这下梁女士肠子都悔青了吧

静若梨花
2026-09-29 11:05:31
8亿铂金级肉签公布中签结果,中签号码9.07万个,股民中了即赚了!

8亿铂金级肉签公布中签结果,中签号码9.07万个,股民中了即赚了!

数据挖掘分析
2026-09-30 08:15:47
CBA快讯,曝广东队或不用大外,李楠力军令状,朱芳雨罕见提建议

CBA快讯,曝广东队或不用大外,李楠力军令状,朱芳雨罕见提建议

体坛小快灵
2026-09-30 09:37:08
突发! 只因一句话, 华人被赶下澳洲航班! 同机乘客曝光真相…

突发! 只因一句话, 华人被赶下澳洲航班! 同机乘客曝光真相…

澳微Daily
2026-09-30 10:10:02
十一消费提醒:别让“纸螃蟹”坑了你

十一消费提醒:别让“纸螃蟹”坑了你

贝壳财经
2026-09-29 20:42:03
“运价低不是你骂我的理由”:律师乘客打车被骂,直接让网约车司机交了“学费”

“运价低不是你骂我的理由”:律师乘客打车被骂,直接让网约车司机交了“学费”

用车指南
2026-09-30 10:03:07
独家|米哈游创始人刘伟:希望在2-3年内进入国产大模型第一梯队

独家|米哈游创始人刘伟:希望在2-3年内进入国产大模型第一梯队

澎湃新闻
2026-09-28 14:16:27
北京理工大学把乱打女拳的教师裴某解聘了,网友说她可以享受灵活就业的福利了!

北京理工大学把乱打女拳的教师裴某解聘了,网友说她可以享受灵活就业的福利了!

黯泉
2026-09-30 10:40:11
我把爸妈家的电费交了,我妈第一句话就问:你弟弟家电费交了吗?

我把爸妈家的电费交了,我妈第一句话就问:你弟弟家电费交了吗?

茶余饭后故事会
2026-09-22 19:00:05
2026-09-30 13:40:49
码上闲叙
码上闲叙
有态度网友ytd
194文章数 96关注度
往期回顾 全部

科技要闻

OpenAI凌晨大上新!新助手dots迎战Muse

头条要闻

疑妙瓦底电诈园新据点卫星图公开 建筑群迅速"繁殖"

头条要闻

疑妙瓦底电诈园新据点卫星图公开 建筑群迅速"繁殖"

体育要闻

石雨豪:亚运金牌与背后的十年

娱乐要闻

金鹰这夜,演员争辉,有惊喜,反差

财经要闻

中央财政首次贴息房贷 定向支持首套刚需

汽车要闻

5.1米大车跑云南盘山路,海狮08试驾体验超预期

态度原创

健康
教育
本地
亲子
公开课

刷酸祛痘,为什么有人翻车?

教育要闻

课堂、资源、平台三端发力,天府新区构建数字思政工作体系

本地新闻

中秋逛白塔寺,体验国医妙荟雅集

亲子要闻

孩子以后长多高, 可以用这个公式计算!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版