<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCIE知識點:談談bus master en等

ruikundianzi ? 來源:IP與SoC設計 ? 2023-05-15 14:24 ? 次閱讀

PCIE Zero-Length read

1、Zero-Length Write

PCIe協議提出了zero-length的讀寫操作,并且做了如下說明

Zero-Length Write的含義

A Memory Write Request of 1 DW with no bytes enabled, 即Memory Write 類型tlp中只有1DW的data,且length字段為1,并且tlp header中的First DW BE[3:0] 和Last DW BE[3:0]均為0。

A Memory Write Request of 1 DW with “zero-length Write,”

Zero-Length Write的作用

Zero-Length Write has no effect at the Completer unless otherwise specified. 正常情況下Zero-Length Write不會對完成者造成任何影響,除非特別指定。例如:正常情況下,一顆芯片中的PCIe作為endpoint,收到Zero-Length Write時,此Zero-Length Write不會改寫當前tlp中addr對應的寄存器(or RAM)的數值,也不會產生對應地址的寫脈沖,更不會應該此寫操作造成芯片功能的變化

A Memory Write 通常在特定的協議中去使用,已達到額外的效果,例如LN protocol.(沒深入看)

2、Zero-Length Read

PCIe協議提出了zero-length的讀操作,并且做了如下說明

Zero-Length Read的含義

A Memory Read Request of 1 DW with no bytes enabled。即Memory Read 類型tlp中且length字段為1,并且tlp header中的First DW BE[3:0] 和Last DW BE[3:0]均為0。

Zero-Length Write的作用

協議原文描述如下:

Zero-Length Read may be used by devices as a type of flush Request. For a Requester, the flush semantic allows a device to ensure that previously issued Posted Writes have been completed at their PCI Express destination. To be effective in all cases, the address for the zero-length Read must target the same device as the Posted Writes that are being flushed. One recommended approach is using the same address as one of the Posted Writes being flushed.

即:

Zero-Length Read 通常作為一種刷新操作,用于確保之前發起的Posted Writes已經被completer完成了。假設master在T0時刻已經發起mem_write(addrA),T1時刻發起zero_mem_rd(addA),T3時刻master收到對應的cpld。此時在T3時刻,master就知道了mem_write(addrA)已經被slave正確執行了。

對Zero-Length Write的要求:

If a Read Request of 1 DW specifies that no bytes are enabled to be read (First DW BE[3:0] field = 0000b), the corresponding Completion must specify a Length of 1 DW, and include a data payload of 1 DW.The contents of the data payload within the Completion packet is unspecified and may be any value。即對應cpl的長度必須指定為1DW,且必須包含1DW的data payload,并且data的數值沒有要求,可以是任意值。

3、Zero-Length Read相對于正常讀操作有什么優勢呢?

假設目標地址的讀寫操作均會觸發芯片內部不同功能的啟動,而Zero-Length Read實際不要求真正去執行一次memory read操作。同樣都能確保之前Posted Writes已經被執行,但是真實的讀操作可能會改變芯片功能狀態,而Zero-Length Read不會,因此Zero-Length Read更有優勢。

談談bus master en

Bus master en信號

Type0的function:控制function發起Memory and I/O Read/Write Requests

1.Bus Master Enable為0,不允許function發起Memory and I/O Read/Write Requests

2.PF的Bus Master Enable 位于PF配置空間的Command Register的bit2,僅僅控制PF自身的請求,不會控制所屬VF的請求

3.VF的Bus Master Enable,位于VF配置空間的Command Register的bit2,僅僅控制VF自身的請求

Type1的function:控制function向Upstream方向轉發Memory and I/O Read/Write Requests

1.Switch upstream port的Bus Master Enable為0,

(1)會將downstream side收到的Memory and I/O Read/Write Requests當做UR處理

(2)Switch upstream port自身不允許向upstream 方向發出Memory and I/O Read/Write Requests

ECRC 與 credit 信用量

1、ECRC 是不算在信用量范圍內的

