ISA/PCI Question...IRQ Sharing

Discussion in 'Computing' started by Matteo, Oct 26, 2003.

  1. Matteo

    Matteo Guest

    * Why are level sensitive interrupt signals generated by devices,
    instead of edge sensitive signals?

    * Why must a PCI bus be implemented rather than ISA?

    * Couple a non PNP adapter card share an IRQ?

    Been searching for some definitie answers, but found mostly just very
    brief general overviews

    Thanks,
    Matteo
     
    Matteo, Oct 26, 2003
    #1
    1. Advertisements

  2. Matteo

    Rod Speed Guest

    Matteo <matteo-at-iinet-dot-net-dot-au> wrote in message
    news:3f9bfbe7$0$23595$...

    > * Why are level sensitive interrupt signals generated
    > by devices, instead of edge sensitive signals?


    Because thats a better, more reliable system.

    > * Why must a PCI bus be implemented rather than ISA?


    PCI has much more capability.

    > * Couple a non PNP adapter card share an IRQ?


    In theory, yes. In practice there arent any non
    PNP cards that can share an IRQ in the sense of
    both using the IRQ simultaneously as opposed to
    one or the other card using a single IRQ at a time.

    > Been searching for some definitie answers, but
    > found mostly just very brief general overviews
     
    Rod Speed, Oct 26, 2003
    #2
    1. Advertisements

  3. "Matteo" <matteo-at-iinet-dot-net-dot-au> wrote in message
    news:3f9bfbe7$0$23595$...
    > * Why are level sensitive interrupt signals generated by devices,
    > instead of edge sensitive signals?


    Why ? Why not ?

    It seems to be straightforward to use level sensitive, and no real benefit
    to be stuffed doing edge sensitive.

    > * Why must a PCI bus be implemented rather than ISA?


    Because ISA was 8 bit, and then 16 bit data.

    It was 8Mhz, which is slow.


    It had a limitted address range too, limited to the first 16 megabytes. Your
    main ram had to share this range.
    Without any fancy tricks, there were only about 128K to use for access to
    ISA devices - this was the area between 640k and 1024k that was dedicated to
    IO devices.

    ISA video cards used "bank switching" to allow access to the full 1 or
    2megabytes of video ram. They used a 64k block of addresses in the IO area
    and that block of addresses was changed via IO registers to point to
    different places in the video ram.

    Some ISA devices, such as video capture cards, did use the address range
    between 15M and 16M to provide a 1 megabyte sized buffer. Your motherboard
    has to support "memory hole" for this to work. And your OS has to support it
    too.


    PCI doesnt add interrupts, but it does allow sharing interrupts.
    It also allows recognition and configuration of the resources used by the
    cards.

    The memory address range is increased dramatically, to allow fast and
    efficient access to dual port memory on the cards, with linear fashion.

    > * Couple a non PNP adapter card share an IRQ?


    Well not at the same time. The main reason is that people who wrote device
    drivers assumed that ISA cards would not share IRQ's.

    There was the potential for an electrical conflict (a short circuit, by
    having one device trying to send the IRQ line to 5volts, and another
    shorting it to earth to hold it at 0 volts) but in practice the conflict
    isnt destructive.


    Sharing of PNP ISA irq's is also a problem., isnt it ?

    > Been searching for some definitie answers, but found mostly just very
    > brief general overviews
    >
    > Thanks,
    > Matteo
    >
     
    Leon The Peon, Oct 27, 2003
    #3
  4. Matteo

    Rod Speed Guest

    "Leon The Peon" <> wrote in message news:bniacd$3eh$...
    >
    > "Matteo" <matteo-at-iinet-dot-net-dot-au> wrote in message
    > news:3f9bfbe7$0$23595$...
    > > * Why are level sensitive interrupt signals generated by devices,
    > > instead of edge sensitive signals?

    >
    > Why ? Why not ?
    >
    > It seems to be straightforward to use level sensitive, and no real benefit
    > to be stuffed doing edge sensitive.
    >
    > > * Why must a PCI bus be implemented rather than ISA?

    >
    > Because ISA was 8 bit, and then 16 bit data.
    >
    > It was 8Mhz, which is slow.
    >
    >
    > It had a limitted address range too, limited to the first 16 megabytes. Your
    > main ram had to share this range.
    > Without any fancy tricks, there were only about 128K to use for access to
    > ISA devices - this was the area between 640k and 1024k that was dedicated to
    > IO devices.
    >
    > ISA video cards used "bank switching" to allow access to the full 1 or
    > 2megabytes of video ram. They used a 64k block of addresses in the IO area
    > and that block of addresses was changed via IO registers to point to
    > different places in the video ram.
    >
    > Some ISA devices, such as video capture cards, did use the address range
    > between 15M and 16M to provide a 1 megabyte sized buffer. Your motherboard
    > has to support "memory hole" for this to work. And your OS has to support it
    > too.
    >
    >
    > PCI doesnt add interrupts, but it does allow sharing interrupts.
    > It also allows recognition and configuration of the resources used by the
    > cards.
    >
    > The memory address range is increased dramatically, to allow fast and
    > efficient access to dual port memory on the cards, with linear fashion.
    >
    > > * Couple a non PNP adapter card share an IRQ?


    > Well not at the same time. The main reason is that people who
    > wrote device drivers assumed that ISA cards would not share IRQ's.


    Nope, the main reason is because ISA cant do it.

    PCI can.

    > There was the potential for an electrical conflict (a short circuit,
    > by having one device trying to send the IRQ line to 5volts,


    Nope, that doesnt produce a short circuit.

    > and another shorting it to earth to hold it at 0 volts)
    > but in practice the conflict isnt destructive.


    Because it isnt a short circuit.

    > Sharing of PNP ISA irq's is also a problem., isnt it ?


    > > Been searching for some definitie answers, but found mostly just very
    > > brief general overviews
    > >
    > > Thanks,
    > > Matteo
    > >

    >
    >
     
    Rod Speed, Oct 27, 2003
    #4
  5. PCs were built with the assumption that IRQs would not be shared. Many
    cards used 74LS125 chips to drive the IRQ lines - these are wired to pull up
    hard, but disconnect from the IRQ line instead of pulling it down. I think
    this would have prevented damage when 2 or more cards shared an interupt
    line, even if the cards tended not to work properly.

    The *rising* edge of the IRQ signal triggers the Peripheral Interrupt
    Controller, but the card has to hold the line high until the interrupt is
    serviced.

    I have schematics for ISA cards which are supposed to share an interrupt,
    but the circuit looks suspect - weird stuff with monostables driving the IRQ
    line - it probably worked with multiple cards of the same type from the same
    manufacturer. Even then, you had to write a special interrupt handler,
    which went and read the registers in the chips on the cards to see which
    ones had an interrupt waiting to be serviced.

    I used to stack machines with cards and write the interrupt handlers, and I
    took a lot of trouble to make sure that no interrupts were shared between
    cards. Even then, you could have 2 or 3 chips on a single ISA card, all
    sharing an IRQ and the interrupt handler had to check all chips on the board
    to see if an interrupt was waiting service.

    All this was DOS stuff with ISA.

    I don't know enough about PCI to comment on how the interrupts are handled,
    but I get the feeling that there is provision to work out exactly which card
    caused a particular interrupt, even if that interrupt is shared. PCI
    interrupts are not shared in the sense that they pull the same IRQ line -
    rather the separate card interrupts are channelled to the interrupt
    controller in a software configurable way.

    I have found it easy to use PCI cards under Windows - install the device
    driver supplied by the manufacturer. Write your Windows program in VB,
    Delphi, C/C++ etc and communicate with the card using the supplied DLL.
    Under Windows, you can't easily do time critical stuff the way you could
    under DOS.

    Nowadays, I try to keep time-critical stuff running in an external
    microprocessor outside the PC, and run Windows as a human interface
    communicating with the PC via RS232 etc. However, people are still using a
    PC running DOS for real time work.

    The ISA bus is dying out as manufacturers move to PCI.

    Roger



    "Matteo" <matteo-at-iinet-dot-net-dot-au> wrote in message
    news:3f9bfbe7$0$23595$...
    > * Why are level sensitive interrupt signals generated by devices,
    > instead of edge sensitive signals?
    >
    > * Why must a PCI bus be implemented rather than ISA?
    >
    > * Couple a non PNP adapter card share an IRQ?
    >
    > Been searching for some definitie answers, but found mostly just very
    > brief general overviews
    >
    > Thanks,
    > Matteo
    >
     
    Roger Lascelles, Oct 27, 2003
    #5
  6. Matteo

    T.N.O. Guest

    Rod Speed wrote:
    >>Well not at the same time. The main reason is that people who
    >>wrote device drivers assumed that ISA cards would not share IRQ's.

    > Nope, the main reason is because ISA cant do it.
    > PCI can.


    Really? wow, that machine sitting next to me running ISA modem and ISA
    sound card on the same IRQ must be worth a heap... as it seems to e
    doing the impossible.

    It also depends on the OS that you are using, XP can force them to use
    the same IRQ's.
     
    T.N.O., Oct 27, 2003
    #6
  7. Matteo

    Rod Speed Guest

    T.N.O. <> wrote in message
    news:...
    > Rod Speed wrote:


    >>> Well not at the same time. The main reason is that people who
    >>> wrote device drivers assumed that ISA cards would not share IRQ's.


    >> Nope, the main reason is because ISA cant do it.
    >> PCI can.


    > Really? wow, that machine sitting next to me running
    > ISA modem and ISA sound card on the same IRQ must
    > be worth a heap... as it seems to be doing the impossible.


    Nope, you just dont notice the problem with sharing an IRQ with those devices.

    > It also depends on the OS that you are using,


    Nope.

    > XP can force them to use the same IRQ's.


    Even dos can use the same IRQ for two ISA devices.

    Doesnt do a damned thing about the problem at the electrical level tho.
     
    Rod Speed, Oct 27, 2003
    #7
  8. Matteo

    Bubby Guest

    > The ISA bus is dying out as manufacturers move to PCI.
    >

    And a crying shame that there are so few motherboards that can handle an ISA
    card.

    I payed my hard earnt dollars for one that has one ISA slot and it restricts
    me to onboard sound and video and to an AMD chip, but I needed it so I could
    keep my old gear running 'cause I didn't want to spend an even bigger
    fortune upgrading all my extra bits like scsi scanners.

    Peter
     
    Bubby, Oct 28, 2003
    #8
  9. Matteo

    T.N.O. Guest

    Bubby wrote:
    > I payed my hard earnt dollars for one that has one ISA slot and it restricts
    > me to onboard sound and video and to an AMD chip, but I needed it so I could
    > keep my old gear running 'cause I didn't want to spend an even bigger
    > fortune upgrading all my extra bits like scsi scanners.


    There is still a P4 mobo that has ISA. ~$500 NZ
     
    T.N.O., Oct 28, 2003
    #9
  10. Matteo

    Mike Harding Guest

    On Tue, 28 Oct 2003 20:37:11 +1000, "Bubby" <>
    wrote:

    >> The ISA bus is dying out as manufacturers move to PCI.
    >>

    >And a crying shame that there are so few motherboards that can handle an ISA
    >card.
    >
    >I payed my hard earnt dollars for one that has one ISA slot and it restricts
    >me to onboard sound and video and to an AMD chip, but I needed it so I could
    >keep my old gear running 'cause I didn't want to spend an even bigger
    >fortune upgrading all my extra bits like scsi scanners.


    Agreed. Not only that but it's quite possible to design an
    interface to ISA using standard logic chips and therefore
    pretty easy to develop special purpose cards, interfacing
    to PCI is much, much harder and a lot more expensive.

    Mike Harding
     
    Mike Harding, Oct 28, 2003
    #10
  11. Matteo

    David Segall Guest

    "Bubby" <> wrote:

    >> The ISA bus is dying out as manufacturers move to PCI.
    >>

    >And a crying shame that there are so few motherboards that can handle an ISA
    >card.
    >
    >I payed my hard earnt dollars for one that has one ISA slot and it restricts
    >me to onboard sound and video and to an AMD chip, but I needed it so I could
    >keep my old gear running 'cause I didn't want to spend an even bigger
    >fortune upgrading all my extra bits like scsi scanners.
    >
    >Peter
    >

    I doubt if there are any "standard" ISA cards that you can't replace
    with a PCI one for under fifty dollars. By standard I mean commonly
    used; I'm excluding electronic control or alarm monitoring.
     
    David Segall, Oct 29, 2003
    #11
  12. On Mon, 27 Oct 2003 00:51:49 +0800, "Matteo"
    <matteo-at-iinet-dot-net-dot-au> wrote:

    I've been busy. Is there still any interest in this, or was this
    homework for some one ?


    >* Why are level sensitive interrupt signals generated by devices,
    >instead of edge sensitive signals?


    Because open-collector (open-drain), level-sensitive signals allow
    sharing to occur, with less circuitry. That is, if you use a pull-up
    resistor (or a current source), when any one device wants to signal an
    interrupt, they simple pull-down (sink the current of) the line, and
    everyone listening/using the line knows something wants attention,
    simply by probing the state of the line, at any time. The OS is then
    charged with the responsabilty of determining what needs that attention.

    With edge-triggered, there needs to be "toggling circuitry", and the
    only place most PC's have that circuitry is in the Interrupt controller.
    Specifically, the 8259 Programmable Interrupt Controller (and it's
    derrivatives) or PIC for short. Modern PC's now use an Advanced version
    of these called APICs, and their various derivatives.

    >
    >* Why must a PCI bus be implemented rather than ISA?


    ?

    >* Couple a non PNP adapter card share an IRQ?


    I presume you meant "Could" not "Couple".

    The answer is, it depends on many things, but the bottom line is, not
    reliably, and not typically.

    Because ISA uses edge-triggering, and the PIC doesn't have a counter to
    increment and decrement the number of IRQ's received or serviced, then
    there are windows of opportunity where interrupts can be missed. That
    aside, a well designed interrupt servicing routine can, in many
    circumstances, workaround these limitations. The keys are to "service"
    the PIC as quick as possible, and to know which devices are sharing the
    interrupt line. Oh, and the sharing devices need to support a method of
    Querying, as in calling everyone you know (on the telephone) and asking
    "Hey, did you just call ?".

    >
    >Been searching for some definitie answers, but found mostly just very
    >brief general overviews


    If I have time, then I'll answer what I (reasonably) can... :)

    ___________________________________________
    Richard Rudek. MicroDek, Sydney, Australia.
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
     
    Richard Rudek, Nov 3, 2003
    #12
  13. Matteo

    Matteo Guest

    it was a question on one of my labs
    however i do have an interest in it as i have recently completed my
    electronics engineering advanced diploma, now completing computer
    systems engineering

    its all good and well to understand the general concept, but i like to
    get into the nitty gritty of it all

    but your reply was quite in depth, thankyou :)
     
    Matteo, Nov 3, 2003
    #13
    1. Advertisements

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Sid Ney
    Replies:
    1
    Views:
    225
    booster
    Jul 14, 2003
  2. Shep©
    Replies:
    1
    Views:
    209
    Shep©
    Oct 1, 2003
  3. claude
    Replies:
    20
    Views:
    732
    Claude
    Dec 14, 2004
  4. Peter Piper
    Replies:
    5
    Views:
    323
    Peter Piper
    Aug 13, 2005
  5. -nos1eep
    Replies:
    0
    Views:
    626
    -nos1eep
    Mar 28, 2006
Loading...

Share This Page