Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.61 KB

14.变量内存分析.md

File metadata and controls

65 lines (42 loc) · 2.61 KB

变量内存分析

  • 内存模型
  • 内存模型是线性的(有序的)
  • 对于 32 机而言,最大的内存地址是2^32次方bit(4294967296)(4GB)
  • 对于 64 机而言,最大的内存地址是2^64次方bit(18446744073709552000)(171亿GB)

  • CPU 读写内存

    • CPU 在运作时要明确三件事
    • 存储单元的地址(地址信息)
    • 器件的选择,读 or 写 (控制信息)
    • 读写的数据 (数据信息)
  • 如何明确这三件事情

    • 通过地址总线找到存储单元的地址
    • 通过控制总线发送内存读写指令
    • 通过数据总线传输需要读写的数据
  • 地址总线: 地址总线宽度决定了CPU可以访问的物理地址空间(寻址能力)
    • 例如: 地址总线的宽度是1位, 那么表示可以访问 0 和 1的内存
    • 例如: 地址总线的位数是2位, 那么表示可以访问 00、01、10、11的内存
  • 数据总线: 数据总线的位数决定CPU单次通信能交换的信息数量
    • 例如: 数据总线:的宽度是1位, 那么一次可以传输1位二进制数据
    • 例如: 地址总线的位数是2位,那么一次可以传输2位二进制数据
  • 控制总线: 用来传送各种控制信号
  • 写入流程

    • CPU 通过地址线将找到地址为 FFFFFFFB 的内存
    • CPU 通过控制线发出内存写入命令,选中存储器芯片,并通知它,要其写入数据。
    • CPU 通过数据线将数据 8 送入内存 FFFFFFFB 单元中
  • 读取流程

  • CPU 通过地址线将找到地址为 FFFFFFFB 的内存
  • CPU 通过控制线发出内存读取命令,选中存储器芯片,并通知它,将要从中读取数据
  • 存储器将 FFFFFFFB 号单元中的数据 8 通过数据线送入 CPU寄存器中
  • 变量的存储原则
  • 先分配字节地址大内存,然后分配字节地址小的内存(内存寻址是由大到小)

  • 变量的首地址,是变量所占存储空间字节地址(最小的那个地址 )

  • 低位保存在低地址字节上,高位保存在高地址字节上

    10的二进制: 0b00000000 00000000 00000000 00001010
               高字节←                        →低字节

最后,如果有任何疑问,请加微信 leader_fengy 拉你进学习交流群。

开源不易,码字不易,如果觉得有价值,欢迎分享支持。