一、通用寄存器

EAX、EBX、ECX、EDX、EBP、ESP、ESI和EDI 8个32位的通用寄存器。

通用寄存器结构
  AH AL
  BH BL
  CH CL
  DH DL
                                      SI
                                      DI
                                      BP
                                      SP

AH与AL是8位寄存器,构成AX,占16位。EBX(基址寄存器)、ECX(计数寄存器)、EDX(数据寄存器)具有类似的结构。

EBP(基址指示器)、ESP(堆栈指示器)、ESI(源变址寄存器)、EDI(目的变址寄存器)。

二、段寄存器

6个段寄存器(16位)分别是CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)、ES(扩展段寄存器)、FS和GS。

实地址模式下:逻辑地址表示为ES:BX,那么实际物理地址可表示为Address=ES<<4+BX;

保护模式下:逻辑地址同样表示为ES:BX(段选择符:段内偏移),具体的物理地址计算过程见后面的文章。

三、描述符寄存器

6个64位的描述符寄存器,与段寄存器一起来完成实际的物理地址转换,具体过程后文再表。描述符寄存器实际上是段寄存器的隐藏部分,具体可用下图来描述:

在地址转换的过程中,描述符寄存器(隐藏部分)用来存放描述符表项的。段寄存器(16位可见部分)用来存放段选择字或者叫做选择符

四、指令指针EIP

32位的指令指针EIP如下图所示:

32位EIP指令指针
  IP

五、标志寄存器EFLAGS

32位的标志寄存器位结构如下图所示:

EFLAGS寄存器
  VM RF   NT IOPL OF DF IF TF SF ZF   AF   PF   CF

说明:其中IOPL是IO特权标志位,表示当前任务的特权层;

NT位表示任务嵌套标志;

VM是虚拟保护模式标志;

IF是中断允许标志;

六、控制寄存器

80386中有4个32位的控制寄存器,分别是CR0、CR1、CR2和CR3,结构如下图所示:

控制寄存器
    TS EM MP PE
   
   
   

CR0寄存器的低16位叫做机器状态字(MSW),保护允许位(PE)用来使能CPU进入保护模式。

TS是任务切换位、EM是仿真协处理器位、MP是监督协处理器位。

说明:

  1. 系统可以是用LMSW和SMSW指令取出和存入机器状态字;MOV指令可以对CR0进行读写操作;
  2. CR1保留;
  3. CR2包含一个32位的线性地址,指向发生最后一次页故障的地址;
  4. CR3包含页目录表的物理基地址。

七、系统地址寄存器

80386有4个内存管理寄存器又可称为系统地址寄存器。分别是48位的GDTR 存放全局描述符表的基地址32位和限值16位;48位的IDTR存放中断描述符表的基地址32位和限值16位;LDTR寄存器用来存放局部描述符表的段选择字;TR寄存器用来存放任务状态段表的段选择字。

八、调试寄存器组

80386提供了8个32位的调试寄存器DR0-7,其中DR7用来设置断点,DR6保留断点状态,DR5和DR4保留,DR0-3可以保存4个断点线性地址。

九、测试寄存器组

80386提供了2个32位的测试寄存器,一个TR6是测试控制寄存器,另一个TR7来保留测试状态。

十、任务寄存器

80386提供一个32位的任务寄存器来为多任务系统提供支撑。在后面的文章里会结合任务状态段TSS进一步说明。

