斜素欣 发表于 2025-6-8 12:31:52

图解CPU的实模式与保护模式

作者:小牛呼噜噜
大家好,我是呼噜噜,由于x86保护模式是比较复杂晦涩的,所以特地单拉出来,实模式和保护模式一个重要的更新就是对内存的管理与保护,并且随着软件的发展,为了极致地压榨CPU的性能,硬件和软件都做出了许多努力,为了更好的管理内存,引入分段,分页,段页等等。本文会沿着内存的主线,穿插于实模式和保护模式之间,并结合历史渊源,更好地讲解这里面的发展与变化。
实模式

代号8086

当计算机启动时,实模式运行的时间对我们人来说是无感的,但是并不是其不重要,本文笔者想讲的故事,它的起点来源一个产品,一个划时代芯片,8086,其是Intel公司推出的最早,也是最流行的面向个人电脑的CPU型号

我们可以看到上图有10个引脚,由于芯片是对称的,所以8086芯片一共(只)有20个引脚。不像现在的CPU那样成百上千的都有,脚这么多可不仅仅是为了爬得快
我们一起来看下8086的引脚图:

这些引脚有哪些作用?主要有下面这几种:

[*]电源线Vcc(40),地线GND(1和20)
[*]地址/数据引脚


[*]地址/数据 分时复用引脚AD15-AD0(39,2-16):传送地址时单向输出,传送数据时双向输入或输出
[*]地址状态 分时复用引脚A19/S6~ A16/S3(35-38):输出、三态引脚。T1状态做地址线,T2-T4状态用于输出状态信息
[*]所谓分时复用就是在同一根传输线上,在不同时间传送不同的信息,所以8086对应的地址线16+4=20根

[*]控制引脚
NMI(17):非屏蔽中断请求信号,不受IF影响,此信号一出现,当前指令,执行结束后立即进行中断处理。
INTR(18):可屏蔽中断请求信号,输入高电平有效。
CLK(19):系统时钟,输入
RESET(21):复位信号,输入,高电平有效。复位信号使处理器马上结束现行操作,对处理器的内部寄存器进行初始化
READY(22):数据准备好信号线,输入,高电平有效,由存储器或I/O端口发来。CPU在每个总线周期的T3状态对READY采样,若为低电平,则自动插入一个或几个等待状态Tw,直到变为高电平才能进入T4状态
TEST(23):等待测试信号,输入,CPU执行 WAIT指令时,每隔5个时钟周期对引脚进行一次测试,若为高电平,CPU处于等待状态;低电平时执行下一条指令。
RD(32):读控制信号,输出。RD=0,表示执行一个对存储器或I/O端口的读操作。
BHE/S7(34):高八位数据总线允许/状态复用引脚输出。
MN/MX(33):最小/最大工作方式控制信号,输入。接高电平时为最小工作方式。
...大家了解一下即可这里需要特别注意地址总线,我们知道CPU除了还能访问内存,还能访问硬件,这些都是通过总线来实现的。
总线是贯穿整个系统的是一组电子管道,是连接各个部件的信息传输线,是各个部件共享的传输介质,称作总线,它携带信息字节并负责在各个计算机部件间传递。总线按系统总线传输信息内容的不同,可以分为3 种:数据总线、地址总线和控制总线。

我们可以发现8086的寻址空间是1M,这个是怎么得来的呢?寻址空间主要受地址总线宽度影响,地址总线宽度20,也就表示有20根地址线,又因为内存的单位是字节Byte,所以2^20B=1024KB=1MB
对总线感兴趣地,拓展可见:什么是计算机中的高速公路-总线?
分段机制

由于8086那个时代CPU、内存都很昂贵, CPU 和寄存器等宽度都是 16 位的,在段不重叠的情况下,能表示的最大地址0xFFFF,最大可寻址2^16=64KB,然而8086有20根地址线,可寻址的最大内存空间是1MB。CPU和寄存器的寻址能力远远不能满足使用
所以Inte工程师们耗尽头发,发明了分段技术,将内存分为一个个"段",段最大可为64KB,段由三部分组成:

[*]段基址(Base address):段的初始地址
[*]段界限(limit):表示段的长度,段界限决定了偏移量的最大值,也就是段内偏移最大能够寻址到的位置,
[*]段属性(Attributes):表示段的属性,比如是否可读,可写,权限等
那么16 的位的寄存器究竟该如何能访问20位的地址空间呢?


计算方式是: 实际物理地址 = segment段基址

坠矜 发表于 2025-10-18 06:42:27

懂技术并乐意极积无私分享的人越来越少。珍惜

季卓然 发表于 2025-12-16 18:39:22

前排留名,哈哈哈

崔竹 发表于 2025-12-17 18:45:33

懂技术并乐意极积无私分享的人越来越少。珍惜

类饲冰 发表于 2026-1-24 08:09:12

谢谢分享,辛苦了

圉棺 发表于 2026-1-25 10:56:10

这个好,看起来很实用

汪玉珂 发表于 2026-1-26 08:58:59

这个好,看起来很实用

颖顿庐 发表于 2026-1-28 03:39:50

鼓励转贴优秀软件安全工具和文档!

乃阕饯 发表于 2026-2-8 00:12:40

这个有用。

史穹逊 发表于 2026-2-8 07:19:53

喜欢鼓捣这些软件,现在用得少,谢谢分享!

劳暄美 发表于 2026-2-8 15:18:53

过来提前占个楼

移国拱 发表于 2026-2-8 21:01:42

yyds。多谢分享

诀锺 发表于 2026-2-10 06:44:51

感谢分享

阮蓄 发表于 2026-2-10 14:29:56

鼓励转贴优秀软件安全工具和文档!

康器 发表于 2026-2-10 18:58:06

分享、互助 让互联网精神温暖你我

轩辕娅童 发表于 2026-2-11 20:13:21

感谢分享,下载保存了,貌似很强大

炀餮氢 发表于 2026-2-12 15:07:56

感谢分享,下载保存了,貌似很强大

锄淫鲷 发表于 2026-2-12 17:49:48

谢谢分享,试用一下

焦和玉 发表于 2026-2-12 22:47:10

感谢分享,学习下。

秦晓曼 发表于 2026-2-13 08:24:12

热心回复!
页: [1] 2
查看完整版本: 图解CPU的实模式与保护模式