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.

Post on 29-Mar-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

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