计算机组成原理和体系结构----软考(到处copy)

计算机组成原理和体系结构

  • 数据的表示
    • n进制转十进制
    • 十进制转n进制 使用短除法
    • 二进制转八进制和十六进制
    • 原码、反码、补码以及移码
    • 浮点数运算
  • 计算机结构
  • 计算机体系结构分类 - Flynn
  • CISC 和 RISC
  • 流水线
    • 流水线计算
      • 流水线时间计算
      • 流水线吞吐率计算
      • 流水线的加速比计算
      • 流水线的效率
  • 计算机层次化存储结构
    • Cache的概念
    • 主存的分类
    • 磁盘工作原理
    • 计算机的总线
  • 系统可靠性分析与设计
    • 串联系统和并联系统
    • 模冗余系统和混合系统
  • 差错控制
    • 校验码的概念
    • 循环(CRC)校验码
    • 海明校验码

数据的表示

n进制转十进制

  • 例如二进制转十进制:10100.01 = 1x2^4 +1x2^2 + 1x2^-2
  • 例如七进制转十进制:604.01 = 6x7^2 + 4x7^0 + 1x7^-2

十进制转n进制 使用短除法

  • 例如将94转为二进制

二进制转八进制和十六进制

  • 二进制转八进制只需要对二进制数从右边开始每三个一组转成八进制,最高位如果不足三位数就在最左边补0。
  • 二进制转十六进制只需要对二进制数从右边开始每四个一组转成16进制,最高位如果不足四位就在最左边补0。
  • 我们可以对十六进制转成二进制,只需要将每个位拆成4位二进制数就得到对应对二进制,然后对转成的二进制从右边到左边三位划分就转成八进制了。

原码、反码、补码以及移码

在这里插入图片描述
从上图中可以看出 ,原码是不适合做计算的!因为原码是1-1居然等于10000010。

  • 原码总共八位,首位为符号位。正数的符号位为0,负数的符号位为1。
  • 反码:正数的反码就是其本身,负数的反码是符号位不变,其他位取反。
  • 补码:正数的补码就数其本身,负数的补码是其反码的基础上加1。
  • 移码:在补码的基础上将符号位取反。

数值表示范围 由于负数的补码在其反码的基础上加1,所以范围会比其他数多1。在这里插入图片描述

浮点数运算

在这里插入图片描述
浮点数运算首先要将指数统一,然后尾数进行相互计算,最后格式化结果(小数点前不超过1位数)。

  • 例如 : 1.0x 10^3 + 1.19x10^2 = 1.0 x10^3 + 0.119x10^3 = 1.119x10^3;

    计算机结构

    在这里插入图片描述

计算机体系结构分类 - Flynn

在这里插入图片描述

CISC 和 RISC

在这里插入图片描述

流水线

流水线是指在程序执行时多条指令重叠进行操作的一种准并行 处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
在这里插入图片描述

流水线计算

流水线时间计算

在这里插入图片描述

流水线吞吐率计算

在这里插入图片描述
在这里插入图片描述表示一个流水线的周期

流水线的加速比计算

在这里插入图片描述

流水线的效率

在这里插入图片描述

计算机层次化存储结构

在这里插入图片描述

Cache的概念

在这里插入图片描述

主存的分类

在这里插入图片描述

磁盘工作原理

在这里插入图片描述
读取磁盘的时候磁头还是会接着旋转的!

计算机的总线

在这里插入图片描述

系统可靠性分析与设计

串联系统和并联系统

  • 串联系统:只要其中一个环节出现问题,整个系统都不能运行了。
    • 可靠度:把每个环节的可靠度相乘就是总可靠度。
    • 失效率:把每个环节的失效率(1 - 环节可靠度)相加。(近似公式,当子系统比较多,且失效率极低的情况下使用)
    • 在这里插入图片描述
  • 并联系统:只要有一个环节不出现问题,系统都可以运行。(当且所有环节故障,才不能运行)
    • 可靠度:1 减去 所有环节失效率之积。

    • 失效率:1 减去 总可靠度在这里插入图片描述

