資源描述:
《微機(jī)原理及應(yīng)用第2章.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第2章80X86微處理器及其結(jié)構(gòu)1-48第2章80X86微處理器及其結(jié)構(gòu)重點(diǎn)8086CPU的功能結(jié)構(gòu)80386CPU的功能結(jié)構(gòu)80X86的寄存器2-482.18086/88及80286CPU的功能結(jié)構(gòu)8086是Intel系列的16bit微處理器,屬第三代。8086有16bit數(shù)據(jù)總線[8088外部8位DB]和20bit地址線,可尋址1MB內(nèi)存空間。8086的內(nèi)部結(jié)構(gòu)從功能分成兩個(gè)單元總線接口單元BIU——businterfaceunit執(zhí)行單元EU——executionunit兩個(gè)單元相互獨(dú)立,分別完成各自操作兩個(gè)單元可以并行執(zhí)行,實(shí)現(xiàn)
2、指令取指和執(zhí)行的流水線操作3-48一、8086的內(nèi)部(編程)結(jié)構(gòu)123456內(nèi)部暫存器IPESSSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列(8088:4個(gè))執(zhí)行部件(EU)總線接口部件(BIU)16位20位8086:16位8088:8位8位16位EU控制器ALU暫存器標(biāo)志寄存器8位隊(duì)列總線總線控制邏輯內(nèi)部總線16位地址加法器20位地址總線8(8088)/16(8086)位數(shù)據(jù)總線執(zhí)行部件EU總線接口部件BIU123456指令隊(duì)列通用寄
3、存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES80888086IP暫存器8086/8088外部總線總線接口部件BIU組成:16位段寄存器,指令指針,20位地址加法器,總線控制邏輯,6字節(jié)指令隊(duì)列(8086),8088為4字節(jié)。作用:負(fù)責(zé)從內(nèi)存指定單元中取出指令,送入指令流隊(duì)列中排隊(duì);取出指令所需的操作數(shù)送EU單元去執(zhí)行。工作過(guò)程:由段寄存器與IP形成20位物理地址送地址總線,由總線控制電路發(fā)出存儲(chǔ)器“讀”信號(hào),按給定的地址從存儲(chǔ)器中取出指令,送到指令隊(duì)列中等待執(zhí)行。*當(dāng)指令隊(duì)列有2個(gè)或2個(gè)以上的字節(jié)
4、空余時(shí)(8088為一個(gè)空字節(jié)),BIU自動(dòng)將指令取到指令隊(duì)列中。若遇到轉(zhuǎn)移指令等,則將指令隊(duì)列清空,BIU重新取新地址中的指令代碼,送入指令隊(duì)列。*指令指針I(yè)P由BIU自動(dòng)修改,IP總是指向下一條將要執(zhí)行指令的地址。6-48指令執(zhí)行部件EU組成:通用寄存器,標(biāo)志寄存器,ALU,EU控制系統(tǒng)等。作用:負(fù)責(zé)指令的執(zhí)行,完成指令的操作。工作過(guò)程:從隊(duì)列中取得指令,進(jìn)行譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,完成執(zhí)行指令的功能。若執(zhí)行指令需要訪問(wèn)存儲(chǔ)器或I/O端口,則EU將操作數(shù)的偏移地址送給BIU,由BIU取得操作數(shù)送給EU。7-48
5、指令流水線:BIU和EU分開(kāi),取指和執(zhí)行可以重迭,大大減少了等待取指所需的時(shí)間,提高CPU的利用率。8086CPU結(jié)構(gòu)的特點(diǎn):第二代微處理器第三代微處理器80868-48DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBPSIDI數(shù)據(jù)寄存器CSDSSSESIP變址寄存器指針寄存器堆棧指針基數(shù)指針源變址目的變址指令指針狀態(tài)標(biāo)志代碼段數(shù)據(jù)段堆棧段附加段段寄存器控制寄存器FLAG二、8088/8086的寄存器結(jié)構(gòu)有14個(gè)16位寄存器9-481、通用寄存器?SP—堆棧指針,存放堆棧棧頂?shù)默F(xiàn)行地址,與SS堆棧段寄存器一起方可確定堆棧
6、的實(shí)際地址。?BP—基址指針?SI—源變址寄存器?AX,BX,CX,DX4個(gè)16bit的通用數(shù)據(jù)寄存器,它們的高8bitAH,BH,CH,DH與低8bitAL,BL,CL,DL又可分別看成8個(gè)8bit的寄存器。?DI—目的變址寄存器有8個(gè)16位寄存器什么是堆棧?10-482、控制寄存器IP(InstructionPointer)指令指針FLAG(標(biāo)志寄存器)為16bit,其中6個(gè)狀態(tài)標(biāo)志位,3個(gè)控制標(biāo)志位。狀態(tài)(標(biāo)志)寄存器FR(PSW)TFSFZFAFPFOFDFIFCF151413121110987654321011-48溢出判別方
7、法溢出判別方法Cs⊕Cp=1,有溢出產(chǎn)生Cs⊕Cp=0,無(wú)溢出產(chǎn)生12-48標(biāo)志:運(yùn)算結(jié)果最高位為1,SF=1;運(yùn)算結(jié)果本身不為0,ZF=0;最高位向前無(wú)進(jìn)位,CF=0次高位向最高位產(chǎn)生進(jìn)位,而最高位向前沒(méi)有進(jìn)位,OF=1;結(jié)果低8位含偶數(shù)個(gè)1,PF=1;D3位向D4有進(jìn)位,AF=1。例1:執(zhí)行兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響:5439H+456AH。13-48標(biāo)志:運(yùn)算結(jié)果最高位為0∴SF=0;運(yùn)算結(jié)果本身≠0∴ZF=0低8位中1的個(gè)數(shù)為奇數(shù)個(gè)∴PF=0;最高位沒(méi)有進(jìn)位∴CF=0D3位向D4位無(wú)進(jìn)位∴AF=0;次高位向最高位沒(méi)有進(jìn)位,
8、最高位向前沒(méi)有進(jìn)位,∴OF=0。例2:執(zhí)行兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響:1345H+3219H。3、段寄存器CS—代碼段寄存器DS—數(shù)據(jù)段寄存器SS—堆棧段寄存器ES—附加數(shù)據(jù)段寄存器狀態(tài)(標(biāo)志)寄存器