The System Bus
Total Page:16
File Type:pdf, Size:1020Kb
ELEC 464 : MICROCOMPUTER SYSTEM DESIGN 1996/97 WINTER SESSION TERM 1 The System Bus This lecture describes system buses. These are buses used to interface the CPU with memory and peripherals on separate PC cards. The ISA, VME and PCI buses are used as examples. Introduction characteristics. We will look brie¯y at three examples of system To increase their ¯exibility, most general-purpose buses. The ISA (Industrial Standard Architecture) microcomputers include a system bus that allows bus is commonly used in IBM-PC compatibles and printed circuit boards (PCBs) containing memory or is one of the most widely-used system busses. The I/O devices to be connected to the CPU. This allows VME (Versa Module Europe) bus is used in many microcomputer systems to be customized for differ- industrial computer systems and a wide range of (rel- ent applications. The use of a standard bus also al- atively expensive) interface cards are available for lows manufacturers to produce peripherals that will it. The VME bus includes features common to other work properly with other manufacturers' computer high-performance buses such as arbitration for mul- systems. tiple bus masters. The PCI (Peripheral Component The system bus consists of a number of parallel Interconnect) bus is a ¯exible high-performance pe- conductors on a backplane or motherboard. There ripheral bus that can ef®ciently interconnect periph- are a number of connectors or ªslotsº into which erals and processors of widely different speeds. other PCBs containing memory and I/O devices can be plugged in. In most cases the system bus is very similar to the Mechanical Characteristics processor bus. In fact, the simplest system buses sim- Low-cost consumer-grade buses use card-edge con- ply consists of a connector that allows access to all of nectors to minimize the cost of the peripheral. The the pins on the CPU chip. Like the processor bus, the plug-in card has contact pads along the edges of the the system bus can be subdivided into an address bus, PCB. The motherboard has connectors on the moth- data bus, control bus and power supply connectors. erboard that contact these pads. Typical examples Some microcomputer designs place the CPU and include the ISA and PCI busses. some auxiliary circuits on a PCB (the ªmother- Some buses use connectors on both the mother- boardº) along with system bus connectors. Exam- board and the card. This adds to the cost of the card ple of this approach include most popular IBM PC- (about $5-$10) but makes for more reliable contacts. compatible systems. Other designs use a simpler A typical example is the 3-row by 32-pin (96-pin) passive ªbackplaneº type of bus and place the CPU ªDINº connector used by the VME bus. on its own PCB. This approach is used by most VME-based microcomputers. The latter approach has the advantage that the CPU card can be replaced Electrical Characteristics if required. Because the bandwidth required for the RAM interface is much higher than that for most The electrical characteristics include the voltage and other peripherals, most modern systems use a system current speci®cations, types of bi-directional signals bus only for I/O devices and either use a proprietary and impedance matching. interface for RAM or simply place all of the RAM memory on the same PCB as the CPU. Bus Drivers and Receivers A bus can be described by its mechanical (size, types of connectors, etc), electrical (voltage, clock Bus signals such as clocks or data lines often drive rates, etc), and protocol (read/write cycles, mas- several chips on a peripheral card. If the load pre- ter/slave operation, interrupt acknowledgement, etc) sented by the card exceeds the bus speci®cations then 1 buffer chips (ªbus receiversº) must be used. Simi- account the CPU timing as well propagation delays larly, if the output driving capacity of a chip on the for the circuits that control the buffer directions. peripheral card is not enough to drive the load pre- sented by the bus, a ªbus driverº must be used to Impedance and Termination buffer the signal. To analyze the performance of the bus for the short Bidirectional Buses rise times required in high-speed buses the bus must be treated as a transmission line. Some bus signals can be driven by multiple cards. The pulse generated by a bus driver will propa- For example, the data bus will be driven by all pe- gate down the bus. If the bus is not terminated on ripheral devices as well as the CPU. In this case bi- both ends by the characteristic impedance of the bus directional buffers called ªbus transceiversº are used. a portion of the signal will be re¯ected. The re¯ec- Two common methods are open-collector and tri- tions will propagate back and forth along the bus and state outputs. As always, care must be taken in the appear as ringing and noise. In addition, there will be design to prevent multiple simultaneous outputs on re¯ections from each tap where a card is connected the same bus line (bus con¯icts). to the bus. Typical propagation times for signals on a 10-mil Open-Collector (OC) Logic (.01 inch) tracks are on the order of 6 ns/metre. If the rise time of a device is on the same order as the OC outputs can only sink current, not source it. A propagation delay there is a potential for re¯ections pull-up resistor is used to pull that particular bus line caused by improper termination to cause problems. to . Any device connected to that line can pull For the above reasons it is important that high- the signal low. The resistance of the pull-up resistor speed buses be terminated in the characteristic must be suf®ciently low that the maximum voltage impedance of the bus. The typical characteristic drop across it still provides a valid high logic level impedance is on the order of 100 to 150 ohms. It and the resistance must be high enough to limit the is not possible to simply tie a resistor equal to the current through it to a value that will not damage the bus characteristic impedance to ground because this OC outputs. would pull the signal low. Instead, the resistor is con- The choice of pull-up resistance is also a compro- nected to a low-impedance voltage source at about mise between rise time and power consumption. half of . Tri-State Logic ISA Bus Tri-state logic outputs can controlled to be in a high output, a low output or in a high-impedance mode. The bus used for expansion cards by the original They are used to drive bus signals that might be IBM PC was designed to support expansion memory driven by more than one device. and peripherals such as video displays and parallel For example, on a system that has multiple bus printer ports. It had the same 8-bit data bus and 20- masters the address data bus must be driven by tri- bit address space as the Intel 8088 processor in the state outputs and the data bus driven by tri-state bus XT. The subsequent PC/AT (ISA) bus used a second transceivers. card-edge connector to extended the address space to 24 bits and the data bus to 16 bits. The PC cards are about 4 inches high and up to 13 Dynamic Contention inches long and use one (PC) or two (AT) card-edge It should be remembered that buffers (re- connectors. ceivers/drivers/transceivers) take a ®nite time Intel chips have a separate I/O address space and to switch modes. A detailed timing analysis is nec- the ISA bus includes MEMR* (memory read) and essary to ensure that two outputs will not be enabled MEMW* (memory write) and IOR* (I/O read) and simultaneously. This analysis will needs to take into IOW* (I/O write) strobes. 2 The PC bus is synchronous. The CPU performs allows a read-modify-write cycle that allows atomic ®xed-length read and write cycles although a WAIT (un-interruptible) memory updates. signal is available on the bus so that slow peripherals The operation of the bus is de®ned in terms of the can request wait states. operation of functional blocks that may be present The PC bus has 6 active-low interrupt request lines on cards. A particular card will contain only those (IRQ2* to IRQ7*). The PC motherboard has a pro- functional blocks that are relevant to its operation. grammable interrupt controller chip (intel 8259) that Among the possible functional modules are: arbitrates different levels of interrupt requests and A master initiates transfers of data over the DTB generates an interrupt number in response to the pro- (data transfer bus). A slave responds to data trans- cessor's interrupt acknowledge cycle. fers initiated by a bus master. A location monitor de- The bus also has 3 DMA request (DRQ*) and ac- codes addresses to determine when a slave is being knowledge (DACK) lines that can be used by periph- accessed. A interrupter generates interrupts and re- erals with DMA capabilities. sponds to interrupt acknowledge cycles. A requester The PC/AT (ISA) bus (but not the PC/XT bus) al- is capable of requesting use of the bus. An arbiter lows for a limited form of external bus mastering. determines which master will get control of the bus. Exercise: Which functional modules do you think would be found on a disk controller card? On a memory card? VME Bus On a CPU card? Background VME Data Transfer Bus The VME system bus was developed by Motorola speci®cally for 68000-based systems.