Vous êtes sur la page 1sur 13

EXPANSION BUSES

Bus standards
The Bus
The CPU has to be able to send various data values, instructions, and information to all
the devices and components inside your computer as well as the different peripherals
and devices attached. If you look at the bottom of a motherboard you'll see a whole
network of lines or electronic pathways that join the different components together.
These electronic pathways are nothing more than tiny wires that carry information, data
and different signals throughout the computer between the different components. Bus -
a set of electronic signal pathways that allows information and signals to travel between
components inside or outside of a computer.
A computer's bus can be divided into two different types,
 System bus. This supports the CPU, RAM, and other motherboard
components and runs at speeds that support the CPU.
 Expansion bus. This supports any add-on devices by means of the
expansion slots and runs at a steady rate, based on the specific bus design.
The External Bus connects the different external devices, peripherals, expansion slots,
I/O ports and drive connections to the rest of the computer. In other words, the External
Bus allows various devices to be added to the computer. It allows for the expansion of
the computer's capabilities. It is generally slower than the system bus. Another name for
the External Bus, is the Expansion Bus.
Expansion slots on the motherboard are standardized connections that allow the
installation of devices not soldered to the motherboard. The function of an expansion slot
is to provide configuration flexibility when devices are added to a computer.
Note: Communication ports (COM ports), printer ports, hard drive and floppy
connectors, etc., are all devices which used to be installed via adapter cards. These
connectors are now integrated onto the motherboard, but they are still accessed via the
expansion (external) bus and are allocated the same type of resources as required by
expansion cards.
Expansion Slot (connector)
The slots attach to tiny copper pathways on the motherboard (the expansion bus), which
allows the device to communicate with the rest of the computer. Each pathway has a
specific function. Some may provide voltages needed by the new device (+5, +12 and
ground), and some will transmit data. Other pathways allow the device to be addressed
through a set of I/O (input/output) addresses, so that the rest of the computer knows
where to send and retrieve information. Still more pathways are needed to provide clock
signals for synchronization and other functions like interrupt requests, DMA channels
and bus mastering capability.
IRQs (Interrupt Request lines)
Interrupt Request lines are special pathways directly to the processor that a device uses
to get the attention of the CPU when it needs to. Actually, the lines go through an
interrupt controller (which is usually part of the chipset on your motherboard) that checks
the information (and source) before passing it on to the CPU. Each line has a specific
number and the CPU associates that number with a certain device. Each device is also
assigned a priority level. When an interrupt request is received, the processor will put
aside what it's doing and handle the request. When it's finished, it will return to the task it
was at originally.
DMA Channels
DMA stands for Direct Memory Access. These are channels which allow specific devices
such as hard drives, CD ROMS, tape drives and sound cards to access memory directly,
without having to pass through the CPU. This allows for faster data transfers. Once
again, each device requires its own channel. If two devices are assigned the same DMA
channel, neither will write to memory properly, and a resource conflict could freeze up
your system.
I/O Addresses
Each device on a computer is assigned and allocated a specific area in memory to
exchange data and information with the rest of the computer. The size of the memory
area, or segment, allocated for exchange may differ between devices. The I/O address
(or Input/Output address) is the starting address for the area in memory assigned to a
particular device, and is given in hexadecimal notation.
Bus Mastering
Originally, to write from one device to another, the CPU had to acknowledge the interrupt
from the one device, receive the data, then access the other device via the I/O address,
and transmit the information. The transfer between devices was controlled by the CPU.
Newer expansion bus types included a bus controller. This circuitry, included with the
circuitry on a particular device, could allow the device to control its own transfer of data
to another device, freeing up the CPU for other tasks. A device with these capabilities is
called a Bus Mastering device.
Expansion Bus Configuration
Bus or expansion card configuration refers to the assigning of system resources (DMA
channels, IRQs, and I/O addresses) for each device that is added to your system.
When configuring a device for the computer, you have to tell it which IRQ to use when it
wants to get the attention of the CPU. It has to be assigned a segment in memory (I/O
address) where it can exchange information with the rest of the computer. If it has the
capability of handling its own data transfers, it needs to know which DMA channel it can
use. These resources used to be assigned manually, by moving an array of jumpers on
the circuit board or setting DIP switches.
It should be fairly obvious that different devices shouldn't have the same IRQ, DMA
channel, or I/O address. When the computer boots up, the BIOS checks any installed
card for the jumper settings and places that configuration information into a specific area
in memory (the first 64K of available memory) known as the vector table. This is where
the CPU looks to find configurations, and two devices with the same settings will cause
problems. If two devices are configured to use the same IRQ, for example, the CPU
would only get confused as to which one is requesting its attention. Then, only one of the
devices may work properly, or neither may work. Your computer may freeze up, or it may
not even boot properly. This is an IRQ conflict, and can be difficult to find and resolve.
Today, configuration can be done through software programs that come with the device,
or Plug And Play (which is supposed to assign these resources automatically when your
computer boots up). For PNP to operate properly, your device must be PNP, your BIOS
must be PNP, and your operating system must be Plug And Play compatible
(Windows95+).
Any device that is not Plug And Play is now called a legacy device. When a computer
boots up, the settings for these devices are allocated first (forced settings) so that the
system knows what resources are left for Plug And Play devices

