当前位置:  开发笔记 > 编程语言 > 正文

CPU如何实现MUL/MULT等指令?

如何解决《CPU如何实现MUL/MULT等指令?》经验,为你挑选了1个好方法。

在不同的汇编语言中,MUL(x86)/ MULT(mips)指的是乘法.这是程序员的黑盒子.我感兴趣的是,无论架构如何,CPU实际上如何实现乘法.假设我的寄存器中有两个16位值,而且我是cpu,所以我必须使用其他的bit-fiddling指令实现MUL(和,或者,xor,not,shl,shr等).我该怎么办?



1> Michael..:

维基百科上的http://en.wikipedia.org/wiki/Multiplication_ALU列出了在数字电路中进行乘法的不同方法.

当我在一个项目中为大学中的Verilog中的DEC Alpha类处理器添加SIMD指令时,我们实现了一个Wallace树倍增器,主要原因是它在固定的周期内运行并且易于管道化.

编辑:你提到使用其他位摆弄指令,在现代处理器上乘法不会像这样进行微编码; 它会慢下来,处理器会在基准测试中被宰杀.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有