您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 指令周期 >

同一块CPU的指令周期都是相等的吗?

发布时间:2019-08-04 03:44 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  一个指令周期包含多个机器周期,一个机器周期包含多个时钟周期,一个时钟周期就是通常所说的CPU运行频率。

  如一个add指令的执行是需要分解成几步进行的,首先要把目标数据从内存移到CPU的寄存器,然后再一个机器周期就进行数据的计算,计算完成还要写入到内存或目标寄存器。

  一个机器周期可以是1个时钟周期,也可能包含多个时钟周期,每类CPU都不同,还有现在的CPU均采用了流水线技术,因此一个指令周期可能包含有什么都不做的机器周期。

  因此,CPU的指令周期差别很大,有些复杂指令可达到几十个机器周期,而有些可能就一个机器周期。关于指令周期必须查每个CPU的说明才能清楚。更多追问追答追问我主要的疑惑是:如果CPU的指令中的操作码不一样长,CPU如何取操作码?它如何分析?CPU的工作原理不是因时钟脉冲到内存里去机器码,然后译码,最后取操作数吗?这个步骤都是设好了的,但如果操作码不一样长,CPU怎么知道哪个操作码占一个字节哪个占两个字节?追答上面的问题应该是两个问题吧,

  指令周期与指令长度是两个东西吧,一个字节的指令可以执行周期很长,也可执行周期很短。

  CPU中的取指单元在一般会预先取多条指令,而每次读一次内存,32位系统,总线位数据可能包含多条指令,也可能仅包含一条指令的一部分。取指单元会根据指令的头部字节分析指令有多长。CPU指令系统均包含预取指令功能的,不可能等到要执行的时候才去内存取指令。

  而一般情况下,为了提高执行效率,可以进行4字节的对齐,这样不会让CPU在装载指令和数据时,一个32位数据需要2个周期才能取到。

  你在内存中会发现,代码段、数据结构一般是按照4字节内存地址对齐的,就是指令操作的内存地址一般是0x*******0、0x4、0x8、0xC,而不会是0x*******1、0x2。追问“ 取指单元会根据指令的头部字节分析指令有多长。 ”最困惑我的就是这个。取指单元是如何分析头部字节的?电路是如何实现的。——我以前学的是简单的硬布线控制器的CPU,开始取操作码都是按设定好了的字节,取出送到译码器翻译,分析后面的操作数的长短。但操作码自己是不能分析自己的,只能让它一样长。如果是变长的CPU如何知道?追答“开始取操作码都是按设定好了的字节,取出送到译码器翻译,分析后面的操作数的长短”,

  “开始取操作码都是按设定好了的字节,取出送到译码器翻译,分析后面的指令的长短”,不是一样的电路么,指令也是一种数据。预取指根据操作码确定取多长指令进入指令译码器。

  不同的汇编指令消耗的周期是不一样的,具体见该CPU的指令集的说明。但是对于同一型号的CPU,相同的指令消耗的周期是一致的。相同的指令消耗的周期是一致的。谁不知道。我问的是同一块CPU的所有的指令周期都是相等的吗?

  不同指令的指令周期是不一样的. 比如同样是加法的 add 和 inc , inc 就快一些

http://mytkt.net/zhilingzhouqi/415.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有