日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

Rocket - util - AsyncQueue

發(fā)布時(shí)間:2023/10/11 综合教程 78 老码农
生活随笔 收集整理的這篇文章主要介紹了 Rocket - util - AsyncQueue 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

https://mp.weixin.qq.com/s/6McbqOKM4fu4J5vdpZvxKw

 
簡(jiǎn)單介紹異步隊(duì)列(AsyncQueue)的實(shí)現(xiàn)。
 
??
0. 異步隊(duì)列
 
異步隊(duì)列的兩端分屬不同的時(shí)鐘域,擁有各自的復(fù)位邏輯。
異步隊(duì)列用于存值的一端為上游端(source),用于取值的一端為下游端(sink)。
 
1. AsyncQueueParams
 
??
異步隊(duì)列的參數(shù),包含如下幾項(xiàng):
a. depth
 
隊(duì)列深度,表示隊(duì)列可以存儲(chǔ)幾個(gè)元素;
 
b. sync
 
表示流水線的級(jí)數(shù)。
 
c. safe
 
使用valid來(lái)標(biāo)識(shí)ridx和widx是否合法;是否要把一端的reset同步到另一端。
 
d. narrow
 
標(biāo)識(shí)數(shù)據(jù)同步通道的寬度。如果數(shù)據(jù)同步通道為窄,則每次只同步一個(gè)數(shù)據(jù)。否則,為所有數(shù)據(jù)提供同步通道。
??
 
2. AsyncBundleSafety
 
??
 
safe相關(guān)要在隊(duì)列兩端同步的信號(hào)(這里略去不做詳細(xì)介紹):
??
 
個(gè)人認(rèn)為更名為AsyncSafetyBundle更好,因?yàn)楸举|(zhì)上是一個(gè)Bundle,Safety是修飾詞,前置為宜。如白馬和馬白不是同一個(gè)意思。
 
3. AsyncBundle
 
??
要在隊(duì)列兩端同步的數(shù)據(jù),包括:
a. 待讀取元素的索引號(hào):ridx;
b. 待寫(xiě)入元素的索引號(hào):widx;
c. 數(shù)據(jù):mem;
d. 數(shù)據(jù)索引號(hào):index;
e. safe相關(guān)的bundle(valid和reset);
 
c和d重構(gòu)如下:
??
如果數(shù)據(jù)同步通道為窄通道,則mem這個(gè)Vec只包含1個(gè)元素,而index則是當(dāng)前數(shù)據(jù)通道中元素的索引號(hào)。
如果數(shù)據(jù)同步通道為寬通道,則mem這個(gè)Vec包含depth個(gè)元素,每一個(gè)元素都有自己的同步通道,就不需要index來(lái)指示元素索引號(hào)了,所以此時(shí)index為None。
 
PS. option是一個(gè)隱式方法,定義如下:
??
 
4. GrayCounter
 
格雷碼計(jì)數(shù)器。
 
5. AsyncValidSync
 
用于支持AsyncBundleSafety,這里不做具體介紹。
 
6. AsyncQueueSource
 
異步隊(duì)列的上游端。上游端寫(xiě)數(shù)據(jù)。
??
 
1) io
 
??
a. enq:輸入;
b. async:用于數(shù)據(jù)同步的端口;
 
2) 實(shí)現(xiàn)
 
a. enq
 
??
當(dāng)對(duì)方valid,而我方ready,亦即io.enq.fire()時(shí),把io.enq.bits存入mem中。
 
注意,此index為新定義的index,非io.async.index:
??
 
b. mem
 
也要注意區(qū)分mem和io.async.mem。
 
mem的定義為:
??
存儲(chǔ)的元素個(gè)數(shù)為隊(duì)列深度params.depth。
 
根據(jù)數(shù)據(jù)同步通道的寬窄,來(lái)決定同步一個(gè),還是全部同步:
??
 
c. widx
 
??
source端為寫(xiě)端,widx是一個(gè)格雷碼計(jì)數(shù)器,會(huì)被同步到sink端:
??
 
d. ridx
 
??
讀取的元素索引號(hào)。sink端為讀端。ridx從sink端同步而來(lái)。
 
e. ready
 
