Microprocessors have evolved all the way from the early 4004 with a few thousand transistors to today's high performance microprocessors with hundreds of millions to billions of transistors. Microprocessor clock frequency has risen too, from kilo-hertz in the 70's to multi gigahertz today. Moore's law will soon deliver tera-scale level transistor integration capacity. Power, variability, reliability, aging, and testing will pose as barriers and challenges to harness this integration capacity. Advances in microarchitecture and programming systems discussed in this paper are potential solutions.