Bus Arbiter Streamlines Multiprocessor Design
Total Page:16
File Type:pdf, Size:1020Kb
BUS ARBITER STREAMLINES MULTIPROCESSOR DESIGN Arbiter coordinates 8- and 16-bit microprocessors' access to a shared, multimaster bus and offers flexible operating modes to accommodate different system configurations James Nadir and Bruce McCormick Intel Corporation 3065 Bowers Ave, Santa Clara, CA 95051 P erformance improvements and cost reductions afforded The MULTIBUS approach implements this asynchronous by large scale integration technology have spurred the processing structure by synchronizing all microprocessor design of multiple microprocessor systems that offer im bus requests to a high frequency reference system bus clock proved realtime response, reliability, and modularity. In that can operate at up to 10 MHz. Synchronized requests multiprocessing, more than one microprocessor shares com are then resolved by a priority encoder. As a result, the mon system resources-such as memory and input/output number of resolving circuits common to all microprocessors devices-over a common multiple processor bus (Fig 1). is minimized. The synchronizing or arbitrating function is This concept allows system designers to partition overall integrated into the bus arbiter, allowing it to resolve · ar system functions into separate tasks that each of several bitration problems of a shared system bus in a multimaster, processors can handle individually and in parallel, increas multiprocessing environment. ing system performance and throughput. Critical code sections in memory can be identified by a The 8086 family of 16-bit microprocessors and support flag or word, called a semaphore, which is set by one of the components permits the designer to select only those com microprocessors. The bus arbiter prevents use of the shared ponents that are necessary to meet cost and performance re memory bus while a microprocessor is setting the quirements. One method for achieving this building block semaphore, creating a "locked test and set" condition. In approach to system design uses a compatibility mechanism addition, the bus arbiter provides a flexible, definable set of of the 8086 and the MULTIBUS™ multiprocessing bus stan bus modes so that a designer can configure a system to meet dard. However, multiprocessing systems require devices a variety of applications. that can coordinate the use of global or shared resources. The bus arbiter operates in conjunction with a bus con The 8289 bus arbiter (Fig 2) provides this multiprocessing troller that generates memory and input/output (IIO) signals coordination in conjunction with MULTIBUS architecture. to interface the multiprocessors to a multimaster system bus (Fig 3). Unaware of arbiter presence, a microprocessor sends out control signals as though it has exclusive use of MULTIBUS Approach the system bus. If a microprocessor does not have use of the multimaster system bus, the bus arbiter prevents the bus MULTIBUS architecture in a multiprocessor system allows controller, data transceivers, and address latches from ac each processor to work asynchronously. Therefore, a fast cessing the system bus, ie, all bus driver outputs are forced microprocessor operates at its own speed regardless of the into the high impedance state. Since system commands are speed of the slowest microprocessor. This technique not issued, no acknowledgement (transfer acknowledge tolerates duty cycle and phase shift variations, and offers ment) is returned, causing the microprocessor to extend its hardware modularity. When new system functions are transfer cycle by entering into wait states. The desired, additional microprocessors can be integrated microprocessor extends its transfer cycle until the bus ar without impacting existing task partitioning. biter acquires access to the multimaster sy"stem bus, then, 103 COMMON PROCESSOR OR MULTIPLE A PROCESSOR BUS PROCESSOR Fig 1 Multiprocessing system using common bus. B Several processors sharing expensive resources, such as disc drives or line printers, is efficient and cost-effective. Bus contention problems inevitably arise on common system bus unless steps are taken to arbitrate usage PROCESSOR c INIT}BCLK iilmj MULTIBUS MULTIBUS BPRN COMMAND s; INTERFACE Fig 2 Bus arbiter block diagram. 8086/8087 1808818089 s BPRD SIGNALS STATUS _I_ BUSY 20-pin, 5-V-only, bipolar arbiter for { So CBRQ use with medium to large multi master, multiprocessing systems provides system bus arbitration for LOCK systems with multiple bus masters, CLK as well as bipolar buffering and PROCESSOR CRQLCK CONTROL CONTROL RESB LOCAL drive capability { ANYRQST BUS iOli INTERFACE AEN } SYSTEM SIGNALS L ___:::::::;:====:::;:::===::j r-syss1RESB GND 5V MULTI MASTER SYSTEM BUS 8086. 8087, 8088, DR Fig 3 Bus arbitration chip aids multiprocessor design. 8-bit 8088 8089 and 16-bit 8086, 8089 microprocessors are designed for use in multi MICRO- ple microprncessor systems. To prevent contention for common PROCESSORS system bus, arbiter provides several methods for arbitrating bus use ADDRESS/ DATA BUS 104 COMPUTER DESIGN/JUNE 1980 BUS ARBITER 1 BUS Fig . 4 Parallel resolving technique syn ARBITER 74148 74138 chronizes asynchronous requests. Requests 2 PRIORITY 3·TO-a ENCODER 0£COOER for common bus use (BREQ) are sent by each BUS microprocessor's bus arbiter to encoder ARBITER decoder circuit, which responds to arbiter 3 with highBs~ pNiority by returning bus priority BUS in signal ( R ). Bus arbiter then provides its ARBITER microprocessor access to system bus 4 the arbiter allows the bus controller, data transceivers, and address latches to access the system bus. After the bus controller issues its control line signal and a data transfer has taken place, a transfer acknowledge signal is returned to the microprocessor. Then the microprocessor BUS ARBITER completes its transfer cycle. Thus, the arbiter serves to coor I dinate microprocessor, or bus master, access to the BUS multimaster system bus. ARBITER 2 BUS ARBITER Priority Resolving Techniques 3 BUS Since there can be many bus masters on · a multimaster ARBITER system bus, a technique for resolving simultaneous requests 4 among bus masters must be provided. The bus arbiter offers several resolving techniques; all are based on the concept that at a given time, one bus master has higher priority. Fig 5 Serial priority These techniques include parallel priority resolving, serial resolving technique. Simpler daisy chain priority resolving, and rotating priority resolving. scheme provides effec tive bus arbitration for Parallel Priority Resolving Technique system designs that do not have more than three In the parallel priority resolving technique, a separate bus arbiters and micropro request (BREQ) line is connected to each of several arbiters cessors vying for bus ac cess. Connected in order on the multimaster system bus (Fig 4). Each BREQ line of priority from top to enters a priority encoder which generates, as output, the bottom, first arbiter has binary address of the highest° priority BREQ line asserted at priority at all times its inputs. The output binary address, after being decoded, because of grounded state of its EiPRN line. selects the corresponding bus priority in (BPRN) line to be When not using bus, ar returned to the highest priority requesting arbiter. The ar biter 1 sends low state biter receiving priority (BPRN true) then allows its associated signal to next higher bus master access to the multimaster system bus as soon as priority arbiter via its the bus becomes available. BPRO line Even when one bus arbiter gains priority over another ar biter, it cannot immediately seize the bus. It must wait until the present bus occupant completes its transfer cycle, ensur ing transfer integrity. Upon completing its transfer cycle, the bus occupant determines that it no longer has priority ing the bus arbiters. This setup-is accomplished by connec and surrenders the bus, releasing BUSY. ting the higher priority bus arbiter bus priority out (BPRO) Serial Priority Resolving Technique line to the BPRN line of the next lower priority arbiter (Fig 5). The highest priority bus arbiter has its BPRN line ground The serial priority resolving technique eliminates the need ed, signifying to the other arbiters that is always has highest for a priority encoder/decoder arrangement by daisy chain- priority when requesting the bus. Priority is passed in series 105 from a higher priority arbiter on the chain, when it does not Single-Bus Mode need the system bus, to any requesting lower priority ar The single-bus mode is the simplest mode. It is sufficient for biter. multiprocessing systems where the tasks of several micro processors can be carried out within a required time frame Rotating Priority Resolving Technique despite sharing the system bus. It provides an inexpensive Arrangement of the rotating priority resolving technique is solution for multimasters requirin·g shared access to an ex similar to that of the parallel priority resolving technique pensive l/O device such as a disc drive or a large memory ar except- that priority is dynamically reassigned. The priority ray. If, however, the systems tasks cannot be carried out encoder is replaced by a more complex circuit that rotates within the required time limit, the l/O bus mode or system priority in standard time increments among requesting ar resident mode should be considered. biters, guaranteeing each arbiter equal access to the multimaster system bus. 110 Bus Mode In all three techniques, lower priority masters obtain the The 1/0 bus mode requires a few additional latches