中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构

前言

前几天刚考完软考的软件设计师,感觉应该是能拿下了(希望??),所以趁着热乎再梳理梳理整个学习的过程,毕竟这个证是次要的,我们真正能学到的东西才是更有价值的。
关于这个考试的难易程度,如果对于计算机专业的同学们或者是有软件相关从业经验的大佬们这个考试绝对是有手就行,但是如果是非计算机专业的同学们想靠这个拓展一下计算机方面的知识,那可能还是需要认真准备一下的,因为总的来说这门考试涉及的内容是考研的408+软件工程基础+数据库基础,但是只是知识广度非常广,专业知识并不是十分深入,所以也不要有压力,认真捋捋知识点+刷刷题还是没啥问题的。
考试主要分为上午的选择和下午的案例题,选择没啥好说的,只能说多刷刷题(因为考题里面往年原题占的比例还是不小的,多做做肯定做起来更顺手);至于下午题的话,下午题的题型是非常固定的,几乎每道题的大部分的题型每年都不变,所以也是要多看看真题,在有了相关知识储备的基础上,掌握一些做题的技巧(等后面再说惹)这样做起来会更加顺手??

下面梳理一下上午相关的知识点吧,也算是把我这几个月的所学做一个简单的输出吧,希望能帮到一些备考的盆友们:)

0 考点分布

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构

1.1 数据的表示

这部分没啥说的,基础中的基础,一般只会有一个出题点就是十进制和R进制之间的相互转换
R进制转十进制使用按权展开法:将R进制数的每一位数值都用R^k形式表示,按位加即可
十进制转R进制,短除法:将十进制数除于R将余数放在低位,并对余数做同样处理。

1.2 数值表示范围与浮点运算

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构
浮点数存储格式可以分为以下四个部分:(阶符、阶码)、(数符、尾数)
阶符和阶码用于表示浮点数的指数部分,阶符表示指数正负、阶码表示指数绝对值
数符和尾数用于表示浮点数的尾数,数符表示正负,尾数表示绝对值

运算过程:
①对阶:使两个操作数的阶码大小一样,要求阶数低的向阶数高的看齐
②尾数计算
③结果格式化

需要注意的是:
①一般尾数用补码,阶码用移码
②阶码的位数决定数的表示范围,位数越多范围越大
③尾数的位数决定数的有效精度,位数越多精度越高
④对阶时,小数向大数看齐
⑤对阶是通过较小数的尾数右移实现的

1.3 计算机结构(重点)

计算机的组成部分:运算器、控制器、存储器、输入设备、输出设备

CPU

CPU的组成:运算器、控制器
(考试的时候会有另外一种考法就是:运算单元、控制单元、存储单元)

运算器组成:
算数逻辑单元ALU:实现数据的算术运算和逻辑运算
累加寄存器AC:通用寄存器,为ALU提供一个工作区,用于暂存数据
数据缓冲寄存器DR:写内存时,暂存指令或数据
状态条件寄存器PSW(有说法将其归为控制器的,注意根据题目具体分析):用于存状态标志与控制标志

控制器组成:
程序寄存器PC:存储下一条要执行指令的地址
指令寄存器IR:存储即将执行的指令
地址寄存器DR:用于控制当前指令所存放的地址
指令译码器ID:对指令中的操作码字段进行分析解释
时序部件:提供时序控制信号

存储器

存储器分为主存储器和辅助存储器

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构
分类指标:指令流和数据流
记忆技巧的话,S表示Single,M表示Multiple
例如SIMD:Single Instruction Multiple Data

指令的基本概念:一条指令是机器语言的一个语句,是一组有意义的二进制代码。
分为操作码字段和地址码字段
操作码指出了计算机要执行什么操作(加减法、存读写等)而地址码包含了各操作数的地址和操作结果的存放地址。从地址结构的角度可以分为三地址指令、二地址指令、一地址指令、零地址指令
以三地址指令为例:OP为操作符,A1,A2,A3分别为操作数。

