XXXX秋11級(jí)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)課程多媒體課件第1-2次_第1頁
XXXX秋11級(jí)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)課程多媒體課件第1-2次_第2頁
XXXX秋11級(jí)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)課程多媒體課件第1-2次_第3頁
XXXX秋11級(jí)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)課程多媒體課件第1-2次_第4頁
XXXX秋11級(jí)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)課程多媒體課件第1-2次_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章 微型計(jì)算機(jī)基礎(chǔ) .1 微型計(jì)算機(jī)系統(tǒng)的概念 1、 微處理器、微型計(jì)算機(jī)、 微型計(jì)算機(jī)系統(tǒng) 2、本課主要講授內(nèi)容及要求計(jì)算機(jī)中的數(shù)、編碼及運(yùn)算 1. 微型計(jì)算機(jī)的運(yùn)算基礎(chǔ) 第一章11. “三微”的概念1、微處理器 (MPU) 算術(shù)邏輯單元 其核心cpu運(yùn)算器和控制器 寄存器組 是微型計(jì)算機(jī)的核心部件 控制部件2、微型計(jì)算機(jī) MPU 為核心 半導(dǎo)體存儲(chǔ)器(ROM/RAM) I/O(Input/Output)接口和中斷系統(tǒng) 系統(tǒng)總線(CB DB AB)集成在一個(gè)半導(dǎo)體芯片上組裝在一塊或數(shù)塊印刷電路板上多板微型計(jì)算機(jī)單板微型計(jì)算機(jī)單片微型計(jì)算機(jī)2微型計(jì)算機(jī)的兩大分支核心器件微處理器微控制器Mi

2、croProcessor Unit embedMicroController UnitMPUMCU3微機(jī)組成結(jié)構(gòu)的兩大類型馮.諾依曼型哈佛型CPUI/O接口存儲(chǔ)器系統(tǒng)總線數(shù)據(jù)存儲(chǔ)器CPUI/O接口程序存儲(chǔ)器系統(tǒng)總線DBCBAB例:PC機(jī)例:MCS-51單片機(jī)43、微型計(jì)算機(jī)系統(tǒng)硬件系統(tǒng)軟件系統(tǒng)5硬件系統(tǒng)微型計(jì)算機(jī)微處理器:運(yùn)算器、控制器內(nèi)存儲(chǔ)器ROM:ROM、PROM、EPROM、E2PROM、Flash ROM RAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中斷接口、DMA接口系統(tǒng)總線:數(shù)據(jù)、地址、控制總線(DB、AB、CB)外圍設(shè)備輸入/輸出設(shè)備A/D 、D/A轉(zhuǎn)

3、換器開關(guān)量輸入/輸出終端微型計(jì)算機(jī)微處理器:運(yùn)算器、控制器內(nèi)存儲(chǔ)器ROM:ROM、PROM、EPROM、E2PROM、Flash ROM RAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中斷接口、DMA接口系統(tǒng)總線:數(shù)據(jù)、地址、控制總線(DB、AB、CB)外圍設(shè)備輸入/輸出設(shè)備A/D 、D/A轉(zhuǎn)換器開關(guān)量輸入/輸出終端6軟件系統(tǒng)系統(tǒng)軟件操作系統(tǒng)編譯系統(tǒng)監(jiān)控程序匯編程序程序設(shè)計(jì)語言機(jī)器語言匯編語言高級(jí)語言應(yīng)用軟件 把匯編語言源程序翻譯成機(jī)器語言目標(biāo)程序的語言處理程序 自匯編程序 交叉匯編程序7本課的主要內(nèi)容及要求微型計(jì)算機(jī) MPU 微處理器 存儲(chǔ)器(內(nèi)存)I/O接口系統(tǒng)總

4、線連線編程綜合應(yīng)用器件的外特性掌握規(guī)律8具體機(jī)型:MCS-51單片微型計(jì)算機(jī)Single-Chip MicrocomputerMicro-Controller MCS-51 單片機(jī)的基本組成一、中央處理器CPU二、時(shí)鐘電路三、內(nèi)部存儲(chǔ)器四、定時(shí)器/計(jì)數(shù)器(T/C)五、并行I/O口六、串行口七、中斷控制系統(tǒng)9 14 微型計(jì)算機(jī)運(yùn)算基礎(chǔ)(p12) 1.4.1 計(jì)算機(jī)中數(shù)的表示方法 1.4.2 計(jì)算機(jī)中的編碼 1.4.3 計(jì)算機(jī)中的運(yùn)算重點(diǎn)解決:計(jì)算機(jī)的重要職能之一處理數(shù) 在計(jì)算機(jī)中如何表示一個(gè)數(shù)? 不同性質(zhì)數(shù)的運(yùn)算規(guī)則和算法。10 幾個(gè)重要概念復(fù)習(xí)不同進(jìn)制數(shù)之間的互換3. 機(jī)器數(shù)與真值4帶符號(hào)數(shù)的

5、原碼、反碼、補(bǔ)碼5數(shù)的定點(diǎn)與浮點(diǎn)表示 1.4.1 計(jì)算機(jī)中數(shù)的表示方法111 幾個(gè)重要概念 重點(diǎn)概念1: 計(jì)算機(jī)中的數(shù)據(jù)都是以二進(jìn)制形式進(jìn)行存儲(chǔ)和運(yùn)算的 重點(diǎn)概念2: 在計(jì)算機(jī)中存儲(chǔ)數(shù)據(jù)時(shí),每類數(shù)據(jù)占據(jù)固定長度的二進(jìn)制數(shù)位,而不管其實(shí)際長度。一般長度為字節(jié)的整倍數(shù) 重點(diǎn)概念3: 計(jì)算機(jī)中不僅要處理無符號(hào)數(shù),還要處理帶符號(hào)和帶小數(shù)點(diǎn)的數(shù)。 例如:在八位微機(jī)中, 整數(shù)216 存儲(chǔ)為11011000B 整數(shù)56 存儲(chǔ)為00111000B 重點(diǎn)概念4: 機(jī)器數(shù)與真值 122 不同進(jìn)制數(shù)之間的互換 1、不同進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)按權(quán)展開法 表示不同進(jìn)制數(shù)的尾部字母: 二 B , 十六 H ,八 Q ,十

