4.-Software-Hardware Evolution and Birth of Multicore Processors
4.-Software-Hardware Evolution and Birth of Multicore Processors
Multicore Processors
K.R. Chowdhary, Professor
Dept. of Computer Science and Engineering,
arXiv:2112.06436v1 [cs.AR] 13 Dec 2021
1
Table 1: Performance and clock rate increase in
Intel processors
Faster processors governed by Moore’s law en- 2. Software grows until it comes to limitation by
abled software vendors to add new features and Moore’s law.
functionality to software that in turn demanded The initial growth is quick, like gas expand-
larger developer teams. The challenges of con- ing (as in browser), eventually limited by hard-
structing increasingly complex software increased ware (as in NT), which ultimately brings any
demand for high level languages and program li- processor to its knees, just before the new
braries. Their higher level of abstraction con- model is out.
tributed to slower code and, in conjunction with
larger and more complex programs, drove demand 3. Software growth makes Moore’s law possible.
for faster processors and closed the cycle, as indi- That is why chips get faster at the same price,
cated in figure 3. not cheaper. This will continue as long as there
is opportunity for new software.
Now the era of steady growth of single proces-
sor performance is over, and there is a transi- 4. Impossible to have enough new algorithms,
tion from sequential to parallel computation (mul- new applications, and new notion of what is
ticore). The sequential computing era ended when cool.
the practical limits on power dissipation stopped
the continual increase in clock speed, and lack of
exploitation in instruction level parallelism dimin- In fact, increase in size of SW has not only
ished the values of complex architectures. overloaded the processor and memory, but have
However, the Moore’s law is still applicable, as many positive effects also. Some of these are
following:
Table 2: Compiled Code size for Hello World
1 + 2*a +4 -a ⇒ 5 + a (folding)
a*(b + c) ⇒ a*b + a*c (distribution) References
(a*2)/(8*c) ⇒ a / (4*c) (division)
[1] David Geer, “Chip makers turn to Multicore
Processors”, Computer, May 2005, pp. 11-14.
A parallel programming language must have key [3] Rakesh Kumar, et al., “Heterogeneous chip
properties. First, expressing parallelism should be multiprocessors”, Computer, Nov. 2005, pp.
simple. Second, should be able to combine number 32-38.
[4] Stroze L. and Brooks D., “Energy and Area-
Efficient Architectures through Application
Clustering and Architectural Heterogeneity”,
ACM Transaction son Architecture and Code
Optimization, Vol. 6, No. 1, March 2009, pp.
4.1-4.31.