资源描述
2024/7/211第二章第二章 计算机的基本结构计算机的基本结构 和工作原理和工作原理u计算机的体系结构u精简指令集计算机与复杂指令集计算机u计算机的并行技术u指令流水线技术u计算机系统的性能测评计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性.n冯诺伊曼结构图2-1基于冯诺依曼体系结构的计算机组成2.1 2.1 计算机的体系结构计算机的体系结构 冯诺伊曼计算机的典型特征五大组成部件二进制编码存储程序和程序控制控制器、运算器、存储器、输入设备和输出设备二进制形式表示数据(Data)和指令(Insruction)存储程序是把指令按一定的规则组成的程序以二进制代码的形式事先输入到计算机的主存储器中。程序控制是指当计算机启动后,程序会控制计算机按规定的顺序逐条执行指令,自动完成预定的信息处理任务。n基于总线的冯诺伊曼架构模型机l总线子系统总线子系统:作为公共通道连接各子部件,用于实现各部件之间的数据、信息等的传输和交换l存储器子系统存储器子系统:用来存放当前的运行程序和数据l输输入输出子系统入输出子系统:用于完成计算机与外部的信息交换lCPUCPU子系统子系统:集成了运算器、控制器和寄存器的超大规模集成电路芯片(VLSI)模型机总线结构MPURAMROMI/O接口接口外设外设ABDBCB按传输信息的不同,可将总线分为数据总线DB、地址总线AB和控制总线CB三类:地址总线:地址总线:通常是单向的,由主设备(如CPU)发出,用于选择读写对象(如某个特定的存储单元或外部设备);数据总线:数据总线:用于数据交换,通常是双向的;控制总线:控制总线:包括真正的控制信号线(如读/写信号)和一些状态信号线(如是否已将数据送上总线),用于实现对设备的监视和控制。2024/7/216微型计算机的三种总线结构模型机内存储器存储器组织由许多字节单元组成,每个单元都有一个唯一的编号 (存储单元地址),保存的信息称为存储单元内容。访问(读或写)存储单元:存储单元地址经地址译码后产生相应的 选通信号,同时在控制信号的作用下读出存储单元内容到数据缓 冲器,或将数据缓冲器中的内容写入选定的单元。2024/7/218模型机CPU子系统算术逻辑单元算术逻辑单元ALU累加器累加器ACC累加锁存器累加锁存器暂存暂存器器通用寄存器组通用寄存器组堆栈指针堆栈指针SP程序计数器程序计数器PC微微 操操 作作 控控 制制 电电 路路指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码,地址码地址码脉冲分配器脉冲分配器时钟脉冲源时钟脉冲源控制总线控制总线CB地址总线地址总线AB数据总线数据总线DB内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器运算器运算器寄存器组寄存器组控制器控制器标志寄存器标志寄存器FR 计算机与直接相连的外围设备进行数据交换的过程称为输入/输出(In/Out,简称 I/O)。与远距离的设备进行数据交换的过程称为数据通信(Data Communication)。I/O设备被统称为外部设备,简称外设。外部设备与计算机的连接最终是归结到通过总线与CPU进行信息数据的交换,为了匹配和简化互连,需要在总线和设备之间添加一个信息交换的中间环节接口(Interfacc)。输入/输出子系统n模型机的指令集与工作过程程序执行过程指令是发送到CPU的命令,指示CPU执行一个特定的处理,如从存储器取数据、对数据进行逻辑运算等。CPU可以处理的全部指令集合称为指令集(Instruction Set)。指令集结构(ISA,Instruction Set Architecture)是体系结构的主要内容之一,对CPU的基本组织会产生非常大的影响。ISA功能设计实际就是确定软硬件的功能分配。指令通常包含操作码和操作数两部分。操作码指明要完成操作的性质,如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作的数据或数据所存放的地址。模型机的部分常用汇编指令模型机工作原理计算机的工作本质上就是执行程序的过程。l顺序执行指令执行的基本过程可以分为取指令(fetch)、分析指令(decode)和执行指令(execute)三个阶段。取指令阶段的任务:根据程序计数器(PC)中的值从存储器中读出现行指令,送到指令寄存器(IR),然后 PC自动加1。如果一条指令有 N个字节,取指令就要进行N次。也就是取出一条指令后,PC的值要加 N,指向下一条指令地址。分析指令阶段的任务:对指令操作码进行指令译码,分析其指令性质。如指令要求操作数,则应形成寻找操作数的地址。2024/7/2113 执行指令阶段的任务:取出操作数,执行指令规定的操作。根据指令不同还可能写入操作结果。l非顺序执行1.转移(jump)执行条件/无条件转移指令,不 返回2.过程(procedure)调用主程序调用子程序后返回断点3.中断(interrupt)外界突发事件处理完后返回断点4.异常(exception):程序本身产生的某些例外处理完后重新执行5.陷阱(trap):程序本身产生某些例外条件处理完后返回断点2024/7/2114MOV 5CH,R1ADD R1,2EH,R2ABDBALU累加器累加器ACC暂存器暂存器标志寄存器标志寄存器FR寄存器组寄存器组 操作控制器操作控制器OC指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码,地址码地址码内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器程序计数程序计数器器PC地地址址译译码码读控制读控制B0H5CH04H2EH地址地址1001H1002H1003H内容内容1000H内存储器内存储器CPU外外CPU内内1程序的执行过程n哈佛结构程序存储器与数据存储器的并行读/写需求要求CPU提供两套独立的地址和数据总线存储器串形读/写,速率低下指令集指令集(包括指令功能、指令格式和寻址方式包括指令功能、指令格式和寻址方式)的更新的更新和优化;和优化;利用程序的局部性原理将存储器划分为多个层次,利用程序的局部性原理将存储器划分为多个层次,以达到速度、容量和价格的平衡;以达到速度、容量和价格的平衡;高速总线和多种接口高速总线和多种接口n冯 诺依曼结构的改进存储器采用分层子系统现代计算机系统通常把不同的存储设备现代计算机系统通常把不同的存储设备按一定的体系结构组织起来,以解决按一定的体系结构组织起来,以解决存存储容量、存取速度和价格储容量、存取速度和价格之间的矛盾。之间的矛盾。2024/7/2117并行存储器并行存储器双端口存储器双端口存储器总线与输入/输出子系统的改进简单总线结构 现代并行总线结构输入输出管理方式主机和外设之间常用的几种连接模式2.2 2.2 精简指令集计算机与精简指令集计算机与 复杂指令集计算机复杂指令集计算机复杂指令集计算机(Complex Instruction Set Computer,CISC)精简指令集计算机(Reduced Instruction Set Computer,RISC)。接照指令的执行方式和指令集的复杂程度将计算机结构划分的两种:CPU的指令集结构(Instruction Set Architecture,ISA)是计算机体系结构的主要内容之一,其功能设计实际上就是从速度、成本和灵活性三个方面确定软硬件的功能分配。硬件:速度快、成本高、灵活性差软件:速度慢、成本低、灵活性好2024/7/2123CISC与RISClCISCCISC(复杂指令集计算机)(复杂指令集计算机)设计思想:将复杂指令功能通过微程序实现,再将微程设计思想:将复杂指令功能通过微程序实现,再将微程序固化或硬化后交由硬件实现,从而实现软件功能的序固化或硬化后交由硬件实现,从而实现软件功能的硬化。硬化。IntelIntel公司的公司的X86X86系列系列CPUCPU是典型的是典型的CISCCISC体系的结构体系的结构 lRISCRISC(精减指令集计算机)(精减指令集计算机)设计思想:通过减少指令种类和简化指令功能来降低设计思想:通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。硬件设计复杂度,从而提高指令的执行速度。目前常见使用目前常见使用RISCRISC的处理器包括的处理器包括ARMARM、MIPSMIPS、PowerPCPowerPC等。等。2024/7/2124CISC的特点美国加州大学Berkeley分校的研究结果表明:许多复杂指令很少被使用,“2-8原则”控制器硬件复杂(指令多,且具有不定长格式和复杂的数据类型),占用了大量芯片面积,且容易出错;指令操作繁杂,速度慢;指令规整性不好,不利于采用流水线技术提高性能。2024/7/2125RISC的特点 RISC机的设计应当遵循以下五个原则:指令条数少,格式简单,易于译码;提供足够的寄存器,只允许load和store指令访问内存;指令由硬件直接执行,在单个周期内完成;充分利用流水线;依赖优化编译器的作用;RISC技术和CISC技术是改善计算机性能的两种不同方式,CISC的复杂性在于硬件,即CPU中控制器部分的设计实现;而RISC的复杂性在于软件,即编译程序的编写和优化。现代处理器通常采用 CISC的外围,内部加入了 RISC的特性,如超长指令集处理器就是融合了 RISC和 CISC的优势,成为 CPU的发展方向之一。2024/7/2126CISC与RISC的数据流IRIDREGALUMEM开始退出IRIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构结构CISC:寻址方式复杂:寻址方式复杂2.3计算机的并行技术计算机的并行技术计算机系统在同一时刻或同一时间间隔内进行多种计算机系统在同一时刻或同一时间间隔内进行多种运算或多个操作称为计算机的并行性运算或多个操作称为计算机的并行性(parauelism)(parauelism)。它包括同时性它包括同时性(simultaneity)(simultaneity)和并发性和并发性(concurrency)(concurrency)。同时性指两个或两个以上事件在同一时刻发生同时性指两个或两个以上事件在同一时刻发生并发性指两个或两个以上事件在同一时间间隔内发生。并发性指两个或两个以上事件在同一时间间隔内发生。并行处理技术就是描述多个处理器或处理器模块并行并行处理技术就是描述多个处理器或处理器模块并行执行的工作模式。执行的工作模式。并行计算机体系结构分成以下四种结构:并行计算机体系结构分成以下四种结构:传统的向量处理机传统的向量处理机VCPVCP,多处理机多处理机MPMP,工作站机群工作站机群NOWNOW大规模并行处理机大规模并行处理机MPPMPP。2024/7/2128 并并行处理技术实现多个处理器或处理器模块的并行性,行处理技术实现多个处理器或处理器模块的并行性,其基本思想包括时间重叠(其基本思想包括时间重叠(time interleavingtime interleaving)、资源)、资源重重复复(resource replicaitonresource replicaiton)和资源共享()和资源共享(resource resource sharingsharing)。)。系统级并行技术系统级并行技术SLPSLP多处理器(多机多处理器(多机/多核)、多磁盘多核)、多磁盘 流水线、超标量、超长指令字流水线、超标量、超长指令字线程级并行技术线程级并行技术TLPTLP同时多线程同时多线程SMTSMT电路级并行技术电路级并行技术CLPCLP组相联组相联cachecache、先行进位加法器、先行进位加法器指令级并行技术指令级并行技术ISPISP2024/7/2129多多机系统是指由两台以上计算机经网络互连,并能够机系统是指由两台以上计算机经网络互连,并能够在操在操作系作系统统控控制下合作解决一个共同问题的计算机系统制下合作解决一个共同问题的计算机系统 。大规模并行处理机(大规模并行处理机(MPPMPP)是一种价格昂贵的超级计算机)是一种价格昂贵的超级计算机,它,它由由许许多多CPUCPU通过专用的高速互联网络连接。通过专用的高速互联网络连接。机群(机群(clustercluster)由多台同构或异构的独立计算机通过由多台同构或异构的独立计算机通过高性高性能网能网络络或或局域网连在一起协同完成特定的并行计算任务。局域网连在一起协同完成特定的并行计算任务。刀片(刀片(bladeblade)通常指包含一个或多个通常指包含一个或多个CPUCPU、内存以及网、内存以及网络接络接口的口的服服务务器主板。通常一个刀片柜共享其它外部器主板。通常一个刀片柜共享其它外部I/OI/O和电和电源,而辅助存储源,而辅助存储器器则则有距离刀片柜较近的存储服务器提供。有距离刀片柜较近的存储服务器提供。网格(网格(NetworkNetwork)是一组由高速网络连接的不同的计算机系统,可是一组由高速网络连接的不同的计算机系统,可以以相相互合作也可独立工作。网格计算机将接受中央服务器分配的任务互合作也可独立工作。网格计算机将接受中央服务器分配的任务,然然后在不忙的时候(如晚上或周末)执行这些任务。后在不忙的时候(如晚上或周末)执行这些任务。多机系统与多核结构单片多核处理器是指将多个处理器集成到单个芯片中。单片多核处理器是指将多个处理器集成到单个芯片中。片内多个处理器能并行执行不同的进程,有效提高片内多个处理器能并行执行不同的进程,有效提高CPUCPU的性能。的性能。问题:晶体管数量、芯片面积及芯片发热问题:晶体管数量、芯片面积及芯片发热多多线程处理器是指仅复制单个处理器的某些部件线程处理器是指仅复制单个处理器的某些部件,同时利同时利用多线程技术,允许多个线程以交叠的方用多线程技术,允许多个线程以交叠的方式式在在单个单个处理处理器上共享功能单元,使处理器能并发器上共享功能单元,使处理器能并发地地执执行多个线行多个线程。程。有细粒度多线程和粗粒度多线程有细粒度多线程和粗粒度多线程两两种种实现方式。实现方式。2024/7/2131细粒度多线程细粒度多线程(Fine-Grail Multithreading)(Fine-Grail Multithreading)在每个指令中切换线程,处理器必须能在每个时钟在每个指令中切换线程,处理器必须能在每个时钟周期切换线程。其优点是可以隐藏停顿引起的吞吐量损周期切换线程。其优点是可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速度变慢了。失;缺点是单个线程处理速度变慢了。粗粒度多线程粗粒度多线程(Coarse-Grail Multithreading)(Coarse-Grail Multithreading)仅当遇到开销大的阻塞时才切换线程其缺陷在于流仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失,特别是对于短的阻塞。水线启动开销引起吞吐量损失,特别是对于短的阻塞。指令流水线技术指令流水线技术 指令流水线技术方案指令流水线技术方案的提出:的提出:为了克服冯为了克服冯诺依曼模型诺依曼模型计算机的处理器与存储器间的数据传输计算机的处理器与存储器间的数据传输(CPU-MEM)(CPU-MEM)和指令串和指令串行执行这两大性能瓶颈行执行这两大性能瓶颈指令的串行指令的串行(顺序顺序)执行执行顺序执行的优点是控制简单,顺序执行的优点是控制简单,缺点是上一步操作未完成,缺点是上一步操作未完成,下一步操作便不能开始,效率较低。下一步操作便不能开始,效率较低。例如,例如,CPUCPU从存储器中取指令或操作数时,存储器从存储器中取指令或操作数时,存储器忙而运算器空闲忙而运算器空闲;CPU;CPU执行运算时,运算器忙而存储执行运算时,运算器忙而存储器空闲。器空闲。指令流水完整执行一条指令可分为多个阶段,由不同的指令流水完整执行一条指令可分为多个阶段,由不同的部件来同时完成指令执行的不同阶段,执行效率将大大部件来同时完成指令执行的不同阶段,执行效率将大大提高。提高。精简指令集计算机精简指令集计算机RISCRISC为微处理器的指令流水线执行提为微处理器的指令流水线执行提供了先决条件。供了先决条件。指令流水线就是将一条指令分解成一连串执行的子过程。指令流水线就是将一条指令分解成一连串执行的子过程。其基本思想是将一个重复的时序分解成若干个子过程,其基本思想是将一个重复的时序分解成若干个子过程,而每一个子过程都可以有效地在其专用功能段上与其他而每一个子过程都可以有效地在其专用功能段上与其他子过程同时执行。子过程同时执行。流水线中的每个子过程及其功能部件称为流水线的级流水线中的每个子过程及其功能部件称为流水线的级(段段),级级(段段)数也称为流水线的深度数也称为流水线的深度(Pipeline(Pipeline Depth)Depth)。从时刻从时刻t t起称为流水线满载,三级流水线处于满载状态起称为流水线满载,三级流水线处于满载状态的过程中,保持着有三条指令正在执行的过程中。的过程中,保持着有三条指令正在执行的过程中。例如把指令的执行过程细分为取指令、指令译码、和执例如把指令的执行过程细分为取指令、指令译码、和执行三个子过程,每个过程的执行时间几乎相同,称为指行三个子过程,每个过程的执行时间几乎相同,称为指令的三级流水。令的三级流水。指令三级流水的示意图,四级流水四个子过程四个子过程:取指令、指令译码、取操作数和执行取指令、指令译码、取操作数和执行六级流水线六级流水线取指取指(FI)(FI)译码指令译码指令(DI)(DI)计算操作数地址计算操作数地址(CO)(CO)取操作数取操作数(FO)(FO)执行指令执行指令(EI)(EI)写操作数写操作数(WO)(WO)延迟:也称为时延或延时,是单位数据信号从数据电路延迟:也称为时延或延时,是单位数据信号从数据电路的一端抵达另一端所经历的时间,即指从头到尾执行一的一端抵达另一端所经历的时间,即指从头到尾执行一条指令所需的时间。条指令所需的时间。流水流水线的技术术语:线的技术术语:延迟延迟(1atency)(1atency)和吞吐量和吞吐量(throughput)(throughput)吞吐量:是指信道在单位时间内成功传输的总信息量,吞吐量:是指信道在单位时间内成功传输的总信息量,一个指令流水线的吞吐量定义为单位时间内完成的指一个指令流水线的吞吐量定义为单位时间内完成的指令数。令数。为体现并行性,通常采用时空图来表示流水过程。为体现并行性,通常采用时空图来表示流水过程。下下图图是是一个一个4 4级指令流水线的时空图,级指令流水线的时空图,图中横坐标代表图中横坐标代表时间的推移,纵坐标代表空间时间的推移,纵坐标代表空间(独立的功能部件独立的功能部件)的数量,的数量,方框中的数字代表指令方框中的数字代表指令(如如“1 1”代表第一条指令代表第一条指令)。时空图时空图 4级指令流水线的时空图指令顺序执行和流水线执行情况的对比指令顺序执行和流水线执行情况的对比通通过分割多级逻辑,插入缓冲寄存器来构建流水线过分割多级逻辑,插入缓冲寄存器来构建流水线。缓冲寄存器也称为流水线寄存器,其作用是在相邻两段缓冲寄存器也称为流水线寄存器,其作用是在相邻两段间传送数据并把各段的处理工作相互隔离,间传送数据并把各段的处理工作相互隔离,以实现各段以实现各段的并行工作。的并行工作。流水线寄存器流水线寄存器流水线技术的特点流水线技术的特点简单的非流水线化的硬件系统的实例简单的非流水线化的硬件系统的实例非流水线化处理过程中,每个非流水线化处理过程中,每个320ps320ps的周期内,系统用的周期内,系统用300 300 psps 计算计算组合逻辑函数,组合逻辑函数,20 20 psps将结果存到输出寄存器中将结果存到输出寄存器中吞吐量吞吐量=(1=(1条指令条指令/(20+300)ps/(20+300)ps)(1000 ps/1 ns)=3.125 GIPs1000 ps/1 ns)=3.125 GIPs 通常通常以以 GIPS(GIPS(每秒十亿条指令每秒十亿条指令)为单位来描述吞吐量。为单位来描述吞吐量。1ns=10-9s1ps=10-12s假设将系统执行的计算分成三个阶段假设将系统执行的计算分成三个阶段(A(A、B B和和 C)C),每,每个阶段需要个阶段需要100 100 psps单个操作延迟增加;单个操作延迟增加;整体吞吐量增加;整体吞吐量增加;流水线操作过程流水线操作过程流水线技术的局限性流水线技术的局限性1.1.流水各阶段性能的差异流水各阶段性能的差异必须将时钟周期设为必须将时钟周期设为150+20=170 150+20=170 psps,得到吞吐量为得到吞吐量为5.88 GIPS5.88 GIPS2.2.流水线过深,效率可能下降流水线过深,效率可能下降 流水线寄存器的延迟,流水线寄存器的延迟,吞吐量并没有加倍。吞吐量并没有加倍。延迟成为流水线吞吐量的一个制约因素延迟成为流水线吞吐量的一个制约因素指令流水线设计指令流水线设计指令串行方式执行及流水方式执行的时空图指令串行方式执行及流水方式执行的时空图五五级(级(阶段阶段)指令流水线指令流水线l指令流水线的基本要求指令流水线的基本要求1.1.流水线各个段的操作相互独立流水线各个段的操作相互独立 2.2.流水线各个段的操作同步流水线各个段的操作同步l流水线的性能指标流水线的性能指标1.1.吞吐量吞吐量 指单位时间内流水线能够处理的任务数指单位时间内流水线能够处理的任务数(或指令数或指令数)或流水线能输出的结果的数量。或流水线能输出的结果的数量。吞吐量吞吐量是衡量流水线速度的主要性能指标,用是衡量流水线速度的主要性能指标,用TpTp来表示。来表示。吞吐量描述了流水线执行各种运算的速率吞吐量描述了流水线执行各种运算的速率(通常表示为每秒执行的运算数或每周期执行的运算数通常表示为每秒执行的运算数或每周期执行的运算数)。假定线假定线性流水线有性流水线有 m m段,各段时长段,各段时长(即拍长即拍长)均为均为t t,连续处理连续处理 n n条指令,则实际吞吐量条指令,则实际吞吐量TpTp为:为:当当nn时,最大吞吐量时,最大吞吐量TpmaxTpmax为为TpmaxTpmax=1/=1/tt2.2.加速比加速比 是指流水线工作方式下处理任务的速度与等效的是指流水线工作方式下处理任务的速度与等效的顺序串行工作方式下处理任务的速度比,用顺序串行工作方式下处理任务的速度比,用SpSp来表示。来表示。加速比是程序在流水线上的执行速度与在等功能非流加速比是程序在流水线上的执行速度与在等功能非流水线上的执行速度之比。水线上的执行速度之比。假定线性流水线有假定线性流水线有 m m段,拍长均为段,拍长均为tt,连续处理,连续处理 n n条条指令,则加速比指令,则加速比 SpSp为:为:当当n nm m时,时,Sp Spm m,即最大加速比等于流水线的段数,即最大加速比等于流水线的段数3.3.效率效率效率指流水线的设备利用率,即一定时段内,流水线效率指流水线的设备利用率,即一定时段内,流水线所有段处于工作状态的比率。所有段处于工作状态的比率。若线性流水线有若线性流水线有 m m段,拍长为段,拍长为t t,连续处理,连续处理n n条指令条指令的效率的效率E E为:为:当当n nm m时,时,E E1 1,即流过流水线的指令越多,流水线,即流过流水线的指令越多,流水线效率越高效率越高流水线冒险流水线冒险(HarzadHarzad)(1 1)结构冒险结构冒险结构冒险是指由于硬件资源的竞争,操作无法同时执行结构冒险是指由于硬件资源的竞争,操作无法同时执行的情况,也称构造冒险。的情况,也称构造冒险。解决解决方法:方法:哈佛结构哈佛结构、超标量 理想流水线的性能:每个时钟周期完成一条指令。理想流水线的性能:每个时钟周期完成一条指令。实际流水机器中可能存在冒险实际流水机器中可能存在冒险(hazard)(hazard)导致停顿:导致停顿:-增加额外的同类型资源增加额外的同类型资源-改变资源的设计使其能被同时使用改变资源的设计使其能被同时使用多端口的寄存器堆多端口的寄存器堆(2 2)数据冒险)数据冒险数据冒险是指由于指令执行所需要的数据还未准备好数据冒险是指由于指令执行所需要的数据还未准备好所引起的冒险情况。当即将执行的指令依赖于还未处理所引起的冒险情况。当即将执行的指令依赖于还未处理完成的数据时,会导致指令无法立刻开始执行,引发数完成的数据时,会导致指令无法立刻开始执行,引发数据冒险。据冒险。可以采用定向可以采用定向(forwarding)(forwarding)技术或调度技术或调度(scheduling)(scheduling)技术来减少停顿时间技术来减少停顿时间(3 3)控制冒险)控制冒险控制冒险是指无法确定下一条指令而引发的冒险情况。控制冒险是指无法确定下一条指令而引发的冒险情况。在执行可能会改变下一条指令地址的分支指令时,在这在执行可能会改变下一条指令地址的分支指令时,在这一条指令执行结果确定之前下一条指令无法开始执行,一条指令执行结果确定之前下一条指令无法开始执行,从而引起控制冒险。从而引起控制冒险。控制冒险可以通过分支预测及预测执行技术来解决控制冒险可以通过分支预测及预测执行技术来解决 2.5 2.5计算机系统的性能测评计算机系统的性能测评 1 1、计算机的字长计算机的字长指微处理器一次能处理的二进制位数。指微处理器一次能处理的二进制位数。字长字长越长处越长处理器表示的数据范围越大、精度越高。理器表示的数据范围越大、精度越高。通常通常,3232位机是指该位机是指该处理器处理器的字长为的字长为3232位位。2 2、访存空间与存储容量访存空间与存储容量访存空间是指访存空间是指 CPUCPU能直接访问的存储单元能直接访问的存储单元(主存单元主存单元)数量及容量,数量及容量,一般由一般由 CPUCPU的地址总线宽度直接确定。的地址总线宽度直接确定。例如,某例如,某CPUCPU地址总线宽度为地址总线宽度为3232位,位,则其直接访存则其直接访存空间为空间为2 23232个存储单位(字节),即个存储单位(字节),即4GB4GB。存储器容量是衡量计算机存储二进制信息量大小的存储器容量是衡量计算机存储二进制信息量大小的一个重要指标。一个重要指标。微型计算机中通常以字节为单位表示存储容量。微型计算机中通常以字节为单位表示存储容量。如:如:B(字节字节)、KB(千字节千字节)、MB(兆字节兆字节)、GB(吉字节吉字节)、TB(太字节太字节)和和PB(拍字节拍字节)。1B=8Bit 1KB=1024B 1MB=1024KB1GB=1024MB 1TB=1024GB 1PB=1024TB 3 3、运算速度运算速度MIPSMIPS法:根据不同类型指令出现的频度,法:根据不同类型指令出现的频度,乘以不同的权乘以不同的权重系数,求得统计平均值,得到平均运算速度,这种运算重系数,求得统计平均值,得到平均运算速度,这种运算速度用速度用MIPSMIPS作为单位。作为单位。最短指令法:以执行时间最短的指令最短指令法:以执行时间最短的指令(如传送指令、加法如传送指令、加法指令指令)为标准来计算速度。为标准来计算速度。直接计算法:给出直接计算法:给出 CPUCPU的主频和每条指令执行所需要的的主频和每条指令执行所需要的时钟周期,可以直接计算出执行每条指令所需的时间。时钟周期,可以直接计算出执行每条指令所需的时间。以每秒钟能执行的指令条数来表示。以每秒钟能执行的指令条数来表示。衡量运算速度的方法:衡量运算速度的方法:通常用通常用MIPS(Million Instructions Per Second,MIPS(Million Instructions Per Second,每秒百万条指令每秒百万条指令)或或MFLOPS(MFLOPS(每秒百万次浮点操作每秒百万次浮点操作)的数的数值来衡量计算机系统的硬件速度。值来衡量计算机系统的硬件速度。计算机系统的性能由硬件性能和程序特性决定,通常计算机系统的性能由硬件性能和程序特性决定,通常可利用标准测试程序来测定性能。可利用标准测试程序来测定性能。用用 CPUCPU执行时间执行时间T T来量化硬软件结合系统的有效速度。来量化硬软件结合系统的有效速度。MIPS=MIPS=f f(MHz)/CPI(MHz)/CPI T T(s)=(IC(s)=(IC CPI)/CPI)/f f(Hz)(Hz)f(时钟频率):CPU的基本工作频率 IC(指令数目):运行程序的指令总数 CPI(Cycles Per Instruction):指令执行的平均周期数 从运行大量测试程序或实际程序产生的统计数据计算出给定计算机上每种指令的平均执行周期数(Cycles Per Instruction,CPI),就可以利用下列公式计算出相关性能的量度值:指令类型使用率执行该类指令所需平均周期算术逻辑运算类(arithmetic-logic)30%2加载存储类(load/store)30%4比较类(compare)8%2.5状态管理类(statemanagement)10%2转移类(branch)22%3例例2-1.2-1.假设一台计算机支持的假设一台计算机支持的5 5类指令的使用率和类指令的使用率和 CPICPI值值分别如下表所示,若其分别如下表所示,若其CPUCPU时钟频率为时钟频率为200 MHz200 MHz,试求其,试求其 MIPSMIPS値,以及该计算机运行一个具有値,以及该计算机运行一个具有10108 8条指令的程序所条指令的程序所 需的需的CPUCPU时间。时间。4类指令的使用率和CPI值根据表根据表中中所给数据可以求得该计算机的平均所给数据可以求得该计算机的平均CPICPI值,值,然后使用然后使用公公式可求得所需结果。式可求得所需结果。CPI=0.3CPI=0.32+0.32+0.34+0.084+0.082.5+0.12.5+0.12+0.222+0.223 3=0.8=0.81.21.20.20.20.20.20.66=3.06 0.66=3.06 MIPS=200/3.06 MIPS=65.36 MIPSMIPS=200/3.06 MIPS=65.36 MIPS一个具有一个具有10108 8条指令的程序所需的条指令的程序所需的CPUCPU时间:时间:T=10 T=108 83.063.06/(/(20020010106 6)=1.53(s)=1.53(s)作业:作业:1 1、2 2、4 4、8 8、1010、1212、1414
展开阅读全文