1.63k likes | 1.84k Views
第一章 基本概念. 计算机科学技术系 2006 年 2 月. 主要内容: 计算机系统的发展历史及趋势 计算机系统的层次结构 计算机系统的设计技术 计算机系统结构的发展 并行性及计算机系统的分类 计算机系统的评价标准. 计算机系统的发展历史及趋势. 发展历程 第一代计算机: 1945-1954 ,首台可实用计算机 ENIAC 特征: 工艺:电子管、继电器、绝缘导线互连。 CPU :单个 CPU 构成,程序计数器、累加器。定点运算。 I/O 控制: CPU 程序控制 I/O 。 软件:采用机器语言和汇编语言。
E N D
第一章 基本概念 计算机科学技术系 2006 年 2 月
主要内容: • 计算机系统的发展历史及趋势 • 计算机系统的层次结构 • 计算机系统的设计技术 • 计算机系统结构的发展 • 并行性及计算机系统的分类 • 计算机系统的评价标准
计算机系统的发展历史及趋势 • 发展历程 • 第一代计算机: • 1945-1954,首台可实用计算机ENIAC • 特征: • 工艺:电子管、继电器、绝缘导线互连。 • CPU:单个CPU构成,程序计数器、累加器。定点运算。 • I/O控制:CPU程序控制I/O。 • 软件:采用机器语言和汇编语言。 • 代表:IBM于1953年制造的IBM701等。
第二代计算机: • 1955-1964 • 特征: • 工艺:晶体管、铁氧体磁芯、印刷电路板互连。 • CPU:变址寄存器、多路存储器。浮点运算。 • I/O控制:I/O处理器 • 软件:已经有了高级语言和编译系统。 • 代表:IBM于1962年研制的IBM7030等。
第三代计算机: • 1965-1974 • 特征: • 工艺:采用小规模或中规模集成电路,多层印刷板。 • CPU:微程序控制、流水线 • 存储访问:CACHE、先行处理 • 软件:多道程序设计、分时操作系统 • 代表:IBM的360-370等。
第四代计算机: • 1974-1991 • 特征: • 工艺:采用LSI和VLSI,半导体存储器。 • CPU:向量并行计算机 • 存储访问:共享存储器、分布存储器 • 软件:多处理机操作系统、专用语言、编译器。并行处理或分布式的软件工具和环境 • 并行时代开始 • 代表:VAX9000、IBM/3090VF,PC等崛起。
第五代计算机: • 1991-目前 • 特征: • 采用VLSI,更加高密度、高速度处理器和存储芯片 • 体系结构:采用可扩展的计算机系统结构 • 大规模并行处理 • 代表:VPP5000、CM5、SGI Origin 2000、SUN 15000,IBM 690,集群/机群,网络计算,银河,神威,曙光等。
总结,计算机换代的标志: • 构成计算机的器件的变革: • 电子管→晶体管→集成电路 • 小规模→中规模→ 大规模→超大规模 • 铁氧体→半导体 • 计算机系统结构的改进: • 寻址方式,存储体系,指令系统,执行方式,I/O控制等等新技术和新概念 • 新系统结构: • 以CPU为中心→以存储为中心 • CPU与IO处理器功能分离 • 多机并行、流水处理
Rank ManufacturerComputer/Procs RmaxRpeak Installation SiteCountry/Year 1 NECEarth-Simulator/ 5120 35860.0040960.00 Earth Simulator CenterJapan/2002 2 Hewlett-PackardASCI Q - AlphaServer SC ES45/1.25 GHz/ 8192 13880.0020480.00 Los Alamos National LaboratoryUSA/2002 3 Linux NetworxMCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304 7634.0011060.00 Lawrence Livermore National LaboratoryUSA/2002 4 IBMASCI White, SP Power3 375 MHz/ 8192 7304.0012288.00 Lawrence Livermore National LaboratoryUSA/2000 5 IBMSP Power3 375 MHz 16 way/ 6656 7304.009984.00 NERSC/LBNLUSA/2002 6 IBMxSeries Cluster Xeon 2.4 GHz - Quadrics/ 1920 6586.009216.00 Lawrence Livermore National LaboratoryUSA/2003 7 FujitsuPRIMEPOWER HPC2500 (1.3 GHz)/ 2304 5406.0011980.00 National Aerospace Laboratory of JapanJapan/2002 8 Hewlett-Packardrx2600 Itanium2 1 GHz Cluster - Quadrics/ 1540 4881.006160.00 Pacific Northwest National LaboratoryUSA/2003 9 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 3016 4463.006032.00 Pittsburgh Supercomputing CenterUSA/2001 10 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 2560 3980.005120.00 Commissariat a l'Energie Atomique (CEA)France/2001 2003年最快计算机系统
Rank SiteCountry/Year Computer / ProcessorsManufacturer RmaxRpeak 1 IBM/DOEUnited States/2004 BlueGene/L beta-SystemBlueGene/L DD2 beta-System (0.7 GHz PowerPC 440) / 32768IBM 7072091750 2 NASA/Ames Research Center/NASUnited States/2004 ColumbiaSGI Altix 1.5 GHz, Voltaire Infiniband / 10160SGI 5187060960 3 The Earth Simulator CenterJapan/2002 Earth-Simulator / 5120NEC 3586040960 4 Barcelona Supercomputer CenterSpain/2004 MareNostrumeServer BladeCenter JS20 (PowerPC970 2.2 GHz), Myrinet / 3564IBM 2053031363 5 Lawrence Livermore National LaboratoryUnited States/2004 ThunderIntel Itanium2 Tiger4 1.4GHz - Quadrics / 4096California Digital Corporation 1994022938 6 Los Alamos National LaboratoryUnited States/2002 ASCI QASCI Q - AlphaServer SC45, 1.25 GHz / 8192HP 1388020480 7 Virginia TechUnited States/2004 System X1100 Dual 2.3 GHz Apple XServe/Mellanox Infiniband 4X/Cisco GigE / 2200Self-made 1225020240 8 IBM - RochesterUnited States/2004 BlueGene/L DD1 Prototype (0.5GHz PowerPC 440 w/Custom) / 8192IBM/ LLNL 1168016384 9 Naval Oceanographic Office (NAVOCEANO)United States/2004 eServer pSeries 655 (1.7 GHz Power4+) / 2944IBM 1031020019.2 10 NCSAUnited States/2003 TungstenPowerEdge 1750, P4 Xeon 3.06 GHz, Myrinet / 2500Dell 981915300
国内 • 曙光:曙光4000 • 银河 • 神威 • 联想:联想6800 • 浪潮:天梭TS20000,TS10000
主要内容: • 计算机系统的发展历史及趋势 • 计算机系统的层次结构 • 计算机系统的设计技术 • 计算机系统结构的发展 • 并行性及计算机系统的分类 • 计算机系统的评价标准
计算机系统的层次结构 • 虚拟机概念 • 层次结构 • 透明性概念 • 计算机系统结构的定义 • 计算机组成 • 计算机实现技术
虚拟机概念 • 虚拟计算机: • 从不同角度所看到的计算机系统属性是不同的 • 主要观察者包括: • 应用程序员 • 高级语言程序员 • 汇编语言程序员 • 系统管理员 • 硬件设计人员 • 对计算机系统的认识是需要在某一个层次上
虚拟计算机 广义语言 观察者 控制信息 解释器 作用对象 状态信息 机器的作用和组成 计算机系统结构 指令系统 汇编程序设计者 控制信息 中央控制器 运算器,存储器,IO 状态信息 虚拟机(Virtual Machine):由软件实现的计算机称为虚拟机,在软件级看计算机。 虚拟计算机系统:每一层的一个抽象
层次结构 概念: 是指不同的使用者(用户、程序员、硬件设计者)所看到的计算机纵向视图。包括其展示的功能、属性以及给上层所提供的各种接口等。 计算机: 计算机是由硬件和软件组成的综合体,它不是在同一个层次中完成和实现的,而是由多个不同层次的软硬件完成实现的;
层次结构 (续) • 分层的好处: • 有利于明确计算机各部分的地位和作用; • 有利于采用系统的方法,研究系统的整体性能及最佳组合; • 有利于提高可靠性和开放性 • 从以上分析可以得出:广义的计算机系统的结构只是(相对于不同的使用者)完整的计算机层次结构中的一个层次。
层次结构 (续) • 共分为7个层次: • 其中系统结构研究的是第1、2级和第3层及其之间硬件和软件接口、组织和技术(物理机)
透明性概念 透明性(Transparency) 定义:本来存在的事物或属性,从某种角度看似乎 不存在 • 较底层的机器级概念性结构和功能特性,对高级语言程序员是透明的。 • 在层次结构的各个级别上都有他的系统结构,底层机器级的概念性结构和功能特性,对高级语言程序员是透明的
透明性概念(续) • 例如:CPU类型、型号、主存储器容量等 • 对应用程序员透明 • 对系统程序员、硬件设计人员等 不透明 • 例如:浮点数表示、乘法指令 • 对高级语言程序员、应用程序员 透明 • 对汇编语言程序员、机器语言程序员不透明 • 例如:数据总线宽度、微程序 • 对汇编语言程序员、机器语言程序员透明 • 对硬件设计人员、计算机维修人员不透明
计算机系统结构的定义 Amdahl于1964年在推出IBM360系列计算机时提出(定义1): 程序员所看到的计算机系统的属性,即概念性结构和功能特性。 “Computer architecture is the computer as seen by the user” 程序员:汇编语言、机器语言(编译程序、 操作系统)。 看到的:编写出能在机器上正确运行的程序 所必须了解到的。
概念性结构——指令系统及其执行模式 数据表示: 硬件能够直接认别和处理的数据类型; 寻址方式: 寻址单位、寻址方式的种类和地址运算等; 寄存器组织:操作数寄存器、变址寄存器、控制寄存 器及专用寄存器的定义、数量和使用规则等; 指令系统: 操作类型、格式,指令间的排序控制等; 中断系统: 中断类型、中断级别和中断响应方式等; 存储系统: 编址单位、编址方式、最大寻址空间等; 处理机工作状态:定义和切换方式,如管态和用户态; 输入输出系统:数据交换方式、交换过程的控制等; 信息保护: 信息保护方式和硬件对信息保护的支持等
计算机系统结构的定义 IBM360/370结构设计师Andris Padges认为(定义2): 计算机系统结构是研究计算机软硬件功能的分配或对计算机软硬件系统的界面(的确定)。 “The architecture of a computer is the interface between the machine and the software”。
计算机系统结构的定义 • 计算机系统由软件、硬件和固件组成,它们在功能上是同等的。 • 同一种功能可以用硬件实现,也可以用软件或固件实现。 • 不同的组成只是性能和价格不同, 他们的系统结构是相同的。 • 系列计算机概念:相同系统结构,不同组成和实现的一系列计算机系统 (兼容机?)
计算机组成 1.课程名称 Computer Organization 计算机组成,计算机组织,计算机原理,计算机组成原理 2.研究方法 从内部研究计算机系统 计算机组成是指计算机系统结构的逻辑实现
计算机组成 3.主要研究内容 • 确定数据通路的宽度 • 确定各种操作对功能部件的共享程度 • 确定专用的功能部件 • 确定功能部件的并行度 • 设计缓冲和排队策略 • 设计控制机构 • 确定采用何种可靠性技术
计算机实现技术 计算机实现是指计算机组成的物理实现, 主要包括: • 处理机、主存储器等部件的物理结构; • 器件的集成度和速度; • 专用器件的设计; • 器件、模块、插件、底版的划分与连接; • 信号传输技术; • 电源、冷却及装配技术,制造工艺及技术等。
结构 组成 实现 结构、组成和实现的关系 • 同一系统结构的计算机,可用不同的方式组成(系列机、兼容机); • 计算机组成的设计,其上决定于系统结构,其下又受限于所采用的实现技术; • 计算机实现,特别是器件技术的发展是计算机系统结构和组成的基础; • 随着技术、器件和应用的发展,三者之间的界限越来越模糊。
结构、组成和实现的关系 • 计算机系统结构是对计算机组成的需求分析和功能目标确定,是计算机系统软、硬件的界面分配,是功能级设计; • 计算机组成是计算机系统结构的逻辑设计和实现; • 计算机实现是计算机组成的物理工艺实现; • 在不同产品和系列中,系统结构、组成和实现三者之间没有明确界定; • 一种系统结构可有多种组成,一种组成可有多种实现如,系列机,兼容机等。
主要内容: • 计算机系统的发展历史及趋势 • 计算机系统的层次结构 • 计算机系统的设计技术 • 计算机系统结构的发展 • 并行性及计算机系统的分类 • 计算机系统的评价标准
计算机系统的设计技术 • 计算机系统的设计原则 定性原则、定量原则 • 软硬件取舍 主要从性能和价格两方面考虑 • 软件兼容性设计方法 系列机、仿真、统一高级语言、… • 计算机系统设计方法 由上向下、由下向上、中间开始
计算机系统的设计原则 • 计算机系统设计的定性原则 • 大概率事件优先原则:对大概率事件赋予它优先的处理权和资源使用权,以获得全局的最优结果。 • 软、硬件取舍原则: • 现有软硬件条件下,要使系统可以获得高的系统性能/价格 • 尽量不限制计算机组成和实现技术 • 为编译和操作系统的实现提供好的支持 • 兼容性、可靠性等
2、计算机系统设计的定量原则 必须有可供系统结构设计者可以从理论 和技术上定量分析和设计的原理 (1) 加快经常性事件的处理速度 (2) 程序访问局部性原理
(1)加快经常性事件的处理速度 • 这是软、硬件设计中最重要、最广泛采用的设计准则。 • 原因:经常性事件的快速处理可以明显地提高整个系统的性能。因此,对经常性事件需要优化处理。如:cache, 硬件化,固件化,RISC等。 • 关键: • 如何确定经常性事件? (分析或执行应用程序统计) • 如何加快这种事件的处理? (方案设计与选择) • 会得到什么样的性能改进? (分析评价) 评价 优化设计 具体方法可从Amdahl定律得到。
利用好这个特点 (2)程序访问局部性原理 程序访问局部性原理: 程序往往重复使用它刚刚使用过或邻近的数据和指令。 1. 时间局部性: 近期被访问的代码和数据,很可能不久又将再次被访问。 2. 空间局部性 : 是指地址上相邻近的代码和数据可能会被连续一起的访问。 原因: 程序的顺序指令和程序的循环、数据块操作等。 例如,存储器体系的构成就是以访问的局部性原理为基础的。