欧美日韩国产精品-欧美日韩国产精品综合-欧美日韩国产伦理-欧美日韩国产码高清综合人成-黄色网页在线观看-黄色网页在线播放

首頁(yè) > 生活分享 > 免費(fèi)教學(xué) > 如何從處理器和加速器內(nèi)核中榨取最大性能?

如何從處理器和加速器內(nèi)核中榨取最大性能?

發(fā)布時(shí)間:2024-06-02 16:31:47來(lái)源: 15210273549

利用緩存增強(qiáng)低成本、上一代或中端的 SoC。

 

一些設(shè)計(jì)團(tuán)隊(duì)在創(chuàng)建片上系統(tǒng)(SoC)設(shè)備時(shí),有幸能夠使用最新和最先進(jìn)的技術(shù)節(jié)點(diǎn),并且擁有相對(duì)不受限制的預(yù)算來(lái)從可信的第三方供應(yīng)商那里獲取知識(shí)產(chǎn)權(quán)(IP)模塊。然而,許多工程師并沒(méi)有這么幸運(yùn)。對(duì)于每一個(gè)“不惜一切代價(jià)”的項(xiàng)目,都有一千個(gè)“在有限預(yù)算下盡你所能”的對(duì)應(yīng)項(xiàng)目。

一種從成本較低、早期代、中檔處理器和加速器核心中擠出最大性能的方法是,明智地應(yīng)用緩存。

 

削減成本

圖1展示了一個(gè)典型的成本意識(shí)SoC場(chǎng)景的簡(jiǎn)化示例。盡管SoC可能由許多IP組成,但這里為了清晰起見(jiàn),只展示了三個(gè)。

 

圖 1

SoC內(nèi)部IP之間連接的主要技術(shù)是網(wǎng)絡(luò)片上(NoC)互連IP。這可以被看作是一個(gè)跨越整個(gè)設(shè)備的IP。圖1中展示的例子可以假定為一個(gè)非緩存一致性場(chǎng)景。在這種情況下,任何一致性需求將由軟件處理。

假設(shè)SoC的時(shí)鐘運(yùn)行在1GHz。假設(shè)一個(gè)基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)架構(gòu)的中央處理單元(CPU)運(yùn)行一個(gè)典型指令將消耗一個(gè)時(shí)鐘周期。然而,訪問(wèn)外部DRAM內(nèi)存可能需要100到200個(gè)處理器時(shí)鐘周期(為了本文的目的,我們將這個(gè)平均為150個(gè)周期)。這意味著,如果CPU沒(méi)有一級(jí)(L1)緩存,并且通過(guò)NoC和DDR內(nèi)存控制器直接連接到DRAM,那么每個(gè)指令將消耗150個(gè)處理器時(shí)鐘周期,導(dǎo)致CPU利用率僅為1/150 = 0.67%。

這就是為什么CPU以及一些加速器和其他IP使用緩存內(nèi)存來(lái)提高處理器利用率和應(yīng)用程序性能。緩存概念基于的基本原理是局部性原則。這個(gè)觀點(diǎn)是,在任何給定時(shí)間,只有一小部分主內(nèi)存被使用,而且那個(gè)空間中的位置被多次訪問(wèn)。主要是由于循環(huán)、嵌套循環(huán)和子程序,指令及其相關(guān)數(shù)據(jù)經(jīng)歷時(shí)間、空間和順序局部性。這意味著,一旦一塊指令和數(shù)據(jù)從主內(nèi)存復(fù)制到IP的緩存中,IP通常會(huì)反復(fù)訪問(wèn)它們。

當(dāng)今高端CPU IP通常至少有一個(gè)一級(jí)(L1)和二級(jí)(L2)緩存,它們通常還有一個(gè)三級(jí)(L3)緩存。此外,一些加速器IP,如圖形處理單元(GPU)通常有自己的內(nèi)部緩存。然而,這些最新一代的高端IP的價(jià)格通常比上一代中檔產(chǎn)品高出5倍到10倍。因此,正如圖1所示,一個(gè)注重成本的SoC中的CPU可能只配備了一個(gè)L1緩存。

更深入地考慮CPU及其L1緩存。當(dāng)CPU在其緩存中請(qǐng)求某物時(shí),結(jié)果被稱(chēng)為緩存命中。由于L1緩存通常以與處理器核心相同的速度運(yùn)行,因此緩存命中將在單個(gè)處理器時(shí)鐘周期內(nèi)處理。相比之下,如果請(qǐng)求的數(shù)據(jù)不在緩存中,結(jié)果稱(chēng)為緩存未命中,將需要訪問(wèn)主內(nèi)存,這將消耗150個(gè)處理器時(shí)鐘周期。

