数据在主存中存放时,需要在存储空间利用率和 CPU 访问性能之间进行权衡。课程中提出了三种方案(三板斧原则):

  1. 不浪费资源的存放 (不对齐):

    • 数据一个挨着一个存放,不留空隙。
    • 优点: 存储空间利用率 100%。
    • 缺点: 访问跨越存储字的半字、单字或双字时,需要两次访存操作,导致 CPU 访问效率降低一倍。
  2. 从起始位置开始存放 (浪费资源):

    • 所有数据均从存储字的起始位置开始。
    • 优点: 保证所有数据在一个存取周期内完成读写。
    • 缺点: 空间浪费极其严重(如字节数据可能浪费 80% 的空间)。
  3. 边界对齐原则 (最佳方案):

    • 定义: 要求数据的起始地址必须是其数据长度(以字节为单位)的整数倍。 重点
    • 规则示例:
      • 双字 (64 位): 起始地址最低 3 位为 000。
      • 单字 (32 位): 起始地址最低 2 位为 00。
      • 半字 (16 位): 起始地址最低 1 位为 0。
    • 优点: 既保证了数据能在一个存取周期内读出,又比方案 2 节省了大量空间。 重点