计算机组成原理(1)-软件设计(二十二)

2023-10-26

程序设计语言-软件设计(二十一)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/129344983

计算机组成原理在软件设计考试分值占比较高,主要会考

1、数据的表示:数据进制转化。(日常生活中使用的都是十进制的数据,但是计算机都是使用二进制,为了方便转换还有八进制和十六进制)

计算机结构、Flynn分类法、CISC与RISC、流水线技术、存储系统、总线系统、可靠性及校验码。

一、数据的表示

任意进制转十进制

例如二进制的转换。

二进制转十进制可以按权展开法,当小数点左边的是正数次方,右边的则是负数。

比如:二进制 10100.01

转成十进制:1*2的四次方+1*2的二次方+1*2的负二次方

比如:七进制 603.01

转成十进制:6*7的二次方+33*7的零次方+1*7的负二次方

十进制转二进制

可以使用短除法。

例如:十进制94

二进制:

94除以2 等于47  余0

47除以2 等于23  余1

23除以2 等于11  余1

11除以2 等于5   余1

5除以 2  等于2   余1

2除以2  等于1   余0

1除以2   等于0   余1

1011110

二进制转八进制与十六进制数

每三个2进制位可以转一个8进制位,高位补0,然后把每个位子转8进制。

10 001 110  

那么二进制110转八进制是 1*2的二次方+1*二的一次方 = 6

二进制001转八进制 1*2的零次方 = 1

二进制010转八进制 1*2的一次方 = 2

所以 八进制是 216

每四个2进制可以转一个16进制,高位补0。

十六进制到两位则用字母代替,10是A,11是B,12是C,依次类推。

1000 1110

那么二进制1000转十六进制 1*2的三次方 = 8

二进制1110转十六进制 1*2的三次方 + 1*2的二次方 + 1*2的1次方 = 8+4+2=14

所以十六进制 8E

问:反码1111 1111 代表十进制的多少

第一步:先把反码转成原码 1000 0000

第二步:首位1代表负数,所以是 -0

问:补码0000 0000 代表十进制的多少

0

问:移码1000 000代表十进制多少?

移码首位1代表正数,所以是 0。

原码反码范围 -127~127

补码:-128~127

浮点数

1000的科学计数法是1.0 * 10的三次方,这就是计算机里的浮点数。

119则是1.19*10的平方。

所以公式为:

N = M * R的e次方。

其中M称为尾数,R称为基数,e称为指数。

所以1.19是尾数 ,10是基数、2是指数。

问:如何把两个浮点数相加?

1.0*10的三次方 + 1.19乘以10的平方

对阶,把平方转成三次方,0.119*10的三次方

所以等于1.119 * (10的三次方)

对阶  ->  尾数相加  ->结果格式化。

当小数点左边是0或者超过一位,则需要格式化

  • 计算器结构

运算器、控制器、主存储器 这些都属于主机。

而主机里最重要的部分是 运算器 + 控制器 = cpu (Central Processing Unit)

运算器包含 算术逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR(作用读写操作的时候,暂存数据)、状态条件寄存器PSW(作用在运算过程中存储标志位)。

控制器包含 程序计数器PC、指令寄存器IR、指令译码器、时序部件。

  • flynn分类法

单指令流单数据流SISD:意味着控制部件 是一个,处理器 是一个,主存模式 一个。代表就是单处理系统,老计算机。 (后面多核,4g8g就不属于此类)

单指令流多数据流SIMD:控制部件 一个,处理部件 多个,主存模式 多个。处理器以异步的形式执行同一条指令。代表有 阵列处理器、并行处理机。

多指令流单数据流:控制器多个 处理器 一个,主存模式。并不存在,理论模型,没有实际意义和价值。

多指令流多数据流:控制器,处理器和主存模式 都是多个。代表多处理器系统。

  • CISC与RISC

CISC复杂模式,RISC精简模式。

CISC是计算机没有大规模通用化时候提出来的,数量多,使用频率差别大,可变长格式,支持多种。

RISC大部分都是操作寄存器,只有load/store操作内存,优化编译,有效支持高级语言。

  • 流水线

