..

㈠ goole集群是MIMD吗

单控制器,美国军方大多机型等:多机系统----多个处理器系统或多计算机系统每个处理机可以独立执行指令和处理数据一般并行计算机大多采用这种结构酷睿二双核(多核)计算机属于SIMD,这类计算机的实际机器并不多,向量流水机、单核CPU系列的PC等:松耦合,一般认为超标量计算机,多核CPU系列的PC等; 单指令流 多数据流 SIMD 超级计算机,对同一数据流进行处理:传统的顺序计算机(冯·诺依曼结构)。 典型的SISD机器。 多指令流多数据流MIMD。共享存储器为,我国的YH-I(银河1)型、多处理单元和多对数据进行处理。我国的YH-2(银河2)型; 多指令流单数据流 MISD,经过优化的指令可以分别在多个核心上同时执行:紧耦合。分布存储器为:多指令流单数据流 MISD多个处理器、长指令字计算机(VLIW)和退耦(Decounted)计算机和专用脉动阵列(Systoic arrays)计算机可以作为此类计算机,标量流水机

㈡ 请问什么是巨型计算机

超级计算机(Supercomputer)是一种领先世界的电子计算机。它的体系设计和运作机制都与人们日常使用的个人电脑有很大区别。现有的超级计算机运算速度大都可以达到每秒万亿次以上。因此无论在运算力及速度都是全球顶尖。超级计算第一次被使用是在“纽约世界”于1920年关于万国商业机器为哥伦比亚大学建造制表机的报导。1960年代,超级电脑由希穆尔·克雷在控制数据公司里设计出来并带领市场直到1970年代克雷创立自己的公司克雷研究。凭著他的新设计,他控制了整个超级电脑市场,站在这个颠峰位置长达五年(1985-1990)。在1980年代,大量小型对手加入竞争,正值小型电脑市场萌芽阶段。在1990年代中叶,很多对手受不了市场的冲击而消声匿迹。今天,超级电脑成了一种由像国际商用机器公司及惠普等传统公司所特意设计的电脑。虽然这些公司透过不断并购增强自己经验,但克雷研究依然专业于超级电脑设计。 克雷-2-全球最快电脑(1985–1989)其实超级电脑一词定义不清,随时间演进,昨是而今非。控制数据公司的早期机器都是非常快的标量处理器,是其他公司的最快电脑十倍速度。1970年代,大部分超级电脑都是向量处理器,很多是新晋者自行开发的廉价处理器来攻占市场。1980年代中叶,适量的向量处理器并行地操作成为标准。一般由8个到16个不等。1980年代初期,注意力由向量处理器转向大规模并行运算系统,由成千上万的普通处理器所组成。今天,并行设计建棋于精简指令集(RISC)处理器,譬如 PowerPC或PA-RISC及互联的电脑丛集。软件分布式运算所用的软件包括一些标准的应用编程接口(如信息传递接口及并行虚拟机器)及开放源码软件。例如openMosix可以把很多普通的电脑联合成虚拟超级计算器。零设定技术方便了即兴建立电脑丛集,而为超级电脑制作容易的编程语言仍然是运算科学的研究课题。[编辑] 用途超级电脑常用于计算密集的工作,譬如天气预测、气候研究、运算化学、分子模型、物理模拟、密码分析等等。[编辑] 设计超级电脑的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在专门的运算表现突出,在处理一般工作时却差强人意。他们的记忆结构是经过小心设计来确保数据及指令及时送达。这微小的差别可以导致运算能力的巨大差别。输入/输出系统也有特殊设计来提供高带宽,但是延缓时间却不很重要,因为超级电脑不是用来处理交易。根据Amdahl's law,超级电脑的设计都集中在减少软件上的序列化、用硬件在瓶颈上加速。[编辑] 挑战与科技超级电脑常产生高热,需要冷却。冷却是很大的HVAC问题。 资讯传送不能比光快。几米的距离导致几十纳秒的延误,而克雷著名的环型设计保持了最短距离。 超级电脑在短时间耗用及生产大量数据,需要投入很多资源确保资讯妥善传送及存取。 因超级电脑而开发的科技:向量处理器 水冷技术 非均匀访存模型(NUMA) 资料分割 (RAID) 并行存取档案系统 [编辑] 处理技术向量处理因超级电脑而建立并用于高性能运算。向量处理技术后来被用于普通电脑内的信号处理架构及单指令流多数据流(SIMD)。例如:电视游乐器、图像卡等。[编辑] 操作系统超级电脑操作系统虽然是UNIX的变种,但比较小型电脑的复杂一点。一般都倾向减少开发它的用户接口因为可以减少浪费资源在不必要的工作上。同样的道理应用到价值几百万的电脑身上。这个惯例延续到超级电脑,例如SGI都会使用NVIDIA。NVIDIA制造廉价、多功能、高性能的产品。1980年代初期,超级电脑通常会为了追求性能而牺牲指令集的兼容性及运载速度。它们会使用不同类型的操作系统。雷克-1曾使用6个专属操作系统及并行向量版本的FORTRAN编译器。[编辑] 编程超级电脑的并行架构需要特别编程技术来提高速度。Fortran的专门编译器可以产生的源码,运行比C或C++的更快,所以Fortran仍然被选用作科学编程。为了开发超级电脑的并行性都使用紧接分享记忆的并行虚拟器及信息传递接口。[编辑] 通用超级电脑的类型大致上可以分为三种:向量处理机器能为大量数据同时进行同样的运算。 丛集式处理器特别建立连接处理器及内存的通信网络,非均匀访存模型就是最常见的。最快的超级电脑就是使用这个科技。 商品电脑丛集使用高带宽低延误的网络来连接大量普通商品电脑。 根据摩尔定律及经济规模,一个现代的桌面电脑比15年前的超级电脑有更高性能,皆因某些超级电脑的设计已经放在桌面电脑内。再者,简单芯片的开发及生产成本比特意设计给超级电脑的更便宜。超级电脑所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级电脑可以被电脑丛集所代替。[编辑] 专用超级电脑专用超级电脑都是针对单一问题而开发的电脑。这些电脑都使用专门编程的FPGA芯片及超大型密集芯片,纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。例子:深蓝, (下棋) 可再重设电算 GRAPE, 天文物理 Deep Crack, DES解码器 [编辑] 现今最快超级电脑[编辑] 量度速度超级电脑速度以每秒的浮点运算"FLOPS" 来作量度单位。[编辑] 现在的超级电脑2005年3月25日,IBM的Blue Gene/L原型变成了最快的超级电脑。它是单一机器安装了32768处理器,运算能力高达280.6 TFLOPS (1012 FLOPS)。Blue Gene/L原型是PowerPC架构的修改版本,正式运作版本被推出到很多地点,包括罗兰士利物摩亚国家实验室(Lawrence Livermore National Laboratory)。2005年10月28日,虽然运算能力高,但比预期的360TFLOPS低,将来的版本会提高到0.5PFLOPS。以前,一台 Blue Gene/L安装了131072处理器,运算力高达101.5TFLOPS。[1] 2005年11月,IBM Blue Gene/L 成了首500强超级电脑排名榜的第一名。[2]现在Google server farm可算是世界上最高性能的超级电脑。[编辑] 过往的超级电脑在Blue Gene/L之前,最快的超级电脑是日本电气株式会社在横滨地球科学学院的地球模拟器。它是由640个特别设计的8阶向量处理器根据NEC SX-6架构所组成的丛集。它使用UNIX的修改版本。面世的一刻,地球模拟器的速度是比以前最快的超级电脑(美国加州罗兰士利物摩亚国家实验室的ASCI White)还要快4倍。它的冠军位置维持了2.5年。首500强超级电脑排名榜可见于 http://www.top500.org/ 。[编辑] 类超级运算某些分布式运算把丛集超级运算推至极限。例如[email protected]计划现在平均有72.53TFLOPS运算能力。[3].2005年5月16日,[email protected]声称拥有195TFLOPS运算能力。[4]GIMPS运算能力也高达18TFLOPS。Google的搜寻引擎系统总处理能力界乎于126及316TFLOPS之间。Tristan Louis估计这个系统等于32000至79000台双2 GHzXeon电脑。[5] 由于散热问题,Google的搜寻引擎系统应该属于网格运算。[编辑] 超级电脑时间线由古至今:时期 超级电脑 极速 地点 1906 Babbage Analytical Engine, Mill 0.3 OPS 英国 艾萨斯 霍特福格兰 RW门罗 1938年 Zuse Z1 0.9 FLOPS 德国柏林Konrad Zuse的父母居所 1939年 Zuse Z2 0.9 OPS 德国柏林Konrad Zuse的父母居所 1941年 Zuse Z3 1.4 FLOPS 德国柏林德国气体动力学研究所(DVL) 1942年 Atanasoff Berry Computer (ABC) 30 OPS 美国衣阿华州立大学 1942年 TRE Heath Robinson 200 OPS 英国帕雷屈里庄园 1943年 TRE Colossus 5 kOPS 英国帕雷屈里庄园 1946年–1948 U. of Pennsylvania ENIAC 50 kOPS 美国马里兰州Aberdeen实验基地 1954年 IBM NORC 67 kOPS 美国维珍妮亚州海军试验基地 1956年 MIT TX-0 83 kOPS 美国麻省理工 1958年 IBM SAGE 400 kOPS 美国空军23号基地 1960年 UNIVAC LARC 500 kFLOPS 美国加州罗兰士利物摩亚国家实验室 1961年 IBM 7030 "Stretch" 1.2 MFLOPS 美国新墨西哥州洛斯-阿拉莫斯国家实验室 1964年 CDC 6600 3 MFLOPS 美国加州罗兰士利物摩亚国家实验室 1969年 CDC 7600 36 MFLOPS 美国加州罗兰士利物摩亚国家实验室 1974年 CDC STAR-100 100 MFLOPS 美国加州罗兰士利物摩亚国家实验室 1975年 Burroughs ILLIAC IV 150 MFLOPS 美国加州NASA恩斯研究中心 1976年 Cray-1 250 MFLOPS 美国新墨西哥州洛斯-阿拉莫斯国家实验室 1981年 CDC Cyber 205 400 MFLOPS (世界很多地方) 1983年 Cray X-MP/4 941 MFLOPS 美国新墨西哥州洛斯-阿拉莫斯国家实验室,波音公司 1984年 M-13 2.4 GFLOPS 苏联莫斯科计算机科学研究学院 1985年 Cray-2/8 3.9 GFLOPS 美国加州罗兰士利物摩亚国家实验室 1989年 ETA10-G/8 10.3 GFLOPS 美国佛罗里达大学 1990年 NEC SX-3/44R 23.2 GFLOPS 日本府中市NEC府中厂 1993年 Thinking Machines CM-5/1024 59.70 GFLOPS 美国新墨西哥州洛斯-阿拉莫斯国家实验室; 美国国家安全局 1993年 Fujitsu Numerical Wind Tunnel 124.50 GFLOPS 日本国家宇航实验室 1993年 Intel XP/S140 143.40 GFLOPS 美国山迪亚国家实验室 1994年 Fujitsu Numerical Wind Tunnel 170.40 GFLOPS 日本国家宇航实验室 1996年 Hitachi SR2201/1024 220.4 GFLOPS 日本东京大学 1996年 Hitachi/Tsukuba CP-PACS/2048 368.2 GFLOPS 日本筑波市筑波大学电算物理中心 1997年 Intel ASCI Red/9152 1.338 TFLOPS 美国山迪亚国家实验室 1999年 Intel ASCI Red/9632 2.3796 TFLOPS 美国山迪亚国家实验室 2000年 IBM ASCI White 7.226 TFLOPS 美国加州罗兰士利物摩亚国家实验室 2002年 NEC 地球模拟器 35.86 TFLOPS 日本地球模拟器中心 2004年 IBM Blue Gene/L (32,768) 70.72 TFLOPS 美国能源部/IBM 2005年 IBM Blue Gene/L (65,536) 136.8 TFLOPS 美国能源部/NNSA/LLNL 2005年 IBM Blue Gene/L (131,072) 280.6 TFLOPS 美国能源部/NNSA/LLNL 中国的超级电脑是曙光4000A。

