PCIE鏈路訓練-狀態機描述1

狀態機描述

Config.linkwidth.start

1.

1Linkup = 0 + 狀態機沒有執行鏈路寬度的升級upconfiguration of the Link width):那么tx會在所有activedsp上發送TS1,其中link num為具體內容,lane num為pad;

(2)upconfigure_capable為1(這個變量為1一般表示上層邏輯執行鏈路寬度的減少),并且狀態機沒有執行upconfiguration of the Link width,那么自從進入到recovery狀態之后,并且在當前子狀態下收到了兩個連續的TS1,其中link num和lane num均為pad,此后檢測到退出Electrical Idle,那么tx會在inactive Lane上發送TS1,其中link num為具體內容,lane num為pad;

那么什么是activelane呢?-dsp/usp均滿足

從Polling狀態進入此子狀態時,所有檢測到接收端的通道會被視作Active Lane。從Recovery狀態進入此子狀態時,所有歷經 Configuration.Complete 狀態的鏈路上的通道,都會被視作Active Lane。

另外注意一點,DSP必須在發送的TS1中通告自身所有支持的速率,其中也需要包括端口不打算使用的速率。

此外針對usp,還需要注意,如果此時的狀態跳轉不是由 LTSSM 超時觸發的,那么此時發送方應該在 Configuration 狀態中發送的 TS1 中置位 Autonomous Change 比特 (Symbol 4, bit 6) ,表示發送方出于自身(Autonomous )原因想要改變鏈路寬度,從而進入 Configuration 狀態。

2.

1dsp

Linkup = 1 + 狀態機執行鏈路寬度的升級upconfiguration of the Link width):那么tx會在那么會在下列三類通道上發送link numlane num均為padTS1.

A:當前工作的通道上;

B:想要激活的非工作通道;

C:自從進入recovery狀態之后已經收到兩個連續的TS1接收到TS1的通道上,并且,在該通道上檢測到退出Electrical Idle

? Usptx會在下列三類通道上發送link numlane num均為padTS1.

A:當前工作的通道上;

B:想要激活的非工作通道;

C如果upconfigure_capable為1,針對inactive的lane,并且這個lane自從進入recovery狀態之后已經收到兩個連續的TS1接收到TS1的通道上,并且,在該通道上檢測到退出Electrical Idle的lane。

注意三點:

A:如果 USP 打算恢復鏈路寬度,LTSSM 首先等待下述兩個條件任意滿足一個:所有待激活的通道上都接收到兩個連續的鏈路編號有效,通道編號為填充符號的TS1或者任意一個待激活通道進入本狀態超過1ms

B:為了避免將鏈路的寬度配置小于正常寬度,協議建議如果在多通道鏈路上發現某些通道出現錯誤或者失去 Block Alignment 狀態,那么延遲一段時間后再進行本過程。8b/10b 編碼時等待至少2個TS1,128b/130b 編碼時至少等待34個 TS1,但任何情況下不要等待超過1ms。

C:在激活不工作的通道后,發送端必須等待發送共模電壓(Tx common mode voltage)穩定,才能退出電氣空閑狀態并開始發送TS1

2那么什么時候開始發送link num為具體數值但是lane numpadTS1在滿足以下條件之一即可

Dsp

A在發送TS1的lane上收到了收到了兩個連續的TS1,并且link num和lane num均為pad;

B:1ms超時;

另外注意兩點,在激活不工作的通道時,發送端必須等待發送共模電壓(Tx common mode voltage)穩定,才能退出電氣空閑狀態并開始發送TS1;對于組合為同一鏈路的通道,他們的鏈路編號必須相同。只能在支持多鏈路配置的不同鏈路之間才可以分配不同的鏈路編號。

Usp

如果一些通道接收到了兩個連續的鏈路編號有效,通道編號為填充符號的TS1 usp選取其中一個接收到的鏈路編號作為這些通道的鏈路編號,并在所有收到鏈路編號非空的TS1的通道上,回復采用該鏈路編號的TS1,通道編號繼續使用填充字符。對于剩下的通道,如果他們檢測到了接收方,但是還沒有收到鏈路編號,那么則發送鏈路編號和通道編號都采用填充符號的TS1

