计算机基础学习指导课件_第1页
计算机基础学习指导课件_第2页
计算机基础学习指导课件_第3页
计算机基础学习指导课件_第4页
计算机基础学习指导课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机系统结构网络学习资料编者 文军电子科技大学第1章 计算机系统结构的基本概念授课内容:本章主要论述计算机系统结构的概念以及系统结构和并行性的发展,将引导读者进入计算机系统结构这么一个新的领域。首先,在计算机系统层次结构概念的基础上,讲述了经典计算机体系结构概念,并进一步讨论了计算机组成和计算机实现技术,在此基础上,我们可以更好地理解现代计算机体系结构所研究的范围和内容。1.1 引言计算机系统结构作为一门学科,主要是研究软件、硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成。1.2 计算机系统结构的概念计算机系统由硬件器件和软件组成,按功能划分成多级层次结构。计

2、算机系统结构,计算机组成和计算机实现是三个不同的概念。计算机系统结构是计算机系统的软硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。依据不同的标准,计算机系统结构分类的分类有多种,例如Flynn分类法,它是按照指令流和数据流的不同组织方式,将计算机系统结构分为以下四类:SISD、SIMD、MISD、MIMD。1.3 定量分析技术计算机系统设计常用的三个定量原理:加快经常性事件的执行速度(Make the common case fast),Amdahl定律,访问的局部性原理。计算机系统的性能评测有不同的方式。1.4 计算机系统结构的发展冯.诺依曼结构的特征有

3、五点,其中结构的核心是运算器。软件发展、器件发展、应用对系统结构的影响,系统结构的生命周期。1.5 计算机系统结构中并行性的发展并行性是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。从执行程度的角度和处理数据的角度,并行性的等级划分是不同的。提高并行性的技术途径有时间重叠、资源重复、资源共享三种。单机、多机系统中并行性的发展。目的要求:1. 掌握计算机系统的多级层次结构。2. 掌握计算机系统结构、计算机组成与计算机实现的定义及三者之间的关系。3. 理解透明性、虚拟机的概念。4. 理解系列机和软件兼容的基本思想。5. 了解对于通用寄存器型机器来说,机器语言程序员所看到的

4、传统机器级所具有的主要属性。6. 掌握计算机体系结构设计的三个基本原则。7. 熟练应用Amdahl定律和CPU性能公式求解问题。8. 知道估评计算机性能的测试程序。9. 了解计算机性能的若干定义。10. 掌握存储程序计算机体系结构的主要特征,了解从五个方面对其所作的改进。11. 掌握并行性的概念。12. 了解从执行程序的角度和处理数据的角度来看,并行性等级的划分。13. 掌握计算机系统中提高并行性的三种技术途径(时间重叠、资源重复、资源共享) 14. 了解单机系统和多机系统中并行性的发展。重点:1 计算机系统的多级层次结构;2 系列机和虚拟机的概念;3 计算机体系结构设计的三个基本原

5、则。4 系统设计的定量原理的应用。5 计算机系统中提高并行性的三种技术途径(时间重叠、资源重复、资源共享) 难点:1. 计算机系统设计定量原理的应用;2. 计算机系统性能进行评测。3. 计算机系统中提高并行性的三种技术途径(时间重叠、资源重复、资源共享)学习方法指导:学习时,一定要从宏观上把握计算机系统结构所涉及的领域。通过本章学习,要弄清计算机系统结构的基本概念,掌握计算机系统结构的基本分析方法的基本设计方法,建立计算机系统的完整概念,为后续的学习打下良好的基础。作业:1. 解释下列术语: CPI 翻译 解释 体系结构 透明性 系列机 软件兼容 兼容机 计算机组成 计算机实现 并行

6、性 时间重迭 资源重复 资源共享 同构型多处理机 异构型多处理机 紧密耦合 响应时间 测试程序 大概率事件优先 系统加速比 Amdahl 定律 程序的局部性原理 答案:1. CPI指令时钟数(Cycles per Instruction)。2. 翻译(基于层次结构)先把N+1 级程序全部变换成N 级程序之后,再去执行N级程序,在执行过程中,N+1 级程序不再被访问。 3. 解释每当一条N+1 级指令被译码后,就直接去执行一串等效的N 级指令,然后再去取下一条N+1 级指令,依此重复执行。 4. 体系结构程序员所看到的计算机的属性,即概念性结构与功能特性。 5. 透明性在计算机技术中,对本来存在