㈢ 为什么MISD类型的计算机平台很少或根本不存在

F1ynn分类法把计算机的系统结构分为多指令流单数据流(MISD)、多指令流多数据流(MIMD)、单指令流单数据流(SISD)和单指令流多数据流(SIMD)计算机4类。早期的计算机都是SISD机器,如冯诺.依曼架构,IBM PC机,早期的巨型机和许多8位的家用机等。现在用的单核计算机基本上都属于SIMD机器。 最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器等都属于MIMD。 MISD是多指令流单数据流机器,采用多个指令流来处理单个数据流。由于实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入到实际应用之中。所以MISD类型的计算机平台很少或根本不存在。

㈣ 计算机系统结构的分类

按流分类的方法,这是Flynn教授提出的按指令流和数据流的多倍性概念进行分类的方法。共有四大类,即:(S-single 单一的 I-instruction 指令 M-multiple 多倍的 D-data 数据)SISD 单指令流单数据流,传统的单处理机属于SISD计算机。SIMD 单指令流多数据流,并行处理机是SIMD计算机的典型代表。中国的YH-I型是此类计算机型。MISD 多指令流单数据流,实际上不存在,但也有学者认为存在。MIMD 多指令流多数据流,包括了大多数多处理机及多计算机系统。中国的YH-Ⅱ型计算机是这种类型的计算机。一般将标量流水机视为SISD类型,把向量流水机视为SIMD类型。按并行级和流水线分类:这是在计算机系统中的三个子系统级别上按并行程度及流水线处理程度进行分类的方法。

