pci

PCIE -- TLP格式

隐身守侯 提交于 2019-11-29 18:06:01
5.1 TLP的格式 (2011-08-08 16:21:32) 转载 ▼ 标签: 杂谈 分类: 浅谈PCIe体系结构 当处理器或者其他PCIe设备访问PCIe设备时,所传送的数据报文首先通过事务层被封装为一个或者多个TLP,之后才能通过PCIe总线的各个层次发送出去。TLP的基本格式如图5‑1所示。 一个完整的TLP由1个或者多个TLP Prefix、TLP头、Data Payload(数据有效负载)和TLP Digest组成。TLP头是TLP最重要的标志,不同的TLP其头的定义并不相同。TLP头包含了当前TLP的总线事务类型、路由信息等一系列信息。在一个TLP中,Data Payload的长度可变,最小为0,最大为1024DW。 TLP Digest是一个可选项, 一个TLP是否需要TLP Digest由TLP头决定。Data Payload也是一个可选项,有些TLP并不需要Data Payload,如存储器读请求、配置和I/O写完成TLP并不需要Data Payload。 TLP Prefix由PCIe V2.1总线规范引入,分为Local TLP Prefix和EP-EP TLP Prefix两类。其中Local TLP Prefix的主要作用是在PCIe链路的两端传递消息,而EP-EP TLP Prefix的主要作用是在发送设备和接收设备之间传递消息。设置TLP

创建虚拟机自动化脚本

非 Y 不嫁゛ 提交于 2019-11-29 15:02:26
1、模版xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh edit node1 or other application using the libvirt API. --> <domain type='kvm'> <name>node1</name> <uuid>fb0d1a74-26c5-4734-87b9-3d8f87ea5eb4</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='custom' match='exact'>

解决中科曙光的工作站安装intel的WiFi无线网卡时,不能识别的问题。

梦想的初衷 提交于 2019-11-29 08:59:08
中科曙光的国产化工作站使用海光的cpu,默认是没有WiFi无线网卡的。在购买了intel的9260 AC双频(2.4GHz、5GHz)千兆无线网卡后,通过转接卡安装到PCIE插槽,结果主板和操作系统都识别不到新设备。 这时,请在开机时连续点摁DEL键,进入BIOS界面,选择Advanced,PCIe Slot Setting,选中无线网卡所在的插槽(比如,PCIe Slot 1),修改选项为GEN1,然后摁ESC键返回上一级,摁F4键,保存后退出BIOS,重启计算机,这样就可以了。 来源: https://my.oschina.net/chipo/blog/3104439

INTEL 7代CPU I5 7500 集显HD630 WIN7 64位

可紊 提交于 2019-11-29 00:48:55
HD630 在WIN7 下的硬件ID (在设备管理器 - 显卡 - 属性 中查看): PCI\VEN_8086&DEV_5912&SUBSYS_D0001458&REV_04 只看前面部分:PCI\VEN_8086&DEV_5912 。 下载ZIP驱动:https://downloadcenter.intel.com/zh-cn/download/26836/Intel-Graphics-Driver-for-Windows-15-45-?product=98909 解压. 找到 igdlh64.inf 文件,用记事本打开。 找到: %iSKLWSGT4% = iSKLD_w7, PCI\VEN_8086&DEV_193D 这一行,在下面加一行: %iKBLDTGT2% = iSKLD_w7, PCI\VEN_8086&DEV_5912 保存,双击Setup.exe 安装即可。 图1: 图2: -- 来源: https://www.cnblogs.com/runliuv/p/11437256.html

Linux 下的DMA浅析

不打扰是莪最后的温柔 提交于 2019-11-29 00:02:20
DMA是一种无需CPU的参与就可以让外设和系统内存之间进行双向数据传输的硬件机制。使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率。DMA经常与硬件体系结构特别是外设的总线技术密切相关。 一、DMA控制器硬件结构 DMA允许外围设备和主内存之间直接传输 I/O 数据, DMA 依赖于系统。每一种体系结构DMA传输不同,编程接口也不同。 数据传输可以以两种方式触发:一种软件请求数据,另一种由硬件异步传输。 a -- 软件请求数据 调用的步骤可以概括如下(以read为例): (1)在进程调用 read 时,驱动程序的方法分配一个 DMA 缓冲区,随后指示硬件传送它的数据。进程进入睡眠。 (2)硬件将数据写入 DMA 缓冲区并在完成时产生一个中断。 (3)中断处理程序获得输入数据,应答中断,最后唤醒进程,该进程现在可以读取数据了。 b -- 由硬件异步传输 在 DMA 被异步使用时发生的。以数据采集设备为例: (1)硬件发出中断来通知新的数据已经到达。 (2)中断处理程序分配一个DMA缓冲区。 (3)外围设备将数据写入缓冲区,然后在完成时发出另一个中断。 (4)处理程序利用DMA分发新的数据,唤醒任何相关进程。 网卡传输也是如此,网卡有一个循环缓冲区(通常叫做 DMA 环形缓冲区)建立在与处理器共享的内存中

pcie总线---一点点

