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

下载本文档

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

文档简介

高等计算机系统结构主讲:张燕平,殷赵霞

联系方式算机系统结构课程介绍ComputerArchitecture

“建筑学”、“建筑物的设计或式样”,通常是指一个系统的外貌。研究内容从外部来研究计算机系统使用者所看到的物理计算机的抽象编写出能够在机器上正确运行的程序所必须了解到的计算机的属性。软硬件功能分配及分界面的确定。学习目的建立计算机系统的完整概念学习计算机系统的分析方法和设计方法掌握计算机系统结构的基本概念、基本原理、基本结构及其基本分析方法。学习方法关键概念理解并记住从提高整机性能理解系统结构的改进从性/价比理解系统结构的优化实验验证和理解相关概念认真思考和完成作业与其他课程的交叉主要包括:计算机组成原理、计算机操作系统、汇编语言、数据结构、微机原理、高级语言等。新内容:超标量处理机、超流水线处理机、向量处理机、并行处理机、多处理机等。交叉点内容:提高,建立完整概念计算机系统结构第一章基本概念第五章标量处理机第二章指令系统第六章向量处理机第三章存储系统第九章多处理机第四章输入输出系统第一章基本概念第一节计算机系统结构第二节计算机系统设计技术

第三节系统结构的评价标准第四节计算机系统结构的发展

概念:五代计算机第一代(1945-1954):将电子管和继电器存储器用绝缘导线互连在一起,单个CPU构成,CPU用程序计数器和累加器顺序完成定点计算,用机器语言或汇编语言,用CPU程序控制I/O。第二代(1955-1964):分立式晶体三极管、二极管和铁氧体的磁芯,用印刷电路将它们互连起来;用了变址寄存器、浮点运算、多路存储器和I/O处理器;用了编译程序的高级语言、子程序库、批处理监控程序。第三代(1965-1974);用了小规模或中规模集成电路和多层印刷电路;微程序控制;用了流水线、高速缓存和先行处理机;用了多道程序设计和分时操作系统。第四代(1974-1991);大规模或超大规模集成电路和半导体存储器;用了共享存储器、分布存储器或向量硬件选择的不同结构的并行计算机;有了并行处理的多处理操作系统、专业语言和编译器,并有了并行处理和分布处理的软件工具和环境。第五代(1991-现在);采用VLSI工艺更加完善的高密度、高速度处理机和存储器芯片;大规模并行处理,采用可扩展的和容许时延的系统结构。计算机系统性能的不断提高主要靠期间的变革和系统结构的改进。1.1

计算机系统结构1.1.1计算机系统层次结构

计算机系统由硬件/器件和软件组成,按功能划分分成多级层次结构,如图1.1所示。第0级硬联逻辑第1级微程序控制第2级机器语言计算机第3级操作系统第4级汇编语言计算机第5级高级语言计算机第6级应用程序硬件维护员、设计员逻辑设计员机器语言程序员操作员汇编语言程序员高级语言程序员用户图1.1计算机系统层次结构1.定义

Amdahl于1964年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性。

程序员:汇编语言、机器语言、编译程序、操作系统

看到的:编写出能够在机器上正确运行的程序所必须了解到的

1.1.2计算机系统结构定义

功能特性:指令系统机器执行模式

数据表示:硬件能够直接识别和处理的数据类型和格式。寻址方式:最小寻址单位、寻址方式的种类和地址运算等;寄存器组织:

操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等;

指令系统:机器指令的操作类型、格式,指令间的排序和控制机制等;

中断系统:中断类型、中断级别和中断响应方式等;存储系统:最小编址单位、编址方式、主存容量、最大寻址空间等;

处理机工作状态:定义和切换方式,如管态和目态等;

输入输出系统:连接方式、数据交换方式、数据交换过程的控制等;

信息保护:包括信息保护方式和硬件对信息保护的支持等。

2.透明性

计算机系统中的透明与通常意义下的“透明”的含义刚好相反。通常意义下的“透明”是指公开的,什么都能看得到的。计算机系统的“透明”是看不到的意思,即对某一层的使用者来说,他看不到该层以下各层的机器属性。

本来存在的事物或属性,从某种角度看似乎不存在例如:浮点数表示、乘法指令对高级语言程序员、应用程序员透明对汇编语言程序员、机器语言程序员不透明例如:数据总线宽度、微程序对汇编语言程序员、机器语言程序员透明对硬件设计者、计算机维修人员不透明3.各机器级的实现技术

低层机器级为高层机器级的功能实现提供支持,实现的技术就是翻译和解释。翻译时先用翻译程序把高层机器级上的程序翻译成低层机器级上的等效程序,然后在低层机器级上实现程序功能。解释使用底层机器级的一些语句或指令来仿真高层机器级上的一条语句或指令的功能,高层机器级程序中的每条语句或指令被逐条解释来实现程序功能。1.1.3计算机组成与实现计算机组成是指计算机系统结构的逻辑实现,主要包括:确定数据通路的宽度确定各种操作对功能部件的共享程度确定专用的功能部件确定功能部件的并行度设计缓冲和排队策略

