问题
有一种管理程序,以知道如何在程序之间切换
相对寻址
虚拟内存
系统空间,用户空间
Key Points
- 计算机架构指的是计算机中各种组件的排列
内存的架构改进
5.1 基本架构元素
冯·诺依曼架构
- 哈佛架构
两种架构唯一的区别是内存的排列方式。
在其他条件相同的情况下,冯·诺依曼架构运行速度稍慢一点,因为它只有一条内存总线,不同同时访问指令和数据;哈佛架构则不存在这个问题,但是第二条内存总线的存在需要额外的硬件。
5.1.1 处理器核心
多核处理器
5.1.2 微处理器和微型计算机
- 微处理器
- 微型计算机
Soc(System on a Chip)
5.2 过程、子程序和函数
代码复用
5.3 堆栈 (Stacks)
递归调用
5.4 中断
中断系统使用堆栈来保存中断程序中的位置。
5.5 相对寻址
5.6 内存管理单元
MMU, Memory Management Unit
5.7 虚拟内存
操作系统使用 MMU 为用户程序提供虚拟内存。
LRU, Least recently used algorithm
5.8 系统和用户空间
好处:
保护操作系统不受用户程序的影响,也保证了用户程序之间不互相影响
- 由于用户程序不能接触某些东西,如MMU,操作系统可以控制对程序的资源分配
系统空间也是处理硬件异常的地方
5.9 存储器层次和性能
5.10 协处理器
DMA, Direct Memory Access
5.11 在内存中排列数据
5.12 运行程序
重要的程序通常都是分段构建的。这样可以使多人同时处理同一个程序变得更容易。
可执行和可链接格式(Executable and Linkable Format, ELF)
5.13 内存功耗
在写代码时,要注意平衡功耗和性能。