首页 Serialized IRQ Support for PCI Systems

Serialized IRQ Support for PCI Systems

举报
开通vip

Serialized IRQ Support for PCI SystemsSerialized IRQ Support for PCI Systems Compaq Computer Corporation Cirrus Logic Incorporated National Semiconductor Corporation OPTi Incorporated Standard Microsystems Corporation Texas Instruments Incorporated VLSI Technology Incorporated Revision 6.0 ...

Serialized IRQ Support for PCI Systems
Serialized IRQ Support for PCI Systems Compaq Computer Corporation Cirrus Logic Incorporated National Semiconductor Corporation OPTi Incorporated Standard Microsystems Corporation Texas Instruments Incorporated VLSI Technology Incorporated Revision 6.0 September 1, 1995 Serialized IRQ Support for PCI Systems Scope of this Revision This is the first public release of the Serialized IRQ Support for PCI Systems specification. Revision History Revision Date Comments 6.0 9/1/95 First public release Serialized IRQ Support for PCI Systems Copyright 1995, Compaq Computer Corporation, Cirrus Logic Incorporated, National Semiconductor Corporation, OPTi Incorporated, Standard Microsystems Corporation, Texas Instruments Incorporated, and VLSI Technology Incorporated. All rights reserved. INTELLECTUAL PROPERTY DISCLAIMER COMPAQ COMPUTER CORPORATION, CIRRUS LOGIC INCORPORATED, NATIONAL SEMICONDUCTOR CORPORATION, OPTI INCORPORATED, STANDARD MICROSYSTEMS CORPORATION, TEXAS INSTRUMENTS INCORPORATED, AND VLSI TECHNOLOGY INCORPORATED (“THE COMPANIES”) PROVIDE THIS SPECIFICATION “AS IS” WITH NO WARRANTIES WHATSOEVER, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE. A LICENSE IS HEREBY GRANTED TO REPRODUCE AND DISTRIBUTE THIS SPECIFICATION FOR INTERNAL USE ONLY. NO OTHER LICENSES, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS ARE GRANTED OR INTENDED HEREBY. THE COMPANIES DISCLAIM ALL LIABILITY FOR ANY DAMAGES OF ANY KIND ARISING FROM USE OF THIS SPECIFICATION, INCLUDING BUT NOT LIMITED TO DAMAGES FOR ANY LOSS OF PROFITS, LOSS OF USE, INCIDENTAL, CONSEQUENTIAL, INDIRECT, DIRECT OR SPECIAL DAMAGES OR LIABILITY FOR INFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE COMPANIES ALSO DO NOT WARRANT OR REPRESENT THAT SUCH IMPLEMENTATION(S) WILL NOT INFRINGE SUCH RIGHTS. The Companies make no commitment to update the information herein, and retain the right to modify and revise this document without notice. 9/1/95 Version 6.0 2 Serialized IRQ Support for PCI Systems Table of Contents 1.0 SCOPE ...........................................................................................................4 2.0 ARCHITECTURAL OVERVIEW......................................................................4 3.0 Functional Specification .............................................................................................................5 3.1 Timing Diagrams For IRQSER Cycle .........................................................................................5 3.1.1 Start Frame timing with source sampled a low pulse on IRQ1 ..................................................5 3.1.2 Stop Frame Timing with Host using 17 IRQSER sampling period............................................5 3.2 IRQSER Cycle Control ................................................................................................................6 3.2.1 IRQ/Data Input Detection ........................................................................................................6 3.3 IRQ/Data Frame ...........................................................................................................................7 3.4 Stop Cycle Control ........................................................................................................................8 3.4.1 IRQSER Cycle Maximum Sampling Period .............................................................................8 3.4.2 Undefined Sample Periods .......................................................................................................8 3.4.3 Minimum IRQ/Data Time Slot..................................................................................................8 3.4.4 IRQs Local to the Host Controller .............................................................................................8 4.0 PCI TO PCI BRIDGES ...................................................................................8 4.1 Block Diagram ...............................................................................................................................9 4.2 Timing Diagrams ...........................................................................................................................9 4.3 Cycle synchronization and Stop pulse propagation ................................................................... 10 5.0 LATENCY ....................................................................................................10 5.1 EOI/ISR Read Latency ............................................................................................................... 10 6.0 HOST AND BRIDGE IRQSER CONTROL REGISTER ................................11 7.0 AC/DC SPECIFICATIONS ............................................................................11 8.0 RESET AND INITIALIZATION ......................................................................11 9/1/95 Version 6.0 3 1.0 Scope Serialized IRQ Support for PCI Systems This document describes an approach for supporting standard ISA IRQs in a PCI-based system. This approach provides a mechanism for communicating IRQ status between ISA legacy components, PCI components, and PCI system controllers. A serial interface is specified that provides a means for transferring IRQ and/or other information from one system component to a system host controller. This document is limited to the description of the serial protocol used to transfer the required information, leaving the detailed internal implementation and any specific interrupt mapping requirements to the designer. This specification was developed through the collaboration of eight of the PC industry's leading suppliers of systems, system controllers, and peripheral components. Companies involved in the creation of this spec are: Cirrus Logic/PicoPower Standard Microsystems Corporation (SMC) Compaq Computer Corporation Texas Instruments National Semiconductor VLSI Technology OPTi 2.0 Architectural Overview The IRQ/Data serializer is a Wired-OR structure that simply passes the state of one or more device’s IRQ(s) and/or Data to the host controller. The transfer can be initiated by either a device or the host controller. Both high and low transitions are reported in this protocol. A transfer, called an IRQSER Cycle, consists of three frame types: one Start Frame, several IRQ/Data Frames, and one Stop Frame. This protocol uses the PCI Clock as its clock source and conforms to the PCI bus electrical specification. 9/1/95 Version 6.0 4 Serialized IRQ Support for PCI Systems 3.0 Functional Specification 3.1 Timing Diagrams For IRQSER Cycle 3.1.1 Start Frame timing with source sampled a low pulse on IRQ1 START FRAMEIRQ0 FRAMEIRQ1 FRAMEIRQ2 FRAMESLorHRTSRTSRTSRTH PCICLK 1STARTIRQSER IRQ1IRQ1Host ControllerNoneNoneDrive Source H=Host Control SL=Slave Control R=Recovery T=Turn-around S=Sample 1. Start Frame pulse can be 4-8 clocks wide. See Sec. 4.1 for description. 3.1.2 Stop Frame Timing with Host using 17 IRQSER sampling period IRQ14IRQ15IOCHCK#STOP FRAMENEXT CYCLEFRAMEFRAMEFRAME2SRTSRTSRTHRTI PCICLK 13STARTSTOPIRQSER NoneIRQ15NoneHost ControllerDriver H=Host Control R=Recovery T=Turn-around S=Sample I= Idle. 1. Stop pulse is 2 clocks wide for Quiet mode, 3 clocks wide for Continuous mode. See Section 3.2 for mode definition. 2. There may be none, one or more Idle states during the Stop Frame. See Section 4.3 for explanation 3. The next IRQSER cycle’s Start Frame pulse may or may not start immediately after the turn-around clock of the Stop Frame. 9/1/95 Version 6.0 5 Serialized IRQ Support for PCI Systems 3.2 IRQSER Cycle Control There are two modes of operation for the IRQSER Start Frame. 1) Quiet (Active) Mode : Any device may initiate a Start Frame by driving the IRQSER low for one clock, while the IRQSER is Idle. After driving low for one clock the IRQSER must immediately be tri-stated without at any time driving high. A Start Frame may not be initiated while the IRQSER is Active. The IRQSER is Idle between Stop and Start Frames. The IRQSER is Active between Start and Stop Frames. This mode of operation allows the IRQSER to be Idle when there are no IRQ/Data transitions which should be most of the time. Once a Start Frame has been initiated the Host Controller will take over driving the IRQSER low in the next clock and will continue driving the IRQSER low for a programmable period of three to seven clocks more (See section 4.1 below.). This makes a total low pulse width of four to eight clocks. Finally, the Host Controller will drive the IRQSER back high for one clock, then tri-state. Any IRQSER Device which detects any transition on an IRQ/Data line for which it is responsible must initiate a Start Frame in order to update the Host Controller unless the IRQSER is already in an IRQSER Cycle and the IRQ/Data transition can be delivered in that IRQSER Cycle. 2) Continuous (Idle) Mode : Only the Host controller can initiate a Start Frame to update IRQ/Data line information. All other IRQSER agents become passive and may not initiate a Start Frame. IRQSER will be driven low for four to eight clocks by Host Controller. This mode has two functions. It can be used to stop or idle the IRQSER or the Host Controller can operate IRQSER in a continuous mode by initiating a Start Frame at the end of every Stop Frame. An IRQSER mode transition can only occurs during the Stop Frame. Upon reset, IRQSER bus is defaulted to Continuous mode, therefore only the Host controller can initiate the first Start Frame. Slaves must continuously sample the Stop Frames pulse width to determine the next IRQSER Cycle’s mode. 3.2.1 IRQ/Data Input Detection To assure that an IRQSER agent does not miss a narrow low going IRQ/Data input pulse, it is recommended that an IRQSER device hold a low going IRQ/Data input through a low level extender. Also, according to the interrupt controller specification, a low going pulse must be at least 100nS wide to guarantee its recognition. Therefore if Legacy compatibility is required of the IRQSER agent, it is further recommended that a low going pulse of less then 40nS to 80nS be digitally filtered ( i.e. ignored ). IRQSER agents should hold any high to low transition on an IRQ/Data input that passes through the filter and keep it held low until the low state has successfully been transmitted to Host through the IRQSER bus. On the other hand, a short high going pulse is considered a glitch also in AT system and should be filtered by the IRQSER agent. A high going pulse of less then 40nS to 80nS should be digitally filtered. In order to prevent adding latency with the filters, it is also recommended that the START generation logic bypass the high and low going filters and generate a START immediately upon detection of a transition on the IRQ/Data input. This will sometimes cause an IRQSER Cycle without a change of state on any of the IRQ/Data signals. 9/1/95 Version 6.0 6 Serialized IRQ Support for PCI Systems 3.3 IRQ/Data Frame Once a Start Frame has been initiated, all IRQSER Devices must watch for the rising edge of the Start Pulse and start counting IRQ/Data Frames from there. Each IRQ/Data Frame is three clocks: Sample phase, Recovery phase, and Turn-around phase. During the Sample phase the IRQSER Device must drive the IRQSER low, if and only if, its last detected IRQ/Data value was low. If its detected IRQ/Data value is high, IRQSER must be left tri-stated. During the Recovery phase the IRQSER Device must drive the IRQSER high, if and only if, it had driven the IRQSER low during the previous Sample Phase. During the Turn-around Phase all IRQSER Devices must be tri- stated. All IRQSER Devices must drive the IRQSER line low at the appropriate sample point if its associated IRQ/Data line is low, regardless of which device initiated the Start Frame. The Sample Phase for each IRQ/Data follows the low to high transition of the Start Frame pulse by a number of clocks equal to the IRQ/Data Frame times three, minus one. (e.g. The IRQ5 Sample clock is the sixth IRQ/Data Frame, (6 x 3) - 1 = 17th clock after the rising edge of the Start Pulse.) IRQSER Sampling Periods IRQ/Data Frame Signal Sampled # of clocks past Start 1 IRQ0 2 2 IRQ1 5 3 SMI# 8 4 IRQ3 11 5 IRQ4 14 6 IRQ5 17 7 IRQ6 20 8 IRQ7 23 9 IRQ8 26 10 IRQ9 29 11 IRQ10 32 12 IRQ11 35 13 IRQ12 38 14 IRQ13 41 15 IRQ14 44 16 IRQ15 47 17 IOCHCK# 50 18 INTA# 53 19 INTB# 56 20 INTC# 59 21 INTD# 62 32:22 Unassigned 95 At the end of each Sample Phase the Host Controller will sample the state of the IRQSER line and replicate the status of the original IRQ/Data line at the input to the 8259 Interrupt Controller. Slot # 21-18 (INTA# / INTB# / INTC# / INTD# ) is optional. The required minimum IRQ/Data Frames is 17 (See Sec. 3.4.3 for length definition). 9/1/95 Version 6.0 7 Serialized IRQ Support for PCI Systems 3.4 Stop Cycle Control Once all IRQ/Data Frames have completed the Host Controller will terminate IRQSER activity by initiating a Stop Frame. Only the Host Controller can initiate the Stop Frame. A Stop Frame is indicated when the IRQSER is low for two or three clocks. If the Stop Frame’s low time is two clocks then the next IRQSER Cycle’s sampled mode is the Quiet mode; and any IRQSER device may initiate a Start Frame in the second clock or more after the rising edge of the Stop Frame’s pulse. If the Stop Frame’s low time is three clocks then the next IRQSER Cycle’s sampled mode is the Continuos mode; and only the Host Controller may initiate a Start Frame in the second clock or more after the rising edge of the Stop Frame’s pulse. 3.4.1 IRQSER Cycle Maximum Sampling Period Based on the maximum of 32 sampling slots assignment, plus Start / Stop pulse width variations, the longest IRQSER Cycle is approximately 110 PCI clocks. 3.4.2 Undefined Sample Periods There are 17 IRQ/Data Frames defined for IRQs, SMI#, and IOCHCK#, and there are four optional IRQ/Data Frames, 18 through 21. The remaining eleven Frames are unassigned and may be utilized for System specific information transfer. 3.4.3 Minimum IRQ/Data Time Slot The Host Controller must support IRQ/Data Frames 1 to 17. This produces the minimum IRQSER Cycle. The Host controller will have the Minimum IRQSER sampling period defined (programmable or hard-wired) in IRQSER Control Register bit [5..2] (See Section 6.0). All IRQSER Devices must decode the STOP Frame to terminate IRQSER Cycle sampling. For PCI to PCI bridge, IRQSER sampling period must be programmable and be set to same value as the Host’s Controller. 3.4.4 IRQs Local to the Host Controller The Host Controller is not required to broadcast its local IRQs on the IRQSER bus, therefore not all IRQs are visible on the IRQSER bus. 4.0 PCI to PCI Bridges PCI to PCI Bridges must buffer the IRQSER from the secondary to the primary PCI Bus in order to support the IRQSER protocol. A bridge may transfer IRQSER status from the secondary to the primary PCI Bus either synchronously or asynchronously. In a synchronous system, the Host Controller and the PCI to PCI Bridge must provide for a programmable Start pulse width of four, six, or eight clocks. The following diagram shows a hierarchical IRQSER system with a synchronous bridge design. IRQSER1/2/3 is synchronous to IRQSER with different Start Frame pulse width settings. 9/1/95 Version 6.0 8 Serialized IRQ Support for PCI Systems 4.1 Block Diagram SLAVE 2 SLAVE 1 HOST START = 8 CLK IRQSER0 BRIDGE 1 BRIDGE 2 START = 6 CLK START = 6 CLK IRQSER1 IRQSER2 BRIDGE 3 START = 4CLK SLAVE 3 IRQSER3 SLAVE 4 4.2 Timing Diagrams Host initiated (down-stream) IRQSER Cycle START0 START0 STOP0 IRQSER0 START1 STOP1 START1 IRQSER1 START2 STOP2 START2 IRQSER2 START3 START3 STOP3 IRQSER3 Slave initiated (up-stream) IRQSER Cycle (Slave 3 followed by Slave 4) START0 STOP0 START0 IRQSER0 START1 START1 STOP1 IRQSER1 START2 START2 STOP2 IRQSER2 START3 STOP3 START3 IRQSER3 9/1/95 Version 6.0 9 Serialized IRQ Support for PCI Systems 4.3 Cycle synchronization and Stop pulse propagation The bridge is responsible for synchronizing its secondary IRQSER Cycle with the primary Host’s IRQSER Cycle. An IRQSER Cycle may be initiated by either a primary or a secondary IRQSER agent(s). In case of an up-stream (secondary bus initiated) cycle, the Bridge will buffer secondary IRQSER input and report to primary bus as an IRQSER slave. For a down-stream (primary bus initiated) IRQSER Cycle, the Bridge will drive Start Frame on its secondary bus as the IRQSER Host would. In both cases the Bridge will operate the Start Frame on the secondary bus as if it were a Host. The Stop Frame will propagate in an up-stream (from primary to secondary) direction only. By counting the primary side IRQ/Data Frames, the Bridge can detect the primary bus Stop Frame pulse and generate the secondary side Stop Frame pulse. The Stop pulse width must be same for the primary and the secondary bus. If the secondary bus’s IRQ/Data Frames finish before the primary bus (up-stream case), the Bridge must insert idle state(s) in its secondary IRQSER bus while waiting for the primary bus’s Stop Frame pulse. This will guarantee that the primary bus Host finishes the IRQSER Cycle first and most up-stream secondary bus finishes the IRQSER Cycle last. 5.0 Latency Latency for IRQ/Data updates over the IRQSER bus in bridge-less systems with the minimum IRQ/Data Frames of seventeen, will range up to 96 clocks (3.84uS with a 25MHz PCI Bus or 2.88uS with a 33MHz PCI Bus). If one or more PCI to PCI Bridge’s are added to a system, the latency for IRQ/Data updates from the secondary or tertiary buses will be a few clocks longer for synchronous buses, and approximately double for asynchronous buses. 5.1 EOI/ISR Read Latency Any serialized IRQ scheme has a potential implementation issue related to IRQ latency. IRQ latency could cause an EOI or ISR Read to precede an IRQ transition that it should have followed. This could cause a system fault. The host interrupt controller is responsible for ensuring that these latency issues are mitigated. The recommended solution is to delay EOIs and ISR Reads to the interrupt controller by the same amount as the IRQSER Cycle latency in order to ensure that these events do not occur out of order. 9/1/95 Version 6.0 10 Serialized IRQ Support for PCI Systems 6.0 Host and Bridge IRQSER Control Register Size 6 bits or larger Type Write/Read Power up xxxx00h 5 4 3 2 1 0 START Frame Pulse Width 00 = 4 CLK 01 = 6 CLK 10 = 8 CLK # of IRQ/Data Frames 0000 = 17 Slots 0001 = 18 Slots ................... 1111 = 32 Slots Bits 0-1 are the Start Frame’s pulse width selection. Bits 2-5 are number of IRQ/Data Frames. Host is required to support minimum of 17 IRQ/Data Frames and maximum of 32 IRQ/other Frames. For a Host that doesn’t have programmability in the number of IRQ/Data Frames, these four bits can be hardwired. In order to match the Host Controller’s IRQ/Data Frames setting, a PCI to PCI bridge must implement the number of IRQ/Data Frames register . *** NOTE : There is no programming bit required for IRQSER Slaves. *** NOTE : The bit location shown in above chart is for reference only. Actual implementation may have different bit combination. 7.0 AC/DC Specifications All IRQSER agents must drive/sample IRQSER synchronously related to the rising edge of PCI bus clock. IRQSER signal conforms to the electrical specification of PCI bus. Electrical parameters will follow PCI specification section 4, sustained tri-state. 8.0 Reset and Initialization The IRQSER bus uses PCIRST# as its reset signal and follows the PCI bus reset mechanism. The IRQSER pin is tri-stated by all agents while PCIRST# is active. With reset, IRQSER Slaves and Bridges are put into the (continuous) IDLE mode. The Host Controller is responsible for starting the initial IRQSER Cycle to collect system’s IRQ/Data default values. The system then follows with the Continuous/Quiet mode protocol (Stop Frame pulse width) for subsequent IRQSER Cycles. It is Host Controller’s responsibility to provide the default values to 8259’s and other system logic before the first IRQSER Cycle is performed. For IRQSER system suspend, insertion, or removal application, the Host controller should be programmed into Continuous (IDLE) mode first. This is to guarantee IRQSER bus is in IDLE state before the system configuration changes. 9/1/95 Version 6.0 11
本文档为【Serialized IRQ Support for PCI Systems】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:20
分类:互联网
上传时间:2018-04-02
浏览量:118