设计控制机构确定采用何种可靠性技术计算机实现是指计算机组成的物理实现,包括:处理机、主存储器等部件的物理结构器件的集成度和速度专用器件的设计器件、模块、插件、底版的划分与连接信号传输技术电源、冷却及装配技术,相关制造工艺及技术等组成:计算机系统的逻辑实现实现:计算机系统的物理实现系统结构:是计算机系统的软、硬件的界面;1.1.4计算机系统结构的分类1.佛林(flynn)分类法

1966年由flynn提出按照指令流和数据流的多倍性特征对计算机系统进行分类:

指令流:机器执行的指令序列数据流:由指令流调用的数据序列,包括输入数据和中间结果多倍性:在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn分类法按指令流和数据流的多倍性把计算机系统分为单指令流单数据流(SISD)系统、单指令流多数据流(SIMD)系统、多指令流单数据流(MISD)系统和多指令流多数据流(MIMD)系统等4类。Flynn分类法得到广泛应用,其主要缺点:(1)分类太粗:例如,在SIMD中包括有多种处理机对流水线处理机的划分不明确,标量流水线为SISD,向量流水线为SIMD。(2)根本问题是把两个不同等级的功能并列对待;通常,数据流受指令流控制,从而造成MISD不存在。(3)非冯式分类2.冯式分类法

1972年美籍华人冯泽云提出用最大并行度来对计算机系统进行分类

最大并行度:计算机系统在单位时间内能够处理的最大二进制位数。假设同时处理的字宽为n,位宽为m,则最大并行度定义为:

Pm=

M*N因此讲系统分为:字串位串WSBS、字并位串WPBS、字串位并WSBP、字并位并WPBP

其主要缺点:仅考虑了数据的并行性,没有考虑指令、任务、作业的并行。3.汉德勒(Handler)分类法由handler于1977年提出,又称为ESC(Erlange(厄兰格)

ClassificationScheme)分类法。根据并行度和流水线分类,计算机的硬件结构分成三个层次,并分别考虑它们德可并行性和流水线处理程度。(1)程序级k:程序控制部件的个数(2)操作级d:算术逻辑部件或处理部件的个数(3)逻辑级w:每个算术逻辑部件包含的逻辑线路的套数。1.2计算机系统设计技术1.2.1计算机系统设计的定量原理CPU性能

程序在机器上运行所需的CPU时间为:

CPU时间=CPU运行时钟周期数*时钟周期

=CPU运行时钟周期数/时钟频率若程序运行时执行的指令条数为IC,则每条指令的平均运行时钟周期数CPI为:

CPI=CPU运行时钟周期数/IC

由此可得出CPU性能公式为:

CPU时间=(IC*CPI)/时钟频率2.

Amdahl定律

Amdahl定律告诉我们:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。Amdahl定律定义了由于采用特殊的方法所获得的加速比的大小。加速比=(采用改进措施后的性能)/(没有采用改进措施前的性能)=(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间)Amdahl定律用加速比来衡量系统采用的改进措施对系统性能提高的程度,加速比的定义为:

Sn=To/Tn其中,To为改进前所需的执行时间;Tn为改进后所需的执行时间。1.2.2计算机系统设计者的主要任务

计算机系统设计者的任务包括指令系统的设计、功能的组织、逻辑设计和其物理实行。它涉及集成电路设计、封装、电源、冷却等问题。下面我们列出计算机系统设计者的主要任务:1.确定用户对计算机系统的功能、价格和性能的要求(1)应用领域(2)软件兼容层次(3)操作系统需求(4)标志2.软硬件的平衡3.设计出符合今后发展方向的系统结构1.2.3计算机系统设计者的主要任务1.“由下往上”设计:设计过程:根据当时的器件水平,设计微程序机器级和传统机器级。根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等最后设计面向应用的虚拟机器级应用场合:在计算机早期设计中(60~70年代)广为采用特点:容易使软件和硬件脱节,整个计算机系统的效率降低。2.“由上往下”设计:设计过程:面向应用的数学模型面向应用的高级语言面向这种应用的操作系统面向操作系统和高级语言的机器语言面向机器语言的微指令系统和硬件实现应用场合:专用计算机的设计(早期计算机的设计)特点:对于所面向的应用领域,性能和性能价格比很高随着通用计算机价格降低,目前已经很少采用3.“由中间开始”设计:设计过程:首先定义软硬件的分界面,包括:指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等,然后各个层次分别进行设计:软件设计人员设计操作系统、高级语言、汇编语言、应用出现等;硬件设计人员设计传统机器、微程序、硬联逻辑等。应用场合:用于系列机的设计特点:软硬件的分界面在上升;硬件价格下降,软件价格上升;软硬件人员结合共同设计;器件设计占领硬件设计1.3系统结构的评价标准1.3.1性能评测的常用方法:运算速度1.时钟频率(主频):用于同类处理机之间

如:PentiumⅡ/450比PentiumⅡ/300快50%,…2.指令执行速度一种很经典的表示方法MIPS(MillionInstructionsPerSecond)等

