|
the_god_of_pig 发表于 2013-1-30 23:35
鹦鹉没出现估计也是效率上得不偿失吧,构造越弄越复杂往往都是反效果。现在EPIC逐渐完蛋,OoO增加发射也代 ...
鹦鹉的结构并不复杂,甚至更简单。在现在管芯面积可以富裕的情况下完全可以应用。
现在的主要矛盾就是,如果管线比较宽,比如说6发射,那么在大量低IPC的程序情况下资源就浪费严重;如果是比较窄,比如2发射,那么在某些能达到高IPC的情况下性能就很差。Intel通过超线程进行掩盖,效果是明显的;AMD干脆切成两半,但是在很多应用上表现的一塌糊涂,本质上还是太窄了。
要做到需要宽的时候能宽,要窄的时候能窄,只有宽窄两条异构流水线才可以。
窄流水线是全能型的,在执行的时候检测程序的循环和IPC。
当程序的进入循环,指令是宽流水线执行单元的子集,并且IPC足够高的时候,将线程迁移到宽流水线执行。
宽流水线没有前端,用追踪缓存供应微操作指令。宽流水线只要做循环分支就可以。追踪缓存里边是挂在窄流水线上优化器重排之后的微操作,宽流水线不用做重排和冲突检测,只要最简单的执行就行了,因而电路结构和功耗都可以做到最优。
窄,但复杂的冷管线+宽,但简单的热管线,就是鹦鹉的精髓。 |
|