首页 > 其他分享 >CPU的保护模式

CPU的保护模式

时间:2022-12-28 17:12:41浏览次数:48  
标签:保护模式 16 32 描述符 寄存器 CPU

保护模式是为了克服实模式低劣的内存管理方式,物理内存地址不能直接被程序访问,程序内部的地址需要被转化为物理地址后再去访问。实模式CPU运行环境16位,保护模式32位。

寄存器扩展

由于CPU发展到32位,地址总线和数据总线也发展到32位,寻址空间达到2的32次方,4GB。为了能让一个寄存器访问4GB空间,需要寄存器宽度提升32位。各寄存器在原有16位基础上向高位扩展16位成为32位,经扩展后的寄存器在名字前加e表示扩展。低16位为了兼容实模式可单独使用,高16位不能单独使用。

为了更加安全,将内存段的描述信息放在全局描述符表中,这样,段寄存器中保存的就是“选择子”,用这个数来索引全局描述符表中的段描述符,把全局描述符表当成数组,选择子就像数组的下标。

为了提高获取段信息的效率,对段寄存器采用了缓存技术,将段信息放入段描述符缓冲寄存器,以后访问到相同段时,直接读取对应段描述符缓冲寄存器。

寻址扩展:

在实模式下,基址寄存器只能是bx,bp,变址寄存器只能是si,di,bx默认段寄存器是ds,bp默认段寄存器是ss。而保护模式下,基址寄存器是所有32位的通用寄存器,变址寄存器是除了esp外所有32位通用寄存器,偏移量变为32位,可以对变址寄存器乘以一个比例因子(1.2.4.8)。综上,寻址方式为基址寄存器+变址寄存器×比例因子+32位的偏移量。

运行模式反转:

为了兼容性,在某个模式可以使用另一个模式的资源,告诉CPU要生成16还是32位的机器码,编译器提供伪指令bits,指令格式为[bits 16或32]他用来告诉编译器:从这个bits到下一个bits间的代码都编译成x位。

指令扩展:

涉及到操作数变化的指令都要跟着扩展,既要兼容16的操作数,也要支持32位的操作数。

标签:保护模式,16,32,描述符,寄存器,CPU
From: https://www.cnblogs.com/LCAB/p/17010433.html

相关文章

  • CPU渲染和GPU渲染有什么区别?
    games101作业里面第一个是使用CPU算法渲染图形生成了一张光栅化图像。百度了一下才知道,原来GPU出现的挺晚的,1999年,NVIDIA(英伟达)发明了GPU。那么之前呢?难道都是使用CPU处......
  • 1-CPU
    CPUCPU主要是由运算器,控制器,寄存器组,内部总线,等组件组成。1:计算机的基本硬件系统由:运算器,控制器,储存器,输入设备,输出设备5大部分组件2:运算器,控制器等部件被集成在一起统......
  • linux 查看cpu信息
    查看cpu信息lscpu 查看系统盘与数据盘系统盘就像Windows的C盘,在linux中一般有a的参与,可通过df-l来查看如:   可以看到根路径/都是位于系统盘。而/root,/home......
  • 第一章对程序来说CPU是什么
        首先让我们来看一下解释和运行程序的CPU。CPU是英文CentalProcessingUnit(中央处理器)的缩写,相当于计算机的大脑,它的内部由数百万至数亿个晶体管构成,CPU的内部......
  • CPU 和 CPU Core 有啥区别?多核 CPU?多个 CPU?
    CPU全称CentralProcessingUnit,中央处理器,计算机的大脑,长这个样子:CPU通过一个插槽安装在主板上,这个插槽也叫做CPUSocket,它长这个样子:而我们说的多核CPU,一个CPU有......
  • 五年经验的前端社招被问:CPU 和 GPU 到底有啥区别?
    首先来看CPU和GPU的百科解释:CPU(CentralProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计算机软件中的数据GPU(GraphicsProcessingUnit,图形处理器;又称显示......
  • COCOS2DX WIN32 版本的CPU占用25%改良策略
    cocos2dx\platform\win32\CCApplication.cpp,大致长像如下:while(1){if(有消息){if(时间到)更新计时,call主循环函数;elseSleep(0);}//其他跳出循环判断代码}......
  • 记一次cpu飙升问题排查
    前言首先问题是这样的,周五正在写文档,突然收到了线上报警,发现cpu占用达到了90多,上平台监控系统查看容器,在jvm监控中发现有一个pod在两个小时内产生了61次youngGc一次fullGc,这......
  • CPU 缓存一致性 MESI 协议
    为什么需要缓存一致目前主流电脑的CPU都是多核心的,多核心的有点就是在不能提升CPU主频后,通过增加核心来提升CPU吞吐量。每个核心都有自己的L1Cache和L2Cache,只......
  • 生动的入门经典!CPU超频全方位攻略…
    ·前言/CPU超频工具介绍前言:本文主要介绍如何进行CPU超频,内容非常简单,而且细致,比较适合DIY初级爱好者。现在一提起DIY,要是少了超频,就好像炒菜少了盐一样,索然......