answersLogoWhite

0

A very limited form of parallelism is achieved by using pipelining in that several instructions (up to the limit of the depth of the pipeline) are being processed (each at a different stage of instruction processing) at the same time. An example of this using a 6 stage pipeline is as follows:

  1. instruction completion (this is the oldest instruction stage)
  2. data storage to memory
  3. instruction execution & perform input/output
  4. data read from memory
  5. memory address resolution
  6. instruction fetch from memory (this is the newest instruction stage)
This form of parallelism was first used in the IBM 7030 Stretch computer released in 1961 but did not become a common feature in computer architectures until the introduction of RISC in the 1980s.

The main advantage of pipelining is that under normal conditions none of the instruction processing hardware becomes idle. The main disadvantage of pipelining is that unscheduled events (e.g. interrupts, branch mispredictions, arithmetic exceptions) cause pipeline content flushes and having to spend time reloading the now empty pipeline to resume correct processing.

Some computers designed with pipelines having an unusually high number of stages had their performance so degraded by that disadvantage that real world benchmarks showed their performance to be only slightly better than the traditional nonpipelined computers, even though their estimated performance was originally much higher. RISC specified that the number of stages in the pipeline should be kept to a minimum to reduce this problem.

User Avatar

Wiki User

9y ago

What else can I help you with?

Related Questions

What are the two techniques used to increase the clock rate R?

The two techniques used to increase the clock rate R in a computer system are pipelining and parallel processing. Pipelining involves breaking down the execution of instructions into smaller stages that can be processed simultaneously, increasing overall efficiency. Parallel processing involves using multiple processors to execute tasks concurrently, further boosting computational speed. Both techniques aim to optimize the utilization of hardware resources to enhance performance.


How can parallel processing be implemented in Python using a for loop?

Parallel processing in Python can be implemented using the multiprocessing module. By creating multiple processes within a for loop, each process can execute a task concurrently, allowing for parallel processing.


What has the author Frederic Oberti written?

Frederic Oberti has written: 'Image processing using parallel processing methods'


How can parfor be implemented in Python for parallel processing?

In Python, the concurrent.futures module can be used to implement parallel processing similar to MATLAB's parfor. By using the ThreadPoolExecutor or ProcessPoolExecutor classes from this module, you can execute multiple tasks concurrently across multiple threads or processes. This allows for efficient parallel processing in Python.


How can the MIPS ALU design be optimized for improved performance and efficiency?

The MIPS ALU design can be optimized for improved performance and efficiency by implementing techniques such as pipelining, parallel processing, and optimizing the hardware architecture to reduce the number of clock cycles required for each operation. Additionally, using efficient algorithms and minimizing the use of complex instructions can also help enhance the overall performance of the ALU.


What is the difference between distributed and parallel processing?

Distributed processing involves multiple interconnected systems working together to complete a task, with each system performing a different part of the task. Parallel processing, on the other hand, involves breaking down a task into smaller sub-tasks and executing them simultaneously using multiple processors within the same system. In distributed processing, systems may be geographically dispersed, while parallel processing occurs within a single system.


How can Python parallel processing be implemented within a for loop?

Python parallel processing within a for loop can be implemented using the concurrent.futures module. By creating a ThreadPoolExecutor and using the map function, you can execute multiple tasks concurrently within the for loop. This allows for faster execution of the loop iterations by utilizing multiple CPU cores.


If a processor has begun executing an instruction before it completes the previous instruction it must be using?

pipelining


What has the author Raja Das written?

Raja Das has written: 'The design and implementation of a parallel unstructured Euler solver using software primitives' -- subject(s): Parallel processing, Computational grids


What has the author Abanindra N S Sarkar written?

Abanindra N. S. Sarkar has written: 'Image compression using parallel processing'


Why you use parallel processing?

Parallel processing relies on several different computers hooked up so that each one actually only does a part of the processing (the math) so several different techniques or stages of development get done at the same time (close enuff) hence the name Parallel computers, they run in parallel, at the same time. 10 computers for one hour of computer processing then only takes one tenth of the time or 6 minutes. It may also be a single computer using number of processors undertaking similar processing simultaneously to complete the task in limited time. For example a radar tracker has one set of estimated or calculated parameters or fore casted parameters of expected target, other set of parameters is directly recorded from the target , advance correction is to be given for estimating next parameters hence parallel processing is vital to reduce the time of processing. Second example is getting hold of terrorists or criminals by using quick parallel processing using facilities like database banking ticketing reservations security entry records property and other such records of the gang . This may be a proposed solution requiring more research.


What can be achieved from the database using forms?

what can be achieved from the database using reports