微機(jī)原理及應(yīng)用第3章2節(jié)2012SGQ.ppt_第1頁(yè)
微機(jī)原理及應(yīng)用第3章2節(jié)2012SGQ.ppt_第2頁(yè)
微機(jī)原理及應(yīng)用第3章2節(jié)2012SGQ.ppt_第3頁(yè)
微機(jī)原理及應(yīng)用第3章2節(jié)2012SGQ.ppt_第4頁(yè)
微機(jī)原理及應(yīng)用第3章2節(jié)2012SGQ.ppt_第5頁(yè)
已閱讀5頁(yè),還剩84頁(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、1,復(fù)習(xí)上次課內(nèi)容,1、CPU從功能上如何劃分的。 2、各寄存器的名稱、用法、特定用途。,2,時(shí)間:20129月5日(第二周周三) 本次課內(nèi)容: 1、CPU功能。 2、8086的功能結(jié)構(gòu)。 3、8086寄存器結(jié)構(gòu)。 4、標(biāo)志寄存器。 5、8086的存儲(chǔ)器組織。 6、 8086的段結(jié)構(gòu)。 本次課重點(diǎn): 1、標(biāo)志位寄存器各個(gè)標(biāo)志位的含義。 2、物理地址、邏輯地址。 3、堆棧。,3,第3章 80 x86微處理器,3.1 80 x86微處理器簡(jiǎn)介 3.2 8086/8088微處理器 3.3 8086/8088存儲(chǔ)器和I/O組織,4,80 x86微處理器是美國(guó)Intel 公司生產(chǎn)的系列微處理器。該公司成

2、立于1968年,1969年就設(shè)計(jì)了4位的4004 芯片,1973年開(kāi)發(fā)出8位的8080芯片,1978年正式推出16位的8086微處理器芯片。,3.1 微處理器簡(jiǎn)介,5,表3.1 80 x86系列微處理器概況,3.1 微處理器簡(jiǎn)介,6,表3.1 80 x86系列微處理器概況,3.1 微處理器簡(jiǎn)介,7,8086是Intel系列的16位微處理器,芯片上有2.9萬(wàn)個(gè)晶體管,用單一的+5V電源,時(shí)鐘頻率為5MHz10MHz。 8086有16根數(shù)據(jù)線和20根地址線,它既能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù)??蓪ぶ返膬?nèi)存空間為1MB。 220 =1k1k=1MB。 8088有8位數(shù)據(jù)線,與地址線A0-A7兼用

3、;,8,微處理器的內(nèi)部結(jié)構(gòu),從應(yīng)用角度(不是從內(nèi)部工作原理)展開(kāi) 典型8位微處理器的基本結(jié)構(gòu) 8088/8086的功能結(jié)構(gòu) 8088/8086的寄存器結(jié)構(gòu) 8088/8086的存儲(chǔ)器結(jié)構(gòu) 為學(xué)習(xí)指令系統(tǒng)打好基礎(chǔ),9,3.2 8086/8088的功能結(jié)構(gòu),8086CPU功能結(jié)構(gòu)分成兩部分: 總線接口部件BIU: 總線接口單元BIU,負(fù)責(zé)控制存貯器讀寫。 執(zhí)行部件EU: 執(zhí)行單元EU從指令隊(duì)列中取出指令并執(zhí)行。 特點(diǎn): 取指部分和執(zhí)行指令部分分開(kāi)進(jìn)行,提高了速度。,10,外部總線,內(nèi)部暫存器,IP,ES,SS,DS,CS,輸入/輸出控制電路,執(zhí)行部分控制電路,1 2 3 4 5 6,ALU,標(biāo)志寄

4、存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存 器,地址加法器,指令隊(duì)列緩沖器,執(zhí)行部件 (EU),總線接口部件 (BIU),16位,20位,16位,8位,11,執(zhí)行部件,總線接口部件,12,13,8088的指令執(zhí)行過(guò)程,14,1、總線接口部件BIU(Bus Interface Unit),組成:16位段寄存器,指令指針,20位地址加法器,總線控制邏輯,6字節(jié)指令隊(duì)列。,作用:負(fù)責(zé)從內(nèi)存指定單元中取出指令,送入指令流隊(duì)列中排隊(duì);取出指令所需的操作數(shù)送EU單元去執(zhí)行。,工作過(guò)程:由段寄存器與IP形成20位物理地址送地址總線,由總線控制電路發(fā)出存儲(chǔ)器“讀”

