- 相關推薦
動態時鐘配置下的SoC低功耗管理
摘要:隨著芯片集成度的提高,對一些功能復雜的系統芯片功耗的管理,已經引起大家越來越多的重視,如何控制好SoC的功耗將成為芯片能否成功的重要因素。本文提出一種通過動態管理時鐘的策略,達到降低整個SoC芯片功耗的目的;同時,分析動態管理時鐘方案中可能會出現的一些問題,并給出解決方案。引 言
??隨著集成電路技術的飛速發展和對消費類電子產品——特別是便攜式(移動)面向客戶的電子產品的需求,推動了SoC(System on Chip)的飛速發展,也給人們提出了許多新的課題[1]。對于電池驅動的SoC芯片,已不能再只考慮它優化空間的兩個方面——速度(performance)和面積(cost),而必須要注意它已經表現出來的且變得越來越重要的第三個方面——功耗[1],這樣才能延長電池的壽命和電子產品的運行時間。
圖1
SoC中CMOS電路功耗有:一是靜態功耗,主要是由靜電流、漏電流等因素造成的;二是動態功耗,主要是由電路中信號變換時造成的瞬態開路電流(crowbar current)和負載電流(load current)等因素造成的[2],它是SoC芯片中功耗的主要來源[3]。因此,解決好SoC中的動態功耗是降低整個SoC芯片功耗的關鍵。本文后面所提到的功耗就是指SoC芯片中的動態功耗。
如何降低SoC中的功耗,從不同的層面分析會得出不同的解決方案。從芯片的系統級(architecture)角度考慮,有低功耗總線設計、低功耗存儲系統設計、低功耗時鐘網絡設計、開發系統的休息模式、時鐘門控等技術;從芯片的行為級(RTL)角度考慮,有信號門控、預前計算、操作數分離、狀態機優化、并行和流水結構等技術;從芯片的門級(gate)角度考慮,有緩沖插入、提取因子、單元縮放、管腳交換、相位配置等技術[4]。從越高的抽象層次去考慮功耗問題,芯片功耗優化的幅度就越顯著。
本文所提出的基于動態配置時鐘的SoC低功耗管理是從芯片的系統級角度考慮的。在最后的實驗中,它非常明顯地降低了整個芯片的功耗。
1 動態配置時鐘的SoC低功耗管理原理
基于微處理器應用的SoC設計,其復雜程度變化很大:在一些應用中可能需要用到所有的硬件資源,但是在其它的一些應用中可能只需要用到其中一部分硬件資源;在一些應用中可能需要很高的工作頻率,而在其它的一些應用中卻可以大大降低工作頻率。動態管理SoC系統時鐘的思想就是:不僅動態地管理SoC內部模塊的時鐘源供給,還可以動態地配置SoC系統的時鐘頻率。
動態地管理SoC內部模塊的時鐘源供給就是,根據不同的應用,管理SoC內部的硬件資源。簡而言之,就是進行內部模塊的開和關的操作。關閉單個模塊,可以通過對每個模塊設置一個使能位,然后對這個使能位編程做到關閉或打開那個模塊。但這樣做不是最佳的,原因有二:其一,每個模塊的接口部分必須是始終打開的,否則,CPU核無法隨時對它的內部寄存器進行編程;其二,通過模塊使能位只是關閉了它的功能操作,而并沒有把它模塊內的時鐘樹關閉掉,也就是說它里面的時鐘樹依然處于激活狀態,而時鐘樹所造成的功耗占單個模塊功耗的很大一部分。其實大多數模塊都是同步系統,系統的所有操作都是在時鐘信號的節拍下進行的[5],關閉時鐘源能同時達到關閉模塊和降低功耗的目的。
動態地配置SoC系統的時鐘頻率則是以不犧牲系統的性能為前提,動態地管理系統的工作頻率來降低SoC的功耗。時鐘頻率是影響動態功耗的重要因素:[3]。它的工作頻率越高,功耗也就越大。但在很多時候,所有的模塊并不是工作在同一時鐘頻率,或者同一個模塊在不同的時段可以工作在不同的時鐘頻率。這些就是動態地配置SoC系統的時鐘頻率的前提。
圖1是整個SoC中的時鐘網絡(時鐘樹)。圖中的功耗管理模塊(power management module)完成這種功能。
圖3
2 芯片的低功耗工作管理模式
為了更好地實現動態配置時鐘的SoC低功耗管理策略,芯片在其工作中開發出了其低功耗管理機制中的四種工作模式:Slow、Normal、Idle和Sleep。下面結合圖2所示的工作模式流程圖來說明它的工作機制。
表1為四種工作模式的狀態。
表1
(1)Slow模式
當系統復位以后或當系統關掉PLL不需要高速時鐘運行時,系統進入到Slow模式。在Slow模式下,系統中的CPU核和所有模塊的時鐘源都來自晶振。如果這時系統認為有必要關掉某些模塊,那么,就可以通過配置功耗管理模塊內部的寄存器,把相應模塊的時鐘源使能位關掉。
(2)Normal模式
如果在某些應用中需要高速時鐘,那么就應該切換到Normal模式。在Normal模式下,系統中的CPU核和所有模塊的時鐘源都來自PLL。當然,在這種模式下也可以根據系統的應用關掉某些模塊。如果系統需要調整時鐘的頻率,可以通過動態配置PLL來實現。但是在動態配置PLL過程中,要注意這樣一個問題:因為PLL有一個時鐘鎖定的時間,在這段時間內,它輸出的時鐘波形是不規則的,此時不能使用它作為芯片的時鐘源。為了保證系統的正常運行,可以暫時把系統的時鐘源切換到晶振狀態,待PLL的時鐘輸出穩定以后再把系統的時鐘源切換到PLL狀態。
(3)Idle模式
如果CPU核在當前狀態下已經處理完所有任務,在很長一段時間內都將處于空閑狀態,那么系統應該進入到Idle模式。在Idle模式下,只會
【動態時鐘配置下的SoC低功耗管理】相關文章:
數字時鐘論文提綱06-23
旅游管理下數據挖掘運用論文11-18
生態旅游管理下的旅游管理模式創新論文04-16
公共管理下的績效管理結果運用可行性論文04-23
旅游管理下數據挖掘運用論文6篇11-18
新形勢下醫院管理創新途徑08-06
金融創新下的金融風險管理論文04-18
談如何構建動態生成的英語課堂08-20
新形勢下企業經濟管理的論文06-17
校企合作下的高職院校學生管理模式探析05-16