一条指令就是计算机执行的一条操作吗?
计算机能执行的都是机器码
完成一条指令的功能可以分成两个主要阶段:取指和执行。
取指(fetch)――从主存储器中取出指令代码进入cpu。
8086cpu中,指令在存储器中的地址由代码段寄存器cs和指令指针寄存器ip共同提供,再由地址加法器得到20位存储器地址。总线接口单元biu负责从存储器取出这个指令代码,送入指令队列。
执行(execution)――是将指令代码翻译成它代表的功能(被称为译码)、并发出有关控制信号实现这个功能。
8086cpu中,执行单元eu从指令队列中获得预先取出的指令代码,在eu控制电路中进行译码,然后发出控制信号由算术逻辑单元进行数据运算、数据传送等操作。指令执行过程需要的操作数据有些来自cpu内部的寄存器、有些来自指令队列、还有些来自存储器和外设。如果需要来自外部存储器或外设的数据,则控制单元eu控制总线接口单元biu从外部获取。
通常一条指令对应着一种基本操作。
一个计算机能执行什么样的指令,有多少条指令,这是由设计人员在设计计算机时决定的。计算机所能直接执行的全部指令,就是计算机的指令系统。以二进制编码表示的指令叫机器指令,它通常包括操作码和操作数两大部分,操作码表示计算机执行什么操作,操作数指明参加操作的数的本身或操作数所在的地址。因为计算机只认识二进制数,所以计算机指令系统中的所有指令都必须以二进制编码的形式来表示。一般把计算机完成一条指令所花费的时间称为一个指令周期,指令周期越短,指令执行越快。通常所说的CPU主频或工作频率,就反映了指令执行周期的长短。