第二章微處理器與系統(tǒng)結(jié)構(gòu)_第1頁
第二章微處理器與系統(tǒng)結(jié)構(gòu)_第2頁
第二章微處理器與系統(tǒng)結(jié)構(gòu)_第3頁
第二章微處理器與系統(tǒng)結(jié)構(gòu)_第4頁
第二章微處理器與系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1第二章

微型計(jì)算機(jī)的基礎(chǔ)知識2.1

微處理器的基本結(jié)構(gòu)2.2Intel8086微處理器2.38086中的標(biāo)志寄存器和堆棧2.48086系統(tǒng)的組成2.58086系統(tǒng)時(shí)鐘和總線周期2.680386微處理器※2.780486微處理器※2.8Pentium處理器※22.1微處理器的基本結(jié)構(gòu)一般來說,其內(nèi)部基本結(jié)構(gòu)大都由算術(shù)邏輯單元、寄存器陣列、控制單元、總線和總線緩沖器四個(gè)部分組成。高性能微處理器內(nèi)部還有指令預(yù)取部件、地址形成部件、指令譯碼部件和存儲(chǔ)器管理部件等。80X86是Intel公司的CPU系列產(chǎn)品。3

2.1.1算術(shù)邏輯單元ALU在CPU中,算術(shù)邏輯單元(ALU:ArithmeticLogicUnit)是對二進(jìn)制進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的部件。

圖2.1ALU原理框圖

注意總線單、雙方向5控制器是發(fā)布操作命令的機(jī)構(gòu),是微計(jì)算機(jī)的指揮中心。計(jì)算機(jī)程序和原始數(shù)據(jù)的輸入、CPU內(nèi)部的信息處理、處理結(jié)果的輸出、外設(shè)與主機(jī)之問的信息交換等,都是在控制器的控制下實(shí)現(xiàn)的。而計(jì)算機(jī)是按程序的編排進(jìn)行工作的,控制器的任務(wù)是逐條地取出指令、分析指令、執(zhí)行指令。

2.1.2控制與定時(shí)部件——控制器6圖2.2控制器的組成框圖

指令部件時(shí)序部件微操作控制部件指令部件時(shí)序部件時(shí)鐘周期機(jī)器周期指令周期微操作控制部件組合邏輯控制微程序控制可編程邏輯陣列控制P30-P3291.片內(nèi)總線:單、雙、多總線結(jié)構(gòu)2.片外總線與總線緩沖器:連接CPU與內(nèi)存儲(chǔ)器或I/O接口等部件的系統(tǒng)總線--分時(shí)傳輸。總線緩沖器--三態(tài)門采用總線結(jié)構(gòu)可減少信息傳輸線的數(shù)量,提高系統(tǒng)的可靠性、靈活性及標(biāo)準(zhǔn)化。2.1.3

總線與總線緩沖器101.存放待處理數(shù)據(jù)的寄存器累加器AX通用寄存器組AX、BX、CX、DX2.存放地址碼的寄存器程序計(jì)數(shù)器PC堆棧指針寄存器SP3.存放控制信息的寄存器指令寄存器IR標(biāo)志寄存器FR4.起數(shù)據(jù)緩沖作用的寄存器(三態(tài))數(shù)據(jù)總線緩沖寄存器地址總線緩沖寄存器2.1.4寄存器陣列112.2Intel8086微處理器1978年6月發(fā)布8086微處理器芯片的內(nèi)部數(shù)據(jù)總線的寬度是16位,外部數(shù)據(jù)總線的寬度也是16位,它采用高性能的N溝道、耗盡型負(fù)載的硅柵工藝制造,封裝在標(biāo)準(zhǔn)的40條引腳雙列直插式(DIP)管殼內(nèi)8086有20條地址線,直接尋址空間為1MB,可訪問64KB的輸入/輸出端口。122.2.18086的寄存器結(jié)構(gòu)1.通用寄存器:AX、BX、CX、DX2.指針和變址寄存器:BP、SP;SI、DI3.段寄存器:CS、DS、SS、ES4.指令指針I(yè)P與標(biāo)志寄存器FR共14個(gè)默認(rèn)關(guān)系:IP---CSBX、SI、DI或16位數(shù)---DSBP、SP---SSDI(串指令)---ES138086/8088共有14寄存器,它們是:4個(gè)通用寄存器AX,BX,CX,DX4個(gè)段地址寄存器CS,DS,SS,ES2個(gè)變址寄存器DI,SI3個(gè)指針寄存器IP,SP,BP

