计算机系统结构随书清华大学出本社.ppt

上传人:本田雅阁 文档编号:2922589 上传时间:2019-06-06 格式:PPT 页数:76 大小:263.52KB
返回 下载 相关 举报
计算机系统结构随书清华大学出本社.ppt_第1页
第1页 / 共76页
计算机系统结构随书清华大学出本社.ppt_第2页
第2页 / 共76页
计算机系统结构随书清华大学出本社.ppt_第3页
第3页 / 共76页
计算机系统结构随书清华大学出本社.ppt_第4页
第4页 / 共76页
计算机系统结构随书清华大学出本社.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《计算机系统结构随书清华大学出本社.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构随书清华大学出本社.ppt(76页珍藏版)》请在三一文库上搜索。

1、计算机系统结构课程介绍,Computer Architecture “建筑学”、“建筑物的设计或式样”,通常是指一个系统的外貌。 计算机系统结构 计算机体系结构 研究内容 从外部来研究计算机系统 使用者所看到的物理计算机的抽象,编写出能够在机器上正确运行的程序所必须了解到的计算机的属性。 软硬件功能分配及分界面的确定 学习目的 建立计算机系统的完整概念 学习计算机系统的分析方法和设计方法 掌握新型计算机系统的基本结构及其工作原理,学科方向 一级学科:计算机科学与技术 二级学科:计算机系统结构、计算机软件 计算机应用技术 与其他课程的交叉 主要包括:计算机组成原理、计算机操作系统、汇编语言、数据

2、结构、微机原理、高级语言等 新内容:超标量处理机、超流水线处理机、向量处理机、并行处理机、多处理机等 交叉点内容:提高,建立完整概念,教材 计算机系统结构,清华大学出版社,郑玮民,汤志忠编著,2001年第二版 主要参考书 1 Advanced Computer Architecture and Parallel processing Hesham EL-Rewini, 2李学干,苏东庄,计算机系统结构,西安电子科技大学出版社。,计算机系统结构,第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统 第五章 标量处理机,第六章 向量处理机 第七章 互连网络 第八章 并行处理机

3、 第九章 多处理机,第一章 基本概念,1.1 计算机系统结构的定义 1.2 计算机系统的评价标准 1.3 计算机系统的设计方法 1.4 计算机系统结构的发展 1.5 计算机系统的分类,1.1 计算机系统结构的定义 1.1.1 两种定义 1. 定义一 Amdahl于1964年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性 程序员:汇编语言、机器语言、编译程序、操作系统 看到的:编写出能够在机器上正确运行的程序所必须了解到的,概念结构,功能特性:指令系统及其执行模式 数据表示:硬件能够直接辩认和处理的数据类型和格式; 寻址方式:最小寻址单位、寻址方式的种

4、类和地址运算等; 寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等; 指令系统:机器指令的操作类型、格式,指令间的排序和控制机制等;,中断系统:中断类型、中断级别和中断响应方式等; 存储系统:最小编址单位、编址方式、主存容量、最大寻址空间等; 处理机工作状态:定义和切换方式,如管态和目态等; 输入输出系统:连接方式、数据交换方式、数据交换过程的控制等; 信息保护:包括信息保护方式和硬件对信息保护的支持等。,2. 透明性概念 本来存在的事物或属性,从某种角度看似乎不存在 例如:浮点数表示、乘法指令 对高级语言程序员、应用程序员透明 对汇编语言程序员、机器语言程

5、序员 不透明 例如:数据总线宽度、微程序 对汇编语言程序员、机器语言程序员 透明 对硬件设计者、计算机维修人员不透明,3. 定义二:计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定 计算机系统由软件、硬件和固件组成,它们在功能上是同等的。 同一种功能可以用硬件实现,也可以用软件或固件实现。 不同的组成只是性能和价格不同。,1.1.2 计算机组成 计算机组成是指计算机系统结构的逻辑实现,主要包括: 确定数据通路的宽度 确定各种操作对功能部件的共享程度 确定专用的功能部件 确定功能部件的并行度 设计缓冲和排队策略,设计控制机构 确定采用何种可靠性技术 1.1.3 计算机系统的实现 计算机实

