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

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

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

Helium技術(shù)講堂—循環(huán)緩沖區(qū)的使用

瑞薩MCU小百科 ? 來源:Arm社區(qū) ? 2024-03-11 13:39 ? 次閱讀

RA8系列是瑞薩電子推出的全新超高性能產(chǎn)品業(yè)界首款基于Arm Cortex-M85處理器MCU,能夠提供卓越的6.39 CoreMark/MHz,可滿足工業(yè)自動(dòng)化、家電、智能家居消費(fèi)電子、樓宇/家庭自動(dòng)化、醫(yī)療等廣泛應(yīng)用的各類圖形顯示和語音/視覺多模態(tài)AI要求。

所有RA8系列MCU均利用Arm Cortex-M85處理器和Arm的Helium技術(shù)所帶來的高性能,結(jié)合矢量/SIMD指令集擴(kuò)展,能夠在數(shù)字信號(hào)處理器(DSP)和機(jī)器學(xué)習(xí)(ML)的實(shí)施方面獲得相比Cortex-M7內(nèi)核高4倍的性能提升。

f5cc32ac-df61-11ee-a297-92fbcf53809c.png

當(dāng)人工智能 (AI) 下沉到各式各樣的應(yīng)用當(dāng)中,作為市場上最大量的物聯(lián)網(wǎng)設(shè)備也將被賦予智能性。ArmHelium 技術(shù)正是為基于Arm Cortex-M 處理器的設(shè)備帶來關(guān)鍵機(jī)器學(xué)習(xí)與數(shù)字信號(hào)處理的性能提升。

在上周的 Helium 技術(shù)講堂中,我們與大家共同探討了復(fù)雜而又有趣的交錯(cuò)加載/存儲(chǔ)指令。今天,我們將一起聊聊與內(nèi)存訪問相關(guān)的內(nèi)容。若您想要了解如何高效利用 Helium,千萬別錯(cuò)過文末視頻,通過 Arm 技術(shù)專家的實(shí)例演示,詳解 Helium 如何為端點(diǎn)設(shè)備引入更多智能。

Arm Helium 技術(shù)誕生的由來

循環(huán)緩沖區(qū)的使用

作者:Arm 架構(gòu)與技術(shù)部高級(jí)首席工程師 Fran?ois Botman

我們?cè)跒?Arm Cortex-M 處理器系列設(shè)計(jì)矢量擴(kuò)展 (MVE) —— Arm Helium 技術(shù)時(shí),希望它能廣泛地適用于各種數(shù)字信號(hào)處理 (DSP) 的應(yīng)用。具備高效的數(shù)據(jù)計(jì)算能力只成功了一半,同樣重要的是具備在內(nèi)存中訪問和存儲(chǔ)這些數(shù)據(jù)的能力。

正如之前的文章內(nèi)容所述,Helium 是一種四節(jié)拍矢量架構(gòu)。將數(shù)據(jù)加載到矢量中的最直接的方法是連續(xù)加載操作(見圖一)。在每個(gè)節(jié)拍中,都從標(biāo)量寄存器中指定的基址開始依次訪問內(nèi)存。無論目標(biāo)數(shù)據(jù)類型如何(8、16 或 32 位),都可以通過充分利用總線寬度的訪問來高效地執(zhí)行這一操作,因?yàn)閿?shù)據(jù)元素在內(nèi)存和矢量中都是相鄰的,存儲(chǔ)操作也是如此。

f5d5bcfa-df61-11ee-a297-92fbcf53809c.png

圖一:連續(xù)加載操作

內(nèi)存是一種稀缺資源,通常情況下,要盡可能緊湊地打包數(shù)據(jù),使用可容納數(shù)據(jù)的最小數(shù)據(jù)類型。不過,在處理數(shù)據(jù)時(shí),可能需要更多的空間,以避免在計(jì)算的中間階段出現(xiàn)溢出。這可以作為一個(gè)獨(dú)立的拓寬指令來執(zhí)行,但正如本系列第一篇文章所述,它存在時(shí)間跨越問題(對(duì)于 8 到 32 位的擴(kuò)展,將數(shù)據(jù)擴(kuò)展到最后一節(jié)拍需要第一節(jié)拍的數(shù)據(jù),而第一節(jié)拍的數(shù)據(jù)已不可用)。

