计算机原理及系统结构_第1页
计算机原理及系统结构_第2页
计算机原理及系统结构_第3页
计算机原理及系统结构_第4页
计算机原理及系统结构_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉林大学远程教育学院

计算机原理及系统结构

第六讲

主讲教师:赵宏伟学时:64

第3#

数据表示、数据运算算法

和逻辑电路实现

4#:要佝客

I

⑥信息编码、码制转换与检错纠错码

>数据表示——常用的信息编码:

⑥二进制数值数据的编码与运算算法

数字化编码二要素

数值文字符号语音图形图像等统称数据,

在计算机内部,都必须用数字化编码的形式

被存储加工和传送

数字化编码二要素:

①少量简单的基本符号

②一定的组合规则

用以表示大量复杂多样的信息

P62

基二码(二进制码)

只使用两个基本点符号:10

符号个数最少,物理上容易实现

与二值逻辑的真假两个值对应简单

用二进制码表示数值数据运算规则简单

P63

进位记数法与进制转换

进位记数法

N=2ZQ*r

N代表一个数值i=m-l

r是这个数制的基(Radix)

i表示这些符号排列的位号

D,是位号为i的位上的一个符号

1

r1是位号为i的位上的一个1代表的值

Di*ri是第i位的所代表的实际值

)表示m+k位的值求累加和

P64

十进制转二进制

整数部分除2取余小数部分乘2取整

2|11------1低0.625*2

215——--j高]0.25*2

212-----------0.00・5*2

21————1In]低]

0

除尽为止求得位数满足要求为止

从二进制数求其十进制的值,逐位码权累加求和

P65

二到八或十六进制转换

二到八从小数点向左右三位-■*分组

(10011100.01)2=(234.2)8

010

二到十六从小数点向左右四位一分组

(10011100.01)=(9C.4)

乙2160

0100

说明:整数部分不足位数对转换无影响,

小数部分不足位数要补零凑足,否则出错。

P67

吉林大学远程教育学院

计算机原理及系统结构

第七讲

主讲教师:赵宏伟学时:64

二进制数据算术运算规则

(1)加法运算规则

0+0=0例如:0101

0+1=1+)0001

1+0=10110

1+1=0并产生进位

(2)减法运算规则

0-0=0例如:1011

0-1=1并产生借位-)0101

1-0=10110

1-1=0

二进制数据算术运算规则

(3)乘法运算规则例如:1101

0X0=0X)0101

0X1=0

1X0=01101

1X1=11000001

(4)除法运算规则

1101例如:1110101/1001

1001/1110101

/1001

1011

1001

01001

1001

0

P68

二进制数据逻辑运算规则

(5)逻辑或运算规则(7)逻辑非运算规则

ovo=o70=1

0V1=1/1=0

0000

1V0=1

1V1=1

(6)逻辑与运算规则(8)逻辑异或运算规则

0A0=00㊉0=0

0A1=00㊉1=1

1A0=01㊉0=1

1A1=11㊉1=0

吉林大学远程教育学院

计算机原理及系统结构

第八讲

主讲教师:赵宏伟学时:64

检错纠错码

为了提高计算机的可靠性,除了采

取选用更高可靠性的器件,更好的生产

工艺等措施之外,还可以从数据编码上

想一些办法,即采用一点冗余的线路,

在原有数据位之外再增加一到几位校验

位,使新得到的码字带上某种特性,之

后则通过检查该码字是否仍保持有这一

特性,来发现是否出现了错误,甚至于

定位错误后,自动改正这一错误,这就

是我们这里说的检错纠错编码技术。

P70

信息位与校验位排列位置关系

随机突发

错误错误非系统码系统码

P70

几种常用的检错纠错码

我们只介绍三种常用的检错纠错码:

奇偶检错码,用于并行数据传送中

海明检错与纠错码,用于并行数据传送中

循环冗余码,用于串行数据传送中

原始数据结果数据

编码过程A译码过程

形成校验位的值,检查接送的码字,

加进特征发现/改正错误

奇偶校验码

用于并行码检错

原理:在k位数据码之外增加1位校验位,

使K+1位码字中取值为1的位数总保持

为偶数(偶校验)或奇数(奇校验)。

例如:偶校验奇校验

000Jo000彳

校验位;二

oc01

原有数字位两个新的码字

P71

奇偶校验码的实现电路

奇较验偶校验出错指示

Atp

编码电路译码电路

据㊉

D比目4

海明校验码

用于多位并行数据检错纠错处理

实现:为k个数据位设立r个校验位,

使k+r位的码字同时具有这样两个特性:

①能发现并改正k+r位中任何一位出错,

②能发现k+r位中任何二位同时出错,但已

无法改正。

海明码的编码方法

合理地用k位数据位形成r个校验位的值,

即保证用k个数据位中不同的数据位组合

来形成每个校验位的值,使任何一个数据

位出错时,将影响r个校验位中不同的校

验位组合起变化。换言之,通过检查是哪

种校验位组合起了变化,就能确定是哪个

数据位错,对该位求反则实现纠错。

有时两位错与某种情况的一位错对校验位组

合的影响相同,必须加以区分与解决。

海明码的实现方案例如:k=3,r=4

D3D2DIP4P3P2Pl

1111111㊉:异或

iooio~~o-Pl=D2@D1

1O1OO1OP2=D3©DI

0110001P3=D3@D2

编码方案P4=P3®P2@P1@D3@D2@DI

Sl=Pl®D2@D1

译码方案S2=P20D3GDI

S3=P3@D30D2

S4=P4@P3@P2@P1©D30D2@D1

P72

检错纠错码小结

(1)K位码有2K个编码状态,全用于表示合法

码,则任何一位出错,均会变成另一个合法

码,不具有检错能力。

(2)从一个合法码变成另一个合法码,只少要

改变几位码的值,称为最小码距(码距)。

(3)K+1位码,只用其2K个状态,可使码距

为2,如果一个合法码中的一位错了,就成

为非法码,通过检查码字的合法性,就得到

检错能力,这就是奇偶校验码。

检错纠错能力

(4)对k位数据位,当给出r位校验位时,

要发现并改正一位错,须满足如下关系:

2r>=k+r+1;

要发现并改正一位错,也能发现两位错,则应:

2r.i>=k+r,此时码距为4。

⑸若最小码距为d(d>=2),

能发现d-1位错,或改正(d-2)/2(取整)位错,

要发现I位错,并改正t位错,应满足如下条件:

d>=I+t+1(I>=t)

吉林大学远程教育学院

计算机原理及系统结构

第九讲

主讲教师:赵宏伟学时:64

4#:要佝客

I

⑥信息编码、码制转换与检错纠错码

⑥数据表示——常用的信息编码

⑥二进制数值数据的编码与运算算法

码应用实例:数据表示

逻辑型数据

字符型数据

ASCII码EBCDIC码

字符串汉字

检错纠错码

奇偶校验海明校验循环冗余校验

数值型数据

定点小数整数浮点数

二一十进制数(BCD码)

逻辑型数据

逻辑型数据只有两个值:真和假,

正好可以用二进制码的两个符号分别表示,

例如1表示真

则0表示假

不必使用另外的编码规则。

对逻辑型数据可以执行逻辑的与或非等基

本逻辑运算。其规则如下:

逻辑型数据基本运算规则

XYX与YX或丫X的非

00001

01011

10010

1111___0

字符型数据的表示

字符作为人一机联系的媒介,是最重

要的数据类型之一,当前的西文字符集由

12个符号组成,通常用位二进制编码,

即用一个字节来表示每一个符号,当前通用

的两个标准字符集是:

ASCII码:即AmericanStandardCodefor

InformationInterchange

EBCDIC码:即ExtendedBinaryCoded

DecimalInterchageCode

ASCH码字符集具体编码如下表所示:

ASCH字符编码集

b5,4000001010011100101110111

h?h2

0000NULDLESP0@P5P

0001SOHDC1I■1AQaq

0010STXDC22BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdt

0101ENQNAK%5EUeu

0110ACKSYN&6FVfV

0111BELETB7Gwgw

1000BSCAN(8HXhX

1001HTEM)9IY1y

*■■

1010LFSUB■JzJz

1011VTESC+yK[k{

1100FFFSJ<L1I

1101CRGS■二M]m}

1110SORS■>NAnMW

?

P751111SIUS10..o

字符串的表示与存储

字符串是指连续的一串字符,它们占据主存中连续的

多个字节,每个字节存放一个字符,对一个主存字的

多个字节,有按从低位到高位字节次序存放的,也有

按从高位到低位字节次序存放的。表示字符串数据要

给出串存放的主存起始地址和串的长度。例如:IF

A>BTHENREAD(C)就可以有如下不同的存放方式:

假定每个字

