580 likes | 753 Views
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
E N D
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
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
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
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 Device I/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
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 year ISA 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
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