软考-计算机系统基础知识

这里写目录标题

    • 计算机硬件组成
    • 中央处理单元
      • CPU的功能
      • ⭐CPU的组成
    • 数据表示
      • 进制的表示
      • 机器数
    • 校验码
      • CRC
      • 海明码

计算机硬件组成

  • 计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
  • 运算器、控制器等部件被集成在一起统称为中央处理单元(CPU)
    • CPU是硬件系统的核心,用于数据的加工处理、能完成各种算数、逻辑运算及控制功能
  • 存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。
    • 内部存储器速度高、容量小,一般用于临时存放程序、数据及中间结果。
    • 外部存储器容量大、速度慢、可以长期保存程序和数据。
  • 输入设备和输出设备合称为外部设备(简称外设)。
    • 输入设备用于输入原始数据及各种命令。
    • 输出设备用于输出计算机运行的结果。

中央处理单元

CPU的功能

  • 程序控制:CPU通过执行指令来控制程序的执行顺序,这是CPU的重要功能。
  • 操作控制:一条指令功能的实现需要若干操作信号配合完成,CPU产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。
  • 时间控制:CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现时间顺序都需要进行严格控制。
  • 数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。

此外,CPU还需要对系统内部和外部的中断、异常做出响应,进行相应的处理

⭐CPU的组成

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

  • 运算器:由算数逻辑单元ALU(实现对数据的算术和逻辑运算)、累加寄存器AC(运算结果或源操作数的存放区)、数据缓冲寄存器DR(暂时存放内存的指令或数据)和状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
  • 控制器:由指令寄存器IR(暂存CPU执行指令)、程序计数器PC(存放指令执行地址)、地址寄存器AR(保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码)等组成。控制整个CPU的工作,最为重要

CUP依据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或者数据。

数据表示

进制的表示

二进制、十六进制,一般在题目中会给出中文说明,如果没给出,注意二进制符号为0b,一般表示为0b0011,十六进制符号为0x或H,可表示为0x18或18FH(十六进制可表示0-15,其中10-15用A-F来表示)

  • R进制整数转十进制:用R进制数的每一位乘以R的n次方。
  • 十进制转R进制:整数除以R倒取余数
  • m进制转n进制:先将m进制转化为十进制数,再将十进制数转化为n进制数
  • 二进制转八进制:每三位二进制数转换为一位八进制数,位数不够补0
  • 二进制转十六进制:每四位二进制数转换为一位十六进制数,位数不够补0

机器数

各种数值在计算机中表示的形式,其特点是使用二进制计数制,数的符号用0和1表示,小数点则隐含,不占位置

  • 定点表示分为纯小数纯整数两种,其中小数点不占存储位,而是按照以下约定:
    • 纯小数:约定小数点的位置在机器数的最高数值位之前。
    • 纯整数:约定小数点的位置在机器数的最低数值为之后。
  • 真值:机器数对应的实际数值。
  • 原码:一个数的正常二进制表示,最高位表示符号,数值0的源码有两种形式:+0(0 0000000)和-0(1 0000000)。-45对应原码为10101101
  • 反码:正数的反码即源码;负数的反码是在原码的基础上,除符号位外,其他各位按位取反。数值0的反码也有两种形式:+0(0 0000000),-0(1 1111111)。-45对应反码为11010010
  • 补码:正数的补码即原码;负数的补码是在原码的基础上,除符号位外,其他各位按位取反,而后末位+1,若有进位则产生进位。因此数值0的补码只有一种形式+0=-0=0 0000000。-45对应补码为11010011
  • 移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到移码。-45对应移码为01010011

软考-计算机系统基础知识_第1张图片

校验码

  • 码距:在两个编码中,从A码到B码转换所需要改变的位数称为码距。
    • A(00)要转换为B(11),码距为2
    • 一般来说,码距越大,越利于纠错和检错
  • 奇偶校验码:在编码中增加1位校验码来使得编码中1的个数位奇数(奇校验)或者偶数(偶校验),从而使码距变为2
    • 奇校验:编码中,含有奇数个1,发送给接收方,接收方收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,是偶数个,则有误。
    • 偶校验同理
    • 由上述,奇偶校验只能检1位错,并且无法纠错

CRC

CRC只能检错,不能纠错

使用CRC编码,需要先约定一个生成多项式G(x)。生成多项式的最高位和最低位必须是1.

  • 假设原始信息有m位,则对应多项式M(x)。生成校验码思想就是在原始信息位后追加若干校验位,使得追加信息能被G(x)整除
  • 接收方接受到带校验位的信息,然后用G(x)整除。余数位0,则没有错误;反之则发生错误。

例:假设原始信息串为10110,CRC的生成多项式为G(x)=x^4+x+1,求CRC校验码。
(1)在原始信息位后面添0,假设生成多项式的阶为r,则在原始信息位后添加r个0
G(x)阶为4,则在原始信息串后加4个0,得到的新串为10110 0000,作为被除数。
(2)由多项式得到除数,多项中x的幂指数存在的位置1,不存在的位置0。
本题中,x的幂指数为0,1,4的变量都存在,而幂指数为2、3的不存在,因此得到串10011.
(3)生成CRC校验码,将前两步得出的被除数和除数进行模2除法运算(即不进位也不错位的除法运算)。
得到余数1111(余数不足,则余数左边用若干个0补齐。)
(4)生成最终发送信息串,将余数添加到原始信息后。
上例中,原始信息为10110,添加余数1111后,结果为10110 1111。发送放将此数据发送给接收方。
(5)接收方进行校验。接收方的CRC检验过程与生成类似,接收方接收了带校验和的帧后,用多项式G(x)来除。余数为0,则表示信息无措;否则要求发送方进行重传。

海明码

本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入k个校验位,通过扩大码距实现检错和纠错

数据位是n位,校验位是k位,则n和k必须满足一下关系:2^k-1 >= n+k

例:求信息1011的海明码
(1)校验位的位数和具体的数据位的位数之间的关系
所有位都编号,从最低位编号,从1开始递增,校验位处于2的n次方中。
(2)计算校验码
所有信息位的编号都拆分成二进制表示,如下图所示:
在这里插入图片描述
计算出三个校验位后,可知最终要发送的海明校验码为1010101
(3) 检错和纠错原理
接收方收到海明码之后,会将每一位校验位与其校验的位数分别异或,即做如下三组运算:
在这里插入图片描述
如果是偶校验,那么运算得到的结果应该全为0,如果是奇校验,应该全为1,才是正确。
假设是偶校验,且接收到的数据为1011101,此时运算结果为:
在这里插入图片描述
这里不全为0,表明传输过程有误,并且按照排列为二进制100。
这里指出的就是错误的位数,表示第100,即第四位出错,纠错方法就是该位逆转。

软考-计算机系统基础知识_第2张图片

你可能感兴趣的:(程序人生,学习方法)