隊(duì)列不滿,則可以ready。
??
??
可以看到io.enq.ready也取決于sink_ready。在不考慮safe的情況下,sink_ready一直為true。
 
7. AsyncQueueSink
 
??
與AsyncQueueSource對(duì)應(yīng),這里略去。
 
8. FromAsyncBundle
 
??
x是一個(gè)AsyncBundle,構(gòu)造一個(gè)sink端與之連接。從AsyncBundle到DecoupledIO,即From AsyncBundle to DecoupledIO。
 
9. ToAsyncBundle
 
??
x是一個(gè)ReadyValidIO,構(gòu)造一個(gè)source端與之連接。從ReadyValidIO到AsyncBundle,即To AsyncBundle from ReadyValidIO。
 
10. AsyncQueue
 
??
創(chuàng)建異步隊(duì)列的兩端,并把它們相連。
 
CrossingIO定義如下:
??

總結(jié)

以上是生活随笔為你收集整理的Rocket - util - AsyncQueue的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产欧美一区二区三区在线看 | 两个人看的www视频免费完整版 | 岛国av中文字幕 | 亚洲国产综合视频 | 亚洲国产精品久久久久 | 国产超碰人人 | 波波野结衣 | 久久国内偷拍 | 国产情侣av自拍 | 99re视频在线播放 | 东方av在线免费观看 | 四虎国产视频 | 天天干天天操天天插 | 精品国产av无码一区二区三区 | 黄色链接视频 | 国产精品xxx视频 | h片网站在线观看 | 免费看美女被靠到爽的视频 | 亚洲激情第一页 | 天天干天天插天天射 | 涩涩视频在线免费看 | 亚洲av久久久噜噜噜熟女软件 | av中文网| 亚洲国产精品成人午夜在线观看 | 我们俩电影网mp4动漫官网 | 中文一区二区在线 | 国产女女做受ⅹxx高潮 | 极品三级 | 日本性爱动漫 | 91麻豆映画传媒 | 亚洲伦理一区二区 | 日本va欧美va国产激情 | 日日夜夜操操操 | 日产精品久久久久久久 | 久久精品无码人妻 | 日韩色av | 欧亚一区二区三区 | 国产精品自拍av | 亚洲成a人v欧美综合天堂麻豆 | 欧美日韩国产一区二区三区在线观看 | 欧美在线精品一区二区三区 | 久久bb| 久久久久97 | 91福利区 | 欧美亚洲国产一区二区三区 | 女同性做受全过程动图 | 久久国产区 | 亚洲成a人v欧美综合天堂麻豆 | 免费视频中文字幕 | 国产色99 | 亚洲黄在线 | 老司机成人免费视频 | 特级黄色大片 | 亚洲精品久久久久久久久 | 欧美综合视频在线 | 97在线播放 | 日本xxxx裸体xxxx出水 | 91丨porny丨对白 | 偷拍亚洲色图 | 99这里有精品 | 日韩精品中文字 | 久久精品国产大片免费观看 | 国产精品 欧美激情 | 很黄很色的视频 | 一区二区三区三区在线 | 精品久久精品 | 嫩草视频入口 | 欧日韩在线视频 | 女尊高h男高潮呻吟 | 日韩国产成人在线 | 国产又爽又黄无码无遮挡在线观看 | 亚洲欧美亚洲 | 国产精品影音先锋 | 深夜福利在线播放 | 久久国产精品久久精品国产 | 日韩av线 | 精品少妇人妻一区二区黑料社区 | 欧洲金发美女大战黑人 | 性色av免费观看 | 亚洲tv在线 | 精品黑人一区二区三区在线观看 | 日本黄视频网站 | 玖操| 亚洲综合伊人 | 人人妻人人澡人人爽 | 国内外成人免费视频 | 国产极品美女高潮无套在线观看 | 91麻豆精品91久久久久同性 | 欧美裸体网站 | 极品在线视频 | 欧美黄色视屏 | 椎名由奈av一区二区三区 | av在线播放地址 | 女同一区二区 | 神马老子午夜 | 人妻熟人中文字幕一区二区 | 毛片导航 | 美女又爽又黄视频毛茸茸 | 欧美成人免费高清视频 |