微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > CPU 设计里 乘法指令 用微指令(微操作)能实现吗

CPU 设计里 乘法指令 用微指令(微操作)能实现吗

时间:12-11 整理:3721RD 点击:
体系结构里的 乘法指令
1. 用专用的乘法器, 是不会使寄存器之间的关系复杂,
   MUL 这个指令的机器代码暗含了 选中专门的乘法器.
2. 用加法实现,移位加或者 booth 算法.
     这种实现是在 ALU 旁边加控制逻辑 ,还是把算法实现写入微程序控制器里,
   如果是写入微程序控制器里,那么移位 32 次又是怎么实现的? 控制器里的微指令
   不都是每个指令有若干个顺序执行的微操作吗? 感觉好像没法用微程序实现?
能不能把现代体系结构里 乘法指令的实现 大概讲一下呢?
  

现在的CPU或DSP的乘法指令基本上都是有专用的乘法单元MAC。

想问一下,理论上能用微指令实现吗?
如果能,思路大概是怎样的?

具体实现方案看需要,微指令需要看你的指令集或者处理原子动作是不是能够实现,
如果能,当然可以,但是要考虑performance,一般低端的可以这么做吧

个人觉得用微指令实现难度还是比较大的。乘法靠移位实现性能上受不了,而且CPU光解析移位的位数也需要一个硬件单元来实现吧

能举例说一下,原子动作是什么吗?
还有 huruiboy 说的移位次数怎么控制呢?需要额外的硬件逻辑吗?

比如23*20,如果用移位处理,那*20应该需要分解成*16+*4,也就是移4位+移2位。这个处理需要一个硬件模块来处理吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top