Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU原理之常用的寄存器 #268

Closed
WGrape opened this issue Oct 3, 2022 · 0 comments
Closed

CPU原理之常用的寄存器 #268

WGrape opened this issue Oct 3, 2022 · 0 comments
Labels
底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统

Comments

@WGrape
Copy link
Owner

WGrape commented Oct 3, 2022

前言

本文原创,著作权归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

@WGrape WGrape added 底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统 labels Oct 3, 2022
@WGrape WGrape closed this as completed Oct 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统
Projects
None yet
Development

No branches or pull requests

1 participant