计算机组成与结构(一)_第1页
计算机组成与结构(一)_第2页
计算机组成与结构(一)_第3页
计算机组成与结构(一)_第4页
计算机组成与结构(一)_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

参考书

《计算机组成与结构》王爱英清华大学出版社

《计算机组成原理》白中英科学出版社

《计算机组成与系统结构》李亚民清华大学出

版社

《计算机组织与结构性能设计》(第四版)

WilliamStallings清华大学出版社

《计算机系统体系结构》第三版M.Morris

Mano清华大学出版社

第一章计算机系统概论

•第一节计算机语言

计算机语言与计算机执行程序之间的关系

汇编语言指令的格式

汇编语言程序例子

第一章计算机系统概论

・第二节计算机硬件

计算机硬件的构成

第一章计算机系统概论

-、冯•诺依曼计算机的特点

1.计算机由五大部件组成

2.指令和数据以同等地位存于存储器

可按地址寻访

3.指令和数据用二进制表示

4.指令由操作码和地址码组成

5.存储程序

6.以运算器为中心

第一章计算机系统概论

•第二节计算机硬件(三总线结构)

第二章计算机的逻辑部件

力口法器的构成:Fn=XnYnOpi+XnYnOpi+

XnYnCn-1+XnYnCn-1

Cn=5<nYnCn-l+XnYnCn-1+XnYnOH+

XnYnCn-1

化简以后得:Fn=Xn与Yn与Cn-1

Cn=XnYn+(Xn+Yn)Cn-1

第二章计算机的逻辑部件

•超前进位的原理

C1=X1Y1+(X1+Y1)CO

C2=X2Y2+(X2+Y2)C1

C3=X3Y3+(X3+Y3)C2

C4=X4Y4+(X4+Y4)C3

令:Pi=Xi+YiGi=XiYi将P20公式2.16—

2.19化简得2.22--2.25式,转换成与非式

得2.26--2.29式。P21图2.8

第二章计算机的逻辑部件

•SN74181的工作原理(P22图2.9)

M=l:执行逻辑运算

M=0:执行算术运算

门22,门24,门26,门28为GO,PO;Gl,Pl;

G2,P2;G3,P3的求和门,既门22=G0异或

P0异或CO。

门13,门14,门15,门16,门19为CO,Cl,C2,

C3,C4o

第二章计算机的逻辑部件

•16位超前进位加法器工作原理(P24图2.12)74181*4

74182

第三章运算方法和运算器

第一节数据的表示方法和转换

数值型数据的表示和转换(数制)

1.二进制与十进制之间得转换

2.二进制与八进制、十六进制之间得转换

3.二进制小数与十进制小数之间得转换

第三章运算方法和运算器

•第一节数据的表示方法和转换

数值型数据的编码和计算(有权码BCD码、无权

码余3码、格雷码)

BCD码:二进制表示的十进制数。运算调整规则:

运算结果大于9或有进位时+6调整(加法)。

运算结果大于9或有借位时一6调整(减法)。

余3码、格雷码(P63表3.3)

数字串在计算机中的表示。(用ASCII码表示数

字、符号)

第三章运算方法和运算器

•第二节带符号数在计算机中的表示方法及加

减运算

原码、反码、补码的表示及计算。(P66图3.1解释)

溢出的判断及解决方法。(1.符号原则:正+正=正,负+

负二负2.双符号位原则,运算结果只能为00或11。3.

溢出=最高符号位与最高数值位的异或。)

计算机实现加减运算要解决的问题:溢出、多个寄存器、

结果的移位、运算结果影响标志位。

定点数和浮点数的概念。(单精度浮点数、双精度浮点

数、临时浮点数。浮点数的隐藏位,浮点数的规格化)

第三章运算方法和运算器

・第三节二进制乘法运算

定点原码一位乘(手工实现乘法与计算机实现乘

法的区别?符号问题、乘数的存放及乘数最低

位的判断、部分积的右移实现数位对齐、每次

只能两个数据相加。P73图3.5的解释)

原码一位乘:设X=0.1101,Y=0.1011,求X*Y=?

第三章运算方法和运算器

部分积乘数说明

0000001011初始乘数最低位为1,加被乘数

+001101

001101部分积和乘数共同右移一位

00011011011移出部分丢失,此时乘数最低位为1,+被乘数

+001101

010011部分积和乘数共同右移一位

00100111101移出部分丢失,此时乘数最低位为0,+0

+000000

0010011110部分积和乘数共同右移一位

0001001111移出部分丢失,此时乘数最低位为1,+被乘数

—_

0100011111部分积和乘数共同右移「位.

3.3.1定点数一位乘法

1.定点原码一位乘

规则:在机器中采用A,B,C寄存器来分别存放部分积,被乘

数和乘数

