intel 发展历史-爱代码爱编程
首先我们这段话进行翻译一下。
1978 年,发布了两个版本一个是 8086 一个是 8088,8086 使用额 16位的寄存器和 16 位的数据总线,20 位的地址总线,可以读取1MB的地址空间,而8088 不同于 8086 有 8位的数据总线
8086 和 8088 引入了分段机制。
当前有一个疑惑为什么是 20 位的地址总线。
当前之前主存数据排布
可以使用 20 位的地址总线去访问 1MB 的数据。之前主存的数据最小单位是1kb 现在主存的增加到了 1Mb 那这个时候使用 16 位的地址总线去访问,就不行了。这个时候 Intel 都开发完成了,那么怎么办呢?使用两个 16 位的寄存器来搞定这个一个 1 MB
220 = 1MB 1048576
216 = 64KB 65536
16位的寄存器中存储不下。
还差四位,那就再加一个寄存器 来表示 剩下的 4 位 那怎么表示这4位寄存器
前面前面寄存器中已经介绍了 段地址和偏移地址 相加得到物理地址。而段地址存放在段寄存器中,偏移地址也就是虚拟地址存储在指令指针寄存器。这就可以寻址 1MB的数据。剩余的的位还存有
- 段的大小;2. 段的起始地址;3. 段的管理属性
当到了这一版我们发现了 当前版本增加了 三个东西,具有了保护机制
- 段检查
- 只读与可执行端
- 四个特权级别
从这一版的描述中我们得知
当前CPU是32位的,那么他的寄存器也扩展到了32位。
并且这个版本的CPU则又增加了四个内容:
- 32位的地址总线去寻址4GB的内存
- 支持分段内存和实内存
- 开始支持分页
- 开始支持流水线
增加到5条流水线
而当前版本则增加了三个特性:
- 增加了一个 8kb 的一级缓存
- 增加浮点运算器 FPU
- 省电模式
奔腾处理器
- 新增了流水线
- 增加了一级缓存,并实现了MESI
- 64位寄存器