7、的事物或属性,从某一角度来看又好像不存在的概念称为透明性。 6. 系列机在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。 7.软件兼容同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行的时间不同。 8. 兼容机不同厂家生产的、具有相同体系结构的计算机。 9. 计算机组成计算机体系结构的逻辑实现。 10.计算机实现计算机组成的物理实现。 11.存储程序计算机(冯·诺依曼结构)采用存储程序原理,将程序和数据存放在同一存储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。12.并行性

8、在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。 13.时间重叠在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 14.资源重复在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设 置资源,尤其是硬件资源,大幅度提高计算机系统的性能。15.资源共享是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备.16.同构型多处理机由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中能并行执行的多个任务的机器。 17.异构型多处理机由多个不同类型、功能不同的处理机组成、串行完成同一作

9、业中不同任务的机器。 18.最低耦合是耦合度最低的系统,除通过某种中间存储介质之外,各计算机之间没有物理连接、也无共享的联机硬件资源。 19.松散耦合一般是通过通道或通信线路实现计算机之间连接、共享某些外围设备(例如磁盘、磁带),机器间的相互作用是在文件或数据集一级进行。 20.紧密耦合一般是指机间物理连接的频带较高,它们往往通过总线或高速开关实现互连,可以共享主存。 21.响应时间从事件开始到结束之间的时间,也称执行时间。 22.测试程序用于测试计算机性能的程序,可分为四类:真实程序、核心程序、小测试程序、合成测试程序。 23.测试程序组件选择一个各个方面有代表性的测试程序,组成一个通用的测

10、试程序集合。这个通用的测试程序集合称为测试程序组件。24.大概率事件优先此原则是计算机体系结构中最重要和最常用的原则。对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。 25.系统加速比系统改进前与改进后总执行时间之比。 26.Amdahl 定律加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的所占的重要性。27.程序的局部性原理程序在执行时所访问的地址不是随机的,而是相对簇聚;这种簇聚包括指令和数据两部分。2. 传统的存储程序计算机的主要特征是什么?存在的主要问题是什么?我们目前的计算机系统是如何改进的? 存储程序计算机在体系结构上的主要特点

11、:(1) 机器以运算器为中心。(2) 采用存储程序原理。程序(指令)和数据放在同一存储器中,并且没有对两者加以区分。指令和数据一样可以送到运算器进行运算,即由指令组成的程序自身是可以修改的。(3) 存储器是按地址访问的、线性编址的空间。 (4) 控制流由指令流产生。 (5) 指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作数和操作结果的地址。 (6) 数据以二进制编码表示,采用二进制运算。 传统存储程序计算机体系结构存在的主要问题及其改进:(1)分布的I/O 处理能力 存储程序计算机以运算器为中心、所有部件的操作都由控制器集中控制,这一特点带来了慢速输入输出操作占用快速运算

12、器的矛盾。为了克服这一缺点,人们先后提出各种输入/输出方式。 (2)保护的存储器空间 把指令和数据放在同一存储器中有优缺点。现在绝大多数计算机都规定:在执行过程中不准修改程序。 (3)存储器组织结构的发展 按地址访问的存储器具有结构简单、价格便宜、存取速度快等优点。但是在数据处理时,往往要求查找具有某种内容特点的信息。但由于访问存储器的次数较多而影响计算机系统的性能。采用了通用寄存器的概念、设置高速缓冲存储器Cache、构成了以相联存储器为核心的相联处理机。 (4)并行处理技术 传统的存储程序计算机解题算法是顺序型的,即使问题本身可以并行处理,由于程序的执行受程序计数器控制,故只能是串行、顺序

13、地执行。如何挖掘传统机器中的并行性? 改进CPU 的组成;在体系结构上使本来可以并行计算的题目能并行计算;多机并行处理系统。(5)指令集的发展 计算机系统指令的种类愈来愈多,这种计算机称为复杂指令集计算机CISC。日趋庞杂的指令集不但不容易实现,而且还可能降低计算机系统的性能。把指令集设计成只包含那些使用频率高的少量指令,并提供一些必要的指令以支持 操作系统和高级语言。按照这个原则而构成的计算机称为精简指令集计算机RISC。3按照Amdahl定律,假设将某系统的某一部件的处理速度加快到原来的5倍,但该部件的原处理时间仅为整个运行时间的20%,则采用加快措施后能使整个系统的性能提高到原来的()倍

