最新文章
AVR 微控制器的高性能和低功耗
高性能、低功耗、代碼量小
基于哈佛架構
AVR 微控制器的高性能和低功耗不是偶然之作,而是長期艱苦研發的結晶,是一項專利技術。Atmel 的 8 位和 32 位 AVR CPU 基于先進的哈佛架構,該架構專門針對功耗和性能進行了調優。與每個哈佛架構的器件類似,AVR CPU 擁有兩條總線:一條指令總線,用于 CPU 讀取可執行指令;一條數據總線,用于讀取或寫入相應的數據。這確保了在每個時鐘周期都可以執行一條新指令,從而消除了沒有指令可供執行的等待狀態。
可以配置 AVR 微控制器中的總線,使 CPU 指令總線具有訪問片上閃存的最高優先級。CPU 數據總線具有訪問 SRAM 的最高優先級。
降低復雜性,提升效率
多數人認為 RISC 是“精簡指令集計算機(Reduced Instruction Set Computer)”的首字母縮寫,RISC 器件擁有的指令數量有限。但是,對于熟悉 RISC 和 CISC 發展歷史的人們而言,他們了解 RISC 是“降低復雜性指令集計算機(Reduced COMPLEXITY Instruction Set Computer)”的首字母縮寫。因為術語 RCISC 不夠簡潔,所以在計算機理論中普遍采用 RISC。
Atmel AVR 不需要減少指令集包含的指令數,而是降低解碼每個指令所需的數字電路的復雜程度。因為每個指令都是 16 位的倍數,所以不會在嘗試傳輸和解碼包含無用信息的位上浪費能耗。
為使 AVR 指令集盡可能高效,Atmel AVR CPU 研發團隊邀請了 IAR 系統的編譯器專家共同開發了首個 AVR C 編譯器。隨著不斷改進,AVR 架構針對 C 代碼執行進行了優化,在構造階段徹底解決了瓶頸問題。這就是 AVR 成為代碼量小、高性能和低功耗代名詞的原因所在。
使用工作寄存器改善數據訪問
CPU 執行程序時,通常需要頻繁訪問有限的一組數據,包括指針、循環計數器、信號狀態位和數組索引。事實上,經過對源代碼仔細檢查,我們發現大多數數據只是在非常短的時間內需要,隨后就被丟棄。這就是 AVR CPU 包含多個“工作寄存器”的原因,這樣可在 CPU 內部存儲動態數據。將臨時數據組織在一個“寄存器文件”中,不必再將這些數據從 CPU 移動到 SRAM,只是在幾個周期后再讀取回來。寄存器文件速度極快,可以使 CPU 在一個時鐘周期內讀取、執行、并將結果重新存儲到寄存器。相比存取長地址和數據行的大型 SRAM 而言,寄存器文件在存取數據時消耗的電量更低。因為不會浪費任何周期,所以大幅降低了執行代碼的功耗。
DSP 指令
32 位 AVR 包含一系列整數、固定點和浮點 DSP 指令的指令集,使 AVR CPU 具有最高的 CPU 性能。32 位 AVR 指令集包含飽和及舍去指令,無需對中間結果進行內部范圍檢查,因此提高了循環速度。憑借快速乘法、累積和除法指令,32 位 AVR 是要求大量數字信號處理的應用的最佳選擇。