第六条缔约国的法律规定个人丧失或被剥夺该国国籍时其配偶或子女亦丧失该国国籍者,其配偶或子女国籍的丧失应以具有或取得另一国籍为条件。六、除本条所述的情况外,任何人如丧失缔约国国籍即无国籍时,应不丧失该国国籍,纵使此项国籍的丧失并没有为本公约的任何其他规定所明确禁止。......
2023-07-24
Recovery状态是LTSSM状态机的重要状态,其复杂程度超过Configuration状态。该状态可以从L0、L1和L0s状态进入,当PCIe设备进入低功耗状态,需要进行链路重训练时,将经过Recovery状态之后,才能重新进入正常工作状态,第8.3节将讲述如何从L1和L0s状态进入Recovery状态。
Recovery状态机如图8-10所示,该状态机由Recovery.RcvrLock、Recovery.Speed、Recov-ery.RcvrCfg和Recovery.Idle共四个子状态组成。
1.从L0状态进入到Recovery状态
当PCIe设备工作在L0状态时,出现以下情况时,将进入Recovery状态。
(1)更改数据传送率
PCIe设备需要改变数据传送率时,将进入Recovery状态。在Configuration状态中,PCIe链路两端设备记录了“当前PCIe设备能够支持的数据传送率”,如果两端设备都支持大于2.5GT/s的数据传送率,可以从L0状态进入Recovery状态。
在PCIe设备中存在两个状态位。其中directed_speed_change位为1时,表示PCIe设备希望更改数据传送率,而changed_speed_recovery位为1时表示PCIe链路已经完成数据传送率的更改。
图8-10 Recovery状态机
当数据链路层处于DL_Active状态时,系统软件可以置directed_speed_change位为1,同时复位changed_speed_recovery位为0,随后该设备将进入Recovery状态。值得注意的是PCIe链路的两端设备需要同时改变directed_speed_change和changed_speed_recovery位。
(2)更改链路宽度
PCIe设备在Configuration状态时,如果设置upconfigure_capable状态位为1,可以更改链路宽度。此时该设备需要从L0状态进入Recovery状态,之后才能进行该操作。
(3)已配置完毕的Lane中收到TS1或者TS2序列。
(4)检测或者推断出对端设备处于Idle状态。
当PCIe设备检测到对端处于Idle状态时,将有可能进入Recovery状态。此处的Idle状态由两部分内容组成,一个通过硬件检测对端设备的发送逻辑TX是否处于“Electrical Idle”状态;另一个通过逻辑推断对端设备的发送逻辑是否处于Logical Idle状态。
在正常情况下,发送逻辑TX在进入Electrical Idle状态时,需要发送EIOS序列。如果对端的接收逻辑RX检测到PCIe链路实际上已经进入Idle状态,但是并没有收到EIOS序列时,将认为PCIe链路出现某种故障,PCIe总线并没有规定在这种情况下,PCIe设备是进入Recovery状态还是继续保持在L0状态中,但是在多数实现中,都将进入Recovery状态。
值得注意的是,一个PCIe设备进入Recovery状态之后,将向对端发送TS1序列,而对端设备收到这个TS1序列后,也将从L0状态进入Recovery状态。因此在PCIe链路中,当一端设备进入Recovery状态后,对端设备也将进入该状态。
2.Recovery.RcvrLock状态
PCIe设备进入Recovery状态时,将首先到达Recovery.RcvrLock状态。PCIe设备进入该状态时将连续向对端“已配置完毕的Lane”发送TS1序列,该序列的Link和Lane Number为之前在Configuration状态中设置的值。
如果directed_speed_change位为1时,发送的TS1序列的speed_change位也将设置为1。PCIe设备如果在Recovery.RcvrLock状态时,收到speed_change位为1的TS1序列时,该设备的directed_speed_change位也将改变为1。(www.chuimin.cn)
下文以一个实例说明speed_change位和directed_speed_change位的作用。假设在一条PCIe链路上连接了两个设备,EP A和Switch的下游端口B,而且这两个设备的工作状态的初始值为L0。
如果EP A希望进入Recovery状态改变数据传送率,则置directed_speed_change位为1,随后进入Recovery.RcvLock状态,同时向端口B发送speed_change位为1的TS1序列。
而当端口B处于L0状态时,收到这个TS1序列后,并不会检测speed_change位,而直接进入Recovery状态。然后向EP A发送若干个speed_change位为0的TS1序列,因为此时端口B的directed_speed_change位为0。
当端口B收到“8个连续”的从EP A发来的“speed_change位为1”的TS1序列(还包括EP A支持的数据传送率种类)之后,directed_speed_change位将置为1,然后再向EP A发送“speed_change位为1”的TS1序列。值得注意的是,在上述实例中,端口B在Re-covery.RcvLock状态将发送两种不同的TS1序列,一种序列的speed_change位为0,而另一种序列的speed_change位为1。
PCIe设备连续发送TS1序列的同时,将通过其接收逻辑RX检测,是否收到8个连续的TS1或者TS2序列,是否这些序列使用的Link和Lane Number与该设备发送的值相同,而且这些序列的speed_change位是否与directed_speed_change位相同。如果检测成功,该设备将进入Recovery.RcvrCfg状态。在该状态中,PCIe设备将重新获得Bit/Symbol Lock,并处理不同Lane之间的Skew,这也是该状态位被命名为“Lock”的原因。
PCIe设备还可以从该状态直接进入Recovery.Speed BFQ状态,如果当前PCIe链路已经工作在大于2.5GT/s的数据传送率,但是并不能稳定工作(并没有正确获得Bit/Symbol Lock),此时需要进入Recovery.Speed状态,将数据传送率更改为2.5GT/s。PCIe设备还可以从该状态进入Configuration或者Detect状态。本节对此不做详细介绍。
3.Recovery.RcvrCfg状态
PCIe设备进入Recovery.RcvrCfg状态后,将向对端发送TS2序列,该序列的Link和Lane Number为之前在Configuration状态设置的值。如果directed_speed_change位为1时,该序列的speed_change位也必须为1。发送这些TS2序列的主要目的是进一步确认Recover-y.RcvrLock状态使用TS1序列所获得的结果。
之后PCIe设备通过其接收逻辑RX检测,是否收到了8个连续的TS2序列,这些序列使用的Link和Lane Number与该设备发送的值是否相同,而且这些序列的speed_change位是否与directed_speed_change位相同。
如果检测成功,PCIe设备将根据TS2序列中的speed_change位决定进入Recovery.Speed状态,还是Recovery.Idle状态。
如果该PCIe设备能够支持的数据传送率与接收的TS2序列中的数据传送率重合,比如都支持5GT/s的数据传送率,而且speed_change位为1时,将进入Recovery.Speed状态,PCIe设备从Recovery.RcvrCfg状态迁移到Recovery.Speed状态还有一个补充条件,即接收到第一个TS2序列后,至少向对端发送32个连续的TS2序列。
如果Speed_change位为0时,将进入Recovery.Idle状态,PCIe设备从Recovery.RcvrCfg状态迁移到Recovery.Idle状态还有一个补充条件,即从接收到第一个TS2序列后,向对端发送16个连续的TS2序列。
如果在Recovery.RcvrLock状态中,PCIe设备没有处理不同Lane之间的Skew,在该状态中,PCIe设备可以处理不同Lane之间的Skew。PCIe设备还可以从该状态进入Configuration或者Detect状态。本节对此不做详细介绍。
4.Recovery.Speed状态
PCIe设备进入该状态时,如果使用的数据传送率为2.5GT/s,则其发送逻辑TX需要发送1个EIOS序列,然后进入Electrical Idle状态;如果使用的数据传送率为5.0GT/s,则其发送逻辑TX需要发送2个EIOS序列,然后进入Electrical Idle状态。此时该PCIe设备需要等待其接收逻辑RX也进入Electrical Idle状态,才能进一步工作。接收逻辑检测对端发送逻辑TX是否处于Electrical Idle状态,使用的方法如第8.1.2节所示。
当PCIe设备的发送与接收逻辑都进入到Electrical Idle状态后,至少需要等待800ns判断PCIe链路两端是否成功完成数据传送率的协商,或者等待1ms判断协商是否成功。协商成功后successful_speed_negotiation位被置为1,否则将置0。
如果协商成功,PCIe设备将置directed_speed_change位为0,然后从该状态回到Recov-ery.RcvrLock状态。值得注意的是在Recovery.Speed状态并不发送PLP检查新的数据传送率是否能够使用。而在Recovery.RcvrLock状态中,通过TS1序列判断对端设备是否能够获得Bit/Symbol Lock,确定新的数据传送率是否正常工作。如果不能正常工作,该设备还将从Recovery.RcvrLock状态回到Recovery.Speed状态,将数据传送率降低为2.5GT/s后,再次回到Recovery.RcvrLock状态。
5.Recovery.Idle状态
PCIe链路进入Recovery.Idle状态后,将连续向对端发送Idle序列,当接收逻辑RX的所有可用Lane收到8个连续的Idle序列,而且发送逻辑TX发送了16个Idle序列后,将进入L0状态,完成链路训练或者重训练过程;否则将视情况进入Disabled、Loopback、Hot Re-set、Configuration和Detect状态,本节对Recovery.Idle进入这些状态不做详细分析。
有关PCI Express体系结构导读的文章
第六条缔约国的法律规定个人丧失或被剥夺该国国籍时其配偶或子女亦丧失该国国籍者,其配偶或子女国籍的丧失应以具有或取得另一国籍为条件。六、除本条所述的情况外,任何人如丧失缔约国国籍即无国籍时,应不丧失该国国籍,纵使此项国籍的丧失并没有为本公约的任何其他规定所明确禁止。......
2023-07-24
如图8-6所示,Detect状态由Detect.Quiet、Detect.Active两个子状态组成。在正常情况下,PCIe链路将从Detect状态迁移到Polling状态。而在Detect状态中,PCIe设备的发送逻辑TX将直接进入到“Electrical Idle”状态,并不会使用Idle序列通知对端设备的接收逻辑RX。当PCIe设备处于Detect.Quiet状态超过12ms之后,或者检测到PCIe链路上的任何一个Lane退出“Electrical Idle”状态时,PCIe设备将进入Detect.Active状态。......
2023-10-20
所以,用户在屏幕上观察到的程序监控状态并不是完全如实迅速变化的元件状态。在该状态STEP 7-Micro/WIN经过多个扫描周期采集状态值,然后刷新梯形图中各值的状态并显示。但是不显示L存储器或累加器的状态。......
2023-06-26
状态是状态机运行的经脉,在开始使用状态机模式编写程序时需要将应用分为若干个状态。由图5-4可知,LabVIEW标准状态机主要由一个While循环(①)和一个条件结构(③)构成,并利用移位寄存器(②)来实现状态的跳转。根据要求,该应用至少包含以下5种状态结构:1)Initial:初始化状态。5)Stop:停止状态,退出循环并中止程序。数据采集应用基本状态机各个状态的程序框图如图5-6所示。......
2023-07-02
警惕亚健康状态如今,一种以慢性疲劳为主要症状的身体状态正悄然而起,人们称之为亚健康状态。所谓亚健康状态是健康与疾病之间的临界状态,是指那些持续出现在半年时间内,反复发生的疲劳,而又不属于传染病、内分泌疾患、自身免疫病以及其他肝肾、血液、肿瘤等疾病。......
2023-12-04
如图8-16所示,PCIe设备可以进行D-State的状态迁移。大多数D-State的状态迁移都是系统软件通过修改PMCSR寄存器的PowerState字段实现的,但是仍然有些状态迁移采用了其他方式。表8-3 D-State状态与PCIe链路状态的对应关系由上表可以发现,上游设备所处的D-State等级小于或等于下游设备的休眠等级。PCIe设备其他D-State状态的迁移过程与此大同小异,详见PCIe总线规范,本节对此不做进一步描述。......
2023-10-20
水轮发电机组状态在线监测系统参数包括状态监测参量、工况参数和过程量参数。电气干扰将影响水轮发电机组的稳定运行,是监测诊断的重要参数。针对大型混流式机组,根据《水轮发电机组状态在线监测系统技术导则》、《水力机械振动和脉动现场测试规程》、《水轮发电机组安装技术规范》和其他相关标准的要求,建议配置以下机组状态监测参数。......
2023-06-21
PCIe总线定义了一系列与电源管理相关的链路状态。PCIe设备仅使用辅助电源工作,主电源已经被关闭。该状态是一个“伪”状态,PCIe链路处于L2、L3状态时,需要通过LDn状态之后才能进入L0状态。图8-11 电源管理状态机本节重点说明L0、L0s和L1状态的工作原理以及如何使用ASPM机制进行状态迁移。在第8.4节将讲述系统软件如何设置寄存器使PCIe设备进入L0、L0s和L1状态。在PCIe设备中,Link Capabilities寄存器的ASPM Support字段表示当前PCIe设备可以支持的链路状态,该字段只读。......
2023-10-20
相关推荐