PC bus (8-Bit Expansion Bus)


Early IBM PCs and XTs used the 8-bit expansion bus.
a. It was a single long channel connector with 62 metal "finger connectors"
or channels.
b. There were only eight data lines running from the processor to the
expansion connectors.
c. 20 address lines, access up-to 1MB RAM
d. 5 pins for supply (+5VDC, -5VDC,+12VDC,-12VDC) and 3 pins for
electrical grounds
e. The bus speed was from 4.77 MHz to 8 MHz.
f. It provided eight interrupts and four DMA channels
g. It was configured using jumpers and DIP switches.

8-bit PC bus slot


One of the major limitations of PC bus is its 8-bit bus.
Industry Standard Architecture (ISA)
Industry Standard Architecture bus (ISA - pronounced "ice-ah") also called the AT bus in
IBM PC-AT systems. IEEE certified as standard and became ISA.
a. It had a 16-bit data path for the new 16-bit processors.

b. It had 24 address lines, allow the device to be addressed through a set of


I/O (input/output) addresses, so that the rest of the computer knows where to
send and retrieve information.

c. 16-bit ISA slot, ran at a top speed of 8.33 MHz

d. It provided eight more interrupts (16) and four additional DMA channels
(8).,

e. It was capable of using 1 bus-mastering device.

f. The 16-bit ISA slot was characterized by 2 separate channel slots, a


shorter one in front of the typical 8-bit slot to create the 16-bit connector. This
allowed for backward compatibility with the older technology.

g. The 16-bit ISA bus can be found in 286, 386, 486 and Pentium
computers. ISA expansion cards were assigned the proper IRQs and DMA
channels through jumpers on the card itself.

h. Some ISA cards being manufactured now are capable of PNP.


Problems with the ISA Design: two major shortcomings: lack of speed and
compatibility problems stemming from card design. Expansion cards must make use of
system resources in an orderly way, so that they do not conflict with other devices.
Micro Channel Architecture (MCA) bus
In 1986 the market came to be dominated by the new 386 machines with their 32-bit
architecture. IBM, however, was feeling the pinch of competition from cheaper clones,
and sought to retain its dominance in the PC market. IBM designers produced a new
version of the PC, the PS/2 (Personal System/2), and created a proprietary expansion
bus called Micro Channel Architecture (MCA) as part of the design. The Micro-Channel
Architecture (MCA) bus was capable of using multiple bus mastering devices and could
be configured using software. A big improvement over jumpers and DIP switches.
Actually you needed two disks. One was a "Reference" disk, which allowed access to
the configuration program, and the other was an "Options" disk, which provided the
options available.
A feature of MCA was its ability to "self-configure" devices. Unlike devices that use
technology in which the PC configures itself automatically to work with peripherals such
as monitors, modems, and printers, an MCA device always came with a configuration
disk. When installing a new device in an MCA computer, the technician inserted the
configuration disk (when prompted), and the IRQs, input/output (I/O) addresses, and
direct memory access (DMA) channels were configured automatically.

