FPGA|CPLD|ASIC论坛
直播中

h1654155338.6314

4年用户 3经验值
擅长:可编程逻辑
私信 关注
[问答]

可执行判断的CPU怎么设计?

有一个四级流水线,IF,ID,EXE,W。
,在EXE阶段进行近似乘法计算的同时根据乘法器的输入预测乘法器误差大小,如果误差过大就用更加精确的指令执行乘法操作,如果误差可接受则WB。
这样的流水线需要使用JUMP函数跳出吗,还是可以在EXE阶段的乘法器后面的精确乘法器上加一个使能段,根据预测结果判断要不要激活精确乘法器。但是这样会不会让EXE阶段的时钟周期过长?

回帖(1)

艾玛

2024-4-1 17:44:59
在设计一个可执行判断的CPU时,可以采取以下几个步骤:

1. CPU的数据通路中需要加入乘法器以及对应的近似乘法器。在执行指令的EXE阶段,通过近似乘法器计算乘法操作,并根据乘法器的输入预测乘法器误差大小。
2. 设计一个判断模块,用于根据乘法器误差大小来决定执行何种乘法操作。如果误差过大,选择使用更加精确的指令执行乘法操作;如果误差可接受,选择进行其他操作(例如WB)。
3. 在EXE阶段的乘法器后面添加一个使能段,用于根据判断结果来决定是否激活精确乘法器。这样可以在不需要进行精确乘法操作时,节省相关资源和时间。
4. 正确设置各个阶段的时钟周期,确保整个流水线能够在规定的时钟周期内完成指令的执行。如果EXE阶段的时钟周期过长,可以考虑对流水线进行优化,例如添加更多的硬件资源或者进行流水线分段等。

因此,在该流水线中,并不需要额外添加JUMP函数来跳出。通过设计更加智能的判断模块以及合理的流水线控制,可以实现乘法器误差判断以及相应的动态指令执行选择。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分