This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] C6000 Keystone 速度:VLIW 流水线与 x86/x64

Guru**** 2917090 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/665772/c6000-keystone-speed-vliw-pipelining-vs-x86-x64

您好!

在 C6000优化技术讲座中、我有一些问题:

  1. c6xxx 架构是两个侧面32寄存器,与 IA-64 VLIW 类似,不是吗?
  2. TI 的最新 Keystone 处理器时钟频率为1.2GHz,某些 x86 CPU 的运行频率为4GHz,在极端冷却条件下可以将时钟频率加速到6GHz。 有人说 DSP 具有更短的流水线、但对于 C6000、流水线阶段是

获取:PG PS PW PR

解码:DP DC

执行:E1 E2 E3 E4 E5 E6 E7 E8 E9 E10

并且比 Intel x86 (Skylake 14、Bonnell 16)少3倍。 鉴于 TI 始终拥有最先进的半导体制造能力、为什么时钟速度比英特尔慢3倍? 只是为了降低功耗? 但 Keystone 和同类产品都被标记为高性能。

C6000具有2个边64寄存器、8个处理单元、这使得软件流水线在每个周期中变得更加容易、因为有更多的资源需要占用。 我读过、IA64的设计期望很高、但由于向后兼容性不好、因此没有那么成功。 从 DSP 的角度来看、x86很少有通用寄存器(如8个)、并且可能没有交叉路径访问(至少像 C6000使程序员如此显式/透明)。 因此、如果一个像密集 FIR 循环那样进行写入、通用编译器(VC、GCC)可以执行非常有限的优化。 因此,我想,如果不使用英特尔 ICC 并提供类似于 TI 的 MUST_ITERATE/_nasserts 的 IT pragma,ICC 就可以使用 MMX/SSE 指令,基线编译器就无法生成像 C6000 DSP 这样的高效代码。 您能就此发表评论吗?

4.英特尔提供了 MKL 数学库,这些数学库像 TI DSPLIB 一样经过手工优化。 如果我们在 Intel Skylake 上放置 SSE 优化代码(14个流水线阶段、与 C6000 16个阶段相比)、C6000的前束到前束、每个周期的效率会胜出? 再说一次、为什么会有3倍的差异?

 

Dave

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Dave、

    团队将收到通知。 他们将直接在此处发布反馈。

    BR
    Tsvetolin Shulev