国科大体系结构习题 | 第二章 计算机系统结构基础

第二章 习题汇总

Q1. 在3台不同指令系统的计算机上运行同一程序P时,A机需要执行 1.0 × 1 0 8 1.0×10^8 1.0×108条指令,B机需要执行 2.0 × 1 0 8 2.0 ×10^8 2.0×108条指令,C机需要执行 4.0 × 1 0 8 4.0×10^8 4.0×108条指令,但实际执行时间都是10s。请分别计算这3台机器在运行程序P时的实际速度,以MIPS为单位。这3台计算机在运行程序P时,哪一台性能最高?为什么?
A1:

MIPS: million instruction per second,表示每秒多少百万条指令,如 10MIPS ,表示每秒一千万条指令。这是衡量CPU速度的一个指标。
公式: M I P S = ( 指令数 / 执行时间 ) / 1 0 6 = 指令数 / ( 执行时间 ∗ 1 0 6 ) ,执行时间的单位是 s MIPS=(指令数/执行时间)/10 ^6 =指令数/(执行时间∗10 ^6),执行时间的单位是 s MIPS=(指令数/执行时间)/106=指令数/(执行时间106),执行时间的单位是s

根据这个公式,我们可以计算出A、B、C三台机器的MIPS分别为10, 20, 40。
在运行程序P时,三台计算机的运行时间相同,所以性能相同。【题目问的是运行程序 P 时的性能。】
补充:
在这里插入图片描述

Q2: 在这里插入图片描述
A2:

处理器运行程序的性能提升幅度可以用Amdahl定律来计算,公式为:性能提升 = 1 / [(1-P) + P/S]。其中,P是可向量化的百分比,S是向量部件的加速比

(1) 加速比y和向量化比例x之间的关系是: y = 1 ( 1 − x ) + x 8 = 1 1 − 7 8 x y=\frac{1}{(1-x)+\frac{x}{8}}=\frac{1}{1-\frac{7}{8}x} y=(1x)+8x1=187x1 (A)
图像如下图所示:在这里插入图片描述
(2) 在式(A)中令 y=2,可解得 x=4/7≈57.14%。
此时向量模式运行时间占总时间比例是 ((4/7)/8)/(3/7+((4/7)/8))=1/7=14.29%
(3)
- 硬件方法:向量部件速度提高一倍,也就是运算速度在8的基础上✖2,但是向量化的百分比不变。
- 软件方法:向量化的百分比增加,但是运算速度不变。(这些都是题目中来的,仔细审题就可以)
硬件: y = 1 ( 1 − 0.7 ) + ( 0.7 / 8 ∗ 2 ) = 2.91 y=\frac{1}{(1-0.7)+(0.7/8*2)}=2.91 y=(10.7)+(0.7/82)1=2.91
软件:设相同速度下,向量化百分比为x。求解方程,即 1/((1-x)+x/8)=2.91, x=0.75。推荐使用软件方法。(why?)

Q3:重要的题在这里插入图片描述在这里插入图片描述在这里插入图片描述
A:
(1) 实际执行总指令除以总时间
M I P S E M U L = ( I + F × Y ) / ( W × 1 0 6 ) MIPS_{EMUL}=(I+F×Y)/(W×10^6) MIPSEMUL=(I+F×Y)/(W×106)
M I P S F P U = ( I + F ) / ( B × 1 0 6 ) MIPS_{FPU}=(I+F)/(B×10^6) MIPSFPU=(I+F)/(B×106)
(EMUL FPU)是什么意思?
(2) 根据 M I P S E M U L = ( I + F × Y ) / ( W × 1 0 6 ) MIPS_{EMUL}=(I+F×Y)/(W×10^6) MIPSEMUL=(I+F×Y)/(W×106)
带入数据, 120 = ( I + 8 × 1 0 6 × 50 ) / ( 4 × 1 0 6 ) = > I = 80 × 1 0 6 120=(I+8×10^6×50)/(4×10^6) => I=80×10^6 120=(I+8×106×50)/(4×106)=>I=80×106
(3)将上一道题中解出来的I代入式: 80 = ( 80 × 1 0 6 + 8 × 1 0 6 ) / ( B × 1 0 6 ) = > B = 1.1 80=(80×10^6 +8×10^6)/(B×10^6) => B=1.1 80=(80×106+8×106)/(B×106)=>B=1.1
(4) 概念:

MFLOPS:megaFLOPS,每秒 1 0 6 10^6 106次浮点运算,相当于每秒一百万次浮点运算
按运行该程序时浮点指令数除以浮点部分所占时间(总时间减去定点部分时间) 来计算