(1)在机器内一次加法操作只能求出两数之和,因此

每求得一个相加数时,就得与上次部分积相加。

(2)人工计算时,相加数逐次向左偏移一位,由于最

后的乘积位数是乘数(或被乘数)的两倍.由于在求本

次部分积时,前一次部分积的最低位,不再参与运算,

因此可将其右移一位。相加数可直送而不必偏移,于是

用N位加法器就可实现两个N位数相乘。

(3)部分积右移时乘数寄存器同时右移一位,这样可

以用乘数寄存器的最低位来控制相加数(取被乘数或

零),同时乘数寄存器的最高位可接收部分积右移出来

的一位,因此,完成乘法运算后,A寄存器中保存乘积

的高位部分,乘数寄存器C•中保•存•乘积•的•低位•部•分。•

例:设X=0・U01,Y=0.1011,求X・Y.其中寄存器B=x,Cd=4.流程图3.6

计算过程如下:部分积A乘数C

0000001011

+x001101

001101

右移一位一00011011011(玦)

+x001101

010011

右移一位一00100111101(导)

+0000000

001001

右移一位一00010011110(丢失)

+x001101

010001

右移一位一

00100011111(玦)

乘积IWJ位乘积低位

X*Y=0.10001111••••••••

•注意:

•两操作数的绝对值相乘,符号位单独

处理。

•寄存器A.B均设置双符号位,第1符号

位始终是部分积符号,决定在右移时

第1符号位补0

•操作步数由乘数的尾数位数决定,用

计数器Cd来计数。即作n次累加和移

位。

・最后是加符号位,根据Sx〶Sy决定。

2.定点补码一位乘法

实现补码乘法有两种方法,现在广泛使用的是

Booth算法,也称为比较法。这种方法在机器实

现中要在乘数末位Yi之后再增加一个附加位Yi+i,

并令其初始值为0。然后根据比较招、Yi+i的值决

定下一步操作,规则如下:(部分积初始为0)

YiYi+i操作

00原部分积右移一位

01原部分积加X补后再右移一位

10原部分积加[・X补]后再右移一位

11原部分积右移一位

第三章运算方法和运算器

定点补码一位乘(Booth方法)

区*丫]补=[为补*[-丫0+丫]2-1+丫22-2+…+Yn2叫

1

=[X]#*[-Y0+(Y1-Y12-)+(Y22-LY22-2)

n+1n

+•••(Yn2--Yn2-)]

=[制补[(¥rY0)+(Y2-YP2」+…+

(Yn-Ynj)2-(n/)+(0-Yn)2-n]

第三章运算方法和运算器

定点补码一位乘(Booth方法)(续)

[P。]补=。

岛]补={艮]补+(Yn+i-Yn)[X]补}2-1

四补={即补+(Yn-Yn.i)[X]补}2-1

吗]补={叫补+1

(Yn1-Yn2)[X]#}2-

岛]补={叫1]补+(丫2-丫1)冈补}2-1

5补=仰补+(Y「Yo)凶补}2/=[X*Y]补

第三章运算方法和运算器

•定点补码两位乘

已+1]补={出]补+(Yn.i+i-YQ[X]补}2-1

出+21补={出+1]补+(Yn.i-Y『Q[X]补}2-1

将1式代入2式得:

昨2]补={出]补+<Yn.i+1+Yn_r2Yn_Q[X]补}2。

根据三位的组合得表3.5,进行补码两位乘。

