主讲:李光顺曲阜师范大学计算机科学学院计算机系统结构2020年1月31日星期五计算机系统结构第一章基本概念21.1计算机系统结构1.2计算机系统设计技术1.3计算机系统的评价标准1.4计算机系统结构的发展第1章基本概念1.为什么要研究系统结构目标:提高处理机运算速度:MIPS=FzIPC其中:Fz为处理机的工作主频IPC(InstructionPerCycle)为每个时钟周期平均执行的指令条数提高IPC:依靠先进系统结构及先进技术(流水线技术)过去:几个或几十个周期完成一条指令现在:一个周期完成几条指令提高Fz:提高器件速度,缩短门电路延迟•依靠技术进步性能每年提高35%•先进系统结构对性能的贡献是技术进步的5倍2.什么是计算机系统定义:程序员所看到的计算机系统的属性。主要观察角度包括:应用程序员系统程序员硬件设计人员对计算机系统的认识通常是在某个层次上。2020年1月31日星期五计算机系统结构第一章基本概念51.1计算机系统结构1.1.1计算机系统层次结构1.1.2计算机系统结构的定义1.1.3计算机组成与实现1.1.4计算机系统结构的分类1.计算机系统的层次结构•计算机系统可分为7个层次•第2级至第6级由软件实现,称为虚拟机•从学科领域来划分:第0级和第1级属于计算机组成原理第2级属于计算机系统结构第3至第5级属于系统软件第6级属于应用软件1.1计算机系统结构计算机系统的层次结构第6级:应用程序第5级:高级语言第4级:汇编语言第3级:操作系统第2级:机器语言第1级:微程序第0级:硬联逻辑应用软件系统软件硬件软硬件分界指令系统第2级机器语言中央处理机目标程序机器语言程序员指令时序第1级微程序控制微程序控制寄存器逻辑逻辑设计员操作时序第0级硬联逻辑硬联逻辑逻辑线路硬件设计员应用语言第6级应用程序应用程序信息处理系统用户高级语言第5级高级语言解释程序编译程序可执行程序高级语言程序员汇编语言第4级汇编语言汇编程序可执行程序汇编语言程序员系统原语键盘命令第3级操作系统操作系统系统资源系统操作员2.透明性概念•定义:本来存在的事物或属性,从某种角度看似乎不存在•例如:CPU类型、型号、主存储器容量等对应用程序员透明对系统程序员、硬件设计人员等不透明•例如:浮点数表示、乘法指令对高级语言程序员、应用程序员透明对汇编语言程序员、机器语言程序员不透明•例如:数据总线宽度、微程序对汇编语言程序员、机器语言程序员透明对硬件设计人员、计算机维修人员不透明1.1.2计算机系统结构的定义Amdahl于1964年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性。程序员:系统程序员(包括:汇编语言、机器语言、编译程序、操作系统)看到的:编写出能在机器上正确运行的程序所必须了解到的(例如寄存器个数、寻址方式等)。概念性结构IBM360系列计算机的概念性结构主存储器主存控制器CPUIOPIOP打印机磁盘机卡片机磁带机终端•数据表示:硬件能够直接认别和处理的数据类型;•寻址技术:编址方式、寻址方式和定位方式等;•寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等;•指令系统:操作类型、格式,指令间的排序控制等;•中断系统:中断类型、中断级别和中断响应方式等;•存储系统:寻址空间、虚拟存储器、Cache存储器等•处理机工作状态:定义和切换方式,如管态和目态等•输入输出系统:数据交换方式、交换过程的控制等;•信息保护:信息保护方式和硬件对信息保护的支持。功能特性指令系统及其执行模式2020年1月31日星期五计算机系统结构第一章基本概念141.1.3计算机组成与实现计算机系统结构,计算机组成与计算机实现的区别:•计算机系统结构:计算机系统的软硬件界面,程序员看到的系统属性•计算机组成:计算机系统结构的逻辑实现•计算机实现:计算机组成的物理实现它们各自包含不同的内容,但又紧密联系.它们的具体内容随着计算机技术的发展不断变化,它们之间的界限也越来越模糊.1.1.4计算机系统结构的分类1.按性能和价格的综合指标:巨型,大型,中型,小型和微型机等2.按用途可以分为科学计算,事务处理,实时控制和家用计算机等3.按处理机的个数和种类分单处理机,多处理机,并行处理机,并联处理机,超标量处理机,超流水线处理机,对称多处理机(SMP,SymmetryMultiProcessors),大规模并行处理机(MPP,MassivelyParallelProcessor),机群系统等.4.Flynn分类法•指令流(Instructionflow):机器执行的指令序列。•数据流(Dataflow):由指令流调用的数据序列,包括输入数据和中间结果。•多倍性(Multiplicity):在系统最受限制的元件上同时处于同一阶段的指令或数据的最大个数。2020年1月31日星期五计算机系统结构第一章基本概念17按照指令流和数据流的不同组织方式,计算机系统结构可分为如下四类:(1)单指令流单数据流SISDSingleInstructionstreamSingleDatastream(2)单指令流多数据流SIMDSingleInstructionstreamMultipleDatastream(3)多指令流单数据流MISDMultipleInstructionstreamsingleDatastream(4)多指令流多数据流MIMDMultipleInstructionstreamMultipleDatastream对应于上述四类计算机的基本结构框图如图1.3所示。2020年1月31日星期五计算机系统结构第一章基本概念185.冯氏分类法冯泽云于1972年提出用最大并行度分类最大并行度:计算机系统在单位时间内能够同时处理的最大二进制位数。(1)字串位串WSBS(WordSerialandBitSerial)(2)字并位串WPBS(WordParallelandBitSerial)(3)字串位并WSBP(WordSerialandBitParallel)(4)字并位并WSBS(WordParallelandBitParallel)2020年1月31日星期五计算机系统结构第一章基本概念196.Handler分类法WolfganHandler于1977年根据并行度和流水线提出,分别考虑硬件三个层次的并行流水程度(1)程序控制部件(PCU)的个数k。(2)算术逻辑部件(ALU)或处理部件(PE)的个数d。(3)每个算术逻辑部件包含基本逻辑线路(ELC)套数w。计算机系统结构可如下表示:t(系统型号)=(k,d,w)2020年1月31日星期五计算机系统结构第一章基本概念201.2计算机系统的设计技术1.2.1计算机系统设计的定量原理1.2.2计算机设计者的主要任务1.3.3计算机系统设计的主要方法2020年1月31日星期五计算机系统结构第一章基本概念211.2.1计算机系统设计的定量原理1.加快经常性事件速度(makethecommoncasefast)2.Amdahl定律:某一部件性能的提高引起的整个系统性能的提高与该部件的使用频率或占总执行时间的比例有关.时间改进后改进部分的执行时间改进前改进部分的执行改进部分的加速比:时间改进前整个任务的执行可改进部分的执行时间可改进部分的比例:SeFe2020年1月31日星期五计算机系统结构第一章基本概念22改进后整个任务的执行时间为:其中:T0为改进前的整个任务的执行时间。改进后整个系统的加速比达到:其中:Fe表示可改进部分所占的百分比,(1-Fe)表示不可改进部分所占的百分比,Se表示可改进部分的加速比。TTFFSneee01()STTFFSnneee011()2020年1月31日星期五计算机系统结构第一章基本概念23例1.1:某部件的处理时间仅为整个运行时间的40%,如果将该部件的处理速度加快到10倍,则采用加快措施后能使整个系统的性能提高多少?Sn110404101064156(.)...解:由题意可知:Fe=0.4,Se=10,根据Amdahl定律,加速比为:2020年1月31日星期五计算机系统结构第一章基本概念24例1.2:采用哪种实现技术来求浮点数平方根FPSQR的操作对系统性能影响较大.假设FPSQR操作占整个测试程序执行时间的20%.一种实现的方法是使FPSQR操作的速度加快到10倍.另外一种方法是使所有浮点数据指令FP的速度加快到2倍,假设FP指令占整个执行时间的50%.请比较这两种设计方案.2020年1月31日星期五计算机系统结构第一章基本概念253.CPU的性能公式CPU时间=CPU时钟周期数/频率=CPU时钟周期数*时钟周期长度CPI=CPU时钟周期数/ICCPU时间=IC*CPI/频率=IC*CPI*时钟周期长度因此,CPU的性能取决于时钟频率,每条指令所花的时钟周期数和指令条数.2020年1月31日星期五计算机系统结构第一章基本概念26CPU的时钟周期数=CPU时间=()*时钟周期长度CPI==其中表示指令i在程序中所占的比例.1(*)/niiiCPIIIC1(*)niiiICPIICiIIC1(*)niiiCPII1(*)niiiCPII2020年1月31日星期五计算机系统结构第一章基本概念27例1.3若FP操作的比例是25%,FP的平均CPI=4,其它指令的平均CPI=1.33,FPSQR操作的比例为2%,FPSQR的平均CPI=20.假设有两种设计方案,分别把FPSQR和FP的CPI均减为2。试利用CPU的性能公式比较这两种方案哪种好。2020年1月31日星期五计算机系统结构第一章基本概念28例1.4假设有A、B两台机器,A机器用比较和测试两条指令实现一次条件转移,B机器用一条指令实现一次条件转移。这两台机器执行条件转移指令都需要2个时钟周期,其他指令都只需1个时钟周期。在A中,条件转移指令占总执行指令条数的20%,B由于包含了比较功能,所以它的时钟周期比A慢25%。问采用A和B两种指令方案,哪个工作速度快?若B的时钟周期只比A慢10%,哪个工作速度快?2020年1月31日星期五计算机系统结构第一章基本概念294.访问的局部性原理时间局部性原理空间局部性原理2020年1月31日星期五计算机系统结构第一章基本概念301.3.1计算机系统设计者的主要任务1.确定用户对计算机系统的功能、价格和性能要求2020年1月31日星期五计算机系统结构第一章基本概念31功能要求应具备或支持的典型特性应用领域通用科学计算商用决定对计算机系统的性能要求对一系列任务有较好的性能具有较好的浮点运算功能支持COBOL、数据库、和事物处理等功能软件兼容级别编程语言级目标代码级决定机器可以运行哪些软件设计者的自由度较大,但需要新的编译器系统结构已经确定,无须投资软件操作系统要求地址空间大小内存管理安全保护为支持选定的操作系统所需要的特性非常重要的特性,可能限制程序的运行页式或段式等管理方式,现代操作系统需要操作系统和应用程序需要标准浮点I/O总线编程语言网络市场上已有的,某种需要满足的标准格式和算法:IEEE、DEC、IBM等I/O设备:VME、SCSI、PCI、光纤等影响指令集:C、FORTAN、COBOL等对不同网络的支持:内部互连网、Ethernet等2020年1月31日星期五计算机系统结构第一章基本概念322.软硬件平衡根据软硬件实现的特点合理分配:•硬件实现:速度快、占用内存少,但成本高、灵活性差•软件实现:复制费用低,灵活性好,但速度低、占用内存多2020年1月31日星期五计算机系统结构第一章基本概念33软硬件比例软件发展硬件最少硬件目前计算机不可编程硬件实现的比例越来越高2020年1月31日星期五计算机系统结构第一章基本概念343.设计符合今后发展方向的系统结构经得住软硬件技术的发展和应用变化,注意计算机应用和计算机技术的发展趋势.另外设计者必须对编译技术有所了解,才能编写出更高效的软件程序.2020年1月31日星期五计