其中,Fz为处理机的工作主频;CPI(CyclesPerInstruction)为每条指令所需的平均时钟周期数;IPC(InstructionPerCycle)为每个时钟周期平均执行的指令条数例1:计算PentiumII450处理机的运算速度。解:由于PentiumII450处理机的IPC=2(或CPI=0.5),Fz=450MHz,因此,MIPSPentiumII450=Fz×IPC=450×2=900(MIPS)主要缺点:(1)不同指令的速度差别很大(2)指令使用频度差别很大(3)有相当多的非功能性指令3.等效指令速度:吉普森(Gibson)法其中,Wi:指令使用频度,i:指令种类静态指令使用频度:在程序中直接统计动态指令使用频度:在程序执行过程中统计在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。通常:加、减法50%,乘法15%,除法5%,程序控制15%,其他15%例2:我国最早研制的小型计算机DJS-130,定点16位,加法每秒50万次,但没有硬件乘法和除法指令,用软件实现乘法和除法,速度低100倍左右。求等效速度。解:定点等效速度为:即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。例3:

假设在程序中浮点开平方操作FPSQR的比例为2%,它的CPI为100;其他浮点操作FP的比例为23%,它的CPI=4.0;其余75%指令的CPI=1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。解:

等效CPI1

=100×2%+4×23%+1.33×75%=3.92

等效CPI2

=4×2%+4×23%+1.33×75%=2.00等由于改进了仅占2%的FPSQR操作的CPI,使等效速度跳高了近一倍。

指令执行速度的几种平均方法上述2中的指令执行速度又称为算术平均速度上述3中的等效指令执行速度又称为加权平均速度,或调和平均速度几何平均速度:其中:ETR(executiontimeratio),n指不同的程序

几何平均速度与机器无关,与程序的执行时间无关。4.核心程序法

把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准程序(benchmark)整数测试程序:Dhrystone用C语言编写,100条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。VAX-11/780的测试结果为每秒1757个Dhrystones,即:1VAXMIPS=1757Dhrystones/Second浮点测试程序:Linpack用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。用MFLOPS(MillionFloatingPointOperationsPerSecond)表示;GFLOPS、TFLOPSWhetstone基准测试程序用FORTRAN语言编写的综合性测试程序,测试结果用Kwips表示。主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。SPEC基准测试程序(SystemperformanceevaluationCooperative)

由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;

SPEC能够全面反映机器的性能,具有很高的参考价值;以AX-11/780的测试结果作为基数;SPEC1.01989年10月宣布,程序量超过15万行,包含10个测试程序,4个定点程序,6个浮点程序;测试结果用SPECint’89和SPECfp’89表示。1992年,又增加10个测试程序,共有6个定点程序和14个浮点程序,测试结果用SPECint’92和SPECfp’92表示。1995年,推出SPECint’95和SPECfp’95TPC基准程序TransactionProcessingCouncil(事务处理委员会)成立于1988年,已有40多个成员;用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。1989年10月、1990年8月和1992年7月发表了TPC-A、TPC-B和TPC-C。5、峰值速度峰值指令速度MIPS、GIPS、TIPSPentiumIII500有3条指令流水线,则其峰值指令速度为:

3×500MHz=1500(MIPS)

即每秒15亿次例3:一个由8台机器组成的Cluster系统,每台机器是4个PentiumIII500组成的SMP系统;计算这个Cluster系统的指令峰值速度。解:峰值指令速度:500MHz×8×4×3=48(GIPS)即每秒480亿次。峰值指令速度MIPS、GIPS、TIPS1.3.2其他方面的性能

1.存储能力存储容量,速度,编址单位,编址方式,寻址方式存储系统:LookaheadCacheMainMemoryOnlineStorageOff-lineStorage2.字长1~几百位关键问题:程序与数据共用同一个主存储器早期:由指令字长决定当前:由数据字长决定,8的倍数,如:32位、64位等可变字长:任意组合3.数据类型目前常用:定点、浮点、逻辑已有类型:向量、串、栈、树发展方向:自定义4.指令系统CISC:复杂指令集计算机RISC:精简指令集计算机VLIW:超长指令字5.输入输出能力输入输出方式中断系统输入输出接口6.兼容性共分12级:0~11,0级为完全不兼容,11级为自身7.保护和诊断能力程序与数据的保护诊断能力:检错、纠错、冗余、自诊断能力可靠性:RAS技术,可靠性R、可用性A、可维护性1.3.3成本1.价格与性能的关系根据摩尔定理:性能每10年提高100倍,但价格基本不变用同样的价格,5年之后能买到性能高10倍的机器2.硬件与软件的价格比例硬件的比例下降,软件的比例上升,目前软件价格已超过硬件价格第四节计算机系统结构的发展

1.4.1冯·诺依曼(VanNenmann)结构基本思想于1936年~1946年期间形成由冯·诺依曼等人于1946年提出1.特点:存储程序运算器为中心集中控制存储器是字长固定的、顺序线性编址的一维结构。存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。由指令形式的低级机器语言驱动。由指令形式的低级语言驱动。

指令顺序执行,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。运算器为中心,输入输出设备与存储器之间的数据传送都途径运算器。运算器、存储器、输入输出设备的操作以及它们之间

温馨提示

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

评论

0/150

提交评论