6、D(可略) 例:10101010B=127+026+125+024+123+022+121+020=128+32+8+2=1702、十 二 (1)整數(shù)部分除以2取余法直到商為0止 (2)小數(shù)部分乘以2取整法直到積為0止 或達(dá)到精度要求止 例: 100= B= H = Q 例:0.625= B= H= Q 0.1= B = H= Q 13 3、二進(jìn)制數(shù)、八進(jìn)制與十六進(jìn)制數(shù)之間的互換 1)二 八 三合一 2)八 二 一分三 3)二 十六 四合一 (重點(diǎn)) 4)十六 二 一分四 (重點(diǎn)) 例:0111 0110 B=76H 9BH=1001 1011B 7 6 1001 1011 例:0.1010

7、110 B= 0.ACH A C 不足四位補(bǔ)0 問:01110110B= ? Q 0.1010110B= ? Q144、 用權(quán)表示數(shù)(2n 2n-1 2n-1 2n-1-1) 1) 權(quán) n位二進(jìn)制數(shù)各位的權(quán)從高位到低位依次為:n位二進(jìn)制數(shù):Bn-1Bn-2Bn-3 B1B0權(quán): 2n-12n-22n-3 2120 2)用權(quán)表示數(shù)例:111111111B = 2n-1,即n個(gè)1。 011111111B = 2n-1-1 ,即n-1個(gè)1 最高位的權(quán)為:2n-1例:n=8,11111111B=FFH=28-1 01111111B=7FH=28-1-1例: n位二進(jìn)制數(shù)表示無符號(hào)數(shù)的范圍: 02n-1

8、 n=8 0 28-1 0 255 n=16 0 216-1 065535n=32?N=64?153. 機(jī)器數(shù)與真值1)機(jī)器數(shù):能被計(jì)算機(jī)識(shí)別的數(shù)稱為機(jī)器數(shù)。2)真值: 機(jī)器數(shù)所代表的真實(shí)值稱為機(jī)器數(shù)的真值。3) 對(duì)于無符號(hào)數(shù)其機(jī)器數(shù)與真值表示方法相同。 例:真值: 100=64H=01100100B 對(duì)應(yīng)的機(jī)器數(shù):64H=01100100B n位二進(jìn)制數(shù)可表示的數(shù)的范圍是:0 2n-1 8位二進(jìn)制數(shù)可表示的數(shù)的范圍是: 0 28-1,0,F(xiàn)FH,0,255 16位二進(jìn)制數(shù)可表示的數(shù)的范圍是: 0 216-1,0,FFFFH,0,65535 例: 01100100B 其8位全部為數(shù)值位。 特點(diǎn)

9、:無符號(hào)數(shù)的機(jī)器數(shù)與其真值為等值關(guān)系164) 帶符號(hào)數(shù)的機(jī)器數(shù)的表示方法(重點(diǎn)和難點(diǎn)) 常見的有原碼、反碼和補(bǔ)碼三種表示方式。 特點(diǎn):帶符號(hào)數(shù)的機(jī)器數(shù)與其真值表示方法不同, 兩者的關(guān)系不是等值關(guān)系,僅是一一對(duì)應(yīng)關(guān)系。例如:在八位微機(jī)中,真值:65可表示成機(jī)器數(shù)(原碼)為01000001B真值:65可表示成機(jī)器數(shù)(原碼)為11000001B01100000符號(hào)位數(shù)值位符號(hào)位:“0” 表示正號(hào)“1” 表示負(fù)號(hào)174 帶符號(hào)數(shù)的原碼、反碼、補(bǔ)碼(1)原碼定義:在表示帶符號(hào)數(shù)時(shí),正數(shù)的符號(hào)位為“0”,負(fù)數(shù)的符號(hào)位為“1”,數(shù)值位表示數(shù)的絕對(duì)值,這樣就得到了數(shù)的原碼。例如在八位微機(jī)中:38原100110

10、原00100110B38原100110原10100110B18 計(jì)算公式:對(duì)于字長為n位的機(jī)器數(shù): 當(dāng)真值X0時(shí),X可表示為Xn-2Xn-3X0; 當(dāng)真值X0時(shí),X可表示為Xn-2Xn-3X0, 則X的原碼可定義為: X原0Xn-2Xn-3X0X 0X2n111Xn-2Xn-3X02n1X2n1|X| (2n11)X0 可見n位原碼可表示數(shù)的范圍為: (2n11)(2n11) 則在八位微機(jī)中,碼可表示數(shù)的范圍為127至127求真值:帶符號(hào)數(shù)的原碼表示法簡單易懂,而且與真值轉(zhuǎn)換方便。 19原碼的缺點(diǎn): l“0”的原碼有兩種形式,這在運(yùn)算中非常不方便。 0原 00000000B 0原 100000

11、00B,即分為0和0l原碼在進(jìn)行兩個(gè)異符號(hào)數(shù)相加或兩個(gè)同符號(hào)數(shù)相減時(shí),需做減法運(yùn)算,由于微機(jī)中一般只有加法器而無減法器,所以,為了把減法運(yùn)算轉(zhuǎn)變?yōu)榧臃ㄟ\(yùn)算就引入了反碼和補(bǔ)碼。原碼的用途:l原碼做乘除法運(yùn)算方便,兩數(shù)的符號(hào)和數(shù)值分別處理 積的符號(hào)為兩數(shù)符號(hào)位的異或運(yùn)算結(jié)果 積的數(shù)值部分為兩數(shù)絕對(duì)值相乘的結(jié)果20(2)反碼定義:正數(shù)的反碼表示與原碼相同;負(fù)數(shù)的反碼,可將負(fù)數(shù)原碼的符號(hào)位保持不變、數(shù)值位按位取反得到,或者將負(fù)數(shù)看作正數(shù)求原碼,再將所有位按位取反得到。因此,在n位機(jī)器數(shù)的計(jì)算機(jī)中,數(shù)X的反碼定義為:X反0Xn-2Xn-3X0X 0X2n111Xn-2Xn-3X0111B|X|2n1|X

