鲲鹏920流水线
Posted 落别雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鲲鹏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流水线的主要内容,如果未能解决你的问题,请参考以下文章
华为鲲鹏920云主机部署zookeeper集群(3.6.3版本)