X86操作系统基本运行环境是怎样的

如果只是从cpu的角度来看的话,程序只不过是一组指令并按编译时生成的顺序执行,在整个执行的过程当中会从内存中取值并在寄存器中操作,然后的达到一个期望的效果。下面小编为大家介绍一下x86操作系统的进本运行环境。
一、三种模式
x86操作系统有4种运行模式:实模式、保护模式、smm模式和虚拟8086模式。除smm模式外,其他三种模式常见于各种教科书,对理解x86cpu工作极为重要。
实模式:当cpu加电并经历最初的混沌状态后首先进入的就是实模式,它是早期intel8086 处理器的工作模式。在这种模式下,逻辑地址转换后即为物理地址,cpu可以访问1mb的物理地址空间(1mb+64kb)。操作系统或者bios通常在该模式下准备必要的数据结构和初始化关键的寄存器,然后切入保护模式。
保护模式:操作系统运行最常用的模式。在该模式下,cpu的所有功能几乎都能得到使用,可以访问架构允许的所有物理地址空间。本章的讲解,如无特殊说明,都是基于保护模式进行的。
虚拟8086模式:为了使早期的8086程序能在保护模式下运行,x86提供了虚拟8086模式。该模式可以让cpu在保护模式下为8086程序虚拟实模式的运行环境,使这些程序在执行时无须真正的从保护模式切换到实模式。
二、基本寄存器组
寄存器是软件操作cpu的最基本部件,x86架构的寄存器可以粗略的分为以下几类。
1、通用寄存器:共有8个32位的寄存器,例如常见的eax、edx等,用来保存程序运行时的临时变量、栈指针等数据。
2、内存管理寄存器:包括段寄存器和描述符表寄存器。
3、eflags寄存器:32位的寄存器,用来保存程序运行中的一些标志信息,如溢出、开启中断与否、分支跳转等信息。
4、eip寄存器:32位寄存器,用来保存指向当前指令的地址。通常教科书中称该寄存器为pc指针。
5、浮点运算寄存器:对于浮点运算,x86会通过一个浮点运算协处理器来处理。协处理器中包括8个80位的浮点数据寄存器,1个16位的控制寄存器,1个16位的状态寄存器,1个16位的标志寄存器,1个11位的指令码寄存器,1个48位的浮点指令指针寄存器和1个48位的浮点数据寄存器。这些浮点运算寄存器为浮点运算提供一个基本的运行环境。
6、控制寄存器:x86提供了5个控制寄存器,分别是cr0~cr4寄存器。这些控制寄存器决定了cpu运行的模式和特征等。
7、其他寄存器:x86还提供了其他一些寄存器,包括了8个调试寄存器dr0~dr7、内存区域类型寄存器、机器检查寄存器以及性能监控寄存器。
fqj

电枢和磁极的区别
基于I2C接口驱动芯片PCA9633实现LED显示控制系统的设计
欧姆龙推出适用于工业机器人系统的高级安全控制器
关于烟气在线监控系统的简单介绍
汽车制造领域是如何实现物联网与数据采集的
X86操作系统基本运行环境是怎样的
芯科实验室与艾睿电子达成全球特许分销协议
测土施肥配方仪的仪器特点介绍
锂电池隔膜上市公司汇总
吴通光电电能管理系统的设计与应用
虹科工业物联网产品赋能企业数字化转型
日本锂电池隔膜巨头正加快全球布局以扩大其隔膜产能
智能手环的功能和用途
钢材表面的氧化皮因素一般都有哪些
从单片机到PC的系统程序一些问题的理解
一加6T成为美国首款支持屏下指纹识别技术的手机
CBB21陶瓷贴片电容 瓷介电容 金属聚丙烯膜电容个子小容量大
电源芯片EN引脚对电机控制板有哪些影响
汽车电子风扇电机控制电路与主电路电磁兼容分析与优化
安吉智能联手发那科研发具有区域移动能力的协作机器人亮相