微機原理及應(yīng)用(第2版)PPT完整全套教學(xué)課件_第1頁
微機原理及應(yīng)用(第2版)PPT完整全套教學(xué)課件_第2頁
微機原理及應(yīng)用(第2版)PPT完整全套教學(xué)課件_第3頁
微機原理及應(yīng)用(第2版)PPT完整全套教學(xué)課件_第4頁
微機原理及應(yīng)用(第2版)PPT完整全套教學(xué)課件_第5頁
已閱讀5頁,還剩605頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理及應(yīng)用(第2版)第1章微型計算機運算基礎(chǔ)知識.ppt第2章微型計算機系統(tǒng)概述.ppt第3章微處理器.ppt第4章指令系統(tǒng)與匯編語言程序設(shè)計.ppt第5章存儲器技術(shù)20140124.ppt第6章輸入輸出接口技術(shù)及中斷.ppt第7章微機的并行接口技術(shù)及應(yīng)用.ppt第8章定時器計數(shù)技術(shù).ppt第9章串行通信接口技術(shù).ppt第10章模數(shù)和數(shù)模轉(zhuǎn)換技術(shù).ppt第11章總線技術(shù).ppt第12章提高微處理器性能的技術(shù).ppt全套可編輯PPT課件

第1章數(shù)字電路基礎(chǔ)與計算機運算基礎(chǔ)

1.1微型計算機的發(fā)展1.2計算機中的數(shù)制1.3定點數(shù)1.4IEEE754標準浮點數(shù)1.5無符號數(shù)的算術(shù)運算與邏輯運算1.1微型計算機的發(fā)展

1946年—1957年——電子管計算機1.1.1計算機的發(fā)展概況

1946年2月14日在美國誕生,名為ENIAC。采用電子管(真空管),使用機器語言編程,主要應(yīng)用于軍事目的、科學(xué)研究。采用晶體管,體積小、質(zhì)量輕、耗電少、運算速度快。使用了操作系統(tǒng),采用高級語言編程,應(yīng)用領(lǐng)域廣泛。

1958年—1964年——晶體管計算機1.1微型計算機的發(fā)展

1965年—1970年——中、小規(guī)模集成電路1.1.1計算機的發(fā)展概況

采用中、小規(guī)模的集成電路(MSI、SSI),用半導(dǎo)體存儲器取代磁芯存儲器,體積更小、耗電更少、可靠性更高、功能更強、運算速度更快。

一塊半導(dǎo)體芯片上集成幾千個甚至數(shù)十億個晶體管,性能不斷提高,價格不斷下降,推動了計算機的飛速發(fā)展。1971年至今——大規(guī)模、超大規(guī)模集成電路

第一代:1971年—1973年1.1.2微處理器及微機的發(fā)展1971年,Intel推出Intel4004的4位微處理器1972年,Intel又推出了的8008微處理器,采用PMOS工藝,集成度大約為2000個晶體管/片,時鐘頻率小于1MHz,使用機器語言編程,平均指令執(zhí)行時間為10~15μs。8位字長,如Intel推出的8080和8085。采用NMOS工藝,約9000個晶體管/片,時鐘頻率小于4MHz,指令系統(tǒng)較完善,使用了操作系統(tǒng),采用匯編語言、高級語言編程,平均指令執(zhí)行時間為1~2μs。

第二代:1974年—1977年

第三代:1978年—1984年1.1.2微處理器及微機的發(fā)展16位字長,如Intel推出的8086/8088、80286。其采用HMOS工藝,約29000個晶體管/片,時鐘頻率為4~25MHz,指令系統(tǒng)更加完善,使用操作系統(tǒng),可以采用匯編語言、高級語言編程。1985年,Intel推出32位的80386,采用了CHMOS工藝,約15~50萬個晶體管/片,時鐘頻率有16MHz、25MHz及33MHz三種,首次采用了32位結(jié)構(gòu),地址線和數(shù)據(jù)線均為32位,可尋址4GB內(nèi)存空間。

第四代:1985年—1992年

第五代:1993年—2002年1.1.2微處理器及微機的發(fā)展1993年,Intel推出第五代Pentium586,簡稱P5,,之后推出了PentiumPro、PentiumⅡ、PentiumⅢ(統(tǒng)稱為P6),還有Pentium4及Celeron(賽揚)和Xeon(至強)等。P5、P6及Pentium4等都是32位結(jié)構(gòu),統(tǒng)稱為第五代。

以字長64位為核心的計算機。Core(酷睿)等通常稱為第六代。除Intel公司外,還有AMD、IBM、SUN等公司先后推出了多種采用精減指令系統(tǒng)(RISC)結(jié)構(gòu)的64位微處理器。

第六代:2003年—至今1.2計算機的數(shù)制

1、十進制1.2.1數(shù)制由0、1、2、3、4、5、6、7、8、9構(gòu)成;逢十進一由0、1構(gòu)成;逢二進一。

2、二進制

3、八進制

4、十六進制由0、1、2、3、4、5、6、7構(gòu)成;逢八進一

由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F構(gòu)成;逢十六進一

1、十進制轉(zhuǎn)換為二進制1.2.2不同數(shù)制之間的轉(zhuǎn)換整數(shù)部分:除2取余例如,將十進制數(shù)44轉(zhuǎn)換成二進制數(shù)。44/2=22余數(shù)=0(最低位)22/2=11余數(shù)=011/2=5余數(shù)=15/2=2余數(shù)=12/2=1余數(shù)=01/2=0余數(shù)=1(最高位)轉(zhuǎn)換結(jié)果為44D=101100B。

1、十進制轉(zhuǎn)換為二進制1.2.2不同數(shù)制之間的轉(zhuǎn)換小數(shù)部分:乘2取整例如,將十進制數(shù)0.375轉(zhuǎn)換成二進制數(shù)。0.375×2=0.750整數(shù)=0(最高位)0.75×2=1.50整數(shù)=10.50×2=1.00整數(shù)=1(最低位)轉(zhuǎn)換結(jié)果為0.375D=0.011B。

1、二進制轉(zhuǎn)換為八進制1.2.2不同數(shù)制之間的轉(zhuǎn)換二進制整數(shù):低位到高位,3位一組,不足3位,高位補0。

例如,將二進制數(shù)11101011轉(zhuǎn)換為八進制數(shù),高位補一個0,寫成011101011B=353O。二進制小數(shù):高位到低位,3位一組,不足3位,右邊補0。

例如,將二進制數(shù)0.1101011轉(zhuǎn)換為八進制數(shù),低位補兩個0,寫成0.110101100B=0.654O。1.3定點數(shù)1.3.1定點數(shù)的表示法

1、純小數(shù)

2、純整數(shù)小數(shù)點固定在X0與X1之間,數(shù)X的表示范圍為:0≤|X|≤1-2-n

小數(shù)點固定在Xn的右邊,數(shù)X的表示范圍為:0≤|X|≤2n-1

定點數(shù):約定二進制數(shù)的小數(shù)點位置固定在某一位。通常有兩種格式:一小數(shù)點固定在數(shù)的最左邊,即純小數(shù);二固定在數(shù)的最右邊,即純整數(shù)。1.3.2定點數(shù)的原碼、反碼與補碼

1、機器數(shù)與真值

計算機只能識別1和0兩個狀態(tài),那么如何確定與識別是正二進制數(shù)還是負二進制數(shù)呢?

解決的辦法是將二進制數(shù)的最高位作為符號位。例如,1表示負數(shù),0表示正數(shù)。

若字長取8位,則10001111B表示-15,00001111B表示+15,這便構(gòu)成了計算機所能識別的數(shù)。

帶符號的二進制數(shù)稱為機器數(shù),機器數(shù)所代表的值稱為真值。1.3.2定點數(shù)的原碼、反碼與補碼