12、| (2n11)X0缺點(diǎn):“0”的反碼也有兩種表示法,即0和0。 0反00000000B 0反11111111B n位反碼表示數(shù)的范圍與原碼相同, 八位二進(jìn)制反碼表示的范圍仍是127至127。21例如八位微機(jī)中:11原00001011B11反00001011B11原10001011B11反11110100B38原10100110B38反11011001B127原01111111B127反01111111B127原11111111B127反10000000B0原00000000B0反00000000B0原10000000B0反11111111B求真值:由反碼求得原碼,再由原碼求得真值,即可得到反

13、碼的真值。例如:反碼11011001B,符號(hào)位為1,將數(shù)值位按位取反,得到原碼10100110B,其真值為0100110B即十進(jìn)制數(shù)38。22(3)補(bǔ)碼(難點(diǎn))定義:正數(shù)的補(bǔ)碼表示與原碼相同 負(fù)數(shù)的補(bǔ)碼等于它的反碼末位加1 即X補(bǔ)X反1 例如:11原00001011B11反00001011B11補(bǔ)00001011B11原10001011B11反11110100B11補(bǔ)11110101B127原01111111B127反01111111B127補(bǔ)01111111B127原11111111B127反10000000B127補(bǔ)10000001B0原00000000B0反10000000B0補(bǔ)0000

14、0000B0原10000000B0反11111111B128補(bǔ)10000000B23補(bǔ)碼的含義: 以時(shí)鐘對(duì)時(shí)為例來說明,現(xiàn)由7點(diǎn)鐘調(diào)到4點(diǎn)鐘。順時(shí)針調(diào): 79 4 (mod 12)逆時(shí)針調(diào): 73 4 (mod 12) 由于時(shí)鐘上超過12點(diǎn)時(shí)就會(huì)自動(dòng)丟失一個(gè)數(shù)12, 這個(gè)自動(dòng)丟失的數(shù)叫做“模”(module,簡寫為mod)24由補(bǔ)碼的定義得求補(bǔ)碼公式:l則n位補(bǔ)碼表示數(shù)的范圍為:2n1(2n11)l八位二進(jìn)制補(bǔ)碼表示的數(shù)值范圍是128至127。優(yōu)點(diǎn):0的補(bǔ)碼為00000000B,只有這一種形式。X補(bǔ)0Xn-2Xn-3X0X0X2n111Xn-2Xn-3X012n|X|2nX 2n1X0(mod

15、 2n) 25已知補(bǔ)碼求真值: 已知正數(shù)的補(bǔ)碼求真值與原碼相同,只要將符號(hào)位的0變?yōu)椋ㄕ?hào)),即得到它的真值。 已知負(fù)數(shù)的補(bǔ)碼求真值方法1:將負(fù)數(shù)補(bǔ)碼的數(shù)值位按位取反再加1,將符號(hào)位的1變?yōu)椋ㄘ?fù)號(hào)),即得到它的真值。方法2:用公式:X=-(2n-X補(bǔ)) 已知 補(bǔ)碼為 01111111B,其真值為+1111111B=+7FH 已知 補(bǔ)碼為 11111111B,其真值為: 10000000B+1= 10000001B,其真值為01H或:X= ( 28 11111111B)= (00H-FFH)= 126小結(jié):已知帶符號(hào)數(shù)的機(jī)器數(shù)求真值1. 已知正數(shù)的原碼、反碼、補(bǔ)碼求真值, 只需將符號(hào)位的“0”改

16、為正號(hào)“+”即可。2. 已知負(fù)數(shù)的原碼,其真值只需將原碼的符號(hào)位的“1”改為負(fù)號(hào)“-”即可。3. 已知負(fù)數(shù)的反碼,先將它變?yōu)樵a,再求真值。 或用公式計(jì)算: 真值x=-(2n-1-x反) 4. 已知負(fù)數(shù)的補(bǔ)碼,數(shù)值位取反加1,符號(hào)為改為-號(hào),或 用公式:X=-(2n-X補(bǔ))27例:已知帶符號(hào)數(shù)的機(jī)器數(shù)為 56H,求其真值。 真值=+56H例:已知帶符號(hào)數(shù)的機(jī)器數(shù)為 0D6H,求其真值。 若0D6H是原碼,則真值為:-56H 11010110B -1010110B 若0D6H是反碼,則真值為:-29H -(0FFH-0D6H) 若0D6H是補(bǔ)碼,則真值為:-2AH -(00H-0D6H)28 當(dāng)

17、n=8時(shí),幾種碼的表示范圍原碼反碼補(bǔ)碼127至127127至127128至127 當(dāng)n=16時(shí),幾種碼的表示范圍原碼反碼補(bǔ)碼32767至3276732767至3276732768至32767295 數(shù)的定點(diǎn)與浮點(diǎn)表示 計(jì)算機(jī)中如何表示實(shí)數(shù)中的小數(shù)點(diǎn)呢? 計(jì)算機(jī)中不用專門的器件表示小數(shù)點(diǎn),而是用數(shù)的兩種不同的表示法來表示小數(shù)點(diǎn)的位置。 根據(jù)小數(shù)點(diǎn)的位置是否固定,數(shù)的表示方法分為定點(diǎn)表示和浮點(diǎn)表示,相應(yīng)的機(jī)器數(shù)稱為定點(diǎn)數(shù)和浮點(diǎn)數(shù)。 任意一個(gè)二進(jìn)制數(shù)N均可表示為: NS2J 其中: S稱為數(shù)N的尾數(shù),表示數(shù)N的全部有效數(shù)字,決定了N的精度。 J稱為數(shù)N的階碼,底為2,指明了小數(shù)點(diǎn)的位置,決定了數(shù)N的

