計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)非常全_第1頁(yè)
計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)非常全_第2頁(yè)
計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)非常全_第3頁(yè)
計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)非常全_第4頁(yè)
計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)非常全_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組成原理

-,計(jì)算機(jī)系統(tǒng)概述

(-)計(jì)算機(jī)發(fā)展歷程

第一臺(tái)電子計(jì)算機(jī)ENIAC誕生于1946年美國(guó)賓夕法尼亞大學(xué)、ENIAC用了18000電子管,1500繼電器,重

30噸,占地170m4耗電140kw,每秒計(jì)算5000次加法、馮?諾依曼(VanNeumann)首次提出存儲(chǔ)程序概念,

將數(shù)據(jù)與程序一起放在存儲(chǔ)器,使編程更加方便、50年來(lái),雖然對(duì)馮?諾依域機(jī)進(jìn)行很多改革,但結(jié)構(gòu)變化不

大,仍稱馮?諾依曼機(jī)、

一般把計(jì)算機(jī)得發(fā)展分為五個(gè)階段:

發(fā)展階段時(shí)間硬件技術(shù)速度/(次/秒)

第一代1946—1957電子管計(jì)算機(jī)時(shí)代40000

1958-

第二代晶體管計(jì)算機(jī)時(shí)代200000

1964

第三代1965-1971中小規(guī)模集成電路計(jì)算機(jī)時(shí)代1000000

第四代1972-1977大規(guī)模集成電路計(jì)算機(jī)時(shí)代10000000

第五代1978-現(xiàn)在超大規(guī)模集成電路計(jì)算機(jī)時(shí)代100000000

ENIAC(E1ectronicNumericaIIntegratorAndputer)電子數(shù)字積分機(jī)與計(jì)算機(jī)

EDVAC(ElectronicDiscreteVariableAutomaticputer)電子離散變量計(jì)算機(jī)

組成原理就是講硬件結(jié)構(gòu)得系統(tǒng)結(jié)構(gòu)就是講結(jié)構(gòu)設(shè)計(jì)得

摩爾定律微芯片上得集成管數(shù)目每3年翻兩番、處理器得處理速度每18個(gè)月增長(zhǎng)一倍、

每代芯片得成本大約為前一代芯片成本得兩倍

新摩爾定律全球入網(wǎng)量每6個(gè)月翻一番、

數(shù)學(xué)家馮?諾依曼(vonNeumann)在研究EDVAC機(jī)時(shí)提出了“儲(chǔ)存程序”得概念、以此為基礎(chǔ)得各類計(jì)算機(jī)

通稱為馮?諾依曼機(jī)、它有如下特點(diǎn):

①計(jì)算機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入與輸出五部分組成

②指令與數(shù)據(jù)以同等得地位存放于存儲(chǔ)器內(nèi),并可按地址尋訪

③指令與數(shù)據(jù)均用二進(jìn)制數(shù)表示

④指令由操作碼與地址碼組成,操作碼用來(lái)表示操作得性質(zhì),地址碼用來(lái)表示操作數(shù)在存儲(chǔ)器中得位置

⑤指令在存儲(chǔ)器內(nèi)按順序存放

⑥機(jī)器以運(yùn)算器為中心,輸入輸出設(shè)備與存儲(chǔ)器間得數(shù)據(jù)傳送通過(guò)運(yùn)算器完成

圖中各部件得功能

?運(yùn)算器用來(lái)完成算術(shù)運(yùn)算與邏輯運(yùn)算并將得中間結(jié)果暫存在運(yùn)算器內(nèi)

?存儲(chǔ)器用來(lái)存放數(shù)據(jù)與程序

?控制器用來(lái)控制,指揮程序與數(shù)據(jù)得輸入,運(yùn)行以及處理運(yùn)行結(jié)果

?輸入設(shè)備用來(lái)將人們熟悉得信息轉(zhuǎn)換為機(jī)器識(shí)別得信息

?輸出設(shè)備將機(jī)器運(yùn)算結(jié)果轉(zhuǎn)為人熟悉得信息形式

以存儲(chǔ)器為中心的計(jì)算機(jī)硬件框圖現(xiàn)代計(jì)算機(jī)硬件框圖

存儲(chǔ)體-存儲(chǔ)單元-存儲(chǔ)元件(0/1)

大樓-房間-床位(無(wú)人/有人)

存儲(chǔ)單元存放一串二進(jìn)制代碼

存儲(chǔ)字存儲(chǔ)單元中二進(jìn)制代碼的組合

存儲(chǔ)字長(zhǎng)存儲(chǔ)單元中二進(jìn)制代碼的位數(shù)

每個(gè)存儲(chǔ)單元賦予一個(gè)地址號(hào)

細(xì)化的計(jì)JT機(jī)姐成標(biāo)圖按地址尋訪

運(yùn)算器最少包括3個(gè)寄存器(現(xiàn)代計(jì)算機(jī)內(nèi)部往往設(shè)有通用寄存器)與一個(gè)算術(shù)邏輯單元(ALUArithmetic

LogicUnit)、其中ACC(Accumulat。r)為累加器,MQ(Multiplier-Qu。tientRegister)為乘

商寄存器,X為操作數(shù)寄存器,這3個(gè)寄存器在完成不同運(yùn)算時(shí),說(shuō)存放得操作數(shù)類別也各不相同、

(1)存儲(chǔ)器的基本組成(2)運(yùn)算器的基本組成及操作過(guò)程

MAR存儲(chǔ)潺地址寄存器ACCN1QX

反映存儲(chǔ)電元的個(gè)數(shù)|胃口、向

存儲(chǔ)體加法被加敷Mk

、IDR存儲(chǔ)器數(shù)據(jù)寄存器和

被M數(shù)

反映存儲(chǔ)字長(zhǎng)ALL:法M敢

M差

設(shè)MAR=4位X

桑法柬依島位***

主存你器MDR二8位乘枳低位

X

存砧甲兀個(gè)數(shù)16被除故

除法除數(shù)

運(yùn)算器余數(shù)商

!2S2F存儲(chǔ)字長(zhǎng)8

①加法操作過(guò)程②減法操作過(guò)程

--指令加M指令戰(zhàn)M

\xccMQr((j

III初態(tài)ACC被加數(shù)III初態(tài)ACC被盛數(shù)

\|I[M]—Xb"[M]——X

3

K[ACC]+[X]—ACC[ACC][Xl——ACC

運(yùn)算后運(yùn)ITS

③乘法操作過(guò)程④除法操作過(guò)程

—指令乘

指令除

ACC'I二1

I1<<2\1Q

初戀ACC被來(lái)數(shù)

nn初態(tài)ACC被除數(shù)

AM[M]-MQ

1[M]—X

[ACC]——X

3[ACC]4-[X]—MQ

i10—ACC

運(yùn)余數(shù)在ACC中

W8(X]X[MQ]―ACC〃MQ算募

(3)控制器的基本組成

完成■取指令PC

?取指訪存

一條《分析指令I(lǐng)R

指令

、執(zhí)行指令CU執(zhí)行訪存

PC存放當(dāng)前欲執(zhí)行指令的地址,

具有計(jì)數(shù)功能(PO+1—PC

IR存放當(dāng)前欲執(zhí)行的指令

計(jì)算機(jī)得主要硬件指標(biāo)

1.機(jī)器字長(zhǎng)CPU一次能處理數(shù)據(jù)的位數(shù)與CPU中的寄存器位數(shù)有關(guān)

,主頻

吉普森法

2.運(yùn)算速度《

MIPS每秒執(zhí)行百萬(wàn)條指令

CPI執(zhí)行一條指令所需時(shí)鐘周期數(shù)

'FLOPS每秒浮點(diǎn)運(yùn)算次數(shù)

3,存儲(chǔ)容量存放二進(jìn)制信息的總位數(shù)

r存儲(chǔ)單元個(gè)數(shù)x存儲(chǔ)字長(zhǎng)

如MARMDR容量

,主存容量<1081KX8位

163264KX32位

<字節(jié)數(shù)

<

如2"=1KBT1B=2%]

2?1=256KB

1輔存容量

字節(jié)數(shù)80GB

\lGB=2"b)

1G=1O24M-2,OX22I,=230

(4、a)主機(jī)完成一條指令得過(guò)程一以取數(shù)指令為例

(4、b)主機(jī)完成一條指令得過(guò)程一以存數(shù)指令為例

(二)計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)

1、計(jì)算機(jī)硬件得基本組成

計(jì)算機(jī)硬件主要指計(jì)算機(jī)得實(shí)體部分,通常有運(yùn)算器,控制器,存儲(chǔ)器,輸入與輸出五部分、

CPU就是指將運(yùn)算器與控制器集成到一個(gè)電路芯片中、

2、計(jì)算機(jī)軟件得分類

計(jì)算機(jī)軟件按照面向?qū)ο蟮貌煌煞謨深?

系統(tǒng)軟件:用于管理整個(gè)計(jì)算機(jī)系統(tǒng),合理分配系統(tǒng)資源,確保計(jì)算機(jī)正常高效地運(yùn)行,這類軟件面向系

統(tǒng)、(包括:標(biāo)準(zhǔn)程序庫(kù),語(yǔ)言處理程序,OS,服務(wù)程序,數(shù)據(jù)庫(kù)管理系統(tǒng),網(wǎng)絡(luò)軟件)

應(yīng)用軟件:就是面向用戶根據(jù)用戶得特殊要求編制得應(yīng)用程序,這類軟件通常實(shí)現(xiàn)用戶得某類要求、

3,計(jì)算機(jī)得工作過(guò)程

(1)計(jì)算機(jī)得工作過(guò)程就就是執(zhí)行指令得過(guò)程

指令由操作碼與操作數(shù)組成:

操作碼指明本指令完成得操作

操作碼地址碼

地址碼指明本指令得操作對(duì)象

(2)指令得存儲(chǔ)指令按照存儲(chǔ)器得地址順序連續(xù)得存放在存儲(chǔ)器中、

(3)指令得讀取為了紀(jì)錄程序得執(zhí)行過(guò)程,需要一個(gè)記錄讀取指令地址得寄存器,稱為指令地址寄存器,

或者程序計(jì)數(shù)器、指令得讀取就可以根據(jù)程序計(jì)數(shù)器所指出得指令地址來(lái)決定讀取得指令,由于指令通常按照地

址增加得順序存放,故此,每次讀取一條指令之后,程序計(jì)數(shù)器加一就為讀取下一條指令做好準(zhǔn)備、

(4)執(zhí)行指令得過(guò)程在控制器得控制下,完成以下三個(gè)階段任務(wù):

1)取指令階段按照程序計(jì)數(shù)器取出指令,程序計(jì)數(shù)器加一

2)指令譯碼階段分析操作碼,決定操作內(nèi)容,并準(zhǔn)備操作數(shù)

3)指令執(zhí)行階段執(zhí)行操作碼所指定內(nèi)容

(三)計(jì)算機(jī)性能指標(biāo)

1,吞吐量,響應(yīng)時(shí)間

(1)吞吐量:?jiǎn)挝粫r(shí)間內(nèi)得數(shù)據(jù)輸出數(shù)量、

(2)響應(yīng)時(shí)間:從事件開(kāi)始到事件結(jié)束得時(shí)間,也稱執(zhí)行時(shí)間、

2,CPU時(shí)鐘周期,主頻,CPI,CPU執(zhí)行時(shí)間

(1)CPU時(shí)鐘周期:機(jī)器主頻得倒數(shù),Tc

(2)主頻:CPU工作主時(shí)鐘得頻率,機(jī)器主頻Rc

(3)CPI:執(zhí)行?條指令所需要得平均時(shí)鐘周期

(4)CPU執(zhí)行時(shí)間:

TCPU=InxCPIxTc

In執(zhí)行程序中指令得總數(shù)

CPI執(zhí)行每條指令所需得平均時(shí)鐘周期數(shù)

底時(shí)鐘周期時(shí)間得長(zhǎng)度

3、MIPS,MFLOPS

(1)MIPS:(Mi11ionInstructionsPerSecond)

指令條數(shù)In時(shí)鐘頻率InRc

一執(zhí)行時(shí)間x106_TeXIO'_CPIX106-InxCPIxTcx106-CPIX10e

Te:執(zhí)行該程序得總時(shí)間=指令條數(shù)/(MIPSx)

In:執(zhí)行該程序得總指令數(shù)

Rc:時(shí)鐘周期Tc得到數(shù)

MIPS只適合評(píng)價(jià)標(biāo)量機(jī),不適合評(píng)價(jià)向量機(jī)、標(biāo)量機(jī)執(zhí)行一條指令,得到一個(gè)運(yùn)行結(jié)果、而向量機(jī)執(zhí)行

一條指令,可以得到多個(gè)運(yùn)算結(jié)果、

(2)MFLOPS:(MillionFloatingPointOperationsPerSecond)

MFLOPS=Ifn/(Tex)

Ifn:程序中浮點(diǎn)數(shù)得運(yùn)算次數(shù)

MFLOPS測(cè)量單位比較適合于衡量向量機(jī)得性能、一般而言,同一程序運(yùn)行在不同得計(jì)算機(jī)上時(shí)往往會(huì)執(zhí)

行不同數(shù)量得指令數(shù),但所執(zhí)行得浮點(diǎn)數(shù)個(gè)數(shù)常常就是相同得、

特點(diǎn):

1.MFLOPS取決于機(jī)器與程序兩方面,不能反映整體情況,只能反映浮點(diǎn)運(yùn)算情況

2.同一機(jī)器得浮點(diǎn)運(yùn)算具有一定得同類可比性,而非同類浮點(diǎn)操作仍無(wú)可比性

當(dāng)前微處理器得發(fā)展重點(diǎn)

①進(jìn)一步提高復(fù)雜度來(lái)提高處理器性能

②通過(guò)線程進(jìn)程級(jí)得并發(fā)性提高處理器性能

③將存儲(chǔ)器集成到處理器芯片來(lái)提高處理器性能

④發(fā)展嵌入式處理器

軟件開(kāi)發(fā)有以下兒個(gè)特點(diǎn)

1)開(kāi)發(fā)周期長(zhǎng)

2)制作成本昂貴

3)檢測(cè)軟件產(chǎn)品質(zhì)量得特殊性

計(jì)算機(jī)得展望

一、計(jì)算機(jī)具有類似人腦得一些超級(jí)智能功能

要求計(jì)算機(jī)得速度達(dá)IO"/秒

二*芯片集成度得提高受以下三方面得限制

?芯片集成度受物理極限得制約

?按幾何級(jí)數(shù)遞增得制作成本

?芯片得功耗、散熱、線延遲

計(jì)算機(jī)輔助設(shè)計(jì)CAD計(jì)算機(jī)輔助制造CAM

計(jì)算機(jī)輔助工藝規(guī)劃puterAidedProcessP1anningCAPP

計(jì)算機(jī)輔助工程puterAidedEngineeringCAE

計(jì)算機(jī)輔助教學(xué)puterAssistedInstructionCAI

科學(xué)計(jì)算與數(shù)據(jù)處理

工業(yè)控制與實(shí)時(shí)控制

網(wǎng)絡(luò)技術(shù)應(yīng)用

虛擬現(xiàn)實(shí)

辦公自動(dòng)化與管理信息系統(tǒng)puterAidedDesign

CAD,CAM,QMSputerAidedManufacturing

多媒體技術(shù)puterIntegratedManufacturingSyst

em

人工智能,模式識(shí)別,文字/語(yǔ)音識(shí)別,語(yǔ)言翻譯,專家系統(tǒng),機(jī)器人…

計(jì)算機(jī)

儲(chǔ)I/O

統(tǒng)總

CPU

控制單元

CU排隊(duì)

備存器

CPI

內(nèi)部無(wú)連和解碼器

控制

寄存存儲(chǔ)器

二,數(shù)據(jù)得表示與運(yùn)算

(-)數(shù)制與編碼

1,進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換

1)進(jìn)位計(jì)數(shù)制

進(jìn)位計(jì)數(shù)制就是指按照進(jìn)位制得方法表示數(shù),不同得數(shù)制均涉及兩個(gè)基本概念:基數(shù)與權(quán)、

基數(shù):進(jìn)位計(jì)數(shù)制中所擁有數(shù)字得個(gè)數(shù)、

權(quán):每位數(shù)字得值等于數(shù)字乘以所在位數(shù)得相關(guān)常數(shù),這個(gè)常數(shù)就就是權(quán)、

任意一個(gè)R進(jìn)制數(shù)X,設(shè)整數(shù)部分為n位,小數(shù)部分為m位,則X可表示為:

..n-1n——20—1-2-m

X=ar+aj一+。

n-ln-2ar+a/+%r+…+a_mr

(X)r=

2)不同數(shù)制間得數(shù)據(jù)轉(zhuǎn)換

(1)二,八,十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

利用上面講到得公式:(N)2=JDi-2i,(N)8=JDi-81,(N)l6=江i-16',進(jìn)行計(jì)算、

(2)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)

通常要對(duì)一個(gè)數(shù)得整數(shù)部分與小數(shù)部分分別進(jìn)行處理,各自得出結(jié)果后再合并、

?對(duì)整數(shù)部分,一般采用除2取余數(shù)法,其規(guī)則如下:

將十進(jìn)制數(shù)除以2,所得余數(shù)(0或1)即為對(duì)應(yīng)二進(jìn)制數(shù)最低位得值、然后對(duì)上次所得商除以2,所得余數(shù)

即為二進(jìn)制數(shù)次低位得值,如此進(jìn)行下去,直到商等于0為止,最后得得余數(shù)就是所求二進(jìn)制數(shù)最高位得值、

?對(duì)小數(shù)部分,一般用乘2取整數(shù)法,其規(guī)則如下:

將十進(jìn)制數(shù)乘以2,所得乘積得整數(shù)部分即為對(duì)應(yīng)二進(jìn)制小數(shù)最高位得值,然后對(duì)所余數(shù)得小數(shù)部分部分乘

以2,所得乘積得整數(shù)部分為次高位得值,如此進(jìn)行下去,直到乘積得小數(shù)部分為0,或結(jié)果已滿足所需精度要求為

止、

(3)二進(jìn)制數(shù),八進(jìn)制數(shù)與十六進(jìn)制數(shù)之間得轉(zhuǎn)換

八進(jìn)制數(shù)與十六進(jìn)制數(shù)就是從二進(jìn)制數(shù)演變而來(lái)得:

由3位二進(jìn)制數(shù)組成1位八進(jìn)制數(shù);

由4位二進(jìn)制數(shù)組成1位十六進(jìn)制數(shù)、

對(duì)一個(gè)兼有整數(shù)與小數(shù)部分得數(shù)以小數(shù)點(diǎn)為界,小數(shù)點(diǎn)前后得數(shù)分別分組進(jìn)行處理,不足得位數(shù)用0補(bǔ)

足、

對(duì)整數(shù)部分將0補(bǔ)在數(shù)得左側(cè),對(duì)小數(shù)部分將0補(bǔ)在數(shù)得右側(cè)、這樣數(shù)值不會(huì)發(fā)生差錯(cuò)、

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

真值:數(shù)據(jù)得數(shù)值通常以正(+)負(fù)(一)號(hào)后跟絕對(duì)值來(lái)表示,稱之為"真值"、

機(jī)器數(shù):在計(jì)算機(jī)中正負(fù)號(hào)也需要數(shù)字化,一般用0表示正號(hào),1表示負(fù)號(hào)、把符號(hào)數(shù)字化得數(shù)成為機(jī)器

數(shù)、

3,BCD碼(BinaryCodedDecima1以二進(jìn)制編碼得十進(jìn)制碼)

在計(jì)算機(jī)中采用4位二進(jìn)制碼對(duì)每個(gè)十進(jìn)制數(shù)位進(jìn)行編碼、4位二進(jìn)制碼有16種不同得組合,從中選出10

種來(lái)表示十進(jìn)制數(shù)位得0?9,用0000,0001,...,1001分別表示0,1,...,9,每個(gè)數(shù)位內(nèi)部滿足二進(jìn)制規(guī)則,而

數(shù)位之間滿足十進(jìn)制規(guī)則,故稱這種編碼為"以二進(jìn)制編碼得十進(jìn)制(binarycodeddecimal,簡(jiǎn)稱BC

D)碼"、

在計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)BCD碼算術(shù)運(yùn)算,要對(duì)運(yùn)算結(jié)果進(jìn)行修正,對(duì)加法運(yùn)算得修正規(guī)則就是:

如果兩個(gè)一位BCD碼相加之與小于或等于(1001)2,即(9)10,不需要修正;

如相加之與大于或等于(1010)2,或者產(chǎn)生進(jìn)位,要進(jìn)行加6修正,如果有進(jìn)位,要向高位進(jìn)位、

4,字符與字符串

在計(jì)算機(jī)中要對(duì)字符進(jìn)行識(shí)別與處理,必須通過(guò)編碼得方法,按照一定得規(guī)則將字符用一組二進(jìn)制數(shù)編碼表

示、字符得編碼方式有多種,常見(jiàn)得編碼有ASCII碼,EBCDIC碼等、

1)ASC11碼(AmericanStandardCodeforInformationInterchange美國(guó)信息交換標(biāo)準(zhǔn)碼)

ASCII碼用7位二進(jìn)制表示一個(gè)字符,總共128個(gè)字符元素,包括10個(gè)十進(jìn)制數(shù)字(0-9),52個(gè)英文字母

(A-Z與a—z),34專用符號(hào)與32控制符號(hào)、

2)EBCD工C碼為ExtendedBinaryCodedDecima1InterchangeCode得簡(jiǎn)稱,它采用8

位來(lái)表示一個(gè)字符、

3)字符串得存放

向量存儲(chǔ)法:字符串存儲(chǔ)時(shí),字符串中得所有元素在物理上就是鄰接得、

串表存儲(chǔ)法:字符串得每個(gè)字符代碼后面設(shè)置一個(gè)鏈接字,用于指出下一個(gè)字符得存儲(chǔ)單元得地址、

5、校驗(yàn)碼CheckDigit

數(shù)據(jù)校驗(yàn)碼就是一種常用得帶有發(fā)現(xiàn)某些錯(cuò)誤或自動(dòng)改錯(cuò)能力得數(shù)據(jù)編碼方法、其實(shí)現(xiàn)原理,就是加進(jìn)一些

冗余碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯(cuò)誤時(shí),就成為非法編碼、

這樣,可以通過(guò)檢測(cè)編碼得合法性來(lái)達(dá)到發(fā)現(xiàn)錯(cuò)誤得目得、合理地安排非法編碼數(shù)量與編碼規(guī)則,可以提高

發(fā)現(xiàn)錯(cuò)誤得能力,或達(dá)到自動(dòng)改正錯(cuò)誤得目得、

碼距:碼距根據(jù)任意兩個(gè)合法碼之間至少有幾個(gè)二進(jìn)制位不相同而確定得,僅有一位不同,稱其碼距為1、

1)奇偶校驗(yàn)碼(ParityBit)WIKI

(開(kāi)銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯(cuò)情況得編碼,常用于存儲(chǔ)器讀寫檢查或ASCII字符或其它類型得

信息傳輸?shù)脵z查)P216

它得實(shí)現(xiàn)原理,就是使碼距由1增加到2、若編碼中有1位二進(jìn)制數(shù)出錯(cuò)了,即由1變成0,或者由。變成1、

這樣出錯(cuò)得編碼就成為非法編碼,就可以知道出現(xiàn)了錯(cuò)誤、在原有得編碼之上再增加一位校驗(yàn)位,原編碼n位,

形成新得編碼為n+1位、增加得方法有2種:

奇校驗(yàn):增加位得0或1要保證整個(gè)編碼中1得個(gè)數(shù)為奇數(shù)個(gè)、

偶校驗(yàn):增加位得0或1要保證整個(gè)編碼中1得個(gè)數(shù)為偶數(shù)個(gè)、

2)海明校驗(yàn)碼(HammingCode)P100

實(shí)現(xiàn)原理,在數(shù)據(jù)中加入幾個(gè)校驗(yàn)位,并把數(shù)據(jù)得每一個(gè)二進(jìn)制位分配在幾個(gè)奇偶校驗(yàn)組中、當(dāng)某一位出錯(cuò)

就會(huì)引起有關(guān)得幾個(gè)校驗(yàn)組得值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯(cuò),還能指出就是哪一位出錯(cuò),為自動(dòng)糾錯(cuò)提供

了依據(jù)、

假設(shè)校驗(yàn)位得個(gè)數(shù)為r,則它能表示2「?jìng)€(gè)信息,用其中得一個(gè)信息指出"沒(méi)有錯(cuò)誤",其余2r-l個(gè)信息指出錯(cuò)誤

發(fā)生在哪一位、然而錯(cuò)誤也可能發(fā)生在校驗(yàn)位,因此只有

k=2r-l—r個(gè)信息能用于糾正被傳送數(shù)據(jù)得位數(shù),也就就是說(shuō)要滿足關(guān)系:

2rk+r+l

3)CRC校驗(yàn)碼(CyclicRedundancyCheek循環(huán)冗余校驗(yàn))P144

CRC校驗(yàn)碼一般就是指k位信息之后拼接r位校驗(yàn)碼、關(guān)鍵問(wèn)題就是如何從k位信息方便地得到r位校驗(yàn)

碼,以如何從位k+r信息碼判斷就是否出錯(cuò)、

將帶編碼得k位有效信息位組表達(dá)為多項(xiàng)式:

式Ci中為?;?、

若將信息位左移r位,則可表示為多項(xiàng)式M(x)、xr,這樣就可以空出r位,以便拼接r位校驗(yàn)位、

CRC碼就是用多項(xiàng)式M(x)、xr除以生成多項(xiàng)式G僅)所得得余數(shù)作為校驗(yàn)碼得、為了得到r位余數(shù),

G(x)必須就是r+1位、

設(shè)所得得余數(shù)表達(dá)式為R(x),商為Q(X).將余數(shù)拼接在信息位組左移r位空出得r位上,就構(gòu)成了CRC

碼,這個(gè)碼得可用多項(xiàng)式表達(dá)為:

M(x)xr+R(x)=[Q(x)-G(x)+R(x)]+R(x)

=[Q(x)G(x)]+[R(x)+R(x)]

=Q(x)G(x)

因此,所得CRC碼可被G(x)表示得數(shù)碼除盡、

將收到得CRC碼用約定得生成多項(xiàng)式G(x)去除,如果無(wú)錯(cuò),余數(shù)應(yīng)為0,有某位出錯(cuò),余數(shù)不為0、

(二)定點(diǎn)數(shù)得表示與運(yùn)算

1.定點(diǎn)數(shù)得表示

1)無(wú)符號(hào)數(shù)得表示

無(wú)符號(hào)數(shù)就就是指正整數(shù),機(jī)器字長(zhǎng)得全部位數(shù)均用來(lái)表示數(shù)值得大小,相當(dāng)于數(shù)得絕對(duì)值、

對(duì)于字長(zhǎng)為n+1位得無(wú)符號(hào)數(shù)得表示范圍為:0-1

2)帶符號(hào)數(shù)得表示(真值范圍一n-ln)

帶符號(hào)數(shù)就是指在計(jì)算機(jī)中將數(shù)得符號(hào)數(shù)碼化、在計(jì)算機(jī)中,一般規(guī)定二進(jìn)制得最高位為符號(hào)位,最高位

為“0"表示該數(shù)為正,為"1"表示該數(shù)為負(fù)、這種在機(jī)器中使用符號(hào)位也被數(shù)碼化得數(shù)稱為機(jī)器數(shù)、

根據(jù)符號(hào)位與數(shù)值位得編碼方法不同,機(jī)器數(shù)分為原碼,補(bǔ)碼與反碼、

(1)原碼表示法

機(jī)器數(shù)得最高位為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),數(shù)值跟隨其后,并以絕對(duì)值形式給出、這就是與真值最

接近得一種表示形式、

原碼得定義:

⑵補(bǔ)碼表示法

機(jī)器數(shù)得最高位為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),其定義如下:

⑶反碼表示法

機(jī)器數(shù)得最高位為符號(hào),0表示正數(shù),1表示負(fù)數(shù)、反碼得定義:

原碼補(bǔ)碼反碼

數(shù)(mod)(mod())

(mod(mod(2

數(shù)

2)-))

0二0、0000=1.0000=0、0000二0、0000=1,1111

負(fù)數(shù)原碼求反+1負(fù)數(shù)每位求反

移碼移碼表示中零也就是唯一得

真值得移碼與補(bǔ)碼僅差一一個(gè)符號(hào)位、若將補(bǔ)碼得符號(hào)位由0改為1或從1改為0即可得到真值得移碼

乘法運(yùn)算可用移碼與加法來(lái)實(shí)現(xiàn),兩個(gè)n位數(shù)相乘,總共要進(jìn)行n次加法運(yùn)算與n次移位運(yùn)算

三種機(jī)器數(shù)得特點(diǎn)可以歸納為:

?三種機(jī)器數(shù)得最高位均為符號(hào)位、符號(hào)位與數(shù)值位之間可用"、"(對(duì)于小數(shù))或(對(duì)于整數(shù))隔開(kāi)

?當(dāng)真值為正時(shí),原碼,補(bǔ)碼與反碼得表示形式均相同,即符號(hào)位用"0"表示,數(shù)值部分與真值部分相同

?當(dāng)真值為負(fù)時(shí),原碼,補(bǔ)碼與反碼得表示形式不同,其它符號(hào)位都用"1"表示,而數(shù)值部分有這樣得關(guān)系,即始

就是原碼得"求反加1",反碼就是原碼得"每位求反"、

2、定點(diǎn)數(shù)得運(yùn)算

1)定點(diǎn)數(shù)得位移運(yùn)算

左移,絕對(duì)值擴(kuò)大;右移,絕對(duì)值縮小、

算術(shù)移位規(guī)則

符號(hào)位不變

碼制添補(bǔ)代碼

正數(shù)0

原0

負(fù)數(shù)右移添0

補(bǔ)

左移添1

反1

算術(shù)移位與邏輯移位得區(qū)別:

算術(shù)移位:帶符號(hào)數(shù)移位;

邏輯移位:無(wú)符號(hào)數(shù)移位;

2)原碼定點(diǎn)數(shù)得加/減運(yùn)算;

對(duì)原碼表示得兩個(gè)操作數(shù)進(jìn)行加減運(yùn)算時(shí),計(jì)算機(jī)得實(shí)際操作就是加還就是減,不僅取決指令中得操作碼,

還取決于兩個(gè)操作數(shù)得符號(hào)、而且運(yùn)算結(jié)果得符號(hào)判斷也較復(fù)雜、

例如,加法指令指示做(+A)+(-B)由于-?操作數(shù)為負(fù),實(shí)際操作就是做減法(+A)—(+B),結(jié)果符

號(hào)與絕對(duì)值大得符號(hào)相同、同理,在減法指令中指示做(+A)-B)實(shí)際操作做加法(+A)+(+B),結(jié)果

與被減數(shù)符號(hào)相同、由于原碼加減法比較繁瑣,相應(yīng)地需要由復(fù)雜得硬件邏輯才能實(shí)現(xiàn),因此在計(jì)算機(jī)中很少

被采用、

3)補(bǔ)碼定點(diǎn)數(shù)得加/減運(yùn)算;

(1)加法

整數(shù)[4補(bǔ)+陷]補(bǔ)=[4+3]補(bǔ)(mod2"+1)

小數(shù)⑷補(bǔ)+£補(bǔ)=-+回補(bǔ)(mod2)

(2)減法

整數(shù)[&卜-[S]#=[4+(-8用補(bǔ)=3]補(bǔ)+[-8]補(bǔ)(mod2"+l)

小數(shù)[4]補(bǔ)一[8]補(bǔ)=[A+(—5)]^=[/]#+[-8)補(bǔ)(mod2)

無(wú)需符號(hào)判定,連同符號(hào)位一起相加,符號(hào)位產(chǎn)生得進(jìn)位自然丟掉

A、X均”+1位

用減法標(biāo)記Gs控制求補(bǔ)遺輯

4)定點(diǎn)數(shù)得乘/除運(yùn)算

(1)一位乘法

<1>原碼定點(diǎn)一位乘法

兩個(gè)原碼數(shù)相乘,其乘積得符號(hào)為相乘兩數(shù)得異或值,數(shù)值兩數(shù)絕對(duì)值之積、

設(shè)[X]原=X0X1X2…Xn

[Y]原=丫0Y1Y2...Yn

膝-丫]原=[乂]原?[丫]原=俳0中丫0)|(*1乂2...Xn)(YlY2...Yn)