㈤ 现在酷睿二的双核计算机是属于MIMD(多指令流多数据流)计算机吗

酷睿二双核(多核)计算机属于SIMD。典型的SISD机器:传统的顺序计算机(冯·诺依曼结构),标量流水机、单核CPU系列的PC等;单指令流 多数据流 SIMD 超级计算机:单控制器、多处理单元和多对数据进行处理,经过优化的指令可以分别在多个核心上同时执行,我国的YH-I(银河1)型,向量流水机,多核CPU系列的PC等;多指令流单数据流 MISD:多指令流单数据流 MISD多个处理器,对同一数据流进行处理,这类计算机的实际机器并不多,一般认为超标量计算机、长指令字计算机(VLIW)和退耦(Decounted)计算机和专用脉动阵列(Systoic arrays)计算机可以作为此类计算机。多指令流多数据流MIMD:多机系统----多个处理器系统或多计算机系统每个处理机可以独立执行指令和处理数据一般并行计算机大多采用这种结构。共享存储器为:紧耦合。分布存储器为:松耦合。我国的YH-2(银河2)型,美国军方大多机型等。

㈥ 计算机体系结构的分类

1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。·指令流:机器执行的指令序列·数据流:由指令流调用的数据序列,包括输入数据和中间结果·多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。1·单指令流单数据流(,SISD)SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。2·单指令流多数据流(,SIMD)SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。3·多指令流单数据流(,MISD)MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。4·多指令流多数据流(,MIMD)MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2) 1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。由此得出四种不同的计算机结构:①字串行、位串行(简称WSBS)。其中N=1,M=1。②字并行、位串行(简称WPBS)。其中N=1,M>1。③字串行、位并行(简称WSBP)。其中N>1,M=1。④字并行、位并行(简称WPBP)。其中N>1,M>1。

