  Because most technology and computer architecture innovations were
(intentionally) invisible to higher layers, application and other software
developers could reap the benefits of this progress without engaging in it.
Higher performance has both made more computationally demanding applications
feasible (e.g., virtual assistants, computer vision) and made less demanding
applications easier to develop by enabling higher-level programming
abstractions (e.g., scripting languages and reusable components). Improvements
in computer system cost-effectiveness enabled value creation that could never
have been imagined by the field's founders (e.g., distributed web search
sufficiently inexpensive so as to be covered by advertising links).
  The wide benefits of computer performance growth are clear. Recently,
Danowitz et al. apportioned computer performance growth roughly equally between
technology and architecture, with architecture credited with ~80x improvement
since 1985. As semiconductor technology approaches its "end-of-the-road" (see
below), computer architecture will need to play an increasing role in enabling
future ICT innovation. But instead of asking, "How can I make my chip run
faster?," architects must now ask, "How can I enable the 21st century
infrastructure, from sensors to clouds, adding value from performance to
privacy, but without the benefit of near-perfect technology scaling?". The
challenges are many, but with appropriate investment, opportunities abound.
Underlying these opportunities is a common theme that future architecture
innovations will require the engagement of and investments from innovators in
other ICT layers.