符號(hào)I表示把符號(hào)位與數(shù)值鄰接起來(lái)、

(1)原碼一位乘運(yùn)算規(guī)則(2)原碼一位乘遞推公式

以小數(shù)為例X*?J,*=X*(OJ必???弘)

設(shè)[刈母=%?工出—£12

=x*(>?12+y22'+…+乂2”)

1?貓=%。必…

1

=2-1什送*+2】8K*+???2(ywx*+0)???))

lx?W版=(.%電,o).(0.x遙2—x”)(0?川2…J”)

Zo=O

式中X*=O.XhV2….V,為X的絕對(duì)值

Z1=2]dr*+Zo)

j,*=O.y必…),》為J的絕對(duì)值

Z2=2】(V“H+ZI)

乘積的符號(hào)位單獨(dú)處理項(xiàng)四以

數(shù)值部分為絕對(duì)值相乘廿?產(chǎn)ZH=2-iSN+zQ

(3)原碼一位乘的硬件配置匚1

0A"I-------|oQn

加法器<—移位和加控制」

控畫門~-------------

0V工)|計(jì)數(shù)器C|回國(guó)

A、X、Q均〃+1位

移位和加受末位乘數(shù)控制

(3)原碼一段乘的硬件配豈口(4)原碼兩位乘

0An\-------|oQ\n原碼乘符號(hào)位和數(shù)值位部分分開(kāi)運(yùn)算

~~n介//右移~~兩位乘每次用乘數(shù)的2位判斷原部分積

是否加和如何加被乘數(shù)

%■器Z~l移位和加控制P

乘數(shù))官通新的部分積

00加“0”一2

控嬴門|-------------01加1倍的被乘數(shù)一2

10加2倍的被乘數(shù)一2

11加3倍的被乘數(shù)一2

0X京I計(jì)數(shù)器C|回回

3?:100

、X、Q均〃+1位先減1倍的被乘數(shù)

A一U1

移位和加受末位乘數(shù)控制丁再加4倍的被乘數(shù)

原碼兩位乘與原碼一位乘比較

原碼?位乘原碼兩位乘

符號(hào)位

操作數(shù)絕對(duì)值絕對(duì)值得補(bǔ)碼

移位邏輯右移算術(shù)右移

移位次數(shù)n

最多加法次數(shù)n

<2>定點(diǎn)補(bǔ)碼一位乘法

有得機(jī)器為方便加減法運(yùn)算,數(shù)據(jù)以補(bǔ)碼形式存放、乘法直接用補(bǔ)碼進(jìn)行,減少轉(zhuǎn)換次數(shù)、具體規(guī)則如下

^-丫]補(bǔ)=區(qū)]補(bǔ)(-Y0+0,Y1Y2...Yn)

以小數(shù)為例設(shè)被乘數(shù)M4=XO.X1X2...X,

乘數(shù)M撲=%/必…y*

①被乘數(shù)任意,乘數(shù)為正

同原碼乘但加和移位按補(bǔ)碼規(guī)則運(yùn)算

乘積的符號(hào)自然形成

②被乘數(shù)任意,乘數(shù)為負(fù)

乘數(shù)M補(bǔ),去掉符號(hào)位,操作同①

最后加[-.可補(bǔ),校正

<3>布斯法

③Booth算法(被乘數(shù)、乘數(shù)符號(hào)任意)④Booth算法遞推公式

伍小卜=。

設(shè)M林=^0^2-x?[y]補(bǔ)=JM,必…y,

凱?列補(bǔ)一加產(chǎn)+網(wǎng)補(bǔ)][&]*=2」{d*1“)用補(bǔ)+同補(bǔ)}加1=0

二日補(bǔ)(0曲…岡m

2同補(bǔ)=)㈤補(bǔ)補(bǔ)}

=國(guó)撲(Fi2'+F22+…tF.2")_㈤補(bǔ)[2]=2。-21

2112kj],h=。卜卜㈤補(bǔ)最后一步不移位

=兇撲㈠vhn2-*+F22-+[2-=2--r\

=㈤補(bǔ)曰。+5-凹24)+偽21f22)+…+0,"2<"1】,.2)]乂加加f操作

如何實(shí)現(xiàn)

=同補(bǔ)[Ow?)+(hf)21+?--+(y.-^?1)2^4)+(O-J\)2")]000一1

WE;?

011+僅]補(bǔ)一1

10-1

110-1

乘法小結(jié)

>整數(shù)乘法與小數(shù)乘法完全相同

可用逗號(hào)代替小數(shù)點(diǎn)

A原碼乘符號(hào)位單獨(dú)處理

補(bǔ)碼乘符號(hào)位自然形成

A原碼乘去掉符號(hào)位運(yùn)算即為無(wú)符號(hào)數(shù)乘法

移位和加受末兩位乘數(shù)控制>不同的乘法運(yùn)算需有不同的硬件支持

"布斯公式":在乘數(shù)丫n后添加Yn+1=0、按照Yn+1,Yn相鄰兩位得三種情況,其運(yùn)算規(guī)則如下:

(1)Yn+1,Yn=0(Yn+1Yn=00或11),部分積力口0,右移1位;

(2)Yn+1,Yn=1(Yn+1Yn=10),部分積加[X]補(bǔ),右移1位;

(3)Yn+1,Yn=-1(Yn+1Yn=01),部分積加[一X]補(bǔ),右移1位最后一步

