01 - 计算机组成原理与体系结构

news2024/9/9 4:49:39

文章目录

  • 一,计算机系统硬件基本组成
    • 硬件
    • 软件
  • 二,CPU的功能与组成
    • 功能
    • 组成
      • 运算器
      • 控制器
  • 三,数据表示
    • 计算机的基本单位
    • 进制转换
    • 原码,反码,补码,移码
    • 数值表示范围
    • 浮点数表示
  • 四,寻址
  • 五,校验码
    • 奇偶校验码【可以检错,不能纠错】
    • 海明码【可以检错和纠错】
    • 循环冗余嘛【可以检错,不能纠错】
  • 六,RISC和CISC
  • 七,流水线
  • 八,存储器
  • 九,cache
  • 十,中断
  • 十一,输入输出(IO)控制方式
    • 1,程序查询方式
    • 2,中断驱动方式
    • 3,直接存储器(DMA方式)
  • 十二,总线(考的偏,分值低)
  • 十三,加密与认证
    • 1,加密技术(只能防止第三方窃听)
    • 2,摘要(防篡改)
    • 3,数字签名(验证真实性)(认证)
    • 4,数字证书
  • 十四,加密算法
  • 十五,可靠性公式
    • 1,串联系统
    • 2,并联公式
  • 十六,资料参考

一,计算机系统硬件基本组成

硬件

  • CPU中央处理器
    • 运算器
    • 控制器
  • 存储器
  • 外部设备
    • 输入设备
    • 输出设备

软件

二,CPU的功能与组成

核心,获取程序指令,对指令进行译码并执行

功能

  • 程序的执行顺序
  • 操作控制
  • 操作时间控制
  • 数据处理
  • 内外部异常处理

组成

指令=操作码(算术,逻辑符号)+地址码

运算器

  • 功能
    • 用来计算
  • 组成
    • 算术逻辑单元ALU:处理,运算数据
    • 累加寄存器AC:暂存中间运算结果
    • 数据缓冲寄存器DR:暂存失灵,数据字,操作数
    • 状态条件寄存器PSW:指令执行后的状态

控制器

  • 功能
    • 程序正确执行,能够处理异常事件
  • 组成
    • 指令寄存器IR:存放从内存取的指令,对用户完全透明
    • 程序计数器PC:存指令地址,计数
    • 地址寄存器AR:存CPU访问内存单元的地址,由于CPU和内存速度存在差别
    • 指令译码器ID:操作码解析成对应的指令操作

从程序计数器获取需要执行的指令地址,从内存读取到的指令则暂存在指令寄存器

三,数据表示

计算机的基本单位

b(位)->B(字节)->KB->MB->GB->TB
1B = 8bit
1KB = 1024B

进制转换

  1. n进制转换为十进制 (乘n的次方)

image.png

  1. 十进制转换为n进制(除n,取余,再逆)

image.png

  1. 二进制与八进制、十六进制的相互转换
    1. 二进制转为八进制(三位一组)
    2. 二进制转为十六进制(四位一组)


原码,反码,补码,移码

原码:原码就是符号位加上真值的绝对值,0表示正号,1表示负号
反码:正数的反码与原码相同,负数的反码则是符号位不变,其绝对值按位取反。
补码:正数的补码与其原码相同,负数的的补码=反码的末尾+1。
移码:只要将补码的符号位取反便可获得相应的移码表示。
【【X】补】补 = 【X】原
采用补码可以简化计算机运算部件的设计

数值表示范围

image.png

浮点数表示

阶码用移码表示,尾数用补码 巧记:韦伯接姨


最小值应该是 -(2的倍数-1)次方

四,寻址

巧记口诀:立即
立即寻址:操作数在指令里面
寄存器寻址:操作数放在寄存器,指令给寄存器名
直接寻址:操作数放在内存,指令给地址
寄存器间接寻址:操作数存内存,寄存器存内存地址,指令给寄存器名
间接寻址:操作数地址的地址
作用:扩大寻址空间并提高编程的灵活性(了解)

五,校验码

奇偶校验码【可以检错,不能纠错】

增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)
能检测出奇数位(奇数个数)出错,偶数检测不出
码距是二进制位不同,如00和01,码距为1
码距为2

海明码【可以检错和纠错】

运用奇偶性来检错和纠错,码距是3
设数据位是n位,校验位是k位,则n和k必须满足: **2^k - 1 ≥ n + k **。
image.png

循环冗余嘛【可以检错,不能纠错】

k个数据位产生r个校验位来进行编码
码距为2,运用模二运算进行检错不能纠错

六,RISC和CISC

七,流水线

  • 流水线计算 = 一条完整指令执行时间 + (n-1)x流水线最长时间
  • 吞吐率 = 最长时间段的倒数
  • n条吞吐量 = n/流水线计算
  • 加速比 = 使用流水线/不使用流水线

