代码编织梦想

首先我们这段话进行翻译一下。

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的数据。剩余的的位还存有

  1. 段的大小;2. 段的起始地址;3. 段的管理属性

当到了这一版我们发现了 当前版本增加了 三个东西,具有了保护机制

  1. 段检查
  2. 只读与可执行端
  3. 四个特权级别

从这一版的描述中我们得知

当前CPU是32位的,那么他的寄存器也扩展到了32位。

并且这个版本的CPU则又增加了四个内容:

  1. 32位的地址总线去寻址4GB的内存
  2. 支持分段内存和实内存
  3. 开始支持分页
  4. 开始支持流水线

增加到5条流水线

而当前版本则增加了三个特性:

  1. 增加了一个 8kb 的一级缓存
  2. 增加浮点运算器 FPU
  3. 省电模式

奔腾处理器

  1. 新增了流水线
  2. 增加了一级缓存,并实现了MESI
  3. 64位寄存器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FENG_CLOWN/article/details/129674189