当前位置: 首页 > news >正文

现代CPU的多种运行模式

目前的CPU大多是支持X86-64技术的兼容CPU,这包括AMD64以及Intel的IA32E(后被正式命名为EM64T,Extended Memory 64 Technology),因为AMD64先出,而EM64T与AMD64完全兼容,所以也统一称为AMD64技术。由于AMD64技术向下兼容,所以很好的承接了以前的16位、32位资源,与此相应,X86-64兼容CPU可以运行在多种模式之下,除了熟悉的实模式,保护模式,还有长模式等,下面统一简单介绍现代CPU可运行的各种模式。

8086/8088时代:
实模式,Real-address Mode,实地址模式,CPU寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。在实模式下,CPU只能做单任务运行。
在实模式下,寻址公式为:物理地址 = 左移4位的段地址 + 偏移地址,即:物理地址是由16位的段地址和16位的段内偏移地址组成的。比如在ES寄存器中存入0x1000,DI寄存器中存入0xFFFF,那么ES:DI=0x1000*0x10 + 0xFFFF = 0x1FFFF。

80286到80386开始:
保护模式,Protected Mode,内存保护模式,寻址采用32位段和偏移量,最大寻址空间为4GB,最大分段4GB (Pentium Pre及以后为64GB)。保护模式拥有内存保护,分页系统,以及硬件支援的虚拟内存等功能。
在保护模式下,进行寻址时,段寄存器值不再被简单的解析为段起始地址,而是全局/局部描述符表(GDT/LDT)的索引,也即是所谓的选择子。

系统管理模式,System Management Mode,系统管理模式(SMM)通常被用来执行特定的强力管理例程,关于这方面,我完全没有接触到,所以连直接拷贝都不敢了,以免出错误导他人,只知道貌似和BIOS程序有些关系。

虚拟8086模式,Virtual-8086 Mode,V86模式,在保护模式下CPU可以进入到这种模式,即虚拟8086模式是保护模式下的一种工作方式。CPU把V86任务作为与其它任务具有同等地位的一个任务,可以支持多个V86任务,每个V86任务是相对独立的。在虚拟8086模式下,处理器工作方式类似于8086。

长模式,Long mode,在长模式下,处理器完全执行64位指令,使用64位地址空间(物理内存的寻址能力却没有被完全扩展到64位,因为目前的众多CPU在其寿命期限之内都没有机会见识到如此巨大的内存)和64操作数。

相关文章:

现代CPU的多种运行模式

目前的CPU大多是支持X86-64技术的兼容CPU,这包括AMD64以及Intel的IA32E(后被正式命名为EM64T,Extended Memory 64 Technology),因为AMD64先出,而EM64T与AMD64完全兼容,所以也统一称为AMD64技术。…...

Python PDF处理模块pypdf库详解

概要 PDF(Portable Document Format)是一种常见的文档格式,广泛用于存储和共享文本和图像数据。在 Python 中,有许多库可以用于处理 PDF 文件,其中之一就是 PyPDF。PyPDF 是一个功能强大的库,它允许你读取…...

C++上位软件通过LibModbus开源库和西门子S7-1200/S7-1500/S7-200 PLC进行ModbusTcp 和ModbusRTU 通信

前言 一直以来上位软件比如C等和西门子等其他品牌PLC之间的数据交换都是大家比较头疼的问题,尤其是C上位软件程序员。传统的方法一般有OPC、Socket 等,直到LibModbus 开源库出现后这种途径对程序袁来说又有了新的选择。 Modbus简介 Modbus特点 1 &#…...

PLSQL Developer 15安装和oracle客户端安装

文章目录 前言一、PLSQL Developer1.下载2.安装 二、oracle客户端1.下载2.环境变量 三、使用1. oci2. 连接3. 配置文件 总结 前言 oracle是经常使用的数据库,PLSQL Developer是众多产品中比较不错的一款工具,接下来我们来介绍PLSQL Developer的安装和使…...

【深度deepin】深度安装,jdk,tomcat,Nginx安装

