计算机组成原理_第1页
计算机组成原理_第2页
计算机组成原理_第3页
计算机组成原理_第4页
计算机组成原理_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

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

文档简介

第二章运算方法和运算器

2.1数据与文字的表示

22定点加法、减法运算

2.3定点乘法运算

2.4定点除法运算

2.5定点运算器的组成

2.6浮点运算与浮点运算器

2010-12-23

2.1数据与文字的表示方法

2.1.1数据格式

2.1.2数的机器码表示

2.1.3字符的表示

2.1.4汉字的表示

2.1.5校验码

2010-12-232

2.1数据与文字的表示方法:?

•计算机中使用的数据可分成两大类:

•符号数据:非数字符号的表示(ASCII、汉字、图

形等)

•数值数据:数字数据的表示方式(定点、浮点)

•计算机数字和字符的表示方法应有利于数据

的存储、加工(处理)、传送;

编码:用少量、简单的基本符号,选择合适

的规则表示尽量多的信息,同时利于信息处

理(速度、方便)

2010-12-233

2.1」数据格式

、复习

10进制和R进制之间的转换

R进制到10进制:

X*X1

2=«

10进制到R进制:

整数部分:除r取余,r为进制基数

小数部分:乘r取整

2010-12-23

211数据格式:

二、数值数据

计算机在数据、文字的表示方式时,应该

考虑一下几个因素:

①表示的数据类型(符号、小数点、数值)

②数值的范围

③数值精度

④存储、处理、传送的硬件代价

2010-12-235

2.14数据格式

三、计算机常用的数据表示格式有两种:

•定点表示:小数点位置固定

•浮点表示:小数点位置不固定

2010-12-236

2.1.1数据格式

四、定点表示法

•所有数据的小数点位置固定不变

•理论上位置可以任意,但实际上将数据表示有两种

方法(小数点位置固定-定点表示法/定点格式):

•纯小数

•纯整数

•定点数表示:

带符号数

不带符号数

2010-12-237

2.1.1数据格式

1、定点纯小数

(最小数、最大数、最接近0的正当近0的负数)

2010-12-23

2.1.1数据格式

2、纯小数的表示范围

x=O.OO...Ox=0正0和负0都是0

x=1.OO...O

x=0.11...1x=1-2-n最大

x=0.00...01x=2-n最接近0的正数

x=1.00...01x=-2-n最接近0的负数

x=—(1—2-n)最小

2010-12-23

2」」数据格式

3、定点纯整数

x

0X1x2x3---Xn-ixn

小数点固定于最后一位之后,

