【软考笔记】一、计算机组成原理

【软考笔记】一、计算机组成原理

Scroll Down

一、计算机组成原理

1、考试章节

在这里插入图片描述

2、数据表示

1】R进制软换成10进制

在这里插入图片描述

2】十进制转R进制

短除法:循环除以R,直到结果为0,截至,然后将余数从下往上,即是R进制数值
在这里插入图片描述

3】二进制转八与十六进制

转八进制:

二进制数从右往左三个数代表一个八进制位,不足的话补0,例如:10001110,补齐后是010 001 110,然后每个三位数转成10进制从右往左:110 => 1x2x2 + 1x2 = 6 , 001 => 1x1 =1 , 010 => 1x2=2 ,所以转成八进制为216

转十六进制:

二进制数从右往左四个数代表一个十六进制位,其中16进制中10 - A,11- B,12- C,13-D,14-E,15- F,例如:10001110,从右往左:1110 =>1x2x2x2 + 1x2x2 + 1x2 = 14 , 1000 => 1x2x2x2=8.所以转成十六进制的数为8E。

在这里插入图片描述

4】数据的编码

在这里插入图片描述

原码计算:1、将一个数转成二进制。2、如果用一个字节存储这个数字,即8个byte,也就是八位数,如果转成的二进制数不足八位,将前面补0。其中第一位为符号位,正数符号位为0,负数符号位为1。

正数:正数的反码、补码和原码相同,且第一位为0。移码:在补码的基础上把首位进行取反。

负数:负数原码第一位为1,反码:第一位不变,其他位数原码为1反码为0,原码为0反码为1,取反。补码:在原来反码的基础上加1。移码:在补码的基础上把首位进行取反。

正0和负0的补码虽然相同,但是其原码并不相同。即补码相同的数原码并不一定相同。

正0:原码:0000 0000,反码:0000 0000,补码:0000 0000

负0:原码:1000 0000,反码:1111 1111,补码:1111 1111 + 1 = 0000 0000

表示范围: 其中n为数位。
在这里插入图片描述
例如:n=8, 原码: - 127 ~ 127 ,反码:-127 ~ 127,补码:-128 ~ 127

5】浮点数运算

在这里插入图片描述

例如:1.0*103 + 1.19 * 102 。

步骤:

  • 1、首先对阶:103和102不对阶,一般将校的方变大。即102变成103,此时为 1.0x103 + 0.119x103。
  • 2、尾数计算:此时可以进行尾数计算了:1.0+0.119=1.119。所以结果为1.119x10^3
  • 3、结果格式化:上面计算的结果不需要进行结果格式化,如果计算的结果为0.1119x103,则需要进行格式化成:1.119x102

结果格式化的原则:小数点左侧的数不能大于10,即为1位数,不能为0。

3、计算机结构

1】主机

在这里插入图片描述

4、Flynn分类法

在这里插入图片描述

5、CISC与RISC

在这里插入图片描述

6、寻址方式

在这里插入图片描述
立即寻址 : 一条指令当中,指令的一部分就是操作数。这种寻址方式是非常快的。但是灵活性差-------不能修改操作数。

直接寻址 :指令中存放的是操作数的地址。可以通过修改主存储器中的操作数去修改指令操作的内容从而达到修改指令处理的结果。

间接寻址 : 指令中存放了一个地址,这个地址对应的内容是操作数的地址。

寄存器寻址 :寄存器存放操作数。比直接寻址方式效率高,比立即寻址效率低。因为寄存器比内存效率高。

寄存器间接寻址 :寄存器内存放的是操作数的地址。

7、流水线技术

1】概念

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

2】过程

取指----->分析------>执行
在这里插入图片描述

3】流水线的计算

其中▲t代表流水线的周期。

在这里插入图片描述

在计算100条指令全部执行完毕需要的时间时:有时需要计算两次,如果使用理论公式计算的出来的结果选项中没有,则使用实践公式进行计算。

4】流水线的吞吐率

在这里插入图片描述

按照上面的例题计算流水线的吞吐率:TP=100/203,流水线的最大吞吐率:TPmax=1/2

5】流水线的加速比

在这里插入图片描述

按照上面例题:不使用流水线执行时间=(2+2+1)x100=500,所以S=500/203

6】流水线的效率

在这里插入图片描述

8、存储系统

1】层次化存储结构

在这里插入图片描述

2】Cache

在这里插入图片描述

3】局部性原理

局部性原理:在CPU访问寄存器时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理。

时间局部性:被引用过一次的存储器位置在未来会被多次引用(通常在循环中)

空间局部性:如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。比如操作数组。

工作集理论:进程运行时被频繁访问的页面集合

4】主存

在这里插入图片描述

5】主存---编址

主存---编址 :把芯片组成相应的存储器。
在这里插入图片描述

