8088微處理器課件_第1頁
8088微處理器課件_第2頁
8088微處理器課件_第3頁
8088微處理器課件_第4頁
8088微處理器課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

8088微處理器主要內容:8088CPU的功能結構;8088CPU外部引線及功能;內部寄存器的功能;8088的存儲器組織。2.1概述8088、8086(16位CPU)16位內部體系結構20位地址總線(尋址范圍220=1MB)差別:指令預取隊列:8088為4字節(jié),8086為6字節(jié)數(shù)據總線引腳:8088有8根,8086有16根8088為準16位CPU,內部DB為16位,但外部僅為8位,16位數(shù)據要分兩次傳送指令的執(zhí)行過程取出一條指令分析指令(指令譯碼)如果需要,從存儲器讀取操作數(shù)執(zhí)行指令如果需要,將結果寫入存儲器串行工作方式:8088以前的CPU采用串行工作方式:

1)CPU訪問存儲器(存取數(shù)據或指令)時要等待總線操作的完成2)CPU執(zhí)行指令時總線處于空閑狀態(tài)缺點:CPU無法全速運行取指令1譯碼1CPUBUS和內存忙碌存結果1空閑空閑空閑取數(shù)據1空閑執(zhí)行1取指令2譯碼2存結果2空閑空閑取數(shù)據2空閑執(zhí)行2忙碌空閑忙碌空閑忙碌空閑忙碌空閑忙碌取指令1取指令2取指令3取指令4執(zhí)行1執(zhí)行2執(zhí)行3BUS忙碌執(zhí)行4CPUt1t0t2t3t4t5取指令5執(zhí)行5忙碌忙碌忙碌忙碌忙碌

總線空閑時預取指令,使CPU需要指令時能立刻得到。2.28088的功能結構8088內部設置了兩個并行執(zhí)行部件:EU和BIU。執(zhí)行單元EU:—負責執(zhí)行指令—從指令隊列中取指令代碼、譯碼、數(shù)據運算(ALU)、運算結果的特征保存在FLAGS中。總線接口單元BIU:—負責與存儲器和I/O接口之間的數(shù)據傳送;

—從內存中取指令送入指令預取隊列。8088的功能結構框圖8088CPU內部指令的操作具有流水線操作,具體由CPU內部的兩個獨立部件(EU和BIU)去完成。取指令1取指令2譯碼1BIU存結果1取數(shù)據1取指令3取指令4