目录 一 深度 1.1 介绍 1.2 与别的操作系统的优点 二 下载镜像文件及VM安装deepin 三 jdk,tomcat,Nginx安装 3.1 JDK安装 3.2 安装tomcat 3.3 安装nginx 一 深度 1.1 介绍 由深度科技社区开发的开源操作系统,基于Linux内核&#xf…...

解决flask启动报错:ImportError: DLL load failed while importing _dukpy: 找不到指定的程序

现象: 原因:dukpy没有win32执行库 解决办法: 到lfd.uci.edu 第三方库下载dukpy的win32 whl文件 注意: 需要跟你python版本和windows平台(32位/64位)对应 https://www.lfd.uci.edu/~gohlke/pythonlibs/#…...

腾讯面试总结

腾讯 一面 mysql索引结构?redis持久化策略?zookeeper节点类型说一下;zookeeper选举机制?zookeeper主节点故障,如何重新选举?syn机制?线程池的核心参数;threadlocal的实现&#xff…...

面向对象进阶(static关键字,继承,方法重写,super,this)

文章目录 面向对象进阶部分学习方法:今日内容教学目标 第一章 复习回顾1.1 如何定义类1.2 如何通过类创建对象1.3 封装1.3.1 封装的步骤1.3.2 封装的步骤实现 1.4 构造方法1.4.1 构造方法的作用1.4.2 构造方法的格式1.4.3 构造方法的应用 1.5 this关键字的作用1.5.1…...

Blazor项目如何调用js文件

以下是来自千问的回答并加以整理:(说一句,文心3.5所给的回答不完善,根本运行不起来,4.0等有钱了试试) 在Blazor项目中引用JavaScript文件(.js)以实现与JavaScript的互操作&#xff…...

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

系列文章目录 前言 一、Windows11 - Ubuntu 双系统安装 硬件信息: 设备名称 DESKTOP-B62D6KE 处理器 13th Gen Intel(R) Core(TM) i5-13500H 2.60 GHz 机带 RAM 40.0 GB (39.8 GB 可用) 设备 ID 7673EF86-8370-41D0-8831-84926668C05A 产品 ID 00331-10000-0000…...

深度学习(学习记录)

题型:填空题判断题30分、简答题20分、计算题20分、综合题(30分) 综合题(解决实际工程问题,不考实验、不考代码、考思想) 一、深度学习绪论(非重点不做考察) 1、传统机器学习&…...

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…...

SpringSecurity深度学习

SpringSecurity简介 spring Security是什么? Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,用于保护基于Spring的应用程序。它是Spring项目的一部分,旨在为企业级系统提供全面的安全性解决方案。 一个简单的授权和校验…...

odoo17 | 用户界面的基本交互

前言 现在我们已经创建了我们的新模型及其 相应的访问权限,是时候了 与用户界面交互。 在本章结束时,我们将创建几个菜单以访问默认列表 和窗体视图。 数据文件 (XML) Odoo在很大程度上是数据驱动的,因此模块定义的…...

Intel 性能监视器之二

全文来自Intel开发者手册:Intel? 64 and IA-32 Architectures Software Developer’s Manual Volume 3B System Programming Guide.pdf 注意:下文中已经指出手册中的对应页面和章节,请对照手册原文看,任何个人理解错误&#xff…...

Vert.x学习笔记-什么是事件总线

广义事件总线介绍Vert.x的事件总线Vert.x的事件总线的实现方式Vert.x的事件总线通信模式事件总线与消息队列的区别点对点通信模式请求-应答通信模式发布-订阅通信模式 Vert.x的事件总线应用场景Vert.x的事件总线消息Vert.x的事件总线消息示例Vert.x的事件总线的消息类型 拓展 广…...

STM32学习笔记二十二:WS2812制作像素游戏屏-飞行射击游戏(12)总结

至此,飞行射击游戏已经基本实现该有的功能,已经比较接近早期的商业游戏了。 如果采用脚本,可以完成关卡游戏,如果不用,也可以做成无限挑战游戏。 我们汇总一下制作的过程: 1、建模UML 2、主循环处理过程…...

astadmin安装querylist插件Puppeteer