a. Running at 10 MHz, it offered more performance


b. It had provided a 32-bit data path
c. It had 32 address lines
d. It was also totally incompatible with older ISA cards.
e. The Micro-Channel Architecture (MCA) bus was capable of using multiple
bus mastering devices.
f. It could be configured using software- Programmable Option
Selection(POS)
g. Boards can share interrupts
h. 62+34 pin Connector
Extended ISA (EISA) bus
In 1988 an industry group answered the challenge of MCA and released a new 32-bit, 8-
MHz open standard called Extended ISA (EISA-pronounced ee-suh). As a result of the
advanced architecture of the MCA, several different companies put their heads together
and came up with their own version, the EISA bus.
a. It has 32-data lines
b. It has 32 address lines
c. It runs at the clock speed of 8MHz.
d. It is capable of using multiple bus mastering devices.
e. The EISA bus has no need for configuring interrupts or DMA channels
through jumpers or DIP switches and is configured with software, using a
configuration utility and a device specific program.
f. EISA is an improved variation of the ISA slot that accepts older ISA cards,
with a two-step design that uses a shallow set of pins to attach to ISA cards and
a deeper connection for attaching to EISA cards.
g. 93 new connections added(55 new signals) without increasing the size of
the connector

VESA Local Bus (VLB)


The idea of a local bus came from the need for a bus that could keep up with the faster
CPUs. A local bus connects directly to the processor and operates at the same speed as
the CPU externally (not multiplied). The Video Electronics Standards Association (VESA)
developed a local bus. The design specification provides two other performance-
boosting features: burst mode and bus mastering. In burst mode, VLB devices gain
complete control of the external data bus for up to four bus cycles, passing up to 16
bytes (128 bits) of data in a single burst. Bus mastering allows the VLB controller to
arbitrate data transfers between the external data bus and up to three VLB devices
without assistance from the CPU. This limit of three devices also limited the maximum
number of VLB slots to three and called for the use of a coprocessor.

1. It had a 32-bit data path.


2. It had 32 address lines
3. It was built on the ISA architecture, but was longer, with a third connector
that had all its lines running directly to the processor.
4. It was usually used for video cards, I/O cards and multimedia expansion
cards.
5. There couldn't be more than 3 VLB slots on a motherboard because the
processors couldn't keep up with the transfer.
6. Often, one of the slots was a shared slot
7. Found only in 386 and 486 machines, the VLB had a short life span. It is
not used in Pentium system because of limited 32-bit data path and clock speed.
8. The cards based on this design are connected directly to the system-bus
side of the PC's external data bus.
9. CMOS setup programs on the motherboard with VL bus allow you to set
speed of VL bus either synchronous or a synchronous.
10. VL bus controls functions specific to VL bus interface including bus
mastering, burst mode and 32-bit data transfer.
11. VL bus can take control of external data bus for upto 4 bus cycle, only 16-
byte of data in burst mode.
Peripheral Component Interconnect (PCI)
The PCI bus was introduced with the Pentium computer. The 16-bit and 32-bit bus
architecture would limit the performance of the 64-bit Pentiums.
1. PCI has a 33 MHz bus speed
2. The PCI bus supports both 32 and 64-bit data paths

3. It has 32 address lines

4. It uses a chipset that will also support ISA and EISA architectures. This
means that the PCI bus can be used for both 486 computers and Pentiums, and
motherboards can have a combination of PCI and ISA or EISA slots.

5. The PCI bus communicates with the processor through a bridge circuit,
which acts kind of like an interpreter. This means that it can be processor
independent.
6. It can work with CISC or RISC technologies as long as it has the proper
bridge circuit to interpret the information.
7. It can support multiple bus mastering devices.
8. The cards are Plug-and-Play and come in two versions, 5Vdc and 3.3
VDC. The slots are keyed differently and will not allow the wrong voltage card to
be inserted.
9. Address and data lines are multiplexed to reduce the size of edge
connector
10. 32-bit card has 62 connections and 64-bit card has 94 connections.
Also, the original PCI design operates at 33 MHz.
 The PCI design's special bus and chip set are designed for advanced