18、大小范圍。30(1)定點(diǎn)表示法 計(jì)算機(jī)在處理定點(diǎn)數(shù)時(shí),常把小數(shù)點(diǎn)固定在數(shù)值位的最后面或最前面,即分為定點(diǎn)純小數(shù)與定點(diǎn)純整數(shù)兩類,如圖1-6所示。例如: 00011000B,如果看作定點(diǎn)純整數(shù),其真值為24 看作定點(diǎn)純小數(shù),其真值為0.1875 sfs1 s2 sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純小數(shù) sf s1 s2 sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純整數(shù)31 (2)浮點(diǎn)表示法 在浮點(diǎn)表示法中,小數(shù)點(diǎn)的位置是浮動(dòng)的,階碼J可取不同的數(shù)值,則在計(jì)算機(jī)中除了要表示尾碼S,還要表示階碼J。因此,一個(gè)浮點(diǎn)數(shù)表示為階碼和尾數(shù)兩部分,尾數(shù)一般是定點(diǎn)純小數(shù),階碼是定點(diǎn)純整數(shù),其形式如圖1-7所示。 小數(shù)點(diǎn)隱含位置階符階碼尾符

19、尾數(shù)階碼部分尾數(shù)部分jfj1j2jnsfs1s2sm32011B階符階碼 尾符 尾數(shù)(24位)(469.375)10(111010101.011)2 (0.111010101011)229 (0.111010101011)221001B0. 111010101011補(bǔ)11B1001B補(bǔ)00001001B例如,某計(jì)算機(jī)用32位表示浮點(diǎn)數(shù),尾數(shù)部分占24,為補(bǔ)碼定點(diǎn)純小數(shù);階碼為8位補(bǔ)碼定點(diǎn)純整數(shù)。用來表示一個(gè)數(shù)469.375,先進(jìn)行變換: 因此,數(shù)469.375在該計(jì)算機(jī)中的浮點(diǎn)表示為:331.4.2 計(jì)算機(jī)中的編碼ASCII碼:由七位二進(jìn)制編碼組成, 共有128個(gè)字符編碼。包括圖形字符(字母、

20、數(shù)字、其它可見字符共96個(gè))和控制字符(回車、空格等共32個(gè)) 其中 數(shù)字09的ASCII碼為30H39H,差30H 字母AF的ASCII碼為41H46H, 差37H D7位加奇偶校驗(yàn)位: 無校驗(yàn) D7位補(bǔ)0 奇校驗(yàn) D7位使含1的個(gè)數(shù)為奇數(shù)個(gè) 偶校驗(yàn) D7位使含1的個(gè)數(shù)為偶數(shù)個(gè) 例: 30H 00110000H D7補(bǔ)0為無校驗(yàn)和偶校驗(yàn) 10110000H D7補(bǔ)1為奇校驗(yàn)34BCD編碼:具有十進(jìn)制位權(quán)的二進(jìn)制編碼。最常見的是8421碼。(見書17頁) 注意: 0000B1001B是09的BCD碼 1010B1111B是非BCD碼 例: 15 的BCD碼為0001 0101B=15H 15=

21、0FH 100=64H 100的BCD碼為0001 0000 0000B=100H 壓縮的BCD碼 56H 占一個(gè)存儲(chǔ)單元 非壓縮BCD碼 05H 06H 占兩個(gè)單元存儲(chǔ)方式35邏輯運(yùn)算 1、與 3、非 2、或 4、異或 算術(shù)運(yùn)算1加/減運(yùn)算電路及二進(jìn)制無符號(hào)數(shù)四則運(yùn)算2帶符號(hào)數(shù)補(bǔ)碼運(yùn)算及判OV3BCD碼加/減法及十進(jìn)制調(diào)整 4、算術(shù)運(yùn)算小結(jié)1.4.3 計(jì)算機(jī)中的運(yùn)算 計(jì)算機(jī)中的運(yùn)算分為兩類:邏輯運(yùn)算:邏輯“與”、“或”、“非”、“異或”等算術(shù)運(yùn)算:加、減、乘、除運(yùn)算36 1加/減運(yùn)算電路及二進(jìn)制無符號(hào)數(shù)的四則運(yùn)算FAAiBiCiSiCi1圖1-8 全加器符號(hào)圖AiBiCiSiCi+10000

22、111100110011010101010110100100010111全加器真值表 加/減運(yùn)算電路37減法的實(shí)現(xiàn) 減法時(shí)SUB=1,有取反加1功能加法時(shí)SUB=0無取反加1功能求 補(bǔ)電 路38進(jìn)/借位標(biāo)志CY=SUB C8SUBC8CY000011101110C7C8OV000011(負(fù))101(正)110SUB加/減標(biāo)志位0/1CyFAA6B6C6S6C71FAA1B1C1S1C21FAA0B0C0S0FAA7B7S7C811圖1-9八位微機(jī)加/減運(yùn)算電路OV11溢出標(biāo)志OV=C7 C839二進(jìn)制無符號(hào)數(shù)的四則運(yùn)算(1)加法運(yùn)算二進(jìn)制加法法則為: 0001001111101111140例:

23、二進(jìn)制無符號(hào)數(shù)加法 被加數(shù)10111011B + 加數(shù) 00010110B進(jìn)位 00111110和11010001B 1、求 187+22結(jié)果:11010001B 即209 SUB=0,C8=0,CY=02、求200+200 被加數(shù)11001000B + 加數(shù) 11001000B進(jìn)位 1和 110010000B結(jié)果:SUB=0,C8=1,CY=1 和=進(jìn)位值+8位和值 =256+10010000B = 400 4111011101 0011010011000101000 0011010000011111 被加數(shù)10111011B + 加數(shù) 00010110B進(jìn)位 00111110和110100

