HPC Pipelining Parallelism is achieved by starting to execute one instruction before the previous one is finished. The simplest kind overlaps the execution.

Презентация:



Advertisements
Похожие презентации
Loader Design Options Linkage Editors Dynamic Linking Bootstrap Loaders.
Advertisements

Multiples Michael Marchenko. Definition In mathematics, a multiple is the product of any quantity and an integer. in other words, for the quantities a.
Flynns Architecture. SISD (single instruction and single data stream) SIMD (single instruction and multiple data streams) MISD (Multiple instructions.
Operator Overloading Customised behaviour of operators Chapter: 08 Lecture: 26 & 27 Date:
Combination. In mathematics a combination is a way of selecting several things out of a larger group, where (unlike permutations) order does not matter.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
Parachuting, also known as skydiving, is the activity of jumping from enough height to deploy a fabric parachute and land. Parachuting is performed as.
Sequences Sequences are patterns. Each pattern or number in a sequence is called a term. The number at the start is called the first term. The term-to-term.
Operators and Arithmetic Operations. Operators An operator is a symbol that instructs the code to perform some operations or actions on one or more operands.
AVL-Trees COMP171 Fall AVL Trees / Slide 2 Balanced binary tree * The disadvantage of a binary search tree is that its height can be as large as.
© The McGraw-Hill Companies, Inc., Chapter 4 Counting Techniques.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Growing the Network Understanding the Challenges of Shared LANs.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Understanding Customer-to-Provider Connectivity.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
Diffraction and Interference. Interference and Diffraction Distinguish Waves from Particles O The key to understanding why light behaves like waves is.
Taking out Money from a Cash Machine Authors: Aleksey Ermolaev, Daria Zaitseva, Maria Leontyeva, Anatoly Leshchev, Form 10 pupils Teacher: V. V. Sergoushina,
SPLAY TREE The basic idea of the splay tree is that every time a node is accessed, it is pushed to the root by a series of tree rotations. This series.
Unit II Constructor Cont… Destructor Default constructor.
© 2006 Cisco Systems, Inc. All rights reserved. BSCI v Implementing BGP Explaining BGP Concepts and Terminology.
Транксрипт:

HPC

Pipelining Parallelism is achieved by starting to execute one instruction before the previous one is finished. The simplest kind overlaps the execution of one instruction with the fetch of the next instruction, as on a RISC. Because two instructions can be processed simultaneously, we say that the pipeline has two stages.

Pipelining

Load and store reference memory, so they take two cycles. A pipeline may have more than two stages. Suppose, for example, that an instruction consists of four phases: 1. Instruction fetch3. Operand fetch 2. Instruction decode4. Execute In a non-pipelined processor, these must be executed sequentially, so that a result is only available each four pipeline cycles (sub cycles): In a pipelined processor, after a delay to load the pipeline, a result is available each pipeline cycle.

Pipelining

The type of pipelining described above achieves instruction-level parallelismexecution of multiple instructions in parallel. It is also possible to use pipelining to achieve data parallelism. A vector processor usually has a long pipeline, and allows a large number of the same operations to take place concurrently. (Same operations, different data ) A single processor may possess multiple pipelines, allowing different operations to use different pipelines (e.g., there might be a specialized addition pipeline, and another load pipeline). For example, the CDC 6600 had ten separate functional units, with a scoreboard to keep track of which was in use at any time.

Pipelining

Branches are a problem for pipelined computers. Execution of some instructions may take longer than others. If there are two (or more) units capable of performing a given function (e.g., multiplication), then two operations of that type may be performed at once.