一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

CPU與GPU維護(hù)數(shù)據(jù)結(jié)構(gòu)來保證環(huán)形緩沖區(qū)的正確工作

Dbwd_Imgtec ? 來源:未知 ? 作者:李倩 ? 2018-03-30 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

drm 給 GPU 發(fā)送硬件命令時(shí),會將命令放置在一個(gè)環(huán)形緩沖區(qū),顯卡將會從這個(gè)環(huán)形緩沖區(qū)取命令執(zhí)行。它的工作原理基于一個(gè)循環(huán)隊(duì)列,數(shù)據(jù)存放在一個(gè)環(huán)裝區(qū)域。CPU 會將命令從隊(duì)列尾插入,GPU 會從隊(duì)頭取數(shù)據(jù),隊(duì)頭和隊(duì)尾在不斷地更新中。這個(gè)環(huán)形緩沖區(qū)存放在 GTT 內(nèi)存中,以便顯卡可以訪問到。

CPU 和 GPU 將各自維護(hù)一些數(shù)據(jù)結(jié)構(gòu)來保證環(huán)形緩沖區(qū)的正確工作。這些 數(shù)據(jù)結(jié)構(gòu)有緩沖區(qū)的基地址,緩沖區(qū)大小,寫指針和讀指針。其中寫指針和讀指針分別指向 CPU 將要寫入命令的地址和 GPU 將要讀取命令的地址。當(dāng)這一次的讀取命令或者寫入命令結(jié)束之后,這兩個(gè)指針都會往前移動(dòng)。當(dāng)指針到達(dá)隊(duì)列的末尾時(shí),將會移到隊(duì)列的頭部繼續(xù)執(zhí)行。如果我們不加處理的話,就可能會發(fā)生讀指針讀取了沒有寫入新命令的地址, 或者是寫指針把命令寫到了命令還沒有被 處理的區(qū)域。

因而當(dāng) CPU 寫入命令時(shí),它應(yīng)該通知 GPU。而 GPU 在讀取命令之后,應(yīng)該通知 CPU。通知操作借由寫 CPU 中的讀指針副本和 GPU 中的寫指針副本完成。環(huán)形緩沖區(qū)示意圖如下圖。

初始階段,讀指針和寫指針指向同一區(qū)域,隨著程序的運(yùn)行,讀指針和寫指針可能會再次相遇,這時(shí)有可能是隊(duì)列空,也有可能是隊(duì)列滿,為了避免二義性,我們避免發(fā)生隊(duì)列滿的情況,總在隊(duì)列將滿時(shí),將命令流裝入新的緩沖區(qū)。那么驅(qū)動(dòng)要時(shí)時(shí)監(jiān)控著緩沖區(qū)的操作,當(dāng)隊(duì)列空時(shí)停止讀取,當(dāng)隊(duì)列將滿時(shí),將讀操作掛起。

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

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217084
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4946

    瀏覽量

    131239
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    573

    瀏覽量

    40749