24、01B結(jié)果:11010001B 即209 SUB=0,C8=0,CY=04200010011 100010011000010001011000100 被加數(shù)11001000B + 加數(shù) 11001000B進(jìn)位 1和 110010000B 10001001結(jié)果:SUB=0,C8=1,CY=1 和=進(jìn)位值+8位和值 =256+10010000B = 400 43(2) 減法運(yùn)算法則:(借1當(dāng)2) 被減數(shù)10111011B 減數(shù) 00010110B借位 00000100差 10100101B手算:例:求 187-22例:二進(jìn)制無符號(hào)數(shù)減法結(jié)果:無借位,差為10100101B 即16544取反1101

25、1101 001101001101001010011010111 11001011機(jī)器算:難點(diǎn) 被減數(shù)10111011B 減數(shù) 00010110B借位標(biāo)志CY=SUB C8=1 1=0求補(bǔ)電路減法 SUB=1 10101011加145 被減數(shù) 10111011B=BBH 11101001B 取反 1 加1 11101010B =EAH 進(jìn) 位 11111010 差 10100101B =A5H求補(bǔ)減數(shù) 00010110B=16H對(duì)減數(shù)求補(bǔ)后,加被減數(shù)例:求187-22 結(jié)果:10100101B 即165 無借位,SUB=1, C8=1 , CY=0說明:直接相減無借位,求補(bǔ)相加有進(jìn)位,反之亦然

26、。46(3) 乘法運(yùn)算法則 00=0 01=10=0 11=1 被乘數(shù) 1001B 乘數(shù) 1011B 1001 1001 0000 1001 乘積 1100011B常用算法:1、左移加2、右移加3、連加P124例4-2347(4)定點(diǎn)整數(shù)除法運(yùn)算 1 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0常用算法:1、移位相減法 P125 例1-242、連減 P131例4-2748 2帶符號(hào)數(shù)定點(diǎn)補(bǔ)碼運(yùn)算及判OV定點(diǎn)補(bǔ)碼運(yùn)算定律: 當(dāng)X,Y,X+Y,X-Y均在2n1(2n11)范圍內(nèi)時(shí),則: 補(bǔ)補(bǔ)補(bǔ) 補(bǔ)補(bǔ)補(bǔ) 如果XY,X-Y的值不在2n1

27、(2n11)范圍內(nèi)(n=8時(shí) -128,127 ),則機(jī)器就產(chǎn)生了溢出錯(cuò)誤,上式不成立,運(yùn)算結(jié)果無意義。49 溢出判別 (overflow) 若XY 2n11,為正溢出; 若XY127 典型算法:兩個(gè)帶符號(hào)數(shù)比較大小 用S表示和的符號(hào)位,OV為溢出標(biāo)志位則: X補(bǔ) Y補(bǔ) S OV 比較結(jié)果 0 0 XY 0 1 XY 1 0 XY 56 3BCD碼加法及十進(jìn)制調(diào)整(1)BCD碼的加法運(yùn)算 在兩個(gè)數(shù)的BCD碼進(jìn)行加法運(yùn)算時(shí),當(dāng)?shù)退奈缓透咚奈欢紵o進(jìn)位并且不超過9時(shí),可得到正確的運(yùn)算結(jié)果。 例1-13 已知X63,Y24,求XY 解: XBCD碼 01100011B YBCD碼 00100100B

28、進(jìn)位 01100000 10000111B10000111B87BCD碼6324BCD碼XYBCD碼 57 例1-14 已知X68,Y49,求XY 解: XBCD碼 01101000B YBCD碼 01001001B 進(jìn)位 01001000 CY=0,AC=1 和 10110001B 01100110B 調(diào)整 100010111B CY=1 X+Y=100+17=117,CY=1,進(jìn)位值為100 例1-14中,低四位有進(jìn)位,高四位的值超過9,是非法碼,結(jié)果錯(cuò)誤,需進(jìn)行調(diào)整。大家看到,在運(yùn)算中,當(dāng)?shù)退奈幌蛩母呶贿M(jìn)位時(shí),是逢16進(jìn)位為1,即按照十六進(jìn)制的原則進(jìn)行的運(yùn)算,而BCD碼是十進(jìn)制數(shù),應(yīng)按照

29、逢十進(jìn)一的原則進(jìn)行運(yùn)算,所以應(yīng)將和的低四位加6以補(bǔ)上多拿走的6,調(diào)整為0111B。和的高四位1011B大于9,應(yīng)向高位進(jìn)位,同樣加上6進(jìn)行調(diào)整,變?yōu)?0001B。 編寫出程序片段:MOV A,#68H;(A)=68H=01101000BADD A,#49H ;(A)=B1HDA A ;(A)=B1H+66H=17H CY=1 代表100 結(jié)果:117必須寫B(tài)CD碼不能寫真值58(2)BCD碼的減法運(yùn)算 兩個(gè)數(shù)的BCD碼進(jìn)行減法運(yùn)算時(shí), 當(dāng)?shù)退奈换蚋咚奈欢疾恍杞栉粫r(shí),可得到正確的運(yùn)算結(jié)果。 例1-15 已知X58,Y25,求XY 解: XBCD碼 01011000B YBCD碼 00100101

30、B 00110011B 00110011B33BCD碼5825BCD碼XYBCD碼當(dāng)?shù)退奈换蚋咚奈挥薪栉粫r(shí),按十進(jìn)制運(yùn)算規(guī)則,向高位借1當(dāng)10,而計(jì)算機(jī)中按二進(jìn)制運(yùn)算規(guī)則進(jìn)行,借1當(dāng)作16,因此運(yùn)算后必須減6進(jìn)行調(diào)整。59 例1-16 已知X68,Y49,求XY 解: XBCD碼01101000B YBCD碼01001001B 差 00011111B AC=1,CY=0 0110B 00011001B 00011001B19BCD碼6849BCD碼XYBCD碼60說明:如果指令系統(tǒng)中有BCD碼的減法調(diào)整指令,即可直接用該指令完成上述調(diào)整。 如果指令系統(tǒng)中沒有BCD碼的減法調(diào)整指令,則不能用減法