由4个字节

组成

汉字的表示

通常用两个字节表示一个汉字

为了与西文字符编码相区别(西文的

ASCH码的最高一位编码值为0),表示一

个汉字时,把两个字节的最高一位的编码

值设定为1,则该编码集的最多编码数量

为128X128。

这种编码方案与西文传送中的把ASCH

码的最高一位用作奇偶校验位有矛盾。

数值数据在计算机内的格式

定点小数:N=NsN-lN-2...........N-n

整数:N=NsNnNn"...NiNo

浮点数:N=MSESEmi…EiEoMiM2...Mn

基为2

IEEE标准:阶码用移码,尾数用原码

符号位阶码位尾数数码位总位数

短浮点数:182332

长浮点数:1115264

临时浮点数:1156480

P76

二一十进制编码(BCD编码)

用四位二进制表小一位十进制,

16个编码状态选用其中的10个编码

有多种方案,例如:

8421码,余3码,循环码

又可区分为:

有权码:每位上的1代表确定的值

无权码:无法确定每位上的1代表的值

有权码无码

8421余3码循环码84-2-1

00000001100000000

10001010000010111

20010010100110110

30011011000100101

40100011101100100

50101100011101011

60110100110101010

70111101010001001

81000101111001000

91001110001001111

P79

吉林大学远程教育学院

计算机原理及系统结构

第十讲

主讲教师:赵宏伟学时:64

4#:要佝客

I

⑥信息编码、码制转换与检错纠错码

>数据表示——常用的信息编码:

⑥二进制数值数据的编码与运算算法

定,/小数表示:NsN1N2...Nn

(纯小数)原码,反码,补码的定义

xO<X<1

[X]原1-X-1<X<O

XnO<X<1

[X]=(2-2n)+X-1<X<0Mod(2-2n)

O<X<1

[X]=12+X-1<X<0Mod2

P82

定点小数表示:NsN1N2...Nn

原码

定义:[X]原=[X0WXV1

原I1-X-1<X<0

实例:X1=0.10110-0.101100.0000

[乂]原=010110110110f00000

__________________________t10000

结论:原码为符号位加数的绝对值,。正1负

原码零有两个编码,+0和=()编码不同

原码难以用于加减运算,但乘除方便

P83

定,名小数表示:NsN1N2...Nn

模2补码

定义:O<X<1

凶补={1-1<X<0MOD2

实例:X1=0.10110-0.101100.0000

[X]补=01011010101000000

结论:补码最高一位是符号位,。正1负―-

补码表示为:2*符号位+数的真值

补码零只有一个编码,故能表示

补码能很好地用于加减(乘除)运算

P83

定,名小数表示:NsN1N2...Nn

反码

定义・『X%=JX0&XV1

•1,反l(2・2-n)+X4<X<0MOD(2-2n)

实例:X1=0.10110-0.101100.0000

[X]^=01011010100100000

___________________________11111

结论:反码负数为符号位跟每位的反,0正1负

反码零有二个编码,分+0和,

反码难以用于加减运算,有循环进位问题

P86

吉林大学远程教育学院

计算机原理及系统结构

主讲教师:赵宏伟学时:64

整数的编码表示

整数的原码反码补码表示

与小数的三种表示基本相同,

差别仅表现在小数点的位置,

可以认为整数的小数点在最低数值位的右侧

因此整数的模与整数位数有关,

讲课中不大用整数讲原反补码定义

例如:整数六位编码:

X=+01110[X]jg=001110[X]#=001110

X=-01110凶原=101110[X]#=110010

P87

原反补码表示小结

正数的原码、反码、补码表示均相同,

符号位为0,数值位同数的真值。

零的原码和反码均有2个编码,补码只1个码

负数的原码,反码,补码表示均不同,

符号位为1,数值位:原码为数的绝对值

反码为每一位均取反码

补码为反码再在最低位+1

由[X]补求[・X]补:每一位取反后,再在最低位+1

n

由凶补求X的真值:X=-1+ZXj*2】

i=l

数据的算术运算

补码加减法运算

原码一位乘法运算原码一位除法运算

补码一位乘法运算补码一位除法运算

原码二位乘法运算

补码二位乘法运算

其它快速乘除法运算方法简介

补码加减法的实现

[X+丫]补=凶补+[Y]补

[XM补=吗卜+RY]补

卜丫]补=对[Y]补逐位取反,再在最低位加1

溢出判断:

(1)正+正得负或负十负得正

(2)数字位有向符号位的进位,但符号位不产

生向更高位的进位

(3)双符号位的值为01或10

实现补码加减运算的逻辑电路

F-X

力口F◄—Y

X-F

Vrx-X+Y

IX—X・Y

F-X

F-/Y

F-1

X-F

补码加减法运算实例

X=0.1011y=-0.0101模4补码

[不补=001011,[丫]补=111011

[・丫]补=000101

001011001011

考111°11+000101

io丁OHOoioooo

X+YX-Y(溢出)

补码表示中的符号位扩展

由凶补求[X/2]补的方法

原符号位不变,

且符号位与数值位均右移一位,例如,

凶补=10010贝I」凶2]补=110010

不同位数的整数补码相加减时,

位数少的补码数的符号位向左扩展,

一直扩展到与另一数的符号位对齐。

01010101110000110101010111000011

+1111111110011100+0000000000011100

01010101010111110101010111011111

吉林大学远程教育学院

计算机原理及系统结构

第十二讲

主讲教师:赵宏伟学时:64

原码一位乘运算

*

[X*Y]原=(XS®YS)(XY)

例如:X=0.1101Y=-0.1011

部分积乘数

0.11010000001011

*0.10110001101101

11010010011110

11010001001111

00000010001111

+1101X和Y符号异或为负

0.10001111最终乘积原码表不为:

110001111

手工运算过程计算机内运算的实现方法

P90部分积右移P92

原码一位乘运算

例如:X=0.1101Y=-0.1011

0.1101问题:

*0.10111.加法器只有两个数据输入端

-11012.加法器与乘运算数据位数相同

1101解决方案:

0000每次求出部分积,而不是一次总累加

+1101变每次左移被乘数为右移部分积

0.10001111判乘数每一位的值用固定的一位线路

手工运算过程

实现原码一位乘法的逻辑线路图

原码一位乘法

111

1111

原码一位乘运算

例如:X=0.1101Y=-0.101^)

