本文討論的是基于ARMIP的大規模SoC中的電源(時鐘,復位等)管理,適用于眾核處理器,手機SoC,汽車SoC等等。如果是小規模的設計可能就不適用了,比如MCU或者是簡單應用的IoT芯片。
關于芯片電源管理,想到了一個比喻,不一定特別貼切,大家權當一樂。用眾核處理器舉例,AP可以比作企業/行業;SCP比作中央銀行;功耗可以比作資金,企業有了資金就可以開足馬力生產,反之就要降低產能。至于BMC嘛,大家都懂。
從宏觀角度看,BMC監控著整個設備環境,擁有著至高無上的權力,但是一般不直接參與管理。當系統環境變差(經濟過熱),BMC給SCP(或者是MSCP,總之一個意思)下發命令。隨后SCP根據命令適當降低整個多核CPU的功耗(收緊銀根,降低資金流動性),但是這個過程中,SCP可能會降低所有的AP功耗;也有可能是關閉一些AP(治理某些過熱企業/行業),保留另外的AP全速工作。反過來,當系統環境比較好的時候,BMC告訴SCP可以放寬功耗(貨幣寬松)。
從微觀角度看,也就是每個AP可以根據自己的需求,向SCP發送請求。比如,工作負載大的時候,要求升壓超頻(申請撥款或者批貸);或者,工作負載小的時候,要求減壓降頻。這里有一個要求,一個AP不能直接控制SoC或者其它AP的功耗,只能與SCP通信,由SCP來完成。這好理解,雖然所有企業共享一個資金池,但是一家企業不能直接去搶別的企業的配額。
“治大國如烹小鮮”,很多事情道理是相通的。
回到我們關心的芯片設計,要完成整個芯片的電源管理,需要軟硬件結合。一般,上層軟件部分交給操作系統(Linux和Android等);下層軟件由固件(Firmware)實現;硬件部分由SCP,MHU,PPU這些模塊構成,當然Core也需要有相關的硬件支持。這也就是所謂的分層管理機制。
一句話總結,SCP直接控制SoC的電源和時鐘,而AP通過硬件和軟件接口協同管理。充分理解下面三張圖,就明了了。
圖一:SCP和AP共同完成電源和時鐘管理
圖二:SCP負責硬件管理
圖三:Linux電源和時鐘管理軟件棧
對于我們這些邏輯設計工程師來說,僅僅了解硬件設計是不夠的,還要了解軟硬件之間的接口。只有清楚了軟件如何去調用硬件,才能更好的設計硬件。
先來了解一下SoC中電源和時鐘管理的硬件架構:
ARM系列 -- PCSA(一)
ARM系列 -- PCSA(二)
ARM系列 -- PPU
接下來是軟硬件協同的部分,主要是MHU,PSCI和SCMI:
ARM系列 -- PSCI
ARM系列 -- CSS Message Interface Protocols
ARM系列 -- SCMI
與一些老牌芯片公司比,ARM在芯片電源管理方面做的算不上完美,一部分原因是ARM起步比較晚,尤其是服務器處理器領域里技術積累比較少,而且ARM目前只是作為IP供應商,本身并不量產芯片。至于其它原因,見仁見智,大家自行分析吧。但是,ARM為我們提供了一個較為完整的可參考的方案。那些老牌公司做的再好再完美,不對外開放啊,至多也就是通過公開發表的文章窺探一二。“雙鳥在林不如一鳥在手”,是這個道理吧?有時候橫向比較技術是沒有什么意義的。
本人沒有就職于ARM,也不是為ARM鼓吹,僅僅是出于對技術的好奇心寫了一系列文章。由于本人水平有限,難免有錯誤之處,請大家指正。
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17019瀏覽量
350371 -
ARM
+關注
關注
134文章
9057瀏覽量
366872 -
電源管理
+關注
關注
115文章
6159瀏覽量
144257 -
soc
+關注
關注
38文章
4124瀏覽量
217964 -
時鐘管理
+關注
關注
0文章
16瀏覽量
8343
原文標題:Arm系列 -- 電源和時鐘管理
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論