31、指令直接對(duì)兩個(gè)BCD碼進(jìn)行減法運(yùn)算,而需對(duì)減數(shù)求補(bǔ),進(jìn)行加法運(yùn)算,然后用加法運(yùn)算的調(diào)整指令進(jìn)行調(diào)整。 對(duì)八位微機(jī),BCD碼的模為100(十進(jìn)制數(shù)),減去減數(shù)實(shí)現(xiàn)對(duì)減數(shù)的求補(bǔ)。為在八位加減運(yùn)算電路中運(yùn)算,將100表示成9AH,即10011010B,減去減數(shù)求補(bǔ)。 61例1-17 已知X68,Y49,求XY 解: XBCD碼01101000B YBCD碼01001001B 模10010011010B YBCD碼01001001B 01010001B 10111001B 調(diào)整B 100011001B 這樣,在程序中將BCD碼的減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,然后利用加法運(yùn)算的調(diào)整指令進(jìn)行調(diào)整,即可得到正確的

32、結(jié)果。求補(bǔ)編寫出程序片段:CLR CMOV A,#9AH ; (A)=9AH MODSUBB A,#49H; (A)=51H BCDADD A,#68H ; (A)=B9H 非BCDDA A ; (A)=19H BCDCPL C ; CY=0 無借位,差=19HBCD 求補(bǔ)相加有進(jìn)位,直接相減位無借位,反之,有借位。62算術(shù)運(yùn)算小結(jié)(結(jié)合黑板,舉例說明)1、求補(bǔ)碼與求補(bǔ) 求補(bǔ)碼:已知真值求補(bǔ)碼 求補(bǔ):已知正數(shù)的補(bǔ)碼求與之?dāng)?shù)值相同的負(fù)數(shù)的補(bǔ)碼 或已知負(fù)數(shù)的補(bǔ)碼求與之?dāng)?shù)值相同的正數(shù)的補(bǔ)碼2、算術(shù)運(yùn)算與標(biāo)志位 對(duì)于運(yùn)算器來說:只根據(jù)加/減命令對(duì)送給它的兩個(gè)操作數(shù)進(jìn)行相應(yīng)的運(yùn)算,并不區(qū)分是什么性質(zhì)的數(shù)

33、,并且根據(jù)運(yùn)算結(jié)果,填寫標(biāo)志位。其運(yùn)算結(jié)果代表什么完全由用戶決定。 一般情況下:無符號(hào)數(shù)運(yùn)算判CY 定點(diǎn)帶符號(hào)補(bǔ)碼運(yùn)算判溢出OV BCD碼運(yùn)算判CY,機(jī)器調(diào)整判AC、CY例:求62+98=? 1、作無符號(hào)數(shù)運(yùn)算,結(jié)果0A0H=160,CY=0。 一般,CY=0,結(jié)果在0255之間, CY=1,代表256,結(jié)果在0256+255之間 2、做帶符號(hào)補(bǔ)碼運(yùn)算 ,OV=1,正溢出,結(jié)果無意義。 一般,結(jié)果應(yīng)在-128127之間,超出則溢出??蓴U(kuò)大位數(shù)到16位再重新做。 3、做BCD碼運(yùn)算,必須送BCD 碼,調(diào)整后,CY=1,代表100,(A)=60H,代表 60 ,合成后代表160。 一般,CY=0,

34、結(jié)果在0099之間 CY=1,代表100,結(jié)果在00199之間 4、位數(shù)相同,性質(zhì)不同的數(shù),表示數(shù)的范圍不同。63邏輯運(yùn)算計(jì)算機(jī)由專門的邏輯電路完成一些邏輯運(yùn)算。 邏輯運(yùn)算都是位對(duì)位運(yùn)算,即運(yùn)算中位與位之間互不相關(guān),不存在進(jìn)位或借位,比算術(shù)運(yùn)算簡單。 (1)邏輯與運(yùn)算 邏輯與的運(yùn)算符為“”,其運(yùn)算規(guī)則為: 000 01l00 111邏輯與運(yùn)算的真值表ABAB000010100111例如:在八位微機(jī)中,邏輯與運(yùn)算: 01100101B 11110000B 01100000B邏輯“與”的作用:1、將一個(gè)字的一部分析取出來,與1 2、將一個(gè)字的一部分清0,又稱屏蔽 與03、可用于“拆字”4、自身相與

35、,不變析取清零例:將56H拆成05H和 06H MOV A,#56H ;(A)=01010110B=56H ANL A,#0FH ;(A)=00000110B=06H MOV 30H,A ;(30H)=06H MOV A,#56H ;(A)=56H ANL A,#0F0H ;(A)=01010000B=50H SWAP A ;(A)=00000101B=05H 析取低四位屏蔽高四位64(2)邏輯或運(yùn)算 邏輯或的運(yùn)算符為“”,其運(yùn)算規(guī)則為: 000 01101 111ABAB000011101111邏輯或運(yùn)算的真值表在八位微機(jī)中進(jìn)行的邏輯或運(yùn)算:01100101B 11110000B 11110

36、101B邏輯或運(yùn)算可對(duì)字中的某位置1,本例中將D7、D4位置1。 邏輯“或”的用途 1、某位置1 2、自身相或,不變 3、拼字或0,不變或1,置1例: 求9的ASCII碼 MOV A,#30H ;(A)=00110000B ORL A,#09H; (A)=00111001B=39H65(3)邏輯非運(yùn)算 邏輯非運(yùn)算的真值表 邏輯非又稱為“求反”運(yùn)算,它的運(yùn)算規(guī)則是: 1=0 0=1 這里“0”或“l(fā)”上面的“一橫”表示“非”運(yùn)算,或稱“求反”,其真值表如表所示。 微型機(jī)中通常有“求反”(CPL)指令。 在機(jī)器中求一個(gè)數(shù)的補(bǔ)碼,就是先求該數(shù)的“反”,再在末位加1得到的。0110AA例:求-5的補(bǔ)碼