原文標(biāo)題:CPU 與 GPU 之間的緩沖區(qū)

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32進(jìn)階之串口環(huán)形緩沖區(qū)實(shí)現(xiàn)

    完了數(shù)據(jù),‘0’地址空間的數(shù)據(jù)進(jìn)行釋放掉,列隊(duì)頭指向下一個(gè)可以處理數(shù)據(jù)的地址‘1’。從而實(shí)現(xiàn)整個(gè)環(huán)形緩沖區(qū)
    發(fā)表于 06-08 14:03

    MCU進(jìn)階之串口環(huán)形緩沖區(qū)實(shí)現(xiàn)

    歌曲一步步用代碼實(shí)現(xiàn)吧:從隊(duì)列到串口緩沖區(qū)的實(shí)現(xiàn)串口環(huán)形緩沖區(qū)收發(fā):在很多入門級教程中,我們知道的串口收發(fā)都是:接收一個(gè)數(shù)據(jù),觸發(fā)中斷,然
    發(fā)表于 08-17 13:11

    STM32串口環(huán)形緩沖區(qū)的實(shí)現(xiàn)

    [RINGBUFF_LEN];}RingBuff_t;RingBuff_t ringBuff;//創(chuàng)建一個(gè)ringBuff的緩沖區(qū)②初始化結(jié)構(gòu)體相關(guān)信息:使得我們的環(huán)形緩沖區(qū)是頭尾相連
    發(fā)表于 10-16 11:40

    基于ARM和FPGA的環(huán)形緩沖區(qū)接口設(shè)計(jì)方案

    高速數(shù)據(jù)收發(fā)情況下,需要設(shè)計(jì)一種合理的緩沖區(qū)進(jìn)行數(shù)據(jù)傳輸速率的匹配和緩沖。另外,對于ARM CPU來說,由于
    發(fā)表于 05-30 05:00

    環(huán)形緩沖區(qū)的設(shè)計(jì)分享!

    以下內(nèi)容轉(zhuǎn)自網(wǎng)絡(luò),感謝網(wǎng)友:玩笑joker 環(huán)形緩沖區(qū)是嵌入式系統(tǒng)中十分重要的一種數(shù)據(jù)結(jié)構(gòu),比如在一個(gè)視頻處理的機(jī)制中,環(huán)形緩沖區(qū)就可以理
    發(fā)表于 10-28 23:29

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

    程序中,經(jīng)常使用環(huán)形緩沖器作為數(shù)據(jù)結(jié)構(gòu)存放通信中發(fā)送和接收的數(shù)據(jù)。環(huán)形
    發(fā)表于 08-17 06:56

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

    、系統(tǒng)在創(chuàng)建DMA緩沖區(qū)的時(shí)候,建立了put_index和get_index,會隨著數(shù)據(jù)的寫入和讀取修改它們的值;3、以上兩個(gè)相互配合,客觀上將DMA的緩沖區(qū)維護(hù)成了一個(gè)
    發(fā)表于 08-30 14:27

    環(huán)形緩沖區(qū)讀寫操作的分析與實(shí)現(xiàn)

    環(huán)形緩沖區(qū)是嵌入式系統(tǒng)中一種重要的常用數(shù)據(jù)結(jié)構(gòu)。在多任務(wù)環(huán)境下實(shí)現(xiàn)時(shí),如果有多個(gè)讀寫任務(wù),一般需要用信號量保護(hù)多個(gè)任務(wù)共享的環(huán)形
    發(fā)表于 04-15 11:35 ?40次下載

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

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

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

    完成。 缺點(diǎn): ①緩沖數(shù)據(jù)組數(shù)一定,且有多變量,代碼結(jié)構(gòu)不太清晰。 ②接收數(shù)據(jù)長度可能大于數(shù)組大小,也可能小于數(shù)組大小。不靈活,需要接收數(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)形
    發(fā)表于 12-28 19:24 ?31次下載
    STM32串口<b class='flag-5'>數(shù)據(jù)</b>接收 --<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b>

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

    在單片機(jī)中串口通信是我們使用最頻繁的,使用串口通信就會用到串口的數(shù)據(jù)接收與發(fā)送,環(huán)形緩沖區(qū)方式接收數(shù)據(jù)可以更好的保證
    的頭像 發(fā)表于 05-31 11:27 ?6684次閱讀
    <b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b>簡介 STM32<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b>示例

    STM32進(jìn)階之串口環(huán)形緩沖區(qū)實(shí)現(xiàn)

    碼代碼的應(yīng)該學(xué)數(shù)據(jù)結(jié)構(gòu)都學(xué)過隊(duì)列。環(huán)形隊(duì)列是隊(duì)列的一種特殊形式,應(yīng)用挺廣泛的。因?yàn)橛刑辔恼玛P(guān)于這方面的內(nèi)容,理論知識可以看別人的,下面寫得挺好的:STM32進(jìn)階之串口環(huán)形緩沖區(qū)實(shí)現(xiàn)
    發(fā)表于 12-06 10:00 ?3401次閱讀

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

    單片機(jī)程序開發(fā)一般都會用到UART串口通信,通過通信實(shí)現(xiàn)上位機(jī)和單片機(jī)程序的數(shù)據(jù)交互。通信中為了實(shí)現(xiàn)正常的收發(fā),一般都會有對應(yīng)的發(fā)送和接收緩存暫存通信數(shù)據(jù)。這里使用
    的頭像 發(fā)表于 01-17 15:07 ?2152次閱讀

    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),是一種
    的頭像 發(fā)表于 11-09 11:21 ?3230次閱讀
    C++<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b>設(shè)計(jì)與實(shí)現(xiàn)