欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

转考-软件设计师-计算机组成原理与体系结构-1

程序员文章站 2022-06-03 12:05:47
...

(一)计算机组成原理与体系结构(6分)

1.数据的表示

1.1进制转化:

	(1) R进制转10进制: 按权展开(小数一样乘负权)
			如:	(10100.01)2=1*24+1*22+1*2-2
					(604.01)7=6*72+4*70+1*7-2
 	(2) 10进制转R进制: 短除法
			如: 94转2进制
				 结果为倒序:1011110 
	(3) 10进制小数怎么转化为2进制??
		如:94.0875 ---> 10100.111
				94转为10100
				0.875转为:    0.875*2=1.75  取整数部分1
				剩余的0.75*2=1.5  取整数部分1
				剩余的  0.5*2=1  取整数部分1
				直到没有小数为止
			(当然有的可能无限求也一直有小数,对于这样的只需要到达一定精度就可以)
				转化为10进制为0.111
	(4) 2进制快速转8进制
			把每三个二进制划分为一组转为相应的10进制,就是对应的八进制
			(不足3个一组,前面补0)(因为8进制最大到7,对应2进制为111)
				如:
						 010  001  110   二进制
				 		  2     1       6    八进制

	(5)2进制快速转为16进制
			把每四个二进制划分为一组转为相应的10进制,就是对应的十六进制
			(不足4个一组,前面补0)
			
			如:		1000   1110	二进制
						 8       E		八进制
	(6)8、16进制快速转2进制
				8进制每一位数转为一个3位的2进制
				16进制每一位数转为一个4位的2进制
				(不足3位或者4位,前面补0)

1.2 原、反、补、移码

		原码:把相应的数据转为8位二进制(8位中的最高位为符号位: 0代表正1代表负)
		反码:正数的反码与源码一样;负数的反码为符号位不变,其他位原都取反
		补码:正数的补码与源码一样;负数的补码为在反码的基础上加1
		移码:正负数补码的符号位取反
			1					-1			1				-1
	源码	0000 0001	1000 0001	1000 0010(不对)
	反码	0000 0001	1111 1110	1111 1111(不对)
	补码	0000 0001	1111 1111	0000 0000(对)(溢出)
	移码	1000 0001	0111 1111	1000 0000(不对)
	正数的原码、反码、补码相同    在计算机中使用补码参与加减法运算
	(会熟练进行原码、反码、补码、移码之间的转换)

1.3数值的表示

		码制					定点整数								定点小数
		原码	   		  -(2n-1-1)到+(2n-1-1)  	   	-(1-2 -(n-1))到+(1-2 -(n-1))
		反码				-(2n-1-1)到+(2n-1-1) 		-(1-2 -(n-1))到+(1-2 -(n-1))
		补码				-2n-1到+(2n-1-1)					-1到+(1-2 -(n-1))
		移码				-2n-1到+(2n-1-1)					-1到+(1-2 -(n-1))
					n为该电脑的字长(通常为8位)
		如果n=8  
				整数:
				原码范围:		去掉符号位最大表示位 2n-1-1(127) 最小则位该值的负数
				(n位去掉符号位,再去掉从0开始,最高到2n-2次,算最大值 则位次算高一位 在加1)
				正数的补码和移码少一个数位: -0
				(因为补码在原码基础上加了一个1,最小值加1,而最大值不会变大,否则溢出)
				 (移码是在补码基础上得来的的)
		
				小数:
				源码范围: 最大为: 1-2 -(n-1)  因为能表示的最小非负的小数为2-(n-1)
				所以能表示的最大小数为: 1-2-(n-1)
				能表述的最小的小数为: -(2-(n-1))

1.4浮点数的运算

	定义: 小数点位置不固定的数
	(1)浮点数的表示
			N=尾数*基数指数  1.23*102   101.11*22=1.0111*24(2进制)
	(2)运算过程:
			对阶 --> 尾数运算 > 结果格式化并判溢出-->
			(溢出-->进行调阶)
			如: 在算1.23*104+2.34*105的时候
			先进行对阶(小数像大数看齐) 0.123*105
			在进行尾数相加,把结果格式化 2.463*105
	(3)特点:
			1: 一般位数用补码,阶码用移码
			2:阶码的位数决定数的表示范围,位数越多范围越大
			3:尾数的位数决定数的有效精度,位数越大精度越高
			4:对阶时,小数像大数看齐
			5:对阶是通过比较小数的位数算数右移实现的
		阶码就是: 基数的指数位数
(4)浮动数的存储:
			| 阶码符号 | 阶码 |尾数符号尾数