bus-mastering techniques and full arbitration of the PCI local bus. This allows
support of more than three slots.
 The PCI bus has its own set of four interrupts, which are mapped to
regular IRQs on the system. If a PC has more than four PCI slots, some will be
sharing interrupts and IRQs.
 The PCI bus allows multiple bus-mastering devices. Advanced controllers
such as SCSI (Small Computer System Interface) cards can incorporate their
own internal bus mastering and directly control attached devices, then arbitrate
with the PCI bus for data transfers across the system bus.
 Auto-configuration lets the PC's BIOS assign the IRQ linking the card to
the system bus. Most PCI cards have no switches or jumpers to set, speeding
installation and preventing many hardware conflicts.
Differences in PCI Versions
 The early PCI motherboards often have jumpers and BIOS settings that
must be set to enable proper PCI operation. These are most often found on
Pentium 60-MHz and 66-MHz machines.
 The PCI bus speed is not fixed. Newer chip sets can drive it-and the
cards on it-at 66 MHz. At full performance, the PCI bus can deliver data transfers
at up to 132 MB per second.
The PCI market includes NICs, sound cards, SCSI adapters, Ultra Direct Memory
Access (UDMA) controllers, and DVD (digital video disc) interfaces. Having more cards
on a single bus slowed down the performance.

Personal Computer Memory Card International Association (PCMCIA)


It's often just called a PC Card bus and is used in laptops and notebook computers to
add external devices such as modems, network cards, memory and removable hard
drives.
1. It is 62-pin connector
2. The bus has a 16-bit data path
3. It has 26 address lines supporting 64MB RAM
4. It only supports one IRQ.
5. It is software configurable, using what is called Card and Socket Services
software.
6. It supports hot swapping
7. It is supports self configuration
8. It has ability to executing programs without having to down load them to
conventional memory
9. It has specified file formats and data structures
10. Card hardware is device independent
11. Independent software links
12. Card Identification Structure program built-in with card allows cards to
fully describe themselves.
There are 3 different types of PC Cards and sockets.
a. Type I is 3.3mm thick and has a single row of connectors. It was used mainly for
add-on memory cards and isn't found in newer laptops.
b. Type II is thicker (5mm) and has two rows of connectors. This is the most
common and is used for modems and network interface cards.
c. Type III is thicker still, (up to 10.5mm) and have three or four rows of connectors.
They're used mainly for adding an external hard drive to a laptop or notebook
computer.
Accelerated Graphics Port(AGP)
The increasing popularity of 24-bit graphics and 3D rendering called for greater
demands on the display system, Intel led the way and developed the Accelerated
Graphics Port (AGP). The AGP removes all the display data traffic from the PCI bus and
gives that traffic its own 525-MB-per-second pipe into the system's chip set and, from
there, straight to the CPU. It also provides a direct path to the system memory for
handling graphics. This procedure is referred to as Direct Memory Execute (DIME).

AGP connectors are found only on Pentium II-based and later computers or on similar
CPUs from non-Intel vendors.
IEEE 1394 FireWire High-Performance Serial Interface
One contender that has been touted as a possible replacement for SCSI in connecting
external peripherals is IEEE 1394, known also by its Apple trade name of FireWire. This
high-speed serial interface allows up to 63 devices on a chain, at data transfer rates of
up to 400Mbits or 50 MB per second.
This new interface offers several advantages: a hot swap capability (the ability to add
and remove components while the machine is running), small and inexpensive
connectors, and a simple cable design. Right now, few devices support 1394, but it is
seen as a viable method for connecting multimedia devices like camcorders and other
consumer electronic devices to PCs. Its isochronous transfer method (sending data at a
constant rate) makes it a natural for video products.
Universal Serial Bus(USB)
It was designed for low to mid-speed peripherals such as scanners, keyboards, mice,
joysticks, printers, modems and some CD-ROMs. USB boasts the ability to daisy-chain
up to 127 devices.
USB is Plug-and-Play, and is completely "hot-swappable". In other words, devices can
be plugged in, and unplugged while the computer is turned on and running
USB was first introduced with new computers around 1997 and the final version of
Win95 (SR2) provided very limited support for it. A few problems seemed to develop at
first. You had to have a Pentium machine with BIOS that supported USB, and it had to
be enabled in the setup. The early versions of Win95 did not support USB. Also, a lot of
machines shipped with USB ports or capabilities before the BIOS supported it
completely.
USB supports isochronous (time-dependent) and asynchronous (intermittent) data
transfers. Isochronous connections transfer data at a guaranteed fixed rate of delivery.
USB devices can be attached with the computer running.
 1.5 megabits per second (Mbps) asynchronous transfer rate for devices,
