软考中级软件设计师计算机基础知识部分

计算机硬件基本组成

在这里插入图片描述

在这里插入图片描述

主存储器

存储体:存放数据,分为一个个存储单元,按地址存储。每一个存储单元会存放一串二进制代码(存储字),存储字的位数叫做存储字长,每一个存储单元对应一个地址信息。存储字的每一bit都被存在一个电子元件中。
MAR:存储地址寄存器,指明存储单元的地址,反映存储单元的个数。
MDR:存储数据寄存器,反映存储字长

MAR=4bit–>一共有2^4个存储单元
MDR=4bit–>存储字长为4bit

运算器

在这里插入图片描述

控制器

在这里插入图片描述
完成一条指令的步骤:取指令(PC)–>分析指令(IR)–>执行指令(CU)
初始:指令、数据存入主存,PC指向第一条指令
从主存中取指令放入IR,PC自动加一,CU分析指令,CU指挥其他部件执行指令
CPU区分指令和数据的依据:指令周期的不同

校验码基本概念

由若干位代码组成的一个字叫做码字
将两个码字逐位进行对比,具有不同的位的个数称为两个码字间的距离

100和010的距离为2

一种编码方案可能有若干个合法码字,各合法码字间的最小距离称为码距

00、01、10、11的码距为1
100、001、010、111的码距为2

当码距d=1时,如果在传输过程中的合法码字发生了一位跳变,那么跳变后的码字仍可能是合法码字,此时不能检测出来错误。
当码距d=2时,如果在传输过程中的合法码字发生了一位跳变,那么跳变后的码字不可能是合法码字,此时可以检测出错误。

d=1时,无检错能力;当d=2时,有检错能力;当d>=3时,若设计合理,可能具有检错、纠错能力。

奇偶校验码

设计思路:在n位有效信息位的首部或者尾部加入一位奇偶校验位
奇校验码:整个校验码(有效信息位和校验位)中1的个数为奇数。
偶校验码:整个校验码(有效信息位和校验位)中1的个数为偶数。

给出两个编码1001101和1010111的奇校验码和偶校验码。设最高位为校验位。
则1001101对应的奇校验码为1 1001101
偶校验码为0 1001101
1010111对应的奇校验码为0 1010111
偶校验码为1 1010111

偶校验的硬件实现:各信息位进行异或运算,得到的结果即为偶校验位。
进行偶校验:将所有位(有效信息位和校验位)进行异或,结果为1说明出错。
异或:相同为0,相异为1

1001101异或结果为0,则偶校验码为0 1001101
偶校验:01001101异或结果为0,说明可能正确

海明校验码

设计思路:将n个信息位分为k个分组,对于每一个分组都进行偶校验,也就是每一个分组对应一个校验位,一共有k个校验位。

问:需要多少校验位?
每个校验位可以携带两种信息状态(对/错,错在哪),则k个校验位可以携带2k种信息状态。

2k >= n+k+1

信息位+校验位=n+k位,也就是这n+k位可能出错,再加上一种正确的状态

问:校验位怎么分布?
设信息位为D4、D3、D2、D1(1010),校验位分别为P3、P2、P1,最终的海明码为H7、H6、H5、H4、H3、H2、H1
规定:校验位Pi放在海明号为2(i-1)的位置上,即第1、2、4、8…位

H7H6H5H4H3H2H1
101P30P2P1

问:如何确定校验位的值?
对于信息位:
H3:3–>011
H5:5–>101
H6:6–>110
H7:7–>111
对于校验位,三个分组分别进行偶校验
也就是P1和H3、H5、H7一组,即D1、D2、D4(011)
P2和H3、H6、H7一组,即D1、D3、D4(001)
P3和H5、H6、H7一组,即D2、D3、D4(101)
在这里插入图片描述
问:如何进行纠错?
在这里插入图片描述
即,将每一组的所有位进行异或,结果为0则正确,为1则错误

如果正确海明码为1010010,但接收到1010000
先算出S1=0,S2=1,S3=0,那么是第010位出错

海明码检错能力:2位
纠错能力:1位
但是无法区分到底是有一位错误还是两位错误
解决:
在海明码首部添加H8(全校验位),对整体进行偶校验

H8H7H6H5H4H3H2H1
11010010

若S3S2S1=000且全体偶校验成功–>无错误
若S3S2S1!=000且全体偶校验失败–>有一位错误,纠正即可

循环冗余校验码

原码

符号位为0是正数,符号位是1为负数
若机器字长为n+1,则原码整数表示范围[-(2n-1),2n-1]
定点小数表示范围[-(1-2-n),1-2-n]
真值0有+0和-0两种情况

反码

若符号位为0,则反码=原码
若符号位为1,则数值位取反
真值0有+0和-0两种情况
取值范围同原码

补码

正数反码=原码
负数的原码=补码末位+1
补码=反码+1
补码的真值0只有一种表示形式
定点整数补码[x]补=10000000表示x= -27
定点小数补码[x]补=1.0000000表示-1
所以若机器字长为n+1,则补码整数表示范围[-2n,2n-1]
定点小数表示范围[-1,1-2-n]
补码的原理:用加法代替减法
在模运算中,我们知道(-3)mod12=9,9mod12=9,此时就说-3和9互为补数,那么10+(-3)和10+9在mod12的条件下是等价的,就可以说用加法代替了减法。而a的补数=模-a的绝对值
在计算机原码中,一共有8个bit,可以表示0~28-1之间的数,在计算时,计算机会自动只保留后8位数,也就是说,计算机完成了mod28的运算。

设原码00001110(14)和10001110(-14)进行加法运算,得到10011100,结果并不是0,但是
根据a的补数=模-a的绝对值的原理,可以求出原码的补数为11110010,正好是补码,而00001110与之进行加法运算,结果刚好是0。这也就是补码的作用。

补码的作用:使用补码可将减法操作转变为等价的加法,ALU中无需集成减法器。执行加法操作时,符号位一起参与运算。

移码

补码的基础上符号位取反,移码只能表示整数
移码的0只有一种表示情况
移码表示范围与补码相同
移码的作用:方便比较大小

浮点数

阶码:用补码或移码表示定点整数
尾数:用原码或补码表示定点小数

Cache高速缓冲存储器

由于cpu和内存在处理速度上不对等,cpu速度快,内存速度很慢,于是提出了存储系统的一些优化策略,对于主存我们可以用双端口RAM,还有多模块存储器,这样的方式来提高储存的工作速度,但是无论组成的速度再怎么提高,相比于CPU的读写运算速度,这个速度差距是很大的,所以如何解决这个问题,一个比较容易想到的方法是我们可以设计更高速的存储单元,也就是Cache。
工作原理:将某些主存块复制到Cache中,缓和cpu和主存之间的速度矛盾。
Cache出现的因素: 1.由于cpu速度和性能提升很快而主存速度较低且价格高。2.程序执行的局部性特点。

局部性原理:
**空间局部性:**在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的。
**时间局部性:**在最近的未来要用到的信息(指令和数据),很可能是现在正在使用的信息。强调时间上很快就会再次调用

基于局部性原理,我们不难想到,可以将cpu目前访问的地址周围的部分数据放到Cache中,cpu现在Cache里找所需数据,如果没有找到,再去主存里找。

设t_c为访问一次Cache所需要的时间,t_m为访问一次主存所需时间
Cache命中率H:CPU欲访问的信息已在Cache中的比率
Cache缺失(未命中)率M=1-H
那么Cache-主存 系统的平均访问时间t为
t = Ht_c+(1-H)(t_c+t_m)

当cpu同时访问Cache和主存,若在Cache中找到,则立即停止访问主存,此时平均访问时间为
t = Ht_c+(1-H)t_m

基于局部性原理,我们不难想到,可以将cpu目前访问的地址周围的部分数据放到Cache中,那么如何定义“周围”?
将主存的存储空间分块,如:每1KB为一块。主存和Cache之间以块为单位进行数据交换。
在这里插入图片描述
Cache分级,越靠近上层,速度越快,容量越小;越靠近下层,速度越慢,容量越大。

Cache和主存的映射方式

  • **全相联映射:**主存块可以放在Cache的任意位置
  • 优点:冲突率低。缺点:访问速度慢
  • **直接映射:**每个主存块只能放在一个特定的位置:Cache块号=主存块号%Cache总块数
    在Cache中,每一个块都有标记位和有效位。标记位存放主存的地址,但实际上主存块号末尾n位直接反映它在Cache中的位置,所以将主存块号的其余位作为标记。有效位为1表示这个块已经存放了数据,是有效的。
    优点:访问速度快。缺点:冲突率高
  • 组相联映射: Cache块分为若干组,每个主存块可放在特定分组的任意位置:组号=主存块号%分组数
    优点:另外两种方式的折中。