1.5工业标准IEEE 754

	IEEE 754是IEEE制定的有关浮点数的工业标准,表现形式:
		(-1)S2E(b0b1b2b3....bp-1)
		(-1)S为该浮点数的数字符号,s=0为正,s=1为负
		E为该浮点数的指数(阶码),用移码表示
		(b0b1b2b3....bp-1)表示该长度的尾数,p表示其长度,用原码表示

	单精度浮点数: 32位     双精度浮点数: 64位     扩展精度浮点数:80位
	(对应的位数长度,指数长度-->看建材)
			列:
		(1)对于单精度浮点的尾数b0b1b2b3....b22=0100 1001 0000 0000 1001 001
			对于的尾数真值位(1+10-2+10-5+10-8+10-17+10-20+10-23)10进制
		(2)利用IEEE 754标准把10进制176.0625转为单精度浮点数
				(176.0625) ----> (10110000.0001)2
				转为1.01100000001*27保证了b0为1,去掉b0
				把尾数扩展到23位  尾数001100000001000000000000
				单精度指数偏移量为127  则 阶码E=7+127=134=(1000110)2
				该值位正数,所以s=0
				转为单精浮点数 0 1000110 001100000001000000000000
				     				    S     E              尾数

1.6定点数

	   定义: 小数点位置不变的数
小数点位置通常有两种约定方式:
		(1)定点整数:
					纯整数,小数点在最低有效数字之后
		(2)定点小数:
					纯小数,小数点在最高有效数之前

2 计算机结构

2.1cpu

转考-软件设计师-计算机组成原理与体系结构-1

	主机是由cpu和主存储器组成
	CPU是由于运算器和控制器组成
		★重点了解cpu各个部分的组成及其作用:
		运算器:
		(一)算术逻辑单元ALU: 实现对数据的算术和逻辑运算
		(二)累加寄存器AC: 为ALU提供一个工作区
		(三)数据缓存寄存器DR: 对内存读写操作时,用于暂时存放指令和数据
		(四)状态条件寄存器PSW: 保存某些状态的结果、条件(有异议)
		控制器:
			一、程序计数器PC: 存放要访问的指令个数(计数),下一条指令地址(寄存信息)
			二、指令寄存器IR: 暂时存储一条将要访问的指令
			三、地址寄存器AR:保存了当前指令地址
			四、指令译码器ID:对一条指令的操作码进行解析和分析
			五、时序部件:命令的执行顺序

2.2计算机体系结构分类:

	从宏观按处理机的数量分类 :
			1.单处理系统
	        2.并行处理
	        3.多处理系统
    微观上按并行程度分类:   
	    1.Flynn分类法★(按指令流和数据流的多少分类)
        2.冯泽云分类法
  	    3.Handler分类法
  		4.Kuck分类法   

★(重点)按Flynn分类
转考-软件设计师-计算机组成原理与体系结构-1

2.3 指令系统

(1)指令的概念:
		 	 一条语句就是机械语言的一个语句,是一组有意义的二进制代码
		           存储方式:          操作码字段 | 地址码字段

		操作码:要执行什么性质的计算??加,减,乘,除,取余
		地址码:分为3地址指令,2地址指令,1地址指令(存放要操作的数据)
			OP| a	| b	| c
				 如 :  return c = a+b;
		    op |	a| 	b 
					如: return a+=b;
		    op | 	a
					如:  return a+=1;
(2)寻址的方式
		立即寻址方式: 操作数直接放到指令里面(速度快,灵活性差)
		直接寻址方式: 地址码放的是操作数的地址
		间接寻址方式: 操作数对应的是地址,这个地址里面内容是操作数的地址
		寄存器寻址方式:寄存器存放操作数
		寄存器间接寻址方式:寄存器存放操作数的地址

(3)指令集体系统的结构分类: 看教材14页
(4)指令集体系统的类型分类:★SISC和RISC

转考-软件设计师-计算机组成原理与体系结构-1

(5)★指令的流水处理
		流水线的概念:
		是指程序在多条指令重叠进行操作的一种准并行处理实现技术
		如果每处理一条指令需要 取指-->分析-->执行 
		(当第一条指令进行分析阶段的时候,同时下一条指令可以进行取址)

转考-软件设计师-计算机组成原理与体系结构-1

★流水线周期:
执行时间最长的一段
流水线周期:△t=Max(取指时间,分析时间,执行时间 )
★流水线总时间计算公式:
总时间=1条指令总时间+(指令条数-1)*流水线周期
①理论时间:
=(t1+t2+…tk)+(n-1)△t
②实践时间:
= k
△t+(n-1)*△t
(考试的时候,当理论时间找不到的时候,用实践时间代替)

