Intel® IA-32 Architecture Learning 1
来源:互联网 发布:java项目如何上线 编辑:程序博客网 时间:2024/05/24 03:26
Author: Harold Wang
http://blog.csdn.net/hero7935
Overview:
Operation Mode
Typical Computer Systems
Registers/Resources
Operation Mode:
Real Mode
Intel® 8086 processor mode with a few extension that only 20 bit address memory is ceessible(1MB) and used for Linux* Boot procedure.
Protected Mode
Everything is available!
System Management Mode
A transparent mechanism for management, Not in the scope
Virtual 8086 Mode(V86 Mode)
Allows the processor to execute 8086 software in a protected, multitasking environment
Ia32e Mode
Compatibility Mode that protected Mode applications run unchanged.
64-bit Mode that 64 bit linear address, physical memory space larger that 64GB
Basci Program Execution Registers:
System Level Registers and Data Structures in IA-32 Mode
Author: Harold Wang
http://blog.csdn.net/hero7935
Address Translation:---->2 Stage _1 Segmentation
Logical Address[16bit Segment selector+32bit offset];
Linear Address[32bit flat address space];
1.Segment Selector(16 bit):
--An index to GET/LDT
2.Segment Descriptor(8 byte):
--Specifies Segment Basse, Limit and DPL
3.Segment Register(6)
--CS,DS,ES,SS,FS,GS(you can refer to the former graph)
There are 2 MM Models: Flat Model(used in Linux), Multi-Segment Model
Address Translation:---->2 Stage _2 Paging
When PAE disabling…
-- Page Directory Entry(4KB Page Table)
--Page Table Entry(4KB Page)
Privilege Level Check:
Protecting Ring
Privilege Level~CPL DPL RPL
Privilege Check
Author: Harold Wang
http://blog.csdn.net/hero7935
If Data Segment : DPL>=CPL && DPL>=RPL
If Stack Segment :DPL=CPL=RPL
Transferring to Privileged Code:
Other privileged Instructions:
Memory Management Registers:
--Control Registers:
--GDT/LDT/IDT/TR:
IDT and IDT descriptor:
IDTR register contains IDT base address and limit
Interrupt/Exception Handling:
Interrupt/Trap gate transfers control to interrupt/exception handler like a call gate.
only differs~Interrupt gate will clear IF, trap gate will not!
Author: Harold Wang
http://blog.csdn.net/hero7935
Interrupt Enabling/Disabling:
By changing EFLAGS.IF and EFLAGS.RF, EFLAGS.TF~
Clearing IF disables servicing of maskable hardware interrupt.
Setting RF disables debug exceptions for instruction breakpoint
Clearing TF disables single step breakpoint exception
Task Management Data structure:
TSS Descriptor
TSS Gate
TSS Register
Interrupt/Exception Handling may involve Stack switches if transfer to lower privileged code:
Author: Harold Wang
http://blog.csdn.net/hero7935
Thank You for Intel® Open Source Technology Center
- Intel® IA-32 Architecture Learning 1
- Intel® IA-32 Architecture Learning 2 Protected-Mode Memory Management
- Intel® IA-32 Architecture Learning 3.2 PROCESSOR MANAGEMENT AND INITIALIZATION---Taking Linux As Example
- IA-32 Intel(R) Architecture Software Developer's Manuals
- IA-32, Intel(R) 64 and IA-64 Architecture 的含义
- Intel IA-32架构浅析
- 1_1 本册的Intel®64和IA-32处理器(连载)
- Intel® 64 and IA-32 Architectures:写在前面的话
- Intel® 64 and IA-32 Architectures:0001-前言
- intel 64 和 IA-32 的manual
- Intel 64 and IA-32 cache 术语
- Intel 64 and IA-32 Control Registers
- Intel 64 and IA-32 cache control
- [Intel汇编-NASM]IA-32编程构架
- Intel x86_64 Architecture Background(1)
- Intel® 64 and IA-32 Architectures Software Developer's Manuals
- Intel® 64 and IA-32 Architectures Software Developer's Manuals
- Intel® 64 and IA-32 Architectures:0002-NOTATIONAL CONVENTIONS(符号约定)
- 【Linux】把Vim改装成一个IDE编程环境
- Android UI事件处理——实现事件监听接口的4种方法
- 替换word中手动换行(软回车)为段落标记(硬回车)
- C#监测全局键盘与鼠标事件
- 【转】J2SDK1.5+TOMCAT5.5 最详细有效安装及配置
- Intel® IA-32 Architecture Learning 1
- Android 开发人员必须掌握的 10 个开发工具
- Android编译系统分析
- Mercurial - 分布式版本控制系统
- 变形动画之kinect模块
- 安装visual studio 2003重启问题
- 用指针访问类中private成员
- 改变文件所有者及所属群组的chown,chgrp
- Python网页抓取:获取页面中某段内容的xpath