本专栏总结王利涛《C语言嵌入式Linux高级编程》第二期课程
(一)内存空间与I/O空间
(二)地址的本质
- CPU引脚的一组地址控制信号,被称为物理地址,通过CPU管脚发出;
- 有MMU的CPU会把程序使用的虚拟地址转换为物理地址;
- 地址线位数决定寻址空间。
(三)总线的概念
- 总线是各种数字信号的集合。
- 总线信号的组成
- 地址信号
- 数据输入、输出信号
- 控制信号
- 可给总线上的设备供电源
- 总线的特点
- 可升级。当地址信号位宽、频率超出总线能力,可以升级总线。
- 作为一种工业标准,促进计算机行业生态的发展。
(四)总线编址
-
编址方式
- 统一编址:内存和外设共享CPU寻址空间,如ARM、MIPS。
- 独立编址:I/O外设不占用CPU寻址空间,独立编址,使用独立命令访问。如X86下的 IN/OUT指令,独有64K的I/O地址空间。此时还需要依靠多跟控制信号线来控制总线上的地址属于I/O端口,还是存储器的。
-
在Linux下,/proc/ioport 可查看外设地址;/proc/iomem 可查看存储器地址。