微型計算機原理與應用課件.ppt_第1頁
微型計算機原理與應用課件.ppt_第2頁
微型計算機原理與應用課件.ppt_第3頁
微型計算機原理與應用課件.ppt_第4頁
微型計算機原理與應用課件.ppt_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本教案內(nèi)容,第2章 8086CPU結(jié)構(gòu)與功能 微處理器的外部結(jié)構(gòu) 微處理器的內(nèi)部結(jié)構(gòu) 微處理器的功能結(jié)構(gòu) 微處理器的寄存器組織 微處理器的存儲器和I/O組成,8086/8088 CPU內(nèi)部共有14個16位寄存器,用于提供運算,控制指令執(zhí)行和對指令及操作數(shù)尋址。掌握每個寄存器的作用以及用法,是學好 匯編語言程序設(shè)計的基礎(chǔ)。,14個寄存器按其用途可分為三大類:,通用寄存器(8個),段寄存器 (4個),控制寄存器(2個),2.4 微處理器的寄存器組織,一.通用寄存器(8個),8個16位通用寄存器分為兩組:,地址指針和變址寄存器(個),數(shù)據(jù)寄存器(4個),2.4 微處理器的寄存器組織,存放數(shù)據(jù),16位,8位,DX,DL,DH,CX,CL,CH,BX,BL,BH,AX,AL,AH,累加器Accumulator,基址寄存器(地址寄存器) Base Register,計數(shù)器Count Register,數(shù)據(jù)寄存器Data Register,1.數(shù)據(jù)寄存器(4個),2.4 微處理器的寄存器組織,2.地址指針和變址寄存器(個),均為16位,也能存放數(shù)據(jù),均為地址寄存器,DI,SI,BP,SP,堆棧指針寄存器Stack Pointer,基址指針寄存器Base Pointer,源變址寄存器Source Index,目的變址寄存器Destination Index,2.4 微處理器的寄存器組織,二.段寄存器,堆棧信息,數(shù)據(jù)(數(shù)值、字符等),代碼(指令碼),在微機系統(tǒng)的內(nèi)存中通常存放著三類信息:,指示CPU執(zhí)行何種操作。,程序處理的對象或結(jié)果。,被保存的返回地址和中間結(jié)果等。,代碼段 數(shù)據(jù)段 堆棧段,2.4 微處理器的寄存器組織,有個段寄存器。 分別是:,SS,ES,DS,CS,代碼段寄存器。指向當前的代碼段,指令由此段取出。Code Segment,數(shù)據(jù)段寄存器。指向當前的數(shù)據(jù)段。Data Segment,附加數(shù)據(jù)段寄存器。指向當前的附加數(shù)據(jù)段。Extra Segment,堆棧段寄存器。指向當前的堆棧段。Stack Segment,16位,2.4 微處理器的寄存器組織,指令指針寄存器相當于一般微處理器中的程序計數(shù)器(PC:Program Counter )。 它始終指向CPU下一條要取指令所在存貯器單元的偏移地址(段地址由CS提供)。 用戶不能更改IP的值,只有CPU執(zhí)行轉(zhuǎn)移指令,子程序調(diào)用指令和子程序返回指令以及中斷處理時,IP才作相應的改變。,四.控制寄存器(2個),1.指令指針寄存器(IP:Instruction Pointer )(16位),2.4 微處理器的寄存器組織,標志寄存器相當于一般微處理器中的程序狀態(tài)字寄存器(PSW)。16位,但有用的只有9位,其中:,2.標志寄存器(FLAG),狀態(tài)標志:CF,PF,AF,ZF,SF,OF,共6位,控制標志:TF,IF,DF,共3位,如下圖所示:,2.4 微處理器的寄存器組織,CF(Carry Flag)進位標志。如果加法時最高位(對字節(jié)操作是D7位,對字操作是D15位)產(chǎn)生進位或減法時最高位產(chǎn)生錯位,則CF=1,否則CF=0。,狀 態(tài) 標 志,反映的是ALU運算后結(jié)果的狀態(tài),AF(Auxiliary Carry Flag)輔助進位標志。如果在加法時D3位有進位或減法時D3位有借位,則AF=1,否則AF=0。這個標志位用于實現(xiàn)BCD碼算術(shù)運算結(jié)果的調(diào)整。,2.4 微處理器的寄存器組織,ZF(Zero Flag)零標志位。 如果運算結(jié)果各位都為零,則ZF=1,否則ZF=0。,SF(Sign Flag)符號標志。 它總是和結(jié)果的最高位(字節(jié)操作時是D7,字操作時是D15)相同,因為在補碼運算時最高位是符號位,所以運算結(jié)果為負時,SF=1,否則SF=0.,2.4 微處理器的寄存器組織,OF(Overflow Flag)溢出標志。 在加或減運算中結(jié)果超出8位或者16位有符號數(shù)所能表示的數(shù)值范圍(-128 +127或-32768 +32767)時,產(chǎn)生溢出,OF=1,否則OF=0。,PF(Parity Flag)奇偶標志。如果操作結(jié)果的低8位中含有偶數(shù)個1,PF=1,否則PF=0。,2.4 微處理器的寄存器組織,例1:若CPU執(zhí)行5439H+476AH加法運算指令:,那么,指令執(zhí)行后有: SF=1,ZF=0,PF=1,AF=1,CF=0,OF=1,0101 0100 0011 1001B,0100 0111 0110 1010B,1001 1011 1010 0011B,+,2.4 微處理器的寄存器組織,例2:若CPU執(zhí)行543AH-FE00H減法運算指令;,那么,指令執(zhí)行后有: SF=0,ZF=0,PF=1,AF=0,CF=1,OF=0,0101 0100 0011 1010B,1111 1110 0000 0000B,0101 0110 0011 1010B,-,2.4 微處理器的寄存器組織,控 制 標 志,用來控制CPU的操作特征(運行狀態(tài)),DF(Direction Flag) 方向控制標志。 可由指令置1/清0,CLD;DF=0,在進行字符串操作時,CPU每執(zhí)行一條串操作指令,對源或(與)目的操作數(shù)的地址會自動進行一次調(diào)整,其調(diào)整準則為,0,自動遞增。,STD;DF=1,DF=,1,自動遞減。,2.4 微處理器的寄存器組織,IF(Interrupt Enable Flag),CLI;IF=0,CPU處于關(guān)中斷狀態(tài)。,1時,CPU能響應外部可屏蔽中斷請求;,當IF=,IF對外部非可屏蔽中斷請求以及CPU內(nèi)部的中斷不起作用.,可由指令置1/清0:,外部可屏蔽中斷允許標志。,STI;IF=1,CPU處于開中斷狀態(tài)。,0時,CPU不能響應外部可屏蔽中斷請求。,2.4 微處理器的寄存器組織,TF(Trap Flag)陷井標志。 沒有專門的置1/清0指令。 當TF=1時,CPU每執(zhí)行完一條指令便自動產(chǎn)生一個內(nèi)部中斷(類型為1),轉(zhuǎn)去執(zhí)行一個中斷服務程序,用戶可以借助中斷服務程序來檢查每條指令執(zhí)行的情況,稱為單步工作方式,常用于程序的調(diào)試。,2.4 微處理器的寄存器組織,一.存儲器地址空間和數(shù)據(jù)存儲格式,8086/8088的存儲器都是以字節(jié)(8位)為單位 組織的。 有20條地址總線, 字節(jié)(1B) 。 每個字節(jié)對應一個唯一的地址, 地址范圍為 -1 (用16進制表示為00000 FFFFFH),如圖所示。,2.5 微處理器的存儲器和I/O組織,存儲器,二 進 制 地 址,十六進制地址,00000,0000 0000 0000 0000 0000,00001,00002,00003,0000 0000 0000 0000 0001,0000 0000 0000 0000 0011,0000 0000 0000 0000 0010,FFFFE,FFFFF,1111 1111 1111 1111 1111,1111 1111 1111 1111 1110,2.5 微處理器的存儲器與I/O組織,存儲器內(nèi)兩個連續(xù)的字節(jié),定義為一個字, 低字節(jié)(低8位)存放在低地址中,高字節(jié)(高8位)存放在高地址中。 各位的編號方法是最低位(LSB)為位0,一個字節(jié)中,最高位(MAS)編號為位7;一個字中最高位的編號為位15。,這些約定如圖所示,2.5 微處理器的存儲器與I/O組織,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0,(高字節(jié)),(低字節(jié)),地址=N+1,字地址,地址=N,2.5 微處理器的存儲器與I/O組織,字數(shù)據(jù)在存儲器中存放的格式如圖所示,字單元的地址,一個字單元,一個字節(jié)單元,高字節(jié) 低字節(jié),D15 D8,D7 D0,字數(shù)據(jù)在存儲器中存放格式示意圖,2.5 微處理器的存儲器與I/O組織,8086/8088允許字從任何地址開始。字的地址是偶地址時,稱字的存儲是對準的,若字的地址是奇地址時,則稱字的存儲是未對準的。,8086 CPU數(shù)據(jù)總線16位,對于訪問(讀或?qū)懀┳止?jié)的指令,需要一個總線周期。 對于訪問一個偶地址的字的指令,也只需要一個總線周期。 而對于訪問一個奇地址的字的指令,則需要兩個總線周期(CPU自動完成)。,2.5 微處理器的存儲器與I/O組織,8088 CPU數(shù)據(jù)總線8位,無論是字,還是字節(jié) 數(shù)據(jù)存取操作,也無論是偶地址的字,還是奇地 址的字,每一個總線周期只能完成一個字節(jié)的數(shù) 據(jù)存取操作。對字數(shù)據(jù)所組成的連續(xù)兩個總線周 期是由CPU 自動完成的。,2.5 微處理器的存儲器與I/O組織,從前面的介紹可知,,二.存儲器的分段和物理地址的形式,1為什么要分段,8086/8088CPU有20條地址線(A19A0),能尋址外部存貯空間為 =1MB,而在8088/8086CPU內(nèi)部能向存貯器提供地址碼的地址寄存器有六個,均為16位,所以用這六個16位地址寄存器任意一個給外部存貯器提供地址,只能提供 =64K個地址,所以,對1MB地址尋址不完。這六個16位地址寄存器分別為:,2.5 微處理器的存儲器與I/O組織,為了使8088/8086CPU能尋址到外部存貯器1MB空間中任何一個單元,8088/8086巧妙地采用了地址分段方法(將1MB空間分成若干個邏輯段),從而將尋址范圍擴大到了1MB。,基址寄存器,DI,SI,BP,BX,基址指針寄存器,源變址寄存器,堆棧指針寄存器,目的變址寄存器,指令指針寄存器,SP,IP,2.5 微處理器的存儲器與I/O組織,1MB的存貯空間中,每個存貯單元的實際地址編 碼稱為該單元的物理地址(用PA表示)。,2怎么分段,各邏輯段的起始地址必須能被16整除,即一個 段的起始地址(20位物理地址)的低4位二進制 碼必須是0。,把1MB的存貯空間劃分成若干個邏輯段,每段最 多64KB。,2.5 微處理器的存儲器與I/O組織,一個段的起始地址的高16位自然數(shù)為該段的段地址.顯然,在1MB的存貯空間中,可以有 個段地址.每個相鄰的兩個段地址之間相隔16個存貯單元。,在一個段內(nèi)的每個存貯單元,可以用相對于本段的起始地址的偏移量來表示,這個偏移量稱為段內(nèi)偏移地址,也稱為有效地址(EA)。,段內(nèi)偏移地址也用16位二進制編碼表示.所以,在一個段內(nèi)有 =64K個偏移地址(即一個段最大為64KB)。,2.5 微處理器的存儲器與I/O組織,在一個64KB的段內(nèi),每個偏移地址單元的段地址是相同的.所以段地址也稱為段基址。,由于相鄰兩個段地址只相隔16個單元,所以段與段之間大部分空間互相覆蓋(重疊)。,存貯器段的劃分與段的覆蓋示意圖如下圖所示。,2.5 微處理器的存儲器與I/O組織,存貯器段的劃分與段的覆蓋示意圖,段0,段1,段2,段地址,2.5 微處理器的存儲器與I/O組織,段地址和段內(nèi)偏移地址都是無符號的16位二進制數(shù),常用4位十六進制數(shù)表示。這種方法表示的存貯器單元的地址稱為邏輯地址。如下圖所示。,2物理地址(PA)的形成,邏輯地址的表示格式為:段地址:偏移地址,2.5 微處理器的存儲器與I/O組織,XXXXXH,XXXXH : XXXXH,段地址:段內(nèi)偏移地址,邏輯地址,20位物理地址,2.5 微處理器的存儲器與I/O組織,其中段地址有段寄存器提供:,一個存儲單元用邏輯地址表示后,CPU 對該 單元的尋址就應提供兩部分地址,段地址,段內(nèi)有效地址,2.5 微處理器的存儲器與I/O組織,段內(nèi)偏移地址由下列地址寄存器提供:,BX BP SI DI,CPU 對存儲器進行數(shù)據(jù)讀/寫操作時,由這些寄存器以某種尋址方式向存儲器提供段內(nèi)偏移地址。,2.5 微處理器的存儲器與I/O組織,已知某存儲單元的邏輯地址,怎樣求該單元的 物理地址PA: 物理地址=段地址 10H+段內(nèi)偏移地址,8086/8088 CPU中的BIU單元用來完成物理地址的計算,其計算方法如圖所示。,2.5 微處理器的存儲器與I/O組織,物理地址的形成,19 0,16位段基址,16位段內(nèi)偏移地址,16位段基址 0 0 0 0,20位物理地址,19 0,15 段寄存器 0,15 EA 0,2.5 微處理器的存儲器與I/O組織,例1:某單元的邏輯地址為4B09H:5678H,則該存儲單元的物理地址為:,物理地址(PA)=段地址 10H+EA =4B09H 10H+5678H =4B090H+5678H =50708H,2.5 微處理器的存儲器與I/O組織,例2:圖中物理地址為00020H單元,其邏輯地址可以有:,2.5 微處理器的存儲器與I/O組織,0002H:0000H,由此可見,一個存儲單元,若用不同的邏輯地址表示,其PA是唯一的。,2.5 微處理器的存儲器與I/O組織,在訪問存儲器時,段地址總是由段寄存器提供的。8086/8088微處理器中有4個段寄存器(CS、DS、SS、ES),所以CPU可以通過這4個段寄存器來訪問4個不同的段。用程序?qū)Χ渭拇嫫鞯膬?nèi)容進行修改,可實現(xiàn)訪問所有的段。 一般地,把段地址裝入段寄存器的那些段(不超過4個)稱為當前段。,2.5 微處理器的存儲器與I/O組織,三.信息的分段存儲與段寄存器的關(guān)系,特別要指出的是,用戶用8086/8088匯編語言編寫程序時,要把程序中的不同信息安排在不同的段,也就是說,用戶源程序匯編后在存儲器中存放是按照不同的信息放在不同的邏輯段。而程序中的信息包括:,2.5 微處理器的存儲器與I/O組織,其中,代碼信息,存放在代碼段,其地址由CS:IP提供。,2.5 微處理器的存儲器與I/O組織,8086/8088CPU各種類型訪問存儲器時,其地址成分的來源見下表所示。,

溫馨提示

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

評論

0/150

提交評論