0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在提高內(nèi)存速度的情況下如何降低傳輸慢對系統(tǒng)性能帶來負(fù)面影響

冬至配餃子 ? 來源:天奇工作室 ? 作者:LRC ? 2022-08-04 17:31 ? 次閱讀

程序和數(shù)據(jù)都是儲(chǔ)存在內(nèi)存上的,CPU要處理程序必須要頻繁訪問內(nèi)存。但是內(nèi)存?zhèn)骰谻PU的速度要比CPU處理的速度來得慢。根據(jù)木桶效應(yīng),整體性能被內(nèi)存?zhèn)鬏數(shù)倪^程拖累了。在沒有辦法能提高內(nèi)存速度的情況下如何降低傳輸慢對系統(tǒng)性能帶來負(fù)面影響成為重要的研究課題。(感覺像寫起了綜述論文,咳咳)緩存這一技術(shù)應(yīng)運(yùn)而生。

我們知道程序運(yùn)行具有一定規(guī)律——順序和反復(fù)性,即順序執(zhí)行和循環(huán)執(zhí)行。對于順序執(zhí)行,可以采取預(yù)讀策略。即將后面的程序一并讀取至緩存中,減少內(nèi)存讀取次數(shù)(注意CPU的讀指令并沒有減少,只是內(nèi)存響應(yīng)次數(shù)少了)。緩存行是緩存的基本單位,目前主流緩存行大小是64字節(jié)因?yàn)閮?nèi)存一次讀操作是64字節(jié),而64位CPU對數(shù)據(jù)的讀取是8字節(jié)即64bit,因此若CPU要讀的八字節(jié)落入某一緩存行中,該緩存行的內(nèi)容將會(huì)全部從內(nèi)存中被讀取到緩存中,接下來的程序也被這次讀寫一并帶到了緩存中去。對于循環(huán)執(zhí)行,則正是緩存的強(qiáng)項(xiàng),之前訪問過的程序都存儲(chǔ)在緩存中,再次讀取時(shí),直接可以從緩存而不是從內(nèi)存中讀取,大大提高了運(yùn)行效率。

為什么緩存讀取速度要比內(nèi)存快呢?這就和緩存的底層電路原理有關(guān)系了。緩存采用的是SRAM存儲(chǔ)器內(nèi)建在CPU上,而內(nèi)存采用的是DRAM。前者可以達(dá)到很高的讀取速度但是面積占用比較大因此容量上不去,在幾M容量就止步了。后者讀取速度慢每次讀取后都要刷新(有空再講),但面積占用小,因此容量可以達(dá)到好幾個(gè)G甚至幾百幾千個(gè)G。至于容量動(dòng)輒幾TB的硬盤那就要另當(dāng)別論了。

緩存又有分為一級緩存、二級緩存等等。他們的速度也有所不同,從一級緩存以后讀取速度依次降低。為什么呢?雖然都是采用的SRAM存儲(chǔ)器,但是數(shù)據(jù)檢索需要時(shí)間,數(shù)據(jù)存儲(chǔ)量大的三級緩存找的時(shí)間就比數(shù)據(jù)存儲(chǔ)量小的一級緩存找的時(shí)間久。為什么要找呢?不是直接根據(jù)地址選出對應(yīng)的數(shù)據(jù)就行了嗎?這個(gè)過程所需時(shí)間與其存儲(chǔ)的數(shù)據(jù)容量有什么關(guān)系呢?在內(nèi)存中、在CPU的寄存器組中這個(gè)過程所需時(shí)間確實(shí)與數(shù)據(jù)容量沒有太大關(guān)系。那怎么規(guī)則到緩存這里就變了呢?

如果把內(nèi)存比作圖書館的書架,那么緩存就像是CPU面前的一張桌子。給你地址讓你去找CPU想要的數(shù)據(jù),如果你是在書架上找,你可以很清楚這個(gè)數(shù)據(jù)放在哪一行哪一列,如果恰好你運(yùn)動(dòng)速度是光速的話,那么你總能在一個(gè)確定的時(shí)間內(nèi)拿到CPU想要的數(shù)據(jù)??墒蔷彺婢筒灰粯恿耍瑫驮谀忝媲?,還亂糟糟的,你需要翻閱查看地址是否對應(yīng)上了。因此桌子越大,你找得也就越慢。

就沒有別的辦法了嗎?當(dāng)然有。桌子亂可以整理整理嘛。比如規(guī)定一下,第一書架的書只能放在桌子上的A區(qū),第二書架放B區(qū)……以此類推。這樣一來,找的人便會(huì)方便很多,放的人也沒有什么困難。后者的辦法被稱為組關(guān)聯(lián),組關(guān)聯(lián)還分為一路組關(guān)聯(lián)、雙路組關(guān)聯(lián)、四路組關(guān)聯(lián)等等。組關(guān)聯(lián)就沒有壞處嗎?也有。如果桌子太小了怎么辦?劃分出來的每個(gè)區(qū)連一本書都放不下怎么辦?

我程序一直在讀取某個(gè)書架上的書怎么辦?別的區(qū)域不能放該書架上的書,而該書架的書已經(jīng)在該區(qū)域摞得老高了,這樣緩存利用效率就很低下。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • DRAM
    +關(guān)注

    關(guān)注

    40

    文章

    2320

    瀏覽量

    183680
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10888

    瀏覽量

    212362
  • SRAM存儲(chǔ)器
    +關(guān)注

    關(guān)注

    0

    文章

    88

    瀏覽量

    13349
