微機接口優秀_第1頁
微機接口優秀_第2頁
微機接口優秀_第3頁
微機接口優秀_第4頁
微機接口優秀_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章 微型計算機中的數制與編碼(自學)作業1:1.11.52.22.42.61微機接口優秀微機接口優秀3.1 8086微處理器的結構3.2 8086的引腳信號及工作模式3.3 8088微處理器本章內容微機接口優秀 8086是Intel系列的16bit微處理器,屬第三代。 8086有16bit數據總線和20bit地址線,可尋址1M空間。 8086采用+5V電源,時鐘頻率為510MHZ。二.總體功能結構三. 寄存器結構一.存儲器管理3.1 8086微處理器的結構4微機接口優秀一. 8086存儲器管理1.數據存放規律:如:2233H00012H“低對低,高對高”的存放規律如:-4 00014H機器

2、指令(機器碼)按字節順序存放。如:MOV BX,AX 89C3H00016H字符串:從低地址開始,以ASCII碼值順序存放,如:ABC00018H字節數據:一個數存放一個單元,如: 11H00011H字數據:用二個連續單元存放,字地址由2個單元中地址較小的一個確定。5微機接口優秀 8086采用分段管理的辦法實現對1MB存儲空間的管理(物理地址00000HFFFFFH),16bit的段寄存器存放了各段的段首址,那么它是怎樣產生20bit的物理地址的呢?我們通常采用在地址編號能被16整除的地方開始分段,此時地址的低4bit均為0,這時段寄存器只用來存放高16bit即可,以下有幾個概念。2.存儲器的

3、分段與物理地址的形成:6微機接口優秀 段內偏移量EA (Effective Address):是指某存儲單元離開該段段首址的字節數。 邏輯地址(Logical Address) :是一對地址,包含段寄存器的內容和段內偏移量,如某條指令的邏輯地址可表達為:CS : IP。 物理地址PA (Physical Address): 是指某個存儲單元實際的20bit的地址,又稱絕對地址。7微機接口優秀由上面的定義可知:物理地址PA=對應段寄存器10H十段內偏移量EA。物理地址的形成如下圖所示。物理地址的形成 段寄存器值 000020位物理地址19 015 015 0偏移地址加法器16 位 4位 8微機接

4、口優秀例如:若CS=FFFFH,IP=0000H,則指令所在存儲單元的物理地址為:PA= (CS) 10H + IP = FFFF0H 當取指令時,自動選擇的段寄存器是CS,再加上IP所決定的16位偏移量,得到要取出指令具體的物理地址: 當涉及到取一個堆棧操作數時,自動選擇的段寄存器是SS,再加上SP所決定的16位偏移量,得到堆棧操作所需要的20位物理地址。9微機接口優秀 當涉及到取一個操作數時,自動選擇DS數據段寄存器或ES附加段寄存器,再加上16位偏移量,得到操作數的20位物理地址。16位偏移量取決于指令的尋址方式。如下圖所示:IPCSSI,DI或BXDS或ESSP或BPSS代碼段數據段堆

5、棧段10微機接口優秀20位AH ALBH BLCH CLDH DLSPBPDISIALU暫存寄存器標志執行部件控制電路16位CS DS SS ESIP 內部暫存器8位1 2 3 4 5 6執行部件 (EU) 總線控制邏輯16位 外部總線 指令隊列緩沖器總線接口部件(BIU)通用寄存器地址加法器二. 總體功能結構8086CPU的結構框圖11微機接口優秀8086從功能結構來講,分為兩大部分,即總線接口部件BIU(Bus Interface Unit )和執行部件EU(Execution Unit)。1. BIU部件由段寄存器、指令指針、地址加法器、指令隊列緩沖器和控制電路等部分組成。12微機接口優