模冗余系统和混合系统

在这里插入图片描述

差错控制

校验码的概念

  • 检错:检查出错误
  • 纠错:检查出错误,并且纠错。
  • 码距:例如 11 和 00 ,11要变成00 最少需要变化两个位,所以最小码距为2.
  • 在这里插入图片描述

循环(CRC)校验码

可以做检错,但是不可以做纠错的校验码。

  • 模2除法: 两个二进制相除时做 异或操作!
  • 下图中 x^ 4 +x^3+x+1 ,意思是在 2^ 4、2^3、 2^1 、 2^0 这些位上为1,即 11011 。
  • 在原始报文后面添加多项式位数减1个数 的0.
  • 然后进行模2除法,将得到余数(对应位数),替换原始报文后添加的0.
  • 这样就求出进行CRC编码后的结果。
  • 将得到的结果和前面多项式的值11011进行模2除法,如果余数为0则表示对了。
  • 在这里插入图片描述

海明校验码

通过 2^r = x+r+1确定校验码为r位(x为信息位的个数),位置为 2^0 ~2^r .

注意: 信息位的位置分配是从高位到低位依次存放

注意: 海明校验码是放在2的幂次位上的
在这里插入图片描述

第三步:确定校验位的值

校验原则:被校验的海明位的下标等于所有参与校验该位的校验位的下标之和
在这里插入图片描述

然后将校验码校验的信息位的位置记录下来:

r1: 3, 5, 7
r2: 3, 6, 7
r3: 5, 6, 7

然后做对应信息位的异或运算(异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1))

r1: 1 xor 1 xor 1 = 1
r2: 1 xor 0 xor 1 = 0
r3: 1 xor 0 xor 1 = 0

代入表格得到
在这里插入图片描述

注意:按照从低位到高位的排列顺序得到海明码:1010101

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

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

相关文章

Ubuntu16.04安装Hadoop+Spark+pyspark大数据python开发环境

一,安装jdk1.8.0.144 下载地址:www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html Ubuntu配置jdk运行环境 export HADOOP_HOME/usr/local/hadoop export CLASSPATH$($HADOOP_HOME/bin/hadoop classpath):$CLASSPA…

使用IntelliJ IDEA和Maven管理搭建+Web+Tomcat开发环境

使用IntelliJ IDEA和Maven管理搭建WebTomcat开发环境 使用IntelliJ IDEA和Maven管理搭建WebTomcat开发环境 前言:原来一直使用Eclipse,换工作后使用IDEA,初识IDEA发现,哇,它的快捷键可真多啊,但是一路用下…

一起玩Docker之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制&am…

SpringBoot执行器端点Actuator Endpoint

比较常用的Endpoint URL作用/actuator/health健康检查/actuator/beans查看容器中所有的Bean/actuator/mapping查看Web的URL映射/actuator/env查看环境信息 默认/actuator/health和/actuator/info是可以通过Web访问,其他的需要解禁 在配置文件中可以设置可以访问哪…

域内禁止不明东西连接DHCP

今天在Windows论坛看到一大牛版主分享的经验,赶紧挺好,就赶紧记下来。 http://bbs.51cto.com/thread-967999-1.html 再补充一点点 域内查看其他pc的 MAC 地址 同一网段的 直接 ping一下 对方 ip地址 然后 arp -a 一下 不通网段的 可以先在 dhc…

SpringBoot中mybatis配置多数据源