37、 MOV A,#5 ; (A)=00000101B CPL A ; (A)=11111010B INC A ; (A)=11111011B=0FBH-5的補(bǔ)碼66例: 10011101B 00001111B 10010010B從例中不難看出,對(duì)字中異或“1”的位變反,異或“0”的位不變。自身異或,清零。(4)異或運(yùn)算異或運(yùn)算又稱為按位加,它的運(yùn)算規(guī)則是:00001101110 “”是異或運(yùn)算的運(yùn)算符 例:將68H的低四位求反MOV A,#68H;(A)=01101000BXRL A,#0FH;(A)=01100111B高四位不變低四位變反邏輯異或運(yùn)算的真值表AB000011101110AB 常

38、用的邏輯門電路符號(hào)見附錄III 與門符號(hào) F=A B 異或門符號(hào) F=AB 非門符號(hào) F=A 或門符號(hào) F=A + B671.1.2 微型計(jì)算機(jī)的發(fā)展 (P2)自學(xué)為主微處理器的發(fā)展第一代微處理器(1971-1973)4/8位 12002000管/片 指令周期1020us Intel4004/8008第二代微處理器(1974-1978)8位 指令周期1us Intel8080/M6800 Intel8085/Z80/M6809第三代微處理器(1978-1981)16位 2萬管/片 指令周期0.5us Intel8086/80286第四代微處理器(1981至今)32位 幾百萬管/片 Intel8

39、0386P4微型計(jì)算機(jī)的發(fā)展方向微型計(jì)算機(jī)的應(yīng)用1.1.2 微型計(jì)算機(jī)的發(fā)展1)低檔微型計(jì)算機(jī)的發(fā)展這類微機(jī)被廣泛用于儀器儀表、家電和過程控制等領(lǐng)域,成為它們不可缺少的組成部分。特別是單片微型計(jì)算機(jī),以其功能強(qiáng)、價(jià)格低和精巧靈活等特點(diǎn),深受歡迎,具有無限的生命力。2)32位和64位微型計(jì)算機(jī)的發(fā)展32位微型計(jì)算機(jī)的發(fā)展尚未停息,新產(chǎn)品還在繼續(xù)涌現(xiàn),尤其是軟件的發(fā)展還有廣闊的空間。64位微型計(jì)算機(jī)系統(tǒng)必將成為21世紀(jì)微型計(jì)算機(jī)發(fā)展的主流。3)多微處理器系統(tǒng)的發(fā)展 多微處理器系統(tǒng)是多個(gè)微處理器并行運(yùn)算的系統(tǒng),使多微處理器系統(tǒng)的性能相當(dāng)于大型機(jī)的水平,而價(jià)格只有后者的十分之一,可以預(yù)見其發(fā)展前景十分

40、廣泛。 微型計(jì)算機(jī)主要應(yīng)用在以下幾方面:(1)科學(xué)計(jì)算(2)數(shù)據(jù)處理(3)過程控制(4)CAD、CAM、CAA和CAI中的應(yīng)用計(jì)算機(jī)輔助設(shè)計(jì)CAD(ComputerAided Design)計(jì)算機(jī)輔助制造CAM(ComputerAided Manufacturing)計(jì)算機(jī)輔助裝配CAA(ComputerAided Assemble)計(jì)算機(jī)輔助教學(xué)CAI(ComputerAided lnstruction) (5)多媒體系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)681.2 微型計(jì)算機(jī)的組成及其工作原理1.2.1 微型計(jì)算機(jī)的組成 1、存儲(chǔ)器(類型、結(jié)構(gòu)、重要指標(biāo)) 2、微處理器MPU (結(jié)構(gòu)圖) 3、I/O接口和外設(shè) 4

41、、地址、數(shù)據(jù)、控制總線1.2.2 微型計(jì)算機(jī)的基本原理 691.2.1 微型計(jì)算機(jī)的組成CBDBABM P U外設(shè)I/O接口RAMROM 微 型 計(jì) 算 機(jī)70Random Access Memory Read Only Memory類型:ROM 正常工作時(shí)只能讀不能寫的存儲(chǔ)器 PROM 可編程ROM,廠家一次寫入 EPROM 用戶可編程可擦寫ROM,紫外線擦除器 EEPROM 電可擦寫可編程ROM,在線,讀快/寫慢 Flash PEROM 閃速可編程可擦寫ROM1、存儲(chǔ)器(類型、結(jié)構(gòu)、重要指標(biāo))RAM 正常工作時(shí)即可讀又可寫的存儲(chǔ)器 DRAM 動(dòng)態(tài)RAM,集成度高,外加刷新電路 SRAM 靜

42、態(tài)RAM,成本高、速度快 iRAM 全集成化RAM,DRAM+刷新電路 NVRAM SRAM+EEPROM,不揮發(fā)即不易失 易失不易失71ROM和RAM的主要區(qū)別:1、斷電后ROM內(nèi)的信息不丟失 RAM 中的信息立即丟失2、讀/寫方式不同 ROM采用特殊方式寫入信息, 正常工作是只讀方式 RAM正常工作既能讀又能寫72WR結(jié)構(gòu)A0A1A2A30000B1111BD7D0RD地址寄存器地址譯碼器存儲(chǔ)陣列168輸出數(shù)據(jù)寄存器1111B圖l-2 168bitRAM的內(nèi)部結(jié)構(gòu)框圖 ROM和RAM芯片均有分四組引腳線: (ROM另有特殊的引腳線)1、地址線 傳送存儲(chǔ)器的地址碼,其根數(shù)決定存儲(chǔ)單元個(gè)數(shù)即字

