PCIE扫盲转发-理解

PCIe扫盲系列博文连载目录篇

通过学习PCIE扫描系列文章,结合PCIE3规范深入理解PCIE

  • 硬件时序
    • ​​时序解读
  • PCIE 错误检测
    • 重要概念:
    • 错误等级
    • 检测机制
      • 错误优先级
    • 错误源
      • ECRC错误
      • 事务错误
      • 链路流量控制错误(Link Flow Control Errors)
      • 异常的TLP
  • PCIE错误报告
    • PCIE错误报告流程图
    • 三种错误报告方式
    • 错误消息机制
    • 错误信息列表
    • 链路错误处理机制
  • PCIE的AER

硬件时序

pci独立于处理器,树形结构,可以和CPU总线并行操作,一般是33MHz(pci)-133Mhz
pci总线上同一时刻只能有一个主,但是从设备也不是绝对从,可以通过peer-to-peer
pci总线是共享总线,需要仲裁器(arbiter)来决定总线控制权
pci总线地址和数据复用AD,所有信号都与时钟同步,所有信号都发生在时钟上升沿,或者在上升沿采样
关键信号:
Alt

From ChatGPT:
在PCIe(Peripheral Component Interconnect Express)接口中,存在许多不同的信号,用于在设备之间进行通信和控制。以下是一些常见的PCIe信号及其解释:
TX(Transmit):发送数据的信号线。用于将数据从发送器传输到接收器。
RX(Receive):接收数据的信号线。用于接收从发送器发送的数据。
CLK(Clock):时钟信号线。用于同步和定时数据传输。
RESET(Reset):复位信号线。用于将设备复位到初始状态。
REQ(Request):请求信号线。用于请求对方设备执行某个操作或提供服务。
ACK(Acknowledge):应答信号线。用于确认收到请求并表示同意执行操作。
INT(Interrupt):中断信号线。用于设备之间的中断通知。
PME(Power Management Event):电源管理事件信号线。用于设备之间的电源管理事件通知。
PWRGOOD(Power Good):电源正常信号线。用于指示设备的电源供应是否正常。
ERR(Error):错误信号线。用于指示设备发生错误或异常情况。
FRAME(帧):表示传输数据的帧开始和结束的信号。它指示数据传输的开始和结束,用于同步数据的传输。
AD(地址/数据):通常被称为地址/数据信号,用于指示数据传输的类型。在传输阶段,AD信号可以表示地址或数据。
C/BE(Command/Byte Enable):用于传输命令和字节使能的信号。C信号用于传输控制信息,而BE信号用于指示有效数据的字节。
IRDY(Initiator Ready):表示发起方是否准备好发送数据。当IRDY为高电平时,发起方可以发送数据。
DEVSEL(Device Select):由目标设备产生的信号,用于指示是否已选择目标设备。当DEVSEL为低电平时,表示目标设备已经选择。
TRDY(Target Ready):表示目标设备是否准备好接收数据。当TRDY为高电平时,目标设备可以接收数据。
GNT(Grant):由总线主控制器发出的信号,用于授予从设备对总线的使用权。当GNT为低电平时,表示总线主控制器授予从设备使用总线的权限。

​​时序解读

  1. 在第一个时钟上升沿,FRAME#(一次数据传输的起始)和IRDY#(Initiator Ready for data)都为inactive,但是此时某个设备的GNT#(Grant)为active,说明总线仲裁器已经选定当下设备为下一个initiator
  2. 在第二个时钟上升沿,FRAME#被initiator(主机)拉低,说明一个新的事务(Transaction)开始。同时地址和命令都被发到AD上,总线上所有设备(从机)都会锁存这些信息,并检查地址和命令是否和自己匹配。
  3. 第三个时钟上升沿,IRDY#处于active状态,表明主机准备就绪,可以接收数据。AD信号处于三态,需要发生翻转机turn-around cycle,此时TRDY#必须处于inactive,以保证turn-around完成
  4. 第四个时钟上升沿,总线上某个从机确认身份,并依次将DEVSEL#和TRDY#拉低,将响应数据放到AD上,此时FRAME#为active,说明这不是最后一个数据
  5. 第五个时钟上升沿,TRDY# inactive,说明从机尚未就绪,因此所有的操作暂停一个时钟周期(插入一个wait state,最多允许8个)
  6. 第六个时钟上升沿,从机向主机发送第二个数据,此时,FRAME#信号依旧为active,不是最后一个数据
  7. 第七个时钟上升沿,IRDY# inactive,表明主机位就绪,再次出入一个wait state,但是此时从机仍可以向AD上放数据
  8. 第八个时钟上升沿,AD上的第三个数据发送至主机,此时FRAME#被拉高,inactive,说明本次事物(transaction)的最后一个数据,然后,所有控制信号都被拉高,FRAME#、AD、C/BE#处于三态

