天天看點

《低功耗藍牙開發權威指南》——2.3節昂貴的記憶體

本節書摘來自華章社群《低功耗藍牙開發權威指南》一書中的第2章,第2.3節昂貴的記憶體,作者 (英)robin heydon,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

2.3 昂貴的記憶體

衆所周知,一台電腦的記憶體越多,通常而言價格就越貴。然而,計算機内每一個比特記憶體不僅費錢,還費能量。記憶體通常需要動态重新整理—每隔一小段時間晶片中的内容便要重新整理一次。這種動态重新整理需要能量,而裝置裝備的記憶體越多也就需要更多的能量來為其供電。是以,整個低功耗藍牙設計在每一層都考慮了降低記憶體的數量。

例如,在鍊路層保持較短分組有助于減少無線電發送和接收資料包時對記憶體的要求。例如,屬性協定層不需要處理任何長度大于23位元組的資料封包,在狀态轉換時也不要求存儲任何狀态資訊。所有這些都降低了對記憶體的需求。

另一個與記憶體相關的負擔在于,當一台裝置需要做許多事情時,需要激活大量的協定。例如,想象一副耳機同時支援免提(hands-free)、遠端控制(remote control) 和電池狀态報告(battery status reporting)功能。如果以上每個功能都需要一個單獨的協定,這些協定對于存儲器的需求将被加在一起。而低功耗藍牙僅有一個協定—屬性協定來支援名稱發現、服務發現、讀取和寫入資訊,以實作不同的用例。僅用一個協定顯然要比使用多個協定的開銷少得多。