著录项信息
专利名称 | 在PCI-Express环境中通知串行中断的方法以及桥接设备 |
申请号 | CN200410056547.X | 申请日期 | 2004-08-09 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2005-07-13 | 公开/公告号 | CN1637732 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F13/24 | IPC分类号 | G;0;6;F;1;3;/;2;4;;;G;0;6;F;1;3;/;3;8查看分类表>
|
申请人 | 得州仪器公司 | 申请人地址 | 美国得克萨斯州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 得州仪器公司 | 当前权利人 | 得州仪器公司 |
发明人 | 安德鲁·W·吕克;凯文·K·梅恩 |
代理机构 | 中国国际贸易促进委员会专利商标事务所 | 代理人 | 李德山 |
摘要
本发明提供了一种利用信息信号中断在PCI-Express环境中通知传统串行化中断的系统。该系统提供将PCI环境(106)与PCI-Express环境(104)接口的结构和方法。本发明提供通信链接(112、114)到PCI和PCI-Express环境的PCI到PCI-Express的桥接设备(110)。该桥接设备包括通信链接(120、122)到PCI和PCI-Express环境的转化功能(116)。串行化中断是从PCI环境通知的,而转化功能根据该串行化中断在PCI-Express环境中产生信息信号中断。
技术领域\n本发明总体上涉及计算机系统体系结构领域,更具体而言,涉及 一种利用信息信号中断(message signaled interrupt,MSI)在 PCI-Express系统中通知串行中断的系统。\n背景技术\n现代计算机系统的速度和性能继续以惊人的速度提高.新的改进 的硬件和软件技术不断地被开发,以提高计算机的处理能力.通常, 这些技术发展代表了对以前技术的某些改进.但是,新技术常常想要 完全取代旧技术-使旧技术过时.\n这种快速的技术发展给计算机系统设计人员造成了许多挑战与 问题.多家制造商所生产系统的互用性对于商业成功是必需的.对于 新技术,用于设备接口及操作协议的某些标准必须建立和使用。此外, 必须支持现有(或“传统”)计算机系统的广泛基础-利用旧的完全不 同的技术,以便使终端用户能够移植到新技术而不必每几个月就进行 替换他们的系统.因此,计算机系统体系结构总是面临着在从新技术 提取最优性能、解决互用性要求和满足传统系统支持的需求之间寻求 平衡的挑战。\n通常,这些担心和顾虑是通过泛行业标准的建立和遵守来解决 的。对于给定的技术或技术功能,各制造商及其他感兴趣的团体共同 确定某些需要的物理和性能参数。就象对最小和最大性能期望值那样, 互用性和传统设备支持问题是共同解决的。有一个工作所遵循的标准, 计算机系统体系结构就可以开始优化特定硬件或软件功能的设计与操 的处理。\n工业标准广泛地依赖于许多计算机系统组件和功能的设计与制 造.一个特例是计算机总线体系结构.总的来说,计算机总线体系结 构所关心的是处理、存储及输入/输出系统组件之间的接口与通信.一 种常用的总线接口是PCI.在PCI开发出来的时候,它是一种非常先 进、高性能的并行总线标准.最近,一种更新的总线标准已经开发出 来,以便更充分地利用新的通信技术(如基于包的,点对点)。这种 标准称为PCI-Express.\n尽管PCI-Express打算最终取代PCI,但它必须提供对现有PCI 系统和组件的传统设备支持.某些PCI协议通信和操作必须转化为适 当的PCI-Express通信或操作,反之亦然.由于有大量的PCI和 PCI-Express系统操作通信,因此在这两者之间转化的处理引起大量 的担心和顾虑.\n一种这样的顾虑是控制中断请求的处理,尤其是控制传统设备中 断请求的处理.PCI标准建立了一种包括4个物理中断信号的中断处 理方案.后来,又开发出了一种串行化的中断处理方案-串行IRQ.为 了在单个物理中断针上传输,这种串行化方案有效地多路复用了这4 个PCI中断信号.\n概括地说,PCI-Express不依赖于物理中断通知方案,而是依赖 于通过信息通知的中断.这种方案称为信息信号中断。尽管PCI的物 理4-中断方案与MSI不兼容,但PCI-Express标准支持将这4个中断 映射到协议的方案.这种方案称为INTx虚拟线中断通知.利用这种 方案,在PCI设备与PCI-Express系统之间充当桥接器的设备就能够 成功地将PCI中断映射到PCI-Express协议.\n但遗憾的是,有大量必须自身支持更早的传统系统及其中断方案 的PCI产品和设备。这种传统中断方案中最常见的一种是ISA.基于 ISA的系统利用专用的16-针物理中断方案。有些目前制造的PCI产 品通过某种多路复用方案将16个ISA中断信号连同4个PCI中断信 号一起映射成串行化的IRQ格式,其中这些PCI产品提供对专用的 基于ISA的中断的支持。但是,就象其目前所存在的,PCI-Express 标准不提供任何用于将专用的传统中断,如基于ISA的中断,映射到 PCI-Express协议的机制或方案.实际上,基于PCI-Express的系统 识别不出任何这种专用的中断信号。\n结果,需要一种利用来自PCI-Express协议的信息信号中断通知 串行化中断(尤其是非PCI的串行化中断)的系统-以便以简单、 有成本效益的方式在PCI-Express环境中提供高效健壮的传统系统支 持。\n发明内容\n本发明提供了一种利用MSI以PCI-Express协议通知非PCI串 行化中断的通用系统.本发明在PCI-Express桥接设备中提供高效的 信号分离及将基于ISA的中断信号映射成PCI-Express兼容格式.本 发明在桥接设备中提供监控串行IRQ数据并且依据中断的断言产生 进入PCI-Express环境的MSI通信必需数据的转化功能.因此,本发 明以一种简单、有成本效益的方式大大扩充了PCI-Express环境中的 传统系统支持能力,克服了与传统方法有关的某些限制和系统不兼容 性.\n更具体而言,本发明提供了一种在PCI-Express环境中通知串行 化中断的方法.根据本发明,PCI环境与PCI-Express环境接口。提 供了一种通信链接到PCI和PCI-Express环境的PCI 到PCI-Express 的桥接设备.在通信链接到PCI和PCI-Express环境的PCI到 PCI-Express的桥接设备中提供了一种转化功能.串行化中断是从PCI 环境中通知的.根据该串行化中断,转化功能在PCI-Express环境中 产生对应的信息信号中断.\n为了将串行化中断转化成信息信号中断,本发明还提供了 PCI-Express到PCI的桥接设备。该桥接设备包括与PCI-Express环 境的第一条通信链路。该桥接设备还包括与PCI环境的第二条通信链 路。该桥接设备还包括位于其中的转化功能。由于在第二条通信链路 上通信,这种转化功能适于确定源自PCI环境中的串行中断信号.该 转化功能还适于产生表示该串行中断信号的信息信号中断并将该信息 信号中断通过第一条通信链路发送到PCI-Express环境中.\n联系附图参考以下详细描述,对本领域的普通技术人员来说,本 发明的其它特点与优点将变得很明显。\n附图说明\n为了更好地理解本发明,也为了通过例子来显示相同的系统是如 何实现的,现在参考本发明的详细描述连同附图,其中不同图中的对 应标号指的是对应的部分,其中:\n图1是根据本发明PCI-Express环境的一种实施方案的说明;\n图2是描述根据本发明寄存器结构的一种实施方案的说明;\n图3是描述根据本发明另一种寄存器结构的一种实施方案的说 明;\n图4是描述根据本发明另一种寄存器结构的一种实施方案的说 明;及\n图5是描述根据本发明另一种寄存器结构的一种实施方案的说 明。\n具体实施方式\n尽管下面对本发明各种实施方案的制造和利用进行了详细讨论, 但应当理解本发明提供了许多可以应用的创造性概念,这些概念可以 体现在广泛的特定环境中.现在联系在PCI-Express体系结构中支持 基于ISA的中断来描述本发明.但是,在此所讨论的特殊实施方案仅 仅是为了说明制造和利用本发明的特定方式,而不是要限制本发明的 范围。\n本发明提供了以PCI-Express协议通知非PCI的串行IRQ中断 的结构与方法。本发明提供从串行IRQ信号到PCI-Express兼容格式 的转化-从而利用并扩展目前PCI-Express协议中的传统设备支持 机制。本发明在PCI-Express桥接设备中提供高效的信号分离及基于 ISA的串行IRQ到基于PCI-Express的系统所能识别和响应的消息的 映射.\n在此参考PCI Express基准说明书的术语和概念对本发明的某 些方面和实施方案进行描述.该说明书在此引入作为参考.在 PCI-Express协议中,信息信号中断(MSI)是优选的中断信号机制. 如前面所讨论的,目前的PCI-Express标准提供了支持传统PCI系统 的机制-INTx虚拟线中断信号机制.INTx虚拟线方案用于在MSI 机制的情况下支持传统PCI设备.但遗憾的是,目前的PCI-Express 标准不提供将专用的传统中断,如基于ISA的串行IRQ,映射成 PCI-Express兼容格式的方案.\nPCI-Express中的INTx方案使用4个Assert_INTx/Deassert_ INTx消息对-构成4条“虚拟线”.每条虚拟线对应指定为A、B、C 和D的传统PCI中断中的一个.利用Assert/Deassert消息分别表示 每条对应虚拟线的有效和无效变化,系统中的组件(即,在一条链路 的两端)必须跟踪这4条虚拟线的逻辑状态.Assert_INTx代表INTx (x=A、B、C或D)虚拟线的有效运行变化.而Deassert_INTx代表 INTx(x=A、B、C或D)虚拟线的无效运行变化.当在一个上游端 口一条INTx虚拟线的局部逻辑状态改变时,那个端口必须利用合适 的Assert_INTx或Deassert_INTx消息向同一条链路另一侧的下游端 口通知这种状态变化。\n在目前的PCI-Express标准中,充当PCI桥接器的设备必须根据 预先定义的分层映射方案映射虚拟线.一个开关必须跟踪独立地用于 每个下游端口的4条虚拟线的状态,并在其上游端口显示虚拟线的“折 叠”集合.如果下游端口变成DL_Down状态,则与那个端口关联的 INTx虚拟线必须去掉断言,而上游端口虚拟线的状态也要相应地修 改。如果这导致任一上游INTx虚拟线的去掉断言,则该上游端口必 须发送合适的Deassert_INTx消息。根联合体必须跟踪独立地用于其 每个下游端口的4条INTx虚拟线的状态,并将这些虚拟信号映射到 系统中断资源。在目前的PCI-Express标准下,这种映射的细节是特 定于系统实现的(即,留给系统设计人员处理).\n除了将PCI中断信号转换成PCI-Express中断消息,本发明还提 供了根据非PCI串行化中断信号产生MSI中断的PCI到PCI-Express 的桥接设备.在本发明中,PCI-Express信息信号中断是根据预定映 射方案从非PCI串行化中断产生的.这种映射方案可以在多种包括硬 件组件、软件组件或其组合的静态或动态实施方案中实现.\n现在参考图1对本发明做进一步的描述.图1的系统100提供了 PCI-Express环境104与PCI环境106之间的接口102的一个说明性 例子.为了解释和说明,接口102可以看作是根据本发明环境104与 106之间适于执行的任何可用的物理或功能性耦合或连接(例如,套 接字、总线).系统100包括基于PCI的功能108,位于基于PCI-Express 的功能110的“下游”(即,PCI-Express功能110是在主环境中,而 PCI功能108是在外围环境中).功能108和110可以包括与本发明 一致的任何物理或可操作设备或结构(例如,硬件、软件).在系统 100所描述的实施方案中,功能110配置成PCI到PCI-Express的桥 接器.通过接口102,在功能108和功能110之间建立通信链路112. 另一条通信链路114是在功能110和环境104(例如,主处理器)中 另一设备(未示出)之间建立的.功能110还包括转化功能116及多 个数据存储元件118。功能116分别通过通信链路120和122通信耦 合到链路112和114。功能116通过通信接口124通信耦合到元件118.\n上文所述的功能和结构可以多种方式实现-利用或结合多个硬 件与软件结构.例如,功能110可以作为半导体设备的一部分或者作 为软件算法或处理器上的构造操作在电路中实现.通信链路120和122 可以分别包括到链路112和114的直接耦合,或者可选地,也可以包 括一些从那里接收的间接通信(例如,由处理器沿一条路径发送的信 号或命令)。在系统100中,元件118包括一连串数据寄存器。根据 本发明,在可选实施方案中,其它合适的数据存储结构也可以使用。 这些和其它类似的变化及组合是本发明可以理解的。\n其中,PCI-Express协议提供用于作为PCI到PCI-Express桥接 器运行的设备的配置寄存器方案.这种方案分层列举多个功能寄存器 并定义每个寄存器的特定操作特性.本发明提供了一种利用这种寄存 器方案提供非PCI串行化中断的期望转化的系统.\n在系统100中,提供功能116是为了根据通过链路112从功能108 接收到的串行中断流产生MSI中断.更具体而言,提供系统100使标 准PCI中断能够与该串行中断流中的非PCI中断区别开.功能116包 括处理多种寄存器数据的串行IRQ控制功能.根据这种处理的结果, 非PCI中断(即,串行IRQ)以多种模式中的一种被转化成MSI兼 容格式,然后通过链路114传输到PCI-Express环境104中.\n为了解释和说明,以下是对几种寄存器组成与功能的描述.依据 串行IRQ中断信号的转化,功能110发送信息信号中断.在寄存器 118中,为了PCI与PCI-Express协议之间桥接器的正确操作,功能 110包括一个命令寄存器(即,PCI寄存器04h).这个命令寄存器 200的基本结构在图2中描述.下表提供了寄存器200中各个域的描 述.\n表1:命令寄存器描述\n 位 域名 访问 描述 15-11 RSVD r 保留.当读时返回零 10 INT_DISABLE r INTx#禁用.这一位用于启动设备专用中 断.功能110不能在内部产生任何中断, 因此这一位是只读的0. 9 FBB_ENB r 快速背对背使能.功能110不能产生快速 背对背转化,因此当读时这一位返回0. 8 SERR_ENB rw SERR#使能.当设置后,功能110在 PCI-Express接口通知致命和非致命错 误. 0-禁用非致命错误和致命错误的报告. 1-启动非致命错误和致命错误的报告. 7 STEP_ENB r 地址/数据步进控制.功能110不支持地址 /数据步进,这一位设成0. 6 PERR_ENB rw 奇偶错响应使能.状态寄存器中 DATAPAR位的屏蔽位. 0-桥接器必须忽略它检测到的任何地址 或数据奇偶错,并继续正常运行. 1-桥接器必须检测地址或数据奇偶错, 并通过设置状态寄存器中的DATAPAR位 报告它们. 5 VGA_ENB r VGA调色板探听使能.功能110不支持 VGA调色板探听,因此当读时这一位返回 0. 4 MWI_ENB r 内存写无效使能.功能110不产生内存写 无效处理 3 SPECIAL r 专用周期使能.功能110不响应专用周期 处理.当读时这一位返回0. 2 MASTER_ENB rw 总线控制使能.当设置后,使得功能110 能够初始化PCI-Express接口上的周期. 0-PCI-Express接口不能初始化处理. 桥接器必须禁止对PCI-X接口上内存与 I/O处理的响应. 1-PCI-Express接口可以初始化处理. 桥接器能够从二级接口转发内存与I/O处 理. 1 MEMORY_ENB rw 内存响应使能.设置这一位使功能110能 够响应PCI-Express接口上的内存处理. 0 IO_ENB r I/O空间使能.设置这一位使功能110能\n 够响应PCI-Express接口上的I/O处理.\n其中访问域中的“r”表示只读,而“rw”表示读/写.\n功能116启动MSI中断支持并设置命令寄存器200中的控制使 能位.功能110还包括串行IRQ模式寄存器300(即,PCI寄存器E0h) 和串行IRQ边缘控制寄存器400(即,PCI寄存器E2h),它们的结 构分别在图3和4中描述.表2和3分别提供了寄存器300和400中 各个域的描述:\n表2:串行IRQ模式寄存器描述\n 位 域名 访问 描述 7-2 RSVD r 保留.当读时返回零. 1 POLLMODE rw 轮询模式.这一位用于在持续和静止模 式中进行选择. 0-静止模式 1-持续模式 0 DRIVEMODE rw 驱动模式.这一位用于选择串行IRQ控 制器在恢复周期中的行为. 0-驱动高 1-第三态\n表3:串行IRQ边缘控制寄存器描述\n 位 域名 访问 描述 15 IRQ15_MODE rw IRQ15边缘模式. 0-边缘模式 1-等级模式 14 IRQ14_MODE rw IRQ14边缘模式. 0-边缘模式 1-等级模式 13 IRQ13_MODE rw IRQ13边缘模式. 0-边缘模式 1-等级模式 12 IRQ12_MODE rw IRQ12边缘模式. 0-边缘模式 1-等级模式 11 IRQ11_MODE rw IRQ11边缘模式. 0-边缘模式 1-等级模式 10 IRQ10_MODE rw IRQ10边缘模式. 0-边缘模式 1-等级模式 9 IRQ9_MODE rw IRQ9边缘模式. 0-边缘模式 1-等级模式 8 IRQ8_MODE rw IRQ8边缘模式. 0-边缘模式 1-等级模式 7 IRQ7_MODE rw IRQ7边缘模式. 0-边缘模式 1-等级模式 6 IRQ6_MODE rw IRQ6边缘模式. 0-边缘模式 1-等级模式 5 IRQ5_MODE rw IRQ5边缘模式. 0-边缘模式 1-等级模式 4 IRQ4_MODE rw IRQ4边缘模式. 0-边缘模式 1-等级模式 3 IRQ3_MODE rw IRQ3边缘模式. 0-边缘模式 1-等级模式 2 IRQ2_MODE rw IRQ2边缘模式. 0-边缘模式 1-等级模式 1 IRQ1_MODE rw IRQ1边缘模式. 0-边缘模式 1-等级模式 0 IRQ0_MODE rw IRQ0边缘模式. 0-边缘模式 1-等级模式\n其中访问域中的“r”表示只读,而“rw”表示读/写。\n功能110还包括串行IRQ状态寄存器500(即,PCI寄存器E4h), 其结构在图5中描述.表4提供了寄存器500中各个域的描述:\n表4:串行IRQ状态寄存器描述\n 位 域名 访问 描述 15 IRQ15 rc IRQ15断言.这表示该IRQ已断言. 0-去掉断言 1-断言 14 IRQ14 rc IRQ14断言.这表示该IRQ已断言. 0-去掉断言 1-断言 13 IRQ13 rc IRQ13断言.这表示该IRQ已断言. 0-去掉断言 1-断言 12 IRQ12 rc IRQ12断言.这表示该IRQ已断言. 0-去掉断言 1-断言 11 IRQ11 rc IRQ11断言.这表示该IRQ已断言. 0-去掉断言 1-断言 10 IRQ10 rc IRQ10断言.这表示该IRQ已断言. 0-去掉断言 1-断言 9 IRQ9 rc IRQ9断言.这表示该IRQ已断言. 0-去掉断言 1-断言 8 IRQ8 rc IRQ8断言.这表示该IRQ已断言. 0-去掉断言 1-断言 7 IRQ7 rc IRQ7断言.这表示该IRQ已断言. 0-去掉断言 1-断言 6 IRQ6 rc IRQ6断言.这表示该IRQ已断言. 0-去掉断言 1-断言 5 IRQ5 rc IRQ5断言.这表示该IRQ已断言. 0-去掉断言 1-断言 4 IRQ4 rc IRQ4断言.这表示该IRQ已断言. 0-去掉断言 1-断言 3 IRQ3 rc IRQ3断言.这表示该IRQ已断言. 0-去掉断言 1-断言 2 IRQ2 rc IRQ2断言.这表示该IRQ已断言. 0-去掉断言 1-断言 1 IRQ1 rc IRQ1断言.这表示该IRQ已断言. 0-去掉断言 1-断言 0 IRQ0 rc IRQ0断言.这表示该IRQ已断言. 0-去掉断言 1-断言\n其中访问域中的“rc”表示这个域可以由软件来读,或者通过写1 来清除.对这个域写0是无效的.\n在运行中,功能110通过链路112从功能108接收串行IRQ包. 每个包中的特定域对应于特定的IRQ信号.根据每个包中的数据,功 能110更新寄存器500中对应的IRQ数据.功能116通过其串行IRQ 控制功能监控(或轮询)寄存器500的状态。功能116通过设置寄存 器300的值控制这种轮询操作的操作。串行IRQ控制功能可以配置成 连续地监控寄存器500的状态,或根本不监控.当功能116监控寄存 器500时,那个寄存器的各个域是连续轮询的.依据IRQ[0-15]中一 个的断言,功能116产生PCI-Express MSI.\n功能116根据目前的设置寄存器400评价寄存器500中IRQ的 断言.寄存器400和500的域是互相联系的,对于寄存器500中给定 的IRQ域,寄存器400中对应的IRQ模式域表示该IRQ是以边缘模 式还是以等级模式处理.一旦确定了这些参数,功能116就可以相应 地监控通过链路120从功能108传送的物理中断信号.如果寄存器500 中的中断是以边缘模式处理的,则当对应的中断信号从低到高变化时 功能116产生一个MSI。如果中断是以等级模式处理的,则当1)对 应的中断信号从低到高变化或2)IRQ状态位被清除但中断信号仍然 为高时功能116产生一个MSI.尽管IRQ状态位设置了,但各中断信 号的状态被忽略了.\n依据系统100的初始化,功能110在环境104的能力结构中注册 用于串行IRQ[0-15]的配置信息.由此为功能110及,同等地,功能 116提供寻址与值信息,利用这些值列出用于环境104的MSI。利用 这种信息,功能116响应上述串行IRQ处理,产生MSI,并将这些 MSI通过链路112和114发送到环境104。因此,功能116提供从通 过链路112从功能108接收的物理串行IRQ信号到传送至环境104的 PCI-Express兼容MSI的有效转化。\n在此阐述的实施方案和例子是为了最好地解释本发明及其实际 应用,从而使本领域技术人员能够制造和利用本发明。但是,本领域 技术人员应当认识到以上描述和例子只是为了说明和示例.所阐述的 描述不是详尽的或者要将本发明限制到所公开的精确形式.在不背离 以下权利要求主旨和范围的前提下,根据以上讲解,许多修改和变化 都是可能的.
法律信息
- 2008-09-03
- 2006-10-11
- 2005-07-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1997-06-05
| | |
2
| | 暂无 |
2001-09-28
| | |
3
| | 暂无 |
1995-12-20
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2009-12-11 | 2009-12-11 | | |