c - 单周期乘法和硬件除法是什么意思?

标签 c embedded stm32

我正在浏览数据表并阅读“单周期乘法和硬件除法”作为 STM32 规范的一部分,我不确定我是否理解这意味着什么。从我在网上读到的内容来看,乘法通常比除法更容易计算。这是否意味着 STM 可以在一个周期内计算乘法和除法?

请协助。

最佳答案

当谈到乘法器时,这意味着它只需要一个时钟周期(对于 100Mhz,即 10 纳秒)来执行操作。

但是,除法通常以迭代方式逐位执行,应研究特定的实现(核心指令集)。

看看Cortex M-Series你看到乘法实际上是单周期的,但是除法持续 2-12 个周期,并且在脚注中关于这个:

Division operations use early termination to minimize the number of cycles required based on the number of leading ones and zeroes in the input operands.

添加:

但是请注意,唯一的 INTxINT 乘法是单周期的,而 LONGxLONG 持续 3-5 个周期(因为 LONGxLONG 乘法可以作为 INTxINT 乘法和加法的组合执行)

关于c - 单周期乘法和硬件除法是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400338/

相关文章:

c - 使用 C 中的读写通过网络发送整数值的问题

objective-c - 生成所有总和组合

embedded - AT91SAM7X512复位类型问题

c++ - 时间返回负值

java - C/C++ 中的跨平台兼容性(从 Java 移植项目)?

c - 在 C 中无法理解此 PRNG 代码

c - 用于嵌入式系统的简约人类可读序列化格式解析器

switch-statement - 可编程 Wifi 中继/电源开关?

debugging - 使用 openocd 闪存和调试 STM32F7 发现

stm32 NVIC_EnableIRQ() 裸机等效?