空閑執(zhí)行1譯碼2執(zhí)行2忙碌忙碌忙碌忙碌忙碌忙碌............EUBUS和內存2.38088的流水線操作BIU不斷地從從內存取指令送入指令預取隊列,EU不斷地從指令預取隊列取出指令執(zhí)行在一條指令執(zhí)行完成后,EU就可以立即執(zhí)行下一條指令,減少CPU為取指令而等待的時間,提高CPU的利用率和整體運行速度EU和BIU構成了一個簡單的兩工位流水線指令預取隊列的作用相當于流水線的傳送帶,在EU和BIU之間傳送指令執(zhí)行部件取指部件指令流水線操作的幾點說明8088/8086的指令預取隊列長度分別為4字節(jié)和6字節(jié),為FIFO(先進現(xiàn)出)結構指令預取隊列至少要有一條指令,且只要有一條指令,EU就開始執(zhí)行指令預取隊列只要有空,BIU就自動執(zhí)行取指操作,直到填滿為止若BIU需要進行存儲器或I/O接口的數(shù)據存取操作,BIU在執(zhí)行完現(xiàn)行取指操作周期后才開始進行當執(zhí)行轉移指令時,EU要求BIU從新的地址單元中重新取指令,隊列中原有指令就被消除設置指令隊列的好處指令預取隊列的存在使EU和BIU兩部分可同時進行工作,從而帶來以下兩個好處:提高了CPU的執(zhí)行效率降低了對內存的存取速度的要求2.48088CPU的外部引腳40條引腳,雙列直插式封裝引腳定義的方法可大致分為:每個引腳只傳送一種信息(#RD等);引腳電平的高低不同的信號(IO/#M等);CPU工作于不同方式有不同的名稱和定義(#WR/#LOCK等);分時復用引腳(AD7~AD0等)。1456789101411231213151617181920Intel80884039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDRESETReady#Test#INTAALE#DENDT/#RIO/#M#WRHOLDAHOLD#RDMN/#MX#SS0A19/S6A18/S5A17/S4A16/S3A15VccQS1QS0#S0#S1#S2#LOCK#RQ/#GT1#RQ/#GT0工作于兩種模式:最小模式和最大模式主要引線(最小模式)8088工作在最小模式時,將由MN/#MX引腳接+5V電源數(shù)據信號線(DB)與地址信號線(AB):A19~A16/S3~S6:三態(tài),地址、狀態(tài)復用引腳。A15~A8:三態(tài),輸出。輸出8位地址信號。AD7~AD0:三態(tài),地址/數(shù)據分時復用線。ALE=1時為地址的低8位,ALE=0時傳送數(shù)據信號。主要的控制和狀態(tài)信號#WR:三態(tài),輸出。寫命令信號;#RD:三態(tài),輸出。讀命令信號;IO/#M:三態(tài),輸出。輸入輸出/存儲器控制信號,指出當前訪問的是存儲器還是I/O接口。高:I/O端口,低:內存;#DEN:三態(tài),輸出。數(shù)據允許信號,低電平時,表示DB上的數(shù)據有效;ALE:三態(tài),輸出。地址鎖存允許信號,高:CPU的AB總線上有有效地址;DT/#R:三態(tài),輸出。數(shù)據傳送控制方向信號,高:CPU輸出,低:CPU輸入。RESET:輸入,為高時,CPU執(zhí)行復位;#TEST:測試信號輸入引腳,CPU執(zhí)行WAIT指令時,每隔5個時鐘周期對該引腳進行測試,高:CPU等待,低:執(zhí)行下一條指令。

READY:用于協(xié)調CPU與存儲器、I/O接口之間的速度差異。READY信號由存儲器或I/O接口發(fā)出。READY=0時,CPU就在T3后插入TW周期,插入的TW個數(shù)取決于READY何時變?yōu)楦唠娖健V袛嗾埱蠛晚憫盘朓NTR:輸入,可屏蔽中斷請求輸入端。高:有INTR中斷請求NMI:輸入,非屏蔽中斷請求輸入端。低

高,有NMI中斷請求#INTA:輸出,對INTR信號的響應。2.58088的寄存器AHAL堆棧指針寄存器BHBLCHCLDHDL基址指針寄存器源變址寄存器目的變址寄存器指令指針狀態(tài)標志代碼段寄存器數(shù)據段寄存器堆棧段寄存器附加段寄存器通用寄存器段寄存器控制寄存器AXBXCXDXSPBPSIDIIPFLAGSCSDSSSES2.5.1通用寄存器15700~158~150~7AXAHALBXBHBLCXCHCLDXDHDLBPSPSIDI1.數(shù)據寄存器常用來存放參與運算的操作數(shù)或運算結果AX:累加器。多用于存放中間運算結果。所有I/O指令必須都通過AX與接口傳送信息;BX:基址寄存器。在間接尋址中用于存放基地址;CX:計數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復次數(shù);CL是移位專用的;DX:數(shù)據寄存器。在32位乘除法運算時,存放高16位數(shù);在間接尋址的I/O指令中存放I/O端口地址。2.地址指針寄存器SP和BP都和堆棧的操作有關堆棧:硬堆棧和軟堆棧硬堆棧:CPU的寄存器按照FILO的規(guī)律存儲信息軟堆棧:在內存里開辟一片區(qū)域內存中一個按FILO方式操作的特殊區(qū)域每次壓棧和退棧均以WORD為單位堆棧用于存放返回地址、過程參數(shù)或需要保護的數(shù)據常用于響應中斷或子程序調用堆棧操作SPSSSS壓棧前退棧后高低低高高12HSSF0HSP壓棧后低高SPSPSPF0H12HSPSP始終指向堆棧的頂部SP:堆棧指針寄存器,其內容為棧頂?shù)钠频刂?;BP:基址指針寄存器,常用于在訪問內存時存放內存單元的偏移地址。BX和BP在應用上的區(qū)別:作為通用寄存器,二者均可用于存放數(shù)據;作為基址寄存器,BX通常用于尋址數(shù)據段;BP則通常用于尋址堆棧段。BX一般與DS或ES搭配使用3.變址寄存器SI:源變址寄存器DI:目的變址寄存器變址寄存器常用于指令的間接尋址或變址尋址在串操作指令中,用SI存放源操作數(shù)的偏移地址,而用DI存放目標操作數(shù)的偏移地址,內容可以自動變化串:在內存里面一組連續(xù)的數(shù)據2.5.2指令指針寄存器IP