3.針對支持crosslinks特性:

Dsp

會在所有detect階段檢測為receiver的lane上先發送16~32個TS1,其中link num為具體數值,lane num為pad。在此之后,任意一個lane在收到兩個連續的TS1,其中link num為具體數值,lane為pad,隨后dsp轉變為usp(為了根據timeout機制決定誰才是真正的dsp,如果 DSP 接收到的第一批 TS1 中,鏈路編號就已經不是填充符號了,那么 DSP 通過這種現象就意識到存在交叉鏈路(Crosslink),鏈路對端設備此時也是 DSP。針對這種情況,面向下游的通道將轉換為面向上游通道,DSP 等待長度隨機的超時時間后,重新進入 Configuration.Linkwidth.Start 狀態,只不過此時該通道將變成面向上游的通道)。并且轉變為Configuration.Linkwidth.Start的條件變為和usp一樣。

注意兩點,針對兩端都想變為dsp的情況,可以讓雙方都先變為usp,隨后雙方都隨機等一個時間,超時后usp轉變為dsp。因為雙方的超時時間長度是不同的,最終將有一個端口成為 DSP ,而另一個端口仍然是 USP,這樣一來訓練就可以繼續進行。超時時間長度必須是隨機,這樣即使鏈路雙方的端口實現完全相同,也不會出現死鎖的情況;如果支持交叉鏈路特性,那么在接收的 TS1 的鏈路編號從PAD轉換到非PAD符號的過程中,不允許出現TS2打斷這個過程。

Usp:

對于支持交叉鏈路特性的 USP 來說,當 LinkUp = 0b 時,需要在所有檢測到接收端的通道上至少發送 16-32 個 TS1,其中鏈路編號和通道編號采用填充符號。隨后任何usp的一些通道上接收到了兩個連續的鏈路編號有效,通道編號為填充符號的TS1,那么有如下操作和條件:

A:tx持續發送TS1,link num和lane num均為pad;

B:如果任意通道接收到了兩個連續的鏈路編號有效,通道編號為填充符號的TS1 usp選取其中一個接收到的鏈路編號作為這些通道的鏈路編號,并在所有收到連續兩個鏈路編號非空的TS1的通道上(lane編號為lane),回復采用該鏈路編號的TS1,通道編號繼續使用填充字符。對于剩下的通道,如果他們檢測到了接收方,但是還沒有收到鏈路編號,那么則發送鏈路編號和通道編號都采用填充符號的TS1下一個狀態是 Configuration.Linkwidth.Accept。

C:為了避免將鏈路的寬度配置小于正常寬度,協議建議如果在多通道鏈路上發現某些通道出現錯誤或者失去 Block Alignment 狀態,那么延遲一段時間后再進行本過程。8b/10b 編碼時等待至少 2 個 TS1,128b/130b 編碼時至少等待 34 個 TS1,但任何情況下不要等待超過 1ms。

注意,如果不滿足上述條件,經過Tcrosslink時間后,16-32個TS1,其中linknum和lane num均為pad,usp變為dsp,下個狀態變為Configuration.Linkwidth.Start(相當于重新開始)。

Config.linkwidth.accept

Dsp

dsp提議通道編號值。如果一條鏈路可以由多個通道合并組成,這些通道都可以收到兩個連續的,鏈路編號值相同的 TS1那么dsp會為他們發送鏈路編號一致,但是通道編號各不相同的TS1對于剩下的通道,如果他們沒有接收到TS1,那么發送鏈路編號和通道編號都采用填充符號的TS1,不能打斷原有發送過程。

為了避免將鏈路的寬度配置小于正常寬度,協議建議如果在多通道鏈路上發現某些通道出現錯誤或者失去 Block Alignment 狀態,那么延遲一段時間后再進行本過程。8b/10b 編碼時等待至少2個TS1,128b/130b 編碼時至少等待34個TS1,但任何情況下不要等待超過1ms。-dsp/usp均滿足