5、信號(hào),按給定的地址從存儲(chǔ)器中取出指令,送到指令隊(duì)列中等待執(zhí)行。,*當(dāng)指令隊(duì)列有2個(gè)或2個(gè)以上的字節(jié)空余時(shí),BIU自動(dòng)將指令取到指令隊(duì)列中。若遇到轉(zhuǎn)移指令等,則將指令隊(duì)列清空,BIU重新取新地址中的指令代碼,送入指令隊(duì)列。,*指令指針I(yè)P由BIU自動(dòng)修改,IP總是指向下一條將要執(zhí)行指令的地址。,15,2、指令執(zhí)行部件EU(Exection Unit),組成:通用寄存器,標(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ù)

6、的偏移地址送給BIU,由BIU取得操作數(shù)送給EU。,16,3、 8086CPU結(jié)構(gòu)的特點(diǎn): 減少了CPU為取指令而等待的時(shí)間,提高了CPU的運(yùn)行速度。,17,3.3 Intel 8088/8086寄存器結(jié)構(gòu),AH,AL,CH,CL,BH,BL,DH,DL,SP,BP,SI,DI,PSW(FLAG),IP,CS,DS,SS,ES,18,8088/8086寄存器名稱與功能,AX-累加器,通用寄存器 BX-基址(基數(shù))寄存器,通用寄存器 CX-計(jì)數(shù)寄存器,通用寄存器 DX-數(shù)據(jù)寄存器,通用寄存器 SP-堆棧指針 BP-基址(基數(shù))指針 SI-源變址指針 DI-目的變址指針 CS、DS、SS、ES-段

7、寄存器 IP-指令指針(Instruction Pointer) PSW-狀態(tài)標(biāo)志(Program State Word),19,1、數(shù)據(jù)寄存器,包括4個(gè)寄存器AX,BX,CX,DX。這些寄存器用以暫時(shí)保存計(jì)算過(guò)程中所得到的操作數(shù)及結(jié)果。即能處理16位數(shù),也能處理8位數(shù),當(dāng)處理8位數(shù)時(shí),這4個(gè)16位寄存器作為8個(gè)8位寄存器AH,AL,BH,BL,CH,CL,DH,DL來(lái)使用。 每個(gè)寄存器又有它們各自的專用目的。 AX累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等; BX基址寄存器,常用做存放存儲(chǔ)器地址; CX計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器; DX數(shù)據(jù)寄存器,常用來(lái)存

8、放雙字長(zhǎng)數(shù)據(jù)的高16位,或存放外設(shè)端口地址。,20,數(shù)據(jù)寄存器的特定用法,字乘法,字除法運(yùn)算中,將DX,AX組合成一個(gè)雙字長(zhǎng)數(shù),DX用來(lái)存放高16位數(shù)。,21,例如:在指令中指明作用 ADD AX,BX MOV BL,AL 例如:在指令中特定作用 SHL AX, CL 例如:在指令中隱含作用 MUL BL (隱含使用AL、AX),22,2、變址寄存器,這些寄存器在運(yùn)算過(guò)程中可以用來(lái)存放操作數(shù)(只能以字為單位),也在段內(nèi)尋址時(shí)提供偏移地址 。 SI是源變址寄存器 DI是目的變址寄存器 串操作類指令中,SI和DI具有特別的功能。SI,DI一般與段寄存器DS、ES聯(lián)用,以確定數(shù)據(jù)段中某一存儲(chǔ)單元的地

9、址,SI,DI具有自動(dòng)增量和自動(dòng)減量的功能,這一點(diǎn)使在串操作指令中用做變址非常方便,SI作為隱含的源變址DS聯(lián)用,DI作為隱含的目的變址和ES連用,從而達(dá)到在數(shù)據(jù)段和附加段中尋址的目的。,23,例如:指令中作用變址寄存器 MOV AX,10HSI ADD DI, 1234H MOV SI, 1000H MOV SI, 1000H,24,3、指針寄存器,指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù) SP為堆棧指針寄存器,指示棧頂?shù)钠频刂?SP不能再用于其他目的,具有專用目的 BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址 SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址,25,例如:

