CMX47786HX
RTD Embedded Technologies, Inc.
72
Basic Interrupt Information for Programmers:
All information below only addresses the DIO on this board. Interrupts are connected to IRQs 5, 7,
10, 11, and 12 on the ISA bus (PC104 bus) and are controlled by two 8259-equivalent interrupt con-
trollers containing 13 available interrupt request lines. Minimum time between two IRQ requests is
125 nanoseconds as set by ISA specification.
What is an Interrupt?
An interrupt is a subroutine called asynchronously by external hardware (usually an I/O device) dur-
ing the execution of another application. The CPU halts execution of its current process by saving
the system state and next instruction then jumps to the interrupt service routine, executes it, loads
the saved system state and saved next instruction, and continues execution. Interrupts are good for
handling infrequent events such as keyboard activity.
What happens when an Interrupt occurs?
An IRQx pin on the PC104 bus makes a low to high transition while the corresponding interrupt
mask bit is unmasked and the PIC determines that the IRQ has priority, the PIC interrupts the pro-
cessor. The current code segment (CS), instruction pointer (IP), and flags are pushed on the stack,
the CPU reads the 8 bit vector number from the PIC and a new CS and IP are loaded from a vector,
indicated by the vector number, from the interrupt vector table that exists in the lowest 1024 bytes
of memory. The processor then begins executing instructions located at CS:IP. When the interrupt
service routine is completed the CS, IP, and flags that were pushed onto the stack are popped from
the stack into their appropriate registers and execution resumes from the point where it was inter-
rupted.
How long does it take to respond to an interrupt?
A DOS operating system can respond to an interrupt between (6-15uS). A Windows system can take
a much longer time when a service routine has been installed by a device driver implemented as a
DLL; from 250-1500uS or longer. A VxD will take 20-60uS or longer. The time the CPU spends in
the interrupt is dependent on the efficiency of the code in the ISR. These numbers are general guide-
lines and will fluctuate depending on operating system and version. The amount of information that
can be moved during an interrupt theoretically can be 4 MB/Sec. on a 8 MB bus using the INS or
MOVS instruction with the REP prefix. These instructions are in assembly language.
Interrupt Request Lines:
To allow different peripheral devices to generate interrupts on the same computer, the PC bus has
eight different interrupt request (IRQ) lines. A transition from low to high on one of these lines gen-
erates an interrupt request which is handled by the PC’s interrupt controller. The interrupt controller
checks to see if interrupts are to be acknowledged from that IRQ and, if another interrupt is already
in progress, it decides if the new request should supersede the one in progress or if it has to wait until
the one in progress is done. This prioritizing allows an interrupt to be interrupted if the second re-
quest has a higher priority. The priority level is based on the number of the IRQ; IRQ0 has the high-
est priority, IRQ1 is second-highest, and so on through IRQ7, which has the lowest. Many of the
IRQs are used by the standard system resources. IRQ0 is used by the system timer, IRQ1 is used by
the keyboard, IRQ3 by COM2, IRQ4 by COM1, and IRQ6 by the disk drives. Therefore, it is im-
portant for you to know which IRQ lines are available in your system for use by the module.
Содержание cpuModule CMX47786HX
Страница 1: ...CMX47786HX cpuModuleTM User s Manual RTD Enhanced Award BIOS Versions 6 00 xx BDM 610000038 Rev A...
Страница 2: ......
Страница 8: ......
Страница 10: ......
Страница 60: ...CMX47786HX RTD Embedded Technologies Inc 52...
Страница 108: ...CMX47786HX RTD Embedded Technologies Inc 100...