八,存储器

  1. 按位置
    1. 内存,主存(DRAM)
    2. 外存
  2. 按材料
    1. 磁存储器
    2. 半导体
  3. 按工作方式
    1. 读/写
    2. 只读
      1. 固定只读
      2. 可编程的只读
      3. 可擦除可编程的只读
      4. 电擦除可编程的只读
      5. 闪速
  4. 按访问方式
    1. 寻址
      1. 随机
      2. 顺序
      3. 直接
    2. 内容
      1. 相关存储器是按内容访问的存储器
  5. 补充
    1. 空间局部性:临近的会被访问
    2. 时间局部性:同一个访问多次

需要通过周期性刷新来保持数据的存储器件:DPAM(动态随机存储器)
虚拟存储器有主存-辅存两级存储器构成
FLASH是闪存

image.png

九,cache

对程序员透明,程序员看不到,位于CPU与主存之间

  1. 组成
    1. 存储
      1. 主存的部分拷贝信息
    2. 控制
      1. 判断CPU访问的信息是否在cache
  2. 替换算法
    1. 提高命中率
    2. cache容量越大,命中率越高
    3. 增加容易意味着增加cache成本和命中时间
  3. 地址映射

cache与主存地址的映射由硬件自动完成

  1. 直接映像
  2. 组相连映像
  3. 全相连映像(实现主存任意一块装入cache中任意位置,只有装满才需要替换)
  4. a->c冲突越小
  5. 作用
    1. 提高CPU访问主存数据和指令的效率

十,中断

  • 中断向量:提供中断服务程序的入口地址
  • 中断向量表:所有中断服务的入口地址
  • 中断响应时间:从发出中断请求到进入中断服务程序
  • 保存现场的目的是继续执行原程序
  • 实现中断嵌套使用堆栈来保护断点和现场最有效


十一,输入输出(IO)控制方式

总结:

  • 程序查询+中断驱动都是由CPU放入内存,直接存储器是由外设
  • 程序查询:串行,中断驱动+直接存储器:并行
  • 直接存储器仅在开始和结束需要CPU数据传输不需要CPU
  • 直接存储器,主存与外设建立了直接的数据通路
  • CPU是在一个总线周期结束时响应DMA请求,每传送一个数据需要占用一个存储周期

1,程序查询方式


2,中断驱动方式


3,直接存储器(DMA方式)



十二,总线(考的偏,分值低)

微机中总线:数据总线,地址总线,控制总线
使用总线,可以减少总线中信号线的数量


image.png

十三,加密与认证

公钥加密认证
私钥解密签名

1,加密技术(只能防止第三方窃听)

混合加密就是把对称和非对称加密一起混合使用,适合在传输大量信息的时候,先用对称加密在用另一个的公钥加密,这样就只有另一个自己能够解密这个信息

2,摘要(防篡改)


3,数字签名(验证真实性)(认证)

  • 数字签名是用私钥签名,公钥验证,一般是对信息摘要进行签名
  • 数字签名是非对称加密算法的一种方法来保证信息不会被篡改
  • 解决假冒和否认,发送方用私钥加密,接收方用发送方的公钥解密,此过程私钥只有发送方有,所以无法否认及假冒发送



4,数字证书


十四,加密算法

非对称:SACC

十五,可靠性公式

1,串联系统

de36e4d757f666b3012c553d198e6a6a.png

2,并联公式

eec60c442ff25418807ee81dba044c4e.png
aeff1319f3a3981b7a32da99ce5969ca.png
R * (1 - (1 - R)2)*(1 - (1 - R)2)

十六,资料参考

学习视频:https://www.bilibili.com/video/BV1ym4y1D7RW/?spm_id_from=333.999.0.0
部分内容,图片参考博客 :
https://blog.csdn.net/apple_53947466/article/details/125557473
https://blog.csdn.net/qq_41701723/article/details/128027513

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

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

相关文章

【Unity模型】古代亚洲建筑

在Unity Asset Store上,一款名为"Ancient Asian Buildings Pack"(古代亚洲建筑包)的3D模型资源包,为广大开发者和设计师提供了一个将古代亚洲建筑风格融入Unity项目的机会。本文将详细介绍这款资源包的特点、使用方式以…

如何选择合适的自动化测试工具!

选择合适的自动化测试工具是一个涉及多方面因素的决策过程。以下是一些关键步骤和考虑因素,帮助您做出明智的选择: 一、明确测试需求和目标 测试范围:确定需要自动化的测试类型(如单元测试、集成测试、UI测试等)和测试…

AI视频实战教程:DiffIR2VR-Zero-模糊视频8K高清修复技术

〔探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活〕 本文作者:AIGCmagic社区 猫先生 一、简 介 DiffIR2VR-Zero:一种创新的零样本视频恢复技术,该技术利用预训练的图像恢复模型,解决…

C++高性能通信:图形简述高性能中间件Iceoryx

文章目录 1. 概述2. 支持一个发布者多个订阅者2.2 Iceoryx为何不支持多个发布者发布到同一个主题 3. Iceoryx的架构和数据传输示意图3.1 发布者与订阅者的通信机制3.2 零拷贝共享内存通信机制 4. 使用事件驱动机制4.1 WaitSet机制4.2 Listener机制 5. 已知限制6. 参考 1. 概述 …

sci-hub下载不了的文献去哪里获取全文

