2023软件设计师备考
软件设计师备考
5月考试自我总结
第一次开始备考软件设计师考试,本人专业是计算机科学与技术,备考大概两个月,前天(5月27日)才结束,上午题表现良好,下午题遭遇了历史滑铁卢,试题四和试题五代码填的一塌糊涂,一般不怎么考的邻接图也上场表演了,唉!不管结果如何,咱就先总结一波,下次还有机会继续考(虽然很失落,但前路一直得走…)不过总结一次性写不完呀,每天都攒点!
知识点汇总目录
第一章 计算机组成与体系结构
1. 数据的表示
- 进制的转换
本考点主要是考的内存地址的计算、结合IP地址来考虑
【要点】
(1)十进制转R进制(短除法)
(2)R进制转十进制(按权展开法)
(3)二进制转八进制、转十六进制(分组快速转换)
主要是需要熟练掌握二进制与十六进制的互转,来熟练运算IP地址的转换和内存地址的转换。 - 原码/反码/补码/移码的特性与表示
本考点主要是考原码、反码、补码与移码之间的关系,结合题目描述判断正误,或者是计算某种码值的表示范围或数值个数。
【要点】
(1)原码、反码、补码、移码的转换规则
原码:符号位+数值绝对值
反码:负数的反码是符号位不变,数值位按位取反。正数的反码是原码本身。
补码:负数的补码是符号位不变,数值位在反码的基础上加一。正数的补码是原码本身。
移码:正数和负数的移码都是在补码的基础上符号位取反。
注意:0的原码和反码不唯一,补码和移码唯一。因为0分为+0和-0,因此原码和反码不唯一。
(2)原码、反码、补码、移码的取值范围 - 浮点数的表示
本考点是给定一些描述(关于浮点数构成和运算规则),浮点数的运算过程中对齐方式和理解尾数、阶码等含义。
【要点】
(1)浮点数各部分表示意义:N=尾数*基数^指数
一般尾数用补码,阶码用移码
阶码的位数决定浮点数表示的范围,尾数的位数决定浮点数的有效精度。阶码位数越大范围越大,尾数的位数越大精度越高。
(2)浮点数的运算规则:对阶——>尾数计算——>结果格式化
对阶时,尾数小的向大的看齐,对阶是通过尾数位数较小的右移实现。 - 逻辑运算
本考点主要考察给定运算表达式计算结果或等价表达式,判断短路运算。
【要点】
(1)关系运算符优先级:<、>=、<=、>
逻辑运算符:||(或)、&&(与)、⊕(异或)、!(非)
(2)短路原则:在逻辑表达式的求解中,并不是所有逻辑运算符都要被执行。例如:a&&b&&c 只有a为真时,才需要判断后面b和c的状态,若a为假,不必判断b和c,整个都为假。
2. 运算器与控制器(高频)
考点:本章考点主要是针对计算机中存在的部件判断是属于运算器还是控制器,或者给定部件功能判断具体描述的部件。
【要点】
- 运算器
(1)算术逻辑单元ALU:数据的算数运算和逻辑运算;
(2)累加寄存器AC:通用寄存器,为ALU提供一个工作区,用来暂存数据;
(3)数据缓冲寄存器DR:写内存时,暂存指令或数据;
(4)状态条件寄存器PSW:存状态标志与控制标志。(有争议性,也有将其归为控制器的) - 控制器
(1)程序计数器PC:存储下一条要执行指令的地址;
(2)指令寄存器:存储即将执行的指令;
(3)指令译码器ID:对指令中的操作码字段进行分析解释;
(4)时序部件:提供时序控制信号。
3. Flynn分类法
考点:分类法主要是考分类与指令匹配,或者是各种体系结构类型的属性和特点。常考的典型类型系统:阵列处理机、超级向量处理机,常考类型:SIMD、MISD。
【要点】
Flynn分类法将计算机分为:单指令单数据流(SISD)、单指令多数据流(SIMD)、多指令单数据流(MISD)、多指令多数据流(MIMD)。
| 体系结构类型 | 特性 |
|---|---|
| SISD | 单处理器系统 |
| SIMD | 各处理器以异步的形式执行同一条指令,代表有:并行处理机、阵列处理机、超级向量处理机 |
| MISD | 被证明不可能,至少不实际 |
| MIMD | 能够实现作业、任务、指令等各全面并行,代表有:多处理机系统 |
4. CISC与RISC (高频)
考点分析:本考点一般会考CISC和RISC的典型区别特性,结合两者的不同判断选择正确的类型。考察识别寻址的方式判断。
【要点】
(1)CISC:指令数量多,使用频率差别不大,可变长格式;寻址方式支持多种;采用微程序控制技术实现;研制周期长。
(2)RISC:指令数量少,使用频率接近,定长格式,大多为单指令周期,操作寄存器,只有Load/Store操作内存;寻址方式支持少;增加了通用寄存器,硬布线逻辑控制为主;适合采用流水线;支持高级语言。
(3)寻址方式
①立即寻址
特点:操作数直接在指令中,速度快,灵活性差
②直接寻址
特点:指令中存放的是操作数的地址。
③间接寻址
特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
④寄存器寻址
特点:寄存器存放的操作数。
⑤寄存器间接寻址
特点:寄存器内存放的是操作数的地址。
5. 流水线技术(一般必考)
考点分析:本章主要考察流水线周期和执行X条指令采用流水线方式执行需要多少时间,以及流水线相关概念的了解。
【要点】
(1)流水线:是指程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理事针对不同指令而言的,他们可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
(2)流水线周期:执行时间最长的一段。
(3)流水线吞吐率:每条流水线执行的速率、TP=指令条数 / 流水线执行时间。
(4)流水线执行时间
①理论公式:(t1+t2+t3+…+tk)+(n-1)t
②实践公式:kt+(n-1)*t
(5)流水线加速比:不使用流水线执行时间 / 使用流水线执行时间
6. 存储系统(高频)
考点分析:主要考察判断存储系统相关概念描述的正确性,局部性理论、各层次速度比较和Cache相关概念等,需要掌握的比较熟练。内存部分主要考察内存容量、芯片单位容量、芯片片数等。
【要点】
(1)多级存储体系的分布、不同层次的大小与速度对比如下图

