中级软件设计师备考---计算机组成与体系结构3
Posted 轩轩馒头铺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中级软件设计师备考---计算机组成与体系结构3相关的知识,希望对你有一定的参考价值。
目录
①磁盘工作原理
计算题
②计算机总线
概念题
③系统可靠性分析
计算可靠度
④校验码
-
码距:是指两个码字之间的不同位数。例如,1010和1111之间的码距是2,因为它们在第二位和第三位上不同。在信息传输中,码距越大,就越容易检测和纠正错误。
-
在一个码组内为了检测e个误码,要求最小码距d应满足:d>=e+1
-
在一个码组内为了纠正t个误码,要求最小码距d应满足:d>=2t+1
CRC循环校验码
假设我们有一个11位二进制数据11001010101【原始报文】,我们想要使用CRC循环校验码来检测数据传输中是否出现了错误。我们可以使用以下步骤:
-
选择一个生成多项式,例如x4 + x3 + x + 1。
-
将数据位添加n个0,n为生成多项式的最高次数,即4。在本例中,我们需要在数据末尾添加4个0,变为110010101010000【被除数】。
-
根据生成多项式获得【除数】为11011。
-
用数据位除以生成多项式,得到【余数】。在本例中,我们可以使用模2法来计算,得到余数为0011。
-
将余数添加到原数据末尾,得到110010101010011。这就是我们的CRC循环校验码。
在数据传输过程中,接收方也可以使用相同的生成多项式和步骤来计算CRC循环校验码【被除数:110010101010011;除数:11011;余数为0则正确】,并将其与接收到的数据进行比较。如果两者不一致,则说明数据传输中出现了错误。
总之,CRC循环校验码是一种简单而有效的数据校验方法,可以在数据传输中检测出错误并进行纠正。它被广泛应用于计算机网络、通信和存储系统中。
海明校验码
海明校验码作为一种纠错码,它通过在数据中添加校验位来检测和纠正错误。海明码的校验位和信息位的关系如下:
-
校验位的数量:海明码的校验位数量是2的幂次方减1,即2^m-1,其中m为校验位数。
-
校验位的位置:海明码的校验位的位置是2的幂次方,即1、2、4、8、16等位置。
-
信息位的数量:海明码的信息位数量是总位数减去校验位数,即2^m-m-1。
-
校验位的计算:每个校验位的值是对应信息位的异或和,例如校验位1的值是第1、3、5、7等位置的信息位的异或和。
-
错误检测和纠正:如果接收到的数据与发送的数据存在差异,海明码可以检测出错误的位置,并根据校验位的值来纠正错误。
-
假设有一个4位二进制数1011,我们想要使用海明校验码来检查它的正确性,我们可以使用以下步骤:。
- 首先,我们需要确定校验位的数量。根据海明校验码的公式,校验位的数量应该是最小的n,使得2n>= n + m + 1,其中m是数据位的数量。在这种情况下,m = 4,因此我们需要至少3个校验位。
- 接下来,我们将数据位和校验位排列成一个矩阵,其中每个校验位的位置是2的幂次方(1、2、4、8等)。在这种情况下,我们需要在位置1、2和4上放置校验位【也可以由此来判断需要几个校验位】。
- 然后,我们计算每个校验位的值,以便总和(包括校验位)为偶数。这个值可以通过将与该校验位相关联的数据位相加来计算。【7=22+21+20,6=22+21,5=22+20,3=21+20;因此,r2= I4 ⊕ I3 ⊕ I2, r1= I4 ⊕ I3 ⊕ I1,r0= I4 ⊕ I2 ⊕ I1】
位数 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|
信息位 | I4=1 | I3=0 | I2=1 | I1=1 | |||
校验位 | r2=0 | r1=0 | r0=1 |
- 现在,我们可以将原始数据位和校验位组合成一个新的4位二进制数1010101。如果在传输过程中发生任何错误,接收方可以使用海明校验码来检测错误并纠正它们。【例如,接收到数据之后,接收方可以计算校验位的值,并与原始检验位异或运算,发现在某位置上存在错误。通过将该位从0更改为1【或从1改为0】,接收方可以纠正错误并恢复原始数据1011。】
- 假设发送方要发送一个8位的二进制数据01101001,并采用海明校验码进行纠错,具体步骤如下:
- 将8位数据分成4组,每组2位,分别为:01、10、10、01。
- 对每组数据进行奇偶校验,如果2位中有奇数个1,则校验位为0,否则为1。校验位分别为:0、1、1、0。
- 将原始数据和校验位组合成一个12位的海明码,为:011001011100。
- 发送方将海明码发送给接收方。
- 接收方收到海明码后,对每组数据和校验位进行奇偶校验,如果校验位与实际数据不一致,则说明出现了错误,可以根据校验位的位置确定错误的数据位。
- 例如,如果接收方收到的海明码为011001011110,校验位4与数据位3不一致,说明第3位数据出现了错误。接收方可以将第3位数据从0改为1,得到正确的数据01111001。
这就是海明校验码的纠错原理,通过添加校验位,可以检测出错误的数据位,并进行纠正。
软考(软件设计师)考点总结 -- 计算机组成与体系结构
软考(软件设计师)考点总结:https://blog.csdn.net/Lzy410992/article/details/117321579
数据的表示
进制转换:
十进制转R进制 : 整数位短除法逆序,小数点后乘二取整正序
二进制转八进制与十六进制 : 从小数点处向两边,3/4位为一位转换
原码反码补码移码:
原码: 二进制形式,最高位为符号位,正的符号位为0,负数的符号位1
反码: 正数的跟原码一样,负数的反码除符号位外取反
补码: 正数的跟原码一样,负数的补码为反码 + 1
移码: 作浮点运算的介码,不管是正数还是负数,都在补码的基础上对符号位取反
数值的表示范围:
补码的表示范围多一个是因为 +0 和 -0 的补码相同,少占用一个编码。
浮点数运算:
两个浮点数进行运算时需要先进性对阶:将小阶向大阶对齐(阶数化大),同时位数右移n位(M化小)。
计算机结构
CPU结构(运算器与控制器的组成):
运算器:
算术逻辑单元ALU: 跟运算相关
累加寄存器AC: 常用于ALU执行算数逻辑运算提供数据并暂存运算结果的寄存器
数据缓冲寄存器DR: 对内存储器进行读写操作的时候,用来暂存数据的寄存器
状态条件寄存器PSW: 记录运算中产生的标志信息,每一位单独使用,成为标志位(进位,溢出,中断…)
控制器:控制整个计算机各部件有条不紊的工作,其基本功能是取指令与执行指令
程序计数器PC: 用来存放指令地址,运行时用来获取下一条指令的位置。
指令寄存器IR: 存储正在执行的指令,存储位数由指令字长决定。
指令译码器ID: 分析指令的操作码,来决定操作的性质与分法。
时序部件: CPU执行指令时根据时序部件发出的时钟信号进行相应操作,在取指阶段读取指令,在分析和执行阶段读取数据。
输入输出方式
I/O设备管理软件一般分为四层:中断处理程序、设备驱动程序、与设备无关系统软件、用户级软件。
常用的输入输出方式有:无条件传输、中断、程序查询、DMA方式
程序中断
中断是一种非常重要的技术,输入输出设备和主机交换数据、分时操作、实时系统、计算机网络和分布式计算机系统中都要用到中断技术。为了提高响应中断的速度,通常把所有中断服务程序的入口地址(中断向量)汇集为中断向量表。
程序中断: 程序运行时,CPU暂时终止现行程序,而转去处理更紧迫的事件,在处理完成后CPU将自动返回原程序继续执行。
进行中断处理时,为了能够返回到被中断的程序继续执行,需要保护现场。实现多级中断嵌套时,可以使用堆栈来保护断点和现场。
中断响应时间: 从发出中断请求到开始进入中断服务程序所需的时间。
DMA:
直接内存存取DMA:在内存与I/O传送数据块过程中,不需要CPU的任何干涉,只需要CPU在过程考试启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。
在微机系统中,BIOS(基本输入输出系统),是一个固化到计算机内主板上一个ROM芯片上的程序,用来保存计算机最重要的基本输入输出的程序、开机自检程序、系统自动启动程序,可以从CMOS中读写系统设置的具体信息。
指令系统
局部性原理:
局部性原理主要是指计算机在处理相关的数据和程序的时候,一般都会有某一个时段集中的去访问某些指令或者读取某些空间的数据。
时间局部性:程序中某条指令被执行,则不久的将来,该指令可能再次被执行。
空间局部性:程序访问某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。
工作集理论::将频繁访问的页面的集合打包起来,使频繁访问的可以一起调入进来,短时间内不被替换出Cache,以提高效率。
寻址方式:
立即数寻址:操作数包含在指令中。
直接寻址:操作数存放在内存单元中,指令中给出操作数内存单元的地址。
寄存器寻址:操作数存放在寄存器中,指令中存放操作数的寄存器名。
寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
间接寻址:指令中给出操作数地址的地址。
相对寻址:指令地址吗给出一个偏移量,操作数地址等于本指令的地址加上该偏移量。
变址寻址:操作数地址等于编制寄存器的内容加偏移量。
CISC和RISC:
CISC 指令长度不固定,指令数量多,使用频率差别大,支持多种寻址方式,通过微程序控制技术实现。
RISC指令长度固定,指令数量尽量少,寻址方式少,增加了寄存器数目而减少了访问次数,采用硬布线的方式快速完成指令译码。
流水线:
流水线计算:
计算公式:*一条指令所需时间+(指令条数-1)时间最长的指令的一段
流水线吞吐率:
例:输入8条指令时的吞吐率:
TP=8/(3▲t*7+7▲t)=8/28▲t
流水线的加速比计算:
流水线的效率计算:当流水线的每一个工作段的时长是相等的情况,效率最高
Flynn分类法:
层次化存储结构
CPU对计算器的访问速度:寄存器 > Cache > 内存 > 外存,
计算机系统中高速缓存一般采用SRAM,集成度低、速度快、成本高;内存一般采用DRAM,集成度高,但需要动态刷新;外存一般采用磁盘存储,速度慢、容量大、便宜。采用分级存储体系来解决速度、存储容量和成本之间的矛盾。
虚拟存储器由主存-辅存两级存储器组成,为用户提供一个比主存储器大得多的可随机访问的地址空间技术。
Cache:
Cache是高速缓存存储器,为了提高系统处理速度将主存部分存储空间中的内容(按照局部性原理选取的最常用或不久将使用的内容)复制到工作速度更快的Cache中,Cache与主存之间的映射都是由硬件自动实现的。
Cache与主存之间的映射关系:
全相联映射:主存中任一块都可以映射到Cache中任一块。冲突概率低、空间利用率高、成本高、查表慢。
直接相联映射:主存中的某j块只能映射到Cache中满足特定关系的某i块。硬件简单、不需要相连存储器(一种按内容访问的存储器)、访问速度快、冲突率高、空间利用率低。
组相联映射:兼顾两种方式的优点,将主存与Cache按同样的大小划分为块。块与块之间采用直接映射,快内部采用全相联映射。
主存:
随机存取存储器(RAM),只读存储器(ROM),内存属于随机存取存储器,特点: 内存一旦断电,内存当中的数据都将被清除掉。只读存储器(ROM):断电之后依然能存储相应的信息。
存储器划分:
访问方式: 按地址访问寄存器、按内容访问寄存器
寻址方式:
随机存储器RAM:对于任何存储单元存入和读取数据,访问任何一个存储单元所需时间是相同的。
顺序存储器SAM:访问数据所需的时间与数据所在的存储位置相关,磁带是典型的顺序存储器
直接存储器DAM:介于随机与顺序存取之间的一种寻址方式。
主存的编址实际上就是将芯片组成相应的存储器。
例题:
答案:B、A
磁盘工作原理:
例题:
答案:C、B
总线系统
总线结构:
- 内部总线: 微机内部各个外围的芯片与处理器之间的总线
- 系统总线: 微机中各个插件板和系统板之间的总线
- 外部总线: 微机和外部设备的总线。
三总线结构:
数据总线DB:用来传输数据
地址总线AB:假设地址总线是32位,说明他代表的地址空间是232
控制总线CB:发送控制信号的总线
串行总线:将数据一位一位传输,数据线只需一根(双向两根),适合长距离数据传输,但是传输速度慢,性能不高。
并行总线:将数据多为同时传输,传输速度快,但是长距离下成本高。
专用总线:可以连接设备实现最佳匹配。
总线宽度: 总线的线数,即数据信号的并行传输能力。
总线带宽: 总线的最大数据传输率,即每秒传输的数据总量。总线宽度与时钟频率共同决定总店带宽。
可靠性分析
串联系统: 整个系统的子系统都必须正常运行,整个系统才正常。
并联系统: 并联是多个子系统并在一起,并联的时候只要有一个子系统正常运行,则整个子系统就能正常运行。
模冗余系统:
在面向一些高可靠性的系统的要求的时候,提高系统可靠性可以通过冗余的方式来进行(R1,R2…Rm,多个模块是独立的,都做同样职能,都做同样的计算,它们分别计算出结果,系统到底采纳哪一个结果则通过表决来决定,所以R1~Rm的结果都会汇总到表决器)少数服从多数。
混合系统:
从整体来讲,属于串行,可以先将中间并联和右边并列的分别求出可靠度,然后再看作一个串行,将可靠度累乘起来。
软件质量基础:可靠性、可用性、可维护性
可靠性: 系统对于给定时间间隔内、在给定条件下无失效运作的概率,MTTF/(1+MTTF),MTTF(平均无故障时间)
可用性: 给定时间点上,一个系统,能够按照规格说明正确运行的概率。MTBF/(1+MTBF),MTBF(平均失效间隔时间)
可维护性: 给定条件下,在规定时间间隔内,使用规定的过程和资源完成维护活动的概率。1/(1+MTTR),MTTR(平均修复时间)
差错控制
A、B的码距: 将A的编码变为B的编码需要改的位数。
校验方法:
奇偶校验:若有奇数个数据位出错,则可以检测出该错误并加以纠正。串口通信中使用奇偶校验作为校验方法。
循环冗余校验: 采用模二运算(按位异或)来构造校验位进行校验(可以检错,不可以纠错),广泛用于数据通信领域和磁介质存储系统中。
循环校验码CRC:利用生成多项式进行编码,由k个数据位后跟r个校验位组成。
海明校验码:
海明码利用奇偶性进行检错和纠错,被广泛应用于内存。
海明码数据位与校验位之间关系:2k≥n+k+1,n是数据位,k是校验位
软考历年真题及B站相关视频课件:
链接:https://pan.baidu.com/s/1e4d1-HGOzcEVHSK8Q0j_xA
提取码:acij
以上是关于中级软件设计师备考---计算机组成与体系结构3的主要内容,如果未能解决你的问题,请参考以下文章
计算机与软件专业技术资格(水平)中级网络工程师考试都考哪些内容?