二、计算机基础:
1,中央处理单元CPU:
CPU功能:程序控制,操作控制,时间控制,数据处理
CPU组成:运算器(数据加工、算数运算、逻辑运算),控制器(保证指令执行、处理异常事件),寄存器组(保存程序的中间结果),总线.
其中:
运算器包括:算术逻辑单元ALU(算术和逻辑运算)、累加寄存器AC(运算结果或源操作数存放)
数据缓冲寄存器DR(暂时存放内存的指令或者数据)、状态条件寄存器PSW(保存条件码或溢出标志)
控制器包括:指令寄存器IR(存指令)、程序计数器PC(存指令执行地址)、地址寄存器AR(CPU访问的内存地址)、指令译码器ID(指令操作码)
2,进制转换:
小数转二级制:2^-1=1/2^1=0.5 2^-2=1/2^2=0.25 2^-3=0.125 2^-4=0.0625
带符号位的的二级制数转化为十进制(最高位 0正 1负)除去最高位 1101=-5
3,数据的表示:
原码:最高位 0正 1负
[+0]原=1 000 [-0]原=0 000
例如:1010 =0*2^2+1*2^1+0*2^0=2-->-2
反码(原码最大的问题就在于一个数加上它的相反数不等于0,所以引用反码):正数=原码 负数=除符号位 按位取反
[+0]反=1 000 [-0]反=0 111
补码(计算机采用补码+-运算,将减法转换为加法):正数=原码 负数=反码+1或者2的机器字长次幂-负数的绝对值得到的差的原码
移码:补码符号位取反
浮点数表示:
N=(尾数)基数^阶码(指数) 12450=1.245X10^4
阶码(指数)--移码(范围) 尾数--补码(精度)
对阶时,小数向大数看起,尾数向右移动。
4,检验码:
奇偶检验码:数据位和检验位1的个数决定,所以产生不了全为0的代码(奇数个位出错能检测,偶数个出错不能检测(漏检))
CRC检验码:只能检错不能纠错
1,原始10110 G(x)=X^4+x+1---->10011
2,原始加上0000(因为多项式为4阶)--->101100000
3,101100000模2除法10011(同为0异为1)--->余数为111
4,10110+0111--->101100111
检错过程:余数为0,传输过程无误码,余数不为0,传输过程产生误码。
海明码: 2的k次幂-1>=n+K 奇校验和偶校验
做题思路,
1,根据原码确认校验数K,
2,根据K的个数确认每个检验位的位置,插入原数据。
3,生成的总位数位原来数n位+k位
4,每个检验位具体数值为在海明码位置的位数,位置连续组合,空格位置数都参与校验
例子:
传递信息:1010 2^k-1>=k+n n=4--->k=3 所以海明码为(总的为7位,三位检验位插入在2^K-1--->2^0 2^1 2^2 的位置):p1 p2 1 p3 0 1 0
p1(在海明码位置中为第一位,就是本身开始空格一位都参与校验) 所以参与校验的数位:p1 1 0 0 奇校验p1=0 偶校验p1=1
p2(在海明码位置中为第二位,就是两两组合,空格两位都参与校验) 所以参与校验的数位:p2 1 1 0
p3(在海明码位置中为第四位,就是四个组合,空格四位都参与校验)) 所以参与校验的数位:p3 0 1 0
5,存储器的层次结构