1.變量變化

A:在滿足如下條件的時候use_modified_TS1_TS2_Ordered_Set變為1:

(1)LinkUp = 0b -dsp/usp均滿足

2)自從進入polling狀態以來,tx已經在polling/Configuration狀態下發送Modified TS1/TS2,在TS1/TS2中設置symbol5中的Enhanced Link Behavior Control field為‘b11。針對up端,要求在所有的TS1/TS2中發送這樣的序列

(3)導致從polling.configuration轉變到configuration狀態的那8個連續的TS2的data rate中設置了Enhanced Link Behavior Control field位為’b11(symbol5)+TS2中的32.0 GT/s data rate is supported設為1。注意這8個TS2要求是連續的,并且是在所有lane上都收到才能滿足從polling.configuration轉變到configuration狀態。-dsp/usp均滿足

B:在滿足如下變化Flit_Mode_Enabled變量設為1:

(1)LinkUp = 0b-dsp/usp均滿足

2)自從進入polling狀態以來,tx已經在polling/Configuration狀態下發送相關TS1/TS2,在其中TS1/TS2中設置symbol4中bit0,也就是Flit Mode Supported bit中的Data Rate Identifier為‘b1。-dsp/usp均滿足

(3)導致從polling.configuration轉變到configuration狀態的那8個連續的TS2的data rate中設置了flit mode supported位(也就是symbol4的bit0)為1。注意這8個TS2要求是連續的,并且是在所有lane上都收到才能滿足從polling.configuration轉變到configuration狀態。-dsp/usp均滿足

usp

usp在從dsp提供的鏈路編號中選擇其中一個,填充至所有通道的TS1中,反饋發送給dsp。這里所有通道指的是那些所有接收鏈路編號不為填充字符TS1的通道。在所有剩余的通道中,如果檢測到對端接收方,但是沒有接收到有效鏈路編號的通道,將繼續發送鏈路編號和通道編號采用填充符號的TS1

如果一個link可以使用具體數值的link num號來實現configured link(注意,這個link num來自于收到的兩個連續的TS1,并且這兩個TS1中的link numlane num均不為pad,兩個連續的TS1中的link numlane num前后一致),那么TS1會發送和收到的TS1link num/lane num一致或不一致的TS1(針對不一致的TS1往往是存在于lane reversed)。

另外注意三點:

1)收到的TS1既可以是標準的TS1,也可以是Modified的TS1(Modified的TS1只有在use_modified_TS1_TS2_Ordered_Set為1的情況下);

2)針對lane進行編號的時候,需要注意,lane num必須要針對連續的groupinglane進行連續的編號,針對沒有收到TS1lane,相當于這個lane不屬于一個groupinglane。剩下的lane必須要發送link numlane num均設為padTS1

3)比如說一個 x8 鏈路,將會把它的通道編號為 0-7。端口需要支持鏈路容納其所擁有的最大通道數,也需要支持鏈路容納最少至一個通道。通道總是從 0 開始編號,并且需要是連續編號不中斷的。比如,如果一個 x8 鏈路上有些通道不工作,它可能可以轉而配置成一個 x4 鏈路,這種情況下它必須使用通道 0-3。再舉一個例子,如果是鏈路的通道 2 無法正常工作,無法使用通道 0134 組成一個 x4 鏈路,因為它們的編號是不連續的。鏈路上任何剩余的通道必須發送鏈路和通道編號都使用填充符號的 TS1

Configuration.Lanenum.Wait

如果use_modified_TS1_TS2_Ordered_Set1,需要注意:

1tx需要發送Modified TS1而不是正常的TS1;

2rx端必須檢查是否收到Modified TS1(注意一開始進入這個狀態的時候可能還是收到標準的TS1,需要檢查的是收到連續的Modified TS1)

為了避免將鏈路的寬度配置小于正常寬度,協議建議如果在多通道鏈路上發現某些通道出現錯誤或者失去 Block Alignment 狀態,那么延遲一段時間后再進行本過程。8b/10b 編碼時等待至少 2 TS1128b/130b 編碼時至少等待 34 TS1,但任何情況下不要等待超過 1ms