10、指令中作用指針寄存器 PUSH AX ;執(zhí)行后SP的值SP2 ADD BP , 1234H ; 數(shù)據(jù)相加的結(jié)果寄存在堆棧段,26,4、 段寄存器,DS 數(shù)據(jù)段寄存器 (Data Segment) CS 代碼段寄存器 (Code Segment) ES 附加段寄存器 (Extra Segment) SS 堆棧段寄存器 (Stack Segment),27,段寄存器就是用來(lái)存放段地址的,CS段寄存器用來(lái)存放當(dāng)前正在運(yùn)行的程序; DS段寄存器用來(lái)存放當(dāng)前運(yùn)行的數(shù)據(jù),若程序中使用了段操作指令,源操作數(shù)也存放在數(shù)據(jù)段中; SS段寄存器規(guī)定了堆棧所處的區(qū)域; ES段寄存器用來(lái)存放輔助數(shù)據(jù),因?yàn)镋S是一個(gè)附

11、加的數(shù)據(jù)段,在執(zhí)行串操作指令時(shí),目的操作數(shù)也一般存放在ES段中。,28,5、指令指針I(yè)P,指令指針寄存器IP,指示代碼段中指令的偏移地址 它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址 計(jì)算機(jī)通過(guò)CS : IP寄存器來(lái)控制指令序列的執(zhí)行流程 IP寄存器是一個(gè)專用寄存器,29,6、 標(biāo)志寄存器,標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式 8086處理器的各種標(biāo)志形成了一個(gè)16位的標(biāo)志寄存器FLAGS(程序狀態(tài)字PSW寄存器),程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài),30,標(biāo)志的分類,狀態(tài)標(biāo)志: CF ZF SF PF OF AF 控制標(biāo)志: DF IF TF,31,PSW(FLAG)有關(guān)位定

12、義,C進(jìn)位位 P奇偶標(biāo)志(結(jié)果低8位中1的個(gè)數(shù)) A半進(jìn)位標(biāo)志(低4位向高4位的進(jìn)位或借位) Z結(jié)果為零標(biāo)志 S結(jié)果符號(hào)位 T跟蹤標(biāo)志(單步運(yùn)行) I中斷允許標(biāo)志 D方向標(biāo)志 O溢出標(biāo)志,O,D,I,T,S,Z,A,P,C,32,進(jìn)位標(biāo)志CF(Carry Flag),當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置1,即CF = 1;否則CF = 0。,49H + 6DH0B6H, 01001001B 01101101B 010110110B 沒(méi)有進(jìn)位:CF = 0,0BBH + 6AH(1)25H, 10111011B 01101010B 100100101B 有進(jìn)位:CF

13、= 1,33,零標(biāo)志ZF(Zero Flag),若運(yùn)算結(jié)果為0,則ZF = 1; 否則ZF = 0,49H + 6DHB6H, 01001001B 01101101B 10110110B 結(jié)果不是零:ZF = 0,注意: ZF為1表示的結(jié)果是0,75H + 8BH(1)00H, 01110101B 10001011B 100000000B 結(jié)果是零:ZF = 1,CF1,34,符號(hào)標(biāo)志SF(Sign Flag),運(yùn)算結(jié)果最高位為1,則SF = 1;否則SF = 0,帶符號(hào)數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號(hào) 所以,最高有效位就是符號(hào)標(biāo)志的狀態(tài),字節(jié)操作時(shí),D7 =0, SF=0,結(jié)果為正; 字節(jié)操作

14、時(shí),D7 =1, SF=1,結(jié)果為負(fù); 字操作時(shí),D15 =0, SF=0,結(jié)果為正; 字操作時(shí),D15 =1, SF=1,結(jié)果為負(fù)。,最高位符號(hào)位SF,35,奇偶標(biāo)志PF(Parity Flag),當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為零或偶數(shù)時(shí),PF = 1;否則PF = 0,3AH + 7CHB6H 00111010B 01111100B 10110110B,PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位字操作,結(jié)果中有5個(gè)1,是奇?zhèn)€數(shù):PF = 0。 CF=0,SF=1,ZF0,36,溢出標(biāo)志OF(Overflow Flag),若算術(shù)運(yùn)算的結(jié)果有溢出, 則OF1;否則 OF

