第1章微機(jī)原理概述_第1頁
第1章微機(jī)原理概述_第2頁
第1章微機(jī)原理概述_第3頁
第1章微機(jī)原理概述_第4頁
第1章微機(jī)原理概述_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理南京大學(xué)工程管理學(xué)院第一章概述:微機(jī)的體系結(jié)構(gòu),數(shù)制,計(jì)算第二章80X86微處理器:運(yùn)算器與控制器,時(shí)序。實(shí)驗(yàn)1:熟悉實(shí)驗(yàn)箱,時(shí)序分析,實(shí)驗(yàn)2:時(shí)序分析第三章指令系統(tǒng):尋址方式,指令系統(tǒng)。實(shí)驗(yàn)3:匯編語言程序設(shè)計(jì)第四章匯編語言:偽指令,宏指令,基本程序設(shè)計(jì)。實(shí)驗(yàn)4:宏命令實(shí)驗(yàn)。第五章存儲(chǔ)系統(tǒng):存儲(chǔ)器系統(tǒng),外部總線。實(shí)驗(yàn)5:畫原理圖。(PROTEL/AltiumDesigner)第六章中斷技術(shù):中斷基本概念,中斷處理過程。實(shí)驗(yàn)6:中斷程序?qū)嶒?yàn)。課程內(nèi)容考試:第10周2深入了解計(jì)算機(jī)組成原理,工作原理,時(shí)序概念。掌握最基本的(匯編語言)程序設(shè)計(jì)及程序調(diào)試過程。理解并掌握中斷概念與中斷技術(shù)實(shí)現(xiàn)過程。成績:平時(shí)作業(yè)15%+實(shí)驗(yàn)25%+考試60%作業(yè):每次布置作業(yè)后,周五上課時(shí)交。實(shí)驗(yàn)報(bào)告:根據(jù)實(shí)驗(yàn)情況,在布置實(shí)驗(yàn)時(shí)規(guī)定上交時(shí)間。課程要求31、微機(jī)的原理和發(fā)展2、微機(jī)系統(tǒng)的組成3、數(shù)制及其運(yùn)算3.1數(shù)制及其之間的轉(zhuǎn)換3.2二進(jìn)制無符號(hào)數(shù)和有符號(hào)數(shù)的運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法定點(diǎn)表示及其運(yùn)算(原碼、反碼、補(bǔ)碼、偏移碼)

難點(diǎn):不恢復(fù)余數(shù)除法浮點(diǎn)表示法編碼第一章概述和數(shù)制4馮.諾依曼(VonNeuman)教授提出了“存儲(chǔ)程序,順序執(zhí)行”方案,下圖為這種計(jì)算機(jī)的組成結(jié)構(gòu),也稱為馮.諾依曼計(jì)算機(jī)。它的工作原理是把復(fù)雜的計(jì)算、操作過程表示成由一系列的基本指令組成的程序,預(yù)先存入存儲(chǔ)器中,在需要時(shí)發(fā)出運(yùn)行命令,計(jì)算機(jī)按程序所規(guī)定的順序,一條條地讀入CPU并分析和執(zhí)行指令,最終完成所需的計(jì)算。1、數(shù)字計(jì)算機(jī)的原理52、微機(jī)系統(tǒng)的組成計(jì)算機(jī)組成的層次6微型計(jì)算機(jī)主要由如下部分組成

2、微機(jī)系統(tǒng)的組成運(yùn)算器:全加器、寄存器、累加器。

控制器:時(shí)序電路(節(jié)拍發(fā)生器)、指令寄存器、指令譯碼、微操作電路、(指令計(jì)數(shù)器)。

存儲(chǔ)器

系統(tǒng)總線(CPU內(nèi)部、外部)輸入輸出接口(及設(shè)備)

7CPU微型機(jī)的性能字長:能同時(shí)處理的二進(jìn)制數(shù)位數(shù);

主存容量:CPU可以直接使用的存儲(chǔ)器;

外存容量:CPU不能直接使用的存儲(chǔ)器。

運(yùn)算速度(百萬指令/秒MIPS);系統(tǒng)主頻:系統(tǒng)總線(地址總線、數(shù)據(jù)總線、控制總線);外部設(shè)備(輸入、輸出接口);

軟件(系統(tǒng)軟件、應(yīng)用軟件)。83、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換

