The Expansion Bus
Three Tasks
• A card needs to be built specifically for the expansion slot – the right signals at the right place. Connectivity
• Card needs some way to communicate with the CPU – in and out. Communication
• Operating System needs some way to allow user to control the device/card. Drivers
Structure
• Expansion bus(es) connect to the chipset
And PCIe
Speed
• CPU (and Northbridge) tied to System Crystal
• Almost all chips/devices have clock wire for timing
• This could lead to lots of devices at each specific speed (66, 100, 133, etc.)
• Solution is to add an Expansion Crystal for consistent timing on the bus
Expansion Crystal
Errata to Book
• Figure 8-5 shows Expansion Crystal connected to CPU. That is not correct.
• Expansion Crystal should connect to Sound Card and Modem Card (which figure does not show)
PC Bus
• Was an 8-bit bus (match to EDB)
• Ran at about 7 MHz
• Had patents, but no licensing fees
• Did not, of itself, create clone market as Michael suggests.
• Also did not mess with Apple as he suggests
PC Bus
286 at 16 bits
• Need to improve on 8-bit expansion bus
• Just extend the bus to add more bits
• Still running at 7 MHz
System Resources
• I/O Resources
• IRQ’s
• DMA channels
• Memory Addresses
• Our life today, with Plug and Play (PnP), takes care of most of this for us
I/O Addresses
• Input/Output Port Addresses
• Use the IO/MEM wire with addresses
• CPU Device
• We use hex notation, using four hex digits. Range is 0000 to FFFF
• Not every device has four I/O addresses; some have more, some less
I/O Addresses for Devices
• Digging into Device Manager:
Rules of I/O Addressing
• All devices have at least one I/O address
• Most devices use more than one address (system speaker only uses one)
• No two devices can share the same I/O address
• The first address in the range is often called the Base Address, 01F0h for hard disk drive
I/O Addresses to Know
03F8 COM1
O2F8 COM2
03E8 COM3
O2E8 COM4
0378 LPT1
Interrupt Requests (IRQs)
• We need a way to start communication with the CPU from the device
• We use Interruption, much like a ringing telephone
• Interrupts are CPU DeviceI/O Advanced Programmable Interrupt Controller (IOAPIC)
IRQ Rules
• Almost every device needs an IRQ (joystick does not use one)
• Mostly, can’t share an IRQ (modem/fax can)
• Many IRQs are allocated to devices through a table of standard values
Unused IRQ’s are not listed here
Preset Assignments
Port Base Address
IRQ
COM1 3F8 4
COM2 2F8 3
COM3 3E8 4
COM4 2E8 3
LPT1 378 7
Direct Memory Access (DMA)
• Most of the time, the CPU is busy and much of the system is idle
• CPU uses EDB about 5 percent of the time• Some devices can access memory directly
without the CPU’s help• Sound cards, floppy drives and hard disk drives
use DMA• Used a very simple, “extra” CPU with DMA
Request, or Channel wires
Limits to DMA
• Designed for PC bus, limited to 7 MHz• Can only handle 8-bit data streams per chip• Cascading chips allow for 16-bit transfers• Now used for low-speed data transfers: floppy
drive (DRQ2), sound and tape backup• Today we have Bus Mastering; the device takes
(intelligent) control and skips the DMA chip giving us Ultra DMA
Memory Addresses
• Option ROM (from previous week) on the card needs memory address space
• Usually allocated from near the top of first meg of RAM (Upper Memory)
• Devices can not share memory
• Ranges can not overlap
• Fully automatic today
New Expansion Bus
• 16-bit bus only ran at 7 MHz and was limited to 16 bits at a time
• We had to manually assign System Resources to each card
• We needed improved technology and a way to go faster
False starts – Part 1
• IBM and Microchannel Architecture (MCA) – first 32-bit bus
• Smarter bus – could allocate System Resources
• Required “personality disk” to install or remove – giant hassle over floppies
• Heavily patented and expensive licenses
• Used on PS/2 line (‘87-’88) from IBM
Spin Doctors
• Industry (and consumers) resisted MCA
• Manufactures argued for “Return to Industry Standard Architecture” or ISA Bus (ii-sa)
• 1987-1988 time frame
1/2
False starts – Part 2
• EISA bus (ee-sa)
• Used a double-deep slot; top part for ISA cards and lower, 32-bit slot for EISA cards
• Lasted almost a yearISA contacts
here
EISA contacts here
False starts – Part 3
• Video Electronics Standards Association created the VESA local bus (VL-bus)
• 32-bits total (16+16); connected at Front Side Bus; ran at 33 MHz
• “Glue on” to ISA bus
Enter PCI
• Intel gets credit for this one (1993)• Peripheral Component Interconnect• 32-bit, 33 MHz; “mezzanine” bus as it sits
between FSB and rest of expansion bus (ISA)• Self-configuring (PnP), allows Ultra-DMA (bus
mastering)• Uses sharable Interrupt Channels (INTA, INTB,
C and D)• Supports I/O addresses above 3F8 to FFFF
Honorable Mention to AGP
• Video demands keep pushing bus improvements
• Accelerated Graphics Port
• PCI slot with its own connection to Northbridge
• This, and more, when we do Video chapter
20
PCI - X
• PCI Extended
• 64-bit slot for servers, Mac G5
• Four speeds: 66, 133, 266 and 533. 266 is double-pumped 133; 533 is quad-pumped.
• Not going to see this on the desktop.
PCI Express
• PCIe –xN. PCI express by “N” (some number of lanes wide). About 2004-5
• Serial connection (differential signals)
• Not a shared bus like all before it; each connection direct to Northbridge chip
Installing Expansion Cards
• Need to know that the card works with OS and motherboard
• Insert card properly – don’t break things and beware of ESD
• Provide drivers – specific to card and OS
• Verify proper operation
Installation Order
• Most video cards today require that you– uninstall current video drivers (revert back to
generic Microsoft driver) – install new driver software – Remove old card and install new card– Finish (driver) installation
• Always read installation instructions first
Will it work?
• Will it work with your motherboard?– Can’t install PCIe-x16 video card in AGP slot– Can’t install ISA sound card in PCI-only m/b
• Will it work with your OS? - This will be an issue for Windows 7 (?)- Always an issue with new OS
• Is device on the Hardware Compatibility List (HCL) or Windows Marketplace?
Physical Installation• Do you have an available slot?• Beware ESD• Beware the 5v on the motherboard – pull
the plug during installation• Handle the card carefully – don’t get “wet”
fingerprints on connector.• Insert, and remove, card at a slight angle• Install the attachment screw before you
power up the system
Handle card
Preventative Maintenance
• Don’t use pencil eraser to “clean” contacts, rather, use canned contact cleaner – but only if card has had a long shelf life.
• Sometimes removing and reseating a card a time or two will bring the card back to life.
• The attachment screw WILL line up with hole if you have installed card correctly
10
Drivers
• Expansion cards WILL have a floppy/CD with driver(s) in the box.
• Read the directions to determine what’s first: device install or driver install
• Video cards usually need old (card) drivers removed first; usually in Add/Remove Programs
• Remove All-In-One printer controls from Add or Remove Programs too.
More Drivers
• A lot of drivers are “unsigned” – usually means they did not pay Microsoft to test the driver. It’s not as scary as it looks.
• If you have to force the Add Hardware Wizard you probably did something wrong
• 64-bit Vista and 7 require driver signing
Verify Operation
• Don’t leave until you have verified operation of the expansion card.
• Device Manager is a good place to check after install and driver install
• Have the device do its something just to make sure all is well (and client is happy)
7
Plug and Play (Pray)
• Need a PnP BIOS – standard issue since about 1997
• Need a PnP OS – Windows 9x and up, not DOS or Windows 3.x
• Need a PnP device/card – all new (PCI and up) cards are PnP. Some ISA cards were also. Not marked on box anymore.
6
How PnP works
• PnP devices told to be quiet
• BIOS searches for legacy devices and assigns resources
• PnP devices announce usable resources
• BIOS allocates resources to PnP card(s)
• This happens each time you boot system and occurs prior to beep.
5
ESCD
• BIOS keeps list of devices in Extended System Configuration Data list
• Usually, at boot, this list is checked against installed hardware and if they match, the allocation process is skipped
4
IRQ Steering
• PCI devices use dynamically assigned interrupt channels rather than IRQs.
• Sometimes we have to make it appear that device is using IRQ; often we “stack” devices on single IRQ.
• The BIOS sorts all this out and will “switch” resources for a legacy program.
3
Trouble - Visable
• Device Manager error indicators:– Yellow circle with black exclamation point
usually means driver is damaged– Red “X” symbol means device is disabled and
not working– Yellow question mark is found device but
lacking correct driver(s).
2
1
Trouble – Not Visible
• Windows should recognize new card on bootup and ask for driver(s). If it does not ask, you (or card) failed some step.
• USB devices should be recognized on connection.
• Drivers, drivers, drivers
• Get an account at DriverGuide.com
0
Top Related