Title: Communicating with Devices: Buses, Bridges, etc.
1Communicating with Devices Buses, Bridges, etc.
2Look to the Future
- From the beginning PCs have been made with
expandability and adaptability in mind. - While certain I/O devices came standard, there
was room to add others to expand the computers
capabilities and to adapt the PC to the
particular needs. - The circuitry required by the new device is
placed on the expansion card or adapter card. - We also need to connect to and communicate with
the rest of the PC, this is the job of the
expansion bus.
3Standards
- IBM developed the first PCs, the first PC bus and
the first PC expansion slots. It was an 8-bit
bus. They allowed others to use that technology
without having to pay royalties. (However, they
never released the full specifications.) - This step allowed competitors to make IBM
clones which brought the price of PCs down. But
the low price helped to establish a standard. - The standard made peripheral makers jobs easier.
They only had to design for one interface.
4Bottlenecks
- The standard devices and expansion devices
operate at a wide variety of speeds. We need a
design that allows to whatever extent possible
each device to operate at its own speed. - Actually we will have a hierarchy of standard
speeds different buses carrying data at
different speeds. - The interface between devices of different speeds
can be a source of slow downs (bottlenecks). - The chipset handles much of this interfacing.
5Chipset
- The main components of the computer (processor,
memory, cache, etc.) plug into the motherboard
and communicate via the chipset. - The chipset determines which type of processor
can be used, how fast a processor, how much
memory, what type of memory, and so on. - The chipsets function are typically broken into
two sets, one handled by the Northbridge and the
other handled by the Southbridge.
6Northbridge
- The Northbridge handles the high-speed,
high-volume data communication between the CPU,
cache, memory and AGP (accelerated graphics
port). - Since the Northbridge manages the
processor-memory interaction (the front-side bus
bottleneck), its performance is critical. - The Northbridge determines the FSB speed.
Typically the processor operates at a
multiplicative factor (the CPU multiplier) of
the FSB speed. - It uses synchronous memory, recall SDRAM.
7Southbridge
- The Southbridge allows communication with a
greater variety of slower devices. It connects
to the secondary buses USB, IDE, PS/2,
Ethernet. - Since it handles accessing the hard disk, the
Southbridge manages a bottleneck of its own,
especially for memory-intensive applications.
8(No Transcript)
9North
South
10Bridge Interface
- Older chipsets used the PCI (Peripheral Component
Interconnect) Bus to connect the Northbridge and
Southbridge. But with more devices using the PCI
bus, modern chipsets have introduced a dedicated
interface between the chips. - Another multiplicative speed factor is between
the FSB speed and the PCI speed. - The standard PCI bus speed is 33.3 MHz, while
standard FSB speeds are 100 MHz (3X) and 133 MHz
(4X). - Motherboards that use this multiplicative factor
are said to be synchronous.
11Bus History
- When Intel moved to a 16-bit data bus (with the
256), the expansion buses needed to be changed as
well. - IBM developed a 16-bit bus that was backward
compatible with the PC 8-bit bus. They debuted it
in their Advanced Technology (AT) computer and it
became known as the AT bus. - Based on the AT bus, some IBM competitors got
together to lay out some specifications known as
Industry Standard Architecture (ISA).
12No more ISA
- ISA slots were kept in PCs for reasons of
backward compatibility for many years. - They have been officially dropped from what
Microsoft and Intel see as a PC in their PC 2001
System Design Guide. - This move is to reduce legacy dependence.
- If needed one can get PCI cards that can simulate
an ISA card to interface with legacy devices.
13Link to PC 2001 System Design Guide
14PC 2001 System Design Guide
15Communication
- Expansion cards, as well as other peripheral
devices, can communicate with the processor and
memory through one or more of the following - I/O Addresses
- Interrupt Requests Lines (IRQs)
- Direct Memory Access (DMA) channels
- Memory Addresses
- Known as system resources.
16I/O Address
- The processor has an external data bus and an
address bus. - One use of the address bus is to indicate the
word in memory that the processor wishes to
access. - A set of address bus combinations are reserved to
communicate with peripherals. A given peripheral
may have several addresses assigned to it, each
corresponding to a different action that the
processor is requesting.
17Uniqueness
- As is normal with addresses, each I/O address
should be unique. If two devices shared an I/O
address, then it would be unclear which device
the processor intended to communicate with. - IBM set the early standards assigning certain
standard devices set I/O addresses.
18Start/Settings/Control Panel/System/
Hardware/Device Manager
19Click to expand items under a particular device
then double click on the item
20Resources
21(No Transcript)
22IRQs
- While I/O addressing allows the processor to
initiate communication with a peripheral, the IRQ
allows the peripheral to initiate communication
with the processor. The processor must be
interrupted. - The processor has one pin to indicate that it has
been interrupted. When it reaches a point at
which it can process the interruption, it needs
to trace back and determine which device
interrupted it. This is the purpose of the IRQs.
23Interrupt Controller
- After the processor has been interrupted, it uses
the I/O Address approach to initiate
communication with the interrupt controller which
will help the processor determine which device
made the request.
24Table of IRQs
25Another type of addressing
- IRQs are another form of addressing.
- There are far fewer of IRQs than there are I/O
addresses and so it is more likely that IRQ
conflicts will occur. - Under certain circumstances it is possible for
two devices to share an IRQ line provided the two
devices are never active simultaneously (e.g. a
fax and a modem that use the same phone line). - Early on IBM assigned to IRQs to some standard
devices.
26Table of IRQs (Cont.)
27NIC using IRQ 9
28Ports
- To accommodate that many devices would need I/O
addresses, an IRQ and a set of rules for
communicating, two standards were established
one for serial communication (the COM ports) and
another for parallel communication (the LPT
ports).
29COM and LPT Assignments
Port I/O Base Address IRQ
COM1 03F8 4
COM2 02F8 3
COM3 03E8 4
COM4 02E8 3
LPT1 0378 7
LPT2 0278 5
30DMA
- Direct Memory Access (DMA) allows devices to
interact with the memory without the processor
having to get involved. - The processor delegates some of its traffic
control duties. - Now we have a situation in which a number of
devices may want to use the buses to access
memory, so we need another addressing/ requesting
system. - Note with our cache hierarchy, we hope that the
processor accesses the memory infrequently (less
than 5 of the time).
31DMA Channel for Floppy
32Bus Mastering
- Choosing to show the floppys DMA channel was not
just a random example. The floppy uses classic
(third-party) DMA. - Third-party DMA was slow.
- In first-party DMA, a.k.a. bus mastering, the
device (e.g. hard disk drive) controls the
interaction with memory. - The devices sense if some other device is
accesses memory.
33Changing View of the Device Manager
34DMA
35I/O Addresses
36IRQs
37Memory-Mapped I/O
38Buses that have come and gone
- Micro-Channel Architecture (MCA) extends to
32-bit width, increased speed, was
self-configuring BUT was not backward compatible
and was proprietary - Extended ISA (EISA) was 32-bit, self-configuring,
backward compatible, open standard BUT slow - Video Electronics Standards Association Local Bus
(VL-Bus or VESA Bus) was fast because it worked
with the North bridge instead of the South Bridge
BUT was NOT self-configuring.
39And the Winner is PCI
- Peripheral Component Interconnect (PCI)
- Intel introduced the PCI bus structure pretty
much at the same time it introduced the Pentium.
- Like the VESA bus, it interfaces with the
Northbridge so it is fast. - It is also self-configuring.
- It allows for bus mastering.
- It was effectively free (provided automatically
by Intel). - It allowed data bursting.
- It was scalable.
- While introduced by Intel, it works with other
processors including Machintosh.
40Bus Comparison Table
41PCI Card Connectors
A PCI card has 47 pins with no bus mastering and
has 49 pins with bus mastering.
42PCI Slots
43Putting a card in
- Keep the card in its anti-static bag until you
are ready to insert it. - Turn off and unplug the PC.
- If you dont have a wrist strap to protect
against electrostatic discharge (ESD) then after
removing the card from the bag touch the PCs
power supply. The smallest shock could ruin the
card or the motherboard. - Insert the card straight in or at most a slight
angle. - Screw the card to the box with a connection screw
it keeps the card in place and can help ground
it.
44Putting a card in (Cont.)
- Close the computer, plug it in and start.
- You should get a message from the operating
system that it has detected new hardware. - It will search for a driver and/or request that
you insert a CD with the driver. - You may need to reboot depending on the device.
- You should look for the new device in the device
manager to make sure there are no conflicts.
45Hardware Compatibility List
46Look for Compatibility between device and
operating system
47Plug and Play
- Plug and Play (PnP) is a feature in which the
system configures a device automatically rather
than the user having to set jumpers and choose
resources, etc. - For PnP one needs
- A PnP BIOS
- A PnP operating system
- A PnP device
- All PCI devices are PnP
- A device which is not PnP is called a legacy
device.
48How Plug and Play Works
- Initially the PnP devices are put on hold and
resources are assigned to legacy devices. - Then the system starts querying the PnP devices
about the resources each wants. - A PnP device will provide a list of resources it
could use. - For example, it would not specify IRQ 3 but
rather specify that it could use IRQ 3 or IRQ 5
or IRQ 7. - A file with PnP information, called the Extended
System Configuration Data (ESCD), is kept.
49AGP
- Specification developed by Intel, even faster
than PCI and more directly connected to the
Northbridge is the AGP (Accelerated Graphics
Port). - It is dedicated to graphics. It will have its
own slot to be used only for this purpose.
50References
- All-in-One A Certification, M. Meyers and S.
Jernigan - http//www.pcguide.com
- PC Hardware in a Nutshell, R. Thompson and B.
Thompson