㈦ 双核处理器属于SISD,SIMD,MISD,还是MIMD

属于SIMDFlynn分类法: 根据指令流和数据流的多倍性对计算机系统结构进行分类基本思想:是计算机工作过程是指令流的执行和数据流的处理。指令流:机器执行的指令序列数据流:由指令流调用的数据序列(包括输入数据和中间结果)多倍性:在系统性能的瓶颈部件上处于同一执行阶段的指令或数据的最大个数。典型的SISD机器:传统的顺序计算机(冯·诺依曼结构)单指令流 多数据流 SIMD 超级计算机,单控制器、多处理单元和多对数据进行处理多指令流单数据流 MISD多指令流单数据流 MISD多个处理器,对同一数据流进行处理,这类计算机的实际机器并不多,一般认为超标量计算机、长指令字计算机(VLIW)和退耦(Decounted)计算机和专用脉动阵列(Systoic arrays)计算机可以作为此类计算机。多指令流多数据流MIMD多机系统----多个处理器系统或多计算机系统每个处理机可以独立执行指令和处理数据一般并行计算机大多采用这种结构。共享存储器为:紧耦合。分布存储器为:松耦合

㈧ 利用高速通信网络将多台高性能工作站或微型机机互联构成机群系统,其系统结构形式属于()计算机。

多指令流多数据流(MIMD)

㈨ 急!!!!急!!!!!!!!!急!!!!!计算机体系结构这门课所解决的问题以及解决的方法在线等

