處理器指令集架構(gòu)(ISA)的代碼密度對(duì)在現(xiàn)實(shí)世界中的SoC處理器的能耗效率有很大的影響。在選擇嵌入式SoC處理器時(shí),功耗和面積通常是主要被考慮的,但另一個(gè)主要因素,往往在這樣的評(píng)估中被忽視了:處理器指令集架構(gòu)(ISA)的代碼密度。
一個(gè)緊密的指令集產(chǎn)生較小的代碼,導(dǎo)致少取指令。這對(duì)于能效有著重大的影響,因?yàn)閺钠?u style="color: rgb(51, 51, 51) !important;">存儲(chǔ)器取指令所使用的能耗遠(yuǎn)遠(yuǎn)大于CPU執(zhí)行指令所需的。
大多少? 2010年斯坦福大學(xué)詹姆斯·貝爾福的博士論文對(duì)高效的嵌入式計(jì)算研究表明,對(duì)于一個(gè)典型的32位RISC處理器,從一個(gè)2字節(jié)的片上緩存取指令所消耗的能量比一個(gè)32位的加法運(yùn)算(在一個(gè)典型的45納米CMOS制程)多消耗的多6.8倍.
Dally等人的另一項(xiàng)發(fā)表在IEEE計(jì)算機(jī)的研究發(fā)現(xiàn),典型的嵌入式處理器的能耗的42%來自取指,而只有6%的被消耗于執(zhí)行實(shí)際的算術(shù)運(yùn)算。這些研究都使用一個(gè)小的片上指令緩存。事實(shí)上指令往往更需要訪問較大的片上甚至片外存儲(chǔ),那么功耗的影響將被放大, 系數(shù)6.8倍將變?yōu)?0倍或更多。
這里的結(jié)論是明確的:使用需要較少指令的ISA,比簡單地選擇一個(gè)執(zhí)行更有效的處理器在是節(jié)能上更有幫助.對(duì)一顆CPU而言, 面積(門使用)是另一種處理器選擇的常見標(biāo)準(zhǔn)。但SoC為程序存儲(chǔ)器所需的面積的要大得多,尤其是對(duì)非密集的代碼。
一般法則是約1千比特的片上SRAM占據(jù)的面積與1K的邏輯門相同。將此規(guī)則應(yīng)用于一些典型的處理器所得的面積的結(jié)果,如圖2中曲線所示。 (在這里處理器的面積估計(jì)范圍從小型8位處理器的8K門到先進(jìn)的64位處理器的100K門,而適合嵌入式程序的的片上代碼存儲(chǔ)空間估計(jì)范圍從2至32千字節(jié)。)
此圖清楚地表明,對(duì)大多數(shù)32位嵌入式SoC ,程序存儲(chǔ)器是CPU面積的兩倍或兩倍以上。更為緊湊的代碼顯然需要更小的程序存儲(chǔ)器。因此,在只考慮CPU所需門數(shù)的情況下, 選擇采用了緊湊ISA的處理器可以顯著降低SoC面積。
以上考慮促成了我們所提供的BA22系列的32位處理器內(nèi)核,其對(duì)任何需要考慮低功耗的處理器系統(tǒng)都很有價(jià)值。我們相信BA22 ,在同行業(yè)中具有最優(yōu)的代碼密度,估計(jì)比ARM ?的Thumb- 2 ISA的代碼密度最高能有20 %的提升。
有競爭力的性能( 2.1或以上Coremarks/兆赫) ,面積(15K門起), 時(shí)鐘頻率(在65nm - LP 將超過400 MHz)和功率效率(0.02毫瓦/兆赫茲),因?yàn)槌霰姷拇a密度,使得BA22成為功耗敏感的深嵌入系統(tǒng)CPU IP的最佳選擇之一。