例3135:设*=0.11。1,丫=。,1。11,即[蜀补=11.0011,[丫]补=0・1011,[-X]=00.1101求

[X*Y]#.

部分积:乘数YYiYi+1说明

计算过程如下:r

0000000.10710初始值,最后一位补0

+001101Y5Y4=01+[-X]补

001101

—>000110101011右移一位

+000000Y4Y3=11+0

000110—

—>000011010101右移一位

+110011Y3Y2=10+[X]补

110110

—>111011001010右移一位

+001101Y2Y1=O1+[-X]补

001000

—>000100000101右移一位

+110011YlY0=10+凶补

1101110001

乘积局位乘积低位

[X*Y]#=1.01110001,X*Y=-0.100Q1111•••••••

■:初始值与符号位:A寄存器存放部分累加和,

.初始为0,采用双符号位。第1符号位指示累

加和的正负,以控制右移时补0或补1。B中

,存放被乘数的补码,双符号位。

•基本操作:用C寄存器最末两位作判断位,

决定下一步的操作。

•移位:在右移时,第2符号位值移入位数的最

高位,第1符号位值不变且移入第2符号位,

而A寄存器末位移入C寄存器。

•步数与最后一步操作:乘数有效位是4位,共

作5步。注意,最后一步不移位因为这一步

是用来处理符号位的。

:3.4.1定点除法运算

工定点原码一位除法

有恢复余数法和不恢复余数法(加减交替法),计算机中常用

后者。因为它的操作步骤少,而且也不复杂。其处理思想是:先

减后判,如减后发现不够减,则在下一步改作加除数操作。这样

操作步骤固定易于编程。其要点如下:

(1)要求被除数|X|v除数Y卜并取原码尾数的绝对值相除;符号

位单独处理,商的符号为相除两数符号的半加和。

(2)被除数的位数可以是除数的两倍,其低位的数值部分开始

时放在商寄存器中。运算中,放被除数和商的A、C寄存器同时

移位,并将商寄存器C中最高位移到被除数寄存器A的最低位中。

(3)每步操作后,可根据余数Ri符号来判断是否够减:Ri位正

表明够减,上商Q为1。Ri为负表明不够减,上商Q为0。

(4)基本操作可用通式描述为:Ri=2Ri+(l-2Qi)Y

(5原码除的思想是先当成正数相除,若最后一步所得余数为负,

则应恢复余数,但不移位,以保持Ri为正。

举例如下:

例3.即:设被乘数X=0.1011,Y=0.U01,用加减交替法求X/Y.[-Y]补=11.0011,

计算过程如下:被除数(余数R)(被除数)(商)操作说明

00101100000开始情形

+)0011_+[-Y]补

11111000000不够减,商上0

11110000000左移

+)_001101+Y

00100100001够减,商上1

01001000010左移

+)110011+[-Y]补

00010100011够减,商上1

00101000110左移

+)110011+[-Y]补

11110100110不够减,商上0

111010011100左移

+)001101+Y

000111011101够减,商上1

余数商

X/Y=0.1101,^§=0.0111

•A寄存器中开始时存放被除数的绝对值,以后将存

放各次余数,取双符号位。B寄存器存放除数的绝

对值,取双符号位。C寄存器同来存放商,取单符

•第一步操作:将被除数X视为初始余数R。,根据R。符

号位正(绝对值),令商符为0,正是的商符以后

再置入。第一步为・Y。

•商值则根据余数R。的符号来决定,正则商上1,求

下一位商的办法是余数左移一位再减去除数;当余

数为负则商上0,求下一位商的办法是余数左移一

位再加上除数。左移位时末位补0。

■操作步数与最后一步操作:如果要求得n位商(不

含符号位),则需作n步“左移-加减”循环;若第n

步余数为负,则需增加一步恢复余数,这增加的一

步不移位。

2.定点补码一位除法(加减交替法)

•补码除法规则表:x补、Y补、r补分别为被除数、除数和余

商符

W上

X#补FY

同号o减法同号(够减)12卜i]补--Y补

异号(不够减)

02卜i]补+Y补

异号1加法同号(不够减)2卜i]补一丫补

异号(够减)O

2卜i]补+Y补

•以上是在|X|v|Y|即不溢出的前提下;

(1)•第一步如果被除数与除数同号,用被除数减去除数;

若两数异号,用被除数加上除数。如果所得余数与除数

同号上商L若余数与除数异号,上商0,该商即为结果

的符号位。

(2)求商的数值部分如果上次上商L将余数左移一位

后减去除数;如果上次上商0,将余数左移一位后加上

除数。然后判断本次操作后的余数,如果余数与除数同

号上商1;若余数与除数异号上商0。如此重复执行

mi次(设数值部分有II位)。

(3)商的最后一位一般采用恒置1的办法,井省略了最低

位+1的操作,此时最大误差为士2-「.如果对商的精度要

求较高则可按规则(2)再进行一次操作以求得商的第n

位。当除不尽时若商为负,要在商的最低一位加L使

商从反码值转变成补码值;若商为正最低位不需要加1。

例3.何:设[X]补=1.0111,[Y]补=01101,求[X/Y]补.

[-Y好卜=11.0011,计算过程如下:

■被除数(余数)商操作说明

11011100000开始情形

+)001101两数异号+[Y]补?书

0001000000|1余数与除数同号,商上1

00100000010左移

+)110011上次商补

11101100oi0余数与除数异号,商上0

11011000100左移

+)001101上次商0,+[-Y]补

00001100101余数与除数同号,商上1

000110oil010左移

+)110011上次商1,+[-Y]补

1110012J1010余数与除数异号,商上0

11001010101左移,商的最低位恒置1

余数商

[X/Y]补=1.0101

•例3.40最低位恒置1,余数不正确。

•A寄存器存放被除数(补码),以后存放余数,

取双符号位。B寄存器存放除数(补码),双

符号位。C寄存器存放商,初始值为0(未考

虑商符之前),单符号位。

■如余数为为则表示除尽。例3.41如采用商的

最低位恒置1的方法,其误差为2-124

