計(jì)算機(jī)組成原理 課件 教學(xué) 作者 王誠 計(jì)算機(jī)組成第3章_第1頁
計(jì)算機(jī)組成原理 課件 教學(xué) 作者 王誠 計(jì)算機(jī)組成第3章_第2頁
計(jì)算機(jī)組成原理 課件 教學(xué) 作者 王誠 計(jì)算機(jī)組成第3章_第3頁
計(jì)算機(jī)組成原理 課件 教學(xué) 作者 王誠 計(jì)算機(jī)組成第3章_第4頁
計(jì)算機(jī)組成原理 課件 教學(xué) 作者 王誠 計(jì)算機(jī)組成第3章_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)組成原理教學(xué)課件

王誠教授

清華大學(xué)計(jì)算機(jī)系

2009年10月

原版教學(xué)配套課件

第3章數(shù)據(jù)表示和運(yùn)算方法

3.1數(shù)字化信息編碼的概念和二進(jìn)制編碼知識

3.2數(shù)據(jù)表示一常用的信息編碼

3.3二進(jìn)制數(shù)值數(shù)據(jù)的編碼方案與運(yùn)算方法

3.4檢錯(cuò)糾錯(cuò)碼

原版教學(xué)配套課件

1、數(shù)字信息和二進(jìn)制編碼知識

數(shù)值、文字、符號、語音和圖形等統(tǒng)稱信息,

在計(jì)算機(jī)內(nèi)部,信息都必須用數(shù)字化的形式被存儲、

加工和傳捶,不同信息要通過編碼來表示。

數(shù)字化信息編碼的二個(gè)要素:

①少量簡單的基本符號

②一定的組合規(guī)則

計(jì)算機(jī)中普遍選用兩個(gè)基本點(diǎn)符號:10

優(yōu)點(diǎn)是:基本符號個(gè)數(shù)最少,物理上容易實(shí)現(xiàn)

二進(jìn)制碼表示數(shù)值數(shù)據(jù)運(yùn)算規(guī)則簡單

與二值邏輯的真、假兩個(gè)值對應(yīng)簡單

二進(jìn)制數(shù)據(jù)算術(shù)運(yùn)算規(guī)則

(1)加法運(yùn)算規(guī)則

0+0=0例如:0101

0+1=1+)0001

1+0=10110

1+1=0并產(chǎn)生進(jìn)位

(2)減法運(yùn)算規(guī)則

0-0=0例如:1011

0-1=1并產(chǎn)生借位-)0101

<—

1-0=10110

1-1=0

4

原版教學(xué)配套課件

二進(jìn)制數(shù)據(jù)算術(shù)運(yùn)算規(guī)則

(3)乘法運(yùn)算規(guī)則例如:1101

0X0=0X)0101

0X1=0Hoi

1X0=00000

1X1=11101

1000001

(4)除法運(yùn)算規(guī)則

0101例如:

1101/10000011000001/1101=0101

/1101

01101

1101

05

原版教學(xué)配套課件

邏輯型數(shù)據(jù)基本運(yùn)算規(guī)則

一個(gè)二進(jìn)制數(shù)位可以用來表示一個(gè)二值邏輯型的

數(shù)據(jù),更準(zhǔn)確的說法應(yīng)該是一位基二碼而不是二進(jìn)制

的數(shù)位,因?yàn)檫壿嬓蛿?shù)據(jù)并不存在進(jìn)位關(guān)系。這里的

與、或、非邏輯可以用與門、或門、非門電路實(shí)現(xiàn)。

XYX與YX或YX的非

00001

01011

10010

11110

6

學(xué)配套課件

數(shù)制與進(jìn)位記數(shù)法

基r數(shù)制的概念

只用r個(gè)基本符號(例如0,1,2,…r?l)通過排

列起來的符號串表示數(shù)值,r稱為該數(shù)制的基。

數(shù)值N的表示

N=DmlDm2DiDoD.AiD.k

有權(quán)的基r數(shù)制

每個(gè)Dj(-k<i<m-l)的單位值都賦以固定的

值W?則稱Wj為該位的權(quán)。

—1

N代表的實(shí)際值可表示為:N=£O,xW

i=-k

原版教學(xué)配套課件

數(shù)制與進(jìn)位記數(shù)法

m-l

若逢r進(jìn)位,有Wi=r1則N=Z,義W

N代表一個(gè)數(shù)值i=-k

r是這個(gè)數(shù)制的基

