计算机体系结构 完整讲义.ppt_第1页
计算机体系结构 完整讲义.ppt_第2页
计算机体系结构 完整讲义.ppt_第3页
计算机体系结构 完整讲义.ppt_第4页
计算机体系结构 完整讲义.ppt_第5页
已阅读5页,还剩908页未读 继续免费阅读

下载本文档

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

文档简介

2019年12月30日星期一 1 第1章计算机系统设计基础第2章数据表示与指令系统性能分析第3章流水技术和向量处理第4章阵列计算机第5章多处理机系统第6章数据流计算机 2019年12月30日星期一 2 第1章计算机系统设计基础 1 1计算机系统的基本概念1 2计算机系统的设计技术1 3计算机系统的性能评价1 4计算机系统结构的发展 2019年12月30日星期一 3 本章学习要求 了解计算机系统的多级层次结构掌握系统结构 组成和实现的定义及属性 会透明性分析掌握计算机系统的设计原理 性能计算掌握计算机系统的分类 特别是Flynn分类了解软件对计算机系统结构发展的影响 2019年12月30日星期一 4 1 1计算机系统的基本概念 机器 能存储和执行相应语言程序的算法和数据结构的执行体计算机语言 是用以描述控制流程的 有一定规则的字符集合语言不是专属软件范畴 可以介属于计算机系统的各个层次 具有不同作用 从使用语言的角度上 将计算机系统看成按功能划分的多级层次结构机器 汇编 高级 应用语言低级高级后者比前者功能更强 使用更方便 而前者是后者发展的基础 在单条指令的执行速度相比较 前者更快 1 1 1计算机系统的多级层次结构 2019年12月30日星期一 6 计算机系统的多级层次结构图 微程序 硬联 直接由硬件执行 应用语言级 L5虚拟机 高级语言机器 L4虚拟机 汇编语言机器 L3虚拟机 应用软件 固件 传统机器级 操作系统机器 软硬件交界面 L2虚拟机 物理机器 硬件 软件 2019年12月30日星期一 7 多级层次结构 机器 语言 M5 应用语言机器 应用语言 L5 M4 高级语言机器 高级语言 L4 M3 汇编语言机器 汇编语言 L3 M2 操作系统机器 作业控制语言 L2 M1 传统机器 机器语言 L1 M0 微程序机器 微程序语言 L0 2019年12月30日星期一 8 从设计人员看到的层次 应用程序级用户高级语言级高级语言程序员汇编语言级汇编语言程序员操作系统级操作员机器语言级机器语言程序员微程序控制级逻辑程序员硬联逻辑级硬件设计员 翻译 Translation 先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上可运行的等效程序 中间程序 然后再在低一级机器级上去实现的技术 例 英语翻译计算机系统中的翻译功能常由应用程序包 编译程序 汇编程序等软件完成 解释 Interpretation 在低一级机器级上用它的一串语句或指令来仿真高一级机器上的一条语句或指令的功能 通过对高一级机器语言程序中的每条语句或指令逐条解释来实现的技术解释过程中不生成中间程序 节省了存储空间 或者 一条N 1级指令 一串N级指令例 解释一件事 翻译和解释是语言实现的两种基本技术 解释比翻译费时 但节省存储空间翻译为整体行为 可以优化 效率高 与平台有关解释为局部行为 不优化 效率低 与平台无关翻译 解释 Java 2019年12月30日星期一 12 控制流程的三种实现方法 全硬件 软硬件结合 全软件逻辑上等价 物理意义上不等价硬件实现 速度快 成本高 灵活性差 占用内存少软件实现 速度低 复制费用低 灵活性好 占用内存多发展趋势硬件实现的比例越来越高硬件所占的成本越来越低 2019年12月30日星期一 13 计算机系统的软硬件成本变化 成本 年代 软件 硬件 70年代 从概念和功能上将计算机系统看成多级层次结构的优点 1 理解软件 硬件 固件的地位和作用 2 理解各种语言的实质和实现途径 3 探索虚拟机新的实现方法和新的系统设计由硬件固件实现 高级语言机器多处理机系统 由真正微处理机实现 4 理解计算机体系结构的定义 5 在一台真正的宿主机上通过模拟或仿真另一台不同的假想机器 自虚拟技术 2019年12月30日星期一 15 1 1 2系统结构 组成与实现 定义与理解三者的相互关系 2019年12月30日星期一 16 计算机系统结构的定义SystemArchitecture 是对计算机系统中各机器级之间界面的划分和定义 以及对各级界面上 下的功能进行分配1964年 IBM 360系列机的总设计工程师G M Amdahl G A Blauw F P Brooks等人提出 也称体系结构 是从程序员的角度所看到的系统的属性 是概念上的结构和功能上的行为它不同于数据流程和控制的组织 不同于逻辑设计以及物理实现方法 2019年12月30日星期一 17 定义的理解 从两个角度理解 一是计算机系统结构既然是 从程序员的角度所看到的系统的属性 那么每一级 机器 都有一个系统结构 而且它们相互不同 二是将计算机的系统结构定义在传统机器界面 M1 程序员所看到的计算机的基本属性 2019年12月30日星期一 18 计算机系统结构的基本属性 一般应包括以下几个方面指令系统 数据表示 操作数的寻址方式寄存器的构成定义 中断机构和例外条件存储体系和管理 I O结构机器工作状态定义和切换 信息保护 在所有系统结构的特性中 指令系统的外特性是最关键的 2019年12月30日星期一 19 计算机组成ComputerOrganization 研究硬件系统各组成部分的内部构造和相互联系 以实现机器指令级的各种功能和特性 目标是用最合理地方式将各种设备和部件连接为计算机 以达到最优的性价比 从而实现所确定的系统结构 它是计算机系统结构的逻辑实现 包括机器级内的数据流和控制流的组成以及逻辑设计等 2019年12月30日星期一 20 计算机组成的基本属性 数据通路宽度各种操作功能部件的共享程度专用部件的设置功能部件的并行性缓冲和排队技术控制机构的组成方式预测技术可靠性技术 2019年12月30日星期一 21 计算机实现ComputerImplementation 研究各部件的物理结构 机器的制造技术和工艺等 它着眼于器件技术和微组装技术主存的物理实现 如存储器采用什么样器件 逻辑电路设计和微组装技术均属计算机实现 它是计算机组成的物理实现 2019年12月30日星期一 22 定义理解举例 主存系统主存容量与编址方式的确定 系统结构主存速度的确定 逻辑结构的模式 组成器件的选定 电路的设计 组装技术 实现 指令系统指令系统的确定 系统结构指令的实现 组成具体电路 器件设计及装配技术 实现 2019年12月30日星期一 23 系统结构 组成和实现相互关系 具有相同系统结构的计算机可以采用不同的组成 一种计算机组成可以采用多种不同的计算机实现 系列机与兼容机 采用不同的系统结构会使可以采用的组成技术产生差异 计算机组成也会影响系统结构 2019年12月30日星期一 24 是否设置乘方 开方指令 逻辑设计1 硬联电路 实现方案1 V1 1 T1 逻辑设计3微程序 逻辑设计2 ROM查表 实现方案2 V2 2 T2 实现方案3 V3 3 T3 相同系统结构的计算机可以采用不同的组成相同计算机组成可以采用多种不同的计算机实现 2019年12月30日星期一 25 举例 不同系统结构对软件的影响 A B CD E F面向三地址寻址 ADDB C AMPYE F D 面向寄存器 LOADR1 BADDR1 CSTORER1 ALOADR2 EMPYR2 FSTORER2 D 2019年12月30日星期一 26 透明性Transparency 本来存在的事物或属性 从某个角度去看却看不到 在一个计算机系统中 低层机器的属性往往对高层机器的程序员是透明的 计算机组成设计的内容 对传统机器程序员来讲一般是透明的 2019年12月30日星期一 27 举例1 在多级层次结构的计算机系统中 传统机器级的概念性结构和功能特性 对高级语言的程序员来说是透明的 而对汇编语言的程序员来说不是透明的 这说明高级语言的程序员不必知道机器的指令系统 中断机构等 这些本来存在的属性 对高级语言的程序员来说好像不存在一样 所以说是透明的 对计算机系统结构来说 存储器采用交叉存取还是并行存取 CPU内部的数据通路的宽度是8位还是16位 这些都是透明的 而对计算机组成来说这些不是透明的 2019年12月30日星期一 28 举例2 指令执行采用串行 重叠还是流水控制方式 对系统结构来说是透明的 但对计算机组成来说不是透明的 乘法指令采用专用乘法器实现 对系统结构来说是透明的 而对计算机组成来说不是透明的 存储器采用哪种芯片 对计算机系统结构和组成来说是透明的 而对计算机实现来说不是透明的 2019年12月30日星期一 29 1 1 3计算机系统的分类 采用的基本器件分类计算机系统成本分类1966年MichaelJ Flynn分类1978年DavidJ Kuck分类1972年冯泽云分类 2019年12月30日星期一 30 一按采用的基本器件分类 计算机的更新换代第一代 电子管计算机第二代 晶体管计算机第三代 中小规模集成电路第四代 大或超大规模集成电路第五代 VLSI 甚大规模集成电路 计算机性能的大幅度提高和更新换代 一方面依靠器件的不断更新 同时也依赖系统结构的不断改进 硬件设计公理 越小越快 2019年12月30日星期一 31 二按计算机系统成本分类 巨型计算机 超级计算机 SuperComputer大型计算机 MainComputer中型计算机 MidComputer小型计算机 MiniComputer微型计算机 MicroComputer工作站 Workstation介于小型机和微型机之间 具有小型机的性能 微型机的价格 2019年12月30日星期一 32 MichaelJ Flynn 弗林 分类法 按照指令流和数据流的多倍性进行分类1 基本概念指令流 instructionstream 机器执行的指令序列数据流 datastream 由指令流调用的数据序列多倍性 multiplicity 在系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数 多指令流多数据流MIMD MultipleInstructionstreamMultipleDatastream 多计算机系统 2 分类 单指令流单数据流SISD SingleInstructionstreamSingleDatastream 传统计算机 如IA结构的PC机 单指令流多数据流SIMD SingleInstructionstreamMultipleDatastream 阵列计算机 如ILLIAC 机 多指令流单数据流MISD MultipleInstructionstreamSingleDatastream 较先进的流水线处理机 如VLIW机 2019年12月30日星期一 34 四DavidJ Kuck分类 库克分类 指令流 执行流 多倍性单指令流单执行流SISE单指令流多执行流SIME多指令流单执行流MISE多指令流多执行流MIME 2019年12月30日星期一 35 五1972年冯泽云分类 用最大并行度Pm分类最大并行度Pm 在单位时间内能够处理的最大的二进制位数 2019年12月30日星期一 36 横坐标代表字宽 n位 即在一个字中同时处理的二进制位数纵坐标代表位片宽度 m位 即在一个位片中能同时处理的字数 字宽n 位片宽m 1 16 32 64 1 16 32 64 256 288 16384 MPP STARAN PDP 11 IBM360 TI ASC ILLIAC PEPE Cmmp 2019年12月30日星期一 37 1 2计算机系统的设计技术 1 2 1计算机系统的设计原理 加快经常性事件的速度 Amdahl定律 程序访问的局部性规律1 2 2计算机系统的设计方法 软硬件舍取的基本原则 计算机系统设计者的主要任务 计算机系统设计的基本方法 三种 2019年12月30日星期一 38 1 2 1计算机系统的设计原理 加快经常性事件的速度Amdahl定律程序访问的局部性规律Amdahl case准则成功转移法则Cache法则 2019年12月30日星期一 39 1 加快经常性事件的速度 这是计算机设计中最重要也最广泛采用的设计准则 使经常性事件的处理速度加快能明显提高整个系统的性能在当今的微处理机实现技术中 经常发生的事件由硬件完成 而不经常发生的事件交由软件完成 2019年12月30日星期一 40 2 Amdahl定律 系统对某一部件采用某种更快执行方式所能获得的系统性能改进程度 取决于这种执行方式被使用的频率 或所占总执行时间的比例 IBM大型计算机之父 2019年12月30日星期一 41 Amdahl定律 理解 被加 提 速部件 要优化改进的软件 2019年12月30日星期一 42 Amdahl定律表达式 表示被改进部分的加速比 2019年12月30日星期一 43 Amdahl表达式的解释 改进后的执行总时间 不可改进部分的执行时间 不可改进部分的比例 可改进部分的执行时间 2019年12月30日星期一 44 Amdahl举例 假设将某系统的某一部件的处理速度加快到10倍 但该部件的原处理时间仅为整个运行时间的40 则采用加快措施后能使整个系统的性能提高多少 解 由题意可知fe 0 4 re 10 根据Amdahl定律 2019年12月30日星期一 45 思考题 采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大 假若FPSQR操作占整个测试程序执行时间的20 一种实现方法是采用FPSQR硬件 使FPSQR操作的速度加快到10倍 另一种实现方法是使所有的浮点数据指令的速度加快 使之加快到2倍 还假设FP指令占整个执行时间的50 2019年12月30日星期一 46 3 程序访问的局部性规律 程序访问局部性主要反映在时间和空间局部性两个方面时间局部性是指程序中近期被访的信息项很可能马上将被再次访问 空间局部性是指那些在访问地址上相邻近的信息项很可能会被一起访问这是构成存储体系 存储层次 的主要规律 2019年12月30日星期一 47 4 Amdahl case准则 一个平衡的计算机系统 其CPU每1MIPS的速度应有1MB的主存容量和1Mb s的I O吞吐率 这一准则为设计平衡的计算机系统的提出了三者之间的参考指标 由于是统计结果 具体应用还需要适当调整 2019年12月30日星期一 48 5 成功转移法则 对于转移指令 向后转移指令有90 的成功率 对于向前转移指令有20 的成功率 这一转移法则为预测处理提供了参考信息 2019年12月30日星期一 49 6 Cache法则 容量为C的直接映像Cache的失效率与容量为C 2的二路组相联Cache的失效率大致相等 这一法则指出在相同命中率条件下控制复杂性的增加可以换取Cache容量的减小 1 软硬取舍的基本原则原则一 在现有器件和技术条件下 系统要有高的性能价格比原则二 不应对组成和实现技术有过多的限制原则三 对软件提供更多更好的支持 OS 编译 高级语言 1 2 2计算机系统的设计方法 2019年12月30日星期一 51 2 计算机系统设计的主要任务 要满足用户对功能上的要求以及相应的对价格和性能要求在满足功能要求基础上 进行设计的优化设计应能适应日后发展趋势 2019年12月30日星期一 52 计算机发展的基本趋势 一个芯片上的晶体管数大约每年增加25 因此每三年可增加一倍 器件的开关速度增长基本类似DRAM的密度每年增长约60 因此每三年将增长三倍 访问存储器周期改进相应较慢 每十年约减少1 3 硬盘密度每年增加25 每三年增加一倍 访问时间则每十年减少1 3 2019年12月30日星期一 53 计算机系统设计的主要方法 方法一 由上往下 设计 先考虑如何满足应用要求 确定好面对使用者那级机器应有什么基本功能和特性 如基本命令 指令或语言结构 数据类型和格式等 然后再逐级往下设计 每级都考虑怎样优化上一级实现 方法特征 它适合于专用机设计 不适合于通用机设计 2019年12月30日星期一 54 方法二 由下往上设计 不管应用要求 只根据能拿到的器件参照或吸收已有各种机器的特点 先设计出微程序机器级 如果采用微程序控制 及传统机器级 然后再为不同应用配多种操作系统和编译系统软件 方法特征 设计周期长 当一种结构的机器完成以后 硬件技术又已发展了一大步 20世纪60 70年代前常用此方法 2019年12月30日星期一 55 方法三 由中间开始设计 先进行合理的软 硬件功能分配 既要考虑能拿到的硬 器件 又要考虑可能的应用所需的算法和数据结构 先定义好这个交界面 确定哪些功能由硬件实现 哪些功能由软件实现 同时还要考虑好硬件对操作系统 编译系统的实现提供些什么支持 然后由这个中间点分别往上 往下进行软件和硬件的设计 中间 指传统机器级界面 方法特征 设计周期短 软硬件结合 2019年12月30日星期一 56 提高微处理器性能方法 1 提高主频 提高主频可使系统中的各个部件受益 是提高系统性能最直接的方法 2 多线程 可隐藏访存延迟 是提高系统吞吐率的有效办法 3 2Bump技术 时钟信号的上升 下降沿均控制信息的发送和接收 此技术既可用于逻辑电路也可用于总线 2019年12月30日星期一 57 4 提高IPC技术 即为先进的流水技术 5 合理分配软 硬件功能 6 优化片内Cache 将二 三级Cache尽量放在处理器内部 7 加大通用寄存器数量 8 乱序发送 乱序完成的指令调度技术 9 预取技术 10 分支预测技术 2019年12月30日星期一 58 1 3计算机系统的性能评价 CPU性能公式 CPU工作时间 MIPS和MFLOPS基准测试程序性能评价结果的统计和比较 2019年12月30日星期一 59 1 3 1CPU性能公式 一个程序在CPU上运行所需的时间 其中 2019年12月30日星期一 60 思考题 如果FP操作的比例为25 平均CPI 4 其它指令的CPI 1 33 FPSQR操作的比例为2 CPI 20 假若有两种设计方案 分别将FP操作和FPSQR操作的CPI都减为2 试比较这两个方案哪个更好 2019年12月30日星期一 61 1 3 2MIPS和MFLOPS MIPS每秒 可执行 百万条指令 MFLOPS每秒 可执行 百万条浮点指令 2019年12月30日星期一 62 举例 例1用一台4OMHz处理机执行标准测试程序 它含的混合指令数和相应所需的时钟周期数如下 指令类型指令条数时钟周期数整数运算450001数据传送320002浮点运算150002控制转移80002求有效CPI MIPS速率和程序的执行时间 2019年12月30日星期一 63 解 依题意可知IN 105条 n 4 2019年12月30日星期一 64 例2某工作站采用时钟频率为15MHz 处理速率为10MIPS的处理机来执行一个巳知混合程序 假定每次存储器存取为1周期延迟 试问 1 此计算机的有效CPI是多少 2 假定将处理机的时钟提高到30MHz 但存储器子系统速率不变 这样 每次存储器存取需要两个时钟周期 如果30 指令每条只需要一次存储存取 而另外5 每条需要两次存储存取 还假定已知混合程序的指令数不变 并与原工作站兼容 试求改进后的处理机性能 解 1 2019年12月30日星期一 65 2 依题意可知 30 的指令需要一次存储存取 则这些指令在处理器提高时钟频率之后需要增加1个时钟周期 另外5 的指令需要增加2个时钟周期 改进后性能提高情况可用CPU时间之比表示 2019年12月30日星期一 66 1 3 3基准测试程序 用于评价计算机系统性能的基准测试程序 Benchmark 采用实际应用程序 如c语言的各种编译程序及CAD工具软件等 从实际程序中抽取少量关键循环程序段来组成核心程序 以此来评估性能 合成测试程序 它类似于核心程序方法 但这种合成测试程序是人为编制的 较流行的合成测试程序有Whetstone和Dhrystone两种 2019年12月30日星期一 67 SPEC测试程序 在1988年 美国HP DEC MIPS以及SUN公司 发起成立了SPEC StandardPerformanceEvaluationCorporation 标准性能评估协会 SPEC是一非盈利社团 致力于 建立 维护和认可一个基准测试程序标准化集 以用于最新一代高性能计算机的性能衡量 SPEC89 92 95和2000共四个版本 2019年12月30日星期一 68 SPEC89由10个工程 科学测试程序 GCC Espresso Splce2g6 DODUC NASA7 Li Eqntott Matrix300 FPPPP TOMCATV 组成 其中4个用C语言编写 GCC Espresso Li和Eqntott 用于整数运算 6个用FORTRAN语言编写 用于浮点运算 计算所得SPECmark的分值越大越好 它是相对于VAX 11 780的性能 lSPEC分值约相当于0 2 0 3MFLOPS SPEC89后来演化出两个测试程序集 SPECmark测量10个程序的执行速率 SPECthruput考察系统的吞吐率 2019年12月30日星期一 69 Pentium与80486性能比较 Pentium 6680486DX2 66推出日期 1993年3月1992年8月制造工艺 0 8umCMOS0 8umCMOS整数 浮点部件 2 1个2 1个片内Cache 16K 指 数分开 8K 指 数混存 外部数据总线 64位32位Dhryston值 100MIPS54MIPSSPECint89值 7033 6SPECfp89值 7018 3 2019年12月30日星期一 70 SPEC92由20个测试程序组成 包括CINT92 6 和CFP92 14 参照机 VAX11 780 2019年12月30日星期一 71 SPEC95由18个测试程序组成 包括CINT95 8 和CFP95 10 参照机 SUNSPARC10 40 SPEC2000由26个测试程序组成 包括CINT2000 12 和CFP2000 14 参照机 SUNUltra5 10300MHzAlphaStation500 500 System 1 PersonalWorkstation500au System 2 AlphaServer41005 533 System 3 2019年12月30日星期一 72 SPECint2000整数基准测试程序集 2019年12月30日星期一 73 Gcc 176编译器 2019年12月30日星期一 74 SPECfp2000浮点基准测试程序集 2019年12月30日星期一 75 龙芯2号处理器 2019年12月30日星期一 76 2019年12月30日星期一 77 2019年12月30日星期一 78 HPC的性能测试Linpack Linpack包括 Linpack100 1000和HPLLinpack是用高斯消元法要求解一元N次稠密线性方程 只能采用编译优化选项 不能更改程序代码 甚至是代码中的注释必须安装支持C和Fortran77的编译器 并行编程环境MPICH 2019年12月30日星期一 79 1 3 4性能评价结果的统计和比较 1 算术性能平均值Am 2 几何性能平均值Gm 3 调和性能平均值Hm Ri表示由n个程序组成的工作负荷中执行第i个程序的速率 Ti表示执行第i个程序所需的时间 2019年12月30日星期一 80 例3已知四个程序在三台计算机上的执行时间 s 如下表 假设四个程序中每一个都有100000000条指令要执行 计算这三台计算机中每台机器上每个程序的MIPS速率 根据这些速率值 你能否得出有关三台计算机相对性能的明确结论 你能否找到一种将它们统计排序的方法 试说明理由 2019年12月30日星期一 81 由上述机器的MIPS速率 可知每台机器对4个程序有不同的处理时间 而且大小顺序不同 所以不能得出明确的结论 解 根据式可得出每台机器每个程序的MIPS速率如下 2019年12月30日星期一 82 如果按照算术平均比较性能 机器A最快 机器B最慢 如果按照几何平均比较性能 机器C最快 机器B最慢 如果按照调各平均比较性能 机器C最快 机器B最慢 下面可采用统计的方法比较各机器的性能 如机器A的算术平均 2019年12月30日星期一 83 1 4计算机系统结构的发展 传统计算机结构特点及其演变软件 器件和应用对系统结构发展的影响计算机的成本和价格 2019年12月30日星期一 84 1 4 1传统机结构特点及其演变 传统的冯 诺依曼计算机结构 输出设备 输入设备 控制器 运算器 存储器 传统计算机结构模式的主要缺点有 1 存在有两个瓶颈 物理瓶颈和智能瓶颈 2 低级的机器语言和高级的程序设计语言之间存在着巨大的语义差距 3 复杂的数据结构对象无法直接存放到一维线性地址空间的存储器中 必须经过地址映象 2019年12月30日星期一 86 针对传统计算机结构模式的演变 两个瓶颈 改良 方法 改革 方法 Cache存储器 并行主存技术高级流水技术 语义差距 数据结构 面向高级语言机器 虚拟存储技术以支持高级语言编程 自定义数据表示 多维存储空间 非传统计算机结构 并行处理计算机脉动阵列计算机数据流计算机归约计算机人工智能计算机 2019年12月30日星期一 87 1 4 2系统结构的发展 软件对系统结构发展的影响器件对系统结构发展的影响应用对系统结构发展的影响价格对系统结构的影响算法对系统结构的影响 2019年12月30日星期一 88 一 软件对系统结构发展的影响 软件对系统结构的影响主要是解决软件的可移植出性 软件成本越来越高 软件产量和可靠性的提高困难 积累了大量成熟的软件 排错比编写困难 软件生产率低因而出现了 软件危机 实现软件的可移植性有三个主要途径 1 统一高级语言2 采用系列机方法3 模拟与仿真 2 采用系列机方法系列机 由同一厂商生产 系统结构相同 组成和实现不同的不同档次 速度 容量 成本和可靠性 的机器 如IBM公司的360 370系列计算机 DEC公司的PDP ll系列机和INTEL公司的80X86系列微型计算机 1 统一高级语言 应用 认识和习惯势力三个问题 2019年12月30日星期一 90 系列机方法只是解决了系统结构相同的计算机之间的软件移植 系列机方法也限制了系统结构的发展 系列机方法较好地解决了硬件技术更新发展快 系统结构要求不断更新 而软件编写开发周期比较长 软件环境要求相对稳定 之间的矛盾 兼容机 不同厂商生产 系统结构相同 组成和实现不同的不同档次的机器 2019年12月30日星期一 91 系列机要求 保证向后兼容力争做到向上兼容 当前机器 时间 机器档次 2019年12月30日星期一 92 3 模拟与仿真 宿主机 模拟 用一台机器的指令系统 去解释另一台系统结构不同的机器的指令系统 以实现软件的移植 实现容易 速度较慢 仿真 直接用微程序去解释另一台系统结构不同的机器的指令系统 以实现软件的移植 微程序编写困难 实现速度较快 模拟与仿真可实现系统结构不同的机器之间软件的移植 对于使用频率较高的指令 尽可能用仿真方法以提高运算速度 而对使用频率低且难于用仿真实现的指令 包括I O指令等 则用模拟方法加以实现 2019年12月30日星期一 94 开放式系统 opensystem 1978年由国际标准化组织 ISO 首先提出了关于开放式系统的新概念 是指 种独立于厂商 且遵循有关国际标准而建立的 具有系统可移植性 交互操作性 从而能允许用户自主选择具体实现技术和多厂商产品渠道的系统集成技术的系统 它是相对于原来的封闭系统或专有系统而言的 USB TCP IPJava CORBA WebServices等 2019年12月30日星期一 95 系统结构的发展 软件对系统结构发展的影响器件对系统结构发展的影响应用对系统结构发展的影响价格对系统结构的影响算法对系统结构的影响 2019年12月30日星期一 96 二 器件对系统结构发展的影响 器件发展使得计算机的主频速度 单芯片的集成度飞速提高 如1979年推出的8088 8086 主频约5MHz 单芯片上集成2 9万个晶体管 1997年推出的PII主频在300MHz左右 单芯片上集成1500万个晶体管 器件的发展使得系统结构技术 下移 速度加快 2019年12月30日星期一 97 器件的发展使得器件原有的使用性质发生了转变 通用型 现场型 专用型 器件的发展会影响到算法 语言和软件的发展 器件的发展改变了传统的逻辑设计思想和逻辑设计方法 器件是推动系统结构发展的主要动力 最活跃的因素 是计算机更新换代的标志之一 2019年12月30日星期一 98 2019年12月30日星期一 99 2019年12月30日星期一 100 美国NSF向美国政府申请2009年计划经费2000多万美元 为超越摩尔定律 SEBML 部署新计划NSF 摩尔定律将在10到20年后达到物理和概念上的极限具体方向包括 碳纳米管 量子计算和并行计算以及大规模多核计算机等 2019年12月30日星期一 101 系统结构的发展 软件对系统结构发展的影响器件对系统结构发展的影响应用对系统结构发展的影响价格对系统结构的影响算法对系统结构的影响 2019年12月30日星期一 102 三 应用对系统结构发展的影响 应用范围 数值计算 数据库及事务处理系统 CAD 多媒体处理 人工智能在某个应用领域的确定以后 系统结构设计者的首要任务 是确保系统中的每一个功能部件获得更高的性能系统结构设计者总是根据用户 市场 需求设计或改进系统结构 以适应发展 2019年12月30日星期一 103 系统结构的发展 软件对系统结构发展的影响器件对系统结构发展的影响应用对系统结构发展的影响价格对系统结构的影响算法对系统结构的影响 2019年12月30日星期一 104 四 价格对系统结构的影响 性能与价格 性 价比 均衡改善与提高性能或价格较小的变化产生比原系统好的性 价比提高系统的绝对性能 而价格增长又比较合理 2019年12月30日星期一 105 五 算法对系统结构的影响 充分利用算法和系统结构两者优势 构建一种有效的解决问题的方法改进和提高基本的系统结构利用并行性获得高速度 2019年12月30日星期一 106 系统结构发展小结 软件是促使计算机系统结构发展的最重要的因素没有软件 机器就不能运行 所以为了能方便地使用现有软件 就必须考虑系统结构的设计软件最重要应用需求是促使计算机系统结构发展的最根本的动力机器是给人用的 我们追求更快更好 机器就要做得更快更好需求最根本器件是促使计算机系统结构发展最活跃的因素没有器件就产生不出电脑 器件的每一次升级就带来计算机系统结构的改进器件最活跃 2019年12月30日星期一 107 1 4 3计算机的成本和价格 成本敏感设计 Cost sensitivedesigns 非设计时的元器件成本 而是产品交付市场时的规划成本 封装成本 随着时间的推移 设计时安排在一个印制板上的所有器件 生产时可能只用一个单芯片集成 2019年12月30日星期一 108 平均折扣 毛利润 直接成本 元器件成本 计算机产品价格的构成 制造成本 工人工资 元器件采购 器件损耗 维护保修等 间接成本 研制费 销售费 广告宣传费 厂房租金 设备使用 管理费等 利润 批零差价 生产厂家利润 中间商利润 零售商利润等 目录价格 2019年12月30日星期一 109 部分习题解答 1 2如有一个经解释实现的计算机 可以按功能划分成4级 每一级为了执行一条指令需要下一级的N条指令解释 若执行第一级的一条指令需K ns 时间 那么执行第2 3 4级的一条指令各需要用多少时间 ns 2019年12月30日星期一 110 本题有两个问题应特别注意 第一个问题是 上一级 与 下一级 的关系 即哪是上一级 哪是下一级 在图1 1中第3级是第2级的 上一级 第1级又是第2级的 下一级 第二个问题是该计算机是一个 经解释实现的计算机 上一级的程序在下一级上实现不是经翻译完成 只能是解释 解 第二级的一条指令需第1级的N条指令解释 第二级的一条指令执行时间为NKns 第三级的一条指令执行时间为N2Kns 第四级的一条指令执行时间为N3Kns 2019年12月30日星期一 111 1 3有一个计算机系统可按功能划分成4级 各级的指令都不相同 每一级的指令都比其下一圾的指令在效能上强M倍 即第i级的一条指令能完成第i 1级的M条指令的计算量 现若需第i级的N条指令解释第i 1级的一条指令 而有一段第1级的程序需要运行Ks 问在第2 3和4级上的一段等效程序各需要运行多长时间 s 解 第2级上的一段等效程序运行时间为 第3级上的一段等效程序运行时间为 第4级上的一段等效程序运行时间为 2019年12月30日星期一 112 1 6 什么是透明性概念 对计算机系统结构 下列哪些是透明的 哪些是不透明的 存贮器的模m交叉存取 浮点数据表示 I O系统是采用通道方式还是外围处理机方式 数据总线宽度 字符行运算指令 阵列运算部件 通道是采用结合型的还是独立型的 PDP一1l系列中的单总线结构 访问方式保护 程序性中断 串行 重叠还是流水控制方式 堆栈指令 存贮器最小编址单位 Cache存贮器 答 客观存在的事物或属性 从某个角度去看 它好象不存在 称之为透明性 分析 有关系统结构属性所包括的内容 对系统结构都不透明 2019年12月30日星期一 113 对于计算机系统结构透明的是 存储器的模m交叉存取 数据总线宽度 阵列运算部件 通道是采用结合型还是独立型 PDP 11系列的单总线结构 串行 重叠还是流水控制方式 Cache存储器 对于计算机系统结构不透明的是 浮点数据表示 I O系统是采用通道方式还是外围处理机方式 字符行运算指令 访问方式保护 程序性中断 堆栈指令 存储器最小编址单位 2019年12月30日星期一 114 1 17想在系列机中发展一种新型号机器 你认为下列哪些设想是可以考虑的 哪些则是不行的 为什么 1 新增加字符数据类型和若干条字符处理指令 以支持事务处理程序的编译 可以 2 为增强中断处理功能 将中断分级由原来的4级增加到5级 并重新调整中断响应的优先次序 不可以 3 在CPU和主存之间增设Cache存贮器 以克服因主存访问速率过低而造成的系统性能瓶颈 可以 4 为解决计算误差较大 将机器中浮点数的下溢处理方法由原来的恒置 1 法 改为增设用只读存贮器存放下溢处理结果的查表舍入法 可以 2019年12月30日星期一 115 5 为增加寻址灵活性和减少平均指令字长 将原来全部采用等长操作码的指令改成有3类不同码长的扩展操作码 并将源操作数寻址方式由原来的操作码指明改成增加一个如VAX 11那样的寻址方式位字段来指明 不可以 6 将CPU与主存之间的数据通路宽度由16位扩展成32位 以加快主机内部信息的传送 可以 7 为了减少使用公用总线的冲突 将单总线改为双总线 可以 8 把原来的0号通用寄存器改作为专用的堆栈指示器 不可以 2019年12月30日星期一 116 本章重点内容回顾 学习重点 多级层次结构 定量设计原理 性能计算 弗林分类法学习难点 透明性分析 2019年12月30日星期一 117 本章思考题1 有一向量处理机 向量执行速度为10MFLOPS 标量执行速度为1MFLOPS 设一程序中可向量化的比例为a 要求 1 平均执行速度 2 要使平均速度达成7 5 a应为多少 3 若标量速度不变 a为0 7 要使平均速度达到2 向量速度应为多少 2019年12月30日星期一 118 本章思考题2 假若要将某一执行部件改进后速度提高10倍 改进后被改进部件执行时间占系统总运行时间的50 问改进后 系统获得的加速比是多少 2019年12月30日星期一 119 第一章结束 谢谢 TheEnd 2019年12月30日星期一 120 第1章计算机系统设计基础第2章数据表示与指令系统性能分析第3章流水技术和向量处理第4章阵列计算机第5章多处理机系统第6章数据流计算机 2019年12月30日星期一 121 第2章数据表示与指令系统性能分析 浮点数据表示和IEEE754标准高级数据表示指令格式的优化设计指令系统设计的两种风格 2019年12月30日星期一 122 本章学习要求 本章要点 机器的数据表示 特别是浮点数据表示 指令格式的优化设计技术 RISC的关键技术 指令系统和数据表示是计算机系统结构的主要属性 2019年12月30日星期一 123 2 1浮点数据表示和IEEE754标准 数据表示与数据结构引入数据表示的原则浮点数据基值大小和下溢处理方法的选择 2019年12月30日星期一 124 定义 具有一组值的集合 且定义了作用于该集合的操作集分类 基本类型 结构类型基本数据类型 二进制位 二进制位串 整数 十进制数 浮点数 字符 布尔数等大多数计算机系统结构都支持基本数据类型 2019年12月30日星期一 125 结构数据类型 由一组相互有关的数据元素复合而成的数据类型数组 字符串 向量 堆栈 队列 记录等大多数系统结构只能部分地支持结构数据类型 2019年12月30日星期一 126 定义 机器硬件能直接识别和引用的数据类型分类 基本数据表示 高级数据表示 自定义数据表示 实际系统中 简单的 常用的 通用的数据类型采用数据表示 如int float stack等 复杂的数据结构一般通过数据结构或通过软硬件联合设计实现 如table graph tree等 2019年12月30日星期一 127 数据表示 指的是能由机器硬件直接识别和引用的数据类型 由硬件实现的数据类型 数据结构 反映数据元素之间的结构关系 面向计算机系统软件 面向应用领域所需处理的数据类型 由软件实现的数据类型 2019年12月30日星期一 128 数据结构与数据表示的关系 数据表示是数据结构的一个子集 数据表示是软 硬件界面的一部分 数据结构是软件和应用的一分 数据表示的确定实质上是软硬件的取舍问题 数据结构的发展总是优先于机器的数据表示 系统结构设计者应尽可能为数据结构的实现提供更多的支持 2019年12月30日星期一 129 原则1 系统的效率是否提高 是否减少了实现时间和所需的存储空间举例 两个200 200的二维定点数组相加无阵列型 6条指令 4条循环200 200 40000有阵列型 1条指令 减少4 40000 160000字 原则2 通用性和利用率是否高通用性 是否对多种数据结构均适用利用率 硬件设置大小的选择 2019年12月30日星期一 130 三大特点 表数范围 表数精度和表数效率关键问题 在数据字长确定的情况下 找到具有最大表数范围 最高表数精度和最大表数效率的浮点数表示方式 浮点数的表示需要六个基本参数 尾数m 阶码e的值 尾数的基rm 阶码的基re 尾数长度p 不包括符号位 阶码长度q 2019年12月30日星期一 131 浮点数的一般格式 对任意浮点数N 可表示为 其中 在尾数采用原码 纯小数 阶码采用移码的浮点数表示方式中 规格化浮点数N的表数范围如下 2019年12月30日星期一 132 进一步得出浮点数在数轴上的分布情况如图示 由以上分析可知 能表示的绝对值最大的浮点数可近似为 可见 规格化浮点数的表数范围主要与阶码的长度q和尾数的基值rm有关 表数范围随着q和rm的增加而扩大 2019年12月30日星期一 133 表数精度也称为表数误差 浮点数存在表数精度的根本原因是由于浮点数的不连续性造成的 例如 当q 1 m 2 rm 2 能表示的正规格化数是 1 8 3 16 1 4 3 8 1 2 3 4 1 3 2 共8个数 如果有1 2 3 4 5 4 则5 4不在这个浮点数集内 只能用1 或3 2来表示 在一般情况下 认为规格化尾数最后一位的精确度是一半 表数精度则可表示为如下形式 2019年12月30日星期一 134 结论 当浮点数的尾数长度相同时 尾基为2时具有最高的表数精度 在机器中 一个rm进制的基值需用m 个二进制位表示 其中因此 尾数m的实际数位k为 2019年12月30日星期一 135 2019年12月30日星期一 136 结论 浮点数的表数效率主要与尾数的基值有关 当尾基为2时 表数效率最低如 小结 浮点数尾数基值rm越大 表数范围越大 表数精度降低 表数效率越高 2019年12月30日星期一 137 浮点数表示小结 3 浮点数尾数基值rm越大 表数范围越大 表数精度降低 表数效率越高 2 当浮点数的尾数长度相同时 尾基为2时具有最高的表数精度 1 规格化浮点数的表数范围主要与阶码的长度q和尾数的基值rm有关 表数范围随着q和rm的增加而扩大 2019年12月30日星期一 138 重点 在机器字长一定的情况下 如何选择尾数的基值 使浮点数的表数范围最大 表数精度和表数效率最高 分析 设浮点数表示方式F1 尾数基值rm1 2 尾数长度p1 阶码长度q1 二进制字长 L1 p1 q1 2浮点数表示方式F2 尾数基值rm2 2k 尾数长度p2 阶码长度q2 二进制字长 L2 kp2 q2 2 2019年12月30日星期一 139 1 当L1 L2 且时 分析尾数基值和表数精度的关系 将上式代入p1 q1 kp2 q2可得 注 p1用p2来表示 后面分析有用 2019年12月30日星期一 140 F1的表数精度是 由教材公式2 2得 F2的表数精度是 2019年12月30日星期一 141 2019年12月30日星期一 142 由上式可见 只有当K 1 rm 2 或K 2 rm 4 时 T 1 否则T 1 由此得出结论 结论1 在浮点数的字长和表数范围一定时 尾数基值取2或4具有最高的表数精度 2 当L1 L2 且时 分析尾数基值和表数范围的关系 2019年12月30日星期一 143 注 只有当k 1或k 2时 才有 2019年12月30日星期一 144 结论2 当浮点数的字长和表数精度确定后 尾数基值取2或4时 具有最大的表数范围综合结论 当机器字长确定后 rm取2或4时 具有最大的表数范围和最高的表数精度 但表数效率低 由于rm 2时 50 但规格化浮点数尾数的最高位一定为1 故可以隐藏或省去 此时 100 这就是尾基为2时的隐藏位表示方法 2019年12月30日星期一 145 四种格式单精度格式 32位 阶码E 8位 尾数M 23位扩展单精度 E 11位 M 32位双精度格式 64位 E 11位 M 52位扩展双精度 E 15位 M 63位单精度格式 S 符号1位 E 阶码8位 M 尾数23位 2019年12月30日星期一 146 双精度格式 S 符号1位 E 阶码11位 M 尾数52位 2019年12月30日星期一 147 IEEE754单精度浮点数格式 S 0 正数 S 1 负数E由8位二进制移码组成00000000 特殊数00000001 1代表 1 127 126 规格化数11111110 254代表 254 127 12711111111 特殊数M 尾数 原码表示的纯小数 规格化 隐含1 2019年12月30日星期一 148 若E 0且M 0 N为0 若E 0且M 0 N 1 S 2 127 0 M 非规格化数 若1 E 254 N 1 S 2E 127 1

温馨提示

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

评论

0/150

提交评论