1/9/2019 4:08:50 PM :添加选择
1/9/2019 10:15:35 AM : 添加部分简答题
一、选择题(20*2分)
1.下面哪一种闸述是计算机系统结构的经典定义(D)
A. 是计算机机箱的结构
B. 是处理器的结构
C. 是外存情的结构
D. 程序员所看到的计算机属性,即概念性结构与功能特性
2.下列关于计算机系统结构、 计算机组成、 和计算机实现的说法正确的是(A)
A. 计算机系统结构着眼于汇编语言程序员看到的机器属性
B. 计算机组成着限于机器结构
C. 计算机实现着眼于机器的逻辑实现
D. 计算机实现和组成都着眼于机器的物理实现
3.指令集是(A)
A.处理器硬件和软件的接口
B.处理器性能指标的集合
C.处理器寄存器的集合
D.计算机的内存接口
4.下述哪些指令集属于 CISC 指令集(B)
A. Alpha.
B. X86,
C. MIPS
D. PowerPC
5.下述哪一种指令集结构不属于通用寄存器结构(C)
A. 寄存器寄存器型
B. 寄存器存储器型
C. 堆栈型
D. 存储器-存储器型
6.对指令集的基本要求是(B)
A.灵活性、 完整性、 高效率、 兼容性
B.完整性、 规整性、 高效率、 兼容性
C.可靠性、 完整性、 规整性、 高效率
D.完整性、 规整性、 髙效率、 可用性
7. 下面关于流水线技术正确的描述是(A)
A.流水线通过指令级的并行来提高性能
B.流水线通过任务级的并行来提高性能
C.流水线通过线程级的并行来提高性能
D.流水线通过进程级的并行来提高性能
8、 哪些相关会引起流水线冲突(A)
A.数据相关、 名字相关、 控制相关
B.控制相关、 结果相关、 数据相关
C.名字相关、 控制相关、 指令相关
D.指令相关、 数据相关、 控制相关
- 第三讲PPT,P93
9、 记分牌用于解决(B)依赖
A.控制依赖
B.数据依赖
C.结构依赖
D.名字依赖
- 记分牌的目的: 通过尽可能早地执行指令在没有结构相关的情况下维持CPI为1。第四讲PPT,P15
- 记分牌是一集中控制部件,其功能是控制数据寄存器与处理部件之间的数据传送。在记分牌中保存有与各个处理部件相联系的寄存器中的数据装载情况。当一个处理部件所要求的数据都已就绪(装载完毕),记分牌允许处理部件开始执行。当执行完成后,处理部件通知记分牌释放相关资源。所以在记分牌中记录了数据寄存器和多个处理部件状态的变化情况,通过它来检测和消除或减少数据相关性,加快程序执行速度。
10、 下述问题中,哪一项不是 Cache 设计应考虑的基本问题(CCC)
A.数据块在上一级 Cahe 中的位置
B.如何在上一级 Cache 中找到一个给定的数据块
C.当 Cache 缺失时如何复制数据块
D.为了保持数据一致性,如何将数据写入 Cache
11、 下列哪一组全是冯洛伊曼体系结构的特点:(B)
A. 以运算器为中心、 内存中指令和数据区别对待、 内存按地址访问(错误:同等对待)
B. 指令一般按顺序执行、 指令由操作码和地址码组成、 指令和数据用二进制表示
C. 以内存为中心、 内存按地址访问、 指令一般按顺序执行(错误:以运算器为中心)
D. 内存中指令和数据同等对待、 内存按数据内容访问、 以运算器为中心(错误:内存是按地址访问)
12、 关于系统结构的生命周期,下列说法正确的是:(D)
A. 从硬件成熟到系统软件成熟大约需要 1 年时间
B. 从系统软件成熟到应用软件成熟大约需要半年时间
C. 再过两年,这种系统结构就不是主流了
D. 从硬件成熟到系统软件成熟大约需要 5-7 年时间
13、 关于不同类型的处理器,下列说法正确的是(B)
A. Google 的 TPU 指 Thread Processing Unit(错误:Tensor Processing Unit,张量处理单元)
B. GPGPU是General Purpose Graphic Processing UInit
C. CMP 是多处理器(错误:Chip multiprocessors,单芯片多处理器)
D. SMT 是共享内存处理器(错误:同时多线程(Simultaneous Multi-Threading,SMT)把两个(或多个)CPU看成是一个处理器)
14、下列关于 MIPS 指令集的寄存器说法正确的是:(A)
A.有 32 个 64 位的通用寄存器
B.有 32 个 32 位的通用寄存器
C.有 64 个 64 位的浮点寄存器
D.有 64 个 32 位的浮点寄存器
- MIPS的寄存器:32个64位通用寄存器(GPRs)+32个64位浮点数寄存器(FPRs)(MIPS64的一个子集, 简称为MIPS)
15、 RISC-V是(B)
A.一种新型的处理器
B.一种完全开放的指令集,属于 RISC 但指令长度可变(正确:RISC-V is a new instruction set architecture;Optional variable-length instructions )
C.一种为某种微体系结构定制的指令集
D.一种部分支持虚拟化的指令集(错误: A fully virtualizable ISA to ease hypervisor development)
16、 RISC-V 基本指令集的数据在内存中的存放方式是(C)
A. Big-Endian
B. Big- Endian 和 Little- Endian 都可以
C. Little-Endian
D. 其他方式
The base RISC-V ISA has a little-endian memory system, but non-standard variants can provide a big-endian or bi-endian memory system.
17、 NVIDIA CUDA 程序线程的组织方式是(B)
A.按顺序线性组织
B.按两层层次化组织
C.按三层层次化组织
D.按四层层次化组织
18、 使用 CUDA 的 GPU 程序在调用 Kernel 函数时,调用形式正确的是(D)
A. kernel 名(A)(实参列表);
B. kene 名(A,B)(实参列表);
C. keme 名<<< A >>>(实参列表);
D. kernel 名<<<A,B>>>(实参列表);
19、 下哪一项不属于仓库线计算机( Warhouse Neale Campu)的第三代?(A)
A.1900 年前后,使用小型机构建
B.2000 年前后,使用商业标准计算机、 存储,和网设备构建
C.2010 年前后,使用订制的计算机、 存储,和网设备构建,但芯片依然是标准的
D.2020 年前后,使用订制的芯片构建
20. DRAM 和 SRAM 比较,下列哪种说法是正确的(C)
A.DRAM 边问速度快,SRAM 访问速度慢
B.DRAM 存储密度低,SRAM 存储密度高
C.DRAM 成本低,SRAM 成本高
D.DRAM 不需要刷新,SRAM 需要刷新
- D是动态,S是静态;DRAM(Dynamic Random Access Memory),即动态随机存取存储器,动态的需要刷新,速度慢,但成本低,存储密度高。两者掉电后,数据都会丢失,ROM掉电后数据不丢失。
二、简述题(30分)
1. 请简述指令寻址方式的种类,对每一种给出一条伪指令作为例子进行说明。(8分)
-
知识点内容参考PPT第二讲:计算机指令集结构(P19)
2. 请解释为什么流水线技术都可以提高处理器的性能?请结合一个例子进行说明。(7分)
- 知识点内容参考PPT第三讲:流水线技术(P27)
- 流水线技术把多个处理过程在时间上错开,依次通过各功能段,这样每个子过程就可以与其他的子过程并行进行。
- 流水线的三个性能指标:吞吐率TP,加速比S,效率E。
如果取指令、 指令分析和指令执行的时间相等,都是t,则串行执行时间为T=3nt,使用一次重叠执行方式,并行执行n条指令所花的时间为T=(1+2n)t,程序的执行时间减少了近1/3;使用二次重叠执行方式,并行执行n条指令所花的时间为T=(2+n)t,程序的执行时间减少了近2/3。
3. 请解释SISD,SIMD,MIMD,SMT(同时多线程),CMP(多核体系结构)。请指出SMT和CMP最大的差异在哪里。(7分)
- 知识点参考PPT第一讲:计算机体系结构的概念(P27)
- Flynn分类法,主要根据指令流和数据流来分类,共分为四种类型的计算平台。
- SISD(单指令流单数据流):SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是SISD机器,如冯诺.依曼架构,如IBM PC机,早期的巨型机和许多8位的家用机等。
- SIMD(单指令流多数据流):采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。我们现在用的单核计算机基本上都属于SIMD机器。
- MISD(多指令流单数据流机器):采用多个指令流来处理单个数据流。由于实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入到实际应用之中 。
- MIMD(多指令流多数据流):可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器等都属于MIMD。
- SMT(同时多线程):一种在一个CPU的时钟周期内能够执行来自多个线程的指令的硬件多线程技术。本质上,同步多线程是一种将线程级并行处理(多CPU)转化为指令级并行处理(同一CPU)的方法。SMT对于商业事务处理负载的性能优化可达30%。在更加注重系统的整体吞吐量而非单独线程的吞吐量时,SMT是一个很好地选择。
- CMP(多核体系结构):是将多个计算内核集成在一个片处理器芯片中,从而提高计算能力。每个微处理器核心实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,这样多个微处理器核心就可以并行地执行程序代码,因而具有了较高的线程级并行性。CMP具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低、通信延迟低等优点。
- SMT和CMP最大的差异:与CMP比较, SMT处理器结构的灵活性比较突出。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。CMP结构被划分成多个处理器核来设计。
4. 请解释Cache的三种放置方式:Fully associative,Direct mapped,Set associative,请给出示意图说明。(8分)
- CSDN链接
- Fully associative(全相联):全相映射,主存某一数据块可以跟任意的cache块映射。
- Direct mapped(直接映像):直接映射,主存某一数据块只有一个cache块与之对应。
- Set associative(组相联):组相联映射,主存某一数据块有2^i个cache块与之对应,又称为2^i路组相联映射。
-
5. 请解释 Cache 的两种写策略 Write back 和 Write Through,并比较各自的优缺点。
- 第五讲PPT,P11
- Write-through(直写模式):在数据更新时,同时写入缓存Cache和后端存储。
- 此模式的优点是操作简单;缺点是因为数据修改需要同时写入内存,总线工作繁忙,内存的带宽被大大占用,因此运行速度会受到影响数据。 假设一段程序在频繁地修改一个局部变量,局部变量生存周期很短,而且其他进程/线程也用不到它,CPU依然会频繁地在Cache和内存之间交换数据,造成不必要的带宽损失。
-
Write-back(回写模式):在数据更新时只写入缓存Cache,而不是立即写入内存。只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。
-
此模式的优点是数据写入速度快,因为不需要写存储;缺点是一旦更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回。 对一行cache的多次写命中都在cache中快速完成修改,只是需被替换时才写回速度较慢的主存,减少了访问主的次数从而提高了效率。为支持这种策略,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。
6. 在指令级并行中,会碰到各种依赖而影响并行化,请简述有哪几种依赖,并简述每一种依赖。
-
- 数据相关:对于两条指令i(在前,下同)和j(在后,下同),如果下述条件之一成立,则称指令j与指令i数据相关。指令j使用指令i产生的结果;指令j与指令k数据相关,而指令k又与指令i数据相关。
- 名相关:名指令所访问的寄存器或存储器单元的名称。如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。
-
控制相关:指由分支指令引起的相关。为了保证程序应有的执行顺序,必须严格按控制相关确定的顺序执行。与一条分支指令控制相关的指令不能被移到该分支之前,否则这些指令就不受该分支控制了。
三、设计图(共14分)
1.设计题(共 10 分)假设一个 DLX 处理器的简单设计如下图所示,现在要设计一个基于该设计的流水线处理器,请给出你的设计。 (可以在图上进行修改)图 1DLX 处理器结构。)
四、计算题(共36分,每题12分)
1. 对于一台400MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟周期数如下
指令类型 | 指令执行数量 | 平均时钟周期数 |
---|---|---|
整数 | 45000 | 1 |
数据传送 | 75000 | 2 |
浮点 | 8000 | 4 |
分支 | 1500 | 2 |
求该计算机的有效CPI,MIPS和程序执行时间。
- CSDN链接
- CPI(每条指令执行的平均时钟周期数)=(45000*1+7500*2+8000*4+1500*2)/(45000+7500+8000+1500)= 1.776
- MIPS(每秒百万条指令 MillionInstructions Per Second)= 1M/(CPI×时钟周期)= 主频/CPI=400/1.77=225.2
- 程序执行时间=(1/(400*10^6))*(45000*1+75000*2+8000*4+1500*2)=5.75*10^(-4)秒
-
另:MFLOPS(每秒百万浮点运算次数),1MHz是一百万赫兹。
2. 计算机系统有三个部件可以改进,这三个部件的加速比如下:??????
部件1加速比=30;部件2加速比=20;部件3加速比=10;
(1) 如果部件1和部件2的可改进比例为30%,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10?
- 1/(0.3/30+0.3/20+X/10+(1-0.3-0.3-X))=10,解得X=0.3611
(2)如果三个部件的可改进比例为30%,30%,20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?
- 设未加速前总的执行时间为1,则
- 不可加速部分用时=(1-0.3-0.3-0.2)*1=0.2
- 可加速部分用时=0.3/30+0.3/20+0.2/10=0.025
- 所求比例=0.2/(0.2+0.025)=0.8163