其展開式是:Ex:十進(jìn)制數(shù)12345.67的展開式為:一般來說,對(duì)基數(shù)為r的r進(jìn)制數(shù),其展開式可表示為:

93、數(shù)制及其運(yùn)算二進(jìn)制數(shù)的基數(shù)為2,每位的權(quán)值是

二進(jìn)制數(shù)同樣可表示為:它的展開式為:

Ex:3.1數(shù)制及其轉(zhuǎn)換----二進(jìn)制表示103、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換----八進(jìn)制、十六進(jìn)制及其轉(zhuǎn)換為了區(qū)別不同的進(jìn)位制數(shù),在數(shù)的右下角加一字母,十進(jìn)制數(shù)加D,二進(jìn)制數(shù)加B,十六進(jìn)制數(shù)加H,而八進(jìn)制數(shù)加O(或Q)。一般情況下,若沒有下標(biāo)表示為十進(jìn)制數(shù)。Ex:二進(jìn)制數(shù)和八進(jìn)制、十六進(jìn)制數(shù)間的相互轉(zhuǎn)換113、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換----二進(jìn)制與十進(jìn)制的轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)將各位數(shù)按其權(quán)值相加,即可得它的十進(jìn)制數(shù)。例:(111.1001)2

可寫成:十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)要將整數(shù)部分與小數(shù)部分分別轉(zhuǎn)換。整數(shù)部分采用除2取余法,小數(shù)部分采用乘2取整法。Ex:123、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換----二進(jìn)制與十進(jìn)制的轉(zhuǎn)換(67.54)D轉(zhuǎn)換成二進(jìn)制數(shù)。Ex:整數(shù)部分:小數(shù)部分:整數(shù)結(jié)果:小數(shù)結(jié)果:結(jié)果:133、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換----任意進(jìn)制數(shù)轉(zhuǎn)換我們可得規(guī)律:對(duì)小進(jìn)制數(shù)轉(zhuǎn)換成大進(jìn)制數(shù),可用下式展開,即可。對(duì)大進(jìn)制數(shù)轉(zhuǎn)換成小進(jìn)制數(shù),整數(shù)部分用除基數(shù)取余法,小數(shù)部分用乘基數(shù)取整法。然后將整數(shù)與小數(shù)部分合并。14十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)時(shí),可能無法完成(存在殘差),到一定位后忽略3、數(shù)制及其運(yùn)算3.1數(shù)制及其轉(zhuǎn)換----十進(jìn)制與七進(jìn)制轉(zhuǎn)換Ex:整數(shù):小數(shù):結(jié)果:153、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----加法和乘法的基本規(guī)則在二進(jìn)位制中,僅有0,1兩個(gè)數(shù)。它們的基本加法和乘法運(yùn)算規(guī)則是:163、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)加法Ex:結(jié)果正確結(jié)果錯(cuò)誤結(jié)論:二進(jìn)制加法的規(guī)則是:按位相加,“逢二進(jìn)一”0D+4,結(jié)果超過4位二進(jìn)制數(shù)所能表示的范圍。溢出173、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)乘法乘法過程是由一系列的相加和移位來實(shí)現(xiàn)的。更確切的講,乘數(shù)有幾位,就要執(zhí)行幾次加法(包括加0)和移位。二進(jìn)制乘法的規(guī)則是:首先清0結(jié)果。從低位到高位,依次看乘數(shù)的各位值,若該位為1,則結(jié)果(稱部分積)加上被乘數(shù),并右移一位;若該位為0,則部分積不加被乘數(shù),直接右移一位。

乘法運(yùn)算不會(huì)溢出。

183、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)乘法1011B和1101B的乘積:Ex:清零結(jié)果單元加被乘數(shù)右移一位直接右移一位加被乘數(shù)右移一位加被乘數(shù)右移一位193、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)減法

正確

錯(cuò)誤