15、0,49H + 6DH B6H, 產(chǎn)生溢出:OF = 1 75H + 8BH (1)26H, 沒(méi)有溢出:OF = 0,CF=1,37,什么是溢出?,處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù) 8位表達(dá)的整數(shù)范圍是:-128+127 16位表達(dá)的范圍是:-32768+32767 如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出 有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確,49H6DHB6H,就是73109182, 已經(jīng)超出128127范圍,產(chǎn)生溢出,故OF1; 另一方面,補(bǔ)碼B6H表達(dá)真值是-74, 顯然運(yùn)算結(jié)果也不正確,38,溢出和進(jìn)位,溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志 進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范

16、圍,運(yùn)算結(jié)果仍然正確; 溢出標(biāo)志表示帶符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。,39,輔助進(jìn)位標(biāo)志AF(Auxiliary Carry Flag),49H + 6DH0B6H 01001001B +01101101B 10110110B D3 向上有進(jìn)位:AF = 1,運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF = 1;否則AF = 0。,這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算調(diào)整指令中,40,例1、將兩數(shù)相加,即0100 1100B加 0110 0101B,CF、PF、AF、ZF、SF、OF各為何值?,0100 1100B + 0110 0101B 1011 0001B

17、CF=0,PF=1,AF=1,ZF=0, SF=1, OF=1,41,方向標(biāo)志DF(Direction Flag),當(dāng)DF位為1時(shí),每次操作后使變址寄存器SI和DI減量,這樣就使串處理從高地址向低地址方向處理。當(dāng)DF為0時(shí),則使SI和DI增量,使串處理從低地址向高地址方向處理。 設(shè)置DF0,存儲(chǔ)器地址自動(dòng)增加; 設(shè)置DF1,存儲(chǔ)器地址自動(dòng)減少。,CLD指令復(fù)位方向標(biāo)志:DF0 STD指令置位方向標(biāo)志:DF1,42,中斷允許標(biāo)志IF(Interrupt-enable Flag),用于控制外部可屏蔽中斷是否可以被處理器響應(yīng): 設(shè)置IF1,則允許中斷; 設(shè)置IF0,則禁止中斷。,CLI指令復(fù)位中斷標(biāo)

18、志:IF0 STI指令置位中斷標(biāo)志:IF1,43,單步標(biāo)志TF(Trap Flag),用于控制處理器進(jìn)入單步操作方式: 設(shè)置TF0,處理器正常工作; 設(shè)置TF1,處理器單步執(zhí)行指令。,單步執(zhí)行指令處理器在每條指令執(zhí)行結(jié)束時(shí),便產(chǎn)生一個(gè)編號(hào)為1的內(nèi)部中斷 這種內(nèi)部中斷稱為單步中斷 所以TF也稱為單步標(biāo)志 利用單步中斷可對(duì)程序進(jìn)行逐條指令的調(diào)試 這種逐條指令調(diào)試程序的方法就是單步調(diào)試,44,復(fù)習(xí)上次課內(nèi)容,1、標(biāo)志狀態(tài)寄存器各位的含義。 2、存儲(chǔ)器功能。 3、物理地址和邏輯地址。 4、堆棧。,45,標(biāo)志的分類,狀態(tài)標(biāo)志: CF ZF SF PF OF AF 控制標(biāo)志: DF IF TF,46,3.

19、4 8086的存儲(chǔ)器組織,一、存儲(chǔ)器地址的分段,矛盾:存儲(chǔ)器地址空間1MB,20bit地址線;內(nèi)部各寄存器和數(shù)據(jù)總線均為16bit。,解決方法:將整個(gè)存儲(chǔ)器分為若干個(gè)邏輯段,每段內(nèi)地址16bit,即最多地址空間64KB。,允許各邏輯段在整個(gè)存儲(chǔ)空間浮動(dòng),段與段之間可以是連續(xù)的,也可以是分開(kāi)的或重疊的。,47,每個(gè)段的首地址稱為“段基址”, “段基址”必須能被16整除(XXXX0H)。,程序執(zhí)行前,分別對(duì)相應(yīng)的段寄存器CS,DS,SS,ES置“段基址”,若程序長(zhǎng)度大于64KB,則可通過(guò)對(duì)CS送新的“段基址”將程序轉(zhuǎn)移到新段中。,48,邏輯地址:允許在程序中編排的地址;,二、 20位物理地址的形成

