版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
微機(jī)原理與接口技術(shù)(第3版)1計(jì)算機(jī)系統(tǒng)概述計(jì)算機(jī)中的數(shù)據(jù)表示與編碼邏輯電路基礎(chǔ)計(jì)算機(jī)系統(tǒng)概述例題解析計(jì)算機(jī)最重要的功能是處理信息,如數(shù)值、文字、符號、語音、圖形和圖像等。在計(jì)算機(jī)內(nèi)部,各種信息都必須采用數(shù)字化的形式被存儲、加工與傳送。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述數(shù)值數(shù)據(jù):用于表示數(shù)量的大小,具有確定的數(shù)值;非數(shù)值數(shù)據(jù):沒有確定的數(shù)值,它主要表示字符、漢字、邏輯數(shù)組等。1.1.1數(shù)與數(shù)制1.進(jìn)位計(jì)數(shù)法與數(shù)制十進(jìn)制:逢十進(jìn)一,借一當(dāng)十1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述(234.13)10=2×102+3×101+4×100+1×10-1+3×10-2位權(quán)圖1.1十進(jìn)制數(shù)的位權(quán)
2.二進(jìn)制、八進(jìn)制和十六進(jìn)制1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述二進(jìn)制:(110.11)2=1×22+1×21+0×20+1×2-1+1×2-2八進(jìn)制:(123.45)8=1×82+2×81+3×80+4×8-1+5×8-2十六進(jìn)制:(1B.E5)16=1×161+B×160+E×16-1+5×16-2n位整數(shù)、m位小數(shù)的任意r進(jìn)制數(shù)N的通式:1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F表1.1十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)碼對照表
3.數(shù)制轉(zhuǎn)換
(1)r進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.1把二進(jìn)制數(shù)101.11轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。解(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2
=4+0+1+0.5+0.25
=(5.75)10r進(jìn)制數(shù)的通式:1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.2把八進(jìn)制數(shù)123.54轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。解(123.54)8=1×82+2×81+3×80+5×8-1+4×8-2=64+16+3+0.625+0.0625=(83.6875)101.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.4將十進(jìn)制數(shù)97轉(zhuǎn)換成十六進(jìn)制數(shù)。解(97)10=(61)16(2)十進(jìn)制數(shù)轉(zhuǎn)換為r進(jìn)制數(shù)例1.3將十進(jìn)制數(shù)25轉(zhuǎn)換成二進(jìn)制數(shù)。解(25)10=(11001)21.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.5將十進(jìn)制小數(shù)0.8125轉(zhuǎn)換成二進(jìn)制小數(shù)。解(0.8125)10=(0.1101)21.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.6將十進(jìn)制小數(shù)25.8125轉(zhuǎn)換成二進(jìn)制數(shù)。解運(yùn)算過程如下:
(25)10=(11001)2
(0.8125)10=(0.1101)2由此可得:
(25.8125)10=(11001.1101)2例1.7將二進(jìn)制數(shù)(11010110.11)2轉(zhuǎn)換為八進(jìn)制數(shù)。解(11010110.11)2=(326.6)81.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.8將八進(jìn)制數(shù)(25.4)8轉(zhuǎn)換為二進(jìn)制數(shù)。解(25.4)8=(10101.1)2例1.9將二進(jìn)制數(shù)(111101.101)2轉(zhuǎn)換為十六進(jìn)制數(shù)。解(111101.101)2=(3D.A)16例1.10將十六進(jìn)制數(shù)(1FC7.958)16轉(zhuǎn)換為二進(jìn)制數(shù)。解(1FC7.958)16=(1111111000111.100101011)21.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述十進(jìn)制數(shù):D(Decimal)來表示;八進(jìn)制數(shù):O(Octal)來表示;十六進(jìn)制數(shù):H(Hexadecimal)來表示。二進(jìn)制數(shù):B(Binary)來表示;1.1.2數(shù)據(jù)格式1.定點(diǎn)數(shù)表示法
2.浮點(diǎn)數(shù)表示法
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述EsE1E2……EmMSM1M2……Mn階符階碼數(shù)符尾數(shù)01101011例:尾數(shù)為4位,階碼為2位,則二進(jìn)制數(shù)x=0.1011×2+11的浮點(diǎn)數(shù)表示形式:1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述31302923
220
SESEM32位浮點(diǎn)數(shù)64位浮點(diǎn)數(shù)63626152
510
SESEMIEEE754浮點(diǎn)數(shù)存儲格式1.1.3二進(jìn)制數(shù)的編碼及運(yùn)算
機(jī)器碼:一個數(shù)在機(jī)器(計(jì)算機(jī))中的表示形式。
真值:一般書寫表示的實(shí)際數(shù)值數(shù)據(jù)。
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述無符號數(shù)的表示格式有符號數(shù)的表示格式符號位數(shù)值位1位n-1位數(shù)值位
n位(1)原碼
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例如,當(dāng)機(jī)器字長n=8時(shí),
+1=+0000001B,則[+1]原=00000001B+127=+1111111B,則[+127]原=01111111B-1=-0000001B,則[-1]原=10000001B-127=-1111111B,則[-127]原=11111111B原碼的形式為:對于二進(jìn)制數(shù),正數(shù)的原碼就是它本身,負(fù)數(shù)的原碼符號位取1,數(shù)值部分是真值的絕對值。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述在原碼表示中,+0和-0的原碼不同,即0有兩種原碼表示形式:
+0=+0000000B,則[+0]原=00000000B
-0=-0000000B,則[-0]原=10000000B原碼表示法簡單易懂,但它的最大缺點(diǎn)是加減運(yùn)算復(fù)雜。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述(2)反碼對于二進(jìn)制數(shù),正數(shù)的反碼就是它本身,負(fù)數(shù)的反碼符號位取1,數(shù)值部分按位取反。
例如,當(dāng)機(jī)器字長n=8時(shí),+1=+0000001B,則[+1]反=00000001B+127=+1111111B,則[+127]反=01111111B-1=-0000001B,則[-1]反=11111110B-127=-1111111B,則[-127]反=10000000B在反碼表示中,+0和-0的反碼不同,即0有兩種反碼表示形式:+0=+0000000B,則[+0]反=00000000B-0=-0000000B,則[-0]反=11111111B(3)補(bǔ)碼
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述鐘表的形式為:-3=+9(mod12)用補(bǔ)碼表示時(shí),可以把負(fù)數(shù)轉(zhuǎn)化為正數(shù),減法轉(zhuǎn)化為加法。補(bǔ)碼可定義為:
對于二進(jìn)制數(shù),正數(shù)的補(bǔ)碼就是它本身,負(fù)數(shù)的補(bǔ)碼符號位取1,數(shù)值部分按位取反后末位加1。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例如,當(dāng)機(jī)器字長n=8時(shí),+1=+0000001B,則[+1]補(bǔ)=00000001B+127=+1111111B,則[+127]補(bǔ)=01111111B-1=-0000001B,則[-1]補(bǔ)=11111111B-127=-1111111B,則[-127]補(bǔ)=10000001B
一般來說,如果機(jī)器字長為n位,則補(bǔ)碼能表示的整數(shù)范圍是:-2n-1~2n-1-1在補(bǔ)碼表示中,+0和-0的補(bǔ)碼形式相同,即0只有一種補(bǔ)碼表示形式:+0=+0000000B,則[+0]補(bǔ)=00000000B-0=-0000000B,則[-0]補(bǔ)=11111111+1=00000000B對于10000000這個補(bǔ)碼編碼,其十進(jìn)制真值被定義為-128。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.11機(jī)器字長n=8位,x=+56,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。解+56=+0111000B,則[+56]補(bǔ)=00111000B=38H例1.12機(jī)器字長n=8位,x=-56,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。解-56=-0111000B,則[-56]補(bǔ)=11001000B=0C8H在匯編語言中,為了區(qū)別指令碼和數(shù)據(jù),規(guī)定A~F開始的數(shù)據(jù)前面必須加零。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.13機(jī)器字長n=16位,x=+56,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。解+56=+111000B=+000000000111000,[+56]補(bǔ)=0000000000111000B=0038H例1.14機(jī)器字長n=16位,x=-56,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。解-56=-111000B=-000000000111000,[-56]補(bǔ)=1111111111001000B=0FFC8H1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述已知補(bǔ)碼求真值的方法:當(dāng)機(jī)器碼的最高位(符號位)為0時(shí),表示真值是正數(shù),其值等于其余n-1位的值;當(dāng)機(jī)器數(shù)的最高位(符號位)為1時(shí),表示真值是負(fù)數(shù),其值等于其余n-1位按位取反末位加1的值。例如:若[x]補(bǔ)=01111111,則x=+1111111B=+127若[x]補(bǔ)=11111111,則x=-0000001B=-11.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述二進(jìn)制編碼無符號數(shù)原碼反碼補(bǔ)碼000000000+0+0+0000000011+1+1+1000000102+2+2+2┇┇┇┇┇01111110126+126+126+12601111111127+127+127+12710000000128-0-127-12810000001129-1-126-12710000010130-2-125-126┇┇┇┇┇11111110254-126-1-21111111255-127-0-13.補(bǔ)碼運(yùn)算
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述二進(jìn)制補(bǔ)碼的運(yùn)算規(guī)則:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)進(jìn)行加法運(yùn)算時(shí),把符號位和數(shù)值位一起進(jìn)行運(yùn)算(若符號位有進(jìn)位,則丟掉),結(jié)果為兩數(shù)之和的補(bǔ)碼形式。減法運(yùn)算可以轉(zhuǎn)化為加法運(yùn)。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.15補(bǔ)碼進(jìn)行下列運(yùn)算:①(+33)+(+15);②(-33)+(+15);③(+33)+(-15);④(-33)+(-15)。解: +33=+0100001B, [+33]補(bǔ)=00100001+15=+0001111B, [+15]補(bǔ)=00001111-33=-0100001B, [-33]補(bǔ)=11011111-15=-0001111B, [-15]補(bǔ)=11110001
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.16用補(bǔ)碼進(jìn)行下列運(yùn)算:①(+33)-(+15);②(-33)-(+15);③(+33)-(-15);④(-33)-(-15)。解: +33=+0100001B, [+33]補(bǔ)=00100001+15=+0001111B, [+15]補(bǔ)=00001111-33=-0100001B, [-33]補(bǔ)=11011111-15=-0001111B, [-15]補(bǔ)=11110001
根據(jù)補(bǔ)碼減法公式,可以得到:[(+33)-(+15)]補(bǔ)=[+33]補(bǔ)+[-15]補(bǔ),[(-33)-(+15)]補(bǔ)=[-33]補(bǔ)+[-15]補(bǔ)[(+33)-(-15)]補(bǔ)=[+33]補(bǔ)+[+15]補(bǔ),[(-33)-(-15)]補(bǔ)=[-33]補(bǔ)+[+15]補(bǔ)
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述計(jì)算過程如下:1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.17設(shè)x=+64,y=+10,用補(bǔ)碼計(jì)算x-y,結(jié)果用十進(jìn)制形式表示。解
x=+1000000B,[x]補(bǔ)=01000000
y=+0001010B,[-y]補(bǔ)=11110110
-33=-0100001B,[-33]補(bǔ)=11011111
-15=-0001111B,[-15]補(bǔ)=11110001
[x-y]補(bǔ) =00110110
x-y=+0110110B=+54D
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述1.1.4十進(jìn)制數(shù)的編碼及運(yùn)算1.BCD碼
BCD碼(BinaryCodedDecimal):是二進(jìn)制編碼的十進(jìn)制數(shù)。十進(jìn)制數(shù)8421碼十進(jìn)制數(shù)8421碼000005010110001601102001070111300118100040100910011.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.18求十進(jìn)制數(shù)57.3的BCD碼。 57.301010111.0011所以,(57.3)10=(01010111.0011)BCD例1.19求BCD碼10000011.0111所對應(yīng)的十進(jìn)制數(shù)。1000 0011 .01118 3.7所以,(10000011.0111)BCD=(83.7)101.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述BCD碼的兩種格式:壓縮BCD碼(組合BCD碼):1個字節(jié)中存放2位十進(jìn)制數(shù)的BCD碼;非壓縮BCD碼(非組合BCD碼):1個字節(jié)中僅存放1位十進(jìn)制數(shù)的BCD碼;十進(jìn)制數(shù)4用非壓縮的BCD碼表示為××××0100。十進(jìn)制數(shù)43用非壓縮的BCD碼表示為××××0100××××0011。例:十進(jìn)制數(shù)43用壓縮的BCD碼表示為01000011。1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述
2.BCD碼的加減運(yùn)算例1.20利用BCD碼計(jì)算:①4+5;②5+7;③8+9解 ①(4)BCD=0100,(5)BCD=0101
②(5)BCD=0101,(7)BCD=0111
1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述③(8)BCD=1000,(9)BCD=10011.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述例1.21利用BCD碼計(jì)算:①35+21;②25+37
①(35)BCD=00110101,(21)BCD=00100001②(25)BCD=00100101,(37)BCD=00110111 1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述1.1.5ASCII碼(AmericanStandardCodeForInformationInterchange)7位二進(jìn)制碼,共可以表示128個字符。B6B5B4B3B2B1B00000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQaq0010STXDC2″2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB?7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N↑n~1111SIUS/?O-oDEL1.1計(jì)算機(jī)中的數(shù)據(jù)表示與編碼1計(jì)算機(jī)系統(tǒng)概述ASCII碼包括:⑴32個控制字符。⑵空格字符SP,編碼值為32。⑶刪除控制碼DEL,編碼值為127。⑷94個可印刷字符(或稱有形字符)。1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述邏輯電路:是實(shí)現(xiàn)輸入信號與輸出信號之間邏輯關(guān)系的電路。小規(guī)模集成電路(SSI):是器件的集成,如門電路或觸發(fā)器等;中規(guī)模集成電路(MSI):是邏輯構(gòu)建的集成,如多路選擇器、加法器等;大規(guī)模集成電路(LSI)和超大規(guī)模集成電路(VLSI):是一個數(shù)字子系統(tǒng)或整個數(shù)字系統(tǒng)的集成。1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述邏輯門電路:可組成各種功能的邏輯電路,這些邏輯電路按其結(jié)構(gòu)可分為組合邏輯電路和時(shí)序邏輯電路。組合邏輯電路:由各種門電路組合而成且無反饋的邏輯電路,簡稱組合邏輯,如譯碼器。時(shí)序電路:邏輯電路的輸出狀態(tài)不僅和當(dāng)時(shí)的輸入狀態(tài)有關(guān),而且還與電路在此前的輸出狀態(tài)有關(guān),則這種電路稱為時(shí)序電路,如觸發(fā)器及各類寄存器等。1.2.1基本邏輯門電路1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述1.2.2譯碼器1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述G1CBA譯碼輸出1000000=0,余為11000011=0,余為11000102=0,余為11000113=0,余為11001004=0,余為11001015=0,余為11001106=0,余為11001117=0,余為1其他×××0~7
全為174LS138譯碼器功能表1.2.3觸發(fā)器1.2.4寄存器
1.緩沖寄存器(Buffer):分為數(shù)據(jù)緩沖寄存器和地址緩沖寄存器。2.移位寄存器(ShiftingRegister):具有數(shù)據(jù)存儲和移位兩個功能。1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述3.計(jì)數(shù)器(Counter):是由若干個觸發(fā)器組成的寄存器,當(dāng)一個計(jì)數(shù)脈沖到達(dá)時(shí),它會按二進(jìn)制數(shù)的規(guī)律累計(jì)脈沖數(shù),使存儲在其中的數(shù)字加1。4.累加器(Accumulator):是一個由多個觸發(fā)器組成的多位寄存器,用于暫存每次在ALU中計(jì)算的中間結(jié)果。1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述1.2.5三態(tài)電路1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述三態(tài)輸出電路EAB00高阻01高阻100111三態(tài)輸出電路功能表1.2邏輯電路基礎(chǔ)1計(jì)算機(jī)系統(tǒng)概述4位緩沖寄存器計(jì)算機(jī)系統(tǒng)是一個由硬件、軟件組成的復(fù)雜的電子裝置。它能夠存儲程序和原始數(shù)據(jù)、中間結(jié)果和最終運(yùn)算結(jié)果,并自動完成運(yùn)算,是一種能對各種數(shù)字化信息進(jìn)行處理的信息處理機(jī)。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述1.3.1計(jì)算機(jī)的分類及發(fā)展1.計(jì)算機(jī)的分類
目前人們所說的計(jì)算機(jī),都是電子數(shù)字計(jì)算機(jī)已經(jīng)出現(xiàn)過的機(jī)械的、模擬的計(jì)算機(jī)已經(jīng)逐漸消失。計(jì)算機(jī)按用途可分為專用計(jì)算機(jī)和通用計(jì)算機(jī)。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述按計(jì)算機(jī)的使用方式分類嵌入式計(jì)算機(jī)桌面計(jì)算機(jī)服務(wù)器按計(jì)算機(jī)的結(jié)構(gòu)分類馮?諾依曼結(jié)構(gòu)非馮?諾依曼結(jié)構(gòu)按規(guī)模分超級計(jì)算機(jī)、大型機(jī)、服務(wù)器、微型機(jī)、單片機(jī)1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
2.計(jì)算機(jī)的發(fā)展
類型時(shí)期主要器件重要特征第1代1946-1957電子管機(jī)器語言,匯編語言。速度低,體積大,價(jià)格昂貴,可靠性差,用于科學(xué)計(jì)算。速度達(dá)幾千次到幾萬次第2代1958-1964晶體管算法語言,操作系統(tǒng)。體積縮小,可靠性提高。從科學(xué)計(jì)算到數(shù)據(jù)處理、工業(yè)控制。每秒幾萬次到幾十萬次第3代1964-1971中小規(guī)模集成電路體積小,可靠性大大提高,速度達(dá)幾百萬次,軟件技術(shù)和外設(shè)發(fā)展迅速應(yīng)用領(lǐng)域不斷擴(kuò)大,出現(xiàn)小型計(jì)算機(jī)。第4代1971-1992大/超大規(guī)模集成電路速度提高至幾千次到億次出現(xiàn)微型計(jì)算機(jī)第5代1991-巨大規(guī)模集成電路速度提高至幾億次乃至上百億次。出現(xiàn)單片機(jī)摩爾定律:每18個月,集成度將翻一番,速度將提高一倍,而其價(jià)格將降低一半。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述1.3.2計(jì)算機(jī)系統(tǒng)的組成
計(jì)算機(jī)系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成的。1.馮·諾依曼計(jì)算機(jī)
⑴計(jì)算機(jī)(指硬件)由運(yùn)算器、存儲器、控制器、輸入設(shè)備和輸出設(shè)備五大基本部件組成。⑵指令和數(shù)據(jù)均以二進(jìn)制編碼表示,采用二進(jìn)制運(yùn)算。⑶采用存儲程序的方式,程序和數(shù)據(jù)存放在同一存儲器中。⑷指令在存儲器中按其執(zhí)行順序存放,由程序計(jì)數(shù)器指明要執(zhí)行的指令地址,自動從存儲器中取出指令并執(zhí)行。⑸計(jì)算機(jī)是以運(yùn)算器為中心的,輸入/輸出設(shè)備與存儲器之間的數(shù)據(jù)傳送都要通過運(yùn)算器。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
存儲程序控制的基本思想:將編好的程序和原始數(shù)據(jù)事先存入存儲器中,然后再啟動計(jì)算機(jī)工作,使計(jì)算機(jī)在不需要人工干預(yù)的情況下,自動、高速地從存儲器中取出指令加以執(zhí)行。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述馮·諾依曼結(jié)構(gòu)的計(jì)算機(jī)是以運(yùn)算器為中心的。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
2.現(xiàn)代計(jì)算機(jī)系統(tǒng)
⑴以存儲器為中心的計(jì)算機(jī)系統(tǒng)
1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
⑵總線系統(tǒng)總線是構(gòu)成計(jì)算機(jī)系統(tǒng)的骨架,是多個系統(tǒng)部件之間進(jìn)行數(shù)據(jù)傳送的公共通路。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
⑶I/O接口I/O接口:又稱適配器,存在于CPU與外設(shè)之間,是CPU與外圍設(shè)備進(jìn)行信息交換的中轉(zhuǎn)站。外圍設(shè)備通過I/O接口連接在系統(tǒng)總線上。它保證外圍設(shè)備采用計(jì)算機(jī)系統(tǒng)所要求的形式發(fā)送和接收信息。通用可編程接口:可以通過對接口芯片編程,使得同一接口芯片適應(yīng)多種使用場合。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
⑷存儲系統(tǒng)三級存儲結(jié)構(gòu)1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述
3.計(jì)算機(jī)的軟件系統(tǒng)
系統(tǒng)軟件:負(fù)責(zé)管理、控制和維護(hù)計(jì)算機(jī)的各種硬件資源,并為用戶提供一個友好的操作界面以及服務(wù)于一般目的的上機(jī)環(huán)境。應(yīng)用軟件:專業(yè)人員為各種應(yīng)用目的而開發(fā)的程序,利用計(jì)算機(jī)來解決某些問題。1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述1.3.3計(jì)算機(jī)系統(tǒng)的主要性能指標(biāo)字長位(bit):計(jì)算機(jī)內(nèi)部數(shù)據(jù)存儲的最小單位。字節(jié)(Byte):最基本的存儲單元,也是計(jì)算機(jī)中數(shù)據(jù)處理的基本單位。字(word):計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理時(shí),一次存取、加工和傳送的數(shù)據(jù)長度。16位機(jī):8086、80286
32位機(jī):80486準(zhǔn)16位機(jī):8088
準(zhǔn)32位:80386SX1.3計(jì)算機(jī)系統(tǒng)概述1計(jì)算機(jī)系統(tǒng)概述內(nèi)存容量運(yùn)算速度最短指令法:以執(zhí)行時(shí)間最短的指令或某條特定指令為標(biāo)準(zhǔn)來計(jì)算速度,如傳送指令、加法指令等。平均速度:根據(jù)不同類型指令在計(jì)算過程中出現(xiàn)的頻率,乘以不同的系數(shù),求得統(tǒng)計(jì)平均值。時(shí)鐘頻率
主頻:指微處理器在單位時(shí)間(秒)內(nèi)發(fā)出的時(shí)鐘脈沖數(shù)。微機(jī)原理與接口技術(shù)(第3版)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)指令系統(tǒng)微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)輸入/輸出系統(tǒng)微處理器的發(fā)展嵌入式系統(tǒng)微處理器的發(fā)展2.1.1程序設(shè)計(jì)語言
程序設(shè)計(jì)語言:機(jī)器語言、匯編語言、高級語言
1.指令系統(tǒng)指令:要計(jì)算機(jī)執(zhí)行某種操作的命令。
程序:是一組指令的有序集合。指令系統(tǒng):一臺CPU能識別的所有指令的集合。2.1指令系統(tǒng)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.1.1程序設(shè)計(jì)語言2.匯編語言和匯編程序機(jī)器指令:二進(jìn)制指令,由指令操作碼和操作數(shù)組成。機(jī)器語言:由機(jī)器指令構(gòu)成的編程語言。匯編語言:用約定的符號和數(shù)字按規(guī)定的格式來表示指令。匯編程序:將匯編源程序自動翻譯成機(jī)器語言的過程。算法語言(高級語言):由預(yù)先規(guī)定的基本符號構(gòu)成程序,比較接近數(shù)學(xué)語言,與具體機(jī)器無關(guān),通用性強(qiáng)、便于學(xué)習(xí)和掌握。2.1指令系統(tǒng)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)1.系列計(jì)算機(jī):具有相同的基本指令系統(tǒng)和基本體系結(jié)構(gòu),但具有不同組成和實(shí)現(xiàn)的一系列不同型號的機(jī)器。2.1.2處理體系結(jié)構(gòu)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.1指令系統(tǒng)x86系列IBM-360曙光,神威,銀河2.CISC和RISC
復(fù)雜指令系統(tǒng)計(jì)算機(jī)(ComplexInstuctionSetComputer)
有龐大的指令系統(tǒng)、較多的尋址方式、復(fù)雜的指令格式,CPU結(jié)構(gòu)復(fù)
雜、設(shè)計(jì)成本高。
精簡指令集計(jì)算機(jī)(ReducedInstructionSetComputer,RISC)
去除不常用的復(fù)雜指令,硬件只支持常用的簡單指令。通過減少指令種類、規(guī)范指令格式、簡化尋址方式、存儲器并行處理等方式,大幅度的提高處理器的總性能。2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.1.2處理體系結(jié)構(gòu)2.1指令系統(tǒng)2.2.1微處理器與微型計(jì)算機(jī)微處理器(Microprocessor,μP,MP):將運(yùn)算器和控制器集成在一起的中央處理器部件。微型計(jì)算機(jī)(Microcomputer,μC,MC):以微處理器為核心,配上內(nèi)存儲器、輸入/輸出接口電路及系統(tǒng)總線所組成的計(jì)算機(jī)。微型計(jì)算機(jī)系統(tǒng)(MicrocomputerSystem,μCS,MCS):是指以微型計(jì)算機(jī)為中心,配以相應(yīng)的外圍設(shè)備、電源、輔助電路以及控制微型計(jì)算機(jī)工作的系統(tǒng)軟件所構(gòu)成的計(jì)算機(jī)系統(tǒng)。2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)微型計(jì)算機(jī)系統(tǒng)組成2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2.2.1微處理器與微型計(jì)算機(jī)2.2.2微處理器中主要的寄存器2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)指令寄存器(InstructionRegister,IR)程序計(jì)數(shù)器(ProgramCounter,PC)地址寄存器(AddressRegister,AR)數(shù)據(jù)寄存器(DataRegister,DR)通用寄存器(R0~Rn)程序狀態(tài)字寄存器(ProgramStatusWord,PSW)2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)訪問內(nèi)存示意圖2.2.3微型計(jì)算機(jī)中的存儲器與地址分配內(nèi)存組織2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2.2.3微型計(jì)算機(jī)中的存儲器與地址分配統(tǒng)一編址:將I/O端口和內(nèi)存儲器統(tǒng)一編址獨(dú)立編址:內(nèi)存儲器和I/O端口地址空間各自獨(dú)立編址
堆棧:堆棧是按后進(jìn)先出(Last-InFirst-Out,LIFO)原則進(jìn)行存取的存儲結(jié)構(gòu)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2.2.4微機(jī)系統(tǒng)中采用的先進(jìn)技術(shù)流水線技術(shù)哈佛結(jié)構(gòu):將指令和數(shù)據(jù)分別放在兩個獨(dú)立存儲器中,每個存儲器獨(dú)立編址、獨(dú)立訪問Cache技術(shù)虛擬存儲管理技術(shù)多核處理器結(jié)構(gòu)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.2微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2.3.1信息交換方式程序查詢方式中斷控制方式直接存儲器存取控制方式通道方式外圍處理機(jī)方式2.3輸入/輸出系統(tǒng)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.3.2程序中斷方式1.中斷的基本思想2.中斷源3.中斷處理過程中斷請求
中斷響應(yīng)
①保護(hù)斷點(diǎn)
②保護(hù)現(xiàn)場
③識別中斷源中斷處理中斷返回2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.3輸入/輸出系統(tǒng)2.4.1Intel微處理器早期微處理器(1971—1973年)8位微處理器(1973—1978年)16位微處理器(1978—1983年)IA32架構(gòu)微處理器(1983—1993年)IA64位微處理器其他微處理器:除了Intel公司,還有其他一些優(yōu)秀的微處理器制造商,如Motorola、Zilog、AMD等公司2.4微處理器的發(fā)展2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)嵌入式系統(tǒng)的定義嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),采用可剪裁軟硬件,能夠滿足應(yīng)用系統(tǒng)對功能、可靠性、實(shí)時(shí)性、成本、體積功耗等指標(biāo)的嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),用于對其他設(shè)備的控制、監(jiān)視或管理等功能。2.5嵌入式系統(tǒng)2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)嵌入式系統(tǒng)的特點(diǎn)專用性強(qiáng)技術(shù)融合集成度高實(shí)時(shí)性好資源受限2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.5嵌入式系統(tǒng)交叉編譯本地編譯:在當(dāng)前編譯平臺下,編譯出來的程序只能放到當(dāng)前平臺下運(yùn)行。交叉編譯:在當(dāng)前編譯平臺下,編譯出來的程序能夠運(yùn)行在另一種體系結(jié)構(gòu)的目標(biāo)平臺上,但是該編譯平臺本身卻不能運(yùn)行。通常將這個編譯平臺成為宿主機(jī),而目標(biāo)平臺稱為目標(biāo)機(jī)。例如:在x86平臺上,編寫程序并編譯成能運(yùn)行在ARM平臺的程序,編譯得到的這個程序在x86平臺上是不能運(yùn)行的。2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.5嵌入式系統(tǒng)嵌入式系統(tǒng)的發(fā)展嵌入式微處理器嵌入式微控器ARM時(shí)代面向Internet階段2微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)2.5嵌入式系統(tǒng)微機(jī)原理與接口技術(shù)(第3版)3
8086/8088微處理器結(jié)構(gòu)
微處理器的內(nèi)部結(jié)構(gòu)總線工作周期中斷系統(tǒng)外部引腳和工作模式存儲器組織結(jié)構(gòu)微處理器的時(shí)序例題解析1.8086CPU是16位的第三代微處理器,
其內(nèi)部數(shù)據(jù)總線和外部數(shù)據(jù)總線均16位。2.8086具有20位地址總線,可尋址的內(nèi)存地址空間達(dá)1M字節(jié),可尋址的I/O地址空間為64K字節(jié),3.8086有多重尋址方式、多級中斷方式、多重?cái)?shù)據(jù)處理形式、段式存儲器結(jié)構(gòu)、硬件乘除法運(yùn)算電路。取指令和執(zhí)行指令的操作并行運(yùn)行,
運(yùn)行速度大大提高。4.8086具有最小模式和最大模式,應(yīng)用領(lǐng)域?qū)拸V,適應(yīng)性強(qiáng)。5.8086可方便地和數(shù)據(jù)處理器8087、I/O處理器8089或其它處理器組成多處理機(jī)系統(tǒng),提高數(shù)據(jù)處理能力和輸人輸出能力。
3.1Intel8086微處理器3
8086/8088微處理器結(jié)構(gòu)
3.2.1尋址空間和數(shù)據(jù)存儲格式1.尋址空間當(dāng)存儲器按字節(jié)編址時(shí),若地址總線為n位,CPU尋址范圍是2n字節(jié)例如:8086CPU有地址總線20位,尋址能力為220=1M字節(jié)3.28086的存儲器組織3
8086/8088微處理器結(jié)構(gòu)2.8086存儲器的組織及尋址20位地址線,可尋址的地址范圍為00000H~FFFFFH3.28086的存儲器組織3
8086/8088微處理器結(jié)構(gòu)十六進(jìn)制地址二進(jìn)制地址存儲器00000H0000,0000,0000,0000,0000B
00001H0000,0000,0000,0000,0001B
00002H0000,0000,0000,0000,0010B
00003H0000,0000,0000,0000,0011B
::
::
FFFFDH1111,1111,1111,1111,1101B
FFFFEH1111,1111,1111,1111,1110B
FFFFFH1111,1111,1111,1111,1111B
數(shù)據(jù)的存儲格式
計(jì)算機(jī)中信息的單位有:位(bit)、字節(jié)(byte)字(word)、雙字(doubleword)等⑴字節(jié)數(shù)據(jù)(BYTE)
8位,偶地址(地址的最低位A0=0),或奇地址(A0=1)
⑵字?jǐn)?shù)據(jù)(WORD)16位,存放在兩個連續(xù)的字節(jié)單元中。其中高8位存放在在高地址字節(jié)(高字節(jié)),低8位存放在在低地址字節(jié)(低字節(jié)),并規(guī)定將低字節(jié)的地址作為這個字的地址(字地址)
D15~D8(高字節(jié))地址=N+1(奇地址)
D15~D8(高字節(jié))地址=N+1(偶地址)字地址D7~D0(低字節(jié))地址=N(偶地址)
字地址D7~D0(低字節(jié))地址=N(奇地址)
規(guī)則字
非規(guī)格字3
8086/8088微處理器結(jié)構(gòu)⑶雙字?jǐn)?shù)據(jù)(DOUBLEWORD)雙字?jǐn)?shù)據(jù)占用4個連續(xù)字節(jié)單元,并規(guī)定最低字節(jié)地址為雙字的地址數(shù)據(jù)的存儲格式
D31~D24地址=N+3
D23~D16地址=N+2
D15~D8地址=N+1雙字地址D7~D0地址=N(低字節(jié))數(shù)據(jù)的地址對齊同一個存儲器地址可以表示為:字節(jié)單元地址、字單元地址、雙字單元地址等等(視指令的具體情況)。將字單元安排在偶地址(xx……….xx0B),將雙字單元安排在模4地址(xx………xx00B)的做法,被稱為“地址對齊(Align)”。存儲的數(shù)據(jù)如果對齊邊界,則存取速度較快3
8086/8088微處理器結(jié)構(gòu)8086系統(tǒng)的存儲器結(jié)構(gòu)數(shù)據(jù)類型A0操
作用到的數(shù)據(jù)引腳規(guī)則字00從偶地址開始讀/寫一個字D15—D0字節(jié)01從奇地址開始讀/寫一個字節(jié)D15—D810從偶地址開始讀/寫一個字節(jié)D7—D0非規(guī)則字0110從奇地址開始讀寫一個字(非規(guī)則字),第一總線周期高8位數(shù)據(jù)有效,第二總線周期低8位數(shù)據(jù)有效。D15—D8D7—D0
11無效
3
8086/8088微處理器結(jié)構(gòu)3.2.2存儲器的分段結(jié)構(gòu)和物理地址的形成
0段1段2段15段00000H0FFFFH10000H1FFFFH20000H2FFFFHF0000HFFFFFH64K字節(jié)64K字節(jié)64K字節(jié)64K字節(jié)……………………1.存儲器的分段結(jié)構(gòu)由于8086中的地址寄存器都是16位的,用戶不能直接使用20位的物理地址,編程時(shí)需要使用邏輯地址來尋址存儲單元。邏輯地址由兩個16位數(shù)構(gòu)成,其形式為:8086將存儲空間分為多個邏輯段(Segment)來進(jìn)行管理,要求:段的20位的起始地址(xxxxxH)其低4位必須為0(xxxx0H),所以可以將它們省略,然后用1個16位數(shù)來表示表示段的首地址。每段長度限216=64KB,所以段內(nèi)偏移地址可以用1個16位數(shù)表示(xxxxH)1MB最多可分為16個不重迭的段。(16位段地址)
:(16位偏移量)
段的起始地址:
段內(nèi)的偏移地址3
8086/8088微處理器結(jié)構(gòu)實(shí)際上,兩個不同的邏輯段可以交疊,或者完全重疊3
8086/8088微處理器結(jié)構(gòu)3.2.2存儲器的分段結(jié)構(gòu)和物理地址的形成CS=7018H,IP=FE7FH,物理地址=7FFFFH例如:7018:FE7F圖3.5物理地址形成過程2.物理地址的形成每個存儲單元都有一個唯一物理地址(00000H~FFFFFH),20位二進(jìn)制數(shù),該地址在指令執(zhí)行時(shí)由地址加法器形成,并進(jìn)行硬件尋址。地址加法器的具體做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。3
8086/8088微處理器結(jié)構(gòu)用戶編程時(shí)采用邏輯地址,其形式為:段的首地址:段內(nèi)偏移地址它們由兩個16位的無符號數(shù)構(gòu)成。邏輯地址“1460H:100H”=物理地址14700H一個存儲單元可以擁有多個邏輯地址,但只可能擁有一個唯一的物理地址。例如:物理地址:00200H邏輯地址:0020H:0000H邏輯地址:0000H:0200H3
8086/8088微處理器結(jié)構(gòu)存儲器可以劃分為:程序區(qū)、數(shù)據(jù)區(qū)、堆棧區(qū)程序段中存儲程序的指令代碼;數(shù)據(jù)段和附加段中存儲數(shù)據(jù)、中間結(jié)果和最后結(jié)果;堆棧段存儲壓入堆棧的數(shù)據(jù)或狀態(tài)信息。3.按信息特征分段存儲3
8086/8088微處理器結(jié)構(gòu)3.3.1
8086CPU內(nèi)部結(jié)構(gòu)分成兩部分:總線接口部件BIU:
總線接口單元BIU,負(fù)責(zé)控制存貯器讀寫。執(zhí)行部件EU:
執(zhí)行單元EU從指令隊(duì)列中取出指令并執(zhí)行。特點(diǎn):取指部分和執(zhí)行指令部分分開進(jìn)行,提高了速度。8086CPU的內(nèi)部結(jié)構(gòu)3.38086微處理器的內(nèi)部結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)外部總線內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位外部總線內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位執(zhí)行部件總線接口部件通用寄存器四個專用寄存器SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的內(nèi)容一起,提供堆棧操作地址。
BP:基址指針:構(gòu)成段內(nèi)偏移地址的一部分.
SI:(SourceIndex):SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。
DI:(DestinationIndex):DI含有目的意思,
產(chǎn)生有效地址或?qū)嶋H地址的偏移量。算術(shù)邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標(biāo)志寄存器:16位字利用了9位。標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):反映剛剛完成的操作結(jié)果情況??刂茦?biāo)志(3位):在某些指令操作中起控制作用。外部總線內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位20位地址加法器四個段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊(duì)列指令隊(duì)列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊(duì)列中;執(zhí)行部件EU從指令隊(duì)列取指令,并執(zhí)行。3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)AHBHCHDHALBLCLDLSPBPSIDIIPFLAGSCSDSSSES000151515AXBXCXDX累加器基址寄存器計(jì)數(shù)器數(shù)據(jù)寄存器堆棧指針基址指針源變址目的變址指令指針標(biāo)志寄存器代碼段數(shù)據(jù)段堆棧段附加段通用數(shù)據(jù)寄存器指針和變址寄存器控制寄存器段寄存器015871.數(shù)據(jù)寄存器8086含4個16位數(shù)據(jù)寄存器,它們又可分為8個8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用來存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)數(shù)據(jù)寄存器特有的習(xí)慣用法AX:累加器。多用于存放中間運(yùn)算結(jié)果。
所有I/O指令必須都通過AX與接口傳送信息;BX:基址寄存器。常用于存放訪問內(nèi)存時(shí)的偏移地址;CX:計(jì)數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)
或重復(fù)次數(shù);DX:數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí),存放高16位數(shù);
在間接尋址的I/O指令中存放I/O端口地址。3
8086/8088微處理器結(jié)構(gòu)3.3.28086CPU的寄存器結(jié)構(gòu)2.段寄存器段寄存器為信息按特征分段存貯帶來方便.3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)CS:16位的代碼段寄存器,管理程序段DS:16位的數(shù)據(jù)段寄存器,管理數(shù)據(jù)段。ES:16位的擴(kuò)展段(附加段)寄存器,管理擴(kuò)展段。SS:16位的堆棧段寄存器,管理堆棧段。3.地址指針與變址寄存器
SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂罚?BP:基址指針寄存器,常用于在訪問內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)BX與BP在應(yīng)用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù);作為基址寄存器,BX通常用于數(shù)據(jù)段,一般與DS或ES搭配使用;BP則通常用于堆棧段,與SS搭配使用。SI:源變址寄存器DI:目標(biāo)變址寄存器變址寄存器常用于指令的間接尋址或變址尋址.4.控制寄存器指令指針寄存器IP其內(nèi)容為下一條要執(zhí)行的指令的偏移地址;3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器FLAGS16位標(biāo)志寄存器,用來存放運(yùn)算結(jié)果的特征。其中7位沒有定義,其余9位分成兩類:狀態(tài)標(biāo)志:表示運(yùn)算后結(jié)果的狀態(tài)特征它影響后面的操作,
有6位:CF、PF、AF、ZF、SF和OF。控制標(biāo)志,用來控制CPU操作,有3個:TF、IF和DF。具體格式如圖3-9。3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)CF-進(jìn)位標(biāo)志:算術(shù)運(yùn)算時(shí)有進(jìn)位CF=1,無進(jìn)位CF=0PF-奇偶標(biāo)志:運(yùn)算結(jié)果中“1”的個數(shù)為偶數(shù)PF=1AF-輔助進(jìn)位標(biāo)志:第3位向第4位有進(jìn)位時(shí)AF=1ZF-零標(biāo)志:運(yùn)算結(jié)果為“0”則ZF=1SF-符號標(biāo)志:運(yùn)算結(jié)果為負(fù)數(shù)時(shí)SF=1OF-溢出標(biāo)志:運(yùn)算結(jié)果超出規(guī)定范圍OF=1IF-中斷允許標(biāo)志:IF=1中斷允許DF-方向標(biāo)志,DF=0地址加1TF-跟蹤標(biāo)志,TF=1,為單步工作方式3.3.28086CPU的寄存器結(jié)構(gòu)3
8086/8088微處理器結(jié)構(gòu)例3.1
設(shè)(AX)=0010001101001101B,(DX)=0101001000001001B,試指出兩數(shù)相加后,6位標(biāo)志位的狀態(tài)。解用補(bǔ)碼公式對兩數(shù)進(jìn)行運(yùn)算,并按定義對結(jié)果進(jìn)行判別。計(jì)算機(jī)中存儲的已是補(bǔ)碼,兩數(shù)相加過程如下:3.3.28086CPU的寄存器結(jié)構(gòu)根據(jù)兩數(shù)相加結(jié)果,可得如下結(jié)論:①結(jié)果非零,故ZF=0。②低8位中共有4個1(偶數(shù)個),故PF=1。③根據(jù)符號位,可知SF=0。④運(yùn)算結(jié)束后,向更高位無進(jìn)位,故CF=0。⑤運(yùn)算結(jié)果無溢出,故OF=0。
⑥D(zhuǎn)3位向D4位產(chǎn)生進(jìn)位,故AF=1。了解幾個概念主頻:CPU的工作頻率時(shí)鐘周期:對主頻進(jìn)行分頻后的工作時(shí)鐘總線周期:完成一次總線操作所需的時(shí)間在8088CPU中,CPU與內(nèi)存或接口間進(jìn)行通信,
如將一個字節(jié)寫入內(nèi)存一個單元(或接口),
或者從內(nèi)存某單元(或某接口)讀一個字節(jié)到CPU,
這種讀(或)寫的過程稱為一個總線周期。指令周期:一條指令從開始取指令到最后執(zhí)行完畢所需的時(shí)間3.48086總線的工作周期3
8086/8088微處理器結(jié)構(gòu)3.48086總線的工作周期3
8086/8088微處理器結(jié)構(gòu)總線周期時(shí)序1個總線周期正常情況下由4個時(shí)鐘周期(T1―T4)組成;時(shí)鐘周期由主頻決定;空閑周期TI和等待周期TW;讀、寫、中斷響應(yīng)、總線保持與響應(yīng)等的總線周期時(shí)序T1等待狀態(tài)總線周期kT2T3T4TiT1T2T3TWT4TiTiT1T2T3TWTWT4空閑狀態(tài)總線周期k+1總線周期k+23.5.18086中斷類型3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)8086/8088可以處理256種不同的中斷。兩類:內(nèi)部中斷和外部中斷。中斷源示意圖如下圖:8259A可屏蔽中斷請求中斷邏輯INTO指令I(lǐng)NTn指令除法出錯單步(TF=1)非屏蔽中斷請求8086/8088CPUNMIINTR內(nèi)部中斷外部中斷可屏蔽中斷非屏蔽中斷1.外部中斷3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)8086CPUNMIINTR不可屏蔽中斷請求輸入端可屏蔽中斷請求輸入端8086CPU提供兩條引腳INTR、NMI接受中斷請求信號INTA中斷響應(yīng)信號輸出端不可屏蔽中斷(NMI中斷)▼中斷類型碼2▼上升沿觸發(fā)申請中斷▼不受中斷允許標(biāo)志IF的控制與影響(即不可屏蔽),一旦NMI引腳出現(xiàn)中斷請求,CPU在當(dāng)前指令執(zhí)行完后,必須立即響應(yīng)。▼由計(jì)算機(jī)內(nèi)部硬件出錯而引發(fā),一般用于處理緊急事件。
PC機(jī)中用于內(nèi)存奇偶校驗(yàn)出錯和系統(tǒng)主要故障(如電源斷電等)。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)8086CPUNMI可屏蔽中斷(INTR中斷)▼外設(shè)申請的中斷▼電平觸發(fā)▼受中斷允許標(biāo)志IF控制
IF=1(指令STI),開中斷,允許響應(yīng)INTR中斷
IF=0(指令CLI),關(guān)中斷,禁止響應(yīng)INTR中斷
——當(dāng)外設(shè)對CPU有服務(wù)請求,會向INTR發(fā)來一個高電平信號(見上圖),并且中斷允許標(biāo)志IF=1時(shí),CPU會在當(dāng)前指令執(zhí)行完后,響應(yīng)可屏蔽中斷。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)8086CPUINTRINTA3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)可屏蔽中斷(INTR中斷)
8086CPU只有一個可屏蔽中斷請求輸入引腳,8086中斷系統(tǒng)設(shè)計(jì)中斷控制器(8259A)管理各種外設(shè)提出的中斷請求。所有外設(shè)的中斷請求信號都可送至8259A的中斷請求輸入端IRQ0~I(xiàn)RQ7任何一個,8259A選擇其中優(yōu)先級最高的中斷請求,送至CPU的INTR引腳,向CPU申請可屏蔽中斷。
可屏蔽中斷源的中斷類型碼由8259A提供。INTRINTA8086CPUINTINTA8259AIRQ0IRQ1IRQ2IRQ7……可屏蔽中斷請求輸入端8259A可對多個可屏蔽中斷源進(jìn)行優(yōu)先級控制,一片8259A可管理8級可屏蔽中斷。2.內(nèi)部中斷不需要外部硬件支持,不受中斷標(biāo)志IF的影響,中斷類型碼或包含在指令中,或預(yù)先規(guī)定。8086/8088內(nèi)部中斷有以下5種:除法出錯中斷斷點(diǎn)中斷單步中斷溢出中斷軟件中斷3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)軟件中斷主要有五種,分為三類。
1)處理運(yùn)算過程中某些錯誤的中斷執(zhí)行程序時(shí),為及時(shí)處理運(yùn)算中的某些錯誤,CPU以中斷方式中止正在運(yùn)行的程序,提醒程序員改錯。
(1)除法錯中斷(中斷類型號為0)。在8086/8088CPU執(zhí)行除法指令(DIV/IDIV)時(shí),若發(fā)現(xiàn)除數(shù)為0,或所得的商超過了CPU中有關(guān)寄存器所能表示的最大值,則立即產(chǎn)生一個類型號為0的內(nèi)部中斷,CPU轉(zhuǎn)去執(zhí)行除法錯中斷處理程序。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)
例movbl,0idivbl ;除數(shù)BL=0,產(chǎn)生除法錯中斷(2)溢出中斷INTO(中斷類型號為4)。CPU進(jìn)行帶符號數(shù)的算術(shù)運(yùn)算時(shí),若發(fā)生了溢出,則標(biāo)志位OF=1,若此時(shí)執(zhí)行INTO指令,會產(chǎn)生溢出中斷,打印出一個錯誤信息,結(jié)束時(shí)不返回,而把控制權(quán)交給操作系統(tǒng)。若OF=0,則INTO不產(chǎn)生中斷,CPU繼續(xù)執(zhí)行下一條指令。INTO指令通常安排在算術(shù)指令之后,以便在溢出時(shí)能及時(shí)處理。例如:3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)movax,2000haddax,7000h
;2000H+7000H=9000H,溢出:OF=1into ;因?yàn)镺F=1,所以產(chǎn)生溢出中斷2)為調(diào)試程序設(shè)置的中斷(1)單步中斷(中斷類型號為1)。當(dāng)TF=1時(shí),每執(zhí)行一條指令,CPU會自動產(chǎn)生一個單步中斷。單步中斷可一條一條指令地跟蹤程序流程,觀察各個寄存器及存儲單元內(nèi)容的變化,幫助分析錯誤原因。單步中斷又稱為陷阱中斷,主要用于程序調(diào)試。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)例如:DEBUG.EXE調(diào)試程序的單步命令T就利用單步中斷實(shí)現(xiàn)對程序的單步調(diào)試(2)斷點(diǎn)中斷(中斷類型號為3)。調(diào)試程序時(shí)可以在一些關(guān)鍵性的地方設(shè)置斷點(diǎn),它相當(dāng)于把一條INT3指令插入到程序中,CPU每執(zhí)行到斷點(diǎn)處,INT3指令便產(chǎn)生一個中斷,使CPU轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序3)中斷指令I(lǐng)NTn引起的中斷(中斷類型號為n)
程序設(shè)計(jì)時(shí),可以用INTn指令來產(chǎn)生軟件中斷,中斷指令的操作數(shù)n給出了中斷類型號,CPU執(zhí)行INTn指令后,會立即產(chǎn)生一個類型號為n的中斷,轉(zhuǎn)入相應(yīng)的中斷處理程序來完成中斷功能。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)3.8086中斷源的優(yōu)先級
8086中斷源的優(yōu)先級順序由高到低依次為:
軟件中斷(除單步中斷外)、非屏蔽中斷、可屏蔽中斷、單步中斷。3.58086中斷系統(tǒng)3
8086/8088微處理器結(jié)構(gòu)對同時(shí)產(chǎn)生的中斷:首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務(wù)的原則處理;對非同時(shí)產(chǎn)生的中斷:允許低優(yōu)先級別的中斷處理程序被高優(yōu)先級別的中斷源所中斷——中斷嵌套。中斷類型碼:8086可以處理256個中斷請求,每個中斷請求均對應(yīng)于惟一固定的類型碼。被0除類型碼是0,單步為1;NMI為2;斷點(diǎn)中斷為3,溢出中斷為4……等。中斷向量:即中斷服務(wù)程序的入口地址,包括段地址(高字單元)和偏移地址(低字單元)。3.5.2中斷向量與中斷向量表3
8086/8088微處理器結(jié)構(gòu)每個中斷處理程序都有一個唯一的中斷向量。;中斷服務(wù)程序INT_PROCPROCPUSHDXPUSHAX…IRETINT_PROCENDP
INC_PROCPUSHDXPUSHAX┅┅IRET中斷服務(wù)程序入口地址中斷向量表3.5.2中斷向量與中斷向量表3
8086/8088微處理器結(jié)構(gòu)按中斷類型碼從小到大順序依次存放各類中斷(256種)的中斷向量(中斷服務(wù)程序入口地址)。在內(nèi)存的00000H~003FFH地址范圍內(nèi),大小為1KB。每個中斷向量占用4Bytes,低字為段內(nèi)偏移地址,高字為段基址。中斷類型碼與中斷向量地址的關(guān)系:
設(shè)某類中斷的中斷類型碼為n中斷向量在IVT中的存放地址(向量地址)=4×n3.5.2中斷向量與中斷向量表3
8086/8088微處理器結(jié)構(gòu)例:某系統(tǒng)中鍵盤中斷的類型碼為09H,試問其對應(yīng)中斷服務(wù)程序的入口地址?
40H30H20H10H
0024H0025H0026H0027H1)中斷向量的存放地址由4
n=4
9=36=24H知中斷向量存放在存儲器中從0000:0024H開始的4個單元中,即0024H—0027H單元。存儲器
IP
CS2)由右圖易知鍵盤中斷的中斷處理程序的入口地址為
4030:2010H即可轉(zhuǎn)入鍵盤中斷服務(wù)程序執(zhí)行。1.可屏蔽中斷的中斷過程3.5.38086中斷處理過程3
8086/8088微處理器結(jié)構(gòu)中斷處理過程:包括中斷請求、中斷排隊(duì)、中斷響應(yīng)、中斷處理、中斷返回等全過程。(1)CPU響應(yīng)可屏蔽中斷的條件外設(shè)提出中斷申請;本中斷未被中斷控制器屏蔽;本中斷優(yōu)先級最高;CPU允許中斷;(2)CPU響應(yīng)可屏蔽中斷的過程CPU在每條指令的最后一個T周期,檢測INTR,若為高電平,且IF=1,則CPU響應(yīng)中斷。響應(yīng)過程中自動依次完成以下工作:CPU向外設(shè)發(fā)兩個/INTA,外設(shè)收到第2個/INTA后,立即通過數(shù)據(jù)線給CPU送中斷類型號。CPU從數(shù)據(jù)線上讀取中斷類型號將Flags內(nèi)容入棧保護(hù)現(xiàn)行程序的控制標(biāo)志及其運(yùn)行結(jié)果產(chǎn)生的狀態(tài)標(biāo)志。3.5.38086中斷處理過程3
8086/8088微處理器結(jié)構(gòu)(2)CPU響應(yīng)可屏蔽中斷的過程關(guān)中斷(清IF和TF)
為了防止在進(jìn)入中斷處理,但并未執(zhí)行中斷程序這段時(shí)間內(nèi)又響應(yīng)新的中斷。保護(hù)斷點(diǎn)將當(dāng)前指令的下一條指令的CS和IP入棧,使中斷處理完成后能正確的回到原程序處繼續(xù)執(zhí)行。轉(zhuǎn)入相應(yīng)的中斷服務(wù)子程序;中斷返回從堆棧中彈出斷點(diǎn)的地址(IP和CS)和Flags的內(nèi)容,返回主程序的斷點(diǎn)處,繼續(xù)執(zhí)行主程序。3.5.38086中斷處理過程3
8086/8088微處理器結(jié)構(gòu)2.非屏蔽中斷和軟件中斷的執(zhí)行過程3.5.38086中斷處理過程3
8086/8088微處理器結(jié)構(gòu)3.中斷類型碼的形成中斷入口地址依賴中斷類型號,中斷型號獲取方法:對于專用中斷:除法出錯、單步中斷、不可屏蔽中斷、斷點(diǎn)中斷和溢出中斷,由CPU分別提供中斷類型號0~4(內(nèi)部行成);對于用戶自己確定的軟件中斷INTn,類型號由n決定;對于INTR引腳上的中斷:由硬件電路設(shè)計(jì)產(chǎn)生中斷類型號可用8259A獲取中斷類型號3.5.38086中斷處理過程3
8086/8088微處理器結(jié)構(gòu)3.6.18086系統(tǒng)總線結(jié)構(gòu)3.68086微處理器外部基本引腳與工作模式3
8086/8088微處理器結(jié)構(gòu)最小模式:系統(tǒng)中只有8086一個微處理器,所有的總線控制信號均為8086產(chǎn)生,系統(tǒng)中的總線控制邏輯電路,減少到最少。最大模式:用于大型(中型)8086系統(tǒng)中。系統(tǒng)總是包含有兩個或多個微處理器,其中一個主處理器就是8086,還有協(xié)處理器8087、8089等。通常由專門的總線控制器(8288)產(chǎn)生總線控制信號。8086采用雙列直插式(DoubleInlinePackage,DIP)封裝,具有40條引腳,使用+5V電源供電。3.68086微處理器外部基本引腳與工作模式3
8086/8088微處理器結(jié)構(gòu)40引腳線地址線數(shù)據(jù)線控制線狀態(tài)線電源線定時(shí)線時(shí)鐘頻率有3種:5MHz(8086)、8MHz(8086-1)和10MHz(8086-2)。其引腳信號如圖3.13所示,括號內(nèi)為最大模式時(shí)的引腳名稱。3.68086微處理器外部基本引腳與工作模式3
8086/8088微處理器結(jié)構(gòu)表3.28086引腳信號定義3.6.2兩種模式下公用的引腳信號3.68086微處理器外部基本引腳與工作模式3
8086/8088微處理器結(jié)構(gòu)所謂三態(tài)是指總線輸出可以有三個狀態(tài):高電平、低電平和高阻狀態(tài)。當(dāng)處于高阻狀態(tài)時(shí),該總線在邏輯上與所有連接負(fù)載斷開。地址總線、數(shù)據(jù)總線、狀態(tài)信號(1)AD15~AD0(2~16,39)地址/數(shù)據(jù)復(fù)用總線;雙向、三態(tài);分時(shí)輸出低16位地址信號及進(jìn)行數(shù)據(jù)信號的輸入/輸出。A15-A0:T1輸出訪問存儲器或I/O的地址信息。D15-D0:T2-T4輸出與存儲器和I/O設(shè)備交換數(shù)據(jù)信息。3.68086微處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度網(wǎng)約車司機(jī)與平臺合作租車合同模板3篇
- 二零二五年度特種配電房土建安裝與電氣試驗(yàn)合同3篇
- 華中師范大學(xué)《應(yīng)用數(shù)學(xué)軟件》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度新型建筑材料專項(xiàng)采購合同模板2篇
- 重慶移通學(xué)院《中學(xué)數(shù)學(xué)解題研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版網(wǎng)絡(luò)安全服務(wù)提供合同
- 2025年度不銹鋼貨架制造與安裝服務(wù)合同范本3篇
- 2025年度石材來料加工與品牌授權(quán)合作協(xié)議3篇
- 2025年度租賃合同環(huán)保條款3篇
- 2024版零售業(yè)服務(wù)員勞動協(xié)議版B版
- (完整版)100道湊十法練習(xí)題
- 光伏逆變器一課件
- 2023年上海師范大學(xué)輔導(dǎo)員招聘考試筆試題庫及答案解析
- (完整版)英語高頻詞匯800詞
- 嚴(yán)重精神障礙患者發(fā)病報(bào)告卡
- 《基礎(chǔ)馬來語》課程標(biāo)準(zhǔn)(高職)
- 2021年國標(biāo)熱鍍鋅鋼管規(guī)格、尺寸理論重量表
- 烏魯木齊基準(zhǔn)地價(jià)修正體系
- DB32-T 3177-2017草莓-蕹菜水旱輪作設(shè)施栽培技術(shù)規(guī)程 -(高清現(xiàn)行)
- GB∕T 3216-2016 回轉(zhuǎn)動力泵 水力性能驗(yàn)收試驗(yàn) 1級、2級和3級
- 七年級數(shù)學(xué)資料培優(yōu)匯總精華
評論
0/150
提交評論