天天看点

《低功耗蓝牙开发权威指南》——2.3节昂贵的内存

本节书摘来自华章社区《低功耗蓝牙开发权威指南》一书中的第2章,第2.3节昂贵的内存,作者 (英)robin heydon,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.3 昂贵的内存

众所周知,一台电脑的内存越多,通常而言价格就越贵。然而,计算机内每一个比特内存不仅费钱,还费能量。内存通常需要动态刷新—每隔一小段时间芯片中的内容便要刷新一次。这种动态刷新需要能量,而设备装备的内存越多也就需要更多的能量来为其供电。因此,整个低功耗蓝牙设计在每一层都考虑了降低内存的数量。

例如,在链路层保持较短分组有助于减少无线电发送和接收数据包时对内存的要求。例如,属性协议层不需要处理任何长度大于23字节的数据报文,在状态转换时也不要求存储任何状态信息。所有这些都降低了对内存的需求。

另一个与内存相关的负担在于,当一台设备需要做许多事情时,需要激活大量的协议。例如,想象一副耳机同时支持免提(hands-free)、远程控制(remote control) 和电池状态报告(battery status reporting)功能。如果以上每个功能都需要一个单独的协议,这些协议对于存储器的需求将被加在一起。而低功耗蓝牙仅有一个协议—属性协议来支持名称发现、服务发现、读取和写入信息,以实现不同的用例。仅用一个协议显然要比使用多个协议的开销少得多。