指令
进行译码
并加以执行在CPU的寄存器中,
指令寄存器
对用户来说是完全透明
的
位(比特):bit
b
字节:btye
B
1 B = 8 bit
1KB = 1024B = 2^10B
1MB = 1024KB =2^20B
1GB = 1024MB =2^30B
1TB = 1024GB = 2^40B
最小的数据单位:b
最小的存储单位: byte
理解:主频是机器内部主时钟的频率,主频越高,完成指令的一个执行步骤所用的时间就越短,速度越快。比如跳绳,跳的越快(即频率越高),那么完成一次所用的时间就越短。
单位:Hz,常见的有1.8GHz,2.4GHz
理解:跟上面的主频对应,CPU时钟周期是一个时间单位,即一个周期的时长
计算:CPU时钟周期=1/主频
单位:s(秒)(ms,μs等)
理解:我们借助英文全称理解,全称为:Clock cycle Per Instructions,即一条指令所需要的时钟周期数。需要注意的是这个是需要的时钟周期数,不是时钟周期。
计算:CPI = 程序所需时钟周期数 / 程序所含指令数(把周期数平分为n份,n为指令数,即求得每条指令所需要时钟周期数,这里计算的是平均值,一般情况下均计算平均值)
单位:周期数/每条指令(根据算式得的,一般没要求,这里为了帮助理解)
理解:同样借助英文全称,Million Instructions Per Second,即每秒执行多少百万条指令。通俗即一秒之内可以跑多少百万条指令。
计算:MIPS = 指令条数 / (执行时间*10^6) (除以10^6为了求得有多少百万条指令)
推导:执行时间 = CPI * 指令条数 * 时钟周期 = CPI * 指令条数 * (1/主频)(这里需要理解透彻CPI到底是什么意思)代入上式可得:MIPS = 主频 / (10^6 * CPI)
二进制转八进制
从后往前按照每三位进行划分 10 001 110 分别对应八进制的 2 1 6 即每一段是 2^2 2^1 2^0
二进制转十六进制:10001110
从后往前按照每三位进行划分 1000 1110 分别对应十六进制的 8 E
小数变二进制
乘二取余数
例题
在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1
原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
范围:-(2(n-1)-1)~(2(n-1)-1)
反码
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
范围:-(2(n-1)-1)~(2(n-1)-1)
补码
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
范围:-2^(n-1) ~ 2^(n-1)
移码
其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。
例题
注意:对于负数来说,补码的补码是原码!
1.
补码
,移码
里正负零
是相同
的
两个浮点数阶码不一致,先对阶,小对大,尾数右移n位(n为阶码差的绝对值)
掌握前五个就可以
直接寻址最快,寄存器间接寻址其次,直接寻址最慢
只能检错,不能纠错
只能检查出奇数位出错的编码,不能检查出偶数位出错的编码
码距=2,有检错能力
码距>=3,既有检错能力,又有纠错能力
公式很重要
记住模2运算和码距是2,只能检查到错误
在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2*t+1
使用流水线前指令执行情况
取指 | 1 | 2 | 3 | ||||||
---|---|---|---|---|---|---|---|---|---|
分析 | 1 | 2 | 3 | ||||||
执行 | 1 | 2 | 3 |
使用流水线后指令执行情况
取指 | 1 | 2 | 3 | ||||||
---|---|---|---|---|---|---|---|---|---|
分析 | 1 | 2 | 3 | ||||||
执行 | 1 | 2 | 3 |
流水线周期为执行时间最长的一段
流水线计算公式为
1条指令执行时间+(指令条数-1)*流水线周期(最长时间段)
理论公式:(t¹+t²+t³+…+tⁿ)+(x-1)∆
实践公式:(n+x-1)*∆
其中n为一个工程需要几道工序,即把所有的工序时长都按照流水线周期看待,则整体完成时间就是第一个程序的三道工序加上剩下程序的最后一道工序。(剩下程序的第一二道工序已经在第一个程序执行时完成了)
例题
TP=指令条数 / 流水线执行时间
最大吞吐率 TPmax = 1 / ∆t ∆t为周期时间 意思就是忽略第一个程序建立的时间,看作一个周期执行一个程序,即为最大吞吐率
S = 不使用流水线执行之间 / 使用流水线执行时间
指流水线的设备利用率
E = n个任务占用的时空区 / k个流水段的总时空区
通俗来说就是在时空图上,任务执行的所占的大小与总区域大小的比值
ROM和RAM都是一种存储技术,只是两者原理不同,RAM为随机存储,掉电不会保存数据,而ROM可以在掉电的情况下,依然保存原有的数据。ROM和RAM指的都是半导体存储器。本来的含义是:ROM是Read Only Memory的意思,也就是说这种存储器只能读,不能写。而RAM是Random Access Memory的缩写。
闪存介于EPRM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除。以块为单位
,删除信息快,断电后信息不会丢失,代替ROM,不能代替主存
由主存和辅存组成
空间局部性:cpu访问一个地址单元后,之后可能会访问与这个地址单元相邻的地质单元。
时间局部性:cpu访问一个地址单元后,之后可能还会访问这个地址单元
Cache与主存地址的映射是由硬件自动完成的。
替换算法了解即可,性能分析可以记一下。
注意:图像不是
线性
的
中断向量可提供中断服务程序的入口地址
为了便于实现多级中断嵌套
使用堆栈
来保护断点和现场最有效 (堆栈:后进先出)
中断响应时间:从发出中断请求开始到中断处理结束
保存现场:返回去继续执行源程序
内存与接口地址的编址方法
独立编址
内存地址与接口地址完全时两个独立的两个地址空间,访问数据所用指令也不同,用于接口的指令用于接口的读写,其余的指令全部用于内存
统一编址
内存单元和接口共用地址空间,优点是原则上用于内存的指令全部可以用于接口
中断优先值控制
优先响应最高级的中断源
中断嵌套(堆栈)
直接存储器存取方式(DMA)
数据直接在内存与I/O设备间的直接成块传送,即在内存与I/O设备之间传送一个数据块的过程中,不需要CPU的任何干涉,在传送数据时要占用数据总线
CPU与外设之间交换数据的方式有直接程序控制方式、中断方式、直接存储器存取和通道控制方式。
(1)程序传送方式:包括无条件传送和程序查询传送。无条件传送不查询外设状态,认为外设已经准备就绪,直接与外设传送数据。程序查询传送在执行输入输出前,要先查询接口中状态寄存器的状态。
(2)中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,从而提高了CPU的利用率。
(3)DMA传送方式:DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。
内部总线
系统总线
数据总线
每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。
地址总线
地址总线决定了cpu所能访问的最大内存空间的大小。10根地址线能访问的最大的内存为1024位二进制数据(1024个内存单元)(1B)
控制总线
常见的系统总线
ISA EISA PCI
讲解视频看这里
DES
3DES
RC-5
IDEA
AES
RC$
RSA
ECC
DSA
RSA
、ElGamal
、背包算法
、Rabin
(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、**椭圆曲线加密算法(**Elliptic Curve Cryptography, ECC);DSA
数字签名(又称公钥数字签名),将摘要信息用发送者的私钥加密,接收者只有用发送者的公钥才能解密被加密的摘要信息,也是属于公开密钥加密算法。DES
AFS
IDEA
RC4
MD5
算法摘要的消息有 128
个比特位,用 SHA-1
算法摘要的消息最终有 160
个比特位的输出,SHA-1 的变体
可以产生 192
个比特位和 256
个比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。MD5
、 SHA系列
- 使用hash函数对摘要进行加密
- MD5摘要算法
- SHA-1安全散列算法
机密性:确保信息不会暴露给修改给未授权的实例或进程。
完整性:只有得到允许才能修改数据,并能够判别出数据是否被修改。
可用性:得到授权的实体在需要时可访问数据。
可控性:得到授权的的实体在需要时可访问数据。
可审查:对出现的安全问题提供查询的依据和手段。
总结
总结:
题目数量:7~9道
考试占比:7~9分
考试难度:从总体来看是比较大的