i表示這些符號排列的位號

Dj是位序號為i的位上的一個(gè)符號

W是位序號為i的位上的一個(gè)1代表的值

DjXE是第i位的符號所代表的實(shí)際值

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

稱此數(shù)制為r進(jìn)位數(shù)制,簡稱r進(jìn)制。最常用的

有二進(jìn)制、八進(jìn)制、十六進(jìn)制和十進(jìn)制這4種。

8

原版教學(xué)配套課件

數(shù)制與進(jìn)位記數(shù)法

計(jì)算機(jī)中常用的4種進(jìn)位數(shù)制

二進(jìn)制:r=2,基本符號:01

八進(jìn)制:r=8,基本符號:01234567

十進(jìn)制:r=10,基本符號:0123456789

十六進(jìn)制:r=16,基本符號:

0123456789ABCDEF

其中A?F表示十進(jìn)制數(shù)10?15

4種進(jìn)位數(shù)制之間的關(guān)系:二進(jìn)制用于計(jì)算機(jī)內(nèi)部,

八和十六進(jìn)制是二進(jìn)制的縮寫,十進(jìn)制用于人員。

9

原配W課件

二進(jìn)制數(shù)f八、十六和十進(jìn)制

把二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),

累加二進(jìn)制數(shù)中全部數(shù)值為1的那些位的位權(quán)

32

(1101.1100)2=(1X2+1X2+0X241X2°)10

42

+(1X2+1X2-+0X2-3+0X2-4)10=(13.75)10

把二進(jìn)制數(shù)轉(zhuǎn)換成八或十六進(jìn)制數(shù)時(shí),從小數(shù)點(diǎn)

向左和向右把每3或者4個(gè)二進(jìn)制位分成一組,直接

寫出每一組所代表的數(shù)值,小數(shù)點(diǎn)后不足位數(shù)補(bǔ)0。

(1101.1001)2=(D.9)16=(15.44)8,而不是(15?41)8

1()

學(xué)配套課件

數(shù)制與進(jìn)位記數(shù)法

二進(jìn)位數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換方法

二進(jìn)制:r=2,基本符號:01

十進(jìn)制:r=10,基本符號:0123456789

求二進(jìn)制數(shù)所對應(yīng)的十進(jìn)制數(shù)值,可通過進(jìn)位記

數(shù)公式來計(jì)算,即把取值為1的數(shù)位的位權(quán)累加。

把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制,對整數(shù)部分通過除2

取余數(shù)來完成,對小數(shù)部分通過乘2取整數(shù)來完成。

低位0.76X2

10.52X2高位

10.04X2

高位00.08X2

00.16低位

(13)IO=(11O1)2(O.76)1O=(O.11OO)211

原版套課件

2、基二碼應(yīng)用實(shí)例:數(shù)據(jù)表示

(1)邏輯型數(shù)據(jù)

(2)字符型數(shù)據(jù)

ASCII碼EBCDIC碼

字符串漢字

(3)數(shù)值型數(shù)據(jù)

定點(diǎn)小數(shù)整數(shù)浮點(diǎn)數(shù)

二一十進(jìn)制數(shù)(BCD碼)

原版教學(xué)配套課件

(1)邏輯型數(shù)據(jù)

邏輯型數(shù)據(jù)只有兩個(gè)值:真和假,正好可以

用二進(jìn)制碼的兩個(gè)符號分別表示,

例如1表示真

則0表示假

不必使用另外的編碼規(guī)則。

對邏輯型數(shù)據(jù)可以執(zhí)行邏輯的與或非等基本

邏輯運(yùn)算。其規(guī)則如下:

原版教學(xué)配套課件

邏輯型數(shù)據(jù)基本運(yùn)算規(guī)則

一個(gè)二進(jìn)制數(shù)位可以用來表示一個(gè)二值邏輯型的

變量,更準(zhǔn)確的說法應(yīng)該是一個(gè)基二碼位而不是二進(jìn)

制的數(shù)位,因?yàn)檫壿嬓蛿?shù)據(jù)不存在進(jìn)位關(guān)系。這里的

與、或、非邏輯可以用與門、或門、非門電路實(shí)現(xiàn)。

XYX與YX或YX的非

00001

01011

10010

11110

14

學(xué)配套課件

(2)字符型數(shù)據(jù)的表示

字符作為人一機(jī)聯(lián)系的媒介,是最重要的數(shù)據(jù)

類型之一,當(dāng)前的西文字符集由128個(gè)符號組成,

通常用8位二進(jìn)制編碼,即用一個(gè)字節(jié)來表示一個(gè)

符號,常用的兩個(gè)標(biāo)準(zhǔn)字符集是:

ASCII碼:即Americantandardodefor

InformationInterchange

EBCDIC碼:即ExtendedBinaryoded

ecimalnterchangeode

ASCII碼字符集具體編碼如下表所示:

15

原版教學(xué)配套課件

ASCII碼字符集

LXH000001010on100101110111

0000NULDLESP0@PP

0001SOHDC1*1AQaq

0010STXDC2n2BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdt

0101ENGNAK%5EUeu

0110ACKSYN&6FVfV

f

0111BELETB7Gwgw

1000BSCAN(8HXhX

*

1001HTEM)9IY1y

**

1010LFSUB*?JZJz

1011VTESC+*K[k(

1100FFFS<L\11

1101CRGS-二M]m}

1110SORS*>NTn

1111SIUS/9*0<-0DEL

注:H表示高3位,L表示低4位。

16

配套課件

字符串的表示與存儲

字符串是指連續(xù)的一串字符,它們占據(jù)主存中連續(xù)

的多個(gè)字節(jié),每個(gè)字節(jié)存放一個(gè)字符,對一個(gè)主存字

的多個(gè)字節(jié),有按從低位到高位字節(jié)次序存放的,也

有按從高位到低位字節(jié)次序存放的。表示字符串?dāng)?shù)據(jù)

要給出串存放的主春起始地址和串的長度。例如:

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

IFAAFI

>BTTB>假定每個(gè)字

HENNEH由4個(gè)字節(jié)組成

READDAER