6、秀BIU負責與存儲器、I/O接口電路傳送信息。 BIU負責從指定內存單元取出指令,送到指令隊列緩沖器中排隊。 指令隊列緩沖器是一個6個字節的RAM存儲器(8088為4個字節),隊列中最多可同時存放6個字節的指令,取來的指令是按字節順序存放的。 當隊列中有兩個以上的指令字節空的時候,BIU會自動取指令到指令隊列。13微機接口優秀 若執行的是一條轉移指令,則存放在指令隊列緩沖器中的指令就沒有用了,應到新的地址單元去取出。BIU新取出的第一條指令將直接送到EU中去執行,隨后重新填充指令隊列緩沖器。 當指令要求將數據寫到存儲器和I/O電路,或需從存儲器和I/O電路中讀取數據時,EU向BIU發出請求,B

7、IU自動完成這些操作。2. EU部件 由ALU、通用寄存器、標志寄存器和控制電路組成,負責指令的執行。ALU、寄存器和數據傳輸通路均是16bit的。14微機接口優秀3. 8086與傳統微處理器指令執行過程比較 傳統微處理器的執行方式傳統微處理器取指與執行串行進行,CPU的工作效率低。15微機接口優秀8086CPU取指與執行并行進行,大大減少了等待取指令所需時間,提高了CPU的工作效率。 8086微處理器的執行方式16微機接口優秀三. 寄存器結構8086CPU 內部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI數據寄存器CSDSSSESIPFLAG變址寄存器

8、指針寄存器堆棧指針基址指針源變址目的變址指令指針狀態標志代碼段數據段堆棧段附加段段寄存器控制寄存器微機接口優秀(1) 通用寄存器8個16bit通用寄存器。 SP堆棧指針,存放堆棧棧頂的現行地址,與SS堆棧段寄存器一起方可確定堆棧的實際地址。 BP基址指針 SI源變址寄存器 AX,BX,CX,DX 4個16bit的通用數據寄存器,它們的高8bit AH,BH,CH,DH與低8bit AL,BL,CL,DL又可分別看成8個8bit的寄存器。 DI目的變址寄存器18微機接口優秀(2) 控制寄存器 IP (Instruction Pointer) 指令指針a. IP是指向當前將要執行的指令的16位偏移

9、地址,在8086中IP要與CS代碼段寄存器的內容一起,才能得到指令的實際地址 。b. CPU從代碼段中偏移地址為IP的內存單元中取出指令代碼的一個字節后,IP自動加1修正,指向指令下一個單元。用戶不能直接訪問IP。c. 遇到轉移、中斷、調用等跳轉指令時,IP中的內容將自動修改。19微機接口優秀TFSFZFAFPFOFDFIFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 標志寄存器格式a. 6個狀態標志位,即CF、PF、AF、ZF、SF和 OF,可作為控制轉移的條件。 進位標志CF(Carry Flag): FLAG(標志寄存器)為16bit,其中9位有定義 當

10、結果的最高位(字節D7,字D15)產生進位(加法運算)或借位(減法運算)時,CF=1;否則,CF=0,移位和循環指令也影響CF。如:3FH+0B4H 0BFH+0B4HCF=0CF=120微機接口優秀 奇偶標志位PF(Parity Flag): 若結果中的低8位含有“1” 的個數為偶數,則PF=1;否則,PF=0。 輔助進位標志AF(Auxitiary Carry Flag): 在運算過程中若D3位有進位或借位時AF=1;否則,AF=0。該標志用于BCD運算中的十進制調整。如:38H+49H AF=1 ,若為BCD運算,則應調整。21微機接口優秀 零標志ZF(Zero Flag): 當運算結果

11、為0時ZF=1;否則,ZF=0。 符號標志SF(Sign Flag): SF等于最高位,對于帶符號數,最高位為符號位,SF=1運算結果為負,SF=0為正。如:3FH+0B4H=0F3H SF=1 ,結果為負。22微機接口優秀溢出標志OF(Overflow Flag): 帶符號數運算結果超出其表達范圍時(字節數:-128+127,字類型數:-32768+32767), OF=1;否則, OF=0。用表達式給出(字節運算)(字運算)例: 2345H+3219H 6400H+7A3CHOF=0 未溢出OF=1 溢出23微機接口優秀 b. 3個控制標志位 追蹤標志TF(Trace Flag): TF=

