软考中级-软件设计师-1.上午题-计算机系统(5-6分)

27 阅读22分钟

1.1 计算机系统基础知识

1.1.1 计算机系统硬件基本组成

计算机是由硬件和软件组成;计算机硬件系统是由运算器、控制器、存储器、输入设备和输出设备组成;运算器和控制器等部件被集成在一起称为中央处理单元(CPU);CPU是硬件系统的核心,用于数据的加工、能完成各种算术、逻辑运算和控制功能。

计算机硬件系统:运算器、控制器、存储器、输入设备和输出设备;

中央处理单元CPU(硬件系统的核心):运算器和控制器等部件;

1.1.2 中央处理单元

中央处理单元(CPU):计算机系统的核心部件,它负责获取程序指令,对指令进行译码并加以执行。

1.1.2.1 CPU的功能

(控制器)

  • 程序控制:通过执行指令来控制程序的执行顺序;
  • 操作控制:一条指令功能的实现需要若干个操作信号配合来完成,CPU产生每条指令的操作信号并将操作信号 送往对应的部件,控制相应的部件按指令的功能要求进行操作;
  • 时间控制:CPU对各种操作进行时间上的控制,即在指令执行过程中操作信号的出现时间,持续时间及出现的 时间顺序都需要进行严格的控制;

(运算器)

  • 数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利 用。所以,对数据的加工处理也是CPU最根本的任务;

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

1.1.2.2 CPU的组成

CPU总的来说是由运算器、控制器和寄存器等部件来组成的;

(1) 运算器(数据加工处理部件,用于完成计算机的各种算术和逻辑运算): 运算器所进行的全部操作都是由 控制器发出的控制信号来指挥的,所以它是执行部件;

功能:

  • 执行所有算术运算,如加、减、乘、除等基本运算及附加运算;
  • 执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。

组成:

  • 算术逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。
  • 累加寄存器(AC):简称累加器,是一个通用寄存器。暂存算术运算或逻辑运算的中间运算结果,运算器中至少有一个累加器。
  • 数据缓冲寄存器(DR):暂存指令或数据字或操作数。
  • 状态条件寄存器(PSW):保存指令执行后的状态。

(2) 控制器

功能:

用于控制整个CPU的工作,决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且能够处理异常事件。

组成:

控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑;

指令控制逻辑: 要完成取指令、分析指令和执行指令的操作,其过程分为取指令,指令译码按指令操作码执行,形成下一条指令地址等步骤。

  • 指令寄存器(IR): 存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站;
  • 程序计数器(PC):存放的是下一条指令的地址,还有计数功能;
  • 地址寄存器(AR):存放的是cpu访问内存单元的地址;
  • 指令译码器(ID) :是把操作码解析成对应的指令操作。

寄存器的位数取决于指令字长;

(3) 寄存器组

专用寄存器(运算器和控制器中的寄存器是专用寄存器)、通用寄存器。

1.1.3 数据表示

1.1.3.1 计算机基本单位

单位符号备注
位(比特)bit(b)计算机最小的存储单位
字节Byte(B)数据表示的最小单位:1B = 8bit
千字节KB1KB = 1024B
兆字节MB1MB = 1024KB
吉字节GB1GB = 1024MB
太字节TB1TB = 1024GB

1.1.3.2 常用进制转换

进制运算规则标识符
二进制逢二进一: 基数为2,数值部分用两个不同的数字0、1来表示;B
八进制逢八进一 :基数为8,数值部分用0、1、2、3、4、5、6、7来表示;O
十进制逢十进一:基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示;D
十六进制逢十六进一:基数为16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文 字母A、B、C、D、E、F来表示十进制数的10至15;H

(1) 八进制转为十进制

计算规则:八进制 -> 二进制 -> 十进制

例如:7341(O) -> 111 011 100 001(B) -> 3809(D)

PS:八进制的每一位都对应二进制的三位(即每位的权值分别为421),7=4+2+1,即表示二进制的111,最后按照二进制转十进制进行计算。

(2) 十六进制转为十进制

计算规则:十六进制 -> 二进制 -> 十进制

例如:5FB(H) -> 0101 1111 1011(B) -> 1531(D)

