当前位置: 首页 > wzjs >正文

建网站代理中国联通业绩

建网站代理,中国联通业绩,做电影电视剧网站推广,软件开发培训机构地址Ack/Nak是一种由硬件实现的,完全自动的机制,目的是保证TLP有效可靠地传输。 Ack DLLP用于确认TLP被成功接收Nak DLLP则用于表明TLP传输中遇到了错误 该机制的整体流程如下图所示: 详细说明: 发送端相应的组件 NEXT_TRANSMIT_SE…

Ack/Nak是一种由硬件实现的,完全自动的机制,目的是保证TLP有效可靠地传输。

  • Ack DLLP用于确认TLP被成功接收
  • Nak DLLP则用于表明TLP传输中遇到了错误

该机制的整体流程如下图所示:

详细说明:

发送端相应的组件

                                

NEXT_TRANSMIT_SEQ Counter

  • NTS计数器,是一个12位的计数器
  • 当数据链路层处于DL-Down状态或者复位时,该计数器会被初始化为0。
  • 该计数器只会执行加一操作,也就是说当其到达最大值4095时,在进行加一操作则会变成0
  • 该计数器用于产生下一个待发送的TLP的序列号(Sequence Number)
    • 每一个序列号都是与一个TLP所唯一对应的
    • 可以说这个序列号正是整个Ack/Nak机制的关键。

LCRC Generator

  • LCRC产生器用于产生一个32位的CRC值,其作用于整个TLP和其对应的序列号。

Replay Buffer

  • 在PCIe Spec中,这个Buffer的名称叫做Retry Buffer。
  • Replay Buffer中按照传输顺序,存储了整个TLP、序列号和LCRC
  • 当发送端收到来自接收端的Ack DLLP时,会将Buffer中相应的TLP(包括对应的序列号和LCRC)移除;
  • 如果接收到的是Nak DLLP,则会将Buffer中响应的TLP(包括对应的序列号和LCRC)重新发送给接收端;

 REPLAY_TIMER Count

  • REPLAY_TIMER是一种看门狗定时器,当该定时器溢出,则表明发送端已经发送了一个或者多个TLP,但是并未收到来自接收端的应答信号(Ack/Nak)
  • 此时,发送端会将Replay Buffer中的TLP重新发送,并将看门狗定时器重启;
  • 只要发送端发送了任何TLP,该定时器便会启动,在接收到来自接收端的应答信号之前都会持续地运行;
  • 当收到应答信号之后,定时器会立即被清零

REPLAY_NUM Count

  • 这是一个2位的计数器,用于记录同一个TLP发送失败的次数
  • 当其值从11b变为00b时(溢出了,表示尝试发送某个TLP失败了4次),数据链路层会自动地强制物理层重新进行链路训练(即LTSSM进入Recovery状态)
  • 当完成链路训练之后,便会重新发送之前发送失败的TLP;
  • 当发送端接收到来自接收端的Nak DLLP或者发送端的看门狗定时器(REPLAY_TIMER)溢出时,该计数器都会被加一;
  • 当接收到Ack DLLP时,该计数器则会被清零

ACKD_SEQ Register

  • ACKD_SEQ寄存器用于存储最近接收到的Ack或者Nak DLLP中的序列号。

DLLP CRC Check

  • 接收端在接收到来自发送端的DLLP后,首先会检查其DLLP CRC,如果发现有错误,则会直接将其丢弃,认为其实无效的DLLP

接收端相应的组件

        ​​​​​​​        ​​​​​​​        

 LCRC Error Check

  • LCRC Error Check用于检查接收到的TLP是否存在错误。
  • 如果存在错误,则将对应的TLP直接丢弃,然后产生一个Nak DLLP发送给发送端,让其重新发送该TLP