守給你的承諾、 提交于 2019-11-28 19:21:05
表4‑1PCIe总线规范与总线频率和编码的关系 PCIe总线规范 总线频率 [1] 单Lane的峰值带宽 编码方式 1.x 1.25GHz 2.5GT/s 8/10b编码 2.x 2.5GHz 5GT/s 8/10b编码 3.0 4GHz 8GT/s 128/130b编码 如上表所示,不同的PCIe总线规范使用的总线频率并不相同,其使用的数据编码方式也不相同。PCIe总线V1.x和V2.0规范在物理层中使用8/10b编码,即在PCIe链路上的10 bit中含有8 bit的有效数据;而V3.0规范使用128/130b编码方式,即在PCIe链路上的130 bit中含有128 bit的有效数据。 由上表所示,V3.0规范使用的总线频率虽然只有4GHz,但是其有效带宽是V2.x的两倍。下文将以V2.x规范为例,说明不同宽度PCIe链路所能提供的峰值带宽,如表4‑2所示。 表4‑2PCIe总线的峰值带宽 PCIe总线的数据位宽 ×1 ×2 ×4 ×8 ×12 ×16 ×32 峰值带宽(GT/s) 5 10 20 40 60 80 160 来源: https://www.cnblogs.com/awheat/p/11422191.html

[转]Altera Arria10 FPGA PCIe Avalon-MM DMA设计

感情迁移 提交于 2019-11-28 15:37:55
本文链接:https://blog.csdn.net/Zhu_Zhu_2009/article/details/80793919 FPGA设计 DMA原理框图如下,实际应用中把双口RAM换成自己的IP即可,首先使能了内部Descriptor Controller,那么BAR0默认连接到了Descriptor,若想通过PCIe BAR来访问寄存器,就必须得添加一个BAR4,其实可以不用使能内部的Descriptor Controller,自己添加DMA IP,手动在Qsys中连线,这样一个BAR就够了。Read Data Mover从PC读数据,这里Read Data Mover连接了两个设备,一个是Descriptor Controller内部的FIFO,用来存放DMA描述符的,另外的就是自己的数据源,Write Data Mover将数据发送到PC。 Qsys连接图如下,其中wr_dts_slave和rd_dts_slave是Descriptor Controller内部的FIFO接口,这里分配的地址是0x08012000和0x08010000,这儿分配看实际需要,这儿的地址空间不能喝自己逻辑使用的冲突即可。另一个BAR4的空间设置了地址0x08000000,BAR4的空间占用不易过大,适当是最好的。另外wr_dcm_master和rd_dcm_master连接到了Txs端口

TX2 PCIE SDI

若如初见. 提交于 2019-11-28 04:58:51
PCIE是用FPGA写的 在TX2上可以把PCIE当作一个从设备(不用管FPGA),给它分配一段物理地址 SDI信号是串行的,PCIE会把SDI数据转为RGB,每次收完一帧数据后PCIE置接收完成位,TX2检测该标志位再去读数据 FPGA接收停止位的值:帧频*60*分钟数,PCIE每转一帧进行计数,超过帧数停止发送 来源: https://www.cnblogs.com/yangxingsha/p/11392597.html

MINI-PCIE接口定义管脚定义PIN定义

懵懂的女人 提交于 2019-11-27 16:19:45
PCI Express Mini Card (also known as Mini PCI Express, Mini PCIe, and Mini PCI-E) is a replacement for the Mini PCI form factor based on PCI Express. It is developed by the PCI-SIG. The host device supports both PCI Express and USB 2.0 connectivity, and each card uses whichever the designer feels most appropriate to the task. Most laptop computers built after 2005 are based on PCI Express and can have several Mini Card slots. Top side Bottom side 1 2 3.3V 3 Reserved**** 4 GND 5 Reserved**** 6 1.5V 7 CLKREQ# 8 VCC** 9 GND 10 I/O** 11 REFCLK- 12 CLK** 13 REFCLK+ 14 RST** 15 N/C or GND 16 VPP**

[转载]老男孩读PCIe之七:TLP的路由

不问归期 提交于 2019-11-27 13:05:47
来源: http://www.ssdfans.com/?p=3720 一个TLP,是怎样经历千山万水,最后顺利抵达目的地呢? 今天就以上图的简单拓扑结构为例,讨论一个TLP是怎样从发起者到达接收者,即TLP路由问题。 PCIe共有三种路由方式:基于地址(Address)路由,基于设备ID(Bus number + Device number + Function Number)路由,还有就是隐式(Implicit)路由。 不同类型的TLP,其寻址方式也不同,下表总结了每种TLP对应的路由方式: TLP类型 路由方式 Memory Read/Write TLP 地址路由 Configuration Read/Write TLP ID路由 Completion TLP ID路由 Message TLP 地址路由或者ID路由或者隐式路由 下面分别讲讲这几种路由方式。 地址路由 前面提到,Switch负责路由和TLP的转发,而路由信息是存储在Switch的Configuration空间的,因此,很有必要先理解Switch的Configuration。 BAR0和BAR1没有什么好说,跟前一节讲的Endpoint的BAR意义一样,存放Switch内部空间在Host内存空间映射基址。 Switch有一个上游端口(靠近RC)和若干个下游端口,每个端口其实是一个Bridge