寻址方式:
①立即寻址方式:操作数直接放在指令中,速度快,灵活性差
②直接寻址方式:指令中存放的是操作数的地址
③间接寻址方式:指令中存放了一个地址,这个地址对应的是操作数的地址
④寄存器寻址方式:寄存器存放操作数
⑤寄存器简介寻址方式:寄存器内存放的是操作数的地址

CISC(复杂指令集计算机)与RISC(精简指令集计算机)

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构

1.5 流水线技术(常考)

区别并行与并发:
并行:两个及以上的时间在同一时刻发生
并发:两个及以上的事件在同一时间间隔发生

流水线技术的概念:是将一个重复的时序过程分解为若干个子过程,而每一个子过程都可以有效的在其专用功能段上与其他子过程同时执行

一条指令的执行过程可分解为取值、分析、执行三步

流水线的相关参数:

流水时空图:横向表示时间,纵向指系统资源

层次化存储结构

Cache:(常考)
在计算机存储系统体系中,Cache是访问速度最快的层次(若涉及到寄存器,则寄存器最快)
Cache改善系统性能的依据是程序的局部性原理
局部性原理包括时间局部性和空间局部性
时间局部性:如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
空间局部性:是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。

依据这个原理,可以消除系统指令抖动
Cache的命中:在CPU访问时,对应数据在Cache中,则称命中,反之成为失效。

Cache映像:
不同映像方式特点:

1.7 主存——编址与计算

编址方式:
①按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
②按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节

根据存储体所需要的容量和选定存储芯片的容量,就可以计算出所需芯片的总数,即

总线:一条总线同一时刻仅允许一个设备发送,但允许多个设备同时接收
总线的分类:数据总线、地址总线、控制总线

串联与并联系统:《常考可靠度计算》
计算方法:

1.8 校验码

码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制数成为数据校验码的码距

奇偶校验:由若干个位有效信息再加上一个二进制位(校验位)组成的校验码,检验方式是各位进行异或运算
奇校验:校验结果为1则认为正确
偶校验:校验结果为0则认为正确
效果:可检查一位错误,但是不能纠错

循环冗余校验码(CRC):
将数据位对某个生成多项式进行模2除,将得到的余数追加到数据位后面(保证形成的校验码一定可以被生成多项式整除)形成校验码。

将接收到的码对生成多项式进行相除,若余数为0则认为正确,反之认为出错
效果:可以检错,不能纠错

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构
例子:
要计算原始信息位为101101100的海明校验码。
先用m+k+1 因为海明校验码是放在2的幂次位上,所以插在位置1,2,4,8中
中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构
用到的校验码是看 当前位置由哪几个 校验码所在的位置的和
校验码的位置是1,2,4,8。位置3= 1 + 2,所以位置3用到的校验码是1和2;位置7 = 1 + 2 + 4组成的,所以位置7用到的校验码是1,2和4。

然后将校验码校验的位置记录下来:

校验码1(位置1):3,5,7,9,11,13
校验码2(位置2):3,6,7,10,11
校验码3(位置4):5,6,7,12,13
校验码4(位置8):9,10,11,12,13
注意:后面的数字串是位置的下标,不是值,值还是0或1。

然后做异或运算(相同时为0,不同时为1)

校验码1(位置1):1 xor 0 xor 1 xor 0 xor 1 xor 0 = 1
校验码2(位置2):1 xor 1 xor 1 xor 1 xor 1 = 1
校验码3(位置4):0 xor 1 xor 1 xor 0 xor 0 = 0
校验码4(位置8):0 xor 1 xor 1 xor 0 xor 0 = 0

中级软件设计师——上午题部分:前言与第一章计算机组成与体系结构
效果:既能检错,也能纠错

来源:不兑水的柠檬茶

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月16日
下一篇 2022年10月16日

相关推荐