我们在查找外文文献时经常会用到sci-hub,但sci-hub也有没有收录的文献,遇到这种情况我们可以用另一个途径来获取该文献。 例如这篇Wiley数据库中的文献:Unveiling Gating Behavior in Piezoionic Effect: toward Neuromimetic Tactile Sensin…

Linux服务管理(四)Apache服务

Apache服务 1、基于IP的虚拟主机2、基于IP端口的虚拟主机3、基于域名的虚拟主机4、prefork模式5、worker模式6、event模式7、细说驱动工作模式和MPM(多处理模块)工作模式 新旧域名都保留,因为旧域名已有一定的知名度和流量,直接下…

Cocos Creator2D游戏开发(8)-飞机大战(6)-炸机

碰撞 飞机与飞机碰撞 子弹与飞机碰撞 ① 设置碰撞矩阵 设置碰撞矩阵,就是设置谁跟谁碰撞(添加Enemy,PlayerBullet,Player) ②设置刚体和碰撞体 两个预制体设置(Enemy和PlayerBullet) 注意点: 1. 都在预制体节点上,不在图片上; 2.碰撞体Collider2D中的Editing悬着好之后可以调整…

C#-读取测序数据的ABI文件并绘制svg格式峰图-施工中

本地环境:win10,visual studio 2022 community 目录 前言问题描述解决思路实现效果 前言 本文是在已有的代码基础上进行的开发,前期已经实现: ABI文件的解析峰图的简单绘制svg绘图 对于1,主要用到之前重写的struct包…

大模型面经之bert和gpt区别

BERT和GPT是自然语言处理(NLP)领域中的两种重要预训练语言模型,它们在多个方面存在显著的区别。以下是对BERT和GPT区别的详细分析。 一、模型基础与架构 BERT: 全称:Bidirectional Encoder Representations from Trans…

系统移植(九)Linux内核移植(未整理)

文章目录 一、概念二、在linux内核源码的arch/arm/configs目录下生成FSMP1A板子对应的默认配置文件三、将自己编写的驱动通过图形化界面的方式编译到内核的镜像文件uImage中(一)拷贝myled.c和myled.h文件到linux内核源码的drivers/char目录下&#xff08…

第15周 15.1 Zookeeper简介安装及基础使用

1. Zookeeper介绍 1.1 介绍 1.2 应用场景简介 1.3 zookeeper工作原理 1.4 zookeeper特点

Canva收购Leonardo.ai,增强生成式AI技术能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

MyBatis-Plus自动生成代码

目录 前言一. 什么是 MyBatis-Plus1. Mybatis-Plus 的特点2. Mybatis-Plus 结构二. MyBatis-Plus 自动生成步骤1. 数据库准备2. 环境准备(1) 创建一个空的 Spring Boot 工程(2) 导入pom依赖(3) 编辑application.yml文件(4) 在启动类加入 @MapperScan 注解3. 配置代码4. 运行三.…

Hutool SoapClient 调用使用@webservice 发布的webService接口,参数传递为空

一.发布webService接口 (1)接口声明 import javax.jws.WebService;WebService public interface Calculator {String add(String a, String b);int multi(int a, int b);}(2)实现方法 import com.maxnerva.cloud.webservice.ser…

初始mybatis

一、J D B C 编程和 ORM 模 型 1.JDBC回顾 加载驱动 :导入JDBC 连接数据库的 jar包,利用CLASS.forName 加载驱动; 获取连接 : 利用 DriverManager 获取 Connection,然后创建 Statement ; 执行SQL语句 &…

算法刷题day20|回溯:39. 组合总和、40. 组合总和 II、131. 分割回文串

39. 组合总和 回溯 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex) {if (sum > target) {return;}if (sum target) {result.push…

valideer,一个超强的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超强的 Python 库 - valideer。 Github地址&#xff1a;https://github.com/podio/valideer 在开发应用程序时&#xff0c;数据验证是一个至关重要的环节。它确保了输入数…

【SpringBoot】5 Swagger

官网 https://swagger.io/ 介绍 Swagger 是一套基于 OpenAPI 规范构建的开源工具&#xff0c;可以帮助开发者实现设计、构建、记录、使用 Rest API。 Swagger 是一款根据 Restful 风格生成的接口开发文档&#xff0c;并且支持做测试的一款中间软件。 Swagger主要包括三部分&…

jfif怎么改成jpg?分享给大家三个小技巧!

在数字时代&#xff0c;图片是我们日常生活和工作中不可或缺的一部分。然而&#xff0c;在处理图片时&#xff0c;我们可能会遇到各种格式的问题&#xff0c;比如JFIF格式的图片在某些平台上无法直接打开或编辑。别担心&#xff0c;今天我就给大家分享三个简单实用的小技巧&…

spring自动装配读取引用jar包下的META-INF文件里的类,将其加载进spring启动容器.

总结: 0.ComponentScan默认只扫描同包、子包下的所有类, 因此扫描不到引的其他jar包依赖里的类 1.引的其他jar包依赖里的类想要被spring加载进容器, 在spring2.7之前,要把类的全类名写在自己项目包下的resources/META-INF/spring.factories下的文件中, 从spring boot2.7开…