1個(gè)標(biāo)志寄存器FR

14通用寄存器累加寄存器 AX Accumulate基址寄存器 BX Base計(jì)數(shù)寄存器 CX Count數(shù)據(jù)寄存器 DX Data15段地址寄存器代碼段寄存器CS CodeSegment數(shù)據(jù)段寄存器DS DataSegment堆棧段寄存器SS StackSegment附加段寄存器ES ExtraSegment16變址寄存器/指針寄存器/個(gè)標(biāo)志寄存器源變址寄存器SI SourceIndex目標(biāo)變址寄存器DI DestinationIndex指令指針寄存器IP Instructionpointer基址指針寄存器BP BasePointer堆棧指針寄存器SP StackPointer標(biāo)志寄存器FR(PSW)

FlagsRegister1718段地址、段基地址、偏移地址、偏址邏輯地址、物理地址默認(rèn)關(guān)系:IP---CSBX、SI、DI或16位數(shù)---DSBP、SP---SSDI(串指令)---ES19默認(rèn)關(guān)系:202.2.28086CPU的功能結(jié)構(gòu)1.總線接口單元(BIU):是8086CPU與外部的接口部件,提供了16位雙向DB和20位AB。2.執(zhí)行單元(EU):完成指令譯碼與執(zhí)行工作。218086/8088內(nèi)部結(jié)構(gòu)22寄存器間接尋址的執(zhí)行231.總線接口部件BIU總線接口部件的功能是:(1)從內(nèi)存取指令送到指令隊(duì)列;(2)CPU執(zhí)行指令時(shí),總線接口部件要配合執(zhí)行部件從指定的內(nèi)存單元或者外設(shè)端口取數(shù)據(jù),或?qū)?shù)據(jù)送到指定的內(nèi)存單元或者外設(shè)的端口。248086/8088的BIU指令隊(duì)列和20位地址加法器的作用:8086的指令隊(duì)列緩沖器為六個(gè)字節(jié),8088的指令隊(duì)列緩沖器為四個(gè)字節(jié)。無論8086還是8088,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令或幾條指令,取來的指令就放在指令隊(duì)列緩沖器中。 這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱為流水線技術(shù),減少了CPU為取指令而等待的時(shí)間,從而提高了CPU的效率。25(2)地址加法器用來產(chǎn)生20位地址。上面已提到8086可用20位地址尋址1MB的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要一個(gè)附加的機(jī)構(gòu)來根據(jù)16位寄存器提供的信息計(jì)算出20位的物理地址,這個(gè)機(jī)構(gòu)就是20位的地址加法器。262.執(zhí)行部件執(zhí)行部件(EU)的作用是:(1)從指令隊(duì)列中取出指令;(2)對指令進(jìn)行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或算術(shù)運(yùn)算的控制信號;(3)接收由總線接口部件傳送來的數(shù)據(jù),或把數(shù)據(jù)傳送到總線接口部件;(4)進(jìn)行算術(shù)運(yùn)算。27執(zhí)行部件由下列部分組成:(1)四個(gè)通用寄存器AX,BX,CX,DX四個(gè)通用寄存器既可作為16位寄存器用,也可以作為8位寄存器使用,分別為AH,AL,BH,BL,CH,CL,DH,DL。AX寄存器又稱為累加器,8086指令系統(tǒng)中有許多指令都通過累加器的動(dòng)作來執(zhí)行。AX為16位累加器,AL為8位累加器。(2)專用寄存器4個(gè)專用寄存器,基址指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI。4個(gè)專用寄存器的用法將在指令系統(tǒng)有專門的論述。(3)算術(shù)邏輯單元ALU它是16位的運(yùn)算器,可用于8位或16位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器所需的16位偏移量。(4)數(shù)據(jù)暫存寄存器它協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。28(5)EU控制器從總線接口的指令隊(duì)列取出指令操作碼,通過譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)的流向。如果是運(yùn)算操作,操作數(shù)經(jīng)過暫存寄存器送入ALU,運(yùn)算結(jié)果經(jīng)過ALU數(shù)據(jù)總線送到相應(yīng)的寄存器,同時(shí)標(biāo)志寄存器F根據(jù)運(yùn)算結(jié)果改變狀態(tài)。(6)標(biāo)志寄存器標(biāo)志寄存器共有16位,其中7位未用,所用的各位含義以后介紹.其中6個(gè)標(biāo)志位反映CPU指令運(yùn)行后的運(yùn)行狀態(tài)信息,分別為SF、ZF、PF、CF、AF和OF。這些標(biāo)志位用于根據(jù)指令執(zhí)行后的操作結(jié)果進(jìn)行判斷轉(zhuǎn)移。3個(gè)控制標(biāo)志,分別為DF、IF和TF??刂茦?biāo)志可由編程員通過指令進(jìn)行設(shè)置,有專門的指令對控制標(biāo)志置0或置1。2.2.38086CPU的引腳及功能電平:一個(gè)比較難理解的概念。一般我們認(rèn)為能夠觸發(fā)門電路動(dòng)作的電壓值。在邏輯電路中,符合一種邏輯值要求的電壓范圍。高電平:觸發(fā)門電路動(dòng)作的高位電壓,在門電路中一般是5V。在正邏輯電路中符合邏輯值1的電壓范圍。低電平:觸發(fā)門電路動(dòng)作的低位電壓,在門電路中一般是0V。在正邏輯電路中符合邏輯值0的電壓范圍。上升沿:從低電平到高電平的變化過程。下降沿:從高電平到低電平的變化過程。高阻:使芯片管腳處于阻斷狀態(tài)。也叫浮空。三態(tài):一個(gè)芯片的管腳可以出現(xiàn)高電平、低電平和高阻三個(gè)狀態(tài)。需要解釋的幾個(gè)概念302.2.38086CPU的引腳及功能NMI不可屏蔽中斷請求信號不受IF影響INTR可屏蔽中斷請求信號CLK時(shí)鐘信號RESET復(fù)位信號:從FFFF0H始

