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

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

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

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

一個(gè)簡(jiǎn)單地的例子來回顧PCIe總線的結(jié)構(gòu)、事務(wù)層、數(shù)據(jù)鏈路層和物理層

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-05-02 09:58 ? 次閱讀

前面的一系列文章簡(jiǎn)要地介紹了PCIe總線的結(jié)構(gòu)、事務(wù)層、數(shù)據(jù)鏈路層和物理層。下面我們用一個(gè)簡(jiǎn)單地的例子來回顧并總結(jié)一下。

如下圖所示,Requester的應(yīng)用層(軟件層)首先向其事務(wù)層發(fā)送如下信息:32位(或者64位)的Memory地址,事務(wù)類型(Transaction Type),數(shù)據(jù)量(以DW為單位),TC(Traffic Class,即優(yōu)先級(jí)),字節(jié)使能(Byte Enable)和屬性信息(Attributes)等。

然后接收端的事務(wù)層使用這些信息創(chuàng)建了一個(gè)Mrd TLP(Memory Read的事務(wù)層包),并將Requester的ID(BDF,Bus & Device & Function)寫入到該TLP的Header中,以便Completer根據(jù)這一BDF將Completion信息返回給Requester。然后這個(gè)TLP會(huì)根據(jù)其TC的值被放到對(duì)應(yīng)的VC Buffer中,F(xiàn)low Control邏輯便會(huì)檢車接收端的對(duì)應(yīng)的接收VC Buffer空間是否充足。一旦接收端的VC Buffer空間充足,TLP便會(huì)準(zhǔn)備被向接收端發(fā)送。

注:TLP的Header實(shí)際上有兩種,32位的地址對(duì)應(yīng)的是3DW的Header,64為的地址對(duì)應(yīng)的是4DW的Header。這在后續(xù)的文章中會(huì)詳細(xì)介紹。

當(dāng)TLP到達(dá)數(shù)據(jù)鏈路層(Data Link Layer)時(shí)候,數(shù)據(jù)鏈路層會(huì)為其添加上12位的序列號(hào)(Sequence Number)和32位的LCRC。并將添加上這些信息之后的TLP(即DLLP)在Replay Buffer中做一個(gè)備份,并隨后將其發(fā)送至物理層。

物理層接收到DLLP之后,為其添加上起始字符(Start & End Characters,又叫幀字符,F(xiàn)rame Characters),然后依次進(jìn)行解字節(jié)(Strip Byte)、擾碼(Scramble)、8b/10b編碼并進(jìn)行串行化,隨后發(fā)送至相鄰的PCIe設(shè)備的物理層。

接收端PCIe設(shè)備(即Completer)的物理層接收到數(shù)據(jù)之后,依次執(zhí)行與發(fā)送端相反的操作。并從數(shù)據(jù)中恢復(fù)出時(shí)鐘,然后將恢復(fù)出來的DLLP發(fā)送至數(shù)據(jù)鏈路層。

Completer的數(shù)據(jù)鏈路層首先檢查DLLP中的LCRC,如果存在錯(cuò)誤,則向Requester發(fā)送一個(gè)Nak類型的DLLP,該DLLP包含了其接受到的DLLP中的序列號(hào)(Sequence Number)。Requester的數(shù)據(jù)鏈路層接收到來自Completer的Nak DLLP之后,從中找到序列號(hào)(Sequence Number),并根據(jù)序列號(hào)在Replay Buffer找到對(duì)應(yīng)的DLLP,然后將其重新發(fā)送至Completer。如果Completer的數(shù)據(jù)鏈路層沒有檢查到LCRC的錯(cuò)誤,也會(huì)向Requester發(fā)送一個(gè)Ack類型的DLLP,該DLLP同樣包含了其接收到的DLLP中的序列號(hào)。Requester的數(shù)據(jù)鏈路層接收到之一Ack DLLP之后,便會(huì)根據(jù)其中的序列號(hào)在Replay Buffer中找到對(duì)應(yīng)的DLLP的備份,并將其丟棄(Discard)。

當(dāng)接收端PCIe涉筆(即Completer)的數(shù)據(jù)鏈路層正確的接收到了來自Requester的DLLP(包含TLP的)時(shí),隨后將其進(jìn)一步發(fā)送至事務(wù)層,事務(wù)層檢查ECRC(可選的),并對(duì)TLP進(jìn)行解析,然后將解析后的信息發(fā)送至應(yīng)用層(軟件層)。