M F L O P S = F ( B − W ∗ I I + F ∗ Y ) ∗ 1 0 6 MFLOPS=\displaystyle\frac{F}{(B-\displaystyle\frac{W*I}{I+F*Y})*10^6} MFLOPS=BI+FYWI)106F

解释一下: I + F ∗ Y I+F*Y I+FY表示在无浮点部件时的指令数,包括处理整数和处理浮点两部分。

I I + F ∗ Y \displaystyle\frac{I}{I+F*Y} I+FYI 表示在有协处理器的基础上,整数指令部分的占比。再乘上总的时间,就是整数部分的时间
(5) 决策正确,因为执行时间缩短了,这才是关键标准??为啥啊

Q4: 在这里插入图片描述

A4:(1) 公式如下(来自书本)
在这里插入图片描述
在这里插入图片描述
…其他的就不展示了

Q5(第一次做这种题): 对某处理器进行功耗测试,得到如下数据:时钟不翻转,电压1.05V时,电流为500mA;时钟频率为1GHz,电压1.1V时,电流为2500mA。请计算在1.1V下,此处理器的静态功耗以及500MHz下的总功耗。
A5:

功耗:是消耗掉的功率

  • 功率P=U∗I,电压U=I∗R 功率单位是W,电压单位是V,电流单位是A
  • 时钟不翻转的静态功耗,计算时等效成电阻R ( R = U / I )
  • 动态功耗与时钟频率(翻转率)成正比
  • 总功耗 = 动态功耗 + 静态功耗

1.1V下静态功耗1.1×1.1/(1.05/0.5)=0.576w 时钟不翻转的静态功耗按电阻算
1.1V下1GHZ时动态功耗为1.1×2.5-0.576=2.174w 动态功耗=总功耗-静态功耗
1.1V 下 0.5GHZ 动态功耗为 2.174×0.5/1=1.087W 动态功耗与翻转率成正比
1.1V 下 0.5GHZ 总功耗为 1.087+0.576=1.663W

Q6:证明以下结论:
(1))N个整数的几何平均小于等于算术平均。
(2)用归一化的SPEC CPU 2000程序分值进行A、B两台计算机的性能比较与所使用的参考机无关
A6:
(1) 首先来看一看什么是几何平均和算术平均吧~
在这里插入图片描述
也即是我们要证明:
在这里插入图片描述
直接看知乎大佬的吧…(看证明2)
(2) 首先来看一看定义/
在这里插入图片描述
证明其实很简单:
在这里插入图片描述(为啥要开根号呀? 应该是用几何平均做归一化:相乘开根号嘛)

985

Q7…应该不是很重要 不写了hhh

Q8:在这里插入图片描述
补充作业:
在这里插入图片描述