计算机体系结构(ComputerArchitecture)是程序员所看到的计算机的属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。经典的关于“计算机体系结构(computerarchitecture)”的定义是1964年C.M.Amdahl在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性”基本概念 计算机体系结构就是指适当地组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。通常包含的系统元素有:计算机软件、计算机硬件、人员、数据库、文档和过程。其中,软件是程序、数据结构和相关文档的集合,用于实现所需要的逻辑方法、过程或控制;硬件是提供计算能力的电子设备和提供外部世界功能的电子机械设备(例如传感器、马达、水泵等);人员是硬件和软件的用户和操作者;数据库是通过软件访问的大型的、有组织的信息集合;文档是描述系统使用方法的手册、表格、图形及其他描述性信息;过程是一系列步骤,它们定义了每个系统元素的特定使用方法或系统驻留的过程性语境。 计算机体系结构8种属性 1•机内数据表示:硬件能直接辨识和操作的数据类型和格式 计算机体系结构2•寻址方式:最小可寻址单位、寻址方式的种类、地址运算 3•寄存器组织:操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则 4•指令系统:机器指令的操作类型、格式、指令间排序和控制机构 5•存储系统:最小编址单位、编址方式、主存容量、最大可编址空间 6•中断机构:中断类型、中断级别,以及中断响应方式等 7•输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制 8•信息保护:信息保护方式、硬件信息保护机制。编辑本段发展历程 计算机系统已经经历了四个不同的发展阶段。 计算机体系结构第一阶段 60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。第二阶段 从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机课题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。第三阶段 计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,在这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,而且微处理器获得了广泛应用。以微处理器为核心的“智能”产品随处可见,当然,最重要的智能产品是个人计算机。在不到10年的时间里,个人计算机已经成为大众化的商品。 在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境。世界范围的信息网为人们进行广泛交流和资源的充分共享提供了条件。软件产业在世界经济中已经占有举足轻重的地位。随着时代的前进,新的技术也不断地涌现出来。面向对象技术已经在许多领域迅速地取代了传统的软件开发方法。总结 软件开发的“第四代技术”改变了软件界开发计算机程序的方式。专家系统和人工智能软件终于从实验室中走出来进入了实际应用,解决了大量实际问题。应用模糊逻辑的人工神经网络软件,展现了模式识别与拟人信息处理的美好前景。虚拟现实技术与多媒体系统,使得与用户的通信可以采用和以前完全不同的方法。遗传算法使我们有可能开发出驻留在大型并行生物计算机上的软件。编辑本段基本原理 计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。 计算机体系结构计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。编辑本段分类Flynn分类法 1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。 •指令流:机器执行的指令序列 计算机体系结构•数据流:由指令流调用的数据序列,包括输入数据和中间结果 •多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。 Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。 1•单指令流单数据流(,SISD) SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。 2•单指令流多数据流(,SIMD) SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。 3•多指令流单数据流(,MISD) MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。 4•多指令流多数据流(,MIMD) MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2)冯式分类法 1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。 由此得出四种不同的计算机结构: ①字串行、位串行(简称WSBS)。其中N=1,M=1。 ②字并行、位串行(简称WPBS)。其中N=1,M>1。 ③字串行、位并行(简称WSBP)。其中N>1,M=1。 ④字并行、位并行(简称WPBP)。其中N>1,M>1。编辑本段技术革新 计算机体系结构以图灵机理论为基础,属于冯•诺依曼体系结构。本质上,图灵机理论和冯•诺依曼体系结构是一维串行的,而多核处理器则属于分布式离散的并行结构,需要解决二者的不匹配问题。 首先,串行的图灵机模型和物理上分布实现的多核处理器的匹配问题。图灵机模型意味着串行的编程模型。串行程序很难利用物理上分布实现的多个处理器核获得性能加速.与此同时,并行编程模型并没有获得很好的推广,仅仅局限在科学计算等有限的领域.研究者应该寻求合适的机制来实现串行的图灵机模型和物理上分布实现的多核处理器的匹配问题或缩小二者之间的差距,解决“并行程序编程困难,串行程序加速小”的问题。 计算机体系结构在支持多线程并行应用方面,未来多核处理器应该从如下两个方向加以考虑。第一是引入新的能够更好的能够表示并行性的编程模型。由于新的编程模型支持编程者明确表示程序的并行性,因此可以极大的提升性能。比如Cell处理器提供不同的编程模型用于支持不同的应用。其难点在于如何有效推广该编程模型以及如何解决兼容性的问题。第二类方向是提供更好的硬件支持以减少并行编程的复杂性。并行程序往往需要利用锁机制实现对临界资源的同步、互斥操作,编程者必须慎重确定加锁的位置,因为保守的加锁策略限制了程序的性能,而精确的加锁策略大大增加了编程的复杂度。一些研究在此方面做了有效的探索。比如,SpeculativeLockElision机制允许在没有冲突的情况下忽略程序执行的锁操作,因而在降低编程复杂度的同时兼顾了并行程序执行的性能。这样的机制使得编程者集中精力考虑程序的正确性问题,而无须过多地考虑程序的执行性能。更激进的,(TCC)机制以多个访存操作(Transaction)为单位考虑数据一致性问题,进一步简化了并行编程的复杂度。 主流的商业多核处理器主要针对并行应用,如何利用多核加速串行程序仍然是一个值得关注的问题。其关键技术在于利用软件或硬件自动地从串新程序中派生出能够在多核处理器上并行执行的代码或线程。多核加速串行程序主要有三种方法,包括并行编译器、推测多线程以及基于线程的预取机制等。在传统并行编译中,编译器需要花费很大的精力来保证拟划分线程之间不存在数据依赖关系。编译时存在大量模糊依赖,尤其是在允许使用指针(如C程序)的情况下,编译器不得不采用保守策略来保证程序执行的正确性。这大大限制了串行程序可以挖掘的并发程度,也决定了并行编译器只能在狭窄范围使用。为解决这些问题,人们提出推测多线程以及基于线程的预取机制等。然而,从这种概念提出到现在为止,这个方向的研究大部分局限于学术界,仅有个别商业化处理器应用了这种技术,并且仅仅局限于特殊的应用领域。我们认为动态优化技术和推测多线程(包括基于线程的预取机制)的结合是未来的可能发展趋势。 冯•诺依曼体系结构的一维地址空间和多核处理器的多维访存层次的匹配问题。本质上,冯•诺依曼体系结构采用了一维地址空间。由于不均匀的数据访问延迟和同一数据在多个处理器核上的不同拷贝导致了数据一致性问题。该领域的研究分为两大类:一类研究主要是引入新的访存层次。新的访存层次可能采用一维分布式实现方式。典型的例子是增加分布式统一编址的寄存器网络。全局统一编址的特性避免了数据一致性地考虑。同时,相比于传统的大容量cache访问,寄存器又能提供更快的访问速度。TRIPS和RAW都有实现了类似得寄存器网络。令另外,新的访存层次也可以是私有的形式。比如每个处理器和都有自己私有的访存空间。其好处是更好的划分了数据存储空间,已洗局部私有数据没有必要考虑数据一致性问题。比如Cell处理器为每个SPE核设置了私有的数据缓冲区。另一类研究主要涉及研制新的cache一致性协议。其重要趋势是放松正确性和性能的关系。比如推测Cache协议在数据一致性未得到确认之前就推测执行相关指令,从而减少了长迟访存操作对流水线的影响。此外,TokenCoherence和TCC也采用了类似的思想。程序的多样性和单一的体系结构的匹配问题。未来的应用展现出多样性的特点。一方面,处理器的评估不仅仅局限于性能,也包括可靠性,安全性等其他指标。另一方面,即便考虑仅仅追求性能的提高,不同的应用程序也蕴含了不同层次的并行性。应用的多样性驱使未来的处理器具有可配置、灵活的体系结构。TRIPS在这方面作了富有成效的探索,比如其处理器核和片上存储系统均有可配置的能力,从而使得TRIPS能够同时挖掘指令级并行性、数据级并行性及指令级并行性。 多核和Cell等新型处理结构的出现不仅是处理器架构历史上具有里程碑式的事件,对传统以来的计算模式和计算机体系架构也是一种颠覆 2005年,一系列具有深远影响的计算机体系结构被曝光,有可能为未来十年的计算机体系结构奠定根本性的基础,至少为处理器乃至整个计算机体系结构做出了象征性指引。随着计算密度的提高,处理器和计算机性能的衡量标准和方式在发生变化,从应用的角度讲,讲究移动和偏向性能两者已经找到了最令人满意的结合点,并且有可能引爆手持设备的急剧膨胀。尽管现在手持设备也相对普及,在计算能力、可扩展性以及能耗上,完全起步到一台手持设备应该具备的作用;另一方面,讲究性能的服务器端和桌面端,开始考虑减少电力消耗赶上节约型社会的大潮流。 Cell本身适应这种变化,同样也是它自己创造了这种变化。因而从它开始就强调了不一样的设计风格,除了能够很好地进行多倍扩展外,处理器内部的SPU(SynergisticProcessorUnit协同处理单元)具有很好的扩展性,因而可以同时面对通用和专用的处理,实现处理资源的灵活重构。也就意味着,通过适当的软件控制,Cell能应付多种类型的处理任务,同时还能够精简设计的复杂。

