第2讲计算机体系结构_第1页
第2讲计算机体系结构_第2页
第2讲计算机体系结构_第3页
第2讲计算机体系结构_第4页
第2讲计算机体系结构_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1/77/77计算机系统结构的基本概念姚英彪姚英彪杭州电子科技大学2 2/77/771.1 引言1.2 计算机系统结构的概念1.3 定量分析技术1.4 计算机系统结构的发展1.5 计算机系统结构中并行性的发展1.6 指令集3 3/77/771.1 引言n 计算机系统通用计算机系统:高速、海量的计算,速度的无限提升,存储容量的无限扩大,性能无限提升。嵌入式计算机系统:面向具有应用的性能最优,性能、功耗、成本、体积等需综合考虑。n 比较共同点:基本组成与结构完全一致不同的:发展方向完全不同,设计技术也不一样计算机系统粗分类与特点4 4/77/771. 第一台通用电子计算机诞生于1946年 2.

2、 计算机技术的飞速发展得益于两个方面 计算机制造技术的发展 计算机系统结构的创新3. 经历了4个发展过程 通用计算机的发展历程5 5/77/77时 间原 因每年的性能增长19461946年起的年起的2525年年 两种因素都起着主要的作用两种因素都起着主要的作用 25% 25% 2020世纪世纪7070年代末年代末8080年代初年代初 大规模集成电路和微处理器大规模集成电路和微处理器出现出现, ,以集成电路为代表的制以集成电路为代表的制造技术的发展造技术的发展 约约35% 35% 2020世纪世纪8080年代中开年代中开始始 RISCRISC结构的出现,系统结构不断更结构的出现,系统结构不断更新

3、和变革,制造技术不断发展新和变革,制造技术不断发展50%50%以上以上维持了约维持了约1616年年 20022002年以来年以来 3 3个(见下页)个(见下页)约约20%20%1.1 引言6 6/77/77存在问题及发展方向 功耗问题(已经很大)。 可以进一步有效开发的指令级并行性已经很少。 存储器访问速度的提高缓慢。系统结构的重大转折: 从单纯依靠指令级并行转向开发线程级并行和数据级并行。7 7/77/77计算机系统细分类n 通用计算机系统个人计算机工作站/服务器超级计算机n 嵌入式计算机系统微控制器,51单片机微处理器,ARM数字信号处理器,C2000片上系统,各种SoC芯片8 8/77/

4、771. 计算机系统硬件(固件)软件2. 计算机语言从低级向高级发展高一级语言的语句相对于低一级语言来说功能更强,高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。更便于应用,但又都以低级语言为基础。 3. 虚拟机:由软件实现的机器4. 计算机系统结构的抽象定义程序员所看到的计算机属性,即概念性结构与功能特性。5. 系统结构具体一点的定义 传统机器语言级程序员所看到的计算机属性:指令集结构、组成、硬件1.2 计算机系统结构的概念9 9/77/771.2 计算机系统结构的概念指令系统 :包括机器指令的操作类型和格式、指令间的排序和控制机构等。数据表示 :硬件能直接

5、识别和处理的数据类型。寻址规则 :包括最小寻址单元、寻址方式及其表示。寄存器定义 :各种寄存器的定义、数量和使用方式中断系统:中断的类型和中断响应硬件的功能等 机器工作状态的定义和切换存储系统 :主存容量、程序员可用的最大存储容量等 I/O结构:包括I/O连结方式、处理机/存储器与I/O设备之间数据传送的方式和格式以及I/O操作的状态等 1010/77/774个定量原理:1. 以经常性事件为重点对经常发生的情况采用优化方法的原则进行选 择,以得到更多的总体上的改进。优化是指分配更多的资源、达到更高的性能。 1.3 定量分析技术1.3.1 计算机系统设计的定量原理1111/77/771.3 定量

6、分析技术 Amdahl定律 加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 1212/77/771.3 定量分析技术加速比依赖于两个因素q可改进比例:可改进比例:在改进前的系统中,可改进部分的执在改进前的系统中,可改进部分的执 行时间在总的执行时间中所占的比例。行时间在总的执行时间中所占的比例。 它总是小于等于它总是小于等于1 1。例如:例如:一个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以加速,秒的运算可以加速, 那么这个比例就是那么这个比

