第一章计算机系统结构的基本概念.ppt_第1页
第一章计算机系统结构的基本概念.ppt_第2页
第一章计算机系统结构的基本概念.ppt_第3页
第一章计算机系统结构的基本概念.ppt_第4页
第一章计算机系统结构的基本概念.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

计算机系统结构 四川大学计算机学院主讲 倪云竹E MAIL ybamboo 评分标准 期末总成绩 平时成绩 30 期末考试成绩 70 平时成绩 满分100分 1 考勤 60分 缺席一次扣5分2 课后练习 30分3 上课回答问题 10分 回答问题一次5分 参考书目 1 现代计算机体系结构教程傅麒麟徐勇北京希望电子出版社2 计算机系统结构李学干西安电子科技大学出版社3 计算机系统结构陈智勇西安电子科技大学出版社 第一章计算机系统结构的基本概念 1 1概述1 2计算机系统结构的相关概念1 3计算机系统结构的类型1 4计算机系统性能分析1 5计算机系统结构的发展过程 1 1概述 计算机的发展历史 第一代1945 1954 电子管 单CPU 程序计数器PC 累加器AC 机器语言或汇编语言 I 0控制方式为程序控制方式 第二代1955 1964 晶体管 磁芯存贮器 印刷电路 变址寄存器 浮点运算 多路存贮器 I0处理机 高级语言 子程序库 批处理监控程序 第三代1965 1974 中小规模集成电路 多层印刷电路 流水线 CaChe 虚拟存贮器 微程序控制 多道程序与分时系统 兼容性和系列机思想 第四代1975 1990 LSI VLSI 共享存贮器 分布存贮器 向量处理硬件等不同选择的并行计算机 多处理操作系统 并行语言及编译等软件工具 20世纪90年代至今的新一代 更大的变化体现在结构上 实现了大规模的并行处理 采用可扩展的灵活系统结构 并且逐渐将计算机系统从传统的机柜式结构演变为分散组织形式 计算机系统性能的大幅度提高不仅得益于器件的不断发展 更得益于计算机系统结构的进步 1 2计算机系统结构相关概念 一 计算机系统的层次结构 软件 硬件 1 2计算机系统结构相关概念 二 计算机系统结构的定义和内涵1 经典定义 Amdahl提出 计算机系统结构就是程序设计者所看到的计算机的基本属性 即概念性结构与功能特性 2 系统结构研究的实质是对计算机系统中各级界面的划分 定义及其上下的功能分配 每级都有其自己的系统结构 3 Amdahl提出的系统结构指的是计算机系统软 硬件的界面 即传统机器语言级的系统结构 也就是机器语言程序员所看到的计算机的外特性 是在传统的硬件层面上看到的特性 1 2计算机系统结构相关概念 外特性包括 1 指令系统2 数据表示3 寻址规则4 寄存器结构5 中断系统6 工作状态的定义与切换7 存储系统8 信息保护9 I O结构 1 2计算机系统结构相关概念 三 计算机系统的组成与实现1 计算机组成是计算机系统结构的逻辑实现 即根据计算机系统结构所制订的功能 从逻辑上完成计算机的设计是计算机组成的任务 这里包括各部件的逻辑实现 部件之间的互相连接等逻辑设计 2 计算机实现是指计算机组成的物理实现 其中包括各部件的物理结构 器件的选用 印刷板的设计和制作 机箱和接插件的设计或选用 散热装置安装等 1 2计算机系统结构相关概念 3 外特性 内特性与微外特性1 外特性机器语言程序员所看到的计算机的概念性结构与功能特性即计算机系统的外特性 对应计算机系统结构2 内特性包括机器语言级内的数据流和控制流的组成 CPU与主存等部件的逻辑设计 各事件的排序方式与控制机构 以及各部件之间的联系等 对应计算机组成3 微外特性对微程序设计人员来说 他们说看到的外特性就是微程序控制器的外特性 也称为 微外特性 1 2计算机系统结构相关概念 1 3计算机系统结构分类 一 Flynn分类法1 三个重要概念 指令流 InstructionStream 机器执行的指令序列 数据流 Datastream 由指令处理的数据序列 多倍性 Multiplicity 在系统最窄的部件上 处于同一时间单位内 最多可并行执行的指令条数或处理的数据个数 1 3计算机系统结构分类 2 分类 单指令流单数据流 SISD SingleInstructionSingleDatastream 单指令流多数据流 SIMD SingleInstructionMultipleDatastream 多指令流单数据流 MISD MultipleInstructionSingleDatastream 多指令流多数据流 MIMD MultipleInstructionMultipleDatastream 1 3计算机系统结构分类 3 各类结构的概念性框图 a SISD b SIMD c MISD d MIMD 1 3计算机系统结构分类 二 冯氏分类法 1972年 美藉华人冯泽云提出以最大并行度作为系统结构分类的标准 所谓最大并行度Pm是指一个系统在单位时间内能够处理的最多的二进制位数 相关概念 字宽 在一个字中可以同时处理的二进制位数 位片宽度 在一个位片中可以同时处理的字数 1 3计算机系统结构分类 由此 计算机的系统结构又可以分成以下4种 字串位串 WSBS n 1 m 1 这是最早期全串行运算的计算机 字并位串 WPBS n 1 m 1 这是传统的并行单处理机 字串位并 WSBP n 1 m 1 每处理机只一位 但有许多个处理机字并行运用 如STARAN MPP DAP等 字并位并 WPBP n 1 m 1 PEPE ILLIAC Cmmp等计算机属此类 以上 W Word B Bit S Serial P Parallel 1 3计算机系统结构分类 实际计算机并不能总是处在最大并行度下工作 换句话说 实际并行度与所执行的程序有关 于是 又提出一个平均并行度的概念 如果在一个时钟周期 ti内实际处理的二进制位数为Pi 那么在T个时钟周期内的平均并行度Pa就为 把平均并行度与最大并行度之比称为平均利用率 用 表示为 1 3计算机系统结构分类 三 计算机类别的H ndler表示法 此方法根据计算机可并行和流水处理的程度 将硬件分成三个层次 程序控制部件 PCU 的个数k 算术逻辑部件 ALU 或处理部件 PE 的个数d 每个算逻部件包含基本逻辑线路 ECL 的套数w 1 3计算机系统结构分类 每一个计算机系统都可以用上述三个参数表示其结构特征 即 t 系统型号 k d w 如 t ILLIAC 1 64 64 为了更细致的反映结构特殊性 表示式可写成 t 系统型号 k k d d w w 其中 k 表示宏流水线中程序控制部件的个数 d 表示指令流水线中算术逻辑部件的个数 w 表示操作流水线中基本逻辑线路的套数 1 4计算机系统性能评价 1 4 1CPU性能1 4 2系统运行速度1 4 3加速比1 4 4性能测试结果的统计与比较 1 4 1CPU性能 一 总线带宽CPU通过在引脚上设置数据 地址和控制总线实现与外部电路的连接 这种能力的强弱常用数据总线带宽 即单位时间内传输的数据量来表示 例如 数据总线的传输速率为266MHz 总线的宽度为32位 4字节 那么该数据总线的带宽就达到1 064GB s 266MHz 4B 显然 数据总线带宽越宽 表明该处理机对其他部件的读写速度越快 1 4 1CPU性能 二 CPU的速度1 主时钟习惯上总是以主时钟 时钟周期 来表示一个CPU的速度 的主频即时钟的频率 如 Pentium41 5GHzCore2Duo2 13GHz主频越高 芯片内的运行速度也越快 对相同体系结构的处理机而言 1 4 1CPU性能 2 平均指令执行周期CPI 1 一个程序在 上运行所需的时间 表示为 其中 表示要执行程序中的指令总数 CPI表示执行每条指令所需的平均时钟周期数 2 平均指令执行周期数CPI CyclePerInstruction 1 4 1CPU性能 上式中的CPU时间是可从某个程序执行中得到的 且指令数也与具体程序有关 显然 如果在同一个处理机上运行不同的程序 所得的CPI也可能是不同的 所以 作为衡量CPU运行速度的指标CPI 通常是一种概率统计的结果 1 4 1CPU性能 假定通过许多程序的统计 得知程序中指令的总数为IN 其中第i类指令的执行次数为Ii或执行概率为Pi 而执行该类指令所需的时钟周期数为CPIi 而全部指令的类别数为n 该处理机的统计平均CPI就为 或 1 4 1CPU性能 由CPU的CPI和实际的工作主频 可以转换为平均指令执行时间 这是一个可以用作CPU性能比较的指标 总的CPU执行时间 1 4 1CPU性能 例 假定某CPU的主频为500MHz 据统计 其各类指令使用的概率和执行所需时钟数列出在下表中 请确定该处理机每条指令的平均执行时间 1 4 1CPU性能 解 根据 CPI 0 2 1 0 4 2 0 05 3 0 2 5 0 1 5 0 05 10 3 15 每条指令平均执行时间T 3 15 1 500MHz 3 15 2ns 6 3ns 1 4 2系统运行速度 一 MIPS和MFLOPS1 MIPS MillionInstructionPerSecond 被称为每秒百万条指令用于衡量标量处理机定点运算的速度 从定义式可以看出 系统的MIPS数值越大 表明其运行速度也越快 1 4 2系统运行速度 局限性 MIPS仅适用于标量机采用不同指令系统的机器之间 MIPS没有可比性 采用不同的程序进行测试时 所得的结果缺乏一致性 1 4 2系统运行速度 2 MFLOPS MillionFloatingPointOperationsPerSecond 被称为每秒百万次浮点运算 用于衡量浮点处理机的运算速度 一个系统的MFLOPS数值越大 意味着在单位时间内运行的浮点运算越多 1 4 2系统运行速度 各种浮点运算用时不同 因而常对不同的浮点运算乘以一个正则化的值 然后再求MFLOPS 浮点加 乘 减 比较操作的正则化值为1 除 开方为4 指数 三角函数为8 一般认为 在标量机中执行一次浮点运算需要2至5条指令 平均3条 故有1MFLOPS约等于3MIPS 1 4 2系统运行速度 例 已知PentiumII450处理机的CPI 0 5 试计算PentiumII450处理机的运算速度 即MIPS 解 由于PentiumII450处理机的主频fc 450MHz 因此可求出 1 4 2系统运行速度 二 基准测试程序基准测试程序通常用高级语言编写 由各系统自带的编译程序编译成适合在本机中运行的机器码 记下各程序运行所花费的时间 然后按一定的规则计算其执行时间 通常可以分为两类 1 一类用以测试系统中所用的元部件 如CPU 硬盘等 2 一类则用来对全系统的性能进行测试 1 4 2系统运行速度 基准测试程序主要有5种 1 实际应用程序 2 核心程序从实际运行中的程序中抽出少量关键性的循环程序段 3 合成测试程序考虑到各种操作和程序的比例专门编写的 4 小测试程序测试代码在100行以下 5 SPEC测试程序 1 4 2系统运行速度 SPEC StandardPerformanceEvaluationCorporation 是由若干个工作站生产商发起成立的标准性能评估联合体的简称 是基准程序测试方面影响最大的一个组织 SPEC基准测试程序对于测试结果的处理可以分为两个方面 1 对每个测试程序的运行结果给出一个衡量标准 2 对全部测量结果给出一个总体评价 1 4 2系统运行速度 作为衡量单个测试程序运行结果的一种方法 早期是将一个基准程序在DEC公司的VAX11 780 一种超级小型机 上运行所需时间定为SPEC参考时间 这个参考时间与其他机器运行的时间相比 得到一个SPEC速率 借以表现一个系统对该程序运行时的相对速度 例如 SPEC程序集中有一个gcc程序 他的SPEC参考时间为1482秒 如果另一个系统运行同样程序所花的时间为100秒 那么这个机器的SPEC速率就是14 82 1 4 2系统运行速度 在考虑整个基准程序集的测试结果时 SPEC推荐使用几何平均值作为标准 即 式中表示 将n个测试程序所得的结果相乘 然后开n次方 这种做法的好处在于 不论系统对哪一个基准程序测试做了改进 都能完整地反映在SPEC数中 使众多的测试程序没有重要与否之分 1 4 3加速比 加速比Sn可定义为 Sn T0 Tn式中 T0是在作为比较基准的运行条件下 计算机运行所需时间 Tn为改变了运行条件后完成同样任务所需的时间 1 4 3加速比 在对一个系统进行设计或改进时 总希望通过对某部件的精心设计获得较高的加速比 但是每一个部件对加速比的贡献并不相同 他完全取决于该部件在整个系统中地位的重要性 最直接体现部件重要性的衡量标准就是他在整个处理工作中所占的时间比例 假定某部件的运行时间在全系统运行时间T0中所占的百分比为Fe 系统中其他部分运行时间所占百分比为1 Fe 再设该部件改进前后的运行时间之比为Se 也即该部件速度提高的倍数 于是对该部件改进后 全系统的运行时间应为 Tn T0 1 Fe T0Fe Se T0 1 Fe Fe Se Tn T0 1 Fe Fe Se Sn T0 Tn 可得 AMDAHL定理 由于该部件运行时间所占百分比总是满足0 Fe 1 而Se 1 故Sn 1 由上式可见 加速比的大小与Fe和Se两个因素有关 如果Se大于1 系统加速比Sn就一定大于1 即只要对系统中某部件进行了改进 总会对全系统的性能提升有好处 同时 Fe也是影响加速比的重要因素 显然Fe越大 所得的Sn也越大 极而言之 当Fe 1时 Sn Se 即系统所得到的加速比等于该部件的加速比 1 4 3加速比 例1 设改进后的某部件运行速度是原速度的10倍 而该部件原运行时间占全系统运行时间的比例为40 那么此项改进会使全系统的性能得到多少提升 解 按照Amdahl定律 系统性能的提升可以用加速比表示 据题意 Fe 0 4 Se 10 直接使用上式 可得 利用对加速比的计算 可以决定提高全系统性能的努力应该从何处入手 即花较小的代价 获取较大的效益 1 4 3加速比 例2 在测试计算机浮点运算性能的基准测试程序中 浮点运算指令FP操作时间占全部时间的50 其中求浮点平方根的指令FPSQR占全部运行时间的20 为了提高全系统的性能 可以考虑两种改进方案 一是采用FPSQR硬件 将FPSQR运算速度提高10倍 另一个是加快全部浮点运算速度 使FP指令的执行速度提高2倍 试比较这两种方案的优劣 解 分别计算两种方案所能得到的加速比 显然 提高整个浮点运算速度对全系统的性能提高更好些 1 4 3加速比 例3 一个专门用以对CPU的多媒体处理性能进行测试的基准程序 其中用于对多媒体信息运算的时间占全部运算时间的70 由于处理机对多媒体的处理能力不强 特别对一些实时信息的处理更是不能容忍 请寻求提高处理机多媒体处理能力的方案 并进行评估和比较 解 首先分析一下多媒体信息处理的特点 多媒体信息处理中 大量的是对数组的运算 即同样的运算要对许多数据反复进行操作 按照传统的流水线方法必须使用许多次的循环 浪费掉大量的CPU时间 现在分析下面的三种改进方案 并进行评价 1 4 3加速比 方法一 提高CPU的时钟频率 即减小CPI 这是最直接能想到的方案 但在实现上比较困难 要求早期的CPU能实时地处理多媒体信息 在速度上的差距实在太大了 而一个处理机在推出时适用的主频绝没有这样大的富余度 所以这个方法是不现实的 1 4 3加速比 方法二 将CPU的流水线条数增加为n条 在理想情况下其运行速度可以提高n倍 与上面同样的理由 因为速度相差太大 需要增加的流水线数目也相当大 一方面会给工艺上带来极大的困难 甚至到不可能制作的地步 另一方面如果流水线条数太多 指令的分配和调度也会带来许多困难 使实际效果大打折扣 1 4 3加速比 方法三 设计专门的多媒体指令及处理硬件 大幅度提高同一条指令处理大量数据的能力 使多媒体指令全部由这个特定的部件处理 其余指令仍由原流水线处理 两个部件处于并行方式下运行 程序在该CPU上的运算时间由两个部件中较慢的那个部件决定 如果多媒体部件对多媒体信息的处理能力提高了10倍 系统的加速比应为 从式中可以看出 加了一个多媒体部件后系统加速比的大小与多媒体指令所占的比例有关 所占比例越高 系统加速比越大 1 4 4性能测试结果的统计与比较 对计算机系统性能的评价通常有两个标准 峰值性能 理想状态下性能持续性能 实际性能表示持续性能主要有 1 算术平均值2 调和平均值3 几何平均值 1 4 4性能测试结果的统计与比较 1 算术平均值设有n个测试程序 其中第i个程序的执行速率用Ri表示 执行周期用Ti表示 则算术平均值Am表示为 若执行时间表示性能 若用Wi表示权因子 1 4 4性能测试结果的统计与比较 2 调和平均值设调和平均值用Hm表示 则 加权调和平均值可以表示为 1 4 4性能测试结果的统计与比较 3 几何平均值设有几何平均值用Gm表示 则 加权调和平均值可以表示为 Gm的特性 1 5计算机系统结构的发展过程 一 计算机系统结构的演变过程1 以运算器为中心的体系结构 特点 1 存储程序方式 2 单处理器结构 1 5计算机系统结构的发展过程 一 计算机系统结构的演变过程1 以运算器为中心的体系结构 3 使用单元定长的一维存储空间 4 使用低级的机器语言 数据以二进制形式表示 5 以运算器为中心 所有输入输出都要通过运算器 1 5计算机系统结构的发展过程 2 单CPU系统结构的演变 改进思想和方法 1 增加新的数据表示形式 引入虚拟存储器 堆栈等 2 采用变址寄存器 提供多种间接寻址方式 3 采用通用寄存器 Cache 1 5计算机系统结构的发展过程 2 单CPU系统结构的演变 4 采用自定义数据 由数据标识符表明CPU采用何种操作 5 使程序 数据存储器独立设置 采用并行访问技术 6 采用多功能部件 支持流水线 1 5计算机系统结构的发展过程 3 非冯诺依曼计算机冯诺依曼机 控制驱动非冯诺依曼计算机 1 数据流机 数据驱动 2 归约机 需求驱动4 并行处理技术 1 采用多处理器 支持流水线和并行处理 2 采用多个处理机 构成并行处理机系统 3 通过连网实现更大范围的多机并行处理和资源共享 1 5计算机系统结构的发展过程 二 软件对计算机系统结构发展的影响1 模拟与仿真模拟 指用软件的方法在一台计算机A上实现另一台计算机B的功能 A机通常称为宿主机 B机实际上不一定存在 因此称为虚拟机 仿真 当宿主机采用微程序控制器时 通过宿主机上的微程序来实现虚拟机指令系统中一条指令的功能 这种模拟过程不是在指令级进行 而是在宿主机的微程序水平上进行 称为仿真 1 5计算机系统结构的发展过程 2 系列机与兼容机 1 系列机系列机是指由一个厂家或公司按照同一种系统结构而生产的一系列计算机 它们具有相同系统结构 但其组成和实现可能不同 性能参数和档次也会有所不同 如果在一个机器上编写的程序 不加修改就可以在比较高档的机器上运行 称为向上兼容 反之 如能在低档机上运行则称为向下兼容 通常 系列机中向上兼容是必须保证的 向下兼容往往是有条件的 1 5计算机系统结构的发展过程 2 兼容机兼容机的思想和系列机基本一致 是后起厂商为使自己的产品能和品牌产品匹配或能运行品牌产品的软件而生产的 3 统一高级语言标准 1 5计算机系统结构的发展过程 三 应用需求对计算机系统结构发展的影响1 应用需求对系统结构的影响2 选择合理的性能价格比四 器件对计算机系统结构发展的影响五 算法对计算机系统结构发展的影响 1 6计算机系统的成本 性能和价格 一 计算机系统的成本与价格关于成本与价格 大众化产品 考虑利润多些 在保证性能的前提下 降低成本 提高利润 巨型机 尖端产品 考虑性能和可靠性比较多些 二 计算机系统的性能与价格1 系统结构的生命周期 15 20年2 系统性能的下移与价格的变化巨型机 大型机的功能移向中 小型机 中 小型机的功能移向微型机 价格也随之下降 练习 1 计算机系统结构研究的内容不包括 A 指令系统的定义B 软硬件界面的定义C 加法器的结构D 计算机系统性能的评价2 属于MIMD系统

温馨提示

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

评论

0/150

提交评论