计算机系统基础知识

news2024/12/23 6:45:38

计算机的基本组成

计算机组成逻辑图

在这里插入图片描述

计算机部件作用

一级部件作用
  • 运算器:计算机的执行部件,受控制器控制,执行算术运算或逻辑运算
  • 控制器:决定计算机运行过程的自动化。不仅能保证程序指令的正确执行,还能处理异常事件。
  • 存储器:记忆设备,分为内存和外存
  • 输入设备、输出设备:称为外设
二级部件作用
  • 算术逻辑单元(ALU):执行算术运算或逻辑运算,包含加减乘除、与或非

  • 累加寄存器(AC):当算术逻辑单元执行算术或逻辑运算时,为ALU提供工作区。提供运算数据或暂存运算结果。

  • 状态条件寄存器(PSW):保存算术指令和逻辑指令运算或测试的各种结果状态码。如:运算结果进位标志、运算结果为0标志等

  • 数据缓冲寄存器(DR):数据、指令在cpu、内存和外设之间的中转站、缓冲区。对内存执行读写操作时,保存一条指令或一个数据字

  • 指令寄存器(IR):cpu执行指令时,从内存中取出放在缓冲寄存器中,然后放入指令寄存器暂存,指令译码器根据其中的内容生成指令,控制其他部件工作。不可被访问到

  • 指令译码器(ID):指令由操作码和地址码组成。指令译码器对操作码进行分析,生成对应指令,控制其它部件工作

  • 地址寄存器(AR):执行指令时,因内存和cpu执行速度差异,需保存地址信息,直到指令完成

  • 程序计数器(PC):具有寄存信息和计数两个功能。执行方式分为顺序执行和转移执行。程序执行时,将指令的地址保存在PC中,直到加载到内存时,才能确定,因此pc的内容是第一条指令的地址,执行过程中,cpu修改pc的内容以保证pc内保存的是执行的指令的地址,此为顺序执行。转移执行,是cpu直接将转移指令给出的转移地址修改进去,或者根据位移量进行修改
    在这里插入图片描述

CPU

CPU组成

在这里插入图片描述

CPU作用
  • 程序控制
  • 时间控制
  • 操作控制:CPU产生每条指令的操作信号并将操作信号传给相应的操作部件,控制相应部件根据指令的要求进行操作。
  • 数据处理

计算机的基本单位与进制

计算机的基本单位(空间大小由小到大)

  • 位 b bit
  • 字节 B Byte 1B = 8b
  • 千字节 KB 1KB = 1024B
  • 兆字节 MB 1MB = 1024KB
  • 吉字节 GB 1GB = 1024MB
  • 太字节 TB 1TB = 1024GB
    最小的数据单位:b
    最小的存储单位:B

进制与进制转换

进制表示
  • 二进制(B)数值由0和1组成,逢二进一
  • 八进制(O)数值由0到7组成,逢八进一
  • 十进制(D)平常使用的表示方式。数值由0到9组成,逢十进一
  • 十六进制(H)数值由0~9和A/B/C/D/E/F表示,字母分别表示10/11/12/13/14/15,逢十六进一
进制转化
十进制转R进制

除R取余法
D数做被除数,R做除数。一直除,直到商为0,将余数由下向上取出排列
十进制转二进制
十进制转八进制
十进制转十六进制

R进制转十进制

按权展开求和法
R进制数从左到右,每位数乘R的index-1
二进制转十进制
八进制转十进制十六进制转十进制

二进制转八进制

三位二进制数可表示一位八进制数,因2的3次方为8,八进制的表示是由0~7组成的
二进制转八进制

八进制转二进制

八进制转二进制

二进制转十六进制

四位二进制数可表示一位十六进制数,因2的4次方为16,十六进制最大为15
二进制转十六进制

十六进制转二进制

十六进制转二进制

其他进制与二进制的计算

当其他进制数与二进制不好对应时,可将2的次方值写在一旁,用加法计算。
在这里插入图片描述

原码反码补码移码

各种数值在计算机中的表示形式称为机器数,采用二进制计数制,符号使用0和1表示,0代表正数,1代表负数。
机器数有无符号数和有符号数之分,无符号数即为正数,有符号数为负数。机器数的最高位代表正负