7、例就是20/6020/60。q部件加速比:部件加速比:可改进部分改进以后性能提高的倍数。可改进部分改进以后性能提高的倍数。 它是改进前所需的执行时间与改进后执行时间的比。它是改进前所需的执行时间与改进后执行时间的比。 一般情况下部件加速比是大于一般情况下部件加速比是大于1 1的。的。例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒, 而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。1313/77/771.3 定量分析技术改进后程序的总执行时间总执行时间改进后 不可改进部分的执行时间 可改进部分改进后

8、的执行时间总执行时间改进后 (1可改进比例)总执行时间改进前 + (1 可改进比例) + 总执行时间改进前 可改进比例部件加速比可改进比例总执行时间改进前部件加速比1414/77/771.3 定量分析技术系统加速比为改进前与改进后总执行时间之比加速比 总执行时间改进前总执行时间改进后 (1可改进比例)+可改进比例部件加速比11515/77/771.3 定量分析技术 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高到原来的2020倍,倍,但该功能的处理时间仅占整个系统运行时间的但该功能的处理时间仅占整个系统运行时间的40%40%,则采用此提,则采用此提高性能的方法

9、后,能使整个系统的性能提高多少?高性能的方法后,能使整个系统的性能提高多少? 解解 由题可知,可改进比例由题可知,可改进比例 = 40% = 0.4= 40% = 0.4, 部件加速比部件加速比 = 20= 20 根据根据AmdahlAmdahl定律可知:定律可知: 采用此提高性能的方法后,能使整个系统的性能提高到原采用此提高性能的方法后,能使整个系统的性能提高到原来的来的1.6131.613倍倍。 总加速比 = 10.6 +0.420= 1.6131616/77/771.3 定量分析技术Amdahl定律:一种性能改进的递减规则q如果仅仅对计算任务中的一部分做性能改进,则改如果仅仅对计算任务中

10、的一部分做性能改进,则改 进得越多,所得到的总体性能的提升就越有限。进得越多,所得到的总体性能的提升就越有限。重要推论:如果只针对整个任务的一部分进行改 进和优化,那么所获得的加速比不超过 1/(1可改进比例) 1717/77/771.3 定量分析技术 CPU性能公式执行一个程序所需的CPU时间CPU时间 = 执行程序所需的时钟周期数时钟周期时间其中,时钟周期时间是系统时钟频率的倒数。每条指令执行的平均时钟周期数CPI (Cycles Per InstructionCycles Per Instruction) CPI = 执行程序所需的时钟周期数IC ICIC:所执行的指令条数所执行的指令条

11、数程序执行的CPU时间可以写成 CPU时间 = IC CPI 时钟周期时间 1818/77/771.3 定量分析技术CPU的性能取决于3个参数q时钟周期时间:时钟周期时间:取决于硬件实现技术和计算机组成。取决于硬件实现技术和计算机组成。qCPICPI:取决于计算机组成和指令集结构。取决于计算机组成和指令集结构。qICIC:取决于指令集结构和编译技术。取决于指令集结构和编译技术。对CPU性能公式进行进一步细化 假设:计算机系统有假设:计算机系统有n n种指令;种指令; CPICPIi i :第第i i种指令的处理时间;种指令的处理时间; ICICi i :在程序中第在程序中第i i种指令出现的次

12、数;种指令出现的次数;则则 CPUCPU时钟周期数时钟周期数 = = (CPI (CPIi i IC ICi i) )n ni i=1=11919/77/771.3 定量分析技术CPU时间 = 执行程序所需的时钟周期数时钟周期时间 = (CPIiICi)时钟周期时间CPI可以表示为CPI = = = 其中,(ICi/IC)反映了第i种指令在程序中所占的比例。 i=1n时钟周期数IC(CPIiICi)i=1nIC(CPIi )i=1nICiIC2020/77/771.3 定量分析技术 程序的局部性原理 程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。常用的一个经验规则程序执行时间的程

13、序执行时间的90%90%都是在执行程序中都是在执行程序中10%10%的代码。的代码。程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。程序即将用到的信息很可能就是目前正在使用的信息。程序的空间局部性 程序即将用到的信息很可能与目前正在使用的信息程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。在空间上相邻或者临近。2121/77/771.3 定量分析技术1. 执行时间和吞吐率 如何评测一台计算机的性能,与测试者看问题的角度有关。用户关心的是:单个程序的执行时间(执行单个 程序所花的时间很少)数据处理中心的管理员关心的是:吞吐率(在单 位时间里能够完成的任务很多 )