PCIE 错误检测

重要概念:

错误检测(Error detection):检测某个错误是否存在
错误登记(Error Logging):将相关寄存器(配置空间中的)的对应位置位,等待软件中的相关错误处理程序来处理
错误报告(Error Reporting):通知系统错误发生,pcie中发生错误的设备会通过错误消息逐级将错误发送至root,root接收到错误消息后会产生对应的中断通知os
错误发送(Error Signaling):通过发送错误消息来传递错误信息

错误等级

分为两级,一是基本(Baseline capability),对应pci-compatible registers,一个是可选(advanced error reporting capability),对应pci express capability registers
错误类型分为:correctable errors (可被硬件识别并自动校正和恢复)和uncorrectable error(分为non-fatal和fatal),non-fatal由设备驱动软件处理,且链路可恢复数据一般不会丢失,fatal只能由os处理,且一般需要复位,数据会丢失

检测机制

包传递过程主要通过CRC来检测,pcie定义了两种CRC:LCRC(链路层)和ECRC(事务层),其中ECRC是AER的一部分。
各层的错误类型(错误源):
物理层:8b/10b编解码异常;framing异常;elastic buffer错误;起始字符失锁(Loss of symbol lock)或者通道对齐失锁(lane deskew)
数据链路层:LCRC校验失败;序列号(SN)异常;DLLP中的16-bitCRC校验失败;Link layer protocol errors
事务层:ECRC校验失败;异常的TLP;Flow control protocol violation;不支持的请求;Data corruption(Poisoned Packet);completer abort;receiver overflow;completion timeout;unexpected completion(completion与发出的request不一致)

错误优先级

uncorrectable internal error
接收端buffer溢出(receiver overflow)
流量控制协议错误(Flow control protocol violation)
ECRC校验失败
异常的TLP
atomicop egress blocked
TLP包头异常
访问控制服务(Access control services,ACS)异常
MC(Multi-cast)Blocked TLP
不支持的请求(UR,CA)或者不对应的返回包
接收到损坏的数据包

错误源

ECRC错误

需要先查询设备的配置空间来确认某个function是否支持ECRC,如果支持,通过配置ECCR(error capability and control register)来使能ECRC。如果使能了ecrc可以通过TLP包头中的TD位来判断是否使用ECRC。接收端会根据TLP的包头和数据重新计算CRC然后和收到的ECRC(发送端计算的)进行比较,不一致则认为数据在传输过程中损坏。发生错误后的处理粗略分为两部分,一个是接收端,另一个是发送端:接收端发生ECRC后会丢弃TLP,不对该请求发送TLP,并将ECRC置位,发送端长时间未接收到返回的TLP会超时,一般会重发request;发送端发送完请求后收到返回的completion TLP,如果此时发生ECRC,会置ecrc位,发送端可以选择重发,亦可以选择通过中断上送os。
错误传递 Data Poisoning(Poisoned Data or error forwarding):指已知TLP Data Payload被破坏的情况下,该TLP仍被发送至其他PCIE设备,此时TLP包头的EP会被置位,只针对带Data psyload的TLP和包头无关,比如memory,Configuration,I/O写。传送错误的包有几个原因:

  1. 便于发送端和系统分析错误,至少发送端知道接收端已经接收到了数据
  2. 便于发现switch中的错误
  3. 有些应用允许接受存在错误的数据,比如音视频数据
  4. 应用层可能会恢复数据,比如单bit的ECC

事务错误