如下圖所示,Completer的應(yīng)用層會(huì)根據(jù)接受到的信息進(jìn)行相應(yīng)的處理,處理完成后會(huì)將數(shù)據(jù)發(fā)送至事務(wù)層,事務(wù)層根據(jù)這一信息創(chuàng)建一個(gè)新的TLP(即CplD,Completion with data)。并根據(jù)先前接收到的TLP中的BDF信息,找到原來的Requester,然后將CplD發(fā)送至該Requester。這一發(fā)送過程與Requester向Completer發(fā)送TLP(Mrd Request)的過程基本是一致的。所以這里就不在重復(fù)了。

注:如果Completer不能夠返回有效數(shù)據(jù)給Requester,或者遇到錯(cuò)誤,則其返回的就不是CplD了,而是Cpl(Completion without data),Requester接收到Cpl的TLP之后便會(huì)知道發(fā)生了錯(cuò)誤,其應(yīng)用層(軟件層)會(huì)進(jìn)行相應(yīng)的處理。

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

    關(guān)注

    10

    文章

    2936

    瀏覽量

    89182
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1304

    瀏覽量

    84431

原文標(biāo)題:【博文連載】PCIe掃盲——一個(gè)Memory Read操作的例子

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    Flex Bus物理層的CXL幀和數(shù)據(jù)概述

    在傳輸端,F(xiàn)lex Bus物理層準(zhǔn)備從PCIe鏈路層或CXL ARB/MUX接收的數(shù)據(jù),以便通過Flex Bus鏈路進(jìn)行傳輸。
    的頭像 發(fā)表于 09-11 14:34 ?3439次閱讀
    Flex Bus<b class='flag-5'>物理層</b>的CXL幀和<b class='flag-5'>數(shù)據(jù)</b>概述

    CAN總線不同的物理層

    CAN總線使用不歸零(NRZ)的位填充。有兩種不同的信令狀態(tài):顯性(邏輯0)和隱性(邏輯1)。這些信令狀態(tài)對(duì)應(yīng)于所在物理層(存在幾種不同的物理層)的某種電平。模塊以線與邏輯連接到總線
    發(fā)表于 05-23 07:35

    TLP的數(shù)據(jù)鏈路層組成與操作

      本章將著重講述TLP的數(shù)據(jù)鏈路層組成與操作,上篇更新應(yīng)該為第五講,數(shù)據(jù)鏈路層位于事務(wù)物理層
    發(fā)表于 01-08 17:25

    CCIX 1.1設(shè)備必須支持PCIe 5.0 PHY或CCIX EDR PHY這兩種物理層

    必須符合下面表中的定義。傳輸DVSEC包含CCIX物理層、數(shù)據(jù)鏈路層事務(wù)的控制和狀態(tài)寄存器(Control and Status Register,CSR)。協(xié)議DVSEC包含CC
    發(fā)表于 08-16 15:45

    數(shù)據(jù)鏈路層和傳輸的區(qū)別是什么

    本文開始介紹了傳輸的概念、傳輸的基本功能以及傳輸服務(wù)類型,其次介紹了數(shù)據(jù)鏈路層功能與工作過程,最后闡述了數(shù)據(jù)鏈路層和傳輸
    發(fā)表于 03-14 15:03 ?2.7w次閱讀
    <b class='flag-5'>數(shù)據(jù)鏈路層</b>和傳輸<b class='flag-5'>層</b>的區(qū)別是什么

    數(shù)據(jù)鏈路層設(shè)備有哪些

    數(shù)據(jù)鏈路層的設(shè)備與組件是指那些同時(shí)具有物理層數(shù)據(jù)鏈路層功能的設(shè)備或組件。數(shù)據(jù)鏈路層的設(shè)備與組件主要有網(wǎng)卡、網(wǎng)橋和交換機(jī)。
    發(fā)表于 03-14 15:20 ?2.5w次閱讀

    文看懂數(shù)據(jù)鏈路層和網(wǎng)絡(luò)的區(qū)別

    本文開始介紹了網(wǎng)絡(luò)的概念及網(wǎng)絡(luò)的主要功能,其次闡述了數(shù)據(jù)鏈路層的概念和數(shù)據(jù)鏈路層的功能,最后介紹了數(shù)據(jù)鏈路層的作用以及
    發(fā)表于 03-14 15:38 ?7.3w次閱讀
    <b class='flag-5'>一</b>文看懂<b class='flag-5'>數(shù)據(jù)鏈路層</b>和網(wǎng)絡(luò)<b class='flag-5'>層</b>的區(qū)別

    PCIe物理層實(shí)現(xiàn)了對(duì)收發(fā)差分對(duì),可以實(shí)現(xiàn)全雙工的通信方式

    。也就是說,廠商可以根據(jù)自己的需要和實(shí)際情況,來設(shè)計(jì)PCIe物理層。下面將以Mindshare書中的例子來簡(jiǎn)要的介紹PCIe物理層邏輯部
    的頭像 發(fā)表于 05-31 09:16 ?1.4w次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>物理層</b>實(shí)現(xiàn)了<b class='flag-5'>一</b>對(duì)收發(fā)差分對(duì),可以實(shí)現(xiàn)全雙工的通信方式

    PCIe物理層接口定義了物理層中的,媒介物理編碼子之間的統(tǒng)接口

    隨著高速串行技術(shù)的發(fā)展,各種串行通信技術(shù)的物理層逐漸走向了統(tǒng),用戶甚至可以基于FPGA中的SerDes/PCS完成多種高速串行通信接口的設(shè)計(jì)。這些通信接口的區(qū)別往往只是體現(xiàn)在高層協(xié)議(數(shù)據(jù)鏈路層
    的頭像 發(fā)表于 09-07 11:42 ?9033次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>物理層</b>接口定義了<b class='flag-5'>物理層</b>中的,媒介<b class='flag-5'>層</b>和<b class='flag-5'>物理</b>編碼子<b class='flag-5'>層</b>之間的統(tǒng)<b class='flag-5'>一</b>接口

    三種不同類型以太網(wǎng)物理層的編碼規(guī)則和測(cè)試分析

    以太網(wǎng)對(duì)應(yīng)OSI七模型的數(shù)據(jù)鏈路層物理層,對(duì)應(yīng)數(shù)據(jù)鏈路層的部分又分為邏輯鏈路控制子(LLC)和介質(zhì)訪問控制子
    的頭像 發(fā)表于 08-29 08:01 ?2.8w次閱讀
    三種不同類型以太網(wǎng)<b class='flag-5'>物理層</b>的編碼規(guī)則和測(cè)試分析

    數(shù)據(jù)鏈路層的功能

    數(shù)據(jù)鏈路層物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)提供服務(wù),其主要作用是加強(qiáng)物理層傳輸原始比特流的功能,將物理層提供的可能出錯(cuò)的
    的頭像 發(fā)表于 02-21 16:49 ?1.5w次閱讀

    數(shù)據(jù)鏈路層的任務(wù)

    數(shù)據(jù)鏈路層的主要任務(wù)是使網(wǎng)絡(luò)無需了解物理層的特征而獲得可靠的傳輸。數(shù)據(jù)鏈路層將通過鏈路層數(shù)據(jù)
    的頭像 發(fā)表于 02-27 15:08 ?7563次閱讀

    數(shù)據(jù)鏈路層設(shè)備有哪些

    數(shù)據(jù)鏈路層的設(shè)備與組件是指那些同時(shí)具有物理層數(shù)據(jù)鏈路層功能的設(shè)備或組件。數(shù)據(jù)鏈路層的設(shè)備與組件主要有網(wǎng)卡、網(wǎng)橋和交換機(jī)。
    的頭像 發(fā)表于 02-27 15:17 ?6.1w次閱讀

    CAN總線協(xié)議的數(shù)據(jù)鏈路層有哪些部分

    CAN(Controller Area Network)總線協(xié)議的數(shù)據(jù)鏈路層是CAN通信中至關(guān)重要的部分,它負(fù)責(zé)在物理層之上實(shí)現(xiàn)數(shù)據(jù)的可靠
    的頭像 發(fā)表于 09-03 14:14 ?1170次閱讀

    PCIE數(shù)據(jù)鏈路層架構(gòu)解析

    PCIe數(shù)據(jù)鏈路層事務(wù)物理層之間,用來負(fù)責(zé)鏈路管理,其主要功能是保證來自事務(wù)
    的頭像 發(fā)表于 11-05 17:06 ?746次閱讀
    <b class='flag-5'>PCIE</b><b class='flag-5'>數(shù)據(jù)鏈路層</b>架構(gòu)解析