現(xiàn)在考慮運(yùn)行1,000,000條指令。如果緩存足夠大以包含整個(gè)程序,那么這將只消耗1,000,000個(gè)時(shí)鐘周期,從而實(shí)現(xiàn)100%的CPU效率。

不幸的是,中檔CPU中的L1緩存通常只有16KB到64KB的大小。如果我們假設(shè)95%的緩存命中率,那么我們的1,000,000條指令中的950,000條將需要一個(gè)處理器時(shí)鐘周期。其余的50,000條指令每條將消耗150個(gè)時(shí)鐘周期。因此,這種情況下的CPU效率可以計(jì)算為1,000,000/((950,000 * 1) + (50,000 * 150)) = ~12%。

 

提升性能

提高注重成本SoC性能的一種成本效益高的方式是添加緩存IP。例如,Arteris的CodaCache是一個(gè)可配置的、獨(dú)立的非一致性緩存IP。每個(gè)CodaCache實(shí)例可以高達(dá)8MB,并且可以在同一個(gè)SoC中實(shí)例化多個(gè)副本,如圖2所示。

 

圖2

本文的目的并不是建議每個(gè)IP都應(yīng)該配備一個(gè)CodaCache。圖2僅旨在提供潛在CodaCache部署的示例。

如果一個(gè)CodaCache實(shí)例與一個(gè)IP關(guān)聯(lián),它被稱(chēng)為專(zhuān)用緩存(DC)。或者,如果一個(gè)CodaCache實(shí)例與一個(gè)DDR內(nèi)存控制器關(guān)聯(lián),它被稱(chēng)為末級(jí)緩存(LLC)。DC將加速與其關(guān)聯(lián)的IP的性能,而LLC將增強(qiáng)整個(gè)SoC的性能。

作為我們可能期望的性能提升類(lèi)型的一個(gè)示例,考慮圖2中顯示的CPU。讓我們假設(shè)與這個(gè)IP關(guān)聯(lián)的CodaCache DC實(shí)例以處理器速度的一半運(yùn)行,并且對(duì)這個(gè)緩存的任何訪問(wèn)消耗20個(gè)處理器時(shí)鐘周期。如果我們還假設(shè)這個(gè)DC有95%的緩存命中率,那么對(duì)于1,000,000條指令——我們的整體CPU+L1+DC效率可以計(jì)算為1,000,000/((950,000 * 1) + (47,500 * 20) + (2,500 * 150)) = ~44%。這是一個(gè)~273%的性能提升!

 

結(jié)論

過(guò)去,嵌入式程序員喜歡挑戰(zhàn),盡可能從時(shí)鐘速度低、內(nèi)存資源有限的小處理器中擠出最高性能。事實(shí)上,計(jì)算機(jī)雜志通常會(huì)向讀者提出挑戰(zhàn),例如:“誰(shuí)能在處理器Y上使用最少的時(shí)鐘周期和最小的內(nèi)存量執(zhí)行任務(wù)X?”

今天,許多SoC開(kāi)發(fā)者喜歡挑戰(zhàn),盡可能從他們的設(shè)計(jì)中擠出最高性能,特別是如果他們被限制使用性能較低的中檔IP。部署CodaCache IP作為專(zhuān)用和末級(jí)緩存,為工程師提供了一種負(fù)擔(dān)得起的方式來(lái)提升他們注重成本的SoC的性能

免費(fèi)教學(xué)更多>>

主站蜘蛛池模板: 国产天堂在线一区二区三区 | 国产精品一区二区欧美视频 | 成人综合久久综合 | 亚洲防屏蔽一区二区 | 我要看特级毛片 | 亚洲丝袜在线观看 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 日本精品高清一区二区不卡 | 伊人网综合在线观看 | 国产91免费在线 | 亚洲综合情 | 伊人久久久久久久久香港 | 伊人中文字幕在线 | 高清成人 | 欧美成a高清在线观看www | 亚欧成人乱码一区二区 | 91精品久久久久久久久网影视 | 亚洲欧美韩国日本 | 另类视频第一页 | 亚洲最大成人综合网 | 国产成人乱码一区二区三区在线 | 美女视频永久黄网站免费观看国产 | 91精品国产自产在线观看高清 | 四虎免费永久网站入口 | 有一婷婷色 | 伊人久久大香 | 国产黄色的视频 | 欧美最猛性xxxx高清 | 国产精品免费aⅴ片在线观看 | 国产精品线在线精品国语 | 久久国产一区二区 | 亚洲一区二区高清 | a毛片a毛片a视频 | 最新国产毛片 | 日韩欧美一区二区三区不卡在线 | 欧美成人影院免费观 | 一区欧美| 91精品国产一区二区三区左线 | 老司机精品视频午夜免费视频 | 国产污网站| 日韩精品久久一区二区三区 |