计算机体系结构中的八大伟大思想
前言
下面介绍计算机架构师在过去60年的计算机设计中提出的8个伟大思想,这些思想影响深远。
时至今日,架构师在设计新处理器时仍会延续采用这些思想。
1 面向摩尔定律的设计
摩尔定律
是计算机设计者面临的一个永恒的问题。
摩尔定律指出:集成电路上可容纳的晶体管数目每18~24个月翻一番。这是Intel公司的创始人之一Gorden Moore在1965年对集成电路集成度做出的预测。
计算机体系结构设计者应当预测设计完成时的工艺和设计水平,而不是设计开始时的工艺 。
2 使用抽象简化设计
计算机架构师和程序员必须发明能够提高效率的技术,否则设计周期也将会像资源规模一样按照摩尔定律增长。
提高硬件和软件生产率的主要技术之一是使用抽象(abstraction)
来表示不同的级别的设计。
低层将细节隐藏起来,在高层次中看不到低层次的细节,只能看到简化的模型。
3 加速大概率事件
加速大概率事件
远比优化小概率事件更能提高性能。
大概率事件通常比小概率事件简单,从而易于提高,大概率事件规则意味着设计者需要知道什么事件是经常发生的,而这需要通过仔细的实验与测量过程。
4 通过并行提高性能
从计算的诞生开始,计算机设计者就给出了并行执行操作来提高性能的方案。
并行(parallel)执行是比串行执行更为高效的执行方式。
5 通过流水线提高性能
在计算机系统结构中,一个普遍的并行技术就是流水线(pipelining)
。
流水线就是在完成一个事件的过程中,每一个人或每一级都负责好各自负责的这部分,完成后交付给下一个人或下一级完成其对应的任务,直至该事件完成。
相比于一个人从头到尾完成一件事,流水线这种形式工作起来更为高效,尤其是要完成很多个相同的事件时,其作用愈发明显。想象一下电子设备的生产过程,比如手机,生产线上的工人分工明确,每个人都只完成很简单的重复任务,在生产完成的出口这里,手机是一个接一个输出,这样才能保证很高的生产效率。
6 通过预测提高性能
如果假定预测(prediction)
错误后恢复执行代价不高,并且预测的准确率相对较高,则通过预测的方式提前开始某些操作,要比等到确切知道这些操作应该启动时才开始要快一些。
7 存储器层次结构
计算系统中存储器的价格占了主要部分,存储器执行的速度影响着程序执行的性能,存储器的容量限制了解决问题的规模。
计算机架构师发现,通过存储器层次结构(hierarchy of memory)
就可以很好地缓解这些相互矛盾的需求。在存储器层次中,位于顶层的存储器速度最快、容量最小,但是每位价格最昂贵。
相反,速度最慢、容量最大,但是每位价格最便宜的存储器处于最底层。
cache技术
可以给程序员造成一种假象:让他们感觉自己所使用的主存既有存储器层次中顶层的高速度,又和底层存储器一样价格便宜量又足。
8 通过冗余提高可靠性
计算机不仅需要速度快,还需要工作可靠。
任何一个物理器件都可能失效,因此可以通过增加冗余器件的方式提高系统的可靠性(dependable)
。
当发生失效时,冗余部件可以替代失效器件并可以帮助检测错误。
参考文献
本文参考书籍:《计算机组成与设计 硬件/软件接口》David A. Patterson & John L. Hennessy 著 机械工业出版社
参考文章:计算机系统结构中的8个伟大思想
计算机组成原理之存储器层次结构