第二章 8086CPU_第1頁(yè)
第二章 8086CPU_第2頁(yè)
第二章 8086CPU_第3頁(yè)
第二章 8086CPU_第4頁(yè)
第二章 8086CPU_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 8086系統(tǒng)結(jié)構(gòu)2.1 CPU的內(nèi)部組成和結(jié)構(gòu)的內(nèi)部組成和結(jié)構(gòu)2.2 8086的引腳信號(hào)的引腳信號(hào)2.3 8086的存儲(chǔ)器組織的存儲(chǔ)器組織2.4 8086的工作模式和總線操作的工作模式和總線操作2微型計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)控制總線控制總線CB數(shù)據(jù)總線數(shù)據(jù)總線DB地址總線地址總線ABI/O設(shè)備設(shè)備I/O接口接口存儲(chǔ)器存儲(chǔ)器系統(tǒng)總線系統(tǒng)總線BUSCPU微處理器微處理器存儲(chǔ)器存儲(chǔ)器I/O接口和接口和I/O設(shè)設(shè)備備系統(tǒng)總線系統(tǒng)總線微處理器2.1.1 CPU的內(nèi)部組成1、運(yùn)算器主要功能:對(duì)數(shù)據(jù)進(jìn)行算術(shù)和邏輯運(yùn)算。這些功能由算術(shù)邏輯運(yùn)算單元ALU來(lái)實(shí)現(xiàn)2、控制器控制器是指揮與控制計(jì)算機(jī)各功能部件協(xié)同工作

2、,自動(dòng)執(zhí)行計(jì)算機(jī)程序的部件??刂破饕话闶怯芍噶钪羔樇拇嫫鱅P、指令寄存器IR、指令譯碼器ID、控制邏輯電路和時(shí)鐘控制電路等組成。3、寄存器組寄存器可以存放數(shù)據(jù)或地址,也可存放控制信息和狀態(tài)信息。CPU中寄存器的數(shù)量對(duì)CPU的運(yùn)行速度影響很大。寄存器有以下幾類:數(shù)據(jù)寄存器、地址寄存器、狀態(tài)寄存器、控制寄存器等2.1.2 8086CPU的內(nèi)部結(jié)構(gòu)8086CPU:16位微處理器,采用HMOS技術(shù),集成度29000個(gè) 管/片數(shù)據(jù)總線:16位地址總線:20位,可直接尋址的地址空間1M個(gè)字節(jié)內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS輸入輸入/輸出輸出控制電路控制電路外部總線外部總線執(zhí)行部分執(zhí)行部分

3、控制電路控制電路1 2 3 4 5 6ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI地址加法器地址加法器指令隊(duì)列緩沖器指令隊(duì)列緩沖器16位位20位位16位位8位位8086CPU內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框圖執(zhí)行部件執(zhí)行部件 (EU)總線接口部件總線接口部件 (BIU)通用寄存器通用寄存器變址寄存器變址寄存器 指針寄存器指針寄存器 段寄存器段寄存器8086總線6執(zhí)行部分執(zhí)行部分控制電路控制電路ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通用寄存器寄存器執(zhí)行部件執(zhí)行部件 (EU)16位位8位位EU的

4、組成:(1)4個(gè)通用寄存器組:AX、BX、CX、DX,用以存放16位數(shù)據(jù)或地址(2)指針和變址寄存器:BP、SP、SI、DI,用以存放某一段內(nèi)地址偏移量(3)標(biāo)志寄存器:狀態(tài)標(biāo)志:用來(lái)存放運(yùn)算結(jié)果的特征。CF、PF、AF、ZF、SF、OF控制標(biāo)志:起控制作用。TF、IF、DF(4)算術(shù)邏輯單元(ALU)16位加法器,用于對(duì)寄存器和指令操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算(5)EU控制系統(tǒng)p接受從總線接口單元的指令隊(duì)列中取來(lái)的指令代碼p對(duì)其譯碼和向EU內(nèi)各有關(guān)部分發(fā)出時(shí)序命令信號(hào)p協(xié)調(diào)執(zhí)行指令規(guī)定的操作71 2.61 2.6內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS輸入輸入/輸出輸出控制電路控制電路

5、總線總線執(zhí)行部分執(zhí)行部分控制電路控制電路地址地址加法加法器器指令隊(duì)列指令隊(duì)列總線接口部件總線接口部件 (BIU)20位位8位位8位位BIU的組成:(1)16位段地址寄存器:CS、DS、ES、SS(2)16位指令指針寄存器IP(3)20位物理地址加法器(4)6字節(jié)指令隊(duì)伍(5)總線控制邏輯BIU的功能:負(fù)責(zé)CPU與存儲(chǔ)器、I/O端口傳送數(shù)據(jù):p從內(nèi)存取指令送到指令隊(duì)列p在CPU執(zhí)行指令時(shí),配合EU從指定的內(nèi)存單元或I/O端口讀取數(shù)據(jù),再將指令傳送給EU,由EU執(zhí)行p把EU的執(zhí)行結(jié)果傳送到指定的內(nèi)存單元或I/O端口8EU EU 與與 BIU BIU的流水線操作:的流水線操作: EU EU 與與 B