Dsp

Configuration.Lanenum.Wait 狀態期間,DSP 會繼續發送鏈路和通道編號為非填充值的 TS1,直至滿足某個跳轉到其他狀態的條件。

Usp

Configuration.Lanenum.Wait 狀態期間,USP 會繼續發送鏈路和通道編號為非填充值的 TS1,直至滿足某個跳轉到其他狀態的條件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161668.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git stash 用法總結

目錄 1,介紹場景1:場景2: 2,常用命令2.1,基礎2.2,進階1,存儲時指定備注2,通過索引來操作指定的存儲3,修改存儲規則 2.3,查看 stash 修改的具體內容 1&#xf…

Element UI之Dialog 對話框

Dialog 對話框 用于彈出窗口 按需引入方式 如果是完整引入可跳過此步驟 import Vue from vue import { Dialog } from element-ui import element-ui/lib/theme-chalk/base.css import element-ui/lib/theme-chalk/dialog.cssVue.use(Dialog)基礎使用 <template><…

摩爾定律,梅特卡夫定律,吉爾德定律

信息系統的三大定律(摩爾定律&#xff0c;梅特卡夫定律&#xff0c;吉爾德定律)有一個清晰的視角&#xff1a; 信息系統不是左邊的生產消費系統&#xff0c;而是右邊的交易系統&#xff0c;交易系統與生產消費典型的區別在于信息交易過程會產生新的信息&#xff0c;就像錢一樣…

c語言——俄羅斯方塊

一、游戲效果 俄羅斯方塊 二. 游戲背景 俄羅斯方塊是久負盛名的游戲&#xff0c;它也和貪吃蛇&#xff0c;掃雷等游戲位列經典游戲的?列。 《俄羅斯方塊》&#xff08;Tetris&#xff0c;俄文&#xff1a;Тетрис&#xff09;是一款由俄羅斯人阿列克謝帕基特諾夫于1984…

java http

超文本傳輸協議 超文本/html 工作方式 get / url 請求獲取相應報文 http://xxxxxxxxxxxx.com/user?xxx xxx 協議類型 - 服務器地址 -路徑 path 請求格式: head / body path路徑進行處理資源 等同于報文請求: GET: /users HTTP/1.1 Host:api.github.com 響應報文 請求方式…

京東數據分析平臺(京東運營數據采集):2023年10月京東白酒品牌銷售排行榜

鯨參謀監測的京東平臺10月份白酒市場銷售數據已出爐&#xff01; 鯨參謀數據顯示&#xff0c;10月份&#xff0c;京東平臺上白酒的銷量為340萬&#xff0c;環比增長約16%&#xff0c;同比增長約37%&#xff1b;銷售額為28億&#xff0c;環比增長約20%&#xff0c;同比增長約122…

educoder中Hive綜合應用案例 — 學生成績查詢

第1關:計算每個班的語文總成績和數學總成績 ---------- 禁止修改 ----------drop database if exists mydb cascade;set hive.auto.convert.join = false; set hive.ignore.mapjoin.hint=false; ---------- 禁止修改 ---------- ---------- begin ---------- ---創建mydb數據…

如何在Ubuntu的Linux系統中安裝MySQL5.7數據庫

前往MySQL數據庫官網鏈接地址下載5.7數據庫。 MySQL :: Download MySQL Community Server (Archived Versions)使用ssh的可視化工具將下載的mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz文件上傳到Linux服務器&#xff0c;并解壓文件 tar -zxvf mysql-5.7.40-linux-glibc2.12-x…

總結vue框架中的鉤子函數

vue2.x生命周期鉤子函數 組件的生命周期分為3個階段: 掛載階段:beforeCreate、created、beforeMount、mounted,更新階段:beforeUpdate、updated,銷毀階段:beforeDestroy、destroyed beforeCreate beforeCreate() {// 初始化數據&#xff0c;并通過Object.defineProperty()和…

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于蛇優化優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要&#xff1a;針對PNN神經網絡…

大數據預處理技術

文章目錄 前言 大數據技術成為前沿專業 也是現在甚至未來的朝陽產業&#xff0c;大數據有分別是 數據預處理 數據存儲 大數據處理和分析 數據可視化 部分組成 &#xff0c;大數據行業有數據則稱王&#xff0c;大數據的核心是數據本身 怎么獲取有價值的數據呢&#xff1f;本章講…

android 9 adb安裝過程學習(二)

一、PackageInstalllerService流程分析 下面來分析下 PackageInstallerService 中的邏輯&#xff0c;我們先來看看 PackageInstallerService 的創建&#xff0c;當然&#xff0c;這部分的邏輯是在開機的時候&#xff0c;這里我們再回顧下&#xff1a; 位置&#xff1a;./frame…

Cent OS 8.2 安裝 自定義硬盤 固定IP VMware

時間&#xff1a;20231122 環境&#xff1a;win11 、VMware 16 pro、Cent OS 8.2 說明&#xff1a;自定義安裝方法、自定義硬盤分區、固定IP且能聯網 1、使用自定義的方式安裝虛擬機 此處選擇典型&#xff0c;則會自動安裝系統&#xff0c;無法自定義硬件以及配置信息 選擇…

CCF CSP認證 歷年題目自練Day49

題目一 此題用暴力枚舉做過&#xff08;80分&#xff09;現如今終于用二維前綴和做到滿分。 試題編號&#xff1a; 202309-2 試題名稱&#xff1a; 坐標變換&#xff08;其二&#xff09; 時間限制&#xff1a; 2.0s 內存限制&#xff1a; 512.0MB 問題描述&#xff1a; 問題…

【Axure視頻教程】中繼器首行函數

今天教大家在Axure里如何使用中繼器首行函數&#xff0c;本視頻教程會先從中繼器首行函數的基礎講起&#xff0c;然后通過計算合計數、統計選中數、兩個中繼器選項聯動這3個案例更加深入的講解這這個函數的應用。注&#xff1a;該教程主要講解中繼器首行函數的用法&#xff0c;…

NFC:應用場景廣泛的短距離通信技術

NFC&#xff1a;應用場景廣泛的短距離通信技術 一、NFC 技術介紹1.1 NFC 技術應用場景1.2 NFC 技術優點1.3 NFC 工作原理 二、NFC 開發2.1 NFC 應用開發流程2.2 NFC 讀取和寫入2.3 NFC 讀寫功能示例 三、總結 一、NFC 技術介紹 NFC &#xff08;Near-field communication&…

SM系列國密算法

一、概述 國產密碼算法&#xff08;國密算法&#xff09;是指國家密碼局認定的國產商用密碼算法&#xff0c;國密算法是提升國家密碼安全和數據安全的關鍵技術。 為了保障商用密碼的安全性&#xff0c;國家密碼局制定了一系列密碼標準&#xff0c;包括&#xff1a;SM1、SM2、S…

分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測

分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測 目錄 分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測分類效果基本描述程序設計參考資料 分類效果 基本描述 1.Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據…

hadoop在本地創建文件,然后將文件拷貝/上傳到HDFS

1.要$cd {對應目錄}進入到對應目錄&#xff0c;一般為 cd /usr/local/hadoop/ 2.創建文件&#xff0c;$sudo gedit {文件名}&#xff0c;例 sudo gedit test.txt 然后在彈出的txt文件輸入內容&#xff0c;點擊右上角的保存之后&#xff0c;關閉即可。 3.拷貝本地文件到HDF…

RPG項目_UI登錄

首先創建一個項目 將資源包導進Resources文件夾 創建一個Scripts腳本文件夾 然后再對Scripts腳本文件夾分門別類 導入UI資源包 創建一個Image 按住Alt 選擇右下角 image就會覆蓋整個面板 修改image名字為BG 將image圖片放置背景欄 再創建一個image 改名為MainMenu 修改MainMenu…