C))C(

17

用版教學(xué)配套課件

字符串的表示與存儲

按從低位到高位字節(jié)次序存放

3124231615870

IFA49462041

>BT3e422054

HEN48454e20

READ52454144

(C)28432920

16進(jìn)制數(shù)據(jù)

配W課件

漢字的內(nèi)碼表示

通常用兩個(gè)字節(jié)表示一個(gè)漢字。

為了與西文字符編碼相區(qū)別(西文的ASCH

碼的最高一位編碼值為0),表示一個(gè)漢字時(shí),

把兩個(gè)字節(jié)的最高一位的編碼值設(shè)定為1,則該

編碼集的最多編碼數(shù)量為128X128o

這種編碼方案與西文傳送中的把ASCH碼的

最高一位用作奇偶校驗(yàn)位有矛盾。

19

教學(xué)配套課件

漢字的表示方法

0漢字內(nèi)碼

B內(nèi)碼是用于漢字信息的存儲、交換、檢索等操作的機(jī)

內(nèi)代碼,它一般采用兩個(gè)字節(jié)的二進(jìn)制形式表示一個(gè)

漢字。

<>漢字輸入編碼

H輸入編碼是為了使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計(jì)算

機(jī)中,其編碼方法主要有數(shù)字編碼、拼音碼和字形編

碼三類。

<>漢字字模編碼

B字模編碼是以點(diǎn)陣方式用來描述

漢字字形的代碼,它是漢字的輸

出形式。

反教學(xué)配套課件

UNICODE編碼

Unicode是完全雙字節(jié)表示的多國文字編碼體系,

編碼空間OxOOOO-OxFFFFo可以表示65536個(gè)字符;

ISO10646.1漢字標(biāo)準(zhǔn)使用編碼0x4E00?9FA5,共

包含20902個(gè)漢字。

將整個(gè)編碼空間劃分為塊,每塊為16的整數(shù)倍,

按塊進(jìn)行分配;

并無法覆蓋所有字符。

21

原版教學(xué)配套課件

(3)數(shù)值數(shù)據(jù)在計(jì)算機(jī)內(nèi)的格式

定點(diǎn)小數(shù):N=NsjN-lN-2................N.n

整數(shù):N=NsNn.1...N1No.

浮點(diǎn)數(shù):N=MsEsEm.1...ElEOAMIM2...M

基為2?

IEEE標(biāo)準(zhǔn):階碼用移碼尾數(shù)用原碼

符號位階碼位尾數(shù)數(shù)碼位總位數(shù)

短浮點(diǎn)數(shù):182332

長浮點(diǎn)數(shù):1115264

臨時(shí)浮點(diǎn)數(shù):1156480

22

原版教學(xué)配套課件

數(shù)值范圍和數(shù)據(jù)精度

臺數(shù)值范圍

數(shù)值范圍是指一種類型的數(shù)據(jù)所能表示的最大值和最

小值;

<>數(shù)據(jù)精度

通常指實(shí)數(shù)所能給出的有效數(shù)字位數(shù);對浮點(diǎn)數(shù)來

說,精度不夠會造成誤差,誤差大量積累會出問題。

等機(jī)內(nèi)處理

數(shù)值范圍與數(shù)據(jù)精度概念不同。在計(jì)算機(jī)中,它們的

值與用多少個(gè)二進(jìn)制位表示某種類型的數(shù)據(jù),以及怎

么對這些位進(jìn)行編碼有關(guān)。

23

教學(xué)配套課件

二一十進(jìn)制碼(BCD碼)

專用4位二進(jìn)制表示1位十進(jìn)制數(shù),一個(gè)多位的十

進(jìn)制數(shù)被表示為這種編碼的數(shù)串,16個(gè)編碼狀態(tài)

中選用其中的10個(gè)編碼有多種不同的方案:

例如:8421碼,84?2?1碼,余3碼,格雷碼……

可以進(jìn)一步分為有權(quán)碼和無權(quán)碼:

有權(quán)碼:每位上的1代表確定的值

無權(quán)碼:無法確定每位上的1代表的值

24

原版教學(xué)配套課件

有權(quán)碼無權(quán)碼

842184-2-1余3碼格雷碼

00000000000110000

10001011101000001

20010011001010011

30011010101100010

40100010001110110

50101101110001110

60110101010011010

70111100110101000

81000100010111100

91001111111000100

25

配套課件

如何判定碼權(quán)

00000—

101114+(-2)+(-1)

20110—4+(-2)要驗(yàn)證每個(gè)碼的值

301014+(-1)

4Qgoo(4)從一編碼求碼權(quán)

510118+(-2)+(-1)

61005_________及結(jié)論

7io(?0證明此編碼系統(tǒng)為有權(quán)碼

8?00⑥

91111\^8+4+(2)+(-1)

配套課件

如何判定碼權(quán)

000112+1豐0驗(yàn)證各碼的值

1oQ)o從一編碼求碼權(quán)

2oioQQ

301?②

40111

51000

61001結(jié)論

71010證明此編碼系統(tǒng)為無權(quán)碼

81011

9110027

數(shù)值數(shù)據(jù)在計(jì)算機(jī)內(nèi)的格式

定點(diǎn)小數(shù):N=NsjN-lN-2............N-n

整數(shù):N=NsNn-i...NiNOA

浮點(diǎn)數(shù):N=MsEsEm.l...ElEO|M-1M2...M-n

基為2'

IEEE標(biāo)準(zhǔn):階碼用移碼尾數(shù)用原碼

符號位階碼位尾數(shù)數(shù)碼位總位數(shù)

短浮點(diǎn)數(shù):182332

長浮點(diǎn)數(shù):1115264

臨時(shí)浮點(diǎn)數(shù):1156480

28

版教學(xué)配套課件

3、數(shù)值數(shù)據(jù)的編碼和運(yùn)算算法

二進(jìn)制數(shù)值數(shù)據(jù)的類型

二進(jìn)制表示的定點(diǎn)小數(shù)、整數(shù)和浮點(diǎn)數(shù)

給數(shù)值數(shù)據(jù)編碼目標(biāo)

能方便統(tǒng)一地表示正數(shù)、零和負(fù)數(shù),并且盡可

能有利于簡化對它們實(shí)現(xiàn)算術(shù)運(yùn)算用到的規(guī)則;

數(shù)據(jù)符號的正與負(fù),可用一位二進(jìn)制的o和1

兩個(gè)狀態(tài)加以表示,數(shù)據(jù)數(shù)值用多位二進(jìn)制表示。

給常用的編碼方案

原展表示、補(bǔ)延表示、反府表示

29

原版教學(xué)配套課件

機(jī)器數(shù)與真值

真值機(jī)器數(shù)

帶符號的數(shù)符號數(shù)字化的數(shù)

+0.10110A1011數(shù)

-0.1011111011點(diǎn)

+110001100A位

-110011100置

一個(gè)數(shù)據(jù)的實(shí)際值被稱為數(shù)的真值,機(jī)器數(shù)是

指對數(shù)據(jù)符號位完成數(shù)字化處理后的機(jī)內(nèi)表示。

30

配套課件

(純小數(shù))原碼,反碼,補(bǔ)碼的定義

定點(diǎn)小數(shù)表示:NsNxN2-Nn

_XO<X<1

[X]原-i.x-1<X<0

X

rX]--n°&X<1_n

