IBM CMX58886CX user manual Basic Interrupt Information for Programmers, Interrupt Request Lines

Page 84

Basic Interrupt Information for Programmers

An interrupt is a subroutine called asynchronously by external hardware (usually an I/O device) during the execution of another application. The CPU halts execution of its current process by saving the system state and next instruction, and 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. Interrupts on this cpuModule are controlled by two Intel 8259-equivalent interrupt controllers containing 13 available interrupt request lines.

What happens when an interrupt occurs?

An IRQx pin on the PC/104 bus makes a low to high transition while the corresponding interrupt mask bit is unmasked and the PIC determines that the IRQ has priority, that is, the PIC interrupts the processor. The current code segment (CS), instruction pointer (IP), and flags are pushed onto the stack. The CPU then 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 interrupted.

How long does it take to respond to an interrupt?

A DOS system can respond to an interrupt between 6 and 15 μs. 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 to 1500 μs or longer. The time the CPU spends in the interrupt depends on the efficiency of the code in the ISR. These numbers are general guidelines and will fluctuate depending on operating system and version. Minimum time between two IRQ requests is 125 ns per ISA specification.

Interrupt Request Lines

To allow different peripheral devices to generate interrupts on the same computer, the ISA bus has eight different interrupt request (IRQ) lines. On the ISA bus, a transition from low to high on one of these lines generates an interrupt request, which is handled by the PC’s interrupt controller. On the PCI bus, an interrupt request is level-triggered.

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 request has a higher priority. The priority level is based on the number of the IRQ; IRQ0 has the highest 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 important to know which IRQ lines are available in your system for use by the cpuModule.

76 CMX58886CX cpuModule

BDM-610000050 Rev A

