前言:
我去年11月份参加了软件设计师的考试,一次性顺利通过了该考试。去年11月份的考试首次改革成机考。考试时间上从一整天压缩成一个下午。考试难度无法评价,因为是第一次参加该考试。我考前利用4个月时间准备,准备时间看似很长,其实真正学习总结时间不多,准备期间总是再加班。学习资料上,我主要是在B站上看zst_2001博主的视频 + 刷历年真题。下面,我将分章节分析一下,我知识笔记。
一、计算机基础知识:
原码、反码、补码、移码:
- 原码:最高位表示符号位,正数符号位:0,负数符号位:1。
- 反码:正数与原码相同;负数:符号位不变,其他位取反
- 0有两个反码:+0:0000 0000 、-0:1111 1111
- 补码:正数与原码相同;负数:反码 + 1
- 补码实现0的表述统一(0与-0的二示一样)。
- 计算机只做加法运算,没有减法运算。补码运算能将减法化为加法来完成。
- 移码:在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。
浮点数:
- 浮点数的构成:符号(Sign)、阶码(Exponent)和尾数(Mantissa)
- 阶码:带符号的纯整数;它决定数的范围;用整数表示的指数。
- 尾数:带符号的纯小数,它决定数的精度;尾数的数值:在 [ 1 ,2 ) 之间为有效数字。
- 对阶运算:小阶向大阶对齐,同时将尾数右移n位。
- 其他:
- 原码是规格化数。规格化要求将尾数的绝对值限定在区间[0.5,1]。
- 下图公式:
校验码:
海明码:
- 在数据位之间插入k个校验码,通过扩大码距来实现,检错和纠错。
- 海明码利用奇偶性进行检错和纠错。
- 计算校验码个数:
- 计算题-海明码计算。
循环冗余校验码:
- 它不能纠错,码距固定2。
奇偶校验:
- 若有奇数个数据位出错,则可以检测出该错误,但无法纠正错误。
CPU:
CUP主要2个部件:
- 运算器:分类如下:
- 算术逻辑单元(ALU):运算器重要组成部件,负责处理数据,实现对数据的算数运算和逻辑运算。
- 累加寄存器(AC):简称累加器,为ALU提供数据并暂存运算结果。
- 数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传送的中转站。
- 状态条件寄存器(PSW):保存由算数指令和逻辑指令运行或测试的结果,建立的各种条件码内容。
- 控制器:运算器只能完成运算,控制器控制整个CPU的工作,它决定了计算机运行过程的自动化。分类如下:
- 指令寄存器(IR):保存当前CPU执行的指令。指令译码器(DR)根据指令寄存器(IR)的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
- 程序计数器(PC):初始时,保存的内容是程序第一条指令的地址,执行指令时,CPU自动修改PC的内容对PC加1,使其保持的总是将要执行的下一条指令的地址。
- 地址寄存器(AR)背:保存当前CPU所访问的内存单元的地址。
- 指令译码器(ID):对指令中的操作码字段进行分析解释,识别该指令规定的操作,向控制器发出信号,控制各部件工作,完成所需的功能。
中断:
- CPU中断的响应时间指从发出中断请求到开始进入中断处理程序的时间。
- 为了实现多级中断,保存程序线程信息最有效的方法是使用堆栈。
- CPU中断向量提供的是中断服务程序入口地址。 背
CPU小点:
- CPU对其访问速度最快的是通用寄存器。
- CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在累加器(AC)中。
- 计算机系统中有多种实现数据输入和输出的控制方式,其中占用CPU 时间最多的是主动查询。
- 采用中断方式和DMA方式控制技术时,CPU与外设可并行工作。
DMA(Direct Memory Access 直接存储器访问):
- 作用:它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。
- DMA传输数据需要占用一个存储周期。
- DMA用数据块为单位传输,要求传送的数据块全部传送结束时,才要求CPU进行中断处理,这样大大减少CPU进行中断处理的次数。
- DMA 控制方式是在主存与外设之间,直接建立数据通路进行数据的交换处理。
- DMA不需要CPU,执行程序指令传送数据。
主存:
- 主存主要由DRAM构成。
存储器:
- 相联存储器:按内存访问。背
ROM与RAM:
- ROM(Read-Only Memory)只读存储器:计算机的永久存储,用于存储操作系统、应用程序和文件。
- BIOS保存在主板的ROM中。
- RAM(Random Access Memory)随机访问存储器:计算机用于运行应用程序的内存。
高速缓存(Cache):
- Cache中发生冲突次数最小的是全关联映像。
- Cache中一般采用SRAM(静态随机访问存储器)存储器件构成。*
- 与SRAM相比,DRAM(动态随机存取存储器)集成率低,功耗大,需要动态周期性刷新数据。*
- DRAM: 使用电容存储信息且需要周期性地进行刷新。
- 主存由DRAM构成。
- 在程序执行过程中,Cache与主存的地址映像由硬件自动完成。背
- 在CPU内外常需设置多级高速缓存Cache,主要目的是提供CPU访问主存数据 或 指令的效率。
磁盘:
- 磁盘调度分为:移管调度和旋转调度,并且是先进行移臂调度,然后进行旋转调度。
指令系统:
- 指令 = 操作码 + 地址码
- 例如:1 + 2 中:1 和 2 为地址码; + 为操作码。
- CPU依据指令周期不同阶段来,区分在内存中以二进市编码形式存放的指令和数据。
- VLIW是超长指令的简称。
寻找方式:
- 在机器指令的地址字段中,直接指出操作数本身的寻址方式称为立即寻址。
- 寻址速度有块到慢:立即寻址、寄存器寻址、直接寻址。
指令系统:CISC(复杂)与RISC(简单):
- CISC的C指Complex【复杂】。RISC的R指Reduced【减少、简化】。
- RISC:采用硬布线逻辑;指令都是基本功能指令(功能简单),指令数量少,功能基本,增加通用寄存器。背
其他小点:
总线:
- 分类:内部总线、系统总线、外部总线。
- 系统总线用于主存及外部设备。
- 总线复用方式:可以减少总线中 信号线的数据。
- PCI总线是PC机常用总线;SCSI是软硬磁盘、光盘扫描仪常用总线。它们都是并行总线。PCI总线是并行内总线;SCSI总线是并行外总线。
Flynn(计算机体系结构分类方法):
- 根据指令流和数据流进行分类。背
- 当前主流的多核计算机属于MIMD计算机。
其他点:
- 字长是计算机进行运算和数据处理的基本信息单位。
- 冯诺依曼结构中,程序指令和数据存在同一个存储器中。
- 采用异步传输方式的是:I/O接口与打印设备间信息交互。