版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章8086微型計(jì)算機(jī)系統(tǒng) 本章主要內(nèi)容8086微處理器的工作模式及引腳特性 28086微型計(jì)算機(jī)系統(tǒng)的總線時(shí)序 4半導(dǎo)體存儲(chǔ)器的分類18086微處理器的結(jié)構(gòu) 18086微型計(jì)算機(jī)系統(tǒng) 38086是Intel系列的16位微處理器,采用HMOS工藝制造,有16根數(shù)據(jù)線和20根地址線,封裝在40腳雙列直插組件(DIP)中。8086工作時(shí),使用單一的+5V電源,時(shí)鐘頻率為5MHz,引腳信號(hào)與TTL電平兼容。3.1 8086微型計(jì)算機(jī)系統(tǒng)的總線時(shí)序8086可尋址的內(nèi)存地址空間達(dá)220,即1MB;8086可尋址的I/O地址空間達(dá)216,即64KB;Intel公司在推出8086的同時(shí)一年,還推出了一款準(zhǔn)
2、16位的CPU8088。8088與8086相比:內(nèi)部結(jié)構(gòu)基本相同,兩者的軟件也完全兼容。8086的數(shù)據(jù)總線是16位的;8088的數(shù)據(jù)總線是8位的。3.1 8086微型計(jì)算機(jī)系統(tǒng)的總線時(shí)序3.1.1 8086微處理器的結(jié)構(gòu) 8086由執(zhí)行部件EU(Execution Unit)和總線接口部件BIU(Bus Interface Unit)兩部分組成,這兩個(gè)部件的操作是并行的。 EU負(fù)責(zé)指令的執(zhí)行;BIU負(fù)責(zé)CPU與存儲(chǔ)器、I/O設(shè)備之間的數(shù)據(jù)傳送。EUBIU指令隊(duì)列3.1.1 8086微處理器的結(jié)構(gòu) 例、100+256結(jié)果送地址為2000H的內(nèi)存單元 MOV AX,100 ADD AX,256 M
3、OV 2000H,AXMOV AX,100 B8 64 00ADD AX,256 05 00 10MOV 2000H,AX A3 00 201、存儲(chǔ)器功能存放程序和數(shù)據(jù)的記憶裝置用途:存放程序和要操作的各類信息(數(shù)據(jù)、文字、圖像、。)內(nèi)存:ROM、RAM 特點(diǎn):隨機(jī)存取,速度快,容量小外存:磁盤、光盤、半導(dǎo)體盤、 特點(diǎn):順序存取/塊存取,速度慢,容量大2、8086的存儲(chǔ)器的內(nèi)容存儲(chǔ)單元8086的存儲(chǔ)器空間由若干存儲(chǔ)單元組成;每個(gè)字節(jié)為一個(gè)內(nèi)存單元,它具有唯一的地址碼。存儲(chǔ)單元的內(nèi)容指的是存放在存儲(chǔ)單元中的數(shù)據(jù);數(shù)據(jù)可以是字節(jié)、字和雙字。 00000H00001H0000FHFFFFFH3、80
4、86的存儲(chǔ)器的地址內(nèi)存包含有很多存儲(chǔ)單元(每個(gè)內(nèi)存單元包含8bit),為區(qū)分不同的內(nèi)存單元,對(duì)計(jì)算機(jī)中的每個(gè)內(nèi)存單元進(jìn)行編號(hào),內(nèi)存單元的編號(hào)就稱為內(nèi)存單元的地址。1 0 1 1 0 1 1 038F04H內(nèi)存單元地址內(nèi)存單元內(nèi)容.Bit 7 6 5 4 3 2 1 00 1 0 1 1 0 0 0*內(nèi)存單元有時(shí)又稱為地址單元3、8086的存儲(chǔ)器的地址存儲(chǔ)單元地址即為存儲(chǔ)單元的編號(hào),用無符號(hào)整數(shù)來表示(編程用十六進(jìn)制表示);8086物理地址范圍從00000HFFFFFH。存儲(chǔ)容量存儲(chǔ)器能夠存放數(shù)據(jù)的最大字節(jié)數(shù);與地址線多少相關(guān),8086有地址線20根,故8086計(jì)算機(jī)系統(tǒng)中,可尋址的存儲(chǔ)空間最大
5、可以是220=1M字節(jié)。數(shù)據(jù)在存儲(chǔ)單元的存放高高低低(高字節(jié)存放在高地址,低字節(jié)存放在低地址);多字節(jié)數(shù)據(jù)以最低字節(jié)的地址為準(zhǔn);8086CPU對(duì)字/字節(jié)的讀寫以從偶地址開始,16位為單位進(jìn)行操作。數(shù)據(jù)的存儲(chǔ)格式D7D0字節(jié)D15D0字D31D0雙字D7 D000006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址存儲(chǔ)單元及其存儲(chǔ)內(nèi)容每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào);被稱為存儲(chǔ)器地址每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的內(nèi)容0002H單元存放有一個(gè)數(shù)據(jù)34H 表達(dá)為0002H34H多字節(jié)數(shù)據(jù)存放方式多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)存儲(chǔ)單元:存放時(shí),低字節(jié)存入
6、低地址,高字節(jié)存入高地址;表達(dá)時(shí),用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。圖中2號(hào)“字”單元的內(nèi)容為:0002H = 1234H2號(hào)“雙字”單元的內(nèi)容為:0002H = 78561234H例如圖所示:20110H單元20113H單元存放的內(nèi)容依次是12H、34H、56H、78H;(20110H)=12H表示字節(jié)單元20110H的內(nèi)容是12H;(20110H)=3412H表示字單元20110H的內(nèi)容是3412H;(20110H)=78563412H表示雙字單元20110H的內(nèi)容是78563412H。 (20111H)=34H表示字節(jié)單元20110H的內(nèi)容是34H;(20111H)=5634H表
7、示字單元20110H的內(nèi)容是5634H;4、內(nèi)存操作讀:將內(nèi)存單元的內(nèi)容取入CPU,原單元內(nèi)容不改變;寫:CPU將信息放入內(nèi)存單元,單元中原內(nèi)容被覆蓋;刷新:對(duì)CPU透明,僅動(dòng)態(tài)存儲(chǔ)器有此操作內(nèi)存的讀寫的步驟為:1)CPU把要讀寫的內(nèi)存單元的地址放到AB上2) 若是寫操作, CPU緊接著把要寫入的數(shù)據(jù)放到DB上3) CPU發(fā)出讀寫命令4) 數(shù)據(jù)被寫入指定的單元或從指定的單元讀出到DB若是讀操作, CPU緊接著從DB上取回?cái)?shù)據(jù)5、8086的儲(chǔ)存器組織8086:20根地址線,可尋址220(1MB)個(gè)存儲(chǔ)單元CPU送到AB上的20位的地址稱為物理地址 物理地址.60000H 60001H 60002
8、H 60003H 60004H.12HF0H1BH08H存儲(chǔ)器的操作完全基于物理地址。問題:8086的內(nèi)部總線和內(nèi)部寄存器均為16位,如何生成20位地址?解決:存儲(chǔ)器分段 00000H 邏輯段1起點(diǎn) 邏輯段2起點(diǎn) 邏輯段3起點(diǎn) 邏輯段4起點(diǎn) FFFFFH 邏輯段1 64KB 邏輯段2 64KB 邏輯段3 64KB 邏輯段4 64KB 存儲(chǔ)器分段段基地址和段內(nèi)偏移組成了邏輯地址 段地址 偏移地址(偏移量) 格式為:段地址:偏移地址 物理地址=段基地址16+偏移地址60002H00H12H60000H0 0 0 0段基地址(16位)段首地址 偏移地址=0002H邏輯地址段地址說明邏輯段在主存中的起
9、始位置8086規(guī)定段地址必須是模16地址:xxxx0H省略低4位0000B,段地址就可以用16位數(shù)據(jù)表示,就能用16位段寄存器表達(dá)段地址偏移地址(也稱有效地址EA)說明主存單元距離段起始位置的偏移量每段不超過64KB,偏移地址也可用16位數(shù)據(jù)表示 這樣,一個(gè)存儲(chǔ)單元除具有一個(gè)唯一的物理地址外,還具有多個(gè)邏輯地址BIU中的地址加法器用來實(shí)現(xiàn)邏輯地址到物理地址的變換8088 可同時(shí)訪問4個(gè)段,4個(gè)段寄存器中的內(nèi)容指示了每個(gè)段的基地址段基址段內(nèi)偏移物理地址+16位20位000010550H250A0H2EF00H8FF00HCSSS CSDSES解: 各段分布及段首址見右圖所示。 操作數(shù)的物理地址為
10、: 250AH10H+0204H = 252A4H已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作數(shù),其偏移地址=0204H, 1)畫出各段在內(nèi)存中的分布 2)指出各段首地址 3)該操作數(shù)的物理地址=?例1、執(zhí)行部件EUEU組成:算術(shù)邏輯單元(ALU),可完成8位或16位操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算;8個(gè)16位通用寄存器(AX、BX、CX、DX、SI、DI、SP和BP);標(biāo)志寄存器;控制電路。EU功能:負(fù)責(zé)指令的執(zhí)行,即:從總線接口部件BIU的指令隊(duì)列取得指令,執(zhí)行之后向BIU送回運(yùn)算結(jié)果,并把運(yùn)算結(jié)果的狀態(tài)特征保存到標(biāo)志寄存器中。2、總線接口部件BIU
11、BIU組成:4個(gè)16位段寄存器(DS、CS、ES、SS);指令指針寄存器(IP); 20位的地址加法器;6字節(jié)指令隊(duì)列緩沖器;內(nèi)部暫存器和總線控制邏輯。BIU功能:負(fù)責(zé)CPU與存儲(chǔ)器、I/O設(shè)備之間的數(shù)據(jù)傳送。具體包括:取指令送指令隊(duì)列,配合EU從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給EU,或者把EU的操作結(jié)果傳送到指定的內(nèi)存單元或外設(shè)端口中。 2、總線接口部件BIU1)段寄存器 8086采用存儲(chǔ)器地址分段的方法來解決在16位字長的計(jì)算機(jī)里提供20位地址的問題。段寄存器就是專門存放段地址的寄存器,每個(gè)段寄存器的值可以確定一個(gè)段的起始地址,而各段有不同的用途。8086中有4個(gè)16位段寄
12、存器,它們是:CS(代碼段寄存器)、DS(數(shù)據(jù)段寄存器)、SS(堆棧段寄存器)和ES(附加段寄存器)。 2、總線接口部件BIU2)指令指針寄存器IP指令指針寄存器IP提供下一條要取出的指令所在存儲(chǔ)單元的16位偏移地址。2、總線接口部件BIU3)地址加法器8086CPU采用段地址、段內(nèi)偏移地址兩級(jí)存儲(chǔ)器尋址方式,由一個(gè)20位地址加法器根據(jù)16位段地址和16位段內(nèi)偏移地址計(jì)算出20位的物理地址PA(Physical Address)。其計(jì)算方法是:將CPU中的16位段寄存器內(nèi)容左移4位(16)與16位的邏輯地址(又稱偏移地址)在地址加法器內(nèi)相加,得到所尋址單元的20位物理地址。根據(jù)尋址方式的不同,
13、偏移地址可以來自指令指針寄存器(IP)或其它寄存器。假設(shè)(CS)=FE00H,(IP)=0400H,那么下一條要取出的指令所在內(nèi)存單元的20位物理地址PA=FE00H10H+0400H=FE400H。 2、總線接口部件BIU4)內(nèi)部暫存器用于內(nèi)部數(shù)據(jù)的暫存,該部分對(duì)用戶透明,在編程時(shí)可不予理會(huì),用戶無權(quán)訪問。2、總線接口部件BIU5)指令隊(duì)列緩沖器8086有6字節(jié)指令隊(duì)列緩沖器;8088有4字節(jié)指令隊(duì)列緩沖器;緩沖器采用“先進(jìn)先出”策略,暫時(shí)存放BIU從存儲(chǔ)器中預(yù)取的指令。 在執(zhí)行指令的同時(shí),可以從內(nèi)存中取出下一條或下幾條指令放到緩沖器中,一條指令執(zhí)行完后,可立即執(zhí)行下一條指令,從而解決了以往
14、CPU取指令期間,運(yùn)算器的等待問題。2、總線接口部件BIU6)總線控制邏輯總線控制邏輯發(fā)出總線控制信號(hào),實(shí)現(xiàn)存儲(chǔ)器的讀/寫控制和I/O的讀寫控制。它將CPU內(nèi)部總線與外部總線相連,是CPU與外部電路進(jìn)行數(shù)據(jù)交換的路徑??偩€控制邏輯控制8086通過20條引腳線分時(shí)傳送20位地址線、16位數(shù)據(jù)和4位狀態(tài)信息。 3、BIU和EU的工作過程8086的總線BIU和EU在很多時(shí)候可以并行工作,使得取指令、指令譯碼和執(zhí)行指令這些操作構(gòu)成操作流水線。當(dāng)指令隊(duì)列中有兩個(gè)空字節(jié),且EU沒有訪問存儲(chǔ)器和I/O接口的要求時(shí),BIU會(huì)自動(dòng)把指令取到指令隊(duì)列中。3、BIU和EU的工作過程當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從指
15、令隊(duì)列前部取出指令執(zhí)行。在執(zhí)行指令的過程中,如果需要訪問存儲(chǔ)器或者I/O設(shè)備,那么EU會(huì)向BIU發(fā)出訪問總線的請(qǐng)求,以完成訪問存儲(chǔ)器或者I/O接口的操作。如果此時(shí)BIU正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)EU的總線請(qǐng)求;但如果BIU正在將某個(gè)指令字節(jié)取到指令隊(duì)列中,那么,BIU將首先完成這個(gè)取指令操作,然后再去響應(yīng)EU發(fā)出的訪問總線的請(qǐng)求。3、BIU和EU的工作過程當(dāng)指令隊(duì)列已滿,而且EU又沒有總線訪問時(shí),BIU便進(jìn)入空閑狀態(tài)。在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而BIU往指令隊(duì)列裝入指令時(shí),總是按順序進(jìn)行的。在這種情況下,指令隊(duì)列中已經(jīng)裝入的
16、指令就沒有用了,會(huì)被自動(dòng)消除。隨后,BIU會(huì)往指令隊(duì)列中裝入另一個(gè)程序段中的指令。3.1.2 8086的寄存器結(jié)構(gòu)寄存器是CPU內(nèi)部用來存放地址、數(shù)據(jù)和狀態(tài)標(biāo)志的部件。 寄存器(D觸發(fā)器,速度快)與儲(chǔ)存器的區(qū)別8086有14個(gè)16位寄存器和8個(gè)8位寄存器。按用途可以分為以下幾類:數(shù)據(jù)寄存器;指針和變址寄存器;段寄存器;指令指針寄存器;標(biāo)志寄存器。1、數(shù)據(jù)寄存器AX、BX、CX、DX數(shù)據(jù)寄存器主要用來存放操作數(shù)或中間結(jié)果,以減少訪問存儲(chǔ)器的次數(shù)。有:4個(gè)16位的寄存器:AX、BX、CX、DX;8個(gè)8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL;這些寄存器均可獨(dú)立使用。多數(shù)情況下,這
17、些數(shù)據(jù)寄存器是用在算術(shù)運(yùn)算或邏輯運(yùn)算指令中,以進(jìn)行算術(shù)邏輯運(yùn)算。在有些指令中,它們則有特定的用途。這些寄存器的用法見下表所示。1、數(shù)據(jù)寄存器AX、BX、CX、DX寄存器一般用法隱含用法AX16位累加器字節(jié)乘法中保存積;字乘法中隱含提供一個(gè)乘數(shù),并保存積的低16位;字節(jié)除法中隱含提供被除數(shù);字除法中隱含提供被除數(shù)的低16位,并保存商;CBW指令中隱含作為目標(biāo)操作數(shù);CWD指令中隱含作為源操作數(shù)和目標(biāo)操作數(shù)的低16位;I/O指令中,保存16位輸入/輸出數(shù)據(jù)。ALAX的低8位字節(jié)乘法中隱含提供一個(gè)乘數(shù),并保存積的低8位;字節(jié)除法中隱含提供被除數(shù)的低8位并保存商;CBW指令中隱含作為源操作數(shù);XLAT
18、指令中隱含提供表格首地址偏移量;I/O指令中,保存8位輸入/輸出數(shù)據(jù)。AHAX的高8位字節(jié)乘法中隱含提供一個(gè)乘數(shù);字節(jié)除法中隱含保存余數(shù);DOS和BIOS功能調(diào)用中存放功能號(hào)。1、數(shù)據(jù)寄存器AX、BX、CX、DX寄存器一般用法隱含用法BX基址寄存器,常用作地址寄存器 XLAT指令中提供被查表格中源操作數(shù)的間接地址。 CX16位計(jì)數(shù)器 循環(huán)指令中的循環(huán)次數(shù)計(jì)數(shù)器;串操作指令中串長計(jì)數(shù)器。 CLCX的低8位移位或循環(huán)移位指令中提供移位的次數(shù)。 DX16位數(shù)據(jù)寄存器 字乘法中隱含保存積的高16位;字除法中隱含提供被除數(shù)的高16位,并保存積的高16位; CWD指令中隱含作為目標(biāo)操作數(shù)的高16位; 在間
19、接尋址的I/O指令中,提供端口地址。 EU中有2個(gè)地址指針寄存器SP、BP和2個(gè)變址寄存器SI、DI。 用法如下表所示:寄存器一般用法隱含用法SP(堆棧指針寄存器)保存堆棧棧頂偏移地址,與SS配合來確定堆棧在內(nèi)存中的位置。壓棧、出棧操作中隱含指示棧頂BP(基址指針寄存器)保存16位數(shù)據(jù)保存堆棧段內(nèi)存儲(chǔ)單元的偏移地址。SI(源變址寄存器)保存16位數(shù)據(jù)保存數(shù)據(jù)段內(nèi)存儲(chǔ)單元的偏移地址。串操作指令中,隱含與DS配合,確定源串在內(nèi)存中的位置。DI(目的變址寄存器)保存16位數(shù)據(jù)保存數(shù)據(jù)段內(nèi)存儲(chǔ)單元的偏移地址。串操作指令中,隱含與ES配合,確定目標(biāo)串在內(nèi)存中的位置。2、指針和變址寄存器SP、BP、SI、
20、DI內(nèi)存中一個(gè)按FILO方式操作的特殊區(qū)域每次壓棧和退棧均以WORD為單位SS存放堆棧段地址,SP存放段內(nèi)偏移,SS:SP構(gòu)成了堆棧指針堆棧用于存放返回地址、過程參數(shù)或需要保護(hù)的數(shù)據(jù)常用于響應(yīng)中斷或子程序調(diào)用堆棧及堆棧段的使用SS壓棧前退棧后高高高12HSSF0HSP壓棧后高SPSPSPF0H12HSP段首棧底棧頂3、段寄存器8086內(nèi)部設(shè)置了4個(gè)16位的段寄存器,用于存放當(dāng)前程序所用的各段的起始地址的高16位:CS(Code Segment),稱為代碼段寄存器,存放當(dāng)前執(zhí)行的程序所在段的起始地址。其值乘以16再加上IP的值,就形成了下一條要取出指令所在的內(nèi)存單元的物理地址。DS(Data S
21、egment),稱為數(shù)據(jù)段寄存器,存放當(dāng)前數(shù)據(jù)段的起始地址。其值乘以16再加上指令中存儲(chǔ)器尋址方式指定的偏移地址,就形成了要進(jìn)行讀/寫的數(shù)據(jù)段中指定內(nèi)存單元的物理地址。3、段寄存器SS(Stack Segment),稱為堆棧段寄存器,存放當(dāng)前堆棧段的起始地址。堆棧是按照“后進(jìn)先出”原則組織的一個(gè)特殊內(nèi)存區(qū)域。堆棧操作數(shù)的地址由SS的值乘以16再加上SP的值形成。ES(Extra Segment),稱為附加段寄存器,存放當(dāng)前附加段的起始地址。附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存,另外,串操作指令將附加段作為其目標(biāo)操作數(shù)的存放區(qū)域。4、16位指令指針寄存器IP指令指針寄存器IP(Instruct
22、ion Pointer)存放當(dāng)前代碼段中的偏移地址,它與CS聯(lián)用,可以形成下一條要取出指令的物理地址。程序不能直接對(duì)IP進(jìn)行存取,但能在程序運(yùn)行中被自動(dòng)修改。例如,控制器取到要執(zhí)行的指令后,會(huì)立刻修改IP值,使之指向下一條指令的首地址;轉(zhuǎn)移、調(diào)用、返回等指令執(zhí)行,就是通過修改IP的值來控制指令序列的執(zhí)行流程的。 5、標(biāo)志寄存器FRFR是一個(gè)16位的寄存器。9個(gè)位用作標(biāo)志位: 狀態(tài)標(biāo)志位有6個(gè),記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,是根據(jù)指令的運(yùn)行結(jié)果由CPU自動(dòng)設(shè)置的。這些狀態(tài)信息通常作為后續(xù)轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,所以也稱為條件碼??刂茦?biāo)志位有3個(gè),可以編程設(shè)置,用于控制處理器執(zhí)行指令的方式??刂茦?biāo)
23、志設(shè)置之后,可對(duì)后面的操作產(chǎn)生控制作用。未標(biāo)明的位在8086中不用。 OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0進(jìn)位標(biāo)志:指令執(zhí)行后,如果運(yùn)算結(jié)果在最高位上產(chǎn)生了一個(gè)進(jìn)位或借位,則CF1;否則,CF0。CF5、標(biāo)志寄存器FR條件標(biāo)志OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR條件標(biāo)志奇偶標(biāo)志:如果運(yùn)算結(jié)果低八位1的個(gè)數(shù)為偶數(shù),則PF1;否則,PF0。PFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器F
24、R條件標(biāo)志輔助進(jìn)位標(biāo)志:如果運(yùn)算結(jié)果低4位產(chǎn)生了進(jìn)位,則AF1;否則,AF0。AFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR條件標(biāo)志零標(biāo)志:如果運(yùn)算結(jié)果為0,則ZF1;否則,ZF0。ZFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR條件標(biāo)志符號(hào)標(biāo)志:如果運(yùn)算結(jié)果為正數(shù),則SF0;否則,SF1。SFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR條件標(biāo)志溢出標(biāo)志:如果運(yùn)算過程產(chǎn)生了溢出,則OF1;否則,OF0。OFOF1115 12DF10IF9TF8SF7
25、ZF65AF43PF21CF05、標(biāo)志寄存器FR控制標(biāo)志單步標(biāo)志:TF1,處理器按單步執(zhí)行指令;TF0,處理器正常工作。TFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR控制標(biāo)志中斷允許標(biāo)志:IF1,允許可屏蔽中斷;IF0,不允許可屏蔽中斷。IFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05、標(biāo)志寄存器FR控制標(biāo)志方向標(biāo)志(用于串操作指令):DF1,存儲(chǔ)器地址會(huì)自動(dòng)減值;DF0,存儲(chǔ)器地址會(huì)自動(dòng)增值。DF5、標(biāo)志寄存器FR狀態(tài)標(biāo)志的狀態(tài)表示在PC 中,可由調(diào)試程序(DEBUG)顯示出來。對(duì)應(yīng)符號(hào)如下表所示:標(biāo)志位名為1
26、對(duì)應(yīng)符為0對(duì)應(yīng)符OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC3.2 8086微處理器的工作模式及引腳特性3.2.1 8086的工作模式當(dāng)把8086CPU與存儲(chǔ)器、外設(shè)構(gòu)成一個(gè)計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)所連的存儲(chǔ)器和外設(shè)的規(guī)模,8086CPU具有兩種不同的工作模式來適應(yīng)不同的應(yīng)用場(chǎng)合:最小模式最大模式 8086的工作模式由硬件設(shè)計(jì)決定: 引腳連電源(5V),則8086處在最小模式; 引腳接地,則8086處在最大模式。MN/MXMN/MX3.2.1 8086的工作模式最小模式最小模式也稱為單處理器模式,是指系統(tǒng)中只有一片8086微處理器,所連的存儲(chǔ)器容量
27、不大、片子不多,所要連的I/O端口也不多,系統(tǒng)的控制總線就直接由CPU的控制線供給,從而使得系統(tǒng)中的總線控制電路被減到最少。最小模式適用于較小規(guī)模的系統(tǒng)。3.2.1 8086的工作模式最大模式最大模式是相對(duì)于最小模式而言的,適用于中、大型規(guī)模的系統(tǒng)。在最大模式的系統(tǒng)中有多個(gè)微處理器,其中一個(gè)是主處理器8086,其他的處理器稱為協(xié)處理器,承擔(dān)某方面專門的工作。和8086配合的協(xié)處理器有數(shù)值運(yùn)算協(xié)處理器8087,和輸入/輸出協(xié)處理器8089。8086通過一個(gè)總線控制器8288來形成各種總線周期,控制信號(hào)由8288供給。3.2.2 8086的引腳特性描述方面:引腳的功能信號(hào)的有效電平信號(hào)的流向引腳的
28、復(fù)用三態(tài)能力數(shù)據(jù)總線為16位地址總線為20位40條引腳 部分引腳分時(shí)復(fù)用 3.2.2 8086的引腳特性1、兩種工作模式的公共引腳AD0AD15低16位地址/數(shù)據(jù)的復(fù)用引腳線三態(tài)、雙向采用分時(shí)復(fù)用法來實(shí)現(xiàn)對(duì)地址線和數(shù)據(jù)線的復(fù)用1、兩種工作模式的公共引腳 A19/S6A16/S3高4位地址/狀態(tài)的復(fù)用引腳線三態(tài)、輸出采用分時(shí)復(fù)用方法來實(shí)現(xiàn)對(duì)地址線和狀態(tài)線的復(fù)用狀態(tài)信息S6總是為低電平。S5反映當(dāng)前允許中斷標(biāo)志的狀態(tài)。S4與S3一起指示當(dāng)前哪一個(gè)段寄存器被使用。其規(guī)定如表所示。S4S3當(dāng)前正在使用的段寄存器名00 ES01 SS10 CS或未用11 DS1、兩種工作模式的公共引腳 BHE/S7高8
29、位數(shù)據(jù)總線允許/狀態(tài)的復(fù)用引腳線三態(tài)、輸出 BHE與A0結(jié)合使用BHE與A0結(jié)合使用BHE與A0結(jié)合使用 BHE AD0有效的數(shù)據(jù)引腳操作 0 0 AD15AD0從偶地址讀/寫一個(gè)字1 0AD7AD0從偶地址讀/寫一個(gè)字節(jié)0 1AD15AD8從奇地址讀/寫一個(gè)字節(jié)0 11 0AD15AD8(第一個(gè)總線周期讀到該字?jǐn)?shù)據(jù)的低8位)AD7AD0(第二個(gè)總線周期讀到該字?jǐn)?shù)據(jù)的高8位)從奇地址讀/寫一個(gè)字1、兩種工作模式的公共引腳 RD讀信號(hào)三態(tài)、輸出低電平時(shí)有效有效時(shí)表示對(duì)存儲(chǔ)器或I/O進(jìn)行讀操作 RD讀信號(hào)三態(tài)、輸出低電平時(shí)有效有效時(shí)表示對(duì)存儲(chǔ)器或I/O進(jìn)行讀操作1、兩種工作模式的公共引腳 READ
30、Y準(zhǔn)備就緒信號(hào)輸入高電平時(shí)有效有效時(shí)表示存儲(chǔ)器或I/O設(shè)備準(zhǔn)備就緒1、兩種工作模式的公共引腳 TEST測(cè)試信號(hào)輸入低電平時(shí)有效與WAIT指令配合 使用1、兩種工作模式的公共引腳 INTR可屏蔽中斷請(qǐng)求信號(hào)輸入高電平時(shí)有效標(biāo)志寄存器中IF位:IF=1,允許中斷IF=0,禁止中斷1、兩種工作模式的公共引腳 NMI非屏蔽中斷請(qǐng)求信號(hào)輸入上升沿有效不受IF位影響8086只有NMI和INTR可以引入外部中斷。1、兩種工作模式的公共引腳 RESET復(fù)位信號(hào)輸入高電平有效復(fù)位后:指令隊(duì)列空CS為FFFFH其它寄存器清零1、兩種工作模式的公共引腳 其它CLK輸入時(shí)鐘信號(hào)VCC輸入電源GND接地MN/MX最小/
31、最大模式信號(hào),輸入。與模式有關(guān)的引腳2、最小模式下的引腳 INTA中斷響應(yīng)信號(hào)輸出低電平有效2、最小模式下的引腳 ALE地址鎖存信號(hào)輸出下降沿時(shí)鎖存地址2、最小模式下的引腳 DEN數(shù)據(jù)允許信號(hào)輸出,三態(tài)低電平有效2、最小模式下的引腳 DT/R數(shù)據(jù)發(fā)送/接收控制信號(hào)輸出,三態(tài)有效時(shí)控制數(shù)據(jù)傳送方向2、最小模式下的引腳 M/IO訪問M或I/O控制信號(hào)輸出,三態(tài)=1,訪問M=0,訪問I/O2、最小模式下的引腳WR寫信號(hào)輸出,三態(tài)低電平有效有效時(shí)表示CPU正在寫2、最小模式下的引腳HOLD和HLDAHOLD輸入,總線保持請(qǐng)求信號(hào)HLDA輸出,總線響應(yīng)信號(hào)3、最大模式下的引腳QS1,QS0指令隊(duì)列狀態(tài)信
32、號(hào)輸出組合見表QS1和QS0的組合與對(duì)應(yīng)的操作 QS1QS0操作00無操作01從指令隊(duì)列的第一個(gè)字節(jié)中取走代碼10隊(duì)列為空11除第一個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼3、最大模式下的引腳LOCK總線封鎖信號(hào)輸出,三態(tài)低電平有效3、最大模式下的引腳RQ/GT總線請(qǐng)求/允許信號(hào)雙向輸入:請(qǐng)求輸出:響應(yīng)共有2個(gè)同樣的引腳RQ/GT0優(yōu)先級(jí)高3、最大模式下的引腳S20總線周期狀態(tài)信號(hào)輸出信號(hào) 組合見表S2、S1、S0的組合與對(duì)應(yīng)的操作 S2S1S0操作000中斷響應(yīng)001讀I/O端口010寫I/O端口011暫停100取指101讀存儲(chǔ)器110寫存儲(chǔ)器111無作用3.3 8086微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)的
33、結(jié)構(gòu)示意圖存 儲(chǔ) 器I/O 接 口輸 入 設(shè) 備I/O 接 口數(shù)據(jù)總線 DB控制總線 CB地址總線 AB輸 出 設(shè) 備CPU3.3.1 8086微型計(jì)算機(jī)系統(tǒng)的硬件組成系統(tǒng)硬件組成的特點(diǎn)8086微型計(jì)算機(jī)系統(tǒng)的硬件組成出了包括8086微處理器外,還需要其他的部件。8086不同的工作模式對(duì)系統(tǒng)的硬件組成有不同的要求,其中共同之處有:時(shí)鐘發(fā)生器8284 (1片,提供時(shí)鐘)地址鎖存器8282 (3片,鎖存地址信息)數(shù)據(jù)收發(fā)器8286 (3片,增加數(shù)據(jù)總線的驅(qū)動(dòng)能力 )最小模式系統(tǒng)的硬件組成3.3.1 8086微型計(jì)算機(jī)系統(tǒng)的硬件組成最大模式系統(tǒng)的硬件組成3.3.1 8086微型計(jì)算機(jī)系統(tǒng)的硬件組成3
34、.3.2 8086微型計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器組織存儲(chǔ)器是計(jì)算機(jī)的記憶部件,用來存放程序和數(shù)據(jù)。按所在的位置,存儲(chǔ)器可以分成主存儲(chǔ)器和輔助存儲(chǔ)器。主存儲(chǔ)器存放當(dāng)前正在執(zhí)行的程序和使用的數(shù)據(jù),CPU可以直接存取,它由半導(dǎo)體存儲(chǔ)器芯片構(gòu)成,其成本高,容量小,但速度快。輔助存儲(chǔ)器可用來長期保存大量程序和數(shù)據(jù),CPU需要通過I/O接口訪問,它由磁盤或光盤構(gòu)成,其成本低,容量大,但速度較慢。1、8086的存儲(chǔ)器空間8086中本身沒有存儲(chǔ)器,這里是指以8086為CPU的計(jì)算機(jī)系統(tǒng)的存儲(chǔ)空間;存儲(chǔ)單元8086的存儲(chǔ)器空間由若干存儲(chǔ)單元組成;每個(gè)字節(jié)為一個(gè)內(nèi)存單元,它具有唯一的地址碼。存儲(chǔ)單元的內(nèi)容指的是存放在存儲(chǔ)
35、單元中的數(shù)據(jù);數(shù)據(jù)可以是字節(jié)、字和雙字。 存儲(chǔ)容量存儲(chǔ)器能夠存放數(shù)據(jù)的最大字節(jié)數(shù);與地址線多少相關(guān),8086有地址線20根,故8086計(jì)算機(jī)系統(tǒng)中,可尋址的存儲(chǔ)空間最大可以是220=1M字節(jié)。00000H00001H0000FHFFFFFH1、8086的存儲(chǔ)器空間存儲(chǔ)單元地址即為存儲(chǔ)單元的編號(hào),用無符號(hào)整數(shù)來表示(編程用十六進(jìn)制表示);8086物理地址范圍從00000HFFFFFH。數(shù)據(jù)在存儲(chǔ)單元的存放高高低低(高字節(jié)存放在高地址,低字節(jié)存放在低地址);多字節(jié)數(shù)據(jù)以最低字節(jié)的地址為準(zhǔn);8086CPU對(duì)字/字節(jié)的讀寫以從偶地址開始,16位為單位進(jìn)行操作。1、8086的存儲(chǔ)器空間如圖所示:2011
36、0H單元20113H單元存放的內(nèi)容依次是12H、34H、56H、78H;(20110H)=12H表示字節(jié)單元20110H的內(nèi)容是12H;(20110H)=3412H表示字單元20110H的內(nèi)容是3412H;(20110H)=78563412H表示雙字單元20110H的內(nèi)容是78563412H。 (20111H)=34H表示字節(jié)單元20110H的內(nèi)容是34H;(20111H)=5634H表示字單元20110H的內(nèi)容是5634H;2、 存儲(chǔ)器的分段管理盡管8086CPU提供20位地址,但8086中可用來存放地址的寄存器如IP、SP、BX、SI等都是16位的,只能直接尋址64KB;為了對(duì)1M個(gè)存儲(chǔ)單
37、元進(jìn)行管理,8086CPU采用了典型的存儲(chǔ)器分段技術(shù)。2、 存儲(chǔ)器的分段管理將整個(gè)存儲(chǔ)器空間分為許多邏輯段每個(gè)邏輯段的容量64KB字節(jié);各個(gè)邏輯段之間可以緊密相連,也可以互相重疊;對(duì)存儲(chǔ)器的尋址操作采用段地址加段內(nèi)偏移地址的二級(jí)尋址方式;對(duì)于任何一個(gè)物理地址,可以唯一地被包含在一個(gè)邏輯段中,也可包含在多個(gè)相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個(gè)物理地址所對(duì)應(yīng)的存儲(chǔ)空間。2、 存儲(chǔ)器的分段管理分段后,對(duì)存儲(chǔ)器的尋址操作不再直接用20位的物理地址,而是采用段地址 + 段內(nèi)偏移地址的二級(jí)尋址方式。 段地址在8086存儲(chǔ)空間中,把16個(gè)字節(jié)的存儲(chǔ)空間稱作一節(jié)(Paragraph)
38、,通常分段時(shí)要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,這樣段首地址低4位應(yīng)該是“0000”,因此就把段首地址的高16位稱為“段基址(段地址)”段地址是無符號(hào)的16位二進(jìn)制數(shù),存放在段寄存器DS、CS、SS或ES中,這些段分別稱為數(shù)據(jù)段、代碼段、堆棧段和附加段。2、 存儲(chǔ)器的分段管理偏移地址我們把某一存儲(chǔ)單元相對(duì)于段首地址的偏移量稱為偏移地址(也稱有效地址EA)。偏移地址也是無符號(hào)的16位二進(jìn)制數(shù),存放在IP、SP、BX、SI、DI、BP中或直接出現(xiàn)在指令中。2、 存儲(chǔ)器的分段管理邏輯地址采用分段結(jié)構(gòu)的存儲(chǔ)器中,把通過段地址和偏移地址來表示的存儲(chǔ)單元的地址稱為邏輯地址,記為: 段地址:偏移地址邏輯地址是
39、物理地址的一種表示方式,不是唯一的。例如: 邏輯地址2000H:1300H、2120H:0100H和2100H:0300H表示的是同一個(gè)存儲(chǔ)單元21300H。2、 存儲(chǔ)器的分段管理物理地址物理地址(PA)是存儲(chǔ)單元的絕對(duì)地址,20位,是CPU訪問存儲(chǔ)器的唯一的實(shí)際地址,每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)物理地址;8086的存儲(chǔ)空間物理地址范圍是00000HFFFFFH2、 存儲(chǔ)器的分段管理物理地址由邏輯地址形成物理地址 = 段地址10H偏移地址CPU中,這個(gè)過程由地址加法器完成;例如,邏輯地址2000H:1300H,所代表的物理地址為: PA = 2000H10H1300H = 20000H1300H =
40、21300H微型計(jì)算機(jī)系統(tǒng)的外部設(shè)備各式各樣,8086CPU和外部設(shè)備之間是通過I/O接口芯片進(jìn)行聯(lián)系;每個(gè)I/O芯片上都有一個(gè)端口或幾個(gè)端口,一個(gè)端口往往對(duì)應(yīng)于芯片上的一個(gè)寄存器或一組寄存器;微機(jī)系統(tǒng)要為每個(gè)端口分配一個(gè)地址,我們把這個(gè)地址叫作端口地址或端口號(hào);各個(gè)端口號(hào)具有唯一性;3.3.3 8086微型計(jì)算機(jī)系統(tǒng)的I/O組織I/O端口有兩種編址方式:統(tǒng)一編址將I/O端口和存儲(chǔ)單元統(tǒng)一編址,即把I/O端口也看作是存儲(chǔ)單元。優(yōu)點(diǎn):可利用存儲(chǔ)器的尋址方式來尋址I/O端口。缺點(diǎn):I/O端口占用了存儲(chǔ)空間,而且進(jìn)行I/O操作時(shí),因地址編碼較長,導(dǎo)致速度較慢。獨(dú)立編址將I/O端口和存儲(chǔ)單元分開編址,
41、即I/O端口空間與存儲(chǔ)空間相互獨(dú)立。優(yōu)點(diǎn):不占用內(nèi)存空間;使用I/O指令,程序清晰,很容易看出是I/O操作還是存儲(chǔ)器操作;譯碼電路比較簡單。缺點(diǎn):只能用專門的I/O指令,訪問端口的方法不如訪問存儲(chǔ)器的方法多。 3.3.3 8086微型計(jì)算機(jī)系統(tǒng)的I/O組織8086采用獨(dú)立編址方式,使用A15A0這16條地址線作端口地址,可訪問的I/O端口最多可有64K個(gè)8位端口或32K個(gè)16位的端口,A19A16總是為0;一個(gè)8位端口相當(dāng)于一個(gè)存儲(chǔ)器字節(jié),分配0000 FFFFH中的一個(gè)地址。任何兩個(gè)相鄰的8位端口可以組合成一個(gè)16位端口,類似于存儲(chǔ)器中的字。8086中,有專門的指令來訪問I/O接口,如輸入指
42、令I(lǐng)N,輸出指令OUT。 3.3.3 8086微型計(jì)算機(jī)系統(tǒng)的I/O組織3.4.1 基本概念微型計(jì)算機(jī)系統(tǒng)的所有操作都按統(tǒng)一的時(shí)鐘節(jié)拍進(jìn)行。CPU執(zhí)行指令時(shí)涉及三種周期:時(shí)鐘周期總線周期指令周期3.4 8086微型計(jì)算機(jī)系統(tǒng)的總線時(shí)序1、時(shí)鐘周期計(jì)算機(jī)是一個(gè)復(fù)雜的時(shí)序邏輯電路,時(shí)序邏輯電路都有“時(shí)鐘”信號(hào)。 計(jì)算機(jī)的“時(shí)鐘”是由振蕩源產(chǎn)生的、幅度和周期不變的節(jié)拍脈沖,每個(gè)脈沖周期稱為時(shí)鐘周期(Clock Cycle),又稱為T狀態(tài)。計(jì)算機(jī)是在時(shí)鐘脈沖的統(tǒng)一控制下,一個(gè)節(jié)拍一個(gè)節(jié)拍地工作的。時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元,取決于系統(tǒng)的主頻率,系統(tǒng)完成任何操作所需要的時(shí)間,均是時(shí)鐘周期的整數(shù)
43、倍。 例如,IBM-PC機(jī)時(shí)鐘頻率為4.77MHz,一個(gè)T狀態(tài)為210nsT2、總線周期當(dāng)CPU訪問M或I/O端口,需要通過總線進(jìn)行讀或?qū)懖僮?。與CPU內(nèi)部操作相比,通過總線進(jìn)行的操作需要較長的時(shí)間。把CPU通過總線進(jìn)行某種操作的過程稱為總線周期(Bus Cycle),表示從M或I/O端口存取一個(gè)數(shù)據(jù)所需的時(shí)間。根據(jù)總線操作功能的不同,分為:存儲(chǔ)器讀周期存儲(chǔ)器寫周期I/O讀周期I/O寫周期一個(gè)基本的總線周期由4個(gè)時(shí)鐘周期組成(T1、T2、T3、T4)。 一個(gè)基本的總線周期2、總線周期在有些情況下,外設(shè)或存儲(chǔ)器速度較慢,不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過“READY”信號(hào)線在T3狀態(tài)啟動(dòng)之前向CPU發(fā)一個(gè)“數(shù)據(jù)未準(zhǔn)備好”信號(hào),于是CPU會(huì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 胎盤miRNA與表觀遺傳調(diào)控-洞察分析
- 網(wǎng)絡(luò)直播產(chǎn)業(yè)的社會(huì)影響-洞察分析
- 疫情對(duì)經(jīng)濟(jì)影響研究-洞察分析
- 《休克的救護(hù)流程》課件
- 內(nèi)容驅(qū)動(dòng)的辦公文化變革與創(chuàng)新
- 信息安全教育在學(xué)校信息化建設(shè)中的重要性
- 辦公用品行業(yè)的數(shù)字化營銷策略及效果評(píng)估
- 冰天雪地中的科技傳奇故事集
- 辦公環(huán)境中如何有效開展心理輔導(dǎo)
- 2025電路維修合同范本
- 2023-2024學(xué)年貴州省貴陽市南明區(qū)四年級(jí)數(shù)學(xué)第一學(xué)期期末含答案
- eviews操作說明教學(xué)課件
- 金融服務(wù)營銷PPT完整全套教學(xué)課件
- “東數(shù)西算”全面解讀學(xué)習(xí)課件
- 經(jīng)濟(jì)博弈論(謝織予)課后答案及補(bǔ)充習(xí)題答案
- 有機(jī)波譜分析考試題庫及答案1
- 2023海南省圖書館公開招聘財(cái)政定額補(bǔ)貼人員15人(一)模擬備考預(yù)測(cè)(共1000題含答案解析)綜合試卷
- 導(dǎo)游考試指南:一個(gè)月過北京導(dǎo)游考試
- 基于分形結(jié)構(gòu)的多頻與寬帶天線技術(shù)研究
- 跨境電商平臺(tái)認(rèn)知Lazada
- 辦公樓VRV多聯(lián)空調(diào)與中央空調(diào)系統(tǒng)方案比較
評(píng)論
0/150
提交評(píng)論