|

【超頻特技】把RPi Pico上的RP2040晶片超頻到1GHz

   

文章導覽

作者:陸向陽

為了推廣與增加晶片的知名度,有時候常會用一些「特技」來製造話題,例如過去ESP8266晶片推出後就有人試煉它的收發距離極限,最後實測得到366公尺(使用PCB印刷電路板天線)、479公尺(使用外接天線),遠超過一般Wi-Fi設定的100公尺,有時實務上更只有40~80公尺。

類似的, Raspberry Pi Pico所用的RP2040晶片正規是跑133MHz時脈頻率,這在一般的MCU微控制器上也算是快的了,因為有許多Cortex-M系列的MCU也只跑在24MHz~72MHz間,但偏偏有人覺得不夠,希望榨出RP2040的極限,因此對其超頻(overclocking),結果最高可以到驚人的1GHz(1,000MHz)頻率。

樹莓派基金會的實習生David Bell就同時動用了多種技術讓RP2040晶片達到1GHz,並且還跑了效能標竿(Benchmark)測試,而後將測試數據跟其他樹莓派板進行比較,包含跑1GHz的Raspberry Pi Zero W、跑700MHz的第一代Raspberry Pi Model B,以及正規跑125MHz的RPi Pico,在同樣跑1GHz下RP2040的效能測試還勝過RPi Zero W呢!

把Raspberry Pi Pico的RP2040晶片抄頻到1GHz後,效能還勝同為1GHz運作的Raspberry Pi Zero W(圖片來源:樹莓派官網

David Bell使用Dhrystone來進行效能測試,Dhrystone從1984年由Reinhold Weicker撰寫出來後至今都是業界標準,常用來對晶片運算效能進行初步評判。不過Dhrystone需要改寫才能跑在RP2040上,這方面有資深標竿測試人士Roy Longbottom用RP2040 C/C++ SDK改寫出來,改寫成的標竿程式除了跑在RP2040上也跑在RPi Zero W跟第一代RPi Model B上,以便用相同基準來比較。

接著David Bell透過三個面向讓RP2040能超頻,即頻率、電壓、溫度。首先是頻率,David Bell捨棄一般尋常使用的石英(crystal)振盪器而改用環形(ring)振盪器,這樣可以隨著溫度、電壓等條件的改變而持續讓時脈頻率最大化,為了達到最大化David Bell也對振盪器參數進行設計設定,包含把除頻器設為1、把狀態數設為2。

另外,RPi Pico上的SPI介面程式記憶體並不耐操,頻率大約到260MHz~270MHz後就無法再正常運作,所以David Bell是把程式轉移到RP2040內部的RAM記憶體上來跑,如此才能用更高的頻率跑,跑的程式與相關內容也放在GitHub 上供人參考。

其次是電壓,一般而言加電壓可以增高頻率,標準RP2040使用1.1V,David Bell刻意斷開RP2040晶片上的VREG_OUT接腳與DVDD接腳間的連動性,直接焊接外部供電給DVDD,並加電壓加到3V,遠高過原有的1.1V,強制把更高的電壓送入晶片的核心電路內。

其三是溫度,David Bell運用致冷器(Peltier Cooler)把RPi Pico凍結到零下攝氏40度,溫度愈低愈有超頻空間,事實上David Bell是先降溫後才開始加電壓,以此激出晶片的極限潛能。

已經被致冷器凍結的Raspberry Pi Pico然後用外部強加電壓方式進行超頻(圖片來源:樹莓派官網

超頻到1GHz雖然很讓人激賞,但其實也無法長久運作,David Bell僅僅在跑了幾次Dhrystone後又過了幾分鐘RPi Pico/RP2040就掛了,之後即便恢復正常條件也無法使用。

上述屬於極端的超頻方式,但其實打從第一代的RPi就允許「適度」的超頻,第一代的RPi正規是跑700MHz,然後在開機設定的選單中就允許用戶選擇另外四種加速模式,分別是Modest、Medium、High以及Turbo,超頻的頻率分別是800MHz、900MHz、950MHz以及1GHz,有趣的是,這個官方原廠直接以選單方式提供的超頻功能是在保固之內的,選擇四種超頻模式如果操壞了是可以要求維修或換新的。

小結

最後補充說明兩點,一是致冷器在過去的各種晶片超頻中就曾用過,致冷器的散熱效果勝過散熱片、電動風扇,但缺點是耗電,以及過冷時可能會在致冷的接面上把周遭的空氣凝結成水,水滴反而有可能影響到電路板運作。

所以,現在一般的電腦散熱不會去使用致冷器,只有非常要求低溫與精準溫度控制的地方會用上,例如光纖交換設備。而除了致冷器外也有其他同樣屬於極端少數使用的降溫手法,例如使用液態氮冷卻,或直接把電路板泡入液體槽去運作。另一是對控制器晶片超頻的意義不大,因為控制器多數時候只用來執行一件工作或少數工作,工作量固定,超頻通常是為了同時執行多個工作或時多時少的工作才能獲得效益,此即是為何要對處理器晶片進行超頻,而鮮少有人對控制器超頻。

(責任編輯:唐育琪)

陸向陽
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *