zoukankan      html  css  js  c++  java
  • 软考计算机系统知识

    考点归纳

    1、数值的计算

    各进制数相互间的转换、二进制的特点、原码、反码、补码、移码的特点、数值的表示范围

    2、计算机系统的组成

    计算机包含的部件、常见的寄存器及各寄存器的作用重点、计算机的性能和基本工作原理、计算机体系结构的分类、指令系统基础、寻址方式重点、CISC和RISC、流水线工作原理、流水线的计算重点、总线系统

    3、存储系统

    存储器的分类、主存-Cacher的工作原理、命中率计算、存储芯片容量计算重点、虚拟存储器重点、RAID类型和特点、主存、存储器地址编码

    4、可靠性与性能评价

    可靠性计算重点、系统性能评价

    5、校验码

    循环冗余校验码(CRC)、海明效验码、奇偶校验码的基本原理

    6、输入输出

    常见的I/O设备、I/O控制方式

    基础知识

    硬件基本组成

    • 计算机系统是由硬件与软件组成的
    • 计算机系统的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备
    • 运算器与控制器等部件被集成为CPU
    • 存储器分内存与外存
    • 输入设备与输出设备统称外部设备

    中央处理单元CPU

    • 功能:程序控制、操作控制、时间控制、数据处理以及对系统内外的中断做出响应并及时处理
    • 组成:运算器、控制器、寄存器组
    • 运算器
      • 算术逻辑单元ALU:负责处理数据,实现对数据的算术运算和逻辑运算
      • 累加寄存器AC:为ALU提供一个工作区,维持ALU的运算
      • 数据缓冲寄存器DR:对内存储器进行读/写操作时,暂时存放其指令或数据字,将不同时间段的数据分隔
      • 状态条件寄存器PSW:保存由指令运行或测试的结果建立的各种条件码内容
    • 控制器
      • 指令寄存器IR:当CPU执行一条指令时,先将它从内存储器取到缓冲寄存器中,再送入IR暂存
      • 程序计数器PC:寄存信息、计数功能
      • 地址寄存器AR:保存当前CPU所访问的内存单元的地址
      • 指令译码器ID:对指令中的操作码字段进行分析解释,识别操作
      • 寄存器组
        • 分专用寄存器、通用寄存器

    数据表示

    • 进制转换

      • 十进制转二进制
        把被转换的十进制整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简称“除2取余法”。
      例: (221)10=(11011101)2
      
      • 二进制转十进制
        方法是:二进制数按权展开求和。
      例:(10110)2转换成十进制数(22)10
      
    • 原码、反码、补码和移码

      • 1、带符号数的表示
        通常的做法是约定一个数的最高位为符号位,若该位为0,则表示正数;若该位为1,则表示负数。
        在这里插入图片描述

        1.原码
        用最高位表示符号位,数值部分用二进制绝对值表示,这就是原码的表示方法。

        例如:+11的原码:00001011    -11的原码是:10001011
        

        2.反码
        原码变反码规则:正数的反码和其原码形式相同,负数的反码是除符号位,其他各位逐位取反(即0变1,1变为0) 。

        +11的原码:00001011    
        -11的原码是:10001011 
        例如:+11的反码:00001011    -11的反码是:11110100
        

        3.补码
        补码规则为:正数的补码和其原码形式相同,负数的补码是原码除符号位以外逐位取反(即0变1,1变为0),最后在末尾加1。

        +11的原码:00001011    
        -11的原码是:10001011 
        例如:+11的补码:00001011    -11的补码是:11110101
        

        将补码转换为真值:[[X]补]补=[X]原

        4.移码(增码)
        无论正数、负数,在补码的基础上对符号位取反,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。

        +11的补码:00001011    
        -11的补码是:11110101 
        例如:+11的移码:10001011    -11的移码是:01110101
    • 负数的左移右移
      • 1)负数的右移:负数右移的话,由于要保持它是负数,所以负数的二进制的右边补1。如果一直右移的话,最后就就变成0xFFFFFFFF 即-1
        如: -4>>1 为-2 ;-4>>2为-1

      • 2)负数的左移:跟正整数左移一样,右边补0,一直左移的话,最后就是0啦。-2<<2 为-4 ; -2<<31为0
          

    • 定点数与浮点数

      • 计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。

        1、定点数

        • 定点整数:小数点的位置固定在最低位的右边,不占位
        • 定点小数:小数点的位置固定在符号位与最高数值位之间,表示一个纯小数。

        2、浮点数
        用类似科学计数法来表达,即
        N=M*Re
        M称为尾数,R称为基数,e为阶码(指数)
        比如 1001.101 的规范浮点数表达为 1.001101 ×23

        浮点数利用指数达到了浮动小数点的效果,从而灵活地表达更大范围的实数。

      • 原码定点整数-(-1+2(n-1))~+(-1+2(n-1)),定点小数-(1-2(1-n))~+(1-2(1-n))

      • 反码定点整数-(-1+2(n-1))~+(-1+2(n-1)),定点小数-(1-2(1-n))~+(1-2(1-n))

      • 补码定点整数-2(n-1)~+(-1+2(n-1)),定点小数-1~+(1-2^(1-n))

      • 移码定点整数-2(n-1)~+(-1+2(n-1)),定点小数-1~+(1-2^(1-n)) -

    • 校验码

      • 奇偶校验码:在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数,使码距变为2

        • 奇偶校验较简单,串口通信中使用奇偶校验作为数据校验的方法 。
        • 奇校验:被传输的有效数据中“1”的个数是奇数个,校验位 填“0”,否则填“1”;
        • 偶校验:被传输的有效数据中“1”的个数是偶数个,校验位 填“0”,否则填“1”。
        例:奇校验 1000110(0) 
        偶校验 1000110(1)
        

        使用一位奇偶校验的方法能够检测出一位错误,但无法判断是哪一位出错。
        当发生两位同时出错的情况时,奇偶校验也无法检测出来。所以奇偶校验常用于对少量数据的校验,如一个字节。

      • 海明码:设数据位是n位,校验位是k位,其关系:-1+2^k >= n+k

        • 还需要记住以下几个关键的关系。
          • 可查出多少位错误:可以发现“ ≤码距-1” 位的错误。
          • 可以纠正多少位错误:可以纠正“ <码距/2” 位的错误,因此如果要能够纠正n位错误,所需最小的码距应该是“ 2n+1” 。
        1. 海明码的原理
          在数据中间加入几个校验码,码距均匀拉大,当某一位出错,会引起几个校验位的值发生变化。
        2. 海明不等式:
          校验码个数为k,可以表示2k个信息,1个信息用来表示“没有错误”,其余2k -1个表示数据中存在错误,如果满足2k-1≥m+k( m+k为编码后的数编总长度),则在理论上k个校验 码就可以判断是哪一位(包括信息码和校验码)出现了问题。
        3. 海明码的编码规则
          校验位依次放在第2i(i=0,1,2,3…)位,其余位置为信息位。
          在这里插入图片描述
          4个信息位k0,k1,k2,k3;3个校验位r0,r1,r2。
          第 i 个信息位的位数为参与校验它的校验位的位数之和。
          如上例 7=4+2+1;6=4+2;5=4+1;3=2+1。
          在这里插入图片描述
          若三个校验方程都成立,即方程式右边都等于0,则说明没有出现错误。若不成立,即方程式右边不等于0,说明有错。 从三个方程式右边的值,可以判断那一位出错。出错位置为从下向上看相应的二进制数值,若三个方程式右边的值为100,说明第4位出错。
      • 循环冗余效验码CRC:若信息码是k位,则校验码即为n-k位,n为CRC码的字长

        •   例:信息位为1010 0110,生成多项式为 
            a(x)= X5+X4+X+1,则: 
            1010 0110 左移5位-> 1010 0110 0000 0 
            用1010 0110 0000 0 和110011 进行模2运算(异或) 
            余11000 
            即校验码11000,所以CRC码是1010 0110 11000。
          

    计算机体系结构

    • 体系结构的发展
      • 常见的分类法包括Flynn、冯氏分类法两种。

      • 根据指令流、数据流和多倍性三方面进行分类。
        在这里插入图片描述

      • 流水线技术
        流水线技术是指在程序执行时,多条指令重叠进行操作的一种任务分解技术。把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来负责执行,而这些执行机构可以同时并行工作。

      • (1)计算执行时间

        • 假定有某种类型的任务,可分成N个子任务,每个子任务需要时间t,则完成该任务所需的时间为N×t
        • 若以传统的方式,完成k个任务所需的时间是kNt
        • 使用流水线技术,花费的时间是Nt+(k-1)t

        注意,如果每个子任务所需的时间不同,其时间取决于执行顺序中最慢的那一个。
        例1:若指令流水线把一条指令分为取指令、分析和执行三部分 ,三部分的时间分别是取指令2ns,分析2ns,执行1ns。最长的是2ns,因此100条指令全部执行完毕所需要的时间是:

        (2ns+2ns+1ns)+(100-1) x2ns=203ns
        

        吞吐率为 100×109 /203=4.93×108/s

        • ①流水线的吞吐率 TP=n/Tk
          指在单位时间内流水线所完成的任务数量或输出的结果数量。
          n为任务数,Tk是处理完成n个任务所用的时间
        • ②加速比
          是指不采用流水线的执行时间/采用流水线的执行时间。
          用来衡量并行系统或程序并行化的性能和效果。
          例1中的加速比为 500/203=2.46
          (如果不采用流水线,则执行100条指令需要500 ns)。
      • (2)影响流水线的主要因素

        • 转移指令:因为前面的转移指令还没有完成,流水线无法确定下一条指令的地址,因此也就无法向流水线中添加这条指令。
        • 共享资源访问的冲突:后一条指令需要使用的数据,与前一条指令发生冲突,或者相邻的指令使用了相同的寄存器
        • 响应中断:当有中断请求时,流水线也会停止。对于这种情况有两种响应方式:
        • 精确断点法:立即停止,这种方法能够立即响应中断;
        • 不精确断点法:流水线中的指令继续执行,不再新增指令到流水线。
        • 指令系统
          • CISC复杂指令集计算机
          • RISC精简指令集计算机
            在这里插入图片描述
      • 存储系统

        • 分类
          • 按所处位置分:内存、外存
          • 构成材料分类:磁存储器、半导体存储器、光存储器
          • 工作方式分:读/写存储器、只读存储器
          • 按寻址方式分类:随机存储器RAM、顺序存储器SAM、直接存储器DAM
        • 相联存储器
        • 高速缓存
        • 虚拟存储器
        • 外存储器
        • 磁盘阵列技术
      • 输入/输出技术

      • 总线结构

        • 分类:数据总线、地址总线、控制总线

    安全性、可靠性与系统性能评测基本知识

    • 安全概述
      • 计算机的安全等级:A1>B3>B2>B1>C2>C1>D
      • 安全威胁:授权侵犯、拒绝服务、窃听、信息泄露、截获/修改、假冒、否认、非法使用、人员疏忽、完整性破坏、媒体清理、物理入侵、资源耗尽
    • 影响因素
    • 加密与认证技术
      • 加密技术
        • 对称加密算法:DES、3DES、RC-5、IDEA、AES
        • 非对称加密算法:RSA、
      • 认证技术
        • 机构认证、数字证书库、密钥备份与恢复系统
        • MD5是一种Hash函数
    • 计算机可靠性
      • 串联系统:R=R1R2R3……
      • 并联系统:R=1-(1-R1)(1-R2)……(1-Rn)
    • 系统的性能评价
      • 常用方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法
      • 基准测试程序

    这一章主要知识点就这么多!!!如有不足,请留言!

    欢迎查阅
  • 相关阅读:
    《你说对就队》第四次作业:项目需求调研与分析
    《你说对就对队》第三次作业:团队项目的原型设计
    《你说对就队》第二次作业:团队项目选题报告
    《你说对就队》第一次作业 团队亮相
    实验十一 团队作业7:团队项目设计完善&编码1
    《你们都是魔鬼吗 团队》 第六次作业 团队项目系统设计改进与详细设计
    团队项目改进
    《你们都是魔鬼吗团队》第四次作业:项目需求调研与分析
    《你们都是魔鬼吗团队》第三次作业:团队项目的原型设计
    <你们都是魔鬼吗>第二次团队作业:团队项目选题
  • 原文地址:https://www.cnblogs.com/gh110/p/11827744.html
Copyright © 2011-2022 走看看