6、现是指计算机组成的物理实现,包括: 处理机、主存储器等部件的物理结构 器件的集成度和速度 专用器件的设计,器件、模块、插件、底版的划分与连接 信号传输技术 电源、冷却及装配技术,相关制造工艺及技术等,计算机系统结构、计算机组成和计算机实现是三个不同的概念,但随着技术、器件和应用的发展,三者之间的界限越来越模糊。,1.1. 4 计算机系统的层次结构 1. 虚拟机概念 从不同角度所看到的计算机系统的属性是不同的,包括: 高级语言程序员、汇编语言程序员、系统管理员、硬件设计者 大部分人对计算机的认识只需要在某一个层次上,2. 层次结构,(接下页),2. 层次结构 第0级由硬件实现 第1级由微程序实现

7、 第2级至第6级由软件实现 由软件实现的机器称为:虚拟机 第2级是传统指令系统(机器语言)机器 第3级是操作系统机器 操作系统是运行在第级上的解释程序 第4级是汇编语言机器,第5级是高级语言机器 第6级是应用语言机器 从学科领域来划分 第0和第1级属于计算机组成与系统结构 第3至第5级是系统软件 第6级是应用软件,它们之间仍有交叉 第0级要求一定的数字逻辑基础 第2级涉及汇编语言程序设计的内容 第3级与计算机系统结构密切相关。 在特殊的计算机系统中,有些级别可能不存在。,第一章 基本概念,1.1 计算机系统结构的定义 1.2 计算机系统的评价标准 1.3 计算机系统的设计方法 1.4 计算机系

8、统结构的发展 1.5 计算机系统的分类,1.2 计算机系统的评价标准:性能和价格 1.2.1 性能评测的常用方法:运算速度 1. 时钟频率(主频):用于同类处理机之间 如:Pentium/450 比 Pentium/300快50, 2. 指令执行速度 一种很经典的表示方法 MIPS (Million Instructions Per Second), KIPS, GIPS, TIPS,其中,Fz为处理机的工作主频;CPI (Cycles Per Instruction)为每条指令所需的平均时钟周期数;IPC (Instruction Per Cycle)为每个时钟周期平均执行的指令条数 例1:

9、 计算Pentium II 450处理机的运算速度。 解:由于PentiumII 450处理机的IPC2 (或CPI0.5), Fz450MHz,因此, MIPSPentium II 450FzIPC4502900(MIPS),主要缺点: (1)不同指令的速度差别很大 (2)指令使用频度差别很大 (3)有相当多的非功能性指令,3. 等效指令速度:吉普森(Gibson)法 其中, Wi:指令使用频度,i:指令种类 静态指令使用频度:在程序中直接统计,动态指令使用频度:在程序执行过程中统计 在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。通常:加、减法50,乘法15,除法5,程序控制1

10、5,其他15 例2: 我国最早研制的小型计算机DJS-130,定点16位,加法每秒50万次,但没有硬件乘法和除法指令,用软件实现乘法和除法,速度低100倍左右。求等效速度。,解: 定点等效速度为: 即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。 例3: 假设在程序中浮点开平方操作FPSQR的比例为2,它的CPI为100;其他浮点操作FP的比例为23,它的CPI 4.0;,其余75指令的CPI1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。 解: 由于改进了仅占2的FPSQR操作的CPI,使等效速度提高了近一倍。,等效CPI1 100

11、2423 1.3375 3.92 等效CPI2 4251.3375 2.00,4. 核心程序法 把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准程序 (benchmark) 整数测试程序:Dhrystone 用C语言编写,100条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。 VAX-11/780的测试结果为每秒1757个,Dhrystones,即:1VAX MIPS1757 Dhrystones/Second 浮点测试程序:Linpack 用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。 用 MFLO