12、1,處理器進入單步方式,以便調試,CPU每執行一條指令自動產生一個內部中斷以利于檢查指令的執行情況;TF=0為連續工作方式。中斷允許標志IF(Interrupt-enable Flag):IF=1,允許CPU響應外部的可屏蔽中斷請求;IF=0則禁止響應。IF對外部非屏蔽中斷及內部中斷不起作用。 方向標志DF(Direction Flag): 在串操作指令中,DF=0時,變址指針自動增量;DF=1時,則自動減量。24微機接口優秀(3) 段寄存器CS代碼段寄存器,用于定義代碼段基地址,該段用于存放指令代碼。DS數據段寄存器,用于定義數據段基地址,該段用于存放數據。有4個16bit的段寄存器25微機

13、接口優秀SS堆棧段寄存器,用于定義堆棧段基地址,該段作堆棧區使用。ES附加數據段,用于定義附加段基地址,與DS類似。 上述4個段在8086尋址的1MB空間內,其位置不受限制,可連續排列、分隔排列、部分重疊甚致全部重疊。26微機接口優秀8088的指令執行過程27微機接口優秀3.2 8086的引腳信號及工作模式 最小模式:即由8086組成的單處理器系統,所有的控制信號都由8086的CPU直接產生,系統中的總線控制邏輯電路被減到最少。 最大模式:即由8086組成的中等規模或者大型的系統。包含兩個或多個微處理器,8086為主處理器,其它的為協處理器。一、8086的兩種工作模式模式控制管腳MN/MX:+

14、5V 工作于最小模式 接地 工作于最大模式28微機接口優秀 8086采用雙列直插式封裝,有40個引腳(如右圖所示),但總線信號數量卻大于40,故8086采用了分時復用技術,部分引腳傳送兩種總線信號。二、8086引腳圖12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/ S3A17/ S4A18/ S5A19/ S6BHE/ S7MN/MXRDHOLD (

15、RQ/GT0)HLDA (RQ/GT1)WR (LOCK)M/IO (S2)DT/R (S1)DEN (S0)ALE (QS0)INTA (QS1)TESTREADYRESET8086CPU8086的引腳信號注:括號內為該引腳在最大模式下的名稱29微機接口優秀1. 最小模式下引腳信號及功能:(2) 地址/數據總線AD15AD0(雙向、三態) 在一個總線周期的第一個時鐘周期用于傳送低16bit地址信息,并用地址鎖存器鎖存以免丟失, 其它時鐘周期可用于傳送數據信息,分時傳送。當8086執行中斷響應周期、保持響應周期時,這些引腳處于高阻狀態。(1) GND,VCC(輸入):電源管腳30微機接口優秀(

16、3) 地址/狀態信號線A19/S6A16/S3(輸出、三態) 在總線周期的第一個時鐘周期(T1)用于輸出地址信號的最高4bit并鎖存。 其它時鐘周期中用來輸出狀態信號S6S3,其中:S6低電平,表示8086當前與總線相連。S5表示標志寄存器中“中斷允許位”的狀態(IF)。S4, S3的組合指出了分段情況。如下表所示。31微機接口優秀 S4和S3的組合提供的分段信息表S4S3意 義00110101當前正在使用ES附加段當前正在使用SS堆棧段當前正在使用CS或者未使用任何段寄存器當前正在使用DS數據段 當CPU處于“保持響應”狀態時,A19/S6A16/S3置為高阻狀態。 若執行I/O指令,則由于

17、8086只訪問64K個端口,在T1周期這4個引腳為低電平。微機接口優秀(4) BHE/S7高8位數據總線允許/狀態線(輸出, 三態) 在T1狀態,該引腳輸出BHE信號,表示高8位數據總線AD15AD8上的數據是否有效,與地址線A0一起表示當前總線使用情況。 在其它時鐘周期,輸出為狀態信號S7。但8086芯片, S7未定義。BHEAD0總線使用情況0016位數據總線上進行字傳送01高8位數據總線上進行字節傳送10低8位數據總線上進行字節傳送11無效33微機接口優秀(5) NMI非屏蔽中斷請求信號 (輸入)邊沿觸發,該線上的中斷請求信號不能用軟件屏蔽,電平由低到高,便在當前指令結束后引起中斷。(6

18、) INTR可屏蔽中斷請求信號 (輸入)高電平有效,8086在每一個指令周期的最后一個T狀態采樣這條線,若為有效,且IF=1,則8086在執行完當前指令即轉入中斷響應周期。34微機接口優秀(7) CLK系統時鐘輸入信號 時鐘信號為CPU和總線控制邏輯電路提供定時脈沖。常用INTEL8284A時鐘發生器提供CLK信號。(8) RD讀信號 (輸出,三態)低電平有效。表示將對內存或I/O端口讀操作。由M/IO信號決定是對存儲器讀還是對I/O端口讀。35微機接口優秀(9) RESET系統復位信號 (輸入)高電平有效,高電平維持4個時鐘周期以上時,8086立即結束現行操作,進入內部復位狀態,CPU各內部

19、寄存器被設置為初值:CS=0FFFFH,FR、IP、DS、ES、SS及其它寄存器均初始化為0000H。(10) READY準備就緒信號 (輸入)高電平有效,是從所尋址的存儲器或I/O電路來的響應信號,用于解決CPU與慢速存儲器或I/O電路的同步問題。36微機接口優秀(12) MN/MX最小/最大模式控制信息低電平 8086處于最大模式。高電平 8086處于最小模式。 低電平有效。與WAIT等待指令結合使用,當CPU執行WAIT指令時,CPU處于空轉狀態進行等待直到檢測到TEST信號有效時結束,CPU繼續往下執行指令。(11) TEST測試信號 (輸入)37微機接口優秀(13) M/IO,存儲器

20、/輸入輸出操作選擇信號 (輸出,三態)區分CPU進行的是存儲器還是I/O訪問,見下表。RDM/IO操 作1000讀存儲器數據讀I / O端口數據 RD與 M/IO的組合及對應的操作表38微機接口優秀(14) DEN數據允許信號(輸出,三態)外接數據總線收發器8286/8287的選通信號,低電平有效。(15) DT/ R數據收發控制信號 (輸出、三態)DT/R即為8086輸出給數據總線收發器的控制信號。 DT/R高電平,8086發送數據; DT/R低電平,8086接收數據。39微機接口優秀(16) WR寫信號 (輸出,三態)1000CPU對存儲器進行寫操作CPU對I/O端口進行寫操作 WR與 M

21、/IO 的組合及對應的操作表操 作WRM/IO低電平有效。WR與M/IO的組合對應的操作如下表所示。40微機接口優秀(17) INTA中斷響應信號 (輸出,三態)低電平有效,CPU響應外部可屏蔽中斷請求以后,便發出中斷響應信號,作為對中斷請求的回答。(18) ALE地址鎖存允許信號 (輸出)高電平有效,此信號在T1狀態有效,為地址碼鎖存的選通信號,送地址鎖存器。41微機接口優秀 高電平有效。系統中其他的總線主設備要獲得對總線的控制權時,向8086發出高電平的HOLD信號。(19) HOLD保持請求信號 (輸入)(20) HLDA保持響應信號 (輸出) 高電平有效。當CPU響應保持請求HOLD時

22、,便發出HLDA高電平的應答信號,從而將總線控制權讓給發出保持請求的設備。42微機接口優秀8086最小模式系統43微機接口優秀1片時鐘發生器8284A8086最小模式系統硬件組成: 8284A為系統提供符合要求的CLK時鐘信號和準備好信號READY和復位信號RESET。8284A和振蕩源之間有以下兩種不同的連接方式:脈沖發生器做振蕩源晶體振蕩器做振蕩源 無論采用哪種方法,8284A輸出的時鐘頻率均為振蕩源頻率的1/3。44微機接口優秀3片地址鎖存器8282(8283)或74LS373 8282是帶有三態緩沖器的8位通用數據鎖存器,功能是鎖存CPU發出的動態地址。為何需要3片地址鎖存器?思考:4