收藏 人收藏

    評論

    相關(guān)推薦

    DDR5內(nèi)存與DDR4內(nèi)存性能差異

    DDR5內(nèi)存與DDR4內(nèi)存性能差異 隨著技術(shù)的發(fā)展,內(nèi)存技術(shù)也不斷進(jìn)步。DDR5內(nèi)存作為新一代
    的頭像 發(fā)表于 11-29 14:58 ?596次閱讀

    PCIe延遲對系統(tǒng)性能的影響

    隨著技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)性能的要求越來越高。PCIe作為連接處理器、內(nèi)存、存儲(chǔ)和其他外圍設(shè)備的關(guān)鍵接口,其性能直接影響到整個(gè)系統(tǒng)的表現(xiàn)。
    的頭像 發(fā)表于 11-26 15:14 ?611次閱讀

    DDR內(nèi)存與數(shù)據(jù)傳輸速度的關(guān)系

    計(jì)算機(jī)系統(tǒng)中,內(nèi)存是至關(guān)重要的組件之一,它直接影響到數(shù)據(jù)的處理速度系統(tǒng)的響應(yīng)時(shí)間。DDR內(nèi)存
    的頭像 發(fā)表于 11-20 14:35 ?771次閱讀

    DDR內(nèi)存頻率對性能的影響

    DDR內(nèi)存頻率對性能的影響主要體現(xiàn)在以下幾個(gè)方面: 一、數(shù)據(jù)傳輸速度 內(nèi)存條的頻率(MHz)代表每秒的
    的頭像 發(fā)表于 11-20 14:25 ?1137次閱讀

    RAM內(nèi)存頻率對性能的影響

    計(jì)算機(jī)系統(tǒng)中,RAM(隨機(jī)存取存儲(chǔ)器)是至關(guān)重要的組件之一,它直接影響著系統(tǒng)的響應(yīng)速度和處理能力。內(nèi)存頻率,即
    的頭像 發(fā)表于 11-11 09:52 ?1374次閱讀

    TAS2552模擬輸入的情況下是否還具有auto-passthrough功能?

    請問一,TAS2552模擬輸入的情況下是否還具有auto-passthrough功能?或者說模擬輸入的情況下時(shí)候需要將booster
    發(fā)表于 10-23 07:36

    TL064使用低壓單電源供電,還會(huì)有其他的負(fù)面影響嗎?

    你好!我們的一塊板子上,運(yùn)放使用的是TL064,單電源+5V供電,板子對動(dòng)態(tài)范圍的要求不高,運(yùn)放輸出信號幅度不會(huì)超過2.5V,請問使用低壓單電源供電,還會(huì)有其他的負(fù)面影響嗎?
    發(fā)表于 09-24 08:31

    不犧牲尺寸的情況下提高脈搏血氧儀溶液的性能

    電子發(fā)燒友網(wǎng)站提供《不犧牲尺寸的情況下提高脈搏血氧儀溶液的性能.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 10:54 ?0次下載
    <b class='flag-5'>在</b>不犧牲尺寸的<b class='flag-5'>情況下</b><b class='flag-5'>提高</b>脈搏血氧儀溶液的<b class='flag-5'>性能</b>

    不影響性能或占用空間的情況下隔離您的CAN系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《不影響性能或占用空間的情況下隔離您的CAN系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 08-29 10:49 ?0次下載
    <b class='flag-5'>在</b>不影響<b class='flag-5'>性能</b>或占用空間的<b class='flag-5'>情況下</b>隔離您的CAN<b class='flag-5'>系統(tǒng)</b>

    什么情況下會(huì)產(chǎn)生零序電流

    零序電流是指在三相電力系統(tǒng)中,三相電流的矢量和不為零的情況。正常情況下,三相電力系統(tǒng)中的三相電流是平衡的,即三相電流的矢量和為零。但是,在
    的頭像 發(fā)表于 07-15 14:53 ?4388次閱讀

    iOS和Android藍(lán)牙傳輸速度都非常的,有沒有提高的方法?

    iOS和Android藍(lán)牙傳輸速度都非常的,有沒有提高的方法?
    發(fā)表于 06-05 06:53

    stm32系列具有I2S功能的芯片,使能DMA傳輸情況下怎么去發(fā)送?

    stm32系列具有I2S功能的芯片,使能DMA傳輸情況下,啟動(dòng)I2S,第一次發(fā)送(左聲道),是先發(fā)送,還是先由DMA送數(shù)再發(fā)送?如果先發(fā)送,那么DMA傳輸
    發(fā)表于 03-22 07:14

    微星開始推送BIOS更新,支持禁用CEP功能提升性能

    EP也被稱為Current Excursion Protection,其作用是通過電流過載保護(hù)保持CPU工作穩(wěn)定。然而這個(gè)功能可能由于不同硬件平臺(tái)及其搭配而對系統(tǒng)性能產(chǎn)生負(fù)面影響。
    的頭像 發(fā)表于 03-08 15:14 ?4484次閱讀

    如何在不更換固件的情況下控制cyusb3014USB 2.0和USB 3.0模式的讀寫速度?

    您好,我想通過上層機(jī)測試cyusb3014 USB 2.0和 USB 3.0模式的讀寫速度。 如何在不更換固件的情況下控制是通過上位機(jī)以 USB 2.0 還是 USB 3.0
    發(fā)表于 02-27 06:24

    無功補(bǔ)償什么情況下需要增設(shè)電容補(bǔ)償

    無功補(bǔ)償引發(fā)的電能損耗是很多用戶需要解決的問題之一。某些情況下,為了降低無功功率的影響,需要增設(shè)電容補(bǔ)償。
    的頭像 發(fā)表于 01-18 14:18 ?1054次閱讀