結(jié)論:大數(shù)減小數(shù),結(jié)果正確;小數(shù)減大數(shù),結(jié)果錯(cuò)(結(jié)果為負(fù),最高位有借位)203、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)除法被除數(shù)減除數(shù),不夠減,加上除數(shù)(恢復(fù))。第一位商為“0”商左移一位,返回1執(zhí)行,直到足夠的循環(huán)次數(shù)。(4位除法4次,第一次不算在內(nèi))。第一次如夠減,商為“1”,發(fā)生溢出錯(cuò)誤。因此,可用第一次減法的結(jié)果判斷是否有錯(cuò)?;謴?fù)余數(shù)除法步驟:213、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)除法Ex:結(jié)果:1011,正確結(jié)果:10011錯(cuò)誤!溢出223、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----多位二進(jìn)制無符號(hào)數(shù)除法第一次減法,若不夠減,結(jié)果正確;若夠減,結(jié)果不正確(溢出)。從小數(shù)除法來理解,大數(shù)除以小數(shù),結(jié)果有整數(shù)部分。118/10(.01110110,.1010)118/6(.01110110,.0110)結(jié)論:233、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----無符號(hào)運(yùn)算總結(jié)兩數(shù)相加,結(jié)果超出所能表示的數(shù)的范圍,溢出。兩數(shù)相減,小數(shù)減大數(shù)錯(cuò)。結(jié)果為負(fù)(超出所能表示的數(shù)的范圍),溢出。兩數(shù)相乘,不會(huì)溢出。兩數(shù)相除,第一次夠減,結(jié)果錯(cuò)誤,溢出。243.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)帶符號(hào)二進(jìn)制數(shù)的表示:用最高位表示符號(hào)。正數(shù):符號(hào)位為0負(fù)數(shù):符號(hào)位為1Ex:無符號(hào)8位二進(jìn)制數(shù)的范圍為00~0FFH(0~255);若為帶符號(hào)數(shù)時(shí),8位二進(jìn)制數(shù)的范圍為0FFH~7FH(-127~+127),無符號(hào)16位二進(jìn)制數(shù)的范圍為0000~0FFFFH

(0~65535);若為帶符號(hào)16位二進(jìn)制數(shù)時(shí),數(shù)的范圍為0FFFFH~7FFFH(-32767~+32767)。253、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)的加減法26Ex:5:0101,-5:1101,7:0111,-7:1111(-5)+75+(-7)(-5)+(-7)5+71101010111010101

+0111

+1111

+1111

+0111

00101

0101

11000

1100溢出溢出符號(hào)不參加運(yùn)算,根據(jù)符號(hào)同異,確定進(jìn)行加法或減法,結(jié)果的符號(hào)與絕對(duì)值大的數(shù)相同。3、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)乘法27符號(hào)位不參加運(yùn)算。兩數(shù)相乘步驟如下:1置積=0(稱為部分積)2從低高位開始,逐位比較,根據(jù)乘數(shù)該位狀態(tài),若為1,部分積加被乘數(shù),若為0,部分積不加乘數(shù),3部分積右移一位,前0。4直到乘數(shù)最高一位。添上結(jié)果符號(hào)。若兩數(shù)同號(hào),結(jié)果為正;兩數(shù)不同號(hào),結(jié)果為負(fù)。3、數(shù)制及其運(yùn)算3.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)乘法285*7(0101,0111)(-5)*(-7)被乘數(shù)101部分積0000

乘數(shù)111

部分積0101

乘數(shù)111部分積0101

+101

乘數(shù)111部分積01111

+101100011根據(jù)兩數(shù)符號(hào),添上積符號(hào)

0100011Ex:3、數(shù)制及其運(yùn)算293.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)除法符號(hào)位不參加運(yùn)算,數(shù)碼位相除步驟如下:1、置商=0,最高位對(duì)齊。2、判斷被除數(shù)是否夠減除數(shù),若夠減,本位商為1,若不夠減,本位商為0。(在第一次減時(shí),判斷是否溢出)。3、將被除數(shù)左移一位,反復(fù)2、3直到足夠位數(shù)。根據(jù)兩數(shù)符號(hào),確定商的符號(hào)。除法到什么時(shí)候完成?8位除法(16位除8位,結(jié)果商8位,余數(shù)8位)。3、數(shù)制及其運(yùn)算303.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)除法-145/11(110010001原,01011)

1001000101110

-10110-1011

110010001100

-101110110101110-101110010結(jié)果添上符號(hào)11101原

=-13余2Ex:3、數(shù)制及其運(yùn)算313.2二進(jìn)制運(yùn)算----有符號(hào)數(shù)除法-145/7(110010001原,00111)

10010001000100

-0111101010001000————01000101