23、5微機接口優秀2片總線收發器8286/8287 當系統中所連存儲器和外設較多時,需要通過總線收發器增強數據總線的驅動能力。為何需要2片總線收發器?思考:46微機接口優秀2. 最大模式下引腳信號及功能 若將8086的MN/MX引腳接地便工作在最大模式。此時僅2431引腳信號與最小模式不同,如下表所示。引腳編號最小模式最大模式2425262728293031QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0INTAALEDENDT/RM/IOWRHLDAHOLD 兩種模式下8086的2431引腳信號表微機接口優秀在最大模式下,這三個信號組合起來指出當前總線周期所進行的操作類型,見下表。 2,

24、 1和 0編碼與總線周期表發中斷響應信號讀I/O端口寫I/O端口暫停取指令讀存儲器寫存儲器 無源狀態010101010000111100110011S總線周期2S10S(21) S2,S1,S0總線周期狀態信號 (輸出、三態)48微機接口優秀(22) RQ/GT1和RQ/GT0總線請求/允許信號 (雙向)在最大模式下,用于8086CPU與其它協處理器之間交換總線使用權,和最小模式下的HOLD及HLDA類同。RQ/GT1和RQ/GT0是兩個同類型的信號,表示可以同時連接兩個協處理器,其中RQ/GT0優先級較高。49微機接口優秀(23) LOCK總線封鎖信號 (輸出,三態)此信號有效時,系統中其他

25、總線主部件不能占有總線。這個信號由軟件設置,當在指令前加上LOCK前綴時,則在執行這條指令期間,LOCK保持低電平,該條指令執行完畢后LOCK引腳變為高電平。另外8086在兩個中斷響應周期之間,LOCK信號也自動變為有效電平,以防一個完整的中斷響應被其它部件占有總線而間斷。50微機接口優秀(24) QS1和QS0指令隊列狀態信號 (輸出)QS1和QS0編碼與隊列狀態表QS1QS0 隊列狀態00110101空操作取走指令的第一個字節隊列空從隊列里取出的字節是指令的后續字節51微機接口優秀8086在最大模式下的典型配置8086CPU時鐘發生器(8284A)8288CLKDENALEMN / MXS

26、TBOEOETIORCIOWC數據總線MRDCMWTCBHE8282382862CLKREADYRESETBHES0S1S2S0S1S2DT/RA19A0D15D0INTAA19A16AD15AD0 1READYRESET總線控制器地址總線微機接口優秀1片總線控制器82888086最大模式系統硬件組成:局部總線方式(IOB高電平)系統總線方式(IOB低電平)8288有兩種工作方式,由IOB引腳選擇: 8086CPU工作于最大模式時,不直接產生總線控制信號,而是在每個總線周期開始之前輸出狀態信息S2、S1和S0,用于指示該總線周期的操作類型。8288用來對S2、S1和S0譯碼,產生相應的總線命令

27、和控制信號。53微機接口優秀三、8086系統中的堆棧1. 堆棧的定義堆棧是存儲器中的一個特殊數據區,其功能是按“后進先出”的原則存放需要暫時保存的數據。存放信息的最后一個單元叫做棧頂,用堆棧指針SP(Stack Pointer)指示。54微機接口優秀堆棧段起始地址棧底及初始棧頂 地址 存儲單元10200H10202H10204H10206H10208H1020AH1020CH10230H 00 11 SS 10 20SP初值 00 30堆棧的初始化55微機接口優秀入棧操作棧頂PUSH AX 12 34PUSH BX 1A B110200H10202H10204H10206H10208H1022CH1022EH10230H 00 11 SS 10 20 SP 00 30棧底00 2E00 30堆棧段的起始地址34 12B1 1A00 2E00 2C56微機接口優秀出棧操作棧頂POP AXPOP BX10200H10202H10204H10206H10208H1022CH B1 1A1022EH 34 1210230H 00 11 SS 10 20 SP 00 2C(棧底)堆棧段起始地址00 2E00 30 1A B1 12 3457微機接口優秀2. 堆棧操作無

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論