43、數(shù)2、數(shù)據(jù)線 傳送對(duì)某一單元進(jìn)行讀/寫的數(shù)據(jù),雙向 決定一個(gè)單元內(nèi)存儲(chǔ)二進(jìn)制數(shù)的位數(shù),即字長3、控制線 傳送讀/寫控制信號(hào),以控制讀/寫操作4、電源線 +5V 和GND線73存儲(chǔ)器的兩個(gè)重要指標(biāo)存貯容量 存儲(chǔ)容量2地址線條數(shù)數(shù)據(jù)線的條數(shù)bit 字?jǐn)?shù)(存儲(chǔ)單元個(gè)數(shù))字長例: 芯片2732 4KB 即 4 K 8bit=32Kb 地址線 12根,數(shù)據(jù)線 8根 芯片 2114 1K 4bit 地址線 10根,數(shù)據(jù)線 4根 問? 2764 8KB 地址線 ?根,數(shù)據(jù)線 ?根 存取周期 存儲(chǔ)器從接到存儲(chǔ)單元地址開始, 到讀出或?qū)懭霐?shù)據(jù)為止所用的時(shí)間。742、微處理器MPU結(jié)構(gòu)圖累加器A控制信號(hào)程序計(jì)數(shù)器

44、PC 寄存器組PS指令寄存器IR指令譯碼器ID 控制邏輯算術(shù)邏輯單元ALU外部數(shù)據(jù)總線外部地址總線 地址寄存器數(shù)據(jù)寄存器 TMPPSW控制器運(yùn)算器內(nèi)部總線改錯(cuò)751)運(yùn)算器(主要由五部分組成)MPU的組成部分2)控制器(主要由三部分組成)3)內(nèi)部總線76在控制器的控制下,對(duì)二進(jìn)制數(shù)進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算。1 算術(shù)邏輯運(yùn)算單元 ALU (8位) 運(yùn)算器的核心,以全加器為基礎(chǔ),輔以移位和控制邏輯組合而成 在控制器的控制下,可進(jìn)行加減乘除算術(shù)運(yùn)算和各種邏輯運(yùn)算2 累加器 A 由8位觸發(fā)器組成的移位寄存器, 運(yùn)算前存放一個(gè)操作數(shù), 運(yùn)算后存放運(yùn)算結(jié)果,可進(jìn)行累加3 暫存器 TMP 8位寄存器,暫存另一

45、個(gè)操作數(shù)4 狀態(tài)寄存器 PSW 8位觸發(fā)器組成, 存放ALU操作中形成的狀態(tài) 例 CY OV AC 標(biāo)志位5 通用寄存器組 PS 用于存放操作數(shù)或運(yùn)算結(jié)果1)運(yùn)算器(主要由五部分組成)以8位微機(jī)為例77 發(fā)布操作命令的機(jī)構(gòu),是計(jì)算機(jī)的指揮中心,控制計(jì)算機(jī)的各部分協(xié)調(diào)工作,用以自動(dòng)執(zhí)行程序。 1 指令部件 用來讀取指令、分析指令和為完成指令產(chǎn)生控制信號(hào)的邏輯部件,也是控制器的核心。指令部件由以下三部分組成: 程序計(jì)數(shù)器PC(Program Counter) 指令寄存器IR(Instruction Register) 指令譯碼器ID(Instruction Decoder) 2 時(shí)序部件 由時(shí)鐘系

46、統(tǒng)和脈沖分配器組成,用于產(chǎn)生微操作控制部件所需的定時(shí)脈沖信號(hào)。 3 微操作控制部件 為指令譯碼器ID的輸出信號(hào)配上節(jié)拍電位和節(jié)拍脈沖,也可和外部進(jìn)來的控制信號(hào)組合,共同形成相應(yīng)的微操作控制序列,以完成規(guī)定的操作。2)控制器(主要由三部分組成)783、I/O接口和外設(shè)I/O接口 是大規(guī)模集成電路芯片,是架設(shè)在微處理器和外設(shè)間的橋梁,實(shí)現(xiàn)兩者之間的速度、電平和信號(hào)性質(zhì)的匹配 。 I/O接口微處理器I/O外設(shè) 總線是在微型計(jì)算機(jī)各部分之間傳送信息的公共通道,也是溝通微型計(jì)算機(jī)各種器件的橋梁。 (1)地址總線AB(Adress Bus) 用來傳送MPU發(fā)出的地址碼,是單向總線。 其條數(shù)由MPU型號(hào)決定

47、, 同時(shí)決定可直接尋址的內(nèi)存地址范圍.4地址總線、數(shù)據(jù)總線和控制總線79(2)數(shù)據(jù)總線DB(Data Bus) 用來傳送數(shù)據(jù)和指令碼,是雙向總線。通過DB,MPU可將數(shù)據(jù)寫入存儲(chǔ)器或通過輸出接口向外設(shè)輸出數(shù)據(jù),也可從存儲(chǔ)器或通過輸入接口從輸入設(shè)備輸入數(shù)據(jù)。數(shù)據(jù)總線條數(shù)常和所用微處理器字長相等,但也有內(nèi)部為16位運(yùn)算而外部仍為八位數(shù)據(jù)總線的情況,稱為準(zhǔn)16位。八位機(jī)中數(shù)據(jù)總線通常有八條。(3)控制總線CB(Control Bus) 用來傳送MPU發(fā)出的控制信號(hào)、存儲(chǔ)器或外設(shè)的狀態(tài)信號(hào)和時(shí)序信號(hào)等。每根控制總線的信息傳送方向是固定的,單向的,而控制總線作為整體為雙向的??刂瓶偩€的條數(shù)因機(jī)器而異,每條控制線最多傳送兩個(gè)控制信號(hào)。80122 微型計(jì)算機(jī)的基本原理 計(jì)算機(jī)的工作 就是執(zhí)行程序。 要執(zhí)行一個(gè)程序必須將該程序放入內(nèi)存。 而程序是若干指令的有序排列,要執(zhí)行程序只要從第一條指令開始,逐條讀取指令、分析指令、執(zhí)行指令直至執(zhí)行到停機(jī)指令即完成程序。 要從內(nèi)存中讀取指令,必須給出內(nèi)存單元的地址,這就需要有一個(gè)專門的寄存器用來存放將要執(zhí)行指令的內(nèi)存地址,這個(gè)寄存

溫馨提示

  • 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)論