•补码除法规则表补充说明:1>表中i=0〜n-L

2、上采用末位恒置1的方法,操作简便。如

要提高精度,则要提高精度,则按上述规则

多求一位,再采用以下方法对商进行处吗两

数能除尽时,如除数为正,商木必加2?如除敢为负,商加2-

七两数除不尽时,如商为正,商不必加2?如商为负,商加

n

2'o

•例3.42[X]补=L0111,[Y]补=1.0011,则[-Y]补=0.1101。求[必丫]补=?

:被除数(余数)商操作说明

llo0111

+00。1101两数同号,+[-Y]补

00o01000余数与除数异号,商0

左移00。1000

+Ho0011+[Y]补

llo101101同号,商1

左移llo0110

+00。1101+[-Y]补

00o0011010异号,商0

左移00。0110

+llo0011+[Y]补

llo10010101同号,商1

左移n。ooio

+00。1101+[-Y]补

llo111101011同号,商1

[X/Y]补=0.1011[余数]补=1。Hllx2-4

3.5浮点数的运算方法

浮点数的表示形式(以2为底):

N=M-2E

其中,M为浮点数的尾数,一般为绝对值小于1的

规格化二进制小数用原码或补码形式表示;E

为浮点数的阶码,一般是用移码或补码表示的

整数。阶码的底除了2以外,还有用8或16表示

的,这里先以2为底进行讨论。然后再简介以8

或16为底的数的运算。

1.力口、减法运算

两数首先均为规格化数,在进行规格化浮点数

的加减运算需经过五步完成:

•对阶操作:低阶向高阶补齐,使阶码相等;

•尾数运算:阶码对齐后直接对尾数运算;

•结果规格化:对运算结果进行规格化处理;

(使补码尾数的最高位和尾数符号相反)

如溢出则需左规,如不是规格化时应右规。

•舍入操作:丢失位进行0舍1入或恒置1处理;

­判断溢出:判断阶码是否溢出,下溢则将运

算结果置0,上溢则中断。

具体说明如下:

•对阶运算(小阶向大阶对齐)

尾数为原码时,尾数右移,符号位不动,最高位补0

尾数为补码时,尾数右移,符号也移位,最高位补符号位

例如:求

小阶对大阶

o.nop}+CUOOLx2

舍掉的是

如大阶对小阶0.1101X2?+60010X23=O.H11X23

则舍掉的是O.OOO1_X2

0.0100X2+0.1001x2=0.1101_x2

0.1100x23

•规格化:原码尾数高位为1,补码与符号相反

•舍入操作:。舍1入或恒置1

例1:求0.1001x23+0.1001x2曾

0.1001x23+0.001001x23=0.101101x23

0舍1入后为0.1011x23

恒置10.1011x23

例2:求0.1001x23+0.1010x2

0.1001X23+0.0010104=O.lOlljo;x23

0刍I/V/I-Iyv

3

恒置10.1100x2

•判断结果的正0魄.10颂11口x说23的^阶码是否溢出)

X=O.11O1x21°,y=—O.1111Xz11

其中指数和小数均为二进制真值,求X+Y=?其阶码4位

(含阶符),补码表示;尾数6位,补码表示,尾数符号在最

高位,尾数数值5位。

解:,符阶码尾数5位

[X]浮=0001011010

[Y]浮=1001100010

对阶[X]浮=0001101101

尾数求和00.01101+11.00010=11.01111

[X]浮+[Y]浮=1001101111

规格化、舍入操作、阶码溢出判断,最后:

[X+Y]*=-0.10001X2+n

11

例;假设,=0.1101X21°了=-0.1111X2

其中指数和小数均为二进制真值,求X-Y。其阶码4位(含阶符),

补码表示;尾数6位,补码表示,尾数符号在最高位,尾数数值5位

解:尾符阶码尾数

[X]浮=0001011010

[Y]浮=1001100010

对阶[X]浮=0001101101

尾数求差:[X尾-Y尾]补=[X尾]补+[-Y尾]补

=00.01101+00.11110=01.01011

规格化处理、舍入操作均不需要,阶码溢出检查:

尾数符号位为01,尾数发生上溢出,做规格化处理

尾数连同符号右移一位00.101011,阶码加1至0100

舍入操作恒置1后:[X]浮-[Y]浮=0010010101

[X-Y]M=

0.10101x2100

3.5.2浮点数的乘、除法运算

・两浮点数相乘其乘积的阶码为相乘两数阶码之和,

其尾数应为相乘两数的尾数之积。——

•两个浮点数相除,商的阶码为被除数的阶码减去

除数的阶码得到的差,尾数为被除数的尾数除以

除数的尾数所得的商。

•参加运算的两个数都为规格化浮点数,乘除运算

都可能出现结果不满足规格化要求的问题,因此