8x4: 8代表代表有8个地址空间,4代表每个地址空间存储了4个byte位的信息。

例题如上:(1)C7FFF H-AC000 H+1即可。为了计算方便先让C7FFF H+1==>C8000 H

此时C8000 H-AC000 H=1C000 H。注意:在进行借位的时候此时为16进制的计算,借一位等于16。(在进行计算的时候不要管H这个字母。)题目要求的是多少K个地址单元,所以进行转换:1C000/2^10=112 K

计算步骤:先将1C000转成10进制:1x164+12x163=114688, 2^10=1024,114688/1024=112

(2)112kx16=28x16kxX,所以X=4。即该芯片每个存储单元存储4个bit位。

6】磁盘

在这里插入图片描述

在这里插入图片描述
物理块:扇区。
在这里插入图片描述

按照题目画出如上图:

(48)题目中说磁盘的旋转周期位33ms,总共有11个扇区,这就意味着读取一个扇区需要3ms,题目又说系统使用的是单缓存区,此时注意因为是单缓存区,如果将R0读取到缓存区后,此时磁头是不能继续读取R1的,因为缓存区中还有R0,而此时磁头还是会继续转动的,当R0处理结束。即消耗3ms后,磁头已经转动到R2开始位置,而现在实际应该读取的是R1,所以磁头还需要继续转动,直到转动到R1的开始位置。所以处理完R0,开始处理下一个记录需要消耗:30+3+3=36ms。找规律发现,处理前0--9个记录是一样的规律,而处理R10的时候共消耗6ms,读取3ms,处理3毫秒。所以处理这11个记录的最长时间为:36x10+6=366ms。

(49)题目说可以对信息存储进行优化所以可以画图如下:画图如下是因为系统为单缓冲区,每次读取完数据后都不能继续读取,此时磁头还要继续转动,当处理完后,磁头已经转动到其他位置,而不是想要读取的位置,需要再进行转一圈,所以如果当处理完缓冲区数据后,磁头的位置为想要读取的位置则最省时间。
在这里插入图片描述
所以处理这11个记录的最少时间为:11x(3+3)=66ms

9、总线系统

在这里插入图片描述
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线地址总线控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

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

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

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

10、可靠性分析

1】串联系统

在这里插入图片描述

串联系统:所有的子系统都必须正常运行,如果一个子系统出现问题,整个系统都不可以使用。

总系统的可靠度:R=R1xR2xR3x.....xRn

在串联系统中, 一个元件失效即整个系统失效, 所以失效率为各元件相加而并非可靠性相加。即

失效率 :S=S1+S2+S3+......+Sn

注意:由于失效率的计算是一个近似的公式,所以有可能不是那么的准确。

2】并联系统

在这里插入图片描述
并联系统 :只要有一个子系统能正常运行,整个系统都能正常运行。

总系统的可靠度:R=1-(1-R1)x(1-R2)x(1-R3)x......x(1-Rn)

失效率 : S=1-R 。

3】模冗余系统

在这里插入图片描述

在这里插入图片描述

从整体上将该系统为串联系统,所以分别求出中间的和右边的并联的可靠度,在相加即为整个系统的可靠度。

11、校验码

在这里插入图片描述

1】循环校验码CRC

在这里插入图片描述

循环校验码CRC:可以做检错,但是不能进行纠错的校验码。是数据通信中的一种查错校验码。循环冗余检查对数据进行多项式计算,将计算结果附加在帧后面,接收数据的设备执行模2运算,保证数据传输的正确性和完整性。

模2除法      

①不向上借位,只要除数和被除数的位数相同就可进行计算,不比较它们的大小;

②模2运算中用到了模2减法,与逻辑异或相似: 1-1=0, 1-0=1, 0-1=1 , 0-0=0,

③例子:

在这里插入图片描述

在这里插入图片描述

1、生成多项式: x4+x3+x+1,其中X的几次方代表2进制为是0还是1,如果存在则为1,不存在则为0.所以转义成:11011 。

2、在进行编码的时候需要对原始报文进行补0 ,补0的个数为原始报文位数-1个0。此处补四个0.

3、进行模2除法 :模2除法得到一个四位的余数,然后将这个余数替换刚才的补上的四个0的位置,就得到CRC编码。即为110010101010011。

此CRC编码与生成多项式进行模2除法得到的余数为0这就对了。

2】海明校验码

在这里插入图片描述
2^r>=x+r+1其中x为信息位的位数,r位校验位的位数。

计算校验位的值是根据信息位来计算的,其中7=22+21+20,6=22+21,5=22+20,3=21+2^0。

所以说r2校验位为指数带有2的信息位的异或结果即r2=I4⊕I3⊕I2 。同理r1校验位为指数带有1的信息位的异或结果即r1=I4⊕I3⊕I1。同理r0=I4⊕I2⊕I1;