首先需要创建多个数据库 简单的user表 CREATE TABLE user (id int NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,age int DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8;导入项目依赖 <dependencies><dependency&g…

玩玩机器学习4——TensorFlow基础之激活函数

激活函数&#xff08;activation function&#xff09;运行时激活神经网络中某一部分神经元&#xff0c;将激活信息向后传入下一层的神经网络。神经网络之所以能解决非线性问题&#xff08;如语音、图像识别&#xff09;&#xff0c;本质上就是激活函数加入了非线性因素&#x…

玩玩机器学习5——构造单层神经网络解决非线性函数(三次函数)的曲线拟合

使用TensorFlow构造了一个隐藏层和输出层的神经网络&#xff0c;做非线性曲线的拟合 import tensorflow as tf import matplotlib.pyplot as plt import numpy as npnp.random.seed(1) x np.linspace(-1, 1, 100)[:, np.newaxis] #创建一个新维度 noise np.random.normal(0,…

HTML网页使用CDN的jquery.qrcode.min.js生成页面二维码(直接可以复制使用)

HTML页面代码 <!DOCTYPE html> <html> <head><title></title><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name"generator" content"pandoc" /><meta n…

SpringBoot Web 入门

SpringBoot Web 要解决的问题&#xff1a; 导入静态资源首页模板引擎 Thymeleaf装配扩展SpringMVCCRUD拦截器国际化 SpringMVC的自动配置类为WebMvcAutoConfiguration &#xff0c;对应的properties类为WebMvcProperties //WebMvcProperties部分代码 //在application配置文…

handler类型的定时器

2019独角兽企业重金招聘Python工程师标准>>> 一、采用Handle与线程的sleep(long)方法 Handler主要用来处理接受到的消息。这只是最主要的方法&#xff0c;当然Handler里还有其他的方法供实现&#xff0c;有兴趣的可以去查API&#xff0c;这里不过多解释。 1. 定义…

Vue路由基本操作

路由index.js import Vue from vue import VueRouter from vue-router import Home from ../views/Home.vue import Me from ../views/me.vue import About from "../views/About.vue" import Centor from "/views/Center.vue" import _404 from "..…

Windows 10 搭建Python3 安装使用 protobuf

Windows 10 搭建Python3 安装使用 protobuf Protobuf对比XML、Json等其他序列化的优势 protobuf 不管是处理时间上&#xff0c;还是空间占用上都优于现有的其他序列化方式。内存暂用是java 序列化的1/9&#xff0c;时间也是差了一个数量级&#xff0c;一次操作在1us左右。缺点…

Vue + SpringBoot跨域

Vue设置 1、在项目根目录创建文件vue.config.js module.exports {devServer: {proxy: {/api: {target: http://zlf.plus, //对应自己的接口changeOrigin: true,ws: true,pathRewrite: {^/api: }}}}}2、 在main.js中配置 import Vue from vue import App from ./App.vue imp…

Windows10 64位 安装 Postgresql 数据库

Windows10 64位 安装 Postgresql 数据库 1&#xff0c;下载Postgresql 10.7 版本&#xff0c;下载地址 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 2&#xff0c;打开安装包&#xff0c;傻瓜式默认安装&#xff0c;请谨记 “数据库密码” 和 “…

node.js入门小案例

nodejs 和 Java node.js是运行在服务端的JavaScript。node.js是一个基于chrome JavaScript 运行时建立的一个平台。底层架构 是JavaScript。 node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;chrome V8引擎执行JavaScript的速度非常快&#xff0c;性能非常好。 可以…

Windows10 64位安装DB2数据库

Windows10 64位安装DB2数据库 安装前准备 &#xff1a; 系统&#xff1a;Windows10 64位 DB2 v9.5下载地址&#xff08;迅雷&#xff09;&#xff1a;http://big3.ddooo.com/db2_93661.rar 选择安装包解压位置&#xff0c;并复制记住&#xff1a; 去到解压的安装目录&#xff…

npm包管理器安装模块

使用npm init 初始化目录(npm init -y) 可以省略中间过程 会在项目根目录生成一个文件 package.json&#xff08;类似于Maven 的pom文件&#xff09; {"name": "test","version": "1.0.1","description": "第一次创建…

Git报错: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

Git报错: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 在使用Git来克隆仓库报了错误&#xff0c;如下&#xff1a; fatal: unable to access ‘https://github.com/xiaobingchan/machine_learn/‘: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in co…