2、原碼表示法式中,X0為符號位。若n=7,即字長8位,則①X的取值范圍:-127~+127。②[+127]原=01111111。③[-127]原=11111111。定點整數(shù)的原碼為X0X1X2…Xn,則原碼表示的定義為1.3.2定點數(shù)的原碼、反碼與補碼

3、反碼表示法若n取7,即字長8位,則①X的取值范圍:-127~+127。②[+127]反=01111111。③[-127]反=10000000。反碼表示的定義為1.3.2定點數(shù)的原碼、反碼與補碼

4、補碼表示法如果n取7,即字長8位,那么①X的取值范圍:-128~+127。②[+127]補=01111111。③[-128]補=10000000。定點整數(shù)補碼表示的定義為1.4IEEE754標準浮點數(shù)1.4.1浮點數(shù)的表示法任意一個十進制數(shù)N可以寫成:

N=10E×M

同樣地,任意一個二進制數(shù)N可以寫成:

N=2E×m

式中,m為浮點數(shù)的尾數(shù),是一個純小數(shù);E是比例因子的指數(shù),稱為浮點數(shù)的指數(shù),是一個純整數(shù),比例因子的基數(shù)是一個常數(shù),這里取值為2。

例如,N=101.1101=20011×0.1011101。1.4IEEE754標準浮點數(shù)1.4.1浮點數(shù)的表示法在計算機中存放一個完整的浮點數(shù),應(yīng)該包括階碼、階符、尾數(shù)及尾數(shù)的符號(數(shù)符)4部分,如下所示:ESE1E2…EmMSM1M2…Mn階符階碼數(shù)符尾數(shù)1.4IEEE754標準浮點數(shù)1.4.2浮點數(shù)的規(guī)格化

1、移碼的表示法字長n=8,定點整數(shù)移碼的定義為: [X]移=2n-1+X

-2n-1≤X<+2n-1

由于有一位符號位,偏移量是27=128,所以,真值X的取值范圍是-128~127,那么[X]移的范圍是00000000~11111111B。1.4IEEE754標準浮點數(shù)1.4.2浮點數(shù)的規(guī)格化

2、浮點數(shù)的階碼32位浮點數(shù)中,約定基數(shù)R=2。S是尾數(shù)的符號位,即浮點數(shù)的符號位,它占一位,被安排在最高位。例如,選用補碼表示尾數(shù)部分,0表示正數(shù),1表示負數(shù)。

尾數(shù)M占23位,放在低位部分,尾數(shù)是用純小數(shù)表示的。E是階碼,占8位,階碼采用移碼的方式來表示,便于浮點數(shù)的運算。

階碼的上移值是128,實際取127,即E=e+127。最高位是符號位,符號位為0表示負數(shù),為1表示正數(shù),與補碼的符號位正好相反。1.4IEEE754標準浮點數(shù)1.4.2浮點數(shù)的規(guī)格化

3、浮點數(shù)的規(guī)格化為了提高浮點數(shù)的精度,在調(diào)整浮點數(shù)時,對浮點數(shù)的尾數(shù)進行規(guī)格化,即尾數(shù)域的最左邊總有一位整數(shù)1不予存取,在計算過程中,默認有一個整數(shù)1存在。對單精度浮點數(shù)而言,實際將尾數(shù)擴充到了24位,稱其為規(guī)格化的IEEE754標準的浮點數(shù)。

根據(jù)規(guī)格化32位浮點數(shù)的表示形式,可以反過來求數(shù)N的真值,采用如下公式:

N=(-1)S×(1.M)×2E-127

e=E-1271.4IEEE754標準浮點數(shù)1.4.2浮點數(shù)的規(guī)格化

3、浮點數(shù)的規(guī)格化【例1-8】設(shè)N=20111×0.1011101,求數(shù)N規(guī)格化的32位IEEE754標準的浮點數(shù)。解:N=200000111×0.10111010000000000000000=200000110×1.01110100000000000000000其浮點數(shù)格式:S為0,E=e+127=00000110+01111111=10000101,最后,

M=01110100000000000000000。1.5無符號數(shù)、BCD碼與ASCII碼1.5.1無符號數(shù)的表示范圍及算術(shù)運算

1、無符號數(shù)的表示范圍

無符號數(shù)的每一位0或1都是有效的數(shù)據(jù)位,沒有符號位。無符號數(shù)表示的范圍一定是正數(shù),無符號數(shù)不可能表示為負數(shù)。

設(shè)計算機字長為n位,一個n位無符號二進制數(shù)X可以表示的數(shù)值范圍為 0≤X≤2n-1例如:n=8,X=28-1=255,即0≤X≤255,范圍從00000000B到11111111B。

2、無符號數(shù)的算術(shù)運算兩個無符號數(shù)的加法運算,運算規(guī)則是:位權(quán)值相同的兩個二進制數(shù)逐位相加,逢二進一。如果最高位相加有進位輸出,則稱之為進位,是有效數(shù)據(jù)位?!纠?-9】列豎式進行兩個無符號二進制數(shù)10101101和10001101的加法運算。10101101+10001101100111010

2、無符號數(shù)的算術(shù)運算兩個無符號數(shù)的減法運算,運算規(guī)則是:位權(quán)值相同的兩個二進制數(shù)逐位相減,向高位借1位等于2;如果最高位相減有借位,表示被減數(shù)不夠減?!纠?-10】列豎式進行兩個無符號二進制數(shù)10101101和10011101的減法運算。10101101-10011101000100001.5.2無符號數(shù)的邏輯運算

1、邏輯與運算邏輯與運算又稱為邏輯乘運算,邏輯與運算產(chǎn)生兩個邏輯變量的邏輯積,兩個N位二進制數(shù)實現(xiàn)邏輯與運算的規(guī)則是兩個N位二進制數(shù)中位權(quán)值相等的位相“與”,產(chǎn)生N位二進制數(shù)的邏輯積?!纠?-11】已知A=10101101,B=00001111,求Y=A·B。10101101∧00001111000011011.5.2無符號數(shù)的邏輯運算

2、邏輯或運算邏輯或運算又稱為邏輯加運算,邏輯或運算產(chǎn)生兩個邏輯變量的邏輯或,兩個N位二進制數(shù)實現(xiàn)邏輯或運算的規(guī)則是兩個N位二進制數(shù)中位權(quán)值相等的位相“或”,產(chǎn)生N位二進制數(shù)的邏輯或。【例1-12】已知A=10101101,B=00001111,求Y=A+B。10101101∨00001111101011111.5.2無符號數(shù)的邏輯運算

3、邏輯非運算邏輯非運算對單一的邏輯變量進行求反運算,為邏輯否定,邏輯1取反為邏輯0,邏輯0取反為邏輯1,用表達式表示為Y=,對N位二進制數(shù)求反,是將N位二進制數(shù)中各位逐位取反,其結(jié)果是原二進制數(shù)的反

。【例1-13】已知A=10101101,求

。1.5.2無符號數(shù)的邏輯運算

4、邏輯異或運算邏輯異或運算產(chǎn)生兩個邏輯變量之間的“不相等”的邏輯加,兩個N位二進制數(shù)實現(xiàn)邏輯異或運算的規(guī)則是兩個N位二進制數(shù)中位權(quán)值相等的位相“異或”,產(chǎn)生N位二進制數(shù)的邏輯異或。【例1-14】已知A=10101101,B=00001111,求Y=ABAB

1010110100001111101000101.5.3BCD碼與ASCII碼

1、BCD碼(二—十進制碼)BCD碼是一種常用的數(shù)字代碼,它是將每個十進制數(shù)用4位二進制數(shù)來表示的編碼。在計算機中,計算機不僅要處理二進制數(shù),還要處理十進制數(shù)。在計算機中常用的BCD碼是8421碼,其被稱為8421BCD碼或標準BCD碼。每個BCD碼每位上對應(yīng)的權(quán)值與二進制權(quán)值相同

