Welcome to Bucaro TecHelp!

Bucaro TecHelp
HTTPS Encryption not required because no account numbers or
personal information is ever requested or accepted by this site

About Bucaro TecHelp About BTH User Agreement User Agreement Privacy Policy Privacy Site Map Site Map Contact Bucaro TecHelp Contact RSS News Feeds News Feeds

Hardware Resources Explained

Hardware devices, such as modems, network circuits, sound circuits, and so on, require system resources such as Interrupt Request (IRQ) lines, Input/Output Port (I/O) addresses, Direct Memory Access Channels (DMA), and a range of Memory Addresses for storing code and data. Each device needs its own set of resources. If two devices attempt to use the same resource, your system may lock up or crash.


An IRQ is a connection between a hardware device and the CPU (Central Processor Unit). A hardware device uses it's assigned IRQ line to signal or "interrupt" the CPU when it needs attention. Depending upon the priority of the interrupt and what the CPU is currently doing, the CPU may stop executing the program it's currently running and jump to a service routine for the hardware device. After the interrupt has been serviced, the CPU will resume executing the original program.

IRQ 2 and IRQ 9 are used to cascade two circuits

Early computer motherboards had a chip that provided eight IRQ lines numbered 0 through 7. Later a second IRQ chip was added to provide channels 8 through 15. IRQ channel 2 is used to cascade the two IRQ chips together.

In today's computers the IRQ circuits are integrated into the chip set. The development of the Advanced Configuration and Power Interface (ACPI) allows for IRQ numbers above 15. These are actually virtual interrupts mapped to a single real interrupt, usually IRQ 9 or 11.

Hardware devices are traditionally assigned IRQ lines as shown in the table below:

IRQ Device
0System Timer
1Keyboard Controller
2Second IRQ Controller
3COM 2
4COM 1
5Sound Circuit
6Floppy Drive
7Parallel Port
8Real-time Clock
12Mouse Port
13Math Coprocessor
14Primary Hard Drive
15Secondary Hard Drive

Although these are the traditional IRQ assignments, most systems will have different assignments. This is because IRQ assignments can be changed manually, and several devices listed in the table have become obsolete, for example the Floppy Drive and the Parallel Port.

I/O Ports

An I/O port is a range of addresses used to move data to and from a hardware device. the table below shows the traditionally assigned I/O addresses:

System Timer0040-005F
DeviceI/O Address
Keyboard Controller0060-006F
COM 202F8-02FF
COM 103F8-03FF
Sound Card0278-027F
Floppy Drive03F0-03F7
Parallel Port0378-037F
Real-time Clock0070-0070
Mouse Port0238-023F
Math Coprocessor00F8-00FF
Primary Hard Drive01F0-01F7
Secondary Hard Drive0170-0177

Although these are the traditional I/O address assignments, most systems will have different assignments because a plug-and-play operating system will automatically allocate I/O address as required. If you see two different devices that are assigned the same I/O port addresses, this may not be a resource conflict. The devices may be using those I/O port addresses to communicate with each other.

RSS Feed RSS Feed

Follow Stephen Bucaro Follow @Stephen Bucaro

Fire HD
[Site User Agreement] [Privacy Policy] [Site map] [Search This Site] [Contact Form]
Copyright©2001-2023 Bucaro TecHelp 13771 N Fountain Hills Blvd Suite 114-248 Fountain Hills, AZ 85268