0.1101000000累加器初值取零值

*0.1011001101

110100110T初值o加被乘数

11010001101部分积右移

0000将移出的一位保存起来

+1101求第一次部分积

0.10001111

手工运算过程

原码一位乘运算

例如:X=0.1101Y=-0.10^1

0.1101000110

*0J011001101

1101010011前次部分积加被乘数

110100100111部分积右移

0000将移出的一位保存起来

+1101求第二次部分积

0.10001111

手工运算过程

原码一位乘运算

例如:X=0.1101Y=-0.1§11

0.1101001001

*0.1011000000

1101001001前次部分积加0

1101000100111部分积右移

0000将移出的一位保存起来

+1101求第三次部分积

0.10001111

手工运算过程

原码一位乘运算

例如:X=0.1101Y=-0.^011

0.1101000100

*0,1011+001101

1101010001前次部分积加被乘数

11010010001111部分积右移

0000将移出的一位保存起来

+1101求第四次部分积

0.10001111

最后一步2数符号异或求

手工运算过程积的符号

原码一位乘运算

例如:X=0J101Y=-o|o11

0.1101000100

*0,1011+001101

110101000

11010010001111

0000

+1101求第四次部分积

0.10001111若把乘数放在一个移位寄存器中,

该寄存器又用来接受加法器的移位输

出,则判乘数的某一位也更方便

手工运算过程

除法运算

在计算机内实现除运算时,存在

与乘法运算类似的几个问题:

加法器与寄存器的配合,

被除数位数更长,商要一位一位

地计算出来等。这可以用左移余数得

到解决,且被除数的低位部分可以与

最终的商合用同一个寄存器,余数与

上商同时左移。

原码一位除运算

[Y/X]=(XS®YS)(|Y|/|X|)

原码一位除是指用原码表示的数相除,求出原

码表示的商。除操作的过程中,每次求出一位商。

从理解原理考虑,用恢复余数除法讲解计算机

内的实现方法更直观方便,即确定上商应为1还是

为0时,必须用被除数或中间余数减去除数,通过

检查本次求得的余数为正还是为负才能知道,而不

象人计算时用眼睛直接看出来的。若求出一个为负

的余数来,通常应首先恢复其值为正,再求下一位

商才有道理。但计算机内从来不用这种办法,而是

直接用求得的负余数求下一位商。

P93

加减交替除法原理证明

1.若第i•1次求商余数为+Rw,商1余数

左移得2RMo区

2.则第i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论