6、IU BIU可獨(dú)立工作,可獨(dú)立工作,BIUBIU在保證在保證EUEU與片外傳送操作與片外傳送操作數(shù)前提下,可進(jìn)行指令預(yù)取,與數(shù)前提下,可進(jìn)行指令預(yù)取,與EUEU可重疊操作??芍丿B操作。 8086 8086中中6 6個(gè)字節(jié)的個(gè)字節(jié)的ISQISQ為實(shí)現(xiàn)該功能提供了保證。為實(shí)現(xiàn)該功能提供了保證。1 2.61 2.6BIU指令隊(duì)列指令隊(duì)列8位位EU由此可見,8086取值部分與執(zhí)行部分是分開的u 在一條指令的執(zhí)行過(guò)程中可以取出下一條(或多條)指令,指令在指令隊(duì)列中排隊(duì)u 在一條指令執(zhí)行完成后,就可以立即執(zhí)行下一條指令,減少CPU為取指令而等待的時(shí)間,提高CPU的利用率和整個(gè)運(yùn)行速度8086/8088微處

7、理器:BIU和EU分開,取指和執(zhí)行可以重迭大大減少了等待取值所需的時(shí)間,提高CPU的利用率BIU和EU并行工作的管理原則(1)當(dāng)8086指令隊(duì)伍中有2個(gè)字節(jié)(8088為1個(gè)字節(jié))為空時(shí),BIU自動(dòng)將指令取到指令隊(duì)伍中(2)當(dāng)EU執(zhí)行一條指令時(shí),它先從指令隊(duì)伍的隊(duì)首取出指令代碼,再用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在指令執(zhí)行的過(guò)程中,如果必須訪問(wèn)存儲(chǔ)器或I/O設(shè)備,則EU請(qǐng)求BIU進(jìn)入總線周期去完成訪問(wèn)內(nèi)存或I/O端口的操作。如果BIU此時(shí)剛好空閑,則立即響應(yīng)總線請(qǐng)求;如果此時(shí)BIU正在取指令,需完成當(dāng)前取指令周期,然后去響應(yīng)EU的總線請(qǐng)求(3)當(dāng)指令隊(duì)列已滿,而且EU對(duì)BIU無(wú)總線請(qǐng)求,BIU進(jìn)入空閑

8、狀態(tài)(4)當(dāng)執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時(shí),指令隊(duì)列清零,BIU再向指令隊(duì)列中裝入另一個(gè)程序段的指令。原因是下面要執(zhí)行的指令不是指令隊(duì)列中的下一條指令了。12例:例:MOVMOV AXAX,100100 ;AX=0064AX=0064ADDADD AXAX,256 256 ;AX=0164HAX=0164HMOVMOV 2000H2000H,AX AX ;送結(jié)果;送結(jié)果指令的機(jī)器碼為:指令的機(jī)器碼為:B8H 00H 64H B8H 00H 64H 05H 01H 00H05H 01H 00HA3H 20H 00HA3H 20H 00H138086的指令執(zhí)行過(guò)程14寄存器組寄存器組158086的寄存

9、器組有8個(gè)通用寄存器 4個(gè)段寄存器 1個(gè)標(biāo)志寄存器 1個(gè)指令指針寄存器他們均為16位! 匯編語(yǔ)言程序員看到的處理器,就是寄存器匯編語(yǔ)言程序員看到的處理器,就是寄存器 所以,一定要熟悉這些寄存器的名稱和作用所以,一定要熟悉這些寄存器的名稱和作用161)1)通用寄存器通用寄存器 80868086有有8 8個(gè)通用的個(gè)通用的1616位寄存器位寄存器l數(shù)據(jù)寄存器數(shù)據(jù)寄存器: AX BX CX DXAX BX CX DXl變址寄存器變址寄存器: SI DISI DIl指針寄存器指針寄存器: BP SPBP SP 4 4個(gè)數(shù)據(jù)寄存器還可以分成高個(gè)數(shù)據(jù)寄存器還可以分成高8 8位和低位和低8 8位兩個(gè)獨(dú)立的寄存

