首页 > 其他分享 >cpu 3 模式

cpu 3 模式

时间:2023-08-20 14:56:19浏览次数:43  
标签:保护模式 模式 寻址 64 寄存器 cpu

参考 blog

按照 CPU 功能升级迭代的顺序,CPU 的工作模式有实模式、保护模式、长模式。他们的主要区别是寻址方式和指令权限。下文以 x86_64 为例

实模式

实模式寄存器

每个 16 bit 大小,可以分成 H 和 L 两个。下图的右半边的寄存器。

寄存器

实模式寻址

  • 寻址范围
    8086 cpu 的地址总线有 20 位,所以寻址范围 2**20 = 1 MB(后续的 cpu 兼容了实模式的寻址方法)

  • 寻址方式
    寄存器 16 位,地址有 20 位,为了访问更高的内存引入了段式内存管理——8086CPU将1MB存储空间分成许多逻辑段,每个段最大限长为64KB(但不一定就是64KB)。这样每个存储单元就可以用“段基地址+段内偏移地址”表示段基地址由16位段寄存器值左移4位表达,段内偏移表示相对于某个段起始位置的偏移量。

实模式中断

保护模式

保护模式寻址

            段机制              分页机制

逻辑地址---------->线性地址-------------->物理地址

和实模式直接把段基址放在寄存器当中的做法不一样。保护模式设置了 GDT 段描述符表,寄存器里面存放了段的序号。

保护模式新增了对段落的权限检查,比如读写权限等等:

保护模式的中断同理,也增加了权限检查

长模式

长模式寻址

x 86-64 体系结构在长模式(64 位模式)下不使用分段。其中四个段寄存器:CS、SS、DS 和 ES 强制为 0,限制为 2^64。长模式访存

标签:保护模式,模式,寻址,64,寄存器,cpu
From: https://www.cnblogs.com/91ac0m0/p/17643983.html

相关文章

  • 设计模式分类
    博客地址:https://www.cnblogs.com/zylyehuo/......
  • Linux网络编程(epoll的ET模式和LT模式)
    (文章目录)前言本篇文章主要来讲解epoll的ET模式和LT模式,epoll中有两种模式可以选择一种是ET模式(边缘触发模式),另一种是LT模式(水平触发模式)一、ET模式和LT模式概念讲解1.水平触发模式(LT,Level-Triggered)在水平触发模式下,当一个文件描述符上的I/O事件就绪时,epoll会立即通知......
  • 【测试硬解篇】N5105,N6005,J6412,J6413黑群晖物理机安装操作指南,开通核显硬解图文演示(适
    第一步、安装播放器 没有播放器的可以在软件中心添加一个软件下载原:DSM7.x矿神SPK套件源:https://spk7.imnks.com/顺便说一下如何添加软件源打开套件中心---设置 如图新增 添加后就可以正常添加jellyfin二、安装后打开jellyfin 设置用户名,然后选择视频所在的文件夹......
  • 设计模式-单例模式
    饿汉式/***饿汉式,类加载的时候就会初始化**问题:*1.通过反射可以破坏单例*2.通过反序列化破坏单例*3.通过Unsafe破坏单例,无法解决**@author:optimjie*@date:2023-08-1921:37*/publicclassSingleton1{privateSingleton1()......
  • 正则表达式:贪婪与非贪婪模式
    正则中的三种模式,贪婪匹配、非贪婪匹配和独占模式。在这6种元字符中,我们可以用{m,n}来表示(*)(+)(?)这3种元字符:贪婪模式,简单说就是尽可能进行最长匹配。非贪婪模式呢,则会尽可能进行最短匹配。正是这两种模式产生了不同的匹配结果。贪婪匹配(Greedy)在正则中,表示次数的量词默认是贪......
  • 适配器模式
    将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。参考:https://baike.baidu.com/item/%E9%80%82%E9%85%8D%E5%99%A8%E6%A8%A1%E5%BC%8F/10218946?fr=ge_ala......
  • 【补充】Python中实现单例模式的六种常见方法
    【补充】Python中实现单例模式的六种常见方法【1】类属性:classSingleton:instance=None@classmethoddefgetInstance(cls):ifcls.instanceisNone:cls.instance=Singleton()returncls.instance使用类属性保存实......
  • 【补充】软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    【补充】软件开发模式对比(瀑布、迭代、螺旋、敏捷)【1】瀑布模式(WaterfallModel):介绍:瀑布模式是一种线性的开发模式,各个阶段按顺序依次执行,每个阶段严格依赖前一阶段的输出。开发过程划分为需求分析、系统设计、编码、测试和运维等阶段。每个阶段的结果都在下一个阶段开始......
  • 设计模式串讲
    BehavioralDesignPatterns行为模式行为模式负责对象之间的高效沟通和职责委派,这些模式刻画了运行时难以跟踪的复杂控制流,从而把开发者的注意力从控制流转移到对象间的联系方式上。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。行为类模式使用继承机制在类间分派......
  • 【故障公告】多年的故障老朋友又来了:数据库服务器 CPU 100%
    数据库服务器CPU100%问题几乎每年都要来几次,从来都不事先打一声招呼,今年的第2次在我们正忙着会员救园的时候来了。今天13:35首先收到我们自己的异常告警通知:ExecutionTimeoutExpired.Thetimeoutperiodelapsedpriortocompletionoftheoperationortheserver......