相关热词搜索:
计算机系统结构论文
计算机系统结构论文 计算机系统结构论文篇一 《计算机系统结构简述》 摘 要:计算机系统结构是一个有多个层次组合而成的有机整体,随 着科技的不断发展,未来的计算机将会朝着微型化、网络化和智能化的方向发展, 为了使大家对计算机系统结构有一个大概的了解,本文主要介绍了计算机系统结 构的一些基本概念、计算机系统结构的发展、计算机系统结构的分类方法和计算 机系统设计的方法。关键词:计算机系统结构;冯诺依曼结构;Flynn分类法;冯氏分类法 世界上第一台电子计算机ENIAC诞生于1946年,在问世将近70年的时 间里,计算机共历经电子管计算机时代、晶体管计算机时代、中小规模集成电路 计算机时代、大规模和超大规模集成电路计算机时代和巨大规模集成电路计算机 时代,计算机更新换代的一个重要指标就是计算机系统结构。
1 计算机系统结构的基本概念 1.1 计算机系统层次结构的概念 现代计算机系统是由硬件和软件组合而成的一个有机整体,如果继续 细分可以分成7层。L0:硬联逻辑电路;L1:微程序机器级;L2:机器语言级;L3:
操作系统级;L4:汇编语言级;L5:高级语言级;L6:应用语言级。其中L0级由硬 件实现;L1级的机器语言是微指令级,用固件来实现;L2级的机器语言是机器指令 集,用L1级的微程序进行解释执行;L3级的机器语言由传统机器指令集和操作系 统级指令组成,除了操作系统级指令由操作系统解释执行外,其余用这一级语言 编写的程序由L2和L3共同执行;L4级的机器语言是汇编语言,该级语言编写的程 序首先被翻译成L2或L3级语言,然后再由相应的机器执行;L5级的机器语言是高 级语言,用该级语言编写的程序一般被翻译到L3或L4上,个别的高级语言用解 释的方法实现;L6级的机器语言适应用语言,一般被翻译到L5级上。
1.2 计算机系统结构的定义 计算机系统结构较为经典的定义是Amdahl等人在1964年提出的:由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。由于计 算机具有不同的层次结构,所以处在不同层次的程序设计者所看到的计算机的属 性显然不同。
2 计算机系统结构的发展 2.1 传统系统结构 当Amadahl在1964年提出计算机系统结构的定义时,也提出了采用系 列机的思想,它的出现被誉为计算机发展史上的一个重要里程碑。当人们普遍采 用系列机思想后,较好的把硬件技术飞速发展与软件环境要求相对稳定的矛盾解 决了,这就要求系列机的系统结构需要在相当长的时间内保持基本不变。其中, 最重要的是保持它的数据表示、指令系统以及其他概念性的结构保持不变。
2.2 冯诺依曼结构 冯诺依曼结构(也称普林斯顿结构)是美国数学家冯诺依曼在1946年 提出的,他将计算机分为五大部件:运算器;控制器;存储器;输入设备;输出设备。
其基本思想是存储程序,主要特点是:(1)单处理机结构,机器以运算器为中心;(2) 采用程序存储思想;(3)指令和数据一样可以参与运算;(4)数据以二进制表示;(5)将 软件和硬件完全分离;(6)指令由操作码和操作数组成;(7)指令顺序执行。
2.3 对冯诺依曼结构的改进 为了更好的优化计算机系统结构,人们不断对冯诺依曼结构进行改进, 总的来说,共采用两种方法。一种是在冯诺依曼结构的基础上进行“改良”;另一 种是采用“革命”的方法,即脱离冯诺依曼结构,和其工作方式完全不同,统成为 非冯诺依曼结构。
2.4 哈佛结构 哈佛结构的计算机分为三大部件:(1)CPU;(2)程序存储器;(3)数据存储 器。它的特点是将程序指令和数据分开存储,由于数据存储器与程序存储器采用 不同的总线,因而较大的提高了存储器的带宽,使之数字信号处理性能更加优越。
2.5 其他系统结构 冯诺依曼结构开启了计算机系统结构发展的先河,但是因为其集中、顺序的的控制而成为性能提高的瓶颈,因此各国科学家仍然在探索各种非冯诺依 曼结构,比如,数据流计算机,函数式编程语言计算机等都是较为著名的非冯诺 依曼结构。
3 计算机系统结构的分类方法 研究计算机系统结构的分类方法可以帮助我们加深对计算机系统结 构和组成特点的认识以及对系统工作原理和性能的理解。下面简单介绍2种比较 常用的分类方法:Flynn分类法;冯氏分类法。
3.1 Flynn分类法 由于计算机系统结构由多级层次构成,因此在设计计算机系统结构时 就可以有三种方法:(1)“从下往上”设计;(2)“从上往下”设计;(3)“从中间开始”设计。
4.1 “从下往上”设计 首先根据能够得到的硬件,参照已经生产出来的各种机器的特点,开 发出将微程序机器级和传统机器级设计出来,然后依次往上设计,最后将面向机 器的虚拟机器级设计出来。在硬件技术高速发展而软件技术发展相对较慢的今天, 如果继续采用这种设计方法,会导致软件和硬件的脱离,因此已经很少使用这种 方法。
4.2 “从上往下”设计 首先根据应用的需求,确定好整个系统的框架,然后逐层向下进行设 计,同时可以兼顾到上层的优化,最后设计出微程序机器级和传统机器级。这种 设计方法较好。
4.3 “从中间开始”设计 大多数将“中间”取在传统机器级和微操作级之间。在设计时,综合考 虑软硬件,定义好分界面,然后由中间点分别往上、往下同时进行设计。此种方 法可以缩短设计周期。
5 结束语 综上所述,本文对计算机系统结构进行了一些简单的介绍,它是计算机的灵魂,目前,如何更好地提高系统结构的性能,仍是各国科学家不断研究的 课题。
计算机系统结构论文篇二 《计算机系统结构发展》 摘 要:
计算机系统结构从1946年诞生开始一直在飞速发展,而硬件 革命也使得系统结构经历了几次大的变革。如今的计算机系统结构在更多功能和 更高性能上取得了突破。本文对计算机系统结构的历史发展进行了总结,并简要 介绍了如今的计算机系统结构新技术和未来的发展趋势。
关键词:计算机系统结构 冯诺依曼结构 并行机 多核 数据流计算机 中图分类号:TP303 文献标识码:A 文章编号:
1003-9082(2015)04-0007-03 一、前言 现代计算机的发展历程可以分为2个时代:串行计算时代和并行计算 时代。并行计算是在串行计算的基础上发展起来的。并行计算将一项大规模的计 算任务交由一组相同的处理单元共同完成。在此期间,各处理单元相互通信与协 作,从而获得更高的效率。体系结构的发展是每个计算时代到来的重要标志,其 次才是基于该结构的系统软件(尤其是操作系统和编译软件)、应用软件的发展, 最后随新问题的发生发展解决达到顶峰。
计算机体系结构是选择并相互连接硬件组件的一门科学和艺术,在人 们不断探索研究的过程中,一直在追求计算机的功能、性能、功率以及花费的高 度协调,以期达到各方面的最佳状态,在花费、能量、可用性的抑制下,实现计 算机的多功能、高性能、低功率、少花费的一个新时代。根据当前体系结构的发 展现状,要实现以上全部要求的一台计算机,还存在着诸多的限制条件,包括逻 辑和硬件上的两方面限制条件。
现如今,随着其他领域,包括数据存储处理、计算机网络、移动平台 等的飞速发展,给计算机体系结构的设计带来了新的挑战也提出了新的要求,除 了需要解决历史发展中的遗留问题外,还需融入新的功能。总之,未来计算机系统结构的发展值得期待。
二、计算机体系结构的历史发展 计算机已有近70年的发展史,一般认为经历了5代的发展,主要都是 以硬件技术的发展为标志的。其中最蓬勃的时期,当属1946年ISA计算机提出的 最早时期到1972年CRAY_1问世的这一段时间,因为自此期间出现的技术及结构, 几乎囊括了迄今为止所有的新技术、新结构。从1973年开始,因LSI/VLSI技术的 发展和成熟,微处理器及微型计算机纷纷引入该技术,使得计算机技术一时间广 泛应用于各个领域,于是计算机应用开始呈现出前所未有的繁荣景象。虽然如此, 计算机的发展单从体系结构来看并没有发生革命性的变化,已被提出的体系结构 和所谓非冯诺依曼结构的并行处理,通常也没有完全脱离冯诺依曼的基本思想, 不过是多个冯诺依曼部件的重复。人们尚需不断创新和努力,才有可能从本质上 革新计算机体系结构。
三、冯诺依曼结构的发展 1.最初的冯诺依曼结构计算机的主要特点 包括运算器、控制器、存储器以及输入/输出设备五大部分,其中运 算器为中心。
存储器是一维顺序模型,含有定长存储单元,访问需按地址。
一个存储器同时存储程序和数据,指令和数据具有相同的地位。
采用存储程序并顺序执行的思想,由程序控制器控制按序指,当遇转 移指令时改变指令执行顺序。
程序和数据均采用二进制编码及二进制运算。
最初的计算机,元器件可靠性较低,因而采用冯诺依曼结构是较为合 适的,它作为所有串行算法的基础,在过去、目前以及未来相当长的一段时间, 都将作为计算机体系结构的主要模式,影响着计算机的发展。
2.改进的冯诺依曼体系结构计算机的主要特点 以存储器为中心,外部设备与中央处理的运算以及不同的外设之间均采取并行方式。
为缩小数据结构和算法之间的语义间隔,增加了新的数据表示,包 括:常数、浮点数、字节、字符串、可变长10进制、队列等。
引入堆栈,更加方便实现与链接相关的操作以及程序载入、递归计算 等。
为访问复杂数据结构对象引入变址寄存器,并增加了间接寻址方式。
为解决CPU和内存间信息交换的速度不匹配问题,增加CPU内的通用 寄存器数量;为减少CPU与主存的信息交换频率,增加高速缓冲器Cache,形成三 级存储结构。
为提高处理器的吞吐量和效率,采取先行控制、指令重叠、流水线等 技术,在指令内、指令间、任务间、作业间等不同层次上开发并行性。
加提高存储器带宽,采用存储器交叉访问等技术。
使程序和数据的存储空间分开,以增加存储器带宽。
采用页式存储管理及段式存储管理等虚拟存储技术,使计算机运行方 式上从单作业单通道处理发展为批处理、多道程序处理等。
改进的冯诺依曼结构计算机的能够很好地进行较大规模的数值计算 和数据处理,但还不能很好地对图象和自然语言数据对象等进行处理。
3.并行处理结构的发展 虽然计算机性能的提高很大程度上取决于元器件的发展,但是另一方 面,体系结构的发展也扮演着相当重要的角色。尤其是并行技术的引入和发展。
并行性包括时间并行性和空间并行性两部分。一般时间并行性的开发采用资源共 享和时间重叠的方法,而空间并行性的提高则采用资源重复的方法。由于并行性 的开发体现在计算机的不同硬件不同层次结构上,这里只针对存储系统的并行性 进行讨论阐述。
在双核系统还未出现的早期,并行技术主要应用于单机系统。微指令、 指令、程序等不同粒度的流水线,多道程序设计,多功能部件,以及向量处理机等技术的发展,一时间单处理机系统的吞吐量和其他性能达到几乎饱和的状态。
问题规模的持续扩大催生了多处理器系统的发展,同时也导致了共享存储结构 (SMP)的产生。
SMP采用多处理器共享内存的方式,同时也采用高速缓存的多级存储 结构,提高处理器访存速度。然而这必将出现访问冲突问题。为进一步提高SMP 结构的并行规模和系统性能,有如下几种策略解决该问题。
3.1分布存储多处理机结构(DMP),又称为非共享存储结构,它利用资 源重复的并发性策略,使各处理器节点并发地访问分布的存储器。其特点是主存 分布,不共享。然而这种存储结构存在地址空间的不连续问题,造成单处理器程 序向DMP上移植的困难性,加大了程序员在该结构上编程的难度,因而DMP在 主流机上很快消失。
3.2非一致存储访问(NUMA)结构,把实际分布的各存储器看成连续的 存储的空间,解决了DMP地址空间不连续的问题。其特点是物理上分布存储, 逻辑上统一编址,存储器共享,Cache不共享。由于Cache不共享,又会导致Cache 一致性问题。
3.3大规模并行处理(MPP)结构,其特点是不共享存储器,各处理器节 点独立工作,只交换必要的信息,即打包的数据和程序,这样就能够彻底解决 Cache一致性的问题。MPP可方便扩展节点,具有很好的伸缩性。目前优选的节 点通讯互连网络有超立方体和网络加“虫蛀式”路由,均难以解决系统效率的问题。
然而这种不共享的方式,导致数据流路径选择困难,可编程性大大降低,程序执 行效率也随之下降。鉴于MPP结构的这些特点严重制约了并行技术的发展,人们 将焦点再次聚集到解决NUMA结构Cache一致性的问题上来,产生了Cache一致性 NUMA结构――CC-NUMA。
目前, 大规模并行结构尚有三大难题:节点负载均衡问题,Cache 一致性问题和通讯同步问题,均为全局优化问题。一系列并行处理结构的发展, 说明大规模并行处理结构并没有新东西,实属无奈和被动。冯诺依曼结构的一维 顺序存储模型严重地制约了并行体系结构的发展,在此基础上进行并行性的挖掘 只能有限地提高计算机性能。[1] 四、计算机系统结构的新技术1.Cell和多核等新型处理器结构带来新的方向 现代科技对科学计算的精度要求日益提高,处理问题的规模也日益扩 大,这些都加快了计算机体系机构的发展。由于微电子技术发展的制约以及单机 并行处理结构的限制,计算机系统结构发展有了新思路,即Cell和多核架构技术。
Cell采取单芯片多核处理单元的结构,共享存储器资源被多个处理单 元共享。Cell采用的是称为协处理器的技术,并依靠多个处理单元并行来提高运 算速度。Cell架构的综合效率高、功耗低、可扩展性好,因此被广泛应用在服务 器、大型机、移动设备等应用环境。Cell的可移植性也值得一提,不同的机器虽 然频率和内核数量等参数可能不同,然而在同款机器上开发的程序,仅需改变相 应的参数,即可被一直到所有机器上运行。正是由于Cell极佳的可移植性,Cell 可以方便使用相同架构的移动设备和服务器的通信和资源的共享,从而使得网络 资源整合成为可能,为电子信息网络变革带来福音。
与Cell架构不同,多核处理器的出现则是另一种计算方式的体现。从 多核处理器出现开始,多核处理器逐渐发展,已经从仅限于高端服务器演变为在 PC机中普及,从而使PC机也演变为并行计算机,多核处理器由此占据大部市场。
由此带来的是利用多核优势进行并行程序设计的研究。多核设计也使得摩尔定律 转变为基辛格定律成为可能。英特尔、AMD、IBM、SUN公司等计算机行业巨 头均相继推出各自的多核处理器,从双核到四核,从四核到八核,升值96核,192 核的芯片也相继诞生,预计千核处理器也有望在2020年诞生。由此衍生出基于多 核技术的高性能计算领域的发展。
2.可重构计算技术带来新的亮点 过去的计算机硬件由于采用固化方式,硬件仅能使用一种环境,环境 变更必将造成大量电子垃圾的产生,不利于可持续发展。可重构计算技术[3-5] 的出现,则很好的解决了这一问题。可重构计算采用FPGA(现场可编程门阵列) 和CPLD编程技术等底层技术实现硬件可编程,继而可以根据不同计算任务需求 实时改变硬件的结构以满足实际应用环境中的多元性和可变性,进一步提高了计 算机的性能。
可重构计算技术主要应用在处理器芯片体系结构设计中,其基本目标 是支持不同类型的并行性计算模型以达到不同级别的高性能,并提高芯片上硬件 资源的利用率。该技术的基本实现思路是动态配置芯片上大量的处理单元、存储单元和互连结构。由于可重构计算技术能够很好地把握半导体技术发展的内在动 力,采用该技术的多型微处理芯片体系结构不仅能够适应应用环境的多样性,同 时还降低了设计复杂性、成本、功耗,提高了资源利用率和系统可靠性。该技术 的应用,使得传统处理器芯片设计过程中的指令集体系结构和微体系结构的设计 和实现也发生了相应的巨大变化。
可重构计算技术在很大程度上降低了计算机硬件的复杂度,因为硬件 也被赋予了软件特性,变得可“编程”,因而也就具有高计算能力和低硬件复杂度。
在这类单片系统上开发各种类型的应用,同时根据应用本身的并行性特征,采取 体系结构模型的资源重复技术并进行动态配置,进而达到提高计算机系统性能, 减低设计复杂度和功耗的目的。
3.可重构技术与多核技术的融合 冯诺依曼体系结构在过去的计算机体系结构发展中一直占据着主导 地位。同时,计算机硬件和软件,尤其是CPU和存储技术也在不断发展着。随着 信息时代的到来,现有的技术也许远无法满足人们的需求。网络环境和信息化社 会使得计算机的应用需求从简单的科学计算、资源共享功能的需求逐步发展为对 大规模不同类型数据信息进行处理、智能升级等能力的需求。可重构技术与多核 技术作为基础,比将带动计算机体系结构的后续发展。对于未来计算机系统结构 发展,有学者提出以下几个方面的构想:(1)CPU将发展为Cell结构和多核结构融 合结构,即多Cell结构处理器;(2)信息通路[2]取代存储器,成为体系结构的中 心;(3)计算机的构成部件由冯诺依曼体系结构五大部件转变为由多个信息处理节 点构成,且每个节点的智能化和集成化程度逐步提高;(4)硬件设计也将被纳入程 序设计的范畴;(5)生产商提供中间件,用户无需关心程序设计本身,从而获取更 好的体验感。
五、计算机系统结构的未来发展 纵观目前各大高校计算机系统结构方向的研究生院专业设置,以及各 种计算机系统结构的学术会议和论文,网格计算、高性能计算与并行处理、容错 计算、光计算机系统、嵌入式系统,都是计算机系统结构未来发生重大突破的契 机。
1.现阶段研究领域的突破截止前不久第十五届全国计算容错会议落下帷幕,我国容错计算领域 已经走过了超过18个年头。文献[5]研究和分析了几种面向通用的容错计算机系 统结构,在充分考虑成本、可靠性、处理能力、升级、开发周期、灵活性等因素 的基础上,提出了一种开放的、高性价比的、通用的计算机结构。
随着云计算、大数据逐渐渗透进计算机各个领域,并行计算也成为目 前计算机系统结构领域的重要研究方向。文献[6]为我们介绍了可扩展并行计算 机系统结构的发展。可以看到,并行机的发展取得了很多成就,国内外有许多优 秀的并行机也已经投入使用,而我国在这个领域也具有相当的影响力。
在计算机体系结构发展中,除了处理器的发展受到广泛关注外,其他 如存储器和总线的发展也至关重要。文献[8]为我们介绍了计算机总线技术的发 展。
2.计算机系统结构的发展趋势分析 计算模型是计算机体系结构发展的主要标志,后者是前者的具体体现。
因此,计算机体系结构的发展可以参照计算模型的发展。基于控制驱动和共享数 据的计算模型是传统体系结构的主要控制机制,未来主要有三个研究趋势:数据 流系统结构、归约系统结构、智能系统结构,分别对应数据流计算机、归约计算 机和智能计算机。[4] 计算模型有如下四种控制机制:控制驱动、数据驱动、消息传送和模 式匹配。数据流系统结构基于数据驱动和消息传送。图归约和串归约均为归约系 统结构,其中,图归约系统结构是基于需求驱动和消息传送的计算模型。智能机 主要应用在知识处理领域。
2.1 数据流计算机 数据流计算机顾名思义是基于数据流的计算机,它采用数据驱动的计 算模型,较传统计算机具有更高的并行性。
数据驱动的数据流方式是指:一条指令或一组指令的执行由其所需的 操作数驱动,一旦操作数全部准备就绪,指令立即被激发执行。而下一条或下一 组指令的执行,同样由上条或上组指令的输出结果及其他所需操作数驱动执行。
采用这种方式的CPU将不再需要程序计数器。由于指令的执行完全受数据流驱动, 指令并非按所属的程序存储顺序,而是基本无序的。文献[10]为展示了一种数据流计算机的实现,介绍了数据流机的数据 驱动二种、数据流程图、数据流程序设计语言以及其特殊的系统结构。
2.2 归约机 归约机同样是基于数据流,但其驱动方式与数据流机不同,归约机采 用的是需求驱动的计算模型。在归约机中,指令的执行受其他指令的驱动,即指 令因其他指令的需要而执行。
归约是指将表达式不断化简直到获得最简表达式的过程,得到最简表 达式也就得到了最终的计算结果。归约机的设计是面向函数式程序设计语言的。
这种程序设计语言也简称为函数式语言,是一种面向问题的说明性问题,即它是 描述问题而非解决问题的程序设计语言。
函数式语言通过对表达式的归约产生结果数据,进而驱动归约机中指 令的执行,由此产生指令执行顺序。
按照函数表达式存储结构不同,归约机分为串行归约机和图归约机两 类。前者以字符串形式存储函数表达式而后者以图的形式存储。
2.3 智能机 智能机用于知识信息处理,它由以下几个部分组成:推理系统、智能 机口、数据库系机和知识库机。其中,后两者是包含存储器及处理器的专用机, 用来获取、表达、存储和处理庞大的数据和各种人类知识。智能机的发展跟数据 挖掘、信息抽取、人工智能等领域的研究密不可分。
随着计算机网络的飞速发展,信息时代计算机需要处理的远不止传统 的冯诺依曼机复杂的数值计算任务,更多的是应对各种各样数量庞大的非数值计 算任务。处理非数值数据涉及到的核心问题是如何对人类知识进行存储和处理, 这就需要保证知识一致性和快速实时响应。然而传统冯诺依曼机却不能有效保证 这两点。数据库机和知识库机的概念的产生真是基于以上需求。数据库机和知识 库机结构的设计应满足一下几点要求:
具有快速查询数据和知识的能力;
能够存储大量数据和知识;
采用模块化结构,一边能够充分利用VLSI技术提供性能良好的用户 接口,使数据库和知识库机能与各种前端机连接,以便让更多用户访问。
3.新型体系结构 3.1 后PC时代的计算机系统结构的发展 文献[7]提出,由于个人移动电脑将是后PC时代上的主流产品,因此 对当今的微处理器在实时响应、DSP支持、高效能量供给等方面提出了新的挑战。
新的微处理器实际上是通用处理器与数字信号处理器(DSP)的结合。因此主要需 要满足下列4个条件。
高性能:首先是实时响应,能保证在效率最差的情形下也能对实时信 号(如视频) 作出反应。连续媒体数据类型,要求系统能处理连续数据流的输入, 并不间断输出结果.其它还要求高存储器带宽、高网络带宽、细粒度并行性、粗 粒度并行性、高指令参照定位等。
高效率能童系统:这种装里预计功耗应小于2w,处理器的功耗应设 计在1w 以下,且仍能处理像语音识别这样的高性能操作。现今高性能徽处理器 数十W 的功耗是不能接受的。
小巧玲珑:尺寸小、重量轻也是重要条件之一这就需减少芯片数,提 高集成度,像在PD A 里一样,要节省内存的开销,减小代码和程序的大小。
设计的复杂性和可缩放性:一个系统结构应该不仅在性能上而且在物 理计上,能有效地缩放。台式计算机芯片间长线互连的方式在未来处理器狭小空 间里是不合适的,应该避免。
3.2 其他 中国工程院院士邬江兴在2013年“高效能计算机体系结构”国际战略 高端论坛上发布了“基于认知的主动重构计算体系”(简称PRCA)的新概念高效能 计算机体系,邬院士称该体系经初步原理验证,效能至少比传统高性能计算机提 高10倍以上。
计算机系统结构的变革是同器件变革以及技术变革相辅相成的,目前 量子计算机、光子计算机、生物计算机、纳米计算机等新型计算机正处于研测试用或设想阶段,未来计算机系统结构发展必将出现飞跃。