12、PS(Million Floating Point Operations Per Second)表示;GFLOPS、TFLOPS Whetstone基准测试程序 用FORTRAN语言编写的综合性测试程序,,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。 测试结果用Kwips表示。 SPEC基准测试程序 (System performance evaluation Cooperative) 由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Moto

13、lola、SGI、SUN、Unisys等;,SPEC能够全面反映机器的性能,具有很高的参考价值; 以VAX-11/780的测试结果作为基数;,SPEC1.0 1989年10月宣布,程序量超过15万行,包含10个测试程序, 4个定点程序,6个浮点程序;测试结果用SPECint89和SPECfp89表示。 1992年,又增加10个测试程序,共有6个定点程序和14个浮点程序,测试结果用SPECint92和SPECfp92表示。 1995年,推出SPECint95和SPECfp95,处理机 SPECint95 SPECfp95 PentiumII 400 18.5 13.3 PentiumII 450

14、 18.7 13.7 PentiumIII 500 20.6 14.7 PientiumIII 550 22.3 15.6 Celeron 300A 12.0 9.66 Celeron 333 13.1 10.20 Celeron 366 14.1 10.70 Celeron 400 15.1 11.20 Celeron 433 16.1 11.60 Celeron 466 17.0 12.00,TPC基准程序 Transaction Processing Council(事务处理委员会) 成立于1988年,已有40多个成员; 用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性

15、能。 1989年10月、1990年8月和1992年7月发表了TPC-A、TPC-B和TPC-C。,5、峰值速度 峰值指令速度MIPS、GIPS、TIPS Pentium III 500有3条指令流水线,则其峰值指令速度为: 3500MHz1500 (MIPS) 即每秒15亿次 例3: 一个由8台机器组成的Cluster系统,每台机器是4个PentiumIII 500组成的SMP系统;计算这个Cluster系统的指令峰值速度。,解: 峰值指令速度: 500MHz 48(GIPS) 即每秒480亿次。 峰值指令速度MIPS、GIPS、TIPS 1.2. 2 其他方面的性能 1. 存储能力 寻址空间

16、大小,216、224、232、264、,存储容量,速度,编址单位,编址方式,寻址方式 存储系统:Lookahead Cache Main Memory Online Storage Off-line Storage 2. 字长 1几百位 关键问题:程序与数据共用同一个主存储器 早期:由指令字长决定 当前:由数据字长决定,8的倍数,如:32位、64位等 可变字长:任意组合,3. 数据类型 目前常用:定点、浮点、逻辑 已有类型:向量、串、栈、树 发展方向:自定义 4. 指令系统 CISC:复杂指令集计算机 RISC:精简指令集计算机 VLIW:超长指令字,5. 输入输出能力 输入输出方式 中断系统

17、 输入输出接口 6. 兼容性 共分12级:011,0级为完全不兼容,11级为自身 7. 保护和诊断能力 程序与数据的保护,诊断能力:检错、纠错、冗余、自诊断能力 可靠性:RAS技术,可靠性R、可用性A、可维护性 1.2. 3 其他方面的性能比较 1. 价格与性能的关系 根据摩尔定理: 性能每10年提高100倍,但价格基本不变 用同样的价格,五年之后能买到性能高十倍的机器,2. 硬件与软件的价格比例 硬件的比例下降,软件的比例上升 目前软件价格已经超过硬件价格,1.2. 4 计算机性能的比较,算术平均值: 用速度表示为调和平均: 注意:两个公式等价,加权执行时间,加权算术平均值: 加权调和平均速

