PCIe接口卡热插拔机制解析
更新时间:2023-09-12 16:05:01 阅读量: 综合文库 文档下载
- PCIE热插拔推荐度:
- 相关推荐
PCIe接口卡热插拔机制解析
来源: 新电子 发布时间: 2013-03-18 12:15 1983 次浏览 大
小: 16px 14px 12px 谈到PCIe的电源管理,常联想到这种接口与PCI Bus PM接口规范及ACPI2.0规范兼容。另一个与电源密切相关的问题就是PCIe支持的热插拔功能。 在不关机的情况下把接口卡直接插入插槽需要某些机制与步骤,否则主板或接口卡很容易毁损。下面就来说说PCIe热插拔的各项对策。
严格来说,PCIe(PCI Express)的热插拔产生于为PCI总线制定的热插拔控制器标准规范(SHPC1.0)。PCIe热插拔的设计理念隶属于一种“无意外(No Surprises)”式策略,即用户在插入或拔除接口卡时,必须先行通知系统;系统软件也得做好准备,通过显示器通知使用者热插拔的状态。
回想过去PCI总线发展的历程,起初并没有针对热插拔作特别定义,后来由于工业应用上的需要,市场上才出现支持热插拔的机制。CompactPCI就是一个例子。
就热插拔的系统观点来说,PCI与PCIe概念上是一致的,都需要“热插拔控制器”(Hot-plug Controller)负责控制。
PCI总线是一个共享式的总线接口(Share Bus),因此隔离措施的逻辑线路是必要的。而PCIe接口架构属于点对点(Point-to-point)连接型态,消除了隔离逻辑线路的存在,也允许分布式的热插拔控制器分别处理相关端口。PCIe构成元器件每个端口定义了标准的软件接口。因为程序接口存在差异,PCI与PCIe就需要不同的驱动软件。
从物理接口上看,PCIe与PCI的区别在于PCIe的接脚定义了接口卡存在检测的信号(PRSNT1及PRSNT2)。即使不小心或被恶意拔除,系统软件依然有足够时间处理。
PCIe环境下的热插拔
要在PCIe环境下完全支持热插拔功能,就需要软/硬件双方面的搭配。软件方面,操作系统OS要涵盖用户界面、热插拔系统软件服务,还有设备驱动软件(Device Driver)等。在硬件方面,端口器件端要有热插拔控制器、接口卡电源开关逻辑线、接口卡复位线、提示按钮(Attention Button)、指示器(Power Indicator/Attention Indicator)与接口卡存在检测接脚(即PRSNT1#与PRSNT2#信号)等。
以下我们先就具有热插拔功能接口卡的插入与移除步骤做个说明,首先要了解插槽“On”与“Off”状态的内在涵义是什么。
插槽“On”有下列几点关键内容: ◆ 电源加在接口卡上 ◆ REFCLK参考时钟信号开启
◆ 传输链路(Link)处于动态或通过ASPM进入省电模式(L0s或L1状态) ◆ 关闭PERST#信号
而插槽“Off”恰好相反: ◆ 关闭加在接口卡上的电源 ◆ REFCLK参考时钟信号关闭 ◆ 传输链路处于无效状态(Inactive) ◆ 启动PERST#信号
正常工作情况下,电源指示灯(Power Indicator,绿色)开启,闹钟提示器(Attention Indicator,琥珀色或黄色)则处于关闭状态。
软件会利用配置写入交易的传输模式,来对热插拔控制器送出指令请求(Request),并控制加在接口上的电源及指示器状态。
当使用者要移除(Removal)接口卡的时候,触发可以有两种方式,通过“按键”或软件程序的“用户界面”来激发。 使用按键移除的详细步骤如下:
◆ 步骤一:使用者按下“闹钟提示器”键,热插拔控制器获得该信息,发出中断信号到“Root Complex”端,系统读取插
槽信息并确认按键的请
◆ 步骤二:热插拔控制器使电源指示灯闪烁
◆ 步骤三:热插拔服务常式下令中止驱动程序,不对接口卡发出任何请求动作 ◆ 步骤四:软件转向接口卡插槽端口的链接控制寄存器,使链路双端的端口都失效 ◆ 步骤五:热插拔控制器关闭插槽
◆ 步骤六:软件发出“关闭电源指示灯”的请求,指示使用者可以移除接口卡
◆ 步骤七:释放手动接口卡固定插销(MRL),让热插拔控制器可以从插槽移走SMBus与JTAG等开关信号,然后拔除接口卡
◆ 步骤八:系统将该接口卡占用的资源,如存储空间、中断信号线等,让渡给其他元器件使用
接口卡的插入步骤则基本与上述过程相反。 PCIe热插拔控制器再探讨
“PCI Hot Plug”1.0版规格并未定义有标准的暂存器及用户界面,所以各厂商采用的软/硬件各有不同。消费者购买不同厂商的产品时,都要学习和熟悉其使用方式。为此,PCI热插拔控制器(HPC)1.0版规范特别作了下列两条重要规定:
◆ 定义了标准用户界面(User Interface),消费者在使用上就更轻松了
◆ 针对热插拔控制器,提供了一个标准化程序界面(Programming Interface),使得将一个标准化的热插拔驱动软件纳入操作系统变得可行
比较遗憾的是,PCIe暂存器并未在HPC中有相关定义。标准的热插拔控制器驱动软件在处理PCI与PCIe时就略显不同。
先来谈标准的用户界面。这个标准的用户界面必须具有闹钟提示器、电源指示灯、手动接口卡固定插销(MRL)、插槽编号识别(Slot Numbering Identification)、软件使用界面及提示按钮等。
闹钟提示器应尽可能接近接口插槽,可以采用黄色或琥珀色的LED指示灯。该指示灯的主要作用是吸引用户的高度注意,告知热插拔的操作失败。因此,正常情况下该指示灯是关闭的。
电源指示灯主要反映主电源已分派到插槽上,由热插拔相关软件控制,显示颜色为绿色。指示灯亮表示不可插入或移除接口卡。
MRL最主要的作用是固定接口卡,另外可以选择额外添加传感器(Sensor)。MRL所控制的开关信号不外乎Vaux辅助电源及SMbus信号(SMBCLK与SMBDAT信号)等。
仔细研读PCIe的核心规格与CEM(Card ElectroMechanical)规格就可以发现该规范定义了PCIe热插拔所需的插槽信号。其中:
◆ PWRLED#:电源指示灯输出信号 ◆ ATNLED#:闹钟提示器输出信号 ◆ PWREN:主电源到插槽的控制信号 ◆ REFCLKEN#:参考时钟到插槽的控制信号 ◆ PERST#:基本复位信号 ◆ PRSNT1#:连接器端接地
◆ PRSNT2#:接口卡存在信号,在系统主板端接拉高电阻
◆ PWRFLT#:外部逻辑用来告知热插拔控制器电源有误的输入信号 ◆ AUXEN#:AUX信号与辅助电源的控制信号 ◆ MRL#:MRL感应器输入信号
◆ BUTTON#:即“Attention Button”,用来通知热插拔控制器用户要进行热插拔的动作
PCIe对于热插拔控制器的标准程序界面是通过PCI Express容量寄存器(PCI Express Capability register)来实现的。
插槽容量(Slot Capabilities)必须读取设备容量寄存器(Device Capability Register)才会知道是否支持按键与指示器。
系统控制热插拔事件与动作是通过插槽控制寄存器(Slot Control Register)来完成的,其相关位定义如图6所示。 热插拔控制器追踪各种事件并通知管理热插拔的系统驱动软件,再由状态位加以确认。
通常系统主板上会有不少插槽,各个插槽之间的识别需要身分确认数值(Physical Slot ID),但这些识别值是由系统设计者指定的,也必须让诸如芯片值的Root或Switch元件的端口知道。毕竟,硬件在起初必须对各个插槽的状态寄存器(Slot Status Register)作初始化处理。
热插拔的电源预算
PCIe规格里提到电源预算(Power Budgeting)这个问题,也就是规格书上所说的Power Budgeting Capability,隶属于一个设计选项(Option)。虽然不是百分之百针对热插拔的接口卡,至少让系统设计者对接口卡在设计上有足够的电源预算,尽可能减少彼此之间的冲突,也可精确控制散热处理。
规格中定义了支持电源预算的相关配置寄存器,却没有描述详细的实现方案。
系统固件(System Firmware)必须知道整体的系统可用电源、系统设备的电源配置、接口上的插槽等信息。 一个允许热插拔的端口在插槽容量寄存器中有能量限制(Slot Power Limit)和能量数值(Slot Power Scale)字段,电源软件或固件初始化时必须在此字段中装入数值,表示该端口允许的最大电源提供量。同时,端口也会利用Set_Slot_Power_Limit告知接口卡。
对于支持电源预算的接口卡,设备容量寄存器(Device Capabilities register)只存放端口送过来的消息数值。同时,电源预算容量寄存器内的数值用来报告电源相关的信息。而设备驱动程序(Device Driver)的作用是在启动前检验电源是否充足。
正在阅读:
PCIe接口卡热插拔机制解析09-12
812误差理论与数据处理10-05
新学期新起点作文350字06-18
路桥公司志03-18
启用 Oracle 10046 调试事件08-06
九年级化学上册 第六单元 课题1 金刚石 石墨和C60教案2(新版)新人教版10-25
一、升级配置apache06-04
qq自由幻想名字_幻想の祤翼02-10
不一样的年作文06-17
写在中考之后05-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 接口卡
- 解析
- 机制
- PCIe
- 高中化学选修3全册教案
- 沃尔玛企业形象分析
- 2014-2015学年江苏省永丰初级中学八年级上学期第二次月考语文试卷(带解析)
- 第四届校园文化艺术节活动方案(修改)
- 大一轮高考总复习文数(北师大版)讲义:选修4-4+第02节+参数方程
- 金工 - 图文
- 2013年军事理论上机试题-II
- C语言6.1~6.55
- 固定资产贷款管理实施细则
- 白血病的免疫学分型
- 幼儿园教师资格证综合素质篇总结
- 防洪堤工程施工组织设计
- 西工大附中高三数学理科模拟试卷之一
- 服装产品开发部设计部绩效考核方案
- 人生就是在搏击苦难作文
- 应付债券业务理解及会计处理
- 2018年上海音乐家协会春季声乐考级
- 现代企业管理课程标准 课时
- 2018年中国影视后期制作市场深度行业前景预测报告目录
- 安徽重点项目-铜陵港江北配煤中心工程项目可行性研究报告