当前位置: 首页 > news >正文

福州网站建设工作室设计商城网站建设

福州网站建设工作室,设计商城网站建设,珠海网站建设哪个好薇,如何制作简单自己的网页PCIE 学习笔记书到用时方恨少啊#xff0c;一年前学PCIE的笔记#xff0c;再拿出来瞅瞅。发到博客上#xff0c;方便看。PCIE基础PCIE和PCI的不同PCIE采用差分信号传输#xff0c;并且是dual-simplex传输——每条lane上有TX通道和RX通道#xff0c;所以每条lane上的信号是…PCIE 学习笔记书到用时方恨少啊一年前学PCIE的笔记再拿出来瞅瞅。发到博客上方便看。 PCIE基础PCIE和PCI的不同PCIE采用差分信号传输并且是dual-simplex传输——每条lane上有TX通道和RX通道所以每条lane上的信号是4条。PCI是同步时钟、并行传输。PCIE是端到端的传输一条链路上只能有两个设备而PCI是共享总线型的。PCIE的lane可以扩展成x2, x4, x8, x16, x32.PCIE没有专门的中断信号而是通过message报文传输。 PCIE versionGigabits/second/lane/directioncodingV12.58/10bV258/10bV38128/130bV416128/130bV532128/130b PCIE 拓扑PCIE系统主要包括RC、Switch和EPpcie设备。一个PCIE树上最多可以有256个PCIE设备。组件 RC (ROOT COMPLEX)RC是PCIE树的根节点RC可以有一个或者多个PCIE端口(port)它可以根CPU 和memory controller相接或者说分隔PCIE domain和CPU/MEMORY domain。类似于PCI 中的HOST主桥。Switch Switch有一个上游端口和两个或者两个以上的下游端口。上游端口是RC或者上游Switch的下游端口。Switch中每个端口都可以看成是一个PCI-to-PCI bridge这些bridge也都有配置空间跟PCI中一样配置空间有IO/Memory 的base address和limit size。Switch中还有一条虚拟的PCI总线连接Switch内部的各个bridge。 Switch还支持crosslink的连接方式也就是Switch上游端口可以和其他Switch的上游端口连接下游端口也可以和其他Switch的下游端口连接。 Ingress和Egress在一次传输中Switch中的端口可分为ingress port和egress port划分跟数据流向有关。Ingress port就是数据进来的端口egress port就是输出流出的端口。 Virtual channel端口上一般都会采用virtual channel的技术来缓存不同ingress port发来的数据。Virtual channel就是buffer缓存数据。最多8个VC。数据在Switch中传输涉及到VC/TC mapping、端口仲裁、VC仲裁。EP(endpointEP有三种 legacy EPPCIE EPRC integrated EP。 Legacy EP就是PCI devicePCIE EPRC integrated EP集成在RC内部的EP。 PCIE bridgePCIE bridge就是PCI-to-PCI/PCI-X bridge PCIE 层次简介 PCIE协议分为如上三层transaction layer, data link layer, physical layer。发送端发送的报文以此经过transaction - data link layer -physical经过物理链路到达接收端又经过physical layer-data link layer - transaction layer到达接收端。 不同层次的数据包格式如下这个简单的格式实际更复杂在transaction layerTLP由headerdataECRC可能也会有TLP Prefix和TLP digest。Data link layer接受transaction layer的TLP报文加上sequence number和LCRC在data link layer还有自己独有的DLLPDLLP尽在data link layer以下传输不会传到transaction layer。 transaction layer service主要是生成和接受TLP进行基于credit的flow controlpower management。在初始化和配置中事务层的作用保存处理器设置的链路配置信息将物理层链路协商的bus width 和frequency保存在link capabilities结构中。 在TLP生成的接收中事务层的作用为device core发出的请求生成TLP。将接受到的请求转换成device core可识别的Requests或者说一种格式吧从接受到的完成报文提取出data payload和status信息给到device core。识别出不支持的TLP并且采用合适的机制进行处理。如果支持end-to-end 数据完整性那么生成CRC并且更新对应的TLP header。 在流控中事务层的作用追踪传输中TLP的flow control credit信息。将credit status周期性地传递给对端的transaction layer这是通过data link layer实现的。根据credit来阻塞TLP传输。 事务层在ordering的作用PCI/PCI-X兼容的生产者-消费者ordering model。Relaxed-orderingID-Based ordering 事务层在电源管理的作用软件控制的电源管理硬件自动控制的电源管理。 事务层在VC和TC上的作用结合VC和TC机制来为不同类型的服务和应用提供不同的服务和QoS。Virtual channelTraffic classData link layer service初始化和电源管理的作用接收来自transaction layer的电源状态请求并将他们传递给physical layer。将active/reset/disconnected/power managed state传给transaction layer。 数据保护、错误检查、重试CRC生成。为了重试机制保存发送的TLP。错误检查TLP应答和retry messages。错误报告和打印。Physical layer service接口初始化、maintenance control、状态追踪复位、热插拔控制和状态连线的电源管理协商Width and lane mappingLane polarity inversion。生成Symbol和ordered set8b/10b 编码、解码。嵌入式的时钟tuning和对齐。Symbol传输和对齐传输电路接收电路接收端的弹性缓冲器接收端的Multi-lane de-skewDFT featurePCIE配置空间0x00- 0x3f这段配置空间是PCI、PCIE设备都要支持的。0x40-0xff这段空间主要存放于MSI中断和电源管理相关的capabilities。0x100-0xfff是PCIE所独有的。 CapabilityCapability是PCI/PCIE配置结构一个capability对应一个capability point和一段空间可以把一个capability看做寄存器set多个capability组成capability 链表上一个capability保存下一个capability的point。当然会有一个其实的capability point register。 每种Capability 结构中的capability ID是唯一的PCI Power management capabilityPCIE capabilityDevice capabilitymax payload等Link capabilitysupported link speed/width, current link speed, negotiate link widthdeng 。PCIE extended capability包含VC/TC mapping table和端口、VC仲裁策略。 端口仲裁和VC仲裁VCvirtual channelVirtual channel端口上一般都会采用virtual channel的技术来缓存不同ingress port发来的数据。Virtual channel就是buffer缓存数据。最多8个VC。数据在Switch中传输涉及到VC/TC mapping、端口仲裁、VC仲裁。 TC/VC mappingArbitration端口仲裁当有多个ingress port的 数据包用同一个VC的时候决定哪个port使用该VC。VC仲裁在egress port上有多个VC仲裁决定哪个VC从egress port发出也就是占用link。 Transaction layerTLP格式TLP Header TLP 类型Fmt和Type两个字段决定TLP类型。主要有五种访问类型存储器、I/O、配置、message、原子操作。 存储器、I/O、配置读请求不带数据存储器、I/O、配置写请求带数据存储器、I/O、配置读完成带数据I/O、配置写完成不带数据消息请求带数据或不带数据原子操作swap、CAS 三种TLP路由方式地址路由通过地址来定位目标设备用在memory和I/O 请求中。 在Switch的PCI-to-PCI bridge的配置空间中有I/O address、limit和memory address、limit用来判断地址是否在bridge的访问空间内。 在TLP header中就会有地址字段。ID路由通过ID来定位目标设备用在配置读写请求和完成报文。 ID是由bus number, device number和function number组成的。PCI-to-PCI bridge的配置空间中会有primary bus number, secondary bus number和subordinate bus number。Primary bus number是bridge上游bus numbersecondary bus number是下游第一个PCI bus numbersubordinate bus number是下游最后一个bus number。 隐式路由用在message报文中要么是发向RC要么是从RC广播。 Data link layerdata link layer作用数据交换接收事务层TLP并转发到物理层从物理层接收TLP转发到事务层。初始化和电源管理的作用接收来自transaction layer的电源状态请求并将他们传递给physical layer。将active/reset/disconnected/power managed state传给transaction layer。 数据保护、错误检查、重试CRC生成。为了重试机制保存发送的TLP。错误检查TLP应答和retry messages。错误报告和打印。组成数据链路层通过ACK/NAK协议发送和接受TLP主要包括发送部件和接收部件。发送部件包括Replay buffer、ACK/NAK DLLP接收逻辑和TLP发送逻辑。接收部件包括Error check逻辑、ACK/NAK DLLP发送逻辑和TLP接收逻辑。 链路层状态机链路层通过data link control and management state machine(DLCMSM)来控制链路状态并且在事务层和物理层之间传递链路状态。链路层从物理层获取link上的状态如下DL_Inactive: 物理层向链路层报告当前PCIE链路不可用对端没有连接人和设备或者没有检测到对端的设备。DL_Feature(optional)物理层报告当前链路可用进行data link feature exchange这些feature保存在capability结构中。DL_Init物理层通知链路层当前PCIE链路可用正在对VC0进行流量控制。当前链路层不能接收或者发送TLP和DLLP。DL_Active当前PCIE链路处于正常工作状态。 链路层向事务层报告link上的状态如下:DL_Down告知事务层当前link处于DL_Inactive状态没有从对端检测到设备。DL_Up告知事务层link上检测到对端设备正在跟对端的设备进行数据链路层交流。也就是link处于DL_Active状态。 Link状态跳变过程如下DL_Incative当hot, warm, cold reset之后link进入DL_Inactive状态当时FLR reset不能。在这个状态下所有跟链路层状态机有关的信息都被复位到默认值retry buffer中的数据丢失。链路层向事务层报告DL_Down状态事务层接收到DL_Down之后会丢弃所有的outstanding transaction停止发送TLP。链路层本身会丢弃TLP相关的信息停止生成和接受DLLP。 DL_Inactive - DL_Init的情况有两种端口不支持DL_Feature特性软件没有disable当前link物理层报告LinkUp 状态位为1表示对端接入设备.端口支持DL_Feature但是被软件disable软件没有disable当前link物理层报告LinkUp 状态位为1表示对端接入设备. DL_Init改状态分为两个子状态FC_INIT1和FC_INIT2。在INIT1阶段向事务层报告DL_Down状态在FC_INIT2阶段报告DL_Up状态。在端口处于DL_Down状态的时候接收端会丢弃那些接收到的但没有去应答的TLP。 DL_Init -DL_Active当流量初始化完成并且物理层LinkUp为高进入DL_Active状态。 DLLP报文DLLP主要分为ACKNAK电源管理DLLP流控DLLPVendor-defined DLLP ACK/NAK应答机制参考《PCIE体系结构导读》7.2章节。发送端和接收端通过sequence number来标记报文。 接收端不会为每个报文回复应答。如果发送端发送了3-5 sequence number报文接收端NAK应答中的AckNak_Seq_Num是4说明报文3-4已经被成功接受。 链路层发送报文的顺序 TLP、DLLP和物理层报文PLP都会使用同一个物理link发送报文他们之间的顺序是有要求的一般发送中的报文优先级最高越是底层的报文优先级越高。优先级从高到低如下正在传输的TLP和DLLP。PLP。NAK DLLPACK DLLP重新发送replay buffer中的TLP其他在事务层等待的TLP。其他DLLP。 Physical layer-逻辑子层logical sub-block4.1 逻辑子层结构图 Byte striping/un-striping 将数据分到不同的lane上或者从多条lane上合并数据。会进行de-skew操作。Scrambler、de-scrambler 加扰加扰通过线性反馈移位寄存器LSFR产生伪随机序列数据跟这个伪随机序列进行异或操作。作用防止信号有某些固定的重复值降低EMI干扰8/10b编码 2.5GT/s 5.0GT/s8/10b为了0、1均衡如果在一个高速链路上有较多连续的“1”会将AC耦合电容充满从而影响这些电容正常工作。连续传输的0或1不会超过5个。保证每十位中最多有6个0或者6个1. 但是仅仅如此还不够可能10位中连续是6个0或者1那么0或1就会聚集。所以有了CRDcurrent running disparity每个bytesymbol的编码都有两个一个0多一个1多 传输 Symbol编码结果可以通过Dxx.y和Kxx.y表示前者表示数据字符后者表示控制字符。 Figure4.5中在TLP前面加上STP symbol在TLP后面加上END分别表示TLP的开始和结束。 在figure 4.6中在DLLP前面加上SDP后面加上END。 加上TLPDLLP的开始符号和结束符号之后再进行byte-striping。 128/130b 编码 8GT/s每个symbol是8bit。每条lane上传输sync bit。两位Sync bit‘b10代表是data block。‘h01代表ordered set block Ordered set block在所有的lane同时传输相同的ordered set block。 Data blockData block 包括framing token、DLLP、TLP。Framing token类似于8/10b编码中的控制符号。 传输传输TLP和DLLP EDS framing token之后代表要传输ordered set block从下图figure4.17中可以看出所有lane上传输的ordered set block是相同的。Physical layer-电气子层electrical sub-block Power management System architecture
http://www.hkea.cn/news/14534265/

