位操作存储模块 BOS(Bit Operation Storage)针对基于 Cortex-M0+的微控制器中对外设地址空间的读 取-修改-写入存储器基元操作提供硬件支持。这种架构能力亦称为“位操作存储”,因其定义了一种机制,
可为针对存储器映射外设的加载和存储操作提供位操作运算,而非仅仅读取数据值,或将其写入寻址存储 器位置。在 BOS定义中,“位操作存储”经编码后进入外设地址,用于存储器参考。该引擎模块能够降低 总线的占有率和 CPU执行时间,也可以节省代码空间,以达到降低系统能耗的效果。
通过组合 Cortex-M 指令集架构(v6M,v7M)的基本加载和存储指令,加上 BOS提供的位操作存储命令, 这种实施方法针对这类超低端微控制器具有可靠高效的读取-修改-写入能力。由该内核平台功能所定义的 架构能力可在外设寄存器中实现 n位字段操作,并与内置的 C 语言标准 I/O 硬件寻址相一致。就大多数 BOS 命令而言,单个内核读写总线周期转换为一个基元读取-修改-写入,即一个透明的“先读后写”总线序列。 仅处理器内核产生的系统总线事务提供 BOS位操作存储参考,其目标为标准 512KB 外设地址空间,基地址 为0x4000_0000,SRAM_U 空间的基地址为0x2000_0000。位操作存储嵌入地址位[28:19],在地址0x4400_0000 –0x5FFF_FFFF 处创建 448 MB 空间,用于 PBB(Peripherial Bus Bridge);在地址 0x2400_0000– 0x3FFF_FFFF 处创建 448MB 空间,用于 SRAM_U;这些位略去了发送至外设总线控制器的实际地址,BOS用 它们来定义并控制其操作。
|