原码

原码表示法中,最高位为符号位,符号位后的值称为数值的绝对值。
0在原码中有两种形式:+0 = 0000 0000 ,-0 = 1000 0000

反码

无符号数的反码:与原码相同,无改变
有符号数的反码:符号位不变,绝对值按位求反

补码

无符号数的反码:与原码相同,无改变
有符号数的反码:反码末位加1。
补码特性: 补码再取补码= 原码

在补码表示中,0有唯一的表示形式:+0补 = 0000 0000 ,-0补 = 0000 0000
在这里插入图片描述

移码

无论有符号数还是无符号数,将补码的符号位取反

在这里插入图片描述

浮点数

产生的原因

当机器字长为n时,定点数的补码和移码可表示2n个数,原码和反码只能表示2n-1个数。表示范围较小,所以产生了浮点数。浮点数是小数点位置不固定的数,可表示更大范围

性质

在十进制的世界,2782.3527 = 0.27823527104
同样的,在二进制的世界,11001010.01 = 1100.101001
24
浮点数定义:二进制数N,也可表示为N=2E*F,其中E称为阶码,F称为尾数。由阶码和尾数表示的数为浮点数。这种表示数的方法称为浮点表示法。

  1. 浮点表示法表示的数,阶码为带符号的整数,尾数为带符号的纯小数(纯小数指整数位为0的小数)

  2. 表示格式如下:阶符 | 阶码 | 数符 | 数码

  3. 浮点数的表示范围大小由阶码决定,表示的数值精度由尾数决定

  4. 如果浮点数的阶码(包含一位阶符)用R位的移码表示,尾数(包含一位数符)用M位的补码表示,则这种浮点数所能表示的数值范围为:
    最大的正数:在这里插入图片描述

    最小的负数:在这里插入图片描述

规格化浮点数

规格化就是将浮点数的尾数绝对值限定在【0.5,1】之间

寻址

重要寻址方式按计算速度排列(CPU内部通用寄存器的访问速度比内存中要快)

  1. 立即寻址,操作数就在指令中
  2. 寄存器寻址,操作数保存在寄存器中,指令中给出操作数所在的寄存器名
  3. 直接寻址,从内存中获取操作数的内存地址,指令中为操作数的地址
  4. 寄存器间接寻址,操作数保存在某个内存单元中,内存地址保存在某寄存器中
  5. 间接寻址,指令中给出操作数地址的地址。
  6. 相对寻址
  7. 变址寻址

工业标准IEEEE754浮点数格式中解码用移码、尾数用原码表示

校验码

作用

检测数据传输过程中是否发生了错误

特性

  1. 码距位为2,可检错
  2. 码距大于等于3,可检错,有可能可以纠错

奇偶校验码

通过在编码中增加一位来使1的个数为奇数(奇校验)或者偶数(偶校验)
14. 码距为2,可检错
15. 分为奇校验和偶校验
16. 对于奇校验,只能检测出奇数个数据位出错的情况
17. 常用的奇偶校验码有三种:水平奇偶校验码、垂直奇偶校验码、水平垂直校验码

海明码

在数据位之间特定位置插入k个校验码,通过扩大码距来实现检错和纠错
18. 码距至少为3,可检错,有可能可纠错
19. n表示数据位个数,k表示校验位个数。海明码的格式要保证:2k-1 >= n+k

循环冗余校验码

利用生成多项式为k个数据位产生r个校验位进行编码,编码长度为k+r
20. 码距为2,可检错
21. 代码格式为k个数据位后排列r个校验位
22. 在求循环冗余校验码编码时,采用的是模2运算

RISC与CISC

在这里插入图片描述

流水线

即指令的流水处理。假设指令处理经过三步取指令、计算、输出结果,三步分别记为F/C/O,花费时间分别为0.2s、0.4s、0.1s。
有时间T1、T2、T3、T4、T5…Tn
T1:F1(取出第一条指令)
T2:F2(取出第二条指令)、C1(计算第一条指令)
T3:F3、C2、O1(输出第一条指令的结果)
T4:F4、C3、O2