PS:十六进制的每一位都对应二进制的四位(即每位的权值分别为8421),B=8+2+1,即表示二进制的1011,最后按照二进制转十进制进行计算。

(3) 八进制转为十六进制

计算规则:八进制 -> 二进制 -> 十六进制

例如:76372(O) -> 111 110 011 111 010(B) -> 0111 1100 1111 1010(B) -> 7CFA(H)

PS:由上可将八进制转为二进制(三位一组),但是十六进制每位对应二进制为四位一组,因此变形为后边,在不够四位时,在前边补0组成四位,此时四位的权值为8421,之后在计算出每组的结果即为最后结果。

(4) 十六进制转为八进制

计算规则:十六进制 -> 二进制 -> 八进制

1.1.3.3 原码、反码、补码、移码

符号位:如果机器字长为n,则最高位即为符号位(或最左边的第一位是符号位:0表示正号,1表示负号)。

(1) 原码:原码为符号位加上真值的绝对值,即用第一位表示符号, 其余位表示数值绝对值。

(2) 反码:正数的反码与原码相同,负数的反码则是其绝对值按位取反。

(3) 补码:正数的补码与其原码相同,负数的的补码则等于其反码的末尾加1。

(4) 移码:只要将补码的符号位取反便可获得相应的移码表示。

注:补码的补码即为原码。

1.1.3.4 数值表示范围

码制定点整数定点小数
原码- [2^(n-1)-1] ~ + [2^(n-1)-1]-[1-2^-(n-1)] ~ +[1-2^-(n-1)]
反码- [2^(n-1)-1] ~ + [2^(n-1)-1]-[1-2^-(n-1)] ~ +[1-2^-(n-1)]
补码-2^(n-1) ~ + [2^(n-1)-1]-1 ~ +[1-2^-(n-1)]
移码-2^(n-1) ~ + [2^(n-1)-1]-1 ~ +[1-2^-(n-1)]

1.1.3.5 浮点数

N = 尾数 x 基数^指数

例如:0.2142 x 10^3 其中:0.2142为尾数,10为基数,3为指数(阶码)

(1) 运算过程:对阶 > 尾数计算 > 结果格式化

(2) 特点:

  • 一般尾数用补码,阶码用移码;
  • 阶码的位数决定数的范围,位数越大范围越大;
  • 尾数的位数决定数的精度,位数越大精度越高;
  • 运算中,对阶是由阶码小的向大的对齐;
  • 对阶是通过较小数的尾数算术移动实现的。

(3) 存储结构:阶符 阶码 数符 尾数

注:最适合数字加减的数字编码是补码,最适合浮点数阶码的数字编码为移码, 最适合浮点数尾数的数字编码为补码。

(4) 规格化

  • 规格化就是将尾数的绝对值限定在区间[0.5, 1]
  • 工业标准IEEE754浮点数格式中阶码采用移码,尾数采用原码表示

1.1.4 寻址

  • 立即寻址:操作数就包含在指令中;
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址;
  • 寄存器寻址:操作数存放在某一寄存器内,指令中给出操作数所在的寄存器的名称;
  • 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中;
  • 间接寻址:指令中给出操作数地址的地址;
  • 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量;
  • 变址寻址:操作数地址等于变址寄存器的内容加偏移量。

寻址速度:立即寻址 > 寄存器寻址 > 直接寻址 > 寄存器间接寻址 > 间接寻址

1.1.5 校验码

1.1.5.1 奇偶检验码

可以检错,不能纠错

通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。

码距:是指在编码系统中任意两个合法编码之间至少有多个二进制位;

常用奇偶检验码:水平奇偶检验码、垂直奇偶检验码、水平垂直奇偶检验码。

1.1.5.2 海明码

可以检错,也可以纠错

在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。

设数据位是n位,校验位是k位,则n和k必须满足:2^k - 1 ≥ n + k。

1.1.5.3 循环冗余校验码(CRC)

码距为2 ,可以检错,不能纠错

广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码 长度为k+r。

循环冗余校验码是由两部分组成的,左边为信息码(数据),右边为校验码。若信息码占k位,则校验码就占n - k位。校验码是由信息码产生的,校验码位数越多,该代码的校 验能力就越强。在求CRC编码时,采用的是模2运算。

1.1.6 RISC和CISC