內容:下一條要取入CPU的指令在內存中的偏移地址。IP的內容自動修改:當BIU從內存中取出一個指令字節(jié)后,IP自動加1

IP始終指向下一條要取的指令的偏移地址。2.5.3標志寄存器FLAGS狀態(tài)標志:存放運算結果的特征控制標志:控制某些特殊操作1514131211109876543210OFDFIFTFSFZFAFPFCF各標志位的含義:

1、進位標志CF:反映運算后最高位的進位或借位情況

=1最高位產生了進位或借位

=0最高位無進位或借位

2、奇偶標志PF:反映操作結果中1的個數(shù)

=1數(shù)據最低8位中1的個數(shù)為偶數(shù)

=0數(shù)據最低8位中1的個數(shù)為奇數(shù)

3、輔助進位標志AF:反映低4位向高4位有無進位或借位

=1D3→D4位產生了進位或借位

=0D3→D4位無進位或借位

4、零標志ZF:反映運算結果是否為零

=1操作結果為0=0結果不為0

5、符號標志SF:反映運算結果的符號情況

=1結果最高位為1=0結果最高位為06、溢出標志OF:反映帶符號數(shù)的運算結果是否溢出

=1此次運算發(fā)生了溢出

=0無溢出

7、方向標志DF:用于串的操作,每執(zhí)行一條串操作指令,對地址進行一次調整,由DF決定地址的增減。

=1地址自動按減量變化

=0地址自動按增量變化

8、陷阱標志TF:單步中斷

=1調試按單步方式

=0非單步

9、中斷允許標志IF:是否允許外部的可屏蔽中斷

=1允許響應外部可屏蔽中斷

=0禁止響應內存中通常存放三種信息:代碼(指令):計算機執(zhí)行何種操作數(shù)據(字符、數(shù)值):程序處理的對象堆棧信息:保存返回地址和中間結果為清晰起見,這三類信息通常存放在各自的貯存區(qū)域內。8088系統(tǒng)中,把可直接尋址的1M內存空間分為稱作“段”的邏輯區(qū)域,每個段的物理長度為64K,每個段的起始地址存放在段寄存器中。2.5.4.段寄存器段寄存器用于存放內存段的段基地址代碼段寄存器CS:當前代碼段的段基址,用于存放指令代碼數(shù)據段寄存器DS:當前數(shù)據段的段基址,用于存放數(shù)據或變量堆棧段寄存器SS:當前堆棧段的段基址,用于保存寄存器內容,傳遞參數(shù)附加段寄存器ES:

當前附加段的段基址,用于存放數(shù)據或變量

