【问题标题】:How is computer with FPU classified in Flynn's taxonomy?带有 FPU 的计算机在弗林的分类中是如何分类的?
【发布时间】:2019-07-02 21:10:45
【问题描述】:

Flynn 的分类法中如何对具有 FPU 的计算机进行分类?如果机器有一个单核CPU,但也有FPU,那是SISD还是SIMD?

【问题讨论】:

    标签: parallel-processing computer-science cpu-architecture


    【解决方案1】:

    您的 FPU 也是向量单元,还是一条 FPU 指令只导致一次浮点运算? (或者一个 FMA = 2 FLOPs;那仍然是 SISD,因为只有一个结果,而不是多个并行结果)。

    在许多现代 CPU 上,“FPU”是包含 SIMD 矢量单元的硬件的简写。


    单条指令只会触发整数寄存器 FPU中的计算;那不是 SIMD。 (除非是 SIMD 向量指令。)

    超标量(每个周期多条指令)也不是 SIMD;它甚至不是 MIMD。前导的 S 指的是指令,因此寻找和利用 ILP 在每个周期从单个线程运行多条指令并不是分类法涵盖的内容。 (不过,除了 SIMD 宽度之外,它是单线程性能的另一个主要维度。)

    【讨论】:

    • 再最后一行:根据Wikipedia,“在Flynn 的分类法中,单核超标量处理器被归类为SISD 处理器(单指令流,单数据流),尽管许多超标量处理器都支持短向量运算,因此可以归类为 SIMD(单指令流,多数据流)。多核超标量处理器被归类为 MIMD 处理器(多指令流,多数据流)。”
    • 谢谢。如果那台机器有 x86 架构怎么办?它有什么改变吗?
    • @mazurro:在所有支持 MMX 及更高版本的 CPU 中,x86 都在 FPU 中内置了 SIMD,实际上隐藏了 x87 寄存器。而现代 x86 使用 SIMD 向量寄存器的低元素 xmm(SSE 和 SSE2,x86-64 的基线)进行标量 FP。所以无论如何不,它不会改变任何东西,我的答案已经涵盖了支持 SIMD 的 FPU 的情况,并且我在编写它时考虑了 x86。
    猜你喜欢
    • 2014-03-16
    • 2018-10-23
    • 2016-05-12
    • 2018-10-23
    • 2019-11-26
    • 2020-04-27
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多