Hardware Reference
In-Depth Information
this reason, many computers are based on NAND and NOR gates rather than the
more familiar AND and OR gates. (In practice, all the gates are implemented some-
what differently, but NAND and NOR are still simpler than AND and OR . ) In passing
it is worth noting that gates may well have more than two inputs. In principle, a
NAND gate, for example, may have arbitrarily many inputs, but in practice more
than eight inputs is unusual.
Although the subject of how gates are constructed belongs to the device level,
we would like to mention the major families of manufacturing technology because
they are referred to frequently. The two major technologies are bipolar and MOS
(Metal Oxide Semiconductor). The major bipolar types are TTL (Transistor-Tran-
sistor Logic), which had been the workhorse of digital electronics for years, and
ECL (Emitter-Coupled Logic), which was used when very high-speed operation
was required. For computer circuits, MOS has now largely taken over.
MOS gates are slower than TTL and ECL but require much less power and
take up much less space, so large numbers of them can be packed together tightly.
MOS comes in many varieties, including PMOS, NMOS, and CMOS. While MOS
transistors are constructed differently from bipolar transistors, their ability to func-
tion as electronic switches is the same. Most modern CPUs and memories use
CMOS technology, which runs on a voltage in the neighborhood of +1.5 volts.
This is all we will say about the device level. Readers interested in pursuing their
study of this level should consult the readings suggested on the topic's Website.
3.1.2 Boolean Algebra
To describe the circuits that can be built by combining gates, a new type of
algebra is needed, one in which variables and functions can take on only the values
0 and 1. Such an algebra is called a Boolean algebra , after its discoverer, the Eng-
lish mathematician George Boole (1815-1864). Strictly speaking, we are really
referring to a specific type of Boolean algebra, a switching algebra , but the term
''Boolean algebra'' is so widely used to mean ''switching algebra'' that we will not
make the distinction.
Just as there are functions in ''ordinary'' (i.e., high school) algebra, so are there
functions in Boolean algebra. A Boolean function has one or more input variables
and yields a result that depends only on the values of these variables. A simple
function, f , can be defined by saying that f ( A )is1if A is 0 and f ( A )is0if A is 1.
This function is the NOT function of Fig. 3-2(a).
Because a Boolean function of n variables has only 2 n possible combinations
of input values, the function can be completely described by giving a table with 2 n
rows, each row telling the value of the function for a different combination of input
values. Such a table is called a truth table . The tables of Fig. 3-2 are all examples
of truth tables. If we agree to always list the rows of a truth table in numerical
order (base 2), that is, for two variables in the order 00, 01, 10, and 11, the function
can be completely described by the 2 n -bit binary number obtained by reading the
 
 
Search WWH ::




Custom Search