14、。A、1/0.36B、1/0.24C、1/0.45D、1/0.84答案:D4. 如果某一个计算任务用向量方式求解比用标量方式求解要快10倍,称可用向量方式求解部分所花费时间占总时间的百分比为可向量化百分比。请画出加速比与可向量化比例两者关系的曲线,并回答加速比为2和5时,可向量化百分比分别为多少。答案:设可向量化百分比为x,加速比为y,根据Amdahl定律,有则:y=2时,x=;y=5时,x=参考书目:1 计算机系统结构张晨曦主编,高等教育出版社 ;2008年6月;2 计算机系统结构郑纬民主编, 清华大学出版社;本章典型例题分析:【例1-1】用一台433MHz的处理器执行标准测试程序,它包含的

15、各类指令和相应的时钟周期数如下表,求有效CPI、MIPS速率和程序的执行时间。指令类型指令数时钟周期数整数运算50 0001数据传送35 0002浮点运算12 0002控制传送 7 0002分析如下:解:=(50000*1+35000*2+12000*2+7000*2)/(50000+35000+12000+7000)=1.52周期/指令=执行时间t=(50000*1+35000*2+12000*2+7000*2)/(433*)=3.649*【例1-2】假定要将某一执行部件改进后速度提高10倍,改进后被改进部件执行时间占系统总运行时间的50。问改进后,获得的加速比是多少?分析如下:假设系统在改

16、进前后的执行时间分别为和,则(1)由(1)式,得 (2)由题意 (3)(2)-(3),得 (4)(5)由(4)(5)可得 【例1-3】计算机系统有三个部件可以改进,这三个部件的加速比如下:部件1加速比S1=30;部件2加速比S2=20;部件3加速比S3=10;(1)如果部件1和部件2的可改进比例为30,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10?(2)如果三个部件的可改进比例为30、30和20,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?分析如下:(1)多个部件可改进情况下Amdahl定理的扩展其中,Fi为可加速部件I在未优化系统中所占的比

17、例,Si是部件I的加速比。F3=0.36=36%(2)【例1-4】假定我们有一台计算机,如果所有的cache访问都命中的话,它的CPI是2.0。唯一的数据访问指令是store和load,它们占指令总数的40,不命中损失是25个时钟周期,不命中率是2。如果所有的指令访问cache都命中的话,那么机器的速度是存在cache不命中时的多少倍?分析如下:首先计算所有cache访问都命中时计算机的性能:CPU执行时间(CPU时钟周期内存停机周期)×时钟周期时长 (IC×CPI0)×时钟周期时长 IC×2.0×时钟周期时长现在计算考虑cache不命中在内的

18、真实计算机性能,我们先计算内存停机周期:内存停机周期=IC×每条指令访问内存的次数×不命中率×不命中损失 =IC×(10.4)×0.02×25=IC×0.7其中(10.4)代表每条指令访问一次内存, 而占指令总数40%的store和load访问两次内存, 所以平均每条指令访问访问(1+0.4)次内存。这样总的性能是:CPU执行时间 =(IC×2.0IC×0.7)×时钟周期时长 = IC×2.7×时钟周期时长性能提高的比是执行时间之比的倒数:cache不命中考虑在内的CPU执行

19、时间/cache访问全部命中的CPU执行时间=2.7×IC×时钟周期时长/2.0×IC×时钟周期时长=1.35cache访问全部命中时的速度是有 cache不命中时机器速度的1.35倍。【例1-5】假设在一台40MHZ处理机上运行200,000条指令的目标代码,程序主要由四种指令组成。根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:指令类型CPI指令混合比算术和逻辑160%高速缓存命中的加载/存储218%转移412%高速存储缺失的存储器访问810%计算在单处理机上用上述跟踪数据运行程序的平均CPI。根据所得的CPI,计算相应的MIPS速率

20、。分析如下:平均=2.24第2章 计算机指令集结构授课内容:本章论述计算机指令集结构设计中的一些问题,比如指令集结构的分类、寻址方式、指令集结构的功能设计、操作数的相关设计、指令集格式的设计等,并以MIPS为例,简述了计算机指令集结构是如何设计的。2.1 指令集结构的分类根据CPU内部存储单元类型对指令集结构分为三类:堆栈型指令集结构、累加器型指令集结、通用寄存器型指令集结构,而他们各有优缺点。2.2 寻址方式当前指令集结构中所使用的一些操作数寻址方式。2.3 指令集结构的功能设计CISC、RISC指令集结构的功能设计的目标与原则不同、各有优缺点,以及控制指令的概念。2.4 操作数的类型、表示

