计算机组成原理与体系结构
一、数据的表示
进制转换
1. R进制转十进制使用按权展开法
(幂的指数与该位和小数点的距离有关,小数点左边为正数的值,反之为负数,以小数点左边的第一位记为0)
例:二进制 10100.01=1*2^4+1 *2^2+1 *2^-2
七进制 604.01=6 *7^2 +4 * 7^0 +1 * 7^-2
2. 十进制转R进制使用短除法
(用十进制数除R取余,直到余数为零,最后将余数从下到上排列)
3.二进制转八进制与十六进制
(1)二进制转八进制:从小数点开始,向左或向右每3位为一组用一位八进制数的数字表示,不足3位的要用0补足3位,就得到一个八进制数。
(2)二进制转十六进制:从小数点位置开始,向左或向右每四位二进制划分一组(不足四位数可补0),然后写出每一组二进制数所对应的十六进制数码。
10001110转化为八进制是216 转化为十六进制是8E
原码、反码、补码、移码
原码:就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
反码:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
补码:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后加一。
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
移码:只需要将它的补码的符号位取反。
浮点数运算
浮点数运算即科学计数法,表示方法为:N=M*R^e(其中,M称为尾数,e是指数,R为基数)。
二、计算机结构
三、计算机体系结构分类——Flynn
四、CISC与RISC
五、流水线
1.概念:
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
2.指令执行的流程:
——>取指——>分析——>执行——>
3.流水线计算
流水线周期为执行时间最长的一段
流水线计算公式:1条指令执行时间+(指令条数-1)*流水线周期
理论公式:(t1+t2+……+tk)+(n-1)*△t
实践公式: (k+n-1)*△t
4.流水线的吞吐率计算
流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算公式:TP=指令条数/流水线执行时间
流水线最大吞吐率:TPmax=1/△t
5.流水线的加速比计算
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。
计算公式:S=不使用流水线执行时间/使用流水线执行时间
6.流水线的效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。
计算公式:E=n个任务占用的时空区/k个流水段总的时空区
六、Cache
1.功能:提高CPU数据输入输出的速率,突破冯·诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制。
2.在计算机的存储系统体系中,cache是访问速度最快的层次。
3.在使用cache改善系统性能的依据是程序的局部性原理。