Overview Parallel Processing Pipelining Characteristics of Multiprocessors Interconnection

  • Slides: 10
Download presentation
Overview Ø Parallel Processing Ø Pipelining Ø Characteristics of Multiprocessors Ø Interconnection Structures Ø

Overview Ø Parallel Processing Ø Pipelining Ø Characteristics of Multiprocessors Ø Interconnection Structures Ø Inter processor Arbitration Ø Inter processor Communication and Synchronization

Inter Processor Arbitration Bus : facilitate the transfer of instruction between component - bus

Inter Processor Arbitration Bus : facilitate the transfer of instruction between component - bus used by CPU to connect processor register to ALU 1) Memory Bus 2) I/O Bus System Bus – A bus that connects major component in a multiprocessor system , such As CPUs, IOPs, and memory - A Backplane level bus - Printed Circuit Board - Connects CPU, IOP, and Memory - Each of CPU, IOP, and Memory board can be plugged into a slot in the backplane(system bus) - Bus signals are grouped into 3 groups e. g. IEEE standard 796 Multibus - 86 lines Data, Address, and Control(plus power) Data: 16(multiple of 8) Address: 24 Control: 26 - Only one of CPU, IOP, and Memory can be Power: 20 granted to use the bus at a time - Arbitration mechanism is needed to handle multiple requests

Synchronous and Asynchronous Data Transfer Synchronous Bus Each data item is transferred over a

Synchronous and Asynchronous Data Transfer Synchronous Bus Each data item is transferred over a time slice known to both source and destination unit - Common clock source - Or separate clock and synchronization signal is transmitted periodically to synchronize the clocks in the system Asynchronous Bus Each data item is transferred by Handshake mechanism - Unit that transmits the data transmits a control signal that indicates the presence of data - Unit that receiving the data responds with another control signal to acknowledge the receipt of the data Strobe pulse - supplied by one of the units to indicate to the other unit when the data transfer has to occur

Inter Processor Static Arbitration Serial Arbitration Procedure Highest priority 1 PI Bus PO arbiter

Inter Processor Static Arbitration Serial Arbitration Procedure Highest priority 1 PI Bus PO arbiter 2 PI Bus PO arbiter 3 PI Bus PO arbiter 4 To next arbiter Bus busy line Parallel Arbitration Procedure Bus arbiter 1 Ack Req Bus arbiter 2 Ack Req Bus arbiter 3 Ack Req Bus arbiter 4 Ack Req Bus busy line 4 x 2 Priority encoder 2 x 4 Decoder

Inter. Processor Dynamic Arbitration Priorities of the units can be dynamically changeable while the

Inter. Processor Dynamic Arbitration Priorities of the units can be dynamically changeable while the system is in operation Time Slice Fixed length time slice is given sequentially to each processor, roundrobin fashion Polling Unit address polling - Bus controller advances the address to identify the requesting unit LRU : highest priority to device that has not used bus for longest interval FIFO : Requests are served in the order received. Rotating Daisy Chain : PO of the last device connected to PI of first device Conventional Daisy Chain - Highest priority to the nearest unit to the bus controller Rotating Daisy Chain - Highest priority to the unit that is nearest to the unit that has most recently accessed the bus(it becomes the bus controller)

Interprocessor Communication Sending Processor Shared Memory Communication Area Mark Receiver(s) Message Receiving Processor. .

Interprocessor Communication Sending Processor Shared Memory Communication Area Mark Receiver(s) Message Receiving Processor. . . Receiving Processor Interrupt Shared Memory Sending Processor Instruction Communication Area Mark Receiver(s) Message Receiving Processor. . . Receiving Processor

ØIn addition to shared memory , a multiprocessor system may have other shared resources.

ØIn addition to shared memory , a multiprocessor system may have other shared resources. For example : Magnetic disk Ø To prevent conflicting use of shared resources by several processor there must be a provision for assigning resources to processors. Ø This task is given to OS Ø Three organizations that have been used to design OS for multiprocessor (1) Master Slave Mode (2) Separate Operating System (3) Distributed Operating System

Inter Processor Synchronization Communication of control information between processors - To enforce the correct

Inter Processor Synchronization Communication of control information between processors - To enforce the correct sequence of processes - To ensure mutually exclusive access to shared writable data Hardware Implementation Mutual Exclusion with a Semaphore Mutual Exclusion - One processor to exclude or lock out access to shared resource by other processors when it is in a Critical Section - Necessary to protect data from being changed simultaneously by two or more processors - guarantees orderly access to shared memory and other shared resources - Critical Section is a program sequence that, once begun, must complete execution before another processor accesses the same shared resource

Inter Processor Synchronization Semaphore - A binary variable 1 : A processor is executing

Inter Processor Synchronization Semaphore - A binary variable 1 : A processor is executing a critical section, that not available to other processors 0 : Available to any requesting processor - Software controlled Flag that is stored in memory that all processors can be access - Processor use shared segment when semaphore=0, they set it 1 when they are executing and clear it to 0 when finished. - A semaphore can be initialized with test and set instruction along with hardware lock mechanism TSL SEM R M [SEM] M[SEM] 1 // Test Semaphore // Set Semaphore

The End

The End