因此,擴(kuò)展指令不能與其他指令重疊,否則會(huì)對(duì)性能產(chǎn)生不利影響。相反,Helium 引入了改變大小的內(nèi)存操作。數(shù)據(jù)可以作為單個(gè) 8、16 或 32 位訪問,針對(duì)每個(gè)節(jié)拍高效加載,并用零或符號(hào)擴(kuò)展,以匹配所需的數(shù)據(jù)類型。在圖二的示例中,我們希望執(zhí)行將每個(gè)矢量通道的 8 位加載擴(kuò)展到 16 位。兩個(gè) 8 位數(shù)據(jù)樣本作為一個(gè) 16 位加載操作加載,每個(gè)樣本在寫入矢量通道之前擴(kuò)展到 16 位。同樣,對(duì)于存儲(chǔ)來說,數(shù)據(jù)可以截?cái)嗟剿璧拇笮?,?shí)現(xiàn)高效存儲(chǔ)。

f5e00e62-df61-11ee-a297-92fbcf53809c.png

圖二:加載擴(kuò)展

Helium 加載和存儲(chǔ)指令具有與 M 系列架構(gòu)的其他部分相同的豐富的尋址模式集,支持預(yù)遞增或后遞增以及指針回寫等功能。這樣,在大多數(shù)情況下就不需要單獨(dú)進(jìn)行指針操作了。

DSP 應(yīng)用通常在數(shù)據(jù)結(jié)構(gòu)而非單個(gè)元素上運(yùn)行。例如,立體聲音頻數(shù)據(jù)通常以左右數(shù)值交織流的形式存儲(chǔ)。同樣,圖像數(shù)據(jù)通常以紅、綠、藍(lán)、Alpha 交錯(cuò)值的形式存儲(chǔ)。這是上一篇文章的主題內(nèi)容,其中介紹了可以有效實(shí)現(xiàn)這一目標(biāo)的結(jié)構(gòu)化加載/存儲(chǔ)指令。

有時(shí),存儲(chǔ)在內(nèi)存中的數(shù)據(jù)無法以便捷的方式構(gòu)建以實(shí)現(xiàn)連續(xù)訪問。在某些架構(gòu)中,這實(shí)際上會(huì)阻礙代碼的矢量化。Helium 通過“離散?聚合”操作解決了這一問題。這些操作將偏移矢量指向內(nèi)存,這樣就可以用一條指令訪問多個(gè)非連續(xù)地址(見圖三)。它們還能擴(kuò)展或截?cái)嗨L問的數(shù)據(jù)。

f5ebff4c-df61-11ee-a297-92fbcf53809c.png

圖三:匯總負(fù)載

“離散-聚合”操作是一種功能強(qiáng)大的指令,可為應(yīng)用提供很大的靈活性。例如,它們幾乎是實(shí)現(xiàn) FFT(快速傅里葉變換)不可或缺的工具;在這種算法中,第一個(gè)或最后一個(gè)蝴蝶階段的內(nèi)存訪問需要使用反位尋址執(zhí)行。專用反位指令 (VBRSR) 生成反位尋址模式,供這些離散-聚合指令使用。

為了提高性能,這些指令重疊執(zhí)行,加載數(shù)據(jù)的效率遠(yuǎn)遠(yuǎn)超過同等序列的標(biāo)量指令。而且,它們也更容易使用。雖然連續(xù)矢量訪問能為規(guī)律模式提供更好的性能,但由于離散-聚合指令無法對(duì)數(shù)據(jù)布局做出假設(shè),因此有多少個(gè)不同的元素,匯總加載指令就必須執(zhí)行多少次單獨(dú)的訪問。對(duì)于 8 位數(shù)據(jù),訪問次數(shù)可能多達(dá) 16 次,這就成了不斷加載的負(fù)載。

DSP 應(yīng)用通常使用一種稱為循環(huán)尋址的內(nèi)存布局。可以按順序訪問元素,但最多只能訪問配置的緩沖區(qū)大小,之后的訪問會(huì)繞回到第一個(gè)元素(見圖四)。例如,從元素 N?1 開始的四元素讀取操作將會(huì)訪問元素 N?1, 0, 1, 2。

f5f6cbca-df61-11ee-a297-92fbcf53809c.png