,十進制數(shù)0~9的BCD碼分別為0000、0001、0010、0011、0100、0101、0110、0111、1000、1001,而1010~1111這6種編碼不被使用。例如,98可以寫成10011000,或者寫成(10011000)BCD。1.5.3BCD碼與ASCII碼

2、ASCII碼(美國信息交換標準代碼)計算機能夠識別各種數(shù)字進行算術(shù)運算和邏輯運算,還能夠識別各種字母和符號。比如,計算機的輸入/輸出設(shè)備均以ASCII碼傳輸字母和各種符號,空格、換行等均有相應(yīng)的控制符,以及文件編輯和各種管理也使用ASCII碼。計算機中常用的是7位ASCII碼,共計128個ASCII字符,ASCII碼編碼表如表1-3所示。128個ASCII字符可以分為兩部分,一部分由94個編碼組成,另一部分由34個編碼組成。前者包括(0~9)10個阿拉伯?dāng)?shù)字、52個英文大小寫字母、32個標點符號和運算符;后者包括34個控制命令的ASCII碼,稱為控制字符,其編碼值為0~32和127。

第2章微型計算機系統(tǒng)概論

2.1微型計算機的硬件系統(tǒng)2.2微型計算機的軟件系統(tǒng)習(xí)題與思考題2.1微型計算機的硬件系統(tǒng)2.1.1微機硬件系統(tǒng)的基本結(jié)構(gòu)

根據(jù)馮·諾伊曼(VonNeumann)計算機的基本思想,微型計算機的硬件系統(tǒng)由運算器、控制器、存儲器、輸入及輸出(I/O)設(shè)備五大部分組成。

微型計算機(簡稱微機)的運算器和控制器一起集成在微處理器芯片內(nèi),稱之為中央處理單元(CentralProcessorUnit,CPU)。微機的基本結(jié)構(gòu)如圖所示,它由CPU、內(nèi)存儲器、各類I/O接口、相應(yīng)的I/O設(shè)備,以及連接各部件的地址總線、數(shù)據(jù)總線、控制總線組成。圖2-1微機的基本結(jié)構(gòu)圖定時電路只讀存儲器ROM微處理器CPU隨機存儲器RAMI/O接口輸出設(shè)備輸入設(shè)備地址總線AB數(shù)據(jù)總線DB控制總線CB1.微處理器

微處理器(Microprocessor)簡稱μP或MP或CPU。CPU是采用大規(guī)模和超大規(guī)模集成電路技術(shù)將算術(shù)邏輯部件ALU(ArithmeticLogicUnit)、控制部件CU(ControlUnit)和寄存器組R(Registers)等三個基本部分及內(nèi)部總線集成在一塊半導(dǎo)體芯片上構(gòu)成的電子器件。2.存儲器

存儲器包括只讀存儲器(ROM)和隨機存取存儲器(RAM)兩類,存儲器的功能主要是用于存放程序與數(shù)據(jù)。

存儲器被劃分成許許多多的小單元,稱為存儲單元,一個存儲單元包括8位(bit)二進制數(shù),即一字節(jié)(Byte)。在微機中,存儲器均按字節(jié)(一字節(jié)由8位二進制信息組成)編址,即每個字節(jié)有一個二進制地址編碼。地址信息數(shù)據(jù)信息FFFFH讀/寫控制電路存儲單元(8bit)存儲單元(8bit)存儲單元(8bit)存儲單元(8bit)讀/寫控制信號FFFEH0001H0000H地址譯碼器圖2-2存儲器的地址分配與存儲單元◆CPU從存儲器中讀出數(shù)據(jù),或者是把數(shù)據(jù)存入存儲器中,都稱為訪問存儲器?!魪拇鎯ζ髦凶x出數(shù)據(jù)稱讀訪問,數(shù)據(jù)存入存儲器稱為寫訪問?!鬋PU訪問存儲器時,首先發(fā)出待訪問存儲單元的地址,其次要發(fā)出讀操作命令或?qū)懖僮髅?,并進行數(shù)據(jù)的輸入和輸出。3.輸入/輸出接口及其外設(shè)

I/O接口(Interface)是CPU與I/O設(shè)備之間的連接電路,不同的I/O設(shè)備有不同的I/O接口電路,例如,顯示器通過顯卡與CPU相連接,鍵盤通過鍵盤接口電路與CPU相連接,網(wǎng)絡(luò)通過網(wǎng)卡才能與CPU連接。

4.總線

總線(BUS)包括地址總線、數(shù)據(jù)總線和控制總線三種。所謂總線,它將多個功能部件連接起來,并提供傳送信息的公共通道,能為多個功能部件分時共享??偩€上能同時傳送二進制信息的位數(shù)稱為總線寬度。

2.1.216位微機結(jié)構(gòu)圖2-3IBMPC/AT及其兼容機的主板結(jié)構(gòu)2.1.332位微機結(jié)構(gòu)圖2-4IntelCore2微機控制中心的分層結(jié)構(gòu)圖

以80386處理器指令集結(jié)構(gòu)為標準的微處理器統(tǒng)稱為Intel32位結(jié)構(gòu)(IntelArchitecture-32,IA-32)。

IntelCore2是Pentium系列的處理器,以其為控制中心組成的主板構(gòu)成了多層次的結(jié)構(gòu),如圖2-4所示。該微機控制中心的分層結(jié)構(gòu)包含:1個CPU、3個外圍芯片、5種接口及7類總線,系統(tǒng)結(jié)構(gòu)滿足所謂的1-3-5-7規(guī)則。

2.3個外圍芯片包括北橋芯片(MCH)、南橋芯片(ICH)及BIOS芯片(FWH)。

1.微機系統(tǒng)以CPU為中心進行設(shè)計,CPU位于系統(tǒng)分層結(jié)構(gòu)的頂層(第一層),控制全系統(tǒng)的運行狀態(tài)。從系統(tǒng)性能上分析,CPU的運行速度最快,上層的數(shù)據(jù)逐層傳輸?shù)较聦樱鋫鬏斔俣戎饾u減低。

3.5種接口(1)串行ATA(AdvancedTechnologyAttachment)接口(3)超級輸入/輸出接口(SIO)所謂“超級”是指它集成了PS/2鍵盤(KB)、PS/2鼠標(MS)、RS-232-C串口通信(COM)、并口(LPT)等接口的處理功能,而這些接口連接的設(shè)備都是計算機中慢速的I/O設(shè)備。