Image 84
Contents CMX58886CX cpuModules BDM-610000050 Revision aRevision History Revision Date Reason for Change 06/30/06 Initial releaseCMX58886CX cpuModules Iv CMX58886CX cpuModule Table of Contents MultiPort CN6 Audio CN11Memory Map Address Map BDM-610000050 Rev a Vii System Recovery Application NotesChapter CMX58886CX cpuModules CMX58886CX cpuModule top viewError-Correction Codes Thermal Monitor and Thermal ThrottlingADIO with Wake-on-aDIO Cable Kits and Accessories Ordering InformationCMX58886CX Model Options CMX58886CX cpuModule Model OptionsBoard Features VGA, SVGA, XGA, SXGA, Uxga Bios Block Diagram CMX58886CX cpuModule Simplified Block DiagramSpecifications Physical CharacteristicsPower Consumption Operating ConditionsElectrical Characteristics Electrical CharacteristicsSymbol Parameter Test Condition Min Max Ioc12 CMX58886CX cpuModule Contact Information 14 CMX58886CX cpuModule Getting Started Connector Locations CMX58886CX Connector LocationsCMX58886CX Basic Connectors Connecting the Utility Cable Connecting a KeyboardConnecting to the PC/104-PlusPCI Bus Slot Selection Switches PCI Bus Expansion Card PowerPCI Bus Signaling Levels Booting the CMX58886CX cpuModule for the First Time Connecting the cpuModule 22 CMX58886CX cpuModule Fan Power +5 Pin Auxiliary Power CN3 Auxiliary Power Connector CN31Pin Signal Function Power Supply Protection Reserved+3.3 +12 Utility Port Connector CN5 Utility Port Connector CN5Pin Signal Function In/Out SpeakerSystem Reset Soft Power ButtonKeyboard MouseBattery Svga Video Connector CN18 Svga Video Connector CN18Svga Video Resolutions Resolution Colors Refresh RatesLvds Flat Panel Video Connector CN19 Flat Panel Video Connector CN19Manufacturer Model Number Resolution Color Depth Tested Lvds PanelsEide Connector CN10 Eide Connector CN101Pin Signal ATA/IDE Disk Chip Socket U16 ATA/IDE Disk Chip Socket U161RS-232 Serial Port Default Serial Port SettingsSerial Port in RS-232 Mode Serial Port 1 CN7 and Serial Port 2 CN8Half-Duplex RS-485 Mode RS-422 or RS-485 Serial PortFull-Duplex Connections PortSerial Port in RS-422/485 Mode Pin Signal Function In/Out DB-9MultiPort Configured as an Advanced Digital I/O aDIO Port MultiPort CN6MultiPort aDIO Pinout CN6 Pin FunctionMultiPort Configured as a Parallel Port MultiPort Connector CN6 as a Parallel PortCN6 Pin Signal Function In/Out DB-25 MultiPort Configured as a Floppy Drive Controller MultiPort Connector Floppy Pinout CN61CN6 Pin Function DB-25 Floppy Drive Pin USB 2.0 Connector CN17 USB Connector CN17Ethernet 10/100Base-T and -TX Connector CN20 Ethernet Connector CN20RJ-45 Pin Pin DIL Pin Signal Function In/Out Audio Connector CN11 Pin DIL Pin Signal Function In/OutAudio CN11 PC/104-PlusBus Signal Assignments1 PC/104-PlusPCI Bus CN16Pin PC/104-PlusPCI Bus Signals Address and DataPower Supplies and VIO Bridge Link CN4 Bridge Link CN4External Power Management CN12 Optional RTC Battery Input CN13Fan Power, +5 V CN14 Fan Power, Switched CN15 Fan Power, Switched CN15Using the cpuModule RTD Enhanced AMI Bios Configuring the RTD Enhanced AMI BiosEntering the Bios Setup Setup KeysMain Menu Setup Fields Power On Self Test Post CodesMain Menu Setup Fields Field Active Keys SelectionsBooting to Boot Block Flash with Fail Safe Boot ROM Memory Map First Megabyte Memory MapAddress hex Description Address Map O Addresses Reserved for the CMX58886CX cpuModuleAddress Range hex Bytes Device Interrupt Normal Use Timer Hardware InterruptsHardware Interrupts Used on the CMX58886CX cpuModule MultiPort Advanced Digital I/O Ports aDIO Digital I/O Register SetPort 0 Data I/O Address 450h Port 1 Data I/O Address 451hDIO-Control I/O Address 453h-Read Access DIO-Control I/O Address 453h-Write AccessMulti-Function at Address 452h1 =Interrupt is enabled InterruptsWake Control I/O Address 451h =Interrupt triggers a Wake EventWakeEnable Int Mask Function Wake-on-aDIOInterrupt and Wake Event Generation MultiPort Parallel Port Control MultiPort Floppy DriveAC’97 Audio Ethernet 10/100Base-T and -TXIDE Controller Configuration Cable ModesCable Detection Legacy Mode and Native Mode IDE Configuring the ATA/IDE Disk Chip SocketReal Time Clock Control Real Time Clock RegistersRegisters Number Function Watchdog Timer Control Wake Control I/O Address 455hFan Mode Further Temperature ReductionThermal Management Power Management Advanced Power Management APMAdvanced Configuration and Power Interface Acpi Power Button ModesAT vs. ATX Power Supplies ATX Power Supply SignalsReducing Power Consumption Multi-Color LED LED ColorsMulti-Color LED I/O Address 456h Manual LED Colors70 CMX58886CX cpuModule Reset Status Register Reset Status I/O Address 457h Read AccessReset Status I/O Address 457h Write Access Reset Status Description and Priorites Address Reset DescriptionBit Signal Function Read / Write User EepromUser Eeprom I/O Address 456h Eeprom Register DescriptionFeatures and Settings That Can Affect Boot Time System Recovery Loading Default Bios SettingsBooting to the Fail Safe Boot ROM Fsbr What happens when an interrupt occurs? Basic Interrupt Information for ProgrammersHow long does it take to respond to an interrupt? Interrupt Request LinesWriting an Interrupt Service Routine ISR Intel 8259 Programmable Interrupt ControllerPCI Interrupts Sample Code78 CMX58886CX cpuModule Appendix a Hardware Reference Jumper Settings and Locations Jumper Pins Function Default Pins 1-2 +5 Pins 2-3 +3.3Pins 1-2 +3.3 Pins 2-3 +5 Pins 1-2 +12 Pins 2-3 +5Solder Positions Function Default Blob CMX58886CX Solder BlobsPositions 1-2 +5 Positions 2-3 +3.3 Onboard PCI Devices Onboard PCI DevicesDevice ID Vendor ID Description Physical Dimensions CMX58886CX Physical Dimensions ±0.005 inchesAppendix B Troubleshooting Common Problems and Solutions TroubleshootingProblem Cause Solution Troubleshooting a PC/104-PlusSystem Troubleshooting cont’dHow to Obtain Technical Support Appendix C Idan Dimensions and Pinout Idan Dimensions and Connectors IDAN-CMX58886CX ConnectorsPS/2 Mouse 6-Pin mini-DIN Connector female Keyboard 6-Pin mini-DIN Connector femaleIdan Pin # Signal Function External I/O ConnectionsCOM1/COM2 RS-232 9-Pin D Connector male COM1/COM2 RS-422/485 9-Pin D Connector maleIdan Pin # Signal Function Mode MultiPort 25-Pin D Connector female Idan Pin # ADIO Port Parallel Port Floppy Port CPU Pin #Panel 25-Pin mini D Connector female Idan Pin # Signal Name CPU Pin #Svga 15-Pin High Density D Connector female Idan Pin # Signal Function CPU Pin #USB 9-Pin D Connector male Ethernet 9-Pin D Connector femaleIdan Pin # 10Base-T Signal CPU Pin # Audio 9-Pin D Connector female Idan Pin # Signal CPU Pin #98 CMX58886CX cpuModule PC/104 and PC/104-PlusSpecifications Application NotesDrivers and Example Programs Interrupt Programming100 CMX58886CX cpuModule Appendix E Limited Warranty 102 CMX58886CX cpuModule