10、位兩個(gè)獨(dú)立的寄存器,這樣又形成器,這樣又形成8 8個(gè)通用的個(gè)通用的8 8位寄存器位寄存器AXAX: AH ALAH ALBXBX: BH BLBH BLCXCX: CH CLCH CLDXDX: DH DLDH DL17 數(shù)據(jù)寄存器數(shù)據(jù)寄存器AXAX稱為累加器(稱為累加器(AccumulatorAccumulator) 使使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等BXBX稱為基址寄存器(稱為基址寄存器(Base address RegisterBase address Register)常用來(lái)存放存儲(chǔ)器常用來(lái)存放存儲(chǔ)器的偏移的偏移地址

11、地址CXCX稱為計(jì)數(shù)器(稱為計(jì)數(shù)器(CounterCounter)作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器DXDX稱為數(shù)據(jù)寄存器(稱為數(shù)據(jù)寄存器(Data registerData register)常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高1616位,或存放外設(shè)端口地址位,或存放外設(shè)端口地址18變址寄存器變址寄存器1616位變址寄存器位變址寄存器SISI和和DIDI常用于存儲(chǔ)器變址尋址方式時(shí)提供地址常用于存儲(chǔ)器變址尋址方式時(shí)提供地址SISI是是源源變址寄存器(變址寄存器(Source IndexSource Index)DIDI是是目的目的變址寄存器(變

12、址寄存器(Destination IndexDestination Index)在串操作類指令中,在串操作類指令中,SISI、DIDI還有較特殊的用法還有較特殊的用法19 指針寄存器指針寄存器指針寄存器用于尋址內(nèi)存指針寄存器用于尋址內(nèi)存堆棧(堆棧(按按“先進(jìn)后出先進(jìn)后出”的原則開辟的一塊存儲(chǔ)的原則開辟的一塊存儲(chǔ)空間)內(nèi)的數(shù)據(jù)??臻g)內(nèi)的數(shù)據(jù)。SPSP為堆棧指針寄存器(為堆棧指針寄存器(Stack PointerStack Pointer), ,指示堆棧段棧頂?shù)奈恢茫ㄆ甘径褩6螚m數(shù)奈恢茫ㄆ频刂罚┮频刂罚〣PBP為基址指針寄存器(為基址指針寄存器(Base PointerBase Point

13、er),表示數(shù)據(jù)在堆棧段中的基地),表示數(shù)據(jù)在堆棧段中的基地址址SPSP和和BPBP寄存器與寄存器與SSSS段寄存器聯(lián)合使用以確定堆棧段中的段寄存器聯(lián)合使用以確定堆棧段中的 存儲(chǔ)單元地址存儲(chǔ)單元地址棧棧區(qū)區(qū)向小地址小地址生長(zhǎng)SP給定了SS和SP就設(shè)置了堆棧,最大容量64K,假設(shè)ss=2000H,sp=1300H,AX=1234H,BX=5678H 空棧785634123412存儲(chǔ)器2000:00002000:1300SP2000:00002000:00002000:13002000:1300SPSP2000:12FF2000:13FE2000:13FD2000:13FC2000:12FF200

14、0:13FE設(shè)定堆棧壓入2個(gè)數(shù)后彈出一個(gè)數(shù)后PUSH AX PUSH BXPOP DX2180868086有有4 4個(gè)個(gè)1616位段寄存器位段寄存器CS CS - - 代碼段寄存器代碼段寄存器 DSDS - -數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器SS SS - - 堆棧段寄存器堆棧段寄存器 ESES - -附加段寄存器附加段寄存器 2)2)段寄存器段寄存器22CS(代碼段)用來(lái)存放程序的指令序列(代碼段)用來(lái)存放程序的指令序列 代碼段寄存器代碼段寄存器CS存放代碼段的段地址存放代碼段的段地址 指令指針寄存器指令指針寄存器IP指示下條指令的偏移地址指示下條指令的偏移地址 處理器利用處理器利用CS:IP取得下

15、一條要執(zhí)行的指令。取得下一條要執(zhí)行的指令。SS(堆棧段)用來(lái)確定堆棧所在的主存區(qū)域(堆棧段)用來(lái)確定堆棧所在的主存區(qū)域堆棧段寄存器堆棧段寄存器SS存放堆棧段的段地址存放堆棧段的段地址堆棧指針寄存器堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂分甘径褩m數(shù)钠频刂?處理器利用處理器利用SS:SP操作堆棧頂?shù)臄?shù)據(jù)。操作堆棧頂?shù)臄?shù)據(jù)。23DS(數(shù)據(jù)段)存放運(yùn)行程序所用的數(shù)據(jù)數(shù)據(jù)段)存放運(yùn)行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址存放數(shù)據(jù)段的段地址 處理器利用處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)。存取數(shù)據(jù)段中的數(shù)據(jù)。ES(附加段)是附加的數(shù)據(jù)段,也保存數(shù)據(jù)附加段)是附加的數(shù)據(jù)段,也保

16、存數(shù)據(jù)附加段寄存器附加段寄存器ES存放附加段的段地址存放附加段的段地址 處理器利用處理器利用ES:EA存取附加段中的數(shù)據(jù)。存取附加段中的數(shù)據(jù)。串操作指令將串操作指令將ES段作為其目的操作數(shù)的存放區(qū)域。段作為其目的操作數(shù)的存放區(qū)域。24IPIP(Instruction PointerInstruction Pointer)為指令指針寄存器。)為指令指針寄存器。IP IP 始終指向?qū)⒁獔?zhí)行指令的始終指向?qū)⒁獔?zhí)行指令的偏移地址偏移地址。并具有。并具有自動(dòng)自動(dòng)加加1 1的功能。的功能。 IPIP必須與必須與CSCS相配合才能確定相配合才能確定指令指令的存儲(chǔ)地址。的存儲(chǔ)地址。3)3)指令指針寄存器指令指

17、針寄存器25 標(biāo)志寄存器標(biāo)志寄存器 FR用用9位來(lái)表示各種特征。其它位來(lái)表示各種特征。其它7位未開位未開發(fā)。發(fā)。 狀態(tài)標(biāo)志位狀態(tài)標(biāo)志位(6位):位):用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息。 許多指令的執(zhí)行會(huì)相應(yīng)地影響影響它們。 OF 、SF、ZF、AF、 PF、 CF 控制標(biāo)志位控制標(biāo)志位(3位):位):人為設(shè)置人為設(shè)置。由相應(yīng)的指令來(lái)完成設(shè)。由相應(yīng)的指令來(lái)完成設(shè)置。置。DF、 IF、TFOF11D15 12DF10IF9TF8SF7ZF65AF43PF21CFD04)4)標(biāo)志寄存器標(biāo)志寄存器26狀態(tài)標(biāo)志位狀態(tài)標(biāo)志位:CF進(jìn)(借)位標(biāo)志(進(jìn)(借)位標(biāo)志(Carry Flag)。若)。若運(yùn)算結(jié)果的最高

