A form of processing – analogous to a manufacturing production line – in which the time required to pass through some functional unit (e.g. a floating point ALU) of a computer system is longer than the intervals at which data may enter that functional unit, i.e. the functional unit performs its process in several steps. When the first step is completed, the results are passed to a second step that uses separate hardware; the first-step hardware is thus free to begin processing new data. This provides fast throughput for sequential processes, but at the expense of complicating the control unit, which must keep account of operations that are simultaneously in progress. In the past, cost restricted such techniques to supercomputers, which require maximum performance, and to vector processors, which provide long orderly sequences of data as input to pipeline processors. Pipelining is standard in modern microprocessors, providing high performances at a low cost conferred by advances in VLSI circuit technology.