其余清零READY準(zhǔn)備好信號TEST檢測信號RD讀選通信號BHE/S7總線高字節(jié)有效/狀態(tài)輸出信號MN/MX最小/最大模式

M/IO存儲(chǔ)器/IO控制信號S2總線周期狀態(tài)信號WR寫選通信號LOCK鎖定信號

INTA中斷響應(yīng)信號QS1指令隊(duì)列狀態(tài)信號

ALE地址鎖存允許信號QS0指令隊(duì)列狀態(tài)信號DT/R數(shù)據(jù)收發(fā)信號S1總線周期狀態(tài)信號

DEN數(shù)據(jù)允許信號S0總線周期狀態(tài)信號HOLD總線保持請求信號RQ/GT0總線請求輸入信號HLDA總線保持響應(yīng)信號RQ/GT1總線請求輸入信號AD15~AD0雙向三態(tài)A、D總線A19/S6~A16/S3三態(tài)A輸出總線,S6:始終為低S3:S5:FR中IF的狀態(tài)S4:選擇段寄存器312.38086中的標(biāo)志寄存器和堆棧圖2.98086/8088中的標(biāo)志寄存器

低8位‘1’的個(gè)數(shù)為偶數(shù)時(shí)為11:單步0:正常1:遞減0:遞增32進(jìn)位、溢出的概念無符號數(shù)/有符號數(shù)能否使用同一套加減指令?若無符號數(shù)/有符號數(shù)使用同一套加減指令,如何判斷運(yùn)算結(jié)果是否溢出?例:

00000101CFOF無符號數(shù)有符號數(shù)

+00001010………………005+10=15(+5)+(+10)=+1500001111

00001000

+11111011…………………108+251=3(+8)+(-5)=+310000001100001000

+01111100………………018+124=132(+8)+(+124)=-1241000010010000111

+1111010111135+245=124(-121)+(-11)=+124………………101111100結(jié)論:無符號數(shù)/有符號數(shù)可使用同一套加減指令。參與運(yùn)算的必須同為無符號數(shù)或有符號數(shù)。溢出判斷:無符號數(shù)由CF=1有符號數(shù)由OF=1無符號數(shù)溢出可進(jìn)行調(diào)整;有符號數(shù)溢出其結(jié)果錯(cuò)誤。標(biāo)志位變化運(yùn)算結(jié)果為0:ZF=1