(2)電子集成驅(qū)動器(IntegratedDriveElectronics,IDE圖2-10外部接口圖

(4)LAN(LocalAreaNetwork)接口

LAN接口被稱為局域網(wǎng)接口,LAN接口是內(nèi)網(wǎng)接口,主要用于路由器與局域網(wǎng)進行連接,因局域網(wǎng)類型也是多種多樣的,所以也就決定了路由器的局域網(wǎng)接口類型也可能是多樣的。不同的網(wǎng)絡(luò)有不同的接口類型,常見的以太網(wǎng)接口主要有AUI、BNC和RJ-45接口等。路由器或者交換機上的LAN口,一般是指局域網(wǎng)口,RJ-45接口就是一般的網(wǎng)線接頭。2.2微型計算機的軟件系統(tǒng)2.1.1系統(tǒng)軟件和應(yīng)用軟件1.微型計算機系統(tǒng)的層次結(jié)構(gòu)

系統(tǒng)軟件是由計算機廠家提供的專門用于使用和管理計算機的軟件,而應(yīng)用軟件是用戶為解決實際問題,自行編制的各種程序。計算機軟件系統(tǒng)包括系統(tǒng)軟件和應(yīng)用軟件兩大類。2.系統(tǒng)軟件

系統(tǒng)軟件是為了方便使用、維護和管理計算機資源的程序及其文檔。它包括操作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理系統(tǒng)、設(shè)備驅(qū)動程序、工具類程序等,其中,最重要的是操作系統(tǒng)。3.應(yīng)用軟件

應(yīng)用軟件是為了某種特定的用途而開發(fā)的各種軟件及其有關(guān)的資料。應(yīng)用軟件必須在系統(tǒng)軟件的環(huán)境下運行,才能被用戶使用。

應(yīng)用軟件包括辦公室軟件、互聯(lián)網(wǎng)軟件、多媒體軟件、實時工業(yè)控制軟件、分析軟件、商務(wù)軟件等。2.2.2計算機程序設(shè)計語言

程序設(shè)計語言是用來開發(fā)計算機應(yīng)用軟件的編程語言,即程序員用來編寫程序的語言,是人與計算機之間交流的工具。按照編程語言發(fā)展的先后順序,計算機語言可分為機器語言、匯編語言和高級語言。

2.2.3微型計算機系統(tǒng)

微型計算機系統(tǒng)由微型計算機、軟件、I/O設(shè)備及電源等組成。微型計算機由微處理器、存儲器、I/O接口電路及總線四部分組成。

微型計算機系統(tǒng)I/O設(shè)備電源存儲器軟件微處理器應(yīng)用軟件系統(tǒng)軟件微型計算機總線I/O接口電路算術(shù)邏輯運算部件控制器只讀存儲器ROM控制總線串行接口隨機存取存儲器RAM定時接口寄存器組并行接口數(shù)據(jù)總線地址總線圖2-6微型計算機系統(tǒng)的基本組成小結(jié)

微型計算機系統(tǒng)由微型計算機、軟件、I/O設(shè)備及電源等組成。微型計算機由微處理器、存儲器、I/O接口電路及總線四部分組成。軟件由系統(tǒng)軟件和應(yīng)用軟件組成。系統(tǒng)軟件包括操作系統(tǒng)和一系列系統(tǒng)實用程序,如編輯程序、匯編程序、編譯程序、調(diào)試程序等。應(yīng)用軟件則是為解決各類問題所編寫的應(yīng)用程序。在系統(tǒng)軟件的支持下,微型計算機系統(tǒng)中的硬件功能才能發(fā)揮,用戶才能方便地使用計算機。本章習(xí)題與思考題

作業(yè):第2.1、2.2題

思考題:2.3題

第3章微處理器

3.1微處理器的基本功能和基本組成3.2微處理器內(nèi)部的寄存器3.3微處理器對存儲器的管理3.48086系統(tǒng)中的存儲器組織3.532位微處理器習(xí)題與思考題3.1.1微處理器的基本組成微處理器的基本組成包括運算器和控制器兩大部分。3.1微處理器的基本功能和基本組成

1.運算器運算器常稱為算術(shù)邏輯運算單元(ALU)。圖3-1運算器示意圖2.控制器

控制器最基本部件由指令指針(InstructionPointer,IP)、指令寄存器(InstructionRegister,IR)、指令譯碼器(InstructionDecoder,ID)及操作控制器(OC)等組成。圖3-2基本控制器示意圖3.1.2微處理器的基本組成①指令控制功能,即控制程序順序執(zhí)行的功能。②操作控制功能,程序是由有序指令的集合而成,CPU執(zhí)行程序就是要逐條執(zhí)行程序中的指令,一條指令的執(zhí)行往往由若干操作信號的組合來實現(xiàn),CPU根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地選擇數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。3.2微處理器內(nèi)部的寄存器3.2.18086微處理器內(nèi)部的寄存器1.8086微處理器內(nèi)部組成

8086CPU由兩大部件組成,分為總線接口部件(BusInterfaceUnit,BIU)和執(zhí)行部件(ExecutionUnit,EU)。(1)總線接口部件BIU①Σ表示20位地址加法器,它能將16位邏輯地址變換成讀/寫存儲器所需要的20位物理地址。②4個16位段寄存器:

CS,代碼段寄存器(CodeSegment);

DS,數(shù)據(jù)段寄存器(DataSegment);SS,堆棧段寄存器(StackSegment);ES,附加段寄存器(ExtraSegment)。③IP,16位指令指針(InstructionPointer),專用于存放下一條將要執(zhí)行指令的偏移地址。④輸入/輸出控制電路,用于控制總線的開放、關(guān)閉及信號傳送的方向等。⑤6字節(jié)指令隊列緩沖器,用于存放預(yù)先從存儲器取出的6字節(jié)的指令代碼。

總線接口部件BIU的基本工作原理:代碼段寄存器CS中的16位段基地址左移4位,并且低4位補4個0,加上16位指令指針I(yè)P的值,產(chǎn)生20位物理地址(實際地址),這由20位地址加法器完成,20位物理地址存入地址寄存器,并由地址寄存器輸出端連接到CPU的外部地址總線,然后,通過總線控制邏輯發(fā)出存儲器讀信號,從20位物理地址指定的存儲單元中取出指令,送到指令緩沖隊列中等待執(zhí)行。(2)執(zhí)行部件EU

執(zhí)行部件EU的主要功能:從BIU中的指令隊列獲取指令,對指令進行譯碼分析并執(zhí)行。向BIU提出訪問存儲器或I/O接口的請求,執(zhí)行指令所需要的操作數(shù)和運算結(jié)果都是通過總線接口部件與指定的內(nèi)存單元或外設(shè)端口進行傳送的。①ALU,算術(shù)邏輯部件(ArithmeticLogicUnit)。ALU可以對2個8位或16位的二進制數(shù)進行算術(shù)運算和邏輯運算,以及對8位或16位的二進制數(shù)作移位操作等。②暫存器,由16位寄存器組成,用于暫時存放參加運算的操作數(shù)。③FLAGS,標志寄存器,也稱程序狀態(tài)字PSW,用于存放ALU運算結(jié)果的標志等。④通用寄存器組,8個通用的16位寄存器,AX、BX、CX、DX、SI、DI、堆棧指針SP和基址指針BP。

2.8086CPU內(nèi)部的寄存器組8086CPU內(nèi)包含4組16位寄存器,它們分別是通用寄存器組、段寄存器、指令指針寄存器及標志位寄存器。圖3-48086CPU內(nèi)部寄存器15870

DHDL

IP

AHAL

BHBL

CHCL

FLAGS

AXBXCXDX

SPBPSIDI

CSDSESSS

(1)通用寄存器組通用寄存器組由8個16位的寄存器組成,包括AX、BX、CX和DX共計4個16位的寄存器以及SP、BP、SI、DI寄存器。

每個寄存器還有它們各自的專用場合,其中:AX稱為累加器,使用最頻繁,用于算術(shù)運算、邏輯運算以及在輸入輸出指令中作數(shù)據(jù)寄存器使用等;BX稱為基址寄存器,在間接尋址中作基址寄存器,常用作偏移地址訪問數(shù)據(jù)段;CX稱為計數(shù)寄存器,作為循環(huán)和串行操作等指令中的隱含計數(shù)器;DX稱為數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位或存放外設(shè)端口的地址。

源變址寄存器SI(SourceIndex)和目的變址寄存器DI(DestinationIndex),通常與DS數(shù)據(jù)段寄存器一起使用,用來確定數(shù)據(jù)段中某一存儲單元的地址。在進行字符串操作時,SI用于存放源操作數(shù)的偏移地址,DI用于存放目的操作數(shù)的偏移地址,SI與DS聯(lián)用,DI與ES聯(lián)用,分別尋址數(shù)據(jù)段和附加數(shù)據(jù)段。

SP,BP,SI和DI這4個通用寄存器通常用于存儲器尋址時提供偏移地址,也可以用作數(shù)據(jù)寄存器。

SP稱為堆棧指針(StackPointer),或稱堆棧指示器,必須與SS堆棧段寄存器聯(lián)用。SP用于指示棧底或棧頂?shù)钠频刂贰?/p>

BP稱為基址指針(BasePointer),常用作偏移地址訪問堆棧段。

(2)段寄存器

