一、计算机组成与体系
1、进制
原码:首(最高)位0为正号,1为负号。—数码个数2^n-1。
反码:正数不变;负数符号位不变,其它位取反。—数码个数2^n-1。
补码:正数不变;负数是符号位不变反码加一(二进制来说,小数的最后一个一)。(计算机中运算)—数码个数2^n。(人为定义:把符号位视为值)
移码:对补码的符号位取反。—数码个数2^n。
浮点数计算:尾数*基数^指数;
【注】对阶,小数向大数看齐,尾数算术右移。
优先级:非>算术运算符>关系运算符>与>或>赋值运算符。
短路原则。
2、校验码
【注】码距:最少变化的二进制位数。
奇偶校验:整个1的个数为奇数则是奇校验。校验位位数为1。拼接在头部。
CRC:模二除法。校验位位数由生成多项式决定。拼接在尾部。
海明校验:2^r≥m+r+1
,m
为信息位位数,r
为校验位位数。插入在中间。通过利用奇偶性,均匀码距实现。
奇偶校验可检错(一位/奇数位)不可纠错,CRC使用模二除法计算,可检错(多位)不可纠错,海明即可检错也可纠错。
3、CPU与指令系统
CPU包括运算器和控制器。
运算器包括算术逻辑单元ALU,累加寄存器AC,数据缓冲寄存器DR,状态条件寄存器PSW。
控制器包括程序计数器PC,指令寄存器IR,指令译码器ID,时序部件。
指令系统类型:
CISC(复杂):指令数量多,频率差大,可变长,支持多种寻址方式,微码。
RISC(精简):指令数量少,频率接近,定长,支持方式少,增加通用寄存器,逻辑电路实现,流水线。
4、流水线技术
流水线周期为执行时间最长的一段;
计算公式:流水线建立时间+(指令条数-1)*流水线周期
。
【注】流水线建立时间又叫第1条指令执行时间。
吞吐率:单位时间完成的任务量。——指令条数/流水线执行时间。
【注】最大吞吐率为1/流水线周期。
5、局部性原理与Cache
局部性原理是层次化存储结构的支撑,分为时间局部性和空间局部性。
存取方式:按内容存取(相联存储器如Cache),按地址存取(随机存取存储器如内存,顺序存取存储器如磁带,直接存取存储器如磁盘)。
Cache:地址映射由硬件自动完成。
直接相联映象:硬件电路简单,冲突率较高;
全相联映像:电路难,冲突率低;
组相联映像:折中。
6、数据传输控制方式
程序控制(查询)方式(包括无条件和程序查询),程序中断方式,DMA方式,通道方式,I/O处理机。
【注】中断向量表保存中断服务程序的入口地址。保存现场在栈上。
【注】CPU在一个总线周期结束时响应DMA请求。
总线:分时双工。
可靠性=MTTF/(1+MTTF)。
性能指标
二、操作系统
操作系统:进程管理,存储管理,文件管理,作业管理,设备管理。
嵌入式操作系统的可定制性(硬件变化配置)和易移植性(BSP)。
1、进程与线程
进程:资源分配和调度的基本单位,由程序块、进程控制块(PCB)、数据块组成。
【注】PCB有队列指针(链接同一状态的进程)。
线程共享的有:内存地址空间,代码,数据,文件等。
线程不共享的有:程序计数器,寄存器,栈。
进程状态中挂起的原因:主存资源不足、检查问题。
2、PV操作
检查资源:P操作<0,V操作≤0。
死锁条件:互斥,保持和等待,不剥夺,环路等待。
系统不可能发生死锁的最小资源数n
:(w-1)*m+1≤n
,m
个进程,每个进程需要w
个资源。
3、存储管理
页式存储:逻辑地址=页号+页内地址;物理地址=页帧号+页内地址。
段式存储:逻辑地址(段号,段内偏移量)。
【注】段内偏移量不能超过段长。
磁盘管理:存取时间=寻道时间+等待时间。
移臂调度算法:按照柱面号响应即可。
4、I/O管理软件
用户进程,设备无关程序,设备驱动程序,中断处理程序,硬件。
全文件名:从根目录/出发。
字长:一个磁盘需要多少个字表示。
5、作业管理
提交,后备,执行(类似进程五种状态),完成。
响应比=(作业等待时间+作业执行时间)/作业执行时间
三、数据库
分布式数据库透明性:分片透明,复制透明,位置透明,逻辑透明(局部映像透明)。
OLAP联机分析,OLTP联机事务。
1、数据库设计过程
需求分析,概念结构设计(ER模型),逻辑结构设计(关系模式),物理设计(聚集索引)。
集成冲突:属性冲突,命名冲突,结构冲突。
【注】弱实体,特殊化,聚集。
2、数据模型三要素
数据结构,数据操作,数据约束条件。
候选键:属性集合,唯一标识元组,且无冗余,可以单个可以多个。
主键:从候选键中选一个。
主属性与非主属性:组成候选码的属性就是主属性,其它的是非主属性。
外键:其他关系的主键。
全码:关系模式的所有属性组是这个关系的候选码。
一个实体型必须转换为一个关系模式。
【注】多对多转换关系模式时,主键必须是两段主键的组合键。
关系代数:垂直方向—属性列,水平方向—元组行。
笛卡尔积,垂直方向—投影π
,水平方向—选择σ
,自然连接(先选择后投影)。
【注】进行笛卡尔积时,应该让两侧参与运算的表尽可能小。
图示法寻找候选键,先找入度为0的属性,(中间属性节点并入集合),然后推出全部属性。
3、三大范式
没到第三范式3NF,四个问题都会存在(数据冗余,修改异常,插入异常,删除异常)。
1NF:每个属性都不可再分;
2NF:满足1NF,并且每个非主属性完全依赖于侯选健(没有部分依赖);
3NF:满足2NF,并且没有非主属性传递依赖于候选键(没有传递依赖)。
【注】候选键是单属性,则至少满足2NF;没有非主属性,则至少满足3NF。
BCNF:当且仅当依赖集中每个依赖的决定因素必定包含某个候选键(主属性没有部分和传递依赖)。
4、模式分解
是否无损分解:存在同名属性列,查看以该属性为左侧决定因素的函数依赖有保留,还原与之对应的被决定因素。
【注】两个关系模式中,交集能得出差集,则是无损分解。
5、事务与并发
事务:原子性A
,一致性C
,隔离性I
,持续性D
。
并发产生的问题:丢失更新,不可重复读,读脏数据。
解决并发产生问题的方案:封锁协议(有可能导致死锁)。
S锁:共享/读锁,其他事务可以加S,不能加X;
X锁:排它/写锁,其他事务不能加任何锁。