80386 CPU资源相关推荐

  1. php-cgi占用cpu资源过高的解决方法

    转的网上的,不过对PHP-CGI菜鸟的人,还是有点帮助的. 1. 一些php的扩展与php版本兼容存在问题,实践证明 eAccelerater与某些php版本兼容存在问题,具体表现时启动php-cgi ...

  2. [原]消耗CPU资源的shell脚本

    使用死循环消耗CPU资源,如果服务器是有多颗CPU,可以选择消耗多少颗CPU的资源: #! /bin/sh # filename killcpu.sh if [ $# != 1 ] ; thenech ...

  3. Docker容器对CPU资源隔离的几种方式

    了解Docker的同学应该知道,Docker的一个很大的特性就是可以对各种资源做隔离以及限制,这些资源包括CPU.内存.网络.硬盘,关于内存.网络.硬盘的资源限制都比较好理解,无非就是分多少用多少,比 ...

  4. 耗尽您CPU资源的Explored病毒清除法

    耗尽您CPU资源的Explored病毒清除法.... 一.在局域网上出现广播包(ARP)暴增,甚至把出口堵死. 二.机器CPU资源耗尽. 用任务管理器可以看到可疑的进程explored.exe和ser ...

  5. CPU资源和可用内存大小

    从上一节我们举得例子可以看到,每当大促系统繁忙的时候,我们可以监控到的CPU资源,内存资源都是十分紧张的,特别是对于一些计算密集型的应用,CPU越可能是影响整个系统的功能,成为系统的瓶颈,所以首先对M ...

  6. MySQL限制CPU资源使用_压缩大文件时如何限制CPU使用率?----几种CPU资源限制方法的测试说明...

    一.说明 我们的MySQL实例在备份后需要将数据打包压缩,部分低配机器在压缩时容易出现CPU打满导致报警的情况,需要在压缩文件时进行CPU资源的限制. 因此针对此问题进行了相关测试,就有了此文章. 二 ...

  7. php-cgi cpu很高,php-cgi占用cpu资源过高的解决方法

    转的网上的,不过对PHP-CGI菜鸟的人,还是有点帮助的. 1. 一些php的扩展与php版本兼容存在问题,实践证明 eAccelerater与某些php版本兼容存在问题,具体表现时启动php-cgi ...

  8. linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...

  9. 【Linux进程、线程、任务调度】四多核下负载均衡 中断负载均衡,RPS软中断负载均衡 cgroups与CPU资源分群分配 Linux为什么不是硬实时 preempt-rt对Linux实时性的改造

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章(点击链接:点击链接阅读上一篇文章)讲了: CPU/IO消 ...

  10. java接口经常变动前端怎么办_Java进程故障排查(CPU资源占用高,接口响应超时,功能接口停滞等)...

    故障分析 # 导致系统不可用情况(频率较大): 1)代码中某个位置读取数据量较大,导致系统内存耗尽,进而出现Full GC次数过多,系统缓慢: 2)代码中有比较消耗CPU的操作,导致CPU过高,系统运 ...

最新文章

  1. java基础之面试篇四-单向链表和双向链表区别
  2. Python常用扩展包
  3. 实习第二弹——交换机的配置与统计
  4. Spring Boot2.0 JPA 实现分页(简单查询分页、复杂查询分页)
  5. Python和Flask真强大:不能错过的15篇技术热文(转载)
  6. 使用某个文件夹下的所有文件去替换另一个文件夹下及其子文件夹下存在的同名文件(Python实现)...
  7. 简历人才库系统_人才招聘简历的3种选择
  8. 构建高性能.NET应用之配置高可用IIS服务器-第五篇 IIS常见问题之:工作进程回收机制(中)...
  9. 计算机怎样用计算法绘制圆弧,计算机图形学圆弧生成算法具体程序实现
  10. filetransferdmg魅族下载_filetransfer.dmg下载
  11. Eclipse背景颜色设置(设置成豆沙绿色保护眼睛)
  12. Android 如何通过拨号盘暗码启动你的应用
  13. countifs函数怎么用,excel函数的操作步骤
  14. 2021智能车小白总结
  15. Python爬虫初级(十一)—— Selenium 详解
  16. 微信世界争霸服务器,微信世界争霸小程序进不去游戏怎么办
  17. eclipse写入mysql乱码问题_怎么办eclipse向mysql插入数据出现乱码
  18. 1414,成绩(C++一本通评测系统)
  19. matlab神经网络43个案例PDF,matlab神经网络预测模型
  20. Python库的使用

热门文章

  1. python程序设计基础董付国 pdf-董付国《Python程序设计基础 第2版》PDF
  2. HRTF音频3D定位技术
  3. HTML 小型进销库存界面模板
  4. win10禁用驱动程序强制签名_Win10系统永久禁用驱动数字签名的方法是什么?
  5. pano2vr怎么制作漫游_Pano2VR如何制作全景图?全景图如何添加热点?
  6. pano2vr输出的HTML手机可以看吗,Pano2VR怎么导出手机可看, Pano2VR导出手机查看教程...
  7. endnote,出现试图越过其尾端对一个未命名的文件进行读写 错误
  8. printf输出格式总结
  9. XUI框架实现自带的tablayout(TabBar指示器)+viewpage实现页面切换?
  10. 精灵图(雪碧图)一招解决定位难问题,再也不用猜位置或者ps测距离了