CPU原理之常用的寄存器

Posted by WGrape的博客 on October 2, 2022

文章内容更新请以 WGrape GitHub博客 : CPU原理之常用的寄存器 为准

前言

本文原创,著作权归WGrape所有,未经授权,严禁转载

一、介绍

寄存器只用来存储数据,数据一般分为

  • 指令
  • 数据
  • 地址
  • 变址 ( 指针 )
  • 状态/标志
  • 命令控制

因此寄存器按数据类型分为 :指令寄存器、数据寄存器、段寄存器、地址指针寄存器、标志寄存器、控制寄存器。

屏幕快照 2019-11-10 下午3 41 00

二、PC寄存器

image

  • PC程序计数器有自增+1的功能,读取完此指向的指令后,PC会自动+1
  • PC程序计数器是一个概念,常见的实现方式有 CS:IP

三、控制寄存器

控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。

  • CR0中含有控制处理器操作模式和状态的系统控制标志;
  • CR1保留不用;
  • CR2含有导致页错误的线性地址;
  • CR3中含有 目录-表-页 物理内存的基地址,因此该寄存器也被称为 页目录 基地址 寄存器PDBR(Page-Directory Base address Register)

四、常用的寄存器

1、常用的指令寄存器

IR指令寄存器,存储将要执行的指令

2、常用的数据寄存器

通用寄存器中的 AX - DX (AX,BX,CX,DX)作为数据存储寄存器,常用于CPU计算过程中存放操作数或中间结果,以减少对存储器的访问次数。

3、常用的段寄存器

CS代码段寄存器、DS数据段寄存器、ES附加段寄存器、SS堆栈段寄存器

SS与SP寄存器的区别 :SS里面存放堆栈段的段地址,SP则存放偏移地址

4、常用的地址指针寄存器

BP、SP、SI、DI

BP 虽叫做基址指针,但是基址并不表示不是变址。参考https://blog.csdn.net/bagboy_taobao_com/article/details/7370504

5、常用的状态/标志寄存器

AF、CF、DF、OF、ZF

五、寄存器扩展

屏幕快照 2019-11-10 下午3 50 17