PCIe扫盲——物理层电气部分基础(一)
之所以把物理层电气部分的文章放在链路初始化与训练文章的后面,是因为这一部分涉及到一些相关的概念,如Beacon Signal、LTSSM等等。前面已经多次提及,由于本次连载的文章主要是基于Gen2的,所以关于Gen3的相关内容只会提及,但是...
发表于 2018/4/23 19:59:42
阅读(15923)
PCIe扫盲——链路初始化与训练基础(三)之LTSSM
这一篇文章来简单地介绍一下链路训练状态机(Link Training and Status State Machine,LTSSM),并简要地介绍各个状态的作用和实现机制。
发表于 2018/4/21 16:14:51
阅读(32134)
PCIe扫盲——链路初始化与训练基础(二)
前面的文章中提到过,Ordered Sets分别有以下几种:TS1 and TS2 Ordered Set (TS1OS/TS2OS)、Electrical Idle Ordered Set (EIOS)、FTS Ordered Set (...
发表于 2018/4/21 15:37:06
阅读(19793)
PCIe扫盲——链路初始化与训练基础(一)
PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成,也就说基本没有数据链路层和事务层啥事。
发表于 2018/4/21 12:50:59
阅读(28241)
PCIe扫盲系列博文连载目录篇(第三阶段)
本文为PCIe扫盲系列博文连载目录篇(第三阶段),主要内容包括TLP Header详解、Flow Control(流量控制)基础、Quality of Service简介、数据链路层包(DLLP)、Ack/Nak 机制详解和物理层逻辑子层基础等。
发表于 2018/4/18 8:59:39
阅读(96238)
PCIe扫盲——Type0 & Type1 型配置请求
前面的文章中介绍过有两种类型的配置空间,Type0和Type1,分别对应非桥设备(Endpoint)和桥设备(Root和Switch端口中的P2P桥)。Type0还是Type1是由事务层包(TLP)包头中的Type Field所决定的,而读...
发表于 2018/4/3 20:14:29
阅读(29924)
PCIe扫盲——Base & Limit寄存器详解
PCIe扫盲——Base & Limit寄存器详解上一篇文章介绍了Type0型配置空间Header中的BAR的作用和用法,但是PCIe中的桥设备(Switch和Root中的P2P)又是如何判断某一请求(Request)是否属于自己或者自己的...
发表于 2018/4/3 20:10:42
阅读(23272)
PCIe扫盲——基地址寄存器(BAR)详解
基地址寄存器(BAR)在配置空间(Configuration Space)中的位置如下图所示:其中Type0 Header最多有6个BAR,而Type1 Header最多有两个BAR。这就意味着,对于Endpoint来说,最多可以拥有6个不...
发表于 2018/4/3 20:06:15
阅读(74473)
PCIe扫盲——Memory & IO 地址空间
早期的PC中,所有的IO设备(除了存储设备之外的设备)的内部存储或者寄存器都只能通过IO地址空间进行访问(Intel干的好事)。但是这种方式局限性很大,而且效率低,于是乎,软件开发者和硬件厂商都不能忍了……然后一种新的东西就出来了——MMI...
发表于 2018/4/3 19:57:29
阅读(28400)
PCIe扫盲——配置空间的读写机制
需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-pee...
发表于 2018/4/3 19:54:28
阅读(31655)
PCIe扫盲——一个Memory Read操作的例子
前面的一系列文章简要地介绍了PCIe总线的结构、事务层、数据链路层和物理层。下面我们用一个简单地的例子来回顾并总结一下。如下图所示,Requester的应用层(软件层)首先向其事务层发送如下信息:32位(或者64位)的Memory地址,事务...
发表于 2018/3/31 19:48:46
阅读(28656)
PCIe扫盲——BDF与配置空间
前面的文章中介绍过,每一个PCIe设备可以只有一个功能(Function),即Fun0。也可以拥有最多8个功能,即多功能设备(Multi-Fun)。不管这个PCIe设备拥有多少个功能,其每一个功能都有一个唯一独立的配置空间(Configur...
发表于 2018/3/31 19:46:54
阅读(47780)
PCIe扫盲——PCIe总线物理层入门
PCIe扫盲——PCIe总线物理层入门前面的文章简单的介绍了一些关于PCIe总线事务层(Transaction Layer)和数据链路层(Data Link Layer)的一些基本概念。这篇文章来继续聊一聊PCIe总线的最底层——物理层(P...
发表于 2018/3/31 19:29:19
阅读(29293)
PCIe扫盲系列博文连载目录篇(第一阶段)
本文为PCIe扫盲系列博文连载目录篇(第一阶段),所谓第一阶段就是说后面还有第二阶段和第三阶段……第一阶段主要是介绍PCIe总线的发展历史与展望,PCI总线和PCI-X总线的简要回顾,PCIe总线的体系结构入门,PCIe总线的事务层、数据链路层,物理层入门;最后以一个简单的例子进行总结与回顾。
发表于 2018/3/30 9:57:47
阅读(201672)
PCIe扫盲——PCIe总线数据链路层入门
前面的文章介绍过,数据链路层(Data Link Layer)主要进行链路管理(Link Management)、TLP错误检测,Flow Control和Link功耗管理。数据链路层不仅可以转发来自事务层的包(TLP),还可以直接向另一个...
发表于 2018/3/29 19:53:22
阅读(22523)