21、和大小操作数的类型主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。操作数的表示是指硬件结构能够识别、指令系统可以直接调用的那些结构。而大小则是从字节、半字(16位)、单字(32位)到双字(64位)。2.5 指令集格式的设计指令中有两种表示寻址方式的方法,分别是将寻址方式编码于操作码中,由操作码描述指令操作的同时,也描述了相应操作的寻址方式;为每个操作数设置一个地址描述符,由地址描述符表示相应操作数的寻址方式。且有三种指令集编码格式:变长编码格式、固定长度编码格式、混合型编码格式。2.6 MIPS指令集本节不做过多要求,了解就好。目的要求:1. 掌握指令集结构的各种分类方法。2.

22、 了解堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构的优缺点。3. 了解三种通用寄存器型指令集结构的优缺点。4. 了解当前指令集结构中所使用的一些操作数寻址方式。5. 通过对基准程序进行测试统计,了解各种寻址方式的使用情况。6. 掌握指令集结构功能设计上的两种不同方向。7. 掌握CISC计算机指令集结构的功能设计的目标、CISC结构存在的缺点。8. 掌握RISC计算机指令集结构的功能设计的目标、原则。9. 了解各种控制指令的定义、四种改变控制流程的操作及三种表示分支条件的技术。10. 掌握操作数类型与操作数表示的定义及表示方法。11. 了解各种操作数类型、操作数类型大小。12.

23、掌握指令中两种表示寻址方式的方法。13. 掌握三种指令集编码格式及其适用范围。重点:1. 面向主存储器的寻址方式。2. RISC的关键技术。3. 三种指令集编码格式及其适用范围。难点:1. 面向主存储器的寻址方式。2. 三种指令集编码格式及其适用范围。学习方法指导:在学习浮点数表示方法时,要把浮点数与数学中的实数进行比较,弄清他们之间的相同与不同,这样,就能够比较容易学会浮点数与实数之间的转换方法,学会浮点数能够表示的实数的范围、精度及效率。指令系统和寻址方式是计算机系统的主要组成部分。凡是能够在计算机系统上直接运行的目标程序都是由指令组成的。指令系统是计算机系统中软件与硬件之间的一个主要分界

24、面,也是他们之间互相沟通的桥梁。对于计算机硬件和软件方面的分析设计人员,学习通用计算机系统的指令系统、寻址方式及数据表示是非常重要的。只有对指令系统、寻址方式和数据表示有比较系统和深入的了解,才能设计出高水平的程序。本章主要讲述指令系统、寻址方式和数据表示方面的一般概念,这与汇编语言程序设计课中只介绍一种具体处理机的指令系统不同。因此,在学习本章时,可利用在汇编语言程序设计课中已经基本学会了某一种处理机的指令系统和寻址方式的基础上,通过本章的学习,掌握指令系统和寻址方式的一般原理和分析设计方法。作业:1. 解释下列术语堆栈型机器累加器型机器通用寄存器型机器有效地址CISCRISC指令集结构的正

25、交特性 答案:1. 堆栈型机器CPU 中存储操作数的单元是堆栈的机器。2. 累加型机器CPU 中存储操作数的单元是累加器的机器。3. 通用寄存器型机器CPU 中存储操作数的单元是通用寄存器的机器。 4. CISC复杂指令集计算机。5. RISC精简指令集计算机。2. 堆栈型机器、累加器型机器和通用寄存器型机器各自有什么优缺点? 答案:指令集结构类型优点缺点堆栈型是一种表示计算的简单模型;指令短小不能随机访问堆栈,从而很难生成有效代码。同时,由于堆栈是瓶颈,所以很难被高效地实现累加器型减少了机器的内部状态;指令短小由于累加器是唯一的暂存器,这种机器的存储器通信开销最大寄存器型易于生成高

26、效的目标代码所有操作数均需命名,且要显式表示,因而指令比较长3. 三种通用寄存器型指令集结构分别有什么优缺点?答案:指令集结构类型优 点缺 点寄存器寄存器型(0,3)简单,指令字长固定,是一种简单的代码生成模型,各种指令的执行时钟周期数相近和ALU指令中含存储器操作数的指令集结构相比,指令条数多,因而其目标代码量较大寄存器存储器(1,2)可以直接对存储器操作数进行访问,容易对指令进行编码,且其目标代码量较小指令中的操作数类型不同。在一条指令中同时对一个寄存器操作数和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。由于指令的操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期

