cpu 是控制器 (自动控制,即按照写好的“解题步骤”一步一步执行) 和运算器构成。
思考题:如何区分在“纸”上的二进制码是 指令还是数据?
回答:在取值周期(第一个CPU周期)从内存里读出的二进制码,并流向控制器 的 是 指令。
在执行指令周期(后几个CPU周期)内存里读出二进制码,流向运算器的 或 从运算器出来的运算结果 流向 内存的 是数据。
思考题:指令周期 CPU周期 时钟周期区分
回答:指令周期 :取指令并执行指令的 过程 花的时间。
CPU周期:CPU 从内存里读取一个指令的最短时间。
时钟周期:CPU周期包括多个时钟周期(一个钟的 24个点)。
控制器 决策机构
取指令,并指出下一条指令的位置。
(分析指令)指令译码,产生相应的操作信号(取数还是做),启动规定的动作。比如一次算术逻辑操作。
指挥控制CPU内存输入输出设备之间数据流动的方向(数据流动:输入设备-内存-CPU-内存-输出设备)。
因此硬件上 需要程序计数器,指令寄存器,指令译码器,时序产生器(非常重要,指令的 运行对时间很敏感,它产生时间信号),操作控制器。
CPU是由许多寄存器组成,这些寄存器只存入少量信息,一般就是一个字长(大多数寄存器的尺寸是一个字长。字是其用来一次性处理事务的一个固定长度的位(bit)组,
现代计算机的字长通常为16、32、64位。)
比如:
地址寄存器: AR保存当前CPU访问内存地址。因为CPU和内存存在 操作速度上的差别,所以必须 由它保存 地址信息,直到读写完成为止。
缓冲寄存器: CPU和内存之间的中转站。暂时放由内存中取出的指令和数据。
指令寄存器: 保存当前执行指令的位置。
累加寄存器: 暂时存放ALU(算术逻辑运算电路)运算结果。
程序计数器: 保证程序连续执行。指向下一条指令的位置。
状态寄存器: 保存运算结果的各种条件码,进位标,溢出标,运算结果为0标 等。
操作控制器: 产生操作信号,指挥寄存器在数据通路间运转。
时序产生器: 对操作控制信号严格控时。
根据设计方法不同,1 组合逻辑型(硬布线控制器),2 存储逻辑型(微程序),3 前两个结合型。
下面是 四个典型指令
非访内 CLa(零地址) 直接访内ADD 间接访内 程序控制指令