DS和ES的主要區(qū)別在于串操作DS是源串的段基址,用SI尋址;ES是目的串的段基址,DI尋址。2.68088存儲器組織一、存儲器分段8088有20根地址線,可尋址220(1MB)個存儲單元,而內部總線和內部寄存器均為16位,如何生成20位地址?高地址低地址段基址最大64KB段段解決:引入“分段”概念,以獲得20位物理地址段寄存器提供段基址,SP、BP、SI、DI提供16位的段內地址段寄存器其它寄存器段:存儲器的一個邏輯單位,長度可達64KB,每個段都有連續(xù)的存儲單元組成。段起始地址:每段第一個字節(jié)的位置,實際上是20位段基址段基址0000段起始地址段寄存器段內偏移地址+20位物理地址段起始地址:必須能被16整除(即XXXX0H)幾個段可以相互重疊,也可指向同一個空間1M的內存空間最多可以分成216=64K個段物理地址..60000H

60001H

60002H

60003H

60004H...12HF0H1BH08H1.物理地址:信息在存儲器中實際存放的地址。二、物理地址和邏輯地址8088有20根地址線,可以配置1M的存儲器,地址編號為00000H~FFFFFH邏輯地址:允許在程序中編排的地址。由段基址:偏移地址組成,是在指令中引用的形式地址60002H00H12H60000H0000段基地址(16位)段首地址×××???×××偏移地址=0002H2.邏輯地址段基址:決定了該段第一個字節(jié)的位置;段內偏移量:該存儲單元相對于該段第一個字節(jié)的距離。段基址段內偏移地址物理地址+16位20位00003.物理地址的計算物理地址=段基地址×16+偏移地址BIU中的地址加法器用來實現(xiàn)邏輯地址到物理地址的變換。例:1.已知邏輯地址為:2000H:1234H,求對應的物理地址?解:物理地址=2000H*16+1234H=20000H+1234H=21234H2.已知邏輯地址為:2100H:0234H,求對應的物理地址?解:物理地址=2100H*16+0234H=21234H

一個內存單元的物理地址是唯一的,但邏輯地址不唯一例已知CS=150AH,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作數(shù),其偏移地址=0204H,

1)畫出各段在內存中的分布

2)指出各段首地址

3)該操作數(shù)的物理地址=?150A0H250A0H2EF00H8FF00HCSSSCSDSES解:各段分布及段首址見右圖所示操作數(shù)的物理地址為:250AH×10H+0204H=252A4H8088可同時訪問4個段,4個段寄存器中的內容指示了每個段的基地址CSIP代碼段數(shù)據段堆棧段DS尋址方式SSSP或BP2.78088的工作時序微處理器按照一定的時序進行工作。幾個概念:時鐘周期:每兩個時鐘脈沖上升(下降)沿之間的時間間隔;由時鐘發(fā)生器產生。是計算機內部最小的時間單位總線周期:CPU完成一次訪問內存(或接口)操作所需要的時間。指令周期:執(zhí)行一條指令所需的時間典型的總線周期:由4個時鐘周期組成時序關系:總線周期時鐘周期等待周期空閑周期指令周期基本的總線周期時序CLKIO/#MA19–A16/S6

–S3

A15–A8AD7–AD0ALE#RDDT/#R

#DENA7–A0數(shù)據輸入A19–A16S6–S3高=IO低=M8088讀總線周期CLKIO/#MA19–A16/S6

–S3

A15–A8AD7–AD0ALE#WRDT/#R

#DEN高=IO低=MA19–A16S6–S3A7–A0數(shù)據輸出8088寫總線周期8088時序小結正常的8088總線周期(無論是讀還是寫)至少4個時鐘周期在T1時間,送出地址A19~A0,同時送出地址鎖存允許信號ALE在寫總線周期,CPU從T2開始把數(shù)據送到總線上并維持到T4在讀總線周期中,CPU在T3到T4期間讀入總線上的數(shù)據微型計算機采用總線結構在CPU、內存、

溫馨提示

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

評論

0/150

提交評論