Internal bus: Interconnects main memory, the CPU, and all other components on the motherboard.
External bus: (expansion) Connects peripherals to the motherboard.

     The width of a bus determines the amount of data, and how large an address it can transmit. The width of the bus is stated in bits. The speed that data moves on a bus is controlled by its clock speed.

     The internal bus, also known as the system bus, is the maze of wires you see on the motherboard. It provides the internal components of the computer with four different necessities:
     The external bus, also known as the expansion bus, allows peripheral devices to communicate with the motherboard and its components. Each connection between the card and the slot form a channel that services a particular need of the expansion card. Some channels carry power, some connect to the address and data buses, and others are used for clock signal, IRQ, and DMA interfaces.
Expansion slot architectures that have been used in PCs:
Bus Architectures
BUSWIDTH (bits)Speed (MHz)Configured
8-bit88Jumpers and DIP switches
ISA168Jumpers and DIP switches
MCA3210Software
EISA328Software
VL-Bus32Processor SpeedJumpers and DIP switches
PCI32/64Processor SpeedPnP


     The PC Card, or its original name PCMCIA bus, is used to add external devices to a notebook or hand-held computer. PC cards are used to add memory, modems, network interface cards, and even hard drives to portable computers. PCMCIA cards are hot-swappable. Three standards exist:
SCSI

     SCSI is an interface, and not an architecture. It is used to connect a wide variety of both internal and external devices. SCSI is not actually a bus architecture itself, but is actually a technology usd for interfacing multiple devices through a single connection on the motherboard. SCSI adapter cards can be PCI, VL-Bus, EISA, or ISA.

IRQs

     Interrupt requests are sent to a special system component, called an interrupt conroller, which either is a separate chip on the motherboard or is incorporated into the chipset. The interrupt controller receives and verifies requests and passes them on to the processor.

     Two interrupt controllers have been on PCs since the 286, each managing eight IRQ lines with each IRQ tied directly to a particular device. The two interrupt controllers are linked, or cascaded, through IRQ 2, which is set aside for this purpose. PC/XT systems that used IRQ 2 now use IRQ 9 instead.

I/O Addresses

     Every device in the PC uses input / output addresses, also called port addresses.The address in the I/O address points to the location in memory that's assigned to a specific device to use for exchanging information between itself and the rest of the PC. All devices have an I/O address assigned to them along with a segment of memory to hold messages and data. The size of the memory segement varies with the amount of data a device needs to pass on to other devices, but in general, the memory segment assigned to a device ranges from 1 to 32 bytes, with 4, 8, or 16 bytes being common. These areas of memory allow devices to do its work without worrying about what other devices or processor may be doing.

     The process of using I/O addresses to complete input / output operations is called memory-mapped I/O. I/O addresses are expressed in hex.

Common I/O Address Assignments
I/O Address RangeCommon I/O Address Assignments
000-00FhDMA channels 0-3 controller
020-021hIRQ 0-7 interrupt controller
060h, 061hKeyboard
0F8-0FFhMath coprocessor
130-14FhSCSI host adapter
170-177hSecondary hard disk controller
1F0-1F7hPrimary hard disk controller
200-207hGame port
220-22FhSound cards
278-27FhLPT2 or LPT3
2E8-2EFhCOM4
2F8-2FFhCOM2
300-30FhNetwork cards
3B0-3BBhVGA video adapter
3C0-3DFhVGA video adapter
378-37FhLPT1 or LPT2
3E8-3EFhCOM3
3F0-3F7hFloppy disk
3F8-3FFhCOM1


DMA Addressing

     A direct memory access (DMA) channel allows a device to bypass the processor to directly access memory. Those devices with a DMA channel assignment gain the advantage of faster data transfers that do not have to pass through the CPU.

DMA Channel Assignments
0DRAM refresh
1Available
2Floppy disk controller
3Available
4Link to second DMA controller
5Available
6Available
7Available


     Channels 0 through 3 are generally available in all PCs, but channels 4 through 7 are available only in 286 and later systems. Each group of four channels has its own DMA controller chip that services its requests. DMA channel assignments are made through the BIOS setup utility, with the dedicated configuration software of a device, or with DIP switches or jumpers on the device adapter card.

Logical Device Naming

     Many devices are assigned both a physical address and a logical name. Logical device names are assigned to serial ports and parallel ports. Logical names eliminate the need for software to use what could be the moving target of I/O addresses. Logical device names are assigned during the POST process by the system BIOS.

Logical Device Name Assignments
PORTI/O ADDRESSIRQ
COM13F8-3FFh4
COM22F8-2FFh3
COM33E8-3EFh4
COM42E8-2EFh3
LPT1378-37Fh7
LPT2278-27Fh5