相关文章:

  • 网站建设.pdf百度云智慧团建如何转团关系
  • 长沙品牌网站建设实力强企业公司网页设计
  • 各大网站搜索引擎入口wordpress申请adsense
  • 辽宁同鑫建设有限公司网站wordpress登不进去
  • 网站里面嵌入的地图是怎么做的河北网站设计制作
  • 临潼建设项目环境影响网站北京旅游网页设计
  • 网站内文章外链如何做帝国网站后台管理系统
  • 网站建设页头的设计网站免费建站 图标
  • 查看网站是否做百度推广小程序登录入口网页版
  • 哪些网站的活动策划做的好python编程入门
  • 申请关闭网站德州汇泽网站建设
  • 湖南营销网站建设联系方式wordpress 内核
  • 宝安国内知名网站建设比较好的本机网络ip做网站
  • 网站设计流程及制作流程dede移动端网站源码
  • 淘宝网站建设目标是什么意思建设网站 费用吗
  • 老网站改版做别的中国最早做网站是谁
  • 企业网站建设用标语涿州做软件和网站的
  • 户外媒体网站建设免费世界比分榜
  • 可以做锚文本链接的网站北京网站建设yi wl
  • 响应式设计的网站室内设计模拟app
  • 淘宝网页版怎么看直播烟台网站建设方案优化
  • 杭州余杭区网站建设营销方案包括哪些内容
  • python3 网站开发入门济南网站建站推广
  • 专业建站公司的业务内容asp网站源码免费版
  • 万网域名备案网站做网站市场报价
  • 郑州旅游网站设计东莞搜索seo网站关键词优化
  • 有哪些网站可以用网站做排行多少费用
  • 已有网站开发app终端手机网站建好怎么发布
  • 怎样围绕网站专题发展来做ppt天津港电子商务网
  • 杭州网站建设很 棒大中小网站的区分