Alasir Enterprises
Main Page >  Misc >  MicroHouse PC Hardware Library Volume I: Hard Drives  

Previous Table of Contents Next

Table 3.2  XT-Bus (8-Bit ISA) Default Interrupt Assignments.

IRQ Function Bus Slot

0 System Timer No
1 Keyboard Controller No
2 Network/Available Yes (8-bit)
3 Serial Port 2 (COM2) Yes (8-bit)
4 Serial Port 1 (COM1) Yes (8-bit)
5 Hard Disk Controller Yes (8-bit)
6 Floppy Disk Controller Yes (8-bit)
7 Parallel Port 1 (LPT1) Yes (8-bit)

Notice that some of the interrupts are simply not available in slots; they are reserved for use only by the indicated system function. Any interrupt that is listed as being in use by an item that is not installed in your system would be available. For example, if your system does not have a motherboard mouse port, IRQ 12 would be available, and if your system does not have a second serial port, IRQ 3 would be available.

In a standard configuration, the hard disk controller uses IRQ 14. Any secondary controllers would have to use other interrupts. The standard interrupt for a secondary controller is IRQ 15. If the system does not support EIDE (Enhanced IDE) in the motherboard BIOS, any controllers that do not use IRQ 14 must have an on-board BIOS to function. The older motherboard BIOS supports disk controllers only at IRQ 14, whereas a BIOS with EIDE support will run IDE ports at both IRQ 14 and 15. Most newer systems have integral EIDE support and automatically include a secondary IDE port, which is at IRQ 15.

Standard IDE adapters come preconfigured for IRQ 14. Many SCSI host adapters, come configured to one of the other available 16-bit interrupts, such as IRQ 11. Old XT (8-bit) hard disk controllers normally use IRQ 5.

DMA Channel

Direct Memory Access (DMA) is a technique for transferring blocks of data directly into system memory without the complete attention of the main processor. The motherboard has DMA control circuits that orchestrate and govern DMA transfers. In the original 8-bit XT bus, DMA was the highest-performance transfer method, and XT hard disk controllers universally used DMA channel 3 for high-speed transfers.

In AT-Bus (16-bit ISA) systems, most 16-bit disk controllers and SCSI host adapters do not use a DMA channel, partly because the performance of the AT Bus DMA circuitry turned out to be very poor. Therefore, most adapters use a technique called Programmed I/O (PIO), which simply sends bytes of data through the I/O ports. PIO transfers are faster than DMA transfers in most cases, especially if the motherboard BIOS and device support block-mode PIO, such as with the new IDE drives. If an adapter does not use DMA, you can assume that PIO is used as the data-transfer method and that no DMA channel is required.

Some adapters have found a way around the poor performance of the ISA bus by becoming what is known as a bus master. A bus master actually takes control of the bus and can override the DMA controller circuitry of the motherboard to perform fast DMA transfers. These transfers can exceed the performance of a PIO transfer (even block-mode PIO), so you will find that many of the highest-performing controllers have bus-master capabilities.

You have to select a DMA channel for bus-master adapters to use. In an 8-bit ISA bus, normally only DMA channel 1 is available; in a 16-bit ISA bus, however, DMA channels 0 – 1, 3, and 5 – 7 are available. DMA channels 5 – 7 are 16-bit channels that most high-performance bus-master adapters would want to use. XT disk controllers always use DMA channel 3, whereas most 16-bit AT or IDE controllers do not use DMA at all. This is not a concern in the newer PCI bus systems.

Tables 3.3 and 3.4 show the normally used and normally available DMA channels. The tables list the default use for each DMA channel and indicate whether the DMA channel is available in a bus slot.

Table 3.3  16-bit ISA Default DMA Channel Assignments.

DMA Function Transfer Bus Slot

0 Available 8-bit Yes(16-bit)
1 Sound/Available 8-bit Yes (8-bit)
2 Floppy Disk Controller 8-bit Yes (8-bit)
3 ECP Parallel/Available 8-bit Yes (8-bit)
   4 First DMA Controller N/A No
   5 Sound/Available 16-bit Yes(16-bit)
   6 SCSI/Available 16-bit Yes(16-bit)
   7 Available 16-bit Yes(16-bit)

Table 3.4  8-Bit ISA Default DMA Channel Assignments.

DMA Function Transfer Bus Slot

0 Dynamic RAM Refresh N/A No
1 Sound/Available 8-bit Yes (8-bit)
2 Floppy Disk Controller 8-bit Yes (8-bit)
3 Hard Disk Controller 8-bit Yes (8-bit)

Notice that some of the DMA channels simply are not available in slots. They are reserved for use only by the indicated system function.

PCI and EISA bus systems have additional DMA capabilities that support even faster transfers without the performance problems associated with non-bus-master cards. The PCI and EISA buses also provide even better support for bus-master devices that offer even higher performance.

To configure an adapter that requires a DMA channel, you first must find out which DMA channels currently are in use and which channels are available in your system. Unless you have an PCI or EISA system, software techniques for determining this are very limited. Most programs that claim to be capable of discovering which DMA channels are being used are only reporting what any standard configuration would be. In standard ISA systems, the only way to know for sure is to check the documentation for each adapter or to use a special hardware device that monitors DMA transfers.

PCI and EISA systems automatically set up the boards so that no DMA conflicts exist. This method works fully only in EISA systems with all EISA 32-bit adapters installed. PCI buses usually have at least two or more ISA slots that you still need to worry about.

Previous Table of Contents Next