(2)局部性理论体系
①时间局部性:指程序中的某条指令一旦执行,不久之后该指令会再次执行,典型原因是由于程序中存在着大量循环操作。
②空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
(3)存储器分类
①存储器位置:内存、外存
②存取方式
按内容存取:相联存储器(如Cache)
按地址存取:随机存取存储器RAM(如内存DRAM);只读存储器ROM(如BIOS)
(4)Cache
①Cache:在计算机存储体系中,Cache是除了寄存器以外访问速度最快的层次。Cache改善了系统性能,提高了CPU访问内存的效率。
②CPU的地址映像由硬件直接完成。
③Cache映射方式:全相联、组相联、直接相联。(冲突率依次升高,电路复杂度依次降低)
(5)内存
①内存单元数计算:最大地址-最小地址+1
②内存总容量:按字节编址,内存单元数8bit;按字编址,内存单元数机器字长
③已知所用芯片数,求取芯片单位容量:总容量/芯片片数
④已知芯片片数,求取芯片单位容量:总容量/芯片片数
7. 总线系统
考点:本知识点主要考判断总线的类别,例给定某种总线作用,让你选择总线类别。
【要点】
(1)数据总线:在CPU与RAM之间来回传送需要处理或需要存储的数据。
(2)地址总线:用来指定在RAM之中存储的数据的地址。
(3)控制总线:将微处理控制单元的信号传送到周边设备。
8. 可靠性
考点:识别系统可靠性、可用性、可维护性等指标的公式
【要点】
(1)串联电路的可靠性:R1R2…Rn
(2)并联电路可靠度:1-(1-R1)(1-R2)…*(1-Rn)
(3)可靠性指标
MTTF:平均失效前时间
MTTR:平均修复时间
MTBF:平均故障间隔时间
可靠性——>MTTF/(1+MTTF)
可维护性——>1/(1+MTTR)
9. 校验码
考点:本考点主要考察海明校验码,给定值判断至少需要多少位校验码才能校验。判断正误:区分不同校验方式的特点,对于海明校验码的计算问题,校验码的位数计算和位置计算。
【要点】
(1)奇偶校验:掌握校验原则等相关概念,只检奇数位错。
(2)循环校验码CRC:可查错,不可纠错,运用模二除法计算校验码。
(3)海明校验:要求掌握相关概念,可查错,可纠错;要求掌握海明校验码位计算:2^r >=r+m+1
10.计算机性能指标
考点:本考点主要考察的是结合描述判断性能指标,给出参数计算性能指标参数。
【要点】
(1)主频。时钟周期=主频的倒数,主频 = 倍频外频。
(2)平均每条指令的平均时钟周期个数(CPI),CPI=时钟周期/指令总条数。
(3)每时钟周期运行指令条数(IPC),IPC=指令总条数/时钟周期总数。
(4)百万条指令每秒(MIPS),MIPS=(IPC时钟周期)/10^6。
(5)每秒百万个浮点数操作(MFLOPS),与MIPS相似,针对浮点数操作。
(6)总线宽度:每次排重通过的数据量。
(7)带宽:单位时间通过的数据量,带宽=数据总量/总时间。
(8)吞吐量:某个时间段完成的任务总数;吞吐率:单位时间内完成的任务总数,吞吐率=任务总数/总时间
操作系统
操作系统相关概念
(1)软件层次

(2)操作系统功能:管理系统的硬件、软件、数据资源;控制程序运行;人机之间的接口;应用软件与硬件之间的接口。
(3)特殊的操作系统
| 分类 | 特点 |
|---|---|
| 批处理操作系统 | 单批道:依次一个作业入内存,作业由程序、数据、作业说明书组;多批道:一次多个作业入内存,特点:多道,宏观上并行围观上串行 |
| 分时操作系统 | 采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统;特点:多路性、独立性、交互性和及时性 |
| 实时操作系统 | 实时控制系统和实时信息系统,交互能力要求不高,可靠性要求高 |
| 网络操作系统 | 方便有效共享网络资源 |
| 分布式操作系统 | 任意两台计算机可以通过通信交换信息,是网络操作系统的更高级形式,具有透明性、可靠性和高性能等待特性 |
| 微机操作系统 | Windows:Microsoft开发的图形用户界面、多任务、多线程操作系统;Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、多线程和多CPU的操作系统 |
| 嵌入式操作系统 | 特点:微型化、可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL和BSP支持) |
(4)嵌入式操作系统特点
微型化:从性能和成本角度考虑,希望占用资源和代码量少,如内存少、字长短、运行速度有限、能源少(用微小型电池)。
可定制:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理平台上,能针对硬件变化进行结构和功能上的配置,以满足不同应用需要、
实时性:嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,对实时性要求比较高。
可靠性:系统构建、模块和体系结构必须达到应有的可靠性,对关键要害应用还提供容错和防故障措施。
易移植性:为了提高系统的易移植性,通常采用硬件抽象层和板级支持包的底层设计技术。
(5)线程共享内容
1.进程状态
2.前驱图
3.信号量与PV操作
4.死锁与银行家算法
5.段页式存储
6.页面置换算法
7.磁盘管理
8.绝对路径与相对路径
9.索引文件
10.位示图
11.I/O设备管理
数据库系统
强调文本 强调文本
加粗文本 加粗文本