您的位置:首页 > 运维架构 > 网站架构

《大话处理器》连载——微架构(3) 从子弹射击到指令执行

2011-08-04 22:49 232 查看
子弹的射击过程,可以被分成3个步骤:上膛、瞄准、射击。指令的执行过程,其实也可以划分为类似的3个步骤:取指、译码、执行。



指令的执行过程和射击过程的类比
指令存储在内存中,要被加载到内核中,这个过程就是取指。

指令是经过一定格式编码的,例如,MIPS的 J型指令格式如下:



MIPS的 J型指令格式

前面6 bit标识指令的操作码,即这条指令是干什么的,后面26 bit是这个跳转指令的跳转地址。指令是一串0、1序列,译码单元要将这条指令包含的有用数据解出来,如果是跳转指令,就要知道它的地址,如果是运算指令,就要知道的它的源操作数、目的操作数在哪,这样处理器才能进行后续的运算。

指令的执行就是真正进行运算的步骤,执行a+b=c就是在这个阶段进行。

低功耗嵌入式领域的经典产品ARM7就是采用这种3级流水线结构:



ARM7 3级流水线结构

流水线节拍描述:



3级流水线
指令的执行过程被划分为3个步骤,分别在不同的部件中执行。头2个cycle是指令的进流水线阶段,这时候处理器内部的3个部件没有百分百利用起来,在第3-5个cycle,处理器内部的3个部件全速运行,这时候处理器的执行效率最高。第6-7个cycle时,处于出流水的阶段,指令完全流出流水线时,指令执行结束。

执行步骤划分得越细,则每个步骤执行的时间越少,处理器的执行频率可以越高。通用CPU的流水线深度要比嵌入式处理器长,因此频率也高。流水线深度越深,处理器的内部结构也越复杂。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: