




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深信服aES產(chǎn)品技術(shù)白皮書-V1.5
- 3.3汽化和液化 說(shuō)課稿2025年初中人教版物理八年級(jí)上冊(cè)
- 我?jiàn)^斗我幸福心得體會(huì)
- 積極心理學(xué)理論下護(hù)理在細(xì)菌性陰道炎患者中的應(yīng)用
- 《會(huì)計(jì)信息系統(tǒng)應(yīng)用》課件 學(xué)習(xí)情境5 薪資管理系統(tǒng)應(yīng)用
- 餐廚垃圾收運(yùn)合作協(xié)議書
- 二零二五圖書倉(cāng)儲(chǔ)與倉(cāng)儲(chǔ)物流信息化合同樣本
- 二零二五年度辦公大樓自來(lái)水供應(yīng)與智能抄表服務(wù)合同
- 健康飲食規(guī)劃實(shí)踐指南
- 三農(nóng)村資源利用優(yōu)化方案設(shè)計(jì)
- 2024年10月自考15040習(xí)概試題及答案含評(píng)分參考
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
- DB11T 1833-2021 建筑工程施工安全操作規(guī)程
- 信息檢索課件 第2章 文獻(xiàn)檢索方法(1)-2
- 汽車維修行業(yè)服務(wù)標(biāo)準(zhǔn)及規(guī)范
- 民間借貸利息計(jì)算表
- 智鼎在線測(cè)評(píng)題庫(kù)28題
- 網(wǎng)絡(luò)安全事件應(yīng)急預(yù)案演練方案
- 廣告導(dǎo)視標(biāo)牌項(xiàng)目重難點(diǎn)施工方案
- 液壓站操作說(shuō)明書
- 醫(yī)院圍手術(shù)期管理制度培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論