20、,物理地址:信息在存儲(chǔ)器中實(shí)際存放的地址;,對(duì)給定的任一存儲(chǔ)單元,有兩部分邏輯地址: 段基址(段地址)由CS,DS,SS,ES決定 段內(nèi)偏移量(段內(nèi)有效地址)(該單元相對(duì)于段基址的距離),49,8086CPU有20條地址線 最大可尋址空間為2201MB 物理地址范圍從00000H0FFFFFH 8086CPU將1MB空間分成許多邏輯段(Segment) 每個(gè)段最大限制為64KB 段地址的低4位為0000B 這樣,一個(gè)存儲(chǔ)單元除具有一個(gè)唯一的物理地址外,還具有多個(gè)邏輯地址,50,三、物理地址和邏輯地址,對(duì)應(yīng)每個(gè)物理存儲(chǔ)單元都有一個(gè)唯一的20位編號(hào),就是物理地址,從00000H0FFFFFH。 分

21、段后在用戶編程時(shí),采用邏輯地址,其形式為: 段基地址 : 段內(nèi)偏移地址,分隔符,51,1、邏輯地址,段基地址說(shuō)明邏輯段在主存中的起始位置。 8086規(guī)定段地址必須是16的倍數(shù):xxxx0H。 省略低4位0000B,段地址就可以用16位二進(jìn)制數(shù)據(jù)表示,就能用16位段寄存器表達(dá)段地址。 偏移地址說(shuō)明主存單元距離段起始位置的偏移量。 每段不超過(guò)64KB,偏移地址也可用16位二進(jìn)制數(shù)據(jù)表示。,52,2、物理地址和邏輯地址的轉(zhuǎn)換,將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址 一個(gè)物理地址可以有多個(gè)邏輯地址,邏輯地址1460:100、1380:F00 物理地址14700H 14700H,

22、53,3、邏輯段的分配,54,堆棧是利用RAM區(qū)中某一指定區(qū)域(由用戶規(guī)定),用來(lái)暫存數(shù)據(jù)或地址的存儲(chǔ)區(qū)。 堆棧段是由段定義語(yǔ)句在內(nèi)存中定義的一個(gè)段,段基址由SS指定。,堆棧存取數(shù)據(jù)的原則是“先進(jìn)后出”,存取數(shù)據(jù)的方法是壓入(PUSH)和彈出(POP)。,堆棧區(qū)的棧底是固定的最高地址,其棧頂根據(jù)堆棧數(shù)據(jù)的壓入或取出的變化不斷改變。棧頂是堆棧區(qū)的最低地址,用堆棧指針SP指示。,每執(zhí)行一條PUSH指令, SP(SP)2,向堆棧壓入16bit數(shù)據(jù)。 每執(zhí)行一條POP指令,從堆棧彈出16bit數(shù)據(jù), SP(SP)2。,四、堆棧的概念,55,00FAH 00FBH 00FCH 00FDH 00FEH 0

23、0FFH 0100H,1、MOV SP,0100H 2、PUSH AX 3、PUSH BX 4、POP AX 5、POP BX,例:執(zhí)行壓棧和出棧的過(guò)程,56,時(shí)間:20119月5日(第三周周一) 本次課內(nèi)容: 1、8086/8088引腳功能。 2、最大最小模式。 3、時(shí)序。 本次課重點(diǎn): 1、基本引腳功能 2、最大最小組態(tài)的區(qū)別。 3、8088和8086的引腳區(qū)別。 4、時(shí)序的基本概念。,57,一、 8086的系統(tǒng)配置及引腳功能,8086CPU是16位處理器,采用40引腳的DIP(雙列直插)封裝。40條引腳信號(hào)按功能可分為4部分:地址總線,數(shù)據(jù)總線,控制總線以及其他(時(shí)鐘、電源)。,3.5

