程序访问局部性
时间局部性是指最近被访问过的数据很可能再次被访问
空间局部性是指最近被访问过的存储空间的附近空间可能会被访问
计算机体系结构
计算机体系结构是程序员所看到的计算机属性,即概念性结构与功能特性
窗口重叠技术
为了能更简单、更直接地实现过程与过程之间的参数传递,大多数 R I S C RISC RISC 机器的 C P U CPU CPU 中都设置有数量较大的寄存器组,让每个过程使用一个有限数量的寄存器窗口,并让各个过程的寄存器窗口部分重叠,这就是窗口重叠技术
透明性
对本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性
在一个计算机系统中,低层机器的属性对高层机器的程序员往往是透明的,如传统机器级的概念性结构和功能特性,对高级语言程序员来说是透明的
存储系统
存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统
并行交叉访问
每个模块各自以等同的方式与 C P U CPU CPU 传递信息,既能并行工作,又能交叉工作
相联存储器
相联存储器是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找快表
地址映像
指某一数据在主存中的地址与缓存中的对应关系
流水线
将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行
吞吐率
单位时间内通过某通信信道或某个节点成功交付数据的平均速率
超级标量机
超级标量机能同时对若干条指令进行译码,将可以并行执行的指令送往不同的执行部件,在程序运行期间,由硬件来完成指令调度
并行处理机
并行处理器指可以一次可处理多个运算的处理器
多处理机
多处理机是具有多个处理机的计算机,能够大大提高计算机的处理速度
多Cache一致性
多处理机中,当共享数据进入 C a c h e Cache Cache,就可能出现多个处理器的 C a c h e Cache Cache 中都有同一存储器块的副本,要保证多个副本数据是一致的
互联网络
一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中结点之间的相互连接。在拓扑上,互连网络是输入结点到输出结点之间的一组互连或映象。
多级互联网
多级互联网络是由大量的基本交换模块按照特定的拓扑结构相互连接构成,形成一个更大规模的能够进行信元交换的交换网络
Omega网
O m e g a Omega Omega 网络是一种多级混洗交换网络,每一级包含一个无条件混洗拓扑线路和一列可控的二元交换开关
立方体多级网
采用交换互连单级网络串接起来形成的网络
虫蚀寻径
把包进一步分成更小的片,与结点相连的硬件寻径器中有片缓冲区,消息从源结点传送到目的结点要经过一系列寻径器
DMA传送方式
直接内存访问,是一种不经过 C P U CPU CPU 而直接从内存存取数据的数据交换模式
I/O接口
l / O l/O l/O 接口是主机与被控对象进行信息交换的纽带。主机通过 I / O I/O I/O 接口与外部设备进行数据交换
多核
多核指在一枚处理器中集成两个或多个完整的计算引擎
指令系统的指令编码方法,下列哪个不是( D )
A. 正交法 B. 整体法 C. 混合法 D. 精简法
对数据描述符的说法,下列哪项不正确(D)
A. 数据描述符是用来描述复杂的数据结构的,如向量、数组、记录等。
B. 描述符专用来描述所要访问一组数据的属性,包括整个数据块的地址长度及其它信息,它和数据字分开存储。
C. 在描述一个数据块时,描述符的“长度”字段指明块内的元素个数,“地址”字段指明首元素的地址。
D. 一个描述符不可以应用于一个数据块内所有的元素。
下列说法不正确的是(D)
A. 编址方式指对各种存储设备进行编码的方法,主要内容包括编址单位、零地址空间个数、并行存储器编址技术、输入输出设备的非线性编址技术;
B. 字编址方式是最简单、最容易实现的一种。每个编址单位与设备的访问单位一致,每取完一条指令,程序计数器加 1 1 1,每从主存储器中读完一个数据,地址计算器加 1 1 1;
C. 为了提供对非数值运算的支持,往往使用字节编址或位编址技术;
D. 计算机中需要进行编址的设备主要有通用寄存器、主存储器、输入输出设备。由于三种设备采用的寻址技术有较大区别,不可以对它们进行统一编址。
下列有关高速缓冲存储器的说法不正确的是(D)
A. 目前所有主流处理器都具有一级缓存和二级缓存,少数高端的还集成了三级缓存;
B. 一级缓存可分为一级指令缓存和一级数据缓存;
C. 二级缓存相当于是一级缓存的缓冲器;
D. 无论是二级缓存、三级缓存还是内存都不能存储处理器操作的原始指令,这些指令只能存储在 C P U CPU CPU 的一级数据缓存中
计算机系统结构的外特性是指( C )所看到的外特性。
A. 应用程序员 B. 高级语言程序员 C. 机器语言程序员或编译程序编写者 D. 包括以上各级程序员
计算机系统的描述: T C R A Y − 1 = 1 , 12 ∗ 8 , 64 ∗ ( 1 − 14 ) T{CRAY-1}={1,12*8,64*(1-14)} TCRAY−1=1,12∗8,64∗(1−14),说明该系统流水段为( D ) 。
A. 12 B. 8 C. 64 D. 1-14
计算机系统设计任务之一,在满足功能要求基础上,进行设计优化,优化的主要衡量指标是( B )。
A. 硬件简化程度 B. 编程开销 C. 降低成本 D. 性能价格比
用软件方法可在一台现有的计算机(甲)上实现另一台计算机(乙)的指令系统,通常把乙机称为( B )。
A.宿主机 B. 虚拟机 C. 目标机 D. 系统机
统计计算机性能测试结果有多种方法,其中( C )最接近 C P U CPU CPU 的实际性能。
A. 算术性能平均值 B. 几何性能平均值 C. 调和性能平均值 D. 峰值性能指标
在设计指令系统时应注意:指令中各个不同含义的字段之间,在编码时应互相独立、互不相关。即( A )原则:
A. 正交性 B. 规整性 C. 对称性 D. 可扩充性
采用先行控制技术需增设一些缓冲部件,这些缓冲部件的深度之间存在的关系是( A )。
A. D指缓 ≥ \ge ≥ D操作数 ≥ \ge ≥ D读栈 ≥ \ge ≥ D写栈
B. D操作数 ≥ \ge ≥ D指缓 ≥ \ge ≥ D读栈 ≥ \ge ≥ D写栈
C. D读栈 ≥ \ge ≥ D写栈 ≥ \ge ≥ D指缓 ≥ \ge ≥ D操作数
D. D读栈 ≥ \ge ≥ D写栈 ≥ \ge ≥ D操作数 ≥ \ge ≥ D指缓
用动态再定位形成访存物理地址的方法是在( B )时进行的。
A.程序装入 B.程序执行 C. 程序编译 D. 程序连接
C a c h e Cache Cache 存储器地址映象算法中,( C )所需硬件最少。
A. 段相联映象法 B. 组相联映象法 C. 直接映象法 D. 全相联映象法
特别适合于打印机等低速设备的总线数据宽度为( D )。
A. 可变长块 B. 定长块 C. 单字加定长块 D. 单字(或单字节)
中断系统采用( C )性能最佳。
A. 全硬件实现 B. 全软件实现 C. 软硬结合 D. 并行结构
如果快表采用堆栈替换算法,则( A ),其命中率越高。
A. 快表容量大 B. 快表查找速度快 C. 快表用全硬件实现 D. 快表用软硬结合实现
主存保护的存储区域保护方法中,下列哪个不是(D)
A. 界限寄存器保护方式 B. 键保护方式 C. 环保护方式 D. 段表保护
当互联函数用来实现处理机之间数据变换时,互联函数也反映了网络输入数组与输出数组对应的排列关系。下列哪种不是互联函数的表示方法(D)
A. 输入输出对应表示法 B. 循环表示法 C. 函数表示法 D. 碟式置换
通道的种类说法中不对的是(D)
A. 字节多路通道 B. 选择通道 C. 数组多路通道 D. 块多路通道
M i p s Mips Mips 的说法中,哪项是不对的(D)
A. M I P S MIPS MIPS 是世界上流行的一种 C I S C CISC CISC 处理器,其意思是“无内部互锁流水级的微处理器”,其机制是尽量从软件角度避免流水线中的数据相关问题。
B. M I P S MIPS MIPS 是出现最早的商业 R I S C RISC RISC 架构芯片之一。
C. M I P S MIPS MIPS 体系结构家族经历了最初的 M I P S I MIPS\ I MIPS I 到 M I P S V MIPS\ V MIPS V 几个时代,在实现方式上有一些不同。
D.$ MIPS$ 中,其内存操作只能加载/存储经过数据类型转换后按地址对齐的数据。
在其它部件性能保持不变的情况下,对 C P U CPU CPU 性能的不断改进并没有获得期望的结果,这主要是受到了(A)的影响。
A. Amdahl定律 B. 流水线 C. 指令集 D. 体系结构
若某 C P U CPU CPU 只有一个存储器,采用 D L X DLX DLX 流水线并执行如下的程序段,
①SD (R1),R2
②LD R3,(R1)
③ADD 0(R1)
④SUB R3,R1;
则该程序段中指令①和指令④的关系属于(A) 。
A 数据相关 B 名相关 C 控制相关 D 结构相关
冯∙诺依曼计算机的基本原理是(D)
A. 程序外接 B. 逻辑连接 C. 数据内置 D. 程序存储
在计算机系统设计中,比较好的方法是(D)
A. 从上向下设计 B. 从下向上设计 C. 从两头向中间设计 D. 从中间开始向上,向下设计
I L L I A C ILLIAC ILLIAC 是一种(C)
A. 流水线处理机 B. 指令重叠处理机 C. 阵列处理机 D. 多处理机
能实现作业、任务级并行的异构型多处理机属(C)
A. MISD B.SIMD C.MIMD D.SISD
非线性流水线是指(B)
A. 一次运算中使用流水线中多个功能段
B. 一次运算中要多次使用流水线中的某些功能段
C. 流水线中的某些功能段在各次运算中的作用不同
D. 流水线中的各个功能段在各种运算中有不同的组合
C a c h e Cache Cache 存储器常用的地址映像方式是(D)
A. 全相联映象 B. 页表法映象 C. 组相联映象 D. 段页表映象
磁盘外部设备适合于连接(A)
A. 数组多路通道或选择通道 B. 字节多路通道或选择通道
C. 数组多路通道或字节通道 D. 任意一种通道
用循环表示 PM2-1 的互连函数,应该是(A)
A. (6 4 2 0)(7 5 3 1) B. (0 2 4 6)(1 3 5 7)
C. (0 1 2 3 4 5 6 7) D. (7 6 5 4 3 2 1 0)
在共享主存的多处理机中,为减少访主存冲突,采用的方式一般是(A)
A. 并行多体交叉主存系统 B. 虚拟存储器 C. 共享 Cache 存储器 D. 用高速单体主存储器
以下叙述中,错误的是(B)
A. 采用分布式存储器以 M I M D MIMD MIMD 方式工作的多机系统将成为并行机发展的主流趋向
B. 系列机具有相同系统结构,兼容机具有不同系统结构
C. “先读后写”数据相关只会出现在异步流动流水线中
D. 归约机系统结构采取的是种滞后求值策略
R I S C RISC RISC 结构设计原则是什么?
① 使用频度很高的指令
② 大大减少寻址方式
③ 所有指令在一个机器周期内完成
④ 扩大通用寄存器个数
⑤ 采用硬联控制实现
⑥ 通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言
简述 R I S C RISC RISC 技术的特点?
从指令系统结构上看, R I S C RISC RISC 体系结构一般具有如下特点:
(1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选 取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;
(2) 减少指令系统可采用的寻址方式种类,一般限制在 2 2 2 或 3 3 3 种;
(3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长;
(4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。
C I S C CISC CISC 设计风格的主要特点
(1) 指令系统复杂;
(2) 绝大多数指令需要多个机器周期方可执行完毕;
(3) 各种指令都可访问存储器;
(4) 采用微程序控制;
(5) 有专用寄存器;
(6) 难以用优化编译器生成高效的目标代码程序。
在三级存储体系中, C a c h e − Cache- Cache−主存和主存-辅存这两个存储层次有何区别和相同之处。
区别
(1) 侧重点不同
C a c h e Cache Cache 主要解决主存与 C P U CPU CPU 的速度差异问题;而就性能价格比的提高而言,辅存主要是解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。
(2) 数据通路不同
C P U CPU CPU 与 C a c h e Cache Cache 和主存之间均有直接访问通路, C a c h e Cache Cache 不命中时可直接访问主存;而辅存与 C P U CPU CPU 之间不存在直接的数据通路,当主存不命中时只能通过调页解决, C P U CPU CPU 最终还是要访问主存。
(3) 透明性不同
C a c h e Cache Cache 的管理完全由硬件完成,对系统程序员和应用程序员均透明;而辅存管理由软件(操作系统)和硬件共同完成,由于软件的介入,辅存对实现存储管理的系统程序员不透明,而只对应用程序员透明。
(4) 未命中时的损失不同
由于主存的存取时间是 C a c h e Cache Cache 的存取时间的
5~10
倍,而主存的存取速度通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远大于 C a c h e Cache Cache 未命中时的损失。
相同之处
(1) 出发点相同
二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。
(2) 原理相同
都是利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。
简述线性流水线和非线性流水线的调度方法。
线性流水线的调度非常简单,可以在每一个时钟周期向流水线输入一个新任务,为了避免流水线发生冲突,一般采用延迟输入新任务的方法
非线性流水线调度的任务是要找出一个最小的循环周期,按照这周期向流水线输入新任务,流水线的各个流水段都不会发生冲突,而且流水线的吞吐率和效率最高
简述流水线三种冲突(资源、数据、控制相关)的概念和处理方法。
当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生资源相关
- 前一指令访存时,使后一 条相关指令(以及其后续指令)暂停一个时钟周期
- 单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行
指令在流水线中重叠执行时,当后继指令需要用到前面的指令产生的结果时发生数据相关
- 通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关
- 采用数据旁路技术
- 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行
当流水线遇到转移指令和其他改变 P C PC PC 值的指令而造成断流时,会引起控制相关
- 对转移指令进行分支预测,尽早生成转移目标地址
- 预取转移成功和不成功两个控制流方向上的目标指令
- 加快和提前形成条件码
- 提高转移方向的猜准率
并行处理机的特点
根据主存中存储体的个数以及 C P U CPU CPU 访问主存一次所能读出的信息的位数,可以将主存系统分成哪几类,解释其各自内容并说明是否具有并行性。
字串位串
每次只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性
字串位并
同时对一个字的全部位进行处理,不同字之间是串行的。已开始出现并行性
字并位串
同时对许多字的同一位进行处理,这种方式具有较高的并行性
全并行
同时对许多字的全部位或部分位进行处理,这是最高一级的并行
什么是通道流量,以及三种类型的通道的流量。
通道流量是通道在数据传送期内,单位时间内能够传送的最大数据量,一般用字节个数来表示
简要叙述模拟和仿真的异同点。
模拟和仿真能在结构不同的机器之间实现机器语言程序的移植。
模拟是用机器语言程序解释另一机器的机器指令实现软件移植的方法。模拟方法在机器指令系统差异比较大时,会使程序运行速度严重下降。
仿真是用微程序直接解释另一机器的机器指令实现软件移植的方法。仿真可以提高被移植软件运行速度,但机器结构差异较大时,很难实现。
区别是模拟用机器语言解释,其解释程序在主存中;仿真用微程序解释,其解释程序在控制存储器中。
标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?
标志符数据表示与描述符数据表示的差别是标志符与每个数据相连,合存于同一存储单元,描述单个数据的类型特性;描述符是与数据分开存放,用于描述向量、数组等成块数据的特征。
描述符数据表示为向量、数组的的实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但描述符数据表示并不支持向量、数组数据结构的高效实现。而在有向量、数组数据表示的向量处理机上,用一条向量、数组指令流水或同时对整个向量、数组高速处理。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。
什么是多处理机的一致性?给出解决一致性的监听协议和目录协议的工作原理。
(1) 对多个处理器维护一致性的协议称为 C a c h e Cache Cache 一致性协议。
(2) 目录协议的工作原理
采用一个集中的数据结构——目录。对于存储器中的每一个可以调入 C a c h e Cache Cache 的数据块,在目录中设置一条目录项,用于记录该块的状态以及哪些 C a c h e Cache Cache 中有副本等相关信息。目录协议根据该项目中的信息以及当前要进行的访问操作,依次对相应的 C a c h e Cache Cache 发送控制消息,并完成对目录项信息的修改。此外,还要向请求处理器发送响应信息。
(3) 监听协议的工作原理
每个 C a c h e Cache Cache 除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。 C a c h e Cache Cache 通常连在共享存储器的总线上,当某个 C a c h e Cache Cache 需要访问存储器时,它会把请求放到总线上广播出去,其他各个 C a c h e Cache Cache 控制器通过监听总线来判断它们是否有总线上请求的数据块。如果有,就进行相应的操作。
简要叙述“阿姆达尔定律”的内容和含义。
“阿姆达尔定律”是指系统中对某一部件采用某种更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。
提高计算机系统并行性的技术途径有哪三个 ?简要解释并各举一例。
有时间重叠、资源重复、资源共享等三个途径。
若有一静态多功能流水线分为 6 6 6 段,如下图所示,其中乘法流水线由 1 、 2 、 3 、 6 1、2、3、6 1、2、3、6 段组成,加法流水线由 1 、 4 、 5 、 6 1、4、5、6 1、4、5、6 段组成。使用流水线时,要等某种功能(如加法)操作都处理完毕后才能转换成另一种功能(如乘法)。
若要计算 A ∗ B = ( a 1 + b 1 ) ∗ ( a 2 + b 2 ) ∗ ( a 3 + b 3 ) A*B= (a1+b1)*(a2+b2)*(a3+b3) A∗B=(a1+b1)∗(a2+b2)∗(a3+b3)
(1) 在上述流水方式下,完成 A ∗ B A*B A∗B 需多少时间?画出时空图并计算此流水线的使用效率和吞吐率。
A ∗ B A*B A∗B 式子中,小括号内为加法,根据题目规定,要等某种功能处理完毕后才可以切换功能,所以流水线会先完成加法。
同时由于两次乘法计算中,后一次依赖于前一次的结果,因此不能并行操作
∴ 完 成 A ∗ B 需 要 19 τ 效 率 E = n 个 任 务 占 用 的 时 空 区 总 时 空 区 = ( 3 + 3 + 3 + 6 + 3 + 2 + 3 + 2 ) τ 6 ∗ 19 τ = 25 114 吞 吐 率 T p = 总 任 务 数 完 成 所 有 任 务 的 时 间 = 5 19 τ \therefore 完成A*B需要19\tau\\ 效率E=\dfrac{n个任务占用的时空区}{总时空区}=\dfrac{(3+3+3+6+3+2+3+2)\tau}{6*19\tau}=\dfrac{25}{114}\\ 吞吐率T_p=\dfrac{总任务数}{完成所有任务的时间}=\dfrac{5}{19\tau} ∴完成A∗B需要19τ效率E=总时空区n个任务占用的时空区=6∗19τ(3+3+3+6+3+2+3+2)τ=11425吞吐率Tp=完成所有任务的时间总任务数=19τ5
(2)与顺序运算方式相比,加速比为多少?
加 速 比 S p = T 非 流 水 T 流 水 = 25 τ 19 τ = 25 19 加速比S_p=\dfrac{T_{非流水}}{T_{流水}}=\dfrac{25\tau}{19\tau}=\dfrac{25}{19} 加速比Sp=T流水T非流水=19τ25τ=1925
假设在一个采用组相联映象方式的 C a c h e Cache Cache 中,主存由 B 0 ~ B 7 B0~B7 B0~B7 共 8 8 8 块组成, C a c h e Cache Cache 有 2 2 2 组,每组 2 2 2 块,每块的大小为 16 16 16 个字节,采用 L F U LFU LFU 块替换算法。在一个程序执行过程中依次访问这个 C a c h e Cache Cache 的块地址流如下
6 , 2 , 4 , 1 , 4 , 6 , 3 , 0 , 4 , 5 , 7 , 3 6,2,4,1,4,6,3,0,4,5,7,3 6,2,4,1,4,6,3,0,4,5,7,3
(1) 写出主存地址的格式,并标出各字段的长度。
按字节编址, 16 B 16B 16B 对应 16 16 16 个地址,所以块内地址长度 4 b i t 4bit 4bit
组号与组内块号都是 2 2 2,所以其地址长度为 1 b i t 1bit 1bit
主存共 8 8 8 块,共要 3 b i t 3bit 3bit 进行指向,被组号与组内块号占去后只剩下 1 b i t 1bit 1bit 空间
主存地址格式如下
(2) 写出 C a c h e Cache Cache 地址的格式,并标出各字段的长度。
C a c h e Cache Cache 地址格式与主存类似,不过其没有区号,如下
(3) 写出主存与 C a c h e Cache Cache 之间各个块的映象对应关系。
主存的组到 C a c h e Cache Cache 的组之间是直接映像;对应组的块之间是全相联映像
即主存块 0 , 1 , 4 , 5 0,1,4,5 0,1,4,5 只能装入 C a c h e Cache Cache 块 0 , 1 0,1 0,1 的任意位置上
主存块 2 , 3 , 6 , 7 2,3,6,7 2,3,6,7 只能装入 C a c h e Cache Cache 块 2 , 3 2,3 2,3 的任意位置上
(4) 如果 C a c h e Cache Cache 的各个块号为 C 0 、 C 1 、 C 2 C0、C1、C2 C0、C1、C2 和 C 3 C3 C3,列出程序执行过程中 C a c h e Cache Cache 的块地址流情况。
访问Cache时与区号无关,只需考虑组号与组内地址,在此题中仅与块号后两位相关
(5)采用 L R U LRU LRU 替换算法,计算 C a c h e Cache Cache 的块命中率。
L R U LRU LRU 为最近最久未使用算法,调度过程如下所示
$$ Cache命中率=\dfrac{命中次数}{总操作次数}=\dfrac{4}{12}=\dfrac{1}{3} $$有一台模型机,有以下十种不同的指令,使用频率表示如下
T1: 20% T2: 12% T3:11% T4: 15% T5: 8%
T6:3% T7:2% T8:18% T9:10% T10:1%
(1) 上图为哈夫曼编码图,求其平均长度及其表示
到 叶 子 结 点 的 深 度 即 为 指 令 编 码 代 价 长 度 , 接 着 乘 上 使 用 频 率 再 求 和 即 为 指 令 平 均 长 度 2 ∗ 0.2 + 3 ∗ ( 0.1 + 0.11 + 0.12 + 0.15 + 0.18 ) + 4 ∗ 0.08 + 5 ∗ 0.03 + 6 ∗ ( 0.01 + 0.02 ) = 3.03 各 指 令 的 编 码 表 示 如 下 : T 1 : 00 T 2 : 110 T 3 : 010 T 4 : 101 T 5 : 1110 T 6 : 1110 T 7 : 111110 T 8 : 100 T 9 : 011 T 10 : 111111 到叶子结点的深度即为指令编码代价长度,接着乘上使用频率再求和即为指令平均长度\\ 2*0.2+3*(0.1+0.11+0.12+0.15+0.18)+4*0.08+5*0.03+6*(0.01+0.02)=3.03\\ 各指令的编码表示如下:\\ T1:00\ \ \ \ \ \ \ \ \ \ \ T2:110\ \ \ \ \ \ \ \ \ \ \ T3:010\ \ \ \ \ \ \ \ \ \ \ T4:101\ \ \ \ \ \ \ \ \ \ \ T5:1110\\ T6:1110\ \ \ \ \ \ \ \ \ \ \ T7:111110\ \ \ \ \ \ \ \ \ \ \ T8:100\ \ \ \ \ \ \ \ \ \ \ T9:011\ \ \ \ \ \ \ \ \ \ \ T10:111111\\ 到叶子结点的深度即为指令编码代价长度,接着乘上使用频率再求和即为指令平均长度2∗0.2+3∗(0.1+0.11+0.12+0.15+0.18)+4∗0.08+5∗0.03+6∗(0.01+0.02)=3.03各指令的编码表示如下:T1:00 T2:110 T3:010 T4:101 T5:1110T6:1110 T7:111110 T8:100 T9:011 T10:111111
(2) 若用定长操作码表示至少需要多少位
总共有十条指令,因此定长操作码至少需要 4 4 4 位
(3) 用扩展操作码(只有两位)可以有多种方式表示,要求平均长度不能大于3.2,给出最合理的编码方式,并求出平均编码长度?
总 共 有 10 个 指 令 , 长 度 为 3 的 编 码 总 共 可 以 表 示 8 个 指 令 将 8 个 指 令 中 后 两 个 编 码 110 , 111 空 出 来 , 使 其 扩 展 为 长 度 为 4 的 编 码 : 1101 , 1100 , 1110 , 1111 ∴ 此 时 长 度 为 4 的 编 码 有 4 个 , 长 度 为 3 的 编 码 有 6 个 , 正 好 十 个 编 码 此 时 平 均 长 度 = 3 ∗ ( 10 + 11 + 12 + 15 + 18 + 20 ) % + 4 ∗ ( 1 + 2 + 3 + 8 ) % = 3.14 < 3.2 符 合 题 目 要 求 总共有10个指令,长度为3的编码总共可以表示8个指令\\ 将8个指令中后两个编码110,111空出来,使其扩展为长度为4的编码:1101,1100,1110,1111\\ \therefore 此时长度为4的编码有4个,长度为3的编码有6个,正好十个编码\\ 此时平均长度=3*(10+11+12+15+18+20)\%+4*(1+2+3+8)\% =3.14<3.2\\ 符合题目要求 总共有10个指令,长度为3的编码总共可以表示8个指令将8个指令中后两个编码110,111空出来,使其扩展为长度为4的编码:1101,1100,1110,1111∴此时长度为4的编码有4个,长度为3的编码有6个,正好十个编码此时平均长度=3∗(10+11+12+15+18+20)%+4∗(1+2+3+8)%=3.14<3.2符合题目要求
四段流水线, △ t 1 = △ t 3 = △ t 4 = △ t , △ t 2 = 3 △ t △t1=△t3=△t4=△t,△t2=3△t △t1=△t3=△t4=△t,△t2=3△t,计算 4 4 4 个任务、 10 10 10 个任务时 吞 吐 率 T P , 效 率 η 、 加 速 比 S P 吞吐率T_P,效率η、加速比S_P 吞吐率TP,效率η、加速比SP 。
假设机器的时钟周期为 10 n s 10ns 10ns, C a c h e Cache Cache 失效时的访存时间为 20 20 20 个时钟周期, C a c h e Cache Cache 的访问时间为一个时钟周期。
(1) 设失效率为 0.05 0.05 0.05,忽略写操作时的其它延迟,求机器的平均访存时间。
C a c h e 成 功 时 只 用 1 个 时 钟 周 期 , 失 效 时 需 要 20 个 时 钟 周 期 ∴ t = 0.95 ∗ 1 ∗ 10 + 0.05 ∗ 20 ∗ 10 = 19.5 ( n s ) Cache成功时只用1个时钟周期,失效时需要20个时钟周期\\ \therefore t=0.95*1*10+0.05*20*10=19.5\ (ns) Cache成功时只用1个时钟周期,失效时需要20个时钟周期∴t=0.95∗1∗10+0.05∗20∗10=19.5 (ns)
(2) 假设通过增加 C a c h e Cache Cache 容量一倍而使失效率降低到 0.03 0.03 0.03,但使得 C a c h e Cache Cache 命中时的访问时间增加到了 1.2 1.2 1.2 时钟周期(即 12 n s 12ns 12ns ),指出这样的改动设计是否合适?
t = 0.97 ∗ 1 ∗ 10 ∗ 1.2 + 0.03 ∗ 20 ∗ 10 = 17.64 ( n s ) < 19.5 ( n s ) ∴ 改 动 合 理 , 降 低 了 平 均 访 存 时 间 t=0.97*1*10*1.2+0.03*20*10=17.64(ns)<19.5(ns)\\ \therefore 改动合理,降低了平均访存时间 t=0.97∗1∗10∗1.2+0.03∗20∗10=17.64(ns)<19.5(ns)∴改动合理,降低了平均访存时间
(3) 如果时钟周期取决于 C a c h e Cache Cache 的访问时间(也就是用延长时钟周期的方法),上述改动设计是否合适?
时 钟 周 期 取 决 于 C a c h e 访 问 时 间 , 即 以 C a c h e 的 访 问 时 间 来 作 为 时 钟 周 期 , 一 个 周 期 变 为 12 n s t = 0.97 ∗ 1 ∗ 10 ∗ 1.2 + 0.03 ∗ 20 ∗ 10 ∗ 1.2 = 18.84 ( n s ) < 19.5 ( n s ) ∴ 改 动 依 旧 合 理 , 降 低 了 平 均 访 存 时 间 时钟周期取决于Cache访问时间,即以Cache的访问时间来作为时钟周期,一个周期变为12ns\\ t=0.97*1*10*1.2+0.03*20*10*1.2=18.84(ns)<19.5(ns)\\ \therefore 改动依旧合理,降低了平均访存时间 时钟周期取决于Cache访问时间,即以Cache的访问时间来作为时钟周期,一个周期变为12nst=0.97∗1∗10∗1.2+0.03∗20∗10∗1.2=18.84(ns)<19.5(ns)∴改动依旧合理,降低了平均访存时间
已知某单功能非线性流水线的预约表如下图,要求:
(1) 列出禁止表 F F F 和冲突向量 C C C 。
对于预约表的每一行的任何一对
“X”
,用它们所在的列号相减,列出各种可能的差值,将其放入初始为空的集合 F F F 中,最后得到的就是禁止表 F F F
此处 F = { 4 } F=\{4\} F={4}
根据禁止表可以写出初始冲突向量 C C C ,其为一个 N N N 位二进制串, N N N 取决于 F F F 中最大的数,其中每一位的取值规则如下:
此处 C = { 1000 } C=\{1000\} C={1000}
(2) 画出该流水线状态图,确定其最小平均延迟以及此时的调度方案?当按此流水调度方案共输入8个任务时,则其实际吞吐率为多少?
流水线的状态图需要通过初始冲突向量 C C C 得到
设当前冲突向量位 C k C_k Ck, j j j 是允许的的时间间隔, j j j 不能取禁止表 F F F 中的数,状态转移图中任何一个闭合回路就是一个方案
由此我们可以画出各冲突向量之间的状态转移图
调度方案即数闭合回路,平均延迟即调度方案中的平均数,如下
有一指令流水线如下所示
(1) 求连续输入 10 10 10 条指令,该流水线的实际吞吐率和效率
∴ 吞 吐 率 = 10 2200 n s = 1 220 n s 效 率 E = 50 ∗ ( 10 + 10 ) + 100 ∗ 10 + 200 ∗ 10 2200 ∗ 4 = 5 11 \therefore 吞吐率=\dfrac{10}{2200\ ns}=\dfrac{1}{220\ ns}\\ 效率E=\dfrac{50*(10+10)+100*10+200*10}{2200*4}=\dfrac{5}{11} ∴吞吐率=2200 ns10=220 ns1效率E=2200∗450∗(10+10)+100∗10+200∗10=115
(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入 10 10 10 条指令时,其实际吞吐率和效率各是多少?
瓶颈在于 3 , 4 3,4 3,4 两段,可以将其升级为八级流水线,即 3 3 3 分为两段, 4 4 4 分为 4 4 4 段
第二种方法不想看,快写了,有余力再说
用一个 N = 8 N=8 N=8 的三级 O m e g a Omega Omega 网络连接 8 8 8 个处理机(P0~P7
), 8 8 8 个处理机的输出端分别依序连接 O m e g a Omega Omega 网络的 8 8 8 个输入端0~7
, 8 8 8 个处理机的输入端分别依序连接 O m e g a Omega Omega 网络的 8 8 8 个输出端0~7
。如果处理机 P 6 P6 P6 要把数据播送给处理机P0~P4
,处理机 P 3 P3 P3 要把数据播送给处理机P5~P7
,那么, O m e g a Omega Omega 网络能否同时为它们的播送要求实现连接?画出实现播送的 O m e g a Omega Omega 网络的开关状态图。
在 处 理 器 N = 8 的 3 级 O m e g a 网 络 中 , 每 级 的 交 换 开 关 数 = N 2 = 4 整 个 网 络 开 关 数 为 4 ∗ 3 = 12 , 每 级 进 行 一 次 S h u f f l e 函 数 【 二 进 制 循 环 左 移 】 计 算 每 个 交 换 开 关 都 有 上 播 、 下 播 、 直 送 、 交 叉 四 种 状 态 如 果 没 有 开 关 状 态 和 开 关 输 出 端 争 用 冲 突 , 就 可 以 使 用 播 送 连 接 在处理器N=8的3级Omega网络中,每级的交换开关数=\dfrac{N}{2}=4\\ 整个网络开关数为4*3=12,每级进行一次Shuffle函数【二进制循环左移】计算\\ 每个交换开关都有上播、下播、直送、交叉四种状态\\ 如果没有开关状态和开关输出端争用冲突,就可以使用播送连接 在处理器N=8的3级Omega网络中,每级的交换开关数=2N=4整个网络开关数为4∗3=12,每级进行一次Shuffle函数【二进制循环左移】计算每个交换开关都有上播、下播、直送、交叉四种状态如果没有开关状态和开关输出端争用冲突,就可以使用播送连接
∴ C , E , H , L 下 播 , I , J 上 播 , K 直 连 , D , F 交 叉 \therefore C,E,H,L下播,I,J上播,K直连,D,F交叉\\ ∴C,E,H,L下播,I,J上播,K直连,D,F交叉
下图是写操作流水化的硬件结构,试说明采用该技术的原因及其工作特点
每个写操作过程分为两个阶段完成,第一阶段进行标识比较,并把标识和数据存入延迟写缓冲器中,第二阶段再进行写入,这两个阶段按流水方式工作。这样,当前的写标识比较就可以和上一个写的数据写入并行起来,实现每个时钟周期完成一个写操作
一个具有 32 32 32 台处理机的系统,对远程存储器访问时间是 2000 n s 2000ns 2000ns。除了通信以外,假设计算中的访问均命中局部存储器。当发出一个远程请求时,本地处理机挂起。处理机的时钟周期时间是 10 n s 10ns 10ns,假设指令基本的 C P I CPI CPI 为 1.0 1.0 1.0(设所有访存均命中 C a c h e Cache Cache )。对于下述两种情况:
(1) 没有远程访问;
(2) 0.5 % 0.5\% 0.5% 的指令需要远程访问。
试问前者比后者快多少?
已 知 远 程 访 问 率 p = 0.5 % , 远 程 访 问 时 间 t = 2000 n s , 时 钟 周 期 T = 10 n s C P I = 1 即 指 每 条 指 令 在 没 有 远 程 访 问 的 情 况 下 需 要 1 个 时 钟 周 期 完 成 若 有 远 程 访 问 则 在 此 基 础 上 加 上 远 程 访 问 的 开 销 远 程 访 问 开 销 C = t T = 2000 n s 10 n s = 200 ( 个 时 钟 周 期 ) C P I 2 = C P I 1 + p ∗ C = 1.0 + 0.005 ∗ 200 = 2 ∴ C P I 2 C P I 1 = 2 1 = 2 , 即 前 者 是 后 者 的 两 倍 已知远程访问率 p = 0.5\%,远程访问时间 t = 2000ns,时钟周期 T = 10ns\\ CPI=1即指每条指令在没有远程访问的情况下需要1个时钟周期完成\\ 若有远程访问则在此基础上加上远程访问的开销\\ 远程访问开销 C = \dfrac{t}{T} = \dfrac{2000ns}{10ns} = 200(个时钟周期)\\ CPI_2=CPI_1+p*C=1.0+0.005*200=2\\ \therefore \dfrac{CPI_2}{CPI_1}=\dfrac{2}{1}=2,即前者是后者的两倍 已知远程访问率p=0.5%,远程访问时间t=2000ns,时钟周期T=10nsCPI=1即指每条指令在没有远程访问的情况下需要1个时钟周期完成若有远程访问则在此基础上加上远程访问的开销远程访问开销C=Tt=10ns2000ns=200(个时钟周期)CPI2=CPI1+p∗C=1.0+0.005∗200=2∴CPI1CPI2=12=2,即前者是后者的两倍
若需要PDF文件便于打印复习可在评论区留言