为什么地址总线为N位的CPU,其寻址范围是2的N次方字节?

一、为什么是 2 n

这里写图片描述

一根线是怎么连接两个存储单元的,难道里面有两根线芯?好像不是这样吧……


因为计算机是采用二进制计算的。假设一台计算机,它只有 1 根地址线,那么它的元件只有 0 / 1 两种状态。对应这个例子,我们其实已经把这唯一的一根地址线与两个存储单元 A B 连上了。那么何时读 A ,何时读 B ?有一个办法:当地址线上的电压是高电压时我们读 A ,相反是低电压时,我们读 B 1。如此一来,一根地址线的情况下,能对 2 个存储单元进行寻址。依次类推, 2 根地址线时可以对 4 个存储单元进行寻址,对应的电压情况可以是:低低,低高,高低,高高;继续想下去, 3 根地址线就可以对 8 个存储单元进行寻址( 111 110 100 000 101 100 001 011 ), 4 根就是 16 个。也就是说,当有 n 根地址线时,可以对 2 n 个存储单元进行寻址。

二、为什么计算机采用二进制?

  • 技术实现简单:计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用 1 / 0 表示。
  • 简化运算规则:两个二进制数和,积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。
  • 适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。
  • 易于进行转换:二进制与十进制数易于互相转换。
  • 用二进制表示数据具有抗干扰能力强,可靠性高等优点。因为每位数据只有高低两个状态,当受到一定程度的干扰时,仍能可靠地分辨出它是高还是低。

三、 C P U 的位和字长2

:在数字电路和电脑技术中采用二进制,代码只有 0 1 ,其中无论是 0 或是 1 在CPU中都是 一“位”。字长:电脑技术中对 C P U 在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为 8 位数据的 C P U 通常就叫 8 位的 C P U 。同理 32 位的 C P U 就能在单位时间内处理字长为 32 位的二进制数据。字节和字长的区别:由于常用的英文字符用 8 位二进制就可以表示,所以通常就将 8 位称为一个字节。字长的长度是不固定的,对于不同的 C P U 、字长的长度也不一样。 8 位的 C P U 一次只能处理一个字节,而 32 位的 C P U 一次就能处理 4 个字节,同理字长为 64 位的 C P U 一次可以处理 8 个字节。

四、寻址空间和地址总线是什么?

寻址空间一般指的是 C P U 对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器 ( R A M ) 中存放是有规律的 , C P U 在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户的找3,这就叫做寻址。但如果地址太多超出了 C P U 的能力范围, C P U 就无法找到数据了。综上, C P U 最大能查找多大范围的地址叫做寻址能力 , C P U 的寻址能力以字节为单位。

地址总线 ( A d d r e s s B u s ;又称:位址总线) 属于一种电脑总线 (一部份),是由 C P U 或有 D M A 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。地址总线 A B 是专门用来传送地址的,由于地址只能从 C P U 传向外部存储器或输入输出端口,所以地址总线总是单向三态的,这与数据总线不同。

另附:关于寻址空间和地址总线更详细的解释

2018.5.14

猜你喜欢

转载自blog.csdn.net/qq_38967295/article/details/80306417