处理器微架构学习总结

来源:互联网 发布:公司单页网站源码 编辑:程序博客网 时间:2024/06/07 02:42

    ISA指令集架构定义了处理器最基本的硬件设计标准,而微架构micro architecture则是ISA在晶体管集成电路的中的具体实现方案。

    常见的指令集就那么几种,微架构设计使处理器具有多样性,不同半导体公司有自己的微架构设计。微架构的设计对处理器的性能提升至关重要。高通有自己Krait微架构的骁龙处理器,苹果有自己的A5处理器,三星有自己的Exynos处理器,NVIDA有自己的Tegra处理器,归根结底这些都是ARMv7指令集的处理器。
    RISC指令集比CISC精简,相同情况下执行效率更高,CISC指令集过于臃肿,但为了保持已有软件兼容性,Intel 把古老的x86指令集坚持到今天,性能依然强劲,主要得益于先进的制程工艺和杰出的微架构设计。
    x86指令集有名的微架构有P6微架构、NetBurst和Core微架构。P6微架构对Intel 来说具有划时代的意义,通过汲取RISC指令集设计思想,P6微架构内核能够将复杂的CISC指令集转化为如同RISC指令集的micro operations ,然后采用RISC内核来执行,这样巧妙的设计既很好的保证了兼容性,有能精简指令,创造更大的性能提升空间。
    在处理器微架构设计中,指令的执行过程通常为:
 
     1.取指令,译码,分支预测;
     2.寄存器重命名,去除相关;
     3.指令流水,乱序执行;
     4.重排序缓冲,顺序提交
 
    微架构设计通过提高指令的并行程度,提高处理器执行效率。最常见的并行模型就是流水线作业,Intel很早就把指令放在几十级深的流水线上并行执行,ARM从cortex-A9开始也采用流水线乱序执行来提升性能。
    微架构中数据与指令并行多采用SIMD(single instruction multiple data)单条指令多组数据和MIMDmultiple instruction multiple data)设计,通过SIMD指令,一条语句可以处理多个数据,这对处理多媒体应用如视频和游戏非常有效。
    对指令并行化处理主要分为Superscalar和VLIW(Very Long Instruction Word,超长指令字)。通常应用程序是以一系列串行指令进入处理器,Superscalar处理器内部把串行指令转化为并行指令提交给执行内核,而VLIW则需要依靠特殊的编译器提前把源代码编译成并行可执行程序,处理器直接拿来执行。因此相同情况下,VLIW处理器由于内部不需要额外的指令并行化模块,芯片尺寸、功耗和性能上都占优势,但Superscalar处理器在软件兼容性上占绝对优势,而软件兼容性不是哪家半导体公司敢于随便挑战的,所以x86、ARM和MIPS处理器都是Superscalar结构的。不过未来VLIW处理器性能提升空间更大,个人觉得更有前景。