8086CPU內(nèi)部設(shè)有4個16位段寄存器,4個段寄存器的內(nèi)容把存儲器分成了4個不同使用目的的存儲空間,包括代碼段寄存器CS、數(shù)據(jù)段寄存器DS、附加段寄存器ES、堆棧段寄存器SS。段寄存器與段內(nèi)偏移地址組合形成20位物理地址。段內(nèi)偏移地址可能存放在寄存器中,也可能存放在存儲器中。代碼段寄存器CS:定義了代碼段的起始地址,用邏輯地址表示為:CS:0000H,代碼段用來保存微處理器使用的程序代碼。最末地址是CS:FFFFH,所以代碼段的最大存儲范圍是:CS:0000H~CS:FFFFH,即最大存儲空間為64KB。

D7D6D5D4D3D2D1D0邏輯地址存儲器CS:0000HCS:0001HCS:0002HCS:FFFFHD7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0圖3-5代碼段存儲空間示意圖

數(shù)據(jù)段寄存器DS:定義了數(shù)據(jù)段的起始地址,用邏輯地址表示為:DS:0000H,末地址是DS:FFFFH,所以數(shù)據(jù)段的最大存儲范圍是:DS:0000H~DS:FFFFH,即最大存儲空間也是64KB。

D7D6D5D4D3D2D1D0邏輯地址存儲器DS:0000HDS:0001HDS:0002HDS:FFFFHD7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0

圖3-6數(shù)據(jù)段存儲空間示意圖

附加段寄存器ES:附加段寄存器ES定義了附加段的起始地址,附加段的最大存儲空間也為64KB。附加數(shù)據(jù)段是為某些串操作指令存放操作數(shù)而附加的一個數(shù)據(jù)段。附加段也可以作為一般數(shù)據(jù)段使用。堆棧段寄存器SS:堆棧段寄存器SS定義了堆棧段的起始地址,它是一個特殊的隨機存取存儲區(qū),堆棧段寄存器SS與堆棧指針SP共同確定堆棧段內(nèi)的存取地址(SS:SP),其最大存儲空間為64KB。堆棧段用用途:臨時保存程序執(zhí)行過程中代碼的地址信息、臨時保存有關(guān)寄存器的內(nèi)容傳遞參數(shù)等。(3)指令指針I(yè)P

16位指令指針I(yè)P:用來存放將要執(zhí)行的下一條指令在當(dāng)前代碼段中的偏移地址,它與代碼段寄存器CS聯(lián)用(CS:IP),以確定下一條指令的物理地址?!纠?-1】設(shè)存放在CS中的當(dāng)前代碼段基地址值是8000H,IP中存放下一條將要執(zhí)行指令的段內(nèi)偏移地址是0500H,求其物理地址PA。解:PA=8000H×16+0500H=80500H。一個代碼段64KB存儲器0000:0000HD7D6D5D4D3D2D1D00000:0001H8000:0000H8000:0500H8000:FFFFHF000:FFFFHCS段始地址CS段終地址偏移量IP=0500H段地址8000H圖3-7存儲器及代碼段的示意圖(4)標志寄存器(FLAGS)在16位標志寄存器中,實際使用了其中的9位,9個標志位分成兩類:6位狀態(tài)標志,CF、PF、AF、ZF、SF和OF,主要用于反映算術(shù)運算指令和邏輯運算指令執(zhí)行結(jié)果的狀態(tài)

3位控制標志,TF、IF和DF,用來控制CPU的操作。

TFSFD15IFDFOFZFAFPFCFD14D0D1圖3-8標志寄存器標志位:①CF,進位標志位(CarryFlag)。當(dāng)前運算后最高位有進位或借位時,CF=1,否則CF=0。例:17H+5CH=73H沒有進位,則CF=0D5H+3EH=(1)13H有進位,則CF=1②PF,奇偶校驗標志位(ParityFlag)。當(dāng)前運算后,結(jié)果的低8位中“1”的個數(shù)為奇數(shù)時,PF=0,否則PF=1。

③AF,輔助進位標志位(AuxiliaryCarryFlag)。當(dāng)前運算后,結(jié)果低4位向高4位有進位或借位時,AF=1,否則AF=0。通常用于對8421BCD碼算術(shù)運算結(jié)果進行調(diào)整。

④ZF,零標志位(ZeroFlag)。當(dāng)前運算后,運算結(jié)果為0時,ZF=1,表示0成立,否則,ZF=0。

⑤SF,符號標志位(SignFlag)。當(dāng)前運算結(jié)果的最高位為1時,則符號標志SF=1,否則SF=0。

標志位:⑥OF,溢出標志位(OverflowFlag)。當(dāng)前運算結(jié)果有溢出時,溢出標志OF=1,否則OF=0。

標志位:

溢出是指補碼運算的結(jié)果超出了所選字長能表示數(shù)的范圍。例如,8位補碼所能表示數(shù)的范圍是-128~+127。

兩數(shù)相加,若兩個加數(shù)的最高位為0,可能產(chǎn)生上溢出;兩數(shù)相加,若兩個加數(shù)的最高位為1,可能產(chǎn)生下溢出;兩數(shù)相加,若兩個加數(shù)的最高位相異時,不可能產(chǎn)生溢出;兩數(shù)相減,若被減數(shù)的最高位為0,減數(shù)的最高位為1,可能則產(chǎn)生上溢出;兩數(shù)相減,若被減數(shù)的最高位為1,減數(shù)的最高位為0,可能產(chǎn)生下溢出;兩數(shù)相減,被減數(shù)及減數(shù)的最高位相同時,不可能產(chǎn)生溢出。

【例3-2】指出執(zhí)行下列加法操作后各個標志位的狀態(tài)。

10100100

11000101

101101001

+執(zhí)行后,各狀態(tài)標志位的狀態(tài)應(yīng):

CF=AF=PF=ZF=SF=OF=101001⑦DF,方向標志(DirectionFlag),用于控制串操作指令中地址指針的變化方向。DF=0,每執(zhí)行一次串操作后,存儲器地址自動增加。DF=1,每執(zhí)行一次串操作后,存儲器地址自動減少。⑧IF,中斷允許標志(InterruptFlag),該標志用于控制CPU是否響應(yīng)外部可屏蔽中斷(INTR)請求。IF=0,禁止CPU接收外部可屏蔽中斷請求。IF=1,允許CPU響應(yīng)外部可屏蔽中斷請求。⑨TF,陷井標志(TrapFlag),常稱為單步標志。在調(diào)試程序時,可設(shè)置CPU工作在單步方式。TF=1時,CPU每執(zhí)行完一條指令就自動產(chǎn)生一個內(nèi)部中斷,于是,CPU運行單步中斷服務(wù)程序,會把當(dāng)前CPU中各寄存器的值等在屏幕上顯示出來,用戶能逐條跟蹤程序的運行。

當(dāng)TF=0時,CPU不能單步執(zhí)行指令,但允許連續(xù)執(zhí)行指令。3.2.280386CPU內(nèi)部的寄存器它兼容8086CPU的8個16位通用寄存器;還兼容了的8個8位的寄存器AH、AL、BH、BL、CH、CL、DH、DL;將原來的8個16位通用寄存器均擴展成32位的寄存器;保留了8086CPU的4個16位的段寄存器;增加了2個16位的數(shù)據(jù)段寄存器FS和GS。圖3-932位CPU內(nèi)部的寄存器1.通用寄存器

8個32位通用寄存器按照它們的功能差別,可以分為:

通用數(shù)據(jù)寄存器;指令指針與變址寄存器。

(1)通用數(shù)據(jù)寄存器

四個32位的通用數(shù)據(jù)寄存器:EAX、EBX、ECX和EDX。通用數(shù)據(jù)寄存器一般用來存放8位、16位或32位的操作數(shù)。

EAX(Accumulator),累加器:可以作為通用8位寄存器(AH和AL)、16位寄存器(AX)及32位寄存器(EAX)使用。如果作為通用8位或16位寄存器使用時,則只改變EAX中低16位中相應(yīng)的數(shù)據(jù),其他位不會改變。當(dāng)CPU執(zhí)行乘法指令、除法指令及調(diào)整指令時,EAX有其固定的特殊用法。

