chapter16 计算机体系结构基础
1big endian little endian 低地址保存的是整数的地位称为little endian,反之称之为big endian。(x86平台为小端)
2 cpu操作的基本步骤为
- eip取指令
- 译码
- 操作
3 访问内存和访问芯片的不同
- 往一个地址写数据只是给设备发一个命令,数据不一定要保存,而从一个地址读数据也不一定是读先前保存在这个地址的数据
- 内存只是保存数据而不会产生新的数据,但是设备不同,往往会产生新的数据。
4 ARM与x86的访问外部地址的不同,其中ARM的cpu外部接总线的设备还是在cpu内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问。这种方式称为内存映射I/O(Memory-mapped I/O)
x86相对比较特殊,相对于设备有各自独立的端口地址空间,CPU需要引出额外的地址线来连接片内设备,访问设备存储器时用特殊的I/O指令,这种方式称为端口I/O(Port I/O)
5 MMU(Memory Management Unit)
MMU的两种作用
- 做地址的转换
- 提供的内存保护
内存保护总结来说:在正常的情况下处理器在用户的模式执行用户程序,在终端或者异常情况下处理器切换到特权模式执行内核程序,处理完成后再切换到普通用户模式。
其中内存的保护也导致了段错误的产生
- 用户程序要访问一个VA,经过MMU检查无权访问。
- MMU产生一个异常,CPU从用户模式切换到特权模式,跳转到内核代码中执行异常服务程序.
- 内核将这个异常解释为段错误,并把触发异常的进程终止掉