执行一条指令分为 取指、分析、执行。

如果没有流水线,当有三条指令的情况下,则执行顺序是:

第一条指令 取指、分析、执行。

第二条指令 取指、分析、执行。

第三条指令 取指、分析、执行。

如果有流水线,则他们的执行顺序是:

第一条指令 第二条指令 第三条指令 取指。

第一条指令 第二条指令 第三条指令 分析。

第一条指令 第二条指令 第三条指令 执行。

流水线所做的工作,是把空闲时间利用起来。

流水线的计算

问:把一条指令分为 取指、分析、执行三个部分,且三部分的时间分别是取指2ns、分析2ns、执行2ns。那么流水线周期多少?100条指令全部执行完毕需要时间是多少

分析:流水线周期指执行时间最长的一段,所以流水线周期最长的是2ns。

一条指令执行时间 + n-1条指令的执行时间

2+2+1 + 99 *2= 5+198 = 203

这是理论公式,第一条指令时间, 后面指令乘以 周期时长。

实践公式:(k+n-1)*流水线周期。这里k代表分成几段。

(3+100-1)*2 = 204

流水线吞吐率计算

指单位时间内流水线所完成的任务数量或者输出结果数量。

TP=指令条数 除以 流水线执行时间

TP = 100/203nm

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

计算机组成原理(1)-软件设计(二十二) 的相关文章

