COMP253 — Lecture 11: Peripheral Buses Difference: System and Peripheral Buses Buses within microcomputers can be divided into (2) categories, System [Internal] Buses – communication with CPU-level components (RAM (primary), Cache, connection to expansion slots, most ports and devices on the mainboard) Peripheral [External] Buses – communication with storage (secondary), general I/O, and external devices Interrupt Limitations Every major component requires an interrupt request ID (IRQ #) to indicate a communication event to the system bus in order to communicate with the CPU and exchange data (CPU and RAM are handled through another internal bus). Problem: – limited number of IRQ #'s available for devices; legacy specification: 16 (0 to 15) Possible Solutions: 1. Increase the number of IRQ #'s…not feasible because of required legacy support in the BIOS and on the mainboard; or 2. Introduce a new, external bus using a limited number of existing IRQ #'s to connect to the old system bus…feasible, since legacy is maintained while allowing expanded device support. PCI Bus Steering As a minor solution to the problem of limited IRQs for devices, PCI Bus Steering (or just, PCI Steering) allows a single IRQ (from the pool of non-standard IRQs) to be shared by more than one PCI-connected device. The limitation to this technology is that it can only be applied to internal devices, since PCI does extend beyond the mainboard. Peripheral Buses There is no practical reason to drastically modify the "logical" system bus design, since it works quite well with the existing interrupt architecture. But adding another intermediate bus to the existing system bus slows communication rather than improving it (much like a detour on a major highway). For peripheral buses that already communicate with devices much slower than the system bus, solution 2 is acceptable. IDE/EIDE (Integrated Device Electronics, Extended IDE) – [parallel data transfer] any drive (hard disk, removable disk (ZIP, Jaz), CD, magneto-optical, tape) with an integrated (built-in) disk controller the most common drive peripheral bus (followed by SCSI), used on Wintel and Apple Mac microcomputers correctly part of the ATA standard, with IDE describing the logic circuits on the devices, but IDE has become the "common" standard terminology standard defines a maximum of two (2) drives per channel, with two (2) channels per mainboard (common); with special mainboard and/or special expansion cards, 2 more IDE channels are allowed, to a total of 8 IDE devices (the channels are commonly called "connectors," with names: primary, secondary, tertiary, and quaternary) many names for the same form exist, all based on original ATA model (IDE): ATA-3,4,5 (EIDE), ATA-33/66/100, UltraATA, UltraDMA, etc. the new form of ATA replaces parallel data transfer with a serial format that is much faster and more robust; the intent is to have Serial ATA (SATA) completely replace ATA for both internal and external devices (such as SCSI devices) 1 for CD and tape drives, the connection standard is ATAPI (ATA packet interface); ATAPI devices use the same connector as ATA, but do not function like HD, so special drivers are needed (such as, CD-ROM and tape drives). method: a single IDE channel obtains one (1) IRQ # from the system bus: channel 0 (primary): IRQ 14; channel 1 (secondary): IRQ 15; for tertiary and quaternary, two more IRQs are required from the pool on each channel, one device is set as "Master," and the other set as "Slave" (via jumpers or Cable Select) in using an IDE drive (HD) to boot from, the standard requires a "master" device on the "primary" channel. SCSI (Small Computer System Interface) – [parallel data transfer] used to connect secondary storage devices (disks, tapes), as well as scanners, high-quality printers, and plotters first used on a mass scale with Apple's Macintosh system, since Apple wanted to "close" the Mac design but still let devices from other companies connect devices connected per one host adapter: SCSI-1 up to 7 devices, SCSI-2 up to 15 devices, SCSI-3 up to 31 devices many forms of SCSI exist: SCSI-1, -2, -3, Fast, Fast-Wide, Fast-20 (Ultra), Fast-40, Wide, , etc. differences between forms are in very slight changes to the communication protocol, with major differences to physical connectors and data transfer rates—of which there are many SCSI has evolved from the original specification, and continues as Serial SCSI (IEEE 1394 (Firewire) and Fiber Channel are part of this standard); this also includes a new specification for storage over of the Internet, called iSCSI method: one (1) expansion card, called the SCSI host adapter, is given a single IRQ # from the system bus, and it controls the SCSI bus and all devices connected to it; usually only one card is required in the system, for internal and external SCSI devices each device gets a SCSI ID (similar to an IRQ #, provided by the host), lets the device talk to the host adapter (using jumper settings, SCSI also allows for the ID to be set by the user) devices are "daisy chained" (connected one to another), with the last device needing a SCSI terminator to specify the end of the SCSI daisy chain (modern SCSI formats and their devices are usually able to "self-termination") USB (universal serial bus) – [serial data transfer] designed by Intel with Plug and Play (PnP) operating systems in mind: Windows 9x to XP, Apple Mac OS 9 & 10, and the latest releases of Linux (kernal 2.2 and higher) capable of connecting a multitude of peripheral device: drives, keyboards, mice, tablets, scanners, digital cameras, modems, display monitors, audio speakers, sound I/O devices, and printers the bus supports up to 127 connected devices, with v2.0 allowing for a wider range of newer devices local area networking (LAN) possible through USB, but this is not a sanctioned activity by Intel (any limitations, and compatibility problems, are based on misinterpretations of the "standard" by manufacturers, for communication and power requirements) USB devices are, by definition, "hot swappable," meaning that they can be connected and disconnected while the system is running data transfer rates: version 1.x: 12 Mbps; version 2.x: 480 Mbps (v2 devices not compatible with v1 buses) true purpose of USB: eliminate the IRQ dilemma of the system bus , but also to replace all other peripheral buses (ATA and SCSI), and compete with IEEE 1394 2 method: the internal USB hub in the system obtains one (1) IRQ # from the system bus, with the internal hub having 2 to 5 USB port connections; external USB hubs have 4 to 8 ports (the number of ports per hub depends on whether the hub is self-powered or not) each device is connected to a hub; the number of active devices is limited to the number of USB ports per hub (some USB devices have a "pass-through" port to connect another USB device, such as a keyboard for a mouse) the hub concept allows hubs to be connected to hubs, created a "tiered star" configuration (like a LAN) each device is given a dynamic USB ID, determined by the internal hub when the device is recognised and connected depending on the hub configuration, and types of connected devices, certain devices can obtain power directly from the USB bus IEEE 1394 (i.Link, Firewire) – [serial data transfer] designed by Apple and Texas Instruments, for extremely high-speed communication: 400 Mbps intended for multimedia-oriented devices: drives (particularly, DVD), digital cameras (single shot and video), portable storage devices (audio and video), and audio/video conferencing and editing equipment different versions, from different manufacturers, exist: Firewire (Apple), i.Link (Sony) IEEE 1394 is part of the new Serial SCSI standard, which is in process of being adopted (see SCSI above) like USB, it is Plug and Play (PnP) and allows for "hot swapping"; list of possible devices as lengthy as USB, IEEE 1394 is promoted as a "one solution" peripheral bus limitation is in length of connection cable: 4.5 m (~13 ft) number of connected devices: maximum of 63 devices connected to one port (daisy chain, with no hubs in between) each computer can have 63 nodes (similar to a hub), with 16 devices per node: 1,008 devices per computer cross-linked [nodes with nodes]: 1,023 buses, more than 64,000 nodes; resulting in approx. 1,024,000 total devices Interesting note: the design of the IEEE1394 device connector was based on the Nintendo GameBoy connector; why? method: internal, root node in system obtains a single IRQ # from the system bus, from which devices are daisy-chained (similar to SCSI) like USB, each device given a dynamic device ID, when the device is recognised and connected although devices are daisy-chained, each is self-terminated (terminator circuit is active if no other devices follow) like USB, devices get power (up to 1.5 A) directly from the IEEE1394 bus 3 Wireless Peripheral Buses (IrDA, Bluetooth, WAP) – [serial data transfer] Wireless communication technology is a new area with many options (possibly, too many). Although the concept of "invisible" communication is practical and efficient, most versions of current technologies are incompatible with each other and limited in device selection and availability. The attractive aspect of wireless technology is the word, "wireless." By not requiring a physical connection between devices, links between devices can be dynamic and intelligent; for example, being able to walk into a room and have your PDA "hot-link" to all local devices: printers, scanners, computers, other PDAs, and of course, coffee-makers. More research is required in maintaining stable links, and determining applicable uses. A few important points on these technologies, categories within the various standards are being created to define the abilities and compatibilities of wireless Ethernet devices, this is an extension of the IEEE 802 (LAN) standard for wireless (802.11a, b, g, and h) term for all such wireless and inter-connective practical, personal, and portable devices: 3G – third-generation communication; includes: PDAs, cell-phones, pagers, and other similar mobile communicators because of limited bandwidths and high-error correction requirements, communication speeds are low and problematic; essential communication is limited to short messages using stronger compression methods, noise filters, and higher bandwidths, communication speeds are increasing (Bluetooth @ 1, 2, 5, 11 Mbps) allowing for streaming media content current forms of wireless, IrDA (infrared data association) defines communication between "line-of-sight" devices Bluetooth (radio) protocol for localized network devices, with applications for simple file exchange, "digital camera to printer" functions, and PDA/notebook communication WAP (wireless access protocol) for local, community wireless networking solutions (most applied networking standard, since it follows the 802.11x standard) 4