When we deal with computations involving time, speed and utilization, we use the following units:
Modern computers are very fast; this means that we will be concerned with very small times. For this reason,
you will need to be familiar with the numerical abbreviations
In addition, when dealing with time and transfer rates the prefixes kilo, mega, giga, etc. all refer to powers
of ten:
Computer speeds and transfer rates are typically measured in terms of frequency (cycles per second or
Hertz):
There are many factors which determine the speed of a computer: CPU frequency, motherboard frequency, I/O bus
frequency, the amount of cache memory, and even the kind of software being run. CPU speeds are often measured in
MIPS or millions of instructions per second, or in FLOPS (floating point operations per second).
These two will
depend both on the CPU architecture and the kind of program being run by the CPU, so there is no simple way to
compare the performance of difference CPU chips.
Most of the computations involved in computing capacity are products or quotients of numbers with well-defined
units. We have seen that we can use these units to construct formulae for various computations.
For instance, suppose we wish to compute the lifetime of a packet on a network segment (the length of time
it takes to send the packet). We proceed as follows:
Or perhaps we are interested in the lifetime if we speed up the network segment to 100 MHz:
We define utilization as
Note here that the "per cent" ("%") is literally " / 100 ", and is not a unit or dimension at all.
We can use proportionalities to compute further utilizations as before:
We continue exploring these techniques with a discussion of memory and storage requirements
for video and audio applications.
©2005, Kenneth R. Koehler. All Rights Reserved. This document may be freely
reproduced provided that this
copyright notice is included.
Please send comments or suggestions to
the author.
In this context, a cycle is one occurence of an event which occurs repeatedly;
such events include memory accesses
within the PC and bit transfers on a network segment. As a result, Hz
also commonly refers to a transfer rate measured in bits per second.
This is in contrast to computations of space requirements in which those prefixes
refer to powers of two. This is a bit confusing in the beginning, but the correct usage for a given computation
should be clear from the context of the problem.
a 733 MHz CPU chip has a clock which ticks 733,000,000 times each second, and
In these contexts, a Hertz is one clock tick per second and one bit transferred per second, respectively.
Since the clock time (or cycle time) is
measured in seconds per clock tick or seconds per cycle, it is just the reciprocal of the frequency. So
a 10 MHz Ethernet segment can transfer 10 million bits per second.
a 733 MHz CPU chip has a cycle time of 1 / 733,000,000 seconds = 1.36 * 10 -9 seconds = 1.36 ns.
Similarly,
the 10 MHz Ethernet segment transfers one bit in 1 / 10,000,000 seconds = 1 * 10 -7 seconds =
0.1 μs.
A bus in a computer is simply a group of wires over which data or commands are transferred (ie., between
the CPU and IDE controller). There are many types of buses found in PCs:
* some clock times are approximate
Bus Frequency (MHz) Clock Time* (μs) PC-100 100 0.01 PC-133 133 0.0075 PCI-1 (Peripheral Control Interface) 33 0.033 PCI-2 66 0.016 USB-1 (Universal Serial Bus) 12 0.083 USB-2 480 0.00208 FireWire (IEEE-1394) 400 MHz 0.0025 FireWire-2 800 MHz 0.00125 Ultra Wide SCSI (Small Computer System Interface) 320 .0031 Ultra2 Wide SCSI 640 .0016 SCSI-3 1280 .0008
Sometimes we need to perform the same calculation with a number of values for a given parameter
(ie., the packet size).
For instance, we might need to know the lifetimes of packets of 150 bytes, 350 bytes and 650 bytes. We can
use a simple proportional calculation to obtain the remaining answers once we have computed the first:
? seconds = 1 packet
assume that there are 150 bytes / packet
as well as the frequency in bits per second:
let the frequency = 10 MHZ = 10,000,000 bits / second
? seconds = 1 packet * ( 150 bytes / packet ) * ( 8 bits / byte ) / ( 10,000,000 bits / second )
= 1.2 * 10 -4 seconds
= .12 ms
= 120 μs
120 μs / ( 100 MHz / 10 MHz ) = 12 μs
Here we have divided by the ratio of the speeds because the speed was in the denominator of the original
calculation: the lifetime is inversely proportional to the speed.
the ratio of the amount of a resource actually used to the maximum amount that could possibly be used.
Utilization therefore has no units, and should be between zero and one, or between 0 and 100% (since
it is not possible to use less than nothing or more than is possible).
If we suppose that five hundred of our 150 byte packets are sent each second on a network segment,
we can compute the utilization as follows:
500 packets / second * 150 bytes / packet * 8 bits / byte = 600,000 bits / second
600,000 bits / second / ( 10,000,000 bits / second ) = .06 = 6 %
Go to: Title Page Table of Contents Index