计算机体系结构概述
计算机体系结构
Chapter-1:计算机系统结构的基本概念
认识计算机系统结构
-
1945年诞生与美国宾夕法尼亚大学的ENIAC,用于计算火炮的弹道
-
1946年,生于匈牙利的美国数学家冯·诺依曼提出了"存储程序计算机"
-
定义:
-
计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。
-
定义二:计算机系统结构包括计算机系统设计的三个方面:计算机指令系统;计算机组成;计算机硬件。
-
计算机系统结构的分类
-
并行性能是计算机系统结构的分类标准
- 弗林(Flynn)分类法
- 指令流(Instruction Stream) :指令的传送序列。
- 数据流(Data Stream):数据传送、加工的序列。
- 多倍性(Multiplicity):在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。
- 单指令流单数据流(SISD)|单指令流多数据流(SIMD)|多指令流单数据流(MISD)|多指令流多数据流(MIMD)
- 冯氏分类法
- 最大并行度是指计算机单位时间内能够处理的最大的二进制位数。最大并行度是指计算机单位时间内能够处理的最大的二进制位数
- 字串位串,WSBS | 字串位并,WSBP | 字并位串,WPBS | 字并位并,WPBP
- 汉德勒(Hander)分类法
- 从硬件设备结构的并行级和流水线的程度分类:程序控制部件的个数;算术逻辑运算部件(处理部件的个数);基本逻辑线路的套数。
- 弗林(Flynn)分类法
-
计算机系统结构 – 主要研究软硬件功能的分配和对软件、硬件界面的确定,是计算机系统的概念性结构和功能特性。
-
计算机组成 – 计算机系统结构的逻辑实现。
-
计算机的实现 – 指其计算机组成的物理实现。
计算机系统结构的发展
- 巨型机、大型机、中型机、小型机、微型机
- 冯-诺依曼结构:存储程序计算机;计算机由四个部分组成(运算器、存储器、控制器、输入/输出设备)
- 冯·诺依曼结构两个最重要特征:
- 指令驱动计算机内部的信息流动
- 计算机应用主要面向数值计算
- 非冯·诺依曼体系结构:数据流计算机,归约计算机,基于面向对象程序设计语言的计算机,人工智能计算机
- 指令的操作:取指令→指令译码→取操作数→运算→结果写回(重新开始)
- 对系统结构进行的4种改进方式
- 输入/输出方式的改进
- 程序控制 / DMA / IO处理机
- 采用并行处理技术
- 存储器组织结构的发展
- 指令系统的发展
- 复杂指令集计算机/精减指令集计算机
- 输入/输出方式的改进
量化设计的基本原则
-
大概率事件优先原则:对于大概率事件或者说最常见的事件,赋予它优先的处理权和资源使用权,以获得全局的最优结果。
-
Amdahl定律:系统中对某一部件采用更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。
- 加速比:假设我们对机器(部件)进行某种改进,那么机器系统部件的加速比就是:
- 程序的局部性原理:程序的局部性原理是指程序总是趋向于使用最近使用过的数据和指令。程序访问地址的分布不是随机的,而是相对地簇聚
- 时间局部性:近期被访问的代码,很可能不久又将再次被访问。
- 空间局部性:是指地址上相邻近的代码可能会被连续的访问。
计算机系统结构中并行性的发展
- 并行性概念:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
- 同时性:两个或两个以上的事件在同一时刻发生。
- 并发性:两个或两个以上的事件在同一时间间隔内发生。
- 从处理数据角度,并行 性等级从低到高为:字串位串|字串位并|字并位串|字并位并
- 从执行程序角度,并行性等级从低到高为:指令内部并行|指令级并行|线程级并行|任务级或过程级并行|作业或程序级并行
- 提高并行性的技术途径:时间重叠(时间)-- 基础设是部件功能专用化、资源重复(空间)、资源共享(轮流使用)
- 并行机发展的四个阶段:
- 并行机的萌芽阶段(1964-1975)
- 向量机的发展和鼎盛阶段(1976-1990)
- MPP出现和蓬勃发展阶段(1990-1995)
- 各种体系结构并存阶段(1995-2000)
- 机群蓬勃发展阶段(2000 - ?)
Chapter-2:指令系统
指令系统分类
-
指令系统:一台计算机中所有机器指令的集合,称为这台机器的指令系统。
-
指令系统分类:
- 复杂指令集计算机(CISC)
- 精简指令集计算机(RISC)
-
将指令系统的结构分为三种类型:
- 堆栈型结构
- 累加器型结构
- 通用寄存器型结构
寻址方式
- 寻址方式是指令系统中产生所要访问的数据地址的方法。
- MOV AX BX — 操作码 目的操作数 源操作数
- 按访问方式分类:
- 按地址访问
- 按内容访问
- 寄存器寻址:ADD R1,R2
- 立即值寻址:ADD R3,#6
- 寄存器间接寻址:ADD R4,(R2)
- 索引寻址:ADD R4,(R2+R4)
- 直接寻址:ADD R4,(1010)
- 存储器间接寻址:ADD R2,@(R4)
- 自增寻址:ADD R1,(R2)+
- 自减寻址:ADD R1,-(R2)
- 缩放寻址:ADD R1,80(R2)[R3]
指令系统的设计和优化
- 设计时考虑因素:速度、成本、灵活性
- 设计原则:完整性、规整性(对称性、均匀性)、正交性(不同含义字段在编码时互不相关、相互独立)、高效率、兼容性(向后兼容)
- 控制指令:控制指令用来改变控制流
- 操作码的优化
- 等长扩展码
- 定长扩展码
指令系统的发展和改进
-
CISC
- 许多指令很少用、控制器硬件复杂、复杂指令速度慢、规整性不好
- 改进:
- 面向目标程序增强指令功能
- 目标程序→统计分析
- 高频度指令→硬件加快
- 高频度高指令串→新指令替代
- 增强运算型指令功能
- 增强数据传送指令功能
- 增强程序控制指令功能
- 面向高级语言的优化实现改进指令系统
- 频度高、执行时间长的语句
- 增强系统结构的规整性
- 面向操作系统的优化实现改进指令系统
- 处理机工作状态和访问方式的切换
- 进程的管理和切换
- 存储管理和信息保护
- 进程的同步与互斥,信号灯的管理等
- 面向目标程序增强指令功能
-
RISC
- RISC遵循的原则:
- 指令条数少、功能简单
- 采用简单统一的指令格式
- 指令执行在单机器周期内完成
- 采用Load-Store结构
- 采用硬连线逻辑实现
- 强调优化编译器作用
- 利用流水技术提高性能
- RISC遵循的原则:
操作数的类型和大小
- 数据类型:由软件进行处理和实现的各种数据类型 — 图、表、树、字符串…
- 数据表示:计算机硬件能够直接识别、指令系统可以直接调用的数据类型 – 定点数、逻辑数、浮点数
- 操作数类型表示方法
- 由操作码指定
- 带标识符的数据表示
- 操作数大小:
- 字节(8位)
- 半字(16位)
- 单字(32位)
- 双字(64位)
MIPS指令系统结构
- 国产CPU处理器
- 飞腾 – 兼容ARM指令集
- 龙芯 – Alpha指令
- 申微 – 采用RIS架构,兼容MIPS指令
- MIPS的数据寻址方式
- 立即数寻址
- 偏移量寻址
- MIPS的指令格式
- I类指令
- R类指令
- J类指令
Chapter-3:流水线技术
流水线的基本概念
-
把一个重复的过程分解为若干子过程(相当于上面的工序),每个子过程由专门的功能部件来实现;把各个处理过程在时间上错开,依次通过各功能段,每个子过程与其他子过程并行进行。
-
流水线中的每个子过程及其功能部件被称为“级”(或“段”);段数:流水线的深度。
-
指令流水线:把流水线技术应用于指令的解释执行过程
-
流水线的描述方法:时空图
- 从时间和空间两个方面描述流水线的工作过程。
- 横坐标表示时间,纵坐标表示各流水段。
-
特点:
- 流水过程由多个相关的子过程组成,每个子过程由专用的功能段实现。
- 各功能段的时间应基本相等,否则时间最长的段将成为流水线的瓶颈;这个时间通常为1个时钟周期(1拍)。
- 流水线需要经过一定的时间(“通过时间”)才能稳定下来,并持续地输出结果。
- 流水线技术适用于于大量重复的时序过程。
流水线的分类
按流水线所完成的功能分类:
- 单功能流水线:只能完成一种固定功能的流水线,如浮点加法流水线。
- 多功能流水线:各段可以进行不同的连接,从而使流水线在不同的时间或同一段时间完成不同的功能。
按同一时间内流水段的连接方式划分
- 静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
- 动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。(控制逻辑很复杂)
按流水的级别划分
- 部件级流水线,又叫运算操作流水线,是把处理机的算术逻辑部件分段,使得各种数据类型的操作能够进行流水,如浮点加法流水线。
- 处理机级流水线,又叫指令流水线,是把解释指令的过程按照流水方式处理,如指令分析执行流水线。
- 处理机间流水线,又叫宏流水线,是由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
按照数据表示来进行分类
- 把指令执行部件中采用了流水线的处理机称为流水线处理机。
- 标量流水处理机
- 向量流水处理机
线性流水线与非线性流水线
- **线性流水线:**流水线的各段串行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。
- **非线性流水线:**流水线中除了有串行的连接外,还有反馈回路。
根据任务流入和流出的顺序是否相同来进行分类
- 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。
乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。
MIPS的一种简单实现
- 非流水方式
- 改进方法:采用多周期实现方案
基本MIPS流水线
- 改进思路:
- 将前述数据通路流水化,使得数据通路中的每一个周期就成为流水线的一段。
- 每个时钟周期启动一条指令,得到了一条简单的MIPS流水线。
- 问题解决:
- 应保证流水线各段不会在同一时钟周期内使用相同的寄存器通路资源。
- 不能要求一个ALU既做有效地址计算,又做减法操作。解决方案:在IF段添加一个ALU部件,专门用于做有效地址计算。
- IF与MEM两个阶段都要访问存储器,怎样避免访存冲突?解决方案:可以采用分离的指令存储器(IM)和数据存储器(DM);或者基于同一个存储器,采用分离的指令Cache和数据Cache。
- ID段和WB段都要访问同一寄存器文件,有可能存在读写冲突。解决方案是:前半拍写,后半拍读。
- 下条指令PC值的计算问题。解决方案:改变数据通路。
- 合理划分流水段,每段内的操作都必须在一个时钟周期内完成。
- 要防止指令状态数据被其他指令修改。
- 应保证流水线各段不会在同一时钟周期内使用相同的寄存器通路资源。
流水线的性能分析
- 主要性能指标:吞吐率、加速比、效率
- 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。
- 各段时间均相等的流水线
- 各段时间不完成相等的流水线
- 举例:一条5段的流水线,S1,S2,S3,S5各段的时间:t、S4的时间:3t
- 流水线中这种时间最长的段称为流水线的瓶颈段。
- 加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。
- 流水线的效率:流水线中的设备实际使用时间与整个运行时间的比值,即流水线设备的利用率。
- 性能指标之间的关系
流水线相关
- 流水线需要有一定的通过时间与排空时间;运算之间存在关联,后面有些运算要用到前面运算的结果。“流水线相关”
- 消除相关的基本方法一一暂停。
- 约定:
- 暂停流水线中某条指令及其后面所有指令的执行;
- 该指令之前的所有指令继续执行;
- 不会取新的指令。
- 三种不同类型的相关
- 结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突。
- 插入暂停周期
- 缺点:流水线性能降低。
- 采用资源重复的方法
- 将指令存储器和数据存储器分离;
- 将Cache分割成指令Cache和数据Cache。
- 插入暂停周期
- 数据相关:因指令之间存在数据依赖,一条指令需要用到前面指令的结果,而无法与产生结果的指令重叠执行。
- 向流水线中插入暂停周期
- 通过定向技术减少数据相关带来的暂停
- 控制相关:当流水线遇到分支指令和其它会改变PC值的指令时就发生控制相关。
- 冻结或排空流水线
- 预测分支失败
- 预测分支成功
- 延迟分支
- 结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突。
Chapter-4:存储层次
存储器的层次
- 存储器主要指标
- 容量 – 容量大
- 速度 – 速度快
- 价格 – 价格低
- 策略–采用多种存储器技术,构成多级存储**(“寄存器-Cache-主存-辅存”)**层次
- 存储层次的四个问题:映像规则、查找算法、替换算法、写策略
Cache的基本知识
- 信息交互单位 : 块
- 映像规则——确定主存块和Cache块位置对应关系
- 直接映像 – 主存中的每一块只能被放置到Cache中唯一的一个位置
- 全相联映像
- 组相联映像 – 主存中的每一块,可以被放置到Cache中唯一的一个组中的任何一个位置Cache等分为若干组,每组有若干块
- 替换算法
- 直接映像——Cache中只有一个块位置可被选择
- 组相联、全相联映像——Cache中有多个选择
- 随机法:实现简单、失效率偏高
- 最近最少使用法(LRU):失效率低
- 先进先出法(FIFO):实现简单、无法反映局部性原理
- 最不常使用法(LFU):失效率低、代价高
降低Cache失效率的方法
- 失效产生的原因
- 强制性失效 – cache中未找到
- 容量失效 – cache中找到容量满
- 冲突失效 – cache中找到冲突
- 解决方案
- 增加Cache块大小
- 提高相联度
- Vuctim Cache
- 硬件预取技术
- 由编译器控制的预取
- 编译器优化
减少Cache失效率开销
- 写缓冲及写合并
- 写直达Cache:因为所有的写请求都必须发送到下级存储层次中,经常使用一个写缓冲器来降低失效开销。
- 写回法Cache:也可采用写缓冲器(相对简单),以减少块的替换时间。
- 让读失效优先于写
- 推迟读失效处理
- 让读优先于写
- 请求字处理
- 尽早重启动
- 请求字优先
- 多级Cache
- 增加一级Cache
- 非阻塞Cache
减少命中时间
- 命中时间是指访问Cache命中时所采用的时间。
- 采用容量小、结构简单的Cache
- 虚拟Cache
- 写操作流水化
- 多体Cache
- 路预测
- Trace Cache
主存
- 核心存储器件
- 提高主存性能的优化策略
- 增加存储器宽度
- 多体交叉技术
- 独立存储器
虚拟存储器
- 虚拟性
- 共享性
- 自动性
- 虚拟存储器的管理方式:
- 页式/段式
- 映像规则,查找算法,替换算法,写策略
Chapter-5:输入输出系统
输入输出系统概述
- 输入输出系统(简称I/O系统):通常把处理机与主存储器之外的部分。
- 输入输出系统包括:输入输出设备、输入输出接口和输入输出软件等。
- 主要作用:控制主机与外设之间的信息传送,包括设备的寻址、选择、数据通路的建立和数据传送等。
- 特点:异步性、设备无关性、实时性
- 基本输入输出方式:程序查询方式、中断输入输出方式、直接存储器访问方式(DMA)、通道方式、输入输出处理机方式
总线系统
- 总线:连接计算机中CPU、内存储器、外存储器和输入输出设备的接口的公共信息通路。
- 总线系统:总线与其相配合的附属控制电路统称。
- 总线在计算机结构中所处的位置:片内总线、片总线、内总线、外总线
- 传递的信息类型:数据总线(双向)、地址总线(单向)、控制总线(单向)
- 信息传送的方向:单向传输、双向传输(半双向、全双向)
- 总线的分类:单总线结构、双总线结构、三总线结构
- 总线控制方式:集中式和分布式
- 总线的指标:*总线的传输率=总线宽度 * 总线频率 每周期数据量
中断系统
- 中断源:引起中断的各种事件。
- 中断源可以来自系统外部,也可以来自机器内部,甚至处理机本身。中断可以是硬件引起的,也可以是软件引起的。
- 中断源的种类:故障中断、访管中断、I/0中断(外设引起)、程序性中断、外中断
- 中断优先级:紧迫性、重要性、设备的工作速度、数据恢复的难易程度
- 影响中断系统性能的两个因素:中断响应时间、灵活性
通道处理机
- 通道的工作过程
- 管态指令:操作系统的指令,例如控制外部设备操作用的输入输出指令。
- 目态指令(访管指令):用户态应用程序的指令。
- 广义指令:访管指令和参数,它的操作码实质上是对应于此广义指令的管理程序入口。
- 通道程序编制期、选择设备期、数据传送期、数据传送结束期
- 字节多路通道
- 以字节交叉方式轮流为多个外设服务,用于连接多个慢速的和中速的设备,如键盘、打印机等。
- 选择通道
- 又称高速通道,可以连接多个设备,在某一段时间内通道只能选择一个设备进行工作,传输完成后才为其他外围设备传输数据。用于连接高速外围设备,如磁盘等信息以成组方式高速传输。
- 数组多路通道
- 以数组(数据块)为单位,多个高速设备交叉复用通道。选择一个外设,送完一块数据后,再选择下一个外设进行数据传送
- 通道的流量分析
Chapter-6:多处理机
多处理机概述
-
并行计算机体系结构分类
- Flynn分类法
- 多指令流多数据流MIMD成为通用多处理机体系结构的主流选择
-
通信模型和存储器的结构模型
-
通信模型
- 对于共享地址空间的机器:利用Load和Store指令中的地址隐含地进行数据通信。
- 多个地址空间的机器:数据通信要通过处理器间显式地传递消息完成。
- 消息传递机器:消息传递机器根据简单的网络协议,通过传递消息来请求某些服务或传输数据,从而完成通信。
- 三个关键性能指标:通信带宽、通信延迟、通信延迟的隐藏
-
存储器的结构模型:物理上分离的多个存储器可作为一个逻辑上共享的存储空间进行编址。整个地址空间由多个独立的地址空间构成,它们在逻辑上也是相独立的,远程的处理器不能对其直接寻址。
-
-
并行处理面临的挑战
- 程序中有限的并行性
- 相对较高的通信开销
对称式共享存储器体系结构
- 多处理机Cache的一致性
- 多级Cache可以降低处理器对存储器带宽的要求。
- 对称式共享存储器体系结构支持对共享数据和私有数据的Cache缓存。
- Cache的引进对I/O操作产生了一致性问题
- 存储器一致性定义:如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。
- 实现一致性的基本方案:
- 共享数据迁移
- 共享数据复制
- Cache一致性协议:目录、监听
- 维持一致性要求:写作废协议,写更新协议
- 实现Cache一致性的基本方案
- 监听协议及其实现
分布式共享存储器体系结构
-
基于目录的Cache一致性
- 在支持Cache一致性的可缩放的共享存储器体系结构中,关键是寻找替代监听协议的一致性协议。
-
目录协议及其实现
-
目录协议:用一种专用的存储器所记录的数据结构,它记录着可以进入Cache的每个数据块的访问状态、该块在各个处理器的共享状态以及是否修改过等信息。
-
目录协议两种主要的操作:处理读失效,处理对共享、干净块的写
-
目录协议的状态:共享、未缓冲、专有
-
发往一个目录的消息会产生两种不同类型的动作:更新目录状态,发送消息满足请求服务
-
目录项可能接收到三种不同的请求:读失效、写失效、数据写回
-
对基于目录的Cache一致性的多种改进:有限映射目录、链式结构目录
-
互连网络
- 互联网络是将对称式系统或分布式系统中的节点连接起来所构成的网络,这些节点可能是处理器、存储模块或者其他设备,它们通过互联网络进行信息交换。
- 性能较高的互联网络的特点:数据传送速率高;延迟低;通信频带宽。
- 互联网络性能参数:节点度,网络直径、等分宽度
- 路由:在网络通信中对路径的选择与指定
- 静态连接网络:静态网络使用直接链路,它一旦构成后就固定不变。这种网络比较适合于构造通信模式可预测或可用静态连接实现的计算机系统。
- 动态连接网络:不用固定连接,而是沿着连接通路使用开关或仲裁器以提供动态连接特性。
同步
-
同步机制通常是在硬件提供的同步指令的基础上,通过用户级软件例程来建立的。
-
实现同步操作的原语:原子交换、测试并置定、读取并加1、使用指令对
-
用一致性实现锁:
- 旋转锁:处理器环绕一个锁不停地旋转而请求获得该锁。
- 如果机器支持Cache一致性,就将锁缓冲进入Cache,并通过一致性机制使锁值保持一致。
-
同步性能问题:
- 简单旋转锁不能很好地适应可缩扩性。大规模多处理机中,若所有的处理器都同时争用同一个锁,则会导致大量的争用和通信开销。
-
栅栏同步:
- 栅栏强制所有到达该栅栏的进程进行等待,直到全部的进程到达栅栏,然后释放全部的进程,从而形成同步。
- 栅栏通常是在循环中使用,从栅栏释放的进程运行一段后又会再次返回栅栏,这样有可能出现某个进程永远离不开栅栏的状况。
-
大规模机器的同步:
- 人们所希望的同步机制是在无竞争的条件下延迟较小,在竞争激烈时串行性小。
-
硬件原语支持
- 排队锁:排队记录等待的进程,当锁释放时送出一个已确定的等待进程。
- 硬件同步原语:引进一种原语来减少栅栏记数时所需的时间,从而减小串行形成的瓶颈。
同时多线程
-
多线程技术 与 同时多线程技术是不同的技术
-
多线程技术:使多个线程以重叠的方式共享单个处理器的功能单元,从而提高处理器的性能。
- 细粒度多线程:在每条指令间都能进行线程的切换,从而导致多个线程的交替执行。
- 粗粒度多线程:线程之间的切换只在发生代价较高、时间较长的阻塞出现时。
-
同时多线程技术(SMT):是一种在多流出、动态调度处理器上开发线程级并行和指令级并行的改进的多线程技术。
Chapter-7:非冯-洛依曼型计算机
人工智能计算机
- 人工智能计算有如下特征:
- 人工智能计算的主要对象是符号而不是数值。常用的基本符号操作包括比较、选择、排序、匹配、逻辑集合运算、分类以及模式检索和识别等。
- 非确定计算:由于人工智能进行的主要是非数值运算,很多算法存在不确定性,因而在求解过程中常采用对所有的可能性进行穷尽枚举,或者对求解空间进行有控制的搜索。
- 动态进行:由于缺少完整的知识和对求解过程的预见性,因此在求解过程中往往需要建立新的数据结构和函数,对于存储器及其它资源可能随时回收或重新分配,其任务可能动态建立,通信拓扑可能动态变化。
- 并行和分布处理:由于在人工智能算法中,任务往往是相互独立的,因此存在并行性和分布处理的潜力,而且任务之间往往缺乏数值性的约束或关联。
- 知识管理占主导地位。在非数值的符号处理中,有用的知识越多,无用的搜索就越少,因此知识管理起着很重要的作用,包括知识的表达、加工、管理和学习等。在智能化的求解过程中,有些知识来源未知,或者无法预见,因此存在知识的不完善性,这就要求人工智能系统一般设计成开放性的系统,允许其不断地求精和获取新的知识。
- 人工智能计算机一般可分为四类:
- 基于语言的人工智能计算机
- 基于知识的人工智能计算机
- 连接式(Connectionist)人工智能计算机
- 带智能接口的人工智能计算机
数据流计算机
-
冯-洛依曼体系结构的不足:
- 控制驱动型
- 指令执行的并行性不高
-
数据流计算机的基本原理
- 采用数据驱动方式工作
- 没有程序计数器
- 没有常规的变量概念
- 指令是在数据可用性的控制下并行执行的
-
数据驱动的特性:异步性、并行性、函数性、局部性
-
最基本的数据流语言是数据流计算机的机器语言,即数据流程序图。
-
高级数据流程序设计语言主要有三类:
- 单赋值语言
- 函数类语言
- 命令类语言
-
数据流计算机的优点:
- 高度并行运算
- 流水线异步操作
- 与VLSI技术相适应
- 有利于提高程序设计效率
-
数据流计算机的缺点:
- 操作开销过大
- 不能有效利用传统计算机的研究成果
- 数据流语言尚不完善
平时测验
例题:
一
- 利用时间重叠原理实现并行处理的是 流水处理机
- 多处理机首先的并行主要是 任务级并行
- 从计算机系统结构来看,机器语言程序员看到的机器属性是 编程要用到的硬件组织
- 直接执行微指令的是 硬件
- 软件兼容的根本特征是 向后兼容
- 同构型多处理机所采用的提高并行性的技术途径分别是 资源重复
- 异构型多处理机所采用的提高并行性的技术途径分别是 时间重叠
- 从执行程序的角度看,并行性等级从低到高可分为指令内部并行、指令级 并行、线程级并行、任务级或过程级并行和作业或程序级并行
- 在一个计算机系统中,低层机器的属性对高层机器的程序员往往是 透明 的
- 根据Amdahl定律,只要对某一部件进行充分改进,提高其加速比,系统加速比就可以无限制提高。 ×
二
- 不需要编址的数据存储空间是 堆栈
- CPU中用来存储操作数的存储单元主要有 堆栈、寄存器和累加器
- 以下有关指令系统的说法错误的是 指令系统和机器语言是无关的
- 在CPU执行指令的过程中,指令的地址由 程序计数器PC 给出
- 对指令系统的基本要求是 完整性、正交性、兼容性
三
-
动态流水线只能是单功能流水线 说法是不正确的
-
与线性流水线最大吞吐率有关的是 最慢的那一段的执行时间
-
在MIPS的指令流水线中,可能发生的冲突有 先流入的指令的写操作与后流入的指令的读操作之间的写后读冲突
-
关于“延迟分支”方法的3三种调度策略中,从前调度策略最好
-
延迟分支方法有3种调度策略:从前调度、从目标处调度和从失败处调度
-
由分支指令引起的延迟称为 分支延迟
-
流水线在连续流动达到稳定状态后所得到的吞吐率,称为 最大吞吐率
-
定向技术可以消除大部分数据相关,结合流水线调度技术就能够消除全部数据相关了 ×
-
为了避免结构相关,应该将流水线中的所有功能单元完全流水化或设置足够多的硬件资源 ×
-
理想情况下,流水线的最大加速比等于流水线的段数,所以,应该尽可能采用段数多的流水线方案 ×
四
- 与全相联映像相比,组相联映像的优点是 目录表小
- 按Cache地址映像的块冲突概率从高到低的顺序是:直接映像、组相联映像、全相联映像
- 组相联映像、LRU替换算法的Cache存储器,不影响Cache命中率的是 增大主存容量
- 程序员编写程序时,使用的访存地址是:逻辑地址
- 虚拟存储器主要是为了解决 扩大存储系统的容量
- 虚拟存储器的替换算法采用 LRU
- Cache容量越大,使失效率达到最低的块大小 越大
- 存储器层次结构设计技术的最基本依据是程序的 局部性 原理
- 在“Cache—主存”层次中,CPU的访存地址被分割为 块地址 和块内偏移两部分
- 当组相联的路数n变为1时,组相联就变成了直接映像,当组数G变为1 时,组相联就变成了全相联映像 √
五
-
磁盘存储器适合于连接到 选择通道或数组多路通道
-
在配置有通道的计算机系统中,用户程序需要输入输出时,引起的中断是 访管中断
-
当计算机系统通过执行通道程序完成输入输出工作时,执行通道程序的是 通道
-
输入输出数据不经过CPU内部寄存器的输入输出方式是 直接存储器访问方式
-
目前,全球权威的评测服务器性能的现行标准是 TPC-C
-
下面不属于总线特点的是 并行性
-
单碟容量的提高不仅可以提高硬盘的总容量,而且还能提高硬盘的性能。 √
-
在计算机系统中,导致错误的原因是各种故障,因此,只要有故障就一定会导致错误。×
-
在RAID0~RAID6的各级磁盘阵列中,都是通过添加冗余信息来增加系统整体可靠性的,但是具体方法不太一样。×
-
采用RAID技术之后,不仅系统可靠性得到提升,单盘可靠性也得以改善。×
六
-
能实现指令级、程序级、任务级并行的计算机系统是 MIMD
-
性能较高的互联网络的特点不包括 出错率低
-
对于多处理机系统,维护各处理器缓存内容版本同步的协议称为 Cache一致性协议
-
数据流计算机的特点不包括 没有操作码
-
现有的MIMD机器可分为 集中式共享存储器结构 和 分布式共享存储器结构 两类。每一类代表了一种存储器的结构和互连策略。
-
实现Cache一致性协议有 写作废协议 和 写更新协议 两类
-
多处理机结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。 √
-
支持共享存储器的可缩放机器,既可以支持也可以不支持Cache一致性。 √
-
粗粒度多线程技术能够在每条指令间都能进行线程的切换,从而导致多个线程的交替执行。×
-
在多处理机中实现同步的硬件原语功能,能够自动读出并修改存储单元,普通用户也可以随便使用。×
-
假设浮点数操作FP操作的比例为25%,FP操作的平均CPI=4.0,其他指令的平均CPI为1.33,则系统CPI为1.9975
-
假设某程序中,求浮点数平方根FPSQR操作占整个程序执行时间的20%,若使FPSQR的操作速度提高10倍,则系统的加速比为 1.22(保留两位小数)
-
解释和仿真原则 不是计算机设计中经常用到的定量设计原理
-
下列不是冯.诺伊曼计算机的主要特点的是 机器以控制器为中心
-
面向目标程序优化的思想是 通过使用频度分析和改进指令系统 和 增设强功能复合指令代替原来的软件实现
-
平均码长最短的编码是 哈夫曼编码
-
操作码优化的主要目的是 缩短指令字长、减少程序总位数、增加指令字表示的信息
-
信息按整数边界存储的主要优点是 访存速度快
-
CPU中用来存储操作数的存储单元主要有堆栈、累加器和寄存器
-
不需要编址的数据存储空间是 堆栈
-
采用流水线之后,单从一条指令来看,其执行时间有什么变化 – 一定变长(因为有一定的流水线开销)
-
哪一项是最常见的MIPS数据相关类型 – 写后读
-
理想情况下,流水线的最大加速比等于流水线的段数,所以,应该尽可能采用段数多的流水线方案。错
-
结构相关一定能消除但不一定要消除,数据相关一定能消除并且一定要消除。错
-
消除流水线瓶颈的方法有细分瓶颈段和重复设置瓶颈段两种。
-
流水线中的每个子过程及其功能部件称为流水线的段,流水线的段数称为流水线的 深度
-
非线性流水线的特征是 一次运算中要多次使用流水线中的某些功能段
-
按照流水的级别来分,流水线可分为部件级流水线、处理机级流水线和 处理机间流水线
-
磁盘存储器适合于连接到选择通道或数组多路通道
-
在配置有通道的计算机系统中,用户程序需要输入输出时,引起的中断是访管中断
-
当计算机系统通过执行通道程序完成输入输出工作时,执行通道程序的是通道
-
输入输出数据不经过CPU内部寄存器的输入输出方式是直接存储器访问方式
-
目前,全球权威的评测服务器性能的现行标准是TPC-C
-
下面不属于总线特点的是并行性
-
现有的MIMD机器可分为集中式共享存储器结构和分布式共享存储器结构两类。每一类代表了一种存储器的结构和互连策略
-
实现Cache一致性协议有写作废协议和写更新协议两类
-
能实现指令级、程序级、任务级并行的计算机系统是MIMD
-
性能较高的互联网络的特点不包括出错率低
-
对于多处理机系统,维护各处理器缓存内容版本同步的协议称为Cache一致性协议
-
数据流计算机的特点不包括没有操作码
-
Cache存储系统中,主存有0~7共8块,Cache为4块, 若采用直接相联映像方式,则主存中第6块将映像到Cache中的哪一块。第二块
-
Cache存储系统中,主存有0~7共8块,Cache为4块,若采用每组2块的组相联映像方式,则主存中第6块将映像到Cache中的哪一块。第二块或第三块
-
Cache存储系统中,主存有0~7共8块,Cache为4块,采用全相联映像方式,则主存中第6块将映像到Cache中的哪一块。4块中的任意一块
-
按Cache地址映像的块冲突率从高到低的顺序是直接映像、组相联映像、全相联映像
-
支持共享存储器的可缩放机器,既可以支持也可以不支持Cache一致性。√
-
粗粒度多线程技术能够在每条指令间都能进行线程的切换,从而导致多个线程的交替执行。×
-
在多处理机中实现同步的硬件原语功能,能够自动读出并修改存储单元,普通用户也可以随便使用。×
-
多处理机结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。 √
-
单碟容量的提高不仅可以提高硬盘的总容量,而且还能提高硬盘的性能。 √
-
在计算机系统中,导致错误的原因是各种故障,因此,只要有故障就一定会导致错误。×
-
在RAID0~RAID6的各级磁盘阵列中,都是通过添加冗余信息来增加系统整体可靠性的,但是具体方法不太一样。×
-
采用RAID技术之后,不仅系统可靠性得到提升,单盘可靠性也得以改善。×
-
单功能流水线一定是静态流水线 √
-
动态流水线一定是多功能流水线 √
-
多功能流水线一定是动态流水线 ×