关于ARM的统一编制与内存映射机制
2016-08-18 15:10
477 查看
ARM是统一编址的,也就是外设和内存进行统一的编址,共同形成了4G物理地址空间(32位为例子)。
大家知道操作外设时,实际上操作的是读写设备相关的寄存器,这些与外设相关的寄存器与不同操作模式下R0-R15那些寄存器是不同的,这些寄存器并不是所谓的物理上的寄存器,实际上是所谓的IO端口,通常会有控制、状态、数据的分类。他们被连续地编址,对于其编址的方式有两种一种是IO映射、一种是内存映射。IO映射是对x86为例的复杂指令集来说的,需要专门的IO控制指令,不详谈。
内存映射是对于统一编址的精简指令集计算机ARM等来说的。具体的方法就是将IO端口映射成和内存一样的物理地址,然后与内存一起进行统一编址,或者说成为了内存的一部分,当然还可以理解内存映射的意思是可以用访问内存的方式进行IO地址的访问,内存和IO地址一起编码为cpu识别的地址哦。然后内存+IO端口地址=4GB的寻址空间。
那么接下来还有个问题就是这种编址的硬件实现?这就要详见arm的AMBA(Advanced Microcontroller BusArchitecture)了,这是目前芯片总线的主流标准。共定义了3组总线:高性能总线(Advanced High Performance Bus,AHB)、系统总线(Advanced System Bus,ASB)和外设总线(Advanced Peripheral
Bus,APB)。不同的总线上挂接着不同的外设和存储器,大部分由三态门控制。比如,当AHB总线上的主设备读写从设备时,发出的地址经过AHB总线的译码器产生该地址所对应从设备的选择信号,选中从设备;这样就可以对从设备进行读写啦。或者可以这样想AHB总线上的译码器根据地址产生相应的片选信号,选中对应的设备。对于硬件的实现我们这是简单地理解以便更好地体会上述编址。涉及到具体的硬件读写操作,地址的硬件实现会提到很多的译码器、三态门、总线、还有时序等等具体情况具体分析,在此不做详述。
大家知道操作外设时,实际上操作的是读写设备相关的寄存器,这些与外设相关的寄存器与不同操作模式下R0-R15那些寄存器是不同的,这些寄存器并不是所谓的物理上的寄存器,实际上是所谓的IO端口,通常会有控制、状态、数据的分类。他们被连续地编址,对于其编址的方式有两种一种是IO映射、一种是内存映射。IO映射是对x86为例的复杂指令集来说的,需要专门的IO控制指令,不详谈。
内存映射是对于统一编址的精简指令集计算机ARM等来说的。具体的方法就是将IO端口映射成和内存一样的物理地址,然后与内存一起进行统一编址,或者说成为了内存的一部分,当然还可以理解内存映射的意思是可以用访问内存的方式进行IO地址的访问,内存和IO地址一起编码为cpu识别的地址哦。然后内存+IO端口地址=4GB的寻址空间。
那么接下来还有个问题就是这种编址的硬件实现?这就要详见arm的AMBA(Advanced Microcontroller BusArchitecture)了,这是目前芯片总线的主流标准。共定义了3组总线:高性能总线(Advanced High Performance Bus,AHB)、系统总线(Advanced System Bus,ASB)和外设总线(Advanced Peripheral
Bus,APB)。不同的总线上挂接着不同的外设和存储器,大部分由三态门控制。比如,当AHB总线上的主设备读写从设备时,发出的地址经过AHB总线的译码器产生该地址所对应从设备的选择信号,选中从设备;这样就可以对从设备进行读写啦。或者可以这样想AHB总线上的译码器根据地址产生相应的片选信号,选中对应的设备。对于硬件的实现我们这是简单地理解以便更好地体会上述编址。涉及到具体的硬件读写操作,地址的硬件实现会提到很多的译码器、三态门、总线、还有时序等等具体情况具体分析,在此不做详述。
相关文章推荐
- 关于ARM的统一编制与内存映射机制
- arm嵌入式开发关于寻址、内存重映射和启动之间的关系(ARM学习1)
- 关于ARM的内存重映射
- 关于ARM的内存重映射
- [转][VC/MFC]关于内存映射文件技术处理大文件的读写-例
- 关于内存映射文件技术处理大文件的读写
- 关于内存映射文件技术处理大文件的读写
- ARM的存储器映射与存储器重映射机制
- 关于内存映射文件技术处理大文件的读写
- The NOTE of learning ASP.NET [18] 关于.NET(GC)内存回收机制
- The NOTE of learning ASP.NET [19] 关于GC(内存回收机制)、对象的销毁和using的使用
- 缓存映射机制(ARM920T) Cache Mapping and Associativity
- 关于用内存映射文件加、解密大文件的问题,谢谢!
- 关于存储器映射、存储器重映射、内存映射、地址映射、地址转换等计算机专业名词详解
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- arm内存重映射 转
- 利用java内存映射文件机制实现CRC循环冗余校验
- [转][VC/MFC]关于内存映射文件技术处理大文件的读写
- 关于内存映射文件技术处理大文件的读写
- Windows内存管理机制及C++内存分配实例(四):内存映射文件