熱門關(guān)鍵詞: 聯(lián)樂 宇瞻工業(yè)級(jí)TF卡 工業(yè)閃存卡品牌 固態(tài)硬盤品牌
主機(jī)與PCIe設(shè)備之間,或者PCIe設(shè)備與設(shè)備之間,數(shù)據(jù)傳輸都是以 Packet形式進(jìn)行發(fā)送端的事務(wù)層到接收端的事務(wù)層的傳輸。根據(jù)上層(軟件層或者應(yīng)用層)請(qǐng)求(Request)的類型、目的地址和其他相關(guān)屬性,把這些請(qǐng)求打包,產(chǎn)生TLP(Transaction Layer Packet,事務(wù)層數(shù)據(jù)包)。然后這些TLP往下,經(jīng)歷數(shù)據(jù)鏈路層、物理層,最終到達(dá)目標(biāo)設(shè)備,下面來看看PCIe的TLP結(jié)構(gòu):
TLP主要由三部分組成:Header、Data和CRC(可選)。TLP都是始于發(fā)送端的事務(wù)層(Transaction Layer),終于接收端的事務(wù)層。每個(gè)TLP都有一個(gè)Header,跟人類一樣,沒有頭就中止了生命,所以TLP可以沒手沒腳,但絕不能沒有頭。事務(wù)層根據(jù)上層請(qǐng)求內(nèi)容,生成TLP Header。Header內(nèi)容包括發(fā)送者的相關(guān)信息、目標(biāo)地址(該TLP要發(fā)給誰)、TLP類型(諸如前面提到的Memory Read、 Memory Write之類的)、數(shù)據(jù)長度(如果有的話)等。
Data Payload 域,用以放有效載荷數(shù)據(jù)。該域不是必需的,因?yàn)椴皇敲總€(gè)TLP都一定攜帶數(shù)據(jù),比如Memory Read TLP,它僅僅是一個(gè)請(qǐng)求,數(shù)據(jù)是由目標(biāo)設(shè)備通過 Completion TLP 返回的。一個(gè) TLP 最大載重是4KB,數(shù)據(jù)長度大于4KB的話,就需要分幾個(gè) TLP 進(jìn)行傳輸。
ECRC(End to End CRC)域,它對(duì)之前的Header和Data(如果有的話)生成一個(gè)CRC在接收端根據(jù)收到的TLP重新生成Header和Data(如果有的話)的CRC,與收到的CRC比較,一樣則說明數(shù)據(jù)在傳輸過程中沒有出錯(cuò),否則就有錯(cuò)。它也是可選的,完全可以設(shè)置不加CRC。