14、1.3.2 计算机系统的性能评测2222/77/771.3 定量分析技术假设两台计算机为X和Y,X比Y快的意思是: 对于给定任务,X的执行时间比Y的执行时间少。X的性能是Y的n倍,即而执行时间与性能成反比,即 执行时间Y执行时间X=nn= = =执行时间Y执行时间X性能Y1性能X1性能X性能Y2323/77/771.4 计算机系统结构的发展冯诺依曼结构 运算器 (ALU) 控制器 存储器 数数据据流流 控控制制流流 输输入入 指指令令流流 输入 设备 输输出出 输出 设备 存储程序计算机的结构存储程序计算机的结构 2424/77/771.4 计算机系统结构的发展1. 存储程序原理的基本点:指令

15、驱动程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。2. 冯诺依曼结构的主要特点以运算器为中心。在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。序是可以修改的。存储器是按地址访问、按顺序线性编址的一维结 构,每个单元的位数是固定的。2525/77/771.4 计算机系统结构的发展指令的执行是顺序的。q一般是按照指令在存储器中存放的顺序执行。一般是按照指令在存储器中存放的顺序执行。q程序的分支由转移指令实现。程序的分支由转移指令实现。q由

16、指令计数器由指令计数器PCPC指明当前正在执行的指令在存储器指明当前正在执行的指令在存储器 中的地址。中的地址。指令由操作码和地址码组成。指令和数据均以二进制编码表示,采用二进制运算。2626/77/771.4 计算机系统结构的发展 对系统结构进行的改进输入/输出方式的改进采用并行处理技术 q如何挖掘传统机器中的并行性?如何挖掘传统机器中的并行性?q在不同的级别采用并行技术。在不同的级别采用并行技术。 例如,微操作级、指令级、线程级、进程级、任务级等。例如,微操作级、指令级、线程级、进程级、任务级等。 程序控制程序控制 输入输出方式输入输出方式 DMA I/O 处理机处理机 程序等待程序等待

