Also found in: Dictionary, Thesaurus, Medical, Legal, Financial, Acronyms, Idioms, Wikipedia.
A line of piping and the associated pumps, valves, and equipment necessary for the transportation of a fluid. Major uses of pipelines are for the transportation of petroleum, water (including sewage), chemicals, foodstuffs, pulverized coal, and gases such as natural gas, steam, and compressed air. Pipelines must be leakproof and must permit the application of whatever pressure is required to force conveyed substances through the lines. Pipe is made of a variety of materials and in diameters from a fraction of an inch up to 30 ft (9 m). Principal materials are steel, wrought and cast iron, concrete, clay products, aluminum, copper, brass, cement and asbestos (called cement-asbestos), plastics, and wood.
Pipe is described as pressure and nonpressure pipe. In many pressure lines, such as long oil and gas lines, pumps force substances through the pipelines at required velocities. Pressure may be developed also by gravity head, as for example in city water mains fed from elevated tanks or reservoirs.
Nonpressure pipe is used for gravity flow where the gradient is nominal and without major irregularities, as in sewer lines, culverts, and certain types of irrigation distribution systems.
Design of pipelines considers such factors as required capacity, internal and external pressures, water- or airtightness, expansion characteristics of the pipe material, chemical activity of the liquid or gas being conveyed, and corrosion.
The costs are greater latency and complexity due to the need to synchronise the stages in some way so that different inputs do not interfere. The pipeline will only work at full efficiency if it can be filled and emptied at the same rate that it can process.
Pipelines may be synchronous or asynchronous. A synchronous pipeline has a master clock and each stage must complete its work within one cycle. The minimum clock period is thus determined by the slowest stage. An asynchronous pipeline requires handshaking between stages so that a new output is not written to the interstage buffer before the previous one has been used.
Many CPUs are arranged as one or more pipelines, with different stages performing tasks such as fetch instruction, decode instruction, fetch arguments, arithmetic operations, store results. For maximum performance, these rely on a continuous stream of instructions fetched from sequential locations in memory. Pipelining is often combined with instruction prefetch in an attempt to keep the pipeline busy.
When a branch is taken, the contents of early stages will contain instructions from locations after the branch which should not be executed. The pipeline then has to be flushed and reloaded. This is known as a pipeline break.