24、8086/8088總線和時(shí)序,58,非屏蔽中斷,可屏蔽中斷,最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式,讀信號(hào),總線保持請(qǐng)求信號(hào),總線保持相應(yīng)信號(hào),寫信號(hào),存儲(chǔ)器/IO控制信號(hào) M/IO=1,選中存儲(chǔ)器 M/IO=0,選中IO接口,數(shù)據(jù)發(fā)送/接收信號(hào) DT/R=1,發(fā)送 DT/R=0,接收,數(shù)據(jù)允許信號(hào),地址允許信號(hào),中斷相應(yīng)信號(hào),測(cè)試信號(hào):執(zhí)行WAIT指令, CPU處于空轉(zhuǎn)等待; TEST有效時(shí),結(jié)束等待狀態(tài)。,準(zhǔn)備好信號(hào):表示內(nèi)存 或I/O設(shè)備準(zhǔn)備好, 可以進(jìn)行數(shù)據(jù)傳輸。,復(fù)位信號(hào),59,1. 公共引腳 無(wú)論在最大模式或最小模式中,都共同使用的引腳 信號(hào)作為公共引

25、腳。 (1)AD15AD0(Address Data Bus) 這是分時(shí)復(fù)用的地址/數(shù)據(jù)總線。傳輸?shù)刂窌r(shí),三態(tài) 輸出;傳送數(shù)據(jù)時(shí),三態(tài)輸入/輸出。所謂三態(tài),除“0” 、 “1”兩種狀態(tài)外,還有一種浮空(高阻)狀態(tài);通常采用 三態(tài)門進(jìn)行控制。 (2)A19 /S6A16 /S3( Address / Status ) 為分時(shí)復(fù)用的地址/狀態(tài)線(三態(tài)、輸出)。 (3)BHE/ S7(Bus High Enable /Status ) 高8位數(shù)據(jù)總線有效/狀態(tài)復(fù)用引腳,三態(tài),輸出。,60,(4)RD(Read) 讀信號(hào),三態(tài)輸出,低電平有效。當(dāng)0時(shí),表示 CPU當(dāng)前正在讀存儲(chǔ)器或I/O接口。 (5)

26、READY 準(zhǔn)備就緒信號(hào),輸入,高電平有效。 (6)TEST 測(cè)試信號(hào),輸入,低電平有效。 (7)INTR(Interrupt Request) 可屏蔽中斷請(qǐng)求,輸入,高電平有效。當(dāng)INTR1 時(shí),表示外設(shè)向CPU提出中斷請(qǐng)求,若此時(shí)中斷允許標(biāo) 志IF1,則CPU響應(yīng)中斷,暫停正在執(zhí)行的程序,轉(zhuǎn)去 執(zhí)行中斷服務(wù)程序。,61,(8)NMI(Non-Maskable Interrupt Request) 非屏蔽中斷請(qǐng)求,輸入,上升沿有效。它不受中斷 允許標(biāo)志IF的影響,只要NMI出現(xiàn),CPU就會(huì)在結(jié)束當(dāng) 前指令后,進(jìn)入相應(yīng)的中斷服務(wù)程序。 (9)RESET 復(fù)位信號(hào),輸入,高電平有效。 (10)C

27、LK(Clock) 時(shí)鐘輸入。 (11)Vcc和GND 電源和地線,電源Vcc5V,有兩條地線。,62,特點(diǎn):系統(tǒng)中存儲(chǔ)器芯片,I/O芯片不多; 地址總線由AD0AD15,A16/ S3 A19/ S6通過(guò)8282鎖存器構(gòu)成; 數(shù)據(jù)總線直接由AD0AD15構(gòu)成(也可加總線驅(qū)動(dòng)8286); 控制總線由CPU的控制線提供,構(gòu)成一小型、單處理機(jī)系統(tǒng)。,系統(tǒng)中只有8086一個(gè)微處理器,所有的總線控制信號(hào)均為8086產(chǎn)生,系統(tǒng)中的總線控制邏輯電路,減少到最少。,63,8284,8282,存儲(chǔ)器,8286,I/O接口,Vcc,Vcc,CLK,MN/MX,RD,WR,IO/M,ALE,AD,0,-AD,15