18、有效位有進(jìn)運(yùn)算結(jié)果的最高有效位有進(jìn)(借)位,則(借)位,則CF=1;否則否則CF=0 。 PF奇奇/偶標(biāo)志(偶標(biāo)志(Parity Flag)。若運(yùn)算結(jié)果的)。若運(yùn)算結(jié)果的低低8位位中所含中所含1的個(gè)數(shù)的個(gè)數(shù)為偶數(shù),則為偶數(shù),則PF=1; 反之反之PF=0。AF輔助進(jìn)位標(biāo)志(輔助進(jìn)位標(biāo)志(Auxiliary Carry Flag)。)。在加減運(yùn)算中在加減運(yùn)算中,D3向向D4位有進(jìn)位或借位時(shí),位有進(jìn)位或借位時(shí),AF=1; 反之反之AF=0。 ZF零標(biāo)志(零標(biāo)志(Zero Flag)。若運(yùn)算結(jié)果為零,)。若運(yùn)算結(jié)果為零,ZF=1;若運(yùn)算結(jié)果不;若運(yùn)算結(jié)果不為零,為零,ZF=0。27OF 溢出標(biāo)志溢出

19、標(biāo)志(Overflow Flag)。若運(yùn)算結(jié)果有溢出,則。若運(yùn)算結(jié)果有溢出,則OF=1;反之反之OF=0。l 如果有符號(hào)數(shù)運(yùn)算結(jié)果超出范圍,就產(chǎn)生了溢出,說(shuō)明有符號(hào)如果有符號(hào)數(shù)運(yùn)算結(jié)果超出范圍,就產(chǎn)生了溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確。數(shù)的運(yùn)算結(jié)果不正確。l 應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來(lái)決定。應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來(lái)決定。l 如果將參加運(yùn)算的操作數(shù)是無(wú)符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位如果將參加運(yùn)算的操作數(shù)是無(wú)符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位 CF; 如果是有符號(hào)數(shù),則要注意是否溢出如果是有符號(hào)數(shù),則要注意是否溢出OF。SF符號(hào)標(biāo)志符號(hào)標(biāo)志(Sign Flag)。與運(yùn)算結(jié)果的最高位相同。若運(yùn)算結(jié)與運(yùn)算結(jié)果

20、的最高位相同。若運(yùn)算結(jié)果的最高位為果的最高位為0,則,則SF=0;若運(yùn)算結(jié)果的最高位為;若運(yùn)算結(jié)果的最高位為1,則,則SF=1。編程注意事項(xiàng):編程注意事項(xiàng):28 0110 1001B + 0011 0010B 1001 1011B +105和和+50相加結(jié)果為相加結(jié)果為-101;CF= 0; AF=0 ; OF=1; ZF=0 ; SF= 1 ; PF=0例例: 兩個(gè)兩個(gè)有符號(hào)數(shù)有符號(hào)數(shù)(+105和和+50)相加)相加 CF=? ; AF=? ; OF=? ZF=? ; SF= ? PF=? 如果把兩個(gè)數(shù)看做無(wú)符號(hào)數(shù),則不考慮如果把兩個(gè)數(shù)看做無(wú)符號(hào)數(shù),則不考慮SF和和OF標(biāo)志,結(jié)果正確標(biāo)志,結(jié)

21、果正確例例: 求兩個(gè)求兩個(gè)負(fù)數(shù)負(fù)數(shù)(-50和和-5)之和)之和 CF=? ; AF=? ; OF=? ZF=? ; SF= ? PF=? 1100 1110B -50補(bǔ)補(bǔ) +/ 1111 1011B -5補(bǔ)補(bǔ) 11100 1001B -55補(bǔ)補(bǔ) -50和和-5相加結(jié)果為相加結(jié)果為-55;CF= 1; AF=1 ; OF=0; ZF=0 ; SF= 1 ; PF=1有符號(hào)數(shù)相加,判斷有符號(hào)數(shù)相加,判斷CF是否為是否為1無(wú)意義;計(jì)算機(jī)會(huì)自動(dòng)判斷無(wú)意義;計(jì)算機(jī)會(huì)自動(dòng)判斷OF30 方向標(biāo)志方向標(biāo)志DF用于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DF0,存儲(chǔ)器地址

22、自動(dòng)增加;,存儲(chǔ)器地址自動(dòng)增加;設(shè)置設(shè)置DF1,存儲(chǔ)器地址自動(dòng)減少,存儲(chǔ)器地址自動(dòng)減少 中斷允許標(biāo)志中斷允許標(biāo)志IF控制控制可屏蔽中斷可屏蔽中斷是否可以被處理器響應(yīng):是否可以被處理器響應(yīng):設(shè)置設(shè)置IF1,則允許中斷;,則允許中斷;設(shè)置設(shè)置IF0,則禁止中斷,則禁止中斷 陷阱標(biāo)志陷阱標(biāo)志TF用于控制處理器進(jìn)入單步操作方式:用于控制處理器進(jìn)入單步操作方式:設(shè)置設(shè)置TF0,處理器正常工作;,處理器正常工作;設(shè)置設(shè)置TF1,處理器,處理器單步執(zhí)行指令單步執(zhí)行指令控制標(biāo)志位控制標(biāo)志位:312.2 8086CPU的引腳及其功能 80868086微處理器采用微處理器采用4040條引條引線雙列直插線雙列直插(

23、DIP)(DIP)封裝。封裝。兩種工作方式:兩種工作方式:最小工作模式最小工作模式( (MNMN) )最大工作模式最大工作模式(MX)(MX)2.2.1 最小模式和最大模式8086/80888086/8088可以在兩種模式下工作:最小模式和最大模式。可以在兩種模式下工作:最小模式和最大模式。1 1、最小模式最小模式:整個(gè)微型計(jì)算機(jī)系統(tǒng)只有一個(gè):整個(gè)微型計(jì)算機(jī)系統(tǒng)只有一個(gè)CPUCPU,所有的總線,所有的總線控制信號(hào)都直接由這個(gè)控制信號(hào)都直接由這個(gè)CPUCPU產(chǎn)生,因此,系統(tǒng)的總線控制電路產(chǎn)生,因此,系統(tǒng)的總線控制電路被減到最少。被減到最少。2 2、最大模式最大模式:包括兩個(gè)以上的:包括兩個(gè)以上的

