Hardware Reference
In-Depth Information
in fabrication facilities, in most cases the consumer electronics company just does
the design, subcontracting the chip manufacturing out to a semiconductor vendor.
Cores exist for numerous CPUs (ARM, MIPS, PowerPC, etc.) as well as for
MPEG decoders, digital signal processors, and all the standard I/O controllers.
The IBM CoreConnect is not the only popular on-chip bus on the market. The
AMBA
(
Advanced Microcontroller Bus Architecture
) is also widely used to
connect ARM CPUs to other CPUs and I/O devices (Flynn, 1997). Other, some-
what less popular on-chip buses are the
VCI
(
Virtual Component Interconnect
)
and
OCP-IP
(
Open Core Protocol-International Partnership
), which are also
competing for market share (Bhakthavatchalu et al., 2010). On-chip buses are only
the start; people are now putting complete networks on a chip (Ahmadinia and
Shahrabi, 2011).
With chip manufacturers having increasing difficulty in raising clock frequen-
cies due to heat-dissipation problems, single-chip multiprocessors are a very hot
topic. More information can be found in Gupta et al. (2010), Herrero et al. (2010),
and Mishra et al. (2011).
Having examined some ways of achieving on-chip parallelism, let us now
move up a step and look at how the computer can be speeded up by adding a sec-
ond, specialized processor. These
coprocessors
come in many varieties, from
small to large. On the IBM 360 mainframes and all of their successors, indepen-
dent I/O channels exist for doing input/output. Similarly, the CDC 6600 had 10 in-
dependent processors for doing I/O. Graphics and floating-point arithmetic are
other areas where coprocessors have been used. Even a DMA chip can be seen as
a coprocessor. In some cases, the CPU gives the coprocessor an instruction or set
of instructions and tells it to execute them; in other cases, the coprocessor is more
independent and runs pretty much on its own.
Physically, coprocessors can range from a separate cabinet (the 360 I/O chan-
nels) to a plug-in board (network processors) to an area on the main chip (float-
ing-point). In all cases, what distinguishes them is the fact that some other proc-
essor is the main processor and the coprocessors are there to help it. We will now
examine three areas where speed-ups are possible: network processing, multi-
media, and cryptography.
Most computers nowadays are connected to a network or to the Internet. As a
result of technological progress in network hardware, networks are now so fast that
it has become increasingly difficult to process all the incoming and outgoing data
in software. As a consequence, special network processors have been developed to