NEXT_RCV_SEQ Counter

  • NEXT_RCV_SEQ是一个12位的计数器,即Next Receive Sequence Number,其值为已经成功接收的TLP的序列号加1。主要用于检查当前接收到的TLP是不是应该接收到的TLP。
  • 如果NEXT_RCV_SEQ和当前接收到的TLP中的序列号的值相等,则认为这是一个有效的TLP
  • 但是接收端并不会立即向发送端发送Ack DLLP,而是等到AckNak_LATENCY_TIMER溢出时才向发送端发送Ack DLLP。
  • 也就是说,一个Ack DLLP可能会对应多个TLP,接收端不会每成功接收到一个TLP便向发送端发送Ack DLLP。
  • 如果当前接收到的TLP中的序列号小于NEXT_RCV_SEQ(且差值不超过2048),则认为该TLP之前已经成功发送过了,此次是重复发送;
  • PCIe Spec认为重复发送并不是一个错误,只是直接将该TLP丢弃,并没有Nak或者Error Reporting,但是会返回一个包含有上一次成功接收的TLP的序列号(NRS-1)的Ack DLLP给发送端。
  • 如果当前接收到的TLP的序列号大于NEXT_RCV_SEQ,表明传输过程中漏掉了一些TLP。此时,接收端会返回Nak DLLP,并直接丢弃该TLP

NAK_SCHEDULED Flag

  • NAK_SCHEDULED是一个标志位,当接收端产生Nak DLLP时,该标志位会被置位。
  • 当接收端成功接收到有效的TLP时,该标志位会被清零。
  • 需要特别注意的是,当该标志位处于置位状态时,接收端不应产生其他的Nak DLLP。

AckNak_LATENCY_TIMER

  • 当AckNak_LATENCY_TIMER定时器溢出时,接收端会立即向发送端返回Ack DLLP
  • 携带的序列号为NRS-1,即一个Ack对应多个有效的TLP
  • 无论接收端返回Ack还是Nak,该定时器都会被复位
  • 但是只有当接收端再次收到有效的TLP时,该定时器才会被重新启动。

Ack/Nak Generator

  • 显然,Ack/Nak Generator的功能是产生Ack或者Nak DLLP
  • 格式如下:

        

实际例子

参考文档:PCIe扫盲——Ack/Nak 机制详解(二)-Felix-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台 

http://www.dtcms.com/wzjs/54355.html

相关文章:

  • 惠城区城乡规划建设局网站企业网站建设价格
  • 查收录网站关键词点击工具
  • 东莞网站建设(曼哈顿信科)百度推广是什么意思
  • 网站建设首页网络优化的三个方法
  • 无法访问网站今日头条武汉最新消息
  • 网站自己怎么做优化百度百度一下百度
  • 网站开发课程设计建议快速申请免费个人网站
  • 想开个视频网站该怎么做出售友情链接是什么意思
  • 张掖哪家公司做网站网络营销管理
  • wordpress安装2个网站表白网站制作
  • 凡科做网站友情链接怎么做天眼查企业查询入口
  • 做瞹免费视频网站成都百度推广代理公司
  • 云南 网站建设网站优化搜索点击次数的方法
  • 有口碑的唐山网站建设华与华营销策划公司
  • 电子商务网站建设与管理—李建忠成都竞价托管多少钱
  • 支付宝 收费 网站开发win10最强性能优化设置
  • 宁波企业品牌网站建设网络营销包括
  • 集团网站建设案例与网站作用网络营销做得好的品牌
  • 网站建设网页链接做竞价推广这个工作怎么样
  • 用muse做网站企业品牌推广
  • 做网站的图片大全网站首页模板
  • wordpress国外主题网站模板郑州官网网络营销外包
  • 湖北响应式网页建设哪家有成都seo培
  • 免费做初中试卷的网站天津最新消息今天
  • 我想自己做网站竞价推广什么意思
  • 济南怎么做网站googleplay安卓版下载
  • 工作正能量励志句子游戏优化大师官方下载
  • 互联网行业网站设计关键词推广效果分析
  • 谷歌怎么做公司网站培训心得总结怎么写
  • 郑州哪里有做网站的百度指数的主要功能有