1、计算机系统结构 (第2版),清华大学计算机系列教材 郑纬民 汤志忠 编著,课程介绍,1. 课程名称Computer Architecture计算机系统结构 计算机体系结构建筑物的设计或式样, 通常指一个系统的外貌 2. 研究内容从外部来研究计算机系统使用者所看到的物理计算机的抽象编写出能够在机器上正确运行的程序所必须了解到的计算机属性,3. 学习目的 建立计算机系统的完整概念 学习计算机系统的分析方法和设计方法 了解计算机系统的最新研究成果 4. 学科方向 一级学科 1 个:计算机科学与技术 二级学科 3 个:计算机系统结构、计算机软件及理论、计算机应用技术 全国重点学科:计算机系统结构、计算
2、机应用技术,5. 与其他学科的交叉 学科交叉:计算机组成、操作系统、汇编语言、数据结构、微计算机技术、计算机网络、 新内容:超标量处理机、超流水线处理机、VLIW处理机、向量处理机、并行处理机、多处理机、互连网络、 计算机系统结构正处于变革时期软件-系统结构-实现技术, 两头发展快中间慢非冯计算机正兴起系统结构的发展时期已经到来,6. 课程安排 课内:64学时, 实验:16学时, 课内外比例:课内1:课外1 除完成作业之外,还要多看参考书多看好论文(被 SCI、EI 收录),了解国内外最新研究成果 7. 教材和参考书 教材:清华大学计算机系列教材:计算机系统结构(第二版) ,清华大学出版社,参
3、考书: (1)David A. Patterson and John L. Hennessy, Computer Architecture: A Quantitative Approach 3 Ed. San Francisco: Morgan Kaufmann Publishers中文:计算机系统结构:一种定量的方法(第二版,第三版即将出版),清华大学出版社 (2)Kai Hwang,Advanced Computer Acrchitecture Parallelism Scalability Programmability中文:高等计算机系统结构:并行性 可扩展性 可编程性,清华大学出版社
4、、广西科学技术出版社,1.1 计算机系统结构简介 1.2 计算机系统的评价标准 1.3 计算机系统的设计技术 1.4 计算机系统结构的发展 1.5 计算机系统的分类,第1章 基本概念,1.1 计算机系统结构简介,1.1.1 为什么要研究系统结构 1.1.2 如何认识计算机系统 1.1.3 计算机系统结构的定义 1.1.4 计算机组成技术 1.1.5 计算机实现技术,1.1.1 为什么要研究系统结构,1. 提高处理机运算速度:MIPSFz IPC其中: Fz为处理机的工作主频IPC(Instruction Per Cycle)为每个时钟周期平均执行的指令条数 提高IPC:依靠先进系统结构过去,几
5、个或几十个周期完成一条指令现在,一个周期完成几条指令 提高Fz:缩短门电路延迟,依靠技术进步流水线技术等,依靠先进系统结构从指令串行执行,到P4的20级流水线,2. 计算机性能提高的几个阶段 20世纪70年代末之前,大型机和小型机计算机性能每年提高25%30%。 20世纪80年代初,出现微处理机,依靠集成电路技术,性能每年提高35% 20世纪80年中期,出现RISC技术、高级语言和操作系统等,性能每年提高50% 1995年,先进系统结构对微处理器性能的贡献是单纯技术进步的5倍。 3. 近几年及将来,计算机性能按摩尔定理发展。 4. 计算机系统的设计者们要不断创新。,1.1.2 如何认识计算机系
6、统,1. 虚拟计算机 定义:从不同角度所看到的计算机系统的属性是不同的。 主要观察角度包括:应用程序员系统程序员硬件设计人员 对计算机系统的认识通常只需要在某一个层次上,虚拟计算机系统,2. 计算机系统的层次结构 计算机系统可分为7个层次 第3级至第6级由软件实现,称为虚拟机 从学科领域来划分:第0级和第1级属于计算机组成原理第2级属于计算机系统结构第3至第5级属于系统软件第6级属于应用软件 它们之间有交叉例如:第3级必须依赖第4级和第5级来实现,计算机系统的层次结构,3. 透明性概念 定义:本来存在的事物或属性,从某种角度看似乎不存在 例如:CPU类型、型号、主存储器容量等对应用程序员 透明
7、对系统程序员、硬件设计人员等 不透明 例如:浮点数表示、乘法指令对高级语言程序员、应用程序员 透明对汇编语言程序员、机器语言程序员 不透明 例如:数据总线宽度、微程序对汇编语言程序员、机器语言程序员 透明对硬件设计人员、计算机维修人员 不透明,1.1.3 计算机系统结构的定义,计算机系统结构定义一Amdahl于1964年在推出IBM360系列计算机时提出: 程序员所看到的计算机系统的属性, 即概念性结构和功能特性 程序员:系统程序员(包括:汇编语言、机器语言、编译程序、操作系统) 看到的:编写出能在机器上正确运行的程序所必须了解到的,概念性结构 IBM360系列计算机的概念性结构,数据表示:硬
8、件能够直接认别和处理的数据类型;寻址技术:编址方式、寻址方式和定位方式等;寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等;指令系统:操作类型、格式,指令间的排序控制等;中断系统:中断类型、中断级别和中断响应方式等;存储系统:寻址空间、虚拟存储器、Cache存储器等;处理机工作状态:定义和切换方式,如管态和目态等;输入输出系统:数据交换方式、交换过程的控制等;信息保护:信息保护方式和硬件对信息保护的支持等。,功能特性 指令系统及其执行模式,2. 计算机系统结构定义二研究软硬件功能分配和对软硬件界面的确定 计算机系统由软件、硬件和固件组成,它们在功能上是同等的
9、。 同一种功能可以用硬件实现,也可以用软件或固件实现。 不同的组成只是性能和价格不同, 他们的系统结构是相同的。 系列计算机概念:相同系统结构,不同组成和实现的一系列计算机系统。,1.1.4 计算机组成技术,1.课程名称Computer Organization计算机组成,计算机组织,计算机原理,计算机组成原理 2.研究方法从内部研究计算机系统计算机组成是指计算机系统结构的逻辑实现。,3.主要研究内容确定数据通路的宽度;确定各种操作对功能部件的共享程度;确定专用的功能部件;确定功能部件的并行度;设计缓冲和排队策略;设计控制机构;确定采用何种可靠性技术。,1.1.5 计算机实现技术,计算机实现是
10、指计算机组成的物理实现主要包括:处理机、主存储器等部件的物理结构;器件的集成度和速度;专用器件的设计;器件、模块、插件、底版的划分与连接;信号传输技术;电源、冷却及装配技术,制造工艺及技术等。 随着技术、器件和应用的发展,三者之间的界限越来越模糊。,1.2.1 运算速度 1.2.2 存储器系统 1.2.3 其他性能 1.2.4 价格标准,1.2 计算机系统的评价标准,1.2.1 运算速度,运算速度是表示处理机性能的主要指标。有多种表示处理机运算速度的方法。哪一种表示方法合理? 1. 时钟频率(处理机主频)只能用于同一公司、同一类型、同一配置的处理机如:Pentium4 2.0G比Pentium
11、4 1.6G快25%?Pentium4 2.4G比Pentium4 1.6G快50%?只表示CPU的指令处理能力实际运算速度还与Cache、内存、I/O、被执行程序等均有关。,2.指令执行速度一种经典的表示运算速度的方法MIPS(Million Instructions Per Second), GIPS, TIPS 其中: Fz为处理机的工作主频CPI(Cycles Per Instruction)为每条指令所需的平均时钟周期数IPC(Instruction Per Cycle)为每个时钟周期平均执行的指令条数 例1:计算 PentiumIV 2GHz 处理机的指令执行速度。,解:由于 Pe
12、ntiumIV 2GHz 处理机的IPC4(或CPI0.25),Fz2000MHz因此,MIPSPentiumIV2GFzIPC200048000MIPS8GIPS即每秒钟80亿次(平均每秒钟执行80亿条指令)主要优点:直观、方便。目前还经常使用主要缺点:(1) 不同指令的执行速度差别很大(2) 指令使用频度差别很大(3) 有相当多的非功能性指令,3. 等效指令速度:吉普森(Gibson)法:加减法50,乘法15,除法5,程序控制15,其他15静态指令使用频度:在程序中直接统计动态指令使用频度:在程序执行过程中统计,例2:我国早期研制的一种小型计算机DJS-130定点16位,加法指令每秒50万
13、次,但没有硬件乘除法指令。用软件实现乘除法,速度低100倍左右。求等效指令速度。 解:等效指令速度为:,即每秒2万次,由于用软件实现乘除法,等效指令速度降低了25倍。,例3:假设在一般程序中浮点开平方操作FPSQR所占的比例为2,它的CPI为100;其他浮点操作FP所占的比例为23,它的CPI4.0;其余75指令的CPI1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。 解:,等效CPI110024231.33753.92 等效CPI24251.33752.00,改进了在用户程序中仅占2的开平方操作,整个机器的等效运算速度提高了近一倍。,4. 指令执
14、行速度的 4 种平均方法算术平均:调和平均(用速率来度量):加权平均 加权算术平均: 加权调和平均:,几何平均:其中:n 指不同的程序,ETR(execution time ratio) i是第i个程序相对于参考机器正交化后的执行时间几何平均速度与所参考的机器无关,有如下性质:几何平均值的比率等于比率的几何平均值,运行程序P1时,A的速度是B的10倍; 运行程序P2时,B的速度是A的10倍; 运行程序P1时,A的速度是C的20倍; 运行程序P2时,C的速度是A的50倍; 运行程序P1时,B的速度是C的2倍; 运行程序P2时,C的速度是B的5倍。,算术平均:程序P1和P2各执行1次,B的速度是A
15、的9.1倍;程序P1和P2各执行1次,C的速度是A的25倍;程序P1和P2各执行1次,C的速度是B的2.75倍。结论:执行程序P1和P2相同次数,机器A最慢,机器C最快算术平均速度:三台机器的速度之比为:A:B:C = 1:9.1:25,加权算术平均加权算术平均W1三台机器的速度:A B C加权算术平均W2三台机器的速度:A C B加权算术平均W3三台机器的速度:C B A,几何平均几何平均值与所参考的机器无关,机器A与机器B的性能相同,机器C的执行时间是机器A或机器B 的0.63倍。执行程序P1和P2的总时间,机器A几乎是机器B的10倍。,5. 核心程序法把应用程序中使用最频繁的那部分程序作
16、为评价计算机性能的标准程序。称为基准测试程序(benchmark) 整数测试程序:Dhrystone用C语言编写,100条语句。包括:各种赋值语句,数据类型和数据区,控制语句,过程调用和参数传送,整数运算和逻辑操作等。VAX-11/780的测试结果为每秒1757个Dhrystones,即:1VAX MIPS1757 DhrystonesSecond 浮点测试程序:Linpack用FORTRAN编写,主要是浮点加法和浮点乘法操作用 MFLOPS(Million Floating Point Operations Per Second)表示,GFLOPS、TFLOPS, SPEC基准程序 Syst
17、em Performance Evaluation Cooperative由30个左右世界知名计算机大厂商所支持的非盈利性国际合作组织,包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;1989年10月宣布SPEC1.0,程序量超过15万行,包含4个定点程序和6个浮点程序, 测试结果用SPECint89和SPECfp89表示。1992年增加到有6个定点程序和14个浮点程序,测试结果用SPECint92和SPECfp92表示。1995年推出SPECint95和SPECfp95SPEC
18、2000,12个定点程序、14个浮点程序, SPEC基准测试程序举例处理机 SPECint95 SPECfp95 PentiumII 450 18.5 13.3PentiumIII 450 18.7 13.7PentiumIII 500 20.6 14.7PientiumIII 550 22.3 15.6Celeron 300A 12.0 9.66Celeron 333 13.1 10.20Celeron 366 14.1 10.70Celeron 400 15.1 11.20Celeron 433 16.1 11.60Celeron 466 17.0 12.00,Pentium4性能评测数据
19、 (数据全部来源于Intel网站),6. 峰值速度蜂值指令速度:MIPS、GIPS、TIPS浮点蜂值速度:MFLOPS、GFLOPS、TFLOPS 例5:一个由36台计算机组成的Cluster系统,每台计算机内部由4个PentiumIII 700,计算这个Cluster系统的指令峰值速度。 解:PentiumIII 700MHz,有3条指令流水线,峰值指令速度为:700 3 2100MIPSCluster的峰值指令速度700 36 302 400MIPS即每秒千亿次,1.2.2 存储系统,1.存储层次第1层:Register Files(寄存器堆) 第2层:Lookahead(先行缓冲站)第3
20、层:Cache(高速缓冲存储器)第4层:Main Memory(主存储器)第5层:Online Storage(联机存储器)第6层:Off-line Storage(脱机存储器) 第13层在CPU芯片内部,第4层在主板上,第5层在机箱内(硬盘),第6层依靠手工加载(VCD/DVD/磁带/刻录机等),2. 寻址空间程序员可以使用的存储器容量,即每个程序的大小通常有216、224、232、264、Pentium处理机的寻址空间为4GB与实际配置的存储器容量无关 3. 存储容量实际物理存储器的大小通常用KB、MB、GB等表示建议配置:主存:128MB512MB硬盘:40GB137GB,4. 主存储器
21、的种类SDRAM (Synchronous Dynamic Random Access Memory)RDRAM (RAMBUS DRAM) DDR (Dual Date Rate DRAM) 5. 速度 主存度与CPU系统总线速度相匹配P4系统总线速度400MHz(3200MB/S)或533DDR: 64bits333MHz/8=2700MB/S RDRAM: 16bits800MHz/82=3200MB/S 6. 存储系统采用软件和硬件相结合的方法,获得速度高、容量大、价格便宜的存储器,1.2.3 其他性能,1. 字长 1几百位,16位、32位、64位 由数据字长决定,8的倍数,32位、6
22、4位等 可变字长:任意组合 2. 数据表示 定点、浮点、逻辑、向量、串、栈、树、 发展方向之一:自定义数据表示 4. 指令系统 CISC(Complex Instruction Set Computer)复杂指令集计算机 RISC(Reduced Instruction Set Computer)精简指令集计算机 VLIW(Very Long Instruction Word) 超长指令字,4. 输入输出系统 输入输出系统的组织方式 中断系统 通道处理机 输入输出处理机 5. 保护和诊断能力 程序与数据的保护 诊断能力:检错, 纠错, 冗余, 自诊断能力 可靠性:RAS技术,可靠性R,可用性A
23、,可维护性S,1.2.4 价格标准,1价格与性能的关系: 摩尔定理:速度每10年左右提高100倍,但价格基本维持不变 用当前同样的价格,在5年之后能买到性能高出10倍的计算机 2硬件与软件的价格比例: 硬件在整个计算机系统价格中所占的比例在下降,软件所占的比例在上升 目前软件价格已经超过硬件价格,软件所占的成本越来越高,1.3 计算机系统的设计技术,1.3.1 计算机设计者的任务 1.3.2 软硬件取舍 1.3.3 软件兼容性 1.3.4 计算机系统设计方法,1.3.1 计算机设计者的任务,系统结构设计:包括指令集、存储系统、总线结构、处理器设计等,是软硬件的分界面 硬件实现技术:相当重要,不
24、同指令集对系统性能的影响在缩小 应用或市场需求 性能优化:可靠性、容错性、价格与性能 实现的复杂性:硬件实现方案、软件复杂性、投放市场时间 性能价格比:必须考虑实现的成本,包括软件成本,1.3.2 软硬件取舍,1. 软硬件的关系 理论上:有两种极端实现方法:全硬件机器:操作系统、高级语言、应用等硬件只有1位加法和分支操作,其他都用软件 关键问题:性能与价格的关系 软件与硬件实现的特点硬件实现:速度快、成本高;灵活性差、占用内存少软件实现:速度低、复制费用低;灵活性好、占用内存多,硬件实现的比例越来越高,2. 从价格因素考虑的软硬件取舍假设:硬件设计费为Dh、软件设计费为Ds、硬件拷贝费为Ch、
25、软件拷贝费为Cs,R为软件重复出现次数(占用内存、占用介质),当台数为V时,每台的硬件费用和软件费用之比为:由于:Dh Ds,Ch Cs,当R很大时,经常使用的基本功能适宜用硬件实现由于:Ds Cs,当V很大时,生产台数很多时适宜用硬件实现,3. 从改进性能考虑的软硬件取舍 基本方法:加快经常性事件的执行速度 Amdahl定律:系统中某一部件由于采用更快的执行方式后,整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 在Amdahl定律中,加速比与两个因素有关:,改进后整个任务的执行时间为:其中:0为改进前的整个任务的执行时间。改进后整个系统的加速比达到:其中:Fe表示可改进
26、部分所占的百分比,(1-Fe)表示不可改进部分所占的百分比,Se表示改进后,可改进部分的加速比。,例5:某部件的处理时间仅为整个运行时间的40%,如果将该部件的处理速度加快到10倍,则采用加快措施后能使整个系统的性能提高多少? 解:由题意可知:Fe=0.4, Se=10,根据Amdahl定律,加速比为:,4. 改进性能的主要途径(1) 面向目标代码改进方法:用一条指令代替一串指令根据计算结果改进:例如,增加硬件乘法和硬件除法指令能够,使等效指令速度提高25倍,据统计数据改进指令功能:如数据传送指令、快速保存与恢复现场指令等增加运算型指令的功能:如函数运算指令等,(2) 面向高级语言和编译程序改
27、进:方法:增强对高级语言和编译程序支持的指令的功能例如:在do循环中,循环体只有一二条的占60%左右,增加循环控制指令。 例如:条件码对高级语言几乎无用,在并行计算机中已经取消条件码。,Im2,(3) 面向操作系统改进:系统结构设计要规整,消除例外情况。寄存器定义要统一(如 A 寄存器等) 操作要均匀(如 A-B 与 B-A)所有的存储部件都要对称进程的管理和切换存储管理和信息保护进程的同步与互斥,信号灯管理处理机工作状态和访问方式的转换这类指令的使用频度往往很低,但必须设置,1.3.3 软件兼容性设计方法,原因:软件相对于硬件的成本越来越贵,已积累了大量成熟的系统软件和应用软件。 1. 兼容
28、种类(1)向后兼容:在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上。(2)向前兼容:(3)向上兼容:在低档机器上运行的目标软件能够直接运行于高档机器上。(4)向下兼容:向后兼容必须做到,向上兼容尽量做到向前兼容和向下兼容,可以不考虑,方法一:系列机方法系列机定义:具有相同的系统结构,但组成和实现技术不同的一系列计算机系统实现方法:在系统结构基本不变的基础上,根据不同的性能和不同的器件,研制出多种性能和价格不同的计算机系统。一种系统结构可以有多种组成,一种组成也可以有多种物理实现如IBM370系列机: 115,125,135,145,158,168等,相同的指令系统,采用顺序
29、执行、重迭、流水和并行处理方式 相同的32位字长,数据通路宽度为8位、16位、32位、64位。 如PC系列机有:不同主频:4.7MHz,500MHz,1GHz,2.4GHz, 3GHz, 不同扩展:Pentium、Pentium Pro、Pentium MMX、Pentium SSE、Pentium SSE2不同Cache:Pentium、Celeron、Xeon不同字长:8位、16位、32位、64位,采用系列机方法的主要优点:(1) 系列机之间软件兼容,可移植性好(2) 插件、接口等相互兼容(3) 便于实现机间通信(4) 便于维修、培训(5) 有利于提高产量、降低成本采用系列机方法的主要缺点
30、:限制了计算机系统结构的发展如PC系列机,其系统结构非常落后,使用也最普及,方法二:模拟与仿真 Simulation Emulation 定义:在一台现有的计算机上实现另一台计算机的指令系统。全部用软件实现的叫模拟,用软件、硬件、固件混合实现的叫仿真 模拟的实现方法在A计算机上通过解释或编译实现B计算机的指令系统。A机器称为宿主机,B机器称为虚拟机。 仿真的实现方法直接用A机器的一段微程序解释执行B机器的指令。A机器称为宿主机,B机称为目标机。,优缺点比较模拟方法速度低,仿真方法速度高仿真需要较多的硬件(包括控制存储器)系统结构差别大的机器难于用仿真方法实现除了指令系统之外,还有存储系统、I/
31、O系统、中断系统、控制台的操作等 模拟方法用于计算机系统的设计过程在一台已有的机器上用模拟方法实现正在设计中的机器的指令系统等。具体过程如下: 设计方案模拟性能评价修改设计投产,方法三:统一高级语言实现方法:采用同一种不依赖于任何具体机器的高级语言编写系统软件和应用软件。困难:至今还没有这样一种高级语言,短期内很难实现。C、Ada、Java、三种方法比较:采用统一高级语言最好,是努力的目标系列机是暂时性方法,也是目前最好的方法仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容,1/101/2的芯片面积用于仿真,方法四:目标代码的并行编译技术一个新的研究课题一种机器的目标代码重新编译到另
32、一种机器的并行目标代码两种方法:(1) 动态代码转换例1:IBM公司研制 DAISY(Dynamically Architected Instruction Set from Yorktown) 处理机例2:Transmeta公司研制Crusoe处理机已经大量应用于笔记本计算机,其功耗很低。(2) 静态重编译:正在研究过程中,难度很大,动态代码转换技术,采用动态二进制转换技术实现与X86等处理机兼容,把X86等通用处理机的程序直接映射到VLIW处理机中执行。 IBM公司推出了开放源代码DAISY,它不仅可以实现IBM的VLIW处理器与X86处理机之间的二进制兼容,还可以实现PowerPC、S/
33、390、IBM的Java虚拟机与VLIW处理器之间的二进制兼容 Transmeta公司推出了“Code Morphing Software”,这种软件可以保证Transmeta公司的VLIW处理机Crusoe能够与X86处理机之间实现二进制代码兼容,1.3.4 计算机系统设计过程,方法1:由上向下(Top-Down) 设计过程:由上向下面向应用的数学模型面向应用的高级语言面向这种应用的操作系统面向操作系统和高级语言的机器语言面向机器语言的微指令系统和硬件实现 应用场合:专用计算机的设计 特点:对于所面向的应用领域,性能和性能价格比很高。随着通用计算机价格降低,目前已经很少采用,方法2:由下向上
34、(Bottom-Up) 设计过程:根据当时的器件水平,设计微程序机器级和传统机器级根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等最后设计面向应用的用户级 应用场合:通用计算机的一种设计方法,在计算机早期设计中(6070年代)广为采用 特点:容易使软件和硬件脱节,整个计算机系统的效率降低。,方法3:中间开始(Middle-Out)用于系列计算机的设计过程中,方法3:中间开始(Middle-Out) 设计过程:首先定义软硬件的分界面(指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等)然后各个层次分别进行设计(软件设计人员设计操作系统、高级语言、汇编语言、
35、应用程序等,硬件设计人员设计传统机器、微程序、硬联逻辑等)应用场合:用于系列机的设计特点:软硬件人员结合、同时设计,软硬件功能分配合理。,1.4 计算机系统的发展,1.4.1 冯诺依曼结构 1.4.2 器件发展的影响 1.4.3 应用发展的影响 1.4.4 改进算法的影响,1.4.1 冯诺依曼结构,Van Nenmann基本思想于1936年1946年期间形成,由冯诺依曼等人于1946年提出,1. 特点: 存储程序、运算器为中心、集中控制 存储器是字长固定的、顺序线性编址的一维结构,每个地址是唯一定义的。4096个字、40位。 由指令形式的低级机器语言驱动。 指令顺序执行,即一般按照指令在存储器
36、中存放的顺序执行,程序分支由转移指令实现。 运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。 运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。,2. 现代处理机对冯诺依曼结构的改进不变的:存储程序改变的:存储器为中心, 总线结构, 分散控制 从基于串行算法变为适应并行算法,出现了向量计算机,并行计算机、多处理机等 流水线处理机,超标量处理机,超流水线处理机,超标量超流水线处理机 数据库计算机和知识库计算机 专用计算机,如FFT变换机、过程控制计算机 为获得高可靠性而研制容错计算机 功能分散化、专业化,出现了各种分布计算机、外围处理机、通信处理机等,存储器为
37、中心、分散控制,总线结构,分散控制 总线: 连接计算机各功能部件的连线和管理信息传输规则的逻辑电路称为总线。 特点:在任何时刻,只能有一个部件向总线上发送信息,可以有多个部件同时接收信息。 组成: 数据总线、地址总线、控制总线。单总线结构,CPU,主存,输入 设备,输出 设备,总线,双总线结构,CPU,主存,扩展总线 控制线路,I/O设备,I/O设备,处理机总线,32MHz,32或64位,ISA / EISA,8.33MHz 8、16、32位,. . . . .,三总线结构,CPU,主存,PCI桥,I/O设备,I/O设备,处理机总线,100MHz,32或64位,ISA / EISA,8.33M
38、Hz 8、16、32位,. . . . .,PCI BUS,33MHz 4B,扩展总线 控制线路,I/O设备,I/O设备,接快速设备,接慢速设备,3. 非冯计算机的发展 什么是非冯计算机?非指令驱动, 从传统的指令驱动型改变为数据驱动型,出现了数据流机计算机。 从传统的指令驱动型改变为需求驱动型,出现各种图归约计算机。 处理非数值化信息的智能计算机,自然语言、声音、图形和图象处理,虚拟现实处理等 第五代计算机,由推理机和知识库机等组成。历经10年,召开过多次专题国际会议。 神经网络计算机,仿生计算机,,1.4.2 器件发展的影响,1. 第1代至第4代计算机以器件来划分第一代:电子管(Valve
39、)第二代:晶体管(Transistor)第三代:集成电路(LSI)第四代:大规模集成电路(VLSI)第五代:智能计算机? 第五代计算机以什么作为标志来划分? 第五代计算机什么时候诞生?,2. 器件发展的特点 (1) 集成度迅速提高目前水平:每个芯片有1010个晶体管单芯片内可以做大于1Gb存储器,单芯片内可以集成2个CPU全部Cache每45年提高一个数量级还远没有达到集成度的极限问题?如何利用器件集成度的提高,不断改进计算机系统的性能:例如,有更多指令并行执行,采用更深的流水线,集成更多的Cache等,(2) 提高速度空间不大目前CPU主频已经到达6GHz,时钟周期0. 16ns,门延迟小于
40、0.01ns极限速度30万公里/秒/21.5mm/0.01ns信号在导体中传递速度小于光速的50。Pentium芯片面积500mm2,即23mm 23mm器件速度提高的余地已经很小,将来提高处理机速度更多依靠系统结构的发展可从系统结构的两个方面提高处理机速度:提高IPC,从目前的2左右提高到8以上,采用更深度的流水线和并行处理技术,(3) 价格直线下降CPU芯片的价格每年要下降80% (4) 可靠性越来越高芯片可靠性达到108小时,连续使用1万年以上,3. 器件种类通用片:逻辑关系确定大批量生产,如:CPU、存储器、寄存器现场片:可以一次或多次改写逻辑关系如:PLD、PAL、PROM、EPRO
41、M、FPGA用户片:各种专用芯片需要单独设计和生产。半用户片:门阵列片等标准的门电路,前几到工序已经完成;根据用户需要确定最终连线。,4. 器件发展对计算机组成技术的影响器件速度与处理机工作主频1955年第一台大型机 IBM704 机,主频12us,1976年巨型向量计算机CRAY,主频12.5ns,目前,Pentium4 的主频已经达到 3GHz器件速度与指令执行时间46年来器件速度提高104,指令速度快108以上系统结构和组成技术的作用器件速度提高减慢, 处理机主频提高速度减缓指令执行速度的提高基本保持不变(摩尔定理),1.4.3 应用发展的影响,1. 应用需求高结构化数值计算:气象模型,
42、流体流动,有限元分析。非结构化的数值计算:蒙特卡洛模拟, 稀疏矩阵。实时多因素问题:语音识别,图象处理, 计算机视觉。海量存储和输入输出密集问题:数据库, 事务处理。图形学和设计系统:计算机辅助设计。 2. 三个时期通用计算机:主要是通用科学计算专用计算机:科学计算、事务处理、实时控制高性能通用机:满足多种需求目前又开始多种专用处理机的研制,3. 两个发展趋势 维持价格不变,利用VLSI技术等,提高性能 性能基本不变,价格迅速下降 一般先推出中间机型,然后再分别向高端和低端两个方向发展 4. 三种设计思想 最高性能价格比:商用机。主要发展方向 最高性能:国家安全需要,科技发展需要例如:银河计算
43、机、神州计算机、 最低价格:家用学习机等,1.4.4 改进算法的影响,在多个层次上,算法影响着系统结构,例如: 快速乘法、除法、开平方等的实现: 记分板算法、Tomasulo算法提高指令级并行性 消除名字相关、数据相关、控制相关的算法 有些问题,如果算法上有突破,不需要高性能的系统结构,而在普通系统上就能得到解决。 许多算法还有改进的余地,通过算法的研究能够大幅度提高系统的性能。 系统结构设计者要研究算法,应该研究一系列算法,使所有同类问题都能很好解决。,1.5 计算机系统的分类,1.5.1 按处理机性能分类 1.5.2 佛林分类法 1.5.3 库克分类法 1.5.4 冯泽云分类法 1.5.5
44、 汉德勒分类法,1.5.1 按处理机性能分类,1. 按大小划分 种类:巨型、大型、中型、小型、微型机 划分原则:以性能为特征,按价格来划分 存在问题:划分的标准是随时间而变化,每年左右降低一个等级 设计方法:最高性能 特殊用途最佳性能价格比 一般商用计算机最低价格 家用计算机等 Small is fast,价,最佳性能价格比,格,最高性能,巨型机,大型机,等性能线,中型机,小型机,最低价格,微型机,(,超微型机,),t-3 t-2,t-1,t,t+1,时期,2. 按用途划分 种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。 划分原则:科学计算:浮点计算速度事务处理:字符处理、
45、十进制运算实时控制:中断响应速度、I/0能力工作站:图形处理能力服务器:数据处理速度,数据存储能力家用计算机:价格便宜,软件丰富 发展方向:具备上述所有功能的通用处理机 各种专用处理机、协处理器、嵌入式处理机,3. 按数据类型划分 定点计算机、浮点计算机、向量计算机、堆栈计算机等 4. 按处理机个数和种类划分 单处理机 并行处理机、多处理机、分布处理机 关联处理机 超标量处理机, 超流水线处理机, VLIW处理机 SMP(对称多处理机)、MPP(大规模并行处理机)、机群(Cluster)系统等,5. 按所使用的器件划分按使用的器件划分计算机系统的时代第一代:电子管(Valve)计算机第二代:晶
46、体管(Transistor)计算机第三代:集成电路(LSI)计算机第四代:大规模集成电路(VLSI)计算机第五代:智能计算机?目前的绝大部分计算机系统是VLSI计算机公认的第五代计算机什么时候诞生?第五代计算机以什么作为标志来划分?,1.5.2 佛林分类法,1966年由Michael.J. Flynn 提出按照指令流和数据流的多倍性特征进行分类指令流:机器执行的指令序列数据流:由指令流调用的数据序列多倍性(multiplicity):在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数四种类型(1)单指令流单数据流 SISD(Single Instruction Single D
47、atastream)(2)单指令流多数据流 SIMD(Single Instruction Multiple Datastream)(3)多指令流单数据流 MISD(Multiple Instruction Single Datastream)(4)多指令流多数据流 MIMS(Multiple Instruction Multiple Datastream),(1) SISD 典型单处理机,包括: 单功能部件处理机:IBM1401,VAX-11 多功能部件处理机:IBM360/91,370/168, CDC6600等 流水线处理机,指标量流水线处理机,(2) SIMD: 并行处理机、阵列处理机
48、、向量处理机、相联处理机、超标量处理机、超流水线处理机 多个PU按一定方式互连,在同一个CU控制下,对各自的数据完成同一条指令规定的操作;从CU看指令顺序执行,从PU看数据并行执行。,(3) MISD:几条指令对同一个数据进行不同的处理,实际上不存在,(4) MIMD 多处理机系统,包括:紧密偶合:IBM3081、IBM3084、UNIVAC-1100/80松散偶合:D-825, Cmmp, CRAY-2,Flynn分类法得到广泛应用SIMD、MIMD、SPMD、XIMD、主要缺点: (1)分类太粗在SIMD中包括有多种处理机对流水线处理机的划分不明确,标量流水线为SISD,向量流水线为SIMD (2)根本问题是把两个不同等级的功能并列对待数据流受指令流控制,造成MISD不存在 (3)非冯计算机的分类?其他新型计算机的分类,1.5.3 库克分类法,1978年由 D. J. Kuck提出按控制流和执行流分类,四种类型 (1)单指令流单执行流SISE(Single Instruction Single Executionstream)典型的单处理机 (2)单指令流多执行流SIME(Single Instruction Multiple Executionstream)多功能部件处理机、相联处理机、向量处理机、流水线处理机、超流水线处理机、超标量处理机、SIMD并行处理机,