運(yùn)算結(jié)果為負(fù)數(shù):SF=1

運(yùn)算結(jié)果有偶數(shù)個(gè)1:PF=1

低四位運(yùn)算有進(jìn)位時(shí)AF=133PCPC+1主程序子程序轉(zhuǎn)子返子

MAIN

|PRO_A

…|…

CALLNEARPTRPRO_A|(ip=1000H)…|

…|…END||RET

IP=1000H斷點(diǎn)保存進(jìn)出棧的管理--堆棧段子程序可以多重嵌套34堆棧的概念:

FILO00H10H棧底3580X86系列器件是Intel公司生產(chǎn)的微處理器和系統(tǒng)元件系列,它給設(shè)計(jì)者提供了先進(jìn)的設(shè)計(jì)結(jié)構(gòu),能滿足不同應(yīng)用領(lǐng)域的要求。根據(jù)外設(shè)的數(shù)量和系統(tǒng)的要求,8086可組成最大或最小模式系統(tǒng)。

2.48086系統(tǒng)的組成362.4.1存儲(chǔ)器組織與存儲(chǔ)器分段1.存儲(chǔ)器組織2.存儲(chǔ)器分段代碼段CS數(shù)據(jù)段DS堆棧段SS附加段ES每段空間為=64KB20位物理地址的表示:段地址×16+16位偏移量。。。00000H00001H00002HFFFFCHFFFFDHFFFFEHFFFFFH=1MB邏輯地址、物理地址37P48圖2-12P48圖2-13P48圖2-14存儲(chǔ)器地址0~1MB字節(jié)、字存放奇/偶地址字存儲(chǔ)器中指針的存放:段基址偏移量00000H00001HFFFFEHFFFFFH…….20122H20123H20124H20125H20126H20127H20128H20129H2012AH2012BH20122H20123H20124H20125H20126H20127H20128H20129H2012AH2012BH低高38舉例說明參見P50圖2.17存儲(chǔ)器分段示意圖允許段重疊段地址與段基地址的區(qū)別392.4.2輸入/輸出結(jié)構(gòu)8086系統(tǒng)與其他設(shè)備連接的電路叫端口。通過這些端口,8086既可以接收外部信息,也可以把信息送往外設(shè),并可發(fā)出命令控制外部設(shè)備。402.4.3總線接口部件1.地址鎖存器P52圖2-182.雙向總線驅(qū)動(dòng)器P53圖2-20412.4.48086的兩種組態(tài)1.8086最小組態(tài)MN/MX=1時(shí)2.8086最大組態(tài)8288總線控制器見P54圖2-228289總線裁決器見P56圖2-238086最大組態(tài)方框圖見P57圖2-24422.5.1系統(tǒng)時(shí)鐘1.晶體振蕩器2.時(shí)鐘發(fā)生器3.復(fù)位信號4.READY同步機(jī)構(gòu)2.58086系統(tǒng)時(shí)鐘和總線周期432.5.2總線周期執(zhí)行一條CPU指令所需的時(shí)間,稱為一個(gè)指令周期。而一個(gè)指令周期是由若干個(gè)總線周期(或機(jī)器周期)所組成。一個(gè)總線周期是CPU通過總線與外部邏輯(存儲(chǔ)器或I/O端口)進(jìn)行一次通訊所需的時(shí)間。448086最小模式下的讀總線周期8086最小模式下的寫時(shí)序8086最大模式下的讀時(shí)序8086最大模式下的寫時(shí)序482.6.180286微處理器的主要特性2.6.280286內(nèi)部基本結(jié)構(gòu)1.地址部件AU2.總線部件BU3.指令部件IU4.執(zhí)行部件EU*2.680286微處理器1982年8月發(fā)布

AD:24條224=16MB可使用虛擬內(nèi)存可同時(shí)運(yùn)行多個(gè)任務(wù)增加了保護(hù)模式(分段)時(shí)鐘頻率可達(dá)16MHzBIUEU4980286寄存器組80286段描述符格式