包括:UR,CA,UC(Unexpected completion)和CT(completion timeout)。主要通过返回的completion TLP包头中的Compl.Status告知requester
Alt
UR
5. 请求类型不被当前PCIE设备支持
6. 消息中使用了不支持或者未定义的消息编码
7. 请求的地址空间超出或不在设备的地址空间内
8. 针对completer的IO或者存储映射控制空间(Memory-mapped control space)进行的Poisoned写操作(EP=1)
9. root或者switch的downstream端口接收到针对其二级总线(secondary bus)上的不存在的设备的配置请求
10. endpoint接收到type1型的配置请求
11. completion总使用了保留的completion状态编号
12. 设备(或某个function)处于D1、D2或D3hot电源管理状态时,却接收到了除了配置请求和消息之外的内容
CA
13. completer接收的特殊请求,只有在违背其规则的情况下才能对该请求进行响应
14. 因为某些恒定的错误状态,导致completer无法响应接收到的请求
15. completer接收到存在访问控制服务错误(ACS error)的请求
16. pcie-to-pci桥接收到针对其连接的pci设备的请求,但是该pci设备无法处理该请求
UC
requester接收到的completion和其发出的request不一致
CT

From ChatGPT
PCIe(Peripheral Component Interconnect Express)的Completion Timeout Mechanism(完成超时机制)是用于检测和处理传输操作在设备之间超时的一种机制。
在PCIe传输过程中,当一个设备向另一个设备发送一个请求或命令时,接收设备需要在一定时间内完成相应的操作并发送完成响应(Completion)回来。如果接收设备无法在规定的时间内完成操作并发送完成响应,就会发生超时。
Completion Timeout Mechanism的工作原理如下:
Timeout计时器:
每个PCIe设备都有一个内部的计时器,用于跟踪传输操作的时间。
当设备接收到请求或命令时,计时器开始计时。
Completion Timeout值:
PCIe规范定义了一个Completion Timeout值,它规定了设备完成操作的时间限制。
该值通常是根据系统的需求和性能要求进行配置的。
超时检测和处理:
如果设备无法在规定的时间内完成操作并发送完成响应,就会触发超时检测。
当超时检测到时,设备会生成一个超时错误信号或中断,并通知系统主机。
错误处理:
当系统主机接收到超时错误信号或中断时,它可以采取相应的措施来处理错误。
错误处理的具体方式取决于系统的设计和应用需求,可以是重新尝试传输、重置设备等。
Completion Timeout Mechanism的目的是确保PCIe传输操作在合理的时间内完成,以避免系统出现潜在的问题。它可以帮助系统主机识别和处理超时情况,并采取相应的纠正措施。这样可以提高系统的可靠性和性能,并确保设备之间的正常通信。

在这里插入图片描述

链路流量控制错误(Link Flow Control Errors)

  1. FC初始化时,链路相邻设备无法完成针对任何一个VC的最小FC credits的交换更新
  2. 链路相邻设备交换更新的FC credits超过了最大值(data payload最大2047,header最大127)
  3. 链路相邻设备交换更新时,FC credits为非零值,且该链路的FC credits之前已经被初始化为无限值
  4. 接收端buffer溢出,导致数据丢失

异常的TLP

  1. Data paload超过了最大值
  2. 数据长度与包头中的长度值不一致
  3. 存储地址起始位置跨越了4KB边界
  4. TD(TLP Digest)的值与ECRC使用不一致
  5. 字节使能冲突(byte enable violation)
  6. 未定义的类型值
  7. completion违反了RCB(Read Cmpletion Boundary)值
  8. 针对非配置请求返回的completion中的状态为配置请求重试状态
  9. TC域包含了一个未被分配到当前使能的VC的值(TC filtering)
  10. IO或者陪孩子请求冲突
  11. 中断emulation消息向下发送
  12. TLP前缀错误

PCIE错误报告

PCIE错误报告流程图

PCIE总线错误报告流程

三种错误报告方式

1,Completions:通过completion tlp中的状态位向requestor返回错误信息
2,Poisoned Packet:告知接收端当前TLP的Data Payload已经被破坏
3,Errors Message:向主机报告错误消息

错误消息机制

消息请求头信息如下:
在这里插入图片描述
message code如下表,此时type的[2:0]为000b:
在这里插入图片描述

错误信息列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上述错误类型可以通过Device Control Register中的相应位来使能和禁止,也可以通过Device Status Register查询响应状态:

在这里插入图片描述
在这里插入图片描述

链路错误处理机制

一般发生在物理层与数据链路层通信的过程中。对于downstream设备,如果链路上发生了fatal错误,此时设备不能像root报告。需要upstream设备向root报告错误,为了消除错误,一般需要对链路进行重新训练(retrain),即操作Link Control register相应位写1,同时可以查看Link status register的对应位来确认是否训练成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