第一章 计算机体系结构的基本概念 1.1 引论 1.2 计算机体系结构的概念 1.2.1 计算机系统中的层次概念 1.2.2 计算机体系结构 1.2.3 计算机组成和计算机实现技术 1.3 计算机体系结构的发展 1.3.1 存储程序计算机体系结构及其发展 1.3.2 计算机的分代和分型 1.3.3 应用需求的发展 1.3.4 计算机实现技术的发展 1.3. 5 体系结构的生命周期 1.4 计算机体系结构中并行性的发展 1.4.1并行性概念 1.4.2 提高并行性的技术途径 1.5 定量分析技术基础 1.5.1 计算机性能的评测 1.5.2 测试程序 1.5.3 性能设计和评测的基本原则 1.5.4 CPU的性能 1.6 影响计算机体系结构的成本和价格因素 1.6.1 集成电路的成本 1.6.2 计算机系统的成本和价格 1.7 小结习题第二章 计算机指令集结构设计 2.1 指令集结构的分类 2.1.1 指令集结构的分类 2.1.2 通用寄存器型指令集结构分类 2.2 寻址技术 2.3 指令集结构的功能设计 2.3.1 CISC计算机指令集结构的功能设计 2.3.2 RISC计算机指令集结构的功能设计 2.3.3 控制指令 2.4 操作数的类型、表示和大小 2.5 指令集格式的设计 2.5.1 寻址方式的表示方法 2.5.2 指令集格式的选择 2.6 编译技术与计算机体系结构设计 2.6.1 现代编译器的结构和相关技术 2.6.2 现代编译技术对计算机体系结构设计的影响 2.6.3 计算机体系结构对当前编译技术的影响 2.7 DLX指令集结构 2.7.1 DLX指令集结构 2.7.2 DLX指令集结构效能分析 2.8 小结习题二第三章 流水线技术 3.1 流水线的基本概念 3.1.1 流水线的基本概念 3.1.2 流水线的分类 3.2 DLX的基本流水线 3.2.1 DLX的一种简单实现 3.2.2 基本的DLX流水线 3.2.3 流水线性能分析 3. 3 流水线中的相关 3.3.1 流水线的结构相关 3.3.2 流水线的数据相关 3.3.3 流水线的控制相关 3.4 流水线计算机实例分析(MIPS R4000) 3.4.1 MIPS R4000整型流水线 3.4.2 MIPS R4000浮点流水线 3.4.3 MIPS R4000流水线的性能分析 3.5 向量处理机 3.5.1 向量处理方式和向量处理机 3.5.2 向量处理机实例分析 3.6 小结习题三第四章 指令级并行 4.1 指令级并行的概念 4.1.1 循环展开调度的基本方法 4.1.2 相关性 4.2 指令的动态调度 4.2.1 动态调度的原理 4.2.2 动态调度算法之一:记分牌 4.2.3 动态调度算法之二:Tomasulo算法 4.3 控制相关的动态解决技术 4.3.1 减少分支延迟:分支预测缓冲技术 4.3.2 进一步减少分支延迟:分支目标缓冲 4.3.3 基于硬件的推断执行 4.4 多指令流出技术 4.4.1 超标量技术 4.4.2 多指令流出的动态调度 4.4.3 超长指令字技术 4.4.4 多流出处理器受到的限制 4.5 小结习题四第五章 存储层次 5.1 存储器的层次结构 5.1.1 从单级存储器到多级存储器 5.1.2 存储层次的性能参数 5.1.3 “Cache—主存”和“主存—辅存”层次 5.1.4 存储层次的四个问题 5.2 Cache基本知识 5.2.1 映象规则 5.2.2 查找方法 5.2.3 替换算法 5.2.4 写策略 5.2.5 Cache的结构 5.2.6 Cache性能分析 5.2.7 改进Cache性能 5.3 降低Cache失效率的方法 5.3.1 增加Cache块大小 5.3.2 提高相联度 5.3.3 Victim Cache 5.3.4 伪相联Cache 5.3.5 硬件预取技术 5.3.6 由编译器控制的预取 5.3.7 编译器优化 5.4 减少Cache失效开销 5.4.1 让读失效优先于写 5.4.2 子块放置技术 5.4.3 请求字处理技术 5.4.4 非阻塞Cache技术 5.4.5 采用两级Cache 5.5 减少命中时间 5.5.1 容量小,结构简单的Cache 5.5.2 虚拟Cache 5.5.3 写操作流水化 5.5.4 Cache优化技术小结 5.6 主存 5.6.1 存储器技术 5.6.2 提高主存性能的存储器组织结构 5.7 虚拟存储器 5.7.1 虚拟存储器基本原理 5.7.2 快表(TLB) 5.7.3 页面大小的选择 5.8 进程保护和虚存实例 5.8.1 进程保护 5.8.2 页式虚存举例:Alpha AXP的存储管理和21064的TLB 5.9 Alpha AXP 21064存储层次 5.10 小结习题五第六章 输入输出系统 6.1 概述 6.2 存储设备 6.2.1 磁盘设备 6.2.2 磁带设备 6.2.3 光盘设备 6.3 总线 6.3.1 总线分类 6.3.2 总线基本工作原理 6.3.3 总线使用 6.3.4 总线标准和实例 6.3.5 设备的连接 6.3.6 CPU与I/O处理的匹配 6.4 通道处理机 6.4.1 通道的作用和功能 6.4.2 通道的工作过程 6.4.3 通道种类 6.4.4 通道中的数据传送过程 6.4.5 通道的流量分析 6.5 I/O与操作系统 6.5.1 I/O和Cache数据一致性 6.5.2 DMA和虚拟存储器 6.6 I/O系统设计 6.7 小结习题六第七章 多处理机 7.1 引言 7.1.1 并行计算机体系结构的分类 7.1.2 通信模型和存储器的结构模型 7.1.3 通信机制的性能 7.1.4 不同通信机制的优点 7.1.5 并行处理面临的挑战 7.1.6 并行程序的计算/通信比率 7.2 多处理机的存储器体系结构 7.2.1 集中式共享存储器体系结构 7.2.2 分布式共享存储器体系结构 7.3 互连网络 7.3.1 互连网络的性能参数 7.3.2 静态连接网络 7.3.3 动态连接网络 7.4 同步与通信 7.4.1 同步机制 7.4.2 大规模机器的同步 7.5 并行化技术 7.5.1 并行化的基本策略 7.5.2 并行语育与编译器 7.6 多处理机实例 7.6.1 Challenge多处理机系统 7.6.2 Origin 20007.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值