返回信息流最近在用intel的sse指令做优化,不过对它的指令集的相关参数的概念理解的不是很清楚,求高手指教!
(1)指令的latency我理解为执行这条指令一共需要的步骤,例如:latency=5,表示cpu在执行这条指令时一共需要五个步骤。
(2)指令的throughput,我理解为类似cpi的概念,throughput越小,表示该条指令可以被并行执行的能力越强。例如throughput=0.33,表示一个时钟周期可以并行执行3条这样的语句,而throughput=3,表示3个时钟周期才能执行一次这条指令。
因此在挑选指令时我认为应该选latency和throughput都较小的~
不知我上面的理解正确否? 另外在选择指令时应该优先考虑latency呢,还是throughput呢?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9777同步于 2010/11/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
【求助】sse指令
tsunami
2010/11/7镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
说说俺字面上的理解,LZ实际做下实验为好。
latency指的是指令从启动到数据有效的延迟,指令与指令可以是pipline起来的。
throughput指的是pipline起来后的一个时钟出几条指令或者出一条指令需要多少个时钟。
下面文档中throughput指的是前者
http://gmplib.org/~tege/x86-timing.pdf
下面文档中throughput指的是后者
http://software.intel.com/en-us/articles/measuring-instruction-latency-and-throughput/