日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

當(dāng)前位置:電子發(fā)燒友網(wǎng) > 圖書頻道 > 電子 > 《微計算機原理》 > 第2章 8086微處理器

第5節(jié) 8086的時序

 

  §第六節(jié) 8086的時序

  計算機在軟件的控制下,可以完成計算、圖形/圖像、聲音、通訊、控制工廠生產(chǎn)設(shè)備、通訊等復(fù)雜工作,這些工作都是由CPU的幾種基本操作構(gòu)成的。CPU的基本操作有:

  存儲器讀、I/O接口讀、CPU內(nèi)部運算、存儲器寫、I/O接口寫、中斷、空操作、復(fù)位。

  本節(jié)只關(guān)心CPU從存儲器、I/O接口獲得運算數(shù)據(jù),或把運算結(jié)果寫入存儲器、I/O端口的操作,以及中斷、空操作、復(fù)位操作,特別是進(jìn)行這些操作時CPU各信號之間的協(xié)調(diào)關(guān)系,即"時序"。

  計算機的基本操作均是以時鐘信號CLK為基準(zhǔn)信號進(jìn)行協(xié)調(diào)工作的。8086的時鐘頻率為5 ,故其時鐘周期(或稱一個T狀態(tài))為200ns,時鐘信號輸入時序如圖2-22所示。

  執(zhí)行一條指令所需要的時間,稱為一個指令周期。一條指令一般包含幾個基本操作,存儲器讀、存儲器寫、I/O接口讀寫、中斷、復(fù)位等操作均與總線有關(guān)(各部件均連接至總線上),稱為"總線操作"(或稱"總線通訊")。一次總線操作所需的時間稱為"總線周期"或"機器周期"。

  8086的基本總線周期由4個T狀態(tài)組成T1、T2、 T3、T4如圖2-23所示。

  T1:CPU發(fā)出地址信息,指出要訪問的存儲器/外設(shè)端口地址。

  T2:CPU撤消地址信號,準(zhǔn)備傳輸數(shù)據(jù)。

  T3:CPU的總線借口部件(BIU)與存儲器/外設(shè)端口傳輸數(shù)據(jù)。

  T4:傳輸數(shù)據(jù)并結(jié)束總線周期。

  TW:等待狀態(tài),在T3狀態(tài)時,若存儲器/外設(shè)端口未準(zhǔn)備好(接收或輸出)數(shù)據(jù),CPU在T3后插入TW。

  Ti:空閑周期,只有在CPU與存儲器/外設(shè)端口傳送數(shù)據(jù)時,CPU的BIU才執(zhí)行總線周期,否則,BIU執(zhí)行空閑周期Ti.

  §2.6.1存儲器讀周期

  一個基本的存儲器讀周期由4個T狀態(tài)組成,如圖所示:

  存儲器讀涉及的信號有:

 ?、?用 M/IO信號確定CPU是與存儲器或外設(shè)通訊。M/IO=1,CPU與存儲器通訊。該信號在T1狀態(tài)開始有效。

  ② 指出存儲器單元的地址。CPU在T1狀態(tài)從分時復(fù)用信號線A19/S6~A16/S3、AD15~AD0上發(fā)出20位地址信號A19~A0.在T1狀態(tài),PU還要發(fā)出地址鎖存信號ALE。在ALE下降沿,地址信號被鎖存在地址鎖存器8282中。這樣,在其它T狀態(tài),分時復(fù)用信號線A19/S6~A16/S3、AD15~AD0就可以用來傳送狀態(tài)和數(shù)據(jù)信號了。

 ?、?CPU在T2狀態(tài)發(fā)出讀命令RD(此時WR信號無效)。另外,從T2狀態(tài)開始,A19/S6~A16/S3信號線上發(fā)出狀態(tài)信號。在T2狀態(tài),AD15~AD0上的地址已消失、數(shù)據(jù)還未到達(dá),因此,處于懸空狀態(tài)。

 ?、?存儲器收到地址信號、讀命令后,經(jīng)過一定時間,在T3狀態(tài),把指定存儲單元的數(shù)據(jù)送到數(shù)據(jù)總線上,CPU在T3的后下降沿從AD15~AD0上獲得該數(shù)據(jù)。

 ?、?CPU獲得數(shù)據(jù)后,在T4狀態(tài),CPU撤消本次操作的信號。本次操作完成。

 ?、?CPU與數(shù)據(jù)總線一般通過數(shù)據(jù)收發(fā)器8286連接,因此,CPU還要發(fā)出控制8286的信號DT/R、DEN??刂?286的數(shù)據(jù)傳送方向在存儲器讀周期中,DT/R=0,表示數(shù)據(jù)進(jìn)入CPU(接收)。DT/R使8286允許傳送數(shù)據(jù)。DT/R從T1狀態(tài)開始在整個周期中一直有效。DT/R從T2狀態(tài)開始有效。

  具有等待狀態(tài)的讀周期時序:

  若所使用的存儲器或外設(shè)的工作速度較慢,CPU在T2結(jié)尾、T3開始處未檢測到READY信號,則在T3后插入一個或幾個TW狀態(tài),并在每個插入的TW前沿,均檢測READY,當(dāng)檢測到READY=1時,不再插入TW,并在最后一個TW 的后下降沿從總線上讀取 數(shù)據(jù)。然后,CPU進(jìn)入TW狀態(tài),T4結(jié)束本操作周期。

  §2.6.2 存儲器寫周期

  它也是由4個狀態(tài)組成,如圖所示。它與存儲器的讀周期類似,首先也要有M/IO信號來表示進(jìn)行存儲器操作。若M/IO=1則與存儲器通信。其次也要有寫入單元的地址以及ALE信號,但寫入存儲器的數(shù)據(jù)不同。在T2狀態(tài),即當(dāng)16位地址線AD15~AD0已由ALE鎖存時后,CPU就把要寫入的16位數(shù)據(jù)放至AD15~AD0上了。要寫入,當(dāng)然要又WR信號代替RD信號,它也在T2狀態(tài)有效。DT/R信號應(yīng)為高電平。8086在T4狀態(tài)后就使控制信號變?yōu)樾?。實際上8086是認(rèn)為在T4狀態(tài),對存儲器的寫入過程已經(jīng)完成。若有的存儲器和外設(shè)來不及在指定的時間內(nèi)完成操作,可以利用READY信號,使CPU插入TW狀態(tài),以保證時間配合,具有TW的寫入時序與讀時序類似。

  CPU寫存儲器涉及的信號有:

 ?、?用M/IO 信號確定CPU是與存儲器或外設(shè)通訊。在整個寫周期中,M/IO =1,表示CPU與存儲器通訊。

 ?、?指出存儲器單元的地址。由于8086CPU的地址信號和數(shù)據(jù)信號復(fù)用一組引腳,CPU只能分時傳送地址信號和數(shù)據(jù)信號。CPU在T1 狀態(tài)從分時復(fù)用信號線AD19/S6~AD16/S3 、 AD15~AD0 上發(fā)出20位地址信號A19~A0 。

  ③ 為了保持住地址信號,需要使用地址鎖存器8282。在T1狀態(tài),CPU還要發(fā)出地址鎖存信號ALE,在ALE下降沿,地址信號被鎖存在地址鎖存器8282中。這樣,在其它T狀態(tài),分時復(fù)用信號線 AD19/S6 ~AD16/S3 、 AD15~AD0 就可以用來傳送狀態(tài)和數(shù)據(jù)信號了。

 ?、?CPU在T2狀態(tài)發(fā)出寫命令WR(此時RD信號無效)。另外,從T2狀態(tài)開始,AD19/S6 ~AD16/S3 信號線上發(fā)出狀態(tài)信號。在T2狀態(tài),AD15~AD0上的地址已消失,在數(shù)據(jù)還未到達(dá)前處于懸空狀態(tài)。

 ?、?存儲器收到地址信號、寫命令后,經(jīng)過一定時間,把指定存儲單元的數(shù)據(jù)送到數(shù)據(jù)總線上。如果存儲器的寫入速度較快,在T2狀態(tài)結(jié)束時(下降沿),就可以寫入數(shù)據(jù),使CPU在T3的后下降沿從AD15~AD0上獲得該數(shù)據(jù)。

  ⑥ CPU獲得數(shù)據(jù)后,在T4狀態(tài),CPU撤消本次操作的信號。本次操作完成。

 ?、?CPU與數(shù)據(jù)總線一般通過數(shù)據(jù)收發(fā)器8286連接,因此,CPU還要發(fā)出控制8286的信號DT/R、 DEN 。DT/R控制8286的數(shù)據(jù)傳送方向,在存儲器寫周期中,DT/R=1,表示數(shù)據(jù)離開CPU(寫入)。DEN使8286允許傳送數(shù)據(jù)。DT/R從T1狀態(tài)開始在整個周期中一直有效。DEN從T2狀態(tài)開始有效。

  §2.6.3 輸入輸出周期時序

  輸入周期,CPU從I/O接口電路讀取外設(shè)的數(shù)據(jù)和外設(shè)狀態(tài);輸出周期,CPU把數(shù)據(jù)或命令送到外設(shè)的I/O接口電路中。它們的操作時序與存儲器操作時序幾乎相同,只是M/IO=0。

  §2.6.4 空轉(zhuǎn)周期(Idle Cycle,空閑周期)

  CPU總線接口部件BIU從存儲器取指令時,執(zhí)行存儲器讀周期。CPU需要存儲器中的數(shù)據(jù)時,也執(zhí)行存儲器讀周期。(取指令時S2S1S0=100,讀數(shù)據(jù)時S2S1S0=101)。CPU把數(shù)據(jù)寫入存儲器時執(zhí)行存儲器寫周期。CPU與外設(shè)通訊時執(zhí)行輸入或輸出周期。CPU響應(yīng)外設(shè)的中斷請求時,執(zhí)行中斷響應(yīng)周期。

  如果CPU不執(zhí)行上述任何周期,則總線接口執(zhí)行空轉(zhuǎn)周期??辙D(zhuǎn)周期由一系列Ti狀態(tài)(Idle)構(gòu)成。在Ti狀態(tài),A19/S6~A16/S3線 上為上一個總線周期的狀態(tài)信息。若上一個總線周期是寫周期,在Ti狀態(tài),AD15~AD0線上仍為原數(shù)據(jù)信號。若上一個機器周期是寫周期,則在空轉(zhuǎn)狀態(tài),CPU在AD15~AD0上仍然輸出上一個機器周期要寫的數(shù)據(jù),直至下一個機器周期的開始。

  §2.6.5 中斷響應(yīng)周期

  "中斷(Interrupt)"是一種操作,它使CPU中止正在執(zhí)行的程序,而轉(zhuǎn)入稱為"中斷處理程序(Interrupt Handler)"(或稱中斷服務(wù)程序Interrupt Service,或稱中斷例程Interrupt Routine)的程序。當(dāng)中斷處理程序執(zhí)行完后,CPU接著執(zhí)行被中斷的程序(相對于中斷處理程序來說,被中斷的程序稱為主程序)如2-28所示。

  多個外部設(shè)備一般通過"中斷控制器"8259向CPU提出中斷請求,8259也向CPU提供"中斷類型碼",以標(biāo)識是那一個外部設(shè)備在向CPU請求中斷。CPU用中斷響應(yīng)信號 通知8259。在中斷響應(yīng)信號INTA的第二個周期,8259向CPU提供中斷類型碼。

  8086CPU有兩個引腳可以接收外部的中斷請求:INTR和NMI,如圖2-29所示。

  當(dāng)NMI(非屏蔽中斷請求)引腳上出現(xiàn)上升沿信號時,CPU立即無條件(不執(zhí)行中斷響應(yīng)周期,不受標(biāo)志寄存器IF位的影響)地轉(zhuǎn)入"2號中斷處理程序"。

  當(dāng)INTR(可屏蔽中斷請求)引腳上出現(xiàn)高電平信號時,若IF=0,CPU不響應(yīng)中斷請求。若IF=1,CPU響應(yīng)中斷請求。CPU響應(yīng)中斷時,首先執(zhí)行"中斷響應(yīng)周期",以便從中斷控制器8259獲得中斷類型碼,然后根據(jù)中斷類型碼轉(zhuǎn)入相應(yīng)的中斷處理程序,當(dāng)中斷處理程序執(zhí)行完后,CPU返回被中斷的程序。中斷類型碼指定了中斷處理程序的地址。

  中斷響應(yīng)周期由兩個總線周期構(gòu)成,在每個中斷響應(yīng)的總線周期, 均有效(為低電平)。在第二個總線周期,中斷控制器送出中類型碼,CPU讀的類型碼后,從"中斷矢量表"中查得中斷處理程序的地址,如圖2-30所示。

  §2.6.6 系統(tǒng)復(fù)位(RESET)

  8086CPU的RESET引腳上出現(xiàn)高電平時,終止所有操作,直到RESET信號變?yōu)榈?。在這期間,CPU內(nèi)各寄存器被初始化為復(fù)位狀態(tài),見表2-9所示。

  表2-9 8086復(fù)位期間的內(nèi)部狀態(tài)

  對于復(fù)位信號的要求是:它必須與系統(tǒng)時鐘CLK同步(由時鐘電路8284來實現(xiàn)),至少維持4個時鐘周期。若是直接接通電源引起的復(fù)位,復(fù)位信號必須至少大于50微秒。

  在復(fù)位期間,所有三態(tài)引腳,先被置為無效狀態(tài)(如RD=1為無效),然后被置為浮空狀態(tài)。其他(非三態(tài))引腳被置為無效狀態(tài)(如ALE=0為無效狀態(tài))如圖2-31所示。

  AD15~AD0,A19/S6~A16/S3,BHE/S7,S2(M/IO),S1(DT/R),S0(DEN),CLOCK(WR),RD,INTA先置成無效狀態(tài),再進(jìn)入三態(tài)(浮空)。不作用狀態(tài)占進(jìn)入三態(tài)的半個時鐘周期。

  ALE:低

  HOLD:低

  RQ/GT0,RQ/GT1:高

  QS0,QS1:低

  在復(fù)位期間,由于CS=FFFFH,IP=0000H,因此,當(dāng)CPU脫離復(fù)位狀態(tài)后,從CS:IP = FFFFH:0000H = FFFF0H處開始執(zhí)行第一條指令。物理地址FFFF0H對應(yīng)的實際存儲器單元在微機主板的BIOS芯片內(nèi)。

  BIOS芯片內(nèi)存放以下信息:

 ?、?系統(tǒng)初始化程序。

  它檢測微機系統(tǒng)的基本部件是否完好,并對基本部件進(jìn)行第一步初始化,使其做好基本的工作準(zhǔn)備。(操作系統(tǒng),如DOS、Windows可能對這些部件進(jìn)行第二步初始化,以便優(yōu)化這些部件的性能)。

 ?、?系統(tǒng)設(shè)置程序。

  它允許用戶配置計算機的參數(shù)和性能,如磁盤參數(shù)、存儲器參數(shù)、鍵盤參數(shù)、啟動順序等。

 ?、?系統(tǒng)信息,如配置信息、日期、時間信息等。

  BIOS中的系統(tǒng)信息存放在由電池供電的CMOS電路中(配置系統(tǒng)信息又稱為"CMOS設(shè)置"),即使關(guān)閉計算機電源,這些信息也不會丟失。

  (在某些BIOS芯片內(nèi)部,已經(jīng)包含了電池,因此,主板上看不見電池)。

  系統(tǒng)初始化程序和系統(tǒng)設(shè)置程序放在BIOS的EPROM存儲器區(qū),具有"非易失性",即使關(guān)閉計算機電源,這些程序也不會丟失。現(xiàn)代BIOS一般由Flash EPROM構(gòu)成,這種存儲器除有非易失性外,在特定的程序控制下,還可改寫其中的信息。這為BIOS的升級提供了有利條件。同時,也向"病毒"敞開了大門,首例攻擊BIOS的病毒是"CIH"(1998年)。

?
泰安市| 托克逊县| 宽城| 壤塘县| 凌云县| 山丹县| 石河子市| 台中市| 会泽县| 浦县| 新丰县| 灵宝市| 精河县| 沙坪坝区| 和龙市| 泉州市| 株洲市| 龙江县| 龙里县| 铁岭市| 建宁县| 霍邱县| 上犹县| 饶阳县| 鄂伦春自治旗| 名山县| 甘洛县| 保定市| 邹平县| 钟祥市| 湖南省| 玉田县| 日喀则市| 中山市| 甘洛县| 山阴县| 喜德县| 通化县| 改则县| 濮阳县| 汝州市|