Fork me on GitHub
侧边栏
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 135 下一页
摘要: 前言 为什么需要内核栈 进程在内核态运行时需要自己的堆栈信息, 因此linux内核为每个进程都提供了一个内核栈kernel stack struct task_struct { // ... void *stack; // 指向内核栈的指针 // ... }; 内核态的进程访问处于内核数据段的栈,这 阅读全文
posted @ 2025-02-23 12:48 yooooooo 阅读(215) 评论(0) 推荐(0)
摘要: 链路层具有维持链路连接性的责任,从而确保在两个链路伙伴之间的成功数据传输。基于包(packets)和链路命令(link commands)定义了健壮的链路流程控制。数据包在链路层被准备好,携带数据和不同的信息在主机和设备之间传输。链路命令的定义是为了链路伙伴两者之间的通信。包帧(Packet fra 阅读全文
posted @ 2025-02-22 15:21 yooooooo 阅读(321) 评论(0) 推荐(0)
摘要: 写Device USB驱动的时候,当Bulk送信发送的数据长度恰好是wMaxPacketSize的整数倍时,是否应该发送0包的问题搞得我焦头烂额。查找了好多资料,有的说要加,这是USB协议的一部分;有的说要加,这是微软的霸王条款;也有的说不要加,因为协议里没写这一条,送信成功之后USB传输的任务就完 阅读全文
posted @ 2025-02-21 09:47 yooooooo 阅读(199) 评论(0) 推荐(0)
摘要: 当Message Header中的Number of Data Objects字段设置为0,控制消息仅由一个Message Header和一个CRC组成。协议层发起控制消息(如,Accept Message, Reject Message 等)。 控制消息类型在消息头的Message Type字段( 阅读全文
posted @ 2025-02-19 21:19 yooooooo 阅读(431) 评论(0) 推荐(1)
摘要: ✨ 1. 为何要用ACS ? 🌟1.1 P2P传输风险 ATS(Address Translation Services)是一种基于信任的服务协议。如果EP端ATC(Address Translation Cache)声称其发出的访问请求是经过转换后的地址,且该地址刚好落在PCIe交换开关的BAR 阅读全文
posted @ 2025-02-05 11:45 yooooooo 阅读(1685) 评论(0) 推荐(0)
摘要: PCIe中的Message主要是为了替代PCI中采用边带信号,这些边带信号的主要功能是中断,错误报告和电源管理等。所有的Message请求采用的都是4DW的TLP Header,但是并不是所有的空间都被利用上了,例如有的Message就没有使用Byte8到Byte15的空间。 Message请求的T 阅读全文
posted @ 2025-02-05 11:05 yooooooo 阅读(985) 评论(0) 推荐(1)
摘要: 1.协议层 1.1.超高速传输事务 超高速事务(SuperSpeed transactions)由主机对设备端点请求或发送数据开始,并在端点发送数据或确认收到数据时完成。 超高速总线上的数据传输(transfer)是主机请求设备应用程序生成的数据,然后该请求被分解成一个或多个突发事务(burst t 阅读全文
posted @ 2025-02-04 22:53 yooooooo 阅读(742) 评论(0) 推荐(0)
摘要: Completions Completions的TLP Header的格式如下图所示: 这里来解释一下Completion Status Codes 000b (SC) Successful Completion:表示请求(Request)被正确的处理; 001b (UR) Unsupported 阅读全文
posted @ 2025-02-04 18:15 yooooooo 阅读(122) 评论(0) 推荐(0)
摘要: 下面用几个具体的例子来讲解TLP Header的格式与作用。因为内容较多,所以分为多篇文章分别进行介绍。第一篇(即本文)介绍IO Request、Memory Request和Configuration Request。第二篇文章(即TLP Header详解三)介绍Completion ,第三篇文章 阅读全文
posted @ 2025-02-04 12:22 yooooooo 阅读(301) 评论(0) 推荐(0)
摘要: 事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Data Payload为1-1024DW,最后的TLP Digest(ECRC)是可选的,为1DW。 TLP Header在整个TLP的位置如下图所示,需要注意的是,TLP Header的格式和内容 阅读全文
posted @ 2025-02-04 12:00 yooooooo 阅读(351) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 135 下一页