02-安全攻防之CPU总线的知识小记

每一个CPU芯片都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交互。如下图:
在这里插入图片描述
总线

一根根导线的集合

总线的分类

地址总线
数据总线
控制总线
在这里插入图片描述
举个例子:
在这里插入图片描述
如上图中,内存地址是从0开始, 每个地址代表着该地址在内存存放的数据。

  • CPU通过地址总线,可以定位到内存地址;
  • 根据控制总线了解到对该地址的读或者写的操作;
  • 根据数据总线,将数据传送过来。

地址总线

它的宽度决定了CPU的寻址能力
8086的地址总线宽度是20,所以寻址能力是1M( 2^20 )

怎么理解宽度决定了CPU的寻址能力呢?

  • 就是电脑都是通过0或1来读取数据,每根电线表示2种数据,即0或1。通电了表示1,没通电表示0。地址总线的宽度,表示地址总线有多少根电线连接内存地址。
  • 例如8086的地址总线的宽度为20,表示有20根电线连接着内存的地址。假设20根电线都通着电,那么这个设备可以读取的最大的内存地址是2^20次方 = 1M。
  • 也就是说,超过1M的内存地址,该设备都读取不到,数据也存储不进去。
  • 但是,现在我们的地址总线一般都是64位,也就是有64根电线连接着内存地址,64位的二进制换成10进制就是一个很大的数据了,所以现在的内存地址都是够用的。
    在这里插入图片描述

2^20次方是怎么得来的?

  • 我们都知道,当二进制数据 为10 时,那么换算成10进制为1 * 2^1 + 0 * 2^0 = 2;
  • 当二进制数据为101 时, 那么换算成10进制为1 * 2^2+ 0 * 2 ^ 1 + 1 * 2^0 = 5;
  • 那么20根电线都通电的情况下,表示 有20个1的二进制位,即 1111 1111 1111 1111 1111 换算成十进制,也就是 2^20 次方

每个地址都有对应的一个内存,每个内存都是以8个bit一个单位,而8个bit等于1byte(1个字节)。也就是说,每个内存单元都是1个字节
在这里插入图片描述
不管是编写的代码,还是存储的图片或者视频以及文字,最后都会转成由0和1组成的二进制数据。当这个二进制要存到内存中时,总是以8个二进制位一个单元存放到内存中的。

数据总线

它的宽度决定了CPU的单次数据传送量,也就是数据传送速度, 也称”数据吞吐量“
8086的数据总线宽度是16,所以单次最大传递2个字节的数据
其中,这个数据总线的宽度的理解与地址总线的理解是一样的。就不展开了。

控制总线

它的宽度决定了CPU对其他器件的控制能力、能有多少种控制

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值