Cache替换算法

在这里插入图片描述

存储器的层次化结构

1.主存–辅存
实现虚拟存储系统,解决了主存容量不够的问题
由硬件+操作系统完成
2.Cache+主存
解决了主存和cpu速度不匹配的问题
由硬件自动完成
在这里插入图片描述

存储器分类

1.按存储介质分类

  • 半导体存储器:主存、Cache

  • 磁表面存储器:磁带、磁盘

  • 光存储器:光盘
    2.按存取方式分类

  • 随机存取存储器RAM:读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关。(速度最快)如内存条

  • 顺序存取存储器SAM:读写一个存储单元所需时间取决于存储单元所在的物理位置。(速度最慢)如磁带

  • 直接存取存储器DAM:既具有随机存取特性,又有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。如磁盘

  • 串行访问存储器:SAM和DAM都是。读取存储单元所需时间与存储单元物理位置有关。

  • 相联存储器CAM:可以按照内容访问的存储器。可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器。
    3.按信息的可更改性分类

  • 读写存储器:可读可写

  • 只读存储器ROM:只能读不能写。如蓝光光碟,BIOS通常写在ROM中
    4.按信息的可保存性分类

  • 易失性存储器:断电后,存储信息消失。如主存、Cache

  • 非易失性存储器:断电后信息仍然保持。如磁盘、光盘

  • 破坏性读出:信息读出后,原存储信息被破坏。如DRAM,读出数据后要进行重写。

  • 非破坏性读出:信息读出后,原存储信息不被破坏。如SRAM芯片、磁盘、光盘

用户可见寄存器和用户不可见寄存器

  • 用户可见寄存器:即程序员可以通过汇编等方式改变存放变量的值。如程序计数器(PC),累加器(ACC),状态寄存器(PSW),通用寄存器
  • 用户不可见寄存器:即对用户是透明的。如:MAR,MDR,指令寄存器

信息安全部分

数字签名
基于公钥的数字签名系统:A向B发送消息,A用自己的私钥对消息进行签名后再用B的公钥对签名后的数据进行加密,B收到信息后先用B的私钥解密,再用A的公钥认证A的签名及消息的真伪。(公钥进行加密和认证,私钥用于解密和签名)
数字签名的作用:1.B可验证消息确实来源于A。2.A不能否认发送过消息。3.B不能编造或改变消息。

摘要

证书认证
用户获取CA的数字证书后通过验证CA的签名来确认数字证书的有效性,从而验证网站的真伪。

防火墙
采用机制:

  • 代理机制:安全性高,效率低
  • 包过滤机制:安全性低,效率高,对用户是透明的不可见的。过滤依据:源IP地址、源端口号、目的IP地址、目的端口号
    功能:
  • 对数据包过滤
  • 保存用户访问网络记录
  • 服务器代理功能

病毒类型(以破坏为主)

  • 蠕虫病毒:传染途径是通过网络、移动设备、电子邮件。如:欢乐时光、熊猫烧香、红色代码、爱虫病毒
  • 系统病毒:以感染台式机、服务器为主。如:CIH
  • 引导区病毒:破坏引导盘、文件目录
  • 宏病毒:破坏office文件相关

特洛伊木马(以窃取为主)
服务器端位于被感染的计算机。特洛伊木马服务器运行后会尝试建立网络连接。
如:X卧底、冰河

拒绝服务攻击
攻击者想办法让目标机器停止提供服务。只要能对目标造成麻烦,使某些服务器被暂停甚至死机,都属于拒绝服务攻击。
攻击者使服务器实现两种效果:1.迫使服务器的缓冲区满,不接收新的请求。2.使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。

重放攻击
攻击者发送一个目的主机已接受过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。

安全需求
物理线路安全:机房安全
网络安全:入侵检测
系统安全:漏洞补丁管理
应用安全:数据库安全

加密算法
RSA:非对称加密算法(公钥加密算法)
DES:对称加密算法(私钥加密算法)
RC5:适用于大量明文进行加密传输
MD5:报文摘要算法,对任意长度的输入计算得到的结果长度为128位散列值

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值