當(dāng)前位置: 首頁(yè) > 工業(yè)電子產(chǎn)品 > 半導(dǎo)體產(chǎn)品 > 存儲(chǔ)器
發(fā)布日期:2022-10-09 點(diǎn)擊率:71
由于超快的CPU內(nèi)核與相對(duì)慢的存儲(chǔ)器之間的速度差距在日漸增大,存儲(chǔ)器系統(tǒng)可能成為當(dāng)前制約系統(tǒng)性能的主要瓶頸。此外,低功耗是另一個(gè)重要的設(shè)計(jì)考慮,尤其在電池供電設(shè)備與日俱增的情況下更是如此。低功耗意味著更長(zhǎng)的電池續(xù)航時(shí)間和設(shè)備使用時(shí)間。在常見(jiàn)的應(yīng)用場(chǎng)合,存儲(chǔ)器功耗通常占了應(yīng)用處理器功耗相當(dāng)大的一部分,而且,隨著存儲(chǔ)器設(shè)計(jì)日益復(fù)雜、容量增大、分層增多,存儲(chǔ)器功耗往往會(huì)迅速增加。因此,降低存儲(chǔ)器功耗非常有利于延長(zhǎng)電池續(xù)航時(shí)間。為了更好地了解各種應(yīng)用的固有行為,有必要探究存儲(chǔ)器的特性、建立存儲(chǔ)器模型,以判斷應(yīng)用是否涉及頻繁的存儲(chǔ)器存取操作,甚至幫助預(yù)測(cè)應(yīng)用的性能。
本文提供了一種簡(jiǎn)單、經(jīng)濟(jì)的方法,能以可接受的精確度動(dòng)態(tài)地表征應(yīng)用的計(jì)算及存儲(chǔ)器的構(gòu)成。
描述存儲(chǔ)器特性的方法
如果不涉及存儲(chǔ)器操作,那么CPU利用率應(yīng)該隨著CPU內(nèi)核的頻率呈線性關(guān)系,而應(yīng)用成本(定義為CPU利用率和CPU頻率的乘積)應(yīng)該保持恒定。但在考慮存儲(chǔ)器存取以后,CPU利用率就不再隨內(nèi)核頻率呈線性關(guān)系了。在頻率較高時(shí),存儲(chǔ)器對(duì)性能的影響往往更大,因?yàn)镃PU要用更多的CPU周期等待存儲(chǔ)器的響應(yīng)(這里我們假定,存儲(chǔ)器頻率不隨CPU頻率而變)。從這種意義上,應(yīng)用可以分為兩種類型:計(jì)算限定型和存儲(chǔ)器限定型。
接下來(lái),我們來(lái)講述如何用三種不同的方法表征存儲(chǔ)器特性,并幫助確定應(yīng)用的CPU利用率。在此,硬件性能信息是通過(guò)查看性能監(jiān)視單元(PerformanceMonitoringUnit,簡(jiǎn)稱PMU)來(lái)收集的。因此,Marvell的方法僅適用于有PMU硬件支持的系統(tǒng)。
1.整體數(shù)據(jù)緩存失效率:直覺(jué)上,較高的數(shù)據(jù)緩存失效率意味著更大的存儲(chǔ)器流量。為了獲得數(shù)據(jù)緩存失效率的數(shù)值,我們需要監(jiān)視一級(jí)數(shù)據(jù)緩存和二級(jí)數(shù)據(jù)緩存(如果有的話)的存取操作和失效總數(shù)。
2.主存儲(chǔ)器訪問(wèn)率:外部存儲(chǔ)器控制器的占用率直接表明了存儲(chǔ)器的利用率。為了得到主存儲(chǔ)器訪問(wèn)率數(shù)值,必須收集兩種PMU信息:存儲(chǔ)器控制器被占用的周期總數(shù);監(jiān)視窗口中的周期總數(shù)。
3.數(shù)據(jù)停頓率:流水線停頓主要由數(shù)據(jù)相關(guān)性引起,而數(shù)據(jù)不可用的原因是存儲(chǔ)器存取速度遠(yuǎn)比CPU速度低。因此,流水線的停頓次數(shù)反映了存儲(chǔ)器的流量情況。此外,流水線停頓次數(shù)還表明了存儲(chǔ)器存取的重要性。并不是每次存儲(chǔ)器存取都對(duì)最終性能有關(guān)鍵影響,因此,持續(xù)跟蹤因數(shù)據(jù)相關(guān)性對(duì)性能造成影響的存儲(chǔ)器存取操作,是相當(dāng)有用的。使用這種方法,可以監(jiān)視由數(shù)據(jù)相關(guān)性引起停頓的事件情況。此外,必須記錄總的周期數(shù),以計(jì)算每個(gè)窗口中的數(shù)據(jù)停頓率。
這些不同的方法從不同角度反映出存儲(chǔ)器的特性。我們能以合理的開(kāi)銷使用一種方法或組合使用多種方法,以更有效地進(jìn)行性能分析、做出更準(zhǔn)確的預(yù)測(cè)。
在測(cè)試中,我們使用了Marvell的應(yīng)用處理器,運(yùn)行基于Linux的操作系統(tǒng),采用QVGALCD顯示器作為測(cè)試平臺(tái)。該應(yīng)用處理器包括兩級(jí)緩存。在本次研究中,我們專注于MP3、AAC+和H.264解碼器。
圖1顯示了對(duì)三種不同方法進(jìn)行比較的結(jié)果。每張圖都包括兩條曲線:一條是啟動(dòng)了二級(jí)(L2)緩存的情況;另一條則是禁用了二級(jí)緩存的情況。測(cè)試了三個(gè)CPU頻率。
圖1:表征存儲(chǔ)器特性的三種方法
存儲(chǔ)器存取任務(wù)不繁重時(shí),CPU利用率與內(nèi)核頻率呈近似線性關(guān)系,因此內(nèi)核頻率變化時(shí),應(yīng)用成本曲線(如負(fù)載曲線中所示)應(yīng)與內(nèi)核頻率曲線呈平直并行走向。L2緩存接通時(shí),MP3和AAC+解碼器是很好的例子,因?yàn)镸P3和AAC+解碼器僅引入很少量的存儲(chǔ)器存取操作,而且這些存取操作大多數(shù)都由L2緩存處理了。在沒(méi)有L2緩存的情況下,應(yīng)用負(fù)載隨內(nèi)核頻率升高而增大。我們還發(fā)現(xiàn),無(wú)論L2緩存接通還是斷開(kāi),緩存失效率在CPU頻率變化時(shí),沒(méi)有顯著改變,這意味著,要表示存儲(chǔ)器的存取情況,整體數(shù)據(jù)緩存失效率不是一個(gè)非常有效的衡量指標(biāo)。
直覺(jué)上,存儲(chǔ)器訪問(wèn)率包含了與緩存失效率類似的系統(tǒng)信息量,因?yàn)榫彺媸е苯右l(fā)存儲(chǔ)器存取。不過(guò),我們得到的結(jié)果表明,情況并非如此。例如,H.264QCIF解碼器顯示了與H.264QVGA解碼器類似的緩存失效率趨勢(shì)。但是與H.264QCIF解碼器相比,H.624QVGA解碼器在存儲(chǔ)器存取上所占應(yīng)用時(shí)間的百分比要大得多。這再一次證明,只監(jiān)視緩存失效率是不夠的。如果總體緩存存取量微不足道,那么緩存失效率未必導(dǎo)致性能下降。沒(méi)有L2緩存的MP3解碼器是這種情況的一個(gè)很好的例子。另一方面,典型的緩存失效率可能導(dǎo)致大量存儲(chǔ)器存取操作。H.264QVGA解碼器顯示了這種趨勢(shì)。
有些存儲(chǔ)器存取可能對(duì)性能發(fā)生關(guān)鍵的影響,另一些則可能影響不大。無(wú)論緩存失效率、總體緩存存取量,還是主存儲(chǔ)器訪問(wèn)率,都無(wú)法用以區(qū)分存儲(chǔ)器存取是否對(duì)性能有關(guān)鍵影響。幸運(yùn)的是,我們發(fā)現(xiàn),數(shù)據(jù)停頓率是一個(gè)非常好的指標(biāo)。顯然,除了MP3解碼器,對(duì)所有其它應(yīng)用,數(shù)據(jù)停頓率曲線與應(yīng)用成本都是同步的。在我們所做的實(shí)驗(yàn)中,數(shù)據(jù)停頓率是用來(lái)預(yù)測(cè)應(yīng)用負(fù)載的最佳衡量指標(biāo)。MP3解碼器的存儲(chǔ)器存取頻度極低,因此,在整體上存儲(chǔ)器存取操作非常少的情況下,即使存在一些能產(chǎn)生關(guān)鍵影響的存儲(chǔ)器存取操作,它對(duì)性能的影響也是微不足道的。
圖2提供了一種基于存儲(chǔ)器特性預(yù)測(cè)CPU利用率的算法。該算法首先檢查,存儲(chǔ)器訪問(wèn)率是否低于預(yù)先定義的門限T1。如果是,我們就預(yù)測(cè),CPU利用率與CPU頻率呈線性關(guān)系;否則,就分兩步預(yù)測(cè)CPU利用率:(1)與頻率成比例;(2)根據(jù)數(shù)據(jù)停頓率調(diào)整。在第二步,我們?cè)僖雰蓚€(gè)門限:T2和T3。為了采用這個(gè)算法,我們必須跟蹤主存儲(chǔ)器訪問(wèn)率和數(shù)據(jù)停頓率。因此,最多必須監(jiān)視3種PMU信息:(a)外部存儲(chǔ)器控制器被占用的總周期數(shù);(b)由于數(shù)據(jù)相關(guān)性而導(dǎo)致流水線停頓的總次數(shù);(c)監(jiān)視窗口中的總周期數(shù)。(a)/(c)給出DDR%,而(b)/(c)給出Stall%。這種算法可以很容易納入電源管理框架中。
圖2:一種簡(jiǎn)單的性能預(yù)測(cè)算法。
本文結(jié)論
總之,如果整體上存儲(chǔ)器存取頻度可以忽略不計(jì),那么就可以預(yù)測(cè),CPU利用率與CPU頻率成比例。如果存儲(chǔ)器存取頻度并非微不足道,那么預(yù)測(cè)CPU利用率時(shí),就應(yīng)該同時(shí)使用數(shù)據(jù)停頓率。本白皮書是基于一篇會(huì)議論文撰寫的,該論文研究了有助于表征存儲(chǔ)器特性的3種存儲(chǔ)器指標(biāo),論文以此為基礎(chǔ)提出了一種改進(jìn)性能預(yù)測(cè)的算法。未來(lái)的工作可能還包括:用更多應(yīng)用做實(shí)驗(yàn);基于用戶輸入和/或更多系統(tǒng)反饋設(shè)計(jì)動(dòng)態(tài)自適應(yīng)門限,以此優(yōu)化我們的算法。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV