设备空间相关概念

设备空间相关知识

作者:weirdo-xo
时间:2021-7-6
邮箱:weirdo-xo@outlook.com
说明:这里主要解释设备空间相关的概念,在硬件的实现上一共分为:IO空间、内存空间、配置空间

1.IO空间

IO空间其实就是我们一般使用的寄存器,寄存器会被编制。在X86体系结构中,外部寄存器会使用特殊的一条指令进行访问,而在RISC结构的处理器中,寄存器被当作一种内存来使用(使用统一编址),和内存一样可以使用L和S系列指令进行访问。Linux内存中正对这两种结构叶分别提供了不同的readx()函数和writex()函数进行IO空间的访问。

2.内存空间

内存空间的意思就是CPU可以把设备当作一个内存设备访问,或者说设备具有一片内存可以提供CPU进行访问。

3.配置空间

这种地址空间一般会存在于PCIe等设备的配置头,一般的开发人员接触的比较少一些,这个概念在ARM中没怎么接触,但是在MIPS、X86体系结构中就会有这样的一种空间分类。

总结

设备空间的相关概念在ARM体系结构中接触的比较少,但是在MIPS这样的结构中会经常的看到。最典型的一个实例就是MIPS启动空间----0xBFC0_0000,该地址空间会被映射到启动设备中(SPI Flash, Lio),众所周知,Cpu是不可以在Flash上运行的,所以这里的处理方法就是把flash存储映射为设备的内存空间,从而CPU就可以正常的访问这片地址空间进入启动流程,SPI Flash控制器在这个过程中进行这两种空间的转换,这里便是内存空间的访问。CPU读写SPI控制寄存器便是对IO空间的访问。

posted @ 2021-07-06 09:10  FOFI  阅读(241)  评论(0编辑  收藏  举报