打印
[应用方案]

NV32 BOS位操作介绍

[复制链接]
732|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
        位操作存储模块 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用 它们来定义并控制其操作。

相关帖子

沙发
萧洛毫|  楼主 | 2018-2-27 09:28 | 只看该作者
         
        如该结构框图所示,BOS模块与交叉开关上的主端口连接,从而使其支持对 SRAM_U(图中所示的平台 RAM(PRAM))和外设联接器(PBRIDGE)控制器进行的基元读取-修改-写入操作。BOS硬件的微架构采用二级流
水线设计,符合 AMBA、AHB系统总线接口协议。PBRIDGE 模块将 AHB系统总线协议转换为 APB协议,用于 连接的从外设。

使用特权

评论回复
板凳
余三水| | 2018-2-27 19:59 | 只看该作者
这是位操作指令吗?由于系统主频已经很快了,位操作一般没人用的。

使用特权

评论回复
地板
飞翔的控制器| | 2018-2-28 09:22 | 只看该作者
位操作用与或非不就可以了嘛

使用特权

评论回复
5
tomyoct| | 2018-2-28 10:37 | 只看该作者
飞翔的控制器 发表于 2018-2-28 09:22
位操作用与或非不就可以了嘛

这个是不一样的,与或非还是操作32位的,位操作就像51的bit一样,直接操作位的。

使用特权

评论回复
6
ayb_ice| | 2018-3-7 16:37 | 只看该作者
飞翔的控制器 发表于 2018-2-28 09:22
位操作用与或非不就可以了嘛

这种操作是有风险的,是不重入的,不是原子级的操作

使用特权

评论回复
7
LED2013| | 2018-3-21 11:59 | 只看该作者
跟帖似乎都有异议啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

254

帖子

0

粉丝