常用概念

  1. 流水线执行n条指令时间计算公式:第一条指令的执行时间+(n-1)*指令执行过程中时间最长的时间段
  2. 吞吐率:最长时间段的倒数。若是n条指令的吞吐率,则为n/执行时间
  3. 加速比 = 采用流水线执行的时间/顺序执行的时间
  4. 操作周期:最长时间段

性质

  1. 要使加速比与效率最大化,应对流水线各级采用相同的时间
  2. 流水线采用异步处理不会提高性能

存储器

存储系统层次结构
cache:SRAM
主存:DRAM,周期性刷新,保证数据

存储器的分类

  1. 按所处位置分类:
  • 内存:速度快、容量小
  • 外存:速度慢、容量大
  1. 按构成材料分类:
  • 磁存储器
  • 半导体存储器:静态存储器(SRAM)、动态存储器(DRAM)
  • 光存储器
  1. 按工作方式分类:
  • 读/写存储器RAM
  • 只读存储器ROM
  • 固定只读存储器
  • 可编程的只读存储器PROM
  • 可擦除可编程的只读存储器EPROM
  • 电擦出可编程的只读存储器EEPROM
  • 闪速存储器flash 是按存储,按删除。U盘。在断电后,不会丢失数据。可代替ROM,不可代替主存
  1. 按访问方式分类:
  • 按地址访问
  • 按内容访问
  1. 按寻址方式分类:
  • 随机存储器RAM
  • 顺序存储器SAM
  • 直接存储器DAM

知识点

  • 相联存储器:是一种按内容访问的存储器
  • 虚拟存储器:由主存和辅存组成
  • 空间局部性:CPU在访问了x02之后,可能会访问x01或x03,空间上的
  • 时间局部性:CPU在访问了x02之后,在短时间内,可能会再次访问x02

高速缓存

现世原因

作为CPU与内存的中转。由于CPU速度超快,内存速度只是快,在存取数据时就会出现CPU能源耗损,所以出现了速度比内存快5~10倍的cache。但cache对于程序员来说是透明的(此处说的透明是说根本看不到)

CPU/cache/内存

cache用来存放当前最活跃的程序和数据。如果cache中没有保存,就将从内存中取出的数据,备份一份到cache中;如果cache中已有了,就直接取cache中的数据。

替换算法

当cache无足够的存储空间存放新的活跃的程序或数据时,就需要使用替换算法替换掉已有的数据。其目标就是使cache可获得尽可能高的命中率。
cache的容量大小决定的命中率的高低,
容量越高,命中率越大,此处要注意不是一直都是线性提高;
但是容量高、命中率大,命中时间就长,成正比。
cache容量与命中率的关系

常见替换算法:

  1. 随机替换算法
  2. 先进先出算法
  3. 近期最少使用算法
  4. 优化替换算法

地址映像方法

