Transaction(事务)这个词在wiki(https://en.wikipedia.org/wiki/Transaction_processing)里是这样描述的:

Transaction processing is information processing in computer science that is divided into individual, indivisible operations called transactions. Each transaction must succeed or fail as a complete unit; it can never be only partially complete.

有几个关键词:individual、indivisible、complete。换个好理解的说法,事务就是一件最小的事,成功或是失败无所谓,但必须完成。

       PCIe的数据/信息的传递都是一个事务。好比一辆汽车运送一批货物到一个地方去。这就是一个事务。PCIe总线好比汽车要走的路,货物就是数据,两个PCIe设备分别是起点和终点。

      还有两个概念:事务是需要发起和完成的。事务的发起者称为Requester,响应这个事务的称为Completer

根据事务访问的地址空间(也就是前面我们讲的几种资源)不同,可以分成如下四类:Configuration, IO, Memory, and Message,分别用于访问系统内的不同的资源。

       这四种类型的事务还可以根据是否需要完成报文分成三组:Posted、Non-Posted和Completion。

  • Posted的事务是指不需要完成报文的,比如存储器写事务,即写某个存储空间。
  • Non-Posted的事务是需要完成的报文返回的,比如读存储空间的事务,是需要读到的具体的值组成的完成报文返回的。
  • Completion则是具体返回的报文的事务。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注