28、,DT/R,DEN,INTA,INTR,READY,RESET,8086,CPU,STB,T,OE,數(shù)據(jù)總線,地址總線,OE,8086最小組態(tài)系統(tǒng)配置圖,時(shí)鐘 發(fā)生器,在最小模式系統(tǒng)中,還需加入: 1片8284A 3片8282/8283 2片8286/ 8287,64,(1)HOLD(Hold Request) 總線請(qǐng)求信號(hào),輸入,高電平有效。 (2)HLDA (Hold Acknowledge) 總線請(qǐng)求響應(yīng)信號(hào),輸出,高電平有效。 (3)WR(Write ) 寫信號(hào),輸出,三態(tài),低電平有效。 (4)M/IO(Memory/IO) 存儲(chǔ)器或I/O接口訪問(wèn)信號(hào),三態(tài)輸出。,8086 CPU最小

29、模式控制信號(hào)引腳,65,(5)DT/R(Data Transmit/Receive) 數(shù)據(jù)發(fā)送/ 接收控制信號(hào),三態(tài),輸出。 (6)DEN(Data Enable) 數(shù)據(jù)允許信號(hào),三態(tài)輸出,低電平有效。 (7)ALE(Address Latch Enable) 地址鎖存允許信號(hào),輸出,高電平有效。 (8)INTA(Interrupt Acknowledge) 中斷響應(yīng)信號(hào),輸出,低電平有效。 INTA 0時(shí),表 示CPU響應(yīng)了外設(shè)發(fā)來(lái)的中斷請(qǐng)求信號(hào)INTR。,66,特點(diǎn): 系統(tǒng)控制信號(hào)由總線控制器8288提供, 用于多處理機(jī)和協(xié)處理機(jī)結(jié)構(gòu)中。,8288為總線控制器,輸入8086的總線狀態(tài)信號(hào),

30、輸出總線命令和控制信號(hào)。,8089為總線裁決器,用于裁決哪個(gè)處理器擁有對(duì)總線的使用權(quán)。,用于大型(中型)8086/8088系統(tǒng)中。系統(tǒng)總是包含有兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是8086或8088,其它的處理器稱協(xié)處理器,協(xié)助主處理器工作。,67,8086最大組態(tài)系統(tǒng)配置圖,68,8086 CPU最大模式控制信號(hào)引腳,(1)S2、S1、S0(Bus Cycle Status) 總線周期狀態(tài),三態(tài)輸出。 (2)LOCK 總線封鎖信號(hào),三態(tài)輸出,低電平有效。 (3)RQ/GT1,RQ/GT0(Request/Grant) 總線請(qǐng)求/總線請(qǐng)求允許信號(hào),雙向,低電平有效。 (4)QS1、QS0(

31、Instruction Queue Status) 指令隊(duì)列狀態(tài)信號(hào),輸出。,69,非屏蔽中斷,可屏蔽中斷,最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式,讀信號(hào),總線保持請(qǐng)求信號(hào),總線保持相應(yīng)信號(hào),寫信號(hào),存儲(chǔ)器/IO控制信號(hào) M/IO=0,選中存儲(chǔ)器 M/IO=1,選中IO接口,數(shù)據(jù)發(fā)送/接收信號(hào) DT/R=1,發(fā)送 DT/R=0,接收,數(shù)據(jù)允許信號(hào),地址允許信號(hào),中斷相應(yīng)信號(hào),測(cè)試信號(hào):執(zhí)行WAIT指令, CPU處于空轉(zhuǎn)等待; TEST有效時(shí),結(jié)束等待狀態(tài)。,準(zhǔn)備好信號(hào):表示內(nèi)存 或I/O設(shè)備準(zhǔn)備好, 可以進(jìn)行數(shù)據(jù)傳輸。,復(fù)位信號(hào),70,二、 8088的引腳與808