-01111000110100結(jié)果5位,錯(cuò)。Ex:3、數(shù)制及其運(yùn)算323.2二進(jìn)制運(yùn)算----基本邏輯運(yùn)算3、數(shù)制及其運(yùn)算1.與運(yùn)算Y=AandB,只有A=1和B=1時(shí),才有Y=1。(全“1”得“1”)

2.或運(yùn)算Y=AorB,只要A=1或B=1,就有Y=1。(有“1”得“1”)3.非運(yùn)算A=1,則NOT(A)=0;反之,A=0,則NOT(A)=1。4.異或運(yùn)算Y=AxorB,則只要A不等于B,就有Y=1(相同得“0”,相異得“1”)333.2二進(jìn)制運(yùn)算----基本邏輯運(yùn)算3、數(shù)制及其運(yùn)算邏輯量與數(shù)字量的最根本的差別是,邏輯量各位之間沒有關(guān)系,而數(shù)字量各位之間有固定的權(quán)關(guān)系。因此不管將多少邏輯變量組合成一數(shù)據(jù),它們之間仍是相互獨(dú)立的。已知A=1101b,B=1000b,求Y=AandB,Y=AorB和Y=AxorB

not(A),not(B)解110111011101

and1000

or1000

xor1000100011010101not(A)=0010,not(B)=0111Ex:343.3計(jì)算機(jī)中數(shù)的表示方法常用的數(shù)據(jù)數(shù)值格式表示方法有兩種:定點(diǎn)格式和浮點(diǎn)格式定點(diǎn)數(shù)是指小數(shù)點(diǎn)的位置固定的數(shù)。在計(jì)算機(jī)中,定點(diǎn)數(shù)只有兩種情況:定點(diǎn)整數(shù)或定點(diǎn)小數(shù)。若小數(shù)點(diǎn)的位置被固定在機(jī)器最低位之后,該數(shù)據(jù)為“定點(diǎn)整數(shù)”;若小數(shù)點(diǎn)的位置被固定在機(jī)器數(shù)的最高位前,該數(shù)據(jù)為“定點(diǎn)小數(shù)”。在運(yùn)算器中并沒有表示小數(shù)點(diǎn)位置的電路,因此定點(diǎn)整數(shù)或定點(diǎn)小數(shù)是事先的約定。3、數(shù)制及其運(yùn)算353.3計(jì)算機(jī)中數(shù)的表示方法----定點(diǎn)表示8位無符號(hào)定點(diǎn)小數(shù)8位無符號(hào)定點(diǎn)整數(shù).XXXXXXXXXXXXXXXX.8位定點(diǎn)小數(shù)8位定點(diǎn)整數(shù)±.XXXXXXX

±XXXXXXX.例10110110:

0.7109375182-.421875-5416位,32位,64位二進(jìn)制定點(diǎn)數(shù),其格式與8位同。只是表示數(shù)碼的位數(shù)不同(范圍不同)。3、數(shù)制及其運(yùn)算363.3計(jì)算機(jī)中數(shù)的表示方法----定點(diǎn)數(shù)表示范圍定點(diǎn)整數(shù)216=65,536(32,767~-32,768)232=4,294,967,296

(2,147,483,647~-2,147,483,648)定點(diǎn)小數(shù)2-16=0.000,015,258,781,252-32=0.000,000,000,232,830,524,444,580,078,125為了采用同樣位數(shù)二進(jìn)制數(shù)表示更大的數(shù)的范圍,發(fā)明了數(shù)的浮點(diǎn)表示。3、數(shù)制及其運(yùn)算373.3計(jì)算機(jī)中數(shù)的表示方法----原碼原碼:數(shù)值用其絕對(duì)值,正數(shù)的符號(hào)位用0表示,負(fù)數(shù)的符號(hào)位用1表示,這樣表示的數(shù)就稱為原碼。其中最高位為符號(hào)位。Ex:X1=+l05=01101001B[X1]原=01101001BX2=-l05=-1101001B[X2]原=11101001B二進(jìn)制整數(shù)的擴(kuò)展,符號(hào)移到最高位,擴(kuò)展的位均補(bǔ)0。二進(jìn)制小數(shù)的擴(kuò)展,在原小數(shù)后補(bǔ)0。3、數(shù)制及其運(yùn)算383、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----反碼反碼:正數(shù)的反碼與原碼相同;負(fù)數(shù)的反碼為按位取反:X1=+l05=+1101001B[X1]反=01101001BX2=-l05=-1101001B[X1]反=10010110BEx:反碼數(shù)的擴(kuò)展:整數(shù),符號(hào)位擴(kuò)展,補(bǔ)1;小數(shù),在原小數(shù)后補(bǔ)1。393、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----反碼13原=011017原=0011110原=01010-13反=10010-7反=11000-10反=1010113-77-137-1010-701101001110011101010+11000

+10010

+10101

+11000

100101011001011100100010^5-6-3^2結(jié)果為正時(shí),少1。403、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----反碼采用反碼,可以將減法運(yùn)算變成加法運(yùn)算,符號(hào)位同時(shí)參加運(yùn)算。有時(shí)運(yùn)算結(jié)果最低位會(huì)少“1”。無符號(hào)8位二進(jìn)制數(shù)的范圍為00~0FFH(0~255)可表示256個(gè)數(shù);若為帶符號(hào)數(shù)時(shí),8位二進(jìn)制數(shù)的范圍為FFH~7FH(-127~+127)。零有兩個(gè):+0(00000000),-0(11111111),可表示255個(gè)數(shù)。

-127=?413、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----補(bǔ)碼補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同;負(fù)數(shù)的補(bǔ)碼為與它的絕對(duì)值相等的正數(shù)的補(bǔ)數(shù)。把一個(gè)負(fù)數(shù)按位取反再加1,就可以得到該數(shù)的補(bǔ)數(shù)。Ex:X1=+l05=+1101001B[X1]補(bǔ)=01101001BX2=-l05=-1101001B[X1]補(bǔ)=10010111B負(fù)數(shù)取反加1,得到負(fù)數(shù)的原碼。在用補(bǔ)碼表示時(shí)80H表示-128,8000H表示-32768。423、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----補(bǔ)碼用補(bǔ)碼表示的機(jī)器數(shù),若最高位為0,則其余位即為此數(shù)的絕對(duì)值;若最高位為1(負(fù)數(shù)),其余位不是此數(shù)的絕對(duì)值,把該數(shù)求補(bǔ)(取反加1),才得到它的絕對(duì)值。一個(gè)二進(jìn)制補(bǔ)碼整數(shù)擴(kuò)展時(shí),按符號(hào)位向高位擴(kuò)展一個(gè)二進(jìn)制補(bǔ)碼小數(shù)擴(kuò)展時(shí),在原小數(shù)后補(bǔ)0

Ex:+68用8位(二進(jìn)制數(shù))表示為44H,用16位表示為0044H。-68用8位表示為BCH,用16位表示為FFBCH433、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----補(bǔ)碼的運(yùn)算采用補(bǔ)碼可以把減法轉(zhuǎn)換為加法。

64-10=64+(-10)[64]補(bǔ)=40H=01000000B[10]原=0AH=00001010B[-10]補(bǔ)=F6H=11110110B原碼做減法:補(bǔ)碼做加法

01000000B01000000B

-00001010B

+11110110B00110110B100110110B

(進(jìn)位自然丟失。)結(jié)果相同Ex1:443、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----補(bǔ)碼的運(yùn)算

34-68=34+(-68)[34]=22H=00100010B[68]原=44H=01000100B[-68]補(bǔ)=BCH=10111100B

原碼做減法:補(bǔ)碼做加法

00100010B00100010B

-01000100B

+10111100B

111011110B(借位自然丟失)11011110B原碼減法盡管結(jié)果相同,有錯(cuò)。補(bǔ)碼減法結(jié)果正確,對(duì)其求補(bǔ)得-34(-22H)。采用補(bǔ)碼表示,符號(hào)位可作為數(shù)碼位參加加減運(yùn)算。Ex2:45-13原=11101,-13補(bǔ)=10011-6原=10110,-6補(bǔ)=11010(-13)+(-6)13+61001101101+11010+00110101101010011結(jié)果錯(cuò),數(shù)碼位侵占了符號(hào)位。溢出。3、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----補(bǔ)碼的運(yùn)算463、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制除法擴(kuò)展雙符號(hào)位不影響數(shù)的大小,不影響運(yùn)算結(jié)果左移一位,相當(dāng)于原數(shù)乘2右移一位,相當(dāng)于原數(shù)除2二進(jìn)制數(shù)的特點(diǎn):(X-Y)不夠減,恢復(fù)X,并左移一位,成2X。減Y,結(jié)果(2X-Y)----恢復(fù)余數(shù)除法(X-Y)不夠減,不恢復(fù)X,并左移一位成2(X-Y)=2X-2Y,多減了Y,此時(shí)加上Y,結(jié)果2X-Y。因此,當(dāng)不夠減時(shí),不恢復(fù)X,下一次執(zhí)行加法----不恢復(fù)余數(shù)法47

x=0.1001,y=0.1011,用恢復(fù)余數(shù)法求xy。解:[x]補(bǔ)=0.1001[y]補(bǔ)=0.1011[-y]補(bǔ)=1.010100.1001

+[-y]補(bǔ)

11.010111.1110不夠減

+[y]補(bǔ)

00.101100.1001恢復(fù)原數(shù)

001.0010商0

+[-y]補(bǔ)

11.0101

00.0111夠減

000.1110商1

+[-y]補(bǔ)

11.010100.0011夠減

000.0110商1

+[-y]補(bǔ)

11.0101

3、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制—恢復(fù)余數(shù)Ex:483、數(shù)制及其運(yùn)算00.0110

+[-y]補(bǔ)

11.010111.1011不夠減

+[y]補(bǔ)

00.101100.0110恢復(fù)原數(shù)

000.1100商0

+[-y]補(bǔ)

11.010100.0001夠減

00.0001商1

得:商0.1101,余數(shù)0.0001對(duì)恢復(fù)余數(shù)法來說,由于要恢復(fù)余數(shù),除法進(jìn)行過程的步數(shù)不固定,因此控制比較復(fù)雜。3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制—恢復(fù)余數(shù)493、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制—不恢復(fù)余數(shù)

x=0.1001,y=0.1011,用不恢復(fù)余數(shù)發(fā)求xy。

[x]補(bǔ)=0.1001,[y]補(bǔ)=0.1011,[-y]補(bǔ)=1.0101

被除數(shù)x/余數(shù)r商數(shù)q00.1001

+[-y]補(bǔ)

11.010111.1110不夠減

111.1100商0,未恢復(fù)余數(shù)

+[y]補(bǔ)

00.1011

加除數(shù)

00.0111為正,夠減

000.1110

商1

+[-y]補(bǔ)11.0101

減除數(shù)

00.0011為正,夠減

000.0110商1

+[-y]補(bǔ)11.010111.1011不夠減

111.0110商0

+[y]補(bǔ)00.1011

00.0001為正,夠減商1最后余數(shù)

Ex:503、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制—不恢復(fù)余數(shù)最后一次運(yùn)算,要判斷余數(shù)的符號(hào)。若余數(shù)為負(fù),表示最后一次不夠減,商上0。并且應(yīng)恢復(fù)余數(shù)(在最后余數(shù)上加上除數(shù))。采用不恢復(fù)余數(shù)法進(jìn)行除法運(yùn)算的好處,每次除法的計(jì)算步驟相同,只是根據(jù)余數(shù)(最高位)的狀態(tài),確定下一步是執(zhí)行減法還是加法。因此實(shí)現(xiàn)邏輯簡單。513、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----二進(jìn)制運(yùn)算小結(jié)現(xiàn)代計(jì)算機(jī)中數(shù)據(jù)都采用補(bǔ)碼存儲(chǔ)。加減法采用補(bǔ)碼運(yùn)算,符號(hào)位同時(shí)參加運(yùn)算。乘除法采用原碼運(yùn)算。符號(hào)位不能參加運(yùn)算,單獨(dú)處理。(負(fù)數(shù)應(yīng)恢復(fù)成原碼)。加減法中,根據(jù)最高位和次高位的進(jìn)位來判斷溢出,若其中只有一位有進(jìn)位,則運(yùn)算錯(cuò)誤(發(fā)生溢出)。兩數(shù)相乘不會(huì)發(fā)生溢出。除法中,第一次夠減,發(fā)生溢出。所謂“溢出”是說結(jié)果的位數(shù)超過原數(shù)據(jù)的位數(shù)。523、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----偏移碼偏移碼是補(bǔ)碼的一種變形。偏移碼的最高位也是符號(hào)位,但與補(bǔ)碼不同,偏移碼的符號(hào)位(最高位)為1表示正數(shù),而為0表示負(fù)數(shù),其它位與補(bǔ)碼表示相同。因此要求得一個(gè)數(shù)的偏移碼只需將其二進(jìn)制補(bǔ)碼的符號(hào)位取反即可。補(bǔ)碼偏移碼