24、CPUCPU。其中一個(gè)為主處理器。其中一個(gè)為主處理器8086/80888086/8088,其他的稱為協(xié)處理器,協(xié)助主處理器進(jìn)行工作,其他的稱為協(xié)處理器,協(xié)助主處理器進(jìn)行工作如:如:8087-8087-數(shù)字運(yùn)算協(xié)處理器;數(shù)字運(yùn)算協(xié)處理器;8089-8089-輸入輸出協(xié)處理器輸入輸出協(xié)處理器3 3、實(shí)現(xiàn)實(shí)現(xiàn):8086/80888086/8088第第3333根引腳(根引腳( ),接地為最大模式,),接地為最大模式,接接+5V+5V電壓為最小模式。電壓為最小模式。33 80868086微處理器引線,在邏輯上可分為微處理器引線,在邏輯上可分為3 3類:類:地址總線信號(hào)地址總線信號(hào)、數(shù)據(jù)總線信號(hào)數(shù)據(jù)總線信

25、號(hào)、控制控制總線信號(hào)總線信號(hào)。還有一些專用信號(hào):電源、地、時(shí)鐘。還有一些專用信號(hào):電源、地、時(shí)鐘。1 1、復(fù)用總線引腳(地址、數(shù)據(jù)總線信號(hào))、復(fù)用總線引腳(地址、數(shù)據(jù)總線信號(hào)) 80868086采用引線采用引線分時(shí)復(fù)用分時(shí)復(fù)用技術(shù),一條引線不同時(shí)間代表不同信號(hào)技術(shù),一條引線不同時(shí)間代表不同信號(hào), ,解決引線解決引線不夠問(wèn)題。不夠問(wèn)題。lAD0-AD15 地址地址/ /數(shù)據(jù)分時(shí)復(fù)用引腳,雙向。數(shù)據(jù)分時(shí)復(fù)用引腳,雙向。lA19/S6 A16/S3 地址地址/ /狀態(tài)復(fù)用引腳,輸出。狀態(tài)復(fù)用引腳,輸出。lBHE/S7 高八位數(shù)據(jù)總線允許,輸出。高八位數(shù)據(jù)總線允許,輸出。2.2.2外部引腳說(shuō)明(最小模

26、式)34如存放的字?jǐn)?shù)據(jù)從偶地址單元開始,需一次操作;如從奇地址開始,需兩次操作。如存放的字?jǐn)?shù)據(jù)從偶地址單元開始,需一次操作;如從奇地址開始,需兩次操作。352、處理器控制信號(hào)(1)中斷類l NMI: 輸入,上升沿有效,不可屏蔽中斷請(qǐng)求。CPU將結(jié)束當(dāng)前指令,執(zhí)行對(duì)應(yīng)于中斷類型號(hào)為2的非屏蔽中斷處理子程序lINTR: 輸入,高電平有效,可屏蔽中斷請(qǐng)求,CPU在執(zhí)行每一條指令的最后一個(gè)時(shí)鐘周期會(huì)對(duì)INTR信號(hào)進(jìn)行采樣,如果FLAG的IF位為1,并且接收到INTR信號(hào),則在結(jié)束當(dāng)前指令后,響應(yīng)中斷請(qǐng)求,執(zhí)行請(qǐng)求的中斷處理子程序。lINTA:輸出,可屏蔽中斷請(qǐng)求響應(yīng)信號(hào),是對(duì)中斷請(qǐng)求設(shè)備的響應(yīng)lHOL

27、D : 輸入,總線請(qǐng)求信號(hào)lHLDA : 輸出,總線請(qǐng)求響應(yīng)信號(hào)HOLD和 HLDA在最小模式時(shí),HOLD和HLDA信號(hào)結(jié)合起來(lái)決定CPU與其它部件之間的總線使用權(quán),當(dāng)系統(tǒng)中CPU之外的其它部件請(qǐng)求占用總線時(shí),首先通過(guò)HOLD向CPU發(fā)出高電平的請(qǐng)求信號(hào),如果CPU允許讓出總線,在完成當(dāng)前總線周期后,從HLDA引腳發(fā)出一個(gè)高電平應(yīng)答信號(hào),請(qǐng)求占用總線的部件收到HLDA信號(hào)后,就獲得了總線控制權(quán),在此后的一段時(shí)間,HOLD和HLDA都保持高電平,直到該部件用完總線之后,會(huì)將HOLD置為低電平,CPU收到HOLD的低電平信號(hào)后,會(huì)將HLDA也變成低電平,使CPU恢復(fù)對(duì)總線的占有權(quán)。uDT/R:輸出