32、6的不同之處,* 8088的指令隊(duì)列長(zhǎng)度為4個(gè)字節(jié),隊(duì)列中出現(xiàn)1個(gè)空閑字節(jié)時(shí),BIU自動(dòng)訪問(wèn)存儲(chǔ)器取指補(bǔ)充指令隊(duì)列; *8088的地址/數(shù)據(jù)復(fù)用線為8條,即AD7AD0,訪問(wèn)1個(gè)字需兩個(gè)讀寫周期; * 8088 中的存儲(chǔ)器/IO控制線為 IO /M ,與8086相反; * 8086的引腳BHE/S7在8088中為SS0 ,與DT/ R、IO/M一起決定最小模式中的總線周期操作。,71,三、 BHE 的功能,8086存儲(chǔ)器劃分為多個(gè)存儲(chǔ)單元,通常 每個(gè)單元的大小是一個(gè)字節(jié),每個(gè)單元有一個(gè)地址。 存儲(chǔ)器是按字節(jié)組成的,兩個(gè)相鄰的字節(jié)定 義為一個(gè)字。在一個(gè)字中每個(gè)字節(jié)有一個(gè)地址。 每一個(gè)字的低字節(jié)(

33、低8位)存放在低地址中,高 字節(jié)(高8位)存放在高地址中,并以低字節(jié)的地 址作為字的地址. 8086允許字以任何地址開(kāi)始存放。,72,00000,00001,00002,00003,00004,00005,00006,00007,FFFFE,FFFFF,0A,43,30,4B,非對(duì)準(zhǔn)字,對(duì)準(zhǔn)字,如果一個(gè)字是從偶地址開(kāi)始存放,這種存放方式稱 為對(duì)準(zhǔn)存放,這樣存放的字稱為對(duì)準(zhǔn)字。如果一個(gè)字從 奇地址開(kāi)始存放,這種存放方式稱非對(duì)準(zhǔn)存放,這樣存 放的字稱為非對(duì)準(zhǔn)字。,73,在8086系統(tǒng)中,存儲(chǔ)器采用分體結(jié)構(gòu),即1MB的存 儲(chǔ)空間分成兩個(gè)512KB的存儲(chǔ)體,一個(gè)存儲(chǔ)體中包含偶 數(shù)地址,另一個(gè)存儲(chǔ)體包含

34、奇數(shù)地址。如下圖所示。,0,7,8,15,00001,00003,00005,00000,00002,00004,220-1=FFFFF,220-2=FFFFE,512K8(位),512K8(位),奇地址 存儲(chǔ)體,偶地址 存儲(chǔ)體,(A0=1),(A0=0),74,當(dāng)BHE有效時(shí),選定奇地址存儲(chǔ)體,體內(nèi)地 址由A19A1確定。當(dāng)A0=0時(shí),選定偶地址存儲(chǔ) 體,體內(nèi)地址同樣由A19A1確定。 值得注意的是偶地址存儲(chǔ)體固定與低8位數(shù)據(jù) 總線D7D0相連,故又可稱它為低字節(jié)存儲(chǔ)體;奇地 址存儲(chǔ)體固定與高8位數(shù)據(jù)總線D15D8相連,故又 可稱它為高字節(jié)存儲(chǔ)體。 BHE和A0互相配合,使CPU可以訪問(wèn)兩個(gè)

35、存儲(chǔ) 體中的一個(gè)字。,75,76,二、 8086/8088的操作和時(shí)序,通過(guò)RETSET引腿上的觸發(fā)信號(hào)來(lái)執(zhí)行。 標(biāo)志寄存器Flag : 清零 指令指針(IP): 0000H CS : 0FFFFH DS、ES、SS : 0000H 指令隊(duì)列 : 空 其它寄存器 : 0000H,(一)、系統(tǒng)復(fù)位與啟動(dòng),77,CPU的啟動(dòng)狀態(tài),(1)、系統(tǒng)開(kāi)機(jī)時(shí),送一個(gè)脈沖到復(fù)位線。 (2)、按下RESET鍵,送一個(gè)脈沖到復(fù)位線 CPU啟動(dòng)后: 標(biāo)志寄存器、IP、CS、ES、SS、DS和指 令隊(duì)列清零 CS置為0FFFFH。,思考:CPU復(fù)位后,第一條指令的物理地址是?,78,復(fù)位后,第一條指令的地址:CS左移四位為0FFFF0H 物理地址為

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論