长期以来,计算机都是通过堆加硬件来提高性能的,这有赖于VLSI(Very Large Scale Integration)超大规模集成电路的稳定发展,Intel 的Gordon Moore 就曾预言,每24个月集成电路上可以容纳的元器件就可以增加一倍,对应的性能也就能增加一倍,这也是著名的摩尔定律。自然而然,在硬件成本越低却能提升性能的前提上,人们肯定用更复杂的指令来在更多的领域有所建树。那个时候的指令集就是CISC(Complexed Instrcution Set Computer)复杂指令集,以Intel 奔腾4为代表的CISC方向,基础指令集多达500-800多条,后面AMD的速龙代表RISC的指令集的少于100条,这两套针对指令系统截然不同的优化方案,展开了最后的桌面CPU之争。
CISC(Complexed Instrcution Set Computer)复杂指令集,由于庞大的计算机指令数,为了不断的向上兼容和专注性能的提升,相应的就需要控制器和电路,同时也会带来功耗。随着流水线的级别越来越大,指令的取指、译码、分析、执行过程就会越来越复杂,不断容易出错,而且带来的功耗也会抵消对应的性能。
RISC(Reduced Instruction Set Computer)精简指令集, JhomasI.Wason发现计算机在80%的时间在执行20%的指令集,恰好为了设计指令系统合理性,一个计算机程序中所使用的80%指令,只占了指令系统的20%,指令集只需要使用频率高的20%的指令即可,如果特别的领域需要特别的指令,那么可以通过拓展的方式达到目的。同时,用了哈佛设计的内存模型,"数据"和"指令"隔离开来,后续优化流水线的冒险和预测就不需要兼顾指令和数据的逻辑性了。
Intel在 1999年前,主频一直都是遥遥领先的,那时候我记得家里的电脑CPU就是奔腾4,1999 年,AMD 发布了基于 K7 架构的 Athlon 处理器,其综合性能超越了当年的 Pentium III。2000 年,在大部分 CPU 还在 500~850MHz 的频率下运行的时候,AMD 推出了第一代 Athlon 1000 处理器,成为第一款 1GHz 主频的消费级 CPU。在 2000 年前后,AMD 的 CPU 不但性能和主频比 Intel 的要强,价格还往往只有 Intel 的 2/3,巨大的商业压力下,Intel不得不放弃原来梦想中10GHz的主频梦。