IEEE Spectrum January, 2011 - 40

top 11 technologies

of the

decade

Multicore
CPUs
PROCESSOR
PROLIFERATION
From multicore to
many-core to hardto-describe-in-asingle-word core
back in 1994, programmers figured that whatever
code they wrote would run
at least 50 percent faster on a
1995 machine and 50 percent
faster still on a '96 system.
Coding would continue
as it always had, with
instructions designed to be
executed one after the other.
But Kunle Olukotun, then
a newly minted professor
of electrical engineering
at Stanford, saw that the
party couldn't go on forever.
The microprocessors of the
day couldn't scale up as
efficiently as you'd expect
through the mere addition
of ever more and ever faster
transistors, the two things
that Moore's Law provided.
To solve that problem,
Olukotun and his students
designed the first generalpurpose multicore CPU.
This idea, more than any
other in the past decade,
is what has kept the
semiconductor industry
climbing the Moore's
Law performance curve.
Without multicore chips,
the computing capability
40

of everything from servers
to netbooks would not be
much better than it was
a decade ago. Everyone's
happy-except perhaps
for the programmers, who
must now write code with
threads of instructions
that must be executed
together-in pairs, quartets,
or even larger groupings.
It's not that old, singlecore CPUs weren't already
doing some parallel processing. When Olukotun
began his work, most
microprocessors had a
"superscalar" architecture.
In the superscalar scheme,
the CPU contained many
replicated components,
such as arithmetic units.

NA * IEEE SPECTRUM * JANUARY 2011

Individual instructions
would be parceled out to the
waiting components. Scaling
up such "instructionlevel parallelism" meant
building in more and
more such components
as the years rolled by.
Olukotun argued
that within a few more
generations, it wasn't going
to be worth the effort. You
needed to provide a quadratic increase in resources
for a linear increase in performance, he said, because
of the complexity of the
logic involved in parceling
out and keeping track of
all the instructions. If you
combined that with the
delays inherent in the mess

of interconnects among
all those parts, it seemed
a losing proposition. Doug
Burger and Stephen Keckler,
both computer scientists
at the University of Texas,
Austin, put a finer point
on it later in the decade,
calculating that instead of
the 50 percent improvements
everyone had gotten used
to, the computing industry should start thinking
12.5 percent. And 12.5 percent
isn't much of a reason to
buy a new computer, is it?
Olukotun's answer was
Hydra, a processor whose
parallelism came not from
redundant circuits within
a single complex CPU but
from building four copies of
a simpler CPU core on one
chip. That way, you save on
interconnects and on the
time lost casting instructions
out and reeling answers back
in. In Hydra, you got parallel
processing without all the
delay-inducing complexity.
In 1998 "we wrapped up
the hardware portion of
the project and declared
victory," says Olukotun.
It was a quiet victory. In
the computing environment
of the 1990s, Hydra seemed
a little crazy, Olukotun
says. Superscalar designs
were still delivering
50 percent performance
improvements every year.
"It was by no means clear
at the time that our view
of the world was going
to win," he recalls. And
indeed it would be years
before processor giants
like Intel, Advanced Micro
Devices, and IBM got the
multicore religion Olukotun
preached. And when they
did, it would largely be
for a reason he had hardly
considered: power.
SPECTRUM.IEEE.ORG

FRANK CHIMERO

no. 5


http://SPECTRUM.IEEE.ORG

Table of Contents for the Digital Edition of IEEE Spectrum January, 2011