㈩ 计算机的体系结构,组成和实现各自处理哪些方面的问题

计算机体系结构(ComputerArchitecture)是程序员所看到的计算机的属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。经典的关于“计算机体系结构(computerarchitecture)”的定义是1964年C.M.Amdahl在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性” 。计算机体系结构2基本概念编辑计算机体系结构就是指适当地组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。通常包含的系统元素有:计算机软件、计算机硬件、人员、数据库、文档和过程。其中,软件是程序、数据库和相关文档的集合,用于实现所需要的逻辑方法、过程或控制;硬件是提供计算能力的电子设备和提供外部世界功能的电子机械设备(例如传感器、马达、水泵等);人员是硬件和软件的用户和操作者;数据库是通过软件访问的大型的、有组织的信息集合;文档是描述系统使用方法的手册、表格、图形及其他描述性信息;过程是一系列步骤,它们定义了每个系统元素的特定使用方法或系统驻留的过程性语境。计算机体系结构38种属性编辑1·机内数据表示:硬件能直接辨识和操作的数据类型和格式计算机体系结构2·寻址方式:最小可寻址单位、寻址方式的种类、地址运算3·寄存器组织:操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则4·指令系统:机器指令的操作类型、格式、指令间排序和控制机构5·存储系统:最小编址单位、编址方式、主存容量、最大可编址空间6·中断机构:中断类型、中断级别,以及中断响应方式等7·输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制8·信息保护:信息保护方式、硬件信息保护机制。4发展历程编辑计算机系统已经经历了四个不同的发展阶段。计算机体系结构第一阶段60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。第二阶段从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机课题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。第三阶段计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,在这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,而且微处理器获得了广泛应用。以微处理器为核心的“智能”产品随处可见,当然,最重要的智能产品是个人计算机。在不到10年的时间里,个人计算机已经成为大众化的商品。在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境。世界范围的信息网为人们进行广泛交流和资源的充分共享提供了条件。软件产业在世界经济中已经占有举足轻重的地位。随着时代的前进,新的技术也不断地涌现出来。面向对象技术已经在许多领域迅速地取代了传统的软件开发方法。总结软件开发的“第四代技术”改变了软件界开发计算机程序的方式。专家系统和人工智能软件终于从实验室中走出来进入了实际应用,解决了大量实际问题。应用模糊逻辑的人工神经网络软件,展现了模式识别与拟人信息处理的美好前景。虚拟现实技术与多媒体系统,使得与用户的通信可以采用和以前完全不同的方法。遗传算法使我们有可能开发出驻留在大型并行生物计算机上的软件。5基本原理编辑计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。6分类编辑Flynn分类法1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。·指令流:机器执行的指令序列计算机体系结构·数据流:由指令流调用的数据序列,包括输入数据和中间结果·多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。1·单指令流单数据流(,SISD)SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。2·单指令流多数据流(,SIMD)SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。3·多指令流单数据流(,MISD)MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。4·多指令流多数据流(,MIMD)MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2)冯式分类法1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。由此得出四种不同的计算机结构:①字串行、位串行(简称WSBS)。其中N=1,M=1。②字并行、位串行(简称WPBS)。其中N=1,M>1。③字串行、位并行(简称WSBP)。其中N>1,M=1。④字并行、位并行(简称WPBP)。其中N>1,M>1。7技术革新编辑计算机体系结构以图灵机理论为基础,属于冯·诺依曼体系结构。本质上,图灵机理论和冯·诺依曼体系结构是一维串行的,而多核处理器则属于分布式离散的并行结构,需要解决二者的不匹配问题。首先,串行的图灵机模型和物理上分布实现的多核处理器的匹配问题。图灵机模型意味着串行的编程模型。串行程序很难利用物理上分布实现的多个处理器核获得性能加速.与此同时,并行编程模型并没有获得很好的推广,仅仅局限在科学计算等有限的领域.研究者应该寻求合适的机制来实现串行的图灵机模型和物理上分布实现的多核处理器的匹配问题或缩小二者之间的差距,解决“并行程序编程困难,串行程序加速小”的问题。计算机体系结构在支持多线程并行应用方面,未来多核处理器应该从如下两个方向加以考虑。第一是引入新的能够更好的能够表示并行性的编程模型。由于新的编程模型支持编程者明确表示程序的并行性,因此可以极大的提升性能。比如Cell处理器提供不同的编程模型用于支持不同的应用。其难点在于如何有效推广该编程模型以及如何解决兼容性的问题。第二类方向是提供更好的硬件支持以减少并行编程的复杂性。并行程序往往需要利用锁机制实现对临界资源的同步、互斥操作,编程者必须慎重确定加锁的位置,因为保守的加锁策略限制了程序的性能,而精确的加锁策略大大增加了编程的复杂度。一些研究在此方面做了有效的探索。比如,SpeculativeLockElision机制允许在没有冲突的情况下忽略程序执行的锁操作,因而在降低编程复杂度的同时兼顾了并行程序执行的性能。这样的机制使得编程者集中精力考虑程序的正确性问题,而无须过多地考虑程序的执行性能。更激进的,(TCC)机制以多个访存操作(Transaction)为单位考虑数据一致性问题,进一步简化了并行编程的复杂度。主流的商业多核处理器主要针对并行应用,如何利用多核加速串行程序仍然是一个值得关注的问题。其关键技术在于利用软件或硬件自动地从串新程序中派生出能够在多核处理器上并行执行的代码或线程。多核加速串行程序主要有三种方法,包括并行编译器、推测多线程以及基于线程的预取机制等。在传统并行编译中,编译器需要花费很大的精力来保证拟划分线程之间不存在数据依赖关系。编译时存在大量模糊依赖,尤其是在允许使用指针(如C程序)的情况下,编译器不得不采用保守策略来保证程序执行的正确性。这大大限制了串行程序可以挖掘的并发程度,也决定了并行编译器只能在狭窄范围使用。为解决这些问题,人们提出推测多线程以及基于线程的预取机制等。然而,从这种概念提出到现在为止,这个方向的研究大部分局限于学术界,仅有个别商业化处理器应用了这种技术,并且仅仅局限于特殊的应用领域。我们认为动态优化技术和推测多线程(包括基于线程的预取机制)的结合是未来的可能发展趋势。冯·诺依曼体系结构的一维地址空间和多核处理器的多维访存层次的匹配问题。本质上,冯·诺依曼体系结构采用了一维地址空间。由于不均匀的数据访问延迟和同一数据在多个处理器核上的不同拷贝导致了数据一致性问题。该领域的研究分为两大类:一类研究主要是引入新的访存层次。新的访存层次可能采用一维分布式实现方式。典型的例子是增加分布式统一编址的寄存器网络。全局统一编址的特性避免了数据一致性地考虑。同时,相比于传统的大容量cache访问,寄存器又能提供更快的访问速度。TRIPS和RAW都有实现了类似得寄存器网络。另外,新的访存层次也可以是私有的形式。比如每个处理器和都有自己私有的访存空间。其好处是更好的划分了数据存储空间,已洗局部私有数据没有必要考虑数据一致性问题。比如Cell处理器为每个SPE核设置了私有的数据缓冲区。另一类研究主要涉及研制新的cache一致性协议。其重要趋势是放松正确性和性能的关系。比如推测Cache协议在数据一致性未得到确认之前就推测执行相关指令,从而减少了长迟访存操作对流水线的影响。此外,TokenCoherence和TCC也采用了类似的思想。程序的多样性和单一的体系结构的匹配问题。未来的应用展现出多样性的特点。一方面,处理器的评估不仅仅局限于性能,也包括可靠性,安全性等其他指标。另一方面,即便考虑仅仅追求性能的提高,不同的应用程序也蕴含了不同层次的并行性。应用的多样性驱使未来的处理器具有可配置、灵活的体系结构。TRIPS在这方面作了富有成效的探索,比如其处理器核和片上存储系统均有可配置的能力,从而使得TRIPS能够同时挖掘指令级并行性、数据级并行性及指令级并行性。多核和Cell等新型处理结构的出现不仅是处理器架构历史上具有里程碑式的事件,对传统以来的计算模式和计算机体系架构也是一种颠覆2005年,一系列具有深远影响的计算机体系结构被曝光,有可能为未来十年的计算机体系结构奠定根本性的基础,至少为处理器乃至整个计算机体系结构做出了象征性指引。随着计算密度的提高,处理器和计算机性能的衡量标准和方式在发生变化,从应用的角度讲,讲究移动和偏向性能两者已经找到了最令人满意的结合点,并且有可能引爆手持设备的急剧膨胀。尽管现在手持设备也相对普及,在计算能力、可扩展性以及能耗上,完全起到了一台手持设备应该具备的作用;另一方面,讲究性能的服务器端和桌面端,开始考虑减少电力消耗赶上节约型社会的大潮流。Cell本身适应这种变化,同样也是它自己创造了这种变化。因而从它开始就强调了不一样的设计风格,除了能够很好地进行多倍扩展外,处理器内部的SPU(SynergisticProcessorUnit协同处理单元)具有很好的扩展性,因而可以同时面对通用和专用的处理,实现处理资源的灵活重构。也就意味着,通过适当的软件控制,Cell能应付多种类型的处理任务,同时还能够精简设计的复杂。