27、数也不尽相同存储器存储器型(3,3)是一种最紧密的编码方式,无需“浪费”寄存器保存变量指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器访问瓶颈问题4. 计算机指令集结构设计所涉及的内容有哪些?答案:(1) 指令集功能设计:主要有RISC和CISC两种技术发展方向。 (2) 寻址方式的设计。(3) 操作数表示和操作数类型。(4) 寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。 (5) 指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式三种。5. 从当前的计算机技术观点来看,CISC 指令集结构的计算机有什

28、么缺点? 答案:(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。(2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。(5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。6. 简述RISC指令集结构设计的原则。 答案:(1)选取使用频率最高的指令,并补充一些最有用的指令。(2)每条指令的功能应尽可能简单,

29、并在一个机器周期内完成。(3)所有指令长度均相同。(4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。7. 某工作站采用时钟频率f为15MHZ,处理速率为10MIPS的处理机来执行一个已知混合程序。假定每次存储器存取为1周期延迟。如果假定将处理机的时钟频率f提高到30MHZ,但存储器子系统速率不变。这样,每次存储器存取需要两个时钟周期,如果30%指令每条只需要一次存储存取,而另外5%每条需要两次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,试求改进后的处理机性能。答案:如题所述,30的指令需要一次存储存取,则

30、这些指令在处理器提高时钟频率之后需要增加一个时钟周期;同样,另外5的指令需要增加两个时钟周期。CPInew= (改进前执行混合程序的所需时钟周期数 + 30%×1×指令数 + 5%×2×指令数) / 指令数 = 改进前有效CPI + 30%×1 + 5%×2= 1.5 + 0.3 + 0.1= 1.9处理速率MIPS= fnew / (CPInew×106) = 30×106/(1.9×106) = 15.79 MIPS假设混合程序的指令数为IC, 则有可见,改进后工作站性能提高了。参考书目:1. 计算机

31、系统结构张晨曦主编,高等教育出版社 ;2008年6月;2. 计算机系统结构郑纬民主编, 清华大学出版社;本章典型例题分析:【例2-1】用一台40MHZ处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下:指令类型指令数时钟周期数整数运算450001数据传送320002浮点150002控制传送80002求有效CPI、MIPS速率和程序的执行时间。分析如下:CPI= (45000*1 + 32000*2+15000*2+8000*2)/(45000+32000+15000+8000) =1.55MIPS程序执行时间 【例2-2】试解释指令系统的、编译器技术、CPU实现和控制、高速缓存

32、和存储器层次结构如何影响CPU性能,并根据程序长度、时钟速率和有效CPI来说明其影响。分析如下:CPU的性能取决于三个方面:时钟频率、每条指令所化花的时钟周期数和指令的条数。CPU时间=(IC*CPI)/时钟频率指令系统越丰富则经过对相同的程序,产生的指令数就越少,即减少IC的总数,从而减少CPU时间,提高CPU的性能。同样编译技术越先进,可减少产生多余的指令,减少指令的条数,从而提高CPU的性能 。时钟速度高即时钟的频率高,由上式显然提高CPU的性能。CPU实现和控制,高速缓存和存储器的层次结构都能影响 CPI的值。从而影响 CPU的性能。【例2-3】分别用变址寻址方式和

33、间接寻址方式编写一个程序,求C=A+B,其中,A与B都是由n个元素组成的一维数组。比较两个程序,并回答下列问题:(1)从程序的复杂程度看,哪一种寻址方式更好?(2)从硬件实现的代价看,哪一种寻址方式比较容易实现?(3)从对向量运算的支持看,哪一种寻址方式更好?分析如下:(1)变址寻址方式(2)间接寻址方式(3)变址寻址方式【例2-4】某台计算机只有Load/Store 指令能对存储器进行读/写操作,其它指令只对寄存器进行操作。根据程序跟踪实验结果,已知每种指令所占的比例及CPI数如下: 指令类型 指令所占比例 CPI 算逻指令 43 1 Load指令 21 2 Store指令 12 2 转移指

34、令 24 2 (1)求上述情况下的平均CPI。(2)假设程序由M条指令组成。算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load指令从存储器取到寄存器。因此有人建议增加另一种算逻指令,其特点是一个操作数取自寄存器,另一个操作数取自存储器,即寄存器¾存储器类型,假设这种指令的CPI等于2。同时,转移指令的CPI变为3。求新指令系统的平均CPI。分析如下:CPI旧(0.43×10.21×20.12×2+0.24×2)=1.57原算逻指令中的25变成了寄存器¾存储器型指令,所以算逻指令(寄存器

35、0;寄存器型)少了(0.25×0.43)M 条,Load指令少了(0.25×0.43)M 条,而(0.25×0.43)M 条的新指令为寄存器¾存储器型指令。指令总数少了(0.25×43%)M条。设执行算逻指令(寄存器¾寄存器型) 、 Load指令、算逻指令(寄存器¾存储器型) 、 Store指令和转移指令的周期总数分别为C1,C2,C3,C4,C5,所以:C1=(0.43-(0.25×0.43)M×1=0.3225M C2=(0.21-(0.25×0.43)M×2=0.205M C3=

36、(0.25×0.43)M×2=0.215M C4=0.12M×2=0.24M C5=0.24×3M=0.72M新指令总数N=(1-(0.25×0.43))M=0.8925M CPI新=(C1+C2+C3+C4+C5)/ N=1.7025M/0.8925M=1.908 【例2-5】假定我们正在考虑两种条件转移指令的设计方法,这两种方法如下:CPU A:先通过一条比较指令设置条件码A,再用一条分支指令检测条件码。CPU B:比较操作包含在分支指令中。在两种CPU中,条件转移指令都需要两个时钟周期,所有的其它指令都需要一个时钟周期。在CPU A中,全

37、部指令的20是条件转移指令,因为每次条件转移都需要一次比较,所以比较指令约占所有指令的20。因为CPU A不需要在转移中包含分支,所以它的时钟频率是CPU B的1.25倍。哪一种CPU更快?如果CPU A的时钟频率只是CPU B的1.1倍,结果又如何?分析如下:注:20的分支指令需要两个时钟周期,其它指令需要一个时钟周期。因为A的时钟频率是B的1.25倍,所以B的时钟周期是A 的1.25倍。因为在B中不需要进行比较操作,所以分支指令占B指令总数的20/8025,B中除分支指令需两个时钟周期外,所有其它指令都需要一个时钟周期。所有B的CPI为:因为B不 执行比较操作,所以B的指令数是A的80,这

38、样CPU B的性能为:在上述假定下,时钟周期较短的CPU A指令总数较少的CPU B快。如果CPU A的时钟频率只是CPU B的1.10倍,那么B的时钟周期是A的1.10倍,那么CPU B的性能为:经过这一改进,指令总数较少的CPU B比CPU A快了。第3章 流水线技术授课内容:本章论述流水线技术的基本概念、分类以及性能计算方法,并对流水线中的相关问题以及向量计算机进行讨论。3.1 重叠执行和先行控制一条指令分为三个阶段,取指令、指令分析、指令执行。共有三种执行方式,分别是顺序执行方式,一次重叠执行方式。而先行控制则是缓冲技术和预处理技术的结合。二次重叠执行方式3.2 流水线的基本概念通过工

39、业生产流水线而对流水线先有抽象意义上的了解,并根据不同的角度和观点,将流水线进行分类。3.3 流水线性能指标本小节将从吞吐率,加速比,效率三个流水线性能指标对其进行性能分析,并引出流水线设计存在的若干问题。3.4 流水线中的相关及冲突本小节将学习到经典的五段流水线,三种相关(数据相关、名相关、控制相关);以及三种流水线冲突(结构冲突、数据冲突,数据冲突控制冲突)。3.5 基本MIPS实现流水线此小节只作简单了解。3.6 向量处理机简单了解向量的三种处理方式及其特点。目的要求:1. 掌握流水线的分类及相关概念;2. 掌握流水技术的特点及基本思想;3. 掌握吞吐率(最大吞吐率、实际吞吐率)、加速比

40、、效率的定义和计算方法;4. 掌握流水线时空图的概念和画法;5. 理解流水线中相关的分类及定义;6. 掌握结构相关的解决方法;7. 掌握数据相关的三种类型;掌握定向技术的主要思想及应用;8. 掌握静态流水线和动态流水线的区别;9. 掌握向量的三种处理方式及其特点;重点:1. 流水技术的特点;2. 静态流水线和动态流水线的区别。3. 流水线的分类及相关概念;4. 流水线中相关的分类及定义;5. 结构相关的解决方法;6. 数据相关的三种类型;7. 向量的三种处理方式及其特点;难点:1. 流水技术的特点;2. 流水线的分类及相关概念;3. 流水线中相关的分类及定义;4. 结构相关的解决方法;5. 数

41、据相关的三种类型;学习方法指导:流水线技术是提高系统吞吐率的一项强大的实现技术,并且不需要大量重复设置硬件。而流水线性能的主要障碍是指令相关引起的流水线停顿。其中,控制相关引起的分支开销是最主要的部分。随着流水线深度的增加,分支开销也会增大并成为主要的挑战。另外,流水线处理器设计将传统CPU设计中的数据通路设计和控制通路设计放到了一起进行处理,它们可以被合并到一条流水线来实现。流水线性能的主要障碍是指令相关引起的流水线停顿。其中,控制相关引起的分支开销是最主要的部分。随着流水线深度的增加,分支开销也会增大并成为主要的挑战。但真正掌握流水线技术的设计与实现,需要课后再花时间研究学习。作业:1根据

42、指令对寄存器的读写顺序,可将数据冲突分为哪三种类型?答案:(1)写后读冲突(2)写后写冲突(3)读后写冲突2解决流水线数据冲突的方法有哪些?答案:(1)定向技术:在某条指令产生一个结果之前,其他指令并不真正需要该计算结果,如果将该计结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停。(2)暂停技术:设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。(3)采用编译器调度。 (4)重新组织代码顺序。3. 定向技术的主要思想是什么?答案:在发生数据冲突时,后面的指令并不是立即就要用到前一条指令的计算结果。

43、如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所需的位置。4. 按照流水线所完成的功能来分,流水线可分为哪两类?答案:(1)单功能流水线:只能完成一种固定功能的流水线。(2)多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。5. 按照同一时间内各段之间的连接方式来分,流水线可分为哪两类? 答案:(1)静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。(2)动态流水线:在同一

44、时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。6. 一条流水线的可分为k段,各段的执行时间都是,共向该流水线输入n个任务,求该流水线实际吞吐率的为:A. B. C. D. 答案:D7.假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段分别只有一个部件可供使用并且执行时间分别为 、 和 ,连续执行n条指令所需要花费的最短时间约为(假设“取指令”、“分析”和“执行”可重叠并假设n足够大):A. B. C. D. 答案:C参考书目:1 计算机系统结构张晨曦主编,高等教育出版社 ;2008年6月;2 计算机系统结构郑纬民主编, 清华大学出版社;本章典型例题分析:

45、【例3-1】定向技术的主要思想是什么?分析如下:在发生数据冲突时,后面的指令并不是立即就要用到前一条指令的计算结果。如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所需的位置。【例3-2】流水技术有哪些特点?分析如下:(1)流水过程由多个相联系的子过程组成,每个过程称为流水线的“级”或“段”。(2)每个子过程由专用的功能段实现。(3)各个功能段所需时间应尽量相等。(4)流水线需要有“通过时间”,在此之后流水过程才进入稳定工作状态,每一个时钟周期(

46、拍)流出一个结果。(5)流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水线的效率才能充分发挥。【例3-3】设在下图所示的静态流水线上计算:流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,试计算其吞吐率、加速比和效率。 (每段的时间都为t)分析如下:(1)选择适合流水线工作的算法:1) 先计算A1+B1、A2+B2、A3+B3 和A4+B4。2) 再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4) 。3) 然后求总的乘积结果(2)画出时空图:(3)计算性能在18个t时间中,给出了7个结果。吞吐率为: 不用流水线,由于一次求和需6

47、t,一次求积需4t, 则产生上述7个结果共需(4×6+3×4)t = 36t 加速比为流水线的效率 可以看出,在求解此问题时,该流水线的效率不高。第4章 指令集并行授课内容:几乎所有的处理机都利用流水线来使指令重叠并行执行,以达到提高性能的目的。这种指令之间存在的潜在并行性称为指令级并行。本章研究:如何通过各种可能的技术,获得更多的指令级并行性。4.1:指令级并行的概念最基本的开发循环级并行的技术有两种:循环展开(loop unrolling)技术和采用向量指令和向量数据表示。而流水线相关有三种:数据相关、名相关、控制相关。因而流水线冲突也有三种类型:结构冲突、数据冲突、控

48、制冲突。4.2:指令的动态调度理解指令的动态调度和静态调度概念的不同,而指令的动态调度是指在程序的执行过程中,依靠专门硬件对代码进行调度,减少数据相关导致的停顿。Tomasulo算法的思想是:记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最小;通过寄存器换名来消除WAR冲突和WAW冲突。4.3:动态分支预测技术本节中介绍的方法对于每个时钟周期流出多条指令(若为n条,就称为n流出)的处理机来说非常重要,包括分支历史表,分支目标缓冲器,基于硬件的前瞻执行三个方面。4.4:多指令流出技术因一个时钟周期内流出多条指令, CPI1,所以多流出比但流出处理机更为比静态调度高效

49、。而该技术将从动态调度,超长指令字,多流出处理器受到的限制,超流水线处理机进行介绍。4.5:循环展开和指令调度为充分开发指令之间存在的并行性,找出不相关的指令序列,让它们在流水线上重叠并行执行,于是提出了循环展开和指令调度。目的要求:1. 了解指令动态调度技术;2. 了解控制相关动态解决技术的基本思想和可解决的问题;3. 了解多指令流出技术思想;4. 掌握Tomasulo算法的思想;5. 掌握指令级并行的概念;6. 应用循环展开、重命名等提高指令级并行的基本技术;重点:1. 控制相关动态解决技术的基本思想和可解决的问题;2. 指令级并行的概念;3. Tomasulo算法的思想;4. 应用循环展

50、开、重命名等提高指令级并行的基本技术;难点:1. 控制相关动态解决技术的基本思想和可解决的问题;2. Tomasulo算法的思想;学习方法指导:指令级并行,一种平行计算形式,在一个程式运行中,许多指令操作,能在同时间进行。它也是一个测量值,用来计算在一个程式运算中,它有多少个指令能够在同时间运算,称为指令层级平行度。实现指令层级,可以用硬件或软件方式来实作。硬件方式有,指令管线化、超标量等。但真正掌握指令集并行设计与实现,需要课后再花时间研究学习。作业:1. 解释下列术语: 指令级并行 循环展开技术超标量处理机分支历史表BHTBTBCDB 动态分支预测技术动态调度方法答案:1.指令级并行-当指

51、令之间不存在相关时,它们可以在流水线中重叠起来并行执行。这种指令序列中存在的潜在并行性称为指令级并行。2.循环展开技术-开发循环级并行的一种基本技术。它将循环体展开若干次,将循环级并行转化为指令级并行。这个过程既可以通过编译器静态完成,也可以通过硬件动态进行。3.超标量处理机-一种多流出处理机。在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,不过有个上限。设这个上限为n,就称该处理机为n流出。4.分支历史表BHT-记录分支指令最近一次或几次的执行情况(成功或不成功),并据此进行预测。5. BTB-分支目标缓冲器。用专门的硬件实现的一张表格。表格中的每一项至少有两个字段: 执行过的成功

52、分支指令的地址; 预测的分支目标地址。6. CDB-公共数据总线。它是一条重要的数据通路,所有功能部件的计算结果都要送到CDB上,由它把这些结果直接送到(播送到)各个需要该结果的地方。7.动态分支预测技术-在程序运行时,根据分支指令过去的表现来预测其将来的行为。如果分支行为发生了变化,预测结果也跟着改变。动态分支预测技术的目的有两个:预测分支是否成功和尽快找到分支目标地址(或指令),从而避免因控制相关而造成流水线停顿。8. 动态调度方法-在流水线中出现相关时,通过硬件重新安排指令的执行顺序,来调整相关指令实际执行时的关系,减少处理器空转。2.简述前瞻执行的基本思想。答案:对分支指令的结果进行猜

53、测,并假设这个猜测总是对的,然后按这个猜测结果继续取、流出和执行后续的指令。只是执行指令的结果不是写回到寄存器或存储器,而是放到一个称为ROB的缓冲器中。等到相应的指令得到“确认”(即确实是应该执行的)后,才将结果写入寄存器或存储器。参考书目:1 计算机系统结构张晨曦主编,高等教育出版社 ;2008年6月;2 计算机系统结构郑纬民主编, 清华大学出版社;本章典型例题分析:【例4-1】论述Tomasulo算法的基本思想。分析如下:Tomasulo算法的基本思想是只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。

54、指令的执行结果也是直接送到等待数据的其他保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。指令流出逻辑和保留站相结合实现寄存器换名,从而完全消除了数据写后写和先读后写相关这类名相关。【例4-2】在Tomasulo算法中,进入“流出”段的条件是什么?对于浮点操作来说,要进行哪些动作和记录工作? 分析如下:进入“流出”段的条件:有空闲保留站r 动作和记录工作:写出算法或者文字描述均可。要点: (1)判断第一操作数是否就绪;如果是,就把操作数读到保留站,否则就把寄存器状态表中的标识送给保留站。 (2)判断第二操作数是否就绪;如果是,就把操作数读到保留站,否则就把寄存器状态表中的标识送给保留站。 (3)把保留站置为忙。 (4)把操作码送保留站。 (5)把保留站号r送到与该指令的结果寄存器对应的寄存器状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论