第二章+微處理器-201509-_第1頁
第二章+微處理器-201509-_第2頁
第二章+微處理器-201509-_第3頁
第二章+微處理器-201509-_第4頁
第二章+微處理器-201509-_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第二章8086/8088微處理器及其結構內容:8086/8088微處理器的內部結構、外部特性存儲器組織8086微處理器的工作時序Intel80x86微處理器簡介(自學)8086/8088CPU的主要性能:字長:16位/準16位;時鐘頻率:8086/8088標準主頻為5MHz;數據總線:16位/8位;地址總線:20位;地址、數據總線復用;內存容量:20位地址總線,可直接尋址1MB存儲空間;端口地址:16位I/O地址總線,可直接尋址64KB個端口;中斷功能:可處理內部軟件中斷和外部硬件中斷,中斷源可多達256個;兩種工作模式:支持單片CPU或多片CPU系統工作。一、指令的流水線第一節8086/8088微處理器的內部結構指令的一般執行過程:從存儲器取指令指令譯碼讀取操作數從寄存器存入存儲器執行指令存放結果存入寄存器

串行工作方式:8088以前的CPU采用串行工作方式:

1)CPU訪問存儲器(存取數據或指令)時要等待總線操作的完成2)CPU執行指令時總線處于空閑狀態

缺點:CPU無法全速運行

解決:總線空閑時預取指令,使CPU需要指令時能立刻得到取指令1執行1取操作數2執行2CPUBUS忙碌忙碌忙碌忙碌存結果1取指令216位CPU(8086/8088)t忙忙忙忙忙總線BUSt取指1取指4取指3取指2取指5BIU執行1執行2執行5執行3執行4··················tEUCPU并行工作方式執行部件EU的作用:負責執行指令、形成有效地址EA。EU包括4部分:運算器用于算術邏輯運算和形成有效地址標志寄存器用來存放反映ALU運算結果的狀態和一些控制標志。通用寄存器包括AX,BX,CX,DX,SI,DI,BP,SP控制單元用于譯碼,形成控制信號。二、8086微處理器的內部結構總線接口部件BIU的作用:預取指令、形成實際地址PA、輸入輸出數據。BIU主要由5部分組成:指令隊列緩沖器:暫存指令。采用“先進先出”的原則順序存放。指令指針寄存器IP:存放下一條將要取的指令的有效地址。總線控制邏輯:根據指令控制總線的分時使用。段寄存器:用來存放每種段的首基址,有CS、ES、DS、SS四種。地址產生器:用來形成20位的實際地址PA。PA=段寄存器左移4位+有效地址EA。即:注意:“左移4位”中這個位是指二進制位,而非十六進制位。左移4位二進制數相當于左移1位十六進制數。有效地址EA段寄存器實際地址PA00000150190150例:(CS)=2000H,(IP)=2344H

則PA=(CS)左移4位+(IP)

=20000H+2344H

=22344H

注意:1.總線接口部件BIU和執行部件EU并不是同步工作的;2.在執行轉移、調用和返回指令時,指令隊列中的原有內容被自動清除。

8088的指令執行過程三、8086/8088的內部寄存器含14個16位寄存器,按功能可分為三類8個通用寄存器4個段寄存器2個控制寄存器專用寄存器標志寄存器16位寄存器,其中有7位未用。D0D15OFDFIFTFSFZFAFPFCF進借位標志奇偶標志半進借位標志零標志符號標志單步中斷中斷允許方向標志溢出標志1-有進、借位0-無進、借位1-低4位向高4位有進、借位0-低4位向高4位無進、借位1-低8位有偶數個10-低8位有奇數個11-結果為00-結果不為0標志寄存器中的狀態標志的狀態表示符號標志OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC為1的符號為0的符號例:說明運算結果對標志位的影響設變量x=11101111B,y=11001000B,X=0101101000001010B,Y=0100110010100011B,請問分別執行x+y和X+Y操作后標志寄存器中各狀態位的狀態如何?11101111+)1100100010110111?1自動丟失010110100000101001001100101000111010011010101101CF=0CF=1段寄存器存儲器分段原因:16位地址寄存器與20位地址總線之間的矛盾。段的起始地址特征:實際地址的低4位(二進制)為零。實際地址的高16位稱為段基址。段內偏移地址(有效地址)。段基址*16=段起始地址。段的最大長度:64K。(與16位寄存器相對應)段的分類:分四大功能段:數據段、代碼段、堆棧段和附加段。段寄存器存放當前段的段基址。CS:代碼段寄存器,代碼段用于存放指令代碼DS:數據段寄存器

ES:附加段寄存器數據段和附加段用來存放操作數SS:堆棧段寄存器

