电子科技大学计算机系统结构半期考试参考答案

2023-10-27

2023                答案-半期试题(15分) 

1、试分析采用哪种设计方案实现求浮点数乘法FPMUL对系统性能提高更大。假定FPMUL操作占整个测试程序执行时间的10%。

一种设计方案是增加专门的FPMUL硬件,可以将FPMUL操作的速度加快到10倍;

另一种设计方案是提高所有FP运算指令的执行速度,使得FP指令的执行速度加快为原来的1.6倍,设FP运算指令在总执行时间中占50%。(2分)

解:对这两种设计方案的加速比分别进行计算。

增加专门FPDIV硬件方案:Fe = 10% = 0.10, Se = 10

         SFPDIV = 1/((1-0.10)+0.10/10)=1/0.91 = 1.099

提高所有FP运算指令速度方案:Fe = 50% = 0.5 , Se = 1.6

SFP = 1/((1-0.5)+0.5/1.6) = 1/0.8125 = 1.231   

提高所有FP指令速度方案的加速比更高,对系统性能提高更大。

2、由静态多功能流水线实现如下计算(a1+b1)*(a2+b2)* (a3+b3)* (a4+b4)* (a5+b5),其中乘法使用1-2-3-5-6级流水线,加法使用1-2-4-6级流水线,请画出时空图,并计算最优吞吐率、效率和加速比。(4分)

      答案:

 

3、假设某机器的流水线,转移目标地址计算需要2个流水段,转移条件形成需要4个流水段,完成一个流水段的操作用一个时钟周期。假定解决控制冒险有三种方法:停顿流水线、转移预测未选中、转移选中。试计算条件转移指令采用这三种方法在转移发生与转移不发生所产生的停顿时钟周期数,并填入下表中。(3分)

条件转移发生

产生的停顿时钟周期数

条件转移未发生

产生的停顿时钟周期数 

停顿流水线

3

3

转移预测未选中

3

0

转移预测选中

1

3

 

 假如修改为:转移目标地址计算需要3个流水段,转移条件形成需要4个流水段

条件转移发生产生的停顿时钟周期数

条件转移未发生产生的停顿时钟周期数 

停顿流水线

3

3

预测转移未选中

3

0

预测转移选中

2

3

4、设流水线模型机结构如下图所示,采用load前推和数据前推(store指令前推使用C寄存器内容,注意图中在数据存储器的数据输入端增加了一个2路开关解决store与前一条指令的数据相关,这里省略了多路开关的控制信号)。假设模型机使用subicc指令,它将根据减法结果设置标志寄存器Z的内容为0或为1;其它的ALU计算指令不影响Z。寄存器r6内容大于1,指令bne的控制相关处理采用插入nop指令的策略。     (6分)

带有内部前推及load相关暂停功能的流水线处理机

设有以下指令序列:

Lop:load     r1, 100(r3)

            addi     r2, r1, 10

      store    r2, 100(r3) 

            subicc   r5, r5, 1

       bne      lop   ;如果Z标志为0,即r5的内容不为0,则转Lop

  1. 按时钟周期画出以上指令序列第1次循环执行及转移到“load  r1, 100(r3)”指令,在模型机中执行的时序图,标出内部前推示意。(3分)
  2. 如果以上指令序列在流水线CPU执行,当第2条指令“addi  r2, r1, 10”进入EXE级时,试给出ADEPEN、BDEPEN信号的值、WB级信号SLD的值。(2分)

                  ADEPEN =           BDEPEN =          SLD=

解:(1)