17、程序中断程序中断 成组传递成组传递 周期挪用周期挪用 通道通道 外围处理机外围处理机 2727/77/771.4 计算机系统结构的发展存储器组织结构的发展q相联存储器与相联处理机相联存储器与相联处理机q通用寄存器组通用寄存器组q高速缓冲存储器高速缓冲存储器CacheCache指令集的发展 两个发展方向:q复杂指令集计算机(复杂指令集计算机(CISCCISC)q精减指令集计算机(精减指令集计算机(RISCRISC)2828/77/771.4 计算机系统结构的发展软件的可移植性:一个软件可以不经修改或者只 需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。 我们称

18、这两台计算机是软件兼容的。实现可移植性的常用方法 采用系列机,模拟与仿真,统一高级语言采用系列机,模拟与仿真,统一高级语言 。软件对系统结构的影响 2929/77/771. 系列机 由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。q较好地解决软件开发要求系统结构相对稳定与器较好地解决软件开发要求系统结构相对稳定与器 件、硬件技术迅速发展的矛盾。件、硬件技术迅速发展的矛盾。软件兼容 时间时间 机器档次机器档次 高高 低低 向上兼容向上兼容 向下兼容向下兼容 向前兼容向前兼容 向后兼容向后兼容 当前机器当前机器 1.4 计算机系统结构的发展3030/77/771.4

19、 计算机系统结构的发展q向上(下)兼容:向上(下)兼容:按某档机器编制的程序,不加修改按某档机器编制的程序,不加修改 就能运行于比它高(低)档的机器。就能运行于比它高(低)档的机器。q向前(后)兼容:向前(后)兼容:按某个时期投入市场的某种型号机按某个时期投入市场的某种型号机 器编制的程序,不加修改地就能运行于在它之前器编制的程序,不加修改地就能运行于在它之前 (后)投入市场的机器。(后)投入市场的机器。 向后兼容是系列机的根本特征。兼容机:由不同公司厂家生产的具有相同系统结 构的计算机 。3131/77/771.4 计算机系统结构的发展 模拟和仿真使软件能在具有不同系统结构的机器之间相互移植

20、。q在一种系统结构上实现另一种系统结构。在一种系统结构上实现另一种系统结构。q从指令集的角度来看,就是要在一种机器上实现从指令集的角度来看,就是要在一种机器上实现 另一种机器的指令集。另一种机器的指令集。模拟:用软件的方法在一台现有的机器(称为宿主机)上实现另一台机器(称为虚拟机)的指令集。q通常用解释的方法来实现。通常用解释的方法来实现。q运行速度较慢,性能较差。运行速度较慢,性能较差。3232/77/771.4 计算机系统结构的发展仿真:用一台现有机器(宿主机)上的微程序 去解释实现另一台机器(目标机)的指令集。q运行速度比模拟方法的快运行速度比模拟方法的快q仿真只能在系统结构差距不大的机

21、器之间使用仿真只能在系统结构差距不大的机器之间使用 统一高级语言 实现软件移植的一种理想的方法3.较难实现3333/77/771. 并行性:计算机系统在同一时刻或者同一时间间隔内 进行多种运算或操作。只要在时间上相互重叠,就存在并行性。只要在时间上相互重叠,就存在并行性。同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔 内发生。 1.5 计算机系统结构中并行性的发展并行性的概念 3434/77/771.5 计算机系统结构中并行性的发展 从处理数据的角度来看,并行性等级从低到高可分为:字串位串:每次只对一个字的一位进行处理。 最基本的串行处理方式,不存在并行

22、性。最基本的串行处理方式,不存在并行性。字串位并:同时对一个字的全部位进行处理,不 同字之间是串行的。 开始出现并行性。开始出现并行性。字并位串:同时对许多字的同一位(称为位片) 进行处理。 具有较高的并行性。具有较高的并行性。全并行:同时对许多字的全部位或部分位进行处理。 最高一级的并行。最高一级的并行。3535/77/771.5 计算机系统结构中并行性的发展 从执行程序的角度来看,并行性等级从低到高可分为:指令内部并行:单条指令中各微操作之间的并行。指令级并行:并行执行两条或两条以上的指令。线程级并行:并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。通常是以一个

23、进程内派生的多个线程为调度单位。任务级或过程级并行:并行执行两个或两个以上 的过程或任务(程序段) 以子程序或进程为调度单元。以子程序或进程为调度单元。作业或程序级并行:并行执行两个或两个以上的 作业或程序。 3636/77/771.5 计算机系统结构中并行性的发展三种途径:1. 时间重叠 引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。2. 资源重复 引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。1.5.2 提高并行性的技术途径 3737/77/771.5 计算机系统结构中并行性的发展 资源共享

24、这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 3838/77/771.5 计算机系统结构中并行性的发展1. 在发展高性能单处理机过程中,起主导作用的是时间 重叠原理。实现时间重叠的基础:部件功能专用化q把一件工作按功能分割为若干相互联系的部分;把一件工作按功能分割为若干相互联系的部分;q把每一部分指定给专门的部件完成;把每一部分指定给专门的部件完成;q按时间重叠原理把各部分的执行过程在时间上按时间重叠原理把各部分的执行过程在时间上 重叠起来,使所有部件依次分工完成一组同样的工作。重叠起来,使所有部件依次分工完成一组同样的工作。1.5.3 单机系统中并行性的发展 3939

25、/77/771.5 计算机系统结构中并行性的发展 例如: 对于解释指令的5个过程,就分别需要5个专用的部件:取指令部件(IF)、指令译码部件(ID)、指令执行部件(EX)、访问存储器部件(M)和写结果部件(WB)。 IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB 指指令令 i 指指令令 i+1 指指令令 i+2 指指令令 i 指指令令 i+1 指指令令 i+2 指指令令 i+3 时时间间 串串行行执执行行 流流水水执执行行 4040/77/771.

26、5 计算机系统结构中并行性的发展 在单处理机中,资源重复原理的运用也已经十分普遍。多体存储器多操作部件q通用部件被分解成若干个专用部件,如加法部件、乘通用部件被分解成若干个专用部件,如加法部件、乘 法部件、除法部件、逻辑运算部件等,而且同一种部法部件、除法部件、逻辑运算部件等,而且同一种部 件也可以重复设置多个。件也可以重复设置多个。q只要指令所需的操作部件空闲,就可以开始执行这条只要指令所需的操作部件空闲,就可以开始执行这条 指令(如果操作数已准备好的话)。指令(如果操作数已准备好的话)。q这实现了这实现了指令级并行指令级并行。 4141/77/771.5 计算机系统结构中并行性的发展阵列处

27、理机(并行处理机) 更进一步,设置许多相同的处理单元,让它们在同更进一步,设置许多相同的处理单元,让它们在同一个控制器的指挥下,按照同一条指令的要求,对向量一个控制器的指挥下,按照同一条指令的要求,对向量或数组的各元素同时进行同一操作,就形成了阵列处理或数组的各元素同时进行同一操作,就形成了阵列处理机机 。 在单处理机中,资源共享的概念实质上是用单处理机 模拟多处理机的功能,形成所谓虚拟机的概念。4242/77/771.6 ISA: RISC or CISCn ISA(Instruction Set Architecture)是重要的软硬件接口,是人与计算机沟通的语言,有两种表现形式 二进制形

28、式(binary format):是计算机识别的二进制代码形式 汇编语言形式(assembly format):是便于人类记忆的一种助记符形式,机器无法识别,但可由汇编工具(assembler)汇编成二进制形式,也可由二进制形式反汇编为汇编语言形式1.6 指令集ISA4343/77/771.6 ISA: RISC or CISC4444/77/771.6 ISA: RISC or CISC4545/77/77指令是软件要求微处理器执行的一个命令,这里隐含了下列问题:n 指令要求微处理器处理什么数据?n 指令要求微处理器对数据进行什么处理?n 微处理器怎样才能得到要处理的数据? 这三个问题就是指

29、令的操作数、操作码和寻址方式需要解决的,也是确定指令系统的最基本的要素。1.6 ISA: RISC or CISC4646/77/77指令系统设计的三个阶段:CISC:复杂指令系统70-80年代,CISC结构的微处理器为市场的主流RISC:精简指令系统80-90年代末期,RICS结构的处理器得到发展,大量出现在高性能的计算机中后RISC时期RISC和CISC互相借鉴继续发展,出现了新型的结构4747/77/77n ISA例子CISCX86,Intel、AMDRISCARM、MIPSSIMDGPU、X86 extensionVLIWTI C6000EPIC IA-64 Itanium1.6 IS

30、A: RISC or CISC4848/77/77CISCCISC的设计思想的设计思想复杂指令系统计算机复杂指令系统计算机CISC(Complex Instruction Set Computer)试图用数目少、功能强的指令来完成程序的任务试图用数目少、功能强的指令来完成程序的任务p 设计方法:设计方法: 用一条指令代替一串指令用一条指令代替一串指令l增加新的指令增加新的指令l增强指令的功能,设置功能复杂的指令增强指令的功能,设置功能复杂的指令l增加寻址方式增加寻址方式l增加数据的表现形式增加数据的表现形式4949/77/77CISC实现了软件功能的硬化实现了软件功能的硬化p特点:l指令条数多

31、l指令功能强l寻址方式多l执行时间长lCPU控制电路复杂p 不足:l指令的条数多,功能复杂l寻址方式多,指令的格式多,字节数长l指令分析器复杂,面积增大,成本提高 l芯片设计周期长,成功率低,可靠性降低l指令操作繁杂,速度低。 功能复杂,寻址方式多,指令的格式多,字节数长都影响 CPU 指令执行的速度 CISCCISC特点与不足特点与不足5050/77/77p 指令系统庞大,使高级语言编译程序生成目标程序的难度大、效率低 编译程序选择的目标范围大 很难生成真正高效 的机器语言程序 编译生成的目标程序长度长p 指令使用的频度差别很大,许多指令利用率很低 增加设计人员 负担,降低了系统性能价格比

32、20%-80%规律规律仅20%的指令被反复使用,在总程序数量中占80% 有80%的指令较少被使用,在总程序数量中占20% 5151/77/775252/77/77问题:问题:花费如此巨大的硬件成本去实现一些极少使用的指令花费如此巨大的硬件成本去实现一些极少使用的指令是否合算?是否合算?对软硬件的功能分配需要重新思考对软硬件的功能分配需要重新思考提出提出RISC思想思想5353/77/77RISCRISC设计思想设计思想精简指令系统计算机精简指令系统计算机RISC(Reduced Instruction Set Computer)通过减少指令种数和简化指令功能来降低硬件设计的复杂度,提高指令的执行速度l只保留功能简单的指令,对复杂的不常用指令进行精简l 功能较复杂的指令改由软件实现l设置大量

温馨提示

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

评论

0/150

提交评论