




已阅读5页,还剩118页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二 三章计算机系统的结构组成与工作原理 电子工程学院 2 123 本章重点 掌握信息在计算机中的表示 自学 计算机系统的体系结构和工作原理冯 诺伊曼结构和哈佛结构计算机性能测评理解现代计算机的基本结构与组成现在计算机系统的改进指令流水线技术 电子工程学院 3 123 基本术语 IP核 知识产权核 IntellectualPropertycore 是指某一方提供的 形式为逻辑单元 芯片设计的可重用模块 已经通过了设计验证 设计人员以IP核为基础进行设计 软核与工艺无关 具有寄存器传输级硬件描述语言描述的设计代码 硬核软核通过逻辑综合 布局 布线之后的一系列工艺文件 具有特定的工艺形式 物理实现方式 固核介于软核和硬核两者之间 已经通过功能验证 时序分析等过程 设计人员可以以逻辑门级网表的形式获取虚拟机通过软件模拟的具有完整硬件系统功能的 运行在一个完全隔离环境中的完整计算机系统固件 存储于设备中的电可擦除只读存储器EEPROM或FLASH芯片中 一般可由用户通过特定的刷新程序进行升级的程序 BIOS HDL语言形式 版图形式 网表形式 电子工程学院 4 123 2 1计算机系统的层次结构 a 图自下而上反映了系统逐级生成的过程 自上而下反映了系统求解问题的过程 软硬件的逻辑等价性可以表现为 硬件软化 如RISC思想 软件硬化 如CISC思想 固件化 如微程序 微体系结构层 微程序或硬连逻辑 操作系统层 语言处理层 解释 编译 用户程序层 语言编程 系统分析层 数学模型 算法 硬核级 数字逻辑层 硬件 指令系统层 机器语言指令 应用语言虚拟机 高级语言虚拟机 汇编语言虚拟机 操作系统虚拟机 机器语言级 微程序级 寄存器级 硬件 硬件系统 异常处理机构 指令系统 CPU 存储器 I O及通信子系统 系统软件 操作系统 编译器 数据库管理系统 Web浏览器 设备驱动 中断服务程序 应用软件 电子工程学院 5 123 电子工程学院 6 123 层次化作用 软硬件比例可调整 改善软件开销物理机替代虚拟机 发展多处理机 分布式计算机 网络计算机等结构应用虚拟机 多操作系统并行技术 促进软件移植 计算机设计自动化技术发展 电子工程学院 7 123 计算机体系结构 定义机器语言程序员所看到的计算机系统的属性 由硬件或固件完成的功能 主要指机器语言级机器的系统结构如 数据表示 寻址规则 寄存器定义 指令集 终端系统 存储系统 信息保护 I O结构等实质确定计算机系统中软硬件的界面界面之上是软件的功能 界面之下是硬件和固件的功能 ComputerArchitecture 电子工程学院 8 123 计算机体系结构属性 机内数据表示 硬件能直接辨识和操作的数据类型和格式寻址方式 最小可寻址单位 寻址方式的种类 地址运算寄存器组织 操作寄存器 变址寄存器 控制寄存器及专用寄存器的定义 数量和使用规则指令系统 机器指令的操作类型 格式 指令间排序和控制机构存储系统 最小编址单位 编址方式 主存容量 最大可编址空间中断机构 中断类型 中断级别 以及中断响应方式等输入输出结构 输入输出的连接方式 处理机 存储器与输入输出设备间的数据交换方式 数据交换过程的控制信息保护 信息保护方式 硬件信息保护机制 电子工程学院 9 123 计算机的体系结构 1946年 美国宾夕法尼亚大学莫尔学院的物理学博士Mauchley和电气工程师Eckert领导的小组研制成功世界上第一台数字式电子计算机ENIAC 著名的美籍匈牙利数学家VonNeumann参加了为改进ENIAC而举行的一系列专家会议 研究了新型计算机的体系结构 1949年 英国剑桥大学的威尔克斯等人在EDSAC机上实现了冯 诺依曼模式 直至今天冯 诺依曼体系结构依然是绝大多数数字计算机的基础 电子工程学院 10 123 计算机组成 定义计算机体系结构的逻辑实现 机器内部的数据流和控制流的组成以及逻辑设计数据通路的宽度专用的功能部件 乘除法 浮点运算 字符处理各操作对部件的共享程度功能部件的并行度 串行 重叠 流水缓冲和排队策略 随机 先进先出 后进先出可靠技术着眼于机器内各事件的排序方式与控制方式 各部件的功能以及各部件的联系 电子工程学院 11 123 计算机的组成 总线结构 电子工程学院 12 123 计算机实现 定义计算机组成的物理实现如 处理机 存储器等部件的物理结构 器件的集成度和速度 模块 插件 底板的划分与连接 信号传输 电源 冷却及整机装配技术等着眼于器件技术和微组装技术 其中器件技术在实现技术中占主导作用 ComputerImplementation 电子工程学院 13 123 计算机的实现 半导体技术制造技术封装技术装配技术电源技术冷却技术 电子工程学院 14 123 具有相同计算机体系结构 如指令系统 的计算机 可以采用不同的计算机组成 指令的实现 例如 取指令 指令译码 指令执行 访存取数 结果写回5个阶段 可以在时间上按顺序方式进行 也可以让它们在时间上按重叠方式进行 即时间并行 以提高执行速度一种计算机组成可以采用多种不同的计算机实现例如 存储器件可以采用静态RAM SRAM 芯片 也可以采用动态RAM DRAM 芯片 可以采用单片大规模集成电路 也可以采用中小规模集成电路进行构建实现方式取决于性能价格比的要求与器件技术的现状 三个术语的关系 电子工程学院 15 123 体系结构角度的多层结构 硬件向上提供的接口指令系统异常事件端口定义 操作系统功能数据抽象资源抽象 电子工程学院 16 123 组织角度的多层结构 电子工程学院 17 123 冯 诺伊曼体系结构主要特点 使用二进制数和存储程序设计思想 存储程序并按地址顺序执行把程序及其操作数据一同存储哈佛体系结构 HarvardArchitecture 把程序与其操作数据分开存储源自HarvardMarkI计算机现代的冯 诺伊曼计算机在设计中展示出了某些哈佛体系结构的特性 如高速缓存Cache 2 2计算机系统的工作原理 电子工程学院 18 123 冯 诺依曼计算机基本结构 CPU运算器 控制器 寄存器 接口单元存储器内存储器 半导体器件 外存储器 磁光材料 I O设备输入设备 输出设备 并行及串行功能 通过总线相互连接CPU在某一时刻仅能访问总线上的一个部件 硬件组成 电子工程学院 19 123 冯 诺依曼计算机基本结构 信息表示 二进制计算机内部的控制信息和数据信息均采用二进制表示 并存放在同一个存储器中 工作原理 存储程序 指令 控制 驱动编制好的程序 包括指令和数据 预先经由输入设备输入并保存在存储器中 计算机开始工作后 在不需要人工干预的情况下由控制器控制高速地从存储器中取出指令依次执行 电子工程学院 20 123 总线子系统 作为公共通道连接各子部件 用于实现各部件之间的数据 信息等的传输和交换存储器子系统 用来存放当前的运行程序和数据输入输出子系统 用于完成计算机与外部的信息交换CPU子系统 集成了运算器 控制器和寄存器的超大规模集成电路芯片 VLSI 基于总线的冯 诺依曼架构模型机 电子工程学院 21 123 模型机总线子系统 按传输信息的不同 分为地址总线AB 数据总线DB和控制总线CB AB 通常是单向的 由主设备 如CPU 发出 用于选择读写对象 如某个特定的存储单元或外部设备 DB 用于数据交换 通常是双向的 CB 包括控制信号线 如读 写信号 和一些状态信号线 如是否已将数据送上总线 用于实现对设备的监视和控制 CPU RAM ROM I O接口 外设 AB DB CB 电子工程学院 22 123 模型机内存储子系统 存储器组织由许多字节单元组成 每个单元都有一个唯一的编号 存储单元地址 保存的信息称为存储单元内容 访问 读或写 存储单元 存储单元地址经地址译码后产生相应的选通信号 同时在控制信号的作用下读出存储单元内容到数据缓冲器 或将数据缓冲器中的内容写入选定的单元 电子工程学院 23 123 通用寄存器组堆栈指针SP程序计数器PC 微操作控制电路 控制总线CB 地址总线AB 数据总线DB 运算器 寄存器组 控制器 模型机CPU子系统 电子工程学院 24 123 计算机系统工作时 输入设备将程序与数据存入存储器控制器从存储器中逐条取出指令 将其解释成控制命令 去控制各部件的动作数据在运算器中加工处理 处理后的结果通过输出设备输出 模型机工作原理 电子工程学院 25 123 控制器是计算机的管理机构和指挥中心按照预先确定的操作步骤 协调控制计算机各部件有条不紊地自动工作控制器工作的实质就是解释程序逐条读取 分析 执行指令 控制各部件动作高级计算机中的控制器可以改变某些指令的顺序 以改善性能控制器的组成程序计数器 PC 指令寄存器 IR 指令译码器 ID 时序发生器 操作控制器程序计数器 ProgramCounter 是一个特殊的寄存器记录着将要读取的下一条指令在存储器中的位置 1 控制器 电子工程学院 26 123 1 控制器的基本工作流程 从程序计数器所指示的存储单元中 读取指令代码 把指令代码译码为一系列命令或信号 发向各个不同的功能部件 递增程序计数器 以指向下一条指令 根据指令需要 从存储器 或输入设备 读取数据 所需数据的存储器位置通常保存在指令代码中 把读取的数据提供给运算器或寄存器 如果指令需要由运算器来完成 则命令运算器执行所请求的操作 把来自运算器的计算结果写回到存储器 寄存器或输出设备 转回第 步 电子工程学院 27 123 2 指令和数据 计算机中有两股信息在流动控制信息即操作命令发源地是控制器 分散流向各个部件数据信息受控制信息的控制 从一个部件流向另一个部件 边流动边加工处理如何区分存放在一起的指令和数据 取指周期中从存储器读出的信息流是指令流由存储器流向控制器执行周期中从存储器读出的信息流是数据流由存储器流向运算器 电子工程学院 28 123 2 运算器 对数据进行算术运算和逻辑运算 由算术逻辑单元 ALU 和寄存器组成ALU具体完成算术与逻辑运算的单元运算器的核心由加法器和其他逻辑运算单元组成寄存器用于存放参与运算的操作数累加器一个特殊的寄存器除了存放操作数之外 还用于存放中间结果和最后结果 电子工程学院 29 123 ALU所支持的算术运算可能仅局限于加法和减法 也可能包括乘法 除法 甚至三角函数和平方根有些只支持整数 有些则可以使用浮点来表示有限精度的实数任何计算机都可以通过编程来执行任何的算术运算简单的计算机可以通过编程 把复杂的运算分解成它可以执行的简单步骤如果ALU不能从硬件上直接支持 则可把复杂运算用软件方式实现 但需要花费较多的时间 电子工程学院 30 123 ALU所支持的逻辑运算与 AND 或 OR 异或 XOR 非 NOT 等布尔运算比较数值新型ALU超标量 Superscalar 计算机包含多个ALU可以同时处理多条指令图形处理器和具有并行特性的计算机的ALU可以执行矢量和矩阵算术运算 电子工程学院 31 123 3 存储器 存储器的主要功能是存放程序和数据向存储器存入或从存储器取出信息 都称为访问存储器存储器由一系列存储单元组成 每个存储单元的编号称为地址 要按给定的地址来寻找所选择的存储单元存储容量存储器中所有存储单元的总数常用单位 KB Kilobyte 千字节 MB Megabyte 兆字节 GB Gigabyte 千兆字节 1KB 1024B 1MB 1024KB 1GB 1024MB存储器分类按照存储器在计算机中的作用 可分为主存储器 寄存器 闪速存储器 高速缓冲存储器 辅助存储器 电子工程学院 32 123 1 主存储器 主存储器 MainMemory 简称主存 通常采用半导体存储器随机存取存储器 RandomAccessMemory RAM CPU可读写掉电时内容被消除只读存储器 Read OnlyMemory ROM CPU只能读取掉电时可保留其数据事先加载了固化的数据和软件 如PC机的BIOS 无盘嵌入式计算机的全部软件 存储在ROM中的软件常被称为固件 Firmware 电子工程学院 33 123 2 寄存器 寄存器 Register 是CPU内部的一组特殊存储单元读写速度比主存快得多通常被用于使用最为频繁的数据项 以避免多次访问主存减少主存访问可大大加快计算机速度在CPU中至少要有六类寄存器指令寄存器 IR 程序计数器 PC 地址寄存器 AR 数据寄存器 DR 累加寄存器 AC 程序状态字寄存器 PSW 这些寄存器用来暂存一个计算机字其数目可以根据需要进行扩充 电子工程学院 34 123 指令寄存器 指令寄存器 InstructionRegister IR 用来保存当前正在执行的一条指令当执行一条指令时 首先把该指令从主存读取到数据寄存器中然后再传送至指令寄存器指令译码器 InstructionDecoder ID 对操作码进行分析 识别出所要求的操作对指令寄存器的操作码部分进行译码 以产生指令所要求操作的控制电位 并将其送到微操作控制线路上在时序部件定时信号的作用下 产生具体的操作控制信号 电子工程学院 35 123 程序计数器 程序计数器 ProgramCounter PC 用来指出下一条指令在主存储器中的地址在程序执行之前 首先必须将程序的首地址 即程序第一条指令所在主存单元的地址送入PC当执行指令时 CPU能自动递增PC的内容 使其始终保存将要执行的下一条指令的主存地址 为取下一条指令做好准备若为单字长指令 则 PC 1 PC若为双字长指令 则 PC 2 PC 以此类推当遇到转移指令时 下一条指令的地址将由转移指令的地址码字段来指定程序计数器具有寄存信息和计数两种功能 电子工程学院 36 123 地址寄存器 地址寄存器 AddressRegister AR 用来保存CPU当前所访问的主存单元的地址由于在主存和CPU之间存在操作速度上的差异 必须使用地址寄存器来暂时保存主存的地址信息 直到主存的存取操作完成为止当CPU和主存进行信息交换时 都要使用地址寄存器和数据寄存器如果把外围设备与主存单元进行统一编址 当CPU和外围设备交换信息时 同样要使用地址寄存器和数据寄存器 电子工程学院 37 123 数据寄存器 数据寄存器 DataRegister DR 又称数据缓冲寄存器其主要功能是作为CPU和主存 外设之间信息传输的中转站用以弥补CPU和主存 外设之间操作速度上的差异在单累加器结构的运算器中 数据寄存器还可兼作操作数寄存器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字当向主存存入一条指令或一个数据字时 也将它们暂时存放在数据寄存器中 电子工程学院 38 123 累加寄存器 累加寄存器通常简称累加器 Accumulator ACC 是一个通用寄存器累加器的功能当运算器的算术逻辑单元ALU执行算术或逻辑运算时 为ALU提供一个工作区 可以为ALU暂时保存一个操作数或运算结果运算器中至少要有一个累加寄存器 电子工程学院 39 123 程序状态字寄存器 程序状态字 ProgramStatusWord PSW 用来表征当前运算的状态及程序的工作方式程序状态字寄存器用来保存由算术 逻辑指令运行或测试的结果所建立起来的各种条件码内容如运算结果进 借位标志 C 运算结果溢出标志 O 运算结果为零标志 Z 运算结果为负标志 N 运算结果符号标志 S 等这些标志位通常用1位触发器来保存还用来保存中断和系统工作状态等信息以便CPU和系统及时了解机器运行状态和程序运行状态 电子工程学院 40 123 3 闪速存储器 闪速存储器 FlashMemory 简称闪存 像ROM一样在关机时保留数据像RAM一样可被重写通常比ROM和RAM慢得多用于非高速的应用场合 电子工程学院 41 123 4 高速缓冲存储器Cache 高速缓冲存储器 简称高速缓存 Cache比寄存器慢 但比主存快位于CPU和主存储器之间规模较小 但速度很快能够很好地解决CPU和主存之间的速度匹配问题计算机自动把频繁访问数据移入Cache 无需人工干预当需要读写数据时 CPU首先访问Cache只有当Cache中不包含所需要的数据时 CPU才去访问主存 电子工程学院 42 123 5 辅助存储器 外存储器 简称外存 或辅助存储器 简称辅存 软盘存储器 硬盘存储器 光盘存储器等存放当前不在运行的程序和未被用到的数据存储容量大 成本低 可脱机保存信息相对而言 半导体存储器称为内存储器 简称内存 电子工程学院 43 123 1 输入设备将人们熟悉的信息形式 变换成计算机能接受并识别的二进制信息形式理想的输入设备应该是 会看 和 会听 的键盘 鼠标 扫描仪等 以及用于文字识别 图像识别 语音识别的设备 4 输入输出设备 电子工程学院 44 123 2 输出设备 将计算机输出的处理结果信息 转换成人类或其他设备能够接受和识别的信息形式理想的输出设备应该是 会写 和 会讲 的激光打印机 绘图仪 CRT LCD显示器等 以及输出语言的设备 如语音合成产品 4 输入输出设备 电子工程学院 45 123 3 适配器 外围设备通过适配器 Adapter 部件与主机相连接作用相当于转换器 保证外围设备按照计算机系统特性所要求的形式发送或接收信息使主机和外围设备并行协调地工作 4 输入输出设备 电子工程学院 46 123 5 总线 多个系统部件之间进行数据传送的公共通路按照信号类型 可将总线分为地址总线 AB 数据总线 DB 控制总线 CB 按功能分类片内总线CPU芯片内部功能单元的信号连接总线片总线计算机系统主板各芯片间的信号连接总线内总线计算机系统主板与外设间的信号连接总线外总线计算机系统间的信号连接总线 电子工程学院 47 123 程序的执行过程 取指令 分析指令 执行指令 AB DB 地址译码 读控制 MOV5CH R1ADDR1 2EH R1 1 电子工程学院 48 123 模型机指令系统 指令是发送到CPU的命令 指示CPU执行一个特定的处理 如从存储器取数据 对数据进行逻辑运算等 CPU可以处理的全部指令集合称为指令集 InstructionSet 指令集结构 ISA InstructionSetArchitecture 是体系结构的主要内容之一 对CPU的基本组织会产生非常大的影响 ISA功能设计实际就是确定软硬件的功能分配 指令通常包含操作码和操作数两部分 操作码指明要完成操作的性质 如加 减 乘 除 数据传送 移位等 操作数指明参加上述规定操作的数据或数据所存放的地址 电子工程学院 49 123 模型机常用汇编指令 电子工程学院 50 123 指令周期的基本概念 1 指令周期2 CPU周期3 时钟周期4 取出和执行任何一条指令所需的最短时间为2个CPU周期 电子工程学院 51 123 1 指令周期 CPU取出一条指令并执行该指令所需的时间指令周期的长短与指令的复杂程度有关指令周期常常用若干个CPU周期数来表示 2 CPU周期 通常用从主存读取一条指令的最短时间CPU周期也称为机器周期一个CPU周期包含若干个时钟周期 指令周期的基本概念 电子工程学院 52 123 3 时钟周期 处理操作的最基本时间单位 由机器的主频决定一个CPU周期的时间宽度由若干个时钟周期的总和来决定采用定长CPU周期的指令周期示意图 指令周期的基本概念 电子工程学院 53 123 4 执行指令周期 任何一条指令的指令周期至少需要2个CPU周期 而复杂指令的指令周期则需要更多的CPU周期一条指令的取出阶段需要一个CPU周期时间一条指令的执行阶段需要至少一个CPU周期时间指令的复杂度不同 其执行周期所需的CPU周期数也不尽相同 指令周期的基本概念 电子工程学院 54 123 例 现有一个由5条典型指令组成的程序 请分析每一条指令的指令周期 电子工程学院 55 123 CLA指令CLA指令是一条不访问主存的清零指令 需要2个CPU周期取指令阶段需要1个CPU周期执行指令阶段需要1个CPU周期在第1个CPU周期CPU从主存取出指令对程序计数器PC加1对指令操作码进行译码 以确定执行何种操作在第2个CPU周期CPU完成指令所要求的操作 解 电子工程学院 56 123 ADD30H指令ADD30H指令是一条访问主存取数并执行加法的指令 其指令周期由3个CPU周期组成取指令阶段需要1个CPU周期执行指令阶段需要2个CPU周期在第1个CPU周期CPU从主存取出指令译码 以确定执行何种操作在第2个CPU周期CPU将指令的地址码 操作数地址 部分 30H 送往地址寄存器完成地址译码在第3个CPU周期CPU从主存取出操作数执行加法操作 电子工程学院 57 123 STA40H指令STA40H指令是一条访问主存的存数指令 其指令周期由3个CPU周期组成取指令阶段需要1个CPU周期执行指令阶段需要2个CPU周期在第1个CPU周期CPU从主存取出指令译码 以确定执行何种操作在第2个CPU周期CPU将指令的地址码 操作数地址 部分 40H 送往地址寄存器完成地址译码在第3个CPU周期CPU把累加寄存器的内容写入主存单元 40H 中 电子工程学院 58 123 NOP指令NOP指令是一条空操作指令 没有任何功能 相当于CPU空转 但仍需要2个CPU周期取指令阶段需要1个CPU周期执行指令阶段需要1个CPU周期在第1个CPU周期CPU从主存取出指令译码 以确定执行何种操作在第2个CPU周期操作控制器不发出任何控制信号 CPU不做任何操作 电子工程学院 59 123 JMP21H指令JMP21H指令是一条直接寻址的程序控制 转移 指令 由2个CPU周期组成取指令阶段需要1个CPU周期执行指令阶段需要1个CPU周期在第1个CPU周期CPU从主存取出指令译码 以确定执行何种操作在第2个CPU周期CPU把指令的地址码 转移地址 部分 21H 送到程序计数器PC中 从而改变程序的执行顺序 实现程序的无条件转移 电子工程学院 60 123 2 5计算机系统的性能测定 计算机系统的性能由硬件性能和程序特性决定 通常可利用标准测试程序来测定性能 1 用MIPS MillionInstructionsPerSecond 每秒百万条指令 或MFLOPS 每秒百万次浮点操作 的数值来衡量计算机系统的硬件速度2 用CPU执行时间T来量化硬软件结合系统的有效速度 MIPS f MHz CPIT s IC CPI f Hz f 时钟频率 CPU的基本工作频率IC 指令数目 运行程序的指令总数CPI CyclesPerInstruction 指令执行的平均时钟周期数 可从运行大量测试程序或实际程序产生的统计数据中计算出来 CPI数越小 CPU执行指令的速度越快 电子工程学院 61 123 假设一台计算机的时钟频率是100MHz 每秒百万周期 具有4种类型的指令 它们的使用率和CPI分别如下表所示 求该计算机的MIPS值以及运行一个具有107条指令的程序所需的CPU时间 每秒叁千五百万条指令 计算机系统性能量度值计算 电子工程学院 62 123 性能测定 字长CPU一次处理的最大数据宽度 8位 16位 32位 64位机 存储容量主存容量 可访问的大小由地址总线宽度决定16位地址线 216 32KB20位地址线 220 1MB32位地址线 232 4GB 电子工程学院 63 123 冯 诺依曼体系结构瓶颈指令执行的串行性存储器读取的串行性改进CPU指令集 指令功能 指令格式 寻址方式存储器子系统 分层结构输入 输出子系统 总线 接口 多种I O方式改变改变串行执行模式 发展并行技术改变控制驱动方式 发展数据驱动 需求驱动 模式驱动等其它驱动方式 2 3微处理器体系结构的改进 电子工程学院 64 123 不同的指令集设计 CISC与RISC CISC ComplexInstructionSetComputer 复杂指令集计算机 不断增强指令的功能以及设置更复杂的新指令取代原先由程序段完成的功能 从而实现软件功能的硬化 RISC ReducedInstructionSetComputer 精简指令集计算机 通过减少指令种类和简化指令功能来降低硬件设计复杂度 从而提高指令的执行速度 现代计算机 RISC CISC 电子工程学院 65 123 CISC的特点及设计思想 美国加州大学Berkeley分校的研究结果表明 许多复杂指令很少被使用 2 8原则 控制器硬件复杂 指令多 且具有不定长格式和复杂的数据类型 占用了大量芯片面积 且容易出错 指令操作繁杂 速度慢 指令规整性不好 不利于采用流水线技术提高性能 电子工程学院 66 123 RISC的特点及设计思想 RISC机的设计应当遵循以下五个原则 指令条数少 格式简单 易于译码 提供足够的寄存器 只允许load和store指令访问内存 指令由硬件直接执行 在单个周期内完成 充分利用流水线 依赖优化编译器的作用 电子工程学院 67 123 CISC与RISC的数据流 电子工程学院 68 123 分层的存储子系统 如何以合理的价格搭建出容量和速度都满足要求的存储系统 始终是计算机体系结构设计中的关键问题之一 现代计算机系统通常把不同的存储设备按一定的体系结构组织起来 以解决存储容量 存取速度和价格之间的矛盾 设计目标 整个存储系统速度接近M1 而价格和容量接近Mn 电子工程学院 69 123 其他改善存储器带宽的方法 并行存储器 双端口存储器 哈佛体系结构 电子工程学院 70 123 现代高速总线 高速并行总线 高速总线串行化 电子工程学院 71 123 计算机体系结构的演进 并行处理技术 并行处理技术实现多个处理器或处理器模块的并行性 其基本思想包括时间重叠 timeinterleaving 资源重复 resourcereplicaiton 和资源共享 resourcesharing 指令级并行技术ISP流水线 超标量 超长指令字系统级并行技术SLP多处理器 多机 多核 多磁盘线程级并行技术TLP同时多线程SMT电路级并行技术CLP组相联cache 先行进位加法器 电子工程学院 72 123 流水线原理 取指令 译码 取操作数 运算 写结果 指令执行过程 指令控制器 运算器 流水线过程 任务分割子任务并发执行实现时间并行性 电子工程学院 73 123 指令时空图 顺序执行 4级流水线执行 流水线满载 电子工程学院 74 123 指令时空图 1 2 3 4 t0 t0 t0 t0 T0 m t0 n 1 t0 建立正常排空 空间 时间 建立时间 在流水线开始时有一段流水线填入时间 使得流水线填满 正常流动时间 流水线正常工作 各功能段源源不断满载工作 排空时间 在流水线第n条指令开始到结束时间 电子工程学院 75 123 更细的流水线 取指 FI 指令译码 DI 计算操作数地址 CO 取操作数 FO 执行指令 EI 写操作数 WO 电子工程学院 76 123 流水线由一系列串联的功能部件 Si 组成各个功能部件之间设有高速缓冲寄存器 L 以暂时保存上一功能部件对子任务处理的结果 同时又能够接受新的处理任务在一个统一的时钟 C 控制下 计算任务从功能部件的一个功能段流向下一个功能段在流水线中 所有功能段同时对不同的数据进行不同的处理 各个处理步骤并行地操作 流水线的硬件基本结构 电子工程学院 77 123 流水线技术本质将一个重复的时序过程分解成若干个子过程每一个子过程都可有效地在其专用功能段上与其他子过程同时执行采用流水线技术通过硬件实现并行操作后 就某一条指令而言 其执行速度并没有加快但就程序执行过程的整体而言 程序执行速度大大加快流水线技术适合于大量的重复性的处理 流水线特点 电子工程学院 78 123 流水线特点 优点 通过指令级并行来提高性能 缺点 增加了硬件成本 流水寄存器会引入延迟和时钟偏移 这些额外开销会使每条指令的执行时间有所增加 同时限制了流水线的深度 流水线中各段的操作存在关联 dependence 时可能会引起流水线中断 从而影响流水线的性能和效率 在流水线中 原则上要求各个阶段的处理时间都相同若某一阶段处理时间较长 势必造成其他阶段的空转等待因此 对子任务的划分是决定流水线性能的一个关键因素 电子工程学院 79 123 流水线冲突 理想流水线的性能 每个时钟周期完成一条指令实际流水机器中可能存在冒险 hazard 导致停顿 数据冒险 指令之间存在数据依赖性 先写后读 Read After Write RAW 相关先读后写 Write After Read WAR 相关先写后写 Write After Write WAW 相关资源冒险 硬件资源不够 控制冒险 分支等跳转指令引起 电子工程学院 80 123 流水线数据冲突及乱序执行 注意这里其实需要两个独立执行部件 乱序执行 定向技术 电子工程学院 81 123 1 数据冒险 例 判断以下三组指令各存在哪种类型的数据相关 1 I1 ADDR1 R2 R3 R2 R3 R1I2 SUBR4 R1 R5 R1 R5 R4 2 I3 STAM x R3 R3 M x M x 是存储器单元I4 ADDR3 R4 R5 R4 R5 R3 3 I5 MULR3 R1 R2 R1 R2 R3I6 ADDR3 R4 R5 R4 R5 R3 解 1 I1指令运算结果应先写入R1 然后在I2指令中读出R1内容 由于I2指令进入流水线 变成I2指令在I1指令写入R1前就读出R1内容 发生RAW相关 2 I3指令应先读出R3内容并存入存储单元M x 然后在I4指令中将运算结果写入R3 但由于I4指令进入流水线 变成I4指令在I3指令读出R3内容前就写入R3 发生WAR相关 3 如果I6指令的加法运算完成时间早于I5指令的乘法运算时间 变成指令I6在指令I5写入R3前就写入R3 导致R3的内容错误 发生WAW相关 电子工程学院 82 123 解决数据冒险的办法 采用编译的方法编译程序通过在两条相关指令之间插入其他不相关的指令 或空操作指令 而推迟指令的执行 使数据相关消失 从而产生没有相关性的程序代码这种方式简单 但降低了运行效率 由硬件监测相关性的存在 采用数据旁路技术设法解决数据相关由内部数据通路把上一条指令数据结果直接传递给下一条指令 下一条指令所需的操作数不再通过读取寄存器获得 而是直接获取这种方式效率较高 但控制较为复杂 电子工程学院 83 123 2 资源冒险 例如 在图示标量流水计算机中在第4个时钟周期时 第1条指令处于访存取数 MEM 阶段 而第4条指令处于取指令 IF 阶段如果数据和指令存放在同一存储器中 且存储器只有一个端口 这样便会发生这两条指令争用存储器的资源相关冲突解决资源相关冲突的一般办法是增加资源增设一个存储器 将指令和数据分别放在两个存储器中 取指令 IF 指令译码 ID 指令执行 EX 访存取数 MEM 结果写回 WB 电子工程学院 84 123 3 控制冒险 控制相关冲突是由转移指令引起的当执行转移指令时 依据转移条件的产生结果 可能顺序取下一条指令 也可能转移到新的目标地址取指令若转移到新的目标地址取指令 则指令流水线将被排空 并等待转移指令形成下一条指令的地址 以便读取新的指令 这就使得流水线发生断流为了减小转移指令对流水线性能的影响 通常采用以下两种转移处理技术 延迟转移法 转移预测法 电子工程学院 85 123 四段流水线 IF 取指令 ID 译码 取数 EX 执行 WR 写回 PC值指令流水各段n loadAIFIDEXWRn 1 loadBIFIDEXWRn 2 addA BIFID停顿EXWRn 3 storeCIFID停顿EXWRn 4 jumpKIFID停顿EXWRn 5 loadEn 6 K IFIDEX例中有资源相关 有控制转移相关 这将影响流水线的指标 例 断流断流断流 断流 电子工程学院 86 123 指令流水线设计 基本要求流水线各子段的操作相互独立流水线各子段的操作同步性能指标吞吐率加速比效率 理想流水线 各级延时时间相等 无等待时间 大量代码不断流 电子工程学院 87 123 吞吐量 ThroughputRate 吞吐量Tp 指单位时间内能完成的作业量最大吞吐量Tpmax 流水线达到稳定状态后的吞吐率用于描述流水线执行各种运算的速率 通常表示为每秒执行的运算数或每周期执行的运算数 若一个m级线性流水线各级时长 即拍长 均为 t 则连续处理n条指令时的实际吞吐量Tp为 可以看出 当n 时 最大吞吐量Tpmax 1 t 电子工程学院 88 123 加速比 SpeedupRatio 非流水线执行时间相对流水线执行时间之比 若一个m级线性流水线各级时长 即拍长 均为 t 则连续处理n条指令时的加速比Sp为 可以看出 当n 时 Sp m 即最大加速比等于流水线的段数m 电子工程学院 89 123 效率 Efficiency 一定时段内 流水线所有段处于工作状态的比率 若一个m级线性流水线各级时长 即拍长 均为 t 则连续处理n条指令时的效率E为 E 指令完成时间内占用的时空区 指令总时空区 可以看出 当n 时 E 1 即流过流水线的指令越多 流水线效率越高 电子工程学院 90 123 电子工程学院 91 123 流水线技术指标 延迟 ps吞吐量 GIPS 延迟 360ps吞吐量 1 120ps 8 33GIPS 单个操作延迟增加 整体吞吐量增加 延迟 320ps吞吐量 1 320ps 3 12GIPS 延迟 执行一条指令需要的时间 电子工程学院 92 123 流水线操作过程 电子工程学院 93 123 流水线的局限性 各阶段性能差异会导致流水线性能下降 寄存器延迟开销导致流水线性能下降 硬件空闲 延迟 ps吞吐量 GIPS 延迟 510ps吞吐量 1 170ps 5 88GIPS 电子工程学院 94 123 例 四段流水线 t1 t3 t4 t t2 3 t 求 4个任务 10个任务时TP E SP 时间 空间 Tp 4 6 3 3 t 4 15 t 0 267 1 t E 24 t 4 15 t 2 5 40 Sp 4 6 t 15 t 8 5 1 6 n 4时 电子工程学院 95 123 不规则流水线参数 电子工程学院 96 123 超级标量计算机的原理 每拍启动3条指令要求并行度 3 超级标量机 配置多个功能部件多个译码器 寄存器端口 总线 能同时执行多个操作 电子工程学院 97 123 例 有一条4段指令流水线 各段的执行时间分别50ns 50ns 100ns 200ns 求 1 连续输入10条指令的情况下 该流水线的实际吞吐率和效率 2 该流水线的瓶颈在哪一段 请采用两种不同的措施消除此瓶颈 对于你所给出的两种新的流水线 连续输入10条指令时 其实际吞吐率和效率各是多少 电子工程学院 98 123 空时流水图 电子工程学院 99 123 解 1 2 细分流水 电子工程学院 100 123 解 重复设置部件 电子工程学院 101 123 多机并行系统 大规模并行处理机 MPP 是一种价格昂贵的超级计算机 它由许多CPU通过高速专用互联网络连接 机群 cluster 由多台同构或异构的独立计算机通过高性能网络或局域网连在一起协同完成特定的并行计算任务 刀片 blade 通常指包含一个或多个CPU 内存以及网络接口的服务器主板 通常一个刀片柜共享其它外部I O和电源 而辅助存储器则有距离刀片柜较近的存储服务器提供 网格 Network 是一组由高速网络连接的不同的计算机系统 可以相互合作也可独立工作 网格计算机将接受中央服务器分配的任务 然后在不忙的时候 如晚上或周末 执行这些任务 电子工程学院 102 123 多核处理器 电子工程学院 103 123 多线程技术 单片多处理器 ChipMulitProcessor CMP 问题 晶体管数量 芯片面积及芯片发热量多线程处理器 MultithreadedProcessor 细粒度多线程 Fine GrailMultithreading 在每个指令中切换线程 处理器必须能在每个时钟周期切换线程 其优点是可以隐藏停顿引起的吞吐量损失 缺点是单个线程处理速度变慢了 粗粒度多线程 Coarse GrailMultithreading 仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失 特别是对于短的阻塞 电子工程学院 104 123 2 4计算机体系结构的分类 1966年 MichaelJ Flynn从计算机体系结构的并行性能出发 按照指令流和数据流的不同组织方式 把计算机系统的结构分为4类 电子工程学院 105 123 1 SISD体系结构 SISD计算机是传统的顺序执行的计算机在同一时刻只能执行一条指令 即只有一个控制流 处理一个数据 即只有一个数据流 通常由一个处理器和一个存储器组成主要缺点单个处理器的处理能力有限这种结构没有发挥数据处理中的并行性潜力 电子工程学院 106 123 2 SIMD体系结构 SIMD计算机属于并行结构计算机一条指令可以同时对多个数据进行运算单一的指令部件 多个处理单元由一个控制器 多个处理器 多个存储模块和一个互连网络组成以阵列处理机和向量处理机为代表 电子工程学院 107 123 3 MISD体系结构 MISD计算机具有多个处理单元 分别执行不同的指令流同一个数据流顺次通过各个处理单元只适用于某些特定的算法 在目前常见的计算机系统中很少见 电子工程学院 108 123 4 MIMD体系结构 MIMD计算机属于并行结构计算机多个处理单元根据不同的控制流程执行不同的操作 处理不同的数据由多台处理机 多个存储模块和一个互连网络组成每台处理机执行自己的指令 操作数也是各取各的 每个处理器都可以单独编程以多处理机和机群系统为代表 电子工程学院 109 123 现代控制器设计趋势 采用非集中控制模式 I O和M拥有各自的控制器 从而变为自主的功能部件 I O和M采用异步控制 按照微控制命令的形成方式 控制器可分为随机逻辑和微程序两种基本类型 3 2控制器的设计 了解 控制器根据指令译码结果和当前状态决定在什么时间 根据什么条件 发出什么命令 做什么操作 生成时序控制信号生成指令执行所需的控制信号响应各种中断或异常事件请求 电子工程学院 110 123 3 2 3随机逻辑控制器设计 随机逻辑 硬连逻辑 体系结构用布尔逻辑函数来表示控制单元的输入和输出之间的关系 时序部件 指令预处理 电子工程学院 111 123 随机逻辑控制器的特点 优点 可通过简化指令减少所使用的门电路总数从而减少制造费用 缺点 指令集结构与硬件逻辑方程之间存在着密切联系 设计过程复杂 重用性差 设计成果很少能再利用到以后的新CPU设计中 适用于较简单的指令集结构 电子工程学院 112 123 最小化逻辑门数目优化硬件逻辑 尽可能地少用触发器优化硬件时序逻辑门级数最小化 建立并行通路以满足时序约束 增加逻辑 简化指令集逻辑简单 寄存器数量少 随机逻辑控制器的设计要点 RISC 这是最重要的目的 电子工程学院 113 123 随机逻辑控制器的设计步骤 指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第4节 串联分压与并联分流说课稿-2025-2026学年高中物理选修3-1鲁科版
- 比亚迪机修知识培训内容课件
- 字母教学课件怎么制作的
- 幼儿园沉浸式教学课件
- 吉林省通化市第十四中学2025-2026学年生物高三第一学期期末教学质量检测试题
- 2025-2026学年上海华东师大三附中生物高三第一学期期末质量跟踪监视试题
- 神经内科考试题库及答案(二)
- 江苏省南通市田家炳中学2025年生物高三第一学期期末达标检测模拟试题
- 第一章 人体需要营养物质说课稿-2025-2026学年初中生物学济南版2024八年级上册-济南版2024
- 2025-2026学年江苏省淮安市清江中学等四校生物高三上期末质量检测试题
- 2025年蛇年年会汇报年终总结大会模板
- 存款代持协议书范文模板
- DB3301T 0374-2022 疗休养基地评价规范
- 胖东来企业文化指导手册
- 北师大版八年级物理(上册)期末复习题及答案
- 【历年真题合集+答案解析】2024年教资高中历史
- 委托别人找工作的协议
- 医技三基三严知识模拟习题含参考答案
- Y -S-T 732-2023 一般工业用铝及铝合金挤压型材截面图册 (正式版)
- 不定代词专项练习(附详解)
- 科研数据的存储与管理
评论
0/150
提交评论