随机推荐

  • JAVA:jdbc:sqlserver 连接SQLserver实例名

    weChatjdbc driverClassName com microsoft sqlserver jdbc SQLServerDriver weChatjdbc url jdbc sqlserver 127 0 0 1 instance
  • Ubuntu服务器下安装FastDFS及nginx配置访问等问题记录

    Ubuntu服务器下安装FastDFS及nginx配置访问 下载对应包 编译环境 包解压环境配置 配置nginx模块和安装nginx来进行访问该图片 下载对应包 下载方式一 直接使用 wget 下载 如果太慢 可以去github下载 然后上
  • 基于Matlab开发的动态机器人轨迹仿真

    基于Matlab开发的动态机器人轨迹仿真 近年来 机器人技术的发展已经进入了高速发展时期 控制与仿真技术作为机器人领域中至关重要的一环 也随之发展壮大 而在动态机器人轨迹仿真方面 Matlab作为一款具备强大数学计算能力的软件 在该领域中得
  • QT实现sqlite数据库连接池

    ifndef CONNECTIONPOOL H define CONNECTIONPOOL H FileName 数据库连接池 Function 获取连接时不需要了解连接的名字 支持多线程 保证获取到的连接一定是没有被其他线程正在使用 按需
  • MySQL 远程登录与其常用命令的介绍

    以下的文章主要介绍的是MySQL 远程登录与其常用命令的介绍 MySQL 远程登录与其常用命令之所以能在很短的时间内被人们广泛的应用 原因也是因为它们的独特功能 以下的文章就有对其相关内容的介绍 MySQL 远程登录及常用命令 第一招 My
  • Unbantu22.04使用DevStack一键部署OpenStack(使用nat静态IP)

    d 学习openstack的小白 第一步就遇到了大麻烦 下载并部署Openstack 传统的基于组件 一个个的安装配置更加麻烦 使用DevStack工具 一键部署可能是个不错的选择 But devstack部署期间总是会出现各种各样的错误
  • JavaScript面向对象

    JavaScript面向对象 面向过程 面向过程就是讲需求一步一步自己完全实现 如 一堆衣服 需要自己一件一件洗 面向对象 面向对象是把有共同特征的方法抽取为类 比如 一堆衣服 都需要洗 创建洗衣机类 女朋友类 让她洗 类的定义和使用 定义
  • 机器学习 day09(如何设置学习率α,特征工程,多项式回归)

    1 常见的错误的学习曲线图 上方两个 当关于迭代次数的学习曲线图 出现波浪型或向上递增型 表示梯度下降算法出错 该情况可由 学习率 过大 或代码有bug导致 2 常用的调试方法 选择一个非常非常小的学习率 来查看学习曲线是否还是有误 即在某
  • uni-app网络请求的封装

    uni app网络请求的封装 这几天没事干 就去小程序开发小团队里看看 顺便看了一下代码 在网络请求上发现了一些问题 差点没忍住破口大骂 最终想了想 他们之前没做过 都是第一次就算了 其实是安慰自己而已 网络请求都写在page里 每个请求都
  • 池化方法总结(Pooling)

    在卷积神经网络中 我们经常会碰到池化操作 而池化层往往在卷积层后面 通过池化来降低卷积层输出的特征向量 同时改善结果 不易出现过拟合 为什么可以通过降低维度呢 因为图像具有一种 静态性 的属性 这也就意味着在一个图像区域有用的特征极有可能在
  • JAVA-while循环语句

    while循环语句用法比for语句用起来简单 格式也对的简单 while 判断条件 循环体 public class WhileTest public static void main String args int i 1 while i
  • 将tensorpack的inference改为pytorch

    最近在跑一个OCR模型 模型是用Tensorpack写的 模型做inference的时候 显存 速度都不是很理想 改成pytorch后 显存占用 速度比之前好了很多 记录下改inference的过程遇到的一些坑 将pb文件转为pth文件 i
  • Python 垃圾回收机制

    众所周知 我们当代的计算机都是图灵机架构 图灵机架构的本质 就是一条无限长的纸带 对应着我们今天的存储器 在工程学的演化中 逐渐出现了寄存器 易失性存储器 内存 和永久性存储器 硬盘 等产品 其实 这本身来自一个矛盾 速度越快的存储器 单位
  • 【易售小程序项目】请求包创建+登录功能实现【基于若依管理系统开发】

    文章目录 说明 请求包创建 创建文件夹 请求工具 request js 登录功能实现 请求方法 页面 涉及知识点 错误提示 前端校验 设置 token 到客户端缓存中 路由跳转 如果已经登录过 访问登录页直接跳转到首页 同项目其他文章 说明
  • 服务器配置填坑 wget: unable to resolve host address解决方法,最终成功

    项目上线 手续要配置服务器 甲方机房在单位内 无法使用公司云服务器 于是配置坑来了 配环境下载包 ubutun 16显示如下错误 wget unable to resolve host address wget 无法解析主机地址 这就能看出
  • 51单片机智能蓝牙小车

    作为大一电子小趴菜 在和队友学习制作蓝牙小车过程中遇到了许多困难 本文既为大家避坑 也作为团队总结 这篇文章分为两部分 1 组装篇 2 代码篇 思维导图 组装篇 先准备好一块电源拓展板 用于为电机驱动模块和降压模块连接电源 小车底盘可淘宝定
  • element ui 表单验证触发方式:trigger: ‘change‘和trigger: ‘blur‘区别

    推荐阅读 Vue2 7正式发布 代号为 Naruto 火影忍者 原生支持 Composition API 终于可以在Vue2项目中使用Vue3的新特性了 真香 南北极之间的博客 CSDN博客今天 Vue 创始人尤雨溪刚刚正式发布了 Vue
  • HTML+CSS+JavaScript复习笔记持更(十)——CSS3常用属性之定位

    定位 定位主要是用来设定元素在页面上的位置的 其代码为 position 定位有三种定位方式 static 无特殊定位 按照dom排序 absolute 绝对定位 往前面找最近的 有定位属性的元素 以该元素的起点为起点 绝对定位 脱离文档流
  • JS中sort()方法原理及使用

    sort 方法用于对数组的元素进行排序 并返回数组 默认排序顺序是根据字符串UniCode码 因为排序是按照字符串UniCode码的顺序进行排序的 所以首先应该把数组元素都转化成字符串 如有必要 以便进行比较 语法 arrayObject
  • 计算机组成原理(1)-软件设计(二十二)

    程序设计语言 软件设计 二十一 https blog csdn net ke1ying article details 129344983 计算机组成原理在软件设计考试分值占比较高 主要会考 1 数据的表示 数据进制转化 日常生活中使用的都