计算机系统结构的研究内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统结构的研究内容
课程:计算机系统结构
学号:
班级:
姓名:
2013年9月17日
在目前得到大多数人认可的历史中,人们最早使用的电子数字计算机(通常称之为计算机)是1945年诞生于美国宾夕法尼亚大学的ENIAC,用于计算火炮的弹道。1946 年,生于匈牙利的美国数学家冯·诺依曼(John von Neumann, 1903年12月28日—1957年2月8日)等人在总结当时计算机研究成果的基础上,明确提出了存储程序计算机(stored-program computer),因此又称存储程序计算机为冯·诺依曼结构计算机,它奠定了现代电子数字计算机的结构基础,成为计算机的标准结构。六十多年来,虽然计算机技术一直处于飞速发展和变革之中,但是存储程序计算机的概念和基本结构一直沿用至今,没有发生根本性的变化,是计算机体系结构研究的基础。
计算机系统结构是从外部来研究计算机系统的一门学科,一般说来,凡是计算机系统的使用者(包括一般用户和系统程序员)所能看到的计算机系统的属性都是计算机系统结构所要研究的对象。
计算机体系结构主要指计算机的系统化设计和构造,不同的计算机体系结构适用于不同的需求或应用。现代计算机的两种主要体系结构是CISC 体系和RISC 体系。其中RISC是近20 年的研究主流。而随着计算机应用的普及,RISC 结构也出现了许多与以多媒体处理和个人移动计算机为主要内容的应用趋势的不协调。
当今的计算机体系结构,从传统意义指令界面上来看基本划分成两大类:一类是CISC 体系结构,如INTEL 的X86芯片,另一类是RISC 体系结构,如SPARC、MIPS、POWERPC、等。不管是CISC 体系结构还是RISC 体系结构,人们在计算机体系结构的设计上均追求两方面的目标:一、设计的计算机体系在面向应用(软件)描述方面使得自己的指令语义层次比较高,这点CISC 较为明显,因为它有许多指令可以直接支持高级语言的语义。而RISC 则比较隐蔽,它是靠精简指令的优化编译(即通过若干条精简指令有机组合)来支持高级语言的语义。二、面向应用处理方面设计的计算机体系在面向应用处理方面,使得自己的指令处理速度明显提高,进而加速应用处理的速度。这点RISC表现的比较明显,因为它的指令硬件译码直接实现和采用流水线技术等大大提高了它的处理速度,而在CISC 中,当初增加硬件的资源支持复杂的高层次的语义的指令,本身就意味着提高应用的处理速度。
在过去的20 年里,RISC 技术不断发展,逐渐取代C1SC成为工作站和服务器的主流技术。RISC 计算机以超标量、流水线、乱序执行、预取指令/数据、分支预测和指令取消等硬件技术和相应的基于编译器的优化技术为核心,利用指令级并行,在高端工作站和服务器领域占据了绝对的统治地位。
60 多年来,冯·诺伊曼体系结构为世界众多的科学家精心地构造,从而创造了今天的计算机世界。冯·诺伊曼的伟大发明,其核心有三点:二进制;存储模型;一个时刻只有一个操作的串行机制。虽然在计算机界,众多的国家专家在研究多值理论,但至今几乎没有突破二进制的体系。人们利用了很多存储管理的软件技术和方法,力图将一维的存储模型改为二维的,但仍然没有逃出冯氏存储模型和寄存器存储的结构,使得在串行机制上进行新的突破将十分困难。主要
表现在:
因为冯·诺伊曼体系结构本质包括串行性、顺序性的控制机理。对数据相关和资源的控制和仲裁均是人为决定。因此构成了时间和空间的极大开销,造成冯氏数据流的拥塞,即为大家熟知的冯·诺伊曼瓶颈问题。
算法的制约,冯氏体系的很大贡献在于将所有应用问题建立在四则运算和逻辑运算的组合算法,并以寄存器为基本模型的存储体系上,但它在基本操作控制上仍是一种串行机制,不具备构造一个并行算法的基础。在串行的模型上去建立并行算法,必定会带来本质的困难和效率的损失。
存储模型的制约,存储模型在冯·诺伊曼体系结构当中是一种被动式的访问机制,不能真正体现人类在并行操作行为中经常反映的无破坏性操作和平等交互赋值运行的需求,因此冯·诺伊曼的存储模型结构仅能在运行时以空间为代价进行复制或以时间为代价进行选择来替代这种制约。当前,计算机求解一般过程如图1 所示,而以上三大制约的存在,严重阻碍了计算机的处理速度及信息处理能力。
计算机在求解时,经过时间往往多于求解时间几个数量级,如果以上三大制约瓶颈消除了,我们就可用更简捷的方式求解同样规模的问题,也就是在较短时间或较少空间内求解,最大发挥计算机的潜力。然而,现有计算机体系结构,无论是CISC 体系还是RISC 体系,它们本质上都属于冯·诺伊曼体系结构范畴,只是在指令界面的特征上有所区别而已,难以消除以上制约,因此它们的固有缺陷再所难免。
计算机体系结构的研究重点:
对并行体系结构的研究。众所周知,在计算机领域中,并行是实现计算能力突破的根本手段。由于与并行体系结构相对的是当前使用的串行结构,串行结构上的效率提升始终不是无限制的,而在嵌入式领域中,专用的并行结构在当前的技术条件下提升性能和功耗效率已经达到10-1000 倍。所以,现在不少商业通用处理器在生产上已经倾向于转向多处理器体系结构,或者CMP,或者SMT,或者二者兼而有之,而不是仅仅只试图提高单一处理器的IPC,这是一个很大的转变。
然而,并行应用程序的开发是一个缓慢而且费心的过程。只有那些有巨大的计算需求或者有严格的预算和功耗限制的人才会去开发。虽然目前很多关于并行编译器和软件开发工具的研究会对设计可用的并行系统有益,但是只有为并行软件设计出更好的并行系统,才是关键所在。一些早期的研究为新的并行体系结构作了尝试。原始的数据流结构由于只关注并行而忽略局部性和可预测性而最终导致失败,但它确实又提供了一个真实的并行结构例子。后来人们又在数据流的思想上进行了局部性方面的研究,但这方面的工作进行的还远远不够。
像数据流、缓存及前瞻技术的各种组合都值得深入研究。
对功耗敏感的体系结构进行研究。假如计算机性能和容量能够以过去的速度继续增长,对于功耗敏感的体系结构的研究是十分重要的。对于功耗敏感的体系结构,静态和动态功耗方面的考虑已成为处理器设计过程中最大的限制。尽管计算机工作者对于“动态可调整结构”的研究进行了很多的工作,但他们取得的性能收益正逐渐递减,并且它的复杂性使其难以应用到系统的大部分部件中去。由于它是以指数级形式上升的,设计先进体系结构和嵌入式应用要时刻考虑功耗问题,这是很重要的。并且功耗问题和可靠性问题之间的关系非常密切,一定要一同考虑。
设计能够高效开发显示并行的结构。新结构性能的提升主要来源于开发更多的并行,因为流水线深度和时钟速率有局限性。显示并行的方法能够用于提高那些易提取并行性代码的性能。这方面存在很多的挑战,例如:确定片上该集成何种机制能够提高这部分代码的可扩展性:确定CMP 中PE 的最佳粒度:要扩大那些能够有效地运行在并行结构上的代码类型;找到有效的方法来消除引脚接口的瓶颈。目前引脚接口的瓶颈已经成为影响性能的一大因素,因为引脚数增长的速度要远远小于片上可集成的晶体管数目增长的速度。
开发隐式并行的大指令窗口的体系结构。开发单线索代码中的隐式并行方面的研究也十分重要。目前的体系结构可开发的隐式并行与代码中存在的隐式并行相差有1-2 个数量级。这方面的研究之所以重要是因为:
第一,绝大多数代码无法显示并行化。
第二,体系结构时钟速率方面的限制也强迫我们必须转向开发更多的并行。这些研究领域不能被分割开,在最好的情况下,不是将各种研究机制复杂地组合在一起,而是应该研究出一种从根本上,简洁的底层机制一次性解决上述问题。