1:指令和数据区分
通常完成一条指令可分为取指阶段、分析阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存储器中,但CPU可以判断出在取指阶段访存取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。
计算机区分指令和数据有以下2种方法:
- 1.通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
指令周期分为4个部分
取指周期,这个周期取出的是指令{操作码,地址码}
间接寻址周期,找到有效地址(内存物理地址)
执行周期,这个周期取出的就是数据
中断周期,检查有没有中断信号
- 2. 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
2:指令
指令(又称机器指令)是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统/指令集
- 通常一条指令包括两方面的内容:操作码和操作数,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。比如下图:存储在主存的指令集
-

- CPU能处理计算机指令组成了计算机指令集(instruction set),然而不同CPU能处理的计算机指令集是不同的,现在指令集见的比较多有两类。
- 指令集不同的意思比较直观的一点就是比如说在某种指令集中1010代表add,所以这条指令的指令码部分就是1010,在有的指令集里面,0000代表add,所以同样的二进制串在不同的指令集下有不同的解读
- 一类是CISC:复杂指令集计算,x86架构为代表的(我们的PC)
- 另一类是RISC:精简指令集计算,ARM为代表的(比如我们的手机)
3:指令的结构
3.1:四地址指令
3.2:三地址指令
3.3: 二地址指令
3.4:一地址指令
3.5:零地址指令
4:计算机数据
- 计算机中的数据:分为数值数据和非数值数据
- 数值数据:分为无符号数据(如我们的身份证号)和有符号数据(正数和负数)
- 非数值数据:例如文字,图像,声音(如ASCII码)
4.1:有符号数据
- 符号:用0,1分别表示正,负号,放在最高位
- 小数点(小数点均不占数位):
定点数:约定小数点隐含在某一位置
浮点数:小数点可以浮动
4.2:原码,反码,补码