软考中级软件设计师--1.计算机系统知识
计算机组成与结构
参考
- https://www.yuque.com/saodai/ss8tp9
- B站视频
计算机系统知识
计算机系统由两部分组成:硬件、软件
1. 计算机硬件系统五大组成部分
- 控制器、运算器、存储器、输入设备、输出设备
- 存储器分为 内部存储器(内存、容量小、速度快、存放临时数据,断电消失)和外部存储器(硬盘、光盘、容量大、速度慢、长期数据保存)
- 输入设备、输出设备统称外设
- 主机(CPU + 主存储器)
2. 中央处理单元 CPU
- CPU 组成:由运算器、控制器、寄存器组(读取速度最快)、内部总线组成
- CPU 功能:实现程序控制、操作控制、时间控制、数据处理功能
- 运算器组成(常考):
- 算数逻辑单元 ALU(Arithmetic logic unit):实现对数据的算数和逻辑运算,提供一个工作区
- 累加寄存器 AC(Accumulator): 运算结果或者源操作数的存放区
- 数据缓冲寄存器 DR(Data Register): 暂时存放内存的指令或数据
- 状态条件寄存器 PSW(Program Status Word): 保存指令运行结果的条件吗内容,如溢出标志等
- 运算器功能:执行算数运算和逻辑运算
- 控制器:
- 指令寄存器 IR(Instruction Register): 暂存当前CPU正在执行的指令
- 程序计数器 PC(Program Counter):存档指令执行地址
- 地址寄存器 AR(Address Register):保存当前CPU所访问的内存地址
- 指令译码器 ID(Instruction Decoder):分析指令操作码
- 控制器功能:控制整个CPU的工作,最为重要,包括程序控制、时序控制
- 程序员可以访问通用寄存器存取数据,也可以访问状态寄存器和程序计数器,但是不能访问指令寄存器
3. 数据进制转换
- 二进制、十六进制(0x18F、18FH)
- R 进制转10进制 案例:6进制 5043 转为十进制 => 36^0 + 46^1 + 06^2 + 56^3 => 1107
- 十进制转 R 进制 案例:十进制 200 转 6 进制 => 200/6 = 33 余 2 => 33/6 = 5 余 3 => 5/6 = 0 余 5 => 6进制为余数的从后向前排列 532
- m 进制转为 n 进制:通过十进制中转
4. 数的表示 (考得少)
- 最小数据单位 b(比特bit)
- 最小存储单位 1B(字节 byte)=8b
- 1KB=1024B; 1MB=1024KB; 1GB=1024MB
- 机器数:各种数值在计算机中表示的形式,特点是使用二进制计数制,数的符号用 0 和 1表示,小数点隐含不占位置 (例如 +0(0 0000000)-0(1 0000000))其中第一位是符号为,后七位表示数值位
- 定点表示法:分为纯小数与纯整数两种,其中小数点不占存储位
- 纯小数:约定小数点在机器数的最高数值位之前
- 纯整数:约定小数点的位置在机器数的最低数值位之后
- 真值:机器数对应的实际数值
5. 数的编码方式(不怎么考)
- 原码:一个数的正常二进制表示 例如 +0(0 0000000)-0(1 0000000)
- 反码:正数的反码即为原码;负数的反码是在原码的基础上,除了符号位以外,其他各位按位取反(例如如上数值的反码为 +0(0 0000000)-0(1 1111111))
- 补码:正数的补码即原码;负数的补码是在原码基础上,除了符号位以外,其他各位按位取反,而后在末位+1,若有进位则产生进位 +0(0 0000000)-0(0 0000000))-0的补码有溢出
- 移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到
- 计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计
6.浮点表示(常考)
- 浮点数 N = F * 2^E, 其中E称为阶码(带符号的纯整数),F称为尾数(带符号的纯小数),类似于十进制的科学记数法 例如 101.011=0.101011*2^3
- 浮点数所能表示的数值范围由阶码确定,所表示的数值精度由尾数确定
- 浮点数运算需要先 1.对阶,即将阶码换算成相同的后再计算,小阶向大阶对接,否则会损失尾数的精度 》2. 尾数计算 》3.结果格式化
- 浮点数存储格式:| 阶符 | 阶码 | 数符 | 尾数 | ,一般尾数用补码,阶码用移码
- 规格化浮点数:将尾数的绝对值限定在 [0.5, 1]
- 浮点数的范围:M: 尾数补码位(包括数符),R: 阶码补码位(包括阶符),则最大正数 +(1-2^-M+1) * 2(2R-1 - 1), 最小负数 -1 * 2(2R-1 - 1)
- 定点表示法与浮点表示法:定点表示法分为定点整数和定点小数,定点表示法的小数点不需要占用存储位,总位数相同时浮点表示法可以表示更大的数
- 定点小数在机器字长为 n 的表示范围是定点整数表示范围除以 2^n-1
7. 寻址
- 立即寻址:操作数包含在指令中
- 直接寻址:操作数存在内存单元中,指令中给出操作数所在存储单元的地址
- 寄存器寻址:操作数存在某一个寄存器中,指令中给出存放操作数的寄存器名,比直接寻址要快,寄存器"距离" CPU 更近
- 寄存器间接寻址:操作数存在内存单元中,寄存器中存放了操作数所在的内存地址,指令中则存了寄存器名,也就是说寻址路径 指令 -> 寄存器 -> 内存
- 间接寻址:指令中给出操作数地址的地址
- 寻址效率:立即寻址 > 寄存器寻址 > 直接寻址 > 寄存器间接寻址 > 间接寻址
- 采用不同寻址方式的目的:扩大寻址空间,提高编程灵活性
8. 校验码
- 码距:指一个编码系统中,两个合法编码之间至少有多少个二进制不同
- 奇偶校验码:在编码中增加一个校验位来使 1 的个数为奇数或者为偶数,码距为2
- 奇偶校验只能校验错误不能纠正错误
- 海明码:一种利用奇偶性来纠错的校验方法,码距为 3,设数据位有n位,校验位有k位,则 n 与 k 必须满足以下关系:2^k-1 >= n+k
- 循环冗余校验码(CRC):可以检错但不能纠错,码距为 2,由 k个数据位 + r个校验位组成,校验码由信息码产生,校验码位数越多校验能力越强,求 CRC 编码时,采用模二运算
9. RISC 和 CISC
- RISC: 精简指令集计算机,指令少,复杂度低,指令长度固定,寻址方式少,通用寄存器数量多,支持流水线技术,采用硬布线控制逻辑,组合逻辑控制器
- CISC:复杂指令集计算机,指令多,复杂,指令长度变化,寻址方式复杂多样,通用寄存器数量一般,也支持流水线技术,使用微程序控制技术
10. 流水线技术
- 流水线:多条指令重叠进行操作的一种准并行处理实现技术
- 指令分为三个部分:取指 -> 分析 -> 执行
- 一条完整指令的执行时间 = 取指时间 + 分析时间 + 执行时间
- 流水线周期:指令步骤中所花时间最长的一段,例如:取指1ms -> 分析3ms -> 执行2ms 则流水线周期为 3ms,表示除了第一条外,后边的指令都只需要多花 3ms 就能完成
- 流水线总共用时:理论公式:一条完整指令完成时间 + (指令总数-1)*流水线周期;实践公式:给第一条指令充分的时间,及第一条指令的每一个步骤都用一个流水线周期的时间
- 吞吐率:指单位时间内流水线所完成的任务数量,计算公式:指令条数 / 流水线总共用时,最大吞吐率 = 1 / 流水线周期
- 异步控制会延长时间,降低性能,每次操作结束后要发出结束信号
11. 存储器
- 按照所处位置分类:内存;外存
- 按工作方式分类: 读\写存储器 RAM;只读存储器 ROM
- 按访问方式分类:按内容访问存储器(例如:相连存储器),按地址访问存储器
- 按寻址访问存储器:随机存储器、顺序存储器、直接存储器
- 闪存,一种只读存储器ROM,删除时以块为单位删除,类比为 U 盘
- 虚拟存储器,由主存 + 辅存 组成
- 存储系统的层次结构,由内而外: CPU 内部通用寄存器 》Cache(SRAM 静态随机存储器) 》主\内存储器(DRAM 动态随机存储器,需要周期性刷新来保持数据) 》外存储器
- 空间局部性:若一个存储单元被访问,则其临近的存储单元在不久的将来也很可能被访问,这种特性就是空间局部性
- 时间局部性:若一个存储单元被访问,则这个单元在以后也可能被再次访问,这种特性就是时间局部性
12. Cache 高速缓存
- Cache 高速缓存:位于 CPU 与 主存之间,用来存放当前最活跃的程序和数据(主存的部分拷贝信息),速度比主存块 5~10倍,对程序员来说是透明的(程序员不可操作)
- Cache 容量越大,命中率越高,逐渐接近 100%,但是随着容量变大,Cache 成本和命中时间也在增大
- 替换算法:目标是使 Cache 获得更高的命中率
- 随机替换算法
- 先进先出算法
- 近期最少使用算法
- 优化替换算法
- Cache 中的地址映像方法
- 地址映像:CPU 工作时送出的主存地址,而要从 Cache 中读写信息,就需要将主存地址换算成Cache 地址,这种转换称为 地址映像
- 直接映像:主存分区,Cache分块,主存每个区有与 Cache 相同的分块,主存每个区的块与 Cache 的块的对应关系时固定的,硬件电路简单,但是冲突率高
- 全联映像:主存不分区,主存与Cache按照相同的大小分块 Cache 的块可以对应任意的主存上的块,电路设计难,只适用于小容量的 Cache,冲突率低
- 组相连映像:是直接相连与全联映像的折中,先分组,组与组之间的直接映像,组内是全联映像
- 发生冲突概率:全联映像《 组相连映像 《 直接映像
- Cache 与 主存之间的映射是由硬件自动完成的
13. 中断
- 中断:遇到急需处理的事件时,暂停当前正在运行的程序,转去执行有关程序,处理完后返回源程序,这个过程称为中断
- 中断向量:提供中断服务程序的入口地址
- 中断响应时间:发出中断请求开始到进入中断服务程序,这一段时间
- 保存现场目的:为了能正确的返回被中断的程序然后继续执行
14. 输入输出(I/O)控制方式
- 程序查询方式(程序直接控制方式):
- CPU 和 I/O 只能串行工作,CPU 需要一直轮询检查状态,长期处于忙等状态,CPU 利用率低
- 一次只能读写一个字
- 由 CPU 将数放入内存
- 中断驱动方式:
- I/O 设备通过中断信号,主动向CPU 报告 I/O 操作已完成
- CPU 与 I/O 外设可并行操作, CPU 利用率提升
- 一次只能读写一个字
- 由 CPU 将数据放入内存
- 直接存储器存储方式(DMA方式):
- CPU 向 I/O 模块发出数据读写的命令,然后CPU 就可以做其他事情,I/O 模块与内存建立直接的数据通路, I/O 模块操作完成后,通过中断信号告知 CPU
- CPU 与 I/O 外设可并行工作
- 由外设直接将数据放入内存
- 一次读写的单位是块而不是字
- 仅在传输数据块的起始和结束需要 CPU 的干预
- CPU 在一个总线周期结束时响应 DMA 的请求,每传输一个数据都要占用一个存储周期
- 由 I/O 设备提出的中断请求是可屏蔽中断,电源掉电是不可屏蔽中断
15. 总线
- 总线:链接计算机有关部件的一组信号线,是计算机用来传送信息代码的公共通道
- 总线分类:数据总线,地址总线,控制总线
- 总线的优点:简化系统结构,减少连接线数目,便于接口设计,便于故障诊断和维修,同时降低了成本
- 总线带宽计算:时钟频率 * 每秒传送的字节
- 地址总线宽度计算:地址总线的宽度表明 CPU 的寻址能力,与内存大小相关,内存多大就需要多宽的地址总线,例如:内存容量为 4GB -> 2^32 B -> 地址总线宽度为 32
- 数据总线宽度计算:数据总线宽度就是处理机的字长
- PCI:并行内总线,系统总线;SCSI: 并行外总线
16. 加密技术与认证技术
- 加密解决的问题:窃听
- 认证解决的问题:篡改、假冒、否认
- 加密技术
- 对称加密:加密解密用的是同一把秘钥,且只有一把秘钥;加解密速度快,适合大量明文数据,秘钥分发有缺陷
- 非对称加密:加解密不是同一把秘钥,一共有两把秘钥(公钥私钥);加解密速度慢,秘钥分发没缺陷,公钥私钥之间不可推算
- 混合加密:就是将对称加密与非对称加密混合使用:先用对称加密将大量明文数据加密,再用非对称公钥对“对称加密的秘钥”加密,并随着加密明文一起传给接收方,接收方使用非对称的私钥解密出 “对称加密的秘钥”,再用 “对称加密的秘钥” 解密明文
- 认证技术
- 摘要:将发送的明文Hash算法后得到摘要,放在密文后一起发送过去,与接收方解密后的明文 Hash 算法的摘要结果对比,一致则没有篡改
- 数字签名:在摘要的基础上,对摘要进行私钥签名,接收方通过公钥对数字签名进行解密,可以判定是否被篡改,假冒,否认,用来验证消息来源的真实性
- 数字证书:使用第三方机构CA 的私钥来对用户的公钥进行数字签名,来保证公钥不被篡改,接收方用 CA 的公钥解密来得到发送方的公钥
- 用数字证书来认证用户身份,用数字签名来防篡改、假冒、否认
- 加密算法
- 对称加密算法(私钥,私有秘钥加密,共享秘钥加密算法)
- DES 3DES RC-5 IDEA AES RC4
- 非对称加密算吗(公钥,公开秘钥加密)
- ECC RSA DSA
- Hash 函数、MD5摘要算法、SHA-1 安全散列算法
- 对称加密算法(私钥,私有秘钥加密,共享秘钥加密算法)
17. 系统可靠性
- 设一个系统由 N个子系统组成,子系统的可靠性分别为 R1 R2 R3
- 串联系统可靠性:R = R1R2R3
- 并联的系统可靠性:R = 1 - (1-R1)(1-R2)(1-R3)
18. 其他
- 指令寄存器的位数取决于指令字长
- 计算机分级存储速度依次为:CPU 内部通用寄存器 》Cache 》内存 》外存
- 安全需求:
- 物理线路安全 – 机房安全
- 网络安全 – 入侵检测
- 系统安全 – 漏洞补丁管理
- 应用安全 – 数据库安全
软考中级软件设计师--1.计算机系统知识相关推荐
- 2022下半年软考-中级-软件设计师-过关经验
目录 1.重要内容 2.考情分析 3.视频笔记 1.重要内容 软考官网:中国计算机技术职业资格网 刷题:软考通app.软考真题app.软考刷题王(微信小程序).希赛网app. zst_2001软考中级 ...
- 软考中级软件设计师难不难_为什么这么难处理设计师
软考中级软件设计师难不难 重点 (Top highlight) I have a confession to make. As a young Design 'pioneer' in many tec ...
- 一个非计算机专业的 软考中级 软件设计师考试之路
今天是2018年7月6日 在半个小时之前我查看了2018 年上半年的软考成绩 通过成功软考中级软件设计师的考试 费用总结 备考资料 150 报名费 140 食宿费 200 总计 490 500 块钱+ ...
- 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)
软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...
- 软考中级软件设计师 2009-2022年真题
** 整理了2009年到2022年 软考中级软件设计师的题目与参考答案 百度网盘分享 链接:https://pan.baidu.com/s/1f4Hfuw7lzgM4IZa-g1Wepg?pwd=50 ...
- 全国软考中级软件设计师 复习大纲概览
本专栏记录学习复习软考中级软件设计师的内容,官方网站上有中级设计师的考试大纲和指导用书,官网链接:https://www.ruankao.org.cn 考试的难度总体来讲不是很大,但是设计的知识面非常 ...
- 软考中级--软件设计师
软考中级–软件设计师 数据库系统复习总结
- 软考中级(软件设计师)——计算机网络(5分)与信息安全(3分)
软考中级(软件设计师)--计算机网络(5分)与信息安全(3分) 目录 软考中级(软件设计师)--计算机网络(5分)与信息安全(3分) 计算机网络(5分) 开放系统互连参考模型(★★) TCP/IP协议 ...
- 软考中级(软件设计师)——数据库系统(上下午各占6-8分)
软考中级(软件设计师)--数据库系统(上下午各占6-8分) 目录 软考中级(软件设计师)--数据库系统(上下午各占6-8分) 数据库模式(★★) 三级模式 数据库设计过程 ER模型(★★★★★) 关系 ...
最新文章
- class-5 If语句
- Leetcode 191. 位1的个数 解题思路及C++实现
- IO多路复用(select,poll,epoll)详解
- python多环境管理_怎样管理多个Python版本和虚拟环境
- 设置相机的距离_讲对焦(四):相机对焦有哪些小技巧?
- jmap查询JVM堆内存
- 扇贝有道180913每日一句
- MFC建立C语言项目,mfc开发(mfc项目开发实例85个)
- 如何把html文件转化为mp3,如何将Flash转换为MP3
- SOP、DIP、PLCC、TQFP、PQFP、TSOP、BGA封装解释
- 究竟什么是token??
- 机器学习时代三大神器GBDT(MART)、XGBoost、LightGBM
- 间歇性孤独症,我喜欢的,是你刚好在我身边
- 大容量sd卡reread之后/dev下概率性出现无设备文件
- Android APK反编译得到Java源代码和资源文件
- erp实施 数据库面试题_erp实施顾问笔试题有什么_erp实施顾问笔试题
- opencv用shi-Tomasi角点检测实现目标追踪
- 六、cocos2dx-效果(Effect)
- Unity 制作两个按钮分别控制两个声音组件
- 失控--阅读笔记群蜂思维
热门文章
- FatFs文件系统Nandflash驱动函数详解
- 局域网联机_【进击的巨人21】【全DLCs整合】【局域网联机】【免安装解压即玩】 免费分享...
- 解决 rubygems.org 无法访问的问题!
- namp安装及官方使用手册翻译及注释3
- 【统计方法】基于熵值法的面板数据指标权重计算
- 判断某天是该年中的多少天
- 「可解释知识图谱推理」最新方法综述
- php自动生成网站地图txt,织梦网站地图生成插件+发布文章后自动生成地图
- linux管理用户和组实验报告,LINUX实验:用户与用户组管理
- 企业微信 自建服务器,企业微信单点登录自建系统过程记录