EBX(Base),基址寄存器:EBX可以作為通用8位寄存器(BH和BL)、16位寄存器(BX)及32位寄存器(EBX)使用。

ECX(Count),計數(shù)寄存器:ECX同樣可以作為通用8位(CH和CL)、16位(CX)及32位寄存器使用。

ECX有用于計數(shù)的固定用法,移位和循環(huán)指令一般用CL寄存器計數(shù),重復(fù)的串操作指令一般用CX計數(shù),LOOP/LOOPD等指令用CX或ECX計數(shù)。

EDX(Data),數(shù)據(jù)寄存器:EDX作為通用寄存器,與上述3個寄存器的使用方法相同。但是,CPU執(zhí)行乘法和除法指令時,有固定用法。(2)指針及變址寄存器

四個32位的通用寄存器(ESP、EBP、ESI、EDI)可以用作32位數(shù)據(jù)寄存器。也可以作16位數(shù)據(jù)寄存器(SP、BP、SI、DI),作16位數(shù)據(jù)寄存器使用時,則與8086CPU中的SP、BP、SI、DI兼容。專用場合

ESP:32位的堆棧指針,以ESP為偏移地址,訪問的是堆棧存儲空間,指向堆棧的棧底或棧頂。

EBP:32位的基址指針(基址寄存器)。以EBP為偏移地址,默認訪問的是堆棧存儲空間。

ESI:32位的源變址寄存器,ESI(或16位的SI)用于尋址串操作指令的源數(shù)據(jù)串。

EDI:32位的目的變址寄存器,EDI(或16位的DI)用于尋址串操作指令的目的數(shù)據(jù)串。

2.32位的指令指針寄存器

EIP(ExtendedInstruction

Pointer)

專用于尋址當(dāng)前需要取出的指令碼。 當(dāng)80386及以上的32位微處理器工作在保護模式下時,EIP的32位都有效;當(dāng)工作在實模式下時,32位的EIP僅低16位(IP)有效,與8086兼容。

3.32位標志寄存器

用于指示微處理器進行算術(shù)和邏輯運算后的狀態(tài)以及控制微處理器的有關(guān)操作。各位的定義:

312120191817161514131211109876543210IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCFPentium/PentiumⅡ8086/80888028680386DX80486SX/80486DX圖3-1080x86及Pentium系列微處理器的標志寄存器

EFLAGS在808616位FLAGS基礎(chǔ)上擴充了高16位,其中,增加了NT與IOPL,新增了6個標志位:

(1)NT,嵌套任務(wù)標志該位被置成1時,表示當(dāng)前所執(zhí)行的任務(wù)正嵌套在另一任務(wù)中,該位的置1與清零都是通過任務(wù)的控制轉(zhuǎn)移來實現(xiàn)的,NT用于保護模式。

(2)IOPL,I/O特權(quán)級別用來表示I/O操作處于0~3級特權(quán)中的哪一級,0級最高,3級最低,它是用于指明在保護模式下不產(chǎn)生異常中斷13而執(zhí)行I/O指令時,要求當(dāng)前特權(quán)級CPL的允許值。(3)RF(ResumeFlag),恢復(fù)標志是一個與單步、斷點調(diào)試一起使用的標志。該位置1時,即使遇到斷點或調(diào)試故障,也不產(chǎn)生異常中斷1,即單步中斷。成功地執(zhí)行完一條指令后,該位會自動清零。(4)VM(Virtual8086Mode),虛擬86方式標志位在保護模式下,若VM置1,CPU則轉(zhuǎn)移到虛擬8086模式,在此模式下,CPU像一個高速的8086CPU運行8086的指令。返回保護模式后,此位清零。

(5)AC,對準檢查標志位

AC標志僅對特權(quán)級3的程序即用戶程序有效,若AC=1,且系統(tǒng)級控制寄存器中AM位也為1狀態(tài)時,才允許對特權(quán)級3的程序進行數(shù)據(jù)的對準檢查。若AC=0,則不允許對準檢查。

(6)VIF,虛擬中斷標志位在虛擬86方式下,VIF是中斷標志IF的拷貝。

(7)VIP,虛擬中斷位當(dāng)VIP=1時,表示有一個中斷正等待響應(yīng)與處理。VIP與VIF都起到控制虛擬中斷的作用。

(8)ID,識別標志位如果該標志位能被置位和清零,則指明這個處理器能支持CPUID指令。

CPUID指令提供該處理器的廠商、系列以及模式等信息。

4.16位的段寄存器

新增加2個16位的段寄存器:FS和GS。3.3微處理器對存儲器的管理3.3.132位微處理器的工作模式

從80286CPU開始,關(guān)于微處理器就出現(xiàn)了不同工作模式的概念,解決了CPU性能的提高與兼容性之間的矛盾問題。把微處理器的工作模式分為:實地址模式、保護模式、虛擬8086模式和系統(tǒng)管理模式。

1.實地址模式(Real-AddressMode)

簡稱實模式,是指80286以上的微處理器所運行的8086的工作模式。

CPU尋址內(nèi)存空間1MB,分段管理存儲器,存儲器分成四種類型的段,每段最大為64KB。將1MB的存儲空間保留兩個區(qū)域:1KB的中斷向量表區(qū)(00000~003FFH),用于存放256個中斷服務(wù)程序的入口地址,另一個是初始化程序區(qū)(FFFF0H~FFFFFH),用于存放進入ROM引導(dǎo)區(qū)的一條跳轉(zhuǎn)指令。

2.保護模式(ProtectedVirtualAddressMode)

保護模式又稱虛地址模式:支持多任務(wù)的運行,能提供一系列的保護機制;該模式涵蓋了處理器的所有特點和指令,能發(fā)揮出最好的性能;在保護模式下,CPU可以訪問4GB的物理存儲空間,支持段、頁兩級保護機制,段有4個特權(quán)級,頁面有兩個特權(quán)級,通過分頁機制的使用,可以實現(xiàn)的虛擬邏輯存儲空間高達64TB。

3.虛擬8086模式(Virtual8086Mode)

簡稱“V86模式”,是運行在保護模式中的實模式,是為了讓8086下的16位應(yīng)用程序能在保護模式下執(zhí)行。是既有保護功能又能執(zhí)行8086代碼的工作模式。在V86模式下,微處理器能夠迅速而且反復(fù)地在V86模式和保護模式之間切換,從保護模式進入V86模式,執(zhí)行8086程序,從V86模式切換到保護模式,則繼續(xù)執(zhí)行原來的保護模式程序。即保護模式下的多任務(wù)機制可以讓多個虛擬8086方式任務(wù)和非虛擬8086方式任務(wù)一起在處理器上運行。

4.系統(tǒng)管理模式

Pentium系列微處理器從80486繼承下來了一種系統(tǒng)管理模式(SMM),通過軟件或測到某種硬件條件滿足時,可由其他模式進入SMM。圖3-114種工作模式的相互轉(zhuǎn)換關(guān)系圖

3.3.2實模式存儲器管理實模式1MB存儲器地址空間大致上分為3個存儲區(qū):圖3-12實模式1MB存儲器地址空間劃分通用區(qū)中斷向量表區(qū)1MB內(nèi)存初始化代碼區(qū)00000HFFFFFH04000HFFFEFHFFFF0H003FFHD7

D01.實模式存儲器地址空間的劃分

CPU把存儲器分成四種類型的段,即代碼段、數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段。把16位段寄存器的值乘以16,獲得20位的段首地址,段寄存器的值就是段首地址的高16位,稱其為“段基地址”(SegmentBaseValue).

將段首地址加上16位的偏移地址,才能產(chǎn)生最終的物理地址。

2.實模式存儲器的分段管理

