在不同的汇编语言MUL(86)/ MULT(MIPS)是指乘法。这是一个程序员一个黑盒子。我感兴趣的是CPU实际上是如何不顾架构的实现倍增。可以说,我在我注册了两个16位的值,我的CPU,所以我必须使用其他位摆弄说明我有(与,或,异或,非,SHL,SHR等)来实现MUL。我该怎么办?

有帮助吗?

解决方案

http://en.wikipedia.org/wiki/Multiplication_ALU 维基百科上列出不同的方法用于在数字电路做乘法。

在我工作的一个项目,以SIMD指令添加到Verilog内的DEC Alpha般的处理器早在大学,我们实施了的华莱士树乘法器时,主要的原因是它在一个固定数目的周期和运行很容易管道。

编辑:你提到使用其他位摆弄说明,在现代处理器乘法不会被微码这样的;它会是方式减慢和处理器将在基准得到宰杀。

其他提示

此页示出了用于4×4的组合的乘数的逻辑门。你可以从那里工作了。

这里是他们描述了从建立16位乘法器某人的实验室 4个4位乘法器,各建有与门和全加器。全面的设计,芯片布局,和仿真波形。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top