指令集RISC(精简指令集计算机)CISC(复杂指令集计算机)
指令种类少,精简多,丰富
指令复杂度低(简单)高(复杂)
指令长度固定变化
寻址方式复杂多样
实现(译码)方式硬布线控制逻辑(组合逻辑控制器)微程序控制技术
通用寄存器数量
流水线技术支持不支持

1.1.7 流水线

(1) 执行n条指令执行时间:

  • 顺序执行:单个指令执行时间 x n
  • 流水线:第一条指令执行时间 + (n - 1) x 最长段流水的时间

(2) 加速比:不采用流水线 / 采用流水线

(3) 操作周期:最长段流水的时间

(4) 最大吞吐率:1 / 最长段流水的时间

(5) 执行n条指令的吞吐率:n / [第一条指令执行时间 + (n - 1) x 最长段流水的时间]

Flynn分类法:

(1) 单指令流单数据流机器(SISD)

这是最传统的串行计算机结构,每个指令按顺序执行,同一时间内只处理一个数据项。大部分早期的单核CPU都属于这一类别。

(2) 单指令流多数据流机器(SIMD)

SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理以及多媒体信息处理等领域非常有效。人们现在用的单核计算机基本上都属于SIMD机器。

(3) 多指令流单数据流机器(MISD)

MISD是采用多个指令流来处理单个数据流。此MISD只是作为理论模型出现,没有投入实际应用。

(4) 多指令流多数据流机器(MIMD)

MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。现代的多核CPU、分布式系统和集群计算机都属于MIMD范畴。

1.1.8 存储器

主存 - DRAM(动态随机存储器) - 周期性刷新

Cache - SRAM(静态随机存储器)

1.1.8.1 分类

  • 按存储器所处的位置分类:
    • 内存:也称主存,用来存放机器当前运行所需的程序和数据;
    • 外存:也称辅存,用来存放当前不参加运行的大量信息,而在需要时调入内存;
  • 按存储器的构成材料分类:
    • 磁存储器:由磁性介质做成;
    • 半导体存储器:根据所用原件可以分为双极型和MOS型;根据数据是否需要刷新分为静态和动态;
    • 光存储器:利用光学方法读写数据的存储器。
  • 按存储器的工作方式分类:
    • 读写存储器(RAM):技能读取又能写入的存储器;
    • 只读存储器:仅能读取数据的存储器;该存储器可以细分为ROM,PROM,EPROM,EEPROM;
      • 固定只读存储器(ROM):内容只能读出,不能改变;
      • 可编程的只读存储器(PROM):其中的内容可以由用户一次性地写入,写入后不能改变;
      • 可擦除可编程的只读存储器(EPROM):其中的内容既可以读出,也可以由用户写入,写入后还可以修改;
      • 电擦除可编程的只读存储器(EEPROM):与EPROM相似,既可以读出,也可以写入,只不过这种存储器采用电擦除的方式进行数据的改写;
      • 闪速存储器(FM):简称闪存,其特性介于EPROM和EEPROM之间,类似于EEPROM。以块为单位,断电后数据不会丢失,可以代替ROM不能代替主存。
  • 按访问方式分类:
    • 按地址访问的存储器
    • 按内容访问的存储器:相联存储器
  • 按寻址方式分类:
    • 随机存储器
    • 顺序存储器
    • 直接存储器

磁盘容量计算:

  • 非格式化容量:面数 * (磁道数 / 面) * 内圆周长 * 最大位密度
  • 格式化容量:面数 * (磁道数 / 面) * (扇区数 / 道) * (字节数 / 扇区数)

1.1.8.2 虚拟存储器

由主存和辅存构成

1.1.8.3 局部性

空间局部性:当CPU访问一个地址的时候,那么在未来可能会访问与当前地址相邻的地址;

时间局部性:当CPU访问一个地址的时候,那么在未来可能还会再访问当前地址;

1.1.8.4 相联存储器

相联存储器是一种按内容访问的存储器。

1.1.8.5 高速缓存(Cache)

其内容是主存局部域的副本,对于程序员来说是透明的,即由Cache与主存的映射是硬件自动完成。Cache的命中率不会随其容量的增大而线性地提高。

