版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第1 1章章 概概 述述概述概述1.1 計(jì)算機(jī)的數(shù)制及其轉(zhuǎn)換計(jì)算機(jī)的數(shù)制及其轉(zhuǎn)換 1.2 計(jì)算機(jī)中數(shù)與字符的編碼計(jì)算機(jī)中數(shù)與字符的編碼 1.3 微型計(jì)算機(jī)系統(tǒng)組成微型計(jì)算機(jī)系統(tǒng)組成 1.4 微型計(jì)算機(jī)的性能指標(biāo)及分類微型計(jì)算機(jī)的性能指標(biāo)及分類作業(yè)作業(yè) 電子技術(shù)課程體系:電子硬件數(shù)字電子技術(shù)模擬電子技術(shù)高頻電子線路微機(jī)原理單片機(jī)、ARM、DSP等需要軟件控制與計(jì)算機(jī)專業(yè)的不同:電子、通信、自動(dòng)化:以電子硬件為核心、底層軟件為控制計(jì)算機(jī):以上層軟件為中心,不重視硬件如何工作前言前言一個(gè)典型的家居遠(yuǎn)程監(jiān)視系統(tǒng)此系統(tǒng)通過電腦控制的數(shù)碼照相機(jī)自動(dòng)拍攝進(jìn)出房間的人物,然后通過網(wǎng)絡(luò)發(fā)送到監(jiān)控手機(jī)上。電子:
2、電腦、手機(jī)、照相機(jī)軟硬件系統(tǒng)通信:相機(jī)到電腦、到網(wǎng)絡(luò)、到手機(jī)的通信接口軟硬件自動(dòng)化:此系統(tǒng)的實(shí)現(xiàn)過程就是家居自動(dòng)化的一種應(yīng)用可見,信息類各專業(yè)都必須學(xué)習(xí)微機(jī)原理1、掌握計(jì)算機(jī)硬件設(shè)計(jì)能力,2、相應(yīng)的硬件控制軟件的設(shè)計(jì)能力,3、為進(jìn)一步學(xué)習(xí)嵌入式計(jì)算機(jī)系統(tǒng)打下基礎(chǔ)。本課程的知識(shí)分為3大部分:1、INTEL8086 PC機(jī)硬件;2、INTEL的匯編語言;3、計(jì)算機(jī)接口硬件及其軟件控制。計(jì)算機(jī)的發(fā)展計(jì)算機(jī)的發(fā)展 1945年,美國賓夕法尼亞大學(xué)研制的ENIAC (Electronic Numerical Integrator And Computer,電子數(shù)字積分器和計(jì)算機(jī))是世界上第一臺(tái)電子計(jì)算機(jī)。
3、ENIAC計(jì)算機(jī)共用18 000多個(gè)電子管,1500個(gè)繼電器,重達(dá)30噸,占地170平方米,耗電140 kW,每秒鐘能進(jìn)行5000次加法計(jì)算。 同年,馮諾依曼(Von Neumann) 研制了EDVAC計(jì)算機(jī),該計(jì)算機(jī)采用了存儲(chǔ)程序方案,其后開發(fā)的計(jì)算機(jī)都采用這種方式,稱為馮諾依曼計(jì)算機(jī)。 目前的計(jì)算機(jī)基本是基于馮諾依曼計(jì)算機(jī)的模型和原理研制的。 一般把電子計(jì)算機(jī)的發(fā)展分成四個(gè)階段。 第一代:電子管計(jì)算機(jī)時(shí)代(從1946年第一臺(tái)計(jì)算機(jī)研制成功到20世紀(jì)50年代后期)。 第二代:晶體管計(jì)算機(jī)時(shí)代(從20世紀(jì)50年代中期到60年代后期)。計(jì)算機(jī)的主要器件改為晶體管,因而縮小了體積,降低了功耗,提高
4、了速度和可靠性,而且價(jià)格不斷下降。但是這些晶體管都是分立元器件。 第三代:集成電路計(jì)算機(jī)時(shí)代(從20世紀(jì)60年代中期到70年代前期)。功耗、體積、價(jià)格等進(jìn)一步下降,而速度及可靠性相應(yīng)地提高。 第四代:大規(guī)模集成電路計(jì)算機(jī)時(shí)代。20世紀(jì)70年代初,半導(dǎo)體存儲(chǔ)器問世,迅速取代了磁芯存儲(chǔ)器,并不斷向大容量、高速度發(fā)展。 此后,存儲(chǔ)器芯片集成度、性能大體上每18個(gè)月翻一番,這就是著名的摩爾定律。1.1 計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換計(jì)算機(jī)內(nèi)部的信息分為:控制信息和數(shù)據(jù)信息??刂菩畔ⅲ阂幌盗械目刂泼?,即程序指令;數(shù)據(jù)信息:可分為數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)。計(jì)算機(jī)內(nèi)所有信息均使用基2碼(基于2進(jìn)
5、制的編碼)來編碼。為便于閱讀及書寫,常常用八進(jìn)制/十六進(jìn)制計(jì)數(shù)來表示二進(jìn)制計(jì)數(shù)。 1.1.1 數(shù)與數(shù)制數(shù)與數(shù)制進(jìn)位計(jì)數(shù)制是一種計(jì)數(shù)的方法。例如:六十進(jìn)制(1小時(shí)=60分,1分=60秒) 十二進(jìn)制(1英尺=12英寸,1年=12月)1、計(jì)算機(jī)使用的是二進(jìn)制,人類使用的是十進(jìn)制。2、由于二進(jìn)制書寫表示不方便,人們常常用十六進(jìn)制來表示二進(jìn)制數(shù)。 基于以上原因,必須要學(xué)習(xí)二、十、十六進(jìn)制之間的轉(zhuǎn)換方法。u十進(jìn)制數(shù)的特點(diǎn)是“逢十進(jìn)一,借一當(dāng)十”,需要用到的數(shù)字符號(hào)為10個(gè),分別是09。u二進(jìn)制數(shù)的特點(diǎn)是“逢二進(jìn)一,借一當(dāng)二”,需要用到的數(shù)字符號(hào)為2個(gè),分別是0、1。u十六進(jìn)制數(shù)的特點(diǎn)是“逢十六進(jìn)一,借一當(dāng)
6、十六”,需要用到的數(shù)字符號(hào)為16個(gè),分別是09、AF。 任意一個(gè)十進(jìn)制數(shù)可以用位權(quán)位權(quán)表示,位權(quán)就是某個(gè)固定位置上的計(jì)數(shù)單位。在十進(jìn)制數(shù)中,個(gè)位的位權(quán)為100,十位的位權(quán)為101,百位的位權(quán)為102,千位的位權(quán)為103,而在小數(shù)點(diǎn)后第一位上的位權(quán)為10-1,小數(shù)點(diǎn)后第二位的位權(quán)為10-2等等。(234.13)10=2102+3101+4100+1101+3102 任意一個(gè)二進(jìn)制數(shù)和十六進(jìn)制數(shù)也可用位權(quán)表示。例如:l利用位權(quán)即可實(shí)現(xiàn)任意進(jìn)制到十進(jìn)制的轉(zhuǎn)換!思考:4小時(shí)5分鐘6秒=多少秒?l十進(jìn)制到任意進(jìn)制的轉(zhuǎn)換方法此式可分為整數(shù)部分和純小數(shù)部分,即:2101210103101104103102)
7、13.234(2101210310113. 0104103102234410310210/23410410310223401012,余數(shù)(1)整數(shù)部分的處理把整數(shù)部分除以10,取余數(shù):把商再除以10:310210/230,余數(shù)把商再除以10:2010/2,余數(shù)這種方法稱為除10取余法。利用除10取余法可以把一個(gè)整數(shù)在十進(jìn)制的范圍里把各位分離出來。此時(shí)商為0,結(jié)束同理,利用除N取余法可以把一個(gè)整數(shù)在N進(jìn)制的范圍里把各位分離出來,即十進(jìn)制到N進(jìn)制的轉(zhuǎn)換方法?!纠?-1】 將十進(jìn)制數(shù)97轉(zhuǎn)換成二進(jìn)制數(shù)。其過程如下:(97)10 =(A6 A5 A4 A3 A2 A1 A0)2=(1100001)2
8、即A0=1 即A1=0 即A2=0 即A3=0 即A4=0 即A5=1 即A6=1 結(jié)束 2 97 余數(shù)為1, 2 48 余數(shù)為0, 2 24 余數(shù)為0, 2 12 余數(shù)為0, 2 6 余數(shù)為0, 2 3 余數(shù)為1, 2 1 余數(shù)為1, 商為 0 余數(shù)為0, 注意:第一次得到的余數(shù)為二進(jìn)制數(shù)的最低位,最后得到的余數(shù)為二進(jìn)制數(shù)的最高位?!纠?1-7】 將十進(jìn)制數(shù) 97 轉(zhuǎn)換成十六進(jìn)制數(shù)。其過程如下: 即 A0=1 即 A1=6 結(jié)束 最后結(jié)果為 (97)10 = (A2 A1 A0)16 = (61)16 16 97 16 6 商為 0 余數(shù)為 1, 余數(shù)為 6, 余數(shù)為 0, 第一次得到的余數(shù)
9、為十六進(jìn)制數(shù)的最低位,最后得到的余數(shù)為十六進(jìn)制數(shù)的最高位。(2)小數(shù)部分的處理把小數(shù)部分乘以10,取整數(shù):2110310113. 011031011013. 010,整數(shù)把剩下的小數(shù)部分再乘以10,取整數(shù):3103103 . 00,整數(shù)這種方法稱為乘10取整法。利用乘10取整法可以把一個(gè)小數(shù)在十進(jìn)制的范圍里把各位分離出來。剩下的小數(shù)部分為0,結(jié)束同理,利用乘N取整法可以把一個(gè)純小數(shù)在N進(jìn)制的范圍里把各位分離出來,即十進(jìn)制到N進(jìn)制的轉(zhuǎn)換方法?!纠?-2】將十進(jìn)制小數(shù)0.6875轉(zhuǎn)換成二進(jìn)制小數(shù)。其過程如下: 0.6875 2 1.3750整數(shù)部分為1,即A1=1 0.3750余下的小數(shù)部分 2
10、0.7500整數(shù)部分為0,即A2=0 0.7500余下的小數(shù)部分 2 1.5000整數(shù)部分為1,即A3=1 0.5000余下的小數(shù)部分 2 1.0000整數(shù)部分為1,即A4=1 0.0000余下的小數(shù)部分為0,結(jié)束 (0.6875)10=(0.1011)2【例 1-8】 將十進(jìn)制小數(shù) 0.6875 轉(zhuǎn)換成十六進(jìn)制小數(shù)。其過程如下: 0.6 8 75 16 1 1. 000 0 整數(shù)部分為 11,即 A1=B 0. 0000 余下的小數(shù)部分為 0,結(jié)束 最后結(jié)果為 (0.6875)10 = (0.A1)16 = (0.B)16 為了將一個(gè)既有整數(shù)又有小數(shù)部分的十進(jìn)制數(shù)轉(zhuǎn)換成N進(jìn)制數(shù),可以將其整數(shù)
11、部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換,然后再組合起來。例如把97.6875轉(zhuǎn)換成對(duì)應(yīng)二進(jìn)制數(shù)的過程如下: (97)10 = (1100001)2 (0.6875)10 = (0.1011)2 由此可得: (97.6875)10 = (1100001.1011)2 因?yàn)?4=16,所以每四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制。得熟練記牢二進(jìn)制與十六進(jìn)制的對(duì)應(yīng)關(guān)系,如表1-1。l二進(jìn)制與十六進(jìn)制的轉(zhuǎn)換方法表表1-1十、二、十六進(jìn)制數(shù)碼的對(duì)應(yīng)關(guān)系十、二、十六進(jìn)制數(shù)碼的對(duì)應(yīng)關(guān)系 二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)方法:從小數(shù)點(diǎn)所在位置分別向左、向右每四位一組進(jìn)行劃分。若小數(shù)點(diǎn)左側(cè)的位數(shù)不是4的整數(shù)倍,在數(shù)的最左側(cè)補(bǔ)零;若小數(shù)點(diǎn)右側(cè)
12、的位數(shù)不是4的整數(shù)倍,在數(shù)的最右側(cè)補(bǔ)零。然后參照表1-1,將每四位二進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的一位十六進(jìn)制數(shù),排列后即為二進(jìn)制數(shù)對(duì)應(yīng)的十六進(jìn)制數(shù)。0001 1110.11001E.C所以所以(11110.11)2 = (1E.C)16 【例1-12】 直接將二進(jìn)制11110.11轉(zhuǎn)換成十六進(jìn)制數(shù)。其過程如下: 十六進(jìn)制數(shù)轉(zhuǎn)換二進(jìn)制數(shù)方法:參照表1-1,將每一位十六進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的四位二進(jìn)制數(shù),排列后即為十六進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制數(shù)。【例1-13】 直接將十六進(jìn)制數(shù)EF.C轉(zhuǎn)換成二進(jìn)制數(shù)。其過程如下: EF .C11101111.1100所以所以(EF.C)16 = (11101111.11)2 計(jì)算機(jī)內(nèi)
13、部雖然使用二進(jìn)制,但與人進(jìn)行交互的時(shí)候可以使用其他數(shù)制(例如編程時(shí)可以用十進(jìn)制給變量賦值)。 規(guī)定在數(shù)字后面跟一個(gè)英文字母來表示該數(shù)的數(shù)制: 十進(jìn)制數(shù)D(Decimal)二進(jìn)制數(shù)B(Binary) 八進(jìn)制數(shù)O(Octal) 十六進(jìn)制數(shù)H(Hexadecimal) 由于字母O容易和零誤會(huì),所以也可用Q來表示八進(jìn)制數(shù)。另外,在計(jì)算機(jī)操作中一般默認(rèn)使用十進(jìn)制數(shù),所以十進(jìn)制數(shù)可以不標(biāo)進(jìn)制。 無論采用何種數(shù)制輸入數(shù)值,計(jì)算機(jī)均會(huì)自動(dòng)把它們轉(zhuǎn)換為二進(jìn)制再進(jìn)行處理。 例如,25D=11001B=19H=31Q,0.5D=0.1B=0.8H=0.4Q,不分大小寫。十六進(jìn)制數(shù)主要用來簡化二進(jìn)制數(shù)的書寫,使用十六
14、進(jìn)制數(shù)表示的二進(jìn)制數(shù)較短,便于記憶。 目前所有字節(jié)均由8位二進(jìn)制組成,剛好可以用兩個(gè)十六進(jìn)制數(shù)來表示,所以必須十分熟悉二進(jìn)制數(shù)與十六進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系。1.2 計(jì)算機(jī)中數(shù)與字符的編碼計(jì)算機(jī)中數(shù)與字符的編碼1.2.1 數(shù)值數(shù)據(jù)的編碼及其運(yùn)算數(shù)值數(shù)據(jù)的編碼及其運(yùn)算 1. 二進(jìn)制數(shù)的編碼及運(yùn)算二進(jìn)制數(shù)的編碼及運(yùn)算 數(shù)據(jù)的正負(fù)號(hào)可以用一位二進(jìn)制的“0”和“1”兩個(gè)狀態(tài)來表示。常用的編碼有原碼、反碼和補(bǔ)碼。由于補(bǔ)碼編碼有許多優(yōu)點(diǎn),因此大多數(shù)微機(jī)數(shù)字與字符采用補(bǔ)碼進(jìn)行編碼。機(jī)器數(shù)與機(jī)器數(shù)的真值機(jī)器數(shù):二進(jìn)制數(shù)值數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的編碼。真值:機(jī)器數(shù)所代表的實(shí)際值。一般機(jī)器數(shù)的最高有效位用來表示數(shù)的正負(fù)號(hào),“0
15、”表示正數(shù),“1”表示負(fù)數(shù)。例如:一、1、I、one是不同國家對(duì)真值“1”的編碼方法1) 二進(jìn)制數(shù)原碼編碼方法設(shè)真值為X,字長為n位當(dāng)X0時(shí),X原的最高位填0,其余n1位填X的各數(shù)值位的位值。當(dāng)X0時(shí),X原的最高位填1,其余n1位填X的各數(shù)值位的位值。例如,n=8時(shí),+0原=0 0000000,+1原=0 0000001,+127原=0 1111111。0 原=1 0000000,1原=1 0000001,127 原=1 1111111。注意:在原碼的表示中,真值0的原碼可表示為+0和-02) 二進(jìn)制數(shù)反碼編碼方法設(shè)真值為X,字長為n位當(dāng)X0時(shí),二進(jìn)制反碼就是其原碼。 例如,n=8時(shí),+0反=
16、0 0000000,+1反=0 0000001,+127反=0 1111111。 當(dāng)X0時(shí),二進(jìn)制反碼就是機(jī)器數(shù)符號(hào)位保持不變,其余按位取反。 例如,n=8時(shí),0 反=11111111, 1 反=1 1111110,127 反=1 0000000。在反碼的表示中,真值0的反碼也可表示為+0和0。3) 二進(jìn)制數(shù)補(bǔ)碼編碼方法設(shè)真值為X,字長為n位當(dāng)X0時(shí),二進(jìn)制補(bǔ)碼就是其原碼。例如,n=8時(shí),+0補(bǔ)=0 0000000, +1補(bǔ)=0 0000001,+127補(bǔ)=0 1111111。 當(dāng)X0時(shí),二進(jìn)制負(fù)數(shù)的補(bǔ)碼就是機(jī)器數(shù)符號(hào)位保持不變,其余位取反碼后末位加1。例如,n=8時(shí),0 補(bǔ)=0 000000
17、0,1補(bǔ)=1 1111111,127 補(bǔ)=1 0000001。 注意:注意: 在補(bǔ)碼表示法中,0只有一種表示,即000000。 在原碼和反碼里,0和0是不同的,出現(xiàn)0不等于0的情況,這是不允許的。 對(duì)于10000000這個(gè)補(bǔ)碼,其真值被定義為128。 【例【例1-14】 機(jī)器字長n=8位,X=+48D,求X補(bǔ)。 首先將+48D轉(zhuǎn)換為二進(jìn)制數(shù):+110000B。 符號(hào)位+48補(bǔ) = 0 0110000B +48補(bǔ) = 30H00110000 【例1-15】 機(jī)器字長n=8位,X= - 48D,求X補(bǔ)。 首先將48D轉(zhuǎn)換為二進(jìn)制數(shù):110000B。原碼:反碼:補(bǔ)碼:48補(bǔ) = 1 1010000B
18、 48補(bǔ) = 0D0H101100001100111111010000 【例1-16】 機(jī)器字長n=16位,X=+48D,求X補(bǔ) +48D轉(zhuǎn)換為二進(jìn)制數(shù):+110000B。 符號(hào)位+48補(bǔ) = 0 000 0000 0011 0000B +48補(bǔ) = 0030H0000000000110000 【例【例1-17】 機(jī)器字長n=16位,X=48D ,求X補(bǔ)。 48D轉(zhuǎn)換為二進(jìn)制數(shù):110000B。原碼:反碼:補(bǔ)碼:48補(bǔ) = 1 111 1111 1101 0000B 48補(bǔ) = 0FFD0H100000000011000011111111110011111111111111010000 注意:
19、在匯編語言中,為了區(qū)別指令碼和數(shù)據(jù),規(guī)定以AF開始的數(shù)據(jù)前面加零。 由此可看出,補(bǔ)碼數(shù)要擴(kuò)展時(shí),正數(shù)是在符號(hào)的前面補(bǔ)0,負(fù)數(shù)是在符號(hào)的前面補(bǔ)1。也就是說,補(bǔ)碼數(shù)擴(kuò)展實(shí)際上是符號(hào)擴(kuò)展。 已知補(bǔ)碼求真值的方法是:當(dāng)機(jī)器數(shù)的最高位(符號(hào)位)為0時(shí),表示真值是正數(shù),其值等于其余n1位的值;當(dāng)機(jī)器數(shù)的最高位(符號(hào)位)為1時(shí),表示真值是負(fù)數(shù),其值等于其余n1位按位取反后末位加1的值。例如:若X補(bǔ) = 0 1111111B,則X =+1111111B=+127D 若X補(bǔ) = 1 1111111,則X =(0000000B+1B) =1D 若X補(bǔ) = 1 0000000,則X =(1111111B+1B) =
20、128D補(bǔ)碼十進(jìn)制真值0 11111110 11111100 00000100 00000010 00000001 11111111 11111101 00000101 00000011 0000000+127+126+2+1012126127128表1.2相鄰數(shù)的補(bǔ)碼之間相差1,而127與128之間也是相差1,組成一個(gè)循環(huán)。4) 二進(jìn)制數(shù)補(bǔ)碼的運(yùn)算補(bǔ)碼的運(yùn)算規(guī)則是:X+Y補(bǔ) = X補(bǔ) + Y補(bǔ)XY補(bǔ) = X補(bǔ) + Y補(bǔ) 已知Y補(bǔ),求Y補(bǔ)的方法是將Y補(bǔ)各位按位取反(包括符號(hào)位在內(nèi))末位加1。 【例1-18】 設(shè) X1= + 12 X2 =12 Y1 = + 5 Y2 =5則X1補(bǔ) = 0000
21、1100X2補(bǔ) = 11110100Y1補(bǔ) = 00000101Y2補(bǔ) = 11111011 計(jì)算X1 + Y1 + 0001100 X1 0 0001100 X1補(bǔ)+) + 0000101 Y1 +) 0 0000101 Y1補(bǔ) + 0010001 X1+Y1 0 0010001 X1補(bǔ)+Y1補(bǔ) 計(jì)算X1Y1 + 0001100X10 0001100X1補(bǔ)) + 0000101Y1 +) 1 1111011Y1補(bǔ) + 0000111X1Y1 10 0000111X1補(bǔ)+Y1補(bǔ)自然丟失 計(jì)算X2 + Y2 0001100 X2 1 1110100 X2補(bǔ)+) 0000101 Y2+) 1 11
22、11011 Y2補(bǔ) 0010001 X2+Y2 11 1101111 X2補(bǔ)+Y2補(bǔ)自然丟失 計(jì)算X2 - Y2 0001100X21 1110100X2補(bǔ)) 0000101Y2 +) 0 0000101Y2補(bǔ) 0000111X2 - Y2 1 1111001X2補(bǔ)+Y2補(bǔ)計(jì)算機(jī)引入補(bǔ)碼編碼的幾個(gè)優(yōu)點(diǎn): (1) 減法轉(zhuǎn)化成加法,簡化運(yùn)算器硬件電路的設(shè)計(jì)。 (2) 運(yùn)算時(shí),符號(hào)位與數(shù)值位同等對(duì)待,都按二進(jìn)制數(shù)參加運(yùn)算,符號(hào)位產(chǎn)生的進(jìn)位丟掉不管,其結(jié)果是正確的。這大大簡化了運(yùn)算規(guī)則。補(bǔ)碼運(yùn)算公式成立的前提條件: 運(yùn)算結(jié)果不能超出機(jī)器數(shù)所能表示的范圍,否則運(yùn)算結(jié)果不正確,按“溢出”處理。 例如,設(shè)機(jī)
23、器字長為8位,則128N+127 + 640 1000000+) + 65+)0 1000001 +1291 0000001 127錯(cuò)誤原因:(+64)+(+65)= +129+127,超出8位字長所能表示的最大值,產(chǎn)生了“溢出” 。 再如,計(jì)算(125)+(10) 1251 0000011+) 10+)1 1110110 135 10 1111001 +121錯(cuò)誤原因:(125)+(10)= 135128,超出8位字長所能表示的最小值,產(chǎn)生了“溢出” 。正數(shù)正數(shù)負(fù)數(shù)負(fù)數(shù)正數(shù)負(fù)數(shù)要檢查符號(hào)位有沒有改變無需檢查“溢出”檢查方法:CPU在運(yùn)算結(jié)束后會(huì)檢查并記錄下是否“溢出”思考:以上兩個(gè)溢出例子,
24、錯(cuò)誤結(jié)果與正確答案之間存在什么關(guān)系,為什么?參考表1.22. 無符號(hào)整數(shù)的編碼及運(yùn)算規(guī)則無符號(hào)整數(shù)的編碼及運(yùn)算規(guī)則 假設(shè)機(jī)器字長為n位,則有符號(hào)整數(shù)的編碼可表示為符號(hào)位 數(shù)值位1位 n1位無符號(hào)整數(shù)的編碼可表示為 數(shù)值位n位 無符號(hào)整數(shù)的表示范圍是:0N2n1。 1 0 0 0 1 0 1 0 +) 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 1可以把它看作是兩個(gè)無符號(hào)整數(shù)相加:也可以把它看作是兩個(gè)有符號(hào)整數(shù)相加: 1 3 8+) 7 0 1 4 5 1 1 8+) 7 1 1 1計(jì)算機(jī)只會(huì)二進(jìn)制運(yùn)算,有、無符號(hào)只是人為的一種規(guī)定,對(duì)于計(jì)算機(jī)而言是不會(huì)區(qū)分的,總是按照補(bǔ)碼的運(yùn)算
25、規(guī)則做運(yùn)算。例如: 3. 十進(jìn)制數(shù)的編碼及運(yùn)算十進(jìn)制數(shù)的編碼及運(yùn)算 人們?cè)谌粘I钪辛?xí)慣使用十進(jìn)制數(shù),而計(jì)算機(jī)則采用二進(jìn)制表示和處理數(shù)據(jù)。因此,計(jì)算機(jī)在輸入和輸出數(shù)據(jù)時(shí),要進(jìn)行十二和二十的進(jìn)制數(shù)轉(zhuǎn)換。 但在某些時(shí)候,可以在計(jì)算機(jī)內(nèi)部直接用十進(jìn)制表示和處理數(shù)據(jù)。這種編碼實(shí)質(zhì)上是二進(jìn)制編碼的十進(jìn)制數(shù)(Binary Coded Decimal),因此,簡稱BCD碼或二十進(jìn)制碼。十進(jìn)制數(shù)碼01234567898421碼0000000100100011010001010110011110001001 十進(jìn)制數(shù)的編碼最常見的是8421碼。 【例1-19】 將十進(jìn)制數(shù)67.9轉(zhuǎn)換成BCD碼。其過程如下: 6
26、7.9 01100111.1001所以(67.9)10=(01100111.0111)BCD 【例1-20】 將BCD碼10010110.0110轉(zhuǎn)換成十進(jìn)制數(shù),其過程如下:1001 0110.011096.6所以(10010110.0110)BCD=(96.6)10BCD碼相加的運(yùn)算規(guī)則:和等于或小于1001(即9H) 不需要修正和在10101111(即AF)之間相加時(shí)本位產(chǎn)生了進(jìn)位(即大于F)原因:計(jì)算機(jī)仍然按二進(jìn)制進(jìn)行運(yùn)算,4位二進(jìn)制數(shù)相加,按“逢十六進(jìn)一”的原則進(jìn)行運(yùn)算。但2個(gè)十進(jìn)制數(shù)相加,應(yīng)該按“逢十進(jìn)一”的原則相加,16與10相差6,所以當(dāng)和超過9時(shí),都需要加6修正。即相加之和大于
27、9時(shí)需加6H進(jìn)行修正【例1-21】 計(jì)算BCD碼1 + 8的值 0 0 0 1+) 1 0 0 0 1 0 0 1結(jié)果是1001,即十進(jìn)制數(shù)9,1 + 8 = 9正確?!纠?-22】 需要修正BCD碼運(yùn)算值的舉例。 計(jì)算5 + 7的值。 0 1 0 1+) 0 1 1 1 1 1 0 0 結(jié)果大于9 +) 0 1 1 0 加6修正 1 0 0 1 0結(jié)果是0010,即十進(jìn)制數(shù)2,還產(chǎn)生了進(jìn)位 5+) 7 1 2代表10代表16 計(jì)算9 + 9的值。 1 0 0 1+) 1 0 0 1 1 0 0 1 0+) 0 1 1 0 1 1 0 0 0 結(jié)果是1000,即十進(jìn)制的8,還產(chǎn)生進(jìn)位 9+)
28、9 1 8代表10代表16兩個(gè)BCD碼相減,其修正規(guī)則為:(1)如果差等于或小于1001(即無借位時(shí)),不需修正(2)如果相減時(shí)本位產(chǎn)生了借位,則應(yīng)減6H修正 原因是:如果有借位,機(jī)器將這個(gè)借位當(dāng)十六看待,而實(shí)際上應(yīng)該當(dāng)十看待,因此,應(yīng)該將多借的6減去才是BCD碼的正確結(jié)果值?!纠纠?-23】 需要修正BCD碼運(yùn)算值的舉例。 計(jì)算9-7的值。 1 0 0 1) 0 1 1 1 0 0 1 0結(jié)果值是0010,即十進(jìn)制數(shù)2。97 = 2,結(jié)論正確。 計(jì)算7-9的值。 發(fā)生借位 1 0 1 1 1) 1 0 0 1 1 1 1 0) 0 1 1 0 減6修正 1 0 0 0 結(jié)果值是1000,即
29、十進(jìn)制數(shù)8,有借位。79 = 8注:BCD碼是沒有負(fù)數(shù)的,因此這里的答案不是2實(shí)際上是1798 在計(jì)算機(jī)中BCD碼有兩種格式:壓縮BCD碼和非壓縮BCD碼: (1) 非壓縮BCD碼:1字節(jié)僅表示一位BCD數(shù),例如:(00000110)BCD=6 高4位為0 (2) 壓縮BCD碼:1字節(jié)中表示兩位BCD數(shù),例如:(01100110)BCD=66 0000BCDBCDBCD1.2.2 非數(shù)值數(shù)據(jù)的二進(jìn)制編碼非數(shù)值數(shù)據(jù)的二進(jìn)制編碼 1. 字符編碼字符編碼 使用最多、最普遍的是ASCII字符編碼。ASCII碼使用1個(gè)字節(jié),字節(jié)最高位為0。要記住的ASCII碼:030HA41H a61H(即小寫比大寫大
30、32)LF(換行)0AH CR(回車)0DH 2. 漢字的編碼漢字的編碼 一般漢字編碼采用兩個(gè)字節(jié)即16位二進(jìn)制數(shù)。輸入時(shí)有輸入編碼,存儲(chǔ)時(shí)有漢字機(jī)內(nèi)碼,輸出時(shí)有漢字字形編碼。1) 漢字輸入編碼(即輸入法)2) 漢字機(jī)內(nèi)碼 是機(jī)器存儲(chǔ)和處理漢字時(shí)采用的統(tǒng)一編碼。每個(gè)漢字的機(jī)內(nèi)碼是惟一的,用兩個(gè)字節(jié)表示。以前國內(nèi)使用GB碼,現(xiàn)在全世界統(tǒng)一用UNICODE碼。 3) 漢字字形碼(例如字體、大小、加粗等)1.3 微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)系統(tǒng)1.3.1 微型計(jì)算機(jī)硬件系統(tǒng)組成微型計(jì)算機(jī)硬件系統(tǒng)組成微型計(jì)算機(jī)組成:微處理器或稱中央處理單元(CPU)、內(nèi)部存儲(chǔ)器(簡稱內(nèi)存)、輸入/輸出接口(簡稱I/O接口
31、)及系統(tǒng)總線。當(dāng)微型計(jì)算機(jī)配備上相應(yīng)的輸入/輸出設(shè)備和軟件,就構(gòu)成了一套完整的微型計(jì)算機(jī)系統(tǒng)。數(shù)字計(jì)算機(jī)大、中型計(jì)算機(jī)微型計(jì)算機(jī)PC嵌入式計(jì)算機(jī)(單片機(jī)、單板機(jī))圖1.1 微型計(jì)算機(jī)的硬件結(jié)構(gòu)CPU外存硬盤光盤I/O 接口 顯卡 聲卡 網(wǎng)卡外部設(shè)備外部設(shè)備I/O 接口 串口 并口系統(tǒng)總線把各部分連接起來主板內(nèi)存I / O接口1. 中央處理單元中央處理單元CPU中央處理單元CPU(Central Processing Unit)是微型計(jì)算機(jī)的心臟,它包含了早期計(jì)算機(jī)中的運(yùn)算器、控制器和其他功能部件,它是用來解釋執(zhí)行指令并進(jìn)行運(yùn)算的部件。計(jì)算機(jī)高級(jí)語言程序被一級(jí)一級(jí)地最終翻譯成機(jī)器認(rèn)識(shí)的由“0”和
32、“1”組成的二進(jìn)制機(jī)器碼,并由CPU進(jìn)行處理。目前生產(chǎn)微機(jī)CPU的最大的代表廠商是美國的Intel公司和AMD公司。早期的8086、80286、80386到近期的Pentium、Pentium-、Pentium-、Pentium-4、雙核等就是Intel公司的主導(dǎo)產(chǎn)品。CPU的指標(biāo):最主要的是看它的主頻,主頻越高,其運(yùn)算速度越快;字長代表了CPU對(duì)數(shù)據(jù)處理的能力和精度;其次還要看CPU的緩存有多大,緩存的大小也對(duì)CPU的運(yùn)算速度有很大的影響;當(dāng)然工作溫度也很重要,溫度涉及到CPU的工作壽命。 2. 內(nèi)存內(nèi)存存儲(chǔ)器的主要任務(wù)是臨時(shí)或永久性保存計(jì)算機(jī)的軟件資源。存儲(chǔ)器分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器,內(nèi)存儲(chǔ)
33、器指內(nèi)存,用于臨時(shí)性保存軟件資源,而外存儲(chǔ)器則包括了硬盤、軟盤、光驅(qū)、磁帶機(jī)等許多設(shè)備,用來永久性保存軟件資源。3. 系統(tǒng)總線系統(tǒng)總線總線是指能為多個(gè)功能部件服務(wù)的一組公用通信線路。借助總線連接,計(jì)算機(jī)在各系統(tǒng)部件之間實(shí)現(xiàn)傳送地址、數(shù)據(jù)和控制信息的操作。微型計(jì)算機(jī)系統(tǒng)中的總線,大致分為三類:(1) 內(nèi)部總線:CPU內(nèi)部連接各部件的總線。(2) 系統(tǒng)總線:CPU同計(jì)算機(jī)系統(tǒng)的其他高速功能部件,如存儲(chǔ)器、通道等互相連接的總線。(3) I/O總線:中、低速I/O設(shè)備之間互相連接的總線。系統(tǒng)總線一般由三部分組成:(1) 數(shù)據(jù)總線(Data Bus):三態(tài)若干位(如8、16等)數(shù)據(jù)線寬的雙向數(shù)據(jù)總線。用
34、以實(shí)現(xiàn)微處理器、存儲(chǔ)器及I/O接口間的數(shù)據(jù)交換。(2) 地址總線(Address Bus):用于微處理器輸出地址,以確定存儲(chǔ)器單元地址及I/O接口部件地址。三態(tài)單向傳送。(3) 控制總線(Control Bus):控制總線用來傳送控制信號(hào),保證地址和數(shù)據(jù)信息正確傳送。4. 接口接口接口泛指任何兩個(gè)系統(tǒng)之間的交接部分,或兩個(gè)系統(tǒng)間的連接部分。在計(jì)算機(jī)系統(tǒng)里,接口指中央處理機(jī)與外部設(shè)備之間的連接通道及有關(guān)的控制電路。注意插口與接口的區(qū)別插口:為方便物理連接而設(shè)計(jì),就像電源插座一樣接口: 是外部設(shè)備與計(jì)算機(jī)總線連接的橋梁,起數(shù)據(jù)轉(zhuǎn)換、緩沖、數(shù)據(jù)預(yù)處理的作用。接口可以通過插口與主板的總線連接,而有的接
35、口(例如串口)則固化于總線上。1.4 微型計(jì)算機(jī)的性能指標(biāo)及分類微型計(jì)算機(jī)的性能指標(biāo)及分類1.4.1 微型計(jì)算機(jī)的性能指標(biāo)微型計(jì)算機(jī)的性能指標(biāo) 1位位(bit)、字節(jié)、字節(jié)(Byte)和字長和字長(Word)位(bit)是計(jì)算機(jī)內(nèi)部數(shù)據(jù)儲(chǔ)存的最小單位,表示數(shù)據(jù)“1”或“0”,音譯為“比特” 。字節(jié)(Byte)是計(jì)算機(jī)中數(shù)據(jù)處理的基本單位,習(xí)慣上用大寫字母“B”表示。計(jì)算機(jī)中以字節(jié)為單位存儲(chǔ)和解釋信息,規(guī)定1個(gè)字節(jié)由8個(gè)二進(jìn)制位構(gòu)成。字長 指微處理器內(nèi)部一次可以并行處理二進(jìn)制代碼的位數(shù)。它與微處理器內(nèi)部寄存器以及CPU內(nèi)部數(shù)據(jù)總線寬度是一致的,字長越長,所表示的數(shù)據(jù)精度就越高。XX位CPU指的就是CPU的字長。目前的CPU其字長與數(shù)據(jù)總線是一致的,但80586以前的CPU則出現(xiàn)過不一致的情況。 2存儲(chǔ)容量存儲(chǔ)容量 通常把8位(bit)二進(jìn)制代碼稱為一個(gè)字節(jié)(Byte),16位二進(jìn)制代碼稱為一個(gè)字(Word),把32位二進(jìn)制代碼稱為一個(gè)雙字(DWord)。 存儲(chǔ)器容量以字節(jié)為最基本的計(jì)量單位。1 KB(Kilo-Byte)=1024B 1 MB(Mega-
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目預(yù)算管理在實(shí)驗(yàn)室建設(shè)中的重要性
- 小學(xué)生春季衛(wèi)生與健康知識(shí)-課件
- DB6103T 22-2025黨政機(jī)關(guān)公務(wù)用車處置規(guī)范
- DB3715T 75-2025臭椿種質(zhì)資源異地保存庫建設(shè)技術(shù)規(guī)范
- 專項(xiàng)法律服務(wù)企業(yè)與律師事務(wù)所合同模板
- 交通接送服務(wù)合同:會(huì)議出行安排
- 不履行房屋買賣合同起訴書范本
- 上海股權(quán)轉(zhuǎn)讓合同范本
- 個(gè)體工商戶借款合同模板
- 中外勞務(wù)輸出合同盤點(diǎn)
- 工業(yè)機(jī)器人編程語言:Epson RC+ 基本指令集教程
- 2023.05.06-廣東省建筑施工安全生產(chǎn)隱患識(shí)別圖集(高處作業(yè)吊籃工程部分)
- 2023年漢中市人民政府國有資產(chǎn)監(jiān)督管理委員會(huì)公務(wù)員考試《行政職業(yè)能力測(cè)驗(yàn)》歷年真題及詳解
- JTG 3362-2018公路鋼筋混凝土及預(yù)應(yīng)力混凝土橋涵設(shè)計(jì)規(guī)范
- 八年級(jí)下冊(cè)歷史思維導(dǎo)圖
- 電動(dòng)汽車用驅(qū)動(dòng)電機(jī)系統(tǒng)-編制說明
- 江蘇卷2024年高三3月份模擬考試化學(xué)試題含解析
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺(tái)及通道安全技術(shù)要求
- 醫(yī)療器械物價(jià)收費(fèi)申請(qǐng)流程
- 招聘專員轉(zhuǎn)正述職報(bào)告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學(xué)理論
評(píng)論
0/150
提交評(píng)論