18、度:,几何平均速度,其中,ETR(execution time ratio),n 指不同的程序 几何平均速度与机器无关,与程序的执行时间无关。,第一章 基本概念,1.1 计算机系统结构的定义 1.2 计算机系统的评价标准 1.3 计算机系统的设计方法 1.4 计算机系统结构的发展 1.5 计算机系统的分类,1.3 计算机系统的设计方法,1.3.1 软硬件取舍 1.3.2 软件兼容性设计方法 1.3.3 计算机系统设计过程,1.3 计算机系统的设计技术 1.3.1 软硬件取舍 1. 软硬件的关系 理论上,有两种极端实现方法 全硬件机器,包括操作系统、高级语言、应用程序等 硬件只有1位加法和分支操

19、作,其他都用软件实现,关键问题:性能与价格的关系,软硬件实现在功能上等效 计算机系统结构设计者的主要任务就是要确定软硬件的分界;软件、硬件和固件的功能分配 软件与硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 发展趋势 硬件实现的比例越来越高,硬件所占的成本越来越高,发展,不可编程,目前计算机,最少硬件,软件,硬件,软 硬 件 比 例,2. 从改进性能考虑软硬件的取舍 基本方法:加快经常性事件的执行速度 Make the common case fast 例如加法运算中的溢出和不溢出; 中断处理中的常规性保护现场和特殊性保护现

20、场; 指令切换中的“公操作”是提高计算机速度的瓶颈之一; 3. Amdahl定律 如何确定经常性事件?或者说应该确定加快处理速度对整个性能的影响如何?,Amdahl定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 在Amdahl定律中,加速比与两个因素有关:,改进后整个任务的执行时间为: 其中0为改进前的整个任务的执行时间。 改进后整个系统的加速比为: 其中(1-Fe)表示不可改进部分。,例5: 假设将某一部件的处理速度加快到10倍,该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少? 解:

21、 由题意可知:Fe=0.4, Se=10,根据Amdahl定律,加速比为:,例6: 假设某测试程序中FP指令占50%,FPSQR指令占20%,用改进FP指令速度为原来的2倍和改进FPSQR指令速度为原来的10倍,两种方法中的哪种更好? 解: 第一种方法:Fe=0.5, Se=2,根据Amdahl定律,加速比为: 第一种方法:Fe=0.2, Se=10,根据Amdahl定律,加速比为:,4. 改进性能的主要途径 面向目标代码改进: 用一条指令代替一串指令 方法:统计某条指令、某类指令或某个指令串的使用频度包括动态使用频度和静态使用频度 例如:例1中,增加硬件乘法和除法指令使等效指令速度提高25倍

22、. 例2中,改进FPSQR指令使等效CPI提高近1倍,面向高级语言改进: 方法:统计某些语句的使用频度 例如:一般程序中赋值语句占30%以上,为此,许多处理机中设置了寄存器与寄存器、寄存器与存储器、存储器与存储器之间的成组传送指令。 例如:在do循环中,循环体只有一、二条的占60%左右,造成循环控制部分所占的比例很大,因此,增加循环控制指令。,又例如:条件码对高级语言几乎无用。 面向操作系统改进: 方法:系统结构设计要规整,消除例外情况,寄存器定义要统一、操作要均匀、所有存储部件要对称,1.3.2 软件兼容性设计方法 原因:1.软件相对于硬件的成本越来越贵; 2.已积累了大量成熟的系统软件和应

23、用软件。 兼容种类 向后兼容 在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上。 向前兼容 向上兼容 在低档机器上运行的目标软件能够直接运行于高档机器上。,向下兼容 其中向后兼容最重要,必须做到 向上兼容尽量做到 向前兼容和向下兼容,可以不考虑 方法1:系列机方法 系列机定义:具有相同的系统结构,不同组成和实现的一系列计算机系统 实现方法:在系统结构基本不变的基础上,根据不同性能的要求和当时的器件发展情况,设计出各种性能、价格不同的计,算机系统。一种系统结构可以有多种组成,一种组成可以有多种物理实现。 如IBM370系列机: 370/115、125、135、145、158、1