cache位于CPU与主存之间,cache对于程序员来说是透明的。
设置多级高速缓存Cache以提高命中率(访问主存的效率)
使用Cache改善系统性能的依据是程序的局部性原理
时间局部性:被引用过一次的存储器位置在未来会被多次引用,主要体现是主要是循环。
空间局部性:如果一个存储器的位置被引用,那么将来他附近的位置也会被引用,主要体现是顺序执行的过程。
Cache位于cpu通用寄存器和主存储器之间 (硬件完成地址映射)
CPU读取数据时在cache中命中就不读取内存,不命中就去读取内存
6,cache地址映像方法
存储系统和缓存映射方式:(主存块号---cache地址)
直接映射:对应关系固定,不灵活,会产生浪费
全相联映射:主存块号---cache地址都有映射关系,地址变换复杂,速度慢
组组相联映射:签两种方式组合:先分块再分组
块冲突概率最大:全相联映射<组相联映射<直接映射
访问速度快:全相联映射<组相联映射<直接映射
硬件成本:全相联映射>组相联映射>直接映射
Cache页面淘汰算法包括:
随机替换算法RAND(Random)
先进先出算法FIFO(First in First out)
近期最久未使用算法LRU(Least Recently Used)
最不频繁使用算法 LFU(Least Frequently Used)
优化替换算法
Cache的读写过程:
写直达:同时写Cache与内存,写回:只写Cache,淘汰页面时,写回内存,标记法:只写入内存,并将标志位清零,若用到此数据,只需要再次调取
7,磁盘
机械磁盘存在两组运动:盘的旋转运动,机械臂控制磁头沿半经方向的直线运动
寻道时间:指磁头移动到磁道所需的时间
待时间:等待读写的扇区转到磁头下方所用的时间
存取时间=寻道时间+等待时间
先进行移臂调度,再进行旋转调度。
8,输入输出技术
输入输出设备控制
直接程序控制:程序查询方式:(不间断查询和监听)
程序中断方式:(发出中断,CPU异步)
DMA:(输入输出设备与内存储器直接相连,由DMA控制器控制,不是CPU)占用总线,CPU不能使用总线
通道(IOP):专用处理机
9,Flynn分类法
SISD 单指令单数据流 IBM PC 早期巨型机 冯诺架构
SIMD 单核计算机 GPU
MISD 只有理论
MIMD 当前主流 intel AMD
10,RISC和CISC
RISC 精简指令:指令等长,少,简单 ,硬布线,快。寻址方式少。硬件实现(通用寄存器)X86
CISC 复杂指令:兼容性强,指令多,可变。微程序实现。寻址方式多 ARM
11,流水线
指令:操作码和操作数
微指令由硬件机器执行,虚拟机器执行高级语言
执行过程;取指令--分析--执行
流水线时间计算:
1,流水线周期:时间最长的段为周期。
2,理论公式:流水线执行时间:1条指令执行的总时间+(总指令条数-1)*流水线周期
实践公式:流水线执行时间:流水线周期*指令步数+(总指令条数-1)*流水线周期
3,流水线吞吐率:指令条数/流水线周期
4,流水线加速比:不使用流水线执行时间/使用流水线执行时间
12,冯诺依曼结构和哈弗结构
冯诺依曼结构(普林斯顿结构):程序指令存储器和数据一种并行体系结构,主要特点是将程序和数据存储在存储器合并在一起的存储器结构
一般用于PC处理器,AMD、英特尔的酷睿i3,i5,i7处理器,指令与数据都通过相同的数据总线传输
哈弗结构:程序存储器和数据存储器是两个独立的存储
一般用于嵌入式系统处理器(DSP)数字信号处
四条总线:指令和数据的数据总线与地址总线
13,总线
广义上:
内部总线,芯片级(芯片和处理器)
系统总线(功能分):是板级总线。包括数据总线DB(双向,并行数据传输位数),地址总线AB(单向,系统可管理内存空间的大小)、控制总线CB(传送控制命令)。ISA总线、EISA总线、PCI总线
外部总线:是设备一级的总线,微机和外部设备总线。RS232(串行总线)、SCSI(并行总线)、USB(通用串行,热插拔)
串行总线:单工(单向传输),半双工(同一时间单边传输),全双工(双向,一条发一条收)
使用总线便于增减外设,和减少传输线的条数
14,加密技术和认证技术
常见的对称加密算法:DES、3DES、RC、IDEA、PGP、AES
见的非对称加密算法:RSA、DSA、ECC(椭园曲线算法)等。
信息摘要:MD5、SHA-1、SHA-256
数字签名功能:
报文鉴别:用于证明来源,接收者可以通过签名确定是哪个发送者进行的签名
防止抵赖:防止发送者否认签名,发送者一旦签名,标记就打上了,无法抵赖
防止伪造:防止接收者伪造发送者的签名。
15,计算机可靠性模型
串联系统可靠性:R=R1R2...RN
并联系统 R =1-(1-R1)(1-R2)…(1-RN)
评论交流
欢迎留下你的想法