(1) 高速缓存中的地址映像方法

  • 直接映像:指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、Cache块冲突率高。
  • 全相联映像:允许主存的任一块可以调入Cache存储器的任何一个块的空间中。优点是Cache块冲突率低、灵活性好,缺点是访问速度慢、地址变换较复杂、成本太高。
  • 组相联映像:是前两种方式的折中方案,即组采用直接映像方式、块采用全相联映像方式。
  • 发生块冲突从少到多的顺序:全相联映射-->组相联映射-->直接映射

(2) 替换算法:

随机替换算法、先进先出算法、近期最少使用算法、优化替换算法

1.1.9 中断

  • 中断向量:提供中断服务程序的入口地址;
  • 中断响应时间:发出中断请求开始,到进入中断服务程序前这段时间;
  • 保存现场:返回来执行主程序;
  • 为了实现多级中断嵌套,使用堆栈来保护断点和现场最有效。

1.1.10 输入输出(I/O)控制方式

1.1.10.1 程序查询方式

  • CPU和I/O(外设)只能串行工作,CPU需一直轮询检查,长期处于忙等状态,CPU利用率低;
  • 一次只能读、写一个字;
  • 由CPU将数据放入内存。

ps:无条件传送:在此情况下,外设总是准备好的,它可以无条件地随时接受CPU发来的输出数据,也能够无条件地随时向CPU提供需要的输入数据

1.1.10.2 中断驱动方式

  • I/O设备通过中断信号主动报告I/O操作已完成;
  • CPU和I/O(外设)可并行工作;
  • CPU利用率得到提高;
  • 由CPU将数据放入内存。

1.1.10.3 直接存储器方式(DMA)

  • CPU和I/O(外设)可并行工作;
  • 仅在传输数据块的开始和结束时需要CPU的干预;
  • 一次读写的单位为“块”,而不是字;
  • 由外设直接将数据放入内存;
  • 采用DMA方式传送数据时,每传送一个数据都需要占用一个存储周期。

1.1.10.4 通道控制方式

在一定的基础上利用软件的手段实现对I/O的控制和传送,更多的免去了CPU的接入,使主机和外设并行工作程度更高;

1.1.10.5 I/O处理机

指专门负责输入/输出的处理机。可以有独立的存储器、运算部件和指令控制部件。

1.1.10.6 其他

在微机系统中,BIOS(基本输入输出系统)保存在主板上的ROM中;

1.1.11 总线

  • 并行总线适合近距离高速数据传输
  • 串行总线适合长距离数据传输
  • 专用总线在设计上可以与连接设备实现最佳匹配
  • 总线复用方式可以减少总线中信号线的数量

1.1.11.1 总线分类

一般来说,任何连接两个以上电子元器件的导线都可以称为总线。微机中的总线分为数据总线、地址总线、控制总线。

  • 数据总线(DB)用来传送数据信息,是双向的。CPU既可以通过DB从内存或输入设备读入数据,也可以通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
  • 地址总线(AB):用于传送CPU发出的地址信息,是单向的。传送地址总线的目的是指明与CPU交换信息的内存单元或I/O设备,地址总线的宽度决定了CPU的最大寻址能力。
  • 控制总线(CB):用来传送控制信号、时序信号和状态信息等,双向线表示。其中有的信号是CPU向内存或外部设备发出的信息,有的信号是内存或外部设备向CPU发出的信息。CB中的每一条线的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的。

1.1.11.2 常用总线

  • ISA总线
  • EISA总线
  • PCI总线:并行内总线
  • 前端总线
  • RS-232C总线
  • SCSI总线:并行外总线,用于计算机和智能设备之间
  • SATA总线
  • USB
  • IEEE-1394
  • IEEE-488总线

1.1.12 加密技术与认证技术

1.1.12.1 加密技术

(1) 对称加密

  • 加密和解密是同一个秘钥,只有一个秘钥

(2) 非对称加密

  • 非对称加密算法需要两个密钥:公钥和私钥;
  • 用公钥加密只能用私钥解密,用私钥加密只能用公钥加密;
  • 用接收方的公钥对明文进行加密可以防止窃听。

加密主要处理一些被动攻击。

1.1.12.2 认证技术

摘要:将发送的明文进行Hash算法后得到摘要放在密文后一起发送过去,与接收方解密后的明文进行相同的Hash算法得到的摘要进行对比如果一致,则没有篡改,否则有篡改;

