内存
本课属于 Coddy Assembly 学习旅程的“基础知识”单元。第 2 课,共 45 课。
在上一课中,你学习了 CPU 会逐条执行指令。但这些指令存储在哪里?CPU 会把需要处理的数据放在哪里?
答案是内存(也称为 RAM:随机存取存储器)。
内存就像一个由编号槽位组成的巨大网格。每个槽位都有一个唯一的地址(就像门牌号),并且可以存储 1 个字节的数据(一个从 0 到 255 的数字)。在内存中存储内容时,你会把它放进一个具有特定地址的槽位中。再次需要它时,你只要读取该地址中的数据。
把内存想象成一个有编号的邮政信箱:
- 每个信箱都有一个唯一的编号(地址)
- 每个信箱可以装一封信(一个字节的数据)
- 你可以把信放进任何一个信箱
- 你可以打开任何一个信箱,读取里面的内容
CPU 可以请求地址 1000 处的数据,内存会将数据返回。CPU 也可以向地址 1000 写入新数据,替换原来的数据。
关于内存的关键事实:
| 事实 | 说明 |
|---|---|
| 每个字节都有一个地址 | 地址从 0 开始,最大可达数百万或数十亿 |
| 内存具有易失性 | 关闭计算机后,RAM 中的所有内容都会消失 |
| 读取不会破坏数据 | 你可以读取地址 1000 一百万次,它仍然保存着相同的值 |
| 写入会覆盖旧数据 | 如果你向地址 1000 写入新数据,旧数据就会永远消失 |
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Assembly 在线编辑器