系統(tǒng)的整個存儲空間可以按照順序,分成16個互不重疊的邏輯段,最大容量為64KB;根據(jù)不同的程序,操作系統(tǒng)安排大小不同的各類存儲段,一般小于64KB;段與段之間可以是分開的,接連排列,部分重疊,還可以完全重疊。

圖3-13存儲器分段邏輯結(jié)構(gòu)

在實模式下,邏輯地址由段基地址與段內(nèi)偏移地址組成,寫為“段基地址:偏移地址”。段基地址與段內(nèi)偏移地址都是16位,段基地址是段起始地址的高16位,說明每個段在主存中的起始位置,段內(nèi)偏移地址也稱“偏移量”,是所要訪問存儲單元距離起始地址之間的字節(jié)距離。

3.實模式存儲器的尋址1)實模式物理地址的產(chǎn)生(1)邏輯地址(2)物理地址及其產(chǎn)生

CPU訪問存儲器所發(fā)出的20位物理地址是由當(dāng)前邏輯地址轉(zhuǎn)換產(chǎn)生的,是在CPU內(nèi)部轉(zhuǎn)換完成的。邏輯地址的段基地址左移4位,低4位都補0,變成20位,再加上邏輯地址中的16位段內(nèi)偏移量(或有效地址),最后產(chǎn)生20位物理地址。圖3-14實模式物理地址的形成物理地址=段基地址×16+偏移量 【例3-3】設(shè)數(shù)據(jù)段寄存器DS中的數(shù)值是3000H,源變址寄存器SI中數(shù)值是2000H,若以SI中的數(shù)值作為數(shù)據(jù)段內(nèi)的偏移量,CPU訪問數(shù)據(jù)段內(nèi)物理地址是:物理地址=3000H×16+2000H=32000H

一個邏輯地址段64KB實模式存儲器0000:0000HD7~D00000:0001H3000:0000H3000:2000H3000:FFFFHF000:FFFFHDS段始地址DS段終地址偏移量=2000H段地址3000H圖3-7存儲器及代碼段的示意圖2)段寄存器與偏移地址寄存器的固定搭配圖3-168086CPU段寄存器與偏移地址寄存器的固定搭配SS:SP/BPCS:IPDS:SI/DI/BX內(nèi)存堆棧段代碼段數(shù)據(jù)段3.48086系統(tǒng)中的存儲器組織

在8086系統(tǒng)中,把1MB的存儲器分成兩個存儲體,偶地址存儲體和奇地址存儲體,各為512KB;

在每個存儲體內(nèi)的字節(jié)地址是不連續(xù)的,而在兩個存儲體之間的字節(jié)地址是連續(xù)的,構(gòu)成了兩個存儲體之間的地址交叉。

A0CSA19~A1奇地址(高字節(jié))存儲體512K×8bitD15~D8A19~A1CS偶地址(低字節(jié))存儲體512K×8bitD7~D0D7~D0D15~D8A19~A1BHE

當(dāng)A0=0時,選擇偶地址存儲體,CPU從低8位數(shù)據(jù)總線讀/寫一個字節(jié)。

當(dāng)=0時,選擇訪問奇地址存儲體,CPU由高8位數(shù)據(jù)總線讀/寫一個字節(jié)。

表3-1

、A0的組合功能A0操作指令例00從偶地址讀/寫一個字MOVBX,[9900H]01從奇地址讀/寫一個字節(jié)MOVAL,[8801H]10從偶地址讀/寫一個字節(jié)MOVCH,[7700H]11無存儲器操作無3.532位微處理器3.5.180386微處理器的功能結(jié)構(gòu)1.80386的主要特點80386內(nèi)部包括寄存器組、ALU和內(nèi)部總線都是32位,能靈活處理8、16或32位3種數(shù)據(jù)類型,具有32位尋址的指令。80386外部采用32位數(shù)據(jù)總線D31~D0,具有32位的外部總線接口功能。外部有32位地址總線的能力,能尋址4GB的物理空間,其組成是A31~A2及4字節(jié)選擇信號?!M成,~80386可以工作在實地址模式和保護模式,在保護模式下,80386均能運行8088/8086、80286的軟件。

80386CPU在硬件結(jié)構(gòu)上由6個功能部件組成。都按照流水線方式工作,CPU的運行速度大大提高,可以達到4MIPS。

CPU支持存儲器的段式管理與頁式管理,易于實現(xiàn)虛擬存儲器系統(tǒng)。支持多任務(wù)的執(zhí)行,一條指令就可以完成任務(wù)的轉(zhuǎn)換。把程序的特權(quán)級分為4級,即0、1、2、3,其中,0級優(yōu)先級最高,其次是1級、2級、3級。用戶程序使用最低的3級。2.80386的功能結(jié)構(gòu)(1)中央處理部件(2)存儲器管理部件(3)總線接口部件3.80486的主要結(jié)構(gòu)特點80486仍然是IA-32結(jié)構(gòu),與80386相比較,主要結(jié)構(gòu)特點:①引入了5級指令流水線結(jié)構(gòu),提高了指令的執(zhí)行速度。②80486與80x86在目標代碼一級完全保持了向上的兼容性,③采用了精簡指令系統(tǒng)計算機(RISC)技術(shù),減少了不規(guī)則的控制部分,從而縮短了指令的執(zhí)行周期。④將基本指令的微程序控制改為硬布線控制器控制,同時,保留了部分指令的微程序控制,可以縮短了基本指令的譯碼時間,提高部分指令的執(zhí)行速度。⑤首次CPU內(nèi)部包含了8KB的高速緩沖存儲器Cache,由于技術(shù)有限,8KB的Cache用于混合存放指令代碼與數(shù)據(jù)。⑥80486CPU集成了數(shù)學(xué)協(xié)處理器的功能,處理數(shù)據(jù)的速度有很大的提高。⑦由于80486CPU內(nèi)部設(shè)置了高速緩沖存儲器,高速緩沖存儲器與主存之間數(shù)據(jù)傳輸量較大,因此,采用了突發(fā)總線(BurstBus)技術(shù),即系統(tǒng)取得某一存儲器地址后,與該地址相關(guān)的某一塊存儲單元的內(nèi)容都被連續(xù)地進行讀或?qū)懺L問,實現(xiàn)CPU內(nèi)部高速緩沖存儲器和主存之間數(shù)據(jù)的快速傳輸。3.5.2Pentium微處理器的功能結(jié)構(gòu)1.Pentium的字節(jié)選擇信號它有字節(jié)選擇信號:~用這8字節(jié)選擇信號來代替A2A1A0的尋址。見表3-2Pentium通往外部存儲器的數(shù)據(jù)總線為64位,CPU內(nèi)部的數(shù)據(jù)總線及主要寄存器的寬度等都為32位。外部64位數(shù)據(jù)總線(D63~D0)每次可以同時傳輸8字節(jié)的二進制信息,若選用主總線時鐘頻率66MHz計算,即存儲器總線的時鐘頻率也為66MHz,則Pentium與主存儲器交換數(shù)據(jù)的速率為66MHz×8B=528MB/s。(1)Pentium微處理器內(nèi)部的主要功能部件2.Pentium的體系結(jié)構(gòu)10大主要部件:總線部件;指令預(yù)取部件;指令譯碼器;U流水線和V流水線;指令高速緩沖存儲器Cache;數(shù)據(jù)高速緩沖存儲器Cache;浮點處理部件FPU;分支目標緩沖器BTB;微程序控制器中的控制ROM及寄存器組等。(2)體系結(jié)構(gòu)特點Pentium微處理器體系結(jié)構(gòu)特點表現(xiàn)在如下4個方面。①兩個互相獨立的8KB高速緩沖存儲器Pentium微處理器在片內(nèi)設(shè)置了8KB的指令Cache和8KB的數(shù)據(jù)Cache,指令Cache與數(shù)據(jù)Cache均與CPU內(nèi)部的64位數(shù)據(jù)線及32位地址線相連接。