24、68等各种型号。 相同的系统结构,不同的组成和实现技术,不同的性能和价格。 相同的指令系统,分别采用顺序执行、重迭、流水和并行处理方式。 相同的32位字长,数据通道的宽度分别为8位、16位、32位、64位。,PC系列机: 8088、8086、80186、80286、80386、80484、Pentium、PentiumII、PentiumIII PentiumIV 不同工作主频; 不同扩展功能:Pentium、Pentium Pro、Pentium MMX 不同的Cache:PentiumII、Celeron、Xeon 不同的字长:8位(8088)、16位(80286)、32位、64位。,采用

25、系列机方法的主要优点: 系列机之间软件兼容,可移植性好;插件、接口等相互兼容;便于实现机间通信;便于维修、培训;有利于提高产量、降低成本 采用系列机方法的主要缺点: 限制了计算机系统结构的发展 方法2:模拟与仿真 Simulation Emulation 定义: 在一台现有的计算机上实现另一台计算机的指令系统。,全部用软件实现的叫模拟 用硬件、固件或软件、硬件、固件混合实现的叫仿真 模拟的实现方法: 在A计算机上通过解释方法实现B计算机的指令系统,即B机器的每一条指令用一段A机器的程序进行解释执行。A机器称为宿主机,B机器称为虚拟机。 仿真的实现方法: 直接用A机器的一段微程序解释执行B机器的

26、每条指令。 A机器称为宿主机,B机称为目标机。,优缺点比较 模拟方法速度低,仿真方法速度高 仿真需要较多的硬件(包括控制存储器) 系统结构差别大的机器难于完全用仿真方法来实现 除了指令系统之外,还有存储系统、I/O系统、中断系统、控制台的操作等 除了解释方法之外,也可以通过编译方法实现 模拟方法用于计算机系统的设计过程 在一台已有的机器上用模拟方法实现另,外一台正在设计中的机器的指令系统等。具体过程如下: 方法3:统一高级语言 方法:采用同一种不依赖于任何具体机器的高级语言编写系统软件和应用软件。 困难:至今还没有这样一种高级语言。短期内很难实现。 C、Ada、Java、,三种方法比较: 采用

27、统一高级语言最好,是努力的目标 系列机是暂时性方法,也是目前最好的方法 仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容 1/101/2的芯片面积用于仿真 目标代码的兼容性研究:一种新的设想 一种机器的目标代码到另一种机器的目标代码的编译 目标代码的并行重编译,1.3.3 计算机系统设计过程 方法1:由上向下(Top-Down) 设计过程:由上向下 面向应用的数学模型 面向应用的高级语言 面向这种应用的操作系统 面向操作系统和高级语言的机器语言 面向机器语言的微指令系统和硬件实现 应用场合: 专用计算机的设计(早期计算机的设计),特点: 对于所面向的应用领域,性能和性能价格比很高 随

28、着通用计算机价格降低,目前已经很少采用 方法2:由下向上(Bottom-Up) 设计过程: 根据当时的器件水平,设计微程序机器级和传统机器级。 根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等,最后设计面向应用的虚拟机器级。 应用场合: 在计算机早期设计中(6070年代)广为采用 特点: 容易使软件和硬件脱节,整个计算机系统的效率降低。 方法3:中间开始(Middle-Out) 设计过程: 首先定义软硬件的分界面,包括:,指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等 然后各个层次分别进行设计:软件设计人员设计操作系统、高级语言(编译系统)、汇编语言(汇编系统)、应用出现等;硬件设计人员设计传统机器、微程序、硬联逻辑等 应用场合:用于系列机的设计 特点:软硬件的分界面在上升;硬件价格下降,软件价格上升;软硬件人员结合共同设计;器件设计占领硬件设计,习题,1.2 1.4 1.7 1.8 1.11 1.12 1.13 1.14 1.19 1.21,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1