chapter16 计算机体系结构基础

1big endian little endian 低地址保存的是整数的地位称为little endian,反之称之为big endian。(x86平台为小端)

2 cpu操作的基本步骤为

  1. eip取指令
  2. 译码
  3. 操作

3 访问内存和访问芯片的不同

  1. 往一个地址写数据只是给设备发一个命令,数据不一定要保存,而从一个地址读数据也不一定是读先前保存在这个地址的数据
  2. 内存只是保存数据而不会产生新的数据,但是设备不同,往往会产生新的数据。

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的两种作用

  1. 做地址的转换
  2. 提供的内存保护

内存保护总结来说:在正常的情况下处理器在用户的模式执行用户程序,在终端或者异常情况下处理器切换到特权模式执行内核程序,处理完成后再切换到普通用户模式。

其中内存的保护也导致了段错误的产生

  1. 用户程序要访问一个VA,经过MMU检查无权访问。
  2. MMU产生一个异常,CPU从用户模式切换到特权模式,跳转到内核代码中执行异常服务程序.
  3. 内核将这个异常解释为段错误,并把触发异常的进程终止掉
原文地址:https://www.cnblogs.com/qtalker/p/3001140.html