软考-软件设计师 笔记一(计算机组成与体系结构)

本栏博客目录

软考-软件设计师 笔记一(计算机组成与体系结构)
软考-软件设计师 笔记二(操作系统基本原理)
软考-软件设计师 笔记三(数据库系统)
软考-软件设计师 笔记四(计算机网络)
软考-软件设计师 笔记五(系统安全分析与设计)
软考-软件设计师 笔记六(数据结构与算法基础)
软考-软件设计师 笔记七(程序设计语言与语言处理程序基础)
软考-软件设计师 笔记八(法律法规)
软考-软件设计师 笔记九(多媒体基础)
软考-软件设计师 笔记十(软件工程)
软考-软件设计师 笔记十一(面向对象设计)
软考-软件设计师 笔记十二(数据流图)
软考-软件设计师 笔记十三(数据库设计)
软考-软件设计师 笔记十四(UML建模)
软考-软件设计师 笔记十五(数据结构及算法应用)
软考-软件设计师 笔记十六(面向对象程序设计)


文章目录

  • 浅谈软设备考
  • 历年分值分布情况
  • 数据的表示
    • 进制的转换
    • 原码反码补码移码
    • 数值的表示范围
    • 浮点数运算
  • 计算机结构
    • CPU结构(运算器与控制器的组成)
  • Flynn分类法
  • CISC和RISC
  • 流水线
    • 流水线计算
    • 流水线吞吐率计算
    • 流水线的加速比计算
    • 流水线的效率计算
  • 层次化存储结构
    • Cache
    • 局部性原理
    • 主存
    • 磁盘工作原理
  • 计算机总线
  • 系统可靠性分析与设计
    • 串联系统与并联系统
    • 模冗余系统与混合系统
  • 差错控制
    • 循环校验码CRC
    • 海明校验码

浅谈软设备考

软考-软件设计师 笔记一(计算机组成与体系结构)

历年分值分布情况

软考-软件设计师 笔记一(计算机组成与体系结构)

数据的表示

进制的转换

X进制转十进制 : 按权展开
例如: 七进制转十进制: 604.01 = 6 * 72 + 4 * 70 + 1 * 7 -2

十进制转R进制 : 整数位短除法逆序,小数点后乘二取整正序

二进制转八进制与十六进制 : 从小数点处向两边,3位为一位 / 4位为一位转换,不够则补零

原码反码补码移码

原码: 二进制形式,一般为一个字节(八位),最高位为符号位,正的符号位为0,负数的符号位1.

反码: 正数的跟原码一样,负数的反码除符号位外取反。

补码: 正数的跟原码一样,负数的补码为反码 + 1。

移码: 作浮点运算的介码,不管是正数还是负数,都在补码的基础上对符号位取反。

数值的表示范围

原码: – (2 (n – 1) – 1) ~ (2 (n – 1) – 1)
反码: – (2 (n – 1) – 1) ~ (2 (n – 1) – 1)
补码: – 2 (n – 1) ~ (2 (n – 1) – 1)

补码的表示范围多一个是因为 +0 和 -0 的补码相同,少占用一个编码。

浮点数运算

浮点数表示:
N = M * Re
M称为尾数,e是指数,R为基数

对阶 =》 尾数计算 =》 结果格式化

对阶: 让指数相同(阶数化大),M化小

格式化: 1~9

计算机结构

CPU结构(运算器与控制器的组成)

软考-软件设计师 笔记一(计算机组成与体系结构)
指令对应控制部分,数据流对应处理器。

一种计算机体系结构的分类方法 ,根据flynn分类法,我们可以把常见的计算机进行分类,它的分类依据为两个指标,1. 指令流 2. 数据流

无论是指令流还是数据流,它们都分为两种类型,一种是单的,一种是多的。
组合成了4种结构,包括单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流

单指令流单数据流: 指令流和数据流都是单个的,控制部件只有一个,处理器也只有一个,它的典型代表是单处理器系统,像以前用到的PC机,386、486、586(奔腾),这都属于单处理器系统。

单指令流多数据流: 控制部件只有一个,但处理部件会有多个,也就是说,发了一条指令,会有多个运算部件同时去做同样的运算,只是每一个部件的输入有差异而已。主要在阵列处理机应用,陈列处理机适合处理数组类型的运算,比如二维数组,要对数组与数组之间进行操作的时候,我们发现对很多数据作同样的操作,比如加法,对应进行加,一条加法指令,通过输入不同的数据,得到一组不同的结果。

多指令流单数据流: 有多个控制部件,而处理部件只有一个,属于一种理论模型。并不具备实际的意义与价值。

多指令流多数据流: 目前非常常见,有多个处理器,或者说把多个处理机(计算机)连起来,来共同完成一些任务,比如说集群的形式。

CISC和RISC

软考-软件设计师 笔记一(计算机组成与体系结构)

在没有应用流水线技术前,在同一时间有大量部件的时间片是属于空闲状态,而流水线所做的工作是把这些空闲的时间片给利用起来,在完成第一条指令的取指操作后,第一条指令开始作分析,与此同时开始第二条指令的取指操作,也就意味着,不需要等到第一条指令完全执行完,才开始第二条指令的执行。

流水线计算

软考-软件设计师 笔记一(计算机组成与体系结构)

TP = 执行条数 / 流水线执行时间,拿上个题的数据来计算就是 100 / 203

TPmax = 1 / t ? 对应于上题就是1 / 2 ,(理想)状态,忽略流水线建立时间(即第一条指令执行所需的时间)比平常多用的时间。

流水线的加速比计算

软考-软件设计师 笔记一(计算机组成与体系结构)