28、, 數(shù)據(jù)收發(fā)信號(hào)數(shù)據(jù)收發(fā)信號(hào)。數(shù)據(jù)收發(fā)方向的控制信號(hào),通知總線收發(fā)器是接收還是發(fā)送數(shù)據(jù)。uDEN:輸出, 數(shù)據(jù)允許信號(hào)數(shù)據(jù)允許信號(hào)。提供控制信號(hào),通知收發(fā)器,CPU準(zhǔn)備接收或發(fā)送一個(gè)數(shù)據(jù),在讀周期從T2狀態(tài)的中間開始變?yōu)榈碗娖剑恢北3值絋4的中間;寫周期時(shí),在T2的一開始就變成低電平,一直保持到T4的中間。uALE:輸出, 地址鎖存允許信號(hào)地址鎖存允許信號(hào),ALE是8086/8088提供給地址鎖存器8282/8283的控制信號(hào),在總線周期的T1狀態(tài),ALE輸出高電平,表示當(dāng)前地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息地址信息,8282/8283將地址進(jìn)行鎖存鎖存(對(duì)地址進(jìn)行備份)。(2 2) CP

29、U CPU控制類控制類38M/IORDWR操作001I/O讀操作010I/O寫操作101存儲(chǔ)器讀操作110存儲(chǔ)器寫操作uRD:輸出,讀控制讀控制。有效時(shí)是指對(duì)內(nèi)存或I/O端口進(jìn)行讀操作uWR: 輸出,寫控制寫控制。表示CPU當(dāng)前正在進(jìn)行對(duì)存儲(chǔ)器或者I/O之間的寫操作uM/ IO:輸出, 存儲(chǔ)器存儲(chǔ)器/ /輸入輸出控制輸入輸出控制。用來(lái)區(qū)分CPU訪問(wèn)存儲(chǔ)器還是I/O端口39(3)其它lRESET:輸入,復(fù)位復(fù)位信號(hào),至少要維持4個(gè)時(shí)鐘周期。使微處理器停止現(xiàn)行操作,并進(jìn)行初始化:CSCS:IPIP置為置為FFFFFFFF:0000:0000H H, 其余寄存器清零、指令隊(duì)列清空其余寄存器清零、指令

30、隊(duì)列清空。lREADY:輸入,準(zhǔn)備就緒引腳準(zhǔn)備就緒引腳。l TEST :輸入,測(cè)試引腳。l MN/MX:工作方式選擇引腳工作方式選擇引腳。l Vcc +5V:第40引腳為電源電源l GND:第1、20引腳為地地l CLK:時(shí)鐘信號(hào),輸入時(shí)鐘信號(hào),輸入2.3 8086存儲(chǔ)器組織一、存儲(chǔ)器單元的地址和內(nèi)容一、存儲(chǔ)器單元的地址和內(nèi)容存儲(chǔ)器位編號(hào):存儲(chǔ)器位編號(hào):8086字長(zhǎng)字長(zhǎng)16位,由二個(gè)字節(jié)組成,位編號(hào)如下:位,由二個(gè)字節(jié)組成,位編號(hào)如下:8086內(nèi)部的內(nèi)部的ALU能進(jìn)行能進(jìn)行16位運(yùn)算位運(yùn)算有關(guān)地址寄存器如有關(guān)地址寄存器如SP、IP、BP、SI、DI等都是等都是16位的位的存儲(chǔ)單元地址:按照字節(jié)