L」反一I(2?2)+X?1vX《0Mod(2-2)

rvi=,X0<X<1

補(bǔ)-12+X-1<X<0Mod2

31

原版教學(xué)配套課件

(純小數(shù))補(bǔ)碼的定義與說明

定點(diǎn)小數(shù)表示:NsNN2-Nn

XO<X<1

定義:[*]補(bǔ)=

2+X-1<X<0MOD2

實(shí)例:XI=0.1011-0.10110.0000

[X]#=010111010100000

說明:補(bǔ)碼最高一位是符號位,符號0正1負(fù)

補(bǔ)碼表示為:2X符號位+數(shù)的真值

補(bǔ)碼零只有一個(gè)編碼,故能表示4

補(bǔ)碼能很好地用于加減(乘除)運(yùn)算

32

整數(shù)的編碼表示

整數(shù)的原碼反碼補(bǔ)碼表示

與小數(shù)的三種表示基本相同

差別僅表現(xiàn)在小數(shù)點(diǎn)的位置

可以認(rèn)為整數(shù)的小數(shù)點(diǎn)在最低數(shù)值位的右側(cè)

因此整數(shù)的模與整數(shù)位數(shù)有關(guān)

講課中不大用整數(shù)講原反補(bǔ)碼定義

例如:整數(shù)六位編碼(1位符號位,5位數(shù)值位)

X=+01110-[X]4=0OHIO[X]#=0OHIO

X=■OHIO一兇原=1OHIO[X]補(bǔ)=110010

33

配套課件

整數(shù)的編碼表示

X為真值"為整數(shù)的位數(shù)

Jx2n>x0

國原一0^x>-2n

rx2〃>x20

㈤補(bǔ)=1

L2n+1+x02x2勺〃(mod2n+1)

rx2n>x^0

[%]反=《「"

I(2n+1-l)+x02x>-2〃(mod2n+1-l)

34

原配w課件

原反補(bǔ)碼表示小結(jié)

正數(shù)的原碼、反碼、補(bǔ)碼表示均相同,

符號位為0,數(shù)值位同數(shù)的真值。

零的原碼和反碼均有2個(gè)編碼,補(bǔ)碼只1個(gè)碼

負(fù)數(shù)的原碼、反碼、補(bǔ)碼表示均不同,

符號位為1,數(shù)值位:原碼為數(shù)的絕對值

反碼為每一位均取反碼

補(bǔ)碼為反碼再在最低位+1

由[X]補(bǔ)求[?X]補(bǔ):每一位取反后再在最低位+1

35

反教學(xué)配套課件

補(bǔ)碼表示中的符號位擴(kuò)展

由[X]補(bǔ)求[X/2]補(bǔ)的方法

原符號位不變,且符號位與數(shù)值位均右移一位

例如,

[X]補(bǔ)=10010則[X/2]補(bǔ)=110010

不同位數(shù)的整數(shù)補(bǔ)碼相加減時(shí),

位數(shù)少的補(bǔ)碼數(shù)的符號位向左擴(kuò)展,

一直擴(kuò)展到與另一數(shù)的符號位對齊。

01010101110000110101010111000011

+1111111110011100+0000000000011100

01010101010111110101010111011111

36

原版教學(xué)配套課件

補(bǔ)碼的一些補(bǔ)充說明

靜由[X]補(bǔ)(X0XxX2-Xn)求真值X

[X]#=2X0+X-X=[X]^-2X0

=X0X1X2.-.Xn-2X0

=-xo+(-xo+xox1x_2..-x.n)

=-Xo+O.X1X2---Xn

非由[X]補(bǔ)求[X/2]補(bǔ)的關(guān)系

[X]補(bǔ)=X0XiX2???Xn