不移位、

(2)兩位乘法

<1>原碼兩位乘法,因此實(shí)際操作用丫i-1,Yi,C三位來(lái)控制,運(yùn)算規(guī)則如下

Yi-1YiC操作

000+0,右移2位0->C

001+x,右移2位0->C

010+X,右移2位o-c

011+2X,右移2位0->C

100+2X,右移2位o-c

101-X,右移2位ITC

110-X,右移2位1-C

111+0,右移2位1-C

<2>補(bǔ)碼兩位乘法

根據(jù)前述得布斯算法,將兩步合并成?步,即可推導(dǎo)出補(bǔ)碼兩位乘得公式、

Yn-i—1Yn-iYn-i+1[Pi+2]補(bǔ)

000+0,右移2位

001+[X]補(bǔ),右移2位

010

+[X]補(bǔ),右移2位

Oil

+2[X]補(bǔ),右移2位

100

—2[X]補(bǔ),右移2位

101

110-兇補(bǔ),右移2位

111一[X]補(bǔ),右移2位

+0,右移2位

求部分積得次數(shù)與右移操作得控制問(wèn)題、

當(dāng)乘數(shù)由1位符號(hào)位與以n(奇數(shù))位數(shù)據(jù)位組成時(shí),求部分積得次數(shù)為(1+n)/2,而且最后次得右移操

作只右移一位、

若數(shù)值位本身為偶數(shù)n,可采用下述兩種方法之一:

①可在乘數(shù)得最后一位補(bǔ)一個(gè)0,乘數(shù)得數(shù)據(jù)位就成為奇數(shù),而且其值不變,求部分積得次數(shù)為l+(n+l)/2,

即n/2+1,最后一次右移操作也只右移一位、

②乘數(shù)增加一位符號(hào)位,使總位數(shù)仍為偶數(shù),此時(shí)求部分積得次數(shù)為n/2+l,而且最后-一次不再執(zhí)行右移操作、

>乘法運(yùn)算可用加和移位實(shí)現(xiàn)

”=4,加4次,移4次

>由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加,

然后一1位形成新的部分積,同時(shí)乘數(shù)一1位

(末位移丟),空出高位存放部分積的低位。

>被乘數(shù)只與部分積的高位相加

硬件3個(gè)寄存器,具有移位功能

1個(gè)全加器

(3)補(bǔ)碼除法

筆算除法與機(jī)器除法得比狡

筆算除法機(jī)器除法

商符單獨(dú)處理符號(hào)位異或形成

心算上商

余數(shù)不動(dòng)低位補(bǔ)"0"余數(shù)左移一位低位補(bǔ)"0"

減右移一位得除數(shù)減除數(shù)

2倍字長(zhǎng)加法器1倍字長(zhǎng)加法器

上商位置不固定在寄存器最末位上商

<1〉定點(diǎn)原碼一位除法

1》恢復(fù)余數(shù)法

被除數(shù)(余數(shù))減去除數(shù),如果為0或者為正值時(shí),上商為1,不恢復(fù)余數(shù);如果結(jié)果為負(fù),上商為0,再將除

數(shù)加到余數(shù)中,恢復(fù)余數(shù)、余數(shù)左移1位、

2〉加減交替法

當(dāng)余數(shù)為正時(shí),商上1,求下位商得辦法,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,求下一位商

得辦法,余數(shù)左移一位,再加上除數(shù)、

〈2〉定點(diǎn)補(bǔ)碼一位除法(加減交替法)

1》如果被除數(shù)與除數(shù)同號(hào),用被除數(shù)減去除數(shù);若兩數(shù)異號(hào)?,被除數(shù)加上除數(shù)、如果所得余數(shù)與除數(shù)同號(hào)商

上1,否則,商上0,該商為結(jié)果得符號(hào)位、

2〉求商得數(shù)值部分、如果上次商上1,將除數(shù)左移一位后減去除數(shù);如果上次商上0,將余數(shù)左移一位后加

除數(shù)、然后判斷本次操作后得余數(shù),如果余數(shù)與除數(shù)同號(hào)商上1,如果余數(shù)與除數(shù)異號(hào)商上0、如此重復(fù)執(zhí)行n—1

次(設(shè)數(shù)值部分n位)、

3〉商得最后一位一般采用恒置1得辦法,并省略了最低+1得操作、此時(shí)最大得誤差為2-n

(1)恢復(fù)余數(shù)法3.原碼除法

例6.24x=-0.1011j=-0.1101求[y-h以小數(shù)為例

解:因反=1.1011[),]?=11101l>*U=0.1101[->*]?=1.0011

[工]原=Xo?Xa2???X”

①xo=1?1=0

0[y]^=y^yiyi-

②被除數(shù)〈余數(shù))商說(shuō)明

(0.101110.0000

+1.0011+5*]補(bǔ)式中x*=a.xyx2…為X的絕對(duì)值

1.11100余數(shù)為負(fù),上商0y*=0.川2…yH為y的絕對(duì)值

+0.1101恢復(fù)余數(shù)+[>?*]?

,------------J0.101110恢夏后的余數(shù)商的符號(hào)位單獨(dú)處理K)十外

涉輯左移

1>1.01100-1數(shù)值部分為絕對(duì)值相除P

+1.0011+h]撲約定小數(shù)定點(diǎn)除法鏟<嚴(yán)整數(shù)定點(diǎn)除法x*>j*

,------------.0.100101余數(shù)為正,上商1

四四1.0010

溫馨提示

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

評(píng)論

0/150

提交評(píng)論