cpu与寄存器

cpu是寄存器的集合体

不同类型的cpu,其内部寄存器的种类数量以及寄存器的数值范围是不一样的。

  • 累加寄存器:储存运行的数据和运算后的数据。
  • 标志寄存器:用于反应处理器的状态和运算结果的某些特征以及控制指令的运行。
  • 程序计数器:程序计数器是用于存放下一条指令所在单元的地址的地方。
  • 基址寄存器:储存数据内存的起始位置。
  • 变址寄存器:储存基址寄存器的相对地址。
  • 通用寄存器:储存任意数据。
  • 指令寄存器:储存正在被运行的指令,cpu内部使用。
  • 栈寄存器:储存栈区域的起始位置。
    其中程序计数器、累加寄存器、标志寄存器和栈寄存器都只有一个。
    其他寄存器一般有多个。

程序计数器:程序执行时,pc的初始值为程序第一条指令的地址,在顺序执行时,控制器首先将程序计数器所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将pc的值加一指向下一条要执行的指令。
程序计数器控制着程序的流程。
标志寄存器:cpu在运算时,标志寄存器的数值会根据当前的运算结果自动设定,运算结果的正负和零的三种状态由标志寄存器的三个位表示。标志寄存器的第一个字节位、第二个字节位、第三个字节位各自的结果都为1时,分别代表着正数、零、负数。
比较运算的标志寄存器:例如累加寄存器中储存的xx和通用寄存器中储存的yy进行比较,执行时,cpu的运算机制会做剪发运算,而无论减法运算的结果是正数、负数还是零,都会保存在标志寄存器中。

cpu指令执行过程

分为5个阶段:取指令、指令译码、指令执行、访问取数、结果写回

  1. 取指令:将内存中的指令读取到cpu中的寄存器的过程,程序寄存器用于储存下一条指令所在的地址。
  2. 指令译码:在取指令完成后,立马进入指令译码阶段,在该阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和化解释,识别区分出不同的指令类别以及各种获取操作数的方法。
  3. 执行指令:译码完成后,就需要执行这一条指令了,此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。
  4. 访问取数:根据指令的需要,有可能需要从内存中提取数据,此阶段的任务是:根据指令地址码,的到操作数在主存中的地址,并从主存中读取该操作数用于运算。
  5. 结果写回:最后一个阶段,结果写回阶段把指令执行阶段的运行结果数据写回到某种储存形式。结果数据经常被写到cpu中的内部寄存器中,以便后续的指令快速的存取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值