偶看一个wrap其实就是一条SIMD指令--是32路的SIMD指令,由于只有8个ALU,ALU的延迟为4,为了跑满载,所以要分成4批来执行。
一个计算类wrap是无法半路切换的,而是必须执行完,然后是执行下一个wrap。 下一个wrap是谁,由调度器决定。
调度器就像乱序OOO-E调度器,发射激活就绪的wrap-SIMD指令而已。
对于分支类 wrap就要很惨很惨了。。, 运气差的话,会需要很多wrap(--指令)替他擦屁股。
一个wrap就是一条指令。把SP主频除以4,什么都清楚了。
--即一个wrap是一条32路SIMD指令(支持G/S等),单周期延迟,单周期吞吐的小强指令。一般向量计算都很难做到单周期延迟。确实小强了。
SIMT是虚的打打广告,而SIMD是真的。32路哦。
--
回一下楼下。
偶说"像"乱序OOO-E调度器。
说乱序OOO-E调度器就是CPU的OOO,那是楼下的发明。
另外,模仿一下楼下的腔调--CPU的OOO调度器实现方法较多,利用CAM来实现是其一种而已,多去看看书,寒一个。
另外“像”与“是”是两个字,楼下太激动了。
原帖由 predaking 于 2008-9-5 16:24 发表 ![]()
你说我好心提示你,却……呵呵 果然不搞技术的思路就是不一样 牛了
还有,搞了N年Arch今天学会一个新名词“物理线程”,所以感谢楼上:〉
搞了N年Arch都没听说过物理线程?
话说回来,intel够无知的。
看这里就有你眼里的草包Intel的话
The threads you create with a threading package are logical threads, which map onto the
physical threads of the hardware.
--Threading Building Blocks.pdf
[ 本帖最后由 gaiban 于 2008-9-5 22:04 编辑 ] |