[不需专门存放位置

一n

表示数的范围是04|刈42-1

最小数、最大数、最接近o的正数、最接近。的负数呢

2010-12-2310

2.1.1数据格式::

4、定点表示法的特点

•定点数表示数的范围受字长限制,表示数的范围有

限;

•定点表示的精度有限

•机器中,常用定点纯整数表示;

介果用定立表三,刻右向表云安敬(包标J

敢恁螫敢)呢?

-----切一将点

2010-12-2311

2.1」数据格式

五、浮点表示:小数点位置随阶码不同而浮动

2、机器中表示

阶符阶码数符尾数

2010-12-2312

•••

2.1」数据格式

3、IEEE754标准(规定了浮点数的表示格式,运

算规则等)

•规则规定了单精度(32)和双精度(64)的基本格式.

•规则中,尾数用原码,指数用移码(便于对阶和比较)

2010-12-2313

2.1」数据格式

IEEE754标准

•基数R=2,基数固定,采用隐含方式来表示它。

•32位的浮点数:

S数的符号位,1位,在最高位,“0”表示正数,“1”表示负

数。

•M是尾数,23位,在低位部分,采用纯小数表示

E是阶码,8位,采用移码表示。移码比较大小方便。

规格化:若不对浮点数的表示作出明确规定,同一个浮点数

的表示就不是惟一的。

■尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为

隐藏在小数点的左边。

■采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e

加上一个固定的偏移值127(01111111),BPE=e+127

2010-12-23o14

211数据格式:

•64位的浮点数中符号位1位,阶码域11位,尾

数域52位,指数偏移值是1023。因此规格化

的64位浮点数x的真值为:

E1023

X=(-1)SX(1.M)X2-

e=E-1023

•一个规格化的32位浮点数x的真值表示为

E127

x=(-1)sX(1.M)X2-

e=E-127

2010-12-2315

2.1」数据格式

•真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符

号位S为0或1,有正零和负零之分。

•真值x为无穷大表示:当阶gE为全1且尾数M为全。时,结合符号

佥台为0或1,出宥+°°和-00之分。

•这样在32位浮点数表示中,要除去E用全0和全1(255m)表示零

和无穷大的特殊情况,指数的偏移值不选128(10000000),而

选127(01111111)o对于规格化浮点数,E的范围变为1到254,

真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值

的范围是10-38〜1038(以10的幕表示)。

•浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点

表示还是浮点表示,要根据计算机的使用条件来确定。一般在商

档微机以上的计算机中时采用定点、浮点表示,由使用者进行

2010-12-2316

2.1」数据格式

浮点数表示范围如下图所示

下溢正下溢

负浮点数正浮点数

Bb0a

A—壕大正数a—蜃小正数

B一靠小负数b—取夫负数

2010-12-23

24.1数据格式

例1若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十

进制数值。

解:将16进制数展开后,可得二制数格式为

01000001001101100000000000000000

S阶码(8位)尾数(23位)

指数e二阶码-127=10000010-01111111=00000011=(3)10

包括隐藏位1的尾数

1.M=1.01101100000000000000000=1.011011

于是有

e3

x=(-1)SXl.MX2=+(1.011011)X2=+1011.011=(11.375)10

2010-12-2318

2.1.1数据格式1

例2将数(2O.59375)io转换成754标准的32位浮点数小二

进制存储格式。

解:首先分别将整数和分数部分转换成二进制数:

20.59375=10100.10011

然后移动小数点,使其在第1,2位之间

10100.10011=1.010010011X24

e=4于是得到:

S=0,E=4+127=131,M=010010011

最后得到32位浮点数的二进制存储格式为:

01000001101001001100000000000000=(41A4C000)16

2010-12-2319

2.1」数据格式

4、十进制数串的表示

•字符串形式

•BCD(压缩)

•编码方式

有权码:(8421码、2421码、5211码)

:无权码:(余三码、格雷码)

•自定义数据表示

2010-12-2320

24.2数的机器码表示

、数的机器码表示

・真值:一般书写的数

・机器码:机器中表示的数,要解决在计算机内部数的

正、负符号和小数点运算问题。

•原码

•反码

•补码

移码

2010-12-2321

1、原码表示法

•定,点d、数x0.x1x2.・・xn

x1>x>00,正

冈原二,符号<

1-x0>x>-1J,负数

有正0和负0之分

范围2-n-1~1-2-n

例:x=+0.11001110

冈原二0.11001110卜x]原=1.11001110

2010-12-2322

•••

•••

1、原码表示法

•定点整数X0X1X2…Xn

'x2n>x>0|0,正数

冈原二<符号,

2n-x0>x>-2n1,负数

说明」

有正0和负。之分

范围1-2n~2n-1

•例:x=+11001110

[x]原=011001110卜x]原=111001110

2010-12-2323

1>原码表示法

原码特点:

•表示简单,易于同真值之间进行转换,实现乘除运

算规则简单。

•进行加减运算十分麻烦。

2010-12-2324

2、补码表示法

定义:正数的补码就是正数的本身,负数的补码

是原负数加上模。

计算机运算受字长限制,属于有模运算.

■定点小数x0.x1x2…xn溢出量为2,以2为模

-定点整数x0x1x2…xn溢出量为2,以2田为模

定点小数x0.x1x2…xn

x1>x>0f0,正数

[x]补=,符号<

2+x0>x>-11,负数

2010-12-2325

2、补码表示法

例:x=-0.1011

冈补=10+x=10.0000-0.1011=1.0101

y=-0.01111

[y]#=io+y=i000000-001m=i,i0001

•定点整数x0x1x2…xn

x2n>x>00,正数,0

冈补=<符号<

2n+1+x0>x>-2n1,负数

2010-12-2326

2、补码表示法

・补码性质

高位表明正负

正数补码,尾数与原码相同

•范围(定点整数)

•变相补码(双符号补码)

为了防止溢出而设定

2010-12-2327

2、补码表示法

•最大的优点就是将减法运算转换成加法运算。

[XMY]补=[不补+卜丫]补

例如