也必须进行规格化、舍入和判溢出等操作。规格

化时要修改阶码。

运算部件

L定点运算部件

定点运算部件由算术逻辑运算部件ALU、若

干个寄存器、移位电路、计数器、门电路等组

成。ALU部件主要完成加减法算术运算及逻辑

运算(其功能可参考242节),其中还应包含

有快速进位电路。

2.浮点运算部件

通常由阶码运算部件和尾数运算部件组成。其

各自的结构与定点运算部件相似。但阶码部分

仅执行加减法运算。其尾数部分则执行加减乘

除运算,左规时有时需要左移多位。为加速移

位过程,有的机器设置了可移动多位的电路。

第三章运算方法和运算器

•硬件实现乘法一-阵列乘法器

(P82图3.7)

第三章运算方法和运算器

•第六节数据校验

奇偶校验

奇校验:当数据位1的个数为偶数时,校验

位为1,当数据位1的个数为奇数时,校

验位为0。

偶校验:当数据位1的个数为偶数时,校验

位为0,当数据位I的个数为奇数时,校

验位为lo(包括交叉校验,P96图3.10)

第三章运算方法和运算器

第六节数据校验(海明校验P99图3.11)

原理:在被校验的数据中加入几个校验位,当

某一位出错时,可同时在几个校验位上体现出

来,这不但可以发现错误还可以指出哪一位出

错,为纠正错误提供了依据。设校验位的个数

为r,则它有21种编码,除一种编码代表无错外,

其余2、1种编码可以代表错误发生在哪一位,

再去掉r种校验位可能出错,剩下的k=21-r-l种

编码可以代表数据位出错。

第三章运算方法和运算器

•第六节数据校验(海明校验P99图3.11)

发现两位错,并能纠正一位错须满足如下关系:

2r-i>=k+r

海明码编码规律:1)校验位放在2i-l的位置上,数

据位依次从低到高排列。2)海明码的每一位Hi

由多个校验位校验,被校验的每一位的位号要

等于校验它的校验位的位号之和。例如:8个

数据位,5个校验位的海明码:

凡3Hl2Hli…H3H2Hl

•海明码校验表

漏日日后必?70参与桥脸的椅脸位位号

1汗'7JH-RI"J乡—J4乂3红口J々乂\1L\1LF参与的校验位

H1P11Pl

H2P22

H3DO2,1(3=2+1)P2Pl

H4P34P3

H5D14,1(5=4+1)P3,P1

H6D24,2(6=4+2),P3,P2

H7D34,2,1(7=4+2+1)P4,P3,P2,P1

H8P48P4

H9D48,1(8=8+1)P4,P1

H10D58,2(10=8+2)P4,P2

H11D68,2,1(11=8+2+1)P4,P2,P1

H12D78,4(12=8+4)P4,P3

H13D88,4,1(13=8+4+1)P4,P3,P1

H14D98,4,2(14=8+4+2)P4,P3,P2

H15D108,4,2,1(15=8+4+2+1)...P4,P3,P2,P1•・•

•各・校验位形成公式:

Pi=Do㊉Di㊉D3㊉D4㊉D6㊉D8㊉Dio(1)

P2=DO㊉D2㊉D3㊉D5㊉D6㊉D9㊉D10(2)

P3=D1㊉D2㊉D3㊉D7㊉D8㊉D9㊉D10(3)

P4=D4㊉D5㊉D6㊉D7㊉D8㊉D9㊉D10(4)

按上述方式Pi的取值是采用偶校验时的取值,

当采用奇校验时,Pi则取反。这样Pi连同数据

位一起形成了海明码的各位。

检查纠错(以四个校验位进行说明)-----

海明码数据传送到接收方后,再将各校验

位的值与它所参与校验的数据位的异或结果进

行异或运算。运算结果称为校验和。校验和共

有四个。

对偶校验来说,如果校验和不为零则传输

过程中间有错误。而错误的具体位置则由四个

校验和依序排列后直接指明。如果四个校验和

S4s3s2sl依序排列后等于(1001)2=(9)10时,就

表明海明码的第九位也就是D4发生了错误,此

时只要将D4取反,也就纠正了错误。

•校・:验和Si的表达式:

Si=Do㊉Di㊉D3㊉D4㊉D6㊉D8㊉Dio㊉Pi

S2=Do㊉Dz㊉D3㊉Ds㊉D6㊉D9㊉Dio㊉Pi

S3=Di㊉D2㊉D3㊉D7㊉D8㊉D9㊉Dio㊉P3

S4=D4㊉D5㊉D6㊉D7㊉D8㊉D9㊉D10㊉P4

当采用偶校验方式其传送数据正确时,校验和

S1〜S4的值分别都为0;当采用奇校验方式其传

送数据正确时,校验和S1〜S4的值分别都为1。

