计算机组成和体系结构
浮点数
表示:尾数*基数的指数次方,2的-100 次方*5,5就是尾数,-100就是指数(阶码)
尾数,用尾码存储,标识数值,和数值的正负
指数,用阶码存储,标识精度,指数的正负
尾数决定精度(1.123456 就比 1.2 精度搞),指数决定范围(2的1次方 就没有2的100次方范围大)
Flynn分类法
指令流 & 数据流
指令 instructions (服从:follow Instructions)
单个 single 多个multiple
单指令流单数据流SISD
单处理机器
多指令流单数据流MISD
不存在
对一对数字,做+,-,*,除 矛盾,不存在
单指令流多数据流SIMD
多个处理器执行同一个指令,使用不同的数据流
比如:1W对数字都需要做+法,指令只有一个+,数据多个
并行处理机; 阵列处理机
多指令流多数据流MIMD
可以实现作业,任务,指令的并行执行
多处理机系统(多核机器)
控制部分,处理器,主存模块(只要有一个为多,主存就是多个)
CISC&RISC
复杂指令系统计算机(Complex Instruction Set Computer)
精简指令系统计算机(Streamlining Instruction Set Computer)
CISC
指令多,长度不一致,使用频率差距大
寻址方式:多种,研发周期长
RISC
指令数量少,长度一致;寄存器多;使用频率差距不大
寻址方式支持少;增加了通用寄存器,硬布线逻辑控制为空;适合采用流水线
流水线
概念
在程序中执行多条指令重叠进行操作的一种准并行处理实现技术。
流水线执行时间计算
流水线周期:流水线操作中 执行时间最长的那段
示例
(1+2)+3*10
1t,2t,3t 三个任务; 共10个;流水线度为1
如果有多条流水线,那么先将指令均分后再计算
流水线吞吐率
单位时间完成的任务数量
流水线加速比计算
使用流水线和没使用流水线的比率
存储系统
层次化存储结构
CPU->主存->外存
CPU跟内存 速度相差几个数量级,为了解决这个速度差异引入 Cache
CPU->Cache -> 主存->外存
CPU
寄存器实现,速度快,成本高
Cache
Cache和CPU映射方式;CPU对Cache的寻址是硬件电路实现
Cache位置处于 CPU和主存之间
Cache依据的是局部性原理
Cache访问时间 = 命中率 * 访问Cache时间 + (1-命中率)*访问主存时间
局部性原理
时间
一条指令执行后不久以后可能再次执行,比如for循环
空间
访问了一个元素后,不久以后,他旁边的元素很可能被访问,比如数组
Cache页面淘汰算法
LFU 最少使用
通过计数器实现
Frequent 频繁
LRU 最近最少使用
时间局部性原理
Recent 最近
FIFO 先进先出
Cache的读写过程
CPU写会数据的方式,类比WEB架构中:Cache是缓存,主存是持久,怎么写缓存和持久化的问题
写直达
同时写Cache和主存,效率慢
写回
只写回Cache,在Cache淘汰的时候再写回内存
标记法
只写回内存,并将标志位清0,再次使用该数据是,再次读取调取
Cache和CPU映射方式
全相联映象
Cache和内存全部映射,挨个往Cache中调入,冲突率低
直接相关联映象
给内存分为Cache大小,1号位只能映射到Cache的一号位,冲突高
组相联映象
先分组,然后组内进行全相联,冲突率 居中
主存
主存是由多个芯片组装起来的,可以横向扩展位数,也可以纵向扩展大小
计算式考虑按照B,还是b编码。细心就行
磁盘
磁盘分为磁道和扇区
存取时间=寻道时间 + 寻扇区中位置时间 + 处理时间
注意:磁盘是一个方向,不停的旋转的
总线
一条总结,同一时刻,只允许一个设备发送,但允许多个设备接受数据
数据总线 DataBus
地址总线 AddressBus
控制总线 ControlBus
传输指令的
校验码
检错&纠错
检错是检查是否有问题
纠错是发现有问题后,可以根据某种算法把正确的恢复回来
概念
码距
两个合法的码字之间的距离
码字
一个合法的编码
举例:用100,200,300 分布标识不同的类型,100,200,300 就是合法的码字,400就不合法。码距就是300-200=100
扩大码距可以纠错;传输中一般只有一个二进制位错误;
如果都是错的,鬼才能只能你发的是啥
分类
奇偶校验
只有一个校验位,奇校验就是加上校验位后1的个数为奇数个;偶校验类似
CRC循环校验
模2除法,每一位是异或运算
除以 多项式二级制,余下的位数就是校验码
海明码校验(可纠错)
在2的N次方位置预留下拉给校验位
一般考 信息为多少,添加了多少校验位
系统可靠性计算
单个系统可靠性指标
平均无故障时间 MTTF
mean time to failure
平均故障修复时间 MTTR
Mean Time To Restoration Restor 修复恢复的意思
平均故障间隔时间 MTBF
下次故障 距离 这次故障的 平均时间
平均没故障时间 + 故障修复时间
系统可用性
无故障时间 / 故障间隔时间
比如:99H内没事,99H了出问题了,修复了1H。 那么这100小时内,可用的时间为99小时,系统可用性为=99%
串联系统
可靠性为R
RN = R1 * R2 …
含义:两个系统都能用,整体才能用
并联系统
可靠性为R
R = 1-(1-R1) * (1-R2)
两个系统 同时不能用了才 不能用了
……