可以理解为 图中的阴影面积 / 总面积 ? 对应于上图就是 E = (t + t + t + 3t) * 4 / (15t * 4)
当流水线的每一个工作段的时长是相等的情况,往往效率最高

层次化存储结构

软考-软件设计师 笔记一(计算机组成与体系结构)

Cache工作于CPU和主存之间,他是为了提高访问的速度而提出来的一种方案,在整个的存储结构当中,除了寄存器,Cache是最快的。

Cache的访问命中率是CPU读取数据时,需要读取的数据在Cache中的概率。

假如Cache的存取的周期时间是1ns,主存存储周期为1μs,Cache的访问命中率是0.95
此时 t3 = 1 * 0.95 + 1000 * 0.05

所以不妨将上式看作加权和更助于理解

局部性原理

软考-软件设计师 笔记一(计算机组成与体系结构)

随机存取存储器(RAM),只读存储器(ROM)

内存属于随机存取存储器,特点: 内存一旦断电,内存当中的数据都将被清除掉。

只读存储器(ROM): 断电之后依然能存储相应的信息。

软考-软件设计师 笔记一(计算机组成与体系结构)

磁盘是用一个环形的盘片,上面涂上特殊的材质来保存数据,在磁盘这种结构当中,盘面用来保存数据,磁头用来读取数据,磁头伸到盘面上,要读取信息的时候,磁头要挪到相应的磁道上面。(存信息存在磁道上面),寻找目标磁道的时候要消耗一定的时间,这个时间被称为寻道时间,等待时间(旋转延迟时间): 在一个磁道上面会分很多扇区(一个磁道上面的一小段),存储数据的时候就是存储在扇区上面,等待时间就是旋转磁盘到目标扇区所用的时间(取平均时间,转动一圈所用时间的一般)。

软考-软件设计师 笔记一(计算机组成与体系结构)
对存储进行优化分布后,只需要两个旋转周期就可以处理完(33*2 = 66 ms),(读取完R0后,对其进行处理(处理时,磁盘也在转动),处理完后,磁头恰好指到R1的开始…)
软考-软件设计师 笔记一(计算机组成与体系结构)

内部总线: 微机内部各个外围的芯片与处理器之间的总线。

系统总线: 微机中各个插件板和系统板之间的总线

外部总线: 微机和外部设备的总线。

数据总线是用来传输数据的,假如计算机是32位的,代表一个计算机的字(单位)就是32个bit位,这说明了总线的宽度就是32个bit位,那么我们一次/一个周期所能传输的数据量就是32个bit位

假设地址总线是32位,说明他代表的地址空间是232,也就是4G的宽度,所以我们发现如果我们用到的是32位的操作系统,它能够管理的内存就只有4G。

控制总线就是发送控制信号的总线。

系统可靠性分析与设计

串联系统与并联系统

软考-软件设计师 笔记一(计算机组成与体系结构)

并联是多个子系统并在一起,并联的时候只要有一个子系统正常运行,则整个子系统就能正常运行。
(只有当所有子系统失效的时候,系统才失效)

所以可靠度为: 1 – 系统的失效率(子系统失效率累乘)。(不直接用加法原理是因为这样算的不准确,只有当R都很小的时候才能近似)

失效率就为1 – 可靠度

模冗余系统与混合系统

软考-软件设计师 笔记一(计算机组成与体系结构)

对于上述混合模型,从整体来讲,属于串行,可以先将中间并联和右边并列的分别求出可靠度,然后再看作一个串行,将可靠度累乘起来。

差错控制

软考-软件设计师 笔记一(计算机组成与体系结构)

可以检错,不可以纠错。
CRC基本原理和思路: 在进行信息的编码时,在它的尾部加入一些校验信息,加入这些校验信息之后,让编码后的数据能够与循环校验码的生成多项式相除,余数为零(不为零则说明传输过程中出现错误)。

模2除法: 按位异或

软考-软件设计师 笔记一(计算机组成与体系结构)

校验位的位置是位于整个信息编码的2n位置。
假如信息位有一个位的长度,则编码长度要有3个位的长度,因为20 = 1,21 = 2,存放的都是校验位。

确定校验位占的位数的公式: 2r >= x + r + 1,其中x是信息位的个数,r是校验位的个数。一般x是已知的,求校验位只需要从小(0)到大枚举,第一个满足上式子的r就是校验位的位数。

求出校验位位数后可得到总长度/位数为: 校验位长度 + 信息位长度
然后列一张表,将信息位和校验位填到相应位置即可。(校验位的计算: 将编码中每个信息位所在的位置用二进制加权求和表示,
如: 7 = 22 + 21 + 20,6 = 22 + 21 ,5 = 22 + 20,3 = 21 + 20
将上面2次方出现过的次方用r次方的形式罗列出来

下标代表上式中的次方出现

r次方 = 这个下标在上式出现过的数对应信息位的信息进行异或操作的结果

如: r2 = 7位对应的是I4 ⊕ 6位对应的是I3 ⊕ 5位对应的是I2

即:
r2 = I4 ⊕ I3 ⊕ I2
r1 = I4 ⊕ I3 ⊕ I1
r0 = I4 ⊕ I2 ⊕ I1

然后将异或结果填入到对应校验位所在位置即可

纠错: 假设有一位出错,接收到编码后,提取出信息位,按上面的方式求出校验位,然后再与提取出来的校验位按每一位进行异或操作,然后异或操作后的结果(换成10进制,100 ==> 6)对应位置即为出错位置。 然后对应位置取反即可。

来源:sweetheart7-7

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月9日
下一篇 2022年1月9日

相关推荐