(+5)=00000101,(+5)=1000010l(+127)=01111111,(+127)=11111111(0)=00000000,(0)=10000000(-128)=10000000,(-128)=00000000Ex:偏移碼也稱為余碼、增碼或偏移二進(jìn)制碼等。533、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----偏移碼543、數(shù)制及其運(yùn)算與定點(diǎn)數(shù)的小數(shù)點(diǎn)位置固定不同,浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是不固定的,它隨數(shù)的大小而變化。浮點(diǎn)數(shù)可以表示如:其中SP是階次E的符號(hào)位;En是階次E的絕對(duì)值部分,稱為階碼。Sm是浮點(diǎn)數(shù)的符號(hào)位,也是浮點(diǎn)數(shù)的符號(hào)位,稱為尾符或數(shù)符;Mr是尾數(shù)的絕對(duì)值部分,稱為尾碼(或尾數(shù))。其表示的大小為:其中,M為數(shù)N(浮點(diǎn)數(shù))的尾數(shù)部分(Mr),而R稱數(shù)的基數(shù),數(shù)字計(jì)算機(jī)中為2。E稱階次(En)。M和E本身均為二進(jìn)制正整數(shù)(包括0)。3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)表示553、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----IEEE754標(biāo)準(zhǔn)563、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----IEEE754標(biāo)準(zhǔn)IEEE754單精度浮點(diǎn)數(shù)規(guī)定,最高位s為數(shù)的符號(hào)位(Sm)。Eb字節(jié)的后7位,加上f0字節(jié)的最高位共8位,為階碼位。階碼位采用偏移(二進(jìn))制碼表示,即階碼字節(jié)=7FH,代表0階;階碼字節(jié)=01H,代表-126階;階碼字節(jié)=FEH,代表+127階。小數(shù)點(diǎn)的位置在f0字節(jié)的y與x之間。并且規(guī)定,規(guī)格化時(shí),定點(diǎn)尾數(shù)的絕對(duì)值范圍為1~2之間。因此,y位同時(shí)是尾數(shù)的最高位。單精度浮點(diǎn)數(shù)能表示的數(shù)的范圍為:1.17549435*10-38~6.80564693*103857IEEE754雙精度數(shù)浮點(diǎn)數(shù)的階碼占11位,同樣,界碼位的最低位隱含了尾數(shù)的最高位(1)。因此尾數(shù)為53位。當(dāng)階碼是3FFH時(shí),表示次階為0。當(dāng)階碼為01時(shí),表示階為-1022,尾數(shù)要乘以2-1022;階碼是7FEH時(shí),表示階為+1023,尾數(shù)要乘以21023。64位浮點(diǎn)數(shù)能表示的范圍是:

2.2*10-308~1.8*10308同樣字節(jié)數(shù)時(shí),浮點(diǎn)數(shù)所表示的范圍比定點(diǎn)數(shù)大得多。3、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----IEEE754標(biāo)準(zhǔn)583、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----IEEE754標(biāo)準(zhǔn)特殊規(guī)定:數(shù)字0:除了符號(hào)位外,所有其它數(shù)位都為0,而符號(hào)位可以為邏輯1,代表一個(gè)負(fù)0。正無窮和負(fù)無窮:階碼為全1,數(shù)碼位為全0,符號(hào)位表示正或負(fù)。NAN(非數(shù))(無效浮點(diǎn)數(shù)):階碼為全1,而有效數(shù)字不為全0。浮點(diǎn)數(shù)規(guī)格化:規(guī)格化浮點(diǎn)數(shù):同一個(gè)浮點(diǎn)數(shù)的各種表示方法中精度最高的一種。浮點(diǎn)數(shù)的規(guī)格化過程,實(shí)際就是消除前導(dǎo)0的過程。593、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)舉例1234.56=.100000000001*20規(guī)格化浮點(diǎn)數(shù)為:=1.1000000000010000000000*210用IEEE754標(biāo)準(zhǔn)格式來表示:s階碼尾數(shù)01000100100110100101000111101010=449A51EAHEx:=1001101001.1000000000001*21=100110100.10000000000101*22=100000000001.*2-1=1000000000010.0011110101*2-2603、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)轉(zhuǎn)換步驟十進(jìn)制數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù):將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。規(guī)格化二進(jìn)制數(shù)。計(jì)算出階碼。以浮點(diǎn)數(shù)格式存儲(chǔ)該數(shù)。浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制數(shù):分離符號(hào)位、階碼和有效數(shù)字。通過減去偏移量,將階碼轉(zhuǎn)換為真正的指數(shù),將此數(shù)寫為規(guī)格化的二進(jìn)制數(shù)。將規(guī)格化二進(jìn)制數(shù)轉(zhuǎn)換為非規(guī)格化二進(jìn)制數(shù)。將非規(guī)格化二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。613、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)轉(zhuǎn)換實(shí)例十進(jìn)制數(shù)100.25。轉(zhuǎn)換為32位浮點(diǎn)數(shù)Ex:

