Understanding IRQ assignments table for A7V880 MB... (repost)

Discussion in 'Asus' started by G.L. Cross, Aug 4, 2004.

  1. G.L. Cross

    G.L. Cross Guest

    I've been building my own systems for about five years now
    but one thing has always left me guessing as to exactly what
    information is being conveyed by the tables that appear in
    every MB manual I've seen regarding the expansion slots
    and which ones share IRQs. Here is the table from the
    MB manual and it seems to do nothing but confuse me so
    I am here hoping someone can explain exactly what this
    information means:

    PCI slot 1 --- --- --- used
    PCI slot 2 shared --- --- ---
    PCI slot 3 --- used --- ---
    PCI slot 4 --- --- shared ---
    PCI slot 5 shared --- --- ---
    Gigabit LAN --- --- shared ---
    AGP slot shared --- --- ---

    OK here's the thing, every other time I've seen these
    tables they have had all the columns filled in. So my
    questions are: How does INT A, INT B, INT C,
    and INT D relate to the IRQ assigned to a device in
    a particular slot. And what do they mean by "used"
    (I hope this does not mean I can't install a card into
    PCI slots 1 and 3). And finally, how do I determine
    which of these are *really* "shared" slots (I sure hope
    the AGP isn't shared with slots 2 and 5). And one
    final question: How do I determine if a device driver
    supports IRQ sharing?

    I want to configure this system with Windows-XP PRO
    and the following add-on cards:

    (1) ASUS V9180 Magic GeForce MX 440 8X AGP (primary display)
    (2) Visiontek GeForce4 MX420 PCI (second display)
    (3) ATI TV Wonder Value Edition PCI (TV-Tuner and Video Capture)
    (4) 3Com/US Robotics 56Kbps VOICE/FAX modem PCI

    (5) ADI AD1888 SoundMAX 6-channel audio with S/PDIF interface (onboard)
    (6) Marvell 88E8001 Gigabit LAN adapter (onboard)

    You may send e-mail if you wish provided it is NOT SPAM. To decode my valid
    E-mail address, you will need to remove the <NOSPAM.> and the <666>. I had
    to get complicated as spammers are now doing the obvious removal of the word
    "NOSPAM" to compile their lists of e-mails...

    - G.L. Cross
    G.L. Cross, Aug 4, 2004
    1. Advertisements

  2. The IRQ is not assigned to the devices in any slots (unless you're
    talking ISA slots). There's just a mapping scheme programmed into the
    chipset between INTs and IRQs or, more precisely, between the chipset's
    INT- inputs and it's IRQ output. In other words, the chipset has say 4
    or 5 inputs on which all possible INT-type interrupt originators must be
    connected. Then the chipset can be programmed to generate say IRQ10 when
    input 1 is triggered, IRQ11 when input 2 is triggered, IRQ 9 when input
    3 is triggered etc.
    Since there are more than 20 INT-type possible interrupt origins on the
    motherboard ( 4 x 5 PCI slots, 2 x 1 AGP slot, plus whatever other
    onboard PCI devices) which all must connect through those 4-5 inputs,
    some sharing is bound to happen. This is *hardwired* sharing.

    The best guess from above table is:
    Let's call the chipset's INT-type inputs input1 - input4
    Since the important INT line on any given PCI slots is INTA (as all
    single function PCI devices must use INTA by definition) the above table
    actually only shows how the INTA line on the slots is connected. So we have:

    The INTA line on PCI slot 1 connects to input4, which is therefore
    *used* but nothing else connects to that input so it is not *shared*

    The INTA line on PCI slot 2 connects to input 1, onto which also connect
    the INTA lines of PCI slot 5 and the AGP slot, and therefore is *shared*
    This automatically gives explanation for PCI slot 2 and the AGP slot

    The INTA line on PCI slot 3 connects to input 2, which is therefore
    *used* but not share (same case as PCI slot 1)

    The INTA line of PCI slot 4 connects to input3. The onboard PCI gigabit
    line (which uses a single INT line too) has its line also connected to
    input3. Therefore that input is *shared*

    And what do they mean by "used"
    Get serious now :) Of course you can install cards. The worst
    restriction I can recall on PCI slots on 'modern' systems had to do with
    slave-only PCI slots which wouldn't take busmaster cards and that was
    like in the 1999 days. There may be a million reasons a motherboard
    can't take a particular card on a particular slot but nothing of this kind.

    And finally, how do I determine
    Easy answer: there's no such thing as shared slots except maybe PCI/ISA
    or PCI/ACR etc slots which line up to the same expansion slot :p
    Complicated answer: After we establish that by 'shared slots' we
    actually imply slots which lead to shared IRQs, the answer is that all
    slots are "shared"! It really depends on how many INTs a particular card
    will use. And the diagram presented in the manual doesn't mention how
    INTB INTC and INTD are routed (they're usually circularly shifted around
    If we restrict ourselves to PCI cards that only make use of INTA, then
    the table can be used to draw conclusions:
    slots marked *used* are not shared and have have an independent IRQ
    assigned to the device they accomodate.
    slots marked *shared* are inevitable shared with the slots/devices which
    also are marked *shared* on the same column. In short:

    PCI slot 1 can have an independent IRQ
    PCI slot 3 can have an independent IRQ
    PCI slots 2, 5 and the AGP slot will always have the same IRQ
    PCI slot 4 and the onboard LAN will always have the same IRQ

    However I restate that this only applies when INTA only cards are used
    (as IRQs refer to the actual devices on the cards that reside in the
    slots, rather than to the slots themselves).
    Also, this mapping scheme is rather irrelevant with ACPI which will
    install everything on a single IRQ anyway, or with modern APIC-enabled
    motherboards which can then spread the PCI devices over more than 4 IRQs.

    So either way IRQ sharing shouldn't be much of a concern. The table has
    value when running in classic PIC mode with only IRQs 0-15 present.

    And one
    Ask the driver coder or just see for yourself :) Usually this is a
    non-issue these days though. Even the SB live!'s drivers support IRQ
    sharing and SMP properly now!
    Here's a sample config:

    AGP = Asus
    PCI 1 = ati tv
    PCI 2 = visiontek
    PCI 3 = modem

    Nikolaos Tampakis, Aug 8, 2004
    1. Advertisements

  3. G.L. Cross

    G.L. Cross Guest

    [ stuff removed ]
    Question: Since I will be using the modem ONLY for sending and receiving
    why would you place it in PCI 3 giving it a dedicated IRQ? I've always
    that sharing IRQs with two or more high-data throughput devices would impair
    performance. You've got the two graphics cards sharing an IRQ (on PCI-2 and
    the AGP).
    I was going to "share" the modem with the onboard LAN since the modem would
    not be used very much. I was going to leave PCI-2 and PCI-5 unused to get
    the maximum
    performance out of the AGP for game play.

    Oh, and thanks for the excellent description of how the interrupt controller
    actually works!

    - Gordon
    G.L. Cross, Aug 9, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.