[X⑵補(bǔ)=X。X0X1X2…X”

37

原版教學(xué)配套課件

數(shù)據(jù)的算術(shù)運(yùn)算:算法和原理性電路

補(bǔ)碼加、減法運(yùn)算

原碼一位乘法運(yùn)算原碼一位除法運(yùn)算

補(bǔ)碼一位乘法運(yùn)算補(bǔ)碼一位除法運(yùn)算

原碼二位乘法運(yùn)算補(bǔ)碼二位乘法運(yùn)算

陣列乘、除法器實(shí)現(xiàn)的更快的乘除運(yùn)算

38

反教學(xué)配套課件

補(bǔ)碼加減法的實(shí)現(xiàn)

補(bǔ)碼可以方便地完成加減法運(yùn)算,符號位和數(shù)值

位同等地參加運(yùn)算,只要結(jié)果不溢出,就能得到補(bǔ)碼

的正確的符號和正確的數(shù)值結(jié)果,而且可以使用加法

器線路完成減法運(yùn)算,使運(yùn)算器實(shí)現(xiàn)更加簡單,運(yùn)算

控制也很方便,同時(shí)為用于乘除法運(yùn)算奠定了基礎(chǔ)。

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

江?丫]補(bǔ)=[溝補(bǔ)+[?丫]補(bǔ)

卜丫]補(bǔ)=對[Y]補(bǔ)逐位取反再在最低位加1

看一下實(shí)現(xiàn)補(bǔ)碼加減運(yùn)算的原理性電路

39

用版教學(xué)配套課件

實(shí)現(xiàn)補(bǔ)碼加減運(yùn)算的邏輯電路

F-X

加F-Y

X-F

X-X+Y

X—XY

F-X

F-/Y

F-1

X-F

40

原版教學(xué)配套課件

實(shí)現(xiàn)補(bǔ)碼加運(yùn)算的執(zhí)行過程

X-X+Y

Fs00000111完成加法運(yùn)算,

-II

OVR需把被加數(shù)和加

Z加法器

C數(shù)送ALU的輸入

端,運(yùn)算結(jié)果要

41

版教學(xué)配套課件

實(shí)現(xiàn)補(bǔ)碼減運(yùn)算的邏輯電路

X—X—Y

完成減法運(yùn)算,

需把被減數(shù)和減

數(shù)送ALU的輸入

端,運(yùn)算結(jié)果要

接收到累加器,

需要給出命令:

F—X

F—/Y,FT

X—F

被減數(shù)/差減數(shù)

命令建立數(shù)據(jù)傳送

選通門/加運(yùn)算存結(jié)果

CPI/

42

原版教學(xué)配套課件

補(bǔ)碼加減法溢出判斷

黔方法之一:

?察魯?:‘正+正得負(fù)或…得正

罐魏符舞微露符號位不產(chǎn)生向更

號位產(chǎn)露憂瑟嘉向符號位的進(jìn)位,但*

》方法之三:

邕蠹邕果為01或地

最高符號位代表

判斷溢出崎遼晴電路電

何實(shí)現(xiàn)呢7

43

套課

補(bǔ)碼加減法運(yùn)算實(shí)例

判斷溢出的3套方案是一個(gè)事實(shí)的3種不同的表述

X=0.1011y=-0.0101

[X]補(bǔ)=001011,[Y]補(bǔ)=111011模4補(bǔ)碼

[,]補(bǔ)=000101

正數(shù)加正數(shù)結(jié)

正數(shù)加負(fù)數(shù)不果為負(fù)是溢出

001011會溢出001011

+000101數(shù)值位有進(jìn)位

符號位和數(shù)值符號位無進(jìn)位

iool)iio位都產(chǎn)生進(jìn)位ofoooo是溢出

X+Y(不溢出)雙符號位結(jié)果X?Y(溢出)雙符號位結(jié)果

相同不是溢出不相同是溢出

止匕時(shí)C=l,z=o,s=o

44

原版教學(xué)配套課件

補(bǔ)碼加減法運(yùn)算實(shí)例

加減法運(yùn)算過程中產(chǎn)生的特征位的值

X=0.0011y=-0.0011

2000:CMPRO,R1

[X]補(bǔ)=00011,[Y]補(bǔ)=11101

JRNC2000

[-Y]補(bǔ)=00011

:00011000112010:DECRO

JRNZ2010

+;11101+00011

i^oWoo^00110

X+Y(不溢出)X?Y(不溢出)

止匕時(shí)C=l,Z=l,s=o止匕時(shí)c=o,z=o,s=o45

原版教學(xué)配套課件

原碼一位乘運(yùn)算方案嚷瑟盤

[X*Y]原=(XS?YS)(|Xp|Y|)

例如:X=0.1101Y=0.1011

0.1101該方案用于計(jì)算機(jī)會有問題:

差0.10111.加法器只有兩個(gè)數(shù)據(jù)輸入端

11012.加法器與乘運(yùn)算數(shù)據(jù)位數(shù)相同