圖四:循環(huán)緩沖區(qū)示例

這在 DSP 應(yīng)用中用途廣泛,包括在處理數(shù)據(jù)流后只需要前 N 個(gè)數(shù)據(jù)樣本時(shí)避免指針操作。在 FIR 濾波器中,最后 N 個(gè)數(shù)據(jù)樣本需要與一組系數(shù)相乘,才能產(chǎn)生所需的濾波器響應(yīng)。當(dāng)一個(gè)新的數(shù)據(jù)樣本到來時(shí),需要處理的是之前的 N?1 個(gè)樣本和新樣本,最舊的樣本不再使用。數(shù)據(jù)可以重新排列,使要處理的緩沖區(qū)總是按正確的順序包含元素,但這需要在開始處理前將每個(gè)樣本復(fù)制到不同的位置,耗費(fèi)大量資源。如果使用循環(huán)緩沖區(qū),就可以就地訪問數(shù)據(jù),必要時(shí)還可以繞回到開頭,而且只需要寫入一次就可以用最新的樣本替換最舊的樣本。

一些 DSP 通過專用訪問指令和專用寄存器來實(shí)現(xiàn)循環(huán)緩沖區(qū)的起始地址和結(jié)束地址。指針每次遞增時(shí),硬件都會(huì)將其與結(jié)束地址進(jìn)行比較,并相應(yīng)地回繞。這意味著同時(shí)支持的循環(huán)緩沖區(qū)數(shù)量受到可用硬件的限制。這也意味著每次中斷都需要保留大量額外狀態(tài),而這會(huì)影響延遲。

為此,所需的硬件支持不容忽視;在典型的實(shí)施中,需要更復(fù)雜的地址生成單元。為了避免這種情況,一些 DSP 要求循環(huán)緩沖區(qū)的大小等于 2 的冪次方,緩沖區(qū)的地址調(diào)整為該大小的倍數(shù)??梢酝ㄟ^將指針與位掩碼進(jìn)行 AND 運(yùn)算實(shí)現(xiàn),從而簡化硬件要求。但是,這樣會(huì)限制這些緩沖區(qū)的放置和使用,特別是幾乎無法直接從高級(jí)語言使用緩沖區(qū)。由于 M 系列的宗旨是讓一切都能通過 C 語言輕松使用,因此我們需要想出一種更好的方法。

我們的解決方案是將循環(huán)緩沖區(qū)分成兩個(gè)不同的操作,其方式與上文討論的反位尋址類似。我們將用于生成回繞偏移的指令與離散?聚合指令相結(jié)合來訪問這些偏移地址的數(shù)據(jù)。這就為緩沖區(qū)大小和位置提供了靈活性,而且關(guān)鍵路徑上也不需要有專用硬件。循環(huán)緩沖區(qū)生成指令 (VIWDUP) 可創(chuàng)建一個(gè)矢量,其中包含一連串遞增的偏移量,當(dāng)?shù)竭_(dá)終點(diǎn)位置時(shí)會(huì)回繞到開頭(見圖五)。該指令用從 R0 值開始的序列填充矢量寄存器 Q0,并在達(dá)到 R1 值時(shí)回繞。然后,它將更新后的起始偏移量 2 寫回 R0。這條指令的一個(gè)巧妙設(shè)計(jì)是,每次寫入 Q0 的偏移量矢量都是由標(biāo)量值重新生成的。

通常下一條指令就是使用偏移量的離散?聚合指令,因此 Q0 可以直接重復(fù)用于其他目的。立即值指定偏移量的增量,這對(duì)于處理不同的元素大小非常有用。例如,如果加載的是 32 位數(shù)值,將使用四個(gè)字節(jié)的增量。可以指定任意增量或減量,因此該指令可用于其他需要通用數(shù)字模式的情況。通過這種方式,Helium 可以提供任意數(shù)量的循環(huán)緩沖區(qū),在內(nèi)存中具有靈活的大小、方向和對(duì)齊方式,而且這個(gè)過程只需要使用現(xiàn)有的硬件就可以提供序列生成指令。

f60a7d64-df61-11ee-a297-92fbcf53809c.png

圖五:序列生成指令的操作示例

