2.3(后半) · 建议 12 分钟

四个字节怎样排进存储器

给 4 字节数据安排地址,对照大端、小端与起始地址对齐。

可学习
教材定位:纪禄平等《计算机组成原理》第 6 版,2.3(后半),第 52—53 页(书内印刷页码)。
学习顺序:认识字节与十六进制。
先读懂,再操作

从这个问题开始:低地址存的是高字节还是低字节?

地址先看成格子的编号

按字节编址时,每个地址对应一个字节。本页像排格子一样把连续四个字节放到连续地址。

字节次序有两种约定

大端模式把高字节放在低地址;小端模式把低字节放在低地址。次序改变的是字节位置,不是把每个字节内部的位倒过来。

对齐关注从哪里开始

本例一个字占 4 字节,按字对齐时起始地址应是 4 的倍数。对齐与大小端是两种独立约定。

本页小词典 · 遇到生词可以回来看
地址
用来找到存储单元的编号。
高字节
多字节数中位权较高的字节。
大端 / 小端
规定多字节数据按怎样的字节次序存放。
对齐
让数据起始地址满足指定边界的要求。

动手观察:四个字节怎样排进存储器

动态图解 · 分步学习

大小端入口使用下面参数;对齐入口固定使用教材中四个对象及其字节数。 修改参数后点击上方按钮生效;用“下一步”观察过程。

演示范围假设按字节编址,一个字为 4 字节,地址用十进制显示,内容用十六进制显示;不模拟真实主存硬件。

带着问题再试一次

  1. 把 12345678 分别按大端和小端存入相同地址,逐字节对照。
  2. 观察对齐入口中 short 之后的位置,说明为什么出现两个填充字节。
  3. 分别说清:对齐决定什么,大小端决定什么。
由易到难 · 做完再看解释

分层练习

从基础识记走向理解应用和迁移挑战。选择、填写或先写下自己的解释,答错可以重新尝试。

第 1 层

认清规则

先确认当前采用的表示约定。

0 / 2 完成
2. 从大端换成小端,78 这个字节内部是否变成 87?
第 2 层

独立计算

换一组数据,核对每一步。

0 / 2 完成
第 3 层

解释与迁移

说明规则成立的条件,辨别常见误解。

0 / 2 完成
2. 本例 double 占八字节,就一定要求八字节对齐吗?
本节知识清单与课堂延伸

按字节对齐可从任意地址开始;按半字对齐在本例要求 2 的倍数;按字对齐要求 4 的倍数。

实际编程语言类型的长度、布局与字节序应以平台和具体约定为准;不能把某个平台的规则当作所有机器的共同规则。

依据教材章节范围重新设计,图示、演示数据与练习均为本站制作。配合课本阅读;本站不提供教材电子版。