yale_OS(3)——Intel IA32架构

<style type="text/css"> <!-- @page {margin:2cm} p {margin-bottom:0.21cm} --> </style>

简单介绍Intel IA32 PC架构

Intel使用IA32来代表Pentium处理器族,以区别64bit的架构。

1.模式

IA32处理器有三种操作模式

实模式:当PC上电或复位时,处理器处于这种模式,此时可以使用一条简单的指令转换到保护模式

保护模式:对于现代操作系统来说,这是一种首选的模式,该模式支持虚拟内存寻址以及支持多程序环境和保护机制。

系统管理模式:


也有一种叫虚拟8086模式,该模式用于在保护的,多任务环境下允许处理器执行8086的代码软件。

2.寄存器集

有三种类型的寄存器:通用数据寄存器,段寄存器以及状态和控制寄存器,如下图所示,

8个通用数据寄存器(General-Purpose registers)

6个段寄存器(Segments registers),用来保存16bit的段选择子,

EFLAGS寄存器:32bit的寄存器包含一组状态标志,控制标志和系统标志,下图显示了EFLAGS寄存器中各bit位的功能。

Function
EFLAG Register bit or bits
ID Flag (ID)
21 (system)
Virtual Interrupt Pending (VIP)
20 (system)
Virtual Interrupt Flag (VIF)
19 (system)
Alignment check (AC)
18 (system)
Virtual 8086 Mode (VM)
17 (system)
Resume Flag (RF)
16 (system)
Nested Task (NT)
14 (system)
I/O Privilege Level (IOPL)
13 to 12 (system)
Overflow Flag (OF)
11 (system)
Direction Flag (DF)
10 (system)
Interrupt Enable Flag (IF)
9 (system)
Trap Flag (TF)
8 (system)
Sign Flag (SF)
7 (status)
Zero Flag (ZF)
6 (status)
Auxiliary Carry Flag (AF)
4 (status)
Parity Flag (PF)
2 (status)
Carry Flag (CF)
0 (status)


EIP寄存器(指令指针):


3.寻址

1)Bit和Byte顺序:IA32处理器使用“小端”作为其字节顺序,

2)数据类型:IA提供4种数据类型:abyte(8 bits), a word(16 bits), a double-word(32 bits), aquad-word(64 bits),

注:在GUN汇编器中,一个字表示“word”,双字等同于“long”。

3)内存寻址:两种方式,统一内存模式和分段内存模式。

  • 在统一内存模式下,内存对于一个程序来说,是一个单一的,连续的地址空间,称为线性地址空间。代码,数据和程序堆栈都包含在该地址空间中,该线性地址空间是字节可寻址的,因此,内存空间大小为:0to 232 – 1
  • 在分段内存模式下,内存对于一个程序来说,是一组分段的地址空间称为段,当使用这种模式时,代码,数据,堆栈被包含在各自的段中,为了在一个段中寻址一byte,程序必须使用逻辑寻址,该寻址方式包括段选择子和一偏移offset。段选择子表示需要进入的段,offset指示该段中的一byte的地址空间。

4.处理器复位

冷启动或热启动都可以复位CPU,冷启动就是系统上电,而热启动就是表示当同时按下CTRL-ALT-DEL键时,键盘BIOS将设置一特殊的标志,然后重启CPU。

当复位后,处理器进入实模式,且禁止了中断操作,关键的寄存器设置为可知的状态。例如,EFLAGS寄存器为00000002H,而内存不变,因此,当冷启动时,内存中包含很多垃圾信息。CPU跳到BIOS(Basicinput output services)来从disk中加载bootstraploader程序,然后开始执行loader。BIOS加载bootstraploader到固定的地址0:7C00,然后跳到此开始地址。


Function
EFLAG Register bit or bits
ID Flag (ID)
21 (system)
Virtual Interrupt Pending (VIP)
20 (system)
Virtual Interrupt Flag (VIF)
19 (system)
Alignment check (AC)
18 (system)
Virtual 8086 Mode (VM)
17 (system)
Resume Flag (RF)
16 (system)
Nested Task (NT)
14 (system)
I/O Privilege Level (IOPL)
13 to 12 (system)
Overflow Flag (OF)
11 (system)
Direction Flag (DF)
10 (system)
Interrupt Enable Flag (IF)
9 (system)
Trap Flag (TF)
8 (system)
Sign Flag (SF)
7 (status)
Zero Flag (ZF)
6 (status)
Auxiliary Carry Flag (AF)
4 (status)
Parity Flag (PF)
2 (status)
Carry Flag (CF)
0 (status)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值