②相對80486重新設(shè)計的浮點運算部件重新設(shè)計的浮點運算部件支持IEEE754標準的單、雙精度格式的浮點數(shù),浮點運算部件內(nèi)有專門用于浮點運算的加法器、乘法器和除法器。80位寬的8個寄存器構(gòu)成了寄存器堆,使用一種臨時實數(shù)的80位浮點數(shù)格式。③采用分支目標緩沖器實現(xiàn)動態(tài)轉(zhuǎn)移預(yù)測采用分支目標緩沖器實現(xiàn)動態(tài)轉(zhuǎn)移預(yù)測技術(shù),可以減少指令流水作業(yè)中因分支轉(zhuǎn)移等指令而引起的流水線斷流現(xiàn)象。

④超標量流水線相對80486CPU的一條指令流水線,Pentium微處理器卻擴充了一條指令流水線,分為U、V兩條指令流水線。

3.5.3Pentium微處理器的引腳信號1.數(shù)據(jù)線及其控制信號2.地址線及其控制信號(1)D63~D0,64位數(shù)據(jù)線。(2)~,8位字節(jié)允許信號,低電平允許。(3)DP7~DP0,8個數(shù)據(jù)校驗位信號,雙向。(1)A31~A3,29位地址線。當(dāng)總線突發(fā)式操作時,A31~A5不改變,A4、A3依次提供00、01、10、11四個地址,可以分別尋址8字節(jié)的數(shù)據(jù),以實現(xiàn)存儲器與CPU內(nèi)部Cache的映射操作。(2),輸入信號,此信號為0時,將屏蔽含A20以上的地址線。3.總線周期控制信號(1)D/,數(shù)據(jù)/控制信號。輸出線,為高電平時,表示當(dāng)前總線周期傳輸?shù)氖菙?shù)據(jù),為低電平時,指示當(dāng)前總線周期傳輸?shù)氖侵噶?。?)M/,指示訪問存儲器還是訪問輸入/輸出設(shè)備的信號。它與8086CPU同名引腳的功能相同,輸出線,為高電平時,指示當(dāng)前總線周期訪問存儲器,為低電平時,則為訪問I/O端口。(3)W/,寫/讀控制信號。輸出線,為高電平時,表示當(dāng)前總線周期為CPU寫存儲器或?qū)戄敵龆丝?,為低電平時,指示為讀存儲器或讀輸入端口。處理器利用總線周期完成對存儲器和I/O端口的數(shù)據(jù)讀寫操作,這主要由這三條控制信號的組合來確定的,形成了Pentium處理器的基本總線周期。

表3-3Pentium微處理器的基本總線周期M/W/總線周期的操作0002個可屏蔽中斷響應(yīng)總線周期001特殊總線周期010I/O讀周期011I/O寫周期100代碼讀周期(取指周期)101保留110存儲器讀周期111存儲器寫周期D/4.Cache控制信號(1),Cache控制信號。輸出,低電平有效。指示處理器內(nèi)部的Cache在進行讀或?qū)懖僮?/p>

(9),Cache允許信號。輸入,低電平有效時,當(dāng)前總線周期傳輸?shù)臄?shù)據(jù)可以傳送到Cache中。

從表3-4可以看出:如果從存儲器中讀出的數(shù)據(jù)被存入CPU中的高速緩存中,稱之為緩存式(數(shù)據(jù)填充),其他都稱為非緩存式。在緩存式條件下,和必須同時有效,將主存的代碼或數(shù)據(jù)以256位突發(fā)式方式讀出,并存入處理器的高速緩存中。M/D/W/總線周期的操作傳送次數(shù)0001×2個中斷響應(yīng)總線周期每個總線周期傳送1次0011×特殊總線周期10101×讀外設(shè)接口,≤32位,非緩存式10111×寫外設(shè)接口,≤32位,非緩存式11001×代碼讀,64位,非緩存式1100×1代碼讀,64位,非緩存式110000代碼讀,256位突發(fā)式數(shù)據(jù)線填充41101×讀存儲器數(shù)據(jù),≤64位,非緩存式1110×1讀存儲器數(shù)據(jù),≤64位,非緩存式111000讀存儲器數(shù)據(jù),256位突發(fā)式數(shù)據(jù)線填充41111×寫數(shù)據(jù)到存儲器,≤64位,非緩存式11110×256位突發(fā)式回寫4表3-4Pentium微處理器控制信號的組合及相應(yīng)總線周期的操作10.系統(tǒng)控制信號9.測試信號8.跟蹤和檢查信號7.系統(tǒng)管理模式信號6.總線仲裁信號5.檢測與處理信號3.5.4Pentium微處理器的總線周期1.總線周期

在實現(xiàn)微處理器與存儲器及I/O接口之間數(shù)據(jù)的傳輸過程中,微處理器的地址信號、控制信號及數(shù)據(jù)信號三者之間有嚴格的時間先后關(guān)系,通常稱之為處理器的時序或總線周期。通過總線周期可以深入了解微機系統(tǒng)的工作原理。

圖3-218086CPU主要引腳信號及其連接

2.8086微處理器讀總線周期3.8086微處理器寫總線周期圖3-228086總線讀周期時序圖

圖3-238086總線寫周期時序圖4.Pentium微處理器的總線周期

從實現(xiàn)的功能上看,處理器的總線周期有:存儲器讀、存儲器寫、輸入端口讀、輸出端口寫,還有中斷響應(yīng)周期等;

從總線周期之間的關(guān)聯(lián)來看,有非流水線和流水線總線周期之分;

從總線周期內(nèi)傳輸數(shù)據(jù)數(shù)量上看,有單數(shù)據(jù)傳輸(非緩存式)與突發(fā)方式(緩存式)的多個數(shù)據(jù)傳輸之分。1)Pentium非流水線式讀/寫總線周期CPU在采用非流水線式總線周期操作時,當(dāng)前一個總線周期操作尚未完成時絕不會啟動下一個總線操作,即前后相鄰兩個總線周期不會發(fā)生重疊操作現(xiàn)象。圖3-24Pentium非流水線式讀和寫周期時序圖2)Pentium流水線式讀/寫總線周期指當(dāng)前總線周期完成數(shù)據(jù)輸入/輸出的同時,還完成了下一個總線周期的地址、總線周期指示碼及有關(guān)控制信息的輸出,實現(xiàn)地址傳輸與數(shù)據(jù)傳輸?shù)牟⑿胁僮?=“0”。3)Pentium突發(fā)式讀總線周期圖3-25突發(fā)式讀周期時序圖①在突發(fā)式讀總線周期,W/為邏輯0。②突發(fā)式讀總線周期從主存讀取的數(shù)據(jù)存入處理器內(nèi)部的高速緩存中,要對高速緩存進行填充(寫)操作,所以,在突發(fā)式讀總線周期,信號一直處于邏輯0狀態(tài)。小結(jié)

CPU內(nèi)部最基本的組成是控制器和運算器,控制器和運算器中包含有許多寄存器。

8086微處理器的內(nèi)部分為總線接口部件和執(zhí)行部件兩大部分。

80386微處理器內(nèi)部的寄存器集兼容8086微處理器原來的寄存器,擴展了8個32位的寄存器,增加了2個16位的數(shù)據(jù)段寄存器。從80386微處理器開始,微處理器的工作模式分為實地址模式、保護模式、虛擬8086模式和系統(tǒng)管理模式。對于8086執(zhí)行單用戶的程序,80386保持了兼容性能。在8086系統(tǒng)中,把1MB的存儲器分成兩個存儲體:偶地址存儲體和奇地址存儲體。Pentium微處理器的總線周期從實現(xiàn)的功能上看,有存儲器讀、存儲器寫、輸入端口讀、輸出端口寫和中斷響應(yīng)周期等。本章習(xí)題與思考題

作業(yè):第3.1、3.2、3.3、3.4題

思考題:3.5題第4章指令系統(tǒng)與匯編語言程序設(shè)計4.18086CPU的尋址方式 4.2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論