首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PCIe“拍了拍”PCI- PCI和PCIe发展历史

现在最常见的扩展槽是PCIe插槽,实际上在你看不见的计算机主板芯片内部,各种硬件控制模块大部分也是以PCIe设备的形式挂载到了一颗或者几颗PCI/PCIe设备树上。...固件和操作系统正是通过枚举设备树们才能发现绝大多数即插即用(PNP)设备的。那究竟什么是PCI呢?...PCI总线标准第一次提出就提供了133MB/s的带宽(33MHz时钟,每时钟传送32bit)。 2004年,Intel觉得PCI总线还是不够,于是又搞起了小团体革了PCI的命。...PCI express(PCIe,注意官方写法是这样,而不是PCIE或者PCI-E)诞生了,以上就是简单的PCIe诞生过程,看似简单,其实是一代代“革命者”不断追求完美才形成今天的PCIe。...在同一条PCI总线上的设备间可以直接通信,并不会影响其他PCI总线上设备间的数据通信。隶属于同一颗PCI总线树上的PCI设备,也可以直接通信,但是需要通过PCI桥进行数据转发。

1.3K40

Linux PCI和PCIe总线

1 PCIe中断 – PCI/PCIe设备中断都是level触发,并且请求信号为低电平有效 – PCI总线一般只有INTA#到INTD#的4个中断引脚,所以PCI多功能设备的func一般不会超过4个...PCIe PASID capability ID is equal to 0x1B (PCI_EXT_CAP_ID_PASID). 1)在虚拟化场景下,直通设备的中断是无法直接投递到Guest中的,而是由...3 Linux x86 PCIe调试 3.1 PCIe设备分类 – RC,BDF为00:00.0 – bridge就像hub,一般是个多功能的设备,传递数据需要仲裁,比较慢 – switch就像交换机...但对于大型系统而言,这是不够的,所以,引入了域的概念,每个PCI域可以拥有最多256个总线,每个总线上可支持32个设备,所以设备号是5位,而每个设备上最多可有8种功能,所以功能号是3位 – I210一般连接在...需要注意的是Linux x86_64是不采用PCI BIOS访问PCI配置空间的,而是内核实现了直接访问PCI配置空间的函数(CONFIG_PCI_DIRECT)。

