01.补充 计算机系统基础知识

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章、计算机系统基础知识

引入: 我们已经学习过计算机系统基础知识,今天我们来回想一下在计算机中,数据是通过什么形式来表现的?

正课:

一.计算机中的数据表示

2.定点数和浮点数及其运算

(1)定点数(小数点位置固定不变)

定点整数:小数点在最低有效数值之后

如:210)1010()10(-→- 原码表示:10001010。

定点小数:小数点在最高有效数值之后

如:210)01.0()25.0(-→- 原码表示:10100000。

定点数的运算(浮点数):补补]Y [[X]Y X ±+=±

求负补的方法:对补码(包括符号位)的每一位求反,最低为加1。

如:补]X [=0100 1101 补]Y [=0011 1001 补]Y [-=1100 0111

补]Y X [-=补]X [+补]Y [-=0001 0100

溢出判断(双符号位):

0 1 1 1 1 1 1 1

+00 0 0 0 0 0 0 1

———————

01 1 0 0 0 0 0 0

S0S

110S S0=⊕=⊕表示溢出

如:8-5

(+00001000)+(-00000101)-原-补->

(00001000)

+(11111011)

= 10000011

2)浮点数

浮点数运算:(参见程序员教程P24,参见参考书P28例5)

x=1101.0201

⨯,y=1010).0(211-⨯假设尾数在计算机中以补码表示,存储4位尾数,2位符号位,阶码以原码表示,求X+Y 。

浮]x [=0001 00.1101

浮]y [=0011 11.0110

(1)对阶

11-1=10,即2,将x 尾数右移两位

浮]x [= 0001 00.001101

(2)尾数求和

浮]y x [+=0011 11.100101

(3)规格化

浮]y x [+=0010 11.001010(向左规格化)

(4)舍入

浮]y x [+=0010 11.0010

(5)检查溢出

无溢出,x+y=)1110.0(210-⨯

例题:已知两浮点数分别为X=0.11110102⨯和Y=0.1111112⨯,其阶码都用3位二进制补码表示,尾数则用二进制原码表示。如对该两浮点数进行求和,则两数阶差(用十进制表示)为____;经对阶,浮点数Y 的尾数变为____;相加后____;经规格化的浮点数相加,结果为____。如阶码用移码表示,则原X 、Y 的阶码分别为____。

解答:

X 的阶码:(010)-> 原(010)

Y 的阶码:(111)-> 原(101)

阶差:2-(-1)=3

对阶,Y 的阶码扩大为3,则尾数缩小3位:0.000111

相加后,0.11110102⨯+0.0001110102⨯=1.0000110102⨯=0.10000110112⨯(右规格化),未出现溢出。

阶码用移码表示:010->110;111->011(补码符号位取反)

二.校验码

1.奇偶校验:

增加一位校验码来时编码中1的个数保持为奇数(奇校验)或偶数(偶校验)添加位的方法分为水平奇偶校验和垂直奇偶校验以及水平垂直奇偶校验。

2.海明码(Hamming Code )

数据位n 位,校验位k 位,满足k n +≥12k

假设n=8 则 k=4

校验:P4 P3 P2 P1

数据:D7 D6 D5 D4 D3 D2 D1 D0 Pi=12

j H H -i =;

合并:H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1

P4 P3 P2 P1

D7 D6 D5 D4 D3 D2 D1 D0

H3: 3=1+2

H5: 5=1+ 4

H6: 6= 2+4

H7: 7=1+2+4

H9: 9=1+ 8

H10:10= 2+ 8

H11: 11=1+2+ 8

H12:12= 4+8 H1:H3, H5, H7, H9, H11 P1:D0, D1, D3, D4, D6(异或) H2:H3, H6, H7, H10, H11 P2:D0, D2, D3, D5, D6(异或) H4:H5, H6, H7, H12 P3:D1, D2, D3, D7(异或) H8:H9, H10, H11, H12 P4:D4, D5 , D6 , D7(异或) 演示数据位如何产生校验位:

以课本为例

演示错误数据如何校验

正确的数据:011001001101(其中校验位为P1=1 P2=0 P3=1 P4=0)

错误的数据:011101001101(纠正一位出错,第9位出错)

P1⊗D0⊗D1⊗D3⊗D4⊗D6=1

P2⊗D0⊗D2⊗D3⊗D5⊗D6=0

P3⊗D1⊗D2⊗D3⊗D7=0

P4⊗D4⊗D5⊗D6⊗D7=1

即1001位出问题!

例题1:对于16位数据,需要____个校验位才能构成海明码。

解答:k=5

例题2:在某个海明码的排列方式D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,其中Di 表示数据位,Pj 表示校验位,数据位D8由_____进行校验。

三.逻辑代数

基本公式(P20) 异或:B A B A B A +=⊕ 同或: AB AB B A +=⊙

分配率:A +(B ·C )=(A ·B )+(A ·C )

吸收率:A +A B =A +B

证明:

其他:AB +A C +BC =AB +A C 注:教程有错。

证明:AB+A C+BC=AB+A C+BC (A+A ) = AB+A C+ABC+A BC

=AB (1+C )+A C (1+B )=AB+A C

小结:

本节课我们复习了计算机基础知识的重点和难点。计算机中数据的表示是重点,历年考试常有考察,也是最基本的知识。对于海明码的编码过程我们要熟练掌握。指令系统由于大家没学过,所以需要同学们课后结合笔记查找相关资料进行深入了解。

作业:

请同学们完成印发的练习。

相关文档
最新文档