Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Free
Faster access than browser!
 

Software pipelining

Index Software pipelining

In computer science, software pipelining is a technique used to optimize loops, in a manner that parallels hardware pipelining. [1]

22 relations: Assembly language, Cache (computing), Central processing unit, Clock signal, Code bloat, Compiler, Computer architecture, Computer science, Duff's device, IA-64, Instruction pipelining, Instruction-level parallelism, Intel, Latency (engineering), Loop unrolling, Monica S. Lam, Out-of-order execution, Predicate (mathematical logic), Predication (computer architecture), Processor register, Program optimization, Random-access memory.

Assembly language

An assembly (or assembler) language, often abbreviated asm, is a low-level programming language, in which there is a very strong (but often not one-to-one) correspondence between the assembly program statements and the architecture's machine code instructions.

New!!: Software pipelining and Assembly language · See more »

Cache (computing)

In computing, a cache, is a hardware or software component that stores data so future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation, or the duplicate of data stored elsewhere.

New!!: Software pipelining and Cache (computing) · See more »

Central processing unit

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

New!!: Software pipelining and Central processing unit · See more »

Clock signal

In electronics and especially synchronous digital circuits, a clock signal is a particular type of signal that oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits.

New!!: Software pipelining and Clock signal · See more »

Code bloat

Code bloat is the production of code that is perceived as unnecessarily long, slow, or otherwise wasteful of resources.

New!!: Software pipelining and Code bloat · See more »

Compiler

A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).

New!!: Software pipelining and Compiler · See more »

Computer architecture

In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems.

New!!: Software pipelining and Computer architecture · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Software pipelining and Computer science · See more »

Duff's device

In the C programming language, Duff's device is a way of manually implementing loop unrolling by interleaving two syntactic constructs of C: the - loop and a switch statement.

New!!: Software pipelining and Duff's device · See more »

IA-64

IA-64 (also called Intel Itanium architecture) is the instruction set architecture (ISA) of the Itanium family of 64-bit Intel microprocessors.

New!!: Software pipelining and IA-64 · See more »

Instruction pipelining

Instruction pipelining is a technique for implementing instruction-level parallelism within a single processor.

New!!: Software pipelining and Instruction pipelining · See more »

Instruction-level parallelism

Instruction-level parallelism (ILP) is a measure of how many of the instructions in a computer program can be executed simultaneously.

New!!: Software pipelining and Instruction-level parallelism · See more »

Intel

Intel Corporation (stylized as intel) is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley.

New!!: Software pipelining and Intel · See more »

Latency (engineering)

Latency is a time interval between the stimulation and response, or, from a more general point of view, a time delay between the cause and the effect of some physical change in the system being observed.

New!!: Software pipelining and Latency (engineering) · See more »

Loop unrolling

Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff.

New!!: Software pipelining and Loop unrolling · See more »

Monica S. Lam

Monica Sin-Ling Lam is a professor in the Computer Science Department at Stanford, and founder of Moka5 and Omlet.

New!!: Software pipelining and Monica S. Lam · See more »

Out-of-order execution

In computer engineering, out-of-order execution (or more formally dynamic execution) is a paradigm used in most high-performance central processing units to make use of instruction cycles that would otherwise be wasted.

New!!: Software pipelining and Out-of-order execution · See more »

Predicate (mathematical logic)

In mathematical logic, a predicate is commonly understood to be a Boolean-valued function P: X→, called the predicate on X. However, predicates have many different uses and interpretations in mathematics and logic, and their precise definition, meaning and use will vary from theory to theory.

New!!: Software pipelining and Predicate (mathematical logic) · See more »

Predication (computer architecture)

In computer science, predication is an architectural feature that provides an alternative to conditional branch instructions.

New!!: Software pipelining and Predication (computer architecture) · See more »

Processor register

In computer architecture, a processor register is a quickly accessible location available to a computer's central processing unit (CPU).

New!!: Software pipelining and Processor register · See more »

Program optimization

In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources.

New!!: Software pipelining and Program optimization · See more »

Random-access memory

Random-access memory (RAM) is a form of computer data storage that stores data and machine code currently being used.

New!!: Software pipelining and Random-access memory · See more »

References

[1] https://en.wikipedia.org/wiki/Software_pipelining

OutgoingIncoming
Hey! We are on Facebook now! »