From ChatGPT:
PCIe链路错误处理机制主要涉及错误检测、错误报告和错误恢复。下面是PCIe链路错误处理机制的一般流程:
错误检测:PCIe链路上的错误可以通过各种机制进行检测,包括物理层错误检测、数据链路层错误检测和传输层错误检测。这些错误可以包括数据传输错误、CRC错误、重传超时等。
错误报告:当检测到链路错误时,错误信息需要被报告给相关的组件或系统。PCIe使用Advanced Error Reporting (AER)机制来报告错误。错误报告可以通过特定的寄存器或消息传递机制来完成,以便通知系统和相关设备。
错误处理:根据错误的性质和严重程度,采取不同的错误处理措施。处理错误的方法可能包括重新传输数据、重新配置设备、发起复位操作等。错误处理的具体步骤和措施取决于错误类型和系统的要求。
错误记录和分析:在错误发生后,系统通常会记录错误信息以便后续分析和故障排除。记录的信息可以包括错误类型、时间戳、错误位置等,以帮助确定错误的原因和解决方案。
需要注意的是,具体的PCIe链路错误处理机制可能会因实现和配置而有所不同。PCIe规范提供了基本的错误处理框架和要求,但具体的实现可能会有所差异。因此,在开发和设计PCIe系统时,需要仔细阅读相关的规范和文档,并根据系统需求和设计目标进行适当的错误处理策略。
在PCIe中,Retrain(重新训练)是一种机制,用于在链路出现错误或不稳定情况时重新建立和稳定链路连接。下面是一些可能需要进行Retrain的情况:
链路错误:当PCIe链路上发生严重的错误或不可恢复的错误时,可能需要进行Retrain。这些错误包括CRC错误、数据传输错误、重传超时等。Retrain可以帮助重新建立正确的链路连接并纠正错误。
环境变化:如果PCIe链路所处的环境发生变化,例如电源供应不稳定、电磁干扰、温度变化等,可能会导致链路的不稳定性。在这种情况下,进行Retrain可以重新建立稳定的链路连接。
重新配置:当PCIe设备或系统进行重新配置时,可能需要进行Retrain。例如,添加或删除PCIe设备、更改PCIe设备的参数或配置等。Retrain可以确保新配置的设备能够正确地与其他设备建立连接。
错误恢复:在某些错误恢复场景中,进行Retrain可以帮助恢复正常的链路通信。例如,在发生重传超时或链路错误后,通过Retrain重新建立链路连接可以恢复正常的数据传输。
需要注意的是,Retrain是一种消耗资源和时间的操作,可能会导致链路中断或延迟。因此,在决定是否进行Retrain时,需要综合考虑系统的要求、错误的严重程度以及Retrain的影响。具体的Retrain触发和操作方式可能因PCIe设备和实现而有所不同,需要参考相关设备和系统的文档和规范。

PCIE的AER

From ChatGPT:
PCIe的AER(Advanced Error Reporting)机制是一种用于检测、报告和处理PCIe设备中发生的错误的高级错误报告机制。它提供了一种标准化的方法来报告和管理PCIe链路和设备的错误,以提高系统的可靠性和可维护性。下面是AER机制的主要特点和功能:
错误检测:AER机制通过监测PCIe链路和设备上的错误条件来进行错误检测。它可以检测到包括数据传输错误、CRC错误、重传超时、链路层错误等各种类型的错误。
错误报告:一旦检测到错误,AER机制会生成错误报告,其中包含了错误的详细信息,如错误类型、错误位置、错误状态等。错误报告通常以特定的格式被写入AER寄存器,供系统软件读取和处理。
错误通知:AER机制可以通过中断或其他机制向系统软件通知错误的发生。这使得系统能够及时获知错误并采取相应的处理措施。
错误处理:AER机制允许系统软件对错误进行处理和响应。根据错误的性质和严重程度,处理措施可以包括重传数据、重新配置设备、发起复位操作等。
层次结构支持:AER机制可以在PCIe设备和系统的层次结构中进行错误报告和处理。错误可以从下层设备向上报告,直到达到RC。
可选性:AER机制是可选的,根据具体的实现和需求可以选择是否支持。如果支持AER,相关的设备和软件需要满足AER规范的要求。
总体而言,AER机制为PCIe系统提供了一种统一和可扩展的错误管理机制,可以及时检测、报告和处理PCIe设备中发生的错误,提高系统的可靠性和可维护性。