31、編碼存儲(chǔ)單元的內(nèi)容:一個(gè)存儲(chǔ)單元有效的信息存儲(chǔ)單元的內(nèi)容:一個(gè)存儲(chǔ)單元有效的信息機(jī)器字長(zhǎng)是機(jī)器字長(zhǎng)是16位,大部分?jǐn)?shù)據(jù)以字節(jié)為單元表示位,大部分?jǐn)?shù)據(jù)以字節(jié)為單元表示一個(gè)字節(jié)存入存儲(chǔ)器占有連續(xù)的兩個(gè)單元:一個(gè)字節(jié)存入存儲(chǔ)器占有連續(xù)的兩個(gè)單元:低位字節(jié)存入低地址,高位字節(jié)存入高地址;字低位字節(jié)存入低地址,高位字節(jié)存入高地址;字單元的地址采用它的低地址來(lái)表示。單元的地址采用它的低地址來(lái)表示。例如:字單元:(例如:字單元:(0004H)=1234H 字節(jié)單元:字節(jié)單元:(0004H)=34H同一個(gè)地址既可以看作字節(jié)單元地址,又可看作同一個(gè)地址既可以看作字節(jié)單元地址,又可看作字單元地址字單元地址字單元地

32、址:可以是偶數(shù),也可以是奇數(shù)字單元地址:可以是偶數(shù),也可以是奇數(shù)0000H0001H0002H0003H34H0004H12H0005H0006H1EH1234H2FH1235H1236H地址地址二、存儲(chǔ)器地址分段8086有20條地址總線,直接尋址能力為 =1M字節(jié)用20位二進(jìn)制表示1M字節(jié)的地址范圍應(yīng)為:00000HFFFFFH(1)存儲(chǔ)器地址分段8086地址總線是20位的,CPU的寄存器是16位的,20位地址無(wú)法用16位寄存器表示,必須將存儲(chǔ)器劃分成段。段內(nèi)地址16位,每個(gè)段的大小最大可達(dá)64KB。(可以根據(jù)實(shí)際需要來(lái)確定段大小,段大小可以是1,100,1000,在64K范圍內(nèi)的任意字節(jié)數(shù)

33、)IBM PC機(jī)對(duì)段的起始地址有限制,即段不能從任意地址開始,必須從任一小段的首地址開始。(2)小段的概念)小段的概念從從0地址開始,每地址開始,每16字節(jié)為一小段字節(jié)為一小段對(duì)于對(duì)于20位地址總線,段內(nèi)存儲(chǔ)器小段地址如下:位地址總線,段內(nèi)存儲(chǔ)器小段地址如下:其中,第一列就是其中,第一列就是每個(gè)小段的首地址每個(gè)小段的首地址每個(gè)小段首地址特征:每個(gè)小段首地址特征:在在16進(jìn)制表示的地址中,最低位為進(jìn)制表示的地址中,最低位為0H(即(即20位地址的低位地址的低4位為位為0000B)00000H00001H00002H0000EH0000FH00010H00011H00012H0001EH0001F

34、H00020H00021H00022H0002EH0002FHFFFF0HFFFF1HFFFF2HFFFFEHFFFFFH存儲(chǔ)器64KB一個(gè)段000001000:0000FFFFF1000:FFFF起始地址為10000終止地址為1FFFF(3)20位物理地址形成物理地址:在1M字節(jié)存儲(chǔ)器里,每個(gè)存儲(chǔ)單元都有一個(gè)唯一的20位地址作為該存儲(chǔ)單元的物理地址。20位物理地址形成:由16位段地址和16位偏移地址組成段地址:只取段起始地址高16位值偏移地址:相對(duì)段起始地址的偏移量 邏輯地址:由段基址和段內(nèi)偏移地址組成的地址。 邏輯地址形式邏輯地址形式 段基地址段基地址 : : 段內(nèi)偏移地址段內(nèi)偏移地址段基

35、址和段內(nèi)偏移地址都是16位的無(wú)符號(hào)二進(jìn)制數(shù),在程序設(shè)計(jì)時(shí)使用。物理地址計(jì)算方法:即把段地址左移物理地址計(jì)算方法:即把段地址左移4位,再加上偏移地址形成物位,再加上偏移地址形成物理地址。理地址。 物理地址物理地址=16d*段地址段地址+偏移地址偏移地址每個(gè)存儲(chǔ)單元只有唯一的物理地址每個(gè)存儲(chǔ)單元只有唯一的物理地址,但可由不同的段地址和不同的,但可由不同的段地址和不同的偏移地址組成。偏移地址組成。邏輯地址來(lái)源歸納段寄存器和其它寄存器組合指向存儲(chǔ)單元示意圖如下:BIU的工作過(guò)程的工作過(guò)程: 首先由首先由CS中中16位段基地址,在最低位后面補(bǔ)上位段基地址,在最低位后面補(bǔ)上4個(gè)個(gè)0,加上,加上IP中中16

36、位偏位偏移地址,在地址加法器中內(nèi)形成移地址,在地址加法器中內(nèi)形成20位物理地址,位物理地址,20位地址直接送往地址位地址直接送往地址總線,然后通過(guò)總線控制邏輯發(fā)出存儲(chǔ)器信號(hào)總線,然后通過(guò)總線控制邏輯發(fā)出存儲(chǔ)器信號(hào)RD,啟動(dòng)存儲(chǔ)器,按給定,啟動(dòng)存儲(chǔ)器,按給定的地址從存儲(chǔ)器中取出指令,送到指令隊(duì)伍中等待執(zhí)行。的地址從存儲(chǔ)器中取出指令,送到指令隊(duì)伍中等待執(zhí)行。EU的工作過(guò)程的工作過(guò)程: EU從從BIU的指令隊(duì)列輸出端取得指令,進(jìn)行譯碼,若執(zhí)行指令需要訪問(wèn)的指令隊(duì)列輸出端取得指令,進(jìn)行譯碼,若執(zhí)行指令需要訪問(wèn)存儲(chǔ)器或存儲(chǔ)器或I/O端口去取操作數(shù),則端口去取操作數(shù),則EU將操作數(shù)的偏移地址通過(guò)將操作數(shù)的

37、偏移地址通過(guò)16位數(shù)據(jù)位數(shù)據(jù)總線送給總線送給BIU,與段地址一起,在,與段地址一起,在BIU的地址加法器中形成的地址加法器中形成20位物理地位物理地址,申請(qǐng)?jiān)L問(wèn)存儲(chǔ)器或址,申請(qǐng)?jiān)L問(wèn)存儲(chǔ)器或I/O端口,取得操作數(shù)送給端口,取得操作數(shù)送給EU,EU根據(jù)指令要求根據(jù)指令要求向向EU內(nèi)部各部件發(fā)出控制命令,完成執(zhí)行指令的功能。內(nèi)部各部件發(fā)出控制命令,完成執(zhí)行指令的功能。512.4 80862.4 8086的工作模式和總線操作的工作模式和總線操作1 1、最小工作方式電路、最小工作方式電路52說(shuō)明:1、 當(dāng)AD0-AD15為地址信息時(shí)ALE有效,利用鎖存器 8282將復(fù)用總線上的地址信息鎖存,對(duì)外形成20

38、根地址總線(AB)。2、 利用DEN、DT/ R 及總線驅(qū)動(dòng)器8286 控制信息流向,并增加16根數(shù)據(jù)總線(DB)的驅(qū)動(dòng)能力。3、系統(tǒng)控制線的操作功能(CB) (1)完成中斷控制 (2)完成存儲(chǔ)器/IO讀寫控制8086的總線周期的概念EU和BIU之所以能協(xié)調(diào)工作,必須有一個(gè)時(shí)鐘來(lái)控制1、時(shí)鐘周期:計(jì)算機(jī)中最基本的時(shí)間單元(最短的時(shí)間度量單元)為1/主頻(s)如:主頻為5MHz,則時(shí)鐘周期為200ns2、總線周期:CPU對(duì)存儲(chǔ)器或I/O讀寫一次所需的時(shí)間。最基本的總線周期包括四個(gè)時(shí)鐘周期在一個(gè)最基本的總線周期中,習(xí)慣上將4個(gè)時(shí)鐘周期稱為4個(gè)狀態(tài),分別是T1、T2、T3、T4(1)在T1狀態(tài):CP