数字签名:发送方用自己的私钥对摘要进行签名(加密)得到数字签名放在密文后一起发送过去,接收方用发送方的公钥对数字签名进行验证(解密)如果验证成功则该消息没有被假冒且不能否认否则该消息的真实性为假冒发送;

  • 数字签名是用私钥签名,公钥验证,一般是对信息摘要进行签名;
  • 数字签名是非对称加密算法的一种方法来保证信息不会被篡改。

数字证书

  • CA:权威机构;
  • 用户向CA机构申请数字证书将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名(加密),用CA的公钥验证(解密)数字证书得到用户的公钥;
  • 数字证书主要是用来对用户身份进行认证,而数字签名主要用于确保消息不可被否认。

认证主要处理一些主动攻击。

1.1.12.3 加密算法

  • 对称密钥(私有密钥加密,共享密钥加密、分组加密)算法:DES、3DES、RC-5、IDEA、AES、RC4、AEC
  • 非对称密钥(公开密钥加密)算法:RSA、ECC、DSA
  • 摘要算法:MD5 输出结果长度为128位,SHA
  • Hash函数
  • SHA-1安全散列算法

1.1.13 可靠性公式

1.1.13.1 串联系统可靠性(R)与失效率(λ)

R = R1 * R2 * …… * RN

λ = λ1 + λ2 + …… + λN

1.1.13.2 并联系统可靠性(R)与失效率(μ)

R = 1 - (1 - R1)(1 - R2)……(1 - RN)

1.1.14 其他

  1. 主动攻击:重放、IP地址欺骗、拒绝服务、系统干涉、修改数据命令;被动攻击:流量分析、会话拦截;
  2. 矢量图是常用的图形图像表示形式,图元是描述矢量图的基本组成单位;
  3. 视频信息是连续的图像序列,帧是构成视频信息的基本单元;
  4. 多媒体标准:MPEG-1/MPEG-2:数字电视标准,MPEG-4:多媒体应用标准,MPEG-7:多媒体内容描述接口标准,MPEG-21:多媒体框架结构标准。
  5. 传输媒体指传输表示媒体的物理介质,如电缆、光缆、电磁波等;表示媒体指传输感觉媒体,如声音、图像等的中介媒体,即用于数据交换的编码,如文本编码、声音编码和图像编码等;表现媒体是指进行信息输入和输出的媒体,如键盘、鼠标、话筒以及显示器、打印机、喇叭等;存储媒体指用于存储表示媒体的物理介质,如硬盘、光盘等。
  6. 正式技术评审(软件评审)的目的是为了发现软件中的错误;软件评审的内容包括设计质量评审、程序质量评审和运行环境接口的评审;
  7. X509数字证书标准推荐使用的密码算法是RSA算法;而国密SM2数字证书采用的公钥密码算法是ECC算法;
  8. 人耳能听到的音频信号的频率范围为20Hz ~ 20KHz;
  9. CPU依据指令周期的不同阶段来区分在内存中以二进制编码形式存放的指令和数据;
  10. 数字语音的采样频率定义为8kHz,这是因为语音信号定义的频率最高值为4kHz;
  11. 适合对大量的明文消息进行加密传输的是RC5;
  12. RGB彩色空间主要用于计算机的彩色图像,CMY彩色空间主要用于打印机的彩色打印,YUV主要用于现代彩色电视以及摄像机等;
  13. cache存储器一般采用SRAM存储器件构成;
  14. 位图与矢量图相比,位图占用空间大,处理侧重于获取和复制,显示速度快;
  15. Jackson设计方法是一种面向数据结构的软件设计方法;
  16. 未经压缩的数字音频数据传输率为:数据传输率(b/s) = 采样频率(Hz) * 量化位数(b) * 声道数
  17. PCB(进程控制块)的组织方式:
  • 顺序方式
  • 链式方式
  • 索引方式
  1. 公钥体系中,私钥用于解密和签名,公钥用于加密和认证;
  2. 虚拟存储器只能基于非连续分配技术;
  3. 适合对大量的明文消息进行加密传输的加密方法为RC-5(对称加密);
  4. 用来实现安全电子邮件的协议是PGP;
  5. CPU是在一个时钟周期结束响应DMA的请求的;