X=(11)10=(1011)2Y=(5)1O=(O1O1)2

已知字长n=5位

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

=01011+11011=100110=00110=(6)10

注:最高1位已经超过字长故应丢掉

•无正零和负零之分

•但是,在求补码还要减法,电路繁琐,下面的反码表示

解决着个问题。

2010-12-2328

3、反码表示法

•定义:正数的表示与原、补码相同,负数的补

码符号位为1,数值位是将原码的数值按位取

反,就得到该数的反码表示。

・电路容易实现,触发器的输出有正负之分。

2010-12-2329

3、反码表示法

•对尾数求反,它跟补码的区别在于末位少加一个1,

所以可以推出反码的定义

定点小数x0.x1x2…xn

x1>x>0

冈反二

2+x-2-n0>x>-1

X1=+0.1011011,[X1]反=0.1011011

X2=-0.1011011,[X2]反=1.0100100

1.1111111

0.1011011

1.0100100

2010-12-2330

3、反码表示法

•[X]补=[X]反+2-n(证明见书)

•反码表示有正0和负0之分

•上述公式解决了前边的问题(求补码还要减法)

•定点整数的反码定义见书

2010-12-2331

4、移码表示法

•移码表示法(用在阶码中)

•定点整数定义冈移=2n+x2n>x>-2n

•00000000-11111111(-2n-2n-1)

•例+1011111原码为01011111

•补码为01011111反码为01为1111

•移码为11011111

2010-12-2332

4、移码表示法

例-1011111原码为11011111

补码为10100001反码为10100000

移码为00100001

特点:移码和补码尾数相同,符号位相反

范围:-2n~2n-1

P22浮点IEEE754表示e=-127〜+128

00000000阶码表示数字”0",尾数的隐含位为0

11111111阶码表示数字"无穷大”,尾数的隐含位为0

p21例3-9

2010-12-2333

[例6]以定点整数为例,用数轴形式说明:::

原码、反码、补码表示范围和可能的::•

数码组合情况。

11...110...011。.・・000...000...0101...1

1_______1________1_________1______J