说到了替换算法,就要说下cache怎样保存内存中的数据。
CPU工作时,送出的是主存单元的地址,而应从cache存储器中读写信息,这时就需要将内存地址转成cache存储器地址,这种地址的转换称为地址映像。

  1. 直接映像:主存的块与cache的块对应关系是固定的(冲突大
    内存先分“区”,区内含“块”
    cache分“块”
    内存的n区中的第0块,一定会放在cache的第0块
    直接映像

  2. 全相联映像:内存与cache存储器均分成相同大小的块,允许内存的任一块可以调入cache的任一块中(冲突小

  3. 组相联映像:(冲突较小
    cache 先分“组”,再分“块”
    内存先分“区”,后分“组”,再分“块”
    内存的n区中的第0 组一定会对应到cache的第0组,内存组中的块对于cache中的块又是“全相联映像”,既可对应的第0块,也能对应到第1块
    组相联映像
    cache与主存地址的映射是由硬件自动完成

中断

计算机执行程序过程中,遇到急需处理的事件时,暂停当前正在执行的程序,转去执行有关服务程序,处理完后自动返回源程序,这个过程称为中断

知识点

  1. 中断向量:每一个中断向量对应一个中断服务程序入口地址,当中断程序较多时,为提高中断响应的反应速度,将中断向量汇集成中断向量表
  2. 中断响应时间:从发出中断响应到进入中断服务程序
  3. 保存现场:即日程生活中被打断时的ctrl+s。目的是可正确返回被中断的程序继续执行
  4. 为便于实现多级中断嵌套,用堆栈保护断点和现场最有效(先入后出)
  5. I/O设备发出的中断请求是可屏蔽中断,电源掉电是不可屏蔽中断
  6. 异常是指令执行过程中处理器内部出现的特殊事件,比如“除运算除数为0”;中断是来自处理器外部的请求,比如“DMA传送结束”

输入输出(I/O)控制方式

程序查询方式

  • CPU和I/O设备串行工作,这就导致CPU的利用率低
  • 需要由CPU将数据保存在内存中
  • 一次只能读/写一个字
    程序查询方式

中断驱动方式

  • CPU和I/O设备可并行工作
  • 需要CPU将数据保存在内存中
  • I/O设备通过中断主动向CPU报告执行完成
    中断驱动方式

直接存储方式DMA

  • CPU和I/O设备并行工作
  • 数据传输工作过程中无需CPU参与
  • 由外设直接将数据保存在内存
  • 一次读写的单位为块,不是字
    DMA

只限了解的知识点

  • DMA操作占用的资源是系统总线,CPU是在一个总线周期结束响应DMA请求的
  • 采用DMA传送数据时,每传送一个数据都需要占用一个存储周期

总线(题偏、杂,分低)

计算机系统中,采用总线结构,便于实现系统的积木化构造,也可减少信息传输线的数量。

分类

  • 数据总线
  • 地址总线
  • 控制总线

常见总线

  • ISA总线
  • EISA总线
  • PCI总线:并行传输的内总线
  • PCI Express总线
  • 前端总线
  • RS-232C
  • SCSI总线:并行传输外总线
  • SATA
  • USB
  • IEEE-1394
  • IEEE-488总线

机密技术与认证技术

常见的计算机网络安全威胁有窃听、篡改、假冒、否认

加密技术

窃听对应的解决技术就是加密技术。加密可阻止对手的被动攻击

常见的加密技术

对称加密(共享密钥加密)

人员A与人员B在数据传输过程中,A用对称加密密钥加密要传输的内容,B需要得到同一个密钥解密传输内容。
只存在一个密钥
缺点:密钥分发有问题。在密文传输给B之后,密钥传输给B的方式需要明文
优点:解密加密速度快;适合加密大量明文数据

非对称加密(公钥体系、公开密钥体系)

人员A与人员B各自有一把公钥、一把私钥,其中公钥人人都知。A给B传输数据时,先用B的公钥加密,B获取密文之后,用自己的私钥解密,反之亦然。
公钥与私钥之间无联系,不可通过推断得知对应的公钥或私钥
优点:密钥分发无问题
缺点:解密加密速度慢;不适合加密大量明文数据

认证技术

篡改对应的解决技术是摘要;假冒和否认对应的解决技术是数字签名。认证可以阻止对手的主动攻击

常见的认证技术

摘要

人员A在给B发送信息时,在密文中携带着使用哈希算法明文 AH 生成的摘要,
B在接收到后,解密密文生成明文,再次使用哈希算法对明文 BH 进行处理。两次的摘要进行对比,若对比相同,咋未被篡改;否则被篡改了。

数字签名

A在密文中增加对摘要用自己的私钥进行加密的密文,
B获取后先对整个密文解密,再次使用A的公钥对摘要密文进行解密(此处就可以确定是不是A发送的消息),再对内容密文进行解密。
对内容明文进行哈希算法处理后,对比。就可以确定内容是否被篡改。
用发送方的私钥进行签名(加密),用发送方的公钥解密

数字证书

目的是防止别有用心之人C在人员A和人员B公钥信息传输过程中,将A给B的自己的公钥替换成C的公钥,这样即使使用了摘要和数字签名技术,也无法避免“假冒”的情况,所以引入了第三方机构的参与–数字证书。
该技术只针对非对称加密,CA机构有自己的私钥和公钥。人员A向CA机构申请数字证书,将人员A的基本信息、A的公钥发送给CA机构,CA机构使用自己的私钥进行加密(签名)。人员B在得到密文之后,从CA机构那里获取A的数字证书,使用CA机构的公钥解密获取A的公钥,以此来解密A的密文。这样即使C篡改了A发给B的A的公钥,也没关系,B根本不会使用A发过来的公钥。

加密算法

常见对称加密算法

  • DES
  • 3DES
  • IDEA
  • RC-5
  • AES:分组加密算法
  • RC4

常见非对称加密算法

  • RSA
  • ECC
  • DSA

MD5

  • 是一种摘要算法
  • 对任意长度的输入计算得到的结果长度为128位

可靠性技术

R1、R2、R3…表示部件的可靠性
串联系统可靠性计算公式:R= R1R2R3*…Rn
**并联系统(冗余系统)**可靠性计算公式:R= 1-(1-R1)(1-R2)(1-R3)…(1-Rn)

逻辑与、或、同或、异或

true为1,false为0

逻辑与&

0&0 = 0
1&0 = 0
0&1 = 0
1&1 = 1

逻辑或 ||

0 || 0 = 0
1 || 0 = 1
0 || 1 = 1
1 || 1 = 1

逻辑同或

相同为 1 ,不同为 0

逻辑异或

相同为 0 ,不同为 1

杂知识点

  • 主动攻击:重放、IP地址欺骗、拒绝服务、系统干涉、修改数据命令
  • 被动攻击:流量分析、会话拦截
  • 算数左移相当于给操作数执行乘2操作

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

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

相关文章

12款适合小团队协作、任务管理和进度跟踪的在线任务管理的工具推荐?

国内外12款主流任务管理软件测评: 1.开发任务管理PingCode; 2.多合一项目任务管理Worktile;3.个人和小团队项目任务管理Notion; 4.企业任务管理平台SmartTask; 5.小团队任务管理Teambition;6.IT任务追踪管理Jira等。无论是做好工作任务管理还是个人任务管理,从来都不…

web网页如何实现响应式导航栏--移动端导航栏

背景: 一提到响应式导航栏,大家第一反应可能就是bootstrap响应式导航栏,这个响应式的一般是针对屏幕变小时,视口出现导航栏,可是,展示到移动端的时候,并没有变化??&#…

LabVIEW利用矢量量化直方图开发人脸识别

LabVIEW利用矢量量化直方图开发人脸识别通常,人脸识别系统会检查场景的静止图像或视频图像,然后使用存储的人脸数据库识别或验证场景中的一个或多个人。我程序专注于静止图像人脸识别,使用来自众所周知的人脸数据库的人脸图像,用于…

Prometheus之pushgateway

Pushgateway简介 Pushgateway是Prometheus监控系统中的一个重要组件,它采用被动push的方式获取数据,由应用主动将数据推送到pushgateway,然后Prometheus再从Pushgateway抓取数据。使用Pushgateway的主要原因是: Prometheus和targ…

Teradata 离场,企业数据分析平台如何应对变革?

近日大数据分析和数仓软件巨头 Teradata(TD)宣布基于中国商业环境的评估,退出在中国的直接运营。TD 是全球最大的专注于大数据分析、数仓和整合营销管理解决方案的供应商之一,其早在 1997 年就进入中国,巅峰期占据半数…

基于卷积神经网络图像风格迁移系统的设计与实现(flask系统)

1.摘要 Leon Gatys 等人研发的深度神经网络使用神经的表达来分离任意图片的内容和风格,为生成艺术图片提供一个神经算法。本文基于Style Transfer算法,使用风格成本函数训练CNN,用卷积神经网络提取图像特征,依次提取内容图像的内…

数据库面试——锁的12连问,赶紧收藏!

目录 1. 为什么需要加锁 2. InnoDB有哪些锁? 2.1 共享/排他锁 2.2 意向锁 2.3 记录锁(Record Lock) 2.4 间隙锁(Gap Lock) 2.5 临键锁(Next-Key Lock) 2.6 插入意向锁 2.7 自增锁 3. 什么是死锁?如…

从红队视角看AWD攻击

AWD的权限维持 攻防兼备AWD模式是一种综合考核参赛团队攻击、防御技术能力、即时策略的比赛模式。在攻防模式中,参赛队伍分别防守同样配置的虚拟靶机,并在有限的博弈时间内,找到其他战队的薄弱环节进行攻击,同时要对自己的靶机环…

20230220华南金牌主板u盘启动

20230220华南金牌主板u盘启动 2023/2/20 10:29 百度搜索:华南金牌主板u盘启动 https://www.zhihu.com/question/498121895?utm_id0 华南金牌主板b85u盘启动怎么设置? 华南金牌主板b85u盘启动怎么设置 海的那边 上小学后才发现还是幼儿园好混…… 华南一般是F7和F1…

ADRC自抗扰控制总结

目录 前言 1.ADRC形式 1.1形一 1.2形二 2.被控对象 3.仿真分析 3.1仿真模型 3.2仿真结果 4.学习问题 前言 前面的3篇文章依次介绍了微分跟踪器TD、状态观测器ESO和非线性状态误差反馈NLSEF三部分内容,至此ADRC的结构已经介绍完毕,现在对分块学习…

【数据结构与算法】2.八大经典排序

文章目录简介1.分析排序算法2.插入排序2.1.直接插入排序2.2.希尔排序3.选择排序3.1.直接选择排序3.2.堆排序3.2.1.堆的数据结构3.2.2.算法实现4.交换排序4.1.冒泡排序4.2.快速排序5.归并排序6.基数排序7.八大排序算法总结简介 排序对于任何一个程序员来说,可能都不会…

从技术上来看,互联网技术开始衍生和蜕变出更多的新技术

很多人在看待产业互联网的问题上,一味地割裂它与互联网之间的联系,甚至还有人将产业互联网看成是对于传统互联网的颠覆。如果仅仅只是以这样的眼光来看待产业互联网,那么,他们势必是无法完整把握产业互联网的本质内涵和原始奥义的…

2023什么是分销商城?怎么搭建分销商城

当实体机构都接连探索线上营销模式的时候,分销也随着社交电商的兴起应运而生。 大家好,我是你们熟悉而又陌生的好朋友梦龙,一个创业期的年轻人 它借助裂变效率高的属性,建立更多用户触点,更好的提升企业运营的势能&am…

ros-sensor_msgs/PointCloud2消息内容解释

1.字段解释 header-----头文件,包含消息的序列号,时间戳(系统时间)和坐标系id,其中secs为秒,nsecs为去除秒数后剩余的纳秒数 height-----点云的高度,如果是无序点云,则为1,例子中的点云为有序点…

8 狗监控的封装

概述 为了保证嵌入式程序能够长时间稳定地运行,需要加入狗监控机制。狗监控的原理为:应用程序需要每隔一段时间来喂狗或保活,如果应用程序崩溃或者内核崩溃,导致长时间无法喂狗,则狗将超时,会自动重启系统。部分IPC芯片提供了硬件狗,对于没有硬件狗的,需要自行实现软件…

在代码质量和工作效率的矛盾间如何取舍?

这个问题的答案是,在很短的一段时期,编写高质量代码似乎会拖慢我们的进度。与按照头脑中首先闪现的念头编写代码相比,高质量的代码需要更多的思考和努力。但如果我们编写的不仅仅是运行一次就抛之脑后的小程序,而是更有实质性的软…

移动web(二)

her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人! 博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正。 目录 一、移动端特点 1.1 移动端和…

mysql调优参数

my.conf [client] port 端口 socket sokcet位置 [mysqld] basedir mysql位置 port 3306 socket sokcet位置 datadir data目录 pid_file mysqld.pid位置 bind_address 0.0.0.0 lower_case…

【Spark分布式内存计算框架——Spark SQL】14. 分布式SQL引擎

第八章 分布式SQL引擎 回顾一下,如何使用Hive进行数据分析的,提供哪些方式交互分析??? 方式一:交互式命令行(CLI) bin/hive,编写SQL语句及DDL语句 方式二&#xff1a…

JdbcTemplate常用方法解析

文章目录1.JdbcTemplate简介2.JdbcTemplate主要方法:3.常用方法介绍update()方法增删改query()查询方法1.JdbcTemplate简介 JdbcTemplate是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。 Spring对数据库的操作在jdbc上面做…