從PCIe協議上可以看出,信用量僅僅包含三類:CPL credit/Post credit/non-post credit,其中每種包含data credit和header credit。

ECRC 是額外添加的校驗字段,在TLP內是1DW,即4byte,不屬于data payload,也不屬于header字段。因此ECRC不在信用量的考量范圍內。

2、Buffer size的注意事項

支持ECRC check功能的PCIE 在設計rx buffer時,需要考慮到當所有收到的TLP都帶ECRC字段時,buffer是否會溢出。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    447

    文章

    48197

    瀏覽量

    411043
  • 寄存器
    +關注

    關注

    30

    文章

    5141

    瀏覽量

    118055
  • PCIe
    +關注

    關注

    13

    文章

    1101

    瀏覽量

    81154

原文標題:PCIE知識點:談談bus master en等

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    運放知識點

    `運放知識點`
    發表于 08-20 20:58

    嵌入式C/單片機C/標準C知識點

    :嵌入式C、標準C、單片機C區別  知識點2:程序組成和程序原則  知識點3:變量類型(函數、數組、指針、結構體類型)  知識點4:常用的運算符和關系表達式,例如: | || ^ ~
    發表于 10-24 14:42

    工程師總結了一些C語言的知識點

    類型(函數、數組、指針、結構體類型)知識點4:常用的運算符和關系表達式,例如:|||^~知識點5: 9條基本語句和32個關鍵字知識點6:
    發表于 07-25 10:23

    【信盈達】C語言知識點的總結

    一、嵌入式C/單片機C/標準C知識點知識點1:嵌入式C、標準C、單片機C區別知識點2:程序組成和程序原則知識點3:變量類型(函數、數組、指針、結構體類型)
    發表于 10-08 14:41

    使用PADS軟件進行PCB設計,有哪些基礎知識點?

    使用PADS軟件進行PCB設計,有哪些基礎知識點?發現知識點很多、很雜、很亂,有沒有聚合歸納統一的內容給到
    發表于 08-20 12:07

    關于前端有哪些知識點

    前端知識點總結
    發表于 07-08 15:37

    電機與電氣控制基礎的知識點

    電機就是我們平時俗稱的“馬達”,電機是依據電磁感應定律實現電能轉換或傳遞的一種電磁裝置。電機的主要作用是產生驅動轉矩,作為用電器或各種機械的動力源。而電機與電氣控制技術的一些基礎的知識點是不論是在學習還是工作中都是需要牢記的。今天分享的就是關于電機與電氣控制基礎的一些基本的知識點
    發表于 01-22 06:54

    FPGA的基礎知識點及工作原理是什么

    FPGA的基礎知識點及工作原理是什么
    發表于 04-30 06:14

    電機與拖動知識點及其試題

    電機與拖動知識點分析一、基本知識與基礎知識知識點??碱}目二、直流電機一、基本知識與基礎知識
    發表于 06-29 07:10

    STM32外部中斷的知識點

    STM32_外部中斷,從程序入手,深度解讀每條程序,理解知識點。
    發表于 08-13 08:57

    STM32外部中斷知識點概述

    STM32外部中斷概述知識點(1)知識點(2)知識點(3)中斷服務函數外部中斷常用庫函數外部中斷的一般配置步驟知識點(1)STM32的每個IO都可以作為外部中斷輸入。STM32的中斷控
    發表于 08-16 07:43

    關于AUTOSAR架構的知識點看完你就懂了

    關于AUTOSAR架構的知識點看完你就懂了
    發表于 10-18 07:41

    GDB的知識點匯總,絕對實用

    GDB的知識點匯總,絕對實用
    發表于 12-24 06:01

    DBC編輯的知識點匯總,絕對實用

    DBC編輯的知識點匯總,絕對實用
    發表于 02-09 08:02

    SPI協議的知識點大合集,絕對實用

    SPI協議的知識點大合集,絕對實用
    發表于 02-17 07:31
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>