网站建设横向发展纵向发展,贵阳网站建设外包,做外贸网站哪家好,凡客集团前言#xff1a;
PCI总线中定义两个边带信号#xff08;PERR#和SERR##xff09;来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误#xff08;Parity Error#xff09;#xff0c;而SERR#主要对应的是系统错误#xff08;System Error#xff09;。具体如下…前言
PCI总线中定义两个边带信号PERR#和SERR#来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误Parity Error而SERR#主要对应的是系统错误System Error。具体如下 · 普通的数据奇偶校检错误——通过PERR#报告 · 在多任务事务Multi-task Transaction又称为Special Cycles时的奇偶校检错误——通过SERR#报告 · 地址和命令的奇偶校检错误——通过SERR#报告 · 其他错误——通过SERR#报告 在PCIPeripheral Component Interconnect和PCI ExpressPCIe体系结构中边带信号Sideband Signals是一些用于提供控制和状态信息而非数据传输本身的信号。在这些信号中有两个特别重要的是SERRSystem Error和PERRParity Error。尽管PCIe架构在很多方面与传统PCI不同但它仍然保留了一些早期技术的特征包括对错误处理的支持。下面是这两个信号的详解
1 PERRParity Error
目的与作用 PERR是用来指示数据传输中的奇偶校验错误的信号。在PCI总线上数据传输伴随着一个奇偶校验位。如果在接收端计算的奇偶校验结果与发送端的不符PERR信号会被触发。这意味着传输的数据在从一个端点到另一个端点的过程中出现了错误。 处理方式 当PERR信号被触发时系统可以采取多种措施如重试传输、记录错误到日志中、或者在某些情况下停止操作具体取决于系统设计和错误的严重性。
2 SERRSystem Error
目的与作用 SERR被用来指示严重的系统错误这些错误通常是无法通过重试等简单方法恢复的。SERR通常与硬件失败、系统崩溃或者其他重大问题关联。SERR提供一种机制使得系统在遇到严重错误时能快速响应。 处理方式 触发SERR通常会导致系统采取更加激进的措施如立即停止所有操作、复位或者重新启动系统。由于涉及到的错误通常很严重因此这个信号的使用相对较少只在不得已的情况下才会被用到。 一个简单的例子如下图所示
3 错误分类
3.1 PCIe将错误分为两大类
3.1.1 可更正错误Correctable Errors
这些错误可以在不影响系统持续运行的情况下被检测并修复。如小的数据包错误、信号干扰等通常不会导致数据损坏。
3.1.2 不可更正错误Uncorrectable Errors
这些错误通常更加严重可能导致数据损失或者系统崩溃。如果发生不可更正错误可能需要采取措施如重新初始化接口或重启系统。
3.2 错误定义
错误定义包括一系列的错误事件下面是一些主要类型 数据链路层错误Data Link Layer Errors 可更正错误 Bad DLLP 数据链路层包DLLP发生错误。 Bad TLP 传输层包TLP发生错误。 不可更正错误 数据链路协议错误 数据链路层发生的协议违规通常指示硬件问题。 物理层错误Physical Layer Errors 可更正错误 接收错误 由于信号畸变等原因接收到错误的数据。 不可更正错误 底层序列错误 物理层发生的序列错误可能是硬件故障的迹象。 传输层错误Transaction Layer Errors 可更正错误 头部日志溢出 即将溢出的未处理事件日志。 不可更正错误 无法识别的TLP 接收端无法识别的TLP。 流控错误 流控制管理出错。 其他错误事件 未达到的请求与完成超时 发出的请求没有收到响应或者响应超时。 携带错位和突发事件 数据携带和收发过程中的错位事件。
3.3 错误报告
PCIe使用高级错误报告AER来提供对错误的管理其包括 记录在相应的状态寄存器中 每当发生错误时错误事件的相关信息会被记录在特定的状态寄存器内。 错误消息 发生错误时会生成相应的错误消息来通知主机或系统进行处理。 错误信号 某些错误会触发硬件信号例如系统错误信号System Error, SERR。
3.4 错误处理
系统或设备接收到错误报告后可以采取以下一种或多种措施来处理错误 记录错误信息并且根据错误重要性上报至操作系统或管理软件。 尝试进行错误校正如果是可更正错误。 系统管理员可以获取详细错误日志以分析故障原因并进行维修。 在不可更正错误出现时进行系统重启或其他必要的恢复操作。
总结
PCIe架构在设计上已经大大改进了错误检测和处理机制引入了更先进的技术如高级错误报告Advanced Error Reporting, AER等因此并不直接使用类似于传统PCI中的PERR和SERR信号。虽然在概念上PCIe继续支持通过其高级特性来表达相似的错误检测和报告机制但它通过不同的方式实现这些功能例如通过特定的消息和状态寄存器来报告和管理错误。 总的来说虽然PERR和SERR这些信号源于早期的PCI技术在PCIe中它们的直接应用被更高级的机制所替代但理解它们对于理解计算机系统中的错误处理仍然是有帮助的。