Intel 开发者手册-(1)

从零开始-保护模式

=========================================

第三章 基本执行环境

本章节从汇编语言的编程人员的视角来描述IA-32处理器的基本执行环境。主要描述处理器如何执行指令,如何存储以及操作数据。这里所描述的执行环境包括:内存(地址空间),通用数据寄存器,段寄存器,标志寄存器和指令指针寄存器。

 

3.1   操作模式

 

IA-32架构支持三种基本的操作模式:保护模式,实地址模式和系统管理模式。操作模式决定了何种指令和架构特性是可用的:

 

l  保护模式:此模式是处理的固有状态。保护模式众多性能中的一项是在一个受保护,多任务的环境中直接执行实地址模式的8086软件。这一特性被称作“Virtual-8086 Mode”(虚拟8086模式),事实上这并不能归类为一种处理器模式。Virtual-8086模式是一种可以被任意一个任务启用的保护模式属性

 

l  实地址模式:此模式实现了Intel8086处理器编程环境的扩展(例如切换至保护模式或者系统管理模式的能力)。机器上电或者重置之后处理器都处于实地址模式。

 

l  系统管理模式(SMM):此模为操作系统或者执行者提供一种透明机制来实现与平台相关的功能,如电源管理和系统安全等。处理器在以下情形下进入系统管理模式:外部系统管理模式中断(SMM interrupt)针脚(SMI#)被激活(译著:高低电平或者边沿触发不详),或者接收到一个来自高级可编程控制器(APIC)(译著:Intel 8259系列芯片)的系统管理中断(SMI)。

 

在系统管理模式下,处理器在保存当前运行的程序或任务的基本上下文内容时会切换到分离的地址空间。然后指定的系统管理模式代码就能得以执行。直到从系统管理模式返回之前,处理器的状态优先级将被置于系统管理中断之后(译著:原文the processor is placed back into its state prior to the system management interrupt)。系统管理模式是在Intel386™ SL Intel486™ SL 处理器中引入的,后来成为Pentium处理器家族的一种标准IA-32特性。

 

3.1.1 IA-32e 模式

 

Intel® EM64TIntel® Extended Memory 64 Technology)扩展了IA-32架构的基本操作模式,增加了一种新的操作模式:IA-32e模式。该模式有两个子模式:

l  兼容模式:此模式允许大多数的16位和32位程序不被重新编译即可运行在64位的操作系统下。为了叙述方便,兼容性子模式就是指IA-32架构的兼容模式。兼容模式的基本执行环境在3.2章中描述。运行在虚拟8086模式下或者使用硬件任务管理的程序不是工作在此模式下。

 

兼容模式在代码段的开始处由操作系统启用。这意味着一个64位操作系统可以支持64位程序运行在64位模式并且支持32位程序运行在兼容模式。

 

兼容模式类似32位的保护模式。程序只会寻址低4GByte的线性地址空间。兼容模式使用16位和32位地址和操作数大小。像保护模式一样,兼容模式允许程序通过PAEPhysical Address Extensions)来访问大于4GByte的物理内存。

 

l  64位模式:此模式使64位操作系统能运行用于寻址64位长度的线性地址空间的程序。为了叙述方便,64位子模式即IA-32架构的64位模式。

 

64位模式扩展了通用寄存器和SIMD扩展寄存器的数量,从8个增加到了16个。通用寄存器的位宽增加到64位。此模式还引入了一种新的操作码前缀REX来适应寄存器的扩展。详细叙述见3.2.1

 

64位模式中,REX前缀可以云寻使用64位操作数。通过这种机制,许多现存的指令升级为可以使用64位寄存器和64位地址。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Intel开发者手册2021年最新版 官网可以免费下载,我这里整合一下 包括卷1到卷4的单本: Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1-Basic Architecture.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2A-Instruction Set Reference, A-L.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2B-Instruction Set Reference, M-U.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2C-Instruction Set Reference, V-Z.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2D-Instruction Set Reference.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A-System Programming Guide, Part 1.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3B-System Programming Guide, Part 2.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3C-System Programming Guide, Part 3.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3D-System Programming Guide, Part 4.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 4 Model-Specific Registers.pdf 卷2合集: Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 2A, 2B, 2C, and 2D Instruction Set Reference, A-Z.pdf 卷3合集: Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D System Programming Guide.pdf 卷1-4合集 : Intel 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4.pdf
### 回答1: DPDK是一种高性能数据包处理框架,能够在标准Intel处理器上实现高速数据包收发,其源码开放并有详细的开发者手册PDF可供参考。DPDK作为一种用户态数据包处理框架,利用整个计算机所有可用的CPU核心,实现了数据包的高吞吐量和低延迟。相比于传统的内核协议栈方式,DPDK可以在处理网络数据包时减少唤醒操作和内存复制等开销,提高网络数据包处理的效率。DPDK框架包括了四个核心模块:环形缓冲、内存管理、线程管理和设备驱动。其中,环形缓冲是DPDK最核心的模块之一,也是实现高吞吐量数据收发的关键。DPDK源码很庞大,其中包含设备管理、调度管理、协议栈等众多模块,需要有一定的网络编程基础和对硬件知识的理解才能够进行开发与调试。开发者手册PDF详细介绍了DPDK的架构、核心API、样例代码等内容,对于一些想要了解DPDK架构和开发的消息人士来说非常有用。然而,由于DPDK需要使用专有硬件进行加速,因此在实际的部署和应用过程中,需要较高的技能门槛和较大的硬件成本支持。 ### 回答2: DPDK是一个开源的数据平面开发套件,是一种优化高性能数据包处理的工具集。DPDK源码是开发者们在构建高性能网络应用时所使用的关键组件之一,它由一组通用库和驱动程序组成,可让应用程序通过网络卡直接访问内存。DPDK的目标是加速数据包处理,减少处理延迟和CPU开销,从而提升系统的吞吐量、性能和响应能力。 DPDK开发者手册pdf包括官方文档、范例和指南等。它提供了对DPDK如何工作、如何使用和如何开发应用程序的深入了解。开发者手册包括DPDK核心库和网络接口、存储接口、虚拟设备和安全功能等详细说明,涵盖了从安装和配置到开发和调试的全过程。同时,开发者手册中还包含大量的代码实例及应用场景,可以帮助开发者更快地上手,实现高效的数据平面处理。 总之,DPDK源码和开发者手册为网络开发人员提供了优秀的工具和文档支持,让开发者可以更加轻松和高效地构建高性能的网络应用程序。无论是在业务处理、数据中心或云环境中,DPDK都是一个可靠的数据平面开发框架,为网络应用程序提供了高速、可靠的运行环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值