【文档说明】计算机系统结构随书课件.ppt,共(77)页,304.543 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76839.html
以下为本文档部分文字说明:
计算机系统结构随书课件编写出能够在机器上正确运行的程序所必须了解到的计算机的属性。软硬件功能分配及分界面的确定学习目的建立计算机系统的完整概念学习计算机系统的分析方法和设计方法掌握新型计算机系统的基本结构及其工作原理学科方向一级学科:计
算机科学与技术二级学科:计算机系统结构、计算机软件计算机应用技术与其他课程的交叉主要包括:计算机组成原理、计算机操作系统、汇编语言、数据结构、微机原理、高级语言等新内容:超标量处理机、超流水线处理机、向量处理机、并行处
理机、多处理机等交叉点内容:提高,建立完整概念教材计算机系统结构,清华大学出版社,郑玮民,汤志忠编著,2001年第二版主要参考书1.《AdvancedComputerArchitectureandParallelprocessing》HeshamEL-R
ewini,2.李学干,苏东庄,计算机系统结构,西安电子科技大学出版社。计算机系统结构第一章基本概念第二章指令系统第三章存储系统第四章输入输出系统第五章标量处理机第六章向量处理机第七章互连网络第八章并行处理机第九
章多处理机第一章基本概念1.1计算机系统结构的定义1.2计算机系统的评价标准1.3计算机系统的设计方法1.4计算机系统结构的发展1.5计算机系统的分类1.1计算机系统结构的定义1.1.1两种定义1.定义一Amdahl于19
64年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性程序员:汇编语言、机器语言、编译程序、操作系统看到的:编写出能够在机器上正确运行的程序所必须了解到的主存储器主存控制器CPUIOP打印机卡片机终端IOP磁盘机……磁带机概念结构功能特
性:指令系统及其执行模式数据表示:硬件能够直接辩认和处理的数据类型和格式;寻址方式:最小寻址单位、寻址方式的种类和地址运算等;寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等;指令系统:机器指令的操作类型、格式,指令间的排序和控制机制等;中断系统:中断类型、
中断级别和中断响应方式等;存储系统:最小编址单位、编址方式、主存容量、最大寻址空间等;处理机工作状态:定义和切换方式,如管态和目态等;输入输出系统:连接方式、数据交换方式、数据交换过程的控制等;信息保护:包括信息保护方式和硬件对信息保护的
支持等。2.透明性概念本来存在的事物或属性,从某种角度看似乎不存在例如:浮点数表示、乘法指令对高级语言程序员、应用程序员透明对汇编语言程序员、机器语言程序员不透明例如:数据总线宽度、微程序对汇编语言程
序员、机器语言程序员透明对硬件设计者、计算机维修人员不透明3.定义二:计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定计算机系统由软件、硬件和固件组成,它们在功能上是同等的。同一种功能可以用硬件实现,也可以用软件或固件实现。不同的组成只是性能和价格不同。1.1.2计算
机组成计算机组成是指计算机系统结构的逻辑实现,主要包括:确定数据通路的宽度确定各种操作对功能部件的共享程度确定专用的功能部件确定功能部件的并行度设计缓冲和排队策略设计控制机构确定采用何种可靠性技术1.1.3计算机系统的实现计算机实现是指计算机组成的物理实现,包括:处理机、主存储器
等部件的物理结构器件的集成度和速度专用器件的设计器件、模块、插件、底版的划分与连接信号传输技术电源、冷却及装配技术,相关制造工艺及技术等计算机系统结构、计算机组成和计算机实现是三个不同的概念,但随着技术、器件和应用的发展,三
者之间的界限越来越模糊。1.1.4计算机系统的层次结构1.虚拟机概念从不同角度所看到的计算机系统的属性是不同的,包括:高级语言程序员、汇编语言程序员、系统管理员、硬件设计者大部分人对计算机的认识只需要在某一个层次上广义语言解释或编译虚拟计算机观察者作用对象2.层次结构(接下页)中央处理机第
2级机器语言机器语言程序员指令系统目标程序硬联逻辑第0级硬联逻辑硬件设计员操作时序逻辑电路微程序控制第1级微程序控制逻辑设计员指令时序寄存器逻辑(接下页)汇编程序第4级汇编程序汇编语言程序员汇编语言可执行程序操作
系统第3级操作系统系统操作员系统原语键盘命令系统资源(续上页)应用程序第6级应用程序用户应用语言信息处理系统高级语言第5级高级语言高级语言程序员解释程序编译程序可执行程序(续上页)2.层次结构第0级由硬
件实现第1级由微程序实现第2级至第6级由软件实现由软件实现的机器称为:虚拟机第2级是传统指令系统(机器语言)机器第3级是操作系统机器操作系统是运行在第2级上的解释程序第4级是汇编语言机器第5级是高级语言机器第6级是应用语言机器从学科领域来划分第0和第1级属于计算
机组成与系统结构第3至第5级是系统软件第6级是应用软件它们之间仍有交叉第0级要求一定的数字逻辑基础第2级涉及汇编语言程序设计的内容第3级与计算机系统结构密切相关。在特殊的计算机系统中,有些级别可能不存在。第一章基本概念1.1计算机系统结构的定义1.2计
算机系统的评价标准1.3计算机系统的设计方法1.4计算机系统结构的发展1.5计算机系统的分类1.2计算机系统的评价标准:性能和价格1.2.1性能评测的常用方法:运算速度1.时钟频率(主频):用于同类处理机之间如:PentiumⅡ/450比PentiumⅡ/300快50%,…2
.指令执行速度一种很经典的表示方法MIPS(MillionInstructionsPerSecond),KIPS,GIPS,TIPSMIPS10FzCPIIPCFz6指令条数执行时间其中,Fz为处理机的工作主频;CPI(CyclesPerInstruction)为每条指令所需的
平均时钟周期数;IPC(InstructionPerCycle)为每个时钟周期平均执行的指令条数例1:计算PentiumII450处理机的运算速度。解:由于PentiumII450处理机的IPC=2(或CPI=0.5),Fz=450MHz,因此,MIPSPentiumII450=Fz×IPC=4
50×2=900(MIPS)主要缺点:(1)不同指令的速度差别很大(2)指令使用频度差别很大(3)有相当多的非功能性指令3.等效指令速度:吉普森(Gibson)法其中,Wi:指令使用频度,i:指令种类静
态指令使用频度:在程序中直接统计)(等效等效指令速度等效指令执行时间niiiniiiniiiWCPICPIMIPSWMIPSTWT111/1)(动态指令使用频度:在程序执行过程中统计在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。通常:加、
减法50%,乘法15%,除法5%,程序控制15%,其他15%例2:我国最早研制的小型计算机DJS-130,定点16位,加法每秒50万次,但没有硬件乘法和除法指令,用软件实现乘法和除法,速度低100倍左右。求等效速度。解
:定点等效速度为:即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。例3:假设在程序中浮点开平方操作FPSQR的比例为2%,它的CPI为100;其他浮点操作FP的比例为23%,它的CPI=4.0;等效指令速度()MIPS1/0.800.50.200.5/1000.02M
IPS其余75%指令的CPI=1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。解:由于改进了仅占2%的FPSQR操作的CPI,使等效速度提高了近一倍。等效CPI1=1002%+423%+1.3375%=3.92等效CPI2=425
%+1.3375%=2.004.核心程序法把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准程序(benchmark)整数测试程序:Dhrystone用C语言编写,100条语句。包括:各
种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。VAX-11/780的测试结果为每秒1757个Dhrystones,即:1VAXMIPS=1757Dhrystone
s/Second浮点测试程序:Linpack用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。用MFLOPS(MillionFloatingPointOperationsPerSecond)表示;GFLOPS、TFLOPSWhetstone基准测试程序用FORTRAN语言编写的综合性
测试程序,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。测试结果用Kwips表示。SPEC基准测试程序(SystemperformanceevaluationCooperative)由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括:IBM、AT&T、BU
LL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;SPEC能够全面反映机器的性能,具有很高的参考价值;以VAX-11/780的测试结果作为基数;S
PEC1.01989年10月宣布,程序量超过15万行,包含10个测试程序,4个定点程序,6个浮点程序;测试结果用SPECint’89和SPECfp’89表示。1992年,又增加10个测试程序,共有6个定点程序和14个浮点程
序,测试结果用SPECint’92和SPECfp’92表示。1995年,推出SPECint’95和SPECfp’95处理机SPECint’95SPECfp’95PentiumII40018.513.3PentiumII
45018.713.7PentiumIII50020.614.7PientiumIII55022.315.6Celeron300A12.09.66Celeron33313.110.20Celeron36614.110.70Celeron40015.111.20Celeron43316.111
.60Celeron46617.012.00TPC基准程序TransactionProcessingCouncil(事务处理委员会)成立于1988年,已有40多个成员;用于评测计算机的事务处理、数据库处理
、企业管理与决策支持等方面的性能。1989年10月、1990年8月和1992年7月发表了TPC-A、TPC-B和TPC-C。5、峰值速度峰值指令速度MIPS、GIPS、TIPSPentiumIII500有3条指令流水线,则其峰值指令速度为:3×500MHz=150
0(MIPS)即每秒15亿次例3:一个由8台机器组成的Cluster系统,每台机器是4个PentiumIII500组成的SMP系统;计算这个Cluster系统的指令峰值速度。解:峰值指令速度:500MHz843=48(GIPS)
即每秒480亿次。峰值指令速度MIPS、GIPS、TIPS1.2.2其他方面的性能1.存储能力寻址空间大小,216、224、232、264、…存储容量,速度,编址单位,编址方式,寻址方式存储系统:Lookah
eadCacheMainMemoryOnlineStorageOff-lineStorage2.字长1~几百位关键问题:程序与数据共用同一个主存储器早期:由指令字长决定当前:由数据字长决定,8的倍数,如:32位、64位等可变字长:任意组合3.数据类
型目前常用:定点、浮点、逻辑已有类型:向量、串、栈、树发展方向:自定义4.指令系统CISC:复杂指令集计算机RISC:精简指令集计算机VLIW:超长指令字5.输入输出能力输入输出方式中断系统输入输出接口6.兼容性共分12级:0~11,0级为完全不兼容,11级为自身7.保护和诊断能力
程序与数据的保护诊断能力:检错、纠错、冗余、自诊断能力可靠性:RAS技术,可靠性R、可用性A、可维护性1.2.3其他方面的性能比较1.价格与性能的关系根据摩尔定理:性能每10年提高100倍,但价格基本不变用同样的价格,五年之后能买到性能高十倍的机器2.硬件与软件的
价格比例硬件的比例下降,软件的比例上升目前软件价格已经超过硬件价格1.2.4计算机性能的比较算术平均值:用速度表示为调和平均:注意:两个公式等价niimTnA11niimRnH11加权执行时间加权算术平均值:加权调和平均速度:n
iiimTWA1niiimRWH11几何平均速度其中,ETR(executiontimeratio),n指不同的程序几何平均速度与机器无关,与程序的执行时间无关。nniiETRG1第一章基本概念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位加法和分支操作,其他都用软件实现关键问题:性能与价格的关系,软硬件实现在功能上等效计算机系统结构设计者的主要任务
就是要确定软硬件的分界;软件、硬件和固件的功能分配软件与硬件实现的特点硬件实现:速度快、成本高;灵活性差、占用内存少软件实现:速度低、复制费用低;灵活性好、占用内存多发展趋势硬件实现的比例越来越高,硬件所占的成本越来越高发展不可编程目前计算机最少硬件软件硬
件软硬件比例七十年代硬件软件成本年代2.从改进性能考虑软硬件的取舍基本方法:加快经常性事件的执行速度Makethecommoncasefast例如加法运算中的溢出和不溢出;中断处理中的常规性保护现场和特殊性保护现场;指令切换中的“公操作”是提高计算机速度的瓶颈之一;3
.Amdahl定律如何确定经常性事件?或者说应该确定加快处理速度对整个性能的影响如何?Amdahl定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间
的比例有关。在Amdahl定律中,加速比与两个因素有关:时间改进后改进部分的执行时间改进前改进部分的执行,时间改进前整个任务的执行可改进部分占用的时间SeFe改进后整个任务的执行时间为:其中T0为改进前的整个任务的执行时间。改进后整个系统的加速比
为:其中(1-Fe)表示不可改进部分。TTFFSneee01()STTFFSnneee011()例5:假设将某一部件的处理速度加快到10倍,该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知:Fe=0.4,S
e=10,根据Amdahl定律,加速比为:Sn110404101064156(.)...例6:假设某测试程序中FP指令占50%,FPSQR指令占20%,用改进FP指令速度为原来的2倍和改进FPSQR指令速度为原来的10倍,两种方法中的哪种更好?解:第一种方
法:Fe=0.5,Se=2,根据Amdahl定律,加速比为:第一种方法:Fe=0.2,Se=10,根据Amdahl定律,加速比为:33.175.0125.0)5.01(1nS22.182.01102.0)2.01(1n
S4.改进性能的主要途径面向目标代码改进:用一条指令代替一串指令方法:统计某条指令、某类指令或某个指令串的使用频度包括动态使用频度和静态使用频度例如:例1中,增加硬件乘法和除法指令使等效指令速度提高25倍.例2中,改进FPSQR指令使等效CPI提高近1倍面向高级语言改进:方
法:统计某些语句的使用频度例如:一般程序中赋值语句占30%以上,为此,许多处理机中设置了寄存器与寄存器、寄存器与存储器、存储器与存储器之间的成组传送指令。例如:在do循环中,循环体只有一、二条的占60%左右,造成循环控制部分所占的比例很大,因此,增加循环控制指令。又例如:
条件码对高级语言几乎无用。面向操作系统改进:方法:系统结构设计要规整,消除例外情况,寄存器定义要统一、操作要均匀、所有存储部件要对称1.3.2软件兼容性设计方法原因:1.软件相对于硬件的成本越来越贵;2.已积累了大量成熟的系统软件和应用软件。兼容种类向后兼容在某一时间生产的机器上运行
的目标软件能够直接运行于更晚生产的机器上。向前兼容向上兼容在低档机器上运行的目标软件能够直接运行于高档机器上。向下兼容其中向后兼容最重要,必须做到向上兼容尽量做到向前兼容和向下兼容,可以不考虑方法1:系列机方法系列机定义:具有相同的系统结构,不同组成和实现的一系列计算机系统实现
方法:在系统结构基本不变的基础上,根据不同性能的要求和当时的器件发展情况,设计出各种性能、价格不同的计算机系统。一种系统结构可以有多种组成,一种组成可以有多种物理实现。如IBM370系列机:370/115、1
25、135、145、158、168等各种型号。相同的系统结构,不同的组成和实现技术,不同的性能和价格。相同的指令系统,分别采用顺序执行、重迭、流水和并行处理方式。相同的32位字长,数据通道的宽度分别为8位、16位、32位、64位。PC系列机:8088、8086、80186、8
0286、80386、80484、Pentium、PentiumII、PentiumIIIPentiumIV不同工作主频;不同扩展功能:Pentium、PentiumPro、PentiumMMX不同的Cache:PentiumII、Celero
n、Xeon不同的字长:8位(8088)、16位(80286)、32位、64位。采用系列机方法的主要优点:系列机之间软件兼容,可移植性好;插件、接口等相互兼容;便于实现机间通信;便于维修、培训;有利于提高产量、降低成本采用系列机方法的主要缺点:
限制了计算机系统结构的发展方法2:模拟与仿真SimulationEmulation定义:在一台现有的计算机上实现另一台计算机的指令系统。全部用软件实现的叫模拟用硬件、固件或软件、硬件、固件混合实现的叫仿真模拟的实现方法:在A计算机上通过解释方法实现B计算机
的指令系统,即B机器的每一条指令用一段A机器的程序进行解释执行。A机器称为宿主机,B机器称为虚拟机。仿真的实现方法:直接用A机器的一段微程序解释执行B机器的每条指令。A机器称为宿主机,B机称为目标机。优缺点比较模拟方法速度低,仿真方法速度高仿真需要较多的硬件(包括控制
存储器)系统结构差别大的机器难于完全用仿真方法来实现除了指令系统之外,还有存储系统、I/O系统、中断系统、控制台的操作等除了解释方法之外,也可以通过编译方法实现模拟方法用于计算机系统的设计过程在一台已有的机器上用模拟方法实现另外一台正在设计中的机器的指令系统等。具体过
程如下:方法3:统一高级语言方法:采用同一种不依赖于任何具体机器的高级语言编写系统软件和应用软件。困难:至今还没有这样一种高级语言。短期内很难实现。C、Ada、Java、……设计方案模拟测试、性能评价修改设计投产三种方法比较:采用统一高级语言最好,是努力的目标
系列机是暂时性方法,也是目前最好的方法仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容1/10~1/2的芯片面积用于仿真目标代码的兼容性研究:一种新的设想一种机器的目标代码到另一种机器的目标代码的编译目标代码的并行重编译1.3.3计算机系统设计过程方法1
:由上向下(Top-Down)设计过程:由上向下面向应用的数学模型面向应用的高级语言面向这种应用的操作系统面向操作系统和高级语言的机器语言面向机器语言的微指令系统和硬件实现应用场合:专用计算机的设计(早期计算机的设计)特点:对于所面
向的应用领域,性能和性能价格比很高随着通用计算机价格降低,目前已经很少采用方法2:由下向上(Bottom-Up)设计过程:根据当时的器件水平,设计微程序机器级和传统机器级。根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等最后设计面向应用的虚拟机器级。应用场合:在计算机早期设计中
(60~70年代)广为采用特点:容易使软件和硬件脱节,整个计算机系统的效率降低。方法3:中间开始(Middle-Out)设计过程:首先定义软硬件的分界面,包括:指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等然后各个
层次分别进行设计:软件设计人员设计操作系统、高级语言(编译系统)、汇编语言(汇编系统)、应用出现等;硬件设计人员设计传统机器、微程序、硬联逻辑等应用场合:用于系列机的设计特点:软硬件的分界面在上升;硬件价格下降,软件价格上升;软硬件人员结合共同设计;器件设计占领硬件设计应用虚拟机高级语言虚拟机
汇编语言虚拟机操作系统虚拟机传统机器级微程序级硬联逻辑级向上向下习题1.21.41.71.81.111.121.131.141.191.21