IEEE Spectrum January, 2011 - Cover1
IEEE Spectrum January, 2011 - Cover2
IEEE Spectrum January, 2011 - 1
IEEE Spectrum January, 2011 - 2
IEEE Spectrum January, 2011 - 3
IEEE Spectrum January, 2011 - 4
IEEE Spectrum January, 2011 - 5
IEEE Spectrum January, 2011 - 6
IEEE Spectrum January, 2011 - 7
IEEE Spectrum January, 2011 - 8
IEEE Spectrum January, 2011 - 9
IEEE Spectrum January, 2011 - 10
IEEE Spectrum January, 2011 - 11
IEEE Spectrum January, 2011 - 12
IEEE Spectrum January, 2011 - 13
IEEE Spectrum January, 2011 - 14
IEEE Spectrum January, 2011 - 15
IEEE Spectrum January, 2011 - 16
IEEE Spectrum January, 2011 - 17
IEEE Spectrum January, 2011 - 18
IEEE Spectrum January, 2011 - 19
IEEE Spectrum January, 2011 - 20
IEEE Spectrum January, 2011 - 21
IEEE Spectrum January, 2011 - 22
IEEE Spectrum January, 2011 - 23
IEEE Spectrum January, 2011 - 24
IEEE Spectrum January, 2011 - 25
IEEE Spectrum January, 2011 - 26
IEEE Spectrum January, 2011 - 27
IEEE Spectrum January, 2011 - 28
IEEE Spectrum January, 2011 - 29
IEEE Spectrum January, 2011 - 30
IEEE Spectrum January, 2011 - 31
IEEE Spectrum January, 2011 - 32
IEEE Spectrum January, 2011 - 33
IEEE Spectrum January, 2011 - 34
IEEE Spectrum January, 2011 - 35
IEEE Spectrum January, 2011 - 36
IEEE Spectrum January, 2011 - 37
IEEE Spectrum January, 2011 - 38
IEEE Spectrum January, 2011 - 39
IEEE Spectrum January, 2011 - 40
IEEE Spectrum January, 2011 - 41
IEEE Spectrum January, 2011 - 42
IEEE Spectrum January, 2011 - 43
IEEE Spectrum January, 2011 - 44
IEEE Spectrum January, 2011 - 45
IEEE Spectrum January, 2011 - 46
IEEE Spectrum January, 2011 - 47
IEEE Spectrum January, 2011 - 48
IEEE Spectrum January, 2011 - 49
IEEE Spectrum January, 2011 - 50
IEEE Spectrum January, 2011 - 51
IEEE Spectrum January, 2011 - 52
IEEE Spectrum January, 2011 - 53
IEEE Spectrum January, 2011 - 54
IEEE Spectrum January, 2011 - 55
IEEE Spectrum January, 2011 - 56
IEEE Spectrum January, 2011 - 57
IEEE Spectrum January, 2011 - 58
IEEE Spectrum January, 2011 - 59
IEEE Spectrum January, 2011 - 60
IEEE Spectrum January, 2011 - 61
IEEE Spectrum January, 2011 - 62
IEEE Spectrum January, 2011 - 63
IEEE Spectrum January, 2011 - 64
IEEE Spectrum January, 2011 - 65
IEEE Spectrum January, 2011 - 66
IEEE Spectrum January, 2011 - 67
IEEE Spectrum January, 2011 - 68
IEEE Spectrum January, 2011 - 69
IEEE Spectrum January, 2011 - 70
IEEE Spectrum January, 2011 - 71
IEEE Spectrum January, 2011 - 72
IEEE Spectrum January, 2011 - 73
IEEE Spectrum January, 2011 - 74
IEEE Spectrum January, 2011 - 75
IEEE Spectrum January, 2011 - 76
IEEE Spectrum January, 2011 - 77
IEEE Spectrum January, 2011 - 78
IEEE Spectrum January, 2011 - 79
IEEE Spectrum January, 2011 - 80
IEEE Spectrum January, 2011 - Cover3
IEEE Spectrum January, 2011 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1017
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0917
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0817
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0717
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0617
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0517
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0417
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0317
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1016
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0916
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0816
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0716
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0616
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0516
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0416
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0316
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1015
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0915
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0815
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0715
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0615
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0515
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0415
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0315
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1014
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0914
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0814
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0714
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0614
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0514
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0414
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0314
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1013
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0913
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0813
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0713
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0613
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0513
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0413
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0313
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1012
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0912
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0812
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0712
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0612
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0512
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0412
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0312
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1011
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0911
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0811
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0711
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0611
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0511
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0411
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0311
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1010
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0910
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0810
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0710
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0610
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0510
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0410
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0310
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1009
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0909
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0809
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0709
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0609
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0509
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0409
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0309
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1008
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0908
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0808
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0708
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0608
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0508
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0408
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0308
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1107
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1007
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0907
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0807
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0707
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0607
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0507
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0407
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0307
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0107
https://www.nxtbookmedia.com