|
The 8-bit and 16-bit
ISA Bus
All devices are
directly or indirectly connected to the systemboard because they are all
dependent on the CPU for processing their data. A device connects to the
systemboard by a data cable, a slot, or a port coming directly off the
systemboard. In any case, the device always connects to a single bus on
the systemboard. Recall that there are several different buses on a
systemboard, but our discussions here will be limited to only one bus, an
older bus used on the early PCs of the 1980s, called the ISA (Industry
Standard Architecture) bus, because this simpler bus is easier to
understand. The first ISA bus had only eight lines for data and was called
the 8-bit ISA bus.
Some of the lines on
the bus are used for data, addresses, and voltage, and others are a
variety of control lines. Eight lines are used for data, and twenty lines
are used for addresses. These 20 lines can carry either memory addresses
or I/O addresses. The CPU determines which type of address is using these
lines by setting control lines B11 through B14 (memory read/write and I/O
read/write). Since this bus has only 20 address lines, the largest address
value that can travel on the bus is 1111 1111 1111 1111 1111 or 1,048,576
(1024K).
Two lines are required
to manage a DMA channel: DRQ (Direct Request) and DACK (Direct
Acknowledge). There are four DMA channels (0, 1, 2, and 3) on the 8-bit
ISA bus.
As computer technology
improved, the demand increased for more memory, more devices to be
operating at the same time, and faster data transfer, making it necessary
to provide more memory addresses, DMA channels, and IRQs. The 16-bit ISA
bus was invented to meet these requests. The 16-bit ISA bus added an extra
extension to the 8-bit slot allowing for eight additional data lines
(total of 16), five additional IRQ lines, four more DMA channels, and four
additional address lines (total of 24). Today, the 16-bit ISA bus is still
used on systemboards, although newer, faster buses are also used. An 8-bit
expansion card (an expansion card that only processes 8 bits of data at
one time) can use the 16-bit ISA expansion slot. It only uses the first
part of the slot.
Systemboards also
contain other newer buses that are faster and provide more options, but
the basics haven’t changed. You can still find lines on these buses for
data, addresses, IRQs, and DMA channels, although it is common practice
today for a line to perform several functions, making it not quite as easy
to study the bus.
Interrupt Request
Number
When a hardware device
needs the CPU to do something, such as when the keyboard needs the CPU to
process a keystroke after a key has been pressed, the device needs a way
to get the CPU’s attention and the CPU must know what to do once its
attention is turned to the device. These interruptions to the CPU are
called hardware
interrupts
and the device handles
them by placing voltage on a designated line on the bus it is connected
to. These lines are numbered, and a line is referred to as an
interrupt request number,
or IRQ. This voltage on the line
serves as a signal to the CPU that the device has a request that needs
processing. Often, a hardware device that needs attention from the CPU is
referred to as “needing servicing.” Look carefully at the figure below
which shows IRQ lines (IRQ 2, 3, 4, 5, 6, and 7). There are actually eight
IRQs built into this bus, but IRQs 0 and 1 are not available for expansion
cards (because they are used for system timer and keyboard), so they are
not given a pin on the expansion slot. IRQ 2 was reserved in the early
days of PCs because it was intended to be used as part of a link to
mainframe computers. Thus, only five IRQs were available for devices, and
each device had to have its own IRQ. This made it difficult for more than
five devices to be connected to a PC at any one time. COM1 and COM2 are
preconfigured assignments that can be made to serial devices such as
modems, and LPT1 and LPT2 are preconfigured assignments that can be made
to parallel devices such as printers.
On early systemboards,
the eight IRQs were managed by an Intel microchip called the interrupt
controller chip and labeled the Intel 8259 chip. This chip had a direct
connection to the CPU and signaled the CPU when an IRQ was activated. The
CPU actually doesn’t know which IRQ is “up” because the interrupt
controller manages that for the CPU. If more than one IRQ is up at the
same time, the interrupt controller selects the IRQ that has the lowest
value to process first. For example, if a user presses a key on the
keyboard at the exact same time that she moves the mouse installed on
COM1, since the keyboard is using IRQ 1 and the mouse on COM1 is using IRQ
4, the keystroke is processed before the mouse action. The table below
shows some of the common IRQs for devices using the early 8-bit ISA bus.
<Previous>
<Home>
<Next>
|