基本组成
运算器
- 算术逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)
控制器 - 程序计数器PC:存储下一条要执行指令的地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令进行分析解释
- 时序部件:提供时序控制信号指令中的操作码字段
R进制的转化
- 地址个数:DCFFFH + 1 - A5000H = 38000H = 3 * 16^4 + 8 * 16^3
- 按字节编址:指一个存储单元存储一个字节,即1B=8bit
- 容量: 3 * 16^4 + 8 * 16^3 * 1B = 224KB
- 按字节编址:指一个存储单元存储一个字节,即1B=8bit
- 存储单元总个数:8FFFFH + 1 - 8400H = C000H ,即 12 * 16^3 个
- 总容量 = 12 * 16^3 * 8bit
- 需要片数 = 12 * 16^3 * 8bit / 8k * 4bit = 12 * 2^12 * 8bit / 8 * 2^10 * 4bit = 12 = 12 * 2^15bit / 2^15bit = 12
数的表示
- 补码范围是-2^n-1 - 1 到 2^n-1 - 1 ,所以个数为:2^n-1 - 1 + (2^n-1 - 1) = 2^n-1 + 2^n-1 = 2^n
- 90H 二进制为:1001 0000 (可以看出是负数了)
- 1001 0000 补码转原码:正数不变;负数,先减1,变为1000 1111 ,再非符号位取反,变为1111 0000 = -(64+32+16)= -112
- 因 2X = -112 ,所以X = -56
时钟周期
定义
- 时钟周期:也成震荡周期,是时钟频率的倒数,是计算机最基本、最小的时间单位
- 机器周期:也成CPU周期,指完成一个基本操作(如取指,读存储器)所需时间,包括多个时钟周期
- 指令周期:从主存去一条指令并执行指令的时间(多个操作)。包括多个机器周期
主频与时钟周期
主频1GHz,代表1s有10003个时钟周期,所以对应的时钟周期就是1/10003 = 1ns
时钟周期是cpu最小单元
- hz是1/s
- 32bit/5个时钟周期 = 4B/(5*1/200Mhz) = (4*200MB/s)/5 = 160MB/S
指令平均时钟数 = 总的时钟周期 / 总的指令数
= (12000 * 1 + 3600 * 2 + 24000 * 4 + 20000 * 8 )/ (12000 + 3600 + 24000 + 20000)= 2.24运算速度MIPS,指每秒执行的b百万指令数。
主频400MHz,代表每秒有400百万个时钟周期,其中2.24个时钟周期处理一个指令,所以每秒处理的指令数 = 400百万/2.24 = 178.6百万
阿姆达尔
假设原来系统运行时间为1个单位时间t,
某一功能站0.6,则此功能的时间由0.6t 提高至 0.6t/5 = 0.12t
其余40%的时间不变,还是0.4t
提高后总时间变为:0.12t+0.4t = 0.52t
提高了:t/0.52t = 1.923 倍
流水线
- 流水线执行时间:一条指令所需时间+(指令条数-1)* 时间最长的指令的一段;如果没有对应的选项,可以使用实践公式: 指令段数 * 时间最长的指令的一段 + (指令条数-1)* 时间最长的指令的一段
- 流水线吞吐率 = 指令条数/流水线执行时间
- 流水线最大吞吐率 = 1/流水线周期
- 流水线加速比 = 顺序执行时间/流水线执行时间 ,一般都是大于1
- 流水线最大加速比 = k(即指令执行段数)
流水线周期:为单个流水线执行时间最长的一段
计算方式:n/( (1+3+1+2+1)*t + (n-1)*3t )
第一个空:(3+2+4)*10 = 90
第二个空:max(3,2,4)=4
第三个空:(3+2+4)+(10-1)*4 = 45 ; 如果用实践公式计算:3*4+(10-1)*4 = 48
超标量流水线
每个指令执行阶段都有n个并行通道,成为度为n的流水线。
度为2的超标量流水线:假设指令数为n,可以看做n/2的普通流水线
假设,我们以度为2的流水线,还来计算上一道题的答案
第一个空:(3+2+4) * 10/2 = 45
第二个空:max(3,2,4)=4
第三个空:(3+2+4)+(10/2-1) * 4 = 25; 如果用实践公式计算:3 * 4+(10/2-1) * 4 = 28
IO 接口
I/O接口作用:
1、数据缓冲:主机和外设工作速度匹配
2、错误或状态监测:反馈设备各种错误、状态信息
3、控制和定时:接收从控制总线发来的控制信号、时钟信号
4、数据格式转换:串并、并串等格式转换
5、与主机和设备通信:实现主机—I/O接口—I/O设备间通信
输入输出
总线
- 分类:数据总线、地址总线、控制总线
- 特点:在某一时刻,只允许有一个部件向总线发送消息,但多个部件可同时从总线接收相同消息。总线上信息传送可以串行和并行。
计算机使用总线结构便于增减外设,同时减少信息传输线的条数。但相对于专线结构,其实际上也降低了信息传输的并行性、信息的传输速度。
数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(Address Bus):用来指定在RAM(RandomAccess Memory)之中储存的数据的地址。
控制总线(ControlBus):将微处理器控制单元(ControlUnit)的信号:传送到周边设备。
指令寻址
Cache
- 平均执行周期 = h*t1 + (1-h) * t2
假设,cache命中率为95%,cache的周期时间为1ms,主存储器周期为1000ms,则平均执行周期 = 95% * 1ms + (1-95%) * 1000ms = 50.95 ms
多级存储
可靠性计算
-
串联与并联
混合系统
校验码
奇偶校验
通过在编码中增加一位校验位来使编码中的1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2
CRC 检验码
CRC(循环冗余检验码):它主要是通过对要传输的数据进行多项式计算,然后将得到的结果附在数据帧的后面在进行传输,在收方收到数据帧后就可以利用CRC码对数据进行检查,那样就可以实现对数据的检错功能
(N,K)码就是在K位的信息码后面加上R位的监督码元,整个码长度位N位,(N,K)码一个重要的特点就是整个编码的长度为N位,其中信息字段就是K位,所以校验字段(也叫作监督码元)的长度就是R=N-K位
- 名词:生成多项式
比如:G(X)=X^3+X+1,对应的二进制除数1011
X的3次方:说明对应二进制长度是3+1 = 4 为
从高位开始算,1代表还有对应的幂项,0代表没有;
1011:
第一个1,代表有X^3次方;
第二个0,代表没有X^2次方;
第三个1,代表有X^1次方(即X);
第四个1,代表有X^0次方(即1);
比如:
- 举例
假设使用的生成多项式是G(X)=X3+X+1。4位的原始报文为1010,求编码后的报文。
解:
1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011。
2、此题生成多项式有4位(R+1)(注意:4位的生成多项式计算所得的校验码为3位,R为校验码位数),要把原始报文左移3(R)位变成1010 000
3、用生成多项式对应的二进制数对左移3(R)位后的原始报文进行模2除(高位对齐),相当于按位异或 得到的余数是R位的011,所以最终编码为:1010 011
海明码
比起普通的奇校验偶校验而言,海明码非常强大的一点就在于它不仅可以实现校验,还能实现1bit的纠错。
- 在数据位之间插入K个校验位。通过扩大码距来实现检查和纠错
- 海明码中校验码位数的公式:2^r >= m + r + 1
r 就是要求的校验码的最小值
m 就是信息码的位数
例题1:
求信息码1101的校验码的位数
求解过程:2^r >= 4 + r + 1 ,那满足此表达式的最小的r值为:3
安全基础
对称加密
适合大数据的加密,速度快
- DES: 替换+移位,56位秘钥,64位数据块,速度快,秘钥易产生
- 3DES: 两个256的秘钥k1,k2
加密:K1加密->K2解密->K1加密
解密:K1解密>K2加密->K1解密
- RC-5:
- IDEA算法:128秘钥,比DES加密性更好
非对称加密
加密速度慢,适合小数据的加密,比如对【对称秘钥】加密
- RSA : 512(或1024)位秘钥,计算量大,难破解
- ECC: 椭圆曲线算法
信息摘要
- MD5: 散列值128位
- SHA: 散列值160位,安全性高于MD5
数字签名
对摘要进行非对称加密
数字证书/数字信封-公钥体系
存取时间
平均存储时间 = 寻道时间+选中传输时间+延迟时间
- 寻道时间 = 10ms * 10 = 100ms
- 平均存储时间 = (100ms + 100ms + 2ms)*100 = 20200ms
磁盘旋转
-
解题思路
磁盘在读完R0,对R0进行处理的过程中,磁头还在旋转中。等R0处理完,磁头已经到了R2开始处了,所以要读取R1,只能再旋转一周。