Hardware Reference
In-Depth Information
More information about multithreading and its implementation inside Intel
processors is given in Gerber and Binstock (2004) and Gepner et al. (2011).
8.1.3 Single-Chip Multiprocessors
While multithreading provides significant performance gains at modest cost,
for some applications a much larger performance gain is needed. To get this gain,
multiprocessor chips are being developed. Two areas where these chips, which
contain two or more CPUs, are of interest are high-end servers and in consumer
electronics. We will now briefly touch on each of them.
Homogeneous Multiprocessors on a Chip
With advances in VLSI technology, it is now possible to put two or more pow-
erful CPUs on a single chip. Since these CPUs often share the same level 2 cache
and main memory, they qualify as a multiprocessor, as discussed in Chap. 2. A
typical application area is a large Web server farm consisting of many servers. By
putting two CPUs in the same box, sharing not only memory but also disks and
network interfaces, the performance of the server can often be doubled without
doubling the cost (because even at twice the price, the CPU chip is only a fraction
of the total system cost).
For small-scale single-chip multiprocessors, two designs are prevalent. In the
first one, shown in Fig. 8-10(a), there is really only one chip, but it has a second
pipeline, potentially doubling the instruction execution rate. In the second one,
shown in Fig. 8-10(b), there are separate cores on the chip, each containing a full
CPU. A core is a large circuit, such as a CPU, I/O controller, or cache, that can be
placed on a chip in a modular way, usually next to other cores.
Pipeline
CPU
Pipeline
CPU
Cache memory
Cache memory
(a)
(b)
Figure 8-10. Single-chip multiprocessors. (a) A dual-pipeline chip. (b) A chip
with two cores.
The former design allows resources, such as functional units, to be shared be-
tween the processors, thus allowing one CPU to use resources the other does not
 
 
Search WWH ::




Custom Search