上午题01-计算机系统
0 前言
我的学习来自b站up主:zst_2001 ,讲的特别好👍
1 运算器和控制器
1.1 运算器知识
1.算术逻辑单元(ALU):运算器重要组成部件,负责处理数据,实现对数据的算数运算和逻辑运算。逻辑运算:
异或:不同为1,相同为0。反之同或。
2.累加寄存器(AC):简称累加器,为ALU提供数据并暂存运算结果。
3.数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传送的中转站。
4.状态条件寄存器(PSW):保存由算数指令和逻辑指令运行或测试的结果建立的各种条件码内容。
5.通用寄存器:cpu对其访问速度最快。
1.2 控制器知识
指令 = 操作码 + 地址码
例如:1 + 2 中 1 和 2 为地址码; + 为操作码。
VLIW(Very Long Instruction Word)是超长指令字的缩写。
CPU根据指令周期的不同阶段来区分在内存中以二进制编码形式存放的指令和数据。
1.指令寄存器(IR):保存当前CPU执行的指令。指令译码器(DR)根据指令寄存器(IR)的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
对用户完全透明,访问不到。位数取决于指令字长。
2.程序计数器(PC):初始时保存的内容是程序第一条指令的地址,执行指令时,CPU自动修改PC的内容对PC加1,使其保持的总是将要执行的下一条指令的地址。程序员可以访问。
3.地址寄存器(AR):保存当前CPU所访问的内存单元的地址。
4.指令译码器(ID):对指令中的操作码字段进行分析解释,识别该指令规定的操作,向控制器发出信号,控制各部件工作,完成所需的功能。
2 计算机基本单位
计算机单位
位 bit b
字节 byte B 1B = 8bit
千字节 KB 1KB = 1024B
兆字节 MB 1MB = 1024KB
吉字节 GB 1GB = 1024MB
太字节 TB 1TB = 1024GB
内存按字节编址计算题做题思路:大 减 小 再加 1
十六进制 转 十进制 再根据题意转换单位进行计算
3 原码、反码和补码
3.1 知识点
数值在计算机中的表示为机器数,特点是采用二进制来表示。
对于n位的机器数其表示编码有原码、反码、补码、移码等表示。
以下均假设n=8
原码:最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
反码:最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。其中正数的反码与原码相同,负数的反码则是除符号位以外其余各位按位取反。
补码:最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。其中正数的补码与原码和反码相同,负数的补码则是在其反码的基础上再加1。 补码的正负0编码相同,同时对补码再求一次补码等于其原码。
移码:正数和负数的移码实在其补码的基础上对符号位取反。 移码的正负0编码相同。
3.2 原、反、补、移码表示范围
假设机器数n=8
码制 | 定点整数 |
---|---|
原码 | -127~+127 |
反码 | -127~+127 |
补码 | -128~+127 |
移码 | -128~+127 |
4 浮点数
浮点数表示形式:
F
∗
2
E
F*{2}^{E}
F∗2E
阶码
E
E
E 尾数
F
F
F
阶码不一致先对阶,小阶向大阶对齐,尾数右移
浮点数所能表示的数值范围由阶码决定,所表示数值的精度由尾数决定。
当机器字长为n时,补码和移码可表示
2
n
{2}^{n}
2n个数(0的表示有相同的编码)
原码和反码只能表示
2
n
{2}^{n}
2n-1 个数(0的表示占了两个编码)
如果浮点数的阶码(包括1位阶符)用
R
R
R位的移码表示,尾数(包括1位数符)用
M
M
M位的补码表示,则这种浮点数所能表示的数值范围如下:
最大的正数:
+
(
1
−
2
−
M
+
1
)
∗
2
(
2
R
−
1
−
1
)
+(1-{2}^{-M+1})* {2}^{({2}^{R-1}- 1)}
+(1−2−M+1)∗2(2R−1−1) 最小的负数:
−
1
∗
2
(
2
R
−
1
−
1
)
-1* {2}^{({2}^{R-1}- 1)}
−1∗2(2R−1−1)
规格化:将尾数绝对值限定在[0.5,1]
5 寻址
指令=操作码+地址码
立即寻址:操作数就包含在指令中。
直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。
寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
间接寻址:指令中给出操作数地址的地址。
6 校验码
码距:一个编码方案中任意两个合法编码之间至少有多少个二进制位不同
码距=2有检错能力,码距≥3才可能有纠错能力
也就是一个校验码要想能够检错和纠错那么它的码距至少是3
奇偶校验:码距为2,仅能检测出奇数位错误,不能纠错。
奇校验:增加一位校验码,使得编码中1的个数为奇数
偶校验:增加一位校验码,使得编码中1的个数为偶数
海明码:
海明码利用多组数位的奇偶性来检错和纠错 可以检错和纠错 码距为3
设数据位是n位,校验位是k位,则n和k必须满足以下关系:
2
k
−
1
⩾
n
+
k
{2}^{k}-1\geqslant n+k
2k−1⩾n+k
循环冗余码:
k个数据位后跟r个校验位 可以检错但不能纠错 码距为2
采用模2运算得到校验码
7 RISC与CISC
RISC:Reduced Instruction Set Computing
CISC:Complex Instruction Set Computing
指令长度变化,指令复杂度高,所以复杂
微程(C)序控制技术
8 流水线
加速比 = 不采用流水线的执行时间 / 采用流水线的执行时间
流水线的操作周期为长操作时间
流水线的吞吐率是最长流水段操作时间的倒数。
顺序执行时间=一条指令执行的时间×总指令数
流水线执行时间=一条指令执行的时间+最长时间段×(n-1)
n为总指令数
连续输入n条指令的吞吐率=总指令数/总指令数执行的时间
9 存储器
按访问方式可分为按地址访问的存储器与按内容访问的存储器
按地址访问的存储器:随机存储器、顺序存储器和直接存储器
按内容访问的存储器:相联存储器(相容)
虚拟存储器由主存与辅助组成
DRAM(动态随机存储器)构成主存 DRAM需要周期性地刷新保持信息
SRAM(静态随机存储器)构成Cache
闪存可以理解为U盘,故掉电后信息不会丢失。闪存是以块为单位进行删除的。
闪存式EPROM的一种类型,可以代替ROM存储器。
闪存不能代替主存
10 Cache高速缓冲
直接映像:冲突多,关系固定
全相联映像:冲突少,关系不固定,因为主存中的一块可以映射到Cache中的任意一块,所以冲突少,与此同时关系会很混乱。
组相联影响:冲突较少,是直接映像与全相联映像的折中
重点:哪个Cache与主存的地址映射:由硬件自动完成。
11 中断
中断向量提供:中断服务程序的入口地址
中断响应时间:从发出中断请求到开始进入中断处理程序
保存现场:为了正确返回原程序继续执行
为了便于实现多级中断嵌套,使用堆栈来保护断点和现场最有效。
12 输入输出(IO)控制方式
由IO设备提出的中断请求是可屏蔽中断。
DMA方式下,主存和外设之间建立了直接的数据通路。
CPU是在一个总线周期结束时响应DMA请求的。
13 加密技术与认证技术
13.1 私钥和公钥
私钥用于解密和签名
公钥用于加密和验证(加 验 -> 家宴)
13.2 数字签名
用发送方的私钥签名,用发送方的公钥验证消息的真实性
发送方将不可否认这条消息
13.3 数字证书
用CA机构的私钥签名,用CA机构的公钥验证数字证书的真伪性。
数字证书可以确认网站的合法性,用户的身份等等。
13.4 加密算法
13.4.1 对称密钥(私钥加密)ds
共享密钥加密算法
DES
3DES
RC-5
IDEA
AES 分组加密算法
RC4
巧记:
首先是带有数字的:3DES RC-5 RC4
其次是带大写字母E的:DES IDEA AES
ps.也有非对称密钥是带E的!
13.4.2 非对称密钥(公钥加密)
RSA
ECC
DSA
X.509数字证书标准推荐使用的密码算法是RSA,而国密SM2数字证书采用的公钥密码算法是ECC。
真实性 -> 数字签名,用私钥签名,用公钥验证
真伪性 -> 用户通过机构的签名来验证,也就是用机构的公钥来验证
合法性 -> 数字证书
MD5 摘要算法 输出结果为128位 摘要算法可以防止发送的报文被篡改
SHA-1 安全散列算法
加密组织是被动攻击
认证组织是主动攻击
14 系统可靠度
15 杂记
15.1 安全需求
物理安全:机房安全、设备防雷击
网络安全:入侵检测、流量控制
系统安全:漏洞发现和补丁管理
应用安全:数据库安全
15.2 网络攻击
主动攻击:重放、IP地址欺骗、拒绝服务、信息纂改
被动攻击:流量分析攻击、会话拦截、嗅探、信息收集
15.3 总线
微机中的总线分为数据总线、地址总线和控制总线。(数地控)
在计算机系统中采用总线结构,以便实现系统的积木化构造,同时可以减少信息传输线的数量。
2024.3.8已完结😊后续会根据自己刷题更新小知识点。