当不为上述值时,传送就发生了错误。

例题:采用4位校验位、偶校验方式,

写出10110100110的海明码。

解:已知口10口9口8口7口6口5口4口3口2口10=10110100110

由于被校验位的位号等于校验它的各校验位位号

之和以及各校验位的取值等于它参与校验的数据位取

值的异或。所以校验位的取值以及所求海明码为:

Pi=D0㊉D]㊉D3㊉D4㊉D5㊉㊉D[()=l

Pz=Do㊉D2㊉D3㊉D5㊉D6㊉D9㊉D[o=l

P3=)㊉D2㊉㊉Dy㊉Dg㊉D9㊉D10=1

P4=D4㊉D5㊉Df㊉47㊉㊉D9㊉DJO=O

D10D9D8D7D6D5D4P4D3D2D1P3D0P2Pl=

传送正确时校验和的值为3如果不等于3则是几就是

第几位出错,是7则是第7位D3出错,此时将其取反即可

纠正错误。

H12HllH10H9HSH12H7H6H5H4HIIHioH?HeH3HeHllHsH7由H3Hl

第三章运算方法和运算器

3:7.3循环冗余校验方法(CRC码)

循环冗余校验方式:通过某种数学公式建

立信息位和校验位之间的约定关系——能

够校验传送信息的对错,并且能自动修正

错误。广泛用于通信和磁介存储器中。

CRC编码格式是在k位信息后加r位检验码。

NN-121

CiC2・・・・・.CKrir2.......ri

—信息位(k位)―►◄——校验位(r位)一►

-1、CRC码的编码方法

CRC整个编码长度为n=k+r位,故CRC码又叫

(n,k)码。其编码方法如下:

假设被传送的k位二进制信息位用C(x)表示,系

统选定的生成多项式用G(X)表示,将C(x)左移

G(X)的最高次幕(即等于需要添加的校验位的位数

r),写作C(x)•2r

然后将其C(x)・2,除以生成多项式G(x),所得商

用0(x)表示,余数用R(x)表示。则:_____________

C(x)・2"/G(x)=0(x)+R(x)/G(x)

两边同时乘以G(x)并左移R(x)得到:

C(x)-2〃-R(x)=Q(x)・G(x)

由于CRC编码采用的加、减法是按位加减法,

即不考虑进位与借位,运算规则为:

0±0=0,0±1=1,1±0=1,1±1=0

故有:C(x)«2〃+火(x)=Q(x)•G(x)

上式中,等式左边即为所求的n位CRC码,其

中余数表达式R(x)就是校验位(r位)。且等式两

边都是G(x)的倍数。

发送信息时将等式左边生成的n位CRC码送给对

方。当接收方接到n位编码后,同样除以G(x),如

果传输正确则余数为0,否则则可以根据余数的数

值确定是哪位数据出错。

,例:有一个(7,4)码(即CRC码为7位,信

码为4位),已确定生成多项式为:

G(X)=X3+X+1=1011

被传输的信息C(x)=1001,求C(x)的CRC码。

解:C(x)左移r=n-k=3位

即:C(x)-2〃=1001x23=1OO1OOO

将上式模2采用除法除以给定的G(x>1011:

1001000/1011=1010+110/1011

得到余数表达式:R(x)=110所求CRC码为:

C(x)-23+R(x)=1OO1OOO+110=1001110

2、CRC码的查错表

CRCA7A6A5A4A3A2A1-余数

正确1001110000

某1001111001■

--1001100010■

位1001010100■

A4.

出1000110011

错1011110110

1101110111A6

0001110101

收到的CRC码除以约定的生成多项式G(x),如果余数

为0则传输无误,否则传输错误,根据所得余数值就可

找出错误并取反纠正。

上表详细说明了CRC码1001110在传送时某一位出

错后的判断与纠正方法[C(X)=1001>G(x)=1011]o

:3、生成多项式G(x)的确定

G(x)是一个约定的除数,用来产生校验码。

从检错和纠错的要求出发,它并不是随意

选择的,它应满足下列要求:

任何一位发生错误都应使余数不为0

不同位发生错误应使余数不同

余数继续模2除,应使余数循环

4.:CRC的译码与纠错

将收到的循环校验码用约定的生成多项式G(x)去除,如果

码字无误则余数应为0,如有某一位出错,则余数不为0,不同位数

出错余数不同。通过例3.49求出其出错模式如表3.10所示、更换

不同的待测码字可以证明:余数与出错位的对应关系是不变的,

只与码制和生成多项式有关、因此表3・10给出的关系可作为

(7,4)码的判别依对于其他码制或选用其他生成多项式,出错

模式将发生变化。

如果循环码有一位出错,用G(x)作模2除将得到一个不为0

的余数、如果对余数补1个0继续除下去我们将发现一个现象;各

次余数将按表3.10顺序循环、例如第七位出错,余数将为OOL

补0后再除,第二次余数为010,以后依次为100,011,...,反复循

环,这是一个有价值的特点。如果我们在求出余数不为0后,一

边对余数补0继续做模2除,同时让被检错的校验码字循环左移。

表3.10说明当出现余数(101)时,出错位也移到A1位置、对通

过异或门将它纠正后在下一次移位时送回AL继续移满一个循

环(对74码共移七次),就得到一个纠正后的码字。这样我们就

不必像海明校验那样用译码电路对每一位提供纠正条件、当位数

增多时循环码校验能有效地降低硬件代价。

第四章主存储器

•第一节主存储器在PC机中处的位置(以主存

储器为中心、以CPU为中心、单总线结构)

第四章主存储器

•第一节主存储器在PC机中处的位置(以主存

储器为中心、以CPU为中心、单总线结构)

I/O设备n

第四章主存储器

・第二节主存储器的分类(按存储介质分为:半导体

存储器、磁存储器、光存储器。按存取方式分为:

随机存取存储器RAM、只读存储器ROM、顺序存取存

储器SAM、直接存取存储器DAM。按信息的可保护

,性分类分为易失性(静态和动态RAM)和非易失性

(ROM)。按所处的位置分为Cache、主存、辅存)

•存储器的性能指标:存储容量、存取时间(存取周

期)、可靠性、性能/价格比。

第四章主存储器

•主存储器的基本操作:取指、读、写。

(P107图4.1主存储器与CPU的联系)

字选择线

T3「

位线1T4位线2

T5T6

T1T2

s静态存储单元工作原理

第四章主存储器

•第五节随机存取存储器RAM构成

P108图4,3,4.4解释)动态RAM的工作原理

读出时,读出数据线预充致高电位,

读出数据线

然后读出选择线来高电位,使T3导通,

若C上有电荷,则T2导通,读出数据

读出选择线I'线通过T2,T3接地,读出电压位地。

T3若C上无电荷,则T2不导通,读出数

写入选择线

据线的电压无变化。写入时,在写入

数据线上加写入信号,在写入选择线

—ILT2

T1土C1上加高电位,则T1导通,C随写入信

号而充电或放电。若T1截止,贝的

写入数据线电压保持不变。

第四章主存储器

•动态存储器单管存储单元工作原理

数据线(位线)

字线

T

生cV

DDD

第四章主存储器

•第八节半导体存储器的组成与控制

存储器的构成(位扩展、字扩展、字位扩展)

位扩展例如:16K*4的芯片构成16K*8的存储器。

(P120图4.18)地址线:14根A0-A13,数据线8位,每

块芯片4位,控制线:只画出2根,片选和读写线。

字扩展例如:16K*8的芯片构成64K*8的存储器。

(P120图4.19)地址线:每块芯片需地址14根,覆盖

16K的存储空间。共4组,所以还需要2根地址用于选择

不同的芯片,共需16根地址。数据线8位,连到每一块

芯片,控制线一根,读写控制。

第四章主存储器

字位扩展例如:用1K*4的芯片构成4K*8的存

储器(P121图4.20)。地址线:每块芯片容量

1K,所以需地址线10根,整个存储器分成4组,

所以译码信号需2根,共需地址线12根。数据

线:每块芯片数据位4位,每组两块芯片构成

存储单元的8位。控制线:读写控制线和内存

请求(其中内存请求用于译码器的控制端)。

第四章主存储器

存储控制(P122图4.21)

存储校验

多体交叉存储器的工作原理。

内存

第六章中央处理部件CPU

•第一节:计算机的硬件系统(计算机的工作过程

第六章中央处理部件CPU

・Intel80386的管脚连线(165图6.2)

D0-D31:32位双向数据线。

A0-A31:单向32位地址总线,在CPU内部,A0-A1转换

为BEO#-BE3#,以确定所读范围:

读一个字:A31—A2有效,同时BE0#—BE3#有效。

读半个字:A31-A2有效,BEO#,BE1#有效,读低半

字。A31—A2有效,BE2#,BE3#有效,读高半字。

读字节:A31-A2有效,BEO#有效,读最低字节。以

此类推。

第六章中央处理部件CPU

W/R#,D/C#,M/IO#,LOCK#:总线周期定义信号

W/R#D/C#M/IO#

读周期011

写周期111

读指001

10读010

10写110

第六章中央处理部件CPU

ADS#,NA#,BS16#,READY#:总线控制信号

ADS#:地址状态信号,输出低有效。

NA#:输入低有效,当一个总线周期没有完成时,可以

通知CPU开始下一个总线周期的操作。(地址和控制

信号的输出)

BS16#:输入低有效,表示被访问的存储器或10是16位的

数据宽度。即386即可以进行32位也可以进行16数据操

作。

READY#:输入低有效,表示存储器或10已经完成CPU

要求的操作,或达到CPU要求的状态进行下面的工作。

第六章中央处理部件CPU

HOLD,HLDA总线仲裁信号:主设备、从设备的概念,

当从设备要求使用总线进行数据传送时,必须向主设

备提出请求即HOLD,主设备同意请求时,发出回答

信号即HLDA。

INTR,NMI可屏蔽中断和不可屏蔽中断信号

PEREQ,BUSY#,ERROR协处理器接口信号:PEREQ:

协处理器请求信号,要求CPU传送一个数据到FPU。

BUSY#:协处理器忙信号。

ERROR:协处理器出错信号。

第六章中央处理部件CPU

第二节控制器的组成

控制器控制程序的执行,它具有的功能:

取指、分析指令、执行指令、控制程序的输入、

数据的输入、结果的输出、对异常情况和特殊

要求的处理。

控制器的组成:程序计数器PC,指令寄存器IR,

指令译码器ID,脉冲源及启停电路,时序控制

信号形成部件。(P169图6.3)

第六章中央处理部件CPU

第六章中央处理部件CPU

第二节控制器的组成-----指令执行过程

指令格式:|操作码[Rs,rd|Rsl|Imm(或disp)|

指令:ADDAX,disp[bx]

执行过程:分为4个机器周期:取指、计算地址、

取数、相加。(P170图666.7)

第六章中央处理部件CPU

第二节控制器的组成

取指机器周期所用控制信号:PC--AB,W/R#=O,M/IO#=1,

DB->IR,PC+1

计算地址机器周期所用控制信号:rsl-GR,(rsl)-ALU,

disp—>ALU,ALU—AR

存储器取数机器周期所用控制信号:AR-AB,W/R#=O,

M/IO#=1,DB—DR

相加机器周期所用控制信号:rs->GR,(rs)-ALU,DLALU,

“+”,rd-GR,ALU-rd,置状态标志N,Z,V,Co

第六章中央处理部件CPU

第二节控制器的组成

指令举例:ADDAX,BX

它由两个机器周期构成:取指、相加。

取指机器周期所用控制信号:

PLAB,W/R#=O,M/IO#=1,DB-IR,PC+1

相加机器周期所用控制信号:

rs—>GR,(rs)—>ALU,rsl—>GR,(rsl)—>ALU,rd一GR,

ALU—*rd,置状态标志N,Z,V,Co

操作码Rs,rdRsl(空)

第六章中央处理部件CPU

第二节控制器的组成

已知有如下指令,指出它们是由几个机器周期构

成的:

MOVAX,0066H

MOVBX,AX

MOVAX,DISP[BX]

JMPSTART

JCLOOP2

第六章中央处理部件CPU

第三节微程序控制计算机的工作原理

名词介绍:微操作;微指令;微程序;控制存储器。

表6.1的控制信号及图6.8。

1001

微程序流程图

1002

1003

第六章中央处理部件CPU

第六章中央处理部件CPU

时序信号及工作脉冲

wu^wu^wuw

CLk

CLK-LnLnLnLPLnLPLn

CP-T]LJU

CLK2«CLK

CP

CLK2«CLK«T2

CP]CLK2・CLK・T1

第六章中央处理部件CPU

第四节微程序设计技术

微程序设计技术关心3个问题:

如何缩短微指令的长度?如何减少微程序长度?如何提

高微程序的执行速度?

微指令编译法:直接控制法;字段直接编译法;字段间

接编译法;常数字段;其它。

微程序流的控制:1.以增量方式产生后继微地址

2.增量和下址相结合产生后继微地址

(P186,187图6.23,6.24)

3.多路转移方式AM2910芯片介绍P189,

190图625,6.26)

4微中断。

第六章中央处理部件CPU

第五节硬布线控制的计算机

-

序•

号•控制信号功能控制信号功能

1•PC—AB指令地址送地址总线13+ALU进行加法运算

2:ALU—PC转移地址送PC14-ALU进行减法运算

3•PC+1程序计数器加115AALU进行逻辑乘运算

.

立即数或位移量送

4•imm(disp)—>ALU16VALU进行逻辑加运算

ALU

ALU运算结果送通用寄存

5DB一IR取指到指令寄存器17ALU一GR

数据总线上的数据送ALU运算结果送数据寄存

6DB->DR18ALU—DR

数据寄存器器

数据寄存器中的数据ALU计算得的有效地址送

19ALU—AR

送数据总线地址寄存器

寄存器地址送通用寄地址寄存器内容送地址总

8rs1->qR20AR一AB

存器

温馨提示

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

评论

0/150

提交评论