11013.如何判斷乘數(shù)每一位是0或者1

0000

+1101解決方案:

0.100011111.每次求出部分積,不是一次總累加

手工運(yùn)算過程2.變每次左移被乘數(shù)為右移部分積,

移出的部分保存起來(保存到哪?)

最終乘積原碼表示:3.乘數(shù)放到一個(gè)移位寄存器中,判

010001111乘數(shù)每一位的值用最低的一位線路

46

課f

實(shí)現(xiàn)原碼一位乘法的邏輯線路圖

移位電路被乘數(shù)作為加

,、第i位數(shù),用乘數(shù)最

F|加法嘉2選一電路低位的值控制

加運(yùn)算累加,結(jié)果右

移一存部分

第i+1位第i位第i-1位

積寄存器,并

被乘數(shù)F/2fxF-*XF*2fx且乘數(shù)同時(shí)右

移一位。

部分積部分積的

最乘數(shù)最低位移

低入到乘數(shù)

移位線路位

->的最高位

每位1套

計(jì)數(shù)器Cd

47

原版教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

-001101

00011011011(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010011

00100111101(丟失)右移部分積和乘數(shù)

+000000乘數(shù)最低位為0,加0

001001

00010011110(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010001

00100011111(丟失)右移部分積和乘數(shù)

48

原版教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

49

原版教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

001101

50

原版教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

001101

00011011011(丟失)右移部分積和乘數(shù)

原版教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

-001101

00011011011(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010011

00100111101(丟失)右移部分積和乘數(shù)

52

教學(xué)配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

-001101

00011011011(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010011

00100111101(丟失)右移部分積和乘數(shù)

+000000乘數(shù)最低位為0,加0

001001

00010011110(丟失)右移部分積和乘數(shù)

53

者配套課件

原碼一位乘運(yùn)算過程舉例

X=0.1101Y=0.1011

高位部分積低位部分積/乘數(shù)說明

0000001011起始情況

+001101乘數(shù)最低位為1,加X

-001101

00011011011(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010011

00100111101(丟失)右移部分積和乘數(shù)

+000000乘數(shù)最低位為0,加0

001001

00010011110(丟失)右移部分積和乘數(shù)

+001101乘數(shù)最低位為1,加X

010001

00100011111(丟失)右移部分積和乘數(shù)

54

原版教學(xué)配套課件

除法運(yùn)算

在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)除法運(yùn)算時(shí),存在與

乘法運(yùn)算類似的幾個(gè)問題:

加法器與寄存器的配合,被除數(shù)位數(shù)

較長,商一位一位地計(jì)算出來,如何放置

商等。

這可以用左移余數(shù)得到解決,且被除

數(shù)的低位部分可以與最終的商合用同一個(gè)

寄存器,余數(shù)與上商同時(shí)左移一位。

55

原版教學(xué)配套課件

實(shí)現(xiàn)原碼一位除法運(yùn)算的原理圖

C乘商寄存器

與或門上商

計(jì)數(shù)器cd

56

原版教學(xué)配套課件

原碼一位除運(yùn)2

[X/Y]原=(XS@YS)(饞|/|Y|)

原碼一位除是指用原碼表示的數(shù)相除,求出原

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

從理解原理考慮,用恢復(fù)余數(shù)除法講解計(jì)算機(jī)

內(nèi)的實(shí)現(xiàn)方法更直觀方便,即確定上商應(yīng)為1還是

為0時(shí),必須用被除數(shù)或中間余數(shù)減去除數(shù),通過

檢查本次求得的余數(shù)為正還是為負(fù)才能知道,而不

象人員計(jì)算時(shí)用眼睛可以直接看出來。若求出一個(gè)

為負(fù)的余數(shù)來,通常應(yīng)首先恢復(fù)其值為正,再求下

一位商才有道理。但計(jì)算機(jī)內(nèi)從來不用這種辦法,

而是直接用求得的負(fù)余數(shù)直接求下一位商。

57

原版教學(xué)配套課件

加減交替除法原理證明

1.若第i?l次求商,減運(yùn)算的余數(shù)為+R.1,商1,

余數(shù)左移1位得2R,i。若

[9

2.則下一步第i次求商Rj=2Ri4-Y右??

若Rj<0,商0

恢復(fù)余數(shù)為正且左移1位得2(此+Y)

3.則再下一步第i+1次求商Rj.=2(Rj+Y)-Y

=2此

公式表明,若上次減運(yùn)算結(jié)果為負(fù),可直接左移,

本次用+Y求商即可;減運(yùn)算結(jié)果為正,用+Y求商

58

用版教學(xué)配套課件

除法運(yùn)算被除數(shù)(余數(shù))商

00000開始情形

X=0.1011001011

+)110011-Y

Y=0.1101

11111000000<0,商0

X/Y=0.1101111100ooonro左移1位

+)001101+Y

[Y]補(bǔ)=001101

00100100001>0,商1

[-Y]補(bǔ)=110011010010oolo1o左移1位

+)110011-Y

原碼除法執(zhí)00010100011>0,商1

行的是絕對001010oruiio左移1位

值相除,+)110011-Y

用+[?Y]補(bǔ)完111101ooixo<0,商0

成,+Y由加111010Fiioo左移1位

Y的絕對值+)001101+Y

