内存编号为什么从0 开始?
CPU只能存储放一部分内存指令 ,更庞大的指令集需要通过其他介质存储,需要其他介质,内存,(内存条是内存的一部分,内存分为ROM和RAM),内存条通过 主板 与CPU 相互连接,如果CPU想通过主板读取内存的内容,那么主板上的线路需要能表示 三种信息:
内存编号信息,用于传输内存地址—>地址线
数据信息 数据线
读写信息 控制线
地址线是由一根根线路组成,每一条导线组成,导线只能表示0和1,地址线的数量决定了寻址能力,寻址能力和地址线的关系为2n 所以,如果有10根内存线那么就是上线就是1 111 111,最小值则为 0 000 000,所以,内存编号从0开始是因为 地址总线的物理和电器特性的限制
巩固:
1、为什么内存从0开始? 物理上的限制,电路只能表示0\1,无论地址线有多少只能从0开始,最小值只能是 00000
2、什么叫寻址能力? 对内存地址的访问的最大值 地址的数量 决定了寻寻址能力,因为线路只能表示0~1,所以地址线越多,能表示的范围就越大,寻址能力就越强
地址线、数据线、控制线
地址线: 决定CPU的 寻址能力
数据线: 决定CPU 和其它部件 进行数据传输时 一次性能够 传输多少 字节 的能力
控制线: 决定CPU 对其他部件 的操控能力
检测点1.1
1、1个CPU的寻址能力为8KB,那么它的地址总线的宽度为?
解: 8KB = 23 * 210 = 213, 地址总线数为 log2 213 = 13
2、1KB的存储器有 1024 个存储单元,编号为 0 ~ 1023
3、1KB的存储器可以存储 1024 * 8 bit, 1024 Byte
4、1GB、1MB、1KB分别是 230, 220, 210 Byte
5、8080 8088 8086 80286 80386 的地址总线宽度分别为16根、20根、24根、32根。则它们一次可以寻址的能力分别为 1 、 2 、 3 、 4 。
CPU型号:8080 8088 8086 80286 80386
1:24*210= 16KB
2:220 = 1MB
3:24 * 220 = 16MB
4:22 * 230 = 4GB
6、8080 8088 8086 80286 80386 的数据总线宽度分别为16根、20根、24根、32根。则它们一次可以传输的数据分别为 1 、 2 、 3 、 4 。
1:8bit = 1B
2:1B
3:2B
4:2B
5:4B
7、从内存中读取1024字节,8086至少要读 512 次,80386至少需要读 256 次
数据线根数与上题相关:
210 / 22 = 28 = 512
210 / 24 = 26 = 256
8、在存储器中,数据和程序以 二进制 形式存在
来源:https://www.cnblogs.com/daker-code/p/12350364.html