Peripheral cards associated with EISA and MCA are normally self configuring.
The major problem arises with cards for the ISA bus (found in the majority of AT type computers and clones). This is because the cards are configured by the user (using either jumpers or a software program).
Users make mistakes, and often configure cards so that they conflict with other cards already present in this system. This causes intermittent or immediate non-operation of the computer system.
For instance, a networking card that is allocated the same resources as a serial communications program may function perfectly, except when the user is logged into the network and then tries to use the serial port, at which time the machine will crash.
Resources Used By Peripheral CardsWe have already mentioned that resources used by ISA peripheral cards must not be shared (two cards cannot use the same). So what are the resources used by peripheral cards? Essentially, there are FOUR resources which are user configurable for peripheral cards. Some cards may only use one (a port location(s)), others may require all four.
The FOUR resources are
Input/Output Port AddressIn the PC, the port numbers used by peripheral cards range from 200h to 3FFh. The I/O port address is used by the PC to communicate with the peripheral card (issue commands, read responses, and perform data transfer).
Interrupt Request LineThe interrupt request line is used by the card to signal the processor that the card requires the processors attention. ISA peripherals cannot share the same interrupt request line, and IRQ2 in AT/2386/486 computers should not be used (there are others which must also not be used). IRQ2 to IRQ15 appear on the ISA bus.
Direct Memory Request LineThe DMA request line is used to transfer data between the peripheral card and the computers memory at high speed. DMA channel 0 cannot be used, as it is reserved for system use.
Buffer Memory AddressSome peripheral cards prefer to use memory space rather than an I/O port address to transfer data to the processor. This memory space occupied by the peripheral card appears in the main system memory RAM area available to the processor (usually between C0000h to EFFFFh). Care must be taken to ensure this space is not being used for other purposes (like shadow RAM, EMS for windows, VBGA BIOS).
This space is also sometimes used by a remote boot Eprom, which is used for diskless workstations which download the operating system from the server at boot time.
So How Do Peripheral Cards Work?Peripheral cards require a software driver to function. This software driver provides the interface between the card and the operating system, making the services provided by the card available to the user.
The software driver is normally configured to match the resource settings of the card. This is done by a configuration utility, and stored either in the executable file, or a separate file (like .ini or .cfg).
It is obviously important for the configuration settings in the software driver to match those configured on the peripheral card.
The resources used by the card are either set by jumpers (or slide switches). New cards can also be configured using a software program, rather than by manually setting jumpers on the card. Where cards are software configurable, the cards retain their configuration when the power is turned off.
The software driver provides the follow functions
initialization routine
interrupt service routine
procedures to transmit and receive data
procedures for status, configuration and control
The basic operation looks something like,
card receives data
card generates interrupt by asserting interrupt request line
processor responds to interrupt request and jumps to service routine
service routine instructs processor to read data from port location
interrupt service routine releases processor to continue previous work
The major problem is assigning values of these resources which are already being used by either the system or another peripheral card. It is therefore handy to know what the resources are which are used by common peripheral devices. The following tables identify these.
The major problem arises with cards for the ISA bus (found in the majority of AT type computers and clones). This is because the cards are configured by the user (using either jumpers or a software program).
Users make mistakes, and often configure cards so that they conflict with other cards already present in this system. This causes intermittent or immediate non-operation of the computer system.
For instance, a networking card that is allocated the same resources as a serial communications program may function perfectly, except when the user is logged into the network and then tries to use the serial port, at which time the machine will crash.
Resources Used By Peripheral CardsWe have already mentioned that resources used by ISA peripheral cards must not be shared (two cards cannot use the same). So what are the resources used by peripheral cards? Essentially, there are FOUR resources which are user configurable for peripheral cards. Some cards may only use one (a port location(s)), others may require all four.
The FOUR resources are
Input/Output Port AddressIn the PC, the port numbers used by peripheral cards range from 200h to 3FFh. The I/O port address is used by the PC to communicate with the peripheral card (issue commands, read responses, and perform data transfer).
Interrupt Request LineThe interrupt request line is used by the card to signal the processor that the card requires the processors attention. ISA peripherals cannot share the same interrupt request line, and IRQ2 in AT/2386/486 computers should not be used (there are others which must also not be used). IRQ2 to IRQ15 appear on the ISA bus.
Direct Memory Request LineThe DMA request line is used to transfer data between the peripheral card and the computers memory at high speed. DMA channel 0 cannot be used, as it is reserved for system use.
Buffer Memory AddressSome peripheral cards prefer to use memory space rather than an I/O port address to transfer data to the processor. This memory space occupied by the peripheral card appears in the main system memory RAM area available to the processor (usually between C0000h to EFFFFh). Care must be taken to ensure this space is not being used for other purposes (like shadow RAM, EMS for windows, VBGA BIOS).
This space is also sometimes used by a remote boot Eprom, which is used for diskless workstations which download the operating system from the server at boot time.
So How Do Peripheral Cards Work?Peripheral cards require a software driver to function. This software driver provides the interface between the card and the operating system, making the services provided by the card available to the user.
The software driver is normally configured to match the resource settings of the card. This is done by a configuration utility, and stored either in the executable file, or a separate file (like .ini or .cfg).
It is obviously important for the configuration settings in the software driver to match those configured on the peripheral card.
The resources used by the card are either set by jumpers (or slide switches). New cards can also be configured using a software program, rather than by manually setting jumpers on the card. Where cards are software configurable, the cards retain their configuration when the power is turned off.
The software driver provides the follow functions
initialization routine
interrupt service routine
procedures to transmit and receive data
procedures for status, configuration and control
The basic operation looks something like,
card receives data
card generates interrupt by asserting interrupt request line
processor responds to interrupt request and jumps to service routine
service routine instructs processor to read data from port location
interrupt service routine releases processor to continue previous work
The major problem is assigning values of these resources which are already being used by either the system or another peripheral card. It is therefore handy to know what the resources are which are used by common peripheral devices. The following tables identify these.
0 Comments:
Post a Comment
<< Home