资源预览内容
第1页 / 共228页
第2页 / 共228页
第3页 / 共228页
第4页 / 共228页
第5页 / 共228页
第6页 / 共228页
第7页 / 共228页
第8页 / 共228页
第9页 / 共228页
第10页 / 共228页
亲,该文档总共228页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机系统结构由赵斯琴制作参考教材: 徐炜民,严允中编著,计算机系统结构( 第3版),电子工业出版社。教材讲述了计算机系统结构的基本概念、 设计原理和分析方法。第一章 计算机系统结构设计基础 1.1 计算机系统结构的含义和分类计算机系统性能有了提高,但价格下降。原因:器件技术不断发展;系统结构的改进。其中计算机系统结构的改进对性能的提高有着不容 忽视的作用。1.1.1 计算机系统结构的含义G.M.Amdahl指出:计算机系统结构是指程序设计 员所看到的计算机的基本属性,即概念性结构和功 能特性。是计算机系统结构的外特性。从计算机系统的层次结构上考虑,不同级的程序设 计者所看到计算机属性是不一样的。用虚拟计算机观点定义计算机系统 的功能层次系统总体分析M7:系统分析:问题分析建立数学模型设计应用系 统所完成的功能观察者身份大致划分系统总体分析员M6:应用程序系统:服务请求编译或解释 信息处理系统高级程序员(用户 )应用软件M5:高级语言计算机:高级语言编译或解释运行程 序程序员M4:汇编语言计算机:汇编语言编译或解释运行程序程序员M3:操作系统:键盘命令OS原语操作系统运行程 序操作员M2:机器语言计算机:指令系统CPU机器程 序机器语言程序员系统软件M1:微程序控制:机器指令时序微程序控制 寄存器传送门M0:硬联逻辑:微程序时序硬联逻辑译码网 络硬件设计员硬件设计员计算机系统结构的外特性包含的内 容指令系统数据表示寻址方式寄存器构成定义中断系统存储体系和管理I/O系统机器工作状态的定义和切换信息保护计算机系统结构的内部特性计算 机组成内部特性是由硬件和固件实现的。也称为计算机组成, 是计算机系统结构的逻辑实现,包括机器内的数据通道 和控制信号的组成及逻辑设计,着重于机器级内各事件 的时序方式与控制机构、各部件功能及相互联系。计算机实现是指计算机组成的物理实现,包括处理器、 主存部件的物理结构,器件的集成度和速度的确定;芯 片、模块、插件、底板的划分与连接;微组装及整机装 配技术;专用芯片的设计以及信号传输、电源、冷却方 法等。例如:指令系统功能的确定属于系统结构的外特性;而 指令的实现,如取指、取操作数、运算、送结果等具体 操作及其时序属于组成;而实现这些指令功能的具体电 路、器件设计及装配技术等属于实现。1.1.2 计算机系统结构的分类由于计算机系统的基本工作过程是执行一条指令的 序列,对一组数据进行处理,因此Michael.J.Flynn 提出按指令流和数据流的多倍性对计算机系统结构 分类。指令流:机器执行的指令序列;数据流:由指令流调用的数据序列;多倍性:在系统中最受限制的部件上,同时处于同 一执行阶段的指令或数据的最大个数。按Flynn分类方法分为:单指令流单数据流(SISD )、单指令流多数据流(SIMD)、多指令流单数 据流(MISD)、多指令流多数据流(MIMD).SISD结构只要指令部件一次只对一条指令进行译码 并且只对一个执行部件分配数据。可以有多个存储体和多个执行部件。可以是流水线的,可以有一个以上功能部 件,所有功能部件均由一个控制部件管理 。CUPUMMISISDSSIMD结构以并行处理机(阵列处理机)为代表。同一个控制部件管理下,由多个处理单位 PU,所有PU均接受从控制部件来的同一条 指令。操作对象是来自不同数据流的数据组。CUPU1M1ISISDS1M2MmPU2DS2PUnDSnMISD结构宏流水线中,每个处理器的结果是下一个 处理器的输入操作数。CU1PU 1 M1IS1IS1DSM2MmPU 2DSPU nCU2IS2IS2IS1IS2CUnISnISn ISnMIMD结构大多数多处理机系统和多计算机系统可以 归为这一类。多处理机之间有相互作用,因为所有数据 来自所有处理机共享的同一个空间。CU 1PU1IS1PU2PU nCU 2IS2IS1IS2CU nISn ISnM1DS1M2MmDS2DS n用最大并行度分类美籍华人冯泽云(Tse-yun Feng)提出用最大并行 度对计算机系统进行分类最大并行度Pm是指计算机系统在单位时间内能够 处理的最大二进制位数。最大并行度Pm=nm,n表示同时处理时一个字中的 二进制位数;m表示能同时处理的字数。按计算机对数据处理方式,则Pm值有下列4种类型 。字串位串(WSBS),n=1,m=1字串位并(WSBP),n1,m=1字并位串(WPBS),n=1,m1(即位片处理)字并位并(WPBP),n1,m1 (即全并行处理)按“并行级”和“流水线”分类Wolfgang Handler 根据计算机系统硬件结构的并行程 度和流水线处理程度进行分类,着重于处理器控制部件 (PCU)、算术逻辑部件(ALU)和位级电路(BLC)的 并行-流水线处理。PCU可视作一个处理机或一个CPU;ALU相当于SIMD的处理单元(PE);BLC对应于在ALU中进行一位运算所需的组合逻辑电路 。一个计算机系统C可由6个独立项目组成的三元组描述 为如下:T(C)=(KK,DD,W W)K为PCU数;K为可组成流水线的PCU数;D为ALU(或PE)数; D为可组成流水线的ALU数;W为ALU(或PE) 的字长;W为一个ALU(或PE)中的流 水线段数1.2 计算机系统的设计方法1.2.1 软、硬件取舍的基本原则系统结构设计的主要任务是进行软、硬件功能分配 和给用户提供机器级软硬界面。相同功能可以设计成软件或硬件把功能设计成硬件时,可以提高运算速度,减少存 储容量,但提高硬件成本降低硬件利用率和系统的 灵活性和适应性;把功能设计成软件时,可以降低硬件成本,提高系 统的灵活性和适应性;但运算速度会下降,存储容 量要增大,软件研发费用增加。因此,软、硬功能分配比例应该考虑现有的硬件和 芯片条件下,争取系统有高的性能和价格比。1.2.2 计算机系统设计的定量原则1. 加快经常性事件的速度最重要的也是最广泛采用的设计原则。加快处理频繁出现事件对系统的影响比加 速处理很少出现事件的影响大。2. Amdahl 定律系统中对某一部件采用某种更快执行方式所能 获得的系统性能改进程度,取决于这种方式被 使用频率,或所占总执行时间的比例。Amdahl定义了加速比Te, To为采用某种增强功能措施后完成某一任 务所需时间和不采用任何增强功能措施完成同 一任务所需时间。fe为可采用增强功能措施的部分所占百分比Re采用增强功能措施比不采用增强功能可加快执行的倍 数。例 若考虑将系统中某一功能的处理速度加快 10倍,但该功能的处理使用时间仅为整个 系统运行时间的40%,则采用此增强功能 方法后,能使整个系统性能提高多少?fe=40%,re=10Sp=1/(1-0.4)+0.4/10)=1.56设求浮点数平方根FPSQR的操作占整个测 试程序执行时间的20%。一种实现方法是 采用FPSQR硬件,使其速度加快10倍;另 一种实现方法是使用所有浮点数指令FP速 度加快2倍,同时设FP指令占整个程序执行 时间的50%。请比较两种实现方法的优劣 。3. CPU 性能公式CPU 性能取决于3个要素:时钟频率f,每 条指令时钟周期数和指令条数IC。时钟周 期T=1/f。CPU时间= CPU时钟周期总数*时钟周期T若Ii是i指令在程序中的条数,CPIi为i指令的 平均时钟周期,n为程序中指令的种类数, 可以把CPU时间表示为每条指令平均时钟周期数CPI= CPU时钟周 期总数/指令条数IC经代换,可得 CPU时间= CPI* IC*T例:假设有两台机器A和B,对条件转移采 用不同的方法。 CPUA采用比较指令和条件 转移指令处理方法,CPUB采用比较指令和 条件转移指令合一方法。 在CPUA上,若条 件转移指令占总执行指令数的20%,比较 指令也占20%。CPUB的时钟周期比CPUA 慢25%。若规定两台机器执行条件转移指 令需2T,其它指令需要1T。现比较CPUA和 CPUB哪个工作速度更快?解: CPU时间= CPI* IC*TCPIA = 20%*2+80%*1=1.2CPUA时间= CPIA* ICA*TA =1.2 * ICA*TA 在B内, ICB= ICA-20%*ICA= 80%*ICA转移指令的比重是(20%*ICA)/ (80%*ICA)=25%其它指令比重是1-25%=75%CPIB = 25%*2+75%*1=1.25TB = 1.25*TACPUB时间= CPIB* ICB*TB =1.25*(0.8*ICA) * (1.25* TA)=1.25 * ICA*TA CPUA时间 CPUB时间 若CPUB的条件转移指令比CPUA慢25%,比较 CPUA和CPUB哪个工作速度更快?除了CPU时间之外,MIPS(每秒百万次指令 )和MFLOPS(每秒百万次浮点运算)也是比 较常用的计算机性能评估标准。ICF表示浮点运算次数4. 程序访问的局部性原理程序访问的局部性是指程序执行中,呈现 出频繁重新使用那些最近已被使用过的数 据和指令的规律。统计表明一个程序执行时间中的90%是花 费在10%的程序代码上。主要反映在时间和空间局部性两个方面。它是按层次构成存储体系的主要依据。1.2.3 计算机系统设计的任务1.确定用户对计算机系统功能、价格和性能的 要求功能要求有:应用领域,专用还是通用软件兼容层次,如,在程序设计语言层次,只需要 有新的编译器;在目标代码层次,则系统完全确定 ,像系列机操作系统要求标准,数据表示、接口、总线、网络等等标准2.软件和硬件的平衡3.符合未来发展方向1.2.4 计算机系统的设计步骤计算机系统从概念上和功能上可看做是一个多 级构成的层次结构,从哪个层开始设计,对设 计步骤是有影响的。通常有3种不同的设计思 路:“由上往下”,“由下往上”,“由中间开始”。系统结构设计步骤如下:1.需求分析2.需求说明3.概念设计4.具体设计5.设计优化和评价1.3 计算机系统结构的发展 Von Neumann 结构改进的Von Neumann 结构器件发展对系统结构的影响应用对系统结构的影响软件、算法对系统结构的影响计算机系统结构的演变第2章 数据表示和指令系统2.1 数据表示数据类型是指一组值的集合及其上实施的操作的集 合。数据表示指的是能由硬件直接辨认的数据类型。数据结构是指结构数据类型的组织方式。它反映了 在应用中所用到的各种数据元素或信息单元之间的 结构关系。数据结构要经过软件映像,变换成按地址访问一维 存储器内的各种数据表示。计算机的数据表示如何确定是一个复杂的问题。基本的数据类型有逻辑(布尔)数,定点 数(整数),浮点数(实数),十进制数 ,字符串,数组等。对这些基本数据类型有码制的选择,如原 码、反码、补码、移码等,以及基值、位 长等。关系到硬件实现的难易程度和数据 表示范围以及数据表示的精度等问题。除了基本的数据表示之外,数据表示的确 是关系到软、硬件的分配问题。00阶符尾符例 1假设正阶、正尾数浮点数的表示为如下图阶码相同,均为二进制。尾数基值rm=2和rm=16两种不 同值时,浮点数的表示范围不同。采用规格化表示。最小阶码为0;最大阶码为22-1=3。rm=2时,最小尾数为2-1;最大尾数为1-2-4;正浮点数的 表示范围是20*2-1到23*(1-2-4 )。rm=16时,4位2进制数组成一个16进制数,最小尾数为 16-1;最大尾数为1-16-1;正浮点数的表示范围是160*16 -1到163*(1-16-1 )。浮点数的下溢处理尾数下溢主要产生于加法中的对阶、规格 化右移以及在乘法中的取单倍长
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号