0% found this document useful (0 votes)
16 views14 pages

Chapter Ten Architeture

Uploaded by

akliluandargie51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views14 pages

Chapter Ten Architeture

Uploaded by

akliluandargie51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Chapter Ten

Multiprocessors

prepared By: gizachew kassa


10.1 multiprocessor and its characteristics

• What is a Multiprocessor?
• a multiprocessor is a computer system with two or more central
processing units (CPUs) that share the same physical memory and are
interconnected to execute tasks concurrently.
• An interconnection of two or more CPUs with memory and input-output
(I/O) equipment.
• Processor Terminology:
• o Can refer to a Central Processing Unit (CPU).
• o Can refer to an Input-Output Processor (IOP).
• o A system with one CPU and one or more IOPs is usually not considered a
• multiprocessor (unless IOP has computational facilities comparable to a
CPU).
• Systems with multiple CPUs (often includes IOPs as well).
• Typically MIMD (Multiple Instruction stream, Multiple Data stream)
Cont……..
# Characteristics of Multiprocessors
• Emergence of microprocessor and VLSI technology made multiprocessors
cost-effective.
• Improve performance and reliability.
• Run multiple independent jobs in parallel.
• Partition a single job into multiple parallel tasks (parallel processing).
• Failure of one processor has limited impact.
• Tasks can potentially be reassigned to other processors.
• System may continue functioning with reduced performance (graceful
degradation).
Conti…….
# Advantages of Multiprocessors:
1.Increased Performance:
• By executing tasks concurrently, multiprocessors can handle more work in
less time, improving overall system performance.
2.Scalability:
• Additional processors can be added to the system to scale up
processing power and handle more complex tasks.
3.Fault Tolerance:
• If one processor fails, others can continue to work, ensuring the
system remains functional.
4.Efficient Resource Sharing:
• Processors share common memory, which allows for easier
communication and data access between them.
5.Cost-Effectiveness:
Conti…….
#Disadvantages of Multiprocessors:
1.Complexity in Design:
• Designing and managing a multiprocessor system is more complex,
requiring sophisticated algorithms and hardware.
2.Interprocessor Communication Overhead:
• The need for processors to communicate with each other can lead to
delays, especially when using shared memory.
3.Programming Challenges:
• Developing software that efficiently utilizes multiple processors can
be difficult, especially with tasks that aren't easily parallelizable.
4.Increased Power Consumption:
• With multiple processors running simultaneously, power
consumption tends to be higher compared to single processor
systems.
5.Cost of Implementation:
10.2 Interconnection Structures for
multiprocessor
# Definition:
• Interconnection structures refer to the physical and logical design
that enables communication among processors and memory
modules in a multiprocessor system.
• Determines communication bandwidth, bottlenecks, and system
scalability.
# Physical Forms Discussed:
• 1. Time-Shared Common Bus
• 2. Multiport Memory
• 3. Crossbar Switch
• 4. Multistage Switching Network
• 5. Hypercube System
Cont…
1 Time-Shared Common Bus
• A single bus connects all processors and memory units.
• show CPUs, IOPs, Memory connected to one bus)

Figure 10.1 Time shared common bus organization


• Only one processor can use the bus at any given time.
• Requires bus arbitration logic to handle contention.
• Simplicity, low cost.
• Major bottleneck, bandwidth limited by bus speed, single point of failure
Cont…
2 Multiport Memory
• Memory modules have multiple connection ports, each linked to a separate CPU
or bus.
• show 4 CPUs connected to 4 Memory Modules via dedicated ports)

Figure 10.2 Multiport memory organization


• multiple simultaneous accesses possible to different memory modules.
• Memory controller within each module arbitrates access if multiple CPUs request
• the same module (e.g., using fixed priority).
• High aggregate transfer rate.
• Requires complex/expensive memory modules and extensive cabling.
Cont….
3 Crossbar Switch
• A crossbar switch is a network structure that allows direct communication
between any pair of processors and memory modules using a grid of
switches.

Figure 10.3 crossbar switch


• switch connects a processor to a requested memory module.
• Supports simultaneous transfers to different modules without contention.
• Arbitration logic needed at each cross point for conflicts to the same
module.
Cont...
4 Multistage Switching Network
• Intermediate approach between single bus and crossbar. Uses smaller
switching elements.
• 2x2 Interchange Switch (can connect input A/B to output 0/1).

Figure 10.4 Operation of a 2x2 interchange switch


• Switches connected in stages to form paths.
• Example: Omega Network
Cont….
5 Hypercube
• Loosely coupled system with N=2^n processors (nodes).
• Each processor connects to 'n' neighbours whose binary addresses differ by
exactly one bit.
• Show figure below n=1, 2, 3 cubes

Figure10.6 hypercube structure for n=1,2,3.


• Typically uses message passing for communication.
• Routing involves traversing dimensions based on address differences.
10.3Interprocessor Communication and
synchronization
10.3.1 Interprocessors communication: is the process by which
processors exchange data or coordinate tasks with each other during
execution in a multiprocessor system.
# Mechanisms in Shared Memory Systems:
• A portion of memory is accessible to all processors. Used for passing data,
• status, and control information
• Hardware signals sent from one processor to another to trigger attention.
# Communication via Shared Memory
• Processors use common memory locations.
• Sending processor writes data/message to a designated shared location
(mailbox).
• Receiving processor periodically checks the mailbox.
• Status bits often used to indicate if mailbox has valid data.
Cont….
10.3.2 Interprocessor Synchronization
• Interprocessor synchronization ensures that multiple processors execute
instructions in a coordinated manner, often using mechanisms like semaphores or
locks
• Managing the sequence of processes and ensuring mutually exclusive access to shared
resources.
• To ensure correct execution order when processes depend on each other.
• To prevent multiple processors from modifying the same shared data simultaneously,
leading to corruption.
• Ensuring Mutual Exclusion for Critical
# Communication & Synchronization Methods
1 Message Passing
2 Shared Memory
3 Locks
4 Semaphores
5 Barriers
Cont……
conclussion
• Multiprocessors offer increased performance and reliability using multiple
CPUs.
• Interconnection structures (Bus, Multiport, Crossbar, Multistage, Hypercube)
dictate communication capabilities and cost.
• Shared memory systems require mechanisms for Interprocessor
Communication (shared variables, mailboxes, interrupts).
• Synchronization is crucial, especially for Mutual Exclusion in critical sections,
often implemented using hardware primitives like Semaphores with atomic
Test-and-Set operations.
- Cache coherence is a major challenge in shared-memory multiprocessors,
with solutions like snoopy protocols.
•The design of multiprocessor systems involves complex trade-offs.

You might also like