鲲鹏920流水线

华为鲲鹏处理器

  • 华为鲲鹏处理器基于Arm架构。Arm是一种CPU架构,有别于Intel、AMD CPU采用的CISC复杂指令集,Arm CPU采用RISC精简指令集(reduced instruction set computer,精简指令集计算机)。
  • 传统的CISC体系由于指令集庞大,指令长度不固定,指令执行周期有长有短,使指令译码和流水线的实现在硬件上非常复杂,给芯片的设计开发和成本的降低带来了极大困难。
  • 随着计算机技术的发展需要不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
  • RISC结构优先选取使用频率最高的简单指令,避免复杂指令将指令长度固定,指令格式和寻址方式种类减少。以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。
  • Arm架构具有更好的并发性能,匹配业务特征能耗比更佳,更加灵活丰富的选择,业界热点快速发展。

ARM体系的总体思想

  • 在不牺牲性能的同时,尽量简化处理器。同时从体系结构上灵活支持处理器扩展。采用RISC结构,RISC处理器简化了处理器结构,减少复杂功能指令的同时,提高了处理器速度。ARM及MIPS都是典型的RISC处理器。

ARM的流水线结构

  • ARM处理器使用流水线来增加处理器指令流的速度,这样可以使几个操作同时进行。并使处理和存储器系统连续操作。
    ARM处理器分为三级
    取指:指令从存储器中取出;
    译码:对指令使用的寄存器进行译码;
    执行:从寄存器组中读取寄存器,执行移位和ALU操作,寄存器被写回到寄存器组中。

  • 流水线对PC值的影响
    SPSR保存的程序状态寄存器,结构与CPSR完全一样,用来保存CPSR的值。以便出现异常时恢复CPSR的值。CPU内部的组成分为:指令寄存器,指令译码器,指令执行单元(包括ALU和通用寄存器组)CPU执行指令的步骤:取指->译码->执行
    取指:将指令从内存或指令cache中取入指令寄存器
    译码: 指令译码器对指令寄存器中的指令进行译码操作,辨识add,或是sub等操作
    执行:指令执行单元根据译码的结果进行运算并保存结果

    流水线操作:并发多条流水线(以3条为例)
    1-取指 译码 执行
    2-取指 译码 执行
    3-取指 译码 执行

  • 鲲鹏920处理器的流水线支持2个访存指令的发射队列,如下图中的红色框内所示,其访存单元WB支持每拍2条读或写访存指令。
    鲲鹏920流水线示意图

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>