to+1+(凭

人人=

1a0.「01L・・1।Q0.・・03nn・・丁ni101...।1

-(2n-D-1:o反码+1+(2-D

10...010..:0111.・.100...000...0101...1

1______11111

-2。-(2n-D-I0朴码+1+(2”v)

2010-12-2334

[例7]将十进制真值(一127,—1,0,+1,

+127)列表表示成二进制数及原码、

反码、补码、移码值。

山山:I1W'M样:址卧:X.Uk"卜3

I270IIIIIIIiniun10()()0()()。100000(;I0000000I

0000000II000000IIIIIIII0llllllll(llllllll

IXXHHXKX)00000000

000000(X)000000000Iououuuu

I0000000llllllll

+000000010000000I00000001GO0QOOUI100000(11

I27IlliIIIIII0IIIIIIIOlllllllOlllllllllllllll

[例8]设机器字长16位,定点表示,尾数15位,数

符1位,问:(1)定点原码整数表示时,最大正数

是多少?最小负数是多少?(2)定点原码小数表

示时,最大正数是多少?最小负数是多少?

(1)定点原码整数表示

最大正数值=(215—1)10=(+32767)10

最小负数值=一(215—1)10=(—32767)10

(2)定点原码小数表示

最大正数值=(1—2T5)1O=(+O.11

最小负数值=—(1—(—」1方

注:1符号,15数字

2010-12-2336

例9假设由S,E,M三个域组成的一个32位二进制字所表示的非零规•••

格化浮点数X,真值表示为(非IEEE754标准):

jr=(-1)sX(1.M)X2E-128

问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数

是多少?

(1)最大正数

01111111111111111111111111111111

x=[1+(1—2-23)]X2127

(2)最小正数

00000000000000000000000000000000

x=1.0X2—128

(3)最小负数

11111111111111111111111111111111

x=—[1+(1—2-23)]X2127

(4)最大负数

10000000000000000000000000000000

-128

2010-12-23x=—1.0X237

24,3字符和字符串(非数值)的表示方法:•

•符号数据:字符信息用数据表示,如ASCII等;

•字符表示方法ASCII:用一个字节来表示,低7位

用来编码(128),最高位为校验位,参见教材P24

表2.1

•字符串的存放方法

2010-12-2338

2.1.4汉字的存放

•汉字的表示方法

(一级汉字3755个,二级汉字3008个)

•输入码

•国标码

■一级(16〜55)*94

■二级(56~87)*94

-图形符号(682个)(01~09)*94

•拼音、五笔

•汉字内码:汉字信息的存储,交换和检索的机内代码,两个

字节组成,每个字节高位都为1(区别于英文字符)

2010-12-2339

2.1.4汉字的存放•••

•汉字字模码:汉字字形

点阵

汉字库

2010-12-2340

24.5校验码

•校验码(只介绍奇偶校验码)

•引入:信息传输和处理过程中受到干扰和故障,容易出错。

•解决方法:是在有效信息中加入一些冗余信息(校验位)

•奇偶校验位定义

•设X=(x°Xi…Xn-1)是一个n位字,则奇校验位C定义为:C

:Xo㊉X1㊉…㊉Xn—1,式中㊉代表按位加,表明只有当x中

金有奇数个1时,才使C=1,即c=o。同理可以定义偶校验。

•只能检查出奇数位错;不能纠正错误。

•p26例10自己看一下。

•其它还有Hamming,CRC

2010-12-2341

2.2定点加法、减法运算

221补码加减法

2.2.2溢出检测

2.2.3基本的加法和减法器

224十进制加法器

2010-12-2342

2.2.1补码加减法

•补码加法

公式:[x+y]补=凶补+[y]补

•补码减法

为了将减法转变为加法,需证明公式:

[x-y]补=凶补+曰]补

(证明)

为了求得同时臼]补,需要证明[-y]补=Fy]补+2-n

(意义是卜y]补等于[y]补取反,末位加1)

2010-12-2343

[x]#+[y]#=[x+4补证明

•现分四种情况来证明

⑴x>0,y>0,则x+y>0

[x]补=x,[y]#=y,[x+y]补=x+y

所以等式成立.

(2)x>0,y<0,则x+y>0或x+y<0

[x]补=x,[y]补=2+y,

[x]#+[y]#=x+2+y

当x+y>0时,2+(x+y)>2,进位2必丢失,又因(x+y)>0,

故[划补+3补=x+y=[x+月补

当x+yv。时,2+(>+旷)<2,又因(>+")<0,

故[x]补+[y]补=2+(x+y)=[x+月补

所以上式成立

2010-12-2344

[*]补+[用补=[入+月补证明::

(3)xvO,y>0,贝Li*+y>0或x+y<0

这种情况和第2种情况一样,把x和y的位置对调即

得证。

(4)x<0,"0,贝ijx+y<0

相加两数都是负数,则其和也一定是负数。

〈[幻补=2+凡3补=2+y

・・・[幻补+3补=2+X+2+y=2+(2+x+y)

上式右边分为"2"和(2+*+y)两部分.既然(*+y)是

负数,而其绝对值又小于1,那么(2+x+y)就一定是小于2

而大于1的数,进位"2”必丢失.又因(x+y)<0,所以[x]补

+3补=2+(x+y)=[*+月补

2010-12-2345

221补码加减法

•如:y=0.0111[vl补=0.0111F-v1n=1.1001

从右边到左边,除了第一个1和右边的0保

持不变以外,其它按位取反,很重要!

2010-12-2346

221补码加减法

例x=-0.1011,y=0.0111

冈补

=1.0101[y]#=0.0111

[x+y]补=冈补+[y]补=1.0101+0.0111=1.1100

x+y=-0.0100

例x=+0.11011,y=-0.11111

[%=0.11011[y]补=1.00001卜y]补=0/1111

[x-y]补=冈补+印补=1.11010

2010-12-2347

222溢出的检测

•溢出的检测

•可能产生溢出的情况

两正数加,变负数,上溢(大于机器所能表示

的最大数)

两负数加,变正数,下溢(小于机器所能表示

的最小数)

2010-12-2348

2.2.2溢出的检测

课堂作业:

例3:x=+0.1011,y=+0.1001,求x+y

例4:x=—0.1101,y=—0.1011,求x+y

2010-12-2349

2.2.2溢出的检测

一、检测方法

1、双符号位法(参与加减运算的数采用变形补码表示)

rX2>x>0

[X]补=.

、4+x0>x>-2

Sf1SF2

00正确(正数)

01上溢

10下溢

11正确(负数)

Sf1表示正确的符号,逻辑表达式为V二Sfi㊉S⑵可以用

异或门来实现

2010-12-2350

222溢出的检测

二、检验举例:

•x=+0.1100,y=+0.1000,求x+y

•^=—0.1100,y=-0.1000,求x+y

•结果出现了01或10的情况就为溢出

2010-12-2351

222溢出的检测

2、单符号位法

•Cfco

00正确(正数)

01上溢

10下溢

11正确(负数)

•V=Cf㊉Co其中Cf为符号位产生的进位Co为

最高有效位产生

2010-12-2352

2.2.3基本的加法和减法器

•基本的加法和减法器

•半加器vM一、

Hi=Ai㊉Bi:~ACHI

不考虑进位一

•全加器

考虑低位进位Cg和向高位的进位G

2010-12-2353

一位全加器真值表

输入输出

AB.C1SiG+1

00000

00110

01010

01101

10010

10101

11001

2010-12-2311111

FA逻辑方程::

因为:

44+(4㊉B,)C=44+(4瓦+&,)C

二AR+44c+4£C+(4&+4A)G

=4与+(,£+4瓦)c+(AB+4瓦)c,

-,£+AiCi+BiCi

2010-12-2355

FA逻辑方程

•逻辑方程见下

S:=4®B:®C.

CM=4£.+4G+5ZCZ.

=44+(4㊉耳)G

=砌4■0)匕

2010-12-2356

FA逻辑电路和框图

FA(全加器)逻辑电路图FA框图

2010-12-2357

n位行波进位加法器

2010-12图2-3行波进位的补码加法/加法器58

2.3定点乘法运算

2.3.1定点原码乘法

2.3.2定点补码乘法

2010-12-2359

2.3.1定点原码乘法

•乘法实现方法

•在现有的加法和减法器的基础上增加适当的以

为线路及控制逻辑可以实现

•用LSI和VLSI工艺实现专用的乘法器

•编制子程序(单片机等低端机器)

2010-12-2360

1、定点原码乘法原理

•冈原二Xf.XeiX/。[y]原=yf.yn.i…wy。

•[X.y]原=(Xf㊉yf)+(0.xn.1...x1x0).(0.…丫佻)

•尾数乘法如下:

设X=0.1101,y=0.1011

0.1101(x)

X0.1011(y)

1101

1101

0000

+1101

0.10001111

2010-12-23

1、定点原码乘法原理

•n位乘n位积可能为2n位.

•乘积的最后是所有部分积之和,有n个数相加,

而FA只有两个输入端

所以需要改造

>方法一:硬件实现方法(串行的“加法和移位”),硬

结构简单,速度太慢(时间延迟太长).

>方法二:不带符号位的阵列乘法器

2010-12-2362

•••

1、定点原码乘法原理

设x=0.1101,y=0.1011求x*y

部分积01乘0数11部端分髓积初建效面化为艇0、被乘数

0.0000

+X0.1101

0110101011

0.011010101

+X01101

100110101

010011010籁髓64面般。

+00000C)

01C)011010

001001101

+X01101

1000111101

0.100011110翻船I策前魏弱运算

2010-12-2363

2、不带符号位的阵列乘法器

mXi)

.f-।­,I帔加敷求,「

P二......n>no

2010-12-23不带符号阵列乘法器逻辑图64

2、不带符号位的阵列乘法器

2010-12-23

3、带符号位的阵列乘法器

•求补电路

原理:算前求补一乘法器一算后求补,见下图

H:)a?aiao

2010-12-23

3、带符号的阵列乘法器

•求补电路小结

•E=0时,输入和输出相等

•E=1时,则从数最右端往左边扫描,直到第一个1的时

候,该位和右边各位保持不变。㊉A=A,左边各数值位

按位取反1㊉A=~A

•可以用符号作为E的输入

•原:1.11110补:1.00010

-----------------

不变,左边数值位取反

•时间延迟分析:转换n+1位带符号的时间延迟为

t=n*2T+5T,其中n*2T为或门延迟时间,5T为最高位

与门和异或门的时延。

2010-12-2367

3、带符号的阵列乘法器(间接法)

(被乘数)(乘数)

A=Hn।•••Hiticbn!•••bibo-R

P2np2nl.PiP。(乘积)

图2.7("1)位乘(n+l)位带补级的的列乘法潞

2010-12-23

举例(P36)

例20用带求补器原码乘法器(输入/出:为原码)

Y=(+15)*(-13)

例21用带求补器补码乘法器(输入/出:为补码)

Y=(-15)*(-13)

2010-12-2369

•••

2.4定点除法运算

定点原码一位除法实现方案(手工)0.10010/0.1011

0.1101商q

0.1011/0.10010x(10)被除数

/-0.010112-1y除数右移1位,减除数

0.001110G得余数门

-0.001Q112-2y除数右移1位,减除数

0.0000110「2得余数「2

-0.0Q010112-3y除数右移1位,不减除数

0.00001100r3得余数r3

-0.000010112-4y除数右移1位,减除数

-0.00000001Q得余数「4

♦商0还是商1人可以比较后确定,计算机如何确定?

♦余数末位补0后,减去除数右移后的值,导致加法器尾数逐渐增多,

最后要求加法器的位数必须位被除数的两倍

2010-12-2370

•••

定点原码除法的流程图

2010-12-2371

2、不恢复余数的除法:

•加减交替法(不恢复余数法)

•当i-1次求商的余数为正时,下一次求商的办法是

Ri=2Ri-Y

•若Ri〈O时,则I位上商0,而恢复余数作加法Ri+Y,下一次

即1+1次求商作减法时Ri+1=2(Ri+Y)-Y=2Ri+Y

•上述式子表明,当某一次商差为负时,本次商0,继续求下

一位商不必恢复余数,而直接将商的差值左移动一位,在

加Y的办法得到。

2010-12-2372

2、不恢复余数的除法:1

•法则:

•余数为正,商1,求下一位商的办法是余数左移,减除数

•余数为负,商。,求下一位商的办法是余数左移,加除数

•若最后余数与被除数X异号,则需要纠余,增加如下操

作:

若X、Y同号,用+Y纠余;

若X、Y异号,用-Y纠余。

•{M:x=0.1011y=0.1101求x/y

冈补=001011

[y]补=001101

卜yj补二-------

•计算过程如下:

2010-12-2373

•••

被除数说明IW•W•W•

•••

00101100000开始

110011-V

11111000000为负,商0

11110000000左移一位

001101+y

00100100001为正,商1

01001000010是移一位

110011■y

00010100011为正,商1

00101000110左移一位

110011-y

11110100110为负,商0

11101001100左移一位

001101+y

00011101101为正,商1

2010-12-2374

2、不恢复余数的除法:

•贝Ux/y=0.1101余数为0.0111*2汽左移了4次)

•小结:

•判断溢出/“0"

•商的符号由被除数的符号和除数的符号共同决定

•被除数的位数可以是除数位数的两倍,地位开始放于商

的寄存器中.

•最后一步余数是负数,需要修正再加上除数,移位.直到为

2010-12-2375

可控的加法/减法单元

CAS单元

•P=o,作加法运算

•p=1,作减法运算

•第一行:P=1减法运算;

・不恢复余数算法

•除数右代替部分积左依

•x/y

•商Q=O.q3q2q1

・余数R=0.00r6r5r4r3

76

(b)4位除4位阵列除法器

2.3.4并行除法器

•可控的加法/减法单元CAS单元

•P=0,作加法运算

P=1,作减法运算

2010-12-2377

•••

2.3.4并行除法器

]r—^L-Jr、uv

01CAS:CAS「CAS」CAS-

X4

-----------CAS=CAS」CAS一-CAS」

:IX5

QiL___n____>___r>r

q.------------------CAS」CAS一-CAS一CAS二

X6

r>r

Q:^-------------------------CAS一-CAS=CAS二CAS

,▼

rrr

余数:r3456

2010-12-2378

举例p44

[例23]*=0.101001,y=0.111,求x/y。

[解:]

[—y]补=1.001除数右移

被除数X0.101001

减尸1.001______________

余数为负1.110001<0q0=0

力口y0.0111_____________

余数为正0.001101>0q7=1

一减尸1.11001___________

余数为负1.11彳彳11~<0q2=0

力口y0.000111__________

余数为些0.000110>0q3=1

故得商q=q0.q1q2q3=0.101

余数r=(0.00r3r4r5r6)=0.000110

2010-12-2379

2.5定点运算器的组成

2.5.1逻辑运算

2.5.2多功能算术/逻辑运算单元ALU

2.5.3内部总线

2.5.4定点运算器的基本结构

2010-12-2380

2.5.1逻辑运算

•自学P44

2010-12-2381

2.5.2多功能算术/逻辑运算单元ALU

•多功能算术/逻辑运算单元ALU,本节介绍的是74LS181的基本逻

辑结构是先行进位加法器,通过改变其输入端Ai和Bi来实现算术运

算和逻辑运算功能。怎样实现呢?

•基本思想:一位全加器FA的逻辑表达式:

i^l4.<$l>B,Cn-\-i-

n+i+\=/Aii+4Cin\+i+AiCn\+i

•为了实现多种算术逻辑运算,可将Ai和Bi输入一个函数发生器(进

位传递函数和进位产生函数)得到输出Xi和Yi,作为一位全加器的

输入(见下页图)。

2010-12-2382

加法器FA、减法单元CAS和一位ALU逻辑图

一位ALU逻辑图

Si

2010-12-2383

•••

ALU的逻辑图与逻辑表达式

Fi

e=X㊉匕㊉c用

^^77+z+li'^i।।n+1i

2010-12-2384

252多功能算术/逻辑运算单元ALU

XiYi与控制参数和输入量的关系构造如下真值表

S°S]Yiss.

乙9oi

00300_1

01AlBl0]4+4

104A1o4—

110114+Bt

Yl=S0S1Al+S0SlAlBi+S0S1AlBl

Xj=邑S3+s2s3(4+月)+s2s3(4+g)+s2s34.

2010-12-2385

2.5.2多功能算术/逻辑运算单元ALU

进一步化简得到下式

X=s34g+s2ABi

乃=a+s0g.+S]瓦

1、可以证明:Xi+Yi=XiXi.Yi=Yi

(自己试试看)

2、耳二正.㊉工.㊉。向

。〃+川="工+工°田+。用%

,Q+川=Xj+C,2+1a+XJ=乂+£用'

2010-12-2386

2.5.2多功能算术/逻辑运算单元ALU

•ALU的某一位逻辑表达式见下:

X,=s3+

匕=4+S°Q+a瓦

石u-

G+N+.=巧+-u…

2010-12-2387

252多功能算术/逻辑运算单元ALU::;

1例如:

竺_全加器S3s2SoSi=OOOO

五五

「II代入:

^三函数发生器-------------------=

—X»=S3AiBl+S2AiBl=0+0=1

A'每瓦I弱=4

月=工㊉X,㊉。用=%㊉1㊉。用=4(设Q+1=o)

所以在S3〜So=OOOO的时候,输出结果为4,

•则可以处理16种算术、逻辑运算,每种运算只针

对1位二进制编码?

•思考:如何设计4位ALU?16位呢?

2.5.2多功能算术/逻辑运算单元ALU•••

•4位ALU

•问题L片内是串行进位还是并行进位?

回答:由上图结构中可以看出

Cn+1=Y0+X0Cn

=

^n+2^1+X1Cn+1

^n+3-Y2+X2Cn+2

^n+4=Y+XC

2010-12-2333n+389

显然是一个串行进位,速度慢,为了实现快速ALU,需加以改进

2.5.2多功能算术/逻辑运算单元ALU

•上述片内进位采用串行,具有延时长的缺点如何改

进?

•思考:Cn+i与X、Y有关,而每一位中X、Y的产生

是不是同时的?

答:由于每一位中X、Y的产生是同时的,则可以由下面方法算出并行进位的或+4

第0位向第1位的进位公式为

Cn+i=Y0+X0Cn(1)

其中C是向第0位(末位)的进位。

第1位向第2位的进位公式为

Cn+2=Yl+XlCn+l=Yl+Y0Xl+X0XlCn(Cn+i用(1)式代入)

第2位向第3位的进位公式为

C.=Y+XC.=Y+YX+YXX+XXXC.

n十3JN?N?nn十N?Z?111Un1Z?Un1Z?n

第3位的进位输出(即整个4位运算进位输出)公式为

।।1^^2^^3।1^^2^^3।1

以+4~Y3+X3Cn+3=Y3

2010-12-2390

2.5.2多功能算术/逻辑运算单元ALU

•4G=Y.+Y.X.+Y,XX.+XX.

O

温馨提示

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

评论

0/150

提交评论