那么性能表現(xiàn)如何呢?雖然需要額外的偏移生成指令 (VIWDUP),但我們發(fā)現(xiàn)在許多情況下,可能會(huì)因?yàn)榕c內(nèi)存訪問本身重疊而隱藏了開銷。在所有情況下,這一開銷都小于在沒有硬件支持的情況下管理回繞的計(jì)算工作量。我們之前也說過,出于性能考慮,最好使用連續(xù)訪問。循環(huán)緩沖區(qū)的特別之處在于,大部分訪問都是連續(xù)的,只有偶爾發(fā)生回繞時(shí)才會(huì)出現(xiàn)不連續(xù)。一種方法是離散-聚合指令比較偏移值,然后合并連續(xù)的訪問。遺憾的是,這樣做將需要大量額外的硬件,并給設(shè)計(jì)的關(guān)鍵部分增加許多額外的復(fù)雜性。在負(fù)載連續(xù)的情況下,離散?聚合操作會(huì)降低性能,這違背了我們追求將每個(gè) gate 的性能發(fā)揮到極致的原則。

當(dāng)我們?cè)噲D找到解決這個(gè)問題的方法時(shí),我們注意到偏移生成指令 (VIWDUP) 已經(jīng)掌握回繞點(diǎn)的位置。如果能將這一信息傳遞給離散-聚合指令,它就能將訪問提升為連續(xù)訪問,而無需使用昂貴又耗時(shí)的偏移比較器。那么我們能不能指定一個(gè)額外的標(biāo)量寄存器來傳輸這些信息呢?遺憾的是,這將增加所需的讀取端口數(shù)量,而且標(biāo)量依賴關(guān)系從 VIWDUP 改為離散?聚合指令將會(huì)導(dǎo)致指令無法重疊。

Helium 實(shí)現(xiàn)是否可以將這些信息存儲(chǔ)在隱藏的微架構(gòu)元數(shù)據(jù)中,并在矢量發(fā)生修改時(shí)清除元數(shù)據(jù)?一般不建議這樣做,因?yàn)樵獢?shù)據(jù)需要在中斷時(shí)保留,而這會(huì)影響延遲。但我們發(fā)現(xiàn),在這種情況下,我們不需要保留元數(shù)據(jù)。在出現(xiàn)異常的極少數(shù)情況時(shí),備選措施是正常執(zhí)行離散-聚合,而不是優(yōu)化連續(xù)訪問。通過使用易失性隱藏元數(shù)據(jù)來指示連續(xù)訪問,可以優(yōu)化普通非回繞情況下的性能,同時(shí)避免出現(xiàn)額外的架構(gòu)狀態(tài)和中斷延遲。

在受限的環(huán)境中工作極具挑戰(zhàn)性,Helium 要求我們不斷尋找創(chuàng)新的解決方案,充分發(fā)揮硬件性能。我們努力聯(lián)合設(shè)計(jì)架構(gòu)和微架構(gòu),尋找一系列內(nèi)存訪問指令,既能滿足 DSP 應(yīng)用的需要,又能最大限度地減少實(shí)現(xiàn)這些指令所需的硬件數(shù)量。特別是在循環(huán)緩沖區(qū)方面,我們延續(xù)了 M 系列的傳統(tǒng),確保每個(gè) gate 都物盡其用,從而以較低的面積實(shí)現(xiàn)性能表現(xiàn),同時(shí)為終端用戶提供良好的體驗(yàn)感。

您是否想要更深入了解 Helium 技術(shù)?由 Arm 物聯(lián)網(wǎng)事業(yè)部技術(shù)管理總監(jiān) Mark Quartermain 與 Arm 物聯(lián)網(wǎng)事業(yè)部嵌入式工具集成高級(jí)經(jīng)理 Matthias Hertel 共同為大家錄制了 Helium 技術(shù)視頻,通過實(shí)例演示詳解如何高效利用 Helium。




審核編輯:劉清

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

    關(guān)注

    68

    文章

    19382

    瀏覽量

    230461
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5359

    瀏覽量

    120790
  • 人工智能
    +關(guān)注

    關(guān)注

    1792

    文章

    47497

    瀏覽量

    239188
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8428

    瀏覽量

    132832
  • 快速傅里葉變換
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    1709