(2)ADEPEN = 3或(11)   BDEPEN = 1或(01)  SLD=1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电子科技大学计算机系统结构半期考试参考答案 的相关文章

  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • FastReport VCL 6.7.6 For Delphi10.4.2 安装图解教程

    FastReport VCL 6 7 6 For Delphi10 4 2 安装图解教程 Fastreport控件的安装 一步一步按说明来 不难搞 1 先关闭Delphi 2 右键 以管理员身份运行 对应版本的recompile exe 2
  • 图片情感分析(2):图像情感分析模型

    图像情感分析模型是基于卷积神经网络建立的 卷积神经网络的构建用了keras库 具体代码实现以及代码运行在下一篇贴出 模型包括3个卷积层 2个池化层 4个激活函数层 2个Dropout层 2个全连接层 1个Flatten层和最终分类层 图片初
  • Java创建数组的四种方式

    1 使用默认值来初始化 语法 数组元素类型 数组名称 new 数组元素类型 数组长度 EG int nums new int 5 创建了一个类型为int 名字为nums 长度为5的数组 2 先声明一个数组 再给值 语法 数据元素类型 数组名
  • 37 年来首次 FSF 允许非正式会员提名董事会候选人;Linux RamFS 文件系统移植到 Rust;Git 2.35 发布

    整理 宋彤彤 责编 屠敏 开源吞噬世界的趋势下 借助开源软件 基于开源协议 任何人都可以得到项目的源代码 加以学习 修改 甚至是重新分发 关注 开源日报 一文速览国内外今日的开源大事件吧 一分钟速览新闻点 成立 37 年来首次 FSF 允许
  • Spring boot配置logback日志打印到指定路径文件

    在实际项目开发中 一般都是使用log打印日志到指定路径 生成文件 而平时使用的System out pring 只能输出日志到控制台 当我们把项目打成war包部署到服务器上 会有不用的用户使用我们的应用 这个时候如果一个客户端出现了问题 那
  • 断弧图片数据集 数据集扩充 增强

    图像处理可以用到的数据 这是原始图像总共1356张 对应的XML文件是它的标签 此数据可以用来做图像目标检测 YOLOv4 v3 SSD faster rcnn 数据集增广 数据集扩充 数据集增强的常用方法与软件 https blog cs
  • 修改pycharm缓存文件路径

    Pycharm在使用过程中 Pycharm会生成大量缓存文件 而这些缓存文件默认存储在C盘的用户目录里面 导致C盘空间被占用 目标 将C盘用户目录下的 Pycharm2019转移到D盘 D cache pycharm 文件夹下 如下图 解决
  • div设置边角小三角形

    div class leftmsg div div class rightmsg div
  • 使用NCNN的INT8量化方式进行推理

    本文以NCNN框架为例 实践量化在推理中的巨大作用 加深对神经网络量化的理解 NCNN当前版本只支对称量化 下面以INT8精度为例介绍NCNN的量化使用方式 编译NCNN mkdir build cd build cmake 进入到buil
  • Java面试--常见集合

    Java面试 基础 ArrayList ArrayList的扩容机制 FailFast和FailSafe ArrayList和LinkedList HashMap 介绍一下put方法流程 1 7和1 8有何不同 负载因子默认值为何是0 75
  • CSDN编程竞赛 ——— 第六期之python

    CSDN编程竞赛报名地址 https edu csdn net contest detail 16 请不要删掉此地址 目录 前言 背景 大赛简介 参赛流程 参赛经历 解题思路 经验心得 资料分享 前言 背景 目前为止共参加过三次 不过没拿到
  • 20201013 矩阵2范数matlab求解

    这里是引用n norm X 返回矩阵 X 的 2 范数或最大奇异值 该值近似于 max svd X 示例 n norm X p 返回矩阵 X 的 p 范数 其中 p 为 1 2 或 Inf https ww2 mathworks cn he
  • java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题

    文章目录 java导出Excel增加下拉框选项 一 小数据量情况 二 大数据量情况 java导出Excel增加下拉框选项 java结合easyExcel 添加传参模型ConsumablesAddDTO 一 小数据量情况 仅供参考 二 大数据
  • 鸿蒙系统怎么退出,华为鸿蒙2.0系统升级了怎么退回EMUI11系统?操作教程详解[多图]...

    华为鸿蒙2 0系统升级了怎么退回EMUI11系统 很多用户升级了又不知道如何才能退回到原来的系统 下面就让安卓乐园小编为大家带来 2 0系统升级退回EMUI11系统操作教程详解 这次开启华为鸿蒙2 0系统手机开发者beta版公测招募的机型有
  • 遗传算法最通俗的讲解案例

    遗传算法 遗传算法求全局最优解或者近似优解 遗传算法GA可以用到数据挖掘领域 由于缺少一些详细的例子 导致难以理解 以下是一个大牛的遗传算法的详细例子 通过这个例子 我们可以详细而且直观的加深对遗传算法的理解 遗传算法的有趣应用很多 诸如寻
  • 机器学习 之 python实现 多元线性回归 梯度下降 普适算法与矩阵算法

    介于网上的多元线性回归梯度下降算法多为固定数量的因变量 如三元一次函数 y 1 x 1
  • 有向图问题1--深度优先、广度优先遍历和拓扑排序

    有向图基础 术语定义 一个顶点的出度为由该顶点指出的边的总数 一个顶点的入度为指向该顶点的边的总数 一条有向边的第一个顶点称为它的头 第二个顶点称为它的尾 数据结构 使用邻接表来表示有向图 其中v gt w表示为顶点v对应的邻接链表中包含一
  • 纯CSS实现背景色渐变

    这里简单介绍一下如何用纯CSS实现背景渐变色 一 关键词 1 linear gradient 首先我们要使用的就是CSS中的linear gradient 函数 它用于创建一个表示两种或多种颜色线性渐变的图片 其结果属于数据类型 是一种特别
  • 【VerilogHDL】模块

    VerilogHDL 模块 模块基本语法 2选1多路选择器实例 模块描述方式 行为级或算法级的描述方式 行为级建模 4bit 的二进制行波计数器 带进位 数据流描述方式 数据流级建模 门级描述方式 门级建模 开关级描述方式 开关级建模 描述
  • 电子科技大学计算机系统结构半期考试参考答案

    2023 答案 半期试题 15分 1 试分析采用哪种设计方案实现求浮点数乘法FPMUL对系统性能提高更大 假定FPMUL操作占整个测试程序执行时间的10 一种设计方案是增加专门的FPMUL硬件 可以将FPMUL操作的速度加快到10倍 另一种