80286段描述字格式(由相應(yīng)的段寄存器存放)四個(gè)字描述符表的內(nèi)存分配5280286虛地址保護(hù)方式下的尋址過程80286虛地址保護(hù)方式下的尋址過程舉例:假定某用戶程序中,某條指令要求從當(dāng)前數(shù)據(jù)段某地址中取出16位操作數(shù)送AX寄存器,當(dāng)前得到的虛地址指示器如下圖所示:段選擇字系統(tǒng)將根據(jù)TI=0,變址值=5,從全局描述符表中找到第5個(gè)描述符,具體取值如下圖所示。尋址所得的描述符格式圖中:S=1,表示當(dāng)前指向的是段描述符。TYPE字段中:

E=0,表示數(shù)據(jù)段描述符;當(dāng)前尋址的操作數(shù)在數(shù)據(jù)段中,段選擇字在DS段寄存器中。

ED=0,表示該數(shù)據(jù)段向上生長;

W=1,表示可寫入的數(shù)據(jù)段;

P=1,表示該段已在實(shí)存中,段基址和段限值有效;

DPL=01,表示該數(shù)據(jù)段特權(quán)層為1;

A=1,表示該數(shù)據(jù)段已訪問過;段基地址=30,0000H;段限值=0080H。虛地址指示器給定的偏移地址OO5OH<0080H,于是操作數(shù)在實(shí)存中的物理地址應(yīng)為300O5OH,CPU將從物理地址300050H和300051H中取得16位操作數(shù)送AX寄存器中。上述尋址的全過程如下圖所示,如此繁瑣的操作過程對應(yīng)用程序員是透明的,在系統(tǒng)控制下(實(shí)際上是在存儲(chǔ)管理部件MMU控制下)自動(dòng)完成。562.6.180386微處理器的主要特性2.6.280386內(nèi)部基本結(jié)構(gòu)1.總線部件BU總線接口部件2.指令預(yù)取部件IPU3.指令譯碼部件4.執(zhí)行部件EU5.分段部件SU6.分頁部件PU2.680386微處理器1985年10月發(fā)布

AD:32條增加內(nèi)存管理(分段、分頁)保護(hù)模式下的虛擬86方式時(shí)鐘頻率可達(dá)40MHzA0、A1由BE3~BH0組合產(chǎn)生存儲(chǔ)器管理部件中央處理部件57582.6.380386內(nèi)部寄存器1.通用寄存器2.段寄存器CS、DS、SS、ES、FS、GS(擴(kuò)展數(shù)據(jù)段)3.系統(tǒng)地址寄存器4.控制寄存器(IP、FLAGS寄存器--見下頁圖解)

(1)機(jī)器控制寄存器CR0(2)頁故障線性地址寄存器CR2(3)頁目錄表基地址寄存器CR3(CR1Intel保留)

(4)調(diào)試寄存器--6個(gè)DR0、1、2、3、6、7(4、5Intel保留)(5)測試寄存器--TR6、TR7(32位)5960保護(hù):0實(shí):115位6180386有132條引腳,使用PGA封裝技術(shù)。它對外直接提供了獨(dú)立的32位地址、32位數(shù)據(jù)總線,以支持高速總線傳送及總線周期流水線操作。80386能在2個(gè)時(shí)鐘周期內(nèi)完成32位數(shù)據(jù)傳送,在33MHz工作頻率下,其傳送速率為66MB/s。

首次使用了Cache。2.6.480386處理器引腳信號62631.實(shí)地址模式2.保護(hù)虛地址模式(1)保護(hù)模式的地址變換(2)描述符表2.6.580386工作模式64實(shí)地址模式:當(dāng)80386加電系統(tǒng)復(fù)位后,工作于實(shí)地址模式。80386所有指令在實(shí)地址模式下都是有效的,不過操作數(shù)默認(rèn)長度是16位,物理地址形成同8O86一樣,將段寄存器內(nèi)容左移四位與有效偏移量地址相加而得到,尋址空間為1MB,只有地址線A2~A19,/BE0~/BE3是有效的。而A20~A31總是低電平。唯一的例外是在復(fù)位后,在執(zhí)行第一條段間轉(zhuǎn)移或調(diào)用指令前,所有訪問代碼段總線周期的地址A20~A31

輸出總是高電平,以保證執(zhí)行高端內(nèi)存引導(dǎo)ROM中的指令。實(shí)地址模式下段的大小為64K字節(jié),因此32位的有效地址必須小于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論