AER在已有错误报告基础上,还只支持如下特性:

  • 在登记实际发生错误类型时,粒度、区分度或者叫精确度更好
  • 可以区分各种不可校正错误的严重程度
  • 支持登记包头中的错误
  • 为root通过中断报告接收到的错误消息提供了标准化的控制机制
  • 可以定位错误源在PCIE体系结构中的位置
  • 能够独立地屏蔽某种或多种错误类型的报告
    在这里插入图片描述
    AER capability 结构体如上图所示,AER Capa的ID是0001h。
    在这里插入图片描述
    这里first error pointer为当前错误指针,当相关错误状态更新时,该指针由硬件自动更新。一般情况下,当前错误指针指向的错误优先级最高,需要最先被处理,往往也是其他错误的根源。
    1,Correctable Error
    在这里插入图片描述
    在这里插入图片描述
    相关错误发生时,硬件会将响应bit置1,软件可以写1清除。可以通过写mask相应位为1来屏蔽错误消息上报。
    2,Uncorrectable Error
    在这里插入图片描述
    在这里插入图片描述
    无论这些错误是否会被上报root,相关bit都会被置1。通过修改severity来修改对应错误是否作为fatal(致命)错误处理:0,non-fatal;1,fatal。
    3,TLP包头缓存寄存器
    在这里插入图片描述
    这个4DW的寄存器,用于缓存接收到的,发生uncorrectable error的TLP的包头。包头包含了TLP的类型,地址,传输大小,标记等字段,以及错误的原因和描述。主要作用是方便系统获取错误的详细信息,并进行错误诊断和处理,由于这些错误发生位置、类型和特征等关键信息的提供,对于调试和故障排除非常有用。
    4,Root error command/status register
    在这里插入图片描述
    当root接收到错误报告后,会将响应的状态位置位,并通知os处理。root本身出现故障时也会置对应位。
    在这里插入图片描述
    通过修改上面寄存器相应位使能或者禁止相关错误类型上报os。

5,Error Source Identification Register
在这里插入图片描述
记录错误源的设备id信息(BDF),根据此信息,确定错误源的位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35597.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yolov5部署训练及代码解读

5.Yolov5实操训练(重点) 一、前言 1.集成的资源,包括我自己做成的成品,可以直接train与detect。需要加qq群:938162384 2.本文目的主要是能够让读者复现,直接使用,而且少讲原理。如果想深入了…

深入解读命令执行:基本概念、攻击技术和防范应对

数据来源 部分数据来源:ChatGPT 命令执行简介 01 命令执行漏洞产生原因 命令执行漏洞的产生原因主要是输入验证不严格、代码逻辑错误、应用程序或系统中缺少安全机制等。攻击者可以通过构造特定的输入向应用程序或系统注入恶意代码,从而在受攻击的主…

技术,并不值钱——阿里员工失业记

上一篇:Java危矣! 看到网友分享自己被阿里裁员的经历,挺有感触的,转发给大家—— 01谈话 我的顶头上司已经走了,我坐着,看着对面空空的椅子,有点没缓过神来 离职 只剩下这两个字在我脑袋里不断徘…

20230411笔记-MTK天玑开发者日(北京站)

1. 天玑开发者日“追光 行动”主题 来源:近期搜索Unity比较多,csdn给我发了短信邀请,参加 天玑开发者日-北京站 活动。 消息:百家号 MediaTeK 联发科官宣天玑开发者日,4 月 11 日起召开 2.活动议程 天玑开发者日-追光…

“智能”创造未来:PDU智能化全面提升IDC数据中心用电能效!

一个月前,万众期盼的《流浪地球2》如期上映,无论是剧情还是特效,让广大观众享受到一次久违的来自中国科幻的震撼,时至今日仍是大家茶余饭后津津乐道的热点谈资。说起这部片子里,最让人紧张的部分,还得数为了…

【Zigbee】解密Zigbee地址分配——你需要知道的一切

💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客:Zeeland📚 Github主页: Undertone0809 (Zeeland) (github.com)&…

涵子来信——AI的无限未来——谈谈想法