堆棧段用于存放返回地址,保存寄存器內容,傳遞參數程序設計級模型AXBXCXDXSIDIBPSPFRDSCSSSESIP14個16位的寄存器8086的工作模式最大模式:有多個微處理器最小模式:僅有8086一個微處理器第二節8086/8088CPU的外部特性基本概念●有效電平——指引腳起作用時的電平。●三態——是指引腳除了能正常的輸入或輸出高、低電平之外,還能輸出高阻狀態。8086CPU引腳及功能40根引腳分時復用1.AD0~AD15:T1—A(三態輸出);T2~T4—D(三態雙向)2.A16/S3~A19/S6:T1—A;T2~T4—狀態3.VCC,GND,GND4.控制總線:17根S3、S4表示用何段寄存器S4S3段寄存器00ES01SS10CS(I/O、INT)11DSS5=IF,S6=0地址鎖存器存儲器I/O芯片VCC時鐘發生器數據收發器MN/MXRDCLKWRREADYM/IORESETALETESTBHE

A16~A19AD0~AD15HLDA.HOLD.8086INTA.INTRDENNMIDT/RBHE最小模式最大模式8088與8086的區別:指令預取隊列:8088為4字節,8086為6字節數據總線引腳:8088有8根,8086有16根控制線引腳:8088為IO//M,而8086為M//IO 8088為SS0,而8086的/BHE。8088為準16位CPU,內部DB為16位,但外部僅為8位,16位數據要分兩次傳送第三節存儲器管理一、存儲器分段(解決地址總線問題)物理地址8086:20根地址線,可尋址220=1MB個存儲單元CPU送到AB上的20位的地址稱為物理地址物理地址物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H存儲器的操作完全基于物理地址。問題:8088的內部總線和內部寄存器均為16位,如何生成20位地址?解決:存儲器分段存儲器分段高地址低地址段基址段基址段基址段基址最大64KB最小16B段i-1段i段i+1段基址:段的起始地址的高16位。段基址*16=段起始地址。段的起始地址特征:段的起始地址的低4位(二進制)為零或能被16整除。0000段基地址(16位)段首地址×××???×××邏輯地址段基地址和段內偏移組成了邏輯地址段地址

偏移地址(偏移量)格式為:段地址:偏移地址物理地址=段基址×16+偏移地址60002H00H12H60000H偏移地址=0002H偏移地址(有效地址):相對于段首地址的偏移量。BIU中的地址加法器用來實現邏輯地址到物理地址的變換8086可同時訪問4個段,4個段寄存器中的內容指示了每個段的基地址段基址段內偏移物理地址+16位20位0000默認段和偏移寄存器8086規定了訪問存儲器段的規則:此規則定義了段地址寄存器和偏移地址寄存器的組合方式,其默認規則如下表:段地址默認偏移地址用于訪問CSIP指令SSSP、BP堆棧中的數據DSBX、DI、SI、8位或16位數數據段中的數據ES串指令的DI目標串操作數[例]:已知(CS)=1055H,(DS)=250AH,(ES)=2EF0H,(SS)=8FF0H,數據段有一操作數,其偏移地址=0204H, 1)畫出各段在內存中的分布2)指出各段首地址3)該操作數的物理地址=?10550H250A0H2EF00H8FF00H代碼堆棧

數據擴展解:各段分布及段首址見右圖所示。這個例子說明:段與段可以不連續段之間可以重疊操作數的物理地址為:250AH×10H+0204H=252A4H①字節存儲:一個字節存放一個單元。如單元00100H中的內容為34H,表示為(00100H)=34H。②字存儲:一個字存于相鄰兩個單元,且低位字節在低地址,高位字節在高地址,字單元的地址以低位地址表示。如:(00100H)=1234H表示高字節12H存于00101H單元,低字節34H存于00100H單元。③一個字可以從偶地址開始存放,也可以從奇地址開始存放。如:(00103H)=0152H在講解下一問題前,先介紹幾個概念:二、8086存儲器的分體結構(解決8086與存儲器數據總線不一致問題)1.分體結構概念兩個存儲體:偶地址存儲體+奇地址存儲體,各為512KByte,共1MByte.A1~A19SELA0~A18高位(奇數)庫512K*8D0~D7SELA0~A18低位(偶數)庫512K*8D0~D7A0BHED8~D15D0~D7①若字單元地址從偶地址開始,只需訪問一次存儲器②若字單元地址從奇地址開始,要訪問兩次存儲器所以,前者稱規則字,后者稱非規則字。8088的外部數據總線是8根,與存儲器的一致,故8088系統中存儲器不需要分體,存儲器與總線連接為:時序的概念:CPU各引腳信號在時間上的關系。時序圖:描述某一操作過程中,芯片/總線上有關引腳信號隨時間發生變化的關系圖.指令周期:CPU完成一條指令所需的時間。一個指令周期由若干個總線周期組成。總線周期:CPU完成一次訪問內存(或接口)操作所需要的時間。一個總線周期至少包括4個時鐘周期。時鐘周期:由時鐘發生器產生。是計算機內部最小的時間單位,用Ti表示。晶振周期:晶體振蕩器輸出的周期。它一般分頻后變為時鐘周期,再作為內部工作單位。第四節總線時序(難點,了解)典型的總線周期示意讀周期——總線讀操作(對存儲單元或I/O端口)寫周期——總線寫操作(對存儲單元或I/O端口)中斷響應周期——中斷響應操作空閑周期——總線空操作最小模式下存儲器或I/O的讀周期時序單CPU系統8086讀操

溫馨提示

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

評論

0/150

提交評論