国产成人福利在线视频播放下载,成人无码www免费视频在线看,放荡的美妇在线播放,大地资源网最新更新,国产成人精品日本亚洲网站

泡泡網(wǎng)CPU頻道 PCPOP首頁      /      CPU     /      評(píng)測    /    正文

蓋棺定論 2013年手機(jī)處理器終極指南

    每次提到高通,“異步多核”甚至“膠水多核”都是一個(gè)無法回避的問題。對(duì)于這個(gè)技術(shù),支持者和反對(duì)者都很多,之前的文章也有過一定的介紹。當(dāng)然,實(shí)際上那時(shí)的介紹并不準(zhǔn)確,不過異步架構(gòu)在手機(jī)上壞處大于好處,這點(diǎn)相信還是很容易理解的。

    異步架構(gòu)的好處是什么?當(dāng)然是省電。異步架構(gòu)下的CPU不需要運(yùn)行在同樣的頻率,甚至不需要擁有同樣的實(shí)現(xiàn),完全可以做到一刻核心運(yùn)行在1.5GHz的全速下,而另一顆核心只運(yùn)行在384MHz的最低頻下。這樣以來,高負(fù)載的線程,比如前臺(tái)應(yīng)用,就可以工作在高負(fù)荷的核心上,而諸如系統(tǒng)后臺(tái)服務(wù)這樣的低負(fù)載線程就可以工作在低頻核心下,系統(tǒng)的能耗比得到最大規(guī)模的優(yōu)化。

    為了實(shí)現(xiàn)這點(diǎn),高通必須對(duì)Linux核心的調(diào)度器做修改,因?yàn)榈湫偷恼{(diào)度器并不支持非對(duì)稱調(diào)度,它會(huì)默認(rèn)所有的CPU核心具備同樣的性能,這會(huì)導(dǎo)致低頻核心進(jìn)入嚴(yán)重的阻塞狀態(tài),進(jìn)而影響系統(tǒng)表現(xiàn)。這也是高通稱移動(dòng)領(lǐng)域只有高通做到了這點(diǎn)的原因。

    那么異步架構(gòu)的壞處又是什么?自然是性能。異步架構(gòu)對(duì)于性能的影響在于兩個(gè)方面,一是異步電路的同步開銷,二是非對(duì)稱調(diào)度的調(diào)度開銷。

    不論多么復(fù)雜的硬件,深入到最底層,都是功能電路與總線的組合。總線需要協(xié)議,協(xié)議的基礎(chǔ)是時(shí)序,因此顯而易見的要求就是,連接到一個(gè)總線的兩個(gè)設(shè)備之間想要溝通,那么就需要具備同樣的時(shí)序。換句話說,就是需要擁有同樣的頻率。這就是同步電路。30年來,同步電路成為了設(shè)計(jì)領(lǐng)域的主流,圍繞其發(fā)展的EDA技術(shù)也是最成熟的。而異步電路則不同,它擁有一個(gè)特殊的“握手協(xié)議”,在正式的傳輸發(fā)起之前,會(huì)首先利用幾個(gè)時(shí)鐘周期的時(shí)間進(jìn)行“握手”,將雙方的時(shí)序調(diào)整到一致。在實(shí)際實(shí)現(xiàn)中,這個(gè)由固化硬件實(shí)現(xiàn)的握手協(xié)議消耗的時(shí)序,根據(jù)設(shè)計(jì)不同在2~4個(gè)時(shí)鐘周期左右,這就是異步電路的同步開銷。如果我們考慮最極端的情況,假設(shè)真正的數(shù)據(jù)傳輸只需要3個(gè)時(shí)鐘周期,那么異步電路的總線利用率就永遠(yuǎn)不會(huì)超過50%,因?yàn)橹辽儆幸话氲臅r(shí)間要消耗在握手上,哪怕兩邊的頻率是相等的。

    看到這里,聰明的你應(yīng)該可以發(fā)現(xiàn)問題所在:即便是異步電路,在真正數(shù)據(jù)傳輸?shù)臅r(shí)候,依然還是需要兩側(cè)時(shí)序保持同步,異步握手協(xié)議的加入只是做到了通訊發(fā)起時(shí)雙方的時(shí)序可以不一致。因此很明顯的結(jié)論就是,異步總線同一時(shí)刻只能與一個(gè)設(shè)備進(jìn)行握手??紤]以下狀況,如果兩個(gè)CPU同時(shí)向總線發(fā)起占用請(qǐng)求,即發(fā)起握手請(qǐng)求,而這兩個(gè)CPU的頻率不同,那么很明顯,由于時(shí)序的不同,任何防止沖突的協(xié)議都無法起效,因?yàn)檫壿嬰娐返淖钚」ぷ髦芷诰褪菚r(shí)鐘周期。因此異步系統(tǒng)里發(fā)起握手行為的只能是總線本身,也就是說異步系統(tǒng)里實(shí)際上是總線在不斷詢問CPU是否要接入,而不是CPU向總線要求接入。

    既然如此,異步系統(tǒng)就是一個(gè)輪詢的系統(tǒng),這是它的另一硬件開銷,尤其是在核心數(shù)超過2的系統(tǒng)中,由于輪詢必然是有順序的,那么就必然會(huì)遇到某一時(shí)刻總線輪詢到的是CPU0,而此時(shí)需要握手的是CPU3。哪怕CPU1和CPU2都是空閑的,CPU3也必須要等到3個(gè)總線周期以后才可以和總線同步。假設(shè)同步需要3個(gè)周期,而數(shù)據(jù)傳輸也只需要3個(gè)周期,這就意味著在同步系統(tǒng)里只需要4個(gè)周期就可以實(shí)現(xiàn)的數(shù)據(jù)請(qǐng)求,在異步系統(tǒng)里消耗了9個(gè)周期。

    當(dāng)然,這里討論的都是最基礎(chǔ)的情況,實(shí)際設(shè)計(jì)中也會(huì)有很多的技巧去突破這些限制,但是別忘了,如果把總線協(xié)議和接口實(shí)現(xiàn)的過于復(fù)雜,其本身的耗電量也會(huì)增加,因此實(shí)際設(shè)計(jì)中可能并不會(huì)引入太多復(fù)雜的高級(jí)設(shè)計(jì),因此這些開銷可能全都是存在的。

    除去硬件設(shè)計(jì)導(dǎo)致的開銷以外,用于配合異步系統(tǒng)正常工作的操作系統(tǒng)調(diào)度器,也會(huì)引入額外的開銷。對(duì)于同步系統(tǒng)的調(diào)度器而言,由于它假定所有的CPU均擁有同樣的運(yùn)算能力,因此調(diào)度算法的實(shí)現(xiàn)非常簡單,只需要平衡的把負(fù)載分配到各個(gè)活動(dòng)CPU上即可。但是一旦各個(gè)CPU之間的頻率不同,調(diào)度器所需要維護(hù)的數(shù)據(jù)結(jié)構(gòu)就會(huì)大大復(fù)雜化,因?yàn)橄到y(tǒng)需要盡力去保證異步系統(tǒng)處于異步狀態(tài),否則就無法實(shí)現(xiàn)異步系統(tǒng)省電的特性,因此就不能平均分配工作符合。尤其是考慮到實(shí)際的移動(dòng)設(shè)備里,各個(gè)CPU核心的頻率都是處在動(dòng)態(tài)變化之中的,因此異步系統(tǒng)調(diào)度器的算法會(huì)明顯復(fù)雜得多。我們知道,調(diào)度器所占用的是一個(gè)系統(tǒng)內(nèi)兩個(gè)時(shí)間片中間的時(shí)間,現(xiàn)代系統(tǒng)中時(shí)間片一般取10~100毫秒,Linux核心的時(shí)間片大體上是100ms左右,根據(jù)任務(wù)優(yōu)先級(jí)不同而不同,最短可以到5ms。假設(shè)同步系統(tǒng)的調(diào)度器執(zhí)行只需要10us,那么在5ms時(shí)間片的系統(tǒng)上所消耗的性能就只有0.2%,但是如果調(diào)度器消耗的時(shí)間為1ms,那么性能損失就會(huì)激增到17%左右,影響十分巨大。當(dāng)然,在實(shí)際系統(tǒng)中不太可能使用5ms時(shí)間片,異步系統(tǒng)的調(diào)度器也不可能需要花1ms的時(shí)間才能完成調(diào)度,但是異步調(diào)度器的確會(huì)占用系統(tǒng)不可分片的時(shí)間,帶來性能的下降。

    至此異步系統(tǒng)的好處和壞處都解釋清楚了,那么最后的問題就是,異步系統(tǒng)相對(duì)于同步系統(tǒng)而言究竟是好處多還是壞處多,這個(gè)問題可以分為兩個(gè)方面來觀察。

    首先是用戶對(duì)于性能的需求。異步系統(tǒng)的省電特性是靠犧牲性能獲得的。由于同步開銷的存在,異步系統(tǒng)發(fā)揮非常好的效率的時(shí)候是重度計(jì)算的情況,在這種情況下,CPU的指令流水線基本處于滿負(fù)荷工作的狀態(tài),而指令拾取與解碼往往會(huì)因?yàn)楹蠖肆魉€的阻塞而停止。這時(shí)對(duì)于總線使用率的要求會(huì)大大降低,同步開銷得以掩蓋。但是當(dāng)用戶執(zhí)行的是輕量級(jí)多線程時(shí),由于同步開銷的存在,系統(tǒng)的表現(xiàn)會(huì)大受影響,因此給人的感覺就是跑分快,實(shí)際用卻表現(xiàn)不出來,多任務(wù)切換的時(shí)候甚至?xí)锌D的情況,而這正是高通系統(tǒng)的特征。

    其次是同步系統(tǒng)也各種有辦法減小同步運(yùn)行的高功耗,其中之一就是對(duì)指令流水線引入復(fù)雜而精密的時(shí)鐘門控,在沒有指令輸入的時(shí)候,流水線甚至可以整體關(guān)閉時(shí)鐘,進(jìn)入徹底的停擺狀態(tài),進(jìn)而降低功耗。這些都是已經(jīng)成熟的技術(shù),目前大部分CPU設(shè)計(jì)中都已經(jīng)實(shí)現(xiàn),因此同步系統(tǒng)和異步系統(tǒng)之間的差異可能并沒有看起來的那么大。

    總體來說,手機(jī)中使用異步系統(tǒng)是一種犧牲性能節(jié)省電量的折衷方法,并非是解決性能和功耗問題的唯一途徑。很多時(shí)候高通MSM平臺(tái)所宣稱的節(jié)電效果是來自于CPU、Baseband、Modem等子系統(tǒng)的共同作用。異步就能省電是個(gè)巨大的認(rèn)知錯(cuò)誤。

0人已贊

關(guān)注我們

泡泡網(wǎng)

手機(jī)掃碼關(guān)注