现代X86处理器实际上如何计算乘法? [英] How modern X86 processors actually compute multiplications?
问题描述
我正在看一些关于算法的讲座,而教授以乘法为例,说明了如何改进天真的算法...
I was watching some lecture on algorithms, and the professor used multiplication as an example of how naive algorithms can be improved...
这让我意识到乘法并不是很明显,尽管我在编码时只是将其视为简单的原子操作,但乘法运算需要运行一种算法,它不能像对数字求和一样工作。
It made me realize that multiplication is not that obvious, although when I am coding I just consider it a simple atomic operation, multiplication requires a algorithm to run, it does not work like summing numbers.
所以我想知道,现代台式机处理器实际使用什么算法?我猜他们不依赖对数表,也不用成千上万的和进行循环...
So I wonder, what algorithm modern desktop processors actually use? I guess they don't rely on logarithm tables, and don't make loops with thousands of sums...
推荐答案
Mitch Alsup(曾在Motorola 88K,Ross SPARC,AMD x86等产品上工作的人)在comp.arch新闻组中表示:
Mitch Alsup (who worked on Motorola 88K, Ross SPARC, AMD x86, etc.) has stated on the comp.arch newsgroup:
所有现代乘法器设计者使用Dadda方法来构建树。
All modern multiplier designers use the Dadda method for building the tree.
(消息ID:< c45d9d2e-039d-4085-a617-d90f7a3b1f93 @ googlegroups.com>)
(Message-ID: <c45d9d2e-039d-4085-a617-d90f7a3b1f93@googlegroups.com>)
和(关于AMD / Intel / NVIDIA使用哪种乘法机制的最新参考文献的可用性):
and (with respect to availability of recent references for what multiplication mechanisms are used by AMD/Intel/NVIDIA):
仅在专利局内。
Only in the patent office.
(消息ID: < d92d1961-a3e4-441e-8b3d-b9ce6bd24b58@googlegroups.com>)
(Message-ID: <d92d1961-a3e4-441e-8b3d-b9ce6bd24b58@googlegroups.com>)
有关达达树乘法器。
这篇关于现代X86处理器实际上如何计算乘法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!