100.25=1100100.0l1100100.01=1.1001000l×26110+01111111=l0000101符號(hào)位=0階碼=10000101有效數(shù)字11001000l000000000000000尾數(shù)最高位“1”(斜體表示)隱含在階碼最低位后。623、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)轉(zhuǎn)換實(shí)例Ex:有浮點(diǎn)數(shù)如下:1.符號(hào)位=1(負(fù)數(shù))階碼=100000ll有效數(shù)字=1100l00l00000000000000002.1000011-01111111=000001003.1.100l001×24=11001.0014.-25.125633、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)對(duì)階移動(dòng)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置,使兩個(gè)數(shù)的階碼相等的過程稱對(duì)階。浮點(diǎn)數(shù)的對(duì)階過程是將階次低的數(shù),通過尾數(shù)右移和階次增加實(shí)現(xiàn)。尾數(shù)每右移一位,階次增加1,直到兩個(gè)浮點(diǎn)數(shù)的階次相同。對(duì)IEEE754標(biāo)準(zhǔn)來講,y位是階碼的最低位,同時(shí),它又隱含了尾數(shù)的最高位(規(guī)格化時(shí)恒為1),因此在對(duì)階時(shí),尾數(shù)第一次右移時(shí),要補(bǔ)上“1”;隨后的右移,則補(bǔ)上“0”,這一點(diǎn)必須注意。643、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)四則運(yùn)算對(duì)階:將兩數(shù)的小數(shù)點(diǎn)位置對(duì)齊。并且總是用階次低的向階次高的對(duì)齊。舍入處理。尾數(shù)相加/減。結(jié)果再次規(guī)格化。溢出判斷。加/減法運(yùn)算:乘/除法運(yùn)算:尾數(shù)相乘/除,得出積/商及余數(shù)的尾數(shù)階碼相加/減,得出積/商的階碼。對(duì)積/商和余數(shù)規(guī)格化。舍入處理。將它們的尾數(shù)加上符號(hào)位。溢出判斷。653、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----浮點(diǎn)數(shù)溢出問題浮點(diǎn)數(shù)尾數(shù)和階碼兩部分分別運(yùn)算,并均可能發(fā)生溢出。下溢:絕對(duì)值小于所能表示的最小的數(shù),這時(shí)用機(jī)器0表示。上溢:絕對(duì)值大于所能表示的最大的數(shù),分兩種情況,尾數(shù):調(diào)整階碼,階次:采用特殊辦法處理。663、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----計(jì)算機(jī)編碼BCD碼(二—十進(jìn)制碼):非壓縮BCD碼,壓縮BCD碼。ASCII碼:漢字編碼:針對(duì)應(yīng)用者的編碼673、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----BCD碼非壓縮BCD碼:用8位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),(一個(gè)字節(jié)表示一位十進(jìn)制數(shù))

0=00000000,1=00000001,……

8=00001000,9=00001001壓縮BCD碼:用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),(一個(gè)字節(jié)可表示2位十進(jìn)制數(shù))

0=0000,1=0001,……8=1000,9=1001。683、數(shù)制及其運(yùn)算3.3計(jì)算機(jī)中數(shù)的表示方法----BCD碼加法兩BCD數(shù)相加,若相加各位的結(jié)果都在0~9之間,則其加法運(yùn)算規(guī)則與二進(jìn)制數(shù)的加法規(guī)則相同;若結(jié)果大于9,或者,BCD最高位有進(jìn)位,則應(yīng)對(duì)其進(jìn)行加6調(diào)整。

如:48+5928+590100100000101000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論