(補(bǔ)碼)完成00011101101>0,商1

59

套課

ALU的線路實(shí)現(xiàn)方案

<>ALU用于執(zhí)行2路數(shù)據(jù)的算術(shù)與邏輯運(yùn)算A存放:

例如:+、一、X、+、△、v等被加數(shù)

?已經(jīng)講過實(shí)現(xiàn)這幾種運(yùn)算的算法高位積

被除數(shù)

例如:補(bǔ)碼加減、邏輯運(yùn)算、原碼一位乘除等邏輯數(shù)1

?還給出了實(shí)現(xiàn)這些運(yùn)算的原理性線路框圖

B存放:

加數(shù)

被乘數(shù)

除數(shù)

邏輯數(shù)2

乘除運(yùn)算

用加減和

移位多次

迭代完成

60

原版教學(xué)配套課件

4、檢錯(cuò)糾錯(cuò)碼

要提高計(jì)算機(jī)的可靠性,除了采取選用更高可

靠性的器件,更好的生產(chǎn)工藝等措施之外,還可以

針對薄弱環(huán)節(jié),從數(shù)據(jù)編碼上想一些辦法,即采用

少量冗余的線路,在原有數(shù)據(jù)位之外再增加一到幾

個(gè)校驗(yàn)位,使新得到的由數(shù)據(jù)位和校驗(yàn)位構(gòu)成的碼

字帶上某種特性,在經(jīng)過薄弱環(huán)節(jié)之后,則通過檢

查該碼字是否仍保持有這一特性,來判斷碼字中的

某一、二位的值是否發(fā)生了變化,即是否出現(xiàn)了錯(cuò)

誤,甚至于定位錯(cuò)誤后,自動改正這一錯(cuò)誤,這就

是我們這里說的檢錯(cuò)糾錯(cuò)編碼技術(shù)。

61

原版教學(xué)配套課件

檢錯(cuò)糾錯(cuò)碼

碼距(最小碼距)的概念:是指任意兩個(gè)合法碼

之間至少有幾個(gè)二進(jìn)制位不相同。例如:

僅有一位不同,稱最小碼距為1,例如用4位二進(jìn)制表示

16種狀態(tài),則16種編碼都用到了,此時(shí)碼距為1,就是說,任

何一個(gè)編碼狀態(tài)的四位碼中的一位或幾位出錯(cuò),都會變成另一

個(gè)合法碼,此時(shí)無檢錯(cuò)能力。

若用4個(gè)二進(jìn)制位表示8種合法狀態(tài),就可以只用其中的

8個(gè)編碼來表示之,而把另8種編碼作為非法編碼,此時(shí)可以

使合法碼的碼距為2。如果一個(gè)碼字中的任何一位出錯(cuò)后都會

成為非法碼,則它就有了發(fā)現(xiàn)一位出錯(cuò)的能力。

合理增大碼距,能提高發(fā)現(xiàn)錯(cuò)誤的能力,但表示

一定數(shù)量的合法碼所使用的二進(jìn)制位數(shù)要變多,增加

了電子線路的復(fù)雜性和數(shù)據(jù)存儲、數(shù)據(jù)傳送的數(shù)量。

62

者配套課件

信息位與校驗(yàn)位排列位置關(guān)系

隨機(jī)突發(fā)

錯(cuò)誤錯(cuò)誤非系統(tǒng)碼系統(tǒng)碼

63

原版套課件

幾種常用的檢錯(cuò)糾錯(cuò)碼

我們只介紹三種常用的檢錯(cuò)糾錯(cuò)碼:

奇偶校驗(yàn)碼:用于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論