such as a mouse or keyboard, that do not require a large amount of bandwidth.
 12 Mbps isochronous transfer rate for high-bandwidth devices such as
modems, speakers, scanners, and monitors. The guaranteed data-delivery rate
provided by isochronous data transfer is required to support the demand of
multimedia applications and devices.
Configuring Expansion Cards
I/O Addresses
The bus system establishes a connection between the CPU and expansion devices and
provides a path for the flow of data. The computer needs a way to track and control
which device is sending data and which device is receiving, to establishing orderly
communication is to assign a unique I/O address to each device.
I/O addresses are patterns of 1s and 0s transmitted across the address bus by the CPU.
The CPU must identify the device before any data is placed on the bus. The CPU uses
two bus wires-the Input/Output Read (IOR) wire and the Input/Output Write (IOW) wire-
to notify the devices that the address bus is not being used to specify an address in
memory, but rather to read to or write from a particular device. The address bus has at
least 20 wires.
All I/O addresses define the range of patterns assigned to each device's command set.
The device ignores all commands outside its range. All devices must have an I/O
address, and no two devices can have overlapping ranges. Basic devices on the
address list have preset I/O addresses that cannot be changed. Other devices must be
assigned to the open addresses, and they must be configured at installation.
On non-Plug and Play devices, I/O addresses are often set by changing jumpers,
changing DIP switches, or through use of software drivers. On Plug and Play systems,
PCI cards are self-configuring, and usually no intervention is needed to set I/O
addresses for those cards.
Devices assigned overlapping I/O addresses usually do not respond to commands and
stop functioning. In such a scenario, a modem will dial but not connect; a sound card will
start to play but will stop; a mouse pointer will appear but the mouse will not move. I/O
overlaps can also sometimes cause the machine to lock up intermittently.
AT Port Used By AT Port Used By
000h-00Fh First DMA chip 8237A 278h-27Fh Second parallel interface
020h-021h First PIC 8259A 2B0h-2DFh EGA
040h-043h PIT 8253 2F8h-2FFh COM2
060h-063h Keyboard controller 8042 300h-31Fh Prototype adapter
070h-071h Real-time clock 320h-32Fh Available
080h-083h DMA page register 378h-37Fh First parallel interface
0A0h-0AFh Second PIC 8259A 380h-38Fh SDLC adapter
0C0h-0CFh Second DMA chip 8237A 3A0h-3AFh Reserved
0E0h-0EFh Reserved 3B0h-3BFh Monochrome adapter
0F0h-0FFh Res. for coprocessor 80287 3C0h-3CFh EGA
100h-1FFh Available 3D0h-3DFh CGA
200h-20Fh Game adapter 3E0h-3E7h Reserved
210h-217h Reserved 3F0h-3F7h Floppy disk controller
220h-26Fh Available 3F8h-3FFh COM1
Interrupt Request
Controlling the flow of communication is called interruption. Every CPU has a wire called
the interrupt (INT) wire. If voltage is applied to the wire, the CPU interrupts what it is
doing and attends to the device. For example, when a mouse button is pressed, the
CPU attends to the interrupt request, invoking the necessary BIOS routine to query the
mouse.
Because the CPU has only one INT wire and must handle many peripheral devices, a
specific type of chip, called the 8259 chip, is present on the system to help the CPU
detect which device is asking for attention. Every device that needs to interrupt the CPU
is provided with a wire called an IRQ. If a device needs to interrupt the CPU, it goes
through the following steps:
1.The device applies voltage to the 8259 chip through its IRQ wire.
2. The 8259 chip informs the CPU, by means of the INT wire, that an interrupt is
pending.
3. The CPU uses a wire called an INTA (interrupt acknowledge) to signal the 8259
chip to send a pattern of 1s and 0s on the external data bus. This information
conveys to the CPU which device is interrupting.
4. The CPU knows which BIOS to run.
The 8088 computers used only one 8259 chip, which limited these computers to using
only eight available IRQs. Because keyboard and system timers were fixtures on all
computers, these IRQs were permanently wired into the motherboard. Computers based
on the 80286 chip, two 8259 chips were used to add 8 more available IRQs. Because
the CPU has only one IRQ wire, one of the IRQs is used to cascade the two 8259 chips
together. This gives a total of 15 available IRQs.
 IRQ 2 and IRQ 9 are the same IRQ.
 Three IRQs are hardwired (0-system timer, 1-keyboard controller, and 8-
real-time clock).
 Four IRQ assignments are so common that no computer or device
