Announcement

Collapse
No announcement yet.

ACPI and APIC confusion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ACPI and APIC confusion

    After all this time I still don't know what they really do. On my current motherboard I only have an option for PIC or APIC use, the ACPI ON/OFF option in the Power section of the bios isn't present. It isn't displayed when pressing Ctrl+F1 (for accessing more advanced options) either.

    When I built this rig, I installed XP with APIC and I assume it was also installed in ACPI mode since the CPU was listed in device manager as ACPI compliant or something and I had like 20+ IRQs available and many devices (videocard, tuner, soundcard, modem, NIC, some USB controllers...) were sharing IRQ16.
    Well, games would stutter and sound paused for brief moments, so I decided to reinstall as Standard PC (pressing F5 during setup). I also chose PIC in the bios instead of APIC. My IRQ list looks something like this:


    IRQ 0 System timer OK
    IRQ 1 Easy Internet Keyboard OK
    IRQ 3 Creative SB Live! series OK
    IRQ 4 Intel(R) 536EP V.92 Modem OK
    IRQ 6 Standard floppy disk controller OK
    IRQ 7 RADEON 9700 PRO OK
    IRQ 7 Intel(R) 82801EB USB Universal Host Controller - 24D2 OK
    IRQ 7 Intel(R) 82801EB USB Universal Host Controller - 24DE OK
    IRQ 8 System CMOS/real time clock OK
    IRQ 9 Standard Enhanced PCI to USB Host Controller OK
    IRQ 10 Intel(R) PRO/100 VE Network Connection OK
    IRQ 10 Intel(R) 82801EB SMBus Controller - 24D3 OK
    IRQ 11 Intel(R) 82801EB USB Universal Host Controller - 24D4 OK
    IRQ 11 Intel(R) 82801EB USB Universal Host Controller - 24D7 OK
    IRQ 11 WinFast TV2000 XP WDM Video Capture OK
    IRQ 11 WinFast TV2000 XP WDM Audio Capture OK
    IRQ 12 Microsoft PS/2 Port Mouse (IntelliPoint) OK
    IRQ 13 Numeric data processor OK
    IRQ 14 Primary IDE Channel OK
    IRQ 15 Secondary IDE Channel OK

    (disabled firewire, LPT and serial ports)

    As you can see, the video card's still sharing with some USB controllers, though there aren't any problems.

    Well, after all this, the question is what do APIC and ACPI really do ?
    And, if I install XP as Standard PC with APIC in the bios, would I have like 20+ IRQs and devices not sharing one IRQ like in ACPI mode ?

  • #2
    from http://www.rojakpot.com

    APIC Function

    Common Options : Enabled, Disabled

    Details

    The APIC Function BIOS feature is used to enable or disable the motherboard's APIC (Advanced Programmable Interrupt Controller). The APIC is a new distributed set of devices that make up an interrupt controller. In current implementations, it consists of three parts - a local APIC, an I/O APIC and an APIC bus.

    The local APIC delivers interrupts to a specific processor so each processor in a system has to have its own local APIC. Therefore, a dual processor system must have two local APICs. Because a local APIC has been integrated into every processor since the debut of the original Intel Pentium P54C processor, there's no need to worry about the number of local APICs.

    The I/O APIC is the replacement for the old chained 8259 PIC (Programmable Interrupt Controller) still in use in many motherboards. It collects interrupt signals from I/O devices and send messages to the local APICs via the APIC bus which connects it to the local APICs.

    There can be up to eight I/O APICs in a system, each supporting anywhere from 24 (usually) to 64 interrupt lines. As you can see, this allows a lot more IRQs than is currently possible with the 8259 PIC. Note that without at least one I/O APIC, the local APIC is useless and the system functions as if it's based on the 8259 PIC.

    To sum it all up, APIC provides multiprocessor support, more IRQs and faster interrupt handling which are not possible with the old 8259 PIC. Although they can be used in single-processor boards, you are more likely to find them in multi-processor motherboards. This is because APIC is only supported in Windows NT, 2000 and XP. It is not supported in operating systems that are required to support MS-DOS device drivers, i.e. Windows 95/98. But as users transition to Windows XP, you can expect more manufacturers to ship single-processor boards with I/O APICs.

    If your single-processor motherboard supports APIC and you are using a Win32 operating system (Windows NT, 2000 and XP), it's recommended that you enable this feature to allow faster and better IRQ handling. If you are using a multiprocessor motherboard, you must enable this feature because it's required for IRQ handling in multiprocessor systems.

    However, if you are running Windows 95/98 or a DOS-based operating system on a single-processor motherboard, you must disable this feature. This is because MS-DOS drivers assume they can write directly to the 8259 PIC (APIC did not exist yet in those days!) and its associated IDT entries. Disabling this feature forces the APIC to revert to the legacy 8259 PIC mode.
    ACPI = Advanced Configuration & Power Interface!

    ACPI (Advanced Configuration and Power Interface) is an open industry specification co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.

    ACPI establishes industry-standard interfaces for OS-directed configuration and power management on laptops, desktops, and servers.

    ACPI evolves the existing collection of power management BIOS code, Advanced Power Management (APM) application programming interfaces (APIs, PNPBIOS APIs, Multiprocessor Specification (MPS) tables and so on into a well-defined power management and configuration interface specification.

    The specification enables new power management technology to evolve independently in operating systems and hardware while ensuring that they continue to work together.
    You can read more about it over here : http://www.acpi.info/
    According to the latest official figures, 43% of all statistics are totally worthless...

    Comment


    • #3
      Thanks Guru

      Have one more question, can I use APIC without also using ACPI ?
      Last edited by Admiral; 29 June 2003, 04:39.

      Comment


      • #4
        Sort of?

        Windows muddies up the water by linking the two fairly inextricably.

        - Gurm
        The Internet - where men are men, women are men, and teenage girls are FBI agents!

        I'm the least you could do
        If only life were as easy as you
        I'm the least you could do, oh yeah
        If only life were as easy as you
        I would still get screwed

        Comment


        • #5
          Sort of ?
          ... would it give me the 20+ APIC IRQs without using ACPI ?

          Comment


          • #6
            PIC = Programmable Interrupt Controller = the legacy IRQ management system used since God know when.

            APIC = Advanced Programmable Interrupt Controller = an update to PIC. An IOAPIC controller chip handles the CPU transactions.

            ACPI = Advanced Configuration & Power Interface = POWER MANAGEMENT.

            It is an unfortunate coincidence of acronyms that APIC and ACPI are so similar. They are NOT the same thing, but many get them confused.

            Basically;

            1. ACPI must be turned on in the BIOS for APIC to work. They are different things, but APIC needs ACPI's features to work.

            2. if you use PIC you're limited to 16 IRQ's (0-15). Same old, same old.

            3. if you use APIC you have up to 24 IRQ's (0-23), but some IOAPIC controllers have 64

            4. your BIOS has to be APIC compatable to use it (duh). If it has the setting then you should be good to go.

            5. to use APIC the OS has to be installed with the BIOS set to APIC mode. This is because different HAL.dll's are used for PIC and APIC. HAL = Hardware Abstraction Layer.

            6. don't switch between PIC and APIC once the OS is installed. If you're lucky it just won't boot.

            Generally speaking APIC is the better choice because of the more efficient manner in which it handles interrupts vs. using PIC with ACPI under Win2K etc.

            In my experience legacy cards like the G400-TV perform poorly under ACPI in Win2K under PIC with most devices being on IRQ9, often requiring the OS to be installed in Standard PC mode, but perk right up and work very nicely under APIC.

            Dr. Mordrid
            Last edited by Dr Mordrid; 29 June 2003, 17:40.
            Dr. Mordrid
            ----------------------------
            An elephant is a mouse built to government specifications.

            I carry a gun because I can't throw a rock 1,250 fps

            Comment


            • #7
              My problem is that it sucks in XP with ACPI+APIC
              So I'm doing Standard PC + PIC.
              Don't know if it's the TV tuner or the soundcard that causes the problem.

              Comment


              • #8
                SBLive 'eh?

                I'd start there....

                Dr. Mordrid
                Dr. Mordrid
                ----------------------------
                An elephant is a mouse built to government specifications.

                I carry a gun because I can't throw a rock 1,250 fps

                Comment


                • #9
                  Originally posted by Admiral
                  My problem is that it sucks in XP with ACPI+APIC
                  So I'm doing Standard PC + PIC.
                  And that's from a clean format and install?

                  One thing XP doesn't do very well is switch from one setup to another.
                  Gigabyte P35-DS3L with a Q6600, 2GB Kingston HyperX (after *3* bad pairs of Crucial Ballistix 1066), Galaxy 8800GT 512MB, SB X-Fi, some drives, and a Dell 2005fpw. Running WinXP.

                  Comment


                  • #10
                    Clean install on brand new hdd at the time, partitioned and formated it using the XP CD.

                    edit: just so there won't be any confusion, it's doing quite fine now as Standard PC (after a quick format and reinstall), no problems, was just curious if I can have the benefits of APIC (20+ IRQs) with Standard PC (no ACPI)... something that it seems I can't.
                    Last edited by Admiral; 30 June 2003, 05:37.

                    Comment


                    • #11
                      Didja contemplate, instead of stepping backwards 4+ years in terms of hardware compatibility... finding and fixing the stutter?

                      - Gurm
                      The Internet - where men are men, women are men, and teenage girls are FBI agents!

                      I'm the least you could do
                      If only life were as easy as you
                      I'm the least you could do, oh yeah
                      If only life were as easy as you
                      I would still get screwed

                      Comment


                      • #12
                        Sweet, I never knew what APIC was all about. Thanx, Guru.

                        Comment


                        • #13
                          Originally posted by Gurm
                          Didja contemplate, instead of stepping backwards 4+ years in terms of hardware compatibility... finding and fixing the stutter?

                          - Gurm
                          At the time (couple of weeks back), not really... the XP installation only took about 20 minutes (love this Raptor) and installing service pack, drivers, programs and configuring brought it to one hour.

                          Comment


                          • #14
                            Yeah but long-term you'll be unhappy.

                            No power management, no hibernate support, every time you change a device you have conflicts... yuk.

                            - Gurm
                            The Internet - where men are men, women are men, and teenage girls are FBI agents!

                            I'm the least you could do
                            If only life were as easy as you
                            I'm the least you could do, oh yeah
                            If only life were as easy as you
                            I would still get screwed

                            Comment

                            Working...
                            X