我本来是想在linux服务器上安装,折腾了一天也没安装成功,由于急着用,就先做window10上安装了,以后有时间再研究centos7上安装 一 首先需要安装fastadmin 框架和querylist插件 这个大家可以自行安装,querylist安装地址…...

Python从入门到网络爬虫(MySQL链接)

前言 在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题…...

2020年认证杯SPSSPRO杯数学建模A题(第二阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现: 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮,在平地上可以被水平推动或旋转,但不会歪斜),这样的设备称为一个麦克风树。不同的麦…...

基于MCP协议构建Jira连接器:打通AI助手与项目管理的技术实践

1. 项目概述:当Jira遇上MCP,一个连接器如何重塑项目管理工具链如果你和我一样,长期在软件研发一线摸爬滚打,那么对Jira这个名字一定不会陌生。它几乎是敏捷开发、缺陷跟踪和项目管理的代名词,无数团队用它来规划冲刺、…...

Imagine Engine时间线管理:掌握游戏节奏的完整教程 [特殊字符]

Imagine Engine时间线管理:掌握游戏节奏的完整教程 🎮 【免费下载链接】ImagineEngine A project to create a blazingly fast Swift game engine that is a joy to use 🚀 项目地址: https://gitcode.com/gh_mirrors/im/ImagineEngine …...

C++二叉树控制台可视化:从递归布局到层序遍历的图形化实现

1. 项目概述:为什么我们需要“看见”二叉树?在C的学习和数据结构实践中,二叉树是一个绕不开的核心概念。我们经常需要实现它的插入、删除、遍历等操作。然而,无论是调试一个复杂的平衡算法,还是向他人展示你的数据结构…...

专业级音频编辑免费开源:Audacity 4.0 全面解析与使用指南

专业级音频编辑免费开源:Audacity 4.0 全面解析与使用指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为寻找一款功能全面、易于上手且完全免费的音频编辑软件而烦恼吗?是否曾经因…...

Flowable工作流实战:手把手教你安全删除运行中的任务(附完整SQL与避坑指南)

Flowable工作流实战:安全删除运行中任务的完整指南 在业务流程管理系统中,Flowable作为一款轻量级的工作流引擎,因其高效的流程执行能力和灵活的扩展性而广受开发者青睐。然而在实际开发过程中,我们难免会遇到需要强制删除运行中任…...

独立硬件看门狗芯片Air153C:提升嵌入式系统可靠性的终极方案

1. 项目概述:为什么我们需要一颗独立的看门狗芯片?最近在做一个户外数据采集终端的项目,设备部署在野外,需要长期稳定运行。最头疼的问题不是功能实现,而是如何应对各种意想不到的“死机”。电源波动、电磁干扰、程序跑…...

合并报表的10个基本逻辑原理,0基础也能看懂

合并报表真正的门槛不在分录,而在思维方式。单体报表做久了,容易不自觉地站在一家公司的视角去看业务,但合并报表要求你立刻跳出来,用一个“虚构的大集团”的眼睛去重新审视所有交易。这种视角切换,往往比具体的抵销技…...

基于Three.js与WebSocket构建虚拟小镇:全栈技术架构与优化实践

1. 项目概述与核心价值最近在折腾一个叫“Alicization-Town”的开源项目,它来自GitHub上的ceresOPA组织。乍一看这个名字,可能会联想到某个动漫或者游戏里的场景,但实际接触后,我发现它远不止于此。这是一个围绕“虚拟小镇”或“数…...

GTNH中文汉化:从工业革命到魔法殿堂的语言桥梁

GTNH中文汉化:从工业革命到魔法殿堂的语言桥梁 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH 你是否曾经面对GTNH整合包中那些晦涩的工业术语和神秘魔法词汇而感到迷茫&#xff…...

Minecraft服务器技能管理自动化:mcpskills-cli命令行工具实战指南

1. 项目概述与核心价值最近在折腾一些自动化脚本,特别是涉及到Minecraft服务器管理和技能系统的时候,发现很多操作还是得手动进后台敲命令,或者依赖一些图形化面板,效率上总感觉差了点意思。直到我发现了alibiinformationsuperhig…...