柰茶 2019-03-02 22:34 采纳率: 0%
浏览 684
已采纳

关于汇编语言中一根地址总线能访问多少数据的疑问

在学习汇编语言时,第一章学习到了地址总线的内容,随即而来就是关于计算CPU寻址能力的问题。作为刚入门的小萌新,对书上的两句话表示疑惑。

首先,补充一下关于存储单元的知识,一个存储单元可以存储一个字节(Byte),8个比特即8个二进制数(bit)组成一个Byte,即一个存储单元可存储8个二进制位。

①“一根导线可以传送的稳定状态只有两种,高电平和低电平。用二进制表示就是1或0,10根导线可以传送10位二进制数据。”

  • 理解:此处理解为一根导线只有两种状态,即只可以传2的一次方的数据,即一位二进制数。

②“一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。”

  • 理解:最后一句话中的内存单元应该指的就是存储单元吧?如果是的话,那这句话表达的意思岂不是,N根地址线可寻找2的N次方个Byte?即一根地址线能找一个Byte,即一根地址线能找8个二进制位数?

那这样这两句话岂不是自相矛盾?二者表达的相差了2的8次方啊。

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-03-02 23:14
    关注

    不矛盾,byte是内存编址的最小单位,而不是bit。
    比如说内存地址0,表示的是0~7这7个bit构成的存储,内存地址1,表示的是8~15,以此类推。
    对于一个字节,是整体存储、读取、修改的,也就是说你要修改第一个bit的数据,从0修改为1,只能整体上对地址0的8位全部读取,然后将第一位设置为1,再整体写入。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决