360 likes | 499 Views
计算机系统结构( 2012 年春) ---- 基本概念: 并行与计算机发展. 山东大学计算机学院 戴鸿君 dahogn@sdu.edu.cn. 并行性 发展及计算机系统的分类. 并行性概念 计算机系统的并行性发展 并行处理系统的结构与多机系统的耦合度 计算机系统的分类. 并行性概念. 只要在同一时刻或是在同一时间间隔内完成两种或两种以上性质相同或不同的工作,它们在时间上能互相重叠。 同时性( Simultaneity ):两个或多个事件在同一时刻发生。 并发性( Concurrency ):两个或多个事件在同一时间间隔内发生。.
E N D
计算机系统结构(2012年春)----基本概念:并行与计算机发展计算机系统结构(2012年春)----基本概念:并行与计算机发展 山东大学计算机学院 戴鸿君 dahogn@sdu.edu.cn
并行性发展及计算机系统的分类 • 并行性概念 • 计算机系统的并行性发展 • 并行处理系统的结构与多机系统的耦合度 • 计算机系统的分类
并行性概念 • 只要在同一时刻或是在同一时间间隔内完成两种或两种以上性质相同或不同的工作,它们在时间上能互相重叠。 • 同时性(Simultaneity):两个或多个事件在同一时刻发生。 • 并发性(Concurrency):两个或多个事件在同一时间间隔内发生。
从计算机系统中执行程序角度来看 并行性等级: • 指令内部 (硬件和组织的设计) • 指令之间(处理好指令间的关联) • 任务或进程之间(任务分解) • 作业或程序之间 (并行算法)
从处理数据的并行性来看 并行性等级: • 位串字串 • 位并字串 • 位片串字并 • 全并行
从信息加工的并行性来看 并行性等级: • 存储器操作并行(并行存储器系统、相联处理机) • 处理器操作步骤并行(流水线处理机) • 处理器操作并行(阵列处理机) • 指令、任务、作业并行 (多处理机)
并行性开发途径 • 时间重叠(Time Interleaving)是在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地实用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 • 举例:流水线 • 分离、细化功能部件→流水线→功能不同的多机系统→异构型多处理机系统
取指 分析 执行 部件 执行 k K+1 K+2 k K+1 K+2 分析 k K+1 K+2 取指 时间 指令流水线举例
并行性开发途径(续) • 资源重复(Resource Replication):是在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能。 • 多操作部件和多体存储器→相联、并行处理机→同构型多处理机系统
资源重复的例子 CU PE(0) PE(N-1) PE(1)
并行性开发途径(续) • 资源共享(Resource Sharing):是利用软件的方法让多个用户按一定时间顺序轮流地使用同一套资源,以提高其利用率,这样也可以提高整个系统的性能。 • 多道程序、分时OS →真正的处理机代替虚拟机→分布处理系统
计算机系统的并行性发展 • 1960年以前 • 算术运算的位运算(EDSAC、EDVAC、UNIVAC1) • 输入输出间操作的并行 • 直接存储器访问(DMA)IBM709系列 • 1960年至1970年 • 流水线单处理机 • 多功能部件流水线 • 高速缓冲存储器Cache
计算机系统的并行性发展(续) • 1970年至1980年 • 多种并行处理系统结构,例:向量、阵列、相联等 • 1980年至1990年 • RISC、多处理机、数据流机、智能机 • 1990年以来 • MPP • Cluster
多机系统的耦合度 • 为了反映多机系统中各级器之间物理连接的紧密程度和交叉作用能力的强弱。 • 最低耦合系统(Least Coupled System):各种脱机系统 • 松散耦和系统(Loosely Coupled System):如果多台计算机通过通道或通信线路实现互连,共享某些磁带、磁盘等外围设备,以较低频带在文件或数据集一级相互作用。间接耦合系统 • 紧密耦合系统(Tightly Coupled System):如果多台机器之间通过总线或高速开关互连,共享主存,并有较高的信息传输速度,可以实现数据集一级、任务级、作业级的并行。直接耦合系统
计算机系统的分类 • 采用的基本器件 • 计算机系统成本 • 1966年Michael J,Flynn • 1978年David J.Kuck:用指令流和执行流(Execution Stream)及其多倍性来描述计算机系统总控制器的结构特征 • 1972年冯泽云:提出用数据处理的并行度来定量地描述各种计算机系统特性 。
按采用的基本器件分类 • 计算机的更新换代 • 第一代 电子管计算机 • 第二代 晶体管计算机 • 第三代 中小规模集成电路 • 第四代 大或超大规模集成电路 • 第五代 VLSI(甚大规模集成电路) • 计算机性能的大幅度提高或更新换代,一方面依靠器件的不断更新,同时也依赖系统结构的不断改进。
五代计算机的特征表 第一代 1945~1954 电子管 继电器 存储程序计算机 程序控制I/O 机器语言 汇编语言 普林斯顿ISA、ENIAC、IBM701 第二代 1955~1964 晶体管、磁芯 印刷电路 浮点数据表示、寻址技术、中断、I/O处理机 高级语言、编译、批处理监控程序 Univac LARC、CDC 1604 IBM 7030 第三代 1965~1973) 多层印刷电路 微程序 流水线、Cache、先行处理、 系列机 多道程序 分时操作系统 IBM 360/370 CDC 6600/7600 DEC PDP-8 第四代 1974~1990 LSI、VLSI 半导体存储器 向量处理 分布式存储器 并行和分布处理 Cray-1、IBM 3090 DEC VAX 9000 Convax-1 第五代 1990~ 高性能微处理器 高密度电路 超标量、超流水、SMP、MP、MPP 大规模、可扩展并行与分布处理 SGI Cray T3E IBM、SP2、DEC AlphaServer 8400
按计算机系统成本分类 • 巨型计算机、超级计算机SuperComputer • 大型计算机MainComputer • 中型机算机MidComputer • 小型计算机MiniComputer • 微型计算机MicroComputer • 工作站介于小型机和微型机之间,具有小型机的性能,微型机的价格。
本人的分类(从应用、成本) • 高性能计算机(MPP、Cluster、SMP) • 服务器 • 工作站 • 台式机 • 便携机 • 手持式终端(PDA、MP3、手机)
Pocket PC Phone PC Wrist PC Wearable computer Tablet PC 无线连接 Desktop PC
Michael J,Flynn分类 • 指令流:是指机器执行的指令序列。 • 数据流:是指指令流调用的数据序列,包括输入数据和中间结果。 • 多倍性:是指在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。
Michael J,Flynn分类 • SISD 单指令流单数据流 • 传统的单处理机属于SISD计算机 • SIMD 单指令流多数据流 • 并行处理机是SIMD计算机的典型代表 • MISD 多指令流单数据流 • 实际上不存在,但也有学者认为存在 • MIMD 多指令流多数据流 • 包括了大多数多处理机及多计算机系统
Michael J,Flynn分类 SM PU1 MM1 DS1 CS PU2 MM2 CU DS2 IS PUn MMm SISD CS DS DSn CU PU MM IS SIMD CU:控制部件,PU:处理机,MM:贮存模块,SM:共享主存 IS:指令流,CS:控制流,DS:数据流
Michael J,Flynn分类 CS1 DS CU1 PU1 SM CS2 CU2 PU2 MM1 MM2 MMm CSn CUn PUn ISn IS1 DS IS2 MISD CU:控制部件,PU:处理机,MM:贮存模块,SM:共享主存 IS:指令流,CS:控制流,DS:数据流
Michael J,Flynn分类 IS1 CS1 DS1 CU1 PU1 MM1 CS2 DS2 CU2 PU2 MM2 IS2 CSn DSn CUn PUn MMm ISn MIMD CU:控制部件,PU:处理机,MM:贮存模块,SM:共享主存 IS:指令流,CS:控制流,DS:数据流
控制器 运算器 ALU 输入设备 输出设备 存储器 Von Neumann结构计算机
Von Neumann机结构的主要特征 • 存储器是顺序线性编址的一维结构 • 按地址访问、单元位数固定、运算速度与访存次数有关 • 指令=操作码+地址码 • 操作数的类型由操作码决定 • 指令在存储器中是按其执行顺序存储 • 存储器内指令和数据同等看待 • 二进制编码、运算 • 以运算器为中心,I/O与存储器之间数据通过运算器,运算器、存储器、I/O设备的操作及之间的联系,由控制器控制
Von Neumann型结构的局限性 • 以数值计算为主,对自然语言、图像、图形和符号处理的能力较差; • 程序算法在整体上位顺序型,限制并行操作发挥; • 软件系统越来越复杂,正确性不能保证,软件生产效率低; • 硬件投资大,可靠性差,体系结构受限制; • 应用人员既懂专业知识,又具备编程技巧;
Von Neumann型结构的缺点 • 存在两个瓶颈 • 物理瓶颈:CPU与存储器之间频繁交换信 • 智能瓶颈:每次只能顺序执行一条指令 • 低级的机器语言与高级语言程序设计之间存在巨大的语义差距 • 复杂的数据结构对象无法直接放到一维线性结构地址空间存储器中,必须经过地址映像
Von Neumann型结构的改进 • 增加了新的数据表示:浮点数、字符串 • 采用虚拟存储器,方便了高级语言编程 • 引入堆栈,支持过程调用、递归机制 • 采用变址寄存器,并增加间接寻址方式 • 增加CPU内的通用寄存器和增设Cache • 采用存储器交叉访问技术,以及无冲突并行存储器 • 采用指令流水技术 • 采用多功能部件 • 采用支持多处理机 • 采用自定义数据表示 • 使程序和数据空间分开
四十年来计算机系统结构的改进 • 串行算法-----〉适应并行算法 • 出现向量计算机、并行计算机、多处理机 • 高级语言与机器语言的语义差距减少 • 出现面向高级语言计算机机器和直接执行高级语言机器 • 硬件系统与操作系统和数据库管理系统软件相适应 • 出现面向操作系统机器和数据库计算机 • 指令驱动型-----〉数据驱动型、需求驱动型 • 出现数据流计算机和规约机
四十年来计算机系统结构的改进 • 出现专用计算机 • 快速傅里叶变换计算机、过程控制计算机 • 提高可靠性 • 出现容错计算机 • 计算机系统功能分散化、专业化 • 出现各种功能分布计算机、外围计算机、通讯处理 • 出现与大规模、超大规模集成电路相适应的计算机系统结构 • 出现非数值化信息的智能计算机,如自然语言、声音、图形和图像处理
工作站 Workstation • 以个人计算环境和分布式网络环境为前提的高性能计算机。 • 70年代末期,美国Xero公司Alto机 • 工作站的特点 • 32位或64位微处理器 • 内存64MB或128MB以上,硬盘容量10GB以上 • 采用开放式OS和良好的人机交互界面例UNIX、Linux、NT • 具有高分辨率显示器,1024*768以上 • 内置网络环境 • 采用国际标准;
联想补天工作站 SGI O2工作站 工作站实例 SGI OCTANE2工作站 Sun Blade™ 2000 工作站 HP Unix 工作站