大家好: 这一次,我想要跟大家讲一讲我对AI的看法和未来的展望,谈谈我的想法。 AI(Artificial Intelligence,中文人工智能),是我们生活中处处都可以见到的,小到一个语音助手&#x…

ChatGPT带火的提示工程师,构造自己的提示语

ChatGPT是一个大语言模型,学过全球几乎公开的大部分有效知识库,它什么都懂。 ChatGPT的风靡,爆火了一个年薪百万的提示工程师这个新就业岗位。 提示工程师,也就是AI训练师,即通过与AI交互写出相关提示,以帮…

收到**公司的律师函,我慌了

关注星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 在我的技术交流群,经常看到有朋友说:“收到了**软件公司的律师函”。其中AD的最多,其次,这两年Keil的律师函也出现了。 有的人收到律师函…

整理部分因软件版权发律师函的公司

软件名称 英文软件名称 厂商 厂商网站 国内代理商 代理商网站 维权历史状况 WinRAR WinRAR win.rar GmbH. http://www.rarlab.com/ 上海软众信息 http://www.winrar.com.cn/ 硕思闪客精灵 无 思杰马克丁 http://www.shankejingling.com/ 给下载站个人站…

手把手教你突破 GPT-4.0 3小时25次的限速!

很多人很郁闷 ,ChatGPT Plus账号在浏览器上使用GPT4.0模型的时候,会受到官方的限制,每3小时只能对话25次,是真的不够用。 但是在手机上使用GPT4.0模型则不会有限制,既然这样,那我们是否也可以在浏览器上无限…

我的同事胃癌去世了,从检查到死亡不到半年……

作者:iamlaosong 听到远方同事朱震环去世的消息,我是无比震惊的,虽然不在一个城市,因为专业的关系还是经常联系的。她年轻美丽的容颜和率真的性格,让同事们如沐春风。可叹的是她音容仿佛犹在,人却离我们而…

预测脑中风

中风是危害人们健康的重大疾病之一,根据医学杂志《柳叶刀》发表的一篇文章中的数据,中风在我国居民死亡原因中高居第一位,而且我国居民的中风的比例也是世界上最高的之一。因此,了解居民的身体状况与出现中风的联系,进…

makepie暂停服务

贴吧大佬: 由于MakeAPie 将于 2 月 15 号开始暂停服务,有大佬爬去了网站上公开的数据,方便大家下载,也算是一种备份吧。 如果有需要会考虑做成excel。 再次感谢makeapie各位大佬无私分享。 链接: https://pan.baidu.com/s/1B9MR…

MakeApie 将于 2月15号开始暂停服务

Make A Pie 是由社区贡献者维护的用于 Apache ECharts 作品分享的第三方非官方社区。 一直以来MakeApie 给我们带来了太多的工作中的灵感,echarts复制粘贴党必备,导致没有好好学echarts。今日登录看到这个消息,感到难过和些许思考。 Make A …

微信官方:微信圈子将停止运营

本文转载自IT之家 IT之家 5 月 28 日消息 2019 年 12 月,微信官方宣布,微信搜索正式升级为“微信搜一搜”。与此同时,微信搜一搜出现了“圈子”。今天微信官方宣布,微信圈子将于 2021 年 12 月 28 日正式停运。 微信称&#xff0…

靠知识搞副业,知识内容创作者的春天来了

现在,周围越来越多年轻人热衷于买基金、炒股票、抢茅台、炒比特币……而对上班摸鱼则有一种普遍的认同,对自愿996的“奋斗X”更是同仇敌忾。这背后有一个社会现实——这一代年轻人普遍认为:打工累、打工卷、打工难赚钱,心里都盘算…

[实体关系抽取|顶刊论文]QIDN:Query-based Instance Discrimination Network for Relational Tri

Query-based Instance Discrimination Network for Relational Triple Extraction Zhejiang University, Tsinghua University|EMNLP 2022|2022.11.3|原文连接 想法简述 过去的方法都可以用上图来表述: H c o n t e x t H_{con…

ChatGPT 目前到底能帮助我们程序员做什么?

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

程序员写博客如何赚钱「5大盈利方向」

很高兴又和大家见面了,今天我们来聊一聊程序员写博客如何赚钱「5大盈利方向」,还有程序员等等等各种相关干货内容,其实这篇文章主要还是为新手朋友整理的,总的来说思路还是很重要! 互联网时代发展太快,很多…