计算机组成与系统结构
第一章:绪论
计算机发展史
-
第0代:机械计算机
-
第1代:电子管计算机(1945-1955)
由电子管组成 世界上第一台计算机ENIAC在1946
-
第2代:晶体管计算机(1955-1965)
由晶体管组成
-
第3代:集成电路计算机(1965-1980)
利用小规模及中规模集成电路
-
第4代:超大规模集成电路计算机(1980-)
由大规模、超大规模集成电路构成
-
第5代:高性能智能计算机
采用超大规模、超高速集成电路
摩尔定律
集成电路芯片的集成度每18个月翻一番
冯.诺依曼计算机
计算机依照按地址访问 并顺序执行指令
冯诺依曼计算机的基本特点:
- 将计算机要处理的问题用指令编成程序
- 指令和数据以同等地位存放在存储器中,并可按地址访问
- 以二进制形式表示指令和数据
- 在控制器的控制下,指令被逐条从存储器中取出来执行,产生控制流,在控制流的驱动下完成指令的功能
- 冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据
计算机由运算器 , 控制器 , 存储器 , 输入和输出五部分组成
冯诺依曼机器的基本工作方式是控制流驱动
计算机分层结构:
分类
早期分类:微型机,小型机,中型机,大型机和巨型机
Flynn(弗林)分类法:
- 单指令流单数据流(SISD)计算机 ------冯诺依曼计算机
- 单指令多数据流(SIMD)计算机
- 多指令流单数据流(MISD)计算机 -----不存在
- 多指令流多数据流(MIMD)计算机 ------现代计算机
Amdahl定律
计算机系统中某一部件由于采用某种更快的执行方式后,整个系统性能的提高与这种执行方式的使用频率或占用执行时间的比例有关
第二章:数据表示
bit和byte比较
一个Byte是由8个bit组成,一个Byte成为一个字节
一个bit可以表示一个二进制信息(二进制位)
数据编码:
数值数据的编码
二进制转十进制:1011.101 = 123 +022+121+120+12-1+02-2+1*2-3
十进制转任意:整数 除基取余(倒着读) ,小数 乘基取整(正着读)
方法一:0.6875转二进制: 0.1011
- 0.6875*X2=1.375 1
- 0.375*X2=0.75 0
- 0.75*X2=1.5 1
- 0.5*X2= 1 1
方法二:0.6875 = 0.5 +0.1875 = 0.5+0*0.25+0.125+0.0625 = 1/2 + 1/8+1/16
48 = 25+24=110000
二进制转八进制
11001010.11010101= 011 001 010. 110 101 010 (以小数点左右三位划分)
011 = 3 001 = 1 010=2 . 110=6 101=5 01.=2
11001010.11010101 = 312.652(8)
二进制转十六进制
1011011010.11011101 = 0010 1011 1010.1101 1101 = 2DA.DD
十进制转八进制
方法一:十进制转二进制,二进制再转八进制
方法二:137.5(10)
137/8=17…1
17/8=2…1
2/8=0…2
137(10)=211(8)
0.5*8 = 4
137.5 (10) = 211.4(8)
无符号数与有符号数
原反补移(假设都是8位)(考点1)
原码:
整数:(不够8位往前面补足8位,第一位一定是符号位不变)
+1110
0 000 1110
-1110
1 000 1110
小数:(不够8位往后补足8位,第一位仍是符号位)
+0.1011
0 .1011 000
-0.1011
1 .1011 000
反码:(反码反的是负数)
原反补的正数都是本身原码
(先写原码,符号位不动,剩下位置取反即可,不能先取反再用0补位)
整数:
-1110
1 000 1110原
1 1111 0001反
小数:
-0.1011
1 .1011 000原
1 .0100 111反
补码:
在补码末尾加一
整数:
-1110
1 000 1110原
1 1111 0001反
1 1111 0010补
小数:
-0.1011
1 .1011 000原
1 .0100 111反
1 .0101 000补
取值区间:(考点2)
原码和反码的取值区间是相同的,边界也是一样的
原整 n位:[- (2n-1-1) , +(2n-1-1) ]
原小 n位:[- (1-2-(n-1)) , +(1-2-(n-1)) ]
反码和原码范围相同
补整 n位:[-(2n-1),+(2n-1-1)]
补小 n位:[-(1),+(1-2-(n-1))]
原反补的小数的范围乘2n-1就是整数的范围
0的表示:(考点3)
补码0唯一[0]补
原码的0:[+0]原 =0 0000000 [-0]原= 1 0000000
反码的0:[+0]反= 0 0000000 [-0]反= 1 1111111
8位无符号数: 均为数值为 0-255
8位有符号数:符号位1+数值位7 0为正1为负
数据的定点与浮点表示
十进制数据:BCD码