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

news2024/12/28 18:12:37

第二章 习题汇总

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:在这里插入图片描述
补充作业:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 操作技巧

目录 一、shell-命令解释器 二、Linux中的特殊符号 三、命令历史--history 一、shell-命令解释器 shell——壳,命令解释器,负责解析用户输入的命令 ——内置命令(shell内置) ——外置命令,在文件系统的某个目录下&…

Redis Insight 版本 2.32 翻译中文

使用教程 链接:https://pan.baidu.com/s/11pWBZ3uQSRZbuMS8POkLCw?pwd2ke5 一、下载renderer.js 1.打开安装好的软件 2、在这里添加我们指定的文件夹,这个文件夹是你随便创建的,你可以指定任何目录 3.选择renderer.js右键保存覆盖 4.在r…

Flask数据库之SQLAlchemy--介绍--链接数据库

目录 SQLAlchemy介绍 SQLAlchemy连接数据库 SQLAlchemy介绍 数据库是一个网站的基础!!! 比如MySQL、MongoDB、SQLite、PostgreSQL等,这里我们以MySQL为例进行讲解。 SQLAlchemy是一个ORM框架 对象关系映射(英语&…

chrome浏览器 调试鼠标悬停后出现的元素样式

鼠标悬停后出现的样式,我们遇见的有两种情况,一种是用css设置的hover时的样式,第二种就像el-tooltip组件,鼠标悬停时出现提示文字的样式。 一、css设置的hover时的样式 1、按【F12】键(或右键点击【检查】&#xff09…

星闪空口技术初探

星闪技术设计目标 在星闪技术的应用场景中,最低的时延要求达到了20us量级,比如智能座舱的主动降噪。最高的可靠性要求达到了99.9999%,比如智能制造的传感器与执行器的消息收发。除了低时延和高可靠之外,高精度同步、多并发和信息…

Linux工具——gdb

目录 一,gdb简介 二,gdb的指令 1.查看gdb是否有下载 2.需要明确的知识点 3.调试指令 1.打开调试代码 2.以某行为起点显示代码 3.打断点,查看断点,删除断点,禁用断点,启用断点 4.逐过程,逐…

灵活运用OSI模型提升排错能力

1.OSI模型有什么实际价值? 2.二层和三层网络的区别和应用; 3.如何通过OSI模型提升组网排错能力? -- OSI - 开放式系统互联 - OSI参考模型 - 一个互联标准 -- 软件硬件 - 定义标准 数据通信的标准 -- 厂商 思科 华为 华三…

【Spring】Spring Security学习笔记

基本概念 概念定义认证判断一个用户身份是否合法的过程(登录过程)会话为了避免用户的每次操作都进行认证, 将用户的信息保存在会话中. 常见的会话有基于session的模式和基于token的模式授权校验用户是否有权限访问某个资源 认证是为了验证用户的身份; 授权是为了验证用户是否有…

生长刺激表达基因2蛋白(ST2)介绍

生长刺激表达基因2蛋白(Growth stimulation expressed gene 2,ST2),也称为T1,IL1RL1或Fit1,编码基因定位于染色体2q12位点上,约40kb。属于白细胞介素-1(interleukin-1,IL…

2023华为杯数学建模研赛E题全解析

2023华为杯数学建模研赛E题解析,完整版已出!!! 包含所有模型、代码、结果,39页技术文档,详细内容如下! 免费版链接已放在下面,需要的同学可以直接自取~ 【云顶数模】2023研究生数学建模免费链接: https://pan.baid…

Python爬虫教程:解析网页中的元素

前言: 嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 在我们理解了网页中标签是如何嵌套,以及网页的构成之后, 我们就是可以开始学习使用python中的第三方库BeautifulSoup筛…

194、SpringBoot -- 下载和安装 Erlang 、 RabbitMQ

本节要点: 一些命令: 小黑窗输入: rabbitmq-plugins enable rabbitmq_management 启动控制台插件 rabbitmq-server 启动rabbitMQ服务器 管理员启动小黑窗: rabbitmq-service install 添加rabbitMQ为本地服务 启动浏览器访问“h…

Goby 漏洞发布|Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434)

漏洞名称:Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434) English Name: Revive Adserver adxmlrpc.php Remote Code Execution Vulnerability (CVE-2019-5434) CVSS core: 9.0 影响资产数&a…

Go sync.Cond 原理

文章目录 前言newCondWaitSignalBroadcast和 channel 比较的优势 前言 sync.Cond 基本很少使用,应为大部分都能使用 channel 代替sync.Cond 通常是基于 sync.Mutex 扩展的主要就四个方法 newCond(l locker) 创建CondWait() 阻塞等待Signal() 唤醒其中一个Broadcast…

AI 编码助手 Codewhisperer 安装步骤和使用初体验

文章作者:为了自己加油 最近亚⻢逊云科技推出了一款基于机器学习的AI编程助手 Amazon Code Whisperer,可以实时提供代码建议。在编写代码时,它会自动根据现有的代码和注释给出建议。Amazon Code Whisperer与 GitHub Copilot 类似,…

Klotski: Efficient Obfuscated Execution against Controlled-Channel Attacks

目录 摘要引言贡献新的基于ORAM的防御控制信道攻击优化技术开源实现 背景Intel SGXORAMRing ORAM的组成ORAM树Position Map (位置图)Stash Ring ORAM的访问步骤1、Position Map Lookup 位置映射查找2、ReadPath3、EvictPath4、Early Reshuffles 早期的重新洗牌 相关工作和动机S…

vue3硅谷甄选01 | 使用vite创建vue3项目及项目的配置 环境准备 ESLint配置 prettier配置 husky配置 项目集成

文章目录 使用vite创建vue3项目及项目的配置1.环境准备2.项目配置ESLint校验代码工具配置 - js代码检测工具1.安装ESLint到开发环境 devDependencies2.生成配置文件:.eslint.cjs**3.安装vue3环境代码校验插件**4. 修改.eslintrc.cjs配置文件5.生成ESLint忽略文件6.在package.js…

gym_unity学习笔记

最近学了一段时间gym_unity,把一些资料留在这里 实例 实例gym_unity训练RollerBall:https://blog.csdn.net/alibutter/article/details/120908687实例gyn_unity训练3DBall:https://zhuanlan.zhihu.com/p/554927641?utm_id0 源码&#xff1…

大数据学习技术栈及书籍推荐

作为一名开发人员,特别是后端开发人员,随着网络数据量的持续增长,拥有强大的大数据处理能力已经成为每个公司或产品(尤其是2C业务)的必备条件。以下是我在网络上搜集和自身研究的基础上,为您推荐的技术栈和…

【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习

【测试开发】用例篇(2) 文章目录 【测试开发】用例篇(2)1. 正交表法1.1 什么是正交表1.2 两个重要概念1.3 如何通过正交表设计测试用例1.3.1 充分理解需求1.3.2 确定因素、确定水平1.3.3 allpairs画正交表1.3.4 补充正交表1.3.5 将…