转考-软件设计师-计算机组成原理与体系结构-1

	★超标量流水线:
			同时可以处理多条指令
		    度:同时进行的指令操作数量

转考-软件设计师-计算机组成原理与体系结构-1

	★流水线吞吐量的计算:

		    吞吐率TP:单位时间完成的任务数量(单位时间输出的结果数量)
			TP=指令条数/流水线总时间

	★流水线的最大吞吐率

			TPmax = 1/△t  (△t为流水线最大周期)

层次存储结构:

	★Cache高速缓存,按内容进行存取
	(通过关键词检索出对于的内容)

转考-软件设计师-计算机组成原理与体系结构-1

★Cache高速缓存,按内容进行存取
(通过关键词检索出对于的内容)
由上往下:储存量越来越大,速度越来越慢
(局部原理是层次储存结构的支撑)

Cache
	Cache是连接cpu和内存的桥梁
	Cache的访问速度经次于cpu,(寄存器也比cache快)
	使用cache改善系统性能的依据是程序局部性原理(分为时间局部性和空间局部性)

	★如果h代表Cache的访问的命中率(cup访问Cache的数据在Cache里面,就是命中)
		t1代表Cache的周期时间, t2代表主存储器的周期时间
	以读写为例,使用“Cache+主存储器”的系统平均周期t3:
			t3 = h*t1 +(1-h)t2
		(1-h为失效率去访问主存储器,h为命中率访问Cache)
Cache映像:
	★主存与Cache的映像关系,可以快速的找到对应的内容
	(1)直接映像:硬件电路比较简单,但冲突率高
	(2)全相连映像:电路难于实现和设计,只适合小容器的Cache,冲突率低
	(3)组相连映像: 直接映像和全相连映像两种的折中

转考-软件设计师-计算机组成原理与体系结构-1

	(4)地址映像:将主存与Cache的存储空间划分为若相同的页(相同的块)
	如: 某机的主存容量为1GB,划分为2048页,每页512KB
	 Cache容量为8MB,划分为16页,每页512KB

主存-编址与计算:

★两种编址方式:
		按字编址:最小的寻址单位为一个字 (bit)   
		按字节编址:最小的寻址单位为一个字节(Byte)

★★根据存储容量和存储芯片的容量,求存储芯片的数量: 数量 = 存储容量 / 芯片容量
		列:存储地址为4000H~43FFH,每个存储单元存储16位二进制,该内存区域
			 用4片存储芯片构成,则存储芯片的容量为??
			(最后一个为H,表示16进制)总存储大小为:
			(43FFH-4000H)+1H=4400H-4000H=400H(两个进行相减加一个1H转为补码计数)
			400H表示为2进制0100 000 000为210 , 题目告诉每个2进制为16bit
			每个存储芯片容量为 =(210 * 16bit)/4 =1024*16 bit

总线:

	一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。

	★总线的分类:
			数据总线(DataBus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
			地址总线(Address Bus):用来指定在RAM之中储存的数据的地址。
			控制总线(Control Bus):将微处理器控制单元的信号,传送到周边设备,									一般常见的为USB Bus和1394Bus。

串联系统与并联系统:

★串联系统:
转考-软件设计师-计算机组成原理与体系结构-1
★并联系统:
转考-软件设计师-计算机组成原理与体系结构-1
R代表可靠性 λ代表失效率
可靠性和实效性的关系为: R(t) = e-λt

	列:
		求系统的可靠性:

转考-软件设计师-计算机组成原理与体系结构-1

校验码:

	码距:任意两个二进制之间至少要变化的二进制位数,1010 与1101 有三位不同码距为3

		(1)奇偶校验码:
				奇校验:检验码中‘1’的个数为奇数
				偶校验:校验码中‘1’的个数为偶数
				补一位,偶/奇个一变为奇/偶
					奇偶校验,可检测一位(奇数位)发生的错误,不可纠错
				(如果错误发生偶数次,检验不出错误)
		(2)★循环冗余校验码:
				可以检测,不可纠错
			步骤:
			题目会给一个M(x)多项式,一个源码,求发送的CRC编码
			(1)根据多项式M(x)得出除数
			(2)源码做除法,(0、1取1  1、1和0、0取0)
			(3)得到的余数放到源码后面
			列:
					11001010101  M(x) = x4+x3+x+1 =11011
					z最后结果为1100101010011

转考-软件设计师-计算机组成原理与体系结构-1

		(3)海明校验码
				可以检验,也可以纠错
				r校验位的个数 , m数据位
				★2r >= m+r+1
相关标签: 补码 cpu