原文標(biāo)題:Helium技術(shù)講堂 | 循環(huán)緩沖區(qū)的使用

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于C語言實(shí)現(xiàn)環(huán)形緩沖區(qū)/循環(huán)隊(duì)列

    這里分享一個(gè)自己用純C實(shí)現(xiàn)的環(huán)形緩沖區(qū)
    的頭像 發(fā)表于 04-11 10:39 ?3356次閱讀
    基于C語言實(shí)現(xiàn)環(huán)形<b class='flag-5'>緩沖區(qū)</b>/<b class='flag-5'>循環(huán)</b>隊(duì)列

    基于宏高效實(shí)現(xiàn)環(huán)形緩沖區(qū)教程

    來源 | 小麥大叔 循環(huán)緩沖區(qū)是嵌入式軟件工程師在日常開發(fā)過程中的關(guān)鍵組件。 多年來,互聯(lián)網(wǎng)上出現(xiàn)了許多不同的循環(huán)緩沖區(qū)實(shí)現(xiàn)和示例。我非常喜歡這個(gè)模塊,可以GitHub上找到這個(gè)開源的
    的頭像 發(fā)表于 09-02 09:24 ?6752次閱讀
    基于宏高效實(shí)現(xiàn)環(huán)形<b class='flag-5'>緩沖區(qū)</b>教程

    環(huán)形緩沖區(qū)簡介

    程序中,經(jīng)常使用環(huán)形緩沖器作為數(shù)據(jù)結(jié)構(gòu)來存放通信中發(fā)送和接收的數(shù)據(jù)。環(huán)形緩沖區(qū)是一個(gè)先進(jìn)先出的循環(huán)緩沖區(qū),可以向通信程序提供對(duì)緩沖區(qū)的互斥訪
    發(fā)表于 08-17 06:56

    請(qǐng)問串口的DMA接收緩沖區(qū)是不是環(huán)形緩沖區(qū)

    大家好!請(qǐng)問串口的DMA接收緩沖區(qū)是不是環(huán)形緩沖區(qū)?通過閱讀串口部分的代碼,我了解到這樣幾點(diǎn):1、串口的DMA接收時(shí)循環(huán)接收,當(dāng)緩沖區(qū)滿了會(huì)重新從頭開始覆蓋掉之前的數(shù)據(jù),和環(huán)形
    發(fā)表于 08-30 14:27

    DMA循環(huán)緩沖區(qū)如何重置起點(diǎn)?

    ){head_index = (head_index + dma_buffer_interrupt_size) % uartsize;}我遇到的問題是,當(dāng)我設(shè)置一個(gè)循環(huán)緩沖區(qū)時(shí),一旦它進(jìn)入
    發(fā)表于 12-13 08:22

    基于狀態(tài)圖的緩沖區(qū)溢出攻擊分析

    結(jié)合緩沖區(qū)溢出攻擊產(chǎn)生的原理,分析緩沖區(qū)溢出攻擊代碼的結(jié)構(gòu),論述Snort規(guī)則對(duì)緩沖區(qū)溢出攻擊的檢測(cè),在此基礎(chǔ)上構(gòu)建一個(gè)基于狀態(tài)圖的緩沖區(qū)溢出攻擊的分析模型。該模型對(duì)
    發(fā)表于 04-10 08:46 ?32次下載

    緩沖區(qū)溢出攻擊的防護(hù)技術(shù)分析

    緩沖區(qū)溢出攻擊已經(jīng)成為網(wǎng)絡(luò)攻擊的主要方式。本文首先分析了緩沖區(qū)溢出攻擊的基本原理,然后分析了形成緩沖區(qū)溢出攻擊的必要條件,并詳細(xì)討論了溢出攻擊的防護(hù)技術(shù)。
    發(fā)表于 09-02 10:50 ?9次下載

    緩沖區(qū)溢出攻擊的原理和防范技術(shù)分析

    基于解決緩沖區(qū)溢出這一普遍發(fā)生的網(wǎng)絡(luò)安全漏洞的目的,通過軟件、硬件技術(shù)層面的驗(yàn)證方法,結(jié)合人工檢查、靜態(tài)發(fā)現(xiàn)技術(shù)、動(dòng)態(tài)防御技術(shù)等實(shí)驗(yàn)手段,得出了在向
    發(fā)表于 05-27 16:20 ?17次下載

    環(huán)形緩沖區(qū)的實(shí)現(xiàn)原理

    在通信程序中,經(jīng)常使用環(huán)形緩沖區(qū)作為數(shù)據(jù)結(jié)構(gòu)來存放通信中發(fā)送和接收的數(shù)據(jù)。環(huán)形緩沖區(qū)是一個(gè)先進(jìn)先出的循環(huán)緩沖區(qū),可以向通信程序提供對(duì)緩沖區(qū)
    的頭像 發(fā)表于 03-22 10:03 ?7563次閱讀
    環(huán)形<b class='flag-5'>緩沖區(qū)</b>的實(shí)現(xiàn)原理

    緩沖區(qū)是啥意思 STM32串口數(shù)據(jù)接收之環(huán)形緩沖區(qū)

    緩沖區(qū)顧名思義是緩沖數(shù)據(jù)用的。實(shí)現(xiàn)緩沖區(qū)最簡單的辦法時(shí),定義多個(gè)數(shù)組,接收一包數(shù)據(jù)到數(shù)組A,就把接收數(shù)據(jù)的地址換成數(shù)組B,每個(gè)數(shù)據(jù)有個(gè)標(biāo)記字節(jié)用于表示這個(gè)數(shù)組是否收到數(shù)據(jù),收到數(shù)據(jù)是否處理
    的頭像 發(fā)表于 07-22 15:33 ?1.1w次閱讀

    STM32串口數(shù)據(jù)接收 --環(huán)形緩沖區(qū)

    程序中,經(jīng)常使用環(huán)形緩沖器作為數(shù)據(jù)結(jié)構(gòu)來存放通信中發(fā)送和接收的數(shù)據(jù)。環(huán)形緩沖區(qū)是一個(gè)先進(jìn)先出的循環(huán)緩沖區(qū),可以向通信程序提供對(duì)緩沖區(qū)的互斥訪
    發(fā)表于 12-28 19:24 ?31次下載
    STM32串口數(shù)據(jù)接收 --環(huán)形<b class='flag-5'>緩沖區(qū)</b>

    基于C語言的循環(huán)隊(duì)列緩沖區(qū)原理、設(shè)計(jì)與實(shí)現(xiàn)

    在FPGA中,F(xiàn)IFO一般是使用RAM存儲(chǔ)器作為緩沖區(qū),可以分為同步FIFO或異步FIO,一般用于數(shù)據(jù)緩沖,或者不同時(shí)鐘域之間的數(shù)據(jù)傳遞。
    發(fā)表于 04-10 09:30 ?1114次閱讀

    C++環(huán)形緩沖區(qū)設(shè)計(jì)與實(shí)現(xiàn)

    Buffer) 環(huán)形緩沖區(qū)(Circular Buffer),也被稱為循環(huán)緩沖區(qū)(Cyclic Buffer)或者環(huán)形隊(duì)列(Ring Buffer),是一種數(shù)據(jù)結(jié)構(gòu)類型,它在內(nèi)存中形成一個(gè)環(huán)形
    的頭像 發(fā)表于 11-09 11:21 ?2166次閱讀
    C++環(huán)形<b class='flag-5'>緩沖區(qū)</b>設(shè)計(jì)與實(shí)現(xiàn)

    交換芯片緩沖區(qū)大小是什么

    交換芯片緩沖區(qū)大小并不一定是固定的。緩沖區(qū)的設(shè)計(jì)和實(shí)現(xiàn)會(huì)根據(jù)芯片的具體型號(hào)、規(guī)格以及應(yīng)用場景的不同而有所差異。一些交換芯片可能具有固定大小的緩沖區(qū),以滿足特定的性能需求或成本限制。然而,隨著
    的頭像 發(fā)表于 03-18 14:42 ?664次閱讀

    AMD Zen 4處理器悄然禁用循環(huán)緩沖區(qū)

    近日,AMD在更新BIOS后,對(duì)Zen 4架構(gòu)的處理器進(jìn)行了一項(xiàng)未公開說明的更改:禁用了循環(huán)緩沖區(qū)(Loop Buffer)功能。這一變化引發(fā)了業(yè)界和用戶的廣泛關(guān)注。 循環(huán)緩沖區(qū)作為C
    的頭像 發(fā)表于 12-11 13:46 ?219次閱讀