老男孩读PCIe之六:配置和地址空间

每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe的配置空间。不同于每个设备的其它空间,PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下:[……]

阅读全文

老男孩读PCIe之一:从PCIe速度说起

从今天开始,老男孩要开始讲PCIe了。对我来说,这是个很大的挑战:首先,我自己本身,对PCIe并没有做到胸有成竹,我的PCIe知识也只是停留在理论阶段,我并没有实际做过任何有关PCIe的东西;其次,我要把PCIe讲得深入浅出,让读者轻易接受,我觉得很难,根本原因就是我还没有做到胸有PCIe;最后,我[……]

阅读全文

老男孩读PCIe之五:TLP结构

无论Request TLP,还是作为回应的Completion TLP,它们模样都差不多:

 

 

TLP主要由三部分组成:Header,Data和CRC。TLP都是生于发送端的事务层(Transaction Layer),终于接收端的事务层。

 

每个TLP都有一个Header,跟动物一[……]

阅读全文

老男孩读PCIe之二:PCIe拓扑结构

计算机网络的拓扑结构是引用拓扑学中研究与大小、形状无关的点、线关系的方法,把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。”

 

计算机网络的最主要的拓扑结构有总线型拓扑拓扑、拓扑、拓扑、混合型拓扑以及网状拓扑。

 

P[……]

阅读全文

老男孩读PCIe之三:PCIe分层结构

绝大多数的总线或者接口,都是采用分层实现的。PCIe也不例外,它的层次结构如下:

PCIe定义了下三层(彩色部分):事务层(Transaction Layer),数据链路层(Data Link Layer)和物理层(Physical Layer),每层职能是不同的,且下层是为上层服务的。分层设计的[……]

阅读全文