




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第4章16位微處理器 本章以本章以1616位微處理器位微處理器8086/80888086/8088為中為中心,講解微處理器的心,講解微處理器的內(nèi)部結(jié)構(gòu)、地址內(nèi)部結(jié)構(gòu)、地址形成、內(nèi)部寄存器、工作模式、總線形成、內(nèi)部寄存器、工作模式、總線時(shí)序、總線操作時(shí)序、總線操作等主要內(nèi)容。等主要內(nèi)容。 在掌握在掌握8086CPU8086CPU的基礎(chǔ)上,進(jìn)一步理的基礎(chǔ)上,進(jìn)一步理解微處理器的工作原理以及與外部通解微處理器的工作原理以及與外部通訊聯(lián)系的過程,為后面學(xué)習(xí)接口技術(shù)訊聯(lián)系的過程,為后面學(xué)習(xí)接口技術(shù)做準(zhǔn)備。做準(zhǔn)備。BIU:Bus Interface Unit,總線接口部件,總線接口部件EU: Execu
2、tion Unit,執(zhí)行部件,執(zhí)行部件Stack:堆棧:堆棧NMI:Non-maskable Interupt,非屏蔽,非屏蔽中斷中斷INTR:Interupt Request,可屏蔽中斷請(qǐng),可屏蔽中斷請(qǐng)求求主要內(nèi)容主要內(nèi)容16位微處理器概述8086/8088 CPU的結(jié)構(gòu)8086/8088 CPU的引腳信號(hào)和工作模式8086/8088的主要操作功能微處理器微處理器(microprocessor)(microprocessor)是微型計(jì)算機(jī)的運(yùn)算及控制部件,也稱是微型計(jì)算機(jī)的運(yùn)算及控制部件,也稱中央處理單元中央處理單元(CPU)(CPU)。它本身不構(gòu)成獨(dú)立的工作系統(tǒng),因而它也。它本身不構(gòu)成獨(dú)立
3、的工作系統(tǒng),因而它也不能獨(dú)立地執(zhí)行程序不能獨(dú)立地執(zhí)行程序。n微處理器微處理器(microprocessor(microprocessor)指令控制;操作控制;時(shí)序控制;數(shù)據(jù)處理指令控制;操作控制;時(shí)序控制;數(shù)據(jù)處理nCPU功能:功能:n數(shù)據(jù)總線寬度數(shù)據(jù)總線寬度1616位,地址總線寬度位,地址總線寬度2020位;可直接尋址空間位;可直接尋址空間2 220201M1M字字節(jié)單元;節(jié)單元;1616位數(shù)據(jù)總線與地址總線復(fù)用位數(shù)據(jù)總線與地址總線復(fù)用n8086概況:概況:n19791979年推出,第一代超大規(guī)模集成電路(年推出,第一代超大規(guī)模集成電路(VLSIVLSI)微處理器,采用)微處理器,采用HMO
4、SHMOS工藝制造,內(nèi)含工藝制造,內(nèi)含2.92.9萬晶體管萬晶體管 ( (酷??犷7 i7 39億個(gè)晶體管億個(gè)晶體管)n采用單一的采用單一的+5V+5V電源,一相時(shí)鐘,時(shí)鐘頻率為電源,一相時(shí)鐘,時(shí)鐘頻率為 5MHz5MHz(80868086),),10MHz10MHz(808680861 1),),8MHz8MHz(808680862 2)n133133條指令,指令長(zhǎng)度條指令,指令長(zhǎng)度1 16 6字節(jié),指令最短執(zhí)行時(shí)間為字節(jié),指令最短執(zhí)行時(shí)間為0.4us0.4us(平均(平均0.5us0.5us)8086為為16位機(jī)位機(jī)(數(shù)據(jù)總線數(shù)據(jù)總線16位位)n8086與與8088的比較的比較n8088
5、為準(zhǔn)準(zhǔn)16位機(jī)位機(jī),數(shù)據(jù)總線內(nèi)部16位,外部8位.n8086和8088 CPU的內(nèi)部都采用16位字進(jìn)行操作及存儲(chǔ)器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同。然而,由于8088要比8086有較多的外部存取操作,所以,對(duì)相同的程序,它將執(zhí)行得較慢。n8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個(gè)16位數(shù)據(jù)字時(shí),8088需要兩步操作而8086只需要一步。1 2 3 4 內(nèi)部暫存器內(nèi)部暫存器 IP ES SS DS CS輸入輸入/輸出輸出控制電路控制電路外部總線外部總線執(zhí)行部分執(zhí)行部分控制電路控制電路ALU標(biāo)志寄存器標(biāo)志寄存器 AH AL BH BLCH CL DH DL SP
6、BP SI DI通用通用寄存器寄存器地址地址加法加法器器指令隊(duì)列指令隊(duì)列執(zhí)行部件執(zhí)行部件 (EU)總線接口部件總線接口部件 (BIU)16位位20位位8位位8位位8086CPU8086CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)ALU數(shù)據(jù)總線隊(duì)列總線1 2 3 4 5 6 1、EU (Execution Unit)1)、)、 功能功能:負(fù)責(zé)指令執(zhí)負(fù)責(zé)指令執(zhí)行。行。接受接受從總線接口單元的從總線接口單元的指令隊(duì)列指令隊(duì)列中取來的指令代碼中取來的指令代碼,其譯碼和向,其譯碼和向 EU 內(nèi)各有關(guān)部分內(nèi)各有關(guān)部分發(fā)出時(shí)序命令發(fā)出時(shí)序命令信號(hào)信號(hào),協(xié)調(diào)執(zhí)行指令規(guī)定的操作協(xié)調(diào)執(zhí)行指令規(guī)定的操作。包含:包含:ALU, 反應(yīng)反
7、應(yīng)CPU狀態(tài)和控狀態(tài)和控制標(biāo)志的狀態(tài)標(biāo)志寄存器制標(biāo)志的狀態(tài)標(biāo)志寄存器FLAGS, 一組通用寄存器,運(yùn)算一組通用寄存器,運(yùn)算寄存器,和寄存器,和EU控制系統(tǒng)??刂葡到y(tǒng)。 進(jìn)行算數(shù)邏輯運(yùn)算,進(jìn)行算數(shù)邏輯運(yùn)算, 計(jì)算存儲(chǔ)操作數(shù)的偏移地址。計(jì)算存儲(chǔ)操作數(shù)的偏移地址。2、總線接口單元、總線接口單元 BIU (Bus Interface Unit) 1) 功能:功能:負(fù)責(zé)與負(fù)責(zé)與 M、I/O 端端口傳送數(shù)據(jù)口傳送數(shù)據(jù)。具體講:具體講: 總線接口部件要從內(nèi)存總線接口部件要從內(nèi)存 取取指令送到指令隊(duì)列指令送到指令隊(duì)列; CPU執(zhí)行指令時(shí),要配合執(zhí)行指令時(shí),要配合執(zhí)行部件從指定的內(nèi)存單元或執(zhí)行部件從指定的內(nèi)存單
8、元或者外設(shè)端口中者外設(shè)端口中取數(shù)據(jù)取數(shù)據(jù),將,將數(shù)據(jù)數(shù)據(jù)傳送給執(zhí)行部件傳送給執(zhí)行部件EU; 或把執(zhí)行部件的操作或把執(zhí)行部件的操作結(jié)果結(jié)果傳給指定的傳給指定的M或或I/O口口。地址總線地址總線集成了2.9萬晶體管負(fù)責(zé)指令的執(zhí)行,它從指令流隊(duì)列取得指令,然后分析和執(zhí)行指負(fù)責(zé)指令的執(zhí)行,它從指令流隊(duì)列取得指令,然后分析和執(zhí)行指令。同時(shí)利用內(nèi)部的寄存器和令。同時(shí)利用內(nèi)部的寄存器和ALUALU對(duì)數(shù)據(jù)進(jìn)行所需的處理,還要負(fù)對(duì)數(shù)據(jù)進(jìn)行所需的處理,還要負(fù)責(zé)計(jì)算操作數(shù)的責(zé)計(jì)算操作數(shù)的1616位位偏移地址偏移地址。 執(zhí)行部件執(zhí)行部件EUn4 4個(gè)通用寄存器,即個(gè)通用寄存器,即AXAX,BXBX,CXCX,DXDX
9、;n4 4個(gè)專用寄存器,個(gè)專用寄存器,nSI (Source Index):SI (Source Index):源變址寄存器源變址寄存器nDI (Destination Index):DI (Destination Index):目的變址寄存器目的變址寄存器nBP (Base Pointer):BP (Base Pointer):基址指針基址指針nSP (Stack Point):SP (Stack Point):堆棧指針堆棧指針n標(biāo)志寄存器標(biāo)志寄存器(FR)(FR),微處理器狀態(tài)字微處理器狀態(tài)字(Processor State Word(Processor State Word,PSW)PS
10、W)n算術(shù)邏輯部件算術(shù)邏輯部件(ALU)(ALU)。 EU的組成的組成根據(jù)根據(jù)EUEU計(jì)算出的計(jì)算出的1616位位偏移地址偏移地址及及1616位位段地址段地址計(jì)算出計(jì)算出2020位位物理地物理地址址,并根據(jù),并根據(jù)EUEU請(qǐng)求采用計(jì)算出的請(qǐng)求采用計(jì)算出的2020位物理地址讀位物理地址讀/ /寫寄存器,寫寄存器,也可根據(jù)也可根據(jù)EUEU請(qǐng)求讀請(qǐng)求讀/ /寫寫I/OI/O設(shè)備,完成與存儲(chǔ)器、設(shè)備,完成與存儲(chǔ)器、I IO O端口之間端口之間傳送數(shù)據(jù)。傳送數(shù)據(jù)。 總線接口部件總線接口部件BIUBIU的功能的功能4 4個(gè)段地址寄存器,即個(gè)段地址寄存器,即nCS16CS16位代碼段寄存器;位代碼段寄存器;
11、nDS16DS16位數(shù)據(jù)段寄存器;位數(shù)據(jù)段寄存器;nES16ES16位附加段寄存器;位附加段寄存器;nSS16SS16位堆棧段寄存器。位堆棧段寄存器。n1616位指令指針寄存器位指令指針寄存器IPIP。n2020位的地址加法器。位的地址加法器。n6 6字節(jié)的指令隊(duì)列。字節(jié)的指令隊(duì)列。 主要組成主要組成 80868086的指令隊(duì)列為的指令隊(duì)列為6 6個(gè)字節(jié),個(gè)字節(jié),80888088的指令隊(duì)列為的指令隊(duì)列為4 4個(gè)字節(jié)。不管是個(gè)字節(jié)。不管是80868086還是還是80888088,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令或下幾條指令,取來的指令就放在指
12、令隊(duì)列中?;蛳聨讞l指令,取來的指令就放在指令隊(duì)列中。 指令隊(duì)列指令隊(duì)列n地址加法器用來產(chǎn)生地址加法器用來產(chǎn)生2020位地址。位地址。80868086可用可用2020位地址尋址位地址尋址1M1M字節(jié)的字節(jié)的內(nèi)存空間,但內(nèi)存空間,但80868086內(nèi)部所有的寄存器都是內(nèi)部所有的寄存器都是1616位的,所以需要由一位的,所以需要由一個(gè)附加的機(jī)構(gòu)來根據(jù)個(gè)附加的機(jī)構(gòu)來根據(jù)1616位寄存器提供的信息計(jì)算出位寄存器提供的信息計(jì)算出2020位的物理地位的物理地址,這個(gè)機(jī)構(gòu)就是址,這個(gè)機(jī)構(gòu)就是2020位的地址加法器位的地址加法器。 地址加法器用地址加法器用n假設(shè)假設(shè)CS=0CS=0FE00FE00H H,IP=
13、IP=04000400H H,此時(shí)指令的物理地址為,此時(shí)指令的物理地址為0 0FE400FE400H H。 在執(zhí)行指令的過程中,如果必須訪問存儲(chǔ)器或者輸入輸出在執(zhí)行指令的過程中,如果必須訪問存儲(chǔ)器或者輸入輸出設(shè)備,那么,執(zhí)行部件就會(huì)請(qǐng)求總線接口部件,進(jìn)入總線周設(shè)備,那么,執(zhí)行部件就會(huì)請(qǐng)求總線接口部件,進(jìn)入總線周期,完成訪問內(nèi)存或者輸入輸出端口的操作;期,完成訪問內(nèi)存或者輸入輸出端口的操作; 如果此時(shí)總線接口部件正好處于空閑狀態(tài),那么,會(huì)立即響如果此時(shí)總線接口部件正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)執(zhí)行部件的總線請(qǐng)求。應(yīng)執(zhí)行部件的總線請(qǐng)求。 EU和和BIU之間是通過指令隊(duì)列相互聯(lián)系的之間是通過指令
14、隊(duì)列相互聯(lián)系的 EU和和BIU的聯(lián)系上的不同步性:的聯(lián)系上的不同步性:n指令隊(duì)列空余時(shí)的填充指令隊(duì)列空余時(shí)的填充n當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒有總線訪問時(shí),總線接當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒有總線訪問時(shí),總線接口部件便進(jìn)入空閑狀態(tài)??诓考氵M(jìn)入空閑狀態(tài)。n在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),指令隊(duì)列中的原在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),指令隊(duì)列中的原有內(nèi)容被自動(dòng)消除,總線接口部件會(huì)接著往指令隊(duì)列中裝入有內(nèi)容被自動(dòng)消除,總線接口部件會(huì)接著往指令隊(duì)列中裝入另一個(gè)程序段中的指令。另一個(gè)程序段中的指令。AHAHALALBHBHBLBLCHCHCLCLDHDHDLDLSPSPBPBPSI
15、SIDIDIIPIPF FCSCSDSDSSSSSESESAXAXBXBXCXCXDXDX累加器累加器基址基址計(jì)數(shù)計(jì)數(shù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)寄存器數(shù)據(jù)寄存器8 88 8附加數(shù)據(jù)段附加數(shù)據(jù)段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段代碼段代碼段段寄存器段寄存器指令指示器指令指示器狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器控制寄存器控制寄存器堆棧指針堆棧指針基址指針基址指針 源變址源變址目的變址寄存器目的變址寄存器地址指針寄存器地址指針寄存器變址寄存器變址寄存器通通用用寄寄存存器器CPUCPU中設(shè)置通用寄存器的作用?中設(shè)置通用寄存器的作用? 如果不設(shè)置寄存器,如果不設(shè)置寄存器,CPU每次執(zhí)行命令需要的操每次執(zhí)行命令需要的操作數(shù)(數(shù)據(jù))都要
16、去存儲(chǔ)器中取,運(yùn)算的結(jié)果也要作數(shù)(數(shù)據(jù))都要去存儲(chǔ)器中取,運(yùn)算的結(jié)果也要馬上送到存儲(chǔ)器,這樣既浪費(fèi)時(shí)間又非常不方便。馬上送到存儲(chǔ)器,這樣既浪費(fèi)時(shí)間又非常不方便。 CPU中設(shè)置較多的寄存器,用于暫時(shí)存放的操作中設(shè)置較多的寄存器,用于暫時(shí)存放的操作數(shù),地址,運(yùn)算中間的結(jié)果和數(shù)據(jù),數(shù),地址,運(yùn)算中間的結(jié)果和數(shù)據(jù),CPU能夠非常能夠非??欤浅7奖愕拇嫒?shù)據(jù),并不需要每次都去訪問快,非常方便的存取數(shù)據(jù),并不需要每次都去訪問外部的存儲(chǔ)器,因而提高的執(zhí)行的速度和效率,同外部的存儲(chǔ)器,因而提高的執(zhí)行的速度和效率,同時(shí)還能使編程更加靈活。時(shí)還能使編程更加靈活。:可以按字(可以按字(16位)或字節(jié)(位)或字節(jié)(
17、8位)形式訪問位)形式訪問MOV BX , AX IN AL , 20H1、通用寄存器、通用寄存器(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器 AX、BX、CX、DX 作為通用寄存器。作為通用寄存器。用來用來暫存暫存計(jì)算過程中所用到的計(jì)算過程中所用到的操作數(shù),結(jié)果或其它信息操作數(shù),結(jié)果或其它信息。 高高8位記作位記作 : AH 、 BH 、 CH 、 DH 。 低低8位記作位記作 : AL 、BL 、CL 、DL 。訪問形式訪問形式功能功能算術(shù)運(yùn)算的主要寄存器,算術(shù)運(yùn)算的主要寄存器,所有所有I/O指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)功能功能實(shí)例:實(shí)例:可以做8位使用也可
18、以做16為用 對(duì)某些對(duì)某些I/O操作操作DX可用來存放可用來存放I/O的端口地址(的端口地址(口地址口地址 256)MOV CX , 8 AGAIN: LOOP AGAIN ;CX-1(CX),結(jié)果結(jié)果 0轉(zhuǎn)轉(zhuǎn)AGAINMOV AX, BX+03H在在計(jì)算內(nèi)存儲(chǔ)器地址時(shí),經(jīng)常用來存放基址。計(jì)算內(nèi)存儲(chǔ)器地址時(shí),經(jīng)常用來存放基址。功能功能:實(shí)例:實(shí)例:可以可以作計(jì)數(shù)寄存器作計(jì)數(shù)寄存器使用使用在在循環(huán)循環(huán)LOOP指令和串處理指令中用作隱含計(jì)數(shù)器指令和串處理指令中用作隱含計(jì)數(shù)器。功能功能:實(shí)例:實(shí)例:可以可以作為數(shù)據(jù)寄存器使用。作為數(shù)據(jù)寄存器使用。一般在一般在雙字長(zhǎng)乘除法運(yùn)算時(shí)雙字長(zhǎng)乘除法運(yùn)算時(shí),把把
19、DX和和AX組合在一起存放一個(gè)雙字組合在一起存放一個(gè)雙字長(zhǎng)長(zhǎng)(32位位)數(shù),數(shù),DX用來存放高用來存放高16位位n 經(jīng)常用以在經(jīng)常用以在段內(nèi)尋址時(shí)提供偏移地址段內(nèi)尋址時(shí)提供偏移地址, 本身不能形成獨(dú)本身不能形成獨(dú)立立 的地址碼。的地址碼。(2)地址指針與變址寄存器)地址指針與變址寄存器: SP、BP、SI、DI n 以字為單位在運(yùn)算過程中存放操作數(shù)以字為單位在運(yùn)算過程中存放操作數(shù) 可以可以與與SS寄存器聯(lián)合使用來確定寄存器聯(lián)合使用來確定堆棧段堆棧段中中某一某一存儲(chǔ)器單元地址,存儲(chǔ)器單元地址,在某些間接尋址中,用來存放在某些間接尋址中,用來存放堆棧堆棧段內(nèi)偏移地址段內(nèi)偏移地址 。 SP(stac
20、k pointer 堆棧指針寄存器堆棧指針寄存器 用來用來指示當(dāng)前堆棧指示當(dāng)前堆棧棧頂棧頂?shù)钠频刂返钠频刂? 必須必須與與SS段寄存器段寄存器聯(lián)合使聯(lián)合使 用確定實(shí)際地址。用確定實(shí)際地址。 BP(base pointer)基址指針寄存器基址指針寄存器補(bǔ)充:堆棧(補(bǔ)充:堆棧(STACK) 是按后進(jìn)先出原則組織的一片存儲(chǔ)區(qū)域,用來暫存一批需要回避的數(shù)據(jù)或地址?!昂筮M(jìn)先出后進(jìn)先出”n堆棧:堆棧:暫存數(shù)據(jù)、斷點(diǎn)信息或傳送信息n用途:用途:n存取原則存取原則:n堆棧段的堆棧段的最大深度最大深度:64KB是一個(gè)只能有一端操作的臨時(shí)倉庫,速度快,應(yīng)用靈活,使用不需要提供地址 堆棧的構(gòu)造堆棧的構(gòu)造 一端一
21、端固定固定,具有最大地址的,具有最大地址的單元(數(shù)據(jù)由此向上堆積)單元(數(shù)據(jù)由此向上堆積)一端一端浮動(dòng)浮動(dòng),指向最后被壓入堆棧,指向最后被壓入堆棧的數(shù)據(jù)所在存儲(chǔ)單元(棧頂?shù)奈坏臄?shù)據(jù)所在存儲(chǔ)單元(棧頂?shù)奈恢秒S堆棧中存放數(shù)據(jù)多少而變化)置隨堆棧中存放數(shù)據(jù)多少而變化)用來指示當(dāng)前棧頂?shù)奈恢?。(壓用來指示?dāng)前棧頂?shù)奈恢?。(壓入的?shù)據(jù)放入哪個(gè)單元或從那個(gè)入的數(shù)據(jù)放入哪個(gè)單元或從那個(gè)單元彈出數(shù)據(jù)均由單元彈出數(shù)據(jù)均由SP決定決定堆堆棧棧段段SSBottomXXXXXXXXTopSP初始初始SP棧底:棧底:棧頂:棧頂:堆棧指針:堆棧指針: 堆棧就是是在內(nèi)存中開辟一個(gè)存儲(chǔ)區(qū)域,數(shù)據(jù)一堆棧就是是在內(nèi)存中開辟一個(gè)存
22、儲(chǔ)區(qū)域,數(shù)據(jù)一個(gè)一個(gè)個(gè)一個(gè)順序地存入順序地存入(也就是也就是“壓入壓入”)這個(gè)區(qū)域之中這個(gè)區(qū)域之中。有一個(gè)地址指針總指向最后一個(gè)壓入堆棧的數(shù)。有一個(gè)地址指針總指向最后一個(gè)壓入堆棧的數(shù)據(jù)所在的數(shù)據(jù)單元,存放這個(gè)地址指針的寄存器據(jù)所在的數(shù)據(jù)單元,存放這個(gè)地址指針的寄存器就叫做堆棧指示器。開始放入數(shù)據(jù)的單元叫做就叫做堆棧指示器。開始放入數(shù)據(jù)的單元叫做“棧底棧底”。數(shù)據(jù)一個(gè)一個(gè)地存入,這個(gè)過程叫做。數(shù)據(jù)一個(gè)一個(gè)地存入,這個(gè)過程叫做“壓棧壓?!?。在壓棧的過程中,每有一個(gè)數(shù)據(jù)壓入堆。在壓棧的過程中,每有一個(gè)數(shù)據(jù)壓入堆棧,就放在和前一個(gè)單元相連的后面一個(gè)單元中棧,就放在和前一個(gè)單元相連的后面一個(gè)單元中,堆棧
23、指示器中的地址自動(dòng)加,堆棧指示器中的地址自動(dòng)加1。讀取這些數(shù)據(jù)。讀取這些數(shù)據(jù)時(shí),按照堆棧指示器中的地址讀取數(shù)據(jù),堆棧指時(shí),按照堆棧指示器中的地址讀取數(shù)據(jù),堆棧指示器中的地址數(shù)自動(dòng)減示器中的地址數(shù)自動(dòng)減 1。這個(gè)過程叫做。這個(gè)過程叫做“彈出彈出”。如此就實(shí)現(xiàn)了。如此就實(shí)現(xiàn)了后進(jìn)先出后進(jìn)先出的原則。的原則。 該片存儲(chǔ)區(qū)域所包含存儲(chǔ)單元數(shù),其值由初始該片存儲(chǔ)區(qū)域所包含存儲(chǔ)單元數(shù),其值由初始時(shí)時(shí)SP的值決定(指向棧底的值決定(指向棧底+1單元)單元)12H34H01954H01955H如如64KB的堆棧段不能滿足需要,可的堆棧段不能滿足需要,可通過修改通過修改SS(堆棧段寄存器)來改(堆棧段寄存器)來
24、改變當(dāng)前的堆棧段,使之指向另一片變當(dāng)前的堆棧段,使之指向另一片存儲(chǔ)區(qū)域,同時(shí)存儲(chǔ)區(qū)域,同時(shí)SP重新賦值。重新賦值。 堆棧段堆棧段:由由SS存放堆棧段段基值以決定其起始地址存放堆棧段段基值以決定其起始地址 堆棧段的長(zhǎng)度:堆棧段的長(zhǎng)度:堆棧是按字組織的,數(shù)據(jù)的存取均為堆棧是按字組織的,數(shù)據(jù)的存取均為2字節(jié)操作字節(jié)操作 數(shù)據(jù)在堆棧段內(nèi)的存放數(shù)據(jù)在堆棧段內(nèi)的存放 堆棧區(qū)域的擴(kuò)展:堆棧區(qū)域的擴(kuò)展:SS、SP賦值(段的起始位置及長(zhǎng)度)SP-2 SP; 棧頂向上浮動(dòng)數(shù)據(jù)(SS:SP) (SS:SP) R/M SP+2 SP數(shù)據(jù);棧頂向下回落1、設(shè)置堆棧、設(shè)置堆棧2、進(jìn)棧、進(jìn)棧把數(shù)據(jù)壓入堆棧,在棧頂進(jìn)行3、出
25、棧、出棧從棧頂取出數(shù)據(jù)送入R/M SISource Index Register 源變址寄存器。源變址寄存器。 DIDestination Index 目的變址寄存器。目的變址寄存器。 一般與一般與DS聯(lián)用,用來確定聯(lián)用,用來確定數(shù)據(jù)段數(shù)據(jù)段中某一存儲(chǔ)單元的地址中某一存儲(chǔ)單元的地址 在數(shù)據(jù)串操作中,在數(shù)據(jù)串操作中,SI與與DS聯(lián)用,聯(lián)用,DI與與ES聯(lián)用聯(lián)用變址寄存器變址寄存器(SI(SI、 DI)DI)常用于變址尋址方式中的地址運(yùn)算常用于變址尋址方式中的地址運(yùn)算n 使用場(chǎng)合:使用場(chǎng)合: SI , DI具有自動(dòng)增量和自動(dòng)減量功能具有自動(dòng)增量和自動(dòng)減量功能.CSCode Segment Regi
26、ster 代碼段寄存器代碼段寄存器 用來識(shí)別當(dāng)前代碼段(程序一般放在代碼段)。用來識(shí)別當(dāng)前代碼段(程序一般放在代碼段)。2、段寄存器:用來存放基址段寄存器:用來存放基址段寄存器段寄存器: 4個(gè)個(gè)16位段寄存器位段寄存器CS、DS、SS、ES。用來用來識(shí)別當(dāng)前可尋址的四個(gè)段,不可互換的使用。識(shí)別當(dāng)前可尋址的四個(gè)段,不可互換的使用。DSData Segment Register數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器 用來識(shí)別當(dāng)前數(shù)據(jù)段寄存器。用來識(shí)別當(dāng)前數(shù)據(jù)段寄存器。SSStack Segment Register堆棧段寄存器,堆棧段寄存器, 用來識(shí)別當(dāng)前堆棧段。用來識(shí)別當(dāng)前堆棧段。ESExtra Segmen
27、t Register附加段寄存器附加段寄存器, 用來識(shí)別當(dāng)前附加段。用來識(shí)別當(dāng)前附加段。IPInstruction Pointer指令指針寄存器指令指針寄存器3、控制寄存器、控制寄存器: IP 、 FLAG 用來存儲(chǔ)代碼段中的偏移地址用來存儲(chǔ)代碼段中的偏移地址; 程序運(yùn)行過程中程序運(yùn)行過程中IP始終指向下一次要取出的指令偏移地址始終指向下一次要取出的指令偏移地址 IP要與要與CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。OFOFDFDFIFIFTFTFSFSFZFZFAFAFPFPF 0 015152 24 45 56 67 78 89 91010CFCF標(biāo)志寄存
28、器標(biāo)志寄存器指令指示器IP的作用 計(jì)算機(jī)能夠自動(dòng)的執(zhí)行指令,自動(dòng)的運(yùn)行,能一條條的執(zhí)計(jì)算機(jī)能夠自動(dòng)的執(zhí)行指令,自動(dòng)的運(yùn)行,能一條條的執(zhí)行輸入的程序,是因?yàn)樾休斎氲某绦?,是因?yàn)镃PU中有專門跟蹤指令地址的電路中有專門跟蹤指令地址的電路,就是,就是IP, 開始給開始給IP賦值,然后賦值,然后IP就自動(dòng)指向下一條指令的就自動(dòng)指向下一條指令的地址。地址。 IP總是保存著下一次將要取出指令的偏移地址。總是保存著下一次將要取出指令的偏移地址。 總線接口部件根據(jù)總線接口部件根據(jù)IP的內(nèi)容與的內(nèi)容與CS寄存器的內(nèi)容形成指令的寄存器的內(nèi)容形成指令的物理地址,并根據(jù)該地址從主存中取出指令,送入指令隊(duì)物理地址,并根
29、據(jù)該地址從主存中取出指令,送入指令隊(duì)列機(jī)構(gòu)排隊(duì),然后列機(jī)構(gòu)排隊(duì),然后IP增量,形成下一個(gè)字節(jié)的偏移地址。增量,形成下一個(gè)字節(jié)的偏移地址。 如果碰到要改變?nèi)绻龅揭淖僆P的指令如轉(zhuǎn)移指令,則清隊(duì)列,直接按的指令如轉(zhuǎn)移指令,則清隊(duì)列,直接按IP的新內(nèi)容與的新內(nèi)容與CS寄存器的內(nèi)容形成指令的物理地址執(zhí)行,然寄存器的內(nèi)容形成指令的物理地址執(zhí)行,然后再從該地址開始,重新繼續(xù)取指令填滿排隊(duì)機(jī)構(gòu)。后再從該地址開始,重新繼續(xù)取指令填滿排隊(duì)機(jī)構(gòu)。 狀態(tài)標(biāo)志共包括狀態(tài)標(biāo)志共包括6位:位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。 對(duì)控制標(biāo)志位進(jìn)行設(shè)置后對(duì)控制標(biāo)志位進(jìn)行設(shè)置后, 對(duì)其后的操作起控制
30、作用。對(duì)其后的操作起控制作用。q狀態(tài)標(biāo)志狀態(tài)標(biāo)志: 用來記錄程序中運(yùn)行結(jié)果的用來記錄程序中運(yùn)行結(jié)果的狀態(tài)信息狀態(tài)信息作為后續(xù)條作為后續(xù)條 件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,也稱為狀態(tài)標(biāo)志。件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,也稱為狀態(tài)標(biāo)志。q 控制標(biāo)志控制標(biāo)志: 控制標(biāo)志位包括控制標(biāo)志位包括3位位: TF、 IF 、 DF例如CF為進(jìn)位標(biāo)志,=1為說明有進(jìn)位或借位l 每一個(gè)存儲(chǔ)單元用每一個(gè)存儲(chǔ)單元用8位(一個(gè)字節(jié))來編址位(一個(gè)字節(jié))來編址l 每一個(gè)存儲(chǔ)單元用一個(gè)唯一的地址碼標(biāo)示每一個(gè)存儲(chǔ)單元用一個(gè)唯一的地址碼標(biāo)示l 一個(gè)一個(gè)16位的數(shù)據(jù)占據(jù)連個(gè)連續(xù)的單元位的數(shù)據(jù)占據(jù)連個(gè)連續(xù)的單元l 連續(xù)的兩個(gè)單元有各自的地址
31、連續(xù)的兩個(gè)單元有各自的地址4.2.3 4.2.3 存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu)n8086/8088CPU能尋址能尋址1M字節(jié)的存儲(chǔ)單元,以字節(jié)的存儲(chǔ)單元,以8位位為一個(gè)字節(jié)的順序排列存放。為一個(gè)字節(jié)的順序排列存放。n地址碼為一個(gè)不帶符號(hào)的整數(shù)表示,范圍從地址碼為一個(gè)不帶符號(hào)的整數(shù)表示,范圍從0到到220-1,習(xí)慣,習(xí)慣用十六進(jìn)制表示,即用十六進(jìn)制表示,即00000HFFFFFH。將存儲(chǔ)器空間按。將存儲(chǔ)器空間按照字節(jié)地址號(hào)順序排列的方式稱作照字節(jié)地址號(hào)順序排列的方式稱作“字節(jié)編址字節(jié)編址”。16位寄存器位寄存器數(shù)據(jù)線數(shù)據(jù)線20位地址位地址要求要求20位位的寄存器的寄存器 16位地址加法器位地址加法器 段
32、寄存器段寄存器20位地址的形成位地址的形成16位段地址16位段地址0000000016位偏移地址16位偏移地址0 015150 0151520位物理地址20位物理地址0 01919+ +段基址段基址0 0 0 00 0 0 03 2 1 03 2 1 015 015 0偏移地址偏移地址基址加法器基址加法器物理地址物理地址0 015150 01919地址地址根據(jù)各段的用途將其定義為CS、DS、ES、SS段。并用偏移地址(距段起址的字節(jié)距離)表示被訪問單元。1. 存儲(chǔ)器的分段存儲(chǔ)器的分段n 每段最長(zhǎng)可達(dá) 216(64K)字節(jié)n各段起始地址能被 16 整除。 (低 4 位為 0 )n各段之間可分開、
33、部分或完全重疊、可首尾相接。8086存儲(chǔ)器為什么要分段?n段地址段地址n每一個(gè)段首地址的低每一個(gè)段首地址的低4位是位是“0”(被(被16整除)整除)n段首地址的高段首地址的高16位稱為位稱為“段基址段基址”,也稱段地址,也稱段地址 n段地址一般存放在段寄存器段地址一般存放在段寄存器DS,CS,SS,ES n偏移地址偏移地址n每一個(gè)段的容量:每一個(gè)段的容量:64KB (0000HFFFFH)n偏移地址是指一個(gè)段內(nèi)的存儲(chǔ)空間相對(duì)于段基地址的偏移偏移地址是指一個(gè)段內(nèi)的存儲(chǔ)空間相對(duì)于段基地址的偏移n段內(nèi)偏移地址一般存放在段內(nèi)偏移地址一般存放在IP, SPn 段內(nèi)偏移地址是連續(xù)的段內(nèi)偏移地址是連續(xù)的 任
34、何一個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)任何一個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)2020位的物理地址,也可稱位的物理地址,也可稱為實(shí)際地址,它是由為實(shí)際地址,它是由邏輯地址邏輯地址變換得來的。當(dāng)變換得來的。當(dāng)CPUCPU需要需要訪問存儲(chǔ)器時(shí),必須完成如下的地址運(yùn)算:訪問存儲(chǔ)器時(shí),必須完成如下的地址運(yùn)算:2. 存儲(chǔ)器中的邏輯地址和物理地址存儲(chǔ)器中的邏輯地址和物理地址n 任何一個(gè)任何一個(gè)邏輯地址邏輯地址由由段基址段基址和和偏移地址偏移地址兩個(gè)部分構(gòu)成,兩個(gè)部分構(gòu)成,它們都是無符號(hào)的它們都是無符號(hào)的1616位二進(jìn)制數(shù)。位二進(jìn)制數(shù)。邏輯地址的表示:邏輯地址的表示:段地址段地址 :偏移地址:偏移地址對(duì)應(yīng)于同一物理地址,可以有不同的邏輯地
35、址對(duì)應(yīng)于同一物理地址,可以有不同的邏輯地址物理地址物理地址= =段地址段地址10+10+偏移地址偏移地址物理地址是唯一的物理地址是唯一的要分清段內(nèi)偏移地址的來源,及其相匹配的段地址要分清段內(nèi)偏移地址的來源,及其相匹配的段地址 邏輯地址=段地址:偏移地址 段地址0000 + 偏移地址 地址加法器= 20位的物理地址 1.例:已知某存儲(chǔ)單元所在的段地址為例:已知某存儲(chǔ)單元所在的段地址為0AC08H,偏移地址為,偏移地址為2596H,試求出該單,試求出該單元所在的物理地址?元所在的物理地址?2.已知某單元的物理地址為已知某單元的物理地址為21000H,試,試求該單元所對(duì)應(yīng)的邏輯地址?求該單元所對(duì)應(yīng)的
36、邏輯地址?.20000H20000H25F60H25F60H25F61H25F61H25F62H25F62H25F63H25F63H2000H2000H段基址段基址邏邏輯輯地地址址段內(nèi)偏移地址段內(nèi)偏移地址5F62H5F62H邏輯地址與物理地址邏輯地址與物理地址已知已知CS、DS、SS和和SS分別為分別為1055H , 250AH, 8FFBH 和和 EFF0H,試分析它,試分析它們?cè)诖鎯?chǔ)器中的分們?cè)诖鎯?chǔ)器中的分布情況。布情況。 是實(shí)際地址,它具有是實(shí)際地址,它具有2020位的地址值,并是惟一標(biāo)識(shí)位的地址值,并是惟一標(biāo)識(shí)1MB1MB存儲(chǔ)空間的某一個(gè)字節(jié)的地址存儲(chǔ)空間的某一個(gè)字節(jié)的地址每一個(gè)存儲(chǔ)單
37、元看成是具有兩種類型的地址:每一個(gè)存儲(chǔ)單元看成是具有兩種類型的地址:n由段基址和偏移地址組成。程序以邏輯地址編址,由段基址和偏移地址組成。程序以邏輯地址編址,而不是用物理地址。而不是用物理地址。物理地址和邏輯地址物理地址和邏輯地址物理地址物理地址:邏輯地址邏輯地址:n指令程序指令程序一般存放在代碼段一般存放在代碼段(CS)(CS)中,段地址來源于代碼段寄存器,中,段地址來源于代碼段寄存器,偏移地址來源于指令指針偏移地址來源于指令指針I(yè)P,IP,即即n 4個(gè)個(gè)段寄存器段寄存器分別指向分別指向4個(gè)分段的起始字節(jié)單元個(gè)分段的起始字節(jié)單元指令程序的物理地址指令程序的物理地址= =(CS)CS)* *1
38、0+(IP)10+(IP)n進(jìn)行進(jìn)行堆棧堆棧操作時(shí),段地址寄存器為操作時(shí),段地址寄存器為SSSS,偏移地址來源于棧指針寄存,偏移地址來源于棧指針寄存器器SP,SP,即即堆棧地址堆棧地址=(SS)=(SS)* *10+(SP)10+(SP)n對(duì)于對(duì)于操作數(shù)操作數(shù),則由數(shù)據(jù)段寄存器,則由數(shù)據(jù)段寄存器DSDS或附加段寄存器或附加段寄存器ESES作為段寄存器,作為段寄存器,而偏地址取決于指令的尋址方式。而偏地址取決于指令的尋址方式。物理地址物理地址=段地址段地址x16+偏移地址偏移地址 (10進(jìn)制地址)進(jìn)制地址)n在存儲(chǔ)器中存儲(chǔ)的信息可以分為程序指令、數(shù)據(jù)、和在存儲(chǔ)器中存儲(chǔ)的信息可以分為程序指令、數(shù)據(jù)
39、、和計(jì)算機(jī)系統(tǒng)的狀態(tài)等信息,為了尋址和操作的方便,計(jì)算機(jī)系統(tǒng)的狀態(tài)等信息,為了尋址和操作的方便,存儲(chǔ)器的空間可按信息特征進(jìn)行分段存儲(chǔ)。存儲(chǔ)器的空間可按信息特征進(jìn)行分段存儲(chǔ)。n 一般將存儲(chǔ)器劃分為一般將存儲(chǔ)器劃分為程序區(qū)、數(shù)據(jù)區(qū)、和堆棧區(qū)程序區(qū)、數(shù)據(jù)區(qū)、和堆棧區(qū)。n程序區(qū)中存儲(chǔ)程序的指令代碼程序區(qū)中存儲(chǔ)程序的指令代碼n堆棧區(qū)存儲(chǔ)壓入堆棧的數(shù)據(jù)和狀態(tài)信息堆棧區(qū)存儲(chǔ)壓入堆棧的數(shù)據(jù)和狀態(tài)信息n數(shù)據(jù)區(qū)中存儲(chǔ)原始數(shù)據(jù)、中間結(jié)果和最后結(jié)果數(shù)據(jù)區(qū)中存儲(chǔ)原始數(shù)據(jù)、中間結(jié)果和最后結(jié)果n數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DS和附加段寄存器和附加段寄存器ES存儲(chǔ)存儲(chǔ)源和目的數(shù)據(jù)區(qū)段源和目的數(shù)據(jù)區(qū)段的的段地址;段地址;n8086
40、8088CPU中通常按照信息特征來區(qū)分段寄存中通常按照信息特征來區(qū)分段寄存器的作用,如:器的作用,如:n代碼段寄存器代碼段寄存器CS存儲(chǔ)存儲(chǔ)程序存儲(chǔ)器區(qū)程序存儲(chǔ)器區(qū)的段地址;的段地址;n堆棧段寄存器堆棧段寄存器SS存儲(chǔ)存儲(chǔ)堆棧區(qū)堆棧區(qū)的段地址的段地址n80868088中設(shè)置四個(gè)段寄存器的目的除了可以擴(kuò)充尋址中設(shè)置四個(gè)段寄存器的目的除了可以擴(kuò)充尋址的范圍以外,還便于存儲(chǔ)器的讀寫操作的范圍以外,還便于存儲(chǔ)器的讀寫操作 在執(zhí)行程序時(shí)在執(zhí)行程序時(shí)CS指定程序的指定程序的段地址,段地址,IP作為程序段內(nèi)的作為程序段內(nèi)的偏移量來控制取指令的地址。偏移量來控制取指令的地址。1、對(duì)程序區(qū)的訪問、對(duì)程序區(qū)的訪問
41、n為程序單獨(dú)劃開的存儲(chǔ)器區(qū)為程序單獨(dú)劃開的存儲(chǔ)器區(qū)稱為稱為程序存儲(chǔ)區(qū)。程序存儲(chǔ)區(qū)。n當(dāng)取指令的物理地址代碼當(dāng)取指令的物理地址代碼段寄存器段寄存器CS的內(nèi)容左移四位的內(nèi)容左移四位加上指令指針加上指令指針I(yè)P的內(nèi)容。的內(nèi)容。 堆棧操作所指的物理地堆棧操作所指的物理地址堆棧段寄存器內(nèi)容址堆棧段寄存器內(nèi)容左移四位后加上堆棧指左移四位后加上堆棧指針的內(nèi)容針的內(nèi)容2、堆棧區(qū)的操作、堆棧區(qū)的操作n不同的任務(wù)程序區(qū)往往要不同的任務(wù)程序區(qū)往往要求有對(duì)應(yīng)的堆棧區(qū),以便求有對(duì)應(yīng)的堆棧區(qū),以便在執(zhí)行程序時(shí)進(jìn)行各自的在執(zhí)行程序時(shí)進(jìn)行各自的堆棧操作。堆棧操作。n程序更新時(shí),堆棧區(qū)也程序更新時(shí),堆棧區(qū)也隨之更新,這就需要指
42、隨之更新,這就需要指定堆棧段寄存器定堆棧段寄存器SSSS。u不同任務(wù)的程序一般有與不同任務(wù)的程序一般有與之對(duì)應(yīng)的數(shù)據(jù)區(qū),在執(zhí)行之對(duì)應(yīng)的數(shù)據(jù)區(qū),在執(zhí)行指令時(shí)對(duì)區(qū)內(nèi)的數(shù)據(jù)進(jìn)行指令時(shí)對(duì)區(qū)內(nèi)的數(shù)據(jù)進(jìn)行操作,需要設(shè)置數(shù)據(jù)段寄操作,需要設(shè)置數(shù)據(jù)段寄存器存器DSDS3、數(shù)據(jù)區(qū)、數(shù)據(jù)區(qū)u實(shí)際操作的物理地址數(shù)據(jù)實(shí)際操作的物理地址數(shù)據(jù)段寄存器的內(nèi)容左移四位,段寄存器的內(nèi)容左移四位,加上基地址寄存器加上基地址寄存器BXBX或通過或通過尋址獲得的有效地址尋址獲得的有效地址EAEA。 字符串操作時(shí),一般是對(duì)存字符串操作時(shí),一般是對(duì)存儲(chǔ)器中的兩個(gè)數(shù)據(jù)塊進(jìn)行儲(chǔ)器中的兩個(gè)數(shù)據(jù)塊進(jìn)行傳送,需要在一條指令中傳送,需要在一條指令中
43、同時(shí)指定源和目的兩個(gè)數(shù)同時(shí)指定源和目的兩個(gè)數(shù)據(jù)區(qū)。據(jù)區(qū)。 需要分別使用數(shù)據(jù)段寄存器需要分別使用數(shù)據(jù)段寄存器DSDS和附加段寄存器和附加段寄存器ESES分別指分別指定源數(shù)據(jù)區(qū)和目的數(shù)據(jù)區(qū)的定源數(shù)據(jù)區(qū)和目的數(shù)據(jù)區(qū)的段地址,用段地址,用SISI和和DIDI變址寄存變址寄存器指明段內(nèi)偏移量。器指明段內(nèi)偏移量。 訪問存儲(chǔ)器時(shí)所使用的段地址可以由指令中隱含的段寄存器提供,訪問存儲(chǔ)器時(shí)所使用的段地址可以由指令中隱含的段寄存器提供,也可以由也可以由“可更換的段寄存器可更換的段寄存器”提供。提供。訪問存儲(chǔ)器時(shí)使用段地址寄存器和偏移地址寄存器訪問存儲(chǔ)器時(shí)使用段地址寄存器和偏移地址寄存器 段寄存器段寄存器DS、SS
44、、ES的內(nèi)容可以通過傳送類指令置入或者進(jìn)行變的內(nèi)容可以通過傳送類指令置入或者進(jìn)行變更,但代碼段寄存器不同,它的內(nèi)容是當(dāng)前程序指令字節(jié)地址的一更,但代碼段寄存器不同,它的內(nèi)容是當(dāng)前程序指令字節(jié)地址的一部分,只能通過部分,只能通過JMP、CALL、RET、INT和和IRET等指令來改變。等指令來改變。 段內(nèi)偏移地址的來源除段內(nèi)偏移地址的來源除IP、SP、SI和和DI外,還可以由尋址方式求外,還可以由尋址方式求得的得的EA確定確定訪問存儲(chǔ)器類型訪問存儲(chǔ)器類型隱含的隱含的段地址段地址可可”段更換段更換”的段地址的段地址段內(nèi)偏移地址來源段內(nèi)偏移地址來源取指令碼取指令碼CS無無IP堆棧操作堆棧操作SS無無
45、SP字符串操作源地址字符串操作源地址DSCS,ES,SSSI字符串操作目的地址字符串操作目的地址ES無無DIBP用作基址寄存器時(shí)用作基址寄存器時(shí)SSCS,DS,ES由指令尋址方式求得有效地址由指令尋址方式求得有效地址EA一般數(shù)據(jù)存取一般數(shù)據(jù)存取DSCS,ES,SS由指令尋址方式求得有效地址由指令尋址方式求得有效地址EA 是指信號(hào)高低電平是指信號(hào)高低電平( (有效或無效有效或無效) )變化及相互變化及相互間的時(shí)間順序關(guān)系。間的時(shí)間順序關(guān)系。什么是什么是總線操作總線操作?n時(shí)序(時(shí)序(Timing):):nCPU時(shí)序決定系統(tǒng)各部件間的同步和定時(shí)n總線時(shí)序描述CPU引腳如何實(shí)現(xiàn)總線操作總線操作n總線
46、操作是指CPU通過總線對(duì)外的各種操作n8088的總線操作主要有:n存儲(chǔ)器讀、I/O讀操作n存儲(chǔ)器寫、I/O寫操作n中斷響應(yīng)操作n總線請(qǐng)求及響應(yīng)操作CPU對(duì)存貯器和I/O接口的訪問,是通過總線實(shí)現(xiàn)的。通常把CPU通過總線對(duì)微處理器外部(存儲(chǔ)器或I/O接口)進(jìn)行一次訪問所需時(shí)間稱為一個(gè)總線周期。什么是什么是指令、總線和時(shí)鐘周期指令、總線和時(shí)鐘周期?n描述總線操作的微處理器時(shí)序有三級(jí):n指令周期指令周期總線周期總線周期時(shí)鐘周期時(shí)鐘周期n指令周期指令周期 : :是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程。若干總線周期組成一個(gè)指令周期。行完成的過程。若干
47、總線周期組成一個(gè)指令周期。n總線周期總線周期 :是指是指CPU通過總線操作(接口)與外部(存儲(chǔ)通過總線操作(接口)與外部(存儲(chǔ)器或器或I/O端口)進(jìn)行一次數(shù)據(jù)交換的過程。端口)進(jìn)行一次數(shù)據(jù)交換的過程。n8088的基本總線周期需要的基本總線周期需要4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期n4個(gè)時(shí)鐘周期編號(hào)為個(gè)時(shí)鐘周期編號(hào)為T1、T2、T3和和T4n總線周期中的時(shí)鐘周期也被稱作總線周期中的時(shí)鐘周期也被稱作“T狀態(tài)狀態(tài)” n時(shí)鐘周期的時(shí)間長(zhǎng)度就是時(shí)鐘頻率(主頻)的倒數(shù)時(shí)鐘周期的時(shí)間長(zhǎng)度就是時(shí)鐘頻率(主頻)的倒數(shù) T1 T2 T3 T4 Ti Ti T1 T2 T3 Tw Tw Tw T4 Ti Ti 總線周期總線周期
48、若干個(gè)12個(gè)u基本總線周期由基本總線周期由4 4個(gè)個(gè)T T狀態(tài)組成:狀態(tài)組成:T T1 1、T T2 2、T T3 3、T T4 4u等待時(shí)鐘周期等待時(shí)鐘周期T Tw w,在總線周期的,在總線周期的T T3 3和和T T4 4之間插入之間插入u空閑時(shí)鐘周期空閑時(shí)鐘周期T Ti i,在兩個(gè)總線周期之間插入,在兩個(gè)總線周期之間插入動(dòng)態(tài)演示n任何指令的取指階段都需要存儲(chǔ)器讀總線周期,讀取的內(nèi)容是指令代碼。何時(shí)有何時(shí)有總線周期總線周期?n任何一條以存儲(chǔ)單元為源操作數(shù)的指令都將引起存存儲(chǔ)器讀總線周期儲(chǔ)器讀總線周期,任何一條以存儲(chǔ)單元為目的操作數(shù)的指令都將引起存儲(chǔ)器寫總線周期。n只有執(zhí)行IN指令才出現(xiàn)I/
49、OI/O讀總線周期讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/OI/O寫總線周期寫總線周期。nCPU響應(yīng)可屏蔽中斷時(shí)生成中斷響應(yīng)總線周期中斷響應(yīng)總線周期。 多路總線的高多路總線的高4 4位繼續(xù)提供狀態(tài)信息,而多路總線的低位繼續(xù)提供狀態(tài)信息,而多路總線的低1616位位(8088(8088則為低則為低8 8位位) )上出現(xiàn)由上出現(xiàn)由CPUCPU寫出的數(shù)據(jù)或者寫出的數(shù)據(jù)或者CPUCPU從存儲(chǔ)器從存儲(chǔ)器或端口讀入的數(shù)據(jù)。或端口讀入的數(shù)據(jù)??偩€操作的簡(jiǎn)要過程總線操作的簡(jiǎn)要過程nCPUCPU往總線上發(fā)出地址信息,指出要尋址的存儲(chǔ)單元或往總線上發(fā)出地址信息,指出要尋址的存儲(chǔ)單元或I/OI/O端口地址。端口地址。nC
50、PUCPU撤消地址,使總線的低撤消地址,使總線的低1616位浮置成高阻狀態(tài),為傳輸數(shù)位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備。總線的最高四位據(jù)做準(zhǔn)備。總線的最高四位(A(A1616A A1919) )用來輸出本總線周期用來輸出本總線周期狀態(tài)信息。狀態(tài)信息。 T1 T2 T3 Tw Tw Tw T4CLKREADY前沿檢測(cè)前沿檢測(cè)動(dòng)態(tài)動(dòng)態(tài) CPU總線周期采用同步時(shí)序同步時(shí)序:總線操作的總線操作的同步同步n總線操作中如何實(shí)現(xiàn)時(shí)序同步是關(guān)鍵n各部件都以系統(tǒng)時(shí)鐘信號(hào)為基準(zhǔn)n當(dāng)相互不能配合時(shí),快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲(chǔ)器)nCPU與外設(shè)接口常采用異步時(shí)序異步時(shí)序,它們通過應(yīng)答聯(lián)絡(luò)
51、信號(hào)實(shí)現(xiàn)同步操作 一個(gè)微型機(jī)系統(tǒng)要完成各種任務(wù),其中有一些操一個(gè)微型機(jī)系統(tǒng)要完成各種任務(wù),其中有一些操作是最基本的。作是最基本的。80868086的主要的的主要的基本操作基本操作有:有: 系統(tǒng)的復(fù)位和啟動(dòng)操作;系統(tǒng)的復(fù)位和啟動(dòng)操作; 總線操作;總線操作; 中斷操作;中斷操作; 最小工作模式下的總線請(qǐng)求;最小工作模式下的總線請(qǐng)求; 最大工作模式下的讀寫操作。最大工作模式下的讀寫操作。 80868088的復(fù)位和啟動(dòng)操作是在RESET引腳上加上觸發(fā)信號(hào)來執(zhí)行的。8086808680888088要求復(fù)位信號(hào)要求復(fù)位信號(hào)(RESET)(RESET)至少有至少有4 4個(gè)時(shí)鐘周期的高電平,如個(gè)時(shí)鐘周期的高電
52、平,如果是初次加電的啟動(dòng),則要求有大于果是初次加電的啟動(dòng),則要求有大于50s50s的高電平。的高電平。標(biāo)志寄存器FR指令指針寄存器IPCSDSSSES指令隊(duì)列其他寄存器清零0000HFFFFH0000H0000H0000H空0000H復(fù)位時(shí)內(nèi)部各寄存器的值復(fù)位時(shí)內(nèi)部各寄存器的值n在復(fù)位的時(shí)候,代碼段寄存器在復(fù)位的時(shí)候,代碼段寄存器CSCS和指令指針寄存器和指令指針寄存器IPIP分別初始化為分別初始化為FFFFHFFFFH和和0000H0000H。所以,。所以,8086808680888088在復(fù)位之后再重新啟動(dòng)時(shí),便從在復(fù)位之后再重新啟動(dòng)時(shí),便從內(nèi)存的內(nèi)存的FFFF0HFFFF0H處開始執(zhí)行指
53、令,使系統(tǒng)在啟動(dòng)時(shí),能自動(dòng)進(jìn)入系統(tǒng)處開始執(zhí)行指令,使系統(tǒng)在啟動(dòng)時(shí),能自動(dòng)進(jìn)入系統(tǒng)程序。程序。n復(fù)位信號(hào)復(fù)位信號(hào)RESETRESET從高電平到低電平的跳變會(huì)觸發(fā)從高電平到低電平的跳變會(huì)觸發(fā)CPUCPU內(nèi)部的一個(gè)復(fù)位內(nèi)部的一個(gè)復(fù)位邏輯電路,經(jīng)過邏輯電路,經(jīng)過7 7個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期之后,之后,CPUCPU就被啟動(dòng)而恢復(fù)正常工作,就被啟動(dòng)而恢復(fù)正常工作,即從即從FFFF0HFFFF0H處開始執(zhí)行程序。處開始執(zhí)行程序。80868088 CPU中各單元之間以及與外設(shè)的數(shù)據(jù)交換,都是通中各單元之間以及與外設(shè)的數(shù)據(jù)交換,都是通過總線來進(jìn)行的??偩€操作有兩種情況,即過總線來進(jìn)行的。總線操作有兩種情況,即總線讀操作總線讀操作及及總線寫總線寫操作操作。n總線讀操作指CPU從存儲(chǔ)器(M)或外設(shè)端口(I/O)讀取數(shù)據(jù)。n總線寫操作指CPU把數(shù)據(jù)寫入存儲(chǔ)器(M)或外設(shè)端口(I/O)。 微機(jī)系統(tǒng)為適應(yīng)各種需要,都有一個(gè)中斷系統(tǒng),微機(jī)系統(tǒng)為適應(yīng)各種需要,都有一個(gè)中斷系統(tǒng),80868088是是16位微處理器,它的中斷系統(tǒng)可以處理位微處理器,它的中斷系統(tǒng)可以處理256種種不同不同類型的中斷。類型的中斷。硬件中斷硬件中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園不踩井蓋安全教育課件
- 燈具的智能照明網(wǎng)絡(luò)構(gòu)建考核試卷
- 灌溉項(xiàng)目在農(nóng)業(yè)可持續(xù)發(fā)展中的地位考核試卷
- 文化用品行業(yè)競(jìng)爭(zhēng)策略考核試卷
- 電子出版物批發(fā)商的供應(yīng)鏈協(xié)同管理考核試卷
- 硫酸亞錫在電子焊料中的應(yīng)用研究考核試卷
- 森林改培與城市綠化管理考核試卷
- 醫(yī)療器械行業(yè)可持續(xù)發(fā)展路徑考核試卷
- 油料作物種植與農(nóng)業(yè)市場(chǎng)風(fēng)險(xiǎn)防范考核試卷
- 地震勘探儀器在地質(zhì)勘探與地震勘探教育培訓(xùn)的作用與影響考核試卷
- 教務(wù)處教學(xué)教案作業(yè)檢查記錄表
- 電梯設(shè)備故障記錄表
- 血透室傳染病登記本
- DB50∕T 341-2009 城鄉(xiāng)社區(qū)消防安全管理規(guī)范
- 干粉滅火器點(diǎn)檢記錄表(樣表)
- 伍光和自然地理學(xué)4版知識(shí)點(diǎn)總結(jié)課后答案
- 手壓式手電筒設(shè)計(jì)(棘輪機(jī)構(gòu)及電路設(shè)計(jì))
- 滇10J6-1住宅廚房、衛(wèi)生間煙氣道及管道井構(gòu)造圖集
- 華中科技大學(xué)版五年級(jí)信息技術(shù)教案
- 600MW超臨界鍋爐給水控制系統(tǒng)分析
- 固定收益研究報(bào)告透過x系統(tǒng)看銀行間交易未來發(fā)展
評(píng)論
0/150
提交評(píng)論