zoukankan      html  css  js  c++  java
  • 怎么理解内存的字节编址

    内存也就是常说的内存条,也就是DRAM芯片如下图:

    计算机的内存是按字节来进行编址的这句话理解为:

    内存是按字节编址,每个地址的存储单元可以存放8bit的数据。我们也知道CPU通过内存地址获取一条指令和数据,而他们存在存储单元中。现在就有一个问题。我们的数据和指令不可能刚好是8bit,如果小于8位,没什么问题,顶多是浪费几位(或许按字节编址是为了节省内存空间考虑)。但是当数据或指令的长度大于8bit呢?因为这种情况是很容易出现的,比如一个16bit的Int数据在内存是如何存储的呢?

    其实一个简单的办法就是使用多个存储单元来存放数据或指令。比如Int16使用2个内存单元,而Int32使用4个内存单元。当读取数据时,一次读取多个内存单元。

    大端和小端存储

    Little-Endian 就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

    Big-Endian 就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

  • 相关阅读:
    rabbitmq使用
    redis
    IO模型与IO复用介绍
    事件驱动与异步IO使用
    协程
    进程
    线程、锁
    paramiko模块与 StringIO模块
    socketserver 编程
    随记
  • 原文地址:https://www.cnblogs.com/zhangbing12304/p/8747557.html
Copyright © 2011-2022 走看看