软考_软件设计师_计算机组成与体系结构篇(8k字干货只为助力备考软考的你)

第一章.计算机组成与体系结构

前言

该笔记是本人备考软件设计师时学习并且整理出来的,分享在本站方便自己日后复习也方便其他人学习,转载请备注。

点这里查看??软考_软件设计师历年考点分布总结

第一节.数据的表示

  1. R进制转十进制:

    R进制转十进制使用的是按权展开法

    例如二进制数10100.01转十进制:12-2+02-1+0*20+021+1*22+0*23+1*24=0.25+4+16=20.25

    例如八进制数256转十进制:680+5*81+28^2=6+40=128=174

  2. 十进制转R进制:整数位使用短除法,即将十进制数除以R再取余,直至余数归零,再将余数由下往上按顺序排列,小数位则乘以R,每乘一次就取它的整数位(整数位为0就取0),直至小数位为零,然后取得整数位由上往下排序即可:

    图:

    软考_软件设计师_计算机组成与体系结构篇(8k字干货只为助力备考软考的你)

    二进制转换十六进制

    每四个二进制位对应一个十六进制位

    图:

    1616911890697
  3. 数值范围,其中n一般为8

    1616912286661

    CPU由运算器和控制器组成

    第三节.计算机体系结构分类

    1616912713868

    第五节.流水线

    1. 流水线:流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种不见同时处理时针对不同指令而言的,他们可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

      1616914298225

      a1:线周期为执行时间最长的一段,即流水线周期为2ns

      a2:(t1+t2+t3+…tk)+(指令条数n–1)*流水线周期,100条指令执行完毕需要的时间为(2+2+1)+(100-1)*9=203

      实践公式计算为:(3+100-1)*流水线周期=204

      ps: 计算时优先用理论公式,选项中没有该答案时再采用实际公式


    2. 流水线-流水线吞吐率计算

      流水线的吞吐率(though put rate)TP是指在单位时间内流水线所完成的任务数量或输出的结果数量,计算流水线吞吐率的最基本的公式如下:

      TP=指令条数 / 流水线执行时间

      1616915085110

    其中n为指令条数,k为每条指令的步骤数, ? t为流水线周期,1/ ? t为理想状态

    4.流水线——流水线的加速比

    完成同样一批任务。不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比,计算流水线加速比的基本公式如下:

    S=不使用流水线执行时间 / 使用流水线执行时间

    例题:

    1616916769384

    注:所有步骤花费时间相等的指令执行的效率最高


    第六节.层次存储结构

    1616920526829

    图一代表有八个地址空间,每个地址空间存储4bit的数据

    图二代表有8个地址空间,每个地址见空间存储8bit的数据

    图三表示有16个地址空间,每个地址空间存储4bit的数据

    内存地址从AC000H到C7FFFH,共有___K个地址单元,如果该内存地址按(16bit)编址,由28片存储器芯片构成,已知构成此内存的芯片每片有16K个存储单元,则该芯片每个存储单元存储___位。

    解析:C7FFFH-AC000H+1 = 1C000H –> 1C000H/2^10 = 112 ;共有112K个地址单元。2816K N = 112K * 16 –> 求解得N = 4

    该题是16进制运算 从最后一位的H就可以看出
    十六进制 1 2 3 4 5 6 7 8 9 A B C D E F
    F+1=0,向高位进1,所以C7FFFH + 1 = C8000H

    第九节.磁盘结构与参数。

    1617008871975

    为了方便理解用示意图理解:

    1617011252326

    2 .串联系统可靠性的计算:即各个串联子系统可靠性相乘

    3.并联系统结构:少数子系统失效不会影响整个系统

    1617016206753

    数据输入n个子系统中,它们各自得出自己的结果,然后汇总到表决器,表决器将遵循少数服从多数的原则,输出大多数子系统得到的那个答案然后进行输出 。


    第十二节.差错控制–CRC与海明校验码

    1. 什么是检错和纠错/li>

    检错:检查出程序错误

    纠错:检查出程序错误并且纠正错误

    1. 什么是码距/li>

    一个编码系统的码距是整个编码系统中任意两个码字的最小距离。

    码距的作用是能够起到检错的作用,因为数据在传输的过程中有可能链路出现了问题,那么接收方接收到的二进制数将发生变化,若码距过小则可能无法分辨数据的真伪,而增大码距则能够增大二进制数混淆信息的检错率。

    举个栗子:

    1. 码距与检错、纠错有何关系/p>

      1. 在一个码组内为了检测e个误码,要求最小码距e应该满足:d>=e+1
      2. 在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1
    2. 校验码——奇偶校验

      1. 奇偶校验码的编码方法是:由若干位有效信息(如一个字节)再加上一个二进制位(校验位)组成校验码
      2. 奇校验:整个校验码(有效信息为和校验位)中”1“的个数为奇数。
      3. 偶校验:整个校验码(有效信息位和校验位)中”1″的个数为偶数。

      奇偶校验,可检查1位的错误,不可以纠错

    3. 循环校验码CRC

    CRC是一种可以检错但是不能纠错的编码

    具体来讲,在信息编码的时候在尾部加入校验信息,加入校验信息之后让编码后的数据能够与循环校验码生成多项式相除,余数为零,如果余数不能为零,则说明传输过程中出了错误,这个过程中所用到的除法叫模2除法。

    模2除法:是指在除法运算过程中不计进位的除法

    例如,1011对110进行模2除法为:

    1617023326557

    原始报文为 “11001010101”,其生成多项式为:x4+x3+x+1.对其进行CRC编码后的结果为br> 首先要先理解生成的多项式 x4+x3+x+1的含义,其中最高的次方代表二进制的位数,在本例中最高次方为4则生成的二进制数则有5位,x4代表最高位为1,其余以此类推将得到一串二进制码为 11011
    所谓循环校验码的实现就是将原始报文除以这段二进制码,但是再除之前,需要对原始报文先进行补位,如何补位呢,这个也很好补,补上 生成的二进制数的位数-1个 0即可,所以报文将变成110010101010000(补上了4个0)02
    所以这个时候我们用 110010101010000 模二除以 11011
    这里要切记,模二除法与普通的除法不同,模二的除法其实就是对数据进行异或处理。
    什么是异或呢:异或运算是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1
    所以进行异或运算得出结果为:0011

    本题1··1111111111111111111111111

    解析来自:https://blog.csdn.net/nb_zsy/article/details/104086327

    海明校验码

    1617031234908

    上图中校验位数r0、r1、r2分别对应二进制位数20、21、2^2;

    如果题有一个信息位,最终的编码长度为3位长度,如果又两个信息位,则最终编码长度为5

    海明校验码

    既可以检错又可以纠错

    1. 海明校验码的原理是:在有效信息位中后加入几个校验位形成海明码,使海明码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验码中。当某一位出错后,就会引起有关的几个校验位值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供依据。

      2^r >=m+r+1

      /这里的m表示信息位数,r表示校验位数/

      软考中0常用于求校验位数

    文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91536 人正在系统学习中

    来源:404_乌鸦

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

上一篇 2021年3月6日
下一篇 2021年3月6日

相关推荐