Performance of the system is one
of the most stringent criteria for its success. While performance increases the
desirability among customers, cost is what makes it affordable. This is the
reason why system designers aim for maximum performance with available
resources such as power and area constraints. There are two related parameters
that determine the performance output of a system –
Throughput - Throughput
is a measure of the productivity of the system. In electronic/communication
systems, throughput refers to rate at which output data is produced. Higher the
throughput, more productive is the system. In most of the cases, it is measured
as time difference between two consecutive outputs (nth and n+1th). Throughput
also refers to the rate at which input data can be applied to system.
Let us
discuss with the help of an example:
Above figure
depicts the throughput of 3 number adder. Result of input set applied at 1st
clock cycle appears at output at 3rd clock cycle and in 4th clock cycle next
input set is applied and output comes in 6th clock cycle. Hence,
throughput of above design is ⅓ per clock cycle. As we can see from diagram,
first input is applied in first clock cycle and 2nd input is applied in 4th
clock cycle. Hence we can also say that throughput is rate at which input data
can be applied to system.
Latency- Latency is the
time taken by a system to produce output after input is applied. It is a
measure of delay response of a design. Higher the latency value, slower is the
system. in synchronous designs, it is measured in terms of number of clock
cycles. In combinational designs, latency is basically propagation delay of
circuit. In non pipelined designs, latency improvement is major area of
concern. In more general terms, it is time difference between output and input
time.
Relationship between throughput and latency: Both latency and throughput
are inter-related. It is desired to have maximum throughput and minimum
latency. Increasing latency and/or throughput might make the system costly. Let
us take an example. Consider a park with 3 rides and it takes 5 minutes for a
ride. A child can take sequentially these rides; i.e, ride 1, ride 2 and
then ride 3. Firstly, let us assume that only one child at a time is allowed to
enter park at a time. While he is taking a ride, no one is allowed to enter the
park. Thus, the throughput of the park is 15 minutes per child and latency is
15 minutes. Now, let us assume that while a child has finished taking ride1,
another child is allowed to enter park. Thus, in this case, throughput will be
5 minutes per child whereas latency is still 15 minutes. Thus, we have
increased the throughput of the system without affecting latency and at the
same cost.