Many friends who play with computers have experienced this experience: when you add a new board to your computer, the entire computer may become abnormal. Therefore, we often complain about the poor quality of the purchased Board. In fact, this type of problem may not be related to the quality of the new card, but because it conflicts with other devices on the computer.
A computer device must communicate with the host through certain system resources. However, when a new board is loaded into a computer, it often conflicts with the resources of existing computer devices and cannot work properly. The most common and most common resource conflicts are IRQ, DMA, and I/O conflicts. First, let's take a look at the concepts of IRQ, DMA, and I/O.
1. IRQ (Interrupt ReQuest)
Every device has an IRQ to send a service request to the CPU, which is called an interrupt. Generally, a computer has 16 disconnection threads connected to different peripherals that need to work in the interrupt mode (each disconnection has a mark, that is, the interrupt number). When a disconnection is activated, the CPU immediately stops the current job and loads a certain Interrupt Processing subroutine (Interrupt Service Program). After the program is executed, the system returns to the breakpoint and continues the original work. If two devices have one interrupt number, some parts of the computer system will stop working, and even cause the entire computer system to crash. In general, in our commonly used personal PC, the interrupt number is allocated as follows:
IRQ 0 system clock (system retained) IRQ 1 keyboard (system retained)
The second interrupt request controller (IRQ8-15) for the IRQ 2 System)
IRQ 3 Serial Port 2 (available) IRQ 4 Serial Port 1 (available)
IRQ 5 Parallel Port 2 (available) (generally used to set the sound card)
IRQ 6 floppy disk (system retained) IRQ 7 Parallel Port 1 (usually used as a printer)
IRQ 8 Real-time clock (system retained) IRQ 9 available IRQ 10 available
IRQ 11 is commonly used in display card IRQ12 PS/2 mouse (available) IRQ13 math coprocessor
IRQ14 IDE1 controller channel IRQ15 IDE2 controller channel (available)
In addition, there are NMI abnormal interruptions (unblocked interruptions), such as validation errors.
2. DMA (Direct Memory Address)
Direct access channel. There are two ways to transmit data between the host and peripherals: one is to transmit data managed by the CPU, and the other is to transmit data using a dedicated chip. The so-called DMA refers to the channel through which data is transmitted between the peripherals and the memory without the CPU. In this way, the peripherals directly write data into the memory or read the data from the memory using the DMA channel, without CPU involvement, the system speed will increase significantly. In a PC, the DMA channel is allocated as follows:
DMA0 available DMA1 ECP print port (if set) DMA2 floppy disk Controller
DMA3 8-bit data transfer DMA4 cascade DMA controller DMA5 available
DMA6 available DMA7 available
3. I/O (INPUT/OUTPUT)
The input/output port. When computer peripherals communicate with the host (CPU and memory), this interface is called a port. Each port is assigned an IP address. Each port contains a set of registers (data registers, command registers, and status registers ). Each peripheral that wants to communicate with cp u has a different I/O address. There are a total of 1024 addresses in the PC.
Starting from Win95, all computer system resources, such as IRQ, DMA channel, and I/O port, are taken over by the operating system and allocated Intelligently Based on the situation, this is what we often call plug-and-play. However, this plug-and-play is conditional: The plug-and-play BIOS, plug-and-play devices, and plug-and-play operating systems are required, otherwise, a device conflict may occur. In actual installation, due to the mixed installation of non-plug-and-play devices and plug-and-play devices, there are more and more plug-and-play equipment types and new devices emerge one after another, WINDOWS 95/98 is not a perfect plug-and-play operating system, and often cannot correctly detect and process the resources of related devices, especially when many devices are installed, most of the Board interruptions, DMA channels, and I/O addresses have their own default values. If the two boards use the same resources, the operating system cannot process them normally, this will cause a conflict. This is one of the important reasons for device conflicts.
In addition, some boards are designed with special characteristics (such as excessive power consumption), poor selection of materials, poor preparation techniques, and even imperfect preparation of firmware code, it may also be difficult to "peaceful" coexistence with other boards.