6.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PCI与PCIe学习一——硬件篇

    PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。...现在最常见的扩展槽是PCIe插槽,实际上在你看不见的计算机主板芯片内部,各种硬件控制模块大部分也是以PCIe设备的形式挂载到了一颗或者几颗PCI/PCIe设备树上。...PCI总线标准初试啼声就提供了133MB/s的带宽(33MHz时钟,每时钟传送32bit)。这对当时一般的台式机已经是超高速了,但对于服务器或者视频来说还是不够。...PCI 设备同时也分为主设备和目标设备两种,主设备是一次访问操作的发起者,而目标设备则是被访问者。 2. PCI 总线。...PCIe还在很多方面和PCI有很大不同: 1. PCI是总线结构,而PCIe是点对点结构。

    3.3K20

    PCI和PCIE插槽有什么区别?

    PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。...PCI是由Intel公司1991年推出的一种局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。...管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡,声卡,网卡,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。...目前广泛采用的是32-bit、33MHz 的PCI 总线,64bit的PCI插槽更多是应用于服务器产品。...由于PCI 总线只有133MB/s 的带宽,对声卡、网卡、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的显卡则无法满足其需求。

    1.9K10

    PCI设备驱动程序「建议收藏」

    Linux下的PCI总线,在系统上电的时候会逐一的扫描系统中存在的设备(包括设备和桥),总线号中断号都是这个时候分配给设备的,如果你是初学者,这个过程如果不是很明白,你大可以先略过,去找一个带有PCI总线的开发板...PCI总线匹配的是id_table;但匹配方式不只一种,最常见的就是厂商号和设备号。...下面是我写的一个PCI总线的驱动程序,注意是PCI设备识别时的驱动程序,这里并没有实现具体的功能驱动。...PCI设备的驱动分成两个部分,一部分是总线的,就是PCI设备识别、调用驱动程序probe函数的部分,另一部分就是具体的功能驱动,比如网卡。...后续可以继续做设备驱动的内容了。 二、PCI中的中断 下面来讲一下PCI中断: 首先看一下pci 设备的pin list 扯点题外话,里面大部分信号是低电平有效。

    2.3K21

    1.1 PCI&PCIE 配置寄存器访问

    大家好,又见面了,我是你们的朋友全栈君。 1、PCIE 寄存器的总体结构: PCI的配置寄存器空间为256个字节大小。PCIE扩展了配置寄存器空间,大小为4096的字节。...每部分的作用大概如下: a、0-3F :这部分的配置空间是标准的PCI配置空间头,是每个PCI/PCIE设备都必须遵循的。...目前一共有3种标准头格式,00是PCI DEVICE头,01是PCI-PCI bridge头,02是Cardbus bridge头。头类型由Header Type寄存器定义。...b、40-FF :这部分定义PCI扩展功能寄存器。0-3F定义的寄存器是每个PCI设备都必须实现的,而PCI的一些扩展功能,不是每个设备都必须实现的,可以根据自己的需要来实现其中一部分特性。...如下图所示: 需要特别注意注意的是,PCI配置寄存器是不能随意增加的。

    2.2K10

    MINI PCI-E接口_pcie接口原理图

    大家好,又见面了,我是你们的朋友全栈君。 1、PCIe3.0 X4Slot 下图只用了2Lanes,pcie接口分x1、x4、x8、x16接口,向下兼容。...含一对差分CLK时钟信号 原理图参考:《RK_EVB1_RK3568》含原理图和PCB 上图:pcie x4引脚定义 2、mini pcie mini pcie 和msata的相同点:接口定义是一样的...不同点是: mini pcie 有1对Tx和1对Rx,和差分CLK时钟信号。 msata 只有有1对Tx和1对Rx。...参考原理图:《RK_NVR_DEMO》含原理图和PCB 上图:msata盘 上图:mini pcie引脚定义 3、Msata 参考原理图:《Hi3521DDMEB_VER_B_Msata》含原理图...原理图和PCB的源文件可以在Hi3521DDMEB_VER_B_SATA的基础上修改,见第4点SATA介绍,改文件是官方文件。 下图是msata接口,常用于系统盘。

    6.6K30

    PCI Express 系列连载篇(二十三)PCIe总线的事务层

    最近有很多大侠在交流群里讨论PCI总线,PCI作为高速接口之一,在当下的FPGA产品设计研发中,地位举足轻重,应用广泛,今天给大侠带来PCI Express 系列连载,今天带来第二十三篇,PCIe总线的事务层...而Max_Payload_Size参数存放PCIe设备实际使用的,TLP有效负载的最大值。该参数由PCIe链路两端的设备协商决定,是PCIe设备进行数据传送时,实际使用的参数。...值得注意的是,这些读完成报文需要满足RCB参数的要求,有关RCB参数的详细说明见下文。...上表提供的方式仅供参考,目标设备还可以使用其他拆分方法发送存储器读完成TLP。PCIe总线使用多个完成报文实现一次数据读请求的主要原因是考虑Cache行长度和流量控制。...[2] 有些PCIe设备可能没有Link Control寄存器。 ? PCI Express 系列连载篇(二十三)就到这里结束,明天继续带来第二十四篇,包括MSI和MSI-X中断机制相关内容。

    2.6K20

    PCI Express 系列连载篇(十六)

    有些实时数据采集卡,音频或者视频的多媒体应用需要PCI总线提供额定带宽,而PCI总线上的设备只能轮流使用PCI总线,当一个设备长期占用PCI总线时,将阻止其他PCI设备使用PCI总线,从而影响了PCI总线的传送质量...绝大多数PCI/PCI-X总线使用的总线事务都被PCIe总线保留,而PCI设备使用的配置空间也被PCIe总线继承。...但是从体系系统的角度上看,PCIe总线还是增加了一些新的特性,其中一些特性不仅仅是称呼上的变化,而且在功能上也得到了增强。如在PCIe体系结构中出现的RC(Root Complex)。...在不同处理器系统中,RC的实现方式不同,因此仅仅用PCIe总线控制器称呼RC是不够的,实际上PCIe总线规范对RC并没有一个合适的解释。RC本身也是随处理器系统的不同而不同,是一个很模糊的概念。...虽然从系统软件的角度上看,PCI总线与PCIe总线基本一致。但是从硬件设计的角度上看PCIe总线完全不同于PCI总线,基于PCIe总线各类设备的硬件设计难度远大于基于PCI总线的对应设备的设计难度。

    83320

    【linux命令讲解大全】206.PCI设备的配置与查询工具:setpci

    setpci 查询和配置PCI设备的使用工具 补充说明 setpci命令是一个查询和配置PCI设备的使用工具。...-s:仅显示指定总线、插槽上的设备或设备上的功能块信息 参数 PCI设备:指定要配置的PCI设备 操作:指定要完成的配置操作 实例 Linux下调节笔记本屏幕亮度方法: 首先进入终端输入lspci命令...发现00:02.0是VGA设备,于是我们修改它的属性: sudo setpci -s 00:02.0 F4.B=FF 解释一下: setpci是修改设备属性的命令。...-s表示接下来输入的是设备的地址。 00:02.0是VGA设备地址(:.)。 F4是要修改的属性的地址,这里应该表示"亮度"。...=FF是要修改的值(可以改)。 我这里00是最暗,FF是最亮,不同的电脑可能不一样。比如说我嫌FF太闪眼了,我就可以: sudo setpci -s 00:02.0 F4.B=CC

    32610

    PCI Express 系列连载篇(二十一)

    1、基于地址的路由 在PCIe总线中,存储器读写和I/O读写TLP使用基于地址的路由方式。PCIe设备使用的地址路由方式与PCI设备使用的地址路由方式类似。...TLP2是一个存储器或者I/O请求TLP,由EP2发出,并通过一个Switch发向RC。当PCIe设备进行DMA读写操作时,将使用这种地址路由方式。TLP2将从Switch的下游端口传送到上游端口。...TLP1到达PCI Bus1后将同时查找P-P2和P-P3桥片配置寄存器中的Limit和Base寄存器,决定是P-P2还是P-P3桥片接收TLP1。...从软件的角度上看,PCIe总线与PCI总线兼容,只是在PCIe总线中,每一个PCIe设备使用唯一的PCI设备号,但是每一个设备仍然可以有多个子设备(Function)。...[2] PCIe链路采用端到端的通信方式,每一个链路只能挂接一个设备,因此在多数情况下,使用3位描述Device Number是多余的,因此PCIe总线提出了ARI格式,该格式的详细描述见后续更新。

    99310

    原来PCIe这么简单,一定要看!

    作为x86体系关键的一环,PCIe标准历经PCI,PCI-X和PCIe,走过近30年时光。其中Host发现与查找设备的方式却一脉沿袭,今天我们先来聊一聊PCIe设备在一个系统中是如何发现与访问的。...除一些专有系统外,普通系统只会在开机阶段进行进行设备的扫描,启动成功后(枚举过程结束),即使插入一个PCIe设备,系统也不会再去识别它。...是Starblaze在PCI-SIG组织的注册码,1000是设备系列号。...Host在枚举设备的同时也会对设备进行配置,每个PCIe设备都会指定一段CPU memory访问空间,从上面的图中我们可以看到这个设备支持两段访问空间,一段的大小是1M byte,另一段的大小是256K...PCIe memory空间关联的是PCIe设备物理功能,对于STAR1000系列芯片而言,物理功能是NVMe,memory中存放的是NMVe的控制与状态信息,对于NMVe的控制以及工作状态的获取,都需要通过

    14K2018

    【译文】【第一章①】Mindshare PCI Express Technology 3.0

    1.1 引言 想要理解PCIe的首先一步,是要对PCIe所基于的先前的技术建立坚实的基础,而本章则将对它们的体系结构进行概述。对PCI已经比较熟悉的读者可以跳过本章去看下一章。...这里可以通过举一个例子来说明为什么本章的背景介绍是对理解PCIe有帮助的,现在在PCIe上使用的软件(驱动)与当初在PCI上使用的软件大致相同。...我们将稍后再讨论PCI-X相较于PCI的改变,但是需提前一提的是PCI-X的一个主要设计目标就是保持与PCI设备的可兼容性,而且是软件和硬件的兼容性都要保证,这将使得从PCI迁移至PCI-X尽可能的简单...而PCISIG一直在探索如何将PCI-X的速率进一步提升,但最终这项努力还是被放弃了。...在时钟沿4,总线上的一个设备识别到了请求的地址与自己相匹配,于是便通过将DEVSEL#信号(device select)置为有效的方式对事务发出响应,声明参与到事务中。

    2.2K10

    PCI Express 系列连载篇(十八)

    RC与处理器通过FSB连接,而从电气特性上看,PCI总线0与FSB兼容,因此在PCI总线0上挂接的是FSB-to-PCIe桥,而不是PCI-to-PCIe桥。...除此之外PCIe总线还可以使用PCIe桥,将PCIe总线转换为PCI总线或者PCI-X总线,之后挂接PCI/PCI-X设备。多数x86处理器系统使用这种结构连接PCIe或者PCI设备。...在PCIe总线规范中,Crosslink连接方式是可选的,并不要求PCIe设备一定支持这种连接方式。...PCIe总线使用Switch进行链路扩展,在Switch中,每一个端口对应一个虚拟PCI桥。深入理解PCI桥是理解Switch软件组成结构的基础。...此时Switch需要进行端口仲裁确定是EP A的数据报文还是EP B的数据报文优先通过Egress端口C。 多端口RC的Egress端口。

    1.8K30

    云存储硬核技术内幕——(35)

    在上期,我们提到,子虚将SPDK的轮询机制,与JFZ女士的日本游记中的画面进行了联系,虽然觉得自己在隐秘地开车,但还是留下了证据。...常见的Ceph RBD和腾讯云的CBS驱动就是这种工作方式,在虚拟机中可以看到存储卷/dev/vd*,就是Frondend驱动识别出来的虚拟卷设备; 硬件虚拟化,让PCIe设备支持SR-IOV,虚拟化为多个设备...VirtIO对于VM的GuestOS,虚拟出了一个PCI设备,当然也支持PCI-SIG的规范,如配置空间(PCI寄存器)和中断等功能。...VM的GuestOS操作VirtIO的块设备时,实际上其驱动会将SCSI命令字写入一个队列,并向这个虚拟的PCI设备写入队列ID。...由于写入PCI设备的配置空间属于特权指令,每次这种写入行为都会触发VM_EXIT。可想而知地,这样的实现成为了性能提升的卡点。

    84810

    PCIE-1750||驱动力提升75%,NPNPNP输出全兼容!

    PCIE-1750U/UH采用PCIE总线,提供16隔离数字输入/16隔离输出通道,为PCI-1750/1750SO的PCIE升级版。...PCIE采用点对点串行连接,每个设备都有自己的专用连接,采用双单工连接,即使X1也能提供更高的带宽和质量,而X16能提供5GB/s的带宽。...PNP、NPN是三极管构造的两种不同方式,一般日系的负载设备用NPN信号较多,欧系负载设备用PNP信号较多。...研华PCI卡提供了两种产品,PCI-1750支持NPN负载、PCI-1750SO支持PNP负载。 PCIE-1750U/UH允许数字输出方向通过软件配置为NPN或PNP。...方向设置为PNP,电流将来自IDO通道,对于使用者来说,采购备品备件时就无需担心是PNP还是NPN的形式。

    79710
    领券