manufacturer dares to change them for fear their devices will cause conflicts (6-
floppy disk controller, 13-math coprocessor, 14-primary IDE [Integrated Device
Electronics] controller, and 15-secondary IDE controller).
 Four IRQs default to specific types of devices but can be changed: IRQ 3-
COM2 and COM4, 4-COM1 and COM3, 5-LPT2, and 7-LPT1 (see table that
follows).
 The rest (IRQs 2/9, 10, 11, and 12) are not specific and are available for
use.
IRQ Function Available for Change
IRQ 0 System timer No
IRQ 1 Keyboard controller No
IRQ 2/9 Available Yes
IRQ 3 COM2, COM4 Usually
IRQ 4 COM1, COM3 Usually
IRQ 5 LPT2 Usually
IRQ 6 Floppy disk controller No
IRQ 7 LPT1 Usually
IRQ 8 Real-time clock No
IRQ 10 Available Yes
IRQ 11 SCSI/available Yes
IRQ 12 Available Yes
IRQ 13 Math coprocessor If there is no math coprocessor
IRQ 14 Primary IDE controller No
IRQ 15 Secondary IDE controller usually
Direct Memory Access
The CPU runs the BIOS, operating system, and applications, and it also handles
interrupts and accesses I/O addresses. This requires the CPU to move a lot of data,
using considerable CPU power and time for what is essentially a simple task. Therefore,
moving data is a waste of the CPU's resources.
To reduce this waste, another chip is installed to work with the system CPU called a
DMA chip. The only function of the DMA chip (the 8237 chip) is to move data. It handles
all the data passing from peripherals to RAM and vice versa.
Every computer uses DMA 2 for the floppy disk drive. Fortunately, not many devices use
DMA, but sound cards, a few SCSI controllers, and some CD-ROM drives and network
cards do require DMA. DMA can be set by means of either hardware or software. If two
devices share the same DMA channel and "talk" at the same time, the computer will lock
up.
DMA Channel Function
0 Available
1 Available
2 Floppy disk controller
3 ECP (Enhanced Capabilities Port) parallel/available
4 First DMA controller
5 Second sound card
6 SCSI/available
7 Available
COM and LPT Ports
The purpose of a port is to make installation easier. Modems and printers, therefore, do
not require IRQ or I/O settings. When assigned to an active port (as long as no other
device is using that port), they will work.
Port I/O Address IRQ
COM1 3F8 4
COM2 2F8 3
COM3 3E8 4
COM4 2E8 3
LPT1 378 7
LPT2 278 5
Installing Expansion Cards
The rules for installing expansion cards are simple:
 First read the manual.
 Document addresses and DMA and IRQ settings for any non-Plug and
Play device.
 Keep the IRQs, DMAs, and I/O addresses unique.

Vous aimerez peut-être aussi