我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 指令级并行 >

Intel和arm的指令级并行的区别?

归档日期:07-02       文本归类:指令级并行      文章编辑:爱尚语录

  其实x86和arm只是两组不同的指令集,具体实现都有不同的方式。比如x86的简版atom系列,曾经是定序双发射超标量,和arm的早期核心和现在的小核心类似。而现在arm的大核心则有更多发射数和一定程度的乱序能力,x86的酷睿系列其核心更是有大发射数的复杂乱序结构。

  换句话说,如果处理器是不同的人,指令集就是不同的语言,你可以让巨人和侏儒说相同的语言,也可以让亲兄弟说不同的语言。

  培养巨人还是侏儒都是各家根据实际需求进行选择。x86一向要求干“体力活”,所以体型偏大,而arm一向要求“吃的少,能带着到处跑”,所以偏向小核心。

  不过也不是一概而论,比如苹果,就一向使用更复杂但是更少的核心,所以虽然同样用arm指令集,其ilp却很高,与x86桌面处理器都能有一拼---顺便说一句,工程师们在不同企业跳来跳去,“亲兄弟处理器却使用不同指令集语言”远比很多人想象的普遍,如果不选取具体型号根本没办法指出其中差别。

  不过x86因为一些原因,在实现高ilp时候有一些微妙的优势,那就是micro-fusion和macro-fusion。简单来说是因为x86是复杂指令集,在现在处理器中指令要拆解成micro-op运行,在拆解和重新组合中可以利用指令本身指出的数据相关性。Intel曾演示过将十几条需要运行上百周期的x86指令(多个寄存器入栈,栈顶寄存器有数据相关,所以延迟很大。)翻译成两三条微操作在几个周期内完成(合并在一个操作入栈)

  不过这一类改进其实其他指令集也可以采用,例如补充“类cisc指令”等等,所以还是要看具体型号才能分析差别。

本文链接:http://f-taiken.net/zhilingjibingxing/237.html