39、U往地址/數(shù)據(jù)總線上發(fā)出地址信號(hào),指出要尋找的存儲(chǔ)單元或外設(shè)端口地址(2)在T2狀態(tài):CPU從總線上撤銷地址,而使16位地址/數(shù)據(jù)總線浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備,4位的地址/狀態(tài)總線輸出本總線周期的狀態(tài)信息(3)在T3狀態(tài):4位地址/狀態(tài)總線繼續(xù)提供狀態(tài)信息,16位地址/數(shù)據(jù)總線上出現(xiàn)CPU寫出的數(shù)據(jù)或CPU讀入的數(shù)據(jù)如果I/O設(shè)備或存儲(chǔ)器速度慢,I/O設(shè)備或存儲(chǔ)器會(huì)向CPU發(fā)出等待請(qǐng)求信號(hào),于是CPU插入一個(gè)或多個(gè)附加的時(shí)鐘周期Tw狀態(tài),也稱等待狀態(tài)。(4)在T4狀態(tài):完成數(shù)據(jù)的讀寫操作,總線周期結(jié)束只有在CPU與I/O設(shè)備或存儲(chǔ)器之間傳輸數(shù)據(jù),以及從內(nèi)存取指令到指令隊(duì)列時(shí),CPU才執(zhí)

40、行總線周期。因此,在兩個(gè)總線周期之間,總線就可能處于空閑狀態(tài)Tr,此時(shí)執(zhí)行空閑周期3、指令周期:執(zhí)行一條指令所需要的全部時(shí)間。p 一個(gè)指令周期可能包括若干個(gè)總線周期p 不同的指令的指令周期可能不同p 指令周期由一些基本的總線周期組成:總線操作 總線讀操作:取指令,讀存儲(chǔ)器,讀I/O接口 總線寫操作:寫存儲(chǔ)器,寫I/O接口 中斷操作5780868086最小方式下讀總線周期時(shí)序最小方式下讀總線周期時(shí)序5880868086最小方式下最小方式下寫總線周期時(shí)序?qū)懣偩€周期時(shí)序59說(shuō)明:1 1、ALE ALE 信號(hào)在信號(hào)在 T1 T1 出現(xiàn),表明一個(gè)總線周期開始,選出現(xiàn),表明一個(gè)總線周期開始,選通外部地址鎖

41、存器,鎖存復(fù)用總線上的地址信息。通外部地址鎖存器,鎖存復(fù)用總線上的地址信息。2 2、在、在RDRD、WRWR等信號(hào)的配合下,等信號(hào)的配合下,T3T3、T4T4期間完成數(shù)據(jù)訪期間完成數(shù)據(jù)訪問(wèn)。問(wèn)。3 3、T3 T3 上升沿檢測(cè)上升沿檢測(cè)READYREADY信號(hào)是否有效,無(wú)效時(shí)在信號(hào)是否有效,無(wú)效時(shí)在T3T3與與T4T4間插入等待狀態(tài)間插入等待狀態(tài)TwTw。602.5 80862.5 8086的中斷系統(tǒng)和中斷操作的中斷系統(tǒng)和中斷操作1、中斷的中斷的定義定義 計(jì)算機(jī)在程序執(zhí)行過(guò)程中,當(dāng)出現(xiàn)硬件或軟件請(qǐng)求時(shí),處理器暫時(shí)停止正在執(zhí)行的程序,轉(zhuǎn)去對(duì)請(qǐng)求進(jìn)行處理,處理完后,回到程序斷點(diǎn)位置繼續(xù)執(zhí)行。斷點(diǎn)主程

42、序中斷服務(wù)程序有中斷請(qǐng)求對(duì)外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)中斷源中斷源:任任何能夠引發(fā)何能夠引發(fā)中斷事件的中斷事件的來(lái)源來(lái)源612 2、采用中斷技術(shù)的、采用中斷技術(shù)的優(yōu)點(diǎn)優(yōu)點(diǎn)(1)可方便地處理隨機(jī)事件(實(shí)時(shí)處理、故障處理)。(2)提高處理器的使用效率和提高計(jì)算機(jī)的工作速度。3 3、80868086的中斷系統(tǒng)的中斷系統(tǒng)(1)8086微處理器有處理256種中斷(硬件、軟件)的能力。硬件中斷:外部硬件電路產(chǎn)生的中斷。軟件中斷:8086操作過(guò)程中發(fā)生異常事件或執(zhí)行中斷指令I(lǐng)NT n(2)每個(gè)中斷分配給一個(gè)中斷類型碼,在0255之間,用一字節(jié)表示,也稱為256種類型中斷。62指令啟指令啟 動(dòng)動(dòng) 的的軟件中斷(內(nèi)部)軟件中斷(內(nèi)部)硬件中斷(外部)硬件中斷(外部)INTn 指令指令中中 斷斷 邏邏 輯輯斷點(diǎn)斷點(diǎn)中斷中斷溢出溢出中斷中斷單步單步中斷中斷除數(shù)為除數(shù)為0 中斷中斷(3)(4)(1)(0)非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求(2)中中斷斷控控

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論